@epilot/zenith-react 0.2.0-next.0 → 0.2.0-next.3

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 (133) hide show
  1. package/dist/components/accordion/accordion.js +57 -48
  2. package/dist/components/accordion/accordion.js.map +1 -1
  3. package/dist/components/alert-dialog/alert-dialog.js +120 -92
  4. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  5. package/dist/components/avatar/avatar-group.js +38 -35
  6. package/dist/components/avatar/avatar-group.js.map +1 -1
  7. package/dist/components/avatar/avatar.js +78 -71
  8. package/dist/components/avatar/avatar.js.map +1 -1
  9. package/dist/components/badge/badge.js +60 -55
  10. package/dist/components/badge/badge.js.map +1 -1
  11. package/dist/components/breadcrumb/breadcrumb.js +99 -54
  12. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  13. package/dist/components/button/button.js +87 -77
  14. package/dist/components/button/button.js.map +1 -1
  15. package/dist/components/button-group/button-group.js +36 -32
  16. package/dist/components/button-group/button-group.js.map +1 -1
  17. package/dist/components/callout/callout.js +105 -98
  18. package/dist/components/callout/callout.js.map +1 -1
  19. package/dist/components/card/card.js +62 -52
  20. package/dist/components/card/card.js.map +1 -1
  21. package/dist/components/checkbox/checkbox.js +22 -19
  22. package/dist/components/checkbox/checkbox.js.map +1 -1
  23. package/dist/components/code-block/code-block.js +135 -123
  24. package/dist/components/code-block/code-block.js.map +1 -1
  25. package/dist/components/code-editor/code-editor.js +276 -260
  26. package/dist/components/code-editor/code-editor.js.map +1 -1
  27. package/dist/components/collapsible-sidebar/collapsible-sidebar.js +62 -56
  28. package/dist/components/collapsible-sidebar/collapsible-sidebar.js.map +1 -1
  29. package/dist/components/command/command.js +116 -105
  30. package/dist/components/command/command.js.map +1 -1
  31. package/dist/components/data-table/data-table-body.js +38 -34
  32. package/dist/components/data-table/data-table-body.js.map +1 -1
  33. package/dist/components/data-table/data-table-column-header.js +30 -26
  34. package/dist/components/data-table/data-table-column-header.js.map +1 -1
  35. package/dist/components/data-table/data-table-column-order.js +79 -73
  36. package/dist/components/data-table/data-table-column-order.js.map +1 -1
  37. package/dist/components/data-table/data-table-column-visibility.js +25 -22
  38. package/dist/components/data-table/data-table-column-visibility.js.map +1 -1
  39. package/dist/components/data-table/data-table-content.js +47 -44
  40. package/dist/components/data-table/data-table-content.js.map +1 -1
  41. package/dist/components/data-table/data-table-error.js +36 -32
  42. package/dist/components/data-table/data-table-error.js.map +1 -1
  43. package/dist/components/data-table/data-table-footer.js +10 -8
  44. package/dist/components/data-table/data-table-footer.js.map +1 -1
  45. package/dist/components/data-table/data-table-header-draggable.js +40 -36
  46. package/dist/components/data-table/data-table-header-draggable.js.map +1 -1
  47. package/dist/components/data-table/data-table-header.js +113 -99
  48. package/dist/components/data-table/data-table-header.js.map +1 -1
  49. package/dist/components/data-table/data-table-loading.js +21 -18
  50. package/dist/components/data-table/data-table-loading.js.map +1 -1
  51. package/dist/components/data-table/data-table-resize-handle.js +13 -11
  52. package/dist/components/data-table/data-table-resize-handle.js.map +1 -1
  53. package/dist/components/data-table/data-table-row.js +71 -59
  54. package/dist/components/data-table/data-table-row.js.map +1 -1
  55. package/dist/components/data-table/data-table-toolbar.js +9 -7
  56. package/dist/components/data-table/data-table-toolbar.js.map +1 -1
  57. package/dist/components/data-table/data-table.js +48 -46
  58. package/dist/components/data-table/data-table.js.map +1 -1
  59. package/dist/components/date-range-picker/date-range-picker.js +173 -164
  60. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  61. package/dist/components/date-range-picker/range-calendar.js +36 -34
  62. package/dist/components/date-range-picker/range-calendar.js.map +1 -1
  63. package/dist/components/date-time-picker/calendar.js +290 -272
  64. package/dist/components/date-time-picker/calendar.js.map +1 -1
  65. package/dist/components/date-time-picker/date-time-picker-input.js +22 -20
  66. package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
  67. package/dist/components/date-time-picker/date-time-picker-panel.js +126 -120
  68. package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
  69. package/dist/components/date-time-picker/date-time-picker.js +42 -40
  70. package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
  71. package/dist/components/date-time-picker/time-picker.js +95 -87
  72. package/dist/components/date-time-picker/time-picker.js.map +1 -1
  73. package/dist/components/dialog/dialog.js +115 -95
  74. package/dist/components/dialog/dialog.js.map +1 -1
  75. package/dist/components/drawer/drawer.js +144 -109
  76. package/dist/components/drawer/drawer.js.map +1 -1
  77. package/dist/components/dropdown-menu/dropdown-menu.js +141 -112
  78. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  79. package/dist/components/field/field-combobox.js +196 -176
  80. package/dist/components/field/field-combobox.js.map +1 -1
  81. package/dist/components/field/field.js +137 -126
  82. package/dist/components/field/field.js.map +1 -1
  83. package/dist/components/list/list.js +237 -219
  84. package/dist/components/list/list.js.map +1 -1
  85. package/dist/components/option-card/option-card.js +129 -116
  86. package/dist/components/option-card/option-card.js.map +1 -1
  87. package/dist/components/pill/pill.js +55 -51
  88. package/dist/components/pill/pill.js.map +1 -1
  89. package/dist/components/popover/popover.js +53 -36
  90. package/dist/components/popover/popover.js.map +1 -1
  91. package/dist/components/radio/radio.js +38 -34
  92. package/dist/components/radio/radio.js.map +1 -1
  93. package/dist/components/scroll-area/scroll-area.js +38 -35
  94. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  95. package/dist/components/scroll-overflow/scroll-overflow.js +166 -151
  96. package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
  97. package/dist/components/segmented-control/segmented-control.js +93 -85
  98. package/dist/components/segmented-control/segmented-control.js.map +1 -1
  99. package/dist/components/select/select.js +149 -128
  100. package/dist/components/select/select.js.map +1 -1
  101. package/dist/components/separator/separator.js +19 -16
  102. package/dist/components/separator/separator.js.map +1 -1
  103. package/dist/components/skeleton/skeleton.js +34 -30
  104. package/dist/components/skeleton/skeleton.js.map +1 -1
  105. package/dist/components/spinner/spinner.js +22 -17
  106. package/dist/components/spinner/spinner.js.map +1 -1
  107. package/dist/components/surface/surface.js +25 -22
  108. package/dist/components/surface/surface.js.map +1 -1
  109. package/dist/components/switch/switch.js +66 -57
  110. package/dist/components/switch/switch.js.map +1 -1
  111. package/dist/components/table/table-pagination.js +139 -129
  112. package/dist/components/table/table-pagination.js.map +1 -1
  113. package/dist/components/table/table.js +104 -90
  114. package/dist/components/table/table.js.map +1 -1
  115. package/dist/components/tabs/tabs.js +206 -128
  116. package/dist/components/tabs/tabs.js.map +1 -1
  117. package/dist/components/toast/toast.js +112 -100
  118. package/dist/components/toast/toast.js.map +1 -1
  119. package/dist/components/toggle/toggle.js +32 -30
  120. package/dist/components/toggle/toggle.js.map +1 -1
  121. package/dist/components/tooltip/tooltip.js +59 -46
  122. package/dist/components/tooltip/tooltip.js.map +1 -1
  123. package/dist/index.d.ts +12 -0
  124. package/dist/lib/clear-button.js +18 -17
  125. package/dist/lib/clear-button.js.map +1 -1
  126. package/dist/styles/host-reset.js +47 -0
  127. package/dist/styles/host-reset.js.map +1 -0
  128. package/dist/styles/overlay-layer.js +5 -0
  129. package/dist/styles/overlay-layer.js.map +1 -0
  130. package/dist/tokens.json +1 -1
  131. package/package.json +8 -6
  132. package/scripts/migration-diagnostics.mjs +42 -7
  133. package/scripts/migration-sweep.mjs +9 -1
@@ -1,17 +1,23 @@
1
- import { jsx as e, jsxs as y } from "react/jsx-runtime";
1
+ import { jsx as n, jsxs as b } from "react/jsx-runtime";
2
2
  import * as s from "react";
3
- import { Root as S, Close as D, Content as z, Description as F, Overlay as L, Portal as X, Title as A, Trigger as O } from "../../vendor/.bun/@radix-ui_react-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-dialog/dist/index.js";
4
- import { mergeClasses as m, SLOT_ATTR as l, shorthands as i } from "@epilot/zenith-runtime/v1";
5
- import { useAppearanceAttributes as C } from "../appearance-boundary/appearance-boundary.js";
6
- import { useDensity as Y } from "../density-provider/density-provider.js";
7
- import { makeZenithStyles as k } from "../../styles/make-styles.js";
8
- import { leadingSm as E, textSm as P, grayA11 as B, grayA12 as H, fontWeightSemibold as I, leadingLg as W, textLg as j, accentA8 as h, accentSoft as _, accentA11 as Z, spacingGroup2 as b, spacingElement3 as x, spacingElement1 as n, gray2 as G, spacingElement2 as g, grayA1 as u, radius2xl as M } from "../../tokens/index.js";
9
- const d = k({
3
+ import { Root as L, Close as v, Content as F, Description as X, Overlay as A, Portal as O, Title as Y, Trigger as k } from "../../vendor/.bun/@radix-ui_react-dialog@1.1.15_2b23df507bdda662/vendor/@radix-ui/react-dialog/dist/index.js";
4
+ import { mergeClasses as m, SLOT_ATTR as l, shorthands as e } from "@epilot/zenith-runtime/v1";
5
+ import { useAppearanceAttributes as T } from "../appearance-boundary/appearance-boundary.js";
6
+ import { useDensity as E } from "../density-provider/density-provider.js";
7
+ import { makeZenithStyles as I } from "../../styles/make-styles.js";
8
+ import { boxModel as p, nativeControl as x } from "../../styles/host-reset.js";
9
+ import { OVERLAY_Z_INDEX as D } from "../../styles/overlay-layer.js";
10
+ import { leadingSm as P, textSm as _, grayA11 as B, grayA12 as H, fontWeightSemibold as W, leadingLg as j, textLg as Z, accentA8 as C, accentSoft as M, accentA11 as V, spacingLayout1 as g, spacingElement1 as i, gray2 as q, spacingElement2 as y, grayA1 as w, radius2xl as G } from "../../tokens/index.js";
11
+ const d = I({
12
+ // For the bare native `<button>` a Trigger/Close renders. Not applied under `asChild`, where the
13
+ // child owns its own element and two atom sets would race for the same properties.
14
+ nativeTrigger: {
15
+ ...x
16
+ },
10
17
  overlay: {
11
18
  position: "fixed",
12
- ...i.inset(0),
13
- // v1's z-1300 is the overlay tier; no z-index token exists in this package.
14
- zIndex: 1300,
19
+ ...e.inset(0),
20
+ zIndex: D,
15
21
  backgroundColor: "rgb(0 0 0 / 50%)",
16
22
  "&[data-state='open']": {
17
23
  animationName: {
@@ -31,27 +37,40 @@ const d = k({
31
37
  }
32
38
  },
33
39
  content: {
34
- backgroundColor: G,
40
+ ...p,
41
+ backgroundColor: q,
35
42
  position: "fixed",
36
- // v1's z-1300 is the overlay tier; no z-index token exists in this package.
37
- zIndex: 1300,
43
+ zIndex: D,
38
44
  display: "flex",
39
45
  flexDirection: "column",
40
- ...i.gap(b),
41
- ...i.borderRadius(M),
46
+ ...e.gap(g),
47
+ ...e.borderRadius(G),
42
48
  // v1 shadow-lg; elevation has no token in this package.
43
- boxShadow: "0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a"
49
+ boxShadow: "0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a",
50
+ // Collapses the side slots' slide too: media rules sort after them at equal specificity.
51
+ "@media (prefers-reduced-motion: reduce)": {
52
+ animationDuration: "0.01ms",
53
+ animationIterationCount: "1",
54
+ "&[data-state='open']": {
55
+ animationDuration: "0.01ms"
56
+ },
57
+ "&[data-state='closed']": {
58
+ animationDuration: "0.01ms"
59
+ }
60
+ }
44
61
  },
45
62
  contentPadding: {
46
- // v1 p-3 is 0.75rem; no spacing token for 0.75rem exists in this package.
47
- ...i.padding(x)
63
+ ...p,
64
+ // Layout tier, unlike Dialog, AlertDialog and Popover: a drawer holds sections, not one group.
65
+ ...e.padding(g)
48
66
  },
49
67
  right: {
50
- top: n,
51
- bottom: n,
52
- right: n,
68
+ ...p,
69
+ top: i,
70
+ bottom: i,
71
+ right: i,
53
72
  height: "calc(100% - 0.5rem)",
54
- ...i.borderLeft("1px", "solid", u),
73
+ ...e.borderLeft("1px", "solid", w),
55
74
  "&[data-state='open']": {
56
75
  animationName: {
57
76
  from: {
@@ -82,11 +101,12 @@ const d = k({
82
101
  }
83
102
  },
84
103
  left: {
85
- top: n,
86
- bottom: n,
87
- left: n,
104
+ ...p,
105
+ top: i,
106
+ bottom: i,
107
+ left: i,
88
108
  height: "calc(100% - 0.5rem)",
89
- ...i.borderRight("1px", "solid", u),
109
+ ...e.borderRight("1px", "solid", w),
90
110
  "&[data-state='open']": {
91
111
  animationName: {
92
112
  from: {
@@ -117,11 +137,12 @@ const d = k({
117
137
  }
118
138
  },
119
139
  top: {
120
- left: n,
121
- right: n,
122
- top: n,
140
+ ...p,
141
+ left: i,
142
+ right: i,
143
+ top: i,
123
144
  width: "calc(100% - 0.5rem)",
124
- ...i.borderBottom("1px", "solid", u),
145
+ ...e.borderBottom("1px", "solid", w),
125
146
  "&[data-state='open']": {
126
147
  animationName: {
127
148
  from: {
@@ -152,11 +173,12 @@ const d = k({
152
173
  }
153
174
  },
154
175
  bottom: {
155
- left: n,
156
- right: n,
157
- bottom: n,
176
+ ...p,
177
+ left: i,
178
+ right: i,
179
+ bottom: i,
158
180
  width: "calc(100% - 0.5rem)",
159
- ...i.borderTop("1px", "solid", u),
181
+ ...e.borderTop("1px", "solid", w),
160
182
  "&[data-state='open']": {
161
183
  animationName: {
162
184
  from: {
@@ -191,32 +213,34 @@ const d = k({
191
213
  outlineWidth: "2px",
192
214
  outlineStyle: "solid",
193
215
  outlineOffset: "2px",
194
- outlineColor: h
216
+ outlineColor: C
195
217
  }
196
218
  },
197
219
  closeButton: {
220
+ ...x,
198
221
  position: "absolute",
199
- // v1 top-3 is 0.75rem; no spacing token for 0.75rem exists in this package.
200
- top: x,
201
- right: b,
202
- ...i.padding(g),
222
+ // Inset by the content padding so it lines up with the padded header.
223
+ top: g,
224
+ right: g,
225
+ ...e.padding(y),
203
226
  // v1 rounded-full; no full-radius token exists in this package.
204
227
  borderRadius: "9999px",
205
228
  cursor: "pointer",
206
- color: Z,
229
+ color: V,
207
230
  ":hover": {
208
- backgroundColor: _
231
+ backgroundColor: M
209
232
  },
210
233
  ":focus-visible": {
211
234
  outlineWidth: "2px",
212
235
  outlineStyle: "solid",
213
236
  outlineOffset: "2px",
214
- outlineColor: h
237
+ outlineColor: C
215
238
  },
216
239
  ":disabled": {
217
240
  pointerEvents: "none"
218
241
  },
219
242
  "& svg": {
243
+ display: "block",
220
244
  pointerEvents: "none",
221
245
  flexShrink: 0,
222
246
  width: "1rem",
@@ -227,28 +251,31 @@ const d = k({
227
251
  display: "flex",
228
252
  flexShrink: 0,
229
253
  flexDirection: "column",
230
- ...i.gap(g),
254
+ ...e.gap(y),
231
255
  textAlign: "left"
232
256
  },
233
257
  footer: {
234
258
  marginTop: "auto",
235
259
  display: "flex",
236
260
  flexShrink: 0,
237
- ...i.gap(g),
261
+ ...e.gap(y),
238
262
  justifyContent: "flex-end"
239
263
  },
240
264
  title: {
241
- fontSize: j,
242
- lineHeight: W,
243
- fontWeight: I,
265
+ ...e.margin(0),
266
+ fontSize: Z,
267
+ lineHeight: j,
268
+ fontWeight: W,
244
269
  color: H
245
270
  },
246
271
  description: {
272
+ ...e.margin(0),
247
273
  color: B,
248
- fontSize: P,
249
- lineHeight: E
274
+ fontSize: _,
275
+ lineHeight: P
250
276
  },
251
277
  srOnly: {
278
+ ...p,
252
279
  position: "absolute",
253
280
  width: "1px",
254
281
  height: "1px",
@@ -258,9 +285,9 @@ const d = k({
258
285
  clip: "rect(0, 0, 0, 0)",
259
286
  whiteSpace: "nowrap"
260
287
  }
261
- }), q = s.forwardRef(
288
+ }), J = s.forwardRef(
262
289
  function(t, a) {
263
- return /* @__PURE__ */ e(
290
+ return /* @__PURE__ */ n(
264
291
  "svg",
265
292
  {
266
293
  ref: a,
@@ -270,7 +297,7 @@ const d = k({
270
297
  fill: "none",
271
298
  xmlns: "http://www.w3.org/2000/svg",
272
299
  ...t,
273
- children: /* @__PURE__ */ e(
300
+ children: /* @__PURE__ */ n(
274
301
  "path",
275
302
  {
276
303
  d: "M4.38333 5.31667L1.11667 8.58333C0.994445 8.70556 0.838889 8.76667 0.65 8.76667C0.461111 8.76667 0.305556 8.70556 0.183333 8.58333C0.0611111 8.46111 0 8.30556 0 8.11667C0 7.92778 0.0611111 7.77222 0.183333 7.65L3.45 4.38333L0.183333 1.11667C0.0611111 0.994445 0 0.838889 0 0.65C0 0.461111 0.0611111 0.305556 0.183333 0.183333C0.305556 0.0611111 0.461111 0 0.65 0C0.838889 0 0.994445 0.0611111 1.11667 0.183333L4.38333 3.45L7.65 0.183333C7.77222 0.0611111 7.92778 0 8.11667 0C8.30556 0 8.46111 0.0611111 8.58333 0.183333C8.70556 0.305556 8.76667 0.461111 8.76667 0.65C8.76667 0.838889 8.70556 0.994445 8.58333 1.11667L5.31667 4.38333L8.58333 7.65C8.70556 7.77222 8.76667 7.92778 8.76667 8.11667C8.76667 8.30556 8.70556 8.46111 8.58333 8.58333C8.46111 8.70556 8.30556 8.76667 8.11667 8.76667C7.92778 8.76667 7.77222 8.70556 7.65 8.58333L4.38333 5.31667Z",
@@ -280,25 +307,29 @@ const d = k({
280
307
  }
281
308
  );
282
309
  }
283
- ), at = s.forwardRef(
310
+ ), nt = s.forwardRef(
284
311
  function(t, a) {
285
- return /* @__PURE__ */ e(S, { "data-slot": "drawer", ...t });
312
+ return /* @__PURE__ */ n(L, { "data-slot": "drawer", ...t });
286
313
  }
287
- ), ot = s.forwardRef(function({ className: t, ...a }, o) {
288
- return /* @__PURE__ */ e(
289
- O,
314
+ ), it = s.forwardRef(function({ className: t, ...a }, o) {
315
+ const r = d();
316
+ return /* @__PURE__ */ n(
317
+ k,
290
318
  {
291
319
  ref: o,
292
320
  "data-slot": "drawer-trigger",
293
321
  [l]: "drawer-trigger",
294
- className: t,
322
+ className: m(
323
+ !a.asChild && r.nativeTrigger,
324
+ t
325
+ ),
295
326
  ...a
296
327
  }
297
328
  );
298
- }), rt = s.forwardRef(
329
+ }), st = s.forwardRef(
299
330
  function(t, a) {
300
- return /* @__PURE__ */ e(
301
- X,
331
+ return /* @__PURE__ */ n(
332
+ O,
302
333
  {
303
334
  "data-slot": "drawer-portal",
304
335
  [l]: "drawer-portal",
@@ -306,10 +337,10 @@ const d = k({
306
337
  }
307
338
  );
308
339
  }
309
- ), et = s.forwardRef(function({ className: t, ...a }, o) {
310
- const r = d(), f = C();
311
- return /* @__PURE__ */ e(
312
- L,
340
+ ), ct = s.forwardRef(function({ className: t, ...a }, o) {
341
+ const r = d(), f = T();
342
+ return /* @__PURE__ */ n(
343
+ A,
313
344
  {
314
345
  ref: o,
315
346
  "data-slot": "drawer-overlay",
@@ -319,66 +350,70 @@ const d = k({
319
350
  ...a
320
351
  }
321
352
  );
322
- }), nt = s.forwardRef(function({
353
+ }), lt = s.forwardRef(function({
323
354
  className: t,
324
355
  children: a,
325
356
  showCloseButton: o = !0,
326
357
  closeButtonLabel: r = "Close",
327
358
  side: f = "right",
328
- flush: v = !1,
329
- ...T
330
- }, N) {
331
- const p = d(), w = Y(), R = C();
332
- return /* @__PURE__ */ y(
333
- z,
359
+ flush: N = !1,
360
+ ...R
361
+ }, S) {
362
+ const u = d(), h = E(), z = T();
363
+ return /* @__PURE__ */ b(
364
+ F,
334
365
  {
335
- ref: N,
366
+ ref: S,
336
367
  "data-slot": "drawer-content",
337
368
  [l]: "drawer-content",
338
- ...w !== void 0 ? { "data-density": w } : {},
339
- ...R,
369
+ ...h !== void 0 ? { "data-density": h } : {},
370
+ ...z,
340
371
  "data-side": f,
341
372
  className: m(
342
- p.content,
343
- p[f],
344
- !v && p.contentPadding,
373
+ u.content,
374
+ u[f],
375
+ !N && u.contentPadding,
345
376
  t
346
377
  ),
347
- ...T,
378
+ ...R,
348
379
  children: [
349
380
  a,
350
- o && /* @__PURE__ */ y(
351
- D,
381
+ o && /* @__PURE__ */ b(
382
+ v,
352
383
  {
353
384
  "data-slot": "drawer-close",
354
385
  [l]: "drawer-close",
355
- className: p.closeButton,
386
+ className: u.closeButton,
356
387
  children: [
357
- /* @__PURE__ */ e(q, {}),
358
- /* @__PURE__ */ e("span", { className: p.srOnly, children: r })
388
+ /* @__PURE__ */ n(J, {}),
389
+ /* @__PURE__ */ n("span", { className: u.srOnly, children: r })
359
390
  ]
360
391
  }
361
392
  )
362
393
  ]
363
394
  }
364
395
  );
365
- }), it = s.forwardRef(function({ className: t, children: a, ...o }, r) {
396
+ }), mt = s.forwardRef(function({ className: t, children: a, ...o }, r) {
366
397
  const f = d();
367
- return /* @__PURE__ */ e(
368
- D,
398
+ return /* @__PURE__ */ n(
399
+ v,
369
400
  {
370
401
  ref: r,
371
402
  "data-slot": "drawer-close",
372
403
  [l]: "drawer-close",
373
- className: m(f.close, t),
404
+ className: m(
405
+ !o.asChild && f.nativeTrigger,
406
+ f.close,
407
+ t
408
+ ),
374
409
  ...o,
375
410
  children: a
376
411
  }
377
412
  );
378
- }), st = s.forwardRef(
413
+ }), dt = s.forwardRef(
379
414
  function({ className: t, ...a }, o) {
380
415
  const r = d();
381
- return /* @__PURE__ */ e(
416
+ return /* @__PURE__ */ n(
382
417
  "div",
383
418
  {
384
419
  ref: o,
@@ -389,10 +424,10 @@ const d = k({
389
424
  }
390
425
  );
391
426
  }
392
- ), ct = s.forwardRef(
427
+ ), ft = s.forwardRef(
393
428
  function({ className: t, ...a }, o) {
394
429
  const r = d();
395
- return /* @__PURE__ */ e(
430
+ return /* @__PURE__ */ n(
396
431
  "div",
397
432
  {
398
433
  ref: o,
@@ -403,10 +438,10 @@ const d = k({
403
438
  }
404
439
  );
405
440
  }
406
- ), lt = s.forwardRef(function({ className: t, ...a }, o) {
441
+ ), pt = s.forwardRef(function({ className: t, ...a }, o) {
407
442
  const r = d();
408
- return /* @__PURE__ */ e(
409
- A,
443
+ return /* @__PURE__ */ n(
444
+ Y,
410
445
  {
411
446
  ref: o,
412
447
  "data-slot": "drawer-title",
@@ -415,10 +450,10 @@ const d = k({
415
450
  ...a
416
451
  }
417
452
  );
418
- }), mt = s.forwardRef(function({ className: t, ...a }, o) {
453
+ }), ut = s.forwardRef(function({ className: t, ...a }, o) {
419
454
  const r = d();
420
- return /* @__PURE__ */ e(
421
- F,
455
+ return /* @__PURE__ */ n(
456
+ X,
422
457
  {
423
458
  ref: o,
424
459
  "data-slot": "drawer-description",
@@ -429,15 +464,15 @@ const d = k({
429
464
  );
430
465
  });
431
466
  export {
432
- at as Drawer,
433
- it as DrawerClose,
434
- nt as DrawerContent,
435
- mt as DrawerDescription,
436
- ct as DrawerFooter,
437
- st as DrawerHeader,
438
- et as DrawerOverlay,
439
- rt as DrawerPortal,
440
- lt as DrawerTitle,
441
- ot as DrawerTrigger
467
+ nt as Drawer,
468
+ mt as DrawerClose,
469
+ lt as DrawerContent,
470
+ ut as DrawerDescription,
471
+ ft as DrawerFooter,
472
+ dt as DrawerHeader,
473
+ ct as DrawerOverlay,
474
+ st as DrawerPortal,
475
+ pt as DrawerTitle,
476
+ it as DrawerTrigger
442
477
  };
443
478
  //# sourceMappingURL=drawer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.js","sources":["../../../src/components/drawer/drawer.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { useAppearanceAttributes } from \"../appearance-boundary/appearance-boundary\"\nimport { useDensity } from \"../density-provider/density-provider\"\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport * as tokens from \"../../tokens\"\n\nconst useStyles = makeZenithStyles({\n overlay: {\n position: \"fixed\",\n ...shorthands.inset(0),\n // v1's z-1300 is the overlay tier; no z-index token exists in this package.\n zIndex: 1300,\n backgroundColor: \"rgb(0 0 0 / 50%)\",\n \"&[data-state='open']\": {\n animationName: {\n from: { opacity: 0 },\n to: { opacity: 1 },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: { opacity: 1 },\n to: { opacity: 0 },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n content: {\n backgroundColor: tokens.gray2,\n position: \"fixed\",\n // v1's z-1300 is the overlay tier; no z-index token exists in this package.\n zIndex: 1300,\n display: \"flex\",\n flexDirection: \"column\",\n ...shorthands.gap(tokens.spacingGroup2),\n ...shorthands.borderRadius(tokens.radius2xl),\n // v1 shadow-lg; elevation has no token in this package.\n boxShadow: \"0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a\",\n },\n contentPadding: {\n // v1 p-3 is 0.75rem; no spacing token for 0.75rem exists in this package.\n ...shorthands.padding(tokens.spacingElement3),\n },\n right: {\n top: tokens.spacingElement1,\n bottom: tokens.spacingElement1,\n right: tokens.spacingElement1,\n height: \"calc(100% - 0.5rem)\",\n ...shorthands.borderLeft(\"1px\", \"solid\", tokens.grayA1),\n \"&[data-state='open']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: \"translateX(100%)\",\n },\n to: {\n opacity: 1,\n transform: \"translateX(0)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: {\n opacity: 1,\n transform: \"translateX(0)\",\n },\n to: {\n opacity: 0,\n transform: \"translateX(100%)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n left: {\n top: tokens.spacingElement1,\n bottom: tokens.spacingElement1,\n left: tokens.spacingElement1,\n height: \"calc(100% - 0.5rem)\",\n ...shorthands.borderRight(\"1px\", \"solid\", tokens.grayA1),\n \"&[data-state='open']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: \"translateX(-100%)\",\n },\n to: {\n opacity: 1,\n transform: \"translateX(0)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: {\n opacity: 1,\n transform: \"translateX(0)\",\n },\n to: {\n opacity: 0,\n transform: \"translateX(-100%)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n top: {\n left: tokens.spacingElement1,\n right: tokens.spacingElement1,\n top: tokens.spacingElement1,\n width: \"calc(100% - 0.5rem)\",\n ...shorthands.borderBottom(\"1px\", \"solid\", tokens.grayA1),\n \"&[data-state='open']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n },\n to: {\n opacity: 1,\n transform: \"translateY(0)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: {\n opacity: 1,\n transform: \"translateY(0)\",\n },\n to: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n bottom: {\n left: tokens.spacingElement1,\n right: tokens.spacingElement1,\n bottom: tokens.spacingElement1,\n width: \"calc(100% - 0.5rem)\",\n ...shorthands.borderTop(\"1px\", \"solid\", tokens.grayA1),\n \"&[data-state='open']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: \"translateY(100%)\",\n },\n to: {\n opacity: 1,\n transform: \"translateY(0)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: {\n opacity: 1,\n transform: \"translateY(0)\",\n },\n to: {\n opacity: 0,\n transform: \"translateY(100%)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n close: {\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.accentA8,\n },\n },\n closeButton: {\n position: \"absolute\",\n // v1 top-3 is 0.75rem; no spacing token for 0.75rem exists in this package.\n top: tokens.spacingElement3,\n right: tokens.spacingGroup2,\n ...shorthands.padding(tokens.spacingElement2),\n // v1 rounded-full; no full-radius token exists in this package.\n borderRadius: \"9999px\",\n cursor: \"pointer\",\n color: tokens.accentA11,\n \":hover\": {\n backgroundColor: tokens.accentSoft,\n },\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.accentA8,\n },\n \":disabled\": {\n pointerEvents: \"none\",\n },\n \"& svg\": {\n pointerEvents: \"none\",\n flexShrink: 0,\n width: \"1rem\",\n height: \"1rem\",\n },\n },\n header: {\n display: \"flex\",\n flexShrink: 0,\n flexDirection: \"column\",\n ...shorthands.gap(tokens.spacingElement2),\n textAlign: \"left\",\n },\n footer: {\n marginTop: \"auto\",\n display: \"flex\",\n flexShrink: 0,\n ...shorthands.gap(tokens.spacingElement2),\n justifyContent: \"flex-end\",\n },\n title: {\n fontSize: tokens.textLg,\n lineHeight: tokens.leadingLg,\n fontWeight: tokens.fontWeightSemibold,\n color: tokens.grayA12,\n },\n description: {\n color: tokens.grayA11,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n },\n srOnly: {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: 0,\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n },\n})\n\nconst XIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(\n function XIcon(props, ref) {\n return (\n <svg\n ref={ref}\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M4.38333 5.31667L1.11667 8.58333C0.994445 8.70556 0.838889 8.76667 0.65 8.76667C0.461111 8.76667 0.305556 8.70556 0.183333 8.58333C0.0611111 8.46111 0 8.30556 0 8.11667C0 7.92778 0.0611111 7.77222 0.183333 7.65L3.45 4.38333L0.183333 1.11667C0.0611111 0.994445 0 0.838889 0 0.65C0 0.461111 0.0611111 0.305556 0.183333 0.183333C0.305556 0.0611111 0.461111 0 0.65 0C0.838889 0 0.994445 0.0611111 1.11667 0.183333L4.38333 3.45L7.65 0.183333C7.77222 0.0611111 7.92778 0 8.11667 0C8.30556 0 8.46111 0.0611111 8.58333 0.183333C8.70556 0.305556 8.76667 0.461111 8.76667 0.65C8.76667 0.838889 8.70556 0.994445 8.58333 1.11667L5.31667 4.38333L8.58333 7.65C8.70556 7.77222 8.76667 7.92778 8.76667 8.11667C8.76667 8.30556 8.70556 8.46111 8.58333 8.58333C8.46111 8.70556 8.30556 8.76667 8.11667 8.76667C7.92778 8.76667 7.77222 8.70556 7.65 8.58333L4.38333 5.31667Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n }\n)\n\nexport type DrawerProps = React.ComponentProps<typeof DialogPrimitive.Root>\n\nexport const Drawer = React.forwardRef<HTMLElement, DrawerProps>(\n function Drawer(props, _ref) {\n return <DialogPrimitive.Root data-slot=\"drawer\" {...props} />\n }\n)\n\nexport type DrawerTriggerProps = React.ComponentProps<\n typeof DialogPrimitive.Trigger\n>\n\nexport const DrawerTrigger = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Trigger>,\n DrawerTriggerProps\n>(function DrawerTrigger({ className, ...props }, ref) {\n return (\n <DialogPrimitive.Trigger\n ref={ref}\n data-slot=\"drawer-trigger\"\n {...{ [SLOT_ATTR]: \"drawer-trigger\" }}\n className={className}\n {...props}\n />\n )\n})\n\nexport type DrawerPortalProps = React.ComponentProps<\n typeof DialogPrimitive.Portal\n>\n\nexport const DrawerPortal = React.forwardRef<HTMLElement, DrawerPortalProps>(\n function DrawerPortal(props, _ref) {\n return (\n <DialogPrimitive.Portal\n data-slot=\"drawer-portal\"\n {...{ [SLOT_ATTR]: \"drawer-portal\" }}\n {...props}\n />\n )\n }\n)\n\nexport type DrawerOverlayProps = React.ComponentProps<\n typeof DialogPrimitive.Overlay\n>\n\nexport const DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n DrawerOverlayProps\n>(function DrawerOverlay({ className, ...props }, ref) {\n const styles = useStyles()\n // The overlay is portalled too, so it re-stamps the boundary's appearance like the content (#8).\n const appearance = useAppearanceAttributes()\n\n return (\n <DialogPrimitive.Overlay\n ref={ref}\n data-slot=\"drawer-overlay\"\n {...{ [SLOT_ATTR]: \"drawer-overlay\" }}\n {...appearance}\n className={mergeClasses(styles.overlay, className)}\n {...props}\n />\n )\n})\n\nexport type DrawerSide = \"left\" | \"right\" | \"top\" | \"bottom\"\n\nexport type DrawerContentProps = React.ComponentProps<\n typeof DialogPrimitive.Content\n> & {\n showCloseButton?: boolean\n /**\n * Accessible name of the built-in close button, read by screen readers. Pass a translated\n * string for any locale other than English. Defaults to \"Close\".\n */\n closeButtonLabel?: string\n side?: DrawerSide\n flush?: boolean\n}\n\nexport const DrawerContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DrawerContentProps\n>(function DrawerContent(\n {\n className,\n children,\n showCloseButton = true,\n closeButtonLabel = \"Close\",\n side = \"right\",\n flush = false,\n ...props\n },\n ref\n) {\n const styles = useStyles()\n // DENSITY-SPEC.md §4.4 — portal content boundary; see dialog.tsx's identical comment.\n const override = useDensity()\n // SPEC.md §2 rule 3 — the same portal asymmetry, for the appearance pair: re-stamp the\n // nearest explicit AppearanceBoundary's mode+surface, or neither attribute when there is\n // none, leaving live shell inheritance in place.\n const appearance = useAppearanceAttributes()\n\n return (\n <DialogPrimitive.Content\n ref={ref}\n data-slot=\"drawer-content\"\n {...{ [SLOT_ATTR]: \"drawer-content\" }}\n {...(override !== undefined ? { \"data-density\": override } : {})}\n {...appearance}\n data-side={side}\n className={mergeClasses(\n styles.content,\n styles[side],\n !flush && styles.contentPadding,\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"drawer-close\"\n {...{ [SLOT_ATTR]: \"drawer-close\" }}\n className={styles.closeButton}\n >\n <XIcon />\n <span className={styles.srOnly}>{closeButtonLabel}</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n )\n})\n\nexport type DrawerCloseProps = React.ComponentProps<\n typeof DialogPrimitive.Close\n>\n\nexport const DrawerClose = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Close>,\n DrawerCloseProps\n>(function DrawerClose({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DialogPrimitive.Close\n ref={ref}\n data-slot=\"drawer-close\"\n {...{ [SLOT_ATTR]: \"drawer-close\" }}\n className={mergeClasses(styles.close, className)}\n {...props}\n >\n {children}\n </DialogPrimitive.Close>\n )\n})\n\nexport type DrawerHeaderProps = React.ComponentProps<\"div\">\n\nexport const DrawerHeader = React.forwardRef<HTMLDivElement, DrawerHeaderProps>(\n function DrawerHeader({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"drawer-header\"\n {...{ [SLOT_ATTR]: \"drawer-header\" }}\n className={mergeClasses(styles.header, className)}\n {...props}\n />\n )\n }\n)\n\nexport type DrawerFooterProps = React.ComponentProps<\"div\">\n\nexport const DrawerFooter = React.forwardRef<HTMLDivElement, DrawerFooterProps>(\n function DrawerFooter({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"drawer-footer\"\n {...{ [SLOT_ATTR]: \"drawer-footer\" }}\n className={mergeClasses(styles.footer, className)}\n {...props}\n />\n )\n }\n)\n\nexport type DrawerTitleProps = React.ComponentProps<\n typeof DialogPrimitive.Title\n>\n\nexport const DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n DrawerTitleProps\n>(function DrawerTitle({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DialogPrimitive.Title\n ref={ref}\n data-slot=\"drawer-title\"\n {...{ [SLOT_ATTR]: \"drawer-title\" }}\n className={mergeClasses(styles.title, className)}\n {...props}\n />\n )\n})\n\nexport type DrawerDescriptionProps = React.ComponentProps<\n typeof DialogPrimitive.Description\n>\n\nexport const DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n DrawerDescriptionProps\n>(function DrawerDescription({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DialogPrimitive.Description\n ref={ref}\n data-slot=\"drawer-description\"\n {...{ [SLOT_ATTR]: \"drawer-description\" }}\n className={mergeClasses(styles.description, className)}\n {...props}\n />\n )\n})\n"],"names":["useStyles","makeZenithStyles","shorthands","tokens.gray2","tokens.spacingGroup2","tokens.radius2xl","tokens.spacingElement3","tokens.spacingElement1","tokens.grayA1","tokens.accentA8","tokens.spacingElement2","tokens.accentA11","tokens.accentSoft","tokens.textLg","tokens.leadingLg","tokens.fontWeightSemibold","tokens.grayA12","tokens.grayA11","tokens.textSm","tokens.leadingSm","XIcon","React","props","ref","jsx","Drawer","_ref","DialogPrimitive.Root","DrawerTrigger","className","DialogPrimitive.Trigger","SLOT_ATTR","DrawerPortal","DialogPrimitive.Portal","DrawerOverlay","styles","appearance","useAppearanceAttributes","DialogPrimitive.Overlay","mergeClasses","DrawerContent","children","showCloseButton","closeButtonLabel","side","flush","override","useDensity","jsxs","DialogPrimitive.Content","DialogPrimitive.Close","DrawerClose","DrawerHeader","DrawerFooter","DrawerTitle","DialogPrimitive.Title","DrawerDescription","DialogPrimitive.Description"],"mappings":"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"}
1
+ {"version":3,"file":"drawer.js","sources":["../../../src/components/drawer/drawer.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { mergeClasses, shorthands } from \"@epilot/zenith-runtime/v1\"\n\nimport { useAppearanceAttributes } from \"../appearance-boundary/appearance-boundary\"\nimport { useDensity } from \"../density-provider/density-provider\"\nimport { SLOT_ATTR } from \"../../renderer/contract\"\nimport { makeZenithStyles } from \"../../styles/make-styles\"\nimport { boxModel, nativeControl } from \"../../styles/host-reset\"\nimport { OVERLAY_Z_INDEX } from \"../../styles/overlay-layer\"\nimport * as tokens from \"../../tokens\"\n\nconst useStyles = makeZenithStyles({\n // For the bare native `<button>` a Trigger/Close renders. Not applied under `asChild`, where the\n // child owns its own element and two atom sets would race for the same properties.\n nativeTrigger: {\n ...nativeControl,\n },\n overlay: {\n position: \"fixed\",\n ...shorthands.inset(0),\n zIndex: OVERLAY_Z_INDEX,\n backgroundColor: \"rgb(0 0 0 / 50%)\",\n \"&[data-state='open']\": {\n animationName: {\n from: { opacity: 0 },\n to: { opacity: 1 },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: { opacity: 1 },\n to: { opacity: 0 },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n content: {\n ...boxModel,\n backgroundColor: tokens.gray2,\n position: \"fixed\",\n zIndex: OVERLAY_Z_INDEX,\n display: \"flex\",\n flexDirection: \"column\",\n ...shorthands.gap(tokens.spacingLayout1),\n ...shorthands.borderRadius(tokens.radius2xl),\n // v1 shadow-lg; elevation has no token in this package.\n boxShadow: \"0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a\",\n // Collapses the side slots' slide too: media rules sort after them at equal specificity.\n \"@media (prefers-reduced-motion: reduce)\": {\n animationDuration: \"0.01ms\",\n animationIterationCount: \"1\",\n \"&[data-state='open']\": {\n animationDuration: \"0.01ms\",\n },\n \"&[data-state='closed']\": {\n animationDuration: \"0.01ms\",\n },\n },\n },\n contentPadding: {\n ...boxModel,\n // Layout tier, unlike Dialog, AlertDialog and Popover: a drawer holds sections, not one group.\n ...shorthands.padding(tokens.spacingLayout1),\n },\n right: {\n ...boxModel,\n top: tokens.spacingElement1,\n bottom: tokens.spacingElement1,\n right: tokens.spacingElement1,\n height: \"calc(100% - 0.5rem)\",\n ...shorthands.borderLeft(\"1px\", \"solid\", tokens.grayA1),\n \"&[data-state='open']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: \"translateX(100%)\",\n },\n to: {\n opacity: 1,\n transform: \"translateX(0)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: {\n opacity: 1,\n transform: \"translateX(0)\",\n },\n to: {\n opacity: 0,\n transform: \"translateX(100%)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n left: {\n ...boxModel,\n top: tokens.spacingElement1,\n bottom: tokens.spacingElement1,\n left: tokens.spacingElement1,\n height: \"calc(100% - 0.5rem)\",\n ...shorthands.borderRight(\"1px\", \"solid\", tokens.grayA1),\n \"&[data-state='open']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: \"translateX(-100%)\",\n },\n to: {\n opacity: 1,\n transform: \"translateX(0)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: {\n opacity: 1,\n transform: \"translateX(0)\",\n },\n to: {\n opacity: 0,\n transform: \"translateX(-100%)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n top: {\n ...boxModel,\n left: tokens.spacingElement1,\n right: tokens.spacingElement1,\n top: tokens.spacingElement1,\n width: \"calc(100% - 0.5rem)\",\n ...shorthands.borderBottom(\"1px\", \"solid\", tokens.grayA1),\n \"&[data-state='open']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n },\n to: {\n opacity: 1,\n transform: \"translateY(0)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: {\n opacity: 1,\n transform: \"translateY(0)\",\n },\n to: {\n opacity: 0,\n transform: \"translateY(-100%)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n bottom: {\n ...boxModel,\n left: tokens.spacingElement1,\n right: tokens.spacingElement1,\n bottom: tokens.spacingElement1,\n width: \"calc(100% - 0.5rem)\",\n ...shorthands.borderTop(\"1px\", \"solid\", tokens.grayA1),\n \"&[data-state='open']\": {\n animationName: {\n from: {\n opacity: 0,\n transform: \"translateY(100%)\",\n },\n to: {\n opacity: 1,\n transform: \"translateY(0)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 0.2, 1)\",\n },\n \"&[data-state='closed']\": {\n animationName: {\n from: {\n opacity: 1,\n transform: \"translateY(0)\",\n },\n to: {\n opacity: 0,\n transform: \"translateY(100%)\",\n },\n },\n animationDuration: \"150ms\",\n animationTimingFunction: \"cubic-bezier(0.4, 0, 1, 1)\",\n },\n },\n close: {\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.accentA8,\n },\n },\n closeButton: {\n ...nativeControl,\n position: \"absolute\",\n // Inset by the content padding so it lines up with the padded header.\n top: tokens.spacingLayout1,\n right: tokens.spacingLayout1,\n ...shorthands.padding(tokens.spacingElement2),\n // v1 rounded-full; no full-radius token exists in this package.\n borderRadius: \"9999px\",\n cursor: \"pointer\",\n color: tokens.accentA11,\n \":hover\": {\n backgroundColor: tokens.accentSoft,\n },\n \":focus-visible\": {\n outlineWidth: \"2px\",\n outlineStyle: \"solid\",\n outlineOffset: \"2px\",\n outlineColor: tokens.accentA8,\n },\n \":disabled\": {\n pointerEvents: \"none\",\n },\n \"& svg\": {\n display: \"block\",\n pointerEvents: \"none\",\n flexShrink: 0,\n width: \"1rem\",\n height: \"1rem\",\n },\n },\n header: {\n display: \"flex\",\n flexShrink: 0,\n flexDirection: \"column\",\n ...shorthands.gap(tokens.spacingElement2),\n textAlign: \"left\",\n },\n footer: {\n marginTop: \"auto\",\n display: \"flex\",\n flexShrink: 0,\n ...shorthands.gap(tokens.spacingElement2),\n justifyContent: \"flex-end\",\n },\n title: {\n ...shorthands.margin(0),\n fontSize: tokens.textLg,\n lineHeight: tokens.leadingLg,\n fontWeight: tokens.fontWeightSemibold,\n color: tokens.grayA12,\n },\n description: {\n ...shorthands.margin(0),\n color: tokens.grayA11,\n fontSize: tokens.textSm,\n lineHeight: tokens.leadingSm,\n },\n srOnly: {\n ...boxModel,\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n padding: 0,\n margin: \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n },\n})\n\nconst XIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(\n function XIcon(props, ref) {\n return (\n <svg\n ref={ref}\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 9 9\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M4.38333 5.31667L1.11667 8.58333C0.994445 8.70556 0.838889 8.76667 0.65 8.76667C0.461111 8.76667 0.305556 8.70556 0.183333 8.58333C0.0611111 8.46111 0 8.30556 0 8.11667C0 7.92778 0.0611111 7.77222 0.183333 7.65L3.45 4.38333L0.183333 1.11667C0.0611111 0.994445 0 0.838889 0 0.65C0 0.461111 0.0611111 0.305556 0.183333 0.183333C0.305556 0.0611111 0.461111 0 0.65 0C0.838889 0 0.994445 0.0611111 1.11667 0.183333L4.38333 3.45L7.65 0.183333C7.77222 0.0611111 7.92778 0 8.11667 0C8.30556 0 8.46111 0.0611111 8.58333 0.183333C8.70556 0.305556 8.76667 0.461111 8.76667 0.65C8.76667 0.838889 8.70556 0.994445 8.58333 1.11667L5.31667 4.38333L8.58333 7.65C8.70556 7.77222 8.76667 7.92778 8.76667 8.11667C8.76667 8.30556 8.70556 8.46111 8.58333 8.58333C8.46111 8.70556 8.30556 8.76667 8.11667 8.76667C7.92778 8.76667 7.77222 8.70556 7.65 8.58333L4.38333 5.31667Z\"\n fill=\"currentColor\"\n />\n </svg>\n )\n }\n)\n\nexport type DrawerProps = React.ComponentProps<typeof DialogPrimitive.Root>\n\nexport const Drawer = React.forwardRef<HTMLElement, DrawerProps>(\n function Drawer(props, _ref) {\n return <DialogPrimitive.Root data-slot=\"drawer\" {...props} />\n }\n)\n\nexport type DrawerTriggerProps = React.ComponentProps<\n typeof DialogPrimitive.Trigger\n>\n\nexport const DrawerTrigger = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Trigger>,\n DrawerTriggerProps\n>(function DrawerTrigger({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DialogPrimitive.Trigger\n ref={ref}\n data-slot=\"drawer-trigger\"\n {...{ [SLOT_ATTR]: \"drawer-trigger\" }}\n className={mergeClasses(\n !props.asChild && styles.nativeTrigger,\n className\n )}\n {...props}\n />\n )\n})\n\nexport type DrawerPortalProps = React.ComponentProps<\n typeof DialogPrimitive.Portal\n>\n\nexport const DrawerPortal = React.forwardRef<HTMLElement, DrawerPortalProps>(\n function DrawerPortal(props, _ref) {\n return (\n <DialogPrimitive.Portal\n data-slot=\"drawer-portal\"\n {...{ [SLOT_ATTR]: \"drawer-portal\" }}\n {...props}\n />\n )\n }\n)\n\nexport type DrawerOverlayProps = React.ComponentProps<\n typeof DialogPrimitive.Overlay\n>\n\nexport const DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n DrawerOverlayProps\n>(function DrawerOverlay({ className, ...props }, ref) {\n const styles = useStyles()\n // The overlay is portalled too, so it re-stamps the boundary's appearance like the content (#8).\n const appearance = useAppearanceAttributes()\n\n return (\n <DialogPrimitive.Overlay\n ref={ref}\n data-slot=\"drawer-overlay\"\n {...{ [SLOT_ATTR]: \"drawer-overlay\" }}\n {...appearance}\n className={mergeClasses(styles.overlay, className)}\n {...props}\n />\n )\n})\n\nexport type DrawerSide = \"left\" | \"right\" | \"top\" | \"bottom\"\n\nexport type DrawerContentProps = React.ComponentProps<\n typeof DialogPrimitive.Content\n> & {\n showCloseButton?: boolean\n /**\n * Accessible name of the built-in close button, read by screen readers. Pass a translated\n * string for any locale other than English. Defaults to \"Close\".\n */\n closeButtonLabel?: string\n side?: DrawerSide\n flush?: boolean\n}\n\nexport const DrawerContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n DrawerContentProps\n>(function DrawerContent(\n {\n className,\n children,\n showCloseButton = true,\n closeButtonLabel = \"Close\",\n side = \"right\",\n flush = false,\n ...props\n },\n ref\n) {\n const styles = useStyles()\n // DENSITY-SPEC.md §4.4 — portal content boundary; see dialog.tsx's identical comment.\n const override = useDensity()\n // SPEC.md §2 rule 3 — the same portal asymmetry, for the appearance pair: re-stamp the\n // nearest explicit AppearanceBoundary's mode+surface, or neither attribute when there is\n // none, leaving live shell inheritance in place.\n const appearance = useAppearanceAttributes()\n\n return (\n <DialogPrimitive.Content\n ref={ref}\n data-slot=\"drawer-content\"\n {...{ [SLOT_ATTR]: \"drawer-content\" }}\n {...(override !== undefined ? { \"data-density\": override } : {})}\n {...appearance}\n data-side={side}\n className={mergeClasses(\n styles.content,\n styles[side],\n !flush && styles.contentPadding,\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"drawer-close\"\n {...{ [SLOT_ATTR]: \"drawer-close\" }}\n className={styles.closeButton}\n >\n <XIcon />\n <span className={styles.srOnly}>{closeButtonLabel}</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n )\n})\n\nexport type DrawerCloseProps = React.ComponentProps<\n typeof DialogPrimitive.Close\n>\n\nexport const DrawerClose = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Close>,\n DrawerCloseProps\n>(function DrawerClose({ className, children, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DialogPrimitive.Close\n ref={ref}\n data-slot=\"drawer-close\"\n {...{ [SLOT_ATTR]: \"drawer-close\" }}\n className={mergeClasses(\n !props.asChild && styles.nativeTrigger,\n styles.close,\n className\n )}\n {...props}\n >\n {children}\n </DialogPrimitive.Close>\n )\n})\n\nexport type DrawerHeaderProps = React.ComponentProps<\"div\">\n\nexport const DrawerHeader = React.forwardRef<HTMLDivElement, DrawerHeaderProps>(\n function DrawerHeader({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"drawer-header\"\n {...{ [SLOT_ATTR]: \"drawer-header\" }}\n className={mergeClasses(styles.header, className)}\n {...props}\n />\n )\n }\n)\n\nexport type DrawerFooterProps = React.ComponentProps<\"div\">\n\nexport const DrawerFooter = React.forwardRef<HTMLDivElement, DrawerFooterProps>(\n function DrawerFooter({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <div\n ref={ref}\n data-slot=\"drawer-footer\"\n {...{ [SLOT_ATTR]: \"drawer-footer\" }}\n className={mergeClasses(styles.footer, className)}\n {...props}\n />\n )\n }\n)\n\nexport type DrawerTitleProps = React.ComponentProps<\n typeof DialogPrimitive.Title\n>\n\nexport const DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n DrawerTitleProps\n>(function DrawerTitle({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DialogPrimitive.Title\n ref={ref}\n data-slot=\"drawer-title\"\n {...{ [SLOT_ATTR]: \"drawer-title\" }}\n className={mergeClasses(styles.title, className)}\n {...props}\n />\n )\n})\n\nexport type DrawerDescriptionProps = React.ComponentProps<\n typeof DialogPrimitive.Description\n>\n\nexport const DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n DrawerDescriptionProps\n>(function DrawerDescription({ className, ...props }, ref) {\n const styles = useStyles()\n\n return (\n <DialogPrimitive.Description\n ref={ref}\n data-slot=\"drawer-description\"\n {...{ [SLOT_ATTR]: \"drawer-description\" }}\n className={mergeClasses(styles.description, className)}\n {...props}\n />\n )\n})\n"],"names":["useStyles","makeZenithStyles","nativeControl","shorthands","OVERLAY_Z_INDEX","boxModel","tokens.gray2","tokens.spacingLayout1","tokens.radius2xl","tokens.spacingElement1","tokens.grayA1","tokens.accentA8","tokens.spacingElement2","tokens.accentA11","tokens.accentSoft","tokens.textLg","tokens.leadingLg","tokens.fontWeightSemibold","tokens.grayA12","tokens.grayA11","tokens.textSm","tokens.leadingSm","XIcon","React","props","ref","jsx","Drawer","_ref","DialogPrimitive.Root","DrawerTrigger","className","styles","DialogPrimitive.Trigger","SLOT_ATTR","mergeClasses","DrawerPortal","DialogPrimitive.Portal","DrawerOverlay","appearance","useAppearanceAttributes","DialogPrimitive.Overlay","DrawerContent","children","showCloseButton","closeButtonLabel","side","flush","override","useDensity","jsxs","DialogPrimitive.Content","DialogPrimitive.Close","DrawerClose","DrawerHeader","DrawerFooter","DrawerTitle","DialogPrimitive.Title","DrawerDescription","DialogPrimitive.Description"],"mappings":"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"}