@gryt/ui 0.4.0 → 0.6.0

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.
package/dist/index.js CHANGED
@@ -1,46 +1,46 @@
1
1
  import { jsx as o, jsxs as d } from "react/jsx-runtime";
2
- import { Tooltip as R } from "@base-ui/react/tooltip";
3
- import { Button as at } from "@base-ui/react/button";
4
- import { forwardRef as s, useRef as yt, useCallback as Q, useLayoutEffect as mt, useSyncExternalStore as pt, useContext as W, createContext as bt } from "react";
5
- import { clsx as ft } from "clsx";
6
- import { twMerge as xt } from "tailwind-merge";
2
+ import { Tooltip as I } from "@base-ui/react/tooltip";
3
+ import { Button as it } from "@base-ui/react/button";
4
+ import { forwardRef as s, useRef as st, useCallback as U, useLayoutEffect as ft, useState as xt, useEffect as ht, useSyncExternalStore as wt, useContext as W, createContext as vt } from "react";
5
+ import { clsx as Nt } from "clsx";
6
+ import { twMerge as Pt } from "tailwind-merge";
7
7
  import { Field as E } from "@base-ui/react/field";
8
- import { PaperPlaneTilt as ht, X as nt, Check as st, CaretUpDown as wt, CircleNotch as vt, CaretDown as Nt, Minus as Pt, Plus as kt } from "@phosphor-icons/react";
8
+ import { PaperPlaneTilt as kt, X as ct, Check as lt, CaretUpDown as Tt, CircleNotch as Ct, CaretDown as $t, Minus as St, Plus as Rt } from "@phosphor-icons/react";
9
9
  import { Avatar as X } from "@base-ui/react/avatar";
10
- import { Checkbox as Z } from "@base-ui/react/checkbox";
11
- import { Radio as q } from "@base-ui/react/radio";
12
- import { RadioGroup as Tt } from "@base-ui/react/radio-group";
13
- import { Switch as tt } from "@base-ui/react/switch";
10
+ import { Checkbox as q } from "@base-ui/react/checkbox";
11
+ import { Radio as tt } from "@base-ui/react/radio";
12
+ import { RadioGroup as It } from "@base-ui/react/radio-group";
13
+ import { Switch as et } from "@base-ui/react/switch";
14
14
  import { Slider as B } from "@base-ui/react/slider";
15
- import { Select as f } from "@base-ui/react/select";
16
- import { Separator as $t } from "@base-ui/react/separator";
17
- import { Progress as Y } from "@base-ui/react/progress";
18
- import { Dialog as k } from "@base-ui/react/dialog";
19
- import { Drawer as h } from "@base-ui/react/drawer";
20
- import { Menu as I } from "@base-ui/react/menu";
15
+ import { Select as x } from "@base-ui/react/select";
16
+ import { Separator as Dt } from "@base-ui/react/separator";
17
+ import { Progress as O } from "@base-ui/react/progress";
18
+ import { Dialog as C } from "@base-ui/react/dialog";
19
+ import { Drawer as v } from "@base-ui/react/drawer";
20
+ import { Menu as D } from "@base-ui/react/menu";
21
21
  import { Tabs as V } from "@base-ui/react/tabs";
22
22
  import { Accordion as F } from "@base-ui/react/accordion";
23
- import { ContextMenu as P } from "@base-ui/react/context-menu";
24
- import { Popover as w } from "@base-ui/react/popover";
25
- import { Toast as v } from "@base-ui/react/toast";
26
- import { ScrollArea as L } from "@base-ui/react/scroll-area";
27
- import { Toggle as Ct } from "@base-ui/react/toggle";
28
- import { ToggleGroup as St } from "@base-ui/react/toggle-group";
23
+ import { ContextMenu as T } from "@base-ui/react/context-menu";
24
+ import { Popover as P } from "@base-ui/react/popover";
25
+ import { Toast as k } from "@base-ui/react/toast";
26
+ import { ScrollArea as j } from "@base-ui/react/scroll-area";
27
+ import { Toggle as At } from "@base-ui/react/toggle";
28
+ import { ToggleGroup as Mt } from "@base-ui/react/toggle-group";
29
29
  import { Meter as z } from "@base-ui/react/meter";
30
- import { AlertDialog as T } from "@base-ui/react/alert-dialog";
31
- import { Autocomplete as u } from "@base-ui/react/autocomplete";
30
+ import { AlertDialog as $ } from "@base-ui/react/alert-dialog";
31
+ import { Autocomplete as p } from "@base-ui/react/autocomplete";
32
32
  import { Combobox as g } from "@base-ui/react/combobox";
33
- import { CheckboxGroup as Rt } from "@base-ui/react/checkbox-group";
34
- import { Collapsible as _ } from "@base-ui/react/collapsible";
35
- import { Form as It } from "@base-ui/react/form";
36
- import { Fieldset as it } from "@base-ui/react/fieldset";
37
- import { Menubar as At } from "@base-ui/react/menubar";
38
- import { NavigationMenu as x } from "@base-ui/react/navigation-menu";
39
- import { NumberField as S } from "@base-ui/react/number-field";
40
- import { OTPField as et } from "@base-ui/react/otp-field";
41
- import { PreviewCard as D } from "@base-ui/react/preview-card";
42
- import { Toolbar as M } from "@base-ui/react/toolbar";
43
- const rt = {
33
+ import { CheckboxGroup as Lt } from "@base-ui/react/checkbox-group";
34
+ import { Collapsible as Q } from "@base-ui/react/collapsible";
35
+ import { Form as jt } from "@base-ui/react/form";
36
+ import { Fieldset as dt } from "@base-ui/react/fieldset";
37
+ import { Menubar as Gt } from "@base-ui/react/menubar";
38
+ import { NavigationMenu as h } from "@base-ui/react/navigation-menu";
39
+ import { NumberField as R } from "@base-ui/react/number-field";
40
+ import { OTPField as rt } from "@base-ui/react/otp-field";
41
+ import { PreviewCard as M } from "@base-ui/react/preview-card";
42
+ import { Toolbar as L } from "@base-ui/react/toolbar";
43
+ const ot = {
44
44
  color: {
45
45
  bg: "#111318",
46
46
  surface: "#1a1d24",
@@ -69,8 +69,8 @@ const rt = {
69
69
  full: 999
70
70
  }
71
71
  };
72
- function Dt(a = {}) {
73
- const t = { ...rt.color, ...a.color }, e = { ...rt.radius, ...a.radius };
72
+ function Bt(a = {}) {
73
+ const t = { ...ot.color, ...a.color }, e = { ...ot.radius, ...a.radius };
74
74
  return {
75
75
  "--gryt-bg": t.bg,
76
76
  "--gryt-surface": t.surface,
@@ -118,33 +118,33 @@ function Dt(a = {}) {
118
118
  "--gryt-radius-full": `${e.full}px`
119
119
  };
120
120
  }
121
- function Mt(a) {
121
+ function zt(a) {
122
122
  return Object.keys(a).some((t) => t.startsWith("--"));
123
123
  }
124
- function eo({
124
+ function so({
125
125
  children: a,
126
126
  className: t,
127
127
  theme: e,
128
128
  tooltipDelay: r = 400
129
129
  }) {
130
- const i = e && Mt(e) ? e : Dt(e ?? {});
131
- return /* @__PURE__ */ o("div", { className: t, style: i, children: /* @__PURE__ */ o(R.Provider, { delay: r, children: a }) });
130
+ const i = e && zt(e) ? e : Bt(e ?? {});
131
+ return /* @__PURE__ */ o("div", { className: t, style: i, children: /* @__PURE__ */ o(I.Provider, { delay: r, children: a }) });
132
132
  }
133
133
  function n(...a) {
134
- return xt(ft(a));
134
+ return Pt(Nt(a));
135
135
  }
136
- const Lt = {
136
+ const Ft = {
137
137
  primary: "bg-gryt-accent text-gryt-on-accent hover:not-data-disabled:bg-gryt-accent-light",
138
138
  secondary: "bg-gryt-secondary text-gryt-on-secondary hover:not-data-disabled:bg-gryt-secondary-light",
139
139
  neutral: "bg-gryt-surface-raised text-gryt-text hover:not-data-disabled:bg-gryt-surface-hover",
140
140
  danger: "bg-gryt-danger text-gryt-on-danger hover:not-data-disabled:bg-gryt-danger-light",
141
141
  ghost: "bg-transparent text-gryt-muted hover:not-data-disabled:bg-white/8 hover:not-data-disabled:text-gryt-text"
142
- }, jt = {
142
+ }, Vt = {
143
143
  xsmall: "min-h-8 px-3 text-xs",
144
144
  small: "min-h-9 px-4 text-sm",
145
145
  medium: "min-h-10 px-5 text-sm",
146
146
  large: "min-h-12 px-6 text-base"
147
- }, Gt = s(
147
+ }, Et = s(
148
148
  function({
149
149
  children: t,
150
150
  className: e,
@@ -152,12 +152,12 @@ const Lt = {
152
152
  size: i = "medium",
153
153
  startIcon: c,
154
154
  tone: l = "primary",
155
- ...p
156
- }, m) {
155
+ ...m
156
+ }, u) {
157
157
  return /* @__PURE__ */ d(
158
- at,
158
+ it,
159
159
  {
160
- ref: m,
160
+ ref: u,
161
161
  className: n(
162
162
  "gryt-button",
163
163
  "inline-flex items-center justify-center gap-2 border-0 shadow-none",
@@ -169,15 +169,21 @@ const Lt = {
169
169
  "duration-(--gryt-dur-spring) ease-spring",
170
170
  // Press travels further than hover, so the button reads as being
171
171
  // pushed down rather than just acknowledging the cursor.
172
- "motion-safe:hover:not-data-disabled:scale-[1.03]",
173
- "motion-safe:active:not-data-disabled:scale-[0.96]",
172
+ // A button that opens something does not grow under the cursor.
173
+ // Base UI positions the popup against the trigger's measured box, and
174
+ // it keeps measuring while the popup is open — so a trigger that
175
+ // scales on hover drags its own menu a pixel or two sideways every
176
+ // time the pointer crosses it. aria-haspopup is how the trigger says
177
+ // that is what it is; Base UI puts it there, nothing to pass.
178
+ "motion-safe:not-[[aria-haspopup]]:hover:not-data-disabled:scale-[1.03]",
179
+ "motion-safe:not-[[aria-haspopup]]:active:not-data-disabled:scale-[0.96]",
174
180
  "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gryt-accent-light",
175
181
  "data-disabled:cursor-not-allowed data-disabled:opacity-50",
176
- jt[i],
177
- Lt[l],
182
+ Vt[i],
183
+ Ft[l],
178
184
  e
179
185
  ),
180
- ...p,
186
+ ...m,
181
187
  children: [
182
188
  c,
183
189
  t,
@@ -186,56 +192,65 @@ const Lt = {
186
192
  }
187
193
  );
188
194
  }
189
- ), y = "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gryt-accent-light", $ = "rounded-(--gryt-radius-xl) border border-gryt-border bg-gryt-surface text-gryt-text", C = [
195
+ ), b = "focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-gryt-accent-light", _t = "has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2 has-[:focus-visible]:outline-gryt-accent-light", gt = [
196
+ "w-full rounded-(--gryt-radius-xl) border bg-gryt-surface-raised",
197
+ "text-gryt-text outline-none placeholder:text-gryt-muted",
198
+ "transition-colors duration-150 motion-reduce:transition-none",
199
+ "hover:border-gryt-accent-light focus:border-gryt-accent",
200
+ "disabled:cursor-not-allowed disabled:opacity-60"
201
+ ].join(" "), ut = {
202
+ small: "min-h-9 px-3 py-1.5 text-sm",
203
+ medium: "min-h-11 px-4 py-2.5 text-sm"
204
+ }, A = "rounded-(--gryt-radius-xl) border border-gryt-border bg-gryt-surface text-gryt-text", S = [
190
205
  // scale and translate are named explicitly because Tailwind v4 sets them as
191
206
  // standalone CSS properties rather than folding them into `transform`, so
192
207
  // transitioning `transform` would leave the popup snapping into place.
193
208
  "transition-[opacity,scale,translate] duration-(--gryt-dur-spring) ease-spring motion-reduce:transition-none",
194
209
  "data-starting-style:scale-[0.98] data-starting-style:opacity-0",
195
210
  "data-ending-style:scale-[0.98] data-ending-style:opacity-0"
196
- ].join(" "), j = "data-disabled:cursor-not-allowed data-disabled:opacity-50", Bt = {
211
+ ].join(" "), G = "data-disabled:cursor-not-allowed data-disabled:opacity-50", Ht = {
197
212
  primary: "data-checked:bg-gryt-accent data-checked:text-gryt-on-accent",
198
213
  secondary: "data-checked:bg-gryt-secondary data-checked:text-gryt-on-secondary",
199
214
  neutral: "data-checked:bg-gryt-surface-hover data-checked:text-gryt-text",
200
215
  danger: "data-checked:bg-gryt-danger data-checked:text-gryt-on-danger",
201
216
  success: "data-checked:bg-gryt-success data-checked:text-gryt-on-accent",
202
217
  warning: "data-checked:bg-gryt-warning data-checked:text-gryt-on-accent"
203
- }, ct = {
218
+ }, yt = {
204
219
  primary: "bg-gryt-accent",
205
220
  secondary: "bg-gryt-secondary",
206
221
  neutral: "bg-gryt-surface-hover",
207
222
  danger: "bg-gryt-danger",
208
223
  success: "bg-gryt-success",
209
224
  warning: "bg-gryt-warning"
210
- }, zt = {
225
+ }, Xt = {
211
226
  primary: "data-checked:border-gryt-accent",
212
227
  secondary: "data-checked:border-gryt-secondary",
213
228
  neutral: "data-checked:border-gryt-muted",
214
229
  danger: "data-checked:border-gryt-danger",
215
230
  success: "data-checked:border-gryt-success",
216
231
  warning: "data-checked:border-gryt-warning"
217
- }, Ft = {
232
+ }, Ot = {
218
233
  primary: "data-checked:bg-gryt-accent",
219
234
  secondary: "data-checked:bg-gryt-secondary",
220
235
  neutral: "data-checked:bg-gryt-surface-hover",
221
236
  danger: "data-checked:bg-gryt-danger",
222
237
  success: "data-checked:bg-gryt-success",
223
238
  warning: "data-checked:bg-gryt-warning"
224
- }, Vt = {
239
+ }, Yt = {
225
240
  primary: "text-gryt-accent hover:not-data-disabled:bg-gryt-accent/10",
226
241
  secondary: "text-gryt-secondary hover:not-data-disabled:bg-gryt-secondary/10",
227
242
  neutral: "text-gryt-muted hover:not-data-disabled:bg-white/8 hover:not-data-disabled:text-gryt-text",
228
243
  danger: "text-gryt-danger hover:not-data-disabled:bg-gryt-danger/10",
229
244
  ghost: "text-gryt-muted hover:not-data-disabled:bg-white/8 hover:not-data-disabled:text-gryt-text"
230
- }, Et = {
245
+ }, Ut = {
231
246
  xsmall: "h-8 w-8",
232
247
  small: "h-9 w-9",
233
248
  medium: "h-10 w-10",
234
249
  large: "h-12 w-12"
235
- }, ro = s(
250
+ }, co = s(
236
251
  function({ className: t, size: e = "medium", tone: r = "neutral", ...i }, c) {
237
252
  return /* @__PURE__ */ o(
238
- at,
253
+ it,
239
254
  {
240
255
  ref: c,
241
256
  className: n(
@@ -244,19 +259,25 @@ const Lt = {
244
259
  "rounded-(--gryt-radius-full) select-none",
245
260
  // scale rather than transform — see the note in Button.
246
261
  "transition-[scale,background-color,color] duration-(--gryt-dur-spring) ease-spring",
247
- "motion-safe:hover:not-data-disabled:scale-[1.06]",
248
- "motion-safe:active:not-data-disabled:scale-[0.94]",
249
- y,
250
- j,
251
- Et[e],
252
- Vt[r],
262
+ // A button that opens something does not grow under the cursor.
263
+ // Base UI positions the popup against the trigger's measured box, and
264
+ // it keeps measuring while the popup is open — so a trigger that
265
+ // scales on hover drags its own menu a pixel or two sideways every
266
+ // time the pointer crosses it. aria-haspopup is how the trigger says
267
+ // that is what it is; Base UI puts it there, nothing to pass.
268
+ "motion-safe:not-[[aria-haspopup]]:hover:not-data-disabled:scale-[1.06]",
269
+ "motion-safe:not-[[aria-haspopup]]:active:not-data-disabled:scale-[0.94]",
270
+ b,
271
+ G,
272
+ Ut[e],
273
+ Yt[r],
253
274
  t
254
275
  ),
255
276
  ...i
256
277
  }
257
278
  );
258
279
  }
259
- ), oo = s(
280
+ ), lo = s(
260
281
  function({ className: t, elevated: e = !1, ...r }, i) {
261
282
  return /* @__PURE__ */ o(
262
283
  "div",
@@ -271,7 +292,7 @@ const Lt = {
271
292
  }
272
293
  );
273
294
  }
274
- ), ao = s(
295
+ ), go = s(
275
296
  function({ children: t, className: e, from: r = "assistant", ...i }, c) {
276
297
  return /* @__PURE__ */ o(
277
298
  "div",
@@ -289,10 +310,7 @@ const Lt = {
289
310
  }
290
311
  );
291
312
  }
292
- ), Ht = {
293
- small: "min-h-9 px-3 py-1.5 text-sm",
294
- medium: "min-h-11 px-4 py-2.5 text-sm"
295
- }, no = s(
313
+ ), uo = s(
296
314
  function({
297
315
  className: t,
298
316
  error: e = !1,
@@ -300,27 +318,24 @@ const Lt = {
300
318
  helperText: i,
301
319
  label: c,
302
320
  minRows: l = 3,
303
- multiline: p = !1,
304
- size: m = "medium",
305
- ...N
306
- }, A) {
307
- const G = /* @__PURE__ */ o(
321
+ multiline: m = !1,
322
+ size: u = "medium",
323
+ ...w
324
+ }, y) {
325
+ const N = /* @__PURE__ */ o(
308
326
  E.Control,
309
327
  {
310
- ref: A,
311
- render: p ? /* @__PURE__ */ o("textarea", { rows: l }) : void 0,
328
+ ref: y,
329
+ render: m ? /* @__PURE__ */ o("textarea", { rows: l }) : void 0,
312
330
  className: n(
313
- "gryt-text-field-control w-full rounded-(--gryt-radius-xl) border bg-gryt-surface-raised",
314
- "text-gryt-text outline-none placeholder:text-gryt-muted",
315
- "transition-colors duration-150",
316
- "hover:border-gryt-accent-light focus:border-gryt-accent",
317
- "disabled:cursor-not-allowed disabled:opacity-60",
318
- p && "resize-y leading-6",
331
+ "gryt-text-field-control",
332
+ gt,
333
+ m && "resize-y leading-6",
319
334
  e ? "border-gryt-danger" : "border-gryt-border",
320
- Ht[m],
335
+ ut[u],
321
336
  t
322
337
  ),
323
- ...N
338
+ ...w
324
339
  }
325
340
  );
326
341
  return /* @__PURE__ */ d(
@@ -332,7 +347,7 @@ const Lt = {
332
347
  ),
333
348
  children: [
334
349
  c ? /* @__PURE__ */ o(E.Label, { className: "text-xs font-medium text-gryt-muted", children: c }) : null,
335
- G,
350
+ N,
336
351
  i ? /* @__PURE__ */ o(
337
352
  E.Description,
338
353
  {
@@ -347,7 +362,7 @@ const Lt = {
347
362
  }
348
363
  );
349
364
  }
350
- ), so = s(
365
+ ), yo = s(
351
366
  function({
352
367
  className: t,
353
368
  disabled: e = !1,
@@ -355,70 +370,70 @@ const Lt = {
355
370
  minRows: i = 1,
356
371
  onSubmit: c,
357
372
  placeholder: l = "Message Gryt",
358
- submitLabel: p = "Send",
359
- ...m
360
- }, N) {
361
- const A = yt(null), G = Q(() => {
362
- const b = A.current;
363
- if (!b)
373
+ submitLabel: m = "Send",
374
+ ...u
375
+ }, w) {
376
+ const y = st(null), N = U(() => {
377
+ const f = y.current;
378
+ if (!f)
364
379
  return;
365
- const O = window.getComputedStyle(b), J = parseFloat(O.lineHeight) || 24, K = parseFloat(O.paddingTop) + parseFloat(O.paddingBottom);
366
- b.style.height = "auto", b.style.height = `${Math.min(
367
- Math.max(b.scrollHeight, J * i + K),
368
- J * r + K
380
+ const H = window.getComputedStyle(f), K = parseFloat(H.lineHeight) || 24, Z = parseFloat(H.paddingTop) + parseFloat(H.paddingBottom);
381
+ f.style.height = "auto", f.style.height = `${Math.min(
382
+ Math.max(f.scrollHeight, K * i + Z),
383
+ K * r + Z
369
384
  )}px`;
370
385
  }, [r, i]);
371
- mt(G, [G, m.value]);
372
- function ut(b) {
386
+ ft(N, [N, u.value]);
387
+ function J(f) {
373
388
  if (!c) {
374
- b.preventDefault();
389
+ f.preventDefault();
375
390
  return;
376
391
  }
377
- c(b);
392
+ c(f);
378
393
  }
379
- return /* @__PURE__ */ d("form", { className: n("gryt-composer", t), onSubmit: ut, children: [
394
+ return /* @__PURE__ */ d("form", { className: n("gryt-composer", t), onSubmit: J, children: [
380
395
  /* @__PURE__ */ o(
381
396
  "textarea",
382
397
  {
383
- ref: (b) => {
384
- A.current = b, typeof N == "function" ? N(b) : N && (N.current = b);
398
+ ref: (f) => {
399
+ y.current = f, typeof w == "function" ? w(f) : w && (w.current = f);
385
400
  },
386
401
  rows: i,
387
402
  disabled: e,
388
403
  placeholder: l,
389
- onInput: G,
404
+ onInput: N,
390
405
  className: "gryt-composer-textarea disabled:cursor-not-allowed disabled:opacity-60",
391
- ...m
406
+ ...u
392
407
  }
393
408
  ),
394
409
  /* @__PURE__ */ o(
395
- Gt,
410
+ Et,
396
411
  {
397
412
  type: "submit",
398
413
  disabled: e,
399
414
  size: "small",
400
- endIcon: /* @__PURE__ */ o(ht, { size: 14, weight: "fill" }),
401
- children: p
415
+ endIcon: /* @__PURE__ */ o(kt, { size: 14, weight: "fill" }),
416
+ children: m
402
417
  }
403
418
  )
404
419
  ] });
405
420
  }
406
- ), Ot = {
421
+ ), Wt = {
407
422
  small: "h-8 w-8 text-xs",
408
423
  medium: "h-10 w-10 text-sm",
409
424
  large: "h-12 w-12 text-base"
410
- }, Xt = s(function({ alt: t, children: e, className: r, fallback: i, size: c = "medium", src: l, ...p }, m) {
425
+ }, Qt = s(function({ alt: t, children: e, className: r, fallback: i, size: c = "medium", src: l, ...m }, u) {
411
426
  return /* @__PURE__ */ d(
412
427
  X.Root,
413
428
  {
414
- ref: m,
429
+ ref: u,
415
430
  className: n(
416
431
  "gryt-avatar inline-flex shrink-0 items-center justify-center overflow-hidden align-middle select-none",
417
432
  "rounded-(--gryt-radius-full) bg-gryt-surface-raised font-medium text-gryt-text ring-1 ring-gryt-border",
418
- Ot[c],
433
+ Wt[c],
419
434
  r
420
435
  ),
421
- ...p,
436
+ ...m,
422
437
  children: [
423
438
  l ? /* @__PURE__ */ o(
424
439
  X.Image,
@@ -432,11 +447,11 @@ const Lt = {
432
447
  ]
433
448
  }
434
449
  );
435
- }), io = s(function({ active: t = !1, avatar: e, className: r, subtitle: i, title: c, ...l }, p) {
450
+ }), mo = s(function({ active: t = !1, avatar: e, className: r, subtitle: i, title: c, ...l }, m) {
436
451
  return /* @__PURE__ */ d(
437
452
  "button",
438
453
  {
439
- ref: p,
454
+ ref: m,
440
455
  type: "button",
441
456
  className: n(
442
457
  "gryt-conversation-item",
@@ -446,7 +461,7 @@ const Lt = {
446
461
  ...l,
447
462
  children: [
448
463
  e ?? /* @__PURE__ */ o(
449
- Xt,
464
+ Qt,
450
465
  {
451
466
  size: "small",
452
467
  className: n(
@@ -471,17 +486,17 @@ const Lt = {
471
486
  ]
472
487
  }
473
488
  );
474
- }), co = s(function({ badgeContent: t, children: e, className: r, max: i = 99, showZero: c = !1, ...l }, p) {
475
- const m = typeof t == "number" ? t : null, N = m !== null && m === 0 && !c, A = m !== null && m > i ? `${i}+` : t;
489
+ }), po = s(function({ badgeContent: t, children: e, className: r, max: i = 99, showZero: c = !1, ...l }, m) {
490
+ const u = typeof t == "number" ? t : null, w = u !== null && u === 0 && !c, y = u !== null && u > i ? `${i}+` : t;
476
491
  return /* @__PURE__ */ d(
477
492
  "span",
478
493
  {
479
- ref: p,
494
+ ref: m,
480
495
  className: n("gryt-badge relative inline-flex", r),
481
496
  ...l,
482
497
  children: [
483
498
  e,
484
- t !== void 0 && !N ? /* @__PURE__ */ o(
499
+ t !== void 0 && !w ? /* @__PURE__ */ o(
485
500
  "span",
486
501
  {
487
502
  className: n(
@@ -490,30 +505,30 @@ const Lt = {
490
505
  "bg-gryt-accent text-[0.65rem] leading-none font-semibold text-gryt-on-accent",
491
506
  "ring-2 ring-gryt-bg"
492
507
  ),
493
- children: A
508
+ children: y
494
509
  }
495
510
  ) : null
496
511
  ]
497
512
  }
498
513
  );
499
- }), Yt = {
514
+ }), Jt = {
500
515
  neutral: "border-gryt-border bg-gryt-surface-raised text-gryt-text",
501
516
  primary: "border-gryt-accent/40 bg-gryt-accent/12 text-gryt-accent",
502
517
  secondary: "border-gryt-secondary/40 bg-gryt-secondary/12 text-gryt-secondary",
503
518
  success: "border-gryt-success/40 bg-gryt-success/12 text-gryt-success",
504
519
  warning: "border-gryt-warning/40 bg-gryt-warning/12 text-gryt-warning",
505
520
  danger: "border-gryt-danger/40 bg-gryt-danger/12 text-gryt-danger"
506
- }, lo = s(function({ children: t, className: e, icon: r, label: i, onDelete: c, tone: l = "neutral", ...p }, m) {
521
+ }, bo = s(function({ children: t, className: e, icon: r, label: i, onDelete: c, tone: l = "neutral", ...m }, u) {
507
522
  return /* @__PURE__ */ d(
508
523
  "span",
509
524
  {
510
- ref: m,
525
+ ref: u,
511
526
  className: n(
512
527
  "gryt-chip inline-flex items-center gap-1.5 rounded-(--gryt-radius-full) border px-3 py-1 text-xs font-medium",
513
- Yt[l],
528
+ Jt[l],
514
529
  e
515
530
  ),
516
- ...p,
531
+ ...m,
517
532
  children: [
518
533
  r,
519
534
  i ?? t,
@@ -526,18 +541,18 @@ const Lt = {
526
541
  className: n(
527
542
  "-mr-1 inline-flex h-4 w-4 items-center justify-center rounded-(--gryt-radius-full)",
528
543
  "opacity-70 transition-opacity hover:opacity-100",
529
- y
544
+ b
530
545
  ),
531
- children: /* @__PURE__ */ o(nt, { size: 10, weight: "bold", "aria-hidden": "true" })
546
+ children: /* @__PURE__ */ o(ct, { size: 10, weight: "bold", "aria-hidden": "true" })
532
547
  }
533
548
  ) : null
534
549
  ]
535
550
  }
536
551
  );
537
- }), go = s(
552
+ }), fo = s(
538
553
  function({ className: t, tone: e = "primary", ...r }, i) {
539
554
  return /* @__PURE__ */ o(
540
- Z.Root,
555
+ q.Root,
541
556
  {
542
557
  ref: i,
543
558
  className: n(
@@ -550,15 +565,15 @@ const Lt = {
550
565
  "hover:not-data-disabled:border-gryt-accent-light",
551
566
  "motion-safe:hover:not-data-disabled:scale-[1.08]",
552
567
  "motion-safe:active:not-data-disabled:scale-[0.92]",
553
- y,
554
- j,
568
+ b,
569
+ G,
555
570
  // Unchecked stays a neutral outline; the tone only paints once checked.
556
- Bt[e],
571
+ Ht[e],
557
572
  t
558
573
  ),
559
574
  ...r,
560
575
  children: /* @__PURE__ */ o(
561
- Z.Indicator,
576
+ q.Indicator,
562
577
  {
563
578
  keepMounted: !0,
564
579
  className: n(
@@ -571,15 +586,15 @@ const Lt = {
571
586
  "data-unchecked:scale-0 data-unchecked:opacity-0",
572
587
  "motion-reduce:transition-none"
573
588
  ),
574
- children: /* @__PURE__ */ o(st, { size: 12, weight: "bold" })
589
+ children: /* @__PURE__ */ o(lt, { size: 12, weight: "bold" })
575
590
  }
576
591
  )
577
592
  }
578
593
  );
579
594
  }
580
- ), uo = s(function({ className: t, tone: e = "primary", ...r }, i) {
595
+ ), xo = s(function({ className: t, tone: e = "primary", ...r }, i) {
581
596
  return /* @__PURE__ */ o(
582
- q.Root,
597
+ tt.Root,
583
598
  {
584
599
  ref: i,
585
600
  className: n(
@@ -589,15 +604,15 @@ const Lt = {
589
604
  "hover:not-data-disabled:border-gryt-accent-light",
590
605
  "motion-safe:hover:not-data-disabled:scale-[1.08]",
591
606
  "motion-safe:active:not-data-disabled:scale-[0.92]",
592
- y,
593
- j,
607
+ b,
608
+ G,
594
609
  // Border takes the tone when selected; the dot inside carries the fill.
595
- zt[e],
610
+ Xt[e],
596
611
  t
597
612
  ),
598
613
  ...r,
599
614
  children: /* @__PURE__ */ o(
600
- q.Indicator,
615
+ tt.Indicator,
601
616
  {
602
617
  keepMounted: !0,
603
618
  className: n(
@@ -606,16 +621,16 @@ const Lt = {
606
621
  // From 0, for the same reason as the Checkbox tick — see the note there.
607
622
  "data-unchecked:scale-0 data-unchecked:opacity-0",
608
623
  "motion-reduce:transition-none",
609
- ct[e]
624
+ yt[e]
610
625
  )
611
626
  }
612
627
  )
613
628
  }
614
629
  );
615
- }), yo = s(
630
+ }), ho = s(
616
631
  function({ className: t, ...e }, r) {
617
632
  return /* @__PURE__ */ o(
618
- Tt,
633
+ It,
619
634
  {
620
635
  ref: r,
621
636
  className: n("gryt-radio-group flex flex-col gap-2", t),
@@ -623,10 +638,10 @@ const Lt = {
623
638
  }
624
639
  );
625
640
  }
626
- ), mo = s(
641
+ ), wo = s(
627
642
  function({ className: t, tone: e = "primary", ...r }, i) {
628
643
  return /* @__PURE__ */ o(
629
- tt.Root,
644
+ et.Root,
630
645
  {
631
646
  ref: i,
632
647
  className: n(
@@ -637,14 +652,14 @@ const Lt = {
637
652
  "hover:not-data-disabled:border-gryt-accent-light",
638
653
  "motion-safe:hover:not-data-disabled:scale-[1.05]",
639
654
  "motion-safe:active:not-data-disabled:scale-[0.95]",
640
- y,
641
- j,
642
- Ft[e],
655
+ b,
656
+ G,
657
+ Ot[e],
643
658
  t
644
659
  ),
645
660
  ...r,
646
661
  children: /* @__PURE__ */ o(
647
- tt.Thumb,
662
+ et.Thumb,
648
663
  {
649
664
  className: n(
650
665
  "h-4.5 w-4.5 rounded-(--gryt-radius-full) bg-gryt-text",
@@ -656,25 +671,49 @@ const Lt = {
656
671
  }
657
672
  );
658
673
  }
659
- );
660
- function po({
674
+ ), at = 3;
675
+ function vo({
661
676
  className: a,
662
677
  tone: t = "primary",
663
678
  "aria-label": e,
664
679
  ...r
665
680
  }) {
666
- return /* @__PURE__ */ o(
667
- B.Root,
681
+ const [i, c] = xt(!1), l = st(null);
682
+ ht(() => {
683
+ if (!i && l.current === null)
684
+ return;
685
+ const y = () => {
686
+ l.current = null, c(!1);
687
+ };
688
+ return window.addEventListener("pointerup", y), window.addEventListener("pointercancel", y), () => {
689
+ window.removeEventListener("pointerup", y), window.removeEventListener("pointercancel", y);
690
+ };
691
+ }, [i]);
692
+ function m(y) {
693
+ l.current = { x: y.clientX, y: y.clientY };
694
+ }
695
+ function u(y) {
696
+ const N = l.current;
697
+ if (N === null || i)
698
+ return;
699
+ (Math.abs(y.clientX - N.x) > at || Math.abs(y.clientY - N.y) > at) && c(!0);
700
+ }
701
+ const w = i ? "transition-none" : "duration-(--gryt-dur-spring) ease-spring-tight motion-reduce:transition-none";
702
+ return /* @__PURE__ */ o(B.Root, { className: n("gryt-slider w-full", a), ...r, children: /* @__PURE__ */ o(
703
+ B.Control,
668
704
  {
669
- className: n("gryt-slider w-full", a),
670
- ...r,
671
- children: /* @__PURE__ */ o(B.Control, { className: "flex w-full touch-none items-center py-2 select-none", children: /* @__PURE__ */ d(B.Track, { className: "h-1.5 w-full rounded-(--gryt-radius-full) bg-gryt-surface-raised select-none", children: [
705
+ className: "flex w-full touch-none items-center py-2 select-none",
706
+ onPointerDown: m,
707
+ onPointerMove: u,
708
+ children: /* @__PURE__ */ d(B.Track, { className: "h-1.5 w-full rounded-(--gryt-radius-full) bg-gryt-surface-raised select-none", children: [
672
709
  /* @__PURE__ */ o(
673
710
  B.Indicator,
674
711
  {
675
712
  className: n(
676
713
  "h-full rounded-(--gryt-radius-full) select-none",
677
- ct[t]
714
+ "transition-[width]",
715
+ w,
716
+ yt[t]
678
717
  )
679
718
  }
680
719
  ),
@@ -683,22 +722,37 @@ function po({
683
722
  {
684
723
  "aria-label": e,
685
724
  className: n(
686
- "h-4 w-4 rounded-(--gryt-radius-full) bg-gryt-text select-none",
687
- "transition-transform duration-(--gryt-dur-spring) ease-spring motion-reduce:transition-none",
688
- "motion-safe:hover:scale-[1.12] motion-safe:active:scale-[0.94]",
689
- y
725
+ "group h-4 w-4 rounded-(--gryt-radius-full) select-none",
726
+ "transition-[inset-inline-start]",
727
+ w,
728
+ // The ring goes on the thumb but the focus lands on the visually
729
+ // hidden input inside it, so this has to match a descendant.
730
+ // Without it the slider is the one control here you cannot see
731
+ // yourself tab to.
732
+ _t
733
+ ),
734
+ children: /* @__PURE__ */ o(
735
+ "span",
736
+ {
737
+ className: n(
738
+ "block h-full w-full rounded-(--gryt-radius-full) bg-gryt-text",
739
+ "transition-[scale] duration-(--gryt-dur-spring) ease-spring",
740
+ "motion-safe:group-hover:scale-[1.12] motion-safe:group-active:scale-[0.94]",
741
+ "motion-reduce:transition-none"
742
+ )
743
+ }
690
744
  )
691
745
  }
692
746
  )
693
- ] }) })
747
+ ] })
694
748
  }
695
- );
749
+ ) });
696
750
  }
697
- const Ut = {
751
+ const Kt = {
698
752
  small: "min-h-9 px-3 text-sm",
699
753
  medium: "min-h-11 px-4 text-sm"
700
754
  };
701
- function bo({
755
+ function No({
702
756
  className: a,
703
757
  label: t,
704
758
  options: e = [],
@@ -706,11 +760,11 @@ function bo({
706
760
  size: i = "medium",
707
761
  ...c
708
762
  }) {
709
- return /* @__PURE__ */ d(f.Root, { items: e, ...c, children: [
763
+ return /* @__PURE__ */ d(x.Root, { items: e, ...c, children: [
710
764
  /* @__PURE__ */ d("div", { className: n("gryt-select flex w-full flex-col gap-1.5", a), children: [
711
- t ? /* @__PURE__ */ o(f.Label, { className: "text-xs font-medium text-gryt-muted", children: t }) : null,
765
+ t ? /* @__PURE__ */ o(x.Label, { className: "text-xs font-medium text-gryt-muted", children: t }) : null,
712
766
  /* @__PURE__ */ d(
713
- f.Trigger,
767
+ x.Trigger,
714
768
  {
715
769
  className: n(
716
770
  "flex w-full items-center justify-between gap-2",
@@ -718,22 +772,22 @@ function bo({
718
772
  "text-gryt-text select-none",
719
773
  "transition-colors duration-150 hover:border-gryt-accent-light",
720
774
  "data-disabled:cursor-not-allowed data-disabled:opacity-60",
721
- y,
722
- Ut[i]
775
+ b,
776
+ Kt[i]
723
777
  ),
724
778
  children: [
725
- /* @__PURE__ */ o(f.Value, { placeholder: r }),
726
- /* @__PURE__ */ o(f.Icon, { className: "shrink-0 text-gryt-muted", children: /* @__PURE__ */ o(wt, { size: 16 }) })
779
+ /* @__PURE__ */ o(x.Value, { placeholder: r }),
780
+ /* @__PURE__ */ o(x.Icon, { className: "shrink-0 text-gryt-muted", children: /* @__PURE__ */ o(Tt, { size: 16 }) })
727
781
  ]
728
782
  }
729
783
  )
730
784
  ] }),
731
- /* @__PURE__ */ o(f.Portal, { children: /* @__PURE__ */ o(f.Positioner, { sideOffset: 6, className: "outline-none", children: /* @__PURE__ */ o(
732
- f.Popup,
785
+ /* @__PURE__ */ o(x.Portal, { children: /* @__PURE__ */ o(x.Positioner, { sideOffset: 6, className: "outline-none", children: /* @__PURE__ */ o(
786
+ x.Popup,
733
787
  {
734
- className: n("min-w-(--anchor-width) p-1", $, C),
735
- children: /* @__PURE__ */ o(f.List, { children: e.map((l) => /* @__PURE__ */ d(
736
- f.Item,
788
+ className: n("min-w-(--anchor-width) p-1", A, S),
789
+ children: /* @__PURE__ */ o(x.List, { children: e.map((l) => /* @__PURE__ */ d(
790
+ x.Item,
737
791
  {
738
792
  value: l.value,
739
793
  disabled: l.disabled,
@@ -744,8 +798,8 @@ function bo({
744
798
  "data-disabled:cursor-not-allowed data-disabled:opacity-50"
745
799
  ),
746
800
  children: [
747
- /* @__PURE__ */ o(f.ItemText, { children: l.label }),
748
- /* @__PURE__ */ o(f.ItemIndicator, { className: "text-gryt-accent", children: /* @__PURE__ */ o(st, { size: 14, weight: "bold" }) })
801
+ /* @__PURE__ */ o(x.ItemText, { children: l.label }),
802
+ /* @__PURE__ */ o(x.ItemIndicator, { className: "text-gryt-accent", children: /* @__PURE__ */ o(lt, { size: 14, weight: "bold" }) })
749
803
  ]
750
804
  },
751
805
  String(l.value)
@@ -754,22 +808,22 @@ function bo({
754
808
  ) }) })
755
809
  ] });
756
810
  }
757
- function fo({
811
+ function Po({
758
812
  children: a,
759
813
  className: t,
760
814
  side: e = "top",
761
815
  sideOffset: r = 8,
762
816
  title: i
763
817
  }) {
764
- return /* @__PURE__ */ d(R.Root, { children: [
765
- /* @__PURE__ */ o(R.Trigger, { render: a }),
766
- /* @__PURE__ */ o(R.Portal, { children: /* @__PURE__ */ o(R.Positioner, { side: e, sideOffset: r, children: /* @__PURE__ */ o(
767
- R.Popup,
818
+ return /* @__PURE__ */ d(I.Root, { children: [
819
+ /* @__PURE__ */ o(I.Trigger, { render: a }),
820
+ /* @__PURE__ */ o(I.Portal, { children: /* @__PURE__ */ o(I.Positioner, { side: e, sideOffset: r, children: /* @__PURE__ */ o(
821
+ I.Popup,
768
822
  {
769
823
  className: n(
770
824
  "gryt-tooltip rounded-(--gryt-radius-md) border border-gryt-border bg-gryt-surface-raised",
771
825
  "px-2.5 py-1.5 text-xs text-gryt-text",
772
- C,
826
+ S,
773
827
  t
774
828
  ),
775
829
  children: i
@@ -777,10 +831,10 @@ function fo({
777
831
  ) }) })
778
832
  ] });
779
833
  }
780
- const xo = R.Provider, ho = s(
834
+ const ko = I.Provider, To = s(
781
835
  function({ className: t, orientation: e = "horizontal", ...r }, i) {
782
836
  return /* @__PURE__ */ o(
783
- $t,
837
+ Dt,
784
838
  {
785
839
  ref: i,
786
840
  orientation: e,
@@ -793,7 +847,7 @@ const xo = R.Provider, ho = s(
793
847
  }
794
848
  );
795
849
  }
796
- ), wo = s(function({ className: t, ...e }, r) {
850
+ ), Co = s(function({ className: t, ...e }, r) {
797
851
  return /* @__PURE__ */ o(
798
852
  "div",
799
853
  {
@@ -806,7 +860,7 @@ const xo = R.Provider, ho = s(
806
860
  }
807
861
  );
808
862
  });
809
- function vo({
863
+ function $o({
810
864
  children: a,
811
865
  className: t,
812
866
  subheader: e,
@@ -826,7 +880,7 @@ function vo({
826
880
  }
827
881
  );
828
882
  }
829
- function No({
883
+ function So({
830
884
  className: a,
831
885
  ...t
832
886
  }) {
@@ -841,7 +895,7 @@ function No({
841
895
  }
842
896
  );
843
897
  }
844
- function Po({
898
+ function Ro({
845
899
  className: a,
846
900
  ...t
847
901
  }) {
@@ -856,12 +910,12 @@ function Po({
856
910
  }
857
911
  );
858
912
  }
859
- const Qt = {
913
+ const Zt = {
860
914
  info: "border-gryt-secondary/40 bg-gryt-secondary/10 text-gryt-secondary",
861
915
  success: "border-gryt-success/40 bg-gryt-success/10 text-gryt-success",
862
916
  warning: "border-gryt-warning/40 bg-gryt-warning/10 text-gryt-warning",
863
917
  error: "border-gryt-danger/40 bg-gryt-danger/10 text-gryt-danger"
864
- }, ko = s(function({ className: t, severity: e = "info", ...r }, i) {
918
+ }, Io = s(function({ className: t, severity: e = "info", ...r }, i) {
865
919
  return /* @__PURE__ */ o(
866
920
  "div",
867
921
  {
@@ -869,31 +923,31 @@ const Qt = {
869
923
  role: "alert",
870
924
  className: n(
871
925
  "gryt-alert rounded-(--gryt-radius-lg) border px-4 py-3 text-sm",
872
- Qt[e],
926
+ Zt[e],
873
927
  t
874
928
  ),
875
929
  ...r
876
930
  }
877
931
  );
878
932
  });
879
- function To({ className: a, value: t = null, ...e }) {
933
+ function Do({ className: a, value: t = null, ...e }) {
880
934
  return /* @__PURE__ */ o(
881
- Y.Root,
935
+ O.Root,
882
936
  {
883
937
  value: t,
884
938
  className: n("gryt-progress w-full", a),
885
939
  ...e,
886
- children: /* @__PURE__ */ o(Y.Track, { className: "h-1.5 w-full overflow-hidden rounded-(--gryt-radius-full) bg-gryt-surface-raised", children: /* @__PURE__ */ o(Y.Indicator, { className: "h-full rounded-(--gryt-radius-full) bg-gryt-accent transition-[width] duration-(--gryt-dur-spring-soft) ease-spring motion-reduce:transition-none" }) })
940
+ children: /* @__PURE__ */ o(O.Track, { className: "h-1.5 w-full overflow-hidden rounded-(--gryt-radius-full) bg-gryt-surface-raised", children: /* @__PURE__ */ o(O.Indicator, { className: "h-full rounded-(--gryt-radius-full) bg-gryt-accent transition-[width] duration-300 ease-out motion-reduce:transition-none" }) })
887
941
  }
888
942
  );
889
943
  }
890
- function $o({
944
+ function Ao({
891
945
  className: a,
892
946
  size: t = 24,
893
947
  "aria-label": e = "Loading"
894
948
  }) {
895
949
  return /* @__PURE__ */ o(
896
- vt,
950
+ Ct,
897
951
  {
898
952
  role: "status",
899
953
  "aria-label": e,
@@ -906,13 +960,13 @@ function $o({
906
960
  }
907
961
  );
908
962
  }
909
- const Wt = {
963
+ const qt = {
910
964
  text: "h-4 rounded-(--gryt-radius-sm)",
911
965
  rounded: "rounded-(--gryt-radius-lg)",
912
966
  circular: "rounded-(--gryt-radius-full)",
913
967
  rectangular: "rounded-none"
914
968
  };
915
- function Co({
969
+ function Mo({
916
970
  className: a,
917
971
  height: t,
918
972
  style: e,
@@ -930,8 +984,14 @@ function Co({
930
984
  {
931
985
  "aria-hidden": "true",
932
986
  className: n(
933
- "gryt-skeleton bg-gryt-surface-raised motion-safe:animate-pulse",
934
- Wt[r],
987
+ // Not bg-gryt-surface-raised. #1e2028 against #1a1d24 is four points of
988
+ // luminance, which is invisible on a laptop screen at an angle — the
989
+ // placeholder that is meant to say "something is coming" said nothing.
990
+ // A white wash instead of a fixed colour, so it stays visible on any of
991
+ // the surfaces it can land on rather than only the one it was picked
992
+ // against, and it dims rather than brightens as it pulses.
993
+ "gryt-skeleton bg-white/9 motion-safe:animate-pulse",
994
+ qt[r],
935
995
  a
936
996
  ),
937
997
  style: l,
@@ -939,16 +999,16 @@ function Co({
939
999
  }
940
1000
  );
941
1001
  }
942
- const lt = "transition-[opacity,scale,translate] duration-(--gryt-dur-spring) ease-spring motion-reduce:transition-none", _t = s(
1002
+ const mt = "transition-[opacity,scale,translate] duration-(--gryt-dur-spring) ease-spring motion-reduce:transition-none", te = s(
943
1003
  function({ className: t, ...e }, r) {
944
1004
  return /* @__PURE__ */ o(
945
- k.Backdrop,
1005
+ C.Backdrop,
946
1006
  {
947
1007
  ref: r,
948
1008
  className: n(
949
1009
  "gryt-dialog-backdrop fixed inset-0 min-h-dvh bg-black/60",
950
1010
  "backdrop-blur-(--gryt-backdrop-blur)",
951
- lt,
1011
+ mt,
952
1012
  "data-starting-style:opacity-0 data-ending-style:opacity-0",
953
1013
  t
954
1014
  ),
@@ -956,17 +1016,17 @@ const lt = "transition-[opacity,scale,translate] duration-(--gryt-dur-spring) ea
956
1016
  }
957
1017
  );
958
1018
  }
959
- ), Jt = s(
1019
+ ), ee = s(
960
1020
  function({ className: t, ...e }, r) {
961
1021
  return /* @__PURE__ */ o(
962
- k.Popup,
1022
+ C.Popup,
963
1023
  {
964
1024
  ref: r,
965
1025
  className: n(
966
1026
  "gryt-dialog fixed top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2",
967
1027
  "flex w-96 max-w-[calc(100vw-3rem)] flex-col gap-4",
968
1028
  "rounded-(--gryt-radius-lg) border border-gryt-border bg-gryt-surface p-5 text-gryt-text",
969
- lt,
1029
+ mt,
970
1030
  "data-starting-style:scale-[0.98] data-starting-style:opacity-0",
971
1031
  "data-ending-style:scale-[0.98] data-ending-style:opacity-0",
972
1032
  t
@@ -975,10 +1035,10 @@ const lt = "transition-[opacity,scale,translate] duration-(--gryt-dur-spring) ea
975
1035
  }
976
1036
  );
977
1037
  }
978
- ), Kt = s(
1038
+ ), re = s(
979
1039
  function({ className: t, ...e }, r) {
980
1040
  return /* @__PURE__ */ o(
981
- k.Title,
1041
+ C.Title,
982
1042
  {
983
1043
  ref: r,
984
1044
  className: n(
@@ -989,10 +1049,10 @@ const lt = "transition-[opacity,scale,translate] duration-(--gryt-dur-spring) ea
989
1049
  }
990
1050
  );
991
1051
  }
992
- ), Zt = s(
1052
+ ), oe = s(
993
1053
  function({ className: t, ...e }, r) {
994
1054
  return /* @__PURE__ */ o(
995
- k.Description,
1055
+ C.Description,
996
1056
  {
997
1057
  ref: r,
998
1058
  className: n(
@@ -1003,7 +1063,7 @@ const lt = "transition-[opacity,scale,translate] duration-(--gryt-dur-spring) ea
1003
1063
  }
1004
1064
  );
1005
1065
  }
1006
- ), qt = s(
1066
+ ), ae = s(
1007
1067
  function({ className: t, ...e }, r) {
1008
1068
  return /* @__PURE__ */ o(
1009
1069
  "div",
@@ -1017,45 +1077,45 @@ const lt = "transition-[opacity,scale,translate] duration-(--gryt-dur-spring) ea
1017
1077
  }
1018
1078
  );
1019
1079
  }
1020
- ), So = {
1021
- Root: k.Root,
1022
- Trigger: k.Trigger,
1023
- Portal: k.Portal,
1024
- Close: k.Close,
1025
- Backdrop: _t,
1026
- Popup: Jt,
1027
- Title: Kt,
1028
- Description: Zt,
1029
- Footer: qt
1030
- }, te = () => () => {
1080
+ ), Lo = {
1081
+ Root: C.Root,
1082
+ Trigger: C.Trigger,
1083
+ Portal: C.Portal,
1084
+ Close: C.Close,
1085
+ Backdrop: te,
1086
+ Popup: ee,
1087
+ Title: re,
1088
+ Description: oe,
1089
+ Footer: ae
1090
+ }, ne = () => () => {
1031
1091
  };
1032
- function ee(a) {
1033
- const t = Q(
1092
+ function ie(a) {
1093
+ const t = U(
1034
1094
  (r) => {
1035
- if (typeof window > "u" || !window.matchMedia) return te();
1095
+ if (typeof window > "u" || !window.matchMedia) return ne();
1036
1096
  const i = window.matchMedia(a);
1037
1097
  return i.addEventListener("change", r), () => i.removeEventListener("change", r);
1038
1098
  },
1039
1099
  [a]
1040
- ), e = Q(() => typeof window > "u" || !window.matchMedia ? !1 : window.matchMedia(a).matches, [a]);
1041
- return pt(t, e, () => !1);
1100
+ ), e = U(() => typeof window > "u" || !window.matchMedia ? !1 : window.matchMedia(a).matches, [a]);
1101
+ return wt(t, e, () => !1);
1042
1102
  }
1043
- const re = {
1103
+ const se = {
1044
1104
  left: "left",
1045
1105
  right: "right",
1046
1106
  top: "up",
1047
1107
  bottom: "down"
1048
- }, H = bt("right"), oe = {
1108
+ }, _ = vt("right"), ce = {
1049
1109
  left: "items-stretch justify-start",
1050
1110
  right: "items-stretch justify-end",
1051
1111
  top: "items-start justify-center",
1052
1112
  bottom: "items-end justify-center"
1053
- }, ae = {
1113
+ }, le = {
1054
1114
  left: "rounded-r-(--gryt-radius-xl)",
1055
1115
  right: "rounded-l-(--gryt-radius-xl)",
1056
1116
  top: "rounded-b-(--gryt-radius-xl)",
1057
1117
  bottom: "rounded-t-(--gryt-radius-xl)"
1058
- }, ne = {
1118
+ }, de = {
1059
1119
  left: [
1060
1120
  "h-full w-[calc(20rem+var(--gryt-drawer-bleed))] max-w-[calc(85vw+var(--gryt-drawer-bleed))]",
1061
1121
  "-ml-(--gryt-drawer-bleed) border-r py-5 pr-5 pl-[calc(1.25rem+var(--gryt-drawer-bleed))]",
@@ -1085,20 +1145,20 @@ const re = {
1085
1145
  "data-ending-style:[transform:translateY(calc(100%-var(--gryt-drawer-bleed)))]"
1086
1146
  ].join(" ")
1087
1147
  };
1088
- function se({
1148
+ function ge({
1089
1149
  side: a = "right",
1090
1150
  sheetOnMobile: t = !0,
1091
1151
  children: e,
1092
1152
  ...r
1093
1153
  }) {
1094
- const i = ee("(max-width: 767px)"), c = t && i ? "bottom" : a;
1095
- return /* @__PURE__ */ o(H.Provider, { value: c, children: /* @__PURE__ */ o(h.Root, { swipeDirection: re[c], ...r, children: e }) });
1154
+ const i = ie("(max-width: 767px)"), c = t && i ? "bottom" : a;
1155
+ return /* @__PURE__ */ o(_.Provider, { value: c, children: /* @__PURE__ */ o(v.Root, { swipeDirection: se[c], ...r, children: e }) });
1096
1156
  }
1097
- const ie = s(
1157
+ const ue = s(
1098
1158
  function({ className: t, ...e }, r) {
1099
- const i = W(H);
1159
+ const i = W(_);
1100
1160
  return /* @__PURE__ */ o(
1101
- h.Viewport,
1161
+ v.Viewport,
1102
1162
  {
1103
1163
  ref: r,
1104
1164
  className: n(
@@ -1106,17 +1166,17 @@ const ie = s(
1106
1166
  // viewport is what has to sit above the page. Without it a sticky
1107
1167
  // site header renders over the panel.
1108
1168
  "gryt-drawer-viewport fixed inset-0 z-50 flex",
1109
- oe[i],
1169
+ ce[i],
1110
1170
  t
1111
1171
  ),
1112
1172
  ...e
1113
1173
  }
1114
1174
  );
1115
1175
  }
1116
- ), ce = s(function({ className: t, ...e }, r) {
1117
- const i = W(H);
1176
+ ), ye = s(function({ className: t, ...e }, r) {
1177
+ const i = W(_);
1118
1178
  return /* @__PURE__ */ o(
1119
- h.Popup,
1179
+ v.Popup,
1120
1180
  {
1121
1181
  ref: r,
1122
1182
  className: n(
@@ -1127,16 +1187,16 @@ const ie = s(
1127
1187
  // duration here turns a drag into a drag plus lag.
1128
1188
  "data-swiping:duration-0 data-swiping:select-none",
1129
1189
  "motion-reduce:transition-none",
1130
- ne[i],
1131
- ae[i],
1190
+ de[i],
1191
+ le[i],
1132
1192
  t
1133
1193
  ),
1134
1194
  ...e
1135
1195
  }
1136
1196
  );
1137
- }), le = s(function({ className: t, ...e }, r) {
1197
+ }), me = s(function({ className: t, ...e }, r) {
1138
1198
  return /* @__PURE__ */ o(
1139
- h.Backdrop,
1199
+ v.Backdrop,
1140
1200
  {
1141
1201
  ref: r,
1142
1202
  className: n(
@@ -1155,8 +1215,8 @@ const ie = s(
1155
1215
  }
1156
1216
  );
1157
1217
  });
1158
- function de({ className: a }) {
1159
- const t = W(H);
1218
+ function pe({ className: a }) {
1219
+ const t = W(_);
1160
1220
  return t !== "bottom" && t !== "top" ? null : /* @__PURE__ */ o(
1161
1221
  "div",
1162
1222
  {
@@ -1169,22 +1229,22 @@ function de({ className: a }) {
1169
1229
  }
1170
1230
  );
1171
1231
  }
1172
- const Ro = {
1173
- Root: se,
1174
- Trigger: h.Trigger,
1175
- Portal: h.Portal,
1176
- Backdrop: le,
1177
- Viewport: ie,
1178
- Popup: ce,
1179
- Content: h.Content,
1180
- Grabber: de,
1181
- Close: h.Close,
1182
- Title: h.Title,
1183
- Description: h.Description
1184
- }, ge = s(
1232
+ const jo = {
1233
+ Root: ge,
1234
+ Trigger: v.Trigger,
1235
+ Portal: v.Portal,
1236
+ Backdrop: me,
1237
+ Viewport: ue,
1238
+ Popup: ye,
1239
+ Content: v.Content,
1240
+ Grabber: pe,
1241
+ Close: v.Close,
1242
+ Title: v.Title,
1243
+ Description: v.Description
1244
+ }, be = s(
1185
1245
  function({ className: t, sideOffset: e = 8, ...r }, i) {
1186
1246
  return /* @__PURE__ */ o(
1187
- I.Positioner,
1247
+ D.Positioner,
1188
1248
  {
1189
1249
  ref: i,
1190
1250
  sideOffset: e,
@@ -1193,23 +1253,23 @@ const Ro = {
1193
1253
  }
1194
1254
  );
1195
1255
  }
1196
- ), ue = s(function({ className: t, ...e }, r) {
1256
+ ), fe = s(function({ className: t, ...e }, r) {
1197
1257
  return /* @__PURE__ */ o(
1198
- I.Popup,
1258
+ D.Popup,
1199
1259
  {
1200
1260
  ref: r,
1201
1261
  className: n(
1202
1262
  "gryt-menu min-w-44 p-1 outline-none",
1203
- $,
1204
- C,
1263
+ A,
1264
+ S,
1205
1265
  t
1206
1266
  ),
1207
1267
  ...e
1208
1268
  }
1209
1269
  );
1210
- }), ye = s(function({ className: t, ...e }, r) {
1270
+ }), xe = s(function({ className: t, ...e }, r) {
1211
1271
  return /* @__PURE__ */ o(
1212
- I.Item,
1272
+ D.Item,
1213
1273
  {
1214
1274
  ref: r,
1215
1275
  className: n(
@@ -1224,45 +1284,57 @@ const Ro = {
1224
1284
  ...e
1225
1285
  }
1226
1286
  );
1227
- }), me = s(function({ className: t, ...e }, r) {
1287
+ }), he = s(function({ className: t, ...e }, r) {
1228
1288
  return /* @__PURE__ */ o(
1229
- I.Separator,
1289
+ D.Separator,
1230
1290
  {
1231
1291
  ref: r,
1232
1292
  className: n("gryt-menu-separator my-1 h-px bg-gryt-border", t),
1233
1293
  ...e
1234
1294
  }
1235
1295
  );
1236
- }), U = {
1237
- Root: I.Root,
1238
- Trigger: I.Trigger,
1239
- Portal: I.Portal,
1240
- Positioner: ge,
1241
- Popup: ue,
1242
- Item: ye,
1243
- Separator: me
1244
- }, pe = s(function({ className: t, ...e }, r) {
1296
+ }), Y = {
1297
+ Root: D.Root,
1298
+ Trigger: D.Trigger,
1299
+ Portal: D.Portal,
1300
+ Positioner: be,
1301
+ Popup: fe,
1302
+ Item: xe,
1303
+ Separator: he
1304
+ }, we = s(function({ className: t, ...e }, r) {
1245
1305
  return /* @__PURE__ */ o(
1246
1306
  V.Root,
1247
1307
  {
1248
1308
  ref: r,
1249
- className: n("gryt-tabs", t),
1309
+ className: n(
1310
+ "gryt-tabs",
1311
+ // Vertical puts the rail and the panel side by side. min-w-0 on the
1312
+ // panel does the rest; without the flex here the panel lands under the
1313
+ // rail and the layout reads as a very tall accordion.
1314
+ "data-[orientation=vertical]:flex data-[orientation=vertical]:items-stretch",
1315
+ t
1316
+ ),
1250
1317
  ...e
1251
1318
  }
1252
1319
  );
1253
- }), be = s(function({ className: t, ...e }, r) {
1320
+ }), ve = s(function({ className: t, ...e }, r) {
1254
1321
  return /* @__PURE__ */ o(
1255
1322
  V.List,
1256
1323
  {
1257
1324
  ref: r,
1258
1325
  className: n(
1259
1326
  "gryt-tabs-list relative inline-flex items-center gap-1 rounded-(--gryt-radius-full) bg-gryt-surface-raised p-1",
1327
+ // A rail, not a pill: rows are full width and the corner radius drops
1328
+ // to lg, because a 999px radius on a tall box bows its short edges.
1329
+ "data-[orientation=vertical]:flex data-[orientation=vertical]:shrink-0",
1330
+ "data-[orientation=vertical]:flex-col data-[orientation=vertical]:items-stretch",
1331
+ "data-[orientation=vertical]:rounded-(--gryt-radius-lg)",
1260
1332
  t
1261
1333
  ),
1262
1334
  ...e
1263
1335
  }
1264
1336
  );
1265
- }), fe = s(function({ className: t, ...e }, r) {
1337
+ }), Ne = s(function({ className: t, ...e }, r) {
1266
1338
  return /* @__PURE__ */ o(
1267
1339
  V.Tab,
1268
1340
  {
@@ -1276,13 +1348,18 @@ const Ro = {
1276
1348
  // The fill moved to Indicator so it can travel between tabs; the tab
1277
1349
  // itself only changes its text colour.
1278
1350
  "data-active:text-gryt-on-accent",
1279
- y,
1351
+ // Left-aligned and taller in a rail. Centred labels in a vertical list
1352
+ // leave the text edge ragged, which is what makes a rail look untidy.
1353
+ "data-[orientation=vertical]:min-h-9 data-[orientation=vertical]:justify-start",
1354
+ "data-[orientation=vertical]:gap-2.5 data-[orientation=vertical]:px-3",
1355
+ "data-[orientation=vertical]:rounded-(--gryt-radius-md)",
1356
+ b,
1280
1357
  t
1281
1358
  ),
1282
1359
  ...e
1283
1360
  }
1284
1361
  );
1285
- }), xe = s(
1362
+ }), Pe = s(
1286
1363
  function({ className: t, ...e }, r) {
1287
1364
  return /* @__PURE__ */ o(
1288
1365
  V.Indicator,
@@ -1295,22 +1372,37 @@ const Ro = {
1295
1372
  "rounded-(--gryt-radius-full) bg-gryt-accent",
1296
1373
  "transition-[translate,width] duration-(--gryt-dur-spring) ease-spring",
1297
1374
  "motion-reduce:transition-none",
1375
+ // Same pill, travelling down the rail instead of across the row.
1376
+ "[[data-orientation=vertical]_&]:top-0 [[data-orientation=vertical]_&]:left-1",
1377
+ "[[data-orientation=vertical]_&]:h-(--active-tab-height)",
1378
+ "[[data-orientation=vertical]_&]:w-[calc(100%-0.5rem)]",
1379
+ "[[data-orientation=vertical]_&]:translate-x-0",
1380
+ "[[data-orientation=vertical]_&]:translate-y-(--active-tab-top)",
1381
+ "[[data-orientation=vertical]_&]:rounded-(--gryt-radius-md)",
1382
+ "[[data-orientation=vertical]_&]:transition-[translate,height]",
1298
1383
  t
1299
1384
  ),
1300
1385
  ...e
1301
1386
  }
1302
1387
  );
1303
1388
  }
1304
- ), he = s(function({ className: t, ...e }, r) {
1389
+ ), ke = s(function({ className: t, ...e }, r) {
1305
1390
  return /* @__PURE__ */ o(
1306
1391
  V.Panel,
1307
1392
  {
1308
1393
  ref: r,
1309
- className: n("gryt-tabs-panel pt-3 text-sm text-gryt-text", t),
1394
+ className: n(
1395
+ "gryt-tabs-panel pt-3 text-sm text-gryt-text",
1396
+ // Beside the rail rather than under it, and allowed to shrink so long
1397
+ // content wraps instead of pushing the rail off screen.
1398
+ "data-[orientation=vertical]:min-w-0 data-[orientation=vertical]:flex-1",
1399
+ "data-[orientation=vertical]:pt-0 data-[orientation=vertical]:pl-4",
1400
+ t
1401
+ ),
1310
1402
  ...e
1311
1403
  }
1312
1404
  );
1313
- }), Io = Object.assign(pe, { List: be, Tab: fe, Panel: he, Indicator: xe }), we = s(function({ className: t, ...e }, r) {
1405
+ }), Go = Object.assign(we, { List: ve, Tab: Ne, Panel: ke, Indicator: Pe }), Te = s(function({ className: t, ...e }, r) {
1314
1406
  return /* @__PURE__ */ o(
1315
1407
  F.Root,
1316
1408
  {
@@ -1322,7 +1414,7 @@ const Ro = {
1322
1414
  ...e
1323
1415
  }
1324
1416
  );
1325
- }), ve = s(
1417
+ }), Ce = s(
1326
1418
  function({ className: t, ...e }, r) {
1327
1419
  return /* @__PURE__ */ o(
1328
1420
  F.Item,
@@ -1333,7 +1425,7 @@ const Ro = {
1333
1425
  }
1334
1426
  );
1335
1427
  }
1336
- ), Ne = s(
1428
+ ), $e = s(
1337
1429
  function({ children: t, className: e, expandIcon: r, ...i }, c) {
1338
1430
  return /* @__PURE__ */ o(F.Header, { className: "gryt-accordion-header m-0", children: /* @__PURE__ */ d(
1339
1431
  F.Trigger,
@@ -1344,14 +1436,14 @@ const Ro = {
1344
1436
  "rounded-(--gryt-radius-lg) border-0 bg-transparent px-3 py-2.5",
1345
1437
  "text-left text-sm font-medium text-gryt-text select-none",
1346
1438
  "transition-colors duration-150 hover:bg-gryt-surface-raised",
1347
- y,
1439
+ b,
1348
1440
  e
1349
1441
  ),
1350
1442
  ...i,
1351
1443
  children: [
1352
1444
  t,
1353
1445
  r === void 0 ? /* @__PURE__ */ o(
1354
- Nt,
1446
+ $t,
1355
1447
  {
1356
1448
  size: 16,
1357
1449
  className: "shrink-0 transition-transform duration-(--gryt-dur-spring) ease-spring data-panel-open:rotate-180 motion-reduce:transition-none"
@@ -1361,7 +1453,7 @@ const Ro = {
1361
1453
  }
1362
1454
  ) });
1363
1455
  }
1364
- ), Pe = s(
1456
+ ), Se = s(
1365
1457
  function({ children: t, className: e, ...r }, i) {
1366
1458
  return /* @__PURE__ */ o(
1367
1459
  F.Panel,
@@ -1381,10 +1473,10 @@ const Ro = {
1381
1473
  }
1382
1474
  );
1383
1475
  }
1384
- ), Ao = Object.assign(we, { Item: ve, Trigger: Ne, Panel: Pe }), ke = s(
1476
+ ), Bo = Object.assign(Te, { Item: Ce, Trigger: $e, Panel: Se }), Re = s(
1385
1477
  function({ className: t, sideOffset: e = 2, ...r }, i) {
1386
1478
  return /* @__PURE__ */ o(
1387
- P.Positioner,
1479
+ T.Positioner,
1388
1480
  {
1389
1481
  ref: i,
1390
1482
  sideOffset: e,
@@ -1393,22 +1485,22 @@ const Ro = {
1393
1485
  }
1394
1486
  );
1395
1487
  }
1396
- ), Do = {
1397
- Root: P.Root,
1398
- Trigger: P.Trigger,
1399
- Portal: P.Portal,
1400
- Positioner: ke,
1401
- Popup: U.Popup,
1402
- Item: U.Item,
1403
- Separator: U.Separator,
1404
- Group: P.Group,
1405
- GroupLabel: P.GroupLabel,
1406
- SubmenuRoot: P.SubmenuRoot,
1407
- SubmenuTrigger: P.SubmenuTrigger
1408
- }, Te = s(
1488
+ ), zo = {
1489
+ Root: T.Root,
1490
+ Trigger: T.Trigger,
1491
+ Portal: T.Portal,
1492
+ Positioner: Re,
1493
+ Popup: Y.Popup,
1494
+ Item: Y.Item,
1495
+ Separator: Y.Separator,
1496
+ Group: T.Group,
1497
+ GroupLabel: T.GroupLabel,
1498
+ SubmenuRoot: T.SubmenuRoot,
1499
+ SubmenuTrigger: T.SubmenuTrigger
1500
+ }, Ie = s(
1409
1501
  function({ className: t, sideOffset: e = 8, ...r }, i) {
1410
1502
  return /* @__PURE__ */ o(
1411
- w.Positioner,
1503
+ P.Positioner,
1412
1504
  {
1413
1505
  ref: i,
1414
1506
  sideOffset: e,
@@ -1417,25 +1509,25 @@ const Ro = {
1417
1509
  }
1418
1510
  );
1419
1511
  }
1420
- ), $e = s(
1512
+ ), De = s(
1421
1513
  function({ className: t, ...e }, r) {
1422
1514
  return /* @__PURE__ */ o(
1423
- w.Popup,
1515
+ P.Popup,
1424
1516
  {
1425
1517
  ref: r,
1426
1518
  className: n(
1427
1519
  "gryt-popover max-w-[min(20rem,calc(100vw-2rem))] p-4 outline-none",
1428
- $,
1429
- C,
1520
+ A,
1521
+ S,
1430
1522
  t
1431
1523
  ),
1432
1524
  ...e
1433
1525
  }
1434
1526
  );
1435
1527
  }
1436
- ), Ce = s(function({ className: t, ...e }, r) {
1528
+ ), Ae = s(function({ className: t, ...e }, r) {
1437
1529
  return /* @__PURE__ */ o(
1438
- w.Title,
1530
+ P.Title,
1439
1531
  {
1440
1532
  ref: r,
1441
1533
  className: n(
@@ -1445,9 +1537,9 @@ const Ro = {
1445
1537
  ...e
1446
1538
  }
1447
1539
  );
1448
- }), Se = s(function({ className: t, ...e }, r) {
1540
+ }), Me = s(function({ className: t, ...e }, r) {
1449
1541
  return /* @__PURE__ */ o(
1450
- w.Description,
1542
+ P.Description,
1451
1543
  {
1452
1544
  ref: r,
1453
1545
  className: n(
@@ -1457,20 +1549,26 @@ const Ro = {
1457
1549
  ...e
1458
1550
  }
1459
1551
  );
1460
- }), Mo = {
1461
- Root: w.Root,
1462
- Trigger: w.Trigger,
1463
- Portal: w.Portal,
1464
- Positioner: Te,
1465
- Popup: $e,
1466
- Title: Ce,
1467
- Description: Se,
1468
- Close: w.Close,
1469
- Arrow: w.Arrow
1470
- }, Re = s(
1552
+ }), Fo = {
1553
+ Root: P.Root,
1554
+ Trigger: P.Trigger,
1555
+ Portal: P.Portal,
1556
+ Positioner: Ie,
1557
+ Popup: De,
1558
+ Title: Ae,
1559
+ Description: Me,
1560
+ Close: P.Close,
1561
+ Arrow: P.Arrow
1562
+ }, Le = {
1563
+ neutral: "border-white/8 bg-gryt-surface",
1564
+ info: "border-gryt-secondary/30 bg-gryt-secondary/8",
1565
+ success: "border-gryt-success/30 bg-gryt-success/8",
1566
+ warning: "border-gryt-warning/30 bg-gryt-warning/8",
1567
+ danger: "border-gryt-danger/30 bg-gryt-danger/8"
1568
+ }, je = s(
1471
1569
  function({ className: t, ...e }, r) {
1472
1570
  return /* @__PURE__ */ o(
1473
- v.Viewport,
1571
+ k.Viewport,
1474
1572
  {
1475
1573
  ref: r,
1476
1574
  className: n(
@@ -1482,14 +1580,20 @@ const Ro = {
1482
1580
  }
1483
1581
  );
1484
1582
  }
1485
- ), Ie = s(function({ className: t, ...e }, r) {
1583
+ ), Ge = s(function({ className: t, severity: e = "neutral", ...r }, i) {
1486
1584
  return /* @__PURE__ */ o(
1487
- v.Root,
1585
+ k.Root,
1488
1586
  {
1489
- ref: r,
1587
+ ref: i,
1490
1588
  className: n(
1491
1589
  "gryt-toast relative flex flex-col p-3 pr-9",
1492
- $,
1590
+ // Not popupSurface. That border is --gryt-border, a solid slate line
1591
+ // that is right for a menu anchored to the thing that opened it and too
1592
+ // heavy for a card floating in the corner with nothing behind it. A
1593
+ // white hairline separates it from the page without drawing a box
1594
+ // around it.
1595
+ "rounded-(--gryt-radius-xl) border text-gryt-text",
1596
+ Le[e],
1493
1597
  // Swiping is a pointer gesture, so the toast follows the finger
1494
1598
  // through Base UI's swipe variables before it animates out.
1495
1599
  "transition-[opacity,transform] duration-(--gryt-dur-spring) ease-spring",
@@ -1498,12 +1602,12 @@ const Ro = {
1498
1602
  "motion-reduce:transition-none",
1499
1603
  t
1500
1604
  ),
1501
- ...e
1605
+ ...r
1502
1606
  }
1503
1607
  );
1504
- }), Ae = s(function({ className: t, ...e }, r) {
1608
+ }), Be = s(function({ className: t, ...e }, r) {
1505
1609
  return /* @__PURE__ */ o(
1506
- v.Title,
1610
+ k.Title,
1507
1611
  {
1508
1612
  ref: r,
1509
1613
  className: n(
@@ -1513,9 +1617,9 @@ const Ro = {
1513
1617
  ...e
1514
1618
  }
1515
1619
  );
1516
- }), De = s(function({ className: t, ...e }, r) {
1620
+ }), ze = s(function({ className: t, ...e }, r) {
1517
1621
  return /* @__PURE__ */ o(
1518
- v.Description,
1622
+ k.Description,
1519
1623
  {
1520
1624
  ref: r,
1521
1625
  className: n(
@@ -1525,9 +1629,9 @@ const Ro = {
1525
1629
  ...e
1526
1630
  }
1527
1631
  );
1528
- }), Me = s(function({ className: t, children: e, ...r }, i) {
1632
+ }), Fe = s(function({ className: t, children: e, ...r }, i) {
1529
1633
  return /* @__PURE__ */ o(
1530
- v.Close,
1634
+ k.Close,
1531
1635
  {
1532
1636
  ref: i,
1533
1637
  "aria-label": "Close",
@@ -1539,12 +1643,12 @@ const Ro = {
1539
1643
  t
1540
1644
  ),
1541
1645
  ...r,
1542
- children: e ?? /* @__PURE__ */ o(nt, { size: 14, weight: "bold" })
1646
+ children: e ?? /* @__PURE__ */ o(ct, { size: 14, weight: "bold" })
1543
1647
  }
1544
1648
  );
1545
- }), Le = s(function({ className: t, ...e }, r) {
1649
+ }), Ve = s(function({ className: t, ...e }, r) {
1546
1650
  return /* @__PURE__ */ o(
1547
- v.Action,
1651
+ k.Action,
1548
1652
  {
1549
1653
  ref: r,
1550
1654
  className: n(
@@ -1558,19 +1662,19 @@ const Ro = {
1558
1662
  ...e
1559
1663
  }
1560
1664
  );
1561
- }), Lo = {
1562
- Provider: v.Provider,
1563
- Portal: v.Portal,
1564
- Viewport: Re,
1565
- Root: Ie,
1566
- Title: Ae,
1567
- Description: De,
1568
- Close: Me,
1569
- Action: Le
1570
- }, jo = v.useToastManager, je = s(
1665
+ }), Vo = {
1666
+ Provider: k.Provider,
1667
+ Portal: k.Portal,
1668
+ Viewport: je,
1669
+ Root: Ge,
1670
+ Title: Be,
1671
+ Description: ze,
1672
+ Close: Fe,
1673
+ Action: Ve
1674
+ }, Eo = k.useToastManager, Ee = s(
1571
1675
  function({ className: t, ...e }, r) {
1572
1676
  return /* @__PURE__ */ o(
1573
- L.Root,
1677
+ j.Root,
1574
1678
  {
1575
1679
  ref: r,
1576
1680
  className: n("gryt-scroll-area relative", t),
@@ -1578,10 +1682,10 @@ const Ro = {
1578
1682
  }
1579
1683
  );
1580
1684
  }
1581
- ), Ge = s(
1685
+ ), _e = s(
1582
1686
  function({ className: t, ...e }, r) {
1583
1687
  return /* @__PURE__ */ o(
1584
- L.Viewport,
1688
+ j.Viewport,
1585
1689
  {
1586
1690
  ref: r,
1587
1691
  className: n(
@@ -1593,10 +1697,10 @@ const Ro = {
1593
1697
  }
1594
1698
  );
1595
1699
  }
1596
- ), Be = s(
1700
+ ), He = s(
1597
1701
  function({ className: t, orientation: e, ...r }, i) {
1598
1702
  return /* @__PURE__ */ o(
1599
- L.Scrollbar,
1703
+ j.Scrollbar,
1600
1704
  {
1601
1705
  ref: i,
1602
1706
  orientation: e,
@@ -1611,17 +1715,17 @@ const Ro = {
1611
1715
  t
1612
1716
  ),
1613
1717
  ...r,
1614
- children: /* @__PURE__ */ o(L.Thumb, { className: "flex-1 rounded-(--gryt-radius-full) bg-gryt-border transition-colors hover:bg-gryt-muted motion-reduce:transition-none" })
1718
+ children: /* @__PURE__ */ o(j.Thumb, { className: "flex-1 rounded-(--gryt-radius-full) bg-gryt-border transition-colors hover:bg-gryt-muted motion-reduce:transition-none" })
1615
1719
  }
1616
1720
  );
1617
1721
  }
1618
- ), Go = {
1619
- Root: je,
1620
- Viewport: Ge,
1621
- Scrollbar: Be,
1622
- Content: L.Content,
1623
- Corner: L.Corner
1624
- }, ze = {
1722
+ ), _o = {
1723
+ Root: Ee,
1724
+ Viewport: _e,
1725
+ Scrollbar: He,
1726
+ Content: j.Content,
1727
+ Corner: j.Corner
1728
+ }, Xe = {
1625
1729
  primary: [
1626
1730
  "text-gryt-muted hover:not-data-disabled:bg-white/8",
1627
1731
  "data-pressed:bg-gryt-accent data-pressed:text-gryt-on-accent",
@@ -1642,15 +1746,15 @@ const Ro = {
1642
1746
  "data-pressed:bg-gryt-danger data-pressed:text-gryt-on-danger",
1643
1747
  "data-pressed:hover:not-data-disabled:bg-gryt-danger"
1644
1748
  ].join(" ")
1645
- }, Fe = {
1749
+ }, Oe = {
1646
1750
  xsmall: "h-8 min-w-8 px-2 text-xs",
1647
1751
  small: "h-9 min-w-9 px-2.5 text-sm",
1648
1752
  medium: "h-10 min-w-10 px-3 text-sm",
1649
1753
  large: "h-12 min-w-12 px-4 text-base"
1650
- }, Bo = s(
1754
+ }, Ho = s(
1651
1755
  function({ className: t, size: e = "medium", tone: r = "primary", ...i }, c) {
1652
1756
  return /* @__PURE__ */ o(
1653
- Ct,
1757
+ At,
1654
1758
  {
1655
1759
  ref: c,
1656
1760
  className: n(
@@ -1661,20 +1765,20 @@ const Ro = {
1661
1765
  "transition-[scale,background-color,color] duration-(--gryt-dur-spring) ease-spring",
1662
1766
  "motion-safe:hover:not-data-disabled:scale-[1.06]",
1663
1767
  "motion-safe:active:not-data-disabled:scale-[0.94]",
1664
- y,
1665
- j,
1666
- Fe[e],
1667
- ze[r],
1768
+ b,
1769
+ G,
1770
+ Oe[e],
1771
+ Xe[r],
1668
1772
  t
1669
1773
  ),
1670
1774
  ...i
1671
1775
  }
1672
1776
  );
1673
1777
  }
1674
- ), zo = s(
1778
+ ), Xo = s(
1675
1779
  function({ className: t, ...e }, r) {
1676
1780
  return /* @__PURE__ */ o(
1677
- St,
1781
+ Mt,
1678
1782
  {
1679
1783
  ref: r,
1680
1784
  className: n(
@@ -1686,13 +1790,13 @@ const Ro = {
1686
1790
  }
1687
1791
  );
1688
1792
  }
1689
- ), Ve = {
1793
+ ), Ye = {
1690
1794
  primary: "bg-gryt-accent",
1691
1795
  success: "bg-gryt-success",
1692
1796
  warning: "bg-gryt-warning",
1693
1797
  danger: "bg-gryt-danger"
1694
1798
  };
1695
- function Fo({
1799
+ function Oo({
1696
1800
  className: a,
1697
1801
  value: t,
1698
1802
  label: e,
@@ -1716,7 +1820,8 @@ function Fo({
1716
1820
  {
1717
1821
  className: n(
1718
1822
  "h-full rounded-(--gryt-radius-full)",
1719
- Ve[i]
1823
+ "transition-[width] duration-120 ease-out motion-reduce:transition-none",
1824
+ Ye[i]
1720
1825
  )
1721
1826
  }
1722
1827
  ) })
@@ -1724,10 +1829,10 @@ function Fo({
1724
1829
  }
1725
1830
  );
1726
1831
  }
1727
- const Ee = s(
1832
+ const Ue = s(
1728
1833
  function({ className: t, ...e }, r) {
1729
1834
  return /* @__PURE__ */ o(
1730
- T.Popup,
1835
+ $.Popup,
1731
1836
  {
1732
1837
  ref: r,
1733
1838
  className: n(
@@ -1744,9 +1849,9 @@ const Ee = s(
1744
1849
  }
1745
1850
  );
1746
1851
  }
1747
- ), He = s(function({ className: t, ...e }, r) {
1852
+ ), We = s(function({ className: t, ...e }, r) {
1748
1853
  return /* @__PURE__ */ o(
1749
- T.Backdrop,
1854
+ $.Backdrop,
1750
1855
  {
1751
1856
  ref: r,
1752
1857
  className: n(
@@ -1759,9 +1864,9 @@ const Ee = s(
1759
1864
  ...e
1760
1865
  }
1761
1866
  );
1762
- }), Oe = s(function({ className: t, ...e }, r) {
1867
+ }), Qe = s(function({ className: t, ...e }, r) {
1763
1868
  return /* @__PURE__ */ o(
1764
- T.Title,
1869
+ $.Title,
1765
1870
  {
1766
1871
  ref: r,
1767
1872
  className: n(
@@ -1771,9 +1876,9 @@ const Ee = s(
1771
1876
  ...e
1772
1877
  }
1773
1878
  );
1774
- }), Xe = s(function({ className: t, ...e }, r) {
1879
+ }), Je = s(function({ className: t, ...e }, r) {
1775
1880
  return /* @__PURE__ */ o(
1776
- T.Description,
1881
+ $.Description,
1777
1882
  {
1778
1883
  ref: r,
1779
1884
  className: n(
@@ -1783,16 +1888,16 @@ const Ee = s(
1783
1888
  ...e
1784
1889
  }
1785
1890
  );
1786
- }), Vo = {
1787
- Root: T.Root,
1788
- Trigger: T.Trigger,
1789
- Portal: T.Portal,
1790
- Backdrop: He,
1791
- Popup: Ee,
1792
- Title: Oe,
1793
- Description: Xe,
1794
- Close: T.Close
1795
- }, dt = [
1891
+ }), Yo = {
1892
+ Root: $.Root,
1893
+ Trigger: $.Trigger,
1894
+ Portal: $.Portal,
1895
+ Backdrop: We,
1896
+ Popup: Ue,
1897
+ Title: Qe,
1898
+ Description: Je,
1899
+ Close: $.Close
1900
+ }, pt = [
1796
1901
  "flex cursor-default items-center gap-2 rounded-(--gryt-radius-md)",
1797
1902
  "px-3 py-2 text-sm text-gryt-text outline-none select-none",
1798
1903
  // Base UI drives keyboard and pointer highlight through one attribute, so
@@ -1800,20 +1905,21 @@ const Ee = s(
1800
1905
  "data-highlighted:bg-gryt-surface-raised",
1801
1906
  "data-selected:text-gryt-accent",
1802
1907
  "data-disabled:cursor-not-allowed data-disabled:opacity-50"
1803
- ].join(" "), gt = [
1804
- "w-full rounded-(--gryt-radius-input) border border-gryt-border bg-gryt-surface-raised",
1805
- "px-3 py-2 text-sm text-gryt-text outline-none placeholder:text-gryt-muted",
1806
- y
1807
- ].join(" "), Ye = s(function({ className: t, ...e }, r) {
1908
+ ].join(" "), bt = [
1909
+ gt,
1910
+ ut.medium,
1911
+ "border-gryt-border",
1912
+ b
1913
+ ].join(" "), Ke = s(function({ className: t, ...e }, r) {
1808
1914
  return /* @__PURE__ */ o(
1809
1915
  g.Input,
1810
1916
  {
1811
1917
  ref: r,
1812
- className: n("gryt-combobox-input", gt, t),
1918
+ className: n("gryt-combobox-input", bt, t),
1813
1919
  ...e
1814
1920
  }
1815
1921
  );
1816
- }), Ue = s(function({ className: t, sideOffset: e = 6, ...r }, i) {
1922
+ }), Ze = s(function({ className: t, sideOffset: e = 6, ...r }, i) {
1817
1923
  return /* @__PURE__ */ o(
1818
1924
  g.Positioner,
1819
1925
  {
@@ -1823,7 +1929,7 @@ const Ee = s(
1823
1929
  ...r
1824
1930
  }
1825
1931
  );
1826
- }), Qe = s(
1932
+ }), qe = s(
1827
1933
  function({ className: t, ...e }, r) {
1828
1934
  return /* @__PURE__ */ o(
1829
1935
  g.Popup,
@@ -1831,24 +1937,24 @@ const Ee = s(
1831
1937
  ref: r,
1832
1938
  className: n(
1833
1939
  "gryt-combobox max-h-64 w-(--anchor-width) overflow-y-auto overscroll-contain p-1 outline-none",
1834
- $,
1835
- C,
1940
+ A,
1941
+ S,
1836
1942
  t
1837
1943
  ),
1838
1944
  ...e
1839
1945
  }
1840
1946
  );
1841
1947
  }
1842
- ), We = s(function({ className: t, ...e }, r) {
1948
+ ), tr = s(function({ className: t, ...e }, r) {
1843
1949
  return /* @__PURE__ */ o(
1844
1950
  g.Item,
1845
1951
  {
1846
1952
  ref: r,
1847
- className: n("gryt-combobox-item", dt, t),
1953
+ className: n("gryt-combobox-item", pt, t),
1848
1954
  ...e
1849
1955
  }
1850
1956
  );
1851
- }), _e = s(function({ className: t, ...e }, r) {
1957
+ }), er = s(function({ className: t, ...e }, r) {
1852
1958
  return /* @__PURE__ */ o(
1853
1959
  g.Empty,
1854
1960
  {
@@ -1860,9 +1966,9 @@ const Ee = s(
1860
1966
  ...e
1861
1967
  }
1862
1968
  );
1863
- }), Eo = {
1969
+ }), Uo = {
1864
1970
  Root: g.Root,
1865
- Input: Ye,
1971
+ Input: Ke,
1866
1972
  InputGroup: g.InputGroup,
1867
1973
  Trigger: g.Trigger,
1868
1974
  Icon: g.Icon,
@@ -1872,27 +1978,27 @@ const Ee = s(
1872
1978
  Chip: g.Chip,
1873
1979
  ChipRemove: g.ChipRemove,
1874
1980
  Portal: g.Portal,
1875
- Positioner: Ue,
1876
- Popup: Qe,
1981
+ Positioner: Ze,
1982
+ Popup: qe,
1877
1983
  List: g.List,
1878
- Item: We,
1984
+ Item: tr,
1879
1985
  ItemIndicator: g.ItemIndicator,
1880
1986
  Group: g.Group,
1881
1987
  GroupLabel: g.GroupLabel,
1882
- Empty: _e,
1988
+ Empty: er,
1883
1989
  Separator: g.Separator
1884
- }, Je = s(function({ className: t, ...e }, r) {
1990
+ }, rr = s(function({ className: t, ...e }, r) {
1885
1991
  return /* @__PURE__ */ o(
1886
- u.Input,
1992
+ p.Input,
1887
1993
  {
1888
1994
  ref: r,
1889
- className: n("gryt-autocomplete-input", gt, t),
1995
+ className: n("gryt-autocomplete-input", bt, t),
1890
1996
  ...e
1891
1997
  }
1892
1998
  );
1893
- }), Ke = s(function({ className: t, sideOffset: e = 6, ...r }, i) {
1999
+ }), or = s(function({ className: t, sideOffset: e = 6, ...r }, i) {
1894
2000
  return /* @__PURE__ */ o(
1895
- u.Positioner,
2001
+ p.Positioner,
1896
2002
  {
1897
2003
  ref: i,
1898
2004
  sideOffset: e,
@@ -1900,32 +2006,32 @@ const Ee = s(
1900
2006
  ...r
1901
2007
  }
1902
2008
  );
1903
- }), Ze = s(function({ className: t, ...e }, r) {
2009
+ }), ar = s(function({ className: t, ...e }, r) {
1904
2010
  return /* @__PURE__ */ o(
1905
- u.Popup,
2011
+ p.Popup,
1906
2012
  {
1907
2013
  ref: r,
1908
2014
  className: n(
1909
2015
  "gryt-autocomplete max-h-64 w-(--anchor-width) overflow-y-auto overscroll-contain p-1 outline-none",
1910
- $,
1911
- C,
2016
+ A,
2017
+ S,
1912
2018
  t
1913
2019
  ),
1914
2020
  ...e
1915
2021
  }
1916
2022
  );
1917
- }), qe = s(function({ className: t, ...e }, r) {
2023
+ }), nr = s(function({ className: t, ...e }, r) {
1918
2024
  return /* @__PURE__ */ o(
1919
- u.Item,
2025
+ p.Item,
1920
2026
  {
1921
2027
  ref: r,
1922
- className: n("gryt-autocomplete-item", dt, t),
2028
+ className: n("gryt-autocomplete-item", pt, t),
1923
2029
  ...e
1924
2030
  }
1925
2031
  );
1926
- }), tr = s(function({ className: t, ...e }, r) {
2032
+ }), ir = s(function({ className: t, ...e }, r) {
1927
2033
  return /* @__PURE__ */ o(
1928
- u.Empty,
2034
+ p.Empty,
1929
2035
  {
1930
2036
  ref: r,
1931
2037
  className: n(
@@ -1935,27 +2041,27 @@ const Ee = s(
1935
2041
  ...e
1936
2042
  }
1937
2043
  );
1938
- }), Ho = {
1939
- Root: u.Root,
1940
- Input: Je,
1941
- InputGroup: u.InputGroup,
1942
- Trigger: u.Trigger,
1943
- Icon: u.Icon,
1944
- Clear: u.Clear,
1945
- Value: u.Value,
1946
- Portal: u.Portal,
1947
- Positioner: Ke,
1948
- Popup: Ze,
1949
- List: u.List,
1950
- Item: qe,
1951
- Group: u.Group,
1952
- GroupLabel: u.GroupLabel,
1953
- Empty: tr,
1954
- Separator: u.Separator
1955
- }, Oo = s(
2044
+ }), Wo = {
2045
+ Root: p.Root,
2046
+ Input: rr,
2047
+ InputGroup: p.InputGroup,
2048
+ Trigger: p.Trigger,
2049
+ Icon: p.Icon,
2050
+ Clear: p.Clear,
2051
+ Value: p.Value,
2052
+ Portal: p.Portal,
2053
+ Positioner: or,
2054
+ Popup: ar,
2055
+ List: p.List,
2056
+ Item: nr,
2057
+ Group: p.Group,
2058
+ GroupLabel: p.GroupLabel,
2059
+ Empty: ir,
2060
+ Separator: p.Separator
2061
+ }, Qo = s(
1956
2062
  function({ className: t, ...e }, r) {
1957
2063
  return /* @__PURE__ */ o(
1958
- Rt,
2064
+ Lt,
1959
2065
  {
1960
2066
  ref: r,
1961
2067
  className: n("gryt-checkbox-group flex flex-col gap-2", t),
@@ -1963,10 +2069,10 @@ const Ee = s(
1963
2069
  }
1964
2070
  );
1965
2071
  }
1966
- ), er = s(
2072
+ ), sr = s(
1967
2073
  function({ className: t, ...e }, r) {
1968
2074
  return /* @__PURE__ */ o(
1969
- _.Trigger,
2075
+ Q.Trigger,
1970
2076
  {
1971
2077
  ref: r,
1972
2078
  className: n(
@@ -1974,17 +2080,17 @@ const Ee = s(
1974
2080
  "rounded-(--gryt-radius-md) border-0 bg-transparent px-2 py-2 text-left",
1975
2081
  "text-sm font-medium text-gryt-text select-none",
1976
2082
  "transition-colors hover:bg-gryt-surface-raised motion-reduce:transition-none",
1977
- y,
2083
+ b,
1978
2084
  t
1979
2085
  ),
1980
2086
  ...e
1981
2087
  }
1982
2088
  );
1983
2089
  }
1984
- ), rr = s(
2090
+ ), cr = s(
1985
2091
  function({ className: t, ...e }, r) {
1986
2092
  return /* @__PURE__ */ o(
1987
- _.Panel,
2093
+ Q.Panel,
1988
2094
  {
1989
2095
  ref: r,
1990
2096
  className: n(
@@ -2000,23 +2106,23 @@ const Ee = s(
2000
2106
  }
2001
2107
  );
2002
2108
  }
2003
- ), Xo = {
2004
- Root: _.Root,
2005
- Trigger: er,
2006
- Panel: rr
2007
- }, Yo = s(function({ className: t, ...e }, r) {
2109
+ ), Jo = {
2110
+ Root: Q.Root,
2111
+ Trigger: sr,
2112
+ Panel: cr
2113
+ }, Ko = s(function({ className: t, ...e }, r) {
2008
2114
  return /* @__PURE__ */ o(
2009
- It,
2115
+ jt,
2010
2116
  {
2011
2117
  ref: r,
2012
2118
  className: n("gryt-form flex flex-col gap-(--gryt-space-lg)", t),
2013
2119
  ...e
2014
2120
  }
2015
2121
  );
2016
- }), or = s(
2122
+ }), lr = s(
2017
2123
  function({ className: t, ...e }, r) {
2018
2124
  return /* @__PURE__ */ o(
2019
- it.Root,
2125
+ dt.Root,
2020
2126
  {
2021
2127
  ref: r,
2022
2128
  className: n(
@@ -2027,9 +2133,9 @@ const Ee = s(
2027
2133
  }
2028
2134
  );
2029
2135
  }
2030
- ), ar = s(function({ className: t, ...e }, r) {
2136
+ ), dr = s(function({ className: t, ...e }, r) {
2031
2137
  return /* @__PURE__ */ o(
2032
- it.Legend,
2138
+ dt.Legend,
2033
2139
  {
2034
2140
  ref: r,
2035
2141
  className: n(
@@ -2039,10 +2145,10 @@ const Ee = s(
2039
2145
  ...e
2040
2146
  }
2041
2147
  );
2042
- }), Uo = { Root: or, Legend: ar }, Qo = s(
2148
+ }), Zo = { Root: lr, Legend: dr }, qo = s(
2043
2149
  function({ className: t, ...e }, r) {
2044
2150
  return /* @__PURE__ */ o(
2045
- At,
2151
+ Gt,
2046
2152
  {
2047
2153
  ref: r,
2048
2154
  className: n(
@@ -2054,9 +2160,9 @@ const Ee = s(
2054
2160
  }
2055
2161
  );
2056
2162
  }
2057
- ), nr = s(function({ className: t, ...e }, r) {
2163
+ ), gr = s(function({ className: t, ...e }, r) {
2058
2164
  return /* @__PURE__ */ o(
2059
- x.Trigger,
2165
+ h.Trigger,
2060
2166
  {
2061
2167
  ref: r,
2062
2168
  className: n(
@@ -2064,29 +2170,29 @@ const Ee = s(
2064
2170
  "border-0 bg-transparent px-3 py-2 text-sm font-medium text-gryt-text select-none",
2065
2171
  "transition-colors hover:bg-gryt-surface-raised motion-reduce:transition-none",
2066
2172
  "data-popup-open:bg-gryt-surface-raised",
2067
- y,
2173
+ b,
2068
2174
  t
2069
2175
  ),
2070
2176
  ...e
2071
2177
  }
2072
2178
  );
2073
- }), sr = s(function({ className: t, ...e }, r) {
2179
+ }), ur = s(function({ className: t, ...e }, r) {
2074
2180
  return /* @__PURE__ */ o(
2075
- x.Popup,
2181
+ h.Popup,
2076
2182
  {
2077
2183
  ref: r,
2078
2184
  className: n(
2079
2185
  "gryt-navigation-menu-popup outline-none",
2080
- $,
2081
- C,
2186
+ A,
2187
+ S,
2082
2188
  t
2083
2189
  ),
2084
2190
  ...e
2085
2191
  }
2086
2192
  );
2087
- }), ir = s(function({ className: t, ...e }, r) {
2193
+ }), yr = s(function({ className: t, ...e }, r) {
2088
2194
  return /* @__PURE__ */ o(
2089
- x.Viewport,
2195
+ h.Viewport,
2090
2196
  {
2091
2197
  ref: r,
2092
2198
  className: n(
@@ -2096,81 +2202,81 @@ const Ee = s(
2096
2202
  ...e
2097
2203
  }
2098
2204
  );
2099
- }), cr = s(function({ className: t, ...e }, r) {
2205
+ }), mr = s(function({ className: t, ...e }, r) {
2100
2206
  return /* @__PURE__ */ o(
2101
- x.Link,
2207
+ h.Link,
2102
2208
  {
2103
2209
  ref: r,
2104
2210
  className: n(
2105
2211
  "gryt-navigation-menu-link block rounded-(--gryt-radius-md) px-3 py-2",
2106
2212
  "text-sm text-gryt-text no-underline outline-none",
2107
2213
  "transition-colors hover:bg-gryt-surface-raised motion-reduce:transition-none",
2108
- y,
2214
+ b,
2109
2215
  t
2110
2216
  ),
2111
2217
  ...e
2112
2218
  }
2113
2219
  );
2114
- }), Wo = {
2115
- Root: x.Root,
2116
- List: x.List,
2117
- Item: x.Item,
2118
- Trigger: nr,
2119
- Content: x.Content,
2120
- Portal: x.Portal,
2121
- Positioner: x.Positioner,
2122
- Viewport: ir,
2123
- Popup: sr,
2124
- Link: cr,
2125
- Icon: x.Icon,
2126
- Arrow: x.Arrow
2127
- }, ot = "flex h-9 w-9 shrink-0 items-center justify-center border-0 bg-transparent text-gryt-muted transition-colors hover:not-data-disabled:bg-white/8 hover:not-data-disabled:text-gryt-text motion-reduce:transition-none disabled:cursor-not-allowed disabled:opacity-50", _o = s(
2220
+ }), ta = {
2221
+ Root: h.Root,
2222
+ List: h.List,
2223
+ Item: h.Item,
2224
+ Trigger: gr,
2225
+ Content: h.Content,
2226
+ Portal: h.Portal,
2227
+ Positioner: h.Positioner,
2228
+ Viewport: yr,
2229
+ Popup: ur,
2230
+ Link: mr,
2231
+ Icon: h.Icon,
2232
+ Arrow: h.Arrow
2233
+ }, nt = "flex h-9 w-9 shrink-0 items-center justify-center border-0 bg-transparent text-gryt-muted transition-colors hover:not-data-disabled:bg-white/8 hover:not-data-disabled:text-gryt-text motion-reduce:transition-none disabled:cursor-not-allowed disabled:opacity-50", ea = s(
2128
2234
  function({ className: t, label: e, scrubbable: r = !1, ...i }, c) {
2129
2235
  return /* @__PURE__ */ d(
2130
- S.Root,
2236
+ R.Root,
2131
2237
  {
2132
2238
  ref: c,
2133
2239
  className: n("gryt-number-field flex flex-col gap-1.5", t),
2134
2240
  ...i,
2135
2241
  children: [
2136
- e && (r ? /* @__PURE__ */ d(S.ScrubArea, { className: "cursor-ew-resize text-sm text-gryt-muted select-none", children: [
2242
+ e && (r ? /* @__PURE__ */ d(R.ScrubArea, { className: "cursor-ew-resize text-sm text-gryt-muted select-none", children: [
2137
2243
  e,
2138
- /* @__PURE__ */ o(S.ScrubAreaCursor, {})
2244
+ /* @__PURE__ */ o(R.ScrubAreaCursor, {})
2139
2245
  ] }) : /* @__PURE__ */ o("span", { className: "text-sm text-gryt-muted", children: e })),
2140
2246
  /* @__PURE__ */ d(
2141
- S.Group,
2247
+ R.Group,
2142
2248
  {
2143
2249
  className: n(
2144
2250
  "flex w-fit items-center overflow-hidden rounded-(--gryt-radius-full)",
2145
2251
  "border border-gryt-border bg-gryt-surface-raised",
2146
2252
  "focus-within:outline-2 focus-within:outline-offset-2 focus-within:outline-gryt-accent-light",
2147
- j
2253
+ G
2148
2254
  ),
2149
2255
  children: [
2150
2256
  /* @__PURE__ */ o(
2151
- S.Decrement,
2257
+ R.Decrement,
2152
2258
  {
2153
2259
  "aria-label": "Decrease",
2154
- className: n(ot, "rounded-l-(--gryt-radius-full)"),
2155
- children: /* @__PURE__ */ o(Pt, { size: 14, weight: "bold" })
2260
+ className: n(nt, "rounded-l-(--gryt-radius-full)"),
2261
+ children: /* @__PURE__ */ o(St, { size: 14, weight: "bold" })
2156
2262
  }
2157
2263
  ),
2158
2264
  /* @__PURE__ */ o(
2159
- S.Input,
2265
+ R.Input,
2160
2266
  {
2161
2267
  className: n(
2162
2268
  "w-16 border-0 bg-transparent px-1 py-2 text-center",
2163
2269
  "font-mono text-sm text-gryt-text tabular-nums outline-none",
2164
- y
2270
+ b
2165
2271
  )
2166
2272
  }
2167
2273
  ),
2168
2274
  /* @__PURE__ */ o(
2169
- S.Increment,
2275
+ R.Increment,
2170
2276
  {
2171
2277
  "aria-label": "Increase",
2172
- className: n(ot, "rounded-r-(--gryt-radius-full)"),
2173
- children: /* @__PURE__ */ o(kt, { size: 14, weight: "bold" })
2278
+ className: n(nt, "rounded-r-(--gryt-radius-full)"),
2279
+ children: /* @__PURE__ */ o(Rt, { size: 14, weight: "bold" })
2174
2280
  }
2175
2281
  )
2176
2282
  ]
@@ -2180,17 +2286,17 @@ const Ee = s(
2180
2286
  }
2181
2287
  );
2182
2288
  }
2183
- ), Jo = s(
2289
+ ), ra = s(
2184
2290
  function({ className: t, length: e = 6, ...r }, i) {
2185
2291
  return /* @__PURE__ */ o(
2186
- et.Root,
2292
+ rt.Root,
2187
2293
  {
2188
2294
  ref: i,
2189
2295
  length: e,
2190
2296
  className: n("gryt-otp-field flex gap-2", t),
2191
2297
  ...r,
2192
2298
  children: Array.from({ length: e }, (c, l) => /* @__PURE__ */ o(
2193
- et.Input,
2299
+ rt.Input,
2194
2300
  {
2195
2301
  className: n(
2196
2302
  "gryt-otp-input h-12 w-10 rounded-(--gryt-radius-md) text-center",
@@ -2198,7 +2304,7 @@ const Ee = s(
2198
2304
  "font-mono text-lg text-gryt-text tabular-nums outline-none",
2199
2305
  "transition-colors duration-(--gryt-dur-fast) motion-reduce:transition-none",
2200
2306
  "data-filled:border-gryt-accent",
2201
- y
2307
+ b
2202
2308
  )
2203
2309
  },
2204
2310
  l
@@ -2206,10 +2312,10 @@ const Ee = s(
2206
2312
  }
2207
2313
  );
2208
2314
  }
2209
- ), lr = s(
2315
+ ), pr = s(
2210
2316
  function({ className: t, sideOffset: e = 8, ...r }, i) {
2211
2317
  return /* @__PURE__ */ o(
2212
- D.Positioner,
2318
+ M.Positioner,
2213
2319
  {
2214
2320
  ref: i,
2215
2321
  sideOffset: e,
@@ -2218,32 +2324,32 @@ const Ee = s(
2218
2324
  }
2219
2325
  );
2220
2326
  }
2221
- ), dr = s(
2327
+ ), br = s(
2222
2328
  function({ className: t, ...e }, r) {
2223
2329
  return /* @__PURE__ */ o(
2224
- D.Popup,
2330
+ M.Popup,
2225
2331
  {
2226
2332
  ref: r,
2227
2333
  className: n(
2228
2334
  "gryt-preview-card w-64 max-w-[calc(100vw-2rem)] p-4 outline-none",
2229
- $,
2230
- C,
2335
+ A,
2336
+ S,
2231
2337
  t
2232
2338
  ),
2233
2339
  ...e
2234
2340
  }
2235
2341
  );
2236
2342
  }
2237
- ), Ko = {
2238
- Root: D.Root,
2239
- Trigger: D.Trigger,
2240
- Portal: D.Portal,
2241
- Positioner: lr,
2242
- Popup: dr,
2243
- Arrow: D.Arrow
2244
- }, gr = s(function({ className: t, ...e }, r) {
2343
+ ), oa = {
2344
+ Root: M.Root,
2345
+ Trigger: M.Trigger,
2346
+ Portal: M.Portal,
2347
+ Positioner: pr,
2348
+ Popup: br,
2349
+ Arrow: M.Arrow
2350
+ }, fr = s(function({ className: t, ...e }, r) {
2245
2351
  return /* @__PURE__ */ o(
2246
- M.Root,
2352
+ L.Root,
2247
2353
  {
2248
2354
  ref: r,
2249
2355
  className: n(
@@ -2254,82 +2360,82 @@ const Ee = s(
2254
2360
  ...e
2255
2361
  }
2256
2362
  );
2257
- }), ur = s(function({ className: t, ...e }, r) {
2363
+ }), xr = s(function({ className: t, ...e }, r) {
2258
2364
  return /* @__PURE__ */ o(
2259
- M.Separator,
2365
+ L.Separator,
2260
2366
  {
2261
2367
  ref: r,
2262
2368
  className: n("gryt-toolbar-separator mx-1 h-6 w-px bg-gryt-border", t),
2263
2369
  ...e
2264
2370
  }
2265
2371
  );
2266
- }), Zo = {
2267
- Root: gr,
2268
- Group: M.Group,
2269
- Button: M.Button,
2270
- Link: M.Link,
2271
- Input: M.Input,
2272
- Separator: ur
2372
+ }), aa = {
2373
+ Root: fr,
2374
+ Group: L.Group,
2375
+ Button: L.Button,
2376
+ Link: L.Link,
2377
+ Input: L.Input,
2378
+ Separator: xr
2273
2379
  };
2274
2380
  export {
2275
- Ao as Accordion,
2276
- ko as Alert,
2277
- Vo as AlertDialog,
2278
- Ho as Autocomplete,
2279
- Xt as Avatar,
2280
- co as Badge,
2281
- Gt as Button,
2282
- wo as Card,
2283
- Po as CardActions,
2284
- No as CardContent,
2285
- vo as CardHeader,
2286
- go as Checkbox,
2287
- Oo as CheckboxGroup,
2288
- lo as Chip,
2289
- Xo as Collapsible,
2290
- Eo as Combobox,
2291
- so as Composer,
2292
- Do as ContextMenu,
2293
- io as ConversationItem,
2294
- So as Dialog,
2295
- ho as Divider,
2296
- Ro as Drawer,
2297
- Uo as Fieldset,
2298
- Yo as Form,
2299
- eo as GrytProvider,
2300
- ro as IconButton,
2301
- U as Menu,
2302
- Qo as Menubar,
2303
- ao as MessageBubble,
2304
- Fo as Meter,
2305
- Wo as NavigationMenu,
2306
- _o as NumberField,
2307
- Jo as OtpField,
2308
- Mo as Popover,
2309
- Ko as PreviewCard,
2310
- To as Progress,
2311
- uo as Radio,
2312
- yo as RadioGroup,
2313
- Go as ScrollArea,
2314
- bo as Select,
2315
- Co as Skeleton,
2316
- po as Slider,
2317
- $o as Spinner,
2318
- oo as Surface,
2319
- mo as Switch,
2320
- fe as Tab,
2321
- Io as Tabs,
2322
- no as TextField,
2323
- Lo as Toast,
2324
- Bo as Toggle,
2325
- zo as ToggleGroup,
2326
- Zo as Toolbar,
2327
- fo as Tooltip,
2328
- xo as TooltipProvider,
2381
+ Bo as Accordion,
2382
+ Io as Alert,
2383
+ Yo as AlertDialog,
2384
+ Wo as Autocomplete,
2385
+ Qt as Avatar,
2386
+ po as Badge,
2387
+ Et as Button,
2388
+ Co as Card,
2389
+ Ro as CardActions,
2390
+ So as CardContent,
2391
+ $o as CardHeader,
2392
+ fo as Checkbox,
2393
+ Qo as CheckboxGroup,
2394
+ bo as Chip,
2395
+ Jo as Collapsible,
2396
+ Uo as Combobox,
2397
+ yo as Composer,
2398
+ zo as ContextMenu,
2399
+ mo as ConversationItem,
2400
+ Lo as Dialog,
2401
+ To as Divider,
2402
+ jo as Drawer,
2403
+ Zo as Fieldset,
2404
+ Ko as Form,
2405
+ so as GrytProvider,
2406
+ co as IconButton,
2407
+ Y as Menu,
2408
+ qo as Menubar,
2409
+ go as MessageBubble,
2410
+ Oo as Meter,
2411
+ ta as NavigationMenu,
2412
+ ea as NumberField,
2413
+ ra as OtpField,
2414
+ Fo as Popover,
2415
+ oa as PreviewCard,
2416
+ Do as Progress,
2417
+ xo as Radio,
2418
+ ho as RadioGroup,
2419
+ _o as ScrollArea,
2420
+ No as Select,
2421
+ Mo as Skeleton,
2422
+ vo as Slider,
2423
+ Ao as Spinner,
2424
+ lo as Surface,
2425
+ wo as Switch,
2426
+ Ne as Tab,
2427
+ Go as Tabs,
2428
+ uo as TextField,
2429
+ Vo as Toast,
2430
+ Ho as Toggle,
2431
+ Xo as ToggleGroup,
2432
+ aa as Toolbar,
2433
+ Po as Tooltip,
2434
+ ko as TooltipProvider,
2329
2435
  n as cn,
2330
- Dt as createGrytTheme,
2331
- rt as grytTokens,
2332
- ee as useMediaQuery,
2333
- jo as useToastManager
2436
+ Bt as createGrytTheme,
2437
+ ot as grytTokens,
2438
+ ie as useMediaQuery,
2439
+ Eo as useToastManager
2334
2440
  };
2335
2441
  //# sourceMappingURL=index.js.map