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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/fesm2022/lucca-front-ng-api.mjs +45 -13
  2. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-app-layout.mjs +2 -2
  4. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-box.mjs +1 -1
  6. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-bubble-icon.mjs +1 -1
  9. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-button.mjs +1 -119
  11. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-callout.mjs +13 -39
  13. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  14. package/fesm2022/lucca-front-ng-chip.mjs +3 -33
  15. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-clear.mjs +2 -17
  17. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-comment.mjs +18 -20
  19. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-container.mjs +7 -5
  21. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +2 -0
  23. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  24. package/fesm2022/lucca-front-ng-core-select-user.mjs +2 -2
  25. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-core-select.mjs +6 -6
  27. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-core.mjs +3 -75
  29. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  30. package/fesm2022/lucca-front-ng-data-table.mjs +3 -3
  31. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-date.mjs +37 -5
  33. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-date2.mjs +20 -32
  35. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  36. package/fesm2022/lucca-front-ng-department.mjs +18 -2
  37. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  38. package/fesm2022/lucca-front-ng-dialog.mjs +3 -3
  39. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-divider.mjs +1 -10
  41. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-empty-state.mjs +1 -17
  43. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-establishment.mjs +66 -2
  45. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-fancy-box.mjs +0 -12
  47. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-file-upload.mjs +1 -1
  49. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-filter-pills.mjs +3 -3
  51. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-footer.mjs +0 -3
  53. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-form-field.mjs +7 -76
  55. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-form-header.mjs +0 -3
  57. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-form.mjs +5 -19
  59. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +8 -9
  61. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +34 -51
  63. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-forms.mjs +40 -88
  65. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-gauge.mjs +5 -28
  67. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-grid.mjs +3 -3
  69. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-highlight-data.mjs +26 -31
  71. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +0 -3
  73. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-icon.mjs +1 -42
  75. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-index-table.mjs +3 -3
  77. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-inline-message.mjs +0 -12
  79. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-link.mjs +0 -15
  81. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-listbox.mjs +6 -18
  83. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-listing.mjs +8 -37
  85. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-main-layout.mjs +2 -8
  88. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-mobile-push.mjs +10 -18
  90. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  91. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  92. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  93. package/fesm2022/lucca-front-ng-multi-select.mjs +9 -12
  94. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-new-badge.mjs +0 -3
  96. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-numeric-badge.mjs +1 -10
  98. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-option.mjs +315 -203
  100. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-page-header.mjs +0 -9
  102. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-pagination.mjs +1 -25
  104. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-plg-push.mjs +1 -7
  106. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-popover.mjs +33 -1
  108. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-popover2.mjs +9 -19
  110. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-progress-bar.mjs +5 -12
  112. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-read-more.mjs +1 -16
  114. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-resource-card.mjs +7 -7
  116. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-scroll-box.mjs +2 -5
  118. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +3 -9
  120. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-segmented-control.mjs +1 -16
  122. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-simple-select.mjs +6 -21
  124. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  125. package/fesm2022/lucca-front-ng-skeleton.mjs +12 -63
  126. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-sortable-list.mjs +1 -25
  128. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-status-badge.mjs +0 -12
  130. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-tag.mjs +1 -7
  132. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  133. package/fesm2022/lucca-front-ng-time.mjs +16 -55
  134. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-tooltip.mjs +22 -6
  136. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  137. package/fesm2022/lucca-front-ng-user-popover.mjs +1 -1
  138. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-user.mjs +25 -9
  140. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +2 -32
  142. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  143. package/package.json +5 -7
  144. package/schematics/action-icon/index.js +5 -4
  145. package/schematics/action-icon/migration.js +4 -3
  146. package/schematics/action-icon/migration.spec.js +8 -8
  147. package/schematics/alignment-utilities/index.js +4 -3
  148. package/schematics/alignment-utilities/migration.spec.js +8 -8
  149. package/schematics/cdn-urls/index.js +4 -3
  150. package/schematics/cdn-urls/migration.js +9 -7
  151. package/schematics/cdn-urls/migration.spec.js +8 -8
  152. package/schematics/class-prefix/index.js +4 -3
  153. package/schematics/class-prefix/migration.spec.js +8 -8
  154. package/schematics/collection.json +0 -10
  155. package/schematics/color-text/index.js +4 -3
  156. package/schematics/color-text/migration.spec.js +8 -8
  157. package/schematics/component-path/index.js +4 -3
  158. package/schematics/component-path/migration.spec.js +8 -8
  159. package/schematics/empty-state-title/index.js +7 -5
  160. package/schematics/empty-state-title/migration.spec.js +5 -5
  161. package/schematics/lib/schematic.utils.js +0 -5
  162. package/schematics/lu-button/index.js +4 -3
  163. package/schematics/lu-button/migration.js +11 -5
  164. package/schematics/lu-button/migration.spec.js +5 -5
  165. package/schematics/lu-icon/index.js +4 -3
  166. package/schematics/lu-icon/migration.js +14 -8
  167. package/schematics/lu-icon/migration.spec.js +5 -5
  168. package/schematics/lu-select/index.js +4 -3
  169. package/schematics/lu-select/migration.js +21 -18
  170. package/schematics/lu-select/migration.spec.js +5 -5
  171. package/schematics/lu-select/util.js +19 -17
  172. package/schematics/lu-text-input/index.js +4 -3
  173. package/schematics/lu-text-input/migration.js +28 -22
  174. package/schematics/lu-text-input/migration.spec.js +5 -5
  175. package/schematics/new-icons/index.js +6 -5
  176. package/schematics/new-icons/migration.js +16 -11
  177. package/schematics/new-icons/migration.spec.js +8 -8
  178. package/schematics/palettes/index.js +4 -3
  179. package/schematics/palettes/migration.spec.js +8 -8
  180. package/schematics/tokens-radius/index.js +4 -3
  181. package/schematics/tokens-radius/migration.spec.js +8 -8
  182. package/schematics/tokens-spacing/index.js +4 -3
  183. package/schematics/tokens-spacing/migration.spec.js +8 -8
  184. package/schematics/tokens-typo/index.js +4 -3
  185. package/schematics/tokens-typo/migration.spec.js +8 -8
  186. package/src/components/cdk/_overlay.scss +0 -5
  187. package/src/definitions/option/_option-item.scss +0 -1
  188. package/types/lucca-front-ng-api.d.ts +19 -1
  189. package/types/lucca-front-ng-breadcrumbs.d.ts +1 -1
  190. package/types/lucca-front-ng-button.d.ts +1 -61
  191. package/types/lucca-front-ng-callout.d.ts +2 -32
  192. package/types/lucca-front-ng-chip.d.ts +2 -32
  193. package/types/lucca-front-ng-clear.d.ts +5 -20
  194. package/types/lucca-front-ng-comment.d.ts +11 -19
  195. package/types/lucca-front-ng-container.d.ts +4 -4
  196. package/types/lucca-front-ng-core-select.d.ts +1 -2
  197. package/types/lucca-front-ng-core.d.ts +3 -18
  198. package/types/lucca-front-ng-date.d.ts +19 -1
  199. package/types/lucca-front-ng-date2.d.ts +1 -2
  200. package/types/lucca-front-ng-department.d.ts +10 -1
  201. package/types/lucca-front-ng-divider.d.ts +0 -10
  202. package/types/lucca-front-ng-empty-state.d.ts +0 -16
  203. package/types/lucca-front-ng-establishment.d.ts +37 -1
  204. package/types/lucca-front-ng-fancy-box.d.ts +0 -12
  205. package/types/lucca-front-ng-footer.d.ts +0 -3
  206. package/types/lucca-front-ng-form-field.d.ts +4 -34
  207. package/types/lucca-front-ng-form-header.d.ts +0 -3
  208. package/types/lucca-front-ng-form.d.ts +5 -9
  209. package/types/lucca-front-ng-forms-phone-number-input.d.ts +0 -1
  210. package/types/lucca-front-ng-forms-rich-text-input.d.ts +0 -2
  211. package/types/lucca-front-ng-forms.d.ts +4 -16
  212. package/types/lucca-front-ng-gauge.d.ts +0 -25
  213. package/types/lucca-front-ng-grid.d.ts +1 -1
  214. package/types/lucca-front-ng-highlight-data.d.ts +15 -36
  215. package/types/lucca-front-ng-horizontal-navigation.d.ts +0 -3
  216. package/types/lucca-front-ng-icon.d.ts +1 -32
  217. package/types/lucca-front-ng-inline-message.d.ts +0 -12
  218. package/types/lucca-front-ng-link.d.ts +0 -15
  219. package/types/lucca-front-ng-listbox.d.ts +4 -16
  220. package/types/lucca-front-ng-listing.d.ts +2 -33
  221. package/types/lucca-front-ng-main-layout.d.ts +0 -6
  222. package/types/lucca-front-ng-mobile-push.d.ts +0 -7
  223. package/types/lucca-front-ng-new-badge.d.ts +0 -3
  224. package/types/lucca-front-ng-numeric-badge.d.ts +0 -9
  225. package/types/lucca-front-ng-option.d.ts +141 -78
  226. package/types/lucca-front-ng-page-header.d.ts +0 -9
  227. package/types/lucca-front-ng-pagination.d.ts +0 -24
  228. package/types/lucca-front-ng-plg-push.d.ts +0 -6
  229. package/types/lucca-front-ng-popover.d.ts +20 -1
  230. package/types/lucca-front-ng-popover2.d.ts +3 -5
  231. package/types/lucca-front-ng-progress-bar.d.ts +0 -9
  232. package/types/lucca-front-ng-read-more.d.ts +1 -16
  233. package/types/lucca-front-ng-resource-card.d.ts +0 -6
  234. package/types/lucca-front-ng-scroll-box.d.ts +1 -4
  235. package/types/lucca-front-ng-segmented-control-tabs.d.ts +1 -7
  236. package/types/lucca-front-ng-segmented-control.d.ts +1 -16
  237. package/types/lucca-front-ng-skeleton.d.ts +6 -61
  238. package/types/lucca-front-ng-sortable-list.d.ts +0 -24
  239. package/types/lucca-front-ng-status-badge.d.ts +0 -12
  240. package/types/lucca-front-ng-tag.d.ts +0 -6
  241. package/types/lucca-front-ng-time.d.ts +10 -16
  242. package/types/lucca-front-ng-tooltip.d.ts +11 -2
  243. package/types/lucca-front-ng-user.d.ts +11 -2
  244. package/types/lucca-front-ng-vertical-navigation.d.ts +0 -30
  245. package/fesm2022/lucca-front-ng-text-flow.mjs +0 -20
  246. package/fesm2022/lucca-front-ng-text-flow.mjs.map +0 -1
  247. package/schematics/lib/index.js +0 -29
  248. package/schematics/lu-container/index.js +0 -23
  249. package/schematics/lu-container/migration.js +0 -116
  250. package/schematics/lu-container/migration.spec.js +0 -23
  251. package/schematics/lu-container/schema.json +0 -23
  252. package/schematics/lu-loading/index.js +0 -23
  253. package/schematics/lu-loading/migration.js +0 -136
  254. package/schematics/lu-loading/migration.spec.js +0 -23
  255. package/schematics/lu-loading/schema.json +0 -28
  256. package/types/lucca-front-ng-text-flow.d.ts +0 -8
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-gauge.mjs","sources":["../../../packages/ng/gauge/gauge.component.ts","../../../packages/ng/gauge/gauge.component.html","../../../packages/ng/gauge/lucca-front-ng-gauge.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, LOCALE_ID, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-gauge',\n\ttemplateUrl: './gauge.component.html',\n\tstyleUrl: './gauge.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [LuClass],\n})\nexport class GaugeComponent {\n\t#locale = inject(LOCALE_ID);\n\n\t/**\n\t * The progress of the gauge from 0 to 100\n\t */\n\treadonly value = input(0, { transform: numberAttribute });\n\n\t/**\n\t * Make the gauge finer\n\t */\n\treadonly thin = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Display gaugue in circular\n\t */\n\treadonly circular = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Animate the gauge component\n\t */\n\treadonly animated = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Disabled alt display (overrides alt value)\n\t */\n\treadonly noAlt = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Which palette should be used for the entire gauge.\n\t * Defaults to none (inherits parent palette)\n\t */\n\treadonly palette = input<Palette>('none');\n\n\t/**\n\t * Defines the text alt attribute used for accessibility\n\t */\n\treadonly alt = input<string>('');\n\n\t/**\n\t * Which size should the gauge be? widht & height\n\t */\n\treadonly size = input(40, { transform: numberAttribute });\n\n\treadonly thickness = computed(() => (this.thin() ? 4 : 8));\n\n\treadonly perimeter = computed(() => (2 * Math.PI * (this.size() - this.thickness())) / 2);\n\n\treadonly fullThreshold = computed(() => this.perimeter() - this.thickness());\n\n\treadonly full = computed<boolean>(() => this.fullThreshold() < (this.perimeter() / 100) * this.value());\n\n\treadonly fullThresholdValue = computed(() => Math.floor((this.fullThreshold() / this.perimeter()) * 100));\n\n\treadonly displayValue = computed(() => {\n\t\tif (this.value() >= 100) {\n\t\t\treturn this.value();\n\t\t}\n\t\treturn this.full() ? this.fullThresholdValue() : this.value();\n\t});\n\n\treadonly defaultAlt = computed(() => new Intl.NumberFormat(this.#locale, { style: 'percent' }).format(this.value() / 100));\n\n\treadonly paletteClass = computed(() => ({\n\t\t[`palette-${this.palette()}`]: !!this.palette(),\n\t}));\n}\n","@if (circular()) {\n\t<svg\n\t\tclass=\"gauge\"\n\t\t[class]=\"paletteClass()\"\n\t\t[class.mod-thin]=\"thin()\"\n\t\t[class.is-animated]=\"animated()\"\n\t\t[class.is-zero]=\"value() === 0\"\n\t\t[attr.width]=\"size()\"\n\t\t[attr.height]=\"size()\"\n\t\t[attr.viewBox]=\"`0 0 ${size()} ${size()}`\"\n\t\t[attr.style]=\"`--components-gauge-value: ${displayValue()}; --components-gauge-circleR: ${(size() - thickness()) / 2}px`\"\n\t>\n\t\t<circle [attr.cx]=\"size() / 2\" [attr.cy]=\"size() / 2\" [attr.r]=\"(size() - thickness()) / 2\" class=\"gauge-circleBackground\" />\n\t\t<circle [attr.cx]=\"size() / 2\" [attr.cy]=\"size() / 2\" [attr.r]=\"(size() - thickness()) / 2\" class=\"gauge-circleBar\" />\n\t</svg>\n} @else {\n\t<div\n\t\tclass=\"gauge\"\n\t\t[attr.style]=\"`--components-gauge-value: ${value()}%`\"\n\t\t[class.mod-thin]=\"thin()\"\n\t\t[class]=\"paletteClass()\"\n\t\t[class.is-animated]=\"animated()\"\n\t></div>\n}\n@if (!noAlt()) {\n\t<span class=\"pr-u-mask\">{{ alt() || defaultAlt() }}</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-gauge.mjs","sources":["../../../packages/ng/gauge/gauge.component.ts","../../../packages/ng/gauge/gauge.component.html","../../../packages/ng/gauge/lucca-front-ng-gauge.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input, LOCALE_ID, numberAttribute, ViewEncapsulation } from '@angular/core';\nimport { LuClass, Palette } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-gauge',\n\ttemplateUrl: './gauge.component.html',\n\tstyleUrl: './gauge.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [LuClass],\n})\nexport class GaugeComponent {\n\t#locale = inject(LOCALE_ID);\n\n\treadonly value = input(0, { transform: numberAttribute });\n\treadonly thin = input(false, { transform: booleanAttribute });\n\treadonly circular = input(false, { transform: booleanAttribute });\n\treadonly animated = input(false, { transform: booleanAttribute });\n\treadonly noAlt = input(false, { transform: booleanAttribute });\n\treadonly palette = input<Palette>('none');\n\treadonly alt = input<string>('');\n\treadonly size = input(40, { transform: numberAttribute });\n\n\treadonly thickness = computed(() => (this.thin() ? 4 : 8));\n\n\treadonly perimeter = computed(() => (2 * Math.PI * (this.size() - this.thickness())) / 2);\n\n\treadonly fullThreshold = computed(() => this.perimeter() - this.thickness());\n\n\treadonly full = computed<boolean>(() => this.fullThreshold() < (this.perimeter() / 100) * this.value());\n\n\treadonly fullThresholdValue = computed(() => Math.floor((this.fullThreshold() / this.perimeter()) * 100));\n\n\treadonly displayValue = computed(() => {\n\t\tif (this.value() >= 100) {\n\t\t\treturn this.value();\n\t\t}\n\t\treturn this.full() ? this.fullThresholdValue() : this.value();\n\t});\n\n\treadonly defaultAlt = computed(() => new Intl.NumberFormat(this.#locale, { style: 'percent' }).format(this.value() / 100));\n\n\treadonly paletteClass = computed(() => {\n\t\treturn {\n\t\t\t[`palette-${this.palette()}`]: !!this.palette(),\n\t\t};\n\t});\n}\n","@if (circular()) {\n\t<svg\n\t\tclass=\"gauge\"\n\t\t[class]=\"paletteClass()\"\n\t\t[class.mod-thin]=\"thin()\"\n\t\t[class.is-animated]=\"animated()\"\n\t\t[class.is-zero]=\"value() === 0\"\n\t\t[attr.width]=\"size()\"\n\t\t[attr.height]=\"size()\"\n\t\t[attr.viewBox]=\"`0 0 ${size()} ${size()}`\"\n\t\t[attr.style]=\"`--components-gauge-value: ${displayValue()}; --components-gauge-circleR: ${(size() - thickness()) / 2}px`\"\n\t>\n\t\t<circle [attr.cx]=\"size() / 2\" [attr.cy]=\"size() / 2\" [attr.r]=\"(size() - thickness()) / 2\" class=\"gauge-circleBackground\" />\n\t\t<circle [attr.cx]=\"size() / 2\" [attr.cy]=\"size() / 2\" [attr.r]=\"(size() - thickness()) / 2\" class=\"gauge-circleBar\" />\n\t</svg>\n} @else {\n\t<div\n\t\tclass=\"gauge\"\n\t\t[attr.style]=\"`--components-gauge-value: ${value()}%`\"\n\t\t[class.mod-thin]=\"thin()\"\n\t\t[class]=\"paletteClass()\"\n\t\t[class.is-animated]=\"animated()\"\n\t></div>\n}\n@if (!noAlt()) {\n\t<span class=\"pr-u-mask\">{{ alt() || defaultAlt() }}</span>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -55,9 +55,6 @@ class GridComponent {
55
55
  this.colspan = input(null, { ...(ngDevMode ? { debugName: "colspan" } : {}), transform: numberAttribute });
56
56
  this.rowspan = input(null, { ...(ngDevMode ? { debugName: "rowspan" } : {}), transform: numberAttribute });
57
57
  this.mode = input(null, ...(ngDevMode ? [{ debugName: "mode" }] : []));
58
- this.gap = input(null, ...(ngDevMode ? [{ debugName: "gap" }] : []));
59
- this.columnGap = input(null, ...(ngDevMode ? [{ debugName: "columnGap" }] : []));
60
- this.rowGap = input(null, ...(ngDevMode ? [{ debugName: "rowGap" }] : []));
61
58
  this.#gapTransform = (gap) => {
62
59
  const spacingRegexp = /.*(\d)$/g;
63
60
  if (!gap) {
@@ -68,6 +65,9 @@ class GridComponent {
68
65
  }
69
66
  return gap;
70
67
  };
68
+ this.gap = input(null, ...(ngDevMode ? [{ debugName: "gap" }] : []));
69
+ this.columnGap = input(null, ...(ngDevMode ? [{ debugName: "columnGap" }] : []));
70
+ this.rowGap = input(null, ...(ngDevMode ? [{ debugName: "rowGap" }] : []));
71
71
  this.gridStyle = computed(() => ({
72
72
  '--grid-columns': this.mode() === null ? this.columns() : null,
73
73
  '--grid-gap': this.#gapTransform(this.gap()),
@@ -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\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":";;;;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;QAEzD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QAErD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;QAErD,IAAA,CAAA,OAAO,GAAG,KAAK,CAAC,IAAI,oDAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AAErD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAsD,IAAI,gDAAC;AAEvE,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAAa,IAAI,+CAAC;AAC7B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAa,IAAI,qDAAC;AAEnC,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAa,IAAI,kDAAC;AAEzC,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;AAEkB,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,OAAO;AAC9C,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;AAlBA,IAAA,aAAa;8GAhBD,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\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":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, input, booleanAttribute, computed, effect, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { inject, input, computed, booleanAttribute, effect, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { LuClass, PortalDirective } from '@lucca-front/ng/core';
4
4
 
5
5
  class HighlightDataComponent {
@@ -12,51 +12,42 @@ class HighlightDataComponent {
12
12
  }
13
13
  constructor() {
14
14
  this.#luClass = inject(LuClass);
15
- /**
16
- * The title of the highlight date
17
- */
18
15
  this.heading = input.required(...(ngDevMode ? [{ debugName: "heading" }] : []));
19
- /**
20
- * The content of the highlight date
21
- */
22
16
  this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
23
- /**
24
- * Add text below the content
25
- */
26
17
  this.subText = input(...(ngDevMode ? [undefined, { debugName: "subText" }] : []));
27
- /**
28
- * Define a bubble style based on the CDN image bubble number
29
- */
30
18
  this.bubble = input(...(ngDevMode ? [undefined, { debugName: "bubble" }] : []));
31
- /**
32
- * Define a specific them white light or dark. (White by default)
33
- */
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" }] : []));
34
22
  this.theme = input('white', ...(ngDevMode ? [{ debugName: "theme" }] : []));
35
23
  /**
36
24
  * Apply product name to illustration URL and CSS component palette
37
25
  * This specific palette must be set up on config.scss
38
26
  */
39
27
  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" }] : []));
40
34
  /**
41
35
  * Main illustration
42
36
  * An URL can be apply for custom images
43
37
  */
44
38
  this.illustration = input(...(ngDevMode ? [undefined, { debugName: "illustration" }] : []));
45
- /**
46
- * Which size should the highlight data be? XS to medium
47
- */
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" }] : []));
48
45
  this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
49
46
  /**
50
47
  * Adjust layout to text value
51
48
  */
52
49
  this.valueFirst = input(false, { ...(ngDevMode ? { debugName: "valueFirst" } : {}), transform: booleanAttribute });
53
- /**
54
- * Displayed in nested mode
55
- */
56
50
  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" }] : []));
60
51
  effect(() => {
61
52
  this.#luClass.setState({
62
53
  [`mod-${this.size()}`]: !!this.size(),
@@ -67,16 +58,20 @@ class HighlightDataComponent {
67
58
  });
68
59
  }
69
60
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: HighlightDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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 }); }
61
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", 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 }); }
71
62
  }
72
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: HighlightDataComponent, decorators: [{
73
64
  type: Component,
74
- args: [{ selector: 'lu-highlight-data', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [PortalDirective], providers: [LuClass], host: {
65
+ args: [{ selector: 'lu-highlight-data', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [LuClass], host: {
75
66
  class: 'highlightData',
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 }] }] } });
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 }] }] } });
80
75
 
81
76
  /**
82
77
  * 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, 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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"}
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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"}
@@ -22,9 +22,6 @@ 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
- */
28
25
  this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
29
26
  }
30
27
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", 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\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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"}
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,47 +1,6 @@
1
- import { NgClass } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { input, booleanAttribute, computed, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
4
-
5
- class IconComponent {
6
- constructor() {
7
- /**
8
- * Defines icon to display
9
- */
10
- this.icon = input.required(...(ngDevMode ? [{ debugName: "icon" }] : []));
11
- /**
12
- * Information conveyed by the screen reader
13
- */
14
- this.alt = input(...(ngDevMode ? [undefined, { debugName: "alt" }] : []));
15
- /**
16
- * Which size should the icon be? XXS to XXL
17
- */
18
- this.size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
19
- /**
20
- * Changes the color of the icon (inherit by default)
21
- */
22
- this.color = input('inherit', ...(ngDevMode ? [{ debugName: "color" }] : []));
23
- /**
24
- * Display icon in AI mode
25
- */
26
- this.AI = input(false, { ...(ngDevMode ? { debugName: "AI" } : {}), transform: booleanAttribute });
27
- this.iconClasses = computed(() => {
28
- const size = this.size();
29
- return {
30
- [`mod-${size}`]: !!size,
31
- };
32
- }, ...(ngDevMode ? [{ debugName: "iconClasses" }] : []));
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: IconComponent, isStandalone: true, selector: "lu-icon", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: true, transformFunction: null }, alt: { classPropertyName: "alt", publicName: "alt", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, AI: { classPropertyName: "AI", publicName: "AI", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<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", styles: ["@layer base{lu-icon{display:inline-flex}}@layer mods{.icon-color-primary,.icon-color-secondary,.icon-color-product{color:var(--palettes-product-700)}.icon-color-error{color:var(--palettes-error-700)}.icon-color-warning{color:var(--palettes-warning-700)}.icon-color-success{color:var(--palettes-success-700)}.icon-color-light{color:var(--palettes-neutral-600)}.icon-color-placeholder{color:var(--palettes-neutral-400)}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IconComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'lu-icon', imports: [NgClass], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<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", styles: ["@layer base{lu-icon{display:inline-flex}}@layer mods{.icon-color-primary,.icon-color-secondary,.icon-color-product{color:var(--palettes-product-700)}.icon-color-error{color:var(--palettes-error-700)}.icon-color-warning{color:var(--palettes-warning-700)}.icon-color-success{color:var(--palettes-success-700)}.icon-color-light{color:var(--palettes-neutral-600)}.icon-color-placeholder{color:var(--palettes-neutral-400)}}\n"] }]
40
- }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: true }] }], alt: [{ type: i0.Input, args: [{ isSignal: true, alias: "alt", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], AI: [{ type: i0.Input, args: [{ isSignal: true, alias: "AI", required: false }] }] } });
1
+ export * from '@lucca/prisme/icon';
41
2
 
42
3
  /**
43
4
  * Generated bundle index. Do not edit.
44
5
  */
45
-
46
- export { IconComponent };
47
6
  //# sourceMappingURL=lucca-front-ng-icon.mjs.map
@@ -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\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;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-icon.mjs","sources":["../../../packages/ng/icon/lucca-front-ng-icon.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
@@ -66,7 +66,7 @@ class IndexTableBodyComponent {
66
66
  provide: LU_INDEX_TABLE_BODY_INSTANCE,
67
67
  useExisting: forwardRef(() => IndexTableBodyComponent),
68
68
  },
69
- ], ngImport: i0, template: "@if (group() && groupButtonAlt()) {\n\t<tr class=\"indexTable-body-row mod-group\">\n\t\t<th scope=\"colgroup\" class=\"indexTable-body-row-transparentCell\" [attr.colspan]=\"colspan()\">\n\t\t\t<div class=\"indexTable-body-row-cellTitle\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"indexTable-body-row-cellTitle-button\"\n\t\t\t\t\tluButton\n\t\t\t\t\tdisclosure\n\t\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t\t(click)=\"expandedToggle()\"\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" [alt]=\"groupButtonAlt()\" />\n\t\t\t\t</button>\n\t\t\t\t<ng-container *luPortal=\"group()\" />\n\t\t\t</div>\n\t\t</th>\n\t</tr>\n}\n<ng-content />\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
69
+ ], ngImport: i0, template: "@if (group() && groupButtonAlt()) {\n\t<tr class=\"indexTable-body-row mod-group\">\n\t\t<th scope=\"colgroup\" class=\"indexTable-body-row-transparentCell\" [attr.colspan]=\"colspan()\">\n\t\t\t<div class=\"indexTable-body-row-cellTitle\">\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tclass=\"indexTable-body-row-cellTitle-button\"\n\t\t\t\t\tluButton\n\t\t\t\t\tdisclosure\n\t\t\t\t\t[attr.aria-expanded]=\"expanded()\"\n\t\t\t\t\t(click)=\"expandedToggle()\"\n\t\t\t\t>\n\t\t\t\t\t<lu-icon icon=\"arrowChevronBottom\" [alt]=\"groupButtonAlt()\" />\n\t\t\t\t</button>\n\t\t\t\t<ng-container *luPortal=\"group()\" />\n\t\t\t</div>\n\t\t</th>\n\t</tr>\n}\n<ng-content />\n", dependencies: [{ kind: "component", type: ButtonComponent, selector: "button[prButton],a[prButton],button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "pr-icon,lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IndexTableBodyComponent, decorators: [{
72
72
  type: Component,
@@ -131,7 +131,7 @@ class IndexTableRowCellHeaderComponent extends BaseIndexTableCell {
131
131
  provide: LU_INDEX_TABLE_CELL_INSTANCE,
132
132
  useExisting: forwardRef(() => IndexTableRowCellHeaderComponent),
133
133
  },
134
- ], usesInheritance: true, ngImport: i0, template: "@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" [(ngModel)]=\"sort\">\n\t\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl>\n\t@if (hiddenLabel() || actions()) {\n\t\t<span class=\"pr-u-mask\"><ng-container *ngTemplateOutlet=\"content\" /></span>\n\t} @else {\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t}\n</ng-template>\n\n<ng-template #content><ng-content /></ng-template>\n", styles: ["@layer components{.tableSortable.button{--components-sortable-arrowColor: var(--palettes-neutral-500);--components-sortable-arrowScale: 1;--components-sortable-direction: row;--components-sortable-offset: calc(var(--pr-t-spacings-50) * -1);--components-sortable-fontWeight: 400;--components-sortable-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortable-lineHeight: var(--pr-t-font-body-M-lineHeight);--components-sortable-arrowsOffset: var(--pr-t-spacings-50);-webkit-user-select:none;user-select:none;font-weight:var(--components-sortable-fontWeight);vertical-align:top;align-items:flex-end;white-space:wrap;inset-inline-start:var(--components-sortable-offset);padding:0 var(--pr-t-spacings-50);gap:var(--pr-t-spacings-25);text-align:inherit;flex-direction:var(--components-sortable-direction);font-size:var(--components-sortable-fontSize);line-height:var(--components-sortable-lineHeight);color:currentColor;--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.tableSortable.button:hover,.tableSortable.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.tableSortable.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.tableSortable.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.tableSortable-arrows{margin-block-end:var(--components-sortable-arrowsOffset);position:relative;inline-size:1rem;block-size:1rem}.tableSortable-arrows-ascending,.tableSortable-arrows-descending{--icon-size: 1rem;position:absolute;inset:0;color:var(--components-sortable-arrowColor);transition-property:translate,scale,color;transition-duration:var(--commons-animations-durations-slow);scale:var(--components-sortable-arrowScale)}.tableSortable-arrows-ascending{translate:0 calc(var(--pr-t-spacings-50) * -1)}.tableSortable-arrows-descending{translate:0 var(--pr-t-spacings-50)}}@layer mods{.table-head-row-cell.mod-alignStart .tableSortable,.table-head-row-cell.mod-alignLeft .tableSortable,.dataTable-head-row-cell.mod-alignStart .tableSortable,.dataTable-head-row-cell.mod-alignLeft .tableSortable,.indexTable-head-row-cell.mod-alignStart .tableSortable,.indexTable-head-row-cell.mod-alignLeft .tableSortable{--components-sortable-direction: row;--components-sortable-offset: calc(var(--pr-t-spacings-50) * -1)}.table-head-row-cell.mod-alignEnd .tableSortable,.table-head-row-cell.mod-alignRight .tableSortable,.dataTable-head-row-cell.mod-alignEnd .tableSortable,.dataTable-head-row-cell.mod-alignRight .tableSortable,.indexTable-head-row-cell.mod-alignEnd .tableSortable,.indexTable-head-row-cell.mod-alignRight .tableSortable{--components-sortable-direction: row-reverse;--components-sortable-offset: var(--pr-t-spacings-50)}.table-head-row-cell.mod-alignCenter .tableSortable,.dataTable-head-row-cell.mod-alignCenter .tableSortable,.indexTable-head-row-cell.mod-alignCenter .tableSortable{--components-sortable-offset: var(--pr-t-spacings-100)}.table-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.dataTable-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.indexTable-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.table-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending,.dataTable-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending,.indexTable-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending{--components-sortable-arrowColor: var(--palettes-neutral-700);--components-sortable-arrowScale: 1.25}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton"] }, { kind: "component", type: IconComponent, selector: "lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
134
+ ], usesInheritance: true, ngImport: i0, template: "@if (sort()) {\n\t<button luButton type=\"button\" class=\"tableSortable\" [(ngModel)]=\"sort\">\n\t\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n\t\t<span class=\"tableSortable-arrows\">\n\t\t\t<lu-icon icon=\"chevronTop\" class=\"tableSortable-arrows-ascending\" />\n\t\t\t<lu-icon icon=\"chevronBottom\" class=\"tableSortable-arrows-descending\" />\n\t\t</span>\n\t</button>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"contentTpl\" />\n}\n\n<ng-template #contentTpl>\n\t@if (hiddenLabel() || actions()) {\n\t\t<span class=\"pr-u-mask\"><ng-container *ngTemplateOutlet=\"content\" /></span>\n\t} @else {\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t}\n</ng-template>\n\n<ng-template #content><ng-content /></ng-template>\n", styles: ["@layer components{.tableSortable.button{--components-sortable-arrowColor: var(--palettes-neutral-500);--components-sortable-arrowScale: 1;--components-sortable-direction: row;--components-sortable-offset: calc(var(--pr-t-spacings-50) * -1);--components-sortable-fontWeight: 400;--components-sortable-fontSize: var(--pr-t-font-body-M-fontSize);--components-sortable-lineHeight: var(--pr-t-font-body-M-lineHeight);--components-sortable-arrowsOffset: var(--pr-t-spacings-50);-webkit-user-select:none;user-select:none;font-weight:var(--components-sortable-fontWeight);vertical-align:top;align-items:flex-end;white-space:wrap;inset-inline-start:var(--components-sortable-offset);padding:0 var(--pr-t-spacings-50);gap:var(--pr-t-spacings-25);text-align:inherit;flex-direction:var(--components-sortable-direction);font-size:var(--components-sortable-fontSize);line-height:var(--components-sortable-lineHeight);color:currentColor;--components-button-backgroundColor: transparent;--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-boxShadow: none}.tableSortable.button:hover,.tableSortable.button:focus-visible{--components-button-color: var(--palettes-700, var(--pr-t-color-text-subtle));--components-button-backgroundColor: var(--palettes-50, var(--palettes-neutral-50))}.tableSortable.button:active{--components-button-backgroundColor: var(--palettes-100, var(--palettes-neutral-100))}.tableSortable.button:disabled{--components-button-backgroundColor: transparent;--components-button-color: var(--pr-t-color-text-disabled)}.tableSortable-arrows{margin-block-end:var(--components-sortable-arrowsOffset);position:relative;inline-size:1rem;block-size:1rem}.tableSortable-arrows-ascending,.tableSortable-arrows-descending{--icon-size: 1rem;position:absolute;inset:0;color:var(--components-sortable-arrowColor);transition-property:translate,scale,color;transition-duration:var(--commons-animations-durations-slow);scale:var(--components-sortable-arrowScale)}.tableSortable-arrows-ascending{translate:0 calc(var(--pr-t-spacings-50) * -1)}.tableSortable-arrows-descending{translate:0 var(--pr-t-spacings-50)}}@layer mods{.table-head-row-cell.mod-alignStart .tableSortable,.table-head-row-cell.mod-alignLeft .tableSortable,.dataTable-head-row-cell.mod-alignStart .tableSortable,.dataTable-head-row-cell.mod-alignLeft .tableSortable,.indexTable-head-row-cell.mod-alignStart .tableSortable,.indexTable-head-row-cell.mod-alignLeft .tableSortable{--components-sortable-direction: row;--components-sortable-offset: calc(var(--pr-t-spacings-50) * -1)}.table-head-row-cell.mod-alignEnd .tableSortable,.table-head-row-cell.mod-alignRight .tableSortable,.dataTable-head-row-cell.mod-alignEnd .tableSortable,.dataTable-head-row-cell.mod-alignRight .tableSortable,.indexTable-head-row-cell.mod-alignEnd .tableSortable,.indexTable-head-row-cell.mod-alignRight .tableSortable{--components-sortable-direction: row-reverse;--components-sortable-offset: var(--pr-t-spacings-50)}.table-head-row-cell.mod-alignCenter .tableSortable,.dataTable-head-row-cell.mod-alignCenter .tableSortable,.indexTable-head-row-cell.mod-alignCenter .tableSortable{--components-sortable-offset: var(--pr-t-spacings-100)}.table-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.dataTable-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.indexTable-head-row-cell[aria-sort=ascending] .tableSortable .tableSortable-arrows-ascending,.table-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending,.dataTable-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending,.indexTable-head-row-cell[aria-sort=descending] .tableSortable .tableSortable-arrows-descending{--components-sortable-arrowColor: var(--palettes-neutral-700);--components-sortable-arrowScale: 1.25}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ButtonComponent, selector: "button[prButton],a[prButton],button[luButton],a[luButton]", inputs: ["size", "block", "critical", "delete", "disclosure", "palette", "state", "luButton", "prButton"] }, { kind: "component", type: IconComponent, selector: "pr-icon,lu-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
135
135
  }
136
136
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IndexTableRowCellHeaderComponent, decorators: [{
137
137
  type: Component,
@@ -284,7 +284,7 @@ class IndexTableRowComponent {
284
284
  provide: LU_INDEX_TABLE_ROW_INSTANCE,
285
285
  useExisting: forwardRef(() => IndexTableRowComponent),
286
286
  },
287
- ], queries: [{ propertyName: "cells", predicate: LU_INDEX_TABLE_CELL_INSTANCE, isSignal: true }], ngImport: i0, template: "@if (tableRef.selectable()) {\n\t@if (headRef) {\n\t\t<th class=\"indexTable-head-row-transparentCell\" scope=\"col\"><ng-container *ngTemplateOutlet=\"input\" /></th>\n\t} @else {\n\t\t<td [class.indexTable-body-row-transparentCell]=\"bodyRef !== null\" [class.indexTable-foot-row-transparentCell]=\"footRef !== null\">\n\t\t\t<ng-container *ngTemplateOutlet=\"input\" />\n\t\t</td>\n\t}\n}\n<ng-content />\n\n<ng-template #input>\n\t@if (!footRef && selectedLabel()) {\n\t\t<lu-form-field [label]=\"selectedLabel()\" hiddenLabel>\n\t\t\t<lu-checkbox-input class=\"indexTable-head-row-cell-checkbox\" [(ngModel)]=\"selected\" [disabled]=\"disabled()\" />\n\t\t</lu-form-field>\n\t}\n</ng-template>\n", dependencies: [{ kind: "component", type: CheckboxInputComponent, selector: "lu-checkbox-input", inputs: ["checklist", "mixed"] }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["intl", "label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter", "presentation"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
287
+ ], queries: [{ propertyName: "cells", predicate: LU_INDEX_TABLE_CELL_INSTANCE, isSignal: true }], ngImport: i0, template: "@if (tableRef.selectable()) {\n\t@if (headRef) {\n\t\t<th class=\"indexTable-head-row-transparentCell\" scope=\"col\"><ng-container *ngTemplateOutlet=\"input\" /></th>\n\t} @else {\n\t\t<td [class.indexTable-body-row-transparentCell]=\"bodyRef !== null\" [class.indexTable-foot-row-transparentCell]=\"footRef !== null\">\n\t\t\t<ng-container *ngTemplateOutlet=\"input\" />\n\t\t</td>\n\t}\n}\n<ng-content />\n\n<ng-template #input>\n\t@if (!footRef && selectedLabel()) {\n\t\t<lu-form-field [label]=\"selectedLabel()\" hiddenLabel>\n\t\t\t<lu-checkbox-input class=\"indexTable-head-row-cell-checkbox\" [(ngModel)]=\"selected\" [disabled]=\"disabled()\" />\n\t\t</lu-form-field>\n\t}\n</ng-template>\n", dependencies: [{ kind: "component", type: CheckboxInputComponent, selector: "lu-checkbox-input", inputs: ["checklist", "mixed"] }, { kind: "component", type: FormFieldComponent, selector: "lu-form-field", inputs: ["intl", "label", "hiddenLabel", "rolePresentationLabel", "inline", "statusControl", "tooltip", "tag", "AI", "iconAItooltip", "iconAIalt", "width", "invalid", "inlineMessage", "errorInlineMessage", "inlineMessageState", "size", "extraDescribedBy", "layout", "counter"], outputs: ["rolePresentationLabelChange", "layoutChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
288
288
  }
289
289
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: IndexTableRowComponent, decorators: [{
290
290
  type: Component,