@ngbase/adk 0.1.16 → 0.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.
Files changed (203) hide show
  1. package/fesm2022/ngbase-adk-a11y.mjs +42 -42
  2. package/fesm2022/ngbase-adk-a11y.mjs.map +1 -1
  3. package/fesm2022/ngbase-adk-accordion.mjs +20 -26
  4. package/fesm2022/ngbase-adk-accordion.mjs.map +1 -1
  5. package/fesm2022/ngbase-adk-autocomplete.mjs +11 -11
  6. package/fesm2022/ngbase-adk-autocomplete.mjs.map +1 -1
  7. package/fesm2022/ngbase-adk-avatar.mjs +13 -13
  8. package/fesm2022/ngbase-adk-avatar.mjs.map +1 -1
  9. package/fesm2022/ngbase-adk-bidi.mjs +3 -3
  10. package/fesm2022/ngbase-adk-bidi.mjs.map +1 -1
  11. package/fesm2022/ngbase-adk-breadcrumb.mjs +14 -14
  12. package/fesm2022/ngbase-adk-breadcrumb.mjs.map +1 -1
  13. package/fesm2022/ngbase-adk-cache.mjs +3 -3
  14. package/fesm2022/ngbase-adk-cache.mjs.map +1 -1
  15. package/fesm2022/ngbase-adk-carousel.mjs +18 -18
  16. package/fesm2022/ngbase-adk-carousel.mjs.map +1 -1
  17. package/fesm2022/ngbase-adk-checkbox.mjs +15 -21
  18. package/fesm2022/ngbase-adk-checkbox.mjs.map +1 -1
  19. package/fesm2022/ngbase-adk-chip.mjs +12 -12
  20. package/fesm2022/ngbase-adk-chip.mjs.map +1 -1
  21. package/fesm2022/ngbase-adk-clipboard.mjs +7 -5
  22. package/fesm2022/ngbase-adk-clipboard.mjs.map +1 -1
  23. package/fesm2022/ngbase-adk-collections.mjs.map +1 -1
  24. package/fesm2022/ngbase-adk-color-picker.mjs +44 -53
  25. package/fesm2022/ngbase-adk-color-picker.mjs.map +1 -1
  26. package/fesm2022/ngbase-adk-cookies.mjs +3 -3
  27. package/fesm2022/ngbase-adk-cookies.mjs.map +1 -1
  28. package/fesm2022/ngbase-adk-datepicker.mjs +70 -89
  29. package/fesm2022/ngbase-adk-datepicker.mjs.map +1 -1
  30. package/fesm2022/ngbase-adk-dialog.mjs +17 -39
  31. package/fesm2022/ngbase-adk-dialog.mjs.map +1 -1
  32. package/fesm2022/ngbase-adk-drag.mjs +20 -20
  33. package/fesm2022/ngbase-adk-drag.mjs.map +1 -1
  34. package/fesm2022/ngbase-adk-form-field.mjs +65 -118
  35. package/fesm2022/ngbase-adk-form-field.mjs.map +1 -1
  36. package/fesm2022/ngbase-adk-hover-card.mjs +5 -5
  37. package/fesm2022/ngbase-adk-hover-card.mjs.map +1 -1
  38. package/fesm2022/ngbase-adk-icon.mjs +9 -11
  39. package/fesm2022/ngbase-adk-icon.mjs.map +1 -1
  40. package/fesm2022/ngbase-adk-inline-edit.mjs +27 -35
  41. package/fesm2022/ngbase-adk-inline-edit.mjs.map +1 -1
  42. package/fesm2022/ngbase-adk-jwt.mjs +319 -41
  43. package/fesm2022/ngbase-adk-jwt.mjs.map +1 -1
  44. package/fesm2022/ngbase-adk-keys.mjs +6 -6
  45. package/fesm2022/ngbase-adk-keys.mjs.map +1 -1
  46. package/fesm2022/ngbase-adk-layout.mjs.map +1 -1
  47. package/fesm2022/ngbase-adk-list.mjs +10 -10
  48. package/fesm2022/ngbase-adk-list.mjs.map +1 -1
  49. package/fesm2022/ngbase-adk-mask.mjs +8 -8
  50. package/fesm2022/ngbase-adk-mask.mjs.map +1 -1
  51. package/fesm2022/ngbase-adk-menu.mjs +69 -79
  52. package/fesm2022/ngbase-adk-menu.mjs.map +1 -1
  53. package/fesm2022/ngbase-adk-network.mjs +3 -3
  54. package/fesm2022/ngbase-adk-network.mjs.map +1 -1
  55. package/fesm2022/ngbase-adk-otp.mjs +24 -45
  56. package/fesm2022/ngbase-adk-otp.mjs.map +1 -1
  57. package/fesm2022/ngbase-adk-pagination.mjs +9 -9
  58. package/fesm2022/ngbase-adk-pagination.mjs.map +1 -1
  59. package/fesm2022/ngbase-adk-popover.mjs +120 -89
  60. package/fesm2022/ngbase-adk-popover.mjs.map +1 -1
  61. package/fesm2022/ngbase-adk-portal.mjs +134 -47
  62. package/fesm2022/ngbase-adk-portal.mjs.map +1 -1
  63. package/fesm2022/ngbase-adk-progress.mjs +7 -7
  64. package/fesm2022/ngbase-adk-progress.mjs.map +1 -1
  65. package/fesm2022/ngbase-adk-radio.mjs +20 -27
  66. package/fesm2022/ngbase-adk-radio.mjs.map +1 -1
  67. package/fesm2022/ngbase-adk-resizable.mjs +138 -48
  68. package/fesm2022/ngbase-adk-resizable.mjs.map +1 -1
  69. package/fesm2022/ngbase-adk-scroll-area.mjs +28 -20
  70. package/fesm2022/ngbase-adk-scroll-area.mjs.map +1 -1
  71. package/fesm2022/ngbase-adk-select.mjs +58 -80
  72. package/fesm2022/ngbase-adk-select.mjs.map +1 -1
  73. package/fesm2022/ngbase-adk-selectable.mjs +19 -30
  74. package/fesm2022/ngbase-adk-selectable.mjs.map +1 -1
  75. package/fesm2022/ngbase-adk-sheet.mjs +6 -20
  76. package/fesm2022/ngbase-adk-sheet.mjs.map +1 -1
  77. package/fesm2022/ngbase-adk-sidenav.mjs +65 -46
  78. package/fesm2022/ngbase-adk-sidenav.mjs.map +1 -1
  79. package/fesm2022/ngbase-adk-slider.mjs +40 -53
  80. package/fesm2022/ngbase-adk-slider.mjs.map +1 -1
  81. package/fesm2022/ngbase-adk-sonner.mjs +12 -19
  82. package/fesm2022/ngbase-adk-sonner.mjs.map +1 -1
  83. package/fesm2022/ngbase-adk-stepper.mjs +17 -25
  84. package/fesm2022/ngbase-adk-stepper.mjs.map +1 -1
  85. package/fesm2022/ngbase-adk-switch.mjs +25 -32
  86. package/fesm2022/ngbase-adk-switch.mjs.map +1 -1
  87. package/fesm2022/ngbase-adk-table.mjs +581 -83
  88. package/fesm2022/ngbase-adk-table.mjs.map +1 -1
  89. package/fesm2022/ngbase-adk-tabs.mjs +37 -35
  90. package/fesm2022/ngbase-adk-tabs.mjs.map +1 -1
  91. package/fesm2022/ngbase-adk-test.mjs.map +1 -1
  92. package/fesm2022/ngbase-adk-toggle-group.mjs +20 -34
  93. package/fesm2022/ngbase-adk-toggle-group.mjs.map +1 -1
  94. package/fesm2022/ngbase-adk-toggle.mjs +14 -19
  95. package/fesm2022/ngbase-adk-toggle.mjs.map +1 -1
  96. package/fesm2022/ngbase-adk-tooltip.mjs +12 -19
  97. package/fesm2022/ngbase-adk-tooltip.mjs.map +1 -1
  98. package/fesm2022/ngbase-adk-tour.mjs +52 -52
  99. package/fesm2022/ngbase-adk-tour.mjs.map +1 -1
  100. package/fesm2022/ngbase-adk-translate.mjs +8 -10
  101. package/fesm2022/ngbase-adk-translate.mjs.map +1 -1
  102. package/fesm2022/ngbase-adk-tree.mjs +20 -20
  103. package/fesm2022/ngbase-adk-tree.mjs.map +1 -1
  104. package/fesm2022/ngbase-adk-utils.mjs +30 -43
  105. package/fesm2022/ngbase-adk-utils.mjs.map +1 -1
  106. package/fesm2022/ngbase-adk-virtualizer.mjs +9 -9
  107. package/fesm2022/ngbase-adk-virtualizer.mjs.map +1 -1
  108. package/package.json +91 -91
  109. package/schematics/components/files/accordion/accordion.ts.template +9 -6
  110. package/schematics/components/files/audio/AudioPlayer.ts.template +245 -0
  111. package/schematics/components/files/audio/AudioRecorder.ts.template +377 -0
  112. package/schematics/components/files/audio/AudioVisualizer.ts.template +175 -0
  113. package/schematics/components/files/audio/index.ts.template +3 -0
  114. package/schematics/components/files/button/button-llm.md.template +3 -2
  115. package/schematics/components/files/charts/area-chart.component.ts.template +278 -0
  116. package/schematics/components/files/charts/bar-chart.component.ts.template +262 -0
  117. package/schematics/components/files/charts/chart-tooltip.component.ts.template +168 -0
  118. package/schematics/components/files/charts/index.ts.template +4 -0
  119. package/schematics/components/files/charts/line-chart.component.ts.template +238 -0
  120. package/schematics/components/files/charts/pie-chart.component.ts.template +283 -0
  121. package/schematics/components/files/checkbox/checkbox.ts.template +2 -2
  122. package/schematics/components/files/color-picker/color-picker.ts.template +2 -2
  123. package/schematics/components/files/dialog/dialog.ts.template +18 -14
  124. package/schematics/components/files/drawer/drawer.ts.template +30 -27
  125. package/schematics/components/files/form-field/form-field.ts.template +51 -23
  126. package/schematics/components/files/pagination/pagination.ts.template +4 -4
  127. package/schematics/components/files/picasa/picasa-base.component.ts.template +15 -30
  128. package/schematics/components/files/popover/popover.ts.template +15 -4
  129. package/schematics/components/files/select/list-selection.ts.template +0 -2
  130. package/schematics/components/files/select/option.ts.template +1 -1
  131. package/schematics/components/files/selectable/selectable.ts.template +2 -2
  132. package/schematics/components/files/sheet/sheet.ts.template +26 -14
  133. package/schematics/components/files/sidenav/sidenav.ts.template +7 -5
  134. package/schematics/components/files/sonner/sonner.ts.template +1 -2
  135. package/schematics/components/files/stepper/stepper.ts.template +2 -4
  136. package/schematics/components/files/switch/switch.ts.template +2 -2
  137. package/schematics/components/files/table/table.ts.template +43 -3
  138. package/schematics/components/files/tabs/tab.ts.template +3 -3
  139. package/schematics/components/files/theme/theme.service.ts.template +3 -3
  140. package/schematics/components/files/toggle/toggle.ts.template +1 -1
  141. package/schematics/components/files/toggle-group/toggle-group.ts.template +1 -1
  142. package/schematics/components/files/tooltip/tooltip.ts.template +2 -3
  143. package/schematics/components/schema.json +2 -0
  144. package/{accordion/index.d.ts → types/ngbase-adk-accordion.d.ts} +1 -3
  145. package/{autocomplete/index.d.ts → types/ngbase-adk-autocomplete.d.ts} +2 -7
  146. package/{checkbox/index.d.ts → types/ngbase-adk-checkbox.d.ts} +8 -14
  147. package/types/ngbase-adk-clipboard.d.ts +12 -0
  148. package/{color-picker/index.d.ts → types/ngbase-adk-color-picker.d.ts} +14 -26
  149. package/{datepicker/index.d.ts → types/ngbase-adk-datepicker.d.ts} +9 -18
  150. package/{dialog/index.d.ts → types/ngbase-adk-dialog.d.ts} +3 -8
  151. package/types/ngbase-adk-form-field.d.ts +88 -0
  152. package/{inline-edit/index.d.ts → types/ngbase-adk-inline-edit.d.ts} +8 -16
  153. package/types/ngbase-adk-jwt.d.ts +64 -0
  154. package/{menu/index.d.ts → types/ngbase-adk-menu.d.ts} +6 -5
  155. package/{otp/index.d.ts → types/ngbase-adk-otp.d.ts} +8 -16
  156. package/{popover/index.d.ts → types/ngbase-adk-popover.d.ts} +14 -2
  157. package/{portal/index.d.ts → types/ngbase-adk-portal.d.ts} +29 -8
  158. package/{radio/index.d.ts → types/ngbase-adk-radio.d.ts} +9 -12
  159. package/{resizable/index.d.ts → types/ngbase-adk-resizable.d.ts} +4 -4
  160. package/{scroll-area/index.d.ts → types/ngbase-adk-scroll-area.d.ts} +2 -1
  161. package/{select/index.d.ts → types/ngbase-adk-select.d.ts} +8 -22
  162. package/{selectable/index.d.ts → types/ngbase-adk-selectable.d.ts} +6 -10
  163. package/{sheet/index.d.ts → types/ngbase-adk-sheet.d.ts} +4 -3
  164. package/{sidenav/index.d.ts → types/ngbase-adk-sidenav.d.ts} +6 -6
  165. package/{slider/index.d.ts → types/ngbase-adk-slider.d.ts} +8 -17
  166. package/{sonner/index.d.ts → types/ngbase-adk-sonner.d.ts} +1 -3
  167. package/{stepper/index.d.ts → types/ngbase-adk-stepper.d.ts} +1 -4
  168. package/{switch/index.d.ts → types/ngbase-adk-switch.d.ts} +7 -14
  169. package/{table/index.d.ts → types/ngbase-adk-table.d.ts} +126 -3
  170. package/{test/index.d.ts → types/ngbase-adk-test.d.ts} +1 -1
  171. package/{toggle-group/index.d.ts → types/ngbase-adk-toggle-group.d.ts} +5 -10
  172. package/types/ngbase-adk-toggle.d.ts +14 -0
  173. package/{tooltip/index.d.ts → types/ngbase-adk-tooltip.d.ts} +9 -11
  174. package/{tour/index.d.ts → types/ngbase-adk-tour.d.ts} +4 -6
  175. package/{utils/index.d.ts → types/ngbase-adk-utils.d.ts} +15 -11
  176. package/clipboard/index.d.ts +0 -11
  177. package/form-field/index.d.ts +0 -97
  178. package/jwt/index.d.ts +0 -20
  179. package/toggle/index.d.ts +0 -16
  180. /package/{a11y/index.d.ts → types/ngbase-adk-a11y.d.ts} +0 -0
  181. /package/{avatar/index.d.ts → types/ngbase-adk-avatar.d.ts} +0 -0
  182. /package/{bidi/index.d.ts → types/ngbase-adk-bidi.d.ts} +0 -0
  183. /package/{breadcrumb/index.d.ts → types/ngbase-adk-breadcrumb.d.ts} +0 -0
  184. /package/{cache/index.d.ts → types/ngbase-adk-cache.d.ts} +0 -0
  185. /package/{carousel/index.d.ts → types/ngbase-adk-carousel.d.ts} +0 -0
  186. /package/{chip/index.d.ts → types/ngbase-adk-chip.d.ts} +0 -0
  187. /package/{collections/index.d.ts → types/ngbase-adk-collections.d.ts} +0 -0
  188. /package/{cookies/index.d.ts → types/ngbase-adk-cookies.d.ts} +0 -0
  189. /package/{drag/index.d.ts → types/ngbase-adk-drag.d.ts} +0 -0
  190. /package/{hover-card/index.d.ts → types/ngbase-adk-hover-card.d.ts} +0 -0
  191. /package/{icon/index.d.ts → types/ngbase-adk-icon.d.ts} +0 -0
  192. /package/{keys/index.d.ts → types/ngbase-adk-keys.d.ts} +0 -0
  193. /package/{layout/index.d.ts → types/ngbase-adk-layout.d.ts} +0 -0
  194. /package/{list/index.d.ts → types/ngbase-adk-list.d.ts} +0 -0
  195. /package/{mask/index.d.ts → types/ngbase-adk-mask.d.ts} +0 -0
  196. /package/{network/index.d.ts → types/ngbase-adk-network.d.ts} +0 -0
  197. /package/{pagination/index.d.ts → types/ngbase-adk-pagination.d.ts} +0 -0
  198. /package/{progress/index.d.ts → types/ngbase-adk-progress.d.ts} +0 -0
  199. /package/{tabs/index.d.ts → types/ngbase-adk-tabs.d.ts} +0 -0
  200. /package/{translate/index.d.ts → types/ngbase-adk-translate.d.ts} +0 -0
  201. /package/{tree/index.d.ts → types/ngbase-adk-tree.d.ts} +0 -0
  202. /package/{virtualizer/index.d.ts → types/ngbase-adk-virtualizer.d.ts} +0 -0
  203. /package/{index.d.ts → types/ngbase-adk.d.ts} +0 -0
@@ -1,8 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, computed, Injectable, inject, Component, model, input, linkedSignal, Directive, ElementRef } from '@angular/core';
3
- import { fadeAnimation } from '@ngbase/adk/utils';
2
+ import { signal, computed, Injectable, inject, Component, model, input, linkedSignal, Directive, ElementRef, effect } from '@angular/core';
4
3
  import { injectDirectionality, Directionality } from '@ngbase/adk/bidi';
5
- import { trigger, state, style, transition, animate } from '@angular/animations';
6
4
 
7
5
  class SidenavService {
8
6
  constructor() {
@@ -36,10 +34,10 @@ class SidenavService {
36
34
  animationStart() {
37
35
  this.status.set(1);
38
36
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SidenavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SidenavService }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SidenavService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SidenavService }); }
41
39
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SidenavService, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SidenavService, decorators: [{
43
41
  type: Injectable
44
42
  }] });
45
43
 
@@ -47,10 +45,10 @@ class NgbSidenavOverlay {
47
45
  constructor() {
48
46
  this.sidenav = inject(NgbSidenav);
49
47
  }
50
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavOverlay, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
51
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.2.0", type: NgbSidenavOverlay, isStandalone: true, selector: "[ngbSidenavOverlay]", host: { listeners: { "click": "sidenav.toggle()" }, properties: { "@fadeAnimation": "" }, styleAttribute: "position:absolute;left:0;top:0;width:100%;height:100%;", classAttribute: "sidenav-overlay" }, ngImport: i0, template: ``, isInline: true, animations: [fadeAnimation('500ms')] }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenavOverlay, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.0", type: NgbSidenavOverlay, isStandalone: true, selector: "[ngbSidenavOverlay]", host: { listeners: { "click": "sidenav.toggle()" }, styleAttribute: "position:absolute;left:0;top:0;width:100%;height:100%;", classAttribute: "sidenav-overlay" }, ngImport: i0, template: ``, isInline: true }); }
52
50
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavOverlay, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenavOverlay, decorators: [{
54
52
  type: Component,
55
53
  args: [{
56
54
  selector: '[ngbSidenavOverlay]',
@@ -59,9 +57,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
59
57
  class: 'sidenav-overlay',
60
58
  style: 'position:absolute;left:0;top:0;width:100%;height:100%;',
61
59
  '(click)': 'sidenav.toggle()',
62
- '[@fadeAnimation]': '',
63
60
  },
64
- animations: [fadeAnimation('500ms')],
65
61
  }]
66
62
  }] });
67
63
  class NgbSidenav {
@@ -71,16 +67,16 @@ class NgbSidenav {
71
67
  this.show = model(true, ...(ngDevMode ? [{ debugName: "show" }] : []));
72
68
  this.mode = input('side', ...(ngDevMode ? [{ debugName: "mode" }] : []));
73
69
  this.showOverlay = computed(() => this.mode() === 'over' && this.show(), ...(ngDevMode ? [{ debugName: "showOverlay" }] : []));
74
- this.sidenavService.show = linkedSignal(this.show);
75
- this.sidenavService.mode = linkedSignal(this.mode);
70
+ this.sidenavService.show = linkedSignal(this.show, ...(ngDevMode ? [{ debugName: "show" }] : []));
71
+ this.sidenavService.mode = linkedSignal(this.mode, ...(ngDevMode ? [{ debugName: "mode" }] : []));
76
72
  }
77
73
  toggle() {
78
74
  this.show.update(show => !show);
79
75
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenav, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
81
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.2.0", type: NgbSidenav, isStandalone: true, selector: "[ngbSidenav]", inputs: { show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { show: "showChange" }, host: { styleAttribute: "position:relative;width:100%;height:100%;" }, providers: [SidenavService], exportAs: ["ngbSidenav"], ngImport: i0 }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenav, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
77
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: NgbSidenav, isStandalone: true, selector: "[ngbSidenav]", inputs: { show: { classPropertyName: "show", publicName: "show", isSignal: true, isRequired: false, transformFunction: null }, mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { show: "showChange" }, host: { styleAttribute: "position:relative;width:100%;height:100%;" }, providers: [SidenavService], exportAs: ["ngbSidenav"], ngImport: i0 }); }
82
78
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenav, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenav, decorators: [{
84
80
  type: Directive,
85
81
  args: [{
86
82
  selector: '[ngbSidenav]',
@@ -90,7 +86,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
90
86
  style: 'position:relative;width:100%;height:100%;',
91
87
  },
92
88
  }]
93
- }], ctorParameters: () => [] });
89
+ }], ctorParameters: () => [], propDecorators: { show: [{ type: i0.Input, args: [{ isSignal: true, alias: "show", required: false }] }, { type: i0.Output, args: ["showChange"] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }] } });
94
90
  const aliasSidenav = (sidenav) => [
95
91
  SidenavService,
96
92
  { provide: NgbSidenav, useExisting: sidenav },
@@ -103,10 +99,10 @@ class NgbSidenavHeaderContent {
103
99
  ? this.sidenav.minWidth()
104
100
  : this.sidenav.width(), ...(ngDevMode ? [{ debugName: "w" }] : []));
105
101
  }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeaderContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
107
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0", type: NgbSidenavHeaderContent, isStandalone: true, selector: "[ngbSidenavHeaderContent]", host: { properties: { "style.width": "w()" } }, ngImport: i0 }); }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenavHeaderContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
103
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NgbSidenavHeaderContent, isStandalone: true, selector: "[ngbSidenavHeaderContent]", host: { properties: { "style.width": "w()" } }, ngImport: i0 }); }
108
104
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeaderContent, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenavHeaderContent, decorators: [{
110
106
  type: Directive,
111
107
  args: [{
112
108
  selector: '[ngbSidenavHeaderContent]',
@@ -119,10 +115,10 @@ class NgbSidenavHeaderTrack {
119
115
  constructor() {
120
116
  this.sidenav = inject(SidenavService);
121
117
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeaderTrack, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
123
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0", type: NgbSidenavHeaderTrack, isStandalone: true, selector: "[ngbSidenavHeaderTrack]", host: { properties: { "style.width": "sidenav.w()" } }, ngImport: i0 }); }
118
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenavHeaderTrack, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
119
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: NgbSidenavHeaderTrack, isStandalone: true, selector: "[ngbSidenavHeaderTrack]", host: { properties: { "style.width": "sidenav.w()" } }, ngImport: i0 }); }
124
120
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeaderTrack, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenavHeaderTrack, decorators: [{
126
122
  type: Directive,
127
123
  args: [{
128
124
  selector: '[ngbSidenavHeaderTrack]',
@@ -131,13 +127,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
131
127
  },
132
128
  }]
133
129
  }] });
134
- function slideAnimation(ease) {
135
- return trigger('slide', [
136
- state('true', style({ transform: 'translateX(0)' })),
137
- state('false', style({ transform: 'translateX({{x}})' }), { params: { x: '-100%' } }),
138
- transition('* <=> *', [animate(ease)]),
139
- ]);
140
- }
141
130
  class NgbSidenavHeader {
142
131
  constructor() {
143
132
  this.sidenav = inject(SidenavService);
@@ -145,11 +134,8 @@ class NgbSidenavHeader {
145
134
  this.dir = inject(Directionality);
146
135
  this.width = input('250px', ...(ngDevMode ? [{ debugName: "width" }] : []));
147
136
  this.minWidth = input('0', ...(ngDevMode ? [{ debugName: "minWidth" }] : []));
148
- this.initial = 0;
149
- this.isAnimationDisabled = linkedSignal({
150
- source: this.sidenav.animate,
151
- computation: () => this.initial++ === 0, // this will not considered on initial render due to increment
152
- });
137
+ // Track if we should skip animation (e.g., during direction change)
138
+ this.skipTransition = signal(false, ...(ngDevMode ? [{ debugName: "skipTransition" }] : []));
153
139
  this.w = computed(() => (this.sidenav.mode() === 'partial' ? this.minWidth() : this.width()), ...(ngDevMode ? [{ debugName: "w" }] : []));
154
140
  this.actualWidth = computed(() => {
155
141
  if (this.sidenav.show()) {
@@ -163,6 +149,13 @@ class NgbSidenavHeader {
163
149
  }
164
150
  return this.width();
165
151
  }, ...(ngDevMode ? [{ debugName: "actualWidth" }] : []));
152
+ this.translateX = computed(() => {
153
+ if (this.sidenav.animate()) {
154
+ return 'translateX(0)';
155
+ }
156
+ const offset = this.dir.isRtl() ? this.w() : `-${this.w()}`;
157
+ return `translateX(${offset})`;
158
+ }, ...(ngDevMode ? [{ debugName: "translateX" }] : []));
166
159
  this.headerStyles = computed(() => {
167
160
  let styles = {};
168
161
  if (this.sidenav.mode() === 'over') {
@@ -174,15 +167,42 @@ class NgbSidenavHeader {
174
167
  else {
175
168
  styles = { ...styles, left: '0' };
176
169
  }
170
+ // Disable transition during direction change
171
+ if (this.skipTransition()) {
172
+ styles = { ...styles, transition: 'none' };
173
+ }
177
174
  return styles;
178
175
  }, ...(ngDevMode ? [{ debugName: "headerStyles" }] : []));
179
- this.sidenav.width = linkedSignal(this.width);
180
- this.sidenav.minWidth = linkedSignal(this.minWidth);
176
+ this.sidenav.width = linkedSignal(this.width, ...(ngDevMode ? [{ debugName: "width" }] : []));
177
+ this.sidenav.minWidth = linkedSignal(this.minWidth, ...(ngDevMode ? [{ debugName: "minWidth" }] : []));
178
+ // Watch for direction changes and skip transition
179
+ let prevDir = this.dir.isRtl();
180
+ effect(() => {
181
+ const currentDir = this.dir.isRtl();
182
+ if (currentDir !== prevDir) {
183
+ prevDir = currentDir;
184
+ this.skipTransition.set(true);
185
+ // Re-enable transition after a frame
186
+ requestAnimationFrame(() => {
187
+ this.skipTransition.set(false);
188
+ });
189
+ }
190
+ });
191
+ }
192
+ onTransitionEnd(event) {
193
+ if (event.propertyName === 'transform') {
194
+ this.sidenav.animationDone();
195
+ }
196
+ }
197
+ onTransitionStart(event) {
198
+ if (event.propertyName === 'transform') {
199
+ this.sidenav.animationStart();
200
+ }
181
201
  }
182
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
183
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.2.0", type: NgbSidenavHeader, isStandalone: true, selector: "[ngbSidenavHeader]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "@slide.done": "sidenav.animationDone()", "@slide.start": "sidenav.animationStart()" }, properties: { "style.visibility": "sidenav.visibility() ? \"visible\" : \"hidden\"", "style": "headerStyles()", "style.width": "actualWidth()", "attr.aria-hidden": "!sidenav.show()", "attr.data-mode": "sidenav.mode()", "@slide": "{ value: sidenav.animate(), params: { x: dir.isRtl() ? w() : '-'+w() } }" }, styleAttribute: "overflow:hidden;position:absolute;" }, ngImport: i0 }); }
202
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenavHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
203
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.0", type: NgbSidenavHeader, isStandalone: true, selector: "[ngbSidenavHeader]", inputs: { width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "transitionend": "onTransitionEnd($event)", "transitionstart": "onTransitionStart($event)" }, properties: { "style.visibility": "sidenav.visibility() ? \"visible\" : \"hidden\"", "style": "headerStyles()", "style.width": "actualWidth()", "style.transform": "translateX()", "attr.aria-hidden": "!sidenav.show()", "attr.data-mode": "sidenav.mode()" }, styleAttribute: "overflow:hidden;position:absolute;" }, ngImport: i0 }); }
184
204
  }
185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSidenavHeader, decorators: [{
205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSidenavHeader, decorators: [{
186
206
  type: Directive,
187
207
  args: [{
188
208
  selector: '[ngbSidenavHeader]',
@@ -191,19 +211,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
191
211
  '[style.visibility]': 'sidenav.visibility() ? "visible" : "hidden"',
192
212
  '[style]': `headerStyles()`,
193
213
  '[style.width]': `actualWidth()`,
214
+ '[style.transform]': 'translateX()',
194
215
  '[attr.aria-hidden]': '!sidenav.show()',
195
216
  '[attr.data-mode]': 'sidenav.mode()',
196
- '[@slide]': `{ value: sidenav.animate(), params: { x: dir.isRtl() ? w() : '-'+w() } }`,
197
- '(@slide.done)': 'sidenav.animationDone()',
198
- '(@slide.start)': 'sidenav.animationStart()',
199
- // '[@slide.disabled]': 'isAnimationDisabled()',
217
+ '(transitionend)': 'onTransitionEnd($event)',
218
+ '(transitionstart)': 'onTransitionStart($event)',
200
219
  },
201
220
  }]
202
- }], ctorParameters: () => [] });
221
+ }], ctorParameters: () => [], propDecorators: { width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }] } });
203
222
 
204
223
  /**
205
224
  * Generated bundle index. Do not edit.
206
225
  */
207
226
 
208
- export { NgbSidenav, NgbSidenavHeader, NgbSidenavHeaderContent, NgbSidenavHeaderTrack, NgbSidenavOverlay, aliasSidenav, slideAnimation };
227
+ export { NgbSidenav, NgbSidenavHeader, NgbSidenavHeaderContent, NgbSidenavHeaderTrack, NgbSidenavOverlay, aliasSidenav };
209
228
  //# sourceMappingURL=ngbase-adk-sidenav.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngbase-adk-sidenav.mjs","sources":["../../../projects/adk/sidenav/sidenav.service.ts","../../../projects/adk/sidenav/sidenav.ts","../../../projects/adk/sidenav/sidenav-header.ts","../../../projects/adk/sidenav/ngbase-adk-sidenav.ts"],"sourcesContent":["import { computed, Injectable, signal } from '@angular/core';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\n\nexport type SidenavType = 'side' | 'over' | 'partial';\n\n@Injectable()\nexport class SidenavService {\n readonly dir = injectDirectionality();\n width = signal('0');\n show = signal(true);\n mode = signal<'side' | 'over' | 'partial'>('side');\n minWidth = signal('0');\n readonly status = signal(1);\n\n readonly visibility = computed(() => (this.mode() === 'partial' ? true : this.status()));\n readonly animate = computed(() => (this.mode() === 'partial' ? true : this.show()));\n\n readonly w = computed(() =>\n this.show() && this.mode() !== 'over'\n ? this.width()\n : this.mode() === 'partial'\n ? this.minWidth()\n : '0',\n );\n\n readonly styles = computed(() => {\n const styles = {} as any;\n if (this.dir.isRtl()) {\n styles.paddingRight = this.w();\n } else {\n styles.paddingLeft = this.w();\n }\n return styles;\n });\n\n animationDone() {\n this.status.set(this.show() ? 1 : 0);\n }\n\n animationStart() {\n this.status.set(1);\n }\n}\n","import {\n Component,\n computed,\n Directive,\n inject,\n input,\n linkedSignal,\n model,\n Type,\n} from '@angular/core';\nimport { fadeAnimation } from '@ngbase/adk/utils';\nimport { SidenavType } from './sidenav.service';\nimport { SidenavService } from './sidenav.service';\n\n@Component({\n selector: '[ngbSidenavOverlay]',\n template: ``,\n host: {\n class: 'sidenav-overlay',\n style: 'position:absolute;left:0;top:0;width:100%;height:100%;',\n '(click)': 'sidenav.toggle()',\n '[@fadeAnimation]': '',\n },\n animations: [fadeAnimation('500ms')],\n})\nexport class NgbSidenavOverlay {\n readonly sidenav = inject(NgbSidenav);\n}\n\n@Directive({\n selector: '[ngbSidenav]',\n exportAs: 'ngbSidenav',\n providers: [SidenavService],\n host: {\n style: 'position:relative;width:100%;height:100%;',\n },\n})\nexport class NgbSidenav {\n readonly sidenavService = inject(SidenavService);\n\n // Inputs\n readonly show = model(true);\n readonly mode = input<SidenavType>('side');\n\n readonly showOverlay = computed(() => this.mode() === 'over' && this.show());\n\n constructor() {\n this.sidenavService.show = linkedSignal(this.show);\n this.sidenavService.mode = linkedSignal(this.mode);\n }\n\n toggle() {\n this.show.update(show => !show);\n }\n}\n\nexport const aliasSidenav = (sidenav: Type<NgbSidenav>) => [\n SidenavService,\n { provide: NgbSidenav, useExisting: sidenav },\n];\n","import { animate, state, style, transition, trigger } from '@angular/animations';\nimport { computed, Directive, ElementRef, inject, input, linkedSignal } from '@angular/core';\nimport { Directionality } from '@ngbase/adk/bidi';\nimport { SidenavService } from './sidenav.service';\n\n@Directive({\n selector: '[ngbSidenavHeaderContent]',\n host: {\n '[style.width]': 'w()',\n },\n})\nexport class NgbSidenavHeaderContent {\n readonly sidenav = inject(SidenavService);\n readonly w = computed(() =>\n this.sidenav.mode() === 'partial' && !this.sidenav.show()\n ? this.sidenav.minWidth()\n : this.sidenav.width(),\n );\n}\n\n@Directive({\n selector: '[ngbSidenavHeaderTrack]',\n host: {\n '[style.width]': 'sidenav.w()',\n },\n})\nexport class NgbSidenavHeaderTrack {\n readonly sidenav = inject(SidenavService);\n}\n\nexport function slideAnimation(ease: string) {\n return trigger('slide', [\n state('true', style({ transform: 'translateX(0)' })),\n state('false', style({ transform: 'translateX({{x}})' }), { params: { x: '-100%' } }),\n transition('* <=> *', [animate(ease)]),\n ]);\n}\n\n@Directive({\n selector: '[ngbSidenavHeader]',\n host: {\n style: 'overflow:hidden;position:absolute;',\n '[style.visibility]': 'sidenav.visibility() ? \"visible\" : \"hidden\"',\n '[style]': `headerStyles()`,\n '[style.width]': `actualWidth()`,\n '[attr.aria-hidden]': '!sidenav.show()',\n '[attr.data-mode]': 'sidenav.mode()',\n '[@slide]': `{ value: sidenav.animate(), params: { x: dir.isRtl() ? w() : '-'+w() } }`,\n '(@slide.done)': 'sidenav.animationDone()',\n '(@slide.start)': 'sidenav.animationStart()',\n // '[@slide.disabled]': 'isAnimationDisabled()',\n },\n})\nexport class NgbSidenavHeader {\n readonly sidenav = inject(SidenavService);\n readonly el = inject(ElementRef);\n readonly dir = inject(Directionality);\n\n readonly width = input('250px');\n readonly minWidth = input('0');\n\n private initial = 0;\n readonly isAnimationDisabled = linkedSignal({\n source: this.sidenav.animate,\n computation: () => this.initial++ === 0, // this will not considered on initial render due to increment\n });\n\n readonly w = computed(() => (this.sidenav.mode() === 'partial' ? this.minWidth() : this.width()));\n readonly actualWidth = computed(() => {\n if (this.sidenav.show()) {\n return this.width();\n } else if (this.sidenav.mode() === 'partial') {\n return this.minWidth();\n } else if (this.sidenav.mode() === 'over') {\n return this.width();\n }\n return this.width();\n });\n\n readonly headerStyles = computed(() => {\n let styles = {};\n if (this.sidenav.mode() === 'over') {\n styles = { ...styles, position: 'absolute', top: '0', height: '100%' };\n }\n if (this.dir.isRtl()) {\n styles = { ...styles, right: '0' };\n } else {\n styles = { ...styles, left: '0' };\n }\n return styles;\n });\n\n constructor() {\n this.sidenav.width = linkedSignal(this.width);\n this.sidenav.minWidth = linkedSignal(this.minWidth);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ngbase-adk-sidenav.mjs","sources":["../../../projects/adk/sidenav/sidenav.service.ts","../../../projects/adk/sidenav/sidenav.ts","../../../projects/adk/sidenav/sidenav-header.ts","../../../projects/adk/sidenav/ngbase-adk-sidenav.ts"],"sourcesContent":["import { computed, Injectable, signal } from '@angular/core';\nimport { injectDirectionality } from '@ngbase/adk/bidi';\n\nexport type SidenavType = 'side' | 'over' | 'partial';\n\n@Injectable()\nexport class SidenavService {\n readonly dir = injectDirectionality();\n width = signal('0');\n show = signal(true);\n mode = signal<'side' | 'over' | 'partial'>('side');\n minWidth = signal('0');\n readonly status = signal(1);\n\n readonly visibility = computed(() => (this.mode() === 'partial' ? true : this.status()));\n readonly animate = computed(() => (this.mode() === 'partial' ? true : this.show()));\n\n readonly w = computed(() =>\n this.show() && this.mode() !== 'over'\n ? this.width()\n : this.mode() === 'partial'\n ? this.minWidth()\n : '0',\n );\n\n readonly styles = computed(() => {\n const styles = {} as any;\n if (this.dir.isRtl()) {\n styles.paddingRight = this.w();\n } else {\n styles.paddingLeft = this.w();\n }\n return styles;\n });\n\n animationDone() {\n this.status.set(this.show() ? 1 : 0);\n }\n\n animationStart() {\n this.status.set(1);\n }\n}\n","import {\n Component,\n computed,\n Directive,\n inject,\n input,\n linkedSignal,\n model,\n Type,\n} from '@angular/core';\nimport { SidenavType } from './sidenav.service';\nimport { SidenavService } from './sidenav.service';\n\n@Component({\n selector: '[ngbSidenavOverlay]',\n template: ``,\n host: {\n class: 'sidenav-overlay',\n style: 'position:absolute;left:0;top:0;width:100%;height:100%;',\n '(click)': 'sidenav.toggle()',\n },\n})\nexport class NgbSidenavOverlay {\n readonly sidenav = inject(NgbSidenav);\n}\n\n@Directive({\n selector: '[ngbSidenav]',\n exportAs: 'ngbSidenav',\n providers: [SidenavService],\n host: {\n style: 'position:relative;width:100%;height:100%;',\n },\n})\nexport class NgbSidenav {\n readonly sidenavService = inject(SidenavService);\n\n // Inputs\n readonly show = model(true);\n readonly mode = input<SidenavType>('side');\n\n readonly showOverlay = computed(() => this.mode() === 'over' && this.show());\n\n constructor() {\n this.sidenavService.show = linkedSignal(this.show);\n this.sidenavService.mode = linkedSignal(this.mode);\n }\n\n toggle() {\n this.show.update(show => !show);\n }\n}\n\nexport const aliasSidenav = (sidenav: Type<NgbSidenav>) => [\n SidenavService,\n { provide: NgbSidenav, useExisting: sidenav },\n];\n","import { computed, Directive, effect, ElementRef, inject, input, linkedSignal, signal } from '@angular/core';\nimport { Directionality } from '@ngbase/adk/bidi';\nimport { SidenavService } from './sidenav.service';\n\n@Directive({\n selector: '[ngbSidenavHeaderContent]',\n host: {\n '[style.width]': 'w()',\n },\n})\nexport class NgbSidenavHeaderContent {\n readonly sidenav = inject(SidenavService);\n readonly w = computed(() =>\n this.sidenav.mode() === 'partial' && !this.sidenav.show()\n ? this.sidenav.minWidth()\n : this.sidenav.width(),\n );\n}\n\n@Directive({\n selector: '[ngbSidenavHeaderTrack]',\n host: {\n '[style.width]': 'sidenav.w()',\n },\n})\nexport class NgbSidenavHeaderTrack {\n readonly sidenav = inject(SidenavService);\n}\n\n@Directive({\n selector: '[ngbSidenavHeader]',\n host: {\n style: 'overflow:hidden;position:absolute;',\n '[style.visibility]': 'sidenav.visibility() ? \"visible\" : \"hidden\"',\n '[style]': `headerStyles()`,\n '[style.width]': `actualWidth()`,\n '[style.transform]': 'translateX()',\n '[attr.aria-hidden]': '!sidenav.show()',\n '[attr.data-mode]': 'sidenav.mode()',\n '(transitionend)': 'onTransitionEnd($event)',\n '(transitionstart)': 'onTransitionStart($event)',\n },\n})\nexport class NgbSidenavHeader {\n readonly sidenav = inject(SidenavService);\n readonly el = inject(ElementRef);\n readonly dir = inject(Directionality);\n\n readonly width = input('250px');\n readonly minWidth = input('0');\n\n // Track if we should skip animation (e.g., during direction change)\n private skipTransition = signal(false);\n\n readonly w = computed(() => (this.sidenav.mode() === 'partial' ? this.minWidth() : this.width()));\n readonly actualWidth = computed(() => {\n if (this.sidenav.show()) {\n return this.width();\n } else if (this.sidenav.mode() === 'partial') {\n return this.minWidth();\n } else if (this.sidenav.mode() === 'over') {\n return this.width();\n }\n return this.width();\n });\n\n readonly translateX = computed(() => {\n if (this.sidenav.animate()) {\n return 'translateX(0)';\n }\n const offset = this.dir.isRtl() ? this.w() : `-${this.w()}`;\n return `translateX(${offset})`;\n });\n\n readonly headerStyles = computed(() => {\n let styles: Record<string, string> = {};\n if (this.sidenav.mode() === 'over') {\n styles = { ...styles, position: 'absolute', top: '0', height: '100%' };\n }\n if (this.dir.isRtl()) {\n styles = { ...styles, right: '0' };\n } else {\n styles = { ...styles, left: '0' };\n }\n // Disable transition during direction change\n if (this.skipTransition()) {\n styles = { ...styles, transition: 'none' };\n }\n return styles;\n });\n\n constructor() {\n this.sidenav.width = linkedSignal(this.width);\n this.sidenav.minWidth = linkedSignal(this.minWidth);\n\n // Watch for direction changes and skip transition\n let prevDir = this.dir.isRtl();\n effect(() => {\n const currentDir = this.dir.isRtl();\n if (currentDir !== prevDir) {\n prevDir = currentDir;\n this.skipTransition.set(true);\n // Re-enable transition after a frame\n requestAnimationFrame(() => {\n this.skipTransition.set(false);\n });\n }\n });\n }\n\n onTransitionEnd(event: TransitionEvent) {\n if (event.propertyName === 'transform') {\n this.sidenav.animationDone();\n }\n }\n\n onTransitionStart(event: TransitionEvent) {\n if (event.propertyName === 'transform') {\n this.sidenav.animationStart();\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,20 +1,19 @@
1
1
  import * as i0 from '@angular/core';
2
- import { inject, linkedSignal, Directive, ElementRef, computed, ChangeDetectorRef, viewChild, viewChildren, model, input, numberAttribute, booleanAttribute, output, effect, untracked, afterNextRender } from '@angular/core';
2
+ import { inject, linkedSignal, Directive, ElementRef, computed, viewChild, viewChildren, model, input, numberAttribute, booleanAttribute, output, effect, untracked, afterNextRender } from '@angular/core';
3
3
  import { Directionality } from '@ngbase/adk/bidi';
4
4
  import * as i1 from '@ngbase/adk/drag';
5
5
  import { Drag } from '@ngbase/adk/drag';
6
- import { provideValueAccessor } from '@ngbase/adk/utils';
7
6
 
8
7
  class SliderTrack {
9
8
  constructor() {
10
9
  this.slider = inject(NgbSlider);
11
10
  this.drag = inject(Drag);
12
- this.drag._disabled = linkedSignal(this.slider.disabled);
11
+ this.drag._disabled = linkedSignal(this.slider.disabled, ...(ngDevMode ? [{ debugName: "_disabled" }] : []));
13
12
  }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SliderTrack, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
15
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0", type: SliderTrack, isStandalone: true, selector: "[ngbSliderTrack]", host: { properties: { "attr.aria-disabled": "slider.disabled()" }, styleAttribute: "overflow: hidden; position: relative;" }, hostDirectives: [{ directive: i1.Drag }], ngImport: i0 }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SliderTrack, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: SliderTrack, isStandalone: true, selector: "[ngbSliderTrack]", host: { properties: { "attr.aria-disabled": "slider.disabled()" }, styleAttribute: "overflow: hidden; position: relative;" }, hostDirectives: [{ directive: i1.Drag }], ngImport: i0 }); }
16
15
  }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SliderTrack, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SliderTrack, decorators: [{
18
17
  type: Directive,
19
18
  args: [{
20
19
  selector: '[ngbSliderTrack]',
@@ -29,10 +28,10 @@ class SliderRange {
29
28
  constructor() {
30
29
  this.slider = inject(NgbSlider);
31
30
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SliderRange, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0", type: SliderRange, isStandalone: true, selector: "[ngbSliderRange]", host: { properties: { "attr.aria-disabled": "slider.disabled()" }, styleAttribute: "position: absolute;" }, ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SliderRange, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: SliderRange, isStandalone: true, selector: "[ngbSliderRange]", host: { properties: { "attr.aria-disabled": "slider.disabled()" }, styleAttribute: "position: absolute;" }, ngImport: i0 }); }
34
33
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SliderRange, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SliderRange, decorators: [{
36
35
  type: Directive,
37
36
  args: [{
38
37
  selector: '[ngbSliderRange]',
@@ -56,10 +55,10 @@ class SliderThumb {
56
55
  return this.slider.range() > 1 ? values[this.index()] : values;
57
56
  }, ...(ngDevMode ? [{ debugName: "value" }] : []));
58
57
  }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SliderThumb, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
60
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.2.0", type: SliderThumb, isStandalone: true, selector: "[ngbSliderThumb]", host: { attributes: { "type": "button", "role": "slider" }, properties: { "attr.tabindex": "slider.disabled() ? -1 : 0", "attr.aria-disabled": "slider.disabled()", "attr.aria-valuemin": "slider.min()", "attr.aria-valuemax": "slider.max()", "attr.aria-valuenow": "value()" }, styleAttribute: "position: absolute; pointer-events: none;" }, ngImport: i0 }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SliderThumb, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
59
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.0", type: SliderThumb, isStandalone: true, selector: "[ngbSliderThumb]", host: { attributes: { "type": "button", "role": "slider" }, properties: { "attr.tabindex": "slider.disabled() ? -1 : 0", "attr.aria-disabled": "slider.disabled()", "attr.aria-valuemin": "slider.minValue()", "attr.aria-valuemax": "slider.maxValue()", "attr.aria-valuenow": "value()" }, styleAttribute: "position: absolute; pointer-events: none;" }, ngImport: i0 }); }
61
60
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: SliderThumb, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: SliderThumb, decorators: [{
63
62
  type: Directive,
64
63
  args: [{
65
64
  selector: '[ngbSliderThumb]',
@@ -69,8 +68,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
69
68
  style: 'position: absolute; pointer-events: none;',
70
69
  '[attr.tabindex]': 'slider.disabled() ? -1 : 0',
71
70
  '[attr.aria-disabled]': 'slider.disabled()',
72
- '[attr.aria-valuemin]': 'slider.min()',
73
- '[attr.aria-valuemax]': 'slider.max()',
71
+ '[attr.aria-valuemin]': 'slider.minValue()',
72
+ '[attr.aria-valuemax]': 'slider.maxValue()',
74
73
  '[attr.aria-valuenow]': 'value()',
75
74
  },
76
75
  }]
@@ -78,25 +77,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImpor
78
77
  class NgbSlider {
79
78
  constructor() {
80
79
  this.el = inject(ElementRef);
81
- this.dir = inject(Directionality); // this.dir.isRtl();
82
- this.cdr = inject(ChangeDetectorRef);
80
+ this.dir = inject(Directionality);
83
81
  this.drag = viewChild.required(Drag);
84
82
  this.track = viewChild.required(SliderRange, {
85
83
  read: ElementRef,
86
84
  });
87
- this.thumbs = viewChildren(SliderThumb, ...(ngDevMode ? [{ debugName: "thumbs", read: ElementRef }] : [{
88
- read: ElementRef,
89
- }]));
85
+ this.thumbs = viewChildren(SliderThumb, { ...(ngDevMode ? { debugName: "thumbs" } : {}), read: ElementRef });
90
86
  this.value = model(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
91
- this.step = input(1, ...(ngDevMode ? [{ debugName: "step", transform: numberAttribute }] : [{ transform: numberAttribute }]));
92
- this.min = input(0, ...(ngDevMode ? [{ debugName: "min", transform: numberAttribute }] : [{ transform: numberAttribute }]));
93
- this.max = input(100, ...(ngDevMode ? [{ debugName: "max", transform: numberAttribute }] : [{ transform: numberAttribute }]));
94
- this.range = input(1, ...(ngDevMode ? [{ debugName: "range", transform: numberAttribute }] : [{ transform: numberAttribute }]));
95
- this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
87
+ this.touched = model(false, ...(ngDevMode ? [{ debugName: "touched" }] : []));
88
+ this.step = input(1, { ...(ngDevMode ? { debugName: "step" } : {}), transform: numberAttribute });
89
+ this.minValue = input(0, { ...(ngDevMode ? { debugName: "minValue" } : {}), transform: numberAttribute, alias: 'min' });
90
+ this.maxValue = input(100, { ...(ngDevMode ? { debugName: "maxValue" } : {}), transform: numberAttribute, alias: 'max' });
91
+ this.range = input(1, { ...(ngDevMode ? { debugName: "range" } : {}), transform: numberAttribute });
92
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : {}), transform: booleanAttribute });
96
93
  this.orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : []));
97
94
  this.afterChange = output();
98
95
  this.noOfThumbs = computed(() => Array.from({ length: this.range() }, (_, i) => i), ...(ngDevMode ? [{ debugName: "noOfThumbs" }] : []));
99
- this.totalSteps = computed(() => (this.max() - this.min()) / this.step(), ...(ngDevMode ? [{ debugName: "totalSteps" }] : []));
96
+ this.totalSteps = computed(() => (this.maxValue() - this.minValue()) / this.step(), ...(ngDevMode ? [{ debugName: "totalSteps" }] : []));
100
97
  this.values = [];
101
98
  this.activeIndex = 0;
102
99
  this.totalWidth = 0;
@@ -155,22 +152,13 @@ class NgbSlider {
155
152
  }
156
153
  }
157
154
  getThumbSize(value, thumbSize = 0) {
158
- const currentStep = (value - this.min()) / this.step();
155
+ const currentStep = (value - this.minValue()) / this.step();
159
156
  const halfSteps = this.totalSteps() / 2;
160
157
  const halfThumbSize = thumbSize / 2;
161
158
  // Return 0 for middle, positive offset for first half, negative for second half
162
159
  const offset = currentStep - halfSteps;
163
160
  return -(offset / halfSteps) * halfThumbSize;
164
161
  }
165
- writeValue(value) {
166
- this.value.set(value);
167
- }
168
- registerOnChange(fn) {
169
- this.onChange = fn;
170
- }
171
- registerOnTouched(fn) {
172
- this.onTouched = fn;
173
- }
174
162
  get width() {
175
163
  return this.orientation() === 'vertical'
176
164
  ? this.el.nativeElement.clientHeight
@@ -178,15 +166,15 @@ class NgbSlider {
178
166
  }
179
167
  // We need to consider the min value also because the slider can be negative
180
168
  toPercentage(value) {
181
- const min = this.min();
182
- const max = this.max();
169
+ const min = this.minValue();
170
+ const max = this.maxValue();
183
171
  const range = max - min;
184
172
  const percentage = ((value - min) / range) * 100;
185
173
  return percentage;
186
174
  }
187
175
  fromPercentage(percentage) {
188
- const min = this.min();
189
- const max = this.max();
176
+ const min = this.minValue();
177
+ const max = this.maxValue();
190
178
  const range = max - min;
191
179
  const value = (percentage / 100) * range + min;
192
180
  return value;
@@ -218,11 +206,11 @@ class NgbSlider {
218
206
  // convert percentage to value
219
207
  return this.fromPercentage(percentage);
220
208
  }
221
- fixStep(value = this.min()) {
209
+ fixStep(value = this.minValue()) {
222
210
  // make sure the value is within the min and max
223
211
  // we need to make the percentage to be a multiple of the step
224
212
  value = parseFloat((Math.round(value / this.step()) * this.step()).toFixed(10));
225
- return Math.max(this.min(), Math.min(this.max(), value));
213
+ return Math.max(this.minValue(), Math.min(this.maxValue(), value));
226
214
  }
227
215
  moveSlider(data) {
228
216
  data.event?.preventDefault();
@@ -247,7 +235,7 @@ class NgbSlider {
247
235
  this.totalSliderWidth = this.totalWidth * (valuePercentage / 100);
248
236
  // make sure the values are equal length as the range
249
237
  if (this.values.length !== this.range()) {
250
- this.values = Array.from({ length: this.range() }, (_, i) => this.values[i] || this.min());
238
+ this.values = Array.from({ length: this.range() }, (_, i) => this.values[i] || this.minValue());
251
239
  }
252
240
  // sort the values
253
241
  this.values = this.values.sort((a, b) => a - b);
@@ -287,7 +275,7 @@ class NgbSlider {
287
275
  const values = this.values;
288
276
  let stepValue = this.fixStep(value);
289
277
  // Clamp the value between min and max
290
- stepValue = Math.max(this.min(), Math.min(this.max(), stepValue));
278
+ stepValue = Math.max(this.minValue(), Math.min(this.maxValue(), stepValue));
291
279
  values[index] = stepValue;
292
280
  this.values = values.sort((a, b) => a - b);
293
281
  this.activeIndex = this.values.findIndex(v => v === stepValue);
@@ -296,29 +284,28 @@ class NgbSlider {
296
284
  notifyChange() {
297
285
  const percentage = this.range() > 1 ? [...this.values] : this.values[0];
298
286
  this.value.set(percentage);
299
- this.onChange?.(percentage);
300
- this.onTouched?.();
287
+ this.touched.set(true);
301
288
  this.isChanged = true;
302
- // this is required for reactive forms to work
303
- this.cdr.markForCheck();
304
289
  }
305
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSlider, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
306
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "20.2.0", type: NgbSlider, isStandalone: true, selector: "[ngbSlider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", afterChange: "afterChange" }, host: { properties: { "attr.aria-orientation": "orientation()" } }, providers: [provideValueAccessor(NgbSlider)], viewQueries: [{ propertyName: "drag", first: true, predicate: Drag, descendants: true, isSignal: true }, { propertyName: "track", first: true, predicate: SliderRange, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "thumbs", predicate: SliderThumb, descendants: true, read: ElementRef, isSignal: true }], exportAs: ["ngbSlider"], ngImport: i0 }); }
290
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSlider, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
291
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.0", type: NgbSlider, isStandalone: true, selector: "[ngbSlider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, minValue: { classPropertyName: "minValue", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, range: { classPropertyName: "range", publicName: "range", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", touched: "touchedChange", afterChange: "afterChange" }, host: { properties: { "attr.aria-orientation": "orientation()" } }, viewQueries: [{ propertyName: "drag", first: true, predicate: Drag, descendants: true, isSignal: true }, { propertyName: "track", first: true, predicate: SliderRange, descendants: true, read: ElementRef, isSignal: true }, { propertyName: "thumbs", predicate: SliderThumb, descendants: true, read: ElementRef, isSignal: true }], exportAs: ["ngbSlider"], ngImport: i0 }); }
307
292
  }
308
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NgbSlider, decorators: [{
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImport: i0, type: NgbSlider, decorators: [{
309
294
  type: Directive,
310
295
  args: [{
311
296
  selector: '[ngbSlider]',
312
297
  exportAs: 'ngbSlider',
313
- providers: [provideValueAccessor(NgbSlider)],
314
298
  host: {
315
299
  '[attr.aria-orientation]': 'orientation()',
316
300
  },
317
301
  }]
318
- }], ctorParameters: () => [] });
302
+ }], ctorParameters: () => [], propDecorators: { drag: [{ type: i0.ViewChild, args: [i0.forwardRef(() => Drag), { isSignal: true }] }], track: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SliderRange), { ...{
303
+ read: ElementRef,
304
+ }, isSignal: true }] }], thumbs: [{ type: i0.ViewChildren, args: [i0.forwardRef(() => SliderThumb), { ...{
305
+ read: ElementRef,
306
+ }, isSignal: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], touched: [{ type: i0.Input, args: [{ isSignal: true, alias: "touched", required: false }] }, { type: i0.Output, args: ["touchedChange"] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], minValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], maxValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], range: [{ type: i0.Input, args: [{ isSignal: true, alias: "range", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], afterChange: [{ type: i0.Output, args: ["afterChange"] }] } });
319
307
  const aliasSlider = (slider) => [
320
308
  { provide: NgbSlider, useExisting: slider },
321
- provideValueAccessor(slider),
322
309
  ];
323
310
 
324
311
  /*