@lucca-front/ng 21.0.0-rc.8 → 21.0.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 (312) hide show
  1. package/fesm2022/lucca-front-ng-a11y.mjs +3 -3
  2. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  3. package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
  4. package/fesm2022/lucca-front-ng-api.mjs +52 -52
  5. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  6. package/fesm2022/lucca-front-ng-app-layout.mjs +6 -6
  7. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  8. package/fesm2022/lucca-front-ng-box.mjs +9 -7
  9. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  10. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +11 -11
  11. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  12. package/fesm2022/lucca-front-ng-button.mjs +20 -16
  13. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  14. package/fesm2022/lucca-front-ng-callout.mjs +72 -72
  15. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  16. package/fesm2022/lucca-front-ng-chip.mjs +15 -15
  17. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  18. package/fesm2022/lucca-front-ng-clear.mjs +10 -10
  19. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
  20. package/fesm2022/lucca-front-ng-code.mjs +5 -5
  21. package/fesm2022/lucca-front-ng-code.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-comment.mjs +31 -31
  23. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  24. package/fesm2022/lucca-front-ng-container.mjs +8 -8
  25. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  26. package/fesm2022/lucca-front-ng-core-select-api.mjs +14 -14
  27. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  28. package/fesm2022/lucca-front-ng-core-select-department.mjs +16 -16
  29. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  30. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +16 -16
  31. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  32. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +10 -10
  33. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  34. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +7 -7
  35. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
  36. package/fesm2022/lucca-front-ng-core-select-user.mjs +38 -38
  37. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  38. package/fesm2022/lucca-front-ng-core-select.mjs +90 -89
  39. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  40. package/fesm2022/lucca-front-ng-core.mjs +36 -19
  41. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  42. package/fesm2022/lucca-front-ng-data-table.mjs +88 -88
  43. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  44. package/fesm2022/lucca-front-ng-date.mjs +50 -50
  45. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  46. package/fesm2022/lucca-front-ng-date2.mjs +125 -132
  47. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  48. package/fesm2022/lucca-front-ng-department.mjs +30 -30
  49. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  50. package/fesm2022/lucca-front-ng-dialog.mjs +42 -42
  51. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  52. package/fesm2022/lucca-front-ng-divider.mjs +10 -10
  53. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  54. package/fesm2022/lucca-front-ng-dropdown.mjs +47 -47
  55. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  56. package/fesm2022/lucca-front-ng-empty-state.mjs +27 -27
  57. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  58. package/fesm2022/lucca-front-ng-establishment.mjs +52 -52
  59. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  60. package/fesm2022/lucca-front-ng-fancy-box.mjs +12 -12
  61. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  62. package/fesm2022/lucca-front-ng-file-upload.mjs +56 -56
  63. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  64. package/fesm2022/lucca-front-ng-filter-pills.mjs +52 -52
  65. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  66. package/fesm2022/lucca-front-ng-footer.mjs +11 -11
  67. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  68. package/fesm2022/lucca-front-ng-form-field.mjs +48 -50
  69. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  70. package/fesm2022/lucca-front-ng-form-header.mjs +5 -5
  71. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -1
  72. package/fesm2022/lucca-front-ng-form.mjs +6 -6
  73. package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
  74. package/fesm2022/lucca-front-ng-formly.mjs +58 -58
  75. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  76. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +20 -20
  77. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  78. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs +3 -3
  79. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  80. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +26 -5
  81. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  82. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +57 -10
  83. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  84. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +91 -110
  85. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  86. package/fesm2022/lucca-front-ng-forms.mjs +139 -139
  87. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  88. package/fesm2022/lucca-front-ng-gauge.mjs +21 -21
  89. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  90. package/fesm2022/lucca-front-ng-grid.mjs +27 -27
  91. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  92. package/fesm2022/lucca-front-ng-highlight-data.mjs +19 -19
  93. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  94. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +12 -12
  95. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  96. package/fesm2022/lucca-front-ng-icon.mjs +10 -10
  97. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-index-table.mjs +69 -69
  99. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-inline-message.mjs +8 -8
  101. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  102. package/fesm2022/lucca-front-ng-input.mjs +21 -21
  103. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  104. package/fesm2022/lucca-front-ng-link.mjs +12 -12
  105. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  106. package/fesm2022/lucca-front-ng-listbox.mjs +28 -28
  107. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  108. package/fesm2022/lucca-front-ng-listing.mjs +21 -21
  109. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  110. package/fesm2022/lucca-front-ng-loading.mjs +10 -10
  111. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  112. package/fesm2022/lucca-front-ng-main-layout.mjs +12 -12
  113. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  114. package/fesm2022/lucca-front-ng-mobile-push.mjs +4 -4
  115. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  116. package/fesm2022/lucca-front-ng-modal.mjs +23 -23
  117. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  118. package/fesm2022/lucca-front-ng-multi-select.mjs +68 -68
  119. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  120. package/fesm2022/lucca-front-ng-new-badge.mjs +5 -5
  121. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  122. package/fesm2022/lucca-front-ng-number-format.mjs +11 -11
  123. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  124. package/fesm2022/lucca-front-ng-number.mjs +7 -7
  125. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  126. package/fesm2022/lucca-front-ng-numeric-badge.mjs +13 -13
  127. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  128. package/fesm2022/lucca-front-ng-option.mjs +161 -161
  129. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  130. package/fesm2022/lucca-front-ng-page-header.mjs +10 -10
  131. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  132. package/fesm2022/lucca-front-ng-pagination.mjs +10 -10
  133. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  134. package/fesm2022/lucca-front-ng-plg-push.mjs +7 -7
  135. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  136. package/fesm2022/lucca-front-ng-popover.mjs +25 -25
  137. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  138. package/fesm2022/lucca-front-ng-popover2.mjs +19 -23
  139. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  140. package/fesm2022/lucca-front-ng-popup.mjs +10 -10
  141. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  142. package/fesm2022/lucca-front-ng-progress-bar.mjs +9 -9
  143. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -1
  144. package/fesm2022/lucca-front-ng-read-more.mjs +14 -14
  145. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  146. package/fesm2022/lucca-front-ng-resource-card.mjs +120 -0
  147. package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -0
  148. package/fesm2022/lucca-front-ng-safe-content.mjs +13 -13
  149. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  150. package/fesm2022/lucca-front-ng-scroll-box.mjs +7 -7
  151. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
  152. package/fesm2022/lucca-front-ng-scroll.mjs +9 -9
  153. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  154. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +18 -18
  155. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
  156. package/fesm2022/lucca-front-ng-segmented-control.mjs +15 -15
  157. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
  158. package/fesm2022/lucca-front-ng-select.mjs +16 -16
  159. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  160. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  161. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  162. package/fesm2022/lucca-front-ng-simple-select.mjs +22 -22
  163. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  164. package/fesm2022/lucca-front-ng-skeleton.mjs +67 -53
  165. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  166. package/fesm2022/lucca-front-ng-sortable-list.mjs +18 -18
  167. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -1
  168. package/fesm2022/lucca-front-ng-status-badge.mjs +9 -9
  169. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
  170. package/fesm2022/lucca-front-ng-table-of-content.mjs +8 -8
  171. package/fesm2022/lucca-front-ng-table-of-content.mjs.map +1 -1
  172. package/fesm2022/lucca-front-ng-tag.mjs +14 -14
  173. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  174. package/fesm2022/lucca-front-ng-time.mjs +63 -75
  175. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  176. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  177. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  178. package/fesm2022/lucca-front-ng-toast.mjs +14 -14
  179. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  180. package/fesm2022/lucca-front-ng-tooltip.mjs +39 -41
  181. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  182. package/fesm2022/lucca-front-ng-tree-select.mjs +20 -20
  183. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  184. package/fesm2022/lucca-front-ng-user-popover.mjs +22 -22
  185. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  186. package/fesm2022/lucca-front-ng-user.mjs +86 -86
  187. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  188. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +31 -31
  189. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -1
  190. package/package.json +154 -162
  191. package/schematics/alignment-utilities/index.js +21 -0
  192. package/schematics/alignment-utilities/migration.spec.js +50 -0
  193. package/schematics/alignment-utilities/schema.json +23 -0
  194. package/schematics/collection.json +10 -0
  195. package/schematics/component-path/index.js +22 -0
  196. package/schematics/component-path/migration.spec.js +50 -0
  197. package/schematics/component-path/schema.json +23 -0
  198. package/schematics/lib/component-mapper.js +54 -0
  199. package/schematics/lib/css-mapper.js +9 -32
  200. package/schematics/lib/html-ast.js +1 -1
  201. package/schematics/lib/schematic.utils.js +29 -0
  202. package/schematics/palettes/index.js +4 -2
  203. package/src/components/cdk/_dragDrop.scss +1 -1
  204. package/{a11y/index.d.ts → types/lucca-front-ng-a11y.d.ts} +9 -8
  205. package/{box/index.d.ts → types/lucca-front-ng-box.d.ts} +2 -1
  206. package/{button/index.d.ts → types/lucca-front-ng-button.d.ts} +1 -1
  207. package/{callout/index.d.ts → types/lucca-front-ng-callout.d.ts} +2 -1
  208. package/{core-select/index.d.ts → types/lucca-front-ng-core-select.d.ts} +11 -10
  209. package/{core/index.d.ts → types/lucca-front-ng-core.d.ts} +17 -1
  210. package/{date2/index.d.ts → types/lucca-front-ng-date2.d.ts} +1 -1
  211. package/{department/index.d.ts → types/lucca-front-ng-department.d.ts} +9 -8
  212. package/{dialog/index.d.ts → types/lucca-front-ng-dialog.d.ts} +43 -42
  213. package/{dropdown/index.d.ts → types/lucca-front-ng-dropdown.d.ts} +2 -2
  214. package/{establishment/index.d.ts → types/lucca-front-ng-establishment.d.ts} +10 -9
  215. package/{form-field/index.d.ts → types/lucca-front-ng-form-field.d.ts} +11 -11
  216. package/{forms/phone-number-input/index.d.ts → types/lucca-front-ng-forms-phone-number-input.d.ts} +1 -2
  217. package/{forms/rich-text-input/formatters/markdown/index.d.ts → types/lucca-front-ng-forms-rich-text-input-formatters-markdown.d.ts} +11 -2
  218. package/types/lucca-front-ng-forms-rich-text-input-formatters-plain-text.d.ts +27 -0
  219. package/{forms/rich-text-input/index.d.ts → types/lucca-front-ng-forms-rich-text-input.d.ts} +36 -12
  220. package/{forms/index.d.ts → types/lucca-front-ng-forms.d.ts} +18 -17
  221. package/{loading/index.d.ts → types/lucca-front-ng-loading.d.ts} +4 -1
  222. package/{modal/index.d.ts → types/lucca-front-ng-modal.d.ts} +13 -12
  223. package/{multi-select/index.d.ts → types/lucca-front-ng-multi-select.d.ts} +32 -31
  224. package/{option/index.d.ts → types/lucca-front-ng-option.d.ts} +28 -27
  225. package/{popover2/index.d.ts → types/lucca-front-ng-popover2.d.ts} +22 -21
  226. package/{popup/index.d.ts → types/lucca-front-ng-popup.d.ts} +2 -1
  227. package/types/lucca-front-ng-resource-card.d.ts +33 -0
  228. package/{select/index.d.ts → types/lucca-front-ng-select.d.ts} +1 -1
  229. package/{simple-select/index.d.ts → types/lucca-front-ng-simple-select.d.ts} +16 -15
  230. package/{skeleton/index.d.ts → types/lucca-front-ng-skeleton.d.ts} +9 -1
  231. package/{time/index.d.ts → types/lucca-front-ng-time.d.ts} +16 -15
  232. package/{toast/index.d.ts → types/lucca-front-ng-toast.d.ts} +11 -10
  233. package/{user-popover/index.d.ts → types/lucca-front-ng-user-popover.d.ts} +23 -22
  234. package/{user/index.d.ts → types/lucca-front-ng-user.d.ts} +18 -17
  235. package/fesm2022/lucca-front-ng-segmentedControl.mjs +0 -6
  236. package/fesm2022/lucca-front-ng-segmentedControl.mjs.map +0 -1
  237. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs +0 -6
  238. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs.map +0 -1
  239. package/fesm2022/lucca-front-ng-statusBadge.mjs +0 -6
  240. package/fesm2022/lucca-front-ng-statusBadge.mjs.map +0 -1
  241. package/forms/rich-text-input/formatters/plain-text/index.d.ts +0 -15
  242. package/segmentedControl/index.d.ts +0 -1
  243. package/segmentedControlTabs/index.d.ts +0 -1
  244. package/statusBadge/index.d.ts +0 -1
  245. /package/{animations/index.d.ts → types/lucca-front-ng-animations.d.ts} +0 -0
  246. /package/{api/index.d.ts → types/lucca-front-ng-api.d.ts} +0 -0
  247. /package/{app-layout/index.d.ts → types/lucca-front-ng-app-layout.d.ts} +0 -0
  248. /package/{breadcrumbs/index.d.ts → types/lucca-front-ng-breadcrumbs.d.ts} +0 -0
  249. /package/{chip/index.d.ts → types/lucca-front-ng-chip.d.ts} +0 -0
  250. /package/{clear/index.d.ts → types/lucca-front-ng-clear.d.ts} +0 -0
  251. /package/{code/index.d.ts → types/lucca-front-ng-code.d.ts} +0 -0
  252. /package/{comment/index.d.ts → types/lucca-front-ng-comment.d.ts} +0 -0
  253. /package/{container/index.d.ts → types/lucca-front-ng-container.d.ts} +0 -0
  254. /package/{core-select/api/index.d.ts → types/lucca-front-ng-core-select-api.d.ts} +0 -0
  255. /package/{core-select/department/index.d.ts → types/lucca-front-ng-core-select-department.d.ts} +0 -0
  256. /package/{core-select/establishment/index.d.ts → types/lucca-front-ng-core-select-establishment.d.ts} +0 -0
  257. /package/{core-select/job-qualification/index.d.ts → types/lucca-front-ng-core-select-job-qualification.d.ts} +0 -0
  258. /package/{core-select/occupation-category/index.d.ts → types/lucca-front-ng-core-select-occupation-category.d.ts} +0 -0
  259. /package/{core-select/user/index.d.ts → types/lucca-front-ng-core-select-user.d.ts} +0 -0
  260. /package/{data-table/index.d.ts → types/lucca-front-ng-data-table.d.ts} +0 -0
  261. /package/{date/index.d.ts → types/lucca-front-ng-date.d.ts} +0 -0
  262. /package/{dialog/testing/index.d.ts → types/lucca-front-ng-dialog-testing.d.ts} +0 -0
  263. /package/{divider/index.d.ts → types/lucca-front-ng-divider.d.ts} +0 -0
  264. /package/{empty-state/index.d.ts → types/lucca-front-ng-empty-state.d.ts} +0 -0
  265. /package/{fancy-box/index.d.ts → types/lucca-front-ng-fancy-box.d.ts} +0 -0
  266. /package/{file-upload/index.d.ts → types/lucca-front-ng-file-upload.d.ts} +0 -0
  267. /package/{filter-pills/index.d.ts → types/lucca-front-ng-filter-pills.d.ts} +0 -0
  268. /package/{footer/index.d.ts → types/lucca-front-ng-footer.d.ts} +0 -0
  269. /package/{form-header/index.d.ts → types/lucca-front-ng-form-header.d.ts} +0 -0
  270. /package/{form/index.d.ts → types/lucca-front-ng-form.d.ts} +0 -0
  271. /package/{formly/index.d.ts → types/lucca-front-ng-formly.d.ts} +0 -0
  272. /package/{forms/rich-text-input/formatters/html/index.d.ts → types/lucca-front-ng-forms-rich-text-input-formatters-html.d.ts} +0 -0
  273. /package/{gauge/index.d.ts → types/lucca-front-ng-gauge.d.ts} +0 -0
  274. /package/{grid/index.d.ts → types/lucca-front-ng-grid.d.ts} +0 -0
  275. /package/{highlight-data/index.d.ts → types/lucca-front-ng-highlight-data.d.ts} +0 -0
  276. /package/{horizontal-navigation/index.d.ts → types/lucca-front-ng-horizontal-navigation.d.ts} +0 -0
  277. /package/{icon/index.d.ts → types/lucca-front-ng-icon.d.ts} +0 -0
  278. /package/{index-table/index.d.ts → types/lucca-front-ng-index-table.d.ts} +0 -0
  279. /package/{inline-message/index.d.ts → types/lucca-front-ng-inline-message.d.ts} +0 -0
  280. /package/{input/index.d.ts → types/lucca-front-ng-input.d.ts} +0 -0
  281. /package/{link/index.d.ts → types/lucca-front-ng-link.d.ts} +0 -0
  282. /package/{listbox/index.d.ts → types/lucca-front-ng-listbox.d.ts} +0 -0
  283. /package/{listing/index.d.ts → types/lucca-front-ng-listing.d.ts} +0 -0
  284. /package/{main-layout/index.d.ts → types/lucca-front-ng-main-layout.d.ts} +0 -0
  285. /package/{mobile-push/index.d.ts → types/lucca-front-ng-mobile-push.d.ts} +0 -0
  286. /package/{new-badge/index.d.ts → types/lucca-front-ng-new-badge.d.ts} +0 -0
  287. /package/{number-format/index.d.ts → types/lucca-front-ng-number-format.d.ts} +0 -0
  288. /package/{number/index.d.ts → types/lucca-front-ng-number.d.ts} +0 -0
  289. /package/{numeric-badge/index.d.ts → types/lucca-front-ng-numeric-badge.d.ts} +0 -0
  290. /package/{page-header/index.d.ts → types/lucca-front-ng-page-header.d.ts} +0 -0
  291. /package/{pagination/index.d.ts → types/lucca-front-ng-pagination.d.ts} +0 -0
  292. /package/{picker/index.d.ts → types/lucca-front-ng-picker.d.ts} +0 -0
  293. /package/{plg-push/index.d.ts → types/lucca-front-ng-plg-push.d.ts} +0 -0
  294. /package/{popover/index.d.ts → types/lucca-front-ng-popover.d.ts} +0 -0
  295. /package/{progress-bar/index.d.ts → types/lucca-front-ng-progress-bar.d.ts} +0 -0
  296. /package/{read-more/index.d.ts → types/lucca-front-ng-read-more.d.ts} +0 -0
  297. /package/{safe-content/index.d.ts → types/lucca-front-ng-safe-content.d.ts} +0 -0
  298. /package/{scroll-box/index.d.ts → types/lucca-front-ng-scroll-box.d.ts} +0 -0
  299. /package/{scroll/index.d.ts → types/lucca-front-ng-scroll.d.ts} +0 -0
  300. /package/{segmented-control-tabs/index.d.ts → types/lucca-front-ng-segmented-control-tabs.d.ts} +0 -0
  301. /package/{segmented-control/index.d.ts → types/lucca-front-ng-segmented-control.d.ts} +0 -0
  302. /package/{sidepanel/index.d.ts → types/lucca-front-ng-sidepanel.d.ts} +0 -0
  303. /package/{simple-select/api/index.d.ts → types/lucca-front-ng-simple-select-api.d.ts} +0 -0
  304. /package/{sortable-list/index.d.ts → types/lucca-front-ng-sortable-list.d.ts} +0 -0
  305. /package/{status-badge/index.d.ts → types/lucca-front-ng-status-badge.d.ts} +0 -0
  306. /package/{table-of-content/index.d.ts → types/lucca-front-ng-table-of-content.d.ts} +0 -0
  307. /package/{tag/index.d.ts → types/lucca-front-ng-tag.d.ts} +0 -0
  308. /package/{title/index.d.ts → types/lucca-front-ng-title.d.ts} +0 -0
  309. /package/{tooltip/index.d.ts → types/lucca-front-ng-tooltip.d.ts} +0 -0
  310. /package/{tree-select/index.d.ts → types/lucca-front-ng-tree-select.d.ts} +0 -0
  311. /package/{vertical-navigation/index.d.ts → types/lucca-front-ng-vertical-navigation.d.ts} +0 -0
  312. /package/{index.d.ts → types/lucca-front-ng.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Pipe, NgModule, inject, ChangeDetectorRef } from '@angular/core';
3
- import { sanitize } from 'isomorphic-dompurify';
3
+ import DOMPurify from 'isomorphic-dompurify';
4
4
  import * as i1 from '@angular/platform-browser';
5
5
  import { DomSanitizer } from '@angular/platform-browser';
6
6
  import { HttpClient } from '@angular/common/http';
@@ -11,12 +11,12 @@ class LuSafeHtmlPipe {
11
11
  this.sanitizer = sanitizer;
12
12
  }
13
13
  transform(value, config) {
14
- return this.sanitizer.bypassSecurityTrustHtml(sanitize(value, config));
14
+ return this.sanitizer.bypassSecurityTrustHtml(DOMPurify.sanitize(value, config));
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuSafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
17
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuSafeHtmlPipe, isStandalone: true, name: "luSafeHtml" }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuSafeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
17
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: LuSafeHtmlPipe, isStandalone: true, name: "luSafeHtml" }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuSafeHtmlPipe, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuSafeHtmlPipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{ name: 'luSafeHtml', standalone: true }]
22
22
  }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
@@ -25,11 +25,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
25
25
  * @deprecated use `LuSafeHtmlPipe` instead
26
26
  */
27
27
  class LuSafeContentModule {
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuSafeContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuSafeContentModule, imports: [LuSafeHtmlPipe], exports: [LuSafeHtmlPipe] }); }
30
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuSafeContentModule }); }
28
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuSafeContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
29
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: LuSafeContentModule, imports: [LuSafeHtmlPipe], exports: [LuSafeHtmlPipe] }); }
30
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuSafeContentModule }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuSafeContentModule, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuSafeContentModule, decorators: [{
33
33
  type: NgModule,
34
34
  args: [{
35
35
  imports: [LuSafeHtmlPipe],
@@ -55,16 +55,16 @@ class LuSafeExternalSvgPipe {
55
55
  this.#subscription?.unsubscribe();
56
56
  this.#subscription = this.#httpClient
57
57
  .get(url, { responseType: 'text' })
58
- .pipe(map((svg) => sanitize(svg, { USE_PROFILES: { svg: true } })), map((svg) => this.#domSanitizer.bypassSecurityTrustHtml(svg)))
58
+ .pipe(map((svg) => DOMPurify.sanitize(svg, { USE_PROFILES: { svg: true } })), map((svg) => this.#domSanitizer.bypassSecurityTrustHtml(svg)))
59
59
  .subscribe((svg) => {
60
60
  this.#lastSvgValue = svg;
61
61
  this.#cdr.markForCheck();
62
62
  });
63
63
  }
64
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuSafeExternalSvgPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
65
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuSafeExternalSvgPipe, isStandalone: true, name: "luSafeExternalSvg", pure: false }); }
64
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuSafeExternalSvgPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
65
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: LuSafeExternalSvgPipe, isStandalone: true, name: "luSafeExternalSvg", pure: false }); }
66
66
  }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuSafeExternalSvgPipe, decorators: [{
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuSafeExternalSvgPipe, decorators: [{
68
68
  type: Pipe,
69
69
  args: [{
70
70
  name: 'luSafeExternalSvg',
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-safe-content.mjs","sources":["../../../packages/ng/safe-content/safe-html.pipe.ts","../../../packages/ng/safe-content/safe-content.module.ts","../../../packages/ng/safe-content/safe-external-svg.pipe.ts","../../../packages/ng/safe-content/lucca-front-ng-safe-content.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Config, sanitize } from 'isomorphic-dompurify';\n\ntype SanitizerConfig = Config & { RETURN_DOM_FRAGMENT?: false | undefined; RETURN_DOM?: false | undefined };\n\n@Pipe({ name: 'luSafeHtml', standalone: true })\nexport class LuSafeHtmlPipe implements PipeTransform {\n\tconstructor(protected sanitizer: DomSanitizer) {}\n\n\tpublic transform(value: string, config?: SanitizerConfig): SafeHtml {\n\t\treturn this.sanitizer.bypassSecurityTrustHtml(sanitize(value, config));\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuSafeHtmlPipe } from './safe-html.pipe';\n\n/**\n * @deprecated use `LuSafeHtmlPipe` instead\n */\n@NgModule({\n\timports: [LuSafeHtmlPipe],\n\texports: [LuSafeHtmlPipe],\n})\nexport class LuSafeContentModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { ChangeDetectorRef, inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { sanitize } from 'isomorphic-dompurify';\nimport { map, Subscription } from 'rxjs';\n\n@Pipe({\n\tname: 'luSafeExternalSvg',\n\tpure: false,\n})\nexport class LuSafeExternalSvgPipe implements PipeTransform {\n\t#httpClient = inject(HttpClient);\n\t#domSanitizer = inject(DomSanitizer);\n\t#cdr = inject(ChangeDetectorRef);\n\t#lastSvgUrl?: string;\n\t#lastSvgValue: SafeHtml = '';\n\t#subscription?: Subscription;\n\n\ttransform(url: string): SafeHtml {\n\t\tif (url && url !== this.#lastSvgUrl) {\n\t\t\tthis.#lastSvgUrl = url;\n\t\t\tthis.#subscribeToSvg(url);\n\t\t}\n\n\t\treturn this.#lastSvgValue;\n\t}\n\n\t#subscribeToSvg(url: string) {\n\t\tthis.#subscription?.unsubscribe();\n\t\tthis.#subscription = this.#httpClient\n\t\t\t.get(url, { responseType: 'text' })\n\t\t\t.pipe(\n\t\t\t\tmap((svg) => sanitize(svg, { USE_PROFILES: { svg: true } })),\n\t\t\t\tmap((svg) => this.#domSanitizer.bypassSecurityTrustHtml(svg)),\n\t\t\t)\n\t\t\t.subscribe((svg) => {\n\t\t\t\tthis.#lastSvgValue = svg;\n\t\t\t\tthis.#cdr.markForCheck();\n\t\t\t});\n\t}\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-safe-content.mjs","sources":["../../../packages/ng/safe-content/safe-html.pipe.ts","../../../packages/ng/safe-content/safe-content.module.ts","../../../packages/ng/safe-content/safe-external-svg.pipe.ts","../../../packages/ng/safe-content/lucca-front-ng-safe-content.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport DOMPurify from 'isomorphic-dompurify';\nimport type { Config } from 'isomorphic-dompurify';\n\ntype SanitizerConfig = Config & { RETURN_DOM_FRAGMENT?: false | undefined; RETURN_DOM?: false | undefined };\n\n@Pipe({ name: 'luSafeHtml', standalone: true })\nexport class LuSafeHtmlPipe implements PipeTransform {\n\tconstructor(protected sanitizer: DomSanitizer) {}\n\n\tpublic transform(value: string, config?: SanitizerConfig): SafeHtml {\n\t\treturn this.sanitizer.bypassSecurityTrustHtml(DOMPurify.sanitize(value, config));\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { LuSafeHtmlPipe } from './safe-html.pipe';\n\n/**\n * @deprecated use `LuSafeHtmlPipe` instead\n */\n@NgModule({\n\timports: [LuSafeHtmlPipe],\n\texports: [LuSafeHtmlPipe],\n})\nexport class LuSafeContentModule {}\n","import { HttpClient } from '@angular/common/http';\nimport { ChangeDetectorRef, inject, Pipe, PipeTransform } from '@angular/core';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport DOMPurify from 'isomorphic-dompurify';\nimport { map, Subscription } from 'rxjs';\n\n@Pipe({\n\tname: 'luSafeExternalSvg',\n\tpure: false,\n})\nexport class LuSafeExternalSvgPipe implements PipeTransform {\n\t#httpClient = inject(HttpClient);\n\t#domSanitizer = inject(DomSanitizer);\n\t#cdr = inject(ChangeDetectorRef);\n\t#lastSvgUrl?: string;\n\t#lastSvgValue: SafeHtml = '';\n\t#subscription?: Subscription;\n\n\ttransform(url: string): SafeHtml {\n\t\tif (url && url !== this.#lastSvgUrl) {\n\t\t\tthis.#lastSvgUrl = url;\n\t\t\tthis.#subscribeToSvg(url);\n\t\t}\n\n\t\treturn this.#lastSvgValue;\n\t}\n\n\t#subscribeToSvg(url: string) {\n\t\tthis.#subscription?.unsubscribe();\n\t\tthis.#subscription = this.#httpClient\n\t\t\t.get(url, { responseType: 'text' })\n\t\t\t.pipe(\n\t\t\t\tmap((svg) => DOMPurify.sanitize(svg, { USE_PROFILES: { svg: true } })),\n\t\t\t\tmap((svg) => this.#domSanitizer.bypassSecurityTrustHtml(svg)),\n\t\t\t)\n\t\t\t.subscribe((svg) => {\n\t\t\t\tthis.#lastSvgValue = svg;\n\t\t\t\tthis.#cdr.markForCheck();\n\t\t\t});\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -15,9 +15,9 @@ class ScrollBoxComponent {
15
15
  }
16
16
  constructor() {
17
17
  this.#elementRef = inject(ElementRef);
18
- this.isFirstVisible = signal(true);
19
- this.isLastVisible = signal(false);
20
- this.vertical = input(false, { transform: booleanAttribute });
18
+ this.isFirstVisible = signal(true, ...(ngDevMode ? [{ debugName: "isFirstVisible" }] : []));
19
+ this.isLastVisible = signal(false, ...(ngDevMode ? [{ debugName: "isLastVisible" }] : []));
20
+ this.vertical = input(false, { ...(ngDevMode ? { debugName: "vertical" } : {}), transform: booleanAttribute });
21
21
  afterNextRender(() => {
22
22
  this.scroll();
23
23
  });
@@ -27,10 +27,10 @@ class ScrollBoxComponent {
27
27
  this.scroll();
28
28
  }).observe(this.#elementRef.nativeElement);
29
29
  }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ScrollBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: ScrollBoxComponent, isStandalone: true, selector: "lu-scroll-box", inputs: { vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "scroll": "scroll()" }, properties: { "class.is-firstVisible": "isFirstVisible()", "class.is-lastVisible": "isLastVisible()" }, classAttribute: "scrollBox" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.scrollBox{--components-scrollBox-backgroundColor: var(--pr-t-elevation-surface-default);--components-scrollBox-shadowColor: var(--palettes-neutral-400);--components-scrollBox-shadowSize: var(--pr-t-spacings-150);--components-scrollBox-beforeOpacity: 1;--components-scrollBox-afterOpacity: 1;--components-scrollBox-gap: var(--pr-t-spacings-100);--components-scrollBox-scrollBarWidth: thin;--components-scrollBox-paddingInline: var(--pr-t-spacings-200);--components-scrollBox-paddingBlock: var(--pr-t-spacings-100);--components-scrollBox-marginInline: calc(var(--components-scrollBox-paddingInline) * -1);--components-scrollBox-marginBlock: calc(var(--components-scrollBox-paddingBlock) * -1);--components-scrollBox-pseudoElementsContent: \"\";--components-scrollBox-display: flex;--components-scrollBox-firstLast-display: block;background-color:var(--components-scrollBox-backgroundColor);position:relative;display:var(--components-scrollBox-display);flex-wrap:nowrap;gap:var(--components-scrollBox-gap);overflow:auto;scrollbar-width:var(--components-scrollBox-scrollBarWidth);margin-inline:var(--components-scrollBox-marginInline);padding-inline:var(--components-scrollBox-paddingInline);padding-block:var(--components-scrollBox-paddingBlock);margin-block:var(--components-scrollBox-marginBlock);border-radius:var(--pr-t-border-radius-default)}.scrollBox>*{flex-shrink:0}.scrollBox:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:0}.scrollBox:before,.scrollBox:after{content:var(--components-scrollBox-pseudoElementsContent);pointer-events:none;position:sticky;flex-shrink:0;inline-size:var(--components-scrollBox-shadowSize);inset-block:0;inset-inline:calc(var(--components-scrollBox-paddingInline) * -1);margin-block:calc(var(--components-scrollBox-paddingBlock) * -1);background-repeat:no-repeat;z-index:10;align-self:stretch;background-size:75% 100%,25% 100%,1px 100%}.scrollBox:before{opacity:var(--components-scrollBox-beforeOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-end:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));background-position:0% 50%;background-image:radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox:after{opacity:var(--components-scrollBox-afterOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));margin-inline-end:calc(var(--components-scrollBox-paddingInline) * -1);background-position:100% 50%;background-image:radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox-first{margin-inline-end:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-last{margin-inline-start:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-first,.scrollBox-last{pointer-events:none;flex-shrink:0;align-self:stretch;display:var(--components-scrollBox-firstLast-display)}}@layer mods{.scrollBox.is-firstVisible{--components-scrollBox-beforeOpacity: 0}.scrollBox.is-lastVisible{--components-scrollBox-afterOpacity: 0}.scrollBox.is-disabled{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
30
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ScrollBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: ScrollBoxComponent, isStandalone: true, selector: "lu-scroll-box", inputs: { vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "scroll": "scroll()" }, properties: { "class.is-firstVisible": "isFirstVisible()", "class.is-lastVisible": "isLastVisible()" }, classAttribute: "scrollBox" }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["@layer components{.scrollBox{--components-scrollBox-backgroundColor: var(--pr-t-elevation-surface-default);--components-scrollBox-shadowColor: var(--palettes-neutral-400);--components-scrollBox-shadowSize: var(--pr-t-spacings-150);--components-scrollBox-beforeOpacity: 1;--components-scrollBox-afterOpacity: 1;--components-scrollBox-gap: var(--pr-t-spacings-100);--components-scrollBox-scrollBarWidth: thin;--components-scrollBox-paddingInline: var(--pr-t-spacings-200);--components-scrollBox-paddingBlock: var(--pr-t-spacings-100);--components-scrollBox-marginInline: calc(var(--components-scrollBox-paddingInline) * -1);--components-scrollBox-marginBlock: calc(var(--components-scrollBox-paddingBlock) * -1);--components-scrollBox-pseudoElementsContent: \"\";--components-scrollBox-display: flex;--components-scrollBox-firstLast-display: block;background-color:var(--components-scrollBox-backgroundColor);position:relative;display:var(--components-scrollBox-display);flex-wrap:nowrap;gap:var(--components-scrollBox-gap);overflow:auto;scrollbar-width:var(--components-scrollBox-scrollBarWidth);margin-inline:var(--components-scrollBox-marginInline);padding-inline:var(--components-scrollBox-paddingInline);padding-block:var(--components-scrollBox-paddingBlock);margin-block:var(--components-scrollBox-marginBlock);border-radius:var(--pr-t-border-radius-default)}.scrollBox>*{flex-shrink:0}.scrollBox:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:0}.scrollBox:before,.scrollBox:after{content:var(--components-scrollBox-pseudoElementsContent);pointer-events:none;position:sticky;flex-shrink:0;inline-size:var(--components-scrollBox-shadowSize);inset-block:0;inset-inline:calc(var(--components-scrollBox-paddingInline) * -1);margin-block:calc(var(--components-scrollBox-paddingBlock) * -1);background-repeat:no-repeat;z-index:10;align-self:stretch;background-size:75% 100%,25% 100%,1px 100%}.scrollBox:before{opacity:var(--components-scrollBox-beforeOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-end:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));background-position:0% 50%;background-image:radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox:after{opacity:var(--components-scrollBox-afterOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));margin-inline-end:calc(var(--components-scrollBox-paddingInline) * -1);background-position:100% 50%;background-image:radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox-first{margin-inline-end:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-last{margin-inline-start:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-first,.scrollBox-last{pointer-events:none;flex-shrink:0;align-self:stretch;display:var(--components-scrollBox-firstLast-display)}}@layer mods{.scrollBox.is-firstVisible{--components-scrollBox-beforeOpacity: 0}.scrollBox.is-lastVisible{--components-scrollBox-afterOpacity: 0}.scrollBox.is-disabled{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
32
32
  }
33
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: ScrollBoxComponent, decorators: [{
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: ScrollBoxComponent, decorators: [{
34
34
  type: Component,
35
35
  args: [{ selector: 'lu-scroll-box', standalone: true, template: '<ng-content />', encapsulation: ViewEncapsulation.None, host: {
36
36
  class: 'scrollBox',
@@ -38,7 +38,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
38
38
  '[class.is-firstVisible]': 'isFirstVisible()',
39
39
  '[class.is-lastVisible]': 'isLastVisible()',
40
40
  }, styles: ["@layer components{.scrollBox{--components-scrollBox-backgroundColor: var(--pr-t-elevation-surface-default);--components-scrollBox-shadowColor: var(--palettes-neutral-400);--components-scrollBox-shadowSize: var(--pr-t-spacings-150);--components-scrollBox-beforeOpacity: 1;--components-scrollBox-afterOpacity: 1;--components-scrollBox-gap: var(--pr-t-spacings-100);--components-scrollBox-scrollBarWidth: thin;--components-scrollBox-paddingInline: var(--pr-t-spacings-200);--components-scrollBox-paddingBlock: var(--pr-t-spacings-100);--components-scrollBox-marginInline: calc(var(--components-scrollBox-paddingInline) * -1);--components-scrollBox-marginBlock: calc(var(--components-scrollBox-paddingBlock) * -1);--components-scrollBox-pseudoElementsContent: \"\";--components-scrollBox-display: flex;--components-scrollBox-firstLast-display: block;background-color:var(--components-scrollBox-backgroundColor);position:relative;display:var(--components-scrollBox-display);flex-wrap:nowrap;gap:var(--components-scrollBox-gap);overflow:auto;scrollbar-width:var(--components-scrollBox-scrollBarWidth);margin-inline:var(--components-scrollBox-marginInline);padding-inline:var(--components-scrollBox-paddingInline);padding-block:var(--components-scrollBox-paddingBlock);margin-block:var(--components-scrollBox-marginBlock);border-radius:var(--pr-t-border-radius-default)}.scrollBox>*{flex-shrink:0}.scrollBox:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:0}.scrollBox:before,.scrollBox:after{content:var(--components-scrollBox-pseudoElementsContent);pointer-events:none;position:sticky;flex-shrink:0;inline-size:var(--components-scrollBox-shadowSize);inset-block:0;inset-inline:calc(var(--components-scrollBox-paddingInline) * -1);margin-block:calc(var(--components-scrollBox-paddingBlock) * -1);background-repeat:no-repeat;z-index:10;align-self:stretch;background-size:75% 100%,25% 100%,1px 100%}.scrollBox:before{opacity:var(--components-scrollBox-beforeOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-end:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));background-position:0% 50%;background-image:radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 0% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox:after{opacity:var(--components-scrollBox-afterOpacity);margin-inline-start:calc(var(--components-scrollBox-paddingInline) - var(--components-scrollBox-shadowSize) - var(--components-scrollBox-gap));margin-inline-end:calc(var(--components-scrollBox-paddingInline) * -1);background-position:100% 50%;background-image:radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 24%,transparent),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 32%,transparent) 50%,color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent)),radial-gradient(farthest-side at 100% 50%,color-mix(in var(--commons-colorSpace, srgb),var(--components-scrollBox-shadowColor) 100%,transparent) calc(100% - 1px),color-mix(in var(--commons-colorSpace, srgb),var(--palettes-neutral-900) 0%,transparent))}.scrollBox-first{margin-inline-end:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-last{margin-inline-start:calc(var(--components-scrollBox-gap) * -1)}.scrollBox-first,.scrollBox-last{pointer-events:none;flex-shrink:0;align-self:stretch;display:var(--components-scrollBox-firstLast-display)}}@layer mods{.scrollBox.is-firstVisible{--components-scrollBox-beforeOpacity: 0}.scrollBox.is-lastVisible{--components-scrollBox-afterOpacity: 0}.scrollBox.is-disabled{--components-scrollBox-pseudoElementsContent: none;--components-scrollBox-display: contents;--components-scrollBox-firstLast-display: none}}\n"] }]
41
- }], ctorParameters: () => [] });
41
+ }], ctorParameters: () => [], propDecorators: { vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }] } });
42
42
 
43
43
  /**
44
44
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-scroll-box.mjs","sources":["../../../packages/ng/scroll-box/scroll-box.component.ts","../../../packages/ng/scroll-box/lucca-front-ng-scroll-box.ts"],"sourcesContent":["import { afterNextRender, booleanAttribute, Component, ElementRef, inject, input, OnInit, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-scroll-box',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tstyleUrl: './scroll-box.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'scrollBox',\n\t\t'(scroll)': 'scroll()',\n\t\t'[class.is-firstVisible]': 'isFirstVisible()',\n\t\t'[class.is-lastVisible]': 'isLastVisible()',\n\t},\n})\nexport class ScrollBoxComponent implements OnInit {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tisFirstVisible = signal(true);\n\tisLastVisible = signal(false);\n\n\tvertical = input(false, { transform: booleanAttribute });\n\n\tscroll() {\n\t\tif (this.vertical()) {\n\t\t\tthis.isFirstVisible.set(this.#elementRef.nativeElement.scrollTop === 0);\n\t\t\tthis.isLastVisible.set(this.#elementRef.nativeElement.scrollTop >= this.#elementRef.nativeElement.scrollHeight - this.#elementRef.nativeElement.clientHeight);\n\t\t} else {\n\t\t\tthis.isFirstVisible.set(this.#elementRef.nativeElement.scrollLeft === 0);\n\t\t\tthis.isLastVisible.set(this.#elementRef.nativeElement.scrollLeft >= this.#elementRef.nativeElement.scrollWidth - this.#elementRef.nativeElement.clientWidth);\n\t\t}\n\t}\n\n\tconstructor() {\n\t\tafterNextRender(() => {\n\t\t\tthis.scroll();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\tnew ResizeObserver(() => {\n\t\t\tthis.scroll();\n\t\t}).observe(this.#elementRef.nativeElement);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAea,kBAAkB,CAAA;AAC9B,IAAA,WAAW;IAOX,MAAM,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,KAAK,CAAC,CAAC;AACvE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;;aACvJ;AACN,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;;;AAI9J,IAAA,WAAA,GAAA;AAjBA,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC;AAEzD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC;AAC7B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC;QAE7B,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAavD,eAAe,CAAC,MAAK;YACpB,IAAI,CAAC,MAAM,EAAE;AACd,SAAC,CAAC;;IAGH,QAAQ,GAAA;QACP,IAAI,cAAc,CAAC,MAAK;YACvB,IAAI,CAAC,MAAM,EAAE;SACb,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;;8GA3B/B,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,0YAVpB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6gJAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAUd,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;+BACC,eAAe,EAAA,UAAA,EACb,IAAI,EACN,QAAA,EAAA,gBAAgB,iBAEX,iBAAiB,CAAC,IAAI,EAC/B,IAAA,EAAA;AACL,wBAAA,KAAK,EAAE,WAAW;AAClB,wBAAA,UAAU,EAAE,UAAU;AACtB,wBAAA,yBAAyB,EAAE,kBAAkB;AAC7C,wBAAA,wBAAwB,EAAE,iBAAiB;AAC3C,qBAAA,EAAA,MAAA,EAAA,CAAA,6gJAAA,CAAA,EAAA;;;ACbF;;AAEG;;;;"}
1
+ {"version":3,"file":"lucca-front-ng-scroll-box.mjs","sources":["../../../packages/ng/scroll-box/scroll-box.component.ts","../../../packages/ng/scroll-box/lucca-front-ng-scroll-box.ts"],"sourcesContent":["import { afterNextRender, booleanAttribute, Component, ElementRef, inject, input, OnInit, signal, ViewEncapsulation } from '@angular/core';\n\n@Component({\n\tselector: 'lu-scroll-box',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tstyleUrl: './scroll-box.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\thost: {\n\t\tclass: 'scrollBox',\n\t\t'(scroll)': 'scroll()',\n\t\t'[class.is-firstVisible]': 'isFirstVisible()',\n\t\t'[class.is-lastVisible]': 'isLastVisible()',\n\t},\n})\nexport class ScrollBoxComponent implements OnInit {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tisFirstVisible = signal(true);\n\tisLastVisible = signal(false);\n\n\tvertical = input(false, { transform: booleanAttribute });\n\n\tscroll() {\n\t\tif (this.vertical()) {\n\t\t\tthis.isFirstVisible.set(this.#elementRef.nativeElement.scrollTop === 0);\n\t\t\tthis.isLastVisible.set(this.#elementRef.nativeElement.scrollTop >= this.#elementRef.nativeElement.scrollHeight - this.#elementRef.nativeElement.clientHeight);\n\t\t} else {\n\t\t\tthis.isFirstVisible.set(this.#elementRef.nativeElement.scrollLeft === 0);\n\t\t\tthis.isLastVisible.set(this.#elementRef.nativeElement.scrollLeft >= this.#elementRef.nativeElement.scrollWidth - this.#elementRef.nativeElement.clientWidth);\n\t\t}\n\t}\n\n\tconstructor() {\n\t\tafterNextRender(() => {\n\t\t\tthis.scroll();\n\t\t});\n\t}\n\n\tngOnInit(): void {\n\t\tnew ResizeObserver(() => {\n\t\t\tthis.scroll();\n\t\t}).observe(this.#elementRef.nativeElement);\n\t}\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAea,kBAAkB,CAAA;AAC9B,IAAA,WAAW;IAOX,MAAM,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE;AACpB,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,KAAK,CAAC,CAAC;AACvE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY,CAAC;QAC9J;aAAO;AACN,YAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,KAAK,CAAC,CAAC;AACxE,YAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC;QAC7J;IACD;AAEA,IAAA,WAAA,GAAA;AAjBA,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC;AAEzD,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,IAAI,0DAAC;AAC7B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAAC,KAAK,yDAAC;QAE7B,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAC,KAAK,qDAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;QAavD,eAAe,CAAC,MAAK;YACpB,IAAI,CAAC,MAAM,EAAE;AACd,QAAA,CAAC,CAAC;IACH;IAEA,QAAQ,GAAA;QACP,IAAI,cAAc,CAAC,MAAK;YACvB,IAAI,CAAC,MAAM,EAAE;QACd,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;IAC3C;8GA5BY,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,0YAVpB,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,6gJAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;2FAUd,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAb9B,SAAS;+BACC,eAAe,EAAA,UAAA,EACb,IAAI,EAAA,QAAA,EACN,gBAAgB,iBAEX,iBAAiB,CAAC,IAAI,EAAA,IAAA,EAC/B;AACL,wBAAA,KAAK,EAAE,WAAW;AAClB,wBAAA,UAAU,EAAE,UAAU;AACtB,wBAAA,yBAAyB,EAAE,kBAAkB;AAC7C,wBAAA,wBAAwB,EAAE,iBAAiB;AAC3C,qBAAA,EAAA,MAAA,EAAA,CAAA,6gJAAA,CAAA,EAAA;;;ACbF;;AAEG;;;;"}
@@ -42,7 +42,7 @@ class LuScrollDirective {
42
42
  }
43
43
  constructor(_elementRef) {
44
44
  this._elementRef = _elementRef;
45
- this.debounceTime = input(100);
45
+ this.debounceTime = input(100, ...(ngDevMode ? [{ debugName: "debounceTime" }] : []));
46
46
  this.onScroll = output();
47
47
  this.onScrollTop = output();
48
48
  this.onScrollBottom = output();
@@ -51,10 +51,10 @@ class LuScrollDirective {
51
51
  this.#scrollSubject = new Subject();
52
52
  this.#scroll$ = this.#scrollSubject.asObservable().pipe(debounceTime(this.debounceTime()));
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
55
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.0.2", type: LuScrollDirective, isStandalone: true, selector: "[luScroll]", inputs: { debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScroll: "onScroll", onScrollTop: "onScrollTop", onScrollBottom: "onScrollBottom", onScrollLeft: "onScrollLeft", onScrollRight: "onScrollRight" }, host: { listeners: { "scroll": "scroll($event)" } }, exportAs: ["luScroll"], ngImport: i0 }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuScrollDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
55
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", type: LuScrollDirective, isStandalone: true, selector: "[luScroll]", inputs: { debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onScroll: "onScroll", onScrollTop: "onScrollTop", onScrollBottom: "onScrollBottom", onScrollLeft: "onScrollLeft", onScrollRight: "onScrollRight" }, host: { listeners: { "scroll": "scroll($event)" } }, exportAs: ["luScroll"], ngImport: i0 }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuScrollDirective, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuScrollDirective, decorators: [{
58
58
  type: Directive,
59
59
  args: [{
60
60
  selector: '[luScroll]',
@@ -63,17 +63,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
63
63
  '(scroll)': 'scroll($event)',
64
64
  },
65
65
  }]
66
- }], ctorParameters: () => [{ type: i0.ElementRef }] });
66
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { debounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "debounceTime", required: false }] }], onScroll: [{ type: i0.Output, args: ["onScroll"] }], onScrollTop: [{ type: i0.Output, args: ["onScrollTop"] }], onScrollBottom: [{ type: i0.Output, args: ["onScrollBottom"] }], onScrollLeft: [{ type: i0.Output, args: ["onScrollLeft"] }], onScrollRight: [{ type: i0.Output, args: ["onScrollRight"] }] } });
67
67
 
68
68
  /**
69
69
  * @deprecated use `LuScrollDirective` instead
70
70
  */
71
71
  class LuScrollModule {
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
73
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.2", ngImport: i0, type: LuScrollModule, imports: [LuScrollDirective], exports: [LuScrollDirective] }); }
74
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuScrollModule }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuScrollModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
73
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: LuScrollModule, imports: [LuScrollDirective], exports: [LuScrollDirective] }); }
74
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuScrollModule }); }
75
75
  }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: LuScrollModule, decorators: [{
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LuScrollModule, decorators: [{
77
77
  type: NgModule,
78
78
  args: [{
79
79
  imports: [LuScrollDirective],
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-scroll.mjs","sources":["../../../packages/ng/scroll/scroll.directive.ts","../../../packages/ng/scroll/scroll.module.ts","../../../packages/ng/scroll/lucca-front-ng-scroll.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Directive, ElementRef, input, OnInit, output } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ILuScrollable } from './scroll.model';\n\n/**\n * emits on scroll events\n */\n@Directive({\n\tselector: '[luScroll]',\n\texportAs: 'luScroll',\n\thost: {\n\t\t'(scroll)': 'scroll($event)',\n\t},\n})\nexport class LuScrollDirective implements ILuScrollable, OnInit {\n\treadonly debounceTime = input<number>(100);\n\treadonly onScroll = output<Event>();\n\treadonly onScrollTop = output<Event>();\n\treadonly onScrollBottom = output<Event>();\n\treadonly onScrollLeft = output<Event>();\n\treadonly onScrollRight = output<Event>();\n\n\t#scrollSubject = new Subject<Event>();\n\t#scroll$ = this.#scrollSubject.asObservable().pipe(debounceTime(this.debounceTime()));\n\n\tscroll(event: Event) {\n\t\tthis.#scrollSubject.next(event);\n\t}\n\n\tngOnInit(): void {\n\t\tthis.#scroll$.subscribe((scrollEvent) => this.emitScrollEvents(scrollEvent));\n\t}\n\tprivate emitScrollEvents($event: Event) {\n\t\tthis.onScroll.emit($event);\n\n\t\tconst target = $event.target;\n\t\tif (target instanceof Element) {\n\t\t\tconst scrollLeft = target.scrollLeft;\n\t\t\tconst scrollTop = target.scrollTop;\n\t\t\tif (scrollLeft === 0) {\n\t\t\t\tthis.onScrollLeft.emit($event);\n\t\t\t}\n\t\t\tif (scrollTop === 0) {\n\t\t\t\tthis.onScrollTop.emit($event);\n\t\t\t}\n\t\t\tconst scrollWidth = target.scrollWidth;\n\t\t\tconst scrollHeight = target.scrollHeight;\n\t\t\tconst eltHeight = this._elementRef.nativeElement.clientHeight;\n\t\t\tconst eltWidth = this._elementRef.nativeElement.clientWidth;\n\t\t\tif (scrollWidth - scrollLeft - eltWidth < 10) {\n\t\t\t\tthis.onScrollRight.emit($event);\n\t\t\t}\n\t\t\tif (scrollHeight - scrollTop - eltHeight < 10) {\n\t\t\t\tthis.onScrollBottom.emit($event);\n\t\t\t}\n\t\t}\n\t}\n\tconstructor(protected _elementRef: ElementRef<HTMLElement>) {}\n}\n","import { NgModule } from '@angular/core';\nimport { LuScrollDirective } from './scroll.directive';\n\n/**\n * @deprecated use `LuScrollDirective` instead\n */\n@NgModule({\n\timports: [LuScrollDirective],\n\texports: [LuScrollDirective],\n})\nexport class LuScrollModule {}\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-scroll.mjs","sources":["../../../packages/ng/scroll/scroll.directive.ts","../../../packages/ng/scroll/scroll.module.ts","../../../packages/ng/scroll/lucca-front-ng-scroll.ts"],"sourcesContent":["/* eslint-disable @angular-eslint/no-output-on-prefix */\nimport { Directive, ElementRef, input, OnInit, output } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\nimport { ILuScrollable } from './scroll.model';\n\n/**\n * emits on scroll events\n */\n@Directive({\n\tselector: '[luScroll]',\n\texportAs: 'luScroll',\n\thost: {\n\t\t'(scroll)': 'scroll($event)',\n\t},\n})\nexport class LuScrollDirective implements ILuScrollable, OnInit {\n\treadonly debounceTime = input<number>(100);\n\treadonly onScroll = output<Event>();\n\treadonly onScrollTop = output<Event>();\n\treadonly onScrollBottom = output<Event>();\n\treadonly onScrollLeft = output<Event>();\n\treadonly onScrollRight = output<Event>();\n\n\t#scrollSubject = new Subject<Event>();\n\t#scroll$ = this.#scrollSubject.asObservable().pipe(debounceTime(this.debounceTime()));\n\n\tscroll(event: Event) {\n\t\tthis.#scrollSubject.next(event);\n\t}\n\n\tngOnInit(): void {\n\t\tthis.#scroll$.subscribe((scrollEvent) => this.emitScrollEvents(scrollEvent));\n\t}\n\tprivate emitScrollEvents($event: Event) {\n\t\tthis.onScroll.emit($event);\n\n\t\tconst target = $event.target;\n\t\tif (target instanceof Element) {\n\t\t\tconst scrollLeft = target.scrollLeft;\n\t\t\tconst scrollTop = target.scrollTop;\n\t\t\tif (scrollLeft === 0) {\n\t\t\t\tthis.onScrollLeft.emit($event);\n\t\t\t}\n\t\t\tif (scrollTop === 0) {\n\t\t\t\tthis.onScrollTop.emit($event);\n\t\t\t}\n\t\t\tconst scrollWidth = target.scrollWidth;\n\t\t\tconst scrollHeight = target.scrollHeight;\n\t\t\tconst eltHeight = this._elementRef.nativeElement.clientHeight;\n\t\t\tconst eltWidth = this._elementRef.nativeElement.clientWidth;\n\t\t\tif (scrollWidth - scrollLeft - eltWidth < 10) {\n\t\t\t\tthis.onScrollRight.emit($event);\n\t\t\t}\n\t\t\tif (scrollHeight - scrollTop - eltHeight < 10) {\n\t\t\t\tthis.onScrollBottom.emit($event);\n\t\t\t}\n\t\t}\n\t}\n\tconstructor(protected _elementRef: ElementRef<HTMLElement>) {}\n}\n","import { NgModule } from '@angular/core';\nimport { LuScrollDirective } from './scroll.directive';\n\n/**\n * @deprecated use `LuScrollDirective` instead\n */\n@NgModule({\n\timports: [LuScrollDirective],\n\texports: [LuScrollDirective],\n})\nexport class LuScrollModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;AAAA;AAMA;;AAEG;MAQU,iBAAiB,CAAA;AAQ7B,IAAA,cAAc;AACd,IAAA,QAAQ;AAER,IAAA,MAAM,CAAC,KAAY,EAAA;AAClB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;IAChC;IAEA,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC7E;AACQ,IAAA,gBAAgB,CAAC,MAAa,EAAA;AACrC,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;AAE1B,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;AAC5B,QAAA,IAAI,MAAM,YAAY,OAAO,EAAE;AAC9B,YAAA,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;AACpC,YAAA,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS;AAClC,YAAA,IAAI,UAAU,KAAK,CAAC,EAAE;AACrB,gBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/B;AACA,YAAA,IAAI,SAAS,KAAK,CAAC,EAAE;AACpB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B;AACA,YAAA,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW;AACtC,YAAA,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,YAAY;YAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW;YAC3D,IAAI,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,EAAE,EAAE;AAC7C,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YAChC;YACA,IAAI,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,EAAE,EAAE;AAC9C,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;YACjC;QACD;IACD;AACA,IAAA,WAAA,CAAsB,WAAoC,EAAA;QAApC,IAAA,CAAA,WAAW,GAAX,WAAW;AA1CxB,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAS,GAAG,wDAAC;QACjC,IAAA,CAAA,QAAQ,GAAG,MAAM,EAAS;QAC1B,IAAA,CAAA,WAAW,GAAG,MAAM,EAAS;QAC7B,IAAA,CAAA,cAAc,GAAG,MAAM,EAAS;QAChC,IAAA,CAAA,YAAY,GAAG,MAAM,EAAS;QAC9B,IAAA,CAAA,aAAa,GAAG,MAAM,EAAS;AAExC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,OAAO,EAAS;AACrC,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAkCxB;8GA3CjD,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,IAAI,EAAE;AACL,wBAAA,UAAU,EAAE,gBAAgB;AAC5B,qBAAA;AACD,iBAAA;;;ACZD;;AAEG;MAKU,cAAc,CAAA;8GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAd,cAAc,EAAA,OAAA,EAAA,CAHhB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACjB,iBAAiB,CAAA,EAAA,CAAA,CAAA;+GAEf,cAAc,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACT,OAAO,EAAE,CAAC,iBAAiB,CAAC;oBAC5B,OAAO,EAAE,CAAC,iBAAiB,CAAC;AAC5B,iBAAA;;;ACTD;;AAEG;;;;"}
@@ -11,16 +11,16 @@ let nextId$1 = 0;
11
11
  class SegmentedControlTabsPanelComponent {
12
12
  constructor() {
13
13
  this.segmentedControlTabsRef = inject(LU_SEGMENTEDCONTROLTABS_INSTANCE);
14
- this.label = input();
15
- this.value = input.required();
14
+ this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
15
+ this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
16
16
  this.id = nextId$1++;
17
17
  this.panelId = `panel${this.id}`;
18
18
  this.labelId = `tab${this.id}`;
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlTabsPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: SegmentedControlTabsPanelComponent, isStandalone: true, selector: "lu-segmented-control-tabs-panel", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "tabpanel" }, properties: { "tabindex": "0", "class.is-active": "segmentedControlTabsRef.active() === value()", "id": "panelId", "attr.aria-labelledby": "labelId" }, classAttribute: "segmentedControl_panel" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SegmentedControlTabsPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.0.6", type: SegmentedControlTabsPanelComponent, isStandalone: true, selector: "lu-segmented-control-tabs-panel", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "tabpanel" }, properties: { "tabindex": "0", "class.is-active": "segmentedControlTabsRef.active() === value()", "id": "panelId", "attr.aria-labelledby": "labelId" }, classAttribute: "segmentedControl_panel" }, ngImport: i0, template: '<ng-content />', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlTabsPanelComponent, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SegmentedControlTabsPanelComponent, decorators: [{
24
24
  type: Component,
25
25
  args: [{
26
26
  selector: 'lu-segmented-control-tabs-panel',
@@ -36,18 +36,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImpor
36
36
  '[attr.aria-labelledby]': 'labelId',
37
37
  },
38
38
  }]
39
- }] });
39
+ }], propDecorators: { label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }] } });
40
40
 
41
41
  let nextId = 0;
42
42
  class SegmentedControlTabsComponent {
43
43
  constructor() {
44
- this.small = input(false, { transform: booleanAttribute });
45
- this.vertical = input(false, { transform: booleanAttribute });
44
+ this.small = input(false, { ...(ngDevMode ? { debugName: "small" } : {}), transform: booleanAttribute });
45
+ this.vertical = input(false, { ...(ngDevMode ? { debugName: "vertical" } : {}), transform: booleanAttribute });
46
46
  this.id = `segmentedControl${nextId++}`;
47
- this.tabs = contentChildren(SegmentedControlTabsPanelComponent);
48
- this.tabButtons = viewChildren('tabButton');
49
- this.active = model(null);
50
- this.currentIndex = computed(() => this.tabs().findIndex((tab) => tab.value() === this.active()));
47
+ this.tabs = contentChildren(SegmentedControlTabsPanelComponent, ...(ngDevMode ? [{ debugName: "tabs" }] : []));
48
+ this.tabButtons = viewChildren('tabButton', ...(ngDevMode ? [{ debugName: "tabButtons" }] : []));
49
+ this.active = model(null, ...(ngDevMode ? [{ debugName: "active" }] : []));
50
+ this.currentIndex = computed(() => this.tabs().findIndex((tab) => tab.value() === this.active()), ...(ngDevMode ? [{ debugName: "currentIndex" }] : []));
51
51
  }
52
52
  previous() {
53
53
  let newIndex = this.currentIndex() - 1;
@@ -72,23 +72,23 @@ class SegmentedControlTabsComponent {
72
72
  this.active.set(this.tabs()[0].value());
73
73
  }
74
74
  }
75
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.2", type: SegmentedControlTabsComponent, isStandalone: true, selector: "lu-segmented-control-tabs", inputs: { small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, providers: [
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SegmentedControlTabsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
76
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: SegmentedControlTabsComponent, isStandalone: true, selector: "lu-segmented-control-tabs", inputs: { small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange" }, providers: [
77
77
  {
78
78
  provide: LU_SEGMENTEDCONTROLTABS_INSTANCE,
79
79
  useExisting: forwardRef(() => SegmentedControlTabsComponent),
80
80
  },
81
- ], queries: [{ propertyName: "tabs", predicate: SegmentedControlTabsPanelComponent, isSignal: true }], viewQueries: [{ propertyName: "tabButtons", predicate: ["tabButton"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.NoopValueAccessorDirective }], ngImport: i0, template: "<ul class=\"segmentedControl\" role=\"tablist\" [class.mod-S]=\"small()\" [class.mod-vertical]=\"vertical()\">\n\t@for (panel of tabs(); track panel.id) {\n\t\t<li class=\"segmentedControl-item\" role=\"presentation\">\n\t\t\t<button\n\t\t\t\t#tabButton\n\t\t\t\tclass=\"segmentedControl-item-action\"\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.id]=\"panel.labelId\"\n\t\t\t\t[attr.aria-controls]=\"panel.value()\"\n\t\t\t\t[attr.aria-selected]=\"active() === panel.value()\"\n\t\t\t\t[attr.tabindex]=\"active() !== panel.value() ? '-1' : null\"\n\t\t\t\t(click)=\"active.set(panel.value())\"\n\t\t\t\t(keydown.arrowleft)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowup)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowright)=\"$event.preventDefault(); next()\"\n\t\t\t\t(keydown.arrowdown)=\"$event.preventDefault(); next()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"panel.label()\" />\n\t\t\t</button>\n\t\t</li>\n\t}\n</ul>\n<ng-content />\n", styles: ["@layer components{.segmentedControl,.viewTabs{--components-segmentedControl-borderRadius: var(--pr-t-border-radius-default);--components-segmentedControl-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-segmentedControl-font: var(--pr-t-font-body-M);--components-segmentedControl-background: transparent;--components-segmentedControl-shadow: none;--components-segmentedControl-color: var(--pr-t-color-text);--components-segmentedControl-cursor: pointer;--components-segmentedControl-dividerInset: var(--pr-t-spacings-100);--components-segmentedControl-direction: row;--components-segmentedControl-width: fit-content;--components-segmentedControl-zIndex: 0;--components-segmentedControl-wrap: wrap;--components-segmentedControl-whiteSpace: normal;padding:0;margin:0;list-style-type:none;display:flex;flex-wrap:var(--components-segmentedControl-wrap);inline-size:var(--components-segmentedControl-width);flex-direction:var(--components-segmentedControl-direction);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-neutral-100);border-radius:var(--components-segmentedControl-borderRadius);background-color:var(--palettes-neutral-0);font:var(--components-segmentedControl-font);gap:var(--commons-divider-width);white-space:var(--components-segmentedControl-whiteSpace)}.segmentedControl-item-input{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}.segmentedControl-item-input:focus-visible+.segmentedControl-item-action{outline:2px solid var(--palettes-product-700);outline-offset:3px}.segmentedControl-item,.viewTabs-item{flex-grow:1;position:relative;z-index:1}.segmentedControl-item:before,.segmentedControl-item:after,.viewTabs-item:before,.viewTabs-item:after{content:\"\";border-width:0;inset:var(--components-segmentedControl-dividerInset);border-color:var(--palettes-neutral-100);position:absolute;border-style:solid}.segmentedControl-item:before,.viewTabs-item:before{inset-inline-end:calc(var(--commons-divider-width) * -1);border-inline-start-width:var(--commons-divider-width);inset-inline-start:auto}.segmentedControl-item:after,.viewTabs-item:after{inset-block-end:calc(var(--commons-divider-width) * -1);border-block-start-width:var(--commons-divider-width);inset-block-start:auto}.segmentedControl-item-action,.viewTabs-item-tab{inline-size:100%;border:0;margin:0;padding:var(--components-segmentedControl-padding);background-color:var(--components-segmentedControl-background);box-shadow:var(--components-segmentedControl-shadow);border-radius:var(--components-segmentedControl-borderRadius);gap:var(--pr-t-spacings-100);color:var(--components-segmentedControl-color);text-align:center;justify-content:center;display:flex;align-items:center;position:relative;cursor:var(--components-segmentedControl-cursor);z-index:var(--components-segmentedControl-zIndex);font:inherit;transition-property:box-shadow;transition-duration:var(--commons-animations-durations-fast)}.segmentedControl-item-action:focus-visible,.viewTabs-item-tab:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.segmentedControl-item-action:hover,.viewTabs-item-tab:hover{--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-400), var(--pr-t-elevation-shadow-raised);--components-segmentedControl-zIndex: 1}.segmentedControl-item-action:active,.viewTabs-item-tab:active{--components-segmentedControl-background: var(--palettes-neutral-0);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500), var(--pr-t-elevation-shadow-raised)}.segmentedControl_panel,.viewTabs_panel{display:var(--components-segmentedControl-display, block);border-radius:var(--pr-t-border-radius-default)}.segmentedControl_panel:focus-visible,.viewTabs_panel:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}}@layer mods{.segmentedControl.mod-S,.viewTabs.mod-S{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-font: var(--pr-t-font-body-S);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.segmentedControl.mod-S .numericBadge,.viewTabs.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.segmentedControl.mod-vertical,.viewTabs.mod-vertical{--components-segmentedControl-direction: column;--components-segmentedControl-width: auto}@media not all and (min-width: 30em){.segmentedControl,.viewTabs{--components-segmentedControl-direction: column;--components-segmentedControl-width: auto}}}@layer mods{.segmentedControl-item-input:checked+.segmentedControl-item-action,.segmentedControl-item-action[aria-selected=true],.segmentedControl-item-input:checked+.viewTabs-item-tab,.viewTabs-item-tab[aria-selected=true]{--components-segmentedControl-background: var(--palettes-product-50);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500);--components-segmentedControl-color: var(--palettes-product-800);--components-segmentedControl-cursor: default;--components-segmentedControl-backgroundContent: none;--components-segmentedControl-zIndex: 1}.segmentedControl-item-input:checked+.segmentedControl-item-action .numericBadge,.segmentedControl-item-action[aria-selected=true] .numericBadge,.segmentedControl-item-input:checked+.viewTabs-item-tab .numericBadge,.viewTabs-item-tab[aria-selected=true] .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.segmentedControl-item-input:checked+.segmentedControl-item-action .numericBadge.is-loading,.segmentedControl-item-action[aria-selected=true] .numericBadge.is-loading,.segmentedControl-item-input:checked+.viewTabs-item-tab .numericBadge.is-loading,.viewTabs-item-tab[aria-selected=true] .numericBadge.is-loading{--components-numericBadge-loadingColor: var(--palettes-product-500);--components-numericBadge-color: transparent}.segmentedControl-item-action:disabled,.segmentedControl-item-input:disabled~.segmentedControl-item-action{--components-segmentedControl-background: var(--palettes-neutral-100);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200);--components-segmentedControl-color: var(--pr-t-color-text-disabled);--components-segmentedControl-cursor: default}.segmentedControl-item-action:disabled .numericBadge,.segmentedControl-item-input:disabled~.segmentedControl-item-action .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.segmentedControl-item-action:disabled .numericBadge.is-loading,.segmentedControl-item-input:disabled~.segmentedControl-item-action .numericBadge.is-loading{--components-numericBadge-color: transparent}.segmentedControl_panel:not(.is-active,.active),.viewTabs_panel:not(.is-active,.active){--components-segmentedControl-display: none}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
81
+ ], queries: [{ propertyName: "tabs", predicate: SegmentedControlTabsPanelComponent, isSignal: true }], viewQueries: [{ propertyName: "tabButtons", predicate: ["tabButton"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.NoopValueAccessorDirective }], ngImport: i0, template: "<ul class=\"segmentedControl\" role=\"tablist\" [class.mod-S]=\"small()\" [class.mod-vertical]=\"vertical()\">\n\t@for (panel of tabs(); track panel.id) {\n\t\t<li class=\"segmentedControl-item\" role=\"presentation\">\n\t\t\t<button\n\t\t\t\t#tabButton\n\t\t\t\tclass=\"segmentedControl-item-action\"\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.id]=\"panel.labelId\"\n\t\t\t\t[attr.aria-controls]=\"panel.value()\"\n\t\t\t\t[attr.aria-selected]=\"active() === panel.value()\"\n\t\t\t\t[attr.tabindex]=\"active() !== panel.value() ? '-1' : null\"\n\t\t\t\t(click)=\"active.set(panel.value())\"\n\t\t\t\t(keydown.arrowleft)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowup)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowright)=\"$event.preventDefault(); next()\"\n\t\t\t\t(keydown.arrowdown)=\"$event.preventDefault(); next()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"panel.label()\" />\n\t\t\t</button>\n\t\t</li>\n\t}\n</ul>\n<ng-content />\n", styles: ["@layer components{.segmentedControl,.viewTabs{--components-segmentedControl-borderRadius: var(--pr-t-border-radius-default);--components-segmentedControl-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-segmentedControl-font: var(--pr-t-font-body-M);--components-segmentedControl-background: transparent;--components-segmentedControl-shadow: none;--components-segmentedControl-color: var(--pr-t-color-text);--components-segmentedControl-cursor: pointer;--components-segmentedControl-dividerInset: var(--pr-t-spacings-100);--components-segmentedControl-direction: row;--components-segmentedControl-width: fit-content;--components-segmentedControl-zIndex: 0;--components-segmentedControl-wrap: wrap;--components-segmentedControl-whiteSpace: normal;padding:0;margin:0;list-style-type:none;display:flex;flex-wrap:var(--components-segmentedControl-wrap);inline-size:var(--components-segmentedControl-width);flex-direction:var(--components-segmentedControl-direction);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-neutral-100);border-radius:var(--components-segmentedControl-borderRadius);background-color:var(--palettes-neutral-0);font:var(--components-segmentedControl-font);gap:var(--commons-divider-width);white-space:var(--components-segmentedControl-whiteSpace)}.segmentedControl-item-input{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}.segmentedControl-item-input:focus-visible+.segmentedControl-item-action{outline:2px solid var(--palettes-product-700);outline-offset:3px}.segmentedControl-item,.viewTabs-item{flex-grow:1;position:relative;z-index:1}.segmentedControl-item:before,.segmentedControl-item:after,.viewTabs-item:before,.viewTabs-item:after{content:\"\";border-width:0;inset:var(--components-segmentedControl-dividerInset);border-color:var(--palettes-neutral-100);position:absolute;border-style:solid}.segmentedControl-item:before,.viewTabs-item:before{inset-inline-end:calc(var(--commons-divider-width) * -1);border-inline-start-width:var(--commons-divider-width);inset-inline-start:auto}.segmentedControl-item:after,.viewTabs-item:after{inset-block-end:calc(var(--commons-divider-width) * -1);border-block-start-width:var(--commons-divider-width);inset-block-start:auto}.segmentedControl-item-action,.viewTabs-item-tab{inline-size:100%;border:0;margin:0;padding:var(--components-segmentedControl-padding);background-color:var(--components-segmentedControl-background);box-shadow:var(--components-segmentedControl-shadow);border-radius:var(--components-segmentedControl-borderRadius);gap:var(--pr-t-spacings-100);color:var(--components-segmentedControl-color);text-align:center;justify-content:center;display:flex;align-items:center;position:relative;cursor:var(--components-segmentedControl-cursor);z-index:var(--components-segmentedControl-zIndex);font:inherit;transition-property:box-shadow;transition-duration:var(--commons-animations-durations-fast)}.segmentedControl-item-action:focus-visible,.viewTabs-item-tab:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.segmentedControl-item-action:hover,.viewTabs-item-tab:hover{--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-400), var(--pr-t-elevation-shadow-raised);--components-segmentedControl-zIndex: 1}.segmentedControl-item-action:active,.viewTabs-item-tab:active{--components-segmentedControl-background: var(--palettes-neutral-0);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500), var(--pr-t-elevation-shadow-raised)}.segmentedControl_panel,.viewTabs_panel{display:var(--components-segmentedControl-display, block);border-radius:var(--pr-t-border-radius-default)}.segmentedControl_panel:focus-visible,.viewTabs_panel:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}}@layer mods{.segmentedControl.mod-S,.viewTabs.mod-S{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-font: var(--pr-t-font-body-S);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.segmentedControl.mod-S .numericBadge,.viewTabs.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.segmentedControl.mod-vertical,.viewTabs.mod-vertical{--components-segmentedControl-direction: column;--components-segmentedControl-width: auto}@media not all and (min-width:30em){.segmentedControl,.viewTabs{--components-segmentedControl-direction: column;--components-segmentedControl-width: auto}}}@layer mods{.segmentedControl-item-input:checked+.segmentedControl-item-action,.segmentedControl-item-action[aria-selected=true],.segmentedControl-item-input:checked+.viewTabs-item-tab,.viewTabs-item-tab[aria-selected=true]{--components-segmentedControl-background: var(--palettes-product-50);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500);--components-segmentedControl-color: var(--palettes-product-800);--components-segmentedControl-cursor: default;--components-segmentedControl-backgroundContent: none;--components-segmentedControl-zIndex: 1}.segmentedControl-item-input:checked+.segmentedControl-item-action .numericBadge,.segmentedControl-item-action[aria-selected=true] .numericBadge,.segmentedControl-item-input:checked+.viewTabs-item-tab .numericBadge,.viewTabs-item-tab[aria-selected=true] .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.segmentedControl-item-input:checked+.segmentedControl-item-action .numericBadge.is-loading,.segmentedControl-item-action[aria-selected=true] .numericBadge.is-loading,.segmentedControl-item-input:checked+.viewTabs-item-tab .numericBadge.is-loading,.viewTabs-item-tab[aria-selected=true] .numericBadge.is-loading{--components-numericBadge-loadingColor: var(--palettes-product-500);--components-numericBadge-color: transparent}.segmentedControl-item-action:disabled,.segmentedControl-item-input:disabled~.segmentedControl-item-action{--components-segmentedControl-background: var(--palettes-neutral-100);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200);--components-segmentedControl-color: var(--pr-t-color-text-disabled);--components-segmentedControl-cursor: default}.segmentedControl-item-action:disabled .numericBadge,.segmentedControl-item-input:disabled~.segmentedControl-item-action .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.segmentedControl-item-action:disabled .numericBadge.is-loading,.segmentedControl-item-input:disabled~.segmentedControl-item-action .numericBadge.is-loading{--components-numericBadge-color: transparent}.segmentedControl_panel:not(.is-active,.active),.viewTabs_panel:not(.is-active,.active){--components-segmentedControl-display: none}}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlTabsComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SegmentedControlTabsComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'lu-segmented-control-tabs', encapsulation: ViewEncapsulation.None, imports: [ReactiveFormsModule, PortalDirective], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [NoopValueAccessorDirective], providers: [
86
86
  {
87
87
  provide: LU_SEGMENTEDCONTROLTABS_INSTANCE,
88
88
  useExisting: forwardRef(() => SegmentedControlTabsComponent),
89
89
  },
90
- ], template: "<ul class=\"segmentedControl\" role=\"tablist\" [class.mod-S]=\"small()\" [class.mod-vertical]=\"vertical()\">\n\t@for (panel of tabs(); track panel.id) {\n\t\t<li class=\"segmentedControl-item\" role=\"presentation\">\n\t\t\t<button\n\t\t\t\t#tabButton\n\t\t\t\tclass=\"segmentedControl-item-action\"\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.id]=\"panel.labelId\"\n\t\t\t\t[attr.aria-controls]=\"panel.value()\"\n\t\t\t\t[attr.aria-selected]=\"active() === panel.value()\"\n\t\t\t\t[attr.tabindex]=\"active() !== panel.value() ? '-1' : null\"\n\t\t\t\t(click)=\"active.set(panel.value())\"\n\t\t\t\t(keydown.arrowleft)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowup)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowright)=\"$event.preventDefault(); next()\"\n\t\t\t\t(keydown.arrowdown)=\"$event.preventDefault(); next()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"panel.label()\" />\n\t\t\t</button>\n\t\t</li>\n\t}\n</ul>\n<ng-content />\n", styles: ["@layer components{.segmentedControl,.viewTabs{--components-segmentedControl-borderRadius: var(--pr-t-border-radius-default);--components-segmentedControl-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-segmentedControl-font: var(--pr-t-font-body-M);--components-segmentedControl-background: transparent;--components-segmentedControl-shadow: none;--components-segmentedControl-color: var(--pr-t-color-text);--components-segmentedControl-cursor: pointer;--components-segmentedControl-dividerInset: var(--pr-t-spacings-100);--components-segmentedControl-direction: row;--components-segmentedControl-width: fit-content;--components-segmentedControl-zIndex: 0;--components-segmentedControl-wrap: wrap;--components-segmentedControl-whiteSpace: normal;padding:0;margin:0;list-style-type:none;display:flex;flex-wrap:var(--components-segmentedControl-wrap);inline-size:var(--components-segmentedControl-width);flex-direction:var(--components-segmentedControl-direction);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-neutral-100);border-radius:var(--components-segmentedControl-borderRadius);background-color:var(--palettes-neutral-0);font:var(--components-segmentedControl-font);gap:var(--commons-divider-width);white-space:var(--components-segmentedControl-whiteSpace)}.segmentedControl-item-input{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}.segmentedControl-item-input:focus-visible+.segmentedControl-item-action{outline:2px solid var(--palettes-product-700);outline-offset:3px}.segmentedControl-item,.viewTabs-item{flex-grow:1;position:relative;z-index:1}.segmentedControl-item:before,.segmentedControl-item:after,.viewTabs-item:before,.viewTabs-item:after{content:\"\";border-width:0;inset:var(--components-segmentedControl-dividerInset);border-color:var(--palettes-neutral-100);position:absolute;border-style:solid}.segmentedControl-item:before,.viewTabs-item:before{inset-inline-end:calc(var(--commons-divider-width) * -1);border-inline-start-width:var(--commons-divider-width);inset-inline-start:auto}.segmentedControl-item:after,.viewTabs-item:after{inset-block-end:calc(var(--commons-divider-width) * -1);border-block-start-width:var(--commons-divider-width);inset-block-start:auto}.segmentedControl-item-action,.viewTabs-item-tab{inline-size:100%;border:0;margin:0;padding:var(--components-segmentedControl-padding);background-color:var(--components-segmentedControl-background);box-shadow:var(--components-segmentedControl-shadow);border-radius:var(--components-segmentedControl-borderRadius);gap:var(--pr-t-spacings-100);color:var(--components-segmentedControl-color);text-align:center;justify-content:center;display:flex;align-items:center;position:relative;cursor:var(--components-segmentedControl-cursor);z-index:var(--components-segmentedControl-zIndex);font:inherit;transition-property:box-shadow;transition-duration:var(--commons-animations-durations-fast)}.segmentedControl-item-action:focus-visible,.viewTabs-item-tab:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.segmentedControl-item-action:hover,.viewTabs-item-tab:hover{--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-400), var(--pr-t-elevation-shadow-raised);--components-segmentedControl-zIndex: 1}.segmentedControl-item-action:active,.viewTabs-item-tab:active{--components-segmentedControl-background: var(--palettes-neutral-0);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500), var(--pr-t-elevation-shadow-raised)}.segmentedControl_panel,.viewTabs_panel{display:var(--components-segmentedControl-display, block);border-radius:var(--pr-t-border-radius-default)}.segmentedControl_panel:focus-visible,.viewTabs_panel:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}}@layer mods{.segmentedControl.mod-S,.viewTabs.mod-S{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-font: var(--pr-t-font-body-S);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.segmentedControl.mod-S .numericBadge,.viewTabs.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.segmentedControl.mod-vertical,.viewTabs.mod-vertical{--components-segmentedControl-direction: column;--components-segmentedControl-width: auto}@media not all and (min-width: 30em){.segmentedControl,.viewTabs{--components-segmentedControl-direction: column;--components-segmentedControl-width: auto}}}@layer mods{.segmentedControl-item-input:checked+.segmentedControl-item-action,.segmentedControl-item-action[aria-selected=true],.segmentedControl-item-input:checked+.viewTabs-item-tab,.viewTabs-item-tab[aria-selected=true]{--components-segmentedControl-background: var(--palettes-product-50);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500);--components-segmentedControl-color: var(--palettes-product-800);--components-segmentedControl-cursor: default;--components-segmentedControl-backgroundContent: none;--components-segmentedControl-zIndex: 1}.segmentedControl-item-input:checked+.segmentedControl-item-action .numericBadge,.segmentedControl-item-action[aria-selected=true] .numericBadge,.segmentedControl-item-input:checked+.viewTabs-item-tab .numericBadge,.viewTabs-item-tab[aria-selected=true] .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.segmentedControl-item-input:checked+.segmentedControl-item-action .numericBadge.is-loading,.segmentedControl-item-action[aria-selected=true] .numericBadge.is-loading,.segmentedControl-item-input:checked+.viewTabs-item-tab .numericBadge.is-loading,.viewTabs-item-tab[aria-selected=true] .numericBadge.is-loading{--components-numericBadge-loadingColor: var(--palettes-product-500);--components-numericBadge-color: transparent}.segmentedControl-item-action:disabled,.segmentedControl-item-input:disabled~.segmentedControl-item-action{--components-segmentedControl-background: var(--palettes-neutral-100);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200);--components-segmentedControl-color: var(--pr-t-color-text-disabled);--components-segmentedControl-cursor: default}.segmentedControl-item-action:disabled .numericBadge,.segmentedControl-item-input:disabled~.segmentedControl-item-action .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.segmentedControl-item-action:disabled .numericBadge.is-loading,.segmentedControl-item-input:disabled~.segmentedControl-item-action .numericBadge.is-loading{--components-numericBadge-color: transparent}.segmentedControl_panel:not(.is-active,.active),.viewTabs_panel:not(.is-active,.active){--components-segmentedControl-display: none}}\n"] }]
91
- }] });
90
+ ], template: "<ul class=\"segmentedControl\" role=\"tablist\" [class.mod-S]=\"small()\" [class.mod-vertical]=\"vertical()\">\n\t@for (panel of tabs(); track panel.id) {\n\t\t<li class=\"segmentedControl-item\" role=\"presentation\">\n\t\t\t<button\n\t\t\t\t#tabButton\n\t\t\t\tclass=\"segmentedControl-item-action\"\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.id]=\"panel.labelId\"\n\t\t\t\t[attr.aria-controls]=\"panel.value()\"\n\t\t\t\t[attr.aria-selected]=\"active() === panel.value()\"\n\t\t\t\t[attr.tabindex]=\"active() !== panel.value() ? '-1' : null\"\n\t\t\t\t(click)=\"active.set(panel.value())\"\n\t\t\t\t(keydown.arrowleft)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowup)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowright)=\"$event.preventDefault(); next()\"\n\t\t\t\t(keydown.arrowdown)=\"$event.preventDefault(); next()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"panel.label()\" />\n\t\t\t</button>\n\t\t</li>\n\t}\n</ul>\n<ng-content />\n", styles: ["@layer components{.segmentedControl,.viewTabs{--components-segmentedControl-borderRadius: var(--pr-t-border-radius-default);--components-segmentedControl-padding: var(--pr-t-spacings-100) var(--pr-t-spacings-200);--components-segmentedControl-font: var(--pr-t-font-body-M);--components-segmentedControl-background: transparent;--components-segmentedControl-shadow: none;--components-segmentedControl-color: var(--pr-t-color-text);--components-segmentedControl-cursor: pointer;--components-segmentedControl-dividerInset: var(--pr-t-spacings-100);--components-segmentedControl-direction: row;--components-segmentedControl-width: fit-content;--components-segmentedControl-zIndex: 0;--components-segmentedControl-wrap: wrap;--components-segmentedControl-whiteSpace: normal;padding:0;margin:0;list-style-type:none;display:flex;flex-wrap:var(--components-segmentedControl-wrap);inline-size:var(--components-segmentedControl-width);flex-direction:var(--components-segmentedControl-direction);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-neutral-100);border-radius:var(--components-segmentedControl-borderRadius);background-color:var(--palettes-neutral-0);font:var(--components-segmentedControl-font);gap:var(--commons-divider-width);white-space:var(--components-segmentedControl-whiteSpace)}.segmentedControl-item-input{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}.segmentedControl-item-input:focus-visible+.segmentedControl-item-action{outline:2px solid var(--palettes-product-700);outline-offset:3px}.segmentedControl-item,.viewTabs-item{flex-grow:1;position:relative;z-index:1}.segmentedControl-item:before,.segmentedControl-item:after,.viewTabs-item:before,.viewTabs-item:after{content:\"\";border-width:0;inset:var(--components-segmentedControl-dividerInset);border-color:var(--palettes-neutral-100);position:absolute;border-style:solid}.segmentedControl-item:before,.viewTabs-item:before{inset-inline-end:calc(var(--commons-divider-width) * -1);border-inline-start-width:var(--commons-divider-width);inset-inline-start:auto}.segmentedControl-item:after,.viewTabs-item:after{inset-block-end:calc(var(--commons-divider-width) * -1);border-block-start-width:var(--commons-divider-width);inset-block-start:auto}.segmentedControl-item-action,.viewTabs-item-tab{inline-size:100%;border:0;margin:0;padding:var(--components-segmentedControl-padding);background-color:var(--components-segmentedControl-background);box-shadow:var(--components-segmentedControl-shadow);border-radius:var(--components-segmentedControl-borderRadius);gap:var(--pr-t-spacings-100);color:var(--components-segmentedControl-color);text-align:center;justify-content:center;display:flex;align-items:center;position:relative;cursor:var(--components-segmentedControl-cursor);z-index:var(--components-segmentedControl-zIndex);font:inherit;transition-property:box-shadow;transition-duration:var(--commons-animations-durations-fast)}.segmentedControl-item-action:focus-visible,.viewTabs-item-tab:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:3px}.segmentedControl-item-action:hover,.viewTabs-item-tab:hover{--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-400), var(--pr-t-elevation-shadow-raised);--components-segmentedControl-zIndex: 1}.segmentedControl-item-action:active,.viewTabs-item-tab:active{--components-segmentedControl-background: var(--palettes-neutral-0);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500), var(--pr-t-elevation-shadow-raised)}.segmentedControl_panel,.viewTabs_panel{display:var(--components-segmentedControl-display, block);border-radius:var(--pr-t-border-radius-default)}.segmentedControl_panel:focus-visible,.viewTabs_panel:focus-visible{outline:2px solid var(--palettes-product-700);outline-offset:2px}}@layer mods{.segmentedControl.mod-S,.viewTabs.mod-S{--components-segmentedControl-padding: var(--pr-t-spacings-75) var(--pr-t-spacings-150);--components-segmentedControl-font: var(--pr-t-font-body-S);--components-segmentedControl-dividerInset: var(--pr-t-spacings-75)}.segmentedControl.mod-S .numericBadge,.viewTabs.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: var(--pr-t-border-radius-small);--components-numericBadge-font: var(--pr-t-font-body-XS);--components-numericBadge-fontSize: var(--pr-t-font-body-XS-fontSize);--components-numericBadge-lineHeight: var(--pr-t-font-body-XS-lineHeight)}.segmentedControl.mod-vertical,.viewTabs.mod-vertical{--components-segmentedControl-direction: column;--components-segmentedControl-width: auto}@media not all and (min-width:30em){.segmentedControl,.viewTabs{--components-segmentedControl-direction: column;--components-segmentedControl-width: auto}}}@layer mods{.segmentedControl-item-input:checked+.segmentedControl-item-action,.segmentedControl-item-action[aria-selected=true],.segmentedControl-item-input:checked+.viewTabs-item-tab,.viewTabs-item-tab[aria-selected=true]{--components-segmentedControl-background: var(--palettes-product-50);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-product-500);--components-segmentedControl-color: var(--palettes-product-800);--components-segmentedControl-cursor: default;--components-segmentedControl-backgroundContent: none;--components-segmentedControl-zIndex: 1}.segmentedControl-item-input:checked+.segmentedControl-item-action .numericBadge,.segmentedControl-item-action[aria-selected=true] .numericBadge,.segmentedControl-item-input:checked+.viewTabs-item-tab .numericBadge,.viewTabs-item-tab[aria-selected=true] .numericBadge{--components-numericBadge-background: var(--palettes-200, var(--palettes-product-200));--components-numericBadge-color: var(--palettes-800, var(--palettes-product-800))}.segmentedControl-item-input:checked+.segmentedControl-item-action .numericBadge.is-loading,.segmentedControl-item-action[aria-selected=true] .numericBadge.is-loading,.segmentedControl-item-input:checked+.viewTabs-item-tab .numericBadge.is-loading,.viewTabs-item-tab[aria-selected=true] .numericBadge.is-loading{--components-numericBadge-loadingColor: var(--palettes-product-500);--components-numericBadge-color: transparent}.segmentedControl-item-action:disabled,.segmentedControl-item-input:disabled~.segmentedControl-item-action{--components-segmentedControl-background: var(--palettes-neutral-100);--components-segmentedControl-shadow: 0 0 0 var(--commons-divider-width) var(--palettes-neutral-200);--components-segmentedControl-color: var(--pr-t-color-text-disabled);--components-segmentedControl-cursor: default}.segmentedControl-item-action:disabled .numericBadge,.segmentedControl-item-input:disabled~.segmentedControl-item-action .numericBadge{--components-numericBadge-background: var(--palettes-neutral-200);--components-numericBadge-color: var(--palettes-neutral-500)}.segmentedControl-item-action:disabled .numericBadge.is-loading,.segmentedControl-item-input:disabled~.segmentedControl-item-action .numericBadge.is-loading{--components-numericBadge-color: transparent}.segmentedControl_panel:not(.is-active,.active),.viewTabs_panel:not(.is-active,.active){--components-segmentedControl-display: none}}\n"] }]
91
+ }], propDecorators: { small: [{ type: i0.Input, args: [{ isSignal: true, alias: "small", required: false }] }], vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }], tabs: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SegmentedControlTabsPanelComponent), { isSignal: true }] }], tabButtons: [{ type: i0.ViewChildren, args: ['tabButton', { isSignal: true }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }] } });
92
92
 
93
93
  /**
94
94
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-segmented-control-tabs.mjs","sources":["../../../packages/ng/segmented-control-tabs/segmented-control-tabs.token.ts","../../../packages/ng/segmented-control-tabs/panel/panel.component.ts","../../../packages/ng/segmented-control-tabs/segmented-control-tabs.component.ts","../../../packages/ng/segmented-control-tabs/segmented-control-tabs.component.html","../../../packages/ng/segmented-control-tabs/lucca-front-ng-segmented-control-tabs.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SegmentedControlTabsComponent } from './segmented-control-tabs.component';\n\nexport const LU_SEGMENTEDCONTROLTABS_INSTANCE = new InjectionToken<SegmentedControlTabsComponent>('LU_SEGMENTEDCONTROLTABS_INSTANCE');\n","import { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport { LU_SEGMENTEDCONTROLTABS_INSTANCE } from '../segmented-control-tabs.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-tabs-panel',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'segmentedControl_panel',\n\t\trole: 'tabpanel',\n\t\t'[tabindex]': '0',\n\t\t'[class.is-active]': 'segmentedControlTabsRef.active() === value()',\n\t\t'[id]': 'panelId',\n\t\t'[attr.aria-labelledby]': 'labelId',\n\t},\n})\nexport class SegmentedControlTabsPanelComponent<T = unknown> {\n\tprotected segmentedControlTabsRef = inject(LU_SEGMENTEDCONTROLTABS_INSTANCE);\n\treadonly label = input<PortalContent>();\n\treadonly value = input.required<T>();\n\n\treadonly id = nextId++;\n\n\treadonly panelId = `panel${this.id}`;\n\treadonly labelId = `tab${this.id}`;\n}\n","import {\n\tAfterContentInit,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChildren,\n\tElementRef,\n\tforwardRef,\n\tinput,\n\tmodel,\n\tviewChildren,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { NoopValueAccessorDirective } from '@lucca-front/ng/forms';\nimport { SegmentedControlTabsPanelComponent } from './public-api';\nimport { LU_SEGMENTEDCONTROLTABS_INSTANCE } from './segmented-control-tabs.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-tabs',\n\ttemplateUrl: './segmented-control-tabs.component.html',\n\tstyleUrl: './segmented-control-tabs.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [ReactiveFormsModule, PortalDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thostDirectives: [NoopValueAccessorDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_SEGMENTEDCONTROLTABS_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => SegmentedControlTabsComponent),\n\t\t},\n\t],\n})\nexport class SegmentedControlTabsComponent<T = unknown> implements AfterContentInit {\n\treadonly small = input(false, { transform: booleanAttribute });\n\treadonly vertical = input(false, { transform: booleanAttribute });\n\n\treadonly id = `segmentedControl${nextId++}`;\n\n\treadonly tabs = contentChildren<SegmentedControlTabsPanelComponent<T>>(SegmentedControlTabsPanelComponent);\n\treadonly tabButtons = viewChildren<ElementRef<HTMLButtonElement>>('tabButton');\n\n\tactive = model<T>(null);\n\n\treadonly currentIndex = computed(() => this.tabs().findIndex((tab) => tab.value() === this.active()));\n\n\tprevious() {\n\t\tlet newIndex = this.currentIndex() - 1;\n\t\tif (newIndex < 0) {\n\t\t\tnewIndex = this.tabs().length - 1;\n\t\t}\n\t\tthis.setActiveTab(newIndex);\n\t}\n\n\tnext() {\n\t\tlet newIndex = this.currentIndex() + 1;\n\t\tif (newIndex >= this.tabs().length) {\n\t\t\tnewIndex = 0;\n\t\t}\n\t\tthis.setActiveTab(newIndex);\n\t}\n\n\tsetActiveTab(index: number) {\n\t\tthis.active.set(this.tabs()[index].value());\n\t\tthis.tabButtons()[index].nativeElement.focus();\n\t}\n\n\tngAfterContentInit(): void {\n\t\tif (this.active() === null) {\n\t\t\tthis.active.set(this.tabs()[0].value());\n\t\t}\n\t}\n}\n","<ul class=\"segmentedControl\" role=\"tablist\" [class.mod-S]=\"small()\" [class.mod-vertical]=\"vertical()\">\n\t@for (panel of tabs(); track panel.id) {\n\t\t<li class=\"segmentedControl-item\" role=\"presentation\">\n\t\t\t<button\n\t\t\t\t#tabButton\n\t\t\t\tclass=\"segmentedControl-item-action\"\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.id]=\"panel.labelId\"\n\t\t\t\t[attr.aria-controls]=\"panel.value()\"\n\t\t\t\t[attr.aria-selected]=\"active() === panel.value()\"\n\t\t\t\t[attr.tabindex]=\"active() !== panel.value() ? '-1' : null\"\n\t\t\t\t(click)=\"active.set(panel.value())\"\n\t\t\t\t(keydown.arrowleft)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowup)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowright)=\"$event.preventDefault(); next()\"\n\t\t\t\t(keydown.arrowdown)=\"$event.preventDefault(); next()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"panel.label()\" />\n\t\t\t</button>\n\t\t</li>\n\t}\n</ul>\n<ng-content />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-segmented-control-tabs.mjs","sources":["../../../packages/ng/segmented-control-tabs/segmented-control-tabs.token.ts","../../../packages/ng/segmented-control-tabs/panel/panel.component.ts","../../../packages/ng/segmented-control-tabs/segmented-control-tabs.component.ts","../../../packages/ng/segmented-control-tabs/segmented-control-tabs.component.html","../../../packages/ng/segmented-control-tabs/lucca-front-ng-segmented-control-tabs.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SegmentedControlTabsComponent } from './segmented-control-tabs.component';\n\nexport const LU_SEGMENTEDCONTROLTABS_INSTANCE = new InjectionToken<SegmentedControlTabsComponent>('LU_SEGMENTEDCONTROLTABS_INSTANCE');\n","import { ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { PortalContent } from '@lucca-front/ng/core';\nimport { LU_SEGMENTEDCONTROLTABS_INSTANCE } from '../segmented-control-tabs.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-tabs-panel',\n\ttemplate: '<ng-content />',\n\tencapsulation: ViewEncapsulation.None,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'segmentedControl_panel',\n\t\trole: 'tabpanel',\n\t\t'[tabindex]': '0',\n\t\t'[class.is-active]': 'segmentedControlTabsRef.active() === value()',\n\t\t'[id]': 'panelId',\n\t\t'[attr.aria-labelledby]': 'labelId',\n\t},\n})\nexport class SegmentedControlTabsPanelComponent<T = unknown> {\n\tprotected segmentedControlTabsRef = inject(LU_SEGMENTEDCONTROLTABS_INSTANCE);\n\treadonly label = input<PortalContent>();\n\treadonly value = input.required<T>();\n\n\treadonly id = nextId++;\n\n\treadonly panelId = `panel${this.id}`;\n\treadonly labelId = `tab${this.id}`;\n}\n","import {\n\tAfterContentInit,\n\tbooleanAttribute,\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\tcontentChildren,\n\tElementRef,\n\tforwardRef,\n\tinput,\n\tmodel,\n\tviewChildren,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PortalDirective } from '@lucca-front/ng/core';\nimport { NoopValueAccessorDirective } from '@lucca-front/ng/forms';\nimport { SegmentedControlTabsPanelComponent } from './public-api';\nimport { LU_SEGMENTEDCONTROLTABS_INSTANCE } from './segmented-control-tabs.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-tabs',\n\ttemplateUrl: './segmented-control-tabs.component.html',\n\tstyleUrl: './segmented-control-tabs.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [ReactiveFormsModule, PortalDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thostDirectives: [NoopValueAccessorDirective],\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_SEGMENTEDCONTROLTABS_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => SegmentedControlTabsComponent),\n\t\t},\n\t],\n})\nexport class SegmentedControlTabsComponent<T = unknown> implements AfterContentInit {\n\treadonly small = input(false, { transform: booleanAttribute });\n\treadonly vertical = input(false, { transform: booleanAttribute });\n\n\treadonly id = `segmentedControl${nextId++}`;\n\n\treadonly tabs = contentChildren<SegmentedControlTabsPanelComponent<T>>(SegmentedControlTabsPanelComponent);\n\treadonly tabButtons = viewChildren<ElementRef<HTMLButtonElement>>('tabButton');\n\n\tactive = model<T>(null);\n\n\treadonly currentIndex = computed(() => this.tabs().findIndex((tab) => tab.value() === this.active()));\n\n\tprevious() {\n\t\tlet newIndex = this.currentIndex() - 1;\n\t\tif (newIndex < 0) {\n\t\t\tnewIndex = this.tabs().length - 1;\n\t\t}\n\t\tthis.setActiveTab(newIndex);\n\t}\n\n\tnext() {\n\t\tlet newIndex = this.currentIndex() + 1;\n\t\tif (newIndex >= this.tabs().length) {\n\t\t\tnewIndex = 0;\n\t\t}\n\t\tthis.setActiveTab(newIndex);\n\t}\n\n\tsetActiveTab(index: number) {\n\t\tthis.active.set(this.tabs()[index].value());\n\t\tthis.tabButtons()[index].nativeElement.focus();\n\t}\n\n\tngAfterContentInit(): void {\n\t\tif (this.active() === null) {\n\t\t\tthis.active.set(this.tabs()[0].value());\n\t\t}\n\t}\n}\n","<ul class=\"segmentedControl\" role=\"tablist\" [class.mod-S]=\"small()\" [class.mod-vertical]=\"vertical()\">\n\t@for (panel of tabs(); track panel.id) {\n\t\t<li class=\"segmentedControl-item\" role=\"presentation\">\n\t\t\t<button\n\t\t\t\t#tabButton\n\t\t\t\tclass=\"segmentedControl-item-action\"\n\t\t\t\ttype=\"button\"\n\t\t\t\trole=\"tab\"\n\t\t\t\t[attr.id]=\"panel.labelId\"\n\t\t\t\t[attr.aria-controls]=\"panel.value()\"\n\t\t\t\t[attr.aria-selected]=\"active() === panel.value()\"\n\t\t\t\t[attr.tabindex]=\"active() !== panel.value() ? '-1' : null\"\n\t\t\t\t(click)=\"active.set(panel.value())\"\n\t\t\t\t(keydown.arrowleft)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowup)=\"$event.preventDefault(); previous()\"\n\t\t\t\t(keydown.arrowright)=\"$event.preventDefault(); next()\"\n\t\t\t\t(keydown.arrowdown)=\"$event.preventDefault(); next()\"\n\t\t\t>\n\t\t\t\t<ng-container *luPortal=\"panel.label()\" />\n\t\t\t</button>\n\t\t</li>\n\t}\n</ul>\n<ng-content />\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId"],"mappings":"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"}