@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.
Files changed (43) hide show
  1. package/README.md +82 -239
  2. package/dist/_chunks/badge-group.js +34 -33
  3. package/dist/ai/types.js +2 -0
  4. package/dist/composed/content-card.d.ts.map +1 -1
  5. package/dist/composed/lib/string-utils.d.ts.map +1 -1
  6. package/dist/composed/loading-skeleton.d.ts.map +1 -1
  7. package/dist/composed/page-header.d.ts.map +1 -1
  8. package/dist/composed/page-skeletons.d.ts.map +1 -1
  9. package/dist/composed/priority-indicator.d.ts +1 -0
  10. package/dist/composed/priority-indicator.js +1 -0
  11. package/dist/tokens/typography.css +33 -4
  12. package/dist/ui/alert.d.ts +1 -0
  13. package/dist/ui/alert.d.ts.map +1 -1
  14. package/dist/ui/alert.js +42 -37
  15. package/dist/ui/badge.d.ts +6 -0
  16. package/dist/ui/badge.d.ts.map +1 -1
  17. package/dist/ui/card.d.ts +5 -1
  18. package/dist/ui/card.d.ts.map +1 -1
  19. package/dist/ui/card.js +111 -79
  20. package/dist/ui/code.d.ts.map +1 -1
  21. package/dist/ui/container.d.ts.map +1 -1
  22. package/dist/ui/lib/date-utils.d.ts.map +1 -1
  23. package/dist/ui/lib/motion.d.ts.map +1 -1
  24. package/dist/ui/lib/utils.d.ts.map +1 -1
  25. package/dist/ui/select.d.ts +3 -1
  26. package/dist/ui/select.d.ts.map +1 -1
  27. package/dist/ui/select.js +83 -71
  28. package/dist/ui/skeleton.d.ts.map +1 -1
  29. package/dist/ui/stack.d.ts.map +1 -1
  30. package/dist/ui/table.d.ts.map +1 -1
  31. package/dist/ui/tabs.d.ts +7 -0
  32. package/dist/ui/tabs.d.ts.map +1 -1
  33. package/dist/ui/tabs.js +103 -77
  34. package/dist/ui/text.d.ts.map +1 -1
  35. package/dist/ui/visually-hidden.d.ts.map +1 -1
  36. package/docs/components/ui/alert.md +3 -0
  37. package/docs/components/ui/badge.md +3 -0
  38. package/docs/components/ui/card.md +4 -0
  39. package/docs/components/ui/select.md +4 -0
  40. package/docs/components/ui/tabs.md +4 -0
  41. package/llms-full.txt +19 -1
  42. package/llms.txt +14 -1
  43. package/package.json +37 -2
package/llms-full.txt CHANGED
@@ -5,7 +5,7 @@
5
5
  > All variant values and props verified from source CVA definitions.
6
6
  >
7
7
  > Package: @devalok/shilp-sutra
8
- > Version: 0.30.0
8
+ > Version: 0.31.0
9
9
 
10
10
  ---
11
11
 
@@ -173,6 +173,9 @@ Note: getFormFieldA11y() was removed in favor of useFormField() hook.
173
173
  - Icon is auto-selected by color (info=circle, success=check, warning=triangle, error=alert)
174
174
 
175
175
  ## Changes
176
+ ### v0.31.0
177
+ - **Added** `size` prop: `sm | md | lg`. Default `md` (non-breaking).
178
+
176
179
  ### v0.18.0
177
180
  - **Changed** Exit animation migrated to Framer Motion
178
181
  - **Fixed** `onDismiss` JSDoc documenting it fires after exit animation completes
@@ -421,6 +424,9 @@ Note: getFormFieldA11y() was removed in favor of useFormField() hook.
421
424
  - `color="custom"` requires `--badge-color` CSS variable (and optionally `--badge-fg-color` for solid variant)
422
425
 
423
426
  ## Changes
427
+ ### v0.31.0
428
+ - **Added** `truncate` prop — enables ellipsis truncation without requiring maxWidth
429
+
424
430
  ### v0.29.0
425
431
  - **Changed** (BREAKING) v2 rewrite — Badge is now a full interactive component
426
432
  - **Added** `soft` variant (tinted bg, no border — completes the 4-variant set: subtle/solid/outline/soft)
@@ -784,6 +790,10 @@ See `Button` docs for the public API.
784
790
  - Use `interactive` prop for clickable cards — adds hover lift and pointer cursor
785
791
 
786
792
  ## Changes
793
+ ### v0.31.0
794
+ - **Added** `color` prop: semantic border color (accent, error, success, warning, info, neutral)
795
+ - **Added** `size` prop: `sm | md | lg` — padding propagated to sub-components via React context
796
+
787
797
  ### v0.18.0
788
798
  - **Changed** Interactive card hover lift animation migrated to Framer Motion
789
799
 
@@ -2650,6 +2660,10 @@ const { size, stroke } = useIconContext()
2650
2660
  - `<Select size="lg">` is silently ignored (no TypeScript error)
2651
2661
 
2652
2662
  ## Changes
2663
+ ### v0.31.0
2664
+ - **Added** `variant` prop on SelectTrigger: `default | outline | ghost`
2665
+ - **Added** `color` prop on SelectTrigger: `default | error | success | warning`. Sets `aria-invalid` when error.
2666
+
2653
2667
  ### v0.15.0
2654
2668
  - **Changed** `lg` size font changed from `text-ds-lg` (18px) to `text-ds-md` (14px) — all input sizes now use 14px for consistency
2655
2669
 
@@ -3286,6 +3300,10 @@ const { size, stroke } = useIconContext()
3286
3300
  - Normally omit `variant` on TabsTrigger — it inherits from TabsList via context. You CAN set it per-trigger to override.
3287
3301
 
3288
3302
  ## Changes
3303
+ ### v0.31.0
3304
+ - **Added** `size` prop on TabsList: `sm | md | lg`. Scales height and trigger padding.
3305
+ - **Added** `color` prop on TabsList: `accent | neutral`. Affects line variant indicator.
3306
+
3289
3307
  ### v0.18.0
3290
3308
  - **Fixed** Wrapped TabsList context provider value in `useMemo` for performance
3291
3309
 
package/llms.txt CHANGED
@@ -4,6 +4,19 @@
4
4
  > Built on the same primitives as shadcn/ui but with key API differences.
5
5
  > Read this file BEFORE writing any UI code. Do NOT guess from shadcn/ui knowledge.
6
6
 
7
+ ## CHANGES (v0.31.0)
8
+ - **Alert `size` prop** — `sm | md (default) | lg`. Scales padding, gap, icon, text.
9
+ - **Card `color` prop** — `default | accent | error | success | warning | info | neutral`. Semantic border color.
10
+ - **Card `size` prop** — `sm | md (default) | lg`. Propagated to sub-components via context.
11
+ - **Select `variant` prop** — `default | outline | ghost` on SelectTrigger.
12
+ - **Select `color` prop** — `default | error | success | warning` on SelectTrigger. Sets `aria-invalid` when error.
13
+ - **Tabs `color` prop** — `accent (default) | neutral`. Affects line variant indicator.
14
+ - **Tabs `size` prop** — `sm | md (default) | lg`. Scales height and padding.
15
+ - **Badge `truncate` prop** — Enables ellipsis truncation. Combine with fixed width or `maxWidth`.
16
+ - **New subpath exports** — `./ui/icon`, `./ui/icon-context`, `./ui/icon-group`, `./ui/badge-group`, `./ui/badge-indicator`, `./ui/devalok-grain`, `./ai/types`.
17
+ - **Server-safe fix** — `empty-state`, `priority-indicator`, `status-badge` now correctly get `"use client"` (were incorrectly omitted).
18
+ - **Server-safe detection** — Hardcoded allowlist replaced with `// @server-safe` source annotations.
19
+
7
20
  ## CHANGES (v0.30.0)
8
21
  - **RichTextEditor `toolbar` prop** — `toolbar?: ToolbarItem[]` whitelist of toolbar items to display. Omit to show all (default). `ToolbarItem` type exported.
9
22
  - **`@devalok/shilp-sutra-karm` removed** — Domain components moved to Karm app repo. npm package deprecated.
@@ -106,7 +119,7 @@ Same pattern for `border-surface-*`, `text-surface-*`, `ring-surface-*`.
106
119
 
107
120
  **Button `onClickAsync`:** New prop `onClickAsync?: (e) => Promise<void>` — auto-manages loading → success/error → idle states. `asyncFeedbackDuration?: number` (default 1500ms).
108
121
 
109
- **Server safety changes:** EmptyState, StatusBadge, Spinner are NO LONGER server-safe (they now use Framer Motion). Remove from RSC imports.
122
+ **Server safety changes:** EmptyState, StatusBadge, PriorityIndicator, Spinner are NOT server-safe (they use Framer Motion). Do NOT import from RSC.
110
123
 
111
124
  **Build:** `framer-motion` and `sonner` moved from `dependencies` to `devDependencies` (bundled at build time — no consumer install needed for core).
112
125
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devalok/shilp-sutra",
3
- "version": "0.30.0",
3
+ "version": "0.31.0",
4
4
  "description": "Devalok Design System — tokens, components, and patterns for Next.js",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -58,6 +58,16 @@
58
58
  "default": "./dist/ui/badge.js",
59
59
  "types": "./dist/ui/badge.d.ts"
60
60
  },
61
+ "./ui/badge-group": {
62
+ "import": "./dist/ui/badge-group.js",
63
+ "default": "./dist/ui/badge-group.js",
64
+ "types": "./dist/ui/badge-group.d.ts"
65
+ },
66
+ "./ui/badge-indicator": {
67
+ "import": "./dist/ui/badge-indicator.js",
68
+ "default": "./dist/ui/badge-indicator.js",
69
+ "types": "./dist/ui/badge-indicator.d.ts"
70
+ },
61
71
  "./ui/banner": {
62
72
  "import": "./dist/ui/banner.js",
63
73
  "default": "./dist/ui/banner.js",
@@ -143,6 +153,11 @@
143
153
  "default": "./dist/ui/dialog.js",
144
154
  "types": "./dist/ui/dialog.d.ts"
145
155
  },
156
+ "./ui/devalok-grain": {
157
+ "import": "./dist/ui/devalok-grain.js",
158
+ "default": "./dist/ui/devalok-grain.js",
159
+ "types": "./dist/ui/devalok-grain.d.ts"
160
+ },
146
161
  "./ui/dropdown-menu": {
147
162
  "import": "./dist/ui/dropdown-menu.js",
148
163
  "default": "./dist/ui/dropdown-menu.js",
@@ -163,11 +178,26 @@
163
178
  "default": "./dist/ui/hover-card.js",
164
179
  "types": "./dist/ui/hover-card.d.ts"
165
180
  },
181
+ "./ui/icon": {
182
+ "import": "./dist/ui/icon.js",
183
+ "default": "./dist/ui/icon.js",
184
+ "types": "./dist/ui/icon.d.ts"
185
+ },
166
186
  "./ui/icon-button": {
167
187
  "import": "./dist/ui/icon-button.js",
168
188
  "default": "./dist/ui/icon-button.js",
169
189
  "types": "./dist/ui/icon-button.d.ts"
170
190
  },
191
+ "./ui/icon-context": {
192
+ "import": "./dist/ui/icon-context.js",
193
+ "default": "./dist/ui/icon-context.js",
194
+ "types": "./dist/ui/icon-context.d.ts"
195
+ },
196
+ "./ui/icon-group": {
197
+ "import": "./dist/ui/icon-group.js",
198
+ "default": "./dist/ui/icon-group.js",
199
+ "types": "./dist/ui/icon-group.d.ts"
200
+ },
171
201
  "./ui/input": {
172
202
  "import": "./dist/ui/input.js",
173
203
  "default": "./dist/ui/input.js",
@@ -661,6 +691,11 @@
661
691
  "default": "./dist/ai/blocks/index.js",
662
692
  "types": "./dist/ai/blocks/index.d.ts"
663
693
  },
694
+ "./ai/types": {
695
+ "import": "./dist/ai/types.js",
696
+ "default": "./dist/ai/types.js",
697
+ "types": "./dist/ai/types.d.ts"
698
+ },
664
699
  "./docs/*": "./docs/components/*"
665
700
  },
666
701
  "files": [
@@ -672,7 +707,7 @@
672
707
  "llms-full.txt"
673
708
  ],
674
709
  "scripts": {
675
- "build": "vite build && pnpm build:tokens && node scripts/fix-dts-primitives.mjs && node scripts/inject-use-client.mjs && node scripts/build-tailwind-cjs.mjs && pnpm build:docs",
710
+ "build": "vite build && node scripts/post-build.mjs",
676
711
  "build:tokens": "node scripts/copy-tokens.mjs",
677
712
  "build:docs": "node scripts/build-component-docs.mjs",
678
713
  "build:docs:check": "node scripts/build-component-docs.mjs --check",