@raqm/ui 0.0.0-stage → 0.1.1

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 (178) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/LICENSE +21 -0
  3. package/NOTICE.md +28 -0
  4. package/README.md +126 -3
  5. package/combobox/README.md +17 -0
  6. package/fesm2022/raqm-ui-accordion.mjs +414 -0
  7. package/fesm2022/raqm-ui-accordion.mjs.map +1 -0
  8. package/fesm2022/raqm-ui-alert-dialog.mjs +457 -0
  9. package/fesm2022/raqm-ui-alert-dialog.mjs.map +1 -0
  10. package/fesm2022/raqm-ui-alert.mjs +195 -0
  11. package/fesm2022/raqm-ui-alert.mjs.map +1 -0
  12. package/fesm2022/raqm-ui-aspect-ratio.mjs +66 -0
  13. package/fesm2022/raqm-ui-aspect-ratio.mjs.map +1 -0
  14. package/fesm2022/raqm-ui-attachment.mjs +435 -0
  15. package/fesm2022/raqm-ui-attachment.mjs.map +1 -0
  16. package/fesm2022/raqm-ui-avatar.mjs +337 -0
  17. package/fesm2022/raqm-ui-avatar.mjs.map +1 -0
  18. package/fesm2022/raqm-ui-badge.mjs +68 -0
  19. package/fesm2022/raqm-ui-badge.mjs.map +1 -0
  20. package/fesm2022/raqm-ui-breadcrumb.mjs +309 -0
  21. package/fesm2022/raqm-ui-breadcrumb.mjs.map +1 -0
  22. package/fesm2022/raqm-ui-button-group.mjs +138 -0
  23. package/fesm2022/raqm-ui-button-group.mjs.map +1 -0
  24. package/fesm2022/raqm-ui-button.mjs +295 -0
  25. package/fesm2022/raqm-ui-button.mjs.map +1 -0
  26. package/fesm2022/raqm-ui-calendar.mjs +1394 -0
  27. package/fesm2022/raqm-ui-calendar.mjs.map +1 -0
  28. package/fesm2022/raqm-ui-card.mjs +331 -0
  29. package/fesm2022/raqm-ui-card.mjs.map +1 -0
  30. package/fesm2022/raqm-ui-carousel.mjs +410 -0
  31. package/fesm2022/raqm-ui-carousel.mjs.map +1 -0
  32. package/fesm2022/raqm-ui-checkbox.mjs +86 -0
  33. package/fesm2022/raqm-ui-checkbox.mjs.map +1 -0
  34. package/fesm2022/raqm-ui-collapsible.mjs +266 -0
  35. package/fesm2022/raqm-ui-collapsible.mjs.map +1 -0
  36. package/fesm2022/raqm-ui-combobox.mjs +1584 -0
  37. package/fesm2022/raqm-ui-combobox.mjs.map +1 -0
  38. package/fesm2022/raqm-ui-command.mjs +1210 -0
  39. package/fesm2022/raqm-ui-command.mjs.map +1 -0
  40. package/fesm2022/raqm-ui-context-menu.mjs +723 -0
  41. package/fesm2022/raqm-ui-context-menu.mjs.map +1 -0
  42. package/fesm2022/raqm-ui-dialog.mjs +1214 -0
  43. package/fesm2022/raqm-ui-dialog.mjs.map +1 -0
  44. package/fesm2022/raqm-ui-drawer.mjs +687 -0
  45. package/fesm2022/raqm-ui-drawer.mjs.map +1 -0
  46. package/fesm2022/raqm-ui-dropdown-menu.mjs +1168 -0
  47. package/fesm2022/raqm-ui-dropdown-menu.mjs.map +1 -0
  48. package/fesm2022/raqm-ui-empty.mjs +272 -0
  49. package/fesm2022/raqm-ui-empty.mjs.map +1 -0
  50. package/fesm2022/raqm-ui-field.mjs +517 -0
  51. package/fesm2022/raqm-ui-field.mjs.map +1 -0
  52. package/fesm2022/raqm-ui-hover-card.mjs +828 -0
  53. package/fesm2022/raqm-ui-hover-card.mjs.map +1 -0
  54. package/fesm2022/raqm-ui-input-group.mjs +270 -0
  55. package/fesm2022/raqm-ui-input-group.mjs.map +1 -0
  56. package/fesm2022/raqm-ui-input-otp.mjs +788 -0
  57. package/fesm2022/raqm-ui-input-otp.mjs.map +1 -0
  58. package/fesm2022/raqm-ui-input.mjs +73 -0
  59. package/fesm2022/raqm-ui-input.mjs.map +1 -0
  60. package/fesm2022/raqm-ui-item.mjs +495 -0
  61. package/fesm2022/raqm-ui-item.mjs.map +1 -0
  62. package/fesm2022/raqm-ui-kbd.mjs +80 -0
  63. package/fesm2022/raqm-ui-kbd.mjs.map +1 -0
  64. package/fesm2022/raqm-ui-label.mjs +44 -0
  65. package/fesm2022/raqm-ui-label.mjs.map +1 -0
  66. package/fesm2022/raqm-ui-menubar.mjs +536 -0
  67. package/fesm2022/raqm-ui-menubar.mjs.map +1 -0
  68. package/fesm2022/raqm-ui-native-select.mjs +131 -0
  69. package/fesm2022/raqm-ui-native-select.mjs.map +1 -0
  70. package/fesm2022/raqm-ui-navigation-menu.mjs +1399 -0
  71. package/fesm2022/raqm-ui-navigation-menu.mjs.map +1 -0
  72. package/fesm2022/raqm-ui-overlay-internal.mjs +185 -0
  73. package/fesm2022/raqm-ui-overlay-internal.mjs.map +1 -0
  74. package/fesm2022/raqm-ui-pagination.mjs +440 -0
  75. package/fesm2022/raqm-ui-pagination.mjs.map +1 -0
  76. package/fesm2022/raqm-ui-popover.mjs +1495 -0
  77. package/fesm2022/raqm-ui-popover.mjs.map +1 -0
  78. package/fesm2022/raqm-ui-progress.mjs +369 -0
  79. package/fesm2022/raqm-ui-progress.mjs.map +1 -0
  80. package/fesm2022/raqm-ui-questionnaire.mjs +1005 -0
  81. package/fesm2022/raqm-ui-questionnaire.mjs.map +1 -0
  82. package/fesm2022/raqm-ui-radio-group.mjs +151 -0
  83. package/fesm2022/raqm-ui-radio-group.mjs.map +1 -0
  84. package/fesm2022/raqm-ui-resizable.mjs +439 -0
  85. package/fesm2022/raqm-ui-resizable.mjs.map +1 -0
  86. package/fesm2022/raqm-ui-scroll-area.mjs +510 -0
  87. package/fesm2022/raqm-ui-scroll-area.mjs.map +1 -0
  88. package/fesm2022/raqm-ui-select.mjs +1073 -0
  89. package/fesm2022/raqm-ui-select.mjs.map +1 -0
  90. package/fesm2022/raqm-ui-separator.mjs +103 -0
  91. package/fesm2022/raqm-ui-separator.mjs.map +1 -0
  92. package/fesm2022/raqm-ui-sheet.mjs +411 -0
  93. package/fesm2022/raqm-ui-sheet.mjs.map +1 -0
  94. package/fesm2022/raqm-ui-sidebar.mjs +1784 -0
  95. package/fesm2022/raqm-ui-sidebar.mjs.map +1 -0
  96. package/fesm2022/raqm-ui-skeleton.mjs +50 -0
  97. package/fesm2022/raqm-ui-skeleton.mjs.map +1 -0
  98. package/fesm2022/raqm-ui-slider.mjs +609 -0
  99. package/fesm2022/raqm-ui-slider.mjs.map +1 -0
  100. package/fesm2022/raqm-ui-spinner.mjs +137 -0
  101. package/fesm2022/raqm-ui-spinner.mjs.map +1 -0
  102. package/fesm2022/raqm-ui-switch.mjs +109 -0
  103. package/fesm2022/raqm-ui-switch.mjs.map +1 -0
  104. package/fesm2022/raqm-ui-table.mjs +271 -0
  105. package/fesm2022/raqm-ui-table.mjs.map +1 -0
  106. package/fesm2022/raqm-ui-tabs.mjs +536 -0
  107. package/fesm2022/raqm-ui-tabs.mjs.map +1 -0
  108. package/fesm2022/raqm-ui-textarea.mjs +37 -0
  109. package/fesm2022/raqm-ui-textarea.mjs.map +1 -0
  110. package/fesm2022/raqm-ui-toast.mjs +918 -0
  111. package/fesm2022/raqm-ui-toast.mjs.map +1 -0
  112. package/fesm2022/raqm-ui-toggle-group.mjs +462 -0
  113. package/fesm2022/raqm-ui-toggle-group.mjs.map +1 -0
  114. package/fesm2022/raqm-ui-toggle.mjs +158 -0
  115. package/fesm2022/raqm-ui-toggle.mjs.map +1 -0
  116. package/fesm2022/raqm-ui-tooltip.mjs +1226 -0
  117. package/fesm2022/raqm-ui-tooltip.mjs.map +1 -0
  118. package/fesm2022/raqm-ui.mjs +50 -0
  119. package/input-otp/README.md +12 -0
  120. package/package.json +275 -3
  121. package/styles/theme.css +4324 -0
  122. package/types/raqm-ui-accordion.d.ts +124 -0
  123. package/types/raqm-ui-alert-dialog.d.ts +81 -0
  124. package/types/raqm-ui-alert.d.ts +29 -0
  125. package/types/raqm-ui-aspect-ratio.d.ts +13 -0
  126. package/types/raqm-ui-attachment.d.ts +72 -0
  127. package/types/raqm-ui-avatar.d.ts +67 -0
  128. package/types/raqm-ui-badge.d.ts +20 -0
  129. package/types/raqm-ui-breadcrumb.d.ts +35 -0
  130. package/types/raqm-ui-button-group.d.ts +27 -0
  131. package/types/raqm-ui-button.d.ts +80 -0
  132. package/types/raqm-ui-calendar.d.ts +359 -0
  133. package/types/raqm-ui-card.d.ts +34 -0
  134. package/types/raqm-ui-carousel.d.ts +81 -0
  135. package/types/raqm-ui-checkbox.d.ts +24 -0
  136. package/types/raqm-ui-collapsible.d.ts +72 -0
  137. package/types/raqm-ui-combobox.d.ts +405 -0
  138. package/types/raqm-ui-command.d.ts +256 -0
  139. package/types/raqm-ui-context-menu.d.ts +196 -0
  140. package/types/raqm-ui-dialog.d.ts +232 -0
  141. package/types/raqm-ui-drawer.d.ts +121 -0
  142. package/types/raqm-ui-dropdown-menu.d.ts +319 -0
  143. package/types/raqm-ui-empty.d.ts +35 -0
  144. package/types/raqm-ui-field.d.ts +88 -0
  145. package/types/raqm-ui-hover-card.d.ts +139 -0
  146. package/types/raqm-ui-input-group.d.ts +45 -0
  147. package/types/raqm-ui-input-otp.d.ts +197 -0
  148. package/types/raqm-ui-input.d.ts +16 -0
  149. package/types/raqm-ui-item.d.ts +71 -0
  150. package/types/raqm-ui-kbd.d.ts +12 -0
  151. package/types/raqm-ui-label.d.ts +6 -0
  152. package/types/raqm-ui-menubar.d.ts +159 -0
  153. package/types/raqm-ui-native-select.d.ts +23 -0
  154. package/types/raqm-ui-navigation-menu.d.ts +230 -0
  155. package/types/raqm-ui-overlay-internal.d.ts +5 -0
  156. package/types/raqm-ui-pagination.d.ts +84 -0
  157. package/types/raqm-ui-popover.d.ts +235 -0
  158. package/types/raqm-ui-progress.d.ts +79 -0
  159. package/types/raqm-ui-questionnaire.d.ts +217 -0
  160. package/types/raqm-ui-radio-group.d.ts +48 -0
  161. package/types/raqm-ui-resizable.d.ts +98 -0
  162. package/types/raqm-ui-scroll-area.d.ts +132 -0
  163. package/types/raqm-ui-select.d.ts +205 -0
  164. package/types/raqm-ui-separator.d.ts +21 -0
  165. package/types/raqm-ui-sheet.d.ts +79 -0
  166. package/types/raqm-ui-sidebar.d.ts +285 -0
  167. package/types/raqm-ui-skeleton.d.ts +6 -0
  168. package/types/raqm-ui-slider.d.ts +129 -0
  169. package/types/raqm-ui-spinner.d.ts +32 -0
  170. package/types/raqm-ui-switch.d.ts +32 -0
  171. package/types/raqm-ui-table.d.ts +36 -0
  172. package/types/raqm-ui-tabs.d.ts +154 -0
  173. package/types/raqm-ui-textarea.d.ts +6 -0
  174. package/types/raqm-ui-toast.d.ts +190 -0
  175. package/types/raqm-ui-toggle-group.d.ts +167 -0
  176. package/types/raqm-ui-toggle.d.ts +42 -0
  177. package/types/raqm-ui-tooltip.d.ts +207 -0
  178. package/types/raqm-ui.d.ts +50 -0
@@ -0,0 +1,1784 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, DestroyRef, Directive, ElementRef, InjectionToken, afterNextRender, booleanAttribute, computed, effect, inject, input, isDevMode, output, signal, untracked, viewChild } from "@angular/core";
3
+ import { DOCUMENT, NgTemplateOutlet } from "@angular/common";
4
+ import { RaqmSheetComponent, RaqmSheetContentDirective, RaqmSheetDescriptionDirective, RaqmSheetTitleDirective } from "@raqm/ui/sheet";
5
+ import { RaqmButton } from "@raqm/ui/button";
6
+ import { RAQM_DIALOG, RAQM_DIALOG_POLICY } from "@raqm/ui/dialog";
7
+ import * as i1 from "@raqm/ui/input";
8
+ import { RaqmInput } from "@raqm/ui/input";
9
+ import { RaqmSkeleton } from "@raqm/ui/skeleton";
10
+ import * as i2 from "@raqm/ui/tooltip";
11
+ import { RaqmTooltip, RaqmTooltipComponent } from "@raqm/ui/tooltip";
12
+ const RAQM_SIDEBAR = new InjectionToken("RaqmSidebar");
13
+ function useSidebar() {
14
+ return inject(RAQM_SIDEBAR);
15
+ }
16
+ var RaqmSidebarMobileComponent = class RaqmSidebarMobileComponent extends RaqmSheetComponent {
17
+ static ɵfac = i0.ɵɵngDeclareFactory({
18
+ minVersion: "12.0.0",
19
+ version: "22.2.2",
20
+ ngImport: i0,
21
+ type: RaqmSidebarMobileComponent,
22
+ deps: null,
23
+ target: i0.ɵɵFactoryTarget.Component
24
+ });
25
+ static ɵcmp = i0.ɵɵngDeclareComponent({
26
+ minVersion: "17.0.0",
27
+ version: "22.2.2",
28
+ type: RaqmSidebarMobileComponent,
29
+ isStandalone: true,
30
+ selector: "raqm-sidebar-mobile",
31
+ providers: [{
32
+ provide: RAQM_DIALOG,
33
+ useExisting: RaqmSidebarMobileComponent
34
+ }, {
35
+ provide: RAQM_DIALOG_POLICY,
36
+ useFactory: () => ({
37
+ role: "dialog",
38
+ contentClass: "raqm-sheet-content",
39
+ touchOpening: signal(false),
40
+ dismissOnBackdrop: true,
41
+ side: signal("left"),
42
+ paneClass: "raqm-sheet-overlay-pane",
43
+ backdropClass: "raqm-sheet-overlay-backdrop",
44
+ exitAnimationMs: 200,
45
+ allowWithoutTrigger: true
46
+ })
47
+ }],
48
+ usesInheritance: true,
49
+ ngImport: i0,
50
+ template: "<ng-content />\r\n\r\n<!-- The CDK container, not this wrapper, is the role=dialog element. -->\r\n<ng-template #panel>\r\n <div\r\n class=\"raqm-dialog-content\"\r\n [class]=\"policy?.contentClass ?? ''\"\r\n [attr.data-raqm-small]=\"policy?.small?.() ? '' : null\"\r\n [attr.data-raqm-side]=\"policy?.side?.() ?? null\"\r\n [attr.dir]=\"panelDir()\"\r\n [class.raqm-dialog-content--entering]=\"entering()\"\r\n [class.raqm-dialog-content--closing]=\"closing()\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"contentTemplate()\" />\r\n\r\n <!-- showCloseButton=false hides only this control; Escape and backdrop dismissal still close. -->\r\n @if (closeButtonVisible()) {\r\n <button\r\n raqm-button=\"ghost\"\r\n icon-small\r\n class=\"raqm-dialog-close\"\r\n [attr.aria-label]=\"closeLabelText()\"\r\n (click)=\"onCloseButtonClick()\"\r\n >\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n >\r\n <path d=\"M18 6 6 18\" />\r\n <path d=\"m6 6 12 12\" />\r\n </svg>\r\n </button>\r\n }\r\n </div>\r\n</ng-template>\r\n",
51
+ styles: [":host{display:contents}.raqm-dialog-content{position:relative;display:grid;gap:calc(var(--raqm-spacing) * 6);box-sizing:border-box;inline-size:calc(100vw - 2rem);inline-size:calc(100dvw - 2rem);max-inline-size:100%;max-block-size:calc(100vh - 2rem);max-block-size:calc(100dvh - 2rem);overflow:auto;padding:calc(var(--raqm-spacing) * 6);border-radius:var(--raqm-radius-xl);background-color:var(--raqm-popover);color:var(--raqm-popover-foreground);font-size:var(--raqm-font-size-sm);line-height:1.25rem;box-shadow:0 0 0 1px color-mix(in oklch,var(--raqm-foreground) 10%,transparent);outline:none}@media(min-width:40rem){.raqm-dialog-content{inline-size:24rem}}.raqm-dialog-content--entering{animation:raqm-dialog-in var(--raqm-duration-fast) var(--raqm-ease-out)}@keyframes raqm-dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.raqm-dialog-content--closing{opacity:0;transform:scale(.95);transition:opacity var(--raqm-duration-fast) var(--raqm-ease-out),transform var(--raqm-duration-fast) var(--raqm-ease-out)}@media(prefers-reduced-motion:reduce){.raqm-dialog-content,.raqm-dialog-content--closing{animation:none;transition:none}}.raqm-dialog-close{position:absolute;inset-block-start:calc(var(--raqm-spacing) * 4.5);inset-inline-end:calc(var(--raqm-spacing) * 4.5)}@media(forced-colors:active){.raqm-dialog-close{border-color:ButtonText}.raqm-dialog-content{border:1px solid CanvasText}}\n", ".raqm-dialog-content.raqm-sheet-content{position:absolute;display:flex;flex-direction:column;gap:calc(var(--raqm-spacing) * 4);padding:0;border:0 solid var(--raqm-border);border-radius:0;max-inline-size:none;max-block-size:100%;background-clip:padding-box;box-shadow:var(--raqm-shadow-lg);pointer-events:auto;--raqm-sheet-enter-x: 0px;--raqm-sheet-enter-y: 0px}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=right],.raqm-dialog-content.raqm-sheet-content[data-raqm-side=left]{inset-block:0;block-size:100%;inline-size:75%}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=right]{inset-inline-end:0;border-inline-start-width:1px;--raqm-sheet-enter-x: calc(var(--raqm-spacing) * 10)}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=left]{inset-inline-start:0;border-inline-end-width:1px;--raqm-sheet-enter-x: calc(var(--raqm-spacing) * -10)}.raqm-dialog-content.raqm-sheet-content[dir=rtl][data-raqm-side=right]{--raqm-sheet-enter-x: calc(var(--raqm-spacing) * -10)}.raqm-dialog-content.raqm-sheet-content[dir=rtl][data-raqm-side=left]{--raqm-sheet-enter-x: calc(var(--raqm-spacing) * 10)}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=top],.raqm-dialog-content.raqm-sheet-content[data-raqm-side=bottom]{inset-inline:0;inline-size:100%;block-size:auto}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=top]{inset-block-start:0;border-block-end-width:1px;--raqm-sheet-enter-y: calc(var(--raqm-spacing) * -10)}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=bottom]{inset-block-end:0;border-block-start-width:1px;--raqm-sheet-enter-y: calc(var(--raqm-spacing) * 10)}.raqm-dialog-content.raqm-sheet-content.raqm-dialog-content--entering{animation:raqm-sheet-in var(--raqm-duration-slow) var(--raqm-ease-in-out)}.raqm-dialog-content.raqm-sheet-content.raqm-dialog-content--closing{opacity:0;transform:translate(var(--raqm-sheet-enter-x),var(--raqm-sheet-enter-y));transition:opacity var(--raqm-duration-slow) var(--raqm-ease-in-out),transform var(--raqm-duration-slow) var(--raqm-ease-in-out)}.raqm-dialog-content.raqm-sheet-content .raqm-dialog-close{inset-block-start:calc(var(--raqm-spacing) * 3);inset-inline-end:calc(var(--raqm-spacing) * 3)}@media(min-width:40rem){.raqm-sheet-content[data-raqm-side=right],.raqm-sheet-content[data-raqm-side=left]{max-inline-size:calc(var(--raqm-spacing) * 96)}}@keyframes raqm-sheet-in{0%{opacity:0;transform:translate(var(--raqm-sheet-enter-x),var(--raqm-sheet-enter-y))}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.raqm-dialog-content.raqm-sheet-content{animation:none;transition:none}}@media(forced-colors:active){.raqm-dialog-content.raqm-sheet-content{border-color:CanvasText}}\n"],
52
+ dependencies: [{
53
+ kind: "directive",
54
+ type: NgTemplateOutlet,
55
+ selector: "[ngTemplateOutlet]",
56
+ inputs: [
57
+ "ngTemplateOutletContext",
58
+ "ngTemplateOutlet",
59
+ "ngTemplateOutletInjector"
60
+ ]
61
+ }, {
62
+ kind: "component",
63
+ type: RaqmButton,
64
+ selector: "button[raqm-button], a[raqm-button]",
65
+ inputs: [
66
+ "raqm-button",
67
+ "extra-small",
68
+ "small",
69
+ "large",
70
+ "icon",
71
+ "icon-extra-small",
72
+ "icon-small",
73
+ "icon-large",
74
+ "disabled",
75
+ "tabindex"
76
+ ]
77
+ }],
78
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
79
+ });
80
+ };
81
+ i0.ɵɵngDeclareClassMetadata({
82
+ minVersion: "12.0.0",
83
+ version: "22.2.2",
84
+ ngImport: i0,
85
+ type: RaqmSidebarMobileComponent,
86
+ decorators: [{
87
+ type: Component,
88
+ args: [{
89
+ selector: "raqm-sidebar-mobile",
90
+ imports: [NgTemplateOutlet, RaqmButton],
91
+ changeDetection: ChangeDetectionStrategy.OnPush,
92
+ providers: [{
93
+ provide: RAQM_DIALOG,
94
+ useExisting: RaqmSidebarMobileComponent
95
+ }, {
96
+ provide: RAQM_DIALOG_POLICY,
97
+ useFactory: () => ({
98
+ role: "dialog",
99
+ contentClass: "raqm-sheet-content",
100
+ touchOpening: signal(false),
101
+ dismissOnBackdrop: true,
102
+ side: signal("left"),
103
+ paneClass: "raqm-sheet-overlay-pane",
104
+ backdropClass: "raqm-sheet-overlay-backdrop",
105
+ exitAnimationMs: 200,
106
+ allowWithoutTrigger: true
107
+ })
108
+ }],
109
+ template: "<ng-content />\r\n\r\n<!-- The CDK container, not this wrapper, is the role=dialog element. -->\r\n<ng-template #panel>\r\n <div\r\n class=\"raqm-dialog-content\"\r\n [class]=\"policy?.contentClass ?? ''\"\r\n [attr.data-raqm-small]=\"policy?.small?.() ? '' : null\"\r\n [attr.data-raqm-side]=\"policy?.side?.() ?? null\"\r\n [attr.dir]=\"panelDir()\"\r\n [class.raqm-dialog-content--entering]=\"entering()\"\r\n [class.raqm-dialog-content--closing]=\"closing()\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"contentTemplate()\" />\r\n\r\n <!-- showCloseButton=false hides only this control; Escape and backdrop dismissal still close. -->\r\n @if (closeButtonVisible()) {\r\n <button\r\n raqm-button=\"ghost\"\r\n icon-small\r\n class=\"raqm-dialog-close\"\r\n [attr.aria-label]=\"closeLabelText()\"\r\n (click)=\"onCloseButtonClick()\"\r\n >\r\n <svg\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n aria-hidden=\"true\"\r\n focusable=\"false\"\r\n >\r\n <path d=\"M18 6 6 18\" />\r\n <path d=\"m6 6 12 12\" />\r\n </svg>\r\n </button>\r\n }\r\n </div>\r\n</ng-template>\r\n",
110
+ styles: [":host{display:contents}.raqm-dialog-content{position:relative;display:grid;gap:calc(var(--raqm-spacing) * 6);box-sizing:border-box;inline-size:calc(100vw - 2rem);inline-size:calc(100dvw - 2rem);max-inline-size:100%;max-block-size:calc(100vh - 2rem);max-block-size:calc(100dvh - 2rem);overflow:auto;padding:calc(var(--raqm-spacing) * 6);border-radius:var(--raqm-radius-xl);background-color:var(--raqm-popover);color:var(--raqm-popover-foreground);font-size:var(--raqm-font-size-sm);line-height:1.25rem;box-shadow:0 0 0 1px color-mix(in oklch,var(--raqm-foreground) 10%,transparent);outline:none}@media(min-width:40rem){.raqm-dialog-content{inline-size:24rem}}.raqm-dialog-content--entering{animation:raqm-dialog-in var(--raqm-duration-fast) var(--raqm-ease-out)}@keyframes raqm-dialog-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}.raqm-dialog-content--closing{opacity:0;transform:scale(.95);transition:opacity var(--raqm-duration-fast) var(--raqm-ease-out),transform var(--raqm-duration-fast) var(--raqm-ease-out)}@media(prefers-reduced-motion:reduce){.raqm-dialog-content,.raqm-dialog-content--closing{animation:none;transition:none}}.raqm-dialog-close{position:absolute;inset-block-start:calc(var(--raqm-spacing) * 4.5);inset-inline-end:calc(var(--raqm-spacing) * 4.5)}@media(forced-colors:active){.raqm-dialog-close{border-color:ButtonText}.raqm-dialog-content{border:1px solid CanvasText}}\n", ".raqm-dialog-content.raqm-sheet-content{position:absolute;display:flex;flex-direction:column;gap:calc(var(--raqm-spacing) * 4);padding:0;border:0 solid var(--raqm-border);border-radius:0;max-inline-size:none;max-block-size:100%;background-clip:padding-box;box-shadow:var(--raqm-shadow-lg);pointer-events:auto;--raqm-sheet-enter-x: 0px;--raqm-sheet-enter-y: 0px}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=right],.raqm-dialog-content.raqm-sheet-content[data-raqm-side=left]{inset-block:0;block-size:100%;inline-size:75%}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=right]{inset-inline-end:0;border-inline-start-width:1px;--raqm-sheet-enter-x: calc(var(--raqm-spacing) * 10)}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=left]{inset-inline-start:0;border-inline-end-width:1px;--raqm-sheet-enter-x: calc(var(--raqm-spacing) * -10)}.raqm-dialog-content.raqm-sheet-content[dir=rtl][data-raqm-side=right]{--raqm-sheet-enter-x: calc(var(--raqm-spacing) * -10)}.raqm-dialog-content.raqm-sheet-content[dir=rtl][data-raqm-side=left]{--raqm-sheet-enter-x: calc(var(--raqm-spacing) * 10)}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=top],.raqm-dialog-content.raqm-sheet-content[data-raqm-side=bottom]{inset-inline:0;inline-size:100%;block-size:auto}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=top]{inset-block-start:0;border-block-end-width:1px;--raqm-sheet-enter-y: calc(var(--raqm-spacing) * -10)}.raqm-dialog-content.raqm-sheet-content[data-raqm-side=bottom]{inset-block-end:0;border-block-start-width:1px;--raqm-sheet-enter-y: calc(var(--raqm-spacing) * 10)}.raqm-dialog-content.raqm-sheet-content.raqm-dialog-content--entering{animation:raqm-sheet-in var(--raqm-duration-slow) var(--raqm-ease-in-out)}.raqm-dialog-content.raqm-sheet-content.raqm-dialog-content--closing{opacity:0;transform:translate(var(--raqm-sheet-enter-x),var(--raqm-sheet-enter-y));transition:opacity var(--raqm-duration-slow) var(--raqm-ease-in-out),transform var(--raqm-duration-slow) var(--raqm-ease-in-out)}.raqm-dialog-content.raqm-sheet-content .raqm-dialog-close{inset-block-start:calc(var(--raqm-spacing) * 3);inset-inline-end:calc(var(--raqm-spacing) * 3)}@media(min-width:40rem){.raqm-sheet-content[data-raqm-side=right],.raqm-sheet-content[data-raqm-side=left]{max-inline-size:calc(var(--raqm-spacing) * 96)}}@keyframes raqm-sheet-in{0%{opacity:0;transform:translate(var(--raqm-sheet-enter-x),var(--raqm-sheet-enter-y))}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.raqm-dialog-content.raqm-sheet-content{animation:none;transition:none}}@media(forced-colors:active){.raqm-dialog-content.raqm-sheet-content{border-color:CanvasText}}\n"]
111
+ }]
112
+ }]
113
+ });
114
+ var RaqmSidebarComponent = class RaqmSidebarComponent {
115
+ context = useSidebar();
116
+ side = input("left", ...ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []);
117
+ variant = input("sidebar", ...ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []);
118
+ collapsible = input("offcanvas", ...ngDevMode ? [{ debugName: "collapsible" }] : /* istanbul ignore next */ []);
119
+ dir = input(void 0, ...ngDevMode ? [{ debugName: "dir" }] : /* istanbul ignore next */ []);
120
+ label = input(void 0, ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
121
+ description = input(void 0, ...ngDevMode ? [{ debugName: "description" }] : /* istanbul ignore next */ []);
122
+ constructor() {
123
+ effect(() => {
124
+ if (isDevMode() && this.context.mobile() && this.collapsible() !== "none" && !this.label()) console.error("[raqm-sidebar] The mobile sheet has no accessible name. Provide `label`.");
125
+ });
126
+ }
127
+ onMobileKeydown(event) {
128
+ if (!event.defaultPrevented && !event.repeat && event.key.toLowerCase() === "b" && (event.ctrlKey || event.metaKey)) {
129
+ event.preventDefault();
130
+ event.stopPropagation();
131
+ this.context.toggleSidebar();
132
+ }
133
+ }
134
+ static ɵfac = i0.ɵɵngDeclareFactory({
135
+ minVersion: "12.0.0",
136
+ version: "22.2.2",
137
+ ngImport: i0,
138
+ type: RaqmSidebarComponent,
139
+ deps: [],
140
+ target: i0.ɵɵFactoryTarget.Component
141
+ });
142
+ static ɵcmp = i0.ɵɵngDeclareComponent({
143
+ minVersion: "17.0.0",
144
+ version: "22.2.2",
145
+ type: RaqmSidebarComponent,
146
+ isStandalone: true,
147
+ selector: "raqm-sidebar",
148
+ inputs: {
149
+ side: {
150
+ classPropertyName: "side",
151
+ publicName: "side",
152
+ isSignal: true,
153
+ isRequired: false,
154
+ transformFunction: null
155
+ },
156
+ variant: {
157
+ classPropertyName: "variant",
158
+ publicName: "variant",
159
+ isSignal: true,
160
+ isRequired: false,
161
+ transformFunction: null
162
+ },
163
+ collapsible: {
164
+ classPropertyName: "collapsible",
165
+ publicName: "collapsible",
166
+ isSignal: true,
167
+ isRequired: false,
168
+ transformFunction: null
169
+ },
170
+ dir: {
171
+ classPropertyName: "dir",
172
+ publicName: "dir",
173
+ isSignal: true,
174
+ isRequired: false,
175
+ transformFunction: null
176
+ },
177
+ label: {
178
+ classPropertyName: "label",
179
+ publicName: "label",
180
+ isSignal: true,
181
+ isRequired: false,
182
+ transformFunction: null
183
+ },
184
+ description: {
185
+ classPropertyName: "description",
186
+ publicName: "description",
187
+ isSignal: true,
188
+ isRequired: false,
189
+ transformFunction: null
190
+ }
191
+ },
192
+ host: {
193
+ attributes: { "data-raqm-slot": "sidebar" },
194
+ properties: {
195
+ "attr.data-raqm-state": "context.state()",
196
+ "attr.data-raqm-collapsible": "context.mobile() || context.open() ? \"\" : collapsible()",
197
+ "attr.data-raqm-variant": "variant()",
198
+ "attr.data-raqm-side": "side()",
199
+ "attr.data-raqm-mobile": "context.mobile() && collapsible() !== \"none\" ? \"true\" : null",
200
+ "attr.data-raqm-static": "collapsible() === \"none\" ? \"true\" : null"
201
+ },
202
+ classAttribute: "raqm-sidebar"
203
+ },
204
+ ngImport: i0,
205
+ template: "<ng-template #body><ng-content /></ng-template>\r\n@if (context.mobile() && collapsible() !== 'none') {\r\n <raqm-sidebar-mobile\r\n [open]=\"context.openMobile()\"\r\n (openChange)=\"context.setOpenMobile($event)\"\r\n [dir]=\"dir()\"\r\n [label]=\"label()\"\r\n panelClass=\"raqm-sidebar-mobile-pane\"\r\n [side]=\"side()\"\r\n [showCloseButton]=\"false\"\r\n >\r\n <ng-template raqm-sheet-content>\r\n <div\r\n class=\"raqm-sidebar-mobile-body\"\r\n data-raqm-slot=\"sidebar\"\r\n data-raqm-mobile=\"true\"\r\n [attr.dir]=\"dir()\"\r\n (keydown)=\"onMobileKeydown($event)\"\r\n >\r\n @if (label() || description()) {\r\n <div class=\"raqm-sidebar-sr-only\">\r\n @if (label()) {\r\n <h2 raqm-sheet-title>{{ label() }}</h2>\r\n }\r\n @if (description()) {\r\n <p raqm-sheet-description>{{ description() }}</p>\r\n }\r\n </div>\r\n }\r\n <ng-container [ngTemplateOutlet]=\"body\" />\r\n </div>\r\n </ng-template>\r\n </raqm-sidebar-mobile>\r\n} @else {\r\n <div class=\"raqm-sidebar-gap\" data-raqm-slot=\"sidebar-gap\"></div>\r\n <div\r\n class=\"raqm-sidebar-container\"\r\n data-raqm-slot=\"sidebar-container\"\r\n [attr.data-raqm-side]=\"side()\"\r\n [attr.dir]=\"dir()\"\r\n >\r\n <div\r\n class=\"raqm-sidebar-inner\"\r\n data-raqm-slot=\"sidebar-inner\"\r\n [attr.inert]=\"!context.open() && collapsible() === 'offcanvas' ? '' : null\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"body\" />\r\n </div>\r\n <ng-content select=\"[raqm-sidebar-rail]\" />\r\n </div>\r\n}\r\n",
206
+ styles: [""],
207
+ dependencies: [
208
+ {
209
+ kind: "directive",
210
+ type: NgTemplateOutlet,
211
+ selector: "[ngTemplateOutlet]",
212
+ inputs: [
213
+ "ngTemplateOutletContext",
214
+ "ngTemplateOutlet",
215
+ "ngTemplateOutletInjector"
216
+ ]
217
+ },
218
+ {
219
+ kind: "component",
220
+ type: RaqmSidebarMobileComponent,
221
+ selector: "raqm-sidebar-mobile"
222
+ },
223
+ {
224
+ kind: "directive",
225
+ type: RaqmSheetContentDirective,
226
+ selector: "ng-template[raqm-sheet-content]",
227
+ exportAs: ["raqmSheetContent"]
228
+ },
229
+ {
230
+ kind: "directive",
231
+ type: RaqmSheetTitleDirective,
232
+ selector: "[raqm-sheet-title]"
233
+ },
234
+ {
235
+ kind: "directive",
236
+ type: RaqmSheetDescriptionDirective,
237
+ selector: "[raqm-sheet-description]"
238
+ }
239
+ ],
240
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
241
+ });
242
+ };
243
+ i0.ɵɵngDeclareClassMetadata({
244
+ minVersion: "12.0.0",
245
+ version: "22.2.2",
246
+ ngImport: i0,
247
+ type: RaqmSidebarComponent,
248
+ decorators: [{
249
+ type: Component,
250
+ args: [{
251
+ imports: [
252
+ NgTemplateOutlet,
253
+ RaqmSidebarMobileComponent,
254
+ RaqmSheetContentDirective,
255
+ RaqmSheetTitleDirective,
256
+ RaqmSheetDescriptionDirective
257
+ ],
258
+ selector: "raqm-sidebar",
259
+ changeDetection: ChangeDetectionStrategy.OnPush,
260
+ host: {
261
+ class: "raqm-sidebar",
262
+ "data-raqm-slot": "sidebar",
263
+ "[attr.data-raqm-state]": "context.state()",
264
+ "[attr.data-raqm-collapsible]": "context.mobile() || context.open() ? \"\" : collapsible()",
265
+ "[attr.data-raqm-variant]": "variant()",
266
+ "[attr.data-raqm-side]": "side()",
267
+ "[attr.data-raqm-mobile]": "context.mobile() && collapsible() !== \"none\" ? \"true\" : null",
268
+ "[attr.data-raqm-static]": "collapsible() === \"none\" ? \"true\" : null"
269
+ },
270
+ template: "<ng-template #body><ng-content /></ng-template>\r\n@if (context.mobile() && collapsible() !== 'none') {\r\n <raqm-sidebar-mobile\r\n [open]=\"context.openMobile()\"\r\n (openChange)=\"context.setOpenMobile($event)\"\r\n [dir]=\"dir()\"\r\n [label]=\"label()\"\r\n panelClass=\"raqm-sidebar-mobile-pane\"\r\n [side]=\"side()\"\r\n [showCloseButton]=\"false\"\r\n >\r\n <ng-template raqm-sheet-content>\r\n <div\r\n class=\"raqm-sidebar-mobile-body\"\r\n data-raqm-slot=\"sidebar\"\r\n data-raqm-mobile=\"true\"\r\n [attr.dir]=\"dir()\"\r\n (keydown)=\"onMobileKeydown($event)\"\r\n >\r\n @if (label() || description()) {\r\n <div class=\"raqm-sidebar-sr-only\">\r\n @if (label()) {\r\n <h2 raqm-sheet-title>{{ label() }}</h2>\r\n }\r\n @if (description()) {\r\n <p raqm-sheet-description>{{ description() }}</p>\r\n }\r\n </div>\r\n }\r\n <ng-container [ngTemplateOutlet]=\"body\" />\r\n </div>\r\n </ng-template>\r\n </raqm-sidebar-mobile>\r\n} @else {\r\n <div class=\"raqm-sidebar-gap\" data-raqm-slot=\"sidebar-gap\"></div>\r\n <div\r\n class=\"raqm-sidebar-container\"\r\n data-raqm-slot=\"sidebar-container\"\r\n [attr.data-raqm-side]=\"side()\"\r\n [attr.dir]=\"dir()\"\r\n >\r\n <div\r\n class=\"raqm-sidebar-inner\"\r\n data-raqm-slot=\"sidebar-inner\"\r\n [attr.inert]=\"!context.open() && collapsible() === 'offcanvas' ? '' : null\"\r\n >\r\n <ng-container [ngTemplateOutlet]=\"body\" />\r\n </div>\r\n <ng-content select=\"[raqm-sidebar-rail]\" />\r\n </div>\r\n}\r\n"
271
+ }]
272
+ }],
273
+ ctorParameters: () => [],
274
+ propDecorators: {
275
+ side: [{
276
+ type: i0.Input,
277
+ args: [{
278
+ isSignal: true,
279
+ alias: "side",
280
+ required: false
281
+ }]
282
+ }],
283
+ variant: [{
284
+ type: i0.Input,
285
+ args: [{
286
+ isSignal: true,
287
+ alias: "variant",
288
+ required: false
289
+ }]
290
+ }],
291
+ collapsible: [{
292
+ type: i0.Input,
293
+ args: [{
294
+ isSignal: true,
295
+ alias: "collapsible",
296
+ required: false
297
+ }]
298
+ }],
299
+ dir: [{
300
+ type: i0.Input,
301
+ args: [{
302
+ isSignal: true,
303
+ alias: "dir",
304
+ required: false
305
+ }]
306
+ }],
307
+ label: [{
308
+ type: i0.Input,
309
+ args: [{
310
+ isSignal: true,
311
+ alias: "label",
312
+ required: false
313
+ }]
314
+ }],
315
+ description: [{
316
+ type: i0.Input,
317
+ args: [{
318
+ isSignal: true,
319
+ alias: "description",
320
+ required: false
321
+ }]
322
+ }]
323
+ }
324
+ });
325
+ var RaqmSidebarHeaderDirective = class RaqmSidebarHeaderDirective {
326
+ static ɵfac = i0.ɵɵngDeclareFactory({
327
+ minVersion: "12.0.0",
328
+ version: "22.2.2",
329
+ ngImport: i0,
330
+ type: RaqmSidebarHeaderDirective,
331
+ deps: [],
332
+ target: i0.ɵɵFactoryTarget.Directive
333
+ });
334
+ static ɵdir = i0.ɵɵngDeclareDirective({
335
+ minVersion: "14.0.0",
336
+ version: "22.2.2",
337
+ type: RaqmSidebarHeaderDirective,
338
+ isStandalone: true,
339
+ selector: "[raqm-sidebar-header]",
340
+ host: {
341
+ attributes: {
342
+ "data-raqm-slot": "sidebar-header",
343
+ "data-raqm-sidebar": "header"
344
+ },
345
+ classAttribute: "raqm-sidebar-header"
346
+ },
347
+ ngImport: i0
348
+ });
349
+ };
350
+ i0.ɵɵngDeclareClassMetadata({
351
+ minVersion: "12.0.0",
352
+ version: "22.2.2",
353
+ ngImport: i0,
354
+ type: RaqmSidebarHeaderDirective,
355
+ decorators: [{
356
+ type: Directive,
357
+ args: [{
358
+ selector: "[raqm-sidebar-header]",
359
+ host: {
360
+ class: "raqm-sidebar-header",
361
+ "data-raqm-slot": "sidebar-header",
362
+ "data-raqm-sidebar": "header"
363
+ }
364
+ }]
365
+ }]
366
+ });
367
+ var RaqmSidebarFooterDirective = class RaqmSidebarFooterDirective {
368
+ static ɵfac = i0.ɵɵngDeclareFactory({
369
+ minVersion: "12.0.0",
370
+ version: "22.2.2",
371
+ ngImport: i0,
372
+ type: RaqmSidebarFooterDirective,
373
+ deps: [],
374
+ target: i0.ɵɵFactoryTarget.Directive
375
+ });
376
+ static ɵdir = i0.ɵɵngDeclareDirective({
377
+ minVersion: "14.0.0",
378
+ version: "22.2.2",
379
+ type: RaqmSidebarFooterDirective,
380
+ isStandalone: true,
381
+ selector: "[raqm-sidebar-footer]",
382
+ host: {
383
+ attributes: {
384
+ "data-raqm-slot": "sidebar-footer",
385
+ "data-raqm-sidebar": "footer"
386
+ },
387
+ classAttribute: "raqm-sidebar-footer"
388
+ },
389
+ ngImport: i0
390
+ });
391
+ };
392
+ i0.ɵɵngDeclareClassMetadata({
393
+ minVersion: "12.0.0",
394
+ version: "22.2.2",
395
+ ngImport: i0,
396
+ type: RaqmSidebarFooterDirective,
397
+ decorators: [{
398
+ type: Directive,
399
+ args: [{
400
+ selector: "[raqm-sidebar-footer]",
401
+ host: {
402
+ class: "raqm-sidebar-footer",
403
+ "data-raqm-slot": "sidebar-footer",
404
+ "data-raqm-sidebar": "footer"
405
+ }
406
+ }]
407
+ }]
408
+ });
409
+ var RaqmSidebarContentDirective = class RaqmSidebarContentDirective {
410
+ static ɵfac = i0.ɵɵngDeclareFactory({
411
+ minVersion: "12.0.0",
412
+ version: "22.2.2",
413
+ ngImport: i0,
414
+ type: RaqmSidebarContentDirective,
415
+ deps: [],
416
+ target: i0.ɵɵFactoryTarget.Directive
417
+ });
418
+ static ɵdir = i0.ɵɵngDeclareDirective({
419
+ minVersion: "14.0.0",
420
+ version: "22.2.2",
421
+ type: RaqmSidebarContentDirective,
422
+ isStandalone: true,
423
+ selector: "[raqm-sidebar-content]",
424
+ host: {
425
+ attributes: {
426
+ "data-raqm-slot": "sidebar-content",
427
+ "data-raqm-sidebar": "content"
428
+ },
429
+ classAttribute: "raqm-sidebar-content"
430
+ },
431
+ ngImport: i0
432
+ });
433
+ };
434
+ i0.ɵɵngDeclareClassMetadata({
435
+ minVersion: "12.0.0",
436
+ version: "22.2.2",
437
+ ngImport: i0,
438
+ type: RaqmSidebarContentDirective,
439
+ decorators: [{
440
+ type: Directive,
441
+ args: [{
442
+ selector: "[raqm-sidebar-content]",
443
+ host: {
444
+ class: "raqm-sidebar-content",
445
+ "data-raqm-slot": "sidebar-content",
446
+ "data-raqm-sidebar": "content"
447
+ }
448
+ }]
449
+ }]
450
+ });
451
+ var RaqmSidebarGroupDirective = class RaqmSidebarGroupDirective {
452
+ static ɵfac = i0.ɵɵngDeclareFactory({
453
+ minVersion: "12.0.0",
454
+ version: "22.2.2",
455
+ ngImport: i0,
456
+ type: RaqmSidebarGroupDirective,
457
+ deps: [],
458
+ target: i0.ɵɵFactoryTarget.Directive
459
+ });
460
+ static ɵdir = i0.ɵɵngDeclareDirective({
461
+ minVersion: "14.0.0",
462
+ version: "22.2.2",
463
+ type: RaqmSidebarGroupDirective,
464
+ isStandalone: true,
465
+ selector: "[raqm-sidebar-group]",
466
+ host: {
467
+ attributes: {
468
+ "data-raqm-slot": "sidebar-group",
469
+ "data-raqm-sidebar": "group"
470
+ },
471
+ classAttribute: "raqm-sidebar-group"
472
+ },
473
+ ngImport: i0
474
+ });
475
+ };
476
+ i0.ɵɵngDeclareClassMetadata({
477
+ minVersion: "12.0.0",
478
+ version: "22.2.2",
479
+ ngImport: i0,
480
+ type: RaqmSidebarGroupDirective,
481
+ decorators: [{
482
+ type: Directive,
483
+ args: [{
484
+ selector: "[raqm-sidebar-group]",
485
+ host: {
486
+ class: "raqm-sidebar-group",
487
+ "data-raqm-slot": "sidebar-group",
488
+ "data-raqm-sidebar": "group"
489
+ }
490
+ }]
491
+ }]
492
+ });
493
+ var RaqmSidebarGroupLabelDirective = class RaqmSidebarGroupLabelDirective {
494
+ static ɵfac = i0.ɵɵngDeclareFactory({
495
+ minVersion: "12.0.0",
496
+ version: "22.2.2",
497
+ ngImport: i0,
498
+ type: RaqmSidebarGroupLabelDirective,
499
+ deps: [],
500
+ target: i0.ɵɵFactoryTarget.Directive
501
+ });
502
+ static ɵdir = i0.ɵɵngDeclareDirective({
503
+ minVersion: "14.0.0",
504
+ version: "22.2.2",
505
+ type: RaqmSidebarGroupLabelDirective,
506
+ isStandalone: true,
507
+ selector: "[raqm-sidebar-group-label]",
508
+ host: {
509
+ attributes: {
510
+ "data-raqm-slot": "sidebar-group-label",
511
+ "data-raqm-sidebar": "group-label"
512
+ },
513
+ classAttribute: "raqm-sidebar-group-label"
514
+ },
515
+ ngImport: i0
516
+ });
517
+ };
518
+ i0.ɵɵngDeclareClassMetadata({
519
+ minVersion: "12.0.0",
520
+ version: "22.2.2",
521
+ ngImport: i0,
522
+ type: RaqmSidebarGroupLabelDirective,
523
+ decorators: [{
524
+ type: Directive,
525
+ args: [{
526
+ selector: "[raqm-sidebar-group-label]",
527
+ host: {
528
+ class: "raqm-sidebar-group-label",
529
+ "data-raqm-slot": "sidebar-group-label",
530
+ "data-raqm-sidebar": "group-label"
531
+ }
532
+ }]
533
+ }]
534
+ });
535
+ var RaqmSidebarGroupContentDirective = class RaqmSidebarGroupContentDirective {
536
+ static ɵfac = i0.ɵɵngDeclareFactory({
537
+ minVersion: "12.0.0",
538
+ version: "22.2.2",
539
+ ngImport: i0,
540
+ type: RaqmSidebarGroupContentDirective,
541
+ deps: [],
542
+ target: i0.ɵɵFactoryTarget.Directive
543
+ });
544
+ static ɵdir = i0.ɵɵngDeclareDirective({
545
+ minVersion: "14.0.0",
546
+ version: "22.2.2",
547
+ type: RaqmSidebarGroupContentDirective,
548
+ isStandalone: true,
549
+ selector: "[raqm-sidebar-group-content]",
550
+ host: {
551
+ attributes: {
552
+ "data-raqm-slot": "sidebar-group-content",
553
+ "data-raqm-sidebar": "group-content"
554
+ },
555
+ classAttribute: "raqm-sidebar-group-content"
556
+ },
557
+ ngImport: i0
558
+ });
559
+ };
560
+ i0.ɵɵngDeclareClassMetadata({
561
+ minVersion: "12.0.0",
562
+ version: "22.2.2",
563
+ ngImport: i0,
564
+ type: RaqmSidebarGroupContentDirective,
565
+ decorators: [{
566
+ type: Directive,
567
+ args: [{
568
+ selector: "[raqm-sidebar-group-content]",
569
+ host: {
570
+ class: "raqm-sidebar-group-content",
571
+ "data-raqm-slot": "sidebar-group-content",
572
+ "data-raqm-sidebar": "group-content"
573
+ }
574
+ }]
575
+ }]
576
+ });
577
+ var RaqmSidebarGroupActionDirective = class RaqmSidebarGroupActionDirective {
578
+ constructor() {
579
+ const host = inject(ElementRef).nativeElement;
580
+ if (!host.hasAttribute("type")) host.setAttribute("type", "button");
581
+ }
582
+ static ɵfac = i0.ɵɵngDeclareFactory({
583
+ minVersion: "12.0.0",
584
+ version: "22.2.2",
585
+ ngImport: i0,
586
+ type: RaqmSidebarGroupActionDirective,
587
+ deps: [],
588
+ target: i0.ɵɵFactoryTarget.Directive
589
+ });
590
+ static ɵdir = i0.ɵɵngDeclareDirective({
591
+ minVersion: "14.0.0",
592
+ version: "22.2.2",
593
+ type: RaqmSidebarGroupActionDirective,
594
+ isStandalone: true,
595
+ selector: "button[raqm-sidebar-group-action]",
596
+ host: {
597
+ attributes: {
598
+ "data-raqm-slot": "sidebar-group-action",
599
+ "data-raqm-sidebar": "group-action"
600
+ },
601
+ classAttribute: "raqm-sidebar-group-action"
602
+ },
603
+ ngImport: i0
604
+ });
605
+ };
606
+ i0.ɵɵngDeclareClassMetadata({
607
+ minVersion: "12.0.0",
608
+ version: "22.2.2",
609
+ ngImport: i0,
610
+ type: RaqmSidebarGroupActionDirective,
611
+ decorators: [{
612
+ type: Directive,
613
+ args: [{
614
+ selector: "button[raqm-sidebar-group-action]",
615
+ host: {
616
+ class: "raqm-sidebar-group-action",
617
+ "data-raqm-slot": "sidebar-group-action",
618
+ "data-raqm-sidebar": "group-action"
619
+ }
620
+ }]
621
+ }],
622
+ ctorParameters: () => []
623
+ });
624
+ var RaqmSidebarMenuDirective = class RaqmSidebarMenuDirective {
625
+ static ɵfac = i0.ɵɵngDeclareFactory({
626
+ minVersion: "12.0.0",
627
+ version: "22.2.2",
628
+ ngImport: i0,
629
+ type: RaqmSidebarMenuDirective,
630
+ deps: [],
631
+ target: i0.ɵɵFactoryTarget.Directive
632
+ });
633
+ static ɵdir = i0.ɵɵngDeclareDirective({
634
+ minVersion: "14.0.0",
635
+ version: "22.2.2",
636
+ type: RaqmSidebarMenuDirective,
637
+ isStandalone: true,
638
+ selector: "ul[raqm-sidebar-menu]",
639
+ host: {
640
+ attributes: {
641
+ "data-raqm-slot": "sidebar-menu",
642
+ "data-raqm-sidebar": "menu"
643
+ },
644
+ classAttribute: "raqm-sidebar-menu"
645
+ },
646
+ ngImport: i0
647
+ });
648
+ };
649
+ i0.ɵɵngDeclareClassMetadata({
650
+ minVersion: "12.0.0",
651
+ version: "22.2.2",
652
+ ngImport: i0,
653
+ type: RaqmSidebarMenuDirective,
654
+ decorators: [{
655
+ type: Directive,
656
+ args: [{
657
+ selector: "ul[raqm-sidebar-menu]",
658
+ host: {
659
+ class: "raqm-sidebar-menu",
660
+ "data-raqm-slot": "sidebar-menu",
661
+ "data-raqm-sidebar": "menu"
662
+ }
663
+ }]
664
+ }]
665
+ });
666
+ var RaqmSidebarMenuItemDirective = class RaqmSidebarMenuItemDirective {
667
+ static ɵfac = i0.ɵɵngDeclareFactory({
668
+ minVersion: "12.0.0",
669
+ version: "22.2.2",
670
+ ngImport: i0,
671
+ type: RaqmSidebarMenuItemDirective,
672
+ deps: [],
673
+ target: i0.ɵɵFactoryTarget.Directive
674
+ });
675
+ static ɵdir = i0.ɵɵngDeclareDirective({
676
+ minVersion: "14.0.0",
677
+ version: "22.2.2",
678
+ type: RaqmSidebarMenuItemDirective,
679
+ isStandalone: true,
680
+ selector: "li[raqm-sidebar-menu-item]",
681
+ host: {
682
+ attributes: {
683
+ "data-raqm-slot": "sidebar-menu-item",
684
+ "data-raqm-sidebar": "menu-item"
685
+ },
686
+ classAttribute: "raqm-sidebar-menu-item"
687
+ },
688
+ ngImport: i0
689
+ });
690
+ };
691
+ i0.ɵɵngDeclareClassMetadata({
692
+ minVersion: "12.0.0",
693
+ version: "22.2.2",
694
+ ngImport: i0,
695
+ type: RaqmSidebarMenuItemDirective,
696
+ decorators: [{
697
+ type: Directive,
698
+ args: [{
699
+ selector: "li[raqm-sidebar-menu-item]",
700
+ host: {
701
+ class: "raqm-sidebar-menu-item",
702
+ "data-raqm-slot": "sidebar-menu-item",
703
+ "data-raqm-sidebar": "menu-item"
704
+ }
705
+ }]
706
+ }]
707
+ });
708
+ var RaqmSidebarMenuSubDirective = class RaqmSidebarMenuSubDirective {
709
+ static ɵfac = i0.ɵɵngDeclareFactory({
710
+ minVersion: "12.0.0",
711
+ version: "22.2.2",
712
+ ngImport: i0,
713
+ type: RaqmSidebarMenuSubDirective,
714
+ deps: [],
715
+ target: i0.ɵɵFactoryTarget.Directive
716
+ });
717
+ static ɵdir = i0.ɵɵngDeclareDirective({
718
+ minVersion: "14.0.0",
719
+ version: "22.2.2",
720
+ type: RaqmSidebarMenuSubDirective,
721
+ isStandalone: true,
722
+ selector: "ul[raqm-sidebar-menu-sub]",
723
+ host: {
724
+ attributes: {
725
+ "data-raqm-slot": "sidebar-menu-sub",
726
+ "data-raqm-sidebar": "menu-sub"
727
+ },
728
+ classAttribute: "raqm-sidebar-menu-sub"
729
+ },
730
+ ngImport: i0
731
+ });
732
+ };
733
+ i0.ɵɵngDeclareClassMetadata({
734
+ minVersion: "12.0.0",
735
+ version: "22.2.2",
736
+ ngImport: i0,
737
+ type: RaqmSidebarMenuSubDirective,
738
+ decorators: [{
739
+ type: Directive,
740
+ args: [{
741
+ selector: "ul[raqm-sidebar-menu-sub]",
742
+ host: {
743
+ class: "raqm-sidebar-menu-sub",
744
+ "data-raqm-slot": "sidebar-menu-sub",
745
+ "data-raqm-sidebar": "menu-sub"
746
+ }
747
+ }]
748
+ }]
749
+ });
750
+ var RaqmSidebarMenuSubItemDirective = class RaqmSidebarMenuSubItemDirective {
751
+ static ɵfac = i0.ɵɵngDeclareFactory({
752
+ minVersion: "12.0.0",
753
+ version: "22.2.2",
754
+ ngImport: i0,
755
+ type: RaqmSidebarMenuSubItemDirective,
756
+ deps: [],
757
+ target: i0.ɵɵFactoryTarget.Directive
758
+ });
759
+ static ɵdir = i0.ɵɵngDeclareDirective({
760
+ minVersion: "14.0.0",
761
+ version: "22.2.2",
762
+ type: RaqmSidebarMenuSubItemDirective,
763
+ isStandalone: true,
764
+ selector: "li[raqm-sidebar-menu-sub-item]",
765
+ host: {
766
+ attributes: {
767
+ "data-raqm-slot": "sidebar-menu-sub-item",
768
+ "data-raqm-sidebar": "menu-sub-item"
769
+ },
770
+ classAttribute: "raqm-sidebar-menu-sub-item"
771
+ },
772
+ ngImport: i0
773
+ });
774
+ };
775
+ i0.ɵɵngDeclareClassMetadata({
776
+ minVersion: "12.0.0",
777
+ version: "22.2.2",
778
+ ngImport: i0,
779
+ type: RaqmSidebarMenuSubItemDirective,
780
+ decorators: [{
781
+ type: Directive,
782
+ args: [{
783
+ selector: "li[raqm-sidebar-menu-sub-item]",
784
+ host: {
785
+ class: "raqm-sidebar-menu-sub-item",
786
+ "data-raqm-slot": "sidebar-menu-sub-item",
787
+ "data-raqm-sidebar": "menu-sub-item"
788
+ }
789
+ }]
790
+ }]
791
+ });
792
+ var RaqmSidebarMenuBadgeDirective = class RaqmSidebarMenuBadgeDirective {
793
+ static ɵfac = i0.ɵɵngDeclareFactory({
794
+ minVersion: "12.0.0",
795
+ version: "22.2.2",
796
+ ngImport: i0,
797
+ type: RaqmSidebarMenuBadgeDirective,
798
+ deps: [],
799
+ target: i0.ɵɵFactoryTarget.Directive
800
+ });
801
+ static ɵdir = i0.ɵɵngDeclareDirective({
802
+ minVersion: "14.0.0",
803
+ version: "22.2.2",
804
+ type: RaqmSidebarMenuBadgeDirective,
805
+ isStandalone: true,
806
+ selector: "[raqm-sidebar-menu-badge]",
807
+ host: {
808
+ attributes: {
809
+ "data-raqm-slot": "sidebar-menu-badge",
810
+ "data-raqm-sidebar": "menu-badge"
811
+ },
812
+ classAttribute: "raqm-sidebar-menu-badge"
813
+ },
814
+ ngImport: i0
815
+ });
816
+ };
817
+ i0.ɵɵngDeclareClassMetadata({
818
+ minVersion: "12.0.0",
819
+ version: "22.2.2",
820
+ ngImport: i0,
821
+ type: RaqmSidebarMenuBadgeDirective,
822
+ decorators: [{
823
+ type: Directive,
824
+ args: [{
825
+ selector: "[raqm-sidebar-menu-badge]",
826
+ host: {
827
+ class: "raqm-sidebar-menu-badge",
828
+ "data-raqm-slot": "sidebar-menu-badge",
829
+ "data-raqm-sidebar": "menu-badge"
830
+ }
831
+ }]
832
+ }]
833
+ });
834
+ var RaqmSidebarInsetDirective = class RaqmSidebarInsetDirective {
835
+ static ɵfac = i0.ɵɵngDeclareFactory({
836
+ minVersion: "12.0.0",
837
+ version: "22.2.2",
838
+ ngImport: i0,
839
+ type: RaqmSidebarInsetDirective,
840
+ deps: [],
841
+ target: i0.ɵɵFactoryTarget.Directive
842
+ });
843
+ static ɵdir = i0.ɵɵngDeclareDirective({
844
+ minVersion: "14.0.0",
845
+ version: "22.2.2",
846
+ type: RaqmSidebarInsetDirective,
847
+ isStandalone: true,
848
+ selector: "main[raqm-sidebar-inset]",
849
+ host: {
850
+ attributes: { "data-raqm-slot": "sidebar-inset" },
851
+ classAttribute: "raqm-sidebar-inset"
852
+ },
853
+ ngImport: i0
854
+ });
855
+ };
856
+ i0.ɵɵngDeclareClassMetadata({
857
+ minVersion: "12.0.0",
858
+ version: "22.2.2",
859
+ ngImport: i0,
860
+ type: RaqmSidebarInsetDirective,
861
+ decorators: [{
862
+ type: Directive,
863
+ args: [{
864
+ selector: "main[raqm-sidebar-inset]",
865
+ host: {
866
+ class: "raqm-sidebar-inset",
867
+ "data-raqm-slot": "sidebar-inset"
868
+ }
869
+ }]
870
+ }]
871
+ });
872
+ var RaqmSidebarInputDirective = class RaqmSidebarInputDirective {
873
+ static ɵfac = i0.ɵɵngDeclareFactory({
874
+ minVersion: "12.0.0",
875
+ version: "22.2.2",
876
+ ngImport: i0,
877
+ type: RaqmSidebarInputDirective,
878
+ deps: [],
879
+ target: i0.ɵɵFactoryTarget.Directive
880
+ });
881
+ static ɵdir = i0.ɵɵngDeclareDirective({
882
+ minVersion: "14.0.0",
883
+ version: "22.2.2",
884
+ type: RaqmSidebarInputDirective,
885
+ isStandalone: true,
886
+ selector: "input[raqm-sidebar-input]",
887
+ host: {
888
+ attributes: {
889
+ "data-raqm-slot": "sidebar-input",
890
+ "data-raqm-sidebar": "input"
891
+ },
892
+ classAttribute: "raqm-sidebar-input"
893
+ },
894
+ hostDirectives: [{ directive: i1.RaqmInput }],
895
+ ngImport: i0
896
+ });
897
+ };
898
+ i0.ɵɵngDeclareClassMetadata({
899
+ minVersion: "12.0.0",
900
+ version: "22.2.2",
901
+ ngImport: i0,
902
+ type: RaqmSidebarInputDirective,
903
+ decorators: [{
904
+ type: Directive,
905
+ args: [{
906
+ selector: "input[raqm-sidebar-input]",
907
+ hostDirectives: [RaqmInput],
908
+ host: {
909
+ class: "raqm-sidebar-input",
910
+ "data-raqm-slot": "sidebar-input",
911
+ "data-raqm-sidebar": "input"
912
+ }
913
+ }]
914
+ }]
915
+ });
916
+ var RaqmSidebarSeparatorDirective = class RaqmSidebarSeparatorDirective {
917
+ static ɵfac = i0.ɵɵngDeclareFactory({
918
+ minVersion: "12.0.0",
919
+ version: "22.2.2",
920
+ ngImport: i0,
921
+ type: RaqmSidebarSeparatorDirective,
922
+ deps: [],
923
+ target: i0.ɵɵFactoryTarget.Directive
924
+ });
925
+ static ɵdir = i0.ɵɵngDeclareDirective({
926
+ minVersion: "14.0.0",
927
+ version: "22.2.2",
928
+ type: RaqmSidebarSeparatorDirective,
929
+ isStandalone: true,
930
+ selector: "raqm-separator[raqm-sidebar-separator]",
931
+ host: {
932
+ attributes: {
933
+ "data-raqm-slot": "sidebar-separator",
934
+ "data-raqm-sidebar": "separator"
935
+ },
936
+ classAttribute: "raqm-sidebar-separator"
937
+ },
938
+ ngImport: i0
939
+ });
940
+ };
941
+ i0.ɵɵngDeclareClassMetadata({
942
+ minVersion: "12.0.0",
943
+ version: "22.2.2",
944
+ ngImport: i0,
945
+ type: RaqmSidebarSeparatorDirective,
946
+ decorators: [{
947
+ type: Directive,
948
+ args: [{
949
+ selector: "raqm-separator[raqm-sidebar-separator]",
950
+ host: {
951
+ class: "raqm-sidebar-separator",
952
+ "data-raqm-slot": "sidebar-separator",
953
+ "data-raqm-sidebar": "separator"
954
+ }
955
+ }]
956
+ }]
957
+ });
958
+ var RaqmSidebarMenuActionDirective = class RaqmSidebarMenuActionDirective {
959
+ showOnHover = input(false, {
960
+ ...ngDevMode ? { debugName: "showOnHover" } : /* istanbul ignore next */ {},
961
+ transform: booleanAttribute
962
+ });
963
+ constructor() {
964
+ const host = inject(ElementRef).nativeElement;
965
+ if (!host.hasAttribute("type")) host.setAttribute("type", "button");
966
+ }
967
+ static ɵfac = i0.ɵɵngDeclareFactory({
968
+ minVersion: "12.0.0",
969
+ version: "22.2.2",
970
+ ngImport: i0,
971
+ type: RaqmSidebarMenuActionDirective,
972
+ deps: [],
973
+ target: i0.ɵɵFactoryTarget.Directive
974
+ });
975
+ static ɵdir = i0.ɵɵngDeclareDirective({
976
+ minVersion: "17.1.0",
977
+ version: "22.2.2",
978
+ type: RaqmSidebarMenuActionDirective,
979
+ isStandalone: true,
980
+ selector: "button[raqm-sidebar-menu-action]",
981
+ inputs: { showOnHover: {
982
+ classPropertyName: "showOnHover",
983
+ publicName: "showOnHover",
984
+ isSignal: true,
985
+ isRequired: false,
986
+ transformFunction: null
987
+ } },
988
+ host: {
989
+ attributes: {
990
+ "data-raqm-slot": "sidebar-menu-action",
991
+ "data-raqm-sidebar": "menu-action"
992
+ },
993
+ properties: { "attr.data-raqm-show-on-hover": "showOnHover() ? \"true\" : null" },
994
+ classAttribute: "raqm-sidebar-menu-action"
995
+ },
996
+ ngImport: i0
997
+ });
998
+ };
999
+ i0.ɵɵngDeclareClassMetadata({
1000
+ minVersion: "12.0.0",
1001
+ version: "22.2.2",
1002
+ ngImport: i0,
1003
+ type: RaqmSidebarMenuActionDirective,
1004
+ decorators: [{
1005
+ type: Directive,
1006
+ args: [{
1007
+ selector: "button[raqm-sidebar-menu-action]",
1008
+ host: {
1009
+ class: "raqm-sidebar-menu-action",
1010
+ "data-raqm-slot": "sidebar-menu-action",
1011
+ "data-raqm-sidebar": "menu-action",
1012
+ "[attr.data-raqm-show-on-hover]": "showOnHover() ? \"true\" : null"
1013
+ }
1014
+ }]
1015
+ }],
1016
+ ctorParameters: () => [],
1017
+ propDecorators: { showOnHover: [{
1018
+ type: i0.Input,
1019
+ args: [{
1020
+ isSignal: true,
1021
+ alias: "showOnHover",
1022
+ required: false
1023
+ }]
1024
+ }] }
1025
+ });
1026
+ var RaqmSidebarMenuButtonComponent = class RaqmSidebarMenuButtonComponent {
1027
+ appearance = input("", {
1028
+ ...ngDevMode ? { debugName: "appearance" } : /* istanbul ignore next */ {},
1029
+ alias: "raqm-sidebar-menu-button"
1030
+ });
1031
+ small = input(false, {
1032
+ ...ngDevMode ? { debugName: "small" } : /* istanbul ignore next */ {},
1033
+ transform: booleanAttribute
1034
+ });
1035
+ large = input(false, {
1036
+ ...ngDevMode ? { debugName: "large" } : /* istanbul ignore next */ {},
1037
+ transform: booleanAttribute
1038
+ });
1039
+ active = input(false, {
1040
+ ...ngDevMode ? { debugName: "active" } : /* istanbul ignore next */ {},
1041
+ transform: booleanAttribute
1042
+ });
1043
+ activeVariant = computed(() => this.appearance() || "default", ...ngDevMode ? [{ debugName: "activeVariant" }] : /* istanbul ignore next */ []);
1044
+ activeSize = computed(() => {
1045
+ if (this.small() && this.large()) throw new Error("RaqmSidebarMenuButton: use only one size attribute per button.");
1046
+ return this.small() ? "sm" : this.large() ? "lg" : null;
1047
+ }, ...ngDevMode ? [{ debugName: "activeSize" }] : /* istanbul ignore next */ []);
1048
+ tooltip = input(void 0, ...ngDevMode ? [{ debugName: "tooltip" }] : /* istanbul ignore next */ []);
1049
+ context = useSidebar();
1050
+ host = inject(ElementRef).nativeElement;
1051
+ tip = viewChild(RaqmTooltipComponent, ...ngDevMode ? [{ debugName: "tip" }] : /* istanbul ignore next */ []);
1052
+ tooltipText = computed(() => {
1053
+ const tip = this.tooltip();
1054
+ return typeof tip === "string" ? tip : tip?.text ?? "";
1055
+ }, ...ngDevMode ? [{ debugName: "tooltipText" }] : /* istanbul ignore next */ []);
1056
+ tooltipSide = computed(() => {
1057
+ const tip = this.tooltip();
1058
+ return typeof tip === "object" ? tip.side ?? "right" : "right";
1059
+ }, ...ngDevMode ? [{ debugName: "tooltipSide" }] : /* istanbul ignore next */ []);
1060
+ tooltipAlign = computed(() => {
1061
+ const tip = this.tooltip();
1062
+ return typeof tip === "object" ? tip.align ?? "center" : "center";
1063
+ }, ...ngDevMode ? [{ debugName: "tooltipAlign" }] : /* istanbul ignore next */ []);
1064
+ tooltipOffset = computed(() => {
1065
+ const tip = this.tooltip();
1066
+ return typeof tip === "object" ? tip.sideOffset ?? 4 : 4;
1067
+ }, ...ngDevMode ? [{ debugName: "tooltipOffset" }] : /* istanbul ignore next */ []);
1068
+ showTooltip = computed(() => {
1069
+ const tip = this.tooltip();
1070
+ return !!this.tooltipText() && this.context.state() === "collapsed" && !this.context.mobile() && !(typeof tip === "object" && tip.hidden);
1071
+ }, ...ngDevMode ? [{ debugName: "showTooltip" }] : /* istanbul ignore next */ []);
1072
+ ref = {
1073
+ element: this.host,
1074
+ get disabled() {
1075
+ return this.element.disabled || this.element.getAttribute("aria-disabled") === "true";
1076
+ }
1077
+ };
1078
+ constructor() {
1079
+ if (this.host.tagName === "BUTTON" && !this.host.hasAttribute("type")) this.host.setAttribute("type", "button");
1080
+ effect((onCleanup) => {
1081
+ const tip = this.tip();
1082
+ untracked(() => tip?.registerTrigger(this.ref));
1083
+ onCleanup(() => untracked(() => tip?.unregisterTrigger(this.ref)));
1084
+ });
1085
+ effect((onCleanup) => {
1086
+ const tip = this.tip();
1087
+ const id = tip?.open() ? tip.tooltipId() : null;
1088
+ if (!id) return;
1089
+ const tokens = new Set((this.host.getAttribute("aria-describedby") ?? "").split(/\s+/).filter(Boolean));
1090
+ tokens.add(id);
1091
+ this.host.setAttribute("aria-describedby", [...tokens].join(" "));
1092
+ onCleanup(() => {
1093
+ const remaining = (this.host.getAttribute("aria-describedby") ?? "").split(/\s+/).filter((token) => token && token !== id);
1094
+ if (remaining.length) this.host.setAttribute("aria-describedby", remaining.join(" "));
1095
+ else this.host.removeAttribute("aria-describedby");
1096
+ });
1097
+ });
1098
+ }
1099
+ pointer(event, entering) {
1100
+ if (event.pointerType !== "mouse") return;
1101
+ if (entering) this.tip()?.requestOpen(this.ref, "mouse");
1102
+ else this.tip()?.requestClose(this.ref, "mouse");
1103
+ }
1104
+ focus(entering) {
1105
+ if (entering) this.tip()?.requestOpen(this.ref, "focus");
1106
+ else this.tip()?.requestClose(this.ref, "focus");
1107
+ }
1108
+ dismiss() {
1109
+ this.tip()?.requestClose(this.ref, "press");
1110
+ }
1111
+ static ɵfac = i0.ɵɵngDeclareFactory({
1112
+ minVersion: "12.0.0",
1113
+ version: "22.2.2",
1114
+ ngImport: i0,
1115
+ type: RaqmSidebarMenuButtonComponent,
1116
+ deps: [],
1117
+ target: i0.ɵɵFactoryTarget.Component
1118
+ });
1119
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1120
+ minVersion: "17.2.0",
1121
+ version: "22.2.2",
1122
+ type: RaqmSidebarMenuButtonComponent,
1123
+ isStandalone: true,
1124
+ selector: "button[raqm-sidebar-menu-button], a[raqm-sidebar-menu-button]",
1125
+ inputs: {
1126
+ appearance: {
1127
+ classPropertyName: "appearance",
1128
+ publicName: "raqm-sidebar-menu-button",
1129
+ isSignal: true,
1130
+ isRequired: false,
1131
+ transformFunction: null
1132
+ },
1133
+ small: {
1134
+ classPropertyName: "small",
1135
+ publicName: "small",
1136
+ isSignal: true,
1137
+ isRequired: false,
1138
+ transformFunction: null
1139
+ },
1140
+ large: {
1141
+ classPropertyName: "large",
1142
+ publicName: "large",
1143
+ isSignal: true,
1144
+ isRequired: false,
1145
+ transformFunction: null
1146
+ },
1147
+ active: {
1148
+ classPropertyName: "active",
1149
+ publicName: "active",
1150
+ isSignal: true,
1151
+ isRequired: false,
1152
+ transformFunction: null
1153
+ },
1154
+ tooltip: {
1155
+ classPropertyName: "tooltip",
1156
+ publicName: "tooltip",
1157
+ isSignal: true,
1158
+ isRequired: false,
1159
+ transformFunction: null
1160
+ }
1161
+ },
1162
+ host: {
1163
+ attributes: {
1164
+ "data-raqm-slot": "sidebar-menu-button",
1165
+ "data-raqm-sidebar": "menu-button"
1166
+ },
1167
+ listeners: {
1168
+ "pointerenter": "pointer($event, true)",
1169
+ "pointerleave": "pointer($event, false)",
1170
+ "focus": "focus(true)",
1171
+ "blur": "focus(false)",
1172
+ "pointerdown": "dismiss()",
1173
+ "click": "dismiss()",
1174
+ "keydown.escape": "dismiss()"
1175
+ },
1176
+ properties: {
1177
+ "attr.data-raqm-size": "activeSize()",
1178
+ "attr.data-raqm-variant": "activeVariant()",
1179
+ "attr.data-raqm-active": "active() ? \"true\" : null"
1180
+ },
1181
+ classAttribute: "raqm-sidebar-menu-button"
1182
+ },
1183
+ viewQueries: [{
1184
+ propertyName: "tip",
1185
+ first: true,
1186
+ predicate: RaqmTooltipComponent,
1187
+ descendants: true,
1188
+ isSignal: true
1189
+ }],
1190
+ ngImport: i0,
1191
+ template: "<ng-content /><raqm-tooltip [disabled]=\"!showTooltip()\" [side]=\"tooltipSide()\" [align]=\"tooltipAlign()\" [sideOffset]=\"tooltipOffset()\"><ng-template raqm-tooltip-content>{{ tooltipText() }}</ng-template></raqm-tooltip>",
1192
+ isInline: true,
1193
+ dependencies: [{
1194
+ kind: "component",
1195
+ type: i2.RaqmTooltipComponent,
1196
+ selector: "raqm-tooltip",
1197
+ inputs: [
1198
+ "disabled",
1199
+ "side",
1200
+ "align",
1201
+ "sideOffset",
1202
+ "alignOffset",
1203
+ "dir"
1204
+ ],
1205
+ exportAs: ["raqmTooltip"]
1206
+ }, {
1207
+ kind: "directive",
1208
+ type: i2.RaqmTooltipContentDirective,
1209
+ selector: "ng-template[raqm-tooltip-content]",
1210
+ exportAs: ["raqmTooltipContent"]
1211
+ }],
1212
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
1213
+ });
1214
+ };
1215
+ i0.ɵɵngDeclareClassMetadata({
1216
+ minVersion: "12.0.0",
1217
+ version: "22.2.2",
1218
+ ngImport: i0,
1219
+ type: RaqmSidebarMenuButtonComponent,
1220
+ decorators: [{
1221
+ type: Component,
1222
+ args: [{
1223
+ selector: "button[raqm-sidebar-menu-button], a[raqm-sidebar-menu-button]",
1224
+ imports: [RaqmTooltip],
1225
+ template: "<ng-content /><raqm-tooltip [disabled]=\"!showTooltip()\" [side]=\"tooltipSide()\" [align]=\"tooltipAlign()\" [sideOffset]=\"tooltipOffset()\"><ng-template raqm-tooltip-content>{{ tooltipText() }}</ng-template></raqm-tooltip>",
1226
+ changeDetection: ChangeDetectionStrategy.OnPush,
1227
+ host: {
1228
+ class: "raqm-sidebar-menu-button",
1229
+ "data-raqm-slot": "sidebar-menu-button",
1230
+ "data-raqm-sidebar": "menu-button",
1231
+ "[attr.data-raqm-size]": "activeSize()",
1232
+ "[attr.data-raqm-variant]": "activeVariant()",
1233
+ "[attr.data-raqm-active]": "active() ? \"true\" : null",
1234
+ "(pointerenter)": "pointer($event, true)",
1235
+ "(pointerleave)": "pointer($event, false)",
1236
+ "(focus)": "focus(true)",
1237
+ "(blur)": "focus(false)",
1238
+ "(pointerdown)": "dismiss()",
1239
+ "(click)": "dismiss()",
1240
+ "(keydown.escape)": "dismiss()"
1241
+ }
1242
+ }]
1243
+ }],
1244
+ ctorParameters: () => [],
1245
+ propDecorators: {
1246
+ appearance: [{
1247
+ type: i0.Input,
1248
+ args: [{
1249
+ isSignal: true,
1250
+ alias: "raqm-sidebar-menu-button",
1251
+ required: false
1252
+ }]
1253
+ }],
1254
+ small: [{
1255
+ type: i0.Input,
1256
+ args: [{
1257
+ isSignal: true,
1258
+ alias: "small",
1259
+ required: false
1260
+ }]
1261
+ }],
1262
+ large: [{
1263
+ type: i0.Input,
1264
+ args: [{
1265
+ isSignal: true,
1266
+ alias: "large",
1267
+ required: false
1268
+ }]
1269
+ }],
1270
+ active: [{
1271
+ type: i0.Input,
1272
+ args: [{
1273
+ isSignal: true,
1274
+ alias: "active",
1275
+ required: false
1276
+ }]
1277
+ }],
1278
+ tooltip: [{
1279
+ type: i0.Input,
1280
+ args: [{
1281
+ isSignal: true,
1282
+ alias: "tooltip",
1283
+ required: false
1284
+ }]
1285
+ }],
1286
+ tip: [{
1287
+ type: i0.ViewChild,
1288
+ args: [i0.forwardRef(() => RaqmTooltipComponent), { isSignal: true }]
1289
+ }]
1290
+ }
1291
+ });
1292
+ var RaqmSidebarMenuSubButtonDirective = class RaqmSidebarMenuSubButtonDirective {
1293
+ small = input(false, {
1294
+ ...ngDevMode ? { debugName: "small" } : /* istanbul ignore next */ {},
1295
+ transform: booleanAttribute
1296
+ });
1297
+ active = input(false, {
1298
+ ...ngDevMode ? { debugName: "active" } : /* istanbul ignore next */ {},
1299
+ transform: booleanAttribute
1300
+ });
1301
+ constructor() {
1302
+ const host = inject(ElementRef).nativeElement;
1303
+ if (host.tagName === "BUTTON" && !host.hasAttribute("type")) host.setAttribute("type", "button");
1304
+ }
1305
+ static ɵfac = i0.ɵɵngDeclareFactory({
1306
+ minVersion: "12.0.0",
1307
+ version: "22.2.2",
1308
+ ngImport: i0,
1309
+ type: RaqmSidebarMenuSubButtonDirective,
1310
+ deps: [],
1311
+ target: i0.ɵɵFactoryTarget.Directive
1312
+ });
1313
+ static ɵdir = i0.ɵɵngDeclareDirective({
1314
+ minVersion: "17.1.0",
1315
+ version: "22.2.2",
1316
+ type: RaqmSidebarMenuSubButtonDirective,
1317
+ isStandalone: true,
1318
+ selector: "a[raqm-sidebar-menu-sub-button], button[raqm-sidebar-menu-sub-button]",
1319
+ inputs: {
1320
+ small: {
1321
+ classPropertyName: "small",
1322
+ publicName: "small",
1323
+ isSignal: true,
1324
+ isRequired: false,
1325
+ transformFunction: null
1326
+ },
1327
+ active: {
1328
+ classPropertyName: "active",
1329
+ publicName: "active",
1330
+ isSignal: true,
1331
+ isRequired: false,
1332
+ transformFunction: null
1333
+ }
1334
+ },
1335
+ host: {
1336
+ attributes: {
1337
+ "data-raqm-slot": "sidebar-menu-sub-button",
1338
+ "data-raqm-sidebar": "menu-sub-button"
1339
+ },
1340
+ properties: {
1341
+ "attr.data-raqm-size": "small() ? \"sm\" : null",
1342
+ "attr.data-raqm-active": "active() ? \"true\" : null"
1343
+ },
1344
+ classAttribute: "raqm-sidebar-menu-sub-button"
1345
+ },
1346
+ ngImport: i0
1347
+ });
1348
+ };
1349
+ i0.ɵɵngDeclareClassMetadata({
1350
+ minVersion: "12.0.0",
1351
+ version: "22.2.2",
1352
+ ngImport: i0,
1353
+ type: RaqmSidebarMenuSubButtonDirective,
1354
+ decorators: [{
1355
+ type: Directive,
1356
+ args: [{
1357
+ selector: "a[raqm-sidebar-menu-sub-button], button[raqm-sidebar-menu-sub-button]",
1358
+ host: {
1359
+ class: "raqm-sidebar-menu-sub-button",
1360
+ "data-raqm-slot": "sidebar-menu-sub-button",
1361
+ "data-raqm-sidebar": "menu-sub-button",
1362
+ "[attr.data-raqm-size]": "small() ? \"sm\" : null",
1363
+ "[attr.data-raqm-active]": "active() ? \"true\" : null"
1364
+ }
1365
+ }]
1366
+ }],
1367
+ ctorParameters: () => [],
1368
+ propDecorators: {
1369
+ small: [{
1370
+ type: i0.Input,
1371
+ args: [{
1372
+ isSignal: true,
1373
+ alias: "small",
1374
+ required: false
1375
+ }]
1376
+ }],
1377
+ active: [{
1378
+ type: i0.Input,
1379
+ args: [{
1380
+ isSignal: true,
1381
+ alias: "active",
1382
+ required: false
1383
+ }]
1384
+ }]
1385
+ }
1386
+ });
1387
+ var RaqmSidebarTriggerComponent = class RaqmSidebarTriggerComponent {
1388
+ context = useSidebar();
1389
+ constructor() {
1390
+ const host = inject(ElementRef).nativeElement;
1391
+ if (!host.hasAttribute("type")) host.setAttribute("type", "button");
1392
+ afterNextRender(() => {
1393
+ if (isDevMode() && !host.hasAttribute("aria-label")) console.error("[raqm-sidebar] The trigger has no accessible name. Provide `aria-label`.");
1394
+ });
1395
+ }
1396
+ toggle(event) {
1397
+ if (!event.defaultPrevented) this.context.toggleSidebar();
1398
+ }
1399
+ static ɵfac = i0.ɵɵngDeclareFactory({
1400
+ minVersion: "12.0.0",
1401
+ version: "22.2.2",
1402
+ ngImport: i0,
1403
+ type: RaqmSidebarTriggerComponent,
1404
+ deps: [],
1405
+ target: i0.ɵɵFactoryTarget.Component
1406
+ });
1407
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1408
+ minVersion: "14.0.0",
1409
+ version: "22.2.2",
1410
+ type: RaqmSidebarTriggerComponent,
1411
+ isStandalone: true,
1412
+ selector: "button[raqm-sidebar-trigger]",
1413
+ host: {
1414
+ attributes: {
1415
+ "data-raqm-slot": "sidebar-trigger",
1416
+ "data-raqm-sidebar": "trigger",
1417
+ "data-raqm-variant": "ghost",
1418
+ "data-raqm-size": "icon-sm"
1419
+ },
1420
+ listeners: { "click": "toggle($event)" },
1421
+ classAttribute: "raqm-sidebar-trigger raqm-button"
1422
+ },
1423
+ ngImport: i0,
1424
+ template: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"/><path d=\"M9 3v18\"/></svg>",
1425
+ isInline: true,
1426
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
1427
+ });
1428
+ };
1429
+ i0.ɵɵngDeclareClassMetadata({
1430
+ minVersion: "12.0.0",
1431
+ version: "22.2.2",
1432
+ ngImport: i0,
1433
+ type: RaqmSidebarTriggerComponent,
1434
+ decorators: [{
1435
+ type: Component,
1436
+ args: [{
1437
+ selector: "button[raqm-sidebar-trigger]",
1438
+ template: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><rect width=\"18\" height=\"18\" x=\"3\" y=\"3\" rx=\"2\"/><path d=\"M9 3v18\"/></svg>",
1439
+ changeDetection: ChangeDetectionStrategy.OnPush,
1440
+ host: {
1441
+ class: "raqm-sidebar-trigger raqm-button",
1442
+ "data-raqm-slot": "sidebar-trigger",
1443
+ "data-raqm-sidebar": "trigger",
1444
+ "data-raqm-variant": "ghost",
1445
+ "data-raqm-size": "icon-sm",
1446
+ "(click)": "toggle($event)"
1447
+ }
1448
+ }]
1449
+ }],
1450
+ ctorParameters: () => []
1451
+ });
1452
+ var RaqmSidebarRailDirective = class RaqmSidebarRailDirective {
1453
+ context = useSidebar();
1454
+ constructor() {
1455
+ const host = inject(ElementRef).nativeElement;
1456
+ if (!host.hasAttribute("type")) host.setAttribute("type", "button");
1457
+ afterNextRender(() => {
1458
+ if (isDevMode() && !host.hasAttribute("aria-label")) console.error("[raqm-sidebar] The rail has no accessible name. Provide `aria-label`.");
1459
+ });
1460
+ }
1461
+ static ɵfac = i0.ɵɵngDeclareFactory({
1462
+ minVersion: "12.0.0",
1463
+ version: "22.2.2",
1464
+ ngImport: i0,
1465
+ type: RaqmSidebarRailDirective,
1466
+ deps: [],
1467
+ target: i0.ɵɵFactoryTarget.Directive
1468
+ });
1469
+ static ɵdir = i0.ɵɵngDeclareDirective({
1470
+ minVersion: "14.0.0",
1471
+ version: "22.2.2",
1472
+ type: RaqmSidebarRailDirective,
1473
+ isStandalone: true,
1474
+ selector: "button[raqm-sidebar-rail]",
1475
+ host: {
1476
+ attributes: {
1477
+ "tabindex": "-1",
1478
+ "data-raqm-slot": "sidebar-rail",
1479
+ "data-raqm-sidebar": "rail"
1480
+ },
1481
+ listeners: { "click": "context.toggleSidebar()" },
1482
+ classAttribute: "raqm-sidebar-rail"
1483
+ },
1484
+ ngImport: i0
1485
+ });
1486
+ };
1487
+ i0.ɵɵngDeclareClassMetadata({
1488
+ minVersion: "12.0.0",
1489
+ version: "22.2.2",
1490
+ ngImport: i0,
1491
+ type: RaqmSidebarRailDirective,
1492
+ decorators: [{
1493
+ type: Directive,
1494
+ args: [{
1495
+ selector: "button[raqm-sidebar-rail]",
1496
+ host: {
1497
+ class: "raqm-sidebar-rail",
1498
+ tabindex: "-1",
1499
+ "data-raqm-slot": "sidebar-rail",
1500
+ "data-raqm-sidebar": "rail",
1501
+ "(click)": "context.toggleSidebar()"
1502
+ }
1503
+ }]
1504
+ }],
1505
+ ctorParameters: () => []
1506
+ });
1507
+ var RaqmSidebarMenuSkeletonComponent = class RaqmSidebarMenuSkeletonComponent {
1508
+ showIcon = input(false, {
1509
+ ...ngDevMode ? { debugName: "showIcon" } : /* istanbul ignore next */ {},
1510
+ transform: booleanAttribute
1511
+ });
1512
+ static ɵfac = i0.ɵɵngDeclareFactory({
1513
+ minVersion: "12.0.0",
1514
+ version: "22.2.2",
1515
+ ngImport: i0,
1516
+ type: RaqmSidebarMenuSkeletonComponent,
1517
+ deps: [],
1518
+ target: i0.ɵɵFactoryTarget.Component
1519
+ });
1520
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1521
+ minVersion: "17.0.0",
1522
+ version: "22.2.2",
1523
+ type: RaqmSidebarMenuSkeletonComponent,
1524
+ isStandalone: true,
1525
+ selector: "raqm-sidebar-menu-skeleton",
1526
+ inputs: { showIcon: {
1527
+ classPropertyName: "showIcon",
1528
+ publicName: "showIcon",
1529
+ isSignal: true,
1530
+ isRequired: false,
1531
+ transformFunction: null
1532
+ } },
1533
+ host: {
1534
+ attributes: {
1535
+ "data-raqm-slot": "sidebar-menu-skeleton",
1536
+ "data-raqm-sidebar": "menu-skeleton",
1537
+ "aria-hidden": "true"
1538
+ },
1539
+ classAttribute: "raqm-sidebar-menu-skeleton"
1540
+ },
1541
+ ngImport: i0,
1542
+ template: "@if (showIcon()) { <raqm-skeleton class=\"raqm-sidebar-menu-skeleton-icon\" data-raqm-sidebar=\"menu-skeleton-icon\" /> }<raqm-skeleton class=\"raqm-sidebar-menu-skeleton-text\" data-raqm-sidebar=\"menu-skeleton-text\" />",
1543
+ isInline: true,
1544
+ dependencies: [{
1545
+ kind: "component",
1546
+ type: RaqmSkeleton,
1547
+ selector: "raqm-skeleton"
1548
+ }],
1549
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
1550
+ });
1551
+ };
1552
+ i0.ɵɵngDeclareClassMetadata({
1553
+ minVersion: "12.0.0",
1554
+ version: "22.2.2",
1555
+ ngImport: i0,
1556
+ type: RaqmSidebarMenuSkeletonComponent,
1557
+ decorators: [{
1558
+ type: Component,
1559
+ args: [{
1560
+ selector: "raqm-sidebar-menu-skeleton",
1561
+ imports: [RaqmSkeleton],
1562
+ template: "@if (showIcon()) { <raqm-skeleton class=\"raqm-sidebar-menu-skeleton-icon\" data-raqm-sidebar=\"menu-skeleton-icon\" /> }<raqm-skeleton class=\"raqm-sidebar-menu-skeleton-text\" data-raqm-sidebar=\"menu-skeleton-text\" />",
1563
+ changeDetection: ChangeDetectionStrategy.OnPush,
1564
+ host: {
1565
+ class: "raqm-sidebar-menu-skeleton",
1566
+ "data-raqm-slot": "sidebar-menu-skeleton",
1567
+ "data-raqm-sidebar": "menu-skeleton",
1568
+ "aria-hidden": "true"
1569
+ }
1570
+ }]
1571
+ }],
1572
+ propDecorators: { showIcon: [{
1573
+ type: i0.Input,
1574
+ args: [{
1575
+ isSignal: true,
1576
+ alias: "showIcon",
1577
+ required: false
1578
+ }]
1579
+ }] }
1580
+ });
1581
+ var RaqmSidebarProviderComponent = class RaqmSidebarProviderComponent {
1582
+ defaultOpen = input(true, {
1583
+ ...ngDevMode ? { debugName: "defaultOpen" } : /* istanbul ignore next */ {},
1584
+ transform: booleanAttribute
1585
+ });
1586
+ openInput = input(void 0, {
1587
+ ...ngDevMode ? { debugName: "openInput" } : /* istanbul ignore next */ {},
1588
+ alias: "open"
1589
+ });
1590
+ openMobileInput = input(void 0, {
1591
+ ...ngDevMode ? { debugName: "openMobileInput" } : /* istanbul ignore next */ {},
1592
+ alias: "openMobile"
1593
+ });
1594
+ openChange = output();
1595
+ openMobileChange = output();
1596
+ desktop = signal(void 0, ...ngDevMode ? [{ debugName: "desktop" }] : /* istanbul ignore next */ []);
1597
+ mobileOpen = signal(false, ...ngDevMode ? [{ debugName: "mobileOpen" }] : /* istanbul ignore next */ []);
1598
+ mobileState = signal(false, ...ngDevMode ? [{ debugName: "mobileState" }] : /* istanbul ignore next */ []);
1599
+ open = computed(() => this.openInput() ?? this.desktop() ?? this.defaultOpen(), ...ngDevMode ? [{ debugName: "open" }] : /* istanbul ignore next */ []);
1600
+ openMobile = computed(() => this.openMobileInput() ?? this.mobileOpen(), ...ngDevMode ? [{ debugName: "openMobile" }] : /* istanbul ignore next */ []);
1601
+ mobile = this.mobileState.asReadonly();
1602
+ state = computed(() => this.open() ? "expanded" : "collapsed", ...ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []);
1603
+ document = inject(DOCUMENT);
1604
+ host = inject(ElementRef);
1605
+ destroy = inject(DestroyRef);
1606
+ constructor() {
1607
+ afterNextRender(() => {
1608
+ const media = this.document.defaultView?.matchMedia("(max-width: 767px)");
1609
+ if (!media) return;
1610
+ const update = () => this.mobileState.set(media.matches);
1611
+ update();
1612
+ media.addEventListener("change", update);
1613
+ this.destroy.onDestroy(() => media.removeEventListener("change", update));
1614
+ });
1615
+ }
1616
+ setOpen(value) {
1617
+ const next = typeof value === "function" ? value(this.open()) : value;
1618
+ if (this.openInput() === void 0) this.desktop.set(next);
1619
+ this.openChange.emit(next);
1620
+ if (this.document.defaultView) try {
1621
+ this.document.cookie = `sidebar_state=${next}; path=/; max-age=604800; SameSite=Lax`;
1622
+ } catch {}
1623
+ }
1624
+ setOpenMobile(value) {
1625
+ const next = typeof value === "function" ? value(this.openMobile()) : value;
1626
+ if (this.openMobileInput() === void 0) this.mobileOpen.set(next);
1627
+ this.openMobileChange.emit(next);
1628
+ }
1629
+ toggleSidebar() {
1630
+ if (this.mobile()) this.setOpenMobile((open) => !open);
1631
+ else this.setOpen((open) => !open);
1632
+ }
1633
+ onKeydown(event) {
1634
+ const target = event.target;
1635
+ if (event.defaultPrevented || event.repeat || event.key.toLowerCase() !== "b" || !(event.metaKey || event.ctrlKey)) return;
1636
+ if (target?.closest("raqm-sidebar-provider") !== this.host.nativeElement) return;
1637
+ event.preventDefault();
1638
+ event.stopPropagation();
1639
+ this.toggleSidebar();
1640
+ }
1641
+ static ɵfac = i0.ɵɵngDeclareFactory({
1642
+ minVersion: "12.0.0",
1643
+ version: "22.2.2",
1644
+ ngImport: i0,
1645
+ type: RaqmSidebarProviderComponent,
1646
+ deps: [],
1647
+ target: i0.ɵɵFactoryTarget.Component
1648
+ });
1649
+ static ɵcmp = i0.ɵɵngDeclareComponent({
1650
+ minVersion: "17.1.0",
1651
+ version: "22.2.2",
1652
+ type: RaqmSidebarProviderComponent,
1653
+ isStandalone: true,
1654
+ selector: "raqm-sidebar-provider",
1655
+ inputs: {
1656
+ defaultOpen: {
1657
+ classPropertyName: "defaultOpen",
1658
+ publicName: "defaultOpen",
1659
+ isSignal: true,
1660
+ isRequired: false,
1661
+ transformFunction: null
1662
+ },
1663
+ openInput: {
1664
+ classPropertyName: "openInput",
1665
+ publicName: "open",
1666
+ isSignal: true,
1667
+ isRequired: false,
1668
+ transformFunction: null
1669
+ },
1670
+ openMobileInput: {
1671
+ classPropertyName: "openMobileInput",
1672
+ publicName: "openMobile",
1673
+ isSignal: true,
1674
+ isRequired: false,
1675
+ transformFunction: null
1676
+ }
1677
+ },
1678
+ outputs: {
1679
+ openChange: "openChange",
1680
+ openMobileChange: "openMobileChange"
1681
+ },
1682
+ host: {
1683
+ attributes: { "data-raqm-slot": "sidebar-wrapper" },
1684
+ listeners: { "keydown": "onKeydown($event)" },
1685
+ classAttribute: "raqm-sidebar-provider"
1686
+ },
1687
+ providers: [{
1688
+ provide: RAQM_SIDEBAR,
1689
+ useExisting: RaqmSidebarProviderComponent
1690
+ }],
1691
+ exportAs: ["raqmSidebarProvider"],
1692
+ ngImport: i0,
1693
+ template: "<ng-content />",
1694
+ isInline: true,
1695
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
1696
+ });
1697
+ };
1698
+ i0.ɵɵngDeclareClassMetadata({
1699
+ minVersion: "12.0.0",
1700
+ version: "22.2.2",
1701
+ ngImport: i0,
1702
+ type: RaqmSidebarProviderComponent,
1703
+ decorators: [{
1704
+ type: Component,
1705
+ args: [{
1706
+ selector: "raqm-sidebar-provider",
1707
+ exportAs: "raqmSidebarProvider",
1708
+ template: "<ng-content />",
1709
+ changeDetection: ChangeDetectionStrategy.OnPush,
1710
+ providers: [{
1711
+ provide: RAQM_SIDEBAR,
1712
+ useExisting: RaqmSidebarProviderComponent
1713
+ }],
1714
+ host: {
1715
+ class: "raqm-sidebar-provider",
1716
+ "data-raqm-slot": "sidebar-wrapper",
1717
+ "(keydown)": "onKeydown($event)"
1718
+ }
1719
+ }]
1720
+ }],
1721
+ ctorParameters: () => [],
1722
+ propDecorators: {
1723
+ defaultOpen: [{
1724
+ type: i0.Input,
1725
+ args: [{
1726
+ isSignal: true,
1727
+ alias: "defaultOpen",
1728
+ required: false
1729
+ }]
1730
+ }],
1731
+ openInput: [{
1732
+ type: i0.Input,
1733
+ args: [{
1734
+ isSignal: true,
1735
+ alias: "open",
1736
+ required: false
1737
+ }]
1738
+ }],
1739
+ openMobileInput: [{
1740
+ type: i0.Input,
1741
+ args: [{
1742
+ isSignal: true,
1743
+ alias: "openMobile",
1744
+ required: false
1745
+ }]
1746
+ }],
1747
+ openChange: [{
1748
+ type: i0.Output,
1749
+ args: ["openChange"]
1750
+ }],
1751
+ openMobileChange: [{
1752
+ type: i0.Output,
1753
+ args: ["openMobileChange"]
1754
+ }]
1755
+ }
1756
+ });
1757
+ const RaqmSidebar = [
1758
+ RaqmSidebarProviderComponent,
1759
+ RaqmSidebarComponent,
1760
+ RaqmSidebarTriggerComponent,
1761
+ RaqmSidebarRailDirective,
1762
+ RaqmSidebarInsetDirective,
1763
+ RaqmSidebarInputDirective,
1764
+ RaqmSidebarHeaderDirective,
1765
+ RaqmSidebarFooterDirective,
1766
+ RaqmSidebarSeparatorDirective,
1767
+ RaqmSidebarContentDirective,
1768
+ RaqmSidebarGroupDirective,
1769
+ RaqmSidebarGroupLabelDirective,
1770
+ RaqmSidebarGroupActionDirective,
1771
+ RaqmSidebarGroupContentDirective,
1772
+ RaqmSidebarMenuDirective,
1773
+ RaqmSidebarMenuItemDirective,
1774
+ RaqmSidebarMenuButtonComponent,
1775
+ RaqmSidebarMenuActionDirective,
1776
+ RaqmSidebarMenuBadgeDirective,
1777
+ RaqmSidebarMenuSkeletonComponent,
1778
+ RaqmSidebarMenuSubDirective,
1779
+ RaqmSidebarMenuSubItemDirective,
1780
+ RaqmSidebarMenuSubButtonDirective
1781
+ ];
1782
+ export { RAQM_SIDEBAR, RaqmSidebar, RaqmSidebarComponent, RaqmSidebarContentDirective, RaqmSidebarFooterDirective, RaqmSidebarGroupActionDirective, RaqmSidebarGroupContentDirective, RaqmSidebarGroupDirective, RaqmSidebarGroupLabelDirective, RaqmSidebarHeaderDirective, RaqmSidebarInputDirective, RaqmSidebarInsetDirective, RaqmSidebarMenuActionDirective, RaqmSidebarMenuBadgeDirective, RaqmSidebarMenuButtonComponent, RaqmSidebarMenuDirective, RaqmSidebarMenuItemDirective, RaqmSidebarMenuSkeletonComponent, RaqmSidebarMenuSubButtonDirective, RaqmSidebarMenuSubDirective, RaqmSidebarMenuSubItemDirective, RaqmSidebarProviderComponent, RaqmSidebarRailDirective, RaqmSidebarSeparatorDirective, RaqmSidebarTriggerComponent, useSidebar };
1783
+
1784
+ //# sourceMappingURL=raqm-ui-sidebar.mjs.map