@trebired/configs 0.4.0 → 0.5.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.
Files changed (35) hide show
  1. package/.trebired/frontend/action_control.ts +43 -0
  2. package/.trebired/frontend/button.ts +203 -0
  3. package/.trebired/frontend/choice.ts +19 -0
  4. package/.trebired/frontend/components.ts +21 -0
  5. package/.trebired/frontend/config.ts +40 -0
  6. package/.trebired/frontend/data.ts +33 -0
  7. package/.trebired/frontend/disclosure.ts +10 -0
  8. package/.trebired/frontend/dot.ts +5 -0
  9. package/.trebired/frontend/dropdown.ts +25 -0
  10. package/.trebired/frontend/feedback.ts +56 -0
  11. package/.trebired/frontend/input.ts +31 -0
  12. package/.trebired/frontend/loader.ts +8 -0
  13. package/.trebired/frontend/marquee.ts +19 -0
  14. package/.trebired/frontend/media.ts +63 -0
  15. package/.trebired/frontend/overlays.ts +111 -0
  16. package/.trebired/frontend/palette.ts +111 -0
  17. package/.trebired/frontend/pill.ts +12 -0
  18. package/.trebired/frontend/primitives.ts +39 -0
  19. package/.trebired/frontend/progress.ts +11 -0
  20. package/.trebired/frontend/quote.ts +13 -0
  21. package/.trebired/frontend/shell.ts +251 -0
  22. package/.trebired/frontend/steps.ts +6 -0
  23. package/.trebired/frontend/surfaces.ts +276 -0
  24. package/.trebired/frontend/systems.ts +20 -0
  25. package/.trebired/frontend/tabs.ts +42 -0
  26. package/.trebired/frontend/text_link.ts +37 -0
  27. package/.trebired/frontend/theme.ts +50 -0
  28. package/.trebired/frontend/toggle.ts +17 -0
  29. package/.trebired/frontend/tokens.ts +37 -0
  30. package/.trebired/frontend/typography.ts +20 -0
  31. package/.trebired/frontend/upload.ts +108 -0
  32. package/.trebired/frontend/wizard.ts +6 -0
  33. package/CHANGELOG.md +5 -0
  34. package/README.md +29 -4
  35. package/package.json +19 -2
@@ -0,0 +1,111 @@
1
+ import { semantic, token, ui } from "./tokens";
2
+
3
+ export const overlays = {
4
+ modal: {
5
+ backdrop: {
6
+ background: token.colorMix(token.color("gray", 1000), "48%"),
7
+ blur: "8px",
8
+ opacity: "1",
9
+ padding: "24px",
10
+ },
11
+ content: {
12
+ background: semantic.backgroundPage,
13
+ border: token.border(semantic.borderSurface1),
14
+ color: semantic.textColor,
15
+ maxHeight: "min(80vh, 720px)",
16
+ padding: "20px",
17
+ radius: ui.radiusLg,
18
+ shadow: token.variable("shadow-overlay-lg"),
19
+ width: "min(720px, calc(100vw - 48px))",
20
+ },
21
+ motion: {
22
+ duration: ui.transitionFast,
23
+ easing: "ease",
24
+ initialScale: "0.96",
25
+ openScale: "1",
26
+ },
27
+ },
28
+ popover: {
29
+ group: {
30
+ border: "var(--tbf-border-width, 1px) solid color-mix(in srgb, currentColor 12%, transparent)",
31
+ color: "color-mix(in srgb, var(--tbf-text, currentColor) 72%, transparent)",
32
+ fontSize: ".85rem",
33
+ fontWeight: "800",
34
+ gap: "8px",
35
+ hoverColor: "var(--tbf-text, currentColor)",
36
+ indicatorOffset: "0",
37
+ padding: "11px 12px 9px",
38
+ radius: "var(--tbf-radius-sm, 0)",
39
+ },
40
+ item: {
41
+ root: {
42
+ background: "transparent",
43
+ border: "0",
44
+ color: "var(--tbf-text-muted, currentColor)",
45
+ gap: "10px",
46
+ height: "35px",
47
+ padding: "5px 10px",
48
+ radius: ui.radiusSm,
49
+ },
50
+ stacked: {
51
+ gap: "2px",
52
+ metaColor: "inherit",
53
+ metaFontSize: ".72rem",
54
+ paddingBlock: "6px",
55
+ titleFontSize: ".85rem",
56
+ titleFontWeight: "800",
57
+ },
58
+ state: {
59
+ hover: {
60
+ color: "var(--tbf-text, currentColor)",
61
+ },
62
+ selected: {
63
+ color: "var(--tbf-text, currentColor)",
64
+ },
65
+ },
66
+ states: {
67
+ hover: {
68
+ background: token.color("gray", 800),
69
+ },
70
+ selected: {
71
+ background: token.color("gray", 800),
72
+ },
73
+ },
74
+ },
75
+ panel: {
76
+ background: semantic.backgroundSurface1,
77
+ border: token.border(semantic.borderSurface1),
78
+ color: semantic.textColor,
79
+ gap: "2px",
80
+ gutter: "1.5rem",
81
+ "max-w": "20rem",
82
+ minW: "13.75rem",
83
+ padding: "8px",
84
+ radius: ui.radiusLg,
85
+ shadow: "var(--tbf-shadow, 0 0 0 1px #000)",
86
+ },
87
+ trigger: {
88
+ indicator: {
89
+ display: "none",
90
+ size: "0.4rem",
91
+ },
92
+ },
93
+ },
94
+ tooltip: {
95
+ motion: {
96
+ duration: "170ms",
97
+ easing: "cubic-bezier(0.16, 1, 0.3, 1)",
98
+ },
99
+ panel: {
100
+ background: semantic.backgroundSurface1,
101
+ border: token.border(semantic.borderSurface1),
102
+ color: semantic.textColor,
103
+ fontFamily: ui.fontSans,
104
+ fontSize: "12px",
105
+ lineHeight: "1.3",
106
+ padding: "7px 9px",
107
+ radius: ui.radiusMd,
108
+ shadow: "var(--tbf-shadow, 0 8px 24px rgba(0, 0, 0, .12))",
109
+ },
110
+ },
111
+ };
@@ -0,0 +1,111 @@
1
+ import type { FrontendPaletteConfig } from "@trebired/frontend/config";
2
+
3
+ const grayDark = {
4
+ 0: "#ffffff",
5
+ 50: "#e3e3e4",
6
+ 100: "#cacacb",
7
+ 150: "#bdbdbe",
8
+ 200: "#b1b1b2",
9
+ 250: "#9e9e9f",
10
+ 300: "#8c8c8d",
11
+ 350: "#7a7a7b",
12
+ 400: "#69696a",
13
+ 450: "#5b5b5c",
14
+ 500: "#4e4e4f",
15
+ 550: "#454546",
16
+ 600: "#3d3d3e",
17
+ 650: "#363637",
18
+ 700: "#303031",
19
+ 750: "#2b2b2c",
20
+ 800: "#262627",
21
+ 850: "rgb(34 34 35)",
22
+ 900: "#1f1f20",
23
+ 950: "#1a1a1b",
24
+ 1000: "#141415",
25
+ };
26
+
27
+ const grayLight = {
28
+ 0: "#141415",
29
+ 50: "#2b2b2c",
30
+ 100: "#3c3c3d",
31
+ 150: "#454546",
32
+ 200: "#4d4d4e",
33
+ 250: "#5c5c5d",
34
+ 300: "#6b6b6c",
35
+ 350: "#7c7c7d",
36
+ 400: "#8e8e8f",
37
+ 450: "#9f9fa0",
38
+ 500: "#afafb0",
39
+ 550: "#bbbbbc",
40
+ 600: "#c8c8c9",
41
+ 650: "#d2d2d3",
42
+ 700: "#dbdbdc",
43
+ 750: "#e2e2e3",
44
+ 800: "#e9e9ea",
45
+ 850: "#eeeeef",
46
+ 900: "#f3f3f4",
47
+ 950: "#f8f8f9",
48
+ 1000: "#ffffff",
49
+ };
50
+
51
+ export const palette = {
52
+ modes: {
53
+ dark: {
54
+ scale: {
55
+ blue: { 400: "#bbd0fb", 500: "#81a7ec", 600: "#5d83d8", 700: "#4966b4" },
56
+ cyan: { 400: "#99e3ef", 500: "#52c2d8", 600: "#2c9ab2", 700: "#1f7689" },
57
+ gray: grayDark,
58
+ green: { 400: "#95e0a7", 500: "#4fc56d", 600: "#30994f", 700: "#24783d", 800: "#1c5e2f" },
59
+ indigo: { 400: "#c0c2fb", 500: "#9090f1", 600: "#6c68e6", 700: "#5350b7" },
60
+ orange: { 400: "#ffd1aa", 500: "#f0a360", 600: "#e58a3e", 700: "#d2762f" },
61
+ red: { 400: "#f7b3b3", 500: "#f06f6f", 600: "#dd4e4e", 700: "#b52f2f", 800: "rgb(145 34 34)" },
62
+ ruby: { 400: "#f1b0cc", 500: "#df6295", 600: "#c13268", 700: "#9d1e50" },
63
+ yellow: { 400: "#f3e0a3", 500: "#eec757", 600: "#ddb02b", 700: "#bf9517" },
64
+ },
65
+ },
66
+ light: {
67
+ scale: {
68
+ blue: { 400: "#273659", 500: "#315290", 600: "#486cbf", 700: "#6989da" },
69
+ cyan: { 400: "#00383f", 500: "#00525f", 600: "#007286", 700: "#4293a7" },
70
+ gray: grayLight,
71
+ green: { 400: "#00411b", 500: "#005a23", 600: "#028037", 700: "#4c9c5f", 800: "#76b783" },
72
+ indigo: { 400: "#393867", 500: "#5652ad", 600: "#6f6cea", 700: "#8c8ffd" },
73
+ orange: { 400: "#4b2800", 500: "#713d00", 600: "#894700", 700: "#a35100" },
74
+ red: { 400: "#652e30", 500: "#ae3239", 600: "#d04143", 700: "#f36962", 800: "#ff9289" },
75
+ ruby: { 400: "#632e48", 500: "#b43a70", 600: "#e75687", 700: "#ff7da3" },
76
+ yellow: { 400: "#362a00", 500: "#493800", 600: "#5b4600", 700: "#745900" },
77
+ },
78
+ },
79
+ },
80
+ semantic: {
81
+ "background-page": { family: "gray", step: "950" },
82
+ "background-surface-1": { family: "gray", step: "900" },
83
+ "background-surface-2": { family: "gray", step: "800" },
84
+ "border-surface-1": { family: "gray", step: "750" },
85
+ "border-surface-2": { family: "gray", step: "700" },
86
+ "canvas-ansi-0": { family: "gray", step: "1000" },
87
+ "canvas-ansi-1": { family: "red", step: "700" },
88
+ "canvas-ansi-2": { family: "green", step: "700" },
89
+ "canvas-ansi-3": { family: "yellow", step: "700" },
90
+ "canvas-ansi-4": { family: "blue", step: "700" },
91
+ "canvas-ansi-5": { family: "ruby", step: "700" },
92
+ "canvas-ansi-6": { family: "cyan", step: "700" },
93
+ "canvas-ansi-7": { family: "gray", step: "300" },
94
+ "canvas-ansi-8": { family: "gray", step: "700" },
95
+ "canvas-ansi-9": { family: "red", step: "500" },
96
+ "canvas-ansi-10": { family: "green", step: "500" },
97
+ "canvas-ansi-11": { family: "yellow", step: "500" },
98
+ "canvas-ansi-12": { family: "blue", step: "500" },
99
+ "canvas-ansi-13": { family: "ruby", step: "500" },
100
+ "canvas-ansi-14": { family: "cyan", step: "500" },
101
+ "canvas-ansi-15": { family: "gray", step: "200" },
102
+ "focus-color": { family: "blue", step: "500" },
103
+ "scroll-thumb": { family: "gray", step: "400" },
104
+ "scroll-thumb-hover": { family: "gray", step: "350" },
105
+ "scroll-track": { family: "gray", step: "600" },
106
+ "surface-1": { family: "gray", step: "900" },
107
+ "surface-2": { family: "gray", step: "800" },
108
+ "text-color": { family: "gray", step: "100" },
109
+ "text-color-muted": { family: "gray", step: "300" },
110
+ },
111
+ } satisfies FrontendPaletteConfig;
@@ -0,0 +1,12 @@
1
+ import { token } from "./tokens";
2
+
3
+ export const primitivePill = {
4
+ background: token.color("gray", 800),
5
+ rootBackground: "var(--tbf-ui-pill-bg, transparent)",
6
+ rootBorder: "var(--tbf-border-width, 1px) solid var(--tbf-border, currentColor)",
7
+ rootColor: "var(--tbf-text, currentColor)",
8
+ rootFontSize: "13px",
9
+ rootGap: "var(--tbf-gap-xs2, 4px)",
10
+ rootPadding: "3px 8px",
11
+ rootRadius: "var(--tbf-radius-sm, .5rem)",
12
+ };
@@ -0,0 +1,39 @@
1
+ import { primitiveActionControl } from "./action_control";
2
+ import { primitiveButton } from "./button";
3
+ import { primitiveChoice } from "./choice";
4
+ import { primitiveDisclosure } from "./disclosure";
5
+ import { primitiveDot } from "./dot";
6
+ import { primitiveDropdown } from "./dropdown";
7
+ import { primitiveInput } from "./input";
8
+ import { primitiveLoader } from "./loader";
9
+ import { primitiveMarquee } from "./marquee";
10
+ import { primitivePill } from "./pill";
11
+ import { primitiveProgress } from "./progress";
12
+ import { primitiveQuote } from "./quote";
13
+ import { primitiveSteps } from "./steps";
14
+ import { primitiveTabs } from "./tabs";
15
+ import { primitiveTextLink } from "./text_link";
16
+ import { primitiveToggle } from "./toggle";
17
+ import { primitiveUpload } from "./upload";
18
+ import { primitiveWizard } from "./wizard";
19
+
20
+ export const primitives = {
21
+ actionControl: primitiveActionControl,
22
+ button: primitiveButton,
23
+ choice: primitiveChoice,
24
+ disclosure: primitiveDisclosure,
25
+ dot: primitiveDot,
26
+ dropdown: primitiveDropdown,
27
+ input: primitiveInput,
28
+ loader: primitiveLoader,
29
+ marquee: primitiveMarquee,
30
+ pill: primitivePill,
31
+ progress: primitiveProgress,
32
+ quote: primitiveQuote,
33
+ steps: primitiveSteps,
34
+ tabs: primitiveTabs,
35
+ textLink: primitiveTextLink,
36
+ toggle: primitiveToggle,
37
+ upload: primitiveUpload,
38
+ wizard: primitiveWizard,
39
+ };
@@ -0,0 +1,11 @@
1
+ import { token } from "./tokens";
2
+
3
+ export const primitiveProgress = {
4
+ color: token.color("gray", 400),
5
+ motion: {
6
+ duration: "180ms",
7
+ easing: "ease",
8
+ slideDuration: "1.05s",
9
+ },
10
+ track: token.colorMix(token.color("gray", 400), "22%"),
11
+ };
@@ -0,0 +1,13 @@
1
+ export const primitiveQuote = {
2
+ citeColor: "var(--tbf-text-muted, currentColor)",
3
+ citeFontSize: ".95rem",
4
+ citeFontWeight: "600",
5
+ markColor: "var(--tbf-text-muted, currentColor)",
6
+ markSize: "2.5rem",
7
+ rootBorder: "color-mix(in srgb, currentColor 22%, transparent)",
8
+ rootBorderWidth: "3px",
9
+ rootGap: "var(--tbf-gap-sm, 12px)",
10
+ rootPaddingInline: "var(--tbf-gap-lg, 24px)",
11
+ textFontSize: "inherit",
12
+ textLineHeight: "1.45",
13
+ };
@@ -0,0 +1,251 @@
1
+ import { token } from "./tokens";
2
+
3
+ export const shell = {
4
+ bottomBar: {
5
+ background: "var(--tbf-page, var(--background-page, #fff))",
6
+ border: "var(--tbf-border-width, 1px) solid var(--tbf-border, #000)",
7
+ height: "52px",
8
+ itemActiveColor: "var(--tbf-text, #000)",
9
+ itemColor: "var(--tbf-text-muted, #666)",
10
+ itemGap: "3px",
11
+ itemPadding: "7px 5px",
12
+ labelFontSize: "11px",
13
+ radius: "var(--tbf-radius, 0)",
14
+ shadow: "none",
15
+ },
16
+ breadcrumb: {
17
+ fontSize: "0.875rem",
18
+ },
19
+ category: {
20
+ gap: "var(--tbf-shell-footer-column-gap, var(--tbf-gap-sm, 12px))",
21
+ linksGap: "var(--tbf-shell-footer-links-gap, var(--tbf-gap-sm, 12px))",
22
+ spacing: "var(--tbf-shell-footer-column-groups-gap, var(--tbf-gap-lg, 40px))",
23
+ },
24
+ error: {
25
+ actions: {
26
+ align: "center",
27
+ gap: "0.75rem",
28
+ offset: "var(--tbf-gap-xs, 8px)",
29
+ },
30
+ body: {
31
+ align: "center",
32
+ gap: "0.75rem",
33
+ max: "40rem",
34
+ textAlign: "center",
35
+ },
36
+ lead: {
37
+ color: "var(--tbf-text-muted, #666)",
38
+ fontSize: "1.05rem",
39
+ lineHeight: "1.6",
40
+ max: "36rem",
41
+ },
42
+ locale: {
43
+ offset: "clamp(1rem, 3vw, 2rem)",
44
+ },
45
+ root: {
46
+ background: "var(--tbf-page, #fff)",
47
+ color: "var(--tbf-text, #000)",
48
+ minHeight: "100svh",
49
+ px: "clamp(1rem, 3vw, 2rem)",
50
+ py: "clamp(3rem, 8vw, 7rem)",
51
+ },
52
+ status: {
53
+ color: "var(--tbf-text, #000)",
54
+ fontFamily: "inherit",
55
+ fontSize: "clamp(4.5rem, 18vw, 10rem)",
56
+ fontWeight: "900",
57
+ letterSpacing: "-0.02em",
58
+ lineHeight: ".9",
59
+ },
60
+ title: {
61
+ fontSize: "clamp(1.25rem, 3vw, 1.75rem)",
62
+ lineHeight: "1.15",
63
+ },
64
+ },
65
+ footer: {
66
+ brand: {
67
+ gap: "var(--tbf-gap-md, 24px)",
68
+ },
69
+ column: {
70
+ gap: "var(--tbf-gap-sm, 12px)",
71
+ groupsGap: "var(--tbf-gap-lg, 40px)",
72
+ },
73
+ columns: {
74
+ gap: "var(--tbf-gap-lg, 40px)",
75
+ min: "9rem",
76
+ },
77
+ inner: {
78
+ columns: "minmax(0, 5fr) minmax(0, 7fr)",
79
+ gap: "var(--tbf-gap-lg, 40px)",
80
+ },
81
+ links: {
82
+ gap: "var(--tbf-gap-sm, 12px)",
83
+ },
84
+ maxWidth: "72rem",
85
+ note: {
86
+ border: "var(--tbf-border-width, 1px) solid color-mix(in srgb, currentColor 15%, transparent)",
87
+ fontSize: ".85rem",
88
+ gap: "var(--tbf-gap-xs2, 4px)",
89
+ linksGap: "var(--tbf-gap-md, 24px)",
90
+ paddingBlock: "var(--tbf-gap-md, 24px)",
91
+ },
92
+ root: {
93
+ background: "var(--tbf-page, #fff)",
94
+ border: "0",
95
+ color: "var(--tbf-text, #000)",
96
+ fontSize: "inherit",
97
+ gap: "var(--tbf-gap-md, 24px)",
98
+ paddingBlock: "var(--tbf-gap-lg, 40px)",
99
+ paddingInline: "var(--tbf-container-px, 24px)",
100
+ },
101
+ site: {
102
+ border: "var(--tbf-border-width, 1px) solid color-mix(in srgb, currentColor 15%, transparent)",
103
+ gap: "var(--tbf-gap-lg, 40px)",
104
+ links: {
105
+ gap: "var(--tbf-gap-md, 24px)",
106
+ },
107
+ paddingBlock: "var(--tbf-gap-lg, 40px)",
108
+ },
109
+ socialColor: "color-mix(in srgb, currentColor 70%, transparent)",
110
+ socialGap: "6px",
111
+ socialHoverBackground: "color-mix(in srgb, currentColor 12%, transparent)",
112
+ socialHoverColor: "inherit",
113
+ socialIconSize: "1.1rem",
114
+ socialOffset: "var(--tbf-gap-sm, 12px)",
115
+ socialRadius: "var(--tbf-radius-sm, 0)",
116
+ socialSize: "2rem",
117
+ tagline: {
118
+ fontSize: "var(--text-size-md, 1rem)",
119
+ max: "20rem",
120
+ },
121
+ tone: {
122
+ inverse: {
123
+ background: "var(--tbf-ground, #000)",
124
+ },
125
+ muted: {
126
+ background: "var(--tbf-surface-muted, #eee)",
127
+ },
128
+ },
129
+ },
130
+ header: {
131
+ actionsGap: ".5rem",
132
+ barPaddingInlineWide: "var(--tbf-shell-header-bar-px, var(--tbf-container-px, 1rem))",
133
+ brand: {
134
+ btnColor: "currentColor",
135
+ btnGap: "8px",
136
+ btnHoverBackground: "transparent",
137
+ btnHoverColor: "currentColor",
138
+ btnRadius: "var(--tbf-radius-sm, 0)",
139
+ color: "var(--tbf-text, currentColor)",
140
+ fontFamily: "inherit",
141
+ fontSize: "1.125rem",
142
+ fontWeight: "700",
143
+ hoverOpacity: "1",
144
+ letterSpacing: "normal",
145
+ logoMaxWidth: "220px",
146
+ tag: {
147
+ offsetY: "6px",
148
+ },
149
+ verticalGap: "2px",
150
+ },
151
+ burger: {
152
+ duration: "300ms",
153
+ easing: "ease",
154
+ fadeDuration: "200ms",
155
+ },
156
+ gap: "1rem",
157
+ maxWidth: "72rem",
158
+ menuBackground: "var(--tbf-ground, #fff)",
159
+ menuBorder: "var(--tbf-border-width, 1px) solid var(--tbf-border, currentColor)",
160
+ menuColor: "var(--tbf-text, currentColor)",
161
+ menuDividerBorder: "1px solid color-mix(in srgb, currentColor 14%, transparent)",
162
+ menuFooterGap: ".75rem",
163
+ menuGap: ".25rem",
164
+ menuGroupIndent: ".75rem",
165
+ menuGroupLabelColor: "var(--tbf-text-muted, currentColor)",
166
+ menuGroupLabelFontFamily: "inherit",
167
+ menuGroupLabelFontSize: ".875rem",
168
+ menuGroupLabelFontWeight: "inherit",
169
+ menuGroupLabelLetterSpacing: "inherit",
170
+ menuGroupLabelTextTransform: "none",
171
+ menuLinkPaddingBlock: "0",
172
+ menuLinksGap: "0",
173
+ menuPaddingBlock: ".75rem",
174
+ menuShadow: "0 24px 32px -24px rgba(0, 0, 0, .18)",
175
+ motionDuration: ".5s",
176
+ motionEasing: "cubic-bezier(.22, 1, .36, 1)",
177
+ navGap: ".25rem",
178
+ paddingBlock: ".5rem",
179
+ "root-z-index": "var(--tbf-z-header, 920)",
180
+ rootBackground: "var(--tbf-ground, #fff)",
181
+ rootBorder: "1px solid color-mix(in srgb, currentColor 14%, transparent)",
182
+ rootColor: "var(--tbf-text, currentColor)",
183
+ rootPosition: "sticky",
184
+ toggleColor: "var(--tbf-text, currentColor)",
185
+ toggleOffset: "-.5rem",
186
+ toggleRadius: ".5rem",
187
+ tone: {
188
+ duration: "320ms",
189
+ easing: "cubic-bezier(0.22, 1, 0.36, 1)",
190
+ },
191
+ },
192
+ language: {
193
+ option: {
194
+ states: {
195
+ current: {
196
+ background: token.color("gray", 850),
197
+ color: "var(--tbf-text, currentColor)",
198
+ },
199
+ },
200
+ },
201
+ },
202
+ outline: {
203
+ border: "var(--tbf-border-width, 1px) solid color-mix(in srgb, currentColor 16%, transparent)",
204
+ "dock-z": "40",
205
+ dockBackground: "var(--tbf-overlay-popover-panel-bg, var(--tbf-ground, #fff))",
206
+ dockBorder: "var(--tbf-border-width, 1px) solid color-mix(in srgb, currentColor 16%, transparent)",
207
+ dockDuration: ".32s",
208
+ dockEasing: "cubic-bezier(.22, 1, .36, 1)",
209
+ dockInset: "var(--tbf-container-px, 16px)",
210
+ dockMaxHeight: "min(60vh, 26rem)",
211
+ dockPanelPaddingBlock: ".875rem",
212
+ dockPanelPaddingInline: "1.125rem",
213
+ dockShadow: "0 8px 28px color-mix(in srgb, #000 22%, transparent)",
214
+ dockToggleMax: "min(16rem, 100vw - var(--tbf-shell-outline-dock-inset, var(--tbf-container-px, 16px)) * 2)",
215
+ dockWidth: "18rem",
216
+ fontSize: ".8125rem",
217
+ frame: {
218
+ asidePaddingBlock: "var(--tbf-gap-lg, 32px)",
219
+ gutter: "var(--tbf-container-px, 24px)",
220
+ measure: "72rem",
221
+ offset: "0",
222
+ },
223
+ gap: "var(--tbf-gap-xs, 8px)",
224
+ layout: {
225
+ column: "13rem",
226
+ gap: "var(--tbf-gap-lg, 32px)",
227
+ },
228
+ linkActiveBorder: "currentColor",
229
+ linkActiveColor: "currentColor",
230
+ linkBorder: "2px solid transparent",
231
+ linkColor: "color-mix(in srgb, currentColor 55%, transparent)",
232
+ linkHoverColor: "currentColor",
233
+ linkPaddingBlock: ".15rem",
234
+ linkPaddingInline: ".75rem",
235
+ markerDuration: ".32s",
236
+ markerEasing: "cubic-bezier(.22, 1, .36, 1)",
237
+ markerWidth: "2px",
238
+ maxWidth: "100%",
239
+ offset: "1.5rem",
240
+ },
241
+ theme: {
242
+ option: {
243
+ states: {
244
+ current: {
245
+ background: token.color("gray", 850),
246
+ color: "var(--text-color)",
247
+ },
248
+ },
249
+ },
250
+ },
251
+ };
@@ -0,0 +1,6 @@
1
+ export const primitiveSteps = {
2
+ motion: {
3
+ duration: "180ms",
4
+ easing: "ease",
5
+ },
6
+ };