@open-rlb/ng-bootstrap 3.1.16 → 3.1.18

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.
@@ -81,7 +81,7 @@ $boxed-body-bg: #ebebf4;
81
81
  $apex-grid-color: var(--#{$prefix}border-color);
82
82
 
83
83
  // table
84
- $table-head-bg: $gray-100;
84
+ //$table-head-bg: $gray-100;
85
85
  $table-head-bg: #eff2f7; // Distinct light gray
86
86
  //$table-head-color: $body-color;
87
87
  $table-dark-border-color: tint-color($gray-800, 7.5%);
@@ -634,11 +634,11 @@ $border-color-translucent: $gray-400;
634
634
  // scss-docs-end border-variables
635
635
 
636
636
  // scss-docs-start border-radius-variables
637
- $border-radius: .375rem;
638
- $border-radius-sm: .2rem;
639
- $border-radius-lg: .4rem;
640
- $border-radius-xl: 1rem;
641
- $border-radius-xxl: 2rem;
637
+ $border-radius-sm: .25rem; // 4px (Standard small curve)
638
+ $border-radius: .375rem; // 6px (Standard button curve)
639
+ $border-radius-lg: .625rem; // 10px (Large button/input curve)
640
+ $border-radius-xl: 1rem; // 16px (Bubbly card/modal curve)
641
+ $border-radius-xxl: 2rem; // 32px
642
642
  $border-radius-pill: 50rem;
643
643
  // scss-docs-end border-radius-variables
644
644
  // fusv-disable
@@ -1424,7 +1424,7 @@ $card-title-color: var(--#{$prefix}emphasis-color);
1424
1424
  $card-subtitle-color: null;
1425
1425
  $card-border-width: 1px;
1426
1426
  $card-border-color: rgba($gray-200, 0.5);
1427
- $card-border-radius: 1rem; // Soft bubbly cards
1427
+ $card-border-radius: var(--#{$prefix}border-radius-xl);
1428
1428
  $card-box-shadow: 0 4px 6px rgba(18, 38, 63, 0.03), 0 1px 3px rgba(18, 38, 63, 0.05);
1429
1429
  $card-inner-border-radius: calc(#{$card-border-radius} - 1px);
1430
1430
  $card-cap-padding-y: $card-spacer-y * .5;
@@ -1549,7 +1549,7 @@ $toast-color: null;
1549
1549
  $toast-background-color: var(--#{$prefix}secondary-bg);
1550
1550
  $toast-border-width: var(--#{$prefix}border-width);
1551
1551
  $toast-border-color: var(--#{$prefix}border-color);
1552
- $toast-border-radius: .25rem;
1552
+ $toast-border-radius: var(--#{$prefix}border-radius);
1553
1553
  $toast-box-shadow: var(--#{$prefix}box-shadow-lg);
1554
1554
  $toast-spacing: $container-padding-x;
1555
1555
 
@@ -1587,7 +1587,7 @@ $modal-content-color: null;
1587
1587
  $modal-content-bg: var(--#{$prefix}secondary-bg);
1588
1588
  $modal-content-border-color: var(--#{$prefix}border-color);
1589
1589
  $modal-content-border-width: var(--#{$prefix}border-width);
1590
- $modal-content-border-radius: var(--#{$prefix}border-radius-lg);
1590
+ $modal-content-border-radius: var(--#{$prefix}border-radius-xl);
1591
1591
  $modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width);
1592
1592
  $modal-content-box-shadow-xs: $box-shadow-sm;
1593
1593
  $modal-content-box-shadow-sm-up: $box-shadow;
@@ -47,50 +47,16 @@
47
47
  z-index: $zindex-dropdown;
48
48
  }
49
49
 
50
- .sidebar-toggle {
51
- position: absolute;
52
- top: 1rem;
53
- left: $sidebar-width - 1.5rem;
54
- z-index: 1035;
55
- transform: translateX(-50%);
56
- width: 2rem;
57
- height: 2rem;
58
- border-radius: 50%;
59
- display: flex;
60
- align-items: center;
61
- justify-content: center;
62
- cursor: pointer;
63
- transition: left 0.3s ease-in-out, transform 0.2s ease, color 0.2s ease, border 0.2s ease;
64
-
65
- &:hover {
66
- transform: translateX(-50%) scale(1.15);
67
- border: 1px solid $sidebar-menu-item-active-color;
68
- color: $sidebar-menu-item-active-color;
69
- }
70
-
71
- i {
72
- font-size: 16px;
73
- }
74
- }
75
-
76
- .sidebar-toggler-tooltip,
77
- [data-bs-theme="dark"] .tooltip
50
+ .sidebar-toggler
78
51
  {
79
- --bs-tooltip-bg: var(--bs-body-bg);
80
- --bs-tooltip-color: var(--bs-body-color);
81
-
82
- --bs-tooltip-border-width: 1px;
83
- --bs-tooltip-border-color: rgba(0, 0, 0, 0.15);
84
-
85
- background-color: var(--bs-tooltip-bg);
86
- color: var(--bs-tooltip-color);
87
- border: var(--bs-tooltip-border-width) solid var(--bs-tooltip-border-color);
88
- border-radius: 0.25rem;
89
- padding: 0.25rem 0.5rem;
90
- }
91
-
92
- .sidebar-toggler-tooltip {
93
- pointer-events: none;
52
+ padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
53
+ font-size: var(--bs-navbar-toggler-font-size);
54
+ line-height: 1;
55
+ color: var(--bs-navbar-color);
56
+ background-color: transparent;
57
+ border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
58
+ border-radius: var(--bs-navbar-toggler-border-radius);
59
+ transition: var(--bs-navbar-toggler-transition);
94
60
  }
95
61
 
96
62
  .rlb-sidebar.collapsed .sidebar-toggle {
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { signal, Component, input, booleanAttribute, effect, Host, Self, Optional, Directive, Injectable, output, contentChild, computed, contentChildren, viewChild, numberAttribute, model, ViewChild, isSignal, Pipe, ChangeDetectionStrategy, inject, DOCUMENT, Inject, InjectionToken, ViewContainerRef, untracked, HostListener, viewChildren, NgModule } from '@angular/core';
3
- import { Collapse, Carousel, Dropdown, Modal, Toast, Offcanvas, ScrollSpy, Tooltip, Popover } from 'bootstrap';
3
+ import { Collapse, Carousel, Dropdown, Modal, Toast, Offcanvas, ScrollSpy, Popover, Tooltip } from 'bootstrap';
4
4
  import * as i2 from '@angular/router';
5
5
  import { RouterModule } from '@angular/router';
6
6
  import * as i3 from '@angular/common';
@@ -4461,10 +4461,37 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4461
4461
  args: ['template', { static: true }]
4462
4462
  }] } });
4463
4463
 
4464
+ class SidebarService {
4465
+ constructor() {
4466
+ this.itemClickedSource = new Subject();
4467
+ this.itemClicked$ = this.itemClickedSource.asObservable();
4468
+ this.isCollapsed = signal(false, ...(ngDevMode ? [{ debugName: "isCollapsed" }] : []));
4469
+ }
4470
+ notifyItemClicked() {
4471
+ this.itemClickedSource.next();
4472
+ }
4473
+ setCollapsed(collapsed) {
4474
+ this.isCollapsed.set(collapsed);
4475
+ const sidebar = document.getElementById('sidebar');
4476
+ const content = document.querySelector('.rlb-content');
4477
+ content?.classList.toggle('expanded', collapsed);
4478
+ sidebar?.classList.toggle('collapsed', collapsed);
4479
+ }
4480
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SidebarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4481
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SidebarService, providedIn: 'root' }); }
4482
+ }
4483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SidebarService, decorators: [{
4484
+ type: Injectable,
4485
+ args: [{
4486
+ providedIn: 'root',
4487
+ }]
4488
+ }] });
4489
+
4464
4490
  class NavbarComponent {
4465
- constructor(idService, viewContainerRef) {
4491
+ constructor(idService, viewContainerRef, sidebarService) {
4466
4492
  this.idService = idService;
4467
4493
  this.viewContainerRef = viewContainerRef;
4494
+ this.sidebarService = sidebarService;
4468
4495
  this.destroy$ = new Subject();
4469
4496
  this._navExpand = computed(() => {
4470
4497
  const exp = this.expand();
@@ -4477,11 +4504,12 @@ class NavbarComponent {
4477
4504
  }, ...(ngDevMode ? [{ debugName: "_navExpand" }] : []));
4478
4505
  this.navbarItemsGroups = contentChildren(NavbarItemsComponent, { ...(ngDevMode ? { debugName: "navbarItemsGroups" } : {}), descendants: true });
4479
4506
  this.dark = input(true, { ...(ngDevMode ? { debugName: "dark" } : {}), alias: 'dark', transform: booleanAttribute });
4507
+ this.showSideBarToggler = input(true, { ...(ngDevMode ? { debugName: "showSideBarToggler" } : {}), transform: booleanAttribute });
4480
4508
  this.color = input(undefined, ...(ngDevMode ? [{ debugName: "color" }] : []));
4481
4509
  this.placement = input(undefined, ...(ngDevMode ? [{ debugName: "placement" }] : []));
4482
4510
  this.expand = input(undefined, ...(ngDevMode ? [{ debugName: "expand" }] : []));
4483
4511
  this.cssClass = input('', { ...(ngDevMode ? { debugName: "cssClass" } : {}), alias: 'class' });
4484
- this.enableDropdownToggler = input(true, { ...(ngDevMode ? { debugName: "enableDropdownToggler" } : {}), alias: 'enable-dropdown-toggler',
4512
+ this.enableDropdownToggler = input(false, { ...(ngDevMode ? { debugName: "enableDropdownToggler" } : {}), alias: 'enable-dropdown-toggler',
4485
4513
  transform: booleanAttribute });
4486
4514
  this.navId = `nav${this.idService.id}`;
4487
4515
  effect(() => {
@@ -4506,6 +4534,10 @@ class NavbarComponent {
4506
4534
  this.destroy$.next();
4507
4535
  this.destroy$.complete();
4508
4536
  }
4537
+ toggleSidebar() {
4538
+ const isSideBarCollapsed = this.sidebarService.isCollapsed();
4539
+ this.sidebarService.setCollapsed(!isSideBarCollapsed);
4540
+ }
4509
4541
  closeMobileMenu() {
4510
4542
  const collapseEl = this.element?.querySelector('.navbar-collapse');
4511
4543
  if (collapseEl && collapseEl.classList.contains('show')) {
@@ -4513,26 +4545,40 @@ class NavbarComponent {
4513
4545
  bsCollapse.hide();
4514
4546
  }
4515
4547
  }
4516
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NavbarComponent, deps: [{ token: UniqueIdService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
4517
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.0", type: NavbarComponent, isStandalone: false, selector: "rlb-navbar", inputs: { dark: { classPropertyName: "dark", publicName: "dark", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, expand: { classPropertyName: "expand", publicName: "expand", isSignal: true, isRequired: false, transformFunction: null }, cssClass: { classPropertyName: "cssClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, enableDropdownToggler: { classPropertyName: "enableDropdownToggler", publicName: "enable-dropdown-toggler", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "navbarItemsGroups", predicate: NavbarItemsComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: `
4548
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: NavbarComponent, deps: [{ token: UniqueIdService }, { token: i0.ViewContainerRef }, { token: SidebarService }], target: i0.ɵɵFactoryTarget.Component }); }
4549
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: NavbarComponent, isStandalone: false, selector: "rlb-navbar", inputs: { dark: { classPropertyName: "dark", publicName: "dark", isSignal: true, isRequired: false, transformFunction: null }, showSideBarToggler: { classPropertyName: "showSideBarToggler", publicName: "showSideBarToggler", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, expand: { classPropertyName: "expand", publicName: "expand", isSignal: true, isRequired: false, transformFunction: null }, cssClass: { classPropertyName: "cssClass", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, enableDropdownToggler: { classPropertyName: "enableDropdownToggler", publicName: "enable-dropdown-toggler", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "navbarItemsGroups", predicate: NavbarItemsComponent, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, static: true }], ngImport: i0, template: `
4518
4550
  <ng-template #template>
4519
4551
  <nav
4520
4552
  class="navbar px-2 bg-{{ color() }} {{ placement() }} {{ _navExpand() }} {{ cssClass() }}"
4521
4553
  [attr.data-bs-theme]="dark() ? 'dark' : 'light'"
4522
4554
  >
4523
4555
  <div class="container-fluid">
4556
+ @if (showSideBarToggler()) {
4557
+ <button
4558
+ class="sidebar-toggler me-3"
4559
+ type="button"
4560
+ rlb-button
4561
+ aria-label="Toggle sidebar"
4562
+ (click)="toggleSidebar()"
4563
+ >
4564
+ <span class="navbar-toggler-icon"></span>
4565
+ </button>
4566
+ }
4567
+
4524
4568
  <ng-content select="[rlb-navbar-brand], [rlb-button][toggle], rlb-navbar-separator" />
4525
- <button
4526
- class="navbar-toggler"
4527
- [class.d-none]="!enableDropdownToggler()"
4528
- type="button"
4529
- rlb-button
4530
- toggle="collapse"
4531
- [toggle-target]="navId"
4532
- aria-label="Toggle navigation"
4533
- >
4534
- <span class="navbar-toggler-icon"></span>
4535
- </button>
4569
+ @if (enableDropdownToggler()) {
4570
+ <button
4571
+ class="navbar-toggler"
4572
+ [class.d-none]="!enableDropdownToggler()"
4573
+ type="button"
4574
+ rlb-button
4575
+ toggle="collapse"
4576
+ [toggle-target]="navId"
4577
+ aria-label="Toggle navigation"
4578
+ >
4579
+ <span class="navbar-toggler-icon"></span>
4580
+ </button>
4581
+ }
4536
4582
  <div
4537
4583
  class="collapse navbar-collapse"
4538
4584
  [id]="navId"
@@ -4559,18 +4605,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4559
4605
  [attr.data-bs-theme]="dark() ? 'dark' : 'light'"
4560
4606
  >
4561
4607
  <div class="container-fluid">
4608
+ @if (showSideBarToggler()) {
4609
+ <button
4610
+ class="sidebar-toggler me-3"
4611
+ type="button"
4612
+ rlb-button
4613
+ aria-label="Toggle sidebar"
4614
+ (click)="toggleSidebar()"
4615
+ >
4616
+ <span class="navbar-toggler-icon"></span>
4617
+ </button>
4618
+ }
4619
+
4562
4620
  <ng-content select="[rlb-navbar-brand], [rlb-button][toggle], rlb-navbar-separator" />
4563
- <button
4564
- class="navbar-toggler"
4565
- [class.d-none]="!enableDropdownToggler()"
4566
- type="button"
4567
- rlb-button
4568
- toggle="collapse"
4569
- [toggle-target]="navId"
4570
- aria-label="Toggle navigation"
4571
- >
4572
- <span class="navbar-toggler-icon"></span>
4573
- </button>
4621
+ @if (enableDropdownToggler()) {
4622
+ <button
4623
+ class="navbar-toggler"
4624
+ [class.d-none]="!enableDropdownToggler()"
4625
+ type="button"
4626
+ rlb-button
4627
+ toggle="collapse"
4628
+ [toggle-target]="navId"
4629
+ aria-label="Toggle navigation"
4630
+ >
4631
+ <span class="navbar-toggler-icon"></span>
4632
+ </button>
4633
+ }
4574
4634
  <div
4575
4635
  class="collapse navbar-collapse"
4576
4636
  [id]="navId"
@@ -4587,12 +4647,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
4587
4647
  `,
4588
4648
  standalone: false,
4589
4649
  }]
4590
- }], ctorParameters: () => [{ type: UniqueIdService }, { type: i0.ViewContainerRef }], propDecorators: { template: [{
4650
+ }], ctorParameters: () => [{ type: UniqueIdService }, { type: i0.ViewContainerRef }, { type: SidebarService }], propDecorators: { template: [{
4591
4651
  type: ViewChild,
4592
4652
  args: ['template', { static: true }]
4593
4653
  }], navbarItemsGroups: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => NavbarItemsComponent), { ...{
4594
4654
  descendants: true,
4595
- }, isSignal: true }] }], dark: [{ type: i0.Input, args: [{ isSignal: true, alias: "dark", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], expand: [{ type: i0.Input, args: [{ isSignal: true, alias: "expand", required: false }] }], cssClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], enableDropdownToggler: [{ type: i0.Input, args: [{ isSignal: true, alias: "enable-dropdown-toggler", required: false }] }] } });
4655
+ }, isSignal: true }] }], dark: [{ type: i0.Input, args: [{ isSignal: true, alias: "dark", required: false }] }], showSideBarToggler: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSideBarToggler", required: false }] }], color: [{ type: i0.Input, args: [{ isSignal: true, alias: "color", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], expand: [{ type: i0.Input, args: [{ isSignal: true, alias: "expand", required: false }] }], cssClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], enableDropdownToggler: [{ type: i0.Input, args: [{ isSignal: true, alias: "enable-dropdown-toggler", required: false }] }] } });
4596
4656
 
4597
4657
  class OffcanvasBodyComponent {
4598
4658
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: OffcanvasBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
@@ -5049,24 +5109,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5049
5109
  }]
5050
5110
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { target: [{ type: i0.Input, args: [{ isSignal: true, alias: "rlb-scrollspy-target", required: true }] }], smooth: [{ type: i0.Input, args: [{ isSignal: true, alias: "scroll-smooth", required: false }] }], rootMargin: [{ type: i0.Input, args: [{ isSignal: true, alias: "scroll-root-margin", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], threshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "scroll-threshold", required: false }] }], scroll: [{ type: i0.Output, args: ["scroll-change"] }] } });
5051
5111
 
5052
- class SidebarService {
5053
- constructor() {
5054
- this.itemClickedSource = new Subject();
5055
- this.itemClicked$ = this.itemClickedSource.asObservable();
5056
- }
5057
- notifyItemClicked() {
5058
- this.itemClickedSource.next();
5059
- }
5060
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SidebarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5061
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SidebarService, providedIn: 'root' }); }
5062
- }
5063
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SidebarService, decorators: [{
5064
- type: Injectable,
5065
- args: [{
5066
- providedIn: 'root'
5067
- }]
5068
- }] });
5069
-
5070
5112
  class SidebarItemComponent {
5071
5113
  constructor(viewContainerRef, uniqueIdService, router, sidebarService) {
5072
5114
  this.viewContainerRef = viewContainerRef;
@@ -5220,51 +5262,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5220
5262
  }]
5221
5263
  }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: UniqueIdService }, { type: i2.Router }, { type: SidebarService }], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], link: [{ type: i0.Input, args: [{ isSignal: true, alias: "link", required: false }] }], badgeCounter: [{ type: i0.Input, args: [{ isSignal: true, alias: "badgeCounter", required: false }] }], click: [{ type: i0.Output, args: ["click"] }], children: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => SidebarItemComponent), { isSignal: true }] }], template: [{ type: i0.ViewChild, args: ['template', { isSignal: true }] }] } });
5222
5264
 
5223
- class TooltipDirective {
5224
- constructor(elementRef) {
5225
- this.elementRef = elementRef;
5226
- this.tooltip = input(undefined, { ...(ngDevMode ? { debugName: "tooltip" } : {}), alias: 'tooltip' });
5227
- this.placement = input('top', { ...(ngDevMode ? { debugName: "placement" } : {}), alias: 'tooltip-placement' });
5228
- this.customClass = input('', { ...(ngDevMode ? { debugName: "customClass" } : {}), alias: 'tooltip-class' });
5229
- this.html = input(false, { ...(ngDevMode ? { debugName: "html" } : {}), alias: 'tooltip-html', transform: booleanAttribute });
5230
- // We only need one effect to handle dynamic changes to the title text.
5231
- effect(() => {
5232
- const title = this.tooltip();
5233
- if (this._tooltip) {
5234
- if (title) {
5235
- this._tooltip.enable();
5236
- this._tooltip.setContent({ '.tooltip-inner': title });
5237
- }
5238
- else {
5239
- this._tooltip.disable();
5240
- }
5241
- }
5242
- });
5243
- }
5244
- ngOnInit() {
5245
- this._tooltip = new Tooltip(this.elementRef.nativeElement, {
5246
- title: this.tooltip() || '',
5247
- placement: this.placement(),
5248
- customClass: this.customClass(),
5249
- html: this.html(),
5250
- });
5251
- }
5252
- ngOnDestroy() {
5253
- if (this._tooltip) {
5254
- this._tooltip.dispose();
5255
- }
5256
- }
5257
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
5258
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: TooltipDirective, isStandalone: false, selector: "[tooltip]", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "tooltip-placement", isSignal: true, isRequired: false, transformFunction: null }, customClass: { classPropertyName: "customClass", publicName: "tooltip-class", isSignal: true, isRequired: false, transformFunction: null }, html: { classPropertyName: "html", publicName: "tooltip-html", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
5259
- }
5260
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TooltipDirective, decorators: [{
5261
- type: Directive,
5262
- args: [{
5263
- selector: '[tooltip]',
5264
- standalone: false,
5265
- }]
5266
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip-placement", required: false }] }], customClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip-class", required: false }] }], html: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip-html", required: false }] }] } });
5267
-
5268
5265
  /**
5269
5266
  * Sidebar component
5270
5267
  */
@@ -5272,7 +5269,6 @@ class SidebarComponent {
5272
5269
  constructor(sidebarService, breakpointService) {
5273
5270
  this.sidebarService = sidebarService;
5274
5271
  this.breakpointService = breakpointService;
5275
- this.isCollapsed = signal(false, ...(ngDevMode ? [{ debugName: "isCollapsed" }] : []));
5276
5272
  this.dark = input(true, { ...(ngDevMode ? { debugName: "dark" } : {}), alias: 'dark', transform: booleanAttribute });
5277
5273
  this.subscription = new Subscription();
5278
5274
  this.rounded = input(false, { ...(ngDevMode ? { debugName: "rounded" } : {}), alias: 'rounded', transform: booleanAttribute });
@@ -5294,15 +5290,8 @@ class SidebarComponent {
5294
5290
  ngOnDestroy() {
5295
5291
  this.subscription.unsubscribe();
5296
5292
  }
5297
- toggleSidebar() {
5298
- this.setCollapsed(!this.isCollapsed());
5299
- }
5300
5293
  setCollapsed(collapsed) {
5301
- this.isCollapsed.set(collapsed);
5302
- const sidebar = document.getElementById('sidebar');
5303
- const content = document.querySelector('.rlb-content');
5304
- content?.classList.toggle('expanded', collapsed);
5305
- sidebar?.classList.toggle('collapsed', collapsed);
5294
+ this.sidebarService.setCollapsed(collapsed);
5306
5295
  }
5307
5296
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SidebarComponent, deps: [{ token: SidebarService }, { token: BreakpointService }], target: i0.ɵɵFactoryTarget.Component }); }
5308
5297
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.0", type: SidebarComponent, isStandalone: false, selector: "rlb-sidebar", inputs: { dark: { classPropertyName: "dark", publicName: "dark", isSignal: true, isRequired: false, transformFunction: null }, rounded: { classPropertyName: "rounded", publicName: "rounded", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-bs-theme": "dark() ? 'dark' : 'light'" } }, viewQueries: [{ propertyName: "sideMenu", first: true, predicate: ["sideMenu"], descendants: true }], ngImport: i0, template: `
@@ -5323,21 +5312,7 @@ class SidebarComponent {
5323
5312
  </ul>
5324
5313
  </div>
5325
5314
  </div>
5326
- <div
5327
- role="button"
5328
- class="sidebar-toggle"
5329
- [tooltip]="!isCollapsed() ? 'Hide' : 'Show'"
5330
- [tooltip-placement]="!isCollapsed() ? 'top' : 'left'"
5331
- [tooltip-class]="'sidebar-toggler-tooltip'"
5332
- (click)="toggleSidebar()"
5333
- >
5334
- <i
5335
- [class.bi-chevron-double-left]="!isCollapsed()"
5336
- [class.bi-chevron-double-right]="isCollapsed()"
5337
- class="bi "
5338
- ></i>
5339
- </div>
5340
- `, isInline: true, dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltip-placement", "tooltip-class", "tooltip-html"] }] }); }
5315
+ `, isInline: true }); }
5341
5316
  }
5342
5317
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: SidebarComponent, decorators: [{
5343
5318
  type: Component,
@@ -5361,20 +5336,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5361
5336
  </ul>
5362
5337
  </div>
5363
5338
  </div>
5364
- <div
5365
- role="button"
5366
- class="sidebar-toggle"
5367
- [tooltip]="!isCollapsed() ? 'Hide' : 'Show'"
5368
- [tooltip-placement]="!isCollapsed() ? 'top' : 'left'"
5369
- [tooltip-class]="'sidebar-toggler-tooltip'"
5370
- (click)="toggleSidebar()"
5371
- >
5372
- <i
5373
- [class.bi-chevron-double-left]="!isCollapsed()"
5374
- [class.bi-chevron-double-right]="isCollapsed()"
5375
- class="bi "
5376
- ></i>
5377
- </div>
5378
5339
  `,
5379
5340
  host: {
5380
5341
  '[attr.data-bs-theme]': "dark() ? 'dark' : 'light'",
@@ -5610,6 +5571,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
5610
5571
  }]
5611
5572
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { popover: [{ type: i0.Input, args: [{ isSignal: true, alias: "popover", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "popover-placement", required: false }] }], customClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "popover-class", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "popover-title", required: false }] }] } });
5612
5573
 
5574
+ class TooltipDirective {
5575
+ constructor(elementRef) {
5576
+ this.elementRef = elementRef;
5577
+ this.tooltip = input(undefined, { ...(ngDevMode ? { debugName: "tooltip" } : {}), alias: 'tooltip' });
5578
+ this.placement = input('top', { ...(ngDevMode ? { debugName: "placement" } : {}), alias: 'tooltip-placement' });
5579
+ this.customClass = input('', { ...(ngDevMode ? { debugName: "customClass" } : {}), alias: 'tooltip-class' });
5580
+ this.html = input(false, { ...(ngDevMode ? { debugName: "html" } : {}), alias: 'tooltip-html', transform: booleanAttribute });
5581
+ // We only need one effect to handle dynamic changes to the title text.
5582
+ effect(() => {
5583
+ const title = this.tooltip();
5584
+ if (this._tooltip) {
5585
+ if (title) {
5586
+ this._tooltip.enable();
5587
+ this._tooltip.setContent({ '.tooltip-inner': title });
5588
+ }
5589
+ else {
5590
+ this._tooltip.disable();
5591
+ }
5592
+ }
5593
+ });
5594
+ }
5595
+ ngOnInit() {
5596
+ this._tooltip = new Tooltip(this.elementRef.nativeElement, {
5597
+ title: this.tooltip() || '',
5598
+ placement: this.placement(),
5599
+ customClass: this.customClass(),
5600
+ html: this.html(),
5601
+ });
5602
+ }
5603
+ ngOnDestroy() {
5604
+ if (this._tooltip) {
5605
+ this._tooltip.dispose();
5606
+ }
5607
+ }
5608
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
5609
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: TooltipDirective, isStandalone: false, selector: "[tooltip]", inputs: { tooltip: { classPropertyName: "tooltip", publicName: "tooltip", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "tooltip-placement", isSignal: true, isRequired: false, transformFunction: null }, customClass: { classPropertyName: "customClass", publicName: "tooltip-class", isSignal: true, isRequired: false, transformFunction: null }, html: { classPropertyName: "html", publicName: "tooltip-html", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
5610
+ }
5611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TooltipDirective, decorators: [{
5612
+ type: Directive,
5613
+ args: [{
5614
+ selector: '[tooltip]',
5615
+ standalone: false,
5616
+ }]
5617
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { tooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip-placement", required: false }] }], customClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip-class", required: false }] }], html: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltip-html", required: false }] }] } });
5618
+
5613
5619
  const COMPONENTS = [
5614
5620
  AlertComponent,
5615
5621
  BreadcrumbComponent,