@devalok/shilp-sutra 0.55.1 → 0.56.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/BREAKING.json +13 -0
- package/MIGRATION.md +56 -0
- package/README.md +16 -1
- package/dist/_chunks/badge-group.js +45 -45
- package/dist/_chunks/emoji-suggestion.js +32 -30
- package/dist/_chunks/emoji-suggestion.js.map +1 -1
- package/dist/_chunks/mention-suggestion.js +35 -34
- package/dist/_chunks/mention-suggestion.js.map +1 -1
- package/dist/_chunks/primitives-internal.js +437 -537
- package/dist/_chunks/primitives-internal.js.map +1 -1
- package/dist/composed/content-card.js +18 -18
- package/dist/composed/extensions/emoji-node.js +8 -7
- package/dist/composed/extensions/emoji-node.js.map +1 -1
- package/dist/composed/rich-chat-input.js +535 -526
- package/dist/composed/rich-chat-input.js.map +1 -1
- package/dist/composed/rich-text-editor.js +201 -193
- package/dist/composed/rich-text-editor.js.map +1 -1
- package/dist/ui/alert.js +29 -29
- package/dist/ui/avatar.js +42 -42
- package/dist/ui/banner.js +25 -25
- package/dist/ui/button.js +31 -31
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/card.js +39 -39
- package/dist/ui/combobox.js +135 -135
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/dot.js +13 -13
- package/dist/ui/input.js +25 -25
- package/dist/ui/lib/utils.js +2 -1
- package/dist/ui/lib/utils.js.map +1 -1
- package/dist/ui/number-input.js +36 -36
- package/dist/ui/progress.js +55 -55
- package/dist/ui/select.js +58 -58
- package/dist/ui/sheet.js +46 -46
- package/dist/ui/sidebar.js +128 -128
- package/dist/ui/sidebar.js.map +1 -1
- package/dist/ui/skeleton.js +39 -39
- package/dist/ui/slider.js +18 -18
- package/dist/ui/surface.js +9 -9
- package/dist/ui/tabs.js +47 -47
- package/dist/ui/text.js +8 -8
- package/dist/ui/textarea.js +12 -12
- package/dist/ui/toggle.js +12 -12
- package/docs/recipes/install-astro.md +2 -2
- package/docs/recipes/install-next-app-router.md +2 -2
- package/docs/recipes/install-remix.md +2 -2
- package/docs/recipes/install-tanstack-start.md +2 -2
- package/docs/recipes/install-vite.md +2 -2
- package/docs/recipes/troubleshoot.md +26 -5
- package/llms.txt +1 -1
- package/mcp-manifest.json +24 -3
- package/package.json +38 -11
- package/skill/SKILL.md +1 -1
- package/skill/references/components.md +1 -1
- package/skill/references/setup-astro.md +2 -2
- package/skill/references/setup-next-app-router.md +2 -2
- package/skill/references/setup-remix.md +2 -2
- package/skill/references/setup-tanstack-start.md +2 -2
- package/skill/references/setup-vite.md +2 -2
- package/skill/references/troubleshoot.md +26 -5
- package/dist/_chunks/tiptap.js +0 -18809
- package/dist/_chunks/tiptap.js.map +0 -1
- package/dist/_chunks/vendor-utils.js +0 -1766
- package/dist/_chunks/vendor-utils.js.map +0 -1
- package/scripts/welcome.mjs +0 -312
package/dist/ui/text.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
1
|
+
import { cn as e } from "./lib/utils.js";
|
|
2
|
+
import * as t from "react";
|
|
3
|
+
import { cva as n } from "class-variance-authority";
|
|
4
4
|
//#region src/ui/text.tsx
|
|
5
|
-
var r =
|
|
5
|
+
var r = n("font-sans", {
|
|
6
6
|
variants: { variant: {
|
|
7
7
|
"heading-2xl": "font-display text-[length:var(--typo-heading-2xl-size)] font-[number:var(--typo-heading-2xl-weight)] leading-[var(--typo-heading-2xl-leading)] tracking-[var(--typo-heading-2xl-tracking)]",
|
|
8
8
|
"heading-xl": "font-display text-[length:var(--typo-heading-xl-size)] font-[number:var(--typo-heading-xl-weight)] leading-[var(--typo-heading-xl-leading)] tracking-[var(--typo-heading-xl-tracking)]",
|
|
@@ -47,11 +47,11 @@ var r = e("font-sans", {
|
|
|
47
47
|
"label-plain-lg": "span",
|
|
48
48
|
"label-plain-md": "span",
|
|
49
49
|
"label-plain-sm": "span"
|
|
50
|
-
}, a =
|
|
51
|
-
let u = a || i[
|
|
52
|
-
return
|
|
50
|
+
}, a = t.forwardRef(({ variant: n = "body-md", as: a, className: o, children: s, ...c }, l) => {
|
|
51
|
+
let u = a || i[n] || "p";
|
|
52
|
+
return t.createElement(u, {
|
|
53
53
|
ref: l,
|
|
54
|
-
className:
|
|
54
|
+
className: e(r({ variant: n }), o),
|
|
55
55
|
...c
|
|
56
56
|
}, s);
|
|
57
57
|
});
|
package/dist/ui/textarea.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { motionProps as e } from "./lib/motion.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
3
|
+
import { cn as t } from "./lib/utils.js";
|
|
4
|
+
import { useFormField as n } from "./form.js";
|
|
5
|
+
import { resolveFieldState as r } from "../_chunks/field-state.js";
|
|
6
|
+
import * as i from "react";
|
|
7
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
8
|
+
import { motion as o } from "framer-motion";
|
|
9
|
+
import { cva as s } from "class-variance-authority";
|
|
10
10
|
//#region src/ui/textarea.tsx
|
|
11
|
-
var c =
|
|
11
|
+
var c = s([
|
|
12
12
|
"flex w-full font-sans resize-y",
|
|
13
13
|
"bg-surface-raised-hover text-surface-fg",
|
|
14
14
|
"border border-surface-border-strong rounded-control",
|
|
@@ -26,13 +26,13 @@ var c = t([
|
|
|
26
26
|
lg: "min-h-[120px] text-body-md px-ds-05 py-ds-04"
|
|
27
27
|
} },
|
|
28
28
|
defaultVariants: { size: "md" }
|
|
29
|
-
}), l =
|
|
30
|
-
let f =
|
|
31
|
-
return /* @__PURE__ */ o
|
|
29
|
+
}), l = i.forwardRef(({ className: i, state: s, size: l, ...u }, d) => {
|
|
30
|
+
let f = n(), p = r(s, f.state), m = u["aria-describedby"] ?? f.helperTextId, h = u["aria-required"] ?? f.required, g = u.id ?? f.inputId;
|
|
31
|
+
return /* @__PURE__ */ a(o.textarea, {
|
|
32
32
|
"aria-invalid": p === "error" || void 0,
|
|
33
33
|
"aria-describedby": m,
|
|
34
34
|
"aria-required": h || void 0,
|
|
35
|
-
className:
|
|
35
|
+
className: t(c({ size: l }), p === "error" && "border-error-7 focus-visible:ring-error-7", p === "warning" && "border-warning-7 focus-visible:ring-warning-7", p === "success" && "border-success-7 focus-visible:ring-success-7", i),
|
|
36
36
|
ref: d,
|
|
37
37
|
...e(u),
|
|
38
38
|
id: g
|
package/dist/ui/toggle.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { motionProps as e, springs as t } from "./lib/motion.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
3
|
+
import { cn as n } from "./lib/utils.js";
|
|
4
|
+
import { Root as r } from "../_chunks/primitives/react-toggle.js";
|
|
5
|
+
import * as i from "react";
|
|
6
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
7
|
+
import { motion as o } from "framer-motion";
|
|
8
|
+
import { cva as s } from "class-variance-authority";
|
|
9
9
|
//#region src/ui/toggle.tsx
|
|
10
|
-
var c =
|
|
10
|
+
var c = o.create(r), l = s("inline-flex items-center justify-center gap-ds-03 rounded-control font-medium transition-colors duration-fast-01 ease-productive-standard focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-action-disabled", {
|
|
11
11
|
variants: {
|
|
12
12
|
variant: {
|
|
13
13
|
default: "bg-transparent hover:bg-surface-raised-hover text-surface-fg-muted",
|
|
@@ -30,17 +30,17 @@ var c = s.create(i), l = n("inline-flex items-center justify-center gap-ds-03 ro
|
|
|
30
30
|
size: "md",
|
|
31
31
|
color: "accent"
|
|
32
32
|
}
|
|
33
|
-
}), u =
|
|
33
|
+
}), u = i.forwardRef(({ className: r, variant: i, size: o, color: s, ...u }, d) => /* @__PURE__ */ a(c, {
|
|
34
34
|
ref: d,
|
|
35
35
|
whileTap: { scale: .95 },
|
|
36
36
|
transition: t.snappy,
|
|
37
|
-
className:
|
|
37
|
+
className: n(l({
|
|
38
38
|
variant: i,
|
|
39
|
-
size:
|
|
39
|
+
size: o,
|
|
40
40
|
color: s
|
|
41
|
-
}),
|
|
41
|
+
}), r),
|
|
42
42
|
...e(u)
|
|
43
43
|
}));
|
|
44
|
-
u.displayName =
|
|
44
|
+
u.displayName = r.displayName;
|
|
45
45
|
//#endregion
|
|
46
46
|
export { u as Toggle, l as toggleVariants };
|
|
@@ -38,8 +38,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
|
|
|
38
38
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
39
39
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
40
40
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
41
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
42
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
41
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
42
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
43
43
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
44
44
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
45
45
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -51,8 +51,8 @@ Some components depend on third-party libraries that ship as optional peers. **I
|
|
|
51
51
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
52
52
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
53
53
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
54
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
55
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
54
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
55
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
56
56
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
57
57
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
58
58
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -34,8 +34,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
|
|
|
34
34
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
35
35
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
36
36
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
37
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
38
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
37
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
38
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
39
39
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
40
40
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
41
41
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -43,8 +43,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
|
|
|
43
43
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
44
44
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
45
45
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
46
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
47
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
46
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
47
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
48
48
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
49
49
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
50
50
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -49,8 +49,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
|
|
|
49
49
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
50
50
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
51
51
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
52
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
53
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
52
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
53
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
54
54
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
55
55
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
56
56
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -194,17 +194,38 @@ In dev mode, calling `toast()` without a mounted `<Toaster />` logs a one-time c
|
|
|
194
194
|
|
|
195
195
|
## Symptom: Build error mentioning `use-sync-external-store`
|
|
196
196
|
|
|
197
|
-
**Diagnosis:**
|
|
197
|
+
**Diagnosis:** we no longer depend on it at all, as of v0.56.0. Nothing in our `dist` imports it.
|
|
198
198
|
|
|
199
|
-
|
|
199
|
+
It was never ours: React 18+ has `useSyncExternalStore` built in and our own code calls it directly. The dependency existed purely because we *bundled* TipTap, and that bundled chunk imported the shim. TipTap is now externalized, so the shim went with it.
|
|
200
200
|
|
|
201
|
-
If
|
|
201
|
+
If you still see the error, something else in your tree wants it — find out what and install it there:
|
|
202
202
|
|
|
203
203
|
```bash
|
|
204
|
-
pnpm
|
|
204
|
+
pnpm why use-sync-external-store
|
|
205
205
|
```
|
|
206
206
|
|
|
207
|
-
|
|
207
|
+
If the trail leads back to `@devalok/shilp-sutra`, that's a bug: open an issue at <https://github.com/devalok-design/shilp-sutra/issues> with that output.
|
|
208
|
+
|
|
209
|
+
## Symptom: `Cannot find module '@tiptap/core'` (or another `@tiptap/*`) after upgrading to 0.56.0
|
|
210
|
+
|
|
211
|
+
**Diagnosis:** expected, and it is the one breaking change in 0.56.0. We used to bundle TipTap *and* list it as an optional peer — so `RichTextEditor` / `RichChatInput` worked whether or not you installed the peers. It is now externalized, so you must install them.
|
|
212
|
+
|
|
213
|
+
**Why we changed it:** a consumer who *did* follow the peer instructions ended up running two ProseMirror copies. Plugin keys are module-scoped, so the two copies could not see each other's plugins and the editor misbehaved in ways that were near-impossible to debug. It also cut 641 KB from the package for everyone who never touches rich text.
|
|
214
|
+
|
|
215
|
+
**Fix** — install the peers for the component you import (§2a of your framework's install recipe has the exact line):
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# RichTextEditor
|
|
219
|
+
pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image \
|
|
220
|
+
@tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align \
|
|
221
|
+
@tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react \
|
|
222
|
+
@tiptap/starter-kit @tiptap/suggestion
|
|
223
|
+
|
|
224
|
+
# RichChatInput — the same list plus date-fns
|
|
225
|
+
pnpm add date-fns
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Or ask the docs MCP: `preflight` reports exactly which peers your imports need.
|
|
208
229
|
|
|
209
230
|
## Symptom: `Cannot find package 'sonner'` when you only imported a hook (or `'react-markdown'` from the AI barrel)
|
|
210
231
|
|
package/llms.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @devalok/shilp-sutra
|
|
2
2
|
|
|
3
|
-
> Radix UI + Tailwind 4 (CSS-first) + CVA design system for Devalok apps, v0.
|
|
3
|
+
> Radix UI + Tailwind 4 (CSS-first) + CVA design system for Devalok apps, v0.56.0.
|
|
4
4
|
> Built on the same primitives as shadcn/ui but with DIFFERENT prop APIs — never guess from shadcn knowledge; verify every prop.
|
|
5
5
|
> This file is a ROUTER: it tells you what exists and where to get details. Do not look for prop tables here — fetch them per component (MCP tool or per-component doc file below).
|
|
6
6
|
|
package/mcp-manifest.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "./mcp-manifest.schema.json",
|
|
3
3
|
"manifestVersion": "1.2.0",
|
|
4
4
|
"package": "@devalok/shilp-sutra",
|
|
5
|
-
"packageVersion": "0.
|
|
5
|
+
"packageVersion": "0.56.0",
|
|
6
6
|
"components": {
|
|
7
7
|
"accordion": {
|
|
8
8
|
"displayName": "Accordion",
|
|
@@ -11699,8 +11699,19 @@
|
|
|
11699
11699
|
}
|
|
11700
11700
|
],
|
|
11701
11701
|
"peers": [
|
|
11702
|
+
"@tiptap/core",
|
|
11703
|
+
"@tiptap/extension-highlight",
|
|
11704
|
+
"@tiptap/extension-image",
|
|
11705
|
+
"@tiptap/extension-list",
|
|
11706
|
+
"@tiptap/extension-mention",
|
|
11707
|
+
"@tiptap/extension-text-align",
|
|
11708
|
+
"@tiptap/extensions",
|
|
11709
|
+
"@tiptap/markdown",
|
|
11702
11710
|
"@tiptap/pm",
|
|
11703
|
-
"@tiptap/react"
|
|
11711
|
+
"@tiptap/react",
|
|
11712
|
+
"@tiptap/starter-kit",
|
|
11713
|
+
"@tiptap/suggestion",
|
|
11714
|
+
"date-fns"
|
|
11704
11715
|
]
|
|
11705
11716
|
},
|
|
11706
11717
|
"rich-text-editor": {
|
|
@@ -11863,8 +11874,18 @@
|
|
|
11863
11874
|
}
|
|
11864
11875
|
],
|
|
11865
11876
|
"peers": [
|
|
11877
|
+
"@tiptap/core",
|
|
11878
|
+
"@tiptap/extension-highlight",
|
|
11879
|
+
"@tiptap/extension-image",
|
|
11880
|
+
"@tiptap/extension-list",
|
|
11881
|
+
"@tiptap/extension-mention",
|
|
11882
|
+
"@tiptap/extension-text-align",
|
|
11883
|
+
"@tiptap/extensions",
|
|
11884
|
+
"@tiptap/markdown",
|
|
11866
11885
|
"@tiptap/pm",
|
|
11867
|
-
"@tiptap/react"
|
|
11886
|
+
"@tiptap/react",
|
|
11887
|
+
"@tiptap/starter-kit",
|
|
11888
|
+
"@tiptap/suggestion"
|
|
11868
11889
|
]
|
|
11869
11890
|
},
|
|
11870
11891
|
"schedule-view": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devalok/shilp-sutra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.56.0",
|
|
4
4
|
"description": "Devalok Design System — accessible React components, OKLCH design tokens, and Tailwind 4 CSS-first setup. Ships with AI-agent setup recipes.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Devalok Design & Strategy Studios <shilp-sutra@devalok.in>",
|
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"class-variance-authority": "^0.7.1",
|
|
56
56
|
"clsx": "^2.1.1",
|
|
57
|
-
"
|
|
58
|
-
"
|
|
57
|
+
"tailwind-merge": "^3.6.0",
|
|
58
|
+
"tw-animate-css": "^1.4.0"
|
|
59
59
|
},
|
|
60
60
|
"exports": {
|
|
61
61
|
".": {
|
|
@@ -836,7 +836,6 @@
|
|
|
836
836
|
"fonts",
|
|
837
837
|
"make-kit",
|
|
838
838
|
"skill",
|
|
839
|
-
"scripts/welcome.mjs",
|
|
840
839
|
"AGENTS.md",
|
|
841
840
|
"BREAKING.json",
|
|
842
841
|
"BREAKING.schema.json",
|
|
@@ -859,8 +858,16 @@
|
|
|
859
858
|
"@tanstack/react-table": "^8.0.0",
|
|
860
859
|
"@tanstack/react-virtual": "^3.0.0",
|
|
861
860
|
"@tiptap/core": "^3.28.0",
|
|
861
|
+
"@tiptap/extension-highlight": "^3.28.0",
|
|
862
|
+
"@tiptap/extension-image": "^3.28.0",
|
|
863
|
+
"@tiptap/extension-list": "^3.28.0",
|
|
864
|
+
"@tiptap/extension-mention": "^3.28.0",
|
|
865
|
+
"@tiptap/extension-text-align": "^3.28.0",
|
|
866
|
+
"@tiptap/extensions": "^3.28.0",
|
|
867
|
+
"@tiptap/markdown": "^3.28.0",
|
|
862
868
|
"@tiptap/pm": "^3.28.0",
|
|
863
869
|
"@tiptap/react": "^3.28.0",
|
|
870
|
+
"@tiptap/starter-kit": "^3.28.0",
|
|
864
871
|
"@tiptap/suggestion": "^3.28.0",
|
|
865
872
|
"d3-array": "^3.0.0",
|
|
866
873
|
"d3-axis": "^3.0.0",
|
|
@@ -894,12 +901,36 @@
|
|
|
894
901
|
"@tiptap/core": {
|
|
895
902
|
"optional": true
|
|
896
903
|
},
|
|
904
|
+
"@tiptap/extension-highlight": {
|
|
905
|
+
"optional": true
|
|
906
|
+
},
|
|
907
|
+
"@tiptap/extension-image": {
|
|
908
|
+
"optional": true
|
|
909
|
+
},
|
|
910
|
+
"@tiptap/extension-list": {
|
|
911
|
+
"optional": true
|
|
912
|
+
},
|
|
913
|
+
"@tiptap/extension-mention": {
|
|
914
|
+
"optional": true
|
|
915
|
+
},
|
|
916
|
+
"@tiptap/extension-text-align": {
|
|
917
|
+
"optional": true
|
|
918
|
+
},
|
|
919
|
+
"@tiptap/extensions": {
|
|
920
|
+
"optional": true
|
|
921
|
+
},
|
|
922
|
+
"@tiptap/markdown": {
|
|
923
|
+
"optional": true
|
|
924
|
+
},
|
|
897
925
|
"@tiptap/pm": {
|
|
898
926
|
"optional": true
|
|
899
927
|
},
|
|
900
928
|
"@tiptap/react": {
|
|
901
929
|
"optional": true
|
|
902
930
|
},
|
|
931
|
+
"@tiptap/starter-kit": {
|
|
932
|
+
"optional": true
|
|
933
|
+
},
|
|
903
934
|
"@tiptap/suggestion": {
|
|
904
935
|
"optional": true
|
|
905
936
|
},
|
|
@@ -974,13 +1005,12 @@
|
|
|
974
1005
|
"@tiptap/extension-text-align": "^3.28.0",
|
|
975
1006
|
"@tiptap/extensions": "^3.28.0",
|
|
976
1007
|
"@tiptap/markdown": "^3.28.0",
|
|
1008
|
+
"@tiptap/pm": "^3.28.0",
|
|
977
1009
|
"@tiptap/react": "^3.28.0",
|
|
978
1010
|
"@tiptap/starter-kit": "^3.28.0",
|
|
979
1011
|
"@tiptap/suggestion": "^3.28.0",
|
|
980
1012
|
"@types/react-syntax-highlighter": "^15.5.13",
|
|
981
1013
|
"aria-hidden": "^1.2.6",
|
|
982
|
-
"class-variance-authority": "^0.7.1",
|
|
983
|
-
"clsx": "^2.1.1",
|
|
984
1014
|
"d3-array": "^3.2.4",
|
|
985
1015
|
"d3-axis": "^3.0.0",
|
|
986
1016
|
"d3-format": "^3.1.2",
|
|
@@ -996,7 +1026,6 @@
|
|
|
996
1026
|
"framer-motion": "^12.42.2",
|
|
997
1027
|
"frimousse": "^0.3.0",
|
|
998
1028
|
"input-otp": "^1.4.2",
|
|
999
|
-
"prosemirror-state": "^1.4.4",
|
|
1000
1029
|
"react-colorful": "^5.8.0",
|
|
1001
1030
|
"react-markdown": "^10.1.0",
|
|
1002
1031
|
"react-pdf": "^10.4.1",
|
|
@@ -1004,8 +1033,7 @@
|
|
|
1004
1033
|
"react-syntax-highlighter": "^16.1.1",
|
|
1005
1034
|
"react-zoom-pan-pinch": "^4.0.3",
|
|
1006
1035
|
"remark-gfm": "^4.0.1",
|
|
1007
|
-
"sonner": "^2.0.7"
|
|
1008
|
-
"tailwind-merge": "^3.6.0"
|
|
1036
|
+
"sonner": "^2.0.7"
|
|
1009
1037
|
},
|
|
1010
1038
|
"scripts": {
|
|
1011
1039
|
"build": "vite build && node scripts/post-build.mjs",
|
|
@@ -1018,7 +1046,6 @@
|
|
|
1018
1046
|
"typecheck": "tsc --noEmit",
|
|
1019
1047
|
"lint": "eslint src/",
|
|
1020
1048
|
"test": "vitest run",
|
|
1021
|
-
"test:coverage": "vitest run --coverage"
|
|
1022
|
-
"postinstall": "node scripts/welcome.mjs || true"
|
|
1049
|
+
"test:coverage": "vitest run --coverage"
|
|
1023
1050
|
}
|
|
1024
1051
|
}
|
package/skill/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: shilp-sutra
|
|
|
3
3
|
description: Add, configure, and use components from Devalok's shilp-sutra design system (@devalok/shilp-sutra) — a Tailwind 4 + React 19 + CVA library with 110+ accessible components, OKLCH design tokens, framer-motion animations, and per-component RSC-safe entry points. Use this skill whenever the user mentions shilp-sutra, Devalok, the @devalok npm scope, or asks to install/add/style/theme UI in any React project that already depends on the package — even if they don't name it explicitly. Use it instead of generic shadcn/ui, MUI, or Chakra knowledge when shilp-sutra is in the project. Covers Next.js (App + Pages), Vite, Astro, Remix, TanStack Start setup playbooks; component API and variant reference; brand token customization; Server Component import patterns; and a troubleshoot tree for the thirteen most common breakages.
|
|
4
4
|
license: MIT
|
|
5
5
|
metadata:
|
|
6
|
-
version: "0.
|
|
6
|
+
version: "0.56.0"
|
|
7
7
|
author: Devalok Design & Strategy Studios
|
|
8
8
|
homepage: https://github.com/devalok-design/shilp-sutra
|
|
9
9
|
npm: https://www.npmjs.com/package/@devalok/shilp-sutra
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# @devalok/shilp-sutra
|
|
4
4
|
|
|
5
|
-
> Radix UI + Tailwind 4 (CSS-first) + CVA design system for Devalok apps, v0.
|
|
5
|
+
> Radix UI + Tailwind 4 (CSS-first) + CVA design system for Devalok apps, v0.56.0.
|
|
6
6
|
> Built on the same primitives as shadcn/ui but with DIFFERENT prop APIs — never guess from shadcn knowledge; verify every prop.
|
|
7
7
|
> This file is a ROUTER: it tells you what exists and where to get details. Do not look for prop tables here — fetch them per component (MCP tool or per-component doc file below).
|
|
8
8
|
|
|
@@ -40,8 +40,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
|
|
|
40
40
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
41
41
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
42
42
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
43
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
44
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
43
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
44
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
45
45
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
46
46
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
47
47
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -53,8 +53,8 @@ Some components depend on third-party libraries that ship as optional peers. **I
|
|
|
53
53
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
54
54
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
55
55
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
56
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
57
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
56
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
57
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
58
58
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
59
59
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
60
60
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -36,8 +36,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
|
|
|
36
36
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
37
37
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
38
38
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
39
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
40
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
39
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
40
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
41
41
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
42
42
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
43
43
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -45,8 +45,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
|
|
|
45
45
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
46
46
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
47
47
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
48
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
49
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
48
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
49
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
50
50
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
51
51
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
52
52
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -51,8 +51,8 @@ Some components ship hard peers as optional. **Install BEFORE first import.**
|
|
|
51
51
|
| `@devalok/shilp-sutra/composed/date-picker` | `pnpm add date-fns` |
|
|
52
52
|
| `@devalok/shilp-sutra/composed/file-preview` | `pnpm add react-pdf react-zoom-pan-pinch` |
|
|
53
53
|
| `@devalok/shilp-sutra/composed/markdown-viewer` | `pnpm add react-markdown react-syntax-highlighter remark-gfm` |
|
|
54
|
-
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add -
|
|
55
|
-
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -
|
|
54
|
+
| `@devalok/shilp-sutra/composed/rich-chat-input` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion date-fns` |
|
|
55
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image @tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align @tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react @tiptap/starter-kit @tiptap/suggestion` |
|
|
56
56
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
57
57
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
58
58
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -196,17 +196,38 @@ In dev mode, calling `toast()` without a mounted `<Toaster />` logs a one-time c
|
|
|
196
196
|
|
|
197
197
|
## Symptom: Build error mentioning `use-sync-external-store`
|
|
198
198
|
|
|
199
|
-
**Diagnosis:**
|
|
199
|
+
**Diagnosis:** we no longer depend on it at all, as of v0.56.0. Nothing in our `dist` imports it.
|
|
200
200
|
|
|
201
|
-
|
|
201
|
+
It was never ours: React 18+ has `useSyncExternalStore` built in and our own code calls it directly. The dependency existed purely because we *bundled* TipTap, and that bundled chunk imported the shim. TipTap is now externalized, so the shim went with it.
|
|
202
202
|
|
|
203
|
-
If
|
|
203
|
+
If you still see the error, something else in your tree wants it — find out what and install it there:
|
|
204
204
|
|
|
205
205
|
```bash
|
|
206
|
-
pnpm
|
|
206
|
+
pnpm why use-sync-external-store
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
|
|
209
|
+
If the trail leads back to `@devalok/shilp-sutra`, that's a bug: open an issue at <https://github.com/devalok-design/shilp-sutra/issues> with that output.
|
|
210
|
+
|
|
211
|
+
## Symptom: `Cannot find module '@tiptap/core'` (or another `@tiptap/*`) after upgrading to 0.56.0
|
|
212
|
+
|
|
213
|
+
**Diagnosis:** expected, and it is the one breaking change in 0.56.0. We used to bundle TipTap *and* list it as an optional peer — so `RichTextEditor` / `RichChatInput` worked whether or not you installed the peers. It is now externalized, so you must install them.
|
|
214
|
+
|
|
215
|
+
**Why we changed it:** a consumer who *did* follow the peer instructions ended up running two ProseMirror copies. Plugin keys are module-scoped, so the two copies could not see each other's plugins and the editor misbehaved in ways that were near-impossible to debug. It also cut 641 KB from the package for everyone who never touches rich text.
|
|
216
|
+
|
|
217
|
+
**Fix** — install the peers for the component you import (§2a of your framework's install recipe has the exact line):
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
# RichTextEditor
|
|
221
|
+
pnpm add @tiptap/core @tiptap/extension-highlight @tiptap/extension-image \
|
|
222
|
+
@tiptap/extension-list @tiptap/extension-mention @tiptap/extension-text-align \
|
|
223
|
+
@tiptap/extensions @tiptap/markdown @tiptap/pm @tiptap/react \
|
|
224
|
+
@tiptap/starter-kit @tiptap/suggestion
|
|
225
|
+
|
|
226
|
+
# RichChatInput — the same list plus date-fns
|
|
227
|
+
pnpm add date-fns
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Or ask the docs MCP: `preflight` reports exactly which peers your imports need.
|
|
210
231
|
|
|
211
232
|
## Symptom: `Cannot find package 'sonner'` when you only imported a hook (or `'react-markdown'` from the AI barrel)
|
|
212
233
|
|