laif-ds 0.1.88 → 0.1.90

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.
@@ -3,12 +3,12 @@ import { jsx as r, jsxs as L, Fragment as G } from "react/jsx-runtime";
3
3
  import { Command as ue, useCommandState as ce } from "../../node_modules/cmdk/dist/index.js";
4
4
  import * as o from "react";
5
5
  import { useEffect as C, forwardRef as fe } from "react";
6
- import { Popover as me, PopoverTrigger as he, PopoverContent as ge } from "./popover.js";
6
+ import { Popover as me, PopoverTrigger as ge, PopoverContent as he } from "./popover.js";
7
7
  import { Badge as pe } from "./badge.js";
8
8
  import { CommandItem as I, Command as q, CommandList as ve, CommandGroup as be } from "./command.js";
9
9
  import { cn as p } from "../../lib/utils.js";
10
- import { Label as xe } from "./label.js";
11
- import { Icon as we } from "./icon.js";
10
+ import { Label as we } from "./label.js";
11
+ import { Icon as xe } from "./icon.js";
12
12
  import Ne from "../../node_modules/lucide-react/dist/esm/icons/x.js";
13
13
  function ye(s, l) {
14
14
  const [i, u] = o.useState(s);
@@ -84,23 +84,23 @@ const Oe = o.forwardRef(
84
84
  hideClearAllButton: ee = !1,
85
85
  label: W
86
86
  }, te) => {
87
- const h = o.useRef(null), [f, S] = o.useState(!1), [ne, z] = o.useState(!1), [H, $] = o.useState(!1), [re, oe] = o.useState(
87
+ const g = o.useRef(null), [f, S] = o.useState(!1), [ne, z] = o.useState(!1), [H, $] = o.useState(!1), [re, oe] = o.useState(
88
88
  void 0
89
89
  ), j = o.useRef(null), F = o.useRef(null), [t, y] = o.useState(s || []), [b, J] = o.useState(
90
90
  T(u, v)
91
- ), [g, K] = o.useState(""), x = ye(g, V || 500);
91
+ ), [h, K] = o.useState(""), w = ye(h, V || 500);
92
92
  o.useImperativeHandle(
93
93
  te,
94
94
  () => ({
95
95
  selectedValue: [...t],
96
- input: h.current,
97
- focus: () => h?.current?.focus(),
96
+ input: g.current,
97
+ focus: () => g?.current?.focus(),
98
98
  reset: () => y([])
99
99
  }),
100
100
  [t]
101
101
  );
102
- const w = (e) => {
103
- j.current && !j.current.contains(e.target) && h.current && !h.current.contains(e.target) && (S(!1), h.current.blur());
102
+ const x = (e) => {
103
+ j.current && !j.current.contains(e.target) && g.current && !g.current.contains(e.target) && (S(!1), g.current.blur());
104
104
  }, M = o.useCallback(
105
105
  (e) => {
106
106
  const n = t.filter((d) => d.value !== e.value);
@@ -109,17 +109,17 @@ const Oe = o.forwardRef(
109
109
  [l, t]
110
110
  ), se = o.useCallback(
111
111
  (e) => {
112
- const n = h.current;
112
+ const n = g.current;
113
113
  n && ((e.key === "Delete" || e.key === "Backspace") && n.value === "" && t.length > 0 && (t[t.length - 1].fixed || M(t[t.length - 1])), e.key === "Escape" && n.blur());
114
114
  },
115
115
  [M, t]
116
116
  );
117
117
  C(() => {
118
118
  if (typeof document < "u")
119
- return f ? (document.addEventListener("mousedown", w), document.addEventListener("touchend", w)) : (document.removeEventListener("mousedown", w), document.removeEventListener("touchend", w)), () => {
120
- document.removeEventListener("mousedown", w), document.removeEventListener("touchend", w);
119
+ return f ? (document.addEventListener("mousedown", x), document.addEventListener("touchend", x)) : (document.removeEventListener("mousedown", x), document.removeEventListener("touchend", x)), () => {
120
+ document.removeEventListener("mousedown", x), document.removeEventListener("touchend", x);
121
121
  };
122
- }, [f, w]), C(() => {
122
+ }, [f, x]), C(() => {
123
123
  s && y(s);
124
124
  }, [s]), C(() => {
125
125
  if (!a || c)
@@ -128,34 +128,34 @@ const Oe = o.forwardRef(
128
128
  JSON.stringify(e) !== JSON.stringify(b) && J(e);
129
129
  }, [u, a, v, c, b]), C(() => {
130
130
  const e = () => {
131
- const d = X?.(x);
131
+ const d = X?.(w);
132
132
  J(T(d || [], v));
133
133
  };
134
134
  (async () => {
135
- !X || !f || (R && e(), x && e());
135
+ !X || !f || (R && e(), w && e());
136
136
  })();
137
- }, [x, v, f, R]), C(() => {
137
+ }, [w, v, f, R]), C(() => {
138
138
  const e = async () => {
139
139
  $(!0);
140
- const d = await c?.(x);
140
+ const d = await c?.(w);
141
141
  J(T(d || [], v)), $(!1);
142
142
  };
143
143
  (async () => {
144
- !c || !f || (R && await e(), x && await e());
144
+ !c || !f || (R && await e(), w && await e());
145
145
  })();
146
- }, [x, v, f, R]), o.useEffect(() => {
146
+ }, [w, v, f, R]), o.useEffect(() => {
147
147
  if (f && F.current) {
148
148
  const e = F.current.getBoundingClientRect();
149
149
  oe(e.width);
150
150
  }
151
151
  }, [f]);
152
152
  const le = () => {
153
- if (!E || Ee(b, [{ value: g, label: g }]) || t.find((n) => n.value === g))
153
+ if (!E || Ee(b, [{ value: h, label: h }]) || t.find((n) => n.value === h))
154
154
  return;
155
155
  const e = /* @__PURE__ */ r(
156
156
  I,
157
157
  {
158
- value: g,
158
+ value: h,
159
159
  className: "cursor-pointer",
160
160
  onMouseDown: (n) => {
161
161
  n.preventDefault(), n.stopPropagation();
@@ -169,10 +169,10 @@ const Oe = o.forwardRef(
169
169
  const d = [...t, { value: n, label: n }];
170
170
  y(d), l?.(d);
171
171
  },
172
- children: `Create "${g}"`
172
+ children: `Create "${h}"`
173
173
  }
174
174
  );
175
- if (!c && g.length > 0 || c && x.length > 0 && !H)
175
+ if (!c && h.length > 0 || c && w.length > 0 && !H)
176
176
  return e;
177
177
  }, ie = o.useCallback(() => {
178
178
  if (D)
@@ -187,7 +187,7 @@ const Oe = o.forwardRef(
187
187
  return (e, n) => e.toLowerCase().includes(n.toLowerCase()) ? 1 : -1;
188
188
  }, [E, m?.filter]);
189
189
  return /* @__PURE__ */ L("div", { className: "flex flex-col space-y-1.5", children: [
190
- W && /* @__PURE__ */ r(xe, { children: W }),
190
+ W && /* @__PURE__ */ r(we, { className: "w-fit", children: W }),
191
191
  /* @__PURE__ */ r(
192
192
  q,
193
193
  {
@@ -197,19 +197,21 @@ const Oe = o.forwardRef(
197
197
  se(e), m?.onKeyDown?.(e);
198
198
  },
199
199
  className: p(
200
- "bg-d-input border-d-border h-auto overflow-visible shadow-sm",
200
+ "bg-d-input border-d-border h-auto overflow-visible",
201
201
  m?.className
202
202
  ),
203
203
  shouldFilter: m?.shouldFilter !== void 0 ? m.shouldFilter : !c,
204
204
  filter: ae(),
205
205
  children: /* @__PURE__ */ L(me, { open: f, onOpenChange: S, children: [
206
- /* @__PURE__ */ r(he, { asChild: !0, children: /* @__PURE__ */ r(
206
+ /* @__PURE__ */ r(ge, { asChild: !0, children: /* @__PURE__ */ r(
207
207
  "div",
208
208
  {
209
209
  ref: F,
210
210
  className: p(
211
- // asyncSelectTriggerVariants({ size: "default" }),
212
- "border-d-input ring-offset-d-background focus-within:ring-d-ring min-h-10 rounded-md border text-base focus-within:ring-1 md:text-sm",
211
+ "border-d-border/50 ring-offset-d-background min-h-10 rounded-md border text-base md:text-sm",
212
+ "focus-within:outline-none",
213
+ "focus-visible-within:ring-d-ring focus-visible-within:ring-1",
214
+ f && "ring-d-ring ring-1",
213
215
  {
214
216
  "px-3 py-2": t.length !== 0,
215
217
  "cursor-text": !N && t.length !== 0,
@@ -256,8 +258,8 @@ const Oe = o.forwardRef(
256
258
  ue.Input,
257
259
  {
258
260
  ...O,
259
- ref: h,
260
- value: g,
261
+ ref: g,
262
+ value: h,
261
263
  disabled: N,
262
264
  onValueChange: (e) => {
263
265
  K(e), O?.onValueChange?.(e);
@@ -292,7 +294,7 @@ const Oe = o.forwardRef(
292
294
  },
293
295
  "aria-label": "Clear selection",
294
296
  children: /* @__PURE__ */ r(
295
- we,
297
+ xe,
296
298
  {
297
299
  name: "X",
298
300
  size: "xs",
@@ -305,9 +307,9 @@ const Oe = o.forwardRef(
305
307
  }
306
308
  ) }),
307
309
  /* @__PURE__ */ r(
308
- ge,
310
+ he,
309
311
  {
310
- className: "border-none p-0 shadow-lg",
312
+ className: "border-none p-0 shadow-sm",
311
313
  style: { width: re },
312
314
  onWheel: (e) => e.stopPropagation(),
313
315
  children: /* @__PURE__ */ r(q, { shouldFilter: !1, className: "w-full", children: /* @__PURE__ */ r(
@@ -321,7 +323,7 @@ const Oe = o.forwardRef(
321
323
  z(!0);
322
324
  },
323
325
  onMouseUp: () => {
324
- h?.current?.focus();
326
+ g?.current?.focus();
325
327
  },
326
328
  children: H ? /* @__PURE__ */ r(G, { children: Y }) : /* @__PURE__ */ L(G, { children: [
327
329
  ie(),
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { jsxs as i, jsx as e } from "react/jsx-runtime";
3
3
  import * as c from "react";
4
- import { Root as p, Group as f, Value as g, Trigger as x, Icon as h, Portal as v, Content as b, Viewport as y, Label as S, Item as w, ItemIndicator as z, ItemText as N, Separator as C, ScrollUpButton as I, ScrollDownButton as _ } from "../../node_modules/@radix-ui/react-select/dist/index.js";
5
- import { cn as o } from "../../lib/utils.js";
4
+ import { Root as p, Group as f, Value as g, Trigger as x, Icon as h, Portal as v, Content as b, Viewport as y, Label as S, Item as z, ItemIndicator as w, ItemText as N, Separator as C, ScrollUpButton as I, ScrollDownButton as _ } from "../../node_modules/@radix-ui/react-select/dist/index.js";
5
+ import { cn as s } from "../../lib/utils.js";
6
6
  import { Label as j } from "./label.js";
7
7
  import u from "../../node_modules/lucide-react/dist/esm/icons/chevron-down.js";
8
8
  import k from "../../node_modules/lucide-react/dist/esm/icons/check.js";
@@ -10,13 +10,13 @@ import B from "../../node_modules/lucide-react/dist/esm/icons/chevron-up.js";
10
10
  function q({
11
11
  size: t = "default",
12
12
  label: a,
13
- className: s,
14
- labelClassName: r,
13
+ className: r,
14
+ labelClassName: o,
15
15
  ...d
16
16
  }) {
17
17
  const n = c.useId();
18
- return /* @__PURE__ */ i("div", { className: o("space-y-1.5", s), children: [
19
- a && /* @__PURE__ */ e(j, { htmlFor: n, className: r, children: a }),
18
+ return /* @__PURE__ */ i("div", { className: s("space-y-1.5", r), children: [
19
+ a && /* @__PURE__ */ e(j, { htmlFor: n, className: o, children: a }),
20
20
  /* @__PURE__ */ e(m.Provider, { value: { size: t, id: n }, children: /* @__PURE__ */ e(p, { "data-slot": "select", ...d }) })
21
21
  ] });
22
22
  }
@@ -34,8 +34,8 @@ function E({
34
34
  function H({
35
35
  className: t,
36
36
  size: a,
37
- children: s,
38
- ...r
37
+ children: r,
38
+ ...o
39
39
  }) {
40
40
  const { size: d, id: n } = L(), l = a || d;
41
41
  return /* @__PURE__ */ i(
@@ -44,19 +44,24 @@ function H({
44
44
  id: n,
45
45
  "data-slot": "select-trigger",
46
46
  "data-size": l,
47
- className: o(
48
- "border-d-input ring-offset-background data-[placeholder]:text-d-muted-foreground focus:ring-ring bg-d-input flex items-center justify-between rounded-md border px-3 py-2 whitespace-nowrap shadow-sm focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
47
+ className: s(
48
+ "border-d-border/50 ring-offset-background data-[placeholder]:text-d-muted-foreground bg-d-input flex items-center justify-between rounded-md border px-3 py-2 whitespace-nowrap focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
49
+ "focus-visible:ring-d-ring focus-visible:ring-1",
50
+ // Ring solo con tastiera
51
+ "data-[state=open]:ring-d-ring data-[state=open]:ring-1",
52
+ // Ring quando dropdown è aperto
49
53
  "aria-invalid:ring-d-destructive/20 dark:aria-invalid:ring-d-destructive/40 aria-invalid:border-d-destructive",
50
54
  "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
51
55
  "*:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2",
56
+ "transition-all duration-300",
52
57
  l === "default" && "h-9 text-sm",
53
58
  l === "sm" && "h-8 text-xs",
54
59
  l === "lg" && "h-10 text-lg",
55
60
  t
56
61
  ),
57
- ...r,
62
+ ...o,
58
63
  children: [
59
- s,
64
+ r,
60
65
  /* @__PURE__ */ e(h, { asChild: !0, children: /* @__PURE__ */ e(u, { className: "size-4 opacity-50" }) })
61
66
  ]
62
67
  }
@@ -65,28 +70,28 @@ function H({
65
70
  function J({
66
71
  className: t,
67
72
  children: a,
68
- position: s = "popper",
69
- ...r
73
+ position: r = "popper",
74
+ ...o
70
75
  }) {
71
76
  return /* @__PURE__ */ e(v, { children: /* @__PURE__ */ i(
72
77
  b,
73
78
  {
74
79
  "data-slot": "select-content",
75
- className: o(
80
+ className: s(
76
81
  "bg-d-popover text-d-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 border-d-border relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
77
- s === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
82
+ r === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
78
83
  t
79
84
  ),
80
- position: s,
81
- ...r,
85
+ position: r,
86
+ ...o,
82
87
  children: [
83
88
  /* @__PURE__ */ e(D, {}),
84
89
  /* @__PURE__ */ e(
85
90
  y,
86
91
  {
87
- className: o(
92
+ className: s(
88
93
  "p-1",
89
- s === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
94
+ r === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
90
95
  ),
91
96
  children: a
92
97
  }
@@ -104,7 +109,7 @@ function K({
104
109
  S,
105
110
  {
106
111
  "data-slot": "select-label",
107
- className: o(
112
+ className: s(
108
113
  "text-d-secondary-foreground px-2 py-1.5 text-xs",
109
114
  t
110
115
  ),
@@ -115,19 +120,19 @@ function K({
115
120
  function M({
116
121
  className: t,
117
122
  children: a,
118
- ...s
123
+ ...r
119
124
  }) {
120
125
  return /* @__PURE__ */ i(
121
- w,
126
+ z,
122
127
  {
123
128
  "data-slot": "select-item",
124
- className: o(
129
+ className: s(
125
130
  "focus:bg-d-accent focus:text-d-accent-foreground [&_svg:not([class*='text-'])]:text-d-secondary-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
126
131
  t
127
132
  ),
128
- ...s,
133
+ ...r,
129
134
  children: [
130
- /* @__PURE__ */ e("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e(z, { children: /* @__PURE__ */ e(k, { className: "size-4" }) }) }),
135
+ /* @__PURE__ */ e("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ e(w, { children: /* @__PURE__ */ e(k, { className: "size-4" }) }) }),
131
136
  /* @__PURE__ */ e(N, { children: a })
132
137
  ]
133
138
  }
@@ -141,7 +146,7 @@ function O({
141
146
  C,
142
147
  {
143
148
  "data-slot": "select-separator",
144
- className: o(
149
+ className: s(
145
150
  "bg-d-border pointer-events-none -mx-1 my-1 h-px",
146
151
  t
147
152
  ),
@@ -157,7 +162,7 @@ function D({
157
162
  I,
158
163
  {
159
164
  "data-slot": "select-scroll-up-button",
160
- className: o(
165
+ className: s(
161
166
  "flex cursor-default items-center justify-center py-1",
162
167
  t
163
168
  ),
@@ -174,7 +179,7 @@ function R({
174
179
  _,
175
180
  {
176
181
  "data-slot": "select-scroll-down-button",
177
- className: o(
182
+ className: s(
178
183
  "flex cursor-default items-center justify-center py-1",
179
184
  t
180
185
  ),
@@ -11,7 +11,7 @@ function c({
11
11
  {
12
12
  "data-slot": "switch",
13
13
  className: t(
14
- "peer data-[state=checked]:bg-d-primary data-[state=unchecked]:bg-d-input focus-visible:border-d-ring focus-visible:ring-d-ring/50 dark:data-[state=unchecked]:bg-d-foreground/20 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
14
+ "peer data-[state=checked]:bg-d-primary data-[state=unchecked]:bg-d-input focus-visible:border-d-ring focus-visible:ring-d-ring/50 dark:data-[state=unchecked]:bg-d-foreground/20 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent transition-all duration-300 outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
15
15
  r
16
16
  ),
17
17
  ...a,
package/dist/index.d.ts CHANGED
@@ -151,12 +151,13 @@ export declare interface AppMultipleSelectOption {
151
151
  disabled?: boolean;
152
152
  }
153
153
 
154
- export declare function AppSelect<T = AppSelectOption>({ options, placeholder, children, label, className, labelKey, valueKey, descriptionKey, isOptionDisabled, ...props }: AppSelectProps<T>): JSX.Element;
154
+ export declare function AppSelect<T = AppSelectOption>({ options, placeholder, children, label, className, labelKey, valueKey, descriptionKey, groupNameKey, isOptionDisabled, ...props }: AppSelectProps<T>): JSX.Element;
155
155
 
156
156
  export declare interface AppSelectOption {
157
157
  value: string | number;
158
158
  label: string | React_2.ReactNode;
159
159
  disabled?: boolean;
160
+ groupName?: string;
160
161
  }
161
162
 
162
163
  export declare interface AppSelectProps<T = AppSelectOption> extends React_2.ComponentProps<typeof Select> {
@@ -166,6 +167,7 @@ export declare interface AppSelectProps<T = AppSelectOption> extends React_2.Com
166
167
  labelKey?: keyof T;
167
168
  valueKey?: keyof T;
168
169
  descriptionKey?: keyof T;
170
+ groupNameKey?: keyof T;
169
171
  isOptionDisabled?: (option: T) => boolean;
170
172
  }
171
173
 
@@ -189,7 +191,7 @@ declare type AspectRatioProps = React.ComponentProps<typeof AspectRatioPrimitive
189
191
 
190
192
  export declare function AsyncSelect<T>({ fetcher, preload, filterFn, renderOption, getOptionValue, getDisplayValue, notFound, loadingSkeleton, label, labelClassName, placeholder, value, onChange, disabled, width, triggerClassName, noResultsMessage, clearable, size, }: AsyncSelectProps<T>): JSX.Element;
191
193
 
192
- declare interface AsyncSelectProps<T> extends VariantProps<typeof asyncSelectTriggerVariants> {
194
+ declare interface AsyncSelectProps<T> extends VariantProps<typeof selectTriggerVariants> {
193
195
  fetcher: (query?: string) => Promise<T[]>;
194
196
  preload?: boolean;
195
197
  filterFn?: (option: T, query: string) => boolean;
@@ -210,10 +212,6 @@ declare interface AsyncSelectProps<T> extends VariantProps<typeof asyncSelectTri
210
212
  clearable?: boolean;
211
213
  }
212
214
 
213
- declare const asyncSelectTriggerVariants: (props?: ({
214
- size?: "default" | "sm" | "lg" | null | undefined;
215
- } & ClassProp) | undefined) => string;
216
-
217
215
  declare interface Attachment {
218
216
  name?: string;
219
217
  contentType?: string;
@@ -1465,6 +1463,10 @@ export declare function SelectTrigger({ className, size: sizeProp, children, ...
1465
1463
  size?: SelectSizeType;
1466
1464
  }): JSX.Element;
1467
1465
 
1466
+ declare const selectTriggerVariants: (props?: ({
1467
+ size?: "default" | "sm" | "lg" | null | undefined;
1468
+ } & ClassProp) | undefined) => string;
1469
+
1468
1470
  export declare function SelectValue({ ...props }: React_2.ComponentProps<typeof SelectPrimitive.Value>): JSX.Element;
1469
1471
 
1470
1472
  export declare function Separator({ className, orientation, decorative, ...props }: React_2.ComponentProps<typeof SeparatorPrimitive.Root>): JSX.Element;
@@ -3,7 +3,7 @@ import { stringify as w } from "../../comma-separated-tokens/index.js";
3
3
  import { ok as u } from "../../devlop/lib/default.js";
4
4
  import { svg as m, html as C } from "../../property-information/index.js";
5
5
  import { stringify as N } from "../../space-separated-tokens/index.js";
6
- import S from "../../../_virtual/index4.js";
6
+ import S from "../../../_virtual/index5.js";
7
7
  import { whitespace as j } from "../../hast-util-whitespace/lib/index.js";
8
8
  import { name as x } from "../../estree-util-is-identifier-name/lib/index.js";
9
9
  import { VFileMessage as h } from "../../vfile-message/lib/index.js";
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import { bail as P } from "../../bail/index.js";
3
- import y from "../../../_virtual/index5.js";
3
+ import y from "../../../_virtual/index4.js";
4
4
  import z from "../../is-plain-obj/index.js";
5
5
  import { CallableInstance as C } from "./callable-instance.js";
6
6
  import { trough as A } from "../../trough/lib/index.js";
package/dist/styles.css CHANGED
@@ -1 +1 @@
1
- @import "tailwindcss";@import "tw-animate-css";:root{--d-radius:6px;--d-background:#fafafa;--d-foreground:#2e2e2e;--d-card:#fafafa;--d-card-foreground:#2e2e2e;--d-popover:#fff;--d-popover-foreground:#2e2e2e;--d-primary:#64c2d1;--d-primary-foreground:#1f1f1f;--d-secondary:#f5f5f5;--d-secondary-foreground:#2e2e2e;--d-muted:#e0e0e0;--d-muted-foreground:#7a7a7a;--d-accent:#f4f4f4;--d-accent-foreground:#2e2e2e;--d-destructive:#ec2842;--d-destructive-foreground:#85202d;--d-border:#e0e0e0;--d-input:#fff;--d-ring:#64c2d1;--d-chart-1:#64c2d1;--d-chart-2:#39f283;--d-chart-3:orange;--d-chart-4:orange;--d-chart-5:#eb576a;--d-sidebar:#f5f5f5;--d-sidebar-foreground:#2e2e2e;--d-sidebar-primary:#64c2d1;--d-sidebar-primary-foreground:#1f1f1f;--d-sidebar-accent:#e0e0e066;--d-sidebar-accent-foreground:#2e2e2e;--d-sidebar-border:#e0e0e0;--d-sidebar-ring:#64c2d1}.dark{--d-radius:6px;--d-background:#1f1f1f;--d-foreground:#e0e0e0;--d-card:#1f1f1f;--d-card-foreground:#e0e0e0;--d-popover:#1f1f1f;--d-popover-foreground:#e0e0e0;--d-primary:#64c2d1;--d-primary-foreground:#1f1f1f;--d-secondary:#2e2e2e;--d-secondary-foreground:#e0e0e0;--d-muted:#474747;--d-muted-foreground:#7a7a7a;--d-accent:#474747;--d-accent-foreground:#e0e0e0;--d-destructive:#85202d;--d-destructive-foreground:#e0e0e0;--d-border:#2e2e2e;--d-input:#2e2e2e;--d-ring:#64c2d1;--d-chart-1:#64c2d1;--d-chart-2:#39f283;--d-chart-3:orange;--d-chart-4:orange;--d-chart-5:#eb576a;--d-sidebar:#141414;--d-sidebar-foreground:#e0e0e0;--d-sidebar-primary:#64c2d1;--d-sidebar-primary-foreground:#1f1f1f;--d-sidebar-accent:#47474766;--d-sidebar-accent-foreground:#e0e0e0;--d-sidebar-border:#2e2e2e;--d-sidebar-ring:#64c2d1}.tangerine{--d-background:oklch(0.26 0.03 262.67);--d-foreground:oklch(0.92 0 0);--d-card:oklch(0.31 0.03 268.64);--d-card-foreground:oklch(0.92 0 0);--d-popover:oklch(0.29 0.02 268.4);--d-popover-foreground:oklch(0.92 0 0);--d-primary:oklch(0.64 0.17 36.44);--d-primary-foreground:oklch(1 0 0);--d-secondary:oklch(0.31 0.03 266.71);--d-secondary-foreground:oklch(0.92 0 0);--d-muted:oklch(0.31 0.03 266.71);--d-muted-foreground:oklch(0.72 0 0);--d-accent:oklch(0.34 0.06 267.59);--d-accent-foreground:oklch(0.88 0.06 254.13);--d-destructive:oklch(0.64 0.21 25.33);--d-destructive-foreground:oklch(1 0 0);--d-border:oklch(0.38 0.03 269.73);--d-input:oklch(0.38 0.03 269.73);--d-ring:oklch(0.64 0.17 36.44);--d-chart-1:oklch(0.72 0.06 248.68);--d-chart-2:oklch(0.77 0.09 34.19);--d-chart-3:oklch(0.58 0.08 254.16);--d-chart-4:oklch(0.5 0.08 259.49);--d-chart-5:oklch(0.42 0.1 264.03);--d-sidebar:oklch(0.31 0.03 267.74);--d-sidebar-foreground:oklch(0.92 0 0);--d-sidebar-primary:oklch(0.64 0.17 36.44);--d-sidebar-primary-foreground:oklch(1 0 0);--d-sidebar-accent:oklch(0.34 0.06 267.59);--d-sidebar-accent-foreground:oklch(0.88 0.06 254.13);--d-sidebar-border:oklch(0.38 0.03 269.73);--d-sidebar-ring:oklch(0.64 0.17 36.44);--d-font-sans:Inter,sans-serif;--d-font-serif:Source Serif 4,serif;--d-font-mono:JetBrains Mono,monospace;--d-radius:0.75rem;--d-shadow-2xs:0px 1px 3px 0px #0000000d;--d-shadow-xs:0px 1px 3px 0px #0000000d;--d-shadow-sm:0px 1px 3px 0px #0000001a,0px 1px 2px -1px #0000001a;--d-shadow:0px 1px 3px 0px #0000001a,0px 1px 2px -1px #0000001a;--d-shadow-md:0px 1px 3px 0px #0000001a,0px 2px 4px -1px #0000001a;--d-shadow-lg:0px 1px 3px 0px #0000001a,0px 4px 6px -1px #0000001a;--d-shadow-xl:0px 1px 3px 0px #0000001a,0px 8px 10px -1px #0000001a;--d-shadow-2xl:0px 1px 3px 0px #00000040}.claymorphism{--d-background:#1e1b18;--d-foreground:#e2e8f0;--d-card:#2c2825;--d-card-foreground:#e2e8f0;--d-popover:#2c2825;--d-popover-foreground:#e2e8f0;--d-primary:#818cf8;--d-primary-foreground:#1e1b18;--d-secondary:#3a3633;--d-secondary-foreground:#d1d5db;--d-muted:#2c2825;--d-muted-foreground:#9ca3af;--d-accent:#484441;--d-accent-foreground:#d1d5db;--d-destructive:#ef4444;--d-destructive-foreground:#1e1b18;--d-border:#3a3633;--d-input:#3a3633;--d-ring:#818cf8;--d-chart-1:#818cf8;--d-chart-2:#6366f1;--d-chart-3:#4f46e5;--d-chart-4:#4338ca;--d-chart-5:#3730a3;--d-sidebar:#3a3633;--d-sidebar-foreground:#e2e8f0;--d-sidebar-primary:#818cf8;--d-sidebar-primary-foreground:#1e1b18;--d-sidebar-accent:#484441;--d-sidebar-accent-foreground:#d1d5db;--d-sidebar-border:#3a3633;--d-sidebar-ring:#818cf8;--d-font-sans:Plus Jakarta Sans,sans-serif;--d-font-serif:Lora,serif;--d-font-mono:Roboto Mono,monospace;--d-radius:1.25rem;--d-shadow-2xs:2px 2px 10px 4px #00000017;--d-shadow-xs:2px 2px 10px 4px #00000017;--d-shadow-sm:2px 2px 10px 4px #0000002e,2px 1px 2px 3px #0000002e;--d-shadow:2px 2px 10px 4px #0000002e,2px 1px 2px 3px #0000002e;--d-shadow-md:2px 2px 10px 4px #0000002e,2px 2px 4px 3px #0000002e;--d-shadow-lg:2px 2px 10px 4px #0000002e,2px 4px 6px 3px #0000002e;--d-shadow-xl:2px 2px 10px 4px #0000002e,2px 8px 10px 3px #0000002e;--d-shadow-2xl:2px 2px 10px 4px #00000073}@theme inline{--radius-d-sm:calc(var(--d-radius) - 4px);--radius-d-md:calc(var(--d-radius) - 2px);--radius-d-lg:var(--d-radius);--radius-d-xl:calc(var(--d-radius) + 4px);--color-d-background:var(--d-background);--color-d-foreground:var(--d-foreground);--color-d-card:var(--d-card);--color-d-card-foreground:var(--d-card-foreground);--color-d-popover:var(--d-popover);--color-d-popover-foreground:var(--d-popover-foreground);--color-d-primary:var(--d-primary);--color-d-primary-foreground:var(--d-primary-foreground);--color-d-secondary:var(--d-secondary);--color-d-secondary-foreground:var(--d-secondary-foreground);--color-d-muted:var(--d-muted);--color-d-muted-foreground:var(--d-muted-foreground);--color-d-accent:var(--d-accent);--color-d-accent-foreground:var(--d-accent-foreground);--color-d-destructive:var(--d-destructive);--color-d-border:var(--d-border);--color-d-input:var(--d-input);--color-d-ring:var(--d-ring);--color-d-chart-1:var(--d-chart-1);--color-d-chart-2:var(--d-chart-2);--color-d-chart-3:var(--d-chart-3);--color-d-chart-4:var(--d-chart-4);--color-d-chart-5:var(--d-chart-5);--color-d-sidebar:var(--d-sidebar);--color-d-sidebar-foreground:var(--d-sidebar-foreground);--color-d-sidebar-primary:var(--d-sidebar-primary);--color-d-sidebar-primary-foreground:var(--d-sidebar-primary-foreground);--color-d-sidebar-accent:var(--d-sidebar-accent);--color-d-sidebar-accent-foreground:var(--d-sidebar-accent-foreground);--color-d-sidebar-border:var(--d-sidebar-border);--color-d-sidebar-ring:var(--d-sidebar-ring)}*{outline-color:color-mix(in oklab,var(--d-ring) 50%,#0000)}body{background-color:var(--d-background);color:var(--d-foreground)}
1
+ @import "tailwindcss";@import "tw-animate-css";:root{--d-radius:6px;--d-background:#fafafa;--d-foreground:#2e2e2e;--d-card:#fafafa;--d-card-foreground:#2e2e2e;--d-popover:#fff;--d-popover-foreground:#2e2e2e;--d-primary:#64c2d1;--d-primary-foreground:#1f1f1f;--d-secondary:#f5f5f5;--d-secondary-foreground:#2e2e2e;--d-muted:#e0e0e0;--d-muted-foreground:#7a7a7a;--d-accent:#f4f4f4;--d-accent-foreground:#2e2e2e;--d-destructive:#ec2842;--d-destructive-foreground:#85202d;--d-border:#e0e0e0;--d-input:#fff;--d-ring:#090909;--d-chart-1:#64c2d1;--d-chart-2:#39f283;--d-chart-3:orange;--d-chart-4:orange;--d-chart-5:#eb576a;--d-sidebar:#f5f5f5;--d-sidebar-foreground:#2e2e2e;--d-sidebar-primary:#64c2d1;--d-sidebar-primary-foreground:#1f1f1f;--d-sidebar-accent:#e0e0e066;--d-sidebar-accent-foreground:#2e2e2e;--d-sidebar-border:#e0e0e0;--d-sidebar-ring:#64c2d1}.dark{--d-radius:6px;--d-background:#1f1f1f;--d-foreground:#e0e0e0;--d-card:#1f1f1f;--d-card-foreground:#e0e0e0;--d-popover:#1f1f1f;--d-popover-foreground:#e0e0e0;--d-primary:#64c2d1;--d-primary-foreground:#1f1f1f;--d-secondary:#2e2e2e;--d-secondary-foreground:#e0e0e0;--d-muted:#474747;--d-muted-foreground:#7a7a7a;--d-accent:#474747;--d-accent-foreground:#e0e0e0;--d-destructive:#85202d;--d-destructive-foreground:#e0e0e0;--d-border:#2e2e2e;--d-input:#2e2e2e;--d-ring:#64c2d1;--d-chart-1:#64c2d1;--d-chart-2:#39f283;--d-chart-3:orange;--d-chart-4:orange;--d-chart-5:#eb576a;--d-sidebar:#141414;--d-sidebar-foreground:#e0e0e0;--d-sidebar-primary:#64c2d1;--d-sidebar-primary-foreground:#1f1f1f;--d-sidebar-accent:#47474766;--d-sidebar-accent-foreground:#e0e0e0;--d-sidebar-border:#2e2e2e;--d-sidebar-ring:#64c2d1}.tangerine{--d-background:oklch(0.26 0.03 262.67);--d-foreground:oklch(0.92 0 0);--d-card:oklch(0.31 0.03 268.64);--d-card-foreground:oklch(0.92 0 0);--d-popover:oklch(0.29 0.02 268.4);--d-popover-foreground:oklch(0.92 0 0);--d-primary:oklch(0.64 0.17 36.44);--d-primary-foreground:oklch(1 0 0);--d-secondary:oklch(0.31 0.03 266.71);--d-secondary-foreground:oklch(0.92 0 0);--d-muted:oklch(0.31 0.03 266.71);--d-muted-foreground:oklch(0.72 0 0);--d-accent:oklch(0.34 0.06 267.59);--d-accent-foreground:oklch(0.88 0.06 254.13);--d-destructive:oklch(0.64 0.21 25.33);--d-destructive-foreground:oklch(1 0 0);--d-border:oklch(0.38 0.03 269.73);--d-input:oklch(0.38 0.03 269.73);--d-ring:oklch(0.64 0.17 36.44);--d-chart-1:oklch(0.72 0.06 248.68);--d-chart-2:oklch(0.77 0.09 34.19);--d-chart-3:oklch(0.58 0.08 254.16);--d-chart-4:oklch(0.5 0.08 259.49);--d-chart-5:oklch(0.42 0.1 264.03);--d-sidebar:oklch(0.31 0.03 267.74);--d-sidebar-foreground:oklch(0.92 0 0);--d-sidebar-primary:oklch(0.64 0.17 36.44);--d-sidebar-primary-foreground:oklch(1 0 0);--d-sidebar-accent:oklch(0.34 0.06 267.59);--d-sidebar-accent-foreground:oklch(0.88 0.06 254.13);--d-sidebar-border:oklch(0.38 0.03 269.73);--d-sidebar-ring:oklch(0.64 0.17 36.44);--d-font-sans:Inter,sans-serif;--d-font-serif:Source Serif 4,serif;--d-font-mono:JetBrains Mono,monospace;--d-radius:0.75rem;--d-shadow-2xs:0px 1px 3px 0px #0000000d;--d-shadow-xs:0px 1px 3px 0px #0000000d;--d-shadow-sm:0px 1px 3px 0px #0000001a,0px 1px 2px -1px #0000001a;--d-shadow:0px 1px 3px 0px #0000001a,0px 1px 2px -1px #0000001a;--d-shadow-md:0px 1px 3px 0px #0000001a,0px 2px 4px -1px #0000001a;--d-shadow-lg:0px 1px 3px 0px #0000001a,0px 4px 6px -1px #0000001a;--d-shadow-xl:0px 1px 3px 0px #0000001a,0px 8px 10px -1px #0000001a;--d-shadow-2xl:0px 1px 3px 0px #00000040}.claymorphism{--d-background:#1e1b18;--d-foreground:#e2e8f0;--d-card:#2c2825;--d-card-foreground:#e2e8f0;--d-popover:#2c2825;--d-popover-foreground:#e2e8f0;--d-primary:#818cf8;--d-primary-foreground:#1e1b18;--d-secondary:#3a3633;--d-secondary-foreground:#d1d5db;--d-muted:#2c2825;--d-muted-foreground:#9ca3af;--d-accent:#484441;--d-accent-foreground:#d1d5db;--d-destructive:#ef4444;--d-destructive-foreground:#1e1b18;--d-border:#3a3633;--d-input:#3a3633;--d-ring:#818cf8;--d-chart-1:#818cf8;--d-chart-2:#6366f1;--d-chart-3:#4f46e5;--d-chart-4:#4338ca;--d-chart-5:#3730a3;--d-sidebar:#3a3633;--d-sidebar-foreground:#e2e8f0;--d-sidebar-primary:#818cf8;--d-sidebar-primary-foreground:#1e1b18;--d-sidebar-accent:#484441;--d-sidebar-accent-foreground:#d1d5db;--d-sidebar-border:#3a3633;--d-sidebar-ring:#818cf8;--d-font-sans:Plus Jakarta Sans,sans-serif;--d-font-serif:Lora,serif;--d-font-mono:Roboto Mono,monospace;--d-radius:1.25rem;--d-shadow-2xs:2px 2px 10px 4px #00000017;--d-shadow-xs:2px 2px 10px 4px #00000017;--d-shadow-sm:2px 2px 10px 4px #0000002e,2px 1px 2px 3px #0000002e;--d-shadow:2px 2px 10px 4px #0000002e,2px 1px 2px 3px #0000002e;--d-shadow-md:2px 2px 10px 4px #0000002e,2px 2px 4px 3px #0000002e;--d-shadow-lg:2px 2px 10px 4px #0000002e,2px 4px 6px 3px #0000002e;--d-shadow-xl:2px 2px 10px 4px #0000002e,2px 8px 10px 3px #0000002e;--d-shadow-2xl:2px 2px 10px 4px #00000073}@theme inline{--radius-d-sm:calc(var(--d-radius) - 4px);--radius-d-md:calc(var(--d-radius) - 2px);--radius-d-lg:var(--d-radius);--radius-d-xl:calc(var(--d-radius) + 4px);--color-d-background:var(--d-background);--color-d-foreground:var(--d-foreground);--color-d-card:var(--d-card);--color-d-card-foreground:var(--d-card-foreground);--color-d-popover:var(--d-popover);--color-d-popover-foreground:var(--d-popover-foreground);--color-d-primary:var(--d-primary);--color-d-primary-foreground:var(--d-primary-foreground);--color-d-secondary:var(--d-secondary);--color-d-secondary-foreground:var(--d-secondary-foreground);--color-d-muted:var(--d-muted);--color-d-muted-foreground:var(--d-muted-foreground);--color-d-accent:var(--d-accent);--color-d-accent-foreground:var(--d-accent-foreground);--color-d-destructive:var(--d-destructive);--color-d-border:var(--d-border);--color-d-input:var(--d-input);--color-d-ring:var(--d-ring);--color-d-chart-1:var(--d-chart-1);--color-d-chart-2:var(--d-chart-2);--color-d-chart-3:var(--d-chart-3);--color-d-chart-4:var(--d-chart-4);--color-d-chart-5:var(--d-chart-5);--color-d-sidebar:var(--d-sidebar);--color-d-sidebar-foreground:var(--d-sidebar-foreground);--color-d-sidebar-primary:var(--d-sidebar-primary);--color-d-sidebar-primary-foreground:var(--d-sidebar-primary-foreground);--color-d-sidebar-accent:var(--d-sidebar-accent);--color-d-sidebar-accent-foreground:var(--d-sidebar-accent-foreground);--color-d-sidebar-border:var(--d-sidebar-border);--color-d-sidebar-ring:var(--d-sidebar-ring)}*{outline-color:color-mix(in oklab,var(--d-ring) 50%,#0000)}body{background-color:var(--d-background);color:var(--d-foreground)}