@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
@@ -55,30 +55,28 @@ class BrnSelect {
55
55
  /** Access the popover if present */
56
56
  _brnPopover = inject(BrnPopover, { optional: true });
57
57
  /** Whether the select is disabled */
58
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
59
- _disabled = linkedSignal(this.disabled, ...(ngDevMode ? [{ debugName: "_disabled" }] : []));
58
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
59
+ _disabled = linkedSignal(this.disabled, ...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
60
60
  /** @internal The disabled state as a readonly signal */
61
61
  disabledState = this._disabled.asReadonly();
62
62
  /** The selected value of the select. */
63
- value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
64
- hasValue = computed(() => this.value() !== null, ...(ngDevMode ? [{ debugName: "hasValue" }] : []));
63
+ value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
64
+ hasValue = computed(() => this.value() !== null && this.value() !== undefined, ...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
65
65
  /** A function to compare an item with the selected value. */
66
- isItemEqualToValue = input(this._config.isItemEqualToValue, ...(ngDevMode ? [{ debugName: "isItemEqualToValue" }] : []));
66
+ isItemEqualToValue = input(this._config.isItemEqualToValue, ...(ngDevMode ? [{ debugName: "isItemEqualToValue" }] : /* istanbul ignore next */ []));
67
67
  /** A function to convert an item to a string for display. */
68
- itemToString = input(this._config.itemToString, ...(ngDevMode ? [{ debugName: "itemToString" }] : []));
69
- _triggerWidth = signal(null, ...(ngDevMode ? [{ debugName: "_triggerWidth" }] : []));
68
+ itemToString = input(this._config.itemToString, ...(ngDevMode ? [{ debugName: "itemToString" }] : /* istanbul ignore next */ []));
69
+ _triggerWidth = signal(null, ...(ngDevMode ? [{ debugName: "_triggerWidth" }] : /* istanbul ignore next */ []));
70
70
  /** @internal The width of the trigger wrapper */
71
71
  triggerWidth = this._triggerWidth.asReadonly();
72
72
  /** @internal Access all the items within the select */
73
- items = contentChildren(BrnSelectItemToken, ...(ngDevMode ? [{ debugName: "items", descendants: true }] : [{
74
- descendants: true,
75
- }]));
73
+ items = contentChildren(BrnSelectItemToken, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
76
74
  /** @internal The key manager for managing active descendant */
77
75
  keyManager = new ActiveDescendantKeyManager(this.items, this._injector);
78
76
  /** @internal Whether the select is expanded */
79
- isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open', ...(ngDevMode ? [{ debugName: "isExpanded" }] : []));
80
- _selectTrigger = signal(undefined, ...(ngDevMode ? [{ debugName: "_selectTrigger" }] : []));
81
- labelableId = computed(() => this._selectTrigger()?.id(), ...(ngDevMode ? [{ debugName: "labelableId" }] : []));
77
+ isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open', ...(ngDevMode ? [{ debugName: "isExpanded" }] : /* istanbul ignore next */ []));
78
+ _selectTrigger = signal(undefined, ...(ngDevMode ? [{ debugName: "_selectTrigger" }] : /* istanbul ignore next */ []));
79
+ labelableId = computed(() => this._selectTrigger()?.id(), ...(ngDevMode ? [{ debugName: "labelableId" }] : /* istanbul ignore next */ []));
82
80
  _onChange;
83
81
  _onTouched;
84
82
  constructor() {
@@ -99,7 +97,9 @@ class BrnSelect {
99
97
  const items = this.items();
100
98
  const value = this.value();
101
99
  untracked(() => {
102
- const index = value !== null ? items.findIndex((item) => this.isItemEqualToValue()(item.value(), value)) : -1;
100
+ const index = value !== null && value !== undefined
101
+ ? items.findIndex((item) => this.isItemEqualToValue()(item.value(), value))
102
+ : -1;
103
103
  if (index !== -1) {
104
104
  this.keyManager.setActiveItem(index);
105
105
  }
@@ -162,10 +162,10 @@ class BrnSelect {
162
162
  setDisabledState(isDisabled) {
163
163
  this._disabled.set(isDisabled);
164
164
  }
165
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelect, deps: [], target: i0.ɵɵFactoryTarget.Directive });
166
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.17", type: BrnSelect, isStandalone: true, selector: "[brnSelect]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, isItemEqualToValue: { classPropertyName: "isItemEqualToValue", publicName: "isItemEqualToValue", isSignal: true, isRequired: false, transformFunction: null }, itemToString: { classPropertyName: "itemToString", publicName: "itemToString", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, providers: [provideBrnSelectBase(BrnSelect), BRN_SELECT_VALUE_ACCESSOR, provideBrnLabelable(BrnSelect)], queries: [{ propertyName: "items", predicate: BrnSelectItemToken, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.BrnFieldControl }], ngImport: i0 });
165
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelect, deps: [], target: i0.ɵɵFactoryTarget.Directive });
166
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.16", type: BrnSelect, isStandalone: true, selector: "[brnSelect]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, isItemEqualToValue: { classPropertyName: "isItemEqualToValue", publicName: "isItemEqualToValue", isSignal: true, isRequired: false, transformFunction: null }, itemToString: { classPropertyName: "itemToString", publicName: "itemToString", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, providers: [provideBrnSelectBase(BrnSelect), BRN_SELECT_VALUE_ACCESSOR, provideBrnLabelable(BrnSelect)], queries: [{ propertyName: "items", predicate: BrnSelectItemToken, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.BrnFieldControl }], ngImport: i0 });
167
167
  }
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelect, decorators: [{
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelect, decorators: [{
169
169
  type: Directive,
170
170
  args: [{
171
171
  selector: '[brnSelect]',
@@ -183,9 +183,9 @@ class BrnSelectContent {
183
183
  _select = injectBrnSelectBase();
184
184
  _selectWidth = this._select.triggerWidth;
185
185
  _elementRef = inject((ElementRef));
186
- _scrollUp = signal(false, ...(ngDevMode ? [{ debugName: "_scrollUp" }] : []));
186
+ _scrollUp = signal(false, ...(ngDevMode ? [{ debugName: "_scrollUp" }] : /* istanbul ignore next */ []));
187
187
  showScrollUp = this._scrollUp.asReadonly();
188
- _scrollDown = signal(false, ...(ngDevMode ? [{ debugName: "_scrollDown" }] : []));
188
+ _scrollDown = signal(false, ...(ngDevMode ? [{ debugName: "_scrollDown" }] : /* istanbul ignore next */ []));
189
189
  showScrollDown = this._scrollDown.asReadonly();
190
190
  constructor() {
191
191
  afterNextRender(() => {
@@ -221,10 +221,10 @@ class BrnSelectContent {
221
221
  stop();
222
222
  }
223
223
  }
224
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
225
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSelectContent, isStandalone: true, selector: "[brnSelectContent]", host: { listeners: { "scroll": "handleScroll()" }, properties: { "style.--brn-select-width.px": "_selectWidth()" } }, ngImport: i0 });
224
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
225
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSelectContent, isStandalone: true, selector: "[brnSelectContent]", host: { listeners: { "scroll": "handleScroll()" }, properties: { "style.--brn-select-width.px": "_selectWidth()" } }, ngImport: i0 });
226
226
  }
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectContent, decorators: [{
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectContent, decorators: [{
228
228
  type: Directive,
229
229
  args: [{
230
230
  selector: '[brnSelectContent]',
@@ -237,11 +237,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
237
237
 
238
238
  class BrnSelectLabel {
239
239
  static _id = 0;
240
- id = input(`brn-select-label-${++BrnSelectLabel._id}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
241
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
242
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.17", type: BrnSelectLabel, isStandalone: true, selector: "[brnSelectLabel]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "id()" } }, ngImport: i0 });
240
+ id = input(`brn-select-label-${++BrnSelectLabel._id}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
241
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });
242
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnSelectLabel, isStandalone: true, selector: "[brnSelectLabel]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "id": "id()" } }, ngImport: i0 });
243
243
  }
244
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectLabel, decorators: [{
244
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectLabel, decorators: [{
245
245
  type: Directive,
246
246
  args: [{
247
247
  selector: '[brnSelectLabel]',
@@ -252,12 +252,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
252
252
  }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
253
253
 
254
254
  class BrnSelectGroup {
255
- _selectLabel = contentChild(BrnSelectLabel, ...(ngDevMode ? [{ debugName: "_selectLabel" }] : []));
256
- _labelledby = computed(() => this._selectLabel()?.id() ?? null, ...(ngDevMode ? [{ debugName: "_labelledby" }] : []));
257
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
258
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.17", type: BrnSelectGroup, isStandalone: true, selector: "[brnSelectGroup]", host: { attributes: { "role": "group" }, properties: { "attr.aria-labelledby": "_labelledby()" } }, queries: [{ propertyName: "_selectLabel", first: true, predicate: BrnSelectLabel, descendants: true, isSignal: true }], ngImport: i0 });
255
+ _selectLabel = contentChild(BrnSelectLabel, ...(ngDevMode ? [{ debugName: "_selectLabel" }] : /* istanbul ignore next */ []));
256
+ _labelledby = computed(() => this._selectLabel()?.id() ?? null, ...(ngDevMode ? [{ debugName: "_labelledby" }] : /* istanbul ignore next */ []));
257
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });
258
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.16", type: BrnSelectGroup, isStandalone: true, selector: "[brnSelectGroup]", host: { attributes: { "role": "group" }, properties: { "attr.aria-labelledby": "_labelledby()" } }, queries: [{ propertyName: "_selectLabel", first: true, predicate: BrnSelectLabel, descendants: true, isSignal: true }], ngImport: i0 });
259
259
  }
260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectGroup, decorators: [{
260
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectGroup, decorators: [{
261
261
  type: Directive,
262
262
  args: [{
263
263
  selector: '[brnSelectGroup]',
@@ -275,22 +275,19 @@ class BrnSelectItem {
275
275
  /** Access the select component */
276
276
  _select = injectBrnSelectBase();
277
277
  /** A unique id for the item */
278
- id = input(`brn-select-item-${++BrnSelectItem._id}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
278
+ id = input(`brn-select-item-${++BrnSelectItem._id}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
279
279
  /** The value this item represents. */
280
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : []));
280
+ value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
281
281
  // eslint-disable-next-line @typescript-eslint/naming-convention
282
- _disabled = input(false, ...(ngDevMode ? [{ debugName: "_disabled", alias: 'disabled',
283
- transform: booleanAttribute }] : [{
284
- alias: 'disabled',
285
- transform: booleanAttribute,
286
- }]));
282
+ _disabled = input(false, { ...(ngDevMode ? { debugName: "_disabled" } : /* istanbul ignore next */ {}), alias: 'disabled',
283
+ transform: booleanAttribute });
287
284
  /** Expose disabled as a value - used by the Highlightable interface */
288
285
  get disabled() {
289
286
  return this._disabled();
290
287
  }
291
288
  /** Whether the item is selected. */
292
- active = computed(() => this._select.isSelected(this.value()), ...(ngDevMode ? [{ debugName: "active" }] : []));
293
- _highlighted = signal(false, ...(ngDevMode ? [{ debugName: "_highlighted" }] : []));
289
+ active = computed(() => this._select.isSelected(this.value()), ...(ngDevMode ? [{ debugName: "active" }] : /* istanbul ignore next */ []));
290
+ _highlighted = signal(false, ...(ngDevMode ? [{ debugName: "_highlighted" }] : /* istanbul ignore next */ []));
294
291
  setActiveStyles() {
295
292
  this._highlighted.set(true);
296
293
  // ensure the item is in view
@@ -317,10 +314,10 @@ class BrnSelectItem {
317
314
  }
318
315
  this._select.keyManager.setActiveItem(this);
319
316
  }
320
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
321
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.17", type: BrnSelectItem, isStandalone: true, selector: "[brnSelectItem]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "option" }, listeners: { "click": "select()", "mouseenter": "activate()" }, properties: { "id": "id()", "attr.data-highlighted": "_highlighted() ? \"\" : null", "attr.data-value": "value()", "attr.aria-selected": "active()", "attr.aria-disabled": "_disabled()", "attr.data-disabled": "_disabled() ? \"\" : null" } }, providers: [provideBrnSelectItem(BrnSelectItem)], ngImport: i0 });
317
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });
318
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnSelectItem, isStandalone: true, selector: "[brnSelectItem]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, _disabled: { classPropertyName: "_disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "option" }, listeners: { "click": "select()", "mouseenter": "activate()" }, properties: { "id": "id()", "attr.data-highlighted": "_highlighted() ? \"\" : null", "attr.data-value": "value()", "attr.aria-selected": "active()", "attr.aria-disabled": "_disabled()", "attr.data-disabled": "_disabled() ? \"\" : null" } }, providers: [provideBrnSelectItem(BrnSelectItem)], ngImport: i0 });
322
319
  }
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectItem, decorators: [{
320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectItem, decorators: [{
324
321
  type: Directive,
325
322
  args: [{
326
323
  selector: '[brnSelectItem]',
@@ -340,10 +337,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
340
337
  }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], _disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
341
338
 
342
339
  class BrnSelectList {
343
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
344
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSelectList, isStandalone: true, selector: "[brnSelectList]", host: { attributes: { "role": "listbox" } }, ngImport: i0 });
340
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectList, deps: [], target: i0.ɵɵFactoryTarget.Directive });
341
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSelectList, isStandalone: true, selector: "[brnSelectList]", host: { attributes: { "role": "listbox" } }, ngImport: i0 });
345
342
  }
346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectList, decorators: [{
343
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectList, decorators: [{
347
344
  type: Directive,
348
345
  args: [{
349
346
  selector: '[brnSelectList]',
@@ -366,35 +363,33 @@ class BrnSelectMultiple {
366
363
  /** Access the popover if present */
367
364
  _brnPopover = inject(BrnPopover, { optional: true });
368
365
  /** Whether the combobox is disabled */
369
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
370
- _disabled = linkedSignal(this.disabled, ...(ngDevMode ? [{ debugName: "_disabled" }] : []));
366
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
367
+ _disabled = linkedSignal(this.disabled, ...(ngDevMode ? [{ debugName: "_disabled" }] : /* istanbul ignore next */ []));
371
368
  /** @internal The disabled state as a readonly signal */
372
369
  disabledState = this._disabled.asReadonly();
373
370
  /** The selected value of the select. */
374
- value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
371
+ value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
375
372
  hasValue = computed(() => {
376
373
  const value = this.value();
377
- if (value == null)
374
+ if (value === null || value === undefined)
378
375
  return false;
379
376
  return value.length > 0;
380
- }, ...(ngDevMode ? [{ debugName: "hasValue" }] : []));
377
+ }, ...(ngDevMode ? [{ debugName: "hasValue" }] : /* istanbul ignore next */ []));
381
378
  /** A function to compare an item with the selected value. */
382
- isItemEqualToValue = input(this._config.isItemEqualToValue, ...(ngDevMode ? [{ debugName: "isItemEqualToValue" }] : []));
379
+ isItemEqualToValue = input(this._config.isItemEqualToValue, ...(ngDevMode ? [{ debugName: "isItemEqualToValue" }] : /* istanbul ignore next */ []));
383
380
  /** A function to convert an item to a string for display. */
384
- itemToString = input(this._config.itemToString, ...(ngDevMode ? [{ debugName: "itemToString" }] : []));
385
- _triggerWidth = signal(null, ...(ngDevMode ? [{ debugName: "_triggerWidth" }] : []));
381
+ itemToString = input(this._config.itemToString, ...(ngDevMode ? [{ debugName: "itemToString" }] : /* istanbul ignore next */ []));
382
+ _triggerWidth = signal(null, ...(ngDevMode ? [{ debugName: "_triggerWidth" }] : /* istanbul ignore next */ []));
386
383
  /** @internal The width of the trigger wrapper */
387
384
  triggerWidth = this._triggerWidth.asReadonly();
388
385
  /** @internal Access all the items within the select */
389
- items = contentChildren(BrnSelectItemToken, ...(ngDevMode ? [{ debugName: "items", descendants: true }] : [{
390
- descendants: true,
391
- }]));
386
+ items = contentChildren(BrnSelectItemToken, { ...(ngDevMode ? { debugName: "items" } : /* istanbul ignore next */ {}), descendants: true });
392
387
  /** @internal The key manager for managing active descendant */
393
388
  keyManager = new ActiveDescendantKeyManager(this.items, this._injector);
394
389
  /** @internal Whether the select is expanded */
395
- isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open', ...(ngDevMode ? [{ debugName: "isExpanded" }] : []));
396
- _selectTrigger = signal(undefined, ...(ngDevMode ? [{ debugName: "_selectTrigger" }] : []));
397
- labelableId = computed(() => this._selectTrigger()?.id(), ...(ngDevMode ? [{ debugName: "labelableId" }] : []));
390
+ isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open', ...(ngDevMode ? [{ debugName: "isExpanded" }] : /* istanbul ignore next */ []));
391
+ _selectTrigger = signal(undefined, ...(ngDevMode ? [{ debugName: "_selectTrigger" }] : /* istanbul ignore next */ []));
392
+ labelableId = computed(() => this._selectTrigger()?.id(), ...(ngDevMode ? [{ debugName: "labelableId" }] : /* istanbul ignore next */ []));
398
393
  _onChange;
399
394
  _onTouched;
400
395
  constructor() {
@@ -416,7 +411,9 @@ class BrnSelectMultiple {
416
411
  const values = this.value();
417
412
  const lastValue = values ? values[values.length - 1] : null;
418
413
  untracked(() => {
419
- const index = lastValue !== null ? items.findIndex((item) => this.isItemEqualToValue()(item.value(), lastValue)) : -1;
414
+ const index = lastValue !== null && lastValue !== undefined
415
+ ? items.findIndex((item) => this.isItemEqualToValue()(item.value(), lastValue))
416
+ : -1;
420
417
  if (index !== -1) {
421
418
  this.keyManager.setActiveItem(index);
422
419
  }
@@ -484,14 +481,14 @@ class BrnSelectMultiple {
484
481
  setDisabledState(isDisabled) {
485
482
  this._disabled.set(isDisabled);
486
483
  }
487
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectMultiple, deps: [], target: i0.ɵɵFactoryTarget.Directive });
488
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.3.17", type: BrnSelectMultiple, isStandalone: true, selector: "[brnSelectMultiple]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, isItemEqualToValue: { classPropertyName: "isItemEqualToValue", publicName: "isItemEqualToValue", isSignal: true, isRequired: false, transformFunction: null }, itemToString: { classPropertyName: "itemToString", publicName: "itemToString", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, providers: [
484
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectMultiple, deps: [], target: i0.ɵɵFactoryTarget.Directive });
485
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.16", type: BrnSelectMultiple, isStandalone: true, selector: "[brnSelectMultiple]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, isItemEqualToValue: { classPropertyName: "isItemEqualToValue", publicName: "isItemEqualToValue", isSignal: true, isRequired: false, transformFunction: null }, itemToString: { classPropertyName: "itemToString", publicName: "itemToString", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange" }, providers: [
489
486
  provideBrnSelectBase(BrnSelectMultiple),
490
487
  BRN_SELECT_MULTIPLE_VALUE_ACCESSOR,
491
488
  provideBrnLabelable(BrnSelectMultiple),
492
489
  ], queries: [{ propertyName: "items", predicate: BrnSelectItemToken, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.BrnFieldControl }], ngImport: i0 });
493
490
  }
494
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectMultiple, decorators: [{
491
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectMultiple, decorators: [{
495
492
  type: Directive,
496
493
  args: [{
497
494
  selector: '[brnSelectMultiple]',
@@ -509,10 +506,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
509
506
  class BrnSelectPlaceholder {
510
507
  _select = injectBrnSelectBase();
511
508
  _hasValue = this._select.hasValue;
512
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectPlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Directive });
513
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSelectPlaceholder, isStandalone: true, selector: "[brnSelectPlaceholder]", host: { properties: { "attr.data-hidden": "_hasValue() ? \"\" : null" } }, ngImport: i0 });
509
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectPlaceholder, deps: [], target: i0.ɵɵFactoryTarget.Directive });
510
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSelectPlaceholder, isStandalone: true, selector: "[brnSelectPlaceholder]", host: { properties: { "attr.data-hidden": "_hasValue() ? \"\" : null" } }, ngImport: i0 });
514
511
  }
515
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectPlaceholder, decorators: [{
512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectPlaceholder, decorators: [{
516
513
  type: Directive,
517
514
  args: [{
518
515
  selector: '[brnSelectPlaceholder]',
@@ -535,10 +532,10 @@ class BrnSelectScrollDown {
535
532
  .pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))
536
533
  .subscribe(() => this._selectContent.scrollDown(() => this._endReached.next(true)));
537
534
  }
538
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectScrollDown, deps: [], target: i0.ɵɵFactoryTarget.Directive });
539
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSelectScrollDown, isStandalone: true, selector: "[brnSelectScrollDown]", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseenter": "_scrollDown()" }, properties: { "attr.data-hidden": "!_showScrollDown() ? \"\" : null" } }, ngImport: i0 });
535
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectScrollDown, deps: [], target: i0.ɵɵFactoryTarget.Directive });
536
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSelectScrollDown, isStandalone: true, selector: "[brnSelectScrollDown]", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseenter": "_scrollDown()" }, properties: { "attr.data-hidden": "!_showScrollDown() ? \"\" : null" } }, ngImport: i0 });
540
537
  }
541
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectScrollDown, decorators: [{
538
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectScrollDown, decorators: [{
542
539
  type: Directive,
543
540
  args: [{
544
541
  selector: '[brnSelectScrollDown]',
@@ -563,10 +560,10 @@ class BrnSelectScrollUp {
563
560
  .pipe(takeUntil(mouseLeave$), takeUntil(this._endReached), takeUntilDestroyed(this._destroyRef))
564
561
  .subscribe(() => this._selectContent.scrollUp(() => this._endReached.next(true)));
565
562
  }
566
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectScrollUp, deps: [], target: i0.ɵɵFactoryTarget.Directive });
567
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSelectScrollUp, isStandalone: true, selector: "[brnSelectScrollUp]", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseenter": "_scrollUp()" }, properties: { "attr.data-hidden": "!_showScrollUp() ? \"\" : null" } }, ngImport: i0 });
563
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectScrollUp, deps: [], target: i0.ɵɵFactoryTarget.Directive });
564
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSelectScrollUp, isStandalone: true, selector: "[brnSelectScrollUp]", host: { attributes: { "aria-hidden": "true" }, listeners: { "mouseenter": "_scrollUp()" }, properties: { "attr.data-hidden": "!_showScrollUp() ? \"\" : null" } }, ngImport: i0 });
568
565
  }
569
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectScrollUp, decorators: [{
566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectScrollUp, decorators: [{
570
567
  type: Directive,
571
568
  args: [{
572
569
  selector: '[brnSelectScrollUp]',
@@ -579,11 +576,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
579
576
  }] });
580
577
 
581
578
  class BrnSelectSeparator {
582
- orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
583
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
584
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.17", type: BrnSelectSeparator, isStandalone: true, selector: "[brnSelectSeparator]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "separator" }, properties: { "attr.aria-orientation": "orientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 });
579
+ orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
580
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });
581
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnSelectSeparator, isStandalone: true, selector: "[brnSelectSeparator]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "separator" }, properties: { "attr.aria-orientation": "orientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 });
585
582
  }
586
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectSeparator, decorators: [{
583
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectSeparator, decorators: [{
587
584
  type: Directive,
588
585
  args: [{
589
586
  selector: '[brnSelectSeparator]',
@@ -601,17 +598,17 @@ class BrnSelectTrigger {
601
598
  _brnDialog = inject(BrnDialog, { optional: true });
602
599
  _select = injectBrnSelectBase();
603
600
  _elementSize = injectElementSize();
604
- id = input(`brn-select-trigger-${++BrnSelectTrigger._id}`, ...(ngDevMode ? [{ debugName: "id" }] : []));
601
+ id = input(`brn-select-trigger-${++BrnSelectTrigger._id}`, ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
605
602
  /** Whether to force the trigger into an invalid state. */
606
- forceInvalid = input(false, ...(ngDevMode ? [{ debugName: "forceInvalid", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
603
+ forceInvalid = input(false, { ...(ngDevMode ? { debugName: "forceInvalid" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
607
604
  /** Whether the combobox panel is expanded */
608
605
  _isExpanded = this._select.isExpanded;
609
606
  _disabled = this._select.disabledState;
610
- _isPlaceholder = computed(() => !this._select.hasValue(), ...(ngDevMode ? [{ debugName: "_isPlaceholder" }] : []));
611
- _invalid = computed(() => this._select?.controlState?.()?.invalid, ...(ngDevMode ? [{ debugName: "_invalid" }] : []));
612
- _touched = computed(() => this._select?.controlState?.()?.touched, ...(ngDevMode ? [{ debugName: "_touched" }] : []));
613
- _dirty = computed(() => this._select?.controlState?.()?.dirty, ...(ngDevMode ? [{ debugName: "_dirty" }] : []));
614
- _spartanInvalid = computed(() => this.forceInvalid() || this._select?.controlState?.()?.spartanInvalid, ...(ngDevMode ? [{ debugName: "_spartanInvalid" }] : []));
607
+ _isPlaceholder = computed(() => !this._select.hasValue(), ...(ngDevMode ? [{ debugName: "_isPlaceholder" }] : /* istanbul ignore next */ []));
608
+ _invalid = computed(() => this._select?.controlState?.()?.invalid, ...(ngDevMode ? [{ debugName: "_invalid" }] : /* istanbul ignore next */ []));
609
+ _touched = computed(() => this._select?.controlState?.()?.touched, ...(ngDevMode ? [{ debugName: "_touched" }] : /* istanbul ignore next */ []));
610
+ _dirty = computed(() => this._select?.controlState?.()?.dirty, ...(ngDevMode ? [{ debugName: "_dirty" }] : /* istanbul ignore next */ []));
611
+ _spartanInvalid = computed(() => this.forceInvalid() || this._select?.controlState?.()?.spartanInvalid, ...(ngDevMode ? [{ debugName: "_spartanInvalid" }] : /* istanbul ignore next */ []));
615
612
  constructor() {
616
613
  this._select.registerSelectTrigger(this);
617
614
  if (this._brnDialog) {
@@ -651,10 +648,10 @@ class BrnSelectTrigger {
651
648
  }
652
649
  this._select.keyManager.onKeydown(event);
653
650
  }
654
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
655
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.17", type: BrnSelectTrigger, isStandalone: true, selector: "button[brnSelectTrigger]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, forceInvalid: { classPropertyName: "forceInvalid", publicName: "forceInvalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox", "type": "button" }, listeners: { "click": "open()", "keydown": "onKeyDown($event)" }, properties: { "id": "id()", "attr.aria-expanded": "_isExpanded()", "attr.data-placeholder": "_isPlaceholder() ? \"\" : null", "disabled": "_disabled()", "attr.aria-invalid": "_invalid?.() ? \"true\" : null", "attr.data-dirty": "_dirty?.() ? \"true\": null", "attr.data-touched": "_touched?.() ? \"true\" : null", "attr.data-matches-spartan-invalid": "_spartanInvalid?.() ? \"true\" : null" } }, ngImport: i0 });
651
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive });
652
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnSelectTrigger, isStandalone: true, selector: "button[brnSelectTrigger]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, forceInvalid: { classPropertyName: "forceInvalid", publicName: "forceInvalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox", "type": "button" }, listeners: { "click": "open()", "keydown": "onKeyDown($event)" }, properties: { "id": "id()", "attr.aria-expanded": "_isExpanded()", "attr.data-placeholder": "_isPlaceholder() ? \"\" : null", "disabled": "_disabled()", "attr.aria-invalid": "_invalid?.() ? \"true\" : null", "attr.data-dirty": "_dirty?.() ? \"true\": null", "attr.data-touched": "_touched?.() ? \"true\" : null", "attr.data-matches-spartan-invalid": "_spartanInvalid?.() ? \"true\" : null" } }, ngImport: i0 });
656
653
  }
657
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectTrigger, decorators: [{
654
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectTrigger, decorators: [{
658
655
  type: Directive,
659
656
  args: [{
660
657
  selector: 'button[brnSelectTrigger]',
@@ -678,18 +675,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImpo
678
675
 
679
676
  class BrnSelectValue {
680
677
  _select = injectBrnSelectBase();
681
- placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
682
- _isPlaceholder = computed(() => !this._select.hasValue(), ...(ngDevMode ? [{ debugName: "_isPlaceholder" }] : []));
683
- hidden = computed(() => !this._select.hasValue() && !this.placeholder(), ...(ngDevMode ? [{ debugName: "hidden" }] : []));
678
+ placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
679
+ _isPlaceholder = computed(() => !this._select.hasValue(), ...(ngDevMode ? [{ debugName: "_isPlaceholder" }] : /* istanbul ignore next */ []));
680
+ hidden = computed(() => !this._select.hasValue() && !this.placeholder(), ...(ngDevMode ? [{ debugName: "hidden" }] : /* istanbul ignore next */ []));
684
681
  _value = computed(() => {
685
682
  return this._select.hasValue()
686
683
  ? stringifyAsLabel(this._select.value(), this._select.itemToString())
687
684
  : this.placeholder();
688
- }, ...(ngDevMode ? [{ debugName: "_value" }] : []));
689
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectValue, deps: [], target: i0.ɵɵFactoryTarget.Directive });
690
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.17", type: BrnSelectValue, isStandalone: true, selector: "[brnSelectValue]", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-placeholder": "_isPlaceholder() ? \"\" : null", "attr.data-hidden": "hidden() ? \"\" : null", "textContent": "_value()" } }, ngImport: i0 });
685
+ }, ...(ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []));
686
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectValue, deps: [], target: i0.ɵɵFactoryTarget.Directive });
687
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.16", type: BrnSelectValue, isStandalone: true, selector: "[brnSelectValue]", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-placeholder": "_isPlaceholder() ? \"\" : null", "attr.data-hidden": "hidden() ? \"\" : null", "textContent": "_value()" } }, ngImport: i0 });
691
688
  }
692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectValue, decorators: [{
689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectValue, decorators: [{
693
690
  type: Directive,
694
691
  args: [{
695
692
  selector: '[brnSelectValue]',
@@ -707,15 +704,15 @@ class BrnSelectValueTemplate {
707
704
  _select = injectBrnSelectBase();
708
705
  _value = computed(() => {
709
706
  const value = this._select.value();
710
- if (value === null) {
707
+ if (value === null || value === undefined) {
711
708
  return null;
712
709
  }
713
710
  return value;
714
- }, ...(ngDevMode ? [{ debugName: "_value" }] : []));
711
+ }, ...(ngDevMode ? [{ debugName: "_value" }] : /* istanbul ignore next */ []));
715
712
  constructor() {
716
713
  effect(() => {
717
714
  const value = this._value();
718
- if (value !== null) {
715
+ if (value !== null && value !== undefined) {
719
716
  this._viewContainerRef.clear();
720
717
  this._viewContainerRef.createEmbeddedView(this._templateRef, {
721
718
  $implicit: value,
@@ -726,10 +723,10 @@ class BrnSelectValueTemplate {
726
723
  }
727
724
  });
728
725
  }
729
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectValueTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
730
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSelectValueTemplate, isStandalone: true, selector: "[brnSelectValueTemplate]", ngImport: i0 });
726
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectValueTemplate, deps: [], target: i0.ɵɵFactoryTarget.Directive });
727
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSelectValueTemplate, isStandalone: true, selector: "[brnSelectValueTemplate]", ngImport: i0 });
731
728
  }
732
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectValueTemplate, decorators: [{
729
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectValueTemplate, decorators: [{
733
730
  type: Directive,
734
731
  args: [{
735
732
  selector: '[brnSelectValueTemplate]',
@@ -742,11 +739,11 @@ class BrnSelectValues {
742
739
  _select = injectBrnSelectBase();
743
740
  _values = computed(() => {
744
741
  const values = this._select.value();
745
- if (values === null) {
742
+ if (values === null || values === undefined) {
746
743
  return null;
747
744
  }
748
745
  return Array.isArray(values) ? values : [values];
749
- }, ...(ngDevMode ? [{ debugName: "_values" }] : []));
746
+ }, ...(ngDevMode ? [{ debugName: "_values" }] : /* istanbul ignore next */ []));
750
747
  constructor() {
751
748
  effect(() => {
752
749
  const values = this._values();
@@ -761,10 +758,10 @@ class BrnSelectValues {
761
758
  }
762
759
  });
763
760
  }
764
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectValues, deps: [], target: i0.ɵɵFactoryTarget.Directive });
765
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.17", type: BrnSelectValues, isStandalone: true, selector: "[brnSelectValues]", ngImport: i0 });
761
+ /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectValues, deps: [], target: i0.ɵɵFactoryTarget.Directive });
762
+ /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.16", type: BrnSelectValues, isStandalone: true, selector: "[brnSelectValues]", ngImport: i0 });
766
763
  }
767
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.17", ngImport: i0, type: BrnSelectValues, decorators: [{
764
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.16", ngImport: i0, type: BrnSelectValues, decorators: [{
768
765
  type: Directive,
769
766
  args: [{
770
767
  selector: '[brnSelectValues]',