@spartan-ng/brain 0.0.1-alpha.380 → 0.0.1-alpha.386
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/lib/brn-accordion-content.component.d.ts +1 -1
- package/accordion/lib/brn-accordion.directive.d.ts +2 -2
- package/core/README.md +3 -0
- package/core/helpers/create-injection-token.d.ts +20 -0
- package/core/helpers/custom-element-class-settable.d.ts +12 -0
- package/core/helpers/dev-mode.d.ts +5 -0
- package/core/helpers/exposes-side.d.ts +13 -0
- package/core/helpers/exposes-state.d.ts +13 -0
- package/core/helpers/hlm.d.ts +2 -0
- package/core/helpers/table-classes-settable.d.ts +16 -0
- package/core/helpers/zone-free.d.ts +10 -0
- package/core/index.d.ts +7 -0
- package/esm2022/accordion/lib/brn-accordion-content.component.mjs +1 -1
- package/esm2022/accordion/lib/brn-accordion.directive.mjs +8 -3
- package/esm2022/alert-dialog/lib/brn-alert-dialog-content.directive.mjs +2 -2
- package/esm2022/alert-dialog/lib/brn-alert-dialog-overlay.component.mjs +2 -2
- package/esm2022/core/helpers/create-injection-token.mjs +15 -0
- package/esm2022/core/helpers/custom-element-class-settable.mjs +3 -0
- package/esm2022/core/helpers/dev-mode.mjs +6 -0
- package/esm2022/core/helpers/exposes-side.mjs +3 -0
- package/esm2022/core/helpers/exposes-state.mjs +3 -0
- package/esm2022/core/helpers/hlm.mjs +6 -0
- package/esm2022/core/helpers/table-classes-settable.mjs +3 -0
- package/esm2022/core/helpers/zone-free.mjs +15 -0
- package/esm2022/core/index.mjs +8 -0
- package/esm2022/core/spartan-ng-brain-core.mjs +5 -0
- package/esm2022/dialog/lib/brn-dialog-content.directive.mjs +2 -2
- package/esm2022/dialog/lib/brn-dialog-overlay.component.mjs +2 -2
- package/esm2022/dialog/lib/brn-dialog-ref.mjs +3 -2
- package/esm2022/dialog/lib/brn-dialog.component.mjs +2 -2
- package/esm2022/dialog/lib/brn-dialog.service.mjs +3 -2
- package/esm2022/hover-card/lib/brn-hover-card-content.service.mjs +26 -36
- package/esm2022/hover-card/lib/brn-hover-card.component.mjs +8 -14
- package/esm2022/hover-card/lib/createHoverObservable.mjs +4 -3
- package/esm2022/menu/lib/brn-menu-trigger.directive.mjs +9 -3
- package/esm2022/popover/lib/brn-popover-content.directive.mjs +2 -2
- package/esm2022/radio-group/index.mjs +5 -5
- package/esm2022/radio-group/lib/{brn-radio-group.component.mjs → brn-radio-group.directive.mjs} +12 -12
- package/esm2022/radio-group/lib/brn-radio-group.token.mjs +3 -3
- package/esm2022/select/lib/brn-select-content.component.mjs +3 -2
- package/esm2022/select/lib/brn-select.component.mjs +4 -3
- package/esm2022/select/lib/brn-select.service.mjs +3 -2
- package/esm2022/sheet/lib/brn-sheet-content.directive.mjs +2 -2
- package/esm2022/sheet/lib/brn-sheet-overlay.component.mjs +2 -2
- package/esm2022/slider/lib/brn-slider-track.directive.mjs +3 -2
- package/esm2022/table/lib/brn-table.component.mjs +2 -2
- package/esm2022/tabs/lib/brn-tabs-list.directive.mjs +3 -2
- package/esm2022/toggle/lib/brn-toggle.directive.mjs +3 -3
- package/esm2022/tooltip/index.mjs +2 -1
- package/esm2022/tooltip/lib/brn-tooltip-content.component.mjs +8 -15
- package/esm2022/tooltip/lib/brn-tooltip-trigger.directive.mjs +136 -200
- package/esm2022/tooltip/lib/brn-tooltip.token.mjs +18 -0
- package/esm2022/tooltip/lib/computed-previous.mjs +46 -0
- package/fesm2022/spartan-ng-brain-accordion.mjs +7 -2
- package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs +1 -1
- package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-core.mjs +57 -0
- package/fesm2022/spartan-ng-brain-core.mjs.map +1 -0
- package/fesm2022/spartan-ng-brain-dialog.mjs +3 -2
- package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-hover-card.mjs +31 -40
- package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-menu.mjs +8 -2
- package/fesm2022/spartan-ng-brain-menu.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-popover.mjs +1 -1
- package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-radio-group.mjs +16 -16
- package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-select.mjs +3 -2
- package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-sheet.mjs +1 -1
- package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-slider.mjs +2 -1
- package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-table.mjs +1 -1
- package/fesm2022/spartan-ng-brain-table.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tabs.mjs +2 -2
- package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-toggle.mjs +2 -2
- package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
- package/fesm2022/spartan-ng-brain-tooltip.mjs +200 -211
- package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
- package/hlm-tailwind-preset.js +73 -0
- package/hover-card/lib/brn-hover-card-content.service.d.ts +18 -11
- package/hover-card/lib/brn-hover-card.component.d.ts +2 -2
- package/hover-card/lib/createHoverObservable.d.ts +1 -1
- package/menu/lib/brn-menu-trigger.directive.d.ts +1 -1
- package/package.json +57 -46
- package/radio-group/index.d.ts +5 -5
- package/radio-group/lib/{brn-radio-group.component.d.ts → brn-radio-group.directive.d.ts} +3 -3
- package/radio-group/lib/brn-radio-group.token.d.ts +3 -3
- package/radio-group/lib/brn-radio.component.d.ts +1 -1
- package/select/lib/brn-select.component.d.ts +1 -1
- package/sheet/lib/brn-sheet-content.directive.d.ts +1 -1
- package/table/lib/brn-table.component.d.ts +1 -1
- package/tooltip/index.d.ts +1 -0
- package/tooltip/lib/brn-tooltip-content.component.d.ts +2 -2
- package/tooltip/lib/brn-tooltip-trigger.directive.d.ts +24 -64
- package/tooltip/lib/brn-tooltip.token.d.ts +28 -0
- package/tooltip/lib/computed-previous.d.ts +36 -0
|
@@ -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} 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, debounceTime, merge, takeUntil, tap } from 'rxjs';\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\t() => {\n\t\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\t\tthis._updateHostElementStep(this._slider.step());\n\t\t\t\t\tthis._updateMinValue(this._slider.min());\n\t\t\t\t\tthis._updateMaxValue(this._slider.max());\n\t\t\t\t\tthis._updateDirection(this._slider.direction());\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ allowSignalWrites: true },\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\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} 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\t() => {\n\t\t\t\tif (isPlatformBrowser(this._platformId)) {\n\t\t\t\t\tthis._updateHostElementStep(this._slider.step());\n\t\t\t\t\tthis._updateMinValue(this._slider.min());\n\t\t\t\t\tthis._updateMaxValue(this._slider.max());\n\t\t\t\t\tthis._updateDirection(this._slider.direction());\n\t\t\t\t}\n\t\t\t},\n\t\t\t{ allowSignalWrites: true },\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":";;;;;;;;;;MA8Ba,gBAAgB,GAAG,IAAI,cAAc,CAAiB,gBAAgB;MAUtE,gBAAgB,GAAG,IAAI,cAAc,CAAiB,gBAAgB;MAEtE,UAAU,GAAG,IAAI,cAAc,CAAY,WAAW;AAsCnE;;AAEG;MA+BU,uBAAuB,CAAA;AAC3B,IAAA,WAAW;;AAEX,IAAA,YAAY,GAAe,MAAK,GAAG;IACjC,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAClF,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC5C,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7C,IAAA,QAAQ,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AAC7C,IAAA,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC;AACzD,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AACnC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE;AACxD,YAAA,MAAM,IAAI,KAAK,CACd,sHAAsH,CACtH;;AAEF,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AAChC,KAAC,CAAC;AACc,IAAA,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AACjB,IAAA,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;AAExB,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,WAAW,GAAG,MAAM,EAA+B,UAA4B,EAAC;AAChF,IAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,IAAA,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC;AAE/C,IAAA,WAAA,GAAA;QACC,MAAM,CACL,MAAK;AACJ,YAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACxC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBAChD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACxC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;;AAEjD,SAAC,EACD,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAC3B;;IAGF,OAAO,GAAA;AACN,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;;IAGzB,MAAM,GAAA;AACL,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE;;IAGpB,OAAO,GAAA;QACN,IAAI,CAAC,YAAY,EAAE;;IAGpB,QAAQ,GAAA;QACP,IAAI,CAAC,YAAY,EAAE;;AAGpB,IAAA,UAAU,CAAC,GAAW,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACnB,QAAA,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC;;AAGlC,IAAA,gBAAgB,CAAC,EAAoC,EAAA;AACpD,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;;AAGtB,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE;;AAGvB;;;AAGG;AACH,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AACnC;;AAEG;QACH,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE;YAC3C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC;;;AAI/B,IAAA,uBAAuB,CAAC,KAAoB,EAAA;AACnD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG;;IAGxD,YAAY,GAAA;AACnB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC;QACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;;AAGzB,IAAA,sBAAsB,CAAC,IAAY,EAAA;QAC1C,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;QACrD,IAAI,CAAC,YAAY,EAAE;;AAGZ,IAAA,eAAe,CAAC,KAAa,EAAA;QACpC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE;QACrD,IAAI,CAAC,YAAY,EAAE;;AAGZ,IAAA,eAAe,CAAC,KAAa,EAAA;QACpC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE;QACrD,IAAI,CAAC,YAAY,EAAE;;AAGZ,IAAA,gBAAgB,CAAC,SAAoB,EAAA;AAC5C,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,WAAW,EAAE,SAAS,CAAC;;0HA3GrE,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,EAbxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,YAAA,EAAA,OAAA,EAAA,WAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,cAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,uBAAuB;AACpC,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,WAAW,EAAE,uBAAuB;AACpC,aAAA;AACD,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAGW,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBA9BnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,IAAI,EAAE;AACL,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,IAAI,EAAE,QAAQ;AACd,wBAAA,UAAU,EAAE,YAAY;AACxB,wBAAA,SAAS,EAAE,WAAW;AACtB,wBAAA,SAAS,EAAE,WAAW;AACtB,wBAAA,QAAQ,EAAE,UAAU;AACpB,wBAAA,iBAAiB,EAAE,cAAc;AACjC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,sBAAsB,EAAE,YAAY;AACpC,wBAAA,wBAAwB,EAAE,kBAAkB;AAC5C,wBAAA,mBAAmB,EAAE,aAAa;AAClC,wBAAA,kBAAkB,EAAE,YAAY;AAChC,qBAAA;AACD,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAyB,uBAAA;AACpC,4BAAA,KAAK,EAAE,IAAI;AACX,yBAAA;AACD,wBAAA;AACC,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,WAAW,EAAyB,uBAAA;AACpC,yBAAA;AACD,qBAAA;AACD,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;MA2HY,kBAAkB,CAAA;AACd,IAAA,KAAK,GAAG,KAAK,CAA2B,IAAI,CAAC;AAC7C,IAAA,SAAS,GAAG,KAAK,CAAgB,IAAI,CAAC;;AAEtC,IAAA,GAAG,GAAG,KAAK,CAAY,KAAK,CAAC;IAC7B,QAAQ,GAAG,KAAK,CAAU,KAAK,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC;AAChE,IAAA,GAAG,GAAG,KAAK,CAAS,CAAC,CAAC;AACtB,IAAA,GAAG,GAAG,KAAK,CAAS,GAAG,CAAC;AACxB,IAAA,IAAI,GAAG,KAAK,CAAS,CAAC,CAAC;AACvB,IAAA,aAAa,GAAG,KAAK,CAAU,KAAK,CAAC;AAErC,IAAA,SAAS,GAAG,MAAM,CAAY,KAAK,CAAC;AACnC,IAAA,UAAU,GAAG,IAAI,OAAO,EAAQ;AAEhC,IAAA,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC5B,IAAA,IAAI,GAAG,MAAM,CAAC,cAAc,CAAC;AAC7B,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AAElC,IAAA,cAAc,GAAG,YAAY,CAAC,gBAAgB,CAAC;IAE/D,eAAe,GAAA;AACd,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACxC,IAAI,CAAC,qBAAqB,EAAE;;;IAI9B,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;;AAG3B;;;;;AAKG;IACK,qBAAqB,GAAA;QAC5B,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;aAC1E,IAAI,CACJ,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1B,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAErC,aAAA,SAAS,EAAE;;0HA3CF,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,EARnB,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,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,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,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,mBAAA,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,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,GAAA,EAAA,WAAA,EAAA,GAAA,EAAA,WAAA,EAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,UAAU;AACnB,gBAAA,WAAW,EAAE,kBAAkB;AAC/B,aAAA;AACD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAqB6C,gBAAgB,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAlBlD,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAX9B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,UAAU;AACnB,4BAAA,WAAW,EAAoB,kBAAA;AAC/B,yBAAA;AACD,qBAAA;AACD,oBAAA,QAAQ,EAAE,WAAW;AACrB,iBAAA;;MA2EY,uBAAuB,CAAA;AACnB,IAAA,gBAAgB,GAAG,MAAM,CAAS,CAAC,CAAC;AACnC,IAAA,UAAU,GAAG,IAAI,OAAO,EAAQ;AAEhC,IAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAC5B,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,WAAW,GAAG,MAAM,EAA0B,UAAuB,EAAC;AACtE,IAAA,qBAAqB,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAErD,cAAc,GAAG,YAAY,CAAiB,UAAU,CAAC,MAAM,gBAAgB,CAAC,CAAC;AAE1F,IAAA,qBAAqB,GAAG,QAAQ,CAAC,MAAK;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;QAEjD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;AAC/F,YAAA,OAAO,CAAC;;QAGT,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE;AACpC,YAAA,OAAO,CAAC;;QAGT,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACrF,KAAC,CAAC;AAEK,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAK;QACzC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE;AAClC,YAAA,OAAO,CAAC;;QAGT,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AAEpC,QAAA,MAAM,IAAI,GAAG,UAAU,IAAI,UAAU,GAAG,CAAC,GAAG,UAAU,GAAG,CAAC;AAC1D,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,SAAS,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS;AAC9E,QAAA,MAAM,UAAU,GAAG,CAAC,QAAQ,GAAG,SAAS,KAAK,SAAS,GAAG,SAAS,CAAC;AAEnE,QAAA,OAAO,IAAI,CAAC,gBAAgB,EAAE,GAAG,UAAU;AAC5C,KAAC,CAAC;AAEK,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE;AAEjD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE;AACrF,YAAA,OAAO,EAAE;;AAGV,QAAA,IAAI,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAChG,QAAA,IAAI,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,UAAU,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;AAElG,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,KAAK,GAAG,WAAW,EAAE,GAAG,SAAS,EAAE;QAEhE,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;IAEF,eAAe,GAAA;AACd,QAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YACxC,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,SAAS,EAAE;;;IAIlB,WAAW,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;AACtB,QAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;;IAGnB,SAAS,GAAA;AAChB,QAAA,IAAI,CAAC;AACH,aAAA,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa;aACtC,IAAI,CACJ,YAAY,CAAC,EAAE,CAAC,EAChB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAC1B,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;AAElC,aAAA,SAAS,EAAE;;IAGN,gBAAgB,GAAA;QACvB,MAAM,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;QAEtE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACxB,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW;AACzC,YAAA,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC;YAC5C,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,CAC9C;;0HAtFU,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,EAPxB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,SAAA,EAAA;AACV,YAAA;AACC,gBAAA,OAAO,EAAE,gBAAgB;AACzB,gBAAA,WAAW,EAAE,uBAAuB;AACpC,aAAA;AACD,SAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,gBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,CAAA,UAAA,CAAA,MAW8E,gBAAgB,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FATnF,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAVnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,SAAS,EAAE;AACV,wBAAA;AACC,4BAAA,OAAO,EAAE,gBAAgB;AACzB,4BAAA,WAAW,EAAyB,uBAAA;AACpC,yBAAA;AACD,qBAAA;AACD,iBAAA;;;MCvSY,uBAAuB,CAAA;AAClB,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,WAAW,GAAG,MAAM,EAA0B,UAAuB,EAAC;AACtE,IAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;IAE7B,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAEnE,IAAA,WAAA,GAAA;QACC,MAAM,CAAC,MAAK;AACX,YAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;;AAE3C,SAAC,CAAC;;IAGK,eAAe,GAAA;QACtB,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,qBAAqB,EAAE;QACpF,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,gBAAgB,EAAE;AAE/E,QAAA,IAAI,CAAC,qBAAqB,IAAI,CAAC,qBAAqB,EAAE;AACrD,YAAA,OAAO,CAAC;;QAGT,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE;AACvC,YAAA,OAAO,EAAE,qBAAqB,GAAG,qBAAqB,CAAC;;QAGxD,OAAO,qBAAqB,GAAG,qBAAqB;;AAG7C,IAAA,iBAAiB,CAAC,KAAa,EAAA;AACtC,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,UAAA,EAAa,KAAK,CAAA,SAAA,CAAW;;0HA/BnE,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,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;MCJY,0BAA0B,CAAA;AACrB,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAClC,IAAI,GAAG,KAAK,EAAqD;AAEhE,IAAA,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACvC,IAAA,WAAW,GAAG,MAAM,EAA0B,UAAuB,EAAC;AACtE,IAAA,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC;AAE7C,IAAA,WAAA,GAAA;QACC,MAAM,CAAC,MAAK;AACX,YAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACxC,IAAI,CAAC,iBAAiB,EAAE;;AAE1B,SAAC,CAAC;;IAGK,iBAAiB,GAAA;AACxB,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;QAExB,IAAI,CAAC,IAAI,EAAE;YACV;;QAGD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;AAE5G,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS;YAC7C,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,KAAK,GAAG,cAAc,CAAC,UAAU,KAAK,GAAG,CAAc,WAAA,EAAA,UAAU,KAAK;;0HA1BzF,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAA1B,0BAA0B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,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,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAJtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;MCCY,iCAAiC,CAAA;AAC5B,IAAA,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACjC,IAAA,WAAW,GAAG,MAAM,EAA0B,UAAuB,EAAC;AACtE,IAAA,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAExD,IAAA,WAAA,GAAA;QACC,MAAM,CAAC,MAAK;AACX,YAAA,IAAI,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;gBACxC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,CAAC;;AAE9E,SAAC,CAAC;;AAGK,IAAA,4BAA4B,CAAC,UAAkB,EAAA;AACtD,QAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,GAAG,CAAA,OAAA,EAAU,UAAU,CAAA,CAAA,CAAG;;0HAd7D,iCAAiC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;8GAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAjC,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAJ7C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,UAAU,EAAE,IAAI;AAChB,iBAAA;;;ACCY,MAAA,gBAAgB,GAAG;IAC/B,kBAAkB;IAClB,uBAAuB;IACvB,uBAAuB;IACvB,uBAAuB;;;ACZxB;;AAEG;;;;"}
|
|
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { inject, TemplateRef, Directive, input, Component, ChangeDetectionStrategy, ViewEncapsulation, Input, ViewChild, ContentChild, ViewContainerRef, signal, computed, effect, numberAttribute, EventEmitter, booleanAttribute, Output, ContentChildren, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/cdk/table';
|
|
4
4
|
import { CdkCellDef, CdkFooterCellDef, CdkHeaderCellDef, CdkColumnDef, CdkTableModule, CdkRowDef, CdkTable } from '@angular/cdk/table';
|
|
5
|
-
import { provideTableClassesSettableExisting } from '@spartan-ng/
|
|
5
|
+
import { provideTableClassesSettableExisting } from '@spartan-ng/brain/core';
|
|
6
6
|
|
|
7
7
|
class BrnCellDefDirective extends CdkCellDef {
|
|
8
8
|
template;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spartan-ng-brain-table.mjs","sources":["../../../../libs/brain/table/src/lib/brn-cell-def.directive.ts","../../../../libs/brain/table/src/lib/brn-footer-def.directive.ts","../../../../libs/brain/table/src/lib/brn-header-def.directive.ts","../../../../libs/brain/table/src/lib/brn-column-def.component.ts","../../../../libs/brain/table/src/lib/brn-paginator.directive.ts","../../../../libs/brain/table/src/lib/brn-table.component.ts","../../../../libs/brain/table/src/lib/brn-column-manager.ts","../../../../libs/brain/table/src/index.ts","../../../../libs/brain/table/src/spartan-ng-brain-table.ts"],"sourcesContent":["import { CdkCellDef } from '@angular/cdk/table';\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnCellDef]',\n\texportAs: 'brnCellDef',\n})\nexport class BrnCellDefDirective extends CdkCellDef {\n\tpublic override template: TemplateRef<unknown>;\n\n\tconstructor() {\n\t\tconst template = inject<TemplateRef<unknown>>(TemplateRef);\n\n\t\tsuper(template);\n\t\tthis.template = template;\n\t}\n}\n","import { CdkFooterCellDef } from '@angular/cdk/table';\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnFooterDef]',\n\texportAs: 'brnFooterDef',\n})\nexport class BrnFooterDefDirective extends CdkFooterCellDef {\n\tpublic override template: TemplateRef<unknown>;\n\n\tconstructor() {\n\t\tconst template = inject<TemplateRef<unknown>>(TemplateRef);\n\n\t\tsuper(template);\n\t\tthis.template = template;\n\t}\n}\n","import { CdkHeaderCellDef } from '@angular/cdk/table';\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnHeaderDef]',\n\texportAs: 'brnHeaderDef',\n})\nexport class BrnHeaderDefDirective extends CdkHeaderCellDef {\n\tpublic override template: TemplateRef<unknown>;\n\n\tconstructor() {\n\t\tconst template = inject<TemplateRef<unknown>>(TemplateRef);\n\n\t\tsuper(template);\n\t\tthis.template = template;\n\t}\n}\n","import {\n\ttype CdkCellDef,\n\tCdkColumnDef,\n\ttype CdkFooterCellDef,\n\ttype CdkHeaderCellDef,\n\tCdkTableModule,\n} from '@angular/cdk/table';\nimport {\n\ttype AfterContentChecked,\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tInput,\n\tViewChild,\n\tViewEncapsulation,\n\tinput,\n} from '@angular/core';\nimport { BrnCellDefDirective } from './brn-cell-def.directive';\nimport { BrnFooterDefDirective } from './brn-footer-def.directive';\nimport { BrnHeaderDefDirective } from './brn-header-def.directive';\n\n@Component({\n\tselector: 'brn-column-def',\n\tstandalone: true,\n\timports: [CdkTableModule],\n\ttemplate: `\n\t\t<ng-container [cdkColumnDef]=\"name\">\n\t\t\t<ng-content select=\"[brnHeaderDef]\" />\n\t\t\t<ng-content select=\"[brnCellDef]\" />\n\t\t\t<ng-content select=\"[brnFooterDef]\" />\n\t\t</ng-container>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnColumnDefComponent implements AfterContentChecked {\n\tpublic get columnDef() {\n\t\treturn this._columnDef;\n\t}\n\n\tpublic get cell() {\n\t\treturn this._columnDef.cell;\n\t}\n\n\tprivate _name = '';\n\t@Input()\n\tpublic get name(): string {\n\t\treturn this._name;\n\t}\n\n\tpublic set name(value: string) {\n\t\tthis._name = value;\n\t\tif (!this._columnDef) return;\n\t\tthis._columnDef.name = value;\n\t}\n\n\tpublic readonly class = input('');\n\n\t@ViewChild(CdkColumnDef, { static: true })\n\tprivate readonly _columnDef!: CdkColumnDef;\n\n\t@ContentChild(BrnCellDefDirective, { static: true })\n\tprivate readonly _cellDef?: CdkCellDef;\n\t@ContentChild(BrnFooterDefDirective, { static: true })\n\tprivate readonly _footerCellDef?: CdkFooterCellDef;\n\t@ContentChild(BrnHeaderDefDirective, { static: true })\n\tprivate readonly _headerCellDef?: CdkHeaderCellDef;\n\n\tpublic ngAfterContentChecked(): void {\n\t\tthis._columnDef.name = this.name;\n\t\tif (this._cellDef) {\n\t\t\tthis._columnDef.cell = this._cellDef;\n\t\t}\n\t\tif (this._headerCellDef) {\n\t\t\tthis._columnDef.headerCell = this._headerCellDef;\n\t\t}\n\t\tif (this._footerCellDef) {\n\t\t\tthis._columnDef.footerCell = this._footerCellDef;\n\t\t}\n\t}\n}\n","import {\n\tDirective,\n\tInput,\n\ttype OnInit,\n\ttype Signal,\n\tTemplateRef,\n\tViewContainerRef,\n\tcomputed,\n\teffect,\n\tinject,\n\tnumberAttribute,\n\tsignal,\n} from '@angular/core';\n\nexport type PaginatorState = {\n\tcurrentPage: number;\n\tstartIndex: number;\n\tendIndex: number;\n\tpageSize: number;\n\ttotalPages: number;\n\ttotalElements: number | null | undefined;\n};\n\nexport type PaginatorContext = {\n\t$implicit: {\n\t\tstate: Signal<PaginatorState>;\n\t\tincrementable: Signal<boolean>;\n\t\tdecrementable: Signal<boolean>;\n\t\tincrement: () => void;\n\t\tdecrement: () => void;\n\t};\n};\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnPaginator]',\n\texportAs: 'brnPaginator',\n})\nexport class BrnPaginatorDirective implements OnInit {\n\tstatic ngTemplateContextGuard(_directive: BrnPaginatorDirective, _context: unknown): _context is PaginatorContext {\n\t\treturn true;\n\t}\n\n\tprivate readonly _vcr = inject(ViewContainerRef);\n\tprivate readonly _template = inject(TemplateRef<unknown>);\n\n\tprivate readonly _state = signal<PaginatorState>({\n\t\tcurrentPage: 0,\n\t\tstartIndex: 0,\n\t\tendIndex: 0,\n\t\tpageSize: 10,\n\t\ttotalPages: 0,\n\t\ttotalElements: null,\n\t});\n\tprivate readonly _decrementable = computed(() => 0 < this._state().startIndex);\n\tprivate readonly _incrementable = computed(() => this._state().endIndex < (this._state().totalElements ?? 0) - 1);\n\n\t@Input({ alias: 'brnPaginatorTotalElements' })\n\tpublic set totalElements(value: number | null | undefined) {\n\t\tthis.calculateNewState({ newTotalElements: value, newPage: 0 });\n\t}\n\n\t@Input({ alias: 'brnPaginatorCurrentPage', transform: numberAttribute })\n\tpublic set currentPage(value: number) {\n\t\tthis.calculateNewState({ newPage: value });\n\t}\n\n\t@Input({ alias: 'brnPaginatorPageSize', transform: numberAttribute })\n\tpublic set pageSize(value: number) {\n\t\tthis.calculateNewState({ newPageSize: value, newPage: 0 });\n\t}\n\n\t@Input({ alias: 'brnPaginatorOnStateChange' })\n\tpublic onStateChange?: (state: PaginatorState) => void;\n\n\tconstructor() {\n\t\teffect(\n\t\t\t() => {\n\t\t\t\tconst state = this._state();\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tif (this.onStateChange) {\n\t\t\t\t\t\tthis.onStateChange(state);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\t{ allowSignalWrites: true },\n\t\t);\n\t}\n\n\tpublic ngOnInit() {\n\t\tthis._vcr.createEmbeddedView<PaginatorContext>(this._template, {\n\t\t\t$implicit: {\n\t\t\t\tstate: this._state,\n\t\t\t\tincrement: () => this.incrementPage(),\n\t\t\t\tdecrement: () => this.decrementPage(),\n\t\t\t\tincrementable: this._incrementable,\n\t\t\t\tdecrementable: this._decrementable,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic decrementPage(): void {\n\t\tconst { currentPage } = this._state();\n\t\tif (0 < currentPage) {\n\t\t\tthis.calculateNewState({ newPage: currentPage - 1 });\n\t\t}\n\t}\n\n\tpublic incrementPage(): void {\n\t\tconst { currentPage, totalPages } = this._state();\n\t\tif (totalPages > currentPage) {\n\t\t\tthis.calculateNewState({ newPage: currentPage + 1 });\n\t\t}\n\t}\n\n\tpublic reset(): void {\n\t\tthis.currentPage = 0;\n\t}\n\n\tprivate calculateNewState({\n\t\tnewPage,\n\t\tnewPageSize,\n\t\tnewTotalElements,\n\t}: Partial<{\n\t\tnewPage: number;\n\t\tnewPageSize: number;\n\t\tnewTotalElements: number | null | undefined;\n\t}>) {\n\t\tconst previousState = this._state();\n\n\t\tlet currentPage = newPage ?? previousState.currentPage;\n\t\tconst pageSize = newPageSize ?? previousState.pageSize;\n\t\tconst totalElements = newTotalElements ?? previousState.totalElements ?? 0;\n\n\t\tconst newTotalPages = totalElements ? Math.floor(totalElements / pageSize) : 0;\n\n\t\tif (newTotalPages < currentPage - 1) {\n\t\t\tcurrentPage = newTotalPages - 1;\n\t\t}\n\n\t\tconst newStartIndex = totalElements === 0 ? 0 : Math.min(totalElements - 1, currentPage * pageSize);\n\t\tconst newEndIndex = Math.min((currentPage + 1) * pageSize - 1, totalElements - 1);\n\n\t\tconst newState = {\n\t\t\tcurrentPage: currentPage,\n\t\t\tstartIndex: newStartIndex,\n\t\t\tendIndex: newEndIndex,\n\t\t\tpageSize: pageSize,\n\t\t\ttotalPages: newTotalPages,\n\t\t\ttotalElements: totalElements,\n\t\t};\n\n\t\tthis._state.set(newState);\n\t}\n}\n","import { CdkRowDef, CdkTable, type CdkTableDataSourceInput, CdkTableModule } from '@angular/cdk/table';\nimport {\n\ttype AfterContentInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChildren,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\ttype QueryList,\n\ttype TrackByFunction,\n\tViewChild,\n\tViewEncapsulation,\n\tbooleanAttribute,\n} from '@angular/core';\nimport { type TableClassesSettable, provideTableClassesSettableExisting } from '@spartan-ng/ui-core';\nimport { BrnColumnDefComponent } from './brn-column-def.component';\n\nexport type BrnTableDataSourceInput<T> = CdkTableDataSourceInput<T>;\n\n@Component({\n\tselector: 'brn-table',\n\tstandalone: true,\n\timports: [CdkTableModule],\n\tproviders: [provideTableClassesSettableExisting(<T>() => BrnTableComponent<T>)],\n\ttemplate: `\n\t\t<cdk-table\n\t\t\t#cdkTable\n\t\t\t[class]=\"tableClasses\"\n\t\t\t[dataSource]=\"dataSource\"\n\t\t\t[fixedLayout]=\"fixedLayout\"\n\t\t\t[multiTemplateDataRows]=\"multiTemplateDataRows\"\n\t\t\t(contentChanged)=\"contentChanged.emit()\"\n\t\t>\n\t\t\t<ng-content />\n\n\t\t\t<cdk-header-row [class]=\"headerRowClasses\" *cdkHeaderRowDef=\"displayedColumns; sticky: stickyHeader\" />\n\t\t\t@if (!customTemplateDataRows) {\n\t\t\t\t<cdk-row\n\t\t\t\t\t[tabindex]=\"!!onRowClick ? 0 : -1\"\n\t\t\t\t\t[attr.role]=\"!!onRowClick ? 'button' : 'row'\"\n\t\t\t\t\t[class.row-interactive]=\"!!onRowClick\"\n\t\t\t\t\t(keydown.enter)=\"!!onRowClick && onRowClick(row)\"\n\t\t\t\t\t(click)=\"!!onRowClick && onRowClick(row)\"\n\t\t\t\t\t[class]=\"bodyRowClasses\"\n\t\t\t\t\t*cdkRowDef=\"let row; columns: displayedColumns\"\n\t\t\t\t/>\n\t\t\t}\n\n\t\t\t<ng-template cdkNoDataRow>\n\t\t\t\t<ng-content select=\"[brnNoDataRow]\" />\n\t\t\t</ng-template>\n\t\t</cdk-table>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnTableComponent<T> implements TableClassesSettable, AfterContentInit {\n\t@ViewChild('cdkTable', { read: CdkTable, static: true })\n\tprivate readonly _cdkTable?: CdkTable<T>;\n\t// Cdk Table Inputs / Outputs\n\t@Input()\n\tpublic dataSource: BrnTableDataSourceInput<T> = [];\n\t@Input({ transform: booleanAttribute })\n\tpublic fixedLayout = false;\n\t@Input({ transform: booleanAttribute })\n\tpublic multiTemplateDataRows = false;\n\t@Input()\n\tpublic displayedColumns: string[] = [];\n\n\tprivate _trackBy?: TrackByFunction<T>;\n\tpublic get trackBy(): TrackByFunction<T> | undefined {\n\t\treturn this._trackBy;\n\t}\n\n\t@Input()\n\tpublic set trackBy(value: TrackByFunction<T>) {\n\t\tthis._trackBy = value;\n\t\tif (this._cdkTable) {\n\t\t\tthis._cdkTable.trackBy = this._trackBy;\n\t\t}\n\t}\n\n\t@Output()\n\tpublic readonly contentChanged: EventEmitter<void> = new EventEmitter<void>();\n\n\t// Brn Inputs / Outputs\n\t@Input({ transform: booleanAttribute })\n\tpublic customTemplateDataRows = false;\n\t@Input()\n\tpublic onRowClick: ((element: T) => void) | undefined;\n\n\t@Input({ transform: booleanAttribute })\n\tpublic stickyHeader = false;\n\t@Input()\n\tpublic tableClasses = '';\n\t@Input()\n\tpublic headerRowClasses = '';\n\t@Input()\n\tpublic bodyRowClasses = '';\n\n\t@ContentChildren(BrnColumnDefComponent) public columnDefComponents!: QueryList<BrnColumnDefComponent>;\n\t@ContentChildren(CdkRowDef) public rowDefs!: QueryList<CdkRowDef<T>>;\n\n\t// after the <ng-content> has been initialized, the column definitions are available.\n\t// All that's left is to add them to the table ourselves:\n\tpublic ngAfterContentInit(): void {\n\t\tthis.columnDefComponents.forEach((component) => {\n\t\t\tif (!this._cdkTable) return;\n\t\t\tif (component.cell) {\n\t\t\t\tthis._cdkTable.addColumnDef(component.columnDef);\n\t\t\t}\n\t\t});\n\t\tthis.rowDefs.forEach((rowDef) => {\n\t\t\tif (!this._cdkTable) return;\n\t\t\tthis._cdkTable.addRowDef(rowDef);\n\t\t});\n\t}\n\n\tpublic setTableClasses({\n\t\ttable,\n\t\theaderRow,\n\t\tbodyRow,\n\t}: Partial<{ table: string; headerRow: string; bodyRow: string }>): void {\n\t\tif (table) {\n\t\t\tthis.tableClasses = table;\n\t\t}\n\t\tif (headerRow) {\n\t\t\tthis.headerRowClasses = headerRow;\n\t\t}\n\t\tif (bodyRow) {\n\t\t\tthis.bodyRowClasses = bodyRow;\n\t\t}\n\t}\n}\n","import { type Signal, computed, signal } from '@angular/core';\n\ntype BrnColumnVisibility = Record<string, boolean> | Record<string, { visible: boolean }>;\n\n// prettier-ignore\ntype AllColumnsPropertyType<T> = T extends Record<string, boolean>\n\t? (keyof T)[]\n\t: T extends Record<string, infer R>\n\t\t? (R extends { visible: boolean } ? { name: keyof T } & R : never)[]\n\t\t: never;\n\nexport class BrnColumnManager<T extends BrnColumnVisibility> {\n\tprivate readonly _initialColumnVisibility: T;\n\tprivate readonly _columnVisibility;\n\n\tpublic readonly allColumns: AllColumnsPropertyType<T>;\n\tpublic readonly columnVisibility;\n\tpublic readonly displayedColumns: Signal<(keyof T)[]> = computed(() => {\n\t\treturn Object.entries(this._columnVisibility())\n\t\t\t.filter(([, value]) => (typeof value === 'boolean' ? value : value.visible))\n\t\t\t.map(([key]) => key);\n\t});\n\n\tconstructor(initialColumnVisibility: T) {\n\t\tthis._initialColumnVisibility = initialColumnVisibility;\n\t\tthis._columnVisibility = signal(this._initialColumnVisibility);\n\t\tthis._columnVisibility.set(this._initialColumnVisibility);\n\t\tthis.columnVisibility = this._columnVisibility.asReadonly();\n\t\tthis.allColumns = this.createAllColumns(this._initialColumnVisibility);\n\t}\n\n\tpublic readonly isColumnVisible = (columnName: string) => {\n\t\tconst visibilityMap = this.columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\treturn typeof columnEntry === 'boolean' ? columnEntry : columnEntry.visible;\n\t};\n\tpublic readonly isColumnDisabled = (columnName: string) =>\n\t\tthis.isColumnVisible(columnName) && this.displayedColumns().length === 1;\n\n\tpublic toggleVisibility(columnName: keyof T) {\n\t\tconst visibilityMap = this._columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\tconst newVisibilityState = typeof columnEntry === 'boolean' ? !columnEntry : { visible: !columnEntry.visible };\n\t\tthis._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });\n\t}\n\tpublic setVisible(columnName: keyof T) {\n\t\tconst visibilityMap = this._columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\tconst newVisibilityState = typeof columnEntry === 'boolean' ? true : { visible: true };\n\t\tthis._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });\n\t}\n\tpublic setInvisible(columnName: keyof T) {\n\t\tconst visibilityMap = this._columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\tconst newVisibilityState = typeof columnEntry === 'boolean' ? false : { visible: false };\n\t\tthis._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });\n\t}\n\n\tprivate createAllColumns(initialColumnVisibility: T): AllColumnsPropertyType<T> {\n\t\tconst keys = Object.keys(initialColumnVisibility) as (keyof T)[];\n\t\tif (this.isBooleanConfig(initialColumnVisibility)) {\n\t\t\treturn keys as unknown as AllColumnsPropertyType<T>;\n\t\t}\n\t\treturn keys.map((key) => {\n\t\t\tconst values = initialColumnVisibility[key] as { visible: boolean };\n\t\t\treturn {\n\t\t\t\tname: key,\n\t\t\t\t...values,\n\t\t\t};\n\t\t}) as AllColumnsPropertyType<T>;\n\t}\n\n\tprivate isBooleanConfig(config: any): config is Record<string, boolean> {\n\t\treturn typeof Object.values(config)[0] === 'boolean';\n\t}\n}\n\nexport const useBrnColumnManager = <T extends BrnColumnVisibility>(initialColumnVisibility: T) =>\n\tnew BrnColumnManager(initialColumnVisibility);\n","import { NgModule } from '@angular/core';\nimport { BrnCellDefDirective } from './lib/brn-cell-def.directive';\nimport { BrnColumnDefComponent } from './lib/brn-column-def.component';\nimport { BrnFooterDefDirective } from './lib/brn-footer-def.directive';\nimport { BrnHeaderDefDirective } from './lib/brn-header-def.directive';\nimport { BrnPaginatorDirective } from './lib/brn-paginator.directive';\nimport { BrnTableComponent } from './lib/brn-table.component';\n\nexport { BrnCellDefDirective } from './lib/brn-cell-def.directive';\nexport { BrnColumnDefComponent } from './lib/brn-column-def.component';\nexport { BrnColumnManager, useBrnColumnManager } from './lib/brn-column-manager';\nexport { BrnFooterDefDirective } from './lib/brn-footer-def.directive';\nexport { BrnHeaderDefDirective } from './lib/brn-header-def.directive';\nexport { BrnPaginatorDirective, PaginatorContext, PaginatorState } from './lib/brn-paginator.directive';\nexport { BrnTableComponent } from './lib/brn-table.component';\n\nexport const BrnTableImports = [\n\tBrnCellDefDirective,\n\tBrnColumnDefComponent,\n\tBrnFooterDefDirective,\n\tBrnHeaderDefDirective,\n\tBrnTableComponent,\n\tBrnPaginatorDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnTableImports],\n\texports: [...BrnTableImports],\n})\nexport class BrnTableModule {}\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-table.mjs","sources":["../../../../libs/brain/table/src/lib/brn-cell-def.directive.ts","../../../../libs/brain/table/src/lib/brn-footer-def.directive.ts","../../../../libs/brain/table/src/lib/brn-header-def.directive.ts","../../../../libs/brain/table/src/lib/brn-column-def.component.ts","../../../../libs/brain/table/src/lib/brn-paginator.directive.ts","../../../../libs/brain/table/src/lib/brn-table.component.ts","../../../../libs/brain/table/src/lib/brn-column-manager.ts","../../../../libs/brain/table/src/index.ts","../../../../libs/brain/table/src/spartan-ng-brain-table.ts"],"sourcesContent":["import { CdkCellDef } from '@angular/cdk/table';\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnCellDef]',\n\texportAs: 'brnCellDef',\n})\nexport class BrnCellDefDirective extends CdkCellDef {\n\tpublic override template: TemplateRef<unknown>;\n\n\tconstructor() {\n\t\tconst template = inject<TemplateRef<unknown>>(TemplateRef);\n\n\t\tsuper(template);\n\t\tthis.template = template;\n\t}\n}\n","import { CdkFooterCellDef } from '@angular/cdk/table';\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnFooterDef]',\n\texportAs: 'brnFooterDef',\n})\nexport class BrnFooterDefDirective extends CdkFooterCellDef {\n\tpublic override template: TemplateRef<unknown>;\n\n\tconstructor() {\n\t\tconst template = inject<TemplateRef<unknown>>(TemplateRef);\n\n\t\tsuper(template);\n\t\tthis.template = template;\n\t}\n}\n","import { CdkHeaderCellDef } from '@angular/cdk/table';\nimport { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnHeaderDef]',\n\texportAs: 'brnHeaderDef',\n})\nexport class BrnHeaderDefDirective extends CdkHeaderCellDef {\n\tpublic override template: TemplateRef<unknown>;\n\n\tconstructor() {\n\t\tconst template = inject<TemplateRef<unknown>>(TemplateRef);\n\n\t\tsuper(template);\n\t\tthis.template = template;\n\t}\n}\n","import {\n\ttype CdkCellDef,\n\tCdkColumnDef,\n\ttype CdkFooterCellDef,\n\ttype CdkHeaderCellDef,\n\tCdkTableModule,\n} from '@angular/cdk/table';\nimport {\n\ttype AfterContentChecked,\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChild,\n\tInput,\n\tViewChild,\n\tViewEncapsulation,\n\tinput,\n} from '@angular/core';\nimport { BrnCellDefDirective } from './brn-cell-def.directive';\nimport { BrnFooterDefDirective } from './brn-footer-def.directive';\nimport { BrnHeaderDefDirective } from './brn-header-def.directive';\n\n@Component({\n\tselector: 'brn-column-def',\n\tstandalone: true,\n\timports: [CdkTableModule],\n\ttemplate: `\n\t\t<ng-container [cdkColumnDef]=\"name\">\n\t\t\t<ng-content select=\"[brnHeaderDef]\" />\n\t\t\t<ng-content select=\"[brnCellDef]\" />\n\t\t\t<ng-content select=\"[brnFooterDef]\" />\n\t\t</ng-container>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnColumnDefComponent implements AfterContentChecked {\n\tpublic get columnDef() {\n\t\treturn this._columnDef;\n\t}\n\n\tpublic get cell() {\n\t\treturn this._columnDef.cell;\n\t}\n\n\tprivate _name = '';\n\t@Input()\n\tpublic get name(): string {\n\t\treturn this._name;\n\t}\n\n\tpublic set name(value: string) {\n\t\tthis._name = value;\n\t\tif (!this._columnDef) return;\n\t\tthis._columnDef.name = value;\n\t}\n\n\tpublic readonly class = input('');\n\n\t@ViewChild(CdkColumnDef, { static: true })\n\tprivate readonly _columnDef!: CdkColumnDef;\n\n\t@ContentChild(BrnCellDefDirective, { static: true })\n\tprivate readonly _cellDef?: CdkCellDef;\n\t@ContentChild(BrnFooterDefDirective, { static: true })\n\tprivate readonly _footerCellDef?: CdkFooterCellDef;\n\t@ContentChild(BrnHeaderDefDirective, { static: true })\n\tprivate readonly _headerCellDef?: CdkHeaderCellDef;\n\n\tpublic ngAfterContentChecked(): void {\n\t\tthis._columnDef.name = this.name;\n\t\tif (this._cellDef) {\n\t\t\tthis._columnDef.cell = this._cellDef;\n\t\t}\n\t\tif (this._headerCellDef) {\n\t\t\tthis._columnDef.headerCell = this._headerCellDef;\n\t\t}\n\t\tif (this._footerCellDef) {\n\t\t\tthis._columnDef.footerCell = this._footerCellDef;\n\t\t}\n\t}\n}\n","import {\n\tDirective,\n\tInput,\n\ttype OnInit,\n\ttype Signal,\n\tTemplateRef,\n\tViewContainerRef,\n\tcomputed,\n\teffect,\n\tinject,\n\tnumberAttribute,\n\tsignal,\n} from '@angular/core';\n\nexport type PaginatorState = {\n\tcurrentPage: number;\n\tstartIndex: number;\n\tendIndex: number;\n\tpageSize: number;\n\ttotalPages: number;\n\ttotalElements: number | null | undefined;\n};\n\nexport type PaginatorContext = {\n\t$implicit: {\n\t\tstate: Signal<PaginatorState>;\n\t\tincrementable: Signal<boolean>;\n\t\tdecrementable: Signal<boolean>;\n\t\tincrement: () => void;\n\t\tdecrement: () => void;\n\t};\n};\n\n@Directive({\n\tstandalone: true,\n\tselector: '[brnPaginator]',\n\texportAs: 'brnPaginator',\n})\nexport class BrnPaginatorDirective implements OnInit {\n\tstatic ngTemplateContextGuard(_directive: BrnPaginatorDirective, _context: unknown): _context is PaginatorContext {\n\t\treturn true;\n\t}\n\n\tprivate readonly _vcr = inject(ViewContainerRef);\n\tprivate readonly _template = inject(TemplateRef<unknown>);\n\n\tprivate readonly _state = signal<PaginatorState>({\n\t\tcurrentPage: 0,\n\t\tstartIndex: 0,\n\t\tendIndex: 0,\n\t\tpageSize: 10,\n\t\ttotalPages: 0,\n\t\ttotalElements: null,\n\t});\n\tprivate readonly _decrementable = computed(() => 0 < this._state().startIndex);\n\tprivate readonly _incrementable = computed(() => this._state().endIndex < (this._state().totalElements ?? 0) - 1);\n\n\t@Input({ alias: 'brnPaginatorTotalElements' })\n\tpublic set totalElements(value: number | null | undefined) {\n\t\tthis.calculateNewState({ newTotalElements: value, newPage: 0 });\n\t}\n\n\t@Input({ alias: 'brnPaginatorCurrentPage', transform: numberAttribute })\n\tpublic set currentPage(value: number) {\n\t\tthis.calculateNewState({ newPage: value });\n\t}\n\n\t@Input({ alias: 'brnPaginatorPageSize', transform: numberAttribute })\n\tpublic set pageSize(value: number) {\n\t\tthis.calculateNewState({ newPageSize: value, newPage: 0 });\n\t}\n\n\t@Input({ alias: 'brnPaginatorOnStateChange' })\n\tpublic onStateChange?: (state: PaginatorState) => void;\n\n\tconstructor() {\n\t\teffect(\n\t\t\t() => {\n\t\t\t\tconst state = this._state();\n\t\t\t\tPromise.resolve().then(() => {\n\t\t\t\t\tif (this.onStateChange) {\n\t\t\t\t\t\tthis.onStateChange(state);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\t{ allowSignalWrites: true },\n\t\t);\n\t}\n\n\tpublic ngOnInit() {\n\t\tthis._vcr.createEmbeddedView<PaginatorContext>(this._template, {\n\t\t\t$implicit: {\n\t\t\t\tstate: this._state,\n\t\t\t\tincrement: () => this.incrementPage(),\n\t\t\t\tdecrement: () => this.decrementPage(),\n\t\t\t\tincrementable: this._incrementable,\n\t\t\t\tdecrementable: this._decrementable,\n\t\t\t},\n\t\t});\n\t}\n\n\tpublic decrementPage(): void {\n\t\tconst { currentPage } = this._state();\n\t\tif (0 < currentPage) {\n\t\t\tthis.calculateNewState({ newPage: currentPage - 1 });\n\t\t}\n\t}\n\n\tpublic incrementPage(): void {\n\t\tconst { currentPage, totalPages } = this._state();\n\t\tif (totalPages > currentPage) {\n\t\t\tthis.calculateNewState({ newPage: currentPage + 1 });\n\t\t}\n\t}\n\n\tpublic reset(): void {\n\t\tthis.currentPage = 0;\n\t}\n\n\tprivate calculateNewState({\n\t\tnewPage,\n\t\tnewPageSize,\n\t\tnewTotalElements,\n\t}: Partial<{\n\t\tnewPage: number;\n\t\tnewPageSize: number;\n\t\tnewTotalElements: number | null | undefined;\n\t}>) {\n\t\tconst previousState = this._state();\n\n\t\tlet currentPage = newPage ?? previousState.currentPage;\n\t\tconst pageSize = newPageSize ?? previousState.pageSize;\n\t\tconst totalElements = newTotalElements ?? previousState.totalElements ?? 0;\n\n\t\tconst newTotalPages = totalElements ? Math.floor(totalElements / pageSize) : 0;\n\n\t\tif (newTotalPages < currentPage - 1) {\n\t\t\tcurrentPage = newTotalPages - 1;\n\t\t}\n\n\t\tconst newStartIndex = totalElements === 0 ? 0 : Math.min(totalElements - 1, currentPage * pageSize);\n\t\tconst newEndIndex = Math.min((currentPage + 1) * pageSize - 1, totalElements - 1);\n\n\t\tconst newState = {\n\t\t\tcurrentPage: currentPage,\n\t\t\tstartIndex: newStartIndex,\n\t\t\tendIndex: newEndIndex,\n\t\t\tpageSize: pageSize,\n\t\t\ttotalPages: newTotalPages,\n\t\t\ttotalElements: totalElements,\n\t\t};\n\n\t\tthis._state.set(newState);\n\t}\n}\n","import { CdkRowDef, CdkTable, type CdkTableDataSourceInput, CdkTableModule } from '@angular/cdk/table';\nimport {\n\ttype AfterContentInit,\n\tChangeDetectionStrategy,\n\tComponent,\n\tContentChildren,\n\tEventEmitter,\n\tInput,\n\tOutput,\n\ttype QueryList,\n\ttype TrackByFunction,\n\tViewChild,\n\tViewEncapsulation,\n\tbooleanAttribute,\n} from '@angular/core';\nimport { type TableClassesSettable, provideTableClassesSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnColumnDefComponent } from './brn-column-def.component';\n\nexport type BrnTableDataSourceInput<T> = CdkTableDataSourceInput<T>;\n\n@Component({\n\tselector: 'brn-table',\n\tstandalone: true,\n\timports: [CdkTableModule],\n\tproviders: [provideTableClassesSettableExisting(<T>() => BrnTableComponent<T>)],\n\ttemplate: `\n\t\t<cdk-table\n\t\t\t#cdkTable\n\t\t\t[class]=\"tableClasses\"\n\t\t\t[dataSource]=\"dataSource\"\n\t\t\t[fixedLayout]=\"fixedLayout\"\n\t\t\t[multiTemplateDataRows]=\"multiTemplateDataRows\"\n\t\t\t(contentChanged)=\"contentChanged.emit()\"\n\t\t>\n\t\t\t<ng-content />\n\n\t\t\t<cdk-header-row [class]=\"headerRowClasses\" *cdkHeaderRowDef=\"displayedColumns; sticky: stickyHeader\" />\n\t\t\t@if (!customTemplateDataRows) {\n\t\t\t\t<cdk-row\n\t\t\t\t\t[tabindex]=\"!!onRowClick ? 0 : -1\"\n\t\t\t\t\t[attr.role]=\"!!onRowClick ? 'button' : 'row'\"\n\t\t\t\t\t[class.row-interactive]=\"!!onRowClick\"\n\t\t\t\t\t(keydown.enter)=\"!!onRowClick && onRowClick(row)\"\n\t\t\t\t\t(click)=\"!!onRowClick && onRowClick(row)\"\n\t\t\t\t\t[class]=\"bodyRowClasses\"\n\t\t\t\t\t*cdkRowDef=\"let row; columns: displayedColumns\"\n\t\t\t\t/>\n\t\t\t}\n\n\t\t\t<ng-template cdkNoDataRow>\n\t\t\t\t<ng-content select=\"[brnNoDataRow]\" />\n\t\t\t</ng-template>\n\t\t</cdk-table>\n\t`,\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\tencapsulation: ViewEncapsulation.None,\n})\nexport class BrnTableComponent<T> implements TableClassesSettable, AfterContentInit {\n\t@ViewChild('cdkTable', { read: CdkTable, static: true })\n\tprivate readonly _cdkTable?: CdkTable<T>;\n\t// Cdk Table Inputs / Outputs\n\t@Input()\n\tpublic dataSource: BrnTableDataSourceInput<T> = [];\n\t@Input({ transform: booleanAttribute })\n\tpublic fixedLayout = false;\n\t@Input({ transform: booleanAttribute })\n\tpublic multiTemplateDataRows = false;\n\t@Input()\n\tpublic displayedColumns: string[] = [];\n\n\tprivate _trackBy?: TrackByFunction<T>;\n\tpublic get trackBy(): TrackByFunction<T> | undefined {\n\t\treturn this._trackBy;\n\t}\n\n\t@Input()\n\tpublic set trackBy(value: TrackByFunction<T>) {\n\t\tthis._trackBy = value;\n\t\tif (this._cdkTable) {\n\t\t\tthis._cdkTable.trackBy = this._trackBy;\n\t\t}\n\t}\n\n\t@Output()\n\tpublic readonly contentChanged: EventEmitter<void> = new EventEmitter<void>();\n\n\t// Brn Inputs / Outputs\n\t@Input({ transform: booleanAttribute })\n\tpublic customTemplateDataRows = false;\n\t@Input()\n\tpublic onRowClick: ((element: T) => void) | undefined;\n\n\t@Input({ transform: booleanAttribute })\n\tpublic stickyHeader = false;\n\t@Input()\n\tpublic tableClasses = '';\n\t@Input()\n\tpublic headerRowClasses = '';\n\t@Input()\n\tpublic bodyRowClasses = '';\n\n\t@ContentChildren(BrnColumnDefComponent) public columnDefComponents!: QueryList<BrnColumnDefComponent>;\n\t@ContentChildren(CdkRowDef) public rowDefs!: QueryList<CdkRowDef<T>>;\n\n\t// after the <ng-content> has been initialized, the column definitions are available.\n\t// All that's left is to add them to the table ourselves:\n\tpublic ngAfterContentInit(): void {\n\t\tthis.columnDefComponents.forEach((component) => {\n\t\t\tif (!this._cdkTable) return;\n\t\t\tif (component.cell) {\n\t\t\t\tthis._cdkTable.addColumnDef(component.columnDef);\n\t\t\t}\n\t\t});\n\t\tthis.rowDefs.forEach((rowDef) => {\n\t\t\tif (!this._cdkTable) return;\n\t\t\tthis._cdkTable.addRowDef(rowDef);\n\t\t});\n\t}\n\n\tpublic setTableClasses({\n\t\ttable,\n\t\theaderRow,\n\t\tbodyRow,\n\t}: Partial<{ table: string; headerRow: string; bodyRow: string }>): void {\n\t\tif (table) {\n\t\t\tthis.tableClasses = table;\n\t\t}\n\t\tif (headerRow) {\n\t\t\tthis.headerRowClasses = headerRow;\n\t\t}\n\t\tif (bodyRow) {\n\t\t\tthis.bodyRowClasses = bodyRow;\n\t\t}\n\t}\n}\n","import { type Signal, computed, signal } from '@angular/core';\n\ntype BrnColumnVisibility = Record<string, boolean> | Record<string, { visible: boolean }>;\n\n// prettier-ignore\ntype AllColumnsPropertyType<T> = T extends Record<string, boolean>\n\t? (keyof T)[]\n\t: T extends Record<string, infer R>\n\t\t? (R extends { visible: boolean } ? { name: keyof T } & R : never)[]\n\t\t: never;\n\nexport class BrnColumnManager<T extends BrnColumnVisibility> {\n\tprivate readonly _initialColumnVisibility: T;\n\tprivate readonly _columnVisibility;\n\n\tpublic readonly allColumns: AllColumnsPropertyType<T>;\n\tpublic readonly columnVisibility;\n\tpublic readonly displayedColumns: Signal<(keyof T)[]> = computed(() => {\n\t\treturn Object.entries(this._columnVisibility())\n\t\t\t.filter(([, value]) => (typeof value === 'boolean' ? value : value.visible))\n\t\t\t.map(([key]) => key);\n\t});\n\n\tconstructor(initialColumnVisibility: T) {\n\t\tthis._initialColumnVisibility = initialColumnVisibility;\n\t\tthis._columnVisibility = signal(this._initialColumnVisibility);\n\t\tthis._columnVisibility.set(this._initialColumnVisibility);\n\t\tthis.columnVisibility = this._columnVisibility.asReadonly();\n\t\tthis.allColumns = this.createAllColumns(this._initialColumnVisibility);\n\t}\n\n\tpublic readonly isColumnVisible = (columnName: string) => {\n\t\tconst visibilityMap = this.columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\treturn typeof columnEntry === 'boolean' ? columnEntry : columnEntry.visible;\n\t};\n\tpublic readonly isColumnDisabled = (columnName: string) =>\n\t\tthis.isColumnVisible(columnName) && this.displayedColumns().length === 1;\n\n\tpublic toggleVisibility(columnName: keyof T) {\n\t\tconst visibilityMap = this._columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\tconst newVisibilityState = typeof columnEntry === 'boolean' ? !columnEntry : { visible: !columnEntry.visible };\n\t\tthis._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });\n\t}\n\tpublic setVisible(columnName: keyof T) {\n\t\tconst visibilityMap = this._columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\tconst newVisibilityState = typeof columnEntry === 'boolean' ? true : { visible: true };\n\t\tthis._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });\n\t}\n\tpublic setInvisible(columnName: keyof T) {\n\t\tconst visibilityMap = this._columnVisibility();\n\t\tconst columnEntry = visibilityMap[columnName];\n\t\tconst newVisibilityState = typeof columnEntry === 'boolean' ? false : { visible: false };\n\t\tthis._columnVisibility.set({ ...visibilityMap, [columnName]: newVisibilityState });\n\t}\n\n\tprivate createAllColumns(initialColumnVisibility: T): AllColumnsPropertyType<T> {\n\t\tconst keys = Object.keys(initialColumnVisibility) as (keyof T)[];\n\t\tif (this.isBooleanConfig(initialColumnVisibility)) {\n\t\t\treturn keys as unknown as AllColumnsPropertyType<T>;\n\t\t}\n\t\treturn keys.map((key) => {\n\t\t\tconst values = initialColumnVisibility[key] as { visible: boolean };\n\t\t\treturn {\n\t\t\t\tname: key,\n\t\t\t\t...values,\n\t\t\t};\n\t\t}) as AllColumnsPropertyType<T>;\n\t}\n\n\tprivate isBooleanConfig(config: any): config is Record<string, boolean> {\n\t\treturn typeof Object.values(config)[0] === 'boolean';\n\t}\n}\n\nexport const useBrnColumnManager = <T extends BrnColumnVisibility>(initialColumnVisibility: T) =>\n\tnew BrnColumnManager(initialColumnVisibility);\n","import { NgModule } from '@angular/core';\nimport { BrnCellDefDirective } from './lib/brn-cell-def.directive';\nimport { BrnColumnDefComponent } from './lib/brn-column-def.component';\nimport { BrnFooterDefDirective } from './lib/brn-footer-def.directive';\nimport { BrnHeaderDefDirective } from './lib/brn-header-def.directive';\nimport { BrnPaginatorDirective } from './lib/brn-paginator.directive';\nimport { BrnTableComponent } from './lib/brn-table.component';\n\nexport { BrnCellDefDirective } from './lib/brn-cell-def.directive';\nexport { BrnColumnDefComponent } from './lib/brn-column-def.component';\nexport { BrnColumnManager, useBrnColumnManager } from './lib/brn-column-manager';\nexport { BrnFooterDefDirective } from './lib/brn-footer-def.directive';\nexport { BrnHeaderDefDirective } from './lib/brn-header-def.directive';\nexport { BrnPaginatorDirective, PaginatorContext, PaginatorState } from './lib/brn-paginator.directive';\nexport { BrnTableComponent } from './lib/brn-table.component';\n\nexport const BrnTableImports = [\n\tBrnCellDefDirective,\n\tBrnColumnDefComponent,\n\tBrnFooterDefDirective,\n\tBrnHeaderDefDirective,\n\tBrnTableComponent,\n\tBrnPaginatorDirective,\n] as const;\n\n@NgModule({\n\timports: [...BrnTableImports],\n\texports: [...BrnTableImports],\n})\nexport class BrnTableModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, ElementRef, input, computed, effect, Directive, model, output, signal, Input, contentChildren, booleanAttribute, Injector, ChangeDetectorRef, NgZone, ANIMATION_MODULE_TYPE, afterNextRender, NgModule } from '@angular/core';
|
|
3
3
|
import { FocusKeyManager } from '@angular/cdk/a11y';
|
|
4
|
-
import { fromEvent,
|
|
4
|
+
import { fromEvent, Subject, of, merge, EMPTY, Observable, timer } from 'rxjs';
|
|
5
|
+
import { take, takeUntil, debounceTime, startWith, switchMap, skip, filter } from 'rxjs/operators';
|
|
5
6
|
import { Directionality } from '@angular/cdk/bidi';
|
|
6
7
|
import { hasModifierKey, SPACE, ENTER } from '@angular/cdk/keycodes';
|
|
7
8
|
import { SharedResizeObserver } from '@angular/cdk/observers/private';
|
|
8
9
|
import { normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform';
|
|
9
10
|
import { ViewportRuler } from '@angular/cdk/scrolling';
|
|
10
|
-
import { takeUntil, debounceTime, startWith, switchMap, skip, filter } from 'rxjs/operators';
|
|
11
11
|
|
|
12
12
|
class BrnTabsContentDirective {
|
|
13
13
|
_root = inject(BrnTabsDirective);
|