@lucca-front/ng 22.0.0-rc.5 → 22.0.0

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 (319) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/lucca-front-ng-a11y.mjs +10 -10
  3. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  4. package/fesm2022/lucca-front-ng-activity-feed.mjs +14 -14
  5. package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
  6. package/fesm2022/lucca-front-ng-api.mjs +44 -42
  7. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-app-layout.mjs +7 -6
  9. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-approbation-inbox.mjs +517 -0
  11. package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -0
  12. package/fesm2022/lucca-front-ng-box.mjs +12 -12
  13. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  14. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +9 -9
  15. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-bubble-icon.mjs +4 -4
  17. package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-bubble-illustration.mjs +7 -6
  19. package/fesm2022/lucca-front-ng-bubble-illustration.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-callout.mjs +38 -38
  21. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-chip.mjs +10 -10
  23. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  24. package/fesm2022/lucca-front-ng-clear.mjs +7 -7
  25. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-code.mjs +6 -5
  27. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-color.mjs +7 -6
  29. package/fesm2022/lucca-front-ng-color.mjs.map +1 -1
  30. package/fesm2022/lucca-front-ng-comment.mjs +18 -17
  31. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-container.mjs +8 -7
  33. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-core-select-api.mjs +17 -40
  35. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  36. package/fesm2022/lucca-front-ng-core-select-department.mjs +18 -20
  37. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  38. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +28 -16
  39. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +19 -9
  41. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs +34 -21
  43. package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +16 -6
  45. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-core-select-user.mjs +41 -36
  47. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-core-select.mjs +204 -118
  49. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-core.mjs +113 -38
  51. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-data-table.mjs +50 -50
  53. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-date.mjs +44 -44
  55. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-date2.mjs +50 -48
  57. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-department.mjs +28 -27
  59. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-dialog.mjs +87 -60
  61. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-divider.mjs +9 -9
  63. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-dropdown.mjs +46 -46
  65. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-empty-state.mjs +56 -31
  67. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-error-page.mjs +4 -4
  69. package/fesm2022/lucca-front-ng-error-page.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-establishment.mjs +38 -37
  71. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-fancy-box.mjs +4 -4
  73. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-file-upload.mjs +86 -48
  75. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-filter-pills.mjs +150 -27
  77. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-footer.mjs +10 -9
  79. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-form-field.mjs +35 -36
  81. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-form-header.mjs +5 -5
  83. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-form-label.mjs +19 -52
  85. package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-form.mjs +9 -8
  87. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-formly.mjs +64 -64
  89. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +8 -8
  91. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
  93. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +6 -6
  94. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +3 -3
  95. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +72 -58
  96. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-forms.mjs +129 -114
  98. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  99. package/fesm2022/lucca-front-ng-gauge.mjs +11 -11
  100. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-grid.mjs +18 -17
  102. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-highlight-data.mjs +11 -18
  104. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-highlight-section.mjs +85 -0
  106. package/fesm2022/lucca-front-ng-highlight-section.mjs.map +1 -0
  107. package/fesm2022/lucca-front-ng-highlight-text.mjs +3 -3
  108. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +17 -17
  109. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  110. package/fesm2022/lucca-front-ng-impersonation.mjs +7 -7
  111. package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
  112. package/fesm2022/lucca-front-ng-index-table.mjs +50 -50
  113. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  114. package/fesm2022/lucca-front-ng-inline-message.mjs +6 -6
  115. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  116. package/fesm2022/lucca-front-ng-input.mjs +22 -22
  117. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  118. package/fesm2022/lucca-front-ng-link.mjs +24 -16
  119. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  120. package/fesm2022/lucca-front-ng-listbox.mjs +45 -35
  121. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  122. package/fesm2022/lucca-front-ng-listing.mjs +17 -16
  123. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  124. package/fesm2022/lucca-front-ng-loading.mjs +8 -8
  125. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  126. package/fesm2022/lucca-front-ng-main-layout.mjs +131 -15
  127. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  128. package/fesm2022/lucca-front-ng-mobile-push.mjs +3 -3
  129. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  130. package/fesm2022/lucca-front-ng-modal.mjs +29 -29
  131. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  132. package/fesm2022/lucca-front-ng-multi-select.mjs +197 -127
  133. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  134. package/fesm2022/lucca-front-ng-new-badge.mjs +3 -3
  135. package/fesm2022/lucca-front-ng-number-format.mjs +6 -6
  136. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  137. package/fesm2022/lucca-front-ng-numeric-badge.mjs +1 -84
  138. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-option.mjs +147 -140
  140. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-page-header.mjs +8 -8
  142. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-pagination.mjs +13 -16
  144. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  145. package/fesm2022/lucca-front-ng-plg-push.mjs +6 -6
  146. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-popover.mjs +17 -17
  148. package/fesm2022/lucca-front-ng-popover2.mjs +15 -16
  149. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  150. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  151. package/fesm2022/lucca-front-ng-progress-bar.mjs +8 -7
  152. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  153. package/fesm2022/lucca-front-ng-progress-stepper.mjs +9 -9
  154. package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
  155. package/fesm2022/lucca-front-ng-read-more.mjs +17 -12
  156. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  157. package/fesm2022/lucca-front-ng-resource-card.mjs +21 -20
  158. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
  159. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -10
  160. package/fesm2022/lucca-front-ng-scroll-box.mjs +6 -5
  161. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  162. package/fesm2022/lucca-front-ng-scroll.mjs +9 -9
  163. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  164. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +12 -12
  165. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  166. package/fesm2022/lucca-front-ng-segmented-control.mjs +17 -14
  167. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
  168. package/fesm2022/lucca-front-ng-select.mjs +22 -22
  169. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  170. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  171. package/fesm2022/lucca-front-ng-simple-select.mjs +38 -34
  172. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  173. package/fesm2022/lucca-front-ng-skeleton.mjs +1 -237
  174. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  175. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +11 -11
  176. package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs.map +1 -1
  177. package/fesm2022/lucca-front-ng-software-icon.mjs +8 -7
  178. package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
  179. package/fesm2022/lucca-front-ng-sortable-list.mjs +13 -13
  180. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  181. package/fesm2022/lucca-front-ng-status-badge.mjs +6 -6
  182. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  183. package/fesm2022/lucca-front-ng-table-of-content.mjs +6 -6
  184. package/fesm2022/lucca-front-ng-tag.mjs +1 -72
  185. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  186. package/fesm2022/lucca-front-ng-text-flow.mjs +4 -4
  187. package/fesm2022/lucca-front-ng-text-flow.mjs.map +1 -1
  188. package/fesm2022/lucca-front-ng-time.mjs +46 -47
  189. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  190. package/fesm2022/lucca-front-ng-title.mjs +24 -14
  191. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  192. package/fesm2022/lucca-front-ng-toast.mjs +13 -14
  193. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  194. package/fesm2022/lucca-front-ng-tooltip.mjs +1 -556
  195. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  196. package/fesm2022/lucca-front-ng-tree-select.mjs +51 -37
  197. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  198. package/fesm2022/lucca-front-ng-user-popover.mjs +22 -19
  199. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  200. package/fesm2022/lucca-front-ng-user.mjs +75 -73
  201. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  202. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +21 -22
  203. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  204. package/package.json +12 -4
  205. package/schematics/action-icon/migration.spec.js +2 -2
  206. package/schematics/alignment-utilities/migration.spec.js +2 -2
  207. package/schematics/cdn-urls/migration.spec.js +2 -2
  208. package/schematics/class-prefix/migration.spec.js +2 -2
  209. package/schematics/color-text/migration.spec.js +2 -2
  210. package/schematics/component-path/migration.spec.js +2 -2
  211. package/schematics/deprecated-resolver/migration.spec.js +1 -1
  212. package/schematics/empty-state-title/migration.spec.js +1 -1
  213. package/schematics/lib/migration-test.js +6 -1
  214. package/schematics/lu-button/migration.spec.js +1 -1
  215. package/schematics/lu-container/migration.spec.js +1 -1
  216. package/schematics/lu-grid/migration.js +24 -16
  217. package/schematics/lu-grid/migration.spec.js +1 -1
  218. package/schematics/lu-icon/migration.spec.js +1 -1
  219. package/schematics/lu-loading/migration.spec.js +1 -1
  220. package/schematics/lu-select/migration.spec.js +1 -1
  221. package/schematics/lu-text-input/migration.spec.js +1 -1
  222. package/schematics/new-icons/migration.spec.js +2 -2
  223. package/schematics/palettes/index.js +28 -8
  224. package/schematics/palettes/migration.spec.js +2 -2
  225. package/schematics/tokens-radius/migration.spec.js +2 -2
  226. package/schematics/tokens-spacing/migration.spec.js +2 -2
  227. package/schematics/tokens-typo/migration.spec.js +2 -2
  228. package/src/_components.scss +1 -0
  229. package/src/components/_listbox.scss +8 -0
  230. package/src/components/_popover.scss +1 -1
  231. package/src/components/_popup.scss +6 -6
  232. package/src/components/_sidepanel.scss +1 -1
  233. package/src/definitions/option/_option-item.scss +0 -7
  234. package/title/README.md +22 -7
  235. package/types/lucca-front-ng-app-layout.d.ts +1 -1
  236. package/types/lucca-front-ng-approbation-inbox.d.ts +142 -0
  237. package/types/lucca-front-ng-box.d.ts +4 -4
  238. package/types/lucca-front-ng-breadcrumbs.d.ts +1 -1
  239. package/types/lucca-front-ng-bubble-icon.d.ts +1 -1
  240. package/types/lucca-front-ng-bubble-illustration.d.ts +1 -1
  241. package/types/lucca-front-ng-callout.d.ts +9 -9
  242. package/types/lucca-front-ng-chip.d.ts +3 -3
  243. package/types/lucca-front-ng-clear.d.ts +2 -2
  244. package/types/lucca-front-ng-code.d.ts +1 -1
  245. package/types/lucca-front-ng-color.d.ts +1 -1
  246. package/types/lucca-front-ng-comment.d.ts +6 -5
  247. package/types/lucca-front-ng-container.d.ts +2 -2
  248. package/types/lucca-front-ng-core-select-api.d.ts +10 -4
  249. package/types/lucca-front-ng-core-select-department.d.ts +2 -2
  250. package/types/lucca-front-ng-core-select-establishment.d.ts +3 -1
  251. package/types/lucca-front-ng-core-select-job-qualification.d.ts +2 -0
  252. package/types/lucca-front-ng-core-select-legal-units.d.ts +3 -1
  253. package/types/lucca-front-ng-core-select-occupation-category.d.ts +2 -0
  254. package/types/lucca-front-ng-core-select-user.d.ts +4 -3
  255. package/types/lucca-front-ng-core-select.d.ts +52 -15
  256. package/types/lucca-front-ng-core.d.ts +77 -3
  257. package/types/lucca-front-ng-data-table.d.ts +14 -14
  258. package/types/lucca-front-ng-date.d.ts +1 -1
  259. package/types/lucca-front-ng-date2.d.ts +19 -19
  260. package/types/lucca-front-ng-department.d.ts +2 -2
  261. package/types/lucca-front-ng-dialog.d.ts +7 -6
  262. package/types/lucca-front-ng-divider.d.ts +3 -3
  263. package/types/lucca-front-ng-dropdown.d.ts +2 -2
  264. package/types/lucca-front-ng-empty-state.d.ts +15 -6
  265. package/types/lucca-front-ng-establishment.d.ts +2 -2
  266. package/types/lucca-front-ng-file-upload.d.ts +22 -11
  267. package/types/lucca-front-ng-filter-pills.d.ts +43 -3
  268. package/types/lucca-front-ng-footer.d.ts +4 -4
  269. package/types/lucca-front-ng-form-field.d.ts +10 -10
  270. package/types/lucca-front-ng-form-header.d.ts +1 -1
  271. package/types/lucca-front-ng-form-label.d.ts +5 -9
  272. package/types/lucca-front-ng-form.d.ts +2 -2
  273. package/types/lucca-front-ng-forms-phone-number-input.d.ts +2 -2
  274. package/types/lucca-front-ng-forms-rich-text-input.d.ts +9 -5
  275. package/types/lucca-front-ng-forms.d.ts +50 -37
  276. package/types/lucca-front-ng-gauge.d.ts +6 -6
  277. package/types/lucca-front-ng-grid.d.ts +8 -8
  278. package/types/lucca-front-ng-highlight-data.d.ts +3 -5
  279. package/types/lucca-front-ng-highlight-section.d.ts +44 -0
  280. package/types/lucca-front-ng-horizontal-navigation.d.ts +4 -4
  281. package/types/lucca-front-ng-impersonation.d.ts +1 -1
  282. package/types/lucca-front-ng-index-table.d.ts +12 -12
  283. package/types/lucca-front-ng-inline-message.d.ts +1 -1
  284. package/types/lucca-front-ng-link.d.ts +4 -4
  285. package/types/lucca-front-ng-listbox.d.ts +20 -17
  286. package/types/lucca-front-ng-listing.d.ts +9 -9
  287. package/types/lucca-front-ng-loading.d.ts +3 -3
  288. package/types/lucca-front-ng-main-layout.d.ts +40 -9
  289. package/types/lucca-front-ng-modal.d.ts +1 -1
  290. package/types/lucca-front-ng-multi-select.d.ts +33 -7
  291. package/types/lucca-front-ng-numeric-badge.d.ts +1 -46
  292. package/types/lucca-front-ng-option.d.ts +2 -0
  293. package/types/lucca-front-ng-page-header.d.ts +2 -2
  294. package/types/lucca-front-ng-pagination.d.ts +5 -5
  295. package/types/lucca-front-ng-plg-push.d.ts +1 -1
  296. package/types/lucca-front-ng-popover2.d.ts +14 -14
  297. package/types/lucca-front-ng-progress-bar.d.ts +2 -2
  298. package/types/lucca-front-ng-progress-stepper.d.ts +1 -1
  299. package/types/lucca-front-ng-read-more.d.ts +9 -4
  300. package/types/lucca-front-ng-resource-card.d.ts +6 -6
  301. package/types/lucca-front-ng-scroll-box.d.ts +1 -1
  302. package/types/lucca-front-ng-scroll.d.ts +1 -1
  303. package/types/lucca-front-ng-segmented-control-tabs.d.ts +2 -2
  304. package/types/lucca-front-ng-segmented-control.d.ts +5 -3
  305. package/types/lucca-front-ng-select.d.ts +2 -1
  306. package/types/lucca-front-ng-simple-select.d.ts +5 -6
  307. package/types/lucca-front-ng-skeleton.d.ts +1 -158
  308. package/types/lucca-front-ng-software-icon-wrapper.d.ts +3 -3
  309. package/types/lucca-front-ng-software-icon.d.ts +2 -2
  310. package/types/lucca-front-ng-sortable-list.d.ts +5 -5
  311. package/types/lucca-front-ng-status-badge.d.ts +1 -1
  312. package/types/lucca-front-ng-tag.d.ts +1 -53
  313. package/types/lucca-front-ng-time.d.ts +17 -17
  314. package/types/lucca-front-ng-title.d.ts +4 -4
  315. package/types/lucca-front-ng-toast.d.ts +1 -1
  316. package/types/lucca-front-ng-tooltip.d.ts +1 -80
  317. package/types/lucca-front-ng-tree-select.d.ts +1 -1
  318. package/types/lucca-front-ng-user.d.ts +8 -6
  319. package/types/lucca-front-ng-vertical-navigation.d.ts +4 -4
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, booleanAttribute, ViewEncapsulation, ChangeDetectionStrategy, Component, model, contentChildren, computed } from '@angular/core';
2
+ import { input, ViewEncapsulation, ChangeDetectionStrategy, Component, model, contentChildren, computed } from '@angular/core';
3
+ import { luBooleanAttribute, PortalDirective, luNumberAttribute } from '@lucca-front/ng/core';
3
4
  import { IconComponent } from '@lucca-front/ng/icon';
4
- import { PortalDirective } from '@lucca-front/ng/core';
5
5
 
6
6
  class VerticalNavigationLinkComponent {
7
7
  constructor() {
@@ -13,18 +13,18 @@ class VerticalNavigationLinkComponent {
13
13
  /**
14
14
  * Disabled the vertical navigation link
15
15
  */
16
- this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
16
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
17
17
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: VerticalNavigationLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: VerticalNavigationLinkComponent, isStandalone: true, selector: "span[luVerticalNavigationLink], a[luVerticalNavigationLink]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "disabled() ? \"presentation\" : null", "attr.tabindex": "disabled() ? -1 : null" }, classAttribute: "verticalNavigation-list-item-link" }, ngImport: i0, template: "@if (icon()) {\n\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon()\" />\n}\n<ng-content />\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VerticalNavigationLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: VerticalNavigationLinkComponent, isStandalone: true, selector: "span[luVerticalNavigationLink], a[luVerticalNavigationLink]", inputs: { icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "disabled() ? \"presentation\" : null", "attr.tabindex": "disabled() ? -1 : null" }, classAttribute: "verticalNavigation-list-item-link" }, ngImport: i0, template: "@if (icon(); as icon) {\n\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon\" />\n}\n<ng-content />\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: VerticalNavigationLinkComponent, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VerticalNavigationLinkComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ selector: 'span[luVerticalNavigationLink], a[luVerticalNavigationLink]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [IconComponent], host: {
24
24
  class: 'verticalNavigation-list-item-link',
25
25
  '[attr.role]': 'disabled() ? "presentation" : null',
26
26
  '[attr.tabindex]': 'disabled() ? -1 : null',
27
- }, template: "@if (icon()) {\n\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon()\" />\n}\n<ng-content />\n" }]
27
+ }, template: "@if (icon(); as icon) {\n\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon\" />\n}\n<ng-content />\n" }]
28
28
  }], propDecorators: { icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
29
29
 
30
30
  class VerticalNavigationGroupComponent {
@@ -42,23 +42,23 @@ class VerticalNavigationGroupComponent {
42
42
  /**
43
43
  * Disabled the vertical navigation group
44
44
  */
45
- this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
45
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
46
46
  this.expanded = model(true, /* @ts-ignore */
47
47
  ...(ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []));
48
48
  }
49
49
  toggleExpanded() {
50
50
  this.expanded.set(!this.expanded());
51
51
  }
52
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: VerticalNavigationGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: VerticalNavigationGroupComponent, isStandalone: true, selector: "lu-vertical-navigation-group", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { attributes: { "role": "listitem" }, properties: { "class.is-disabled": "disabled()" }, classAttribute: "verticalNavigation-list-item" }, ngImport: i0, template: "<button\n\ttype=\"button\"\n\tclass=\"verticalNavigation-list-item-link\"\n\t[attr.aria-expanded]=\"expanded()\"\n\t(click)=\"toggleExpanded()\"\n\t[disabled]=\"disabled()\"\n>\n\t@if (icon()) {\n\t\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon()\" />\n\t}\n\t<ng-container *luPortal=\"label()\" /><span\n\t\taria-hidden=\"true\"\n\t\tclass=\"lucca-icon icon-arrowChevronBottom verticalNavigation-list-item-link-arrow\"\n\t></span>\n</button>\n<ul class=\"verticalNavigation-list mod-child\">\n\t<ng-content />\n</ul>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VerticalNavigationGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
53
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: VerticalNavigationGroupComponent, isStandalone: true, selector: "lu-vertical-navigation-group", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: true, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { attributes: { "role": "listitem" }, properties: { "class.is-disabled": "disabled()" }, classAttribute: "verticalNavigation-list-item" }, ngImport: i0, template: "<button\n\ttype=\"button\"\n\tclass=\"verticalNavigation-list-item-link\"\n\t[attr.aria-expanded]=\"expanded()\"\n\t(click)=\"toggleExpanded()\"\n\t[disabled]=\"disabled()\"\n>\n\t@if (icon(); as icon) {\n\t\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon\" />\n\t}\n\t<ng-container *luPortal=\"label()\" /><span\n\t\taria-hidden=\"true\"\n\t\tclass=\"lucca-icon icon-arrowChevronBottom verticalNavigation-list-item-link-arrow\"\n\t></span>\n</button>\n<ul class=\"verticalNavigation-list mod-child\">\n\t<ng-content />\n</ul>\n", dependencies: [{ kind: "component", type: IconComponent, selector: "lu-icon, pr-icon", inputs: ["icon", "alt", "size", "color", "AI"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
54
54
  }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: VerticalNavigationGroupComponent, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VerticalNavigationGroupComponent, decorators: [{
56
56
  type: Component,
57
57
  args: [{ selector: 'lu-vertical-navigation-group', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [IconComponent, PortalDirective], host: {
58
58
  role: 'listitem',
59
59
  class: 'verticalNavigation-list-item',
60
60
  '[class.is-disabled]': 'disabled()',
61
- }, template: "<button\n\ttype=\"button\"\n\tclass=\"verticalNavigation-list-item-link\"\n\t[attr.aria-expanded]=\"expanded()\"\n\t(click)=\"toggleExpanded()\"\n\t[disabled]=\"disabled()\"\n>\n\t@if (icon()) {\n\t\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon()\" />\n\t}\n\t<ng-container *luPortal=\"label()\" /><span\n\t\taria-hidden=\"true\"\n\t\tclass=\"lucca-icon icon-arrowChevronBottom verticalNavigation-list-item-link-arrow\"\n\t></span>\n</button>\n<ul class=\"verticalNavigation-list mod-child\">\n\t<ng-content />\n</ul>\n" }]
61
+ }, template: "<button\n\ttype=\"button\"\n\tclass=\"verticalNavigation-list-item-link\"\n\t[attr.aria-expanded]=\"expanded()\"\n\t(click)=\"toggleExpanded()\"\n\t[disabled]=\"disabled()\"\n>\n\t@if (icon(); as icon) {\n\t\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon\" />\n\t}\n\t<ng-container *luPortal=\"label()\" /><span\n\t\taria-hidden=\"true\"\n\t\tclass=\"lucca-icon icon-arrowChevronBottom verticalNavigation-list-item-link-arrow\"\n\t></span>\n</button>\n<ul class=\"verticalNavigation-list mod-child\">\n\t<ng-content />\n</ul>\n" }]
62
62
  }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: true }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }, { type: i0.Output, args: ["expandedChange"] }] } });
63
63
 
64
64
  class VerticalNavigationComponent {
@@ -71,22 +71,21 @@ class VerticalNavigationComponent {
71
71
  /**
72
72
  * Defines aria level for heading title
73
73
  */
74
- this.level = input(3, /* @ts-ignore */
75
- ...(ngDevMode ? [{ debugName: "level" }] : /* istanbul ignore next */ []));
74
+ this.level = input(3, { ...(ngDevMode ? { debugName: "level" } : /* istanbul ignore next */ {}), transform: luNumberAttribute });
76
75
  this.verticalNavigationGroup = contentChildren(VerticalNavigationGroupComponent, { ...(ngDevMode ? { debugName: "verticalNavigationGroup" } : /* istanbul ignore next */ {}), descendants: true });
77
76
  this.verticalNavigationLinks = contentChildren(VerticalNavigationLinkComponent, { ...(ngDevMode ? { debugName: "verticalNavigationLinks" } : /* istanbul ignore next */ {}), descendants: true });
78
77
  this.isIconless = computed(() => !this.verticalNavigationGroup().filter((verticalGroup) => verticalGroup?.icon()).length || !this.verticalNavigationLinks().filter((verticalLink) => verticalLink?.icon()).length, /* @ts-ignore */
79
78
  ...(ngDevMode ? [{ debugName: "isIconless" }] : /* istanbul ignore next */ []));
80
79
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: VerticalNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.4", type: VerticalNavigationComponent, isStandalone: true, selector: "lu-vertical-navigation", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-iconless": "isIconless()" }, classAttribute: "verticalNavigation" }, queries: [{ propertyName: "verticalNavigationGroup", predicate: VerticalNavigationGroupComponent, descendants: true, isSignal: true }, { propertyName: "verticalNavigationLinks", predicate: VerticalNavigationLinkComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (heading()) {\n\t<div role=\"heading\" [attr.aria-level]=\"level()\" class=\"verticalNavigation-sectionTitle\">\n\t\t<ng-container *luPortal=\"heading()\" />\n\t</div>\n}\n<ul class=\"verticalNavigation-list\">\n\t<ng-content />\n</ul>\n", styles: ["@layer components{.verticalNavigation{--components-verticalNavigation-link-background: transparent;--components-verticalNavigation-link-color: var(--pr-t-color-text);--components-verticalNavigation-horizontalPadding: var(--pr-t-spacings-150)}.verticalNavigation-sectionTitle{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold);color:var(--palettes-neutral-600);padding-block:0;padding-inline:var(--components-verticalNavigation-horizontalPadding);margin-block-end:var(--pr-t-spacings-100)}.verticalNavigation-list{margin:0;padding:0;list-style-type:none;margin-block-end:var(--pr-t-spacings-200)}.verticalNavigation-list-item-link-icon{font-size:var(--pr-t-font-body-M-lineHeight);margin-inline-end:var(--pr-t-spacings-100)}.verticalNavigation-list-item-link{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;padding-block:var(--pr-t-spacings-100);padding-inline:var(--components-verticalNavigation-horizontalPadding);border-radius:var(--pr-t-border-radius-default);color:var(--components-verticalNavigation-link-color);text-decoration:none;background-color:var(--components-verticalNavigation-link-background);transition:background-color var(--commons-animations-durations-fast) ease;font-weight:var(--pr-t-font-fontWeight-semibold)}.verticalNavigation-list-item-link:hover{--components-verticalNavigation-link-background: var(--palettes-neutral-50);color:var(--components-verticalNavigation-link-color)}.verticalNavigation-list-item-link:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.verticalNavigation-list-item-link:active{--components-verticalNavigation-link-background: var(--palettes-neutral-100)}.verticalNavigation-list-item-link-arrow{font-size:var(--pr-t-font-body-M-lineHeight);margin-inline-start:auto;transition:transform var(--commons-animations-durations-standard) ease}}@layer mods{.verticalNavigation.mod-iconless .verticalNavigation-list.mod-child .verticalNavigation-list-item-link{padding-inline-start:var(--components-verticalNavigation-horizontalPadding)}.verticalNavigation.mod-iconless .verticalNavigation-list-item-link-icon{display:none}}@layer mods{.verticalNavigation-list.mod-child{display:none;margin:0}.verticalNavigation-list.mod-child .verticalNavigation-list-item-link{font-weight:var(--pr-t-font-fontWeight-regular);padding-inline-start:calc(2rem + var(--components-verticalNavigation-horizontalPadding))}.verticalNavigation-list-item-link[aria-expanded=true]~.verticalNavigation-list{display:block}.verticalNavigation-list-item-link[aria-expanded=true] .verticalNavigation-list-item-link-arrow{transform:rotate(180deg)}.verticalNavigation-list-item-link[aria-current=page]{--components-verticalNavigation-link-background: var(--palettes-product-100);color:var(--components-verticalNavigation-link-color)}.verticalNavigation-list-item-link[aria-current=page]:hover{--components-verticalNavigation-link-background: var(--palettes-product-200)}.verticalNavigation-list-item-link[aria-current=page]:active{--components-verticalNavigation-link-background: var(--palettes-product-300)}.verticalNavigation-list-item-link[disabled],.verticalNavigation-list-item-link.is-disabled,span.verticalNavigation-list-item-link{--components-verticalNavigation-link-background: transparent;color:var(--palettes-neutral-500);pointer-events:none}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VerticalNavigationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: VerticalNavigationComponent, isStandalone: true, selector: "lu-vertical-navigation", inputs: { heading: { classPropertyName: "heading", publicName: "heading", isSignal: true, isRequired: false, transformFunction: null }, level: { classPropertyName: "level", publicName: "level", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.mod-iconless": "isIconless()" }, classAttribute: "verticalNavigation" }, queries: [{ propertyName: "verticalNavigationGroup", predicate: VerticalNavigationGroupComponent, descendants: true, isSignal: true }, { propertyName: "verticalNavigationLinks", predicate: VerticalNavigationLinkComponent, descendants: true, isSignal: true }], ngImport: i0, template: "@if (heading(); as heading) {\n\t<div role=\"heading\" [attr.aria-level]=\"level()\" class=\"verticalNavigation-sectionTitle\">\n\t\t<ng-container *luPortal=\"heading\" />\n\t</div>\n}\n<ul class=\"verticalNavigation-list\">\n\t<ng-content />\n</ul>\n", styles: ["@layer components{.verticalNavigation{--components-verticalNavigation-link-background: transparent;--components-verticalNavigation-link-color: var(--pr-t-color-text);--components-verticalNavigation-horizontalPadding: var(--pr-t-spacings-150)}.verticalNavigation-sectionTitle{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold);color:var(--palettes-neutral-600);padding-block:0;padding-inline:var(--components-verticalNavigation-horizontalPadding);margin-block-end:var(--pr-t-spacings-100)}.verticalNavigation-list{margin:0;padding:0;list-style-type:none;margin-block-end:var(--pr-t-spacings-200)}.verticalNavigation-list-item-link-icon{font-size:var(--pr-t-font-body-M-lineHeight);margin-inline-end:var(--pr-t-spacings-100)}.verticalNavigation-list-item-link{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;padding-block:var(--pr-t-spacings-100);padding-inline:var(--components-verticalNavigation-horizontalPadding);border-radius:var(--pr-t-border-radius-default);color:var(--components-verticalNavigation-link-color);text-decoration:none;background-color:var(--components-verticalNavigation-link-background);transition:background-color var(--commons-animations-durations-fast) ease;font-weight:var(--pr-t-font-fontWeight-semibold)}.verticalNavigation-list-item-link:hover{--components-verticalNavigation-link-background: var(--palettes-neutral-50);color:var(--components-verticalNavigation-link-color)}.verticalNavigation-list-item-link:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.verticalNavigation-list-item-link:active{--components-verticalNavigation-link-background: var(--palettes-neutral-100)}.verticalNavigation-list-item-link-arrow{font-size:var(--pr-t-font-body-M-lineHeight);margin-inline-start:auto;transition:transform var(--commons-animations-durations-standard) ease}}@layer mods{.verticalNavigation.mod-iconless .verticalNavigation-list.mod-child .verticalNavigation-list-item-link{padding-inline-start:var(--components-verticalNavigation-horizontalPadding)}.verticalNavigation.mod-iconless .verticalNavigation-list-item-link-icon{display:none}}@layer mods{.verticalNavigation-list.mod-child{display:none;margin:0}.verticalNavigation-list.mod-child .verticalNavigation-list-item-link{font-weight:var(--pr-t-font-fontWeight-regular);padding-inline-start:calc(2rem + var(--components-verticalNavigation-horizontalPadding))}.verticalNavigation-list-item-link[aria-expanded=true]~.verticalNavigation-list{display:block}.verticalNavigation-list-item-link[aria-expanded=true] .verticalNavigation-list-item-link-arrow{transform:rotate(180deg)}.verticalNavigation-list-item-link[aria-current=page]{--components-verticalNavigation-link-background: var(--palettes-product-100);color:var(--components-verticalNavigation-link-color)}.verticalNavigation-list-item-link[aria-current=page]:hover{--components-verticalNavigation-link-background: var(--palettes-product-200)}.verticalNavigation-list-item-link[aria-current=page]:active{--components-verticalNavigation-link-background: var(--palettes-product-300)}.verticalNavigation-list-item-link[disabled],.verticalNavigation-list-item-link.is-disabled,span.verticalNavigation-list-item-link{--components-verticalNavigation-link-background: transparent;color:var(--palettes-neutral-500);pointer-events:none}}\n"], dependencies: [{ kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
83
82
  }
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: VerticalNavigationComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VerticalNavigationComponent, decorators: [{
85
84
  type: Component,
86
85
  args: [{ selector: 'lu-vertical-navigation', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [PortalDirective], host: {
87
86
  class: 'verticalNavigation',
88
87
  '[class.mod-iconless]': 'isIconless()',
89
- }, template: "@if (heading()) {\n\t<div role=\"heading\" [attr.aria-level]=\"level()\" class=\"verticalNavigation-sectionTitle\">\n\t\t<ng-container *luPortal=\"heading()\" />\n\t</div>\n}\n<ul class=\"verticalNavigation-list\">\n\t<ng-content />\n</ul>\n", styles: ["@layer components{.verticalNavigation{--components-verticalNavigation-link-background: transparent;--components-verticalNavigation-link-color: var(--pr-t-color-text);--components-verticalNavigation-horizontalPadding: var(--pr-t-spacings-150)}.verticalNavigation-sectionTitle{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold);color:var(--palettes-neutral-600);padding-block:0;padding-inline:var(--components-verticalNavigation-horizontalPadding);margin-block-end:var(--pr-t-spacings-100)}.verticalNavigation-list{margin:0;padding:0;list-style-type:none;margin-block-end:var(--pr-t-spacings-200)}.verticalNavigation-list-item-link-icon{font-size:var(--pr-t-font-body-M-lineHeight);margin-inline-end:var(--pr-t-spacings-100)}.verticalNavigation-list-item-link{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;padding-block:var(--pr-t-spacings-100);padding-inline:var(--components-verticalNavigation-horizontalPadding);border-radius:var(--pr-t-border-radius-default);color:var(--components-verticalNavigation-link-color);text-decoration:none;background-color:var(--components-verticalNavigation-link-background);transition:background-color var(--commons-animations-durations-fast) ease;font-weight:var(--pr-t-font-fontWeight-semibold)}.verticalNavigation-list-item-link:hover{--components-verticalNavigation-link-background: var(--palettes-neutral-50);color:var(--components-verticalNavigation-link-color)}.verticalNavigation-list-item-link:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.verticalNavigation-list-item-link:active{--components-verticalNavigation-link-background: var(--palettes-neutral-100)}.verticalNavigation-list-item-link-arrow{font-size:var(--pr-t-font-body-M-lineHeight);margin-inline-start:auto;transition:transform var(--commons-animations-durations-standard) ease}}@layer mods{.verticalNavigation.mod-iconless .verticalNavigation-list.mod-child .verticalNavigation-list-item-link{padding-inline-start:var(--components-verticalNavigation-horizontalPadding)}.verticalNavigation.mod-iconless .verticalNavigation-list-item-link-icon{display:none}}@layer mods{.verticalNavigation-list.mod-child{display:none;margin:0}.verticalNavigation-list.mod-child .verticalNavigation-list-item-link{font-weight:var(--pr-t-font-fontWeight-regular);padding-inline-start:calc(2rem + var(--components-verticalNavigation-horizontalPadding))}.verticalNavigation-list-item-link[aria-expanded=true]~.verticalNavigation-list{display:block}.verticalNavigation-list-item-link[aria-expanded=true] .verticalNavigation-list-item-link-arrow{transform:rotate(180deg)}.verticalNavigation-list-item-link[aria-current=page]{--components-verticalNavigation-link-background: var(--palettes-product-100);color:var(--components-verticalNavigation-link-color)}.verticalNavigation-list-item-link[aria-current=page]:hover{--components-verticalNavigation-link-background: var(--palettes-product-200)}.verticalNavigation-list-item-link[aria-current=page]:active{--components-verticalNavigation-link-background: var(--palettes-product-300)}.verticalNavigation-list-item-link[disabled],.verticalNavigation-list-item-link.is-disabled,span.verticalNavigation-list-item-link{--components-verticalNavigation-link-background: transparent;color:var(--palettes-neutral-500);pointer-events:none}}\n"] }]
88
+ }, template: "@if (heading(); as heading) {\n\t<div role=\"heading\" [attr.aria-level]=\"level()\" class=\"verticalNavigation-sectionTitle\">\n\t\t<ng-container *luPortal=\"heading\" />\n\t</div>\n}\n<ul class=\"verticalNavigation-list\">\n\t<ng-content />\n</ul>\n", styles: ["@layer components{.verticalNavigation{--components-verticalNavigation-link-background: transparent;--components-verticalNavigation-link-color: var(--pr-t-color-text);--components-verticalNavigation-horizontalPadding: var(--pr-t-spacings-150)}.verticalNavigation-sectionTitle{font:var(--pr-t-font-body-S);font-weight:var(--pr-t-font-fontWeight-semibold);color:var(--palettes-neutral-600);padding-block:0;padding-inline:var(--components-verticalNavigation-horizontalPadding);margin-block-end:var(--pr-t-spacings-100)}.verticalNavigation-list{margin:0;padding:0;list-style-type:none;margin-block-end:var(--pr-t-spacings-200)}.verticalNavigation-list-item-link-icon{font-size:var(--pr-t-font-body-M-lineHeight);margin-inline-end:var(--pr-t-spacings-100)}.verticalNavigation-list-item-link{padding:0;border:0;inline-size:100%;background-color:transparent;color:inherit;text-align:start;display:block;font:inherit;cursor:pointer;display:flex;padding-block:var(--pr-t-spacings-100);padding-inline:var(--components-verticalNavigation-horizontalPadding);border-radius:var(--pr-t-border-radius-default);color:var(--components-verticalNavigation-link-color);text-decoration:none;background-color:var(--components-verticalNavigation-link-background);transition:background-color var(--commons-animations-durations-fast) ease;font-weight:var(--pr-t-font-fontWeight-semibold)}.verticalNavigation-list-item-link:hover{--components-verticalNavigation-link-background: var(--palettes-neutral-50);color:var(--components-verticalNavigation-link-color)}.verticalNavigation-list-item-link:focus-visible{outline:2px solid var(--palettes-700, var(--palettes-product-700));outline-offset:2px}.verticalNavigation-list-item-link:active{--components-verticalNavigation-link-background: var(--palettes-neutral-100)}.verticalNavigation-list-item-link-arrow{font-size:var(--pr-t-font-body-M-lineHeight);margin-inline-start:auto;transition:transform var(--commons-animations-durations-standard) ease}}@layer mods{.verticalNavigation.mod-iconless .verticalNavigation-list.mod-child .verticalNavigation-list-item-link{padding-inline-start:var(--components-verticalNavigation-horizontalPadding)}.verticalNavigation.mod-iconless .verticalNavigation-list-item-link-icon{display:none}}@layer mods{.verticalNavigation-list.mod-child{display:none;margin:0}.verticalNavigation-list.mod-child .verticalNavigation-list-item-link{font-weight:var(--pr-t-font-fontWeight-regular);padding-inline-start:calc(2rem + var(--components-verticalNavigation-horizontalPadding))}.verticalNavigation-list-item-link[aria-expanded=true]~.verticalNavigation-list{display:block}.verticalNavigation-list-item-link[aria-expanded=true] .verticalNavigation-list-item-link-arrow{transform:rotate(180deg)}.verticalNavigation-list-item-link[aria-current=page]{--components-verticalNavigation-link-background: var(--palettes-product-100);color:var(--components-verticalNavigation-link-color)}.verticalNavigation-list-item-link[aria-current=page]:hover{--components-verticalNavigation-link-background: var(--palettes-product-200)}.verticalNavigation-list-item-link[aria-current=page]:active{--components-verticalNavigation-link-background: var(--palettes-product-300)}.verticalNavigation-list-item-link[disabled],.verticalNavigation-list-item-link.is-disabled,span.verticalNavigation-list-item-link{--components-verticalNavigation-link-background: transparent;color:var(--palettes-neutral-500);pointer-events:none}}\n"] }]
90
89
  }], propDecorators: { heading: [{ type: i0.Input, args: [{ isSignal: true, alias: "heading", required: false }] }], level: [{ type: i0.Input, args: [{ isSignal: true, alias: "level", required: false }] }], verticalNavigationGroup: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => VerticalNavigationGroupComponent), { ...{ descendants: true }, isSignal: true }] }], verticalNavigationLinks: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => VerticalNavigationLinkComponent), { ...{ descendants: true }, isSignal: true }] }] } });
91
90
 
92
91
  class VerticalNavigationItemComponent {
@@ -104,17 +103,17 @@ class VerticalNavigationItemComponent {
104
103
  /**
105
104
  * Disabled the vertical navigation item
106
105
  */
107
- this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
106
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: luBooleanAttribute });
108
107
  this.expanded = model(true, /* @ts-ignore */
109
108
  ...(ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []));
110
109
  }
111
110
  toggleExpanded() {
112
111
  this.expanded.set(!this.expanded());
113
112
  }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: VerticalNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
115
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.4", type: VerticalNavigationItemComponent, isStandalone: true, selector: "lu-vertical-navigation-item", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { attributes: { "role": "listitem" }, properties: { "class.is-disabled": "disabled()" }, classAttribute: "verticalNavigation-list-item" }, ngImport: i0, template: "<ng-content />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VerticalNavigationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
114
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.8", type: VerticalNavigationItemComponent, isStandalone: true, selector: "lu-vertical-navigation-item", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expanded: "expandedChange" }, host: { attributes: { "role": "listitem" }, properties: { "class.is-disabled": "disabled()" }, classAttribute: "verticalNavigation-list-item" }, ngImport: i0, template: "<ng-content />\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
116
115
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.4", ngImport: i0, type: VerticalNavigationItemComponent, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: VerticalNavigationItemComponent, decorators: [{
118
117
  type: Component,
119
118
  args: [{ selector: 'lu-vertical-navigation-item', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
120
119
  role: 'listitem',
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-vertical-navigation.mjs","sources":["../../../packages/ng/vertical-navigation/link/vertical-navigation-link.component.ts","../../../packages/ng/vertical-navigation/link/vertical-navigation-link.component.html","../../../packages/ng/vertical-navigation/group/vertical-navigation-group.component.ts","../../../packages/ng/vertical-navigation/group/vertical-navigation-group.component.html","../../../packages/ng/vertical-navigation/vertical-navigation.component.ts","../../../packages/ng/vertical-navigation/vertical-navigation.component.html","../../../packages/ng/vertical-navigation/item/vertical-navigation-item.component.ts","../../../packages/ng/vertical-navigation/item/vertical-navigation-item.component.html","../../../packages/ng/vertical-navigation/lucca-front-ng-vertical-navigation.ts"],"sourcesContent":["import { booleanAttribute, ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'span[luVerticalNavigationLink], a[luVerticalNavigationLink]',\n\ttemplateUrl: './vertical-navigation-link.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [IconComponent],\n\thost: {\n\t\tclass: 'verticalNavigation-list-item-link',\n\t\t'[attr.role]': 'disabled() ? \"presentation\" : null',\n\t\t'[attr.tabindex]': 'disabled() ? -1 : null',\n\t},\n})\nexport class VerticalNavigationLinkComponent {\n\t/**\n\t * adds an icon to the vertical navigation link\n\t */\n\treadonly icon = input<LuccaIcon | null>(null);\n\n\t/**\n\t * Disabled the vertical navigation link\n\t */\n\treadonly disabled = input(false, { transform: booleanAttribute });\n}\n","@if (icon()) {\n\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon()\" />\n}\n<ng-content />\n","import { booleanAttribute, ChangeDetectionStrategy, Component, input, model, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\tselector: 'lu-vertical-navigation-group',\n\ttemplateUrl: './vertical-navigation-group.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [IconComponent, PortalDirective],\n\thost: {\n\t\trole: 'listitem',\n\t\tclass: 'verticalNavigation-list-item',\n\t\t'[class.is-disabled]': 'disabled()',\n\t},\n})\nexport class VerticalNavigationGroupComponent {\n\t/**\n\t * Changes the text displayed by the vertical navigation group\n\t */\n\treadonly label = input.required<PortalContent>();\n\n\t/**\n\t * Adds an icon to the vertical navigation group\n\t */\n\treadonly icon = input<LuccaIcon | null>(null);\n\n\t/**\n\t * Disabled the vertical navigation group\n\t */\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\treadonly expanded = model(true);\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n}\n","<button\n\ttype=\"button\"\n\tclass=\"verticalNavigation-list-item-link\"\n\t[attr.aria-expanded]=\"expanded()\"\n\t(click)=\"toggleExpanded()\"\n\t[disabled]=\"disabled()\"\n>\n\t@if (icon()) {\n\t\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon()\" />\n\t}\n\t<ng-container *luPortal=\"label()\" /><span\n\t\taria-hidden=\"true\"\n\t\tclass=\"lucca-icon icon-arrowChevronBottom verticalNavigation-list-item-link-arrow\"\n\t></span>\n</button>\n<ul class=\"verticalNavigation-list mod-child\">\n\t<ng-content />\n</ul>\n","import { ChangeDetectionStrategy, Component, computed, contentChildren, input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { VerticalNavigationGroupComponent } from './group/vertical-navigation-group.component';\nimport { VerticalNavigationLinkComponent } from './link/vertical-navigation-link.component';\n\n@Component({\n\tselector: 'lu-vertical-navigation',\n\ttemplateUrl: './vertical-navigation.component.html',\n\tstyleUrl: './vertical-navigation.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [PortalDirective],\n\thost: {\n\t\tclass: 'verticalNavigation',\n\t\t'[class.mod-iconless]': 'isIconless()',\n\t},\n})\nexport class VerticalNavigationComponent {\n\t/**\n\t * Changes the heading title displayed by the vertical navigation\n\t */\n\treadonly heading = input<PortalContent | null>(null);\n\n\t/**\n\t * Defines aria level for heading title\n\t */\n\treadonly level = input<number>(3);\n\n\treadonly verticalNavigationGroup = contentChildren(VerticalNavigationGroupComponent, { descendants: true });\n\treadonly verticalNavigationLinks = contentChildren(VerticalNavigationLinkComponent, { descendants: true });\n\n\treadonly isIconless = computed(\n\t\t() => !this.verticalNavigationGroup().filter((verticalGroup) => verticalGroup?.icon()).length || !this.verticalNavigationLinks().filter((verticalLink) => verticalLink?.icon()).length,\n\t);\n}\n","@if (heading()) {\n\t<div role=\"heading\" [attr.aria-level]=\"level()\" class=\"verticalNavigation-sectionTitle\">\n\t\t<ng-container *luPortal=\"heading()\" />\n\t</div>\n}\n<ul class=\"verticalNavigation-list\">\n\t<ng-content />\n</ul>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, input, model, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\n\n@Component({\n\tselector: 'lu-vertical-navigation-item',\n\ttemplateUrl: './vertical-navigation-item.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\trole: 'listitem',\n\t\tclass: 'verticalNavigation-list-item',\n\t\t'[class.is-disabled]': 'disabled()',\n\t},\n})\nexport class VerticalNavigationItemComponent {\n\t/**\n\t * Changes the text displayed by the vertical navigation item\n\t */\n\treadonly label = input<string | null>(null);\n\n\t/**\n\t * Adds an icon to the vertical navigation item\n\t */\n\treadonly icon = input<LuccaIcon | null>(null);\n\n\t/**\n\t * Disabled the vertical navigation item\n\t */\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\treadonly expanded = model(true);\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n}\n","<ng-content />\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-vertical-navigation.mjs","sources":["../../../packages/ng/vertical-navigation/link/vertical-navigation-link.component.ts","../../../packages/ng/vertical-navigation/link/vertical-navigation-link.component.html","../../../packages/ng/vertical-navigation/group/vertical-navigation-group.component.ts","../../../packages/ng/vertical-navigation/group/vertical-navigation-group.component.html","../../../packages/ng/vertical-navigation/vertical-navigation.component.ts","../../../packages/ng/vertical-navigation/vertical-navigation.component.html","../../../packages/ng/vertical-navigation/item/vertical-navigation-item.component.ts","../../../packages/ng/vertical-navigation/item/vertical-navigation-item.component.html","../../../packages/ng/vertical-navigation/lucca-front-ng-vertical-navigation.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\t// eslint-disable-next-line @angular-eslint/component-selector\n\tselector: 'span[luVerticalNavigationLink], a[luVerticalNavigationLink]',\n\ttemplateUrl: './vertical-navigation-link.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [IconComponent],\n\thost: {\n\t\tclass: 'verticalNavigation-list-item-link',\n\t\t'[attr.role]': 'disabled() ? \"presentation\" : null',\n\t\t'[attr.tabindex]': 'disabled() ? -1 : null',\n\t},\n})\nexport class VerticalNavigationLinkComponent {\n\t/**\n\t * adds an icon to the vertical navigation link\n\t */\n\treadonly icon = input<LuccaIcon | null>(null);\n\n\t/**\n\t * Disabled the vertical navigation link\n\t */\n\treadonly disabled = input(false, { transform: luBooleanAttribute });\n}\n","@if (icon(); as icon) {\n\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon\" />\n}\n<ng-content />\n","import { ChangeDetectionStrategy, Component, input, model, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { luBooleanAttribute, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { IconComponent } from '@lucca-front/ng/icon';\n\n@Component({\n\tselector: 'lu-vertical-navigation-group',\n\ttemplateUrl: './vertical-navigation-group.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [IconComponent, PortalDirective],\n\thost: {\n\t\trole: 'listitem',\n\t\tclass: 'verticalNavigation-list-item',\n\t\t'[class.is-disabled]': 'disabled()',\n\t},\n})\nexport class VerticalNavigationGroupComponent {\n\t/**\n\t * Changes the text displayed by the vertical navigation group\n\t */\n\treadonly label = input.required<PortalContent>();\n\n\t/**\n\t * Adds an icon to the vertical navigation group\n\t */\n\treadonly icon = input<LuccaIcon | null>(null);\n\n\t/**\n\t * Disabled the vertical navigation group\n\t */\n\treadonly disabled = input(false, { transform: luBooleanAttribute });\n\n\treadonly expanded = model(true);\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n}\n","<button\n\ttype=\"button\"\n\tclass=\"verticalNavigation-list-item-link\"\n\t[attr.aria-expanded]=\"expanded()\"\n\t(click)=\"toggleExpanded()\"\n\t[disabled]=\"disabled()\"\n>\n\t@if (icon(); as icon) {\n\t\t<lu-icon class=\"verticalNavigation-list-item-link-icon\" [icon]=\"icon\" />\n\t}\n\t<ng-container *luPortal=\"label()\" /><span\n\t\taria-hidden=\"true\"\n\t\tclass=\"lucca-icon icon-arrowChevronBottom verticalNavigation-list-item-link-arrow\"\n\t></span>\n</button>\n<ul class=\"verticalNavigation-list mod-child\">\n\t<ng-content />\n</ul>\n","import { ChangeDetectionStrategy, Component, computed, contentChildren, input, ViewEncapsulation } from '@angular/core';\nimport { luNumberAttribute, PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { VerticalNavigationGroupComponent } from './group/vertical-navigation-group.component';\nimport { VerticalNavigationLinkComponent } from './link/vertical-navigation-link.component';\n\n@Component({\n\tselector: 'lu-vertical-navigation',\n\ttemplateUrl: './vertical-navigation.component.html',\n\tstyleUrl: './vertical-navigation.component.scss',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [PortalDirective],\n\thost: {\n\t\tclass: 'verticalNavigation',\n\t\t'[class.mod-iconless]': 'isIconless()',\n\t},\n})\nexport class VerticalNavigationComponent {\n\t/**\n\t * Changes the heading title displayed by the vertical navigation\n\t */\n\treadonly heading = input<PortalContent | null>(null);\n\n\t/**\n\t * Defines aria level for heading title\n\t */\n\treadonly level = input(3, { transform: luNumberAttribute });\n\n\treadonly verticalNavigationGroup = contentChildren(VerticalNavigationGroupComponent, { descendants: true });\n\treadonly verticalNavigationLinks = contentChildren(VerticalNavigationLinkComponent, { descendants: true });\n\n\treadonly isIconless = computed(\n\t\t() => !this.verticalNavigationGroup().filter((verticalGroup) => verticalGroup?.icon()).length || !this.verticalNavigationLinks().filter((verticalLink) => verticalLink?.icon()).length,\n\t);\n}\n","@if (heading(); as heading) {\n\t<div role=\"heading\" [attr.aria-level]=\"level()\" class=\"verticalNavigation-sectionTitle\">\n\t\t<ng-container *luPortal=\"heading\" />\n\t</div>\n}\n<ul class=\"verticalNavigation-list\">\n\t<ng-content />\n</ul>\n","import { ChangeDetectionStrategy, Component, input, model, ViewEncapsulation } from '@angular/core';\nimport { LuccaIcon } from '@lucca-front/icons';\nimport { luBooleanAttribute } from '@lucca-front/ng/core';\n\n@Component({\n\tselector: 'lu-vertical-navigation-item',\n\ttemplateUrl: './vertical-navigation-item.component.html',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\trole: 'listitem',\n\t\tclass: 'verticalNavigation-list-item',\n\t\t'[class.is-disabled]': 'disabled()',\n\t},\n})\nexport class VerticalNavigationItemComponent {\n\t/**\n\t * Changes the text displayed by the vertical navigation item\n\t */\n\treadonly label = input<string | null>(null);\n\n\t/**\n\t * Adds an icon to the vertical navigation item\n\t */\n\treadonly icon = input<LuccaIcon | null>(null);\n\n\t/**\n\t * Disabled the vertical navigation item\n\t */\n\treadonly disabled = input(false, { transform: luBooleanAttribute });\n\n\treadonly expanded = model(true);\n\n\ttoggleExpanded() {\n\t\tthis.expanded.set(!this.expanded());\n\t}\n}\n","<ng-content />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucca-front/ng",
3
- "version": "22.0.0-rc.5",
3
+ "version": "22.0.0",
4
4
  "description": "A library of icons made by the team @Lucca",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,9 +28,9 @@
28
28
  "@angular/core": "^22.0.0",
29
29
  "@angular/cdk": "^22.0.0",
30
30
  "@angular/animations": "^22.0.0",
31
- "@lucca-front/icons": "22.0.0-rc.5",
32
- "@lucca-front/scss": "22.0.0-rc.5",
33
- "@lucca/prisme": "22.0.0-rc.5",
31
+ "@lucca-front/icons": "22.0.0",
32
+ "@lucca-front/scss": "22.0.0",
33
+ "@lucca/prisme": "22.0.0",
34
34
  "@types/dompurify": "^3.0.0",
35
35
  "isomorphic-dompurify": "^2.17.0",
36
36
  "date-fns": "^3.6.0",
@@ -113,6 +113,10 @@
113
113
  "types": "./types/lucca-front-ng-app-layout.d.ts",
114
114
  "default": "./fesm2022/lucca-front-ng-app-layout.mjs"
115
115
  },
116
+ "./approbation-inbox": {
117
+ "types": "./types/lucca-front-ng-approbation-inbox.d.ts",
118
+ "default": "./fesm2022/lucca-front-ng-approbation-inbox.mjs"
119
+ },
116
120
  "./box": {
117
121
  "types": "./types/lucca-front-ng-box.d.ts",
118
122
  "default": "./fesm2022/lucca-front-ng-box.mjs"
@@ -313,6 +317,10 @@
313
317
  "types": "./types/lucca-front-ng-highlight-data.d.ts",
314
318
  "default": "./fesm2022/lucca-front-ng-highlight-data.mjs"
315
319
  },
320
+ "./highlight-section": {
321
+ "types": "./types/lucca-front-ng-highlight-section.d.ts",
322
+ "default": "./fesm2022/lucca-front-ng-highlight-section.mjs"
323
+ },
316
324
  "./highlight-text": {
317
325
  "types": "./types/lucca-front-ng-highlight-text.d.ts",
318
326
  "default": "./fesm2022/lucca-front-ng-highlight-text.mjs"
@@ -47,7 +47,7 @@ describe('actionIcon Migration', () => {
47
47
  const expectedTree = (0, lib_1.createTreeFromFiles)(testsRoot, files, '.output.');
48
48
  // Act
49
49
  try {
50
- await (0, lib_1.runSchematic)('collection', collectionPath, 'action-icon', { skipInstallation: true }, tree);
50
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'action-icon', { skipInstall: true }, tree);
51
51
  }
52
52
  catch (error) {
53
53
  // eslint-disable-next-line no-console
@@ -69,7 +69,7 @@ describe('actionIcon Migration', () => {
69
69
  const treeOriginalTree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
70
70
  const tree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
71
71
  // Act
72
- await (0, lib_1.runSchematic)('collection', collectionPath, 'action-icon', { skipInstallation: true }, tree);
72
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'action-icon', { skipInstall: true }, tree);
73
73
  // Assert
74
74
  tree.visit((p, entry) => {
75
75
  const original = treeOriginalTree.get(p)?.content.toString() || '';
@@ -47,7 +47,7 @@ describe('Alignment utilities Migration', () => {
47
47
  const expectedTree = (0, lib_1.createTreeFromFiles)(testsRoot, files, '.output.');
48
48
  // Act
49
49
  try {
50
- await (0, lib_1.runSchematic)('collection', collectionPath, 'alignment-utilities', { skipInstallation: true }, tree);
50
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'alignment-utilities', { skipInstall: true }, tree);
51
51
  }
52
52
  catch (error) {
53
53
  // eslint-disable-next-line no-console
@@ -69,7 +69,7 @@ describe('Alignment utilities Migration', () => {
69
69
  const treeOriginalTree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
70
70
  const tree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
71
71
  // Act
72
- await (0, lib_1.runSchematic)('collection', collectionPath, 'alignment-utilities', { skipInstallation: true }, tree);
72
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'alignment-utilities', { skipInstall: true }, tree);
73
73
  // Assert
74
74
  tree.visit((p, entry) => {
75
75
  const original = treeOriginalTree.get(p)?.content.toString() || '';
@@ -47,7 +47,7 @@ describe('cdnUrls Migration', () => {
47
47
  const expectedTree = (0, lib_1.createTreeFromFiles)(testsRoot, files, '.output.');
48
48
  // Act
49
49
  try {
50
- await (0, lib_1.runSchematic)('collection', collectionPath, 'cdn-urls', { skipInstallation: true }, tree);
50
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'cdn-urls', { skipInstall: true }, tree);
51
51
  }
52
52
  catch (error) {
53
53
  // eslint-disable-next-line no-console
@@ -69,7 +69,7 @@ describe('cdnUrls Migration', () => {
69
69
  const treeOriginalTree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
70
70
  const tree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
71
71
  // Act
72
- await (0, lib_1.runSchematic)('collection', collectionPath, 'cdn-urls', { skipInstallation: true }, tree);
72
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'cdn-urls', { skipInstall: true }, tree);
73
73
  // Assert
74
74
  tree.visit((p, entry) => {
75
75
  const original = treeOriginalTree.get(p)?.content.toString() || '';
@@ -47,7 +47,7 @@ describe('Class prefix Migration', () => {
47
47
  const expectedTree = (0, lib_1.createTreeFromFiles)(testsRoot, files, '.output.');
48
48
  // Act
49
49
  try {
50
- await (0, lib_1.runSchematic)('collection', collectionPath, 'class-prefix', { skipInstallation: true }, tree);
50
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'class-prefix', { skipInstall: true }, tree);
51
51
  }
52
52
  catch (error) {
53
53
  // eslint-disable-next-line no-console
@@ -69,7 +69,7 @@ describe('Class prefix Migration', () => {
69
69
  const treeOriginalTree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
70
70
  const tree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
71
71
  // Act
72
- await (0, lib_1.runSchematic)('collection', collectionPath, 'class-prefix', { skipInstallation: true }, tree);
72
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'class-prefix', { skipInstall: true }, tree);
73
73
  // Assert
74
74
  tree.visit((p, entry) => {
75
75
  const original = treeOriginalTree.get(p)?.content.toString() || '';
@@ -47,7 +47,7 @@ describe('Color Text Migration', () => {
47
47
  const expectedTree = (0, lib_1.createTreeFromFiles)(testsRoot, files, '.output.');
48
48
  // Act
49
49
  try {
50
- await (0, lib_1.runSchematic)('collection', collectionPath, 'color-text', { skipInstallation: true }, tree);
50
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'color-text', { skipInstall: true }, tree);
51
51
  }
52
52
  catch (error) {
53
53
  // eslint-disable-next-line no-console
@@ -69,7 +69,7 @@ describe('Color Text Migration', () => {
69
69
  const treeOriginalTree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
70
70
  const tree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
71
71
  // Act
72
- await (0, lib_1.runSchematic)('collection', collectionPath, 'color-text', { skipInstallation: true }, tree);
72
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'color-text', { skipInstall: true }, tree);
73
73
  // Assert
74
74
  tree.visit((p, entry) => {
75
75
  const original = treeOriginalTree.get(p)?.content.toString() || '';
@@ -47,7 +47,7 @@ describe('Component path Migration', () => {
47
47
  const expectedTree = (0, lib_1.createTreeFromFiles)(testsRoot, files, '.output.');
48
48
  // Act
49
49
  try {
50
- await (0, lib_1.runSchematic)('collection', collectionPath, 'component-path', { skipInstallation: true }, tree);
50
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'component-path', { skipInstall: true }, tree);
51
51
  }
52
52
  catch (error) {
53
53
  //eslint-disable-next-line no-console
@@ -69,7 +69,7 @@ describe('Component path Migration', () => {
69
69
  const treeOriginalTree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
70
70
  const tree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
71
71
  // Act
72
- await (0, lib_1.runSchematic)('collection', collectionPath, 'component-path', { skipInstallation: true }, tree);
72
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'component-path', { skipInstall: true }, tree);
73
73
  // Assert
74
74
  tree.visit((p, entry) => {
75
75
  const original = treeOriginalTree.get(p)?.content.toString() || '';
@@ -46,7 +46,7 @@ describe('Deprecated Resolver Migration', () => {
46
46
  const expectedTree = (0, lib_1.createTreeFromFiles)(testsRoot, files, '.output.');
47
47
  // Act
48
48
  try {
49
- await (0, lib_1.runSchematic)('collection', collectionPath, 'deprecated-resolver', { skipInstallation: true }, tree);
49
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'deprecated-resolver', { skipInstall: true }, tree);
50
50
  }
51
51
  catch (error) {
52
52
  // eslint-disable-next-line no-console
@@ -46,7 +46,7 @@ describe('Empty state title migration', () => {
46
46
  const expectedTree = (0, lib_1.createTreeFromFiles)(testsRoot, files, '.output.');
47
47
  // Act
48
48
  try {
49
- await (0, lib_1.runSchematic)('collection', collectionPath, 'empty-state-heading', { skipInstallation: true }, tree);
49
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'empty-state-heading', { skipInstall: true }, tree);
50
50
  }
51
51
  catch (error) {
52
52
  // eslint-disable-next-line no-console
@@ -48,7 +48,12 @@ function expectTree(tree) {
48
48
  expect(stripLastNewLine(actualContent)).toEqual(stripLastNewLine(expectedContent));
49
49
  }
50
50
  catch (error) {
51
- throw error instanceof Error ? new Error(`Expected file content to match for ${path}: \n${error.message}`) : error;
51
+ if (error instanceof Error) {
52
+ // Mutate the message in place (rather than re-throwing a new Error) so the original
53
+ // stack trace and Vitest's expected/actual diff properties are preserved.
54
+ error.message = `Expected file content to match for ${path}: \n${error.message}`;
55
+ }
56
+ throw error;
52
57
  }
53
58
  });
54
59
  // Ensure all files in expected tree exist in actual tree
@@ -44,7 +44,7 @@ describe('luButton Migration', () => {
44
44
  const expectedTree = (0, lib_1.createTreeFromFolder)(path.join(testsRoot, 'output'));
45
45
  // Act
46
46
  try {
47
- await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-button', { skipInstallation: true }, tree);
47
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-button', { skipInstall: true }, tree);
48
48
  }
49
49
  catch (error) {
50
50
  // eslint-disable-next-line no-console
@@ -44,7 +44,7 @@ describe('lu-container Migration', () => {
44
44
  const expectedTree = (0, lib_1.createTreeFromFolder)(path.join(testsRoot, 'output'));
45
45
  // Act
46
46
  try {
47
- await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-container', { skipInstallation: true }, tree);
47
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-container', { skipInstall: true }, tree);
48
48
  }
49
49
  catch (error) {
50
50
  // eslint-disable-next-line no-console
@@ -158,22 +158,37 @@ function gridHasNonNeutralColumnChildren(node) {
158
158
  return !!childClasses?.match(/(^|\s)grid-column(\s|$)/);
159
159
  });
160
160
  }
161
+ // A grid is migratable only when the migration can be fully carried out. If any
162
+ // class other than `grid`/`mod-auto`/`mod-form` would remain on the element, the
163
+ // migration is considered incomplete: we leave the grid — and therefore its
164
+ // `grid-column` children — untouched for manual review.
165
+ // This is the single source of truth for both grid and grid-column finders so a
166
+ // `grid-column` is never migrated without its parent grid being migrated too.
167
+ function isMigratableGrid(node) {
168
+ if (!(0, lib_1.isInterestingNode)(node) || !(0, migration_utils_1.isNeutralElement)(node.name)) {
169
+ return false;
170
+ }
171
+ const classes = node.attributes.find((attr) => attr.name === 'class')?.value;
172
+ if (!classes?.match(/(^|\s)grid(\s|$)/)) {
173
+ return false;
174
+ }
175
+ if (gridHasNonNeutralColumnChildren(node)) {
176
+ return false;
177
+ }
178
+ // Any leftover class means the migration would keep a `class=` attribute → skip.
179
+ const extraClasses = classes.split(' ').filter((c) => c && c !== 'grid' && c !== 'mod-auto' && c !== 'mod-form');
180
+ return extraClasses.length === 0;
181
+ }
161
182
  function findHTMLGrids(sourceFile, basePath, tree) {
162
183
  const results = [];
163
184
  const ngTemplates = (0, lib_1.extractNgTemplatesIncludingHtml)(sourceFile, tree, basePath);
164
185
  ngTemplates.forEach((template) => {
165
186
  const htmlAst = new lib_1.HtmlAst(template.content);
166
187
  htmlAst.visitNodes((node) => {
167
- if (!(0, lib_1.isInterestingNode)(node) || !(0, migration_utils_1.isNeutralElement)(node.name)) {
168
- return;
169
- }
170
- const classes = node.attributes.find((attr) => attr.name === 'class')?.value;
171
- if (!classes?.match(/(^|\s)grid(\s|$)/)) {
172
- return;
173
- }
174
- if (gridHasNonNeutralColumnChildren(node)) {
188
+ if (!isMigratableGrid(node)) {
175
189
  return;
176
190
  }
191
+ const classes = node.attributes.find((attr) => attr.name === 'class')?.value || '';
177
192
  const styleAttr = node.attributes.find((attr) => attr.name === 'style')?.value || '';
178
193
  const cssProps = (0, migration_utils_1.parseCssCustomProperties)(styleAttr);
179
194
  const classParts = classes.split(' ');
@@ -208,14 +223,7 @@ function findHTMLGridColumns(sourceFile, basePath, tree) {
208
223
  return;
209
224
  }
210
225
  // Only migrate grid-column if its parent grid container is also being migrated
211
- if (!(0, lib_1.isInterestingNode)(parent) || !(0, migration_utils_1.isNeutralElement)(parent.name)) {
212
- return;
213
- }
214
- const parentClasses = parent.attributes.find((attr) => attr.name === 'class')?.value;
215
- if (!parentClasses?.match(/(^|\s)grid(\s|$)/)) {
216
- return;
217
- }
218
- if (gridHasNonNeutralColumnChildren(parent)) {
226
+ if (!isMigratableGrid(parent)) {
219
227
  return;
220
228
  }
221
229
  const styleAttr = node.attributes.find((attr) => attr.name === 'style')?.value || '';
@@ -44,7 +44,7 @@ describe('lu-grid Migration', () => {
44
44
  const expectedTree = (0, lib_1.createTreeFromFolder)(path.join(testsRoot, 'output'));
45
45
  // Act
46
46
  try {
47
- await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-grid', { skipInstallation: true }, tree);
47
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-grid', { skipInstall: true }, tree);
48
48
  }
49
49
  catch (error) {
50
50
  // eslint-disable-next-line no-console
@@ -44,7 +44,7 @@ describe('lu-icon Migration', () => {
44
44
  const expectedTree = (0, lib_1.createTreeFromFolder)(path.join(testsRoot, 'output'));
45
45
  // Act
46
46
  try {
47
- await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-icon', { skipInstallation: true }, tree);
47
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-icon', { skipInstall: true }, tree);
48
48
  }
49
49
  catch (error) {
50
50
  // eslint-disable-next-line no-console
@@ -44,7 +44,7 @@ describe('lu-loading Migration', () => {
44
44
  const expectedTree = (0, lib_1.createTreeFromFolder)(path.join(testsRoot, 'output'));
45
45
  // Act
46
46
  try {
47
- await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-loading', { skipInstallation: true }, tree);
47
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-loading', { skipInstall: true }, tree);
48
48
  }
49
49
  catch (error) {
50
50
  // eslint-disable-next-line no-console
@@ -44,7 +44,7 @@ describe('lu-select Migration', () => {
44
44
  const expectedTree = (0, lib_1.createTreeFromFolder)(path.join(testsRoot, 'output'));
45
45
  // Act
46
46
  try {
47
- await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-select', { skipInstallation: true }, tree);
47
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-select', { skipInstall: true }, tree);
48
48
  }
49
49
  catch (error) {
50
50
  // eslint-disable-next-line no-console
@@ -44,7 +44,7 @@ describe('Textfield Migration', () => {
44
44
  const expectedTree = (0, lib_1.createTreeFromFolder)(path.join(testsRoot, 'output'));
45
45
  // Act
46
46
  try {
47
- await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-text-input', { skipInstallation: true }, tree);
47
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'lu-text-input', { skipInstall: true }, tree);
48
48
  }
49
49
  catch (error) {
50
50
  // eslint-disable-next-line no-console
@@ -47,7 +47,7 @@ describe('New icons Migration', () => {
47
47
  const expectedTree = (0, lib_1.createTreeFromFiles)(testsRoot, files, '.output.');
48
48
  // Act
49
49
  try {
50
- await (0, lib_1.runSchematic)('collection', collectionPath, 'new-icons', { skipInstallation: true }, tree);
50
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'new-icons', { skipInstall: true }, tree);
51
51
  }
52
52
  catch (error) {
53
53
  // eslint-disable-next-line no-console
@@ -69,7 +69,7 @@ describe('New icons Migration', () => {
69
69
  const treeOriginalTree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
70
70
  const tree = (0, lib_1.createTreeFromFiles)(lfRoot, lfFiles, '.');
71
71
  // Act
72
- await (0, lib_1.runSchematic)('collection', collectionPath, 'new-icons', { skipInstallation: true }, tree);
72
+ await (0, lib_1.runSchematic)('collection', collectionPath, 'new-icons', { skipInstall: true }, tree);
73
73
  // Assert
74
74
  tree.visit((p, entry) => {
75
75
  const original = treeOriginalTree.get(p)?.content.toString() || '';