@lucca-front/ng 22.0.5-rc.1 → 22.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/lucca-front-ng-a11y.mjs +1 -0
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-activity-feed.mjs +6 -6
- package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs +3 -3
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +1 -1
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +14 -7
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +22 -27
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +12 -7
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +1 -1
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +86 -9
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +6 -6
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills.mjs +24 -7
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +76 -26
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-label.mjs +2 -2
- package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +6 -6
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +12 -11
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-impersonation.mjs +1 -1
- package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs +11 -6
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +1 -1
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +3 -3
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-mobile-push.mjs +2 -2
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +2 -2
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +4 -4
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +1 -1
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +9 -6
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-progress-stepper.mjs +2 -2
- package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-read-more.mjs +3 -3
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +9 -4
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control.mjs +10 -5
- package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +2 -2
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-software-icon.mjs +1 -1
- package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +1 -1
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/package.json +4 -4
- package/types/lucca-front-ng-activity-feed.d.ts +13 -9
- package/types/lucca-front-ng-approbation-inbox.d.ts +32 -25
- package/types/lucca-front-ng-box.d.ts +12 -6
- package/types/lucca-front-ng-breadcrumbs.d.ts +12 -7
- package/types/lucca-front-ng-chip.d.ts +16 -9
- package/types/lucca-front-ng-clear.d.ts +12 -8
- package/types/lucca-front-ng-data-table.d.ts +13 -9
- package/types/lucca-front-ng-date.d.ts +12 -10
- package/types/lucca-front-ng-date2.d.ts +21 -18
- package/types/lucca-front-ng-file-upload.d.ts +41 -36
- package/types/lucca-front-ng-filter-pills.d.ts +27 -16
- package/types/lucca-front-ng-form-field.d.ts +22 -1
- package/types/lucca-front-ng-form-label.d.ts +13 -8
- package/types/lucca-front-ng-forms-rich-text-input.d.ts +38 -34
- package/types/lucca-front-ng-forms.d.ts +29 -42
- package/types/lucca-front-ng-impersonation.d.ts +14 -9
- package/types/lucca-front-ng-index-table.d.ts +3 -1
- package/types/lucca-front-ng-link.d.ts +11 -6
- package/types/lucca-front-ng-mobile-push.d.ts +18 -12
- package/types/lucca-front-ng-multi-select.d.ts +1 -1
- package/types/lucca-front-ng-pagination.d.ts +15 -10
- package/types/lucca-front-ng-plg-push.d.ts +12 -6
- package/types/lucca-front-ng-read-more.d.ts +13 -9
- package/types/lucca-front-ng-segmented-control-tabs.d.ts +5 -1
- package/types/lucca-front-ng-segmented-control.d.ts +5 -1
|
@@ -120,5 +120,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
120
120
|
* Generated bundle index. Do not edit.
|
|
121
121
|
*/
|
|
122
122
|
|
|
123
|
-
export { ImpersonationComponent };
|
|
123
|
+
export { ImpersonationComponent, LU_IMPERSONATION_TRANSLATIONS, luImpersonationTranslations };
|
|
124
124
|
//# sourceMappingURL=lucca-front-ng-impersonation.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-impersonation.mjs","sources":["../../../packages/ng/impersonation/impersonation/translations.ts","../../../packages/ng/impersonation/impersonation/impersonation.translate.ts","../../../packages/ng/impersonation/impersonation/impersonation.component.ts","../../../packages/ng/impersonation/impersonation/impersonation.component.html","../../../packages/ng/impersonation/lucca-front-ng-impersonation.ts"],"sourcesContent":["export const Translations = {\n\t'nl-BE': {\n\t\ta11yNavigationDescription: '– De inhoud van de pagina wordt bijgewerkt zodra dit filter wordt gewijzigd',\n\t\tswitchProfile: 'Profiel wijzigen:',\n\t\tclear: 'Terug naar standaardprofiel',\n\t},\n\tnl: {\n\t\ta11yNavigationDescription: '– De inhoud van de pagina wordt bijgewerkt zodra dit filter wordt gewijzigd',\n\t\tswitchProfile: 'Profiel wijzigen:',\n\t\tclear: 'Terug naar standaardprofiel',\n\t},\n\tit: {\n\t\ta11yNavigationDescription: '– Il contenuto della pagina si aggiorna non appena questo filtro viene modificato',\n\t\tswitchProfile: 'Cambia profilo:',\n\t\tclear: 'Torna al profilo predefinito',\n\t},\n\tfr: {\n\t\ta11yNavigationDescription: '– Le contenu de la page s’actualise dès que ce filtre est modifié',\n\t\tswitchProfile: 'Changer de profil :',\n\t\tclear: 'Revenir au profil par défaut',\n\t},\n\tpt: {\n\t\ta11yNavigationDescription: '– O conteúdo da página é atualizado assim que este filtro é alterado',\n\t\tswitchProfile: 'Alterar perfil:',\n\t\tclear: 'Voltar ao perfil predefinido',\n\t},\n\tes: {\n\t\ta11yNavigationDescription: '– El contenido de la página se actualiza en cuanto se cambia este filtro',\n\t\tswitchProfile: 'Cambiar de perfil:',\n\t\tclear: 'Volver al perfil predeterminado',\n\t},\n\tde: {\n\t\ta11yNavigationDescription: '– Der Seiteninhalt wird aktualisiert, sobald dieser Filter geändert wird',\n\t\tswitchProfile: 'Profil wechseln:',\n\t\tclear: 'Zurück zum Standardprofil',\n\t},\n\ten: {\n\t\ta11yNavigationDescription: '– Page content updates as soon as this filter is changed',\n\t\tswitchProfile: 'Switch profile:',\n\t\tclear: 'Back to default profile',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_IMPERSONATION_TRANSLATIONS = new InjectionToken('LuImpersonationTranslations', {\n\tfactory: () => luImpersonationTranslations,\n});\n\nexport interface LuImpersonationTranslations {\n\ta11yNavigationDescription: string;\n\tswitchProfile: string;\n\tclear: string;\n}\n\nexport const luImpersonationTranslations: LuTranslation<LuImpersonationTranslations> = Translations;\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, model, output, untracked, viewChild, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { LuOptionDirective } from '@lucca-front/ng/core-select';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS, LuCoreSelectUsersDirective, ɵLU_CORE_SELECT_CURRENT_USER_ID } from '@lucca-front/ng/core-select/user';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { LuSimpleSelectInputComponent } from '@lucca-front/ng/simple-select';\nimport { ILuUser, LuUserDisplayPipe, LuUserPictureComponent } from '@lucca-front/ng/user';\nimport { IconComponent } from '@lucca/prisme/icon';\nimport { LU_IMPERSONATION_TRANSLATIONS } from './impersonation.translate';\nimport { intlInputOptions, luBooleanAttribute } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-impersonation',\n\timports: [PopoverDirective, FormsModule, LuSimpleSelectInputComponent, LuCoreSelectUsersDirective, LuUserDisplayPipe, LuOptionDirective, LuUserPictureComponent, IconComponent, ClearComponent],\n\ttemplateUrl: './impersonation.component.html',\n\tstyleUrl: './impersonation.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'impersonation',\n\t},\n})\nexport class ImpersonationComponent {\n\tprotected readonly elementRef = inject(ElementRef);\n\treadonly intl = input(...intlInputOptions(LU_CORE_SELECT_USER_TRANSLATIONS, LU_IMPERSONATION_TRANSLATIONS));\n\tprotected readonly currentUserId = inject(ɵLU_CORE_SELECT_CURRENT_USER_ID);\n\n\treadonly inputComponentRef = viewChild<LuSimpleSelectInputComponent<ILuUser>>(LuSimpleSelectInputComponent);\n\n\treadonly popoverRef = viewChild(PopoverDirective);\n\n\treadonly selectedUser = model<ILuUser>();\n\n\treadonly enableFormerEmployees = input(false, { transform: luBooleanAttribute });\n\n\treadonly isNotMe = computed(() => this.selectedUser()?.id !== this.currentUserId);\n\treadonly clear = output<void>();\n\n\treadonly popoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'bottom' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'top' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t];\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst ref = this.inputComponentRef();\n\t\t\t// Because ref appears only when opening the panel, we're going to call the impersonation opened hook too\n\t\t\tif (ref) {\n\t\t\t\tuntracked(() => {\n\t\t\t\t\tref.enableFilterPillMode?.();\n\t\t\t\t\tref.registerFilterPillClosePopover(this.closePopover);\n\t\t\t\t\tref.registerFilterPillUpdatePosition?.(this.updatePosition);\n\t\t\t\t\tref.onFilterPillOpened?.();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tclosePopover = () => {\n\t\tthis.popoverRef()?.close();\n\t\tthis.inputComponentRef()?.onFilterPillClosed?.();\n\t};\n\n\tupdatePosition = () => {\n\t\tthis.popoverRef()?.updatePosition();\n\t};\n}\n","<button\n\ttype=\"button\"\n\tclass=\"impersonation-trigger\"\n\t[class.is-active]=\"isNotMe() && selectedUser()\"\n\t[luPopover2]=\"impersonationPopover\"\n\t[luPopoverNoCloseButton]=\"true\"\n\t[customPositions]=\"popoverPositions\"\n\t[luPopoverAnchor]=\"elementRef\"\n\t#popoverRef=\"luPopover2\"\n\t[attr.aria-expanded]=\"popoverRef.opened()\"\n\t(keydown.arrowDown)=\"$event.preventDefault(); popoverRef.openPopover(true)\"\n\t(keydown.arrowUp)=\"$event.preventDefault(); popoverRef.openPopover(true)\"\n>\n\t<span class=\"pr-u-mask\">{{ intl().switchProfile }}</span>\n\n\t@let user = selectedUser();\n\t@if (user) {\n\t\t<lu-user-picture aria-hidden=\"true\" [user]=\"user\" size=\"S\" softRounded />\n\t\t{{ user | luUserDisplay }}\n\t} @else {\n\t\t<lu-user-picture placeholder aria-hidden=\"true\" size=\"S\" softRounded />\n\t\t<div class=\"skeleton is-loading\" style=\"inline-size: 5.5rem\">\n\t\t\t<span class=\"skeleton-item\"></span>\n\t\t</div>\n\t}\n\t<span class=\"pr-u-mask\">{{ intl().a11yNavigationDescription }}</span>\n\t<lu-icon class=\"impersonation-trigger-icon\" icon=\"chevronBottom\" />\n</button>\n<lu-clear class=\"impersonation-clear\" (onClear)=\"clear.emit()\" [intl]=\"{ clear: intl().clear }\" />\n\n<ng-template #impersonationPopover>\n\t<div class=\"impersonation_popover-content popover-contentOptional\">\n\t\t<lu-simple-select impersonation [(ngModel)]=\"selectedUser\" users [enableFormerEmployees]=\"enableFormerEmployees()\" #selectRef>\n\t\t\t<ng-container *luOption=\"let user; select: selectRef\">\n\t\t\t\t<div class=\"impersonation_popover-content-option\" [class.mod-me]=\"currentUserId === user.id\">\n\t\t\t\t\t<lu-user-picture aria-hidden=\"true\" [user]=\"user\" size=\"XS\" softRounded />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t@if (currentUserId === user.id) {\n\t\t\t\t\t\t\t{{ intl().me }} <span translate=\"no\">{{ user | luUserDisplay }}</span>\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t<span translate=\"no\">{{ user | luUserDisplay }}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<!-- Handle homonyms -->\n\t\t\t\t\t\t@if (user.additionalInformation) {\n\t\t\t\t\t\t\t<div class=\"option-additional\">\n\t\t\t\t\t\t\t\t{{ user.additionalInformation }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t</lu-simple-select>\n\t</div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵLU_CORE_SELECT_CURRENT_USER_ID"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-impersonation.mjs","sources":["../../../packages/ng/impersonation/impersonation/translations.ts","../../../packages/ng/impersonation/impersonation/impersonation.translate.ts","../../../packages/ng/impersonation/impersonation/impersonation.component.ts","../../../packages/ng/impersonation/impersonation/impersonation.component.html","../../../packages/ng/impersonation/lucca-front-ng-impersonation.ts"],"sourcesContent":["export const Translations = {\n\t'nl-BE': {\n\t\ta11yNavigationDescription: '– De inhoud van de pagina wordt bijgewerkt zodra dit filter wordt gewijzigd',\n\t\tswitchProfile: 'Profiel wijzigen:',\n\t\tclear: 'Terug naar standaardprofiel',\n\t},\n\tnl: {\n\t\ta11yNavigationDescription: '– De inhoud van de pagina wordt bijgewerkt zodra dit filter wordt gewijzigd',\n\t\tswitchProfile: 'Profiel wijzigen:',\n\t\tclear: 'Terug naar standaardprofiel',\n\t},\n\tit: {\n\t\ta11yNavigationDescription: '– Il contenuto della pagina si aggiorna non appena questo filtro viene modificato',\n\t\tswitchProfile: 'Cambia profilo:',\n\t\tclear: 'Torna al profilo predefinito',\n\t},\n\tfr: {\n\t\ta11yNavigationDescription: '– Le contenu de la page s’actualise dès que ce filtre est modifié',\n\t\tswitchProfile: 'Changer de profil :',\n\t\tclear: 'Revenir au profil par défaut',\n\t},\n\tpt: {\n\t\ta11yNavigationDescription: '– O conteúdo da página é atualizado assim que este filtro é alterado',\n\t\tswitchProfile: 'Alterar perfil:',\n\t\tclear: 'Voltar ao perfil predefinido',\n\t},\n\tes: {\n\t\ta11yNavigationDescription: '– El contenido de la página se actualiza en cuanto se cambia este filtro',\n\t\tswitchProfile: 'Cambiar de perfil:',\n\t\tclear: 'Volver al perfil predeterminado',\n\t},\n\tde: {\n\t\ta11yNavigationDescription: '– Der Seiteninhalt wird aktualisiert, sobald dieser Filter geändert wird',\n\t\tswitchProfile: 'Profil wechseln:',\n\t\tclear: 'Zurück zum Standardprofil',\n\t},\n\ten: {\n\t\ta11yNavigationDescription: '– Page content updates as soon as this filter is changed',\n\t\tswitchProfile: 'Switch profile:',\n\t\tclear: 'Back to default profile',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_IMPERSONATION_TRANSLATIONS = new InjectionToken('LuImpersonationTranslations', {\n\tfactory: () => luImpersonationTranslations,\n});\n\nexport interface LuImpersonationTranslations {\n\ta11yNavigationDescription: string;\n\tswitchProfile: string;\n\tclear: string;\n}\n\nexport const luImpersonationTranslations: LuTranslation<LuImpersonationTranslations> = Translations;\n","import { ConnectionPositionPair } from '@angular/cdk/overlay';\nimport { ChangeDetectionStrategy, Component, computed, effect, ElementRef, inject, input, model, output, untracked, viewChild, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ClearComponent } from '@lucca-front/ng/clear';\nimport { LuOptionDirective } from '@lucca-front/ng/core-select';\nimport { LU_CORE_SELECT_USER_TRANSLATIONS, LuCoreSelectUsersDirective, ɵLU_CORE_SELECT_CURRENT_USER_ID } from '@lucca-front/ng/core-select/user';\nimport { PopoverDirective } from '@lucca-front/ng/popover2';\nimport { LuSimpleSelectInputComponent } from '@lucca-front/ng/simple-select';\nimport { ILuUser, LuUserDisplayPipe, LuUserPictureComponent } from '@lucca-front/ng/user';\nimport { IconComponent } from '@lucca/prisme/icon';\nimport { LU_IMPERSONATION_TRANSLATIONS } from './impersonation.translate';\nimport { intlInputOptions, luBooleanAttribute } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-impersonation',\n\timports: [PopoverDirective, FormsModule, LuSimpleSelectInputComponent, LuCoreSelectUsersDirective, LuUserDisplayPipe, LuOptionDirective, LuUserPictureComponent, IconComponent, ClearComponent],\n\ttemplateUrl: './impersonation.component.html',\n\tstyleUrl: './impersonation.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'impersonation',\n\t},\n})\nexport class ImpersonationComponent {\n\tprotected readonly elementRef = inject(ElementRef);\n\treadonly intl = input(...intlInputOptions(LU_CORE_SELECT_USER_TRANSLATIONS, LU_IMPERSONATION_TRANSLATIONS));\n\tprotected readonly currentUserId = inject(ɵLU_CORE_SELECT_CURRENT_USER_ID);\n\n\treadonly inputComponentRef = viewChild<LuSimpleSelectInputComponent<ILuUser>>(LuSimpleSelectInputComponent);\n\n\treadonly popoverRef = viewChild(PopoverDirective);\n\n\treadonly selectedUser = model<ILuUser>();\n\n\treadonly enableFormerEmployees = input(false, { transform: luBooleanAttribute });\n\n\treadonly isNotMe = computed(() => this.selectedUser()?.id !== this.currentUserId);\n\treadonly clear = output<void>();\n\n\treadonly popoverPositions: ConnectionPositionPair[] = [\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'bottom' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'top',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t\tnew ConnectionPositionPair(\n\t\t\t{ originX: 'start', originY: 'top' },\n\t\t\t{\n\t\t\t\toverlayX: 'start',\n\t\t\t\toverlayY: 'bottom',\n\t\t\t},\n\t\t\t-4,\n\t\t\t0,\n\t\t),\n\t];\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst ref = this.inputComponentRef();\n\t\t\t// Because ref appears only when opening the panel, we're going to call the impersonation opened hook too\n\t\t\tif (ref) {\n\t\t\t\tuntracked(() => {\n\t\t\t\t\tref.enableFilterPillMode?.();\n\t\t\t\t\tref.registerFilterPillClosePopover(this.closePopover);\n\t\t\t\t\tref.registerFilterPillUpdatePosition?.(this.updatePosition);\n\t\t\t\t\tref.onFilterPillOpened?.();\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tclosePopover = () => {\n\t\tthis.popoverRef()?.close();\n\t\tthis.inputComponentRef()?.onFilterPillClosed?.();\n\t};\n\n\tupdatePosition = () => {\n\t\tthis.popoverRef()?.updatePosition();\n\t};\n}\n","<button\n\ttype=\"button\"\n\tclass=\"impersonation-trigger\"\n\t[class.is-active]=\"isNotMe() && selectedUser()\"\n\t[luPopover2]=\"impersonationPopover\"\n\t[luPopoverNoCloseButton]=\"true\"\n\t[customPositions]=\"popoverPositions\"\n\t[luPopoverAnchor]=\"elementRef\"\n\t#popoverRef=\"luPopover2\"\n\t[attr.aria-expanded]=\"popoverRef.opened()\"\n\t(keydown.arrowDown)=\"$event.preventDefault(); popoverRef.openPopover(true)\"\n\t(keydown.arrowUp)=\"$event.preventDefault(); popoverRef.openPopover(true)\"\n>\n\t<span class=\"pr-u-mask\">{{ intl().switchProfile }}</span>\n\n\t@let user = selectedUser();\n\t@if (user) {\n\t\t<lu-user-picture aria-hidden=\"true\" [user]=\"user\" size=\"S\" softRounded />\n\t\t{{ user | luUserDisplay }}\n\t} @else {\n\t\t<lu-user-picture placeholder aria-hidden=\"true\" size=\"S\" softRounded />\n\t\t<div class=\"skeleton is-loading\" style=\"inline-size: 5.5rem\">\n\t\t\t<span class=\"skeleton-item\"></span>\n\t\t</div>\n\t}\n\t<span class=\"pr-u-mask\">{{ intl().a11yNavigationDescription }}</span>\n\t<lu-icon class=\"impersonation-trigger-icon\" icon=\"chevronBottom\" />\n</button>\n<lu-clear class=\"impersonation-clear\" (onClear)=\"clear.emit()\" [intl]=\"{ clear: intl().clear }\" />\n\n<ng-template #impersonationPopover>\n\t<div class=\"impersonation_popover-content popover-contentOptional\">\n\t\t<lu-simple-select impersonation [(ngModel)]=\"selectedUser\" users [enableFormerEmployees]=\"enableFormerEmployees()\" #selectRef>\n\t\t\t<ng-container *luOption=\"let user; select: selectRef\">\n\t\t\t\t<div class=\"impersonation_popover-content-option\" [class.mod-me]=\"currentUserId === user.id\">\n\t\t\t\t\t<lu-user-picture aria-hidden=\"true\" [user]=\"user\" size=\"XS\" softRounded />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t@if (currentUserId === user.id) {\n\t\t\t\t\t\t\t{{ intl().me }} <span translate=\"no\">{{ user | luUserDisplay }}</span>\n\t\t\t\t\t\t} @else {\n\t\t\t\t\t\t\t<span translate=\"no\">{{ user | luUserDisplay }}</span>\n\t\t\t\t\t\t}\n\t\t\t\t\t\t<!-- Handle homonyms -->\n\t\t\t\t\t\t@if (user.additionalInformation) {\n\t\t\t\t\t\t\t<div class=\"option-additional\">\n\t\t\t\t\t\t\t\t{{ user.additionalInformation }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</ng-container>\n\t\t</lu-simple-select>\n\t</div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵLU_CORE_SELECT_CURRENT_USER_ID"],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken, input, model, inject, computed, forwardRef, ElementRef,
|
|
2
|
+
import { ChangeDetectionStrategy, ViewEncapsulation, Component, InjectionToken, input, model, inject, computed, forwardRef, ElementRef, viewChild, contentChildren, contentChild } from '@angular/core';
|
|
3
3
|
import { ButtonComponent } from '@lucca-front/ng/button';
|
|
4
4
|
import { PortalDirective, luBooleanAttribute, luNumberAttribute } from '@lucca-front/ng/core';
|
|
5
5
|
import { IconComponent } from '@lucca-front/ng/icon';
|
|
6
6
|
import { NgTemplateOutlet } from '@angular/common';
|
|
7
7
|
import * as i1 from '@angular/forms';
|
|
8
8
|
import { FormsModule } from '@angular/forms';
|
|
9
|
+
import { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';
|
|
9
10
|
import { FormFieldComponent } from '@lucca-front/ng/form-field';
|
|
10
11
|
import { CheckboxInputComponent } from '@lucca-front/ng/forms';
|
|
11
12
|
|
|
@@ -133,6 +134,10 @@ class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {
|
|
|
133
134
|
this.hiddenLabel = input(false, { ...(ngDevMode ? { debugName: "hiddenLabel" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
|
|
134
135
|
this.actions = input(false, { ...(ngDevMode ? { debugName: "actions" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
|
|
135
136
|
this.inlineSize = input(0, { ...(ngDevMode ? { debugName: "inlineSize" } : /* istanbul ignore next */ {}), transform: luNumberAttribute });
|
|
137
|
+
this.sortWithEllipsis = input(false, { ...(ngDevMode ? { debugName: "sortWithEllipsis" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
|
|
138
|
+
// #sortButton hosts the luButton component, so the template ref resolves to that component
|
|
139
|
+
// instance rather than the native element — read it explicitly as an ElementRef instead.
|
|
140
|
+
this.sortButtonRef = viewChild('sortButton', { ...(ngDevMode ? { debugName: "sortButtonRef" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
136
141
|
}
|
|
137
142
|
toggleSort() {
|
|
138
143
|
if (this.sort()) {
|
|
@@ -140,12 +145,12 @@ class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {
|
|
|
140
145
|
}
|
|
141
146
|
}
|
|
142
147
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IndexTableRowCellHeaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
143
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: IndexTableRowCellHeaderComponent, isStandalone: true, selector: "th[luIndexTableCell]", inputs: { sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, hiddenLabel: { classPropertyName: "hiddenLabel", publicName: "hiddenLabel", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, inlineSize: { classPropertyName: "inlineSize", publicName: "inlineSize", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sort: "sortChange" }, host: { properties: { "class.indexTable-body-row-cell": "bodyRef !== null", "class.indexTable-head-row-cell": "headRef !== null", "class.indexTable-foot-row-cell": "footRef !== null", "class.mod-alignStart": "align() === \"start\" || alignCol() === \"start\"", "class.mod-alignCenter": "align() === \"center\" || alignCol() === \"center\"", "class.mod-alignEnd": "align() === \"end\" || alignCol() === \"end\"", "attr.aria-sort": "sort()", "attr.scope": "bodyRef !== null ? \"row\" : \"col\"", "class.mod-selectable": "selectable()", "class.mod-actions": "actions()", "style.--components-indexTable-cell-fixed-width": "inlineSize() !== 0 ? inlineSize() : null" } }, providers: [
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: IndexTableRowCellHeaderComponent, isStandalone: true, selector: "th[luIndexTableCell]", inputs: { sort: { classPropertyName: "sort", publicName: "sort", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, hiddenLabel: { classPropertyName: "hiddenLabel", publicName: "hiddenLabel", isSignal: true, isRequired: false, transformFunction: null }, actions: { classPropertyName: "actions", publicName: "actions", isSignal: true, isRequired: false, transformFunction: null }, inlineSize: { classPropertyName: "inlineSize", publicName: "inlineSize", isSignal: true, isRequired: false, transformFunction: null }, sortWithEllipsis: { classPropertyName: "sortWithEllipsis", publicName: "sortWithEllipsis", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sort: "sortChange" }, host: { properties: { "class.indexTable-body-row-cell": "bodyRef !== null", "class.indexTable-head-row-cell": "headRef !== null", "class.indexTable-foot-row-cell": "footRef !== null", "class.mod-alignStart": "align() === \"start\" || alignCol() === \"start\"", "class.mod-alignCenter": "align() === \"center\" || alignCol() === \"center\"", "class.mod-alignEnd": "align() === \"end\" || alignCol() === \"end\"", "attr.aria-sort": "sort()", "attr.scope": "bodyRef !== null ? \"row\" : \"col\"", "class.mod-selectable": "selectable()", "class.mod-actions": "actions()", "style.--components-indexTable-cell-fixed-width": "inlineSize() !== 0 ? inlineSize() : null" } }, providers: [
|
|
144
149
|
{
|
|
145
150
|
provide: LU_INDEX_TABLE_CELL_INSTANCE,
|
|
146
151
|
useExisting: forwardRef(() => IndexTableRowCellHeaderComponent),
|
|
147
152
|
},
|
|
148
|
-
], usesInheritance: true, ngImport: i0, template: "@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" (click)=\"toggleSort()\">\n\t\t<ng-container *ngTemplateOutlet=\"contentTpl\"
|
|
153
|
+
], viewQueries: [{ propertyName: "sortButtonRef", first: true, predicate: ["sortButton"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" [class.mod-ellipsis]=\"sortWithEllipsis()\" (click)=\"toggleSort()\" #sortButton>\n\t\t<span\n\t\t\tclass=\"tableSortable-label\"\n\t\t\t[luTooltipDisabled]=\"!sortWithEllipsis()\"\n\t\t\tluTooltip\n\t\t\tluTooltipWhenEllipsis\n\t\t\t[luTooltipTriggerAnchor]=\"sortButtonRef()\"\n\t\t\t><ng-container *ngTemplateOutlet=\"contentTpl\"\n\t\t/></span>\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl>\n\t@if (hiddenLabel() || actions()) {\n\t\t<span class=\"pr-u-mask\"><ng-container *ngTemplateOutlet=\"content\" /></span>\n\t} @else {\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t}\n</ng-template>\n\n<ng-template #content><ng-content /></ng-template>\n", styles: ["@layer components{.tableSortable.button{--components-sortable-arrowColor: var(--palettes-neutral-500);--components-sortable-arrowScale: 1;--components-sortable-direction: row;--components-sortable-offset: calc(var(--pr-t-spacings-50) * -1);--components-sortable-fontWeight: 400;--components-sortable-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortable-lineHeight: var(--pr-t-font-body-M-lineHeight);--components-sortable-arrowsOffset: var(--pr-t-spacings-50);--components-sortable-minInlineSize: auto;--components-sortable-maxInlineSize: none;-webkit-user-select:none;user-select:none;font-weight:var(--components-sortable-fontWeight);vertical-align:top;align-items:flex-end;min-inline-size:var(--components-sortable-minInlineSize);max-inline-size:var(--components-sortable-maxInlineSize);inset-inline-start:var(--components-sortable-offset);padding:0 var(--pr-t-spacings-50);gap:var(--pr-t-spacings-25);text-align:inherit;flex-direction:var(--components-sortable-direction);font-size:var(--components-sortable-fontSize);line-height:var(--components-sortable-lineHeight);color:currentColor;--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.tableSortable.button:hover,.tableSortable.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.tableSortable.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.tableSortable.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.tableSortable-label{min-inline-size:0}.tableSortable-arrows{margin-block-end:var(--components-sortable-arrowsOffset);position:relative;inline-size:1rem;block-size:1rem;flex-shrink:0}.tableSortable-arrows-ascending,.tableSortable-arrows-descending{--icon-size: 1rem;position:absolute;inset:0;color:var(--components-sortable-arrowColor);transition-property:translate,scale,color;transition-duration:var(--commons-animations-durations-slow);scale:var(--components-sortable-arrowScale)}.tableSortable-arrows-ascending{translate:0 calc(var(--pr-t-spacings-50) * -1)}.tableSortable-arrows-descending{translate:0 var(--pr-t-spacings-50)}}@layer mods{.tableSortable.mod-ellipsis{--components-sortable-minInlineSize: 0;--components-sortable-maxInlineSize: 100%}.tableSortable.mod-ellipsis .tableSortable-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer mods{.table-head-row-cell.mod-alignStart .tableSortable,.table-head-row-cell.mod-alignLeft .tableSortable,.dataTable-head-row-cell.mod-alignStart .tableSortable,.dataTable-head-row-cell.mod-alignLeft .tableSortable,.indexTable-head-row-cell.mod-alignStart .tableSortable,.indexTable-head-row-cell.mod-alignLeft .tableSortable{--components-sortable-direction: row;--components-sortable-offset: calc(var(--pr-t-spacings-50) * -1)}.table-head-row-cell.mod-alignEnd .tableSortable,.table-head-row-cell.mod-alignRight .tableSortable,.dataTable-head-row-cell.mod-alignEnd .tableSortable,.dataTable-head-row-cell.mod-alignRight .tableSortable,.indexTable-head-row-cell.mod-alignEnd .tableSortable,.indexTable-head-row-cell.mod-alignRight .tableSortable{--components-sortable-direction: row-reverse;--components-sortable-offset: var(--pr-t-spacings-50)}.table-head-row-cell.mod-alignCenter .tableSortable,.dataTable-head-row-cell.mod-alignCenter .tableSortable,.indexTable-head-row-cell.mod-alignCenter .tableSortable{--components-sortable-offset: var(--pr-t-spacings-100)}.table-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.dataTable-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.indexTable-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.table-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending,.dataTable-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending,.indexTable-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending{--components-sortable-arrowColor: var(--palettes-neutral-700);--components-sortable-arrowScale: 1.25}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton], a[luButton], span[luButton], button[prButton], a[prButton], span[prButton]", inputs: ["size", "block", "disabled", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: LuTooltipTriggerDirective, selector: "[luTooltip],[prTooltip]", inputs: ["luTooltip", "prTooltip", "luTooltipEnterDelay", "prTooltipEnterDelay", "luTooltipLeaveDelay", "prTooltipLeaveDelay", "luTooltipDisabled", "prTooltipDisabled", "luTooltipOnlyForDisplay", "prTooltipOnlyForDisplay", "luTooltipPosition", "prTooltipPosition", "luTooltipWhenEllipsis", "prTooltipWhenEllipsis", "luTooltipAnchor", "prTooltipAnchor", "luTooltipTriggerAnchor", "prTooltipTriggerAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
149
154
|
}
|
|
150
155
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: IndexTableRowCellHeaderComponent, decorators: [{
|
|
151
156
|
type: Component,
|
|
@@ -161,13 +166,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
|
|
|
161
166
|
'[class.mod-selectable]': 'selectable()',
|
|
162
167
|
'[class.mod-actions]': 'actions()',
|
|
163
168
|
'[style.--components-indexTable-cell-fixed-width]': 'inlineSize() !== 0 ? inlineSize() : null',
|
|
164
|
-
}, imports: [NgTemplateOutlet, ButtonComponent, IconComponent, FormsModule], providers: [
|
|
169
|
+
}, imports: [NgTemplateOutlet, ButtonComponent, IconComponent, FormsModule, LuTooltipTriggerDirective], providers: [
|
|
165
170
|
{
|
|
166
171
|
provide: LU_INDEX_TABLE_CELL_INSTANCE,
|
|
167
172
|
useExisting: forwardRef(() => IndexTableRowCellHeaderComponent),
|
|
168
173
|
},
|
|
169
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" (click)=\"toggleSort()\">\n\t\t<ng-container *ngTemplateOutlet=\"contentTpl\"
|
|
170
|
-
}], propDecorators: { sort: [{ type: i0.Input, args: [{ isSignal: true, alias: "sort", required: false }] }, { type: i0.Output, args: ["sortChange"] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], hiddenLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenLabel", required: false }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], inlineSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineSize", required: false }] }] } });
|
|
174
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" [class.mod-ellipsis]=\"sortWithEllipsis()\" (click)=\"toggleSort()\" #sortButton>\n\t\t<span\n\t\t\tclass=\"tableSortable-label\"\n\t\t\t[luTooltipDisabled]=\"!sortWithEllipsis()\"\n\t\t\tluTooltip\n\t\t\tluTooltipWhenEllipsis\n\t\t\t[luTooltipTriggerAnchor]=\"sortButtonRef()\"\n\t\t\t><ng-container *ngTemplateOutlet=\"contentTpl\"\n\t\t/></span>\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl>\n\t@if (hiddenLabel() || actions()) {\n\t\t<span class=\"pr-u-mask\"><ng-container *ngTemplateOutlet=\"content\" /></span>\n\t} @else {\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t}\n</ng-template>\n\n<ng-template #content><ng-content /></ng-template>\n", styles: ["@layer components{.tableSortable.button{--components-sortable-arrowColor: var(--palettes-neutral-500);--components-sortable-arrowScale: 1;--components-sortable-direction: row;--components-sortable-offset: calc(var(--pr-t-spacings-50) * -1);--components-sortable-fontWeight: 400;--components-sortable-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortable-lineHeight: var(--pr-t-font-body-M-lineHeight);--components-sortable-arrowsOffset: var(--pr-t-spacings-50);--components-sortable-minInlineSize: auto;--components-sortable-maxInlineSize: none;-webkit-user-select:none;user-select:none;font-weight:var(--components-sortable-fontWeight);vertical-align:top;align-items:flex-end;min-inline-size:var(--components-sortable-minInlineSize);max-inline-size:var(--components-sortable-maxInlineSize);inset-inline-start:var(--components-sortable-offset);padding:0 var(--pr-t-spacings-50);gap:var(--pr-t-spacings-25);text-align:inherit;flex-direction:var(--components-sortable-direction);font-size:var(--components-sortable-fontSize);line-height:var(--components-sortable-lineHeight);color:currentColor;--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.tableSortable.button:hover,.tableSortable.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.tableSortable.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.tableSortable.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.tableSortable-label{min-inline-size:0}.tableSortable-arrows{margin-block-end:var(--components-sortable-arrowsOffset);position:relative;inline-size:1rem;block-size:1rem;flex-shrink:0}.tableSortable-arrows-ascending,.tableSortable-arrows-descending{--icon-size: 1rem;position:absolute;inset:0;color:var(--components-sortable-arrowColor);transition-property:translate,scale,color;transition-duration:var(--commons-animations-durations-slow);scale:var(--components-sortable-arrowScale)}.tableSortable-arrows-ascending{translate:0 calc(var(--pr-t-spacings-50) * -1)}.tableSortable-arrows-descending{translate:0 var(--pr-t-spacings-50)}}@layer mods{.tableSortable.mod-ellipsis{--components-sortable-minInlineSize: 0;--components-sortable-maxInlineSize: 100%}.tableSortable.mod-ellipsis .tableSortable-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer mods{.table-head-row-cell.mod-alignStart .tableSortable,.table-head-row-cell.mod-alignLeft .tableSortable,.dataTable-head-row-cell.mod-alignStart .tableSortable,.dataTable-head-row-cell.mod-alignLeft .tableSortable,.indexTable-head-row-cell.mod-alignStart .tableSortable,.indexTable-head-row-cell.mod-alignLeft .tableSortable{--components-sortable-direction: row;--components-sortable-offset: calc(var(--pr-t-spacings-50) * -1)}.table-head-row-cell.mod-alignEnd .tableSortable,.table-head-row-cell.mod-alignRight .tableSortable,.dataTable-head-row-cell.mod-alignEnd .tableSortable,.dataTable-head-row-cell.mod-alignRight .tableSortable,.indexTable-head-row-cell.mod-alignEnd .tableSortable,.indexTable-head-row-cell.mod-alignRight .tableSortable{--components-sortable-direction: row-reverse;--components-sortable-offset: var(--pr-t-spacings-50)}.table-head-row-cell.mod-alignCenter .tableSortable,.dataTable-head-row-cell.mod-alignCenter .tableSortable,.indexTable-head-row-cell.mod-alignCenter .tableSortable{--components-sortable-offset: var(--pr-t-spacings-100)}.table-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.dataTable-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.indexTable-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.table-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending,.dataTable-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending,.indexTable-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending{--components-sortable-arrowColor: var(--palettes-neutral-700);--components-sortable-arrowScale: 1.25}}\n"] }]
|
|
175
|
+
}], propDecorators: { sort: [{ type: i0.Input, args: [{ isSignal: true, alias: "sort", required: false }] }, { type: i0.Output, args: ["sortChange"] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], hiddenLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenLabel", required: false }] }], actions: [{ type: i0.Input, args: [{ isSignal: true, alias: "actions", required: false }] }], inlineSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineSize", required: false }] }], sortWithEllipsis: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortWithEllipsis", required: false }] }], sortButtonRef: [{ type: i0.ViewChild, args: ['sortButton', { ...{ read: ElementRef }, isSignal: true }] }] } });
|
|
171
176
|
|
|
172
177
|
class IndexTableRowCellComponent extends BaseIndexTableCell {
|
|
173
178
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-index-table.mjs","sources":["../../../packages/ng/index-table/index-table-action-file/index-table-action-file.component.ts","../../../packages/ng/index-table/index-table-action/index-table-action.component.ts","../../../packages/ng/index-table/index-table.token.ts","../../../packages/ng/index-table/index-table-body/index-table-body.token.ts","../../../packages/ng/index-table/index-table-body/index-table-body.component.ts","../../../packages/ng/index-table/index-table-body/index-table-body.component.html","../../../packages/ng/index-table/index-table-foot/index-table-foot.token.ts","../../../packages/ng/index-table/index-table-head/index-table-head.token.ts","../../../packages/ng/index-table/index-table-row/index-table-row.token.ts","../../../packages/ng/index-table/base-index-table-cell.ts","../../../packages/ng/index-table/index-table-cell.token.ts","../../../packages/ng/index-table/index-table-cell-header/index-table-cell-header.component.ts","../../../packages/ng/index-table/index-table-cell-header/index-table-cell-header.component.html","../../../packages/ng/index-table/index-table-cell/index-table-cell.component.ts","../../../packages/ng/index-table/index-table-foot/index-table-foot.component.ts","../../../packages/ng/index-table/index-table-head/index-table-head.component.ts","../../../packages/ng/index-table/index-table-row/index-table-row.component.ts","../../../packages/ng/index-table/index-table-row/index-table-row.component.html","../../../packages/ng/index-table/index-table.component.ts","../../../packages/ng/index-table/index-table.component.html","../../../packages/ng/index-table/index-table.type.ts","../../../packages/ng/index-table/lucca-front-ng-index-table.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'input[luIndexTableAction]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body-row-cell-link, pr-u-mask',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableActionFileComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luIndexTableAction], a[luIndexTableAction], label[luIndexTableAction]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body-row-cell-link',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableActionComponent {}\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableComponent } from './index-table.component';\n\nexport const LU_INDEX_TABLE_INSTANCE = new InjectionToken<IndexTableComponent>('LU_INDEX_TABLE_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableBodyComponent } from './index-table-body.component';\n\nexport const LU_INDEX_TABLE_BODY_INSTANCE = new InjectionToken<IndexTableBodyComponent>('LU_INDEX_TABLE_BODY_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from './index-table-body.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tbody[luIndexTableBody]',\n\tstandalone: true,\n\ttemplateUrl: `./index-table-body.component.html`,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body',\n\t},\n\timports: [ButtonComponent, IconComponent, PortalDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_BODY_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableBodyComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableBodyComponent {\n\treadonly group = input<PortalContent | null>(null);\n\treadonly groupButtonAlt = input<string | null>(null);\n\n\treadonly expanded = model(false);\n\n\texpandedToggle() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n\n\tprotected tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\n\treadonly colspan = computed(() => (this.tableRef.cols()?.length ?? 0) + (this.tableRef.selectable() ? 1 : 0));\n}\n","@if (group(); as group) {\n\t@if (groupButtonAlt(); as groupButtonAlt) {\n\t\t<tr class=\"indexTable-body-row mod-group\">\n\t\t\t<th scope=\"colgroup\" class=\"indexTable-body-row-transparentCell\" [attr.colspan]=\"colspan()\">\n\t\t\t\t<div class=\"indexTable-body-row-cellTitle\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"indexTable-body-row-cellTitle-button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\tdisclosure\n\t\t\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t\t\t(click)=\"expandedToggle()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" [alt]=\"groupButtonAlt\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t<ng-container *luPortal=\"group\" />\n\t\t\t\t</div>\n\t\t\t</th>\n\t\t</tr>\n\t}\n}\n<ng-content />\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableFootComponent } from './index-table-foot.component';\n\nexport const LU_INDEX_TABLE_FOOT_INSTANCE = new InjectionToken<IndexTableFootComponent>('LU_INDEX_TABLE_FOOT_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableHeadComponent } from './index-table-head.component';\n\nexport const LU_INDEX_TABLE_HEAD_INSTANCE = new InjectionToken<IndexTableHeadComponent>('LU_INDEX_TABLE_HEAD_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableRowComponent } from './index-table-row.component';\n\nexport const LU_INDEX_TABLE_ROW_INSTANCE = new InjectionToken<IndexTableRowComponent>('LU_INDEX_TABLE_ROW_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\n\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from './index-table-body/index-table-body.token';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from './index-table-foot/index-table-foot.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from './index-table-head/index-table-head.token';\nimport { LU_INDEX_TABLE_ROW_INSTANCE } from './index-table-row/index-table-row.token';\nimport { LU_INDEX_TABLE_INSTANCE } from './index-table.token';\nimport { IndexTableAlign } from './index-table.type';\n\n@Component({\n\tselector: 'lu-base-index-table-cell',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport abstract class BaseIndexTableCell {\n\treadonly tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\treadonly bodyRef = inject(LU_INDEX_TABLE_BODY_INSTANCE, { optional: true });\n\treadonly headRef = inject(LU_INDEX_TABLE_HEAD_INSTANCE, { optional: true });\n\treadonly footRef = inject(LU_INDEX_TABLE_FOOT_INSTANCE, { optional: true });\n\treadonly rowRef = inject(LU_INDEX_TABLE_ROW_INSTANCE);\n\n\treadonly align = input<IndexTableAlign | null>(null);\n\n\treadonly alignCol = computed(() => {\n\t\treturn this.tableRef.header()?.cols()[this.position()].align();\n\t});\n\n\treadonly position = computed(() => {\n\t\treturn this.rowRef.cells().indexOf(this);\n\t});\n}\n","import { InjectionToken } from '@angular/core';\nimport { BaseIndexTableCell } from './base-index-table-cell';\n\nexport const LU_INDEX_TABLE_CELL_INSTANCE = new InjectionToken<BaseIndexTableCell>('LU_INDEX_TABLE_CELL_INSTANCE');\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { luBooleanAttribute, luNumberAttribute } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { BaseIndexTableCell } from '../base-index-table-cell';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\nimport { IndexTableSort } from '../index-table.type';\n\nconst SORT_VALUES = ['none', 'ascending', 'descending'] as const;\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'th[luIndexTableCell]',\n\tstandalone: true,\n\ttemplateUrl: './index-table-cell-header.component.html',\n\tstyleUrl: './index-table-cell-header.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[attr.aria-sort]': 'sort()',\n\t\t'[attr.scope]': 'bodyRef !== null ? \"row\" : \"col\"',\n\t\t'[class.mod-selectable]': 'selectable()',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[style.--components-indexTable-cell-fixed-width]': 'inlineSize() !== 0 ? inlineSize() : null',\n\t},\n\timports: [NgTemplateOutlet, ButtonComponent, IconComponent, FormsModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowCellHeaderComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {\n\treadonly elementRef = inject<ElementRef<HTMLTableCellElement>>(ElementRef);\n\n\treadonly sort = model<IndexTableSort | null>(null);\n\treadonly selectable = input(false, { transform: luBooleanAttribute });\n\treadonly hiddenLabel = input(false, { transform: luBooleanAttribute });\n\treadonly actions = input(false, { transform: luBooleanAttribute });\n\treadonly inlineSize = input(0, { transform: luNumberAttribute });\n\n\ttoggleSort(): void {\n\t\tif (this.sort()) {\n\t\t\tthis.sort.set(SORT_VALUES[(SORT_VALUES.indexOf(this.sort() ?? 'none') + 1) % SORT_VALUES.length]);\n\t\t}\n\t}\n}\n","@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" (click)=\"toggleSort()\">\n\t\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl>\n\t@if (hiddenLabel() || actions()) {\n\t\t<span class=\"pr-u-mask\"><ng-container *ngTemplateOutlet=\"content\" /></span>\n\t} @else {\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t}\n</ng-template>\n\n<ng-template #content><ng-content /></ng-template>\n","import { ChangeDetectionStrategy, Component, computed, forwardRef, input, ViewEncapsulation } from '@angular/core';\n\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { BaseIndexTableCell } from '../base-index-table-cell';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'td[luIndexTableCell]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[class.mod-allowTextSelection]': 'allowTextSelection()',\n\t\t'[class.mod-tfoot]': 'tfoot()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowCellComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowCellComponent extends BaseIndexTableCell {\n\treadonly allowTextSelection = input(false, { transform: luBooleanAttribute });\n\treadonly tfoot = input(false, { transform: luBooleanAttribute });\n\n\treadonly actions = computed(() => {\n\t\treturn this.tableRef.header()?.cols()[this.position()].actions();\n\t});\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from './index-table-foot.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tfoot[luIndexTableFoot]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-foot',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_FOOT_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableFootComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableFootComponent {}\n","import { ChangeDetectionStrategy, Component, contentChildren, forwardRef, inject, ViewEncapsulation } from '@angular/core';\n\nimport { IndexTableRowCellHeaderComponent } from '../index-table-cell-header/index-table-cell-header.component';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from './index-table-head.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'thead[luIndexTableHead]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-head',\n\t\t'[attr.inert]': 'tableRef.empty() ? \"inert\" : null',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_HEAD_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableHeadComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableHeadComponent {\n\treadonly cols = contentChildren(IndexTableRowCellHeaderComponent, { descendants: true });\n\n\treadonly tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, contentChildren, ElementRef, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { luBooleanAttribute, luNumberAttribute } from '@lucca-front/ng/core';\nimport { FormFieldComponent } from '@lucca-front/ng/form-field';\nimport { CheckboxInputComponent } from '@lucca-front/ng/forms';\nimport { LuTooltipAnchorRef } from '@lucca-front/ng/tooltip';\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from '../index-table-body/index-table-body.token';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from '../index-table-foot/index-table-foot.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from '../index-table-head/index-table-head.token';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_ROW_INSTANCE } from './index-table-row.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tr[luIndexTableRow]',\n\tstandalone: true,\n\ttemplateUrl: './index-table-row.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row]': 'footRef !== null',\n\t\t'[class.mod-selectable]': 'tableRef.selectable()',\n\t\t'[class.mod-stack2]': 'stack() === 2',\n\t\t'[class.mod-stack3]': 'stack() === 3',\n\t},\n\timports: [CheckboxInputComponent, FormFieldComponent, FormsModule, NgTemplateOutlet],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_ROW_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowComponent implements LuTooltipAnchorRef {\n\treadonly #elementRef = inject<ElementRef<HTMLTableRowElement>>(ElementRef);\n\n\treadonly bodyRef = inject(LU_INDEX_TABLE_BODY_INSTANCE, { optional: true });\n\treadonly headRef = inject(LU_INDEX_TABLE_HEAD_INSTANCE, { optional: true });\n\treadonly footRef = inject(LU_INDEX_TABLE_FOOT_INSTANCE, { optional: true });\n\n\tpublic readonly cells = contentChildren(LU_INDEX_TABLE_CELL_INSTANCE);\n\n\tprotected tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\n\tgetElementRef(): ElementRef<HTMLTableRowElement> {\n\t\treturn this.#elementRef;\n\t}\n\n\treadonly selected = model<boolean>(false);\n\treadonly selectedLabel = input<string | null>(null);\n\treadonly disabled = input(false, { transform: luBooleanAttribute });\n\treadonly mixed = input(false, { transform: luBooleanAttribute });\n\treadonly stack = input(1, { transform: luNumberAttribute });\n}\n","@if (tableRef.selectable()) {\n\t@if (headRef) {\n\t\t<th class=\"indexTable-head-row-transparentCell\" scope=\"col\"><ng-container *ngTemplateOutlet=\"input\" /></th>\n\t} @else {\n\t\t<td [class.indexTable-body-row-transparentCell]=\"bodyRef !== null\" [class.indexTable-foot-row-transparentCell]=\"footRef !== null\">\n\t\t\t<ng-container *ngTemplateOutlet=\"input\" />\n\t\t</td>\n\t}\n}\n<ng-content />\n\n<ng-template #input>\n\t@if (!footRef && selectedLabel()) {\n\t\t<lu-form-field [label]=\"selectedLabel() ?? ''\" hiddenLabel>\n\t\t\t<lu-checkbox-input class=\"indexTable-head-row-cell-checkbox\" [(ngModel)]=\"selected\" [disabled]=\"disabled()\" [mixed]=\"mixed()\" />\n\t\t</lu-form-field>\n\t}\n</ng-template>\n","import { ChangeDetectionStrategy, Component, computed, contentChild, contentChildren, ElementRef, forwardRef, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute, ResponsiveConfig } from '@lucca-front/ng/core';\n\nimport { IndexTableHeadComponent } from './index-table-head/index-table-head.component';\nimport { IndexTableRowComponent } from './index-table-row/index-table-row.component';\nimport { LU_INDEX_TABLE_INSTANCE } from './index-table.token';\n\n@Component({\n\tselector: 'lu-index-table',\n\tstandalone: true,\n\ttemplateUrl: './index-table.component.html',\n\tstyleUrl: './index-table.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTableWrapper',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableComponent {\n\treadonly tableRef = viewChild<ElementRef<Element>>('tableRef');\n\n\treadonly selectable = input(false, { transform: luBooleanAttribute });\n\treadonly layoutFixed = input(false, { transform: luBooleanAttribute });\n\treadonly empty = input(false, { transform: luBooleanAttribute });\n\n\treadonly responsive = input<ResponsiveConfig<'layoutFixed', true>>({});\n\n\treadonly rows = contentChildren(IndexTableRowComponent, { descendants: true });\n\treadonly header = contentChild(IndexTableHeadComponent, { descendants: true });\n\n\treadonly cols = computed(() => this.header()?.cols());\n\n\treadonly classMods = computed(() => {\n\t\treturn {\n\t\t\tindexTable: true,\n\t\t\t['mod-selectable']: this.selectable(),\n\t\t\t['mod-layoutFixed']: this.layoutFixed(),\n\t\t\t...Object.entries(this.responsive()).reduce((acc, [key, value]) => {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[`mod-${key}`]: value,\n\t\t\t\t};\n\t\t\t}, {}),\n\t\t};\n\t});\n}\n","<table [class]=\"classMods()\" [attr.role]=\"empty() ? 'presentation' : null\" #tableRef>\n\t<ng-content />\n</table>\n<div class=\"indexTableWrapper-pagination\">\n\t<ng-content select=\"[indexTablePagination]\" />\n</div>\n","/**\n * Available IndexTableComponent types\n */\n\nexport const INDEX_TABLE_ALIGN = ['start', 'center', 'end'] as const;\nexport type IndexTableAlign = (typeof INDEX_TABLE_ALIGN)[number];\n\nexport const INDEX_TABLE_SORT = ['none', 'ascending', 'descending'] as const;\nexport type IndexTableSort = (typeof INDEX_TABLE_SORT)[number];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-index-table.mjs","sources":["../../../packages/ng/index-table/index-table-action-file/index-table-action-file.component.ts","../../../packages/ng/index-table/index-table-action/index-table-action.component.ts","../../../packages/ng/index-table/index-table.token.ts","../../../packages/ng/index-table/index-table-body/index-table-body.token.ts","../../../packages/ng/index-table/index-table-body/index-table-body.component.ts","../../../packages/ng/index-table/index-table-body/index-table-body.component.html","../../../packages/ng/index-table/index-table-foot/index-table-foot.token.ts","../../../packages/ng/index-table/index-table-head/index-table-head.token.ts","../../../packages/ng/index-table/index-table-row/index-table-row.token.ts","../../../packages/ng/index-table/base-index-table-cell.ts","../../../packages/ng/index-table/index-table-cell.token.ts","../../../packages/ng/index-table/index-table-cell-header/index-table-cell-header.component.ts","../../../packages/ng/index-table/index-table-cell-header/index-table-cell-header.component.html","../../../packages/ng/index-table/index-table-cell/index-table-cell.component.ts","../../../packages/ng/index-table/index-table-foot/index-table-foot.component.ts","../../../packages/ng/index-table/index-table-head/index-table-head.component.ts","../../../packages/ng/index-table/index-table-row/index-table-row.component.ts","../../../packages/ng/index-table/index-table-row/index-table-row.component.html","../../../packages/ng/index-table/index-table.component.ts","../../../packages/ng/index-table/index-table.component.html","../../../packages/ng/index-table/index-table.type.ts","../../../packages/ng/index-table/lucca-front-ng-index-table.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'input[luIndexTableAction]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body-row-cell-link, pr-u-mask',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableActionFileComponent {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'button[luIndexTableAction], a[luIndexTableAction], label[luIndexTableAction]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body-row-cell-link',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableActionComponent {}\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableComponent } from './index-table.component';\n\nexport const LU_INDEX_TABLE_INSTANCE = new InjectionToken<IndexTableComponent>('LU_INDEX_TABLE_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableBodyComponent } from './index-table-body.component';\n\nexport const LU_INDEX_TABLE_BODY_INSTANCE = new InjectionToken<IndexTableBodyComponent>('LU_INDEX_TABLE_BODY_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from './index-table-body.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tbody[luIndexTableBody]',\n\tstandalone: true,\n\ttemplateUrl: `./index-table-body.component.html`,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-body',\n\t},\n\timports: [ButtonComponent, IconComponent, PortalDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_BODY_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableBodyComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableBodyComponent {\n\treadonly group = input<PortalContent | null>(null);\n\treadonly groupButtonAlt = input<string | null>(null);\n\n\treadonly expanded = model(false);\n\n\texpandedToggle() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n\n\tprotected tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\n\treadonly colspan = computed(() => (this.tableRef.cols()?.length ?? 0) + (this.tableRef.selectable() ? 1 : 0));\n}\n","@if (group(); as group) {\n\t@if (groupButtonAlt(); as groupButtonAlt) {\n\t\t<tr class=\"indexTable-body-row mod-group\">\n\t\t\t<th scope=\"colgroup\" class=\"indexTable-body-row-transparentCell\" [attr.colspan]=\"colspan()\">\n\t\t\t\t<div class=\"indexTable-body-row-cellTitle\">\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclass=\"indexTable-body-row-cellTitle-button\"\n\t\t\t\t\t\tluButton\n\t\t\t\t\t\tdisclosure\n\t\t\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t\t\t(click)=\"expandedToggle()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" [alt]=\"groupButtonAlt\" />\n\t\t\t\t\t</button>\n\t\t\t\t\t<ng-container *luPortal=\"group\" />\n\t\t\t\t</div>\n\t\t\t</th>\n\t\t</tr>\n\t}\n}\n<ng-content />\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableFootComponent } from './index-table-foot.component';\n\nexport const LU_INDEX_TABLE_FOOT_INSTANCE = new InjectionToken<IndexTableFootComponent>('LU_INDEX_TABLE_FOOT_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableHeadComponent } from './index-table-head.component';\n\nexport const LU_INDEX_TABLE_HEAD_INSTANCE = new InjectionToken<IndexTableHeadComponent>('LU_INDEX_TABLE_HEAD_INSTANCE');\n","import { InjectionToken } from '@angular/core';\nimport { IndexTableRowComponent } from './index-table-row.component';\n\nexport const LU_INDEX_TABLE_ROW_INSTANCE = new InjectionToken<IndexTableRowComponent>('LU_INDEX_TABLE_ROW_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\n\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from './index-table-body/index-table-body.token';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from './index-table-foot/index-table-foot.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from './index-table-head/index-table-head.token';\nimport { LU_INDEX_TABLE_ROW_INSTANCE } from './index-table-row/index-table-row.token';\nimport { LU_INDEX_TABLE_INSTANCE } from './index-table.token';\nimport { IndexTableAlign } from './index-table.type';\n\n@Component({\n\tselector: 'lu-base-index-table-cell',\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport abstract class BaseIndexTableCell {\n\treadonly tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\treadonly bodyRef = inject(LU_INDEX_TABLE_BODY_INSTANCE, { optional: true });\n\treadonly headRef = inject(LU_INDEX_TABLE_HEAD_INSTANCE, { optional: true });\n\treadonly footRef = inject(LU_INDEX_TABLE_FOOT_INSTANCE, { optional: true });\n\treadonly rowRef = inject(LU_INDEX_TABLE_ROW_INSTANCE);\n\n\treadonly align = input<IndexTableAlign | null>(null);\n\n\treadonly alignCol = computed(() => {\n\t\treturn this.tableRef.header()?.cols()[this.position()].align();\n\t});\n\n\treadonly position = computed(() => {\n\t\treturn this.rowRef.cells().indexOf(this);\n\t});\n}\n","import { InjectionToken } from '@angular/core';\nimport { BaseIndexTableCell } from './base-index-table-cell';\n\nexport const LU_INDEX_TABLE_CELL_INSTANCE = new InjectionToken<BaseIndexTableCell>('LU_INDEX_TABLE_CELL_INSTANCE');\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, ElementRef, forwardRef, inject, input, model, viewChild, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { luBooleanAttribute, luNumberAttribute } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuTooltipTriggerDirective } from '@lucca-front/ng/tooltip';\nimport { BaseIndexTableCell } from '../base-index-table-cell';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\nimport { IndexTableSort } from '../index-table.type';\n\nconst SORT_VALUES = ['none', 'ascending', 'descending'] as const;\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'th[luIndexTableCell]',\n\tstandalone: true,\n\ttemplateUrl: './index-table-cell-header.component.html',\n\tstyleUrl: './index-table-cell-header.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[attr.aria-sort]': 'sort()',\n\t\t'[attr.scope]': 'bodyRef !== null ? \"row\" : \"col\"',\n\t\t'[class.mod-selectable]': 'selectable()',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[style.--components-indexTable-cell-fixed-width]': 'inlineSize() !== 0 ? inlineSize() : null',\n\t},\n\timports: [NgTemplateOutlet, ButtonComponent, IconComponent, FormsModule, LuTooltipTriggerDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowCellHeaderComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {\n\treadonly elementRef = inject<ElementRef<HTMLTableCellElement>>(ElementRef);\n\n\treadonly sort = model<IndexTableSort | null>(null);\n\treadonly selectable = input(false, { transform: luBooleanAttribute });\n\treadonly hiddenLabel = input(false, { transform: luBooleanAttribute });\n\treadonly actions = input(false, { transform: luBooleanAttribute });\n\treadonly inlineSize = input(0, { transform: luNumberAttribute });\n\treadonly sortWithEllipsis = input(false, { transform: luBooleanAttribute });\n\n\t// #sortButton hosts the luButton component, so the template ref resolves to that component\n\t// instance rather than the native element — read it explicitly as an ElementRef instead.\n\tprotected readonly sortButtonRef = viewChild<unknown, ElementRef<HTMLElement>>('sortButton', { read: ElementRef });\n\n\ttoggleSort(): void {\n\t\tif (this.sort()) {\n\t\t\tthis.sort.set(SORT_VALUES[(SORT_VALUES.indexOf(this.sort() ?? 'none') + 1) % SORT_VALUES.length]);\n\t\t}\n\t}\n}\n","@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" [class.mod-ellipsis]=\"sortWithEllipsis()\" (click)=\"toggleSort()\" #sortButton>\n\t\t<span\n\t\t\tclass=\"tableSortable-label\"\n\t\t\t[luTooltipDisabled]=\"!sortWithEllipsis()\"\n\t\t\tluTooltip\n\t\t\tluTooltipWhenEllipsis\n\t\t\t[luTooltipTriggerAnchor]=\"sortButtonRef()\"\n\t\t\t><ng-container *ngTemplateOutlet=\"contentTpl\"\n\t\t/></span>\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl>\n\t@if (hiddenLabel() || actions()) {\n\t\t<span class=\"pr-u-mask\"><ng-container *ngTemplateOutlet=\"content\" /></span>\n\t} @else {\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t}\n</ng-template>\n\n<ng-template #content><ng-content /></ng-template>\n","import { ChangeDetectionStrategy, Component, computed, forwardRef, input, ViewEncapsulation } from '@angular/core';\n\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { BaseIndexTableCell } from '../base-index-table-cell';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'td[luIndexTableCell]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row-cell]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row-cell]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row-cell]': 'footRef !== null',\n\t\t'[class.mod-alignStart]': 'align() === \"start\" || alignCol() === \"start\"',\n\t\t'[class.mod-alignCenter]': 'align() === \"center\" || alignCol() === \"center\"',\n\t\t'[class.mod-alignEnd]': 'align() === \"end\" || alignCol() === \"end\"',\n\t\t'[class.mod-actions]': 'actions()',\n\t\t'[class.mod-allowTextSelection]': 'allowTextSelection()',\n\t\t'[class.mod-tfoot]': 'tfoot()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_CELL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowCellComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowCellComponent extends BaseIndexTableCell {\n\treadonly allowTextSelection = input(false, { transform: luBooleanAttribute });\n\treadonly tfoot = input(false, { transform: luBooleanAttribute });\n\n\treadonly actions = computed(() => {\n\t\treturn this.tableRef.header()?.cols()[this.position()].actions();\n\t});\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from './index-table-foot.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tfoot[luIndexTableFoot]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-foot',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_FOOT_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableFootComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableFootComponent {}\n","import { ChangeDetectionStrategy, Component, contentChildren, forwardRef, inject, ViewEncapsulation } from '@angular/core';\n\nimport { IndexTableRowCellHeaderComponent } from '../index-table-cell-header/index-table-cell-header.component';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from './index-table-head.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'thead[luIndexTableHead]',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTable-head',\n\t\t'[attr.inert]': 'tableRef.empty() ? \"inert\" : null',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_HEAD_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableHeadComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableHeadComponent {\n\treadonly cols = contentChildren(IndexTableRowCellHeaderComponent, { descendants: true });\n\n\treadonly tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, contentChildren, ElementRef, forwardRef, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { luBooleanAttribute, luNumberAttribute } from '@lucca-front/ng/core';\nimport { FormFieldComponent } from '@lucca-front/ng/form-field';\nimport { CheckboxInputComponent } from '@lucca-front/ng/forms';\nimport { LuTooltipAnchorRef } from '@lucca-front/ng/tooltip';\nimport { LU_INDEX_TABLE_BODY_INSTANCE } from '../index-table-body/index-table-body.token';\nimport { LU_INDEX_TABLE_CELL_INSTANCE } from '../index-table-cell.token';\nimport { LU_INDEX_TABLE_FOOT_INSTANCE } from '../index-table-foot/index-table-foot.token';\nimport { LU_INDEX_TABLE_HEAD_INSTANCE } from '../index-table-head/index-table-head.token';\nimport { LU_INDEX_TABLE_INSTANCE } from '../index-table.token';\nimport { LU_INDEX_TABLE_ROW_INSTANCE } from './index-table-row.token';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'tr[luIndexTableRow]',\n\tstandalone: true,\n\ttemplateUrl: './index-table-row.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\t'[class.indexTable-body-row]': 'bodyRef !== null',\n\t\t'[class.indexTable-head-row]': 'headRef !== null',\n\t\t'[class.indexTable-foot-row]': 'footRef !== null',\n\t\t'[class.mod-selectable]': 'tableRef.selectable()',\n\t\t'[class.mod-stack2]': 'stack() === 2',\n\t\t'[class.mod-stack3]': 'stack() === 3',\n\t},\n\timports: [CheckboxInputComponent, FormFieldComponent, FormsModule, NgTemplateOutlet],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_ROW_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableRowComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableRowComponent implements LuTooltipAnchorRef {\n\treadonly #elementRef = inject<ElementRef<HTMLTableRowElement>>(ElementRef);\n\n\treadonly bodyRef = inject(LU_INDEX_TABLE_BODY_INSTANCE, { optional: true });\n\treadonly headRef = inject(LU_INDEX_TABLE_HEAD_INSTANCE, { optional: true });\n\treadonly footRef = inject(LU_INDEX_TABLE_FOOT_INSTANCE, { optional: true });\n\n\tpublic readonly cells = contentChildren(LU_INDEX_TABLE_CELL_INSTANCE);\n\n\tprotected tableRef = inject(LU_INDEX_TABLE_INSTANCE);\n\n\tgetElementRef(): ElementRef<HTMLTableRowElement> {\n\t\treturn this.#elementRef;\n\t}\n\n\treadonly selected = model<boolean>(false);\n\treadonly selectedLabel = input<string | null>(null);\n\treadonly disabled = input(false, { transform: luBooleanAttribute });\n\treadonly mixed = input(false, { transform: luBooleanAttribute });\n\treadonly stack = input(1, { transform: luNumberAttribute });\n}\n","@if (tableRef.selectable()) {\n\t@if (headRef) {\n\t\t<th class=\"indexTable-head-row-transparentCell\" scope=\"col\"><ng-container *ngTemplateOutlet=\"input\" /></th>\n\t} @else {\n\t\t<td [class.indexTable-body-row-transparentCell]=\"bodyRef !== null\" [class.indexTable-foot-row-transparentCell]=\"footRef !== null\">\n\t\t\t<ng-container *ngTemplateOutlet=\"input\" />\n\t\t</td>\n\t}\n}\n<ng-content />\n\n<ng-template #input>\n\t@if (!footRef && selectedLabel()) {\n\t\t<lu-form-field [label]=\"selectedLabel() ?? ''\" hiddenLabel>\n\t\t\t<lu-checkbox-input class=\"indexTable-head-row-cell-checkbox\" [(ngModel)]=\"selected\" [disabled]=\"disabled()\" [mixed]=\"mixed()\" />\n\t\t</lu-form-field>\n\t}\n</ng-template>\n","import { ChangeDetectionStrategy, Component, computed, contentChild, contentChildren, ElementRef, forwardRef, input, viewChild, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute, ResponsiveConfig } from '@lucca-front/ng/core';\n\nimport { IndexTableHeadComponent } from './index-table-head/index-table-head.component';\nimport { IndexTableRowComponent } from './index-table-row/index-table-row.component';\nimport { LU_INDEX_TABLE_INSTANCE } from './index-table.token';\n\n@Component({\n\tselector: 'lu-index-table',\n\tstandalone: true,\n\ttemplateUrl: './index-table.component.html',\n\tstyleUrl: './index-table.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'indexTableWrapper',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_INDEX_TABLE_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => IndexTableComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class IndexTableComponent {\n\treadonly tableRef = viewChild<ElementRef<Element>>('tableRef');\n\n\treadonly selectable = input(false, { transform: luBooleanAttribute });\n\treadonly layoutFixed = input(false, { transform: luBooleanAttribute });\n\treadonly empty = input(false, { transform: luBooleanAttribute });\n\n\treadonly responsive = input<ResponsiveConfig<'layoutFixed', true>>({});\n\n\treadonly rows = contentChildren(IndexTableRowComponent, { descendants: true });\n\treadonly header = contentChild(IndexTableHeadComponent, { descendants: true });\n\n\treadonly cols = computed(() => this.header()?.cols());\n\n\treadonly classMods = computed(() => {\n\t\treturn {\n\t\t\tindexTable: true,\n\t\t\t['mod-selectable']: this.selectable(),\n\t\t\t['mod-layoutFixed']: this.layoutFixed(),\n\t\t\t...Object.entries(this.responsive()).reduce((acc, [key, value]) => {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[`mod-${key}`]: value,\n\t\t\t\t};\n\t\t\t}, {}),\n\t\t};\n\t});\n}\n","<table [class]=\"classMods()\" [attr.role]=\"empty() ? 'presentation' : null\" #tableRef>\n\t<ng-content />\n</table>\n<div class=\"indexTableWrapper-pagination\">\n\t<ng-content select=\"[indexTablePagination]\" />\n</div>\n","/**\n * Available IndexTableComponent types\n */\n\nexport const INDEX_TABLE_ALIGN = ['start', 'center', 'end'] as const;\nexport type IndexTableAlign = (typeof INDEX_TABLE_ALIGN)[number];\n\nexport const INDEX_TABLE_SORT = ['none', 'ascending', 'descending'] as const;\nexport type IndexTableSort = (typeof INDEX_TABLE_SORT)[number];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;MAYa,6BAA6B,CAAA;8GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,2JAP/B,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAOd,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAVzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEV,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACL,wBAAA,KAAK,EAAE,0CAA0C;AACjD,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,iBAAA;;;MCCY,yBAAyB,CAAA;8GAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,mMAP3B,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAOd,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEV,oBAAA,QAAQ,EAAE,8EAA8E;AACxF,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACL,wBAAA,KAAK,EAAE,+BAA+B;AACtC,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,iBAAA;;;MCRY,uBAAuB,GAAG,IAAI,cAAc,CAAsB,yBAAyB;;ACAjG,MAAM,4BAA4B,GAAG,IAAI,cAAc,CAA0B,8BAA8B,CAAC;;MCsB1G,uBAAuB,CAAA;AAlBpC,IAAA,WAAA,GAAA;QAmBU,IAAA,CAAA,KAAK,GAAG,KAAK,CAAuB,IAAI;kFAAC;QACzC,IAAA,CAAA,cAAc,GAAG,KAAK,CAAgB,IAAI;2FAAC;QAE3C,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK;qFAAC;AAMtB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,uBAAuB,CAAC;AAE3C,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;oFAAC;AAC7G,IAAA;IAPA,cAAc,GAAA;QACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACpC;8GARY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EARxB;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtBF,ovBAsBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDNW,eAAe,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,6GAAE,eAAe,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAS7C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAlBnC,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,cACvB,IAAI,EAAA,aAAA,EAED,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,KAAK,EAAE,iBAAiB;AACxB,qBAAA,EAAA,OAAA,EACQ,CAAC,eAAe,EAAE,aAAa,EAAE,eAAe,CAAC,EAAA,SAAA,EAC/C;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,yBAAA;qBACD,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ovBAAA,EAAA;;;AEpBzC,MAAM,4BAA4B,GAAG,IAAI,cAAc,CAA0B,8BAA8B,CAAC;;ACAhH,MAAM,4BAA4B,GAAG,IAAI,cAAc,CAA0B,8BAA8B,CAAC;;ACAhH,MAAM,2BAA2B,GAAG,IAAI,cAAc,CAAyB,6BAA6B,CAAC;;MCW9F,kBAAkB,CAAA;AALxC,IAAA,WAAA,GAAA;AAMU,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,uBAAuB,CAAC;QAC1C,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClE,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClE,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAClE,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,2BAA2B,CAAC;QAE5C,IAAA,CAAA,KAAK,GAAG,KAAK,CAAyB,IAAI;kFAAC;AAE3C,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;AACjC,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE;QAC/D,CAAC;qFAAC;AAEO,QAAA,IAAA,CAAA,QAAQ,GAAG,QAAQ,CAAC,MAAK;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACzC,CAAC;qFAAC;AACF,IAAA;8GAhBqB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,wNAH7B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGS,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,iBAAA;;;ACVM,MAAM,4BAA4B,GAAG,IAAI,cAAc,CAAqB,8BAA8B,CAAC;;ACQlH,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAU;AA+B1D,MAAO,gCAAiC,SAAQ,kBAAkB,CAAA;AA7BxE,IAAA,WAAA,GAAA;;AA8BU,QAAA,IAAA,CAAA,UAAU,GAAG,MAAM,CAAmC,UAAU,CAAC;QAEjE,IAAA,CAAA,IAAI,GAAG,KAAK,CAAwB,IAAI;iFAAC;QACzC,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,kFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QAC5D,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QAC7D,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,KAAK,+EAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QACzD,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,CAAC,kFAAI,SAAS,EAAE,iBAAiB,EAAA,CAAG;QACvD,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAC,KAAK,wFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;;;QAIxD,IAAA,CAAA,aAAa,GAAG,SAAS,CAAmC,YAAY,qFAAI,IAAI,EAAE,UAAU,EAAA,CAAG;AAOlH,IAAA;IALA,UAAU,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,CAAC;QAClG;IACD;8GAlBY,gCAAgC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,IAAA,EAAA,YAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,mDAAA,EAAA,uBAAA,EAAA,qDAAA,EAAA,oBAAA,EAAA,+CAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,YAAA,EAAA,sCAAA,EAAA,sBAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,gDAAA,EAAA,0CAAA,EAAA,EAAA,EAAA,SAAA,EARjC;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,gCAAgC,CAAC;AAC/D,aAAA;AACD,SAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAeoG,UAAU,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECtDhH,2/BA4BA,EAAA,MAAA,EAAA,CAAA,uvIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDKW,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,8FAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,YAAA,EAAA,SAAA,EAAA,OAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,aAAa,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,EAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,yBAAyB,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,yBAAA,EAAA,yBAAA,EAAA,mBAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,wBAAA,EAAA,wBAAA,EAAA,IAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAStF,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBA7B5C,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,sBAAsB,cACpB,IAAI,EAAA,aAAA,EAGD,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,kCAAkC,EAAE,kBAAkB;AACtD,wBAAA,kCAAkC,EAAE,kBAAkB;AACtD,wBAAA,kCAAkC,EAAE,kBAAkB;AACtD,wBAAA,wBAAwB,EAAE,+CAA+C;AACzE,wBAAA,yBAAyB,EAAE,iDAAiD;AAC5E,wBAAA,sBAAsB,EAAE,2CAA2C;AACnE,wBAAA,kBAAkB,EAAE,QAAQ;AAC5B,wBAAA,cAAc,EAAE,kCAAkC;AAClD,wBAAA,wBAAwB,EAAE,cAAc;AACxC,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,kDAAkD,EAAE,0CAA0C;qBAC9F,EAAA,OAAA,EACQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,yBAAyB,CAAC,EAAA,SAAA,EACxF;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,WAAW,EAAE,UAAU,CAAC,sCAAsC,CAAC;AAC/D,yBAAA;qBACD,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,2/BAAA,EAAA,MAAA,EAAA,CAAA,uvIAAA,CAAA,EAAA;AAcgC,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,YAAY,EAAA,EAAA,GAAE,EAAE,IAAI,EAAE,UAAU,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEvB5G,MAAO,0BAA2B,SAAQ,kBAAkB,CAAA;AAzBlE,IAAA,WAAA,GAAA;;QA0BU,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,KAAK,0FAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QACpE,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,KAAK,6EAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;AAEvD,QAAA,IAAA,CAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AAChC,YAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;QACjE,CAAC;oFAAC;AACF,IAAA;8GAPY,0BAA0B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,gCAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,mDAAA,EAAA,uBAAA,EAAA,qDAAA,EAAA,oBAAA,EAAA,+CAAA,EAAA,mBAAA,EAAA,WAAA,EAAA,8BAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,EAAA,EAAA,SAAA,EAR3B;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,0BAA0B,CAAC;AACzD,aAAA;AACD,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlBS,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAqBd,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAzBtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEV,oBAAA,QAAQ,EAAE,sBAAsB;AAChC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACL,wBAAA,kCAAkC,EAAE,kBAAkB;AACtD,wBAAA,kCAAkC,EAAE,kBAAkB;AACtD,wBAAA,kCAAkC,EAAE,kBAAkB;AACtD,wBAAA,wBAAwB,EAAE,+CAA+C;AACzE,wBAAA,yBAAyB,EAAE,iDAAiD;AAC5E,wBAAA,sBAAsB,EAAE,2CAA2C;AACnE,wBAAA,qBAAqB,EAAE,WAAW;AAClC,wBAAA,gCAAgC,EAAE,sBAAsB;AACxD,wBAAA,mBAAmB,EAAE,SAAS;AAC9B,qBAAA;AACD,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,WAAW,EAAE,UAAU,CAAC,gCAAgC,CAAC;AACzD,yBAAA;AACD,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,iBAAA;;;MCVY,uBAAuB,CAAA;8GAAvB,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EARxB;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAVS,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAad,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAjBnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEV,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACL,wBAAA,KAAK,EAAE,iBAAiB;AACxB,qBAAA;AACD,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,yBAAA;AACD,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,iBAAA;;;MCKY,uBAAuB,CAAA;AAlBpC,IAAA,WAAA,GAAA;QAmBU,IAAA,CAAA,IAAI,GAAG,eAAe,CAAC,gCAAgC,4EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AAE/E,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,uBAAuB,CAAC;AACnD,IAAA;8GAJY,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,YAAA,EAAA,qCAAA,EAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,EAAA,SAAA,EARxB;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,4BAA4B;AACrC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,uBAAuB,CAAC;AACtD,aAAA;SACD,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAI+B,gCAAgC,gEAftD,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAcd,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAlBnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;;AAEV,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,IAAI,EAAE;AACL,wBAAA,KAAK,EAAE,iBAAiB;AACxB,wBAAA,cAAc,EAAE,mCAAmC;AACnD,qBAAA;AACD,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,4BAA4B;AACrC,4BAAA,WAAW,EAAE,UAAU,CAAC,6BAA6B,CAAC;AACtD,yBAAA;AACD,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,iBAAA;AAEgC,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,gCAAgC,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MCY3E,sBAAsB,CAAA;AAvBnC,IAAA,WAAA,GAAA;AAwBU,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAkC,UAAU,CAAC;QAEjE,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClE,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAClE,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,4BAA4B,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAE3D,IAAA,CAAA,KAAK,GAAG,eAAe,CAAC,4BAA4B;kFAAC;AAE3D,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,uBAAuB,CAAC;QAM3C,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK;qFAAC;QAChC,IAAA,CAAA,aAAa,GAAG,KAAK,CAAgB,IAAI;0FAAC;QAC1C,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,gFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QAC1D,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,KAAK,6EAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QACvD,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,CAAC,6EAAI,SAAS,EAAE,iBAAiB,EAAA,CAAG;AAC3D,IAAA;AAnBS,IAAA,WAAW;IAUpB,aAAa,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW;IACxB;8GAbY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,2BAAA,EAAA,kBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,SAAA,EARvB;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,2BAA2B;AACpC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAsB,CAAC;AACrD,aAAA;SACD,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAUuC,4BAA4B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5CrE,wtBAkBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDUW,sBAAsB,8FAAE,kBAAkB,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,eAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,eAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,SAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,6BAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FASvE,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAvBlC,SAAS;AAEC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,qBAAqB,cACnB,IAAI,EAAA,aAAA,EAED,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,6BAA6B,EAAE,kBAAkB;AACjD,wBAAA,6BAA6B,EAAE,kBAAkB;AACjD,wBAAA,6BAA6B,EAAE,kBAAkB;AACjD,wBAAA,wBAAwB,EAAE,uBAAuB;AACjD,wBAAA,oBAAoB,EAAE,eAAe;AACrC,wBAAA,oBAAoB,EAAE,eAAe;qBACrC,EAAA,OAAA,EACQ,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,WAAW,EAAE,gBAAgB,CAAC,EAAA,SAAA,EACzE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,2BAA2B;AACpC,4BAAA,WAAW,EAAE,UAAU,CAAC,4BAA4B,CAAC;AACrD,yBAAA;qBACD,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,wtBAAA,EAAA;6FASP,4BAA4B,CAAA,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;MEpBxD,mBAAmB,CAAA;AAjBhC,IAAA,WAAA,GAAA;QAkBU,IAAA,CAAA,QAAQ,GAAG,SAAS,CAAsB,UAAU;qFAAC;QAErD,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,kFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QAC5D,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,KAAK,mFAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QAC7D,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,KAAK,6EAAI,SAAS,EAAE,kBAAkB,EAAA,CAAG;QAEvD,IAAA,CAAA,UAAU,GAAG,KAAK,CAAwC,EAAE;uFAAC;QAE7D,IAAA,CAAA,IAAI,GAAG,eAAe,CAAC,sBAAsB,4EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;QACrE,IAAA,CAAA,MAAM,GAAG,YAAY,CAAC,uBAAuB,8EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;AAErE,QAAA,IAAA,CAAA,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE;iFAAC;AAE5C,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;YAClC,OAAO;AACN,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,CAAC,gBAAgB,GAAG,IAAI,CAAC,UAAU,EAAE;AACrC,gBAAA,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,EAAE;gBACvC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;oBACjE,OAAO;AACN,wBAAA,GAAG,GAAG;AACN,wBAAA,CAAC,CAAA,IAAA,EAAO,GAAG,CAAA,CAAE,GAAG,KAAK;qBACrB;gBACF,CAAC,EAAE,EAAE,CAAC;aACN;QACF,CAAC;sFAAC;AACF,IAAA;8GA3BY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,SAAA,EARpB;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,uBAAuB;AAChC,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAClD,aAAA;AACD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,MAAA,EAAA,SAAA,EAY+B,sBAAsB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACvB,uBAAuB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,UAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,UAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EClCvD,mOAMA,EAAA,MAAA,EAAA,CAAA,612CAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDkBa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAjB/B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,cACd,IAAI,EAAA,aAAA,EAGD,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,KAAK,EAAE,mBAAmB;qBAC1B,EAAA,SAAA,EACU;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,uBAAuB;AAChC,4BAAA,WAAW,EAAE,UAAU,CAAC,yBAAyB,CAAC;AAClD,yBAAA;qBACD,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,mOAAA,EAAA,MAAA,EAAA,CAAA,612CAAA,CAAA,EAAA;AAGI,SAAA,CAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,CAAA,UAAU,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,aAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAQ7B,sBAAsB,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAC9C,uBAAuB,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AElC9E;;AAEG;AAEI,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK;AAGnD,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY;;ACPlE;;AAEG;;"}
|
|
@@ -45,7 +45,7 @@ class InlineMessageComponent {
|
|
|
45
45
|
return typeof message === 'string';
|
|
46
46
|
}
|
|
47
47
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InlineMessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InlineMessageComponent, isStandalone: true, selector: "lu-inline-message", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, withTooltip: { classPropertyName: "withTooltip", publicName: "withTooltip", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "inlineMessage" }, providers: [LuClass], ngImport: i0, template: "@if (state() && state() !== \"default\") {\n\t<span class=\"lucca-icon inlineMessage-statusIcon\" aria-hidden=\"true\"></span>\n}\n@if (isStringPortalContent(label())) {\n\t<p\n\t\tclass=\"inlineMessage-content\"\n\t\t[class.pr-u-ellipsis]=\"withTooltip()\"\n\t\tluTooltip\n\t\tluTooltipWhenEllipsis\n\t\t[luTooltipDisabled]=\"!withTooltip()\"\n\t>\n\t\t{{ label() }}\n\t</p>\n} @else {\n\t<div class=\"inlineMessage-content\"><ng-container *luPortal=\"label()\" /></div>\n}\n", styles: ["@layer components{.inlineMessage{--components-inlineMessage-font: var(--pr-t-font-body-S);--components-inlineMessage-color: var(--pr-t-color-text-subtle);--components-inlineMessage-icon-color: var(--pr-t-color-text-subtle);display:flex;gap:var(--components-inlineMessage-gap);grid-column:2;font:var(--components-inlineMessage-font);color:var(--components-inlineMessage-color);border-radius:var(--pr-t-border-radius-50)}.inlineMessage:has(.inlineMessage-content:focus-visible){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.inlineMessage-content:not(p){display:flex;gap:var(--components-inlineMessage-gap);margin:0}.inlineMessage-content:is(p){outline:none}.inlineMessage-statusIcon,.inlineMessage>.lucca-icon:first-child{--icon-size: 1rem;color:var(--components-inlineMessage-icon-color);margin-block-start:2px}}@layer mods{.inlineMessage.mod-S{--components-inlineMessage-font: var(--pr-t-font-body-XS)}.inlineMessage.mod-S .inlineMessage-statusIcon,.inlineMessage.mod-S>.lucca-icon:first-child{--icon-size: .75rem}.inlineMessage.is-success{--components-inlineMessage-icon-color: var(--palettes-success-700);--components-inlineMessage-gap: var(--pr-t-spacings-50)}.inlineMessage.is-success .inlineMessage-statusIcon:before,.inlineMessage.is-success>.lucca-icon:first-child:before{content:\"\\e9ed\"/\"\"}.inlineMessage.is-warning{--components-inlineMessage-icon-color: var(--palettes-warning-700);--components-inlineMessage-gap: var(--pr-t-spacings-50)}.inlineMessage.is-warning .inlineMessage-statusIcon:before,.inlineMessage.is-warning>.lucca-icon:first-child:before{content:\"\\e992\"/\"\"}.inlineMessage.is-error{--components-inlineMessage-icon-color: var(--palettes-error-700);--components-inlineMessage-color: var(--palettes-error-700);--components-inlineMessage-gap: var(--pr-t-spacings-50)}.inlineMessage.is-error .inlineMessage-statusIcon:before,.inlineMessage.is-error>.lucca-icon:first-child:before{content:\"\\e92c\"/\"\"}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip],[prTooltip]", inputs: ["luTooltip", "prTooltip", "luTooltipEnterDelay", "prTooltipEnterDelay", "luTooltipLeaveDelay", "prTooltipLeaveDelay", "luTooltipDisabled", "prTooltipDisabled", "luTooltipOnlyForDisplay", "prTooltipOnlyForDisplay", "luTooltipPosition", "prTooltipPosition", "luTooltipWhenEllipsis", "prTooltipWhenEllipsis", "luTooltipAnchor", "prTooltipAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
48
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: InlineMessageComponent, isStandalone: true, selector: "lu-inline-message", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, withTooltip: { classPropertyName: "withTooltip", publicName: "withTooltip", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "inlineMessage" }, providers: [LuClass], ngImport: i0, template: "@if (state() && state() !== \"default\") {\n\t<span class=\"lucca-icon inlineMessage-statusIcon\" aria-hidden=\"true\"></span>\n}\n@if (isStringPortalContent(label())) {\n\t<p\n\t\tclass=\"inlineMessage-content\"\n\t\t[class.pr-u-ellipsis]=\"withTooltip()\"\n\t\tluTooltip\n\t\tluTooltipWhenEllipsis\n\t\t[luTooltipDisabled]=\"!withTooltip()\"\n\t>\n\t\t{{ label() }}\n\t</p>\n} @else {\n\t<div class=\"inlineMessage-content\"><ng-container *luPortal=\"label()\" /></div>\n}\n", styles: ["@layer components{.inlineMessage{--components-inlineMessage-font: var(--pr-t-font-body-S);--components-inlineMessage-color: var(--pr-t-color-text-subtle);--components-inlineMessage-icon-color: var(--pr-t-color-text-subtle);display:flex;gap:var(--components-inlineMessage-gap);grid-column:2;font:var(--components-inlineMessage-font);color:var(--components-inlineMessage-color);border-radius:var(--pr-t-border-radius-50)}.inlineMessage:has(.inlineMessage-content:focus-visible){outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.inlineMessage-content:not(p){display:flex;gap:var(--components-inlineMessage-gap);margin:0}.inlineMessage-content:is(p){outline:none}.inlineMessage-statusIcon,.inlineMessage>.lucca-icon:first-child{--icon-size: 1rem;color:var(--components-inlineMessage-icon-color);margin-block-start:2px}}@layer mods{.inlineMessage.mod-S{--components-inlineMessage-font: var(--pr-t-font-body-XS)}.inlineMessage.mod-S .inlineMessage-statusIcon,.inlineMessage.mod-S>.lucca-icon:first-child{--icon-size: .75rem}.inlineMessage.is-success{--components-inlineMessage-icon-color: var(--palettes-success-700);--components-inlineMessage-gap: var(--pr-t-spacings-50)}.inlineMessage.is-success .inlineMessage-statusIcon:before,.inlineMessage.is-success>.lucca-icon:first-child:before{content:\"\\e9ed\"/\"\"}.inlineMessage.is-warning{--components-inlineMessage-icon-color: var(--palettes-warning-700);--components-inlineMessage-gap: var(--pr-t-spacings-50)}.inlineMessage.is-warning .inlineMessage-statusIcon:before,.inlineMessage.is-warning>.lucca-icon:first-child:before{content:\"\\e992\"/\"\"}.inlineMessage.is-error{--components-inlineMessage-icon-color: var(--palettes-error-700);--components-inlineMessage-color: var(--palettes-error-700);--components-inlineMessage-gap: var(--pr-t-spacings-50)}.inlineMessage.is-error .inlineMessage-statusIcon:before,.inlineMessage.is-error>.lucca-icon:first-child:before{content:\"\\e92c\"/\"\"}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "ngmodule", type: LuTooltipModule }, { kind: "directive", type: i1.LuTooltipTriggerDirective, selector: "[luTooltip],[prTooltip]", inputs: ["luTooltip", "prTooltip", "luTooltipEnterDelay", "prTooltipEnterDelay", "luTooltipLeaveDelay", "prTooltipLeaveDelay", "luTooltipDisabled", "prTooltipDisabled", "luTooltipOnlyForDisplay", "prTooltipOnlyForDisplay", "luTooltipPosition", "prTooltipPosition", "luTooltipWhenEllipsis", "prTooltipWhenEllipsis", "luTooltipAnchor", "prTooltipAnchor", "luTooltipTriggerAnchor", "prTooltipTriggerAnchor", "id"], exportAs: ["luTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
49
49
|
}
|
|
50
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: InlineMessageComponent, decorators: [{
|
|
51
51
|
type: Component,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-inline-message.mjs","sources":["../../../packages/ng/inline-message/inline-message-state.ts","../../../packages/ng/inline-message/inline-message.type.ts","../../../packages/ng/inline-message/inline-message.component.ts","../../../packages/ng/inline-message/inline-message.component.html","../../../packages/ng/inline-message/lucca-front-ng-inline-message.ts"],"sourcesContent":["export const INLINE_MESSAGE_STATE = ['success', 'warning', 'error', 'default'] as const;\nexport type InlineMessageState = (typeof INLINE_MESSAGE_STATE)[number];\n","/**\n * Available InlineMessageComponent Types\n */\n\nexport const INLINE_MESSAGE_SIZE = ['S', 'M'] as const;\nexport type InlineMessageSize = (typeof INLINE_MESSAGE_SIZE)[number];\n","import { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute, LuClass, PortalContent, PortalDirective, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { InlineMessageState } from './inline-message-state';\nimport { InlineMessageSize } from './inline-message.type';\n\n@Component({\n\tselector: 'lu-inline-message',\n\timports: [PortalDirective, LuTooltipModule],\n\tproviders: [LuClass],\n\ttemplateUrl: './inline-message.component.html',\n\tstyleUrl: './inline-message.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'inlineMessage',\n\t},\n})\nexport class InlineMessageComponent {\n\t#luClass = inject(LuClass);\n\n\t/**\n\t * The title of the inline message\n\t */\n\treadonly label = input.required<PortalContent>();\n\n\t/**\n\t * Inline message state\n\t */\n\treadonly state = input<InlineMessageState>();\n\n\t/**\n\t * Which size should the inline message be? Default, medium or small\n\t */\n\treadonly size = input<InlineMessageSize>();\n\n\t/**\n\t * Defines whether a tooltip is used in the inline message component\n\t */\n\treadonly withTooltip = input(false, { transform: luBooleanAttribute });\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.size, this.state], (size, state) => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${size}`]: !!size,\n\t\t\t\t[`is-${state}`]: !!state,\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic isStringPortalContent(message: PortalContent): message is string {\n\t\treturn typeof message === 'string';\n\t}\n}\n","@if (state() && state() !== \"default\") {\n\t<span class=\"lucca-icon inlineMessage-statusIcon\" aria-hidden=\"true\"></span>\n}\n@if (isStringPortalContent(label())) {\n\t<p\n\t\tclass=\"inlineMessage-content\"\n\t\t[class.pr-u-ellipsis]=\"withTooltip()\"\n\t\tluTooltip\n\t\tluTooltipWhenEllipsis\n\t\t[luTooltipDisabled]=\"!withTooltip()\"\n\t>\n\t\t{{ label() }}\n\t</p>\n} @else {\n\t<div class=\"inlineMessage-content\"><ng-container *luPortal=\"label()\" /></div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-inline-message.mjs","sources":["../../../packages/ng/inline-message/inline-message-state.ts","../../../packages/ng/inline-message/inline-message.type.ts","../../../packages/ng/inline-message/inline-message.component.ts","../../../packages/ng/inline-message/inline-message.component.html","../../../packages/ng/inline-message/lucca-front-ng-inline-message.ts"],"sourcesContent":["export const INLINE_MESSAGE_STATE = ['success', 'warning', 'error', 'default'] as const;\nexport type InlineMessageState = (typeof INLINE_MESSAGE_STATE)[number];\n","/**\n * Available InlineMessageComponent Types\n */\n\nexport const INLINE_MESSAGE_SIZE = ['S', 'M'] as const;\nexport type InlineMessageSize = (typeof INLINE_MESSAGE_SIZE)[number];\n","import { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { luBooleanAttribute, LuClass, PortalContent, PortalDirective, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { InlineMessageState } from './inline-message-state';\nimport { InlineMessageSize } from './inline-message.type';\n\n@Component({\n\tselector: 'lu-inline-message',\n\timports: [PortalDirective, LuTooltipModule],\n\tproviders: [LuClass],\n\ttemplateUrl: './inline-message.component.html',\n\tstyleUrl: './inline-message.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'inlineMessage',\n\t},\n})\nexport class InlineMessageComponent {\n\t#luClass = inject(LuClass);\n\n\t/**\n\t * The title of the inline message\n\t */\n\treadonly label = input.required<PortalContent>();\n\n\t/**\n\t * Inline message state\n\t */\n\treadonly state = input<InlineMessageState>();\n\n\t/**\n\t * Which size should the inline message be? Default, medium or small\n\t */\n\treadonly size = input<InlineMessageSize>();\n\n\t/**\n\t * Defines whether a tooltip is used in the inline message component\n\t */\n\treadonly withTooltip = input(false, { transform: luBooleanAttribute });\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.size, this.state], (size, state) => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${size}`]: !!size,\n\t\t\t\t[`is-${state}`]: !!state,\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic isStringPortalContent(message: PortalContent): message is string {\n\t\treturn typeof message === 'string';\n\t}\n}\n","@if (state() && state() !== \"default\") {\n\t<span class=\"lucca-icon inlineMessage-statusIcon\" aria-hidden=\"true\"></span>\n}\n@if (isStringPortalContent(label())) {\n\t<p\n\t\tclass=\"inlineMessage-content\"\n\t\t[class.pr-u-ellipsis]=\"withTooltip()\"\n\t\tluTooltip\n\t\tluTooltipWhenEllipsis\n\t\t[luTooltipDisabled]=\"!withTooltip()\"\n\t>\n\t\t{{ label() }}\n\t</p>\n} @else {\n\t<div class=\"inlineMessage-content\"><ng-container *luPortal=\"label()\" /></div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}
|
|
@@ -191,5 +191,5 @@ const LU_LINK_INSTANCE = new InjectionToken('LU_LINK_INSTANCE');
|
|
|
191
191
|
* Generated bundle index. Do not edit.
|
|
192
192
|
*/
|
|
193
193
|
|
|
194
|
-
export { LU_LINK_INSTANCE, LinkComponent, LuRouterLink };
|
|
194
|
+
export { LU_LINK_INSTANCE, LU_LINK_TRANSLATIONS, LinkComponent, LuRouterLink, luLinkTranslations };
|
|
195
195
|
//# sourceMappingURL=lucca-front-ng-link.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lucca-front-ng-link.mjs","sources":["../../../packages/ng/link/translations.ts","../../../packages/ng/link/link.translate.ts","../../../packages/ng/link/lu-router-link.ts","../../../packages/ng/link/link.component.ts","../../../packages/ng/link/link.component.html","../../../packages/ng/link/link.token.ts","../../../packages/ng/link/lucca-front-ng-link.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\texternal: '(Open in a new window.)',\n\t},\n\tde: {\n\t\texternal: '(In einem neuen Fenster öffnen.)',\n\t},\n\tfr: {\n\t\texternal: '(Ouvrir dans une nouvelle fenêtre.)',\n\t},\n\tit: {\n\t\texternal: '(Aprire in una nuova finestra.)',\n\t},\n\tnl: {\n\t\texternal: '(Open in een nieuw venster.)',\n\t},\n\tes: {\n\t\texternal: '(Abrir en una nueva ventana.)',\n\t},\n\tpt: {\n\t\texternal: '(Abrir numa nova janela.)',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_LINK_TRANSLATIONS = new InjectionToken('luLinkTranslations', {\n\tfactory: () => luLinkTranslations,\n});\n\nexport interface LinkTranslate {\n\texternal: string;\n}\n\nexport const luLinkTranslations: LuTranslation<LinkTranslate> = Translations;\n","import { LocationStrategy } from '@angular/common';\nimport { Attribute, Directive, ElementRef, Renderer2, WritableSignal } from '@angular/core';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\n\n@Directive({\n\tselector: '[luRouterLink]',\n})\nexport class LuRouterLink extends RouterLink {\n\t// Workaround for a storybook bug = implement the constructor https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436\n\tconstructor(router: Router, route: ActivatedRoute, @Attribute('tabindex') tabIndexAttribute: string | null | undefined, renderer: Renderer2, el: ElementRef, locationStrategy?: LocationStrategy) {\n\t\tsuper(router, route, tabIndexAttribute, renderer, el, locationStrategy);\n\t}\n\n\t// With angular 20, RouterLink changed to use an internal, protected, readonly signal that is directly bound to `attr.href`, breaking any possibility to override it\n\t// So we had to do this to expose it to our `luLink` component.\n\tget publicReactiveHref(): WritableSignal<string | null> {\n\t\treturn this.reactiveHref;\n\t}\n}\n","import { Location } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, ElementRef, inject, Injector, input, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router, UrlTree } from '@angular/router';\nimport { intlInputOptions, luBooleanAttribute } from '@lucca-front/ng/core';\nimport { LU_INDEX_TABLE_INSTANCE } from '@lucca-front/ng/index-table';\n\nimport { LU_DATA_TABLE_INSTANCE } from '@lucca-front/ng/data-table';\nimport { LU_LINK_TRANSLATIONS } from './link.translate';\nimport { LuRouterLink } from './lu-router-link';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'a[luLink], button[luLink]',\n\tstandalone: true,\n\ttemplateUrl: './link.component.html',\n\tstyleUrl: './link.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'link',\n\t\t'[attr.href]': 'routerLink.publicReactiveHref()',\n\t\t'[class.mod-decorationHover]': 'decorationHover()',\n\t\t'[class.mod-icon]': 'external()',\n\t\t'[class.mod-hiddenIcon]': 'hiddenIcon() || (this.insideIndexTable && external()) || (this.insideDataTable && external())',\n\t\t'[class.is-disabled]': 'this.disabled()',\n\t\t'[attr.rel]': 'external() && !disabled() ? \"noopener noreferrer\" : null',\n\t\t'[attr.target]': 'external() && !disabled() ? \"_blank\" : null',\n\t\t'[attr.role]': 'disabled() ? \"presentation\" : null',\n\t\t'(click)': 'redirect()',\n\t},\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: LuRouterLink,\n\t\t\tinputs: ['preserveFragment', 'skipLocationChange', 'replaceUrl', 'queryParams', 'fragment', 'queryParamsHandling', 'state', 'info', 'relativeTo'],\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LinkComponent {\n\treadonly intl = input(...intlInputOptions(LU_LINK_TRANSLATIONS));\n\treadonly routerLink = inject(LuRouterLink);\n\t#injector = inject(Injector);\n\t#elementRef = inject(ElementRef);\n\treadonly router = inject(Router);\n\treadonly location = inject(Location);\n\treadonly #activatedRoute = inject(ActivatedRoute, { optional: true });\n\treadonly insideIndexTable = inject(LU_INDEX_TABLE_INSTANCE, { optional: true });\n\treadonly insideDataTable = inject(LU_DATA_TABLE_INSTANCE, { optional: true });\n\n\t/**\n\t * Target page address. Use only for external links or pages not recognized by the router.\n\t */\n\treadonly luHref = input('', { alias: 'href' });\n\n\t/**\n\t * Target page address\n\t */\n\treadonly routerLinkCommands = input<LuRouterLink['routerLink'] | null>(null, { alias: 'luLink' });\n\n\t/**\n\t * Disables the link\n\t */\n\treadonly disabled = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Underlines the link only on hover\n\t */\n\treadonly decorationHover = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Indicates that the link will open in a new tab\n\t */\n\treadonly external = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * External icon only visible on hover/focus\n\t */\n\treadonly hiddenIcon = input(false, { transform: luBooleanAttribute });\n\n\threfBackup: string;\n\n\tconstructor() {\n\t\tconst href = this.luHref;\n\n\t\teffect(() => {\n\t\t\tif (href()) {\n\t\t\t\tthis.hrefBackup = href();\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t\tif (this.disabled()) {\n\t\t\t\tif (this.routerLinkCommands()) {\n\t\t\t\t\tthis.routerLink.routerLink = null;\n\t\t\t\t}\n\t\t\t\tthis.routerLink.publicReactiveHref.set(null);\n\t\t\t} else if (this.routerLinkCommands() && !this.external()) {\n\t\t\t\tthis.routerLink.routerLink = this.routerLinkCommands();\n\t\t\t\t// We need to do this in order to have `routerLink` update the value for `href`:\n\t\t\t\t// See https://github.com/angular/angular/blob/main/packages/router/src/directives/router_link.ts#L281\n\t\t\t\tthis.routerLink.ngOnChanges({});\n\t\t\t} else if (this.routerLinkCommands() && this.external()) {\n\t\t\t\t// External router links must not wire up the `RouterLink` directive (it would navigate in-place),\n\t\t\t\t// but they still need an `href` so the anchor is keyboard-focusable and its destination is previewable.\n\t\t\t\t// Actual navigation is handled natively by `target=\"_blank\"` (anchors) or by `redirect()` (buttons).\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.#serializeExternalUrl());\n\t\t\t} else if (!href() && this.hrefBackup) {\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t});\n\t}\n\n\tredirect(): void {\n\t\t// Anchors carry an `href` with `target=\"_blank\"`, so the browser opens the new tab natively.\n\t\t// Only non-anchor hosts (e.g. `button[luLink]`) need us to open the window programmatically.\n\t\tif (!this.disabled() && this.routerLinkCommands() && this.external() && !this.#isAnchor()) {\n\t\t\tconst externalUrl = this.#serializeExternalUrl();\n\t\t\tafterNextRender(() => window.open(externalUrl ?? undefined, '_blank'), { injector: this.#injector });\n\t\t}\n\t}\n\n\t#isAnchor(): boolean {\n\t\treturn (this.#elementRef.nativeElement as HTMLElement).tagName === 'A';\n\t}\n\n\t#serializeExternalUrl(): string | null {\n\t\tconst routerLinkCommands = this.routerLinkCommands();\n\t\tif (!routerLinkCommands) {\n\t\t\treturn null;\n\t\t}\n\t\tconst urlTree =\n\t\t\trouterLinkCommands instanceof UrlTree\n\t\t\t\t? routerLinkCommands\n\t\t\t\t: this.router.createUrlTree(Array.isArray(routerLinkCommands) ? routerLinkCommands : [routerLinkCommands], {\n\t\t\t\t\t\t// Resolve relative commands against the current route, like Angular's `RouterLink` does.\n\t\t\t\t\t\t// An explicit `relativeTo` wins, including `null` which means \"resolve from the root\";\n\t\t\t\t\t\t// only `undefined` falls back to the injected `ActivatedRoute`.\n\t\t\t\t\t\trelativeTo: this.routerLink.relativeTo === undefined ? this.#activatedRoute : this.routerLink.relativeTo,\n\t\t\t\t\t\tqueryParams: this.routerLink.queryParams,\n\t\t\t\t\t\tfragment: this.routerLink.fragment,\n\t\t\t\t\t\tqueryParamsHandling: this.routerLink.queryParamsHandling,\n\t\t\t\t\t\tpreserveFragment: this.routerLink.preserveFragment,\n\t\t\t\t\t});\n\t\tconst serializedUrl = this.router.serializeUrl(urlTree);\n\t\t// Apply the app's baseHref regardless of the commands' shape (string, array or `UrlTree`):\n\t\t// they all describe an internal route, so the serialized URL must carry the baseHref.\n\t\treturn this.location.prepareExternalUrl(serializedUrl);\n\t}\n}\n","<span class=\"link-text\"><ng-content /></span>\n@if (external()) {\n\t<span class=\"link-icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowExternal\"></span>\n\t</span>\n\t<span class=\"pr-u-mask\">{{ intl().external }}</span>\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LU_LINK_INSTANCE = new InjectionToken<boolean>('LU_LINK_INSTANCE');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lucca-front-ng-link.mjs","sources":["../../../packages/ng/link/translations.ts","../../../packages/ng/link/link.translate.ts","../../../packages/ng/link/lu-router-link.ts","../../../packages/ng/link/link.component.ts","../../../packages/ng/link/link.component.html","../../../packages/ng/link/link.token.ts","../../../packages/ng/link/lucca-front-ng-link.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\texternal: '(Open in a new window.)',\n\t},\n\tde: {\n\t\texternal: '(In einem neuen Fenster öffnen.)',\n\t},\n\tfr: {\n\t\texternal: '(Ouvrir dans une nouvelle fenêtre.)',\n\t},\n\tit: {\n\t\texternal: '(Aprire in una nuova finestra.)',\n\t},\n\tnl: {\n\t\texternal: '(Open in een nieuw venster.)',\n\t},\n\tes: {\n\t\texternal: '(Abrir en una nueva ventana.)',\n\t},\n\tpt: {\n\t\texternal: '(Abrir numa nova janela.)',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_LINK_TRANSLATIONS = new InjectionToken('luLinkTranslations', {\n\tfactory: () => luLinkTranslations,\n});\n\nexport interface LinkTranslate {\n\texternal: string;\n}\n\nexport const luLinkTranslations: LuTranslation<LinkTranslate> = Translations;\n","import { LocationStrategy } from '@angular/common';\nimport { Attribute, Directive, ElementRef, Renderer2, WritableSignal } from '@angular/core';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\n\n@Directive({\n\tselector: '[luRouterLink]',\n})\nexport class LuRouterLink extends RouterLink {\n\t// Workaround for a storybook bug = implement the constructor https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436\n\tconstructor(router: Router, route: ActivatedRoute, @Attribute('tabindex') tabIndexAttribute: string | null | undefined, renderer: Renderer2, el: ElementRef, locationStrategy?: LocationStrategy) {\n\t\tsuper(router, route, tabIndexAttribute, renderer, el, locationStrategy);\n\t}\n\n\t// With angular 20, RouterLink changed to use an internal, protected, readonly signal that is directly bound to `attr.href`, breaking any possibility to override it\n\t// So we had to do this to expose it to our `luLink` component.\n\tget publicReactiveHref(): WritableSignal<string | null> {\n\t\treturn this.reactiveHref;\n\t}\n}\n","import { Location } from '@angular/common';\nimport { afterNextRender, ChangeDetectionStrategy, Component, effect, ElementRef, inject, Injector, input, ViewEncapsulation } from '@angular/core';\nimport { ActivatedRoute, Router, UrlTree } from '@angular/router';\nimport { intlInputOptions, luBooleanAttribute } from '@lucca-front/ng/core';\nimport { LU_INDEX_TABLE_INSTANCE } from '@lucca-front/ng/index-table';\n\nimport { LU_DATA_TABLE_INSTANCE } from '@lucca-front/ng/data-table';\nimport { LU_LINK_TRANSLATIONS } from './link.translate';\nimport { LuRouterLink } from './lu-router-link';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'a[luLink], button[luLink]',\n\tstandalone: true,\n\ttemplateUrl: './link.component.html',\n\tstyleUrl: './link.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'link',\n\t\t'[attr.href]': 'routerLink.publicReactiveHref()',\n\t\t'[class.mod-decorationHover]': 'decorationHover()',\n\t\t'[class.mod-icon]': 'external()',\n\t\t'[class.mod-hiddenIcon]': 'hiddenIcon() || (this.insideIndexTable && external()) || (this.insideDataTable && external())',\n\t\t'[class.is-disabled]': 'this.disabled()',\n\t\t'[attr.rel]': 'external() && !disabled() ? \"noopener noreferrer\" : null',\n\t\t'[attr.target]': 'external() && !disabled() ? \"_blank\" : null',\n\t\t'[attr.role]': 'disabled() ? \"presentation\" : null',\n\t\t'(click)': 'redirect()',\n\t},\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: LuRouterLink,\n\t\t\tinputs: ['preserveFragment', 'skipLocationChange', 'replaceUrl', 'queryParams', 'fragment', 'queryParamsHandling', 'state', 'info', 'relativeTo'],\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LinkComponent {\n\treadonly intl = input(...intlInputOptions(LU_LINK_TRANSLATIONS));\n\treadonly routerLink = inject(LuRouterLink);\n\t#injector = inject(Injector);\n\t#elementRef = inject(ElementRef);\n\treadonly router = inject(Router);\n\treadonly location = inject(Location);\n\treadonly #activatedRoute = inject(ActivatedRoute, { optional: true });\n\treadonly insideIndexTable = inject(LU_INDEX_TABLE_INSTANCE, { optional: true });\n\treadonly insideDataTable = inject(LU_DATA_TABLE_INSTANCE, { optional: true });\n\n\t/**\n\t * Target page address. Use only for external links or pages not recognized by the router.\n\t */\n\treadonly luHref = input('', { alias: 'href' });\n\n\t/**\n\t * Target page address\n\t */\n\treadonly routerLinkCommands = input<LuRouterLink['routerLink'] | null>(null, { alias: 'luLink' });\n\n\t/**\n\t * Disables the link\n\t */\n\treadonly disabled = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Underlines the link only on hover\n\t */\n\treadonly decorationHover = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * Indicates that the link will open in a new tab\n\t */\n\treadonly external = input(false, { transform: luBooleanAttribute });\n\n\t/**\n\t * External icon only visible on hover/focus\n\t */\n\treadonly hiddenIcon = input(false, { transform: luBooleanAttribute });\n\n\threfBackup: string;\n\n\tconstructor() {\n\t\tconst href = this.luHref;\n\n\t\teffect(() => {\n\t\t\tif (href()) {\n\t\t\t\tthis.hrefBackup = href();\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t\tif (this.disabled()) {\n\t\t\t\tif (this.routerLinkCommands()) {\n\t\t\t\t\tthis.routerLink.routerLink = null;\n\t\t\t\t}\n\t\t\t\tthis.routerLink.publicReactiveHref.set(null);\n\t\t\t} else if (this.routerLinkCommands() && !this.external()) {\n\t\t\t\tthis.routerLink.routerLink = this.routerLinkCommands();\n\t\t\t\t// We need to do this in order to have `routerLink` update the value for `href`:\n\t\t\t\t// See https://github.com/angular/angular/blob/main/packages/router/src/directives/router_link.ts#L281\n\t\t\t\tthis.routerLink.ngOnChanges({});\n\t\t\t} else if (this.routerLinkCommands() && this.external()) {\n\t\t\t\t// External router links must not wire up the `RouterLink` directive (it would navigate in-place),\n\t\t\t\t// but they still need an `href` so the anchor is keyboard-focusable and its destination is previewable.\n\t\t\t\t// Actual navigation is handled natively by `target=\"_blank\"` (anchors) or by `redirect()` (buttons).\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.#serializeExternalUrl());\n\t\t\t} else if (!href() && this.hrefBackup) {\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t});\n\t}\n\n\tredirect(): void {\n\t\t// Anchors carry an `href` with `target=\"_blank\"`, so the browser opens the new tab natively.\n\t\t// Only non-anchor hosts (e.g. `button[luLink]`) need us to open the window programmatically.\n\t\tif (!this.disabled() && this.routerLinkCommands() && this.external() && !this.#isAnchor()) {\n\t\t\tconst externalUrl = this.#serializeExternalUrl();\n\t\t\tafterNextRender(() => window.open(externalUrl ?? undefined, '_blank'), { injector: this.#injector });\n\t\t}\n\t}\n\n\t#isAnchor(): boolean {\n\t\treturn (this.#elementRef.nativeElement as HTMLElement).tagName === 'A';\n\t}\n\n\t#serializeExternalUrl(): string | null {\n\t\tconst routerLinkCommands = this.routerLinkCommands();\n\t\tif (!routerLinkCommands) {\n\t\t\treturn null;\n\t\t}\n\t\tconst urlTree =\n\t\t\trouterLinkCommands instanceof UrlTree\n\t\t\t\t? routerLinkCommands\n\t\t\t\t: this.router.createUrlTree(Array.isArray(routerLinkCommands) ? routerLinkCommands : [routerLinkCommands], {\n\t\t\t\t\t\t// Resolve relative commands against the current route, like Angular's `RouterLink` does.\n\t\t\t\t\t\t// An explicit `relativeTo` wins, including `null` which means \"resolve from the root\";\n\t\t\t\t\t\t// only `undefined` falls back to the injected `ActivatedRoute`.\n\t\t\t\t\t\trelativeTo: this.routerLink.relativeTo === undefined ? this.#activatedRoute : this.routerLink.relativeTo,\n\t\t\t\t\t\tqueryParams: this.routerLink.queryParams,\n\t\t\t\t\t\tfragment: this.routerLink.fragment,\n\t\t\t\t\t\tqueryParamsHandling: this.routerLink.queryParamsHandling,\n\t\t\t\t\t\tpreserveFragment: this.routerLink.preserveFragment,\n\t\t\t\t\t});\n\t\tconst serializedUrl = this.router.serializeUrl(urlTree);\n\t\t// Apply the app's baseHref regardless of the commands' shape (string, array or `UrlTree`):\n\t\t// they all describe an internal route, so the serialized URL must carry the baseHref.\n\t\treturn this.location.prepareExternalUrl(serializedUrl);\n\t}\n}\n","<span class=\"link-text\"><ng-content /></span>\n@if (external()) {\n\t<span class=\"link-icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowExternal\"></span>\n\t</span>\n\t<span class=\"pr-u-mask\">{{ intl().external }}</span>\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const LU_LINK_INSTANCE = new InjectionToken<boolean>('LU_LINK_INSTANCE');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|