@spartan-ng/brain 0.0.1-alpha.422 → 0.0.1-alpha.423
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/fesm2022/spartan-ng-brain-accordion.mjs +16 -16
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs +22 -22
- package/fesm2022/spartan-ng-brain-avatar.mjs +16 -16
- package/fesm2022/spartan-ng-brain-calendar.mjs +31 -31
- package/fesm2022/spartan-ng-brain-checkbox.mjs +7 -8
- package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-collapsible.mjs +13 -13
- package/fesm2022/spartan-ng-brain-command.mjs +22 -22
- package/fesm2022/spartan-ng-brain-dialog.mjs +28 -28
- package/fesm2022/spartan-ng-brain-form-field.mjs +3 -3
- package/fesm2022/spartan-ng-brain-form-field.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-forms.mjs +6 -6
- package/fesm2022/spartan-ng-brain-hover-card.mjs +16 -16
- package/fesm2022/spartan-ng-brain-label.mjs +7 -7
- package/fesm2022/spartan-ng-brain-menu.mjs +40 -40
- package/fesm2022/spartan-ng-brain-popover.mjs +16 -16
- package/fesm2022/spartan-ng-brain-progress.mjs +10 -10
- package/fesm2022/spartan-ng-brain-radio-group.mjs +10 -10
- package/fesm2022/spartan-ng-brain-select.mjs +37 -38
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-separator.mjs +7 -7
- package/fesm2022/spartan-ng-brain-sheet.mjs +25 -25
- package/fesm2022/spartan-ng-brain-slider.mjs +22 -20
- package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-switch.mjs +10 -12
- package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-table.mjs +22 -24
- package/fesm2022/spartan-ng-brain-table.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tabs.mjs +19 -19
- package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle.mjs +14 -14
- package/fesm2022/spartan-ng-brain-tooltip.mjs +16 -17
- package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
- package/form-field/lib/brn-form-field-control.d.ts +1 -1
- package/package.json +5 -63
- package/slider/lib/brn-slider-track.directive.d.ts +1 -0
- package/tabs/lib/brn-tabs-paginated-list.directive.d.ts +1 -1
- package/esm2022/accordion/index.mjs +0 -31
- package/esm2022/accordion/lib/brn-accordion-content.component.mjs +0 -50
- package/esm2022/accordion/lib/brn-accordion.directive.mjs +0 -185
- package/esm2022/accordion/spartan-ng-brain-accordion.mjs +0 -5
- package/esm2022/alert-dialog/index.mjs +0 -45
- package/esm2022/alert-dialog/lib/brn-alert-dialog-content.directive.mjs +0 -17
- package/esm2022/alert-dialog/lib/brn-alert-dialog-description.directive.mjs +0 -18
- package/esm2022/alert-dialog/lib/brn-alert-dialog-overlay.component.mjs +0 -20
- package/esm2022/alert-dialog/lib/brn-alert-dialog-title.directive.mjs +0 -18
- package/esm2022/alert-dialog/lib/brn-alert-dialog-trigger.directive.mjs +0 -34
- package/esm2022/alert-dialog/lib/brn-alert-dialog.component.mjs +0 -41
- package/esm2022/alert-dialog/spartan-ng-brain-alert-dialog.mjs +0 -5
- package/esm2022/avatar/index.mjs +0 -23
- package/esm2022/avatar/lib/brn-avatar.component.mjs +0 -31
- package/esm2022/avatar/lib/fallback/brn-avatar-fallback.directive.mjs +0 -21
- package/esm2022/avatar/lib/fallback/index.mjs +0 -2
- package/esm2022/avatar/lib/image/brn-avatar-image.directive.mjs +0 -29
- package/esm2022/avatar/lib/image/index.mjs +0 -2
- package/esm2022/avatar/lib/util/hex-color-for.mjs +0 -22
- package/esm2022/avatar/lib/util/index.mjs +0 -4
- package/esm2022/avatar/lib/util/initials.pipe.mjs +0 -27
- package/esm2022/avatar/lib/util/is-bright.mjs +0 -12
- package/esm2022/avatar/spartan-ng-brain-avatar.mjs +0 -5
- package/esm2022/calendar/index.mjs +0 -62
- package/esm2022/calendar/lib/brn-calendar-cell-button.directive.mjs +0 -160
- package/esm2022/calendar/lib/brn-calendar-cell.directive.mjs +0 -17
- package/esm2022/calendar/lib/brn-calendar-grid.directive.mjs +0 -21
- package/esm2022/calendar/lib/brn-calendar-header.directive.mjs +0 -22
- package/esm2022/calendar/lib/brn-calendar-next-button.directive.mjs +0 -42
- package/esm2022/calendar/lib/brn-calendar-previous-button.directive.mjs +0 -42
- package/esm2022/calendar/lib/brn-calendar-week.directive.mjs +0 -67
- package/esm2022/calendar/lib/brn-calendar-weekday.directive.mjs +0 -48
- package/esm2022/calendar/lib/brn-calendar.directive.mjs +0 -154
- package/esm2022/calendar/lib/brn-calendar.token.mjs +0 -12
- package/esm2022/calendar/lib/i18n/calendar-i18n.mjs +0 -33
- package/esm2022/calendar/spartan-ng-brain-calendar.mjs +0 -5
- package/esm2022/checkbox/index.mjs +0 -18
- package/esm2022/checkbox/lib/brn-checkbox.component.mjs +0 -248
- package/esm2022/checkbox/spartan-ng-brain-checkbox.mjs +0 -5
- package/esm2022/collapsible/index.mjs +0 -30
- package/esm2022/collapsible/lib/brn-collapsible-content.component.mjs +0 -62
- package/esm2022/collapsible/lib/brn-collapsible-trigger.directive.mjs +0 -35
- package/esm2022/collapsible/lib/brn-collapsible.component.mjs +0 -33
- package/esm2022/collapsible/spartan-ng-brain-collapsible.mjs +0 -5
- package/esm2022/command/index.mjs +0 -48
- package/esm2022/command/lib/brn-command-empty.directive.mjs +0 -30
- package/esm2022/command/lib/brn-command-group.directive.mjs +0 -29
- package/esm2022/command/lib/brn-command-item.directive.mjs +0 -92
- package/esm2022/command/lib/brn-command-item.token.mjs +0 -6
- package/esm2022/command/lib/brn-command-list.directive.mjs +0 -21
- package/esm2022/command/lib/brn-command-search-input.directive.mjs +0 -81
- package/esm2022/command/lib/brn-command-search-input.token.mjs +0 -6
- package/esm2022/command/lib/brn-command.directive.mjs +0 -81
- package/esm2022/command/lib/brn-command.token.mjs +0 -9
- package/esm2022/command/spartan-ng-brain-command.mjs +0 -5
- package/esm2022/core/helpers/create-injection-token.mjs +0 -15
- package/esm2022/core/helpers/custom-element-class-settable.mjs +0 -3
- package/esm2022/core/helpers/dev-mode.mjs +0 -6
- package/esm2022/core/helpers/exposes-side.mjs +0 -3
- package/esm2022/core/helpers/exposes-state.mjs +0 -3
- package/esm2022/core/helpers/hlm.mjs +0 -6
- package/esm2022/core/helpers/table-classes-settable.mjs +0 -3
- package/esm2022/core/helpers/zone-free.mjs +0 -15
- package/esm2022/core/index.mjs +0 -8
- package/esm2022/core/spartan-ng-brain-core.mjs +0 -5
- package/esm2022/date-time/index.mjs +0 -3
- package/esm2022/date-time/lib/date-adapter.mjs +0 -16
- package/esm2022/date-time/lib/native-date-adapter.mjs +0 -155
- package/esm2022/date-time/spartan-ng-brain-date-time.mjs +0 -5
- package/esm2022/date-time-luxon/index.mjs +0 -2
- package/esm2022/date-time-luxon/lib/date-adapter.mjs +0 -85
- package/esm2022/date-time-luxon/spartan-ng-brain-date-time-luxon.mjs +0 -5
- package/esm2022/dialog/index.mjs +0 -56
- package/esm2022/dialog/lib/brn-dialog-close.directive.mjs +0 -24
- package/esm2022/dialog/lib/brn-dialog-content.directive.mjs +0 -41
- package/esm2022/dialog/lib/brn-dialog-description.directive.mjs +0 -25
- package/esm2022/dialog/lib/brn-dialog-options.mjs +0 -19
- package/esm2022/dialog/lib/brn-dialog-overlay.component.mjs +0 -33
- package/esm2022/dialog/lib/brn-dialog-ref.mjs +0 -54
- package/esm2022/dialog/lib/brn-dialog-state.mjs +0 -2
- package/esm2022/dialog/lib/brn-dialog-title.directive.mjs +0 -25
- package/esm2022/dialog/lib/brn-dialog-token.mjs +0 -25
- package/esm2022/dialog/lib/brn-dialog-trigger.directive.mjs +0 -47
- package/esm2022/dialog/lib/brn-dialog-utils.mjs +0 -12
- package/esm2022/dialog/lib/brn-dialog.component.mjs +0 -179
- package/esm2022/dialog/lib/brn-dialog.service.mjs +0 -128
- package/esm2022/dialog/spartan-ng-brain-dialog.mjs +0 -5
- package/esm2022/form-field/index.mjs +0 -2
- package/esm2022/form-field/lib/brn-form-field-control.mjs +0 -14
- package/esm2022/form-field/spartan-ng-brain-form-field.mjs +0 -5
- package/esm2022/forms/index.mjs +0 -4
- package/esm2022/forms/lib/control-value-accessor.mjs +0 -2
- package/esm2022/forms/lib/error-options.mjs +0 -26
- package/esm2022/forms/lib/error-state-tracker.mjs +0 -29
- package/esm2022/forms/spartan-ng-brain-forms.mjs +0 -5
- package/esm2022/hover-card/index.mjs +0 -29
- package/esm2022/hover-card/lib/brn-hover-card-content.service.mjs +0 -197
- package/esm2022/hover-card/lib/brn-hover-card.component.mjs +0 -28
- package/esm2022/hover-card/lib/createHoverObservable.mjs +0 -20
- package/esm2022/hover-card/spartan-ng-brain-hover-card.mjs +0 -5
- package/esm2022/index.mjs +0 -3
- package/esm2022/label/index.mjs +0 -17
- package/esm2022/label/lib/brn-label.directive.mjs +0 -49
- package/esm2022/label/spartan-ng-brain-label.mjs +0 -5
- package/esm2022/menu/index.mjs +0 -100
- package/esm2022/menu/lib/brn-context-menu-trigger.directive.mjs +0 -40
- package/esm2022/menu/lib/brn-menu-align.mjs +0 -15
- package/esm2022/menu/lib/brn-menu-bar.directive.mjs +0 -17
- package/esm2022/menu/lib/brn-menu-group.directive.mjs +0 -17
- package/esm2022/menu/lib/brn-menu-item-checkbox.directive.mjs +0 -30
- package/esm2022/menu/lib/brn-menu-item-radio.directive.mjs +0 -30
- package/esm2022/menu/lib/brn-menu-item.directive.mjs +0 -27
- package/esm2022/menu/lib/brn-menu-trigger.directive.mjs +0 -42
- package/esm2022/menu/lib/brn-menu.directive.mjs +0 -56
- package/esm2022/menu/spartan-ng-brain-menu.mjs +0 -5
- package/esm2022/popover/index.mjs +0 -35
- package/esm2022/popover/lib/brn-popover-close.directive.mjs +0 -15
- package/esm2022/popover/lib/brn-popover-content.directive.mjs +0 -17
- package/esm2022/popover/lib/brn-popover-trigger.directive.mjs +0 -43
- package/esm2022/popover/lib/brn-popover.component.mjs +0 -81
- package/esm2022/popover/spartan-ng-brain-popover.mjs +0 -5
- package/esm2022/progress/index.mjs +0 -21
- package/esm2022/progress/lib/brn-progress-indicator.component.mjs +0 -22
- package/esm2022/progress/lib/brn-progress.component.mjs +0 -61
- package/esm2022/progress/lib/brn-progress.token.mjs +0 -9
- package/esm2022/progress/spartan-ng-brain-progress.mjs +0 -5
- package/esm2022/radio-group/index.mjs +0 -20
- package/esm2022/radio-group/lib/brn-radio-group.directive.mjs +0 -90
- package/esm2022/radio-group/lib/brn-radio-group.token.mjs +0 -9
- package/esm2022/radio-group/lib/brn-radio.component.mjs +0 -191
- package/esm2022/radio-group/spartan-ng-brain-radio-group.mjs +0 -5
- package/esm2022/select/index.mjs +0 -66
- package/esm2022/select/lib/brn-select-content.component.mjs +0 -224
- package/esm2022/select/lib/brn-select-content.token.mjs +0 -9
- package/esm2022/select/lib/brn-select-group.directive.mjs +0 -19
- package/esm2022/select/lib/brn-select-label.directive.mjs +0 -23
- package/esm2022/select/lib/brn-select-option.directive.mjs +0 -69
- package/esm2022/select/lib/brn-select-placeholder.directive.mjs +0 -16
- package/esm2022/select/lib/brn-select-trigger.directive.mjs +0 -67
- package/esm2022/select/lib/brn-select-value.component.mjs +0 -68
- package/esm2022/select/lib/brn-select-value.directive.mjs +0 -16
- package/esm2022/select/lib/brn-select.component.mjs +0 -272
- package/esm2022/select/lib/brn-select.token.mjs +0 -9
- package/esm2022/select/spartan-ng-brain-select.mjs +0 -5
- package/esm2022/separator/index.mjs +0 -17
- package/esm2022/separator/lib/brn-separator.component.mjs +0 -24
- package/esm2022/separator/spartan-ng-brain-separator.mjs +0 -5
- package/esm2022/sheet/index.mjs +0 -50
- package/esm2022/sheet/lib/brn-sheet-close.directive.mjs +0 -15
- package/esm2022/sheet/lib/brn-sheet-content.directive.mjs +0 -25
- package/esm2022/sheet/lib/brn-sheet-description.directive.mjs +0 -18
- package/esm2022/sheet/lib/brn-sheet-overlay.component.mjs +0 -20
- package/esm2022/sheet/lib/brn-sheet-title.directive.mjs +0 -18
- package/esm2022/sheet/lib/brn-sheet-trigger.directive.mjs +0 -25
- package/esm2022/sheet/lib/brn-sheet.component.mjs +0 -57
- package/esm2022/sheet/spartan-ng-brain-sheet.mjs +0 -5
- package/esm2022/slider/index.mjs +0 -13
- package/esm2022/slider/lib/brn-slider-thumb.directive.mjs +0 -41
- package/esm2022/slider/lib/brn-slider-tick-mark.directive.mjs +0 -37
- package/esm2022/slider/lib/brn-slider-track-active-fill.directive.mjs +0 -29
- package/esm2022/slider/lib/brn-slider-track.directive.mjs +0 -297
- package/esm2022/slider/spartan-ng-brain-slider.mjs +0 -5
- package/esm2022/spartan-ng-brain.mjs +0 -5
- package/esm2022/switch/index.mjs +0 -20
- package/esm2022/switch/lib/brn-switch-thumb.component.mjs +0 -16
- package/esm2022/switch/lib/brn-switch.component.mjs +0 -236
- package/esm2022/switch/spartan-ng-brain-switch.mjs +0 -5
- package/esm2022/table/index.mjs +0 -47
- package/esm2022/table/lib/brn-cell-def.directive.mjs +0 -22
- package/esm2022/table/lib/brn-column-def.component.mjs +0 -82
- package/esm2022/table/lib/brn-column-manager.mjs +0 -61
- package/esm2022/table/lib/brn-footer-def.directive.mjs +0 -22
- package/esm2022/table/lib/brn-header-def.directive.mjs +0 -22
- package/esm2022/table/lib/brn-paginator.directive.mjs +0 -111
- package/esm2022/table/lib/brn-table.component.mjs +0 -169
- package/esm2022/table/spartan-ng-brain-table.mjs +0 -5
- package/esm2022/tabs/index.mjs +0 -32
- package/esm2022/tabs/lib/brn-tabs-list.directive.mjs +0 -66
- package/esm2022/tabs/lib/brn-tabs-paginated-list.directive.mjs +0 -525
- package/esm2022/tabs/lib/brn-tabs-trigger.directive.mjs +0 -136
- package/esm2022/tabs/spartan-ng-brain-tabs.mjs +0 -5
- package/esm2022/toggle/index.mjs +0 -31
- package/esm2022/toggle/lib/brn-toggle-group.component.mjs +0 -159
- package/esm2022/toggle/lib/brn-toggle-group.token.mjs +0 -9
- package/esm2022/toggle/lib/brn-toggle.directive.mjs +0 -65
- package/esm2022/toggle/spartan-ng-brain-toggle.mjs +0 -5
- package/esm2022/tooltip/index.mjs +0 -36
- package/esm2022/tooltip/lib/brn-tooltip-content.component.mjs +0 -221
- package/esm2022/tooltip/lib/brn-tooltip-content.directive.mjs +0 -22
- package/esm2022/tooltip/lib/brn-tooltip-trigger.directive.mjs +0 -629
- package/esm2022/tooltip/lib/brn-tooltip.directive.mjs +0 -15
- package/esm2022/tooltip/lib/brn-tooltip.token.mjs +0 -18
- package/esm2022/tooltip/lib/computed-previous.mjs +0 -46
- package/esm2022/tooltip/spartan-ng-brain-tooltip.mjs +0 -5
|
@@ -4,10 +4,10 @@ import { BrnDialogCloseDirective, BrnDialogComponent, BrnDialogContentDirective,
|
|
|
4
4
|
import { provideExposesStateProviderExisting, provideExposedSideProviderExisting, provideCustomClassSettableExisting } from '@spartan-ng/brain/core';
|
|
5
5
|
|
|
6
6
|
class BrnSheetCloseDirective extends BrnDialogCloseDirective {
|
|
7
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
7
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetCloseDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
8
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BrnSheetCloseDirective, isStandalone: true, selector: "button[brnSheetClose]", usesInheritance: true, ngImport: i0 });
|
|
9
9
|
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetCloseDirective, decorators: [{
|
|
11
11
|
type: Directive,
|
|
12
12
|
args: [{
|
|
13
13
|
selector: 'button[brnSheetClose]',
|
|
@@ -39,8 +39,8 @@ class BrnSheetComponent extends BrnDialogComponent {
|
|
|
39
39
|
});
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
43
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
42
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.1", type: BrnSheetComponent, isStandalone: true, selector: "brn-sheet", inputs: { sideInput: { classPropertyName: "sideInput", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
44
44
|
{
|
|
45
45
|
provide: BrnDialogComponent,
|
|
46
46
|
useExisting: forwardRef((() => BrnSheetComponent)),
|
|
@@ -49,7 +49,7 @@ class BrnSheetComponent extends BrnDialogComponent {
|
|
|
49
49
|
<ng-content />
|
|
50
50
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
51
51
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
52
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetComponent, decorators: [{
|
|
53
53
|
type: Component,
|
|
54
54
|
args: [{
|
|
55
55
|
selector: 'brn-sheet',
|
|
@@ -71,13 +71,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
71
71
|
|
|
72
72
|
class BrnSheetContentDirective extends BrnDialogContentDirective {
|
|
73
73
|
side = inject(BrnSheetComponent).side;
|
|
74
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
75
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
74
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetContentDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
75
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BrnSheetContentDirective, isStandalone: true, selector: "[brnSheetContent]", providers: [
|
|
76
76
|
provideExposesStateProviderExisting((() => BrnSheetContentDirective)),
|
|
77
77
|
provideExposedSideProviderExisting((() => BrnSheetContentDirective)),
|
|
78
78
|
], usesInheritance: true, ngImport: i0 });
|
|
79
79
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetContentDirective, decorators: [{
|
|
81
81
|
type: Directive,
|
|
82
82
|
args: [{
|
|
83
83
|
selector: '[brnSheetContent]',
|
|
@@ -90,10 +90,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
90
90
|
}] });
|
|
91
91
|
|
|
92
92
|
class BrnSheetDescriptionDirective extends BrnDialogDescriptionDirective {
|
|
93
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
94
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
93
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetDescriptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
94
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BrnSheetDescriptionDirective, isStandalone: true, selector: "[brnSheetDescription]", host: { properties: { "id": "_id()" } }, usesInheritance: true, ngImport: i0 });
|
|
95
95
|
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
96
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetDescriptionDirective, decorators: [{
|
|
97
97
|
type: Directive,
|
|
98
98
|
args: [{
|
|
99
99
|
selector: '[brnSheetDescription]',
|
|
@@ -105,10 +105,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
105
105
|
}] });
|
|
106
106
|
|
|
107
107
|
class BrnSheetOverlayComponent extends BrnDialogOverlayComponent {
|
|
108
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
109
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
108
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetOverlayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
109
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: BrnSheetOverlayComponent, isStandalone: true, selector: "brn-sheet-overlay", providers: [provideCustomClassSettableExisting((() => BrnSheetOverlayComponent))], usesInheritance: true, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
110
110
|
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetOverlayComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
113
113
|
args: [{
|
|
114
114
|
selector: 'brn-sheet-overlay',
|
|
@@ -121,10 +121,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
121
121
|
}] });
|
|
122
122
|
|
|
123
123
|
class BrnSheetTitleDirective extends BrnDialogTitleDirective {
|
|
124
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
125
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
124
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetTitleDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
125
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BrnSheetTitleDirective, isStandalone: true, selector: "[brnSheetTitle]", host: { properties: { "id": "_id()" } }, usesInheritance: true, ngImport: i0 });
|
|
126
126
|
}
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
127
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetTitleDirective, decorators: [{
|
|
128
128
|
type: Directive,
|
|
129
129
|
args: [{
|
|
130
130
|
selector: '[brnSheetTitle]',
|
|
@@ -145,10 +145,10 @@ class BrnSheetTriggerDirective extends BrnDialogTriggerDirective {
|
|
|
145
145
|
}
|
|
146
146
|
super.open();
|
|
147
147
|
}
|
|
148
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
149
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
148
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetTriggerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
149
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.1", type: BrnSheetTriggerDirective, isStandalone: true, selector: "button[brnSheetTrigger]", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
150
150
|
}
|
|
151
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
151
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetTriggerDirective, decorators: [{
|
|
152
152
|
type: Directive,
|
|
153
153
|
args: [{
|
|
154
154
|
selector: 'button[brnSheetTrigger]',
|
|
@@ -166,8 +166,8 @@ const BrnSheetImports = [
|
|
|
166
166
|
BrnSheetDescriptionDirective,
|
|
167
167
|
];
|
|
168
168
|
class BrnSheetModule {
|
|
169
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
170
|
-
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
169
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
170
|
+
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetModule, imports: [BrnSheetComponent,
|
|
171
171
|
BrnSheetOverlayComponent,
|
|
172
172
|
BrnSheetTriggerDirective,
|
|
173
173
|
BrnSheetCloseDirective,
|
|
@@ -180,9 +180,9 @@ class BrnSheetModule {
|
|
|
180
180
|
BrnSheetContentDirective,
|
|
181
181
|
BrnSheetTitleDirective,
|
|
182
182
|
BrnSheetDescriptionDirective] });
|
|
183
|
-
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
183
|
+
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetModule });
|
|
184
184
|
}
|
|
185
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSheetModule, decorators: [{
|
|
186
186
|
type: NgModule,
|
|
187
187
|
args: [{
|
|
188
188
|
imports: [...BrnSheetImports],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { isPlatformBrowser } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { InjectionToken, computed, signal, inject, PLATFORM_ID, ElementRef, Renderer2, effect, untracked, Directive, input, model, Injector, contentChild, forwardRef } from '@angular/core';
|
|
3
|
+
import { InjectionToken, computed, signal, inject, PLATFORM_ID, ElementRef, Renderer2, ChangeDetectorRef, effect, untracked, Directive, input, model, Injector, contentChild, forwardRef } from '@angular/core';
|
|
4
4
|
import { Directionality } from '@angular/cdk/bidi';
|
|
5
5
|
import { SharedResizeObserver } from '@angular/cdk/observers/private';
|
|
6
6
|
import { toObservable } from '@angular/core/rxjs-interop';
|
|
@@ -35,6 +35,7 @@ class BrnSliderInputDirective {
|
|
|
35
35
|
_elementRef = inject((ElementRef));
|
|
36
36
|
_slider = inject(BRN_SLIDER);
|
|
37
37
|
_renderer2 = inject(Renderer2);
|
|
38
|
+
_changeDetector = inject(ChangeDetectorRef);
|
|
38
39
|
constructor() {
|
|
39
40
|
effect(() => {
|
|
40
41
|
if (isPlatformBrowser(this._platformId)) {
|
|
@@ -88,9 +89,10 @@ class BrnSliderInputDirective {
|
|
|
88
89
|
}
|
|
89
90
|
_updateHostElementValue(value) {
|
|
90
91
|
this._elementRef.nativeElement.value = value?.toString() ?? '0';
|
|
92
|
+
this._changeDetector.detectChanges();
|
|
91
93
|
}
|
|
92
94
|
_updateValue() {
|
|
93
|
-
this.value.set(
|
|
95
|
+
this.value.set(this._elementRef.nativeElement.valueAsNumber);
|
|
94
96
|
this._onChangeFn?.(this.value());
|
|
95
97
|
}
|
|
96
98
|
_updateHostElementStep(step) {
|
|
@@ -108,8 +110,8 @@ class BrnSliderInputDirective {
|
|
|
108
110
|
_updateDirection(direction) {
|
|
109
111
|
this._renderer2.setStyle(this._elementRef.nativeElement, 'direction', direction);
|
|
110
112
|
}
|
|
111
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
112
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
113
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
114
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BrnSliderInputDirective, isStandalone: true, selector: "input[brnSliderInput]", host: { attributes: { "type": "range", "role": "slider", "aria-orientation": "horizontal" }, listeners: { "change": "onChange()", "input": "onInput()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.disabled": "isDisabled()", "attr.aria-valuenow": "valueNow()", "attr.aria-valuemin": "valueMin()", "attr.aria-valuemax": "valueMax()", "attr.aria-labelledby": "ariaLabelledby()", "attr.aria-label": "ariaLabel()" } }, providers: [
|
|
113
115
|
{
|
|
114
116
|
provide: NG_VALUE_ACCESSOR,
|
|
115
117
|
useExisting: BrnSliderInputDirective,
|
|
@@ -121,7 +123,7 @@ class BrnSliderInputDirective {
|
|
|
121
123
|
},
|
|
122
124
|
], ngImport: i0 });
|
|
123
125
|
}
|
|
124
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderInputDirective, decorators: [{
|
|
125
127
|
type: Directive,
|
|
126
128
|
args: [{
|
|
127
129
|
selector: 'input[brnSliderInput]',
|
|
@@ -190,15 +192,15 @@ class BrnSliderDirective {
|
|
|
190
192
|
.pipe(takeUntil(this._destroyed), tap((dir) => this.direction.set(dir)))
|
|
191
193
|
.subscribe();
|
|
192
194
|
}
|
|
193
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
194
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "
|
|
195
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
196
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.1", type: BrnSliderDirective, isStandalone: true, selector: "[brnSlider]", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "brnSliderDisabled", 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 }, showTickMarks: { classPropertyName: "showTickMarks", publicName: "showTickMarks", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "brnSliderDisabledChange", min: "minChange", max: "maxChange" }, providers: [
|
|
195
197
|
{
|
|
196
198
|
provide: BRN_SLIDER,
|
|
197
199
|
useExisting: BrnSliderDirective,
|
|
198
200
|
},
|
|
199
201
|
], queries: [{ propertyName: "brnSliderTrack", first: true, predicate: BRN_SLIDER_TRACK, descendants: true, isSignal: true }], exportAs: ["brnSlider"], ngImport: i0 });
|
|
200
202
|
}
|
|
201
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderDirective, decorators: [{
|
|
202
204
|
type: Directive,
|
|
203
205
|
args: [{
|
|
204
206
|
selector: '[brnSlider]',
|
|
@@ -274,15 +276,15 @@ class BrnSliderTrackDirective {
|
|
|
274
276
|
Number.parseFloat(computedStyle.paddingLeft) -
|
|
275
277
|
Number.parseFloat(computedStyle.paddingRight));
|
|
276
278
|
}
|
|
277
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
278
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "
|
|
279
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderTrackDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
280
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "19.2.1", type: BrnSliderTrackDirective, isStandalone: true, selector: "[brnSliderTrack]", providers: [
|
|
279
281
|
{
|
|
280
282
|
provide: BRN_SLIDER_TRACK,
|
|
281
283
|
useExisting: BrnSliderTrackDirective,
|
|
282
284
|
},
|
|
283
285
|
], queries: [{ propertyName: "brnSliderInput", first: true, predicate: i0.forwardRef(() => BRN_SLIDER_INPUT), descendants: true, isSignal: true }], ngImport: i0 });
|
|
284
286
|
}
|
|
285
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderTrackDirective, decorators: [{
|
|
286
288
|
type: Directive,
|
|
287
289
|
args: [{
|
|
288
290
|
selector: '[brnSliderTrack]',
|
|
@@ -322,10 +324,10 @@ class BrnSliderThumbDirective {
|
|
|
322
324
|
_updateTranslateX(value) {
|
|
323
325
|
this._elementRef.nativeElement.style.transform = `translate(${value}px, -50%)`;
|
|
324
326
|
}
|
|
325
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
326
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
327
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
328
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BrnSliderThumbDirective, isStandalone: true, selector: "[brnSliderThumb]", ngImport: i0 });
|
|
327
329
|
}
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
330
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderThumbDirective, decorators: [{
|
|
329
331
|
type: Directive,
|
|
330
332
|
args: [{
|
|
331
333
|
selector: '[brnSliderThumb]',
|
|
@@ -355,10 +357,10 @@ class BrnSliderTickMarkDirective {
|
|
|
355
357
|
this._elementRef.nativeElement.style.transform =
|
|
356
358
|
this._slider.direction() === 'rtl' ? `translateX(${-translateX}px)` : `translateX(${translateX}px)`;
|
|
357
359
|
}
|
|
358
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
359
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "
|
|
360
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderTickMarkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
361
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.1", type: BrnSliderTickMarkDirective, isStandalone: true, selector: "[brnSliderTickMark]", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
360
362
|
}
|
|
361
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
363
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderTickMarkDirective, decorators: [{
|
|
362
364
|
type: Directive,
|
|
363
365
|
args: [{
|
|
364
366
|
selector: '[brnSliderTickMark]',
|
|
@@ -380,10 +382,10 @@ class BrnSliderTrackActiveFillDirective {
|
|
|
380
382
|
_updateActiveTrackPercentage(percentage) {
|
|
381
383
|
this._elementRef.nativeElement.style.transform = `scaleX(${percentage})`;
|
|
382
384
|
}
|
|
383
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
384
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
385
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderTrackActiveFillDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
386
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.1", type: BrnSliderTrackActiveFillDirective, isStandalone: true, selector: "[brnSliderTrackActiveFill]", ngImport: i0 });
|
|
385
387
|
}
|
|
386
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
388
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSliderTrackActiveFillDirective, decorators: [{
|
|
387
389
|
type: Directive,
|
|
388
390
|
args: [{
|
|
389
391
|
selector: '[brnSliderTrackActiveFill]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-slider.mjs","sources":["../../../../libs/brain/slider/src/lib/brn-slider-track.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-thumb.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-tick-mark.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-track-active-fill.directive.ts","../../../../libs/brain/slider/src/index.ts","../../../../libs/brain/slider/src/spartan-ng-brain-slider.ts"],"sourcesContent":["import type { Direction } from '@angular/cdk/bidi';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { SharedResizeObserver } from '@angular/cdk/observers/private';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n\ttype AfterViewInit,\n\tDirective,\n\tElementRef,\n\tInjectionToken,\n\tInjector,\n\ttype OnDestroy,\n\tPLATFORM_ID,\n\tRenderer2,\n\ttype Signal,\n\ttype WritableSignal,\n\tcomputed,\n\tcontentChild,\n\teffect,\n\tforwardRef,\n\tinject,\n\tinput,\n\tmodel,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { type ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { BrnLabelDirective } from '@spartan-ng/brain/label';\nimport { Subject, merge } from 'rxjs';\nimport { debounceTime, takeUntil, tap } from 'rxjs/operators';\n\nexport const BRN_SLIDER_INPUT = new InjectionToken<BrnSliderInput>('BrnSliderInput');\n\nexport interface BrnSliderInput {\n\t/** The slider's native input element wrapper value. */\n\tvalue: Signal<number>;\n\n\t/** Flag indicating if native input element is currently focused. */\n\tisFocused: Signal<boolean>;\n}\n\nexport const BRN_SLIDER_TRACK = new InjectionToken<BrnSliderTrack>('BrnSliderTrack');\n\nexport const BRN_SLIDER = new InjectionToken<BrnSlider>('BrnSlider');\n\nexport interface BrnSlider {\n\t/** The minimun value of the slider. */\n\tmin: WritableSignal<number>;\n\n\t/** The maximun value of the slider. */\n\tmax: WritableSignal<number>;\n\n\t/** The amount that slider values can increment or decrement by. */\n\tstep: Signal<number>;\n\n\t/** Whether the slider is disabled. */\n\tdisabled: WritableSignal<boolean>;\n\n\t/** Whether the slider displays tick marks along the slider track. */\n\tshowTickMarks: Signal<boolean>;\n\n\t/** Whether the slider is ltr or rtl.\n\t * Any consumer of slider interested in getting the current\n\t * direction state, will consume this signal.\n\t */\n\tdirection: Signal<Direction>;\n\n\t/** The underlying slider's track element */\n\tbrnSliderTrack: Signal<BrnSliderTrack | undefined>;\n\n\t/** The aria-labelledby element */\n\tlabel: Signal<BrnLabelDirective | null>;\n\n\t/** The optional aria-label fallback value.\n\t * If no label is provided, this input must be provided by the user,\n\t * otherwise an error will be displayed prompting the user to either\n\t * provide a spartan-ui label or a fallback aria label text.\n\t */\n\tariaLabel: Signal<string | null>;\n}\n\n/**\n * Directive that adds slider-specific behaviors to an input element inside `<brn-slider>`.\n */\n@Directive({\n\tselector: 'input[brnSliderInput]',\n\thost: {\n\t\ttype: 'range',\n\t\trole: 'slider',\n\t\t'(change)': 'onChange()',\n\t\t'(input)': 'onInput()',\n\t\t'(focus)': 'onFocus()',\n\t\t'(blur)': 'onBlur()',\n\t\t'[attr.disabled]': 'isDisabled()',\n\t\t'[attr.aria-valuenow]': 'valueNow()',\n\t\t'[attr.aria-valuemin]': 'valueMin()',\n\t\t'[attr.aria-valuemax]': 'valueMax()',\n\t\t'[attr.aria-labelledby]': 'ariaLabelledby()',\n\t\t'[attr.aria-label]': 'ariaLabel()',\n\t\t'aria-orientation': 'horizontal',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: BrnSliderInputDirective,\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: BRN_SLIDER_INPUT,\n\t\t\tuseExisting: BrnSliderInputDirective,\n\t\t},\n\t],\n\tstandalone: true,\n})\nexport class BrnSliderInputDirective implements ControlValueAccessor, BrnSliderInput {\n\tprivate _onChangeFn: ((value: string | number) => void) | undefined;\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprivate _onTouchedFn: () => void = () => {};\n\tprotected isDisabled = computed(() => (this._slider.disabled() === true ? true : undefined));\n\tprotected valueNow = computed(() => this.value() ?? 0);\n\tprotected valueMin = computed(() => this._slider.min());\n\tprotected valueMax = computed(() => this._slider.max());\n\tprotected ariaLabelledby = computed(() => this._slider.label()?.id);\n\tprotected ariaLabel = computed(() => {\n\t\tif (!this._slider.ariaLabel() && !this.ariaLabelledby()) {\n\t\t\tthrow new Error(\n\t\t\t\t\"'ariaLabel' input must be provided as fallback accessibility aria label when no aria-labelledby element is provided.\",\n\t\t\t);\n\t\t}\n\t\treturn this._slider.ariaLabel();\n\t});\n\tpublic readonly value = signal(0);\n\tpublic readonly isFocused = signal(false);\n\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef<HTMLInputElement>);\n\tprivate readonly _slider = inject(BRN_SLIDER);\n\tprivate readonly _renderer2 = inject(Renderer2);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\tconst step = this._slider.step();\n\t\t\t\tconst min = this._slider.min();\n\t\t\t\tconst max = this._slider.max();\n\t\t\t\tconst direction = this._slider.direction();\n\t\t\t\tuntracked(() => {\n\t\t\t\t\tthis._updateHostElementStep(step);\n\t\t\t\t\tthis._updateMinValue(min);\n\t\t\t\t\tthis._updateMaxValue(max);\n\t\t\t\t\tthis._updateDirection(direction);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tonFocus(): void {\n\t\tthis.isFocused.set(true);\n\t}\n\n\tonBlur(): void {\n\t\tthis.isFocused.set(false);\n\t\tthis._onTouchedFn();\n\t}\n\n\tonInput(): void {\n\t\tthis._updateValue();\n\t}\n\n\tonChange(): void {\n\t\tthis._updateValue();\n\t}\n\n\twriteValue(obj: number): void {\n\t\tthis.value.set(obj);\n\t\tthis._updateHostElementValue(obj);\n\t}\n\n\tregisterOnChange(fn: (value: string | number) => void): void {\n\t\tthis._onChangeFn = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis._onTouchedFn = fn;\n\t}\n\n\t/**\n\t * Sets the disabled state of the slider.\n\t * @param isDisabled The new disabled state\n\t */\n\tsetDisabledState(isDisabled: boolean): void {\n\t\t/** Disable slider only when slider component\n\t\t * is not disabled and isDisabled param is explicitly set to true\n\t\t */\n\t\tif (isDisabled && !this._slider.disabled()) {\n\t\t\tthis._slider.disabled.set(isDisabled);\n\t\t}\n\t}\n\n\tprivate _updateHostElementValue(value: number | null) {\n\t\tthis._elementRef.nativeElement.value = value?.toString() ?? '0';\n\t}\n\n\tprivate _updateValue() {\n\t\tthis.value.set(+this._elementRef.nativeElement.value);\n\t\tthis._onChangeFn?.(this.value());\n\t}\n\n\tprivate _updateHostElementStep(step: number) {\n\t\tthis._elementRef.nativeElement.step = step.toString();\n\t\tthis._updateValue();\n\t}\n\n\tprivate _updateMinValue(value: number) {\n\t\tthis._elementRef.nativeElement.min = value.toString();\n\t\tthis._updateValue();\n\t}\n\n\tprivate _updateMaxValue(value: number) {\n\t\tthis._elementRef.nativeElement.max = value.toString();\n\t\tthis._updateValue();\n\t}\n\n\tprivate _updateDirection(direction: Direction) {\n\t\tthis._renderer2.setStyle(this._elementRef.nativeElement, 'direction', direction);\n\t}\n}\n\n@Directive({\n\tselector: '[brnSlider]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BRN_SLIDER,\n\t\t\tuseExisting: BrnSliderDirective,\n\t\t},\n\t],\n\texportAs: 'brnSlider',\n})\nexport class BrnSliderDirective implements BrnSlider, AfterViewInit, OnDestroy {\n\tpublic readonly label = input<BrnLabelDirective | null>(null);\n\tpublic readonly ariaLabel = input<string | null>(null);\n\t/** Used only as an input. */\n\tpublic readonly dir = input<Direction>('ltr');\n\tpublic readonly disabled = model<boolean>(false, { alias: 'brnSliderDisabled' });\n\tpublic readonly min = model<number>(0);\n\tpublic readonly max = model<number>(100);\n\tpublic readonly step = input<number>(1);\n\tpublic readonly showTickMarks = input<boolean>(false);\n\n\tpublic readonly direction = signal<Direction>('ltr');\n\tprivate readonly _destroyed = new Subject<void>();\n\n\tprivate readonly _injector = inject(Injector);\n\tprivate readonly _dir = inject(Directionality);\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\n\tpublic readonly brnSliderTrack = contentChild(BRN_SLIDER_TRACK);\n\n\tngAfterViewInit(): void {\n\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\tthis._updateDirectionality();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed.next();\n\t\tthis._destroyed.complete();\n\t}\n\n\t/**\n\t * The method is responsible of setting the current direction state\n\t * based on the latest 'dir' input or bidi state change. The only\n\t * source of truth for slider direction state is the 'direction' signal\n\t * and all interested consumers of it, will consume this interface exposed signal.\n\t */\n\tprivate _updateDirectionality() {\n\t\tmerge(toObservable(this.dir, { injector: this._injector }), this._dir.change)\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(this._destroyed),\n\t\t\t\ttap((dir) => this.direction.set(dir)),\n\t\t\t)\n\t\t\t.subscribe();\n\t}\n}\n\nexport interface BrnSliderTrack {\n\t/** The track's active portion. */\n\tactiveTrackPercentage: Signal<number>;\n\n\t/** The host element's bounding client rect width without padding left and right. */\n\thostElementWidth: Signal<number>;\n\n\t/** The available tick mark track width based on slider's step min and max values. */\n\ttickMarkTrackWidth: Signal<number>;\n\n\t/** The tick marks array indicating if a mark is currently active or inactive. */\n\ttickMarks: Signal<Array<boolean>>;\n\n\t/** The underlying slider's track input element */\n\tbrnSliderInput: Signal<BrnSliderInput | undefined>;\n}\n\n@Directive({\n\tselector: '[brnSliderTrack]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BRN_SLIDER_TRACK,\n\t\t\tuseExisting: BrnSliderTrackDirective,\n\t\t},\n\t],\n})\nexport class BrnSliderTrackDirective implements BrnSliderTrack, AfterViewInit, OnDestroy {\n\tpublic readonly hostElementWidth = signal<number>(0);\n\tprivate readonly _destroyed = new Subject<void>();\n\n\tprivate readonly _slider = inject(BRN_SLIDER);\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\tprivate readonly _sharedResizeObserver = inject(SharedResizeObserver);\n\n\tpublic readonly brnSliderInput = contentChild<BrnSliderInput>(forwardRef(() => BRN_SLIDER_INPUT));\n\n\tpublic activeTrackPercentage = computed(() => {\n\t\tconst inputValue = this.brnSliderInput()?.value();\n\n\t\tif (this._slider.min() >= this._slider.max() || !inputValue || inputValue < this._slider.min()) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (inputValue > this._slider.max()) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn (inputValue - this._slider.min()) / (this._slider.max() - this._slider.min());\n\t});\n\n\tpublic tickMarkTrackWidth = computed(() => {\n\t\tif (!this._slider.showTickMarks()) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst sliderStep = this._slider.step();\n\t\tconst sliderMax = this._slider.max();\n\t\tconst sliderMin = this._slider.min();\n\n\t\tconst step = sliderStep && sliderStep > 0 ? sliderStep : 1;\n\t\tconst maxValue = Math.floor((sliderMax - sliderMin) / step) * step + sliderMin;\n\t\tconst percentage = (maxValue - sliderMin) / (sliderMax - sliderMin);\n\n\t\treturn this.hostElementWidth() * percentage;\n\t});\n\n\tpublic tickMarks = computed(() => {\n\t\tconst inputValue = this.brnSliderInput()?.value();\n\n\t\tif (!this._slider.showTickMarks() || inputValue === null || inputValue === undefined) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet numActive = Math.max(Math.floor((inputValue - this._slider.min()) / this._slider.step()), 0);\n\t\tlet numInactive = Math.max(Math.floor((this._slider.max() - inputValue) / this._slider.step()), 0);\n\n\t\tthis._slider.direction() === 'rtl' ? numInactive++ : numActive++;\n\n\t\treturn Array(numActive).fill(true).concat(Array(numInactive).fill(false));\n\t});\n\n\tngAfterViewInit(): void {\n\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\tthis._storeDimensions();\n\t\t\tthis._onResize();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed.next();\n\t\tthis._destroyed.complete();\n\t}\n\n\tprivate _onResize() {\n\t\tthis._sharedResizeObserver\n\t\t\t.observe(this._elementRef.nativeElement)\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(32),\n\t\t\t\ttakeUntil(this._destroyed),\n\t\t\t\ttap(() => this._storeDimensions()),\n\t\t\t)\n\t\t\t.subscribe();\n\t}\n\n\tprivate _storeDimensions(): void {\n\t\tconst computedStyle = getComputedStyle(this._elementRef.nativeElement);\n\n\t\tthis.hostElementWidth.set(\n\t\t\tthis._elementRef.nativeElement.offsetWidth -\n\t\t\t\tNumber.parseFloat(computedStyle.paddingLeft) -\n\t\t\t\tNumber.parseFloat(computedStyle.paddingRight),\n\t\t);\n\t}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, type Signal, computed, effect, inject } from '@angular/core';\nimport { BRN_SLIDER } from './brn-slider-track.directive';\n\nexport interface BrnSliderThumb {\n\t/** The visual's thumb translateX portion. */\n\ttranslateX: Signal<number>;\n}\n\n@Directive({\n\tselector: '[brnSliderThumb]',\n\tstandalone: true,\n})\nexport class BrnSliderThumbDirective implements BrnSliderThumb {\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\tprivate readonly _slider = inject(BRN_SLIDER);\n\n\tpublic readonly translateX = computed(() => this._calcTranslateX());\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\tthis._updateTranslateX(this.translateX());\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _calcTranslateX() {\n\t\tconst activeTrackPercentage = this._slider.brnSliderTrack()?.activeTrackPercentage();\n\t\tconst trackHostElementWidth = this._slider.brnSliderTrack()?.hostElementWidth();\n\n\t\tif (!activeTrackPercentage || !trackHostElementWidth) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (this._slider.direction() === 'rtl') {\n\t\t\treturn -(activeTrackPercentage * trackHostElementWidth);\n\t\t}\n\n\t\treturn activeTrackPercentage * trackHostElementWidth;\n\t}\n\n\tprivate _updateTranslateX(value: number) {\n\t\tthis._elementRef.nativeElement.style.transform = `translate(${value}px, -50%)`;\n\t}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, effect, inject, input } from '@angular/core';\nimport { BRN_SLIDER, BRN_SLIDER_TRACK } from './brn-slider-track.directive';\n\n@Directive({\n\tselector: '[brnSliderTickMark]',\n\tstandalone: true,\n})\nexport class BrnSliderTickMarkDirective {\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tpublic readonly data = input<{ tickMarkIndex: number; totalTickMarks: number }>();\n\n\tprivate readonly _sliderTrack = inject(BRN_SLIDER_TRACK);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\tprivate readonly _slider = inject(BRN_SLIDER);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\tthis._updateTranslateX();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _updateTranslateX() {\n\t\tconst data = this.data();\n\n\t\tif (!data) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst translateX = data.tickMarkIndex * (this._sliderTrack.tickMarkTrackWidth() / (data.totalTickMarks - 1));\n\n\t\tthis._elementRef.nativeElement.style.transform =\n\t\t\tthis._slider.direction() === 'rtl' ? `translateX(${-translateX}px)` : `translateX(${translateX}px)`;\n\t}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, effect, inject } from '@angular/core';\nimport { BRN_SLIDER_TRACK } from './brn-slider-track.directive';\n\n@Directive({\n\tselector: '[brnSliderTrackActiveFill]',\n\tstandalone: true,\n})\nexport class BrnSliderTrackActiveFillDirective {\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\tprivate readonly _sliderTrack = inject(BRN_SLIDER_TRACK);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\tthis._updateActiveTrackPercentage(this._sliderTrack.activeTrackPercentage());\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _updateActiveTrackPercentage(percentage: number) {\n\t\tthis._elementRef.nativeElement.style.transform = `scaleX(${percentage})`;\n\t}\n}\n","import { BrnSliderThumbDirective } from './lib/brn-slider-thumb.directive';\nimport { BrnSliderDirective, BrnSliderInputDirective, BrnSliderTrackDirective } from './lib/brn-slider-track.directive';\n\nexport * from './lib/brn-slider-thumb.directive';\nexport * from './lib/brn-slider-tick-mark.directive';\nexport * from './lib/brn-slider-track-active-fill.directive';\nexport * from './lib/brn-slider-track.directive';\n\nexport const BrnSliderImports = [\n\tBrnSliderDirective,\n\tBrnSliderTrackDirective,\n\tBrnSliderInputDirective,\n\tBrnSliderThumbDirective,\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-track.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-thumb.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-tick-mark.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-track-active-fill.directive.ts","../../../../libs/brain/slider/src/index.ts","../../../../libs/brain/slider/src/spartan-ng-brain-slider.ts"],"sourcesContent":["import type { Direction } from '@angular/cdk/bidi';\nimport { Directionality } from '@angular/cdk/bidi';\nimport { SharedResizeObserver } from '@angular/cdk/observers/private';\nimport { isPlatformBrowser } from '@angular/common';\nimport {\n\ttype AfterViewInit,\n\tChangeDetectorRef,\n\tDirective,\n\tElementRef,\n\tInjectionToken,\n\tInjector,\n\ttype OnDestroy,\n\tPLATFORM_ID,\n\tRenderer2,\n\ttype Signal,\n\ttype WritableSignal,\n\tcomputed,\n\tcontentChild,\n\teffect,\n\tforwardRef,\n\tinject,\n\tinput,\n\tmodel,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { toObservable } from '@angular/core/rxjs-interop';\nimport { type ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { BrnLabelDirective } from '@spartan-ng/brain/label';\nimport { Subject, merge } from 'rxjs';\nimport { debounceTime, takeUntil, tap } from 'rxjs/operators';\n\nexport const BRN_SLIDER_INPUT = new InjectionToken<BrnSliderInput>('BrnSliderInput');\n\nexport interface BrnSliderInput {\n\t/** The slider's native input element wrapper value. */\n\tvalue: Signal<number>;\n\n\t/** Flag indicating if native input element is currently focused. */\n\tisFocused: Signal<boolean>;\n}\n\nexport const BRN_SLIDER_TRACK = new InjectionToken<BrnSliderTrack>('BrnSliderTrack');\n\nexport const BRN_SLIDER = new InjectionToken<BrnSlider>('BrnSlider');\n\nexport interface BrnSlider {\n\t/** The minimun value of the slider. */\n\tmin: WritableSignal<number>;\n\n\t/** The maximun value of the slider. */\n\tmax: WritableSignal<number>;\n\n\t/** The amount that slider values can increment or decrement by. */\n\tstep: Signal<number>;\n\n\t/** Whether the slider is disabled. */\n\tdisabled: WritableSignal<boolean>;\n\n\t/** Whether the slider displays tick marks along the slider track. */\n\tshowTickMarks: Signal<boolean>;\n\n\t/** Whether the slider is ltr or rtl.\n\t * Any consumer of slider interested in getting the current\n\t * direction state, will consume this signal.\n\t */\n\tdirection: Signal<Direction>;\n\n\t/** The underlying slider's track element */\n\tbrnSliderTrack: Signal<BrnSliderTrack | undefined>;\n\n\t/** The aria-labelledby element */\n\tlabel: Signal<BrnLabelDirective | null>;\n\n\t/** The optional aria-label fallback value.\n\t * If no label is provided, this input must be provided by the user,\n\t * otherwise an error will be displayed prompting the user to either\n\t * provide a spartan-ui label or a fallback aria label text.\n\t */\n\tariaLabel: Signal<string | null>;\n}\n\n/**\n * Directive that adds slider-specific behaviors to an input element inside `<brn-slider>`.\n */\n@Directive({\n\tselector: 'input[brnSliderInput]',\n\thost: {\n\t\ttype: 'range',\n\t\trole: 'slider',\n\t\t'(change)': 'onChange()',\n\t\t'(input)': 'onInput()',\n\t\t'(focus)': 'onFocus()',\n\t\t'(blur)': 'onBlur()',\n\t\t'[attr.disabled]': 'isDisabled()',\n\t\t'[attr.aria-valuenow]': 'valueNow()',\n\t\t'[attr.aria-valuemin]': 'valueMin()',\n\t\t'[attr.aria-valuemax]': 'valueMax()',\n\t\t'[attr.aria-labelledby]': 'ariaLabelledby()',\n\t\t'[attr.aria-label]': 'ariaLabel()',\n\t\t'aria-orientation': 'horizontal',\n\t},\n\tproviders: [\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: BrnSliderInputDirective,\n\t\t\tmulti: true,\n\t\t},\n\t\t{\n\t\t\tprovide: BRN_SLIDER_INPUT,\n\t\t\tuseExisting: BrnSliderInputDirective,\n\t\t},\n\t],\n\tstandalone: true,\n})\nexport class BrnSliderInputDirective implements ControlValueAccessor, BrnSliderInput {\n\tprivate _onChangeFn: ((value: string | number) => void) | undefined;\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprivate _onTouchedFn: () => void = () => {};\n\tprotected isDisabled = computed(() => (this._slider.disabled() === true ? true : undefined));\n\tprotected valueNow = computed(() => this.value() ?? 0);\n\tprotected valueMin = computed(() => this._slider.min());\n\tprotected valueMax = computed(() => this._slider.max());\n\tprotected ariaLabelledby = computed(() => this._slider.label()?.id);\n\tprotected ariaLabel = computed(() => {\n\t\tif (!this._slider.ariaLabel() && !this.ariaLabelledby()) {\n\t\t\tthrow new Error(\n\t\t\t\t\"'ariaLabel' input must be provided as fallback accessibility aria label when no aria-labelledby element is provided.\",\n\t\t\t);\n\t\t}\n\t\treturn this._slider.ariaLabel();\n\t});\n\tpublic readonly value = signal(0);\n\tpublic readonly isFocused = signal(false);\n\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLInputElement>>(ElementRef<HTMLInputElement>);\n\tprivate readonly _slider = inject(BRN_SLIDER);\n\tprivate readonly _renderer2 = inject(Renderer2);\n\tprivate readonly _changeDetector = inject(ChangeDetectorRef);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\tconst step = this._slider.step();\n\t\t\t\tconst min = this._slider.min();\n\t\t\t\tconst max = this._slider.max();\n\t\t\t\tconst direction = this._slider.direction();\n\t\t\t\tuntracked(() => {\n\t\t\t\t\tthis._updateHostElementStep(step);\n\t\t\t\t\tthis._updateMinValue(min);\n\t\t\t\t\tthis._updateMaxValue(max);\n\t\t\t\t\tthis._updateDirection(direction);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n\n\tonFocus(): void {\n\t\tthis.isFocused.set(true);\n\t}\n\n\tonBlur(): void {\n\t\tthis.isFocused.set(false);\n\t\tthis._onTouchedFn();\n\t}\n\n\tonInput(): void {\n\t\tthis._updateValue();\n\t}\n\n\tonChange(): void {\n\t\tthis._updateValue();\n\t}\n\n\twriteValue(obj: number): void {\n\t\tthis.value.set(obj);\n\t\tthis._updateHostElementValue(obj);\n\t}\n\n\tregisterOnChange(fn: (value: string | number) => void): void {\n\t\tthis._onChangeFn = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis._onTouchedFn = fn;\n\t}\n\n\t/**\n\t * Sets the disabled state of the slider.\n\t * @param isDisabled The new disabled state\n\t */\n\tsetDisabledState(isDisabled: boolean): void {\n\t\t/** Disable slider only when slider component\n\t\t * is not disabled and isDisabled param is explicitly set to true\n\t\t */\n\t\tif (isDisabled && !this._slider.disabled()) {\n\t\t\tthis._slider.disabled.set(isDisabled);\n\t\t}\n\t}\n\n\tprivate _updateHostElementValue(value: number | null) {\n\t\tthis._elementRef.nativeElement.value = value?.toString() ?? '0';\n\t\tthis._changeDetector.detectChanges();\n\t}\n\n\tprivate _updateValue() {\n\t\tthis.value.set(this._elementRef.nativeElement.valueAsNumber);\n\t\tthis._onChangeFn?.(this.value());\n\t}\n\n\tprivate _updateHostElementStep(step: number) {\n\t\tthis._elementRef.nativeElement.step = step.toString();\n\t\tthis._updateValue();\n\t}\n\n\tprivate _updateMinValue(value: number) {\n\t\tthis._elementRef.nativeElement.min = value.toString();\n\t\tthis._updateValue();\n\t}\n\n\tprivate _updateMaxValue(value: number) {\n\t\tthis._elementRef.nativeElement.max = value.toString();\n\t\tthis._updateValue();\n\t}\n\n\tprivate _updateDirection(direction: Direction) {\n\t\tthis._renderer2.setStyle(this._elementRef.nativeElement, 'direction', direction);\n\t}\n}\n\n@Directive({\n\tselector: '[brnSlider]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BRN_SLIDER,\n\t\t\tuseExisting: BrnSliderDirective,\n\t\t},\n\t],\n\texportAs: 'brnSlider',\n})\nexport class BrnSliderDirective implements BrnSlider, AfterViewInit, OnDestroy {\n\tpublic readonly label = input<BrnLabelDirective | null>(null);\n\tpublic readonly ariaLabel = input<string | null>(null);\n\t/** Used only as an input. */\n\tpublic readonly dir = input<Direction>('ltr');\n\tpublic readonly disabled = model<boolean>(false, { alias: 'brnSliderDisabled' });\n\tpublic readonly min = model<number>(0);\n\tpublic readonly max = model<number>(100);\n\tpublic readonly step = input<number>(1);\n\tpublic readonly showTickMarks = input<boolean>(false);\n\n\tpublic readonly direction = signal<Direction>('ltr');\n\tprivate readonly _destroyed = new Subject<void>();\n\n\tprivate readonly _injector = inject(Injector);\n\tprivate readonly _dir = inject(Directionality);\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\n\tpublic readonly brnSliderTrack = contentChild(BRN_SLIDER_TRACK);\n\n\tngAfterViewInit(): void {\n\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\tthis._updateDirectionality();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed.next();\n\t\tthis._destroyed.complete();\n\t}\n\n\t/**\n\t * The method is responsible of setting the current direction state\n\t * based on the latest 'dir' input or bidi state change. The only\n\t * source of truth for slider direction state is the 'direction' signal\n\t * and all interested consumers of it, will consume this interface exposed signal.\n\t */\n\tprivate _updateDirectionality() {\n\t\tmerge(toObservable(this.dir, { injector: this._injector }), this._dir.change)\n\t\t\t.pipe(\n\t\t\t\ttakeUntil(this._destroyed),\n\t\t\t\ttap((dir) => this.direction.set(dir)),\n\t\t\t)\n\t\t\t.subscribe();\n\t}\n}\n\nexport interface BrnSliderTrack {\n\t/** The track's active portion. */\n\tactiveTrackPercentage: Signal<number>;\n\n\t/** The host element's bounding client rect width without padding left and right. */\n\thostElementWidth: Signal<number>;\n\n\t/** The available tick mark track width based on slider's step min and max values. */\n\ttickMarkTrackWidth: Signal<number>;\n\n\t/** The tick marks array indicating if a mark is currently active or inactive. */\n\ttickMarks: Signal<Array<boolean>>;\n\n\t/** The underlying slider's track input element */\n\tbrnSliderInput: Signal<BrnSliderInput | undefined>;\n}\n\n@Directive({\n\tselector: '[brnSliderTrack]',\n\tstandalone: true,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BRN_SLIDER_TRACK,\n\t\t\tuseExisting: BrnSliderTrackDirective,\n\t\t},\n\t],\n})\nexport class BrnSliderTrackDirective implements BrnSliderTrack, AfterViewInit, OnDestroy {\n\tpublic readonly hostElementWidth = signal<number>(0);\n\tprivate readonly _destroyed = new Subject<void>();\n\n\tprivate readonly _slider = inject(BRN_SLIDER);\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\tprivate readonly _sharedResizeObserver = inject(SharedResizeObserver);\n\n\tpublic readonly brnSliderInput = contentChild<BrnSliderInput>(forwardRef(() => BRN_SLIDER_INPUT));\n\n\tpublic activeTrackPercentage = computed(() => {\n\t\tconst inputValue = this.brnSliderInput()?.value();\n\n\t\tif (this._slider.min() >= this._slider.max() || !inputValue || inputValue < this._slider.min()) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (inputValue > this._slider.max()) {\n\t\t\treturn 1;\n\t\t}\n\n\t\treturn (inputValue - this._slider.min()) / (this._slider.max() - this._slider.min());\n\t});\n\n\tpublic tickMarkTrackWidth = computed(() => {\n\t\tif (!this._slider.showTickMarks()) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tconst sliderStep = this._slider.step();\n\t\tconst sliderMax = this._slider.max();\n\t\tconst sliderMin = this._slider.min();\n\n\t\tconst step = sliderStep && sliderStep > 0 ? sliderStep : 1;\n\t\tconst maxValue = Math.floor((sliderMax - sliderMin) / step) * step + sliderMin;\n\t\tconst percentage = (maxValue - sliderMin) / (sliderMax - sliderMin);\n\n\t\treturn this.hostElementWidth() * percentage;\n\t});\n\n\tpublic tickMarks = computed(() => {\n\t\tconst inputValue = this.brnSliderInput()?.value();\n\n\t\tif (!this._slider.showTickMarks() || inputValue === null || inputValue === undefined) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet numActive = Math.max(Math.floor((inputValue - this._slider.min()) / this._slider.step()), 0);\n\t\tlet numInactive = Math.max(Math.floor((this._slider.max() - inputValue) / this._slider.step()), 0);\n\n\t\tthis._slider.direction() === 'rtl' ? numInactive++ : numActive++;\n\n\t\treturn Array(numActive).fill(true).concat(Array(numInactive).fill(false));\n\t});\n\n\tngAfterViewInit(): void {\n\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\tthis._storeDimensions();\n\t\t\tthis._onResize();\n\t\t}\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._destroyed.next();\n\t\tthis._destroyed.complete();\n\t}\n\n\tprivate _onResize() {\n\t\tthis._sharedResizeObserver\n\t\t\t.observe(this._elementRef.nativeElement)\n\t\t\t.pipe(\n\t\t\t\tdebounceTime(32),\n\t\t\t\ttakeUntil(this._destroyed),\n\t\t\t\ttap(() => this._storeDimensions()),\n\t\t\t)\n\t\t\t.subscribe();\n\t}\n\n\tprivate _storeDimensions(): void {\n\t\tconst computedStyle = getComputedStyle(this._elementRef.nativeElement);\n\n\t\tthis.hostElementWidth.set(\n\t\t\tthis._elementRef.nativeElement.offsetWidth -\n\t\t\t\tNumber.parseFloat(computedStyle.paddingLeft) -\n\t\t\t\tNumber.parseFloat(computedStyle.paddingRight),\n\t\t);\n\t}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, type Signal, computed, effect, inject } from '@angular/core';\nimport { BRN_SLIDER } from './brn-slider-track.directive';\n\nexport interface BrnSliderThumb {\n\t/** The visual's thumb translateX portion. */\n\ttranslateX: Signal<number>;\n}\n\n@Directive({\n\tselector: '[brnSliderThumb]',\n\tstandalone: true,\n})\nexport class BrnSliderThumbDirective implements BrnSliderThumb {\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\tprivate readonly _slider = inject(BRN_SLIDER);\n\n\tpublic readonly translateX = computed(() => this._calcTranslateX());\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\tthis._updateTranslateX(this.translateX());\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _calcTranslateX() {\n\t\tconst activeTrackPercentage = this._slider.brnSliderTrack()?.activeTrackPercentage();\n\t\tconst trackHostElementWidth = this._slider.brnSliderTrack()?.hostElementWidth();\n\n\t\tif (!activeTrackPercentage || !trackHostElementWidth) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tif (this._slider.direction() === 'rtl') {\n\t\t\treturn -(activeTrackPercentage * trackHostElementWidth);\n\t\t}\n\n\t\treturn activeTrackPercentage * trackHostElementWidth;\n\t}\n\n\tprivate _updateTranslateX(value: number) {\n\t\tthis._elementRef.nativeElement.style.transform = `translate(${value}px, -50%)`;\n\t}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, effect, inject, input } from '@angular/core';\nimport { BRN_SLIDER, BRN_SLIDER_TRACK } from './brn-slider-track.directive';\n\n@Directive({\n\tselector: '[brnSliderTickMark]',\n\tstandalone: true,\n})\nexport class BrnSliderTickMarkDirective {\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tpublic readonly data = input<{ tickMarkIndex: number; totalTickMarks: number }>();\n\n\tprivate readonly _sliderTrack = inject(BRN_SLIDER_TRACK);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\tprivate readonly _slider = inject(BRN_SLIDER);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\tthis._updateTranslateX();\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _updateTranslateX() {\n\t\tconst data = this.data();\n\n\t\tif (!data) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst translateX = data.tickMarkIndex * (this._sliderTrack.tickMarkTrackWidth() / (data.totalTickMarks - 1));\n\n\t\tthis._elementRef.nativeElement.style.transform =\n\t\t\tthis._slider.direction() === 'rtl' ? `translateX(${-translateX}px)` : `translateX(${translateX}px)`;\n\t}\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { Directive, ElementRef, PLATFORM_ID, effect, inject } from '@angular/core';\nimport { BRN_SLIDER_TRACK } from './brn-slider-track.directive';\n\n@Directive({\n\tselector: '[brnSliderTrackActiveFill]',\n\tstandalone: true,\n})\nexport class BrnSliderTrackActiveFillDirective {\n\tprivate readonly _platformId = inject(PLATFORM_ID);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef<HTMLElement>);\n\tprivate readonly _sliderTrack = inject(BRN_SLIDER_TRACK);\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\tthis._updateActiveTrackPercentage(this._sliderTrack.activeTrackPercentage());\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _updateActiveTrackPercentage(percentage: number) {\n\t\tthis._elementRef.nativeElement.style.transform = `scaleX(${percentage})`;\n\t}\n}\n","import { BrnSliderThumbDirective } from './lib/brn-slider-thumb.directive';\nimport { BrnSliderDirective, BrnSliderInputDirective, BrnSliderTrackDirective } from './lib/brn-slider-track.directive';\n\nexport * from './lib/brn-slider-thumb.directive';\nexport * from './lib/brn-slider-tick-mark.directive';\nexport * from './lib/brn-slider-track-active-fill.directive';\nexport * from './lib/brn-slider-track.directive';\n\nexport const BrnSliderImports = [\n\tBrnSliderDirective,\n\tBrnSliderTrackDirective,\n\tBrnSliderInputDirective,\n\tBrnSliderThumbDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -6,14 +6,13 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
|
6
6
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
7
7
|
|
|
8
8
|
class BrnSwitchThumbComponent {
|
|
9
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
9
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSwitchThumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.1", type: BrnSwitchThumbComponent, isStandalone: true, selector: "brn-switch-thumb", ngImport: i0, template: '', isInline: true });
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSwitchThumbComponent, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
14
|
args: [{
|
|
15
15
|
selector: 'brn-switch-thumb',
|
|
16
|
-
standalone: true,
|
|
17
16
|
imports: [],
|
|
18
17
|
template: '',
|
|
19
18
|
}]
|
|
@@ -155,8 +154,8 @@ class BrnSwitchComponent {
|
|
|
155
154
|
preventScrolling(event) {
|
|
156
155
|
event.preventDefault();
|
|
157
156
|
}
|
|
158
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
159
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "
|
|
157
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
158
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.1", type: BrnSwitchComponent, isStandalone: true, selector: "brn-switch", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", changed: "changed", touched: "touched" }, host: { attributes: { "tabindex": "0" }, listeners: { "click": "toggle($event)", "keyup.enter": "toggle($event)", "keyup.space": "toggle($event)", "keydown.space": "preventScrolling($event)" }, properties: { "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.data-focus-visible": "focusVisible()", "attr.data-focus": "focused()", "attr.data-disabled": "state().disabled()", "attr.aria-labelledby": "null", "attr.aria-label": "null", "attr.aria-describedby": "null", "attr.id": "state().id", "attr.name": "state().name" } }, providers: [BRN_SWITCH_VALUE_ACCESSOR], viewQueries: [{ propertyName: "checkbox", first: true, predicate: ["checkBox"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
160
159
|
<input
|
|
161
160
|
#checkBox
|
|
162
161
|
tabindex="-1"
|
|
@@ -185,11 +184,10 @@ class BrnSwitchComponent {
|
|
|
185
184
|
<ng-content select="brn-switch-thumb" />
|
|
186
185
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
187
186
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSwitchComponent, decorators: [{
|
|
189
188
|
type: Component,
|
|
190
189
|
args: [{
|
|
191
190
|
selector: 'brn-switch',
|
|
192
|
-
standalone: true,
|
|
193
191
|
imports: [NgStyle],
|
|
194
192
|
template: `
|
|
195
193
|
<input
|
|
@@ -251,11 +249,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
251
249
|
|
|
252
250
|
const BrnSwitchImports = [BrnSwitchComponent, BrnSwitchThumbComponent];
|
|
253
251
|
class BrnSwitchModule {
|
|
254
|
-
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
255
|
-
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
256
|
-
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
252
|
+
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
253
|
+
/** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.1", ngImport: i0, type: BrnSwitchModule, imports: [BrnSwitchComponent, BrnSwitchThumbComponent], exports: [BrnSwitchComponent, BrnSwitchThumbComponent] });
|
|
254
|
+
/** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSwitchModule });
|
|
257
255
|
}
|
|
258
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.1", ngImport: i0, type: BrnSwitchModule, decorators: [{
|
|
259
257
|
type: NgModule,
|
|
260
258
|
args: [{
|
|
261
259
|
imports: [...BrnSwitchImports],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-switch.mjs","sources":["../../../../libs/brain/switch/src/lib/brn-switch-thumb.component.ts","../../../../libs/brain/switch/src/lib/brn-switch.component.ts","../../../../libs/brain/switch/src/index.ts","../../../../libs/brain/switch/src/spartan-ng-brain-switch.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'brn-switch-thumb',\n\tstandalone: true,\n\timports: [],\n\ttemplate: '',\n})\nexport class BrnSwitchThumbComponent {}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { NgStyle, isPlatformBrowser } from '@angular/common';\nimport {\n\ttype AfterContentInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tDestroyRef,\n\tElementRef,\n\tHostListener,\n\ttype OnDestroy,\n\tPLATFORM_ID,\n\tRenderer2,\n\tViewEncapsulation,\n\tbooleanAttribute,\n\tcomputed,\n\teffect,\n\tforwardRef,\n\tinject,\n\tinput,\n\tmodel,\n\toutput,\n\tsignal,\n\tviewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\n\nexport const BRN_SWITCH_VALUE_ACCESSOR = {\n\tprovide: NG_VALUE_ACCESSOR,\n\tuseExisting: forwardRef(() => BrnSwitchComponent),\n\tmulti: true,\n};\n\nconst CONTAINER_POST_FIX = '-switch';\n\n@Component({\n\tselector: 'brn-switch',\n\tstandalone: true,\n\timports: [NgStyle],\n\ttemplate: `\n\t\t<input\n\t\t\t#checkBox\n\t\t\ttabindex=\"-1\"\n\t\t\ttype=\"checkbox\"\n\t\t\trole=\"switch\"\n\t\t\t[id]=\"forChild(state().id) ?? ''\"\n\t\t\t[name]=\"forChild(state().name) ?? ''\"\n\t\t\t[value]=\"checked() ? 'on' : 'off'\"\n\t\t\t[ngStyle]=\"{\n\t\t\t\tposition: 'absolute',\n\t\t\t\twidth: '1px',\n\t\t\t\theight: '1px',\n\t\t\t\tpadding: '0',\n\t\t\t\tmargin: -'1px',\n\t\t\t\toverflow: 'hidden',\n\t\t\t\tclip: 'rect(0, 0, 0, 0)',\n\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\tborderWidth: '0',\n\t\t\t}\"\n\t\t\t[checked]=\"checked()\"\n\t\t\t[attr.aria-label]=\"ariaLabel()\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby()\"\n\t\t\t[attr.aria-describedby]=\"ariaDescribedby()\"\n\t\t\t[attr.aria-required]=\"required() || null\"\n\t\t/>\n\t\t<ng-content select=\"brn-switch-thumb\" />\n\t`,\n\thost: {\n\t\ttabindex: '0',\n\t\t'[attr.data-state]': 'checked() ? \"checked\" : \"unchecked\"',\n\t\t'[attr.data-focus-visible]': 'focusVisible()',\n\t\t'[attr.data-focus]': 'focused()',\n\t\t'[attr.data-disabled]': 'state().disabled()',\n\t\t'[attr.aria-labelledby]': 'null',\n\t\t'[attr.aria-label]': 'null',\n\t\t'[attr.aria-describedby]': 'null',\n\t\t'[attr.id]': 'state().id',\n\t\t'[attr.name]': 'state().name',\n\t},\n\tproviders: [BRN_SWITCH_VALUE_ACCESSOR],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnSwitchComponent implements AfterContentInit, OnDestroy {\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _renderer = inject(Renderer2);\n\tprivate readonly _isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprivate readonly _focusMonitor = inject(FocusMonitor);\n\tprivate readonly _cdr = inject(ChangeDetectorRef);\n\n\tprotected readonly focusVisible = signal(false);\n\tprotected readonly focused = signal(false);\n\n\tpublic readonly checked = model<boolean>(false);\n\n\t/** Used to set the id on the underlying input element. */\n\n\tpublic readonly id = input<string | null>(null);\n\n\t/** Used to set the name attribute on the underlying input element. */\n\tpublic readonly name = input<string | null>(null);\n\n\t/** Used to set the aria-label attribute on the underlying input element. */\n\tpublic readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n\n\t/** Used to set the aria-labelledby attribute on the underlying input element. */\n\tpublic readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n\n\t/** Used to set the aria-describedby attribute on the underlying input element. */\n\tpublic readonly ariaDescribedby = input<string | null>(null, { alias: 'aria-describedby' });\n\n\tpublic readonly required = input(false, { transform: booleanAttribute });\n\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprotected _onChange: ChangeFn<boolean> = () => {};\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprivate _onTouched: TouchFn = () => {};\n\n\tpublic readonly checkbox = viewChild.required<ElementRef<HTMLInputElement>>('checkBox');\n\n\tpublic readonly changed = output<boolean>();\n\n\tpublic readonly touched = output<void>();\n\n\tprotected readonly state = computed(() => {\n\t\tconst name = this.name();\n\t\tconst id = this.id();\n\t\treturn {\n\t\t\tdisabled: signal(this.disabled()),\n\t\t\tname: name ? name + CONTAINER_POST_FIX : null,\n\t\t\tid: id ? id + CONTAINER_POST_FIX : null,\n\t\t};\n\t});\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\t/** search for the label and set the disabled state */\n\t\t\tlet parent = this._renderer.parentNode(this._elementRef.nativeElement);\n\t\t\tif (!parent) return;\n\t\t\t// if parent is a HLM-SWITCH, then we need to go up one more level to get the label\n\t\t\tif (parent?.tagName === 'HLM-SWITCH') {\n\t\t\t\tparent = this._renderer.parentNode(parent);\n\t\t\t}\n\t\t\tif (!parent) return;\n\t\t\t// check if parent is a label and assume it is for this checkbox\n\t\t\tif (parent?.tagName === 'LABEL') {\n\t\t\t\tthis._renderer.setAttribute(parent, 'data-disabled', this.state().disabled() ? 'true' : 'false');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this._isBrowser) return;\n\n\t\t\tconst label = parent?.querySelector(`label[for=\"${this.forChild(this.state().id)}\"]`);\n\t\t\tif (!label) return;\n\t\t\tthis._renderer.setAttribute(label, 'data-disabled', this.state().disabled() ? 'true' : 'false');\n\t\t});\n\t}\n\n\t@HostListener('click', ['$event'])\n\t@HostListener('keyup.enter', ['$event'])\n\t@HostListener('keyup.space', ['$event'])\n\tprotected toggle(event: Event): void {\n\t\tif (this.state().disabled()) return;\n\t\tevent.preventDefault();\n\n\t\tthis.checked.update((checked) => !checked);\n\t\tthis._onChange(this.checked());\n\t\tthis.changed.emit(this.checked());\n\t}\n\n\tngAfterContentInit() {\n\t\tthis._focusMonitor\n\t\t\t.monitor(this._elementRef, true)\n\t\t\t.pipe(takeUntilDestroyed(this._destroyRef))\n\t\t\t.subscribe((focusOrigin) => {\n\t\t\t\tif (focusOrigin) this.focused.set(true);\n\t\t\t\tif (focusOrigin === 'keyboard' || focusOrigin === 'program') {\n\t\t\t\t\tthis.focusVisible.set(true);\n\t\t\t\t\tthis._cdr.markForCheck();\n\t\t\t\t}\n\t\t\t\tif (!focusOrigin) {\n\t\t\t\t\t// When a focused element becomes disabled, the browser *immediately* fires a blur event.\n\t\t\t\t\t// Angular does not expect events to be raised during change detection, so any state\n\t\t\t\t\t// change (such as a form control's ng-touched) will cause a changed-after-checked error.\n\t\t\t\t\t// See https://github.com/angular/angular/issues/17793. To work around this, we defer\n\t\t\t\t\t// telling the form control it has been touched until the next tick.\n\t\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\t\tthis.focusVisible.set(false);\n\t\t\t\t\t\tthis.focused.set(false);\n\t\t\t\t\t\tthis._onTouched();\n\t\t\t\t\t\tthis.touched.emit();\n\t\t\t\t\t\tthis._cdr.markForCheck();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\tif (!this.checkbox()) return;\n\t\tthis.checkbox().nativeElement.value = this.checked() ? 'on' : 'off';\n\t\tthis.checkbox().nativeElement.dispatchEvent(new Event('change'));\n\t}\n\n\tngOnDestroy() {\n\t\tthis._focusMonitor.stopMonitoring(this._elementRef);\n\t}\n\n\tprotected forChild(parentValue: string | null | undefined): string | null {\n\t\treturn parentValue ? parentValue.replace(CONTAINER_POST_FIX, '') : null;\n\t}\n\n\twriteValue(value: boolean): void {\n\t\tthis.checked.set(Boolean(value));\n\t}\n\n\tregisterOnChange(fn: ChangeFn<boolean>): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: TouchFn): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\t/** Implemented as a part of ControlValueAccessor. */\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.state().disabled.set(isDisabled);\n\t\tthis._cdr.markForCheck();\n\t}\n\n\t/**\n\t * If the space key is pressed, prevent the default action to stop the page from scrolling.\n\t */\n\t@HostListener('keydown.space', ['$event'])\n\tprotected preventScrolling(event: KeyboardEvent): void {\n\t\tevent.preventDefault();\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnSwitchThumbComponent } from './lib/brn-switch-thumb.component';\nimport { BrnSwitchComponent } from './lib/brn-switch.component';\n\nexport * from './lib/brn-switch-thumb.component';\nexport * from './lib/brn-switch.component';\n\nexport const BrnSwitchImports = [BrnSwitchComponent, BrnSwitchThumbComponent] as const;\n\n@NgModule({\n\timports: [...BrnSwitchImports],\n\texports: [...BrnSwitchImports],\n})\nexport class BrnSwitchModule {}\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-switch.mjs","sources":["../../../../libs/brain/switch/src/lib/brn-switch-thumb.component.ts","../../../../libs/brain/switch/src/lib/brn-switch.component.ts","../../../../libs/brain/switch/src/index.ts","../../../../libs/brain/switch/src/spartan-ng-brain-switch.ts"],"sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n\tselector: 'brn-switch-thumb',\n\timports: [],\n\ttemplate: '',\n})\nexport class BrnSwitchThumbComponent {}\n","import { FocusMonitor } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { NgStyle, isPlatformBrowser } from '@angular/common';\nimport {\n\ttype AfterContentInit,\n\tChangeDetectionStrategy,\n\tChangeDetectorRef,\n\tComponent,\n\tDestroyRef,\n\tElementRef,\n\tHostListener,\n\ttype OnDestroy,\n\tPLATFORM_ID,\n\tRenderer2,\n\tViewEncapsulation,\n\tbooleanAttribute,\n\tcomputed,\n\teffect,\n\tforwardRef,\n\tinject,\n\tinput,\n\tmodel,\n\toutput,\n\tsignal,\n\tviewChild,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\n\nexport const BRN_SWITCH_VALUE_ACCESSOR = {\n\tprovide: NG_VALUE_ACCESSOR,\n\tuseExisting: forwardRef(() => BrnSwitchComponent),\n\tmulti: true,\n};\n\nconst CONTAINER_POST_FIX = '-switch';\n\n@Component({\n\tselector: 'brn-switch',\n\timports: [NgStyle],\n\ttemplate: `\n\t\t<input\n\t\t\t#checkBox\n\t\t\ttabindex=\"-1\"\n\t\t\ttype=\"checkbox\"\n\t\t\trole=\"switch\"\n\t\t\t[id]=\"forChild(state().id) ?? ''\"\n\t\t\t[name]=\"forChild(state().name) ?? ''\"\n\t\t\t[value]=\"checked() ? 'on' : 'off'\"\n\t\t\t[ngStyle]=\"{\n\t\t\t\tposition: 'absolute',\n\t\t\t\twidth: '1px',\n\t\t\t\theight: '1px',\n\t\t\t\tpadding: '0',\n\t\t\t\tmargin: -'1px',\n\t\t\t\toverflow: 'hidden',\n\t\t\t\tclip: 'rect(0, 0, 0, 0)',\n\t\t\t\twhiteSpace: 'nowrap',\n\t\t\t\tborderWidth: '0',\n\t\t\t}\"\n\t\t\t[checked]=\"checked()\"\n\t\t\t[attr.aria-label]=\"ariaLabel()\"\n\t\t\t[attr.aria-labelledby]=\"ariaLabelledby()\"\n\t\t\t[attr.aria-describedby]=\"ariaDescribedby()\"\n\t\t\t[attr.aria-required]=\"required() || null\"\n\t\t/>\n\t\t<ng-content select=\"brn-switch-thumb\" />\n\t`,\n\thost: {\n\t\ttabindex: '0',\n\t\t'[attr.data-state]': 'checked() ? \"checked\" : \"unchecked\"',\n\t\t'[attr.data-focus-visible]': 'focusVisible()',\n\t\t'[attr.data-focus]': 'focused()',\n\t\t'[attr.data-disabled]': 'state().disabled()',\n\t\t'[attr.aria-labelledby]': 'null',\n\t\t'[attr.aria-label]': 'null',\n\t\t'[attr.aria-describedby]': 'null',\n\t\t'[attr.id]': 'state().id',\n\t\t'[attr.name]': 'state().name',\n\t},\n\tproviders: [BRN_SWITCH_VALUE_ACCESSOR],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnSwitchComponent implements AfterContentInit, OnDestroy {\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _renderer = inject(Renderer2);\n\tprivate readonly _isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprivate readonly _focusMonitor = inject(FocusMonitor);\n\tprivate readonly _cdr = inject(ChangeDetectorRef);\n\n\tprotected readonly focusVisible = signal(false);\n\tprotected readonly focused = signal(false);\n\n\tpublic readonly checked = model<boolean>(false);\n\n\t/** Used to set the id on the underlying input element. */\n\n\tpublic readonly id = input<string | null>(null);\n\n\t/** Used to set the name attribute on the underlying input element. */\n\tpublic readonly name = input<string | null>(null);\n\n\t/** Used to set the aria-label attribute on the underlying input element. */\n\tpublic readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n\n\t/** Used to set the aria-labelledby attribute on the underlying input element. */\n\tpublic readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n\n\t/** Used to set the aria-describedby attribute on the underlying input element. */\n\tpublic readonly ariaDescribedby = input<string | null>(null, { alias: 'aria-describedby' });\n\n\tpublic readonly required = input(false, { transform: booleanAttribute });\n\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprotected _onChange: ChangeFn<boolean> = () => {};\n\t// eslint-disable-next-line @typescript-eslint/no-empty-function\n\tprivate _onTouched: TouchFn = () => {};\n\n\tpublic readonly checkbox = viewChild.required<ElementRef<HTMLInputElement>>('checkBox');\n\n\tpublic readonly changed = output<boolean>();\n\n\tpublic readonly touched = output<void>();\n\n\tprotected readonly state = computed(() => {\n\t\tconst name = this.name();\n\t\tconst id = this.id();\n\t\treturn {\n\t\t\tdisabled: signal(this.disabled()),\n\t\t\tname: name ? name + CONTAINER_POST_FIX : null,\n\t\t\tid: id ? id + CONTAINER_POST_FIX : null,\n\t\t};\n\t});\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\t/** search for the label and set the disabled state */\n\t\t\tlet parent = this._renderer.parentNode(this._elementRef.nativeElement);\n\t\t\tif (!parent) return;\n\t\t\t// if parent is a HLM-SWITCH, then we need to go up one more level to get the label\n\t\t\tif (parent?.tagName === 'HLM-SWITCH') {\n\t\t\t\tparent = this._renderer.parentNode(parent);\n\t\t\t}\n\t\t\tif (!parent) return;\n\t\t\t// check if parent is a label and assume it is for this checkbox\n\t\t\tif (parent?.tagName === 'LABEL') {\n\t\t\t\tthis._renderer.setAttribute(parent, 'data-disabled', this.state().disabled() ? 'true' : 'false');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this._isBrowser) return;\n\n\t\t\tconst label = parent?.querySelector(`label[for=\"${this.forChild(this.state().id)}\"]`);\n\t\t\tif (!label) return;\n\t\t\tthis._renderer.setAttribute(label, 'data-disabled', this.state().disabled() ? 'true' : 'false');\n\t\t});\n\t}\n\n\t@HostListener('click', ['$event'])\n\t@HostListener('keyup.enter', ['$event'])\n\t@HostListener('keyup.space', ['$event'])\n\tprotected toggle(event: Event): void {\n\t\tif (this.state().disabled()) return;\n\t\tevent.preventDefault();\n\n\t\tthis.checked.update((checked) => !checked);\n\t\tthis._onChange(this.checked());\n\t\tthis.changed.emit(this.checked());\n\t}\n\n\tngAfterContentInit() {\n\t\tthis._focusMonitor\n\t\t\t.monitor(this._elementRef, true)\n\t\t\t.pipe(takeUntilDestroyed(this._destroyRef))\n\t\t\t.subscribe((focusOrigin) => {\n\t\t\t\tif (focusOrigin) this.focused.set(true);\n\t\t\t\tif (focusOrigin === 'keyboard' || focusOrigin === 'program') {\n\t\t\t\t\tthis.focusVisible.set(true);\n\t\t\t\t\tthis._cdr.markForCheck();\n\t\t\t\t}\n\t\t\t\tif (!focusOrigin) {\n\t\t\t\t\t// When a focused element becomes disabled, the browser *immediately* fires a blur event.\n\t\t\t\t\t// Angular does not expect events to be raised during change detection, so any state\n\t\t\t\t\t// change (such as a form control's ng-touched) will cause a changed-after-checked error.\n\t\t\t\t\t// See https://github.com/angular/angular/issues/17793. To work around this, we defer\n\t\t\t\t\t// telling the form control it has been touched until the next tick.\n\t\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\t\tthis.focusVisible.set(false);\n\t\t\t\t\t\tthis.focused.set(false);\n\t\t\t\t\t\tthis._onTouched();\n\t\t\t\t\t\tthis.touched.emit();\n\t\t\t\t\t\tthis._cdr.markForCheck();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\n\t\tif (!this.checkbox()) return;\n\t\tthis.checkbox().nativeElement.value = this.checked() ? 'on' : 'off';\n\t\tthis.checkbox().nativeElement.dispatchEvent(new Event('change'));\n\t}\n\n\tngOnDestroy() {\n\t\tthis._focusMonitor.stopMonitoring(this._elementRef);\n\t}\n\n\tprotected forChild(parentValue: string | null | undefined): string | null {\n\t\treturn parentValue ? parentValue.replace(CONTAINER_POST_FIX, '') : null;\n\t}\n\n\twriteValue(value: boolean): void {\n\t\tthis.checked.set(Boolean(value));\n\t}\n\n\tregisterOnChange(fn: ChangeFn<boolean>): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: TouchFn): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\t/** Implemented as a part of ControlValueAccessor. */\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.state().disabled.set(isDisabled);\n\t\tthis._cdr.markForCheck();\n\t}\n\n\t/**\n\t * If the space key is pressed, prevent the default action to stop the page from scrolling.\n\t */\n\t@HostListener('keydown.space', ['$event'])\n\tprotected preventScrolling(event: KeyboardEvent): void {\n\t\tevent.preventDefault();\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnSwitchThumbComponent } from './lib/brn-switch-thumb.component';\nimport { BrnSwitchComponent } from './lib/brn-switch.component';\n\nexport * from './lib/brn-switch-thumb.component';\nexport * from './lib/brn-switch.component';\n\nexport const BrnSwitchImports = [BrnSwitchComponent, BrnSwitchThumbComponent] as const;\n\n@NgModule({\n\timports: [...BrnSwitchImports],\n\texports: [...BrnSwitchImports],\n})\nexport class BrnSwitchModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|