@once-ui-system/core 1.7.12 → 1.8.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/AGENTS.md +53 -0
- package/README.md +27 -0
- package/agent/once-ui-codegen.mdc +27 -0
- package/ai/catalog.json +195 -634
- package/ai/components/Banner.json +2 -2
- package/ai/components/BlobFx.json +2 -2
- package/ai/components/Carousel.json +1 -0
- package/ai/components/ChartHeader.json +2 -2
- package/ai/components/Checkbox.json +2 -1
- package/ai/components/CompareImage.json +2 -1
- package/ai/components/ContextMenu.json +2 -2
- package/ai/components/Dialog.json +2 -0
- package/ai/components/HoverCard.json +2 -2
- package/ai/components/InfiniteScroll.json +2 -2
- package/ai/components/OgCard.json +3 -2
- package/ai/components/RadioButton.json +2 -1
- package/ai/components/ScrollContainer.json +2 -2
- package/ai/components/SegmentedControl.json +2 -2
- package/ai/components/Select.json +1 -1
- package/ai/components/SplitView.json +2 -2
- package/ai/components/Swiper.json +1 -0
- package/ai/components/Table.json +17 -2
- package/ai/components/ThemeSwitcher.json +2 -2
- package/ai/components/Tooltip.json +2 -2
- package/ai/examples/blocks/content/chat1content.ts +2 -0
- package/ai/examples/dashboard.tsx +1 -1
- package/ai/examples/settings.tsx +32 -28
- package/ai/manifest.json +2 -2
- package/ai/spec.json +64 -68
- package/dist/AGENTS.md +53 -0
- package/dist/README.md +27 -0
- package/dist/agent/once-ui-codegen.mdc +27 -0
- package/dist/ai/catalog.json +195 -634
- package/dist/ai/components/Banner.json +2 -2
- package/dist/ai/components/BlobFx.json +2 -2
- package/dist/ai/components/Carousel.json +1 -0
- package/dist/ai/components/ChartHeader.json +2 -2
- package/dist/ai/components/Checkbox.json +2 -1
- package/dist/ai/components/CompareImage.json +2 -1
- package/dist/ai/components/ContextMenu.json +2 -2
- package/dist/ai/components/Dialog.json +2 -0
- package/dist/ai/components/HoverCard.json +2 -2
- package/dist/ai/components/InfiniteScroll.json +2 -2
- package/dist/ai/components/OgCard.json +3 -2
- package/dist/ai/components/RadioButton.json +2 -1
- package/dist/ai/components/ScrollContainer.json +2 -2
- package/dist/ai/components/SegmentedControl.json +2 -2
- package/dist/ai/components/Select.json +1 -1
- package/dist/ai/components/SplitView.json +2 -2
- package/dist/ai/components/Swiper.json +1 -0
- package/dist/ai/components/Table.json +17 -2
- package/dist/ai/components/ThemeSwitcher.json +2 -2
- package/dist/ai/components/Tooltip.json +2 -2
- package/dist/ai/manifest.json +2 -2
- package/dist/ai/spec.json +64 -68
- package/dist/components/Accordion.js +1 -1
- package/dist/components/Accordion.js.map +1 -1
- package/dist/components/AccordionGroup.d.ts +1 -1
- package/dist/components/AccordionGroup.d.ts.map +1 -1
- package/dist/components/AccordionGroup.js +3 -3
- package/dist/components/AccordionGroup.js.map +1 -1
- package/dist/components/Animation.d.ts +1 -1
- package/dist/components/Animation.d.ts.map +1 -1
- package/dist/components/Arrow.d.ts +1 -1
- package/dist/components/Arrow.d.ts.map +1 -1
- package/dist/components/Arrow.js +4 -4
- package/dist/components/Arrow.js.map +1 -1
- package/dist/components/ArrowNavigationContext.d.ts +2 -1
- package/dist/components/ArrowNavigationContext.d.ts.map +1 -1
- package/dist/components/ArrowNavigationContext.js +5 -3
- package/dist/components/ArrowNavigationContext.js.map +1 -1
- package/dist/components/Avatar.d.ts +2 -2
- package/dist/components/Avatar.d.ts.map +1 -1
- package/dist/components/AvatarGroup.js +1 -1
- package/dist/components/AvatarGroup.js.map +1 -1
- package/dist/components/Background.js +1 -1
- package/dist/components/Background.js.map +1 -1
- package/dist/components/Badge.js +1 -1
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Banner.d.ts.map +1 -1
- package/dist/components/Banner.js +1 -0
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BlobFx.d.ts +1 -1
- package/dist/components/BlobFx.d.ts.map +1 -1
- package/dist/components/BlobFx.js +3 -2
- package/dist/components/BlobFx.js.map +1 -1
- package/dist/components/Button.js +1 -1
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Card.js +1 -1
- package/dist/components/Card.js.map +1 -1
- package/dist/components/Carousel.d.ts +3 -2
- package/dist/components/Carousel.d.ts.map +1 -1
- package/dist/components/Carousel.js +5 -5
- package/dist/components/Carousel.js.map +1 -1
- package/dist/components/Checkbox.d.ts +1 -0
- package/dist/components/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox.js +5 -5
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/Chip.js +1 -1
- package/dist/components/Chip.js.map +1 -1
- package/dist/components/ClientFlex.d.ts.map +1 -1
- package/dist/components/ClientFlex.js +124 -5
- package/dist/components/ClientFlex.js.map +1 -1
- package/dist/components/CompareImage.d.ts +2 -1
- package/dist/components/CompareImage.d.ts.map +1 -1
- package/dist/components/CompareImage.js +4 -4
- package/dist/components/CompareImage.js.map +1 -1
- package/dist/components/ContextMenu.d.ts +2 -2
- package/dist/components/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu.js +3 -3
- package/dist/components/ContextMenu.js.map +1 -1
- package/dist/components/CountFx.d.ts +1 -1
- package/dist/components/CountFx.d.ts.map +1 -1
- package/dist/components/CountFx.js +6 -6
- package/dist/components/CountFx.js.map +1 -1
- package/dist/components/CountdownFx.d.ts +1 -1
- package/dist/components/CountdownFx.d.ts.map +1 -1
- package/dist/components/CountdownFx.js +4 -4
- package/dist/components/CountdownFx.js.map +1 -1
- package/dist/components/Cursor.d.ts +1 -1
- package/dist/components/Cursor.d.ts.map +1 -1
- package/dist/components/Cursor.js +6 -6
- package/dist/components/Cursor.js.map +1 -1
- package/dist/components/DateInput.d.ts +1 -1
- package/dist/components/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput.js +6 -5
- package/dist/components/DateInput.js.map +1 -1
- package/dist/components/DatePicker.d.ts.map +1 -1
- package/dist/components/DatePicker.js +5 -5
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/DateRangeInput.d.ts +2 -2
- package/dist/components/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput.js +6 -4
- package/dist/components/DateRangeInput.js.map +1 -1
- package/dist/components/DateRangePicker.d.ts +1 -1
- package/dist/components/DateRangePicker.d.ts.map +1 -1
- package/dist/components/DateRangePicker.js +3 -3
- package/dist/components/DateRangePicker.js.map +1 -1
- package/dist/components/Dialog.d.ts +2 -0
- package/dist/components/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog.js +32 -15
- package/dist/components/Dialog.js.map +1 -1
- package/dist/components/Dropdown.d.ts.map +1 -1
- package/dist/components/Dropdown.js +1 -1
- package/dist/components/Dropdown.js.map +1 -1
- package/dist/components/DropdownWrapper.d.ts.map +1 -1
- package/dist/components/DropdownWrapper.js +14 -11
- package/dist/components/DropdownWrapper.js.map +1 -1
- package/dist/components/ElementType.d.ts +1 -1
- package/dist/components/ElementType.d.ts.map +1 -1
- package/dist/components/ElementType.js +6 -4
- package/dist/components/ElementType.js.map +1 -1
- package/dist/components/EmojiPickerDropdown.d.ts +1 -1
- package/dist/components/EmojiPickerDropdown.d.ts.map +1 -1
- package/dist/components/EmojiPickerDropdown.js +4 -2
- package/dist/components/EmojiPickerDropdown.js.map +1 -1
- package/dist/components/Fade.js +1 -1
- package/dist/components/Fade.js.map +1 -1
- package/dist/components/FlipFx.d.ts.map +1 -1
- package/dist/components/FlipFx.js +2 -4
- package/dist/components/FlipFx.js.map +1 -1
- package/dist/components/FocusTrap.d.ts +1 -1
- package/dist/components/FocusTrap.d.ts.map +1 -1
- package/dist/components/FocusTrap.js +3 -3
- package/dist/components/FocusTrap.js.map +1 -1
- package/dist/components/GlitchFx.js +1 -1
- package/dist/components/GlitchFx.js.map +1 -1
- package/dist/components/Heading.js +1 -1
- package/dist/components/Heading.js.map +1 -1
- package/dist/components/HoloFx.d.ts +1 -1
- package/dist/components/HoloFx.d.ts.map +1 -1
- package/dist/components/HoloFx.js +17 -8
- package/dist/components/HoloFx.js.map +1 -1
- package/dist/components/Icon.js +1 -1
- package/dist/components/Icon.js.map +1 -1
- package/dist/components/IconButton.js +1 -1
- package/dist/components/IconButton.js.map +1 -1
- package/dist/components/InlineCode.js +1 -1
- package/dist/components/InlineCode.js.map +1 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/Input.js.map +1 -1
- package/dist/components/LetterFx.js +1 -1
- package/dist/components/LetterFx.js.map +1 -1
- package/dist/components/ListItem.js +1 -1
- package/dist/components/ListItem.js.map +1 -1
- package/dist/components/Logo.d.ts +1 -1
- package/dist/components/Logo.d.ts.map +1 -1
- package/dist/components/Logo.js +6 -10
- package/dist/components/Logo.js.map +1 -1
- package/dist/components/LogoCloud.js +1 -1
- package/dist/components/LogoCloud.js.map +1 -1
- package/dist/components/Mask.js +1 -1
- package/dist/components/Mask.js.map +1 -1
- package/dist/components/MasonryGrid.js +1 -1
- package/dist/components/MasonryGrid.js.map +1 -1
- package/dist/components/Media.d.ts +1 -1
- package/dist/components/Media.d.ts.map +1 -1
- package/dist/components/Media.js +10 -7
- package/dist/components/Media.js.map +1 -1
- package/dist/components/MediaVideoPlayer.d.ts +12 -0
- package/dist/components/MediaVideoPlayer.d.ts.map +1 -0
- package/dist/components/MediaVideoPlayer.js +246 -0
- package/dist/components/MediaVideoPlayer.js.map +1 -0
- package/dist/components/MediaVideoPlayer.module.scss +90 -0
- package/dist/components/Modal.d.ts +1 -1
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/components/Modal.js +3 -3
- package/dist/components/Modal.js.map +1 -1
- package/dist/components/NavIcon.js +1 -1
- package/dist/components/NavIcon.js.map +1 -1
- package/dist/components/NumberInput.js +1 -1
- package/dist/components/NumberInput.js.map +1 -1
- package/dist/components/OgCard.d.ts +3 -2
- package/dist/components/OgCard.d.ts.map +1 -1
- package/dist/components/OgCard.js +2 -2
- package/dist/components/OgCard.js.map +1 -1
- package/dist/components/Option.js +1 -1
- package/dist/components/Option.js.map +1 -1
- package/dist/components/ProgressBar.d.ts +1 -1
- package/dist/components/ProgressBar.d.ts.map +1 -1
- package/dist/components/ProgressBar.js +1 -1
- package/dist/components/ProgressBar.js.map +1 -1
- package/dist/components/RadioButton.d.ts +1 -0
- package/dist/components/RadioButton.d.ts.map +1 -1
- package/dist/components/RadioButton.js +6 -6
- package/dist/components/RadioButton.js.map +1 -1
- package/dist/components/ScrollContainer.d.ts +1 -1
- package/dist/components/ScrollContainer.d.ts.map +1 -1
- package/dist/components/ScrollContainer.js +3 -3
- package/dist/components/ScrollContainer.js.map +1 -1
- package/dist/components/ScrollLock.d.ts +6 -1
- package/dist/components/ScrollLock.d.ts.map +1 -1
- package/dist/components/ScrollLock.js +39 -13
- package/dist/components/ScrollLock.js.map +1 -1
- package/dist/components/ScrollToTop.d.ts +4 -1
- package/dist/components/ScrollToTop.d.ts.map +1 -1
- package/dist/components/ScrollToTop.js +2 -1
- package/dist/components/ScrollToTop.js.map +1 -1
- package/dist/components/Scroller.d.ts +2 -2
- package/dist/components/Scroller.d.ts.map +1 -1
- package/dist/components/Scroller.js +4 -4
- package/dist/components/Scroller.js.map +1 -1
- package/dist/components/SegmentedControl.d.ts +1 -1
- package/dist/components/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl.js +3 -3
- package/dist/components/SegmentedControl.js.map +1 -1
- package/dist/components/Select.d.ts +1 -1
- package/dist/components/Select.d.ts.map +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/components/Select.js.map +1 -1
- package/dist/components/ServerFlex.d.ts.map +1 -1
- package/dist/components/ServerFlex.js +4 -2
- package/dist/components/ServerFlex.js.map +1 -1
- package/dist/components/ServerGrid.js +1 -1
- package/dist/components/ServerGrid.js.map +1 -1
- package/dist/components/SharedInteractiveStyles.module.scss +4 -0
- package/dist/components/ShineFx.d.ts +1 -1
- package/dist/components/ShineFx.d.ts.map +1 -1
- package/dist/components/ShineFx.js +4 -3
- package/dist/components/ShineFx.js.map +1 -1
- package/dist/components/Skeleton.js +1 -1
- package/dist/components/Skeleton.js.map +1 -1
- package/dist/components/Slider.js +1 -1
- package/dist/components/Slider.js.map +1 -1
- package/dist/components/Slider.module.scss +2 -2
- package/dist/components/SmartLink.js +1 -1
- package/dist/components/SmartLink.js.map +1 -1
- package/dist/components/Spinner.js +1 -1
- package/dist/components/Spinner.js.map +1 -1
- package/dist/components/StatusIndicator.js +1 -1
- package/dist/components/StatusIndicator.js.map +1 -1
- package/dist/components/StylePanel.js +1 -1
- package/dist/components/StylePanel.js.map +1 -1
- package/dist/components/Swiper.d.ts +2 -1
- package/dist/components/Swiper.d.ts.map +1 -1
- package/dist/components/Swiper.js +5 -5
- package/dist/components/Swiper.js.map +1 -1
- package/dist/components/Switch.js +1 -1
- package/dist/components/Switch.js.map +1 -1
- package/dist/components/Table.d.ts +37 -6
- package/dist/components/Table.d.ts.map +1 -1
- package/dist/components/Table.js +115 -30
- package/dist/components/Table.js.map +1 -1
- package/dist/components/Table.module.scss +174 -3
- package/dist/components/Tag.d.ts +1 -1
- package/dist/components/Tag.d.ts.map +1 -1
- package/dist/components/Tag.js +1 -1
- package/dist/components/Tag.js.map +1 -1
- package/dist/components/Text.js +1 -1
- package/dist/components/Text.js.map +1 -1
- package/dist/components/Textarea.d.ts.map +1 -1
- package/dist/components/Textarea.js +1 -2
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/ThemeInit.d.ts.map +1 -1
- package/dist/components/ThemeInit.js +6 -2
- package/dist/components/ThemeInit.js.map +1 -1
- package/dist/components/TiltFx.d.ts +1 -1
- package/dist/components/TiltFx.d.ts.map +1 -1
- package/dist/components/TiltFx.js +16 -7
- package/dist/components/TiltFx.js.map +1 -1
- package/dist/components/Timeline.d.ts +3 -3
- package/dist/components/Timeline.d.ts.map +1 -1
- package/dist/components/Timeline.js +19 -54
- package/dist/components/Timeline.js.map +1 -1
- package/dist/components/Toast.js +1 -1
- package/dist/components/Toast.js.map +1 -1
- package/dist/components/Toaster.d.ts +1 -1
- package/dist/components/Toaster.d.ts.map +1 -1
- package/dist/components/Toaster.js +4 -4
- package/dist/components/Toaster.js.map +1 -1
- package/dist/components/Toaster.module.scss +0 -2
- package/dist/components/ToggleButton.js +1 -1
- package/dist/components/ToggleButton.js.map +1 -1
- package/dist/components/Tooltip.js +1 -1
- package/dist/components/Tooltip.js.map +1 -1
- package/dist/components/TypeFx.d.ts +1 -1
- package/dist/components/TypeFx.d.ts.map +1 -1
- package/dist/components/TypeFx.js +3 -3
- package/dist/components/TypeFx.js.map +1 -1
- package/dist/components/User.js +1 -1
- package/dist/components/User.js.map +1 -1
- package/dist/components/UserMenu.d.ts +1 -1
- package/dist/components/UserMenu.d.ts.map +1 -1
- package/dist/components/UserMenu.js +4 -3
- package/dist/components/UserMenu.js.map +1 -1
- package/dist/css/styles.css +1 -1
- package/dist/css/styles.css.map +1 -1
- package/dist/css/tokens.css +1 -1
- package/dist/css/tokens.css.map +1 -1
- package/dist/data/emoji-data.json +8 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/useArrowNavigation.d.ts.map +1 -1
- package/dist/hooks/useArrowNavigation.js +1 -0
- package/dist/hooks/useArrowNavigation.js.map +1 -1
- package/dist/hooks/useDebounce.d.ts +1 -1
- package/dist/hooks/useDebounce.d.ts.map +1 -1
- package/dist/hooks/useDebounce.js.map +1 -1
- package/dist/hooks/useResponsiveClasses.d.ts.map +1 -1
- package/dist/hooks/useResponsiveClasses.js +45 -2
- package/dist/hooks/useResponsiveClasses.js.map +1 -1
- package/dist/icons.d.ts.map +1 -1
- package/dist/icons.js +7 -2
- package/dist/icons.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +21 -36
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/internal/scrollLockState.d.ts +2 -0
- package/dist/internal/scrollLockState.d.ts.map +1 -0
- package/dist/internal/scrollLockState.js +12 -0
- package/dist/internal/scrollLockState.js.map +1 -0
- package/dist/modules/code/CodeBlock.impl.d.ts +2 -0
- package/dist/modules/code/CodeBlock.impl.d.ts.map +1 -1
- package/dist/modules/code/CodeBlock.impl.js +57 -17
- package/dist/modules/code/CodeBlock.impl.js.map +1 -1
- package/dist/modules/data/BarChart.impl.js +1 -1
- package/dist/modules/data/BarChart.impl.js.map +1 -1
- package/dist/modules/data/LineBarChart.impl.js +1 -1
- package/dist/modules/data/LineBarChart.impl.js.map +1 -1
- package/dist/modules/data/LineChart.impl.js +1 -1
- package/dist/modules/data/LineChart.impl.js.map +1 -1
- package/dist/modules/data/PieChart.impl.js +1 -1
- package/dist/modules/data/PieChart.impl.js.map +1 -1
- package/dist/modules/data/utils/formatDate.js +1 -1
- package/dist/modules/data/utils/formatDate.js.map +1 -1
- package/dist/modules/index.d.ts +2 -1
- package/dist/modules/index.d.ts.map +1 -1
- package/dist/modules/index.js +2 -1
- package/dist/modules/index.js.map +1 -1
- package/dist/modules/seo/Schema.d.ts.map +1 -1
- package/dist/modules/seo/Schema.js +3 -4
- package/dist/modules/seo/Schema.js.map +1 -1
- package/dist/package.json +38 -8
- package/dist/server/og-url-validation.d.ts +10 -0
- package/dist/server/og-url-validation.d.ts.map +1 -0
- package/dist/server/og-url-validation.js +234 -0
- package/dist/server/og-url-validation.js.map +1 -0
- package/dist/server/og-utils.d.ts +5 -2
- package/dist/server/og-utils.d.ts.map +1 -1
- package/dist/server/og-utils.js +39 -14
- package/dist/server/og-utils.js.map +1 -1
- package/dist/styles/typography.scss +8 -0
- package/dist/tokens/typography.scss +2 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/safe-html.d.ts +19 -0
- package/dist/utils/safe-html.d.ts.map +1 -0
- package/dist/utils/safe-html.js +43 -0
- package/dist/utils/safe-html.js.map +1 -0
- package/next-env.d.ts +5 -0
- package/package.json +55 -21
- package/scripts/copy-files.js +103 -0
- package/scripts/generate-ai-spec.js +464 -0
- package/scripts/generate-emoji-data.js +128 -0
- package/scripts/init-agent.js +156 -0
- package/scripts/validate-ai-code.js +149 -0
- package/.eslintrc.json +0 -3
- package/ai/catalog.seed.json +0 -411
- package/dist/ai/catalog.seed.json +0 -411
- package/next.config.mjs +0 -14
package/ai/spec.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@once-ui-system/core",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"generated": "2026-07-
|
|
3
|
+
"version": "1.8.0",
|
|
4
|
+
"generated": "2026-07-29",
|
|
5
5
|
"format": "props are 'type', 'type = default', or '!type' (required). Components with 'mixins' also accept all props of those mixins. 'extends' means all props of that component are accepted.",
|
|
6
6
|
"tokens": {
|
|
7
7
|
"StaticSpacingToken": "\"0\" | \"1\" | \"2\" | \"4\" | \"8\" | \"12\" | \"16\" | \"20\" | \"24\" | \"32\" | \"40\" | \"48\" | \"56\" | \"64\" | \"80\" | \"104\" | \"128\" | \"160\"",
|
|
@@ -15,10 +15,10 @@
|
|
|
15
15
|
"Colors": "`${ColorScheme}-${ColorWeight}` | `${ColorScheme}-alpha-${ColorWeight}`",
|
|
16
16
|
"RadiusSize": "TShirtSizes | \"full\" | \"none\"",
|
|
17
17
|
"TextType": "\"body\" | \"heading\" | \"display\" | \"label\" | \"code\"",
|
|
18
|
-
"TextWeight": "\"default\" | \"strong\"",
|
|
18
|
+
"TextWeight": "\"default\" | \"normal\" | \"medium\" | \"strong\"",
|
|
19
19
|
"TextSize": "TShirtSizes",
|
|
20
20
|
"TextVariant": "`${TextType}-${TextWeight}-${TextSize}`",
|
|
21
|
-
"IconName": "\"chevronUp\" | \"chevronDown\" | \"chevronRight\" | \"chevronLeft\" | \"chevronsLeftRight\" | \"refresh\" | \"light\" | \"dark\" | \"help\" | \"info\" | \"warning\" | \"danger\" | \"checkbox\" | \"check\" | \"copy\" | \"eyeDropper\" | \"clipboard\" | \"person\" | \"close\" | \"link\" | \"arrowUpRight\" | \"minus\" | \"plus\" | \"calendar\" | \"eye\" | \"eyeOff\" | \"search\" | \"security\" | \"sparkle\" | \"computer\" | \"minimize\" | \"maximize\" | \"smiley\" | \"paw\" | \"food\" | \"ball\" | \"world\" | \"gift\" | \"symbol\" | \"flag\" | \"wordmark\" | \"enter\" | \"play\" | \"pause\" | \"screen\" | \"document\" | \"radialGauge\" | \"linearGauge\" | \"
|
|
21
|
+
"IconName": "\"chevronUp\" | \"chevronDown\" | \"chevronRight\" | \"chevronLeft\" | \"chevronsLeftRight\" | \"refresh\" | \"light\" | \"dark\" | \"help\" | \"info\" | \"warning\" | \"danger\" | \"checkbox\" | \"check\" | \"copy\" | \"eyeDropper\" | \"clipboard\" | \"person\" | \"close\" | \"link\" | \"arrowUpRight\" | \"minus\" | \"plus\" | \"calendar\" | \"eye\" | \"eyeOff\" | \"search\" | \"security\" | \"sparkle\" | \"computer\" | \"minimize\" | \"maximize\" | \"smiley\" | \"paw\" | \"food\" | \"ball\" | \"world\" | \"gift\" | \"symbol\" | \"flag\" | \"wordmark\" | \"enter\" | \"play\" | \"pause\" | \"volume\" | \"volumeOff\" | \"screen\" | \"document\" | \"radialGauge\" | \"linearGauge\" | \"edit\" | \"trash\" | \"mail\" | \"download\""
|
|
22
22
|
},
|
|
23
23
|
"mixins": {
|
|
24
24
|
"CommonProps": {
|
|
@@ -42,21 +42,6 @@
|
|
|
42
42
|
"dark": "boolean",
|
|
43
43
|
"light": "boolean"
|
|
44
44
|
},
|
|
45
|
-
"FlexBreakpointProps": {
|
|
46
|
-
"direction": "\"row\" | \"column\" | \"row-reverse\" | \"column-reverse\"",
|
|
47
|
-
"horizontal": "\"start\" | \"center\" | \"end\" | \"between\" | \"around\" | \"even\" | \"stretch\"",
|
|
48
|
-
"vertical": "\"start\" | \"center\" | \"end\" | \"between\" | \"around\" | \"even\" | \"stretch\"",
|
|
49
|
-
"center": "boolean",
|
|
50
|
-
"overflow": "CSSProperties[\"overflow\"]",
|
|
51
|
-
"overflowX": "CSSProperties[\"overflowX\"]",
|
|
52
|
-
"overflowY": "CSSProperties[\"overflowY\"]",
|
|
53
|
-
"top": "SpacingToken",
|
|
54
|
-
"right": "SpacingToken",
|
|
55
|
-
"bottom": "SpacingToken",
|
|
56
|
-
"left": "SpacingToken",
|
|
57
|
-
"aspectRatio": "CSSProperties[\"aspectRatio\"]",
|
|
58
|
-
"style": "CSSProperties"
|
|
59
|
-
},
|
|
60
45
|
"FlexProps": {
|
|
61
46
|
"direction": "\"row\" | \"column\" | \"row-reverse\" | \"column-reverse\"",
|
|
62
47
|
"horizontal": "\"start\" | \"center\" | \"end\" | \"between\" | \"around\" | \"even\" | \"stretch\"",
|
|
@@ -65,18 +50,6 @@
|
|
|
65
50
|
"wrap": "boolean",
|
|
66
51
|
"flex": "FlexValue"
|
|
67
52
|
},
|
|
68
|
-
"GridBreakpointProps": {
|
|
69
|
-
"columns": "GridProps[\"columns\"]",
|
|
70
|
-
"overflow": "CSSProperties[\"overflow\"]",
|
|
71
|
-
"overflowX": "CSSProperties[\"overflowX\"]",
|
|
72
|
-
"overflowY": "CSSProperties[\"overflowY\"]",
|
|
73
|
-
"top": "SpacingToken",
|
|
74
|
-
"right": "SpacingToken",
|
|
75
|
-
"bottom": "SpacingToken",
|
|
76
|
-
"left": "SpacingToken",
|
|
77
|
-
"aspectRatio": "CSSProperties[\"aspectRatio\"]",
|
|
78
|
-
"style": "CSSProperties"
|
|
79
|
-
},
|
|
80
53
|
"GridProps": {
|
|
81
54
|
"columns": "GridSize",
|
|
82
55
|
"rows": "GridSize"
|
|
@@ -367,8 +340,8 @@
|
|
|
367
340
|
"BlobFx": {
|
|
368
341
|
"group": "components",
|
|
369
342
|
"extends": [
|
|
370
|
-
"
|
|
371
|
-
"
|
|
343
|
+
"Row",
|
|
344
|
+
"Flex"
|
|
372
345
|
],
|
|
373
346
|
"mixins": [
|
|
374
347
|
"CommonProps",
|
|
@@ -385,8 +358,8 @@
|
|
|
385
358
|
"Banner": {
|
|
386
359
|
"group": "components",
|
|
387
360
|
"extends": [
|
|
388
|
-
"
|
|
389
|
-
"
|
|
361
|
+
"Row",
|
|
362
|
+
"Flex"
|
|
390
363
|
],
|
|
391
364
|
"mixins": [
|
|
392
365
|
"CommonProps",
|
|
@@ -546,6 +519,7 @@
|
|
|
546
519
|
"translateY": "SpacingToken | number",
|
|
547
520
|
"aspectRatio": "string = original",
|
|
548
521
|
"sizes": "string",
|
|
522
|
+
"unoptimized": "boolean = false",
|
|
549
523
|
"revealedByDefault": "boolean = false",
|
|
550
524
|
"thumbnail": "ThumbnailItem = { scaling: 1, height: \"80\", sizes: \"120px\" }",
|
|
551
525
|
"play": "{ auto?: boolean; interval?: number; controls?: boolean; progress?: boolean; } = { auto: false, interval: 3000, controls: true }"
|
|
@@ -571,6 +545,7 @@
|
|
|
571
545
|
"fill": "boolean = false",
|
|
572
546
|
"aspectRatio": "string = 16 / 9",
|
|
573
547
|
"sizes": "string",
|
|
548
|
+
"unoptimized": "boolean = false",
|
|
574
549
|
"indicator": "boolean = true"
|
|
575
550
|
}
|
|
576
551
|
},
|
|
@@ -681,7 +656,8 @@
|
|
|
681
656
|
"props": {
|
|
682
657
|
"isChecked": "boolean",
|
|
683
658
|
"isIndeterminate": "boolean = false",
|
|
684
|
-
"onToggle": "() => void"
|
|
659
|
+
"onToggle": "() => void",
|
|
660
|
+
"hoverable": "boolean = true"
|
|
685
661
|
}
|
|
686
662
|
},
|
|
687
663
|
"Chip": {
|
|
@@ -736,7 +712,8 @@
|
|
|
736
712
|
"props": {
|
|
737
713
|
"leftContent": "!SideContent",
|
|
738
714
|
"rightContent": "!SideContent",
|
|
739
|
-
"aspectRatio": "string"
|
|
715
|
+
"aspectRatio": "string",
|
|
716
|
+
"unoptimized": "boolean"
|
|
740
717
|
}
|
|
741
718
|
},
|
|
742
719
|
"ContextMenu": {
|
|
@@ -753,8 +730,8 @@
|
|
|
753
730
|
"className": "string",
|
|
754
731
|
"onSelect": "(value: string) => void",
|
|
755
732
|
"closeAfterClick": "boolean = true",
|
|
756
|
-
"
|
|
757
|
-
"onOpenChange": "(
|
|
733
|
+
"open": "boolean",
|
|
734
|
+
"onOpenChange": "(open: boolean) => void",
|
|
758
735
|
"selectedOption": "string",
|
|
759
736
|
"disabled": "boolean = false"
|
|
760
737
|
}
|
|
@@ -880,6 +857,8 @@
|
|
|
880
857
|
"footer": "ReactNode",
|
|
881
858
|
"base": "boolean",
|
|
882
859
|
"stack": "boolean",
|
|
860
|
+
"flush": "boolean = false",
|
|
861
|
+
"hideClose": "boolean = false",
|
|
883
862
|
"onHeightChange": "(height: number) => void",
|
|
884
863
|
"minHeight": "number",
|
|
885
864
|
"closeOnClickaway": "boolean = true"
|
|
@@ -1155,8 +1134,8 @@
|
|
|
1155
1134
|
"HoverCard": {
|
|
1156
1135
|
"group": "components",
|
|
1157
1136
|
"extends": [
|
|
1158
|
-
"
|
|
1159
|
-
"
|
|
1137
|
+
"Animation",
|
|
1138
|
+
"Flex"
|
|
1160
1139
|
],
|
|
1161
1140
|
"mixins": [
|
|
1162
1141
|
"CommonProps",
|
|
@@ -1215,8 +1194,8 @@
|
|
|
1215
1194
|
"InfiniteScroll": {
|
|
1216
1195
|
"group": "components",
|
|
1217
1196
|
"extends": [
|
|
1218
|
-
"
|
|
1219
|
-
"
|
|
1197
|
+
"Row",
|
|
1198
|
+
"Flex"
|
|
1220
1199
|
],
|
|
1221
1200
|
"mixins": [
|
|
1222
1201
|
"CommonProps",
|
|
@@ -1538,8 +1517,8 @@
|
|
|
1538
1517
|
"OgCard": {
|
|
1539
1518
|
"group": "components",
|
|
1540
1519
|
"extends": [
|
|
1541
|
-
"
|
|
1542
|
-
"
|
|
1520
|
+
"Card",
|
|
1521
|
+
"Flex"
|
|
1543
1522
|
],
|
|
1544
1523
|
"mixins": [
|
|
1545
1524
|
"CommonProps",
|
|
@@ -1552,6 +1531,7 @@
|
|
|
1552
1531
|
"props": {
|
|
1553
1532
|
"url": "string",
|
|
1554
1533
|
"sizes": "string = 320px",
|
|
1534
|
+
"unoptimized": "boolean = false",
|
|
1555
1535
|
"size": "CondensedTShirtSizes = m",
|
|
1556
1536
|
"ogData": "Partial<OgData> | null",
|
|
1557
1537
|
"direction": "\"column\" | \"row\" | \"column-reverse\" | \"row-reverse\" = column",
|
|
@@ -1696,7 +1676,8 @@
|
|
|
1696
1676
|
"name": "string",
|
|
1697
1677
|
"value": "string",
|
|
1698
1678
|
"disabled": "boolean",
|
|
1699
|
-
"onToggle": "() => void"
|
|
1679
|
+
"onToggle": "() => void",
|
|
1680
|
+
"hoverable": "boolean = true"
|
|
1700
1681
|
}
|
|
1701
1682
|
},
|
|
1702
1683
|
"RevealFx": {
|
|
@@ -1768,8 +1749,8 @@
|
|
|
1768
1749
|
"ScrollContainer": {
|
|
1769
1750
|
"group": "components",
|
|
1770
1751
|
"extends": [
|
|
1771
|
-
"
|
|
1772
|
-
"
|
|
1752
|
+
"Row",
|
|
1753
|
+
"Flex"
|
|
1773
1754
|
],
|
|
1774
1755
|
"mixins": [
|
|
1775
1756
|
"CommonProps",
|
|
@@ -1804,8 +1785,8 @@
|
|
|
1804
1785
|
"SegmentedControl": {
|
|
1805
1786
|
"group": "components",
|
|
1806
1787
|
"extends": [
|
|
1807
|
-
"
|
|
1808
|
-
"
|
|
1788
|
+
"Scroller",
|
|
1789
|
+
"Flex"
|
|
1809
1790
|
],
|
|
1810
1791
|
"mixins": [
|
|
1811
1792
|
"CommonProps",
|
|
@@ -1836,7 +1817,7 @@
|
|
|
1836
1817
|
"options": "!SelectOptionType[]",
|
|
1837
1818
|
"value": "string | string[] = ",
|
|
1838
1819
|
"emptyState": "ReactNode = No results",
|
|
1839
|
-
"onSelect": "(value:
|
|
1820
|
+
"onSelect": "(value: string | string[]) => void",
|
|
1840
1821
|
"placement": "Placement",
|
|
1841
1822
|
"searchable": "boolean = false",
|
|
1842
1823
|
"className": "string",
|
|
@@ -1937,8 +1918,8 @@
|
|
|
1937
1918
|
"SplitView": {
|
|
1938
1919
|
"group": "components",
|
|
1939
1920
|
"extends": [
|
|
1940
|
-
"
|
|
1941
|
-
"
|
|
1921
|
+
"Row",
|
|
1922
|
+
"Flex"
|
|
1942
1923
|
],
|
|
1943
1924
|
"mixins": [
|
|
1944
1925
|
"CommonProps",
|
|
@@ -2046,8 +2027,23 @@
|
|
|
2046
2027
|
"StyleProps"
|
|
2047
2028
|
],
|
|
2048
2029
|
"props": {
|
|
2049
|
-
"data": "!{ headers:
|
|
2050
|
-
"onRowClick": "(rowIndex: number) => void"
|
|
2030
|
+
"data": "!{ headers: TableHeader[]; rows: ReactNode[][]; }",
|
|
2031
|
+
"onRowClick": "(rowIndex: number) => void",
|
|
2032
|
+
"searchable": "boolean = false",
|
|
2033
|
+
"searchPlaceholder": "string = Search...",
|
|
2034
|
+
"striped": "boolean = false",
|
|
2035
|
+
"hoverable": "boolean = true",
|
|
2036
|
+
"compact": "boolean = false",
|
|
2037
|
+
"loading": "boolean = false",
|
|
2038
|
+
"emptyState": "ReactNode",
|
|
2039
|
+
"actions": "TableAction[]",
|
|
2040
|
+
"stickyHeader": "boolean = false",
|
|
2041
|
+
"rowClassName": "(rowIndex: number) => string",
|
|
2042
|
+
"cellClassName": "(rowIndex: number, cellIndex: number) => string",
|
|
2043
|
+
"paginated": "boolean = false",
|
|
2044
|
+
"defaultPageSize": "number = 10",
|
|
2045
|
+
"pageSizeOptions": "number[] = [5, 10, 20, 50]",
|
|
2046
|
+
"loadingState": "ReactNode"
|
|
2051
2047
|
}
|
|
2052
2048
|
},
|
|
2053
2049
|
"Tag": {
|
|
@@ -2199,8 +2195,8 @@
|
|
|
2199
2195
|
"Tooltip": {
|
|
2200
2196
|
"group": "components",
|
|
2201
2197
|
"extends": [
|
|
2202
|
-
"
|
|
2203
|
-
"
|
|
2198
|
+
"Row",
|
|
2199
|
+
"Flex"
|
|
2204
2200
|
],
|
|
2205
2201
|
"mixins": [
|
|
2206
2202
|
"CommonProps",
|
|
@@ -2234,8 +2230,8 @@
|
|
|
2234
2230
|
"ThemeSwitcher": {
|
|
2235
2231
|
"group": "components",
|
|
2236
2232
|
"extends": [
|
|
2237
|
-
"
|
|
2238
|
-
"
|
|
2233
|
+
"Row",
|
|
2234
|
+
"Flex"
|
|
2239
2235
|
],
|
|
2240
2236
|
"mixins": [
|
|
2241
2237
|
"CommonProps",
|
|
@@ -2356,7 +2352,7 @@
|
|
|
2356
2352
|
"className": "string"
|
|
2357
2353
|
}
|
|
2358
2354
|
},
|
|
2359
|
-
"
|
|
2355
|
+
"HeadingNav": {
|
|
2360
2356
|
"group": "modules",
|
|
2361
2357
|
"extends": [
|
|
2362
2358
|
"Flex"
|
|
@@ -2370,13 +2366,10 @@
|
|
|
2370
2366
|
"StyleProps"
|
|
2371
2367
|
],
|
|
2372
2368
|
"props": {
|
|
2373
|
-
"
|
|
2374
|
-
"as": "!\"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"",
|
|
2375
|
-
"children": "!React.ReactNode",
|
|
2376
|
-
"style": "React.CSSProperties"
|
|
2369
|
+
"header": "boolean = true"
|
|
2377
2370
|
}
|
|
2378
2371
|
},
|
|
2379
|
-
"
|
|
2372
|
+
"HeadingLink": {
|
|
2380
2373
|
"group": "modules",
|
|
2381
2374
|
"extends": [
|
|
2382
2375
|
"Flex"
|
|
@@ -2390,14 +2383,17 @@
|
|
|
2390
2383
|
"StyleProps"
|
|
2391
2384
|
],
|
|
2392
2385
|
"props": {
|
|
2393
|
-
"
|
|
2386
|
+
"id": "!string",
|
|
2387
|
+
"as": "!\"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\"",
|
|
2388
|
+
"children": "!React.ReactNode",
|
|
2389
|
+
"style": "React.CSSProperties"
|
|
2394
2390
|
}
|
|
2395
2391
|
},
|
|
2396
2392
|
"ChartHeader": {
|
|
2397
2393
|
"group": "modules",
|
|
2398
2394
|
"extends": [
|
|
2399
|
-
"
|
|
2400
|
-
"
|
|
2395
|
+
"Column",
|
|
2396
|
+
"Flex"
|
|
2401
2397
|
],
|
|
2402
2398
|
"mixins": [
|
|
2403
2399
|
"CommonProps",
|
package/dist/AGENTS.md
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# @once-ui-system/core — agent harness
|
|
2
|
+
|
|
3
|
+
This package ships an agent-first codegen harness under `ai/`. Use it when **writing Once UI code**, not full MDX documentation pages.
|
|
4
|
+
|
|
5
|
+
## Entry point
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
@once-ui-system/core/ai/manifest.json
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or from disk:
|
|
12
|
+
|
|
13
|
+
```
|
|
14
|
+
node_modules/@once-ui-system/core/ai/manifest.json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Bootstrap workflow
|
|
18
|
+
|
|
19
|
+
1. Read `ai/manifest.json`
|
|
20
|
+
2. Load bootstrap files: `ai/rules.compact.md` + `ai/catalog.json` (~6KB)
|
|
21
|
+
3. Match intent via `ai/tasks/index.json` → e.g. `ai/tasks/pricing.json`
|
|
22
|
+
4. Fetch component slices listed in the task bundle (`ai/components/*.json`)
|
|
23
|
+
5. Read the gold example referenced by the task; for production fidelity, read Pro blocks from `ai/examples/blocks/manifest.json`
|
|
24
|
+
6. Validate generated code: `npx once-ui-validate-ai-code path/to/file.tsx`
|
|
25
|
+
|
|
26
|
+
## npm exports
|
|
27
|
+
|
|
28
|
+
```tsx
|
|
29
|
+
// Readable paths (version-pinned to your install)
|
|
30
|
+
import manifest from '@once-ui-system/core/ai/manifest.json';
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# One-time project setup (writes AGENTS.md + Cursor rule in consumer app)
|
|
35
|
+
npx once-ui-init-agent
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Remote fallback
|
|
39
|
+
|
|
40
|
+
If you cannot read `node_modules`, use the docs host (may not match your installed version exactly):
|
|
41
|
+
|
|
42
|
+
- https://docs.once-ui.com/ai/manifest.json
|
|
43
|
+
- https://docs.once-ui.com/ai/rules.compact.md
|
|
44
|
+
- https://docs.once-ui.com/once-ui/ai-coding
|
|
45
|
+
|
|
46
|
+
## Key rules (summary)
|
|
47
|
+
|
|
48
|
+
- Use `Column` / `Row`, not `Flex` unless direction changes at breakpoints
|
|
49
|
+
- Use `fill`, not `fillWidth fillHeight`; use `center`, not `horizontal="center" vertical="center"`
|
|
50
|
+
- Static panels: `Column background="surface" border="neutral-alpha-weak" radius="l" padding="24"`
|
|
51
|
+
- `Card` is interactive only (`href` or `onClick`)
|
|
52
|
+
|
|
53
|
+
Full rules: `@once-ui-system/core/ai/rules.compact.md`
|
package/dist/README.md
CHANGED
|
@@ -35,6 +35,33 @@ Learn how to set up and build with Once UI at [docs.once-ui.com](https://docs.on
|
|
|
35
35
|
npm install @once-ui-system/core
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
+
## AI codegen harness
|
|
39
|
+
|
|
40
|
+
This package includes an agent-first harness under `ai/` for generating Once UI code with minimal context (~6–10KB per task).
|
|
41
|
+
|
|
42
|
+
| Resource | Path |
|
|
43
|
+
|----------|------|
|
|
44
|
+
| Entry point | `@once-ui-system/core/ai/manifest.json` |
|
|
45
|
+
| Compact rules | `@once-ui-system/core/ai/rules.compact.md` |
|
|
46
|
+
| Component catalog | `@once-ui-system/core/ai/catalog.json` |
|
|
47
|
+
| Task bundles | `@once-ui-system/core/ai/tasks/index.json` |
|
|
48
|
+
|
|
49
|
+
**One-time setup in your app** (writes project `AGENTS.md` + Cursor rule):
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npx once-ui-init-agent
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Validate generated code:**
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npx once-ui-validate-ai-code src/app/page.tsx
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Full guide: [docs.once-ui.com/once-ui/ai-coding](https://docs.once-ui.com/once-ui/ai-coding)
|
|
62
|
+
|
|
63
|
+
Machine-readable discovery: see the `onceUi` field in this package's `package.json`.
|
|
64
|
+
|
|
38
65
|
## Authors
|
|
39
66
|
|
|
40
67
|
Built and maintained by [**Lorant One**](https://lorant.one).
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Load Once UI agent harness before generating UI code
|
|
3
|
+
globs: "**/*.{tsx,jsx}"
|
|
4
|
+
alwaysApply: false
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Once UI codegen harness
|
|
8
|
+
|
|
9
|
+
Before generating or editing Once UI UI code in this project:
|
|
10
|
+
|
|
11
|
+
1. Read `@once-ui-system/core/ai/manifest.json` (or `node_modules/@once-ui-system/core/ai/manifest.json`)
|
|
12
|
+
2. Load bootstrap files from the manifest: `rules.compact.md` + `catalog.json`
|
|
13
|
+
3. Resolve intent via `ai/tasks/index.json` → fetch the matching task bundle
|
|
14
|
+
4. Fetch only the component slices listed in that task (`ai/components/*.json`)
|
|
15
|
+
5. Read the task's gold example; for production layouts, read matching Pro blocks from `ai/examples/blocks/manifest.json`
|
|
16
|
+
6. Validate output: `npx once-ui-validate-ai-code path/to/file.tsx`
|
|
17
|
+
|
|
18
|
+
## Do not
|
|
19
|
+
|
|
20
|
+
- Use full documentation MDX pages for codegen (too large; use the harness)
|
|
21
|
+
- Use `Flex direction="column"` when `Column` works; same for `Row`
|
|
22
|
+
- Use `fillWidth fillHeight` when `fill` works
|
|
23
|
+
- Use `Card` for static panels (use the surface recipe on `Column`)
|
|
24
|
+
|
|
25
|
+
## Remote fallback
|
|
26
|
+
|
|
27
|
+
https://docs.once-ui.com/ai/manifest.json
|