@spartan-ng/brain 0.0.1-alpha.489 → 0.0.1-alpha.491
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/avatar/lib/brn-avatar.component.d.ts +2 -2
- package/calendar/lib/brn-calendar-cell-button.directive.d.ts +2 -2
- package/calendar/lib/brn-calendar-grid.directive.d.ts +1 -1
- package/calendar/lib/brn-calendar-next-button.directive.d.ts +1 -1
- package/calendar/lib/brn-calendar-previous-button.directive.d.ts +1 -1
- package/calendar/lib/brn-calendar-week.directive.d.ts +1 -1
- package/calendar/lib/brn-calendar-weekday.directive.d.ts +1 -1
- package/calendar/lib/brn-calendar.directive.d.ts +3 -3
- package/calendar/lib/mode/brn-calendar-multiple.directive.d.ts +3 -3
- package/checkbox/lib/brn-checkbox.component.d.ts +3 -3
- package/collapsible/lib/brn-collapsible-content.component.d.ts +3 -3
- package/collapsible/lib/brn-collapsible-trigger.directive.d.ts +1 -1
- package/command/lib/brn-command-group.directive.d.ts +1 -1
- package/command/lib/brn-command-item.directive.d.ts +1 -1
- package/dialog/lib/brn-dialog-description.directive.d.ts +1 -1
- package/dialog/lib/brn-dialog-title.directive.d.ts +1 -1
- package/dialog/lib/brn-dialog.component.d.ts +1 -1
- package/fesm2022/spartan-ng-brain-avatar.mjs +4 -4
- package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-calendar.mjs +80 -80
- package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-checkbox.mjs +30 -30
- package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-collapsible.mjs +22 -22
- package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-command.mjs +10 -9
- package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-input-otp.mjs +18 -18
- package/fesm2022/spartan-ng-brain-input-otp.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-progress.mjs +8 -8
- package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-radio-group.mjs +33 -33
- package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-select.mjs +44 -43
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-separator.mjs +5 -5
- package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-slider.mjs +34 -35
- package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-switch.mjs +28 -28
- package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tabs.mjs +51 -50
- package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle-group.mjs +13 -13
- package/fesm2022/spartan-ng-brain-toggle-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle.mjs +4 -4
- package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tooltip.mjs +31 -31
- package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
- package/hover-card/lib/brn-hover-card-content.service.d.ts +5 -5
- package/input-otp/lib/brn-input-otp-slot.component.d.ts +2 -2
- package/input-otp/lib/brn-input-otp.component.d.ts +2 -2
- package/menu/lib/brn-context-menu-trigger.directive.d.ts +2 -2
- package/package.json +1 -1
- package/progress/lib/brn-progress-indicator.component.d.ts +1 -1
- package/progress/lib/brn-progress.component.d.ts +2 -2
- package/radio-group/lib/brn-radio-group.directive.d.ts +1 -1
- package/radio-group/lib/brn-radio.component.d.ts +6 -6
- package/select/lib/brn-select-content.component.d.ts +6 -6
- package/select/lib/brn-select-value.component.d.ts +4 -4
- package/select/lib/brn-select.component.d.ts +4 -4
- package/separator/lib/brn-separator.component.d.ts +2 -2
- package/sheet/lib/brn-sheet-trigger.directive.d.ts +1 -1
- package/slider/lib/brn-slider-range.directive.d.ts +1 -1
- package/slider/lib/brn-slider-thumb.directive.d.ts +2 -2
- package/slider/lib/brn-slider-track.directive.d.ts +1 -1
- package/slider/lib/brn-slider.directive.d.ts +3 -3
- package/switch/lib/brn-switch.component.d.ts +6 -5
- package/tabs/lib/brn-tabs-content.directive.d.ts +2 -2
- package/tabs/lib/brn-tabs-paginated-list.directive.d.ts +12 -12
- package/tabs/lib/brn-tabs-trigger.directive.d.ts +2 -2
- package/tabs/lib/brn-tabs.directive.d.ts +2 -2
- package/toggle/lib/brn-toggle.directive.d.ts +1 -1
- package/toggle-group/lib/brn-toggle-item.directive.d.ts +2 -2
- package/tooltip/lib/brn-tooltip-content.component.d.ts +5 -5
- package/tooltip/lib/brn-tooltip-trigger.directive.d.ts +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-sheet.mjs","sources":["../../../../libs/brain/sheet/src/lib/brn-sheet-close.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet.component.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-content.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-description.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-overlay.component.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-title.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-trigger.directive.ts","../../../../libs/brain/sheet/src/index.ts","../../../../libs/brain/sheet/src/spartan-ng-brain-sheet.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnDialogCloseDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: 'button[brnSheetClose]',\n})\nexport class BrnSheetCloseDirective extends BrnDialogCloseDirective {}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\teffect,\n\tforwardRef,\n\tinput,\n\tsignal,\n\tuntracked,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { BrnDialogComponent } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-sheet',\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialogComponent,\n\t\t\tuseExisting: forwardRef(() => BrnSheetComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\texportAs: 'brnSheet',\n})\nexport class BrnSheetComponent extends BrnDialogComponent {\n\tpublic readonly sideInput = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'side' });\n\tpublic readonly sideInputState = computed(() => signal(this.sideInput()));\n\tpublic readonly side = computed(() => this.sideInputState().asReadonly()());\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst side = this.side();\n\t\t\tuntracked(() => {\n\t\t\t\tif (side === 'top') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().top());\n\t\t\t\t}\n\t\t\t\tif (side === 'bottom') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().bottom());\n\t\t\t\t}\n\t\t\t\tif (side === 'left') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().left());\n\t\t\t\t}\n\t\t\t\tif (side === 'right') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().right());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport {\n\ttype ExposesSide,\n\tprovideExposedSideProviderExisting,\n\tprovideExposesStateProviderExisting,\n} from '@spartan-ng/brain/core';\nimport { BrnDialogContentDirective } from '@spartan-ng/brain/dialog';\nimport { BrnSheetComponent } from './brn-sheet.component';\n\n@Directive({\n\tselector: '[brnSheetContent]',\n\tproviders: [\n\t\tprovideExposesStateProviderExisting(() => BrnSheetContentDirective),\n\t\tprovideExposedSideProviderExisting(() => BrnSheetContentDirective),\n\t],\n})\nexport class BrnSheetContentDirective<T> extends BrnDialogContentDirective<T> implements ExposesSide {\n\tpublic readonly side = inject(BrnSheetComponent).side;\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescriptionDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetDescription]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetDescriptionDirective extends BrnDialogDescriptionDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlayComponent } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-sheet-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnSheetOverlayComponent)],\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnSheetOverlayComponent extends BrnDialogOverlayComponent {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitleDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetTitle]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetTitleDirective extends BrnDialogTitleDirective {}\n","import { Directive, inject, input } from '@angular/core';\nimport { BrnDialogTriggerDirective } from '@spartan-ng/brain/dialog';\nimport { BrnSheetComponent } from './brn-sheet.component';\n\n@Directive({\n\tselector: 'button[brnSheetTrigger]',\n})\nexport class BrnSheetTriggerDirective extends BrnDialogTriggerDirective {\n\tprivate readonly _sheet = inject(BrnSheetComponent, { optional: true });\n\n\tpublic side = input<'top' | 'bottom' | 'left' | 'right' | undefined>(undefined);\n\n\toverride open() {\n\t\tconst side = this.side();\n\t\tif (this._sheet && side) {\n\t\t\tthis._sheet.sideInputState().set(side);\n\t\t}\n\t\tsuper.open();\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnSheetCloseDirective } from './lib/brn-sheet-close.directive';\nimport { BrnSheetContentDirective } from './lib/brn-sheet-content.directive';\nimport { BrnSheetDescriptionDirective } from './lib/brn-sheet-description.directive';\nimport { BrnSheetOverlayComponent } from './lib/brn-sheet-overlay.component';\nimport { BrnSheetTitleDirective } from './lib/brn-sheet-title.directive';\nimport { BrnSheetTriggerDirective } from './lib/brn-sheet-trigger.directive';\nimport { BrnSheetComponent } from './lib/brn-sheet.component';\n\nexport * from './lib/brn-sheet-close.directive';\nexport * from './lib/brn-sheet-content.directive';\nexport * from './lib/brn-sheet-description.directive';\nexport * from './lib/brn-sheet-overlay.component';\nexport * from './lib/brn-sheet-title.directive';\nexport * from './lib/brn-sheet-trigger.directive';\nexport * from './lib/brn-sheet.component';\n\nexport const BrnSheetImports = [\n\tBrnSheetComponent,\n\tBrnSheetOverlayComponent,\n\tBrnSheetTriggerDirective,\n\tBrnSheetCloseDirective,\n\tBrnSheetContentDirective,\n\tBrnSheetTitleDirective,\n\tBrnSheetDescriptionDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnSheetImports],\n\texports: [...BrnSheetImports],\n})\nexport class BrnSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAMM,MAAO,sBAAuB,SAAQ,uBAAuB,CAAA;0HAAtD,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,iBAAA;;;ACuBK,MAAO,iBAAkB,SAAQ,kBAAkB,CAAA;IACxC,SAAS,GAAG,KAAK,CAAsC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAChF,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AACzD,IAAA,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC;AAC3E,IAAA,WAAA,GAAA;AACC,QAAA,KAAK,EAAE;QACP,MAAM,CAAC,MAAK;AACX,YAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YACxB,SAAS,CAAC,MAAK;AACd,gBAAA,IAAI,IAAI,KAAK,KAAK,EAAE;AACnB,oBAAA,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;;AAExE,gBAAA,IAAI,IAAI,KAAK,QAAQ,EAAE;AACtB,oBAAA,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC;;AAE3E,gBAAA,IAAI,IAAI,KAAK,MAAM,EAAE;AACpB,oBAAA,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;;AAEzE,gBAAA,IAAI,IAAI,KAAK,OAAO,EAAE;AACrB,oBAAA,IAAI,CAAC,uBAAuB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;;AAE3E,aAAC,CAAC;AACH,SAAC,CAAC;;0HAtBS,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,SAAA,EAVlB;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,WAAW,EAAE,UAAU,EAAC,MAAM,iBAAiB,EAAC;AAChD,aAAA;SACD,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EARS;;AAET,CAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAWW,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAf7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,QAAQ,EAAE;;AAET,CAAA,CAAA;AACD,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,kBAAkB;AAC3B,4BAAA,WAAW,EAAE,UAAU,EAAC,uBAAuB,EAAC;AAChD,yBAAA;AACD,qBAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,oBAAA,QAAQ,EAAE,UAAU;AACpB,iBAAA;;;ACXK,MAAO,wBAA4B,SAAQ,yBAA4B,CAAA;AAC5D,IAAA,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI;0HADzC,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EALzB;AACV,YAAA,mCAAmC,EAAC,MAAM,wBAAwB,EAAC;AACnE,YAAA,kCAAkC,EAAC,MAAM,wBAAwB,EAAC;AAClE,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAEW,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,SAAS,EAAE;AACV,wBAAA,mCAAmC,EAAC,MAAK,wBAAyB,EAAC;AACnE,wBAAA,kCAAkC,EAAC,MAAK,wBAAyB,EAAC;AAClE,qBAAA;AACD,iBAAA;;;ACNK,MAAO,4BAA6B,SAAQ,6BAA6B,CAAA;0HAAlE,4BAA4B,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAA5B,4BAA4B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBANxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACL,wBAAA,MAAM,EAAE,OAAO;AACf,qBAAA;AACD,iBAAA;;;ACGK,MAAO,wBAAyB,SAAQ,yBAAyB,CAAA;0HAA1D,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,SAAA,EALzB,CAAC,kCAAkC,EAAC,MAAM,wBAAwB,EAAC,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EACrE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAIA,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAPpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,mBAAmB;oBAC7B,SAAS,EAAE,CAAC,kCAAkC,EAAC,MAAK,wBAAyB,EAAC,CAAC;AAC/E,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACrC,iBAAA;;;ACDK,MAAO,sBAAuB,SAAQ,uBAAuB,CAAA;0HAAtD,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,IAAI,EAAE;AACL,wBAAA,MAAM,EAAE,OAAO;AACf,qBAAA;AACD,iBAAA;;;ACDK,MAAO,wBAAyB,SAAQ,yBAAyB,CAAA;IACrD,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEhE,IAAA,IAAI,GAAG,KAAK,CAAkD,SAAS,CAAC;IAEtE,IAAI,GAAA;AACZ,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;AACxB,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE;YACxB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;;QAEvC,KAAK,CAAC,IAAI,EAAE;;0HAVD,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAHpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,iBAAA;;;ACYM,MAAM,eAAe,GAAG;IAC9B,iBAAiB;IACjB,wBAAwB;IACxB,wBAAwB;IACxB,sBAAsB;IACtB,wBAAwB;IACxB,sBAAsB;IACtB,4BAA4B;;MAOhB,cAAc,CAAA;0HAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;AAAd,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,YAb1B,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB;YACxB,sBAAsB;AACtB,YAAA,4BAA4B,aAN5B,iBAAiB;YACjB,wBAAwB;YACxB,wBAAwB;YACxB,sBAAsB;YACtB,wBAAwB;YACxB,sBAAsB;YACtB,4BAA4B,CAAA,EAAA,CAAA;2HAOhB,cAAc,EAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;AAC7B,oBAAA,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC;AAC7B,iBAAA;;;AC/BD;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"spartan-ng-brain-sheet.mjs","sources":["../../../../libs/brain/sheet/src/lib/brn-sheet-close.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet.component.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-content.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-description.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-overlay.component.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-title.directive.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-trigger.directive.ts","../../../../libs/brain/sheet/src/index.ts","../../../../libs/brain/sheet/src/spartan-ng-brain-sheet.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnDialogCloseDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: 'button[brnSheetClose]',\n})\nexport class BrnSheetCloseDirective extends BrnDialogCloseDirective {}\n","import {\n\tChangeDetectionStrategy,\n\tComponent,\n\tcomputed,\n\teffect,\n\tforwardRef,\n\tinput,\n\tsignal,\n\tuntracked,\n\tViewEncapsulation,\n} from '@angular/core';\nimport { BrnDialogComponent } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-sheet',\n\ttemplate: `\n\t\t<ng-content />\n\t`,\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialogComponent,\n\t\t\tuseExisting: forwardRef(() => BrnSheetComponent),\n\t\t},\n\t],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n\texportAs: 'brnSheet',\n})\nexport class BrnSheetComponent extends BrnDialogComponent {\n\tpublic readonly sideInput = input<'top' | 'bottom' | 'left' | 'right'>('top', { alias: 'side' });\n\tpublic readonly sideInputState = computed(() => signal(this.sideInput()));\n\tpublic readonly side = computed(() => this.sideInputState().asReadonly()());\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst side = this.side();\n\t\t\tuntracked(() => {\n\t\t\t\tif (side === 'top') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().top());\n\t\t\t\t}\n\t\t\t\tif (side === 'bottom') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().bottom());\n\t\t\t\t}\n\t\t\t\tif (side === 'left') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().left());\n\t\t\t\t}\n\t\t\t\tif (side === 'right') {\n\t\t\t\t\tthis.mutablePositionStrategy().set(this.positionBuilder.global().right());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { Directive, inject } from '@angular/core';\nimport {\n\ttype ExposesSide,\n\tprovideExposedSideProviderExisting,\n\tprovideExposesStateProviderExisting,\n} from '@spartan-ng/brain/core';\nimport { BrnDialogContentDirective } from '@spartan-ng/brain/dialog';\nimport { BrnSheetComponent } from './brn-sheet.component';\n\n@Directive({\n\tselector: '[brnSheetContent]',\n\tproviders: [\n\t\tprovideExposesStateProviderExisting(() => BrnSheetContentDirective),\n\t\tprovideExposedSideProviderExisting(() => BrnSheetContentDirective),\n\t],\n})\nexport class BrnSheetContentDirective<T> extends BrnDialogContentDirective<T> implements ExposesSide {\n\tpublic readonly side = inject(BrnSheetComponent).side;\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescriptionDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetDescription]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetDescriptionDirective extends BrnDialogDescriptionDirective {}\n","import { ChangeDetectionStrategy, Component, ViewEncapsulation } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlayComponent } from '@spartan-ng/brain/dialog';\n\n@Component({\n\tselector: 'brn-sheet-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnSheetOverlayComponent)],\n\ttemplate: '',\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnSheetOverlayComponent extends BrnDialogOverlayComponent {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitleDirective } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetTitle]',\n\thost: {\n\t\t'[id]': '_id()',\n\t},\n})\nexport class BrnSheetTitleDirective extends BrnDialogTitleDirective {}\n","import { Directive, inject, input } from '@angular/core';\nimport { BrnDialogTriggerDirective } from '@spartan-ng/brain/dialog';\nimport { BrnSheetComponent } from './brn-sheet.component';\n\n@Directive({\n\tselector: 'button[brnSheetTrigger]',\n})\nexport class BrnSheetTriggerDirective extends BrnDialogTriggerDirective {\n\tprivate readonly _sheet = inject(BrnSheetComponent, { optional: true });\n\n\tpublic readonly side = input<'top' | 'bottom' | 'left' | 'right' | undefined>(undefined);\n\n\toverride open() {\n\t\tconst side = this.side();\n\t\tif (this._sheet && side) {\n\t\t\tthis._sheet.sideInputState().set(side);\n\t\t}\n\t\tsuper.open();\n\t}\n}\n","import { NgModule } from '@angular/core';\n\nimport { BrnSheetCloseDirective } from './lib/brn-sheet-close.directive';\nimport { BrnSheetContentDirective } from './lib/brn-sheet-content.directive';\nimport { BrnSheetDescriptionDirective } from './lib/brn-sheet-description.directive';\nimport { BrnSheetOverlayComponent } from './lib/brn-sheet-overlay.component';\nimport { BrnSheetTitleDirective } from './lib/brn-sheet-title.directive';\nimport { BrnSheetTriggerDirective } from './lib/brn-sheet-trigger.directive';\nimport { BrnSheetComponent } from './lib/brn-sheet.component';\n\nexport * from './lib/brn-sheet-close.directive';\nexport * from './lib/brn-sheet-content.directive';\nexport * from './lib/brn-sheet-description.directive';\nexport * from './lib/brn-sheet-overlay.component';\nexport * from './lib/brn-sheet-title.directive';\nexport * from './lib/brn-sheet-trigger.directive';\nexport * from './lib/brn-sheet.component';\n\nexport const BrnSheetImports = [\n\tBrnSheetComponent,\n\tBrnSheetOverlayComponent,\n\tBrnSheetTriggerDirective,\n\tBrnSheetCloseDirective,\n\tBrnSheetContentDirective,\n\tBrnSheetTitleDirective,\n\tBrnSheetDescriptionDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnSheetImports],\n\texports: [...BrnSheetImports],\n})\nexport class BrnSheetModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -16,23 +16,23 @@ function injectBrnSlider() {
|
|
|
16
16
|
|
|
17
17
|
class BrnSliderRangeDirective {
|
|
18
18
|
/** Access the slider */
|
|
19
|
-
|
|
19
|
+
_slider = injectBrnSlider();
|
|
20
20
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderRangeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderRangeDirective, isStandalone: true, selector: "[brnSliderRange]", host: { properties: { "attr.data-disabled": "
|
|
21
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderRangeDirective, isStandalone: true, selector: "[brnSliderRange]", host: { properties: { "attr.data-disabled": "_slider.mutableDisabled()", "style.width.%": "_slider.percentage()" } }, ngImport: i0 });
|
|
22
22
|
}
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderRangeDirective, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{
|
|
26
26
|
selector: '[brnSliderRange]',
|
|
27
27
|
host: {
|
|
28
|
-
'[attr.data-disabled]': '
|
|
29
|
-
'[style.width.%]': '
|
|
28
|
+
'[attr.data-disabled]': '_slider.mutableDisabled()',
|
|
29
|
+
'[style.width.%]': '_slider.percentage()',
|
|
30
30
|
},
|
|
31
31
|
}]
|
|
32
32
|
}] });
|
|
33
33
|
|
|
34
34
|
class BrnSliderThumbDirective {
|
|
35
|
-
|
|
35
|
+
_slider = injectBrnSlider();
|
|
36
36
|
_document = inject(DOCUMENT);
|
|
37
37
|
_elementRef = inject(ElementRef);
|
|
38
38
|
_platform = inject(PLATFORM_ID);
|
|
@@ -41,15 +41,15 @@ class BrnSliderThumbDirective {
|
|
|
41
41
|
* within the bounds of the slider when reaching the edges.
|
|
42
42
|
* Based on https://github.com/radix-ui/primitives/blob/main/packages/react/slider/src/slider.tsx
|
|
43
43
|
*/
|
|
44
|
-
|
|
44
|
+
_thumbOffset = computed(() => {
|
|
45
45
|
// we can't compute the offset on the server
|
|
46
46
|
if (isPlatformServer(this._platform)) {
|
|
47
|
-
return this.
|
|
47
|
+
return this._slider.percentage() + '%';
|
|
48
48
|
}
|
|
49
49
|
const halfWidth = this._elementRef.nativeElement.offsetWidth / 2;
|
|
50
50
|
const offset = this.linearScale([0, 50], [0, halfWidth]);
|
|
51
|
-
const thumbInBoundsOffset = halfWidth - offset(this.
|
|
52
|
-
const percent = this.
|
|
51
|
+
const thumbInBoundsOffset = halfWidth - offset(this._slider.percentage());
|
|
52
|
+
const percent = this._slider.percentage();
|
|
53
53
|
return `calc(${percent}% + ${thumbInBoundsOffset}px)`;
|
|
54
54
|
});
|
|
55
55
|
constructor() {
|
|
@@ -63,15 +63,15 @@ class BrnSliderThumbDirective {
|
|
|
63
63
|
}
|
|
64
64
|
/** @internal */
|
|
65
65
|
dragThumb(event) {
|
|
66
|
-
if (this.
|
|
66
|
+
if (this._slider.mutableDisabled()) {
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
|
-
const rect = this.
|
|
69
|
+
const rect = this._slider.track()?.elementRef.nativeElement.getBoundingClientRect();
|
|
70
70
|
if (!rect) {
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
73
|
const percentage = (event.clientX - rect.left) / rect.width;
|
|
74
|
-
this.
|
|
74
|
+
this._slider.setValue(this._slider.min() + (this._slider.max() - this._slider.min()) * Math.max(0, Math.min(1, percentage)));
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
77
|
* Handle keyboard events.
|
|
@@ -80,26 +80,26 @@ class BrnSliderThumbDirective {
|
|
|
80
80
|
handleKeydown(event) {
|
|
81
81
|
const dir = getComputedStyle(this._elementRef.nativeElement).direction;
|
|
82
82
|
let multiplier = event.shiftKey ? 10 : 1;
|
|
83
|
-
const value = this.
|
|
83
|
+
const value = this._slider.value();
|
|
84
84
|
// if the slider is RTL, flip the multiplier
|
|
85
85
|
if (dir === 'rtl') {
|
|
86
86
|
multiplier = event.shiftKey ? -10 : -1;
|
|
87
87
|
}
|
|
88
88
|
switch (event.key) {
|
|
89
89
|
case 'ArrowLeft':
|
|
90
|
-
this.
|
|
90
|
+
this._slider.setValue(Math.max(value - this._slider.step() * multiplier, this._slider.min()));
|
|
91
91
|
event.preventDefault();
|
|
92
92
|
break;
|
|
93
93
|
case 'ArrowRight':
|
|
94
|
-
this.
|
|
94
|
+
this._slider.setValue(Math.min(value + this._slider.step() * multiplier, this._slider.max()));
|
|
95
95
|
event.preventDefault();
|
|
96
96
|
break;
|
|
97
97
|
case 'Home':
|
|
98
|
-
this.
|
|
98
|
+
this._slider.setValue(this._slider.min());
|
|
99
99
|
event.preventDefault();
|
|
100
100
|
break;
|
|
101
101
|
case 'End':
|
|
102
|
-
this.
|
|
102
|
+
this._slider.setValue(this._slider.max());
|
|
103
103
|
event.preventDefault();
|
|
104
104
|
break;
|
|
105
105
|
}
|
|
@@ -113,7 +113,7 @@ class BrnSliderThumbDirective {
|
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
115
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
116
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderThumbDirective, isStandalone: true, selector: "[brnSliderThumb]", host: { attributes: { "role": "slider" }, listeners: { "keydown": "handleKeydown($event)" }, properties: { "attr.aria-valuenow": "
|
|
116
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderThumbDirective, isStandalone: true, selector: "[brnSliderThumb]", host: { attributes: { "role": "slider" }, listeners: { "keydown": "handleKeydown($event)" }, properties: { "attr.aria-valuenow": "_slider.value()", "attr.aria-valuemin": "_slider.min()", "attr.aria-valuemax": "_slider.max()", "attr.tabindex": "_slider.mutableDisabled() ? -1 : 0", "attr.data-disabled": "_slider.mutableDisabled()", "style.inset-inline-start": "_thumbOffset()" } }, ngImport: i0 });
|
|
117
117
|
}
|
|
118
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderThumbDirective, decorators: [{
|
|
119
119
|
type: Directive,
|
|
@@ -121,12 +121,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
121
121
|
selector: '[brnSliderThumb]',
|
|
122
122
|
host: {
|
|
123
123
|
role: 'slider',
|
|
124
|
-
'[attr.aria-valuenow]': '
|
|
125
|
-
'[attr.aria-valuemin]': '
|
|
126
|
-
'[attr.aria-valuemax]': '
|
|
127
|
-
'[attr.tabindex]': '
|
|
128
|
-
'[attr.data-disabled]': '
|
|
129
|
-
'[style.inset-inline-start]': '
|
|
124
|
+
'[attr.aria-valuenow]': '_slider.value()',
|
|
125
|
+
'[attr.aria-valuemin]': '_slider.min()',
|
|
126
|
+
'[attr.aria-valuemax]': '_slider.max()',
|
|
127
|
+
'[attr.tabindex]': '_slider.mutableDisabled() ? -1 : 0',
|
|
128
|
+
'[attr.data-disabled]': '_slider.mutableDisabled()',
|
|
129
|
+
'[style.inset-inline-start]': '_thumbOffset()',
|
|
130
130
|
},
|
|
131
131
|
}]
|
|
132
132
|
}], ctorParameters: () => [], propDecorators: { handleKeydown: [{
|
|
@@ -179,24 +179,24 @@ function injectBrnSliderTrack() {
|
|
|
179
179
|
|
|
180
180
|
class BrnSliderTrackDirective {
|
|
181
181
|
/** Access the slider */
|
|
182
|
-
|
|
182
|
+
_slider = injectBrnSlider();
|
|
183
183
|
/** @internal Access the slider track */
|
|
184
184
|
elementRef = inject(ElementRef);
|
|
185
185
|
constructor() {
|
|
186
|
-
this.
|
|
186
|
+
this._slider.track.set(this);
|
|
187
187
|
}
|
|
188
188
|
moveThumbToPoint(event) {
|
|
189
|
-
if (this.
|
|
189
|
+
if (this._slider.mutableDisabled()) {
|
|
190
190
|
return;
|
|
191
191
|
}
|
|
192
192
|
const position = event.clientX;
|
|
193
193
|
const rect = this.elementRef.nativeElement.getBoundingClientRect();
|
|
194
194
|
const percentage = (position - rect.left) / rect.width;
|
|
195
195
|
// update the value based on the position
|
|
196
|
-
this.
|
|
196
|
+
this._slider.setValue(this._slider.min() + (this._slider.max() - this._slider.min()) * percentage);
|
|
197
197
|
}
|
|
198
198
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTrackDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
199
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderTrackDirective, isStandalone: true, selector: "[brnSliderTrack]", host: { listeners: { "mousedown": "moveThumbToPoint($event)" }, properties: { "attr.data-disabled": "
|
|
199
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.8", type: BrnSliderTrackDirective, isStandalone: true, selector: "[brnSliderTrack]", host: { listeners: { "mousedown": "moveThumbToPoint($event)" }, properties: { "attr.data-disabled": "_slider.mutableDisabled()" } }, providers: [provideBrnSliderTrack(BrnSliderTrackDirective)], ngImport: i0 });
|
|
200
200
|
}
|
|
201
201
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderTrackDirective, decorators: [{
|
|
202
202
|
type: Directive,
|
|
@@ -204,7 +204,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
204
204
|
selector: '[brnSliderTrack]',
|
|
205
205
|
providers: [provideBrnSliderTrack(BrnSliderTrackDirective)],
|
|
206
206
|
host: {
|
|
207
|
-
'[attr.data-disabled]': '
|
|
207
|
+
'[attr.data-disabled]': '_slider.mutableDisabled()',
|
|
208
208
|
},
|
|
209
209
|
}]
|
|
210
210
|
}], ctorParameters: () => [], propDecorators: { moveThumbToPoint: [{
|
|
@@ -225,8 +225,7 @@ class BrnSliderDirective {
|
|
|
225
225
|
step = input(1, {
|
|
226
226
|
transform: numberAttribute,
|
|
227
227
|
});
|
|
228
|
-
|
|
229
|
-
alias: 'disabled',
|
|
228
|
+
disabled = input(false, {
|
|
230
229
|
transform: booleanAttribute,
|
|
231
230
|
});
|
|
232
231
|
/** Whether we should show tick marks */
|
|
@@ -246,7 +245,7 @@ class BrnSliderDirective {
|
|
|
246
245
|
return Array(numActive).fill(true).concat(Array(numInactive).fill(false));
|
|
247
246
|
});
|
|
248
247
|
/** @internal */
|
|
249
|
-
|
|
248
|
+
mutableDisabled = linkedSignal(() => this.disabled());
|
|
250
249
|
/** @internal */
|
|
251
250
|
percentage = computed(() => ((this.value() - this.min()) / (this.max() - this.min())) * 100);
|
|
252
251
|
/** @internal Store the on change callback */
|
|
@@ -271,7 +270,7 @@ class BrnSliderDirective {
|
|
|
271
270
|
this._onTouched = fn;
|
|
272
271
|
}
|
|
273
272
|
setDisabledState(isDisabled) {
|
|
274
|
-
this.
|
|
273
|
+
this.mutableDisabled.set(isDisabled);
|
|
275
274
|
}
|
|
276
275
|
writeValue(value) {
|
|
277
276
|
const clampedValue = clamp(value, [this.min(), this.max()]);
|
|
@@ -289,7 +288,7 @@ class BrnSliderDirective {
|
|
|
289
288
|
this._onChange?.(value);
|
|
290
289
|
}
|
|
291
290
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
292
|
-
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: BrnSliderDirective, isStandalone: true, selector: "[brnSlider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null },
|
|
291
|
+
/** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.8", type: BrnSliderDirective, isStandalone: true, selector: "[brnSlider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showTicks: { classPropertyName: "showTicks", publicName: "showTicks", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, host: { attributes: { "aria-orientation": "horizontal" }, listeners: { "focusout": "_onTouched?.()" } }, providers: [
|
|
293
292
|
provideBrnSlider(BrnSliderDirective),
|
|
294
293
|
{
|
|
295
294
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-slider.mjs","sources":["../../../../libs/brain/slider/src/lib/brn-slider.token.ts","../../../../libs/brain/slider/src/lib/brn-slider-range.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-thumb.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-tick.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-track.token.ts","../../../../libs/brain/slider/src/lib/brn-slider-track.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider.directive.ts","../../../../libs/brain/slider/src/index.ts","../../../../libs/brain/slider/src/spartan-ng-brain-slider.ts"],"sourcesContent":["import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnSliderDirective } from './brn-slider.directive';\n\nconst BrnSliderToken = new InjectionToken<BrnSliderDirective>('BrnSliderToken');\n\nexport function provideBrnSlider(slider: Type<BrnSliderDirective>): ExistingProvider {\n\treturn { provide: BrnSliderToken, useExisting: slider };\n}\n\nexport function injectBrnSlider(): BrnSliderDirective {\n\treturn inject(BrnSliderToken);\n}\n","import { Directive } from '@angular/core';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderRange]',\n\thost: {\n\t\t'[attr.data-disabled]': 'slider.disabled()',\n\t\t'[style.width.%]': 'slider.percentage()',\n\t},\n})\nexport class BrnSliderRangeDirective {\n\t/** Access the slider */\n\tprotected readonly slider = injectBrnSlider();\n}\n","import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { computed, Directive, ElementRef, HostListener, inject, PLATFORM_ID } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\nimport { switchMap, takeUntil } from 'rxjs/operators';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderThumb]',\n\thost: {\n\t\trole: 'slider',\n\t\t'[attr.aria-valuenow]': 'slider.value()',\n\t\t'[attr.aria-valuemin]': 'slider.min()',\n\t\t'[attr.aria-valuemax]': 'slider.max()',\n\t\t'[attr.tabindex]': 'slider.disabled() ? -1 : 0',\n\t\t'[attr.data-disabled]': 'slider.disabled()',\n\t\t'[style.inset-inline-start]': 'thumbOffset()',\n\t},\n})\nexport class BrnSliderThumbDirective {\n\tprotected readonly slider = injectBrnSlider();\n\tprivate readonly _document = inject<Document>(DOCUMENT);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\t/**\n\t * Offsets the thumb centre point while sliding to ensure it remains\n\t * within the bounds of the slider when reaching the edges.\n\t * Based on https://github.com/radix-ui/primitives/blob/main/packages/react/slider/src/slider.tsx\n\t */\n\tprotected readonly thumbOffset = computed(() => {\n\t\t// we can't compute the offset on the server\n\t\tif (isPlatformServer(this._platform)) {\n\t\t\treturn this.slider.percentage() + '%';\n\t\t}\n\n\t\tconst halfWidth = this._elementRef.nativeElement.offsetWidth / 2;\n\t\tconst offset = this.linearScale([0, 50], [0, halfWidth]);\n\t\tconst thumbInBoundsOffset = halfWidth - offset(this.slider.percentage());\n\t\tconst percent = this.slider.percentage();\n\n\t\treturn `calc(${percent}% + ${thumbInBoundsOffset}px)`;\n\t});\n\n\tconstructor() {\n\t\tconst mousedown = fromEvent<MouseEvent>(this._elementRef.nativeElement, 'pointerdown');\n\t\tconst mouseup = fromEvent<MouseEvent>(this._document, 'pointerup');\n\t\tconst mousemove = fromEvent<MouseEvent>(this._document, 'pointermove');\n\n\t\t// Listen for mousedown events on the slider thumb\n\t\tmousedown\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => mousemove.pipe(takeUntil(mouseup))),\n\t\t\t\ttakeUntilDestroyed(),\n\t\t\t)\n\t\t\t.subscribe(this.dragThumb.bind(this));\n\t}\n\n\t/** @internal */\n\tprivate dragThumb(event: MouseEvent): void {\n\t\tif (this.slider.disabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rect = this.slider.track()?.elementRef.nativeElement.getBoundingClientRect();\n\n\t\tif (!rect) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst percentage = (event.clientX - rect.left) / rect.width;\n\n\t\tthis.slider.setValue(\n\t\t\tthis.slider.min() + (this.slider.max() - this.slider.min()) * Math.max(0, Math.min(1, percentage)),\n\t\t);\n\t}\n\n\t/**\n\t * Handle keyboard events.\n\t * @param event\n\t */\n\t@HostListener('keydown', ['$event'])\n\tprotected handleKeydown(event: KeyboardEvent): void {\n\t\tconst dir = getComputedStyle(this._elementRef.nativeElement).direction;\n\t\tlet multiplier = event.shiftKey ? 10 : 1;\n\t\tconst value = this.slider.value();\n\n\t\t// if the slider is RTL, flip the multiplier\n\t\tif (dir === 'rtl') {\n\t\t\tmultiplier = event.shiftKey ? -10 : -1;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis.slider.setValue(Math.max(value - this.slider.step() * multiplier, this.slider.min()));\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis.slider.setValue(Math.min(value + this.slider.step() * multiplier, this.slider.max()));\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'Home':\n\t\t\t\tthis.slider.setValue(this.slider.min());\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'End':\n\t\t\t\tthis.slider.setValue(this.slider.max());\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate linearScale(input: readonly [number, number], output: readonly [number, number]): (value: number) => number {\n\t\treturn (value: number) => {\n\t\t\tif (input[0] === input[1] || output[0] === output[1]) return output[0];\n\t\t\tconst ratio = (output[1] - output[0]) / (input[1] - input[0]);\n\t\t\treturn output[0] + ratio * (value - input[0]);\n\t\t};\n\t}\n}\n","import { Directive, effect, EmbeddedViewRef, inject, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderTick]',\n})\nexport class BrnSliderTickDirective implements OnDestroy {\n\tprivate readonly _slider = injectBrnSlider();\n\tprivate readonly _templateRef = inject<TemplateRef<BrnSliderTickContext>>(TemplateRef);\n\tprivate readonly _viewContainer = inject(ViewContainerRef);\n\tprivate _ticks: EmbeddedViewRef<BrnSliderTickContext>[] = [];\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst ticks = this._slider.ticks();\n\n\t\t\t// remove any existing ticks\n\t\t\tthis._ticks.forEach((tick) => this._viewContainer.remove(this._viewContainer.indexOf(tick)));\n\n\t\t\t// create new ticks\n\t\t\tthis._ticks = [];\n\n\t\t\tticks.forEach((tick, index) => {\n\t\t\t\tconst view = this._viewContainer.createEmbeddedView(this._templateRef, {\n\t\t\t\t\t$implicit: tick,\n\t\t\t\t\tindex,\n\t\t\t\t\tposition: (index / (ticks.length - 1)) * 100,\n\t\t\t\t});\n\t\t\t\tthis._ticks.push(view);\n\t\t\t});\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._ticks.forEach((tick) => this._viewContainer.remove(this._viewContainer.indexOf(tick)));\n\t}\n}\n\ninterface BrnSliderTickContext {\n\t$implicit: number;\n\tindex: number;\n\tposition: number;\n}\n","import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnSliderTrackDirective } from './brn-slider-track.directive';\n\nexport const BrnSliderTrackToken = new InjectionToken<BrnSliderTrackDirective>('BrnSliderTrackToken');\n\nexport function provideBrnSliderTrack(slider: Type<BrnSliderTrackDirective>): ExistingProvider {\n\treturn { provide: BrnSliderTrackToken, useExisting: slider };\n}\n\nexport function injectBrnSliderTrack(): BrnSliderTrackDirective {\n\treturn inject(BrnSliderTrackToken);\n}\n","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport { provideBrnSliderTrack } from './brn-slider-track.token';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderTrack]',\n\tproviders: [provideBrnSliderTrack(BrnSliderTrackDirective)],\n\thost: {\n\t\t'[attr.data-disabled]': 'slider.disabled()',\n\t},\n})\nexport class BrnSliderTrackDirective {\n\t/** Access the slider */\n\tprotected readonly slider = injectBrnSlider();\n\n\t/** @internal Access the slider track */\n\tpublic readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tconstructor() {\n\t\tthis.slider.track.set(this);\n\t}\n\n\t@HostListener('mousedown', ['$event'])\n\tprotected moveThumbToPoint(event: MouseEvent): void {\n\t\tif (this.slider.disabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst position = event.clientX;\n\t\tconst rect = this.elementRef.nativeElement.getBoundingClientRect();\n\t\tconst percentage = (position - rect.left) / rect.width;\n\n\t\t// update the value based on the position\n\t\tthis.slider.setValue(this.slider.min() + (this.slider.max() - this.slider.min()) * percentage);\n\t}\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n\tbooleanAttribute,\n\tChangeDetectorRef,\n\tcomputed,\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\tnumberAttribute,\n\tOnInit,\n\tsignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport type { BrnSliderTrackDirective } from './brn-slider-track.directive';\nimport { provideBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSlider]',\n\texportAs: 'brnSlider',\n\tproviders: [\n\t\tprovideBrnSlider(BrnSliderDirective),\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => BrnSliderDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n\thost: {\n\t\t'aria-orientation': 'horizontal',\n\t\t'(focusout)': '_onTouched?.()',\n\t},\n})\nexport class BrnSliderDirective implements ControlValueAccessor, OnInit {\n\tprivate readonly _changeDetectorRef = inject(ChangeDetectorRef);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tpublic readonly value = model<number>(0);\n\n\tpublic readonly min = input<number, NumberInput>(0, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly max = input<number, NumberInput>(100, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly step = input<number, NumberInput>(1, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly _disabled = input<boolean, BooleanInput>(false, {\n\t\talias: 'disabled',\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Whether we should show tick marks */\n\tpublic readonly showTicks = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** @internal */\n\tpublic readonly ticks = computed(() => {\n\t\tconst value = this.value();\n\n\t\tif (!this.showTicks()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet numActive = Math.max(Math.floor((value - this.min()) / this.step()), 0);\n\t\tlet numInactive = Math.max(Math.floor((this.max() - value) / this.step()), 0);\n\n\t\tconst direction = getComputedStyle(this._elementRef.nativeElement).direction;\n\n\t\tdirection === 'rtl' ? numInactive++ : numActive++;\n\n\t\treturn Array(numActive).fill(true).concat(Array(numInactive).fill(false));\n\t});\n\n\t/** @internal */\n\tpublic readonly disabled = linkedSignal(() => this._disabled());\n\n\t/** @internal */\n\tpublic readonly percentage = computed(() => ((this.value() - this.min()) / (this.max() - this.min())) * 100);\n\n\t/** @internal Store the on change callback */\n\tprotected _onChange?: ChangeFn<number>;\n\n\t/** @internal Store the on touched callback */\n\tprotected _onTouched?: TouchFn;\n\n\t/** @internal Store the track */\n\tpublic readonly track = signal<BrnSliderTrackDirective | null>(null);\n\n\tngOnInit(): void {\n\t\t// ensure the value is within the min and max range\n\t\tif (this.value() < this.min()) {\n\t\t\tthis.value.set(this.min());\n\t\t}\n\t\tif (this.value() > this.max()) {\n\t\t\tthis.value.set(this.max());\n\t\t}\n\t}\n\n\tregisterOnChange(fn: (value: number) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.disabled.set(isDisabled);\n\t}\n\n\twriteValue(value: number): void {\n\t\tconst clampedValue = clamp(value, [this.min(), this.max()]);\n\t\tthis.value.set(clampedValue);\n\n\t\tif (value !== clampedValue) {\n\t\t\tthis._onChange?.(clampedValue);\n\t\t}\n\n\t\tthis._changeDetectorRef.detectChanges();\n\t}\n\n\tsetValue(value: number): void {\n\t\tconst decimalCount = getDecimalCount(this.step());\n\t\tconst snapToStep = roundValue(\n\t\t\tMath.round((value - this.min()) / this.step()) * this.step() + this.min(),\n\t\t\tdecimalCount,\n\t\t);\n\n\t\tvalue = clamp(snapToStep, [this.min(), this.max()]);\n\n\t\tthis.value.set(value);\n\t\tthis._onChange?.(value);\n\t}\n}\n\nfunction roundValue(value: number, decimalCount: number): number {\n\tconst rounder = Math.pow(10, decimalCount);\n\treturn Math.round(value * rounder) / rounder;\n}\n\nfunction getDecimalCount(value: number): number {\n\treturn (String(value).split('.')[1] || '').length;\n}\n\nfunction clamp(value: number, [min, max]: [number, number]): number {\n\treturn Math.min(max, Math.max(min, value));\n}\n","import { BrnSliderRangeDirective } from './lib/brn-slider-range.directive';\nimport { BrnSliderThumbDirective } from './lib/brn-slider-thumb.directive';\nimport { BrnSliderTickDirective } from './lib/brn-slider-tick.directive';\nimport { BrnSliderTrackDirective } from './lib/brn-slider-track.directive';\nimport { BrnSliderDirective } from './lib/brn-slider.directive';\n\nexport * from './lib/brn-slider-range.directive';\nexport * from './lib/brn-slider-thumb.directive';\nexport * from './lib/brn-slider-tick.directive';\nexport * from './lib/brn-slider-track.directive';\nexport * from './lib/brn-slider.directive';\nexport * from './lib/brn-slider.token';\n\nexport const BrnSliderImports = [\n\tBrnSliderDirective,\n\tBrnSliderTrackDirective,\n\tBrnSliderThumbDirective,\n\tBrnSliderRangeDirective,\n\tBrnSliderTickDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;AAGA,MAAM,cAAc,GAAG,IAAI,cAAc,CAAqB,gBAAgB,CAAC;AAEzE,SAAU,gBAAgB,CAAC,MAAgC,EAAA;IAChE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE;AACxD;SAEgB,eAAe,GAAA;AAC9B,IAAA,OAAO,MAAM,CAAC,cAAc,CAAC;AAC9B;;MCDa,uBAAuB,CAAA;;IAEhB,MAAM,GAAG,eAAe,EAAE;0HAFjC,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACL,wBAAA,sBAAsB,EAAE,mBAAmB;AAC3C,wBAAA,iBAAiB,EAAE,qBAAqB;AACxC,qBAAA;AACD,iBAAA;;;MCUY,uBAAuB,CAAA;IAChB,MAAM,GAAG,eAAe,EAAE;AAC5B,IAAA,SAAS,GAAG,MAAM,CAAW,QAAQ,CAAC;AACtC,IAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC;AACzD,IAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC;AAEhD;;;;AAIG;AACgB,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;;AAE9C,QAAA,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACrC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,GAAG;;QAGtC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC;AAChE,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACxD,QAAA,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;AAExC,QAAA,OAAO,CAAA,KAAA,EAAQ,OAAO,CAAA,IAAA,EAAO,mBAAmB,KAAK;AACtD,KAAC,CAAC;AAEF,IAAA,WAAA,GAAA;AACC,QAAA,MAAM,SAAS,GAAG,SAAS,CAAa,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC;QACtF,MAAM,OAAO,GAAG,SAAS,CAAa,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC;QAClE,MAAM,SAAS,GAAG,SAAS,CAAa,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;;QAGtE;AACE,aAAA,IAAI,CACJ,SAAS,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EACnD,kBAAkB,EAAE;aAEpB,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;AAI/B,IAAA,SAAS,CAAC,KAAiB,EAAA;AAClC,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YAC3B;;AAGD,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE;QAElF,IAAI,CAAC,IAAI,EAAE;YACV;;AAGD,QAAA,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK;QAE3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CACnB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAClG;;AAGF;;;AAGG;AAEO,IAAA,aAAa,CAAC,KAAoB,EAAA;AAC3C,QAAA,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,SAAS;AACtE,QAAA,IAAI,UAAU,GAAG,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;;AAGjC,QAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AAClB,YAAA,UAAU,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;;AAGvC,QAAA,QAAQ,KAAK,CAAC,GAAG;AAChB,YAAA,KAAK,WAAW;AACf,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1F,KAAK,CAAC,cAAc,EAAE;gBACtB;AACD,YAAA,KAAK,YAAY;AAChB,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC1F,KAAK,CAAC,cAAc,EAAE;gBACtB;AACD,YAAA,KAAK,MAAM;AACV,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACvC,KAAK,CAAC,cAAc,EAAE;gBACtB;AACD,YAAA,KAAK,KAAK;AACT,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBACvC,KAAK,CAAC,cAAc,EAAE;gBACtB;;;IAIK,WAAW,CAAC,KAAgC,EAAE,MAAiC,EAAA;QACtF,OAAO,CAAC,KAAa,KAAI;AACxB,YAAA,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC;AAAE,gBAAA,OAAO,MAAM,CAAC,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7D,YAAA,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9C,SAAC;;0HAlGU,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,4BAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,0BAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAZnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACL,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,sBAAsB,EAAE,gBAAgB;AACxC,wBAAA,sBAAsB,EAAE,cAAc;AACtC,wBAAA,sBAAsB,EAAE,cAAc;AACtC,wBAAA,iBAAiB,EAAE,4BAA4B;AAC/C,wBAAA,sBAAsB,EAAE,mBAAmB;AAC3C,wBAAA,4BAA4B,EAAE,eAAe;AAC7C,qBAAA;AACD,iBAAA;wDAgEU,aAAa,EAAA,CAAA;sBADtB,YAAY;uBAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;;;MC3EvB,sBAAsB,CAAA;IACjB,OAAO,GAAG,eAAe,EAAE;AAC3B,IAAA,YAAY,GAAG,MAAM,CAAoC,WAAW,CAAC;AACrE,IAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAClD,MAAM,GAA4C,EAAE;AAE5D,IAAA,WAAA,GAAA;QACC,MAAM,CAAC,MAAK;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;;YAGlC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;;AAG5F,YAAA,IAAI,CAAC,MAAM,GAAG,EAAE;YAEhB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE;AACtE,oBAAA,SAAS,EAAE,IAAI;oBACf,KAAK;AACL,oBAAA,QAAQ,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG;AAC5C,iBAAA,CAAC;AACF,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACvB,aAAC,CAAC;AACH,SAAC,CAAC;;IAGH,WAAW,GAAA;QACV,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;;0HA5BjF,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAtB,sBAAsB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAHlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,iBAAA;;;ACFM,MAAM,mBAAmB,GAAG,IAAI,cAAc,CAA0B,qBAAqB,CAAC;AAE/F,SAAU,qBAAqB,CAAC,MAAqC,EAAA;IAC1E,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,EAAE;AAC7D;SAEgB,oBAAoB,GAAA;AACnC,IAAA,OAAO,MAAM,CAAC,mBAAmB,CAAC;AACnC;;MCAa,uBAAuB,CAAA;;IAEhB,MAAM,GAAG,eAAe,EAAE;;AAG7B,IAAA,UAAU,GAAG,MAAM,CAA0B,UAAU,CAAC;AAExE,IAAA,WAAA,GAAA;QACC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;;AAIlB,IAAA,gBAAgB,CAAC,KAAiB,EAAA;AAC3C,QAAA,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE;YAC3B;;AAGD,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,EAAE;AAClE,QAAA,MAAM,UAAU,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK;;AAGtD,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC;;0HAtBnF,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAvB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,4LALxB,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAK/C,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,SAAS,EAAE,CAAC,qBAAqB,CAAA,uBAAA,CAAyB,CAAC;AAC3D,oBAAA,IAAI,EAAE;AACL,wBAAA,sBAAsB,EAAE,mBAAmB;AAC3C,qBAAA;AACD,iBAAA;wDAaU,gBAAgB,EAAA,CAAA;sBADzB,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;;;MCezB,kBAAkB,CAAA;AACb,IAAA,kBAAkB,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC9C,IAAA,WAAW,GAAG,MAAM,CAA0B,UAAU,CAAC;AAE1D,IAAA,KAAK,GAAG,KAAK,CAAS,CAAC,CAAC;AAExB,IAAA,GAAG,GAAG,KAAK,CAAsB,CAAC,EAAE;AACnD,QAAA,SAAS,EAAE,eAAe;AAC1B,KAAA,CAAC;AAEc,IAAA,GAAG,GAAG,KAAK,CAAsB,GAAG,EAAE;AACrD,QAAA,SAAS,EAAE,eAAe;AAC1B,KAAA,CAAC;AAEc,IAAA,IAAI,GAAG,KAAK,CAAsB,CAAC,EAAE;AACpD,QAAA,SAAS,EAAE,eAAe;AAC1B,KAAA,CAAC;AAEc,IAAA,SAAS,GAAG,KAAK,CAAwB,KAAK,EAAE;AAC/D,QAAA,KAAK,EAAE,UAAU;AACjB,QAAA,SAAS,EAAE,gBAAgB;AAC3B,KAAA,CAAC;;AAGc,IAAA,SAAS,GAAG,KAAK,CAAwB,KAAK,EAAE;AAC/D,QAAA,SAAS,EAAE,gBAAgB;AAC3B,KAAA,CAAC;;AAGc,IAAA,KAAK,GAAG,QAAQ,CAAC,MAAK;AACrC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAE1B,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;AACtB,YAAA,OAAO,EAAE;;QAGV,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3E,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAE7E,QAAA,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,SAAS;AAE5E,QAAA,SAAS,KAAK,KAAK,GAAG,WAAW,EAAE,GAAG,SAAS,EAAE;QAEjD,OAAO,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1E,KAAC,CAAC;;IAGc,QAAQ,GAAG,YAAY,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;;AAG/C,IAAA,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC;;AAGlG,IAAA,SAAS;;AAGT,IAAA,UAAU;;AAGJ,IAAA,KAAK,GAAG,MAAM,CAAiC,IAAI,CAAC;IAEpE,QAAQ,GAAA;;QAEP,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;;QAE3B,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;;;AAI5B,IAAA,gBAAgB,CAAC,EAA2B,EAAA;AAC3C,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;;AAGpB,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC/B,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;;AAGrB,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;;AAG9B,IAAA,UAAU,CAAC,KAAa,EAAA;AACvB,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;AAE5B,QAAA,IAAI,KAAK,KAAK,YAAY,EAAE;AAC3B,YAAA,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC;;AAG/B,QAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE;;AAGxC,IAAA,QAAQ,CAAC,KAAa,EAAA;QACrB,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;AACjD,QAAA,MAAM,UAAU,GAAG,UAAU,CAC5B,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EACzE,YAAY,CACZ;AAED,QAAA,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAEnD,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AACrB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;;0HAxGZ,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAlB,uBAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,KAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EAbnB;YACV,gBAAgB,CAAC,kBAAkB,CAAC;AACpC,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,EAAC,MAAM,kBAAkB,EAAC;AACjD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAMW,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAhB9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,SAAS,EAAE;AACV,wBAAA,gBAAgB,CAAA,kBAAA,CAAoB;AACpC,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,EAAC,wBAAwB,EAAC;AACjD,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,qBAAA;AACD,oBAAA,IAAI,EAAE;AACL,wBAAA,kBAAkB,EAAE,YAAY;AAChC,wBAAA,YAAY,EAAE,gBAAgB;AAC9B,qBAAA;AACD,iBAAA;;AA6GD,SAAS,UAAU,CAAC,KAAa,EAAE,YAAoB,EAAA;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,OAAO;AAC7C;AAEA,SAAS,eAAe,CAAC,KAAa,EAAA;AACrC,IAAA,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,MAAM;AAClD;AAEA,SAAS,KAAK,CAAC,KAAa,EAAE,CAAC,GAAG,EAAE,GAAG,CAAmB,EAAA;AACzD,IAAA,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC3C;;AC/IO,MAAM,gBAAgB,GAAG;IAC/B,kBAAkB;IAClB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;IACvB,sBAAsB;;;AClBvB;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"spartan-ng-brain-slider.mjs","sources":["../../../../libs/brain/slider/src/lib/brn-slider.token.ts","../../../../libs/brain/slider/src/lib/brn-slider-range.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-thumb.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-tick.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider-track.token.ts","../../../../libs/brain/slider/src/lib/brn-slider-track.directive.ts","../../../../libs/brain/slider/src/lib/brn-slider.directive.ts","../../../../libs/brain/slider/src/index.ts","../../../../libs/brain/slider/src/spartan-ng-brain-slider.ts"],"sourcesContent":["import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnSliderDirective } from './brn-slider.directive';\n\nconst BrnSliderToken = new InjectionToken<BrnSliderDirective>('BrnSliderToken');\n\nexport function provideBrnSlider(slider: Type<BrnSliderDirective>): ExistingProvider {\n\treturn { provide: BrnSliderToken, useExisting: slider };\n}\n\nexport function injectBrnSlider(): BrnSliderDirective {\n\treturn inject(BrnSliderToken);\n}\n","import { Directive } from '@angular/core';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderRange]',\n\thost: {\n\t\t'[attr.data-disabled]': '_slider.mutableDisabled()',\n\t\t'[style.width.%]': '_slider.percentage()',\n\t},\n})\nexport class BrnSliderRangeDirective {\n\t/** Access the slider */\n\tprotected readonly _slider = injectBrnSlider();\n}\n","import { DOCUMENT, isPlatformServer } from '@angular/common';\nimport { computed, Directive, ElementRef, HostListener, inject, PLATFORM_ID } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent } from 'rxjs';\nimport { switchMap, takeUntil } from 'rxjs/operators';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderThumb]',\n\thost: {\n\t\trole: 'slider',\n\t\t'[attr.aria-valuenow]': '_slider.value()',\n\t\t'[attr.aria-valuemin]': '_slider.min()',\n\t\t'[attr.aria-valuemax]': '_slider.max()',\n\t\t'[attr.tabindex]': '_slider.mutableDisabled() ? -1 : 0',\n\t\t'[attr.data-disabled]': '_slider.mutableDisabled()',\n\t\t'[style.inset-inline-start]': '_thumbOffset()',\n\t},\n})\nexport class BrnSliderThumbDirective {\n\tprotected readonly _slider = injectBrnSlider();\n\tprivate readonly _document = inject<Document>(DOCUMENT);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\t/**\n\t * Offsets the thumb centre point while sliding to ensure it remains\n\t * within the bounds of the slider when reaching the edges.\n\t * Based on https://github.com/radix-ui/primitives/blob/main/packages/react/slider/src/slider.tsx\n\t */\n\tprotected readonly _thumbOffset = computed(() => {\n\t\t// we can't compute the offset on the server\n\t\tif (isPlatformServer(this._platform)) {\n\t\t\treturn this._slider.percentage() + '%';\n\t\t}\n\n\t\tconst halfWidth = this._elementRef.nativeElement.offsetWidth / 2;\n\t\tconst offset = this.linearScale([0, 50], [0, halfWidth]);\n\t\tconst thumbInBoundsOffset = halfWidth - offset(this._slider.percentage());\n\t\tconst percent = this._slider.percentage();\n\n\t\treturn `calc(${percent}% + ${thumbInBoundsOffset}px)`;\n\t});\n\n\tconstructor() {\n\t\tconst mousedown = fromEvent<MouseEvent>(this._elementRef.nativeElement, 'pointerdown');\n\t\tconst mouseup = fromEvent<MouseEvent>(this._document, 'pointerup');\n\t\tconst mousemove = fromEvent<MouseEvent>(this._document, 'pointermove');\n\n\t\t// Listen for mousedown events on the slider thumb\n\t\tmousedown\n\t\t\t.pipe(\n\t\t\t\tswitchMap(() => mousemove.pipe(takeUntil(mouseup))),\n\t\t\t\ttakeUntilDestroyed(),\n\t\t\t)\n\t\t\t.subscribe(this.dragThumb.bind(this));\n\t}\n\n\t/** @internal */\n\tprivate dragThumb(event: MouseEvent): void {\n\t\tif (this._slider.mutableDisabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst rect = this._slider.track()?.elementRef.nativeElement.getBoundingClientRect();\n\n\t\tif (!rect) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst percentage = (event.clientX - rect.left) / rect.width;\n\n\t\tthis._slider.setValue(\n\t\t\tthis._slider.min() + (this._slider.max() - this._slider.min()) * Math.max(0, Math.min(1, percentage)),\n\t\t);\n\t}\n\n\t/**\n\t * Handle keyboard events.\n\t * @param event\n\t */\n\t@HostListener('keydown', ['$event'])\n\tprotected handleKeydown(event: KeyboardEvent): void {\n\t\tconst dir = getComputedStyle(this._elementRef.nativeElement).direction;\n\t\tlet multiplier = event.shiftKey ? 10 : 1;\n\t\tconst value = this._slider.value();\n\n\t\t// if the slider is RTL, flip the multiplier\n\t\tif (dir === 'rtl') {\n\t\t\tmultiplier = event.shiftKey ? -10 : -1;\n\t\t}\n\n\t\tswitch (event.key) {\n\t\t\tcase 'ArrowLeft':\n\t\t\t\tthis._slider.setValue(Math.max(value - this._slider.step() * multiplier, this._slider.min()));\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'ArrowRight':\n\t\t\t\tthis._slider.setValue(Math.min(value + this._slider.step() * multiplier, this._slider.max()));\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'Home':\n\t\t\t\tthis._slider.setValue(this._slider.min());\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t\tcase 'End':\n\t\t\t\tthis._slider.setValue(this._slider.max());\n\t\t\t\tevent.preventDefault();\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tprivate linearScale(input: readonly [number, number], output: readonly [number, number]): (value: number) => number {\n\t\treturn (value: number) => {\n\t\t\tif (input[0] === input[1] || output[0] === output[1]) return output[0];\n\t\t\tconst ratio = (output[1] - output[0]) / (input[1] - input[0]);\n\t\t\treturn output[0] + ratio * (value - input[0]);\n\t\t};\n\t}\n}\n","import { Directive, effect, EmbeddedViewRef, inject, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderTick]',\n})\nexport class BrnSliderTickDirective implements OnDestroy {\n\tprivate readonly _slider = injectBrnSlider();\n\tprivate readonly _templateRef = inject<TemplateRef<BrnSliderTickContext>>(TemplateRef);\n\tprivate readonly _viewContainer = inject(ViewContainerRef);\n\tprivate _ticks: EmbeddedViewRef<BrnSliderTickContext>[] = [];\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst ticks = this._slider.ticks();\n\n\t\t\t// remove any existing ticks\n\t\t\tthis._ticks.forEach((tick) => this._viewContainer.remove(this._viewContainer.indexOf(tick)));\n\n\t\t\t// create new ticks\n\t\t\tthis._ticks = [];\n\n\t\t\tticks.forEach((tick, index) => {\n\t\t\t\tconst view = this._viewContainer.createEmbeddedView(this._templateRef, {\n\t\t\t\t\t$implicit: tick,\n\t\t\t\t\tindex,\n\t\t\t\t\tposition: (index / (ticks.length - 1)) * 100,\n\t\t\t\t});\n\t\t\t\tthis._ticks.push(view);\n\t\t\t});\n\t\t});\n\t}\n\n\tngOnDestroy(): void {\n\t\tthis._ticks.forEach((tick) => this._viewContainer.remove(this._viewContainer.indexOf(tick)));\n\t}\n}\n\ninterface BrnSliderTickContext {\n\t$implicit: number;\n\tindex: number;\n\tposition: number;\n}\n","import { ExistingProvider, inject, InjectionToken, Type } from '@angular/core';\nimport type { BrnSliderTrackDirective } from './brn-slider-track.directive';\n\nexport const BrnSliderTrackToken = new InjectionToken<BrnSliderTrackDirective>('BrnSliderTrackToken');\n\nexport function provideBrnSliderTrack(slider: Type<BrnSliderTrackDirective>): ExistingProvider {\n\treturn { provide: BrnSliderTrackToken, useExisting: slider };\n}\n\nexport function injectBrnSliderTrack(): BrnSliderTrackDirective {\n\treturn inject(BrnSliderTrackToken);\n}\n","import { Directive, ElementRef, HostListener, inject } from '@angular/core';\nimport { provideBrnSliderTrack } from './brn-slider-track.token';\nimport { injectBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSliderTrack]',\n\tproviders: [provideBrnSliderTrack(BrnSliderTrackDirective)],\n\thost: {\n\t\t'[attr.data-disabled]': '_slider.mutableDisabled()',\n\t},\n})\nexport class BrnSliderTrackDirective {\n\t/** Access the slider */\n\tprotected readonly _slider = injectBrnSlider();\n\n\t/** @internal Access the slider track */\n\tpublic readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tconstructor() {\n\t\tthis._slider.track.set(this);\n\t}\n\n\t@HostListener('mousedown', ['$event'])\n\tprotected moveThumbToPoint(event: MouseEvent): void {\n\t\tif (this._slider.mutableDisabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst position = event.clientX;\n\t\tconst rect = this.elementRef.nativeElement.getBoundingClientRect();\n\t\tconst percentage = (position - rect.left) / rect.width;\n\n\t\t// update the value based on the position\n\t\tthis._slider.setValue(this._slider.min() + (this._slider.max() - this._slider.min()) * percentage);\n\t}\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n\tbooleanAttribute,\n\tChangeDetectorRef,\n\tcomputed,\n\tDirective,\n\tElementRef,\n\tforwardRef,\n\tinject,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\tnumberAttribute,\n\tOnInit,\n\tsignal,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport type { BrnSliderTrackDirective } from './brn-slider-track.directive';\nimport { provideBrnSlider } from './brn-slider.token';\n\n@Directive({\n\tselector: '[brnSlider]',\n\texportAs: 'brnSlider',\n\tproviders: [\n\t\tprovideBrnSlider(BrnSliderDirective),\n\t\t{\n\t\t\tprovide: NG_VALUE_ACCESSOR,\n\t\t\tuseExisting: forwardRef(() => BrnSliderDirective),\n\t\t\tmulti: true,\n\t\t},\n\t],\n\thost: {\n\t\t'aria-orientation': 'horizontal',\n\t\t'(focusout)': '_onTouched?.()',\n\t},\n})\nexport class BrnSliderDirective implements ControlValueAccessor, OnInit {\n\tprivate readonly _changeDetectorRef = inject(ChangeDetectorRef);\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\tpublic readonly value = model<number>(0);\n\n\tpublic readonly min = input<number, NumberInput>(0, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly max = input<number, NumberInput>(100, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly step = input<number, NumberInput>(1, {\n\t\ttransform: numberAttribute,\n\t});\n\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Whether we should show tick marks */\n\tpublic readonly showTicks = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** @internal */\n\tpublic readonly ticks = computed(() => {\n\t\tconst value = this.value();\n\n\t\tif (!this.showTicks()) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet numActive = Math.max(Math.floor((value - this.min()) / this.step()), 0);\n\t\tlet numInactive = Math.max(Math.floor((this.max() - value) / this.step()), 0);\n\n\t\tconst direction = getComputedStyle(this._elementRef.nativeElement).direction;\n\n\t\tdirection === 'rtl' ? numInactive++ : numActive++;\n\n\t\treturn Array(numActive).fill(true).concat(Array(numInactive).fill(false));\n\t});\n\n\t/** @internal */\n\tpublic readonly mutableDisabled = linkedSignal(() => this.disabled());\n\n\t/** @internal */\n\tpublic readonly percentage = computed(() => ((this.value() - this.min()) / (this.max() - this.min())) * 100);\n\n\t/** @internal Store the on change callback */\n\tprotected _onChange?: ChangeFn<number>;\n\n\t/** @internal Store the on touched callback */\n\tprotected _onTouched?: TouchFn;\n\n\t/** @internal Store the track */\n\tpublic readonly track = signal<BrnSliderTrackDirective | null>(null);\n\n\tngOnInit(): void {\n\t\t// ensure the value is within the min and max range\n\t\tif (this.value() < this.min()) {\n\t\t\tthis.value.set(this.min());\n\t\t}\n\t\tif (this.value() > this.max()) {\n\t\t\tthis.value.set(this.max());\n\t\t}\n\t}\n\n\tregisterOnChange(fn: (value: number) => void): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tregisterOnTouched(fn: () => void): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tsetDisabledState(isDisabled: boolean): void {\n\t\tthis.mutableDisabled.set(isDisabled);\n\t}\n\n\twriteValue(value: number): void {\n\t\tconst clampedValue = clamp(value, [this.min(), this.max()]);\n\t\tthis.value.set(clampedValue);\n\n\t\tif (value !== clampedValue) {\n\t\t\tthis._onChange?.(clampedValue);\n\t\t}\n\n\t\tthis._changeDetectorRef.detectChanges();\n\t}\n\n\tsetValue(value: number): void {\n\t\tconst decimalCount = getDecimalCount(this.step());\n\t\tconst snapToStep = roundValue(\n\t\t\tMath.round((value - this.min()) / this.step()) * this.step() + this.min(),\n\t\t\tdecimalCount,\n\t\t);\n\n\t\tvalue = clamp(snapToStep, [this.min(), this.max()]);\n\n\t\tthis.value.set(value);\n\t\tthis._onChange?.(value);\n\t}\n}\n\nfunction roundValue(value: number, decimalCount: number): number {\n\tconst rounder = Math.pow(10, decimalCount);\n\treturn Math.round(value * rounder) / rounder;\n}\n\nfunction getDecimalCount(value: number): number {\n\treturn (String(value).split('.')[1] || '').length;\n}\n\nfunction clamp(value: number, [min, max]: [number, number]): number {\n\treturn Math.min(max, Math.max(min, value));\n}\n","import { BrnSliderRangeDirective } from './lib/brn-slider-range.directive';\nimport { BrnSliderThumbDirective } from './lib/brn-slider-thumb.directive';\nimport { BrnSliderTickDirective } from './lib/brn-slider-tick.directive';\nimport { BrnSliderTrackDirective } from './lib/brn-slider-track.directive';\nimport { BrnSliderDirective } from './lib/brn-slider.directive';\n\nexport * from './lib/brn-slider-range.directive';\nexport * from './lib/brn-slider-thumb.directive';\nexport * from './lib/brn-slider-tick.directive';\nexport * from './lib/brn-slider-track.directive';\nexport * from './lib/brn-slider.directive';\nexport * from './lib/brn-slider.token';\n\nexport const BrnSliderImports = [\n\tBrnSliderDirective,\n\tBrnSliderTrackDirective,\n\tBrnSliderThumbDirective,\n\tBrnSliderRangeDirective,\n\tBrnSliderTickDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -37,8 +37,8 @@ class BrnSwitchComponent {
|
|
|
37
37
|
_focusMonitor = inject(FocusMonitor);
|
|
38
38
|
_cdr = inject(ChangeDetectorRef);
|
|
39
39
|
_document = inject(DOCUMENT);
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
_focusVisible = signal(false);
|
|
41
|
+
_focused = signal(false);
|
|
42
42
|
/**
|
|
43
43
|
* Whether switch is checked/toggled on.
|
|
44
44
|
* Can be bound with [(checked)] for two-way binding.
|
|
@@ -105,7 +105,7 @@ class BrnSwitchComponent {
|
|
|
105
105
|
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
106
106
|
_onTouched = () => { };
|
|
107
107
|
switch = viewChild.required('switch');
|
|
108
|
-
|
|
108
|
+
_state = computed(() => {
|
|
109
109
|
const name = this.name();
|
|
110
110
|
const id = this.id();
|
|
111
111
|
return {
|
|
@@ -116,7 +116,7 @@ class BrnSwitchComponent {
|
|
|
116
116
|
});
|
|
117
117
|
constructor() {
|
|
118
118
|
effect(() => {
|
|
119
|
-
const state = this.
|
|
119
|
+
const state = this._state();
|
|
120
120
|
const isDisabled = state.disabled();
|
|
121
121
|
if (!this._elementRef.nativeElement || !this._isBrowser)
|
|
122
122
|
return;
|
|
@@ -139,7 +139,7 @@ class BrnSwitchComponent {
|
|
|
139
139
|
* Does nothing if switch is disabled.
|
|
140
140
|
*/
|
|
141
141
|
toggle() {
|
|
142
|
-
if (this.
|
|
142
|
+
if (this._state().disabled())
|
|
143
143
|
return;
|
|
144
144
|
this._onTouched();
|
|
145
145
|
this.touched.emit();
|
|
@@ -153,9 +153,9 @@ class BrnSwitchComponent {
|
|
|
153
153
|
.pipe(takeUntilDestroyed(this._destroyRef))
|
|
154
154
|
.subscribe((focusOrigin) => {
|
|
155
155
|
if (focusOrigin)
|
|
156
|
-
this.
|
|
156
|
+
this._focused.set(true);
|
|
157
157
|
if (focusOrigin === 'keyboard' || focusOrigin === 'program') {
|
|
158
|
-
this.
|
|
158
|
+
this._focusVisible.set(true);
|
|
159
159
|
this._cdr.markForCheck();
|
|
160
160
|
}
|
|
161
161
|
if (!focusOrigin) {
|
|
@@ -165,8 +165,8 @@ class BrnSwitchComponent {
|
|
|
165
165
|
// See https://github.com/angular/angular/issues/17793. To work around this, we defer
|
|
166
166
|
// telling the form control it has been touched until the next tick.
|
|
167
167
|
Promise.resolve().then(() => {
|
|
168
|
-
this.
|
|
169
|
-
this.
|
|
168
|
+
this._focusVisible.set(false);
|
|
169
|
+
this._focused.set(false);
|
|
170
170
|
this._onTouched();
|
|
171
171
|
this.touched.emit();
|
|
172
172
|
this._cdr.markForCheck();
|
|
@@ -225,28 +225,28 @@ class BrnSwitchComponent {
|
|
|
225
225
|
* @param isDisabled - Whether switch should be disabled
|
|
226
226
|
*/
|
|
227
227
|
setDisabledState = (isDisabled) => {
|
|
228
|
-
this.
|
|
228
|
+
this._state().disabled.set(isDisabled);
|
|
229
229
|
this._cdr.markForCheck();
|
|
230
230
|
};
|
|
231
231
|
/** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.8", ngImport: i0, type: BrnSwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
232
|
-
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.8", 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 }, class: { classPropertyName: "class", publicName: "class", 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 }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", changed: "changed", touched: "touched" }, host: { properties: { "style": "{display: \"contents\"}", "attr.id": "
|
|
232
|
+
/** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.8", 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 }, class: { classPropertyName: "class", publicName: "class", 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 }, tabIndex: { classPropertyName: "tabIndex", publicName: "tabIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", changed: "changed", touched: "touched" }, host: { properties: { "style": "{display: \"contents\"}", "attr.id": "_state().id", "attr.name": "_state().name", "attr.aria-labelledby": "null", "attr.aria-label": "null", "attr.aria-describedby": "null", "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.data-focus-visible": "_focusVisible()", "attr.data-focus": "_focused()", "attr.data-disabled": "_state().disabled()" } }, providers: [BRN_SWITCH_VALUE_ACCESSOR], viewQueries: [{ propertyName: "switch", first: true, predicate: ["switch"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
233
233
|
<button
|
|
234
234
|
#switch
|
|
235
235
|
role="switch"
|
|
236
236
|
type="button"
|
|
237
237
|
[class]="class()"
|
|
238
|
-
[id]="getSwitchButtonId(
|
|
239
|
-
[name]="getSwitchButtonId(
|
|
238
|
+
[id]="getSwitchButtonId(_state().id) ?? ''"
|
|
239
|
+
[name]="getSwitchButtonId(_state().name) ?? ''"
|
|
240
240
|
[value]="checked() ? 'on' : 'off'"
|
|
241
241
|
[attr.aria-checked]="checked()"
|
|
242
242
|
[attr.aria-label]="ariaLabel() || null"
|
|
243
243
|
[attr.aria-labelledby]="mutableAriaLabelledby() || null"
|
|
244
244
|
[attr.aria-describedby]="ariaDescribedby() || null"
|
|
245
245
|
[attr.data-state]="checked() ? 'checked' : 'unchecked'"
|
|
246
|
-
[attr.data-focus-visible]="
|
|
247
|
-
[attr.data-focus]="
|
|
248
|
-
[attr.data-disabled]="
|
|
249
|
-
[disabled]="
|
|
246
|
+
[attr.data-focus-visible]="_focusVisible()"
|
|
247
|
+
[attr.data-focus]="_focused()"
|
|
248
|
+
[attr.data-disabled]="_state().disabled()"
|
|
249
|
+
[disabled]="_state().disabled()"
|
|
250
250
|
[tabIndex]="tabIndex()"
|
|
251
251
|
(click)="$event.preventDefault(); toggle()"
|
|
252
252
|
>
|
|
@@ -264,18 +264,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
264
264
|
role="switch"
|
|
265
265
|
type="button"
|
|
266
266
|
[class]="class()"
|
|
267
|
-
[id]="getSwitchButtonId(
|
|
268
|
-
[name]="getSwitchButtonId(
|
|
267
|
+
[id]="getSwitchButtonId(_state().id) ?? ''"
|
|
268
|
+
[name]="getSwitchButtonId(_state().name) ?? ''"
|
|
269
269
|
[value]="checked() ? 'on' : 'off'"
|
|
270
270
|
[attr.aria-checked]="checked()"
|
|
271
271
|
[attr.aria-label]="ariaLabel() || null"
|
|
272
272
|
[attr.aria-labelledby]="mutableAriaLabelledby() || null"
|
|
273
273
|
[attr.aria-describedby]="ariaDescribedby() || null"
|
|
274
274
|
[attr.data-state]="checked() ? 'checked' : 'unchecked'"
|
|
275
|
-
[attr.data-focus-visible]="
|
|
276
|
-
[attr.data-focus]="
|
|
277
|
-
[attr.data-disabled]="
|
|
278
|
-
[disabled]="
|
|
275
|
+
[attr.data-focus-visible]="_focusVisible()"
|
|
276
|
+
[attr.data-focus]="_focused()"
|
|
277
|
+
[attr.data-disabled]="_state().disabled()"
|
|
278
|
+
[disabled]="_state().disabled()"
|
|
279
279
|
[tabIndex]="tabIndex()"
|
|
280
280
|
(click)="$event.preventDefault(); toggle()"
|
|
281
281
|
>
|
|
@@ -284,15 +284,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.8", ngImpor
|
|
|
284
284
|
`,
|
|
285
285
|
host: {
|
|
286
286
|
'[style]': '{display: "contents"}',
|
|
287
|
-
'[attr.id]': '
|
|
288
|
-
'[attr.name]': '
|
|
287
|
+
'[attr.id]': '_state().id',
|
|
288
|
+
'[attr.name]': '_state().name',
|
|
289
289
|
'[attr.aria-labelledby]': 'null',
|
|
290
290
|
'[attr.aria-label]': 'null',
|
|
291
291
|
'[attr.aria-describedby]': 'null',
|
|
292
292
|
'[attr.data-state]': 'checked() ? "checked" : "unchecked"',
|
|
293
|
-
'[attr.data-focus-visible]': '
|
|
294
|
-
'[attr.data-focus]': '
|
|
295
|
-
'[attr.data-disabled]': '
|
|
293
|
+
'[attr.data-focus-visible]': '_focusVisible()',
|
|
294
|
+
'[attr.data-focus]': '_focused()',
|
|
295
|
+
'[attr.data-disabled]': '_state().disabled()',
|
|
296
296
|
},
|
|
297
297
|
providers: [BRN_SWITCH_VALUE_ACCESSOR],
|
|
298
298
|
changeDetection: ChangeDetectionStrategy.OnPush,
|