{"version":3,"file":"ngxtension-trackby-id-prop.mjs","sources":["../../../../libs/ngxtension/trackby-id-prop/src/trackby-id-prop.ts","../../../../libs/ngxtension/trackby-id-prop/src/ngxtension-trackby-id-prop.ts"],"sourcesContent":["//INSPIRED BY https://medium.com/ngconf/make-trackby-easy-to-use-a3dd5f1f733b\nimport { NgForOf } from '@angular/common';\nimport { Directive, Input, inject, type NgIterable } from '@angular/core';\n\n@Directive({\n\tselector: '[ngForTrackById]',\n\tstandalone: true,\n})\nexport class TrackById<T extends { id: string | number }> {\n\t@Input() ngForOf!: NgIterable<T>;\n\tprivate ngFor = inject(NgForOf<T>, { self: true });\n\n\tconstructor() {\n\t\tthis.ngFor.ngForTrackBy = (index: number, item: T) => item.id;\n\t}\n}\n\n@Directive({\n\tselector: '[ngForTrackByProp]',\n\tstandalone: true,\n})\nexport class TrackByProp<T> {\n\t@Input() ngForOf!: NgIterable<T>;\n\tprivate ngFor = inject(NgForOf<T>, { self: true });\n\n\t@Input({ required: true })\n\tset ngForTrackByProp(trackByProp: keyof T) {\n\t\tif (!trackByProp) return;\n\t\tthis.ngFor.ngForTrackBy = (index: number, item: T) => item[trackByProp];\n\t}\n}\n\nexport const TRACK_BY_DIRECTIVES = [TrackById, TrackByProp] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;MAQa,SAAS,CAAA;AAIrB,IAAA,WAAA,GAAA;AAFQ,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,EAAC,OAAU,GAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAGlD,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,KAAa,EAAE,IAAO,KAAK,IAAI,CAAC,EAAE,CAAC;KAC9D;8GANW,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAJrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA,CAAA;wDAES,OAAO,EAAA,CAAA;sBAAf,KAAK;;MAYM,WAAW,CAAA;AAJxB,IAAA,WAAA,GAAA;AAMS,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,EAAC,OAAU,GAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAOnD,KAAA;IALA,IACI,gBAAgB,CAAC,WAAoB,EAAA;AACxC,QAAA,IAAI,CAAC,WAAW;YAAE,OAAO;AACzB,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,KAAa,EAAE,IAAO,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC;KACxE;8GARW,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;kGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA,CAAA;8BAES,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAIF,gBAAgB,EAAA,CAAA;sBADnB,KAAK;uBAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;;MAOb,mBAAmB,GAAG,CAAC,SAAS,EAAE,WAAW;;AChC1D;;AAEG;;;;"}