@devalok/shilp-sutra 0.54.0 → 0.55.1
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/MIGRATION.md +28 -0
- package/dist/_chunks/badge-group.js +1 -1
- package/dist/_chunks/popover.js +38 -37
- package/dist/_chunks/popover.js.map +1 -1
- package/dist/_chunks/primitives/react-accordion.js +270 -0
- package/dist/_chunks/primitives/react-accordion.js.map +1 -0
- package/dist/_chunks/primitives/react-alert-dialog.js +857 -0
- package/dist/_chunks/primitives/react-alert-dialog.js.map +1 -0
- package/dist/_chunks/primitives/react-aspect-ratio.js +32 -0
- package/dist/_chunks/primitives/react-aspect-ratio.js.map +1 -0
- package/dist/_chunks/primitives/react-avatar.js +69 -0
- package/dist/_chunks/primitives/react-avatar.js.map +1 -0
- package/dist/_chunks/primitives/react-checkbox.js +151 -0
- package/dist/_chunks/primitives/react-checkbox.js.map +1 -0
- package/dist/_chunks/primitives/react-context-menu.js +905 -0
- package/dist/_chunks/primitives/react-context-menu.js.map +1 -0
- package/dist/_chunks/primitives/react-dropdown-menu.js +220 -0
- package/dist/_chunks/primitives/react-dropdown-menu.js.map +1 -0
- package/dist/_chunks/primitives/react-hover-card.js +153 -0
- package/dist/_chunks/primitives/react-hover-card.js.map +1 -0
- package/dist/_chunks/primitives/react-label.js +16 -0
- package/dist/_chunks/primitives/react-label.js.map +1 -0
- package/dist/_chunks/primitives/react-menubar.js +304 -0
- package/dist/_chunks/primitives/react-menubar.js.map +1 -0
- package/dist/_chunks/primitives/react-navigation-menu.js +560 -0
- package/dist/_chunks/primitives/react-navigation-menu.js.map +1 -0
- package/dist/_chunks/primitives/react-popover.js +186 -0
- package/dist/_chunks/primitives/react-popover.js.map +1 -0
- package/dist/_chunks/primitives/react-progress.js +70 -0
- package/dist/_chunks/primitives/react-progress.js.map +1 -0
- package/dist/_chunks/primitives/react-radio-group.js +170 -0
- package/dist/_chunks/primitives/react-radio-group.js.map +1 -0
- package/dist/_chunks/primitives/react-select.js +671 -0
- package/dist/_chunks/primitives/react-select.js.map +1 -0
- package/dist/_chunks/primitives/react-separator.js +24 -0
- package/dist/_chunks/primitives/react-separator.js.map +1 -0
- package/dist/_chunks/primitives/react-slider.js +349 -0
- package/dist/_chunks/primitives/react-slider.js.map +1 -0
- package/dist/_chunks/primitives/react-switch.js +92 -0
- package/dist/_chunks/primitives/react-switch.js.map +1 -0
- package/dist/_chunks/primitives/react-tabs.js +114 -0
- package/dist/_chunks/primitives/react-tabs.js.map +1 -0
- package/dist/_chunks/primitives/react-toggle-group.js +122 -0
- package/dist/_chunks/primitives/react-toggle-group.js.map +1 -0
- package/dist/_chunks/primitives/react-toggle.js +28 -0
- package/dist/_chunks/primitives/react-toggle.js.map +1 -0
- package/dist/_chunks/primitives/react-tooltip.js +341 -0
- package/dist/_chunks/primitives/react-tooltip.js.map +1 -0
- package/dist/_chunks/primitives-internal.js +2071 -0
- package/dist/_chunks/primitives-internal.js.map +1 -0
- package/dist/_chunks/shared.js +32 -32
- package/dist/_chunks/tiptap.js +1 -1
- package/dist/ai/ai-command-provider.d.ts +2 -3
- package/dist/ai/block-renderer.d.ts +1 -2
- package/dist/ai/blocks/block-shell.d.ts +0 -1
- package/dist/ai/blocks/block-table.d.ts +1 -2
- package/dist/ai/blocks/confirm.d.ts +1 -2
- package/dist/ai/blocks/divider.d.ts +1 -2
- package/dist/ai/blocks/error.d.ts +1 -2
- package/dist/ai/blocks/index.d.ts +7 -8
- package/dist/ai/blocks/info.d.ts +1 -2
- package/dist/ai/blocks/loading.d.ts +1 -2
- package/dist/ai/blocks/stat-row.d.ts +1 -2
- package/dist/ai/blocks/success.d.ts +1 -2
- package/dist/ai/blocks/text.d.ts +1 -2
- package/dist/ai/command-bar.d.ts +1 -2
- package/dist/ai/conversation.d.ts +2 -3
- package/dist/ai/devadoot-icon.d.ts +0 -1
- package/dist/ai/index.d.ts +16 -17
- package/dist/ai/types.js +1 -0
- package/dist/composed/activity-feed.d.ts +1 -2
- package/dist/composed/avatar-group.d.ts +1 -2
- package/dist/composed/bulk-action-bar.d.ts +2 -3
- package/dist/composed/command-palette.d.ts +1 -2
- package/dist/composed/confirm-dialog.d.ts +0 -1
- package/dist/composed/date-picker/calendar-grid.d.ts +0 -1
- package/dist/composed/date-picker/date-picker.d.ts +0 -1
- package/dist/composed/date-picker/date-range-picker.d.ts +1 -2
- package/dist/composed/date-picker/date-time-picker.d.ts +0 -1
- package/dist/composed/date-picker/index.d.ts +17 -18
- package/dist/composed/date-picker/month-picker.d.ts +0 -1
- package/dist/composed/date-picker/presets.d.ts +0 -1
- package/dist/composed/date-picker/time-picker.d.ts +0 -1
- package/dist/composed/date-picker/use-calendar.d.ts +0 -1
- package/dist/composed/date-picker/year-picker.d.ts +0 -1
- package/dist/composed/deadline-indicator.d.ts +0 -1
- package/dist/composed/diff.d.ts +0 -1
- package/dist/composed/emoji-picker.d.ts +0 -1
- package/dist/composed/empty-state.d.ts +1 -2
- package/dist/composed/error-boundary.d.ts +0 -1
- package/dist/composed/extensions/emoji-data.d.ts +0 -1
- package/dist/composed/extensions/emoji-node.d.ts +0 -1
- package/dist/composed/extensions/emoji-suggestion.d.ts +1 -2
- package/dist/composed/extensions/file-attachment.d.ts +0 -1
- package/dist/composed/extensions/mention-suggestion.d.ts +1 -2
- package/dist/composed/extensions/slash-command.d.ts +0 -1
- package/dist/composed/file-preview/audio-preview.d.ts +0 -1
- package/dist/composed/file-preview/document-preview.d.ts +0 -1
- package/dist/composed/file-preview/embed-preview.d.ts +0 -1
- package/dist/composed/file-preview/image-preview.d.ts +0 -1
- package/dist/composed/file-preview/shared.d.ts +0 -1
- package/dist/composed/file-preview/video-preview.d.ts +0 -1
- package/dist/composed/file-preview.d.ts +0 -1
- package/dist/composed/filter-bar.d.ts +0 -1
- package/dist/composed/form-section.d.ts +0 -1
- package/dist/composed/global-loading.d.ts +0 -1
- package/dist/composed/index.d.ts +49 -50
- package/dist/composed/inline-edit.d.ts +0 -1
- package/dist/composed/markdown-viewer.d.ts +0 -1
- package/dist/composed/master-detail.d.ts +0 -1
- package/dist/composed/member-picker.d.ts +0 -1
- package/dist/composed/multi-select-popover.d.ts +0 -1
- package/dist/composed/priority-indicator.d.ts +0 -1
- package/dist/composed/responsive-modal.d.ts +1 -2
- package/dist/composed/responsive-modal.js +47 -47
- package/dist/composed/rich-chat-input/attachment-strip.d.ts +0 -1
- package/dist/composed/rich-chat-input/audio-player.d.ts +0 -1
- package/dist/composed/rich-chat-input/audio-waveform.d.ts +0 -1
- package/dist/composed/rich-chat-input/chat-toolbar.d.ts +0 -1
- package/dist/composed/rich-chat-input/recording-overlay.d.ts +0 -1
- package/dist/composed/rich-chat-input/reply-banner.d.ts +0 -1
- package/dist/composed/rich-chat-input/schedule-send.d.ts +0 -1
- package/dist/composed/rich-chat-input/use-voice-recorder.d.ts +0 -1
- package/dist/composed/rich-chat-input.d.ts +9 -10
- package/dist/composed/rich-chat-input.js +1 -1
- package/dist/composed/rich-text-editor.d.ts +1 -2
- package/dist/composed/schedule-view.d.ts +0 -1
- package/dist/composed/simple-tooltip.d.ts +0 -1
- package/dist/composed/status-badge.d.ts +1 -2
- package/dist/hooks/index.d.ts +6 -7
- package/dist/hooks/use-color-mode.d.ts +0 -1
- package/dist/hooks/use-mobile.d.ts +0 -1
- package/dist/hooks/use-touch-device.d.ts +0 -1
- package/dist/hooks/use-viewport-height.d.ts +0 -1
- package/dist/motion/check-motion-provider.d.ts +0 -1
- package/dist/motion/index.d.ts +2 -3
- package/dist/motion/motion-provider.d.ts +1 -2
- package/dist/motion/primitives-index.d.ts +1 -2
- package/dist/motion/primitives.d.ts +1 -2
- package/dist/primitives/_internal/react-arrow.d.ts +1 -1
- package/dist/primitives/_internal/react-collection.d.ts +2 -2
- package/dist/primitives/_internal/react-dismissable-layer.d.ts +1 -1
- package/dist/primitives/_internal/react-focus-scope.d.ts +1 -1
- package/dist/primitives/_internal/react-popper.d.ts +4 -4
- package/dist/primitives/_internal/react-portal.d.ts +1 -1
- package/dist/primitives/_internal/react-use-rect.d.ts +1 -1
- package/dist/primitives/react-accordion.d.ts +3 -3
- package/dist/primitives/react-alert-dialog.d.ts +2 -2
- package/dist/primitives/react-aspect-ratio.d.ts +1 -1
- package/dist/primitives/react-avatar.d.ts +2 -2
- package/dist/primitives/react-checkbox.d.ts +3 -3
- package/dist/primitives/react-collapsible.d.ts +2 -2
- package/dist/primitives/react-context-menu.d.ts +3 -3
- package/dist/primitives/react-dialog.d.ts +5 -5
- package/dist/primitives/react-dropdown-menu.d.ts +3 -3
- package/dist/primitives/react-hover-card.d.ts +5 -5
- package/dist/primitives/react-label.d.ts +1 -1
- package/dist/primitives/react-menu.d.ts +7 -7
- package/dist/primitives/react-menubar.d.ts +5 -5
- package/dist/primitives/react-navigation-menu.d.ts +5 -5
- package/dist/primitives/react-popover.d.ts +6 -6
- package/dist/primitives/react-progress.d.ts +2 -2
- package/dist/primitives/react-radio-group.d.ts +3 -3
- package/dist/primitives/react-roving-focus.d.ts +2 -2
- package/dist/primitives/react-select.d.ts +6 -6
- package/dist/primitives/react-separator.d.ts +1 -1
- package/dist/primitives/react-slider.d.ts +2 -2
- package/dist/primitives/react-switch.d.ts +2 -2
- package/dist/primitives/react-tabs.d.ts +3 -3
- package/dist/primitives/react-toast.d.ts +3 -3
- package/dist/primitives/react-toggle-group.d.ts +4 -4
- package/dist/primitives/react-toggle.d.ts +1 -1
- package/dist/primitives/react-tooltip.d.ts +5 -5
- package/dist/primitives/react-visually-hidden.d.ts +1 -1
- package/dist/shell/app-command-palette.d.ts +2 -3
- package/dist/shell/bottom-navbar.d.ts +1 -2
- package/dist/shell/command-registry.d.ts +1 -2
- package/dist/shell/index.d.ts +7 -8
- package/dist/shell/link-context.d.ts +2 -3
- package/dist/shell/notification-center.d.ts +0 -1
- package/dist/shell/notification-preferences.d.ts +0 -1
- package/dist/shell/top-bar.d.ts +1 -2
- package/dist/test-utils/conformance.d.ts +0 -1
- package/dist/tokens/primitives.css +6 -1
- package/dist/tokens/semantic.css +1 -1
- package/dist/ui/accordion.d.ts +1 -2
- package/dist/ui/accordion.js +1 -1
- package/dist/ui/alert-dialog.d.ts +1 -2
- package/dist/ui/alert-dialog.js +52 -52
- package/dist/ui/alert.d.ts +0 -1
- package/dist/ui/aspect-ratio.d.ts +1 -2
- package/dist/ui/aspect-ratio.js +4 -4
- package/dist/ui/autocomplete.d.ts +1 -2
- package/dist/ui/autocomplete.js +1 -1
- package/dist/ui/avatar.d.ts +1 -2
- package/dist/ui/avatar.js +33 -33
- package/dist/ui/badge-group.d.ts +1 -2
- package/dist/ui/badge-indicator.d.ts +0 -1
- package/dist/ui/badge.d.ts +3 -4
- package/dist/ui/banner.d.ts +0 -1
- package/dist/ui/breadcrumb.js +1 -1
- package/dist/ui/button-group.d.ts +1 -2
- package/dist/ui/button-processing.d.ts +0 -1
- package/dist/ui/button.d.ts +1 -2
- package/dist/ui/button.js +1 -1
- package/dist/ui/card.d.ts +0 -1
- package/dist/ui/charts/_internal/animation.d.ts +0 -1
- package/dist/ui/charts/_internal/axes.d.ts +0 -1
- package/dist/ui/charts/_internal/colors.d.ts +1 -2
- package/dist/ui/charts/_internal/grid-lines.d.ts +0 -1
- package/dist/ui/charts/_internal/legend.d.ts +0 -1
- package/dist/ui/charts/_internal/scales.d.ts +0 -1
- package/dist/ui/charts/_internal/tooltip.d.ts +0 -1
- package/dist/ui/charts/_internal/types.d.ts +0 -1
- package/dist/ui/charts/area-chart.d.ts +1 -2
- package/dist/ui/charts/bar-chart.d.ts +1 -2
- package/dist/ui/charts/chart-container.d.ts +1 -2
- package/dist/ui/charts/gauge-chart.d.ts +0 -1
- package/dist/ui/charts/index.d.ts +9 -10
- package/dist/ui/charts/line-chart.d.ts +1 -2
- package/dist/ui/charts/pie-chart.d.ts +0 -1
- package/dist/ui/charts/radar-chart.d.ts +0 -1
- package/dist/ui/charts/sparkline.d.ts +0 -1
- package/dist/ui/chat/date-separator.d.ts +0 -1
- package/dist/ui/chat/index.d.ts +7 -8
- package/dist/ui/chat/message-input.d.ts +0 -1
- package/dist/ui/chat/message-list.d.ts +0 -1
- package/dist/ui/chat/message.d.ts +1 -2
- package/dist/ui/chat/system-message.d.ts +1 -2
- package/dist/ui/chat/typing-indicator.d.ts +0 -1
- package/dist/ui/chat/unread-separator.d.ts +0 -1
- package/dist/ui/checkbox.d.ts +2 -3
- package/dist/ui/checkbox.d.ts.map +1 -1
- package/dist/ui/checkbox.js +14 -13
- package/dist/ui/checkbox.js.map +1 -1
- package/dist/ui/collapsible.d.ts +1 -2
- package/dist/ui/collapsible.js +1 -1
- package/dist/ui/color-input.d.ts +0 -1
- package/dist/ui/color-swatch.d.ts +0 -1
- package/dist/ui/combobox.d.ts +2 -3
- package/dist/ui/combobox.js +125 -125
- package/dist/ui/combobox.js.map +1 -1
- package/dist/ui/context-menu.d.ts +1 -2
- package/dist/ui/context-menu.js +58 -58
- package/dist/ui/data-table-body.d.ts +0 -1
- package/dist/ui/data-table-bulk-actions.d.ts +0 -1
- package/dist/ui/data-table-card.d.ts +0 -1
- package/dist/ui/data-table-context.d.ts +0 -1
- package/dist/ui/data-table-header.d.ts +0 -1
- package/dist/ui/data-table-pagination.d.ts +0 -1
- package/dist/ui/data-table-toolbar.d.ts +0 -1
- package/dist/ui/data-table.d.ts +3 -4
- package/dist/ui/devalok-grain.d.ts +0 -1
- package/dist/ui/dialog.d.ts +1 -2
- package/dist/ui/dialog.js +43 -43
- package/dist/ui/dot.d.ts +0 -1
- package/dist/ui/dropdown-menu.d.ts +1 -2
- package/dist/ui/dropdown-menu.js +69 -69
- package/dist/ui/file-upload.d.ts +0 -1
- package/dist/ui/form.d.ts +0 -1
- package/dist/ui/hover-card.d.ts +1 -2
- package/dist/ui/hover-card.js +16 -16
- package/dist/ui/icon-button.d.ts +2 -3
- package/dist/ui/icon-context.d.ts +0 -1
- package/dist/ui/icon-group.d.ts +1 -2
- package/dist/ui/icon.d.ts +1 -2
- package/dist/ui/index.d.ts +78 -79
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/input-otp.d.ts +0 -1
- package/dist/ui/input.d.ts +1 -2
- package/dist/ui/label.d.ts +1 -2
- package/dist/ui/label.js +7 -7
- package/dist/ui/lib/bottom-sheet.d.ts +0 -1
- package/dist/ui/lib/check-tokens.d.ts +0 -1
- package/dist/ui/lib/field-state.d.ts +0 -1
- package/dist/ui/lib/icon-input.d.ts +0 -1
- package/dist/ui/lib/index.d.ts +6 -7
- package/dist/ui/lib/keybinding.d.ts +0 -1
- package/dist/ui/lib/link-context.d.ts +0 -1
- package/dist/ui/lib/mention.d.ts +0 -1
- package/dist/ui/lib/normalize-icon.d.ts +2 -2
- package/dist/ui/lib/slot.d.ts +2 -3
- package/dist/ui/lib/use-controllable-open.d.ts +0 -1
- package/dist/ui/link.d.ts +0 -1
- package/dist/ui/link.js +1 -1
- package/dist/ui/menubar.d.ts +1 -2
- package/dist/ui/menubar.js +64 -64
- package/dist/ui/navigation-menu.d.ts +1 -2
- package/dist/ui/navigation-menu.js +67 -67
- package/dist/ui/number-input.d.ts +1 -2
- package/dist/ui/oauth-button/index.d.ts +1 -2
- package/dist/ui/oauth-button/oauth-button.d.ts +2 -3
- package/dist/ui/pagination.d.ts +0 -1
- package/dist/ui/pagination.js +1 -1
- package/dist/ui/popover.d.ts +1 -2
- package/dist/ui/progress-ring.d.ts +0 -1
- package/dist/ui/progress.d.ts +1 -2
- package/dist/ui/progress.js +30 -30
- package/dist/ui/radio.d.ts +2 -3
- package/dist/ui/radio.js +18 -18
- package/dist/ui/search-input.d.ts +0 -1
- package/dist/ui/segmented-control.d.ts +1 -2
- package/dist/ui/select.d.ts +1 -2
- package/dist/ui/select.js +55 -55
- package/dist/ui/separator.d.ts +1 -2
- package/dist/ui/separator.js +5 -5
- package/dist/ui/sheet.d.ts +1 -2
- package/dist/ui/sheet.js +45 -45
- package/dist/ui/sidebar.d.ts +4 -5
- package/dist/ui/sidebar.js +1 -1
- package/dist/ui/slider.d.ts +1 -2
- package/dist/ui/slider.d.ts.map +1 -1
- package/dist/ui/slider.js +15 -14
- package/dist/ui/slider.js.map +1 -1
- package/dist/ui/spinner.d.ts +0 -1
- package/dist/ui/split-button.d.ts +14 -4
- package/dist/ui/split-button.d.ts.map +1 -1
- package/dist/ui/split-button.js.map +1 -1
- package/dist/ui/stat-card.d.ts +3 -4
- package/dist/ui/stat-flash.d.ts +1 -2
- package/dist/ui/stepper.d.ts +1 -2
- package/dist/ui/surface.js +1 -1
- package/dist/ui/switch.d.ts +2 -3
- package/dist/ui/switch.d.ts.map +1 -1
- package/dist/ui/switch.js +13 -12
- package/dist/ui/switch.js.map +1 -1
- package/dist/ui/table-row-link.d.ts +0 -1
- package/dist/ui/tabs.d.ts +1 -2
- package/dist/ui/tabs.js +35 -35
- package/dist/ui/textarea.d.ts +1 -2
- package/dist/ui/toast-registry.d.ts +0 -1
- package/dist/ui/toast-types.js +1 -0
- package/dist/ui/toast.d.ts +2 -3
- package/dist/ui/toaster.d.ts +0 -1
- package/dist/ui/toggle-group.d.ts +2 -3
- package/dist/ui/toggle-group.js +14 -14
- package/dist/ui/toggle.d.ts +1 -2
- package/dist/ui/toggle.js +12 -12
- package/dist/ui/tooltip.d.ts +1 -2
- package/dist/ui/tooltip.js +21 -21
- package/dist/ui/tree-view/index.d.ts +3 -4
- package/dist/ui/tree-view/tree-item.d.ts +1 -2
- package/dist/ui/tree-view/tree-view.d.ts +1 -2
- package/dist/ui/tree-view/use-tree.d.ts +1 -2
- package/dist/ui/truncated-text.d.ts +0 -1
- package/docs/recipes/install-astro.md +2 -0
- package/docs/recipes/install-next-app-router.md +2 -0
- package/docs/recipes/install-remix.md +2 -0
- package/docs/recipes/install-tanstack-start.md +2 -0
- package/docs/recipes/install-vite.md +2 -0
- package/docs/recipes/troubleshoot.md +80 -0
- package/llms.txt +1 -1
- package/mcp-manifest.json +9 -1
- package/package.json +31 -5
- package/skill/SKILL.md +1 -1
- package/skill/references/components.md +1 -1
- package/skill/references/setup-astro.md +2 -0
- package/skill/references/setup-next-app-router.md +2 -0
- package/skill/references/setup-remix.md +2 -0
- package/skill/references/setup-tanstack-start.md +2 -0
- package/skill/references/setup-vite.md +2 -0
- package/skill/references/troubleshoot.md +80 -0
- package/dist/_chunks/primitives.js +0 -7596
- package/dist/_chunks/primitives.js.map +0 -1
package/dist/ui/tooltip.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { springs as e, tweens as t } from "./lib/motion.js";
|
|
3
|
+
import { cn as n } from "./lib/utils.js";
|
|
4
|
+
import { useControllableOpen as r } from "../_chunks/use-controllable-open.js";
|
|
5
|
+
import { Content2 as i, Portal as a, Provider as o, Root3 as s, Trigger as c } from "../_chunks/primitives/react-tooltip.js";
|
|
6
6
|
import * as l from "react";
|
|
7
7
|
import { Fragment as u, jsx as d } from "react/jsx-runtime";
|
|
8
8
|
import { AnimatePresence as f, motion as p } from "framer-motion";
|
|
9
9
|
//#region src/ui/tooltip.tsx
|
|
10
10
|
var m = l.createContext(!1), h = ({ children: e, ...t }) => /* @__PURE__ */ d(m.Provider, {
|
|
11
11
|
value: !0,
|
|
12
|
-
children: /* @__PURE__ */ d(
|
|
12
|
+
children: /* @__PURE__ */ d(o, {
|
|
13
13
|
...t,
|
|
14
14
|
children: e
|
|
15
15
|
})
|
|
@@ -17,21 +17,21 @@ var m = l.createContext(!1), h = ({ children: e, ...t }) => /* @__PURE__ */ d(m.
|
|
|
17
17
|
function g({ children: e }) {
|
|
18
18
|
return l.useContext(m) ? /* @__PURE__ */ d(u, { children: e }) : /* @__PURE__ */ d(m.Provider, {
|
|
19
19
|
value: !0,
|
|
20
|
-
children: /* @__PURE__ */ d(
|
|
20
|
+
children: /* @__PURE__ */ d(o, {
|
|
21
21
|
delayDuration: 300,
|
|
22
22
|
children: e
|
|
23
23
|
})
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
var _ = l.createContext({ open: !1 }), v = ({ open: e, defaultOpen: t, onOpenChange: n, ...i }) => {
|
|
27
|
-
let { open: a, setOpen: o } =
|
|
27
|
+
let { open: a, setOpen: o } = r({
|
|
28
28
|
open: e,
|
|
29
29
|
defaultOpen: t,
|
|
30
30
|
onOpenChange: n
|
|
31
|
-
}),
|
|
31
|
+
}), c = l.useMemo(() => ({ open: a }), [a]);
|
|
32
32
|
return /* @__PURE__ */ d(g, { children: /* @__PURE__ */ d(_.Provider, {
|
|
33
|
-
value:
|
|
34
|
-
children: /* @__PURE__ */ d(
|
|
33
|
+
value: c,
|
|
34
|
+
children: /* @__PURE__ */ d(s, {
|
|
35
35
|
open: a,
|
|
36
36
|
onOpenChange: o,
|
|
37
37
|
...i
|
|
@@ -39,20 +39,20 @@ var _ = l.createContext({ open: !1 }), v = ({ open: e, defaultOpen: t, onOpenCha
|
|
|
39
39
|
}) });
|
|
40
40
|
};
|
|
41
41
|
v.displayName = "Tooltip";
|
|
42
|
-
var y =
|
|
42
|
+
var y = c, b = {
|
|
43
43
|
top: { y: 4 },
|
|
44
44
|
bottom: { y: -4 },
|
|
45
45
|
left: { x: 4 },
|
|
46
46
|
right: { x: -4 }
|
|
47
|
-
}, x = l.forwardRef(({ className:
|
|
48
|
-
let { open: h } = l.useContext(_), g = b[
|
|
49
|
-
return /* @__PURE__ */ d(f, { children: h && /* @__PURE__ */ d(
|
|
47
|
+
}, x = l.forwardRef(({ className: r, sideOffset: o = 4, side: s = "top", children: c, ...u }, m) => {
|
|
48
|
+
let { open: h } = l.useContext(_), g = b[s] ?? {};
|
|
49
|
+
return /* @__PURE__ */ d(f, { children: h && /* @__PURE__ */ d(a, {
|
|
50
50
|
forceMount: !0,
|
|
51
|
-
children: /* @__PURE__ */ d(
|
|
51
|
+
children: /* @__PURE__ */ d(i, {
|
|
52
52
|
ref: m,
|
|
53
53
|
forceMount: !0,
|
|
54
|
-
sideOffset:
|
|
55
|
-
side:
|
|
54
|
+
sideOffset: o,
|
|
55
|
+
side: s,
|
|
56
56
|
...u,
|
|
57
57
|
asChild: !0,
|
|
58
58
|
children: /* @__PURE__ */ d(p.div, {
|
|
@@ -73,15 +73,15 @@ var y = i, b = {
|
|
|
73
73
|
...g
|
|
74
74
|
},
|
|
75
75
|
transition: {
|
|
76
|
-
...
|
|
77
|
-
opacity:
|
|
76
|
+
...e.snappy,
|
|
77
|
+
opacity: t.fade
|
|
78
78
|
},
|
|
79
|
-
className:
|
|
79
|
+
className: n("z-tooltip overflow-hidden rounded-overlay-sm bg-surface-inverted px-ds-04 py-ds-02b text-body-sm text-surface-inverted-fg shadow-floating", r),
|
|
80
80
|
children: c
|
|
81
81
|
})
|
|
82
82
|
})
|
|
83
83
|
}) });
|
|
84
84
|
});
|
|
85
|
-
x.displayName =
|
|
85
|
+
x.displayName = i.displayName;
|
|
86
86
|
//#endregion
|
|
87
87
|
export { v as Tooltip, x as TooltipContent, h as TooltipProvider, y as TooltipTrigger };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export { type TreeNode, useTree } from './use-tree';
|
|
1
|
+
export { TreeItem, type TreeItemProps } from './tree-item.js';
|
|
2
|
+
export { TreeView, type TreeViewProps } from './tree-view.js';
|
|
3
|
+
export { type TreeNode, useTree } from './use-tree.js';
|
|
5
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -38,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
42
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
41
43
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
42
44
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
43
45
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -51,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
55
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
54
56
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
55
57
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
56
58
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -34,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
38
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
37
39
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
38
40
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
39
41
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -43,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
47
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
46
48
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
47
49
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
48
50
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -49,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
53
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
52
54
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
53
55
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
54
56
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -196,6 +196,8 @@ In dev mode, calling `toast()` without a mounted `<Toaster />` logs a one-time c
|
|
|
196
196
|
|
|
197
197
|
**Diagnosis:** Should not happen since v0.37.0 — `use-sync-external-store` was moved to runtime dependencies and is auto-installed transitively.
|
|
198
198
|
|
|
199
|
+
**Why this dependency exists at all** (it is a hook built into React 18+, so it looks redundant): we do not use the shim ourselves. It is a TipTap transitive. TipTap's code is bundled into our `dist`, and that bundled chunk imports `use-sync-external-store/shim`. We externalize the shim rather than bundling it, because bundling forced a `createRequire` bridge into our Rollup runtime chunk that broke every Turbopack consumer. Externalized code must be resolvable from the consumer's tree, hence the declaration.
|
|
200
|
+
|
|
199
201
|
If it still happens, install it explicitly:
|
|
200
202
|
|
|
201
203
|
```bash
|
|
@@ -204,6 +206,84 @@ pnpm add use-sync-external-store
|
|
|
204
206
|
|
|
205
207
|
And open an issue at <https://github.com/devalok-design/shilp-sutra/issues> with the resolution graph (`pnpm why use-sync-external-store`) so we can fix the root cause.
|
|
206
208
|
|
|
209
|
+
## Symptom: `Cannot find package 'sonner'` when you only imported a hook (or `'react-markdown'` from the AI barrel)
|
|
210
|
+
|
|
211
|
+
**Diagnosis:** you imported a *barrel* rather than the component itself, and the barrel re-exports something with an optional peer.
|
|
212
|
+
|
|
213
|
+
- `@devalok/shilp-sutra/hooks` re-exports `toast`, which needs `sonner`.
|
|
214
|
+
- `@devalok/shilp-sutra/ai` re-exports the block renderer, which needs `react-markdown`.
|
|
215
|
+
|
|
216
|
+
A bundler tree-shakes the unused branch away, so this is invisible in a client build. It bites at **runtime in Node** — SSR, a route handler, a test — where the import is evaluated for real.
|
|
217
|
+
|
|
218
|
+
Fix — import the specific module instead of the barrel:
|
|
219
|
+
|
|
220
|
+
```ts
|
|
221
|
+
// needs sonner installed, because the barrel also exports toast
|
|
222
|
+
import { useIsMobile } from '@devalok/shilp-sutra/hooks'
|
|
223
|
+
|
|
224
|
+
// no optional peers at all
|
|
225
|
+
import { useIsMobile } from '@devalok/shilp-sutra/hooks/use-mobile'
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
Every hook has its own subpath: `use-mobile`, `use-color-mode`, `use-touch-device`, `use-viewport-height`. Same rule applies across the library — a deep import never costs you more than that component needs.
|
|
229
|
+
|
|
230
|
+
## Symptom: `error TS2305: Module '"react"' has no exported member 'ReactSVG'`
|
|
231
|
+
|
|
232
|
+
**This is an upstream `@tabler/icons-react` bug, not a shilp-sutra one** — but you will hit it following our install instructions, so it is documented here.
|
|
233
|
+
|
|
234
|
+
`@tabler/icons-react` (through 3.45.0, the current release) opens its type declarations with:
|
|
235
|
+
|
|
236
|
+
```ts
|
|
237
|
+
import { ReactSVG, … } from 'react'
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
React 18's types exported `ReactSVG`; React 19's removed it, keeping only `ReactSVGElement`. So on React 19 the icon package's own `.d.ts` fails to compile.
|
|
241
|
+
|
|
242
|
+
You only see it with **all three**: React 19, `skipLibCheck: false`, and a direct `@tabler/icons-react` import in your own code. React 18 is unaffected, and the default `skipLibCheck: true` suppresses it.
|
|
243
|
+
|
|
244
|
+
Workarounds, in order of preference:
|
|
245
|
+
|
|
246
|
+
1. Leave `skipLibCheck: true` (the default in every framework scaffold). It suppresses errors inside dependency declarations — including this one.
|
|
247
|
+
2. Import icons through our re-export instead of directly, so the broken declaration is never loaded into your program.
|
|
248
|
+
3. Pin `@types/react` to 18 if your app is still on React 18.
|
|
249
|
+
|
|
250
|
+
There is nothing to fix on our side: we neither wrap nor re-declare Tabler's types. Track it upstream at <https://github.com/tabler/tabler-icons/issues>.
|
|
251
|
+
|
|
252
|
+
## Symptom: `error TS2307: Cannot find module '@devalok/shilp-sutra/ui/button'` under `"moduleResolution": "node"`
|
|
253
|
+
|
|
254
|
+
**Diagnosis:** You are on TypeScript's legacy resolution mode, which predates and ignores the `exports` field in `package.json`. Our files live under `dist/`, and every public path is mapped through `exports` — legacy resolution looks for a literal `node_modules/@devalok/shilp-sutra/ui/button.js` and finds nothing.
|
|
255
|
+
|
|
256
|
+
**Supported resolution modes:**
|
|
257
|
+
|
|
258
|
+
| `moduleResolution` | Supported | Notes |
|
|
259
|
+
|---|---|---|
|
|
260
|
+
| `bundler` | ✅ | Recommended. Vite, Next.js, and most modern setups default to this. |
|
|
261
|
+
| `node16` / `nodenext` | ✅ | Fully supported since 0.55.0. |
|
|
262
|
+
| `node` (legacy) | ❌ | Cannot read `exports`. No subpath resolves. |
|
|
263
|
+
|
|
264
|
+
Fix — in your `tsconfig.json`:
|
|
265
|
+
|
|
266
|
+
```jsonc
|
|
267
|
+
{ "compilerOptions": { "moduleResolution": "bundler" } }
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
## Symptom: `require('@devalok/shilp-sutra')` throws `ERR_REQUIRE_ESM`
|
|
271
|
+
|
|
272
|
+
**Diagnosis:** The package is ESM-only — we ship no CommonJS build. Whether `require()` works depends on your Node version:
|
|
273
|
+
|
|
274
|
+
| Node | `require('@devalok/shilp-sutra/ui/button')` |
|
|
275
|
+
|---|---|
|
|
276
|
+
| 22.12+ / 23+ | ✅ Works — `require(esm)` is supported and unflagged. Verified against every entry point, including the full `./ui` barrel. |
|
|
277
|
+
| < 22.12 | ❌ `ERR_REQUIRE_ESM` |
|
|
278
|
+
|
|
279
|
+
On older Node, use a dynamic import:
|
|
280
|
+
|
|
281
|
+
```js
|
|
282
|
+
const { Button } = await import('@devalok/shilp-sutra/ui/button')
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
Or move the consuming file to ESM (`"type": "module"`, or a `.mjs` extension). Every supported framework target — Next.js, Vite, Remix, Astro, TanStack Start — handles the ESM entry natively; this only affects hand-written CJS scripts.
|
|
286
|
+
|
|
207
287
|
## Symptom: Storybook MCP server `localhost:6006/mcp` returns 404
|
|
208
288
|
|
|
209
289
|
**Diagnosis:** Storybook dev server isn't running, OR the MCP plugin is not enabled in this Storybook version.
|
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.55.1.
|
|
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.55.1",
|
|
6
6
|
"components": {
|
|
7
7
|
"accordion": {
|
|
8
8
|
"displayName": "Accordion",
|
|
@@ -11697,6 +11697,10 @@
|
|
|
11697
11697
|
"version": "0.32.0",
|
|
11698
11698
|
"summary": "Initial release"
|
|
11699
11699
|
}
|
|
11700
|
+
],
|
|
11701
|
+
"peers": [
|
|
11702
|
+
"@tiptap/pm",
|
|
11703
|
+
"@tiptap/react"
|
|
11700
11704
|
]
|
|
11701
11705
|
},
|
|
11702
11706
|
"rich-text-editor": {
|
|
@@ -11857,6 +11861,10 @@
|
|
|
11857
11861
|
"version": "0.1.1",
|
|
11858
11862
|
"summary": "**Fixed** Added content sync effect so editor updates when `content` prop changes externally"
|
|
11859
11863
|
}
|
|
11864
|
+
],
|
|
11865
|
+
"peers": [
|
|
11866
|
+
"@tiptap/pm",
|
|
11867
|
+
"@tiptap/react"
|
|
11860
11868
|
]
|
|
11861
11869
|
},
|
|
11862
11870
|
"schedule-view": {
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devalok/shilp-sutra",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.55.1",
|
|
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>",
|
|
7
7
|
"homepage": "https://shilp-sutra.devalok.in",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/devalok-design/shilp-sutra",
|
|
10
|
+
"url": "git+https://github.com/devalok-design/shilp-sutra.git",
|
|
11
11
|
"directory": "packages/core"
|
|
12
12
|
},
|
|
13
13
|
"bugs": {
|
|
@@ -52,11 +52,8 @@
|
|
|
52
52
|
"provenance": true
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
|
-
"@emoji-mart/data": "^1.2.1",
|
|
56
55
|
"class-variance-authority": "^0.7.1",
|
|
57
56
|
"clsx": "^2.1.1",
|
|
58
|
-
"diff": "^9.0.0",
|
|
59
|
-
"frimousse": "^0.3.0",
|
|
60
57
|
"tw-animate-css": "^1.4.0",
|
|
61
58
|
"use-sync-external-store": "^1.6.0"
|
|
62
59
|
},
|
|
@@ -68,6 +65,7 @@
|
|
|
68
65
|
},
|
|
69
66
|
"./css": "./dist/tokens/shilp-sutra.css",
|
|
70
67
|
"./tokens": "./dist/tokens/index.css",
|
|
68
|
+
"./package.json": "./package.json",
|
|
71
69
|
"./BREAKING.json": "./BREAKING.json",
|
|
72
70
|
"./BREAKING.schema.json": "./BREAKING.schema.json",
|
|
73
71
|
"./ui": {
|
|
@@ -735,6 +733,16 @@
|
|
|
735
733
|
"import": "./dist/hooks/use-mobile.js",
|
|
736
734
|
"default": "./dist/hooks/use-mobile.js"
|
|
737
735
|
},
|
|
736
|
+
"./hooks/use-touch-device": {
|
|
737
|
+
"types": "./dist/hooks/use-touch-device.d.ts",
|
|
738
|
+
"import": "./dist/hooks/use-touch-device.js",
|
|
739
|
+
"default": "./dist/hooks/use-touch-device.js"
|
|
740
|
+
},
|
|
741
|
+
"./hooks/use-viewport-height": {
|
|
742
|
+
"types": "./dist/hooks/use-viewport-height.d.ts",
|
|
743
|
+
"import": "./dist/hooks/use-viewport-height.js",
|
|
744
|
+
"default": "./dist/hooks/use-viewport-height.js"
|
|
745
|
+
},
|
|
738
746
|
"./utils": {
|
|
739
747
|
"types": "./dist/ui/lib/utils.d.ts",
|
|
740
748
|
"import": "./dist/ui/lib/utils.js",
|
|
@@ -850,6 +858,10 @@
|
|
|
850
858
|
"@tabler/icons-react": "^3.0.0",
|
|
851
859
|
"@tanstack/react-table": "^8.0.0",
|
|
852
860
|
"@tanstack/react-virtual": "^3.0.0",
|
|
861
|
+
"@tiptap/core": "^3.28.0",
|
|
862
|
+
"@tiptap/pm": "^3.28.0",
|
|
863
|
+
"@tiptap/react": "^3.28.0",
|
|
864
|
+
"@tiptap/suggestion": "^3.28.0",
|
|
853
865
|
"d3-array": "^3.0.0",
|
|
854
866
|
"d3-axis": "^3.0.0",
|
|
855
867
|
"d3-format": "^3.0.0",
|
|
@@ -879,6 +891,18 @@
|
|
|
879
891
|
"@tanstack/react-virtual": {
|
|
880
892
|
"optional": true
|
|
881
893
|
},
|
|
894
|
+
"@tiptap/core": {
|
|
895
|
+
"optional": true
|
|
896
|
+
},
|
|
897
|
+
"@tiptap/pm": {
|
|
898
|
+
"optional": true
|
|
899
|
+
},
|
|
900
|
+
"@tiptap/react": {
|
|
901
|
+
"optional": true
|
|
902
|
+
},
|
|
903
|
+
"@tiptap/suggestion": {
|
|
904
|
+
"optional": true
|
|
905
|
+
},
|
|
882
906
|
"d3-array": {
|
|
883
907
|
"optional": true
|
|
884
908
|
},
|
|
@@ -967,8 +991,10 @@
|
|
|
967
991
|
"d3-time-format": "^4.1.0",
|
|
968
992
|
"d3-transition": "^3.0.1",
|
|
969
993
|
"date-fns": "^4.4.0",
|
|
994
|
+
"diff": "^9.0.0",
|
|
970
995
|
"esbuild": "^0.28.1",
|
|
971
996
|
"framer-motion": "^12.42.2",
|
|
997
|
+
"frimousse": "^0.3.0",
|
|
972
998
|
"input-otp": "^1.4.2",
|
|
973
999
|
"prosemirror-state": "^1.4.4",
|
|
974
1000
|
"react-colorful": "^5.8.0",
|
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.55.1"
|
|
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.55.1.
|
|
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,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
44
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
43
45
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
44
46
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
45
47
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -53,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
57
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
56
58
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
57
59
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
58
60
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -36,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
40
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
39
41
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
40
42
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
41
43
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -45,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
49
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
48
50
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
49
51
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
50
52
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -51,6 +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 -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
55
|
+
| `@devalok/shilp-sutra/composed/rich-text-editor` | `pnpm add -D @tiptap/pm @tiptap/react` *(types only — the runtime is bundled)* |
|
|
54
56
|
| `@devalok/shilp-sutra/composed/schedule-view` | `pnpm add date-fns` |
|
|
55
57
|
| `@devalok/shilp-sutra/ui/charts` | `pnpm add d3-axis d3-scale d3-selection d3-shape` |
|
|
56
58
|
| `@devalok/shilp-sutra/ui/data-table` | `pnpm add @tanstack/react-table @tanstack/react-virtual` |
|
|
@@ -198,6 +198,8 @@ In dev mode, calling `toast()` without a mounted `<Toaster />` logs a one-time c
|
|
|
198
198
|
|
|
199
199
|
**Diagnosis:** Should not happen since v0.37.0 — `use-sync-external-store` was moved to runtime dependencies and is auto-installed transitively.
|
|
200
200
|
|
|
201
|
+
**Why this dependency exists at all** (it is a hook built into React 18+, so it looks redundant): we do not use the shim ourselves. It is a TipTap transitive. TipTap's code is bundled into our `dist`, and that bundled chunk imports `use-sync-external-store/shim`. We externalize the shim rather than bundling it, because bundling forced a `createRequire` bridge into our Rollup runtime chunk that broke every Turbopack consumer. Externalized code must be resolvable from the consumer's tree, hence the declaration.
|
|
202
|
+
|
|
201
203
|
If it still happens, install it explicitly:
|
|
202
204
|
|
|
203
205
|
```bash
|
|
@@ -206,6 +208,84 @@ pnpm add use-sync-external-store
|
|
|
206
208
|
|
|
207
209
|
And open an issue at <https://github.com/devalok-design/shilp-sutra/issues> with the resolution graph (`pnpm why use-sync-external-store`) so we can fix the root cause.
|
|
208
210
|
|
|
211
|
+
## Symptom: `Cannot find package 'sonner'` when you only imported a hook (or `'react-markdown'` from the AI barrel)
|
|
212
|
+
|
|
213
|
+
**Diagnosis:** you imported a *barrel* rather than the component itself, and the barrel re-exports something with an optional peer.
|
|
214
|
+
|
|
215
|
+
- `@devalok/shilp-sutra/hooks` re-exports `toast`, which needs `sonner`.
|
|
216
|
+
- `@devalok/shilp-sutra/ai` re-exports the block renderer, which needs `react-markdown`.
|
|
217
|
+
|
|
218
|
+
A bundler tree-shakes the unused branch away, so this is invisible in a client build. It bites at **runtime in Node** — SSR, a route handler, a test — where the import is evaluated for real.
|
|
219
|
+
|
|
220
|
+
Fix — import the specific module instead of the barrel:
|
|
221
|
+
|
|
222
|
+
```ts
|
|
223
|
+
// needs sonner installed, because the barrel also exports toast
|
|
224
|
+
import { useIsMobile } from '@devalok/shilp-sutra/hooks'
|
|
225
|
+
|
|
226
|
+
// no optional peers at all
|
|
227
|
+
import { useIsMobile } from '@devalok/shilp-sutra/hooks/use-mobile'
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Every hook has its own subpath: `use-mobile`, `use-color-mode`, `use-touch-device`, `use-viewport-height`. Same rule applies across the library — a deep import never costs you more than that component needs.
|
|
231
|
+
|
|
232
|
+
## Symptom: `error TS2305: Module '"react"' has no exported member 'ReactSVG'`
|
|
233
|
+
|
|
234
|
+
**This is an upstream `@tabler/icons-react` bug, not a shilp-sutra one** — but you will hit it following our install instructions, so it is documented here.
|
|
235
|
+
|
|
236
|
+
`@tabler/icons-react` (through 3.45.0, the current release) opens its type declarations with:
|
|
237
|
+
|
|
238
|
+
```ts
|
|
239
|
+
import { ReactSVG, … } from 'react'
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
React 18's types exported `ReactSVG`; React 19's removed it, keeping only `ReactSVGElement`. So on React 19 the icon package's own `.d.ts` fails to compile.
|
|
243
|
+
|
|
244
|
+
You only see it with **all three**: React 19, `skipLibCheck: false`, and a direct `@tabler/icons-react` import in your own code. React 18 is unaffected, and the default `skipLibCheck: true` suppresses it.
|
|
245
|
+
|
|
246
|
+
Workarounds, in order of preference:
|
|
247
|
+
|
|
248
|
+
1. Leave `skipLibCheck: true` (the default in every framework scaffold). It suppresses errors inside dependency declarations — including this one.
|
|
249
|
+
2. Import icons through our re-export instead of directly, so the broken declaration is never loaded into your program.
|
|
250
|
+
3. Pin `@types/react` to 18 if your app is still on React 18.
|
|
251
|
+
|
|
252
|
+
There is nothing to fix on our side: we neither wrap nor re-declare Tabler's types. Track it upstream at <https://github.com/tabler/tabler-icons/issues>.
|
|
253
|
+
|
|
254
|
+
## Symptom: `error TS2307: Cannot find module '@devalok/shilp-sutra/ui/button'` under `"moduleResolution": "node"`
|
|
255
|
+
|
|
256
|
+
**Diagnosis:** You are on TypeScript's legacy resolution mode, which predates and ignores the `exports` field in `package.json`. Our files live under `dist/`, and every public path is mapped through `exports` — legacy resolution looks for a literal `node_modules/@devalok/shilp-sutra/ui/button.js` and finds nothing.
|
|
257
|
+
|
|
258
|
+
**Supported resolution modes:**
|
|
259
|
+
|
|
260
|
+
| `moduleResolution` | Supported | Notes |
|
|
261
|
+
|---|---|---|
|
|
262
|
+
| `bundler` | ✅ | Recommended. Vite, Next.js, and most modern setups default to this. |
|
|
263
|
+
| `node16` / `nodenext` | ✅ | Fully supported since 0.55.0. |
|
|
264
|
+
| `node` (legacy) | ❌ | Cannot read `exports`. No subpath resolves. |
|
|
265
|
+
|
|
266
|
+
Fix — in your `tsconfig.json`:
|
|
267
|
+
|
|
268
|
+
```jsonc
|
|
269
|
+
{ "compilerOptions": { "moduleResolution": "bundler" } }
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## Symptom: `require('@devalok/shilp-sutra')` throws `ERR_REQUIRE_ESM`
|
|
273
|
+
|
|
274
|
+
**Diagnosis:** The package is ESM-only — we ship no CommonJS build. Whether `require()` works depends on your Node version:
|
|
275
|
+
|
|
276
|
+
| Node | `require('@devalok/shilp-sutra/ui/button')` |
|
|
277
|
+
|---|---|
|
|
278
|
+
| 22.12+ / 23+ | ✅ Works — `require(esm)` is supported and unflagged. Verified against every entry point, including the full `./ui` barrel. |
|
|
279
|
+
| < 22.12 | ❌ `ERR_REQUIRE_ESM` |
|
|
280
|
+
|
|
281
|
+
On older Node, use a dynamic import:
|
|
282
|
+
|
|
283
|
+
```js
|
|
284
|
+
const { Button } = await import('@devalok/shilp-sutra/ui/button')
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
Or move the consuming file to ESM (`"type": "module"`, or a `.mjs` extension). Every supported framework target — Next.js, Vite, Remix, Astro, TanStack Start — handles the ESM entry natively; this only affects hand-written CJS scripts.
|
|
288
|
+
|
|
209
289
|
## Symptom: Storybook MCP server `localhost:6006/mcp` returns 404
|
|
210
290
|
|
|
211
291
|
**Diagnosis:** Storybook dev server isn't running, OR the MCP plugin is not enabled in this Storybook version.
|