@spartan-ng/brain 0.0.1-alpha.707 → 0.0.1-alpha.708

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/fesm2022/spartan-ng-brain-accordion.mjs +30 -30
  2. package/fesm2022/spartan-ng-brain-accordion.mjs.map +1 -1
  3. package/fesm2022/spartan-ng-brain-alert-dialog.mjs +19 -19
  4. package/fesm2022/spartan-ng-brain-alert-dialog.mjs.map +1 -1
  5. package/fesm2022/spartan-ng-brain-autocomplete.mjs +89 -102
  6. package/fesm2022/spartan-ng-brain-autocomplete.mjs.map +1 -1
  7. package/fesm2022/spartan-ng-brain-avatar.mjs +15 -15
  8. package/fesm2022/spartan-ng-brain-avatar.mjs.map +1 -1
  9. package/fesm2022/spartan-ng-brain-button.mjs +4 -4
  10. package/fesm2022/spartan-ng-brain-button.mjs.map +1 -1
  11. package/fesm2022/spartan-ng-brain-calendar.mjs +120 -127
  12. package/fesm2022/spartan-ng-brain-calendar.mjs.map +1 -1
  13. package/fesm2022/spartan-ng-brain-checkbox.mjs +24 -24
  14. package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
  15. package/fesm2022/spartan-ng-brain-collapsible.mjs +17 -17
  16. package/fesm2022/spartan-ng-brain-collapsible.mjs.map +1 -1
  17. package/fesm2022/spartan-ng-brain-combobox.mjs +151 -178
  18. package/fesm2022/spartan-ng-brain-combobox.mjs.map +1 -1
  19. package/fesm2022/spartan-ng-brain-command.mjs +43 -52
  20. package/fesm2022/spartan-ng-brain-command.mjs.map +1 -1
  21. package/fesm2022/spartan-ng-brain-core.mjs +5 -5
  22. package/fesm2022/spartan-ng-brain-core.mjs.map +1 -1
  23. package/fesm2022/spartan-ng-brain-date-time-luxon.mjs.map +1 -1
  24. package/fesm2022/spartan-ng-brain-date-time.mjs.map +1 -1
  25. package/fesm2022/spartan-ng-brain-dialog.mjs +72 -86
  26. package/fesm2022/spartan-ng-brain-dialog.mjs.map +1 -1
  27. package/fesm2022/spartan-ng-brain-field.mjs +38 -43
  28. package/fesm2022/spartan-ng-brain-field.mjs.map +1 -1
  29. package/fesm2022/spartan-ng-brain-forms.mjs +20 -20
  30. package/fesm2022/spartan-ng-brain-forms.mjs.map +1 -1
  31. package/fesm2022/spartan-ng-brain-hover-card.mjs +24 -32
  32. package/fesm2022/spartan-ng-brain-hover-card.mjs.map +1 -1
  33. package/fesm2022/spartan-ng-brain-input-otp.mjs +23 -25
  34. package/fesm2022/spartan-ng-brain-input-otp.mjs.map +1 -1
  35. package/fesm2022/spartan-ng-brain-input.mjs +6 -6
  36. package/fesm2022/spartan-ng-brain-input.mjs.map +1 -1
  37. package/fesm2022/spartan-ng-brain-label.mjs +6 -6
  38. package/fesm2022/spartan-ng-brain-label.mjs.map +1 -1
  39. package/fesm2022/spartan-ng-brain-navigation-menu.mjs +49 -53
  40. package/fesm2022/spartan-ng-brain-navigation-menu.mjs.map +1 -1
  41. package/fesm2022/spartan-ng-brain-popover.mjs +13 -15
  42. package/fesm2022/spartan-ng-brain-popover.mjs.map +1 -1
  43. package/fesm2022/spartan-ng-brain-progress.mjs +11 -13
  44. package/fesm2022/spartan-ng-brain-progress.mjs.map +1 -1
  45. package/fesm2022/spartan-ng-brain-radio-group.mjs +28 -34
  46. package/fesm2022/spartan-ng-brain-radio-group.mjs.map +1 -1
  47. package/fesm2022/spartan-ng-brain-resizable.mjs +23 -23
  48. package/fesm2022/spartan-ng-brain-resizable.mjs.map +1 -1
  49. package/fesm2022/spartan-ng-brain-select.mjs +102 -105
  50. package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
  51. package/fesm2022/spartan-ng-brain-separator.mjs +7 -7
  52. package/fesm2022/spartan-ng-brain-separator.mjs.map +1 -1
  53. package/fesm2022/spartan-ng-brain-sheet.mjs +24 -24
  54. package/fesm2022/spartan-ng-brain-sheet.mjs.map +1 -1
  55. package/fesm2022/spartan-ng-brain-slider.mjs +52 -76
  56. package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
  57. package/fesm2022/spartan-ng-brain-sonner.mjs +108 -132
  58. package/fesm2022/spartan-ng-brain-sonner.mjs.map +1 -1
  59. package/fesm2022/spartan-ng-brain-switch.mjs +21 -23
  60. package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
  61. package/fesm2022/spartan-ng-brain-tabs.mjs +36 -39
  62. package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
  63. package/fesm2022/spartan-ng-brain-textarea.mjs +6 -6
  64. package/fesm2022/spartan-ng-brain-textarea.mjs.map +1 -1
  65. package/fesm2022/spartan-ng-brain-toggle-group.mjs +21 -27
  66. package/fesm2022/spartan-ng-brain-toggle-group.mjs.map +1 -1
  67. package/fesm2022/spartan-ng-brain-toggle.mjs +10 -12
  68. package/fesm2022/spartan-ng-brain-toggle.mjs.map +1 -1
  69. package/fesm2022/spartan-ng-brain-tooltip.mjs +27 -27
  70. package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
  71. package/hlm-tailwind-preset.css +6 -6
  72. package/package.json +44 -43
  73. package/{autocomplete/index.d.ts → types/spartan-ng-brain-autocomplete.d.ts} +10 -10
  74. package/{calendar/index.d.ts → types/spartan-ng-brain-calendar.d.ts} +2 -2
  75. package/{combobox/index.d.ts → types/spartan-ng-brain-combobox.d.ts} +10 -10
  76. package/{dialog/index.d.ts → types/spartan-ng-brain-dialog.d.ts} +1 -1
  77. package/{hover-card/index.d.ts → types/spartan-ng-brain-hover-card.d.ts} +1 -1
  78. package/{select/index.d.ts → types/spartan-ng-brain-select.d.ts} +11 -11
  79. /package/{accordion/index.d.ts → types/spartan-ng-brain-accordion.d.ts} +0 -0
  80. /package/{alert-dialog/index.d.ts → types/spartan-ng-brain-alert-dialog.d.ts} +0 -0
  81. /package/{avatar/index.d.ts → types/spartan-ng-brain-avatar.d.ts} +0 -0
  82. /package/{button/index.d.ts → types/spartan-ng-brain-button.d.ts} +0 -0
  83. /package/{checkbox/index.d.ts → types/spartan-ng-brain-checkbox.d.ts} +0 -0
  84. /package/{collapsible/index.d.ts → types/spartan-ng-brain-collapsible.d.ts} +0 -0
  85. /package/{command/index.d.ts → types/spartan-ng-brain-command.d.ts} +0 -0
  86. /package/{core/index.d.ts → types/spartan-ng-brain-core.d.ts} +0 -0
  87. /package/{date-time-luxon/index.d.ts → types/spartan-ng-brain-date-time-luxon.d.ts} +0 -0
  88. /package/{date-time/index.d.ts → types/spartan-ng-brain-date-time.d.ts} +0 -0
  89. /package/{field/index.d.ts → types/spartan-ng-brain-field.d.ts} +0 -0
  90. /package/{forms/index.d.ts → types/spartan-ng-brain-forms.d.ts} +0 -0
  91. /package/{input-otp/index.d.ts → types/spartan-ng-brain-input-otp.d.ts} +0 -0
  92. /package/{input/index.d.ts → types/spartan-ng-brain-input.d.ts} +0 -0
  93. /package/{label/index.d.ts → types/spartan-ng-brain-label.d.ts} +0 -0
  94. /package/{navigation-menu/index.d.ts → types/spartan-ng-brain-navigation-menu.d.ts} +0 -0
  95. /package/{popover/index.d.ts → types/spartan-ng-brain-popover.d.ts} +0 -0
  96. /package/{progress/index.d.ts → types/spartan-ng-brain-progress.d.ts} +0 -0
  97. /package/{radio-group/index.d.ts → types/spartan-ng-brain-radio-group.d.ts} +0 -0
  98. /package/{resizable/index.d.ts → types/spartan-ng-brain-resizable.d.ts} +0 -0
  99. /package/{separator/index.d.ts → types/spartan-ng-brain-separator.d.ts} +0 -0
  100. /package/{sheet/index.d.ts → types/spartan-ng-brain-sheet.d.ts} +0 -0
  101. /package/{slider/index.d.ts → types/spartan-ng-brain-slider.d.ts} +0 -0
  102. /package/{sonner/index.d.ts → types/spartan-ng-brain-sonner.d.ts} +0 -0
  103. /package/{switch/index.d.ts → types/spartan-ng-brain-switch.d.ts} +0 -0
  104. /package/{tabs/index.d.ts → types/spartan-ng-brain-tabs.d.ts} +0 -0
  105. /package/{textarea/index.d.ts → types/spartan-ng-brain-textarea.d.ts} +0 -0
  106. /package/{toggle-group/index.d.ts → types/spartan-ng-brain-toggle-group.d.ts} +0 -0
  107. /package/{toggle/index.d.ts → types/spartan-ng-brain-toggle.d.ts} +0 -0
  108. /package/{tooltip/index.d.ts → types/spartan-ng-brain-tooltip.d.ts} +0 -0
  109. /package/{index.d.ts → types/spartan-ng-brain.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-select.mjs","sources":["../../../../libs/brain/select/src/lib/brn-select-item.token.ts","../../../../libs/brain/select/src/lib/brn-select.token.ts","../../../../libs/brain/select/src/lib/brn-select.ts","../../../../libs/brain/select/src/lib/brn-select-content.ts","../../../../libs/brain/select/src/lib/brn-select-label.ts","../../../../libs/brain/select/src/lib/brn-select-group.ts","../../../../libs/brain/select/src/lib/brn-select-item.ts","../../../../libs/brain/select/src/lib/brn-select-list.ts","../../../../libs/brain/select/src/lib/brn-select-multiple.ts","../../../../libs/brain/select/src/lib/brn-select-placeholder.ts","../../../../libs/brain/select/src/lib/brn-select-scroll-down.ts","../../../../libs/brain/select/src/lib/brn-select-scroll-up.ts","../../../../libs/brain/select/src/lib/brn-select-separator.ts","../../../../libs/brain/select/src/lib/brn-select-trigger.ts","../../../../libs/brain/select/src/lib/brn-select-value.ts","../../../../libs/brain/select/src/lib/brn-select-value-template.ts","../../../../libs/brain/select/src/lib/brn-select-values.ts","../../../../libs/brain/select/src/index.ts","../../../../libs/brain/select/src/spartan-ng-brain-select.ts"],"sourcesContent":["import { type ExistingProvider, InjectionToken, type Type } from '@angular/core';\nimport type { BrnSelectItem } from './brn-select-item';\n\nexport const BrnSelectItemToken = new InjectionToken<BrnSelectItem<unknown>>('BrnSelectItemToken');\n\nexport function provideBrnSelectItem<T>(selectItem: Type<BrnSelectItem<T>>): ExistingProvider {\n\treturn { provide: BrnSelectItemToken, useExisting: selectItem };\n}\n","import type { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport {\n\ttype ExistingProvider,\n\tinject,\n\tInjectionToken,\n\ttype InputSignal,\n\ttype ModelSignal,\n\ttype Signal,\n\ttype Type,\n\ttype ValueProvider,\n} from '@angular/core';\nimport type { ControlState } from '@spartan-ng/brain/forms';\nimport type { BrnSelectItem } from './brn-select-item';\nimport type { BrnSelectTrigger } from './brn-select-trigger';\n\nexport interface BrnSelectBase<T> {\n\tdisabledState: Signal<boolean>;\n\titemToString: InputSignal<SelectItemToString<T> | undefined>;\n\tkeyManager: ActiveDescendantKeyManager<BrnSelectItem<T>>;\n\tvalue: ModelSignal<T | null> | ModelSignal<T[] | null>;\n\thasValue: Signal<boolean>;\n\tisExpanded: Signal<boolean>;\n\ttriggerWidth: Signal<number | null>;\n\tcontrolState?: Signal<ControlState | null>;\n\n\tisSelected: (itemValue: T) => boolean;\n\tselect: (itemValue: T) => void;\n\t/** Select the active item with Enter key. */\n\tselectActiveItem: () => void;\n\topen: () => void;\n\tregisterSelectTrigger: (input: BrnSelectTrigger) => void;\n\tupdateTriggerWidth: (width: number | null) => void;\n}\n\nexport const BrnSelectBaseToken = new InjectionToken<BrnSelectBase<unknown>>('BrnSelectBaseToken');\n\nexport function provideBrnSelectBase<T>(instance: Type<BrnSelectBase<T>>): ExistingProvider {\n\treturn { provide: BrnSelectBaseToken, useExisting: instance };\n}\n\n/**\n * Inject the select component.\n */\nexport function injectBrnSelectBase<T>(): BrnSelectBase<T> {\n\treturn inject(BrnSelectBaseToken) as BrnSelectBase<T>;\n}\n\nexport type SelectItemEqualToValue<T> = (itemValue: T, selectedValue: T | null) => boolean;\nexport type SelectItemToString<T> = (itemValue: T) => string;\n\nexport interface BrnSelectConfig<T> {\n\tisItemEqualToValue: SelectItemEqualToValue<T>;\n\titemToString?: SelectItemToString<T>;\n}\n\nfunction getDefaultConfig<T>(): BrnSelectConfig<T> {\n\treturn {\n\t\tisItemEqualToValue: (itemValue: T, selectedValue: T | null) => Object.is(itemValue, selectedValue),\n\t\titemToString: undefined,\n\t};\n}\n\nconst BrnSelectConfigToken = new InjectionToken<BrnSelectConfig<unknown>>('BrnSelectConfig');\n\nexport function provideBrnSelectConfig<T>(config: Partial<BrnSelectConfig<T>>): ValueProvider {\n\treturn { provide: BrnSelectConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectBrnSelectConfig<T>(): BrnSelectConfig<T> {\n\tconst injectedConfig = inject(BrnSelectConfigToken, { optional: true });\n\treturn injectedConfig ? (injectedConfig as BrnSelectConfig<T>) : getDefaultConfig();\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tafterNextRender,\n\tbooleanAttribute,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\teffect,\n\tforwardRef,\n\tinject,\n\tInjector,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { BrnSelectItem } from './brn-select-item';\nimport { BrnSelectItemToken } from './brn-select-item.token';\nimport type { BrnSelectTrigger } from './brn-select-trigger';\nimport {\n\ttype BrnSelectBase,\n\tinjectBrnSelectConfig,\n\tprovideBrnSelectBase,\n\ttype SelectItemEqualToValue,\n\ttype SelectItemToString,\n} from './brn-select.token';\n\nexport const BRN_SELECT_VALUE_ACCESSOR = {\n\tprovide: NG_VALUE_ACCESSOR,\n\tuseExisting: forwardRef(() => BrnSelect),\n\tmulti: true,\n};\n\n@Directive({\n\tselector: '[brnSelect]',\n\tproviders: [provideBrnSelectBase(BrnSelect), BRN_SELECT_VALUE_ACCESSOR, provideBrnLabelable(BrnSelect)],\n\thostDirectives: [BrnFieldControl],\n})\nexport class BrnSelect<T> implements BrnSelectBase<T>, ControlValueAccessor {\n\tprivate readonly _injector = inject(Injector);\n\tprivate readonly _fieldControl = inject(BrnFieldControl, { optional: true });\n\n\tprivate readonly _config = injectBrnSelectConfig<T>();\n\n\tpublic readonly controlState = this._fieldControl?.controlState;\n\n\t/** Access the popover if present */\n\tprivate readonly _brnPopover = inject(BrnPopover, { optional: true });\n\n\t/** Whether the select is disabled */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\tprotected readonly _disabled = linkedSignal(this.disabled);\n\n\t/** @internal The disabled state as a readonly signal */\n\tpublic readonly disabledState = this._disabled.asReadonly();\n\n\t/** The selected value of the select. */\n\tpublic readonly value = model<T | null>(null);\n\n\tpublic readonly hasValue = computed(() => this.value() !== null);\n\n\t/** A function to compare an item with the selected value. */\n\tpublic readonly isItemEqualToValue = input<SelectItemEqualToValue<T>>(this._config.isItemEqualToValue);\n\n\t/** A function to convert an item to a string for display. */\n\tpublic readonly itemToString = input<SelectItemToString<T> | undefined>(this._config.itemToString);\n\n\tprivate readonly _triggerWidth = signal<number | null>(null);\n\n\t/** @internal The width of the trigger wrapper */\n\tpublic readonly triggerWidth = this._triggerWidth.asReadonly();\n\n\t/** @internal Access all the items within the select */\n\tpublic readonly items = contentChildren<BrnSelectItem<T>>(BrnSelectItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal The key manager for managing active descendant */\n\tpublic readonly keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n\n\t/** @internal Whether the select is expanded */\n\tpublic readonly isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open');\n\n\tprivate readonly _selectTrigger = signal<BrnSelectTrigger | undefined>(undefined);\n\n\tpublic readonly labelableId = computed(() => this._selectTrigger()?.id());\n\n\tprotected _onChange?: ChangeFn<T | null>;\n\tprotected _onTouched?: TouchFn;\n\n\tconstructor() {\n\t\tthis.keyManager\n\t\t\t.withVerticalOrientation()\n\t\t\t.withHomeAndEnd()\n\t\t\t.withTypeAhead()\n\t\t\t.withWrap()\n\t\t\t.skipPredicate((item) => item.disabled);\n\n\t\tthis._brnPopover?.closed.subscribe(() => {\n\t\t\tthis._onTouched?.();\n\t\t\tthis.keyManager.setActiveItem(-1);\n\t\t});\n\n\t\tafterNextRender(() => {\n\t\t\teffect(\n\t\t\t\t() => {\n\t\t\t\t\tif (!this.isExpanded()) return;\n\n\t\t\t\t\tconst items = this.items();\n\t\t\t\t\tconst value = this.value();\n\n\t\t\t\t\tuntracked(() => {\n\t\t\t\t\t\tconst index =\n\t\t\t\t\t\t\tvalue !== null ? items.findIndex((item) => this.isItemEqualToValue()(item.value(), value)) : -1;\n\n\t\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\t\tthis.keyManager.setActiveItem(index);\n\t\t\t\t\t\t} else if (items.length > 0) {\n\t\t\t\t\t\t\tthis.keyManager.setFirstItemActive();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.keyManager.setActiveItem(-1);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t{ injector: this._injector },\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic registerSelectTrigger(input: BrnSelectTrigger): void {\n\t\treturn this._selectTrigger.set(input);\n\t}\n\n\tpublic updateTriggerWidth(width: number | null): void {\n\t\tthis._triggerWidth.set(width);\n\t}\n\n\tpublic isSelected(itemValue: T): boolean {\n\t\treturn this.isItemEqualToValue()(itemValue, this.value());\n\t}\n\n\tpublic select(itemValue: T): void {\n\t\tthis.value.set(itemValue);\n\t\tthis._onChange?.(itemValue);\n\t\tthis.close();\n\t}\n\n\t/** Select the active item with Enter key. */\n\tpublic selectActiveItem(): void {\n\t\tif (!this.isExpanded()) return;\n\n\t\tconst value = this.keyManager.activeItem?.value();\n\n\t\tif (value) {\n\t\t\tthis.select(value);\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tpublic open(): void {\n\t\tif (this._disabled() || this.isExpanded()) return;\n\n\t\tthis._brnPopover?.open();\n\t}\n\n\tprivate close(): void {\n\t\tif (this._disabled() || !this.isExpanded()) return;\n\n\t\tthis._brnPopover?.close();\n\t}\n\n\t/** CONTROL VALUE ACCESSOR */\n\tpublic writeValue(value: T | null): void {\n\t\tthis.value.set(value);\n\t}\n\n\tpublic registerOnChange(fn: ChangeFn<T | null>): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tpublic registerOnTouched(fn: TouchFn): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tpublic setDisabledState(isDisabled: boolean): void {\n\t\tthis._disabled.set(isDisabled);\n\t}\n}\n","import { afterNextRender, Directive, ElementRef, inject, signal } from '@angular/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n// We use 8px and 15ms to create a smooth scrolling effect.\n// 15ms is slightly faster than 60fps (16.6ms), ensuring a smooth animation loop.\nconst SCROLLBY_PIXEL = 8;\n\n@Directive({\n\tselector: '[brnSelectContent]',\n\thost: {\n\t\t'[style.--brn-select-width.px]': '_selectWidth()',\n\t\t'(scroll)': 'handleScroll()',\n\t},\n})\nexport class BrnSelectContent {\n\tprivate readonly _select = injectBrnSelectBase();\n\n\tprotected readonly _selectWidth = this._select.triggerWidth;\n\n\tprivate readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n\tprivate readonly _scrollUp = signal(false);\n\n\tpublic readonly showScrollUp = this._scrollUp.asReadonly();\n\n\tprivate readonly _scrollDown = signal(false);\n\n\tpublic readonly showScrollDown = this._scrollDown.asReadonly();\n\n\tconstructor() {\n\t\tafterNextRender(() => {\n\t\t\tthis._checkScroll();\n\t\t});\n\t}\n\n\tpublic handleScroll() {\n\t\tthis._checkScroll();\n\t}\n\n\tprivate _checkScroll() {\n\t\tconst { scrollTop, scrollHeight, clientHeight } = this._elementRef.nativeElement;\n\n\t\tthis._scrollUp.set(scrollTop > 0);\n\n\t\tconst maxScroll = scrollHeight - clientHeight;\n\t\tthis._scrollDown.set(Math.ceil(scrollTop) < maxScroll);\n\t}\n\n\tpublic scrollDown(stop: () => void) {\n\t\tthis._elementRef.nativeElement.scrollBy({\n\t\t\ttop: SCROLLBY_PIXEL,\n\t\t\tbehavior: 'auto',\n\t\t});\n\n\t\tconst { scrollTop, scrollHeight, clientHeight } = this._elementRef.nativeElement;\n\t\tconst maxScroll = scrollHeight - clientHeight;\n\n\t\tif (Math.ceil(scrollTop) >= maxScroll) {\n\t\t\tstop();\n\t\t}\n\t}\n\n\tpublic scrollUp(stop: () => void) {\n\t\tthis._elementRef.nativeElement.scrollBy({\n\t\t\ttop: -SCROLLBY_PIXEL,\n\t\t\tbehavior: 'auto',\n\t\t});\n\n\t\tif (this._elementRef.nativeElement.scrollTop === 0) {\n\t\t\tstop();\n\t\t}\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectLabel]',\n\thost: {\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnSelectLabel {\n\tprivate static _id = 0;\n\n\tpublic readonly id = input<string>(`brn-select-label-${++BrnSelectLabel._id}`);\n}\n","import { computed, contentChild, Directive } from '@angular/core';\nimport { BrnSelectLabel } from './brn-select-label';\n\n@Directive({\n\tselector: '[brnSelectGroup]',\n\thost: {\n\t\trole: 'group',\n\t\t'[attr.aria-labelledby]': '_labelledby()',\n\t},\n})\nexport class BrnSelectGroup {\n\tprivate readonly _selectLabel = contentChild(BrnSelectLabel);\n\n\tprotected readonly _labelledby = computed(() => this._selectLabel()?.id() ?? null);\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, computed, Directive, ElementRef, inject, input, PLATFORM_ID, signal } from '@angular/core';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { provideBrnSelectItem } from './brn-select-item.token';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectItem]',\n\tproviders: [provideBrnSelectItem(BrnSelectItem)],\n\thost: {\n\t\trole: 'option',\n\t\t'[id]': 'id()',\n\t\t'[attr.data-highlighted]': '_highlighted() ? \"\" : null',\n\t\t'[attr.data-value]': 'value()',\n\t\t'[attr.aria-selected]': 'active()',\n\t\t'[attr.aria-disabled]': '_disabled()',\n\t\t'[attr.data-disabled]': '_disabled() ? \"\" : null',\n\t\t'(click)': 'select()',\n\t\t'(mouseenter)': 'activate()',\n\t},\n})\nexport class BrnSelectItem<T> implements Highlightable {\n\tprivate static _id = 0;\n\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t/** Access the select component */\n\tprivate readonly _select = injectBrnSelectBase<T>();\n\n\t/** A unique id for the item */\n\tpublic readonly id = input<string>(`brn-select-item-${++BrnSelectItem._id}`);\n\n\t/** The value this item represents. */\n\tpublic readonly value = input.required<T>();\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tpublic readonly _disabled = input<boolean, BooleanInput>(false, {\n\t\talias: 'disabled',\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Expose disabled as a value - used by the Highlightable interface */\n\tpublic get disabled() {\n\t\treturn this._disabled();\n\t}\n\n\t/** Whether the item is selected. */\n\tpublic readonly active = computed(() => this._select.isSelected(this.value()));\n\n\tprotected readonly _highlighted = signal(false);\n\n\tpublic setActiveStyles(): void {\n\t\tthis._highlighted.set(true);\n\n\t\t// ensure the item is in view\n\t\tif (isPlatformBrowser(this._platform)) {\n\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n\n\tpublic setInactiveStyles(): void {\n\t\tthis._highlighted.set(false);\n\t}\n\n\tpublic getLabel(): string {\n\t\treturn stringifyAsLabel(this.value(), this._select.itemToString());\n\t}\n\n\tprotected select(): void {\n\t\tif (this._disabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._select.keyManager.setActiveItem(this);\n\t\tthis._select.select(this.value());\n\t}\n\n\tprotected activate(): void {\n\t\tif (this._disabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._select.keyManager.setActiveItem(this);\n\t}\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectList]',\n\thost: {\n\t\trole: 'listbox',\n\t},\n})\nexport class BrnSelectList {}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tafterNextRender,\n\tbooleanAttribute,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\teffect,\n\tforwardRef,\n\tinject,\n\tInjector,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport type { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { BrnSelectItem } from './brn-select-item';\nimport { BrnSelectItemToken } from './brn-select-item.token';\nimport { BrnSelectTrigger } from './brn-select-trigger';\nimport {\n\tBrnSelectBase,\n\tinjectBrnSelectConfig,\n\tprovideBrnSelectBase,\n\tSelectItemEqualToValue,\n\tSelectItemToString,\n} from './brn-select.token';\n\nexport const BRN_SELECT_MULTIPLE_VALUE_ACCESSOR = {\n\tprovide: NG_VALUE_ACCESSOR,\n\tuseExisting: forwardRef(() => BrnSelectMultiple),\n\tmulti: true,\n};\n\n@Directive({\n\tselector: '[brnSelectMultiple]',\n\tproviders: [\n\t\tprovideBrnSelectBase(BrnSelectMultiple),\n\t\tBRN_SELECT_MULTIPLE_VALUE_ACCESSOR,\n\t\tprovideBrnLabelable(BrnSelectMultiple),\n\t],\n\thostDirectives: [BrnFieldControl],\n})\nexport class BrnSelectMultiple<T> implements BrnSelectBase<T>, ControlValueAccessor {\n\tprivate readonly _injector = inject(Injector);\n\tprivate readonly _fieldControl = inject(BrnFieldControl, { optional: true });\n\n\tprivate readonly _config = injectBrnSelectConfig<T>();\n\n\tpublic readonly controlState = this._fieldControl?.controlState;\n\n\t/** Access the popover if present */\n\tprivate readonly _brnPopover = inject(BrnPopover, { optional: true });\n\n\t/** Whether the combobox is disabled */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\tprotected readonly _disabled = linkedSignal(this.disabled);\n\n\t/** @internal The disabled state as a readonly signal */\n\tpublic readonly disabledState = this._disabled.asReadonly();\n\n\t/** The selected value of the select. */\n\tpublic readonly value = model<T[] | null>(null);\n\n\tpublic readonly hasValue = computed(() => {\n\t\tconst value = this.value();\n\t\tif (value == null) return false;\n\t\treturn value.length > 0;\n\t});\n\n\t/** A function to compare an item with the selected value. */\n\tpublic readonly isItemEqualToValue = input<SelectItemEqualToValue<T>>(this._config.isItemEqualToValue);\n\n\t/** A function to convert an item to a string for display. */\n\tpublic readonly itemToString = input<SelectItemToString<T> | undefined>(this._config.itemToString);\n\n\tprivate readonly _triggerWidth = signal<number | null>(null);\n\n\t/** @internal The width of the trigger wrapper */\n\tpublic readonly triggerWidth = this._triggerWidth.asReadonly();\n\n\t/** @internal Access all the items within the select */\n\tpublic readonly items = contentChildren<BrnSelectItem<T>>(BrnSelectItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal The key manager for managing active descendant */\n\tpublic readonly keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n\n\t/** @internal Whether the select is expanded */\n\tpublic readonly isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open');\n\n\tprivate readonly _selectTrigger = signal<BrnSelectTrigger | undefined>(undefined);\n\n\tpublic readonly labelableId = computed(() => this._selectTrigger()?.id());\n\n\tprotected _onChange?: ChangeFn<T[] | null>;\n\tprotected _onTouched?: TouchFn;\n\n\tconstructor() {\n\t\tthis.keyManager\n\t\t\t.withVerticalOrientation()\n\t\t\t.withHomeAndEnd()\n\t\t\t.withTypeAhead()\n\t\t\t.withWrap()\n\t\t\t.skipPredicate((item) => item.disabled);\n\n\t\tthis._brnPopover?.closed.subscribe(() => {\n\t\t\tthis._onTouched?.();\n\t\t\tthis.keyManager.setActiveItem(-1);\n\t\t});\n\n\t\tafterNextRender(() => {\n\t\t\teffect(\n\t\t\t\t() => {\n\t\t\t\t\tif (!this.isExpanded()) return;\n\n\t\t\t\t\tconst items = this.items();\n\t\t\t\t\tconst values = this.value();\n\t\t\t\t\tconst lastValue = values ? values[values.length - 1] : null;\n\n\t\t\t\t\tuntracked(() => {\n\t\t\t\t\t\tconst index =\n\t\t\t\t\t\t\tlastValue !== null ? items.findIndex((item) => this.isItemEqualToValue()(item.value(), lastValue)) : -1;\n\n\t\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\t\tthis.keyManager.setActiveItem(index);\n\t\t\t\t\t\t} else if (items.length > 0) {\n\t\t\t\t\t\t\tthis.keyManager.setFirstItemActive();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.keyManager.setActiveItem(-1);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t{ injector: this._injector },\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic registerSelectTrigger(input: BrnSelectTrigger): void {\n\t\treturn this._selectTrigger.set(input);\n\t}\n\n\tpublic updateTriggerWidth(width: number | null): void {\n\t\tthis._triggerWidth.set(width);\n\t}\n\n\tpublic isSelected(itemValue: T): boolean {\n\t\treturn this.value()?.some((v) => this.isItemEqualToValue()(itemValue, v)) ?? false;\n\t}\n\n\tpublic select(itemValue: T): void {\n\t\tconst selected = this.value() ?? [];\n\n\t\tif (this.isSelected(itemValue)) {\n\t\t\tthis.value.set(selected.filter((d) => !this.isItemEqualToValue()(d, itemValue)) ?? []);\n\t\t} else {\n\t\t\tthis.value.set([...selected, itemValue]);\n\t\t}\n\n\t\tthis._onChange?.(this.value() ?? []);\n\t}\n\n\t/** Select the active item with Enter key. */\n\tpublic selectActiveItem(): void {\n\t\tif (!this.isExpanded()) return;\n\n\t\tconst value = this.keyManager.activeItem?.value();\n\n\t\tif (value) {\n\t\t\tthis.select(value);\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tpublic open(): void {\n\t\tif (this._disabled() || this.isExpanded()) return;\n\n\t\tthis._brnPopover?.open();\n\t}\n\n\tprivate close(): void {\n\t\tif (this._disabled() || !this.isExpanded()) return;\n\n\t\tthis._brnPopover?.close();\n\t}\n\n\t/** CONTROL VALUE ACCESSOR */\n\tpublic writeValue(value: T[] | null): void {\n\t\tthis.value.set(value);\n\t}\n\n\tpublic registerOnChange(fn: ChangeFn<T[] | null>): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tpublic registerOnTouched(fn: TouchFn): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tpublic setDisabledState(isDisabled: boolean): void {\n\t\tthis._disabled.set(isDisabled);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectPlaceholder]',\n\thost: {\n\t\t'[attr.data-hidden]': '_hasValue() ? \"\" : null',\n\t},\n})\nexport class BrnSelectPlaceholder {\n\tprivate readonly _select = injectBrnSelectBase();\n\n\tprotected readonly _hasValue = this._select.hasValue;\n}\n","import { DestroyRef, Directive, ElementRef, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, interval, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BrnSelectContent } from './brn-select-content';\n\n@Directive({\n\tselector: '[brnSelectScrollDown]',\n\thost: {\n\t\t'aria-hidden': 'true',\n\t\t'[attr.data-hidden]': '!_showScrollDown() ? \"\" : null',\n\t\t'(mouseenter)': '_scrollDown()',\n\t},\n})\nexport class BrnSelectScrollDown {\n\tprivate readonly _el = inject(ElementRef);\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _selectContent = inject(BrnSelectContent);\n\n\tprotected readonly _showScrollDown = this._selectContent.showScrollDown;\n\n\tprivate readonly _endReached = new Subject<boolean>();\n\n\tprotected _scrollDown() {\n\t\tconst mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');\n\n\t\t// 15ms is slightly faster than 60fps (16.6ms), ensuring a smooth animation loop.\n\t\tinterval(15)\n\t\t\t.pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))\n\t\t\t.subscribe(() => this._selectContent.scrollDown(() => this._endReached.next(true)));\n\t}\n}\n","import { DestroyRef, Directive, ElementRef, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, interval, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BrnSelectContent } from './brn-select-content';\n\n@Directive({\n\tselector: '[brnSelectScrollUp]',\n\thost: {\n\t\t'aria-hidden': 'true',\n\t\t'[attr.data-hidden]': '!_showScrollUp() ? \"\" : null',\n\t\t'(mouseenter)': '_scrollUp()',\n\t},\n})\nexport class BrnSelectScrollUp {\n\tprivate readonly _el = inject(ElementRef);\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _selectContent = inject(BrnSelectContent);\n\n\tprotected readonly _showScrollUp = this._selectContent.showScrollUp;\n\n\tprivate readonly _endReached = new Subject<boolean>();\n\n\tprotected _scrollUp() {\n\t\tconst mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');\n\n\t\t// 15ms is slightly faster than 60fps (16.6ms), ensuring a smooth animation loop.\n\t\tinterval(15)\n\t\t\t.pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))\n\t\t\t.subscribe(() => this._selectContent.scrollUp(() => this._endReached.next(true)));\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectSeparator]',\n\thost: {\n\t\trole: 'separator',\n\t\t'[attr.aria-orientation]': 'orientation()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n})\nexport class BrnSelectSeparator {\n\tpublic readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { injectElementSize } from '@spartan-ng/brain/core';\nimport { BrnDialog } from '@spartan-ng/brain/dialog';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: 'button[brnSelectTrigger]',\n\thost: {\n\t\trole: 'combobox',\n\t\t'aria-haspopup': 'listbox',\n\t\ttype: 'button',\n\t\t'[id]': 'id()',\n\t\t'[attr.aria-expanded]': '_isExpanded()',\n\t\t'[attr.data-placeholder]': '_isPlaceholder() ? \"\" : null',\n\t\t'[disabled]': '_disabled()',\n\t\t'[attr.aria-invalid]': '_invalid?.() ? \"true\" : null',\n\t\t'[attr.data-dirty]': '_dirty?.() ? \"true\": null',\n\t\t'[attr.data-touched]': '_touched?.() ? \"true\" : null',\n\t\t'[attr.data-matches-spartan-invalid]': '_spartanInvalid?.() ? \"true\" : null',\n\t\t'(click)': 'open()',\n\t\t'(keydown)': 'onKeyDown($event)',\n\t},\n})\nexport class BrnSelectTrigger {\n\tprivate static _id = 0;\n\n\tprivate readonly _host = inject(ElementRef, { host: true });\n\tprivate readonly _brnDialog = inject(BrnDialog, { optional: true });\n\n\tprivate readonly _select = injectBrnSelectBase();\n\n\tprivate readonly _elementSize = injectElementSize();\n\n\tpublic readonly id = input<string>(`brn-select-trigger-${++BrnSelectTrigger._id}`);\n\n\t/** Whether to force the trigger into an invalid state. */\n\tpublic readonly forceInvalid = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\t/** Whether the combobox panel is expanded */\n\tprotected readonly _isExpanded = this._select.isExpanded;\n\n\tprotected readonly _disabled = this._select.disabledState;\n\n\tprotected readonly _isPlaceholder = computed(() => !this._select.hasValue());\n\n\tprotected readonly _invalid = computed(() => this._select?.controlState?.()?.invalid);\n\tprotected readonly _touched = computed(() => this._select?.controlState?.()?.touched);\n\tprotected readonly _dirty = computed(() => this._select?.controlState?.()?.dirty);\n\tprotected readonly _spartanInvalid = computed(\n\t\t() => this.forceInvalid() || this._select?.controlState?.()?.spartanInvalid,\n\t);\n\n\tconstructor() {\n\t\tthis._select.registerSelectTrigger(this);\n\n\t\tif (this._brnDialog) {\n\t\t\tthis._brnDialog.mutableAttachTo.set(this._host.nativeElement);\n\t\t}\n\n\t\teffect(() => {\n\t\t\tconst size = this._elementSize();\n\t\t\tif (size) {\n\t\t\t\tthis._select.updateTriggerWidth(size.width);\n\t\t\t\tthis._brnDialog?.updatePosition();\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected open() {\n\t\tthis._brnDialog?.open();\n\t}\n\n\t/** Listen for keydown events */\n\tprotected onKeyDown(event: KeyboardEvent): void {\n\t\tif (event.key === 'Enter') {\n\t\t\t// prevent form submission if inside a form\n\t\t\tevent.preventDefault();\n\n\t\t\tthis._select.selectActiveItem();\n\t\t}\n\n\t\tif (event.key === 'Tab' && this._isExpanded()) {\n\t\t\tthis._select.selectActiveItem();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isExpanded()) {\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tthis._select.selectActiveItem();\n\t\t\t}\n\t\t} else {\n\t\t\tif (event.key === 'Enter' || event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n\t\t\t\tthis._select.open();\n\t\t\t}\n\t\t}\n\n\t\tthis._select.keyManager.onKeydown(event);\n\t}\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectValue]',\n\thost: {\n\t\t'[attr.data-placeholder]': '_isPlaceholder() ? \"\" : null',\n\t\t'[attr.data-hidden]': 'hidden() ? \"\" : null',\n\t\t'[textContent]': '_value()',\n\t},\n})\nexport class BrnSelectValue<T> {\n\tprivate readonly _select = injectBrnSelectBase<T>();\n\n\tpublic readonly placeholder = input<string>('');\n\n\tprotected readonly _isPlaceholder = computed(() => !this._select.hasValue());\n\n\tpublic readonly hidden = computed(() => !this._select.hasValue() && !this.placeholder());\n\n\tprotected readonly _value = computed(() => {\n\t\treturn this._select.hasValue()\n\t\t\t? stringifyAsLabel(this._select.value(), this._select.itemToString())\n\t\t\t: this.placeholder();\n\t});\n}\n","import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectValueTemplate]',\n})\nexport class BrnSelectValueTemplate<T> {\n\tprivate readonly _templateRef = inject(TemplateRef);\n\tprivate readonly _viewContainerRef = inject(ViewContainerRef);\n\n\tprivate readonly _select = injectBrnSelectBase<T>();\n\n\tprotected readonly _value = computed<T | null>(() => {\n\t\tconst value = this._select.value();\n\n\t\tif (value === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn value as T;\n\t});\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst value = this._value();\n\t\t\tif (value !== null) {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t\tthis._viewContainerRef.createEmbeddedView(this._templateRef, {\n\t\t\t\t\t$implicit: value,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t}\n\t\t});\n\t}\n}\n","import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectValues]',\n})\nexport class BrnSelectValues<T> {\n\tprivate readonly _templateRef = inject(TemplateRef<T>);\n\tprivate readonly _viewContainerRef = inject(ViewContainerRef);\n\n\tprivate readonly _select = injectBrnSelectBase<T>();\n\n\tprotected readonly _values = computed<T[] | null>(() => {\n\t\tconst values = this._select.value();\n\n\t\tif (values === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Array.isArray(values) ? values : [values];\n\t});\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst values = this._values();\n\t\t\tif (values?.length) {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t\tthis._viewContainerRef.createEmbeddedView(this._templateRef, {\n\t\t\t\t\t$implicit: values,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t}\n\t\t});\n\t}\n}\n","import { BrnSelect } from './lib/brn-select';\nimport { BrnSelectContent } from './lib/brn-select-content';\nimport { BrnSelectGroup } from './lib/brn-select-group';\nimport { BrnSelectItem } from './lib/brn-select-item';\nimport { BrnSelectLabel } from './lib/brn-select-label';\nimport { BrnSelectList } from './lib/brn-select-list';\nimport { BrnSelectMultiple } from './lib/brn-select-multiple';\nimport { BrnSelectPlaceholder } from './lib/brn-select-placeholder';\nimport { BrnSelectScrollDown } from './lib/brn-select-scroll-down';\nimport { BrnSelectScrollUp } from './lib/brn-select-scroll-up';\nimport { BrnSelectSeparator } from './lib/brn-select-separator';\nimport { BrnSelectTrigger } from './lib/brn-select-trigger';\nimport { BrnSelectValue } from './lib/brn-select-value';\nimport { BrnSelectValueTemplate } from './lib/brn-select-value-template';\nimport { BrnSelectValues } from './lib/brn-select-values';\n\nexport * from './lib/brn-select';\nexport * from './lib/brn-select-content';\nexport * from './lib/brn-select-group';\nexport * from './lib/brn-select-item';\nexport * from './lib/brn-select-item.token';\nexport * from './lib/brn-select-label';\nexport * from './lib/brn-select-list';\nexport * from './lib/brn-select-multiple';\nexport * from './lib/brn-select-placeholder';\nexport * from './lib/brn-select-scroll-down';\nexport * from './lib/brn-select-scroll-up';\nexport * from './lib/brn-select-separator';\nexport * from './lib/brn-select-trigger';\nexport * from './lib/brn-select-value';\nexport * from './lib/brn-select-value-template';\nexport * from './lib/brn-select-values';\nexport * from './lib/brn-select.token';\n\nexport const BrnSelectImports = [\n\tBrnSelect,\n\tBrnSelectContent,\n\tBrnSelectGroup,\n\tBrnSelectItem,\n\tBrnSelectLabel,\n\tBrnSelectList,\n\tBrnSelectMultiple,\n\tBrnSelectPlaceholder,\n\tBrnSelectScrollUp,\n\tBrnSelectScrollDown,\n\tBrnSelectSeparator,\n\tBrnSelectTrigger,\n\tBrnSelectValue,\n\tBrnSelectValueTemplate,\n\tBrnSelectValues,\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-select.mjs","sources":["../../../../libs/brain/select/src/lib/brn-select-item.token.ts","../../../../libs/brain/select/src/lib/brn-select.token.ts","../../../../libs/brain/select/src/lib/brn-select.ts","../../../../libs/brain/select/src/lib/brn-select-content.ts","../../../../libs/brain/select/src/lib/brn-select-label.ts","../../../../libs/brain/select/src/lib/brn-select-group.ts","../../../../libs/brain/select/src/lib/brn-select-item.ts","../../../../libs/brain/select/src/lib/brn-select-list.ts","../../../../libs/brain/select/src/lib/brn-select-multiple.ts","../../../../libs/brain/select/src/lib/brn-select-placeholder.ts","../../../../libs/brain/select/src/lib/brn-select-scroll-down.ts","../../../../libs/brain/select/src/lib/brn-select-scroll-up.ts","../../../../libs/brain/select/src/lib/brn-select-separator.ts","../../../../libs/brain/select/src/lib/brn-select-trigger.ts","../../../../libs/brain/select/src/lib/brn-select-value.ts","../../../../libs/brain/select/src/lib/brn-select-value-template.ts","../../../../libs/brain/select/src/lib/brn-select-values.ts","../../../../libs/brain/select/src/index.ts","../../../../libs/brain/select/src/spartan-ng-brain-select.ts"],"sourcesContent":["import { type ExistingProvider, InjectionToken, type Type } from '@angular/core';\nimport type { BrnSelectItem } from './brn-select-item';\n\nexport const BrnSelectItemToken = new InjectionToken<BrnSelectItem<unknown>>('BrnSelectItemToken');\n\nexport function provideBrnSelectItem<T>(selectItem: Type<BrnSelectItem<T>>): ExistingProvider {\n\treturn { provide: BrnSelectItemToken, useExisting: selectItem };\n}\n","import type { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport {\n\ttype ExistingProvider,\n\tinject,\n\tInjectionToken,\n\ttype InputSignal,\n\ttype ModelSignal,\n\ttype Signal,\n\ttype Type,\n\ttype ValueProvider,\n} from '@angular/core';\nimport type { ControlState } from '@spartan-ng/brain/forms';\nimport type { BrnSelectItem } from './brn-select-item';\nimport type { BrnSelectTrigger } from './brn-select-trigger';\n\nexport interface BrnSelectBase<T> {\n\tdisabledState: Signal<boolean>;\n\titemToString: InputSignal<SelectItemToString<T> | undefined>;\n\tkeyManager: ActiveDescendantKeyManager<BrnSelectItem<T>>;\n\tvalue: ModelSignal<T | undefined | null> | ModelSignal<T[] | undefined | null>;\n\thasValue: Signal<boolean>;\n\tisExpanded: Signal<boolean>;\n\ttriggerWidth: Signal<number | null>;\n\tcontrolState?: Signal<ControlState | null>;\n\n\tisSelected: (itemValue: T) => boolean;\n\tselect: (itemValue: T) => void;\n\t/** Select the active item with Enter key. */\n\tselectActiveItem: () => void;\n\topen: () => void;\n\tregisterSelectTrigger: (input: BrnSelectTrigger) => void;\n\tupdateTriggerWidth: (width: number | null) => void;\n}\n\nexport const BrnSelectBaseToken = new InjectionToken<BrnSelectBase<unknown>>('BrnSelectBaseToken');\n\nexport function provideBrnSelectBase<T>(instance: Type<BrnSelectBase<T>>): ExistingProvider {\n\treturn { provide: BrnSelectBaseToken, useExisting: instance };\n}\n\n/**\n * Inject the select component.\n */\nexport function injectBrnSelectBase<T>(): BrnSelectBase<T> {\n\treturn inject(BrnSelectBaseToken) as BrnSelectBase<T>;\n}\n\nexport type SelectItemEqualToValue<T> = (itemValue: T, selectedValue: T | undefined | null) => boolean;\nexport type SelectItemToString<T> = (itemValue: T) => string;\n\nexport interface BrnSelectConfig<T> {\n\tisItemEqualToValue: SelectItemEqualToValue<T>;\n\titemToString?: SelectItemToString<T>;\n}\n\nfunction getDefaultConfig<T>(): BrnSelectConfig<T> {\n\treturn {\n\t\tisItemEqualToValue: (itemValue: T, selectedValue: T | undefined | null) => Object.is(itemValue, selectedValue),\n\t\titemToString: undefined,\n\t};\n}\n\nconst BrnSelectConfigToken = new InjectionToken<BrnSelectConfig<unknown>>('BrnSelectConfig');\n\nexport function provideBrnSelectConfig<T>(config: Partial<BrnSelectConfig<T>>): ValueProvider {\n\treturn { provide: BrnSelectConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectBrnSelectConfig<T>(): BrnSelectConfig<T> {\n\tconst injectedConfig = inject(BrnSelectConfigToken, { optional: true });\n\treturn injectedConfig ? (injectedConfig as BrnSelectConfig<T>) : getDefaultConfig();\n}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tafterNextRender,\n\tbooleanAttribute,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\teffect,\n\tforwardRef,\n\tinject,\n\tInjector,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { BrnSelectItem } from './brn-select-item';\nimport { BrnSelectItemToken } from './brn-select-item.token';\nimport type { BrnSelectTrigger } from './brn-select-trigger';\nimport {\n\ttype BrnSelectBase,\n\tinjectBrnSelectConfig,\n\tprovideBrnSelectBase,\n\ttype SelectItemEqualToValue,\n\ttype SelectItemToString,\n} from './brn-select.token';\n\nexport const BRN_SELECT_VALUE_ACCESSOR = {\n\tprovide: NG_VALUE_ACCESSOR,\n\tuseExisting: forwardRef(() => BrnSelect),\n\tmulti: true,\n};\n\n@Directive({\n\tselector: '[brnSelect]',\n\tproviders: [provideBrnSelectBase(BrnSelect), BRN_SELECT_VALUE_ACCESSOR, provideBrnLabelable(BrnSelect)],\n\thostDirectives: [BrnFieldControl],\n})\nexport class BrnSelect<T> implements BrnSelectBase<T>, ControlValueAccessor {\n\tprivate readonly _injector = inject(Injector);\n\tprivate readonly _fieldControl = inject(BrnFieldControl, { optional: true });\n\n\tprivate readonly _config = injectBrnSelectConfig<T>();\n\n\tpublic readonly controlState = this._fieldControl?.controlState;\n\n\t/** Access the popover if present */\n\tprivate readonly _brnPopover = inject(BrnPopover, { optional: true });\n\n\t/** Whether the select is disabled */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\tprotected readonly _disabled = linkedSignal(this.disabled);\n\n\t/** @internal The disabled state as a readonly signal */\n\tpublic readonly disabledState = this._disabled.asReadonly();\n\n\t/** The selected value of the select. */\n\tpublic readonly value = model<T | undefined | null>(null);\n\n\tpublic readonly hasValue = computed(() => this.value() !== null && this.value() !== undefined);\n\n\t/** A function to compare an item with the selected value. */\n\tpublic readonly isItemEqualToValue = input<SelectItemEqualToValue<T>>(this._config.isItemEqualToValue);\n\n\t/** A function to convert an item to a string for display. */\n\tpublic readonly itemToString = input<SelectItemToString<T> | undefined>(this._config.itemToString);\n\n\tprivate readonly _triggerWidth = signal<number | null>(null);\n\n\t/** @internal The width of the trigger wrapper */\n\tpublic readonly triggerWidth = this._triggerWidth.asReadonly();\n\n\t/** @internal Access all the items within the select */\n\tpublic readonly items = contentChildren<BrnSelectItem<T>>(BrnSelectItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal The key manager for managing active descendant */\n\tpublic readonly keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n\n\t/** @internal Whether the select is expanded */\n\tpublic readonly isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open');\n\n\tprivate readonly _selectTrigger = signal<BrnSelectTrigger | undefined>(undefined);\n\n\tpublic readonly labelableId = computed(() => this._selectTrigger()?.id());\n\n\tprotected _onChange?: ChangeFn<T | undefined | null>;\n\tprotected _onTouched?: TouchFn;\n\n\tconstructor() {\n\t\tthis.keyManager\n\t\t\t.withVerticalOrientation()\n\t\t\t.withHomeAndEnd()\n\t\t\t.withTypeAhead()\n\t\t\t.withWrap()\n\t\t\t.skipPredicate((item) => item.disabled);\n\n\t\tthis._brnPopover?.closed.subscribe(() => {\n\t\t\tthis._onTouched?.();\n\t\t\tthis.keyManager.setActiveItem(-1);\n\t\t});\n\n\t\tafterNextRender(() => {\n\t\t\teffect(\n\t\t\t\t() => {\n\t\t\t\t\tif (!this.isExpanded()) return;\n\n\t\t\t\t\tconst items = this.items();\n\t\t\t\t\tconst value = this.value();\n\n\t\t\t\t\tuntracked(() => {\n\t\t\t\t\t\tconst index =\n\t\t\t\t\t\t\tvalue !== null && value !== undefined\n\t\t\t\t\t\t\t\t? items.findIndex((item) => this.isItemEqualToValue()(item.value(), value))\n\t\t\t\t\t\t\t\t: -1;\n\n\t\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\t\tthis.keyManager.setActiveItem(index);\n\t\t\t\t\t\t} else if (items.length > 0) {\n\t\t\t\t\t\t\tthis.keyManager.setFirstItemActive();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.keyManager.setActiveItem(-1);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t{ injector: this._injector },\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic registerSelectTrigger(input: BrnSelectTrigger): void {\n\t\treturn this._selectTrigger.set(input);\n\t}\n\n\tpublic updateTriggerWidth(width: number | null): void {\n\t\tthis._triggerWidth.set(width);\n\t}\n\n\tpublic isSelected(itemValue: T): boolean {\n\t\treturn this.isItemEqualToValue()(itemValue, this.value());\n\t}\n\n\tpublic select(itemValue: T): void {\n\t\tthis.value.set(itemValue);\n\t\tthis._onChange?.(itemValue);\n\t\tthis.close();\n\t}\n\n\t/** Select the active item with Enter key. */\n\tpublic selectActiveItem(): void {\n\t\tif (!this.isExpanded()) return;\n\n\t\tconst value = this.keyManager.activeItem?.value();\n\n\t\tif (value) {\n\t\t\tthis.select(value);\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tpublic open(): void {\n\t\tif (this._disabled() || this.isExpanded()) return;\n\n\t\tthis._brnPopover?.open();\n\t}\n\n\tprivate close(): void {\n\t\tif (this._disabled() || !this.isExpanded()) return;\n\n\t\tthis._brnPopover?.close();\n\t}\n\n\t/** CONTROL VALUE ACCESSOR */\n\tpublic writeValue(value: T | undefined | null): void {\n\t\tthis.value.set(value);\n\t}\n\n\tpublic registerOnChange(fn: ChangeFn<T | undefined | null>): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tpublic registerOnTouched(fn: TouchFn): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tpublic setDisabledState(isDisabled: boolean): void {\n\t\tthis._disabled.set(isDisabled);\n\t}\n}\n","import { afterNextRender, Directive, ElementRef, inject, signal } from '@angular/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n// We use 8px and 15ms to create a smooth scrolling effect.\n// 15ms is slightly faster than 60fps (16.6ms), ensuring a smooth animation loop.\nconst SCROLLBY_PIXEL = 8;\n\n@Directive({\n\tselector: '[brnSelectContent]',\n\thost: {\n\t\t'[style.--brn-select-width.px]': '_selectWidth()',\n\t\t'(scroll)': 'handleScroll()',\n\t},\n})\nexport class BrnSelectContent {\n\tprivate readonly _select = injectBrnSelectBase();\n\n\tprotected readonly _selectWidth = this._select.triggerWidth;\n\n\tprivate readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n\tprivate readonly _scrollUp = signal(false);\n\n\tpublic readonly showScrollUp = this._scrollUp.asReadonly();\n\n\tprivate readonly _scrollDown = signal(false);\n\n\tpublic readonly showScrollDown = this._scrollDown.asReadonly();\n\n\tconstructor() {\n\t\tafterNextRender(() => {\n\t\t\tthis._checkScroll();\n\t\t});\n\t}\n\n\tpublic handleScroll() {\n\t\tthis._checkScroll();\n\t}\n\n\tprivate _checkScroll() {\n\t\tconst { scrollTop, scrollHeight, clientHeight } = this._elementRef.nativeElement;\n\n\t\tthis._scrollUp.set(scrollTop > 0);\n\n\t\tconst maxScroll = scrollHeight - clientHeight;\n\t\tthis._scrollDown.set(Math.ceil(scrollTop) < maxScroll);\n\t}\n\n\tpublic scrollDown(stop: () => void) {\n\t\tthis._elementRef.nativeElement.scrollBy({\n\t\t\ttop: SCROLLBY_PIXEL,\n\t\t\tbehavior: 'auto',\n\t\t});\n\n\t\tconst { scrollTop, scrollHeight, clientHeight } = this._elementRef.nativeElement;\n\t\tconst maxScroll = scrollHeight - clientHeight;\n\n\t\tif (Math.ceil(scrollTop) >= maxScroll) {\n\t\t\tstop();\n\t\t}\n\t}\n\n\tpublic scrollUp(stop: () => void) {\n\t\tthis._elementRef.nativeElement.scrollBy({\n\t\t\ttop: -SCROLLBY_PIXEL,\n\t\t\tbehavior: 'auto',\n\t\t});\n\n\t\tif (this._elementRef.nativeElement.scrollTop === 0) {\n\t\t\tstop();\n\t\t}\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectLabel]',\n\thost: {\n\t\t'[id]': 'id()',\n\t},\n})\nexport class BrnSelectLabel {\n\tprivate static _id = 0;\n\n\tpublic readonly id = input<string>(`brn-select-label-${++BrnSelectLabel._id}`);\n}\n","import { computed, contentChild, Directive } from '@angular/core';\nimport { BrnSelectLabel } from './brn-select-label';\n\n@Directive({\n\tselector: '[brnSelectGroup]',\n\thost: {\n\t\trole: 'group',\n\t\t'[attr.aria-labelledby]': '_labelledby()',\n\t},\n})\nexport class BrnSelectGroup {\n\tprivate readonly _selectLabel = contentChild(BrnSelectLabel);\n\n\tprotected readonly _labelledby = computed(() => this._selectLabel()?.id() ?? null);\n}\n","import { Highlightable } from '@angular/cdk/a11y';\nimport { BooleanInput } from '@angular/cdk/coercion';\nimport { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, computed, Directive, ElementRef, inject, input, PLATFORM_ID, signal } from '@angular/core';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { provideBrnSelectItem } from './brn-select-item.token';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectItem]',\n\tproviders: [provideBrnSelectItem(BrnSelectItem)],\n\thost: {\n\t\trole: 'option',\n\t\t'[id]': 'id()',\n\t\t'[attr.data-highlighted]': '_highlighted() ? \"\" : null',\n\t\t'[attr.data-value]': 'value()',\n\t\t'[attr.aria-selected]': 'active()',\n\t\t'[attr.aria-disabled]': '_disabled()',\n\t\t'[attr.data-disabled]': '_disabled() ? \"\" : null',\n\t\t'(click)': 'select()',\n\t\t'(mouseenter)': 'activate()',\n\t},\n})\nexport class BrnSelectItem<T> implements Highlightable {\n\tprivate static _id = 0;\n\n\tprivate readonly _platform = inject(PLATFORM_ID);\n\n\tprivate readonly _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n\n\t/** Access the select component */\n\tprivate readonly _select = injectBrnSelectBase<T>();\n\n\t/** A unique id for the item */\n\tpublic readonly id = input<string>(`brn-select-item-${++BrnSelectItem._id}`);\n\n\t/** The value this item represents. */\n\tpublic readonly value = input.required<T>();\n\t// eslint-disable-next-line @typescript-eslint/naming-convention\n\tpublic readonly _disabled = input<boolean, BooleanInput>(false, {\n\t\talias: 'disabled',\n\t\ttransform: booleanAttribute,\n\t});\n\n\t/** Expose disabled as a value - used by the Highlightable interface */\n\tpublic get disabled() {\n\t\treturn this._disabled();\n\t}\n\n\t/** Whether the item is selected. */\n\tpublic readonly active = computed(() => this._select.isSelected(this.value()));\n\n\tprotected readonly _highlighted = signal(false);\n\n\tpublic setActiveStyles(): void {\n\t\tthis._highlighted.set(true);\n\n\t\t// ensure the item is in view\n\t\tif (isPlatformBrowser(this._platform)) {\n\t\t\tthis._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });\n\t\t}\n\t}\n\n\tpublic setInactiveStyles(): void {\n\t\tthis._highlighted.set(false);\n\t}\n\n\tpublic getLabel(): string {\n\t\treturn stringifyAsLabel(this.value(), this._select.itemToString());\n\t}\n\n\tprotected select(): void {\n\t\tif (this._disabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._select.keyManager.setActiveItem(this);\n\t\tthis._select.select(this.value());\n\t}\n\n\tprotected activate(): void {\n\t\tif (this._disabled()) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis._select.keyManager.setActiveItem(this);\n\t}\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectList]',\n\thost: {\n\t\trole: 'listbox',\n\t},\n})\nexport class BrnSelectList {}\n","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n\tafterNextRender,\n\tbooleanAttribute,\n\tcomputed,\n\tcontentChildren,\n\tDirective,\n\teffect,\n\tforwardRef,\n\tinject,\n\tInjector,\n\tinput,\n\tlinkedSignal,\n\tmodel,\n\tsignal,\n\tuntracked,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport type { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { BrnSelectItem } from './brn-select-item';\nimport { BrnSelectItemToken } from './brn-select-item.token';\nimport { BrnSelectTrigger } from './brn-select-trigger';\nimport {\n\tBrnSelectBase,\n\tinjectBrnSelectConfig,\n\tprovideBrnSelectBase,\n\tSelectItemEqualToValue,\n\tSelectItemToString,\n} from './brn-select.token';\n\nexport const BRN_SELECT_MULTIPLE_VALUE_ACCESSOR = {\n\tprovide: NG_VALUE_ACCESSOR,\n\tuseExisting: forwardRef(() => BrnSelectMultiple),\n\tmulti: true,\n};\n\n@Directive({\n\tselector: '[brnSelectMultiple]',\n\tproviders: [\n\t\tprovideBrnSelectBase(BrnSelectMultiple),\n\t\tBRN_SELECT_MULTIPLE_VALUE_ACCESSOR,\n\t\tprovideBrnLabelable(BrnSelectMultiple),\n\t],\n\thostDirectives: [BrnFieldControl],\n})\nexport class BrnSelectMultiple<T> implements BrnSelectBase<T>, ControlValueAccessor {\n\tprivate readonly _injector = inject(Injector);\n\tprivate readonly _fieldControl = inject(BrnFieldControl, { optional: true });\n\n\tprivate readonly _config = injectBrnSelectConfig<T>();\n\n\tpublic readonly controlState = this._fieldControl?.controlState;\n\n\t/** Access the popover if present */\n\tprivate readonly _brnPopover = inject(BrnPopover, { optional: true });\n\n\t/** Whether the combobox is disabled */\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\tprotected readonly _disabled = linkedSignal(this.disabled);\n\n\t/** @internal The disabled state as a readonly signal */\n\tpublic readonly disabledState = this._disabled.asReadonly();\n\n\t/** The selected value of the select. */\n\tpublic readonly value = model<T[] | undefined | null>(null);\n\n\tpublic readonly hasValue = computed(() => {\n\t\tconst value = this.value();\n\t\tif (value === null || value === undefined) return false;\n\t\treturn value.length > 0;\n\t});\n\n\t/** A function to compare an item with the selected value. */\n\tpublic readonly isItemEqualToValue = input<SelectItemEqualToValue<T>>(this._config.isItemEqualToValue);\n\n\t/** A function to convert an item to a string for display. */\n\tpublic readonly itemToString = input<SelectItemToString<T> | undefined>(this._config.itemToString);\n\n\tprivate readonly _triggerWidth = signal<number | null>(null);\n\n\t/** @internal The width of the trigger wrapper */\n\tpublic readonly triggerWidth = this._triggerWidth.asReadonly();\n\n\t/** @internal Access all the items within the select */\n\tpublic readonly items = contentChildren<BrnSelectItem<T>>(BrnSelectItemToken, {\n\t\tdescendants: true,\n\t});\n\n\t/** @internal The key manager for managing active descendant */\n\tpublic readonly keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n\n\t/** @internal Whether the select is expanded */\n\tpublic readonly isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open');\n\n\tprivate readonly _selectTrigger = signal<BrnSelectTrigger | undefined>(undefined);\n\n\tpublic readonly labelableId = computed(() => this._selectTrigger()?.id());\n\n\tprotected _onChange?: ChangeFn<T[] | undefined | null>;\n\tprotected _onTouched?: TouchFn;\n\n\tconstructor() {\n\t\tthis.keyManager\n\t\t\t.withVerticalOrientation()\n\t\t\t.withHomeAndEnd()\n\t\t\t.withTypeAhead()\n\t\t\t.withWrap()\n\t\t\t.skipPredicate((item) => item.disabled);\n\n\t\tthis._brnPopover?.closed.subscribe(() => {\n\t\t\tthis._onTouched?.();\n\t\t\tthis.keyManager.setActiveItem(-1);\n\t\t});\n\n\t\tafterNextRender(() => {\n\t\t\teffect(\n\t\t\t\t() => {\n\t\t\t\t\tif (!this.isExpanded()) return;\n\n\t\t\t\t\tconst items = this.items();\n\t\t\t\t\tconst values = this.value();\n\t\t\t\t\tconst lastValue = values ? values[values.length - 1] : null;\n\n\t\t\t\t\tuntracked(() => {\n\t\t\t\t\t\tconst index =\n\t\t\t\t\t\t\tlastValue !== null && lastValue !== undefined\n\t\t\t\t\t\t\t\t? items.findIndex((item) => this.isItemEqualToValue()(item.value(), lastValue))\n\t\t\t\t\t\t\t\t: -1;\n\n\t\t\t\t\t\tif (index !== -1) {\n\t\t\t\t\t\t\tthis.keyManager.setActiveItem(index);\n\t\t\t\t\t\t} else if (items.length > 0) {\n\t\t\t\t\t\t\tthis.keyManager.setFirstItemActive();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.keyManager.setActiveItem(-1);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\t{ injector: this._injector },\n\t\t\t);\n\t\t});\n\t}\n\n\tpublic registerSelectTrigger(input: BrnSelectTrigger): void {\n\t\treturn this._selectTrigger.set(input);\n\t}\n\n\tpublic updateTriggerWidth(width: number | null): void {\n\t\tthis._triggerWidth.set(width);\n\t}\n\n\tpublic isSelected(itemValue: T): boolean {\n\t\treturn this.value()?.some((v) => this.isItemEqualToValue()(itemValue, v)) ?? false;\n\t}\n\n\tpublic select(itemValue: T): void {\n\t\tconst selected = this.value() ?? [];\n\n\t\tif (this.isSelected(itemValue)) {\n\t\t\tthis.value.set(selected.filter((d) => !this.isItemEqualToValue()(d, itemValue)) ?? []);\n\t\t} else {\n\t\t\tthis.value.set([...selected, itemValue]);\n\t\t}\n\n\t\tthis._onChange?.(this.value() ?? []);\n\t}\n\n\t/** Select the active item with Enter key. */\n\tpublic selectActiveItem(): void {\n\t\tif (!this.isExpanded()) return;\n\n\t\tconst value = this.keyManager.activeItem?.value();\n\n\t\tif (value) {\n\t\t\tthis.select(value);\n\t\t} else {\n\t\t\tthis.close();\n\t\t}\n\t}\n\n\tpublic open(): void {\n\t\tif (this._disabled() || this.isExpanded()) return;\n\n\t\tthis._brnPopover?.open();\n\t}\n\n\tprivate close(): void {\n\t\tif (this._disabled() || !this.isExpanded()) return;\n\n\t\tthis._brnPopover?.close();\n\t}\n\n\t/** CONTROL VALUE ACCESSOR */\n\tpublic writeValue(value: T[] | undefined | null): void {\n\t\tthis.value.set(value);\n\t}\n\n\tpublic registerOnChange(fn: ChangeFn<T[] | undefined | null>): void {\n\t\tthis._onChange = fn;\n\t}\n\n\tpublic registerOnTouched(fn: TouchFn): void {\n\t\tthis._onTouched = fn;\n\t}\n\n\tpublic setDisabledState(isDisabled: boolean): void {\n\t\tthis._disabled.set(isDisabled);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectPlaceholder]',\n\thost: {\n\t\t'[attr.data-hidden]': '_hasValue() ? \"\" : null',\n\t},\n})\nexport class BrnSelectPlaceholder {\n\tprivate readonly _select = injectBrnSelectBase();\n\n\tprotected readonly _hasValue = this._select.hasValue;\n}\n","import { DestroyRef, Directive, ElementRef, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, interval, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BrnSelectContent } from './brn-select-content';\n\n@Directive({\n\tselector: '[brnSelectScrollDown]',\n\thost: {\n\t\t'aria-hidden': 'true',\n\t\t'[attr.data-hidden]': '!_showScrollDown() ? \"\" : null',\n\t\t'(mouseenter)': '_scrollDown()',\n\t},\n})\nexport class BrnSelectScrollDown {\n\tprivate readonly _el = inject(ElementRef);\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _selectContent = inject(BrnSelectContent);\n\n\tprotected readonly _showScrollDown = this._selectContent.showScrollDown;\n\n\tprivate readonly _endReached = new Subject<boolean>();\n\n\tprotected _scrollDown() {\n\t\tconst mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');\n\n\t\t// 15ms is slightly faster than 60fps (16.6ms), ensuring a smooth animation loop.\n\t\tinterval(15)\n\t\t\t.pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))\n\t\t\t.subscribe(() => this._selectContent.scrollDown(() => this._endReached.next(true)));\n\t}\n}\n","import { DestroyRef, Directive, ElementRef, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { fromEvent, interval, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { BrnSelectContent } from './brn-select-content';\n\n@Directive({\n\tselector: '[brnSelectScrollUp]',\n\thost: {\n\t\t'aria-hidden': 'true',\n\t\t'[attr.data-hidden]': '!_showScrollUp() ? \"\" : null',\n\t\t'(mouseenter)': '_scrollUp()',\n\t},\n})\nexport class BrnSelectScrollUp {\n\tprivate readonly _el = inject(ElementRef);\n\tprivate readonly _destroyRef = inject(DestroyRef);\n\tprivate readonly _selectContent = inject(BrnSelectContent);\n\n\tprotected readonly _showScrollUp = this._selectContent.showScrollUp;\n\n\tprivate readonly _endReached = new Subject<boolean>();\n\n\tprotected _scrollUp() {\n\t\tconst mouseLeave$ = fromEvent(this._el.nativeElement, 'mouseleave');\n\n\t\t// 15ms is slightly faster than 60fps (16.6ms), ensuring a smooth animation loop.\n\t\tinterval(15)\n\t\t\t.pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))\n\t\t\t.subscribe(() => this._selectContent.scrollUp(() => this._endReached.next(true)));\n\t}\n}\n","import { Directive, input } from '@angular/core';\n\n@Directive({\n\tselector: '[brnSelectSeparator]',\n\thost: {\n\t\trole: 'separator',\n\t\t'[attr.aria-orientation]': 'orientation()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n})\nexport class BrnSelectSeparator {\n\tpublic readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { injectElementSize } from '@spartan-ng/brain/core';\nimport { BrnDialog } from '@spartan-ng/brain/dialog';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: 'button[brnSelectTrigger]',\n\thost: {\n\t\trole: 'combobox',\n\t\t'aria-haspopup': 'listbox',\n\t\ttype: 'button',\n\t\t'[id]': 'id()',\n\t\t'[attr.aria-expanded]': '_isExpanded()',\n\t\t'[attr.data-placeholder]': '_isPlaceholder() ? \"\" : null',\n\t\t'[disabled]': '_disabled()',\n\t\t'[attr.aria-invalid]': '_invalid?.() ? \"true\" : null',\n\t\t'[attr.data-dirty]': '_dirty?.() ? \"true\": null',\n\t\t'[attr.data-touched]': '_touched?.() ? \"true\" : null',\n\t\t'[attr.data-matches-spartan-invalid]': '_spartanInvalid?.() ? \"true\" : null',\n\t\t'(click)': 'open()',\n\t\t'(keydown)': 'onKeyDown($event)',\n\t},\n})\nexport class BrnSelectTrigger {\n\tprivate static _id = 0;\n\n\tprivate readonly _host = inject(ElementRef, { host: true });\n\tprivate readonly _brnDialog = inject(BrnDialog, { optional: true });\n\n\tprivate readonly _select = injectBrnSelectBase();\n\n\tprivate readonly _elementSize = injectElementSize();\n\n\tpublic readonly id = input<string>(`brn-select-trigger-${++BrnSelectTrigger._id}`);\n\n\t/** Whether to force the trigger into an invalid state. */\n\tpublic readonly forceInvalid = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\t/** Whether the combobox panel is expanded */\n\tprotected readonly _isExpanded = this._select.isExpanded;\n\n\tprotected readonly _disabled = this._select.disabledState;\n\n\tprotected readonly _isPlaceholder = computed(() => !this._select.hasValue());\n\n\tprotected readonly _invalid = computed(() => this._select?.controlState?.()?.invalid);\n\tprotected readonly _touched = computed(() => this._select?.controlState?.()?.touched);\n\tprotected readonly _dirty = computed(() => this._select?.controlState?.()?.dirty);\n\tprotected readonly _spartanInvalid = computed(\n\t\t() => this.forceInvalid() || this._select?.controlState?.()?.spartanInvalid,\n\t);\n\n\tconstructor() {\n\t\tthis._select.registerSelectTrigger(this);\n\n\t\tif (this._brnDialog) {\n\t\t\tthis._brnDialog.mutableAttachTo.set(this._host.nativeElement);\n\t\t}\n\n\t\teffect(() => {\n\t\t\tconst size = this._elementSize();\n\t\t\tif (size) {\n\t\t\t\tthis._select.updateTriggerWidth(size.width);\n\t\t\t\tthis._brnDialog?.updatePosition();\n\t\t\t}\n\t\t});\n\t}\n\n\tprotected open() {\n\t\tthis._brnDialog?.open();\n\t}\n\n\t/** Listen for keydown events */\n\tprotected onKeyDown(event: KeyboardEvent): void {\n\t\tif (event.key === 'Enter') {\n\t\t\t// prevent form submission if inside a form\n\t\t\tevent.preventDefault();\n\n\t\t\tthis._select.selectActiveItem();\n\t\t}\n\n\t\tif (event.key === 'Tab' && this._isExpanded()) {\n\t\t\tthis._select.selectActiveItem();\n\t\t\treturn;\n\t\t}\n\n\t\tif (this._isExpanded()) {\n\t\t\tif (event.key === 'Tab') {\n\t\t\t\tthis._select.selectActiveItem();\n\t\t\t}\n\t\t} else {\n\t\t\tif (event.key === 'Enter' || event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n\t\t\t\tthis._select.open();\n\t\t\t}\n\t\t}\n\n\t\tthis._select.keyManager.onKeydown(event);\n\t}\n}\n","import { computed, Directive, input } from '@angular/core';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectValue]',\n\thost: {\n\t\t'[attr.data-placeholder]': '_isPlaceholder() ? \"\" : null',\n\t\t'[attr.data-hidden]': 'hidden() ? \"\" : null',\n\t\t'[textContent]': '_value()',\n\t},\n})\nexport class BrnSelectValue<T> {\n\tprivate readonly _select = injectBrnSelectBase<T>();\n\n\tpublic readonly placeholder = input<string>('');\n\n\tprotected readonly _isPlaceholder = computed(() => !this._select.hasValue());\n\n\tpublic readonly hidden = computed(() => !this._select.hasValue() && !this.placeholder());\n\n\tprotected readonly _value = computed(() => {\n\t\treturn this._select.hasValue()\n\t\t\t? stringifyAsLabel(this._select.value(), this._select.itemToString())\n\t\t\t: this.placeholder();\n\t});\n}\n","import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectValueTemplate]',\n})\nexport class BrnSelectValueTemplate<T> {\n\tprivate readonly _templateRef = inject(TemplateRef);\n\tprivate readonly _viewContainerRef = inject(ViewContainerRef);\n\n\tprivate readonly _select = injectBrnSelectBase<T>();\n\n\tprotected readonly _value = computed<T | null>(() => {\n\t\tconst value = this._select.value();\n\n\t\tif (value === null || value === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn value as T;\n\t});\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst value = this._value();\n\t\t\tif (value !== null && value !== undefined) {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t\tthis._viewContainerRef.createEmbeddedView(this._templateRef, {\n\t\t\t\t\t$implicit: value,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t}\n\t\t});\n\t}\n}\n","import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnSelectBase } from './brn-select.token';\n\n@Directive({\n\tselector: '[brnSelectValues]',\n})\nexport class BrnSelectValues<T> {\n\tprivate readonly _templateRef = inject(TemplateRef<T>);\n\tprivate readonly _viewContainerRef = inject(ViewContainerRef);\n\n\tprivate readonly _select = injectBrnSelectBase<T>();\n\n\tprotected readonly _values = computed<T[] | undefined | null>(() => {\n\t\tconst values = this._select.value();\n\n\t\tif (values === null || values === undefined) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn Array.isArray(values) ? values : [values];\n\t});\n\n\tconstructor() {\n\t\teffect(() => {\n\t\t\tconst values = this._values();\n\t\t\tif (values?.length) {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t\tthis._viewContainerRef.createEmbeddedView(this._templateRef, {\n\t\t\t\t\t$implicit: values,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis._viewContainerRef.clear();\n\t\t\t}\n\t\t});\n\t}\n}\n","import { BrnSelect } from './lib/brn-select';\nimport { BrnSelectContent } from './lib/brn-select-content';\nimport { BrnSelectGroup } from './lib/brn-select-group';\nimport { BrnSelectItem } from './lib/brn-select-item';\nimport { BrnSelectLabel } from './lib/brn-select-label';\nimport { BrnSelectList } from './lib/brn-select-list';\nimport { BrnSelectMultiple } from './lib/brn-select-multiple';\nimport { BrnSelectPlaceholder } from './lib/brn-select-placeholder';\nimport { BrnSelectScrollDown } from './lib/brn-select-scroll-down';\nimport { BrnSelectScrollUp } from './lib/brn-select-scroll-up';\nimport { BrnSelectSeparator } from './lib/brn-select-separator';\nimport { BrnSelectTrigger } from './lib/brn-select-trigger';\nimport { BrnSelectValue } from './lib/brn-select-value';\nimport { BrnSelectValueTemplate } from './lib/brn-select-value-template';\nimport { BrnSelectValues } from './lib/brn-select-values';\n\nexport * from './lib/brn-select';\nexport * from './lib/brn-select-content';\nexport * from './lib/brn-select-group';\nexport * from './lib/brn-select-item';\nexport * from './lib/brn-select-item.token';\nexport * from './lib/brn-select-label';\nexport * from './lib/brn-select-list';\nexport * from './lib/brn-select-multiple';\nexport * from './lib/brn-select-placeholder';\nexport * from './lib/brn-select-scroll-down';\nexport * from './lib/brn-select-scroll-up';\nexport * from './lib/brn-select-separator';\nexport * from './lib/brn-select-trigger';\nexport * from './lib/brn-select-value';\nexport * from './lib/brn-select-value-template';\nexport * from './lib/brn-select-values';\nexport * from './lib/brn-select.token';\n\nexport const BrnSelectImports = [\n\tBrnSelect,\n\tBrnSelectContent,\n\tBrnSelectGroup,\n\tBrnSelectItem,\n\tBrnSelectLabel,\n\tBrnSelectList,\n\tBrnSelectMultiple,\n\tBrnSelectPlaceholder,\n\tBrnSelectScrollUp,\n\tBrnSelectScrollDown,\n\tBrnSelectSeparator,\n\tBrnSelectTrigger,\n\tBrnSelectValue,\n\tBrnSelectValueTemplate,\n\tBrnSelectValues,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -16,15 +16,15 @@ function injectBrnSeparatorConfig() {
16
16
  class BrnSeparator {
17
17
  _config = injectBrnSeparatorConfig();
18
18
  /** Orientation of the separator. */
19
- orientation = input(this._config.orientation, ...(ngDevMode ? [{ debugName: "orientation" }] : []));
19
+ orientation = input(this._config.orientation, ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
20
20
  /** Whether the separator is decorative. */
21
- decorative = input(true, ...(ngDevMode ? [{ debugName: "decorative", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
22
- _role = computed(() => (this.decorative() ? 'none' : 'separator'), ...(ngDevMode ? [{ debugName: "_role" }] : []));
23
- _ariaOrientation = computed(() => this.decorative() ? undefined : this.orientation() === 'vertical' ? 'vertical' : undefined, ...(ngDevMode ? [{ debugName: "_ariaOrientation" }] : []));
24
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.17", type: BrnSeparator, isStandalone: true, selector: "[brnSeparator],brn-separator", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: "decorative", publicName: "decorative", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "_role()", "attr.aria-orientation": "_ariaOrientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 });
21
+ decorative = input(true, { ...(ngDevMode ? { debugName: "decorative" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
22
+ _role = computed(() => (this.decorative() ? 'none' : 'separator'), ...(ngDevMode ? [{ debugName: "_role" }] : /* istanbul ignore next */ []));
23
+ _ariaOrientation = computed(() => this.decorative() ? undefined : this.orientation() === 'vertical' ? 'vertical' : undefined, ...(ngDevMode ? [{ debugName: "_ariaOrientation" }] : /* istanbul ignore next */ []));
24
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
25
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnSeparator, isStandalone: true, selector: "[brnSeparator],brn-separator", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: "decorative", publicName: "decorative", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "_role()", "attr.aria-orientation": "_ariaOrientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 });
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSeparator, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSeparator, decorators: [{
28
28
  type: Directive,
29
29
  args: [{
30
30
  selector: '[brnSeparator],brn-separator',
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-separator.mjs","sources":["../../../../libs/brain/separator/src/lib/brn-separator.token.ts","../../../../libs/brain/separator/src/lib/brn-separator.ts","../../../../libs/brain/separator/src/index.ts","../../../../libs/brain/separator/src/spartan-ng-brain-separator.ts"],"sourcesContent":["// brn-separator.token.ts\nimport { InjectionToken, type ValueProvider, inject } from '@angular/core';\n\nexport type SeparatorOrientation = 'horizontal' | 'vertical';\n\nexport interface BrnSeparatorConfig {\n\torientation: SeparatorOrientation;\n}\n\nconst defaultConfig: BrnSeparatorConfig = {\n\torientation: 'horizontal',\n};\n\nconst BrnSeparatorConfigToken = new InjectionToken<BrnSeparatorConfig>('BrnSeparatorConfig');\n\nexport function provideBrnSeparatorConfig(config: Partial<BrnSeparatorConfig>): ValueProvider {\n\treturn { provide: BrnSeparatorConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectBrnSeparatorConfig(): BrnSeparatorConfig {\n\treturn inject(BrnSeparatorConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { injectBrnSeparatorConfig, SeparatorOrientation } from './brn-separator.token';\n\n@Directive({\n\tselector: '[brnSeparator],brn-separator',\n\thost: {\n\t\t'[attr.role]': '_role()',\n\t\t'[attr.aria-orientation]': '_ariaOrientation()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n})\nexport class BrnSeparator {\n\tprivate readonly _config = injectBrnSeparatorConfig();\n\n\t/** Orientation of the separator. */\n\tpublic readonly orientation = input<SeparatorOrientation>(this._config.orientation);\n\t/** Whether the separator is decorative. */\n\tpublic readonly decorative = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n\tprotected readonly _role = computed(() => (this.decorative() ? 'none' : 'separator'));\n\tprotected readonly _ariaOrientation = computed(() =>\n\t\tthis.decorative() ? undefined : this.orientation() === 'vertical' ? 'vertical' : undefined,\n\t);\n}\n","import { BrnSeparator } from './lib/brn-separator';\n\nexport * from './lib/brn-separator';\nexport * from './lib/brn-separator.token';\n\nexport const BrnSeparatorImports = [BrnSeparator] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;AASA,MAAM,aAAa,GAAuB;AACzC,IAAA,WAAW,EAAE,YAAY;CACzB;AAED,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAqB,oBAAoB,CAAC;AAEtF,SAAU,yBAAyB,CAAC,MAAmC,EAAA;AAC5E,IAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE,EAAE;AACvF;SAEgB,wBAAwB,GAAA;AACvC,IAAA,OAAO,MAAM,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,aAAa;AAC5E;;MCTa,YAAY,CAAA;IACP,OAAO,GAAG,wBAAwB,EAAE;;IAGrC,WAAW,GAAG,KAAK,CAAuB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;;AAEnE,IAAA,UAAU,GAAG,KAAK,CAAwB,IAAI,8CAAI,SAAS,EAAE,gBAAgB,EAAA,CAAA,GAAA,CAA7B,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAC;IAE7E,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,GAAG,WAAW,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,GAAA,EAAA,CAAA,CAAC;AAClE,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAC9C,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,4DAC1F;2HAXW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;+GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,IAAI,EAAE;AACL,wBAAA,aAAa,EAAE,SAAS;AACxB,wBAAA,yBAAyB,EAAE,oBAAoB;AAC/C,wBAAA,yBAAyB,EAAE,eAAe;AAC1C,qBAAA;AACD,iBAAA;;;ACNM,MAAM,mBAAmB,GAAG,CAAC,YAAY;;ACLhD;;AAEG;;;;"}
1
+ {"version":3,"file":"spartan-ng-brain-separator.mjs","sources":["../../../../libs/brain/separator/src/lib/brn-separator.token.ts","../../../../libs/brain/separator/src/lib/brn-separator.ts","../../../../libs/brain/separator/src/index.ts","../../../../libs/brain/separator/src/spartan-ng-brain-separator.ts"],"sourcesContent":["// brn-separator.token.ts\nimport { InjectionToken, type ValueProvider, inject } from '@angular/core';\n\nexport type SeparatorOrientation = 'horizontal' | 'vertical';\n\nexport interface BrnSeparatorConfig {\n\torientation: SeparatorOrientation;\n}\n\nconst defaultConfig: BrnSeparatorConfig = {\n\torientation: 'horizontal',\n};\n\nconst BrnSeparatorConfigToken = new InjectionToken<BrnSeparatorConfig>('BrnSeparatorConfig');\n\nexport function provideBrnSeparatorConfig(config: Partial<BrnSeparatorConfig>): ValueProvider {\n\treturn { provide: BrnSeparatorConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectBrnSeparatorConfig(): BrnSeparatorConfig {\n\treturn inject(BrnSeparatorConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, computed, Directive, input } from '@angular/core';\nimport { injectBrnSeparatorConfig, SeparatorOrientation } from './brn-separator.token';\n\n@Directive({\n\tselector: '[brnSeparator],brn-separator',\n\thost: {\n\t\t'[attr.role]': '_role()',\n\t\t'[attr.aria-orientation]': '_ariaOrientation()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n})\nexport class BrnSeparator {\n\tprivate readonly _config = injectBrnSeparatorConfig();\n\n\t/** Orientation of the separator. */\n\tpublic readonly orientation = input<SeparatorOrientation>(this._config.orientation);\n\t/** Whether the separator is decorative. */\n\tpublic readonly decorative = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n\tprotected readonly _role = computed(() => (this.decorative() ? 'none' : 'separator'));\n\tprotected readonly _ariaOrientation = computed(() =>\n\t\tthis.decorative() ? undefined : this.orientation() === 'vertical' ? 'vertical' : undefined,\n\t);\n}\n","import { BrnSeparator } from './lib/brn-separator';\n\nexport * from './lib/brn-separator';\nexport * from './lib/brn-separator.token';\n\nexport const BrnSeparatorImports = [BrnSeparator] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAAA;AASA,MAAM,aAAa,GAAuB;AACzC,IAAA,WAAW,EAAE,YAAY;CACzB;AAED,MAAM,uBAAuB,GAAG,IAAI,cAAc,CAAqB,oBAAoB,CAAC;AAEtF,SAAU,yBAAyB,CAAC,MAAmC,EAAA;AAC5E,IAAA,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE,EAAE;AACvF;SAEgB,wBAAwB,GAAA;AACvC,IAAA,OAAO,MAAM,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,aAAa;AAC5E;;MCTa,YAAY,CAAA;IACP,OAAO,GAAG,wBAAwB,EAAE;;IAGrC,WAAW,GAAG,KAAK,CAAuB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,aAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;;IAEnE,UAAU,GAAG,KAAK,CAAwB,IAAI,kFAAI,SAAS,EAAE,gBAAgB,EAAA,CAAG;IAE7E,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,MAAM,GAAG,WAAW,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,OAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAClE,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAC9C,IAAI,CAAC,UAAU,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,uFAC1F;2HAXW,YAAY,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;+GAAZ,YAAY,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,SAAA,EAAA,uBAAA,EAAA,oBAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBARxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,IAAI,EAAE;AACL,wBAAA,aAAa,EAAE,SAAS;AACxB,wBAAA,yBAAyB,EAAE,oBAAoB;AAC/C,wBAAA,yBAAyB,EAAE,eAAe;AAC1C,qBAAA;AACD,iBAAA;;;ACNM,MAAM,mBAAmB,GAAG,CAAC,YAAY;;ACLhD;;AAEG;;;;"}
@@ -6,8 +6,8 @@ import { provideExposesStateProviderExisting, provideExposedSideProviderExisting
6
6
 
7
7
  class BrnSheet extends BrnDialog {
8
8
  /** Specifies the side of the screen where the sheet will appear. */
9
- side = input('top', ...(ngDevMode ? [{ debugName: "side" }] : []));
10
- sideState = linkedSignal(() => this.side(), ...(ngDevMode ? [{ debugName: "sideState" }] : []));
9
+ side = input('top', ...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
10
+ sideState = linkedSignal(() => this.side(), ...(ngDevMode ? [{ debugName: "sideState" }] : /* istanbul ignore next */ []));
11
11
  constructor() {
12
12
  super();
13
13
  effect(() => {
@@ -28,15 +28,15 @@ class BrnSheet extends BrnDialog {
28
28
  });
29
29
  });
30
30
  }
31
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.17", type: BrnSheet, isStandalone: true, selector: "[brnSheet],brn-sheet", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
31
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheet, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnSheet, isStandalone: true, selector: "[brnSheet],brn-sheet", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
33
33
  {
34
34
  provide: BrnDialog,
35
35
  useExisting: forwardRef((() => BrnSheet)),
36
36
  },
37
37
  ], exportAs: ["brnSheet"], usesInheritance: true, ngImport: i0 });
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheet, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheet, decorators: [{
40
40
  type: Directive,
41
41
  args: [{
42
42
  selector: '[brnSheet],brn-sheet',
@@ -51,10 +51,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
51
51
  }], ctorParameters: () => [], propDecorators: { side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }] } });
52
52
 
53
53
  class BrnSheetClose extends BrnDialogClose {
54
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetClose, deps: null, target: i0.ɵɵFactoryTarget.Directive });
55
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSheetClose, isStandalone: true, selector: "button[brnSheetClose]", usesInheritance: true, ngImport: i0 });
54
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetClose, deps: null, target: i0.ɵɵFactoryTarget.Directive });
55
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSheetClose, isStandalone: true, selector: "button[brnSheetClose]", usesInheritance: true, ngImport: i0 });
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetClose, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetClose, decorators: [{
58
58
  type: Directive,
59
59
  args: [{
60
60
  selector: 'button[brnSheetClose]',
@@ -63,13 +63,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
63
63
 
64
64
  class BrnSheetContent extends BrnDialogContent {
65
65
  side = inject(BrnSheet).sideState;
66
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetContent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
67
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSheetContent, isStandalone: true, selector: "[brnSheetContent]", providers: [
66
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetContent, deps: null, target: i0.ɵɵFactoryTarget.Directive });
67
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSheetContent, isStandalone: true, selector: "[brnSheetContent]", providers: [
68
68
  provideExposesStateProviderExisting((() => BrnSheetContent)),
69
69
  provideExposedSideProviderExisting((() => BrnSheetContent)),
70
70
  ], usesInheritance: true, ngImport: i0 });
71
71
  }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetContent, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetContent, decorators: [{
73
73
  type: Directive,
74
74
  args: [{
75
75
  selector: '[brnSheetContent]',
@@ -81,10 +81,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
81
81
  }] });
82
82
 
83
83
  class BrnSheetDescription {
84
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
85
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSheetDescription, isStandalone: true, selector: "[brnSheetDescription]", hostDirectives: [{ directive: i1.BrnDialogDescription }], ngImport: i0 });
84
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
85
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSheetDescription, isStandalone: true, selector: "[brnSheetDescription]", hostDirectives: [{ directive: i1.BrnDialogDescription }], ngImport: i0 });
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetDescription, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetDescription, decorators: [{
88
88
  type: Directive,
89
89
  args: [{
90
90
  selector: '[brnSheetDescription]',
@@ -93,10 +93,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
93
93
  }] });
94
94
 
95
95
  class BrnSheetOverlay extends BrnDialogOverlay {
96
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetOverlay, deps: null, target: i0.ɵɵFactoryTarget.Directive });
97
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSheetOverlay, isStandalone: true, selector: "[brnSheetOverlay],brn-sheet-overlay", providers: [provideCustomClassSettableExisting((() => BrnSheetOverlay))], usesInheritance: true, ngImport: i0 });
96
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetOverlay, deps: null, target: i0.ɵɵFactoryTarget.Directive });
97
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSheetOverlay, isStandalone: true, selector: "[brnSheetOverlay],brn-sheet-overlay", providers: [provideCustomClassSettableExisting((() => BrnSheetOverlay))], usesInheritance: true, ngImport: i0 });
98
98
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetOverlay, decorators: [{
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetOverlay, decorators: [{
100
100
  type: Directive,
101
101
  args: [{
102
102
  selector: '[brnSheetOverlay],brn-sheet-overlay',
@@ -105,10 +105,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
105
105
  }] });
106
106
 
107
107
  class BrnSheetTitle {
108
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
109
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSheetTitle, isStandalone: true, selector: "[brnSheetTitle]", hostDirectives: [{ directive: i1.BrnDialogTitle }], ngImport: i0 });
108
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
109
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSheetTitle, isStandalone: true, selector: "[brnSheetTitle]", hostDirectives: [{ directive: i1.BrnDialogTitle }], ngImport: i0 });
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetTitle, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetTitle, decorators: [{
112
112
  type: Directive,
113
113
  args: [{
114
114
  selector: '[brnSheetTitle]',
@@ -119,7 +119,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
119
119
  class BrnSheetTrigger extends BrnDialogTrigger {
120
120
  _sheet = inject(BrnSheet, { optional: true });
121
121
  /** Override the side from where the sheet appears for this trigger. */
122
- side = input(undefined, ...(ngDevMode ? [{ debugName: "side" }] : []));
122
+ side = input(undefined, ...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
123
123
  open() {
124
124
  const side = this.side();
125
125
  if (this._sheet && side) {
@@ -127,10 +127,10 @@ class BrnSheetTrigger extends BrnDialogTrigger {
127
127
  }
128
128
  super.open();
129
129
  }
130
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
131
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.17", type: BrnSheetTrigger, isStandalone: true, selector: "button[brnSheetTrigger]", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
130
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetTrigger, deps: null, target: i0.ɵɵFactoryTarget.Directive });
131
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnSheetTrigger, isStandalone: true, selector: "button[brnSheetTrigger]", inputs: { side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
132
132
  }
133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSheetTrigger, decorators: [{
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSheetTrigger, decorators: [{
134
134
  type: Directive,
135
135
  args: [{
136
136
  selector: 'button[brnSheetTrigger]',
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-sheet.mjs","sources":["../../../../libs/brain/sheet/src/lib/brn-sheet.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-close.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-content.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-description.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-overlay.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-title.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-trigger.ts","../../../../libs/brain/sheet/src/index.ts","../../../../libs/brain/sheet/src/spartan-ng-brain-sheet.ts"],"sourcesContent":["import { Directive, effect, forwardRef, input, linkedSignal, untracked } from '@angular/core';\nimport { BrnDialog } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheet],brn-sheet',\n\texportAs: 'brnSheet',\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialog,\n\t\t\tuseExisting: forwardRef(() => BrnSheet),\n\t\t},\n\t],\n})\nexport class BrnSheet extends BrnDialog {\n\t/** Specifies the side of the screen where the sheet will appear. */\n\tpublic readonly side = input<'top' | 'bottom' | 'left' | 'right'>('top');\n\tpublic readonly sideState = linkedSignal(() => this.side());\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst side = this.sideState();\n\t\t\tuntracked(() => {\n\t\t\t\tif (side === 'top') {\n\t\t\t\t\tthis.mutablePositionStrategy.set(this.positionBuilder.global().top());\n\t\t\t\t}\n\t\t\t\tif (side === 'bottom') {\n\t\t\t\t\tthis.mutablePositionStrategy.set(this.positionBuilder.global().bottom());\n\t\t\t\t}\n\t\t\t\tif (side === 'left') {\n\t\t\t\t\tthis.mutablePositionStrategy.set(this.positionBuilder.global().left());\n\t\t\t\t}\n\t\t\t\tif (side === 'right') {\n\t\t\t\t\tthis.mutablePositionStrategy.set(this.positionBuilder.global().right());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogClose } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: 'button[brnSheetClose]',\n})\nexport class BrnSheetClose extends BrnDialogClose {}\n","import { Directive, inject } from '@angular/core';\nimport {\n\ttype ExposesSide,\n\tprovideExposedSideProviderExisting,\n\tprovideExposesStateProviderExisting,\n} from '@spartan-ng/brain/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\nimport { BrnSheet } from './brn-sheet';\n\n@Directive({\n\tselector: '[brnSheetContent]',\n\tproviders: [\n\t\tprovideExposesStateProviderExisting(() => BrnSheetContent),\n\t\tprovideExposedSideProviderExisting(() => BrnSheetContent),\n\t],\n})\nexport class BrnSheetContent<T> extends BrnDialogContent<T> implements ExposesSide {\n\tpublic readonly side = inject(BrnSheet).sideState;\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetDescription]',\n\thostDirectives: [BrnDialogDescription],\n})\nexport class BrnSheetDescription {}\n","import { Directive } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlay } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetOverlay],brn-sheet-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnSheetOverlay)],\n})\nexport class BrnSheetOverlay extends BrnDialogOverlay {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetTitle]',\n\thostDirectives: [BrnDialogTitle],\n})\nexport class BrnSheetTitle {}\n","import { Directive, inject, input } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\nimport { BrnSheet } from './brn-sheet';\n\n@Directive({\n\tselector: 'button[brnSheetTrigger]',\n})\nexport class BrnSheetTrigger extends BrnDialogTrigger {\n\tprivate readonly _sheet = inject(BrnSheet, { optional: true });\n\n\t/** Override the side from where the sheet appears for this trigger. */\n\tpublic readonly side = input<'top' | 'bottom' | 'left' | 'right' | undefined>(undefined);\n\n\toverride open() {\n\t\tconst side = this.side();\n\t\tif (this._sheet && side) {\n\t\t\tthis._sheet.sideState.set(side);\n\t\t}\n\t\tsuper.open();\n\t}\n}\n","import { BrnSheet } from './lib/brn-sheet';\nimport { BrnSheetClose } from './lib/brn-sheet-close';\nimport { BrnSheetContent } from './lib/brn-sheet-content';\nimport { BrnSheetDescription } from './lib/brn-sheet-description';\nimport { BrnSheetOverlay } from './lib/brn-sheet-overlay';\nimport { BrnSheetTitle } from './lib/brn-sheet-title';\nimport { BrnSheetTrigger } from './lib/brn-sheet-trigger';\n\nexport * from './lib/brn-sheet';\nexport * from './lib/brn-sheet-close';\nexport * from './lib/brn-sheet-content';\nexport * from './lib/brn-sheet-description';\nexport * from './lib/brn-sheet-overlay';\nexport * from './lib/brn-sheet-title';\nexport * from './lib/brn-sheet-trigger';\n\nexport const BrnSheetImports = [\n\tBrnSheet,\n\tBrnSheetOverlay,\n\tBrnSheetTrigger,\n\tBrnSheetClose,\n\tBrnSheetContent,\n\tBrnSheetTitle,\n\tBrnSheetDescription,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spartan-ng-brain-sheet.mjs","sources":["../../../../libs/brain/sheet/src/lib/brn-sheet.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-close.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-content.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-description.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-overlay.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-title.ts","../../../../libs/brain/sheet/src/lib/brn-sheet-trigger.ts","../../../../libs/brain/sheet/src/index.ts","../../../../libs/brain/sheet/src/spartan-ng-brain-sheet.ts"],"sourcesContent":["import { Directive, effect, forwardRef, input, linkedSignal, untracked } from '@angular/core';\nimport { BrnDialog } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheet],brn-sheet',\n\texportAs: 'brnSheet',\n\tproviders: [\n\t\t{\n\t\t\tprovide: BrnDialog,\n\t\t\tuseExisting: forwardRef(() => BrnSheet),\n\t\t},\n\t],\n})\nexport class BrnSheet extends BrnDialog {\n\t/** Specifies the side of the screen where the sheet will appear. */\n\tpublic readonly side = input<'top' | 'bottom' | 'left' | 'right'>('top');\n\tpublic readonly sideState = linkedSignal(() => this.side());\n\tconstructor() {\n\t\tsuper();\n\t\teffect(() => {\n\t\t\tconst side = this.sideState();\n\t\t\tuntracked(() => {\n\t\t\t\tif (side === 'top') {\n\t\t\t\t\tthis.mutablePositionStrategy.set(this.positionBuilder.global().top());\n\t\t\t\t}\n\t\t\t\tif (side === 'bottom') {\n\t\t\t\t\tthis.mutablePositionStrategy.set(this.positionBuilder.global().bottom());\n\t\t\t\t}\n\t\t\t\tif (side === 'left') {\n\t\t\t\t\tthis.mutablePositionStrategy.set(this.positionBuilder.global().left());\n\t\t\t\t}\n\t\t\t\tif (side === 'right') {\n\t\t\t\t\tthis.mutablePositionStrategy.set(this.positionBuilder.global().right());\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogClose } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: 'button[brnSheetClose]',\n})\nexport class BrnSheetClose extends BrnDialogClose {}\n","import { Directive, inject } from '@angular/core';\nimport {\n\ttype ExposesSide,\n\tprovideExposedSideProviderExisting,\n\tprovideExposesStateProviderExisting,\n} from '@spartan-ng/brain/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\nimport { BrnSheet } from './brn-sheet';\n\n@Directive({\n\tselector: '[brnSheetContent]',\n\tproviders: [\n\t\tprovideExposesStateProviderExisting(() => BrnSheetContent),\n\t\tprovideExposedSideProviderExisting(() => BrnSheetContent),\n\t],\n})\nexport class BrnSheetContent<T> extends BrnDialogContent<T> implements ExposesSide {\n\tpublic readonly side = inject(BrnSheet).sideState;\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetDescription]',\n\thostDirectives: [BrnDialogDescription],\n})\nexport class BrnSheetDescription {}\n","import { Directive } from '@angular/core';\nimport { provideCustomClassSettableExisting } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlay } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetOverlay],brn-sheet-overlay',\n\tproviders: [provideCustomClassSettableExisting(() => BrnSheetOverlay)],\n})\nexport class BrnSheetOverlay extends BrnDialogOverlay {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\n\n@Directive({\n\tselector: '[brnSheetTitle]',\n\thostDirectives: [BrnDialogTitle],\n})\nexport class BrnSheetTitle {}\n","import { Directive, inject, input } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\nimport { BrnSheet } from './brn-sheet';\n\n@Directive({\n\tselector: 'button[brnSheetTrigger]',\n})\nexport class BrnSheetTrigger extends BrnDialogTrigger {\n\tprivate readonly _sheet = inject(BrnSheet, { optional: true });\n\n\t/** Override the side from where the sheet appears for this trigger. */\n\tpublic readonly side = input<'top' | 'bottom' | 'left' | 'right' | undefined>(undefined);\n\n\toverride open() {\n\t\tconst side = this.side();\n\t\tif (this._sheet && side) {\n\t\t\tthis._sheet.sideState.set(side);\n\t\t}\n\t\tsuper.open();\n\t}\n}\n","import { BrnSheet } from './lib/brn-sheet';\nimport { BrnSheetClose } from './lib/brn-sheet-close';\nimport { BrnSheetContent } from './lib/brn-sheet-content';\nimport { BrnSheetDescription } from './lib/brn-sheet-description';\nimport { BrnSheetOverlay } from './lib/brn-sheet-overlay';\nimport { BrnSheetTitle } from './lib/brn-sheet-title';\nimport { BrnSheetTrigger } from './lib/brn-sheet-trigger';\n\nexport * from './lib/brn-sheet';\nexport * from './lib/brn-sheet-close';\nexport * from './lib/brn-sheet-content';\nexport * from './lib/brn-sheet-description';\nexport * from './lib/brn-sheet-overlay';\nexport * from './lib/brn-sheet-title';\nexport * from './lib/brn-sheet-trigger';\n\nexport const BrnSheetImports = [\n\tBrnSheet,\n\tBrnSheetOverlay,\n\tBrnSheetTrigger,\n\tBrnSheetClose,\n\tBrnSheetContent,\n\tBrnSheetTitle,\n\tBrnSheetDescription,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}