@open-rlb/ng-bootstrap 3.3.41 → 3.3.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@open-rlb/ng-bootstrap",
3
- "version": "3.3.41",
3
+ "version": "3.3.43",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": ">=21.0.0 <22.0.0",
6
6
  "@angular/common": ">=21.0.0 <22.0.0",
@@ -125,9 +125,21 @@ type TextAlignment = 'left' | 'center' | 'right';
125
125
  >
126
126
  3
127
127
  </span>
128
+ <span
129
+ rlb-badge
130
+ color="warning"
131
+ [soft]="true"
132
+ >
133
+ Pending
134
+ </span>
128
135
  ```
129
136
 
130
- **Inputs:** `color`, `pill`, `border`, `hidden-text`, `class`, `badge-text-color`
137
+ **Inputs:** `color`, `pill`, `border`, `soft`, `hidden-text`, `class`, `badge-text-color`
138
+
139
+ `soft` (default `false`) swaps the solid fill for a tinted surface with emphasis text. It is
140
+ theme-aware (re-derives under `[data-bs-theme]`) and AA-legible in both light and dark, unlike the
141
+ solid variants whose fixed text colour fails on several colours. Also on the `[badge]` directive as
142
+ `badge-soft` — ignored for `badge-dot`, which stays solid.
131
143
 
132
144
  ---
133
145
 
@@ -205,24 +217,55 @@ type TextAlignment = 'left' | 'center' | 'right';
205
217
 
206
218
  ## Tabs
207
219
 
220
+ `rlb-tabs` holds the tab strip; `rlb-tab-content` holds the panes. Each `rlb-tab`'s `target`
221
+ must equal its `rlb-tab-pane`'s `id`. Seed the initially-open tab/pane with `active`. The tab
222
+ label is projected content, so you can put a `rlb-badge` count inside it.
223
+
208
224
  ```html
209
- <rlb-tabs
210
- view="tab"
211
- [vertical]="false"
212
- fill="fill"
213
- >
214
- <rlb-tab title="Tab 1">Content for tab 1</rlb-tab>
215
- <rlb-tab title="Tab 2">Content for tab 2</rlb-tab>
225
+ <rlb-tabs view="tab">
216
226
  <rlb-tab
217
- title="Tab 3"
227
+ target="home"
228
+ active
229
+ >
230
+ Home
231
+ </rlb-tab>
232
+ <rlb-tab target="profile">
233
+ Profile
234
+ <span
235
+ rlb-badge
236
+ color="secondary"
237
+ [pill]="true"
238
+ >
239
+ 3
240
+ </span>
241
+ </rlb-tab>
242
+ <rlb-tab
243
+ target="messages"
218
244
  [disabled]="true"
219
245
  >
220
- Disabled
246
+ Messages
221
247
  </rlb-tab>
222
248
  </rlb-tabs>
249
+
250
+ <rlb-tab-content>
251
+ <rlb-tab-pane
252
+ id="home"
253
+ active
254
+ >
255
+ Home content.
256
+ </rlb-tab-pane>
257
+ <rlb-tab-pane id="profile">Profile content.</rlb-tab-pane>
258
+ <rlb-tab-pane id="messages">Messages content.</rlb-tab-pane>
259
+ </rlb-tab-content>
223
260
  ```
224
261
 
225
- **Inputs:** `view` ('tab'|'pills'|'underline'|'none'), `vertical`, `fill` ('fill'|'justified'), `horizontal-alignment` ('center'|'end'), `id`, `class`
262
+ **`rlb-tabs` inputs:** `view` ('tab'|'pills'|'underline'|'none'), `vertical`, `fill` ('fill'|'justified'), `horizontal-alignment` ('center'|'end'), `id`, `class`
263
+ **`rlb-tab` inputs:** `target` (**required** — matches a pane `id`), `active`, `disabled`, `class`
264
+ **`rlb-tab-pane` inputs:** `id` (**required**), `active`, `fade`
265
+
266
+ > Switching is driven by Bootstrap's tab plugin — there is **no select/change output**, and
267
+ > `active` only seeds the initial tab. For router-controlled or deep-linked tabs (active state
268
+ > lives in the URL), drive the markup yourself with plain `nav-tabs` instead.
226
269
 
227
270
  ---
228
271
 
@@ -438,6 +438,7 @@ declare class BadgeComponent implements OnInit {
438
438
  color: _angular_core.InputSignal<Color | undefined>;
439
439
  hiddenText: _angular_core.InputSignal<string | undefined>;
440
440
  border: _angular_core.InputSignalWithTransform<boolean, unknown>;
441
+ soft: _angular_core.InputSignalWithTransform<boolean, unknown>;
441
442
  cssClass: _angular_core.InputSignal<string | undefined>;
442
443
  textColor: _angular_core.InputSignal<string | undefined>;
443
444
  template: _angular_core.Signal<TemplateRef<any>>;
@@ -446,7 +447,7 @@ declare class BadgeComponent implements OnInit {
446
447
  constructor();
447
448
  ngOnInit(): void;
448
449
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeComponent, never>;
449
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "span[rlb-badge], img[rlb-badge]", never, { "pill": { "alias": "pill"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "hiddenText": { "alias": "hidden-text"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "cssClass": { "alias": "class"; "required": false; "isSignal": true; }; "textColor": { "alias": "badge-text-color"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
450
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "span[rlb-badge], img[rlb-badge]", never, { "pill": { "alias": "pill"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "hiddenText": { "alias": "hidden-text"; "required": false; "isSignal": true; }; "border": { "alias": "border"; "required": false; "isSignal": true; }; "soft": { "alias": "soft"; "required": false; "isSignal": true; }; "cssClass": { "alias": "class"; "required": false; "isSignal": true; }; "textColor": { "alias": "badge-text-color"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
450
451
  }
451
452
 
452
453
  declare class BadgeDirective implements AfterViewInit {
@@ -459,6 +460,7 @@ declare class BadgeDirective implements AfterViewInit {
459
460
  textColor: _angular_core.InputSignal<string>;
460
461
  hiddenText: _angular_core.InputSignal<string | undefined>;
461
462
  dot: _angular_core.InputSignalWithTransform<boolean, unknown>;
463
+ soft: _angular_core.InputSignalWithTransform<boolean, unknown>;
462
464
  private badgeContent;
463
465
  private badgeElement;
464
466
  private elementRef;
@@ -469,7 +471,7 @@ declare class BadgeDirective implements AfterViewInit {
469
471
  private createBadgeElement;
470
472
  private castToString;
471
473
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeDirective, never>;
472
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BadgeDirective, "[badge]", never, { "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "pill": { "alias": "badge-pill"; "required": false; "isSignal": true; }; "border": { "alias": "badge-border"; "required": false; "isSignal": true; }; "top": { "alias": "badge-top"; "required": false; "isSignal": true; }; "start": { "alias": "badge-start"; "required": false; "isSignal": true; }; "color": { "alias": "badge-color"; "required": false; "isSignal": true; }; "textColor": { "alias": "badge-text-color"; "required": false; "isSignal": true; }; "hiddenText": { "alias": "hidden-text"; "required": false; "isSignal": true; }; "dot": { "alias": "badge-dot"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
474
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BadgeDirective, "[badge]", never, { "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "pill": { "alias": "badge-pill"; "required": false; "isSignal": true; }; "border": { "alias": "badge-border"; "required": false; "isSignal": true; }; "top": { "alias": "badge-top"; "required": false; "isSignal": true; }; "start": { "alias": "badge-start"; "required": false; "isSignal": true; }; "color": { "alias": "badge-color"; "required": false; "isSignal": true; }; "textColor": { "alias": "badge-text-color"; "required": false; "isSignal": true; }; "hiddenText": { "alias": "hidden-text"; "required": false; "isSignal": true; }; "dot": { "alias": "badge-dot"; "required": false; "isSignal": true; }; "soft": { "alias": "badge-soft"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
473
475
  }
474
476
 
475
477
  interface BreadcrumbItem {