@lucca-front/ng 20.3.3-rc.6 → 21.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (261) hide show
  1. package/api/index.d.ts +18 -0
  2. package/breadcrumbs/index.d.ts +1 -3
  3. package/callout/index.d.ts +8 -2
  4. package/chip/index.d.ts +3 -2
  5. package/clear/index.d.ts +30 -0
  6. package/code/index.d.ts +9 -0
  7. package/container/index.d.ts +2 -2
  8. package/core/index.d.ts +6 -6
  9. package/core-select/department/index.d.ts +1 -1
  10. package/core-select/index.d.ts +2 -1
  11. package/core-select/occupation-category/index.d.ts +26 -0
  12. package/data-table/index.d.ts +68 -30
  13. package/date/index.d.ts +18 -0
  14. package/date2/index.d.ts +15 -15
  15. package/department/index.d.ts +10 -1
  16. package/divider/index.d.ts +7 -4
  17. package/dropdown/index.d.ts +6 -3
  18. package/establishment/index.d.ts +15 -0
  19. package/fancy-box/index.d.ts +2 -1
  20. package/fesm2022/lucca-front-ng-a11y.mjs +32 -32
  21. package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
  22. package/fesm2022/lucca-front-ng-animations.mjs.map +1 -1
  23. package/fesm2022/lucca-front-ng-api.mjs +76 -59
  24. package/fesm2022/lucca-front-ng-api.mjs.map +1 -1
  25. package/fesm2022/lucca-front-ng-app-layout.mjs +8 -8
  26. package/fesm2022/lucca-front-ng-app-layout.mjs.map +1 -1
  27. package/fesm2022/lucca-front-ng-box.mjs +8 -8
  28. package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
  29. package/fesm2022/lucca-front-ng-breadcrumbs.mjs +18 -30
  30. package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
  31. package/fesm2022/lucca-front-ng-button.mjs +12 -7
  32. package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
  33. package/fesm2022/lucca-front-ng-callout.mjs +117 -64
  34. package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
  35. package/fesm2022/lucca-front-ng-chip.mjs +29 -25
  36. package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
  37. package/fesm2022/lucca-front-ng-clear.mjs +94 -0
  38. package/fesm2022/lucca-front-ng-clear.mjs.map +1 -0
  39. package/fesm2022/lucca-front-ng-code.mjs +21 -0
  40. package/fesm2022/lucca-front-ng-code.mjs.map +1 -0
  41. package/fesm2022/lucca-front-ng-comment.mjs +31 -31
  42. package/fesm2022/lucca-front-ng-comment.mjs.map +1 -1
  43. package/fesm2022/lucca-front-ng-container.mjs +18 -18
  44. package/fesm2022/lucca-front-ng-container.mjs.map +1 -1
  45. package/fesm2022/lucca-front-ng-core-select-api.mjs +14 -16
  46. package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
  47. package/fesm2022/lucca-front-ng-core-select-department.mjs +16 -18
  48. package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
  49. package/fesm2022/lucca-front-ng-core-select-establishment.mjs +18 -19
  50. package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
  51. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +12 -13
  52. package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
  53. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs +79 -0
  54. package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -0
  55. package/fesm2022/lucca-front-ng-core-select-user.mjs +60 -62
  56. package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
  57. package/fesm2022/lucca-front-ng-core-select.mjs +103 -113
  58. package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
  59. package/fesm2022/lucca-front-ng-core.mjs +48 -49
  60. package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
  61. package/fesm2022/lucca-front-ng-data-table.mjs +266 -87
  62. package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
  63. package/fesm2022/lucca-front-ng-date.mjs +113 -97
  64. package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
  65. package/fesm2022/lucca-front-ng-date2.mjs +134 -136
  66. package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
  67. package/fesm2022/lucca-front-ng-department.mjs +56 -47
  68. package/fesm2022/lucca-front-ng-department.mjs.map +1 -1
  69. package/fesm2022/lucca-front-ng-dialog.mjs +53 -56
  70. package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
  71. package/fesm2022/lucca-front-ng-divider.mjs +13 -15
  72. package/fesm2022/lucca-front-ng-divider.mjs.map +1 -1
  73. package/fesm2022/lucca-front-ng-dropdown.mjs +225 -224
  74. package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
  75. package/fesm2022/lucca-front-ng-empty-state.mjs +13 -9
  76. package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
  77. package/fesm2022/lucca-front-ng-establishment.mjs +85 -71
  78. package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
  79. package/fesm2022/lucca-front-ng-fancy-box.mjs +10 -6
  80. package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
  81. package/fesm2022/lucca-front-ng-file-upload.mjs +112 -112
  82. package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
  83. package/fesm2022/lucca-front-ng-filter-pills.mjs +78 -81
  84. package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
  85. package/fesm2022/lucca-front-ng-footer.mjs +12 -19
  86. package/fesm2022/lucca-front-ng-footer.mjs.map +1 -1
  87. package/fesm2022/lucca-front-ng-form-field.mjs +88 -88
  88. package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
  89. package/fesm2022/lucca-front-ng-form-header.mjs +23 -0
  90. package/fesm2022/lucca-front-ng-form-header.mjs.map +1 -0
  91. package/fesm2022/lucca-front-ng-form.mjs +24 -0
  92. package/fesm2022/lucca-front-ng-form.mjs.map +1 -0
  93. package/fesm2022/lucca-front-ng-formly.mjs +77 -77
  94. package/fesm2022/lucca-front-ng-formly.mjs.map +1 -1
  95. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +19 -20
  96. package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
  97. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-html.mjs.map +1 -1
  98. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs +3 -2
  99. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-markdown.mjs.map +1 -1
  100. package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
  101. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +206 -150
  102. package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
  103. package/fesm2022/lucca-front-ng-forms.mjs +185 -171
  104. package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
  105. package/fesm2022/lucca-front-ng-gauge.mjs +26 -26
  106. package/fesm2022/lucca-front-ng-gauge.mjs.map +1 -1
  107. package/fesm2022/lucca-front-ng-grid.mjs +26 -26
  108. package/fesm2022/lucca-front-ng-grid.mjs.map +1 -1
  109. package/fesm2022/lucca-front-ng-highlight-data.mjs +20 -20
  110. package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
  111. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs +17 -32
  112. package/fesm2022/lucca-front-ng-horizontal-navigation.mjs.map +1 -1
  113. package/fesm2022/lucca-front-ng-icon.mjs +6 -6
  114. package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
  115. package/fesm2022/lucca-front-ng-index-table.mjs +355 -0
  116. package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -0
  117. package/fesm2022/lucca-front-ng-inline-message.mjs +4 -4
  118. package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
  119. package/fesm2022/lucca-front-ng-input.mjs +67 -57
  120. package/fesm2022/lucca-front-ng-input.mjs.map +1 -1
  121. package/fesm2022/lucca-front-ng-link.mjs +24 -23
  122. package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
  123. package/fesm2022/lucca-front-ng-listbox.mjs +31 -31
  124. package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
  125. package/fesm2022/lucca-front-ng-listing.mjs +28 -24
  126. package/fesm2022/lucca-front-ng-listing.mjs.map +1 -1
  127. package/fesm2022/lucca-front-ng-loading.mjs +11 -11
  128. package/fesm2022/lucca-front-ng-loading.mjs.map +1 -1
  129. package/fesm2022/lucca-front-ng-main-layout.mjs +14 -14
  130. package/fesm2022/lucca-front-ng-main-layout.mjs.map +1 -1
  131. package/fesm2022/lucca-front-ng-mobile-push.mjs +39 -31
  132. package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
  133. package/fesm2022/lucca-front-ng-modal.mjs +57 -62
  134. package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
  135. package/fesm2022/lucca-front-ng-multi-select.mjs +247 -230
  136. package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
  137. package/fesm2022/lucca-front-ng-new-badge.mjs +4 -4
  138. package/fesm2022/lucca-front-ng-new-badge.mjs.map +1 -1
  139. package/fesm2022/lucca-front-ng-number-format.mjs +11 -13
  140. package/fesm2022/lucca-front-ng-number-format.mjs.map +1 -1
  141. package/fesm2022/lucca-front-ng-number.mjs +11 -10
  142. package/fesm2022/lucca-front-ng-number.mjs.map +1 -1
  143. package/fesm2022/lucca-front-ng-numeric-badge.mjs +22 -10
  144. package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
  145. package/fesm2022/lucca-front-ng-option.mjs +287 -240
  146. package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
  147. package/fesm2022/lucca-front-ng-page-header.mjs +11 -11
  148. package/fesm2022/lucca-front-ng-page-header.mjs.map +1 -1
  149. package/fesm2022/lucca-front-ng-pagination.mjs +38 -38
  150. package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
  151. package/fesm2022/lucca-front-ng-plg-push.mjs +54 -5
  152. package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
  153. package/fesm2022/lucca-front-ng-popover.mjs +38 -28
  154. package/fesm2022/lucca-front-ng-popover.mjs.map +1 -1
  155. package/fesm2022/lucca-front-ng-popover2.mjs +36 -33
  156. package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
  157. package/fesm2022/lucca-front-ng-popup.mjs +13 -10
  158. package/fesm2022/lucca-front-ng-popup.mjs.map +1 -1
  159. package/fesm2022/lucca-front-ng-progress-bar.mjs +28 -0
  160. package/fesm2022/lucca-front-ng-progress-bar.mjs.map +1 -0
  161. package/fesm2022/lucca-front-ng-read-more.mjs +46 -78
  162. package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
  163. package/fesm2022/lucca-front-ng-safe-content.mjs +10 -11
  164. package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
  165. package/fesm2022/lucca-front-ng-scroll-box.mjs +46 -0
  166. package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -0
  167. package/fesm2022/lucca-front-ng-scroll.mjs +10 -8
  168. package/fesm2022/lucca-front-ng-scroll.mjs.map +1 -1
  169. package/fesm2022/lucca-front-ng-scrollBox.mjs +1 -66
  170. package/fesm2022/lucca-front-ng-scrollBox.mjs.map +1 -1
  171. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +98 -0
  172. package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -0
  173. package/fesm2022/lucca-front-ng-segmented-control.mjs +71 -0
  174. package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -0
  175. package/fesm2022/lucca-front-ng-segmentedControl.mjs +1 -66
  176. package/fesm2022/lucca-front-ng-segmentedControl.mjs.map +1 -1
  177. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs +1 -93
  178. package/fesm2022/lucca-front-ng-segmentedControlTabs.mjs.map +1 -1
  179. package/fesm2022/lucca-front-ng-select.mjs +21 -20
  180. package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
  181. package/fesm2022/lucca-front-ng-sidepanel.mjs +7 -7
  182. package/fesm2022/lucca-front-ng-sidepanel.mjs.map +1 -1
  183. package/fesm2022/lucca-front-ng-simple-select.mjs +75 -67
  184. package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
  185. package/fesm2022/lucca-front-ng-skeleton.mjs +46 -44
  186. package/fesm2022/lucca-front-ng-skeleton.mjs.map +1 -1
  187. package/fesm2022/lucca-front-ng-sortable-list.mjs +49 -0
  188. package/fesm2022/lucca-front-ng-sortable-list.mjs.map +1 -0
  189. package/fesm2022/lucca-front-ng-status-badge.mjs +34 -0
  190. package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -0
  191. package/fesm2022/lucca-front-ng-statusBadge.mjs +1 -29
  192. package/fesm2022/lucca-front-ng-statusBadge.mjs.map +1 -1
  193. package/fesm2022/lucca-front-ng-table-of-content.mjs +39 -0
  194. package/fesm2022/lucca-front-ng-table-of-content.mjs.map +1 -0
  195. package/fesm2022/lucca-front-ng-tag.mjs +35 -13
  196. package/fesm2022/lucca-front-ng-tag.mjs.map +1 -1
  197. package/fesm2022/lucca-front-ng-time.mjs +132 -142
  198. package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
  199. package/fesm2022/lucca-front-ng-title.mjs +10 -10
  200. package/fesm2022/lucca-front-ng-title.mjs.map +1 -1
  201. package/fesm2022/lucca-front-ng-toast.mjs +26 -23
  202. package/fesm2022/lucca-front-ng-toast.mjs.map +1 -1
  203. package/fesm2022/lucca-front-ng-tooltip.mjs +40 -32
  204. package/fesm2022/lucca-front-ng-tooltip.mjs.map +1 -1
  205. package/fesm2022/lucca-front-ng-tree-select.mjs +20 -21
  206. package/fesm2022/lucca-front-ng-tree-select.mjs.map +1 -1
  207. package/fesm2022/lucca-front-ng-user-popover.mjs +23 -27
  208. package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
  209. package/fesm2022/lucca-front-ng-user.mjs +134 -111
  210. package/fesm2022/lucca-front-ng-user.mjs.map +1 -1
  211. package/fesm2022/lucca-front-ng-vertical-navigation.mjs +91 -0
  212. package/fesm2022/lucca-front-ng-vertical-navigation.mjs.map +1 -0
  213. package/file-upload/index.d.ts +25 -25
  214. package/footer/index.d.ts +7 -7
  215. package/form/index.d.ts +9 -0
  216. package/form-field/index.d.ts +33 -32
  217. package/form-header/index.d.ts +9 -0
  218. package/forms/index.d.ts +39 -37
  219. package/forms/rich-text-input/index.d.ts +4 -1
  220. package/gauge/index.d.ts +17 -17
  221. package/grid/index.d.ts +14 -14
  222. package/horizontal-navigation/index.d.ts +5 -8
  223. package/index-table/index.d.ts +103 -0
  224. package/input/index.d.ts +27 -15
  225. package/link/index.d.ts +3 -4
  226. package/listbox/index.d.ts +20 -20
  227. package/listing/index.d.ts +13 -9
  228. package/loading/index.d.ts +4 -4
  229. package/main-layout/index.d.ts +3 -3
  230. package/modal/index.d.ts +3 -2
  231. package/multi-select/index.d.ts +13 -3
  232. package/number/index.d.ts +3 -0
  233. package/option/index.d.ts +58 -4
  234. package/package.json +125 -69
  235. package/page-header/index.d.ts +5 -5
  236. package/plg-push/index.d.ts +13 -1
  237. package/popover/index.d.ts +12 -0
  238. package/popup/index.d.ts +3 -0
  239. package/progress-bar/index.d.ts +14 -0
  240. package/read-more/index.d.ts +6 -12
  241. package/scroll/index.d.ts +3 -0
  242. package/scroll-box/index.d.ts +15 -0
  243. package/scrollBox/index.d.ts +1 -19
  244. package/segmented-control/index.d.ts +28 -0
  245. package/segmented-control-tabs/index.d.ts +34 -0
  246. package/segmentedControl/index.d.ts +1 -28
  247. package/segmentedControlTabs/index.d.ts +1 -34
  248. package/select/index.d.ts +5 -4
  249. package/simple-select/index.d.ts +1 -0
  250. package/skeleton/index.d.ts +2 -1
  251. package/sortable-list/index.d.ts +22 -0
  252. package/src/components/cdk/_dragDrop.scss +31 -3
  253. package/src/definitions/option/_option-item.scss +6 -0
  254. package/status-badge/index.d.ts +16 -0
  255. package/statusBadge/index.d.ts +1 -16
  256. package/table-of-content/index.d.ts +16 -0
  257. package/time/index.d.ts +30 -30
  258. package/toast/index.d.ts +3 -0
  259. package/tooltip/index.d.ts +9 -0
  260. package/user/index.d.ts +20 -3
  261. package/vertical-navigation/index.d.ts +42 -0
@@ -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, EventEmitter, HostListener, 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\tstandalone: true,\n})\nexport class LuScrollDirective implements ILuScrollable, OnInit {\n\t@Input() debounceTime = 100;\n\t@Output() onScroll = new EventEmitter<Event>();\n\t@Output() onScrollTop = new EventEmitter<Event>();\n\t@Output() onScrollBottom = new EventEmitter<Event>();\n\t@Output() onScrollLeft = new EventEmitter<Event>();\n\t@Output() onScrollRight = new EventEmitter<Event>();\n\tprivate scrollSubject = new Subject<Event>();\n\tprivate scroll$ = this.scrollSubject.asObservable().pipe(debounceTime(this.debounceTime));\n\t@HostListener('scroll', ['$event'])\n\t_scroll($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@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;MAMU,iBAAiB,CAAA;AAU7B,IAAA,OAAO,CAAC,MAAa,EAAA;AACpB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;IAChC;IAEA,QAAQ,GAAA;AACP,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC5E;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;QAzCxB,IAAA,CAAA,YAAY,GAAG,GAAG;AACjB,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,YAAY,EAAS;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAS;AACvC,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAS;AAC1C,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAS;AACxC,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAS;AAC3C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,OAAO,EAAS;AACpC,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAkC5B;+GA1CjD,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,YAAA,EAAA,cAAA,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,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAjB,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAL7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;sBAEC;;sBACA;;sBACA;;sBACA;;sBACA;;sBACA;;sBAGA,YAAY;uBAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC;;;MChBtB,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAd,cAAc,EAAA,OAAA,EAAA,CAHhB,iBAAiB,CAAA,EAAA,OAAA,EAAA,CACjB,iBAAiB,CAAA,EAAA,CAAA,CAAA;gHAEf,cAAc,EAAA,CAAA,CAAA;;4FAAd,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;;;ACND;;AAEG;;;;"}
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, EventEmitter, HostListener, 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})\nexport class LuScrollDirective implements ILuScrollable, OnInit {\n\t@Input() debounceTime = 100;\n\t@Output() onScroll = new EventEmitter<Event>();\n\t@Output() onScrollTop = new EventEmitter<Event>();\n\t@Output() onScrollBottom = new EventEmitter<Event>();\n\t@Output() onScrollLeft = new EventEmitter<Event>();\n\t@Output() onScrollRight = new EventEmitter<Event>();\n\tprivate scrollSubject = new Subject<Event>();\n\tprivate scroll$ = this.scrollSubject.asObservable().pipe(debounceTime(this.debounceTime));\n\t@HostListener('scroll', ['$event'])\n\t_scroll($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,71 +1,6 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, ElementRef, signal, HostBinding, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
3
-
4
- class ScrollBoxComponent {
5
- constructor() {
6
- this.#elementRef = inject(ElementRef);
7
- this.isFirstVisible = signal(false, ...(ngDevMode ? [{ debugName: "isFirstVisible" }] : []));
8
- this.isLastVisible = signal(false, ...(ngDevMode ? [{ debugName: "isLastVisible" }] : []));
9
- this.observeFirstAndLastElement = () => {
10
- const children = this.#elementRef.nativeElement.children;
11
- [].forEach.call(children, (child, index) => {
12
- if (index === 0) {
13
- this.initObserver(child, true);
14
- }
15
- if (index === children.length - 1) {
16
- this.initObserver(child, false);
17
- }
18
- });
19
- };
20
- this.observer = new MutationObserver(this.observeFirstAndLastElement);
21
- }
22
- #elementRef;
23
- get isFirstVisibleClass() {
24
- return this.isFirstVisible();
25
- }
26
- get isLastVisibleClass() {
27
- return this.isLastVisible();
28
- }
29
- initObserver(element, isFirst) {
30
- new IntersectionObserver((entries) => {
31
- entries.forEach((entry) => {
32
- if (isFirst) {
33
- this.isFirstVisible.set(entry.isIntersecting);
34
- }
35
- else {
36
- this.isLastVisible.set(entry.isIntersecting);
37
- }
38
- });
39
- }, {
40
- threshold: 1.0,
41
- }).observe(element);
42
- }
43
- ngOnInit() {
44
- this.observeFirstAndLastElement();
45
- this.observer.observe(this.#elementRef.nativeElement, { childList: true });
46
- }
47
- ngOnDestroy() {
48
- this.observer.disconnect();
49
- }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ScrollBoxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: ScrollBoxComponent, isStandalone: true, selector: "lu-scroll-box", host: { properties: { "class.is-firstVisible": "this.isFirstVisibleClass", "class.is-lastVisible": "this.isLastVisibleClass" }, 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: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;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);inset-inline-start:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-end:calc(var(--components-scrollBox-shadowSize) * -1 - 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);inset-inline-end:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-start:calc(var(--components-scrollBox-shadowSize) * -1 - var(--components-scrollBox-gap));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"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
52
- }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: ScrollBoxComponent, decorators: [{
54
- type: Component,
55
- args: [{ selector: 'lu-scroll-box', standalone: true, template: '<ng-content />', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [], host: {
56
- class: 'scrollBox',
57
- }, 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: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;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);inset-inline-start:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-end:calc(var(--components-scrollBox-shadowSize) * -1 - 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);inset-inline-end:calc(var(--components-scrollBox-paddingInline) * -1);margin-inline-start:calc(var(--components-scrollBox-shadowSize) * -1 - var(--components-scrollBox-gap));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"] }]
58
- }], propDecorators: { isFirstVisibleClass: [{
59
- type: HostBinding,
60
- args: ['class.is-firstVisible']
61
- }], isLastVisibleClass: [{
62
- type: HostBinding,
63
- args: ['class.is-lastVisible']
64
- }] } });
1
+ export * from '@lucca-front/ng/scroll-box';
65
2
 
66
3
  /**
67
4
  * Generated bundle index. Do not edit.
68
5
  */
69
-
70
- export { ScrollBoxComponent };
71
6
  //# sourceMappingURL=lucca-front-ng-scrollBox.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-scrollBox.mjs","sources":["../../../packages/ng/scrollBox/scroll-box.component.ts","../../../packages/ng/scrollBox/lucca-front-ng-scrollBox.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, ElementRef, HostBinding, inject, OnDestroy, 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\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\timports: [],\n\thost: {\n\t\tclass: 'scrollBox',\n\t},\n})\nexport class ScrollBoxComponent implements OnInit, OnDestroy {\n\t#elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t@HostBinding('class.is-firstVisible')\n\tget isFirstVisibleClass() {\n\t\treturn this.isFirstVisible();\n\t}\n\tisFirstVisible = signal(false);\n\n\t@HostBinding('class.is-lastVisible')\n\tget isLastVisibleClass() {\n\t\treturn this.isLastVisible();\n\t}\n\tisLastVisible = signal(false);\n\n\tinitObserver(element: Element, isFirst: boolean) {\n\t\tnew IntersectionObserver(\n\t\t\t(entries) => {\n\t\t\t\tentries.forEach((entry) => {\n\t\t\t\t\tif (isFirst) {\n\t\t\t\t\t\tthis.isFirstVisible.set(entry.isIntersecting);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.isLastVisible.set(entry.isIntersecting);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\t{\n\t\t\t\tthreshold: 1.0,\n\t\t\t},\n\t\t).observe(element);\n\t}\n\n\tobserveFirstAndLastElement = () => {\n\t\tconst children = this.#elementRef.nativeElement.children;\n\n\t\t[].forEach.call(children, (child, index) => {\n\t\t\tif (index === 0) {\n\t\t\t\tthis.initObserver(child as Element, true);\n\t\t\t}\n\n\t\t\tif (index === children.length - 1) {\n\t\t\t\tthis.initObserver(child as Element, false);\n\t\t\t}\n\t\t});\n\t};\n\n\tobserver = new MutationObserver(this.observeFirstAndLastElement);\n\n\tngOnInit() {\n\t\tthis.observeFirstAndLastElement();\n\t\tthis.observer.observe(this.#elementRef.nativeElement, { childList: true });\n\t}\n\n\tngOnDestroy() {\n\t\tthis.observer.disconnect();\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-scrollBox.mjs","sources":["../../../packages/ng/scrollBox/lucca-front-ng-scrollBox.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;;AAEG"}
@@ -0,0 +1,98 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, input, ChangeDetectionStrategy, ViewEncapsulation, Component, booleanAttribute, contentChildren, viewChildren, model, computed, forwardRef } from '@angular/core';
3
+ import { ReactiveFormsModule } from '@angular/forms';
4
+ import { PortalDirective } from '@lucca-front/ng/core';
5
+ import * as i1 from '@lucca-front/ng/forms';
6
+ import { NoopValueAccessorDirective } from '@lucca-front/ng/forms';
7
+
8
+ const LU_SEGMENTEDCONTROLTABS_INSTANCE = new InjectionToken('LU_SEGMENTEDCONTROLTABS_INSTANCE');
9
+
10
+ let nextId$1 = 0;
11
+ class SegmentedControlTabsPanelComponent {
12
+ constructor() {
13
+ this.segmentedControlTabsRef = inject(LU_SEGMENTEDCONTROLTABS_INSTANCE);
14
+ this.label = input();
15
+ this.value = input.required();
16
+ this.id = nextId$1++;
17
+ this.panelId = `panel${this.id}`;
18
+ this.labelId = `tab${this.id}`;
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 }); }
22
+ }
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlTabsPanelComponent, decorators: [{
24
+ type: Component,
25
+ args: [{
26
+ selector: 'lu-segmented-control-tabs-panel',
27
+ template: '<ng-content />',
28
+ encapsulation: ViewEncapsulation.None,
29
+ changeDetection: ChangeDetectionStrategy.OnPush,
30
+ host: {
31
+ class: 'segmentedControl_panel',
32
+ role: 'tabpanel',
33
+ '[tabindex]': '0',
34
+ '[class.is-active]': 'segmentedControlTabsRef.active() === value()',
35
+ '[id]': 'panelId',
36
+ '[attr.aria-labelledby]': 'labelId',
37
+ },
38
+ }]
39
+ }] });
40
+
41
+ let nextId = 0;
42
+ class SegmentedControlTabsComponent {
43
+ constructor() {
44
+ this.small = input(false, { transform: booleanAttribute });
45
+ this.vertical = input(false, { transform: booleanAttribute });
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()));
51
+ }
52
+ previous() {
53
+ let newIndex = this.currentIndex() - 1;
54
+ if (newIndex < 0) {
55
+ newIndex = this.tabs().length - 1;
56
+ }
57
+ this.setActiveTab(newIndex);
58
+ }
59
+ next() {
60
+ let newIndex = this.currentIndex() + 1;
61
+ if (newIndex >= this.tabs().length) {
62
+ newIndex = 0;
63
+ }
64
+ this.setActiveTab(newIndex);
65
+ }
66
+ setActiveTab(index) {
67
+ this.active.set(this.tabs()[index].value());
68
+ this.tabButtons()[index].nativeElement.focus();
69
+ }
70
+ ngAfterContentInit() {
71
+ if (this.active() === null) {
72
+ this.active.set(this.tabs()[0].value());
73
+ }
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: [
77
+ {
78
+ provide: LU_SEGMENTEDCONTROLTABS_INSTANCE,
79
+ useExisting: forwardRef(() => SegmentedControlTabsComponent),
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 }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlTabsComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'lu-segmented-control-tabs', encapsulation: ViewEncapsulation.None, imports: [ReactiveFormsModule, PortalDirective], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [NoopValueAccessorDirective], providers: [
86
+ {
87
+ provide: LU_SEGMENTEDCONTROLTABS_INSTANCE,
88
+ useExisting: forwardRef(() => SegmentedControlTabsComponent),
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
+ }] });
92
+
93
+ /**
94
+ * Generated bundle index. Do not edit.
95
+ */
96
+
97
+ export { SegmentedControlTabsComponent, SegmentedControlTabsPanelComponent };
98
+ //# sourceMappingURL=lucca-front-ng-segmented-control-tabs.mjs.map
@@ -0,0 +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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"}
@@ -0,0 +1,71 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, input, booleanAttribute, ChangeDetectionStrategy, ViewEncapsulation, Component, forwardRef } from '@angular/core';
3
+ import * as i1 from '@angular/forms';
4
+ import { ReactiveFormsModule } from '@angular/forms';
5
+ import { PortalDirective } from '@lucca-front/ng/core';
6
+ import * as i1$1 from '@lucca-front/ng/forms';
7
+ import { injectNgControl, NoopValueAccessorDirective } from '@lucca-front/ng/forms';
8
+
9
+ const LU_SEGMENTEDCONTROL_INSTANCE = new InjectionToken('LU_SEGMENTEDCONTROL_INSTANCE');
10
+
11
+ let nextId$1 = 0;
12
+ class SegmentedControlFilterComponent {
13
+ constructor() {
14
+ this.segmentedControlRef = inject(LU_SEGMENTEDCONTROL_INSTANCE);
15
+ this.disabled = input(false, { transform: booleanAttribute });
16
+ this.value = input.required();
17
+ this.id = `${this.segmentedControlRef.id}item${nextId$1++}`;
18
+ this.name = this.segmentedControlRef.id;
19
+ this.label = input();
20
+ }
21
+ get formControl() {
22
+ return this.segmentedControlRef.ngControl.control;
23
+ }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: SegmentedControlFilterComponent, isStandalone: true, selector: "lu-segmented-control-filter", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listitem" }, classAttribute: "segmentedControl-item" }, ngImport: i0, template: "<input\n\ttype=\"radio\"\n\tclass=\"segmentedControl-item-input\"\n\t[name]=\"name\"\n\t[attr.name]=\"name\"\n\t[formControl]=\"formControl\"\n\t[value]=\"value()\"\n\t[attr.id]=\"id\"\n\t[attr.disabled]=\"formControl.disabled || disabled() ? 'disabled' : null\"\n/>\n<label [attr.for]=\"id\" class=\"segmentedControl-item-action\">\n\t<ng-container *luPortal=\"label()\" />\n</label>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlFilterComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ selector: 'lu-segmented-control-filter', encapsulation: ViewEncapsulation.None, imports: [ReactiveFormsModule, PortalDirective], changeDetection: ChangeDetectionStrategy.OnPush, host: {
30
+ class: 'segmentedControl-item',
31
+ role: 'listitem',
32
+ }, template: "<input\n\ttype=\"radio\"\n\tclass=\"segmentedControl-item-input\"\n\t[name]=\"name\"\n\t[attr.name]=\"name\"\n\t[formControl]=\"formControl\"\n\t[value]=\"value()\"\n\t[attr.id]=\"id\"\n\t[attr.disabled]=\"formControl.disabled || disabled() ? 'disabled' : null\"\n/>\n<label [attr.for]=\"id\" class=\"segmentedControl-item-action\">\n\t<ng-container *luPortal=\"label()\" />\n</label>\n" }]
33
+ }] });
34
+
35
+ let nextId = 0;
36
+ class SegmentedControlComponent {
37
+ constructor() {
38
+ this.ngControl = injectNgControl();
39
+ this.small = input(false, { transform: booleanAttribute });
40
+ this.vertical = input(false, { transform: booleanAttribute });
41
+ this.id = `segmentedControl${nextId++}`;
42
+ }
43
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.0.2", type: SegmentedControlComponent, isStandalone: true, selector: "lu-segmented-control", inputs: { small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, properties: { "class.mod-S": "small()", "class.mod-vertical": "vertical()" }, classAttribute: "segmentedControl" }, providers: [
45
+ {
46
+ provide: LU_SEGMENTEDCONTROL_INSTANCE,
47
+ useExisting: forwardRef(() => SegmentedControlComponent),
48
+ },
49
+ ], hostDirectives: [{ directive: i1$1.NoopValueAccessorDirective }], ngImport: i0, template: '<ng-content />', isInline: true, 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 }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.2", ngImport: i0, type: SegmentedControlComponent, decorators: [{
52
+ type: Component,
53
+ args: [{ selector: 'lu-segmented-control', template: '<ng-content />', encapsulation: ViewEncapsulation.None, imports: [ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [NoopValueAccessorDirective], host: {
54
+ role: 'presentation',
55
+ class: 'segmentedControl',
56
+ '[class.mod-S]': 'small()',
57
+ '[class.mod-vertical]': 'vertical()',
58
+ }, providers: [
59
+ {
60
+ provide: LU_SEGMENTEDCONTROL_INSTANCE,
61
+ useExisting: forwardRef(() => SegmentedControlComponent),
62
+ },
63
+ ], 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"] }]
64
+ }] });
65
+
66
+ /**
67
+ * Generated bundle index. Do not edit.
68
+ */
69
+
70
+ export { SegmentedControlComponent, SegmentedControlFilterComponent };
71
+ //# sourceMappingURL=lucca-front-ng-segmented-control.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lucca-front-ng-segmented-control.mjs","sources":["../../../packages/ng/segmented-control/segmented-control.token.ts","../../../packages/ng/segmented-control/filter/filter.component.ts","../../../packages/ng/segmented-control/filter/filter.component.html","../../../packages/ng/segmented-control/segmented-control.component.ts","../../../packages/ng/segmented-control/lucca-front-ng-segmented-control.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SegmentedControlComponent } from './segmented-control.component';\n\nexport const LU_SEGMENTEDCONTROL_INSTANCE = new InjectionToken<SegmentedControlComponent>('LU_SEGMENTEDCONTROL_INSTANCE');\n","import { booleanAttribute, ChangeDetectionStrategy, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LU_SEGMENTEDCONTROL_INSTANCE } from '../segmented-control.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-filter',\n\ttemplateUrl: './filter.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [ReactiveFormsModule, PortalDirective],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: {\n\t\tclass: 'segmentedControl-item',\n\t\trole: 'listitem',\n\t},\n})\nexport class SegmentedControlFilterComponent<T = unknown> {\n\tprotected segmentedControlRef = inject(LU_SEGMENTEDCONTROL_INSTANCE);\n\n\treadonly disabled = input(false, { transform: booleanAttribute });\n\n\treadonly value = input.required<T>();\n\n\treadonly id = `${this.segmentedControlRef.id}item${nextId++}`;\n\treadonly name = this.segmentedControlRef.id;\n\n\treadonly label = input<PortalContent>();\n\n\tpublic get formControl() {\n\t\treturn this.segmentedControlRef.ngControl.control;\n\t}\n}\n","<input\n\ttype=\"radio\"\n\tclass=\"segmentedControl-item-input\"\n\t[name]=\"name\"\n\t[attr.name]=\"name\"\n\t[formControl]=\"formControl\"\n\t[value]=\"value()\"\n\t[attr.id]=\"id\"\n\t[attr.disabled]=\"formControl.disabled || disabled() ? 'disabled' : null\"\n/>\n<label [attr.for]=\"id\" class=\"segmentedControl-item-action\">\n\t<ng-container *luPortal=\"label()\" />\n</label>\n","import { booleanAttribute, ChangeDetectionStrategy, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { injectNgControl, NoopValueAccessorDirective } from '@lucca-front/ng/forms';\nimport { LU_SEGMENTEDCONTROL_INSTANCE } from './segmented-control.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control',\n\ttemplate: '<ng-content />',\n\tstyleUrl: './segmented-control.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [ReactiveFormsModule],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thostDirectives: [NoopValueAccessorDirective],\n\thost: {\n\t\trole: 'presentation',\n\t\tclass: 'segmentedControl',\n\t\t'[class.mod-S]': 'small()',\n\t\t'[class.mod-vertical]': 'vertical()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_SEGMENTEDCONTROL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => SegmentedControlComponent),\n\t\t},\n\t],\n})\nexport class SegmentedControlComponent {\n\tngControl = injectNgControl();\n\n\treadonly small = input(false, { transform: booleanAttribute });\n\treadonly vertical = input(false, { transform: booleanAttribute });\n\n\treadonly id = `segmentedControl${nextId++}`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId","i1"],"mappings":"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"}
@@ -1,71 +1,6 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, input, booleanAttribute, ViewEncapsulation, Component, forwardRef } from '@angular/core';
3
- import * as i1 from '@angular/forms';
4
- import { ReactiveFormsModule } from '@angular/forms';
5
- import { PortalDirective } from '@lucca-front/ng/core';
6
- import * as i1$1 from '@lucca-front/ng/forms';
7
- import { injectNgControl, NoopValueAccessorDirective } from '@lucca-front/ng/forms';
8
-
9
- const LU_SEGMENTEDCONTROL_INSTANCE = new InjectionToken('LU_SEGMENTEDCONTROL_INSTANCE');
10
-
11
- let nextId$1 = 0;
12
- class SegmentedControlFilterComponent {
13
- constructor() {
14
- this.segmentedControlRef = inject(LU_SEGMENTEDCONTROL_INSTANCE);
15
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
16
- this.value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
17
- this.id = `${this.segmentedControlRef.id}item${nextId$1++}`;
18
- this.name = this.segmentedControlRef.id;
19
- this.label = input(...(ngDevMode ? [undefined, { debugName: "label" }] : []));
20
- }
21
- get formControl() {
22
- return this.segmentedControlRef.ngControl.control;
23
- }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SegmentedControlFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: SegmentedControlFilterComponent, isStandalone: true, selector: "lu-segmented-control-filter", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "listitem" }, classAttribute: "segmentedControl-item" }, ngImport: i0, template: "<input\n\ttype=\"radio\"\n\tclass=\"segmentedControl-item-input\"\n\t[name]=\"name\"\n\t[attr.name]=\"name\"\n\t[formControl]=\"formControl\"\n\t[value]=\"value()\"\n\t[attr.id]=\"id\"\n\t[attr.disabled]=\"formControl.disabled || disabled() ? 'disabled' : null\"\n/>\n<label [attr.for]=\"id\" class=\"segmentedControl-item-action\">\n\t<ng-container *luPortal=\"label()\" />\n</label>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: PortalDirective, selector: "[luPortal]", inputs: ["luPortal", "luPortalContext"] }], encapsulation: i0.ViewEncapsulation.None }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SegmentedControlFilterComponent, decorators: [{
28
- type: Component,
29
- args: [{ selector: 'lu-segmented-control-filter', standalone: true, encapsulation: ViewEncapsulation.None, imports: [ReactiveFormsModule, PortalDirective], host: {
30
- class: 'segmentedControl-item',
31
- role: 'listitem',
32
- }, template: "<input\n\ttype=\"radio\"\n\tclass=\"segmentedControl-item-input\"\n\t[name]=\"name\"\n\t[attr.name]=\"name\"\n\t[formControl]=\"formControl\"\n\t[value]=\"value()\"\n\t[attr.id]=\"id\"\n\t[attr.disabled]=\"formControl.disabled || disabled() ? 'disabled' : null\"\n/>\n<label [attr.for]=\"id\" class=\"segmentedControl-item-action\">\n\t<ng-container *luPortal=\"label()\" />\n</label>\n" }]
33
- }], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }] } });
34
-
35
- let nextId = 0;
36
- class SegmentedControlComponent {
37
- constructor() {
38
- this.ngControl = injectNgControl();
39
- this.small = input(false, ...(ngDevMode ? [{ debugName: "small", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
40
- this.vertical = input(false, ...(ngDevMode ? [{ debugName: "vertical", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
41
- this.id = `segmentedControl${nextId++}`;
42
- }
43
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SegmentedControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
44
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", type: SegmentedControlComponent, isStandalone: true, selector: "lu-segmented-control", inputs: { small: { classPropertyName: "small", publicName: "small", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "presentation" }, properties: { "class.mod-S": "small()", "class.mod-vertical": "vertical()" }, classAttribute: "segmentedControl" }, providers: [
45
- {
46
- provide: LU_SEGMENTEDCONTROL_INSTANCE,
47
- useExisting: forwardRef(() => SegmentedControlComponent),
48
- },
49
- ], hostDirectives: [{ directive: i1$1.NoopValueAccessorDirective }], ngImport: i0, template: '<ng-content />', isInline: true, 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 }], encapsulation: i0.ViewEncapsulation.None }); }
50
- }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: SegmentedControlComponent, decorators: [{
52
- type: Component,
53
- args: [{ selector: 'lu-segmented-control', standalone: true, template: '<ng-content />', encapsulation: ViewEncapsulation.None, imports: [ReactiveFormsModule], hostDirectives: [NoopValueAccessorDirective], host: {
54
- role: 'presentation',
55
- class: 'segmentedControl',
56
- '[class.mod-S]': 'small()',
57
- '[class.mod-vertical]': 'vertical()',
58
- }, providers: [
59
- {
60
- provide: LU_SEGMENTEDCONTROL_INSTANCE,
61
- useExisting: forwardRef(() => SegmentedControlComponent),
62
- },
63
- ], 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"] }]
64
- }], propDecorators: { small: [{ type: i0.Input, args: [{ isSignal: true, alias: "small", required: false }] }], vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }] } });
1
+ export * from '@lucca-front/ng/segmented-control';
65
2
 
66
3
  /**
67
4
  * Generated bundle index. Do not edit.
68
5
  */
69
-
70
- export { SegmentedControlComponent, SegmentedControlFilterComponent };
71
6
  //# sourceMappingURL=lucca-front-ng-segmentedControl.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"lucca-front-ng-segmentedControl.mjs","sources":["../../../packages/ng/segmentedControl/segmented-control.token.ts","../../../packages/ng/segmentedControl/filter/filter.component.ts","../../../packages/ng/segmentedControl/filter/filter.component.html","../../../packages/ng/segmentedControl/segmented-control.component.ts","../../../packages/ng/segmentedControl/lucca-front-ng-segmentedControl.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { SegmentedControlComponent } from './segmented-control.component';\n\nexport const LU_SEGMENTEDCONTROL_INSTANCE = new InjectionToken<SegmentedControlComponent>('LU_SEGMENTEDCONTROL_INSTANCE');\n","import { booleanAttribute, Component, inject, input, ViewEncapsulation } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { PortalContent, PortalDirective } from '@lucca-front/ng/core';\nimport { LU_SEGMENTEDCONTROL_INSTANCE } from '../segmented-control.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control-filter',\n\tstandalone: true,\n\ttemplateUrl: './filter.component.html',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [ReactiveFormsModule, PortalDirective],\n\thost: {\n\t\tclass: 'segmentedControl-item',\n\t\trole: 'listitem',\n\t},\n})\nexport class SegmentedControlFilterComponent<T = unknown> {\n\tprotected segmentedControlRef = inject(LU_SEGMENTEDCONTROL_INSTANCE);\n\n\tdisabled = input(false, { transform: booleanAttribute });\n\n\tvalue = input.required<T>();\n\n\tid = `${this.segmentedControlRef.id}item${nextId++}`;\n\tname = this.segmentedControlRef.id;\n\n\tlabel = input<PortalContent>();\n\n\tpublic get formControl() {\n\t\treturn this.segmentedControlRef.ngControl.control;\n\t}\n}\n","<input\n\ttype=\"radio\"\n\tclass=\"segmentedControl-item-input\"\n\t[name]=\"name\"\n\t[attr.name]=\"name\"\n\t[formControl]=\"formControl\"\n\t[value]=\"value()\"\n\t[attr.id]=\"id\"\n\t[attr.disabled]=\"formControl.disabled || disabled() ? 'disabled' : null\"\n/>\n<label [attr.for]=\"id\" class=\"segmentedControl-item-action\">\n\t<ng-container *luPortal=\"label()\" />\n</label>\n","import { booleanAttribute, Component, forwardRef, input, ViewEncapsulation } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { injectNgControl, NoopValueAccessorDirective } from '@lucca-front/ng/forms';\nimport { LU_SEGMENTEDCONTROL_INSTANCE } from './segmented-control.token';\n\nlet nextId = 0;\n\n@Component({\n\tselector: 'lu-segmented-control',\n\tstandalone: true,\n\ttemplate: '<ng-content />',\n\tstyleUrl: './segmented-control.component.scss',\n\tencapsulation: ViewEncapsulation.None,\n\timports: [ReactiveFormsModule],\n\thostDirectives: [NoopValueAccessorDirective],\n\thost: {\n\t\trole: 'presentation',\n\t\tclass: 'segmentedControl',\n\t\t'[class.mod-S]': 'small()',\n\t\t'[class.mod-vertical]': 'vertical()',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: LU_SEGMENTEDCONTROL_INSTANCE,\n\t\t\tuseExisting: forwardRef(() => SegmentedControlComponent),\n\t\t},\n\t],\n})\nexport class SegmentedControlComponent {\n\tngControl = injectNgControl();\n\n\tsmall = input(false, { transform: booleanAttribute });\n\tvertical = input(false, { transform: booleanAttribute });\n\n\tid = `segmentedControl${nextId++}`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["nextId","i1"],"mappings":"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"}
1
+ {"version":3,"file":"lucca-front-ng-segmentedControl.mjs","sources":["../../../packages/ng/segmentedControl/lucca-front-ng-segmentedControl.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;;AAEG"}