@lucca-front/ng 21.0.1 → 21.0.3

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 (162) hide show
  1. package/fesm2022/lucca-front-ng-app-layout.mjs +2 -2
  2. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  4. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-button.mjs +21 -0
  6. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-callout.mjs +38 -12
  8. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  9. package/fesm2022/lucca-front-ng-chip.mjs +32 -2
  10. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  11. package/fesm2022/lucca-front-ng-clear.mjs +17 -2
  12. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  13. package/fesm2022/lucca-front-ng-comment.mjs +20 -18
  14. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  15. package/fesm2022/lucca-front-ng-container.mjs +5 -7
  16. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  17. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +0 -2
  18. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  19. package/fesm2022/lucca-front-ng-core-select-user.mjs +6 -3
  20. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  21. package/fesm2022/lucca-front-ng-core-select.mjs +3 -4
  22. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-date.mjs +4 -4
  24. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-date2.mjs +4 -4
  26. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-dialog.mjs +2 -2
  28. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-divider.mjs +10 -1
  30. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-empty-state.mjs +16 -0
  32. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-fancy-box.mjs +12 -0
  34. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-filter-pills.mjs +3 -3
  36. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-footer.mjs +3 -0
  38. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  39. package/fesm2022/lucca-front-ng-form-field.mjs +2 -2
  40. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  41. package/fesm2022/lucca-front-ng-form-header.mjs +3 -0
  42. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-form.mjs +2 -2
  44. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +2 -3
  46. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +1 -1
  48. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-forms.mjs +14 -13
  50. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-gauge.mjs +28 -5
  52. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-grid.mjs +3 -3
  54. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  55. package/fesm2022/lucca-front-ng-highlight-data.mjs +31 -26
  56. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +3 -0
  58. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-icon.mjs +15 -0
  60. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-inline-message.mjs +12 -0
  62. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-link.mjs +15 -0
  64. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-listbox.mjs +17 -5
  66. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-listing.mjs +36 -7
  68. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-main-layout.mjs +8 -2
  71. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-mobile-push.mjs +18 -10
  73. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-multi-select.mjs +35 -22
  75. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -0
  77. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-numeric-badge.mjs +10 -1
  79. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-option.mjs +5 -5
  81. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-page-header.mjs +9 -0
  83. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-pagination.mjs +24 -0
  85. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-plg-push.mjs +6 -0
  87. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-popover2.mjs +18 -8
  89. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-progress-bar.mjs +12 -5
  91. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-read-more.mjs +16 -1
  93. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-resource-card.mjs +6 -6
  95. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-scroll-box.mjs +5 -2
  97. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +9 -3
  99. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-segmented-control.mjs +16 -1
  101. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-simple-select.mjs +8 -5
  103. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  104. package/fesm2022/lucca-front-ng-skeleton.mjs +63 -12
  105. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  106. package/fesm2022/lucca-front-ng-sortable-list.mjs +24 -0
  107. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  108. package/fesm2022/lucca-front-ng-status-badge.mjs +12 -0
  109. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  110. package/fesm2022/lucca-front-ng-tag.mjs +6 -0
  111. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  112. package/fesm2022/lucca-front-ng-time.mjs +4 -4
  113. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  114. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +30 -0
  115. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  116. package/package.json +7 -7
  117. package/schematics/palettes/index.js +2 -2
  118. package/src/components/_picker.scss +4 -0
  119. package/src/components/cdk/_overlay.scss +5 -0
  120. package/src/definitions/option/_option-item.scss +1 -0
  121. package/types/lucca-front-ng-breadcrumbs.d.ts +1 -1
  122. package/types/lucca-front-ng-button.d.ts +21 -0
  123. package/types/lucca-front-ng-callout.d.ts +32 -2
  124. package/types/lucca-front-ng-chip.d.ts +32 -2
  125. package/types/lucca-front-ng-clear.d.ts +20 -5
  126. package/types/lucca-front-ng-comment.d.ts +19 -11
  127. package/types/lucca-front-ng-container.d.ts +4 -4
  128. package/types/lucca-front-ng-divider.d.ts +10 -0
  129. package/types/lucca-front-ng-empty-state.d.ts +16 -0
  130. package/types/lucca-front-ng-fancy-box.d.ts +12 -0
  131. package/types/lucca-front-ng-footer.d.ts +3 -0
  132. package/types/lucca-front-ng-form-header.d.ts +3 -0
  133. package/types/lucca-front-ng-forms.d.ts +3 -2
  134. package/types/lucca-front-ng-gauge.d.ts +25 -0
  135. package/types/lucca-front-ng-grid.d.ts +1 -1
  136. package/types/lucca-front-ng-highlight-data.d.ts +36 -15
  137. package/types/lucca-front-ng-horizontal-navigation.d.ts +3 -0
  138. package/types/lucca-front-ng-icon.d.ts +15 -0
  139. package/types/lucca-front-ng-inline-message.d.ts +12 -0
  140. package/types/lucca-front-ng-link.d.ts +15 -0
  141. package/types/lucca-front-ng-listbox.d.ts +16 -4
  142. package/types/lucca-front-ng-listing.d.ts +33 -2
  143. package/types/lucca-front-ng-main-layout.d.ts +6 -0
  144. package/types/lucca-front-ng-mobile-push.d.ts +7 -0
  145. package/types/lucca-front-ng-multi-select.d.ts +30 -29
  146. package/types/lucca-front-ng-new-badge.d.ts +3 -0
  147. package/types/lucca-front-ng-numeric-badge.d.ts +9 -0
  148. package/types/lucca-front-ng-page-header.d.ts +9 -0
  149. package/types/lucca-front-ng-pagination.d.ts +24 -0
  150. package/types/lucca-front-ng-plg-push.d.ts +6 -0
  151. package/types/lucca-front-ng-popover2.d.ts +5 -3
  152. package/types/lucca-front-ng-progress-bar.d.ts +9 -0
  153. package/types/lucca-front-ng-read-more.d.ts +16 -1
  154. package/types/lucca-front-ng-resource-card.d.ts +6 -0
  155. package/types/lucca-front-ng-scroll-box.d.ts +4 -1
  156. package/types/lucca-front-ng-segmented-control-tabs.d.ts +7 -1
  157. package/types/lucca-front-ng-segmented-control.d.ts +16 -1
  158. package/types/lucca-front-ng-skeleton.d.ts +61 -6
  159. package/types/lucca-front-ng-sortable-list.d.ts +24 -0
  160. package/types/lucca-front-ng-status-badge.d.ts +12 -0
  161. package/types/lucca-front-ng-tag.d.ts +6 -0
  162. package/types/lucca-front-ng-vertical-navigation.d.ts +30 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-grid.mjs","sources":["../../../packages/ng/grid/grid.token.ts","../../../packages/ng/grid/grid-column/grid-column.component.ts","../../../packages/ng/grid/grid.component.ts","../../../packages/ng/grid/grid.component.html","../../../packages/ng/grid/lucca-front-ng-grid.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { GridComponent } from './grid.component';\n\nexport const LU_GRID_INSTANCE = new InjectionToken<GridComponent>('LU_GRID_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, inject, input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveConfig } from '@lucca-front/ng/core';\nimport { LU_GRID_INSTANCE } from '../grid.token';\n\n@Component({\n\tselector: 'lu-grid-column, [lu-grid-column]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'grid-column',\n\t\t'[style]': 'style()',\n\t},\n})\nexport class GridColumnComponent {\n\treadonly colspan = input(null, { transform: numberAttribute });\n\treadonly rowspan = input(null, { transform: numberAttribute });\n\treadonly column = input(null, { transform: numberAttribute });\n\treadonly row = input(null, { transform: numberAttribute });\n\treadonly align = input<'start' | 'center' | 'end' | 'auto' | null>(null);\n\treadonly justify = input<'start' | 'center' | 'end' | 'auto' | null>(null);\n\n\treadonly responsive = input<ResponsiveConfig<'row' | 'column' | 'rowspan' | 'colspan', number>>({});\n\n\tprotected gridRef = inject(LU_GRID_INSTANCE);\n\n\treadonly style = computed(() => {\n\t\treturn {\n\t\t\t'--grid-colspan': this.colspan() || this.gridRef.colspan(),\n\t\t\t'--grid-rowspan': this.rowspan() || this.gridRef.rowspan(),\n\t\t\t'--grid-column': this.column(),\n\t\t\t'--grid-row': this.row(),\n\t\t\t'--grid-align': this.align(),\n\t\t\t'--grid-justify': this.justify(),\n\t\t\t...Object.entries(this.responsive()).reduce((acc, [key, value]) => {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[`--grid-${key}`]: value,\n\t\t\t\t};\n\t\t\t}, {}),\n\t\t};\n\t});\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveProperty } from '@lucca-front/ng/core';\nimport { LU_GRID_INSTANCE } from './grid.token';\n\n@Component({\n\tselector: 'lu-grid, [lu-grid]',\n\ttemplateUrl: './grid.component.html',\n\tstyleUrls: ['./grid.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_GRID_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => GridComponent),\n\t\t},\n\t],\n})\nexport class GridComponent {\n\treadonly container = input(false, { transform: booleanAttribute });\n\treadonly columns = input(null, { transform: numberAttribute });\n\treadonly colspan = input(null, { transform: numberAttribute });\n\treadonly rowspan = input(null, { transform: numberAttribute });\n\n\treadonly mode = input<'form' | 'auto' | ResponsiveProperty<'auto'> | null>(null);\n\n\t#gapTransform = (gap: Gap | null): string | null => {\n\t\tconst spacingRegexp = /.*(\\d)$/g;\n\n\t\tif (!gap) {\n\t\t\treturn null;\n\t\t}\n\t\tif (spacingRegexp.test(gap)) {\n\t\t\treturn `var(--pr-t-spacings-${gap})`;\n\t\t}\n\t\treturn gap;\n\t};\n\n\treadonly gap = input<Gap | null>(null);\n\treadonly columnGap = input<Gap | null>(null);\n\treadonly rowGap = input<Gap | null>(null);\n\n\tprotected gridStyle = computed(() => ({\n\t\t'--grid-columns': this.mode() === null ? this.columns() : null,\n\t\t'--grid-gap': this.#gapTransform(this.gap()),\n\t\t'--grid-column-gap': this.#gapTransform(this.columnGap()),\n\t\t'--grid-row-gap': this.#gapTransform(this.rowGap()),\n\t}));\n}\n\nexport type Gap = '0' | '25' | '50' | '75' | '100' | '150' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | `${number}${string}`;\n","@if (container()) {\n\t<div class=\"grid-containerWrapper\">\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t</div>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"content\" />\n}\n\n<ng-template #content>\n\t<div class=\"grid\" [class]=\"mode() && `mod-${mode()}`\" [style]=\"gridStyle()\">\n\t\t<ng-content />\n\t</div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAGO,MAAM,gBAAgB,GAAG,IAAI,cAAc,CAAgB,kBAAkB,CAAC;;MCWxE,mBAAmB,CAAA;AAVhC,IAAA,WAAA,GAAA;QAWU,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QACrD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QACrD,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,IAAI,mDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QACpD,IAAA,CAAA,GAAG,GAAG,KAAK,CAAC,IAAI,gDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACjD,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAA6C,IAAI,iDAAC;AAC/D,QAAA,IAAA,CAAA,OAAO,GAAG,KAAK,CAA6C,IAAI,mDAAC;AAEjE,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAqE,EAAE,sDAAC;AAEzF,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAEnC,QAAA,IAAA,CAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;YAC9B,OAAO;gBACN,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;gBAC1D,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;AAC1D,gBAAA,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE;AAC9B,gBAAA,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;AACxB,gBAAA,cAAc,EAAE,IAAI,CAAC,KAAK,EAAE;AAC5B,gBAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,EAAE;gBAChC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,KAAI;oBACjE,OAAO;AACN,wBAAA,GAAG,GAAG;AACN,wBAAA,CAAC,CAAA,OAAA,EAAU,GAAG,CAAA,CAAE,GAAG,KAAK;qBACxB;gBACF,CAAC,EAAE,EAAE,CAAC;aACN;AACF,QAAA,CAAC,iDAAC;AACF,IAAA;8GA5BY,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,2hCARrB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQd,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAV/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kCAAkC;AAC5C,oBAAA,QAAQ,EAAE,gBAAgB;oBAC1B,aAAa,EAAE,iBAAiB,CAAC,IAAI;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,IAAI,EAAE;AACL,wBAAA,KAAK,EAAE,aAAa;AACpB,wBAAA,SAAS,EAAE,SAAS;AACpB,qBAAA;AACD,iBAAA;;;MCMY,aAAa,CAAA;AAd1B,IAAA,WAAA,GAAA;QAeU,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,sDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACzD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QACrD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QACrD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AAErD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAsD,IAAI,gDAAC;AAEhF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,GAAe,KAAmB;YAClD,MAAM,aAAa,GAAG,UAAU;YAEhC,IAAI,CAAC,GAAG,EAAE;AACT,gBAAA,OAAO,IAAI;YACZ;AACA,YAAA,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC5B,OAAO,CAAA,oBAAA,EAAuB,GAAG,CAAA,CAAA,CAAG;YACrC;AACA,YAAA,OAAO,GAAG;AACX,QAAA,CAAC;AAEQ,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAa,IAAI,+CAAC;AAC7B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAa,IAAI,qDAAC;AACnC,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAa,IAAI,kDAAC;AAE/B,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,OAAO;AACrC,YAAA,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI;YAC9D,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5C,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzD,gBAAgB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;AACnD,SAAA,CAAC,qDAAC;AACH,IAAA;AAtBA,IAAA,aAAa;8GARD,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAPd;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,aAAa,CAAC;AAC5C,aAAA;SACD,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjBF,4VAaA,y6nBDFW,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQd,aAAa,EAAA,UAAA,EAAA,CAAA;kBAdzB,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,aAAA,EAGf,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,OAAA,EACtC,CAAC,gBAAgB,CAAC,EAAA,SAAA,EAChB;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,WAAW,EAAE,UAAU,CAAC,mBAAmB,CAAC;AAC5C,yBAAA;AACD,qBAAA,EAAA,QAAA,EAAA,4VAAA,EAAA,MAAA,EAAA,CAAA,i3nBAAA,CAAA,EAAA;;;AEjBF;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-grid.mjs","sources":["../../../packages/ng/grid/grid.token.ts","../../../packages/ng/grid/grid-column/grid-column.component.ts","../../../packages/ng/grid/grid.component.ts","../../../packages/ng/grid/grid.component.html","../../../packages/ng/grid/lucca-front-ng-grid.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { GridComponent } from './grid.component';\n\nexport const LU_GRID_INSTANCE = new InjectionToken<GridComponent>('LU_GRID_INSTANCE');\n","import { ChangeDetectionStrategy, Component, computed, inject, input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveConfig } from '@lucca-front/ng/core';\nimport { LU_GRID_INSTANCE } from '../grid.token';\n\n@Component({\n\tselector: 'lu-grid-column, [lu-grid-column]',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'grid-column',\n\t\t'[style]': 'style()',\n\t},\n})\nexport class GridColumnComponent {\n\treadonly colspan = input(null, { transform: numberAttribute });\n\treadonly rowspan = input(null, { transform: numberAttribute });\n\treadonly column = input(null, { transform: numberAttribute });\n\treadonly row = input(null, { transform: numberAttribute });\n\treadonly align = input<'start' | 'center' | 'end' | 'auto' | null>(null);\n\treadonly justify = input<'start' | 'center' | 'end' | 'auto' | null>(null);\n\n\treadonly responsive = input<ResponsiveConfig<'row' | 'column' | 'rowspan' | 'colspan', number>>({});\n\n\tprotected gridRef = inject(LU_GRID_INSTANCE);\n\n\treadonly style = computed(() => {\n\t\treturn {\n\t\t\t'--grid-colspan': this.colspan() || this.gridRef.colspan(),\n\t\t\t'--grid-rowspan': this.rowspan() || this.gridRef.rowspan(),\n\t\t\t'--grid-column': this.column(),\n\t\t\t'--grid-row': this.row(),\n\t\t\t'--grid-align': this.align(),\n\t\t\t'--grid-justify': this.justify(),\n\t\t\t...Object.entries(this.responsive()).reduce((acc, [key, value]) => {\n\t\t\t\treturn {\n\t\t\t\t\t...acc,\n\t\t\t\t\t[`--grid-${key}`]: value,\n\t\t\t\t};\n\t\t\t}, {}),\n\t\t};\n\t});\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, forwardRef, input, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { ResponsiveProperty } from '@lucca-front/ng/core';\nimport { LU_GRID_INSTANCE } from './grid.token';\n\n@Component({\n\tselector: 'lu-grid, [lu-grid]',\n\ttemplateUrl: './grid.component.html',\n\tstyleUrls: ['./grid.component.scss'],\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_GRID_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => GridComponent),\n\t\t},\n\t],\n})\nexport class GridComponent {\n\treadonly container = input(false, { transform: booleanAttribute });\n\n\treadonly columns = input(null, { transform: numberAttribute });\n\n\treadonly colspan = input(null, { transform: numberAttribute });\n\n\treadonly rowspan = input(null, { transform: numberAttribute });\n\n\treadonly mode = input<'form' | 'auto' | ResponsiveProperty<'auto'> | null>(null);\n\n\treadonly gap = input<Gap | null>(null);\n\treadonly columnGap = input<Gap | null>(null);\n\n\treadonly rowGap = input<Gap | null>(null);\n\n\t#gapTransform = (gap: Gap | null): string | null => {\n\t\tconst spacingRegexp = /.*(\\d)$/g;\n\n\t\tif (!gap) {\n\t\t\treturn null;\n\t\t}\n\t\tif (spacingRegexp.test(gap)) {\n\t\t\treturn `var(--pr-t-spacings-${gap})`;\n\t\t}\n\t\treturn gap;\n\t};\n\n\tprotected readonly gridStyle = computed(() => ({\n\t\t'--grid-columns': this.mode() === null ? this.columns() : null,\n\t\t'--grid-gap': this.#gapTransform(this.gap()),\n\t\t'--grid-column-gap': this.#gapTransform(this.columnGap()),\n\t\t'--grid-row-gap': this.#gapTransform(this.rowGap()),\n\t}));\n}\n\nexport type Gap = '0' | '25' | '50' | '75' | '100' | '150' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | `${number}${string}`;\n","@if (container()) {\n\t<div class=\"grid-containerWrapper\">\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t</div>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"content\" />\n}\n\n<ng-template #content>\n\t<div class=\"grid\" [class]=\"mode() && `mod-${mode()}`\" [style]=\"gridStyle()\">\n\t\t<ng-content />\n\t</div>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, computed, booleanAttribute, effect, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { inject, input, booleanAttribute, computed, effect, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { LuClass, PortalDirective } from '@lucca-front/ng/core';
4
4
 
5
5
  class HighlightDataComponent {
@@ -12,42 +12,51 @@ class HighlightDataComponent {
12
12
  }
13
13
  constructor() {
14
14
  this.#luClass = inject(LuClass);
15
+ /**
16
+ * The title of the highlight date
17
+ */
15
18
  this.heading = input.required(...(ngDevMode ? [{ debugName: "heading" }] : []));
19
+ /**
20
+ * The content of the highlight date
21
+ */
16
22
  this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
23
+ /**
24
+ * Add text below the content
25
+ */
17
26
  this.subText = input(...(ngDevMode ? [undefined, { debugName: "subText" }] : []));
27
+ /**
28
+ * Define a bubble style based on the CDN image bubble number
29
+ */
18
30
  this.bubble = input(...(ngDevMode ? [undefined, { debugName: "bubble" }] : []));
19
- this.bubbleSrc = computed(() => {
20
- return `https://cdn.lucca.fr/transverse/prisme/visuals/highlight-data/${this.palette()}/bubbles-${this.bubbleTheme()}-${this.bubble()}.svg`;
21
- }, ...(ngDevMode ? [{ debugName: "bubbleSrc" }] : []));
31
+ /**
32
+ * Define a specific them white light or dark. (White by default)
33
+ */
22
34
  this.theme = input('white', ...(ngDevMode ? [{ debugName: "theme" }] : []));
23
35
  /**
24
36
  * Apply product name to illustration URL and CSS component palette
25
37
  * This specific palette must be set up on config.scss
26
38
  */
27
39
  this.palette = input('lucca', ...(ngDevMode ? [{ debugName: "palette" }] : []));
28
- this.bubbleTheme = computed(() => {
29
- if (this.theme() === 'dark') {
30
- return 'dark';
31
- }
32
- return 'light';
33
- }, ...(ngDevMode ? [{ debugName: "bubbleTheme" }] : []));
34
40
  /**
35
41
  * Main illustration
36
42
  * An URL can be apply for custom images
37
43
  */
38
44
  this.illustration = input(...(ngDevMode ? [undefined, { debugName: "illustration" }] : []));
39
- this.illustrationSrc = computed(() => {
40
- if (this.illustration().includes('/')) {
41
- return this.illustration();
42
- }
43
- return `https://cdn.lucca.fr/transverse/prisme/visuals/highlight-data/generic/${this.illustration()}.svg`;
44
- }, ...(ngDevMode ? [{ debugName: "illustrationSrc" }] : []));
45
+ /**
46
+ * Which size should the highlight data be? XS to medium
47
+ */
45
48
  this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
46
49
  /**
47
50
  * Adjust layout to text value
48
51
  */
49
52
  this.valueFirst = input(false, { ...(ngDevMode ? { debugName: "valueFirst" } : {}), transform: booleanAttribute });
53
+ /**
54
+ * Displayed in nested mode
55
+ */
50
56
  this.nested = input(false, { ...(ngDevMode ? { debugName: "nested" } : {}), transform: booleanAttribute });
57
+ this.illustrationSrc = computed(() => this.illustration().includes('/') ? this.illustration() : `https://cdn.lucca.fr/transverse/prisme/visuals/highlight-data/generic/${this.illustration()}.svg`, ...(ngDevMode ? [{ debugName: "illustrationSrc" }] : []));
58
+ this.bubbleSrc = computed(() => `https://cdn.lucca.fr/transverse/prisme/visuals/highlight-data/${this.palette()}/bubbles-${this.bubbleTheme()}-${this.bubble()}.svg`, ...(ngDevMode ? [{ debugName: "bubbleSrc" }] : []));
59
+ this.bubbleTheme = computed(() => (this.theme() === 'dark' ? 'dark' : 'light'), ...(ngDevMode ? [{ debugName: "bubbleTheme" }] : []));
51
60
  effect(() => {
52
61
  this.#luClass.setState({
53
62
  [`mod-${this.size()}`]: !!this.size(),
@@ -58,20 +67,16 @@ class HighlightDataComponent {
58
67
  });
59
68
  }
60
69
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: HighlightDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
61
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: HighlightDataComponent, isStandalone: true, selector: "lu-highlight-data", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, subText: { classPropertyName: "subText", publicName: "subText", isSignal: true, isRequired: false, transformFunction: null }, bubble: { classPropertyName: "bubble", publicName: "bubble", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, illustration: { classPropertyName: "illustration", publicName: "illustration", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, valueFirst: { classPropertyName: "valueFirst", publicName: "valueFirst", isSignal: true, isRequired: false, transformFunction: null }, nested: { classPropertyName: "nested", publicName: "nested", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-light": "this.lightClass", "class.mod-dark": "this.darkClass" }, classAttribute: "highlightData" }, providers: [LuClass], ngImport: i0, template: "<dl class=\"highlightData-content\">\n\t<dt class=\"highlightData-content-title\"><ng-container *luPortal=\"heading()\" /></dt>\n\t<dd class=\"highlightData-content-value\"><ng-container *luPortal=\"value()\" /></dd>\n\t@if (subText()) {\n\t\t<dd class=\"highlightData-content-subText\"><ng-container *luPortal=\"subText()\" /></dd>\n\t}\n\t<dd class=\"highlightData-content-action\"><ng-content /></dd>\n</dl>\n\n@if (bubble() || illustration()) {\n\t<div class=\"highlightData-illustrations\">\n\t\t@if (bubble()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-back\" [attr.src]=\"bubbleSrc()\" />\n\t\t}\n\t\t@if (illustration()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-front\" [attr.src]=\"illustrationSrc()\" />\n\t\t}\n\t</div>\n}\n", styles: ["@layer components{.highlightData{--components-highlightData-display: grid;--components-highlightData-grid: \"title action\" \"value action\";--components-highlightData-alignItem: center;--components-highlightData-background: var(--pr-t-elevation-surface-raised);--components-highlightData-padding-inline: var(--pr-t-spacings-200);--components-highlightData-padding-block: var(--pr-t-spacings-150);--components-highlightData-padding: var(--components-highlightData-padding-block) var(--components-highlightData-padding-inline);--components-highlightData-gap: var(--components-highlightData-padding-inline);--components-highlightData-borderRadius: var(--pr-t-border-radius-structure);--components-highlightData-title-color: var(--palettes-neutral-200);--components-highlightData-value-font: var(--pr-t-font-highlight-XXL);--components-highlightData-value-order: 0;--components-highlightData-action-padding: 0;--components-highlightData-illustrations-width: 86px;--components-highlightData-illustrations-height: 72px;--components-highlightData-illustrations-display: grid;display:block;background-color:var(--components-highlightData-background);border-radius:var(--components-highlightData-borderRadius);overflow:hidden;padding:var(--components-highlightData-padding);position:relative}.highlightData-content{margin:0}.highlightData-content>dd,.highlightData-content>div>dd{margin:0}.highlightData-content{display:var(--components-highlightData-display);grid-template-columns:1fr auto;grid-template-areas:var(--components-highlightData-grid);align-items:var(--components-highlightData-alignItem);flex-direction:column;column-gap:var(--components-highlightData-gap)}.highlightData-content-title{grid-area:title;font:var(--pr-t-font-body-S);color:var(--pr-t-color-text-subtle)}.highlightData-content-value{grid-area:value;font:var(--components-highlightData-value-font);order:var(--components-highlightData-value-order)}.highlightData-content-subText{font:var(--pr-t-font-body-XS);color:var(--pr-t-color-text-subtle);margin-block-start:var(--pr-t-spacings-100)!important}.highlightData-content-action{grid-area:action;padding-block-start:var(--components-highlightData-action-padding)}.highlightData-content-action:empty{display:none}.highlightData-content-action .link{--commons-text-link-color: var(--palettes-700, var(--palettes-product-700));--commons-text-link-hover: var(--palettes-800, var(--palettes-product-800))}.highlightData-content-action .button{--palettes-text: var(--palettes-neutral-text);--palettes-0: var(--palettes-neutral-0);--palettes-25: var(--palettes-neutral-25);--palettes-50: var(--palettes-neutral-50);--palettes-100: var(--palettes-neutral-100);--palettes-200: var(--palettes-neutral-200);--palettes-300: var(--palettes-neutral-300);--palettes-400: var(--palettes-neutral-400);--palettes-500: var(--palettes-neutral-500);--palettes-600: var(--palettes-neutral-600);--palettes-700: var(--palettes-neutral-700);--palettes-800: var(--palettes-neutral-800);--palettes-900: var(--palettes-neutral-900)}.highlightData-illustrations{display:var(--components-highlightData-illustrations-display);place-content:center;position:absolute;inset-block-end:0;inset-inline-end:0}.highlightData-illustrations-back,.highlightData-illustrations-front{grid-area:1/1;block-size:var(--components-highlightData-illustrations-height);inline-size:var(--components-highlightData-illustrations-width)}}@layer mods{.highlightData.mod-light{--components-highlightData-background: var(--palettes-50, var(--palettes-product-50))}.highlightData.mod-dark{--components-highlightData-background: var(--palettes-100, var(--palettes-product-100))}.highlightData.mod-valueFirst{--components-highlightData-grid: \"value action\" \"title action\"}.highlightData.mod-S{--components-highlightData-value-font: var(--pr-t-font-highlight-XL);--components-highlightData-illustrations-width: 82px;--components-highlightData-illustrations-height: 68px}.highlightData.mod-XS{--components-highlightData-value-font: var(--pr-t-font-highlight-L);--components-highlightData-illustrations-width: 77px;--components-highlightData-illustrations-height: 64px}.highlightData.mod-nested{--components-highlightData-borderRadius: var(--pr-t-border-radius-default)}.highlightData:has(.highlightData-illustrations){--components-highlightData-display: flex;--components-highlightData-alignItem: start;--components-highlightData-action-padding: var(--pr-t-spacings-100);padding-inline-end:calc(var(--components-highlightData-illustrations-width) + var(--components-highlightData-padding-inline))}.highlightData:has(.highlightData-illustrations).mod-valueFirst{--components-highlightData-value-order: -1}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: HighlightDataComponent, isStandalone: true, selector: "lu-highlight-data", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: true, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, subText: { classPropertyName: "subText", publicName: "subText", isSignal: true, isRequired: false, transformFunction: null }, bubble: { classPropertyName: "bubble", publicName: "bubble", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, illustration: { classPropertyName: "illustration", publicName: "illustration", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, valueFirst: { classPropertyName: "valueFirst", publicName: "valueFirst", isSignal: true, isRequired: false, transformFunction: null }, nested: { classPropertyName: "nested", publicName: "nested", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-light": "lightClass", "class.mod-dark": "darkClass" }, classAttribute: "highlightData" }, providers: [LuClass], ngImport: i0, template: "<dl class=\"highlightData-content\">\n\t<dt class=\"highlightData-content-title\"><ng-container *luPortal=\"heading()\" /></dt>\n\t<dd class=\"highlightData-content-value\"><ng-container *luPortal=\"value()\" /></dd>\n\t@if (subText()) {\n\t\t<dd class=\"highlightData-content-subText\"><ng-container *luPortal=\"subText()\" /></dd>\n\t}\n\t<dd class=\"highlightData-content-action\"><ng-content /></dd>\n</dl>\n\n@if (bubble() || illustration()) {\n\t<div class=\"highlightData-illustrations\">\n\t\t@if (bubble()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-back\" [attr.src]=\"bubbleSrc()\" />\n\t\t}\n\t\t@if (illustration()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-front\" [attr.src]=\"illustrationSrc()\" />\n\t\t}\n\t</div>\n}\n", styles: ["@layer components{.highlightData{--components-highlightData-display: grid;--components-highlightData-grid: \"title action\" \"value action\" \"subtext action\";--components-highlightData-alignItem: center;--components-highlightData-background: var(--pr-t-elevation-surface-raised);--components-highlightData-padding-inline: var(--pr-t-spacings-200);--components-highlightData-padding-block: var(--pr-t-spacings-150);--components-highlightData-padding: var(--components-highlightData-padding-block) var(--components-highlightData-padding-inline);--components-highlightData-gap: var(--components-highlightData-padding-inline);--components-highlightData-borderRadius: var(--pr-t-border-radius-structure);--components-highlightData-title-color: var(--palettes-neutral-200);--components-highlightData-value-font: var(--pr-t-font-highlight-XXL);--components-highlightData-value-order: 0;--components-highlightData-action-padding: 0;--components-highlightData-illustrations-width: 86px;--components-highlightData-illustrations-height: 72px;--components-highlightData-illustrations-display: grid;display:block;background-color:var(--components-highlightData-background);border-radius:var(--components-highlightData-borderRadius);overflow:hidden;padding:var(--components-highlightData-padding);position:relative}.highlightData-content{margin:0}.highlightData-content>dd,.highlightData-content>div>dd{margin:0}.highlightData-content{display:var(--components-highlightData-display);grid-template-columns:1fr auto;grid-template-areas:var(--components-highlightData-grid);align-items:var(--components-highlightData-alignItem);flex-direction:column;column-gap:var(--components-highlightData-gap)}.highlightData-content-title{grid-area:title;font:var(--pr-t-font-body-S);color:var(--pr-t-color-text-subtle)}.highlightData-content-value{grid-area:value;font:var(--components-highlightData-value-font);order:var(--components-highlightData-value-order)}.highlightData-content-subText{grid-area:subtext;font:var(--pr-t-font-body-XS);color:var(--pr-t-color-text-subtle);margin-block-start:var(--pr-t-spacings-100)!important}.highlightData-content-action{grid-area:action;padding-block-start:var(--components-highlightData-action-padding)}.highlightData-content-action:empty{display:none}.highlightData-content-action .link{--commons-text-link-color: var(--palettes-700, var(--palettes-product-700));--commons-text-link-hover: var(--palettes-800, var(--palettes-product-800))}.highlightData-content-action .button{--palettes-text: var(--palettes-neutral-text);--palettes-0: var(--palettes-neutral-0);--palettes-25: var(--palettes-neutral-25);--palettes-50: var(--palettes-neutral-50);--palettes-100: var(--palettes-neutral-100);--palettes-200: var(--palettes-neutral-200);--palettes-300: var(--palettes-neutral-300);--palettes-400: var(--palettes-neutral-400);--palettes-500: var(--palettes-neutral-500);--palettes-600: var(--palettes-neutral-600);--palettes-700: var(--palettes-neutral-700);--palettes-800: var(--palettes-neutral-800);--palettes-900: var(--palettes-neutral-900)}.highlightData-illustrations{display:var(--components-highlightData-illustrations-display);place-content:center;position:absolute;inset-block-end:0;inset-inline-end:0}.highlightData-illustrations-back,.highlightData-illustrations-front{grid-area:1/1;block-size:var(--components-highlightData-illustrations-height);inline-size:var(--components-highlightData-illustrations-width)}}@layer mods{.highlightData.mod-light{--components-highlightData-background: var(--palettes-50, var(--palettes-product-50))}.highlightData.mod-dark{--components-highlightData-background: var(--palettes-100, var(--palettes-product-100))}.highlightData.mod-valueFirst{--components-highlightData-grid: \"value action\" \"title action\" \"subtext action\"}.highlightData.mod-S{--components-highlightData-value-font: var(--pr-t-font-highlight-XL);--components-highlightData-illustrations-width: 82px;--components-highlightData-illustrations-height: 68px}.highlightData.mod-XS{--components-highlightData-value-font: var(--pr-t-font-highlight-L);--components-highlightData-illustrations-width: 77px;--components-highlightData-illustrations-height: 64px}.highlightData.mod-nested{--components-highlightData-borderRadius: var(--pr-t-border-radius-default)}.highlightData:has(.highlightData-illustrations){--components-highlightData-display: flex;--components-highlightData-alignItem: start;--components-highlightData-action-padding: var(--pr-t-spacings-100);padding-inline-end:calc(var(--components-highlightData-illustrations-width) + var(--components-highlightData-padding-inline))}.highlightData:has(.highlightData-illustrations).mod-valueFirst{--components-highlightData-value-order: -1}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
62
71
  }
63
72
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: HighlightDataComponent, decorators: [{
64
73
  type: Component,
65
- args: [{ selector: 'lu-highlight-data', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [LuClass], host: {
74
+ args: [{ selector: 'lu-highlight-data', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [PortalDirective], providers: [LuClass], host: {
66
75
  class: 'highlightData',
67
- }, imports: [PortalDirective], template: "<dl class=\"highlightData-content\">\n\t<dt class=\"highlightData-content-title\"><ng-container *luPortal=\"heading()\" /></dt>\n\t<dd class=\"highlightData-content-value\"><ng-container *luPortal=\"value()\" /></dd>\n\t@if (subText()) {\n\t\t<dd class=\"highlightData-content-subText\"><ng-container *luPortal=\"subText()\" /></dd>\n\t}\n\t<dd class=\"highlightData-content-action\"><ng-content /></dd>\n</dl>\n\n@if (bubble() || illustration()) {\n\t<div class=\"highlightData-illustrations\">\n\t\t@if (bubble()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-back\" [attr.src]=\"bubbleSrc()\" />\n\t\t}\n\t\t@if (illustration()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-front\" [attr.src]=\"illustrationSrc()\" />\n\t\t}\n\t</div>\n}\n", styles: ["@layer components{.highlightData{--components-highlightData-display: grid;--components-highlightData-grid: \"title action\" \"value action\";--components-highlightData-alignItem: center;--components-highlightData-background: var(--pr-t-elevation-surface-raised);--components-highlightData-padding-inline: var(--pr-t-spacings-200);--components-highlightData-padding-block: var(--pr-t-spacings-150);--components-highlightData-padding: var(--components-highlightData-padding-block) var(--components-highlightData-padding-inline);--components-highlightData-gap: var(--components-highlightData-padding-inline);--components-highlightData-borderRadius: var(--pr-t-border-radius-structure);--components-highlightData-title-color: var(--palettes-neutral-200);--components-highlightData-value-font: var(--pr-t-font-highlight-XXL);--components-highlightData-value-order: 0;--components-highlightData-action-padding: 0;--components-highlightData-illustrations-width: 86px;--components-highlightData-illustrations-height: 72px;--components-highlightData-illustrations-display: grid;display:block;background-color:var(--components-highlightData-background);border-radius:var(--components-highlightData-borderRadius);overflow:hidden;padding:var(--components-highlightData-padding);position:relative}.highlightData-content{margin:0}.highlightData-content>dd,.highlightData-content>div>dd{margin:0}.highlightData-content{display:var(--components-highlightData-display);grid-template-columns:1fr auto;grid-template-areas:var(--components-highlightData-grid);align-items:var(--components-highlightData-alignItem);flex-direction:column;column-gap:var(--components-highlightData-gap)}.highlightData-content-title{grid-area:title;font:var(--pr-t-font-body-S);color:var(--pr-t-color-text-subtle)}.highlightData-content-value{grid-area:value;font:var(--components-highlightData-value-font);order:var(--components-highlightData-value-order)}.highlightData-content-subText{font:var(--pr-t-font-body-XS);color:var(--pr-t-color-text-subtle);margin-block-start:var(--pr-t-spacings-100)!important}.highlightData-content-action{grid-area:action;padding-block-start:var(--components-highlightData-action-padding)}.highlightData-content-action:empty{display:none}.highlightData-content-action .link{--commons-text-link-color: var(--palettes-700, var(--palettes-product-700));--commons-text-link-hover: var(--palettes-800, var(--palettes-product-800))}.highlightData-content-action .button{--palettes-text: var(--palettes-neutral-text);--palettes-0: var(--palettes-neutral-0);--palettes-25: var(--palettes-neutral-25);--palettes-50: var(--palettes-neutral-50);--palettes-100: var(--palettes-neutral-100);--palettes-200: var(--palettes-neutral-200);--palettes-300: var(--palettes-neutral-300);--palettes-400: var(--palettes-neutral-400);--palettes-500: var(--palettes-neutral-500);--palettes-600: var(--palettes-neutral-600);--palettes-700: var(--palettes-neutral-700);--palettes-800: var(--palettes-neutral-800);--palettes-900: var(--palettes-neutral-900)}.highlightData-illustrations{display:var(--components-highlightData-illustrations-display);place-content:center;position:absolute;inset-block-end:0;inset-inline-end:0}.highlightData-illustrations-back,.highlightData-illustrations-front{grid-area:1/1;block-size:var(--components-highlightData-illustrations-height);inline-size:var(--components-highlightData-illustrations-width)}}@layer mods{.highlightData.mod-light{--components-highlightData-background: var(--palettes-50, var(--palettes-product-50))}.highlightData.mod-dark{--components-highlightData-background: var(--palettes-100, var(--palettes-product-100))}.highlightData.mod-valueFirst{--components-highlightData-grid: \"value action\" \"title action\"}.highlightData.mod-S{--components-highlightData-value-font: var(--pr-t-font-highlight-XL);--components-highlightData-illustrations-width: 82px;--components-highlightData-illustrations-height: 68px}.highlightData.mod-XS{--components-highlightData-value-font: var(--pr-t-font-highlight-L);--components-highlightData-illustrations-width: 77px;--components-highlightData-illustrations-height: 64px}.highlightData.mod-nested{--components-highlightData-borderRadius: var(--pr-t-border-radius-default)}.highlightData:has(.highlightData-illustrations){--components-highlightData-display: flex;--components-highlightData-alignItem: start;--components-highlightData-action-padding: var(--pr-t-spacings-100);padding-inline-end:calc(var(--components-highlightData-illustrations-width) + var(--components-highlightData-padding-inline))}.highlightData:has(.highlightData-illustrations).mod-valueFirst{--components-highlightData-value-order: -1}}\n"] }]
68
- }], ctorParameters: () => [], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], subText: [{ type: i0.Input, args: [{ isSignal: true, alias: "subText", required: false }] }], bubble: [{ type: i0.Input, args: [{ isSignal: true, alias: "bubble", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], palette: [{ type: i0.Input, args: [{ isSignal: true, alias: "palette", required: false }] }], lightClass: [{
69
- type: HostBinding,
70
- args: ['class.mod-light']
71
- }], darkClass: [{
72
- type: HostBinding,
73
- args: ['class.mod-dark']
74
- }], illustration: [{ type: i0.Input, args: [{ isSignal: true, alias: "illustration", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], valueFirst: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueFirst", required: false }] }], nested: [{ type: i0.Input, args: [{ isSignal: true, alias: "nested", required: false }] }] } });
76
+ '[class.mod-light]': 'lightClass',
77
+ '[class.mod-dark]': 'darkClass',
78
+ }, template: "<dl class=\"highlightData-content\">\n\t<dt class=\"highlightData-content-title\"><ng-container *luPortal=\"heading()\" /></dt>\n\t<dd class=\"highlightData-content-value\"><ng-container *luPortal=\"value()\" /></dd>\n\t@if (subText()) {\n\t\t<dd class=\"highlightData-content-subText\"><ng-container *luPortal=\"subText()\" /></dd>\n\t}\n\t<dd class=\"highlightData-content-action\"><ng-content /></dd>\n</dl>\n\n@if (bubble() || illustration()) {\n\t<div class=\"highlightData-illustrations\">\n\t\t@if (bubble()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-back\" [attr.src]=\"bubbleSrc()\" />\n\t\t}\n\t\t@if (illustration()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-front\" [attr.src]=\"illustrationSrc()\" />\n\t\t}\n\t</div>\n}\n", styles: ["@layer components{.highlightData{--components-highlightData-display: grid;--components-highlightData-grid: \"title action\" \"value action\" \"subtext action\";--components-highlightData-alignItem: center;--components-highlightData-background: var(--pr-t-elevation-surface-raised);--components-highlightData-padding-inline: var(--pr-t-spacings-200);--components-highlightData-padding-block: var(--pr-t-spacings-150);--components-highlightData-padding: var(--components-highlightData-padding-block) var(--components-highlightData-padding-inline);--components-highlightData-gap: var(--components-highlightData-padding-inline);--components-highlightData-borderRadius: var(--pr-t-border-radius-structure);--components-highlightData-title-color: var(--palettes-neutral-200);--components-highlightData-value-font: var(--pr-t-font-highlight-XXL);--components-highlightData-value-order: 0;--components-highlightData-action-padding: 0;--components-highlightData-illustrations-width: 86px;--components-highlightData-illustrations-height: 72px;--components-highlightData-illustrations-display: grid;display:block;background-color:var(--components-highlightData-background);border-radius:var(--components-highlightData-borderRadius);overflow:hidden;padding:var(--components-highlightData-padding);position:relative}.highlightData-content{margin:0}.highlightData-content>dd,.highlightData-content>div>dd{margin:0}.highlightData-content{display:var(--components-highlightData-display);grid-template-columns:1fr auto;grid-template-areas:var(--components-highlightData-grid);align-items:var(--components-highlightData-alignItem);flex-direction:column;column-gap:var(--components-highlightData-gap)}.highlightData-content-title{grid-area:title;font:var(--pr-t-font-body-S);color:var(--pr-t-color-text-subtle)}.highlightData-content-value{grid-area:value;font:var(--components-highlightData-value-font);order:var(--components-highlightData-value-order)}.highlightData-content-subText{grid-area:subtext;font:var(--pr-t-font-body-XS);color:var(--pr-t-color-text-subtle);margin-block-start:var(--pr-t-spacings-100)!important}.highlightData-content-action{grid-area:action;padding-block-start:var(--components-highlightData-action-padding)}.highlightData-content-action:empty{display:none}.highlightData-content-action .link{--commons-text-link-color: var(--palettes-700, var(--palettes-product-700));--commons-text-link-hover: var(--palettes-800, var(--palettes-product-800))}.highlightData-content-action .button{--palettes-text: var(--palettes-neutral-text);--palettes-0: var(--palettes-neutral-0);--palettes-25: var(--palettes-neutral-25);--palettes-50: var(--palettes-neutral-50);--palettes-100: var(--palettes-neutral-100);--palettes-200: var(--palettes-neutral-200);--palettes-300: var(--palettes-neutral-300);--palettes-400: var(--palettes-neutral-400);--palettes-500: var(--palettes-neutral-500);--palettes-600: var(--palettes-neutral-600);--palettes-700: var(--palettes-neutral-700);--palettes-800: var(--palettes-neutral-800);--palettes-900: var(--palettes-neutral-900)}.highlightData-illustrations{display:var(--components-highlightData-illustrations-display);place-content:center;position:absolute;inset-block-end:0;inset-inline-end:0}.highlightData-illustrations-back,.highlightData-illustrations-front{grid-area:1/1;block-size:var(--components-highlightData-illustrations-height);inline-size:var(--components-highlightData-illustrations-width)}}@layer mods{.highlightData.mod-light{--components-highlightData-background: var(--palettes-50, var(--palettes-product-50))}.highlightData.mod-dark{--components-highlightData-background: var(--palettes-100, var(--palettes-product-100))}.highlightData.mod-valueFirst{--components-highlightData-grid: \"value action\" \"title action\" \"subtext action\"}.highlightData.mod-S{--components-highlightData-value-font: var(--pr-t-font-highlight-XL);--components-highlightData-illustrations-width: 82px;--components-highlightData-illustrations-height: 68px}.highlightData.mod-XS{--components-highlightData-value-font: var(--pr-t-font-highlight-L);--components-highlightData-illustrations-width: 77px;--components-highlightData-illustrations-height: 64px}.highlightData.mod-nested{--components-highlightData-borderRadius: var(--pr-t-border-radius-default)}.highlightData:has(.highlightData-illustrations){--components-highlightData-display: flex;--components-highlightData-alignItem: start;--components-highlightData-action-padding: var(--pr-t-spacings-100);padding-inline-end:calc(var(--components-highlightData-illustrations-width) + var(--components-highlightData-padding-inline))}.highlightData:has(.highlightData-illustrations).mod-valueFirst{--components-highlightData-value-order: -1}}\n"] }]
79
+ }], ctorParameters: () => [], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], subText: [{ type: i0.Input, args: [{ isSignal: true, alias: "subText", required: false }] }], bubble: [{ type: i0.Input, args: [{ isSignal: true, alias: "bubble", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], palette: [{ type: i0.Input, args: [{ isSignal: true, alias: "palette", required: false }] }], illustration: [{ type: i0.Input, args: [{ isSignal: true, alias: "illustration", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], valueFirst: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueFirst", required: false }] }], nested: [{ type: i0.Input, args: [{ isSignal: true, alias: "nested", required: false }] }] } });
75
80
 
76
81
  /**
77
82
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-highlight-data.mjs","sources":["../../../packages/ng/highlight-data/highlight-data.component.ts","../../../packages/ng/highlight-data/highlight-data.component.html","../../../packages/ng/highlight-data/lucca-front-ng-highlight-data.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, HostBinding, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuClass, PortalContent, PortalDirective } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-highlight-data',\n\ttemplateUrl: './highlight-data.component.html',\n\tstyleUrl: './highlight-data.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\tproviders: [LuClass],\n\thost: {\n\t\tclass: 'highlightData',\n\t},\n\timports: [PortalDirective],\n})\nexport class HighlightDataComponent {\n\t#luClass = inject(LuClass);\n\theading = input.required<PortalContent>();\n\tvalue = input.required<PortalContent>();\n\tsubText = input<PortalContent>();\n\tbubble = input<1 | 2 | 3 | 4 | number>();\n\tbubbleSrc = computed(() => {\n\t\treturn `https://cdn.lucca.fr/transverse/prisme/visuals/highlight-data/${this.palette()}/bubbles-${this.bubbleTheme()}-${this.bubble()}.svg`;\n\t});\n\ttheme = input<'white' | 'light' | 'dark'>('white');\n\t/**\n\t * Apply product name to illustration URL and CSS component palette\n\t * This specific palette must be set up on config.scss\n\t */\n\tpalette = input<'lucca' | 'cleemy' | 'timmi' | 'poplee' | 'coreHR' | 'pagga' | 'cc' | 'success' | 'warning' | 'critical' | string>('lucca');\n\n\tbubbleTheme = computed(() => {\n\t\tif (this.theme() === 'dark') {\n\t\t\treturn 'dark';\n\t\t}\n\t\treturn 'light';\n\t});\n\n\t@HostBinding('class.mod-light')\n\tget lightClass() {\n\t\treturn this.theme() === 'light';\n\t}\n\n\t@HostBinding('class.mod-dark')\n\tget darkClass() {\n\t\treturn this.theme() === 'dark';\n\t}\n\n\t/**\n\t * Main illustration\n\t * An URL can be apply for custom images\n\t */\n\tillustration = input<\n\t\t'calculator' | 'calendar' | 'cleemy-card' | 'coffee' | 'headphone' | 'mail' | 'manifying-glass' | 'medallon' | 'piggy-bank' | 'polaroid-female' | 'polaroid-male' | 'polaroids' | string\n\t>();\n\tillustrationSrc = computed(() => {\n\t\tif (this.illustration().includes('/')) {\n\t\t\treturn this.illustration();\n\t\t}\n\t\treturn `https://cdn.lucca.fr/transverse/prisme/visuals/highlight-data/generic/${this.illustration()}.svg`;\n\t});\n\tsize = input<'XS' | 'S' | 'M' | null>(null);\n\t/**\n\t * Adjust layout to text value\n\t */\n\tvalueFirst = input(false, { transform: booleanAttribute });\n\n\tnested = input(false, { transform: booleanAttribute });\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${this.size()}`]: !!this.size(),\n\t\t\t\t'mod-valueFirst': this.valueFirst(),\n\t\t\t\t'mod-nested': this.nested(),\n\t\t\t\t[`palette-${this.palette()}`]: !!this.palette(),\n\t\t\t});\n\t\t});\n\t}\n}\n","<dl class=\"highlightData-content\">\n\t<dt class=\"highlightData-content-title\"><ng-container *luPortal=\"heading()\" /></dt>\n\t<dd class=\"highlightData-content-value\"><ng-container *luPortal=\"value()\" /></dd>\n\t@if (subText()) {\n\t\t<dd class=\"highlightData-content-subText\"><ng-container *luPortal=\"subText()\" /></dd>\n\t}\n\t<dd class=\"highlightData-content-action\"><ng-content /></dd>\n</dl>\n\n@if (bubble() || illustration()) {\n\t<div class=\"highlightData-illustrations\">\n\t\t@if (bubble()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-back\" [attr.src]=\"bubbleSrc()\" />\n\t\t}\n\t\t@if (illustration()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-front\" [attr.src]=\"illustrationSrc()\" />\n\t\t}\n\t</div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-highlight-data.mjs","sources":["../../../packages/ng/highlight-data/highlight-data.component.ts","../../../packages/ng/highlight-data/highlight-data.component.html","../../../packages/ng/highlight-data/lucca-front-ng-highlight-data.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, effect, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuClass, PortalContent, PortalDirective } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-highlight-data',\n\ttemplateUrl: './highlight-data.component.html',\n\tstyleUrl: './highlight-data.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [PortalDirective],\n\tproviders: [LuClass],\n\thost: {\n\t\tclass: 'highlightData',\n\t\t'[class.mod-light]': 'lightClass',\n\t\t'[class.mod-dark]': 'darkClass',\n\t},\n})\nexport class HighlightDataComponent {\n\t#luClass = inject(LuClass);\n\n\t/**\n\t * The title of the highlight date\n\t */\n\treadonly heading = input.required<PortalContent>();\n\n\t/**\n\t * The content of the highlight date\n\t */\n\treadonly value = input.required<PortalContent>();\n\n\t/**\n\t * Add text below the content\n\t */\n\treadonly subText = input<PortalContent>();\n\n\t/**\n\t * Define a bubble style based on the CDN image bubble number\n\t */\n\treadonly bubble = input<1 | 2 | 3 | 4 | number>();\n\n\t/**\n\t * Define a specific them white light or dark. (White by default)\n\t */\n\treadonly theme = input<'white' | 'light' | 'dark'>('white');\n\n\t/**\n\t * Apply product name to illustration URL and CSS component palette\n\t * This specific palette must be set up on config.scss\n\t */\n\treadonly palette = input<'lucca' | 'cleemy' | 'timmi' | 'poplee' | 'coreHR' | 'pagga' | 'cc' | 'success' | 'warning' | 'critical' | string>('lucca');\n\n\t/**\n\t * Main illustration\n\t * An URL can be apply for custom images\n\t */\n\treadonly illustration = input<\n\t\t'calculator' | 'calendar' | 'cleemy-card' | 'coffee' | 'headphone' | 'mail' | 'manifying-glass' | 'medallon' | 'piggy-bank' | 'polaroid-female' | 'polaroid-male' | 'polaroids' | string\n\t>();\n\n\t/**\n\t * Which size should the highlight data be? XS to medium\n\t */\n\treadonly size = input<'XS' | 'S' | 'M' | null>(null);\n\n\t/**\n\t * Adjust layout to text value\n\t */\n\treadonly valueFirst = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Displayed in nested mode\n\t */\n\treadonly nested = input(false, { transform: booleanAttribute });\n\n\tget lightClass() {\n\t\treturn this.theme() === 'light';\n\t}\n\n\tget darkClass() {\n\t\treturn this.theme() === 'dark';\n\t}\n\n\treadonly illustrationSrc = computed(() =>\n\t\tthis.illustration().includes('/') ? this.illustration() : `https://cdn.lucca.fr/transverse/prisme/visuals/highlight-data/generic/${this.illustration()}.svg`,\n\t);\n\n\treadonly bubbleSrc = computed(() => `https://cdn.lucca.fr/transverse/prisme/visuals/highlight-data/${this.palette()}/bubbles-${this.bubbleTheme()}-${this.bubble()}.svg`);\n\n\treadonly bubbleTheme = computed(() => (this.theme() === 'dark' ? 'dark' : 'light'));\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${this.size()}`]: !!this.size(),\n\t\t\t\t'mod-valueFirst': this.valueFirst(),\n\t\t\t\t'mod-nested': this.nested(),\n\t\t\t\t[`palette-${this.palette()}`]: !!this.palette(),\n\t\t\t});\n\t\t});\n\t}\n}\n","<dl class=\"highlightData-content\">\n\t<dt class=\"highlightData-content-title\"><ng-container *luPortal=\"heading()\" /></dt>\n\t<dd class=\"highlightData-content-value\"><ng-container *luPortal=\"value()\" /></dd>\n\t@if (subText()) {\n\t\t<dd class=\"highlightData-content-subText\"><ng-container *luPortal=\"subText()\" /></dd>\n\t}\n\t<dd class=\"highlightData-content-action\"><ng-content /></dd>\n</dl>\n\n@if (bubble() || illustration()) {\n\t<div class=\"highlightData-illustrations\">\n\t\t@if (bubble()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-back\" [attr.src]=\"bubbleSrc()\" />\n\t\t}\n\t\t@if (illustration()) {\n\t\t\t<img alt=\"\" class=\"highlightData-illustrations-front\" [attr.src]=\"illustrationSrc()\" />\n\t\t}\n\t</div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -22,6 +22,9 @@ class HorizontalNavigationComponent {
22
22
  this.noBorder = input(false, { ...(ngDevMode ? { debugName: "noBorder" } : {}), transform: booleanAttribute });
23
23
  this.container = input(false, { ...(ngDevMode ? { debugName: "container" } : {}), transform: booleanAttribute });
24
24
  this.vertical = input(false, { ...(ngDevMode ? { debugName: "vertical" } : {}), transform: booleanAttribute });
25
+ /**
26
+ * Which size should the horizontal navigation be? Defaults and small
27
+ */
25
28
  this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
26
29
  }
27
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: HorizontalNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-horizontal-navigation.mjs","sources":["../../../packages/ng/horizontal-navigation/horizontal-navigation-link.directive.ts","../../../packages/ng/horizontal-navigation/horizontal-navigation.component.ts","../../../packages/ng/horizontal-navigation/horizontal-navigation.component.html","../../../packages/ng/horizontal-navigation/lucca-front-ng-horizontal-navigation.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n\tselector: '[luHorizontalNavigationLink]',\n})\nexport class HorizontalNavigationLinkDirective {\n\tpublic template = inject(TemplateRef);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, input, ViewEncapsulation } from '@angular/core';\nimport { HorizontalNavigationLinkDirective } from './horizontal-navigation-link.directive';\n\n@Component({\n\tselector: 'lu-horizontal-navigation',\n\ttemplateUrl: './horizontal-navigation.component.html',\n\tstyleUrl: './horizontal-navigation.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n\thost: {\n\t\tclass: 'horizontalNavigation',\n\t\t'[class.mod-noBorder]': 'noBorder()',\n\t\t'[class.mod-S]': 'size() === `S`',\n\t\t'[class.mod-vertical]': 'vertical()',\n\t},\n})\nexport class HorizontalNavigationComponent {\n\treadonly links = contentChildren(HorizontalNavigationLinkDirective);\n\n\treadonly noBorder = input(false, { transform: booleanAttribute });\n\treadonly container = input(false, { transform: booleanAttribute });\n\treadonly vertical = input(false, { transform: booleanAttribute });\n\treadonly size = input<null | 'S'>(null);\n}\n","@if (container()) {\n\t<div class=\"horizontalNavigation-containerOptional\">\n\t\t<ng-container *ngTemplateOutlet=\"horizontalNavigationList\" />\n\t</div>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"horizontalNavigationList\" />\n}\n\n<ng-template #horizontalNavigationList>\n\t<ul class=\"horizontalNavigation-list\">\n\t\t@for (link of links(); track $index) {\n\t\t\t<li class=\"horizontalNavigation-list-item\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"link.template\" />\n\t\t\t</li>\n\t\t}\n\t</ul>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-horizontal-navigation.mjs","sources":["../../../packages/ng/horizontal-navigation/horizontal-navigation-link.directive.ts","../../../packages/ng/horizontal-navigation/horizontal-navigation.component.ts","../../../packages/ng/horizontal-navigation/horizontal-navigation.component.html","../../../packages/ng/horizontal-navigation/lucca-front-ng-horizontal-navigation.ts"],"sourcesContent":["import { Directive, inject, TemplateRef } from '@angular/core';\n\n@Directive({\n\tselector: '[luHorizontalNavigationLink]',\n})\nexport class HorizontalNavigationLinkDirective {\n\tpublic template = inject(TemplateRef);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, contentChildren, input, ViewEncapsulation } from '@angular/core';\nimport { HorizontalNavigationLinkDirective } from './horizontal-navigation-link.directive';\n\n@Component({\n\tselector: 'lu-horizontal-navigation',\n\ttemplateUrl: './horizontal-navigation.component.html',\n\tstyleUrl: './horizontal-navigation.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\timports: [NgTemplateOutlet],\n\thost: {\n\t\tclass: 'horizontalNavigation',\n\t\t'[class.mod-noBorder]': 'noBorder()',\n\t\t'[class.mod-S]': 'size() === `S`',\n\t\t'[class.mod-vertical]': 'vertical()',\n\t},\n})\nexport class HorizontalNavigationComponent {\n\treadonly links = contentChildren(HorizontalNavigationLinkDirective);\n\n\treadonly noBorder = input(false, { transform: booleanAttribute });\n\n\treadonly container = input(false, { transform: booleanAttribute });\n\n\treadonly vertical = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Which size should the horizontal navigation be? Defaults and small\n\t */\n\treadonly size = input<null | 'S'>(null);\n}\n","@if (container()) {\n\t<div class=\"horizontalNavigation-containerOptional\">\n\t\t<ng-container *ngTemplateOutlet=\"horizontalNavigationList\" />\n\t</div>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"horizontalNavigationList\" />\n}\n\n<ng-template #horizontalNavigationList>\n\t<ul class=\"horizontalNavigation-list\">\n\t\t@for (link of links(); track $index) {\n\t\t\t<li class=\"horizontalNavigation-list-item\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"link.template\" />\n\t\t\t</li>\n\t\t}\n\t</ul>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -4,10 +4,25 @@ import { input, booleanAttribute, computed, ViewEncapsulation, ChangeDetectionSt
4
4
 
5
5
  class IconComponent {
6
6
  constructor() {
7
+ /**
8
+ * Defines icon to display
9
+ */
7
10
  this.icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
11
+ /**
12
+ * Information conveyed by the screen reader
13
+ */
8
14
  this.alt = input(...(ngDevMode ? [undefined, { debugName: "alt" }] : []));
15
+ /**
16
+ * Which size should the icon be? XXS to XXL
17
+ */
9
18
  this.size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
19
+ /**
20
+ * Changes the color of the icon (inherit by default)
21
+ */
10
22
  this.color = input('inherit', ...(ngDevMode ? [{ debugName: "color" }] : []));
23
+ /**
24
+ * Display icon in AI mode
25
+ */
11
26
  this.AI = input(false, { ...(ngDevMode ? { debugName: "AI" } : {}), transform: booleanAttribute });
12
27
  this.iconClasses = computed(() => {
13
28
  const size = this.size();
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-icon.mjs","sources":["../../../packages/ng/icon/icon.component.ts","../../../packages/ng/icon/icon.component.html","../../../packages/ng/icon/lucca-front-ng-icon.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\n\n@Component({\n\tselector: 'lu-icon',\n\timports: [NgClass],\n\ttemplateUrl: './icon.component.html',\n\tstyleUrl: './icon.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class IconComponent {\n\treadonly icon = input.required<LuccaIcon>();\n\n\treadonly alt = input<string>();\n\n\treadonly size = input<'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL'>();\n\n\treadonly color = input<'primary' | 'secondary' | 'product' | 'error' | 'warning' | 'success' | 'light' | 'placeholder' | 'inherit'>('inherit');\n\n\treadonly AI = input(false, { transform: booleanAttribute });\n\n\treadonly iconClasses = computed(() => {\n\t\tconst size = this.size();\n\t\treturn {\n\t\t\t[`mod-${size}`]: !!size,\n\t\t};\n\t});\n}\n","<span\n\taria-hidden=\"true\"\n\t[class.mod-AI]=\"AI()\"\n\tclass=\"lucca-icon icon-{{ icon() }} icon-color-{{ color() }}\"\n\t[ngClass]=\"iconClasses()\"\n></span>\n@if (alt()) {\n\t<span class=\"pr-u-mask\">{{ alt() }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAYa,aAAa,CAAA;AAR1B,IAAA,WAAA,GAAA;AASU,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAa;QAElC,IAAA,CAAA,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;QAErB,IAAA,CAAA,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAiD;AAE7D,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAA8G,SAAS,iDAAC;QAErI,IAAA,CAAA,EAAE,GAAG,KAAK,CAAC,KAAK,+CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAElD,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AACpC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,OAAO;AACN,gBAAA,CAAC,OAAO,IAAI,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI;aACvB;AACF,QAAA,CAAC,uDAAC;AACF,IAAA;8GAjBY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ1B,0OASA,EAAA,MAAA,EAAA,CAAA,saAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDHW,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAML,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;+BACC,SAAS,EAAA,OAAA,EACV,CAAC,OAAO,CAAC,EAAA,eAAA,EAGD,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0OAAA,EAAA,MAAA,EAAA,CAAA,saAAA,CAAA,EAAA;;;AEVtC;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-icon.mjs","sources":["../../../packages/ng/icon/icon.component.ts","../../../packages/ng/icon/icon.component.html","../../../packages/ng/icon/lucca-front-ng-icon.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\n\n@Component({\n\tselector: 'lu-icon',\n\timports: [NgClass],\n\ttemplateUrl: './icon.component.html',\n\tstyleUrl: './icon.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class IconComponent {\n\t/**\n\t * Defines icon to display\n\t */\n\treadonly icon = input.required<LuccaIcon>();\n\n\t/**\n\t * Information conveyed by the screen reader\n\t */\n\treadonly alt = input<string>();\n\n\t/**\n\t * Which size should the icon be? XXS to XXL\n\t */\n\treadonly size = input<'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL'>();\n\n\t/**\n\t * Changes the color of the icon (inherit by default)\n\t */\n\treadonly color = input<'primary' | 'secondary' | 'product' | 'error' | 'warning' | 'success' | 'light' | 'placeholder' | 'inherit'>('inherit');\n\n\t/**\n\t * Display icon in AI mode\n\t */\n\treadonly AI = input(false, { transform: booleanAttribute });\n\n\treadonly iconClasses = computed(() => {\n\t\tconst size = this.size();\n\t\treturn {\n\t\t\t[`mod-${size}`]: !!size,\n\t\t};\n\t});\n}\n","<span\n\taria-hidden=\"true\"\n\t[class.mod-AI]=\"AI()\"\n\tclass=\"lucca-icon icon-{{ icon() }} icon-color-{{ color() }}\"\n\t[ngClass]=\"iconClasses()\"\n></span>\n@if (alt()) {\n\t<span class=\"pr-u-mask\">{{ alt() }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAYa,aAAa,CAAA;AAR1B,IAAA,WAAA,GAAA;AASC;;AAEG;AACM,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,+CAAa;AAE3C;;AAEG;QACM,IAAA,CAAA,GAAG,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,KAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAU;AAE9B;;AAEG;QACM,IAAA,CAAA,IAAI,GAAG,KAAK,CAAA,IAAA,SAAA,GAAA,CAAA,SAAA,EAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAiD;AAEtE;;AAEG;AACM,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAA8G,SAAS,iDAAC;AAE9I;;AAEG;QACM,IAAA,CAAA,EAAE,GAAG,KAAK,CAAC,KAAK,+CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAElD,QAAA,IAAA,CAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AACpC,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,OAAO;AACN,gBAAA,CAAC,OAAO,IAAI,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI;aACvB;AACF,QAAA,CAAC,uDAAC;AACF,IAAA;8GAhCY,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAb,aAAa,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECZ1B,0OASA,EAAA,MAAA,EAAA,CAAA,saAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDHW,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAML,aAAa,EAAA,UAAA,EAAA,CAAA;kBARzB,SAAS;+BACC,SAAS,EAAA,OAAA,EACV,CAAC,OAAO,CAAC,EAAA,eAAA,EAGD,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,QAAA,EAAA,0OAAA,EAAA,MAAA,EAAA,CAAA,saAAA,CAAA,EAAA;;;AEVtC;;AAEG;;;;"}
@@ -8,9 +8,21 @@ class InlineMessageComponent {
8
8
  #luClass;
9
9
  constructor() {
10
10
  this.#luClass = inject(LuClass);
11
+ /**
12
+ * The title of the inline message
13
+ */
11
14
  this.label = input.required(...(ngDevMode ? [{ debugName: "label" }] : []));
15
+ /**
16
+ * Inline message state
17
+ */
12
18
  this.state = input(...(ngDevMode ? [undefined, { debugName: "state" }] : []));
19
+ /**
20
+ * Which size should the inline message be? Default, medium or small
21
+ */
13
22
  this.size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
23
+ /**
24
+ * Defines whether a tooltip is used in the inline message component
25
+ */
14
26
  this.withTooltip = input(false, { ...(ngDevMode ? { debugName: "withTooltip" } : {}), transform: booleanAttribute });
15
27
  _effectWithDeps([this.size, this.state], (size, state) => {
16
28
  this.#luClass.setState({
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-inline-message.mjs","sources":["../../../packages/ng/inline-message/inline-message.component.ts","../../../packages/ng/inline-message/inline-message.component.html","../../../packages/ng/inline-message/lucca-front-ng-inline-message.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuClass, PortalContent, PortalDirective, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { InlineMessageState } from './inline-message-state';\n\n@Component({\n\tselector: 'lu-inline-message',\n\timports: [PortalDirective, LuTooltipModule],\n\tproviders: [LuClass],\n\ttemplateUrl: './inline-message.component.html',\n\tstyleUrl: './inline-message.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'inlineMessage',\n\t},\n})\nexport class InlineMessageComponent {\n\t#luClass = inject(LuClass);\n\n\treadonly label = input.required<PortalContent>();\n\n\treadonly state = input<InlineMessageState>();\n\n\treadonly size = input<'S' | 'M'>();\n\n\treadonly withTooltip = input(false, { transform: booleanAttribute });\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.size, this.state], (size, state) => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${size}`]: !!size,\n\t\t\t\t[`is-${state}`]: !!state,\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic isStringPortalContent(message: PortalContent): message is string {\n\t\treturn typeof message === 'string';\n\t}\n}\n","@if (state() && state() !== \"default\") {\n\t<span class=\"lucca-icon inlineMessage-statusIcon\" aria-hidden=\"true\"></span>\n}\n@if (isStringPortalContent(label())) {\n\t<p\n\t\tclass=\"inlineMessage-content\"\n\t\t[class.pr-u-ellipsis]=\"withTooltip()\"\n\t\tluTooltip\n\t\tluTooltipWhenEllipsis\n\t\t[luTooltipDisabled]=\"!withTooltip()\"\n\t>\n\t\t{{ label() }}\n\t</p>\n} @else {\n\t<div class=\"inlineMessage-content\"><ng-container *luPortal=\"label()\" /></div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-inline-message.mjs","sources":["../../../packages/ng/inline-message/inline-message.component.ts","../../../packages/ng/inline-message/inline-message.component.html","../../../packages/ng/inline-message/lucca-front-ng-inline-message.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { LuClass, PortalContent, PortalDirective, ɵeffectWithDeps } from '@lucca-front/ng/core';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { InlineMessageState } from './inline-message-state';\n\n@Component({\n\tselector: 'lu-inline-message',\n\timports: [PortalDirective, LuTooltipModule],\n\tproviders: [LuClass],\n\ttemplateUrl: './inline-message.component.html',\n\tstyleUrl: './inline-message.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'inlineMessage',\n\t},\n})\nexport class InlineMessageComponent {\n\t#luClass = inject(LuClass);\n\n\t/**\n\t * The title of the inline message\n\t */\n\treadonly label = input.required<PortalContent>();\n\n\t/**\n\t * Inline message state\n\t */\n\treadonly state = input<InlineMessageState>();\n\n\t/**\n\t * Which size should the inline message be? Default, medium or small\n\t */\n\treadonly size = input<'S' | 'M'>();\n\n\t/**\n\t * Defines whether a tooltip is used in the inline message component\n\t */\n\treadonly withTooltip = input(false, { transform: booleanAttribute });\n\n\tconstructor() {\n\t\tɵeffectWithDeps([this.size, this.state], (size, state) => {\n\t\t\tthis.#luClass.setState({\n\t\t\t\t[`mod-${size}`]: !!size,\n\t\t\t\t[`is-${state}`]: !!state,\n\t\t\t});\n\t\t});\n\t}\n\n\tpublic isStringPortalContent(message: PortalContent): message is string {\n\t\treturn typeof message === 'string';\n\t}\n}\n","@if (state() && state() !== \"default\") {\n\t<span class=\"lucca-icon inlineMessage-statusIcon\" aria-hidden=\"true\"></span>\n}\n@if (isStringPortalContent(label())) {\n\t<p\n\t\tclass=\"inlineMessage-content\"\n\t\t[class.pr-u-ellipsis]=\"withTooltip()\"\n\t\tluTooltip\n\t\tluTooltipWhenEllipsis\n\t\t[luTooltipDisabled]=\"!withTooltip()\"\n\t>\n\t\t{{ label() }}\n\t</p>\n} @else {\n\t<div class=\"inlineMessage-content\"><ng-container *luPortal=\"label()\" /></div>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["ɵeffectWithDeps"],"mappings":"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"}
@@ -64,10 +64,25 @@ class LinkComponent {
64
64
  this.routerLink = inject(LuRouterLink);
65
65
  this.#injector = inject(Injector);
66
66
  this.router = inject(Router);
67
+ /**
68
+ * Target page address. Use only for external links or pages not recognized by the router.
69
+ */
67
70
  this.luHref = input('', { ...(ngDevMode ? { debugName: "luHref" } : {}), alias: 'href' });
71
+ /**
72
+ * Target page address
73
+ */
68
74
  this.routerLinkCommands = input(null, { ...(ngDevMode ? { debugName: "routerLinkCommands" } : {}), alias: 'luLink' });
75
+ /**
76
+ * Disables the link
77
+ */
69
78
  this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
79
+ /**
80
+ * Underlines the link only on hover
81
+ */
70
82
  this.decorationHover = input(false, { ...(ngDevMode ? { debugName: "decorationHover" } : {}), transform: booleanAttribute });
83
+ /**
84
+ * Indicates that the link will open in a new tab
85
+ */
71
86
  this.external = input(false, { ...(ngDevMode ? { debugName: "external" } : {}), transform: booleanAttribute });
72
87
  const href = this.luHref;
73
88
  effect(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-link.mjs","sources":["../../../packages/ng/link/translations.ts","../../../packages/ng/link/link.translate.ts","../../../packages/ng/link/lu-router-link.ts","../../../packages/ng/link/link.component.ts","../../../packages/ng/link/link.component.html","../../../packages/ng/link/lucca-front-ng-link.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\texternal: '(Open in a new window.)',\n\t},\n\tde: {\n\t\texternal: '(In einem neuen Fenster öffnen.)',\n\t},\n\tfr: {\n\t\texternal: '(Ouvrir dans une nouvelle fenêtre.)',\n\t},\n\tit: {\n\t\texternal: '(Aprire in una nuova finestra.)',\n\t},\n\tnl: {\n\t\texternal: '(Open in een nieuw venster.)',\n\t},\n\tes: {\n\t\texternal: '(Abrir en una nueva ventana.)',\n\t},\n\tpt: {\n\t\texternal: '(Abrir numa nova janela.)',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_LINK_TRANSLATIONS = new InjectionToken('luLinkTranslations', {\n\tfactory: () => luLinkTranslations,\n});\n\nexport interface LinkTranslate {\n\texternal: string;\n}\n\nexport const luLinkTranslations: LuTranslation<LinkTranslate> = Translations;\n","import { LocationStrategy } from '@angular/common';\nimport { Attribute, Directive, ElementRef, Renderer2, WritableSignal } from '@angular/core';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\n\n@Directive({\n\tselector: '[luRouterLink]',\n})\nexport class LuRouterLink extends RouterLink {\n\t// Workaround for a storybook bug = implement the constructor https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436\n\tconstructor(router: Router, route: ActivatedRoute, @Attribute('tabindex') tabIndexAttribute: string | null | undefined, renderer: Renderer2, el: ElementRef, locationStrategy?: LocationStrategy) {\n\t\tsuper(router, route, tabIndexAttribute, renderer, el, locationStrategy);\n\t}\n\n\t// With angular 20, RouterLink changed to use an internal, protected, readonly signal that is directly bound to `attr.href`, breaking any possibility to override it\n\t// So we had to do this to expose it to our `luLink` component.\n\tget publicReactiveHref(): WritableSignal<string | null> {\n\t\treturn this.reactiveHref;\n\t}\n}\n","import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, effect, inject, Injector, input, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LU_LINK_TRANSLATIONS } from './link.translate';\nimport { LuRouterLink } from './lu-router-link';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'a[luLink], button[luLink]',\n\tstandalone: true,\n\ttemplateUrl: './link.component.html',\n\tstyleUrl: './link.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'link',\n\t\t'[attr.href]': 'routerLink.publicReactiveHref()',\n\t\t'[class.mod-decorationHover]': 'decorationHover()',\n\t\t'[class.mod-icon]': 'external()',\n\t\t'[class.is-disabled]': 'this.disabled()',\n\t\t'[attr.rel]': 'external() && !disabled() ? \"noopener noreferrer\" : null',\n\t\t'[attr.target]': 'external() && !disabled() ? \"_blank\" : null',\n\t\t'[attr.role]': 'disabled() ? \"presentation\" : null',\n\t\t'(click)': 'redirect()',\n\t},\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: LuRouterLink,\n\t\t\tinputs: ['preserveFragment', 'skipLocationChange', 'replaceUrl', 'queryParams', 'fragment', 'queryParamsHandling', 'state', 'info', 'relativeTo'],\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LinkComponent {\n\tintl = getIntl(LU_LINK_TRANSLATIONS);\n\trouterLink = inject(LuRouterLink);\n\t#injector = inject(Injector);\n\trouter = inject(Router);\n\n\treadonly luHref = input('', { alias: 'href' });\n\n\treadonly routerLinkCommands = input<LuRouterLink['routerLink'] | null>(null, { alias: 'luLink' });\n\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\treadonly decorationHover = input(false, { transform: booleanAttribute });\n\n\treadonly external = input(false, { transform: booleanAttribute });\n\n\threfBackup: string;\n\n\tconstructor() {\n\t\tconst href = this.luHref;\n\n\t\teffect(() => {\n\t\t\tif (href()) {\n\t\t\t\tthis.hrefBackup = href();\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t\tif (this.disabled()) {\n\t\t\t\tif (this.routerLinkCommands()) {\n\t\t\t\t\tthis.routerLink.routerLink = null;\n\t\t\t\t}\n\t\t\t\tthis.routerLink.publicReactiveHref.set(null);\n\t\t\t} else if (this.routerLinkCommands() && !this.external()) {\n\t\t\t\tthis.routerLink.routerLink = this.routerLinkCommands();\n\t\t\t\t// We need to do this in order to have `routerLink` update the value for `href`:\n\t\t\t\t// See https://github.com/angular/angular/blob/main/packages/router/src/directives/router_link.ts#L281\n\t\t\t\tthis.routerLink.ngOnChanges({});\n\t\t\t} else if (!href() && this.hrefBackup) {\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t});\n\t}\n\n\tredirect(): void {\n\t\tconst routerLinkCommands = this.routerLinkCommands();\n\t\tif (!this.disabled() && routerLinkCommands && this.external()) {\n\t\t\tafterNextRender(() => window.open(this.router.serializeUrl(this.router.createUrlTree(Array.isArray(routerLinkCommands) ? routerLinkCommands : [routerLinkCommands])), '_blank'), {\n\t\t\t\tinjector: this.#injector,\n\t\t\t});\n\t\t}\n\t}\n}\n","<span class=\"link-text\"><ng-content /></span>\n@if (external()) {\n\t<span class=\"link-icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowExternal\"></span>\n\t</span>\n\t<span class=\"pr-u-mask\">{{ intl.external }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-link.mjs","sources":["../../../packages/ng/link/translations.ts","../../../packages/ng/link/link.translate.ts","../../../packages/ng/link/lu-router-link.ts","../../../packages/ng/link/link.component.ts","../../../packages/ng/link/link.component.html","../../../packages/ng/link/lucca-front-ng-link.ts"],"sourcesContent":["export const Translations = {\n\ten: {\n\t\texternal: '(Open in a new window.)',\n\t},\n\tde: {\n\t\texternal: '(In einem neuen Fenster öffnen.)',\n\t},\n\tfr: {\n\t\texternal: '(Ouvrir dans une nouvelle fenêtre.)',\n\t},\n\tit: {\n\t\texternal: '(Aprire in una nuova finestra.)',\n\t},\n\tnl: {\n\t\texternal: '(Open in een nieuw venster.)',\n\t},\n\tes: {\n\t\texternal: '(Abrir en una nueva ventana.)',\n\t},\n\tpt: {\n\t\texternal: '(Abrir numa nova janela.)',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_LINK_TRANSLATIONS = new InjectionToken('luLinkTranslations', {\n\tfactory: () => luLinkTranslations,\n});\n\nexport interface LinkTranslate {\n\texternal: string;\n}\n\nexport const luLinkTranslations: LuTranslation<LinkTranslate> = Translations;\n","import { LocationStrategy } from '@angular/common';\nimport { Attribute, Directive, ElementRef, Renderer2, WritableSignal } from '@angular/core';\nimport { ActivatedRoute, Router, RouterLink } from '@angular/router';\n\n@Directive({\n\tselector: '[luRouterLink]',\n})\nexport class LuRouterLink extends RouterLink {\n\t// Workaround for a storybook bug = implement the constructor https://github.com/storybookjs/storybook/issues/23534#issuecomment-2042888436\n\tconstructor(router: Router, route: ActivatedRoute, @Attribute('tabindex') tabIndexAttribute: string | null | undefined, renderer: Renderer2, el: ElementRef, locationStrategy?: LocationStrategy) {\n\t\tsuper(router, route, tabIndexAttribute, renderer, el, locationStrategy);\n\t}\n\n\t// With angular 20, RouterLink changed to use an internal, protected, readonly signal that is directly bound to `attr.href`, breaking any possibility to override it\n\t// So we had to do this to expose it to our `luLink` component.\n\tget publicReactiveHref(): WritableSignal<string | null> {\n\t\treturn this.reactiveHref;\n\t}\n}\n","import { afterNextRender, booleanAttribute, ChangeDetectionStrategy, Component, effect, inject, Injector, input, ViewEncapsulation } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getIntl } from '@lucca-front/ng/core';\nimport { LU_LINK_TRANSLATIONS } from './link.translate';\nimport { LuRouterLink } from './lu-router-link';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'a[luLink], button[luLink]',\n\tstandalone: true,\n\ttemplateUrl: './link.component.html',\n\tstyleUrl: './link.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'link',\n\t\t'[attr.href]': 'routerLink.publicReactiveHref()',\n\t\t'[class.mod-decorationHover]': 'decorationHover()',\n\t\t'[class.mod-icon]': 'external()',\n\t\t'[class.is-disabled]': 'this.disabled()',\n\t\t'[attr.rel]': 'external() && !disabled() ? \"noopener noreferrer\" : null',\n\t\t'[attr.target]': 'external() && !disabled() ? \"_blank\" : null',\n\t\t'[attr.role]': 'disabled() ? \"presentation\" : null',\n\t\t'(click)': 'redirect()',\n\t},\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: LuRouterLink,\n\t\t\tinputs: ['preserveFragment', 'skipLocationChange', 'replaceUrl', 'queryParams', 'fragment', 'queryParamsHandling', 'state', 'info', 'relativeTo'],\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LinkComponent {\n\tintl = getIntl(LU_LINK_TRANSLATIONS);\n\trouterLink = inject(LuRouterLink);\n\t#injector = inject(Injector);\n\trouter = inject(Router);\n\n\t/**\n\t * Target page address. Use only for external links or pages not recognized by the router.\n\t */\n\treadonly luHref = input('', { alias: 'href' });\n\n\t/**\n\t * Target page address\n\t */\n\treadonly routerLinkCommands = input<LuRouterLink['routerLink'] | null>(null, { alias: 'luLink' });\n\n\t/**\n\t * Disables the link\n\t */\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Underlines the link only on hover\n\t */\n\treadonly decorationHover = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Indicates that the link will open in a new tab\n\t */\n\treadonly external = input(false, { transform: booleanAttribute });\n\n\threfBackup: string;\n\n\tconstructor() {\n\t\tconst href = this.luHref;\n\n\t\teffect(() => {\n\t\t\tif (href()) {\n\t\t\t\tthis.hrefBackup = href();\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t\tif (this.disabled()) {\n\t\t\t\tif (this.routerLinkCommands()) {\n\t\t\t\t\tthis.routerLink.routerLink = null;\n\t\t\t\t}\n\t\t\t\tthis.routerLink.publicReactiveHref.set(null);\n\t\t\t} else if (this.routerLinkCommands() && !this.external()) {\n\t\t\t\tthis.routerLink.routerLink = this.routerLinkCommands();\n\t\t\t\t// We need to do this in order to have `routerLink` update the value for `href`:\n\t\t\t\t// See https://github.com/angular/angular/blob/main/packages/router/src/directives/router_link.ts#L281\n\t\t\t\tthis.routerLink.ngOnChanges({});\n\t\t\t} else if (!href() && this.hrefBackup) {\n\t\t\t\tthis.routerLink.publicReactiveHref.set(this.hrefBackup);\n\t\t\t}\n\t\t});\n\t}\n\n\tredirect(): void {\n\t\tconst routerLinkCommands = this.routerLinkCommands();\n\t\tif (!this.disabled() && routerLinkCommands && this.external()) {\n\t\t\tafterNextRender(() => window.open(this.router.serializeUrl(this.router.createUrlTree(Array.isArray(routerLinkCommands) ? routerLinkCommands : [routerLinkCommands])), '_blank'), {\n\t\t\t\tinjector: this.#injector,\n\t\t\t});\n\t\t}\n\t}\n}\n","<span class=\"link-text\"><ng-content /></span>\n@if (external()) {\n\t<span class=\"link-icon\">\n\t\t<span aria-hidden=\"true\" class=\"lucca-icon icon-arrowExternal\"></span>\n\t</span>\n\t<span class=\"pr-u-mask\">{{ intl.external }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Directive, inject, computed, input, booleanAttribute, contentChild, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
2
+ import { InjectionToken, Directive, inject, input, booleanAttribute, computed, contentChild, forwardRef, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
3
  import { LoadingComponent } from '@lucca-front/ng/loading';
4
4
  import { IconComponent } from '@lucca-front/ng/icon';
5
5
 
@@ -22,10 +22,6 @@ class OptionComponent {
22
22
  constructor() {
23
23
  this.#listboxRef = inject(LISTBOX_INSTANCE);
24
24
  this.#parentOptionRef = inject(OPTION_INSTANCE, { skipSelf: true, optional: true });
25
- this.multiple = computed(() => this.#listboxRef.multiple(), ...(ngDevMode ? [{ debugName: "multiple" }] : []));
26
- this.tree = computed(() => this.#listboxRef.tree(), ...(ngDevMode ? [{ debugName: "tree" }] : []));
27
- this.empty = computed(() => this.#listboxRef.state() === 'empty', ...(ngDevMode ? [{ debugName: "empty" }] : []));
28
- this.id = computed(() => this.#listboxRef.listboxId, ...(ngDevMode ? [{ debugName: "id" }] : []));
29
25
  this.checked = input(false, { ...(ngDevMode ? { debugName: "checked" } : {}), transform: booleanAttribute });
30
26
  this.mixed = input(false, { ...(ngDevMode ? { debugName: "mixed" } : {}), transform: booleanAttribute });
31
27
  this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
@@ -34,6 +30,10 @@ class OptionComponent {
34
30
  this.group = input(false, { ...(ngDevMode ? { debugName: "group" } : {}), transform: booleanAttribute });
35
31
  this.select = input(false, { ...(ngDevMode ? { debugName: "select" } : {}), transform: booleanAttribute });
36
32
  this.selectAll = input(...(ngDevMode ? [undefined, { debugName: "selectAll" }] : []));
33
+ this.multiple = computed(() => this.#listboxRef.multiple(), ...(ngDevMode ? [{ debugName: "multiple" }] : []));
34
+ this.tree = computed(() => this.#listboxRef.tree(), ...(ngDevMode ? [{ debugName: "tree" }] : []));
35
+ this.empty = computed(() => this.#listboxRef.state() === 'empty', ...(ngDevMode ? [{ debugName: "empty" }] : []));
36
+ this.id = computed(() => this.#listboxRef.listboxId, ...(ngDevMode ? [{ debugName: "id" }] : []));
37
37
  this.groupId = `group${nextId$1++}`;
38
38
  this.treeitemContent = contentChild(Treeitem, ...(ngDevMode ? [{ debugName: "treeitemContent" }] : []));
39
39
  this.level = (this.#parentOptionRef?.level || 0) + 1;
@@ -61,9 +61,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
61
61
  let nextId = 0;
62
62
  class ListboxComponent {
63
63
  constructor() {
64
+ /**
65
+ * Applies multiple mod to the listbox
66
+ */
64
67
  this.multiple = input(false, { ...(ngDevMode ? { debugName: "multiple" } : {}), transform: booleanAttribute });
68
+ /**
69
+ * Defines listbox role tree or listbox by default
70
+ */
65
71
  this.tree = input(false, { ...(ngDevMode ? { debugName: "tree" } : {}), transform: booleanAttribute });
72
+ /**
73
+ * Listbox state
74
+ */
66
75
  this.state = input(null, ...(ngDevMode ? [{ debugName: "state" }] : []));
76
+ /**
77
+ * Add message when listbox state loading or empty
78
+ */
67
79
  this.statusMsg = input(null, ...(ngDevMode ? [{ debugName: "statusMsg" }] : []));
68
80
  this.listboxId = `listbox${nextId++}`;
69
81
  }