@devalok/shilp-sutra 0.55.0 → 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/tokens/primitives.css +6 -1
- package/dist/tokens/semantic.css +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/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox.js +1 -0
- package/dist/ui/checkbox.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/ui/slider.js +18 -17
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/surface.js +9 -9
- package/dist/ui/switch.d.ts.map +1 -1
- package/dist/ui/switch.js +1 -0
- package/dist/ui/switch.js.map +1 -1
- 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 +39 -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/tabs.js
CHANGED
|
@@ -1,43 +1,43 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { springs as e, tweens 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 { Content as r, List as i, Root2 as a, Trigger as o } from "../_chunks/primitives/react-tabs.js";
|
|
5
|
+
import * as s from "react";
|
|
6
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
7
|
+
import { LayoutGroup as u, motion as d } from "framer-motion";
|
|
8
|
+
import { cva as f } from "class-variance-authority";
|
|
9
9
|
//#region src/ui/tabs.tsx
|
|
10
|
-
var p =
|
|
11
|
-
let [u, d] =
|
|
12
|
-
|
|
10
|
+
var p = s.createContext(void 0), m = s.createContext("horizontal"), h = s.forwardRef(({ value: e, defaultValue: t, onValueChange: r, orientation: i, ...o }, l) => {
|
|
11
|
+
let [u, d] = s.useState(e ?? t ?? "");
|
|
12
|
+
s.useEffect(() => {
|
|
13
13
|
e !== void 0 && d(e);
|
|
14
14
|
}, [e]);
|
|
15
|
-
let f =
|
|
16
|
-
d(e),
|
|
17
|
-
}, [
|
|
18
|
-
return /* @__PURE__ */
|
|
15
|
+
let f = s.useCallback((e) => {
|
|
16
|
+
d(e), r?.(e);
|
|
17
|
+
}, [r]), h = i ?? "horizontal";
|
|
18
|
+
return /* @__PURE__ */ c(p.Provider, {
|
|
19
19
|
value: u,
|
|
20
|
-
children: /* @__PURE__ */
|
|
20
|
+
children: /* @__PURE__ */ c(m.Provider, {
|
|
21
21
|
value: h,
|
|
22
|
-
children: /* @__PURE__ */
|
|
23
|
-
ref:
|
|
22
|
+
children: /* @__PURE__ */ c(a, {
|
|
23
|
+
ref: l,
|
|
24
24
|
value: e,
|
|
25
25
|
defaultValue: e === void 0 ? t : void 0,
|
|
26
26
|
onValueChange: f,
|
|
27
27
|
orientation: i,
|
|
28
|
-
...
|
|
29
|
-
className:
|
|
28
|
+
...o,
|
|
29
|
+
className: n(h === "vertical" && "flex flex-row gap-ds-05", o.className)
|
|
30
30
|
})
|
|
31
31
|
})
|
|
32
32
|
});
|
|
33
33
|
});
|
|
34
34
|
h.displayName = "Tabs";
|
|
35
|
-
var g =
|
|
35
|
+
var g = s.createContext({
|
|
36
36
|
variant: "line",
|
|
37
37
|
size: "md",
|
|
38
38
|
color: "accent",
|
|
39
39
|
layoutId: "tab-indicator"
|
|
40
|
-
}), _ =
|
|
40
|
+
}), _ = f("inline-flex items-center", {
|
|
41
41
|
variants: {
|
|
42
42
|
variant: {
|
|
43
43
|
line: "border-b border-surface-border-strong w-full gap-0",
|
|
@@ -67,7 +67,7 @@ var g = c.createContext({
|
|
|
67
67
|
size: "md",
|
|
68
68
|
orientation: "horizontal"
|
|
69
69
|
}
|
|
70
|
-
}), v =
|
|
70
|
+
}), v = f("relative inline-flex items-center justify-center gap-ds-02 whitespace-nowrap font-sans font-medium transition-colors duration-100 focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-1 disabled:pointer-events-none disabled:opacity-action-disabled", {
|
|
71
71
|
variants: {
|
|
72
72
|
variant: {
|
|
73
73
|
line: ["-mb-px", "text-surface-fg-muted hover:text-surface-fg"],
|
|
@@ -87,8 +87,8 @@ var g = c.createContext({
|
|
|
87
87
|
variant: "line",
|
|
88
88
|
size: "md"
|
|
89
89
|
}
|
|
90
|
-
}), y =
|
|
91
|
-
let
|
|
90
|
+
}), y = s.forwardRef(({ className: e, variant: t, size: r, color: a, ...o }, l) => {
|
|
91
|
+
let d = s.useContext(m), f = t ?? "line", p = r ?? "md", h = a ?? "accent", v = s.useId(), y = s.useMemo(() => ({
|
|
92
92
|
variant: f,
|
|
93
93
|
size: p,
|
|
94
94
|
color: h,
|
|
@@ -99,68 +99,68 @@ var g = c.createContext({
|
|
|
99
99
|
h,
|
|
100
100
|
v
|
|
101
101
|
]);
|
|
102
|
-
return /* @__PURE__ */
|
|
102
|
+
return /* @__PURE__ */ c(g.Provider, {
|
|
103
103
|
value: y,
|
|
104
|
-
children: /* @__PURE__ */
|
|
105
|
-
ref:
|
|
106
|
-
className:
|
|
104
|
+
children: /* @__PURE__ */ c(u, { children: /* @__PURE__ */ c(i, {
|
|
105
|
+
ref: l,
|
|
106
|
+
className: n(_({
|
|
107
107
|
variant: f,
|
|
108
108
|
size: p,
|
|
109
|
-
orientation:
|
|
109
|
+
orientation: d
|
|
110
110
|
}), e),
|
|
111
111
|
...o
|
|
112
112
|
}) })
|
|
113
113
|
});
|
|
114
114
|
});
|
|
115
|
-
y.displayName =
|
|
115
|
+
y.displayName = i.displayName;
|
|
116
116
|
var b = {
|
|
117
117
|
accent: "data-[state=active]:text-accent-11",
|
|
118
118
|
neutral: "data-[state=active]:text-surface-fg"
|
|
119
119
|
}, x = {
|
|
120
120
|
accent: "bg-accent-9",
|
|
121
121
|
neutral: "bg-surface-fg"
|
|
122
|
-
}, S =
|
|
123
|
-
let
|
|
124
|
-
return /* @__PURE__ */
|
|
125
|
-
ref:
|
|
126
|
-
className:
|
|
122
|
+
}, S = s.forwardRef(({ className: t, variant: r, children: i, ...a }, u) => {
|
|
123
|
+
let f = s.useContext(g), h = s.useContext(p), _ = s.useContext(m), y = r ?? f.variant, S = f.size, C = f.color, w = a.value === h, T = _ === "vertical";
|
|
124
|
+
return /* @__PURE__ */ l(o, {
|
|
125
|
+
ref: u,
|
|
126
|
+
className: n(v({
|
|
127
127
|
variant: y,
|
|
128
128
|
size: S
|
|
129
129
|
}), y === "line" && b[C], T && "w-full justify-start", y === "line" && T && "-ml-px -mb-0", t),
|
|
130
130
|
...a,
|
|
131
131
|
children: [
|
|
132
|
-
y === "contained" && w && /* @__PURE__ */
|
|
133
|
-
layoutId: `${
|
|
132
|
+
y === "contained" && w && /* @__PURE__ */ c(d.span, {
|
|
133
|
+
layoutId: `${f.layoutId}-contained`,
|
|
134
134
|
className: "absolute inset-0 rounded-control bg-surface-overlay shadow-raised",
|
|
135
135
|
transition: e.smooth
|
|
136
136
|
}),
|
|
137
|
-
/* @__PURE__ */
|
|
137
|
+
/* @__PURE__ */ c("span", {
|
|
138
138
|
className: "relative z-[1] inline-flex min-w-0 items-center gap-ds-02",
|
|
139
|
-
children: /* @__PURE__ */
|
|
139
|
+
children: /* @__PURE__ */ c("span", {
|
|
140
140
|
className: "truncate",
|
|
141
141
|
children: i
|
|
142
142
|
})
|
|
143
143
|
}),
|
|
144
|
-
y === "line" && w && /* @__PURE__ */
|
|
145
|
-
layoutId: `${
|
|
146
|
-
className:
|
|
144
|
+
y === "line" && w && /* @__PURE__ */ c(d.span, {
|
|
145
|
+
layoutId: `${f.layoutId}-line`,
|
|
146
|
+
className: n("absolute", T ? "left-0 top-0 bottom-0 w-0.5" : "bottom-0 left-0 right-0 h-0.5", x[C]),
|
|
147
147
|
transition: e.smooth
|
|
148
148
|
})
|
|
149
149
|
]
|
|
150
150
|
});
|
|
151
151
|
});
|
|
152
|
-
S.displayName =
|
|
153
|
-
var C =
|
|
152
|
+
S.displayName = o.displayName;
|
|
153
|
+
var C = s.forwardRef(({ className: e, children: i, ...a }, o) => /* @__PURE__ */ c(r, {
|
|
154
154
|
ref: o,
|
|
155
|
-
className:
|
|
155
|
+
className: n("ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2", s.useContext(m) === "vertical" ? "mt-0 flex-1 min-w-0" : "mt-ds-05", e),
|
|
156
156
|
...a,
|
|
157
|
-
children: /* @__PURE__ */
|
|
157
|
+
children: /* @__PURE__ */ c(d.div, {
|
|
158
158
|
initial: { opacity: 0 },
|
|
159
159
|
animate: { opacity: 1 },
|
|
160
160
|
transition: t.fade,
|
|
161
|
-
children:
|
|
161
|
+
children: i
|
|
162
162
|
})
|
|
163
163
|
}));
|
|
164
|
-
C.displayName =
|
|
164
|
+
C.displayName = r.displayName;
|
|
165
165
|
//#endregion
|
|
166
166
|
export { h as Tabs, C as TabsContent, y as TabsList, S as TabsTrigger };
|
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
|
".": {
|
|
@@ -65,6 +65,7 @@
|
|
|
65
65
|
},
|
|
66
66
|
"./css": "./dist/tokens/shilp-sutra.css",
|
|
67
67
|
"./tokens": "./dist/tokens/index.css",
|
|
68
|
+
"./package.json": "./package.json",
|
|
68
69
|
"./BREAKING.json": "./BREAKING.json",
|
|
69
70
|
"./BREAKING.schema.json": "./BREAKING.schema.json",
|
|
70
71
|
"./ui": {
|
|
@@ -835,7 +836,6 @@
|
|
|
835
836
|
"fonts",
|
|
836
837
|
"make-kit",
|
|
837
838
|
"skill",
|
|
838
|
-
"scripts/welcome.mjs",
|
|
839
839
|
"AGENTS.md",
|
|
840
840
|
"BREAKING.json",
|
|
841
841
|
"BREAKING.schema.json",
|
|
@@ -858,8 +858,16 @@
|
|
|
858
858
|
"@tanstack/react-table": "^8.0.0",
|
|
859
859
|
"@tanstack/react-virtual": "^3.0.0",
|
|
860
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",
|
|
861
868
|
"@tiptap/pm": "^3.28.0",
|
|
862
869
|
"@tiptap/react": "^3.28.0",
|
|
870
|
+
"@tiptap/starter-kit": "^3.28.0",
|
|
863
871
|
"@tiptap/suggestion": "^3.28.0",
|
|
864
872
|
"d3-array": "^3.0.0",
|
|
865
873
|
"d3-axis": "^3.0.0",
|
|
@@ -893,12 +901,36 @@
|
|
|
893
901
|
"@tiptap/core": {
|
|
894
902
|
"optional": true
|
|
895
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
|
+
},
|
|
896
925
|
"@tiptap/pm": {
|
|
897
926
|
"optional": true
|
|
898
927
|
},
|
|
899
928
|
"@tiptap/react": {
|
|
900
929
|
"optional": true
|
|
901
930
|
},
|
|
931
|
+
"@tiptap/starter-kit": {
|
|
932
|
+
"optional": true
|
|
933
|
+
},
|
|
902
934
|
"@tiptap/suggestion": {
|
|
903
935
|
"optional": true
|
|
904
936
|
},
|
|
@@ -973,13 +1005,12 @@
|
|
|
973
1005
|
"@tiptap/extension-text-align": "^3.28.0",
|
|
974
1006
|
"@tiptap/extensions": "^3.28.0",
|
|
975
1007
|
"@tiptap/markdown": "^3.28.0",
|
|
1008
|
+
"@tiptap/pm": "^3.28.0",
|
|
976
1009
|
"@tiptap/react": "^3.28.0",
|
|
977
1010
|
"@tiptap/starter-kit": "^3.28.0",
|
|
978
1011
|
"@tiptap/suggestion": "^3.28.0",
|
|
979
1012
|
"@types/react-syntax-highlighter": "^15.5.13",
|
|
980
1013
|
"aria-hidden": "^1.2.6",
|
|
981
|
-
"class-variance-authority": "^0.7.1",
|
|
982
|
-
"clsx": "^2.1.1",
|
|
983
1014
|
"d3-array": "^3.2.4",
|
|
984
1015
|
"d3-axis": "^3.0.0",
|
|
985
1016
|
"d3-format": "^3.1.2",
|
|
@@ -995,7 +1026,6 @@
|
|
|
995
1026
|
"framer-motion": "^12.42.2",
|
|
996
1027
|
"frimousse": "^0.3.0",
|
|
997
1028
|
"input-otp": "^1.4.2",
|
|
998
|
-
"prosemirror-state": "^1.4.4",
|
|
999
1029
|
"react-colorful": "^5.8.0",
|
|
1000
1030
|
"react-markdown": "^10.1.0",
|
|
1001
1031
|
"react-pdf": "^10.4.1",
|
|
@@ -1003,8 +1033,7 @@
|
|
|
1003
1033
|
"react-syntax-highlighter": "^16.1.1",
|
|
1004
1034
|
"react-zoom-pan-pinch": "^4.0.3",
|
|
1005
1035
|
"remark-gfm": "^4.0.1",
|
|
1006
|
-
"sonner": "^2.0.7"
|
|
1007
|
-
"tailwind-merge": "^3.6.0"
|
|
1036
|
+
"sonner": "^2.0.7"
|
|
1008
1037
|
},
|
|
1009
1038
|
"scripts": {
|
|
1010
1039
|
"build": "vite build && node scripts/post-build.mjs",
|
|
@@ -1017,7 +1046,6 @@
|
|
|
1017
1046
|
"typecheck": "tsc --noEmit",
|
|
1018
1047
|
"lint": "eslint src/",
|
|
1019
1048
|
"test": "vitest run",
|
|
1020
|
-
"test:coverage": "vitest run --coverage"
|
|
1021
|
-
"postinstall": "node scripts/welcome.mjs || true"
|
|
1049
|
+
"test:coverage": "vitest run --coverage"
|
|
1022
1050
|
}
|
|
1023
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
|
|