@devalok/shilp-sutra 0.30.0 → 0.31.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/README.md +82 -239
- package/dist/_chunks/badge-group.js +34 -33
- package/dist/ai/types.js +2 -0
- package/dist/composed/content-card.d.ts.map +1 -1
- package/dist/composed/lib/string-utils.d.ts.map +1 -1
- package/dist/composed/loading-skeleton.d.ts.map +1 -1
- package/dist/composed/page-header.d.ts.map +1 -1
- package/dist/composed/page-skeletons.d.ts.map +1 -1
- package/dist/composed/priority-indicator.d.ts +1 -0
- package/dist/composed/priority-indicator.js +1 -0
- package/dist/tokens/typography.css +33 -4
- package/dist/ui/alert.d.ts +1 -0
- package/dist/ui/alert.d.ts.map +1 -1
- package/dist/ui/alert.js +42 -37
- package/dist/ui/badge.d.ts +6 -0
- package/dist/ui/badge.d.ts.map +1 -1
- package/dist/ui/card.d.ts +5 -1
- package/dist/ui/card.d.ts.map +1 -1
- package/dist/ui/card.js +111 -79
- package/dist/ui/code.d.ts.map +1 -1
- package/dist/ui/container.d.ts.map +1 -1
- package/dist/ui/lib/date-utils.d.ts.map +1 -1
- package/dist/ui/lib/motion.d.ts.map +1 -1
- package/dist/ui/lib/utils.d.ts.map +1 -1
- package/dist/ui/select.d.ts +3 -1
- package/dist/ui/select.d.ts.map +1 -1
- package/dist/ui/select.js +83 -71
- package/dist/ui/skeleton.d.ts.map +1 -1
- package/dist/ui/stack.d.ts.map +1 -1
- package/dist/ui/table.d.ts.map +1 -1
- package/dist/ui/tabs.d.ts +7 -0
- package/dist/ui/tabs.d.ts.map +1 -1
- package/dist/ui/tabs.js +103 -77
- package/dist/ui/text.d.ts.map +1 -1
- package/dist/ui/visually-hidden.d.ts.map +1 -1
- package/docs/components/ui/alert.md +3 -0
- package/docs/components/ui/badge.md +3 -0
- package/docs/components/ui/card.md +4 -0
- package/docs/components/ui/select.md +4 -0
- package/docs/components/ui/tabs.md +4 -0
- package/llms-full.txt +19 -1
- package/llms.txt +14 -1
- package/package.json +37 -2
package/README.md
CHANGED
|
@@ -1,239 +1,82 @@
|
|
|
1
|
-
# @devalok/shilp-sutra
|
|
2
|
-
|
|
3
|
-
Devalok Design System -- tokens, components, and patterns for React & Next.js.
|
|
4
|
-
|
|
5
|
-
[](https://www.npmjs.com/package/@devalok/shilp-sutra)
|
|
6
|
-
[](https://devalok-design.github.io/shilp-sutra/)
|
|
7
|
-
[](https://opensource.org/licenses/MIT)
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
##
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
import '
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
| Layer | Import | What it contains |
|
|
84
|
-
|-------|--------|------------------|
|
|
85
|
-
| **ui** | `@devalok/shilp-sutra/ui` | 60+ atomic primitives -- buttons, inputs, dialogs, cards, tables, badges, charts, navigation menus |
|
|
86
|
-
| **composed** | `@devalok/shilp-sutra/composed` | 14 multi-component patterns -- date picker, rich text editor, command palette, page header, skeletons |
|
|
87
|
-
| **shell** | `@devalok/shilp-sutra/shell` | 7 app-level layout components -- sidebar, top bar, bottom navbar, notification center, command palette |
|
|
88
|
-
|
|
89
|
-
Additional exports:
|
|
90
|
-
|
|
91
|
-
| Import | Contents |
|
|
92
|
-
|--------|----------|
|
|
93
|
-
| `@devalok/shilp-sutra/tokens` | CSS custom properties (primitives, semantic, typography) |
|
|
94
|
-
| `@devalok/shilp-sutra/tailwind` | Tailwind CSS preset with all design tokens |
|
|
95
|
-
| `@devalok/shilp-sutra/hooks` | `useToast`, `useColorMode`, `useIsMobile` |
|
|
96
|
-
| `@devalok/shilp-sutra/fonts/*` | Inter and Ranade variable fonts (WOFF2) |
|
|
97
|
-
|
|
98
|
-
---
|
|
99
|
-
|
|
100
|
-
## Peer Dependencies
|
|
101
|
-
|
|
102
|
-
### Required
|
|
103
|
-
|
|
104
|
-
| Package | Version |
|
|
105
|
-
|---------|---------|
|
|
106
|
-
| `react` | `^18 \|\| ^19` |
|
|
107
|
-
| `react-dom` | `^18 \|\| ^19` |
|
|
108
|
-
|
|
109
|
-
### Optional
|
|
110
|
-
|
|
111
|
-
Install only what you use:
|
|
112
|
-
|
|
113
|
-
| Feature | Packages |
|
|
114
|
-
|---------|----------|
|
|
115
|
-
| Charts (`./ui/charts`) | `d3-array`, `d3-axis`, `d3-format`, `d3-interpolate`, `d3-scale`, `d3-selection`, `d3-shape`, `d3-time-format`, `d3-transition` |
|
|
116
|
-
| Rich Text Editor (`./composed/rich-text-editor`) | `@tiptap/react`, `@tiptap/starter-kit`, `@tiptap/extension-placeholder` |
|
|
117
|
-
| DataTable (`./ui/data-table`) | `@tanstack/react-table`, `@tanstack/react-virtual` |
|
|
118
|
-
| Icons (various components) | `@tabler/icons-react` |
|
|
119
|
-
| Date components (`./composed/date-picker`) | `date-fns` |
|
|
120
|
-
| OTP Input (`./ui/input-otp`) | `input-otp` |
|
|
121
|
-
| Markdown rendering | `react-markdown` |
|
|
122
|
-
|
|
123
|
-
Example -- install only charts deps:
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
pnpm add d3-array d3-axis d3-format d3-interpolate d3-scale d3-selection d3-shape d3-time-format d3-transition
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
---
|
|
130
|
-
|
|
131
|
-
## Server-Safe Components
|
|
132
|
-
|
|
133
|
-
These components work in React Server Components when imported via their per-component path. They do **not** include `"use client"` directives:
|
|
134
|
-
|
|
135
|
-
### ui
|
|
136
|
-
|
|
137
|
-
| Component | Import |
|
|
138
|
-
|-----------|--------|
|
|
139
|
-
| Text | `@devalok/shilp-sutra/ui/text` |
|
|
140
|
-
| Skeleton | `@devalok/shilp-sutra/ui/skeleton` |
|
|
141
|
-
| Spinner | `@devalok/shilp-sutra/ui/spinner` |
|
|
142
|
-
| Stack | `@devalok/shilp-sutra/ui/stack` |
|
|
143
|
-
| Container | `@devalok/shilp-sutra/ui/container` |
|
|
144
|
-
| Table | `@devalok/shilp-sutra/ui/table` |
|
|
145
|
-
| Code | `@devalok/shilp-sutra/ui/code` |
|
|
146
|
-
| VisuallyHidden | `@devalok/shilp-sutra/ui/visually-hidden` |
|
|
147
|
-
|
|
148
|
-
### composed
|
|
149
|
-
|
|
150
|
-
| Component | Import |
|
|
151
|
-
|-----------|--------|
|
|
152
|
-
| ContentCard | `@devalok/shilp-sutra/composed/content-card` |
|
|
153
|
-
| EmptyState | `@devalok/shilp-sutra/composed/empty-state` |
|
|
154
|
-
| PageHeader | `@devalok/shilp-sutra/composed/page-header` |
|
|
155
|
-
| LoadingSkeleton | `@devalok/shilp-sutra/composed/loading-skeleton` |
|
|
156
|
-
| PageSkeletons | `@devalok/shilp-sutra/composed/page-skeletons` |
|
|
157
|
-
| PriorityIndicator | `@devalok/shilp-sutra/composed/priority-indicator` |
|
|
158
|
-
| StatusBadge | `@devalok/shilp-sutra/composed/status-badge` |
|
|
159
|
-
|
|
160
|
-
All other components require client-side React and include `"use client"`.
|
|
161
|
-
|
|
162
|
-
---
|
|
163
|
-
|
|
164
|
-
## Dark Mode
|
|
165
|
-
|
|
166
|
-
The design system uses CSS custom properties with a `.dark` class toggle. All semantic tokens have dark mode overrides built in.
|
|
167
|
-
|
|
168
|
-
### Setup
|
|
169
|
-
|
|
170
|
-
Add the `.dark` class to your `<html>` or a parent element:
|
|
171
|
-
|
|
172
|
-
```html
|
|
173
|
-
<html class="dark">
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Next.js with next-themes
|
|
177
|
-
|
|
178
|
-
```tsx
|
|
179
|
-
// app/layout.tsx
|
|
180
|
-
import { ThemeProvider } from 'next-themes'
|
|
181
|
-
|
|
182
|
-
export default function RootLayout({ children }) {
|
|
183
|
-
return (
|
|
184
|
-
<html suppressHydrationWarning>
|
|
185
|
-
<body>
|
|
186
|
-
<ThemeProvider attribute="class" defaultTheme="system">
|
|
187
|
-
{children}
|
|
188
|
-
</ThemeProvider>
|
|
189
|
-
</body>
|
|
190
|
-
</html>
|
|
191
|
-
)
|
|
192
|
-
}
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
### Programmatic toggle
|
|
196
|
-
|
|
197
|
-
```tsx
|
|
198
|
-
import { useColorMode } from '@devalok/shilp-sutra/hooks'
|
|
199
|
-
|
|
200
|
-
function ThemeToggle() {
|
|
201
|
-
const { mode, toggle } = useColorMode()
|
|
202
|
-
return <button onClick={toggle}>{mode === 'dark' ? 'Light' : 'Dark'}</button>
|
|
203
|
-
}
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## TypeScript
|
|
209
|
-
|
|
210
|
-
Full TypeScript support works out of the box. No special `tsconfig.json` settings required.
|
|
211
|
-
|
|
212
|
-
All component props are exported as named types:
|
|
213
|
-
|
|
214
|
-
```tsx
|
|
215
|
-
import { type ButtonProps } from '@devalok/shilp-sutra/ui/button'
|
|
216
|
-
import { type DatePickerProps } from '@devalok/shilp-sutra/composed/date-picker'
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
## Token Architecture
|
|
222
|
-
|
|
223
|
-
Three-tier CSS custom property system:
|
|
224
|
-
|
|
225
|
-
1. **Primitives** (`primitives.css`) -- Raw palette values (50-950 scales). Never used directly in components.
|
|
226
|
-
2. **Semantic** (`semantic.css`) -- Intent-based tokens (`--color-interactive`, `--color-text-primary`). Includes dark mode via `.dark` class.
|
|
227
|
-
3. **Typography** (`typography.css`) -- Font-face declarations, type scale (T1-T7, B1-B8, L1-L6, P1-P7).
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
## Links
|
|
232
|
-
|
|
233
|
-
- [Storybook](https://devalok-design.github.io/shilp-sutra/) -- interactive component docs
|
|
234
|
-
- [GitHub](https://github.com/devalok-design/shilp-sutra)
|
|
235
|
-
- [Changelog](https://github.com/devalok-design/shilp-sutra/blob/main/CHANGELOG.md)
|
|
236
|
-
|
|
237
|
-
## License
|
|
238
|
-
|
|
239
|
-
MIT -- Copyright 2026 Devalok Design & Strategy Studios
|
|
1
|
+
# @devalok/shilp-sutra
|
|
2
|
+
|
|
3
|
+
Devalok Design System -- tokens, components, and patterns for React & Next.js.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/@devalok/shilp-sutra)
|
|
6
|
+
[](https://devalok-design.github.io/shilp-sutra/)
|
|
7
|
+
[](https://opensource.org/licenses/MIT)
|
|
8
|
+
|
|
9
|
+
For full documentation, setup guides, and architecture details, see the [monorepo README](https://github.com/devalok-design/shilp-sutra#readme).
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
pnpm add @devalok/shilp-sutra
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Quick Start
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
// tailwind.config.ts
|
|
21
|
+
import shilpSutra from '@devalok/shilp-sutra/tailwind'
|
|
22
|
+
|
|
23
|
+
export default {
|
|
24
|
+
presets: [shilpSutra],
|
|
25
|
+
content: [
|
|
26
|
+
'./app/**/*.{ts,tsx}',
|
|
27
|
+
'./node_modules/@devalok/shilp-sutra/dist/**/*.js',
|
|
28
|
+
],
|
|
29
|
+
}
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
// app/layout.tsx
|
|
34
|
+
import '@devalok/shilp-sutra/tokens'
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```tsx
|
|
38
|
+
// Any component
|
|
39
|
+
import { Button } from '@devalok/shilp-sutra/ui/button'
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Peer Dependencies
|
|
43
|
+
|
|
44
|
+
### Required
|
|
45
|
+
|
|
46
|
+
| Package | Version |
|
|
47
|
+
|---------|---------|
|
|
48
|
+
| `react` | `^18 \|\| ^19` |
|
|
49
|
+
| `react-dom` | `^18 \|\| ^19` |
|
|
50
|
+
|
|
51
|
+
### Optional
|
|
52
|
+
|
|
53
|
+
Install only what you use:
|
|
54
|
+
|
|
55
|
+
| Feature | Packages |
|
|
56
|
+
|---------|----------|
|
|
57
|
+
| Charts (`./ui/charts`) | `d3-array`, `d3-axis`, `d3-format`, `d3-interpolate`, `d3-scale`, `d3-selection`, `d3-shape`, `d3-time-format`, `d3-transition` |
|
|
58
|
+
| Rich Text Editor (`./composed/rich-text-editor`) | `@tiptap/react`, `@tiptap/starter-kit`, `@tiptap/extension-placeholder` |
|
|
59
|
+
| DataTable (`./ui/data-table`) | `@tanstack/react-table`, `@tanstack/react-virtual` |
|
|
60
|
+
| Icons | `@tabler/icons-react` |
|
|
61
|
+
| Date components (`./composed/date-picker`) | `date-fns` |
|
|
62
|
+
| OTP Input (`./ui/input-otp`) | `input-otp` |
|
|
63
|
+
| Markdown rendering | `react-markdown` |
|
|
64
|
+
|
|
65
|
+
## Next.js
|
|
66
|
+
|
|
67
|
+
Add to `next.config.js`:
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
transpilePackages: ["@devalok/shilp-sutra", "@devalok/shilp-sutra-brand"]
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Links
|
|
74
|
+
|
|
75
|
+
- [Storybook](https://devalok-design.github.io/shilp-sutra/) -- interactive component docs
|
|
76
|
+
- [Monorepo README](https://github.com/devalok-design/shilp-sutra#readme) -- full docs, architecture, component list
|
|
77
|
+
- [Changelog](https://github.com/devalok-design/shilp-sutra/blob/main/CHANGELOG.md)
|
|
78
|
+
- [Migration Guide](https://github.com/devalok-design/shilp-sutra/blob/main/docs/MIGRATION.md)
|
|
79
|
+
|
|
80
|
+
## License
|
|
81
|
+
|
|
82
|
+
MIT -- Copyright 2026 Devalok Design & Strategy Studios
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import { jsxs as p, jsx as a } from "react/jsx-runtime";
|
|
3
3
|
import * as S from "react";
|
|
4
4
|
import { cn as b } from "../ui/lib/utils.js";
|
|
5
|
-
import { IconCheck as
|
|
6
|
-
import { a as
|
|
7
|
-
import { springs as
|
|
8
|
-
import { S as
|
|
5
|
+
import { IconCheck as E, IconX as I } from "@tabler/icons-react";
|
|
6
|
+
import { a as O } from "./vendor-utils.js";
|
|
7
|
+
import { springs as T } from "../ui/lib/motion.js";
|
|
8
|
+
import { S as q } from "./primitives.js";
|
|
9
9
|
import { Icon as C } from "../ui/icon.js";
|
|
10
|
-
import { BadgeIndicator as
|
|
11
|
-
import { A as
|
|
12
|
-
const
|
|
10
|
+
import { BadgeIndicator as M } from "../ui/badge-indicator.js";
|
|
11
|
+
import { A as X, m as w } from "./framer.js";
|
|
12
|
+
const _ = O(
|
|
13
13
|
"relative inline-flex items-center rounded-full font-sans font-medium overflow-hidden isolate transition-[color,background-color,border-color,padding] duration-fast-02 ease-productive-standard select-none [&>span:not([data-grain])]:relative [&>span:not([data-grain])]:z-[2]",
|
|
14
14
|
{
|
|
15
15
|
variants: {
|
|
@@ -116,12 +116,12 @@ const X = I(
|
|
|
116
116
|
sm: "[&>svg]:h-3 [&>svg]:w-3",
|
|
117
117
|
md: "[&>svg]:h-3 [&>svg]:w-3",
|
|
118
118
|
lg: "[&>svg]:h-3.5 [&>svg]:w-3.5"
|
|
119
|
-
},
|
|
119
|
+
}, $ = {
|
|
120
120
|
xs: "pl-1",
|
|
121
121
|
sm: "pl-1.5",
|
|
122
122
|
md: "pl-2",
|
|
123
123
|
lg: "pl-2.5"
|
|
124
|
-
},
|
|
124
|
+
}, F = {
|
|
125
125
|
xs: "pr-0.5",
|
|
126
126
|
sm: "pr-1",
|
|
127
127
|
md: "pr-1",
|
|
@@ -141,12 +141,13 @@ const X = I(
|
|
|
141
141
|
selected: l,
|
|
142
142
|
disabled: u,
|
|
143
143
|
maxWidth: N,
|
|
144
|
-
|
|
144
|
+
truncate: A,
|
|
145
|
+
circle: j,
|
|
145
146
|
children: i,
|
|
146
|
-
style:
|
|
147
|
+
style: G,
|
|
147
148
|
...h
|
|
148
|
-
},
|
|
149
|
-
const d = v ?? "subtle", k = f ?? "default", g = y ?? "md", m = x ?
|
|
149
|
+
}, K) => {
|
|
150
|
+
const d = v ?? "subtle", k = f ?? "default", g = y ?? "md", m = x ? q : r && e ? "div" : r ? "button" : "span", V = k === "custom" ? {
|
|
150
151
|
...d === "subtle" && {
|
|
151
152
|
backgroundColor: "color-mix(in oklch, var(--badge-color) 15%, transparent)",
|
|
152
153
|
color: "var(--badge-color)",
|
|
@@ -167,38 +168,38 @@ const X = I(
|
|
|
167
168
|
color: "var(--badge-color)",
|
|
168
169
|
borderColor: "transparent"
|
|
169
170
|
}
|
|
170
|
-
} : void 0,
|
|
171
|
+
} : void 0, L = r && e ? (s) => {
|
|
171
172
|
(s.key === "Enter" || s.key === " ") && (s.preventDefault(), u || r(s)), h.onKeyDown?.(s);
|
|
172
|
-
} : h.onKeyDown,
|
|
173
|
+
} : h.onKeyDown, P = !!(n || t || r && l && !t && !n), D = !!(e || o);
|
|
173
174
|
return /* @__PURE__ */ p(
|
|
174
175
|
m,
|
|
175
176
|
{
|
|
176
|
-
ref:
|
|
177
|
+
ref: K,
|
|
177
178
|
className: b(
|
|
178
|
-
|
|
179
|
-
L && _[g],
|
|
179
|
+
_({ variant: d, color: k, size: g }),
|
|
180
180
|
P && $[g],
|
|
181
|
+
D && F[g],
|
|
181
182
|
r && "cursor-pointer hover:brightness-[0.97] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-1 transition-[color,background-color,border-color,transform,filter] duration-moderate-01 ease-productive-exit hover:duration-fast-02 hover:ease-productive-entrance active:scale-[0.95] active:brightness-[0.92] active:duration-[0ms]",
|
|
182
183
|
l && "ring-1 ring-current/20 transition-shadow duration-fast-02",
|
|
183
184
|
u && "opacity-action-disabled pointer-events-none saturate-[0.3]",
|
|
184
|
-
|
|
185
|
+
j && "justify-center px-0 aspect-square",
|
|
185
186
|
c
|
|
186
187
|
),
|
|
187
|
-
style: { ...
|
|
188
|
+
style: { ...G, ...V, ...N ? { maxWidth: N } : void 0 },
|
|
188
189
|
onClick: u ? void 0 : r,
|
|
189
|
-
onKeyDown:
|
|
190
|
+
onKeyDown: L,
|
|
190
191
|
...m === "button" && { type: "button" },
|
|
191
192
|
...m === "button" && u ? { disabled: !0 } : {},
|
|
192
193
|
...m === "div" && r ? { role: "button", tabIndex: 0 } : {},
|
|
193
194
|
...h,
|
|
194
195
|
children: [
|
|
195
|
-
/* @__PURE__ */ a(
|
|
196
|
+
/* @__PURE__ */ a(X, { children: n && /* @__PURE__ */ p(
|
|
196
197
|
w.span,
|
|
197
198
|
{
|
|
198
199
|
initial: { scale: 0 },
|
|
199
200
|
animate: { scale: 1 },
|
|
200
201
|
exit: { scale: 0 },
|
|
201
|
-
transition:
|
|
202
|
+
transition: T.snappy,
|
|
202
203
|
className: "relative inline-flex h-1.5 w-1.5 shrink-0",
|
|
203
204
|
"aria-hidden": "true",
|
|
204
205
|
children: [
|
|
@@ -223,11 +224,11 @@ const X = I(
|
|
|
223
224
|
transition: { type: "tween", duration: 0.15, ease: [0.2, 0, 0.38, 0.9] },
|
|
224
225
|
className: "inline-flex shrink-0 overflow-hidden",
|
|
225
226
|
"aria-hidden": !l,
|
|
226
|
-
children: /* @__PURE__ */ a(C, { icon:
|
|
227
|
+
children: /* @__PURE__ */ a(C, { icon: E, size: "xs" })
|
|
227
228
|
}
|
|
228
229
|
),
|
|
229
230
|
t && /* @__PURE__ */ a("span", { className: b("shrink-0", z[g]), children: t }),
|
|
230
|
-
N ? /* @__PURE__ */ a(
|
|
231
|
+
A || N ? /* @__PURE__ */ a(
|
|
231
232
|
"span",
|
|
232
233
|
{
|
|
233
234
|
className: "truncate",
|
|
@@ -248,7 +249,7 @@ const X = I(
|
|
|
248
249
|
g === "xs" ? "p-0 -mr-0.5 min-w-[16px] min-h-[16px]" : "p-px"
|
|
249
250
|
),
|
|
250
251
|
"aria-label": `Remove ${typeof i == "string" ? i : ""}`.trim() || "Remove",
|
|
251
|
-
children: /* @__PURE__ */ a(C, { icon:
|
|
252
|
+
children: /* @__PURE__ */ a(C, { icon: I, size: "xs" })
|
|
252
253
|
}
|
|
253
254
|
)
|
|
254
255
|
]
|
|
@@ -257,10 +258,10 @@ const X = I(
|
|
|
257
258
|
}
|
|
258
259
|
);
|
|
259
260
|
B.displayName = "Badge";
|
|
260
|
-
const
|
|
261
|
-
Indicator:
|
|
261
|
+
const H = Object.assign(B, {
|
|
262
|
+
Indicator: M,
|
|
262
263
|
Group: R
|
|
263
|
-
}),
|
|
264
|
+
}), J = {
|
|
264
265
|
tight: "gap-1",
|
|
265
266
|
default: "gap-1.5",
|
|
266
267
|
loose: "gap-2"
|
|
@@ -274,10 +275,10 @@ function R({
|
|
|
274
275
|
children: t
|
|
275
276
|
}) {
|
|
276
277
|
const o = S.Children.toArray(t), n = o.length, e = c !== void 0 && n > c, r = e ? o.slice(0, c) : o, l = e ? n - c : 0;
|
|
277
|
-
return /* @__PURE__ */ p("div", { className: b("flex flex-wrap items-center",
|
|
278
|
+
return /* @__PURE__ */ p("div", { className: b("flex flex-wrap items-center", J[v], x), children: [
|
|
278
279
|
r,
|
|
279
280
|
e && /* @__PURE__ */ p(
|
|
280
|
-
|
|
281
|
+
H,
|
|
281
282
|
{
|
|
282
283
|
variant: "outline",
|
|
283
284
|
color: "neutral",
|
|
@@ -293,7 +294,7 @@ function R({
|
|
|
293
294
|
}
|
|
294
295
|
R.displayName = "BadgeGroup";
|
|
295
296
|
export {
|
|
296
|
-
|
|
297
|
+
H as B,
|
|
297
298
|
R as a,
|
|
298
|
-
|
|
299
|
+
_ as b
|
|
299
300
|
};
|
package/dist/ai/types.js
ADDED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-card.d.ts","sourceRoot":"","sources":["../../src/composed/content-card.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"content-card.d.ts","sourceRoot":"","sources":["../../src/composed/content-card.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGjE,QAAA,MAAM,mBAAmB;;;8EAwBxB,CAAA;AAkBD,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAC1C,YAAY,CAAC,OAAO,mBAAmB,CAAC;IAC1C,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB;AAED,QAAA,MAAM,WAAW,yFAqEhB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../../../src/composed/lib/string-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"string-utils.d.ts","sourceRoot":"","sources":["../../../src/composed/lib/string-utils.ts"],"names":[],"mappings":"AACA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading-skeleton.d.ts","sourceRoot":"","sources":["../../src/composed/loading-skeleton.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loading-skeleton.d.ts","sourceRoot":"","sources":["../../src/composed/loading-skeleton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAI9B,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,QAAA,MAAM,YAAY,0FA2BjB,CAAA;AAID,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,QAAA,MAAM,aAAa,2FAqDlB,CAAA;AAID,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,aAAa,2FAiDlB,CAAA;AAID,MAAM,WAAW,iBAAkB,SAAQ,iBAAiB;IAC1D,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,QAAA,MAAM,YAAY,0FA+BjB,CAAA;AAID,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../src/composed/page-header.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-header.d.ts","sourceRoot":"","sources":["../../src/composed/page-header.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,QAAA,MAAM,UAAU,wFAyFf,CAAA;AAGD,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-skeletons.d.ts","sourceRoot":"","sources":["../../src/composed/page-skeletons.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-skeletons.d.ts","sourceRoot":"","sources":["../../src/composed/page-skeletons.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,MAAM,WAAW,sBAAuB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;CAAG;AAExF,QAAA,MAAM,iBAAiB,+FAkDtB,CAAA;AAMD,MAAM,WAAW,wBAAyB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;CAAG;AAE1F,QAAA,MAAM,mBAAmB,iGA2DxB,CAAA;AAMD,MAAM,WAAW,uBAAwB,SAAQ,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC;CAAG;AAEzF,QAAA,MAAM,kBAAkB,gGA8CvB,CAAA;AAID,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,CAAA"}
|
|
@@ -39,7 +39,17 @@
|
|
|
39
39
|
font-display: swap;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
/* ── Title Scale (T1–T7)
|
|
42
|
+
/* ── DEPRECATED Title Scale (T1–T7) ────────────────────────────────
|
|
43
|
+
* @deprecated Use typography-semantic.css tokens instead:
|
|
44
|
+
* T1-Reg → --typo-heading-2xl (60px)
|
|
45
|
+
* T2-Reg → --typo-heading-xl (48px)
|
|
46
|
+
* T3-Reg → --typo-heading-lg (36px)
|
|
47
|
+
* T4-Reg → --typo-heading-md (32px)
|
|
48
|
+
* T5-Reg → --typo-heading-sm (24px)
|
|
49
|
+
* T6-Reg → --typo-heading-xs (20px)
|
|
50
|
+
* T7-Reg → --typo-heading-xs (20px, tighter)
|
|
51
|
+
* These classes will be removed in v1.0.
|
|
52
|
+
* ──────────────────────────────────────────────────────────────── */
|
|
43
53
|
|
|
44
54
|
.T1-Reg {
|
|
45
55
|
font-family: inherit;
|
|
@@ -103,7 +113,15 @@
|
|
|
103
113
|
letter-spacing: -0.48px;
|
|
104
114
|
}
|
|
105
115
|
|
|
106
|
-
/* ── Body Scale (B1–B8)
|
|
116
|
+
/* ── DEPRECATED Body Scale (B1–B8) ─────────────────────────────────
|
|
117
|
+
* @deprecated Use typography-semantic.css tokens instead:
|
|
118
|
+
* B1-Reg → --typo-body-lg (16px)
|
|
119
|
+
* B2-Reg → --typo-body-md (14px)
|
|
120
|
+
* B3-Reg → --typo-body-sm (12px)
|
|
121
|
+
* B4-Reg → --typo-body-xs (10px)
|
|
122
|
+
* B5-B8 → Use body-lg/md/sm/xs with weight overrides
|
|
123
|
+
* These classes will be removed in v1.0.
|
|
124
|
+
* ──────────────────────────────────────────────────────────────── */
|
|
107
125
|
|
|
108
126
|
.B1-Reg {
|
|
109
127
|
font-family: inherit;
|
|
@@ -184,7 +202,15 @@
|
|
|
184
202
|
letter-spacing: -0.32px;
|
|
185
203
|
}
|
|
186
204
|
|
|
187
|
-
/* ── Label Scale (L1–L6)
|
|
205
|
+
/* ── DEPRECATED Label Scale (L1–L6) ────────────────────────────────
|
|
206
|
+
* @deprecated Use typography-semantic.css tokens instead:
|
|
207
|
+
* L1 → --typo-label-lg (16px)
|
|
208
|
+
* L2 → --typo-label-md (14px)
|
|
209
|
+
* L3 → --typo-label-sm (12px)
|
|
210
|
+
* L4 → --typo-label-xs (10px)
|
|
211
|
+
* L5-L6 → Use label-sm/xs with weight overrides
|
|
212
|
+
* These classes will be removed in v1.0.
|
|
213
|
+
* ──────────────────────────────────────────────────────────────── */
|
|
188
214
|
|
|
189
215
|
.L1 {
|
|
190
216
|
font-family: inherit;
|
|
@@ -236,7 +262,10 @@
|
|
|
236
262
|
text-transform: uppercase;
|
|
237
263
|
}
|
|
238
264
|
|
|
239
|
-
/* ── Paragraph Scale (P1–P7)
|
|
265
|
+
/* ── DEPRECATED Paragraph Scale (P1–P7) ────────────────────────────
|
|
266
|
+
* @deprecated Use typography-semantic.css --typo-body-* tokens instead.
|
|
267
|
+
* These classes will be removed in v1.0.
|
|
268
|
+
* ──────────────────────────────────────────────────────────────── */
|
|
240
269
|
/* NOTE: P2 (0.36px tracking) and B5-Reg (0.32px tracking) are near-identical
|
|
241
270
|
at 16px/140%. P2 is for paragraph blocks, B5-Reg for inline body text. */
|
|
242
271
|
|
package/dist/ui/alert.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import * as React from 'react';
|
|
|
4
4
|
declare const alertVariants: (props?: ({
|
|
5
5
|
variant?: "outline" | "filled" | "subtle" | null | undefined;
|
|
6
6
|
color?: "success" | "error" | "info" | "warning" | "neutral" | null | undefined;
|
|
7
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
7
8
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
9
|
/**
|
|
9
10
|
* Props for Alert — an inline message block with a colored icon, optional title, optional body,
|
package/dist/ui/alert.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/ui/alert.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,aAAa
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/ui/alert.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,aAAa;;;;8EA4ClB,CAAA;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,QAAA,MAAM,KAAK,mFA+CV,CAAA;AAGD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA"}
|