@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,687 @@
1
+ import { NgTemplateOutlet } from "@angular/common";
2
+ import * as i0 from "@angular/core";
3
+ import { ChangeDetectionStrategy, Component, DestroyRef, Directive, ElementRef, booleanAttribute, effect, inject, input, signal } from "@angular/core";
4
+ import { RaqmButton } from "@raqm/ui/button";
5
+ import * as i1 from "@raqm/ui/dialog";
6
+ import { RAQM_DIALOG, RAQM_DIALOG_POLICY, RaqmDialogBaseComponent, RaqmDialogCloseDirective, RaqmDialogContentDirective, RaqmDialogDescriptionDirective, RaqmDialogTitleDirective, RaqmDialogTriggerDirective } from "@raqm/ui/dialog";
7
+ import { DialogRef } from "@angular/cdk/dialog";
8
+ const DRAG_THRESHOLD = 8;
9
+ const DISMISS_RATIO = .35;
10
+ const DISMISS_VELOCITY = .5;
11
+ const SETTLE_MS = 200;
12
+ const INTERACTIVE_SELECTOR = "input, textarea, select, button, a[href], [contenteditable=\"true\"], [data-raqm-drawer-no-swipe]";
13
+ function prefersReducedMotion() {
14
+ return typeof matchMedia === "function" && matchMedia("(prefers-reduced-motion: reduce)").matches;
15
+ }
16
+ var RaqmDrawerSwipeDirective = class RaqmDrawerSwipeDirective {
17
+ surface = inject(ElementRef).nativeElement;
18
+ dialog = inject(RAQM_DIALOG, { optional: true });
19
+ dialogRef = inject(DialogRef, { optional: true });
20
+ destroyRef = inject(DestroyRef);
21
+ direction = input("down", ...ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []);
22
+ release;
23
+ settleTimer;
24
+ backdrop = null;
25
+ onPointerDown = (event) => {
26
+ if (!event.isPrimary) return;
27
+ if (event.pointerType === "mouse" && event.button !== 0) return;
28
+ if (this.release !== void 0 || this.settleTimer !== void 0) return;
29
+ if (this.dialog !== null && !this.dialog.open()) return;
30
+ const target = event.target;
31
+ if (!(target instanceof Element)) return;
32
+ if (target.closest(INTERACTIVE_SELECTOR)) return;
33
+ const direction = this.direction();
34
+ const vertical = direction === "down" || direction === "up";
35
+ if (this.hasScrollableAncestor(target, vertical)) return;
36
+ if (event.pointerType === "touch" && !target.closest("[data-raqm-drawer-swipe-handle]")) return;
37
+ const surface = this.surface;
38
+ const rect = surface.getBoundingClientRect();
39
+ const size = vertical ? rect.height : rect.width;
40
+ if (size <= 0) return;
41
+ const rtl = getComputedStyle(surface).direction === "rtl";
42
+ const sign = (direction === "down" ? true : direction === "up" ? false : direction === "right" !== rtl) ? 1 : -1;
43
+ const startX = event.clientX;
44
+ const startY = event.clientY;
45
+ const startedAt = performance.now();
46
+ const pointerId = event.pointerId;
47
+ let active = false;
48
+ let distance = 0;
49
+ const along = (move) => (vertical ? move.clientY - startY : move.clientX - startX) * sign;
50
+ const activate = () => {
51
+ active = true;
52
+ surface.setAttribute("data-raqm-swiping", "");
53
+ this.backdrop = this.dialogRef?.overlayRef.backdropElement ?? null;
54
+ if (this.backdrop) this.backdrop.style.transitionDuration = "0ms";
55
+ try {
56
+ surface.setPointerCapture(pointerId);
57
+ } catch {}
58
+ };
59
+ const render = (value) => {
60
+ const offset = Math.max(0, Math.min(size, value));
61
+ distance = offset;
62
+ surface.style.transition = "none";
63
+ surface.style.transform = `translate3d(${vertical ? 0 : offset * sign}px, ${vertical ? offset * sign : 0}px, 0)`;
64
+ if (this.backdrop) this.backdrop.style.opacity = String(Math.max(0, 1 - offset / size));
65
+ };
66
+ const onMove = (move) => {
67
+ if (move.pointerId !== pointerId) return;
68
+ const raw = along(move);
69
+ if (!active) {
70
+ const cross = vertical ? move.clientX - startX : move.clientY - startY;
71
+ if (raw <= DRAG_THRESHOLD || Math.abs(raw) <= Math.abs(cross)) return;
72
+ move.preventDefault();
73
+ window.getSelection()?.removeAllRanges();
74
+ activate();
75
+ }
76
+ render(raw);
77
+ };
78
+ const finish = (end, cancelled) => {
79
+ if (end.pointerId !== pointerId) return;
80
+ this.release?.();
81
+ this.release = void 0;
82
+ surface.removeAttribute("data-raqm-swiping");
83
+ if (surface.hasPointerCapture(pointerId)) surface.releasePointerCapture(pointerId);
84
+ if (!active) return;
85
+ const elapsed = Math.max(1, performance.now() - startedAt);
86
+ const dismiss = !cancelled && (distance >= size * DISMISS_RATIO || distance / elapsed >= DISMISS_VELOCITY);
87
+ this.settle(dismiss, size, vertical, sign);
88
+ };
89
+ const onUp = (up) => finish(up, false);
90
+ const onCancel = (cancel) => finish(cancel, true);
91
+ const doc = surface.ownerDocument;
92
+ doc.addEventListener("pointermove", onMove);
93
+ doc.addEventListener("pointerup", onUp);
94
+ doc.addEventListener("pointercancel", onCancel);
95
+ surface.addEventListener("lostpointercapture", onCancel);
96
+ this.release = () => {
97
+ doc.removeEventListener("pointermove", onMove);
98
+ doc.removeEventListener("pointerup", onUp);
99
+ doc.removeEventListener("pointercancel", onCancel);
100
+ surface.removeEventListener("lostpointercapture", onCancel);
101
+ };
102
+ };
103
+ constructor() {
104
+ this.surface.addEventListener("pointerdown", this.onPointerDown);
105
+ this.destroyRef.onDestroy(() => {
106
+ this.surface.removeEventListener("pointerdown", this.onPointerDown);
107
+ this.release?.();
108
+ this.release = void 0;
109
+ this.clearSettleTimer();
110
+ this.resetSurface();
111
+ });
112
+ }
113
+ settle(dismiss, size, vertical, sign) {
114
+ const surface = this.surface;
115
+ const reduced = prefersReducedMotion();
116
+ if (dismiss) {
117
+ if (this.dialog === null) {
118
+ this.resetSurface();
119
+ return;
120
+ }
121
+ if (reduced) {
122
+ this.resetSurface();
123
+ this.dialog.closeFromUser();
124
+ return;
125
+ }
126
+ const target = size + 2;
127
+ surface.style.transition = `transform ${SETTLE_MS}ms var(--raqm-ease-out), opacity ${SETTLE_MS}ms var(--raqm-ease-out)`;
128
+ surface.style.transform = `translate3d(${vertical ? 0 : target * sign}px, ${vertical ? target * sign : 0}px, 0)`;
129
+ surface.style.opacity = "0";
130
+ if (this.backdrop) {
131
+ this.backdrop.style.transitionDuration = `${SETTLE_MS}ms`;
132
+ this.backdrop.style.opacity = "0";
133
+ }
134
+ this.settleTimer = setTimeout(() => {
135
+ this.settleTimer = void 0;
136
+ this.dialog?.closeFromUser();
137
+ }, SETTLE_MS);
138
+ return;
139
+ }
140
+ surface.style.transition = reduced ? "none" : `transform ${SETTLE_MS}ms var(--raqm-ease-out)`;
141
+ surface.style.transform = "translate3d(0, 0, 0)";
142
+ if (this.backdrop) {
143
+ this.backdrop.style.transitionDuration = reduced ? "0ms" : `${SETTLE_MS}ms`;
144
+ this.backdrop.style.opacity = "1";
145
+ }
146
+ this.settleTimer = setTimeout(() => {
147
+ this.settleTimer = void 0;
148
+ this.resetSurface();
149
+ }, reduced ? 0 : SETTLE_MS);
150
+ }
151
+ hasScrollableAncestor(target, vertical) {
152
+ let node = target;
153
+ while (node && node !== this.surface) {
154
+ const style = getComputedStyle(node);
155
+ const overflow = vertical ? style.overflowY : style.overflowX;
156
+ if (overflow === "auto" || overflow === "scroll") {
157
+ if ((vertical ? node.scrollHeight - node.clientHeight : node.scrollWidth - node.clientWidth) > 1) return true;
158
+ }
159
+ node = node.parentElement;
160
+ }
161
+ return false;
162
+ }
163
+ resetSurface() {
164
+ const surface = this.surface;
165
+ surface.style.transform = "";
166
+ surface.style.transition = "";
167
+ surface.style.opacity = "";
168
+ surface.removeAttribute("data-raqm-swiping");
169
+ if (this.backdrop) {
170
+ this.backdrop.style.opacity = "";
171
+ this.backdrop.style.transitionDuration = "";
172
+ this.backdrop = null;
173
+ }
174
+ }
175
+ clearSettleTimer() {
176
+ if (this.settleTimer !== void 0) {
177
+ clearTimeout(this.settleTimer);
178
+ this.settleTimer = void 0;
179
+ }
180
+ }
181
+ static ɵfac = i0.ɵɵngDeclareFactory({
182
+ minVersion: "12.0.0",
183
+ version: "22.2.2",
184
+ ngImport: i0,
185
+ type: RaqmDrawerSwipeDirective,
186
+ deps: [],
187
+ target: i0.ɵɵFactoryTarget.Directive
188
+ });
189
+ static ɵdir = i0.ɵɵngDeclareDirective({
190
+ minVersion: "17.1.0",
191
+ version: "22.2.2",
192
+ type: RaqmDrawerSwipeDirective,
193
+ isStandalone: true,
194
+ selector: "[raqm-drawer-swipe]",
195
+ inputs: { direction: {
196
+ classPropertyName: "direction",
197
+ publicName: "direction",
198
+ isSignal: true,
199
+ isRequired: false,
200
+ transformFunction: null
201
+ } },
202
+ ngImport: i0
203
+ });
204
+ };
205
+ i0.ɵɵngDeclareClassMetadata({
206
+ minVersion: "12.0.0",
207
+ version: "22.2.2",
208
+ ngImport: i0,
209
+ type: RaqmDrawerSwipeDirective,
210
+ decorators: [{
211
+ type: Directive,
212
+ args: [{ selector: "[raqm-drawer-swipe]" }]
213
+ }],
214
+ ctorParameters: () => [],
215
+ propDecorators: { direction: [{
216
+ type: i0.Input,
217
+ args: [{
218
+ isSignal: true,
219
+ alias: "direction",
220
+ required: false
221
+ }]
222
+ }] }
223
+ });
224
+ const SIDE = {
225
+ down: "bottom",
226
+ up: "top",
227
+ right: "right",
228
+ left: "left"
229
+ };
230
+ var RaqmDrawerComponent = class RaqmDrawerComponent extends RaqmDialogBaseComponent {
231
+ swipeDirection = input("down", ...ngDevMode ? [{ debugName: "swipeDirection" }] : /* istanbul ignore next */ []);
232
+ showSwipeHandle = input(false, {
233
+ ...ngDevMode ? { debugName: "showSwipeHandle" } : /* istanbul ignore next */ {},
234
+ transform: booleanAttribute
235
+ });
236
+ floating = input(false, {
237
+ ...ngDevMode ? { debugName: "floating" } : /* istanbul ignore next */ {},
238
+ transform: booleanAttribute
239
+ });
240
+ showCloseButton = input(false, {
241
+ ...ngDevMode ? { debugName: "showCloseButton" } : /* istanbul ignore next */ {},
242
+ transform: booleanAttribute
243
+ });
244
+ closeLabel = input(void 0, ...ngDevMode ? [{ debugName: "closeLabel" }] : /* istanbul ignore next */ []);
245
+ closeButtonVisible = this.showCloseButton;
246
+ closeLabelText = this.closeLabel;
247
+ constructor() {
248
+ super();
249
+ effect(() => {
250
+ this.policy?.side?.set(SIDE[this.swipeDirection()]);
251
+ });
252
+ }
253
+ static ɵfac = i0.ɵɵngDeclareFactory({
254
+ minVersion: "12.0.0",
255
+ version: "22.2.2",
256
+ ngImport: i0,
257
+ type: RaqmDrawerComponent,
258
+ deps: [],
259
+ target: i0.ɵɵFactoryTarget.Component
260
+ });
261
+ static ɵcmp = i0.ɵɵngDeclareComponent({
262
+ minVersion: "17.0.0",
263
+ version: "22.2.2",
264
+ type: RaqmDrawerComponent,
265
+ isStandalone: true,
266
+ selector: "raqm-drawer",
267
+ inputs: {
268
+ swipeDirection: {
269
+ classPropertyName: "swipeDirection",
270
+ publicName: "swipeDirection",
271
+ isSignal: true,
272
+ isRequired: false,
273
+ transformFunction: null
274
+ },
275
+ showSwipeHandle: {
276
+ classPropertyName: "showSwipeHandle",
277
+ publicName: "showSwipeHandle",
278
+ isSignal: true,
279
+ isRequired: false,
280
+ transformFunction: null
281
+ },
282
+ floating: {
283
+ classPropertyName: "floating",
284
+ publicName: "floating",
285
+ isSignal: true,
286
+ isRequired: false,
287
+ transformFunction: null
288
+ },
289
+ showCloseButton: {
290
+ classPropertyName: "showCloseButton",
291
+ publicName: "showCloseButton",
292
+ isSignal: true,
293
+ isRequired: false,
294
+ transformFunction: null
295
+ },
296
+ closeLabel: {
297
+ classPropertyName: "closeLabel",
298
+ publicName: "closeLabel",
299
+ isSignal: true,
300
+ isRequired: false,
301
+ transformFunction: null
302
+ }
303
+ },
304
+ providers: [{
305
+ provide: RAQM_DIALOG,
306
+ useExisting: RaqmDrawerComponent
307
+ }, {
308
+ provide: RAQM_DIALOG_POLICY,
309
+ useFactory: () => ({
310
+ role: "dialog",
311
+ contentClass: "raqm-drawer-content",
312
+ touchOpening: signal(false),
313
+ dismissOnBackdrop: true,
314
+ side: signal("bottom"),
315
+ paneClass: "raqm-drawer-overlay-pane",
316
+ backdropClass: "raqm-drawer-overlay-backdrop",
317
+ exitAnimationMs: 300
318
+ })
319
+ }],
320
+ exportAs: ["raqmDrawer"],
321
+ usesInheritance: true,
322
+ ngImport: i0,
323
+ template: "<ng-content />\r\n\r\n<ng-template #panel>\r\n <div\r\n class=\"raqm-dialog-content\"\r\n [class]=\"policy?.contentClass ?? ''\"\r\n [attr.data-raqm-side]=\"policy?.side?.() ?? null\"\r\n [attr.data-raqm-swipe-direction]=\"swipeDirection()\"\r\n [attr.data-raqm-floating]=\"floating() ? '' : null\"\r\n [attr.dir]=\"panelDir()\"\r\n [class.raqm-dialog-content--entering]=\"entering()\"\r\n [class.raqm-dialog-content--closing]=\"closing()\"\r\n raqm-drawer-swipe\r\n [direction]=\"swipeDirection()\"\r\n >\r\n @if (showSwipeHandle()) {\r\n <!-- Decorative grab affordance; the gesture itself is on the surface. -->\r\n <div class=\"raqm-drawer-swipe-handle\" data-raqm-drawer-swipe-handle aria-hidden=\"true\"></div>\r\n }\r\n\r\n <div class=\"raqm-drawer-body\">\r\n <ng-container [ngTemplateOutlet]=\"contentTemplate()\" />\r\n </div>\r\n\r\n <!-- Opt-in close control; the library ships none by default. -->\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",
324
+ 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-drawer-content{position:absolute;display:flex;flex-direction:column;gap:0;box-sizing:border-box;padding:0;border:0 solid var(--raqm-border);border-radius:0;inline-size:100%;max-inline-size:100%;max-block-size:none;background-color:var(--raqm-popover);color:var(--raqm-popover-foreground);font-size:var(--raqm-font-size-sm);line-height:1.25rem;box-shadow:none;overflow:hidden;overscroll-behavior:contain;pointer-events:auto;--raqm-drawer-exit-x: 0px;--raqm-drawer-exit-y: 0px}.raqm-dialog-content.raqm-drawer-content[data-raqm-side=bottom],.raqm-dialog-content.raqm-drawer-content[data-raqm-side=top]{inset-inline:0;block-size:auto;max-block-size:calc(100dvh - 6rem)}.raqm-dialog-content.raqm-drawer-content[data-raqm-side=bottom]{inset-block-end:0;border-block-start-width:1px;border-start-start-radius:var(--raqm-radius-xl);border-start-end-radius:var(--raqm-radius-xl);--raqm-drawer-exit-y: calc(100% + 2px) }.raqm-dialog-content.raqm-drawer-content[data-raqm-side=top]{inset-block-start:0;border-block-end-width:1px;border-end-start-radius:var(--raqm-radius-xl);border-end-end-radius:var(--raqm-radius-xl);--raqm-drawer-exit-y: calc(-100% - 2px) }.raqm-dialog-content.raqm-drawer-content[data-raqm-side=right],.raqm-dialog-content.raqm-drawer-content[data-raqm-side=left]{inset-block:0;block-size:100%;inline-size:75%;max-inline-size:75%;flex-direction:row}.raqm-dialog-content.raqm-drawer-content[data-raqm-side=right]{inset-inline-end:0;border-inline-start-width:1px;border-start-start-radius:var(--raqm-radius-xl);border-end-start-radius:var(--raqm-radius-xl);--raqm-drawer-exit-x: calc(100% + 2px) }.raqm-dialog-content.raqm-drawer-content[data-raqm-side=left]{inset-inline-start:0;border-inline-end-width:1px;border-start-end-radius:var(--raqm-radius-xl);border-end-end-radius:var(--raqm-radius-xl);--raqm-drawer-exit-x: calc(-100% - 2px) }.raqm-dialog-content.raqm-drawer-content[dir=rtl][data-raqm-side=right]{--raqm-drawer-exit-x: calc(-100% - 2px) }.raqm-dialog-content.raqm-drawer-content[dir=rtl][data-raqm-side=left]{--raqm-drawer-exit-x: calc(100% + 2px) }.raqm-dialog-content.raqm-drawer-content[data-raqm-floating]{margin:calc(var(--raqm-spacing) * 2);border-width:1px;border-radius:24px;box-shadow:var(--raqm-shadow-lg)}.raqm-dialog-content.raqm-drawer-content[data-raqm-floating][data-raqm-side=right],.raqm-dialog-content.raqm-drawer-content[data-raqm-floating][data-raqm-side=left]{block-size:auto;max-block-size:none}.raqm-dialog-content.raqm-drawer-content[data-raqm-floating][data-raqm-side=bottom],.raqm-dialog-content.raqm-drawer-content[data-raqm-floating][data-raqm-side=top]{inline-size:auto}.raqm-dialog-content.raqm-drawer-content.raqm-dialog-content--entering{animation:raqm-drawer-in var(--raqm-duration-slower) var(--raqm-ease-emphasized)}.raqm-dialog-content.raqm-drawer-content.raqm-dialog-content--closing{opacity:0;transform:translate3d(var(--raqm-drawer-exit-x),var(--raqm-drawer-exit-y),0);transition:opacity var(--raqm-duration-slower) var(--raqm-ease-emphasized),transform var(--raqm-duration-slower) var(--raqm-ease-emphasized)}.raqm-dialog-content.raqm-drawer-content[data-raqm-swiping]{transition:none;cursor:grabbing;-webkit-user-select:none;user-select:none}.raqm-dialog-content.raqm-drawer-content .raqm-dialog-close{inset-block-start:calc(var(--raqm-spacing) * 3);inset-inline-end:calc(var(--raqm-spacing) * 3)}@keyframes raqm-drawer-in{0%{opacity:0;transform:translate3d(var(--raqm-drawer-exit-x),var(--raqm-drawer-exit-y),0)}to{opacity:1;transform:none}}.raqm-drawer-body{display:flex;flex:1 1 auto;flex-direction:column;min-block-size:0;overflow-y:auto;overscroll-behavior:contain}.raqm-drawer-swipe-handle{position:relative;z-index:1;display:flex;flex:none;align-items:center;justify-content:center;cursor:grab;touch-action:none}.raqm-drawer-swipe-handle:after{content:\"\";display:block;border-radius:9999px;background-color:var(--raqm-muted)}.raqm-drawer-content[data-raqm-side=bottom] .raqm-drawer-swipe-handle,.raqm-drawer-content[data-raqm-side=top] .raqm-drawer-swipe-handle{flex-direction:row;block-size:calc(var(--raqm-spacing) * 3);inline-size:100%}.raqm-drawer-content[data-raqm-side=bottom] .raqm-drawer-swipe-handle:after,.raqm-drawer-content[data-raqm-side=top] .raqm-drawer-swipe-handle:after{block-size:calc(var(--raqm-spacing) * 1);inline-size:calc(var(--raqm-spacing) * 24)}.raqm-drawer-content[data-raqm-side=bottom] .raqm-drawer-swipe-handle{align-items:flex-end}.raqm-drawer-content[data-raqm-side=top] .raqm-drawer-swipe-handle{align-items:flex-start;order:1}.raqm-drawer-content[data-raqm-side=right] .raqm-drawer-swipe-handle,.raqm-drawer-content[data-raqm-side=left] .raqm-drawer-swipe-handle{flex-direction:column;block-size:100%;inline-size:calc(var(--raqm-spacing) * 3)}.raqm-drawer-content[data-raqm-side=right] .raqm-drawer-swipe-handle:after,.raqm-drawer-content[data-raqm-side=left] .raqm-drawer-swipe-handle:after{block-size:calc(var(--raqm-spacing) * 24);inline-size:calc(var(--raqm-spacing) * 1)}.raqm-drawer-content[data-raqm-side=left] .raqm-drawer-swipe-handle{order:1}@media(min-width:40rem){.raqm-dialog-content.raqm-drawer-content[data-raqm-side=right],.raqm-dialog-content.raqm-drawer-content[data-raqm-side=left]{inline-size:calc(var(--raqm-spacing) * 96);max-inline-size:calc(var(--raqm-spacing) * 96)}}@media(prefers-reduced-motion:reduce){.raqm-dialog-content.raqm-drawer-content{animation:none;transition:none}}@media(forced-colors:active){.raqm-dialog-content.raqm-drawer-content{border-color:CanvasText}.raqm-drawer-swipe-handle:after{background-color:CanvasText}}\n"],
325
+ dependencies: [
326
+ {
327
+ kind: "directive",
328
+ type: NgTemplateOutlet,
329
+ selector: "[ngTemplateOutlet]",
330
+ inputs: [
331
+ "ngTemplateOutletContext",
332
+ "ngTemplateOutlet",
333
+ "ngTemplateOutletInjector"
334
+ ]
335
+ },
336
+ {
337
+ kind: "component",
338
+ type: RaqmButton,
339
+ selector: "button[raqm-button], a[raqm-button]",
340
+ inputs: [
341
+ "raqm-button",
342
+ "extra-small",
343
+ "small",
344
+ "large",
345
+ "icon",
346
+ "icon-extra-small",
347
+ "icon-small",
348
+ "icon-large",
349
+ "disabled",
350
+ "tabindex"
351
+ ]
352
+ },
353
+ {
354
+ kind: "directive",
355
+ type: RaqmDrawerSwipeDirective,
356
+ selector: "[raqm-drawer-swipe]",
357
+ inputs: ["direction"]
358
+ }
359
+ ],
360
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
361
+ });
362
+ };
363
+ i0.ɵɵngDeclareClassMetadata({
364
+ minVersion: "12.0.0",
365
+ version: "22.2.2",
366
+ ngImport: i0,
367
+ type: RaqmDrawerComponent,
368
+ decorators: [{
369
+ type: Component,
370
+ args: [{
371
+ selector: "raqm-drawer",
372
+ imports: [
373
+ NgTemplateOutlet,
374
+ RaqmButton,
375
+ RaqmDrawerSwipeDirective
376
+ ],
377
+ changeDetection: ChangeDetectionStrategy.OnPush,
378
+ exportAs: "raqmDrawer",
379
+ providers: [{
380
+ provide: RAQM_DIALOG,
381
+ useExisting: RaqmDrawerComponent
382
+ }, {
383
+ provide: RAQM_DIALOG_POLICY,
384
+ useFactory: () => ({
385
+ role: "dialog",
386
+ contentClass: "raqm-drawer-content",
387
+ touchOpening: signal(false),
388
+ dismissOnBackdrop: true,
389
+ side: signal("bottom"),
390
+ paneClass: "raqm-drawer-overlay-pane",
391
+ backdropClass: "raqm-drawer-overlay-backdrop",
392
+ exitAnimationMs: 300
393
+ })
394
+ }],
395
+ template: "<ng-content />\r\n\r\n<ng-template #panel>\r\n <div\r\n class=\"raqm-dialog-content\"\r\n [class]=\"policy?.contentClass ?? ''\"\r\n [attr.data-raqm-side]=\"policy?.side?.() ?? null\"\r\n [attr.data-raqm-swipe-direction]=\"swipeDirection()\"\r\n [attr.data-raqm-floating]=\"floating() ? '' : null\"\r\n [attr.dir]=\"panelDir()\"\r\n [class.raqm-dialog-content--entering]=\"entering()\"\r\n [class.raqm-dialog-content--closing]=\"closing()\"\r\n raqm-drawer-swipe\r\n [direction]=\"swipeDirection()\"\r\n >\r\n @if (showSwipeHandle()) {\r\n <!-- Decorative grab affordance; the gesture itself is on the surface. -->\r\n <div class=\"raqm-drawer-swipe-handle\" data-raqm-drawer-swipe-handle aria-hidden=\"true\"></div>\r\n }\r\n\r\n <div class=\"raqm-drawer-body\">\r\n <ng-container [ngTemplateOutlet]=\"contentTemplate()\" />\r\n </div>\r\n\r\n <!-- Opt-in close control; the library ships none by default. -->\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",
396
+ 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-drawer-content{position:absolute;display:flex;flex-direction:column;gap:0;box-sizing:border-box;padding:0;border:0 solid var(--raqm-border);border-radius:0;inline-size:100%;max-inline-size:100%;max-block-size:none;background-color:var(--raqm-popover);color:var(--raqm-popover-foreground);font-size:var(--raqm-font-size-sm);line-height:1.25rem;box-shadow:none;overflow:hidden;overscroll-behavior:contain;pointer-events:auto;--raqm-drawer-exit-x: 0px;--raqm-drawer-exit-y: 0px}.raqm-dialog-content.raqm-drawer-content[data-raqm-side=bottom],.raqm-dialog-content.raqm-drawer-content[data-raqm-side=top]{inset-inline:0;block-size:auto;max-block-size:calc(100dvh - 6rem)}.raqm-dialog-content.raqm-drawer-content[data-raqm-side=bottom]{inset-block-end:0;border-block-start-width:1px;border-start-start-radius:var(--raqm-radius-xl);border-start-end-radius:var(--raqm-radius-xl);--raqm-drawer-exit-y: calc(100% + 2px) }.raqm-dialog-content.raqm-drawer-content[data-raqm-side=top]{inset-block-start:0;border-block-end-width:1px;border-end-start-radius:var(--raqm-radius-xl);border-end-end-radius:var(--raqm-radius-xl);--raqm-drawer-exit-y: calc(-100% - 2px) }.raqm-dialog-content.raqm-drawer-content[data-raqm-side=right],.raqm-dialog-content.raqm-drawer-content[data-raqm-side=left]{inset-block:0;block-size:100%;inline-size:75%;max-inline-size:75%;flex-direction:row}.raqm-dialog-content.raqm-drawer-content[data-raqm-side=right]{inset-inline-end:0;border-inline-start-width:1px;border-start-start-radius:var(--raqm-radius-xl);border-end-start-radius:var(--raqm-radius-xl);--raqm-drawer-exit-x: calc(100% + 2px) }.raqm-dialog-content.raqm-drawer-content[data-raqm-side=left]{inset-inline-start:0;border-inline-end-width:1px;border-start-end-radius:var(--raqm-radius-xl);border-end-end-radius:var(--raqm-radius-xl);--raqm-drawer-exit-x: calc(-100% - 2px) }.raqm-dialog-content.raqm-drawer-content[dir=rtl][data-raqm-side=right]{--raqm-drawer-exit-x: calc(-100% - 2px) }.raqm-dialog-content.raqm-drawer-content[dir=rtl][data-raqm-side=left]{--raqm-drawer-exit-x: calc(100% + 2px) }.raqm-dialog-content.raqm-drawer-content[data-raqm-floating]{margin:calc(var(--raqm-spacing) * 2);border-width:1px;border-radius:24px;box-shadow:var(--raqm-shadow-lg)}.raqm-dialog-content.raqm-drawer-content[data-raqm-floating][data-raqm-side=right],.raqm-dialog-content.raqm-drawer-content[data-raqm-floating][data-raqm-side=left]{block-size:auto;max-block-size:none}.raqm-dialog-content.raqm-drawer-content[data-raqm-floating][data-raqm-side=bottom],.raqm-dialog-content.raqm-drawer-content[data-raqm-floating][data-raqm-side=top]{inline-size:auto}.raqm-dialog-content.raqm-drawer-content.raqm-dialog-content--entering{animation:raqm-drawer-in var(--raqm-duration-slower) var(--raqm-ease-emphasized)}.raqm-dialog-content.raqm-drawer-content.raqm-dialog-content--closing{opacity:0;transform:translate3d(var(--raqm-drawer-exit-x),var(--raqm-drawer-exit-y),0);transition:opacity var(--raqm-duration-slower) var(--raqm-ease-emphasized),transform var(--raqm-duration-slower) var(--raqm-ease-emphasized)}.raqm-dialog-content.raqm-drawer-content[data-raqm-swiping]{transition:none;cursor:grabbing;-webkit-user-select:none;user-select:none}.raqm-dialog-content.raqm-drawer-content .raqm-dialog-close{inset-block-start:calc(var(--raqm-spacing) * 3);inset-inline-end:calc(var(--raqm-spacing) * 3)}@keyframes raqm-drawer-in{0%{opacity:0;transform:translate3d(var(--raqm-drawer-exit-x),var(--raqm-drawer-exit-y),0)}to{opacity:1;transform:none}}.raqm-drawer-body{display:flex;flex:1 1 auto;flex-direction:column;min-block-size:0;overflow-y:auto;overscroll-behavior:contain}.raqm-drawer-swipe-handle{position:relative;z-index:1;display:flex;flex:none;align-items:center;justify-content:center;cursor:grab;touch-action:none}.raqm-drawer-swipe-handle:after{content:\"\";display:block;border-radius:9999px;background-color:var(--raqm-muted)}.raqm-drawer-content[data-raqm-side=bottom] .raqm-drawer-swipe-handle,.raqm-drawer-content[data-raqm-side=top] .raqm-drawer-swipe-handle{flex-direction:row;block-size:calc(var(--raqm-spacing) * 3);inline-size:100%}.raqm-drawer-content[data-raqm-side=bottom] .raqm-drawer-swipe-handle:after,.raqm-drawer-content[data-raqm-side=top] .raqm-drawer-swipe-handle:after{block-size:calc(var(--raqm-spacing) * 1);inline-size:calc(var(--raqm-spacing) * 24)}.raqm-drawer-content[data-raqm-side=bottom] .raqm-drawer-swipe-handle{align-items:flex-end}.raqm-drawer-content[data-raqm-side=top] .raqm-drawer-swipe-handle{align-items:flex-start;order:1}.raqm-drawer-content[data-raqm-side=right] .raqm-drawer-swipe-handle,.raqm-drawer-content[data-raqm-side=left] .raqm-drawer-swipe-handle{flex-direction:column;block-size:100%;inline-size:calc(var(--raqm-spacing) * 3)}.raqm-drawer-content[data-raqm-side=right] .raqm-drawer-swipe-handle:after,.raqm-drawer-content[data-raqm-side=left] .raqm-drawer-swipe-handle:after{block-size:calc(var(--raqm-spacing) * 24);inline-size:calc(var(--raqm-spacing) * 1)}.raqm-drawer-content[data-raqm-side=left] .raqm-drawer-swipe-handle{order:1}@media(min-width:40rem){.raqm-dialog-content.raqm-drawer-content[data-raqm-side=right],.raqm-dialog-content.raqm-drawer-content[data-raqm-side=left]{inline-size:calc(var(--raqm-spacing) * 96);max-inline-size:calc(var(--raqm-spacing) * 96)}}@media(prefers-reduced-motion:reduce){.raqm-dialog-content.raqm-drawer-content{animation:none;transition:none}}@media(forced-colors:active){.raqm-dialog-content.raqm-drawer-content{border-color:CanvasText}.raqm-drawer-swipe-handle:after{background-color:CanvasText}}\n"]
397
+ }]
398
+ }],
399
+ ctorParameters: () => [],
400
+ propDecorators: {
401
+ swipeDirection: [{
402
+ type: i0.Input,
403
+ args: [{
404
+ isSignal: true,
405
+ alias: "swipeDirection",
406
+ required: false
407
+ }]
408
+ }],
409
+ showSwipeHandle: [{
410
+ type: i0.Input,
411
+ args: [{
412
+ isSignal: true,
413
+ alias: "showSwipeHandle",
414
+ required: false
415
+ }]
416
+ }],
417
+ floating: [{
418
+ type: i0.Input,
419
+ args: [{
420
+ isSignal: true,
421
+ alias: "floating",
422
+ required: false
423
+ }]
424
+ }],
425
+ showCloseButton: [{
426
+ type: i0.Input,
427
+ args: [{
428
+ isSignal: true,
429
+ alias: "showCloseButton",
430
+ required: false
431
+ }]
432
+ }],
433
+ closeLabel: [{
434
+ type: i0.Input,
435
+ args: [{
436
+ isSignal: true,
437
+ alias: "closeLabel",
438
+ required: false
439
+ }]
440
+ }]
441
+ }
442
+ });
443
+ var RaqmDrawerTriggerDirective = class RaqmDrawerTriggerDirective extends RaqmDialogTriggerDirective {
444
+ static ɵfac = i0.ɵɵngDeclareFactory({
445
+ minVersion: "12.0.0",
446
+ version: "22.2.2",
447
+ ngImport: i0,
448
+ type: RaqmDrawerTriggerDirective,
449
+ deps: null,
450
+ target: i0.ɵɵFactoryTarget.Directive
451
+ });
452
+ static ɵdir = i0.ɵɵngDeclareDirective({
453
+ minVersion: "14.0.0",
454
+ version: "22.2.2",
455
+ type: RaqmDrawerTriggerDirective,
456
+ isStandalone: true,
457
+ selector: "button[raqm-drawer-trigger]",
458
+ host: { classAttribute: "raqm-drawer-trigger" },
459
+ usesInheritance: true,
460
+ ngImport: i0
461
+ });
462
+ };
463
+ i0.ɵɵngDeclareClassMetadata({
464
+ minVersion: "12.0.0",
465
+ version: "22.2.2",
466
+ ngImport: i0,
467
+ type: RaqmDrawerTriggerDirective,
468
+ decorators: [{
469
+ type: Directive,
470
+ args: [{
471
+ selector: "button[raqm-drawer-trigger]",
472
+ host: { class: "raqm-drawer-trigger" }
473
+ }]
474
+ }]
475
+ });
476
+ var RaqmDrawerCloseDirective = class RaqmDrawerCloseDirective {
477
+ static ɵfac = i0.ɵɵngDeclareFactory({
478
+ minVersion: "12.0.0",
479
+ version: "22.2.2",
480
+ ngImport: i0,
481
+ type: RaqmDrawerCloseDirective,
482
+ deps: [],
483
+ target: i0.ɵɵFactoryTarget.Directive
484
+ });
485
+ static ɵdir = i0.ɵɵngDeclareDirective({
486
+ minVersion: "14.0.0",
487
+ version: "22.2.2",
488
+ type: RaqmDrawerCloseDirective,
489
+ isStandalone: true,
490
+ selector: "button[raqm-drawer-close]",
491
+ host: { classAttribute: "raqm-drawer-close-control" },
492
+ hostDirectives: [{ directive: i1.RaqmDialogCloseDirective }],
493
+ ngImport: i0
494
+ });
495
+ };
496
+ i0.ɵɵngDeclareClassMetadata({
497
+ minVersion: "12.0.0",
498
+ version: "22.2.2",
499
+ ngImport: i0,
500
+ type: RaqmDrawerCloseDirective,
501
+ decorators: [{
502
+ type: Directive,
503
+ args: [{
504
+ selector: "button[raqm-drawer-close]",
505
+ hostDirectives: [RaqmDialogCloseDirective],
506
+ host: { class: "raqm-drawer-close-control" }
507
+ }]
508
+ }]
509
+ });
510
+ var RaqmDrawerContentDirective = class RaqmDrawerContentDirective extends RaqmDialogContentDirective {
511
+ static ɵfac = i0.ɵɵngDeclareFactory({
512
+ minVersion: "12.0.0",
513
+ version: "22.2.2",
514
+ ngImport: i0,
515
+ type: RaqmDrawerContentDirective,
516
+ deps: null,
517
+ target: i0.ɵɵFactoryTarget.Directive
518
+ });
519
+ static ɵdir = i0.ɵɵngDeclareDirective({
520
+ minVersion: "14.0.0",
521
+ version: "22.2.2",
522
+ type: RaqmDrawerContentDirective,
523
+ isStandalone: true,
524
+ selector: "ng-template[raqm-drawer-content]",
525
+ exportAs: ["raqmDrawerContent"],
526
+ usesInheritance: true,
527
+ ngImport: i0
528
+ });
529
+ };
530
+ i0.ɵɵngDeclareClassMetadata({
531
+ minVersion: "12.0.0",
532
+ version: "22.2.2",
533
+ ngImport: i0,
534
+ type: RaqmDrawerContentDirective,
535
+ decorators: [{
536
+ type: Directive,
537
+ args: [{
538
+ selector: "ng-template[raqm-drawer-content]",
539
+ exportAs: "raqmDrawerContent"
540
+ }]
541
+ }]
542
+ });
543
+ var RaqmDrawerHeaderDirective = class RaqmDrawerHeaderDirective {
544
+ static ɵfac = i0.ɵɵngDeclareFactory({
545
+ minVersion: "12.0.0",
546
+ version: "22.2.2",
547
+ ngImport: i0,
548
+ type: RaqmDrawerHeaderDirective,
549
+ deps: [],
550
+ target: i0.ɵɵFactoryTarget.Directive
551
+ });
552
+ static ɵdir = i0.ɵɵngDeclareDirective({
553
+ minVersion: "14.0.0",
554
+ version: "22.2.2",
555
+ type: RaqmDrawerHeaderDirective,
556
+ isStandalone: true,
557
+ selector: "[raqm-drawer-header]",
558
+ host: { classAttribute: "raqm-drawer-header" },
559
+ ngImport: i0
560
+ });
561
+ };
562
+ i0.ɵɵngDeclareClassMetadata({
563
+ minVersion: "12.0.0",
564
+ version: "22.2.2",
565
+ ngImport: i0,
566
+ type: RaqmDrawerHeaderDirective,
567
+ decorators: [{
568
+ type: Directive,
569
+ args: [{
570
+ selector: "[raqm-drawer-header]",
571
+ host: { class: "raqm-drawer-header" }
572
+ }]
573
+ }]
574
+ });
575
+ var RaqmDrawerFooterDirective = class RaqmDrawerFooterDirective {
576
+ static ɵfac = i0.ɵɵngDeclareFactory({
577
+ minVersion: "12.0.0",
578
+ version: "22.2.2",
579
+ ngImport: i0,
580
+ type: RaqmDrawerFooterDirective,
581
+ deps: [],
582
+ target: i0.ɵɵFactoryTarget.Directive
583
+ });
584
+ static ɵdir = i0.ɵɵngDeclareDirective({
585
+ minVersion: "14.0.0",
586
+ version: "22.2.2",
587
+ type: RaqmDrawerFooterDirective,
588
+ isStandalone: true,
589
+ selector: "[raqm-drawer-footer]",
590
+ host: { classAttribute: "raqm-drawer-footer" },
591
+ ngImport: i0
592
+ });
593
+ };
594
+ i0.ɵɵngDeclareClassMetadata({
595
+ minVersion: "12.0.0",
596
+ version: "22.2.2",
597
+ ngImport: i0,
598
+ type: RaqmDrawerFooterDirective,
599
+ decorators: [{
600
+ type: Directive,
601
+ args: [{
602
+ selector: "[raqm-drawer-footer]",
603
+ host: { class: "raqm-drawer-footer" }
604
+ }]
605
+ }]
606
+ });
607
+ var RaqmDrawerTitleDirective = class RaqmDrawerTitleDirective {
608
+ static ɵfac = i0.ɵɵngDeclareFactory({
609
+ minVersion: "12.0.0",
610
+ version: "22.2.2",
611
+ ngImport: i0,
612
+ type: RaqmDrawerTitleDirective,
613
+ deps: [],
614
+ target: i0.ɵɵFactoryTarget.Directive
615
+ });
616
+ static ɵdir = i0.ɵɵngDeclareDirective({
617
+ minVersion: "14.0.0",
618
+ version: "22.2.2",
619
+ type: RaqmDrawerTitleDirective,
620
+ isStandalone: true,
621
+ selector: "[raqm-drawer-title]",
622
+ host: { classAttribute: "raqm-drawer-title" },
623
+ hostDirectives: [{ directive: i1.RaqmDialogTitleDirective }],
624
+ ngImport: i0
625
+ });
626
+ };
627
+ i0.ɵɵngDeclareClassMetadata({
628
+ minVersion: "12.0.0",
629
+ version: "22.2.2",
630
+ ngImport: i0,
631
+ type: RaqmDrawerTitleDirective,
632
+ decorators: [{
633
+ type: Directive,
634
+ args: [{
635
+ selector: "[raqm-drawer-title]",
636
+ hostDirectives: [RaqmDialogTitleDirective],
637
+ host: { class: "raqm-drawer-title" }
638
+ }]
639
+ }]
640
+ });
641
+ var RaqmDrawerDescriptionDirective = class RaqmDrawerDescriptionDirective {
642
+ static ɵfac = i0.ɵɵngDeclareFactory({
643
+ minVersion: "12.0.0",
644
+ version: "22.2.2",
645
+ ngImport: i0,
646
+ type: RaqmDrawerDescriptionDirective,
647
+ deps: [],
648
+ target: i0.ɵɵFactoryTarget.Directive
649
+ });
650
+ static ɵdir = i0.ɵɵngDeclareDirective({
651
+ minVersion: "14.0.0",
652
+ version: "22.2.2",
653
+ type: RaqmDrawerDescriptionDirective,
654
+ isStandalone: true,
655
+ selector: "[raqm-drawer-description]",
656
+ host: { classAttribute: "raqm-drawer-description" },
657
+ hostDirectives: [{ directive: i1.RaqmDialogDescriptionDirective }],
658
+ ngImport: i0
659
+ });
660
+ };
661
+ i0.ɵɵngDeclareClassMetadata({
662
+ minVersion: "12.0.0",
663
+ version: "22.2.2",
664
+ ngImport: i0,
665
+ type: RaqmDrawerDescriptionDirective,
666
+ decorators: [{
667
+ type: Directive,
668
+ args: [{
669
+ selector: "[raqm-drawer-description]",
670
+ hostDirectives: [RaqmDialogDescriptionDirective],
671
+ host: { class: "raqm-drawer-description" }
672
+ }]
673
+ }]
674
+ });
675
+ const RaqmDrawer = [
676
+ RaqmDrawerComponent,
677
+ RaqmDrawerTriggerDirective,
678
+ RaqmDrawerCloseDirective,
679
+ RaqmDrawerContentDirective,
680
+ RaqmDrawerHeaderDirective,
681
+ RaqmDrawerFooterDirective,
682
+ RaqmDrawerTitleDirective,
683
+ RaqmDrawerDescriptionDirective
684
+ ];
685
+ export { RaqmDrawer, RaqmDrawerCloseDirective, RaqmDrawerComponent, RaqmDrawerContentDirective, RaqmDrawerDescriptionDirective, RaqmDrawerFooterDirective, RaqmDrawerHeaderDirective, RaqmDrawerTitleDirective, RaqmDrawerTriggerDirective };
686
+
687
+ //# sourceMappingURL=raqm-ui-drawer.mjs.map