@locusgraph/components 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/dist/action/button-group.js +33 -136
  2. package/dist/action/button.js +15 -62
  3. package/dist/display/badge.js +13 -54
  4. package/dist/display/chat/attachment/attachment-parts.js +52 -218
  5. package/dist/display/chat/attachment/attachment.js +46 -186
  6. package/dist/display/chat/bubble.js +47 -192
  7. package/dist/display/chat/marker.js +32 -131
  8. package/dist/display/chat/message.js +56 -236
  9. package/dist/display/content/item.js +101 -415
  10. package/dist/display/content/kbd.js +18 -77
  11. package/dist/display/rule-grid/rule-grid.js +69 -292
  12. package/dist/display/skeletons/layouts/skeleton-rule-grid.js +25 -74
  13. package/dist/display/skeletons/layouts/skeleton-table.js +38 -158
  14. package/dist/display/skeletons/shapes/skeleton-avatar.js +19 -83
  15. package/dist/display/skeletons/shapes/skeleton-button.js +19 -83
  16. package/dist/display/skeletons/shapes/skeleton-text.js +18 -71
  17. package/dist/display/skeletons/skeleton-parts.js +17 -58
  18. package/dist/display/status/alert.js +30 -122
  19. package/dist/display/status/empty.js +57 -238
  20. package/dist/display/status/skeleton.js +9 -39
  21. package/dist/display/status/spinner.js +10 -40
  22. package/dist/display/table.js +75 -308
  23. package/dist/form/field/field-error.js +24 -107
  24. package/dist/form/field/field-separator.js +14 -65
  25. package/dist/form/field/field-set.js +20 -84
  26. package/dist/form/field/field-text.js +27 -115
  27. package/dist/form/field/field.js +31 -125
  28. package/dist/form/input.js +11 -45
  29. package/dist/form/native-select.js +31 -139
  30. package/dist/form/textarea.js +9 -39
  31. package/dist/layout/use-mobile.js +7 -20
  32. package/dist/navigation/breadcrumb.js +75 -294
  33. package/dist/navigation/navigation-menu.js +83 -359
  34. package/dist/navigation/pagination.js +78 -315
  35. package/dist/shell/app-header.js +21 -73
  36. package/dist/shell/app-shell.js +17 -56
  37. package/dist/shell/breadcrumbs.js +39 -97
  38. package/dist/shell/docs/docs-shell.js +35 -99
  39. package/dist/shell/docs/docs-sidebar.js +39 -86
  40. package/dist/shell/docs/use-active-section.js +31 -75
  41. package/dist/shell/navigation/app-sidebar.js +52 -174
  42. package/dist/shell/navigation/nav-group.js +40 -149
  43. package/package.json +1 -1
@@ -1,89 +1,30 @@
1
- import { c as _c } from "react/compiler-runtime";
2
1
  import { cva } from "class-variance-authority";
3
2
  import { cn } from "cn";
4
3
  import * as Slot from "radix-ui/slot";
5
4
  import * as React from "react";
6
5
  import { Separator } from "../separator.js";
7
6
  import { jsx as _jsx } from "react/jsx-runtime";
8
- function ItemGroup(t0) {
9
- const $ = _c(8);
10
- let className;
11
- let props;
12
- if ($[0] !== t0) {
13
- ({
14
- className,
15
- ...props
16
- } = t0);
17
- $[0] = t0;
18
- $[1] = className;
19
- $[2] = props;
20
- } else {
21
- className = $[1];
22
- props = $[2];
23
- }
24
- let t1;
25
- if ($[3] !== className) {
26
- t1 = cn("group/item-group flex flex-col", className);
27
- $[3] = className;
28
- $[4] = t1;
29
- } else {
30
- t1 = $[4];
31
- }
32
- let t2;
33
- if ($[5] !== props || $[6] !== t1) {
34
- t2 = /*#__PURE__*/_jsx("div", {
35
- role: "list",
36
- "data-slot": "item-group",
37
- className: t1,
38
- ...props
39
- });
40
- $[5] = props;
41
- $[6] = t1;
42
- $[7] = t2;
43
- } else {
44
- t2 = $[7];
45
- }
46
- return t2;
7
+ function ItemGroup({
8
+ className,
9
+ ...props
10
+ }) {
11
+ return /*#__PURE__*/_jsx("div", {
12
+ role: "list",
13
+ "data-slot": "item-group",
14
+ className: cn("group/item-group flex flex-col", className),
15
+ ...props
16
+ });
47
17
  }
48
- function ItemSeparator(t0) {
49
- const $ = _c(8);
50
- let className;
51
- let props;
52
- if ($[0] !== t0) {
53
- ({
54
- className,
55
- ...props
56
- } = t0);
57
- $[0] = t0;
58
- $[1] = className;
59
- $[2] = props;
60
- } else {
61
- className = $[1];
62
- props = $[2];
63
- }
64
- let t1;
65
- if ($[3] !== className) {
66
- t1 = cn("my-0", className);
67
- $[3] = className;
68
- $[4] = t1;
69
- } else {
70
- t1 = $[4];
71
- }
72
- let t2;
73
- if ($[5] !== props || $[6] !== t1) {
74
- t2 = /*#__PURE__*/_jsx(Separator, {
75
- "data-slot": "item-separator",
76
- orientation: "horizontal",
77
- className: t1,
78
- ...props
79
- });
80
- $[5] = props;
81
- $[6] = t1;
82
- $[7] = t2;
83
- } else {
84
- t2 = $[7];
85
- }
86
- return t2;
18
+ function ItemSeparator({
19
+ className,
20
+ ...props
21
+ }) {
22
+ return /*#__PURE__*/_jsx(Separator, {
23
+ "data-slot": "item-separator",
24
+ orientation: "horizontal",
25
+ className: cn("my-0", className),
26
+ ...props
27
+ });
87
28
  }
88
29
  const itemVariants = cva("group/item flex flex-wrap items-center rounded-md border border-transparent text-sm transition-colors duration-100 outline-none focus-visible:border-ring focus-visible:ring-2 focus-visible:ring-ring/70 focus-visible:ring-offset-2 focus-visible:ring-offset-background [a]:transition-colors [a]:hover:bg-accent/50", {
89
30
  variants: {
@@ -102,71 +43,25 @@ const itemVariants = cva("group/item flex flex-wrap items-center rounded-md bord
102
43
  size: "default"
103
44
  }
104
45
  });
105
- function Item(t0) {
106
- const $ = _c(16);
107
- let className;
108
- let props;
109
- let t1;
110
- let t2;
111
- let t3;
112
- if ($[0] !== t0) {
113
- ({
114
- className,
115
- variant: t1,
116
- size: t2,
117
- asChild: t3,
118
- ...props
119
- } = t0);
120
- $[0] = t0;
121
- $[1] = className;
122
- $[2] = props;
123
- $[3] = t1;
124
- $[4] = t2;
125
- $[5] = t3;
126
- } else {
127
- className = $[1];
128
- props = $[2];
129
- t1 = $[3];
130
- t2 = $[4];
131
- t3 = $[5];
132
- }
133
- const variant = t1 === undefined ? "default" : t1;
134
- const size = t2 === undefined ? "default" : t2;
135
- const asChild = t3 === undefined ? false : t3;
46
+ function Item({
47
+ className,
48
+ variant = "default",
49
+ size = "default",
50
+ asChild = false,
51
+ ...props
52
+ }) {
136
53
  const Comp = asChild ? Slot.Root : "div";
137
- let t4;
138
- if ($[6] !== className || $[7] !== size || $[8] !== variant) {
139
- t4 = cn(itemVariants({
54
+ return /*#__PURE__*/_jsx(Comp, {
55
+ "data-slot": "item",
56
+ "data-variant": variant,
57
+ "data-size": size,
58
+ className: cn(itemVariants({
140
59
  variant,
141
60
  size,
142
61
  className
143
- }));
144
- $[6] = className;
145
- $[7] = size;
146
- $[8] = variant;
147
- $[9] = t4;
148
- } else {
149
- t4 = $[9];
150
- }
151
- let t5;
152
- if ($[10] !== Comp || $[11] !== props || $[12] !== size || $[13] !== t4 || $[14] !== variant) {
153
- t5 = /*#__PURE__*/_jsx(Comp, {
154
- "data-slot": "item",
155
- "data-variant": variant,
156
- "data-size": size,
157
- className: t4,
158
- ...props
159
- });
160
- $[10] = Comp;
161
- $[11] = props;
162
- $[12] = size;
163
- $[13] = t4;
164
- $[14] = variant;
165
- $[15] = t5;
166
- } else {
167
- t5 = $[15];
168
- }
169
- return t5;
62
+ })),
63
+ ...props
64
+ });
170
65
  }
171
66
  const itemMediaVariants = cva("flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none", {
172
67
  variants: {
@@ -180,288 +75,79 @@ const itemMediaVariants = cva("flex shrink-0 items-center justify-center gap-2 g
180
75
  variant: "default"
181
76
  }
182
77
  });
183
- function ItemMedia(t0) {
184
- const $ = _c(11);
185
- let className;
186
- let props;
187
- let t1;
188
- if ($[0] !== t0) {
189
- ({
190
- className,
191
- variant: t1,
192
- ...props
193
- } = t0);
194
- $[0] = t0;
195
- $[1] = className;
196
- $[2] = props;
197
- $[3] = t1;
198
- } else {
199
- className = $[1];
200
- props = $[2];
201
- t1 = $[3];
202
- }
203
- const variant = t1 === undefined ? "default" : t1;
204
- let t2;
205
- if ($[4] !== className || $[5] !== variant) {
206
- t2 = cn(itemMediaVariants({
78
+ function ItemMedia({
79
+ className,
80
+ variant = "default",
81
+ ...props
82
+ }) {
83
+ return /*#__PURE__*/_jsx("div", {
84
+ "data-slot": "item-media",
85
+ "data-variant": variant,
86
+ className: cn(itemMediaVariants({
207
87
  variant,
208
88
  className
209
- }));
210
- $[4] = className;
211
- $[5] = variant;
212
- $[6] = t2;
213
- } else {
214
- t2 = $[6];
215
- }
216
- let t3;
217
- if ($[7] !== props || $[8] !== t2 || $[9] !== variant) {
218
- t3 = /*#__PURE__*/_jsx("div", {
219
- "data-slot": "item-media",
220
- "data-variant": variant,
221
- className: t2,
222
- ...props
223
- });
224
- $[7] = props;
225
- $[8] = t2;
226
- $[9] = variant;
227
- $[10] = t3;
228
- } else {
229
- t3 = $[10];
230
- }
231
- return t3;
89
+ })),
90
+ ...props
91
+ });
232
92
  }
233
- function ItemContent(t0) {
234
- const $ = _c(8);
235
- let className;
236
- let props;
237
- if ($[0] !== t0) {
238
- ({
239
- className,
240
- ...props
241
- } = t0);
242
- $[0] = t0;
243
- $[1] = className;
244
- $[2] = props;
245
- } else {
246
- className = $[1];
247
- props = $[2];
248
- }
249
- let t1;
250
- if ($[3] !== className) {
251
- t1 = cn("flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none", className);
252
- $[3] = className;
253
- $[4] = t1;
254
- } else {
255
- t1 = $[4];
256
- }
257
- let t2;
258
- if ($[5] !== props || $[6] !== t1) {
259
- t2 = /*#__PURE__*/_jsx("div", {
260
- "data-slot": "item-content",
261
- className: t1,
262
- ...props
263
- });
264
- $[5] = props;
265
- $[6] = t1;
266
- $[7] = t2;
267
- } else {
268
- t2 = $[7];
269
- }
270
- return t2;
93
+ function ItemContent({
94
+ className,
95
+ ...props
96
+ }) {
97
+ return /*#__PURE__*/_jsx("div", {
98
+ "data-slot": "item-content",
99
+ className: cn("flex flex-1 flex-col gap-1 [&+[data-slot=item-content]]:flex-none", className),
100
+ ...props
101
+ });
271
102
  }
272
- function ItemTitle(t0) {
273
- const $ = _c(8);
274
- let className;
275
- let props;
276
- if ($[0] !== t0) {
277
- ({
278
- className,
279
- ...props
280
- } = t0);
281
- $[0] = t0;
282
- $[1] = className;
283
- $[2] = props;
284
- } else {
285
- className = $[1];
286
- props = $[2];
287
- }
288
- let t1;
289
- if ($[3] !== className) {
290
- t1 = cn("flex w-fit items-center gap-2 text-sm leading-snug font-medium", className);
291
- $[3] = className;
292
- $[4] = t1;
293
- } else {
294
- t1 = $[4];
295
- }
296
- let t2;
297
- if ($[5] !== props || $[6] !== t1) {
298
- t2 = /*#__PURE__*/_jsx("div", {
299
- "data-slot": "item-title",
300
- className: t1,
301
- ...props
302
- });
303
- $[5] = props;
304
- $[6] = t1;
305
- $[7] = t2;
306
- } else {
307
- t2 = $[7];
308
- }
309
- return t2;
103
+ function ItemTitle({
104
+ className,
105
+ ...props
106
+ }) {
107
+ return /*#__PURE__*/_jsx("div", {
108
+ "data-slot": "item-title",
109
+ className: cn("flex w-fit items-center gap-2 text-sm leading-snug font-medium", className),
110
+ ...props
111
+ });
310
112
  }
311
- function ItemDescription(t0) {
312
- const $ = _c(8);
313
- let className;
314
- let props;
315
- if ($[0] !== t0) {
316
- ({
317
- className,
318
- ...props
319
- } = t0);
320
- $[0] = t0;
321
- $[1] = className;
322
- $[2] = props;
323
- } else {
324
- className = $[1];
325
- props = $[2];
326
- }
327
- let t1;
328
- if ($[3] !== className) {
329
- t1 = cn("line-clamp-2 text-sm leading-normal font-normal text-balance text-muted-foreground", "[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className);
330
- $[3] = className;
331
- $[4] = t1;
332
- } else {
333
- t1 = $[4];
334
- }
335
- let t2;
336
- if ($[5] !== props || $[6] !== t1) {
337
- t2 = /*#__PURE__*/_jsx("p", {
338
- "data-slot": "item-description",
339
- className: t1,
340
- ...props
341
- });
342
- $[5] = props;
343
- $[6] = t1;
344
- $[7] = t2;
345
- } else {
346
- t2 = $[7];
347
- }
348
- return t2;
113
+ function ItemDescription({
114
+ className,
115
+ ...props
116
+ }) {
117
+ return /*#__PURE__*/_jsx("p", {
118
+ "data-slot": "item-description",
119
+ className: cn("line-clamp-2 text-sm leading-normal font-normal text-balance text-muted-foreground", "[&>a]:underline [&>a]:underline-offset-4 [&>a:hover]:text-primary", className),
120
+ ...props
121
+ });
349
122
  }
350
- function ItemActions(t0) {
351
- const $ = _c(8);
352
- let className;
353
- let props;
354
- if ($[0] !== t0) {
355
- ({
356
- className,
357
- ...props
358
- } = t0);
359
- $[0] = t0;
360
- $[1] = className;
361
- $[2] = props;
362
- } else {
363
- className = $[1];
364
- props = $[2];
365
- }
366
- let t1;
367
- if ($[3] !== className) {
368
- t1 = cn("flex items-center gap-2", className);
369
- $[3] = className;
370
- $[4] = t1;
371
- } else {
372
- t1 = $[4];
373
- }
374
- let t2;
375
- if ($[5] !== props || $[6] !== t1) {
376
- t2 = /*#__PURE__*/_jsx("div", {
377
- "data-slot": "item-actions",
378
- className: t1,
379
- ...props
380
- });
381
- $[5] = props;
382
- $[6] = t1;
383
- $[7] = t2;
384
- } else {
385
- t2 = $[7];
386
- }
387
- return t2;
123
+ function ItemActions({
124
+ className,
125
+ ...props
126
+ }) {
127
+ return /*#__PURE__*/_jsx("div", {
128
+ "data-slot": "item-actions",
129
+ className: cn("flex items-center gap-2", className),
130
+ ...props
131
+ });
388
132
  }
389
- function ItemHeader(t0) {
390
- const $ = _c(8);
391
- let className;
392
- let props;
393
- if ($[0] !== t0) {
394
- ({
395
- className,
396
- ...props
397
- } = t0);
398
- $[0] = t0;
399
- $[1] = className;
400
- $[2] = props;
401
- } else {
402
- className = $[1];
403
- props = $[2];
404
- }
405
- let t1;
406
- if ($[3] !== className) {
407
- t1 = cn("flex basis-full items-center justify-between gap-2", className);
408
- $[3] = className;
409
- $[4] = t1;
410
- } else {
411
- t1 = $[4];
412
- }
413
- let t2;
414
- if ($[5] !== props || $[6] !== t1) {
415
- t2 = /*#__PURE__*/_jsx("div", {
416
- "data-slot": "item-header",
417
- className: t1,
418
- ...props
419
- });
420
- $[5] = props;
421
- $[6] = t1;
422
- $[7] = t2;
423
- } else {
424
- t2 = $[7];
425
- }
426
- return t2;
133
+ function ItemHeader({
134
+ className,
135
+ ...props
136
+ }) {
137
+ return /*#__PURE__*/_jsx("div", {
138
+ "data-slot": "item-header",
139
+ className: cn("flex basis-full items-center justify-between gap-2", className),
140
+ ...props
141
+ });
427
142
  }
428
- function ItemFooter(t0) {
429
- const $ = _c(8);
430
- let className;
431
- let props;
432
- if ($[0] !== t0) {
433
- ({
434
- className,
435
- ...props
436
- } = t0);
437
- $[0] = t0;
438
- $[1] = className;
439
- $[2] = props;
440
- } else {
441
- className = $[1];
442
- props = $[2];
443
- }
444
- let t1;
445
- if ($[3] !== className) {
446
- t1 = cn("flex basis-full items-center justify-between gap-2", className);
447
- $[3] = className;
448
- $[4] = t1;
449
- } else {
450
- t1 = $[4];
451
- }
452
- let t2;
453
- if ($[5] !== props || $[6] !== t1) {
454
- t2 = /*#__PURE__*/_jsx("div", {
455
- "data-slot": "item-footer",
456
- className: t1,
457
- ...props
458
- });
459
- $[5] = props;
460
- $[6] = t1;
461
- $[7] = t2;
462
- } else {
463
- t2 = $[7];
464
- }
465
- return t2;
143
+ function ItemFooter({
144
+ className,
145
+ ...props
146
+ }) {
147
+ return /*#__PURE__*/_jsx("div", {
148
+ "data-slot": "item-footer",
149
+ className: cn("flex basis-full items-center justify-between gap-2", className),
150
+ ...props
151
+ });
466
152
  }
467
153
  export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle };
@@ -1,82 +1,23 @@
1
- import { c as _c } from "react/compiler-runtime";
2
1
  import { cn } from "cn";
3
2
  import { jsx as _jsx } from "react/jsx-runtime";
4
- function Kbd(t0) {
5
- const $ = _c(8);
6
- let className;
7
- let props;
8
- if ($[0] !== t0) {
9
- ({
10
- className,
11
- ...props
12
- } = t0);
13
- $[0] = t0;
14
- $[1] = className;
15
- $[2] = props;
16
- } else {
17
- className = $[1];
18
- props = $[2];
19
- }
20
- let t1;
21
- if ($[3] !== className) {
22
- t1 = cn("pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-foreground/80 ring-1 ring-border ring-inset select-none", "[&_svg:not([class*='size-'])]:size-3", "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:ring-0 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10", className);
23
- $[3] = className;
24
- $[4] = t1;
25
- } else {
26
- t1 = $[4];
27
- }
28
- let t2;
29
- if ($[5] !== props || $[6] !== t1) {
30
- t2 = /*#__PURE__*/_jsx("kbd", {
31
- "data-slot": "kbd",
32
- className: t1,
33
- ...props
34
- });
35
- $[5] = props;
36
- $[6] = t1;
37
- $[7] = t2;
38
- } else {
39
- t2 = $[7];
40
- }
41
- return t2;
3
+ function Kbd({
4
+ className,
5
+ ...props
6
+ }) {
7
+ return /*#__PURE__*/_jsx("kbd", {
8
+ "data-slot": "kbd",
9
+ className: cn("pointer-events-none inline-flex h-5 w-fit min-w-5 items-center justify-center gap-1 rounded-sm bg-muted px-1 font-sans text-xs font-medium text-foreground/80 ring-1 ring-border ring-inset select-none", "[&_svg:not([class*='size-'])]:size-3", "[[data-slot=tooltip-content]_&]:bg-background/20 [[data-slot=tooltip-content]_&]:ring-0 [[data-slot=tooltip-content]_&]:text-background dark:[[data-slot=tooltip-content]_&]:bg-background/10", className),
10
+ ...props
11
+ });
42
12
  }
43
- function KbdGroup(t0) {
44
- const $ = _c(8);
45
- let className;
46
- let props;
47
- if ($[0] !== t0) {
48
- ({
49
- className,
50
- ...props
51
- } = t0);
52
- $[0] = t0;
53
- $[1] = className;
54
- $[2] = props;
55
- } else {
56
- className = $[1];
57
- props = $[2];
58
- }
59
- let t1;
60
- if ($[3] !== className) {
61
- t1 = cn("inline-flex items-center gap-1", className);
62
- $[3] = className;
63
- $[4] = t1;
64
- } else {
65
- t1 = $[4];
66
- }
67
- let t2;
68
- if ($[5] !== props || $[6] !== t1) {
69
- t2 = /*#__PURE__*/_jsx("kbd", {
70
- "data-slot": "kbd-group",
71
- className: t1,
72
- ...props
73
- });
74
- $[5] = props;
75
- $[6] = t1;
76
- $[7] = t2;
77
- } else {
78
- t2 = $[7];
79
- }
80
- return t2;
13
+ function KbdGroup({
14
+ className,
15
+ ...props
16
+ }) {
17
+ return /*#__PURE__*/_jsx("kbd", {
18
+ "data-slot": "kbd-group",
19
+ className: cn("inline-flex items-center gap-1", className),
20
+ ...props
21
+ });
81
22
  }
82
23
  export { Kbd, KbdGroup };