@m3-baseui/react-tailwind 1.0.0
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.
- package/dist/badge.d.ts +45 -0
- package/dist/badge.js +50 -0
- package/dist/badge.js.map +1 -0
- package/dist/button.d.ts +69 -0
- package/dist/button.js +74 -0
- package/dist/button.js.map +1 -0
- package/dist/card.d.ts +80 -0
- package/dist/card.js +77 -0
- package/dist/card.js.map +1 -0
- package/dist/checkbox.d.ts +63 -0
- package/dist/checkbox.js +60 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chip.d.ts +165 -0
- package/dist/chip.js +76 -0
- package/dist/chip.js.map +1 -0
- package/dist/dialog.d.ts +86 -0
- package/dist/dialog.js +68 -0
- package/dist/dialog.js.map +1 -0
- package/dist/divider.d.ts +83 -0
- package/dist/divider.js +34 -0
- package/dist/divider.js.map +1 -0
- package/dist/fab.d.ts +104 -0
- package/dist/fab.js +43 -0
- package/dist/fab.js.map +1 -0
- package/dist/icon-button.d.ts +174 -0
- package/dist/icon-button.js +121 -0
- package/dist/icon-button.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.js +1157 -0
- package/dist/index.js.map +1 -0
- package/dist/item.d.ts +94 -0
- package/dist/item.js +62 -0
- package/dist/item.js.map +1 -0
- package/dist/list.d.ts +163 -0
- package/dist/list.js +94 -0
- package/dist/list.js.map +1 -0
- package/dist/menu.d.ts +119 -0
- package/dist/menu.js +114 -0
- package/dist/menu.js.map +1 -0
- package/dist/navigation-bar.d.ts +91 -0
- package/dist/navigation-bar.js +48 -0
- package/dist/navigation-bar.js.map +1 -0
- package/dist/navigation-drawer.d.ts +86 -0
- package/dist/navigation-drawer.js +78 -0
- package/dist/navigation-drawer.js.map +1 -0
- package/dist/progress.d.ts +118 -0
- package/dist/progress.js +41 -0
- package/dist/progress.js.map +1 -0
- package/dist/radio.d.ts +56 -0
- package/dist/radio.js +47 -0
- package/dist/radio.js.map +1 -0
- package/dist/segmented-button.d.ts +83 -0
- package/dist/segmented-button.js +71 -0
- package/dist/segmented-button.js.map +1 -0
- package/dist/select.d.ts +125 -0
- package/dist/select.js +99 -0
- package/dist/select.js.map +1 -0
- package/dist/slider.d.ts +94 -0
- package/dist/slider.js +71 -0
- package/dist/slider.js.map +1 -0
- package/dist/snackbar.d.ts +108 -0
- package/dist/snackbar.js +57 -0
- package/dist/snackbar.js.map +1 -0
- package/dist/switch.d.ts +72 -0
- package/dist/switch.js +66 -0
- package/dist/switch.js.map +1 -0
- package/dist/tabs.d.ts +118 -0
- package/dist/tabs.js +97 -0
- package/dist/tabs.js.map +1 -0
- package/dist/textfield.d.ts +127 -0
- package/dist/textfield.js +83 -0
- package/dist/textfield.js.map +1 -0
- package/dist/tooltip.d.ts +61 -0
- package/dist/tooltip.js +52 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/tv.d.ts +19 -0
- package/dist/tv.js +35 -0
- package/dist/tv.js.map +1 -0
- package/package.json +171 -0
- package/styles/preset.css +30 -0
- package/styles/theme.css +213 -0
- package/styles/tokens.css +361 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as _m3_baseui_core from '@m3-baseui/core';
|
|
3
|
+
export { CircularProgressProps, LinearProgressProps } from '@m3-baseui/core';
|
|
4
|
+
import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
|
|
5
|
+
import * as tailwind_variants from 'tailwind-variants';
|
|
6
|
+
|
|
7
|
+
declare const linearTv: tailwind_variants.TVReturnType<{
|
|
8
|
+
[key: string]: {
|
|
9
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
10
|
+
track?: tailwind_variants.ClassValue;
|
|
11
|
+
root?: tailwind_variants.ClassValue;
|
|
12
|
+
indicator?: tailwind_variants.ClassValue;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
} | {
|
|
16
|
+
[x: string]: {
|
|
17
|
+
[x: string]: tailwind_variants.ClassValue | {
|
|
18
|
+
track?: tailwind_variants.ClassValue;
|
|
19
|
+
root?: tailwind_variants.ClassValue;
|
|
20
|
+
indicator?: tailwind_variants.ClassValue;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
} | {}, {
|
|
24
|
+
root: string;
|
|
25
|
+
track: string;
|
|
26
|
+
indicator: string[];
|
|
27
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
28
|
+
[key: string]: {
|
|
29
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
30
|
+
track?: tailwind_variants.ClassValue;
|
|
31
|
+
root?: tailwind_variants.ClassValue;
|
|
32
|
+
indicator?: tailwind_variants.ClassValue;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
} | {}>, {
|
|
36
|
+
[key: string]: {
|
|
37
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
38
|
+
track?: tailwind_variants.ClassValue;
|
|
39
|
+
root?: tailwind_variants.ClassValue;
|
|
40
|
+
indicator?: tailwind_variants.ClassValue;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
} | {}, {
|
|
44
|
+
root: string;
|
|
45
|
+
track: string;
|
|
46
|
+
indicator: string[];
|
|
47
|
+
}, tailwind_variants.TVReturnType<unknown, {
|
|
48
|
+
root: string;
|
|
49
|
+
track: string;
|
|
50
|
+
indicator: string[];
|
|
51
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
52
|
+
[key: string]: {
|
|
53
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
54
|
+
track?: tailwind_variants.ClassValue;
|
|
55
|
+
root?: tailwind_variants.ClassValue;
|
|
56
|
+
indicator?: tailwind_variants.ClassValue;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
} | {}>, unknown, unknown, undefined>>;
|
|
60
|
+
declare const circularTv: tailwind_variants.TVReturnType<{
|
|
61
|
+
[key: string]: {
|
|
62
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
63
|
+
track?: tailwind_variants.ClassValue;
|
|
64
|
+
root?: tailwind_variants.ClassValue;
|
|
65
|
+
indicator?: tailwind_variants.ClassValue;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
} | {
|
|
69
|
+
[x: string]: {
|
|
70
|
+
[x: string]: tailwind_variants.ClassValue | {
|
|
71
|
+
track?: tailwind_variants.ClassValue;
|
|
72
|
+
root?: tailwind_variants.ClassValue;
|
|
73
|
+
indicator?: tailwind_variants.ClassValue;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
} | {}, {
|
|
77
|
+
root: string[];
|
|
78
|
+
track: string;
|
|
79
|
+
indicator: string[];
|
|
80
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
81
|
+
[key: string]: {
|
|
82
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
83
|
+
track?: tailwind_variants.ClassValue;
|
|
84
|
+
root?: tailwind_variants.ClassValue;
|
|
85
|
+
indicator?: tailwind_variants.ClassValue;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
} | {}>, {
|
|
89
|
+
[key: string]: {
|
|
90
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
91
|
+
track?: tailwind_variants.ClassValue;
|
|
92
|
+
root?: tailwind_variants.ClassValue;
|
|
93
|
+
indicator?: tailwind_variants.ClassValue;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
} | {}, {
|
|
97
|
+
root: string[];
|
|
98
|
+
track: string;
|
|
99
|
+
indicator: string[];
|
|
100
|
+
}, tailwind_variants.TVReturnType<unknown, {
|
|
101
|
+
root: string[];
|
|
102
|
+
track: string;
|
|
103
|
+
indicator: string[];
|
|
104
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
105
|
+
[key: string]: {
|
|
106
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
107
|
+
track?: tailwind_variants.ClassValue;
|
|
108
|
+
root?: tailwind_variants.ClassValue;
|
|
109
|
+
indicator?: tailwind_variants.ClassValue;
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
} | {}>, unknown, unknown, undefined>>;
|
|
113
|
+
declare const Progress: {
|
|
114
|
+
Linear: react.ForwardRefExoticComponent<_m3_baseui_core.LinearProgressOwnProps & Omit<react.HTMLAttributes<HTMLDivElement>, "value" | "defaultValue"> & react.RefAttributes<HTMLDivElement>>;
|
|
115
|
+
Circular: react.ForwardRefExoticComponent<_m3_baseui_core.CircularProgressOwnProps & Omit<react.HTMLAttributes<HTMLSpanElement>, "value" | "defaultValue"> & react.RefAttributes<HTMLSpanElement>>;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
export { Progress, circularTv, linearTv };
|
package/dist/progress.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createProgress } from '@m3-baseui/core';
|
|
3
|
+
import { tv } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
// src/progress.ts
|
|
6
|
+
var linearTv = tv({
|
|
7
|
+
slots: {
|
|
8
|
+
root: "group relative block w-full h-1 overflow-hidden rounded-full",
|
|
9
|
+
track: "absolute inset-0 bg-surface-container-highest rounded-full",
|
|
10
|
+
indicator: [
|
|
11
|
+
"absolute inset-y-0 left-0 bg-primary rounded-full",
|
|
12
|
+
"transition-[width] duration-200 ease-standard",
|
|
13
|
+
"group-data-[indeterminate]:w-2/5 group-data-[indeterminate]:transition-none",
|
|
14
|
+
"group-data-[indeterminate]:animate-m3-linear-indeterminate"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
var circularTv = tv({
|
|
19
|
+
slots: {
|
|
20
|
+
root: [
|
|
21
|
+
"inline-flex items-center justify-center size-12",
|
|
22
|
+
"[&_svg]:block [&_svg]:size-full",
|
|
23
|
+
"data-[indeterminate]:animate-spin"
|
|
24
|
+
],
|
|
25
|
+
track: "stroke-surface-container-highest [stroke-width:4px]",
|
|
26
|
+
indicator: [
|
|
27
|
+
"stroke-primary [stroke-width:4px] [stroke-linecap:round]",
|
|
28
|
+
"transition-[stroke-dashoffset] duration-300 ease-standard"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
var l = linearTv();
|
|
33
|
+
var c = circularTv();
|
|
34
|
+
var Progress = createProgress({
|
|
35
|
+
linear: { root: l.root(), track: l.track(), indicator: l.indicator() },
|
|
36
|
+
circular: { root: c.root(), track: c.track(), indicator: c.indicator() }
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
export { Progress, circularTv, linearTv };
|
|
40
|
+
//# sourceMappingURL=progress.js.map
|
|
41
|
+
//# sourceMappingURL=progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/progress.ts"],"names":[],"mappings":";;;;;AAYO,IAAM,WAAW,EAAA,CAAG;AAAA,EACzB,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,8DAAA;AAAA,IACN,KAAA,EAAO,4DAAA;AAAA,IACP,SAAA,EAAW;AAAA,MACT,mDAAA;AAAA,MACA,+CAAA;AAAA,MACA,6EAAA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;AAEM,IAAM,aAAa,EAAA,CAAG;AAAA,EAC3B,KAAA,EAAO;AAAA,IACL,IAAA,EAAM;AAAA,MACJ,iDAAA;AAAA,MACA,iCAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,KAAA,EAAO,qDAAA;AAAA,IACP,SAAA,EAAW;AAAA,MACT,0DAAA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;AAED,IAAM,IAAI,QAAA,EAAS;AACnB,IAAM,IAAI,UAAA,EAAW;AACd,IAAM,WAAW,cAAA,CAAe;AAAA,EACrC,MAAA,EAAQ,EAAE,IAAA,EAAM,CAAA,CAAE,IAAA,EAAK,EAAG,KAAA,EAAO,CAAA,CAAE,KAAA,EAAM,EAAG,SAAA,EAAW,CAAA,CAAE,WAAU,EAAE;AAAA,EACrE,QAAA,EAAU,EAAE,IAAA,EAAM,CAAA,CAAE,IAAA,EAAK,EAAG,KAAA,EAAO,CAAA,CAAE,KAAA,EAAM,EAAG,SAAA,EAAW,CAAA,CAAE,WAAU;AACvE,CAAC","file":"progress.js","sourcesContent":["/**\n * progress.ts — tailwind-variants slots for the M3 Progress indicators.\n *\n * Linear: a 4dp `surface-container-highest` track with a `primary` active\n * indicator; the indeterminate slide animation keys off the Root's\n * `data-indeterminate` (see the `m3-linear-indeterminate` keyframe in\n * preset.css). Circular: a 48dp / 4dp `primary` ring whose arc is drawn by the\n * factory; `data-indeterminate` rotates the whole ring. Same DOM as the VE build.\n */\nimport { createProgress } from '@m3-baseui/core';\nimport { tv } from 'tailwind-variants';\n\nexport const linearTv = tv({\n slots: {\n root: 'group relative block w-full h-1 overflow-hidden rounded-full',\n track: 'absolute inset-0 bg-surface-container-highest rounded-full',\n indicator: [\n 'absolute inset-y-0 left-0 bg-primary rounded-full',\n 'transition-[width] duration-200 ease-standard',\n 'group-data-[indeterminate]:w-2/5 group-data-[indeterminate]:transition-none',\n 'group-data-[indeterminate]:animate-m3-linear-indeterminate',\n ],\n },\n});\n\nexport const circularTv = tv({\n slots: {\n root: [\n 'inline-flex items-center justify-center size-12',\n '[&_svg]:block [&_svg]:size-full',\n 'data-[indeterminate]:animate-spin',\n ],\n track: 'stroke-surface-container-highest [stroke-width:4px]',\n indicator: [\n 'stroke-primary [stroke-width:4px] [stroke-linecap:round]',\n 'transition-[stroke-dashoffset] duration-300 ease-standard',\n ],\n },\n});\n\nconst l = linearTv();\nconst c = circularTv();\nexport const Progress = createProgress({\n linear: { root: l.root(), track: l.track(), indicator: l.indicator() },\n circular: { root: c.root(), track: c.track(), indicator: c.indicator() },\n});\nexport type {\n LinearProgressProps,\n CircularProgressProps,\n} from '@m3-baseui/core';\n"]}
|
package/dist/radio.d.ts
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as _base_ui_react from '@base-ui/react';
|
|
3
|
+
import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
|
|
4
|
+
import * as tailwind_variants from 'tailwind-variants';
|
|
5
|
+
|
|
6
|
+
declare const radioTv: tailwind_variants.TVReturnType<{
|
|
7
|
+
[key: string]: {
|
|
8
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
9
|
+
root?: tailwind_variants.ClassValue;
|
|
10
|
+
indicator?: tailwind_variants.ClassValue;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
} | {
|
|
14
|
+
[x: string]: {
|
|
15
|
+
[x: string]: tailwind_variants.ClassValue | {
|
|
16
|
+
root?: tailwind_variants.ClassValue;
|
|
17
|
+
indicator?: tailwind_variants.ClassValue;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
} | {}, {
|
|
21
|
+
root: string[];
|
|
22
|
+
indicator: string[];
|
|
23
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
24
|
+
[key: string]: {
|
|
25
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
26
|
+
root?: tailwind_variants.ClassValue;
|
|
27
|
+
indicator?: tailwind_variants.ClassValue;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
} | {}>, {
|
|
31
|
+
[key: string]: {
|
|
32
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
33
|
+
root?: tailwind_variants.ClassValue;
|
|
34
|
+
indicator?: tailwind_variants.ClassValue;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
} | {}, {
|
|
38
|
+
root: string[];
|
|
39
|
+
indicator: string[];
|
|
40
|
+
}, tailwind_variants.TVReturnType<unknown, {
|
|
41
|
+
root: string[];
|
|
42
|
+
indicator: string[];
|
|
43
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
44
|
+
[key: string]: {
|
|
45
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
46
|
+
root?: tailwind_variants.ClassValue;
|
|
47
|
+
indicator?: tailwind_variants.ClassValue;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
} | {}>, unknown, unknown, undefined>>;
|
|
51
|
+
declare const Radio: react.ForwardRefExoticComponent<Omit<_base_ui_react.RadioRoot.Props<unknown>, "ref"> & {
|
|
52
|
+
error?: boolean;
|
|
53
|
+
} & react.RefAttributes<HTMLSpanElement>>;
|
|
54
|
+
declare const RadioGroup: react.ForwardRefExoticComponent<Omit<_base_ui_react.RadioGroup.Props<unknown>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
55
|
+
|
|
56
|
+
export { Radio, RadioGroup, radioTv };
|
package/dist/radio.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createRadio, createRadioGroup } from '@m3-baseui/core';
|
|
3
|
+
import { tv } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
// src/radio.ts
|
|
6
|
+
var radioTv = tv({
|
|
7
|
+
slots: {
|
|
8
|
+
root: [
|
|
9
|
+
"group relative inline-flex items-center justify-center shrink-0 box-border",
|
|
10
|
+
"size-5 rounded-full border-2 cursor-pointer bg-transparent",
|
|
11
|
+
// Ring is on-surface-variant; the state layer (text/currentColor) is
|
|
12
|
+
// on-surface unselected, primary when selected (material-web).
|
|
13
|
+
"border-on-surface-variant text-on-surface",
|
|
14
|
+
"transition-colors duration-150 ease-standard",
|
|
15
|
+
"data-[checked]:border-primary data-[checked]:text-primary",
|
|
16
|
+
// M3 pressed state layer inverts: unselected→primary, selected→on-surface
|
|
17
|
+
"active:text-primary",
|
|
18
|
+
"data-[checked]:active:text-on-surface",
|
|
19
|
+
// M3 error: error ring + error state layer in every interaction state
|
|
20
|
+
"data-[error]:border-error data-[error]:text-error data-[error]:active:text-error",
|
|
21
|
+
"data-[error]:data-[checked]:border-error data-[error]:data-[checked]:text-error data-[error]:data-[checked]:active:text-error",
|
|
22
|
+
"focus-visible:outline-[3px] focus-visible:outline-offset-2 focus-visible:outline-secondary",
|
|
23
|
+
// M3 disabled: ring (and dot) turn on-surface/38; no state layer.
|
|
24
|
+
"data-[disabled]:pointer-events-none data-[disabled]:before:opacity-0",
|
|
25
|
+
"data-[disabled]:border-on-surface/38",
|
|
26
|
+
'before:content-[""] before:absolute before:left-1/2 before:top-1/2 before:-translate-x-1/2 before:-translate-y-1/2',
|
|
27
|
+
"before:size-10 before:rounded-full before:bg-current before:opacity-0 before:transition-opacity before:duration-100",
|
|
28
|
+
"hover:before:opacity-[var(--md-sys-state-hover)]",
|
|
29
|
+
"focus-visible:before:opacity-[var(--md-sys-state-focus)]",
|
|
30
|
+
"active:before:opacity-[var(--md-sys-state-pressed)]"
|
|
31
|
+
],
|
|
32
|
+
indicator: [
|
|
33
|
+
"block rounded-full bg-primary pointer-events-none",
|
|
34
|
+
"size-0 opacity-0 transition-all duration-150 ease-standard",
|
|
35
|
+
"data-[checked]:size-2.5 data-[checked]:opacity-100",
|
|
36
|
+
"group-data-[error]:bg-error",
|
|
37
|
+
"group-data-[disabled]:bg-on-surface/38"
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
var r = radioTv();
|
|
42
|
+
var Radio = createRadio({ root: r.root(), indicator: r.indicator() });
|
|
43
|
+
var RadioGroup = createRadioGroup("inline-flex flex-col gap-1");
|
|
44
|
+
|
|
45
|
+
export { Radio, RadioGroup, radioTv };
|
|
46
|
+
//# sourceMappingURL=radio.js.map
|
|
47
|
+
//# sourceMappingURL=radio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/radio.ts"],"names":[],"mappings":";;;;;AASO,IAAM,UAAU,EAAA,CAAG;AAAA,EACxB,KAAA,EAAO;AAAA,IACL,IAAA,EAAM;AAAA,MACJ,4EAAA;AAAA,MACA,4DAAA;AAAA;AAAA;AAAA,MAGA,2CAAA;AAAA,MACA,8CAAA;AAAA,MACA,2DAAA;AAAA;AAAA,MAEA,qBAAA;AAAA,MACA,uCAAA;AAAA;AAAA,MAEA,kFAAA;AAAA,MACA,+HAAA;AAAA,MACA,4FAAA;AAAA;AAAA,MAEA,sEAAA;AAAA,MACA,sCAAA;AAAA,MACA,oHAAA;AAAA,MACA,qHAAA;AAAA,MACA,kDAAA;AAAA,MACA,0DAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,SAAA,EAAW;AAAA,MACT,mDAAA;AAAA,MACA,4DAAA;AAAA,MACA,oDAAA;AAAA,MACA,6BAAA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;AAED,IAAM,IAAI,OAAA,EAAQ;AACX,IAAM,KAAA,GAAQ,WAAA,CAAY,EAAE,IAAA,EAAM,CAAA,CAAE,IAAA,EAAK,EAAG,SAAA,EAAW,CAAA,CAAE,SAAA,EAAU,EAAG;AAEtE,IAAM,UAAA,GAAa,iBAAiB,4BAA4B","file":"radio.js","sourcesContent":["/**\n * radio.ts — tailwind-variants slots for the M3 Radio + RadioGroup.\n *\n * 20dp circle with a 40dp circular state layer; checked shows a 10dp primary dot\n * (the indicator) and recolors the ring. RadioGroup lays radios out in a column.\n */\nimport { createRadio, createRadioGroup } from '@m3-baseui/core';\nimport { tv } from 'tailwind-variants';\n\nexport const radioTv = tv({\n slots: {\n root: [\n 'group relative inline-flex items-center justify-center shrink-0 box-border',\n 'size-5 rounded-full border-2 cursor-pointer bg-transparent',\n // Ring is on-surface-variant; the state layer (text/currentColor) is\n // on-surface unselected, primary when selected (material-web).\n 'border-on-surface-variant text-on-surface',\n 'transition-colors duration-150 ease-standard',\n 'data-[checked]:border-primary data-[checked]:text-primary',\n // M3 pressed state layer inverts: unselected→primary, selected→on-surface\n 'active:text-primary',\n 'data-[checked]:active:text-on-surface',\n // M3 error: error ring + error state layer in every interaction state\n 'data-[error]:border-error data-[error]:text-error data-[error]:active:text-error',\n 'data-[error]:data-[checked]:border-error data-[error]:data-[checked]:text-error data-[error]:data-[checked]:active:text-error',\n 'focus-visible:outline-[3px] focus-visible:outline-offset-2 focus-visible:outline-secondary',\n // M3 disabled: ring (and dot) turn on-surface/38; no state layer.\n 'data-[disabled]:pointer-events-none data-[disabled]:before:opacity-0',\n 'data-[disabled]:border-on-surface/38',\n 'before:content-[\"\"] before:absolute before:left-1/2 before:top-1/2 before:-translate-x-1/2 before:-translate-y-1/2',\n 'before:size-10 before:rounded-full before:bg-current before:opacity-0 before:transition-opacity before:duration-100',\n 'hover:before:opacity-[var(--md-sys-state-hover)]',\n 'focus-visible:before:opacity-[var(--md-sys-state-focus)]',\n 'active:before:opacity-[var(--md-sys-state-pressed)]',\n ],\n indicator: [\n 'block rounded-full bg-primary pointer-events-none',\n 'size-0 opacity-0 transition-all duration-150 ease-standard',\n 'data-[checked]:size-2.5 data-[checked]:opacity-100',\n 'group-data-[error]:bg-error',\n 'group-data-[disabled]:bg-on-surface/38',\n ],\n },\n});\n\nconst r = radioTv();\nexport const Radio = createRadio({ root: r.root(), indicator: r.indicator() });\n\nexport const RadioGroup = createRadioGroup('inline-flex flex-col gap-1');\n"]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import * as _m3_baseui_core from '@m3-baseui/core';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import * as _base_ui_react from '@base-ui/react';
|
|
4
|
+
import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
|
|
5
|
+
import * as tailwind_variants from 'tailwind-variants';
|
|
6
|
+
|
|
7
|
+
declare const segmentedButtonTv: tailwind_variants.TVReturnType<{
|
|
8
|
+
[key: string]: {
|
|
9
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
10
|
+
label?: tailwind_variants.ClassValue;
|
|
11
|
+
check?: tailwind_variants.ClassValue;
|
|
12
|
+
icon?: tailwind_variants.ClassValue;
|
|
13
|
+
root?: tailwind_variants.ClassValue;
|
|
14
|
+
item?: tailwind_variants.ClassValue;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
} | {
|
|
18
|
+
[x: string]: {
|
|
19
|
+
[x: string]: tailwind_variants.ClassValue | {
|
|
20
|
+
label?: tailwind_variants.ClassValue;
|
|
21
|
+
check?: tailwind_variants.ClassValue;
|
|
22
|
+
icon?: tailwind_variants.ClassValue;
|
|
23
|
+
root?: tailwind_variants.ClassValue;
|
|
24
|
+
item?: tailwind_variants.ClassValue;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
} | {}, {
|
|
28
|
+
root: string;
|
|
29
|
+
item: string[];
|
|
30
|
+
check: string[];
|
|
31
|
+
icon: string;
|
|
32
|
+
label: string;
|
|
33
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
34
|
+
[key: string]: {
|
|
35
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
36
|
+
label?: tailwind_variants.ClassValue;
|
|
37
|
+
check?: tailwind_variants.ClassValue;
|
|
38
|
+
icon?: tailwind_variants.ClassValue;
|
|
39
|
+
root?: tailwind_variants.ClassValue;
|
|
40
|
+
item?: tailwind_variants.ClassValue;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
} | {}>, {
|
|
44
|
+
[key: string]: {
|
|
45
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
46
|
+
label?: tailwind_variants.ClassValue;
|
|
47
|
+
check?: tailwind_variants.ClassValue;
|
|
48
|
+
icon?: tailwind_variants.ClassValue;
|
|
49
|
+
root?: tailwind_variants.ClassValue;
|
|
50
|
+
item?: tailwind_variants.ClassValue;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
} | {}, {
|
|
54
|
+
root: string;
|
|
55
|
+
item: string[];
|
|
56
|
+
check: string[];
|
|
57
|
+
icon: string;
|
|
58
|
+
label: string;
|
|
59
|
+
}, tailwind_variants.TVReturnType<unknown, {
|
|
60
|
+
root: string;
|
|
61
|
+
item: string[];
|
|
62
|
+
check: string[];
|
|
63
|
+
icon: string;
|
|
64
|
+
label: string;
|
|
65
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
66
|
+
[key: string]: {
|
|
67
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
68
|
+
label?: tailwind_variants.ClassValue;
|
|
69
|
+
check?: tailwind_variants.ClassValue;
|
|
70
|
+
icon?: tailwind_variants.ClassValue;
|
|
71
|
+
root?: tailwind_variants.ClassValue;
|
|
72
|
+
item?: tailwind_variants.ClassValue;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
} | {}>, unknown, unknown, undefined>>;
|
|
76
|
+
declare const SegmentedButton: {
|
|
77
|
+
Root: react.ForwardRefExoticComponent<Omit<_base_ui_react.ToggleGroup.Props<string> & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
78
|
+
Item: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.Toggle.Props<string> & react.RefAttributes<HTMLButtonElement>, "ref">, "children"> & _m3_baseui_core.SegmentedButtonItemOwnProps & {
|
|
79
|
+
children?: React.ReactNode;
|
|
80
|
+
} & react.RefAttributes<HTMLButtonElement>>;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export { SegmentedButton, segmentedButtonTv };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createSegmentedButton } from '@m3-baseui/core';
|
|
3
|
+
import { tv as tv$1 } from 'tailwind-variants';
|
|
4
|
+
|
|
5
|
+
// src/segmented-button.ts
|
|
6
|
+
var TYPESCALE = [
|
|
7
|
+
"display-large",
|
|
8
|
+
"display-medium",
|
|
9
|
+
"display-small",
|
|
10
|
+
"headline-large",
|
|
11
|
+
"headline-medium",
|
|
12
|
+
"headline-small",
|
|
13
|
+
"title-large",
|
|
14
|
+
"title-medium",
|
|
15
|
+
"title-small",
|
|
16
|
+
"body-large",
|
|
17
|
+
"body-medium",
|
|
18
|
+
"body-small",
|
|
19
|
+
"label-large",
|
|
20
|
+
"label-medium",
|
|
21
|
+
"label-small"
|
|
22
|
+
];
|
|
23
|
+
var tv = (options, config) => tv$1(options, {
|
|
24
|
+
...config,
|
|
25
|
+
twMergeConfig: {
|
|
26
|
+
extend: {
|
|
27
|
+
classGroups: {
|
|
28
|
+
"font-size": [{ text: [...TYPESCALE] }]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// src/segmented-button.ts
|
|
35
|
+
var segmentedButtonTv = tv({
|
|
36
|
+
slots: {
|
|
37
|
+
root: "inline-flex items-stretch h-10 rounded-full border border-outline overflow-hidden",
|
|
38
|
+
item: [
|
|
39
|
+
"group relative inline-flex flex-1 items-center justify-center gap-2 px-3 min-w-12",
|
|
40
|
+
"bg-transparent border-0 border-l border-outline first:border-l-0 cursor-pointer select-none outline-none",
|
|
41
|
+
"text-label-large text-on-surface",
|
|
42
|
+
"transition-colors duration-150 ease-standard",
|
|
43
|
+
"before:absolute before:inset-0 before:bg-current before:opacity-0 before:pointer-events-none before:transition-opacity before:duration-100",
|
|
44
|
+
"hover:before:opacity-[var(--md-sys-state-hover)]",
|
|
45
|
+
"focus-visible:before:opacity-[var(--md-sys-state-focus)]",
|
|
46
|
+
"active:before:opacity-[var(--md-sys-state-pressed)]",
|
|
47
|
+
"data-[pressed]:bg-secondary-container data-[pressed]:text-on-secondary-container",
|
|
48
|
+
"data-[disabled]:pointer-events-none data-[disabled]:before:opacity-0 data-[disabled]:text-on-surface/38",
|
|
49
|
+
"disabled:pointer-events-none disabled:before:opacity-0 disabled:text-on-surface/38"
|
|
50
|
+
],
|
|
51
|
+
check: [
|
|
52
|
+
"inline-flex items-center justify-center shrink-0 h-[18px] w-0 opacity-0 overflow-hidden pointer-events-none",
|
|
53
|
+
"transition-all duration-150 ease-standard",
|
|
54
|
+
"group-data-[pressed]:w-[18px] group-data-[pressed]:opacity-100"
|
|
55
|
+
],
|
|
56
|
+
icon: "inline-flex items-center justify-center shrink-0 [&_svg]:size-[18px] group-data-[pressed]:hidden",
|
|
57
|
+
label: "truncate"
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
var s = segmentedButtonTv();
|
|
61
|
+
var SegmentedButton = createSegmentedButton({
|
|
62
|
+
root: s.root(),
|
|
63
|
+
item: s.item(),
|
|
64
|
+
check: s.check(),
|
|
65
|
+
icon: s.icon(),
|
|
66
|
+
label: s.label()
|
|
67
|
+
});
|
|
68
|
+
|
|
69
|
+
export { SegmentedButton, segmentedButtonTv };
|
|
70
|
+
//# sourceMappingURL=segmented-button.js.map
|
|
71
|
+
//# sourceMappingURL=segmented-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/tv.ts","../src/segmented-button.ts"],"names":["baseTv"],"mappings":";;;;;AAeA,IAAM,SAAA,GAAY;AAAA,EAChB,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,cAAA;AAAA,EACA;AACF,CAAA;AAEO,IAAM,EAAA,GAAS,CAAC,OAAA,EAAS,MAAA,KAC9BA,KAAO,OAAA,EAAS;AAAA,EACd,GAAG,MAAA;AAAA,EACH,aAAA,EAAe;AAAA,IACb,MAAA,EAAQ;AAAA,MACN,WAAA,EAAa;AAAA,QACX,WAAA,EAAa,CAAC,EAAE,IAAA,EAAM,CAAC,GAAG,SAAS,GAAG;AAAA;AACxC;AACF;AAEJ,CAAC,CAAA;;;AC/BI,IAAM,oBAAoB,EAAA,CAAG;AAAA,EAClC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,mFAAA;AAAA,IACN,IAAA,EAAM;AAAA,MACJ,mFAAA;AAAA,MACA,0GAAA;AAAA,MACA,kCAAA;AAAA,MACA,8CAAA;AAAA,MACA,4IAAA;AAAA,MACA,kDAAA;AAAA,MACA,0DAAA;AAAA,MACA,qDAAA;AAAA,MACA,kFAAA;AAAA,MACA,yGAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,KAAA,EAAO;AAAA,MACL,6GAAA;AAAA,MACA,2CAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,IAAA,EAAM,kGAAA;AAAA,IACN,KAAA,EAAO;AAAA;AAEX,CAAC;AAED,IAAM,IAAI,iBAAA,EAAkB;AACrB,IAAM,kBAAkB,qBAAA,CAAsB;AAAA,EACnD,IAAA,EAAM,EAAE,IAAA,EAAK;AAAA,EACb,IAAA,EAAM,EAAE,IAAA,EAAK;AAAA,EACb,KAAA,EAAO,EAAE,KAAA,EAAM;AAAA,EACf,IAAA,EAAM,EAAE,IAAA,EAAK;AAAA,EACb,KAAA,EAAO,EAAE,KAAA;AACX,CAAC","file":"segmented-button.js","sourcesContent":["/**\n * tv.ts — a tailwind-variants factory pre-configured for the M3 typescale.\n *\n * The Tailwind v4 preset exposes the 15 typescale roles as `text-<role>`\n * font-size utilities (e.g. `text-body-small`, `text-label-large`). Stock\n * tailwind-merge does not know these custom names, so it groups them with the\n * `text-<color>` utilities and drops one when a slot sets both a color *and* a\n * typescale (the common M3 case). That silently strips either the color or the\n * type, breaking token compliance.\n *\n * Teaching tailwind-merge that the typescale names belong to the `font-size`\n * group keeps color and type independent, so both survive the merge.\n */\nimport { type TV, tv as baseTv } from 'tailwind-variants';\n\nconst TYPESCALE = [\n 'display-large',\n 'display-medium',\n 'display-small',\n 'headline-large',\n 'headline-medium',\n 'headline-small',\n 'title-large',\n 'title-medium',\n 'title-small',\n 'body-large',\n 'body-medium',\n 'body-small',\n 'label-large',\n 'label-medium',\n 'label-small',\n] as const;\n\nexport const tv: TV = (options, config) =>\n baseTv(options, {\n ...config,\n twMergeConfig: {\n extend: {\n classGroups: {\n 'font-size': [{ text: [...TYPESCALE] }],\n },\n },\n },\n });\n","/**\n * segmented-button.ts — tailwind-variants slots for the M3 SegmentedButton.\n *\n * A 40dp-tall connected row with a shared outline; segments divide with a left\n * border. The selected segment surfaces `data-pressed` (Base UI Toggle) → a\n * secondary-container fill that reveals the leading checkmark (and hides any\n * provided icon) via the `group`. State layer is the item `::before`; the\n * pointer ripple is added by the factory. Same DOM as the VE build.\n */\nimport { createSegmentedButton } from '@m3-baseui/core';\nimport { tv } from './tv';\n\nexport const segmentedButtonTv = tv({\n slots: {\n root: 'inline-flex items-stretch h-10 rounded-full border border-outline overflow-hidden',\n item: [\n 'group relative inline-flex flex-1 items-center justify-center gap-2 px-3 min-w-12',\n 'bg-transparent border-0 border-l border-outline first:border-l-0 cursor-pointer select-none outline-none',\n 'text-label-large text-on-surface',\n 'transition-colors duration-150 ease-standard',\n 'before:absolute before:inset-0 before:bg-current before:opacity-0 before:pointer-events-none before:transition-opacity before:duration-100',\n 'hover:before:opacity-[var(--md-sys-state-hover)]',\n 'focus-visible:before:opacity-[var(--md-sys-state-focus)]',\n 'active:before:opacity-[var(--md-sys-state-pressed)]',\n 'data-[pressed]:bg-secondary-container data-[pressed]:text-on-secondary-container',\n 'data-[disabled]:pointer-events-none data-[disabled]:before:opacity-0 data-[disabled]:text-on-surface/38',\n 'disabled:pointer-events-none disabled:before:opacity-0 disabled:text-on-surface/38',\n ],\n check: [\n 'inline-flex items-center justify-center shrink-0 h-[18px] w-0 opacity-0 overflow-hidden pointer-events-none',\n 'transition-all duration-150 ease-standard',\n 'group-data-[pressed]:w-[18px] group-data-[pressed]:opacity-100',\n ],\n icon: 'inline-flex items-center justify-center shrink-0 [&_svg]:size-[18px] group-data-[pressed]:hidden',\n label: 'truncate',\n },\n});\n\nconst s = segmentedButtonTv();\nexport const SegmentedButton = createSegmentedButton({\n root: s.root(),\n item: s.item(),\n check: s.check(),\n icon: s.icon(),\n label: s.label(),\n});\n"]}
|
package/dist/select.d.ts
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import * as _base_ui_react from '@base-ui/react';
|
|
3
|
+
import * as tailwind_variants_dist_config_js from 'tailwind-variants/dist/config.js';
|
|
4
|
+
import * as tailwind_variants from 'tailwind-variants';
|
|
5
|
+
|
|
6
|
+
declare const selectTv: tailwind_variants.TVReturnType<{
|
|
7
|
+
[key: string]: {
|
|
8
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
9
|
+
value?: tailwind_variants.ClassValue;
|
|
10
|
+
popup?: tailwind_variants.ClassValue;
|
|
11
|
+
icon?: tailwind_variants.ClassValue;
|
|
12
|
+
itemIndicator?: tailwind_variants.ClassValue;
|
|
13
|
+
item?: tailwind_variants.ClassValue;
|
|
14
|
+
groupLabel?: tailwind_variants.ClassValue;
|
|
15
|
+
trigger?: tailwind_variants.ClassValue;
|
|
16
|
+
scrollUpArrow?: tailwind_variants.ClassValue;
|
|
17
|
+
scrollDownArrow?: tailwind_variants.ClassValue;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
} | {
|
|
21
|
+
[x: string]: {
|
|
22
|
+
[x: string]: tailwind_variants.ClassValue | {
|
|
23
|
+
value?: tailwind_variants.ClassValue;
|
|
24
|
+
popup?: tailwind_variants.ClassValue;
|
|
25
|
+
icon?: tailwind_variants.ClassValue;
|
|
26
|
+
itemIndicator?: tailwind_variants.ClassValue;
|
|
27
|
+
item?: tailwind_variants.ClassValue;
|
|
28
|
+
groupLabel?: tailwind_variants.ClassValue;
|
|
29
|
+
trigger?: tailwind_variants.ClassValue;
|
|
30
|
+
scrollUpArrow?: tailwind_variants.ClassValue;
|
|
31
|
+
scrollDownArrow?: tailwind_variants.ClassValue;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
} | {}, {
|
|
35
|
+
trigger: string[];
|
|
36
|
+
value: string;
|
|
37
|
+
icon: string;
|
|
38
|
+
popup: string[];
|
|
39
|
+
item: string[];
|
|
40
|
+
itemIndicator: string;
|
|
41
|
+
groupLabel: string;
|
|
42
|
+
scrollUpArrow: string[];
|
|
43
|
+
scrollDownArrow: string[];
|
|
44
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
45
|
+
[key: string]: {
|
|
46
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
47
|
+
value?: tailwind_variants.ClassValue;
|
|
48
|
+
popup?: tailwind_variants.ClassValue;
|
|
49
|
+
icon?: tailwind_variants.ClassValue;
|
|
50
|
+
itemIndicator?: tailwind_variants.ClassValue;
|
|
51
|
+
item?: tailwind_variants.ClassValue;
|
|
52
|
+
groupLabel?: tailwind_variants.ClassValue;
|
|
53
|
+
trigger?: tailwind_variants.ClassValue;
|
|
54
|
+
scrollUpArrow?: tailwind_variants.ClassValue;
|
|
55
|
+
scrollDownArrow?: tailwind_variants.ClassValue;
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
} | {}>, {
|
|
59
|
+
[key: string]: {
|
|
60
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
61
|
+
value?: tailwind_variants.ClassValue;
|
|
62
|
+
popup?: tailwind_variants.ClassValue;
|
|
63
|
+
icon?: tailwind_variants.ClassValue;
|
|
64
|
+
itemIndicator?: tailwind_variants.ClassValue;
|
|
65
|
+
item?: tailwind_variants.ClassValue;
|
|
66
|
+
groupLabel?: tailwind_variants.ClassValue;
|
|
67
|
+
trigger?: tailwind_variants.ClassValue;
|
|
68
|
+
scrollUpArrow?: tailwind_variants.ClassValue;
|
|
69
|
+
scrollDownArrow?: tailwind_variants.ClassValue;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
} | {}, {
|
|
73
|
+
trigger: string[];
|
|
74
|
+
value: string;
|
|
75
|
+
icon: string;
|
|
76
|
+
popup: string[];
|
|
77
|
+
item: string[];
|
|
78
|
+
itemIndicator: string;
|
|
79
|
+
groupLabel: string;
|
|
80
|
+
scrollUpArrow: string[];
|
|
81
|
+
scrollDownArrow: string[];
|
|
82
|
+
}, tailwind_variants.TVReturnType<unknown, {
|
|
83
|
+
trigger: string[];
|
|
84
|
+
value: string;
|
|
85
|
+
icon: string;
|
|
86
|
+
popup: string[];
|
|
87
|
+
item: string[];
|
|
88
|
+
itemIndicator: string;
|
|
89
|
+
groupLabel: string;
|
|
90
|
+
scrollUpArrow: string[];
|
|
91
|
+
scrollDownArrow: string[];
|
|
92
|
+
}, undefined, tailwind_variants_dist_config_js.TVConfig<unknown, {
|
|
93
|
+
[key: string]: {
|
|
94
|
+
[key: string]: tailwind_variants.ClassValue | {
|
|
95
|
+
value?: tailwind_variants.ClassValue;
|
|
96
|
+
popup?: tailwind_variants.ClassValue;
|
|
97
|
+
icon?: tailwind_variants.ClassValue;
|
|
98
|
+
itemIndicator?: tailwind_variants.ClassValue;
|
|
99
|
+
item?: tailwind_variants.ClassValue;
|
|
100
|
+
groupLabel?: tailwind_variants.ClassValue;
|
|
101
|
+
trigger?: tailwind_variants.ClassValue;
|
|
102
|
+
scrollUpArrow?: tailwind_variants.ClassValue;
|
|
103
|
+
scrollDownArrow?: tailwind_variants.ClassValue;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
} | {}>, unknown, unknown, undefined>>;
|
|
107
|
+
declare const Select: {
|
|
108
|
+
Root: typeof _base_ui_react.SelectRoot;
|
|
109
|
+
Trigger: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SelectTriggerProps, "ref"> & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<unknown>>;
|
|
110
|
+
Value: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SelectValueProps, "ref"> & react.RefAttributes<HTMLSpanElement>, "ref"> & react.RefAttributes<unknown>>;
|
|
111
|
+
Icon: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SelectIconProps, "ref"> & react.RefAttributes<HTMLSpanElement>, "ref"> & react.RefAttributes<unknown>>;
|
|
112
|
+
Portal: react.ForwardRefExoticComponent<Omit<_base_ui_react.SelectPortalProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
113
|
+
Positioner: react.ForwardRefExoticComponent<Omit<_base_ui_react.SelectPositionerProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
114
|
+
Popup: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SelectPopupProps, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<unknown>>;
|
|
115
|
+
List: react.ForwardRefExoticComponent<Omit<_base_ui_react.SelectListProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
116
|
+
Item: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SelectItemProps, "ref"> & react.RefAttributes<HTMLElement>, "ref"> & react.RefAttributes<unknown>>;
|
|
117
|
+
ItemText: react.NamedExoticComponent<Omit<_base_ui_react.SelectItemTextProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
118
|
+
ItemIndicator: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SelectItemIndicatorProps, "ref"> & react.RefAttributes<HTMLSpanElement>, "ref"> & react.RefAttributes<unknown>>;
|
|
119
|
+
ScrollUpArrow: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SelectScrollUpArrowProps, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
120
|
+
ScrollDownArrow: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SelectScrollDownArrowProps, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
121
|
+
Group: react.ForwardRefExoticComponent<Omit<_base_ui_react.SelectGroupProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
122
|
+
GroupLabel: react.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SelectGroupLabelProps, "ref"> & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<unknown>>;
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export { Select, selectTv };
|