@lucca-front/ng 21.1.0-rc.0 → 21.1.0-rc.2

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.
Files changed (159) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +6 -6
  2. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-api.mjs +3 -3
  4. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-box.mjs +1 -1
  6. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +5 -5
  8. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-bubble-icon.mjs +51 -0
  10. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -0
  11. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +135 -0
  12. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -0
  13. package/fesm2022/lucca-front-ng-button.mjs +1 -98
  14. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-callout.mjs +7 -7
  16. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-chip.mjs +6 -6
  18. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-clear.mjs +6 -6
  20. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-color.mjs +28 -0
  22. package/fesm2022/lucca-front-ng-color.mjs.map +1 -0
  23. package/fesm2022/lucca-front-ng-container.mjs +2 -2
  24. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-core-select-user.mjs +12 -12
  26. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-core-select.mjs +67 -48
  28. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-core.mjs +15 -75
  30. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-data-table.mjs +8 -8
  32. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-date.mjs +63 -64
  34. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-date2.mjs +41 -45
  36. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-department.mjs +7 -7
  38. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-dialog.mjs +31 -8
  40. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-empty-state.mjs +52 -10
  42. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-establishment.mjs +10 -10
  44. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-file-upload.mjs +40 -34
  46. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-filter-pills.mjs +14 -13
  48. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-form-field.mjs +9 -63
  50. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-form.mjs +2 -2
  52. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-formly.mjs +4 -4
  54. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +8 -9
  56. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +48 -48
  58. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-forms.mjs +119 -98
  60. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +2 -2
  62. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-icon.mjs +1 -27
  64. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-index-table.mjs +3 -3
  66. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-input.mjs +7 -7
  68. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-link.mjs +6 -6
  70. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-listbox.mjs +1 -1
  72. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-listing.mjs +1 -1
  74. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-main-layout.mjs +2 -2
  76. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-mobile-push.mjs +6 -6
  78. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  80. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-multi-select.mjs +29 -29
  82. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-option.mjs +26 -24
  84. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-pagination.mjs +5 -5
  86. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-plg-push.mjs +5 -5
  88. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-popover2.mjs +13 -13
  90. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-read-more.mjs +23 -21
  92. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-resource-card.mjs +2 -2
  94. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-simple-select.mjs +18 -27
  96. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-skeleton.mjs +2 -2
  98. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-sortable-list.mjs +1 -1
  100. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-tag.mjs +1 -1
  102. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-time.mjs +13 -13
  104. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-toast.mjs +5 -5
  106. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-tooltip.mjs +8 -6
  108. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-tree-select.mjs +1 -1
  110. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-user-popover.mjs +6 -6
  112. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-user.mjs +11 -11
  114. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +2 -2
  116. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  117. package/package.json +17 -3
  118. package/schematics/lib/local-deps/package-lock.json +2 -0
  119. package/schematics/lib/local-deps/package.json +1 -2
  120. package/types/lucca-front-ng-a11y.d.ts +3 -3
  121. package/types/lucca-front-ng-breadcrumbs.d.ts +9 -9
  122. package/types/lucca-front-ng-bubble-icon.d.ts +20 -0
  123. package/types/lucca-front-ng-bubble-illustration.d.ts +24 -0
  124. package/types/lucca-front-ng-button.d.ts +1 -40
  125. package/types/lucca-front-ng-callout.d.ts +2 -2
  126. package/types/lucca-front-ng-chip.d.ts +2 -2
  127. package/types/lucca-front-ng-clear.d.ts +2 -2
  128. package/types/lucca-front-ng-color.d.ts +12 -0
  129. package/types/lucca-front-ng-core-select.d.ts +21 -17
  130. package/types/lucca-front-ng-core.d.ts +25 -19
  131. package/types/lucca-front-ng-data-table.d.ts +2 -2
  132. package/types/lucca-front-ng-date.d.ts +5 -5
  133. package/types/lucca-front-ng-date2.d.ts +7 -7
  134. package/types/lucca-front-ng-department.d.ts +2 -2
  135. package/types/lucca-front-ng-dialog.d.ts +12 -5
  136. package/types/lucca-front-ng-empty-state.d.ts +6 -4
  137. package/types/lucca-front-ng-establishment.d.ts +2 -2
  138. package/types/lucca-front-ng-file-upload.d.ts +18 -8
  139. package/types/lucca-front-ng-filter-pills.d.ts +6 -5
  140. package/types/lucca-front-ng-form-field.d.ts +5 -26
  141. package/types/lucca-front-ng-forms-phone-number-input.d.ts +0 -1
  142. package/types/lucca-front-ng-forms-rich-text-input.d.ts +14 -16
  143. package/types/lucca-front-ng-forms.d.ts +40 -23
  144. package/types/lucca-front-ng-icon.d.ts +1 -17
  145. package/types/lucca-front-ng-input.d.ts +2 -2
  146. package/types/lucca-front-ng-link.d.ts +2 -2
  147. package/types/lucca-front-ng-mobile-push.d.ts +2 -2
  148. package/types/lucca-front-ng-multi-select.d.ts +26 -24
  149. package/types/lucca-front-ng-option.d.ts +8 -8
  150. package/types/lucca-front-ng-pagination.d.ts +2 -2
  151. package/types/lucca-front-ng-plg-push.d.ts +2 -2
  152. package/types/lucca-front-ng-popover2.d.ts +4 -4
  153. package/types/lucca-front-ng-read-more.d.ts +9 -9
  154. package/types/lucca-front-ng-simple-select.d.ts +5 -4
  155. package/types/lucca-front-ng-time.d.ts +6 -6
  156. package/types/lucca-front-ng-toast.d.ts +2 -2
  157. package/types/lucca-front-ng-tooltip.d.ts +5 -3
  158. package/types/lucca-front-ng-user-popover.d.ts +6 -7
  159. package/types/lucca-front-ng-user.d.ts +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-popover2.mjs","sources":["../../../packages/ng/popover2/popover-focus-trap.ts","../../../packages/ng/popover2/popover-tokens.ts","../../../packages/ng/popover2/translations.ts","../../../packages/ng/popover2/popover.translate.ts","../../../packages/ng/popover2/content/popover-content/popover-content.component.ts","../../../packages/ng/popover2/content/popover-content/popover-content.component.html","../../../packages/ng/popover2/popover2.translate.ts","../../../packages/ng/popover2/popover.directive.ts","../../../packages/ng/popover2/popover.providers.ts","../../../packages/ng/popover2/lucca-front-ng-popover2.ts"],"sourcesContent":["import { FocusTrap, InteractivityChecker } from '@angular/cdk/a11y';\nimport { inject, Injectable, NgZone } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Injectable()\nexport class PopoverFocusTrap extends FocusTrap {\n\toverride startAnchorListener = () => {\n\t\tthis.triggerElement.focus();\n\t\treturn true;\n\t};\n\n\toverride endAnchorListener = () => {\n\t\tthis.triggerElement.focus();\n\t\treturn true;\n\t};\n\n\tconstructor(\n\t\telement: HTMLElement,\n\t\tprivate triggerElement: HTMLElement,\n\t) {\n\t\tsuper(element, inject(InteractivityChecker), inject(NgZone), inject(DOCUMENT), true);\n\t}\n}\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { OverlayRef } from '@angular/cdk/overlay';\n\nexport interface PopoverConfig {\n\ttriggerElement: HTMLElement;\n\tcontent: TemplateRef<unknown> | Type<unknown>;\n\tref: OverlayRef;\n\tcontentId: string;\n\tdisableCloseButtonFocus: boolean;\n\tdisableInitialTriggerFocus: boolean;\n\tnoCloseButton: boolean;\n}\n\nexport const POPOVER_CONFIG = new InjectionToken<PopoverConfig>('Popover:Config');\n","export const Translations = {\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tclose: 'Close',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_POPOVER2_TRANSLATIONS = new InjectionToken('LuPopover2Translations', {\n\tfactory: () => luPopoverTranslations,\n});\n\nexport interface ILuPopover2Label {\n\tclose: string;\n}\n\nexport const luPopoverTranslations: LuTranslation<ILuPopover2Label> = Translations;\n","import { CdkObserveContent } from '@angular/cdk/observers';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, HostBinding, HostListener, inject, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { getIntl, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { Subject } from 'rxjs';\nimport { PopoverFocusTrap } from '../../popover-focus-trap';\nimport { POPOVER_CONFIG } from '../../popover-tokens';\nimport { LU_POPOVER2_TRANSLATIONS } from '../../popover.translate';\n\n@Component({\n\tselector: 'lu-popover-content',\n\timports: [ButtonComponent, IconComponent, CdkObserveContent, PortalDirective],\n\ttemplateUrl: './popover-content.component.html',\n\tstyleUrl: './popover-content.component.scss',\n\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PopoverContentComponent implements AfterViewInit {\n\tintl = getIntl(LU_POPOVER2_TRANSLATIONS);\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tconfig = inject(POPOVER_CONFIG);\n\n\tdestroyRef = inject(DestroyRef);\n\n\t@HostBinding('attr.id')\n\tcontentId = this.config.contentId;\n\n\tcontent = this.config.content;\n\n\t#focusManager = new PopoverFocusTrap(this.#elementRef.nativeElement, this.config.triggerElement);\n\n\tclosed$ = new Subject<void>();\n\n\tcontentChangedDebounceTime = 100;\n\n\tmouseEnter$ = new Subject<void>();\n\n\t@HostListener('mouseenter')\n\tmouseEnter(): void {\n\t\tthis.mouseEnter$.next();\n\t}\n\n\tmouseLeave$ = new Subject<void>();\n\n\t@HostListener('mouseleave')\n\tmouseLeave(): void {\n\t\tthis.mouseLeave$.next();\n\t}\n\n\tcontentChanged() {\n\t\tthis.config.ref.updatePosition();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.#focusManager.attachAnchors();\n\t\tif (!this.config.disableCloseButtonFocus) {\n\t\t\tvoid this.#focusManager.focusInitialElementWhenReady();\n\t\t}\n\t}\n\n\tgrabFocus(): void {\n\t\tthis.#focusManager.focusInitialElement();\n\t}\n\n\t@HostListener('window:keydown.escape')\n\tclose(): void {\n\t\tif (!this.config.disableInitialTriggerFocus) {\n\t\t\t// Focus initial trigger element\n\t\t\tthis.config.triggerElement.focus();\n\t\t}\n\t\t// Tell the directive we're closed now\n\t\tthis.closed$.next();\n\t\tthis.closed$.complete();\n\t\tthis.mouseEnter$.complete();\n\t\tthis.mouseLeave$.complete();\n\t\t// Detach overlay\n\t\tthis.config.ref.dispose();\n\t}\n}\n","<div class=\"popover\" (cdkObserveContent)=\"contentChanged()\" [debounce]=\"contentChangedDebounceTime\">\n\t@if (!config.noCloseButton) {\n\t\t<div>\n\t\t\t<button type=\"button\" luButton class=\"popover-close button\" (click)=\"close()\">\n\t\t\t\t<lu-icon icon=\"signClose\" />\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl.close }}</span>\n\t\t\t</button>\n\t\t</div>\n\t}\n\t<ng-container *luPortal=\"content\" />\n</div>\n","import { InjectionToken } from '@angular/core';\nimport { ILuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_POPOVER2_TRANSLATIONS = new InjectionToken('LuPopover2Translations', {\n\tfactory: () => luPopover2Translations,\n});\n\nexport interface LuCalloutLabel {\n\tscreenReaderDescription: string;\n}\n\nexport const luPopover2Translations: ILuTranslation<LuCalloutLabel> = {\n\ten: {\n\t\tscreenReaderDescription: '(Tab key to enter panel.)',\n\t},\n\tfr: {\n\t\tscreenReaderDescription: '(Touche de tabulation pour entrer dans le panneau.)',\n\t},\n\tes: {\n\t\tscreenReaderDescription: '(Tabulador para entrar en el panel.)',\n\t},\n\tde: {\n\t\tscreenReaderDescription: '(Tabulatortaste, um in das Panel zu gelangen.)',\n\t},\n};\n","import { ConnectedPosition, ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n\tbooleanAttribute,\n\tDestroyRef,\n\tDirective,\n\tElementRef,\n\tHostBinding,\n\tHostListener,\n\tinject,\n\tInjector,\n\tinput,\n\tInput,\n\tInputSignal,\n\tmodel,\n\tOnDestroy,\n\toutput,\n\tProvider,\n\tRenderer2,\n\tsignal,\n\tTemplateRef,\n\tType,\n\tViewContainerRef,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { combineLatest, debounce, filter, map, merge, Subject, switchMap, timer } from 'rxjs';\nimport { PopoverContentComponent } from './content/popover-content/popover-content.component';\nimport { POPOVER_CONFIG, PopoverConfig } from './popover-tokens';\nimport { LU_POPOVER2_TRANSLATIONS } from './popover2.translate';\n\nexport type PopoverPosition = 'above' | 'below' | 'before' | 'after';\n\nlet nextId = 0;\n\nconst defaultPositionPairs: Record<PopoverPosition, ConnectionPositionPair> = {\n\tabove: new ConnectionPositionPair(\n\t\t{ originX: 'center', originY: 'top' },\n\t\t{\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'bottom',\n\t\t},\n\t),\n\tbelow: new ConnectionPositionPair(\n\t\t{ originX: 'center', originY: 'bottom' },\n\t\t{\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'top',\n\t\t},\n\t),\n\tbefore: new ConnectionPositionPair(\n\t\t{ originX: 'start', originY: 'center' },\n\t\t{\n\t\t\toverlayX: 'end',\n\t\t\toverlayY: 'center',\n\t\t},\n\t),\n\tafter: new ConnectionPositionPair(\n\t\t{ originX: 'end', originY: 'center' },\n\t\t{\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'center',\n\t\t},\n\t),\n};\n\n@Directive({\n\tselector: '[luPopover2]',\n\thost: {\n\t\t'[attr.aria-expanded]': 'opened()',\n\t},\n\texportAs: 'luPopover2',\n})\nexport class PopoverDirective implements OnDestroy {\n\toverlay = inject(Overlay);\n\n\telementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#vcr = inject(ViewContainerRef);\n\n\t#destroyRef = inject(DestroyRef);\n\n\t#renderer = inject(Renderer2);\n\n\tintl = getIntl(LU_POPOVER2_TRANSLATIONS);\n\n\t@Input({\n\t\talias: 'luPopover2',\n\t})\n\tcontent: TemplateRef<unknown> | Type<unknown>;\n\n\t@Input()\n\tluPopoverPosition: PopoverPosition = 'above';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tluPopoverDisabled = false;\n\n\tluPopoverTrigger = model<'click' | 'click+hover' | 'hover+focus'>('click');\n\n\t@Input()\n\tcustomPositions?: ConnectionPositionPair[];\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Removes close button entirely, this is bad for a11y but sometimes we want it.\n\t */\n\tluPopoverNoCloseButton = false;\n\n\t/**\n\t * Allows to anchor the popover to another element instead of the trigger one\n\t * for placement purpose\n\t */\n\tluPopoverAnchor = input<FlexibleConnectedPositionStrategyOrigin>(this.elementRef);\n\n\t// We have to type these two for Compodoc to find the right type and tell Storybook these aren't strings\n\tluPopoverOpenDelay: InputSignal<number> = input<number>(300);\n\n\tluPopoverCloseDelay: InputSignal<number> = input<number>(100);\n\n\topen$ = new Subject<'focus' | 'click' | 'hover'>();\n\n\tclose$ = new Subject<void>();\n\n\tluPopoverClosed = output<void>();\n\n\tluPopoverOpened = output<void>();\n\n\t#listenToMouseLeave = false;\n\t#listenToMouseEnter = true;\n\t#skipNextFocus = false;\n\n\t#overlayRef: OverlayRef;\n\n\t#componentRef?: PopoverContentComponent;\n\n\tpositionPairs: Record<PopoverPosition, ConnectionPositionPair> = defaultPositionPairs;\n\n\topened = signal(false);\n\n\t@HostBinding('attr.aria-controls')\n\tariaControls = `popover-content-${nextId++}`;\n\n\t#screenReaderDescription?: HTMLSpanElement;\n\n\t// For when we need to extend this popover and add some extra providers to the panel\n\tprotected additionalProviders: Provider[] = [];\n\n\tconstructor() {\n\t\tcombineLatest([toObservable(this.luPopoverOpenDelay), toObservable(this.luPopoverCloseDelay), toObservable(this.luPopoverTrigger)])\n\t\t\t.pipe(\n\t\t\t\tfilter(([, , trigger]) => {\n\t\t\t\t\treturn trigger.includes('hover') || trigger.includes('focus');\n\t\t\t\t}),\n\t\t\t\tswitchMap(([openDelay, closeDelay]) => {\n\t\t\t\t\treturn merge(this.open$.pipe(map((type) => ['open', type])), this.close$.pipe(map(() => ['close']))).pipe(\n\t\t\t\t\t\tdebounce(([event]) => {\n\t\t\t\t\t\t\treturn timer(event === 'open' ? openDelay : closeDelay);\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t)\n\t\t\t.subscribe(([event, type]: ['open' | 'close', 'focus' | 'click' | 'hover']) => {\n\t\t\t\tif (event === 'open') {\n\t\t\t\t\tthis.openPopover(type === 'focus', true, type === 'hover');\n\t\t\t\t\tthis.#listenToMouseLeave = type !== 'click';\n\t\t\t\t\tif (type === 'focus' && !this.#screenReaderDescription) {\n\t\t\t\t\t\tthis.#screenReaderDescription = this.#renderer.createElement('span') as HTMLSpanElement;\n\t\t\t\t\t\tthis.#screenReaderDescription.innerText = this.intl.screenReaderDescription;\n\t\t\t\t\t\tthis.#renderer.addClass(this.#screenReaderDescription, 'pr-u-mask');\n\t\t\t\t\t\tthis.#renderer.appendChild(this.elementRef.nativeElement, this.#screenReaderDescription);\n\t\t\t\t\t}\n\t\t\t\t} else if (this.opened()) {\n\t\t\t\t\tthis.#componentRef?.close();\n\t\t\t\t\tthis.#listenToMouseEnter = true;\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.#componentRef?.close();\n\t}\n\n\t@HostListener('mouseenter')\n\tonMouseEnter() {\n\t\tif (this.#listenToMouseEnter && this.luPopoverTrigger().includes('hover')) {\n\t\t\tthis.open$.next('hover');\n\t\t\tthis.#listenToMouseLeave = true;\n\t\t}\n\t}\n\n\t@HostListener('focus')\n\tonFocus() {\n\t\tif (this.luPopoverTrigger().includes('focus')) {\n\t\t\tif (this.#skipNextFocus) {\n\t\t\t\tthis.#skipNextFocus = false;\n\t\t\t} else {\n\t\t\t\tthis.open$.next('focus');\n\t\t\t\tthis.#listenToMouseLeave = true;\n\t\t\t\tthis.#skipNextFocus = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t@HostListener('mouseleave')\n\tonMouseLeave() {\n\t\tif (this.#listenToMouseLeave && this.luPopoverTrigger().includes('hover')) {\n\t\t\tthis.close$.next();\n\t\t\tthis.#listenToMouseEnter = true;\n\t\t}\n\t}\n\n\t@HostListener('click')\n\tclick(): void {\n\t\tif (this.opened()) {\n\t\t\tthis.#componentRef?.close();\n\t\t\tthis.#listenToMouseLeave = true;\n\t\t} else {\n\t\t\tthis.openPopover(true);\n\t\t\tthis.#listenToMouseLeave = false;\n\t\t\tthis.#listenToMouseEnter = false;\n\t\t}\n\t}\n\n\tclose(): void {\n\t\tif (this.opened()) {\n\t\t\tthis.#componentRef?.close();\n\t\t\tthis.#listenToMouseLeave = true;\n\t\t}\n\t}\n\n\topenPopover(withBackdrop = false, disableCloseButtonFocus = false, disableInitialTriggerFocus = false): void {\n\t\tif (!this.opened() && !this.luPopoverDisabled) {\n\t\t\tthis.opened.set(true);\n\t\t\tthis.luPopoverOpened.emit();\n\t\t\tthis.#overlayRef = this.overlay.create({\n\t\t\t\tpositionStrategy: this.overlay\n\t\t\t\t\t.position()\n\t\t\t\t\t.flexibleConnectedTo(this.luPopoverAnchor())\n\t\t\t\t\t.withPositions(this.customPositions || this.#buildPositions()),\n\t\t\t\tscrollStrategy: this.overlay.scrollStrategies.reposition(),\n\t\t\t\thasBackdrop: withBackdrop,\n\t\t\t\tbackdropClass: '',\n\t\t\t\tdisposeOnNavigation: true,\n\t\t\t});\n\t\t\t// Close on backdrop click even if backdrop is invisible\n\t\t\tthis.#overlayRef\n\t\t\t\t.backdropClick()\n\t\t\t\t.pipe(takeUntilDestroyed(this.#destroyRef))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tthis.#componentRef.close();\n\t\t\t\t\tthis.#listenToMouseLeave = true;\n\t\t\t\t});\n\t\t\tconst config: PopoverConfig = {\n\t\t\t\tcontent: this.content,\n\t\t\t\tref: this.#overlayRef,\n\t\t\t\tcontentId: this.ariaControls,\n\t\t\t\ttriggerElement: this.elementRef.nativeElement,\n\t\t\t\tdisableCloseButtonFocus: disableCloseButtonFocus,\n\t\t\t\tdisableInitialTriggerFocus: disableInitialTriggerFocus,\n\t\t\t\tnoCloseButton: this.luPopoverNoCloseButton,\n\t\t\t};\n\t\t\tthis.#componentRef = this.#overlayRef.attach(\n\t\t\t\tnew ComponentPortal(\n\t\t\t\t\tPopoverContentComponent,\n\t\t\t\t\tthis.#vcr,\n\t\t\t\t\tInjector.create({\n\t\t\t\t\t\tproviders: [{ provide: POPOVER_CONFIG, useValue: config }, { provide: PopoverContentComponent, useValue: this.#componentRef }, ...this.additionalProviders],\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t).instance;\n\t\t\t// On tooltip leave => trigger close\n\t\t\tthis.#componentRef.mouseLeave$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.close$.next());\n\t\t\t// On tooltip enter => trigger open to keep it opened\n\t\t\tthis.#componentRef.mouseEnter$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.open$.next('hover'));\n\t\t\tthis.#componentRef.closed$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => {\n\t\t\t\tthis.opened.set(false);\n\t\t\t\tthis.#skipNextFocus = false;\n\t\t\t\tthis.luPopoverClosed.emit();\n\t\t\t\tthis.#listenToMouseLeave = false;\n\t\t\t\tif (this.#screenReaderDescription) {\n\t\t\t\t\tthis.#screenReaderDescription.remove();\n\t\t\t\t\tthis.#screenReaderDescription = undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t@HostListener('keydown.Tab', ['$event'])\n\tfocusBackToContent(event: Event): void {\n\t\tif (this.opened()) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.#componentRef.grabFocus();\n\t\t}\n\t}\n\n\t@HostListener('keydown.Shift.Tab', ['$event'])\n\tfocusOutBefore(_event: Event): void {\n\t\tif (this.opened() && this.luPopoverTrigger().includes('focus')) {\n\t\t\tthis.#componentRef.close();\n\t\t}\n\t}\n\n\tupdatePosition() {\n\t\tthis.#overlayRef?.updatePosition();\n\t}\n\n\t#buildPositions(): ConnectedPosition[] {\n\t\tconst opposite: Record<PopoverPosition, PopoverPosition> = {\n\t\t\tbefore: 'after',\n\t\t\tafter: 'before',\n\t\t\tabove: 'below',\n\t\t\tbelow: 'above',\n\t\t};\n\t\t// Once we have opposite, what's remaining?\n\t\tconst remaining: Record<PopoverPosition, PopoverPosition[]> = {\n\t\t\tbefore: ['above', 'below'],\n\t\t\tafter: ['above', 'below'],\n\t\t\tabove: ['before', 'after'],\n\t\t\tbelow: ['before', 'after'],\n\t\t};\n\t\treturn [this.positionPairs[this.luPopoverPosition], this.positionPairs[opposite[this.luPopoverPosition]], ...remaining[this.luPopoverPosition].map((r) => this.positionPairs[r])];\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nexport function configureLuPopover(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(OverlayModule)]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["LU_POPOVER2_TRANSLATIONS"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-popover2.mjs","sources":["../../../packages/ng/popover2/popover-focus-trap.ts","../../../packages/ng/popover2/popover-tokens.ts","../../../packages/ng/popover2/translations.ts","../../../packages/ng/popover2/popover.translate.ts","../../../packages/ng/popover2/content/popover-content/popover-content.component.ts","../../../packages/ng/popover2/content/popover-content/popover-content.component.html","../../../packages/ng/popover2/popover2.translate.ts","../../../packages/ng/popover2/popover.directive.ts","../../../packages/ng/popover2/popover.providers.ts","../../../packages/ng/popover2/lucca-front-ng-popover2.ts"],"sourcesContent":["import { FocusTrap, InteractivityChecker } from '@angular/cdk/a11y';\nimport { inject, Injectable, NgZone } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\n\n@Injectable()\nexport class PopoverFocusTrap extends FocusTrap {\n\toverride startAnchorListener = () => {\n\t\tthis.triggerElement.focus();\n\t\treturn true;\n\t};\n\n\toverride endAnchorListener = () => {\n\t\tthis.triggerElement.focus();\n\t\treturn true;\n\t};\n\n\tconstructor(\n\t\telement: HTMLElement,\n\t\tprivate triggerElement: HTMLElement,\n\t) {\n\t\tsuper(element, inject(InteractivityChecker), inject(NgZone), inject(DOCUMENT), true);\n\t}\n}\n","import { InjectionToken, TemplateRef, Type } from '@angular/core';\nimport { OverlayRef } from '@angular/cdk/overlay';\n\nexport interface PopoverConfig {\n\ttriggerElement: HTMLElement;\n\tcontent: TemplateRef<unknown> | Type<unknown>;\n\tref: OverlayRef;\n\tcontentId: string;\n\tdisableCloseButtonFocus: boolean;\n\tdisableInitialTriggerFocus: boolean;\n\tnoCloseButton: boolean;\n}\n\nexport const POPOVER_CONFIG = new InjectionToken<PopoverConfig>('Popover:Config');\n","export const Translations = {\n\t'nl-BE': {\n\t\tclose: 'Sluiten',\n\t},\n\tnl: {\n\t\tclose: 'Sluiten',\n\t},\n\tit: {\n\t\tclose: 'Chiudere',\n\t},\n\tfr: {\n\t\tclose: 'Fermer',\n\t},\n\tpt: {\n\t\tclose: 'Fechar',\n\t},\n\tes: {\n\t\tclose: 'Cerrar',\n\t},\n\tde: {\n\t\tclose: 'Schließen',\n\t},\n\ten: {\n\t\tclose: 'Close',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_POPOVER2_TRANSLATIONS = new InjectionToken('LuPopover2Translations', {\n\tfactory: () => luPopoverTranslations,\n});\n\nexport interface ILuPopover2Label {\n\tclose: string;\n}\n\nexport const luPopoverTranslations: LuTranslation<ILuPopover2Label> = Translations;\n","import { CdkObserveContent } from '@angular/cdk/observers';\nimport { AfterViewInit, ChangeDetectionStrategy, Component, DestroyRef, ElementRef, HostBinding, HostListener, inject, input, ViewEncapsulation } from '@angular/core';\nimport { ButtonComponent } from '@lucca-front/ng/button';\nimport { intlInputOptions, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { Subject } from 'rxjs';\nimport { PopoverFocusTrap } from '../../popover-focus-trap';\nimport { POPOVER_CONFIG } from '../../popover-tokens';\nimport { LU_POPOVER2_TRANSLATIONS } from '../../popover.translate';\n\n@Component({\n\tselector: 'lu-popover-content',\n\timports: [ButtonComponent, IconComponent, CdkObserveContent, PortalDirective],\n\ttemplateUrl: './popover-content.component.html',\n\tstyleUrl: './popover-content.component.scss',\n\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class PopoverContentComponent implements AfterViewInit {\n\tintl = input(...intlInputOptions(LU_POPOVER2_TRANSLATIONS));\n\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tconfig = inject(POPOVER_CONFIG);\n\n\tdestroyRef = inject(DestroyRef);\n\n\t@HostBinding('attr.id')\n\tcontentId = this.config.contentId;\n\n\tcontent = this.config.content;\n\n\t#focusManager = new PopoverFocusTrap(this.#elementRef.nativeElement, this.config.triggerElement);\n\n\tclosed$ = new Subject<void>();\n\n\tcontentChangedDebounceTime = 100;\n\n\tmouseEnter$ = new Subject<void>();\n\n\t@HostListener('mouseenter')\n\tmouseEnter(): void {\n\t\tthis.mouseEnter$.next();\n\t}\n\n\tmouseLeave$ = new Subject<void>();\n\n\t@HostListener('mouseleave')\n\tmouseLeave(): void {\n\t\tthis.mouseLeave$.next();\n\t}\n\n\tcontentChanged() {\n\t\tthis.config.ref.updatePosition();\n\t}\n\n\tngAfterViewInit(): void {\n\t\tthis.#focusManager.attachAnchors();\n\t\tif (!this.config.disableCloseButtonFocus) {\n\t\t\tvoid this.#focusManager.focusInitialElementWhenReady();\n\t\t}\n\t}\n\n\tgrabFocus(): void {\n\t\tthis.#focusManager.focusInitialElement();\n\t}\n\n\t@HostListener('window:keydown.escape')\n\tclose(): void {\n\t\tif (!this.config.disableInitialTriggerFocus) {\n\t\t\t// Focus initial trigger element\n\t\t\tthis.config.triggerElement.focus();\n\t\t}\n\t\t// Tell the directive we're closed now\n\t\tthis.closed$.next();\n\t\tthis.closed$.complete();\n\t\tthis.mouseEnter$.complete();\n\t\tthis.mouseLeave$.complete();\n\t\t// Detach overlay\n\t\tthis.config.ref.dispose();\n\t}\n}\n","<div class=\"popover\" (cdkObserveContent)=\"contentChanged()\" [debounce]=\"contentChangedDebounceTime\">\n\t@if (!config.noCloseButton) {\n\t\t<div>\n\t\t\t<button type=\"button\" luButton class=\"popover-close button\" (click)=\"close()\">\n\t\t\t\t<lu-icon icon=\"signClose\" />\n\t\t\t\t<span class=\"pr-u-mask\">{{ intl().close }}</span>\n\t\t\t</button>\n\t\t</div>\n\t}\n\t<ng-container *luPortal=\"content\" />\n</div>\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\n\nexport const LU_POPOVER2_TRANSLATIONS = new InjectionToken('LuPopover2Translations', {\n\tfactory: () => luPopover2Translations,\n});\n\nexport interface LuCalloutLabel {\n\tscreenReaderDescription: string;\n}\n\nexport const luPopover2Translations: LuTranslation<LuCalloutLabel> = {\n\ten: {\n\t\tscreenReaderDescription: '(Tab key to enter panel.)',\n\t},\n\tfr: {\n\t\tscreenReaderDescription: '(Touche de tabulation pour entrer dans le panneau.)',\n\t},\n\tes: {\n\t\tscreenReaderDescription: '(Tabulador para entrar en el panel.)',\n\t},\n\tde: {\n\t\tscreenReaderDescription: '(Tabulatortaste, um in das Panel zu gelangen.)',\n\t},\n};\n","import { ConnectedPosition, ConnectionPositionPair, FlexibleConnectedPositionStrategyOrigin, Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n\tbooleanAttribute,\n\tDestroyRef,\n\tDirective,\n\tElementRef,\n\tHostBinding,\n\tHostListener,\n\tinject,\n\tInjector,\n\tinput,\n\tInput,\n\tInputSignal,\n\tmodel,\n\tOnDestroy,\n\toutput,\n\tProvider,\n\tRenderer2,\n\tsignal,\n\tTemplateRef,\n\tType,\n\tViewContainerRef,\n} from '@angular/core';\nimport { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';\nimport { intlInputOptions } from '@lucca-front/ng/core';\nimport { combineLatest, debounce, filter, map, merge, Subject, switchMap, timer } from 'rxjs';\nimport { PopoverContentComponent } from './content/popover-content/popover-content.component';\nimport { POPOVER_CONFIG, PopoverConfig } from './popover-tokens';\nimport { LU_POPOVER2_TRANSLATIONS } from './popover2.translate';\n\nexport type PopoverPosition = 'above' | 'below' | 'before' | 'after';\n\nlet nextId = 0;\n\nconst defaultPositionPairs: Record<PopoverPosition, ConnectionPositionPair> = {\n\tabove: new ConnectionPositionPair(\n\t\t{ originX: 'center', originY: 'top' },\n\t\t{\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'bottom',\n\t\t},\n\t),\n\tbelow: new ConnectionPositionPair(\n\t\t{ originX: 'center', originY: 'bottom' },\n\t\t{\n\t\t\toverlayX: 'center',\n\t\t\toverlayY: 'top',\n\t\t},\n\t),\n\tbefore: new ConnectionPositionPair(\n\t\t{ originX: 'start', originY: 'center' },\n\t\t{\n\t\t\toverlayX: 'end',\n\t\t\toverlayY: 'center',\n\t\t},\n\t),\n\tafter: new ConnectionPositionPair(\n\t\t{ originX: 'end', originY: 'center' },\n\t\t{\n\t\t\toverlayX: 'start',\n\t\t\toverlayY: 'center',\n\t\t},\n\t),\n};\n\n@Directive({\n\tselector: '[luPopover2]',\n\thost: {\n\t\t'[attr.aria-expanded]': 'opened()',\n\t},\n\texportAs: 'luPopover2',\n})\nexport class PopoverDirective implements OnDestroy {\n\toverlay = inject(Overlay);\n\n\telementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t#vcr = inject(ViewContainerRef);\n\n\t#destroyRef = inject(DestroyRef);\n\n\t#renderer = inject(Renderer2);\n\n\tintl = input(...intlInputOptions(LU_POPOVER2_TRANSLATIONS));\n\n\t@Input({\n\t\talias: 'luPopover2',\n\t})\n\tcontent: TemplateRef<unknown> | Type<unknown>;\n\n\t@Input()\n\tluPopoverPosition: PopoverPosition = 'above';\n\n\t@Input({\n\t\ttransform: booleanAttribute,\n\t})\n\tluPopoverDisabled = false;\n\n\tluPopoverTrigger = model<'click' | 'click+hover' | 'hover+focus'>('click');\n\n\t@Input()\n\tcustomPositions?: ConnectionPositionPair[];\n\n\t@Input({ transform: booleanAttribute })\n\t/**\n\t * Removes close button entirely, this is bad for a11y but sometimes we want it.\n\t */\n\tluPopoverNoCloseButton = false;\n\n\t/**\n\t * Allows to anchor the popover to another element instead of the trigger one\n\t * for placement purpose\n\t */\n\tluPopoverAnchor = input<FlexibleConnectedPositionStrategyOrigin>(this.elementRef);\n\n\t// We have to type these two for Compodoc to find the right type and tell Storybook these aren't strings\n\tluPopoverOpenDelay: InputSignal<number> = input<number>(300);\n\n\tluPopoverCloseDelay: InputSignal<number> = input<number>(100);\n\n\topen$ = new Subject<'focus' | 'click' | 'hover'>();\n\n\tclose$ = new Subject<void>();\n\n\tluPopoverClosed = output<void>();\n\n\tluPopoverOpened = output<void>();\n\n\t#listenToMouseLeave = false;\n\t#listenToMouseEnter = true;\n\t#skipNextFocus = false;\n\n\t#overlayRef: OverlayRef;\n\n\t#componentRef?: PopoverContentComponent;\n\n\tpositionPairs: Record<PopoverPosition, ConnectionPositionPair> = defaultPositionPairs;\n\n\topened = signal(false);\n\n\t@HostBinding('attr.aria-controls')\n\tariaControls = `popover-content-${nextId++}`;\n\n\t#screenReaderDescription?: HTMLSpanElement;\n\n\t// For when we need to extend this popover and add some extra providers to the panel\n\tprotected additionalProviders: Provider[] = [];\n\n\tconstructor() {\n\t\tcombineLatest([toObservable(this.luPopoverOpenDelay), toObservable(this.luPopoverCloseDelay), toObservable(this.luPopoverTrigger)])\n\t\t\t.pipe(\n\t\t\t\tfilter(([, , trigger]) => {\n\t\t\t\t\treturn trigger.includes('hover') || trigger.includes('focus');\n\t\t\t\t}),\n\t\t\t\tswitchMap(([openDelay, closeDelay]) => {\n\t\t\t\t\treturn merge(this.open$.pipe(map((type) => ['open', type])), this.close$.pipe(map(() => ['close']))).pipe(\n\t\t\t\t\t\tdebounce(([event]) => {\n\t\t\t\t\t\t\treturn timer(event === 'open' ? openDelay : closeDelay);\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t}),\n\t\t\t\ttakeUntilDestroyed(this.#destroyRef),\n\t\t\t)\n\t\t\t.subscribe(([event, type]: ['open' | 'close', 'focus' | 'click' | 'hover']) => {\n\t\t\t\tif (event === 'open') {\n\t\t\t\t\tthis.openPopover(type === 'focus', true, type === 'hover');\n\t\t\t\t\tthis.#listenToMouseLeave = type !== 'click';\n\t\t\t\t\tif (type === 'focus' && !this.#screenReaderDescription) {\n\t\t\t\t\t\tthis.#screenReaderDescription = this.#renderer.createElement('span') as HTMLSpanElement;\n\t\t\t\t\t\tthis.#screenReaderDescription.innerText = this.intl().screenReaderDescription;\n\t\t\t\t\t\tthis.#renderer.addClass(this.#screenReaderDescription, 'pr-u-mask');\n\t\t\t\t\t\tthis.#renderer.appendChild(this.elementRef.nativeElement, this.#screenReaderDescription);\n\t\t\t\t\t}\n\t\t\t\t} else if (this.opened()) {\n\t\t\t\t\tthis.#componentRef?.close();\n\t\t\t\t\tthis.#listenToMouseEnter = true;\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis.#componentRef?.close();\n\t}\n\n\t@HostListener('mouseenter')\n\tonMouseEnter() {\n\t\tif (this.#listenToMouseEnter && this.luPopoverTrigger().includes('hover')) {\n\t\t\tthis.open$.next('hover');\n\t\t\tthis.#listenToMouseLeave = true;\n\t\t}\n\t}\n\n\t@HostListener('focus')\n\tonFocus() {\n\t\tif (this.luPopoverTrigger().includes('focus')) {\n\t\t\tif (this.#skipNextFocus) {\n\t\t\t\tthis.#skipNextFocus = false;\n\t\t\t} else {\n\t\t\t\tthis.open$.next('focus');\n\t\t\t\tthis.#listenToMouseLeave = true;\n\t\t\t\tthis.#skipNextFocus = true;\n\t\t\t}\n\t\t}\n\t}\n\n\t@HostListener('mouseleave')\n\tonMouseLeave() {\n\t\tif (this.#listenToMouseLeave && this.luPopoverTrigger().includes('hover')) {\n\t\t\tthis.close$.next();\n\t\t\tthis.#listenToMouseEnter = true;\n\t\t}\n\t}\n\n\t@HostListener('click')\n\tclick(): void {\n\t\tif (this.opened()) {\n\t\t\tthis.#componentRef?.close();\n\t\t\tthis.#listenToMouseLeave = true;\n\t\t} else {\n\t\t\tthis.openPopover(true);\n\t\t\tthis.#listenToMouseLeave = false;\n\t\t\tthis.#listenToMouseEnter = false;\n\t\t}\n\t}\n\n\tclose(): void {\n\t\tif (this.opened()) {\n\t\t\tthis.#componentRef?.close();\n\t\t\tthis.#listenToMouseLeave = true;\n\t\t}\n\t}\n\n\topenPopover(withBackdrop = false, disableCloseButtonFocus = false, disableInitialTriggerFocus = false): void {\n\t\tif (!this.opened() && !this.luPopoverDisabled) {\n\t\t\tthis.opened.set(true);\n\t\t\tthis.luPopoverOpened.emit();\n\t\t\tthis.#overlayRef = this.overlay.create({\n\t\t\t\tpositionStrategy: this.overlay\n\t\t\t\t\t.position()\n\t\t\t\t\t.flexibleConnectedTo(this.luPopoverAnchor())\n\t\t\t\t\t.withPositions(this.customPositions || this.#buildPositions()),\n\t\t\t\tscrollStrategy: this.overlay.scrollStrategies.reposition(),\n\t\t\t\thasBackdrop: withBackdrop,\n\t\t\t\tbackdropClass: '',\n\t\t\t\tdisposeOnNavigation: true,\n\t\t\t});\n\t\t\t// Close on backdrop click even if backdrop is invisible\n\t\t\tthis.#overlayRef\n\t\t\t\t.backdropClick()\n\t\t\t\t.pipe(takeUntilDestroyed(this.#destroyRef))\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tthis.#componentRef?.close();\n\t\t\t\t\tthis.#listenToMouseLeave = true;\n\t\t\t\t});\n\t\t\tconst config: PopoverConfig = {\n\t\t\t\tcontent: this.content,\n\t\t\t\tref: this.#overlayRef,\n\t\t\t\tcontentId: this.ariaControls,\n\t\t\t\ttriggerElement: this.elementRef.nativeElement,\n\t\t\t\tdisableCloseButtonFocus: disableCloseButtonFocus,\n\t\t\t\tdisableInitialTriggerFocus: disableInitialTriggerFocus,\n\t\t\t\tnoCloseButton: this.luPopoverNoCloseButton,\n\t\t\t};\n\t\t\tthis.#componentRef = this.#overlayRef.attach(\n\t\t\t\tnew ComponentPortal(\n\t\t\t\t\tPopoverContentComponent,\n\t\t\t\t\tthis.#vcr,\n\t\t\t\t\tInjector.create({\n\t\t\t\t\t\tproviders: [{ provide: POPOVER_CONFIG, useValue: config }, { provide: PopoverContentComponent, useValue: this.#componentRef }, ...this.additionalProviders],\n\t\t\t\t\t}),\n\t\t\t\t),\n\t\t\t).instance;\n\t\t\t// On tooltip leave => trigger close\n\t\t\tthis.#componentRef.mouseLeave$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.close$.next());\n\t\t\t// On tooltip enter => trigger open to keep it opened\n\t\t\tthis.#componentRef.mouseEnter$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => this.open$.next('hover'));\n\t\t\tthis.#componentRef.closed$.pipe(takeUntilDestroyed(this.#componentRef.destroyRef), takeUntilDestroyed(this.#destroyRef)).subscribe(() => {\n\t\t\t\tthis.opened.set(false);\n\t\t\t\tthis.#skipNextFocus = false;\n\t\t\t\tthis.luPopoverClosed.emit();\n\t\t\t\tthis.#listenToMouseLeave = false;\n\t\t\t\tif (this.#screenReaderDescription) {\n\t\t\t\t\tthis.#screenReaderDescription.remove();\n\t\t\t\t\tthis.#screenReaderDescription = undefined;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\t@HostListener('keydown.Tab', ['$event'])\n\tfocusBackToContent(event: Event): void {\n\t\tif (this.opened()) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.#componentRef?.grabFocus();\n\t\t}\n\t}\n\n\t@HostListener('keydown.Shift.Tab', ['$event'])\n\tfocusOutBefore(_event: Event): void {\n\t\tif (this.opened() && this.luPopoverTrigger().includes('focus')) {\n\t\t\tthis.#componentRef?.close();\n\t\t}\n\t}\n\n\tupdatePosition() {\n\t\tthis.#overlayRef?.updatePosition();\n\t}\n\n\t#buildPositions(): ConnectedPosition[] {\n\t\tconst opposite: Record<PopoverPosition, PopoverPosition> = {\n\t\t\tbefore: 'after',\n\t\t\tafter: 'before',\n\t\t\tabove: 'below',\n\t\t\tbelow: 'above',\n\t\t};\n\t\t// Once we have opposite, what's remaining?\n\t\tconst remaining: Record<PopoverPosition, PopoverPosition[]> = {\n\t\t\tbefore: ['above', 'below'],\n\t\t\tafter: ['above', 'below'],\n\t\t\tabove: ['before', 'after'],\n\t\t\tbelow: ['before', 'after'],\n\t\t};\n\t\treturn [this.positionPairs[this.luPopoverPosition], this.positionPairs[opposite[this.luPopoverPosition]], ...remaining[this.luPopoverPosition].map((r) => this.positionPairs[r])];\n\t}\n}\n","import { EnvironmentProviders, importProvidersFrom, makeEnvironmentProviders } from '@angular/core';\nimport { OverlayModule } from '@angular/cdk/overlay';\n\nexport function configureLuPopover(): EnvironmentProviders {\n\treturn makeEnvironmentProviders([importProvidersFrom(OverlayModule)]);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["LU_POPOVER2_TRANSLATIONS"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, input, booleanAttribute, signal, viewChild, computed, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
- import { getIntl, isNil } from '@lucca-front/ng/core';
2
+ import { InjectionToken, input, booleanAttribute, computed, viewChild, signal, inject, DestroyRef, afterNextRender, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
+ import { intlInputOptions, isNil } from '@lucca-front/ng/core';
4
4
 
5
5
  const Translations = {
6
6
  fr: {
@@ -44,14 +44,14 @@ const luReadMoreTranslations = Translations;
44
44
 
45
45
  class ReadMoreComponent {
46
46
  constructor() {
47
- this.intl = getIntl(LU_READMORE_TRANSLATIONS);
47
+ this.intl = input(...intlInputOptions(LU_READMORE_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
48
48
  this.lineClamp = input(5, ...(ngDevMode ? [{ debugName: "lineClamp" }] : []));
49
49
  this.openOnly = input(false, { ...(ngDevMode ? { debugName: "openOnly" } : {}), transform: booleanAttribute });
50
50
  this.textFlow = input(false, { ...(ngDevMode ? { debugName: "textFlow" } : {}), transform: booleanAttribute });
51
51
  this.surface = input(null, ...(ngDevMode ? [{ debugName: "surface" }] : []));
52
- this.labelReadMore = this.intl.readMore;
53
- this.labelReadLess = this.intl.readLess;
54
- this.label = signal(this.labelReadMore, ...(ngDevMode ? [{ debugName: "label" }] : []));
52
+ this.labelReadMore = computed(() => this.intl().readMore, ...(ngDevMode ? [{ debugName: "labelReadMore" }] : []));
53
+ this.labelReadLess = computed(() => this.intl().readLess, ...(ngDevMode ? [{ debugName: "labelReadLess" }] : []));
54
+ this.label = computed(() => (this.expanded() ? this.labelReadLess() : this.labelReadMore()), ...(ngDevMode ? [{ debugName: "label" }] : []));
55
55
  this.innerContent = input(null, ...(ngDevMode ? [{ debugName: "innerContent" }] : []));
56
56
  this.contentRef = viewChild('content', ...(ngDevMode ? [{ debugName: "contentRef" }] : []));
57
57
  this.expanded = signal(false, ...(ngDevMode ? [{ debugName: "expanded" }] : []));
@@ -62,32 +62,34 @@ class ReadMoreComponent {
62
62
  }
63
63
  return `${this.surface()}`;
64
64
  }, ...(ngDevMode ? [{ debugName: "backgroundColor" }] : []));
65
- this.isNil = isNil;
66
- }
67
- ngOnInit() {
68
- setTimeout(() => {
69
- new ResizeObserver(() => {
65
+ this.isInnerContentNil = computed(() => isNil(this.innerContent()), ...(ngDevMode ? [{ debugName: "isInnerContentNil" }] : []));
66
+ const destroyRef = inject(DestroyRef);
67
+ afterNextRender(() => {
68
+ const content = this.contentRef();
69
+ if (!content) {
70
+ return;
71
+ }
72
+ const observer = new ResizeObserver(() => {
70
73
  const contentElement = this.contentRef()?.nativeElement;
74
+ if (!contentElement) {
75
+ return;
76
+ }
71
77
  const lineHeight = parseFloat(window.getComputedStyle(contentElement).lineHeight);
72
78
  const totalLines = Math.round(contentElement.scrollHeight / lineHeight);
73
79
  this.isClamped.set(contentElement.scrollHeight > contentElement.clientHeight);
74
80
  if (!this.isClamped() && totalLines <= this.lineClamp()) {
75
81
  this.expanded.set(false);
76
82
  }
77
- }).observe(this.contentRef().nativeElement, { box: 'border-box' });
83
+ });
84
+ observer.observe(content.nativeElement);
85
+ destroyRef.onDestroy(() => observer.disconnect());
78
86
  });
79
87
  }
80
88
  toggleExpanded() {
81
89
  this.expanded.set(!this.expanded());
82
- if (this.expanded()) {
83
- this.label.set(this.labelReadLess);
84
- }
85
- else {
86
- this.label.set(this.labelReadMore);
87
- }
88
90
  }
89
91
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ReadMoreComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
90
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ReadMoreComponent, isStandalone: true, selector: "lu-read-more", inputs: { lineClamp: { classPropertyName: "lineClamp", publicName: "lineClamp", isSignal: true, isRequired: false, transformFunction: null }, openOnly: { classPropertyName: "openOnly", publicName: "openOnly", isSignal: true, isRequired: false, transformFunction: null }, textFlow: { classPropertyName: "textFlow", publicName: "textFlow", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, innerContent: { classPropertyName: "innerContent", publicName: "innerContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--components-readMore-lineClamp": "lineClamp()", "style.--components-readMore-content-lastChild-content": "labelReadLess", "class.is-disabled": "!expanded() && !isClamped()", "class.mod-openOnly": "openOnly()", "class.mod-sunken": "surface() === `sunken`", "class.mod-default": "surface() === `default`", "style.--components-readMore-link-backgroudColor": "backgroundColor()" }, classAttribute: "readMore" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isNil(innerContent())) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--pr-t-spacings-50) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-product-700);outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}}@layer components{.textFlow h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ReadMoreComponent, isStandalone: true, selector: "lu-read-more", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, lineClamp: { classPropertyName: "lineClamp", publicName: "lineClamp", isSignal: true, isRequired: false, transformFunction: null }, openOnly: { classPropertyName: "openOnly", publicName: "openOnly", isSignal: true, isRequired: false, transformFunction: null }, textFlow: { classPropertyName: "textFlow", publicName: "textFlow", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null }, innerContent: { classPropertyName: "innerContent", publicName: "innerContent", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.--components-readMore-lineClamp": "lineClamp()", "style.--components-readMore-content-lastChild-content": "labelReadLess", "class.is-disabled": "!expanded() && !isClamped()", "class.mod-openOnly": "openOnly()", "class.mod-sunken": "surface() === `sunken`", "class.mod-default": "surface() === `default`", "style.--components-readMore-link-backgroudColor": "backgroundColor()" }, classAttribute: "readMore" }, viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isInnerContentNil()) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--pr-t-spacings-50) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-product-700);outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}}@layer components{.textFlow h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
91
93
  }
92
94
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ReadMoreComponent, decorators: [{
93
95
  type: Component,
@@ -100,8 +102,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
100
102
  '[class.mod-sunken]': 'surface() === `sunken`',
101
103
  '[class.mod-default]': 'surface() === `default`',
102
104
  '[style.--components-readMore-link-backgroudColor]': 'backgroundColor()',
103
- }, template: "<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isNil(innerContent())) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--pr-t-spacings-50) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-product-700);outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}}@layer components{.textFlow h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"] }]
104
- }], propDecorators: { lineClamp: [{ type: i0.Input, args: [{ isSignal: true, alias: "lineClamp", required: false }] }], openOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "openOnly", required: false }] }], textFlow: [{ type: i0.Input, args: [{ isSignal: true, alias: "textFlow", required: false }] }], surface: [{ type: i0.Input, args: [{ isSignal: true, alias: "surface", required: false }] }], innerContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "innerContent", required: false }] }], contentRef: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }] } });
105
+ }, template: "<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isInnerContentNil()) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n", styles: ["@layer components{.readMore{--components-readMore-lineClamp: 5;--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-raised);--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-500);position:relative;display:block}.readMore-link.link{position:absolute;display:flex;inset:auto 0 var(--pr-t-spacings-50) auto;flex-direction:column;z-index:1;line-height:var(--pr-t-font-body-M-lineHeight);background-image:linear-gradient(to right,transparent,var(--components-readMore-link-backgroudColor) calc(var(--components-readMore-link-paddingInlineStart) - var(--pr-t-spacings-100)));padding-inline-start:var(--components-readMore-link-paddingInlineStart);font-weight:var(--pr-t-font-fontWeight-semibold);text-decoration:none}.readMore-link.link:before{content:\"\";position:absolute;inset:0;inset-inline-start:var(--components-readMore-link-paddingInlineStart);border-radius:var(--pr-t-border-radius-default)}.readMore-link.link:focus-visible{outline:none}.readMore-link.link:focus-visible:before{outline:2px solid var(--palettes-product-700);outline-offset:2px}.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:is(ol,ul)>*:last-child:after,.readMore-content:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)>*:last-child:not(ol,ul):after,.readMore-content:not(:has(>p,>ul,>ol,>h1,>h2,>h3,>h4,>h5,>h6)):after{content:var(--components-readMore-content-lastChild-content)/\"\";visibility:hidden;white-space:nowrap;font:var(--pr-t-font-body-M);font-weight:var(--pr-t-font-fontWeight-semibold);padding-inline-start:var(--components-readMore-link-paddingInlineStart)}.readMore-content{display:-webkit-box;-webkit-line-clamp:var(--components-readMore-lineClamp);-webkit-box-orient:vertical;overflow:hidden;padding:var(--pr-t-spacings-50);margin:calc(var(--pr-t-spacings-50) * -1)}}@layer mods{.readMore:has(.readMore-link[aria-expanded=true],.readMore-content:focus-within){--components-readMore-lineClamp: 9999 !important;--components-readMore-link-paddingInlineStart: var(--pr-t-spacings-100)}.readMore.is-disabled{--components-readMore-content-lastChild-content: none !important}.readMore.is-disabled .readMore-link.link{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]){--components-readMore-content-lastChild-content: none !important}.readMore.mod-openOnly:has(.readMore-link[aria-expanded=true]) .readMore-link.link{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.readMore.mod-default{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-default)}.readMore.mod-sunken{--components-readMore-link-backgroudColor: var(--pr-t-elevation-surface-sunken)}}@layer components{.textFlow h1{margin-block:var(--pr-t-spacings-300)}.textFlow h2{margin-block:var(--pr-t-spacings-300) var(--pr-t-spacings-150)}.textFlow h3{margin-block:var(--pr-t-spacings-200) var(--pr-t-spacings-150)}.textFlow h4{margin-block:var(--pr-t-spacings-150)}.textFlow p,.textFlow ul,.textFlow ol{margin-block:var(--pr-t-spacings-100)}.textFlow li{margin-block:var(--pr-t-spacings-50)}.textFlow>:first-child{margin-block-start:0}.textFlow>:last-child{margin-block-end:0}.textFlow>:last-child:is(ul,ol)>:last-child{margin-block-end:0}}\n"] }]
106
+ }], ctorParameters: () => [], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], lineClamp: [{ type: i0.Input, args: [{ isSignal: true, alias: "lineClamp", required: false }] }], openOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "openOnly", required: false }] }], textFlow: [{ type: i0.Input, args: [{ isSignal: true, alias: "textFlow", required: false }] }], surface: [{ type: i0.Input, args: [{ isSignal: true, alias: "surface", required: false }] }], innerContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "innerContent", required: false }] }], contentRef: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }] } });
105
107
 
106
108
  /**
107
109
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-read-more.mjs","sources":["../../../packages/ng/read-more/translations.ts","../../../packages/ng/read-more/read-more.translate.ts","../../../packages/ng/read-more/read-more.component.ts","../../../packages/ng/read-more/read-more.component.html","../../../packages/ng/read-more/lucca-front-ng-read-more.ts"],"sourcesContent":["export const Translations = {\n\tfr: {\n\t\treadMore: 'Lire plus',\n\t\treadLess: 'Lire moins',\n\t},\n\tpt: {\n\t\treadMore: 'Ler mais',\n\t\treadLess: 'Ler menos',\n\t},\n\tes: {\n\t\treadMore: 'Leer más',\n\t\treadLess: 'Leer menos',\n\t},\n\t'nl-BE': {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tnl: {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tit: {\n\t\treadMore: 'Mostra di più',\n\t\treadLess: 'Mostra di meno',\n\t},\n\tde: {\n\t\treadMore: 'Mehr lesen',\n\t\treadLess: 'Weniger lesen',\n\t},\n\ten: {\n\t\treadMore: 'Read more',\n\t\treadLess: 'Read less',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_READMORE_TRANSLATIONS = new InjectionToken('luReadMoreTranslations', {\n\tfactory: () => luReadMoreTranslations,\n});\n\nexport interface ReadMoreTranslate {\n\treadMore: string;\n\treadLess: string;\n}\n\nexport const luReadMoreTranslations: LuTranslation<ReadMoreTranslate> = Translations;\n","import { booleanAttribute, ChangeDetectionStrategy, Component, computed, ElementRef, input, OnInit, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { getIntl, isNil } from '@lucca-front/ng/core';\nimport { LU_READMORE_TRANSLATIONS } from './read-more.translate';\n\n@Component({\n\tselector: 'lu-read-more',\n\ttemplateUrl: './read-more.component.html',\n\tstyleUrl: './read-more.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'readMore',\n\t\t'[style.--components-readMore-lineClamp]': 'lineClamp()',\n\t\t'[style.--components-readMore-content-lastChild-content]': 'labelReadLess',\n\t\t'[class.is-disabled]': '!expanded() && !isClamped()',\n\t\t'[class.mod-openOnly]': 'openOnly()',\n\t\t'[class.mod-sunken]': 'surface() === `sunken`',\n\t\t'[class.mod-default]': 'surface() === `default`',\n\t\t'[style.--components-readMore-link-backgroudColor]': 'backgroundColor()',\n\t},\n})\nexport class ReadMoreComponent implements OnInit {\n\tintl = getIntl(LU_READMORE_TRANSLATIONS);\n\n\treadonly lineClamp = input<number>(5);\n\treadonly openOnly = input(false, { transform: booleanAttribute });\n\treadonly textFlow = input(false, { transform: booleanAttribute });\n\treadonly surface = input<null | 'sunken' | 'default' | string>(null);\n\n\tlabelReadMore = this.intl.readMore;\n\tlabelReadLess = this.intl.readLess;\n\n\tlabel = signal<string>(this.labelReadMore);\n\n\tinnerContent = input<null | string>(null);\n\n\treadonly contentRef = viewChild<ElementRef<HTMLDivElement>>('content');\n\n\texpanded = signal(false);\n\tisClamped = signal(false);\n\n\treadonly backgroundColor = computed(() => {\n\t\tif (this.surface() === 'sunken' || this.surface() === 'default' || this.surface() === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn `${this.surface()}`;\n\t});\n\n\tisNil = isNil;\n\n\tngOnInit(): void {\n\t\tsetTimeout(() => {\n\t\t\tnew ResizeObserver(() => {\n\t\t\t\tconst contentElement = this.contentRef()?.nativeElement;\n\t\t\t\tconst lineHeight = parseFloat(window.getComputedStyle(contentElement).lineHeight);\n\t\t\t\tconst totalLines = Math.round(contentElement.scrollHeight / lineHeight);\n\n\t\t\t\tthis.isClamped.set(contentElement.scrollHeight > contentElement.clientHeight);\n\t\t\t\tif (!this.isClamped() && totalLines <= this.lineClamp()) {\n\t\t\t\t\tthis.expanded.set(false);\n\t\t\t\t}\n\t\t\t}).observe(this.contentRef().nativeElement, { box: 'border-box' });\n\t\t});\n\t}\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\n\t\tif (this.expanded()) {\n\t\t\tthis.label.set(this.labelReadLess);\n\t\t} else {\n\t\t\tthis.label.set(this.labelReadMore);\n\t\t}\n\t}\n}\n","<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isNil(innerContent())) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAAO,MAAM,YAAY,GAAG;AAC3B,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,QAAQ,EAAE,YAAY;AACtB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,QAAQ,EAAE,WAAW;AACrB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,QAAQ,EAAE,YAAY;AACtB,KAAA;AACD,IAAA,OAAO,EAAE;AACR,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,QAAQ,EAAE,cAAc;AACxB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,QAAQ,EAAE,cAAc;AACxB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,eAAe;AACzB,QAAA,QAAQ,EAAE,gBAAgB;AAC1B,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,QAAQ,EAAE,eAAe;AACzB,KAAA;AACD,IAAA,EAAE,EAAE;AACH,QAAA,QAAQ,EAAE,WAAW;AACrB,QAAA,QAAQ,EAAE,WAAW;AACrB,KAAA;CACD;;AC7BM,MAAM,wBAAwB,GAAG,IAAI,cAAc,CAAC,wBAAwB,EAAE;AACpF,IAAA,OAAO,EAAE,MAAM,sBAAsB;AACrC,CAAA,CAAC;AAOK,MAAM,sBAAsB,GAAqC,YAAY;;MCQvE,iBAAiB,CAAA;AAjB9B,IAAA,WAAA,GAAA;AAkBC,QAAA,IAAA,CAAA,IAAI,GAAG,OAAO,CAAC,wBAAwB,CAAC;AAE/B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAS,CAAC,qDAAC;QAC5B,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACxD,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACxD,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAAuC,IAAI,mDAAC;AAEpE,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;AAClC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ;AAElC,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAS,IAAI,CAAC,aAAa,iDAAC;AAE1C,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAgB,IAAI,wDAAC;AAEhC,QAAA,IAAA,CAAA,UAAU,GAAG,SAAS,CAA6B,SAAS,sDAAC;AAEtE,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,KAAK,oDAAC;AACxB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,KAAK,qDAAC;AAEhB,QAAA,IAAA,CAAA,eAAe,GAAG,QAAQ,CAAC,MAAK;YACxC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;AAC3F,gBAAA,OAAO,IAAI;YACZ;AACA,YAAA,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE;AAC3B,QAAA,CAAC,2DAAC;QAEF,IAAA,CAAA,KAAK,GAAG,KAAK;AA0Bb,IAAA;IAxBA,QAAQ,GAAA;QACP,UAAU,CAAC,MAAK;YACf,IAAI,cAAc,CAAC,MAAK;gBACvB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa;AACvD,gBAAA,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;AACjF,gBAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,GAAG,UAAU,CAAC;AAEvE,gBAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC;AAC7E,gBAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,UAAU,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;AACxD,oBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;gBACzB;AACD,YAAA,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC;AACnE,QAAA,CAAC,CAAC;IACH;IAEA,cAAc,GAAA;QACb,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;AAEnC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACnC;aAAO;YACN,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC;QACnC;IACD;8GApDY,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,kxCCrB9B,ufAiBA,EAAA,MAAA,EAAA,CAAA,s2GAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDIa,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAjB7B,SAAS;+BACC,cAAc,EAAA,aAAA,EAGT,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACL,wBAAA,KAAK,EAAE,UAAU;AACjB,wBAAA,yCAAyC,EAAE,aAAa;AACxD,wBAAA,yDAAyD,EAAE,eAAe;AAC1E,wBAAA,qBAAqB,EAAE,6BAA6B;AACpD,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,oBAAoB,EAAE,wBAAwB;AAC9C,wBAAA,qBAAqB,EAAE,yBAAyB;AAChD,wBAAA,mDAAmD,EAAE,mBAAmB;AACxE,qBAAA,EAAA,QAAA,EAAA,ufAAA,EAAA,MAAA,EAAA,CAAA,s2GAAA,CAAA,EAAA;gjBAiB2D,SAAS,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AEpCtE;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-read-more.mjs","sources":["../../../packages/ng/read-more/translations.ts","../../../packages/ng/read-more/read-more.translate.ts","../../../packages/ng/read-more/read-more.component.ts","../../../packages/ng/read-more/read-more.component.html","../../../packages/ng/read-more/lucca-front-ng-read-more.ts"],"sourcesContent":["export const Translations = {\n\tfr: {\n\t\treadMore: 'Lire plus',\n\t\treadLess: 'Lire moins',\n\t},\n\tpt: {\n\t\treadMore: 'Ler mais',\n\t\treadLess: 'Ler menos',\n\t},\n\tes: {\n\t\treadMore: 'Leer más',\n\t\treadLess: 'Leer menos',\n\t},\n\t'nl-BE': {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tnl: {\n\t\treadMore: 'Meer lezen',\n\t\treadLess: 'Minder lezen',\n\t},\n\tit: {\n\t\treadMore: 'Mostra di più',\n\t\treadLess: 'Mostra di meno',\n\t},\n\tde: {\n\t\treadMore: 'Mehr lesen',\n\t\treadLess: 'Weniger lesen',\n\t},\n\ten: {\n\t\treadMore: 'Read more',\n\t\treadLess: 'Read less',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_READMORE_TRANSLATIONS = new InjectionToken('luReadMoreTranslations', {\n\tfactory: () => luReadMoreTranslations,\n});\n\nexport interface ReadMoreTranslate {\n\treadMore: string;\n\treadLess: string;\n}\n\nexport const luReadMoreTranslations: LuTranslation<ReadMoreTranslate> = Translations;\n","import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, computed, DestroyRef, ElementRef, inject, input, signal, viewChild, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions, isNil } from '@lucca-front/ng/core';\nimport { LU_READMORE_TRANSLATIONS } from './read-more.translate';\n\n@Component({\n\tselector: 'lu-read-more',\n\ttemplateUrl: './read-more.component.html',\n\tstyleUrl: './read-more.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'readMore',\n\t\t'[style.--components-readMore-lineClamp]': 'lineClamp()',\n\t\t'[style.--components-readMore-content-lastChild-content]': 'labelReadLess',\n\t\t'[class.is-disabled]': '!expanded() && !isClamped()',\n\t\t'[class.mod-openOnly]': 'openOnly()',\n\t\t'[class.mod-sunken]': 'surface() === `sunken`',\n\t\t'[class.mod-default]': 'surface() === `default`',\n\t\t'[style.--components-readMore-link-backgroudColor]': 'backgroundColor()',\n\t},\n})\nexport class ReadMoreComponent {\n\tintl = input(...intlInputOptions(LU_READMORE_TRANSLATIONS));\n\n\treadonly lineClamp = input<number>(5);\n\treadonly openOnly = input(false, { transform: booleanAttribute });\n\treadonly textFlow = input(false, { transform: booleanAttribute });\n\treadonly surface = input<null | 'sunken' | 'default' | string>(null);\n\n\tlabelReadMore = computed(() => this.intl().readMore);\n\tlabelReadLess = computed(() => this.intl().readLess);\n\n\tlabel = computed(() => (this.expanded() ? this.labelReadLess() : this.labelReadMore()));\n\n\tinnerContent = input<null | string>(null);\n\n\treadonly contentRef = viewChild<ElementRef<HTMLDivElement>>('content');\n\n\texpanded = signal(false);\n\tisClamped = signal(false);\n\n\treadonly backgroundColor = computed(() => {\n\t\tif (this.surface() === 'sunken' || this.surface() === 'default' || this.surface() === null) {\n\t\t\treturn null;\n\t\t}\n\t\treturn `${this.surface()}`;\n\t});\n\n\treadonly isInnerContentNil = computed(() => isNil(this.innerContent()));\n\n\tconstructor() {\n\t\tconst destroyRef = inject(DestroyRef);\n\n\t\tafterNextRender(() => {\n\t\t\tconst content = this.contentRef();\n\n\t\t\tif (!content) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst observer = new ResizeObserver(() => {\n\t\t\t\tconst contentElement = this.contentRef()?.nativeElement;\n\n\t\t\t\tif (!contentElement) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst lineHeight = parseFloat(window.getComputedStyle(contentElement).lineHeight);\n\t\t\t\tconst totalLines = Math.round(contentElement.scrollHeight / lineHeight);\n\n\t\t\t\tthis.isClamped.set(contentElement.scrollHeight > contentElement.clientHeight);\n\n\t\t\t\tif (!this.isClamped() && totalLines <= this.lineClamp()) {\n\t\t\t\t\tthis.expanded.set(false);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tobserver.observe(content.nativeElement);\n\t\t\tdestroyRef.onDestroy(() => observer.disconnect());\n\t\t});\n\t}\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n}\n","<button\n\ttype=\"button\"\n\taria-hidden=\"true\"\n\t[attr.tabindex]=\"isClamped() ? null : '-1'\"\n\t[attr.aria-expanded]=\"expanded()\"\n\tclass=\"readMore-link link\"\n\t(click)=\"toggleExpanded()\"\n>\n\t{{ label() }}\n</button>\n@if (isInnerContentNil()) {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" #content>\n\t\t<ng-content />\n\t</div>\n} @else {\n\t<div class=\"readMore-content\" [class.textFlow]=\"textFlow()\" [innerHTML]=\"innerContent()\" #content></div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -65,7 +65,7 @@ class ResourceCardComponent {
65
65
  this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
66
66
  }
67
67
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ResourceCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ResourceCardComponent, isStandalone: true, selector: "lu-resource-card", inputs: { draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, headingLevel: { classPropertyName: "headingLevel", publicName: "headingLevel", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "class.mod-S": "size() === \"S\" || wrapperRef?.size() === \"S\"", "class.mod-grid": "grid() || wrapperRef?.grid()" }, classAttribute: "resourceCard" }, ngImport: i0, template: "<div class=\"resourceCard-layout\">\n\t<div class=\"resourceCard-layout-before\">\n\t\t@if (wrapperRef) {\n\t\t\t@if (!wrapperRef.grid() && wrapperRef.draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t} @else {\n\t\t\t@if (!grid() && draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t}\n\t\t<div class=\"resourceCard-layout-before-illustration\"><ng-content select=\"[resourceCardIllustration]\" /></div>\n\t</div>\n\t<header class=\"resourceCard-layout-header\">\n\t\t<div class=\"resourceCard-layout-header-title\" role=\"heading\" [attr.level]=\"headingLevel()\"><ng-content /></div>\n\t\t<div class=\"resourceCard-layout-header-infos\"><ng-content select=\"[resourceCardInfos]\" /></div>\n\t</header>\n\t<div class=\"resourceCard-layout-after\"><ng-content select=\"[resourceCardAction]\" /></div>\n\t<div class=\"resourceCard-layout-content\"><ng-content select=\"[resourceCardContent]\" /></div>\n</div>\n", styles: ["@layer components{.resourceCard{--components-resourceCard-color: inherit;--components-resourceCard-borderRadius: var(--pr-t-border-radius-structure);--components-resourceCard-before-inset: 0;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-raised);--components-resourceCard-layout-alignItems: start;--components-resourceCard-layout-content-font: var(--pr-t-font-body-M);--components-resourceCard-layout-content-paddingBlockStart: 0;--components-resourceCard-layout-before-illustration-minSize: var(--pr-t-spacings-500);--components-resourceCard-layout-after-marginBlock: 0;--components-resourceCard-layout-header-title-action-cursor: pointer;--components-resourceCard-layout-header-title-action-color: inherit;--components-resourceCard-layout-header-title-action-after-inset: var(--components-resourceCard-before-inset);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-3);--components-resourceCard-layout-header-alignItems: center;--components-resourceCard-layout-header-flexDirection: row;--components-resourceCard-layout-header-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-paddingBlockEnd: var(--pr-t-spacings-50);--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"before content after\" 1fr / auto 1fr auto;border-radius:var(--components-resourceCard-borderRadius);position:relative;color:var(--components-resourceCard-color);display:block;align-self:stretch;justify-self:stretch}.resourceCard:before{content:\"\";position:absolute;inset:var(--components-resourceCard-before-inset);background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--components-resourceCard-before-boxShadow);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset,box-shadow}.resourceCardWrapper{grid-template-columns:repeat(auto-fill,minmax(var(--components-resourceCardWrapper-gridTemplateColumnsMin),1fr));display:var(--components-resourceCardWrapper-display);flex-direction:column;gap:var(--pr-t-spacings-100);background-color:var(--pr-t-elevation-surface-sunken);padding:var(--pr-t-spacings-100);border-radius:var(--components-resourceCardWrapper-borderRadius);align-items:start;justify-items:start}.resourceCard-layout{isolation:isolate;padding:var(--pr-t-spacings-100);display:grid;grid-template:var(--components-resourceCard-layout-gridTemplate);align-items:var(--components-resourceCard-layout-alignItems)}.resourceCard-layout-header{display:flex;align-items:var(--components-resourceCard-layout-header-alignItems);flex-direction:var(--components-resourceCard-layout-header-flexDirection);gap:var(--pr-t-spacings-50) var(--pr-t-spacings-100);grid-area:header;padding-block-start:var(--components-resourceCard-layout-header-paddingBlockStart);padding-block-end:var(--components-resourceCard-layout-header-paddingBlockEnd);padding-inline:var(--pr-t-spacings-100);min-inline-size:0}.resourceCard-layout-header-infos{display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.resourceCard-layout-header-infos:empty{display:none}.resourceCard-layout-header-title{font:var(--components-resourceCard-layout-header-title-font);display:flex;gap:var(--pr-t-spacings-100);align-items:center;min-inline-size:0;max-inline-size:100%}.resourceCard-layout-header-title-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;color:var(--components-resourceCard-layout-header-title-action-color);text-decoration:none;outline:none;cursor:var(--components-resourceCard-layout-header-title-action-cursor);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resourceCard-layout-header-title-action:after{content:\"\";position:absolute;inset:var(--components-resourceCard-layout-header-title-action-after-inset);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset;z-index:1}.resourceCard-layout-before{grid-area:before;display:flex;align-items:center}.resourceCard-layout-before-illustration:not(:empty){min-block-size:var(--components-resourceCard-layout-before-illustration-minSize);min-inline-size:var(--components-resourceCard-layout-before-illustration-minSize);margin:var(--pr-t-spacings-100) var(--pr-t-spacings-50) var(--pr-t-spacings-100) var(--pr-t-spacings-100);display:grid;place-items:center}.resourceCard-layout-before-illustration:empty{display:none}.resourceCard-layout-after{grid-area:after;margin-block:var(--components-resourceCard-layout-after-marginBlock)}.resourceCard-layout-content{grid-area:content;font:var(--components-resourceCard-layout-content-font)}.resourceCard-layout-content:not(:empty){padding:var(--components-resourceCard-layout-content-paddingBlockStart) var(--pr-t-spacings-100) var(--pr-t-spacings-50)}.resourceCard-layout-content a,.resourceCard-layout-content button,.resourceCard-layout-content [tabindex],.resourceCard-layout-before-button,.resourceCard-layout-after{position:relative;z-index:2}}@layer mods{.resourceCard:hover{--components-resourceCard-before-inset: -4px;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-overlay)}.resourceCard:has(.resourceCard-layout-header-title-action:focus-visible) .resourceCard-layout-header-title-action:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.resourceCard:has(.resourceCard-layout-header-title-action:active){--components-resourceCard-layout-header-title-action-color: var(--palettes-product-700);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-product-400)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled),.resourceCard:has(.resourceCard-layout-header-title-action:disabled){--components-resourceCard-layout-header-title-action-cursor: default;--components-resourceCard-before-inset: 0;--components-resourceCard-color: var(--palettes-neutral-500);--components-resourceCard-layout-header-title-action-color: var(--palettes-neutral-500);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-neutral-50)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:hover,.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.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))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-header-title .numericBadge) .resourceCard-layout-header-title .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))){--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-after-marginBlock: var(--pr-t-spacings-150)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S,.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-after-marginBlock: .625rem}.resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center;--components-resourceCard-layout-gridTemplate: \"before header after\" 1fr /auto 1fr auto}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:hover,.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .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))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:has(>lu-icon:only-child,>.lucca-icon:only-child,>.lucca-icon:first-child+.pr-u-mask:last-child){--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid.mod-S,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-header-paddingBlockStart: 0;--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard.mod-S{--components-resourceCard-layout-content-font: var(--pr-t-font-body-S);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-4);--components-resourceCard-layout-before-illustration-minSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}.resourceCard.mod-grid,.resourceCardWrapper.mod-grid .resourceCard{--components-resourceCard-layout-content-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-alignItems: start;--components-resourceCard-layout-header-flexDirection: column;--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"content content content\" auto /auto 1fr auto}}@layer components{.resourceCardWrapper{--components-resourceCardWrapper-gridTemplateColumnsMin: 20rem;--components-resourceCardWrapper-display: flex;--components-resourceCardWrapper-borderRadius: var(--pr-t-border-radius-structure)}}@layer mods{.resourceCardWrapper .resourceCard{--components-resourceCard-borderRadius: var(--pr-t-border-radius-default)}.resourceCardWrapper.mod-grid{--components-resourceCardWrapper-display: grid}.resourceCardWrapper:has(>.button)>.button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.resourceCardWrapper:has(>.button)>.button:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.resourceCardWrapper:has(>.button)>.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCardWrapper:has(>.button)>.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.resourceCardWrapper:has(>.button)>.button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.resourceCardWrapper:has(>.button)>.button{--palettes-text: var(--palettes-product-text);--palettes-0: var(--palettes-product-0);--palettes-25: var(--palettes-product-25);--palettes-50: var(--palettes-product-50);--palettes-100: var(--palettes-product-100);--palettes-200: var(--palettes-product-200);--palettes-300: var(--palettes-product-300);--palettes-400: var(--palettes-product-400);--palettes-500: var(--palettes-product-500);--palettes-600: var(--palettes-product-600);--palettes-700: var(--palettes-product-700);--palettes-800: var(--palettes-product-800);--palettes-900: var(--palettes-product-900)}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ResourceCardComponent, isStandalone: true, selector: "lu-resource-card", inputs: { draggable: { classPropertyName: "draggable", publicName: "draggable", isSignal: true, isRequired: false, transformFunction: null }, grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, headingLevel: { classPropertyName: "headingLevel", publicName: "headingLevel", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "region" }, properties: { "class.mod-S": "size() === \"S\" || wrapperRef?.size() === \"S\"", "class.mod-grid": "grid() || wrapperRef?.grid()" }, classAttribute: "resourceCard" }, ngImport: i0, template: "<div class=\"resourceCard-layout\">\n\t<div class=\"resourceCard-layout-before\">\n\t\t@if (wrapperRef) {\n\t\t\t@if (!wrapperRef.grid() && wrapperRef.draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t} @else {\n\t\t\t@if (!grid() && draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t}\n\t\t<div class=\"resourceCard-layout-before-illustration\"><ng-content select=\"[resourceCardIllustration]\" /></div>\n\t</div>\n\t<header class=\"resourceCard-layout-header\">\n\t\t<div class=\"resourceCard-layout-header-title\" role=\"heading\" [attr.level]=\"headingLevel()\"><ng-content /></div>\n\t\t<div class=\"resourceCard-layout-header-infos\"><ng-content select=\"[resourceCardInfos]\" /></div>\n\t</header>\n\t<div class=\"resourceCard-layout-after\"><ng-content select=\"[resourceCardAction]\" /></div>\n\t<div class=\"resourceCard-layout-content\"><ng-content select=\"[resourceCardContent]\" /></div>\n</div>\n", styles: ["@layer components{.resourceCard{--components-resourceCard-color: inherit;--components-resourceCard-borderRadius: var(--pr-t-border-radius-structure);--components-resourceCard-before-inset: 0;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-raised);--components-resourceCard-layout-alignItems: start;--components-resourceCard-layout-content-font: var(--pr-t-font-body-M);--components-resourceCard-layout-content-paddingBlockStart: 0;--components-resourceCard-layout-before-illustration-minSize: var(--pr-t-spacings-500);--components-resourceCard-layout-after-marginBlock: 0;--components-resourceCard-layout-header-title-action-cursor: pointer;--components-resourceCard-layout-header-title-action-color: inherit;--components-resourceCard-layout-header-title-action-after-inset: var(--components-resourceCard-before-inset);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-3);--components-resourceCard-layout-header-alignItems: center;--components-resourceCard-layout-header-flexDirection: row;--components-resourceCard-layout-header-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-paddingBlockEnd: var(--pr-t-spacings-50);--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"before content after\" 1fr / auto 1fr auto;border-radius:var(--components-resourceCard-borderRadius);position:relative;color:var(--components-resourceCard-color);display:block;align-self:stretch;justify-self:stretch}.resourceCard:before{content:\"\";position:absolute;inset:var(--components-resourceCard-before-inset);background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--components-resourceCard-before-boxShadow);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset,box-shadow}.resourceCardWrapper{grid-template-columns:repeat(auto-fill,minmax(var(--components-resourceCardWrapper-gridTemplateColumnsMin),1fr));display:var(--components-resourceCardWrapper-display);flex-direction:column;gap:var(--pr-t-spacings-100);background-color:var(--pr-t-elevation-surface-sunken);padding:var(--pr-t-spacings-100);border-radius:var(--components-resourceCardWrapper-borderRadius);align-items:start;justify-items:start}.resourceCard-layout{isolation:isolate;padding:var(--pr-t-spacings-100);display:grid;grid-template:var(--components-resourceCard-layout-gridTemplate);align-items:var(--components-resourceCard-layout-alignItems)}.resourceCard-layout-header{display:flex;align-items:var(--components-resourceCard-layout-header-alignItems);flex-direction:var(--components-resourceCard-layout-header-flexDirection);gap:var(--pr-t-spacings-50) var(--pr-t-spacings-100);grid-area:header;padding-block-start:var(--components-resourceCard-layout-header-paddingBlockStart);padding-block-end:var(--components-resourceCard-layout-header-paddingBlockEnd);padding-inline:var(--pr-t-spacings-100);min-inline-size:0}.resourceCard-layout-header-infos{display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.resourceCard-layout-header-infos:empty{display:none}.resourceCard-layout-header-title{font:var(--components-resourceCard-layout-header-title-font);display:flex;gap:var(--pr-t-spacings-100);align-items:center;min-inline-size:0;max-inline-size:100%}.resourceCard-layout-header-title-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;color:var(--components-resourceCard-layout-header-title-action-color);text-decoration:none;outline:none;cursor:var(--components-resourceCard-layout-header-title-action-cursor);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resourceCard-layout-header-title-action:after{content:\"\";position:absolute;inset:var(--components-resourceCard-layout-header-title-action-after-inset);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset;z-index:1}.resourceCard-layout-before{grid-area:before;display:flex;align-items:center}.resourceCard-layout-before-illustration:not(:empty){min-block-size:var(--components-resourceCard-layout-before-illustration-minSize);min-inline-size:var(--components-resourceCard-layout-before-illustration-minSize);margin:var(--pr-t-spacings-100) var(--pr-t-spacings-50) var(--pr-t-spacings-100) var(--pr-t-spacings-100);display:grid;place-items:center}.resourceCard-layout-before-illustration:empty{display:none}.resourceCard-layout-after{grid-area:after;margin-block:var(--components-resourceCard-layout-after-marginBlock)}.resourceCard-layout-content{grid-area:content;font:var(--components-resourceCard-layout-content-font)}.resourceCard-layout-content:not(:empty){padding:var(--components-resourceCard-layout-content-paddingBlockStart) var(--pr-t-spacings-100) var(--pr-t-spacings-50)}.resourceCard-layout-content a,.resourceCard-layout-content button,.resourceCard-layout-content [tabindex],.resourceCard-layout-before-button,.resourceCard-layout-after{position:relative;z-index:2}}@layer mods{.resourceCard:hover{--components-resourceCard-before-inset: -4px;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-overlay)}.resourceCard:has(.resourceCard-layout-header-title-action:focus-visible) .resourceCard-layout-header-title-action:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.resourceCard:has(.resourceCard-layout-header-title-action:active){--components-resourceCard-layout-header-title-action-color: var(--palettes-product-700);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-product-400)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled),.resourceCard:has(.resourceCard-layout-header-title-action:disabled){--components-resourceCard-layout-header-title-action-cursor: default;--components-resourceCard-before-inset: 0;--components-resourceCard-color: var(--palettes-neutral-500);--components-resourceCard-layout-header-title-action-color: var(--palettes-neutral-500);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-neutral-50)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled) .bubbleIllustration,.resourceCard:has(.resourceCard-layout-header-title-action:disabled) .bubbleIllustration{--palettes-brand-600: var(--pr-t-color-input-icon-disabled)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled) .bubbleIcon,.resourceCard:has(.resourceCard-layout-header-title-action:disabled) .bubbleIcon{--components-bubbleIcon-color: var(--pr-t-color-input-icon-disabled);--components-bubbleIcon-bubble-path-fill: var(--pr-t-color-input-background-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:hover,.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.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))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-header-title .numericBadge) .resourceCard-layout-header-title .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))){--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-after-marginBlock: var(--pr-t-spacings-150)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S,.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-after-marginBlock: .625rem}.resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center;--components-resourceCard-layout-gridTemplate: \"before header after\" 1fr /auto 1fr auto}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:hover,.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .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))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:has(>lu-icon:only-child,>.lucca-icon:only-child,>.lucca-icon:first-child+.pr-u-mask:last-child){--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid.mod-S,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-header-paddingBlockStart: 0;--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard.mod-S{--components-resourceCard-layout-content-font: var(--pr-t-font-body-S);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-4);--components-resourceCard-layout-before-illustration-minSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}.resourceCard.mod-S .bubbleIllustration{--components-bubbleIllustration-size: var(--pr-t-spacings-400)}.resourceCard.mod-S .bubbleIcon{--components-bubbleIcon-size: var(--pr-t-spacings-400)}.resourceCard.mod-S .bubbleIcon .lucca-icon{--icon-size: 1rem}.resourceCard.mod-grid,.resourceCardWrapper.mod-grid .resourceCard{--components-resourceCard-layout-content-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-alignItems: start;--components-resourceCard-layout-header-flexDirection: column;--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"content content content\" auto /auto 1fr auto}}@layer components{.resourceCardWrapper{--components-resourceCardWrapper-gridTemplateColumnsMin: 20rem;--components-resourceCardWrapper-display: flex;--components-resourceCardWrapper-borderRadius: var(--pr-t-border-radius-structure)}}@layer mods{.resourceCardWrapper .resourceCard{--components-resourceCard-borderRadius: var(--pr-t-border-radius-default)}.resourceCardWrapper.mod-grid{--components-resourceCardWrapper-display: grid}.resourceCardWrapper:has(>.button)>.button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.resourceCardWrapper:has(>.button)>.button:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.resourceCardWrapper:has(>.button)>.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCardWrapper:has(>.button)>.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.resourceCardWrapper:has(>.button)>.button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.resourceCardWrapper:has(>.button)>.button{--palettes-text: var(--palettes-product-text);--palettes-0: var(--palettes-product-0);--palettes-25: var(--palettes-product-25);--palettes-50: var(--palettes-product-50);--palettes-100: var(--palettes-product-100);--palettes-200: var(--palettes-product-200);--palettes-300: var(--palettes-product-300);--palettes-400: var(--palettes-product-400);--palettes-500: var(--palettes-product-500);--palettes-600: var(--palettes-product-600);--palettes-700: var(--palettes-product-700);--palettes-800: var(--palettes-product-800);--palettes-900: var(--palettes-product-900)}}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "pr-icon,lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
69
69
  }
70
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ResourceCardComponent, decorators: [{
71
71
  type: Component,
@@ -74,7 +74,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
74
74
  role: 'region',
75
75
  '[class.mod-S]': 'size() === "S" || wrapperRef?.size() === "S"',
76
76
  '[class.mod-grid]': 'grid() || wrapperRef?.grid()',
77
- }, template: "<div class=\"resourceCard-layout\">\n\t<div class=\"resourceCard-layout-before\">\n\t\t@if (wrapperRef) {\n\t\t\t@if (!wrapperRef.grid() && wrapperRef.draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t} @else {\n\t\t\t@if (!grid() && draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t}\n\t\t<div class=\"resourceCard-layout-before-illustration\"><ng-content select=\"[resourceCardIllustration]\" /></div>\n\t</div>\n\t<header class=\"resourceCard-layout-header\">\n\t\t<div class=\"resourceCard-layout-header-title\" role=\"heading\" [attr.level]=\"headingLevel()\"><ng-content /></div>\n\t\t<div class=\"resourceCard-layout-header-infos\"><ng-content select=\"[resourceCardInfos]\" /></div>\n\t</header>\n\t<div class=\"resourceCard-layout-after\"><ng-content select=\"[resourceCardAction]\" /></div>\n\t<div class=\"resourceCard-layout-content\"><ng-content select=\"[resourceCardContent]\" /></div>\n</div>\n", styles: ["@layer components{.resourceCard{--components-resourceCard-color: inherit;--components-resourceCard-borderRadius: var(--pr-t-border-radius-structure);--components-resourceCard-before-inset: 0;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-raised);--components-resourceCard-layout-alignItems: start;--components-resourceCard-layout-content-font: var(--pr-t-font-body-M);--components-resourceCard-layout-content-paddingBlockStart: 0;--components-resourceCard-layout-before-illustration-minSize: var(--pr-t-spacings-500);--components-resourceCard-layout-after-marginBlock: 0;--components-resourceCard-layout-header-title-action-cursor: pointer;--components-resourceCard-layout-header-title-action-color: inherit;--components-resourceCard-layout-header-title-action-after-inset: var(--components-resourceCard-before-inset);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-3);--components-resourceCard-layout-header-alignItems: center;--components-resourceCard-layout-header-flexDirection: row;--components-resourceCard-layout-header-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-paddingBlockEnd: var(--pr-t-spacings-50);--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"before content after\" 1fr / auto 1fr auto;border-radius:var(--components-resourceCard-borderRadius);position:relative;color:var(--components-resourceCard-color);display:block;align-self:stretch;justify-self:stretch}.resourceCard:before{content:\"\";position:absolute;inset:var(--components-resourceCard-before-inset);background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--components-resourceCard-before-boxShadow);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset,box-shadow}.resourceCardWrapper{grid-template-columns:repeat(auto-fill,minmax(var(--components-resourceCardWrapper-gridTemplateColumnsMin),1fr));display:var(--components-resourceCardWrapper-display);flex-direction:column;gap:var(--pr-t-spacings-100);background-color:var(--pr-t-elevation-surface-sunken);padding:var(--pr-t-spacings-100);border-radius:var(--components-resourceCardWrapper-borderRadius);align-items:start;justify-items:start}.resourceCard-layout{isolation:isolate;padding:var(--pr-t-spacings-100);display:grid;grid-template:var(--components-resourceCard-layout-gridTemplate);align-items:var(--components-resourceCard-layout-alignItems)}.resourceCard-layout-header{display:flex;align-items:var(--components-resourceCard-layout-header-alignItems);flex-direction:var(--components-resourceCard-layout-header-flexDirection);gap:var(--pr-t-spacings-50) var(--pr-t-spacings-100);grid-area:header;padding-block-start:var(--components-resourceCard-layout-header-paddingBlockStart);padding-block-end:var(--components-resourceCard-layout-header-paddingBlockEnd);padding-inline:var(--pr-t-spacings-100);min-inline-size:0}.resourceCard-layout-header-infos{display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.resourceCard-layout-header-infos:empty{display:none}.resourceCard-layout-header-title{font:var(--components-resourceCard-layout-header-title-font);display:flex;gap:var(--pr-t-spacings-100);align-items:center;min-inline-size:0;max-inline-size:100%}.resourceCard-layout-header-title-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;color:var(--components-resourceCard-layout-header-title-action-color);text-decoration:none;outline:none;cursor:var(--components-resourceCard-layout-header-title-action-cursor);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resourceCard-layout-header-title-action:after{content:\"\";position:absolute;inset:var(--components-resourceCard-layout-header-title-action-after-inset);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset;z-index:1}.resourceCard-layout-before{grid-area:before;display:flex;align-items:center}.resourceCard-layout-before-illustration:not(:empty){min-block-size:var(--components-resourceCard-layout-before-illustration-minSize);min-inline-size:var(--components-resourceCard-layout-before-illustration-minSize);margin:var(--pr-t-spacings-100) var(--pr-t-spacings-50) var(--pr-t-spacings-100) var(--pr-t-spacings-100);display:grid;place-items:center}.resourceCard-layout-before-illustration:empty{display:none}.resourceCard-layout-after{grid-area:after;margin-block:var(--components-resourceCard-layout-after-marginBlock)}.resourceCard-layout-content{grid-area:content;font:var(--components-resourceCard-layout-content-font)}.resourceCard-layout-content:not(:empty){padding:var(--components-resourceCard-layout-content-paddingBlockStart) var(--pr-t-spacings-100) var(--pr-t-spacings-50)}.resourceCard-layout-content a,.resourceCard-layout-content button,.resourceCard-layout-content [tabindex],.resourceCard-layout-before-button,.resourceCard-layout-after{position:relative;z-index:2}}@layer mods{.resourceCard:hover{--components-resourceCard-before-inset: -4px;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-overlay)}.resourceCard:has(.resourceCard-layout-header-title-action:focus-visible) .resourceCard-layout-header-title-action:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.resourceCard:has(.resourceCard-layout-header-title-action:active){--components-resourceCard-layout-header-title-action-color: var(--palettes-product-700);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-product-400)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled),.resourceCard:has(.resourceCard-layout-header-title-action:disabled){--components-resourceCard-layout-header-title-action-cursor: default;--components-resourceCard-before-inset: 0;--components-resourceCard-color: var(--palettes-neutral-500);--components-resourceCard-layout-header-title-action-color: var(--palettes-neutral-500);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-neutral-50)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:hover,.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.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))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-header-title .numericBadge) .resourceCard-layout-header-title .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))){--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-after-marginBlock: var(--pr-t-spacings-150)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S,.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-after-marginBlock: .625rem}.resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center;--components-resourceCard-layout-gridTemplate: \"before header after\" 1fr /auto 1fr auto}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:hover,.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .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))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:has(>lu-icon:only-child,>.lucca-icon:only-child,>.lucca-icon:first-child+.pr-u-mask:last-child){--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid.mod-S,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-header-paddingBlockStart: 0;--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard.mod-S{--components-resourceCard-layout-content-font: var(--pr-t-font-body-S);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-4);--components-resourceCard-layout-before-illustration-minSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}.resourceCard.mod-grid,.resourceCardWrapper.mod-grid .resourceCard{--components-resourceCard-layout-content-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-alignItems: start;--components-resourceCard-layout-header-flexDirection: column;--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"content content content\" auto /auto 1fr auto}}@layer components{.resourceCardWrapper{--components-resourceCardWrapper-gridTemplateColumnsMin: 20rem;--components-resourceCardWrapper-display: flex;--components-resourceCardWrapper-borderRadius: var(--pr-t-border-radius-structure)}}@layer mods{.resourceCardWrapper .resourceCard{--components-resourceCard-borderRadius: var(--pr-t-border-radius-default)}.resourceCardWrapper.mod-grid{--components-resourceCardWrapper-display: grid}.resourceCardWrapper:has(>.button)>.button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.resourceCardWrapper:has(>.button)>.button:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.resourceCardWrapper:has(>.button)>.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCardWrapper:has(>.button)>.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.resourceCardWrapper:has(>.button)>.button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.resourceCardWrapper:has(>.button)>.button{--palettes-text: var(--palettes-product-text);--palettes-0: var(--palettes-product-0);--palettes-25: var(--palettes-product-25);--palettes-50: var(--palettes-product-50);--palettes-100: var(--palettes-product-100);--palettes-200: var(--palettes-product-200);--palettes-300: var(--palettes-product-300);--palettes-400: var(--palettes-product-400);--palettes-500: var(--palettes-product-500);--palettes-600: var(--palettes-product-600);--palettes-700: var(--palettes-product-700);--palettes-800: var(--palettes-product-800);--palettes-900: var(--palettes-product-900)}}\n"] }]
77
+ }, template: "<div class=\"resourceCard-layout\">\n\t<div class=\"resourceCard-layout-before\">\n\t\t@if (wrapperRef) {\n\t\t\t@if (!wrapperRef.grid() && wrapperRef.draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t} @else {\n\t\t\t@if (!grid() && draggable()) {\n\t\t\t\t<div class=\"button cdk-drag-handle resourceCard-layout-before-button\" cdkDragHandle>\n\t\t\t\t\t<lu-icon icon=\"dotsDrag\" class=\"resourceCard-layout-before-button-icon\" />\n\t\t\t\t</div>\n\t\t\t}\n\t\t}\n\t\t<div class=\"resourceCard-layout-before-illustration\"><ng-content select=\"[resourceCardIllustration]\" /></div>\n\t</div>\n\t<header class=\"resourceCard-layout-header\">\n\t\t<div class=\"resourceCard-layout-header-title\" role=\"heading\" [attr.level]=\"headingLevel()\"><ng-content /></div>\n\t\t<div class=\"resourceCard-layout-header-infos\"><ng-content select=\"[resourceCardInfos]\" /></div>\n\t</header>\n\t<div class=\"resourceCard-layout-after\"><ng-content select=\"[resourceCardAction]\" /></div>\n\t<div class=\"resourceCard-layout-content\"><ng-content select=\"[resourceCardContent]\" /></div>\n</div>\n", styles: ["@layer components{.resourceCard{--components-resourceCard-color: inherit;--components-resourceCard-borderRadius: var(--pr-t-border-radius-structure);--components-resourceCard-before-inset: 0;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-raised);--components-resourceCard-layout-alignItems: start;--components-resourceCard-layout-content-font: var(--pr-t-font-body-M);--components-resourceCard-layout-content-paddingBlockStart: 0;--components-resourceCard-layout-before-illustration-minSize: var(--pr-t-spacings-500);--components-resourceCard-layout-after-marginBlock: 0;--components-resourceCard-layout-header-title-action-cursor: pointer;--components-resourceCard-layout-header-title-action-color: inherit;--components-resourceCard-layout-header-title-action-after-inset: var(--components-resourceCard-before-inset);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-3);--components-resourceCard-layout-header-alignItems: center;--components-resourceCard-layout-header-flexDirection: row;--components-resourceCard-layout-header-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-paddingBlockEnd: var(--pr-t-spacings-50);--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"before content after\" 1fr / auto 1fr auto;border-radius:var(--components-resourceCard-borderRadius);position:relative;color:var(--components-resourceCard-color);display:block;align-self:stretch;justify-self:stretch}.resourceCard:before{content:\"\";position:absolute;inset:var(--components-resourceCard-before-inset);background-color:var(--pr-t-elevation-surface-raised);box-shadow:var(--components-resourceCard-before-boxShadow);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset,box-shadow}.resourceCardWrapper{grid-template-columns:repeat(auto-fill,minmax(var(--components-resourceCardWrapper-gridTemplateColumnsMin),1fr));display:var(--components-resourceCardWrapper-display);flex-direction:column;gap:var(--pr-t-spacings-100);background-color:var(--pr-t-elevation-surface-sunken);padding:var(--pr-t-spacings-100);border-radius:var(--components-resourceCardWrapper-borderRadius);align-items:start;justify-items:start}.resourceCard-layout{isolation:isolate;padding:var(--pr-t-spacings-100);display:grid;grid-template:var(--components-resourceCard-layout-gridTemplate);align-items:var(--components-resourceCard-layout-alignItems)}.resourceCard-layout-header{display:flex;align-items:var(--components-resourceCard-layout-header-alignItems);flex-direction:var(--components-resourceCard-layout-header-flexDirection);gap:var(--pr-t-spacings-50) var(--pr-t-spacings-100);grid-area:header;padding-block-start:var(--components-resourceCard-layout-header-paddingBlockStart);padding-block-end:var(--components-resourceCard-layout-header-paddingBlockEnd);padding-inline:var(--pr-t-spacings-100);min-inline-size:0}.resourceCard-layout-header-infos{display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.resourceCard-layout-header-infos:empty{display:none}.resourceCard-layout-header-title{font:var(--components-resourceCard-layout-header-title-font);display:flex;gap:var(--pr-t-spacings-100);align-items:center;min-inline-size:0;max-inline-size:100%}.resourceCard-layout-header-title-action{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;color:var(--components-resourceCard-layout-header-title-action-color);text-decoration:none;outline:none;cursor:var(--components-resourceCard-layout-header-title-action-cursor);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.resourceCard-layout-header-title-action:after{content:\"\";position:absolute;inset:var(--components-resourceCard-layout-header-title-action-after-inset);border-radius:var(--components-resourceCard-borderRadius);transition-duration:var(--commons-animations-durations-fast);transition-property:inset;z-index:1}.resourceCard-layout-before{grid-area:before;display:flex;align-items:center}.resourceCard-layout-before-illustration:not(:empty){min-block-size:var(--components-resourceCard-layout-before-illustration-minSize);min-inline-size:var(--components-resourceCard-layout-before-illustration-minSize);margin:var(--pr-t-spacings-100) var(--pr-t-spacings-50) var(--pr-t-spacings-100) var(--pr-t-spacings-100);display:grid;place-items:center}.resourceCard-layout-before-illustration:empty{display:none}.resourceCard-layout-after{grid-area:after;margin-block:var(--components-resourceCard-layout-after-marginBlock)}.resourceCard-layout-content{grid-area:content;font:var(--components-resourceCard-layout-content-font)}.resourceCard-layout-content:not(:empty){padding:var(--components-resourceCard-layout-content-paddingBlockStart) var(--pr-t-spacings-100) var(--pr-t-spacings-50)}.resourceCard-layout-content a,.resourceCard-layout-content button,.resourceCard-layout-content [tabindex],.resourceCard-layout-before-button,.resourceCard-layout-after{position:relative;z-index:2}}@layer mods{.resourceCard:hover{--components-resourceCard-before-inset: -4px;--components-resourceCard-before-boxShadow: var(--pr-t-elevation-shadow-overlay)}.resourceCard:has(.resourceCard-layout-header-title-action:focus-visible) .resourceCard-layout-header-title-action:after{outline:2px solid var(--palettes-product-700);outline-offset:2px}.resourceCard:has(.resourceCard-layout-header-title-action:active){--components-resourceCard-layout-header-title-action-color: var(--palettes-product-700);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-product-400)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled),.resourceCard:has(.resourceCard-layout-header-title-action:disabled){--components-resourceCard-layout-header-title-action-cursor: default;--components-resourceCard-before-inset: 0;--components-resourceCard-color: var(--palettes-neutral-500);--components-resourceCard-layout-header-title-action-color: var(--palettes-neutral-500);--components-resourceCard-before-boxShadow: 0 0 0 1px var(--palettes-neutral-50)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled) .bubbleIllustration,.resourceCard:has(.resourceCard-layout-header-title-action:disabled) .bubbleIllustration{--palettes-brand-600: var(--pr-t-color-input-icon-disabled)}.resourceCard:has(.resourceCard-layout-header-title-action.is-disabled) .bubbleIcon,.resourceCard:has(.resourceCard-layout-header-title-action:disabled) .bubbleIcon{--components-bubbleIcon-color: var(--pr-t-color-input-icon-disabled);--components-bubbleIcon-bubble-path-fill: var(--pr-t-color-input-background-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:hover,.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.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))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-before-button) .resourceCard-layout-before-button.button{--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-header-title .numericBadge) .resourceCard-layout-header-title .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))){--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-after-marginBlock: var(--pr-t-spacings-150)}.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.mod-grid):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S,.resourceCard:has(.resourceCard-layout-content:not(:empty)):not(.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:not(:empty))):has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-after-marginBlock: .625rem}.resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-content:empty):has(.resourceCard-layout-before-illustration:not(:empty)),.resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)):not(.mod-grid),.resourceCardWrapper.mod-grid .resourceCard:not(:has(.resourceCard-layout-content)):has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center;--components-resourceCard-layout-gridTemplate: \"before header after\" 1fr /auto 1fr auto}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--icon-size: 1.25rem;--components-button-font: var(--pr-t-font-body-S);--components-button-paddingBlock: var(--pr-t-spacings-75);--components-button-paddingInline: var(--pr-t-spacings-100);--components-button-gap: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button{--components-button-font-size: var(--pr-t-font-body-S-fontSize);--components-button-line-height: var(--pr-t-font-body-S-lineHeight);--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:hover,.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .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))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.resourceCard:has(.resourceCard-layout-after:not(:empty)) .resourceCard-layout-after .button:has(>lu-icon:only-child,>.lucca-icon:only-child,>.lucca-icon:first-child+.pr-u-mask:last-child){--components-button-padding: var(--pr-t-spacings-100);--components-button-padding: var(--pr-t-spacings-75)}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)){--components-resourceCard-layout-alignItems: center}.resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-grid.mod-S,.resourceCardWrapper.mod-grid .resourceCard:has(.resourceCard-layout-before-illustration:not(:empty)).mod-S{--components-resourceCard-layout-header-paddingBlockStart: 0;--components-resourceCard-layout-header-paddingBlockEnd: 0}.resourceCard.mod-S{--components-resourceCard-layout-content-font: var(--pr-t-font-body-S);--components-resourceCard-layout-header-title-font: var(--pr-t-font-heading-4);--components-resourceCard-layout-before-illustration-minSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}.resourceCard.mod-S .bubbleIllustration{--components-bubbleIllustration-size: var(--pr-t-spacings-400)}.resourceCard.mod-S .bubbleIcon{--components-bubbleIcon-size: var(--pr-t-spacings-400)}.resourceCard.mod-S .bubbleIcon .lucca-icon{--icon-size: 1rem}.resourceCard.mod-grid,.resourceCardWrapper.mod-grid .resourceCard{--components-resourceCard-layout-content-paddingBlockStart: var(--pr-t-spacings-50);--components-resourceCard-layout-header-alignItems: start;--components-resourceCard-layout-header-flexDirection: column;--components-resourceCard-layout-gridTemplate: \"before header after\" auto \"content content content\" auto /auto 1fr auto}}@layer components{.resourceCardWrapper{--components-resourceCardWrapper-gridTemplateColumnsMin: 20rem;--components-resourceCardWrapper-display: flex;--components-resourceCardWrapper-borderRadius: var(--pr-t-border-radius-structure)}}@layer mods{.resourceCardWrapper .resourceCard{--components-resourceCard-borderRadius: var(--pr-t-border-radius-default)}.resourceCardWrapper.mod-grid{--components-resourceCardWrapper-display: grid}.resourceCardWrapper:has(>.button)>.button{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200)}.resourceCardWrapper:has(>.button)>.button:hover{--components-button-boxShadow: var(--pr-t-elevation-shadow-button), 0 0 0 var(--commons-divider-width) var(--palettes-300, var(--palettes-neutral-300));--components-button-color: var(--palettes-700, var(--palettes-neutral-700));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50)) }.resourceCardWrapper:has(>.button)>.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.resourceCardWrapper:has(>.button)>.button:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.resourceCardWrapper:has(>.button)>.button:disabled{--components-button-backgroundColor: var(--palettes-neutral-0);--components-button-boxShadow: 0 0 0 1px var(--palettes-neutral-100);--components-button-color: var(--pr-t-color-text-disabled)}.resourceCardWrapper:has(>.button)>.button{--palettes-text: var(--palettes-product-text);--palettes-0: var(--palettes-product-0);--palettes-25: var(--palettes-product-25);--palettes-50: var(--palettes-product-50);--palettes-100: var(--palettes-product-100);--palettes-200: var(--palettes-product-200);--palettes-300: var(--palettes-product-300);--palettes-400: var(--palettes-product-400);--palettes-500: var(--palettes-product-500);--palettes-600: var(--palettes-product-600);--palettes-700: var(--palettes-product-700);--palettes-800: var(--palettes-product-800);--palettes-900: var(--palettes-product-900)}}\n"] }]
78
78
  }], propDecorators: { draggable: [{ type: i0.Input, args: [{ isSignal: true, alias: "draggable", required: false }] }], grid: [{ type: i0.Input, args: [{ isSignal: true, alias: "grid", required: false }] }], headingLevel: [{ type: i0.Input, args: [{ isSignal: true, alias: "headingLevel", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
79
79
 
80
80
  class ResourceCardWrapperComponent {