@rockshin/tao-ui 0.0.1 → 0.0.3

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 (71) hide show
  1. package/dist/components/breadcrumb/breadcrumb.css +1091 -0
  2. package/dist/components/breadcrumb/breadcrumb.d.ts +43 -0
  3. package/dist/components/breadcrumb/breadcrumb.js +268 -0
  4. package/dist/components/button/button.css +46 -21
  5. package/dist/components/checkbox/checkbox.css +33 -12
  6. package/dist/components/collapsible/collapsible.css +1026 -0
  7. package/dist/components/collapsible/collapsible.d.ts +39 -0
  8. package/dist/components/collapsible/collapsible.js +168 -0
  9. package/dist/components/context-menu/context-menu.css +1149 -0
  10. package/dist/components/context-menu/context-menu.d.ts +19 -0
  11. package/dist/components/context-menu/context-menu.js +106 -0
  12. package/dist/components/date-picker/calendar/month-grid.d.ts +1 -1
  13. package/dist/components/date-picker/calendar/time-panel.d.ts +1 -1
  14. package/dist/components/date-picker/calendar/year-grid.d.ts +1 -1
  15. package/dist/components/date-picker/date-picker.css +87 -17
  16. package/dist/components/date-picker/date-picker.js +9 -7
  17. package/dist/components/date-picker/range-picker.js +9 -7
  18. package/dist/components/drawer/drawer.css +128 -15
  19. package/dist/components/drawer/drawer.d.ts +36 -3
  20. package/dist/components/drawer/drawer.js +323 -121
  21. package/dist/components/dropdown/dropdown.css +999 -0
  22. package/dist/components/dropdown/dropdown.d.ts +45 -0
  23. package/dist/components/dropdown/dropdown.js +383 -0
  24. package/dist/components/form-field/form.css +33 -12
  25. package/dist/components/input/input.css +86 -14
  26. package/dist/components/menu/menu-render.d.ts +89 -0
  27. package/dist/components/menu/menu-render.js +379 -0
  28. package/dist/components/menu/menu.css +1145 -0
  29. package/dist/components/modal/confirm-dialog.d.ts +37 -0
  30. package/dist/components/modal/confirm-dialog.js +193 -0
  31. package/dist/components/modal/confirm.d.ts +13 -0
  32. package/dist/components/modal/confirm.js +56 -0
  33. package/dist/components/modal/index.d.ts +21 -0
  34. package/dist/components/modal/index.js +18 -0
  35. package/dist/components/modal/modal.css +1169 -0
  36. package/dist/components/modal/modal.d.ts +50 -0
  37. package/dist/components/modal/modal.js +362 -0
  38. package/dist/components/modal/use-modal.d.ts +21 -0
  39. package/dist/components/modal/use-modal.js +83 -0
  40. package/dist/components/pagination/pagination.css +33 -12
  41. package/dist/components/pagination/pagination.js +3 -1
  42. package/dist/components/radio/radio.css +33 -12
  43. package/dist/components/scroll-area/scroll-area.css +33 -12
  44. package/dist/components/select/mobile-select.css +75 -13
  45. package/dist/components/select/mobile-select.d.ts +4 -1
  46. package/dist/components/select/mobile-select.js +103 -107
  47. package/dist/components/select/select.css +167 -26
  48. package/dist/components/select/select.d.ts +62 -4
  49. package/dist/components/select/select.js +359 -377
  50. package/dist/components/spinner/spinner.css +1084 -0
  51. package/dist/components/spinner/spinner.d.ts +26 -0
  52. package/dist/components/spinner/spinner.js +229 -0
  53. package/dist/components/splitter/splitter.css +33 -12
  54. package/dist/components/switch/switch.css +33 -12
  55. package/dist/components/table/table.css +57 -18
  56. package/dist/components/table/table.d.ts +17 -2
  57. package/dist/components/table/table.js +214 -206
  58. package/dist/components/tabs/tabs.css +36 -17
  59. package/dist/components/tag/tag.css +33 -12
  60. package/dist/components/textarea/textarea.css +1246 -0
  61. package/dist/components/textarea/textarea.d.ts +19 -0
  62. package/dist/components/textarea/textarea.js +181 -0
  63. package/dist/index.d.ts +25 -18
  64. package/dist/index.js +22 -15
  65. package/dist/layouts/stack/layout.css +33 -12
  66. package/dist/provider/tao-provider.d.ts +17 -1
  67. package/dist/provider/tao-provider.js +53 -15
  68. package/dist/theme/control.css +86 -13
  69. package/dist/theme/theme.css +33 -12
  70. package/llms.txt +7 -6
  71. package/package.json +18 -13
@@ -0,0 +1,43 @@
1
+ import { type CSSProperties, type MouseEvent, type ReactNode } from 'react';
2
+ import { type SemanticClassNames, type SemanticStyles } from '../../utils/semantic';
3
+ import './breadcrumb.css';
4
+ export type BreadcrumbSemanticPart = 'root' | 'list' | 'item' | 'link' | 'page' | 'separator' | 'ellipsis';
5
+ export interface BreadcrumbItemType {
6
+ /** Stable key; falls back to the item index. */
7
+ key?: string | number;
8
+ /** Content to display. */
9
+ title?: ReactNode;
10
+ /** When set, the item renders as an `<a>`. */
11
+ href?: string;
12
+ /** Click handler; turns a title-only item into an interactive link. */
13
+ onClick?: (e: MouseEvent<HTMLElement>) => void;
14
+ /** Disable interaction for this item. */
15
+ disabled?: boolean;
16
+ }
17
+ export interface BreadcrumbProps {
18
+ /** Breadcrumb path, root first. The last item renders as the current page. */
19
+ items: BreadcrumbItemType[];
20
+ /** Separator between items. Defaults to a chevron, like shadcn. */
21
+ separator?: ReactNode;
22
+ /**
23
+ * Collapse the middle of long paths into an ellipsis once the number of
24
+ * items exceeds this value. Shows the first item and the last
25
+ * `maxItems - 1` items.
26
+ */
27
+ maxItems?: number;
28
+ /**
29
+ * Custom renderer for an item's content. Return a React element (e.g. a
30
+ * router `<Link>`) and its props are merged onto the breadcrumb link via
31
+ * Radix Slot — no extra `<a>` wrapper is added.
32
+ */
33
+ itemRender?: (item: BreadcrumbItemType, info: {
34
+ index: number;
35
+ isLast: boolean;
36
+ items: BreadcrumbItemType[];
37
+ }) => ReactNode;
38
+ className?: string;
39
+ style?: CSSProperties;
40
+ classNames?: SemanticClassNames<BreadcrumbSemanticPart>;
41
+ styles?: SemanticStyles<BreadcrumbSemanticPart>;
42
+ }
43
+ export declare function Breadcrumb({ items, separator, maxItems, itemRender, className, style, classNames, styles, }: BreadcrumbProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,268 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { c } from "react/compiler-runtime";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { Fragment, isValidElement } from "react";
5
+ import { useTaoConfig } from "../../provider/tao-provider.js";
6
+ import { cx } from "../../utils/semantic.js";
7
+ import { Dropdown } from "../dropdown/dropdown.js";
8
+ import "./breadcrumb.css";
9
+ function ChevronIcon() {
10
+ const $ = c(1);
11
+ let t0;
12
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
13
+ t0 = /*#__PURE__*/ jsx("svg", {
14
+ viewBox: "0 0 16 16",
15
+ fill: "none",
16
+ "aria-hidden": true,
17
+ children: /*#__PURE__*/ jsx("path", {
18
+ d: "M6 4l4 4-4 4",
19
+ stroke: "currentColor",
20
+ strokeWidth: "1.5",
21
+ strokeLinecap: "round",
22
+ strokeLinejoin: "round"
23
+ })
24
+ });
25
+ $[0] = t0;
26
+ } else t0 = $[0];
27
+ return t0;
28
+ }
29
+ function EllipsisIcon() {
30
+ const $ = c(1);
31
+ let t0;
32
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
33
+ t0 = /*#__PURE__*/ jsxs("svg", {
34
+ viewBox: "0 0 16 16",
35
+ fill: "currentColor",
36
+ "aria-hidden": true,
37
+ children: [
38
+ /*#__PURE__*/ jsx("circle", {
39
+ cx: "3",
40
+ cy: "8",
41
+ r: "1.3"
42
+ }),
43
+ /*#__PURE__*/ jsx("circle", {
44
+ cx: "8",
45
+ cy: "8",
46
+ r: "1.3"
47
+ }),
48
+ /*#__PURE__*/ jsx("circle", {
49
+ cx: "13",
50
+ cy: "8",
51
+ r: "1.3"
52
+ })
53
+ ]
54
+ });
55
+ $[0] = t0;
56
+ } else t0 = $[0];
57
+ return t0;
58
+ }
59
+ const ELLIPSIS = Symbol('ellipsis');
60
+ function Breadcrumb(t0) {
61
+ const $ = c(55);
62
+ const { items, separator, maxItems, itemRender, className, style, classNames, styles } = t0;
63
+ const { size, disabled: ctxDisabled } = useTaoConfig();
64
+ const collapsed = null != maxItems && maxItems >= 1 && items.length > maxItems;
65
+ let t1;
66
+ if ($[0] !== collapsed || $[1] !== items || $[2] !== maxItems) {
67
+ t1 = collapsed ? [
68
+ items[0],
69
+ ELLIPSIS,
70
+ ...items.slice(items.length - Math.max(1, maxItems - 1))
71
+ ] : items;
72
+ $[0] = collapsed;
73
+ $[1] = items;
74
+ $[2] = maxItems;
75
+ $[3] = t1;
76
+ } else t1 = $[3];
77
+ const display = t1;
78
+ let t2;
79
+ if ($[4] !== separator) {
80
+ t2 = separator ?? /*#__PURE__*/ jsx(ChevronIcon, {});
81
+ $[4] = separator;
82
+ $[5] = t2;
83
+ } else t2 = $[5];
84
+ const sep = t2;
85
+ let t3;
86
+ if ($[6] !== classNames?.link || $[7] !== classNames?.page || $[8] !== ctxDisabled || $[9] !== itemRender || $[10] !== items || $[11] !== styles?.link || $[12] !== styles?.page) {
87
+ t3 = (item, index, isLast)=>{
88
+ const content = itemRender ? itemRender(item, {
89
+ index,
90
+ isLast,
91
+ items
92
+ }) : item.title;
93
+ const disabled = item.disabled || ctxDisabled;
94
+ if (isLast) return /*#__PURE__*/ jsx("span", {
95
+ "data-tao-breadcrumb-page": "",
96
+ "aria-current": "page",
97
+ className: cx(classNames?.page),
98
+ style: styles?.page,
99
+ children: content
100
+ });
101
+ const linkProps = {
102
+ "data-tao-breadcrumb-link": "",
103
+ "data-tao-disabled": disabled || void 0,
104
+ className: cx(classNames?.link),
105
+ style: styles?.link,
106
+ onClick: disabled ? void 0 : item.onClick
107
+ };
108
+ if (itemRender && /*#__PURE__*/ isValidElement(content)) return /*#__PURE__*/ jsx(Slot, {
109
+ ...linkProps,
110
+ children: content
111
+ });
112
+ if (null != item.href) return /*#__PURE__*/ jsx("a", {
113
+ href: item.href,
114
+ ...linkProps,
115
+ children: content
116
+ });
117
+ if (item.onClick) return /*#__PURE__*/ jsx("span", {
118
+ role: "link",
119
+ tabIndex: disabled ? void 0 : 0,
120
+ ...linkProps,
121
+ children: content
122
+ });
123
+ return /*#__PURE__*/ jsx("span", {
124
+ "data-tao-breadcrumb-text": "",
125
+ className: cx(classNames?.link),
126
+ style: styles?.link,
127
+ children: content
128
+ });
129
+ };
130
+ $[6] = classNames?.link;
131
+ $[7] = classNames?.page;
132
+ $[8] = ctxDisabled;
133
+ $[9] = itemRender;
134
+ $[10] = items;
135
+ $[11] = styles?.link;
136
+ $[12] = styles?.page;
137
+ $[13] = t3;
138
+ } else t3 = $[13];
139
+ const renderContent = t3;
140
+ const t4 = classNames?.root;
141
+ let t5;
142
+ if ($[14] !== className || $[15] !== t4) {
143
+ t5 = cx(t4, className);
144
+ $[14] = className;
145
+ $[15] = t4;
146
+ $[16] = t5;
147
+ } else t5 = $[16];
148
+ const t6 = styles?.root;
149
+ let t7;
150
+ if ($[17] !== style || $[18] !== t6) {
151
+ t7 = {
152
+ ...t6,
153
+ ...style
154
+ };
155
+ $[17] = style;
156
+ $[18] = t6;
157
+ $[19] = t7;
158
+ } else t7 = $[19];
159
+ const t8 = classNames?.list;
160
+ let t9;
161
+ if ($[20] !== t8) {
162
+ t9 = cx(t8);
163
+ $[20] = t8;
164
+ $[21] = t9;
165
+ } else t9 = $[21];
166
+ const t10 = styles?.list;
167
+ let t11;
168
+ if ($[22] !== classNames?.ellipsis || $[23] !== classNames?.item || $[24] !== classNames?.separator || $[25] !== display || $[26] !== items || $[27] !== maxItems || $[28] !== renderContent || $[29] !== sep || $[30] !== styles?.ellipsis || $[31] !== styles?.item || $[32] !== styles?.separator) {
169
+ let t12;
170
+ if ($[34] !== classNames?.ellipsis || $[35] !== classNames?.item || $[36] !== classNames?.separator || $[37] !== display.length || $[38] !== items || $[39] !== maxItems || $[40] !== renderContent || $[41] !== sep || $[42] !== styles?.ellipsis || $[43] !== styles?.item || $[44] !== styles?.separator) {
171
+ t12 = (entry, i)=>{
172
+ const isLast_0 = i === display.length - 1;
173
+ const isEllipsis = entry === ELLIPSIS;
174
+ const key = isEllipsis ? `ellipsis-${i}` : entry.key ?? i;
175
+ return /*#__PURE__*/ jsxs(Fragment, {
176
+ children: [
177
+ /*#__PURE__*/ jsx("li", {
178
+ "data-tao-breadcrumb-item": "",
179
+ className: cx(classNames?.item),
180
+ style: styles?.item,
181
+ children: isEllipsis ? /*#__PURE__*/ jsx(Dropdown, {
182
+ menu: {
183
+ items: items.slice(1, items.length - Math.max(1, (maxItems ?? 1) - 1)).map((hidden, hi)=>({
184
+ key: null != hidden.key ? String(hidden.key) : `breadcrumb-hidden-${hi + 1}`,
185
+ label: renderContent(hidden, hi + 1, false),
186
+ disabled: hidden.disabled
187
+ }))
188
+ },
189
+ children: /*#__PURE__*/ jsx("button", {
190
+ type: "button",
191
+ "data-tao-breadcrumb-ellipsis": "",
192
+ "aria-label": "Show more",
193
+ className: cx(classNames?.ellipsis),
194
+ style: styles?.ellipsis,
195
+ children: /*#__PURE__*/ jsx(EllipsisIcon, {})
196
+ })
197
+ }) : renderContent(entry, i, isLast_0)
198
+ }),
199
+ !isLast_0 && /*#__PURE__*/ jsx("li", {
200
+ "data-tao-breadcrumb-separator": "",
201
+ role: "presentation",
202
+ "aria-hidden": true,
203
+ className: cx(classNames?.separator),
204
+ style: styles?.separator,
205
+ children: sep
206
+ })
207
+ ]
208
+ }, key);
209
+ };
210
+ $[34] = classNames?.ellipsis;
211
+ $[35] = classNames?.item;
212
+ $[36] = classNames?.separator;
213
+ $[37] = display.length;
214
+ $[38] = items;
215
+ $[39] = maxItems;
216
+ $[40] = renderContent;
217
+ $[41] = sep;
218
+ $[42] = styles?.ellipsis;
219
+ $[43] = styles?.item;
220
+ $[44] = styles?.separator;
221
+ $[45] = t12;
222
+ } else t12 = $[45];
223
+ t11 = display.map(t12);
224
+ $[22] = classNames?.ellipsis;
225
+ $[23] = classNames?.item;
226
+ $[24] = classNames?.separator;
227
+ $[25] = display;
228
+ $[26] = items;
229
+ $[27] = maxItems;
230
+ $[28] = renderContent;
231
+ $[29] = sep;
232
+ $[30] = styles?.ellipsis;
233
+ $[31] = styles?.item;
234
+ $[32] = styles?.separator;
235
+ $[33] = t11;
236
+ } else t11 = $[33];
237
+ let t12;
238
+ if ($[46] !== t10 || $[47] !== t11 || $[48] !== t9) {
239
+ t12 = /*#__PURE__*/ jsx("ol", {
240
+ "data-tao-breadcrumb-list": "",
241
+ className: t9,
242
+ style: t10,
243
+ children: t11
244
+ });
245
+ $[46] = t10;
246
+ $[47] = t11;
247
+ $[48] = t9;
248
+ $[49] = t12;
249
+ } else t12 = $[49];
250
+ let t13;
251
+ if ($[50] !== size || $[51] !== t12 || $[52] !== t5 || $[53] !== t7) {
252
+ t13 = /*#__PURE__*/ jsx("nav", {
253
+ "data-tao-breadcrumb": "",
254
+ "data-tao-size": size,
255
+ "aria-label": "breadcrumb",
256
+ className: t5,
257
+ style: t7,
258
+ children: t12
259
+ });
260
+ $[50] = size;
261
+ $[51] = t12;
262
+ $[52] = t5;
263
+ $[53] = t7;
264
+ $[54] = t13;
265
+ } else t13 = $[54];
266
+ return t13;
267
+ }
268
+ export { Breadcrumb };
@@ -307,11 +307,16 @@
307
307
  --tao-radius: 6px;
308
308
  --tao-font-size: 14px;
309
309
  --tao-control-height: 36px;
310
+ --tao-control-width: 200px;
311
+ --tao-control-range-width: 360px;
310
312
  --tao-size-unit: 4px;
311
313
  --tao-line-width: 1px;
312
314
  --tao-font-family: "Geist Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
313
315
  --tao-font-family-code: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
314
316
  --tao-motion-unit: .1s;
317
+ --tao-z-index-drawer: 1000;
318
+ --tao-z-index-modal: 1000;
319
+ --tao-z-index-popup: 1100;
315
320
  --tao-primary: var(--tao-color-primary);
316
321
  --tao-primary-hover: var(--tao-color-primary);
317
322
  }
@@ -529,8 +534,8 @@
529
534
  }
530
535
 
531
536
  :root, [data-tao-provider] {
532
- --tao-color-bg-container: var(--tao-color-bg-base);
533
- --tao-color-bg-elevated: var(--tao-color-bg-base);
537
+ --tao-color-bg-container: oklch(100% 0 0);
538
+ --tao-color-bg-elevated: oklch(100% 0 0);
534
539
  --tao-color-border: var(--tao-color-text-base);
535
540
  }
536
541
 
@@ -541,16 +546,7 @@
541
546
  }
542
547
 
543
548
  :root, [data-tao-provider] {
544
- --tao-color-border-secondary: var(--tao-color-text-base);
545
- }
546
-
547
- @supports (color: color-mix(in lab, red, red)) {
548
- :root, [data-tao-provider] {
549
- --tao-color-border-secondary: color-mix(in oklch, var(--tao-color-text-base) 10%, var(--tao-color-bg-base));
550
- }
551
- }
552
-
553
- :root, [data-tao-provider] {
549
+ --tao-color-border-secondary: #0000170b;
554
550
  --tao-radius-xs: 2px;
555
551
  --tao-radius-sm: calc(var(--tao-radius) - 2px);
556
552
  --tao-radius-md: var(--tao-radius);
@@ -633,6 +629,10 @@
633
629
  visibility: collapse;
634
630
  }
635
631
 
632
+ .visible {
633
+ visibility: visible;
634
+ }
635
+
636
636
  .absolute {
637
637
  position: absolute;
638
638
  }
@@ -715,6 +715,10 @@
715
715
  display: inline;
716
716
  }
717
717
 
718
+ .inline-flex {
719
+ display: inline-flex;
720
+ }
721
+
718
722
  .table {
719
723
  display: table;
720
724
  }
@@ -727,6 +731,10 @@
727
731
  transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
728
732
  }
729
733
 
734
+ .resize {
735
+ resize: both;
736
+ }
737
+
730
738
  .flex-wrap {
731
739
  flex-wrap: wrap;
732
740
  }
@@ -742,6 +750,14 @@
742
750
  border-width: 1px;
743
751
  }
744
752
 
753
+ .italic {
754
+ font-style: italic;
755
+ }
756
+
757
+ .underline {
758
+ text-decoration-line: underline;
759
+ }
760
+
745
761
  .shadow {
746
762
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
747
763
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -771,21 +787,26 @@
771
787
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
772
788
  transition-duration: var(--tw-duration, var(--default-transition-duration));
773
789
  }
790
+
791
+ .select-all {
792
+ -webkit-user-select: all;
793
+ user-select: all;
794
+ }
774
795
  }
775
796
 
776
797
  button[data-tao-variant] {
798
+ justify-content: center;
799
+ align-items: center;
800
+ gap: var(--tao-padding-xs);
777
801
  font-family: var(--tao-font-family);
778
- font-weight: var(--tao-font-weight-strong);
802
+ font-weight: var(--tao-font-weight-normal);
779
803
  border: var(--tao-line-width) solid transparent;
780
804
  cursor: pointer;
781
805
  -webkit-user-select: none;
782
806
  user-select: none;
783
807
  white-space: nowrap;
784
- transition: background-color var(--tao-motion-duration-fast) var(--tao-motion-ease-out), border-color var(--tao-motion-duration-fast) var(--tao-motion-ease-out), transform var(--tao-motion-duration-fast) var(--tao-motion-ease-out);
808
+ transition: background-color var(--tao-motion-duration-fast) var(--tao-motion-ease-out), border-color var(--tao-motion-duration-fast) var(--tao-motion-ease-out);
785
809
  outline: none;
786
- justify-content: center;
787
- align-items: center;
788
- gap: 6px;
789
810
  display: inline-flex;
790
811
  }
791
812
 
@@ -798,7 +819,7 @@ button[data-tao-size="small"] {
798
819
 
799
820
  button[data-tao-size="medium"] {
800
821
  height: var(--tao-control-height);
801
- padding-inline: var(--tao-padding-sm);
822
+ padding-inline: var(--tao-padding);
802
823
  font-size: var(--tao-font-size-base);
803
824
  border-radius: var(--tao-radius-md);
804
825
  }
@@ -820,7 +841,7 @@ button[data-tao-variant="primary"]:hover:not(:disabled) {
820
841
  }
821
842
 
822
843
  button[data-tao-variant="primary"]:active:not(:disabled) {
823
- transform: scale(.98);
844
+ background: var(--tao-primary-active);
824
845
  }
825
846
 
826
847
  button[data-tao-variant="secondary"] {
@@ -835,7 +856,7 @@ button[data-tao-variant="secondary"]:hover:not(:disabled) {
835
856
  }
836
857
 
837
858
  button[data-tao-variant="secondary"]:active:not(:disabled) {
838
- transform: scale(.98);
859
+ background: var(--tao-color-fill-secondary);
839
860
  }
840
861
 
841
862
  button[data-tao-variant="ghost"] {
@@ -848,6 +869,10 @@ button[data-tao-variant="ghost"]:hover:not(:disabled) {
848
869
  color: var(--tao-color-text);
849
870
  }
850
871
 
872
+ button[data-tao-variant="ghost"]:active:not(:disabled) {
873
+ background: var(--tao-color-fill-secondary);
874
+ }
875
+
851
876
  button[data-tao-variant="destructive"] {
852
877
  background: var(--tao-error);
853
878
  color: var(--tao-error-fg);
@@ -858,7 +883,7 @@ button[data-tao-variant="destructive"]:hover:not(:disabled) {
858
883
  }
859
884
 
860
885
  button[data-tao-variant="destructive"]:active:not(:disabled) {
861
- transform: scale(.98);
886
+ background: var(--tao-error-active);
862
887
  }
863
888
 
864
889
  button[data-tao-variant]:disabled {
@@ -307,11 +307,16 @@
307
307
  --tao-radius: 6px;
308
308
  --tao-font-size: 14px;
309
309
  --tao-control-height: 36px;
310
+ --tao-control-width: 200px;
311
+ --tao-control-range-width: 360px;
310
312
  --tao-size-unit: 4px;
311
313
  --tao-line-width: 1px;
312
314
  --tao-font-family: "Geist Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
313
315
  --tao-font-family-code: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
314
316
  --tao-motion-unit: .1s;
317
+ --tao-z-index-drawer: 1000;
318
+ --tao-z-index-modal: 1000;
319
+ --tao-z-index-popup: 1100;
315
320
  --tao-primary: var(--tao-color-primary);
316
321
  --tao-primary-hover: var(--tao-color-primary);
317
322
  }
@@ -529,8 +534,8 @@
529
534
  }
530
535
 
531
536
  :root, [data-tao-provider] {
532
- --tao-color-bg-container: var(--tao-color-bg-base);
533
- --tao-color-bg-elevated: var(--tao-color-bg-base);
537
+ --tao-color-bg-container: oklch(100% 0 0);
538
+ --tao-color-bg-elevated: oklch(100% 0 0);
534
539
  --tao-color-border: var(--tao-color-text-base);
535
540
  }
536
541
 
@@ -541,16 +546,7 @@
541
546
  }
542
547
 
543
548
  :root, [data-tao-provider] {
544
- --tao-color-border-secondary: var(--tao-color-text-base);
545
- }
546
-
547
- @supports (color: color-mix(in lab, red, red)) {
548
- :root, [data-tao-provider] {
549
- --tao-color-border-secondary: color-mix(in oklch, var(--tao-color-text-base) 10%, var(--tao-color-bg-base));
550
- }
551
- }
552
-
553
- :root, [data-tao-provider] {
549
+ --tao-color-border-secondary: #0000170b;
554
550
  --tao-radius-xs: 2px;
555
551
  --tao-radius-sm: calc(var(--tao-radius) - 2px);
556
552
  --tao-radius-md: var(--tao-radius);
@@ -633,6 +629,10 @@
633
629
  visibility: collapse;
634
630
  }
635
631
 
632
+ .visible {
633
+ visibility: visible;
634
+ }
635
+
636
636
  .absolute {
637
637
  position: absolute;
638
638
  }
@@ -715,6 +715,10 @@
715
715
  display: inline;
716
716
  }
717
717
 
718
+ .inline-flex {
719
+ display: inline-flex;
720
+ }
721
+
718
722
  .table {
719
723
  display: table;
720
724
  }
@@ -727,6 +731,10 @@
727
731
  transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
728
732
  }
729
733
 
734
+ .resize {
735
+ resize: both;
736
+ }
737
+
730
738
  .flex-wrap {
731
739
  flex-wrap: wrap;
732
740
  }
@@ -742,6 +750,14 @@
742
750
  border-width: 1px;
743
751
  }
744
752
 
753
+ .italic {
754
+ font-style: italic;
755
+ }
756
+
757
+ .underline {
758
+ text-decoration-line: underline;
759
+ }
760
+
745
761
  .shadow {
746
762
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
747
763
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -771,6 +787,11 @@
771
787
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
772
788
  transition-duration: var(--tw-duration, var(--default-transition-duration));
773
789
  }
790
+
791
+ .select-all {
792
+ -webkit-user-select: all;
793
+ user-select: all;
794
+ }
774
795
  }
775
796
 
776
797
  [data-tao-checkbox-wrapper] {