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

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 (284) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +6 -6
  2. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-api.mjs +16 -48
  4. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  5. package/fesm2022/lucca-front-ng-app-layout.mjs +2 -2
  6. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  7. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +5 -5
  9. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-bubble-icon.mjs +51 -0
  11. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -0
  12. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +135 -0
  13. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -0
  14. package/fesm2022/lucca-front-ng-button.mjs +21 -0
  15. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-callout.mjs +41 -15
  17. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-chip.mjs +37 -7
  19. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-clear.mjs +21 -6
  21. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-color.mjs +28 -0
  23. package/fesm2022/lucca-front-ng-color.mjs.map +1 -0
  24. package/fesm2022/lucca-front-ng-comment.mjs +20 -18
  25. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-container.mjs +7 -9
  27. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +0 -2
  29. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  30. package/fesm2022/lucca-front-ng-core-select-user.mjs +14 -14
  31. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-core-select.mjs +68 -49
  33. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-core.mjs +13 -1
  35. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  36. package/fesm2022/lucca-front-ng-data-table.mjs +6 -6
  37. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  38. package/fesm2022/lucca-front-ng-date.mjs +66 -99
  39. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-date2.mjs +48 -40
  41. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-department.mjs +8 -24
  43. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-dialog.mjs +33 -10
  45. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-divider.mjs +10 -1
  47. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-empty-state.mjs +66 -8
  49. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-establishment.mjs +11 -75
  51. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-fancy-box.mjs +12 -0
  53. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-file-upload.mjs +40 -34
  55. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-filter-pills.mjs +14 -13
  57. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-footer.mjs +3 -0
  59. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-form-field.mjs +25 -10
  61. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-form-header.mjs +3 -0
  63. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-form.mjs +19 -5
  65. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-formly.mjs +4 -4
  67. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +2 -2
  69. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +91 -74
  71. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-forms.mjs +110 -41
  73. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-gauge.mjs +28 -5
  75. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-grid.mjs +3 -3
  77. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-highlight-data.mjs +31 -26
  79. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +5 -2
  81. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-icon.mjs +15 -0
  83. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-index-table.mjs +1 -1
  85. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-inline-message.mjs +12 -0
  87. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-input.mjs +7 -7
  89. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-link.mjs +21 -6
  91. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-listbox.mjs +17 -5
  93. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-listing.mjs +36 -7
  95. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-main-layout.mjs +8 -2
  98. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-mobile-push.mjs +22 -14
  100. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-modal.mjs +1 -1
  102. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-multi-select.mjs +31 -28
  104. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -0
  106. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-numeric-badge.mjs +10 -1
  108. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-option.mjs +227 -337
  110. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-page-header.mjs +9 -0
  112. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-pagination.mjs +29 -5
  114. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-plg-push.mjs +11 -5
  116. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  117. package/fesm2022/lucca-front-ng-popover.mjs +1 -33
  118. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-popover2.mjs +30 -20
  120. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-progress-bar.mjs +12 -5
  122. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-read-more.mjs +38 -21
  124. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  125. package/fesm2022/lucca-front-ng-resource-card.mjs +8 -8
  126. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-scroll-box.mjs +5 -2
  128. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +9 -3
  130. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-segmented-control.mjs +16 -1
  132. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
  133. package/fesm2022/lucca-front-ng-simple-select.mjs +20 -14
  134. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-skeleton.mjs +65 -14
  136. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  137. package/fesm2022/lucca-front-ng-sortable-list.mjs +25 -1
  138. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-status-badge.mjs +12 -0
  140. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-tag.mjs +6 -0
  142. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-text-flow.mjs +20 -0
  144. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -0
  145. package/fesm2022/lucca-front-ng-time.mjs +63 -24
  146. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-toast.mjs +5 -5
  148. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  149. package/fesm2022/lucca-front-ng-tooltip.mjs +13 -27
  150. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  151. package/fesm2022/lucca-front-ng-tree-select.mjs +1 -1
  152. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  153. package/fesm2022/lucca-front-ng-user-popover.mjs +6 -6
  154. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  155. package/fesm2022/lucca-front-ng-user.mjs +20 -36
  156. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  157. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +30 -0
  158. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  159. package/package.json +19 -3
  160. package/schematics/action-icon/index.js +4 -5
  161. package/schematics/action-icon/migration.js +3 -4
  162. package/schematics/action-icon/migration.spec.js +8 -8
  163. package/schematics/alignment-utilities/index.js +3 -4
  164. package/schematics/alignment-utilities/migration.spec.js +8 -8
  165. package/schematics/cdn-urls/index.js +3 -4
  166. package/schematics/cdn-urls/migration.js +7 -9
  167. package/schematics/cdn-urls/migration.spec.js +8 -8
  168. package/schematics/class-prefix/index.js +3 -4
  169. package/schematics/class-prefix/migration.spec.js +8 -8
  170. package/schematics/collection.json +10 -0
  171. package/schematics/color-text/index.js +3 -4
  172. package/schematics/color-text/migration.spec.js +8 -8
  173. package/schematics/component-path/index.js +3 -4
  174. package/schematics/component-path/migration.spec.js +8 -8
  175. package/schematics/empty-state-title/index.js +5 -7
  176. package/schematics/empty-state-title/migration.spec.js +5 -5
  177. package/schematics/lib/index.js +29 -0
  178. package/schematics/lib/local-deps/package-lock.json +2 -0
  179. package/schematics/lib/local-deps/package.json +1 -2
  180. package/schematics/lib/schematic.utils.js +5 -0
  181. package/schematics/lu-button/index.js +3 -4
  182. package/schematics/lu-button/migration.js +5 -11
  183. package/schematics/lu-button/migration.spec.js +5 -5
  184. package/schematics/lu-container/index.js +23 -0
  185. package/schematics/lu-container/migration.js +116 -0
  186. package/schematics/lu-container/migration.spec.js +23 -0
  187. package/schematics/lu-container/schema.json +23 -0
  188. package/schematics/lu-icon/index.js +3 -4
  189. package/schematics/lu-icon/migration.js +8 -14
  190. package/schematics/lu-icon/migration.spec.js +5 -5
  191. package/schematics/lu-loading/index.js +23 -0
  192. package/schematics/lu-loading/migration.js +136 -0
  193. package/schematics/lu-loading/migration.spec.js +23 -0
  194. package/schematics/lu-loading/schema.json +28 -0
  195. package/schematics/lu-select/index.js +3 -4
  196. package/schematics/lu-select/migration.js +18 -21
  197. package/schematics/lu-select/migration.spec.js +5 -5
  198. package/schematics/lu-select/util.js +17 -19
  199. package/schematics/lu-text-input/index.js +3 -4
  200. package/schematics/lu-text-input/migration.js +22 -28
  201. package/schematics/lu-text-input/migration.spec.js +5 -5
  202. package/schematics/new-icons/index.js +5 -6
  203. package/schematics/new-icons/migration.js +11 -16
  204. package/schematics/new-icons/migration.spec.js +8 -8
  205. package/schematics/palettes/index.js +3 -4
  206. package/schematics/palettes/migration.spec.js +8 -8
  207. package/schematics/tokens-radius/index.js +3 -4
  208. package/schematics/tokens-radius/migration.spec.js +8 -8
  209. package/schematics/tokens-spacing/index.js +3 -4
  210. package/schematics/tokens-spacing/migration.spec.js +8 -8
  211. package/schematics/tokens-typo/index.js +3 -4
  212. package/schematics/tokens-typo/migration.spec.js +8 -8
  213. package/src/components/cdk/_overlay.scss +5 -0
  214. package/src/definitions/option/_option-item.scss +1 -0
  215. package/types/lucca-front-ng-a11y.d.ts +3 -3
  216. package/types/lucca-front-ng-api.d.ts +1 -19
  217. package/types/lucca-front-ng-breadcrumbs.d.ts +9 -9
  218. package/types/lucca-front-ng-bubble-icon.d.ts +20 -0
  219. package/types/lucca-front-ng-bubble-illustration.d.ts +24 -0
  220. package/types/lucca-front-ng-button.d.ts +21 -0
  221. package/types/lucca-front-ng-callout.d.ts +33 -3
  222. package/types/lucca-front-ng-chip.d.ts +33 -3
  223. package/types/lucca-front-ng-clear.d.ts +21 -6
  224. package/types/lucca-front-ng-color.d.ts +12 -0
  225. package/types/lucca-front-ng-comment.d.ts +19 -11
  226. package/types/lucca-front-ng-container.d.ts +4 -4
  227. package/types/lucca-front-ng-core-select.d.ts +21 -16
  228. package/types/lucca-front-ng-core.d.ts +23 -2
  229. package/types/lucca-front-ng-data-table.d.ts +2 -2
  230. package/types/lucca-front-ng-date.d.ts +6 -24
  231. package/types/lucca-front-ng-date2.d.ts +6 -5
  232. package/types/lucca-front-ng-department.d.ts +3 -12
  233. package/types/lucca-front-ng-dialog.d.ts +12 -5
  234. package/types/lucca-front-ng-divider.d.ts +10 -0
  235. package/types/lucca-front-ng-empty-state.d.ts +21 -3
  236. package/types/lucca-front-ng-establishment.d.ts +3 -39
  237. package/types/lucca-front-ng-fancy-box.d.ts +12 -0
  238. package/types/lucca-front-ng-file-upload.d.ts +18 -8
  239. package/types/lucca-front-ng-filter-pills.d.ts +6 -5
  240. package/types/lucca-front-ng-footer.d.ts +3 -0
  241. package/types/lucca-front-ng-form-field.d.ts +12 -3
  242. package/types/lucca-front-ng-form-header.d.ts +3 -0
  243. package/types/lucca-front-ng-form.d.ts +9 -5
  244. package/types/lucca-front-ng-forms-rich-text-input.d.ts +16 -16
  245. package/types/lucca-front-ng-forms.d.ts +41 -12
  246. package/types/lucca-front-ng-gauge.d.ts +25 -0
  247. package/types/lucca-front-ng-grid.d.ts +1 -1
  248. package/types/lucca-front-ng-highlight-data.d.ts +36 -15
  249. package/types/lucca-front-ng-horizontal-navigation.d.ts +3 -0
  250. package/types/lucca-front-ng-icon.d.ts +15 -0
  251. package/types/lucca-front-ng-inline-message.d.ts +12 -0
  252. package/types/lucca-front-ng-input.d.ts +2 -2
  253. package/types/lucca-front-ng-link.d.ts +17 -2
  254. package/types/lucca-front-ng-listbox.d.ts +16 -4
  255. package/types/lucca-front-ng-listing.d.ts +33 -2
  256. package/types/lucca-front-ng-main-layout.d.ts +6 -0
  257. package/types/lucca-front-ng-mobile-push.d.ts +9 -2
  258. package/types/lucca-front-ng-multi-select.d.ts +26 -24
  259. package/types/lucca-front-ng-new-badge.d.ts +3 -0
  260. package/types/lucca-front-ng-numeric-badge.d.ts +9 -0
  261. package/types/lucca-front-ng-option.d.ts +86 -149
  262. package/types/lucca-front-ng-page-header.d.ts +9 -0
  263. package/types/lucca-front-ng-pagination.d.ts +26 -2
  264. package/types/lucca-front-ng-plg-push.d.ts +8 -2
  265. package/types/lucca-front-ng-popover.d.ts +1 -20
  266. package/types/lucca-front-ng-popover2.d.ts +8 -6
  267. package/types/lucca-front-ng-progress-bar.d.ts +9 -0
  268. package/types/lucca-front-ng-read-more.d.ts +25 -10
  269. package/types/lucca-front-ng-resource-card.d.ts +6 -0
  270. package/types/lucca-front-ng-scroll-box.d.ts +4 -1
  271. package/types/lucca-front-ng-segmented-control-tabs.d.ts +7 -1
  272. package/types/lucca-front-ng-segmented-control.d.ts +16 -1
  273. package/types/lucca-front-ng-simple-select.d.ts +5 -4
  274. package/types/lucca-front-ng-skeleton.d.ts +61 -6
  275. package/types/lucca-front-ng-sortable-list.d.ts +24 -0
  276. package/types/lucca-front-ng-status-badge.d.ts +12 -0
  277. package/types/lucca-front-ng-tag.d.ts +6 -0
  278. package/types/lucca-front-ng-text-flow.d.ts +8 -0
  279. package/types/lucca-front-ng-time.d.ts +22 -16
  280. package/types/lucca-front-ng-toast.d.ts +2 -2
  281. package/types/lucca-front-ng-tooltip.d.ts +7 -14
  282. package/types/lucca-front-ng-user-popover.d.ts +6 -7
  283. package/types/lucca-front-ng-user.d.ts +6 -15
  284. package/types/lucca-front-ng-vertical-navigation.d.ts +30 -0
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-chip.mjs","sources":["../../../packages/ng/chip/translations.ts","../../../packages/ng/chip/chip.translate.ts","../../../packages/ng/chip/chip.component.ts","../../../packages/ng/chip/chip.component.html","../../../packages/ng/chip/lucca-front-ng-chip.ts"],"sourcesContent":["export const Translations = {\n\tfr: {\n\t\tdelete: 'Supprimer',\n\t\twarning: 'Alerte',\n\t\terror: 'Erreur',\n\t},\n\tpt: {\n\t\tdelete: 'Eliminar',\n\t\twarning: 'Alerta',\n\t\terror: 'Erro',\n\t},\n\tes: {\n\t\tdelete: 'Eliminar',\n\t\twarning: 'Alerta',\n\t\terror: 'Error',\n\t},\n\t'nl-BE': {\n\t\tdelete: 'Verwijderen',\n\t\twarning: 'Waarschuwing',\n\t\terror: 'Fout',\n\t},\n\tnl: {\n\t\tdelete: 'Verwijderen',\n\t\twarning: 'Waarschuwing',\n\t\terror: 'Fout',\n\t},\n\tit: {\n\t\tdelete: 'Eliminare',\n\t\twarning: 'Avviso',\n\t\terror: 'Errore',\n\t},\n\tde: {\n\t\tdelete: 'Löschen',\n\t\twarning: 'Warnung',\n\t\terror: 'Fehler',\n\t},\n\ten: {\n\t\tdelete: 'Delete',\n\t\twarning: 'Warning',\n\t\terror: 'Error',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CHIP_TRANSLATIONS = new InjectionToken('luChipTranslations', {\n\tfactory: () => luChipTranslations,\n});\n\nexport interface ChipTranslate {\n\tdelete: string;\n\terror: string;\n\twarning: string;\n}\n\nexport const luChipTranslations: LuTranslation<ChipTranslate> = Translations;\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, output, ViewEncapsulation } from '@angular/core';\nimport { getIntl } from '@lucca-front/ng/core';\n\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { LU_CHIP_TRANSLATIONS } from './chip.translate';\n\n@Component({\n\tselector: 'lu-chip, button[luChip], a[luChip]',\n\ttemplateUrl: './chip.component.html',\n\tstyleUrl: './chip.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [NgTemplateOutlet, LuTooltipModule, IconComponent],\n\thost: {\n\t\tclass: 'chip',\n\t\t'[class.is-disabled]': 'disabled()',\n\t\t'[class.palette-product]': 'palette() === \"product\"',\n\t\t'[class.mod-S]': 'size() === \"S\"',\n\t\t'[class.palette-warning]': 'isWarning()',\n\t\t'[class.palette-critical]': 'isCritical()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipComponent {\n\tintl = getIntl(LU_CHIP_TRANSLATIONS);\n\n\treadonly withEllipsis = input(false, { transform: booleanAttribute });\n\n\treadonly unkillable = input(false, { transform: booleanAttribute });\n\n\treadonly palette = input<string>();\n\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\treadonly size = input<'S' | null>(null);\n\n\treadonly state = input<'warning' | 'critical' | null>(null);\n\n\treadonly stateAlt = computed(() => (this.isWarning() ? this.intl.warning : this.isCritical() ? this.intl.error : ''));\n\n\treadonly icon = input<LuccaIcon | null>(null);\n\n\treadonly kill = output<Event>();\n\n\treadonly isWarning = computed<boolean>(() => this.state() === 'warning');\n\treadonly isCritical = computed<boolean>(() => this.state() === 'critical');\n\treadonly displayedIcon = computed<LuccaIcon | null>(() => (this.isWarning() ? 'signWarning' : this.isCritical() ? 'signError' : this.icon()));\n}\n","@if (displayedIcon()) {\n\t<lu-icon [icon]=\"displayedIcon()\" [alt]=\"stateAlt()\" />\n}\n\n<ng-template #content><ng-content /></ng-template>\n\n@if (withEllipsis()) {\n\t<span class=\"chip-content pr-u-ellipsis\" luTooltip luTooltipWhenEllipsis><ng-container *ngTemplateOutlet=\"content\" /></span>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"content\" />\n}\n@if (!unkillable() && !disabled()) {\n\t<button type=\"button\" class=\"chip-kill\" (click)=\"kill.emit($event)\">\n\t\t<span class=\"pr-u-mask\">{{ intl.delete }}</span>\n\t</button>\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-chip.mjs","sources":["../../../packages/ng/chip/translations.ts","../../../packages/ng/chip/chip.translate.ts","../../../packages/ng/chip/chip.component.ts","../../../packages/ng/chip/chip.component.html","../../../packages/ng/chip/lucca-front-ng-chip.ts"],"sourcesContent":["export const Translations = {\n\tfr: {\n\t\tdelete: 'Supprimer',\n\t\twarning: 'Alerte',\n\t\terror: 'Erreur',\n\t},\n\tpt: {\n\t\tdelete: 'Eliminar',\n\t\twarning: 'Alerta',\n\t\terror: 'Erro',\n\t},\n\tes: {\n\t\tdelete: 'Eliminar',\n\t\twarning: 'Alerta',\n\t\terror: 'Error',\n\t},\n\t'nl-BE': {\n\t\tdelete: 'Verwijderen',\n\t\twarning: 'Waarschuwing',\n\t\terror: 'Fout',\n\t},\n\tnl: {\n\t\tdelete: 'Verwijderen',\n\t\twarning: 'Waarschuwing',\n\t\terror: 'Fout',\n\t},\n\tit: {\n\t\tdelete: 'Eliminare',\n\t\twarning: 'Avviso',\n\t\terror: 'Errore',\n\t},\n\tde: {\n\t\tdelete: 'Löschen',\n\t\twarning: 'Warnung',\n\t\terror: 'Fehler',\n\t},\n\ten: {\n\t\tdelete: 'Delete',\n\t\twarning: 'Warning',\n\t\terror: 'Error',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CHIP_TRANSLATIONS = new InjectionToken('luChipTranslations', {\n\tfactory: () => luChipTranslations,\n});\n\nexport interface ChipTranslate {\n\tdelete: string;\n\terror: string;\n\twarning: string;\n}\n\nexport const luChipTranslations: LuTranslation<ChipTranslate> = Translations;\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, output, ViewEncapsulation } from '@angular/core';\nimport { intlInputOptions } from '@lucca-front/ng/core';\n\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { IconComponent } from '@lucca-front/ng/icon';\nimport { LuTooltipModule } from '@lucca-front/ng/tooltip';\nimport { LU_CHIP_TRANSLATIONS } from './chip.translate';\n\n@Component({\n\tselector: 'lu-chip, button[luChip], a[luChip]',\n\ttemplateUrl: './chip.component.html',\n\tstyleUrl: './chip.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [NgTemplateOutlet, LuTooltipModule, IconComponent],\n\thost: {\n\t\tclass: 'chip',\n\t\t'[class.is-disabled]': 'disabled()',\n\t\t'[class.palette-product]': 'palette() === \"product\"',\n\t\t'[class.mod-S]': 'size() === \"S\"',\n\t\t'[class.palette-warning]': 'isWarning()',\n\t\t'[class.palette-critical]': 'isCritical()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ChipComponent {\n\treadonly intl = input(...intlInputOptions(LU_CHIP_TRANSLATIONS));\n\n\t/**\n\t * Add an ellipsis if the text is too long\n\t */\n\treadonly withEllipsis = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Makes the chip non-removable\n\t */\n\treadonly unkillable = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Which palette should be used for the entire chip.\n\t * Defaults to none (inherits parent palette)\n\t */\n\treadonly palette = input<string>();\n\n\t/**\n\t * Disabled the chip\n\t */\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Which size should the chip be? Defaults or small\n\t */\n\treadonly size = input<'S' | null>(null);\n\n\t/**\n\t * State is a shorthand to set the icon and the palette to the recommended values for the icon and palette based on\n\t * the provided state.\n\t *\n\t * If one of the icon or palette inputs are filled along with the state input, their values will have the priority over\n\t * state (so setting state to success and palette to warning will make the palette warning)\n\t */\n\treadonly state = input<'warning' | 'critical' | null>(null);\n\n\t/**\n\t * Which icon should we display in the chip if any?\n\t * Defaults to no icon.\n\t */\n\n\treadonly icon = input<LuccaIcon | null>(null);\n\n\t/**\n\t * Emit event when button kill is click\n\t */\n\treadonly kill = output<Event>();\n\treadonly stateAlt = computed(() => (this.isWarning() ? this.intl().warning : this.isCritical() ? this.intl().error : ''));\n\treadonly isWarning = computed<boolean>(() => this.state() === 'warning');\n\treadonly isCritical = computed<boolean>(() => this.state() === 'critical');\n\treadonly displayedIcon = computed<LuccaIcon | null>(() => (this.isWarning() ? 'signWarning' : this.isCritical() ? 'signError' : this.icon()));\n}\n","@if (displayedIcon()) {\n\t<lu-icon [icon]=\"displayedIcon()\" [alt]=\"stateAlt()\" />\n}\n\n<ng-template #content><ng-content /></ng-template>\n\n@if (withEllipsis()) {\n\t<span class=\"chip-content pr-u-ellipsis\" luTooltip luTooltipWhenEllipsis><ng-container *ngTemplateOutlet=\"content\" /></span>\n} @else {\n\t<ng-container *ngTemplateOutlet=\"content\" />\n}\n@if (!unkillable() && !disabled()) {\n\t<button type=\"button\" class=\"chip-kill\" (click)=\"kill.emit($event)\">\n\t\t<span class=\"pr-u-mask\">{{ intl().delete }}</span>\n\t</button>\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, inject, input, booleanAttribute, EventEmitter, contentChildren, effect, untracked, forwardRef, Output, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
- import { LuClass, getIntl } from '@lucca-front/ng/core';
3
+ import { LuClass, intlInputOptions } from '@lucca-front/ng/core';
4
4
 
5
5
  class ALuClear {
6
6
  }
@@ -42,11 +42,26 @@ class ClearComponent extends ALuClear {
42
42
  constructor() {
43
43
  super();
44
44
  this.#luClass = inject(LuClass);
45
- this.intl = getIntl(LU_CLEAR_TRANSLATIONS);
45
+ this.intl = input(...intlInputOptions(LU_CLEAR_TRANSLATIONS), ...(ngDevMode ? [{ debugName: "intl" }] : []));
46
+ /**
47
+ * Which size should the clear be? Defaults to small
48
+ */
46
49
  this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
50
+ /**
51
+ * Disabled the clear
52
+ */
47
53
  this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
54
+ /**
55
+ * Which palette should be used for the entire clear
56
+ */
48
57
  this.palette = input('none', ...(ngDevMode ? [{ debugName: "palette" }] : []));
58
+ /**
59
+ * Change the clear colors for use on a dark background
60
+ */
49
61
  this.inverted = input(false, { ...(ngDevMode ? { debugName: "inverted" } : {}), transform: booleanAttribute });
62
+ /**
63
+ * Emit event when button clear is click
64
+ */
50
65
  // eslint-disable-next-line @angular-eslint/no-output-on-prefix
51
66
  this.onClear = new EventEmitter();
52
67
  this.contentRef = contentChildren('content', ...(ngDevMode ? [{ debugName: "contentRef" }] : []));
@@ -65,13 +80,13 @@ class ClearComponent extends ALuClear {
65
80
  this.onClear.emit();
66
81
  }
67
82
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ClearComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
68
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ClearComponent, isStandalone: true, selector: "lu-clear", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClear: "onClear" }, host: { attributes: { "role": "button" }, listeners: { "click": "clear($event)", "keyup.space": "clear($event)", "keydown.enter": "$event.preventDefault(); $event.stopPropagation(); clear($event)", "keydown.space": "$event.preventDefault(); $event.stopPropagation()" }, properties: { "attr.tabindex": "disabled() ? null : \"0\"", "attr.disabled": "disabled() ? \"disabled\" : null", "class.mod-S": "size() === \"S\"", "class.palette-product": "palette() === \"product\"", "class.mod-inverted": "inverted()" }, classAttribute: "clear" }, providers: [
83
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: ClearComponent, isStandalone: true, selector: "lu-clear", inputs: { intl: { classPropertyName: "intl", publicName: "intl", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, palette: { classPropertyName: "palette", publicName: "palette", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: "inverted", publicName: "inverted", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onClear: "onClear" }, host: { attributes: { "role": "button" }, listeners: { "click": "clear($event)", "keyup.space": "clear($event)", "keydown.enter": "$event.preventDefault(); $event.stopPropagation(); clear($event)", "keydown.space": "$event.preventDefault(); $event.stopPropagation()" }, properties: { "attr.tabindex": "disabled() ? null : \"0\"", "attr.disabled": "disabled() ? \"disabled\" : null", "class.mod-S": "size() === \"S\"", "class.palette-product": "palette() === \"product\"", "class.mod-inverted": "inverted()" }, classAttribute: "clear" }, providers: [
69
84
  {
70
85
  provide: ALuClear,
71
86
  useExisting: forwardRef(() => ClearComponent),
72
87
  },
73
88
  LuClass,
74
- ], queries: [{ propertyName: "contentRef", predicate: ["content"], isSignal: true }], exportAs: ["luClearer"], usesInheritance: true, ngImport: i0, template: "<span class=\"pr-u-mask\">\n\t@if (contentRef().length) {\n\t\t<ng-content />\n\t} @else {\n\t\t{{ intl.clear }}\n\t}\n</span>\n", styles: ["@layer components{.clear{--components-clear-display: grid;--components-clear-size: 1rem;--components-clear-background: var(--palettes-800, var(--palettes-neutral-800));--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:var(--components-clear-display);grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background: var(--palettes-700, var(--palettes-neutral-700))}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-900, var(--palettes-neutral-900))}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.mod-inverted{--components-clear-cross-color: var(--palettes-800, var(--palettes-neutral-800));--components-clear-background: var(--palettes-0, var(--palettes-neutral-0))}.clear.mod-inverted:hover{--components-clear-background: var(--palettes-50, var(--palettes-neutral-50))}.clear.mod-inverted:active{--components-clear-background: var(--palettes-100, var(--palettes-neutral-100))}.clear[disabled]{cursor:default;--components-clear-cross-color: var(--palettes-neutral-500)}.clear[disabled],.clear[disabled]:hover,.clear[disabled]:active{--components-clear-background: var(--palettes-neutral-300)}.clear[hidden],.filterPill[disabled] .clear,.filterPill:not(.is-filled) .clear,.textfield-input[disabled] .clear,.textfield-input:not(.is-filled) .clear,.textfield-input:not(.is-selected) .clear{--components-clear-display: none}.multiSelect.is-selected:has(.multipleSelect-clear) .clear{--components-clear-display: grid}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
89
+ ], queries: [{ propertyName: "contentRef", predicate: ["content"], isSignal: true }], exportAs: ["luClearer"], usesInheritance: true, ngImport: i0, template: "<span class=\"pr-u-mask\">\n\t@if (contentRef().length) {\n\t\t<ng-content />\n\t} @else {\n\t\t{{ intl().clear }}\n\t}\n</span>\n", styles: ["@layer components{.clear{--components-clear-display: grid;--components-clear-size: 1rem;--components-clear-background: var(--palettes-800, var(--palettes-neutral-800));--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:var(--components-clear-display);grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background: var(--palettes-700, var(--palettes-neutral-700))}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-900, var(--palettes-neutral-900))}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.mod-inverted{--components-clear-cross-color: var(--palettes-800, var(--palettes-neutral-800));--components-clear-background: var(--palettes-0, var(--palettes-neutral-0))}.clear.mod-inverted:hover{--components-clear-background: var(--palettes-50, var(--palettes-neutral-50))}.clear.mod-inverted:active{--components-clear-background: var(--palettes-100, var(--palettes-neutral-100))}.clear[disabled]{cursor:default;--components-clear-cross-color: var(--palettes-neutral-500)}.clear[disabled],.clear[disabled]:hover,.clear[disabled]:active{--components-clear-background: var(--palettes-neutral-300)}.clear[hidden],.filterPill[disabled] .clear,.filterPill:not(.is-filled) .clear,.textfield-input[disabled] .clear,.textfield-input:not(.is-filled) .clear{--components-clear-display: none}.multiSelect.is-selected:has(.multipleSelect-clear) .clear{--components-clear-display: grid}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
75
90
  }
76
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ClearComponent, decorators: [{
77
92
  type: Component,
@@ -93,8 +108,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
93
108
  useExisting: forwardRef(() => ClearComponent),
94
109
  },
95
110
  LuClass,
96
- ], template: "<span class=\"pr-u-mask\">\n\t@if (contentRef().length) {\n\t\t<ng-content />\n\t} @else {\n\t\t{{ intl.clear }}\n\t}\n</span>\n", styles: ["@layer components{.clear{--components-clear-display: grid;--components-clear-size: 1rem;--components-clear-background: var(--palettes-800, var(--palettes-neutral-800));--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:var(--components-clear-display);grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background: var(--palettes-700, var(--palettes-neutral-700))}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-900, var(--palettes-neutral-900))}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.mod-inverted{--components-clear-cross-color: var(--palettes-800, var(--palettes-neutral-800));--components-clear-background: var(--palettes-0, var(--palettes-neutral-0))}.clear.mod-inverted:hover{--components-clear-background: var(--palettes-50, var(--palettes-neutral-50))}.clear.mod-inverted:active{--components-clear-background: var(--palettes-100, var(--palettes-neutral-100))}.clear[disabled]{cursor:default;--components-clear-cross-color: var(--palettes-neutral-500)}.clear[disabled],.clear[disabled]:hover,.clear[disabled]:active{--components-clear-background: var(--palettes-neutral-300)}.clear[hidden],.filterPill[disabled] .clear,.filterPill:not(.is-filled) .clear,.textfield-input[disabled] .clear,.textfield-input:not(.is-filled) .clear,.textfield-input:not(.is-selected) .clear{--components-clear-display: none}.multiSelect.is-selected:has(.multipleSelect-clear) .clear{--components-clear-display: grid}}\n"] }]
97
- }], ctorParameters: () => [], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], palette: [{ type: i0.Input, args: [{ isSignal: true, alias: "palette", required: false }] }], inverted: [{ type: i0.Input, args: [{ isSignal: true, alias: "inverted", required: false }] }], onClear: [{
111
+ ], template: "<span class=\"pr-u-mask\">\n\t@if (contentRef().length) {\n\t\t<ng-content />\n\t} @else {\n\t\t{{ intl().clear }}\n\t}\n</span>\n", styles: ["@layer components{.clear{--components-clear-display: grid;--components-clear-size: 1rem;--components-clear-background: var(--palettes-800, var(--palettes-neutral-800));--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16' width='16' fill='none'%3E%3Cpath d='M5.80473 4.86192C5.54438 4.60157 5.12227 4.60157 4.86192 4.86192C4.60157 5.12227 4.60157 5.54438 4.86192 5.80473L7.05718 7.99999L4.86192 10.1953C4.60157 10.4556 4.60157 10.8777 4.86192 11.1381C5.12227 11.3984 5.54438 11.3984 5.80473 11.1381L7.99999 8.9428L10.1953 11.1381C10.4556 11.3984 10.8777 11.3984 11.1381 11.1381C11.3984 10.8777 11.3984 10.4556 11.1381 10.1953L8.9428 7.99999L11.1381 5.80473C11.3984 5.54438 11.3984 5.12227 11.1381 4.86192C10.8777 4.60157 10.4556 4.60157 10.1953 4.86192L7.99999 7.05718L5.80473 4.86192Z' fill='currentColor'/%3E%3C/svg%3E\");padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:var(--components-clear-display);grid-template-columns:1fr;grid-template-rows:1fr;grid-template-areas:\"main\";align-items:normal;flex-shrink:0;inline-size:var(--components-clear-size);block-size:var(--components-clear-size);border-radius:var(--pr-t-border-radius-full)}.clear:before,.clear:after{content:\"\";grid-area:main}.clear:before{border-radius:var(--pr-t-border-radius-full);background-color:var(--components-clear-background)}.clear:after{-webkit-mask-image:var(--components-clear-background-image);mask-image:var(--components-clear-background-image);-webkit-mask-size:var(--components-clear-size);mask-size:var(--components-clear-size);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background-color:var(--components-clear-cross-color)}.clear:hover{--components-clear-cross-color: var(--palettes-0, var(--palettes-neutral-0));--components-clear-background: var(--palettes-700, var(--palettes-neutral-700))}.clear:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px;border-radius:50%}.clear:active{--components-clear-background: var(--palettes-900, var(--palettes-neutral-900))}.clear .lucca-icon{display:none}}@layer mods{.clear.mod-S{--components-clear-size: .75rem;--icon-size: .75rem}.clear.mod-inverted{--components-clear-cross-color: var(--palettes-800, var(--palettes-neutral-800));--components-clear-background: var(--palettes-0, var(--palettes-neutral-0))}.clear.mod-inverted:hover{--components-clear-background: var(--palettes-50, var(--palettes-neutral-50))}.clear.mod-inverted:active{--components-clear-background: var(--palettes-100, var(--palettes-neutral-100))}.clear[disabled]{cursor:default;--components-clear-cross-color: var(--palettes-neutral-500)}.clear[disabled],.clear[disabled]:hover,.clear[disabled]:active{--components-clear-background: var(--palettes-neutral-300)}.clear[hidden],.filterPill[disabled] .clear,.filterPill:not(.is-filled) .clear,.textfield-input[disabled] .clear,.textfield-input:not(.is-filled) .clear{--components-clear-display: none}.multiSelect.is-selected:has(.multipleSelect-clear) .clear{--components-clear-display: grid}}\n"] }]
112
+ }], ctorParameters: () => [], propDecorators: { intl: [{ type: i0.Input, args: [{ isSignal: true, alias: "intl", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], palette: [{ type: i0.Input, args: [{ isSignal: true, alias: "palette", required: false }] }], inverted: [{ type: i0.Input, args: [{ isSignal: true, alias: "inverted", required: false }] }], onClear: [{
98
113
  type: Output
99
114
  }], contentRef: [{ type: i0.ContentChildren, args: ['content', { isSignal: true }] }] } });
100
115
 
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-clear.mjs","sources":["../../../packages/ng/clear/clear.model.ts","../../../packages/ng/clear/translations.ts","../../../packages/ng/clear/clear.translate.ts","../../../packages/ng/clear/clear.component.ts","../../../packages/ng/clear/clear.component.html","../../../packages/ng/clear/lucca-front-ng-clear.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nexport interface ILuClear<T> {\n\tonClear: Observable<T>;\n}\n\nexport abstract class ALuClear<T> implements ILuClear<T> {\n\tonClear: Observable<T>;\n}\n","export const Translations = {\n\ten: {\n\t\tclear: 'Clear this field',\n\t},\n\tde: {\n\t\tclear: 'Den Inhalt aus diesem Feld entfernen',\n\t},\n\tfr: {\n\t\tclear: 'Vider ce champ',\n\t},\n\tit: {\n\t\tclear: 'Svuotare questo campo',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\t'nl-BE': {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CLEAR_TRANSLATIONS = new InjectionToken('LuClearTranslations', {\n\tfactory: () => luClearTranslations,\n});\n\nexport interface LuClearLabel {\n\tclear: string;\n}\n\nexport const luClearTranslations: LuTranslation<LuClearLabel> = Translations;\n","import {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcontentChildren,\n\teffect,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tinject,\n\tinput,\n\tOutput,\n\tuntracked,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { getIntl, LuClass, Palette } from '@lucca-front/ng/core';\nimport { ALuClear, ILuClear } from './clear.model';\nimport { LU_CLEAR_TRANSLATIONS } from './clear.translate';\n\n@Component({\n\tselector: 'lu-clear',\n\tstyleUrl: './clear.component.scss',\n\ttemplateUrl: './clear.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\texportAs: 'luClearer',\n\thost: {\n\t\trole: 'button',\n\t\tclass: 'clear',\n\t\t'[attr.tabindex]': 'disabled() ? null : \"0\"',\n\t\t'[attr.disabled]': 'disabled() ? \"disabled\" : null',\n\t\t'[class.mod-S]': 'size() === \"S\"',\n\t\t'[class.palette-product]': 'palette() === \"product\"',\n\t\t'[class.mod-inverted]': 'inverted()',\n\t\t'(click)': 'clear($event)',\n\t\t'(keyup.space)': 'clear($event)',\n\t\t'(keydown.enter)': '$event.preventDefault(); $event.stopPropagation(); clear($event)',\n\t\t'(keydown.space)': '$event.preventDefault(); $event.stopPropagation()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuClear,\n\t\t\tuseExisting: forwardRef(() => ClearComponent),\n\t\t},\n\t\tLuClass,\n\t],\n})\nexport class ClearComponent<T> extends ALuClear<T> implements ILuClear<T> {\n\t#luClass = inject(LuClass);\n\tintl = getIntl(LU_CLEAR_TRANSLATIONS);\n\n\tsize = input<'S' | null>(null);\n\tdisabled = input(false, { transform: booleanAttribute });\n\tpalette = input<Palette>('none');\n\tinverted = input(false, { transform: booleanAttribute });\n\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output() override onClear = new EventEmitter<T>();\n\n\tcontentRef = contentChildren<ElementRef>('content');\n\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst palette = this.palette();\n\t\t\tuntracked(() => {\n\t\t\t\tif (palette !== 'none') {\n\t\t\t\t\tthis.#luClass.setState({ [`palette-${this.palette()}`]: !!this.palette() });\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tclear($event: Event) {\n\t\t$event.preventDefault();\n\t\t$event.stopPropagation();\n\n\t\tthis.onClear.emit();\n\t}\n}\n","<span class=\"pr-u-mask\">\n\t@if (contentRef().length) {\n\t\t<ng-content />\n\t} @else {\n\t\t{{ intl.clear }}\n\t}\n</span>\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-clear.mjs","sources":["../../../packages/ng/clear/clear.model.ts","../../../packages/ng/clear/translations.ts","../../../packages/ng/clear/clear.translate.ts","../../../packages/ng/clear/clear.component.ts","../../../packages/ng/clear/clear.component.html","../../../packages/ng/clear/lucca-front-ng-clear.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nexport interface ILuClear<T> {\n\tonClear: Observable<T>;\n}\n\nexport abstract class ALuClear<T> implements ILuClear<T> {\n\tonClear: Observable<T>;\n}\n","export const Translations = {\n\ten: {\n\t\tclear: 'Clear this field',\n\t},\n\tde: {\n\t\tclear: 'Den Inhalt aus diesem Feld entfernen',\n\t},\n\tfr: {\n\t\tclear: 'Vider ce champ',\n\t},\n\tit: {\n\t\tclear: 'Svuotare questo campo',\n\t},\n\tnl: {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\t'nl-BE': {\n\t\tclear: 'Dit veld leegmaken',\n\t},\n\tes: {\n\t\tclear: 'Vaciar este campo',\n\t},\n\tpt: {\n\t\tclear: 'Esvaziar este campo',\n\t},\n};\n","import { InjectionToken } from '@angular/core';\nimport { LuTranslation } from '@lucca-front/ng/core';\nimport { Translations } from './translations';\n\nexport const LU_CLEAR_TRANSLATIONS = new InjectionToken('LuClearTranslations', {\n\tfactory: () => luClearTranslations,\n});\n\nexport interface LuClearLabel {\n\tclear: string;\n}\n\nexport const luClearTranslations: LuTranslation<LuClearLabel> = Translations;\n","import {\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcontentChildren,\n\teffect,\n\tElementRef,\n\tEventEmitter,\n\tforwardRef,\n\tinject,\n\tinput,\n\tOutput,\n\tuntracked,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { intlInputOptions, LuClass, Palette } from '@lucca-front/ng/core';\nimport { ALuClear, ILuClear } from './clear.model';\nimport { LU_CLEAR_TRANSLATIONS } from './clear.translate';\n\n@Component({\n\tselector: 'lu-clear',\n\tstyleUrl: './clear.component.scss',\n\ttemplateUrl: './clear.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\texportAs: 'luClearer',\n\thost: {\n\t\trole: 'button',\n\t\tclass: 'clear',\n\t\t'[attr.tabindex]': 'disabled() ? null : \"0\"',\n\t\t'[attr.disabled]': 'disabled() ? \"disabled\" : null',\n\t\t'[class.mod-S]': 'size() === \"S\"',\n\t\t'[class.palette-product]': 'palette() === \"product\"',\n\t\t'[class.mod-inverted]': 'inverted()',\n\t\t'(click)': 'clear($event)',\n\t\t'(keyup.space)': 'clear($event)',\n\t\t'(keydown.enter)': '$event.preventDefault(); $event.stopPropagation(); clear($event)',\n\t\t'(keydown.space)': '$event.preventDefault(); $event.stopPropagation()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: ALuClear,\n\t\t\tuseExisting: forwardRef(() => ClearComponent),\n\t\t},\n\t\tLuClass,\n\t],\n})\nexport class ClearComponent<T> extends ALuClear<T> implements ILuClear<T> {\n\t#luClass = inject(LuClass);\n\treadonly intl = input(...intlInputOptions(LU_CLEAR_TRANSLATIONS));\n\n\t/**\n\t * Which size should the clear be? Defaults to small\n\t */\n\treadonly size = input<'S' | null>(null);\n\n\t/**\n\t * Disabled the clear\n\t */\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Which palette should be used for the entire clear\n\t */\n\treadonly palette = input<Palette>('none');\n\n\t/**\n\t * Change the clear colors for use on a dark background\n\t */\n\treadonly inverted = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Emit event when button clear is click\n\t */\n\t// eslint-disable-next-line @angular-eslint/no-output-on-prefix\n\t@Output() override onClear = new EventEmitter<T>();\n\n\tcontentRef = contentChildren<ElementRef>('content');\n\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst palette = this.palette();\n\t\t\tuntracked(() => {\n\t\t\t\tif (palette !== 'none') {\n\t\t\t\t\tthis.#luClass.setState({ [`palette-${this.palette()}`]: !!this.palette() });\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tclear($event: Event) {\n\t\t$event.preventDefault();\n\t\t$event.stopPropagation();\n\n\t\tthis.onClear.emit();\n\t}\n}\n","<span class=\"pr-u-mask\">\n\t@if (contentRef().length) {\n\t\t<ng-content />\n\t} @else {\n\t\t{{ intl().clear }}\n\t}\n</span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, booleanAttribute, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
3
+
4
+ class ColorComponent {
5
+ constructor() {
6
+ this.value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
7
+ this.borderColor = input(null, ...(ngDevMode ? [{ debugName: "borderColor" }] : []));
8
+ this.size = input(null, ...(ngDevMode ? [{ debugName: "size" }] : []));
9
+ this.hiddenName = input(false, { ...(ngDevMode ? { debugName: "hiddenName" } : {}), transform: booleanAttribute });
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ColorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: ColorComponent, isStandalone: true, selector: "lu-color", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, borderColor: { classPropertyName: "borderColor", publicName: "borderColor", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, hiddenName: { classPropertyName: "hiddenName", publicName: "hiddenName", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-L": "size() === \"L\"", "class.mod-XL": "size() === \"XL\"" }, classAttribute: "color" }, ngImport: i0, template: "<span\n\tclass=\"color-value\"\n\t[style.--components-color-value-backgroundColor]=\"value()\"\n\t[style.--components-color-value-boxShadowColor]=\"borderColor()\"\n></span>\n<span class=\"color-name\" [class.pr-u-mask]=\"hiddenName()\"><ng-content /></span>\n", styles: ["@charset \"UTF-8\";@layer components{.color{--components-color-value-before-display: none;--components-color-value-scale: 1;--components-color-value-inlineSize: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50));--components-color-value-boxShadowColor: transparent;--components-color-value-backgroundColor: transparent;--components-color-value-channel: clamp(0, (((r * .299) + (g * .587) + (b * .114)) - 128) * -1000, 255);display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.color .color-value{inline-size:var(--components-color-value-inlineSize);aspect-ratio:1;background:var(--components-color-value-backgroundColor);color:rgb(from var(--components-color-value-backgroundColor) var(--components-color-value-channel) var(--components-color-value-channel) var(--components-color-value-channel));border-radius:var(--pr-t-border-radius-small);box-shadow:inset 0 0 0 1px var(--components-color-value-boxShadowColor);scale:var(--components-color-value-scale);transition-property:scale;transition-duration:var(--commons-animations-durations-fast);flex-shrink:0}.color .color-value:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;display:var(--components-color-value-before-display);position:absolute;inset:0;place-items:center;font-size:1.5rem}.color-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer mods{.color.mod-M{--components-color-value-inlineSize: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50))}.color.mod-L{--components-color-value-inlineSize: var(--pr-t-spacings-300)}.color.mod-XL{--components-color-value-inlineSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}[aria-selected=true] .color{--components-color-value-before-display: grid}.optionItem.is-highlighted .color,[role=listbox] .optionItem:hover .color{--components-color-value-scale: calc(7/6)}}@layer components{.colorPicker{--components-colorPicker-input-paddingInlineStart: 0;--components-colorPicker-inlineSize: auto;inline-size:var(--components-colorPicker-inlineSize)}.colorPicker .simpleSelect-field-value{padding:1px;margin:-1px;min-inline-size:0}.colorPicker .simpleSelect-field-input{padding-inline-start:var(--components-colorPicker-input-paddingInlineStart);color:transparent}}@layer mods{.colorPicker.mod-compact{--components-colorPicker-inlineSize: 4.625rem}.colorPicker.mod-compact .color-name{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.form-field.mod-S .colorPicker.mod-compact{--components-colorPicker-inlineSize: 3.75rem}.colorPicker.mod-compact.is-clearable{--components-colorPicker-inlineSize: 6.125rem}.form-field.mod-S .colorPicker.mod-compact.is-clearable{--components-colorPicker-inlineSize: 4.875rem}.colorPicker.is-selected:not(.is-searchFilled){--components-colorPicker-input-paddingInlineStart: var(--pr-t-spacings-400)}.form-field.mod-S .colorPicker.is-selected:not(.is-searchFilled){--components-colorPicker-input-paddingInlineStart: calc(var(--pr-t-spacings-300) + var(--pr-t-spacings-50))}}@layer components{.cdk-overlay-pane:has(.colorPanel .lu-picker-content){min-inline-size:0!important;inline-size:17rem}.colorPanel [role=listbox]{display:flex;flex-wrap:wrap;padding:var(--pr-t-spacings-100)}.colorPanel .color{padding:var(--pr-t-spacings-50)}.colorPanel-highlighted{display:flex;padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);margin:0 var(--pr-t-spacings-100) var(--pr-t-spacings-100);gap:var(--pr-t-spacings-50)}}@layer mods{.colorPanel .lu-picker-content{padding:0}.colorPanel .optionItem-value{padding:0;background-color:transparent!important}.colorPanel .optionItem-value:before{display:none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ColorComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'lu-color', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
17
+ class: 'color',
18
+ '[class.mod-L]': 'size() === "L"',
19
+ '[class.mod-XL]': 'size() === "XL"',
20
+ }, template: "<span\n\tclass=\"color-value\"\n\t[style.--components-color-value-backgroundColor]=\"value()\"\n\t[style.--components-color-value-boxShadowColor]=\"borderColor()\"\n></span>\n<span class=\"color-name\" [class.pr-u-mask]=\"hiddenName()\"><ng-content /></span>\n", styles: ["@charset \"UTF-8\";@layer components{.color{--components-color-value-before-display: none;--components-color-value-scale: 1;--components-color-value-inlineSize: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50));--components-color-value-boxShadowColor: transparent;--components-color-value-backgroundColor: transparent;--components-color-value-channel: clamp(0, (((r * .299) + (g * .587) + (b * .114)) - 128) * -1000, 255);display:flex;align-items:center;gap:var(--pr-t-spacings-100)}.color .color-value{inline-size:var(--components-color-value-inlineSize);aspect-ratio:1;background:var(--components-color-value-backgroundColor);color:rgb(from var(--components-color-value-backgroundColor) var(--components-color-value-channel) var(--components-color-value-channel) var(--components-color-value-channel));border-radius:var(--pr-t-border-radius-small);box-shadow:inset 0 0 0 1px var(--components-color-value-boxShadowColor);scale:var(--components-color-value-scale);transition-property:scale;transition-duration:var(--commons-animations-durations-fast);flex-shrink:0}.color .color-value:before{--icon-content: \"\\e97d\";font-weight:var(--pr-t-font-fontWeight-regular);display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:var(--icon-fontFamily);content:var(--icon-content)/\"\";-webkit-font-smoothing:antialiased;text-transform:none;display:var(--components-color-value-before-display);position:absolute;inset:0;place-items:center;font-size:1.5rem}.color-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@layer mods{.color.mod-M{--components-color-value-inlineSize: calc(var(--pr-t-spacings-200) + var(--pr-t-spacings-50))}.color.mod-L{--components-color-value-inlineSize: var(--pr-t-spacings-300)}.color.mod-XL{--components-color-value-inlineSize: calc(var(--pr-t-spacings-400) + var(--pr-t-spacings-50))}[aria-selected=true] .color{--components-color-value-before-display: grid}.optionItem.is-highlighted .color,[role=listbox] .optionItem:hover .color{--components-color-value-scale: calc(7/6)}}@layer components{.colorPicker{--components-colorPicker-input-paddingInlineStart: 0;--components-colorPicker-inlineSize: auto;inline-size:var(--components-colorPicker-inlineSize)}.colorPicker .simpleSelect-field-value{padding:1px;margin:-1px;min-inline-size:0}.colorPicker .simpleSelect-field-input{padding-inline-start:var(--components-colorPicker-input-paddingInlineStart);color:transparent}}@layer mods{.colorPicker.mod-compact{--components-colorPicker-inlineSize: 4.625rem}.colorPicker.mod-compact .color-name{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.form-field.mod-S .colorPicker.mod-compact{--components-colorPicker-inlineSize: 3.75rem}.colorPicker.mod-compact.is-clearable{--components-colorPicker-inlineSize: 6.125rem}.form-field.mod-S .colorPicker.mod-compact.is-clearable{--components-colorPicker-inlineSize: 4.875rem}.colorPicker.is-selected:not(.is-searchFilled){--components-colorPicker-input-paddingInlineStart: var(--pr-t-spacings-400)}.form-field.mod-S .colorPicker.is-selected:not(.is-searchFilled){--components-colorPicker-input-paddingInlineStart: calc(var(--pr-t-spacings-300) + var(--pr-t-spacings-50))}}@layer components{.cdk-overlay-pane:has(.colorPanel .lu-picker-content){min-inline-size:0!important;inline-size:17rem}.colorPanel [role=listbox]{display:flex;flex-wrap:wrap;padding:var(--pr-t-spacings-100)}.colorPanel .color{padding:var(--pr-t-spacings-50)}.colorPanel-highlighted{display:flex;padding:var(--pr-t-spacings-50) var(--pr-t-spacings-100);margin:0 var(--pr-t-spacings-100) var(--pr-t-spacings-100);gap:var(--pr-t-spacings-50)}}@layer mods{.colorPanel .lu-picker-content{padding:0}.colorPanel .optionItem-value{padding:0;background-color:transparent!important}.colorPanel .optionItem-value:before{display:none}}\n"] }]
21
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], borderColor: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderColor", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], hiddenName: [{ type: i0.Input, args: [{ isSignal: true, alias: "hiddenName", required: false }] }] } });
22
+
23
+ /**
24
+ * Generated bundle index. Do not edit.
25
+ */
26
+
27
+ export { ColorComponent };
28
+ //# sourceMappingURL=lucca-front-ng-color.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucca-front-ng-color.mjs","sources":["../../../packages/ng/color/color.component.ts","../../../packages/ng/color/color.component.html","../../../packages/ng/color/lucca-front-ng-color.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-color',\n\ttemplateUrl: './color.component.html',\n\tstyleUrl: './color.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'color',\n\t\t'[class.mod-L]': 'size() === \"L\"',\n\t\t'[class.mod-XL]': 'size() === \"XL\"',\n\t},\n})\nexport class ColorComponent {\n\treadonly value = input<string | null>(null);\n\treadonly borderColor = input<string | null>(null);\n\treadonly size = input<'L' | 'XL' | null>(null);\n\treadonly hiddenName = input(false, { transform: booleanAttribute });\n}\n","<span\n\tclass=\"color-value\"\n\t[style.--components-color-value-backgroundColor]=\"value()\"\n\t[style.--components-color-value-boxShadowColor]=\"borderColor()\"\n></span>\n<span class=\"color-name\" [class.pr-u-mask]=\"hiddenName()\"><ng-content /></span>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAca,cAAc,CAAA;AAZ3B,IAAA,WAAA,GAAA;AAaU,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAgB,IAAI,iDAAC;AAClC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAgB,IAAI,uDAAC;AACxC,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAoB,IAAI,gDAAC;QACrC,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,KAAK,uDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACnE,IAAA;8GALY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,ysBCd3B,sQAMA,EAAA,MAAA,EAAA,CAAA,q0HAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FDQa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAZ1B,SAAS;+BACC,UAAU,EAAA,aAAA,EAGL,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACL,wBAAA,KAAK,EAAE,OAAO;AACd,wBAAA,eAAe,EAAE,gBAAgB;AACjC,wBAAA,gBAAgB,EAAE,iBAAiB;AACnC,qBAAA,EAAA,QAAA,EAAA,sQAAA,EAAA,MAAA,EAAA,CAAA,q0HAAA,CAAA,EAAA;;;AEZF;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { NgTemplateOutlet, DatePipe } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { InjectionToken, inject, LOCALE_ID, computed, input, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, Component, contentChildren, booleanAttribute, forwardRef } from '@angular/core';
3
+ import { InjectionToken, inject, LOCALE_ID, input, computed, ChangeDetectionStrategy, ViewEncapsulation, Component, contentChildren, booleanAttribute, forwardRef } from '@angular/core';
4
4
  import { PortalDirective } from '@lucca-front/ng/core';
5
5
  import { LuUserPictureModule } from '@lucca-front/ng/user';
6
6
 
@@ -19,10 +19,7 @@ class CommentComponent {
19
19
  minute: 'numeric',
20
20
  });
21
21
  this.#parentBlock = inject(COMMENT_BLOCK_INSTANCE);
22
- this.noAvatar = computed(() => this.#parentBlock.noAvatar(), ...(ngDevMode ? [{ debugName: "noAvatar" }] : []));
23
- this.avatar = computed(() => this.#parentBlock.avatar(), ...(ngDevMode ? [{ debugName: "avatar" }] : []));
24
- this.authorName = computed(() => this.#parentBlock.authorName(), ...(ngDevMode ? [{ debugName: "authorName" }] : []));
25
- this.size = computed(() => this.#parentBlock.size(), ...(ngDevMode ? [{ debugName: "size" }] : []));
22
+ this.content = input(...(ngDevMode ? [undefined, { debugName: "content" }] : []));
26
23
  this.date = input(...(ngDevMode ? [undefined, { debugName: "date" }] : []));
27
24
  /**
28
25
  * format given to the date pipe for display.
@@ -30,17 +27,16 @@ class CommentComponent {
30
27
  * See https://angular.dev/api/common/DatePipe#custom-format-options
31
28
  */
32
29
  this.datePipeFormat = input(undefined, ...(ngDevMode ? [{ debugName: "datePipeFormat" }] : []));
33
- this.content = input(...(ngDevMode ? [undefined, { debugName: "content" }] : []));
34
- this.contentIsHTML = computed(() => {
35
- return /<\/?[a-z][\s\S]*>/i.test(this.content());
36
- }, ...(ngDevMode ? [{ debugName: "contentIsHTML" }] : []));
30
+ this.noAvatar = computed(() => this.#parentBlock.noAvatar(), ...(ngDevMode ? [{ debugName: "noAvatar" }] : []));
31
+ this.avatar = computed(() => this.#parentBlock.avatar(), ...(ngDevMode ? [{ debugName: "avatar" }] : []));
32
+ this.authorName = computed(() => this.#parentBlock.authorName(), ...(ngDevMode ? [{ debugName: "authorName" }] : []));
33
+ this.size = computed(() => this.#parentBlock.size(), ...(ngDevMode ? [{ debugName: "size" }] : []));
34
+ this.contentIsHTML = computed(() => /<\/?[a-z][\s\S]*>/i.test(this.content()), ...(ngDevMode ? [{ debugName: "contentIsHTML" }] : []));
37
35
  this.dateDisplay = computed(() => {
38
36
  const formatted = this.#intlDateTimeFormat.format(this.date());
39
37
  return `${formatted[0].toUpperCase()}${formatted.slice(1)}`;
40
38
  }, ...(ngDevMode ? [{ debugName: "dateDisplay" }] : []));
41
- this.role = computed(() => {
42
- return this.#parentBlock.isSingleComment() ? null : 'listitem';
43
- }, ...(ngDevMode ? [{ debugName: "role" }] : []));
39
+ this.role = computed(() => (this.#parentBlock.isSingleComment() ? null : 'listitem'), ...(ngDevMode ? [{ debugName: "role" }] : []));
44
40
  }
45
41
  #locale;
46
42
  #intlDateTimeFormat;
@@ -49,27 +45,33 @@ class CommentComponent {
49
45
  return this.role();
50
46
  }
51
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: CommentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: CommentComponent, isStandalone: true, selector: "lu-comment", inputs: { date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, datePipeFormat: { classPropertyName: "datePipeFormat", publicName: "datePipeFormat", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "this.roleAttr" }, classAttribute: "commentWrapper-item" }, ngImport: i0, template: "<div class=\"comment\" [class.mod-noAvatar]=\"noAvatar()\" [class.mod-S]=\"size() === 'S'\">\n\t<div class=\"comment-infos\">\n\t\t@if (!noAvatar()) {\n\t\t\t<div class=\"pr-u-displayContents\" aria-hidden=\"true\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"avatar()\" />\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"comment-infos-content\">\n\t\t\t<span class=\"comment-infos-name\"><ng-container *luPortal=\"authorName()\" /></span>&ngsp;\n\t\t\t<time class=\"comment-infos-date\" [attr.datetime]=\"date().toISOString()\">\n\t\t\t\t@if (datePipeFormat()) {\n\t\t\t\t\t{{ date() | date: datePipeFormat() }}\n\t\t\t\t} @else if (dateDisplay()) {\n\t\t\t\t\t<ng-container *luPortal=\"dateDisplay()\" />\n\t\t\t\t} @else {\n\t\t\t\t\t{{ date() | date }}\n\t\t\t\t}\n\t\t\t</time>\n\t\t</div>\n\t</div>\n\t<blockquote class=\"comment-content\">\n\t\t@if (contentIsHTML()) {\n\t\t\t<div class=\"comment-content-textContainerOptional\" [innerHTML]=\"content()\"></div>\n\t\t} @else {\n\t\t\t<p class=\"comment-content-text\" [innerHTML]=\"content()\"></p>\n\t\t}\n\t</blockquote>\n</div>\n\n<ng-template #contentTpl>\n\t<ng-content />\n</ng-template>\n", styles: ["@charset \"UTF-8\";@layer components{.comment{--components-comment-max-width: 66ch;--components-comment-text-font: var(--pr-t-font-body-M);--components-comment-margin: 0;--components-comment-content-margin: calc(1.5rem + var(--pr-t-spacings-100));--components-comment-info-separator: \"\\2022\";--components-comment-info-content-display: block;--components-comment-info-direction: row;--components-comment-align: start;--components-comment-border-radius: var(--pr-t-border-radius-small) var(--pr-t-border-radius-default) var(--pr-t-border-radius-default);--components-comment-text-fontSize: var(--pr-t-font-body-M-fontSize);--components-comment-text-lineHeight: var(--pr-t-font-body-M-lineHeight);container:comment/inline-size;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50);max-inline-size:var(--components-comment-max-width);align-items:var(--components-comment-align);margin-inline-start:var(--components-comment-margin)}.comment .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.commentWrapper{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100);margin:0;padding:0;list-style-type:none}.comment-infos{display:flex;font-style:normal;gap:var(--pr-t-spacings-100);justify-content:flex-start;align-items:flex-start;flex-direction:var(--components-comment-info-direction)}.comment-infos-content{flex-direction:column;display:var(--components-comment-info-content-display);font:var(--pr-t-font-body-S);margin-block:var(--pr-t-spacings-25)}.comment-infos-date{color:var(--pr-t-color-text-subtle)}.comment-infos-name{color:var(--pr-t-color-text)}.comment-infos-name+.comment-infos-date:before{color:var(--palettes-neutral-400);padding-inline:1ch;content:var(--components-comment-info-separator)/\"\"}.comment-content{background-color:var(--components-comment-background-color, var(--palettes-neutral-50));border-radius:var(--components-comment-border-radius);display:flex;flex-direction:column;gap:var(--pr-t-spacings-150);margin-block:0;margin-inline:var(--components-comment-content-margin) 0;max-inline-size:fit-content;padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-150)}.comment-content-text{margin-block-end:0;overflow-wrap:break-word;font:var(--components-comment-text-font)}.comment-content-textContainerOptional{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100);font:var(--components-comment-text-font)}.comment-content-textContainerOptional>*{margin:0}}@layer mods{.comment.mod-S{--components-comment-text-font: var(--pr-t-font-body-S)}.comment.mod-noAvatar{--components-comment-content-margin: 0}@container comment not (min-width: 25rem){.comment-infos-content{--components-comment-info-content-display: flex}.comment-infos-name+.comment-infos-date:before{--components-comment-info-separator: none}}}@layer components{.commentWrapper{--components-comment-max-width: 66ch;--components-comment-text-font: var(--pr-t-font-body-M);--components-comment-margin: 0;--components-comment-content-margin: calc(1.5rem + var(--pr-t-spacings-100));--components-comment-info-separator: \"\\2022\";--components-comment-info-content-display: block;--components-comment-info-direction: row;--components-comment-align: start;--components-comment-border-radius: var(--pr-t-border-radius-small) var(--pr-t-border-radius-default) var(--pr-t-border-radius-default);--components-comment-text-fontSize: var(--pr-t-font-body-M-fontSize);--components-comment-text-lineHeight: var(--pr-t-font-body-M-lineHeight)}}@layer mods{.commentWrapper.mod-S .comment{--components-comment-text-font: var(--pr-t-font-body-S)}.commentWrapper.mod-compact .commentWrapper-item:not(:first-child) .comment-infos{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.commentWrapper.mod-chatAnswer .comment{--components-comment-info-direction: row-reverse;--components-comment-background-color: var(--palettes-product-50);--components-comment-align: end;--components-comment-margin: auto;--components-comment-border-radius: var(--pr-t-border-radius-default) var(--pr-t-border-radius-small) var(--pr-t-border-radius-default) var(--pr-t-border-radius-default)}.commentWrapper.mod-chatAnswer .comment-content{margin-block:0;margin-inline:0 var(--components-comment-content-margin)}}@layer components{.commentWrapperChat{margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;gap:var(--pr-t-spacings-200)}.commentWrapperChat .comment{--components-comment-max-width: min(66ch, calc(100% - var(--components-comment-content-margin)))}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "ngmodule", type: LuUserPictureModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.8", type: CommentComponent, isStandalone: true, selector: "lu-comment", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: false, transformFunction: null }, datePipeFormat: { classPropertyName: "datePipeFormat", publicName: "datePipeFormat", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "role()" }, classAttribute: "commentWrapper-item" }, ngImport: i0, template: "<div class=\"comment\" [class.mod-noAvatar]=\"noAvatar()\" [class.mod-S]=\"size() === 'S'\">\n\t<div class=\"comment-infos\">\n\t\t@if (!noAvatar()) {\n\t\t\t<div class=\"pr-u-displayContents\" aria-hidden=\"true\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"avatar()\" />\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"comment-infos-content\">\n\t\t\t<span class=\"comment-infos-name\"><ng-container *luPortal=\"authorName()\" /></span>&ngsp;\n\t\t\t<time class=\"comment-infos-date\" [attr.datetime]=\"date().toISOString()\">\n\t\t\t\t@if (datePipeFormat()) {\n\t\t\t\t\t{{ date() | date: datePipeFormat() }}\n\t\t\t\t} @else if (dateDisplay()) {\n\t\t\t\t\t<ng-container *luPortal=\"dateDisplay()\" />\n\t\t\t\t} @else {\n\t\t\t\t\t{{ date() | date }}\n\t\t\t\t}\n\t\t\t</time>\n\t\t</div>\n\t</div>\n\t<blockquote class=\"comment-content\">\n\t\t@if (contentIsHTML()) {\n\t\t\t<div class=\"comment-content-textContainerOptional\" [innerHTML]=\"content()\"></div>\n\t\t} @else {\n\t\t\t<p class=\"comment-content-text\" [innerHTML]=\"content()\"></p>\n\t\t}\n\t</blockquote>\n</div>\n\n<ng-template #contentTpl>\n\t<ng-content />\n</ng-template>\n", styles: ["@charset \"UTF-8\";@layer components{.comment{--components-comment-max-width: 66ch;--components-comment-text-font: var(--pr-t-font-body-M);--components-comment-margin: 0;--components-comment-content-margin: calc(1.5rem + var(--pr-t-spacings-100));--components-comment-info-separator: \"\\2022\";--components-comment-info-content-display: block;--components-comment-info-direction: row;--components-comment-align: start;--components-comment-border-radius: var(--pr-t-border-radius-small) var(--pr-t-border-radius-default) var(--pr-t-border-radius-default);--components-comment-text-fontSize: var(--pr-t-font-body-M-fontSize);--components-comment-text-lineHeight: var(--pr-t-font-body-M-lineHeight);container:comment/inline-size;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50);max-inline-size:var(--components-comment-max-width);align-items:var(--components-comment-align);margin-inline-start:var(--components-comment-margin)}.comment .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.commentWrapper{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100);margin:0;padding:0;list-style-type:none}.comment-infos{display:flex;font-style:normal;gap:var(--pr-t-spacings-100);justify-content:flex-start;align-items:flex-start;flex-direction:var(--components-comment-info-direction)}.comment-infos-content{flex-direction:column;display:var(--components-comment-info-content-display);font:var(--pr-t-font-body-S);margin-block:var(--pr-t-spacings-25)}.comment-infos-date{color:var(--pr-t-color-text-subtle)}.comment-infos-name{color:var(--pr-t-color-text)}.comment-infos-name+.comment-infos-date:before{color:var(--palettes-neutral-400);padding-inline:1ch;content:var(--components-comment-info-separator)/\"\"}.comment-content{background-color:var(--components-comment-background-color, var(--palettes-neutral-50));border-radius:var(--components-comment-border-radius);display:flex;flex-direction:column;gap:var(--pr-t-spacings-150);margin-block:0;margin-inline:var(--components-comment-content-margin) 0;max-inline-size:fit-content;padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-150)}.comment-content-text{margin-block-end:0;overflow-wrap:break-word;font:var(--components-comment-text-font)}.comment-content-textContainerOptional{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100);font:var(--components-comment-text-font)}.comment-content-textContainerOptional>*{margin:0}}@layer mods{.comment.mod-S{--components-comment-text-font: var(--pr-t-font-body-S)}.comment.mod-noAvatar{--components-comment-content-margin: 0}@container comment not (min-width: 25rem){.comment-infos-content{--components-comment-info-content-display: flex}.comment-infos-name+.comment-infos-date:before{--components-comment-info-separator: none}}}@layer components{.commentWrapper{--components-comment-max-width: 66ch;--components-comment-text-font: var(--pr-t-font-body-M);--components-comment-margin: 0;--components-comment-content-margin: calc(1.5rem + var(--pr-t-spacings-100));--components-comment-info-separator: \"\\2022\";--components-comment-info-content-display: block;--components-comment-info-direction: row;--components-comment-align: start;--components-comment-border-radius: var(--pr-t-border-radius-small) var(--pr-t-border-radius-default) var(--pr-t-border-radius-default);--components-comment-text-fontSize: var(--pr-t-font-body-M-fontSize);--components-comment-text-lineHeight: var(--pr-t-font-body-M-lineHeight)}}@layer mods{.commentWrapper.mod-S .comment{--components-comment-text-font: var(--pr-t-font-body-S)}.commentWrapper.mod-compact .commentWrapper-item:not(:first-child) .comment-infos{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.commentWrapper.mod-chatAnswer .comment{--components-comment-info-direction: row-reverse;--components-comment-background-color: var(--palettes-product-50);--components-comment-align: end;--components-comment-margin: auto;--components-comment-border-radius: var(--pr-t-border-radius-default) var(--pr-t-border-radius-small) var(--pr-t-border-radius-default) var(--pr-t-border-radius-default)}.commentWrapper.mod-chatAnswer .comment-content{margin-block:0;margin-inline:0 var(--components-comment-content-margin)}}@layer components{.commentWrapperChat{margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;gap:var(--pr-t-spacings-200)}.commentWrapperChat .comment{--components-comment-max-width: min(66ch, calc(100% - var(--components-comment-content-margin)))}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }, { kind: "ngmodule", type: LuUserPictureModule }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: DatePipe, name: "date" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
53
49
  }
54
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: CommentComponent, decorators: [{
55
51
  type: Component,
56
52
  args: [{ selector: 'lu-comment', imports: [PortalDirective, DatePipe, LuUserPictureModule, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
57
53
  class: 'commentWrapper-item',
54
+ '[attr.role]': 'role()',
58
55
  }, template: "<div class=\"comment\" [class.mod-noAvatar]=\"noAvatar()\" [class.mod-S]=\"size() === 'S'\">\n\t<div class=\"comment-infos\">\n\t\t@if (!noAvatar()) {\n\t\t\t<div class=\"pr-u-displayContents\" aria-hidden=\"true\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"avatar()\" />\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"comment-infos-content\">\n\t\t\t<span class=\"comment-infos-name\"><ng-container *luPortal=\"authorName()\" /></span>&ngsp;\n\t\t\t<time class=\"comment-infos-date\" [attr.datetime]=\"date().toISOString()\">\n\t\t\t\t@if (datePipeFormat()) {\n\t\t\t\t\t{{ date() | date: datePipeFormat() }}\n\t\t\t\t} @else if (dateDisplay()) {\n\t\t\t\t\t<ng-container *luPortal=\"dateDisplay()\" />\n\t\t\t\t} @else {\n\t\t\t\t\t{{ date() | date }}\n\t\t\t\t}\n\t\t\t</time>\n\t\t</div>\n\t</div>\n\t<blockquote class=\"comment-content\">\n\t\t@if (contentIsHTML()) {\n\t\t\t<div class=\"comment-content-textContainerOptional\" [innerHTML]=\"content()\"></div>\n\t\t} @else {\n\t\t\t<p class=\"comment-content-text\" [innerHTML]=\"content()\"></p>\n\t\t}\n\t</blockquote>\n</div>\n\n<ng-template #contentTpl>\n\t<ng-content />\n</ng-template>\n", styles: ["@charset \"UTF-8\";@layer components{.comment{--components-comment-max-width: 66ch;--components-comment-text-font: var(--pr-t-font-body-M);--components-comment-margin: 0;--components-comment-content-margin: calc(1.5rem + var(--pr-t-spacings-100));--components-comment-info-separator: \"\\2022\";--components-comment-info-content-display: block;--components-comment-info-direction: row;--components-comment-align: start;--components-comment-border-radius: var(--pr-t-border-radius-small) var(--pr-t-border-radius-default) var(--pr-t-border-radius-default);--components-comment-text-fontSize: var(--pr-t-font-body-M-fontSize);--components-comment-text-lineHeight: var(--pr-t-font-body-M-lineHeight);container:comment/inline-size;display:flex;flex-direction:column;gap:var(--pr-t-spacings-50);max-inline-size:var(--components-comment-max-width);align-items:var(--components-comment-align);margin-inline-start:var(--components-comment-margin)}.comment .avatar{--components-avatar-size: 1.5rem;--components-avatar-fontSize: var(--pr-t-font-fontSize-150);--components-avatar-placeholder-size: .75rem;--components-avatar-border: 1px}.commentWrapper{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100);margin:0;padding:0;list-style-type:none}.comment-infos{display:flex;font-style:normal;gap:var(--pr-t-spacings-100);justify-content:flex-start;align-items:flex-start;flex-direction:var(--components-comment-info-direction)}.comment-infos-content{flex-direction:column;display:var(--components-comment-info-content-display);font:var(--pr-t-font-body-S);margin-block:var(--pr-t-spacings-25)}.comment-infos-date{color:var(--pr-t-color-text-subtle)}.comment-infos-name{color:var(--pr-t-color-text)}.comment-infos-name+.comment-infos-date:before{color:var(--palettes-neutral-400);padding-inline:1ch;content:var(--components-comment-info-separator)/\"\"}.comment-content{background-color:var(--components-comment-background-color, var(--palettes-neutral-50));border-radius:var(--components-comment-border-radius);display:flex;flex-direction:column;gap:var(--pr-t-spacings-150);margin-block:0;margin-inline:var(--components-comment-content-margin) 0;max-inline-size:fit-content;padding-block:var(--pr-t-spacings-100);padding-inline:var(--pr-t-spacings-150)}.comment-content-text{margin-block-end:0;overflow-wrap:break-word;font:var(--components-comment-text-font)}.comment-content-textContainerOptional{display:flex;flex-direction:column;gap:var(--pr-t-spacings-100);font:var(--components-comment-text-font)}.comment-content-textContainerOptional>*{margin:0}}@layer mods{.comment.mod-S{--components-comment-text-font: var(--pr-t-font-body-S)}.comment.mod-noAvatar{--components-comment-content-margin: 0}@container comment not (min-width: 25rem){.comment-infos-content{--components-comment-info-content-display: flex}.comment-infos-name+.comment-infos-date:before{--components-comment-info-separator: none}}}@layer components{.commentWrapper{--components-comment-max-width: 66ch;--components-comment-text-font: var(--pr-t-font-body-M);--components-comment-margin: 0;--components-comment-content-margin: calc(1.5rem + var(--pr-t-spacings-100));--components-comment-info-separator: \"\\2022\";--components-comment-info-content-display: block;--components-comment-info-direction: row;--components-comment-align: start;--components-comment-border-radius: var(--pr-t-border-radius-small) var(--pr-t-border-radius-default) var(--pr-t-border-radius-default);--components-comment-text-fontSize: var(--pr-t-font-body-M-fontSize);--components-comment-text-lineHeight: var(--pr-t-font-body-M-lineHeight)}}@layer mods{.commentWrapper.mod-S .comment{--components-comment-text-font: var(--pr-t-font-body-S)}.commentWrapper.mod-compact .commentWrapper-item:not(:first-child) .comment-infos{border:0;clip:rect(1px,1px,1px,1px);margin:-1px;overflow:hidden;padding:0;position:absolute;block-size:1px;inline-size:1px;white-space:nowrap;contain:paint}.commentWrapper.mod-chatAnswer .comment{--components-comment-info-direction: row-reverse;--components-comment-background-color: var(--palettes-product-50);--components-comment-align: end;--components-comment-margin: auto;--components-comment-border-radius: var(--pr-t-border-radius-default) var(--pr-t-border-radius-small) var(--pr-t-border-radius-default) var(--pr-t-border-radius-default)}.commentWrapper.mod-chatAnswer .comment-content{margin-block:0;margin-inline:0 var(--components-comment-content-margin)}}@layer components{.commentWrapperChat{margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;gap:var(--pr-t-spacings-200)}.commentWrapperChat .comment{--components-comment-max-width: min(66ch, calc(100% - var(--components-comment-content-margin)))}}\n"] }]
59
- }], propDecorators: { date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }], datePipeFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "datePipeFormat", required: false }] }], content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: false }] }], roleAttr: [{
60
- type: HostBinding,
61
- args: ['attr.role']
62
- }] } });
56
+ }], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: false }] }], date: [{ type: i0.Input, args: [{ isSignal: true, alias: "date", required: false }] }], datePipeFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "datePipeFormat", required: false }] }] } });
63
57
 
64
58
  class CommentBlockComponent {
65
59
  constructor() {
66
60
  this.#chatBlock = inject(COMMENT_CHAT_INSTANCE, { optional: true });
67
61
  this.comments = contentChildren(CommentComponent, { ...(ngDevMode ? { debugName: "comments" } : {}), read: CommentComponent, descendants: true });
68
62
  this.compact = input(false, { ...(ngDevMode ? { debugName: "compact" } : {}), transform: booleanAttribute });
63
+ /**
64
+ * Small is a shorthand to set the size to small
65
+ *
66
+ * If the size input is filled along with the small input, their values will have the priority
67
+ */
69
68
  this.small = input(false, { ...(ngDevMode ? { debugName: "small" } : {}), transform: booleanAttribute });
70
69
  this.chatAnswer = input(false, { ...(ngDevMode ? { debugName: "chatAnswer" } : {}), transform: booleanAttribute });
71
70
  this.authorName = input(...(ngDevMode ? [undefined, { debugName: "authorName" }] : []));
72
71
  this.avatar = input(...(ngDevMode ? [undefined, { debugName: "avatar" }] : []));
72
+ /**
73
+ * Which size should the block comment be? Defaults or small
74
+ */
73
75
  this.size = input(...(ngDevMode ? [undefined, { debugName: "size" }] : []));
74
76
  this.noAvatar = computed(() => !this.avatar(), ...(ngDevMode ? [{ debugName: "noAvatar" }] : []));
75
77
  this.isSingleComment = computed(() => this.comments().length === 1, ...(ngDevMode ? [{ debugName: "isSingleComment" }] : []));
@@ -107,7 +109,7 @@ class CommentChatComponent {
107
109
  }
108
110
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: CommentChatComponent, decorators: [{
109
111
  type: Component,
110
- args: [{ selector: 'lu-comment-chat', imports: [], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
112
+ args: [{ selector: 'lu-comment-chat', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
111
113
  {
112
114
  provide: COMMENT_CHAT_INSTANCE,
113
115
  useExisting: forwardRef(() => CommentChatComponent),
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-comment.mjs","sources":["../../../packages/ng/comment/token.ts","../../../packages/ng/comment/comment/comment.component.ts","../../../packages/ng/comment/comment/comment.component.html","../../../packages/ng/comment/comment-block/comment-block.component.ts","../../../packages/ng/comment/comment-block/comment-block.component.html","../../../packages/ng/comment/comment-chat/comment-chat.component.ts","../../../packages/ng/comment/comment-chat/comment-chat.component.html","../../../packages/ng/comment/lucca-front-ng-comment.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { CommentBlockComponent } from './comment-block/comment-block.component';\nimport { CommentChatComponent } from './comment-chat/comment-chat.component';\n\nexport const COMMENT_BLOCK_INSTANCE = new InjectionToken<CommentBlockComponent>('COMMENT_BLOCK_INSTANCE');\nexport const COMMENT_CHAT_INSTANCE = new InjectionToken<CommentChatComponent>('COMMENT_CHAT_INSTANCE');\n","import { DatePipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, HostBinding, inject, input, LOCALE_ID, ViewEncapsulation } from '@angular/core';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { LuUserPictureModule } from '@lucca-front/ng/user';\nimport { COMMENT_BLOCK_INSTANCE } from '../token';\n\n@Component({\n\tselector: 'lu-comment',\n\timports: [PortalDirective, DatePipe, LuUserPictureModule, NgTemplateOutlet],\n\ttemplateUrl: './comment.component.html',\n\tstyleUrl: './comment.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'commentWrapper-item',\n\t},\n})\nexport class CommentComponent {\n\t#locale = inject(LOCALE_ID);\n\t#intlDateTimeFormat = new Intl.DateTimeFormat(this.#locale, {\n\t\tweekday: 'long',\n\t\tyear: 'numeric',\n\t\tmonth: 'short',\n\t\tday: 'numeric',\n\t\thour: 'numeric',\n\t\tminute: 'numeric',\n\t});\n\n\t#parentBlock = inject(COMMENT_BLOCK_INSTANCE);\n\n\tnoAvatar = computed(() => this.#parentBlock.noAvatar());\n\n\tavatar = computed(() => this.#parentBlock.avatar());\n\n\tauthorName = computed(() => this.#parentBlock.authorName());\n\n\tsize = computed(() => this.#parentBlock.size());\n\n\tdate = input<Date>();\n\n\t/**\n\t * format given to the date pipe for display.\n\t *\n\t * See https://angular.dev/api/common/DatePipe#custom-format-options\n\t */\n\tdatePipeFormat = input<string | undefined>(undefined);\n\n\tcontent = input<string>();\n\n\tcontentIsHTML = computed(() => {\n\t\treturn /<\\/?[a-z][\\s\\S]*>/i.test(this.content());\n\t});\n\n\tdateDisplay = computed(() => {\n\t\tconst formatted = this.#intlDateTimeFormat.format(this.date());\n\t\treturn `${formatted[0].toUpperCase()}${formatted.slice(1)}`;\n\t});\n\n\trole = computed(() => {\n\t\treturn this.#parentBlock.isSingleComment() ? null : 'listitem';\n\t});\n\n\t@HostBinding('attr.role')\n\tget roleAttr(): string {\n\t\treturn this.role();\n\t}\n}\n","<div class=\"comment\" [class.mod-noAvatar]=\"noAvatar()\" [class.mod-S]=\"size() === 'S'\">\n\t<div class=\"comment-infos\">\n\t\t@if (!noAvatar()) {\n\t\t\t<div class=\"pr-u-displayContents\" aria-hidden=\"true\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"avatar()\" />\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"comment-infos-content\">\n\t\t\t<span class=\"comment-infos-name\"><ng-container *luPortal=\"authorName()\" /></span>&ngsp;\n\t\t\t<time class=\"comment-infos-date\" [attr.datetime]=\"date().toISOString()\">\n\t\t\t\t@if (datePipeFormat()) {\n\t\t\t\t\t{{ date() | date: datePipeFormat() }}\n\t\t\t\t} @else if (dateDisplay()) {\n\t\t\t\t\t<ng-container *luPortal=\"dateDisplay()\" />\n\t\t\t\t} @else {\n\t\t\t\t\t{{ date() | date }}\n\t\t\t\t}\n\t\t\t</time>\n\t\t</div>\n\t</div>\n\t<blockquote class=\"comment-content\">\n\t\t@if (contentIsHTML()) {\n\t\t\t<div class=\"comment-content-textContainerOptional\" [innerHTML]=\"content()\"></div>\n\t\t} @else {\n\t\t\t<p class=\"comment-content-text\" [innerHTML]=\"content()\"></p>\n\t\t}\n\t</blockquote>\n</div>\n\n<ng-template #contentTpl>\n\t<ng-content />\n</ng-template>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, forwardRef, inject, input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport { CommentComponent } from '../comment/comment.component';\nimport { COMMENT_BLOCK_INSTANCE, COMMENT_CHAT_INSTANCE } from '../token';\n\n@Component({\n\tselector: 'lu-comment-block',\n\timports: [NgTemplateOutlet],\n\ttemplateUrl: './comment-block.component.html',\n\thost: {\n\t\t'[attr.role]': 'role',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: COMMENT_BLOCK_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => CommentBlockComponent),\n\t\t},\n\t],\n})\nexport class CommentBlockComponent {\n\t#chatBlock = inject(COMMENT_CHAT_INSTANCE, { optional: true });\n\n\treadonly comments = contentChildren(CommentComponent, { read: CommentComponent, descendants: true });\n\n\treadonly compact = input(false, { transform: booleanAttribute });\n\n\treadonly small = input(false, { transform: booleanAttribute });\n\n\treadonly chatAnswer = input(false, { transform: booleanAttribute });\n\n\treadonly authorName = input<PortalContent>();\n\n\treadonly avatar = input<TemplateRef<unknown>>();\n\n\treadonly size = input<'S' | 'M'>();\n\n\treadonly noAvatar = computed(() => !this.avatar());\n\treadonly isSingleComment = computed(() => this.comments().length === 1);\n\treadonly role = this.#chatBlock ? 'listitem' : null;\n}\n","<ng-template #content><ng-content /></ng-template>\n\n@if (isSingleComment()) {\n\t<div class=\"commentWrapper\" [class.mod-S]=\"small()\" [class.mod-compact]=\"compact()\" [class.mod-chatAnswer]=\"chatAnswer()\">\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t</div>\n} @else {\n\t<ol class=\"commentWrapper\" [class.mod-S]=\"small()\" [class.mod-compact]=\"compact()\" [class.mod-chatAnswer]=\"chatAnswer()\">\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t</ol>\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { COMMENT_CHAT_INSTANCE } from '../token';\n\n@Component({\n\tselector: 'lu-comment-chat',\n\timports: [],\n\ttemplateUrl: './comment-chat.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\n\tproviders: [\n\t\t{\n\t\t\tprovide: COMMENT_CHAT_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => CommentChatComponent),\n\t\t},\n\t],\n})\nexport class CommentChatComponent {}\n","<ol class=\"commentWrapperChat\">\n\t<ng-content />\n</ol>\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-comment.mjs","sources":["../../../packages/ng/comment/token.ts","../../../packages/ng/comment/comment/comment.component.ts","../../../packages/ng/comment/comment/comment.component.html","../../../packages/ng/comment/comment-block/comment-block.component.ts","../../../packages/ng/comment/comment-block/comment-block.component.html","../../../packages/ng/comment/comment-chat/comment-chat.component.ts","../../../packages/ng/comment/comment-chat/comment-chat.component.html","../../../packages/ng/comment/lucca-front-ng-comment.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { CommentBlockComponent } from './comment-block/comment-block.component';\nimport { CommentChatComponent } from './comment-chat/comment-chat.component';\n\nexport const COMMENT_BLOCK_INSTANCE = new InjectionToken<CommentBlockComponent>('COMMENT_BLOCK_INSTANCE');\nexport const COMMENT_CHAT_INSTANCE = new InjectionToken<CommentChatComponent>('COMMENT_CHAT_INSTANCE');\n","import { DatePipe, NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, LOCALE_ID, ViewEncapsulation } from '@angular/core';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { LuUserPictureModule } from '@lucca-front/ng/user';\nimport { COMMENT_BLOCK_INSTANCE } from '../token';\n\n@Component({\n\tselector: 'lu-comment',\n\timports: [PortalDirective, DatePipe, LuUserPictureModule, NgTemplateOutlet],\n\ttemplateUrl: './comment.component.html',\n\tstyleUrl: './comment.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'commentWrapper-item',\n\t\t'[attr.role]': 'role()',\n\t},\n})\nexport class CommentComponent {\n\t#locale = inject(LOCALE_ID);\n\t#intlDateTimeFormat = new Intl.DateTimeFormat(this.#locale, {\n\t\tweekday: 'long',\n\t\tyear: 'numeric',\n\t\tmonth: 'short',\n\t\tday: 'numeric',\n\t\thour: 'numeric',\n\t\tminute: 'numeric',\n\t});\n\n\t#parentBlock = inject(COMMENT_BLOCK_INSTANCE);\n\n\treadonly content = input<string>();\n\n\treadonly date = input<Date>();\n\n\t/**\n\t * format given to the date pipe for display.\n\t *\n\t * See https://angular.dev/api/common/DatePipe#custom-format-options\n\t */\n\treadonly datePipeFormat = input<string | undefined>(undefined);\n\n\treadonly noAvatar = computed(() => this.#parentBlock.noAvatar());\n\n\treadonly avatar = computed(() => this.#parentBlock.avatar());\n\n\treadonly authorName = computed(() => this.#parentBlock.authorName());\n\n\treadonly size = computed(() => this.#parentBlock.size());\n\n\treadonly contentIsHTML = computed(() => /<\\/?[a-z][\\s\\S]*>/i.test(this.content()));\n\n\treadonly dateDisplay = computed(() => {\n\t\tconst formatted = this.#intlDateTimeFormat.format(this.date());\n\t\treturn `${formatted[0].toUpperCase()}${formatted.slice(1)}`;\n\t});\n\n\treadonly role = computed(() => (this.#parentBlock.isSingleComment() ? null : 'listitem'));\n\n\tget roleAttr(): string {\n\t\treturn this.role();\n\t}\n}\n","<div class=\"comment\" [class.mod-noAvatar]=\"noAvatar()\" [class.mod-S]=\"size() === 'S'\">\n\t<div class=\"comment-infos\">\n\t\t@if (!noAvatar()) {\n\t\t\t<div class=\"pr-u-displayContents\" aria-hidden=\"true\">\n\t\t\t\t<ng-container *ngTemplateOutlet=\"avatar()\" />\n\t\t\t</div>\n\t\t}\n\t\t<div class=\"comment-infos-content\">\n\t\t\t<span class=\"comment-infos-name\"><ng-container *luPortal=\"authorName()\" /></span>&ngsp;\n\t\t\t<time class=\"comment-infos-date\" [attr.datetime]=\"date().toISOString()\">\n\t\t\t\t@if (datePipeFormat()) {\n\t\t\t\t\t{{ date() | date: datePipeFormat() }}\n\t\t\t\t} @else if (dateDisplay()) {\n\t\t\t\t\t<ng-container *luPortal=\"dateDisplay()\" />\n\t\t\t\t} @else {\n\t\t\t\t\t{{ date() | date }}\n\t\t\t\t}\n\t\t\t</time>\n\t\t</div>\n\t</div>\n\t<blockquote class=\"comment-content\">\n\t\t@if (contentIsHTML()) {\n\t\t\t<div class=\"comment-content-textContainerOptional\" [innerHTML]=\"content()\"></div>\n\t\t} @else {\n\t\t\t<p class=\"comment-content-text\" [innerHTML]=\"content()\"></p>\n\t\t}\n\t</blockquote>\n</div>\n\n<ng-template #contentTpl>\n\t<ng-content />\n</ng-template>\n","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, contentChildren, forwardRef, inject, input, TemplateRef, ViewEncapsulation } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport { CommentComponent } from '../comment/comment.component';\nimport { COMMENT_BLOCK_INSTANCE, COMMENT_CHAT_INSTANCE } from '../token';\n\n@Component({\n\tselector: 'lu-comment-block',\n\timports: [NgTemplateOutlet],\n\ttemplateUrl: './comment-block.component.html',\n\thost: {\n\t\t'[attr.role]': 'role',\n\t},\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: COMMENT_BLOCK_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => CommentBlockComponent),\n\t\t},\n\t],\n})\nexport class CommentBlockComponent {\n\t#chatBlock = inject(COMMENT_CHAT_INSTANCE, { optional: true });\n\n\treadonly comments = contentChildren(CommentComponent, { read: CommentComponent, descendants: true });\n\n\treadonly compact = input(false, { transform: booleanAttribute });\n\n\t/**\n\t * Small is a shorthand to set the size to small\n\t *\n\t * If the size input is filled along with the small input, their values will have the priority\n\t */\n\treadonly small = input(false, { transform: booleanAttribute });\n\n\treadonly chatAnswer = input(false, { transform: booleanAttribute });\n\n\treadonly authorName = input<PortalContent>();\n\n\treadonly avatar = input<TemplateRef<unknown>>();\n\n\t/**\n\t * Which size should the block comment be? Defaults or small\n\t */\n\treadonly size = input<'S' | 'M'>();\n\n\treadonly noAvatar = computed(() => !this.avatar());\n\treadonly isSingleComment = computed(() => this.comments().length === 1);\n\treadonly role = this.#chatBlock ? 'listitem' : null;\n}\n","<ng-template #content><ng-content /></ng-template>\n\n@if (isSingleComment()) {\n\t<div class=\"commentWrapper\" [class.mod-S]=\"small()\" [class.mod-compact]=\"compact()\" [class.mod-chatAnswer]=\"chatAnswer()\">\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t</div>\n} @else {\n\t<ol class=\"commentWrapper\" [class.mod-S]=\"small()\" [class.mod-compact]=\"compact()\" [class.mod-chatAnswer]=\"chatAnswer()\">\n\t\t<ng-container *ngTemplateOutlet=\"content\" />\n\t</ol>\n}\n","import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { COMMENT_CHAT_INSTANCE } from '../token';\n\n@Component({\n\tselector: 'lu-comment-chat',\n\ttemplateUrl: './comment-chat.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tproviders: [\n\t\t{\n\t\t\tprovide: COMMENT_CHAT_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => CommentChatComponent),\n\t\t},\n\t],\n})\nexport class CommentChatComponent {}\n","<ol class=\"commentWrapperChat\">\n\t<ng-content />\n</ol>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -6,23 +6,21 @@ class ContainerComponent {
6
6
  this.center = input(false, { ...(ngDevMode ? { debugName: "center" } : {}), transform: booleanAttribute });
7
7
  this.overflow = input(false, { ...(ngDevMode ? { debugName: "overflow" } : {}), transform: booleanAttribute });
8
8
  this.max = input(null, ...(ngDevMode ? [{ debugName: "max" }] : []));
9
- this.classesConfig = computed(() => {
10
- return {
11
- ['mod-center']: this.center(),
12
- ['mod-overflow']: this.overflow(),
13
- [`mod-max${this.max()}`]: !!this.max(),
14
- };
15
- }, ...(ngDevMode ? [{ debugName: "classesConfig" }] : []));
9
+ this.classesConfig = computed(() => ({
10
+ ['mod-center']: this.center(),
11
+ ['mod-overflow']: this.overflow(),
12
+ [`mod-max${this.max()}`]: !!this.max(),
13
+ }), ...(ngDevMode ? [{ debugName: "classesConfig" }] : []));
16
14
  }
17
15
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: ContainerComponent, isStandalone: true, selector: "lu-container", inputs: { center: { classPropertyName: "center", publicName: "center", isSignal: true, isRequired: false, transformFunction: null }, overflow: { classPropertyName: "overflow", publicName: "overflow", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classesConfig()" }, classAttribute: "container" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.container{--components-container-minInlineSize: 0;--components-container-max-width: var(--commons-container-maxWidth);--components-container-padding: var(--commons-container-padding);padding:var(--commons-container-padding);min-inline-size:var(--components-container-minInlineSize);max-inline-size:var(--commons-container-maxWidth);margin-inline:var(--commons-container-marginInline);position:relative;display:block}}@layer mods{.container.mod-center{--commons-container-marginInline: auto}.container.mod-S{--commons-container-padding: var(--pr-t-spacings-200)}.container.mod-maxM{--commons-container-maxWidth: var(--commons-container-maxWidthM)}.container.mod-maxL{--commons-container-maxWidth: var(--commons-container-maxWidthL)}.container.mod-maxXL{--commons-container-maxWidth: var(--commons-container-maxWidthXL)}.container.mod-maxXXL{--commons-container-maxWidth: var(--commons-container-maxWidthXXL)}.container.mod-maxXXXL{--commons-container-maxWidth: var(--commons-container-maxWidthXXXL)}.container.mod-overflow{--components-container-minInlineSize: fit-content}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.8", type: ContainerComponent, isStandalone: true, selector: "lu-container", inputs: { center: { classPropertyName: "center", publicName: "center", isSignal: true, isRequired: false, transformFunction: null }, overflow: { classPropertyName: "overflow", publicName: "overflow", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classesConfig()" }, classAttribute: "container" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.container{--components-container-minInlineSize: 0;--components-container-max-width: var(--commons-container-maxWidth);--components-container-padding: var(--commons-container-padding);padding:var(--commons-container-padding);min-inline-size:var(--components-container-minInlineSize);max-inline-size:var(--commons-container-maxWidth);margin-inline:var(--commons-container-marginInline);position:relative;display:block}}@layer mods{.container.mod-center{--commons-container-marginInline: auto}.container.mod-S{--commons-container-padding: 0 var(--pr-t-spacings-200)}.container.mod-maxM{--commons-container-maxWidth: var(--commons-container-maxWidthM)}.container.mod-maxL{--commons-container-maxWidth: var(--commons-container-maxWidthL)}.container.mod-maxXL{--commons-container-maxWidth: var(--commons-container-maxWidthXL)}.container.mod-maxXXL{--commons-container-maxWidth: var(--commons-container-maxWidthXXL)}.container.mod-maxXXXL{--commons-container-maxWidth: var(--commons-container-maxWidthXXXL)}.container.mod-overflow{--components-container-minInlineSize: fit-content}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
19
17
  }
20
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImport: i0, type: ContainerComponent, decorators: [{
21
19
  type: Component,
22
20
  args: [{ selector: 'lu-container', template: '<ng-content />', encapsulation: ViewEncapsulation.None, host: {
23
21
  class: 'container',
24
22
  '[class]': 'classesConfig()',
25
- }, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@layer components{.container{--components-container-minInlineSize: 0;--components-container-max-width: var(--commons-container-maxWidth);--components-container-padding: var(--commons-container-padding);padding:var(--commons-container-padding);min-inline-size:var(--components-container-minInlineSize);max-inline-size:var(--commons-container-maxWidth);margin-inline:var(--commons-container-marginInline);position:relative;display:block}}@layer mods{.container.mod-center{--commons-container-marginInline: auto}.container.mod-S{--commons-container-padding: var(--pr-t-spacings-200)}.container.mod-maxM{--commons-container-maxWidth: var(--commons-container-maxWidthM)}.container.mod-maxL{--commons-container-maxWidth: var(--commons-container-maxWidthL)}.container.mod-maxXL{--commons-container-maxWidth: var(--commons-container-maxWidthXL)}.container.mod-maxXXL{--commons-container-maxWidth: var(--commons-container-maxWidthXXL)}.container.mod-maxXXXL{--commons-container-maxWidth: var(--commons-container-maxWidthXXXL)}.container.mod-overflow{--components-container-minInlineSize: fit-content}}\n"] }]
23
+ }, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["@layer components{.container{--components-container-minInlineSize: 0;--components-container-max-width: var(--commons-container-maxWidth);--components-container-padding: var(--commons-container-padding);padding:var(--commons-container-padding);min-inline-size:var(--components-container-minInlineSize);max-inline-size:var(--commons-container-maxWidth);margin-inline:var(--commons-container-marginInline);position:relative;display:block}}@layer mods{.container.mod-center{--commons-container-marginInline: auto}.container.mod-S{--commons-container-padding: 0 var(--pr-t-spacings-200)}.container.mod-maxM{--commons-container-maxWidth: var(--commons-container-maxWidthM)}.container.mod-maxL{--commons-container-maxWidth: var(--commons-container-maxWidthL)}.container.mod-maxXL{--commons-container-maxWidth: var(--commons-container-maxWidthXL)}.container.mod-maxXXL{--commons-container-maxWidth: var(--commons-container-maxWidthXXL)}.container.mod-maxXXXL{--commons-container-maxWidth: var(--commons-container-maxWidthXXXL)}.container.mod-overflow{--components-container-minInlineSize: fit-content}}\n"] }]
26
24
  }], propDecorators: { center: [{ type: i0.Input, args: [{ isSignal: true, alias: "center", required: false }] }], overflow: [{ type: i0.Input, args: [{ isSignal: true, alias: "overflow", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }] } });
27
25
 
28
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-container.mjs","sources":["../../../packages/ng/container/container.component.ts","../../../packages/ng/container/lucca-front-ng-container.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-container',\n\tstyleUrl: './container.component.scss',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'container',\n\t\t'[class]': 'classesConfig()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContainerComponent {\n\tcenter = input(false, { transform: booleanAttribute });\n\toverflow = input(false, { transform: booleanAttribute });\n\tmax = input<null | 'M' | 'L' | 'XL' | 'XXL' | 'XXXL'>(null);\n\n\tclassesConfig = computed(() => {\n\t\treturn {\n\t\t\t['mod-center']: this.center(),\n\t\t\t['mod-overflow']: this.overflow(),\n\t\t\t[`mod-max${this.max()}`]: !!this.max(),\n\t\t};\n\t});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAaa,kBAAkB,CAAA;AAX/B,IAAA,WAAA,GAAA;QAYC,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK,mDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QACtD,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AACxD,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAA2C,IAAI,+CAAC;AAE3D,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,MAAK;YAC7B,OAAO;AACN,gBAAA,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7B,gBAAA,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE;AACjC,gBAAA,CAAC,CAAA,OAAA,EAAU,IAAI,CAAC,GAAG,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;aACtC;AACF,QAAA,CAAC,yDAAC;AACF,IAAA;8GAZY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,qhBARpB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,wkCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQd,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,YAEd,gBAAgB,EAAA,aAAA,EACX,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,KAAK,EAAE,WAAW;AAClB,wBAAA,SAAS,EAAE,iBAAiB;qBAC5B,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,wkCAAA,CAAA,EAAA;;;ACXhD;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-container.mjs","sources":["../../../packages/ng/container/container.component.ts","../../../packages/ng/container/lucca-front-ng-container.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, computed, input, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-container',\n\tstyleUrl: './container.component.scss',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'container',\n\t\t'[class]': 'classesConfig()',\n\t},\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class ContainerComponent {\n\treadonly center = input(false, { transform: booleanAttribute });\n\n\treadonly overflow = input(false, { transform: booleanAttribute });\n\n\treadonly max = input<null | 'M' | 'L' | 'XL' | 'XXL' | 'XXXL'>(null);\n\n\treadonly classesConfig = computed(() => ({\n\t\t['mod-center']: this.center(),\n\t\t['mod-overflow']: this.overflow(),\n\t\t[`mod-max${this.max()}`]: !!this.max(),\n\t}));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAaa,kBAAkB,CAAA;AAX/B,IAAA,WAAA,GAAA;QAYU,IAAA,CAAA,MAAM,GAAG,KAAK,CAAC,KAAK,mDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAEtD,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;AAExD,QAAA,IAAA,CAAA,GAAG,GAAG,KAAK,CAA2C,IAAI,+CAAC;AAE3D,QAAA,IAAA,CAAA,aAAa,GAAG,QAAQ,CAAC,OAAO;AACxC,YAAA,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7B,YAAA,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE;AACjC,YAAA,CAAC,CAAA,OAAA,EAAU,IAAI,CAAC,GAAG,EAAE,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;AACtC,SAAA,CAAC,yDAAC;AACH,IAAA;8GAZY,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,qhBARpB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0kCAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAQd,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AACC,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,YAEd,gBAAgB,EAAA,aAAA,EACX,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,KAAK,EAAE,WAAW;AAClB,wBAAA,SAAS,EAAE,iBAAiB;qBAC5B,EAAA,eAAA,EACgB,uBAAuB,CAAC,MAAM,EAAA,MAAA,EAAA,CAAA,0kCAAA,CAAA,EAAA;;;ACXhD;;AAEG;;;;"}
@@ -5,7 +5,6 @@ import { toSignal, toObservable } from '@angular/core/rxjs-interop';
5
5
  import { applySearchDelimiter, CORE_SELECT_API_TOTAL_COUNT_PROVIDER } from '@lucca-front/ng/core-select';
6
6
  import { ALuCoreSelectApiDirective } from '@lucca-front/ng/core-select/api';
7
7
  import { debounceTime, switchMap, map } from 'rxjs';
8
- import { AsyncPipe } from '@angular/common';
9
8
  import { PORTAL_CONTEXT } from '@lucca-front/ng/core';
10
9
 
11
10
  class LuJobQualificationGroupingComponent {
@@ -19,7 +18,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.8", ngImpor
19
18
  type: Component,
20
19
  args: [{
21
20
  selector: 'lu-job-qualification-grouping',
22
- imports: [AsyncPipe],
23
21
  template: `{{ group.options[0].job.name }}`,
24
22
  changeDetection: ChangeDetectionStrategy.OnPush,
25
23
  }]