@pathscale/ui 1.1.54 → 1.1.55

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.
@@ -2,43 +2,198 @@ import * as __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__ from "solid-js/web
2
2
  import "./Drawer.css";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__ from "solid-js";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__ from "tailwind-merge";
5
+ import * as __WEBPACK_EXTERNAL_MODULE__Drawer_a11y_js_eed6fb4e__ from "./Drawer.a11y.js";
5
6
  import * as __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__ from "./Drawer.classes.js";
6
- var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<button>"), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<h2>"), _tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div><div data-slot=drawer-handle-bar>"), _tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span>"), _tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span data-slot=drawer-close>");
7
- const DrawerContext = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createContext)();
8
- const useDrawerContext = ()=>{
9
- const ctx = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.useContext)(DrawerContext);
10
- if (!ctx) throw new Error("Drawer compound components must be used within <Drawer>");
11
- return ctx;
7
+ import * as __WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__ from "./Drawer.context.js";
8
+ var _tmpl$ = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div>"), _tmpl$2 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<button>"), _tmpl$3 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<h2>"), _tmpl$4 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<div><div data-slot=drawer-handle-bar>"), _tmpl$5 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span>"), _tmpl$6 = /*#__PURE__*/ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.template)("<span data-slot=drawer-close>");
9
+ let bodyLockCount = 0;
10
+ let prevBodyOverflow = "";
11
+ let prevBodyPaddingRight = "";
12
+ const lockBodyScroll = ()=>{
13
+ if (0 === bodyLockCount) {
14
+ prevBodyOverflow = document.body.style.overflow;
15
+ prevBodyPaddingRight = document.body.style.paddingRight;
16
+ const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
17
+ if (scrollbarWidth > 0) document.body.style.paddingRight = `${scrollbarWidth}px`;
18
+ document.body.style.overflow = "hidden";
19
+ }
20
+ bodyLockCount += 1;
12
21
  };
22
+ const unlockBodyScroll = ()=>{
23
+ if (bodyLockCount <= 0) return;
24
+ bodyLockCount -= 1;
25
+ if (0 === bodyLockCount) {
26
+ document.body.style.overflow = prevBodyOverflow;
27
+ document.body.style.paddingRight = prevBodyPaddingRight;
28
+ }
29
+ };
30
+ const EXIT_MS = 200;
13
31
  const DrawerRoot = (props)=>{
14
- const [local, _others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
32
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
15
33
  "children",
34
+ "class",
35
+ "className",
36
+ "dataTheme",
37
+ "style",
16
38
  "isOpen",
17
39
  "defaultOpen",
18
40
  "onOpenChange",
19
- "dataTheme",
20
- "class",
21
- "className",
22
- "style"
41
+ "placement",
42
+ "size",
43
+ "backdrop",
44
+ "scrollBehavior",
45
+ "isDismissable",
46
+ "shouldCloseOnEsc",
47
+ "shouldCloseOnBackdropClick",
48
+ "trapFocus",
49
+ "restoreFocus"
23
50
  ]);
24
51
  const [internalOpen, setInternalOpen] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(Boolean(local.defaultOpen));
52
+ const [animState, setAnimState] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(Boolean(local.isOpen ?? local.defaultOpen) ? "open" : "closed");
53
+ const [dialogRef, setDialogRef] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)();
54
+ const [labelledBy, setLabelledBy] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)();
55
+ const [describedBy, setDescribedBy] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)();
56
+ const [placementOverride, setPlacementOverride] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(void 0);
57
+ const [backdropDismissableOverride, setBackdropDismissableOverride] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(void 0);
58
+ const [backdropCloseOnClickOverride, setBackdropCloseOnClickOverride] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)(void 0);
25
59
  const isControlled = ()=>void 0 !== local.isOpen;
26
60
  const isOpen = ()=>isControlled() ? Boolean(local.isOpen) : internalOpen();
27
- const setIsOpen = (v)=>{
28
- if (!isControlled()) setInternalOpen(v);
29
- local.onOpenChange?.(v);
61
+ const placement = ()=>placementOverride() ?? local.placement ?? "bottom";
62
+ const size = ()=>local.size ?? "md";
63
+ const backdrop = ()=>local.backdrop ?? "opaque";
64
+ const scrollBehavior = ()=>local.scrollBehavior ?? "inside";
65
+ const isDismissable = ()=>backdropDismissableOverride() ?? local.isDismissable ?? true;
66
+ const shouldCloseOnEsc = ()=>local.shouldCloseOnEsc ?? true;
67
+ const shouldCloseOnBackdropClick = ()=>backdropCloseOnClickOverride() ?? local.shouldCloseOnBackdropClick ?? true;
68
+ const trapFocusEnabled = ()=>local.trapFocus ?? true;
69
+ const restoreFocusEnabled = ()=>local.restoreFocus ?? true;
70
+ const setIsOpen = (next)=>{
71
+ if (next === isOpen()) return;
72
+ if (!isControlled()) setInternalOpen(next);
73
+ local.onOpenChange?.(next);
74
+ };
75
+ const requestClose = (reason)=>{
76
+ if (!isDismissable()) return;
77
+ if ("escape" === reason && !shouldCloseOnEsc()) return;
78
+ if ("backdrop" === reason && !shouldCloseOnBackdropClick()) return;
79
+ setIsOpen(false);
30
80
  };
31
- const ctx = {
81
+ let exitTimer;
82
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
83
+ const open = isOpen();
84
+ const state = animState();
85
+ if (open) {
86
+ if (exitTimer) {
87
+ clearTimeout(exitTimer);
88
+ exitTimer = void 0;
89
+ }
90
+ if ("closed" === state || "exiting" === state) {
91
+ setAnimState("entering");
92
+ requestAnimationFrame(()=>{
93
+ requestAnimationFrame(()=>setAnimState("open"));
94
+ });
95
+ }
96
+ return;
97
+ }
98
+ if ("open" === state || "entering" === state) {
99
+ setAnimState("exiting");
100
+ exitTimer = setTimeout(()=>setAnimState("closed"), EXIT_MS);
101
+ }
102
+ });
103
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
104
+ if (exitTimer) clearTimeout(exitTimer);
105
+ });
106
+ let hasScrollLock = false;
107
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
108
+ const visible = (0, __WEBPACK_EXTERNAL_MODULE__Drawer_a11y_js_eed6fb4e__.isVisibleState)(animState());
109
+ if (visible && !hasScrollLock) {
110
+ lockBodyScroll();
111
+ hasScrollLock = true;
112
+ } else if (!visible && hasScrollLock) {
113
+ unlockBodyScroll();
114
+ hasScrollLock = false;
115
+ }
116
+ });
117
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
118
+ if (hasScrollLock) unlockBodyScroll();
119
+ });
120
+ let restoreFocusTarget = null;
121
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
122
+ const state = animState();
123
+ const dialog = dialogRef();
124
+ if (!(0, __WEBPACK_EXTERNAL_MODULE__Drawer_a11y_js_eed6fb4e__.isVisibleState)(state) || !dialog) return;
125
+ if (!restoreFocusTarget) {
126
+ const active = document.activeElement;
127
+ if (active instanceof HTMLElement) restoreFocusTarget = active;
128
+ }
129
+ queueMicrotask(()=>{
130
+ if (trapFocusEnabled() && !dialog.contains(document.activeElement)) (0, __WEBPACK_EXTERNAL_MODULE__Drawer_a11y_js_eed6fb4e__.focusFirst)(dialog);
131
+ });
132
+ const onKeyDown = (event)=>{
133
+ if (!(0, __WEBPACK_EXTERNAL_MODULE__Drawer_a11y_js_eed6fb4e__.isVisibleState)(animState())) return;
134
+ if ("Escape" === event.key) {
135
+ event.preventDefault();
136
+ requestClose("escape");
137
+ return;
138
+ }
139
+ if ("Tab" === event.key && trapFocusEnabled()) (0, __WEBPACK_EXTERNAL_MODULE__Drawer_a11y_js_eed6fb4e__.trapFocus)(event, dialog);
140
+ };
141
+ document.addEventListener("keydown", onKeyDown);
142
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>document.removeEventListener("keydown", onKeyDown));
143
+ });
144
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
145
+ if ("closed" !== animState() || !restoreFocusEnabled()) return;
146
+ if (!restoreFocusTarget) return;
147
+ queueMicrotask(()=>{
148
+ restoreFocusTarget?.focus?.();
149
+ restoreFocusTarget = null;
150
+ });
151
+ });
152
+ const contextValue = {
32
153
  isOpen,
33
154
  setIsOpen,
34
- placement: ()=>"bottom",
35
- isDismissable: ()=>true,
36
- animState: ()=>"closed"
155
+ requestClose,
156
+ animState,
157
+ placement,
158
+ size,
159
+ backdrop,
160
+ scrollBehavior,
161
+ isDismissable,
162
+ shouldCloseOnEsc,
163
+ shouldCloseOnBackdropClick,
164
+ trapFocus: trapFocusEnabled,
165
+ restoreFocus: restoreFocusEnabled,
166
+ dialogRef,
167
+ setDialogRef,
168
+ labelledBy,
169
+ setLabelledBy,
170
+ describedBy,
171
+ setDescribedBy,
172
+ setPlacementOverride,
173
+ setBackdropDismissableOverride,
174
+ setBackdropCloseOnClickOverride
37
175
  };
38
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(DrawerContext.Provider, {
39
- value: ctx,
176
+ return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__.DrawerContext.Provider, {
177
+ value: contextValue,
40
178
  get children () {
41
- return local.children;
179
+ var _el$ = _tmpl$();
180
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
181
+ get ["class"] () {
182
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Root.base, isOpen() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Root.state.open, "entering" === animState() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Root.state.entering, "exiting" === animState() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Root.state.exiting, "closed" === animState() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Root.state.closed, local.class, local.className);
183
+ },
184
+ "data-slot": "drawer-root",
185
+ get ["data-open"] () {
186
+ return (0, __WEBPACK_EXTERNAL_MODULE__Drawer_a11y_js_eed6fb4e__.isVisibleState)(animState()) ? "true" : "false";
187
+ },
188
+ get ["data-theme"] () {
189
+ return local.dataTheme;
190
+ },
191
+ get style () {
192
+ return local.style;
193
+ }
194
+ }), false, true);
195
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
196
+ return _el$;
42
197
  }
43
198
  });
44
199
  };
@@ -51,18 +206,18 @@ const DrawerTrigger = (props)=>{
51
206
  "style",
52
207
  "onClick"
53
208
  ]);
54
- const ctx = useDrawerContext();
55
- const handleClick = (e)=>{
209
+ const ctx = (0, __WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__.useDrawerContext)();
210
+ const handleClick = (event)=>{
56
211
  ctx.setIsOpen(true);
57
- if ("function" == typeof local.onClick) local.onClick(e);
212
+ if ("function" == typeof local.onClick) local.onClick(event);
58
213
  };
59
214
  return (()=>{
60
- var _el$ = _tmpl$();
61
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
62
- type: "button"
63
- }, ()=>({
64
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.trigger, local.class, local.className)
65
- }), {
215
+ var _el$2 = _tmpl$2();
216
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
217
+ type: "button",
218
+ get ["class"] () {
219
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Trigger.base, local.class, local.className);
220
+ },
66
221
  "data-slot": "drawer-trigger",
67
222
  get ["data-theme"] () {
68
223
  return local.dataTheme;
@@ -72,14 +227,57 @@ const DrawerTrigger = (props)=>{
72
227
  },
73
228
  onClick: handleClick
74
229
  }), false, true);
75
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$, ()=>local.children);
76
- return _el$;
230
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>local.children);
231
+ return _el$2;
77
232
  })();
78
233
  };
79
- const BACKDROP_VARIANT_MAP = {
80
- opaque: __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.backdrop.opaque,
81
- blur: __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.backdrop.blur,
82
- transparent: __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.backdrop.transparent
234
+ const DrawerContent = (props)=>{
235
+ const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
236
+ "children",
237
+ "class",
238
+ "className",
239
+ "dataTheme",
240
+ "style",
241
+ "placement",
242
+ "scrollBehavior"
243
+ ]);
244
+ const ctx = (0, __WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__.useDrawerContext)();
245
+ const placement = ()=>local.placement ?? ctx.placement();
246
+ const scrollBehavior = ()=>local.scrollBehavior ?? ctx.scrollBehavior();
247
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
248
+ if (void 0 === local.placement) return;
249
+ ctx.setPlacementOverride(local.placement);
250
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>ctx.setPlacementOverride(void 0));
251
+ });
252
+ return (()=>{
253
+ var _el$3 = _tmpl$();
254
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$3, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
255
+ get ["class"] () {
256
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Content.base, __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Content.placement[placement()], __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Content.scroll[scrollBehavior()], "entering" === ctx.animState() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Content.state.entering, "exiting" === ctx.animState() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Content.state.exiting, local.class, local.className);
257
+ },
258
+ "data-slot": "drawer-content",
259
+ get ["data-placement"] () {
260
+ return placement();
261
+ },
262
+ get ["data-scroll"] () {
263
+ return scrollBehavior();
264
+ },
265
+ get ["data-entering"] () {
266
+ return "entering" === ctx.animState() ? "true" : void 0;
267
+ },
268
+ get ["data-exiting"] () {
269
+ return "exiting" === ctx.animState() ? "true" : void 0;
270
+ },
271
+ get ["data-theme"] () {
272
+ return local.dataTheme;
273
+ },
274
+ get style () {
275
+ return local.style;
276
+ }
277
+ }), false, true);
278
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>local.children);
279
+ return _el$3;
280
+ })();
83
281
  };
84
282
  const DrawerBackdrop = (props)=>{
85
283
  const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
@@ -90,144 +288,61 @@ const DrawerBackdrop = (props)=>{
90
288
  "style",
91
289
  "variant",
92
290
  "isDismissable",
291
+ "shouldCloseOnBackdropClick",
93
292
  "onClick"
94
293
  ]);
95
- const ctx = useDrawerContext();
96
- const variant = ()=>local.variant ?? "opaque";
97
- const isDismissable = ()=>false !== local.isDismissable;
98
- const [animState, setAnimState] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createSignal)("closed");
294
+ const ctx = (0, __WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__.useDrawerContext)();
295
+ const variant = ()=>local.variant ?? ctx.backdrop();
99
296
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
100
- if (ctx.isOpen()) {
101
- setAnimState("entering");
102
- requestAnimationFrame(()=>{
103
- requestAnimationFrame(()=>setAnimState("open"));
104
- });
105
- } else if ("open" === animState() || "entering" === animState()) setAnimState("exiting");
106
- });
107
- const handleTransitionEnd = ()=>{
108
- if ("exiting" === animState()) setAnimState("closed");
109
- };
110
- const handleBackdropClick = (e)=>{
111
- if (e.target === e.currentTarget && isDismissable()) ctx.setIsOpen(false);
112
- if ("function" == typeof local.onClick) local.onClick(e);
113
- };
114
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
115
- const state = animState();
116
- if ("entering" === state || "open" === state) {
117
- const prev = document.body.style.overflow;
118
- document.body.style.overflow = "hidden";
119
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
120
- document.body.style.overflow = prev;
121
- });
297
+ if (void 0 !== local.isDismissable) {
298
+ ctx.setBackdropDismissableOverride(local.isDismissable);
299
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>ctx.setBackdropDismissableOverride(void 0));
122
300
  }
123
301
  });
124
302
  (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
125
- if (!ctx.isOpen() || !isDismissable()) return;
126
- const handler = (e)=>{
127
- if ("Escape" === e.key) ctx.setIsOpen(false);
128
- };
129
- document.addEventListener("keydown", handler);
130
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>document.removeEventListener("keydown", handler));
303
+ if (void 0 !== local.shouldCloseOnBackdropClick) {
304
+ ctx.setBackdropCloseOnClickOverride(local.shouldCloseOnBackdropClick);
305
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>ctx.setBackdropCloseOnClickOverride(void 0));
306
+ }
131
307
  });
132
- const updatedCtx = {
133
- isOpen: ctx.isOpen,
134
- setIsOpen: ctx.setIsOpen,
135
- placement: ctx.placement,
136
- isDismissable,
137
- animState
308
+ const handleClick = (event)=>{
309
+ if (event.target === event.currentTarget) ctx.requestClose("backdrop");
310
+ if ("function" == typeof local.onClick) local.onClick(event);
138
311
  };
139
312
  return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.Show, {
140
313
  get when () {
141
- return "closed" !== animState();
314
+ return "closed" !== ctx.animState();
142
315
  },
143
316
  get children () {
144
317
  return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(__WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.Portal, {
145
318
  get children () {
146
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(DrawerContext.Provider, {
147
- value: updatedCtx,
148
- get children () {
149
- var _el$2 = _tmpl$2();
150
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$2, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
151
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.backdrop, BACKDROP_VARIANT_MAP[variant()], local.class, local.className)
152
- }), {
153
- "data-slot": "drawer-backdrop",
154
- get ["data-entering"] () {
155
- return "entering" === animState() ? "true" : void 0;
156
- },
157
- get ["data-exiting"] () {
158
- return "exiting" === animState() ? "true" : void 0;
159
- },
160
- get ["data-theme"] () {
161
- return local.dataTheme;
162
- },
163
- get style () {
164
- return local.style;
165
- },
166
- onClick: handleBackdropClick,
167
- onTransitionEnd: handleTransitionEnd
168
- }), false, true);
169
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$2, ()=>local.children);
170
- return _el$2;
171
- }
172
- });
319
+ var _el$4 = _tmpl$();
320
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$4, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
321
+ get ["class"] () {
322
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Backdrop.base, __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Backdrop.variant[variant()], "entering" === ctx.animState() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Backdrop.state.entering, "exiting" === ctx.animState() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Backdrop.state.exiting, local.class, local.className);
323
+ },
324
+ "data-slot": "drawer-backdrop",
325
+ get ["data-entering"] () {
326
+ return "entering" === ctx.animState() ? "true" : void 0;
327
+ },
328
+ get ["data-exiting"] () {
329
+ return "exiting" === ctx.animState() ? "true" : void 0;
330
+ },
331
+ get ["data-theme"] () {
332
+ return local.dataTheme;
333
+ },
334
+ get style () {
335
+ return local.style;
336
+ },
337
+ onClick: handleClick
338
+ }), false, true);
339
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>local.children);
340
+ return _el$4;
173
341
  }
174
342
  });
175
343
  }
176
344
  });
177
345
  };
178
- const PLACEMENT_CLASS_MAP = {
179
- top: __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.placement.top,
180
- bottom: __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.placement.bottom,
181
- left: __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.placement.left,
182
- right: __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.placement.right
183
- };
184
- const DrawerContent = (props)=>{
185
- const [local, others] = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.splitProps)(props, [
186
- "children",
187
- "class",
188
- "className",
189
- "dataTheme",
190
- "style",
191
- "placement"
192
- ]);
193
- const parentCtx = useDrawerContext();
194
- const placement = ()=>local.placement ?? "bottom";
195
- const updatedCtx = {
196
- isOpen: parentCtx.isOpen,
197
- setIsOpen: parentCtx.setIsOpen,
198
- isDismissable: parentCtx.isDismissable,
199
- animState: parentCtx.animState,
200
- placement
201
- };
202
- return (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.createComponent)(DrawerContext.Provider, {
203
- value: updatedCtx,
204
- get children () {
205
- var _el$3 = _tmpl$2();
206
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$3, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
207
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.content, PLACEMENT_CLASS_MAP[placement()], local.class, local.className)
208
- }), {
209
- "data-slot": "drawer-content",
210
- get ["data-placement"] () {
211
- return placement();
212
- },
213
- get ["data-entering"] () {
214
- return "entering" === parentCtx.animState() ? "true" : void 0;
215
- },
216
- get ["data-exiting"] () {
217
- return "exiting" === parentCtx.animState() ? "true" : void 0;
218
- },
219
- get ["data-theme"] () {
220
- return local.dataTheme;
221
- },
222
- get style () {
223
- return local.style;
224
- }
225
- }), false, true);
226
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$3, ()=>local.children);
227
- return _el$3;
228
- }
229
- });
230
- };
231
346
  const SIDE_MAP = {
232
347
  left: "drawer__dialog--side-left",
233
348
  right: "drawer__dialog--side-right"
@@ -245,9 +360,18 @@ const DrawerDialog = (props)=>{
245
360
  "bg",
246
361
  "padding",
247
362
  "borderWidth",
248
- "borderColor"
363
+ "borderColor",
364
+ "ref",
365
+ "size",
366
+ "role",
367
+ "tabIndex",
368
+ "aria-labelledby",
369
+ "aria-describedby"
249
370
  ]);
250
- const ctx = useDrawerContext();
371
+ const ctx = (0, __WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__.useDrawerContext)();
372
+ const placement = ()=>ctx.placement();
373
+ const axis = ()=>(0, __WEBPACK_EXTERNAL_MODULE__Drawer_a11y_js_eed6fb4e__.isSidePlacement)(placement()) ? "side" : "edge";
374
+ const size = ()=>local.size ?? ctx.size();
251
375
  const mergedStyle = ()=>{
252
376
  const s = {};
253
377
  if ("object" == typeof local.style && local.style) Object.assign(s, local.style);
@@ -263,16 +387,34 @@ const DrawerDialog = (props)=>{
263
387
  const hasCustomPadding = ()=>Boolean(local.padding);
264
388
  const hasCustomBg = ()=>Boolean(local.bg);
265
389
  return (()=>{
266
- var _el$4 = _tmpl$2();
267
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$4, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
268
- role: "dialog",
269
- "aria-modal": "true"
270
- }, ()=>({
271
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.dialog, local.side ? SIDE_MAP[local.side] : void 0, hasCustomBg() ? "drawer__dialog--custom-bg" : void 0, hasCustomSize() ? "drawer__dialog--custom-size" : void 0, hasCustomPadding() ? "drawer__dialog--custom-padding" : void 0, local.class, local.className)
272
- }), {
390
+ var _el$5 = _tmpl$();
391
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.use)((node)=>{
392
+ ctx.setDialogRef(node);
393
+ if ("function" == typeof local.ref) local.ref(node);
394
+ }, _el$5);
395
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$5, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
396
+ get role () {
397
+ return local.role ?? "dialog";
398
+ },
399
+ "aria-modal": "true",
400
+ get ["aria-labelledby"] () {
401
+ return local["aria-labelledby"] ?? ctx.labelledBy();
402
+ },
403
+ get ["aria-describedby"] () {
404
+ return local["aria-describedby"] ?? ctx.describedBy();
405
+ },
406
+ get tabIndex () {
407
+ return local.tabIndex ?? -1;
408
+ },
409
+ get ["class"] () {
410
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Dialog.base, __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Dialog.axis[axis()], __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Dialog.size[axis()][size()], "entering" === ctx.animState() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Dialog.state.entering, "exiting" === ctx.animState() && __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Dialog.state.exiting, local.side ? SIDE_MAP[local.side] : void 0, hasCustomBg() ? "drawer__dialog--custom-bg" : void 0, hasCustomSize() ? "drawer__dialog--custom-size" : void 0, hasCustomPadding() ? "drawer__dialog--custom-padding" : void 0, local.class, local.className);
411
+ },
273
412
  "data-slot": "drawer-dialog",
274
413
  get ["data-placement"] () {
275
- return ctx.placement();
414
+ return placement();
415
+ },
416
+ get ["data-size"] () {
417
+ return size();
276
418
  },
277
419
  get ["data-theme"] () {
278
420
  return local.dataTheme;
@@ -281,8 +423,8 @@ const DrawerDialog = (props)=>{
281
423
  return mergedStyle();
282
424
  }
283
425
  }), false, true);
284
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$4, ()=>local.children);
285
- return _el$4;
426
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$5, ()=>local.children);
427
+ return _el$5;
286
428
  })();
287
429
  };
288
430
  const DrawerHeader = (props)=>{
@@ -294,10 +436,11 @@ const DrawerHeader = (props)=>{
294
436
  "style"
295
437
  ]);
296
438
  return (()=>{
297
- var _el$5 = _tmpl$2();
298
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$5, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
299
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.header, local.class, local.className)
300
- }), {
439
+ var _el$6 = _tmpl$();
440
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
441
+ get ["class"] () {
442
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Header.base, local.class, local.className);
443
+ },
301
444
  "data-slot": "drawer-header",
302
445
  get ["data-theme"] () {
303
446
  return local.dataTheme;
@@ -306,8 +449,8 @@ const DrawerHeader = (props)=>{
306
449
  return local.style;
307
450
  }
308
451
  }), false, true);
309
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$5, ()=>local.children);
310
- return _el$5;
452
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, ()=>local.children);
453
+ return _el$6;
311
454
  })();
312
455
  };
313
456
  const DrawerHeading = (props)=>{
@@ -316,13 +459,28 @@ const DrawerHeading = (props)=>{
316
459
  "class",
317
460
  "className",
318
461
  "dataTheme",
319
- "style"
462
+ "style",
463
+ "id"
320
464
  ]);
465
+ const ctx = (0, __WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__.useDrawerContext)();
466
+ const uid = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createUniqueId)();
467
+ const headingId = ()=>local.id ?? `drawer-heading-${uid}`;
468
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
469
+ const id = headingId();
470
+ ctx.setLabelledBy(id);
471
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
472
+ if (ctx.labelledBy() === id) ctx.setLabelledBy(void 0);
473
+ });
474
+ });
321
475
  return (()=>{
322
- var _el$6 = _tmpl$3();
323
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$6, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
324
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.heading, local.class, local.className)
325
- }), {
476
+ var _el$7 = _tmpl$3();
477
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$7, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
478
+ get id () {
479
+ return headingId();
480
+ },
481
+ get ["class"] () {
482
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Heading.base, local.class, local.className);
483
+ },
326
484
  "data-slot": "drawer-heading",
327
485
  get ["data-theme"] () {
328
486
  return local.dataTheme;
@@ -331,8 +489,8 @@ const DrawerHeading = (props)=>{
331
489
  return local.style;
332
490
  }
333
491
  }), false, true);
334
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$6, ()=>local.children);
335
- return _el$6;
492
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$7, ()=>local.children);
493
+ return _el$7;
336
494
  })();
337
495
  };
338
496
  const DrawerBody = (props)=>{
@@ -341,25 +499,38 @@ const DrawerBody = (props)=>{
341
499
  "class",
342
500
  "className",
343
501
  "dataTheme",
344
- "style"
502
+ "style",
503
+ "id"
345
504
  ]);
505
+ const ctx = (0, __WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__.useDrawerContext)();
506
+ const uid = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createUniqueId)();
507
+ const bodyId = ()=>local.id ?? `drawer-body-${uid}`;
508
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.createEffect)(()=>{
509
+ const id = bodyId();
510
+ ctx.setDescribedBy(id);
511
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_aeefcc6d__.onCleanup)(()=>{
512
+ if (ctx.describedBy() === id) ctx.setDescribedBy(void 0);
513
+ });
514
+ });
346
515
  return (()=>{
347
- var _el$7 = _tmpl$2();
348
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$7, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
349
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.body, local.class, local.className)
350
- }), {
516
+ var _el$8 = _tmpl$();
517
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$8, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
518
+ get id () {
519
+ return bodyId();
520
+ },
521
+ get ["class"] () {
522
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Body.base, local.class, local.className);
523
+ },
351
524
  "data-slot": "drawer-body",
352
525
  get ["data-theme"] () {
353
526
  return local.dataTheme;
354
527
  },
355
528
  get style () {
356
- return Object.assign({}, local.style, {
357
- "touch-action": "pan-y"
358
- });
529
+ return local.style;
359
530
  }
360
531
  }), false, true);
361
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$7, ()=>local.children);
362
- return _el$7;
532
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$8, ()=>local.children);
533
+ return _el$8;
363
534
  })();
364
535
  };
365
536
  const DrawerFooter = (props)=>{
@@ -371,10 +542,11 @@ const DrawerFooter = (props)=>{
371
542
  "style"
372
543
  ]);
373
544
  return (()=>{
374
- var _el$8 = _tmpl$2();
375
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$8, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, ()=>({
376
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.footer, local.class, local.className)
377
- }), {
545
+ var _el$9 = _tmpl$();
546
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$9, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
547
+ get ["class"] () {
548
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Footer.base, local.class, local.className);
549
+ },
378
550
  "data-slot": "drawer-footer",
379
551
  get ["data-theme"] () {
380
552
  return local.dataTheme;
@@ -383,8 +555,8 @@ const DrawerFooter = (props)=>{
383
555
  return local.style;
384
556
  }
385
557
  }), false, true);
386
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$8, ()=>local.children);
387
- return _el$8;
558
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$9, ()=>local.children);
559
+ return _el$9;
388
560
  })();
389
561
  };
390
562
  const DrawerHandle = (props)=>{
@@ -395,12 +567,12 @@ const DrawerHandle = (props)=>{
395
567
  "style"
396
568
  ]);
397
569
  return (()=>{
398
- var _el$9 = _tmpl$4();
399
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$9, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
400
- "aria-hidden": "true"
401
- }, ()=>({
402
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.handle, local.class, local.className)
403
- }), {
570
+ var _el$0 = _tmpl$4(), _el$1 = _el$0.firstChild;
571
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$0, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
572
+ "aria-hidden": "true",
573
+ get ["class"] () {
574
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Handle.base, local.class, local.className);
575
+ },
404
576
  "data-slot": "drawer-handle",
405
577
  get ["data-theme"] () {
406
578
  return local.dataTheme;
@@ -409,7 +581,8 @@ const DrawerHandle = (props)=>{
409
581
  return local.style;
410
582
  }
411
583
  }), false, true);
412
- return _el$9;
584
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$1, __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.Handle.bar));
585
+ return _el$0;
413
586
  })();
414
587
  };
415
588
  const DrawerCloseTrigger = (props)=>{
@@ -421,20 +594,24 @@ const DrawerCloseTrigger = (props)=>{
421
594
  "style",
422
595
  "startIcon",
423
596
  "endIcon",
424
- "onClick"
597
+ "onClick",
598
+ "aria-label"
425
599
  ]);
426
- const ctx = useDrawerContext();
427
- const handleClick = (e)=>{
428
- ctx.setIsOpen(false);
429
- if ("function" == typeof local.onClick) local.onClick(e);
600
+ const ctx = (0, __WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__.useDrawerContext)();
601
+ const handleClick = (event)=>{
602
+ ctx.requestClose("trigger");
603
+ if ("function" == typeof local.onClick) local.onClick(event);
430
604
  };
431
605
  return (()=>{
432
- var _el$0 = _tmpl$();
433
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$0, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
434
- type: "button"
435
- }, ()=>({
436
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.closeTrigger, local.class, local.className)
437
- }), {
606
+ var _el$10 = _tmpl$2();
607
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$10, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(others, {
608
+ type: "button",
609
+ get ["aria-label"] () {
610
+ return local["aria-label"] ?? "Close";
611
+ },
612
+ get ["class"] () {
613
+ return (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.CloseTrigger.base, local.class, local.className);
614
+ },
438
615
  "data-slot": "drawer-close-trigger",
439
616
  get ["data-theme"] () {
440
617
  return local.dataTheme;
@@ -442,49 +619,40 @@ const DrawerCloseTrigger = (props)=>{
442
619
  get style () {
443
620
  return local.style;
444
621
  },
445
- "aria-label": "Close",
446
622
  onClick: handleClick
447
623
  }), false, true);
448
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$0, (()=>{
624
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$10, (()=>{
449
625
  var _c$ = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.startIcon);
450
626
  return ()=>_c$() ? (()=>{
451
- var _el$1 = _tmpl$5();
452
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$1, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
453
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.closeIcon, __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.closeIconStart)
454
- }), {
455
- "data-slot": "drawer-close-trigger-start-icon"
456
- }), false, true);
457
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$1, ()=>local.startIcon);
458
- return _el$1;
627
+ var _el$11 = _tmpl$5();
628
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$11, ()=>local.startIcon);
629
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$11, (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.CloseTrigger.icon, __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.CloseTrigger.iconStart)));
630
+ return _el$11;
459
631
  })() : null;
460
632
  })(), null);
461
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$0, ()=>local.children, null);
462
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$0, (()=>{
633
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$10, ()=>local.children, null);
634
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$10, (()=>{
463
635
  var _c$2 = (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.memo)(()=>!!local.endIcon);
464
636
  return ()=>_c$2() ? (()=>{
465
- var _el$10 = _tmpl$5();
466
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.spread)(_el$10, (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.mergeProps)(()=>({
467
- class: (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.slot.closeIcon, __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.closeIconEnd)
468
- }), {
469
- "data-slot": "drawer-close-trigger-end-icon"
470
- }), false, true);
471
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$10, ()=>local.endIcon);
472
- return _el$10;
637
+ var _el$12 = _tmpl$5();
638
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$12, ()=>local.endIcon);
639
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.effect)(()=>(0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.className)(_el$12, (0, __WEBPACK_EXTERNAL_MODULE_tailwind_merge_e05e3e95__.twMerge)(__WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.CloseTrigger.icon, __WEBPACK_EXTERNAL_MODULE__Drawer_classes_js_756bbd15__.CLASSES.CloseTrigger.iconEnd)));
640
+ return _el$12;
473
641
  })() : null;
474
642
  })(), null);
475
- return _el$0;
643
+ return _el$10;
476
644
  })();
477
645
  };
478
646
  const DrawerClose = (props)=>{
479
- const ctx = useDrawerContext();
647
+ const ctx = (0, __WEBPACK_EXTERNAL_MODULE__Drawer_context_js_e84e90b3__.useDrawerContext)();
480
648
  const handleClick = ()=>{
481
- ctx.setIsOpen(false);
649
+ ctx.requestClose("trigger");
482
650
  };
483
651
  return (()=>{
484
- var _el$11 = _tmpl$6();
485
- _el$11.$$click = handleClick;
486
- (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$11, ()=>props.children);
487
- return _el$11;
652
+ var _el$13 = _tmpl$6();
653
+ _el$13.$$click = handleClick;
654
+ (0, __WEBPACK_EXTERNAL_MODULE_solid_js_web_35d951b7__.insert)(_el$13, ()=>props.children);
655
+ return _el$13;
488
656
  })();
489
657
  };
490
658
  const Drawer = Object.assign(DrawerRoot, {