@burtson-labs/ui 0.5.0 → 0.6.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 (45) hide show
  1. package/README.md +1 -1
  2. package/dist/components/alert-dialog.js +2 -2
  3. package/dist/components/alert-dialog.js.map +1 -1
  4. package/dist/components/composer.d.ts +30 -0
  5. package/dist/components/composer.js +95 -0
  6. package/dist/components/composer.js.map +1 -0
  7. package/dist/components/conversation.d.ts +14 -0
  8. package/dist/components/conversation.js +78 -0
  9. package/dist/components/conversation.js.map +1 -0
  10. package/dist/components/dialog.js +2 -2
  11. package/dist/components/dialog.js.map +1 -1
  12. package/dist/components/markdown.d.ts +33 -0
  13. package/dist/components/markdown.js +177 -0
  14. package/dist/components/markdown.js.map +1 -0
  15. package/dist/components/message.d.ts +21 -0
  16. package/dist/components/message.js +56 -0
  17. package/dist/components/message.js.map +1 -0
  18. package/dist/components/navigation-menu.js +2 -2
  19. package/dist/components/navigation-menu.js.map +1 -1
  20. package/dist/components/popover.d.ts +1 -1
  21. package/dist/components/popover.js +1 -1
  22. package/dist/components/popover.js.map +1 -1
  23. package/dist/components/reasoning.d.ts +14 -0
  24. package/dist/components/reasoning.js +61 -0
  25. package/dist/components/reasoning.js.map +1 -0
  26. package/dist/components/sheet.d.ts +4 -2
  27. package/dist/components/sheet.js +5 -3
  28. package/dist/components/sheet.js.map +1 -1
  29. package/dist/components/tabs.js +1 -1
  30. package/dist/components/tabs.js.map +1 -1
  31. package/dist/components/toast.js +1 -1
  32. package/dist/components/toast.js.map +1 -1
  33. package/dist/components/tool-call.d.ts +32 -0
  34. package/dist/components/tool-call.js +152 -0
  35. package/dist/components/tool-call.js.map +1 -0
  36. package/dist/components/tooltip.js +1 -1
  37. package/dist/components/tooltip.js.map +1 -1
  38. package/dist/index.d.ts +6 -0
  39. package/dist/index.js +8 -2
  40. package/dist/styles.css +1 -1
  41. package/dist/theme.css +22 -11
  42. package/dist/tokens.d.ts +167 -0
  43. package/dist/tokens.js +53 -1
  44. package/dist/tokens.js.map +1 -1
  45. package/package.json +1 -1
package/dist/tokens.d.ts CHANGED
@@ -32,6 +32,93 @@ export declare const shadow: {
32
32
  };
33
33
  export declare const fontSans = "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif";
34
34
  export declare const fontMono = "\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace";
35
+ /**
36
+ * Motion. Surfaces enter from where they come from: popovers and menus slide a
37
+ * few pixels from their trigger side (--bl-tx/--bl-ty, set per side by the
38
+ * component), dialogs zoom slightly, sheets glide in with a drawer ease, and
39
+ * everything leaves faster than it arrived. prefers-reduced-motion turns all
40
+ * of it off (theme.css).
41
+ */
42
+ export declare const motion: {
43
+ readonly animations: {
44
+ readonly in: "bl-in 200ms cubic-bezier(0.16, 1, 0.3, 1)";
45
+ readonly out: "bl-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards";
46
+ readonly 'fade-in': "bl-fade-in 200ms ease-out";
47
+ readonly 'fade-out': "bl-fade-out 150ms ease-in forwards";
48
+ readonly 'sheet-in': "bl-sheet-in 340ms cubic-bezier(0.32, 0.72, 0, 1)";
49
+ readonly 'sheet-out': "bl-sheet-out 220ms cubic-bezier(0.4, 0, 1, 1) forwards";
50
+ readonly 'accordion-down': "bl-accordion-down 200ms cubic-bezier(0.16, 1, 0.3, 1)";
51
+ readonly 'accordion-up': "bl-accordion-up 160ms ease-out";
52
+ readonly 'collapsible-down': "bl-collapsible-down 200ms cubic-bezier(0.16, 1, 0.3, 1)";
53
+ readonly 'collapsible-up': "bl-collapsible-up 160ms ease-out";
54
+ };
55
+ readonly keyframes: {
56
+ readonly 'bl-in': {
57
+ readonly from: {
58
+ readonly opacity: "0";
59
+ readonly transform: "translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))";
60
+ };
61
+ };
62
+ readonly 'bl-out': {
63
+ readonly to: {
64
+ readonly opacity: "0";
65
+ readonly transform: "translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))";
66
+ };
67
+ };
68
+ readonly 'bl-fade-in': {
69
+ readonly from: {
70
+ readonly opacity: "0";
71
+ };
72
+ };
73
+ readonly 'bl-fade-out': {
74
+ readonly to: {
75
+ readonly opacity: "0";
76
+ };
77
+ };
78
+ readonly 'bl-sheet-in': {
79
+ readonly from: {
80
+ readonly transform: "translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)";
81
+ };
82
+ };
83
+ readonly 'bl-sheet-out': {
84
+ readonly to: {
85
+ readonly transform: "translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)";
86
+ };
87
+ };
88
+ readonly 'bl-accordion-down': {
89
+ readonly from: {
90
+ readonly height: "0";
91
+ };
92
+ readonly to: {
93
+ readonly height: "var(--radix-accordion-content-height)";
94
+ };
95
+ };
96
+ readonly 'bl-accordion-up': {
97
+ readonly from: {
98
+ readonly height: "var(--radix-accordion-content-height)";
99
+ };
100
+ readonly to: {
101
+ readonly height: "0";
102
+ };
103
+ };
104
+ readonly 'bl-collapsible-down': {
105
+ readonly from: {
106
+ readonly height: "0";
107
+ };
108
+ readonly to: {
109
+ readonly height: "var(--radix-collapsible-content-height)";
110
+ };
111
+ };
112
+ readonly 'bl-collapsible-up': {
113
+ readonly from: {
114
+ readonly height: "var(--radix-collapsible-content-height)";
115
+ };
116
+ readonly to: {
117
+ readonly height: "0";
118
+ };
119
+ };
120
+ };
121
+ };
35
122
  export declare const tokens: {
36
123
  readonly brand: "#a60ee5";
37
124
  readonly light: Palette;
@@ -50,6 +137,86 @@ export declare const tokens: {
50
137
  readonly md: "0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)";
51
138
  readonly focus: "0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent)";
52
139
  };
140
+ readonly motion: {
141
+ readonly animations: {
142
+ readonly in: "bl-in 200ms cubic-bezier(0.16, 1, 0.3, 1)";
143
+ readonly out: "bl-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards";
144
+ readonly 'fade-in': "bl-fade-in 200ms ease-out";
145
+ readonly 'fade-out': "bl-fade-out 150ms ease-in forwards";
146
+ readonly 'sheet-in': "bl-sheet-in 340ms cubic-bezier(0.32, 0.72, 0, 1)";
147
+ readonly 'sheet-out': "bl-sheet-out 220ms cubic-bezier(0.4, 0, 1, 1) forwards";
148
+ readonly 'accordion-down': "bl-accordion-down 200ms cubic-bezier(0.16, 1, 0.3, 1)";
149
+ readonly 'accordion-up': "bl-accordion-up 160ms ease-out";
150
+ readonly 'collapsible-down': "bl-collapsible-down 200ms cubic-bezier(0.16, 1, 0.3, 1)";
151
+ readonly 'collapsible-up': "bl-collapsible-up 160ms ease-out";
152
+ };
153
+ readonly keyframes: {
154
+ readonly 'bl-in': {
155
+ readonly from: {
156
+ readonly opacity: "0";
157
+ readonly transform: "translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))";
158
+ };
159
+ };
160
+ readonly 'bl-out': {
161
+ readonly to: {
162
+ readonly opacity: "0";
163
+ readonly transform: "translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))";
164
+ };
165
+ };
166
+ readonly 'bl-fade-in': {
167
+ readonly from: {
168
+ readonly opacity: "0";
169
+ };
170
+ };
171
+ readonly 'bl-fade-out': {
172
+ readonly to: {
173
+ readonly opacity: "0";
174
+ };
175
+ };
176
+ readonly 'bl-sheet-in': {
177
+ readonly from: {
178
+ readonly transform: "translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)";
179
+ };
180
+ };
181
+ readonly 'bl-sheet-out': {
182
+ readonly to: {
183
+ readonly transform: "translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)";
184
+ };
185
+ };
186
+ readonly 'bl-accordion-down': {
187
+ readonly from: {
188
+ readonly height: "0";
189
+ };
190
+ readonly to: {
191
+ readonly height: "var(--radix-accordion-content-height)";
192
+ };
193
+ };
194
+ readonly 'bl-accordion-up': {
195
+ readonly from: {
196
+ readonly height: "var(--radix-accordion-content-height)";
197
+ };
198
+ readonly to: {
199
+ readonly height: "0";
200
+ };
201
+ };
202
+ readonly 'bl-collapsible-down': {
203
+ readonly from: {
204
+ readonly height: "0";
205
+ };
206
+ readonly to: {
207
+ readonly height: "var(--radix-collapsible-content-height)";
208
+ };
209
+ };
210
+ readonly 'bl-collapsible-up': {
211
+ readonly from: {
212
+ readonly height: "var(--radix-collapsible-content-height)";
213
+ };
214
+ readonly to: {
215
+ readonly height: "0";
216
+ };
217
+ };
218
+ };
219
+ };
53
220
  readonly fontSans: "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif";
54
221
  readonly fontMono: "\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace";
55
222
  };
package/dist/tokens.js CHANGED
@@ -91,16 +91,68 @@ var shadow = {
91
91
  };
92
92
  var fontSans = "Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif";
93
93
  var fontMono = "\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace";
94
+ /**
95
+ * Motion. Surfaces enter from where they come from: popovers and menus slide a
96
+ * few pixels from their trigger side (--bl-tx/--bl-ty, set per side by the
97
+ * component), dialogs zoom slightly, sheets glide in with a drawer ease, and
98
+ * everything leaves faster than it arrived. prefers-reduced-motion turns all
99
+ * of it off (theme.css).
100
+ */
101
+ var motion = {
102
+ animations: {
103
+ in: "bl-in 200ms cubic-bezier(0.16, 1, 0.3, 1)",
104
+ out: "bl-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards",
105
+ "fade-in": "bl-fade-in 200ms ease-out",
106
+ "fade-out": "bl-fade-out 150ms ease-in forwards",
107
+ "sheet-in": "bl-sheet-in 340ms cubic-bezier(0.32, 0.72, 0, 1)",
108
+ "sheet-out": "bl-sheet-out 220ms cubic-bezier(0.4, 0, 1, 1) forwards",
109
+ "accordion-down": "bl-accordion-down 200ms cubic-bezier(0.16, 1, 0.3, 1)",
110
+ "accordion-up": "bl-accordion-up 160ms ease-out",
111
+ "collapsible-down": "bl-collapsible-down 200ms cubic-bezier(0.16, 1, 0.3, 1)",
112
+ "collapsible-up": "bl-collapsible-up 160ms ease-out"
113
+ },
114
+ keyframes: {
115
+ "bl-in": { from: {
116
+ opacity: "0",
117
+ transform: "translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))"
118
+ } },
119
+ "bl-out": { to: {
120
+ opacity: "0",
121
+ transform: "translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))"
122
+ } },
123
+ "bl-fade-in": { from: { opacity: "0" } },
124
+ "bl-fade-out": { to: { opacity: "0" } },
125
+ "bl-sheet-in": { from: { transform: "translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)" } },
126
+ "bl-sheet-out": { to: { transform: "translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)" } },
127
+ "bl-accordion-down": {
128
+ from: { height: "0" },
129
+ to: { height: "var(--radix-accordion-content-height)" }
130
+ },
131
+ "bl-accordion-up": {
132
+ from: { height: "var(--radix-accordion-content-height)" },
133
+ to: { height: "0" }
134
+ },
135
+ "bl-collapsible-down": {
136
+ from: { height: "0" },
137
+ to: { height: "var(--radix-collapsible-content-height)" }
138
+ },
139
+ "bl-collapsible-up": {
140
+ from: { height: "var(--radix-collapsible-content-height)" },
141
+ to: { height: "0" }
142
+ }
143
+ }
144
+ };
94
145
  var tokens = {
95
146
  brand,
96
147
  light,
97
148
  dark,
98
149
  radius,
99
150
  shadow,
151
+ motion,
100
152
  fontSans,
101
153
  fontMono
102
154
  };
103
155
  //#endregion
104
- export { brand, dark, tokens as default, tokens, fontMono, fontSans, light, radius, shadow };
156
+ export { brand, dark, tokens as default, tokens, fontMono, fontSans, light, motion, radius, shadow };
105
157
 
106
158
  //# sourceMappingURL=tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","names":[],"sources":["../src/tokens.ts"],"sourcesContent":["/**\n * Burtson UI design tokens. This file is the single source for colour, radius,\n * shadow and type: `scripts/theme.mjs` writes src/styles/theme.css from it, and the\n * MUI adapter (`@burtson-labs/ui/mui`) builds its palette from it, so Tailwind\n * apps and MUI apps render the same brand.\n *\n * Burtson's design language: technical, quiet, precise. Purple (`brand`) is a\n * signal colour for selection, focus, primary actions and small accents, not a\n * panel fill. Dark is a first-class palette, not an inversion of light. The\n * base colour names stay registry-compatible, so source copied into an app\n * keeps working.\n */\n\nexport type ColorToken =\n | 'background'\n | 'foreground'\n | 'surface'\n | 'surface-raised'\n | 'surface-muted'\n | 'card'\n | 'card-foreground'\n | 'popover'\n | 'popover-foreground'\n | 'primary'\n | 'primary-foreground'\n | 'secondary'\n | 'secondary-foreground'\n | 'muted'\n | 'muted-foreground'\n | 'accent'\n | 'accent-foreground'\n | 'destructive'\n | 'destructive-foreground'\n | 'success'\n | 'success-foreground'\n | 'warning'\n | 'warning-foreground'\n | 'info'\n | 'info-foreground'\n | 'border'\n | 'border-strong'\n | 'input'\n | 'ring'\n | 'brand'\n | 'brand-hover'\n | 'brand-soft'\n | 'brand-soft-foreground'\n | 'code'\n | 'code-foreground';\n\nexport type Palette = Record<ColorToken, string>;\n\n/** Burtson Labs purple. Use as signal, not wallpaper. */\nexport const brand = '#a60ee5';\n\nexport const light: Palette = {\n background: '#fbfafc',\n foreground: '#17131c',\n surface: '#ffffff',\n 'surface-raised': '#ffffff',\n 'surface-muted': '#f7f4f9',\n card: '#ffffff',\n 'card-foreground': '#17131c',\n popover: '#ffffff',\n 'popover-foreground': '#17131c',\n primary: '#8f0bc7',\n 'primary-foreground': '#ffffff',\n secondary: '#f1edf4',\n 'secondary-foreground': '#29212f',\n muted: '#f4f1f6',\n 'muted-foreground': '#6c6472',\n accent: '#f3e7fb',\n 'accent-foreground': '#561071',\n destructive: '#c92d3f',\n 'destructive-foreground': '#ffffff',\n success: '#0e7a56',\n 'success-foreground': '#ffffff',\n warning: '#9b5c08',\n 'warning-foreground': '#ffffff',\n info: '#2563eb',\n 'info-foreground': '#ffffff',\n border: '#e5dfe8',\n 'border-strong': '#cfc5d5',\n input: '#d8cfdd',\n ring: '#a60ee5',\n brand: '#a60ee5',\n 'brand-hover': '#8f0bc7',\n 'brand-soft': '#f5e8fc',\n 'brand-soft-foreground': '#5b1476',\n code: '#18141d',\n 'code-foreground': '#f5f0f7',\n};\n\nexport const dark: Palette = {\n background: '#0d0d12',\n foreground: '#f2eef5',\n surface: '#121218',\n 'surface-raised': '#18171f',\n 'surface-muted': '#17151c',\n card: '#14131a',\n 'card-foreground': '#f2eef5',\n popover: '#18171f',\n 'popover-foreground': '#f2eef5',\n primary: '#b836ed',\n 'primary-foreground': '#ffffff',\n secondary: '#211e28',\n 'secondary-foreground': '#e7e0eb',\n muted: '#1b1921',\n 'muted-foreground': '#a49ca9',\n accent: '#291734',\n 'accent-foreground': '#efd7fa',\n destructive: '#ef5b65',\n 'destructive-foreground': '#1b090b',\n success: '#36c58d',\n 'success-foreground': '#07160f',\n warning: '#f3b24c',\n 'warning-foreground': '#201304',\n info: '#6ea8ff',\n 'info-foreground': '#071226',\n border: '#2a2732',\n 'border-strong': '#403a49',\n input: '#34303d',\n ring: '#c65ef1',\n brand: '#c65ef1',\n 'brand-hover': '#d384f3',\n 'brand-soft': '#291734',\n 'brand-soft-foreground': '#efd7fa',\n code: '#09090d',\n 'code-foreground': '#f5f0f7',\n};\n\nexport const radius = {\n xs: '0.375rem',\n sm: '0.5rem',\n md: '0.625rem',\n lg: '0.75rem',\n xl: '1rem',\n full: '9999px',\n} as const;\n\nexport const shadow = {\n xs: '0 1px 2px rgb(10 8 14 / 0.05)',\n sm: '0 1px 3px rgb(10 8 14 / 0.08), 0 1px 2px rgb(10 8 14 / 0.05)',\n md: '0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)',\n focus: '0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent)',\n} as const;\n\nexport const fontSans =\n 'Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif';\nexport const fontMono =\n '\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace';\n\nexport const tokens = { brand, light, dark, radius, shadow, fontSans, fontMono } as const;\nexport default tokens;\n"],"mappings":";;AAqDA,IAAa,QAAQ;AAErB,IAAa,QAAiB;CAC5B,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,kBAAkB;CAClB,iBAAiB;CACjB,MAAM;CACN,mBAAmB;CACnB,SAAS;CACT,sBAAsB;CACtB,SAAS;CACT,sBAAsB;CACtB,WAAW;CACX,wBAAwB;CACxB,OAAO;CACP,oBAAoB;CACpB,QAAQ;CACR,qBAAqB;CACrB,aAAa;CACb,0BAA0B;CAC1B,SAAS;CACT,sBAAsB;CACtB,SAAS;CACT,sBAAsB;CACtB,MAAM;CACN,mBAAmB;CACnB,QAAQ;CACR,iBAAiB;CACjB,OAAO;CACP,MAAM;CACN,OAAO;CACP,eAAe;CACf,cAAc;CACd,yBAAyB;CACzB,MAAM;CACN,mBAAmB;AACrB;AAEA,IAAa,OAAgB;CAC3B,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,kBAAkB;CAClB,iBAAiB;CACjB,MAAM;CACN,mBAAmB;CACnB,SAAS;CACT,sBAAsB;CACtB,SAAS;CACT,sBAAsB;CACtB,WAAW;CACX,wBAAwB;CACxB,OAAO;CACP,oBAAoB;CACpB,QAAQ;CACR,qBAAqB;CACrB,aAAa;CACb,0BAA0B;CAC1B,SAAS;CACT,sBAAsB;CACtB,SAAS;CACT,sBAAsB;CACtB,MAAM;CACN,mBAAmB;CACnB,QAAQ;CACR,iBAAiB;CACjB,OAAO;CACP,MAAM;CACN,OAAO;CACP,eAAe;CACf,cAAc;CACd,yBAAyB;CACzB,MAAM;CACN,mBAAmB;AACrB;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM;AACR;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;AACT;AAEA,IAAa,WACX;AACF,IAAa,WACX;AAEF,IAAa,SAAS;CAAE;CAAO;CAAO;CAAM;CAAQ;CAAQ;CAAU;AAAS"}
1
+ {"version":3,"file":"tokens.js","names":[],"sources":["../src/tokens.ts"],"sourcesContent":["/**\n * Burtson UI design tokens. This file is the single source for colour, radius,\n * shadow and type: `scripts/theme.mjs` writes src/styles/theme.css from it, and the\n * MUI adapter (`@burtson-labs/ui/mui`) builds its palette from it, so Tailwind\n * apps and MUI apps render the same brand.\n *\n * Burtson's design language: technical, quiet, precise. Purple (`brand`) is a\n * signal colour for selection, focus, primary actions and small accents, not a\n * panel fill. Dark is a first-class palette, not an inversion of light. The\n * base colour names stay registry-compatible, so source copied into an app\n * keeps working.\n */\n\nexport type ColorToken =\n | 'background'\n | 'foreground'\n | 'surface'\n | 'surface-raised'\n | 'surface-muted'\n | 'card'\n | 'card-foreground'\n | 'popover'\n | 'popover-foreground'\n | 'primary'\n | 'primary-foreground'\n | 'secondary'\n | 'secondary-foreground'\n | 'muted'\n | 'muted-foreground'\n | 'accent'\n | 'accent-foreground'\n | 'destructive'\n | 'destructive-foreground'\n | 'success'\n | 'success-foreground'\n | 'warning'\n | 'warning-foreground'\n | 'info'\n | 'info-foreground'\n | 'border'\n | 'border-strong'\n | 'input'\n | 'ring'\n | 'brand'\n | 'brand-hover'\n | 'brand-soft'\n | 'brand-soft-foreground'\n | 'code'\n | 'code-foreground';\n\nexport type Palette = Record<ColorToken, string>;\n\n/** Burtson Labs purple. Use as signal, not wallpaper. */\nexport const brand = '#a60ee5';\n\nexport const light: Palette = {\n background: '#fbfafc',\n foreground: '#17131c',\n surface: '#ffffff',\n 'surface-raised': '#ffffff',\n 'surface-muted': '#f7f4f9',\n card: '#ffffff',\n 'card-foreground': '#17131c',\n popover: '#ffffff',\n 'popover-foreground': '#17131c',\n primary: '#8f0bc7',\n 'primary-foreground': '#ffffff',\n secondary: '#f1edf4',\n 'secondary-foreground': '#29212f',\n muted: '#f4f1f6',\n 'muted-foreground': '#6c6472',\n accent: '#f3e7fb',\n 'accent-foreground': '#561071',\n destructive: '#c92d3f',\n 'destructive-foreground': '#ffffff',\n success: '#0e7a56',\n 'success-foreground': '#ffffff',\n warning: '#9b5c08',\n 'warning-foreground': '#ffffff',\n info: '#2563eb',\n 'info-foreground': '#ffffff',\n border: '#e5dfe8',\n 'border-strong': '#cfc5d5',\n input: '#d8cfdd',\n ring: '#a60ee5',\n brand: '#a60ee5',\n 'brand-hover': '#8f0bc7',\n 'brand-soft': '#f5e8fc',\n 'brand-soft-foreground': '#5b1476',\n code: '#18141d',\n 'code-foreground': '#f5f0f7',\n};\n\nexport const dark: Palette = {\n background: '#0d0d12',\n foreground: '#f2eef5',\n surface: '#121218',\n 'surface-raised': '#18171f',\n 'surface-muted': '#17151c',\n card: '#14131a',\n 'card-foreground': '#f2eef5',\n popover: '#18171f',\n 'popover-foreground': '#f2eef5',\n primary: '#b836ed',\n 'primary-foreground': '#ffffff',\n secondary: '#211e28',\n 'secondary-foreground': '#e7e0eb',\n muted: '#1b1921',\n 'muted-foreground': '#a49ca9',\n accent: '#291734',\n 'accent-foreground': '#efd7fa',\n destructive: '#ef5b65',\n 'destructive-foreground': '#1b090b',\n success: '#36c58d',\n 'success-foreground': '#07160f',\n warning: '#f3b24c',\n 'warning-foreground': '#201304',\n info: '#6ea8ff',\n 'info-foreground': '#071226',\n border: '#2a2732',\n 'border-strong': '#403a49',\n input: '#34303d',\n ring: '#c65ef1',\n brand: '#c65ef1',\n 'brand-hover': '#d384f3',\n 'brand-soft': '#291734',\n 'brand-soft-foreground': '#efd7fa',\n code: '#09090d',\n 'code-foreground': '#f5f0f7',\n};\n\nexport const radius = {\n xs: '0.375rem',\n sm: '0.5rem',\n md: '0.625rem',\n lg: '0.75rem',\n xl: '1rem',\n full: '9999px',\n} as const;\n\nexport const shadow = {\n xs: '0 1px 2px rgb(10 8 14 / 0.05)',\n sm: '0 1px 3px rgb(10 8 14 / 0.08), 0 1px 2px rgb(10 8 14 / 0.05)',\n md: '0 10px 30px rgb(10 8 14 / 0.10), 0 2px 8px rgb(10 8 14 / 0.06)',\n focus: '0 0 0 3px color-mix(in srgb, var(--ring) 22%, transparent)',\n} as const;\n\nexport const fontSans =\n 'Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif';\nexport const fontMono =\n '\"JetBrains Mono\", \"SFMono-Regular\", Consolas, \"Liberation Mono\", monospace';\n\n/**\n * Motion. Surfaces enter from where they come from: popovers and menus slide a\n * few pixels from their trigger side (--bl-tx/--bl-ty, set per side by the\n * component), dialogs zoom slightly, sheets glide in with a drawer ease, and\n * everything leaves faster than it arrived. prefers-reduced-motion turns all\n * of it off (theme.css).\n */\nexport const motion = {\n animations: {\n in: 'bl-in 200ms cubic-bezier(0.16, 1, 0.3, 1)',\n out: 'bl-out 140ms cubic-bezier(0.4, 0, 1, 1) forwards',\n 'fade-in': 'bl-fade-in 200ms ease-out',\n 'fade-out': 'bl-fade-out 150ms ease-in forwards',\n 'sheet-in': 'bl-sheet-in 340ms cubic-bezier(0.32, 0.72, 0, 1)',\n 'sheet-out': 'bl-sheet-out 220ms cubic-bezier(0.4, 0, 1, 1) forwards',\n 'accordion-down': 'bl-accordion-down 200ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'accordion-up': 'bl-accordion-up 160ms ease-out',\n 'collapsible-down': 'bl-collapsible-down 200ms cubic-bezier(0.16, 1, 0.3, 1)',\n 'collapsible-up': 'bl-collapsible-up 160ms ease-out',\n },\n keyframes: {\n 'bl-in': {\n from: {\n opacity: '0',\n transform: 'translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))',\n },\n },\n 'bl-out': {\n to: {\n opacity: '0',\n transform: 'translate3d(var(--bl-tx, 0), var(--bl-ty, 0), 0) scale(var(--bl-scale, 0.96))',\n },\n },\n 'bl-fade-in': { from: { opacity: '0' } },\n 'bl-fade-out': { to: { opacity: '0' } },\n 'bl-sheet-in': {\n from: { transform: 'translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)' },\n },\n 'bl-sheet-out': {\n to: { transform: 'translate3d(var(--bl-sheet-x, 100%), var(--bl-sheet-y, 0), 0)' },\n },\n 'bl-accordion-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-accordion-content-height)' },\n },\n 'bl-accordion-up': {\n from: { height: 'var(--radix-accordion-content-height)' },\n to: { height: '0' },\n },\n 'bl-collapsible-down': {\n from: { height: '0' },\n to: { height: 'var(--radix-collapsible-content-height)' },\n },\n 'bl-collapsible-up': {\n from: { height: 'var(--radix-collapsible-content-height)' },\n to: { height: '0' },\n },\n },\n} as const;\n\nexport const tokens = { brand, light, dark, radius, shadow, motion, fontSans, fontMono } as const;\nexport default tokens;\n"],"mappings":";;AAqDA,IAAa,QAAQ;AAErB,IAAa,QAAiB;CAC5B,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,kBAAkB;CAClB,iBAAiB;CACjB,MAAM;CACN,mBAAmB;CACnB,SAAS;CACT,sBAAsB;CACtB,SAAS;CACT,sBAAsB;CACtB,WAAW;CACX,wBAAwB;CACxB,OAAO;CACP,oBAAoB;CACpB,QAAQ;CACR,qBAAqB;CACrB,aAAa;CACb,0BAA0B;CAC1B,SAAS;CACT,sBAAsB;CACtB,SAAS;CACT,sBAAsB;CACtB,MAAM;CACN,mBAAmB;CACnB,QAAQ;CACR,iBAAiB;CACjB,OAAO;CACP,MAAM;CACN,OAAO;CACP,eAAe;CACf,cAAc;CACd,yBAAyB;CACzB,MAAM;CACN,mBAAmB;AACrB;AAEA,IAAa,OAAgB;CAC3B,YAAY;CACZ,YAAY;CACZ,SAAS;CACT,kBAAkB;CAClB,iBAAiB;CACjB,MAAM;CACN,mBAAmB;CACnB,SAAS;CACT,sBAAsB;CACtB,SAAS;CACT,sBAAsB;CACtB,WAAW;CACX,wBAAwB;CACxB,OAAO;CACP,oBAAoB;CACpB,QAAQ;CACR,qBAAqB;CACrB,aAAa;CACb,0BAA0B;CAC1B,SAAS;CACT,sBAAsB;CACtB,SAAS;CACT,sBAAsB;CACtB,MAAM;CACN,mBAAmB;CACnB,QAAQ;CACR,iBAAiB;CACjB,OAAO;CACP,MAAM;CACN,OAAO;CACP,eAAe;CACf,cAAc;CACd,yBAAyB;CACzB,MAAM;CACN,mBAAmB;AACrB;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM;AACR;AAEA,IAAa,SAAS;CACpB,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,OAAO;AACT;AAEA,IAAa,WACX;AACF,IAAa,WACX;;;;;;;;AASF,IAAa,SAAS;CACpB,YAAY;EACV,IAAI;EACJ,KAAK;EACL,WAAW;EACX,YAAY;EACZ,YAAY;EACZ,aAAa;EACb,kBAAkB;EAClB,gBAAgB;EAChB,oBAAoB;EACpB,kBAAkB;CACpB;CACA,WAAW;EACT,SAAS,EACP,MAAM;GACJ,SAAS;GACT,WAAW;EACb,EACF;EACA,UAAU,EACR,IAAI;GACF,SAAS;GACT,WAAW;EACb,EACF;EACA,cAAc,EAAE,MAAM,EAAE,SAAS,IAAI,EAAE;EACvC,eAAe,EAAE,IAAI,EAAE,SAAS,IAAI,EAAE;EACtC,eAAe,EACb,MAAM,EAAE,WAAW,gEAAgE,EACrF;EACA,gBAAgB,EACd,IAAI,EAAE,WAAW,gEAAgE,EACnF;EACA,qBAAqB;GACnB,MAAM,EAAE,QAAQ,IAAI;GACpB,IAAI,EAAE,QAAQ,wCAAwC;EACxD;EACA,mBAAmB;GACjB,MAAM,EAAE,QAAQ,wCAAwC;GACxD,IAAI,EAAE,QAAQ,IAAI;EACpB;EACA,uBAAuB;GACrB,MAAM,EAAE,QAAQ,IAAI;GACpB,IAAI,EAAE,QAAQ,0CAA0C;EAC1D;EACA,qBAAqB;GACnB,MAAM,EAAE,QAAQ,0CAA0C;GAC1D,IAAI,EAAE,QAAQ,IAAI;EACpB;CACF;AACF;AAEA,IAAa,SAAS;CAAE;CAAO;CAAO;CAAM;CAAQ;CAAQ;CAAQ;CAAU;AAAS"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burtson-labs/ui",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "React components for Burtson Labs products: Radix accessibility, Tailwind v4 styling, Burtson Icons. Install the package or copy the source.",
5
5
  "license": "MIT",
6
6
  "author": {