@mieweb/ui 0.6.1-dev.126 → 0.6.1-dev.131

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 (144) hide show
  1. package/dist/brands/index.cjs +12 -12
  2. package/dist/brands/index.js +3 -3
  3. package/dist/{chunk-MPOWJVV4.js → chunk-3OHVUXDG.js} +3 -3
  4. package/dist/{chunk-MPOWJVV4.js.map → chunk-3OHVUXDG.js.map} +1 -1
  5. package/dist/chunk-44CK4CT2.cjs +336 -0
  6. package/dist/chunk-44CK4CT2.cjs.map +1 -0
  7. package/dist/chunk-4LVPQ44A.js +228 -0
  8. package/dist/chunk-4LVPQ44A.js.map +1 -0
  9. package/dist/chunk-7XUN3OQT.js +3 -0
  10. package/dist/{chunk-V2DF2GUE.js.map → chunk-7XUN3OQT.js.map} +1 -1
  11. package/dist/chunk-AEGYWRSL.js +513 -0
  12. package/dist/chunk-AEGYWRSL.js.map +1 -0
  13. package/dist/chunk-AFKKJEV5.cjs +72 -0
  14. package/dist/chunk-AFKKJEV5.cjs.map +1 -0
  15. package/dist/chunk-AT732HC6.cjs +4 -0
  16. package/dist/{chunk-74K3RRU7.cjs.map → chunk-AT732HC6.cjs.map} +1 -1
  17. package/dist/chunk-BIT27PPD.js +49 -0
  18. package/dist/chunk-BIT27PPD.js.map +1 -0
  19. package/dist/chunk-BT3ZQJGT.cjs +130 -0
  20. package/dist/chunk-BT3ZQJGT.cjs.map +1 -0
  21. package/dist/chunk-BX6BTDTR.js +34 -0
  22. package/dist/chunk-BX6BTDTR.js.map +1 -0
  23. package/dist/chunk-C2544GKZ.js +313 -0
  24. package/dist/chunk-C2544GKZ.js.map +1 -0
  25. package/dist/chunk-C7RVKV25.cjs +25 -0
  26. package/dist/chunk-C7RVKV25.cjs.map +1 -0
  27. package/dist/{chunk-CV4CVGLO.cjs → chunk-DFT7TYKL.cjs} +3 -3
  28. package/dist/{chunk-CV4CVGLO.cjs.map → chunk-DFT7TYKL.cjs.map} +1 -1
  29. package/dist/chunk-DLNJLCNO.cjs +101 -0
  30. package/dist/chunk-DLNJLCNO.cjs.map +1 -0
  31. package/dist/chunk-DUPR6FEL.js +43 -0
  32. package/dist/chunk-DUPR6FEL.js.map +1 -0
  33. package/dist/chunk-EJUPJGKA.js +78 -0
  34. package/dist/chunk-EJUPJGKA.js.map +1 -0
  35. package/dist/chunk-ERLPVXOV.js +22 -0
  36. package/dist/chunk-ERLPVXOV.js.map +1 -0
  37. package/dist/chunk-KJ5BSGEO.cjs +258 -0
  38. package/dist/chunk-KJ5BSGEO.cjs.map +1 -0
  39. package/dist/chunk-MARLXJQO.cjs +537 -0
  40. package/dist/chunk-MARLXJQO.cjs.map +1 -0
  41. package/dist/{chunk-WFS6R2F5.js → chunk-OVQKCUTZ.js} +3 -3
  42. package/dist/{chunk-WFS6R2F5.js.map → chunk-OVQKCUTZ.js.map} +1 -1
  43. package/dist/chunk-OXYFTCRW.cjs +57 -0
  44. package/dist/chunk-OXYFTCRW.cjs.map +1 -0
  45. package/dist/chunk-PI3KOYAT.js +192 -0
  46. package/dist/chunk-PI3KOYAT.js.map +1 -0
  47. package/dist/chunk-QKAPKIXI.cjs +80 -0
  48. package/dist/chunk-QKAPKIXI.cjs.map +1 -0
  49. package/dist/{chunk-MV337VA7.js → chunk-R6PBBPU3.js} +2 -2
  50. package/dist/{chunk-MV337VA7.js.map → chunk-R6PBBPU3.js.map} +1 -1
  51. package/dist/chunk-ROXYP3BZ.cjs +214 -0
  52. package/dist/chunk-ROXYP3BZ.cjs.map +1 -0
  53. package/dist/chunk-T3C4RNJ4.js +106 -0
  54. package/dist/chunk-T3C4RNJ4.js.map +1 -0
  55. package/dist/{chunk-7BARESXI.cjs → chunk-ULF4PWHW.cjs} +3 -3
  56. package/dist/{chunk-7BARESXI.cjs.map → chunk-ULF4PWHW.cjs.map} +1 -1
  57. package/dist/chunk-UOOH356R.cjs +66 -0
  58. package/dist/chunk-UOOH356R.cjs.map +1 -0
  59. package/dist/chunk-Y2S6QMKU.js +78 -0
  60. package/dist/chunk-Y2S6QMKU.js.map +1 -0
  61. package/dist/{chunk-JLQTPLSY.cjs → chunk-Z6NRP4Z5.cjs} +2 -2
  62. package/dist/{chunk-JLQTPLSY.cjs.map → chunk-Z6NRP4Z5.cjs.map} +1 -1
  63. package/dist/components/AlertDialog/index.cjs +18 -0
  64. package/dist/components/AlertDialog/index.cjs.map +1 -0
  65. package/dist/components/AlertDialog/index.d.cts +56 -0
  66. package/dist/components/AlertDialog/index.d.ts +56 -0
  67. package/dist/components/AlertDialog/index.js +9 -0
  68. package/dist/components/AlertDialog/index.js.map +1 -0
  69. package/dist/components/Autocomplete/index.cjs +15 -0
  70. package/dist/components/Autocomplete/index.cjs.map +1 -0
  71. package/dist/components/Autocomplete/index.d.cts +77 -0
  72. package/dist/components/Autocomplete/index.d.ts +77 -0
  73. package/dist/components/Autocomplete/index.js +6 -0
  74. package/dist/components/Autocomplete/index.js.map +1 -0
  75. package/dist/components/Collapsible/index.cjs +21 -0
  76. package/dist/components/Collapsible/index.cjs.map +1 -0
  77. package/dist/components/Collapsible/index.d.cts +33 -0
  78. package/dist/components/Collapsible/index.d.ts +33 -0
  79. package/dist/components/Collapsible/index.js +4 -0
  80. package/dist/components/Collapsible/index.js.map +1 -0
  81. package/dist/components/CountryCodeDropdown/index.cjs +5 -5
  82. package/dist/components/CountryCodeDropdown/index.js +2 -2
  83. package/dist/components/Dropdown/index.cjs +8 -8
  84. package/dist/components/Dropdown/index.js +2 -2
  85. package/dist/components/FloatingWindow/index.cjs +18 -0
  86. package/dist/components/FloatingWindow/index.cjs.map +1 -0
  87. package/dist/components/FloatingWindow/index.d.cts +64 -0
  88. package/dist/components/FloatingWindow/index.d.ts +64 -0
  89. package/dist/components/FloatingWindow/index.js +5 -0
  90. package/dist/components/FloatingWindow/index.js.map +1 -0
  91. package/dist/components/Label/index.cjs +17 -0
  92. package/dist/components/Label/index.cjs.map +1 -0
  93. package/dist/components/Label/index.d.cts +23 -0
  94. package/dist/components/Label/index.d.ts +23 -0
  95. package/dist/components/Label/index.js +4 -0
  96. package/dist/components/Label/index.js.map +1 -0
  97. package/dist/components/RichTextEditor/index.cjs +32 -0
  98. package/dist/components/RichTextEditor/index.cjs.map +1 -0
  99. package/dist/components/RichTextEditor/index.d.cts +62 -0
  100. package/dist/components/RichTextEditor/index.d.ts +62 -0
  101. package/dist/components/RichTextEditor/index.js +11 -0
  102. package/dist/components/RichTextEditor/index.js.map +1 -0
  103. package/dist/components/ScrollArea/index.cjs +17 -0
  104. package/dist/components/ScrollArea/index.cjs.map +1 -0
  105. package/dist/components/ScrollArea/index.d.cts +22 -0
  106. package/dist/components/ScrollArea/index.d.ts +22 -0
  107. package/dist/components/ScrollArea/index.js +4 -0
  108. package/dist/components/ScrollArea/index.js.map +1 -0
  109. package/dist/components/Separator/index.cjs +17 -0
  110. package/dist/components/Separator/index.cjs.map +1 -0
  111. package/dist/components/Separator/index.d.cts +27 -0
  112. package/dist/components/Separator/index.d.ts +27 -0
  113. package/dist/components/Separator/index.js +4 -0
  114. package/dist/components/Separator/index.js.map +1 -0
  115. package/dist/components/Sheet/index.cjs +48 -0
  116. package/dist/components/Sheet/index.cjs.map +1 -0
  117. package/dist/components/Sheet/index.d.cts +62 -0
  118. package/dist/components/Sheet/index.d.ts +62 -0
  119. package/dist/components/Sheet/index.js +7 -0
  120. package/dist/components/Sheet/index.js.map +1 -0
  121. package/dist/components/Toggle/index.cjs +17 -0
  122. package/dist/components/Toggle/index.cjs.map +1 -0
  123. package/dist/components/Toggle/index.d.cts +28 -0
  124. package/dist/components/Toggle/index.d.ts +28 -0
  125. package/dist/components/Toggle/index.js +4 -0
  126. package/dist/components/Toggle/index.js.map +1 -0
  127. package/dist/hooks/index.cjs +5 -5
  128. package/dist/hooks/index.js +1 -1
  129. package/dist/html-MdxqSzjD.d.cts +13 -0
  130. package/dist/html-MdxqSzjD.d.ts +13 -0
  131. package/dist/index.cjs +352 -225
  132. package/dist/index.cjs.map +1 -1
  133. package/dist/index.d.cts +11 -0
  134. package/dist/index.d.ts +11 -0
  135. package/dist/index.js +43 -32
  136. package/dist/index.js.map +1 -1
  137. package/dist/styles.css +1 -1
  138. package/dist/utils/index.cjs +27 -18
  139. package/dist/utils/index.d.cts +1 -0
  140. package/dist/utils/index.d.ts +1 -0
  141. package/dist/utils/index.js +3 -2
  142. package/package.json +2 -2
  143. package/dist/chunk-74K3RRU7.cjs +0 -4
  144. package/dist/chunk-V2DF2GUE.js +0 -3
@@ -0,0 +1,258 @@
1
+ 'use strict';
2
+
3
+ var chunkNNEFAUHV_cjs = require('./chunk-NNEFAUHV.cjs');
4
+ var chunkFHY3K6PL_cjs = require('./chunk-FHY3K6PL.cjs');
5
+ var chunkOR5DRJCW_cjs = require('./chunk-OR5DRJCW.cjs');
6
+ var React = require('react');
7
+ var classVarianceAuthority = require('class-variance-authority');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+
10
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n.default = e;
25
+ return Object.freeze(n);
26
+ }
27
+
28
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
29
+
30
+ var sheetOverlayVariants = classVarianceAuthority.cva([
31
+ "fixed inset-0 z-50",
32
+ "bg-black/50 backdrop-blur-sm",
33
+ "data-[state=open]:animate-in data-[state=open]:fade-in-0",
34
+ "data-[state=closed]:animate-out data-[state=closed]:fade-out-0"
35
+ ]);
36
+ var sheetContentVariants = classVarianceAuthority.cva(
37
+ [
38
+ "fixed z-50 flex flex-col gap-4",
39
+ "bg-card text-card-foreground shadow-lg",
40
+ "border-border",
41
+ "focus:outline-none",
42
+ "transition ease-in-out duration-200"
43
+ ],
44
+ {
45
+ variants: {
46
+ side: {
47
+ top: "inset-x-0 top-0 border-b max-h-dvh",
48
+ bottom: "inset-x-0 bottom-0 border-t max-h-dvh",
49
+ left: "inset-y-0 left-0 h-full border-r w-3/4 sm:max-w-sm",
50
+ right: "inset-y-0 right-0 h-full border-l w-3/4 sm:max-w-sm"
51
+ }
52
+ },
53
+ defaultVariants: {
54
+ side: "right"
55
+ }
56
+ }
57
+ );
58
+ function Sheet({
59
+ open,
60
+ onOpenChange,
61
+ children,
62
+ side,
63
+ closeOnOverlayClick = true,
64
+ closeOnEscape = true,
65
+ className,
66
+ id,
67
+ "aria-label": ariaLabel,
68
+ "aria-labelledby": ariaLabelledBy,
69
+ "aria-describedby": ariaDescribedBy
70
+ }) {
71
+ const generatedId = React__namespace.useId();
72
+ const sheetId = id || generatedId;
73
+ const focusTrapRef = chunkNNEFAUHV_cjs.useFocusTrap(open);
74
+ chunkFHY3K6PL_cjs.useEscapeKey(() => {
75
+ if (closeOnEscape && open) onOpenChange(false);
76
+ }, open);
77
+ const handleOverlayClick = React__namespace.useCallback(
78
+ (e) => {
79
+ if (closeOnOverlayClick && e.target === e.currentTarget) {
80
+ onOpenChange(false);
81
+ }
82
+ },
83
+ [closeOnOverlayClick, onOpenChange]
84
+ );
85
+ if (!open) return null;
86
+ return /* @__PURE__ */ jsxRuntime.jsx(
87
+ SheetContext.Provider,
88
+ {
89
+ value: { onClose: () => onOpenChange(false), sheetId },
90
+ children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "fixed inset-0 z-50", children: [
91
+ /* @__PURE__ */ jsxRuntime.jsx(
92
+ "div",
93
+ {
94
+ className: chunkOR5DRJCW_cjs.cn(sheetOverlayVariants()),
95
+ "data-state": "open",
96
+ "aria-hidden": "true",
97
+ onClick: handleOverlayClick
98
+ }
99
+ ),
100
+ /* @__PURE__ */ jsxRuntime.jsx(
101
+ "div",
102
+ {
103
+ ref: focusTrapRef,
104
+ role: "dialog",
105
+ "aria-modal": "true",
106
+ "aria-label": ariaLabel,
107
+ "aria-labelledby": ariaLabelledBy || `${sheetId}-title`,
108
+ "aria-describedby": ariaDescribedBy,
109
+ id: sheetId,
110
+ tabIndex: -1,
111
+ "data-state": "open",
112
+ "data-slot": "sheet",
113
+ className: chunkOR5DRJCW_cjs.cn(sheetContentVariants({ side }), className),
114
+ children
115
+ }
116
+ )
117
+ ] })
118
+ }
119
+ );
120
+ }
121
+ Sheet.displayName = "Sheet";
122
+ var SheetContext = React__namespace.createContext(
123
+ void 0
124
+ );
125
+ function useSheetContext() {
126
+ const context = React__namespace.useContext(SheetContext);
127
+ if (!context) {
128
+ throw new Error("Sheet components must be used within a Sheet");
129
+ }
130
+ return context;
131
+ }
132
+ var SheetHeader = React__namespace.forwardRef(
133
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
134
+ "div",
135
+ {
136
+ ref,
137
+ "data-slot": "sheet-header",
138
+ className: chunkOR5DRJCW_cjs.cn(
139
+ "flex shrink-0 items-center justify-between",
140
+ "border-border border-b px-6 py-4",
141
+ className
142
+ ),
143
+ ...props
144
+ }
145
+ )
146
+ );
147
+ SheetHeader.displayName = "SheetHeader";
148
+ var SheetTitle = React__namespace.forwardRef(
149
+ ({ className, children, ...props }, ref) => {
150
+ const { sheetId } = useSheetContext();
151
+ return /* @__PURE__ */ jsxRuntime.jsx(
152
+ "h2",
153
+ {
154
+ ref,
155
+ id: `${sheetId}-title`,
156
+ "data-slot": "sheet-title",
157
+ className: chunkOR5DRJCW_cjs.cn(
158
+ "text-lg leading-none font-semibold tracking-tight",
159
+ className
160
+ ),
161
+ ...props,
162
+ children
163
+ }
164
+ );
165
+ }
166
+ );
167
+ SheetTitle.displayName = "SheetTitle";
168
+ var SheetDescription = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
169
+ "p",
170
+ {
171
+ ref,
172
+ "data-slot": "sheet-description",
173
+ className: chunkOR5DRJCW_cjs.cn("text-muted-foreground text-sm", className),
174
+ ...props
175
+ }
176
+ ));
177
+ SheetDescription.displayName = "SheetDescription";
178
+ var SheetBody = React__namespace.forwardRef(
179
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
180
+ "div",
181
+ {
182
+ ref,
183
+ "data-slot": "sheet-body",
184
+ className: chunkOR5DRJCW_cjs.cn("flex-1 overflow-y-auto px-6 py-4", className),
185
+ ...props
186
+ }
187
+ )
188
+ );
189
+ SheetBody.displayName = "SheetBody";
190
+ var SheetFooter = React__namespace.forwardRef(
191
+ ({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
192
+ "div",
193
+ {
194
+ ref,
195
+ "data-slot": "sheet-footer",
196
+ className: chunkOR5DRJCW_cjs.cn(
197
+ "flex shrink-0 flex-col-reverse gap-2 sm:flex-row sm:justify-end",
198
+ "border-border border-t px-6 py-4",
199
+ className
200
+ ),
201
+ ...props
202
+ }
203
+ )
204
+ );
205
+ SheetFooter.displayName = "SheetFooter";
206
+ var SheetClose = React__namespace.forwardRef(
207
+ ({ className, children, onClick, ...props }, ref) => {
208
+ const { onClose } = useSheetContext();
209
+ return /* @__PURE__ */ jsxRuntime.jsx(
210
+ "button",
211
+ {
212
+ ref,
213
+ type: "button",
214
+ "data-slot": "sheet-close",
215
+ "aria-label": "Close",
216
+ onClick: (e) => {
217
+ onClose();
218
+ onClick?.(e);
219
+ },
220
+ className: chunkOR5DRJCW_cjs.cn(
221
+ "text-muted-foreground hover:text-foreground rounded-md",
222
+ "focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
223
+ "transition-colors",
224
+ className
225
+ ),
226
+ ...props,
227
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsx(
228
+ "svg",
229
+ {
230
+ width: "20",
231
+ height: "20",
232
+ viewBox: "0 0 24 24",
233
+ fill: "none",
234
+ stroke: "currentColor",
235
+ strokeWidth: "2",
236
+ strokeLinecap: "round",
237
+ strokeLinejoin: "round",
238
+ "aria-hidden": "true",
239
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M18 6 6 18M6 6l12 12" })
240
+ }
241
+ )
242
+ }
243
+ );
244
+ }
245
+ );
246
+ SheetClose.displayName = "SheetClose";
247
+
248
+ exports.Sheet = Sheet;
249
+ exports.SheetBody = SheetBody;
250
+ exports.SheetClose = SheetClose;
251
+ exports.SheetDescription = SheetDescription;
252
+ exports.SheetFooter = SheetFooter;
253
+ exports.SheetHeader = SheetHeader;
254
+ exports.SheetTitle = SheetTitle;
255
+ exports.sheetContentVariants = sheetContentVariants;
256
+ exports.sheetOverlayVariants = sheetOverlayVariants;
257
+ //# sourceMappingURL=chunk-KJ5BSGEO.cjs.map
258
+ //# sourceMappingURL=chunk-KJ5BSGEO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Sheet/Sheet.tsx"],"names":["cva","React","useFocusTrap","useEscapeKey","jsx","jsxs","cn"],"mappings":"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","file":"chunk-KJ5BSGEO.cjs","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\nimport { useFocusTrap } from '../../hooks/useFocusTrap';\nimport { useEscapeKey } from '../../hooks/useEscapeKey';\n\nconst sheetOverlayVariants = cva([\n 'fixed inset-0 z-50',\n 'bg-black/50 backdrop-blur-sm',\n 'data-[state=open]:animate-in data-[state=open]:fade-in-0',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0',\n]);\n\nconst sheetContentVariants = cva(\n [\n 'fixed z-50 flex flex-col gap-4',\n 'bg-card text-card-foreground shadow-lg',\n 'border-border',\n 'focus:outline-none',\n 'transition ease-in-out duration-200',\n ],\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 border-b max-h-dvh',\n bottom: 'inset-x-0 bottom-0 border-t max-h-dvh',\n left: 'inset-y-0 left-0 h-full border-r w-3/4 sm:max-w-sm',\n right: 'inset-y-0 right-0 h-full border-l w-3/4 sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n }\n);\n\nexport interface SheetProps extends VariantProps<typeof sheetContentVariants> {\n /** Whether the sheet is open */\n open: boolean;\n /** Callback when the sheet should close */\n onOpenChange: (open: boolean) => void;\n /** Sheet content */\n children: React.ReactNode;\n /** Close when clicking the overlay (default true) */\n closeOnOverlayClick?: boolean;\n /** Close when pressing Escape (default true) */\n closeOnEscape?: boolean;\n /** Additional class name for the sheet content */\n className?: string;\n /** ID for the sheet, used for accessibility */\n id?: string;\n /** Accessible label for the sheet */\n 'aria-label'?: string;\n /** ID of the element that labels the sheet */\n 'aria-labelledby'?: string;\n /** ID of the element that describes the sheet */\n 'aria-describedby'?: string;\n}\n\n/**\n * A panel that slides in from an edge of the screen.\n *\n * @example\n * ```tsx\n * <Sheet open={open} onOpenChange={setOpen} side=\"right\">\n * <SheetHeader>\n * <SheetTitle>Filters</SheetTitle>\n * </SheetHeader>\n * <SheetBody>...</SheetBody>\n * </Sheet>\n * ```\n */\nfunction Sheet({\n open,\n onOpenChange,\n children,\n side,\n closeOnOverlayClick = true,\n closeOnEscape = true,\n className,\n id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-describedby': ariaDescribedBy,\n}: SheetProps) {\n const generatedId = React.useId();\n const sheetId = id || generatedId;\n\n const focusTrapRef = useFocusTrap<HTMLDivElement>(open);\n\n useEscapeKey(() => {\n if (closeOnEscape && open) onOpenChange(false);\n }, open);\n\n const handleOverlayClick = React.useCallback(\n (e: React.MouseEvent) => {\n if (closeOnOverlayClick && e.target === e.currentTarget) {\n onOpenChange(false);\n }\n },\n [closeOnOverlayClick, onOpenChange]\n );\n\n if (!open) return null;\n\n return (\n <SheetContext.Provider\n value={{ onClose: () => onOpenChange(false), sheetId }}\n >\n <div className=\"fixed inset-0 z-50\">\n <div\n className={cn(sheetOverlayVariants())}\n data-state=\"open\"\n aria-hidden=\"true\"\n onClick={handleOverlayClick}\n />\n <div\n ref={focusTrapRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy || `${sheetId}-title`}\n aria-describedby={ariaDescribedBy}\n id={sheetId}\n tabIndex={-1}\n data-state=\"open\"\n data-slot=\"sheet\"\n className={cn(sheetContentVariants({ side }), className)}\n >\n {children}\n </div>\n </div>\n </SheetContext.Provider>\n );\n}\n\nSheet.displayName = 'Sheet';\n\ninterface SheetContextValue {\n onClose: () => void;\n sheetId: string;\n}\n\nconst SheetContext = React.createContext<SheetContextValue | undefined>(\n undefined\n);\n\nfunction useSheetContext() {\n const context = React.useContext(SheetContext);\n if (!context) {\n throw new Error('Sheet components must be used within a Sheet');\n }\n return context;\n}\n\nexport type SheetHeaderProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst SheetHeader = React.forwardRef<HTMLDivElement, SheetHeaderProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"sheet-header\"\n className={cn(\n 'flex shrink-0 items-center justify-between',\n 'border-border border-b px-6 py-4',\n className\n )}\n {...props}\n />\n )\n);\n\nSheetHeader.displayName = 'SheetHeader';\n\nexport type SheetTitleProps = React.HTMLAttributes<HTMLHeadingElement>;\n\nconst SheetTitle = React.forwardRef<HTMLHeadingElement, SheetTitleProps>(\n ({ className, children, ...props }, ref) => {\n const { sheetId } = useSheetContext();\n return (\n <h2\n ref={ref}\n id={`${sheetId}-title`}\n data-slot=\"sheet-title\"\n className={cn(\n 'text-lg leading-none font-semibold tracking-tight',\n className\n )}\n {...props}\n >\n {children}\n </h2>\n );\n }\n);\n\nSheetTitle.displayName = 'SheetTitle';\n\nexport type SheetDescriptionProps = React.HTMLAttributes<HTMLParagraphElement>;\n\nconst SheetDescription = React.forwardRef<\n HTMLParagraphElement,\n SheetDescriptionProps\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n data-slot=\"sheet-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n));\n\nSheetDescription.displayName = 'SheetDescription';\n\nexport type SheetBodyProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst SheetBody = React.forwardRef<HTMLDivElement, SheetBodyProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"sheet-body\"\n className={cn('flex-1 overflow-y-auto px-6 py-4', className)}\n {...props}\n />\n )\n);\n\nSheetBody.displayName = 'SheetBody';\n\nexport type SheetFooterProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst SheetFooter = React.forwardRef<HTMLDivElement, SheetFooterProps>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"sheet-footer\"\n className={cn(\n 'flex shrink-0 flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n 'border-border border-t px-6 py-4',\n className\n )}\n {...props}\n />\n )\n);\n\nSheetFooter.displayName = 'SheetFooter';\n\nexport type SheetCloseProps = React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nconst SheetClose = React.forwardRef<HTMLButtonElement, SheetCloseProps>(\n ({ className, children, onClick, ...props }, ref) => {\n const { onClose } = useSheetContext();\n return (\n <button\n ref={ref}\n type=\"button\"\n data-slot=\"sheet-close\"\n aria-label=\"Close\"\n onClick={(e) => {\n onClose();\n onClick?.(e);\n }}\n className={cn(\n 'text-muted-foreground hover:text-foreground rounded-md',\n 'focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none',\n 'transition-colors',\n className\n )}\n {...props}\n >\n {children ?? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M18 6 6 18M6 6l12 12\" />\n </svg>\n )}\n </button>\n );\n }\n);\n\nSheetClose.displayName = 'SheetClose';\n\nexport {\n Sheet,\n SheetHeader,\n SheetTitle,\n SheetDescription,\n SheetBody,\n SheetFooter,\n SheetClose,\n sheetContentVariants,\n sheetOverlayVariants,\n};\n"]}