@rockshin/tao-ui 0.0.1 → 0.0.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 (59) hide show
  1. package/dist/components/breadcrumb/breadcrumb.css +1088 -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 +43 -21
  5. package/dist/components/checkbox/checkbox.css +30 -12
  6. package/dist/components/collapsible/collapsible.css +1023 -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 +1146 -0
  10. package/dist/components/context-menu/context-menu.d.ts +19 -0
  11. package/dist/components/context-menu/context-menu.js +104 -0
  12. package/dist/components/date-picker/date-picker.css +44 -16
  13. package/dist/components/drawer/drawer.css +123 -13
  14. package/dist/components/drawer/drawer.d.ts +36 -3
  15. package/dist/components/drawer/drawer.js +314 -121
  16. package/dist/components/dropdown/dropdown.css +996 -0
  17. package/dist/components/dropdown/dropdown.d.ts +45 -0
  18. package/dist/components/dropdown/dropdown.js +381 -0
  19. package/dist/components/form-field/form.css +30 -12
  20. package/dist/components/input/input.css +44 -14
  21. package/dist/components/menu/menu-render.d.ts +89 -0
  22. package/dist/components/menu/menu-render.js +376 -0
  23. package/dist/components/menu/menu.css +1142 -0
  24. package/dist/components/modal/confirm-dialog.d.ts +37 -0
  25. package/dist/components/modal/confirm-dialog.js +193 -0
  26. package/dist/components/modal/confirm.d.ts +13 -0
  27. package/dist/components/modal/confirm.js +56 -0
  28. package/dist/components/modal/index.d.ts +21 -0
  29. package/dist/components/modal/index.js +18 -0
  30. package/dist/components/modal/modal.css +1166 -0
  31. package/dist/components/modal/modal.d.ts +50 -0
  32. package/dist/components/modal/modal.js +353 -0
  33. package/dist/components/modal/use-modal.d.ts +21 -0
  34. package/dist/components/modal/use-modal.js +83 -0
  35. package/dist/components/pagination/pagination.css +30 -12
  36. package/dist/components/radio/radio.css +30 -12
  37. package/dist/components/scroll-area/scroll-area.css +30 -12
  38. package/dist/components/select/mobile-select.css +65 -13
  39. package/dist/components/select/mobile-select.js +17 -3
  40. package/dist/components/select/select.css +102 -15
  41. package/dist/components/select/select.d.ts +4 -0
  42. package/dist/components/select/select.js +204 -168
  43. package/dist/components/splitter/splitter.css +30 -12
  44. package/dist/components/switch/switch.css +30 -12
  45. package/dist/components/table/table.css +54 -18
  46. package/dist/components/table/table.d.ts +17 -2
  47. package/dist/components/table/table.js +214 -206
  48. package/dist/components/tabs/tabs.css +33 -17
  49. package/dist/components/tag/tag.css +30 -12
  50. package/dist/components/textarea/textarea.css +1204 -0
  51. package/dist/components/textarea/textarea.d.ts +19 -0
  52. package/dist/components/textarea/textarea.js +181 -0
  53. package/dist/index.d.ts +24 -18
  54. package/dist/index.js +21 -15
  55. package/dist/layouts/stack/layout.css +30 -12
  56. package/dist/theme/control.css +44 -13
  57. package/dist/theme/theme.css +30 -12
  58. package/llms.txt +7 -6
  59. package/package.json +6 -1
@@ -0,0 +1,45 @@
1
+ import { type CSSProperties, type ReactNode } from 'react';
2
+ import { type TaoSize } from '../../provider/tao-provider';
3
+ import { type SemanticClassNames, type SemanticStyles } from '../../utils/semantic';
4
+ import { type ButtonProps } from '../button/button';
5
+ import { type MenuProps, type MenuSemanticPart } from '../menu/menu-render';
6
+ import './dropdown.css';
7
+ export type DropdownSemanticPart = MenuSemanticPart;
8
+ export type { MenuDividerType, MenuGroupType, MenuItem, MenuItemType, MenuProps, } from '../menu/menu-render';
9
+ export type DropdownPlacement = 'bottom' | 'bottomLeft' | 'bottomRight' | 'top' | 'topLeft' | 'topRight';
10
+ export type DropdownTrigger = 'click' | 'hover' | 'contextMenu';
11
+ export interface DropdownProps {
12
+ menu: MenuProps;
13
+ /** Trigger element (a single React element). */
14
+ children: ReactNode;
15
+ /** How the menu opens. Defaults to `['click']`. */
16
+ trigger?: DropdownTrigger[];
17
+ /** Defaults to `'bottomLeft'`. Ignored for `contextMenu`. */
18
+ placement?: DropdownPlacement;
19
+ open?: boolean;
20
+ defaultOpen?: boolean;
21
+ onOpenChange?: (open: boolean) => void;
22
+ disabled?: boolean;
23
+ /** Show a pointing arrow on the menu. Defaults to `false`. */
24
+ arrow?: boolean;
25
+ /** Merged onto the floating content. */
26
+ className?: string;
27
+ style?: CSSProperties;
28
+ classNames?: SemanticClassNames<DropdownSemanticPart>;
29
+ styles?: SemanticStyles<DropdownSemanticPart>;
30
+ }
31
+ export interface DropdownButtonProps extends Omit<DropdownProps, 'children'> {
32
+ /** Main button content. */
33
+ children?: ReactNode;
34
+ /** Main button click handler. */
35
+ onClick?: () => void;
36
+ /** Icon for the trigger button. Defaults to an ellipsis. */
37
+ icon?: ReactNode;
38
+ variant?: ButtonProps['variant'];
39
+ size?: TaoSize;
40
+ }
41
+ export declare function Dropdown(props: DropdownProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare namespace Dropdown {
43
+ var Button: typeof DropdownButton;
44
+ }
45
+ declare function DropdownButton({ children, onClick, icon, variant, size, menu, ...dropdownRest }: DropdownButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,381 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { c } from "react/compiler-runtime";
3
+ import { isValidElement, useRef, useState } from "react";
4
+ import { useTaoConfig } from "../../provider/tao-provider.js";
5
+ import { cx } from "../../utils/semantic.js";
6
+ import { Button } from "../button/button.js";
7
+ import { ContextMenu } from "../context-menu/context-menu.js";
8
+ import { useMenuController } from "../menu/menu-render.js";
9
+ import "./dropdown.css";
10
+ import * as __rspack_external__radix_ui_react_dropdown_menu_dbc6754d from "@radix-ui/react-dropdown-menu";
11
+ const DD = {
12
+ Item: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Item,
13
+ CheckboxItem: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.CheckboxItem,
14
+ RadioGroup: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.RadioGroup,
15
+ RadioItem: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.RadioItem,
16
+ Label: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Label,
17
+ Separator: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Separator,
18
+ Group: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Group,
19
+ Sub: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Sub,
20
+ SubTrigger: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.SubTrigger,
21
+ SubContent: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.SubContent,
22
+ Portal: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Portal,
23
+ ItemIndicator: __rspack_external__radix_ui_react_dropdown_menu_dbc6754d.ItemIndicator
24
+ };
25
+ function parsePlacement(p) {
26
+ const side = p.startsWith('top') ? 'top' : 'bottom';
27
+ const align = p.endsWith('Left') ? 'start' : p.endsWith('Right') ? 'end' : 'center';
28
+ return {
29
+ side,
30
+ align
31
+ };
32
+ }
33
+ function EllipsisIcon() {
34
+ const $ = c(1);
35
+ let t0;
36
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
37
+ t0 = /*#__PURE__*/ jsxs("svg", {
38
+ width: "16",
39
+ height: "16",
40
+ viewBox: "0 0 24 24",
41
+ fill: "currentColor",
42
+ "aria-hidden": true,
43
+ children: [
44
+ /*#__PURE__*/ jsx("circle", {
45
+ cx: "5",
46
+ cy: "12",
47
+ r: "1.6"
48
+ }),
49
+ /*#__PURE__*/ jsx("circle", {
50
+ cx: "12",
51
+ cy: "12",
52
+ r: "1.6"
53
+ }),
54
+ /*#__PURE__*/ jsx("circle", {
55
+ cx: "19",
56
+ cy: "12",
57
+ r: "1.6"
58
+ })
59
+ ]
60
+ });
61
+ $[0] = t0;
62
+ } else t0 = $[0];
63
+ return t0;
64
+ }
65
+ function Dropdown(props) {
66
+ const $ = c(61);
67
+ const { menu, children, trigger: t0, placement: t1, open, defaultOpen, onOpenChange, disabled, arrow: t2, className, style, classNames, styles } = props;
68
+ let t3;
69
+ if ($[0] !== t0) {
70
+ t3 = void 0 === t0 ? [
71
+ "click"
72
+ ] : t0;
73
+ $[0] = t0;
74
+ $[1] = t3;
75
+ } else t3 = $[1];
76
+ const trigger = t3;
77
+ const placement = void 0 === t1 ? "bottomLeft" : t1;
78
+ const arrow = void 0 === t2 ? false : t2;
79
+ const { size, disabled: ctxDisabled } = useTaoConfig();
80
+ const resolvedDisabled = disabled ?? ctxDisabled;
81
+ let t4;
82
+ if ($[2] !== trigger) {
83
+ t4 = trigger.includes("contextMenu");
84
+ $[2] = trigger;
85
+ $[3] = t4;
86
+ } else t4 = $[3];
87
+ const isContext = t4;
88
+ let t5;
89
+ if ($[4] !== isContext || $[5] !== trigger) {
90
+ t5 = !isContext && trigger.includes("hover");
91
+ $[4] = isContext;
92
+ $[5] = trigger;
93
+ $[6] = t5;
94
+ } else t5 = $[6];
95
+ const hoverMode = t5;
96
+ const isOpenControlled = null != open;
97
+ const [openInternal, setOpenInternal] = useState(defaultOpen ?? false);
98
+ const realOpen = isOpenControlled ? open : openInternal;
99
+ let t6;
100
+ if ($[7] !== isOpenControlled || $[8] !== onOpenChange) {
101
+ t6 = (next)=>{
102
+ if (!isOpenControlled) setOpenInternal(next);
103
+ onOpenChange?.(next);
104
+ };
105
+ $[7] = isOpenControlled;
106
+ $[8] = onOpenChange;
107
+ $[9] = t6;
108
+ } else t6 = $[9];
109
+ const setOpen = t6;
110
+ const closeTimer = useRef(void 0);
111
+ let t7;
112
+ if ($[10] !== setOpen) {
113
+ t7 = ()=>{
114
+ clearTimeout(closeTimer.current);
115
+ setOpen(true);
116
+ };
117
+ $[10] = setOpen;
118
+ $[11] = t7;
119
+ } else t7 = $[11];
120
+ const openOnHover = t7;
121
+ let t8;
122
+ if ($[12] !== setOpen) {
123
+ t8 = ()=>{
124
+ closeTimer.current = setTimeout(()=>setOpen(false), 120);
125
+ };
126
+ $[12] = setOpen;
127
+ $[13] = t8;
128
+ } else t8 = $[13];
129
+ const closeOnHover = t8;
130
+ let t9;
131
+ if ($[14] !== classNames || $[15] !== styles) {
132
+ t9 = {
133
+ classNames,
134
+ styles
135
+ };
136
+ $[14] = classNames;
137
+ $[15] = styles;
138
+ $[16] = t9;
139
+ } else t9 = $[16];
140
+ const content = useMenuController(menu, DD, t9);
141
+ let t10;
142
+ if ($[17] !== children) {
143
+ t10 = /*#__PURE__*/ isValidElement(children) ? children : /*#__PURE__*/ jsx("span", {
144
+ children: children
145
+ });
146
+ $[17] = children;
147
+ $[18] = t10;
148
+ } else t10 = $[18];
149
+ const triggerChild = t10;
150
+ if (isContext) {
151
+ let t11;
152
+ if ($[19] !== children || $[20] !== className || $[21] !== classNames || $[22] !== disabled || $[23] !== menu || $[24] !== onOpenChange || $[25] !== open || $[26] !== style || $[27] !== styles) {
153
+ t11 = /*#__PURE__*/ jsx(ContextMenu, {
154
+ menu: menu,
155
+ open: open,
156
+ onOpenChange: onOpenChange,
157
+ disabled: disabled,
158
+ className: className,
159
+ style: style,
160
+ classNames: classNames,
161
+ styles: styles,
162
+ children: children
163
+ });
164
+ $[19] = children;
165
+ $[20] = className;
166
+ $[21] = classNames;
167
+ $[22] = disabled;
168
+ $[23] = menu;
169
+ $[24] = onOpenChange;
170
+ $[25] = open;
171
+ $[26] = style;
172
+ $[27] = styles;
173
+ $[28] = t11;
174
+ } else t11 = $[28];
175
+ return t11;
176
+ }
177
+ let t11;
178
+ if ($[29] !== placement) {
179
+ t11 = parsePlacement(placement);
180
+ $[29] = placement;
181
+ $[30] = t11;
182
+ } else t11 = $[30];
183
+ const { side, align } = t11;
184
+ let t12;
185
+ if ($[31] !== closeOnHover || $[32] !== hoverMode || $[33] !== openOnHover) {
186
+ t12 = hoverMode ? {
187
+ onPointerEnter: openOnHover,
188
+ onPointerLeave: closeOnHover
189
+ } : void 0;
190
+ $[31] = closeOnHover;
191
+ $[32] = hoverMode;
192
+ $[33] = openOnHover;
193
+ $[34] = t12;
194
+ } else t12 = $[34];
195
+ const hoverProps = t12;
196
+ let t13;
197
+ if ($[35] !== hoverProps || $[36] !== resolvedDisabled || $[37] !== triggerChild) {
198
+ t13 = /*#__PURE__*/ jsx(__rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Trigger, {
199
+ asChild: true,
200
+ disabled: resolvedDisabled,
201
+ "data-tao-dropdown-trigger": "",
202
+ ...hoverProps,
203
+ children: triggerChild
204
+ });
205
+ $[35] = hoverProps;
206
+ $[36] = resolvedDisabled;
207
+ $[37] = triggerChild;
208
+ $[38] = t13;
209
+ } else t13 = $[38];
210
+ const t14 = classNames?.content;
211
+ let t15;
212
+ if ($[39] !== className || $[40] !== t14) {
213
+ t15 = cx(t14, className);
214
+ $[39] = className;
215
+ $[40] = t14;
216
+ $[41] = t15;
217
+ } else t15 = $[41];
218
+ const t16 = styles?.content;
219
+ let t17;
220
+ if ($[42] !== style || $[43] !== t16) {
221
+ t17 = {
222
+ ...t16,
223
+ ...style
224
+ };
225
+ $[42] = style;
226
+ $[43] = t16;
227
+ $[44] = t17;
228
+ } else t17 = $[44];
229
+ let t18;
230
+ if ($[45] !== arrow) {
231
+ t18 = arrow && /*#__PURE__*/ jsx(__rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Arrow, {
232
+ "data-tao-dropdown-arrow": "",
233
+ width: 12,
234
+ height: 6
235
+ });
236
+ $[45] = arrow;
237
+ $[46] = t18;
238
+ } else t18 = $[46];
239
+ let t19;
240
+ if ($[47] !== align || $[48] !== content || $[49] !== hoverProps || $[50] !== side || $[51] !== size || $[52] !== t15 || $[53] !== t17 || $[54] !== t18) {
241
+ t19 = /*#__PURE__*/ jsx(__rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Portal, {
242
+ children: /*#__PURE__*/ jsxs(__rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Content, {
243
+ "data-tao-menu-content": "",
244
+ "data-tao-dropdown": "",
245
+ "data-tao-size": size,
246
+ className: t15,
247
+ style: t17,
248
+ side: side,
249
+ align: align,
250
+ sideOffset: 4,
251
+ ...hoverProps,
252
+ children: [
253
+ t18,
254
+ content
255
+ ]
256
+ })
257
+ });
258
+ $[47] = align;
259
+ $[48] = content;
260
+ $[49] = hoverProps;
261
+ $[50] = side;
262
+ $[51] = size;
263
+ $[52] = t15;
264
+ $[53] = t17;
265
+ $[54] = t18;
266
+ $[55] = t19;
267
+ } else t19 = $[55];
268
+ let t20;
269
+ if ($[56] !== realOpen || $[57] !== setOpen || $[58] !== t13 || $[59] !== t19) {
270
+ t20 = /*#__PURE__*/ jsxs(__rspack_external__radix_ui_react_dropdown_menu_dbc6754d.Root, {
271
+ open: realOpen,
272
+ onOpenChange: setOpen,
273
+ modal: false,
274
+ children: [
275
+ t13,
276
+ t19
277
+ ]
278
+ });
279
+ $[56] = realOpen;
280
+ $[57] = setOpen;
281
+ $[58] = t13;
282
+ $[59] = t19;
283
+ $[60] = t20;
284
+ } else t20 = $[60];
285
+ return t20;
286
+ }
287
+ function DropdownButton(t0) {
288
+ const $ = c(26);
289
+ let children;
290
+ let dropdownRest;
291
+ let icon;
292
+ let menu;
293
+ let onClick;
294
+ let size;
295
+ let t1;
296
+ if ($[0] !== t0) {
297
+ ({ children, onClick, icon, variant: t1, size, menu, ...dropdownRest } = t0);
298
+ $[0] = t0;
299
+ $[1] = children;
300
+ $[2] = dropdownRest;
301
+ $[3] = icon;
302
+ $[4] = menu;
303
+ $[5] = onClick;
304
+ $[6] = size;
305
+ $[7] = t1;
306
+ } else {
307
+ children = $[1];
308
+ dropdownRest = $[2];
309
+ icon = $[3];
310
+ menu = $[4];
311
+ onClick = $[5];
312
+ size = $[6];
313
+ t1 = $[7];
314
+ }
315
+ const variant = void 0 === t1 ? "secondary" : t1;
316
+ const { size: ctxSize } = useTaoConfig();
317
+ const resolvedSize = size ?? ctxSize;
318
+ let t2;
319
+ if ($[8] !== children || $[9] !== onClick || $[10] !== resolvedSize || $[11] !== variant) {
320
+ t2 = /*#__PURE__*/ jsx(Button, {
321
+ variant: variant,
322
+ size: resolvedSize,
323
+ onClick: onClick,
324
+ "data-tao-dropdown-button-main": "",
325
+ children: children
326
+ });
327
+ $[8] = children;
328
+ $[9] = onClick;
329
+ $[10] = resolvedSize;
330
+ $[11] = variant;
331
+ $[12] = t2;
332
+ } else t2 = $[12];
333
+ let t3;
334
+ if ($[13] !== icon) {
335
+ t3 = icon ?? /*#__PURE__*/ jsx(EllipsisIcon, {});
336
+ $[13] = icon;
337
+ $[14] = t3;
338
+ } else t3 = $[14];
339
+ let t4;
340
+ if ($[15] !== resolvedSize || $[16] !== t3 || $[17] !== variant) {
341
+ t4 = /*#__PURE__*/ jsx(Button, {
342
+ variant: variant,
343
+ size: resolvedSize,
344
+ "aria-label": "More",
345
+ "data-tao-dropdown-button-trigger": "",
346
+ children: t3
347
+ });
348
+ $[15] = resolvedSize;
349
+ $[16] = t3;
350
+ $[17] = variant;
351
+ $[18] = t4;
352
+ } else t4 = $[18];
353
+ let t5;
354
+ if ($[19] !== dropdownRest || $[20] !== menu || $[21] !== t4) {
355
+ t5 = /*#__PURE__*/ jsx(Dropdown, {
356
+ menu: menu,
357
+ ...dropdownRest,
358
+ children: t4
359
+ });
360
+ $[19] = dropdownRest;
361
+ $[20] = menu;
362
+ $[21] = t4;
363
+ $[22] = t5;
364
+ } else t5 = $[22];
365
+ let t6;
366
+ if ($[23] !== t2 || $[24] !== t5) {
367
+ t6 = /*#__PURE__*/ jsxs("span", {
368
+ "data-tao-dropdown-button-group": "",
369
+ children: [
370
+ t2,
371
+ t5
372
+ ]
373
+ });
374
+ $[23] = t2;
375
+ $[24] = t5;
376
+ $[25] = t6;
377
+ } else t6 = $[25];
378
+ return t6;
379
+ }
380
+ Dropdown.Button = DropdownButton;
381
+ export { Dropdown };
@@ -307,6 +307,8 @@
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;
@@ -529,8 +531,8 @@
529
531
  }
530
532
 
531
533
  :root, [data-tao-provider] {
532
- --tao-color-bg-container: var(--tao-color-bg-base);
533
- --tao-color-bg-elevated: var(--tao-color-bg-base);
534
+ --tao-color-bg-container: oklch(100% 0 0);
535
+ --tao-color-bg-elevated: oklch(100% 0 0);
534
536
  --tao-color-border: var(--tao-color-text-base);
535
537
  }
536
538
 
@@ -541,16 +543,7 @@
541
543
  }
542
544
 
543
545
  :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] {
546
+ --tao-color-border-secondary: #0000170b;
554
547
  --tao-radius-xs: 2px;
555
548
  --tao-radius-sm: calc(var(--tao-radius) - 2px);
556
549
  --tao-radius-md: var(--tao-radius);
@@ -633,6 +626,10 @@
633
626
  visibility: collapse;
634
627
  }
635
628
 
629
+ .visible {
630
+ visibility: visible;
631
+ }
632
+
636
633
  .absolute {
637
634
  position: absolute;
638
635
  }
@@ -715,6 +712,10 @@
715
712
  display: inline;
716
713
  }
717
714
 
715
+ .inline-flex {
716
+ display: inline-flex;
717
+ }
718
+
718
719
  .table {
719
720
  display: table;
720
721
  }
@@ -727,6 +728,10 @@
727
728
  transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
728
729
  }
729
730
 
731
+ .resize {
732
+ resize: both;
733
+ }
734
+
730
735
  .flex-wrap {
731
736
  flex-wrap: wrap;
732
737
  }
@@ -742,6 +747,14 @@
742
747
  border-width: 1px;
743
748
  }
744
749
 
750
+ .italic {
751
+ font-style: italic;
752
+ }
753
+
754
+ .underline {
755
+ text-decoration-line: underline;
756
+ }
757
+
745
758
  .shadow {
746
759
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
747
760
  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 +784,11 @@
771
784
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
772
785
  transition-duration: var(--tw-duration, var(--default-transition-duration));
773
786
  }
787
+
788
+ .select-all {
789
+ -webkit-user-select: all;
790
+ user-select: all;
791
+ }
774
792
  }
775
793
 
776
794
  [data-tao-form-field] {
@@ -87,7 +87,6 @@
87
87
  --tao-color-fill-quaternary: color-mix(in oklch, var(--tao-color-text-base) 3%, var(--tao-color-bg-base));
88
88
  --tao-color-bg-layout: color-mix(in oklch, var(--tao-color-text-base) 4%, var(--tao-color-bg-base));
89
89
  --tao-color-border: color-mix(in oklch, var(--tao-color-text-base) 18%, var(--tao-color-bg-base));
90
- --tao-color-border-secondary: color-mix(in oklch, var(--tao-color-text-base) 10%, var(--tao-color-bg-base));
91
90
  --tao-control-outline: color-mix(in oklch, var(--tao-color-primary) 10%, transparent);
92
91
  --tao-color-error-outline: color-mix(in oklch, var(--tao-color-error) 10%, transparent);
93
92
  --tao-color-warning-outline: color-mix(in oklch, var(--tao-color-warning) 10%, transparent);
@@ -350,6 +349,8 @@
350
349
  --tao-radius: 6px;
351
350
  --tao-font-size: 14px;
352
351
  --tao-control-height: 36px;
352
+ --tao-control-width: 200px;
353
+ --tao-control-range-width: 360px;
353
354
  --tao-size-unit: 4px;
354
355
  --tao-line-width: 1px;
355
356
  --tao-font-family: "Geist Sans", ui-sans-serif, system-ui, -apple-system, sans-serif;
@@ -572,8 +573,8 @@
572
573
  }
573
574
 
574
575
  :root, [data-tao-provider] {
575
- --tao-color-bg-container: var(--tao-color-bg-base);
576
- --tao-color-bg-elevated: var(--tao-color-bg-base);
576
+ --tao-color-bg-container: oklch(100% 0 0);
577
+ --tao-color-bg-elevated: oklch(100% 0 0);
577
578
  --tao-color-border: var(--tao-color-text-base);
578
579
  }
579
580
 
@@ -584,16 +585,7 @@
584
585
  }
585
586
 
586
587
  :root, [data-tao-provider] {
587
- --tao-color-border-secondary: var(--tao-color-text-base);
588
- }
589
-
590
- @supports (color: color-mix(in lab, red, red)) {
591
- :root, [data-tao-provider] {
592
- --tao-color-border-secondary: color-mix(in oklch, var(--tao-color-text-base) 10%, var(--tao-color-bg-base));
593
- }
594
- }
595
-
596
- :root, [data-tao-provider] {
588
+ --tao-color-border-secondary: #0000170b;
597
589
  --tao-radius-xs: 2px;
598
590
  --tao-radius-sm: calc(var(--tao-radius) - 2px);
599
591
  --tao-radius-md: var(--tao-radius);
@@ -676,6 +668,10 @@
676
668
  visibility: collapse;
677
669
  }
678
670
 
671
+ .visible {
672
+ visibility: visible;
673
+ }
674
+
679
675
  .absolute {
680
676
  position: absolute;
681
677
  }
@@ -758,6 +754,10 @@
758
754
  display: inline;
759
755
  }
760
756
 
757
+ .inline-flex {
758
+ display: inline-flex;
759
+ }
760
+
761
761
  .table {
762
762
  display: table;
763
763
  }
@@ -770,6 +770,10 @@
770
770
  transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
771
771
  }
772
772
 
773
+ .resize {
774
+ resize: both;
775
+ }
776
+
773
777
  .flex-wrap {
774
778
  flex-wrap: wrap;
775
779
  }
@@ -785,6 +789,14 @@
785
789
  border-width: 1px;
786
790
  }
787
791
 
792
+ .italic {
793
+ font-style: italic;
794
+ }
795
+
796
+ .underline {
797
+ text-decoration-line: underline;
798
+ }
799
+
788
800
  .shadow {
789
801
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
790
802
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -814,6 +826,24 @@
814
826
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
815
827
  transition-duration: var(--tw-duration, var(--default-transition-duration));
816
828
  }
829
+
830
+ .select-all {
831
+ -webkit-user-select: all;
832
+ user-select: all;
833
+ }
834
+ }
835
+
836
+ [data-tao-control] {
837
+ box-sizing: border-box;
838
+ width: var(--tao-control-width);
839
+ }
840
+
841
+ [data-tao-control][data-tao-range-trigger] {
842
+ width: var(--tao-control-range-width);
843
+ }
844
+
845
+ [data-tao-form-field] [data-tao-control] {
846
+ width: 100%;
817
847
  }
818
848
 
819
849
  [data-tao-control] {
@@ -821,8 +851,8 @@
821
851
  }
822
852
 
823
853
  [data-tao-control][data-tao-variant="outlined"] {
824
- background: var(--tao-color-bg-container);
825
854
  border: var(--tao-line-width) solid var(--tao-color-border);
855
+ background: none;
826
856
  }
827
857
 
828
858
  [data-tao-control][data-tao-variant="outlined"]:hover:not([data-disabled]):not(:focus-within):not([data-state="open"]) {