@spartan-ng/brain 0.0.1-alpha.493 → 0.0.1-alpha.494

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 (234) hide show
  1. package/accordion/index.d.ts +8 -8
  2. package/accordion/lib/{brn-accordion-content.component.d.ts → brn-accordion-content.d.ts} +3 -3
  3. package/accordion/lib/{brn-accordion.directive.d.ts → brn-accordion.d.ts} +11 -11
  4. package/alert-dialog/index.d.ts +20 -20
  5. package/alert-dialog/lib/brn-alert-dialog-content.d.ts +6 -0
  6. package/alert-dialog/lib/brn-alert-dialog-description.d.ts +6 -0
  7. package/alert-dialog/lib/brn-alert-dialog-overlay.d.ts +6 -0
  8. package/alert-dialog/lib/brn-alert-dialog-title.d.ts +6 -0
  9. package/alert-dialog/lib/brn-alert-dialog-trigger.d.ts +9 -0
  10. package/alert-dialog/lib/brn-alert-dialog.d.ts +7 -0
  11. package/avatar/index.d.ts +9 -9
  12. package/avatar/lib/brn-avatar.d.ts +7 -0
  13. package/avatar/lib/fallback/brn-avatar-fallback.d.ts +9 -0
  14. package/avatar/lib/fallback/index.d.ts +1 -1
  15. package/avatar/lib/image/brn-avatar-image.d.ts +9 -0
  16. package/avatar/lib/image/index.d.ts +1 -1
  17. package/calendar/index.d.ts +32 -32
  18. package/calendar/lib/{brn-calendar-cell-button.directive.d.ts → brn-calendar-cell-button.d.ts} +4 -4
  19. package/calendar/lib/brn-calendar-cell.d.ts +5 -0
  20. package/calendar/lib/brn-calendar-grid.d.ts +7 -0
  21. package/calendar/lib/brn-calendar-header.d.ts +7 -0
  22. package/calendar/lib/{brn-calendar-next-button.directive.d.ts → brn-calendar-next-button.d.ts} +3 -3
  23. package/calendar/lib/{brn-calendar-previous-button.directive.d.ts → brn-calendar-previous-button.d.ts} +3 -3
  24. package/calendar/lib/{brn-calendar-week.directive.d.ts → brn-calendar-week.d.ts} +4 -4
  25. package/calendar/lib/{brn-calendar-weekday.directive.d.ts → brn-calendar-weekday.d.ts} +4 -4
  26. package/calendar/lib/{brn-calendar.directive.d.ts → brn-calendar.d.ts} +8 -8
  27. package/calendar/lib/brn-calendar.token.d.ts +6 -6
  28. package/calendar/lib/mode/{brn-calendar-multiple.directive.d.ts → brn-calendar-multiple.d.ts} +9 -9
  29. package/checkbox/index.d.ts +5 -5
  30. package/checkbox/lib/{brn-checkbox.component.d.ts → brn-checkbox.d.ts} +3 -3
  31. package/collapsible/index.d.ts +11 -11
  32. package/collapsible/lib/{brn-collapsible-content.component.d.ts → brn-collapsible-content.d.ts} +5 -5
  33. package/collapsible/lib/brn-collapsible-trigger.d.ts +9 -0
  34. package/collapsible/lib/{brn-collapsible.component.d.ts → brn-collapsible.d.ts} +3 -3
  35. package/command/index.d.ts +20 -20
  36. package/command/lib/brn-command-empty.d.ts +11 -0
  37. package/command/lib/{brn-command-group.directive.d.ts → brn-command-group.d.ts} +3 -3
  38. package/command/lib/{brn-command-item.directive.d.ts → brn-command-item.d.ts} +3 -3
  39. package/command/lib/brn-command-item.token.d.ts +3 -3
  40. package/command/lib/brn-command-list.d.ts +8 -0
  41. package/command/lib/{brn-command-search-input.directive.d.ts → brn-command-search-input.d.ts} +3 -3
  42. package/command/lib/brn-command-search-input.token.d.ts +3 -3
  43. package/command/lib/{brn-command.directive.d.ts → brn-command.d.ts} +5 -5
  44. package/command/lib/brn-command.token.d.ts +4 -4
  45. package/dialog/index.d.ts +23 -23
  46. package/dialog/lib/brn-dialog-close.d.ts +8 -0
  47. package/dialog/lib/brn-dialog-content.d.ts +12 -0
  48. package/dialog/lib/{brn-dialog-description.directive.d.ts → brn-dialog-description.d.ts} +3 -3
  49. package/dialog/lib/brn-dialog-overlay.d.ts +9 -0
  50. package/dialog/lib/brn-dialog-title.d.ts +8 -0
  51. package/dialog/lib/brn-dialog-trigger.d.ts +18 -0
  52. package/dialog/lib/{brn-dialog.component.d.ts → brn-dialog.d.ts} +3 -3
  53. package/fesm2022/spartan-ng-brain-accordion.mjs +25 -36
  54. package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -1
  55. package/fesm2022/spartan-ng-brain-alert-dialog.mjs +79 -79
  56. package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
  57. package/fesm2022/spartan-ng-brain-avatar.mjs +16 -16
  58. package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -1
  59. package/fesm2022/spartan-ng-brain-calendar.mjs +239 -239
  60. package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
  61. package/fesm2022/spartan-ng-brain-checkbox.mjs +8 -8
  62. package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
  63. package/fesm2022/spartan-ng-brain-collapsible.mjs +17 -25
  64. package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -1
  65. package/fesm2022/spartan-ng-brain-command.mjs +195 -195
  66. package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
  67. package/fesm2022/spartan-ng-brain-dialog.mjs +98 -98
  68. package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
  69. package/fesm2022/spartan-ng-brain-form-field.mjs.map +1 -1
  70. package/fesm2022/spartan-ng-brain-forms.mjs +3 -2
  71. package/fesm2022/spartan-ng-brain-forms.mjs.map +1 -1
  72. package/fesm2022/spartan-ng-brain-hover-card.mjs +21 -29
  73. package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
  74. package/fesm2022/spartan-ng-brain-input-otp.mjs +44 -44
  75. package/fesm2022/spartan-ng-brain-input-otp.mjs.map +1 -1
  76. package/fesm2022/spartan-ng-brain-label.mjs +8 -8
  77. package/fesm2022/spartan-ng-brain-label.mjs.map +1 -1
  78. package/fesm2022/spartan-ng-brain-menu.mjs +102 -131
  79. package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -1
  80. package/fesm2022/spartan-ng-brain-popover.mjs +75 -86
  81. package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
  82. package/fesm2022/spartan-ng-brain-progress.mjs +28 -28
  83. package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -1
  84. package/fesm2022/spartan-ng-brain-radio-group.mjs +17 -17
  85. package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
  86. package/fesm2022/spartan-ng-brain-select.mjs +277 -277
  87. package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
  88. package/fesm2022/spartan-ng-brain-separator.mjs +8 -8
  89. package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -1
  90. package/fesm2022/spartan-ng-brain-sheet.mjs +69 -69
  91. package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
  92. package/fesm2022/spartan-ng-brain-slider.mjs +136 -142
  93. package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
  94. package/fesm2022/spartan-ng-brain-switch.mjs +26 -26
  95. package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
  96. package/fesm2022/spartan-ng-brain-tabs.mjs +28 -39
  97. package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
  98. package/fesm2022/spartan-ng-brain-toggle-group.mjs +18 -18
  99. package/fesm2022/spartan-ng-brain-toggle-group.mjs.map +1 -1
  100. package/fesm2022/spartan-ng-brain-toggle.mjs +9 -9
  101. package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
  102. package/fesm2022/spartan-ng-brain-tooltip.mjs +31 -42
  103. package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
  104. package/form-field/lib/brn-form-field-control.d.ts +2 -2
  105. package/forms/lib/error-options.d.ts +1 -1
  106. package/hover-card/index.d.ts +6 -6
  107. package/hover-card/lib/brn-hover-card-content.service.d.ts +9 -9
  108. package/hover-card/lib/brn-hover-card.d.ts +9 -0
  109. package/input-otp/index.d.ts +8 -8
  110. package/input-otp/lib/{brn-input-otp-slot.component.d.ts → brn-input-otp-slot.d.ts} +4 -4
  111. package/input-otp/lib/{brn-input-otp.component.d.ts → brn-input-otp.d.ts} +3 -3
  112. package/input-otp/lib/brn-input-otp.token.d.ts +4 -4
  113. package/label/index.d.ts +3 -3
  114. package/label/lib/{brn-label.directive.d.ts → brn-label.d.ts} +3 -3
  115. package/menu/index.d.ts +32 -32
  116. package/menu/lib/{brn-context-menu-trigger.directive.d.ts → brn-context-menu-trigger.d.ts} +3 -3
  117. package/menu/lib/brn-menu-bar.d.ts +6 -0
  118. package/menu/lib/brn-menu-group.d.ts +6 -0
  119. package/menu/lib/brn-menu-item-checkbox.d.ts +11 -0
  120. package/menu/lib/brn-menu-item-radio.d.ts +11 -0
  121. package/menu/lib/brn-menu-item.d.ts +10 -0
  122. package/menu/lib/brn-menu-trigger.d.ts +10 -0
  123. package/menu/lib/{brn-menu.directive.d.ts → brn-menu.d.ts} +3 -3
  124. package/package.json +1 -1
  125. package/popover/index.d.ts +14 -14
  126. package/popover/lib/brn-popover-close.d.ts +6 -0
  127. package/popover/lib/brn-popover-content.d.ts +6 -0
  128. package/popover/lib/brn-popover-trigger.d.ts +10 -0
  129. package/popover/lib/brn-popover.d.ts +12 -0
  130. package/progress/index.d.ts +8 -8
  131. package/progress/lib/{brn-progress-indicator.component.d.ts → brn-progress-indicator.d.ts} +4 -4
  132. package/progress/lib/{brn-progress.component.d.ts → brn-progress.d.ts} +3 -3
  133. package/progress/lib/brn-progress.token.d.ts +3 -3
  134. package/radio-group/index.d.ts +8 -8
  135. package/radio-group/lib/{brn-radio-group.directive.d.ts → brn-radio-group.d.ts} +6 -6
  136. package/radio-group/lib/brn-radio-group.token.d.ts +3 -3
  137. package/radio-group/lib/{brn-radio.component.d.ts → brn-radio.d.ts} +6 -6
  138. package/select/index.d.ts +29 -29
  139. package/select/lib/{brn-select-content.component.d.ts → brn-select-content.d.ts} +15 -15
  140. package/select/lib/brn-select-content.token.d.ts +3 -3
  141. package/select/lib/brn-select-group.d.ts +6 -0
  142. package/select/lib/brn-select-label.d.ts +9 -0
  143. package/select/lib/{brn-select-option.directive.d.ts → brn-select-option.d.ts} +5 -5
  144. package/select/lib/{brn-select-placeholder.directive.d.ts → brn-select-placeholder.d.ts} +3 -3
  145. package/select/lib/{brn-select-trigger.directive.d.ts → brn-select-trigger.d.ts} +4 -4
  146. package/select/lib/brn-select-value-template.d.ts +11 -0
  147. package/select/lib/{brn-select-value.component.d.ts → brn-select-value.d.ts} +8 -8
  148. package/select/lib/{brn-select.component.d.ts → brn-select.d.ts} +12 -12
  149. package/select/lib/brn-select.token.d.ts +3 -3
  150. package/separator/index.d.ts +3 -3
  151. package/separator/lib/{brn-separator.component.d.ts → brn-separator.d.ts} +3 -3
  152. package/sheet/index.d.ts +23 -23
  153. package/sheet/lib/brn-sheet-close.d.ts +6 -0
  154. package/sheet/lib/brn-sheet-content.d.ts +8 -0
  155. package/sheet/lib/brn-sheet-description.d.ts +6 -0
  156. package/sheet/lib/brn-sheet-overlay.d.ts +6 -0
  157. package/sheet/lib/brn-sheet-title.d.ts +6 -0
  158. package/sheet/lib/brn-sheet-trigger.d.ts +9 -0
  159. package/sheet/lib/brn-sheet.d.ts +10 -0
  160. package/slider/index.d.ts +11 -11
  161. package/slider/lib/brn-slider-range.d.ts +7 -0
  162. package/slider/lib/{brn-slider-thumb.directive.d.ts → brn-slider-thumb.d.ts} +4 -4
  163. package/slider/lib/brn-slider-tick.d.ts +12 -0
  164. package/slider/lib/{brn-slider-track.directive.d.ts → brn-slider-track.d.ts} +4 -4
  165. package/slider/lib/brn-slider-track.token.d.ts +4 -4
  166. package/slider/lib/{brn-slider.directive.d.ts → brn-slider.d.ts} +5 -5
  167. package/slider/lib/brn-slider.token.d.ts +3 -3
  168. package/switch/index.d.ts +8 -8
  169. package/switch/lib/brn-switch-thumb.d.ts +5 -0
  170. package/switch/lib/{brn-switch.component.d.ts → brn-switch.d.ts} +3 -3
  171. package/tabs/index.d.ts +15 -15
  172. package/tabs/lib/{brn-tabs-content.directive.d.ts → brn-tabs-content.d.ts} +3 -3
  173. package/tabs/lib/{brn-tabs-list.directive.d.ts → brn-tabs-list.d.ts} +6 -6
  174. package/tabs/lib/{brn-tabs-paginated-list.directive.d.ts → brn-tabs-paginated-list.d.ts} +3 -3
  175. package/tabs/lib/{brn-tabs-trigger.directive.d.ts → brn-tabs-trigger.d.ts} +4 -4
  176. package/tabs/lib/{brn-tabs.directive.d.ts → brn-tabs.d.ts} +9 -9
  177. package/toggle/index.d.ts +3 -3
  178. package/toggle/lib/{brn-toggle.directive.d.ts → brn-toggle.d.ts} +3 -3
  179. package/toggle-group/index.d.ts +6 -6
  180. package/toggle-group/lib/{brn-toggle-group.component.d.ts → brn-toggle-group.d.ts} +8 -8
  181. package/toggle-group/lib/brn-toggle-group.token.d.ts +3 -3
  182. package/toggle-group/lib/{brn-toggle-item.directive.d.ts → brn-toggle-item.d.ts} +4 -4
  183. package/tooltip/index.d.ts +14 -14
  184. package/tooltip/lib/brn-tooltip-content-template.d.ts +8 -0
  185. package/tooltip/lib/{brn-tooltip-content.component.d.ts → brn-tooltip-content.d.ts} +3 -3
  186. package/tooltip/lib/{brn-tooltip-trigger.directive.d.ts → brn-tooltip-trigger.d.ts} +3 -3
  187. package/tooltip/lib/brn-tooltip.d.ts +7 -0
  188. package/tooltip/lib/brn-tooltip.token.d.ts +1 -1
  189. package/alert-dialog/lib/brn-alert-dialog-content.directive.d.ts +0 -6
  190. package/alert-dialog/lib/brn-alert-dialog-description.directive.d.ts +0 -6
  191. package/alert-dialog/lib/brn-alert-dialog-overlay.component.d.ts +0 -6
  192. package/alert-dialog/lib/brn-alert-dialog-title.directive.d.ts +0 -6
  193. package/alert-dialog/lib/brn-alert-dialog-trigger.directive.d.ts +0 -9
  194. package/alert-dialog/lib/brn-alert-dialog.component.d.ts +0 -7
  195. package/avatar/lib/brn-avatar.component.d.ts +0 -7
  196. package/avatar/lib/fallback/brn-avatar-fallback.directive.d.ts +0 -9
  197. package/avatar/lib/image/brn-avatar-image.directive.d.ts +0 -9
  198. package/calendar/lib/brn-calendar-cell.directive.d.ts +0 -5
  199. package/calendar/lib/brn-calendar-grid.directive.d.ts +0 -7
  200. package/calendar/lib/brn-calendar-header.directive.d.ts +0 -7
  201. package/collapsible/lib/brn-collapsible-trigger.directive.d.ts +0 -9
  202. package/command/lib/brn-command-empty.directive.d.ts +0 -11
  203. package/command/lib/brn-command-list.directive.d.ts +0 -8
  204. package/dialog/lib/brn-dialog-close.directive.d.ts +0 -8
  205. package/dialog/lib/brn-dialog-content.directive.d.ts +0 -12
  206. package/dialog/lib/brn-dialog-overlay.component.d.ts +0 -9
  207. package/dialog/lib/brn-dialog-title.directive.d.ts +0 -8
  208. package/dialog/lib/brn-dialog-trigger.directive.d.ts +0 -18
  209. package/hover-card/lib/brn-hover-card.component.d.ts +0 -9
  210. package/menu/lib/brn-menu-bar.directive.d.ts +0 -6
  211. package/menu/lib/brn-menu-group.directive.d.ts +0 -6
  212. package/menu/lib/brn-menu-item-checkbox.directive.d.ts +0 -11
  213. package/menu/lib/brn-menu-item-radio.directive.d.ts +0 -11
  214. package/menu/lib/brn-menu-item.directive.d.ts +0 -10
  215. package/menu/lib/brn-menu-trigger.directive.d.ts +0 -10
  216. package/popover/lib/brn-popover-close.directive.d.ts +0 -6
  217. package/popover/lib/brn-popover-content.directive.d.ts +0 -6
  218. package/popover/lib/brn-popover-trigger.directive.d.ts +0 -10
  219. package/popover/lib/brn-popover.component.d.ts +0 -12
  220. package/select/lib/brn-select-group.directive.d.ts +0 -6
  221. package/select/lib/brn-select-label.directive.d.ts +0 -9
  222. package/select/lib/brn-select-value.directive.d.ts +0 -11
  223. package/sheet/lib/brn-sheet-close.directive.d.ts +0 -6
  224. package/sheet/lib/brn-sheet-content.directive.d.ts +0 -8
  225. package/sheet/lib/brn-sheet-description.directive.d.ts +0 -6
  226. package/sheet/lib/brn-sheet-overlay.component.d.ts +0 -6
  227. package/sheet/lib/brn-sheet-title.directive.d.ts +0 -6
  228. package/sheet/lib/brn-sheet-trigger.directive.d.ts +0 -9
  229. package/sheet/lib/brn-sheet.component.d.ts +0 -10
  230. package/slider/lib/brn-slider-range.directive.d.ts +0 -7
  231. package/slider/lib/brn-slider-tick.directive.d.ts +0 -12
  232. package/switch/lib/brn-switch-thumb.component.d.ts +0 -5
  233. package/tooltip/lib/brn-tooltip-content.directive.d.ts +0 -8
  234. package/tooltip/lib/brn-tooltip.directive.d.ts +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-sheet.mjs","sources":["../../../../libs/brain/sheet/src/lib/brn-sheet-close.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet.component.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-content.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-description.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-overlay.component.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-title.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-trigger.directive.ts","../../../../libs/brain/sheet/src/index.ts","../../../../libs/brain/sheet/src/spartan-ng-brain-sheet.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnDialogCloseDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: 'button[brnSheetClose]',\n})\nexport class BrnSheetCloseDirective extends BrnDialogCloseDirective {}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\teffect,\n\tforwardRef,\n\tinput,\n\tsignal,\n\tuntracked,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { BrnDialogComponent } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-sheet',\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialogComponent,\n\t\t\tuseExisting: forwardRef(() => BrnSheetComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\texportAs: 'brnSheet',\n})\nexport class BrnSheetComponent extends BrnDialogComponent {\n\tpublic readonly sideInput = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'side' });\n\tpublic readonly sideInputState = computed(() => signal(this.sideInput()));\n\tpublic readonly side = computed(() => this.sideInputState().asReadonly()());\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst side = this.side();\n\t\t\tuntracked(() => {\n\t\t\t\tif (side === 'top') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().top());\n\t\t\t\t}\n\t\t\t\tif (side === 'bottom') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().bottom());\n\t\t\t\t}\n\t\t\t\tif (side === 'left') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().left());\n\t\t\t\t}\n\t\t\t\tif (side === 'right') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().right());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport {\n\ttype ExposesSide,\n\tprovideExposedSideProviderExisting,\n\tprovideExposesStateProviderExisting,\n} from '@spartan-ng/brain/core';\nimport { BrnDialogContentDirective } from '@spartan-ng/brain/dialog';\nimport { BrnSheetComponent } from './brn-sheet.component';\n\n@Directive({\n\tselector: '[brnSheetContent]',\n\tproviders: [\n\t\tprovideExposesStateProviderExisting(() => BrnSheetContentDirective),\n\t\tprovideExposedSideProviderExisting(() => BrnSheetContentDirective),\n\t],\n})\nexport class BrnSheetContentDirective<T> extends BrnDialogContentDirective<T> implements ExposesSide {\n\tpublic readonly side = inject(BrnSheetComponent).side;\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescriptionDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetDescription]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetDescriptionDirective extends BrnDialogDescriptionDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlayComponent } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-sheet-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnSheetOverlayComponent)],\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnSheetOverlayComponent extends BrnDialogOverlayComponent {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitleDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetTitle]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetTitleDirective extends BrnDialogTitleDirective {}\n","import { Directive, inject, input } from '@angular/core';\nimport { BrnDialogTriggerDirective } from '@spartan-ng/brain/dialog';\nimport { BrnSheetComponent } from './brn-sheet.component';\n\n@Directive({\n\tselector: 'button[brnSheetTrigger]',\n})\nexport class BrnSheetTriggerDirective extends BrnDialogTriggerDirective {\n\tprivate readonly _sheet = inject(BrnSheetComponent, { optional: true });\n\n\tpublic readonly side = input<'top' | 'bottom' | 'left' | 'right' | undefined>(undefined);\n\n\toverride open() {\n\t\tconst side = this.side();\n\t\tif (this._sheet && side) {\n\t\t\tthis._sheet.sideInputState().set(side);\n\t\t}\n\t\tsuper.open();\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnSheetCloseDirective } from './lib/brn-sheet-close.directive';\nimport { BrnSheetContentDirective } from './lib/brn-sheet-content.directive';\nimport { BrnSheetDescriptionDirective } from './lib/brn-sheet-description.directive';\nimport { BrnSheetOverlayComponent } from './lib/brn-sheet-overlay.component';\nimport { BrnSheetTitleDirective } from './lib/brn-sheet-title.directive';\nimport { BrnSheetTriggerDirective } from './lib/brn-sheet-trigger.directive';\nimport { BrnSheetComponent } from './lib/brn-sheet.component';\n\nexport * from './lib/brn-sheet-close.directive';\nexport * from './lib/brn-sheet-content.directive';\nexport * from './lib/brn-sheet-description.directive';\nexport * from './lib/brn-sheet-overlay.component';\nexport * from './lib/brn-sheet-title.directive';\nexport * from './lib/brn-sheet-trigger.directive';\nexport * from './lib/brn-sheet.component';\n\nexport const BrnSheetImports = [\n\tBrnSheetComponent,\n\tBrnSheetOverlayComponent,\n\tBrnSheetTriggerDirective,\n\tBrnSheetCloseDirective,\n\tBrnSheetContentDirective,\n\tBrnSheetTitleDirective,\n\tBrnSheetDescriptionDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnSheetImports],\n\texports: [...BrnSheetImports],\n})\nexport class BrnSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spartan-ng-brain-sheet.mjs","sources":["../../../../libs/brain/sheet/src/lib/brn-sheet.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-close.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-content.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-description.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-overlay.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-title.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-trigger.ts","../../../../libs/brain/sheet/src/index.ts","../../../../libs/brain/sheet/src/spartan-ng-brain-sheet.ts"],"sourcesContent":["import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\teffect,\n\tforwardRef,\n\tinput,\n\tsignal,\n\tuntracked,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { BrnDialog } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-sheet',\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialog,\n\t\t\tuseExisting: forwardRef(() => BrnSheet),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\texportAs: 'brnSheet',\n})\nexport class BrnSheet extends BrnDialog {\n\tpublic readonly sideInput = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'side' });\n\tpublic readonly sideInputState = computed(() => signal(this.sideInput()));\n\tpublic readonly side = computed(() => this.sideInputState().asReadonly()());\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst side = this.side();\n\t\t\tuntracked(() => {\n\t\t\t\tif (side === 'top') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().top());\n\t\t\t\t}\n\t\t\t\tif (side === 'bottom') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().bottom());\n\t\t\t\t}\n\t\t\t\tif (side === 'left') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().left());\n\t\t\t\t}\n\t\t\t\tif (side === 'right') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().right());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogClose } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: 'button[brnSheetClose]',\n})\nexport class BrnSheetClose extends BrnDialogClose {}\n","import { Directive, inject } from '@angular/core';\nimport {\n\ttype ExposesSide,\n\tprovideExposedSideProviderExisting,\n\tprovideExposesStateProviderExisting,\n} from '@spartan-ng/brain/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\nimport { BrnSheet } from './brn-sheet';\n\n@Directive({\n\tselector: '[brnSheetContent]',\n\tproviders: [\n\t\tprovideExposesStateProviderExisting(() => BrnSheetContent),\n\t\tprovideExposedSideProviderExisting(() => BrnSheetContent),\n\t],\n})\nexport class BrnSheetContent<T> extends BrnDialogContent<T> implements ExposesSide {\n\tpublic readonly side = inject(BrnSheet).side;\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetDescription]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetDescription extends BrnDialogDescription {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlay } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-sheet-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnSheetOverlay)],\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnSheetOverlay extends BrnDialogOverlay {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetTitle]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetTitle extends BrnDialogTitle {}\n","import { Directive, inject, input } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\nimport { BrnSheet } from './brn-sheet';\n\n@Directive({\n\tselector: 'button[brnSheetTrigger]',\n})\nexport class BrnSheetTrigger extends BrnDialogTrigger {\n\tprivate readonly _sheet = inject(BrnSheet, { optional: true });\n\n\tpublic readonly side = input<'top' | 'bottom' | 'left' | 'right' | undefined>(undefined);\n\n\toverride open() {\n\t\tconst side = this.side();\n\t\tif (this._sheet && side) {\n\t\t\tthis._sheet.sideInputState().set(side);\n\t\t}\n\t\tsuper.open();\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnSheet } from './lib/brn-sheet';\nimport { BrnSheetClose } from './lib/brn-sheet-close';\nimport { BrnSheetContent } from './lib/brn-sheet-content';\nimport { BrnSheetDescription } from './lib/brn-sheet-description';\nimport { BrnSheetOverlay } from './lib/brn-sheet-overlay';\nimport { BrnSheetTitle } from './lib/brn-sheet-title';\nimport { BrnSheetTrigger } from './lib/brn-sheet-trigger';\n\nexport * from './lib/brn-sheet';\nexport * from './lib/brn-sheet-close';\nexport * from './lib/brn-sheet-content';\nexport * from './lib/brn-sheet-description';\nexport * from './lib/brn-sheet-overlay';\nexport * from './lib/brn-sheet-title';\nexport * from './lib/brn-sheet-trigger';\n\nexport const BrnSheetImports = [\n\tBrnSheet,\n\tBrnSheetOverlay,\n\tBrnSheetTrigger,\n\tBrnSheetClose,\n\tBrnSheetContent,\n\tBrnSheetTitle,\n\tBrnSheetDescription,\n] as const;\n\n@NgModule({\n\timports: [...BrnSheetImports],\n\texports: [...BrnSheetImports],\n})\nexport class BrnSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, inject, Directive, ElementRef, PLATFORM_ID, computed, HostListener, TemplateRef, ViewContainerRef, effect, ChangeDetectorRef, model, input, numberAttribute, booleanAttribute, linkedSignal, signal, forwardRef } from '@angular/core';
2
+ import { InjectionToken, inject, ChangeDetectorRef, ElementRef, model, input, numberAttribute, booleanAttribute, computed, linkedSignal, signal, forwardRef, Directive, PLATFORM_ID, HostListener, TemplateRef, ViewContainerRef, effect } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
4
  import { DOCUMENT, isPlatformServer } from '@angular/common';
4
5
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
6
  import { fromEvent } from 'rxjs';
6
7
  import { switchMap, takeUntil } from 'rxjs/operators';
7
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
8
 
9
9
  const BrnSliderToken = new InjectionToken('BrnSliderToken');
10
10
  function provideBrnSlider(slider) {
@@ -14,13 +14,128 @@ function injectBrnSlider() {
14
14
  return inject(BrnSliderToken);
15
15
  }
16
16
 
17
- class BrnSliderRangeDirective {
17
+ class BrnSlider {
18
+ _changeDetectorRef = inject(ChangeDetectorRef);
19
+ _elementRef = inject(ElementRef);
20
+ value = model(0);
21
+ min = input(0, {
22
+ transform: numberAttribute,
23
+ });
24
+ max = input(100, {
25
+ transform: numberAttribute,
26
+ });
27
+ step = input(1, {
28
+ transform: numberAttribute,
29
+ });
30
+ disabled = input(false, {
31
+ transform: booleanAttribute,
32
+ });
33
+ /** Whether we should show tick marks */
34
+ showTicks = input(false, {
35
+ transform: booleanAttribute,
36
+ });
37
+ /** @internal */
38
+ ticks = computed(() => {
39
+ const value = this.value();
40
+ if (!this.showTicks()) {
41
+ return [];
42
+ }
43
+ let numActive = Math.max(Math.floor((value - this.min()) / this.step()), 0);
44
+ let numInactive = Math.max(Math.floor((this.max() - value) / this.step()), 0);
45
+ const direction = getComputedStyle(this._elementRef.nativeElement).direction;
46
+ direction === 'rtl' ? numInactive++ : numActive++;
47
+ return Array(numActive).fill(true).concat(Array(numInactive).fill(false));
48
+ });
49
+ /** @internal */
50
+ mutableDisabled = linkedSignal(() => this.disabled());
51
+ /** @internal */
52
+ percentage = computed(() => ((this.value() - this.min()) / (this.max() - this.min())) * 100);
53
+ /** @internal Store the on change callback */
54
+ _onChange;
55
+ /** @internal Store the on touched callback */
56
+ _onTouched;
57
+ /** @internal Store the track */
58
+ track = signal(null);
59
+ ngOnInit() {
60
+ // ensure the value is within the min and max range
61
+ if (this.value() < this.min()) {
62
+ this.value.set(this.min());
63
+ }
64
+ if (this.value() > this.max()) {
65
+ this.value.set(this.max());
66
+ }
67
+ }
68
+ registerOnChange(fn) {
69
+ this._onChange = fn;
70
+ }
71
+ registerOnTouched(fn) {
72
+ this._onTouched = fn;
73
+ }
74
+ setDisabledState(isDisabled) {
75
+ this.mutableDisabled.set(isDisabled);
76
+ }
77
+ writeValue(value) {
78
+ const clampedValue = clamp(value, [this.min(), this.max()]);
79
+ this.value.set(clampedValue);
80
+ if (value !== clampedValue) {
81
+ this._onChange?.(clampedValue);
82
+ }
83
+ this._changeDetectorRef.detectChanges();
84
+ }
85
+ setValue(value) {
86
+ const decimalCount = getDecimalCount(this.step());
87
+ const snapToStep = roundValue(Math.round((value - this.min()) / this.step()) * this.step() + this.min(), decimalCount);
88
+ value = clamp(snapToStep, [this.min(), this.max()]);
89
+ this.value.set(value);
90
+ this._onChange?.(value);
91
+ }
92
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSlider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
93
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: BrnSlider, isStandalone: true, selector: "[brnSlider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showTicks: { classPropertyName: "showTicks", publicName: "showTicks", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { attributes: { "aria-orientation": "horizontal" }, listeners: { "focusout": "_onTouched?.()" } }, providers: [
94
+ provideBrnSlider(BrnSlider),
95
+ {
96
+ provide: NG_VALUE_ACCESSOR,
97
+ useExisting: forwardRef((() => BrnSlider)),
98
+ multi: true,
99
+ },
100
+ ], exportAs: ["brnSlider"], ngImport: i0 });
101
+ }
102
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSlider, decorators: [{
103
+ type: Directive,
104
+ args: [{
105
+ selector: '[brnSlider]',
106
+ exportAs: 'brnSlider',
107
+ providers: [
108
+ provideBrnSlider(BrnSlider),
109
+ {
110
+ provide: NG_VALUE_ACCESSOR,
111
+ useExisting: forwardRef((() => BrnSlider)),
112
+ multi: true,
113
+ },
114
+ ],
115
+ host: {
116
+ 'aria-orientation': 'horizontal',
117
+ '(focusout)': '_onTouched?.()',
118
+ },
119
+ }]
120
+ }] });
121
+ function roundValue(value, decimalCount) {
122
+ const rounder = Math.pow(10, decimalCount);
123
+ return Math.round(value * rounder) / rounder;
124
+ }
125
+ function getDecimalCount(value) {
126
+ return (String(value).split('.')[1] || '').length;
127
+ }
128
+ function clamp(value, [min, max]) {
129
+ return Math.min(max, Math.max(min, value));
130
+ }
131
+
132
+ class BrnSliderRange {
18
133
  /** Access the slider */
19
134
  _slider = injectBrnSlider();
20
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderRangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
21
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderRangeDirective, isStandalone: true, selector: "[brnSliderRange]", host: { properties: { "attr.data-disabled": "_slider.mutableDisabled()", "style.width.%": "_slider.percentage()" } }, ngImport: i0 });
135
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderRange, deps: [], target: i0.ɵɵFactoryTarget.Directive });
136
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderRange, isStandalone: true, selector: "[brnSliderRange]", host: { properties: { "attr.data-disabled": "_slider.mutableDisabled()", "style.width.%": "_slider.percentage()" } }, ngImport: i0 });
22
137
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderRangeDirective, decorators: [{
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderRange, decorators: [{
24
139
  type: Directive,
25
140
  args: [{
26
141
  selector: '[brnSliderRange]',
@@ -31,7 +146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
31
146
  }]
32
147
  }] });
33
148
 
34
- class BrnSliderThumbDirective {
149
+ class BrnSliderThumb {
35
150
  _slider = injectBrnSlider();
36
151
  _document = inject(DOCUMENT);
37
152
  _elementRef = inject(ElementRef);
@@ -112,10 +227,10 @@ class BrnSliderThumbDirective {
112
227
  return output[0] + ratio * (value - input[0]);
113
228
  };
114
229
  }
115
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
116
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderThumbDirective, isStandalone: true, selector: "[brnSliderThumb]", host: { attributes: { "role": "slider" }, listeners: { "keydown": "handleKeydown($event)" }, properties: { "attr.aria-valuenow": "_slider.value()", "attr.aria-valuemin": "_slider.min()", "attr.aria-valuemax": "_slider.max()", "attr.tabindex": "_slider.mutableDisabled() ? -1 : 0", "attr.data-disabled": "_slider.mutableDisabled()", "style.inset-inline-start": "_thumbOffset()" } }, ngImport: i0 });
230
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderThumb, deps: [], target: i0.ɵɵFactoryTarget.Directive });
231
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderThumb, isStandalone: true, selector: "[brnSliderThumb]", host: { attributes: { "role": "slider" }, listeners: { "keydown": "handleKeydown($event)" }, properties: { "attr.aria-valuenow": "_slider.value()", "attr.aria-valuemin": "_slider.min()", "attr.aria-valuemax": "_slider.max()", "attr.tabindex": "_slider.mutableDisabled() ? -1 : 0", "attr.data-disabled": "_slider.mutableDisabled()", "style.inset-inline-start": "_thumbOffset()" } }, ngImport: i0 });
117
232
  }
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderThumbDirective, decorators: [{
233
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderThumb, decorators: [{
119
234
  type: Directive,
120
235
  args: [{
121
236
  selector: '[brnSliderThumb]',
@@ -134,7 +249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
134
249
  args: ['keydown', ['$event']]
135
250
  }] } });
136
251
 
137
- class BrnSliderTickDirective {
252
+ class BrnSliderTick {
138
253
  _slider = injectBrnSlider();
139
254
  _templateRef = inject(TemplateRef);
140
255
  _viewContainer = inject(ViewContainerRef);
@@ -159,10 +274,10 @@ class BrnSliderTickDirective {
159
274
  ngOnDestroy() {
160
275
  this._ticks.forEach((tick) => this._viewContainer.remove(this._viewContainer.indexOf(tick)));
161
276
  }
162
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTickDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
163
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderTickDirective, isStandalone: true, selector: "[brnSliderTick]", ngImport: i0 });
277
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTick, deps: [], target: i0.ɵɵFactoryTarget.Directive });
278
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderTick, isStandalone: true, selector: "[brnSliderTick]", ngImport: i0 });
164
279
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTickDirective, decorators: [{
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTick, decorators: [{
166
281
  type: Directive,
167
282
  args: [{
168
283
  selector: '[brnSliderTick]',
@@ -177,7 +292,7 @@ function injectBrnSliderTrack() {
177
292
  return inject(BrnSliderTrackToken);
178
293
  }
179
294
 
180
- class BrnSliderTrackDirective {
295
+ class BrnSliderTrack {
181
296
  /** Access the slider */
182
297
  _slider = injectBrnSlider();
183
298
  /** @internal Access the slider track */
@@ -195,14 +310,14 @@ class BrnSliderTrackDirective {
195
310
  // update the value based on the position
196
311
  this._slider.setValue(this._slider.min() + (this._slider.max() - this._slider.min()) * percentage);
197
312
  }
198
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTrackDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
199
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderTrackDirective, isStandalone: true, selector: "[brnSliderTrack]", host: { listeners: { "mousedown": "moveThumbToPoint($event)" }, properties: { "attr.data-disabled": "_slider.mutableDisabled()" } }, providers: [provideBrnSliderTrack(BrnSliderTrackDirective)], ngImport: i0 });
313
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTrack, deps: [], target: i0.ɵɵFactoryTarget.Directive });
314
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderTrack, isStandalone: true, selector: "[brnSliderTrack]", host: { listeners: { "mousedown": "moveThumbToPoint($event)" }, properties: { "attr.data-disabled": "_slider.mutableDisabled()" } }, providers: [provideBrnSliderTrack(BrnSliderTrack)], ngImport: i0 });
200
315
  }
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTrackDirective, decorators: [{
316
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTrack, decorators: [{
202
317
  type: Directive,
203
318
  args: [{
204
319
  selector: '[brnSliderTrack]',
205
- providers: [provideBrnSliderTrack(BrnSliderTrackDirective)],
320
+ providers: [provideBrnSliderTrack(BrnSliderTrack)],
206
321
  host: {
207
322
  '[attr.data-disabled]': '_slider.mutableDisabled()',
208
323
  },
@@ -212,132 +327,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
212
327
  args: ['mousedown', ['$event']]
213
328
  }] } });
214
329
 
215
- class BrnSliderDirective {
216
- _changeDetectorRef = inject(ChangeDetectorRef);
217
- _elementRef = inject(ElementRef);
218
- value = model(0);
219
- min = input(0, {
220
- transform: numberAttribute,
221
- });
222
- max = input(100, {
223
- transform: numberAttribute,
224
- });
225
- step = input(1, {
226
- transform: numberAttribute,
227
- });
228
- disabled = input(false, {
229
- transform: booleanAttribute,
230
- });
231
- /** Whether we should show tick marks */
232
- showTicks = input(false, {
233
- transform: booleanAttribute,
234
- });
235
- /** @internal */
236
- ticks = computed(() => {
237
- const value = this.value();
238
- if (!this.showTicks()) {
239
- return [];
240
- }
241
- let numActive = Math.max(Math.floor((value - this.min()) / this.step()), 0);
242
- let numInactive = Math.max(Math.floor((this.max() - value) / this.step()), 0);
243
- const direction = getComputedStyle(this._elementRef.nativeElement).direction;
244
- direction === 'rtl' ? numInactive++ : numActive++;
245
- return Array(numActive).fill(true).concat(Array(numInactive).fill(false));
246
- });
247
- /** @internal */
248
- mutableDisabled = linkedSignal(() => this.disabled());
249
- /** @internal */
250
- percentage = computed(() => ((this.value() - this.min()) / (this.max() - this.min())) * 100);
251
- /** @internal Store the on change callback */
252
- _onChange;
253
- /** @internal Store the on touched callback */
254
- _onTouched;
255
- /** @internal Store the track */
256
- track = signal(null);
257
- ngOnInit() {
258
- // ensure the value is within the min and max range
259
- if (this.value() < this.min()) {
260
- this.value.set(this.min());
261
- }
262
- if (this.value() > this.max()) {
263
- this.value.set(this.max());
264
- }
265
- }
266
- registerOnChange(fn) {
267
- this._onChange = fn;
268
- }
269
- registerOnTouched(fn) {
270
- this._onTouched = fn;
271
- }
272
- setDisabledState(isDisabled) {
273
- this.mutableDisabled.set(isDisabled);
274
- }
275
- writeValue(value) {
276
- const clampedValue = clamp(value, [this.min(), this.max()]);
277
- this.value.set(clampedValue);
278
- if (value !== clampedValue) {
279
- this._onChange?.(clampedValue);
280
- }
281
- this._changeDetectorRef.detectChanges();
282
- }
283
- setValue(value) {
284
- const decimalCount = getDecimalCount(this.step());
285
- const snapToStep = roundValue(Math.round((value - this.min()) / this.step()) * this.step() + this.min(), decimalCount);
286
- value = clamp(snapToStep, [this.min(), this.max()]);
287
- this.value.set(value);
288
- this._onChange?.(value);
289
- }
290
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
291
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: BrnSliderDirective, isStandalone: true, selector: "[brnSlider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showTicks: { classPropertyName: "showTicks", publicName: "showTicks", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { attributes: { "aria-orientation": "horizontal" }, listeners: { "focusout": "_onTouched?.()" } }, providers: [
292
- provideBrnSlider(BrnSliderDirective),
293
- {
294
- provide: NG_VALUE_ACCESSOR,
295
- useExisting: forwardRef((() => BrnSliderDirective)),
296
- multi: true,
297
- },
298
- ], exportAs: ["brnSlider"], ngImport: i0 });
299
- }
300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderDirective, decorators: [{
301
- type: Directive,
302
- args: [{
303
- selector: '[brnSlider]',
304
- exportAs: 'brnSlider',
305
- providers: [
306
- provideBrnSlider(BrnSliderDirective),
307
- {
308
- provide: NG_VALUE_ACCESSOR,
309
- useExisting: forwardRef((() => BrnSliderDirective)),
310
- multi: true,
311
- },
312
- ],
313
- host: {
314
- 'aria-orientation': 'horizontal',
315
- '(focusout)': '_onTouched?.()',
316
- },
317
- }]
318
- }] });
319
- function roundValue(value, decimalCount) {
320
- const rounder = Math.pow(10, decimalCount);
321
- return Math.round(value * rounder) / rounder;
322
- }
323
- function getDecimalCount(value) {
324
- return (String(value).split('.')[1] || '').length;
325
- }
326
- function clamp(value, [min, max]) {
327
- return Math.min(max, Math.max(min, value));
328
- }
329
-
330
- const BrnSliderImports = [
331
- BrnSliderDirective,
332
- BrnSliderTrackDirective,
333
- BrnSliderThumbDirective,
334
- BrnSliderRangeDirective,
335
- BrnSliderTickDirective,
336
- ];
330
+ const BrnSliderImports = [BrnSlider, BrnSliderTrack, BrnSliderThumb, BrnSliderRange, BrnSliderTick];
337
331
 
338
332
  /**
339
333
  * Generated bundle index. Do not edit.
340
334
  */
341
335
 
342
- export { BrnSliderDirective, BrnSliderImports, BrnSliderRangeDirective, BrnSliderThumbDirective, BrnSliderTickDirective, BrnSliderTrackDirective, injectBrnSlider, provideBrnSlider };
336
+ export { BrnSlider, BrnSliderImports, BrnSliderRange, BrnSliderThumb, BrnSliderTick, BrnSliderTrack, injectBrnSlider, provideBrnSlider };
343
337
  //# sourceMappingURL=spartan-ng-brain-slider.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-slider.mjs","sources":["../../../../libs/brain/slider/src/lib/brn-slider.token.ts","../../../../libs/brain/slider/src/lib/brn-slider-range.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-thumb.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-tick.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-track.token.ts","../../../../libs/brain/slider/src/lib/brn-slider-track.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider.directive.ts","../../../../libs/brain/slider/src/index.ts","../../../../libs/brain/slider/src/spartan-ng-brain-slider.ts"],"sourcesContent":["import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnSliderDirective } from './brn-slider.directive';\n\nconst BrnSliderToken = new InjectionToken<BrnSliderDirective>('BrnSliderToken');\n\nexport function provideBrnSlider(slider: Type<BrnSliderDirective>): ExistingProvider {\n\treturn { provide: BrnSliderToken, useExisting: slider };\n}\n\nexport function injectBrnSlider(): BrnSliderDirective {\n\treturn inject(BrnSliderToken);\n}\n","import { Directive } from '@angular/core';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderRange]',\n\thost: {\n\t\t'[attr.data-disabled]': '_slider.mutableDisabled()',\n\t\t'[style.width.%]': '_slider.percentage()',\n\t},\n})\nexport class BrnSliderRangeDirective {\n\t/** Access the slider */\n\tprotected readonly _slider = injectBrnSlider();\n}\n","import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { computed, Directive, ElementRef, HostListener, inject, PLATFORM_ID } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\nimport { switchMap, takeUntil } from 'rxjs/operators';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderThumb]',\n\thost: {\n\t\trole: 'slider',\n\t\t'[attr.aria-valuenow]': '_slider.value()',\n\t\t'[attr.aria-valuemin]': '_slider.min()',\n\t\t'[attr.aria-valuemax]': '_slider.max()',\n\t\t'[attr.tabindex]': '_slider.mutableDisabled() ? -1 : 0',\n\t\t'[attr.data-disabled]': '_slider.mutableDisabled()',\n\t\t'[style.inset-inline-start]': '_thumbOffset()',\n\t},\n})\nexport class BrnSliderThumbDirective {\n\tprotected readonly _slider = injectBrnSlider();\n\tprivate readonly _document = inject<Document>(DOCUMENT);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\t/**\n\t * Offsets the thumb centre point while sliding to ensure it remains\n\t * within the bounds of the slider when reaching the edges.\n\t * Based on https://github.com/radix-ui/primitives/blob/main/packages/react/slider/src/slider.tsx\n\t */\n\tprotected readonly _thumbOffset = computed(() => {\n\t\t// we can't compute the offset on the server\n\t\tif (isPlatformServer(this._platform)) {\n\t\t\treturn this._slider.percentage() + '%';\n\t\t}\n\n\t\tconst halfWidth = this._elementRef.nativeElement.offsetWidth / 2;\n\t\tconst offset = this.linearScale([0, 50], [0, halfWidth]);\n\t\tconst thumbInBoundsOffset = halfWidth - offset(this._slider.percentage());\n\t\tconst percent = this._slider.percentage();\n\n\t\treturn `calc(${percent}% + ${thumbInBoundsOffset}px)`;\n\t});\n\n\tconstructor() {\n\t\tconst mousedown = fromEvent<MouseEvent>(this._elementRef.nativeElement, 'pointerdown');\n\t\tconst mouseup = fromEvent<MouseEvent>(this._document, 'pointerup');\n\t\tconst mousemove = fromEvent<MouseEvent>(this._document, 'pointermove');\n\n\t\t// Listen for mousedown events on the slider thumb\n\t\tmousedown\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => mousemove.pipe(takeUntil(mouseup))),\n\t\t\t\ttakeUntilDestroyed(),\n\t\t\t)\n\t\t\t.subscribe(this.dragThumb.bind(this));\n\t}\n\n\t/** @internal */\n\tprivate dragThumb(event: MouseEvent): void {\n\t\tif (this._slider.mutableDisabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rect = this._slider.track()?.elementRef.nativeElement.getBoundingClientRect();\n\n\t\tif (!rect) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst percentage = (event.clientX - rect.left) / rect.width;\n\n\t\tthis._slider.setValue(\n\t\t\tthis._slider.min() + (this._slider.max() - this._slider.min()) * Math.max(0, Math.min(1, percentage)),\n\t\t);\n\t}\n\n\t/**\n\t * Handle keyboard events.\n\t * @param event\n\t */\n\t@HostListener('keydown', ['$event'])\n\tprotected handleKeydown(event: KeyboardEvent): void {\n\t\tconst dir = getComputedStyle(this._elementRef.nativeElement).direction;\n\t\tlet multiplier = event.shiftKey ? 10 : 1;\n\t\tconst value = this._slider.value();\n\n\t\t// if the slider is RTL, flip the multiplier\n\t\tif (dir === 'rtl') {\n\t\t\tmultiplier = event.shiftKey ? -10 : -1;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis._slider.setValue(Math.max(value - this._slider.step() * multiplier, this._slider.min()));\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis._slider.setValue(Math.min(value + this._slider.step() * multiplier, this._slider.max()));\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'Home':\n\t\t\t\tthis._slider.setValue(this._slider.min());\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'End':\n\t\t\t\tthis._slider.setValue(this._slider.max());\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate linearScale(input: readonly [number, number], output: readonly [number, number]): (value: number) => number {\n\t\treturn (value: number) => {\n\t\t\tif (input[0] === input[1] || output[0] === output[1]) return output[0];\n\t\t\tconst ratio = (output[1] - output[0]) / (input[1] - input[0]);\n\t\t\treturn output[0] + ratio * (value - input[0]);\n\t\t};\n\t}\n}\n","import { Directive, effect, EmbeddedViewRef, inject, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderTick]',\n})\nexport class BrnSliderTickDirective implements OnDestroy {\n\tprivate readonly _slider = injectBrnSlider();\n\tprivate readonly _templateRef = inject<TemplateRef<BrnSliderTickContext>>(TemplateRef);\n\tprivate readonly _viewContainer = inject(ViewContainerRef);\n\tprivate _ticks: EmbeddedViewRef<BrnSliderTickContext>[] = [];\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst ticks = this._slider.ticks();\n\n\t\t\t// remove any existing ticks\n\t\t\tthis._ticks.forEach((tick) => this._viewContainer.remove(this._viewContainer.indexOf(tick)));\n\n\t\t\t// create new ticks\n\t\t\tthis._ticks = [];\n\n\t\t\tticks.forEach((tick, index) => {\n\t\t\t\tconst view = this._viewContainer.createEmbeddedView(this._templateRef, {\n\t\t\t\t\t$implicit: tick,\n\t\t\t\t\tindex,\n\t\t\t\t\tposition: (index / (ticks.length - 1)) * 100,\n\t\t\t\t});\n\t\t\t\tthis._ticks.push(view);\n\t\t\t});\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._ticks.forEach((tick) => this._viewContainer.remove(this._viewContainer.indexOf(tick)));\n\t}\n}\n\ninterface BrnSliderTickContext {\n\t$implicit: number;\n\tindex: number;\n\tposition: number;\n}\n","import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnSliderTrackDirective } from './brn-slider-track.directive';\n\nexport const BrnSliderTrackToken = new InjectionToken<BrnSliderTrackDirective>('BrnSliderTrackToken');\n\nexport function provideBrnSliderTrack(slider: Type<BrnSliderTrackDirective>): ExistingProvider {\n\treturn { provide: BrnSliderTrackToken, useExisting: slider };\n}\n\nexport function injectBrnSliderTrack(): BrnSliderTrackDirective {\n\treturn inject(BrnSliderTrackToken);\n}\n","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport { provideBrnSliderTrack } from './brn-slider-track.token';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderTrack]',\n\tproviders: [provideBrnSliderTrack(BrnSliderTrackDirective)],\n\thost: {\n\t\t'[attr.data-disabled]': '_slider.mutableDisabled()',\n\t},\n})\nexport class BrnSliderTrackDirective {\n\t/** Access the slider */\n\tprotected readonly _slider = injectBrnSlider();\n\n\t/** @internal Access the slider track */\n\tpublic readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tconstructor() {\n\t\tthis._slider.track.set(this);\n\t}\n\n\t@HostListener('mousedown', ['$event'])\n\tprotected moveThumbToPoint(event: MouseEvent): void {\n\t\tif (this._slider.mutableDisabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst position = event.clientX;\n\t\tconst rect = this.elementRef.nativeElement.getBoundingClientRect();\n\t\tconst percentage = (position - rect.left) / rect.width;\n\n\t\t// update the value based on the position\n\t\tthis._slider.setValue(this._slider.min() + (this._slider.max() - this._slider.min()) * percentage);\n\t}\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n\tbooleanAttribute,\n\tChangeDetectorRef,\n\tcomputed,\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\tnumberAttribute,\n\tOnInit,\n\tsignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport type { BrnSliderTrackDirective } from './brn-slider-track.directive';\nimport { provideBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSlider]',\n\texportAs: 'brnSlider',\n\tproviders: [\n\t\tprovideBrnSlider(BrnSliderDirective),\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => BrnSliderDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n\thost: {\n\t\t'aria-orientation': 'horizontal',\n\t\t'(focusout)': '_onTouched?.()',\n\t},\n})\nexport class BrnSliderDirective implements ControlValueAccessor, OnInit {\n\tprivate readonly _changeDetectorRef = inject(ChangeDetectorRef);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tpublic readonly value = model<number>(0);\n\n\tpublic readonly min = input<number, NumberInput>(0, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly max = input<number, NumberInput>(100, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly step = input<number, NumberInput>(1, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Whether we should show tick marks */\n\tpublic readonly showTicks = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** @internal */\n\tpublic readonly ticks = computed(() => {\n\t\tconst value = this.value();\n\n\t\tif (!this.showTicks()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet numActive = Math.max(Math.floor((value - this.min()) / this.step()), 0);\n\t\tlet numInactive = Math.max(Math.floor((this.max() - value) / this.step()), 0);\n\n\t\tconst direction = getComputedStyle(this._elementRef.nativeElement).direction;\n\n\t\tdirection === 'rtl' ? numInactive++ : numActive++;\n\n\t\treturn Array(numActive).fill(true).concat(Array(numInactive).fill(false));\n\t});\n\n\t/** @internal */\n\tpublic readonly mutableDisabled = linkedSignal(() => this.disabled());\n\n\t/** @internal */\n\tpublic readonly percentage = computed(() => ((this.value() - this.min()) / (this.max() - this.min())) * 100);\n\n\t/** @internal Store the on change callback */\n\tprotected _onChange?: ChangeFn<number>;\n\n\t/** @internal Store the on touched callback */\n\tprotected _onTouched?: TouchFn;\n\n\t/** @internal Store the track */\n\tpublic readonly track = signal<BrnSliderTrackDirective | null>(null);\n\n\tngOnInit(): void {\n\t\t// ensure the value is within the min and max range\n\t\tif (this.value() < this.min()) {\n\t\t\tthis.value.set(this.min());\n\t\t}\n\t\tif (this.value() > this.max()) {\n\t\t\tthis.value.set(this.max());\n\t\t}\n\t}\n\n\tregisterOnChange(fn: (value: number) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.mutableDisabled.set(isDisabled);\n\t}\n\n\twriteValue(value: number): void {\n\t\tconst clampedValue = clamp(value, [this.min(), this.max()]);\n\t\tthis.value.set(clampedValue);\n\n\t\tif (value !== clampedValue) {\n\t\t\tthis._onChange?.(clampedValue);\n\t\t}\n\n\t\tthis._changeDetectorRef.detectChanges();\n\t}\n\n\tsetValue(value: number): void {\n\t\tconst decimalCount = getDecimalCount(this.step());\n\t\tconst snapToStep = roundValue(\n\t\t\tMath.round((value - this.min()) / this.step()) * this.step() + this.min(),\n\t\t\tdecimalCount,\n\t\t);\n\n\t\tvalue = clamp(snapToStep, [this.min(), this.max()]);\n\n\t\tthis.value.set(value);\n\t\tthis._onChange?.(value);\n\t}\n}\n\nfunction roundValue(value: number, decimalCount: number): number {\n\tconst rounder = Math.pow(10, decimalCount);\n\treturn Math.round(value * rounder) / rounder;\n}\n\nfunction getDecimalCount(value: number): number {\n\treturn (String(value).split('.')[1] || '').length;\n}\n\nfunction clamp(value: number, [min, max]: [number, number]): number {\n\treturn Math.min(max, Math.max(min, value));\n}\n","import { BrnSliderRangeDirective } from './lib/brn-slider-range.directive';\nimport { BrnSliderThumbDirective } from './lib/brn-slider-thumb.directive';\nimport { BrnSliderTickDirective } from './lib/brn-slider-tick.directive';\nimport { BrnSliderTrackDirective } from './lib/brn-slider-track.directive';\nimport { BrnSliderDirective } from './lib/brn-slider.directive';\n\nexport * from './lib/brn-slider-range.directive';\nexport * from './lib/brn-slider-thumb.directive';\nexport * from './lib/brn-slider-tick.directive';\nexport * from './lib/brn-slider-track.directive';\nexport * from './lib/brn-slider.directive';\nexport * from './lib/brn-slider.token';\n\nexport const BrnSliderImports = [\n\tBrnSliderDirective,\n\tBrnSliderTrackDirective,\n\tBrnSliderThumbDirective,\n\tBrnSliderRangeDirective,\n\tBrnSliderTickDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spartan-ng-brain-slider.mjs","sources":["../../../../libs/brain/slider/src/lib/brn-slider.token.ts","../../../../libs/brain/slider/src/lib/brn-slider.ts","../../../../libs/brain/slider/src/lib/brn-slider-range.ts","../../../../libs/brain/slider/src/lib/brn-slider-thumb.ts","../../../../libs/brain/slider/src/lib/brn-slider-tick.ts","../../../../libs/brain/slider/src/lib/brn-slider-track.token.ts","../../../../libs/brain/slider/src/lib/brn-slider-track.ts","../../../../libs/brain/slider/src/index.ts","../../../../libs/brain/slider/src/spartan-ng-brain-slider.ts"],"sourcesContent":["import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnSlider } from './brn-slider';\n\nconst BrnSliderToken = new InjectionToken<BrnSlider>('BrnSliderToken');\n\nexport function provideBrnSlider(slider: Type<BrnSlider>): ExistingProvider {\n\treturn { provide: BrnSliderToken, useExisting: slider };\n}\n\nexport function injectBrnSlider(): BrnSlider {\n\treturn inject(BrnSliderToken);\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n\tbooleanAttribute,\n\tChangeDetectorRef,\n\tcomputed,\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\tnumberAttribute,\n\tOnInit,\n\tsignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport type { BrnSliderTrack } from './brn-slider-track';\nimport { provideBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSlider]',\n\texportAs: 'brnSlider',\n\tproviders: [\n\t\tprovideBrnSlider(BrnSlider),\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => BrnSlider),\n\t\t\tmulti: true,\n\t\t},\n\t],\n\thost: {\n\t\t'aria-orientation': 'horizontal',\n\t\t'(focusout)': '_onTouched?.()',\n\t},\n})\nexport class BrnSlider implements ControlValueAccessor, OnInit {\n\tprivate readonly _changeDetectorRef = inject(ChangeDetectorRef);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tpublic readonly value = model<number>(0);\n\n\tpublic readonly min = input<number, NumberInput>(0, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly max = input<number, NumberInput>(100, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly step = input<number, NumberInput>(1, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Whether we should show tick marks */\n\tpublic readonly showTicks = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** @internal */\n\tpublic readonly ticks = computed(() => {\n\t\tconst value = this.value();\n\n\t\tif (!this.showTicks()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet numActive = Math.max(Math.floor((value - this.min()) / this.step()), 0);\n\t\tlet numInactive = Math.max(Math.floor((this.max() - value) / this.step()), 0);\n\n\t\tconst direction = getComputedStyle(this._elementRef.nativeElement).direction;\n\n\t\tdirection === 'rtl' ? numInactive++ : numActive++;\n\n\t\treturn Array(numActive).fill(true).concat(Array(numInactive).fill(false));\n\t});\n\n\t/** @internal */\n\tpublic readonly mutableDisabled = linkedSignal(() => this.disabled());\n\n\t/** @internal */\n\tpublic readonly percentage = computed(() => ((this.value() - this.min()) / (this.max() - this.min())) * 100);\n\n\t/** @internal Store the on change callback */\n\tprotected _onChange?: ChangeFn<number>;\n\n\t/** @internal Store the on touched callback */\n\tprotected _onTouched?: TouchFn;\n\n\t/** @internal Store the track */\n\tpublic readonly track = signal<BrnSliderTrack | null>(null);\n\n\tngOnInit(): void {\n\t\t// ensure the value is within the min and max range\n\t\tif (this.value() < this.min()) {\n\t\t\tthis.value.set(this.min());\n\t\t}\n\t\tif (this.value() > this.max()) {\n\t\t\tthis.value.set(this.max());\n\t\t}\n\t}\n\n\tregisterOnChange(fn: (value: number) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.mutableDisabled.set(isDisabled);\n\t}\n\n\twriteValue(value: number): void {\n\t\tconst clampedValue = clamp(value, [this.min(), this.max()]);\n\t\tthis.value.set(clampedValue);\n\n\t\tif (value !== clampedValue) {\n\t\t\tthis._onChange?.(clampedValue);\n\t\t}\n\n\t\tthis._changeDetectorRef.detectChanges();\n\t}\n\n\tsetValue(value: number): void {\n\t\tconst decimalCount = getDecimalCount(this.step());\n\t\tconst snapToStep = roundValue(\n\t\t\tMath.round((value - this.min()) / this.step()) * this.step() + this.min(),\n\t\t\tdecimalCount,\n\t\t);\n\n\t\tvalue = clamp(snapToStep, [this.min(), this.max()]);\n\n\t\tthis.value.set(value);\n\t\tthis._onChange?.(value);\n\t}\n}\n\nfunction roundValue(value: number, decimalCount: number): number {\n\tconst rounder = Math.pow(10, decimalCount);\n\treturn Math.round(value * rounder) / rounder;\n}\n\nfunction getDecimalCount(value: number): number {\n\treturn (String(value).split('.')[1] || '').length;\n}\n\nfunction clamp(value: number, [min, max]: [number, number]): number {\n\treturn Math.min(max, Math.max(min, value));\n}\n","import { Directive } from '@angular/core';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderRange]',\n\thost: {\n\t\t'[attr.data-disabled]': '_slider.mutableDisabled()',\n\t\t'[style.width.%]': '_slider.percentage()',\n\t},\n})\nexport class BrnSliderRange {\n\t/** Access the slider */\n\tprotected readonly _slider = injectBrnSlider();\n}\n","import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { computed, Directive, ElementRef, HostListener, inject, PLATFORM_ID } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\nimport { switchMap, takeUntil } from 'rxjs/operators';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderThumb]',\n\thost: {\n\t\trole: 'slider',\n\t\t'[attr.aria-valuenow]': '_slider.value()',\n\t\t'[attr.aria-valuemin]': '_slider.min()',\n\t\t'[attr.aria-valuemax]': '_slider.max()',\n\t\t'[attr.tabindex]': '_slider.mutableDisabled() ? -1 : 0',\n\t\t'[attr.data-disabled]': '_slider.mutableDisabled()',\n\t\t'[style.inset-inline-start]': '_thumbOffset()',\n\t},\n})\nexport class BrnSliderThumb {\n\tprotected readonly _slider = injectBrnSlider();\n\tprivate readonly _document = inject<Document>(DOCUMENT);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\t/**\n\t * Offsets the thumb centre point while sliding to ensure it remains\n\t * within the bounds of the slider when reaching the edges.\n\t * Based on https://github.com/radix-ui/primitives/blob/main/packages/react/slider/src/slider.tsx\n\t */\n\tprotected readonly _thumbOffset = computed(() => {\n\t\t// we can't compute the offset on the server\n\t\tif (isPlatformServer(this._platform)) {\n\t\t\treturn this._slider.percentage() + '%';\n\t\t}\n\n\t\tconst halfWidth = this._elementRef.nativeElement.offsetWidth / 2;\n\t\tconst offset = this.linearScale([0, 50], [0, halfWidth]);\n\t\tconst thumbInBoundsOffset = halfWidth - offset(this._slider.percentage());\n\t\tconst percent = this._slider.percentage();\n\n\t\treturn `calc(${percent}% + ${thumbInBoundsOffset}px)`;\n\t});\n\n\tconstructor() {\n\t\tconst mousedown = fromEvent<MouseEvent>(this._elementRef.nativeElement, 'pointerdown');\n\t\tconst mouseup = fromEvent<MouseEvent>(this._document, 'pointerup');\n\t\tconst mousemove = fromEvent<MouseEvent>(this._document, 'pointermove');\n\n\t\t// Listen for mousedown events on the slider thumb\n\t\tmousedown\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => mousemove.pipe(takeUntil(mouseup))),\n\t\t\t\ttakeUntilDestroyed(),\n\t\t\t)\n\t\t\t.subscribe(this.dragThumb.bind(this));\n\t}\n\n\t/** @internal */\n\tprivate dragThumb(event: MouseEvent): void {\n\t\tif (this._slider.mutableDisabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rect = this._slider.track()?.elementRef.nativeElement.getBoundingClientRect();\n\n\t\tif (!rect) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst percentage = (event.clientX - rect.left) / rect.width;\n\n\t\tthis._slider.setValue(\n\t\t\tthis._slider.min() + (this._slider.max() - this._slider.min()) * Math.max(0, Math.min(1, percentage)),\n\t\t);\n\t}\n\n\t/**\n\t * Handle keyboard events.\n\t * @param event\n\t */\n\t@HostListener('keydown', ['$event'])\n\tprotected handleKeydown(event: KeyboardEvent): void {\n\t\tconst dir = getComputedStyle(this._elementRef.nativeElement).direction;\n\t\tlet multiplier = event.shiftKey ? 10 : 1;\n\t\tconst value = this._slider.value();\n\n\t\t// if the slider is RTL, flip the multiplier\n\t\tif (dir === 'rtl') {\n\t\t\tmultiplier = event.shiftKey ? -10 : -1;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis._slider.setValue(Math.max(value - this._slider.step() * multiplier, this._slider.min()));\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis._slider.setValue(Math.min(value + this._slider.step() * multiplier, this._slider.max()));\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'Home':\n\t\t\t\tthis._slider.setValue(this._slider.min());\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'End':\n\t\t\t\tthis._slider.setValue(this._slider.max());\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate linearScale(input: readonly [number, number], output: readonly [number, number]): (value: number) => number {\n\t\treturn (value: number) => {\n\t\t\tif (input[0] === input[1] || output[0] === output[1]) return output[0];\n\t\t\tconst ratio = (output[1] - output[0]) / (input[1] - input[0]);\n\t\t\treturn output[0] + ratio * (value - input[0]);\n\t\t};\n\t}\n}\n","import { Directive, effect, EmbeddedViewRef, inject, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderTick]',\n})\nexport class BrnSliderTick implements OnDestroy {\n\tprivate readonly _slider = injectBrnSlider();\n\tprivate readonly _templateRef = inject<TemplateRef<BrnSliderTickContext>>(TemplateRef);\n\tprivate readonly _viewContainer = inject(ViewContainerRef);\n\tprivate _ticks: EmbeddedViewRef<BrnSliderTickContext>[] = [];\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst ticks = this._slider.ticks();\n\n\t\t\t// remove any existing ticks\n\t\t\tthis._ticks.forEach((tick) => this._viewContainer.remove(this._viewContainer.indexOf(tick)));\n\n\t\t\t// create new ticks\n\t\t\tthis._ticks = [];\n\n\t\t\tticks.forEach((tick, index) => {\n\t\t\t\tconst view = this._viewContainer.createEmbeddedView(this._templateRef, {\n\t\t\t\t\t$implicit: tick,\n\t\t\t\t\tindex,\n\t\t\t\t\tposition: (index / (ticks.length - 1)) * 100,\n\t\t\t\t});\n\t\t\t\tthis._ticks.push(view);\n\t\t\t});\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._ticks.forEach((tick) => this._viewContainer.remove(this._viewContainer.indexOf(tick)));\n\t}\n}\n\ninterface BrnSliderTickContext {\n\t$implicit: number;\n\tindex: number;\n\tposition: number;\n}\n","import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnSliderTrack } from './brn-slider-track';\n\nexport const BrnSliderTrackToken = new InjectionToken<BrnSliderTrack>('BrnSliderTrackToken');\n\nexport function provideBrnSliderTrack(slider: Type<BrnSliderTrack>): ExistingProvider {\n\treturn { provide: BrnSliderTrackToken, useExisting: slider };\n}\n\nexport function injectBrnSliderTrack(): BrnSliderTrack {\n\treturn inject(BrnSliderTrackToken);\n}\n","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport { provideBrnSliderTrack } from './brn-slider-track.token';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderTrack]',\n\tproviders: [provideBrnSliderTrack(BrnSliderTrack)],\n\thost: {\n\t\t'[attr.data-disabled]': '_slider.mutableDisabled()',\n\t},\n})\nexport class BrnSliderTrack {\n\t/** Access the slider */\n\tprotected readonly _slider = injectBrnSlider();\n\n\t/** @internal Access the slider track */\n\tpublic readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tconstructor() {\n\t\tthis._slider.track.set(this);\n\t}\n\n\t@HostListener('mousedown', ['$event'])\n\tprotected moveThumbToPoint(event: MouseEvent): void {\n\t\tif (this._slider.mutableDisabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst position = event.clientX;\n\t\tconst rect = this.elementRef.nativeElement.getBoundingClientRect();\n\t\tconst percentage = (position - rect.left) / rect.width;\n\n\t\t// update the value based on the position\n\t\tthis._slider.setValue(this._slider.min() + (this._slider.max() - this._slider.min()) * percentage);\n\t}\n}\n","import { BrnSlider } from './lib/brn-slider';\nimport { BrnSliderRange } from './lib/brn-slider-range';\nimport { BrnSliderThumb } from './lib/brn-slider-thumb';\nimport { BrnSliderTick } from './lib/brn-slider-tick';\nimport { BrnSliderTrack } from './lib/brn-slider-track';\n\nexport * from './lib/brn-slider';\nexport * from './lib/brn-slider-range';\nexport * from './lib/brn-slider-thumb';\nexport * from './lib/brn-slider-tick';\nexport * from './lib/brn-slider-track';\nexport * from './lib/brn-slider.token';\n\nexport const BrnSliderImports = [BrnSlider, BrnSliderTrack, BrnSliderThumb, BrnSliderRange, BrnSliderTick] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}