@vjdesigns/vjdesigns-ui 0.0.0-stage → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +724 -3
- package/dist/ai/llms-full.txt +8231 -0
- package/dist/ai/llms.txt +196 -0
- package/dist/ai/mcp-server.mjs +212 -0
- package/dist/ai/registry.json +20490 -0
- package/dist/components/data-display/Accordion/Accordion.cjs.js +1 -0
- package/dist/components/data-display/Accordion/Accordion.d.ts +154 -0
- package/dist/components/data-display/Accordion/Accordion.mjs +327 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.cjs.js +1 -0
- package/dist/components/data-display/Accordion/Accordion.module.css.mjs +31 -0
- package/dist/components/data-display/Accordion/index.d.ts +1 -0
- package/dist/components/data-display/Avatar/Avatar.cjs.js +1 -0
- package/dist/components/data-display/Avatar/Avatar.d.ts +114 -0
- package/dist/components/data-display/Avatar/Avatar.mjs +150 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.cjs.js +1 -0
- package/dist/components/data-display/Avatar/Avatar.module.css.mjs +48 -0
- package/dist/components/data-display/Avatar/index.d.ts +1 -0
- package/dist/components/data-display/Badge/Badge.cjs.js +1 -0
- package/dist/components/data-display/Badge/Badge.d.ts +95 -0
- package/dist/components/data-display/Badge/Badge.mjs +100 -0
- package/dist/components/data-display/Badge/Badge.module.css.cjs.js +1 -0
- package/dist/components/data-display/Badge/Badge.module.css.mjs +43 -0
- package/dist/components/data-display/Badge/index.d.ts +1 -0
- package/dist/components/data-display/Card/Card.cjs.js +1 -0
- package/dist/components/data-display/Card/Card.d.ts +171 -0
- package/dist/components/data-display/Card/Card.mjs +178 -0
- package/dist/components/data-display/Card/Card.module.css.cjs.js +1 -0
- package/dist/components/data-display/Card/Card.module.css.mjs +59 -0
- package/dist/components/data-display/Card/index.d.ts +1 -0
- package/dist/components/data-display/Carousel/Carousel.cjs.js +1 -0
- package/dist/components/data-display/Carousel/Carousel.d.ts +117 -0
- package/dist/components/data-display/Carousel/Carousel.mjs +374 -0
- package/dist/components/data-display/Carousel/Carousel.module.css.cjs.js +1 -0
- package/dist/components/data-display/Carousel/Carousel.module.css.mjs +26 -0
- package/dist/components/data-display/Carousel/index.d.ts +1 -0
- package/dist/components/data-display/Chip/Chip.cjs.js +1 -0
- package/dist/components/data-display/Chip/Chip.d.ts +162 -0
- package/dist/components/data-display/Chip/Chip.mjs +223 -0
- package/dist/components/data-display/Chip/Chip.module.css.cjs.js +1 -0
- package/dist/components/data-display/Chip/Chip.module.css.mjs +45 -0
- package/dist/components/data-display/Chip/index.d.ts +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.cjs.js +6 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.d.ts +96 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.mjs +207 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.cjs.js +1 -0
- package/dist/components/data-display/CodeBlock/CodeBlock.module.css.mjs +48 -0
- package/dist/components/data-display/CodeBlock/index.d.ts +1 -0
- package/dist/components/data-display/CodeBlock/tokenize.cjs.js +13 -0
- package/dist/components/data-display/CodeBlock/tokenize.d.ts +26 -0
- package/dist/components/data-display/CodeBlock/tokenize.mjs +307 -0
- package/dist/components/data-display/DataGrid/DataGrid.cjs.js +1 -0
- package/dist/components/data-display/DataGrid/DataGrid.d.ts +183 -0
- package/dist/components/data-display/DataGrid/DataGrid.mjs +403 -0
- package/dist/components/data-display/DataGrid/DataGrid.module.css.cjs.js +1 -0
- package/dist/components/data-display/DataGrid/DataGrid.module.css.mjs +41 -0
- package/dist/components/data-display/DataGrid/dataGridUtils.cjs.js +1 -0
- package/dist/components/data-display/DataGrid/dataGridUtils.d.ts +28 -0
- package/dist/components/data-display/DataGrid/dataGridUtils.mjs +46 -0
- package/dist/components/data-display/DataGrid/index.d.ts +1 -0
- package/dist/components/data-display/EmptyState/EmptyState.cjs.js +1 -0
- package/dist/components/data-display/EmptyState/EmptyState.d.ts +112 -0
- package/dist/components/data-display/EmptyState/EmptyState.mjs +146 -0
- package/dist/components/data-display/EmptyState/EmptyState.module.css.cjs.js +1 -0
- package/dist/components/data-display/EmptyState/EmptyState.module.css.mjs +31 -0
- package/dist/components/data-display/EmptyState/index.d.ts +1 -0
- package/dist/components/data-display/Image/Image.cjs.js +1 -0
- package/dist/components/data-display/Image/Image.d.ts +107 -0
- package/dist/components/data-display/Image/Image.mjs +171 -0
- package/dist/components/data-display/Image/Image.module.css.cjs.js +1 -0
- package/dist/components/data-display/Image/Image.module.css.mjs +46 -0
- package/dist/components/data-display/Image/index.d.ts +1 -0
- package/dist/components/data-display/List/List.cjs.js +1 -0
- package/dist/components/data-display/List/List.d.ts +195 -0
- package/dist/components/data-display/List/List.mjs +200 -0
- package/dist/components/data-display/List/List.module.css.cjs.js +1 -0
- package/dist/components/data-display/List/List.module.css.mjs +33 -0
- package/dist/components/data-display/List/index.d.ts +1 -0
- package/dist/components/data-display/Stat/Stat.cjs.js +1 -0
- package/dist/components/data-display/Stat/Stat.d.ts +149 -0
- package/dist/components/data-display/Stat/Stat.mjs +224 -0
- package/dist/components/data-display/Stat/Stat.module.css.cjs.js +1 -0
- package/dist/components/data-display/Stat/Stat.module.css.mjs +60 -0
- package/dist/components/data-display/Stat/index.d.ts +1 -0
- package/dist/components/data-display/Table/Table.cjs.js +1 -0
- package/dist/components/data-display/Table/Table.d.ts +255 -0
- package/dist/components/data-display/Table/Table.mjs +333 -0
- package/dist/components/data-display/Table/Table.module.css.cjs.js +1 -0
- package/dist/components/data-display/Table/Table.module.css.mjs +55 -0
- package/dist/components/data-display/Table/index.d.ts +1 -0
- package/dist/components/data-display/Table/useTable.cjs.js +1 -0
- package/dist/components/data-display/Table/useTable.d.ts +118 -0
- package/dist/components/data-display/Table/useTable.mjs +89 -0
- package/dist/components/data-display/Timeline/Timeline.cjs.js +1 -0
- package/dist/components/data-display/Timeline/Timeline.d.ts +92 -0
- package/dist/components/data-display/Timeline/Timeline.mjs +140 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.cjs.js +1 -0
- package/dist/components/data-display/Timeline/Timeline.module.css.mjs +46 -0
- package/dist/components/data-display/Timeline/index.d.ts +1 -0
- package/dist/components/data-display/TreeView/TreeView.cjs.js +1 -0
- package/dist/components/data-display/TreeView/TreeView.d.ts +86 -0
- package/dist/components/data-display/TreeView/TreeView.mjs +361 -0
- package/dist/components/data-display/TreeView/TreeView.module.css.cjs.js +1 -0
- package/dist/components/data-display/TreeView/TreeView.module.css.mjs +24 -0
- package/dist/components/data-display/TreeView/index.d.ts +1 -0
- package/dist/components/data-display/TreeView/treeUtils.cjs.js +1 -0
- package/dist/components/data-display/TreeView/treeUtils.d.ts +82 -0
- package/dist/components/data-display/TreeView/treeUtils.mjs +54 -0
- package/dist/components/data-display/VirtualList/VirtualList.cjs.js +1 -0
- package/dist/components/data-display/VirtualList/VirtualList.d.ts +66 -0
- package/dist/components/data-display/VirtualList/VirtualList.mjs +53 -0
- package/dist/components/data-display/VirtualList/VirtualList.module.css.cjs.js +1 -0
- package/dist/components/data-display/VirtualList/VirtualList.module.css.mjs +9 -0
- package/dist/components/data-display/VirtualList/index.d.ts +1 -0
- package/dist/components/feedback/Alert/Alert.cjs.js +1 -0
- package/dist/components/feedback/Alert/Alert.d.ts +101 -0
- package/dist/components/feedback/Alert/Alert.mjs +113 -0
- package/dist/components/feedback/Alert/Alert.module.css.cjs.js +1 -0
- package/dist/components/feedback/Alert/Alert.module.css.mjs +32 -0
- package/dist/components/feedback/Alert/index.d.ts +1 -0
- package/dist/components/feedback/Banner/Banner.cjs.js +1 -0
- package/dist/components/feedback/Banner/Banner.d.ts +132 -0
- package/dist/components/feedback/Banner/Banner.mjs +199 -0
- package/dist/components/feedback/Banner/Banner.module.css.cjs.js +1 -0
- package/dist/components/feedback/Banner/Banner.module.css.mjs +40 -0
- package/dist/components/feedback/Banner/index.d.ts +1 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.cjs.js +1 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.d.ts +29 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.mjs +38 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.module.css.cjs.js +1 -0
- package/dist/components/feedback/ErrorSummary/ErrorSummary.module.css.mjs +7 -0
- package/dist/components/feedback/ErrorSummary/index.d.ts +1 -0
- package/dist/components/feedback/Progress/Progress.cjs.js +1 -0
- package/dist/components/feedback/Progress/Progress.d.ts +150 -0
- package/dist/components/feedback/Progress/Progress.mjs +238 -0
- package/dist/components/feedback/Progress/Progress.module.css.cjs.js +1 -0
- package/dist/components/feedback/Progress/Progress.module.css.mjs +57 -0
- package/dist/components/feedback/Progress/index.d.ts +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.cjs.js +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.d.ts +151 -0
- package/dist/components/feedback/Skeleton/Skeleton.mjs +157 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.cjs.js +1 -0
- package/dist/components/feedback/Skeleton/Skeleton.module.css.mjs +63 -0
- package/dist/components/feedback/Skeleton/index.d.ts +1 -0
- package/dist/components/feedback/Spinner/Spinner.cjs.js +1 -0
- package/dist/components/feedback/Spinner/Spinner.d.ts +72 -0
- package/dist/components/feedback/Spinner/Spinner.mjs +67 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.cjs.js +1 -0
- package/dist/components/feedback/Spinner/Spinner.module.css.mjs +29 -0
- package/dist/components/feedback/Spinner/index.d.ts +1 -0
- package/dist/components/feedback/Toast/Toast.cjs.js +1 -0
- package/dist/components/feedback/Toast/Toast.d.ts +52 -0
- package/dist/components/feedback/Toast/Toast.mjs +89 -0
- package/dist/components/feedback/Toast/Toast.module.css.cjs.js +1 -0
- package/dist/components/feedback/Toast/Toast.module.css.mjs +48 -0
- package/dist/components/feedback/Toast/Toast.storyHelpers.d.ts +21 -0
- package/dist/components/feedback/Toast/ToastItem.cjs.js +1 -0
- package/dist/components/feedback/Toast/ToastItem.d.ts +18 -0
- package/dist/components/feedback/Toast/ToastItem.mjs +61 -0
- package/dist/components/feedback/Toast/ToastProvider.cjs.js +1 -0
- package/dist/components/feedback/Toast/ToastProvider.d.ts +62 -0
- package/dist/components/feedback/Toast/ToastProvider.mjs +36 -0
- package/dist/components/feedback/Toast/ToastViewport.cjs.js +1 -0
- package/dist/components/feedback/Toast/ToastViewport.d.ts +25 -0
- package/dist/components/feedback/Toast/ToastViewport.mjs +137 -0
- package/dist/components/feedback/Toast/index.d.ts +5 -0
- package/dist/components/feedback/Toast/toastStore.cjs.js +1 -0
- package/dist/components/feedback/Toast/toastStore.d.ts +46 -0
- package/dist/components/feedback/Toast/toastStore.mjs +86 -0
- package/dist/components/feedback/Toast/toastTiming.cjs.js +1 -0
- package/dist/components/feedback/Toast/toastTiming.d.ts +27 -0
- package/dist/components/feedback/Toast/toastTiming.mjs +43 -0
- package/dist/components/feedback/Toast/toastTypes.d.ts +136 -0
- package/dist/components/feedback/Toast/useToast.cjs.js +1 -0
- package/dist/components/feedback/Toast/useToast.d.ts +32 -0
- package/dist/components/feedback/Toast/useToast.mjs +16 -0
- package/dist/components/feedback/Toast/useToastAnnouncer.cjs.js +1 -0
- package/dist/components/feedback/Toast/useToastAnnouncer.d.ts +15 -0
- package/dist/components/feedback/Toast/useToastAnnouncer.mjs +39 -0
- package/dist/components/forms/CheckBox/CheckBox.cjs.js +1 -0
- package/dist/components/forms/CheckBox/CheckBox.d.ts +79 -0
- package/dist/components/forms/CheckBox/CheckBox.mjs +168 -0
- package/dist/components/forms/CheckBox/CheckBox.module.css.cjs.js +1 -0
- package/dist/components/forms/CheckBox/CheckBox.module.css.mjs +33 -0
- package/dist/components/forms/CheckBox/index.d.ts +1 -0
- package/dist/components/forms/ColorPicker/ColorInput.cjs.js +1 -0
- package/dist/components/forms/ColorPicker/ColorInput.d.ts +38 -0
- package/dist/components/forms/ColorPicker/ColorInput.mjs +113 -0
- package/dist/components/forms/ColorPicker/ColorPicker.cjs.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.d.ts +129 -0
- package/dist/components/forms/ColorPicker/ColorPicker.mjs +554 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.cjs.js +1 -0
- package/dist/components/forms/ColorPicker/ColorPicker.module.css.mjs +45 -0
- package/dist/components/forms/ColorPicker/colorUtils.cjs.js +1 -0
- package/dist/components/forms/ColorPicker/colorUtils.d.ts +86 -0
- package/dist/components/forms/ColorPicker/colorUtils.mjs +184 -0
- package/dist/components/forms/ColorPicker/index.d.ts +2 -0
- package/dist/components/forms/Combobox/Combobox.cjs.js +1 -0
- package/dist/components/forms/Combobox/Combobox.d.ts +172 -0
- package/dist/components/forms/Combobox/Combobox.mjs +364 -0
- package/dist/components/forms/Combobox/Combobox.module.css.cjs.js +1 -0
- package/dist/components/forms/Combobox/Combobox.module.css.mjs +37 -0
- package/dist/components/forms/Combobox/ComboboxPopup.cjs.js +1 -0
- package/dist/components/forms/Combobox/ComboboxPopup.d.ts +40 -0
- package/dist/components/forms/Combobox/ComboboxPopup.mjs +183 -0
- package/dist/components/forms/Combobox/comboboxUtils.cjs.js +1 -0
- package/dist/components/forms/Combobox/comboboxUtils.d.ts +70 -0
- package/dist/components/forms/Combobox/comboboxUtils.mjs +57 -0
- package/dist/components/forms/Combobox/index.d.ts +1 -0
- package/dist/components/forms/DatePicker/Calendar.cjs.js +1 -0
- package/dist/components/forms/DatePicker/Calendar.d.ts +98 -0
- package/dist/components/forms/DatePicker/Calendar.mjs +228 -0
- package/dist/components/forms/DatePicker/Calendar.module.css.cjs.js +1 -0
- package/dist/components/forms/DatePicker/Calendar.module.css.mjs +25 -0
- package/dist/components/forms/DatePicker/DatePicker.cjs.js +1 -0
- package/dist/components/forms/DatePicker/DatePicker.d.ts +100 -0
- package/dist/components/forms/DatePicker/DatePicker.mjs +186 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.cjs.js +1 -0
- package/dist/components/forms/DatePicker/DatePicker.module.css.mjs +11 -0
- package/dist/components/forms/DatePicker/DateRangePicker.cjs.js +1 -0
- package/dist/components/forms/DatePicker/DateRangePicker.d.ts +124 -0
- package/dist/components/forms/DatePicker/DateRangePicker.mjs +250 -0
- package/dist/components/forms/DatePicker/DateRangePicker.module.css.cjs.js +1 -0
- package/dist/components/forms/DatePicker/DateRangePicker.module.css.mjs +15 -0
- package/dist/components/forms/DatePicker/dateUtils.cjs.js +1 -0
- package/dist/components/forms/DatePicker/dateUtils.d.ts +88 -0
- package/dist/components/forms/DatePicker/dateUtils.mjs +204 -0
- package/dist/components/forms/DatePicker/index.d.ts +4 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.cjs.js +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.d.ts +101 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.mjs +120 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.cjs.js +1 -0
- package/dist/components/forms/DateTimePicker/DateTimePicker.module.css.mjs +12 -0
- package/dist/components/forms/DateTimePicker/index.d.ts +1 -0
- package/dist/components/forms/Field/Field.cjs.js +1 -0
- package/dist/components/forms/Field/Field.d.ts +171 -0
- package/dist/components/forms/Field/Field.mjs +277 -0
- package/dist/components/forms/Field/Field.module.css.cjs.js +1 -0
- package/dist/components/forms/Field/Field.module.css.mjs +29 -0
- package/dist/components/forms/Field/FieldContext.cjs.js +1 -0
- package/dist/components/forms/Field/FieldContext.d.ts +74 -0
- package/dist/components/forms/Field/FieldContext.mjs +29 -0
- package/dist/components/forms/Field/index.d.ts +2 -0
- package/dist/components/forms/FileUpload/FileUpload.cjs.js +1 -0
- package/dist/components/forms/FileUpload/FileUpload.d.ts +153 -0
- package/dist/components/forms/FileUpload/FileUpload.mjs +447 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.cjs.js +1 -0
- package/dist/components/forms/FileUpload/FileUpload.module.css.mjs +40 -0
- package/dist/components/forms/FileUpload/index.d.ts +1 -0
- package/dist/components/forms/Input/Input.cjs.js +1 -0
- package/dist/components/forms/Input/Input.d.ts +98 -0
- package/dist/components/forms/Input/Input.mjs +147 -0
- package/dist/components/forms/Input/Input.module.css.cjs.js +1 -0
- package/dist/components/forms/Input/Input.module.css.mjs +36 -0
- package/dist/components/forms/Input/index.d.ts +1 -0
- package/dist/components/forms/NumberInput/NumberInput.cjs.js +1 -0
- package/dist/components/forms/NumberInput/NumberInput.d.ts +87 -0
- package/dist/components/forms/NumberInput/NumberInput.mjs +309 -0
- package/dist/components/forms/NumberInput/NumberInput.module.css.cjs.js +1 -0
- package/dist/components/forms/NumberInput/NumberInput.module.css.mjs +13 -0
- package/dist/components/forms/NumberInput/index.d.ts +1 -0
- package/dist/components/forms/PasswordInput/PasswordInput.cjs.js +1 -0
- package/dist/components/forms/PasswordInput/PasswordInput.d.ts +117 -0
- package/dist/components/forms/PasswordInput/PasswordInput.mjs +253 -0
- package/dist/components/forms/PasswordInput/PasswordInput.module.css.cjs.js +1 -0
- package/dist/components/forms/PasswordInput/PasswordInput.module.css.mjs +33 -0
- package/dist/components/forms/PasswordInput/index.d.ts +1 -0
- package/dist/components/forms/PinInput/PinInput.cjs.js +1 -0
- package/dist/components/forms/PinInput/PinInput.d.ts +92 -0
- package/dist/components/forms/PinInput/PinInput.mjs +221 -0
- package/dist/components/forms/PinInput/PinInput.module.css.cjs.js +1 -0
- package/dist/components/forms/PinInput/PinInput.module.css.mjs +34 -0
- package/dist/components/forms/PinInput/index.d.ts +1 -0
- package/dist/components/forms/Radio/Radio.cjs.js +1 -0
- package/dist/components/forms/Radio/Radio.d.ts +119 -0
- package/dist/components/forms/Radio/Radio.mjs +220 -0
- package/dist/components/forms/Radio/Radio.module.css.cjs.js +1 -0
- package/dist/components/forms/Radio/Radio.module.css.mjs +43 -0
- package/dist/components/forms/Radio/index.d.ts +1 -0
- package/dist/components/forms/Rating/Rating.cjs.js +1 -0
- package/dist/components/forms/Rating/Rating.d.ts +128 -0
- package/dist/components/forms/Rating/Rating.mjs +228 -0
- package/dist/components/forms/Rating/Rating.module.css.cjs.js +1 -0
- package/dist/components/forms/Rating/Rating.module.css.mjs +42 -0
- package/dist/components/forms/Rating/index.d.ts +1 -0
- package/dist/components/forms/SearchInput/SearchInput.cjs.js +1 -0
- package/dist/components/forms/SearchInput/SearchInput.d.ts +124 -0
- package/dist/components/forms/SearchInput/SearchInput.mjs +220 -0
- package/dist/components/forms/SearchInput/SearchInput.module.css.cjs.js +1 -0
- package/dist/components/forms/SearchInput/SearchInput.module.css.mjs +8 -0
- package/dist/components/forms/SearchInput/index.d.ts +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.cjs.js +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.d.ts +120 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.mjs +171 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.cjs.js +1 -0
- package/dist/components/forms/SegmentedControl/SegmentedControl.module.css.mjs +33 -0
- package/dist/components/forms/SegmentedControl/index.d.ts +1 -0
- package/dist/components/forms/Select/Select.cjs.js +1 -0
- package/dist/components/forms/Select/Select.d.ts +86 -0
- package/dist/components/forms/Select/Select.mjs +107 -0
- package/dist/components/forms/Select/Select.module.css.cjs.js +1 -0
- package/dist/components/forms/Select/Select.module.css.mjs +27 -0
- package/dist/components/forms/Select/index.d.ts +1 -0
- package/dist/components/forms/Slider/Slider.cjs.js +1 -0
- package/dist/components/forms/Slider/Slider.d.ts +84 -0
- package/dist/components/forms/Slider/Slider.mjs +251 -0
- package/dist/components/forms/Slider/Slider.module.css.cjs.js +1 -0
- package/dist/components/forms/Slider/Slider.module.css.mjs +29 -0
- package/dist/components/forms/Slider/index.d.ts +1 -0
- package/dist/components/forms/Switch/Switch.cjs.js +1 -0
- package/dist/components/forms/Switch/Switch.d.ts +62 -0
- package/dist/components/forms/Switch/Switch.mjs +135 -0
- package/dist/components/forms/Switch/Switch.module.css.cjs.js +1 -0
- package/dist/components/forms/Switch/Switch.module.css.mjs +30 -0
- package/dist/components/forms/Switch/index.d.ts +1 -0
- package/dist/components/forms/TagInput/TagInput.cjs.js +1 -0
- package/dist/components/forms/TagInput/TagInput.d.ts +144 -0
- package/dist/components/forms/TagInput/TagInput.mjs +311 -0
- package/dist/components/forms/TagInput/TagInput.module.css.cjs.js +1 -0
- package/dist/components/forms/TagInput/TagInput.module.css.mjs +22 -0
- package/dist/components/forms/TagInput/index.d.ts +1 -0
- package/dist/components/forms/Textarea/Textarea.cjs.js +1 -0
- package/dist/components/forms/Textarea/Textarea.d.ts +62 -0
- package/dist/components/forms/Textarea/Textarea.mjs +151 -0
- package/dist/components/forms/Textarea/Textarea.module.css.cjs.js +1 -0
- package/dist/components/forms/Textarea/Textarea.module.css.mjs +30 -0
- package/dist/components/forms/Textarea/index.d.ts +1 -0
- package/dist/components/forms/TimePicker/TimePicker.cjs.js +1 -0
- package/dist/components/forms/TimePicker/TimePicker.d.ts +116 -0
- package/dist/components/forms/TimePicker/TimePicker.mjs +161 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.cjs.js +1 -0
- package/dist/components/forms/TimePicker/TimePicker.module.css.mjs +9 -0
- package/dist/components/forms/TimePicker/index.d.ts +1 -0
- package/dist/components/forms/TimePicker/timeUtils.cjs.js +1 -0
- package/dist/components/forms/TimePicker/timeUtils.d.ts +23 -0
- package/dist/components/forms/TimePicker/timeUtils.mjs +117 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.cjs.js +1 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.d.ts +153 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.mjs +201 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.module.css.cjs.js +1 -0
- package/dist/components/forms/ToggleGroup/ToggleGroup.module.css.mjs +58 -0
- package/dist/components/forms/ToggleGroup/index.d.ts +1 -0
- package/dist/components/layout/Box/Box.cjs.js +1 -0
- package/dist/components/layout/Box/Box.d.ts +120 -0
- package/dist/components/layout/Box/Box.mjs +158 -0
- package/dist/components/layout/Box/Box.module.css.cjs.js +1 -0
- package/dist/components/layout/Box/Box.module.css.mjs +83 -0
- package/dist/components/layout/Box/index.d.ts +1 -0
- package/dist/components/layout/Container/Container.cjs.js +1 -0
- package/dist/components/layout/Container/Container.d.ts +30 -0
- package/dist/components/layout/Container/Container.mjs +48 -0
- package/dist/components/layout/Container/Container.module.css.cjs.js +1 -0
- package/dist/components/layout/Container/Container.module.css.mjs +43 -0
- package/dist/components/layout/Container/index.d.ts +1 -0
- package/dist/components/layout/Divider/Divider.cjs.js +1 -0
- package/dist/components/layout/Divider/Divider.d.ts +65 -0
- package/dist/components/layout/Divider/Divider.mjs +77 -0
- package/dist/components/layout/Divider/Divider.module.css.cjs.js +1 -0
- package/dist/components/layout/Divider/Divider.module.css.mjs +31 -0
- package/dist/components/layout/Divider/index.d.ts +1 -0
- package/dist/components/layout/Flex/Flex.cjs.js +1 -0
- package/dist/components/layout/Flex/Flex.d.ts +96 -0
- package/dist/components/layout/Flex/Flex.mjs +60 -0
- package/dist/components/layout/Flex/Flex.module.css.cjs.js +1 -0
- package/dist/components/layout/Flex/Flex.module.css.mjs +60 -0
- package/dist/components/layout/Flex/index.d.ts +1 -0
- package/dist/components/layout/Grid/Grid.cjs.js +1 -0
- package/dist/components/layout/Grid/Grid.d.ts +127 -0
- package/dist/components/layout/Grid/Grid.mjs +74 -0
- package/dist/components/layout/Grid/Grid.module.css.cjs.js +1 -0
- package/dist/components/layout/Grid/Grid.module.css.mjs +22 -0
- package/dist/components/layout/Grid/index.d.ts +1 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.cjs.js +1 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.d.ts +48 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.mjs +175 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.module.css.cjs.js +1 -0
- package/dist/components/layout/ResizablePanels/ResizablePanels.module.css.mjs +9 -0
- package/dist/components/layout/ResizablePanels/index.d.ts +1 -0
- package/dist/components/layout/ScrollArea/ScrollArea.cjs.js +1 -0
- package/dist/components/layout/ScrollArea/ScrollArea.d.ts +65 -0
- package/dist/components/layout/ScrollArea/ScrollArea.mjs +152 -0
- package/dist/components/layout/ScrollArea/ScrollArea.module.css.cjs.js +1 -0
- package/dist/components/layout/ScrollArea/ScrollArea.module.css.mjs +13 -0
- package/dist/components/layout/ScrollArea/index.d.ts +1 -0
- package/dist/components/layout/Stack/Stack.cjs.js +1 -0
- package/dist/components/layout/Stack/Stack.d.ts +81 -0
- package/dist/components/layout/Stack/Stack.mjs +70 -0
- package/dist/components/layout/Stack/Stack.module.css.cjs.js +1 -0
- package/dist/components/layout/Stack/Stack.module.css.mjs +43 -0
- package/dist/components/layout/Stack/index.d.ts +1 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.cjs.js +1 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.d.ts +111 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.mjs +147 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.module.css.cjs.js +1 -0
- package/dist/components/navigation/Breadcrumbs/Breadcrumbs.module.css.mjs +21 -0
- package/dist/components/navigation/Breadcrumbs/index.d.ts +1 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.cjs.js +1 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.d.ts +67 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.mjs +168 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.module.css.cjs.js +1 -0
- package/dist/components/navigation/ContextMenu/ContextMenu.module.css.mjs +7 -0
- package/dist/components/navigation/ContextMenu/index.d.ts +1 -0
- package/dist/components/navigation/Link/Link.cjs.js +1 -0
- package/dist/components/navigation/Link/Link.d.ts +93 -0
- package/dist/components/navigation/Link/Link.mjs +83 -0
- package/dist/components/navigation/Link/Link.module.css.cjs.js +1 -0
- package/dist/components/navigation/Link/Link.module.css.mjs +31 -0
- package/dist/components/navigation/Link/index.d.ts +1 -0
- package/dist/components/navigation/Menu/Menu.cjs.js +1 -0
- package/dist/components/navigation/Menu/Menu.d.ts +61 -0
- package/dist/components/navigation/Menu/Menu.mjs +72 -0
- package/dist/components/navigation/Menu/Menu.module.css.cjs.js +1 -0
- package/dist/components/navigation/Menu/Menu.module.css.mjs +22 -0
- package/dist/components/navigation/Menu/MenuContent.cjs.js +1 -0
- package/dist/components/navigation/Menu/MenuContent.d.ts +46 -0
- package/dist/components/navigation/Menu/MenuContent.mjs +180 -0
- package/dist/components/navigation/Menu/MenuContext.cjs.js +1 -0
- package/dist/components/navigation/Menu/MenuContext.d.ts +84 -0
- package/dist/components/navigation/Menu/MenuContext.mjs +60 -0
- package/dist/components/navigation/Menu/MenuItem.cjs.js +1 -0
- package/dist/components/navigation/Menu/MenuItem.d.ts +133 -0
- package/dist/components/navigation/Menu/MenuItem.mjs +250 -0
- package/dist/components/navigation/Menu/MenuSub.cjs.js +1 -0
- package/dist/components/navigation/Menu/MenuSub.d.ts +28 -0
- package/dist/components/navigation/Menu/MenuSub.mjs +93 -0
- package/dist/components/navigation/Menu/index.d.ts +1 -0
- package/dist/components/navigation/Menu/useMenuRoot.cjs.js +1 -0
- package/dist/components/navigation/Menu/useMenuRoot.d.ts +14 -0
- package/dist/components/navigation/Menu/useMenuRoot.mjs +59 -0
- package/dist/components/navigation/Navbar/Navbar.cjs.js +1 -0
- package/dist/components/navigation/Navbar/Navbar.d.ts +245 -0
- package/dist/components/navigation/Navbar/Navbar.mjs +249 -0
- package/dist/components/navigation/Navbar/Navbar.module.css.cjs.js +1 -0
- package/dist/components/navigation/Navbar/Navbar.module.css.mjs +49 -0
- package/dist/components/navigation/Navbar/index.d.ts +1 -0
- package/dist/components/navigation/Pagination/Pagination.cjs.js +1 -0
- package/dist/components/navigation/Pagination/Pagination.d.ts +97 -0
- package/dist/components/navigation/Pagination/Pagination.mjs +133 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.cjs.js +1 -0
- package/dist/components/navigation/Pagination/Pagination.module.css.mjs +19 -0
- package/dist/components/navigation/Pagination/index.d.ts +1 -0
- package/dist/components/navigation/Sidebar/Sidebar.cjs.js +1 -0
- package/dist/components/navigation/Sidebar/Sidebar.d.ts +90 -0
- package/dist/components/navigation/Sidebar/Sidebar.mjs +113 -0
- package/dist/components/navigation/Sidebar/Sidebar.module.css.cjs.js +1 -0
- package/dist/components/navigation/Sidebar/Sidebar.module.css.mjs +34 -0
- package/dist/components/navigation/Sidebar/Sidebar.storyHelpers.d.ts +27 -0
- package/dist/components/navigation/Sidebar/SidebarContext.cjs.js +1 -0
- package/dist/components/navigation/Sidebar/SidebarContext.d.ts +45 -0
- package/dist/components/navigation/Sidebar/SidebarContext.mjs +21 -0
- package/dist/components/navigation/Sidebar/SidebarParts.cjs.js +1 -0
- package/dist/components/navigation/Sidebar/SidebarParts.d.ts +179 -0
- package/dist/components/navigation/Sidebar/SidebarParts.mjs +242 -0
- package/dist/components/navigation/Sidebar/index.d.ts +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.cjs.js +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.d.ts +41 -0
- package/dist/components/navigation/SkipLink/SkipLink.mjs +52 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.cjs.js +1 -0
- package/dist/components/navigation/SkipLink/SkipLink.module.css.mjs +8 -0
- package/dist/components/navigation/SkipLink/index.d.ts +1 -0
- package/dist/components/navigation/Stepper/Stepper.cjs.js +1 -0
- package/dist/components/navigation/Stepper/Stepper.d.ts +109 -0
- package/dist/components/navigation/Stepper/Stepper.mjs +185 -0
- package/dist/components/navigation/Stepper/Stepper.module.css.cjs.js +1 -0
- package/dist/components/navigation/Stepper/Stepper.module.css.mjs +32 -0
- package/dist/components/navigation/Stepper/index.d.ts +1 -0
- package/dist/components/navigation/Tabs/Tabs.cjs.js +1 -0
- package/dist/components/navigation/Tabs/Tabs.d.ts +132 -0
- package/dist/components/navigation/Tabs/Tabs.mjs +300 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.cjs.js +1 -0
- package/dist/components/navigation/Tabs/Tabs.module.css.mjs +26 -0
- package/dist/components/navigation/Tabs/index.d.ts +1 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.d.ts +152 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.mjs +375 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.module.css.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/CommandPalette.module.css.mjs +33 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteContext.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteContext.d.ts +96 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteContext.mjs +11 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteParts.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteParts.d.ts +115 -0
- package/dist/components/overlays/CommandPalette/CommandPaletteParts.mjs +304 -0
- package/dist/components/overlays/CommandPalette/commandPaletteUtils.cjs.js +1 -0
- package/dist/components/overlays/CommandPalette/commandPaletteUtils.d.ts +50 -0
- package/dist/components/overlays/CommandPalette/commandPaletteUtils.mjs +147 -0
- package/dist/components/overlays/CommandPalette/index.d.ts +1 -0
- package/dist/components/overlays/Drawer/Drawer.cjs.js +1 -0
- package/dist/components/overlays/Drawer/Drawer.d.ts +148 -0
- package/dist/components/overlays/Drawer/Drawer.mjs +106 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.cjs.js +1 -0
- package/dist/components/overlays/Drawer/Drawer.module.css.mjs +34 -0
- package/dist/components/overlays/Drawer/Drawer.storyHelpers.d.ts +16 -0
- package/dist/components/overlays/Drawer/DrawerContent.cjs.js +1 -0
- package/dist/components/overlays/Drawer/DrawerContent.d.ts +27 -0
- package/dist/components/overlays/Drawer/DrawerContent.mjs +192 -0
- package/dist/components/overlays/Drawer/DrawerContext.cjs.js +1 -0
- package/dist/components/overlays/Drawer/DrawerContext.d.ts +39 -0
- package/dist/components/overlays/Drawer/DrawerContext.mjs +10 -0
- package/dist/components/overlays/Drawer/DrawerParts.cjs.js +1 -0
- package/dist/components/overlays/Drawer/DrawerParts.d.ts +65 -0
- package/dist/components/overlays/Drawer/DrawerParts.mjs +63 -0
- package/dist/components/overlays/Drawer/index.d.ts +1 -0
- package/dist/components/overlays/Drawer/internal.cjs.js +1 -0
- package/dist/components/overlays/Drawer/internal.d.ts +1 -0
- package/dist/components/overlays/Drawer/internal.mjs +4 -0
- package/dist/components/overlays/Drawer/useDragToClose.cjs.js +1 -0
- package/dist/components/overlays/Drawer/useDragToClose.d.ts +28 -0
- package/dist/components/overlays/Drawer/useDragToClose.mjs +42 -0
- package/dist/components/overlays/HoverCard/HoverCard.cjs.js +1 -0
- package/dist/components/overlays/HoverCard/HoverCard.d.ts +50 -0
- package/dist/components/overlays/HoverCard/HoverCard.mjs +173 -0
- package/dist/components/overlays/HoverCard/HoverCard.module.css.cjs.js +1 -0
- package/dist/components/overlays/HoverCard/HoverCard.module.css.mjs +12 -0
- package/dist/components/overlays/HoverCard/index.d.ts +1 -0
- package/dist/components/overlays/Modal/ConfirmModal.cjs.js +1 -0
- package/dist/components/overlays/Modal/ConfirmModal.d.ts +47 -0
- package/dist/components/overlays/Modal/ConfirmModal.mjs +76 -0
- package/dist/components/overlays/Modal/Modal.cjs.js +1 -0
- package/dist/components/overlays/Modal/Modal.d.ts +150 -0
- package/dist/components/overlays/Modal/Modal.mjs +153 -0
- package/dist/components/overlays/Modal/Modal.module.css.cjs.js +1 -0
- package/dist/components/overlays/Modal/Modal.module.css.mjs +36 -0
- package/dist/components/overlays/Modal/ModalContent.cjs.js +1 -0
- package/dist/components/overlays/Modal/ModalContent.d.ts +12 -0
- package/dist/components/overlays/Modal/ModalContent.mjs +160 -0
- package/dist/components/overlays/Modal/ModalContext.cjs.js +1 -0
- package/dist/components/overlays/Modal/ModalContext.d.ts +56 -0
- package/dist/components/overlays/Modal/ModalContext.mjs +10 -0
- package/dist/components/overlays/Modal/index.d.ts +2 -0
- package/dist/components/overlays/Modal/useScrollRegion.cjs.js +1 -0
- package/dist/components/overlays/Modal/useScrollRegion.d.ts +7 -0
- package/dist/components/overlays/Modal/useScrollRegion.mjs +25 -0
- package/dist/components/overlays/Popover/Popover.cjs.js +1 -0
- package/dist/components/overlays/Popover/Popover.d.ts +96 -0
- package/dist/components/overlays/Popover/Popover.mjs +150 -0
- package/dist/components/overlays/Popover/Popover.module.css.cjs.js +1 -0
- package/dist/components/overlays/Popover/Popover.module.css.mjs +16 -0
- package/dist/components/overlays/Popover/PopoverContent.cjs.js +1 -0
- package/dist/components/overlays/Popover/PopoverContent.d.ts +41 -0
- package/dist/components/overlays/Popover/PopoverContent.mjs +158 -0
- package/dist/components/overlays/Popover/PopoverContext.cjs.js +1 -0
- package/dist/components/overlays/Popover/PopoverContext.d.ts +38 -0
- package/dist/components/overlays/Popover/PopoverContext.mjs +11 -0
- package/dist/components/overlays/Popover/index.d.ts +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.cjs.js +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.d.ts +104 -0
- package/dist/components/overlays/Tooltip/Tooltip.mjs +153 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.cjs.js +1 -0
- package/dist/components/overlays/Tooltip/Tooltip.module.css.mjs +13 -0
- package/dist/components/overlays/Tooltip/index.d.ts +1 -0
- package/dist/components/primitives/Button/Button.cjs.js +1 -0
- package/dist/components/primitives/Button/Button.d.ts +123 -0
- package/dist/components/primitives/Button/Button.mjs +194 -0
- package/dist/components/primitives/Button/Button.module.css.cjs.js +1 -0
- package/dist/components/primitives/Button/Button.module.css.mjs +63 -0
- package/dist/components/primitives/Button/index.d.ts +1 -0
- package/dist/components/primitives/Icon/Icon.cjs.js +1 -0
- package/dist/components/primitives/Icon/Icon.d.ts +17 -0
- package/dist/components/primitives/Icon/Icon.mjs +11 -0
- package/dist/components/primitives/Icon/Icon.module.css.cjs.js +1 -0
- package/dist/components/primitives/Icon/Icon.module.css.mjs +21 -0
- package/dist/components/primitives/Icon/IconSvg.cjs.js +1 -0
- package/dist/components/primitives/Icon/IconSvg.d.ts +31 -0
- package/dist/components/primitives/Icon/IconSvg.mjs +47 -0
- package/dist/components/primitives/Icon/icons.cjs.js +1 -0
- package/dist/components/primitives/Icon/icons.d.ts +315 -0
- package/dist/components/primitives/Icon/icons.mjs +285 -0
- package/dist/components/primitives/Icon/index.d.ts +2 -0
- package/dist/components/primitives/Kbd/Kbd.cjs.js +1 -0
- package/dist/components/primitives/Kbd/Kbd.d.ts +81 -0
- package/dist/components/primitives/Kbd/Kbd.mjs +175 -0
- package/dist/components/primitives/Kbd/Kbd.module.css.cjs.js +1 -0
- package/dist/components/primitives/Kbd/Kbd.module.css.mjs +16 -0
- package/dist/components/primitives/Kbd/index.d.ts +1 -0
- package/dist/components/primitives/Typography/Typography.cjs.js +1 -0
- package/dist/components/primitives/Typography/Typography.d.ts +111 -0
- package/dist/components/primitives/Typography/Typography.mjs +147 -0
- package/dist/components/primitives/Typography/Typography.module.css.cjs.js +1 -0
- package/dist/components/primitives/Typography/Typography.module.css.mjs +49 -0
- package/dist/components/primitives/Typography/index.d.ts +1 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.cjs.js +1 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.d.ts +58 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.mjs +40 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.module.css.cjs.js +1 -0
- package/dist/components/utilities/LocaleProvider/LocaleProvider.module.css.mjs +4 -0
- package/dist/components/utilities/LocaleProvider/index.d.ts +1 -0
- package/dist/components/utilities/Portal/Portal.cjs.js +1 -0
- package/dist/components/utilities/Portal/Portal.d.ts +23 -0
- package/dist/components/utilities/Portal/Portal.mjs +27 -0
- package/dist/components/utilities/Portal/index.d.ts +1 -0
- package/dist/components/utilities/Theme/Theme.cjs.js +1 -0
- package/dist/components/utilities/Theme/Theme.d.ts +79 -0
- package/dist/components/utilities/Theme/Theme.mjs +86 -0
- package/dist/components/utilities/Theme/Theme.module.css.cjs.js +1 -0
- package/dist/components/utilities/Theme/Theme.module.css.mjs +7 -0
- package/dist/components/utilities/Theme/index.d.ts +1 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.cjs.js +1 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.d.ts +4 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.mjs +10 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.module.css.cjs.js +1 -0
- package/dist/components/utilities/VisuallyHidden/VisuallyHidden.module.css.mjs +4 -0
- package/dist/components/utilities/VisuallyHidden/index.d.ts +1 -0
- package/dist/hooks/elementSource.cjs.js +1 -0
- package/dist/hooks/elementSource.d.ts +16 -0
- package/dist/hooks/elementSource.mjs +17 -0
- package/dist/hooks/index.d.ts +21 -0
- package/dist/hooks/useClipboard.cjs.js +1 -0
- package/dist/hooks/useClipboard.d.ts +24 -0
- package/dist/hooks/useClipboard.mjs +23 -0
- package/dist/hooks/useControllableState.cjs.js +1 -0
- package/dist/hooks/useControllableState.d.ts +15 -0
- package/dist/hooks/useControllableState.mjs +13 -0
- package/dist/hooks/useDisclosure.cjs.js +1 -0
- package/dist/hooks/useDisclosure.d.ts +35 -0
- package/dist/hooks/useDisclosure.mjs +29 -0
- package/dist/hooks/useDismiss.cjs.js +1 -0
- package/dist/hooks/useDismiss.d.ts +33 -0
- package/dist/hooks/useDismiss.mjs +15 -0
- package/dist/hooks/useElementObservers.cjs.js +1 -0
- package/dist/hooks/useElementObservers.d.ts +70 -0
- package/dist/hooks/useElementObservers.mjs +88 -0
- package/dist/hooks/useEnvironment.cjs.js +1 -0
- package/dist/hooks/useEnvironment.d.ts +42 -0
- package/dist/hooks/useEnvironment.mjs +36 -0
- package/dist/hooks/useFloatingPosition.cjs.js +1 -0
- package/dist/hooks/useFloatingPosition.d.ts +55 -0
- package/dist/hooks/useFloatingPosition.mjs +116 -0
- package/dist/hooks/useFocusTrap.cjs.js +1 -0
- package/dist/hooks/useFocusTrap.d.ts +52 -0
- package/dist/hooks/useFocusTrap.mjs +93 -0
- package/dist/hooks/useFormReset.cjs.js +1 -0
- package/dist/hooks/useFormReset.d.ts +17 -0
- package/dist/hooks/useFormReset.mjs +16 -0
- package/dist/hooks/useFormValidation.cjs.js +1 -0
- package/dist/hooks/useFormValidation.d.ts +101 -0
- package/dist/hooks/useFormValidation.mjs +187 -0
- package/dist/hooks/useHotkeys.cjs.js +1 -0
- package/dist/hooks/useHotkeys.d.ts +50 -0
- package/dist/hooks/useHotkeys.mjs +39 -0
- package/dist/hooks/useInertOutside.cjs.js +1 -0
- package/dist/hooks/useInertOutside.d.ts +23 -0
- package/dist/hooks/useInertOutside.mjs +83 -0
- package/dist/hooks/useMediaQuery.cjs.js +1 -0
- package/dist/hooks/useMediaQuery.d.ts +11 -0
- package/dist/hooks/useMediaQuery.mjs +13 -0
- package/dist/hooks/useMergedRef.cjs.js +1 -0
- package/dist/hooks/useMergedRef.d.ts +7 -0
- package/dist/hooks/useMergedRef.mjs +8 -0
- package/dist/hooks/useOverlayLayer.cjs.js +1 -0
- package/dist/hooks/useOverlayLayer.d.ts +92 -0
- package/dist/hooks/useOverlayLayer.mjs +163 -0
- package/dist/hooks/useResponsiveValue.cjs.js +1 -0
- package/dist/hooks/useResponsiveValue.d.ts +10 -0
- package/dist/hooks/useResponsiveValue.mjs +14 -0
- package/dist/hooks/useScrollLock.cjs.js +1 -0
- package/dist/hooks/useScrollLock.d.ts +4 -0
- package/dist/hooks/useScrollLock.mjs +30 -0
- package/dist/hooks/useStorage.cjs.js +1 -0
- package/dist/hooks/useStorage.d.ts +21 -0
- package/dist/hooks/useStorage.mjs +70 -0
- package/dist/hooks/useTiming.cjs.js +1 -0
- package/dist/hooks/useTiming.d.ts +78 -0
- package/dist/hooks/useTiming.mjs +100 -0
- package/dist/hooks/useVirtualizer.cjs.js +1 -0
- package/dist/hooks/useVirtualizer.d.ts +77 -0
- package/dist/hooks/useVirtualizer.mjs +115 -0
- package/dist/i18n/en.cjs.js +1 -0
- package/dist/i18n/en.d.ts +3 -0
- package/dist/i18n/en.mjs +565 -0
- package/dist/i18n/index.d.ts +4 -0
- package/dist/i18n/locales/ar.d.ts +3 -0
- package/dist/i18n/locales/bn.d.ts +3 -0
- package/dist/i18n/locales/cs.d.ts +3 -0
- package/dist/i18n/locales/da.d.ts +3 -0
- package/dist/i18n/locales/de.d.ts +3 -0
- package/dist/i18n/locales/el.d.ts +3 -0
- package/dist/i18n/locales/es.d.ts +3 -0
- package/dist/i18n/locales/fa.d.ts +3 -0
- package/dist/i18n/locales/fi.d.ts +3 -0
- package/dist/i18n/locales/fr.d.ts +3 -0
- package/dist/i18n/locales/he.d.ts +3 -0
- package/dist/i18n/locales/hi.d.ts +3 -0
- package/dist/i18n/locales/hu.d.ts +3 -0
- package/dist/i18n/locales/id.d.ts +3 -0
- package/dist/i18n/locales/it.d.ts +3 -0
- package/dist/i18n/locales/ja.d.ts +3 -0
- package/dist/i18n/locales/ko.d.ts +3 -0
- package/dist/i18n/locales/nb.d.ts +3 -0
- package/dist/i18n/locales/nl.d.ts +3 -0
- package/dist/i18n/locales/pl.d.ts +3 -0
- package/dist/i18n/locales/pt-BR.d.ts +3 -0
- package/dist/i18n/locales/ro.d.ts +3 -0
- package/dist/i18n/locales/ru.d.ts +3 -0
- package/dist/i18n/locales/sv.d.ts +3 -0
- package/dist/i18n/locales/th.d.ts +3 -0
- package/dist/i18n/locales/tr.d.ts +3 -0
- package/dist/i18n/locales/uk.d.ts +3 -0
- package/dist/i18n/locales/ur.d.ts +3 -0
- package/dist/i18n/locales/vi.d.ts +3 -0
- package/dist/i18n/locales/zh-Hans.d.ts +3 -0
- package/dist/i18n/locales/zh-Hant.d.ts +3 -0
- package/dist/i18n/merge.cjs.js +1 -0
- package/dist/i18n/merge.d.ts +6 -0
- package/dist/i18n/merge.mjs +12 -0
- package/dist/i18n/plural.cjs.js +1 -0
- package/dist/i18n/plural.d.ts +45 -0
- package/dist/i18n/plural.mjs +43 -0
- package/dist/i18n/types.d.ts +619 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.d.ts +81 -0
- package/dist/index.mjs +143 -0
- package/dist/locales/ar.cjs.js +1 -0
- package/dist/locales/ar.d.ts +6 -0
- package/dist/locales/ar.mjs +585 -0
- package/dist/locales/bn.cjs.js +1 -0
- package/dist/locales/bn.d.ts +6 -0
- package/dist/locales/bn.mjs +512 -0
- package/dist/locales/cs.cjs.js +1 -0
- package/dist/locales/cs.d.ts +6 -0
- package/dist/locales/cs.mjs +594 -0
- package/dist/locales/da.cjs.js +1 -0
- package/dist/locales/da.d.ts +6 -0
- package/dist/locales/da.mjs +562 -0
- package/dist/locales/de.cjs.js +1 -0
- package/dist/locales/de.d.ts +6 -0
- package/dist/locales/de.mjs +562 -0
- package/dist/locales/el.cjs.js +1 -0
- package/dist/locales/el.d.ts +6 -0
- package/dist/locales/el.mjs +562 -0
- package/dist/locales/es.cjs.js +1 -0
- package/dist/locales/es.d.ts +6 -0
- package/dist/locales/es.mjs +565 -0
- package/dist/locales/fa.cjs.js +1 -0
- package/dist/locales/fa.d.ts +6 -0
- package/dist/locales/fa.mjs +512 -0
- package/dist/locales/fi.cjs.js +1 -0
- package/dist/locales/fi.d.ts +6 -0
- package/dist/locales/fi.mjs +562 -0
- package/dist/locales/fr.cjs.js +1 -0
- package/dist/locales/fr.d.ts +6 -0
- package/dist/locales/fr.mjs +565 -0
- package/dist/locales/he.cjs.js +1 -0
- package/dist/locales/he.d.ts +6 -0
- package/dist/locales/he.mjs +573 -0
- package/dist/locales/hi.cjs.js +1 -0
- package/dist/locales/hi.d.ts +6 -0
- package/dist/locales/hi.mjs +562 -0
- package/dist/locales/hu.cjs.js +1 -0
- package/dist/locales/hu.d.ts +6 -0
- package/dist/locales/hu.mjs +512 -0
- package/dist/locales/id.cjs.js +1 -0
- package/dist/locales/id.d.ts +6 -0
- package/dist/locales/id.mjs +512 -0
- package/dist/locales/it.cjs.js +1 -0
- package/dist/locales/it.d.ts +6 -0
- package/dist/locales/it.mjs +565 -0
- package/dist/locales/ja.cjs.js +1 -0
- package/dist/locales/ja.d.ts +6 -0
- package/dist/locales/ja.mjs +512 -0
- package/dist/locales/ko.cjs.js +1 -0
- package/dist/locales/ko.d.ts +6 -0
- package/dist/locales/ko.mjs +512 -0
- package/dist/locales/nb.cjs.js +1 -0
- package/dist/locales/nb.d.ts +6 -0
- package/dist/locales/nb.mjs +562 -0
- package/dist/locales/nl.cjs.js +1 -0
- package/dist/locales/nl.d.ts +6 -0
- package/dist/locales/nl.mjs +562 -0
- package/dist/locales/pl.cjs.js +1 -0
- package/dist/locales/pl.d.ts +6 -0
- package/dist/locales/pl.mjs +594 -0
- package/dist/locales/pt-BR.cjs.js +1 -0
- package/dist/locales/pt-BR.d.ts +6 -0
- package/dist/locales/pt-BR.mjs +565 -0
- package/dist/locales/ro.cjs.js +1 -0
- package/dist/locales/ro.d.ts +6 -0
- package/dist/locales/ro.mjs +578 -0
- package/dist/locales/ru.cjs.js +1 -0
- package/dist/locales/ru.d.ts +6 -0
- package/dist/locales/ru.mjs +594 -0
- package/dist/locales/sv.cjs.js +1 -0
- package/dist/locales/sv.d.ts +6 -0
- package/dist/locales/sv.mjs +562 -0
- package/dist/locales/th.cjs.js +1 -0
- package/dist/locales/th.d.ts +6 -0
- package/dist/locales/th.mjs +512 -0
- package/dist/locales/tr.cjs.js +1 -0
- package/dist/locales/tr.d.ts +6 -0
- package/dist/locales/tr.mjs +512 -0
- package/dist/locales/uk.cjs.js +1 -0
- package/dist/locales/uk.d.ts +6 -0
- package/dist/locales/uk.mjs +594 -0
- package/dist/locales/ur.cjs.js +1 -0
- package/dist/locales/ur.d.ts +6 -0
- package/dist/locales/ur.mjs +562 -0
- package/dist/locales/vi.cjs.js +1 -0
- package/dist/locales/vi.d.ts +6 -0
- package/dist/locales/vi.mjs +512 -0
- package/dist/locales/zh-Hans.cjs.js +1 -0
- package/dist/locales/zh-Hans.d.ts +6 -0
- package/dist/locales/zh-Hans.mjs +512 -0
- package/dist/locales/zh-Hant.cjs.js +1 -0
- package/dist/locales/zh-Hant.d.ts +6 -0
- package/dist/locales/zh-Hant.mjs +512 -0
- package/dist/types/common.cjs.js +1 -0
- package/dist/types/common.d.ts +31 -0
- package/dist/types/common.mjs +10 -0
- package/dist/types/style.d.ts +7 -0
- package/dist/utils/announce.cjs.js +1 -0
- package/dist/utils/announce.d.ts +1 -0
- package/dist/utils/announce.mjs +26 -0
- package/dist/utils/brandPalette.cjs.js +3 -0
- package/dist/utils/brandPalette.d.ts +146 -0
- package/dist/utils/brandPalette.mjs +387 -0
- package/dist/utils/clipboard.cjs.js +1 -0
- package/dist/utils/clipboard.d.ts +6 -0
- package/dist/utils/clipboard.mjs +21 -0
- package/dist/utils/cx.cjs.js +1 -0
- package/dist/utils/cx.d.ts +2 -0
- package/dist/utils/cx.mjs +6 -0
- package/dist/utils/fillSlot.cjs.js +1 -0
- package/dist/utils/fillSlot.d.ts +9 -0
- package/dist/utils/fillSlot.mjs +5 -0
- package/dist/utils/flattenChildren.cjs.js +1 -0
- package/dist/utils/flattenChildren.d.ts +8 -0
- package/dist/utils/flattenChildren.mjs +7 -0
- package/dist/utils/hotkeys.cjs.js +1 -0
- package/dist/utils/hotkeys.d.ts +27 -0
- package/dist/utils/hotkeys.mjs +45 -0
- package/dist/utils/index.d.ts +11 -0
- package/dist/utils/refs.cjs.js +1 -0
- package/dist/utils/refs.d.ts +15 -0
- package/dist/utils/refs.mjs +27 -0
- package/dist/utils/responsive.cjs.js +1 -0
- package/dist/utils/responsive.d.ts +43 -0
- package/dist/utils/responsive.mjs +63 -0
- package/dist/utils/slot.cjs.js +1 -0
- package/dist/utils/slot.d.ts +11 -0
- package/dist/utils/slot.mjs +21 -0
- package/dist/utils/validators.cjs.js +1 -0
- package/dist/utils/validators.d.ts +72 -0
- package/dist/utils/validators.mjs +61 -0
- package/dist/vjdesigns-ui.css +2 -0
- package/package.json +88 -6
package/dist/ai/llms.txt
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
# @vjdesigns/vjdesigns-ui
|
|
2
|
+
|
|
3
|
+
> Accessible React 19 component library: WCAG 2.2 AA verified (axe on every story, a contrast check on every color pair), 31 languages with right-to-left support, themeable with any brand color (auto-adjusted to stay accessible), tree-shakable, no runtime dependencies besides React.
|
|
4
|
+
|
|
5
|
+
- Install: `npm install @vjdesigns/vjdesigns-ui` (peer: react, react-dom 18 or 19).
|
|
6
|
+
- Import the stylesheet once: `import "@vjdesigns/vjdesigns-ui/dist/vjdesigns-ui.css";`
|
|
7
|
+
- Import components from the package root: `import { Button, Field, Input } from "@vjdesigns/vjdesigns-ui";`
|
|
8
|
+
- Theme: wrap the app in `<Theme brand="blue" | "purple" | ... | "#hex" mode="light" | "dark" accent="brand" | "lime" | "#hex">`.
|
|
9
|
+
- Language: `<LocaleProvider locale="es" messages={es}>` with `import es from "@vjdesigns/vjdesigns-ui/locales/es"`.
|
|
10
|
+
- Forms: wrap each control in `Field` (label, hint, error, required); validate with `useFormValidation` + `ErrorSummary`.
|
|
11
|
+
- Style with the props (variant, tone, size) and the --color-*, --space-*, --radius-* CSS variables; don't override internal class names.
|
|
12
|
+
|
|
13
|
+
## Docs
|
|
14
|
+
|
|
15
|
+
- [Full reference](llms-full.txt): setup, theming, languages, form validation, and every component's props, subcomponents, and examples.
|
|
16
|
+
- [Registry](registry.json): the same as JSON (components, props, hooks, utilities, guides).
|
|
17
|
+
- MCP server: `npx -p @vjdesigns/vjdesigns-ui vjdesigns-ui-mcp` (tools: list_components, get_component, search_docs, get_guide).
|
|
18
|
+
|
|
19
|
+
## Data-display
|
|
20
|
+
|
|
21
|
+
- [Accordion](llms-full.txt#accordion): A vertically stacked set of headings that each reveal a section of content.
|
|
22
|
+
- [Avatar](llms-full.txt#avatar): A person's picture, with a fallback chain of image, initials, then a user icon.
|
|
23
|
+
- [AvatarGroup](llms-full.txt#avatargroup): Overlapping stack of avatars in a labelled `role="group"`.
|
|
24
|
+
- [Badge](llms-full.txt#badge): A small, non-interactive status or label pill.
|
|
25
|
+
- [BadgeAnchor](llms-full.txt#badgeanchor): Pins a count, dot, or short label to a corner of its child.
|
|
26
|
+
- [Card](llms-full.txt#card): A soft, rounded surface that groups related content.
|
|
27
|
+
- [Carousel](llms-full.txt#carousel): A row of slides that scroll horizontally with CSS scroll snap (so touch, trackpad, and swipe work natively), plus Previous / Next buttons, optional slide picker indicators, and optional autoplay with a Pause / Play button.
|
|
28
|
+
- [Chip](llms-full.txt#chip): A compact pill for tags, filters, and selections.
|
|
29
|
+
- [ChipGroup](llms-full.txt#chipgroup): Lays out chips with a gap and wraps them.
|
|
30
|
+
- [Code](llms-full.txt#code): Inline code inside running text, e.g. a prop name or a command.
|
|
31
|
+
- [CodeBlock](llms-full.txt#codeblock): A block of source code with a header (language and filename), a copy button, optional line numbers, highlighted lines, and diff gutters.
|
|
32
|
+
- [DataGrid](llms-full.txt#datagrid): An interactive data table (WAI-ARIA APG "Data Grid"): sortable columns (with Shift for multi-column sorts), search filtering, single or multiple row selection, pagination, and a full keyboard model.
|
|
33
|
+
- [EmptyState](llms-full.txt#emptystate): A friendly, centered block for "no data", "no results", "error", and first-run moments.
|
|
34
|
+
- [Image](llms-full.txt#image): A native `<img>` in a frame that reserves its aspect ratio, shows a placeholder while loading, fades the picture in, and falls back gracefully on errors (`fallbackSrc`, then a `fallback` box that keeps the `alt` text as its accessible name).
|
|
35
|
+
- [List](llms-full.txt#list): A semantic list (`<ul>` or `<ol>`) with styled markers and rich items.
|
|
36
|
+
- [Stat](llms-full.txt#stat): A big, bold number with a label, for dashboards and box scores: points, revenue, completion rates.
|
|
37
|
+
- [StatGroup](llms-full.txt#statgroup): A responsive row or grid of `Stat`s, such as a player's box-score line.
|
|
38
|
+
- [Table](llms-full.txt#table): Semantic data table.
|
|
39
|
+
- [Timeline](llms-full.txt#timeline): A vertical or horizontal sequence of events or steps, rendered as an ordered list.
|
|
40
|
+
- [TreeView](llms-full.txt#treeview): A hierarchical list (WAI-ARIA Tree View pattern) for file explorers, org charts, and nested categories.
|
|
41
|
+
- [VirtualList](llms-full.txt#virtuallist): A list that renders only the items in view, so tens of thousands of rows scroll smoothly.
|
|
42
|
+
|
|
43
|
+
## Feedback
|
|
44
|
+
|
|
45
|
+
- [Alert](llms-full.txt#alert): An inline, in-page message: info, success, warning, danger, or neutral.
|
|
46
|
+
- [Banner](llms-full.txt#banner): A full-width, page-level strip for announcements, promos, cookie notices, trial reminders, maintenance windows, and connection status.
|
|
47
|
+
- [CircularProgress](llms-full.txt#circularprogress): Ring-shaped progress indicator with rounded caps and an optional center slot.
|
|
48
|
+
- [ErrorSummary](llms-full.txt#errorsummary): The list of a form's errors, shown above it after a failed submit: a danger `Alert` whose items link to their fields (activating one moves focus to the field).
|
|
49
|
+
- [Progress](llms-full.txt#progress): Linear progress bar.
|
|
50
|
+
- [ProgressSegments](llms-full.txt#progresssegments): Stacked bar made of labeled parts, with a legend (e.g. storage usage).
|
|
51
|
+
- [Skeleton](llms-full.txt#skeleton): A soft, rounded placeholder shown while content loads.
|
|
52
|
+
- [SkeletonAvatar](llms-full.txt#skeletonavatar): A placeholder the exact size and shape of an `Avatar`.
|
|
53
|
+
- [SkeletonCircle](llms-full.txt#skeletoncircle): A circular placeholder in `Avatar` sizes (`SkeletonAvatar` with `shape="circle"`).
|
|
54
|
+
- [SkeletonGroup](llms-full.txt#skeletongroup): Wraps a loading region so screen readers get one announcement instead of one per placeholder.
|
|
55
|
+
- [SkeletonText](llms-full.txt#skeletontext): Lines of placeholder text, sized like real `Text` or `Heading` content so nothing jumps when the text arrives.
|
|
56
|
+
- [Spinner](llms-full.txt#spinner): An indeterminate loading indicator.
|
|
57
|
+
- [Toast](llms-full.txt#toast): The toast card: a raised, rounded surface with a tone icon in a tinted circle, a bold title, a description, an optional action, and a close button.
|
|
58
|
+
- [ToastProvider](llms-full.txt#toastprovider): Renders the toast viewport (in a portal) and provides `useToast()`.
|
|
59
|
+
|
|
60
|
+
## Forms
|
|
61
|
+
|
|
62
|
+
- [Calendar](llms-full.txt#calendar): A month grid for picking a date or a date range, following the WAI-ARIA date picker grid pattern: arrow keys move by day and week, Home/End to the week's edges, PageUp/PageDown by month (with Shift, by year), and Enter or Space selects.
|
|
63
|
+
- [CheckBox](llms-full.txt#checkbox): A checkbox with a label and an optional description.
|
|
64
|
+
- [CheckBoxGroup](llms-full.txt#checkboxgroup): A labelled set of checkboxes sharing one `string[]` value.
|
|
65
|
+
- [ColorInput](llms-full.txt#colorinput): A pill field showing a swatch and the color value; pressing it opens a `ColorPicker` in a `Popover` (a non-modal dialog on the shared overlay layer stack: Escape and outside presses close it, focus returns to the field).
|
|
66
|
+
- [ColorPicker](llms-full.txt#colorpicker): An inline color picker: a 2D saturation / brightness area, a hue slider, an optional opacity slider, a text field, optional preset swatches, and an eyedropper (when the browser supports it).
|
|
67
|
+
- [Combobox](llms-full.txt#combobox): An editable combobox with a list of suggestions (WAI-ARIA APG Combobox, "list autocomplete" with a listbox popup).
|
|
68
|
+
- [DatePicker](llms-full.txt#datepicker): A date field: type a date in the locale's short format (or ISO), or press the calendar button to pick one from a `Calendar` in a popup dialog.
|
|
69
|
+
- [DateRangePicker](llms-full.txt#daterangepicker): A date range field: two text fields (start and end) typed in the locale's short format, plus a calendar button that opens a range `Calendar` (two months by default) in a modal popup.
|
|
70
|
+
- [DateTimePicker](llms-full.txt#datetimepicker): A date and a time together: a `DatePicker` and a `TimePicker` side by side, with one value, "YYYY-MM-DDTHH:mm" (the format of a native `datetime-local` input, with no time zone).
|
|
71
|
+
- [Field](llms-full.txt#field): Wraps one form control with a label, hint, and error message, and wires them together: `<label for>`, `aria-describedby`, `aria-invalid`, `aria-errormessage`, `required`, and `disabled` all flow to the control through `FieldContext`.
|
|
72
|
+
- [FieldError](llms-full.txt#fielderror): Error message for a Field, with a leading decorative error icon so the state isn't conveyed by color alone.
|
|
73
|
+
- [FieldHint](llms-full.txt#fieldhint): Help text for a Field.
|
|
74
|
+
- [FieldLabel](llms-full.txt#fieldlabel): The label of a Field.
|
|
75
|
+
- [FieldProvider](llms-full.txt#fieldprovider): Provides `FieldContext` without rendering any markup, for fully custom layouts built from `FieldLabel`, `FieldHint`, and `FieldError`.
|
|
76
|
+
- [Fieldset](llms-full.txt#fieldset): Group mode of Field: a `<fieldset>` with a `<legend>`, for a set of related controls (RadioGroup, CheckBoxGroup, or native radios and checkboxes).
|
|
77
|
+
- [FileUpload](llms-full.txt#fileupload): File picker with drag and drop, validation, and a file list.
|
|
78
|
+
- [Input](llms-full.txt#input): A single-line text field built on the native `<input>`.
|
|
79
|
+
- [NumberInput](llms-full.txt#numberinput): A numeric text field following the WAI-ARIA spinbutton pattern.
|
|
80
|
+
- [PasswordInput](llms-full.txt#passwordinput): A password field built on `Input`, with a show/hide toggle, a Caps Lock warning, an optional strength meter, and an optional requirements checklist.
|
|
81
|
+
- [PinInput](llms-full.txt#pininput): A one-time-code or PIN entry shown as a row of cells.
|
|
82
|
+
- [Radio](llms-full.txt#radio): A single option in a `RadioGroup`: a native radio (visually hidden but focusable) with a custom ring-and-dot indicator and a clickable label.
|
|
83
|
+
- [RadioCard](llms-full.txt#radiocard): A large, card-style radio option.
|
|
84
|
+
- [RadioGroup](llms-full.txt#radiogroup): A set of mutually exclusive options.
|
|
85
|
+
- [Rating](llms-full.txt#rating): An editable star (or custom icon) rating, built on real native radios (visually hidden but focusable, sharing one `name`) inside `role="radiogroup"`.
|
|
86
|
+
- [RatingDisplay](llms-full.txt#ratingdisplay): A read-only rating: a row of icons with fractional fill, exposed to assistive tech as a single `role="img"` named "Rated 4.5 out of 5", optionally followed by the value ("4.5 / 5") and a review count.
|
|
87
|
+
- [SearchForm](llms-full.txt#searchform): A `<form role="search">` landmark around a `SearchInput`, so screen reader users can jump straight to search.
|
|
88
|
+
- [SearchInput](llms-full.txt#searchinput): A search field built on `Input`: `type="search"`, a search icon, a clear button, and pill rounding by default.
|
|
89
|
+
- [SegmentedControl](llms-full.txt#segmentedcontrol): Single-choice segmented control.
|
|
90
|
+
- [Select](llms-full.txt#select): Styled native `<select>`.
|
|
91
|
+
- [Slider](llms-full.txt#slider): Pick a number, or a `[start, end]` range, on a pill track.
|
|
92
|
+
- [Switch](llms-full.txt#switch): An on/off toggle for settings that take effect immediately.
|
|
93
|
+
- [TagInput](llms-full.txt#taginput): A text field that turns entries into removable tags (chips).
|
|
94
|
+
- [Textarea](llms-full.txt#textarea): Multi-line text field.
|
|
95
|
+
- [TimePicker](llms-full.txt#timepicker): A time field: type a time in almost any form ("2:30 pm", "1430", "230p", "14h30", the locale's own format), or pick one from a list of times `step` minutes apart.
|
|
96
|
+
- [ToggleButton](llms-full.txt#togglebutton): A button that stays pressed or unpressed (`<button type="button" aria-pressed>`), for on/off options like Bold or "Show starters only".
|
|
97
|
+
- [ToggleGroup](llms-full.txt#togglegroup): A set of toggle buttons (`role="group"`, or `role="toolbar"`) sharing one value.
|
|
98
|
+
|
|
99
|
+
## Layout
|
|
100
|
+
|
|
101
|
+
- [Box](llms-full.txt#box): Box: the polymorphic base building block.
|
|
102
|
+
- [Container](llms-full.txt#container): Centers content with a max width and responsive side gutters.
|
|
103
|
+
- [Divider](llms-full.txt#divider): A line that separates content, horizontally or vertically, with an optional inline label.
|
|
104
|
+
- [Flex](llms-full.txt#flex): Full flexbox container: direction (fixed or responsive), wrapping, alignment on both axes, line distribution, and token-based gaps.
|
|
105
|
+
- [Grid](llms-full.txt#grid): A CSS grid container.
|
|
106
|
+
- [HStack](llms-full.txt#hstack): A horizontal Stack (`direction="row"`).
|
|
107
|
+
- [ResizablePanels](llms-full.txt#resizablepanels): Panels split by draggable handles: a sidebar and a main area, an editor and a preview, nested in either direction.
|
|
108
|
+
- [ScrollArea](llms-full.txt#scrollarea): A scrolling region with slim, on-brand scrollbars that work the same in every browser.
|
|
109
|
+
- [Stack](llms-full.txt#stack): One-dimensional flex layout.
|
|
110
|
+
- [VStack](llms-full.txt#vstack): A vertical Stack (`direction="column"`).
|
|
111
|
+
|
|
112
|
+
## Navigation
|
|
113
|
+
|
|
114
|
+
- [Breadcrumbs](llms-full.txt#breadcrumbs): A trail of links showing where the current page sits in the site hierarchy.
|
|
115
|
+
- [ContextMenu](llms-full.txt#contextmenu): A menu that opens at the pointer on right-click (or a long press on touch screens), for actions on the thing under the pointer.
|
|
116
|
+
- [Link](llms-full.txt#link): Accessible text link.
|
|
117
|
+
- [Menu](llms-full.txt#menu): A dropdown menu of actions or options, opened from a button (WAI-ARIA APG "Menu Button" and "Menu" patterns).
|
|
118
|
+
- [Navbar](llms-full.txt#navbar): The top header of an app or site.
|
|
119
|
+
- [Pagination](llms-full.txt#pagination): Page navigation: a `<nav>` landmark with a list of pill page buttons, Previous/Next arrows, optional First/Last, and gaps for long ranges.
|
|
120
|
+
- [Sidebar](llms-full.txt#sidebar): App side navigation.
|
|
121
|
+
- [SkipLink](llms-full.txt#skiplink): Bypass link (WCAG 2.4.1) that stays visually hidden until it receives keyboard focus, then springs in as a high-contrast pill at the top start corner of the viewport, above every other layer.
|
|
122
|
+
- [SkipLinks](llms-full.txt#skiplinks): Groups several skip links (for example navigation, search, and main content) as a list.
|
|
123
|
+
- [Stepper](llms-full.txt#stepper): Multi-step progress indicator for wizards and checkout flows, rendered as an ordered list in a labelled group (or a `nav` when steps are clickable).
|
|
124
|
+
- [Tabs](llms-full.txt#tabs): Tabs root.
|
|
125
|
+
|
|
126
|
+
## Overlays
|
|
127
|
+
|
|
128
|
+
- [CommandPalette](llms-full.txt#commandpalette): A modal command menu: a search field over a filtered, grouped list of commands, opened with a global hotkey (Cmd/Ctrl+K by default).
|
|
129
|
+
- [ConfirmModal](llms-full.txt#confirmmodal): A ready-made confirmation (`role="alertdialog"`) built on `Modal`.
|
|
130
|
+
- [Drawer](llms-full.txt#drawer): A panel that slides in from an edge of the screen: navigation, filters, details, or a mobile bottom sheet.
|
|
131
|
+
- [HoverCard](llms-full.txt#hovercard): A preview card that opens while the pointer rests on a link or button, or while it has keyboard focus: a player's profile behind their name, a page preview behind a link.
|
|
132
|
+
- [Modal](llms-full.txt#modal): An accessible modal dialog (WAI-ARIA APG "Dialog (Modal)" pattern).
|
|
133
|
+
- [Popover](llms-full.txt#popover): A non-modal dialog anchored to a trigger, for interactive content: short forms, profile cards, settings, pickers.
|
|
134
|
+
- [Tooltip](llms-full.txt#tooltip): A short, non-interactive label or description that appears on hover and on keyboard focus.
|
|
135
|
+
- [TooltipProvider](llms-full.txt#tooltipprovider): Optional.
|
|
136
|
+
|
|
137
|
+
## Primitives
|
|
138
|
+
|
|
139
|
+
- [Button](llms-full.txt#button): The library's primary action control.
|
|
140
|
+
- [ButtonGroup](llms-full.txt#buttongroup): Groups related buttons (`role="group"`).
|
|
141
|
+
- [Display](llms-full.txt#display): Hero-sized heading: `Heading` with `level={1}`, `size="6xl"`, and `weight="black"` by default.
|
|
142
|
+
- [Eyebrow](llms-full.txt#eyebrow): Short uppercase overline above a heading, in the display font.
|
|
143
|
+
- [Heading](llms-full.txt#heading): Athletic display heading in `--font-display`: bold, tight, high contrast.
|
|
144
|
+
- [Icon](llms-full.txt#icon): Inline SVG icon.
|
|
145
|
+
- [IconButton](llms-full.txt#iconbutton): A square (or circular, by default) button that shows only an icon.
|
|
146
|
+
- [Kbd](llms-full.txt#kbd): A single keyboard key, rendered as a native `<kbd>` styled like a physical key cap.
|
|
147
|
+
- [KbdShortcut](llms-full.txt#kbdshortcut): A key combination or sequence.
|
|
148
|
+
- [Text](llms-full.txt#text): Friendly body text in `--font-body`.
|
|
149
|
+
|
|
150
|
+
## Utilities
|
|
151
|
+
|
|
152
|
+
- [LocaleProvider](llms-full.txt#localeprovider): Sets the language of every component inside: built-in labels and screen-reader text, date and number formats, plurals, and writing direction.
|
|
153
|
+
- [Portal](llms-full.txt#portal): Renders children at the end of document.body (or `container`) so overlays escape parent overflow and stacking contexts.
|
|
154
|
+
- [Theme](llms-full.txt#theme): Applies a brand palette, accent, and/or color mode to everything inside it, through `data-brand`, `data-accent`, and `data-theme` (and, for hex colors, the generated custom properties inline).
|
|
155
|
+
- [VisuallyHidden](llms-full.txt#visuallyhidden): Hides content visually while keeping it available to screen readers.
|
|
156
|
+
|
|
157
|
+
## Hooks
|
|
158
|
+
|
|
159
|
+
- [useResolvedElement](llms-full.txt#useresolvedelement): Returns the element behind `source` as state, re-checking ref objects after every commit of the calling component.
|
|
160
|
+
- [useControllableState](llms-full.txt#usecontrollablestate): Supports both controlled (`value` + `onChange`) and uncontrolled (`defaultValue`) usage with one API.
|
|
161
|
+
- [useDismiss](llms-full.txt#usedismiss): Closes floating UI on Escape or on a press outside the given elements.
|
|
162
|
+
- [useFloatingPosition](llms-full.txt#usefloatingposition): Positions a floating element (Tooltip, Popover, Menu, Select listbox) next to an anchor.
|
|
163
|
+
- [useFocusTrap](llms-full.txt#usefocustrap): Keeps Tab / Shift+Tab focus inside `container` while active, and restores focus when it deactivates (WCAG 2.1.2, 2.4.3).
|
|
164
|
+
- [useFormReset](llms-full.txt#useformreset): Calls `onReset` when the form that contains `target`'s element is reset (`<button type="reset">` or `form.reset()`).
|
|
165
|
+
- [useFormValidation](llms-full.txt#useformvalidation): Form validation built on the browser's own constraints (`required`, `type="email"`, `min`, `maxLength`, `pattern`, ...) plus your own `rules`, with the messages in the current language.
|
|
166
|
+
- [useInertOutside](llms-full.txt#useinertoutside): Makes everything outside `elements` inert while `active`.
|
|
167
|
+
- [useParentOverlayLayer](llms-full.txt#useparentoverlaylayer): The id of the nearest enclosing overlay layer, or null at the page level.
|
|
168
|
+
- [useOverlayLayer](llms-full.txt#useoverlaylayer): Registers an overlay on the shared layer stack while `active`.
|
|
169
|
+
- [useScrollLock](llms-full.txt#usescrolllock): Locks page scrolling while `active`.
|
|
170
|
+
- [useMergedRef](llms-full.txt#usemergedref): A callback ref that writes to every given ref (callback or object), stable while the refs are.
|
|
171
|
+
- [useMediaQuery](llms-full.txt#usemediaquery): Whether a CSS media query matches, kept in sync as the viewport or user preferences change.
|
|
172
|
+
- [useResponsiveValue](llms-full.txt#useresponsivevalue): Resolves a `Responsive<T>` value (a single value, or `{ base, sm, md, ...
|
|
173
|
+
- [useDisclosure](llms-full.txt#usedisclosure): Open/closed state for anything that shows and hides (a Modal, Drawer, Popover, a collapsible section), with stable handlers.
|
|
174
|
+
- [useToggle](llms-full.txt#usetoggle): Cycles through values: `[false, true]` by default (a boolean toggle), or any list (`["list", "grid"]`).
|
|
175
|
+
- [useDebouncedCallback](llms-full.txt#usedebouncedcallback): A function that waits until calls stop for `wait` ms, then runs once with the last arguments.
|
|
176
|
+
- [useThrottledCallback](llms-full.txt#usethrottledcallback): A function that runs at most once every `wait` ms: the first call runs right away, and the last call made during the wait runs when it ends.
|
|
177
|
+
- [useDebouncedValue](llms-full.txt#usedebouncedvalue): The value, updated only after it stops changing for `wait` ms.
|
|
178
|
+
- [useInterval](llms-full.txt#useinterval): Calls `callback` every `delay` ms while `delay` is a number; pass `null` to pause.
|
|
179
|
+
- [useTimeout](llms-full.txt#usetimeout): Calls `callback` once, `delay` ms after mount (or after `delay` changes); pass `null` to not schedule it.
|
|
180
|
+
- [usePrevious](llms-full.txt#useprevious): The value from before its last change (undefined until it first changes).
|
|
181
|
+
- [useLocalStorage](llms-full.txt#uselocalstorage): State saved in `localStorage` under `key`: it survives reloads and stays in sync across every component using the key and across browser tabs.
|
|
182
|
+
- [useSessionStorage](llms-full.txt#usesessionstorage): Like `useLocalStorage`, in `sessionStorage`: kept until the tab closes.
|
|
183
|
+
- [useClipboard](llms-full.txt#useclipboard): Copies text to the clipboard, with a `copied` flag that resets after `timeout` ms.
|
|
184
|
+
- [useHotkeys](llms-full.txt#usehotkeys): Keyboard shortcuts for the whole page (or one element).
|
|
185
|
+
- [useEventListener](llms-full.txt#useeventlistener): Adds an event listener and removes it on unmount.
|
|
186
|
+
- [useClickOutside](llms-full.txt#useclickoutside): Calls `handler` when a pointer press or a focus move lands outside the returned ref's element (and outside any `ignore` elements).
|
|
187
|
+
- [useIntersection](llms-full.txt#useintersection): Whether an element is in view (IntersectionObserver).
|
|
188
|
+
- [useElementSize](llms-full.txt#useelementsize): An element's content-box size, kept current as it resizes (ResizeObserver).
|
|
189
|
+
- [useHydrated](llms-full.txt#usehydrated): False during server rendering and hydration, true after.
|
|
190
|
+
- [useReducedMotion](llms-full.txt#usereducedmotion): True when the user asked the system to reduce motion.
|
|
191
|
+
- [useColorScheme](llms-full.txt#usecolorscheme): The system color scheme, `"light"` or `"dark"`, kept in sync (`"light"` during server rendering).
|
|
192
|
+
- [useOnline](llms-full.txt#useonline): Whether the browser has a network connection, kept in sync (true during server rendering).
|
|
193
|
+
- [useDocumentVisibility](llms-full.txt#usedocumentvisibility): `"visible"` or `"hidden"` (another tab, minimized window), kept in sync.
|
|
194
|
+
- [useViewportSize](llms-full.txt#useviewportsize): The viewport's width and height in CSS pixels, kept in sync (0 × 0 during server rendering).
|
|
195
|
+
- [useVirtualizer](llms-full.txt#usevirtualizer): Headless list virtualization: renders only the items in view (plus `overscan`), so lists of 100,000 rows stay fast.
|
|
196
|
+
- [useFillSlot](llms-full.txt#usefillslot): True inside a container that provides `FillSlotContext`.
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// A minimal MCP server (stdio, JSON-RPC 2.0, no dependencies) that answers
|
|
3
|
+
// questions about this library from the generated registry.json next to it.
|
|
4
|
+
// Copied to dist/ai/ by scripts/build-ai-docs.mjs; run with:
|
|
5
|
+
//
|
|
6
|
+
// npx -p @vjdesigns/vjdesigns-ui vjdesigns-ui-mcp
|
|
7
|
+
//
|
|
8
|
+
// Tools: list_components, get_component, search_docs, get_guide.
|
|
9
|
+
|
|
10
|
+
import { readFileSync } from "node:fs";
|
|
11
|
+
import { dirname, join } from "node:path";
|
|
12
|
+
import { createInterface } from "node:readline";
|
|
13
|
+
import { fileURLToPath } from "node:url";
|
|
14
|
+
|
|
15
|
+
const registry = JSON.parse(readFileSync(join(dirname(fileURLToPath(import.meta.url)), "registry.json"), "utf8"));
|
|
16
|
+
|
|
17
|
+
/* ---- Formatting ---- */
|
|
18
|
+
|
|
19
|
+
const propLine = (p) => {
|
|
20
|
+
const flags = [p.required ? "required" : "", p.default !== undefined ? `default ${p.default}` : "", p.deprecated ? "deprecated" : ""]
|
|
21
|
+
.filter(Boolean)
|
|
22
|
+
.join(", ");
|
|
23
|
+
const desc = (p.description ?? "").replace(/\s+/g, " ").trim();
|
|
24
|
+
return `- \`${p.name}\`: \`${p.type}\`${flags ? ` (${flags})` : ""}${desc ? `. ${desc}` : ""}`;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
function componentDoc(c) {
|
|
28
|
+
const out = [`# ${c.name}`, "", c.import, "", `Category: ${c.category}${c.storybook ? ` · Storybook: ${c.storybook}` : ""}`, ""];
|
|
29
|
+
if (c.description) out.push(c.description, "");
|
|
30
|
+
out.push("## Props", "", ...(c.props.length ? c.props.map(propLine) : ["- (none of its own)"]));
|
|
31
|
+
if (c.nativeElement) out.push(`- Plus every native \`<${c.nativeElement}>\` attribute, spread onto the root.`);
|
|
32
|
+
for (const s of c.subcomponents ?? []) {
|
|
33
|
+
out.push("", `## ${s.name}`, "");
|
|
34
|
+
if (s.description) out.push(s.description, "");
|
|
35
|
+
out.push(...s.props.map(propLine));
|
|
36
|
+
if (s.nativeElement) out.push(`- Plus every native \`<${s.nativeElement}>\` attribute.`);
|
|
37
|
+
}
|
|
38
|
+
if (c.stories?.length) {
|
|
39
|
+
out.push("", "## Examples (Storybook stories)", "", ...c.stories.map((s) => `- ${s.name}${s.description ? `: ${s.description.replace(/\s+/g, " ")}` : ""}`));
|
|
40
|
+
}
|
|
41
|
+
return out.join("\n");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const firstSentence = (text = "") => {
|
|
45
|
+
const plain = text.split("\n\n")[0].replace(/\s+/g, " ").trim();
|
|
46
|
+
// A period that ends a sentence, not the one in "e.g." or "i.e.".
|
|
47
|
+
const end = plain.replace(/\b(e\.g|i\.e|etc|vs)\./g, (m) => m.replace(/\./g, "_")).search(/\.(\s|$)/);
|
|
48
|
+
return end > 0 ? plain.slice(0, end + 1) : plain;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
/* ---- Tools ---- */
|
|
52
|
+
|
|
53
|
+
const tools = [
|
|
54
|
+
{
|
|
55
|
+
name: "list_components",
|
|
56
|
+
description: `List the components of ${registry.name} with a one-line description each, optionally for one category.`,
|
|
57
|
+
inputSchema: {
|
|
58
|
+
type: "object",
|
|
59
|
+
properties: { category: { type: "string", description: "e.g. forms, overlays, navigation, data-display, feedback, layout, primitives, utilities" } },
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: "get_component",
|
|
64
|
+
description: "Full documentation of one component: import, description, every prop (type, default, description), subcomponents (like Tabs.List), and its Storybook examples.",
|
|
65
|
+
inputSchema: { type: "object", properties: { name: { type: "string", description: "Component name, e.g. Button, Tabs, or Tabs.List" } }, required: ["name"] },
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: "search_docs",
|
|
69
|
+
description: "Search components, props, hooks, utilities, and guides by keywords. Returns the best matches with a short excerpt.",
|
|
70
|
+
inputSchema: {
|
|
71
|
+
type: "object",
|
|
72
|
+
properties: { query: { type: "string" }, limit: { type: "number", description: "Max results (default 8)" } },
|
|
73
|
+
required: ["query"],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
name: "get_guide",
|
|
78
|
+
description: "Read a guide: setup (install and stylesheet), usage, theming (brands, accent, dark mode), languages (LocaleProvider, RTL), validation (useFormValidation).",
|
|
79
|
+
inputSchema: { type: "object", properties: { topic: { type: "string", enum: registry.guides.map((g) => g.id) } }, required: ["topic"] },
|
|
80
|
+
},
|
|
81
|
+
];
|
|
82
|
+
|
|
83
|
+
function findComponent(name) {
|
|
84
|
+
const wanted = name.trim().toLowerCase();
|
|
85
|
+
for (const c of registry.components) {
|
|
86
|
+
if (c.name.toLowerCase() === wanted) return { component: c };
|
|
87
|
+
const sub = (c.subcomponents ?? []).find((s) => s.name.toLowerCase() === wanted);
|
|
88
|
+
if (sub) return { component: c, sub };
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function search(query, limit = 8) {
|
|
94
|
+
const terms = query.toLowerCase().split(/\W+/).filter((t) => t.length > 1);
|
|
95
|
+
const docs = [
|
|
96
|
+
...registry.components.map((c) => ({
|
|
97
|
+
kind: "component",
|
|
98
|
+
name: c.name,
|
|
99
|
+
title: c.name,
|
|
100
|
+
text: [c.description, ...c.props.map((p) => `${p.name} ${p.description}`), ...(c.subcomponents ?? []).map((s) => `${s.name} ${s.description}`)].join(" "),
|
|
101
|
+
summary: firstSentence(c.description),
|
|
102
|
+
})),
|
|
103
|
+
...registry.hooks.map((h) => ({ kind: "hook", name: h.name, title: h.name, text: `${h.signature} ${h.description}`, summary: firstSentence(h.description) })),
|
|
104
|
+
...registry.utilities.map((u) => ({ kind: "utility", name: u.name, title: u.name, text: `${u.signature} ${u.description}`, summary: firstSentence(u.description) })),
|
|
105
|
+
...registry.guides.map((g) => ({ kind: "guide", name: g.id, title: `Guide: ${g.title}`, text: g.markdown, summary: firstSentence(g.markdown.replace(/^[#>].*$/gm, "")) })),
|
|
106
|
+
];
|
|
107
|
+
const scored = docs
|
|
108
|
+
.map((d) => {
|
|
109
|
+
const title = d.title.toLowerCase();
|
|
110
|
+
const text = d.text.toLowerCase();
|
|
111
|
+
let score = 0;
|
|
112
|
+
for (const t of terms) {
|
|
113
|
+
if (title === t) score += 20;
|
|
114
|
+
else if (title.includes(t)) score += 8;
|
|
115
|
+
const hits = text.split(t).length - 1;
|
|
116
|
+
score += Math.min(hits, 5);
|
|
117
|
+
}
|
|
118
|
+
return { ...d, score };
|
|
119
|
+
})
|
|
120
|
+
.filter((d) => d.score > 0)
|
|
121
|
+
.sort((a, b) => b.score - a.score)
|
|
122
|
+
.slice(0, limit);
|
|
123
|
+
if (!scored.length) return `No matches for "${query}". Try list_components or a broader term.`;
|
|
124
|
+
return scored
|
|
125
|
+
.map((d) => `- [${d.kind}] ${d.title}: ${d.summary || "(no description)"}${d.kind === "component" ? " (get_component for props)" : d.kind === "guide" ? ` (get_guide topic "${d.name}")` : ""}`)
|
|
126
|
+
.join("\n");
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
function callTool(name, args = {}) {
|
|
130
|
+
switch (name) {
|
|
131
|
+
case "list_components": {
|
|
132
|
+
const list = registry.components.filter((c) => !args.category || c.category === String(args.category).toLowerCase());
|
|
133
|
+
if (!list.length) return { text: `No components in "${args.category}". Categories: ${[...new Set(registry.components.map((c) => c.category))].join(", ")}.`, isError: true };
|
|
134
|
+
return {
|
|
135
|
+
text: [
|
|
136
|
+
`${registry.name} ${registry.version}: ${list.length} components. Import from the package root; import the stylesheet once (${registry.stylesheet}).`,
|
|
137
|
+
"",
|
|
138
|
+
...list.map((c) => `- ${c.name} (${c.category})${c.subcomponents?.length ? ` [${c.subcomponents.map((s) => s.name).join(", ")}]` : ""}: ${firstSentence(c.description)}`),
|
|
139
|
+
].join("\n"),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
case "get_component": {
|
|
143
|
+
const found = findComponent(String(args.name ?? ""));
|
|
144
|
+
if (!found) return { text: `No component "${args.name}". Use list_components or search_docs.`, isError: true };
|
|
145
|
+
if (found.sub) {
|
|
146
|
+
const s = found.sub;
|
|
147
|
+
return {
|
|
148
|
+
text: [`# ${s.name}`, "", `Part of ${found.component.name}: ${found.component.import}`, "", s.description, "", "## Props", "", ...s.props.map(propLine)]
|
|
149
|
+
.filter((l) => l !== undefined)
|
|
150
|
+
.join("\n"),
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
return { text: componentDoc(found.component) };
|
|
154
|
+
}
|
|
155
|
+
case "search_docs":
|
|
156
|
+
return { text: search(String(args.query ?? ""), Number(args.limit) || 8) };
|
|
157
|
+
case "get_guide": {
|
|
158
|
+
const guide = registry.guides.find((g) => g.id === args.topic);
|
|
159
|
+
if (!guide) return { text: `Guides: ${registry.guides.map((g) => g.id).join(", ")}.`, isError: true };
|
|
160
|
+
return { text: `# ${guide.title}\n\n${guide.markdown}` };
|
|
161
|
+
}
|
|
162
|
+
default:
|
|
163
|
+
return undefined;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* ---- JSON-RPC over stdio ---- */
|
|
168
|
+
|
|
169
|
+
const send = (message) => process.stdout.write(`${JSON.stringify(message)}\n`);
|
|
170
|
+
const reply = (id, result) => send({ jsonrpc: "2.0", id, result });
|
|
171
|
+
const fail = (id, code, message) => send({ jsonrpc: "2.0", id, error: { code, message } });
|
|
172
|
+
|
|
173
|
+
function handle(message) {
|
|
174
|
+
const { id, method, params } = message;
|
|
175
|
+
const isRequest = id !== undefined && id !== null;
|
|
176
|
+
switch (method) {
|
|
177
|
+
case "initialize":
|
|
178
|
+
return reply(id, {
|
|
179
|
+
protocolVersion: params?.protocolVersion ?? "2025-06-18",
|
|
180
|
+
capabilities: { tools: {} },
|
|
181
|
+
serverInfo: { name: `${registry.name} docs`, version: registry.version },
|
|
182
|
+
instructions: `Documentation for the ${registry.name} React component library. Start with list_components or search_docs, then get_component for exact props.`,
|
|
183
|
+
});
|
|
184
|
+
case "ping":
|
|
185
|
+
return isRequest && reply(id, {});
|
|
186
|
+
case "tools/list":
|
|
187
|
+
return reply(id, { tools });
|
|
188
|
+
case "tools/call": {
|
|
189
|
+
const result = callTool(params?.name, params?.arguments);
|
|
190
|
+
if (!result) return fail(id, -32602, `Unknown tool: ${params?.name}`);
|
|
191
|
+
return reply(id, { content: [{ type: "text", text: result.text }], isError: Boolean(result.isError) });
|
|
192
|
+
}
|
|
193
|
+
default:
|
|
194
|
+
// Notifications (no id) need no answer.
|
|
195
|
+
if (isRequest) fail(id, -32601, `Method not found: ${method}`);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
createInterface({ input: process.stdin }).on("line", (line) => {
|
|
200
|
+
if (!line.trim()) return;
|
|
201
|
+
let message;
|
|
202
|
+
try {
|
|
203
|
+
message = JSON.parse(line);
|
|
204
|
+
} catch {
|
|
205
|
+
return send({ jsonrpc: "2.0", id: null, error: { code: -32700, message: "Parse error" } });
|
|
206
|
+
}
|
|
207
|
+
try {
|
|
208
|
+
handle(message);
|
|
209
|
+
} catch (error) {
|
|
210
|
+
if (message.id !== undefined) fail(message.id, -32603, String(error?.message ?? error));
|
|
211
|
+
}
|
|
212
|
+
});
|