@spartan-ng/brain 0.0.1-alpha.492 → 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.
- package/accordion/index.d.ts +8 -8
- package/accordion/lib/{brn-accordion-content.component.d.ts → brn-accordion-content.d.ts} +3 -3
- package/accordion/lib/{brn-accordion.directive.d.ts → brn-accordion.d.ts} +11 -11
- package/alert-dialog/index.d.ts +20 -20
- package/alert-dialog/lib/brn-alert-dialog-content.d.ts +6 -0
- package/alert-dialog/lib/brn-alert-dialog-description.d.ts +6 -0
- package/alert-dialog/lib/brn-alert-dialog-overlay.d.ts +6 -0
- package/alert-dialog/lib/brn-alert-dialog-title.d.ts +6 -0
- package/alert-dialog/lib/brn-alert-dialog-trigger.d.ts +9 -0
- package/alert-dialog/lib/brn-alert-dialog.d.ts +7 -0
- package/avatar/index.d.ts +9 -9
- package/avatar/lib/brn-avatar.d.ts +7 -0
- package/avatar/lib/fallback/brn-avatar-fallback.d.ts +9 -0
- package/avatar/lib/fallback/index.d.ts +1 -1
- package/avatar/lib/image/brn-avatar-image.d.ts +9 -0
- package/avatar/lib/image/index.d.ts +1 -1
- package/calendar/index.d.ts +32 -32
- package/calendar/lib/{brn-calendar-cell-button.directive.d.ts → brn-calendar-cell-button.d.ts} +4 -4
- package/calendar/lib/brn-calendar-cell.d.ts +5 -0
- package/calendar/lib/brn-calendar-grid.d.ts +7 -0
- package/calendar/lib/brn-calendar-header.d.ts +7 -0
- package/calendar/lib/{brn-calendar-next-button.directive.d.ts → brn-calendar-next-button.d.ts} +3 -3
- package/calendar/lib/{brn-calendar-previous-button.directive.d.ts → brn-calendar-previous-button.d.ts} +3 -3
- package/calendar/lib/{brn-calendar-week.directive.d.ts → brn-calendar-week.d.ts} +4 -4
- package/calendar/lib/{brn-calendar-weekday.directive.d.ts → brn-calendar-weekday.d.ts} +4 -4
- package/calendar/lib/{brn-calendar.directive.d.ts → brn-calendar.d.ts} +8 -8
- package/calendar/lib/brn-calendar.token.d.ts +6 -6
- package/calendar/lib/mode/{brn-calendar-multiple.directive.d.ts → brn-calendar-multiple.d.ts} +9 -9
- package/checkbox/index.d.ts +5 -5
- package/checkbox/lib/{brn-checkbox.component.d.ts → brn-checkbox.d.ts} +3 -3
- package/collapsible/index.d.ts +11 -11
- package/collapsible/lib/{brn-collapsible-content.component.d.ts → brn-collapsible-content.d.ts} +5 -5
- package/collapsible/lib/brn-collapsible-trigger.d.ts +9 -0
- package/collapsible/lib/{brn-collapsible.component.d.ts → brn-collapsible.d.ts} +3 -3
- package/command/index.d.ts +20 -20
- package/command/lib/brn-command-empty.d.ts +11 -0
- package/command/lib/{brn-command-group.directive.d.ts → brn-command-group.d.ts} +3 -3
- package/command/lib/{brn-command-item.directive.d.ts → brn-command-item.d.ts} +3 -3
- package/command/lib/brn-command-item.token.d.ts +3 -3
- package/command/lib/brn-command-list.d.ts +8 -0
- package/command/lib/{brn-command-search-input.directive.d.ts → brn-command-search-input.d.ts} +3 -3
- package/command/lib/brn-command-search-input.token.d.ts +3 -3
- package/command/lib/{brn-command.directive.d.ts → brn-command.d.ts} +5 -5
- package/command/lib/brn-command.token.d.ts +4 -4
- package/dialog/index.d.ts +23 -23
- package/dialog/lib/brn-dialog-close.d.ts +8 -0
- package/dialog/lib/brn-dialog-content.d.ts +12 -0
- package/dialog/lib/{brn-dialog-description.directive.d.ts → brn-dialog-description.d.ts} +3 -3
- package/dialog/lib/brn-dialog-overlay.d.ts +9 -0
- package/dialog/lib/brn-dialog-title.d.ts +8 -0
- package/dialog/lib/brn-dialog-trigger.d.ts +18 -0
- package/dialog/lib/{brn-dialog.component.d.ts → brn-dialog.d.ts} +3 -3
- package/fesm2022/spartan-ng-brain-accordion.mjs +25 -36
- package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs +79 -79
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-avatar.mjs +16 -16
- package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-calendar.mjs +239 -239
- package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-checkbox.mjs +8 -8
- package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-collapsible.mjs +17 -25
- package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-command.mjs +195 -195
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-dialog.mjs +98 -98
- package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-form-field.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-forms.mjs +3 -2
- package/fesm2022/spartan-ng-brain-forms.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-hover-card.mjs +21 -29
- package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-input-otp.mjs +44 -44
- package/fesm2022/spartan-ng-brain-input-otp.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-label.mjs +8 -8
- package/fesm2022/spartan-ng-brain-label.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-menu.mjs +102 -131
- package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-popover.mjs +75 -86
- package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-progress.mjs +28 -28
- package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-radio-group.mjs +17 -17
- package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-select.mjs +277 -277
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-separator.mjs +8 -8
- package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-sheet.mjs +69 -69
- package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-slider.mjs +136 -142
- package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-switch.mjs +26 -26
- package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tabs.mjs +28 -39
- package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle-group.mjs +18 -18
- package/fesm2022/spartan-ng-brain-toggle-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle.mjs +9 -9
- package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tooltip.mjs +31 -42
- package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
- package/form-field/lib/brn-form-field-control.d.ts +2 -2
- package/forms/lib/error-options.d.ts +1 -1
- package/hover-card/index.d.ts +6 -6
- package/hover-card/lib/brn-hover-card-content.service.d.ts +9 -9
- package/hover-card/lib/brn-hover-card.d.ts +9 -0
- package/input-otp/index.d.ts +8 -8
- package/input-otp/lib/{brn-input-otp-slot.component.d.ts → brn-input-otp-slot.d.ts} +4 -4
- package/input-otp/lib/{brn-input-otp.component.d.ts → brn-input-otp.d.ts} +3 -3
- package/input-otp/lib/brn-input-otp.token.d.ts +4 -4
- package/label/index.d.ts +3 -3
- package/label/lib/{brn-label.directive.d.ts → brn-label.d.ts} +3 -3
- package/menu/index.d.ts +32 -32
- package/menu/lib/{brn-context-menu-trigger.directive.d.ts → brn-context-menu-trigger.d.ts} +3 -3
- package/menu/lib/brn-menu-bar.d.ts +6 -0
- package/menu/lib/brn-menu-group.d.ts +6 -0
- package/menu/lib/brn-menu-item-checkbox.d.ts +11 -0
- package/menu/lib/brn-menu-item-radio.d.ts +11 -0
- package/menu/lib/brn-menu-item.d.ts +10 -0
- package/menu/lib/brn-menu-trigger.d.ts +10 -0
- package/menu/lib/{brn-menu.directive.d.ts → brn-menu.d.ts} +3 -3
- package/package.json +1 -1
- package/popover/index.d.ts +14 -14
- package/popover/lib/brn-popover-close.d.ts +6 -0
- package/popover/lib/brn-popover-content.d.ts +6 -0
- package/popover/lib/brn-popover-trigger.d.ts +10 -0
- package/popover/lib/brn-popover.d.ts +12 -0
- package/progress/index.d.ts +8 -8
- package/progress/lib/{brn-progress-indicator.component.d.ts → brn-progress-indicator.d.ts} +4 -4
- package/progress/lib/{brn-progress.component.d.ts → brn-progress.d.ts} +3 -3
- package/progress/lib/brn-progress.token.d.ts +3 -3
- package/radio-group/index.d.ts +8 -8
- package/radio-group/lib/{brn-radio-group.directive.d.ts → brn-radio-group.d.ts} +6 -6
- package/radio-group/lib/brn-radio-group.token.d.ts +3 -3
- package/radio-group/lib/{brn-radio.component.d.ts → brn-radio.d.ts} +6 -6
- package/select/index.d.ts +29 -29
- package/select/lib/{brn-select-content.component.d.ts → brn-select-content.d.ts} +15 -15
- package/select/lib/brn-select-content.token.d.ts +3 -3
- package/select/lib/brn-select-group.d.ts +6 -0
- package/select/lib/brn-select-label.d.ts +9 -0
- package/select/lib/{brn-select-option.directive.d.ts → brn-select-option.d.ts} +5 -5
- package/select/lib/{brn-select-placeholder.directive.d.ts → brn-select-placeholder.d.ts} +3 -3
- package/select/lib/{brn-select-trigger.directive.d.ts → brn-select-trigger.d.ts} +4 -4
- package/select/lib/brn-select-value-template.d.ts +11 -0
- package/select/lib/{brn-select-value.component.d.ts → brn-select-value.d.ts} +8 -8
- package/select/lib/{brn-select.component.d.ts → brn-select.d.ts} +12 -12
- package/select/lib/brn-select.token.d.ts +3 -3
- package/separator/index.d.ts +3 -3
- package/separator/lib/{brn-separator.component.d.ts → brn-separator.d.ts} +3 -3
- package/sheet/index.d.ts +23 -23
- package/sheet/lib/brn-sheet-close.d.ts +6 -0
- package/sheet/lib/brn-sheet-content.d.ts +8 -0
- package/sheet/lib/brn-sheet-description.d.ts +6 -0
- package/sheet/lib/brn-sheet-overlay.d.ts +6 -0
- package/sheet/lib/brn-sheet-title.d.ts +6 -0
- package/sheet/lib/brn-sheet-trigger.d.ts +9 -0
- package/sheet/lib/brn-sheet.d.ts +10 -0
- package/slider/index.d.ts +11 -11
- package/slider/lib/brn-slider-range.d.ts +7 -0
- package/slider/lib/{brn-slider-thumb.directive.d.ts → brn-slider-thumb.d.ts} +4 -4
- package/slider/lib/brn-slider-tick.d.ts +12 -0
- package/slider/lib/{brn-slider-track.directive.d.ts → brn-slider-track.d.ts} +4 -4
- package/slider/lib/brn-slider-track.token.d.ts +4 -4
- package/slider/lib/{brn-slider.directive.d.ts → brn-slider.d.ts} +5 -5
- package/slider/lib/brn-slider.token.d.ts +3 -3
- package/switch/index.d.ts +8 -8
- package/switch/lib/brn-switch-thumb.d.ts +5 -0
- package/switch/lib/{brn-switch.component.d.ts → brn-switch.d.ts} +3 -3
- package/tabs/index.d.ts +15 -15
- package/tabs/lib/{brn-tabs-content.directive.d.ts → brn-tabs-content.d.ts} +3 -3
- package/tabs/lib/{brn-tabs-list.directive.d.ts → brn-tabs-list.d.ts} +6 -6
- package/tabs/lib/{brn-tabs-paginated-list.directive.d.ts → brn-tabs-paginated-list.d.ts} +3 -3
- package/tabs/lib/{brn-tabs-trigger.directive.d.ts → brn-tabs-trigger.d.ts} +4 -4
- package/tabs/lib/{brn-tabs.directive.d.ts → brn-tabs.d.ts} +9 -9
- package/toggle/index.d.ts +3 -3
- package/toggle/lib/{brn-toggle.directive.d.ts → brn-toggle.d.ts} +3 -3
- package/toggle-group/index.d.ts +6 -6
- package/toggle-group/lib/{brn-toggle-group.component.d.ts → brn-toggle-group.d.ts} +8 -8
- package/toggle-group/lib/brn-toggle-group.token.d.ts +3 -3
- package/toggle-group/lib/{brn-toggle-item.directive.d.ts → brn-toggle-item.d.ts} +4 -4
- package/tooltip/index.d.ts +14 -14
- package/tooltip/lib/brn-tooltip-content-template.d.ts +8 -0
- package/tooltip/lib/{brn-tooltip-content.component.d.ts → brn-tooltip-content.d.ts} +3 -3
- package/tooltip/lib/{brn-tooltip-trigger.directive.d.ts → brn-tooltip-trigger.d.ts} +3 -3
- package/tooltip/lib/brn-tooltip.d.ts +7 -0
- package/tooltip/lib/brn-tooltip.token.d.ts +1 -1
- package/alert-dialog/lib/brn-alert-dialog-content.directive.d.ts +0 -6
- package/alert-dialog/lib/brn-alert-dialog-description.directive.d.ts +0 -6
- package/alert-dialog/lib/brn-alert-dialog-overlay.component.d.ts +0 -6
- package/alert-dialog/lib/brn-alert-dialog-title.directive.d.ts +0 -6
- package/alert-dialog/lib/brn-alert-dialog-trigger.directive.d.ts +0 -9
- package/alert-dialog/lib/brn-alert-dialog.component.d.ts +0 -7
- package/avatar/lib/brn-avatar.component.d.ts +0 -7
- package/avatar/lib/fallback/brn-avatar-fallback.directive.d.ts +0 -9
- package/avatar/lib/image/brn-avatar-image.directive.d.ts +0 -9
- package/calendar/lib/brn-calendar-cell.directive.d.ts +0 -5
- package/calendar/lib/brn-calendar-grid.directive.d.ts +0 -7
- package/calendar/lib/brn-calendar-header.directive.d.ts +0 -7
- package/collapsible/lib/brn-collapsible-trigger.directive.d.ts +0 -9
- package/command/lib/brn-command-empty.directive.d.ts +0 -11
- package/command/lib/brn-command-list.directive.d.ts +0 -8
- package/dialog/lib/brn-dialog-close.directive.d.ts +0 -8
- package/dialog/lib/brn-dialog-content.directive.d.ts +0 -12
- package/dialog/lib/brn-dialog-overlay.component.d.ts +0 -9
- package/dialog/lib/brn-dialog-title.directive.d.ts +0 -8
- package/dialog/lib/brn-dialog-trigger.directive.d.ts +0 -18
- package/hover-card/lib/brn-hover-card.component.d.ts +0 -9
- package/menu/lib/brn-menu-bar.directive.d.ts +0 -6
- package/menu/lib/brn-menu-group.directive.d.ts +0 -6
- package/menu/lib/brn-menu-item-checkbox.directive.d.ts +0 -11
- package/menu/lib/brn-menu-item-radio.directive.d.ts +0 -11
- package/menu/lib/brn-menu-item.directive.d.ts +0 -10
- package/menu/lib/brn-menu-trigger.directive.d.ts +0 -10
- package/popover/lib/brn-popover-close.directive.d.ts +0 -6
- package/popover/lib/brn-popover-content.directive.d.ts +0 -6
- package/popover/lib/brn-popover-trigger.directive.d.ts +0 -10
- package/popover/lib/brn-popover.component.d.ts +0 -12
- package/select/lib/brn-select-group.directive.d.ts +0 -6
- package/select/lib/brn-select-label.directive.d.ts +0 -9
- package/select/lib/brn-select-value.directive.d.ts +0 -11
- package/sheet/lib/brn-sheet-close.directive.d.ts +0 -6
- package/sheet/lib/brn-sheet-content.directive.d.ts +0 -8
- package/sheet/lib/brn-sheet-description.directive.d.ts +0 -6
- package/sheet/lib/brn-sheet-overlay.component.d.ts +0 -6
- package/sheet/lib/brn-sheet-title.directive.d.ts +0 -6
- package/sheet/lib/brn-sheet-trigger.directive.d.ts +0 -9
- package/sheet/lib/brn-sheet.component.d.ts +0 -10
- package/slider/lib/brn-slider-range.directive.d.ts +0 -7
- package/slider/lib/brn-slider-tick.directive.d.ts +0 -12
- package/switch/lib/brn-switch-thumb.component.d.ts +0 -5
- package/tooltip/lib/brn-tooltip-content.directive.d.ts +0 -8
- 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":";;;;;AAMM,MAAO,sBAAuB,SAAQ,uBAAuB,CAAA;0HAAtD,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,iBAAA;;;ACuBK,MAAO,iBAAkB,SAAQ,kBAAkB,CAAA;IACxC,SAAS,GAAG,KAAK,CAAsC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChF,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACzD,IAAA,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;AAC3E,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,SAAS,CAAC,MAAK;AACd,gBAAA,IAAI,IAAI,KAAK,KAAK,EAAE;AACnB,oBAAA,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;;AAExE,gBAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;AACtB,oBAAA,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;;AAE3E,gBAAA,IAAI,IAAI,KAAK,MAAM,EAAE;AACpB,oBAAA,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;;AAEzE,gBAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AACrB,oBAAA,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;;AAE3E,aAAC,CAAC;AACH,SAAC,CAAC;;0HAtBS,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAVlB;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,EAAC,MAAM,iBAAiB,EAAC;AAChD,aAAA;SACD,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARS;;AAET,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAWW,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAf7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE;;AAET,CAAA,CAAA;AACD,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,EAAC,uBAAuB,EAAC;AAChD,yBAAA;AACD,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,UAAU;AACpB,iBAAA;;;ACXK,MAAO,wBAA4B,SAAQ,yBAA4B,CAAA;AAC5D,IAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI;0HADzC,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EALzB;AACV,YAAA,mCAAmC,EAAC,MAAM,wBAAwB,EAAC;AACnE,YAAA,kCAAkC,EAAC,MAAM,wBAAwB,EAAC;AAClE,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEW,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE;AACV,wBAAA,mCAAmC,EAAC,MAAK,wBAAyB,EAAC;AACnE,wBAAA,kCAAkC,EAAC,MAAK,wBAAyB,EAAC;AAClE,qBAAA;AACD,iBAAA;;;ACNK,MAAO,4BAA6B,SAAQ,6BAA6B,CAAA;0HAAlE,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACL,wBAAA,MAAM,EAAE,OAAO;AACf,qBAAA;AACD,iBAAA;;;ACGK,MAAO,wBAAyB,SAAQ,yBAAyB,CAAA;0HAA1D,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EALzB,CAAC,kCAAkC,EAAC,MAAM,wBAAwB,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EACrE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAIA,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,SAAS,EAAE,CAAC,kCAAkC,EAAC,MAAK,wBAAyB,EAAC,CAAC;AAC/E,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,iBAAA;;;ACDK,MAAO,sBAAuB,SAAQ,uBAAuB,CAAA;0HAAtD,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACL,wBAAA,MAAM,EAAE,OAAO;AACf,qBAAA;AACD,iBAAA;;;ACDK,MAAO,wBAAyB,SAAQ,yBAAyB,CAAA;IACrD,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEvD,IAAA,IAAI,GAAG,KAAK,CAAkD,SAAS,CAAC;IAE/E,IAAI,GAAA;AACZ,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;;QAEvC,KAAK,CAAC,IAAI,EAAE;;0HAVD,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,iBAAA;;;ACYM,MAAM,eAAe,GAAG;IAC9B,iBAAiB;IACjB,wBAAwB;IACxB,wBAAwB;IACxB,sBAAsB;IACtB,wBAAwB;IACxB,sBAAsB;IACtB,4BAA4B;;MAOhB,cAAc,CAAA;0HAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAd,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAb1B,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB;YACxB,sBAAsB;AACtB,YAAA,4BAA4B,aAN5B,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB;YACxB,sBAAsB;YACtB,4BAA4B,CAAA,EAAA,CAAA;2HAOhB,cAAc,EAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;AAC7B,oBAAA,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;AAC7B,iBAAA;;;AC/BD;;AAEG;;;;"}
|
|
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,
|
|
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
|
|
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:
|
|
21
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type:
|
|
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:
|
|
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
|
|
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:
|
|
116
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type:
|
|
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:
|
|
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
|
|
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:
|
|
163
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type:
|
|
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:
|
|
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
|
|
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:
|
|
199
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type:
|
|
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:
|
|
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(
|
|
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
|
-
|
|
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 {
|
|
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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"}
|