@choice-ui/react 1.7.3 → 1.7.5

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 (56) hide show
  1. package/dist/components/button/dist/index.d.ts +2 -9
  2. package/dist/components/button/dist/index.js +38 -19
  3. package/dist/components/button/src/button.d.ts +2 -9
  4. package/dist/components/button/src/button.js +22 -13
  5. package/dist/components/button/src/tv.d.ts +12 -0
  6. package/dist/components/button/src/tv.js +15 -5
  7. package/dist/components/comments/src/comment-item/tv.d.ts +3 -3
  8. package/dist/components/modal/dist/index.js +3 -2
  9. package/dist/components/modal/src/styles/style.module.css +4 -0
  10. package/dist/components/modal/src/styles/style.module.css.js +8 -0
  11. package/dist/components/modal/src/tv.d.ts +3 -3
  12. package/dist/components/modal/src/tv.js +3 -2
  13. package/dist/components/numeric-input/dist/index.js +4 -3
  14. package/dist/components/numeric-input/src/styles/style.module.css +45 -0
  15. package/dist/components/numeric-input/src/styles/style.module.css.js +12 -0
  16. package/dist/components/numeric-input/src/tv.js +4 -3
  17. package/dist/components/otp-input/src/otp-input.js +10 -31
  18. package/dist/components/otp-input/src/styles/style.module.css +15 -0
  19. package/dist/components/otp-input/src/styles/style.module.css.js +8 -0
  20. package/dist/components/otp-input/src/tv.d.ts +3 -3
  21. package/dist/components/otp-input/src/tv.js +2 -1
  22. package/dist/components/panel/dist/index.d.ts +16 -16
  23. package/dist/components/panel/src/components/panel-label.js +2 -1
  24. package/dist/components/panel/src/components/panel-previewer.js +2 -4
  25. package/dist/components/panel/src/components/panel-row-label.js +2 -4
  26. package/dist/components/panel/src/components/panel-row-many-icon.js +4 -5
  27. package/dist/components/panel/src/components/panel-row.d.ts +12 -12
  28. package/dist/components/panel/src/components/panel-row.js +3 -3
  29. package/dist/components/panel/src/components/panel-sortable-row.js +13 -12
  30. package/dist/components/panel/src/components/panel-sortable.d.ts +1 -1
  31. package/dist/components/panel/src/components/panel-sortable.js +21 -21
  32. package/dist/components/panel/src/components/panel-title.js +16 -19
  33. package/dist/components/panel/src/context/panel-context.d.ts +1 -2
  34. package/dist/components/panel/src/hooks/use-panel-drag-drop.js +7 -6
  35. package/dist/components/panel/src/panel.d.ts +2 -2
  36. package/dist/components/panel/src/panel.js +38 -37
  37. package/dist/components/panel/src/styles/style.module.css +103 -0
  38. package/dist/components/panel/src/styles/style.module.css.js +23 -0
  39. package/dist/components/panel/src/tv.d.ts +89 -0
  40. package/dist/components/panel/src/tv.js +52 -15
  41. package/dist/components/skeleton/src/styles/style.module.css +18 -0
  42. package/dist/components/skeleton/src/styles/style.module.css.js +8 -0
  43. package/dist/components/skeleton/src/tv.js +2 -1
  44. package/dist/components/splitter/dist/index.d.ts +1 -1
  45. package/dist/components/splitter/src/splitter.d.ts +2 -2
  46. package/dist/components/text-field/dist/index.js +2 -1
  47. package/dist/components/text-field/src/styles/style.module.css +31 -0
  48. package/dist/components/text-field/src/styles/style.module.css.js +8 -0
  49. package/dist/components/text-field/src/tv.js +2 -1
  50. package/dist/components/toast/dist/index.d.ts +14 -0
  51. package/dist/components/toast/src/components/toaster-item.js +2 -1
  52. package/dist/components/toast/src/store.d.ts +14 -0
  53. package/dist/components/toast/src/store.js +1 -0
  54. package/dist/styles/components.css +0 -199
  55. package/package.json +1 -1
  56. package/dist/components/splitter/src/tv.d.ts +0 -7
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { forwardRef, useMemo, Children } from "react";
2
+ import { forwardRef, useMemo, Children, memo } from "react";
3
3
  import { propertiesPanelTv } from "./tv.js";
4
4
  import { PanelContext, usePanelContext } from "./context/panel-context.js";
5
5
  import { PanelLabel } from "./components/panel-label.js";
@@ -11,7 +11,7 @@ import { PanelRowLabel } from "./components/panel-row-label.js";
11
11
  import { PanelRowManyIcon } from "./components/panel-row-many-icon.js";
12
12
  import { PanelPreviewer } from "./components/panel-previewer.js";
13
13
  import { tcx } from "../../../shared/utils/tcx/tcx.js";
14
- const PanelContent = function PanelContent2({
14
+ const PanelContent = memo(function PanelContent2({
15
15
  children,
16
16
  collapsible,
17
17
  title,
@@ -22,7 +22,7 @@ const PanelContent = function PanelContent2({
22
22
  title,
23
23
  collapsible && !isCollapsed && otherChildren
24
24
  ] }) : /* @__PURE__ */ jsx(Fragment, { children });
25
- };
25
+ });
26
26
  const PanelBase = forwardRef(function Panel(props, ref) {
27
27
  const {
28
28
  className,
@@ -61,42 +61,43 @@ const PanelBase = forwardRef(function Panel(props, ref) {
61
61
  });
62
62
  return { title: title2, otherChildren: otherChildren2 };
63
63
  }, [children, collapsible, isCollapsed]);
64
- const styles = propertiesPanelTv({
65
- isEmpty: isEmpty || isCollapsed || otherChildren.length === 0
66
- });
67
- return /* @__PURE__ */ jsx(
68
- PanelContext.Provider,
64
+ const tv = useMemo(
65
+ () => propertiesPanelTv({
66
+ isEmpty: isEmpty || isCollapsed || otherChildren.length === 0
67
+ }),
68
+ [isEmpty, isCollapsed, otherChildren.length]
69
+ );
70
+ const contextValue = useMemo(
71
+ () => ({ collapsible, isCollapsed, onCollapsedChange, showLabels, alwaysShowCollapsible }),
72
+ [collapsible, isCollapsed, onCollapsedChange, showLabels, alwaysShowCollapsible]
73
+ );
74
+ return /* @__PURE__ */ jsx(PanelContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxs(
75
+ "div",
69
76
  {
70
- value: { collapsible, isCollapsed, onCollapsedChange, showLabels, alwaysShowCollapsible },
71
- children: /* @__PURE__ */ jsxs(
72
- "div",
73
- {
74
- ref,
75
- className: tcx(styles.container(), className),
76
- "aria-expanded": !isCollapsed,
77
- ...rest,
78
- children: [
79
- triggerRef && /* @__PURE__ */ jsx(
80
- "div",
81
- {
82
- ref: triggerRef,
83
- className: styles.triggerRef()
84
- }
85
- ),
86
- /* @__PURE__ */ jsx(
87
- PanelContent,
88
- {
89
- collapsible,
90
- title,
91
- otherChildren,
92
- children
93
- }
94
- )
95
- ]
96
- }
97
- )
77
+ ref,
78
+ className: tcx(tv.container(), className),
79
+ "aria-expanded": !isCollapsed,
80
+ ...rest,
81
+ children: [
82
+ triggerRef && /* @__PURE__ */ jsx(
83
+ "div",
84
+ {
85
+ ref: triggerRef,
86
+ className: tv.triggerRef()
87
+ }
88
+ ),
89
+ /* @__PURE__ */ jsx(
90
+ PanelContent,
91
+ {
92
+ collapsible,
93
+ title,
94
+ otherChildren,
95
+ children
96
+ }
97
+ )
98
+ ]
98
99
  }
99
- );
100
+ ) });
100
101
  });
101
102
  PanelBase.displayName = "Panel";
102
103
  const Panel2 = PanelBase;
@@ -0,0 +1,103 @@
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
2
+ ._label_yadvv_2 {
3
+ margin-top: calc(var(--spacing, .25rem) * 1);
4
+ -webkit-user-select: none;
5
+ user-select: none;
6
+ letter-spacing: .016875rem;
7
+ padding-left: .125rem;
8
+ padding-right: .125rem;
9
+ font-size: .5625rem;
10
+ font-weight: 500;
11
+ line-height: .875rem;
12
+ }
13
+
14
+ ._single_yadvv_14 {
15
+ column-gap: calc(var(--spacing, .25rem) * 2);
16
+ padding-right: calc(var(--spacing, .25rem) * 4);
17
+ grid-template: "label"
18
+ "input" minmax(2rem, auto)
19
+ / 1fr;
20
+ }
21
+
22
+ ._two-columns_yadvv_22 {
23
+ column-gap: calc(var(--spacing, .25rem) * 2);
24
+ padding-right: calc(var(--spacing, .25rem) * 4);
25
+ grid-template: "label-1 label-2"
26
+ "input-1 input-2" minmax(2rem, auto)
27
+ / 1fr 1fr;
28
+ }
29
+
30
+ ._one-label-one-input_yadvv_30 {
31
+ column-gap: calc(var(--spacing, .25rem) * 2);
32
+ padding-right: calc(var(--spacing, .25rem) * 4);
33
+ grid-template: "label input" 2rem
34
+ / 8fr 20fr;
35
+ }
36
+
37
+ ._one-label-one-input-one-icon_yadvv_37 {
38
+ column-gap: calc(var(--spacing, .25rem) * 1);
39
+ padding-right: calc(var(--spacing, .25rem) * 2);
40
+ grid-template: "label input icon" 2rem
41
+ / 8fr 20fr 1.5rem;
42
+ }
43
+
44
+ ._one-label-two-input_yadvv_44 {
45
+ column-gap: calc(var(--spacing, .25rem) * 2);
46
+ padding-right: calc(var(--spacing, .25rem) * 4);
47
+ grid-template: "label input-1 input-2" 2rem
48
+ / 8fr 10fr 10fr;
49
+ }
50
+
51
+ ._one-icon-one-input_yadvv_51 {
52
+ column-gap: calc(var(--spacing, .25rem) * 2);
53
+ padding-right: calc(var(--spacing, .25rem) * 4);
54
+ grid-template: ". label"
55
+ "icon input" minmax(2rem, auto)
56
+ / 1.5rem 1fr;
57
+ }
58
+
59
+ ._one-input-one-icon_yadvv_59 {
60
+ column-gap: calc(var(--spacing, .25rem) * 2);
61
+ grid-template: "label label"
62
+ "input icon" minmax(2rem, auto)
63
+ / 1fr 1.5rem;
64
+ }
65
+
66
+ ._one-input-two-icon_yadvv_66 {
67
+ grid-template: "label . . . ."
68
+ "input . icon-1 . icon-2" minmax(2rem, auto)
69
+ / 1fr .5rem 1.5rem .25rem 1.5rem;
70
+ }
71
+
72
+ ._two-input-two-icon_yadvv_72 {
73
+ grid-template: "label-1 label-1 label-2 label-2 . . ."
74
+ "input-1 . input-2 . icon-1 . icon-2" minmax(2rem, auto)
75
+ / minmax(76px, 1fr) .5rem 1fr .5rem 1.5rem .25rem 1.5rem;
76
+ }
77
+
78
+ ._two-input-one-icon_yadvv_78 {
79
+ column-gap: calc(var(--spacing, .25rem) * 2);
80
+ grid-template: "label-1 label-2 label-2"
81
+ "input-1 input-2 icon" minmax(2rem, auto)
82
+ / 1fr 1fr 1.5rem;
83
+ }
84
+
85
+ ._one-icon-one-input-one-icon_yadvv_85 {
86
+ grid-template: "label label label label label"
87
+ "icon-1 . input . icon-2" minmax(2rem, auto)
88
+ / 1.5rem .5rem 1fr .5rem 1.5rem;
89
+ }
90
+
91
+ ._one-icon-one-input-two-icon_yadvv_91 {
92
+ grid-template: "label label label label label label label"
93
+ "icon-1 . input . icon-2 . icon-3" minmax(2rem, auto)
94
+ / 1.5rem .5rem 1fr .5rem 1.5rem .25rem 1.5rem;
95
+ }
96
+
97
+ ._two-input-one-icon-double-row_yadvv_97 {
98
+ column-gap: calc(var(--spacing, .25rem) * 2);
99
+ grid-template: "label-1 label-2 ."
100
+ "input-1 input-3 icon-1" 2rem
101
+ "input-2 input-3 icon-2" 2rem
102
+ / 1fr 1fr 1.5rem;
103
+ }
@@ -0,0 +1,23 @@
1
+ import './style.module.css';const label = "_label_yadvv_2";
2
+ const single = "_single_yadvv_14";
3
+ const s = {
4
+ label,
5
+ single,
6
+ "two-columns": "_two-columns_yadvv_22",
7
+ "one-label-one-input": "_one-label-one-input_yadvv_30",
8
+ "one-label-one-input-one-icon": "_one-label-one-input-one-icon_yadvv_37",
9
+ "one-label-two-input": "_one-label-two-input_yadvv_44",
10
+ "one-icon-one-input": "_one-icon-one-input_yadvv_51",
11
+ "one-input-one-icon": "_one-input-one-icon_yadvv_59",
12
+ "one-input-two-icon": "_one-input-two-icon_yadvv_66",
13
+ "two-input-two-icon": "_two-input-two-icon_yadvv_72",
14
+ "two-input-one-icon": "_two-input-one-icon_yadvv_78",
15
+ "one-icon-one-input-one-icon": "_one-icon-one-input-one-icon_yadvv_85",
16
+ "one-icon-one-input-two-icon": "_one-icon-one-input-two-icon_yadvv_91",
17
+ "two-input-one-icon-double-row": "_two-input-one-icon-double-row_yadvv_97"
18
+ };
19
+ export {
20
+ s as default,
21
+ label,
22
+ single
23
+ };
@@ -122,6 +122,9 @@ export declare const propertiesPanelRowTv: import('tailwind-variants').TVReturnT
122
122
  "two-input-two-icon": {
123
123
  container: string;
124
124
  };
125
+ "one-icon-one-input-one-icon": {
126
+ container: string;
127
+ };
125
128
  "one-icon-one-input-two-icon": {
126
129
  container: string;
127
130
  };
@@ -179,6 +182,9 @@ export declare const propertiesPanelRowTv: import('tailwind-variants').TVReturnT
179
182
  "two-input-two-icon": {
180
183
  container: string;
181
184
  };
185
+ "one-icon-one-input-one-icon": {
186
+ container: string;
187
+ };
182
188
  "one-icon-one-input-two-icon": {
183
189
  container: string;
184
190
  };
@@ -236,6 +242,9 @@ export declare const propertiesPanelRowTv: import('tailwind-variants').TVReturnT
236
242
  "two-input-two-icon": {
237
243
  container: string;
238
244
  };
245
+ "one-icon-one-input-one-icon": {
246
+ container: string;
247
+ };
239
248
  "one-icon-one-input-two-icon": {
240
249
  container: string;
241
250
  };
@@ -362,3 +371,83 @@ export declare const panelSortableRowTv: import('tailwind-variants').TVReturnTyp
362
371
  root: string;
363
372
  handle: string[];
364
373
  }, undefined, unknown, unknown, undefined>>;
374
+ export declare const panelLabelTv: import('tailwind-variants').TVReturnType<{
375
+ showLabels: {
376
+ true: string[];
377
+ false: string;
378
+ };
379
+ }, undefined, "[grid-area:label]", {
380
+ showLabels: {
381
+ true: string[];
382
+ false: string;
383
+ };
384
+ }, undefined, import('tailwind-variants').TVReturnType<{
385
+ showLabels: {
386
+ true: string[];
387
+ false: string;
388
+ };
389
+ }, undefined, "[grid-area:label]", unknown, unknown, undefined>>;
390
+ export declare const panelPreviewerTv: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "bg-secondary-background text-secondary-foreground relative mx-4 my-2 flex h-32 flex-col items-center justify-center rounded-xl", {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "bg-secondary-background text-secondary-foreground relative mx-4 my-2 flex h-32 flex-col items-center justify-center rounded-xl", unknown, unknown, undefined>>;
391
+ export declare const panelRowLabelTv: import('tailwind-variants').TVReturnType<{} | {} | {}, undefined, "text-secondary-foreground cursor-default truncate select-none [grid-area:label]", {} | {}, undefined, import('tailwind-variants').TVReturnType<unknown, undefined, "text-secondary-foreground cursor-default truncate select-none [grid-area:label]", unknown, unknown, undefined>>;
392
+ export declare const panelRowManyIconTv: import('tailwind-variants').TVReturnType<{
393
+ [key: string]: {
394
+ [key: string]: import('tailwind-merge').ClassNameValue | {
395
+ container?: import('tailwind-merge').ClassNameValue;
396
+ iconWrapper?: import('tailwind-merge').ClassNameValue;
397
+ };
398
+ };
399
+ } | {
400
+ [x: string]: {
401
+ [x: string]: import('tailwind-merge').ClassNameValue | {
402
+ container?: import('tailwind-merge').ClassNameValue;
403
+ iconWrapper?: import('tailwind-merge').ClassNameValue;
404
+ };
405
+ };
406
+ } | {}, {
407
+ container: string;
408
+ iconWrapper: string;
409
+ }, undefined, {
410
+ [key: string]: {
411
+ [key: string]: import('tailwind-merge').ClassNameValue | {
412
+ container?: import('tailwind-merge').ClassNameValue;
413
+ iconWrapper?: import('tailwind-merge').ClassNameValue;
414
+ };
415
+ };
416
+ } | {}, {
417
+ container: string;
418
+ iconWrapper: string;
419
+ }, import('tailwind-variants').TVReturnType<unknown, {
420
+ container: string;
421
+ iconWrapper: string;
422
+ }, undefined, unknown, unknown, undefined>>;
423
+ export declare const panelSortableContainerTv: import('tailwind-variants').TVReturnType<{
424
+ [key: string]: {
425
+ [key: string]: import('tailwind-merge').ClassNameValue | {
426
+ container?: import('tailwind-merge').ClassNameValue;
427
+ rowContainer?: import('tailwind-merge').ClassNameValue;
428
+ };
429
+ };
430
+ } | {
431
+ [x: string]: {
432
+ [x: string]: import('tailwind-merge').ClassNameValue | {
433
+ container?: import('tailwind-merge').ClassNameValue;
434
+ rowContainer?: import('tailwind-merge').ClassNameValue;
435
+ };
436
+ };
437
+ } | {}, {
438
+ container: string;
439
+ rowContainer: string;
440
+ }, undefined, {
441
+ [key: string]: {
442
+ [key: string]: import('tailwind-merge').ClassNameValue | {
443
+ container?: import('tailwind-merge').ClassNameValue;
444
+ rowContainer?: import('tailwind-merge').ClassNameValue;
445
+ };
446
+ };
447
+ } | {}, {
448
+ container: string;
449
+ rowContainer: string;
450
+ }, import('tailwind-variants').TVReturnType<unknown, {
451
+ container: string;
452
+ rowContainer: string;
453
+ }, undefined, unknown, unknown, undefined>>;
@@ -1,7 +1,8 @@
1
+ import s from "./styles/style.module.css.js";
1
2
  import { tcv } from "../../../shared/utils/tcx/tcx.js";
2
3
  const propertiesPanelTv = tcv({
3
4
  slots: {
4
- container: "properties-panel",
5
+ container: "relative flex min-w-0 flex-col not-last:border-b",
5
6
  triggerRef: "pointer-events-none absolute inset-y-0 left-0"
6
7
  },
7
8
  variants: {
@@ -27,25 +28,26 @@ const propertiesPaneTitleTv = tcv({
27
28
  });
28
29
  const propertiesPanelRowTv = tcv({
29
30
  slots: {
30
- container: "group rows",
31
+ container: "group grid min-w-0 items-center pr-2 pl-4",
31
32
  triggerRef: "pointer-events-none absolute inset-y-0 left-0"
32
33
  },
33
34
  variants: {
34
35
  type: {
35
- single: { container: "rows--single" },
36
- "two-columns": { container: "rows--two-columns" },
37
- "one-label-one-input": { container: "rows--one-label-one-input" },
38
- "one-label-one-input-one-icon": { container: "rows--one-label-one-input-one-icon" },
39
- "one-label-two-input": { container: "rows--one-label-two-input" },
40
- "one-icon-one-input": { container: "rows--one-icon-one-input" },
41
- "one-input-one-icon": { container: "rows--one-input-one-icon" },
42
- "one-input-two-icon": { container: "rows--one-input-two-icon" },
43
- "two-input-one-icon": { container: "rows--two-input-one-icon" },
44
- "two-input-two-icon": { container: "rows--two-input-two-icon" },
45
- "one-icon-one-input-two-icon": { container: "rows--one-icon-one-input-two-icon" },
46
- "two-input-one-icon-double-row": { container: "rows--two-input-one-icon-double-row" },
36
+ single: { container: s.single },
37
+ "two-columns": { container: s["two-columns"] },
38
+ "one-label-one-input": { container: s["one-label-one-input"] },
39
+ "one-label-one-input-one-icon": { container: s["one-label-one-input-one-icon"] },
40
+ "one-label-two-input": { container: s["one-label-two-input"] },
41
+ "one-icon-one-input": { container: s["one-icon-one-input"] },
42
+ "one-input-one-icon": { container: s["one-input-one-icon"] },
43
+ "one-input-two-icon": { container: s["one-input-two-icon"] },
44
+ "two-input-one-icon": { container: s["two-input-one-icon"] },
45
+ "two-input-two-icon": { container: s["two-input-two-icon"] },
46
+ "one-icon-one-input-one-icon": { container: s["one-icon-one-input-one-icon"] },
47
+ "one-icon-one-input-two-icon": { container: s["one-icon-one-input-two-icon"] },
48
+ "two-input-one-icon-double-row": { container: s["two-input-one-icon-double-row"] },
47
49
  "one-icon-one-input-two-icon-double-row": {
48
- container: "rows--one-icon-one-input-two-icon-double-row"
50
+ container: s["one-icon-one-input-two-icon-double-row"]
49
51
  }
50
52
  },
51
53
  triggerRef: {
@@ -97,7 +99,42 @@ const panelSortableRowTv = tcv({
97
99
  singleItem: false
98
100
  }
99
101
  });
102
+ const panelLabelTv = tcv({
103
+ base: "[grid-area:label]",
104
+ variants: {
105
+ showLabels: {
106
+ true: ["text-secondary-foreground", s.label],
107
+ false: "sr-only"
108
+ }
109
+ },
110
+ defaultVariants: {
111
+ showLabels: false
112
+ }
113
+ });
114
+ const panelPreviewerTv = tcv({
115
+ base: "bg-secondary-background text-secondary-foreground relative mx-4 my-2 flex h-32 flex-col items-center justify-center rounded-xl"
116
+ });
117
+ const panelRowLabelTv = tcv({
118
+ base: "text-secondary-foreground cursor-default truncate select-none [grid-area:label]"
119
+ });
120
+ const panelRowManyIconTv = tcv({
121
+ slots: {
122
+ container: "group text-body-medium flex h-8 min-w-0 items-center justify-between gap-x-2 pr-2 pl-4 select-none",
123
+ iconWrapper: "text-secondary-foreground group-hover:text-default-foreground flex h-6 min-w-6 flex-none gap-x-1"
124
+ }
125
+ });
126
+ const panelSortableContainerTv = tcv({
127
+ slots: {
128
+ container: "relative flex flex-col",
129
+ rowContainer: "panel-sortable-row group/sortable-row relative"
130
+ }
131
+ });
100
132
  export {
133
+ panelLabelTv,
134
+ panelPreviewerTv,
135
+ panelRowLabelTv,
136
+ panelRowManyIconTv,
137
+ panelSortableContainerTv,
101
138
  panelSortableRowTv,
102
139
  propertiesPaneTitleTv,
103
140
  propertiesPanelRowTv,
@@ -0,0 +1,18 @@
1
+ ._skeleton_76sc4_1 {
2
+ transition: all 0.2s ease-in-out !important;
3
+ outline: none !important;
4
+ box-shadow: none !important;
5
+ border-color: transparent !important;
6
+ border-radius: var(--radius-md);
7
+ background-color: var(--color-secondary-background) !important;
8
+ resize: none !important;
9
+ pointer-events: none !important;
10
+ color: transparent !important;
11
+ &::placeholder,
12
+ &:placeholder-shown {
13
+ color: transparent !important;
14
+ }
15
+ & * {
16
+ visibility: hidden !important;
17
+ }
18
+ }
@@ -0,0 +1,8 @@
1
+ import './style.module.css';const skeleton = "_skeleton_76sc4_1";
2
+ const s = {
3
+ skeleton
4
+ };
5
+ export {
6
+ s as default,
7
+ skeleton
8
+ };
@@ -1,3 +1,4 @@
1
+ import s from "./styles/style.module.css.js";
1
2
  import { tcv } from "../../../shared/utils/tcx/tcx.js";
2
3
  const skeletonTv = tcv({
3
4
  slots: {
@@ -7,7 +8,7 @@ const skeletonTv = tcv({
7
8
  variants: {
8
9
  loading: {
9
10
  true: {
10
- root: ["skeleton", "animate-pulse"]
11
+ root: [s.skeleton, "animate-pulse"]
11
12
  },
12
13
  false: {}
13
14
  },
@@ -1 +1 @@
1
- export { AllotmentProps, Allotment as Splitter, AllotmentHandle as SplitterHandle } from 'allotment';
1
+ export { Allotment as Splitter, AllotmentHandle as SplitterHandle, AllotmentProps as SplitterProps } from 'allotment';
@@ -1,3 +1,3 @@
1
- import { Allotment as Splitter, AllotmentProps, AllotmentHandle as SplitterHandle } from 'allotment';
1
+ import { Allotment as Splitter, AllotmentProps as SplitterProps, AllotmentHandle as SplitterHandle } from 'allotment';
2
2
  export { Splitter };
3
- export type { SplitterHandle, AllotmentProps };
3
+ export type { SplitterHandle, SplitterProps };
@@ -18,6 +18,7 @@ var FieldAddon = memo(
18
18
  })
19
19
  );
20
20
  FieldAddon.displayName = "FieldAddon";
21
+ var style_default = {};
21
22
  var TextFieldTv = tcv({
22
23
  slots: {
23
24
  container: ["flex min-w-0 flex-col items-start gap-2"],
@@ -26,7 +27,7 @@ var TextFieldTv = tcv({
26
27
  "rounded-md",
27
28
  "focus-within:before:border-selected-boundary",
28
29
  "before:border-transparent",
29
- "fields__text-field"
30
+ style_default.textField
30
31
  ],
31
32
  input: "[grid-area:input]",
32
33
  prefix: "[grid-area:prefix]",
@@ -0,0 +1,31 @@
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
2
+ @layer properties {
3
+ @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
4
+ *, :before, :after, ::backdrop {
5
+ --tw-border-style: solid;
6
+ }
7
+ }
8
+ }
9
+
10
+ ._textField_u6mdl_10 {
11
+ grid-template-columns: auto 1fr auto;
12
+ grid-template-areas: "prefix input suffix";
13
+ }
14
+
15
+ ._textField_u6mdl_10:before {
16
+ pointer-events: none;
17
+ z-index: 2;
18
+ border-style: var(--tw-border-style);
19
+ height: 100%;
20
+ transform-style: preserve-3d;
21
+ border-radius: inherit;
22
+ content: "";
23
+ border-width: 1px;
24
+ grid-area: 1 / 1 / 2 / 4;
25
+ }
26
+
27
+ @property --tw-border-style {
28
+ syntax: "*";
29
+ inherits: false;
30
+ initial-value: solid;
31
+ }
@@ -0,0 +1,8 @@
1
+ import './style.module.css';const textField = "_textField_u6mdl_10";
2
+ const s = {
3
+ textField
4
+ };
5
+ export {
6
+ s as default,
7
+ textField
8
+ };
@@ -1,3 +1,4 @@
1
+ import s from "./styles/style.module.css.js";
1
2
  import { tcv } from "../../../shared/utils/tcx/tcx.js";
2
3
  const TextFieldTv = tcv({
3
4
  slots: {
@@ -7,7 +8,7 @@ const TextFieldTv = tcv({
7
8
  "rounded-md",
8
9
  "focus-within:before:border-selected-boundary",
9
10
  "before:border-transparent",
10
- "fields__text-field"
11
+ s.textField
11
12
  ],
12
13
  input: "[grid-area:input]",
13
14
  prefix: "[grid-area:prefix]",
@@ -105,6 +105,13 @@ interface ToastData {
105
105
  onClose?: () => void;
106
106
  onAutoClose?: () => void;
107
107
  dismissible?: boolean;
108
+ /**
109
+ * Show progress bar for this toast. Overrides Toaster's showProgress setting.
110
+ * - `true`: Always show progress bar
111
+ * - `false`: Never show progress bar
112
+ * - `undefined`: Use Toaster's showProgress setting
113
+ */
114
+ progress?: boolean;
108
115
  createdAt: number;
109
116
  height?: number;
110
117
  removing?: boolean;
@@ -133,6 +140,13 @@ interface ToastOptions {
133
140
  onClose?: () => void;
134
141
  onAutoClose?: () => void;
135
142
  dismissible?: boolean;
143
+ /**
144
+ * Show progress bar for this toast. Overrides Toaster's showProgress setting.
145
+ * - `true`: Always show progress bar
146
+ * - `false`: Never show progress bar
147
+ * - `undefined`: Use Toaster's showProgress setting
148
+ */
149
+ progress?: boolean;
136
150
  }
137
151
  interface PromiseOptions<T> {
138
152
  loading: string | (ToastOptions & {
@@ -72,7 +72,8 @@ const ToasterItem = memo(
72
72
  const [swipeDirection, setSwipeDirection] = useState(null);
73
73
  const swipeStartRef = useRef(null);
74
74
  const toastDuration = toast.duration ?? defaultDuration;
75
- const shouldShowProgress = showProgress && toastDuration > 0 && Number.isFinite(toastDuration) && toast.type !== "loading";
75
+ const effectiveShowProgress = toast.progress ?? showProgress;
76
+ const shouldShowProgress = effectiveShowProgress && toastDuration > 0 && Number.isFinite(toastDuration) && toast.type !== "loading";
76
77
  const offsetY = useMemo(() => {
77
78
  if (expanded) {
78
79
  let offset = 0;
@@ -30,6 +30,13 @@ export interface ToastData {
30
30
  onClose?: () => void;
31
31
  onAutoClose?: () => void;
32
32
  dismissible?: boolean;
33
+ /**
34
+ * Show progress bar for this toast. Overrides Toaster's showProgress setting.
35
+ * - `true`: Always show progress bar
36
+ * - `false`: Never show progress bar
37
+ * - `undefined`: Use Toaster's showProgress setting
38
+ */
39
+ progress?: boolean;
33
40
  createdAt: number;
34
41
  height?: number;
35
42
  removing?: boolean;
@@ -58,6 +65,13 @@ export interface ToastOptions {
58
65
  onClose?: () => void;
59
66
  onAutoClose?: () => void;
60
67
  dismissible?: boolean;
68
+ /**
69
+ * Show progress bar for this toast. Overrides Toaster's showProgress setting.
70
+ * - `true`: Always show progress bar
71
+ * - `false`: Never show progress bar
72
+ * - `undefined`: Use Toaster's showProgress setting
73
+ */
74
+ progress?: boolean;
61
75
  }
62
76
  export interface ToasterState {
63
77
  toasts: ToastData[];
@@ -81,6 +81,7 @@ function addToast(title, type, options = {}, toasterId = DEFAULT_TOASTER_ID) {
81
81
  onClose: options.onClose,
82
82
  onAutoClose: options.onAutoClose,
83
83
  dismissible: options.dismissible ?? true,
84
+ progress: options.progress,
84
85
  createdAt: Date.now()
85
86
  };
86
87
  let newToasts;