@epilot/zenith-react 0.1.0 → 0.2.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/README.md +34 -0
  2. package/dist/components/accordion/accordion.js +57 -48
  3. package/dist/components/accordion/accordion.js.map +1 -1
  4. package/dist/components/alert-dialog/alert-dialog.js +120 -91
  5. package/dist/components/alert-dialog/alert-dialog.js.map +1 -1
  6. package/dist/components/avatar/avatar-group.js +38 -35
  7. package/dist/components/avatar/avatar-group.js.map +1 -1
  8. package/dist/components/avatar/avatar.js +78 -71
  9. package/dist/components/avatar/avatar.js.map +1 -1
  10. package/dist/components/badge/badge.js +60 -55
  11. package/dist/components/badge/badge.js.map +1 -1
  12. package/dist/components/breadcrumb/breadcrumb.js +99 -54
  13. package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
  14. package/dist/components/button/button.js +87 -77
  15. package/dist/components/button/button.js.map +1 -1
  16. package/dist/components/button-group/button-group.js +36 -32
  17. package/dist/components/button-group/button-group.js.map +1 -1
  18. package/dist/components/callout/callout.js +113 -104
  19. package/dist/components/callout/callout.js.map +1 -1
  20. package/dist/components/card/card.js +62 -52
  21. package/dist/components/card/card.js.map +1 -1
  22. package/dist/components/checkbox/checkbox.js +22 -19
  23. package/dist/components/checkbox/checkbox.js.map +1 -1
  24. package/dist/components/code-block/code-block.js +135 -123
  25. package/dist/components/code-block/code-block.js.map +1 -1
  26. package/dist/components/code-editor/code-editor.js +276 -260
  27. package/dist/components/code-editor/code-editor.js.map +1 -1
  28. package/dist/components/collapsible-sidebar/collapsible-sidebar.js +62 -56
  29. package/dist/components/collapsible-sidebar/collapsible-sidebar.js.map +1 -1
  30. package/dist/components/command/command.js +116 -105
  31. package/dist/components/command/command.js.map +1 -1
  32. package/dist/components/data-table/data-table-body.js +38 -34
  33. package/dist/components/data-table/data-table-body.js.map +1 -1
  34. package/dist/components/data-table/data-table-column-header.js +30 -26
  35. package/dist/components/data-table/data-table-column-header.js.map +1 -1
  36. package/dist/components/data-table/data-table-column-order.js +79 -73
  37. package/dist/components/data-table/data-table-column-order.js.map +1 -1
  38. package/dist/components/data-table/data-table-column-visibility.js +25 -22
  39. package/dist/components/data-table/data-table-column-visibility.js.map +1 -1
  40. package/dist/components/data-table/data-table-content.js +47 -44
  41. package/dist/components/data-table/data-table-content.js.map +1 -1
  42. package/dist/components/data-table/data-table-error.js +36 -32
  43. package/dist/components/data-table/data-table-error.js.map +1 -1
  44. package/dist/components/data-table/data-table-footer.js +10 -8
  45. package/dist/components/data-table/data-table-footer.js.map +1 -1
  46. package/dist/components/data-table/data-table-header-draggable.js +40 -36
  47. package/dist/components/data-table/data-table-header-draggable.js.map +1 -1
  48. package/dist/components/data-table/data-table-loading.js +21 -18
  49. package/dist/components/data-table/data-table-loading.js.map +1 -1
  50. package/dist/components/data-table/data-table-resize-handle.js +13 -11
  51. package/dist/components/data-table/data-table-resize-handle.js.map +1 -1
  52. package/dist/components/data-table/data-table-row.js +47 -44
  53. package/dist/components/data-table/data-table-row.js.map +1 -1
  54. package/dist/components/data-table/data-table-toolbar.js +9 -7
  55. package/dist/components/data-table/data-table-toolbar.js.map +1 -1
  56. package/dist/components/data-table/data-table.js +48 -46
  57. package/dist/components/data-table/data-table.js.map +1 -1
  58. package/dist/components/date-range-picker/date-range-picker.js +212 -193
  59. package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
  60. package/dist/components/date-range-picker/range-calendar.js +36 -34
  61. package/dist/components/date-range-picker/range-calendar.js.map +1 -1
  62. package/dist/components/date-time-picker/calendar.js +290 -272
  63. package/dist/components/date-time-picker/calendar.js.map +1 -1
  64. package/dist/components/date-time-picker/date-time-picker-input.js +127 -112
  65. package/dist/components/date-time-picker/date-time-picker-input.js.map +1 -1
  66. package/dist/components/date-time-picker/date-time-picker-panel.js +126 -120
  67. package/dist/components/date-time-picker/date-time-picker-panel.js.map +1 -1
  68. package/dist/components/date-time-picker/date-time-picker.js +91 -86
  69. package/dist/components/date-time-picker/date-time-picker.js.map +1 -1
  70. package/dist/components/date-time-picker/time-picker.js +95 -87
  71. package/dist/components/date-time-picker/time-picker.js.map +1 -1
  72. package/dist/components/dialog/dialog.js +125 -103
  73. package/dist/components/dialog/dialog.js.map +1 -1
  74. package/dist/components/drawer/drawer.js +151 -114
  75. package/dist/components/drawer/drawer.js.map +1 -1
  76. package/dist/components/dropdown-menu/dropdown-menu.js +141 -112
  77. package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -1
  78. package/dist/components/field/field-combobox.js +196 -176
  79. package/dist/components/field/field-combobox.js.map +1 -1
  80. package/dist/components/field/field.js +237 -195
  81. package/dist/components/field/field.js.map +1 -1
  82. package/dist/components/list/list.js +237 -219
  83. package/dist/components/list/list.js.map +1 -1
  84. package/dist/components/option-card/option-card.js +129 -116
  85. package/dist/components/option-card/option-card.js.map +1 -1
  86. package/dist/components/pill/pill.js +55 -51
  87. package/dist/components/pill/pill.js.map +1 -1
  88. package/dist/components/popover/popover.js +53 -36
  89. package/dist/components/popover/popover.js.map +1 -1
  90. package/dist/components/radio/radio.js +38 -34
  91. package/dist/components/radio/radio.js.map +1 -1
  92. package/dist/components/scroll-area/scroll-area.js +38 -35
  93. package/dist/components/scroll-area/scroll-area.js.map +1 -1
  94. package/dist/components/scroll-overflow/scroll-overflow.js +166 -151
  95. package/dist/components/scroll-overflow/scroll-overflow.js.map +1 -1
  96. package/dist/components/segmented-control/segmented-control.js +93 -85
  97. package/dist/components/segmented-control/segmented-control.js.map +1 -1
  98. package/dist/components/select/select.js +149 -128
  99. package/dist/components/select/select.js.map +1 -1
  100. package/dist/components/separator/separator.js +19 -16
  101. package/dist/components/separator/separator.js.map +1 -1
  102. package/dist/components/skeleton/skeleton.js +34 -30
  103. package/dist/components/skeleton/skeleton.js.map +1 -1
  104. package/dist/components/spinner/spinner.js +22 -17
  105. package/dist/components/spinner/spinner.js.map +1 -1
  106. package/dist/components/surface/surface.js +25 -22
  107. package/dist/components/surface/surface.js.map +1 -1
  108. package/dist/components/switch/switch.js +66 -57
  109. package/dist/components/switch/switch.js.map +1 -1
  110. package/dist/components/table/table-pagination.js +139 -129
  111. package/dist/components/table/table-pagination.js.map +1 -1
  112. package/dist/components/table/table.js +104 -90
  113. package/dist/components/table/table.js.map +1 -1
  114. package/dist/components/tabs/tabs.js +212 -79
  115. package/dist/components/tabs/tabs.js.map +1 -1
  116. package/dist/components/toast/toast.js +112 -100
  117. package/dist/components/toast/toast.js.map +1 -1
  118. package/dist/components/toggle/toggle.js +32 -30
  119. package/dist/components/toggle/toggle.js.map +1 -1
  120. package/dist/components/tooltip/tooltip.js +59 -46
  121. package/dist/components/tooltip/tooltip.js.map +1 -1
  122. package/dist/index.d.ts +22 -0
  123. package/dist/lib/clear-button.js +18 -17
  124. package/dist/lib/clear-button.js.map +1 -1
  125. package/dist/styles/host-reset.js +47 -0
  126. package/dist/styles/host-reset.js.map +1 -0
  127. package/dist/styles/overlay-layer.js +5 -0
  128. package/dist/styles/overlay-layer.js.map +1 -0
  129. package/dist/tokens.json +1 -1
  130. package/package.json +8 -7
  131. package/scripts/migration-diagnostics.mjs +42 -7
  132. 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 N, Close as D, Content as R, Description as S, Overlay as z, Portal as F, Title as L, Trigger as X } 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 A } from "../appearance-boundary/appearance-boundary.js";
6
- import { useDensity as O } from "../density-provider/density-provider.js";
7
- import { makeZenithStyles as Y } from "../../styles/make-styles.js";
8
- import { leadingSm as k, textSm as E, grayA11 as P, grayA12 as B, fontWeightSemibold as H, leadingLg as I, textLg as W, accentA8 as h, accentSoft as j, accentA11 as _, spacingGroup2 as b, spacingElement3 as x, spacingElement1 as n, gray2 as Z, spacingElement2 as g, grayA1 as p, radius2xl as G } from "../../tokens/index.js";
9
- const d = Y({
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 G, spacingGroup2 as g, spacingElement1 as i, gray2 as V, spacingElement2 as y, grayA1 as w, radius2xl as q } 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 = Y({
31
37
  }
32
38
  },
33
39
  content: {
34
- backgroundColor: Z,
40
+ ...p,
41
+ backgroundColor: V,
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(G),
46
+ ...e.gap(g),
47
+ ...e.borderRadius(q),
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
+ // Group tier, as Dialog, AlertDialog and Popover; matches the radius2xl corner.
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", p),
73
+ ...e.borderLeft("1px", "solid", w),
55
74
  "&[data-state='open']": {
56
75
  animationName: {
57
76
  from: {
@@ -82,11 +101,12 @@ const d = Y({
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", p),
109
+ ...e.borderRight("1px", "solid", w),
90
110
  "&[data-state='open']": {
91
111
  animationName: {
92
112
  from: {
@@ -117,11 +137,12 @@ const d = Y({
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", p),
145
+ ...e.borderBottom("1px", "solid", w),
125
146
  "&[data-state='open']": {
126
147
  animationName: {
127
148
  from: {
@@ -152,11 +173,12 @@ const d = Y({
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", p),
181
+ ...e.borderTop("1px", "solid", w),
160
182
  "&[data-state='open']": {
161
183
  animationName: {
162
184
  from: {
@@ -191,32 +213,34 @@ const d = Y({
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: _,
229
+ color: G,
207
230
  ":hover": {
208
- backgroundColor: j
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 = Y({
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: W,
242
- lineHeight: I,
243
- fontWeight: H,
244
- color: B
265
+ ...e.margin(0),
266
+ fontSize: Z,
267
+ lineHeight: j,
268
+ fontWeight: W,
269
+ color: H
245
270
  },
246
271
  description: {
247
- color: P,
248
- fontSize: E,
249
- lineHeight: k
272
+ ...e.margin(0),
273
+ color: B,
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 = Y({
258
285
  clip: "rect(0, 0, 0, 0)",
259
286
  whiteSpace: "nowrap"
260
287
  }
261
- }), M = 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 = Y({
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 = Y({
280
307
  }
281
308
  );
282
309
  }
283
- ), tt = s.forwardRef(
310
+ ), nt = s.forwardRef(
284
311
  function(t, a) {
285
- return /* @__PURE__ */ e(N, { "data-slot": "drawer", ...t });
312
+ return /* @__PURE__ */ n(L, { "data-slot": "drawer", ...t });
286
313
  }
287
- ), at = s.forwardRef(function({ className: t, ...a }, o) {
288
- return /* @__PURE__ */ e(
289
- X,
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
- }), ot = s.forwardRef(
329
+ }), st = s.forwardRef(
299
330
  function(t, a) {
300
- return /* @__PURE__ */ e(
301
- F,
331
+ return /* @__PURE__ */ n(
332
+ O,
302
333
  {
303
334
  "data-slot": "drawer-portal",
304
335
  [l]: "drawer-portal",
@@ -306,77 +337,83 @@ const d = Y({
306
337
  }
307
338
  );
308
339
  }
309
- ), rt = s.forwardRef(function({ className: t, ...a }, o) {
310
- const r = d();
311
- return /* @__PURE__ */ e(
312
- z,
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",
316
347
  [l]: "drawer-overlay",
348
+ ...f,
317
349
  className: m(r.overlay, t),
318
350
  ...a
319
351
  }
320
352
  );
321
- }), et = s.forwardRef(function({
353
+ }), lt = s.forwardRef(function({
322
354
  className: t,
323
355
  children: a,
324
356
  showCloseButton: o = !0,
325
- side: r = "right",
326
- flush: u = !1,
327
- ...C
328
- }, v) {
329
- const f = d(), w = O(), T = A();
330
- return /* @__PURE__ */ y(
331
- R,
357
+ closeButtonLabel: r = "Close",
358
+ side: f = "right",
359
+ flush: N = !1,
360
+ ...R
361
+ }, S) {
362
+ const u = d(), h = E(), z = T();
363
+ return /* @__PURE__ */ b(
364
+ F,
332
365
  {
333
- ref: v,
366
+ ref: S,
334
367
  "data-slot": "drawer-content",
335
368
  [l]: "drawer-content",
336
- ...w !== void 0 ? { "data-density": w } : {},
337
- ...T,
338
- "data-side": r,
369
+ ...h !== void 0 ? { "data-density": h } : {},
370
+ ...z,
371
+ "data-side": f,
339
372
  className: m(
340
- f.content,
341
- f[r],
342
- !u && f.contentPadding,
373
+ u.content,
374
+ u[f],
375
+ !N && u.contentPadding,
343
376
  t
344
377
  ),
345
- ...C,
378
+ ...R,
346
379
  children: [
347
380
  a,
348
- o && /* @__PURE__ */ y(
349
- D,
381
+ o && /* @__PURE__ */ b(
382
+ v,
350
383
  {
351
384
  "data-slot": "drawer-close",
352
385
  [l]: "drawer-close",
353
- className: f.closeButton,
386
+ className: u.closeButton,
354
387
  children: [
355
- /* @__PURE__ */ e(M, {}),
356
- /* @__PURE__ */ e("span", { className: f.srOnly, children: "Close" })
388
+ /* @__PURE__ */ n(J, {}),
389
+ /* @__PURE__ */ n("span", { className: u.srOnly, children: r })
357
390
  ]
358
391
  }
359
392
  )
360
393
  ]
361
394
  }
362
395
  );
363
- }), nt = s.forwardRef(function({ className: t, children: a, ...o }, r) {
364
- const u = d();
365
- return /* @__PURE__ */ e(
366
- D,
396
+ }), mt = s.forwardRef(function({ className: t, children: a, ...o }, r) {
397
+ const f = d();
398
+ return /* @__PURE__ */ n(
399
+ v,
367
400
  {
368
401
  ref: r,
369
402
  "data-slot": "drawer-close",
370
403
  [l]: "drawer-close",
371
- className: m(u.close, t),
404
+ className: m(
405
+ !o.asChild && f.nativeTrigger,
406
+ f.close,
407
+ t
408
+ ),
372
409
  ...o,
373
410
  children: a
374
411
  }
375
412
  );
376
- }), it = s.forwardRef(
413
+ }), dt = s.forwardRef(
377
414
  function({ className: t, ...a }, o) {
378
415
  const r = d();
379
- return /* @__PURE__ */ e(
416
+ return /* @__PURE__ */ n(
380
417
  "div",
381
418
  {
382
419
  ref: o,
@@ -387,10 +424,10 @@ const d = Y({
387
424
  }
388
425
  );
389
426
  }
390
- ), st = s.forwardRef(
427
+ ), ft = s.forwardRef(
391
428
  function({ className: t, ...a }, o) {
392
429
  const r = d();
393
- return /* @__PURE__ */ e(
430
+ return /* @__PURE__ */ n(
394
431
  "div",
395
432
  {
396
433
  ref: o,
@@ -401,10 +438,10 @@ const d = Y({
401
438
  }
402
439
  );
403
440
  }
404
- ), ct = s.forwardRef(function({ className: t, ...a }, o) {
441
+ ), pt = s.forwardRef(function({ className: t, ...a }, o) {
405
442
  const r = d();
406
- return /* @__PURE__ */ e(
407
- L,
443
+ return /* @__PURE__ */ n(
444
+ Y,
408
445
  {
409
446
  ref: o,
410
447
  "data-slot": "drawer-title",
@@ -413,10 +450,10 @@ const d = Y({
413
450
  ...a
414
451
  }
415
452
  );
416
- }), lt = s.forwardRef(function({ className: t, ...a }, o) {
453
+ }), ut = s.forwardRef(function({ className: t, ...a }, o) {
417
454
  const r = d();
418
- return /* @__PURE__ */ e(
419
- S,
455
+ return /* @__PURE__ */ n(
456
+ X,
420
457
  {
421
458
  ref: o,
422
459
  "data-slot": "drawer-description",
@@ -427,15 +464,15 @@ const d = Y({
427
464
  );
428
465
  });
429
466
  export {
430
- tt as Drawer,
431
- nt as DrawerClose,
432
- et as DrawerContent,
433
- lt as DrawerDescription,
434
- st as DrawerFooter,
435
- it as DrawerHeader,
436
- rt as DrawerOverlay,
437
- ot as DrawerPortal,
438
- ct as DrawerTitle,
439
- at 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
440
477
  };
441
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\n return (\n <DialogPrimitive.Overlay\n ref={ref}\n data-slot=\"drawer-overlay\"\n {...{ [SLOT_ATTR]: \"drawer-overlay\" }}\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 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 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}>Close</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","DialogPrimitive.Overlay","mergeClasses","DrawerContent","children","showCloseButton","side","flush","override","useDensity","appearance","useAppearanceAttributes","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.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 // 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 // Group tier, as Dialog, AlertDialog and Popover; matches the radius2xl corner.\n ...shorthands.padding(tokens.spacingGroup2),\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.spacingGroup2,\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 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.spacingGroup2","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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"}