@mintplayer/ng-bootstrap 21.30.0 → 21.31.0

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 (153) hide show
  1. package/fesm2022/mintplayer-ng-bootstrap-a11y.mjs +455 -0
  2. package/fesm2022/mintplayer-ng-bootstrap-a11y.mjs.map +1 -0
  3. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +8 -5
  4. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  5. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +10 -4
  6. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
  7. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +7 -4
  8. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
  9. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +131 -3
  10. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  11. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +80 -48
  12. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  13. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +4 -1
  14. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
  15. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +218 -14
  16. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  17. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +4 -3
  18. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  19. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +2 -2
  20. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
  21. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +294 -3
  22. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  23. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +163 -18
  24. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  25. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +179 -7
  26. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  27. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +14 -4
  28. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  29. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +14 -0
  30. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  31. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +2 -1
  32. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
  33. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +7 -4
  34. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs.map +1 -1
  35. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +70 -6
  36. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  37. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +5 -4
  38. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  39. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +6 -6
  40. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  41. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +45 -13
  42. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  43. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +51 -5
  44. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  45. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +5 -3
  46. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  47. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +18 -4
  48. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
  49. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +6 -6
  50. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  51. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +61 -6
  52. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  53. package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs +19 -4
  54. package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs.map +1 -1
  55. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +8 -5
  56. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
  57. package/fesm2022/mintplayer-ng-bootstrap-range.mjs +4 -3
  58. package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
  59. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +34 -4
  60. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
  61. package/fesm2022/mintplayer-ng-bootstrap-reduced-motion.mjs +59 -0
  62. package/fesm2022/mintplayer-ng-bootstrap-reduced-motion.mjs.map +1 -0
  63. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +91 -2
  64. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  65. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +16 -5
  66. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  67. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +2 -2
  68. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  69. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +28 -5
  70. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  71. package/fesm2022/mintplayer-ng-bootstrap-select.mjs +4 -3
  72. package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
  73. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +18 -4
  74. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  75. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +4 -3
  76. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  77. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +2 -2
  78. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  79. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +10 -3
  80. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  81. package/fesm2022/mintplayer-ng-bootstrap-tile-manager.mjs +143 -29
  82. package/fesm2022/mintplayer-ng-bootstrap-tile-manager.mjs.map +1 -1
  83. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +2 -2
  84. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  85. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +7 -4
  86. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  87. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +42 -21
  88. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
  89. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +33 -4
  90. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  91. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +17 -7
  92. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
  93. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +50 -8
  94. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  95. package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs +34 -12
  96. package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs.map +1 -1
  97. package/fesm2022/mintplayer-ng-bootstrap-web-components-a11y.mjs +74 -0
  98. package/fesm2022/mintplayer-ng-bootstrap-web-components-a11y.mjs.map +1 -0
  99. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs +1476 -71
  100. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs.map +1 -1
  101. package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs +194 -2
  102. package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs.map +1 -1
  103. package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs +4 -0
  104. package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs.map +1 -1
  105. package/package.json +14 -2
  106. package/types/mintplayer-ng-bootstrap-a11y.d.ts +196 -0
  107. package/types/mintplayer-ng-bootstrap-accordion.d.ts +4 -2
  108. package/types/mintplayer-ng-bootstrap-breadcrumb.d.ts +2 -1
  109. package/types/mintplayer-ng-bootstrap-button-group.d.ts +2 -1
  110. package/types/mintplayer-ng-bootstrap-calendar.d.ts +32 -0
  111. package/types/mintplayer-ng-bootstrap-carousel.d.ts +56 -3
  112. package/types/mintplayer-ng-bootstrap-code-snippet.d.ts +1 -0
  113. package/types/mintplayer-ng-bootstrap-color-picker.d.ts +75 -4
  114. package/types/mintplayer-ng-bootstrap-datatable.d.ts +1 -1
  115. package/types/mintplayer-ng-bootstrap-dock.d.ts +51 -0
  116. package/types/mintplayer-ng-bootstrap-dropdown-menu.d.ts +54 -9
  117. package/types/mintplayer-ng-bootstrap-dropdown.d.ts +57 -2
  118. package/types/mintplayer-ng-bootstrap-file-upload.d.ts +4 -1
  119. package/types/mintplayer-ng-bootstrap-has-overlay.d.ts +14 -0
  120. package/types/mintplayer-ng-bootstrap-marquee.d.ts +2 -1
  121. package/types/mintplayer-ng-bootstrap-modal.d.ts +25 -1
  122. package/types/mintplayer-ng-bootstrap-multiselect.d.ts +2 -1
  123. package/types/mintplayer-ng-bootstrap-navbar-toggler.d.ts +4 -2
  124. package/types/mintplayer-ng-bootstrap-navbar.d.ts +25 -1
  125. package/types/mintplayer-ng-bootstrap-offcanvas.d.ts +23 -1
  126. package/types/mintplayer-ng-bootstrap-pagination.d.ts +3 -1
  127. package/types/mintplayer-ng-bootstrap-placeholder.d.ts +5 -1
  128. package/types/mintplayer-ng-bootstrap-playlist-toggler.d.ts +4 -2
  129. package/types/mintplayer-ng-bootstrap-popover.d.ts +21 -1
  130. package/types/mintplayer-ng-bootstrap-priority-nav.d.ts +4 -1
  131. package/types/mintplayer-ng-bootstrap-progress-bar.d.ts +4 -2
  132. package/types/mintplayer-ng-bootstrap-range.d.ts +2 -1
  133. package/types/mintplayer-ng-bootstrap-rating.d.ts +3 -0
  134. package/types/mintplayer-ng-bootstrap-reduced-motion.d.ts +36 -0
  135. package/types/mintplayer-ng-bootstrap-resizable.d.ts +4 -0
  136. package/types/mintplayer-ng-bootstrap-scheduler.d.ts +42 -9
  137. package/types/mintplayer-ng-bootstrap-scrollspy.d.ts +1 -1
  138. package/types/mintplayer-ng-bootstrap-searchbox.d.ts +8 -1
  139. package/types/mintplayer-ng-bootstrap-select.d.ts +2 -1
  140. package/types/mintplayer-ng-bootstrap-select2.d.ts +3 -0
  141. package/types/mintplayer-ng-bootstrap-signature-pad.d.ts +2 -1
  142. package/types/mintplayer-ng-bootstrap-table.d.ts +8 -1
  143. package/types/mintplayer-ng-bootstrap-tile-manager.d.ts +21 -2
  144. package/types/mintplayer-ng-bootstrap-toast.d.ts +6 -1
  145. package/types/mintplayer-ng-bootstrap-toggle-button.d.ts +11 -0
  146. package/types/mintplayer-ng-bootstrap-tooltip.d.ts +5 -0
  147. package/types/mintplayer-ng-bootstrap-treeview.d.ts +12 -1
  148. package/types/mintplayer-ng-bootstrap-typeahead.d.ts +11 -3
  149. package/types/mintplayer-ng-bootstrap-virtual-datatable.d.ts +14 -1
  150. package/types/mintplayer-ng-bootstrap-web-components-a11y.d.ts +34 -0
  151. package/types/mintplayer-ng-bootstrap-web-components-scheduler-core.d.ts +35 -11
  152. package/types/mintplayer-ng-bootstrap-web-components-scheduler.d.ts +246 -0
  153. package/types/mintplayer-ng-bootstrap-web-components-splitter.d.ts +95 -37
@@ -81,12 +81,14 @@ declare class BsColorWheelComponent {
81
81
  hs: _angular_core.ModelSignal<HS>;
82
82
  hsChange: _angular_core.OutputEmitterRef<HS>;
83
83
  disabled: _angular_core.InputSignal<boolean>;
84
+ ariaLabel: _angular_core.InputSignal<string>;
84
85
  private readonly isPointerDown;
85
86
  squareSize: _angular_core.Signal<number>;
86
87
  shiftX: _angular_core.Signal<number>;
87
88
  shiftY: _angular_core.Signal<number>;
88
89
  outerRadius: _angular_core.Signal<number>;
89
90
  overlayOpacity: _angular_core.Signal<number>;
91
+ ariaValueText: _angular_core.Signal<string>;
90
92
  markerPosition: _angular_core.Signal<{
91
93
  x: number;
92
94
  y: number;
@@ -95,9 +97,22 @@ declare class BsColorWheelComponent {
95
97
  onPointerDown(ev: MouseEvent | TouchEvent): void;
96
98
  onPointerMove(ev: MouseEvent | TouchEvent): void;
97
99
  onPointerUp(_ev: MouseEvent | TouchEvent): void;
100
+ /**
101
+ * Keyboard model for the 2-D wheel:
102
+ * ArrowLeft / ArrowRight → -1° / +1° hue (Shift: stays 1° for "fine")
103
+ * ArrowDown / ArrowUp → -1% / +1% saturation (Shift: stays 1% for "fine")
104
+ * PageDown / PageUp → -30° / +30° hue
105
+ * Home / End → saturation 100% / 0%
106
+ *
107
+ * Hue wraps around; saturation clamps. Sighted-keyboard users get the same
108
+ * wheel as mouse users; blind users typically prefer the channel sliders
109
+ * (toggleable in bs-color-picker), since aria-valuetext on a 2-D widget is
110
+ * harder to spatialise than two 1-D sliders.
111
+ */
112
+ onKeydown(ev: KeyboardEvent): void;
98
113
  private updateColor;
99
114
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsColorWheelComponent, never>;
100
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsColorWheelComponent, "bs-color-wheel", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "brightness": { "alias": "brightness"; "required": false; "isSignal": true; }; "hs": { "alias": "hs"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "width": "widthChange"; "height": "heightChange"; "brightness": "brightnessChange"; "hs": "hsChange"; "hsChange": "hsChange"; }, never, never, true, never>;
115
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsColorWheelComponent, "bs-color-wheel", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "brightness": { "alias": "brightness"; "required": false; "isSignal": true; }; "hs": { "alias": "hs"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "width": "widthChange"; "height": "heightChange"; "brightness": "brightnessChange"; "hs": "hsChange"; "hsChange": "hsChange"; }, never, never, true, never>;
101
116
  }
102
117
 
103
118
  declare class BsColorPickerValueAccessor implements ControlValueAccessor {
@@ -119,6 +134,17 @@ declare class BsColorPickerComponent {
119
134
  size: _angular_core.InputSignal<number>;
120
135
  disabled: _angular_core.WritableSignal<boolean>;
121
136
  allowAlpha: _angular_core.InputSignal<boolean>;
137
+ /**
138
+ * When true (default), a "Show hue + saturation sliders" toggle is rendered
139
+ * below the picker. Toggling it reveals dedicated 1-D sliders for hue and
140
+ * saturation alongside the existing brightness/alpha strips, giving keyboard
141
+ * and screen-reader users a 1-D path for every channel without having to
142
+ * spatialise the 2-D wheel. Set to false to hide both the toggle and the
143
+ * channel sliders entirely (e.g. when the consuming app provides its own
144
+ * accessibility settings UI).
145
+ */
146
+ showAccessibilityToggle: _angular_core.InputSignal<boolean>;
147
+ channelSlidersVisible: _angular_core.ModelSignal<boolean>;
122
148
  hs: _angular_core.WritableSignal<HS>;
123
149
  brightness: _angular_core.WritableSignal<number>;
124
150
  alpha: _angular_core.ModelSignal<number>;
@@ -132,7 +158,41 @@ declare class BsColorPickerComponent {
132
158
  onUserBrightnessChange(brightness: number): void;
133
159
  onUserAlphaChange(alpha: number): void;
134
160
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsColorPickerComponent, never>;
135
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsColorPickerComponent, "bs-color-picker", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "allowAlpha": { "alias": "allowAlpha"; "required": false; "isSignal": true; }; "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; }, { "alpha": "alphaChange"; }, never, never, true, [{ directive: typeof BsColorPickerValueAccessor; inputs: {}; outputs: {}; }]>;
161
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsColorPickerComponent, "bs-color-picker", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "allowAlpha": { "alias": "allowAlpha"; "required": false; "isSignal": true; }; "showAccessibilityToggle": { "alias": "showAccessibilityToggle"; "required": false; "isSignal": true; }; "channelSlidersVisible": { "alias": "channelSlidersVisible"; "required": false; "isSignal": true; }; "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; }, { "channelSlidersVisible": "channelSlidersVisibleChange"; "alpha": "alphaChange"; }, never, never, true, [{ directive: typeof BsColorPickerValueAccessor; inputs: {}; outputs: {}; }]>;
162
+ }
163
+
164
+ /**
165
+ * Hue picker — a horizontal rainbow strip backed by `bs-slider`. Two-way
166
+ * `[(hs)]` keeps the saturation untouched; only `hs.hue` (0–360°) changes.
167
+ * Inherits the slider's APG keyboard model (Arrow keys, Home/End, PageUp/Down).
168
+ */
169
+ declare class BsHueStripComponent {
170
+ disabled: _angular_core.InputSignal<boolean>;
171
+ hs: _angular_core.ModelSignal<HS>;
172
+ /** Hue normalized to 0..1 for the underlying bs-slider (which works in 0..1). */
173
+ normalizedHue: _angular_core.Signal<number>;
174
+ /** Rainbow gradient — every hue at full saturation/lightness. */
175
+ readonly trackGradient: string;
176
+ thumbBackground: _angular_core.Signal<string>;
177
+ onValueChange(v: number): void;
178
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsHueStripComponent, never>;
179
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsHueStripComponent, "bs-hue-strip", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hs": { "alias": "hs"; "required": false; "isSignal": true; }; }, { "hs": "hsChange"; }, never, never, true, never>;
180
+ }
181
+
182
+ /**
183
+ * Saturation picker — a horizontal grey-to-pure-colour strip backed by
184
+ * `bs-slider`. Two-way `[(hs)]` keeps the hue untouched; only `hs.saturation`
185
+ * (0–1) changes. The track gradient re-derives from the current hue so the
186
+ * preview always matches what the user is about to pick.
187
+ */
188
+ declare class BsSaturationStripComponent {
189
+ disabled: _angular_core.InputSignal<boolean>;
190
+ hs: _angular_core.ModelSignal<HS>;
191
+ trackGradient: _angular_core.Signal<string>;
192
+ thumbBackground: _angular_core.Signal<string>;
193
+ onValueChange(v: number): void;
194
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsSaturationStripComponent, never>;
195
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsSaturationStripComponent, "bs-saturation-strip", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hs": { "alias": "hs"; "required": false; "isSignal": true; }; }, { "hs": "hsChange"; }, never, never, true, never>;
136
196
  }
137
197
 
138
198
  declare class BsSliderComponent {
@@ -140,15 +200,26 @@ declare class BsSliderComponent {
140
200
  readonly thumb: _angular_core.Signal<ElementRef<HTMLDivElement>>;
141
201
  disabled: _angular_core.InputSignal<boolean>;
142
202
  value: _angular_core.ModelSignal<number>;
203
+ /** Accessible name for SR users. e.g. "Brightness", "Alpha", "Hue". */
204
+ ariaLabel: _angular_core.InputSignal<string | null>;
205
+ /** Multiplier applied to the 0..1 value when reporting it through aria-valuenow / aria-valuemax / aria-valuetext. 100 = percent (default); 360 = degrees; 255 = byte; etc. */
206
+ valueScale: _angular_core.InputSignal<number>;
207
+ /** Suffix appended to aria-valuetext after the scaled number. Defaults to "%". Use "°" for hue, "" for unitless. */
208
+ valueUnit: _angular_core.InputSignal<string>;
143
209
  private isPointerDown;
144
210
  thumbLeft: _angular_core.Signal<string>;
145
211
  cursorClass: _angular_core.Signal<string>;
212
+ /** Scaled current value for aria-valuenow (e.g. 0..100 for percent, 0..360 for hue). */
213
+ ariaValueNow: _angular_core.Signal<number>;
214
+ /** Human-readable value for SR with the configured unit. */
215
+ ariaValueText: _angular_core.Signal<string>;
146
216
  onPointerDown(ev: MouseEvent | TouchEvent): void;
147
217
  onPointerMove(ev: MouseEvent | TouchEvent): void;
148
218
  onPointerUp(_ev: MouseEvent | TouchEvent): void;
219
+ onKeydown(ev: KeyboardEvent): void;
149
220
  private updateColor;
150
221
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsSliderComponent, never>;
151
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsSliderComponent, "bs-slider", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["[bsTrack]", "[bsThumb]"], true, never>;
222
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsSliderComponent, "bs-slider", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "valueScale": { "alias": "valueScale"; "required": false; "isSignal": true; }; "valueUnit": { "alias": "valueUnit"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["[bsTrack]", "[bsThumb]"], true, never>;
152
223
  }
153
224
  declare class BsThumbDirective {
154
225
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsThumbDirective, never>;
@@ -161,5 +232,5 @@ declare class BsTrackDirective {
161
232
 
162
233
  type HtmlColor = `#${string}`;
163
234
 
164
- export { BsAlphaStripComponent, BsBrightnessStripComponent, BsColorPickerComponent, BsColorPickerValueAccessor, BsColorWheelComponent, BsSliderComponent, BsThumbDirective, BsTrackDirective, hex2hsv, hex2rgb, hs2polar, hsl2hsv, hsl2rgb, hsv2hex, hsv2hsl, hsv2rgb, polar2hs, rgb2hex, rgb2hsl, rgb2hsv };
235
+ export { BsAlphaStripComponent, BsBrightnessStripComponent, BsColorPickerComponent, BsColorPickerValueAccessor, BsColorWheelComponent, BsHueStripComponent, BsSaturationStripComponent, BsSliderComponent, BsThumbDirective, BsTrackDirective, hex2hsv, hex2rgb, hs2polar, hsl2hsv, hsl2rgb, hsv2hex, hsv2hsl, hsv2rgb, polar2hs, rgb2hex, rgb2hsl, rgb2hsv };
165
236
  export type { HS, HslColor, HsvColor, HtmlColor, RgbColor };
@@ -32,7 +32,7 @@ declare abstract class DatatableSortBase {
32
32
  getSortIndex(columnName: string): number;
33
33
  getSortDirection(columnName: string): 'ascending' | 'descending' | null;
34
34
  onHeaderMouseDown(event: MouseEvent): void;
35
- columnHeaderClicked(column: BsDatatableColumnDirective, event: MouseEvent): void;
35
+ columnHeaderClicked(column: BsDatatableColumnDirective, event: Event): void;
36
36
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatatableSortBase, never>;
37
37
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DatatableSortBase, never, never, { "settings": { "alias": "settings"; "required": false; "isSignal": true; }; }, { "settings": "settingsChange"; }, ["columns"], never, true, never>;
38
38
  }
@@ -96,6 +96,14 @@ declare class MintDockManagerElement extends LitElement {
96
96
  private dropJoystick;
97
97
  private dropJoystickButtons;
98
98
  private readonly instanceId;
99
+ private readonly liveAnnouncer;
100
+ /**
101
+ * Active keyboard-driven pane move (Phase 7 of WC ARIA PRD). The user
102
+ * pressed M on a focused tab; until they pick a destination key (T/R/B/L
103
+ * to dock to a side, F to float) or Escape, we intercept letter keys and
104
+ * route them to the synthetic-drop pipeline.
105
+ */
106
+ private paneMoveMode;
99
107
  private dropJoystickTarget;
100
108
  private rootLayout;
101
109
  private floatingLayouts;
@@ -146,6 +154,18 @@ declare class MintDockManagerElement extends LitElement {
146
154
  private onSplitterResize;
147
155
  private scheduleRenderIntersectionHandles;
148
156
  private renderIntersectionHandles;
157
+ /**
158
+ * Keyboard resize on a focused intersection handle. ArrowLeft/Right resize
159
+ * the vertical divider the handle sits on; ArrowUp/Down resize the
160
+ * horizontal divider. Home/End shrink/grow the leading panel of whichever
161
+ * axis is implied by the key. Shift = fine 1% step.
162
+ *
163
+ * Internally delegates to mp-splitter.resizeDividerBy() so the percent-step
164
+ * + clamp math lives in one place. If a 2D handle straddles multiple split
165
+ * pairs (sibling splitters whose dividers happen to overlap), the first
166
+ * pair drives — same precedence as the pointer drag path.
167
+ */
168
+ private onIntersectionKeyDown;
149
169
  private beginCornerResize;
150
170
  private handleCornerResizeMove;
151
171
  private endCornerResize;
@@ -295,6 +315,37 @@ declare class MintDockManagerElement extends LitElement {
295
315
  private setActivePaneForLocation;
296
316
  private reorderPaneInLocation;
297
317
  private removeFloatingAt;
318
+ /**
319
+ * Keyboard handler on the dock root, registered in capture phase so it
320
+ * runs before mp-tab-control's shadow-internal handlers swallow Arrow /
321
+ * Home / End / Enter. M opens move mode on a focused tab; subsequent
322
+ * letter keys (T/R/B/L/F) commit the move; Escape cancels.
323
+ */
324
+ private onRootKeyDown;
325
+ private handlePaneMoveModeKey;
326
+ /**
327
+ * Walk the focused element through nested shadow roots to find a focused
328
+ * tab button, then map it back to the dock's pane name + source path via
329
+ * the data attributes on the slotted .dock-tab span.
330
+ */
331
+ private findFocusedPaneOrigin;
332
+ /**
333
+ * Synthesise a minimal dragState so handleDrop's existing pipeline can
334
+ * commit the keyboard-driven move. handleDrop reads {pane, sourcePath,
335
+ * dropHandled} — the rest of dragState is pointer-drag bookkeeping that
336
+ * doesn't apply here.
337
+ */
338
+ private synthesiseDragStateForKeyboardMove;
339
+ private commitPaneMoveToZone;
340
+ private commitPaneMoveAsFloat;
341
+ /**
342
+ * Close a floating pane via the chrome's close button (or any external
343
+ * caller). Announces the close to SR users, redraws the dock, and emits a
344
+ * layout-changed event. Phase 4 of the WC ARIA PRD — the floating chrome
345
+ * had no close affordance before this; users had to programmatically pop
346
+ * the pane out of `floatingLayouts`.
347
+ */
348
+ private closeFloatingPane;
298
349
  private removePaneFromFloating;
299
350
  private normalizeSizesArray;
300
351
  private normalizeSplitNode;
@@ -1,21 +1,66 @@
1
+ import * as _mintplayer_ng_bootstrap_dropdown from '@mintplayer/ng-bootstrap/dropdown';
1
2
  import * as _angular_core from '@angular/core';
2
- import { AfterViewInit } from '@angular/core';
3
+ import { ElementRef, AfterViewInit } from '@angular/core';
4
+
5
+ declare class BsDropdownItemComponent {
6
+ private parent;
7
+ private menu;
8
+ /** Public so BsDropdownMenuComponent can imperatively focus this item during keyboard nav. */
9
+ readonly elementRef: ElementRef<HTMLElement>;
10
+ private ids;
11
+ readonly isSelected: _angular_core.InputSignal<boolean>;
12
+ readonly disabled: _angular_core.InputSignal<boolean>;
13
+ readonly itemRole: _angular_core.Signal<"option" | "menuitem">;
14
+ readonly ariaSelected: _angular_core.Signal<"true" | "false" | null>;
15
+ /**
16
+ * Roving tabindex in menu mode: the focused item is 0, others -1.
17
+ * In listbox mode (typeahead/select2/etc.), the consumer applies bsRovingFocusItem
18
+ * externally for activedescendant management; this binding stays null so it
19
+ * doesn't fight that directive.
20
+ */
21
+ readonly tabindex: _angular_core.Signal<number | null>;
22
+ /**
23
+ * Resolved after first render so static `id="…"` attributes set by the consumer
24
+ * and any sibling host bindings have applied first. Read-only access for any
25
+ * other directive on the same element (e.g. BsRovingFocusItem) that needs a
26
+ * stable target id for aria-activedescendant.
27
+ */
28
+ get itemId(): string;
29
+ constructor();
30
+ onFocus(): void;
31
+ onActivate(event: Event): void;
32
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsDropdownItemComponent, never>;
33
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsDropdownItemComponent, "bs-dropdown-item", never, { "isSelected": { "alias": "isSelected"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
34
+ }
3
35
 
4
36
  declare class BsDropdownMenuComponent implements AfterViewInit {
5
37
  private bsDropdown;
6
38
  readonly maxHeight: _angular_core.InputSignal<number | null>;
7
39
  dropdownWith: _angular_core.WritableSignal<string | null>;
40
+ readonly menuRole: _angular_core.Signal<_mintplayer_ng_bootstrap_dropdown.BsDropdownPopupRole | null>;
41
+ readonly menuId: _angular_core.Signal<string | null>;
42
+ /**
43
+ * Items projected into this menu. Used in menu mode (popupRole='menu') to
44
+ * implement roving-tabindex keyboard navigation. In listbox mode, callers
45
+ * (typeahead/select2/etc.) typically apply their own bsRovingFocus directly,
46
+ * so this menu's keyboard handler is a no-op.
47
+ */
48
+ readonly dropdownItems: _angular_core.Signal<readonly BsDropdownItemComponent[]>;
49
+ /** True when this is a plain menu (default), false when used as a combobox listbox. */
50
+ readonly isMenuMode: _angular_core.Signal<boolean>;
51
+ /** Index into dropdownItems() of the item that currently holds the roving tabindex (menu mode). */
52
+ readonly focusedIndex: _angular_core.WritableSignal<number>;
53
+ isItemFocused(item: BsDropdownItemComponent): boolean;
54
+ setFocusedItem(item: BsDropdownItemComponent): void;
8
55
  onResize(): void;
9
56
  ngAfterViewInit(): void;
57
+ onKeydown(event: KeyboardEvent): void;
58
+ private moveFocus;
59
+ private firstEnabledIndex;
60
+ private lastEnabledIndex;
61
+ private moveTo;
10
62
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsDropdownMenuComponent, never>;
11
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsDropdownMenuComponent, "bs-dropdown-menu", never, { "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
12
- }
13
-
14
- declare class BsDropdownItemComponent {
15
- readonly isSelected: _angular_core.InputSignal<boolean>;
16
- readonly disabled: _angular_core.InputSignal<boolean>;
17
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsDropdownItemComponent, never>;
18
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsDropdownItemComponent, "bs-dropdown-item", never, { "isSelected": { "alias": "isSelected"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
63
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsDropdownMenuComponent, "bs-dropdown-menu", never, { "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; }, {}, ["dropdownItems"], ["*"], true, never>;
19
64
  }
20
65
 
21
66
  export { BsDropdownItemComponent, BsDropdownMenuComponent };
@@ -1,5 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { ElementRef } from '@angular/core';
3
+ import { BsRovingFocusDirective } from '@mintplayer/ng-bootstrap/a11y';
3
4
  import { ClickOutsideDirective } from '@mintplayer/ng-click-outside';
4
5
 
5
6
  declare class BsDropdownMenuDirective extends ClickOutsideDirective {
@@ -9,9 +10,11 @@ declare class BsDropdownMenuDirective extends ClickOutsideDirective {
9
10
  private overlay;
10
11
  private destroy;
11
12
  private bsDevelopment;
13
+ private overlayStack;
12
14
  private wait;
13
15
  private overlayRef;
14
16
  private templatePortal;
17
+ private stackToken;
15
18
  constructor();
16
19
  clickedOutside(event: Event): void;
17
20
  onEscape(event: Event): void;
@@ -29,19 +32,71 @@ declare class BsDropdownToggleDirective {
29
32
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsDropdownToggleDirective, "[bsDropdownToggle]", never, {}, {}, never, never, true, never>;
30
33
  }
31
34
 
35
+ type BsDropdownPopupRole = 'menu' | 'listbox';
32
36
  declare class BsDropdownDirective {
33
37
  elementRef: ElementRef<HTMLElement>;
34
38
  private bsDevelopment;
39
+ private ids;
35
40
  readonly menu: _angular_core.Signal<BsDropdownMenuDirective>;
36
41
  readonly toggle: _angular_core.Signal<BsDropdownToggleDirective | undefined>;
42
+ readonly rovingFocus: _angular_core.Signal<BsRovingFocusDirective | undefined>;
37
43
  hasBackdrop: _angular_core.InputSignal<boolean>;
38
44
  sameWidth: _angular_core.InputSignal<boolean>;
39
45
  closeOnClickOutside: _angular_core.InputSignal<boolean>;
40
46
  sameDropdownWidth: _angular_core.InputSignal<boolean>;
41
47
  isOpen: _angular_core.ModelSignal<boolean>;
48
+ readonly popupRole: _angular_core.InputSignal<BsDropdownPopupRole>;
49
+ /** Reactive id used for the menu's host id and for the toggle's aria-controls. Empty until afterNextRender resolves the host's static id (or generates one), so sibling host bindings on the wrapper element get a chance to land first. */
50
+ private _menuId;
51
+ readonly menuId: _angular_core.Signal<string>;
52
+ constructor();
42
53
  onBlur(): void;
43
54
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsDropdownDirective, never>;
44
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsDropdownDirective, "[bsDropdown]", never, { "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "sameWidth": { "alias": "sameWidth"; "required": false; "isSignal": true; }; "closeOnClickOutside": { "alias": "closeOnClickOutside"; "required": false; "isSignal": true; }; "sameDropdownWidth": { "alias": "sameDropdownWidth"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; }, ["menu", "toggle"], never, true, never>;
55
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsDropdownDirective, "[bsDropdown]", ["bsDropdown"], { "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "sameWidth": { "alias": "sameWidth"; "required": false; "isSignal": true; }; "closeOnClickOutside": { "alias": "closeOnClickOutside"; "required": false; "isSignal": true; }; "sameDropdownWidth": { "alias": "sameDropdownWidth"; "required": false; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; "popupRole": { "alias": "popupRole"; "required": false; "isSignal": true; }; }, { "isOpen": "isOpenChange"; }, ["menu", "toggle", "rovingFocus"], never, true, never>;
56
+ }
57
+
58
+ type BsComboboxAutocomplete = 'none' | 'list' | 'inline' | 'both';
59
+ type BsComboboxNavigateDirection = 'next' | 'prev' | 'first' | 'last';
60
+ /**
61
+ * APG Combobox pattern — turns a plain `<input>` into a combobox that drives
62
+ * an adjacent `bsDropdown` popup (typeahead, select2, multiselect, searchbox).
63
+ *
64
+ * The directive owns the input-side ARIA wiring:
65
+ * - `role="combobox"` on the host
66
+ * - `aria-expanded` / `aria-controls` derived from the parent dropdown
67
+ * - `aria-activedescendant` mirroring the dropdown's `bsRovingFocus` active id
68
+ * - `aria-autocomplete` (defaults to `"list"`)
69
+ *
70
+ * Keyboard model:
71
+ * - **ArrowUp/Down/Home/End** — opens the popup if closed; once open,
72
+ * forwards to the dropdown's `bsRovingFocus` (or emits a `navigate` event
73
+ * if no roving-focus is found, so consumers can manage navigation manually).
74
+ * - **Enter** — fires `activate` so the consumer can commit the highlighted
75
+ * option. `stopImmediatePropagation` is called to keep sibling
76
+ * `(keydown.enter)` listeners on the same input (e.g. "submit free-text
77
+ * search") from also firing on the same Enter.
78
+ * - **Escape** — closes the popup and fires `cancel`.
79
+ * - **Tab** — hybrid behaviour: while the popup is open and a roving-focus
80
+ * is present, Tab advances the active descendant; at the boundary, Tab
81
+ * closes the popup and falls through to the browser's default tab order.
82
+ */
83
+ declare class BsComboboxDirective {
84
+ private dropdown;
85
+ /** Aliased to bsComboboxAutocomplete to avoid colliding with the host input's native HTML autocomplete attribute. */
86
+ readonly autocomplete: _angular_core.InputSignal<BsComboboxAutocomplete>;
87
+ /** Override the auto-derived activeDescendant. Defaults to dropdown.rovingFocus()'s id when present. */
88
+ readonly activeDescendant: _angular_core.InputSignal<string | null>;
89
+ readonly expanded: _angular_core.Signal<boolean>;
90
+ readonly controls: _angular_core.Signal<string | null>;
91
+ readonly resolvedActiveDescendant: _angular_core.Signal<string | null>;
92
+ /** Fires only when no BsRovingFocus is found inside the parent dropdown — otherwise arrow keys are forwarded automatically. */
93
+ readonly navigate: _angular_core.OutputEmitterRef<BsComboboxNavigateDirection>;
94
+ readonly activate: _angular_core.OutputEmitterRef<KeyboardEvent>;
95
+ readonly cancel: _angular_core.OutputEmitterRef<KeyboardEvent>;
96
+ onKeydown(event: KeyboardEvent): void;
97
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsComboboxDirective, never>;
98
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BsComboboxDirective, "input[bsCombobox]", ["bsCombobox"], { "autocomplete": { "alias": "bsComboboxAutocomplete"; "required": false; "isSignal": true; }; "activeDescendant": { "alias": "activeDescendant"; "required": false; "isSignal": true; }; }, { "navigate": "navigate"; "activate": "activate"; "cancel": "cancel"; }, never, never, true, never>;
45
99
  }
46
100
 
47
- export { BsDropdownDirective, BsDropdownMenuDirective, BsDropdownToggleDirective };
101
+ export { BsComboboxDirective, BsDropdownDirective, BsDropdownMenuDirective, BsDropdownToggleDirective };
102
+ export type { BsComboboxAutocomplete, BsComboboxNavigateDirection, BsDropdownPopupRole };
@@ -9,9 +9,12 @@ interface FileUpload {
9
9
  }
10
10
 
11
11
  declare class BsFileUploadComponent {
12
+ private announcer;
12
13
  readonly dropFilesCaption: _angular_core.InputSignal<string>;
13
14
  readonly browseFilesCaption: _angular_core.InputSignal<string>;
14
15
  readonly placeholder: _angular_core.InputSignal<string>;
16
+ readonly ariaLabel: _angular_core.InputSignal<string>;
17
+ readonly inputAriaLabel: _angular_core.InputSignal<string>;
15
18
  readonly colors: typeof Color;
16
19
  isDraggingFile: _angular_core.WritableSignal<boolean>;
17
20
  readonly fileTemplate: _angular_core.WritableSignal<TemplateRef<FileUpload> | undefined>;
@@ -23,7 +26,7 @@ declare class BsFileUploadComponent {
23
26
  onDrop(event: DragEvent): void;
24
27
  private processDroppedFiles;
25
28
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsFileUploadComponent, never>;
26
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsFileUploadComponent, "bs-file-upload", never, { "dropFilesCaption": { "alias": "dropFilesCaption"; "required": false; "isSignal": true; }; "browseFilesCaption": { "alias": "browseFilesCaption"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "files": { "alias": "files"; "required": false; "isSignal": true; }; }, { "files": "filesChange"; "filesDropped": "filesDropped"; }, never, never, true, never>;
29
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsFileUploadComponent, "bs-file-upload", never, { "dropFilesCaption": { "alias": "dropFilesCaption"; "required": false; "isSignal": true; }; "browseFilesCaption": { "alias": "browseFilesCaption"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "inputAriaLabel": { "alias": "inputAriaLabel"; "required": false; "isSignal": true; }; "files": { "alias": "files"; "required": false; "isSignal": true; }; }, { "files": "filesChange"; "filesDropped": "filesDropped"; }, never, never, true, never>;
27
30
  }
28
31
 
29
32
  declare class BsFileUploadTemplateDirective {
@@ -1,5 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
2
 
3
+ /**
4
+ * Marker component whose only job is to pull in @angular/cdk/overlay-prebuilt
5
+ * CSS via its SCSS (::ng-deep import). The template is intentionally empty;
6
+ * placing <bs-has-overlay></bs-has-overlay> inside any component that opens a
7
+ * CDK overlay (modal, offcanvas, popover, dropdown-based pickers, etc.)
8
+ * guarantees the overlay container's positioning styles ship with the component
9
+ * bundle, regardless of whether the host app pulled them in globally.
10
+ *
11
+ * The audit (docs/prd/aria-accessibility-audit.md §5.1) flagged this as
12
+ * "empty, purpose unclear" and suggested it should hide background content
13
+ * via aria-hidden/inert when an overlay is open. That responsibility lives in
14
+ * BsOverlayFocus + each per-component overlay logic (modal hides app-root,
15
+ * popover doesn't), not here. has-overlay is and remains a CSS-injection marker.
16
+ */
3
17
  declare class BsHasOverlayComponent {
4
18
  static ɵfac: i0.ɵɵFactoryDeclaration<BsHasOverlayComponent, never>;
5
19
  static ɵcmp: i0.ɵɵComponentDeclaration<BsHasOverlayComponent, "bs-has-overlay", never, {}, {}, never, never, true, never>;
@@ -1,8 +1,9 @@
1
1
  import * as i0 from '@angular/core';
2
2
 
3
3
  declare class BsMarqueeComponent {
4
+ readonly ariaLabel: i0.InputSignal<string | null>;
4
5
  static ɵfac: i0.ɵɵFactoryDeclaration<BsMarqueeComponent, never>;
5
- static ɵcmp: i0.ɵɵComponentDeclaration<BsMarqueeComponent, "bs-marquee", never, {}, {}, never, ["*"], true, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<BsMarqueeComponent, "bs-marquee", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
6
7
  }
7
8
 
8
9
  export { BsMarqueeComponent };
@@ -1,10 +1,24 @@
1
1
  import * as i0 from '@angular/core';
2
- import { TemplateRef, AfterViewInit, OnDestroy, ComponentRef } from '@angular/core';
2
+ import { TemplateRef, Injector, AfterViewInit, OnDestroy, ComponentRef } from '@angular/core';
3
3
  import { OverlayRef } from '@angular/cdk/overlay';
4
4
 
5
+ /**
6
+ * Component-scoped state shared between BsModalComponent (the dialog renderer)
7
+ * and the bsModalHeader / bsModalBody directives applied to the user's template.
8
+ * Provides the ids for aria-labelledby and aria-describedby.
9
+ */
10
+ declare class BsModalContextService {
11
+ readonly headerId: i0.WritableSignal<string | null>;
12
+ readonly bodyId: i0.WritableSignal<string | null>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<BsModalContextService, never>;
14
+ static ɵprov: i0.ɵɵInjectableDeclaration<BsModalContextService>;
15
+ }
16
+
5
17
  declare class BsModalComponent {
6
18
  template: TemplateRef<any>;
7
19
  isOpen: i0.WritableSignal<boolean>;
20
+ context: BsModalContextService;
21
+ injector: Injector;
8
22
  static ɵfac: i0.ɵɵFactoryDeclaration<BsModalComponent, never>;
9
23
  static ɵcmp: i0.ɵɵComponentDeclaration<BsModalComponent, "bs-modal-content", never, {}, {}, never, never, true, never>;
10
24
  }
@@ -14,6 +28,8 @@ declare class BsModalHostComponent implements AfterViewInit, OnDestroy {
14
28
  private parentInjector;
15
29
  private portalFactory;
16
30
  private componentFactoryResolver;
31
+ private overlayStack;
32
+ private stackToken;
17
33
  overlayRef: OverlayRef;
18
34
  componentInstance?: ComponentRef<BsModalComponent>;
19
35
  template: TemplateRef<any>;
@@ -34,11 +50,19 @@ declare class BsModalDirective {
34
50
  }
35
51
 
36
52
  declare class BsModalHeaderDirective {
53
+ private el;
54
+ private ids;
55
+ private context;
56
+ constructor();
37
57
  static ɵfac: i0.ɵɵFactoryDeclaration<BsModalHeaderDirective, never>;
38
58
  static ɵdir: i0.ɵɵDirectiveDeclaration<BsModalHeaderDirective, "[bsModalHeader]", never, {}, {}, never, never, true, never>;
39
59
  }
40
60
 
41
61
  declare class BsModalBodyDirective {
62
+ private el;
63
+ private ids;
64
+ private context;
65
+ constructor();
42
66
  static ɵfac: i0.ɵɵFactoryDeclaration<BsModalBodyDirective, never>;
43
67
  static ɵdir: i0.ɵɵDirectiveDeclaration<BsModalBodyDirective, "[bsModalBody]", never, {}, {}, never, never, true, never>;
44
68
  }
@@ -10,13 +10,14 @@ declare class BsMultiselectComponent<T> {
10
10
  readonly colors: typeof Color;
11
11
  readonly items: _angular_core.ModelSignal<T[]>;
12
12
  readonly selectedItems: _angular_core.ModelSignal<T[]>;
13
+ readonly ariaLabel: _angular_core.InputSignal<string>;
13
14
  readonly defaultButtonTemplate: _angular_core.Signal<TemplateRef<any>>;
14
15
  readonly defaultItemTemplate: _angular_core.Signal<TemplateRef<any>>;
15
16
  readonly resolvedButtonTemplate: _angular_core.Signal<TemplateRef<any>>;
16
17
  readonly resolvedItemTemplate: _angular_core.Signal<TemplateRef<any>>;
17
18
  itemChange(item: T, value: boolean | null): void;
18
19
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsMultiselectComponent<any>, never>;
19
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsMultiselectComponent<any>, "bs-multiselect", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; "selectedItems": "selectedItemsChange"; }, never, never, true, never>;
20
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsMultiselectComponent<any>, "bs-multiselect", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "items": "itemsChange"; "selectedItems": "selectedItemsChange"; }, never, never, true, never>;
20
21
  }
21
22
 
22
23
  declare class BsHeaderTemplateDirective<T> {
@@ -3,9 +3,11 @@ import * as _angular_core from '@angular/core';
3
3
  declare class BsNavbarTogglerComponent {
4
4
  state: _angular_core.ModelSignal<boolean>;
5
5
  toggleOnClick: _angular_core.InputSignal<boolean>;
6
- toggleState(ev: MouseEvent): void;
6
+ ariaLabel: _angular_core.InputSignal<string>;
7
+ controls: _angular_core.InputSignal<string | null>;
8
+ toggleState(): void;
7
9
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsNavbarTogglerComponent, never>;
8
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsNavbarTogglerComponent, "bs-navbar-toggler", never, { "state": { "alias": "state"; "required": false; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; }, { "state": "stateChange"; }, never, never, true, never>;
10
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsNavbarTogglerComponent, "bs-navbar-toggler", never, { "state": { "alias": "state"; "required": false; "isSignal": true; }; "toggleOnClick": { "alias": "toggleOnClick"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "controls": { "alias": "controls"; "required": false; "isSignal": true; }; }, { "state": "stateChange"; }, never, never, true, never>;
9
11
  }
10
12
 
11
13
  export { BsNavbarTogglerComponent };
@@ -4,10 +4,21 @@ import { Color, Breakpoint } from '@mintplayer/ng-bootstrap';
4
4
 
5
5
  declare class BsNavbarComponent {
6
6
  private resizeTimeout;
7
+ private ids;
8
+ private platformId;
9
+ /** True only during SSR — drives the noscript-friendly checkbox+label
10
+ * toggler in the template. In the browser, even during hydration, this is
11
+ * false so the original <button> renders.
12
+ */
13
+ readonly isServerSide: boolean;
7
14
  constructor();
8
15
  onWindowResize(): void;
9
16
  readonly nav: _angular_core.Signal<ElementRef<any>>;
10
17
  autoclose: _angular_core.InputSignal<boolean>;
18
+ ariaLabel: _angular_core.InputSignal<string>;
19
+ collapseId: _angular_core.InputSignal<string>;
20
+ /** Stable id for the noscript-friendly toggler-checkbox (label[for] target). */
21
+ readonly togglerCheckboxId: string;
11
22
  expandButtonTemplate: _angular_core.WritableSignal<TemplateRef<any> | null>;
12
23
  isExpanded: _angular_core.WritableSignal<boolean>;
13
24
  windowWidth: _angular_core.WritableSignal<number | null>;
@@ -23,7 +34,7 @@ declare class BsNavbarComponent {
23
34
  navClassList: _angular_core.Signal<string[]>;
24
35
  toggleExpanded(): void;
25
36
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsNavbarComponent, never>;
26
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsNavbarComponent, "bs-navbar", never, { "autoclose": { "alias": "autoclose"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "breakpoint": { "alias": "breakpoint"; "required": false; "isSignal": true; }; }, {}, never, ["bs-navbar-brand", "*"], true, never>;
37
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BsNavbarComponent, "bs-navbar", never, { "autoclose": { "alias": "autoclose"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "collapseId": { "alias": "collapseId"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "breakpoint": { "alias": "breakpoint"; "required": false; "isSignal": true; }; }, {}, never, ["bs-navbar-brand", "*"], true, never>;
27
38
  }
28
39
 
29
40
  declare class BsNavbarBrandComponent implements AfterContentChecked {
@@ -65,6 +76,19 @@ declare class BsNavbarDropdownComponent implements OnDestroy {
65
76
  isBrowser: boolean;
66
77
  isVisible: _angular_core.WritableSignal<boolean>;
67
78
  topPos: _angular_core.WritableSignal<number | null>;
79
+ /**
80
+ * Top-level dropdowns render in-place; only nested submenus go through the
81
+ * CDK overlay. The visible-flash bug only affects the overlay path.
82
+ */
83
+ private readonly isOverlayMounted;
84
+ /**
85
+ * `.show` is gated on this for overlay-mounted submenus so the user never
86
+ * sees the menu at its stale top-left position. False until updatePosition
87
+ * has run at least once for the current open cycle; reset on close.
88
+ */
89
+ private readonly isPositioned;
90
+ /** What `[class.show]` actually binds to. */
91
+ readonly showClass: _angular_core.Signal<boolean>;
68
92
  maxHeight: _angular_core.Signal<string | null>;
69
93
  maxHeightOrNull: _angular_core.Signal<string | null>;
70
94
  constructor();
@@ -1,11 +1,25 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { TemplateRef, AfterViewInit, OnDestroy, ComponentRef } from '@angular/core';
2
+ import { TemplateRef, Injector, AfterViewInit, OnDestroy, ComponentRef } from '@angular/core';
3
3
  import { Position } from '@mintplayer/ng-bootstrap';
4
4
  import { OverlayRef } from '@angular/cdk/overlay';
5
5
 
6
+ /**
7
+ * Component-scoped state shared between BsOffcanvasComponent (the dialog renderer)
8
+ * and the bs-offcanvas-header / bs-offcanvas-body components inside the user's
9
+ * template. Provides the ids for aria-labelledby and aria-describedby.
10
+ */
11
+ declare class BsOffcanvasContextService {
12
+ readonly headerId: _angular_core.WritableSignal<string | null>;
13
+ readonly bodyId: _angular_core.WritableSignal<string | null>;
14
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BsOffcanvasContextService, never>;
15
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<BsOffcanvasContextService>;
16
+ }
17
+
6
18
  declare class BsOffcanvasComponent {
7
19
  contentTemplate: TemplateRef<any>;
8
20
  private platformId;
21
+ context: BsOffcanvasContextService;
22
+ injector: Injector;
9
23
  constructor();
10
24
  position: _angular_core.WritableSignal<Position>;
11
25
  size: _angular_core.WritableSignal<number | null>;
@@ -27,12 +41,20 @@ declare class BsOffcanvasComponent {
27
41
  }
28
42
 
29
43
  declare class OffcanvasHeaderComponent {
44
+ private el;
45
+ private ids;
46
+ private context;
47
+ constructor();
30
48
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OffcanvasHeaderComponent, never>;
31
49
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OffcanvasHeaderComponent, "bs-offcanvas-header", never, {}, {}, never, ["*"], true, never>;
32
50
  }
33
51
 
34
52
  declare class OffcanvasBodyComponent {
53
+ private el;
54
+ private ids;
55
+ private context;
35
56
  readonly noPadding: _angular_core.InputSignal<boolean>;
57
+ constructor();
36
58
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OffcanvasBodyComponent, never>;
37
59
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OffcanvasBodyComponent, "bs-offcanvas-body", never, { "noPadding": { "alias": "noPadding"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
38
60
  }