@flikk/ui 1.0.0-beta.30 → 1.0.0-beta.31
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/CHANGELOG.md +97 -0
- package/dist/components/ai/AgentStatus/AgentStatus.d.ts +3 -0
- package/dist/components/ai/AgentStatus/AgentStatus.js +144 -0
- package/dist/components/ai/AgentStatus/AgentStatus.theme.d.ts +2 -0
- package/dist/components/ai/AgentStatus/AgentStatus.theme.js +37 -0
- package/dist/components/ai/AgentStatus/AgentStatus.types.d.ts +116 -0
- package/dist/components/ai/AgentStatus/index.d.ts +3 -0
- package/dist/components/ai/CodeBlock/CodeBlock.js +3 -3
- package/dist/components/ai/CodeBlock/CodeBlock.theme.js +1 -1
- package/dist/components/ai/PromptInput/PromptInput.js +13 -14
- package/dist/components/ai/PromptInput/PromptInput.theme.js +1 -1
- package/dist/components/ai/PromptInput/VoiceRecorder.js +3 -3
- package/dist/components/ai/Reasoning/Reasoning.d.ts +5 -0
- package/dist/components/ai/Reasoning/Reasoning.js +16 -0
- package/dist/components/ai/Reasoning/Reasoning.types.d.ts +20 -0
- package/dist/components/ai/Reasoning/index.d.ts +2 -0
- package/dist/components/ai/SourceCitation/SourceCitation.d.ts +4 -0
- package/dist/components/ai/SourceCitation/SourceCitation.js +29 -0
- package/dist/components/ai/SourceCitation/SourceCitation.theme.d.ts +2 -0
- package/dist/components/ai/SourceCitation/SourceCitation.theme.js +23 -0
- package/dist/components/ai/SourceCitation/SourceCitation.types.d.ts +55 -0
- package/dist/components/ai/SourceCitation/index.d.ts +3 -0
- package/dist/components/ai/StreamingResponse/ErrorDisplay.js +2 -2
- package/dist/components/ai/StreamingResponse/StreamingResponse.js +1 -3
- package/dist/components/ai/StreamingResponse/StreamingResponse.theme.js +3 -1
- package/dist/components/ai/TokenCounter/TokenCounter.js +2 -2
- package/dist/components/ai/index.d.ts +3 -0
- package/dist/components/ai/index.js +6 -3
- package/dist/components/ai/shared/StatusIndicator.d.ts +8 -0
- package/dist/components/ai/shared/StatusIndicator.js +34 -0
- package/dist/components/canvas/CanvasToolbar.js +2 -2
- package/dist/components/canvas/NodeControls.js +2 -2
- package/dist/components/canvas/NodeRenderer.js +2 -2
- package/dist/components/charts/ActivityRings/ActivityRings.js +2 -2
- package/dist/components/charts/AreaChart/AreaChart.js +21 -32
- package/dist/components/charts/AreaChart/AreaChart.theme.d.ts +1 -6
- package/dist/components/charts/AreaChart/AreaChart.theme.js +7 -19
- package/dist/components/charts/AreaChart/AreaChart.types.d.ts +18 -11
- package/dist/components/charts/AreaChart/AreaChart.types.js +10 -3
- package/dist/components/charts/AreaChart/index.d.ts +1 -1
- package/dist/components/charts/BarChart/BarChart.js +9 -28
- package/dist/components/charts/BarChart/BarChart.types.d.ts +20 -16
- package/dist/components/charts/BarChart/BarChart.types.js +11 -4
- package/dist/components/charts/ComboChart/BarRenderer.js +8 -5
- package/dist/components/charts/ComboChart/ComboChart.js +11 -24
- package/dist/components/charts/ComboChart/ComboChart.types.d.ts +15 -13
- package/dist/components/charts/ComboChart/ComboChart.types.js +14 -2
- package/dist/components/charts/ComboChart/LineRenderer.js +15 -10
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.d.ts +16 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.js +237 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.d.ts +62 -0
- package/dist/components/charts/HorizontalBarChart/HorizontalBarChart.types.js +21 -0
- package/dist/components/charts/HorizontalBarChart/index.d.ts +3 -0
- package/dist/components/charts/LineChart/LineChart.js +9 -26
- package/dist/components/charts/LineChart/LineChart.types.d.ts +11 -14
- package/dist/components/charts/LineChart/LineChart.types.js +11 -3
- package/dist/components/charts/LollipopChart/LollipopChart.d.ts +3 -0
- package/dist/components/charts/LollipopChart/LollipopChart.js +361 -0
- package/dist/components/charts/LollipopChart/LollipopChart.types.d.ts +42 -0
- package/dist/components/charts/LollipopChart/LollipopChart.types.js +12 -0
- package/dist/components/charts/LollipopChart/index.d.ts +3 -0
- package/dist/components/charts/ScatterPlot/ScatterPlot.js +5 -4
- package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +14 -19
- package/dist/components/charts/ScatterPlot/ScatterPlot.types.js +9 -2
- package/dist/components/charts/StackedBarChart/StackedBarChart.js +150 -132
- package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +20 -18
- package/dist/components/charts/StackedBarChart/StackedBarChart.types.js +10 -4
- package/dist/components/charts/hooks/useChartAccessibility.d.ts +1 -1
- package/dist/components/charts/hooks/useChartAccessibility.js +3 -0
- package/dist/components/charts/hooks/useTooltipPosition.js +18 -6
- package/dist/components/charts/index.d.ts +6 -0
- package/dist/components/charts/index.js +6 -0
- package/dist/components/charts/shared/ChartAxis/CategoryYAxis.d.ts +14 -0
- package/dist/components/charts/shared/ChartAxis/CategoryYAxis.js +35 -0
- package/dist/components/charts/shared/ChartAxis/ChartAxis.types.d.ts +69 -8
- package/dist/components/charts/shared/ChartAxis/ValueXAxis.d.ts +14 -0
- package/dist/components/charts/shared/ChartAxis/ValueXAxis.js +64 -0
- package/dist/components/charts/shared/ChartAxis/XAxis.js +1 -1
- package/dist/components/charts/shared/ChartAxis/YAxis.js +2 -2
- package/dist/components/charts/shared/ChartAxis/index.d.ts +3 -1
- package/dist/components/charts/shared/ChartGrid/HorizontalGrid.d.ts +0 -2
- package/dist/components/charts/shared/ChartGrid/HorizontalGrid.js +1 -1
- package/dist/components/charts/shared/ChartGrid/VerticalGrid.d.ts +29 -0
- package/dist/components/charts/shared/ChartGrid/VerticalGrid.js +26 -0
- package/dist/components/charts/shared/ChartGrid/index.d.ts +2 -0
- package/dist/components/charts/shared/ChartMarker/ChartMarker.js +7 -1
- package/dist/components/charts/theme/chart.theme.js +18 -23
- package/dist/components/charts/types/chart.types.d.ts +9 -5
- package/dist/components/charts/types/chart.types.js +1 -7
- package/dist/components/charts/utils/animation-utils.js +1 -3
- package/dist/components/charts/utils/bar-emphasis.d.ts +32 -3
- package/dist/components/charts/utils/bar-emphasis.js +24 -8
- package/dist/components/charts/utils/index.d.ts +1 -0
- package/dist/components/charts/utils/series-color.d.ts +7 -0
- package/dist/components/charts/utils/series-color.js +20 -0
- package/dist/components/core/Accordion/Accordion.theme.js +2 -2
- package/dist/components/core/Accordion/AccordionTrigger.js +2 -2
- package/dist/components/core/Alert/Alert.animations.d.ts +2 -1
- package/dist/components/core/Alert/Alert.animations.js +21 -6
- package/dist/components/core/Alert/Alert.js +7 -7
- package/dist/components/core/Avatar/Avatar.js +50 -42
- package/dist/components/core/Avatar/Avatar.theme.d.ts +8 -4
- package/dist/components/core/Avatar/Avatar.theme.js +64 -8
- package/dist/components/core/Avatar/Avatar.types.d.ts +13 -2
- package/dist/components/core/Avatar/index.d.ts +1 -1
- package/dist/components/core/AvatarGroup/AvatarGroup.js +6 -8
- package/dist/components/core/AvatarGroup/AvatarGroup.theme.d.ts +1 -2
- package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +2 -6
- package/dist/components/core/AvatarGroup/AvatarGroup.types.d.ts +0 -6
- package/dist/components/core/AvatarGroup/index.d.ts +1 -1
- package/dist/components/core/Badge/Badge.animations.js +4 -2
- package/dist/components/core/Badge/Badge.js +9 -4
- package/dist/components/core/Badge/Badge.theme.js +18 -12
- package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.d.ts +1 -4
- package/dist/components/core/Breadcrumbs/Breadcrumbs.theme.js +2 -2
- package/dist/components/core/Button/Button.js +9 -17
- package/dist/components/core/Button/Button.ripple.js +2 -2
- package/dist/components/core/Button/Button.theme.d.ts +2 -0
- package/dist/components/core/Button/Button.theme.js +34 -21
- package/dist/components/core/Button/Button.types.d.ts +18 -1
- package/dist/components/core/Calendar/Calendar.js +20 -5
- package/dist/components/core/Calendar/Calendar.theme.js +14 -22
- package/dist/components/core/Calendar/Calendar.types.d.ts +0 -1
- package/dist/components/core/Calendar/CalendarMini/CalendarMini.js +3 -3
- package/dist/components/core/Card/Card.theme.js +12 -4
- package/dist/components/core/Card/CardBody.js +1 -1
- package/dist/components/core/Card/CardFooter.js +1 -1
- package/dist/components/core/Card/CardHeader.js +1 -1
- package/dist/components/core/Carousel/CarouselNext.js +2 -2
- package/dist/components/core/Carousel/CarouselPrevious.js +2 -2
- package/dist/components/core/CommandPalette/CommandPalette.js +5 -4
- package/dist/components/core/CommandPalette/CommandPalette.theme.js +3 -7
- package/dist/components/core/CommandPalette/CommandPalette.types.d.ts +2 -0
- package/dist/components/core/ContextMenu/ContextMenuItem.js +2 -2
- package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +2 -2
- package/dist/components/core/Drawer/Drawer.theme.js +7 -4
- package/dist/components/core/Drawer/DrawerHeader.js +2 -2
- package/dist/components/core/Dropdown/Dropdown.theme.js +3 -1
- package/dist/components/core/Dropdown/DropdownItem.js +2 -2
- package/dist/components/core/Dropdown/DropdownTrigger.js +16 -5
- package/dist/components/core/HeroCard/HeroCard.theme.js +5 -2
- package/dist/components/core/Kbd/Kbd.theme.js +4 -2
- package/dist/components/core/Link/Link.js +6 -4
- package/dist/components/core/Message/Message.js +2 -2
- package/dist/components/core/Message/Message.theme.js +5 -7
- package/dist/components/core/Message/MessageAudio.js +2 -2
- package/dist/components/core/Message/MessageFile.js +2 -2
- package/dist/components/core/Message/MessageLink.js +2 -2
- package/dist/components/core/Message/MessageStatusIndicator.js +5 -5
- package/dist/components/core/Modal/Modal.d.ts +1 -1
- package/dist/components/core/Modal/Modal.js +2 -2
- package/dist/components/core/Modal/Modal.theme.js +9 -4
- package/dist/components/core/Modal/ModalHeader.js +2 -2
- package/dist/components/core/ModalStack/ModalStackModal.js +2 -2
- package/dist/components/core/NavItem/NavItem.js +6 -6
- package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.d.ts +22 -0
- package/dist/components/core/OfflineIndicator/OfflineIndicator.animations.js +54 -0
- package/dist/components/core/OfflineIndicator/OfflineIndicator.js +23 -24
- package/dist/components/core/OfflineIndicator/OfflineIndicator.theme.js +25 -6
- package/dist/components/core/OfflineIndicator/OfflineIndicator.types.d.ts +17 -0
- package/dist/components/core/PageHeading/PageHeading.theme.js +1 -1
- package/dist/components/core/PageHeading/PageHeadingBackButton.js +2 -2
- package/dist/components/core/Pagination/Pagination.js +3 -3
- package/dist/components/core/Pagination/Pagination.theme.js +3 -3
- package/dist/components/core/Pill/Pill.js +4 -2
- package/dist/components/core/Pill/Pill.theme.js +6 -4
- package/dist/components/core/Rating/Rating.js +4 -5
- package/dist/components/core/Rating/Rating.theme.js +1 -1
- package/dist/components/core/Segmented/Segmented.theme.js +9 -6
- package/dist/components/core/Sidebar/Sidebar.types.d.ts +4 -2
- package/dist/components/core/Sidebar/SidebarHeader.js +2 -2
- package/dist/components/core/Sidebar/SidebarMobileTrigger.js +2 -2
- package/dist/components/core/Sidebar/SidebarSearch.js +3 -3
- package/dist/components/core/Sidebar/SidebarToggle.js +3 -3
- package/dist/components/core/Sidebar/SidebarUserProfile.js +2 -2
- package/dist/components/core/Sortable/Sortable.js +2 -2
- package/dist/components/core/Tag/Tag.js +2 -2
- package/dist/components/core/Tag/Tag.theme.js +4 -2
- package/dist/components/core/Toast/Toast.js +3 -3
- package/dist/components/core/Toast/Toast.types.d.ts +1 -1
- package/dist/components/core/Toast/useToast.js +5 -5
- package/dist/components/core/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/core/Tooltip/Tooltip.js +42 -10
- package/dist/components/core/Tooltip/Tooltip.types.d.ts +25 -0
- package/dist/components/core/Tree/Tree.js +2 -2
- package/dist/components/core/shared/interaction.animations.d.ts +51 -0
- package/dist/components/core/shared/interaction.animations.js +59 -0
- package/dist/components/data-display/Feed/Feed.js +2 -2
- package/dist/components/data-display/GanttChart/GanttChart.theme.js +1 -1
- package/dist/components/data-display/GanttChart/GanttChartPanel.js +2 -2
- package/dist/components/data-display/GanttChart/GanttTableGroupRow.js +3 -3
- package/dist/components/data-display/GanttChart/GanttTaskContextMenu.js +2 -2
- package/dist/components/data-display/GanttChart/GanttToolbar.js +2 -2
- package/dist/components/data-display/KPI/KPI.js +2 -2
- package/dist/components/data-display/KPI/KPI.theme.js +4 -4
- package/dist/components/data-display/Metric/Metric.js +2 -2
- package/dist/components/data-display/Metric/Metric.theme.js +25 -8
- package/dist/components/data-display/Metric/Metric.types.d.ts +1 -1
- package/dist/components/data-display/Table/Table.theme.js +9 -9
- package/dist/components/data-display/Table/TableActions.js +2 -2
- package/dist/components/data-display/Table/TableActionsMenu.js +1 -1
- package/dist/components/data-display/Table/TableColumnManager.js +2 -2
- package/dist/components/data-display/Table/TableDeclarative.js +3 -3
- package/dist/components/data-display/Table/TableFilter.js +4 -4
- package/dist/components/data-display/Table/TableHeader.js +3 -3
- package/dist/components/data-display/Table/TableRow.js +2 -2
- package/dist/components/data-display/Table/TableSelectionHeader.js +3 -3
- package/dist/components/data-display/Timeline/TimelineMarker.js +2 -2
- package/dist/components/effects/CustomCursor/CustomCursor.js +2 -2
- package/dist/components/effects/CustomCursor/CustomCursor.theme.js +2 -2
- package/dist/components/effects/DotPattern/DotPattern.js +6 -0
- package/dist/components/effects/DotPattern/DotPattern.types.d.ts +4 -2
- package/dist/components/effects/MeshGradient/MeshGradient.utils.d.ts +1 -1
- package/dist/components/effects/MeshGradient/MeshGradient.utils.js +1 -1
- package/dist/components/forms/Checkbox/Checkbox.js +2 -1
- package/dist/components/forms/Checkbox/Checkbox.theme.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerEyeDropper.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerGradient.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerHeader.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerImage.js +3 -3
- package/dist/components/forms/ColorPicker/ColorPickerInput.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerPresets.js +2 -2
- package/dist/components/forms/ColorPicker/ColorPickerSavedColors.js +2 -2
- package/dist/components/forms/Combobox/Combobox.js +3 -3
- package/dist/components/forms/Combobox/Combobox.theme.js +2 -2
- package/dist/components/forms/DatePicker/DatePicker.animations.js +16 -25
- package/dist/components/forms/DatePicker/DatePicker.theme.js +2 -2
- package/dist/components/forms/DatePicker/DatePickerBody.js +1 -1
- package/dist/components/forms/DatePicker/DatePickerTrigger.js +2 -2
- package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +3 -3
- package/dist/components/forms/DateRangePicker/DateRangePickerBody.js +1 -1
- package/dist/components/forms/DateRangePicker/DateRangePickerPresets.js +2 -2
- package/dist/components/forms/DateRangePicker/DateRangePickerTrigger.js +2 -2
- package/dist/components/forms/FileUpload/FileUpload.js +4 -4
- package/dist/components/forms/FileUpload/FileUpload.theme.js +5 -1
- package/dist/components/forms/FileUpload/FileUploadProgress.js +7 -7
- package/dist/components/forms/Input/Input.js +6 -7
- package/dist/components/forms/Input/Input.theme.js +19 -15
- package/dist/components/forms/InputAddress/InputAddress.js +10 -3
- package/dist/components/forms/InputCounter/InputCounter.js +3 -3
- package/dist/components/forms/InputOTP/InputOTP.d.ts +3 -12
- package/dist/components/forms/InputOTP/InputOTP.js +140 -151
- package/dist/components/forms/InputOTP/InputOTP.theme.d.ts +5 -1
- package/dist/components/forms/InputOTP/InputOTP.theme.js +40 -5
- package/dist/components/forms/InputOTP/InputOTP.types.d.ts +45 -2
- package/dist/components/forms/InputOTP/index.d.ts +1 -1
- package/dist/components/forms/InputTag/InputTag.js +5 -5
- package/dist/components/forms/InputTag/InputTag.theme.js +1 -2
- package/dist/components/forms/Mention/Mention.theme.js +3 -5
- package/dist/components/forms/Radio/Radio.js +3 -2
- package/dist/components/forms/Radio/Radio.theme.js +2 -2
- package/dist/components/forms/RichTextEditor/RichTextEditor.js +22 -23
- package/dist/components/forms/Select/Select.d.ts +5 -1
- package/dist/components/forms/Select/Select.js +12 -11
- package/dist/components/forms/Select/Select.theme.js +4 -4
- package/dist/components/forms/Select/Select.types.d.ts +4 -1
- package/dist/components/forms/SelectableCard/SelectableCard.animations.d.ts +1 -2
- package/dist/components/forms/SelectableCard/SelectableCard.animations.js +6 -7
- package/dist/components/forms/SelectableCard/SelectableCard.js +1 -1
- package/dist/components/forms/Signature/Signature.js +1 -1
- package/dist/components/forms/Slider/Slider.js +24 -11
- package/dist/components/forms/Slider/Slider.theme.js +9 -3
- package/dist/components/forms/Switch/Switch.theme.js +1 -1
- package/dist/components/forms/TimePicker/TimePicker.theme.js +6 -7
- package/dist/components/forms/TimePicker/TimePickerContent.js +1 -1
- package/dist/components/forms/TimePicker/TimePickerTrigger.js +3 -3
- package/dist/components/forms/forms.theme.js +23 -12
- package/dist/components/forms/index.js +1 -1
- package/dist/components/generative/registry.js +195 -2
- package/dist/components/generative/resolvers.js +16 -16
- package/dist/components/generative/schema.generated.js +2687 -379
- package/dist/components/layout/Section/Section.theme.js +1 -1
- package/dist/generative.schema.json +2687 -379
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/useElapsedTime.d.ts +28 -0
- package/dist/hooks/useElapsedTime.js +37 -0
- package/dist/hooks/useSelectPortal.d.ts +10 -2
- package/dist/hooks/useSelectPortal.js +6 -3
- package/dist/index.js +1 -1
- package/dist/registry.json +835 -261
- package/dist/shadcn-compat.css +1 -1
- package/dist/styles.css +1 -1
- package/dist/theme.css +5 -1
- package/dist/themes/ember.css +131 -0
- package/dist/themes/iris.css +94 -0
- package/dist/themes/jade.css +139 -0
- package/dist/tools.json +2705 -361
- package/dist/utils/colorUtils.d.ts +6 -6
- package/dist/utils/colorUtils.js +8 -8
- package/package.json +9 -6
- package/src/global.scss +15 -4
- package/src/styles/theme.css +440 -152
- package/tailwind.preset.cjs +52 -34
- package/dist/components/core/Pill/Pill.animations.d.ts +0 -32
- package/dist/components/core/Pill/Pill.animations.js +0 -16
|
@@ -48,6 +48,59 @@ const GENERATIVE_SCHEMA = {
|
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
},
|
|
51
|
+
"ActivityRings": {
|
|
52
|
+
"role": "leaf",
|
|
53
|
+
"description": "Concentric circular progress rings (auto Card shell).",
|
|
54
|
+
"props": {
|
|
55
|
+
"rings": {
|
|
56
|
+
"kind": "shape",
|
|
57
|
+
"shape": "activityRings",
|
|
58
|
+
"required": true,
|
|
59
|
+
"description": "Array of rings (ordered from outer to inner)"
|
|
60
|
+
},
|
|
61
|
+
"centerLabel": {
|
|
62
|
+
"kind": "text",
|
|
63
|
+
"description": "Center label content (text or ReactNode)"
|
|
64
|
+
},
|
|
65
|
+
"centerSuffix": {
|
|
66
|
+
"kind": "string",
|
|
67
|
+
"description": "Optional suffix for center label (e.g., \"cal\", \"steps\")"
|
|
68
|
+
},
|
|
69
|
+
"size": {
|
|
70
|
+
"kind": "union",
|
|
71
|
+
"types": [
|
|
72
|
+
"number",
|
|
73
|
+
"string"
|
|
74
|
+
],
|
|
75
|
+
"description": "Size of the chart (px or string with units)"
|
|
76
|
+
},
|
|
77
|
+
"strokeWidth": {
|
|
78
|
+
"kind": "number",
|
|
79
|
+
"description": "Ring stroke width (default: 12)"
|
|
80
|
+
},
|
|
81
|
+
"gap": {
|
|
82
|
+
"kind": "number",
|
|
83
|
+
"description": "Gap between rings (default: 8)"
|
|
84
|
+
},
|
|
85
|
+
"showAnimation": {
|
|
86
|
+
"kind": "boolean",
|
|
87
|
+
"description": "Whether to show animations (default: true)"
|
|
88
|
+
},
|
|
89
|
+
"colors": {
|
|
90
|
+
"kind": "shape",
|
|
91
|
+
"shape": "colorList",
|
|
92
|
+
"description": "Custom color palette for rings. Colors are applied in order from outer to inner ring."
|
|
93
|
+
},
|
|
94
|
+
"title": {
|
|
95
|
+
"kind": "text",
|
|
96
|
+
"description": "Card header title (the auto shell)"
|
|
97
|
+
},
|
|
98
|
+
"subtitle": {
|
|
99
|
+
"kind": "text",
|
|
100
|
+
"description": "Card header subtitle (the auto shell)"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
51
104
|
"Alert": {
|
|
52
105
|
"role": "leaf",
|
|
53
106
|
"description": "Inline callout with semantic color.",
|
|
@@ -55,7 +108,7 @@ const GENERATIVE_SCHEMA = {
|
|
|
55
108
|
"color": {
|
|
56
109
|
"kind": "enum",
|
|
57
110
|
"options": [
|
|
58
|
-
"
|
|
111
|
+
"mono",
|
|
59
112
|
"primary",
|
|
60
113
|
"success",
|
|
61
114
|
"warning",
|
|
@@ -168,15 +221,6 @@ const GENERATIVE_SCHEMA = {
|
|
|
168
221
|
"gradient"
|
|
169
222
|
]
|
|
170
223
|
},
|
|
171
|
-
"barRadius": {
|
|
172
|
-
"kind": "number"
|
|
173
|
-
},
|
|
174
|
-
"cellRadius": {
|
|
175
|
-
"kind": "number"
|
|
176
|
-
},
|
|
177
|
-
"gap": {
|
|
178
|
-
"kind": "number"
|
|
179
|
-
},
|
|
180
224
|
"curveType": {
|
|
181
225
|
"kind": "enum",
|
|
182
226
|
"options": [
|
|
@@ -197,6 +241,16 @@ const GENERATIVE_SCHEMA = {
|
|
|
197
241
|
}
|
|
198
242
|
}
|
|
199
243
|
},
|
|
244
|
+
"AspectRatio": {
|
|
245
|
+
"role": "container",
|
|
246
|
+
"description": "Fixed-ratio box. Children are spec nodes.",
|
|
247
|
+
"props": {
|
|
248
|
+
"ratio": {
|
|
249
|
+
"kind": "number",
|
|
250
|
+
"description": "The desired ratio (width / height). e.g., 16/9, 4/3, 1"
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
},
|
|
200
254
|
"Avatar": {
|
|
201
255
|
"role": "leaf",
|
|
202
256
|
"description": "User avatar with initials fallback.",
|
|
@@ -216,7 +270,7 @@ const GENERATIVE_SCHEMA = {
|
|
|
216
270
|
"string"
|
|
217
271
|
],
|
|
218
272
|
"default": "md",
|
|
219
|
-
"description": "The size of the avatar"
|
|
273
|
+
"description": "The size of the avatar — a named rung (`\"md\"`) or an exact pixel size"
|
|
220
274
|
},
|
|
221
275
|
"status": {
|
|
222
276
|
"kind": "enum",
|
|
@@ -289,16 +343,6 @@ const GENERATIVE_SCHEMA = {
|
|
|
289
343
|
"default": "md",
|
|
290
344
|
"description": "Size for all avatars in the group"
|
|
291
345
|
},
|
|
292
|
-
"spacing": {
|
|
293
|
-
"kind": "enum",
|
|
294
|
-
"options": [
|
|
295
|
-
"tight",
|
|
296
|
-
"normal",
|
|
297
|
-
"loose"
|
|
298
|
-
],
|
|
299
|
-
"default": "normal",
|
|
300
|
-
"description": "Amount of overlap between avatars (higher value = more overlap)"
|
|
301
|
-
},
|
|
302
346
|
"direction": {
|
|
303
347
|
"kind": "enum",
|
|
304
348
|
"options": [
|
|
@@ -342,7 +386,7 @@ const GENERATIVE_SCHEMA = {
|
|
|
342
386
|
"color": {
|
|
343
387
|
"kind": "enum",
|
|
344
388
|
"options": [
|
|
345
|
-
"
|
|
389
|
+
"mono",
|
|
346
390
|
"primary",
|
|
347
391
|
"success",
|
|
348
392
|
"warning",
|
|
@@ -464,47 +508,6 @@ const GENERATIVE_SCHEMA = {
|
|
|
464
508
|
"gradient"
|
|
465
509
|
]
|
|
466
510
|
},
|
|
467
|
-
"dotRadius": {
|
|
468
|
-
"kind": "number"
|
|
469
|
-
},
|
|
470
|
-
"cellRadius": {
|
|
471
|
-
"kind": "number"
|
|
472
|
-
},
|
|
473
|
-
"strokeWidth": {
|
|
474
|
-
"kind": "number"
|
|
475
|
-
},
|
|
476
|
-
"curved": {
|
|
477
|
-
"kind": "boolean"
|
|
478
|
-
},
|
|
479
|
-
"curveType": {
|
|
480
|
-
"kind": "enum",
|
|
481
|
-
"options": [
|
|
482
|
-
"linear",
|
|
483
|
-
"monotone",
|
|
484
|
-
"step",
|
|
485
|
-
"stepBefore",
|
|
486
|
-
"stepAfter"
|
|
487
|
-
]
|
|
488
|
-
},
|
|
489
|
-
"showDots": {
|
|
490
|
-
"kind": "boolean"
|
|
491
|
-
},
|
|
492
|
-
"fillOpacity": {
|
|
493
|
-
"kind": "number"
|
|
494
|
-
},
|
|
495
|
-
"showStroke": {
|
|
496
|
-
"kind": "boolean"
|
|
497
|
-
},
|
|
498
|
-
"stacked": {
|
|
499
|
-
"kind": "boolean"
|
|
500
|
-
},
|
|
501
|
-
"orientation": {
|
|
502
|
-
"kind": "enum",
|
|
503
|
-
"options": [
|
|
504
|
-
"vertical",
|
|
505
|
-
"horizontal"
|
|
506
|
-
]
|
|
507
|
-
},
|
|
508
511
|
"title": {
|
|
509
512
|
"kind": "text",
|
|
510
513
|
"description": "Card header title (the auto shell)"
|
|
@@ -550,7 +553,7 @@ const GENERATIVE_SCHEMA = {
|
|
|
550
553
|
"color": {
|
|
551
554
|
"kind": "enum",
|
|
552
555
|
"options": [
|
|
553
|
-
"
|
|
556
|
+
"mono",
|
|
554
557
|
"primary",
|
|
555
558
|
"danger"
|
|
556
559
|
],
|
|
@@ -592,6 +595,14 @@ const GENERATIVE_SCHEMA = {
|
|
|
592
595
|
"kind": "boolean",
|
|
593
596
|
"description": "Whether the button should be full width"
|
|
594
597
|
},
|
|
598
|
+
"iconStart": {
|
|
599
|
+
"kind": "icon",
|
|
600
|
+
"description": "Small decorative icon before the label, auto-sized to the button's `size`."
|
|
601
|
+
},
|
|
602
|
+
"iconEnd": {
|
|
603
|
+
"kind": "icon",
|
|
604
|
+
"description": "Small decorative icon after the label, auto-sized to the button's `size`. See `iconStart`."
|
|
605
|
+
},
|
|
595
606
|
"children": {
|
|
596
607
|
"kind": "text",
|
|
597
608
|
"description": "Button contents"
|
|
@@ -626,6 +637,76 @@ const GENERATIVE_SCHEMA = {
|
|
|
626
637
|
}
|
|
627
638
|
}
|
|
628
639
|
},
|
|
640
|
+
"ButtonGroup": {
|
|
641
|
+
"role": "container",
|
|
642
|
+
"description": "Groups adjacent Buttons with joined borders. Children are spec nodes (Button leaves).",
|
|
643
|
+
"props": {
|
|
644
|
+
"orientation": {
|
|
645
|
+
"kind": "enum",
|
|
646
|
+
"options": [
|
|
647
|
+
"horizontal",
|
|
648
|
+
"vertical"
|
|
649
|
+
],
|
|
650
|
+
"description": "The layout direction of the button group"
|
|
651
|
+
}
|
|
652
|
+
}
|
|
653
|
+
},
|
|
654
|
+
"Calendar": {
|
|
655
|
+
"role": "leaf",
|
|
656
|
+
"description": "Date picker grid (range mode not supported in generative specs). value/minDate/maxDate accept ISO date strings, coerced to Date internally. Bind node.actions.change to onChange (fires with the selected ISO date string).",
|
|
657
|
+
"props": {
|
|
658
|
+
"showToday": {
|
|
659
|
+
"kind": "boolean",
|
|
660
|
+
"description": "Whether to highlight today's date (default: true)"
|
|
661
|
+
},
|
|
662
|
+
"selectTodayByDefault": {
|
|
663
|
+
"kind": "boolean",
|
|
664
|
+
"description": "Auto-select today's date when calendar opens without a value (default: false)"
|
|
665
|
+
},
|
|
666
|
+
"size": {
|
|
667
|
+
"kind": "enum",
|
|
668
|
+
"options": [
|
|
669
|
+
"sm",
|
|
670
|
+
"md",
|
|
671
|
+
"lg"
|
|
672
|
+
],
|
|
673
|
+
"description": "Size variant"
|
|
674
|
+
},
|
|
675
|
+
"headerMode": {
|
|
676
|
+
"kind": "enum",
|
|
677
|
+
"options": [
|
|
678
|
+
"dropdown",
|
|
679
|
+
"static",
|
|
680
|
+
"mixed"
|
|
681
|
+
],
|
|
682
|
+
"description": "Header display mode - dropdown (default), static text, or mixed (default: 'dropdown')"
|
|
683
|
+
},
|
|
684
|
+
"enableMonthDropdown": {
|
|
685
|
+
"kind": "boolean",
|
|
686
|
+
"description": "Whether to enable month dropdown instead of navigation arrows (default: true)"
|
|
687
|
+
},
|
|
688
|
+
"enableYearDropdown": {
|
|
689
|
+
"kind": "boolean",
|
|
690
|
+
"description": "Whether to enable year dropdown instead of navigation arrows (default: true)"
|
|
691
|
+
},
|
|
692
|
+
"showOtherMonthDays": {
|
|
693
|
+
"kind": "boolean",
|
|
694
|
+
"description": "Whether to show days from adjacent months (default: true)"
|
|
695
|
+
},
|
|
696
|
+
"value": {
|
|
697
|
+
"kind": "string",
|
|
698
|
+
"description": "Selected date, ISO format (e.g. \"2024-01-01\")"
|
|
699
|
+
},
|
|
700
|
+
"minDate": {
|
|
701
|
+
"kind": "string",
|
|
702
|
+
"description": "Minimum selectable date, ISO format"
|
|
703
|
+
},
|
|
704
|
+
"maxDate": {
|
|
705
|
+
"kind": "string",
|
|
706
|
+
"description": "Maximum selectable date, ISO format"
|
|
707
|
+
}
|
|
708
|
+
}
|
|
709
|
+
},
|
|
629
710
|
"Card": {
|
|
630
711
|
"role": "container",
|
|
631
712
|
"description": "Bounded panel with optional header. Children are spec nodes.",
|
|
@@ -640,6 +721,123 @@ const GENERATIVE_SCHEMA = {
|
|
|
640
721
|
}
|
|
641
722
|
}
|
|
642
723
|
},
|
|
724
|
+
"Checkbox": {
|
|
725
|
+
"role": "leaf",
|
|
726
|
+
"description": "Single checkbox. `value` is its HTML group-identity string, NOT the checked state. Bind node.actions.change to onChange — only the checked boolean (first argument) reaches the action, the value argument is dropped.",
|
|
727
|
+
"props": {
|
|
728
|
+
"value": {
|
|
729
|
+
"kind": "string",
|
|
730
|
+
"required": true
|
|
731
|
+
},
|
|
732
|
+
"indeterminate": {
|
|
733
|
+
"kind": "boolean"
|
|
734
|
+
},
|
|
735
|
+
"label": {
|
|
736
|
+
"kind": "text"
|
|
737
|
+
},
|
|
738
|
+
"description": {
|
|
739
|
+
"kind": "text"
|
|
740
|
+
},
|
|
741
|
+
"state": {
|
|
742
|
+
"kind": "enum",
|
|
743
|
+
"options": [
|
|
744
|
+
"default",
|
|
745
|
+
"disabled",
|
|
746
|
+
"invalid"
|
|
747
|
+
]
|
|
748
|
+
},
|
|
749
|
+
"size": {
|
|
750
|
+
"kind": "enum",
|
|
751
|
+
"options": [
|
|
752
|
+
"sm",
|
|
753
|
+
"md",
|
|
754
|
+
"lg"
|
|
755
|
+
]
|
|
756
|
+
},
|
|
757
|
+
"checked": {
|
|
758
|
+
"kind": "boolean",
|
|
759
|
+
"description": "Whether the checkbox is checked"
|
|
760
|
+
},
|
|
761
|
+
"disabled": {
|
|
762
|
+
"kind": "boolean",
|
|
763
|
+
"description": "Whether the checkbox is disabled"
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
},
|
|
767
|
+
"Combobox": {
|
|
768
|
+
"role": "leaf",
|
|
769
|
+
"description": "Searchable single-select. Bind node.actions.change to onChange (fires with the selected option's value, or undefined when cleared).",
|
|
770
|
+
"props": {
|
|
771
|
+
"options": {
|
|
772
|
+
"kind": "shape",
|
|
773
|
+
"shape": "optionItems",
|
|
774
|
+
"required": true,
|
|
775
|
+
"description": "Array of options to display"
|
|
776
|
+
},
|
|
777
|
+
"placeholder": {
|
|
778
|
+
"kind": "string",
|
|
779
|
+
"description": "Placeholder text when no value is selected"
|
|
780
|
+
},
|
|
781
|
+
"label": {
|
|
782
|
+
"kind": "text",
|
|
783
|
+
"description": "Label text displayed above the input"
|
|
784
|
+
},
|
|
785
|
+
"helperText": {
|
|
786
|
+
"kind": "text",
|
|
787
|
+
"description": "Helper text displayed below the input"
|
|
788
|
+
},
|
|
789
|
+
"size": {
|
|
790
|
+
"kind": "enum",
|
|
791
|
+
"options": [
|
|
792
|
+
"sm",
|
|
793
|
+
"md",
|
|
794
|
+
"lg"
|
|
795
|
+
],
|
|
796
|
+
"description": "Size variant"
|
|
797
|
+
},
|
|
798
|
+
"state": {
|
|
799
|
+
"kind": "enum",
|
|
800
|
+
"options": [
|
|
801
|
+
"default",
|
|
802
|
+
"disabled",
|
|
803
|
+
"invalid"
|
|
804
|
+
],
|
|
805
|
+
"description": "State variant (controls styling)"
|
|
806
|
+
},
|
|
807
|
+
"clearable": {
|
|
808
|
+
"kind": "boolean",
|
|
809
|
+
"description": "Whether the clear button is shown (default: true)"
|
|
810
|
+
},
|
|
811
|
+
"iconStart": {
|
|
812
|
+
"kind": "icon",
|
|
813
|
+
"description": "Icon displayed at the start of the input"
|
|
814
|
+
},
|
|
815
|
+
"iconEnd": {
|
|
816
|
+
"kind": "icon",
|
|
817
|
+
"description": "Icon displayed at the end of the input"
|
|
818
|
+
},
|
|
819
|
+
"openOnFocus": {
|
|
820
|
+
"kind": "boolean",
|
|
821
|
+
"description": "Whether to open dropdown on focus (default: true)"
|
|
822
|
+
},
|
|
823
|
+
"emptyMessage": {
|
|
824
|
+
"kind": "string",
|
|
825
|
+
"description": "Message shown when no options match the filter"
|
|
826
|
+
},
|
|
827
|
+
"required": {
|
|
828
|
+
"kind": "boolean",
|
|
829
|
+
"description": "Whether the input is required"
|
|
830
|
+
},
|
|
831
|
+
"name": {
|
|
832
|
+
"kind": "string",
|
|
833
|
+
"description": "Form field name"
|
|
834
|
+
},
|
|
835
|
+
"value": {
|
|
836
|
+
"kind": "string",
|
|
837
|
+
"description": "Currently selected value (controlled)"
|
|
838
|
+
}
|
|
839
|
+
}
|
|
840
|
+
},
|
|
643
841
|
"ComboChart": {
|
|
644
842
|
"role": "leaf",
|
|
645
843
|
"description": "Combined bar+line chart — per-series type via config[key].type (auto Card shell).",
|
|
@@ -731,10 +929,10 @@ const GENERATIVE_SCHEMA = {
|
|
|
731
929
|
"barRadius": {
|
|
732
930
|
"kind": "number"
|
|
733
931
|
},
|
|
734
|
-
"
|
|
932
|
+
"gap": {
|
|
735
933
|
"kind": "number"
|
|
736
934
|
},
|
|
737
|
-
"
|
|
935
|
+
"dotRadius": {
|
|
738
936
|
"kind": "number"
|
|
739
937
|
},
|
|
740
938
|
"radius": {
|
|
@@ -743,15 +941,6 @@ const GENERATIVE_SCHEMA = {
|
|
|
743
941
|
"strokeWidth": {
|
|
744
942
|
"kind": "number"
|
|
745
943
|
},
|
|
746
|
-
"gap": {
|
|
747
|
-
"kind": "number"
|
|
748
|
-
},
|
|
749
|
-
"fillOpacity": {
|
|
750
|
-
"kind": "number"
|
|
751
|
-
},
|
|
752
|
-
"showStroke": {
|
|
753
|
-
"kind": "boolean"
|
|
754
|
-
},
|
|
755
944
|
"title": {
|
|
756
945
|
"kind": "text",
|
|
757
946
|
"description": "Card header title (the auto shell)"
|
|
@@ -762,25 +951,74 @@ const GENERATIVE_SCHEMA = {
|
|
|
762
951
|
}
|
|
763
952
|
}
|
|
764
953
|
},
|
|
765
|
-
"
|
|
954
|
+
"CommandPalette": {
|
|
766
955
|
"role": "leaf",
|
|
767
|
-
"description": "
|
|
956
|
+
"description": "Searchable command list, rendered as a full-screen modal overlay (pair with node.actions.select/close).",
|
|
768
957
|
"props": {
|
|
769
|
-
"
|
|
770
|
-
"kind": "
|
|
771
|
-
"
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
],
|
|
775
|
-
"description": "Layout variant: \"horizontal\" (default) or \"vertical\""
|
|
958
|
+
"commands": {
|
|
959
|
+
"kind": "shape",
|
|
960
|
+
"shape": "commandItems",
|
|
961
|
+
"required": true,
|
|
962
|
+
"description": "Array of commands or command groups"
|
|
776
963
|
},
|
|
777
|
-
"
|
|
778
|
-
"kind": "
|
|
779
|
-
"
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
"description": "
|
|
964
|
+
"placeholder": {
|
|
965
|
+
"kind": "string",
|
|
966
|
+
"description": "Placeholder text for search input"
|
|
967
|
+
},
|
|
968
|
+
"emptyMessage": {
|
|
969
|
+
"kind": "string",
|
|
970
|
+
"description": "Custom empty state message"
|
|
971
|
+
},
|
|
972
|
+
"maxHeight": {
|
|
973
|
+
"kind": "union",
|
|
974
|
+
"types": [
|
|
975
|
+
"number",
|
|
976
|
+
"string"
|
|
977
|
+
],
|
|
978
|
+
"description": "Maximum height of the command list"
|
|
979
|
+
},
|
|
980
|
+
"grouped": {
|
|
981
|
+
"kind": "boolean",
|
|
982
|
+
"description": "Whether to group commands by category"
|
|
983
|
+
},
|
|
984
|
+
"elevation": {
|
|
985
|
+
"kind": "union",
|
|
986
|
+
"types": [
|
|
987
|
+
"number",
|
|
988
|
+
"string"
|
|
989
|
+
],
|
|
990
|
+
"description": "Pin the surface elevation rung (overrides the automatic relative lift)."
|
|
991
|
+
},
|
|
992
|
+
"lift": {
|
|
993
|
+
"kind": "boolean",
|
|
994
|
+
"description": "`false` opts out of the relative lift — paints at the palette's base rung."
|
|
995
|
+
},
|
|
996
|
+
"isOpen": {
|
|
997
|
+
"kind": "boolean",
|
|
998
|
+
"description": "Always rendered open in a generative spec.",
|
|
999
|
+
"default": true
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
},
|
|
1003
|
+
"DescriptionList": {
|
|
1004
|
+
"role": "leaf",
|
|
1005
|
+
"description": "Label/value pairs driven by a serializable items array.",
|
|
1006
|
+
"props": {
|
|
1007
|
+
"variant": {
|
|
1008
|
+
"kind": "enum",
|
|
1009
|
+
"options": [
|
|
1010
|
+
"horizontal",
|
|
1011
|
+
"vertical"
|
|
1012
|
+
],
|
|
1013
|
+
"description": "Layout variant: \"horizontal\" (default) or \"vertical\""
|
|
1014
|
+
},
|
|
1015
|
+
"padding": {
|
|
1016
|
+
"kind": "enum",
|
|
1017
|
+
"options": [
|
|
1018
|
+
"default",
|
|
1019
|
+
"flush"
|
|
1020
|
+
],
|
|
1021
|
+
"description": "Edge padding behavior. `flush` (default) removes the item side padding so"
|
|
784
1022
|
},
|
|
785
1023
|
"items": {
|
|
786
1024
|
"kind": "shape",
|
|
@@ -855,6 +1093,22 @@ const GENERATIVE_SCHEMA = {
|
|
|
855
1093
|
}
|
|
856
1094
|
}
|
|
857
1095
|
},
|
|
1096
|
+
"DotSeparator": {
|
|
1097
|
+
"role": "leaf",
|
|
1098
|
+
"description": "Small dot glyph used as an inline separator.",
|
|
1099
|
+
"props": {
|
|
1100
|
+
"size": {
|
|
1101
|
+
"kind": "enum",
|
|
1102
|
+
"options": [
|
|
1103
|
+
"sm",
|
|
1104
|
+
"md",
|
|
1105
|
+
"lg"
|
|
1106
|
+
],
|
|
1107
|
+
"default": "md",
|
|
1108
|
+
"description": "The size of the dot (also scales its horizontal spacing)"
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
},
|
|
858
1112
|
"Empty": {
|
|
859
1113
|
"role": "leaf",
|
|
860
1114
|
"description": "Empty-state placeholder with icon, title and subtitle.",
|
|
@@ -896,6 +1150,214 @@ const GENERATIVE_SCHEMA = {
|
|
|
896
1150
|
}
|
|
897
1151
|
}
|
|
898
1152
|
},
|
|
1153
|
+
"FunnelChart": {
|
|
1154
|
+
"role": "leaf",
|
|
1155
|
+
"description": "Conversion funnel chart (auto Card shell). Bind node.actions.stageClick to onStageClick (fires with the clicked stage's data).",
|
|
1156
|
+
"props": {
|
|
1157
|
+
"data": {
|
|
1158
|
+
"kind": "shape",
|
|
1159
|
+
"shape": "funnelStages",
|
|
1160
|
+
"required": true,
|
|
1161
|
+
"description": "Funnel stages data"
|
|
1162
|
+
},
|
|
1163
|
+
"height": {
|
|
1164
|
+
"kind": "union",
|
|
1165
|
+
"types": [
|
|
1166
|
+
"number",
|
|
1167
|
+
"string"
|
|
1168
|
+
],
|
|
1169
|
+
"description": "Height of the chart"
|
|
1170
|
+
},
|
|
1171
|
+
"width": {
|
|
1172
|
+
"kind": "union",
|
|
1173
|
+
"types": [
|
|
1174
|
+
"number",
|
|
1175
|
+
"string"
|
|
1176
|
+
],
|
|
1177
|
+
"description": "Width of the chart"
|
|
1178
|
+
},
|
|
1179
|
+
"showPercentages": {
|
|
1180
|
+
"kind": "boolean",
|
|
1181
|
+
"description": "Whether to show percentages"
|
|
1182
|
+
},
|
|
1183
|
+
"showValues": {
|
|
1184
|
+
"kind": "boolean",
|
|
1185
|
+
"description": "Whether to show values"
|
|
1186
|
+
},
|
|
1187
|
+
"showLabels": {
|
|
1188
|
+
"kind": "boolean",
|
|
1189
|
+
"description": "Whether to show stage labels (name)"
|
|
1190
|
+
},
|
|
1191
|
+
"showDropoff": {
|
|
1192
|
+
"kind": "boolean",
|
|
1193
|
+
"description": "Whether to show dropoff percentages between stages"
|
|
1194
|
+
},
|
|
1195
|
+
"showConversionRate": {
|
|
1196
|
+
"kind": "boolean",
|
|
1197
|
+
"description": "Whether to show conversion rates between stages"
|
|
1198
|
+
},
|
|
1199
|
+
"showSummary": {
|
|
1200
|
+
"kind": "boolean",
|
|
1201
|
+
"description": "Whether to show summary statistics"
|
|
1202
|
+
},
|
|
1203
|
+
"colors": {
|
|
1204
|
+
"kind": "shape",
|
|
1205
|
+
"shape": "colorList",
|
|
1206
|
+
"description": "Custom colors"
|
|
1207
|
+
},
|
|
1208
|
+
"orientation": {
|
|
1209
|
+
"kind": "enum",
|
|
1210
|
+
"options": [
|
|
1211
|
+
"horizontal",
|
|
1212
|
+
"vertical"
|
|
1213
|
+
],
|
|
1214
|
+
"description": "Orientation of the funnel"
|
|
1215
|
+
},
|
|
1216
|
+
"curved": {
|
|
1217
|
+
"kind": "boolean",
|
|
1218
|
+
"description": "Whether to curve segment edges (horizontal only)"
|
|
1219
|
+
},
|
|
1220
|
+
"useGradient": {
|
|
1221
|
+
"kind": "boolean",
|
|
1222
|
+
"description": "Whether to use gradient fills"
|
|
1223
|
+
},
|
|
1224
|
+
"fillOpacity": {
|
|
1225
|
+
"kind": "number",
|
|
1226
|
+
"description": "Fill opacity when gradients are disabled or for gradient stops"
|
|
1227
|
+
},
|
|
1228
|
+
"labelPosition": {
|
|
1229
|
+
"kind": "enum",
|
|
1230
|
+
"options": [
|
|
1231
|
+
"top",
|
|
1232
|
+
"bottom",
|
|
1233
|
+
"inside",
|
|
1234
|
+
"tooltip-only"
|
|
1235
|
+
],
|
|
1236
|
+
"description": "Position of stage labels"
|
|
1237
|
+
},
|
|
1238
|
+
"summaryPosition": {
|
|
1239
|
+
"kind": "enum",
|
|
1240
|
+
"options": [
|
|
1241
|
+
"none",
|
|
1242
|
+
"top-right",
|
|
1243
|
+
"top-left",
|
|
1244
|
+
"bottom-right",
|
|
1245
|
+
"bottom-left"
|
|
1246
|
+
],
|
|
1247
|
+
"description": "Position of summary statistics box"
|
|
1248
|
+
},
|
|
1249
|
+
"animate": {
|
|
1250
|
+
"kind": "boolean",
|
|
1251
|
+
"description": "Whether to animate on mount"
|
|
1252
|
+
},
|
|
1253
|
+
"title": {
|
|
1254
|
+
"kind": "text",
|
|
1255
|
+
"description": "Card header title (the auto shell)"
|
|
1256
|
+
},
|
|
1257
|
+
"subtitle": {
|
|
1258
|
+
"kind": "text",
|
|
1259
|
+
"description": "Card header subtitle (the auto shell)"
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
},
|
|
1263
|
+
"GanttChart": {
|
|
1264
|
+
"role": "leaf",
|
|
1265
|
+
"description": "Project timeline chart. startDate/endDate and task dates accept ISO date strings directly (the real prop type is Date | string). Custom columns are not supported (uses the built-in default columns). Bind node.actions.taskClick to onTaskClick.",
|
|
1266
|
+
"props": {
|
|
1267
|
+
"data": {
|
|
1268
|
+
"kind": "shape",
|
|
1269
|
+
"shape": "ganttTasks",
|
|
1270
|
+
"required": true
|
|
1271
|
+
},
|
|
1272
|
+
"groups": {
|
|
1273
|
+
"kind": "shape",
|
|
1274
|
+
"shape": "ganttGroups",
|
|
1275
|
+
"required": true
|
|
1276
|
+
},
|
|
1277
|
+
"todayMarker": {
|
|
1278
|
+
"kind": "boolean"
|
|
1279
|
+
},
|
|
1280
|
+
"scrollToToday": {
|
|
1281
|
+
"kind": "boolean"
|
|
1282
|
+
},
|
|
1283
|
+
"showTable": {
|
|
1284
|
+
"kind": "boolean"
|
|
1285
|
+
},
|
|
1286
|
+
"showDependencies": {
|
|
1287
|
+
"kind": "boolean"
|
|
1288
|
+
},
|
|
1289
|
+
"showTaskLabels": {
|
|
1290
|
+
"kind": "enum",
|
|
1291
|
+
"options": [
|
|
1292
|
+
"none",
|
|
1293
|
+
"inside",
|
|
1294
|
+
"auto",
|
|
1295
|
+
"outside"
|
|
1296
|
+
]
|
|
1297
|
+
},
|
|
1298
|
+
"readonly": {
|
|
1299
|
+
"kind": "boolean"
|
|
1300
|
+
},
|
|
1301
|
+
"readonlyDates": {
|
|
1302
|
+
"kind": "boolean"
|
|
1303
|
+
},
|
|
1304
|
+
"readonlyProgress": {
|
|
1305
|
+
"kind": "boolean"
|
|
1306
|
+
},
|
|
1307
|
+
"zoom": {
|
|
1308
|
+
"kind": "enum",
|
|
1309
|
+
"options": [
|
|
1310
|
+
"day",
|
|
1311
|
+
"week",
|
|
1312
|
+
"quarter",
|
|
1313
|
+
"month",
|
|
1314
|
+
"year"
|
|
1315
|
+
]
|
|
1316
|
+
},
|
|
1317
|
+
"defaultZoom": {
|
|
1318
|
+
"kind": "enum",
|
|
1319
|
+
"options": [
|
|
1320
|
+
"day",
|
|
1321
|
+
"week",
|
|
1322
|
+
"quarter",
|
|
1323
|
+
"month",
|
|
1324
|
+
"year"
|
|
1325
|
+
]
|
|
1326
|
+
},
|
|
1327
|
+
"hideCompleted": {
|
|
1328
|
+
"kind": "boolean"
|
|
1329
|
+
},
|
|
1330
|
+
"defaultHideCompleted": {
|
|
1331
|
+
"kind": "boolean"
|
|
1332
|
+
},
|
|
1333
|
+
"tablePanelWidth": {
|
|
1334
|
+
"kind": "number"
|
|
1335
|
+
},
|
|
1336
|
+
"defaultTablePanelWidth": {
|
|
1337
|
+
"kind": "number"
|
|
1338
|
+
},
|
|
1339
|
+
"gridLines": {
|
|
1340
|
+
"kind": "enum",
|
|
1341
|
+
"options": [
|
|
1342
|
+
"none",
|
|
1343
|
+
"horizontal",
|
|
1344
|
+
"vertical",
|
|
1345
|
+
"both"
|
|
1346
|
+
]
|
|
1347
|
+
},
|
|
1348
|
+
"rowHeight": {
|
|
1349
|
+
"kind": "number"
|
|
1350
|
+
},
|
|
1351
|
+
"startDate": {
|
|
1352
|
+
"kind": "string",
|
|
1353
|
+
"description": "Visible range start, ISO date format"
|
|
1354
|
+
},
|
|
1355
|
+
"endDate": {
|
|
1356
|
+
"kind": "string",
|
|
1357
|
+
"description": "Visible range end, ISO date format"
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
},
|
|
899
1361
|
"Grid": {
|
|
900
1362
|
"role": "container",
|
|
901
1363
|
"description": "Responsive CSS-grid container. Children are spec nodes.",
|
|
@@ -903,6 +1365,7 @@ const GENERATIVE_SCHEMA = {
|
|
|
903
1365
|
"as": {
|
|
904
1366
|
"kind": "enum",
|
|
905
1367
|
"options": [
|
|
1368
|
+
"form",
|
|
906
1369
|
"div",
|
|
907
1370
|
"ul",
|
|
908
1371
|
"ol",
|
|
@@ -911,7 +1374,6 @@ const GENERATIVE_SCHEMA = {
|
|
|
911
1374
|
"header",
|
|
912
1375
|
"footer",
|
|
913
1376
|
"aside",
|
|
914
|
-
"form",
|
|
915
1377
|
"fieldset"
|
|
916
1378
|
],
|
|
917
1379
|
"default": "div",
|
|
@@ -971,102 +1433,136 @@ const GENERATIVE_SCHEMA = {
|
|
|
971
1433
|
}
|
|
972
1434
|
}
|
|
973
1435
|
},
|
|
974
|
-
"
|
|
1436
|
+
"Heatmap": {
|
|
975
1437
|
"role": "leaf",
|
|
976
|
-
"description": "
|
|
1438
|
+
"description": "Calendar/matrix heatmap (auto Card shell). Bind node.actions.cellClick to onCellClick (fires with the clicked cell's data).",
|
|
977
1439
|
"props": {
|
|
978
|
-
"
|
|
979
|
-
"kind": "
|
|
980
|
-
"
|
|
981
|
-
"description": "
|
|
982
|
-
},
|
|
983
|
-
"label": {
|
|
984
|
-
"kind": "text",
|
|
985
|
-
"description": "Label describing the metric (e.g. \"Fund raised\", \"Total Revenue\")"
|
|
986
|
-
},
|
|
987
|
-
"trend": {
|
|
988
|
-
"kind": "number",
|
|
989
|
-
"description": "Percentage change value (e.g. 20, -5.3). Determines trend direction & color."
|
|
990
|
-
},
|
|
991
|
-
"trendLabel": {
|
|
992
|
-
"kind": "text",
|
|
993
|
-
"description": "Custom trend label override (default: auto-formats as \"+20%\" or \"-5.3%\")"
|
|
994
|
-
},
|
|
995
|
-
"progress": {
|
|
996
|
-
"kind": "number",
|
|
997
|
-
"description": "Progress value from 0-100. Controls how many bars are filled."
|
|
998
|
-
},
|
|
999
|
-
"barCount": {
|
|
1000
|
-
"kind": "number",
|
|
1001
|
-
"default": 24,
|
|
1002
|
-
"description": "Total number of bars in the visualization."
|
|
1003
|
-
},
|
|
1004
|
-
"subtitle": {
|
|
1005
|
-
"kind": "text",
|
|
1006
|
-
"description": "Subtitle text below the bars (e.g. \"Compared to last month\")"
|
|
1007
|
-
},
|
|
1008
|
-
"icon": {
|
|
1009
|
-
"kind": "icon",
|
|
1010
|
-
"description": "Icon to display before the label."
|
|
1011
|
-
},
|
|
1012
|
-
"size": {
|
|
1013
|
-
"kind": "enum",
|
|
1014
|
-
"options": [
|
|
1015
|
-
"sm",
|
|
1016
|
-
"md",
|
|
1017
|
-
"lg"
|
|
1018
|
-
],
|
|
1019
|
-
"default": "md",
|
|
1020
|
-
"description": "Size variant."
|
|
1440
|
+
"data": {
|
|
1441
|
+
"kind": "shape",
|
|
1442
|
+
"shape": "heatmapPoints",
|
|
1443
|
+
"description": "Heatmap data array - optional when using ChartContainer context"
|
|
1021
1444
|
},
|
|
1022
1445
|
"color": {
|
|
1023
1446
|
"kind": "enum",
|
|
1024
1447
|
"options": [
|
|
1025
|
-
"neutral",
|
|
1026
1448
|
"primary",
|
|
1027
1449
|
"success",
|
|
1028
1450
|
"warning",
|
|
1029
1451
|
"danger"
|
|
1030
1452
|
],
|
|
1031
|
-
"
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
}
|
|
1035
|
-
},
|
|
1036
|
-
"LineChart": {
|
|
1037
|
-
"role": "leaf",
|
|
1038
|
-
"description": "Line chart (auto Card shell + shared-height container).",
|
|
1039
|
-
"props": {
|
|
1040
|
-
"color": {
|
|
1453
|
+
"description": "Semantic color for heatmap cells (primary, success, warning, danger)"
|
|
1454
|
+
},
|
|
1455
|
+
"variant": {
|
|
1041
1456
|
"kind": "enum",
|
|
1042
1457
|
"options": [
|
|
1043
|
-
"
|
|
1044
|
-
"
|
|
1045
|
-
"
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
},
|
|
1049
|
-
"dotRadius": {
|
|
1050
|
-
"kind": "number"
|
|
1458
|
+
"default",
|
|
1459
|
+
"minimal",
|
|
1460
|
+
"bordered"
|
|
1461
|
+
],
|
|
1462
|
+
"description": "Chart variant"
|
|
1051
1463
|
},
|
|
1052
|
-
"
|
|
1053
|
-
"kind": "
|
|
1464
|
+
"height": {
|
|
1465
|
+
"kind": "union",
|
|
1466
|
+
"types": [
|
|
1467
|
+
"number",
|
|
1468
|
+
"string"
|
|
1469
|
+
]
|
|
1054
1470
|
},
|
|
1055
|
-
"
|
|
1056
|
-
"kind": "
|
|
1471
|
+
"width": {
|
|
1472
|
+
"kind": "union",
|
|
1473
|
+
"types": [
|
|
1474
|
+
"number",
|
|
1475
|
+
"string"
|
|
1476
|
+
]
|
|
1057
1477
|
},
|
|
1058
|
-
"
|
|
1478
|
+
"enableKeyboardNavigation": {
|
|
1059
1479
|
"kind": "boolean"
|
|
1060
1480
|
},
|
|
1061
|
-
"
|
|
1481
|
+
"title": {
|
|
1482
|
+
"kind": "text",
|
|
1483
|
+
"description": "Card header title (the auto shell)"
|
|
1484
|
+
},
|
|
1485
|
+
"subtitle": {
|
|
1486
|
+
"kind": "text",
|
|
1487
|
+
"description": "Card header subtitle (the auto shell)"
|
|
1488
|
+
}
|
|
1489
|
+
}
|
|
1490
|
+
},
|
|
1491
|
+
"HeroCard": {
|
|
1492
|
+
"role": "container",
|
|
1493
|
+
"description": "Gradient hero shell with an ambient blurred backdrop image. Children are spec nodes rendered above the backdrop.",
|
|
1494
|
+
"props": {
|
|
1495
|
+
"image": {
|
|
1496
|
+
"kind": "string",
|
|
1497
|
+
"description": "Backdrop image src. Defaults to the bundled `/bg/3.webp`"
|
|
1498
|
+
},
|
|
1499
|
+
"imageBlur": {
|
|
1500
|
+
"kind": "number",
|
|
1501
|
+
"default": 24,
|
|
1502
|
+
"description": "Backdrop blur radius in px."
|
|
1503
|
+
},
|
|
1504
|
+
"imageScale": {
|
|
1505
|
+
"kind": "number",
|
|
1506
|
+
"default": 1.25,
|
|
1507
|
+
"description": "Backdrop scale factor — zooming the abstract blobs in/out reframes the texture."
|
|
1508
|
+
},
|
|
1509
|
+
"imageOpacity": {
|
|
1510
|
+
"kind": "number",
|
|
1511
|
+
"default": 0.5,
|
|
1512
|
+
"description": "Backdrop opacity, 0–1."
|
|
1513
|
+
},
|
|
1514
|
+
"imageBlend": {
|
|
1062
1515
|
"kind": "enum",
|
|
1063
1516
|
"options": [
|
|
1064
|
-
"
|
|
1065
|
-
"
|
|
1066
|
-
|
|
1517
|
+
"overlay",
|
|
1518
|
+
"multiply",
|
|
1519
|
+
"soft-light",
|
|
1520
|
+
"hard-light",
|
|
1521
|
+
"screen",
|
|
1522
|
+
"luminosity",
|
|
1523
|
+
"normal"
|
|
1524
|
+
],
|
|
1525
|
+
"default": "multiply",
|
|
1526
|
+
"description": "Blend mode compositing the image over the gradient."
|
|
1067
1527
|
},
|
|
1068
|
-
"
|
|
1069
|
-
"kind": "
|
|
1528
|
+
"imagePosition": {
|
|
1529
|
+
"kind": "string",
|
|
1530
|
+
"default": "center",
|
|
1531
|
+
"description": "CSS `background-position` — e.g. `\"top right\"`, `\"30% 70%\"`."
|
|
1532
|
+
},
|
|
1533
|
+
"parallax": {
|
|
1534
|
+
"kind": "boolean",
|
|
1535
|
+
"default": false,
|
|
1536
|
+
"description": "On pointer hover, drift the backdrop image opposite the cursor (damped) for a"
|
|
1537
|
+
},
|
|
1538
|
+
"parallaxIntensity": {
|
|
1539
|
+
"kind": "number",
|
|
1540
|
+
"default": 32,
|
|
1541
|
+
"description": "Max backdrop travel in px (each direction) when `parallax` is on. Auto-clamped"
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
},
|
|
1545
|
+
"HorizontalBarChart": {
|
|
1546
|
+
"role": "leaf",
|
|
1547
|
+
"description": "Horizontal bar chart — categories down the left, values extending right. Prefer over BarChart when category names are long or numerous, or when ranking items.",
|
|
1548
|
+
"props": {
|
|
1549
|
+
"categoryGap": {
|
|
1550
|
+
"kind": "number",
|
|
1551
|
+
"description": "Gap between category rows."
|
|
1552
|
+
},
|
|
1553
|
+
"categoryWidth": {
|
|
1554
|
+
"kind": "number",
|
|
1555
|
+
"default": 120,
|
|
1556
|
+
"description": "Width reserved for the category labels running down the left. Category names are"
|
|
1557
|
+
},
|
|
1558
|
+
"colors": {
|
|
1559
|
+
"kind": "shape",
|
|
1560
|
+
"shape": "colorList",
|
|
1561
|
+
"description": "Custom color palette for bar series, applied in order and cycled if there are more"
|
|
1562
|
+
},
|
|
1563
|
+
"showAnimation": {
|
|
1564
|
+
"kind": "boolean",
|
|
1565
|
+
"description": "Whether to play the staggered grow-from-left entrance on mount."
|
|
1070
1566
|
},
|
|
1071
1567
|
"data": {
|
|
1072
1568
|
"kind": "shape",
|
|
@@ -1119,6 +1615,15 @@ const GENERATIVE_SCHEMA = {
|
|
|
1119
1615
|
"maxValue": {
|
|
1120
1616
|
"kind": "number"
|
|
1121
1617
|
},
|
|
1618
|
+
"barRadius": {
|
|
1619
|
+
"kind": "number"
|
|
1620
|
+
},
|
|
1621
|
+
"gap": {
|
|
1622
|
+
"kind": "number"
|
|
1623
|
+
},
|
|
1624
|
+
"radius": {
|
|
1625
|
+
"kind": "number"
|
|
1626
|
+
},
|
|
1122
1627
|
"title": {
|
|
1123
1628
|
"kind": "text",
|
|
1124
1629
|
"description": "Card header title (the auto shell)"
|
|
@@ -1129,41 +1634,79 @@ const GENERATIVE_SCHEMA = {
|
|
|
1129
1634
|
}
|
|
1130
1635
|
}
|
|
1131
1636
|
},
|
|
1132
|
-
"
|
|
1637
|
+
"Icon": {
|
|
1133
1638
|
"role": "leaf",
|
|
1134
|
-
"description": "
|
|
1639
|
+
"description": "Brand/payment/file-type glyph. `icon` is a name from IconName (payment/social/filetype glyphs) — a DIFFERENT, separate namespace from the icon-slot names (iconStart/iconEnd etc.) used elsewhere in this schema.",
|
|
1135
1640
|
"props": {
|
|
1136
|
-
"
|
|
1641
|
+
"icon": {
|
|
1642
|
+
"kind": "enum",
|
|
1643
|
+
"options": [
|
|
1644
|
+
"visa",
|
|
1645
|
+
"mastercard",
|
|
1646
|
+
"amex",
|
|
1647
|
+
"applepay",
|
|
1648
|
+
"paypal",
|
|
1649
|
+
"github",
|
|
1650
|
+
"x",
|
|
1651
|
+
"linkedin",
|
|
1652
|
+
"instagram",
|
|
1653
|
+
"facebook",
|
|
1654
|
+
"youtube",
|
|
1655
|
+
"discord",
|
|
1656
|
+
"dribbble",
|
|
1657
|
+
"tiktok",
|
|
1658
|
+
"reddit",
|
|
1659
|
+
"twitch",
|
|
1660
|
+
"slack",
|
|
1661
|
+
"medium",
|
|
1662
|
+
"pinterest",
|
|
1663
|
+
"snapchat",
|
|
1664
|
+
"whatsapp",
|
|
1665
|
+
"telegram",
|
|
1666
|
+
"google",
|
|
1667
|
+
"apple",
|
|
1668
|
+
"pdf",
|
|
1669
|
+
"doc",
|
|
1670
|
+
"docx",
|
|
1671
|
+
"txt",
|
|
1672
|
+
"xls",
|
|
1673
|
+
"xlsx",
|
|
1674
|
+
"csv",
|
|
1675
|
+
"ppt",
|
|
1676
|
+
"mp3",
|
|
1677
|
+
"wav",
|
|
1678
|
+
"mp4",
|
|
1679
|
+
"mov",
|
|
1680
|
+
"jpg",
|
|
1681
|
+
"png",
|
|
1682
|
+
"svg",
|
|
1683
|
+
"gif",
|
|
1684
|
+
"zip",
|
|
1685
|
+
"rar"
|
|
1686
|
+
],
|
|
1687
|
+
"required": true
|
|
1688
|
+
},
|
|
1689
|
+
"size": {
|
|
1137
1690
|
"kind": "union",
|
|
1138
1691
|
"types": [
|
|
1139
1692
|
"number",
|
|
1140
1693
|
"string"
|
|
1141
1694
|
],
|
|
1142
|
-
"
|
|
1143
|
-
"description": "The main value to display (number or formatted string)"
|
|
1144
|
-
},
|
|
1145
|
-
"label": {
|
|
1146
|
-
"kind": "text",
|
|
1147
|
-
"required": true,
|
|
1148
|
-
"description": "Label describing the metric"
|
|
1695
|
+
"description": "Named size preset or custom pixel value. Payment icons scale at 3:2 ratio; others are square."
|
|
1149
1696
|
},
|
|
1150
|
-
"
|
|
1151
|
-
"kind": "text",
|
|
1152
|
-
"description": "Optional subtitle or secondary text"
|
|
1153
|
-
},
|
|
1154
|
-
"trendValue": {
|
|
1155
|
-
"kind": "text",
|
|
1156
|
-
"description": "Trend value to display (e.g., \"+10.34%\", \"-5.2%\")"
|
|
1157
|
-
},
|
|
1158
|
-
"trendDirection": {
|
|
1697
|
+
"colorMode": {
|
|
1159
1698
|
"kind": "enum",
|
|
1160
1699
|
"options": [
|
|
1161
|
-
"
|
|
1162
|
-
"
|
|
1163
|
-
]
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1700
|
+
"color",
|
|
1701
|
+
"mono"
|
|
1702
|
+
]
|
|
1703
|
+
}
|
|
1704
|
+
}
|
|
1705
|
+
},
|
|
1706
|
+
"Input": {
|
|
1707
|
+
"role": "leaf",
|
|
1708
|
+
"description": "Single-line text input. Bind node.actions.change to onValueChange (fires with the raw string value).",
|
|
1709
|
+
"props": {
|
|
1167
1710
|
"size": {
|
|
1168
1711
|
"kind": "enum",
|
|
1169
1712
|
"options": [
|
|
@@ -1171,63 +1714,169 @@ const GENERATIVE_SCHEMA = {
|
|
|
1171
1714
|
"md",
|
|
1172
1715
|
"lg"
|
|
1173
1716
|
],
|
|
1174
|
-
"
|
|
1175
|
-
"description": "Size variant"
|
|
1717
|
+
"description": "The size of the input"
|
|
1176
1718
|
},
|
|
1177
|
-
"
|
|
1719
|
+
"state": {
|
|
1178
1720
|
"kind": "enum",
|
|
1179
1721
|
"options": [
|
|
1180
|
-
"
|
|
1181
|
-
"
|
|
1722
|
+
"default",
|
|
1723
|
+
"disabled",
|
|
1724
|
+
"invalid"
|
|
1182
1725
|
],
|
|
1183
|
-
"
|
|
1184
|
-
"description": "Visual style variant"
|
|
1726
|
+
"description": "The state of the input (default, disabled, invalid)"
|
|
1185
1727
|
},
|
|
1186
|
-
"
|
|
1728
|
+
"type": {
|
|
1187
1729
|
"kind": "enum",
|
|
1188
1730
|
"options": [
|
|
1189
|
-
"
|
|
1190
|
-
"
|
|
1191
|
-
"
|
|
1192
|
-
"
|
|
1193
|
-
"
|
|
1731
|
+
"number",
|
|
1732
|
+
"hidden",
|
|
1733
|
+
"color",
|
|
1734
|
+
"week",
|
|
1735
|
+
"month",
|
|
1736
|
+
"text",
|
|
1737
|
+
"password",
|
|
1738
|
+
"email",
|
|
1739
|
+
"tel",
|
|
1740
|
+
"url",
|
|
1741
|
+
"search",
|
|
1742
|
+
"date",
|
|
1743
|
+
"time",
|
|
1744
|
+
"datetime-local",
|
|
1745
|
+
"file",
|
|
1746
|
+
"image",
|
|
1747
|
+
"range",
|
|
1748
|
+
"reset",
|
|
1749
|
+
"submit",
|
|
1750
|
+
"creditCard",
|
|
1751
|
+
"expiryDate",
|
|
1752
|
+
"phone",
|
|
1753
|
+
"ssn",
|
|
1754
|
+
"currency"
|
|
1194
1755
|
],
|
|
1195
|
-
"
|
|
1196
|
-
"description": "Semantic color for icon and accents"
|
|
1756
|
+
"description": "The type of input. In addition to standard HTML types,"
|
|
1197
1757
|
},
|
|
1198
|
-
"
|
|
1758
|
+
"label": {
|
|
1759
|
+
"kind": "text",
|
|
1760
|
+
"description": "Optional label for the input — pass a string for default styling, or a ReactNode for full control"
|
|
1761
|
+
},
|
|
1762
|
+
"helperText": {
|
|
1763
|
+
"kind": "text",
|
|
1764
|
+
"description": "Optional helper text below the input — pass a string for default styling, or a ReactNode for full control"
|
|
1765
|
+
},
|
|
1766
|
+
"errorMessage": {
|
|
1767
|
+
"kind": "text",
|
|
1768
|
+
"description": "Error message shown instead of `helperText` when `state=\"invalid\"`."
|
|
1769
|
+
},
|
|
1770
|
+
"iconStart": {
|
|
1199
1771
|
"kind": "icon",
|
|
1200
|
-
"description": "
|
|
1772
|
+
"description": "Icon to display before the input (small decorative)"
|
|
1773
|
+
},
|
|
1774
|
+
"iconEnd": {
|
|
1775
|
+
"kind": "icon",
|
|
1776
|
+
"description": "Icon to display after the input (small decorative)"
|
|
1777
|
+
},
|
|
1778
|
+
"required": {
|
|
1779
|
+
"kind": "boolean",
|
|
1780
|
+
"description": "Whether the input is required"
|
|
1781
|
+
},
|
|
1782
|
+
"placeholder": {
|
|
1783
|
+
"kind": "string",
|
|
1784
|
+
"description": "Placeholder text"
|
|
1785
|
+
},
|
|
1786
|
+
"value": {
|
|
1787
|
+
"kind": "string",
|
|
1788
|
+
"description": "Current value (controlled)"
|
|
1789
|
+
},
|
|
1790
|
+
"disabled": {
|
|
1791
|
+
"kind": "boolean",
|
|
1792
|
+
"description": "Whether the input is disabled"
|
|
1793
|
+
},
|
|
1794
|
+
"name": {
|
|
1795
|
+
"kind": "string",
|
|
1796
|
+
"description": "Form field name"
|
|
1797
|
+
},
|
|
1798
|
+
"min": {
|
|
1799
|
+
"kind": "number",
|
|
1800
|
+
"description": "Minimum value (type=\"number\")"
|
|
1801
|
+
},
|
|
1802
|
+
"max": {
|
|
1803
|
+
"kind": "number",
|
|
1804
|
+
"description": "Maximum value (type=\"number\")"
|
|
1805
|
+
},
|
|
1806
|
+
"step": {
|
|
1807
|
+
"kind": "number",
|
|
1808
|
+
"description": "Step value (type=\"number\")"
|
|
1201
1809
|
}
|
|
1202
1810
|
}
|
|
1203
1811
|
},
|
|
1204
|
-
"
|
|
1812
|
+
"InputCounter": {
|
|
1205
1813
|
"role": "leaf",
|
|
1206
|
-
"description": "
|
|
1814
|
+
"description": "Numeric stepper input. Bind node.actions.change to onChange (fires with the new number).",
|
|
1207
1815
|
"props": {
|
|
1208
|
-
"
|
|
1816
|
+
"value": {
|
|
1817
|
+
"kind": "number",
|
|
1818
|
+
"required": true,
|
|
1819
|
+
"description": "Current counter value (controlled)"
|
|
1820
|
+
},
|
|
1821
|
+
"state": {
|
|
1822
|
+
"kind": "enum",
|
|
1823
|
+
"options": [
|
|
1824
|
+
"default",
|
|
1825
|
+
"disabled",
|
|
1826
|
+
"invalid"
|
|
1827
|
+
],
|
|
1828
|
+
"description": "Validation/interaction state"
|
|
1829
|
+
},
|
|
1830
|
+
"label": {
|
|
1209
1831
|
"kind": "text",
|
|
1210
|
-
"description": "
|
|
1832
|
+
"description": "Field label rendered above the counter"
|
|
1211
1833
|
},
|
|
1212
|
-
"
|
|
1834
|
+
"helperText": {
|
|
1213
1835
|
"kind": "text",
|
|
1214
|
-
"description": "
|
|
1836
|
+
"description": "Helper text rendered below the counter"
|
|
1215
1837
|
},
|
|
1216
|
-
"
|
|
1838
|
+
"errorMessage": {
|
|
1839
|
+
"kind": "text",
|
|
1840
|
+
"description": "Error message shown instead of `helperText` when `state=\"invalid\"`."
|
|
1841
|
+
},
|
|
1842
|
+
"min": {
|
|
1843
|
+
"kind": "number",
|
|
1844
|
+
"description": "Minimum allowed value (optional)"
|
|
1845
|
+
},
|
|
1846
|
+
"max": {
|
|
1847
|
+
"kind": "number",
|
|
1848
|
+
"description": "Maximum allowed value (optional)"
|
|
1849
|
+
},
|
|
1850
|
+
"step": {
|
|
1851
|
+
"kind": "number",
|
|
1852
|
+
"description": "Increment/decrement step size (default: 1)"
|
|
1853
|
+
},
|
|
1854
|
+
"disabled": {
|
|
1217
1855
|
"kind": "boolean",
|
|
1218
|
-
"
|
|
1219
|
-
|
|
1856
|
+
"description": "Whether the counter is disabled"
|
|
1857
|
+
},
|
|
1858
|
+
"decimalPlaces": {
|
|
1859
|
+
"kind": "number",
|
|
1860
|
+
"description": "Number of decimal places to display (auto-detected from step if not specified)"
|
|
1220
1861
|
}
|
|
1221
1862
|
}
|
|
1222
1863
|
},
|
|
1223
|
-
"
|
|
1864
|
+
"InputDate": {
|
|
1224
1865
|
"role": "leaf",
|
|
1225
|
-
"description": "
|
|
1866
|
+
"description": "Masked date input. value/onChange deal in a formatted display string, not a Date object. minDate/maxDate accept ISO date strings (coerced to Date internally before render). Bind node.actions.change to onChange — do NOT bind onComplete, it passes a raw Date object.",
|
|
1226
1867
|
"props": {
|
|
1227
|
-
"
|
|
1228
|
-
"kind": "
|
|
1229
|
-
"
|
|
1230
|
-
|
|
1868
|
+
"value": {
|
|
1869
|
+
"kind": "string",
|
|
1870
|
+
"description": "Current date value (formatted string like \"12/25/2024\" or ISO string)"
|
|
1871
|
+
},
|
|
1872
|
+
"dateFormat": {
|
|
1873
|
+
"kind": "enum",
|
|
1874
|
+
"options": [
|
|
1875
|
+
"MM/DD/YYYY",
|
|
1876
|
+
"DD/MM/YYYY",
|
|
1877
|
+
"YYYY/MM/DD"
|
|
1878
|
+
],
|
|
1879
|
+
"description": "Date format for display and parsing (default: auto-detected from locale)"
|
|
1231
1880
|
},
|
|
1232
1881
|
"size": {
|
|
1233
1882
|
"kind": "enum",
|
|
@@ -1236,81 +1885,255 @@ const GENERATIVE_SCHEMA = {
|
|
|
1236
1885
|
"md",
|
|
1237
1886
|
"lg"
|
|
1238
1887
|
],
|
|
1239
|
-
"description": "
|
|
1888
|
+
"description": "The size of the input"
|
|
1889
|
+
},
|
|
1890
|
+
"required": {
|
|
1891
|
+
"kind": "boolean",
|
|
1892
|
+
"description": "Whether the input is required"
|
|
1893
|
+
},
|
|
1894
|
+
"state": {
|
|
1895
|
+
"kind": "enum",
|
|
1896
|
+
"options": [
|
|
1897
|
+
"default",
|
|
1898
|
+
"disabled",
|
|
1899
|
+
"invalid"
|
|
1900
|
+
],
|
|
1901
|
+
"description": "The state of the input (default, disabled, invalid)"
|
|
1902
|
+
},
|
|
1903
|
+
"label": {
|
|
1904
|
+
"kind": "text",
|
|
1905
|
+
"description": "Optional label for the input — pass a string for default styling, or a ReactNode for full control"
|
|
1906
|
+
},
|
|
1907
|
+
"helperText": {
|
|
1908
|
+
"kind": "text",
|
|
1909
|
+
"description": "Optional helper text below the input — pass a string for default styling, or a ReactNode for full control"
|
|
1910
|
+
},
|
|
1911
|
+
"errorMessage": {
|
|
1912
|
+
"kind": "text",
|
|
1913
|
+
"description": "Error message shown instead of `helperText` when `state=\"invalid\"`."
|
|
1240
1914
|
},
|
|
1241
1915
|
"iconStart": {
|
|
1242
1916
|
"kind": "icon",
|
|
1243
|
-
"description": "Icon
|
|
1917
|
+
"description": "Icon to display before the input (small decorative)"
|
|
1244
1918
|
},
|
|
1245
|
-
"
|
|
1246
|
-
"kind": "
|
|
1247
|
-
"description": "
|
|
1919
|
+
"iconEnd": {
|
|
1920
|
+
"kind": "icon",
|
|
1921
|
+
"description": "Icon to display after the input (small decorative)"
|
|
1248
1922
|
},
|
|
1249
|
-
"
|
|
1923
|
+
"placeholder": {
|
|
1924
|
+
"kind": "string",
|
|
1925
|
+
"description": "Placeholder text"
|
|
1926
|
+
},
|
|
1927
|
+
"disabled": {
|
|
1250
1928
|
"kind": "boolean",
|
|
1251
|
-
"
|
|
1252
|
-
|
|
1929
|
+
"description": "Whether the input is disabled"
|
|
1930
|
+
},
|
|
1931
|
+
"minDate": {
|
|
1932
|
+
"kind": "string",
|
|
1933
|
+
"description": "Minimum selectable date, ISO format (e.g. \"2024-01-01\")"
|
|
1934
|
+
},
|
|
1935
|
+
"maxDate": {
|
|
1936
|
+
"kind": "string",
|
|
1937
|
+
"description": "Maximum selectable date, ISO format"
|
|
1253
1938
|
}
|
|
1254
1939
|
}
|
|
1255
1940
|
},
|
|
1256
|
-
"
|
|
1941
|
+
"InputOTP": {
|
|
1257
1942
|
"role": "leaf",
|
|
1258
|
-
"description": "
|
|
1943
|
+
"description": "One-time-code input. Bind node.actions.complete to onComplete (fires once every digit is filled) and/or node.actions.change to onChange (fires every keystroke).",
|
|
1259
1944
|
"props": {
|
|
1260
|
-
"
|
|
1945
|
+
"length": {
|
|
1261
1946
|
"kind": "number",
|
|
1262
|
-
"
|
|
1947
|
+
"default": 6,
|
|
1948
|
+
"description": "Number of OTP input fields"
|
|
1263
1949
|
},
|
|
1264
1950
|
"size": {
|
|
1265
1951
|
"kind": "enum",
|
|
1266
1952
|
"options": [
|
|
1267
1953
|
"sm",
|
|
1268
1954
|
"md",
|
|
1269
|
-
"lg"
|
|
1955
|
+
"lg",
|
|
1956
|
+
"xl"
|
|
1270
1957
|
],
|
|
1271
|
-
"default": "
|
|
1272
|
-
"description": "
|
|
1958
|
+
"default": "lg",
|
|
1959
|
+
"description": "Size of the OTP slots."
|
|
1273
1960
|
},
|
|
1274
|
-
"
|
|
1275
|
-
"kind": "
|
|
1276
|
-
"
|
|
1277
|
-
"description": "Whether to show the percentage label"
|
|
1961
|
+
"value": {
|
|
1962
|
+
"kind": "string",
|
|
1963
|
+
"description": "Current OTP value (controlled)"
|
|
1278
1964
|
},
|
|
1279
|
-
"
|
|
1965
|
+
"defaultValue": {
|
|
1966
|
+
"kind": "string",
|
|
1967
|
+
"description": "Default OTP value (uncontrolled)"
|
|
1968
|
+
},
|
|
1969
|
+
"charset": {
|
|
1280
1970
|
"kind": "enum",
|
|
1281
1971
|
"options": [
|
|
1282
|
-
"
|
|
1283
|
-
"
|
|
1284
|
-
"right",
|
|
1285
|
-
"inside"
|
|
1972
|
+
"numeric",
|
|
1973
|
+
"alphanumeric"
|
|
1286
1974
|
],
|
|
1287
|
-
"default": "
|
|
1288
|
-
"description": "
|
|
1975
|
+
"default": "alphanumeric",
|
|
1976
|
+
"description": "Which characters the code accepts. Drives the sanitizer (typed and pasted"
|
|
1289
1977
|
},
|
|
1290
|
-
"
|
|
1978
|
+
"state": {
|
|
1979
|
+
"kind": "enum",
|
|
1980
|
+
"options": [
|
|
1981
|
+
"default",
|
|
1982
|
+
"disabled",
|
|
1983
|
+
"invalid"
|
|
1984
|
+
],
|
|
1985
|
+
"default": "default",
|
|
1986
|
+
"description": "Visual and functional state of the OTP input group."
|
|
1987
|
+
},
|
|
1988
|
+
"label": {
|
|
1989
|
+
"kind": "text",
|
|
1990
|
+
"description": "Label for the OTP input group"
|
|
1991
|
+
},
|
|
1992
|
+
"helperText": {
|
|
1993
|
+
"kind": "text",
|
|
1994
|
+
"description": "Helper text below the inputs"
|
|
1995
|
+
},
|
|
1996
|
+
"errorMessage": {
|
|
1997
|
+
"kind": "text",
|
|
1998
|
+
"description": "Error message shown instead of `helperText` when `state=\"invalid\"`."
|
|
1999
|
+
},
|
|
2000
|
+
"autoFocus": {
|
|
1291
2001
|
"kind": "boolean",
|
|
1292
2002
|
"default": true,
|
|
1293
|
-
"description": "
|
|
2003
|
+
"description": "Auto-focus the first input on mount"
|
|
1294
2004
|
}
|
|
1295
2005
|
}
|
|
1296
2006
|
},
|
|
1297
|
-
"
|
|
2007
|
+
"InputTag": {
|
|
1298
2008
|
"role": "leaf",
|
|
1299
|
-
"description": "
|
|
2009
|
+
"description": "Free-form tag/chip input. Bind node.actions.change to onChange (fires with the full array of tag strings).",
|
|
1300
2010
|
"props": {
|
|
1301
2011
|
"value": {
|
|
2012
|
+
"kind": "shape",
|
|
2013
|
+
"shape": "stringList",
|
|
2014
|
+
"description": "Controlled value - array of tag strings"
|
|
2015
|
+
},
|
|
2016
|
+
"maxTags": {
|
|
1302
2017
|
"kind": "number",
|
|
1303
|
-
"description": "
|
|
2018
|
+
"description": "Maximum number of tags allowed"
|
|
1304
2019
|
},
|
|
1305
|
-
"
|
|
2020
|
+
"allowDuplicates": {
|
|
2021
|
+
"kind": "boolean",
|
|
2022
|
+
"description": "Whether to allow duplicate tags (default: false)"
|
|
2023
|
+
},
|
|
2024
|
+
"size": {
|
|
2025
|
+
"kind": "enum",
|
|
2026
|
+
"options": [
|
|
2027
|
+
"sm",
|
|
2028
|
+
"md"
|
|
2029
|
+
],
|
|
2030
|
+
"description": "The size of the input and tags (sm or md only)"
|
|
2031
|
+
},
|
|
2032
|
+
"state": {
|
|
2033
|
+
"kind": "enum",
|
|
2034
|
+
"options": [
|
|
2035
|
+
"default",
|
|
2036
|
+
"disabled",
|
|
2037
|
+
"invalid"
|
|
2038
|
+
],
|
|
2039
|
+
"description": "The state of the input"
|
|
2040
|
+
},
|
|
2041
|
+
"label": {
|
|
2042
|
+
"kind": "text",
|
|
2043
|
+
"description": "Label for the input"
|
|
2044
|
+
},
|
|
2045
|
+
"helperText": {
|
|
2046
|
+
"kind": "text",
|
|
2047
|
+
"description": "Helper text displayed below the tags"
|
|
2048
|
+
},
|
|
2049
|
+
"placeholder": {
|
|
2050
|
+
"kind": "string",
|
|
2051
|
+
"description": "Placeholder text for the input"
|
|
2052
|
+
},
|
|
2053
|
+
"disabled": {
|
|
2054
|
+
"kind": "boolean",
|
|
2055
|
+
"description": "Whether the input is disabled"
|
|
2056
|
+
},
|
|
2057
|
+
"suggestions": {
|
|
2058
|
+
"kind": "shape",
|
|
2059
|
+
"shape": "optionItems",
|
|
2060
|
+
"description": "Array of suggestions to show in dropdown. When provided, enables dropdown mode"
|
|
2061
|
+
},
|
|
2062
|
+
"creatable": {
|
|
2063
|
+
"kind": "boolean",
|
|
2064
|
+
"description": "Allow free-form tags not in suggestions (default: true)"
|
|
2065
|
+
},
|
|
2066
|
+
"openOnFocus": {
|
|
2067
|
+
"kind": "boolean",
|
|
2068
|
+
"description": "Open dropdown on focus when suggestions are provided (default: true)"
|
|
2069
|
+
},
|
|
2070
|
+
"emptyMessage": {
|
|
2071
|
+
"kind": "string",
|
|
2072
|
+
"description": "Message shown when no suggestions match (default: \"No suggestions\")"
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
},
|
|
2076
|
+
"Kbd": {
|
|
2077
|
+
"role": "leaf",
|
|
2078
|
+
"description": "Keyboard key/shortcut display. Use either `keys` (named keys) or `children` (custom text), not both.",
|
|
2079
|
+
"props": {
|
|
2080
|
+
"keys": {
|
|
2081
|
+
"kind": "shape",
|
|
2082
|
+
"shape": "kbdKeys",
|
|
2083
|
+
"description": "Array of keyboard keys to display"
|
|
2084
|
+
},
|
|
2085
|
+
"children": {
|
|
2086
|
+
"kind": "text",
|
|
2087
|
+
"description": "Custom content to display instead of using keys prop"
|
|
2088
|
+
},
|
|
2089
|
+
"size": {
|
|
2090
|
+
"kind": "enum",
|
|
2091
|
+
"options": [
|
|
2092
|
+
"sm",
|
|
2093
|
+
"md"
|
|
2094
|
+
],
|
|
2095
|
+
"default": "md",
|
|
2096
|
+
"description": "Size variant"
|
|
2097
|
+
}
|
|
2098
|
+
}
|
|
2099
|
+
},
|
|
2100
|
+
"KPI": {
|
|
2101
|
+
"role": "leaf",
|
|
2102
|
+
"description": "KPI stat with trend and progress bar (auto Card shell).",
|
|
2103
|
+
"props": {
|
|
2104
|
+
"value": {
|
|
2105
|
+
"kind": "text",
|
|
2106
|
+
"required": true,
|
|
2107
|
+
"description": "The main metric value to display (e.g. \"$25.5M\", \"1,234\", \"89%\")"
|
|
2108
|
+
},
|
|
2109
|
+
"label": {
|
|
2110
|
+
"kind": "text",
|
|
2111
|
+
"description": "Label describing the metric (e.g. \"Fund raised\", \"Total Revenue\")"
|
|
2112
|
+
},
|
|
2113
|
+
"trend": {
|
|
1306
2114
|
"kind": "number",
|
|
1307
|
-
"
|
|
1308
|
-
"description": "Default rating value for uncontrolled mode (0 to max)"
|
|
2115
|
+
"description": "Percentage change value (e.g. 20, -5.3). Determines trend direction & color."
|
|
1309
2116
|
},
|
|
1310
|
-
"
|
|
2117
|
+
"trendLabel": {
|
|
2118
|
+
"kind": "text",
|
|
2119
|
+
"description": "Custom trend label override (default: auto-formats as \"+20%\" or \"-5.3%\")"
|
|
2120
|
+
},
|
|
2121
|
+
"progress": {
|
|
1311
2122
|
"kind": "number",
|
|
1312
|
-
"
|
|
1313
|
-
|
|
2123
|
+
"description": "Progress value from 0-100. Controls how many bars are filled."
|
|
2124
|
+
},
|
|
2125
|
+
"barCount": {
|
|
2126
|
+
"kind": "number",
|
|
2127
|
+
"default": 24,
|
|
2128
|
+
"description": "Total number of bars in the visualization."
|
|
2129
|
+
},
|
|
2130
|
+
"subtitle": {
|
|
2131
|
+
"kind": "text",
|
|
2132
|
+
"description": "Subtitle text below the bars (e.g. \"Compared to last month\")"
|
|
2133
|
+
},
|
|
2134
|
+
"icon": {
|
|
2135
|
+
"kind": "icon",
|
|
2136
|
+
"description": "Icon to display before the label."
|
|
1314
2137
|
},
|
|
1315
2138
|
"size": {
|
|
1316
2139
|
"kind": "enum",
|
|
@@ -1320,77 +2143,1022 @@ const GENERATIVE_SCHEMA = {
|
|
|
1320
2143
|
"lg"
|
|
1321
2144
|
],
|
|
1322
2145
|
"default": "md",
|
|
1323
|
-
"description": "
|
|
2146
|
+
"description": "Size variant."
|
|
1324
2147
|
},
|
|
1325
2148
|
"color": {
|
|
1326
2149
|
"kind": "enum",
|
|
1327
2150
|
"options": [
|
|
2151
|
+
"mono",
|
|
1328
2152
|
"primary",
|
|
1329
2153
|
"success",
|
|
1330
2154
|
"warning",
|
|
1331
2155
|
"danger"
|
|
1332
2156
|
],
|
|
1333
|
-
"default": "
|
|
1334
|
-
"description": "
|
|
2157
|
+
"default": "primary",
|
|
2158
|
+
"description": "Color for the filled bars and positive trend."
|
|
2159
|
+
}
|
|
2160
|
+
}
|
|
2161
|
+
},
|
|
2162
|
+
"LineChart": {
|
|
2163
|
+
"role": "leaf",
|
|
2164
|
+
"description": "Line chart (auto Card shell + shared-height container).",
|
|
2165
|
+
"props": {
|
|
2166
|
+
"color": {
|
|
2167
|
+
"kind": "enum",
|
|
2168
|
+
"options": [
|
|
2169
|
+
"primary",
|
|
2170
|
+
"success",
|
|
2171
|
+
"warning",
|
|
2172
|
+
"danger"
|
|
2173
|
+
]
|
|
1335
2174
|
},
|
|
1336
|
-
"
|
|
1337
|
-
"kind": "
|
|
1338
|
-
"default": false,
|
|
1339
|
-
"description": "Whether the rating is read-only (display only, no interaction)"
|
|
2175
|
+
"dotRadius": {
|
|
2176
|
+
"kind": "number"
|
|
1340
2177
|
},
|
|
1341
|
-
"
|
|
1342
|
-
"kind": "
|
|
1343
|
-
"default": false,
|
|
1344
|
-
"description": "Whether the rating is disabled"
|
|
2178
|
+
"radius": {
|
|
2179
|
+
"kind": "number"
|
|
1345
2180
|
},
|
|
1346
|
-
"
|
|
1347
|
-
"kind": "
|
|
1348
|
-
|
|
1349
|
-
|
|
2181
|
+
"strokeWidth": {
|
|
2182
|
+
"kind": "number"
|
|
2183
|
+
},
|
|
2184
|
+
"curved": {
|
|
2185
|
+
"kind": "boolean"
|
|
2186
|
+
},
|
|
2187
|
+
"curveType": {
|
|
2188
|
+
"kind": "enum",
|
|
2189
|
+
"options": [
|
|
2190
|
+
"linear",
|
|
2191
|
+
"monotone"
|
|
2192
|
+
]
|
|
2193
|
+
},
|
|
2194
|
+
"showDots": {
|
|
2195
|
+
"kind": "boolean"
|
|
2196
|
+
},
|
|
2197
|
+
"data": {
|
|
2198
|
+
"kind": "shape",
|
|
2199
|
+
"shape": "chartData",
|
|
2200
|
+
"required": true
|
|
2201
|
+
},
|
|
2202
|
+
"config": {
|
|
2203
|
+
"kind": "shape",
|
|
2204
|
+
"shape": "chartConfig",
|
|
2205
|
+
"required": true
|
|
2206
|
+
},
|
|
2207
|
+
"width": {
|
|
2208
|
+
"kind": "union",
|
|
2209
|
+
"types": [
|
|
2210
|
+
"number",
|
|
2211
|
+
"string"
|
|
2212
|
+
]
|
|
2213
|
+
},
|
|
2214
|
+
"height": {
|
|
2215
|
+
"kind": "union",
|
|
2216
|
+
"types": [
|
|
2217
|
+
"number",
|
|
2218
|
+
"string"
|
|
2219
|
+
]
|
|
2220
|
+
},
|
|
2221
|
+
"enableKeyboardNavigation": {
|
|
2222
|
+
"kind": "boolean"
|
|
2223
|
+
},
|
|
2224
|
+
"showGrid": {
|
|
2225
|
+
"kind": "boolean"
|
|
2226
|
+
},
|
|
2227
|
+
"showXAxis": {
|
|
2228
|
+
"kind": "boolean"
|
|
2229
|
+
},
|
|
2230
|
+
"showYAxis": {
|
|
2231
|
+
"kind": "boolean"
|
|
2232
|
+
},
|
|
2233
|
+
"legend": {
|
|
2234
|
+
"kind": "enum",
|
|
2235
|
+
"options": [
|
|
2236
|
+
"top",
|
|
2237
|
+
"bottom",
|
|
2238
|
+
"none"
|
|
2239
|
+
],
|
|
2240
|
+
"description": "Always-visible legend position, rendered from `config`'s labels/colors."
|
|
2241
|
+
},
|
|
2242
|
+
"minValue": {
|
|
2243
|
+
"kind": "number"
|
|
2244
|
+
},
|
|
2245
|
+
"maxValue": {
|
|
2246
|
+
"kind": "number"
|
|
2247
|
+
},
|
|
2248
|
+
"title": {
|
|
2249
|
+
"kind": "text",
|
|
2250
|
+
"description": "Card header title (the auto shell)"
|
|
2251
|
+
},
|
|
2252
|
+
"subtitle": {
|
|
2253
|
+
"kind": "text",
|
|
2254
|
+
"description": "Card header subtitle (the auto shell)"
|
|
1350
2255
|
}
|
|
1351
2256
|
}
|
|
1352
2257
|
},
|
|
1353
|
-
"
|
|
1354
|
-
"role": "
|
|
1355
|
-
"description": "
|
|
2258
|
+
"Link": {
|
|
2259
|
+
"role": "leaf",
|
|
2260
|
+
"description": "Hyperlink (pass href) or low-emphasis link-styled button (omit href, pair with node.actions.click).",
|
|
1356
2261
|
"props": {
|
|
1357
|
-
"
|
|
1358
|
-
"kind": "
|
|
1359
|
-
"
|
|
2262
|
+
"size": {
|
|
2263
|
+
"kind": "enum",
|
|
2264
|
+
"options": [
|
|
2265
|
+
"sm",
|
|
2266
|
+
"md",
|
|
2267
|
+
"inherit"
|
|
2268
|
+
],
|
|
2269
|
+
"default": "inherit",
|
|
2270
|
+
"description": "The size of the link."
|
|
2271
|
+
},
|
|
2272
|
+
"color": {
|
|
2273
|
+
"kind": "enum",
|
|
2274
|
+
"options": [
|
|
2275
|
+
"mono",
|
|
2276
|
+
"primary",
|
|
2277
|
+
"success",
|
|
2278
|
+
"warning",
|
|
2279
|
+
"danger"
|
|
2280
|
+
],
|
|
2281
|
+
"default": "primary",
|
|
2282
|
+
"description": "Semantic color."
|
|
2283
|
+
},
|
|
2284
|
+
"disabled": {
|
|
2285
|
+
"kind": "boolean",
|
|
2286
|
+
"description": "Whether the link is disabled."
|
|
2287
|
+
},
|
|
2288
|
+
"children": {
|
|
2289
|
+
"kind": "text",
|
|
2290
|
+
"description": "Link contents"
|
|
2291
|
+
},
|
|
2292
|
+
"href": {
|
|
2293
|
+
"kind": "string",
|
|
2294
|
+
"description": "The URL the hyperlink points to. When set, Link renders an `<a>`."
|
|
2295
|
+
},
|
|
2296
|
+
"target": {
|
|
2297
|
+
"kind": "string",
|
|
2298
|
+
"description": "Anchor target (only meaningful with `href`)."
|
|
2299
|
+
},
|
|
2300
|
+
"rel": {
|
|
2301
|
+
"kind": "string",
|
|
2302
|
+
"description": "Anchor rel (only meaningful with `href`)."
|
|
2303
|
+
},
|
|
2304
|
+
"type": {
|
|
2305
|
+
"kind": "enum",
|
|
2306
|
+
"options": [
|
|
2307
|
+
"reset",
|
|
2308
|
+
"submit",
|
|
2309
|
+
"button"
|
|
2310
|
+
],
|
|
2311
|
+
"default": "button",
|
|
2312
|
+
"description": "Button type when rendered as a `<button>` (no `href`)."
|
|
2313
|
+
}
|
|
2314
|
+
}
|
|
2315
|
+
},
|
|
2316
|
+
"Masonry": {
|
|
2317
|
+
"role": "container",
|
|
2318
|
+
"description": "Masonry/waterfall grid layout (responsive per-breakpoint column config not supported in generative specs — use a static column count). Children are spec nodes.",
|
|
2319
|
+
"props": {
|
|
2320
|
+
"gap": {
|
|
2321
|
+
"kind": "number",
|
|
2322
|
+
"description": "Gap between items in pixels"
|
|
2323
|
+
},
|
|
2324
|
+
"minColumns": {
|
|
2325
|
+
"kind": "number",
|
|
2326
|
+
"description": "Minimum columns count"
|
|
2327
|
+
},
|
|
2328
|
+
"maxColumns": {
|
|
2329
|
+
"kind": "number",
|
|
2330
|
+
"description": "Maximum columns count"
|
|
2331
|
+
},
|
|
2332
|
+
"sequential": {
|
|
2333
|
+
"kind": "boolean",
|
|
2334
|
+
"description": "Enable sequential placement (items placed in order vs optimal placement)"
|
|
2335
|
+
},
|
|
2336
|
+
"loading": {
|
|
2337
|
+
"kind": "boolean",
|
|
2338
|
+
"description": "Loading state"
|
|
2339
|
+
},
|
|
2340
|
+
"columns": {
|
|
2341
|
+
"kind": "number",
|
|
2342
|
+
"description": "Static column count"
|
|
2343
|
+
}
|
|
2344
|
+
}
|
|
2345
|
+
},
|
|
2346
|
+
"MenuItem": {
|
|
2347
|
+
"role": "leaf",
|
|
2348
|
+
"description": "Single menu/list row. Bind node.actions.activate to onActivate.",
|
|
2349
|
+
"props": {
|
|
2350
|
+
"children": {
|
|
2351
|
+
"kind": "text",
|
|
2352
|
+
"required": true,
|
|
2353
|
+
"description": "Main label content"
|
|
2354
|
+
},
|
|
2355
|
+
"startContent": {
|
|
2356
|
+
"kind": "icon",
|
|
2357
|
+
"description": "Icon or element at the start (left side)"
|
|
2358
|
+
},
|
|
2359
|
+
"endContent": {
|
|
2360
|
+
"kind": "icon",
|
|
2361
|
+
"description": "Icon or element at the end (right side)"
|
|
2362
|
+
},
|
|
2363
|
+
"subtitle": {
|
|
2364
|
+
"kind": "text",
|
|
2365
|
+
"description": "Secondary text below the label"
|
|
2366
|
+
},
|
|
2367
|
+
"shortcut": {
|
|
2368
|
+
"kind": "text",
|
|
2369
|
+
"description": "Keyboard shortcut display"
|
|
2370
|
+
},
|
|
2371
|
+
"disabled": {
|
|
2372
|
+
"kind": "boolean",
|
|
2373
|
+
"description": "Whether the item is disabled"
|
|
2374
|
+
},
|
|
2375
|
+
"isDanger": {
|
|
2376
|
+
"kind": "boolean",
|
|
2377
|
+
"description": "Whether the item has danger/destructive styling"
|
|
2378
|
+
},
|
|
2379
|
+
"selected": {
|
|
2380
|
+
"kind": "boolean",
|
|
2381
|
+
"description": "Whether the item is in a selected state (drives selected styling)"
|
|
2382
|
+
}
|
|
2383
|
+
}
|
|
2384
|
+
},
|
|
2385
|
+
"Message": {
|
|
2386
|
+
"role": "leaf",
|
|
2387
|
+
"description": "Chat message bubble (streaming/attachments/reactions/reply-quote not supported in generative specs — those are live-interaction features, not static display).",
|
|
2388
|
+
"props": {
|
|
2389
|
+
"variant": {
|
|
2390
|
+
"kind": "enum",
|
|
2391
|
+
"options": [
|
|
2392
|
+
"sender",
|
|
2393
|
+
"receiver",
|
|
2394
|
+
"system"
|
|
2395
|
+
],
|
|
2396
|
+
"default": "receiver",
|
|
2397
|
+
"description": "The variant of the message (Chat UI semantic naming)"
|
|
2398
|
+
},
|
|
2399
|
+
"content": {
|
|
2400
|
+
"kind": "text",
|
|
2401
|
+
"description": "The message content (supports rich content, markdown, etc.)"
|
|
2402
|
+
},
|
|
2403
|
+
"showTimestamp": {
|
|
2404
|
+
"kind": "boolean",
|
|
2405
|
+
"default": true,
|
|
2406
|
+
"description": "Whether to show the timestamp"
|
|
2407
|
+
},
|
|
2408
|
+
"status": {
|
|
2409
|
+
"kind": "enum",
|
|
2410
|
+
"options": [
|
|
2411
|
+
"sending",
|
|
2412
|
+
"sent",
|
|
2413
|
+
"delivered",
|
|
2414
|
+
"read",
|
|
2415
|
+
"failed"
|
|
2416
|
+
],
|
|
2417
|
+
"description": "Delivery status indicator (sending/sent/delivered/read/failed)"
|
|
2418
|
+
},
|
|
2419
|
+
"isGrouped": {
|
|
2420
|
+
"kind": "boolean",
|
|
2421
|
+
"description": "Whether this is a consecutive message from the same sender (hides avatar & name)"
|
|
2422
|
+
},
|
|
2423
|
+
"timestamp": {
|
|
2424
|
+
"kind": "string",
|
|
2425
|
+
"description": "Message timestamp, ISO format"
|
|
2426
|
+
}
|
|
2427
|
+
}
|
|
2428
|
+
},
|
|
2429
|
+
"Metric": {
|
|
2430
|
+
"role": "leaf",
|
|
2431
|
+
"description": "Single business metric with optional icon and trend.",
|
|
2432
|
+
"props": {
|
|
2433
|
+
"value": {
|
|
2434
|
+
"kind": "union",
|
|
2435
|
+
"types": [
|
|
2436
|
+
"number",
|
|
2437
|
+
"string"
|
|
2438
|
+
],
|
|
2439
|
+
"required": true,
|
|
2440
|
+
"description": "The main value to display (number or formatted string)"
|
|
2441
|
+
},
|
|
2442
|
+
"label": {
|
|
2443
|
+
"kind": "text",
|
|
2444
|
+
"description": "Label describing the metric"
|
|
2445
|
+
},
|
|
2446
|
+
"subtitle": {
|
|
2447
|
+
"kind": "text",
|
|
2448
|
+
"description": "Optional subtitle or secondary text"
|
|
2449
|
+
},
|
|
2450
|
+
"trendValue": {
|
|
2451
|
+
"kind": "text",
|
|
2452
|
+
"description": "Trend value to display (e.g., \"+10.34%\", \"-5.2%\")"
|
|
2453
|
+
},
|
|
2454
|
+
"trendDirection": {
|
|
2455
|
+
"kind": "enum",
|
|
2456
|
+
"options": [
|
|
2457
|
+
"up",
|
|
2458
|
+
"down"
|
|
2459
|
+
],
|
|
2460
|
+
"default": "up",
|
|
2461
|
+
"description": "Trend direction - determines icon and color"
|
|
2462
|
+
},
|
|
2463
|
+
"size": {
|
|
2464
|
+
"kind": "enum",
|
|
2465
|
+
"options": [
|
|
2466
|
+
"sm",
|
|
2467
|
+
"md",
|
|
2468
|
+
"lg"
|
|
2469
|
+
],
|
|
2470
|
+
"default": "md",
|
|
2471
|
+
"description": "Size variant"
|
|
2472
|
+
},
|
|
2473
|
+
"variant": {
|
|
2474
|
+
"kind": "enum",
|
|
2475
|
+
"options": [
|
|
2476
|
+
"filled",
|
|
2477
|
+
"ghost"
|
|
2478
|
+
],
|
|
2479
|
+
"default": "filled",
|
|
2480
|
+
"description": "Visual style variant"
|
|
2481
|
+
},
|
|
2482
|
+
"color": {
|
|
2483
|
+
"kind": "enum",
|
|
2484
|
+
"options": [
|
|
2485
|
+
"mono",
|
|
2486
|
+
"primary",
|
|
2487
|
+
"success",
|
|
2488
|
+
"warning",
|
|
2489
|
+
"danger"
|
|
2490
|
+
],
|
|
2491
|
+
"default": "primary",
|
|
2492
|
+
"description": "Semantic color for icon and accents"
|
|
2493
|
+
},
|
|
2494
|
+
"icon": {
|
|
2495
|
+
"kind": "icon",
|
|
2496
|
+
"description": "Optional icon to display"
|
|
2497
|
+
}
|
|
2498
|
+
}
|
|
2499
|
+
},
|
|
2500
|
+
"PageHeading": {
|
|
2501
|
+
"role": "leaf",
|
|
2502
|
+
"description": "Page header with title/subtitle (managed slot form — header only).",
|
|
2503
|
+
"props": {
|
|
2504
|
+
"title": {
|
|
2505
|
+
"kind": "text",
|
|
2506
|
+
"description": "Heading title (serializable slot). Setting any slot-prop"
|
|
2507
|
+
},
|
|
2508
|
+
"subtitle": {
|
|
2509
|
+
"kind": "text",
|
|
2510
|
+
"description": "Secondary line under the title (serializable slot)."
|
|
2511
|
+
},
|
|
2512
|
+
"separator": {
|
|
2513
|
+
"kind": "boolean",
|
|
2514
|
+
"default": true,
|
|
2515
|
+
"description": "Show bottom separator."
|
|
2516
|
+
}
|
|
2517
|
+
}
|
|
2518
|
+
},
|
|
2519
|
+
"Pagination": {
|
|
2520
|
+
"role": "leaf",
|
|
2521
|
+
"description": "Page navigator. Bind node.actions.pageChange to onPageChange (fires with the new page number).",
|
|
2522
|
+
"props": {
|
|
2523
|
+
"currentPage": {
|
|
2524
|
+
"kind": "number",
|
|
2525
|
+
"required": true,
|
|
2526
|
+
"description": "The current active page number (1-based)"
|
|
2527
|
+
},
|
|
2528
|
+
"totalPages": {
|
|
2529
|
+
"kind": "number",
|
|
2530
|
+
"required": true,
|
|
2531
|
+
"description": "The total number of pages"
|
|
2532
|
+
},
|
|
2533
|
+
"size": {
|
|
2534
|
+
"kind": "enum",
|
|
2535
|
+
"options": [
|
|
2536
|
+
"sm",
|
|
2537
|
+
"md"
|
|
2538
|
+
],
|
|
2539
|
+
"description": "Size variant of pagination"
|
|
2540
|
+
},
|
|
2541
|
+
"showFirstLast": {
|
|
2542
|
+
"kind": "boolean",
|
|
2543
|
+
"description": "Whether to show first/last page buttons"
|
|
2544
|
+
},
|
|
2545
|
+
"showPrevNext": {
|
|
2546
|
+
"kind": "boolean",
|
|
2547
|
+
"description": "Whether to show previous/next buttons"
|
|
2548
|
+
},
|
|
2549
|
+
"siblingCount": {
|
|
2550
|
+
"kind": "number",
|
|
2551
|
+
"description": "Number of sibling pages to show around current page"
|
|
2552
|
+
}
|
|
2553
|
+
}
|
|
2554
|
+
},
|
|
2555
|
+
"Pill": {
|
|
2556
|
+
"role": "leaf",
|
|
2557
|
+
"description": "Filter/tag chip with optional selected state.",
|
|
2558
|
+
"props": {
|
|
2559
|
+
"children": {
|
|
2560
|
+
"kind": "text",
|
|
2561
|
+
"required": true,
|
|
2562
|
+
"description": "Content to display inside the pill"
|
|
2563
|
+
},
|
|
2564
|
+
"size": {
|
|
2565
|
+
"kind": "enum",
|
|
2566
|
+
"options": [
|
|
2567
|
+
"sm",
|
|
2568
|
+
"md",
|
|
2569
|
+
"lg"
|
|
2570
|
+
],
|
|
2571
|
+
"description": "Size of the pill"
|
|
2572
|
+
},
|
|
2573
|
+
"iconStart": {
|
|
2574
|
+
"kind": "icon",
|
|
2575
|
+
"description": "Icon element to display at the start (before the content)"
|
|
2576
|
+
},
|
|
2577
|
+
"selected": {
|
|
2578
|
+
"kind": "boolean",
|
|
2579
|
+
"description": "Whether the pill is selected (controlled state)"
|
|
2580
|
+
},
|
|
2581
|
+
"readOnly": {
|
|
2582
|
+
"kind": "boolean",
|
|
2583
|
+
"default": false,
|
|
2584
|
+
"description": "Whether the pill is read-only (non-interactive)"
|
|
2585
|
+
}
|
|
2586
|
+
}
|
|
2587
|
+
},
|
|
2588
|
+
"Progress": {
|
|
2589
|
+
"role": "leaf",
|
|
2590
|
+
"description": "Progress bar (0–100).",
|
|
2591
|
+
"props": {
|
|
2592
|
+
"value": {
|
|
2593
|
+
"kind": "number",
|
|
2594
|
+
"description": "Progress value from 0 to 100."
|
|
2595
|
+
},
|
|
2596
|
+
"size": {
|
|
2597
|
+
"kind": "enum",
|
|
2598
|
+
"options": [
|
|
2599
|
+
"sm",
|
|
2600
|
+
"md",
|
|
2601
|
+
"lg"
|
|
2602
|
+
],
|
|
2603
|
+
"default": "md",
|
|
2604
|
+
"description": "The size of the progress bar"
|
|
2605
|
+
},
|
|
2606
|
+
"showLabel": {
|
|
2607
|
+
"kind": "boolean",
|
|
2608
|
+
"default": false,
|
|
2609
|
+
"description": "Whether to show the percentage label"
|
|
2610
|
+
},
|
|
2611
|
+
"labelPosition": {
|
|
2612
|
+
"kind": "enum",
|
|
2613
|
+
"options": [
|
|
2614
|
+
"top",
|
|
2615
|
+
"bottom",
|
|
2616
|
+
"inside",
|
|
2617
|
+
"right"
|
|
2618
|
+
],
|
|
2619
|
+
"default": "right",
|
|
2620
|
+
"description": "Position of the label"
|
|
2621
|
+
},
|
|
2622
|
+
"animated": {
|
|
2623
|
+
"kind": "boolean",
|
|
2624
|
+
"default": true,
|
|
2625
|
+
"description": "Whether to animate value changes"
|
|
2626
|
+
}
|
|
2627
|
+
}
|
|
2628
|
+
},
|
|
2629
|
+
"RadarChart": {
|
|
2630
|
+
"role": "leaf",
|
|
2631
|
+
"description": "Radar/spider chart (auto Card shell).",
|
|
2632
|
+
"props": {
|
|
2633
|
+
"axes": {
|
|
2634
|
+
"kind": "shape",
|
|
2635
|
+
"shape": "stringList",
|
|
2636
|
+
"required": true,
|
|
2637
|
+
"description": "Array of axis/category labels displayed at each spoke endpoint"
|
|
2638
|
+
},
|
|
2639
|
+
"series": {
|
|
2640
|
+
"kind": "shape",
|
|
2641
|
+
"shape": "radarSeries",
|
|
2642
|
+
"required": true,
|
|
2643
|
+
"description": "Array of data series to plot as filled polygons"
|
|
2644
|
+
},
|
|
2645
|
+
"size": {
|
|
2646
|
+
"kind": "number",
|
|
2647
|
+
"default": 400,
|
|
2648
|
+
"description": "SVG size in pixels (width and height of the SVG viewBox)"
|
|
2649
|
+
},
|
|
2650
|
+
"gridLevels": {
|
|
2651
|
+
"kind": "number",
|
|
2652
|
+
"default": 5,
|
|
2653
|
+
"description": "Number of concentric grid rings drawn from center to outer edge"
|
|
2654
|
+
},
|
|
2655
|
+
"maxValue": {
|
|
2656
|
+
"kind": "number",
|
|
2657
|
+
"default": "undefined (auto)",
|
|
2658
|
+
"description": "Maximum data value used for scaling."
|
|
2659
|
+
},
|
|
2660
|
+
"showGrid": {
|
|
2661
|
+
"kind": "boolean",
|
|
2662
|
+
"default": true,
|
|
2663
|
+
"description": "Whether to render the concentric grid polygons"
|
|
2664
|
+
},
|
|
2665
|
+
"showLabels": {
|
|
2666
|
+
"kind": "boolean",
|
|
2667
|
+
"default": true,
|
|
2668
|
+
"description": "Whether to render axis labels at each spoke endpoint"
|
|
2669
|
+
},
|
|
2670
|
+
"showLegend": {
|
|
2671
|
+
"kind": "boolean",
|
|
2672
|
+
"default": true,
|
|
2673
|
+
"description": "Whether to render the legend below the chart"
|
|
2674
|
+
},
|
|
2675
|
+
"showAnimation": {
|
|
2676
|
+
"kind": "boolean",
|
|
2677
|
+
"default": true,
|
|
2678
|
+
"description": "Whether to animate on mount using Framer Motion"
|
|
2679
|
+
},
|
|
2680
|
+
"fillOpacity": {
|
|
2681
|
+
"kind": "number",
|
|
2682
|
+
"default": 0.25,
|
|
2683
|
+
"description": "Fill opacity for the data polygons (0 to 1)"
|
|
2684
|
+
},
|
|
2685
|
+
"strokeWidth": {
|
|
2686
|
+
"kind": "number",
|
|
2687
|
+
"default": 2,
|
|
2688
|
+
"description": "Stroke width for the data polygon outlines"
|
|
2689
|
+
},
|
|
2690
|
+
"showTooltip": {
|
|
2691
|
+
"kind": "boolean",
|
|
2692
|
+
"default": true,
|
|
2693
|
+
"description": "Whether to show a tooltip on hover over data points"
|
|
2694
|
+
},
|
|
2695
|
+
"title": {
|
|
2696
|
+
"kind": "text",
|
|
2697
|
+
"description": "Card header title (the auto shell)"
|
|
2698
|
+
},
|
|
2699
|
+
"subtitle": {
|
|
2700
|
+
"kind": "text",
|
|
2701
|
+
"description": "Card header subtitle (the auto shell)"
|
|
2702
|
+
}
|
|
2703
|
+
}
|
|
2704
|
+
},
|
|
2705
|
+
"Rating": {
|
|
2706
|
+
"role": "leaf",
|
|
2707
|
+
"description": "Read-only star rating display.",
|
|
2708
|
+
"props": {
|
|
2709
|
+
"value": {
|
|
2710
|
+
"kind": "number",
|
|
2711
|
+
"description": "Controlled rating value (0 to max)"
|
|
2712
|
+
},
|
|
2713
|
+
"defaultValue": {
|
|
2714
|
+
"kind": "number",
|
|
2715
|
+
"default": 0,
|
|
2716
|
+
"description": "Default rating value for uncontrolled mode (0 to max)"
|
|
2717
|
+
},
|
|
2718
|
+
"max": {
|
|
2719
|
+
"kind": "number",
|
|
2720
|
+
"default": 5,
|
|
2721
|
+
"description": "Maximum number of stars"
|
|
2722
|
+
},
|
|
2723
|
+
"size": {
|
|
2724
|
+
"kind": "enum",
|
|
2725
|
+
"options": [
|
|
2726
|
+
"sm",
|
|
2727
|
+
"md",
|
|
2728
|
+
"lg"
|
|
2729
|
+
],
|
|
2730
|
+
"default": "md",
|
|
2731
|
+
"description": "The size of the rating stars"
|
|
2732
|
+
},
|
|
2733
|
+
"color": {
|
|
2734
|
+
"kind": "enum",
|
|
2735
|
+
"options": [
|
|
2736
|
+
"primary",
|
|
2737
|
+
"success",
|
|
2738
|
+
"warning",
|
|
2739
|
+
"danger"
|
|
2740
|
+
],
|
|
2741
|
+
"default": "warning",
|
|
2742
|
+
"description": "The semantic color of the filled stars"
|
|
2743
|
+
},
|
|
2744
|
+
"readOnly": {
|
|
2745
|
+
"kind": "boolean",
|
|
2746
|
+
"default": false,
|
|
2747
|
+
"description": "Whether the rating is read-only (display only, no interaction)"
|
|
2748
|
+
},
|
|
2749
|
+
"disabled": {
|
|
2750
|
+
"kind": "boolean",
|
|
2751
|
+
"default": false,
|
|
2752
|
+
"description": "Whether the rating is disabled"
|
|
2753
|
+
},
|
|
2754
|
+
"allowHalf": {
|
|
2755
|
+
"kind": "boolean",
|
|
2756
|
+
"default": false,
|
|
2757
|
+
"description": "Enable half-step rating increments"
|
|
2758
|
+
}
|
|
2759
|
+
}
|
|
2760
|
+
},
|
|
2761
|
+
"ScatterPlot": {
|
|
2762
|
+
"role": "leaf",
|
|
2763
|
+
"description": "Scatter/bubble chart (auto Card shell).",
|
|
2764
|
+
"props": {
|
|
2765
|
+
"data": {
|
|
2766
|
+
"kind": "shape",
|
|
2767
|
+
"shape": "scatterPoints",
|
|
2768
|
+
"required": true,
|
|
2769
|
+
"description": "Data points"
|
|
2770
|
+
},
|
|
2771
|
+
"xLabel": {
|
|
2772
|
+
"kind": "string",
|
|
2773
|
+
"description": "X-axis label"
|
|
2774
|
+
},
|
|
2775
|
+
"yLabel": {
|
|
2776
|
+
"kind": "string",
|
|
2777
|
+
"description": "Y-axis label"
|
|
2778
|
+
},
|
|
2779
|
+
"dotRadius": {
|
|
2780
|
+
"kind": "number",
|
|
2781
|
+
"description": "Point size (if not using data.size)"
|
|
2782
|
+
},
|
|
2783
|
+
"colors": {
|
|
2784
|
+
"kind": "shape",
|
|
2785
|
+
"shape": "colorList",
|
|
2786
|
+
"description": "Custom colors for categories (using CSS variables)"
|
|
2787
|
+
},
|
|
2788
|
+
"showTooltip": {
|
|
2789
|
+
"kind": "boolean",
|
|
2790
|
+
"description": "Enable tooltip on hover"
|
|
2791
|
+
},
|
|
2792
|
+
"showGrid": {
|
|
2793
|
+
"kind": "boolean"
|
|
2794
|
+
},
|
|
2795
|
+
"showXAxis": {
|
|
2796
|
+
"kind": "boolean"
|
|
2797
|
+
},
|
|
2798
|
+
"showYAxis": {
|
|
2799
|
+
"kind": "boolean"
|
|
2800
|
+
},
|
|
2801
|
+
"legend": {
|
|
2802
|
+
"kind": "enum",
|
|
2803
|
+
"options": [
|
|
2804
|
+
"top",
|
|
2805
|
+
"bottom",
|
|
2806
|
+
"none"
|
|
2807
|
+
],
|
|
2808
|
+
"description": "Always-visible legend position, rendered from `config`'s labels/colors."
|
|
2809
|
+
},
|
|
2810
|
+
"minValue": {
|
|
2811
|
+
"kind": "number"
|
|
2812
|
+
},
|
|
2813
|
+
"maxValue": {
|
|
2814
|
+
"kind": "number"
|
|
2815
|
+
},
|
|
2816
|
+
"height": {
|
|
2817
|
+
"kind": "union",
|
|
2818
|
+
"types": [
|
|
2819
|
+
"number",
|
|
2820
|
+
"string"
|
|
2821
|
+
]
|
|
2822
|
+
},
|
|
2823
|
+
"width": {
|
|
2824
|
+
"kind": "union",
|
|
2825
|
+
"types": [
|
|
2826
|
+
"number",
|
|
2827
|
+
"string"
|
|
2828
|
+
]
|
|
2829
|
+
},
|
|
2830
|
+
"enableKeyboardNavigation": {
|
|
2831
|
+
"kind": "boolean"
|
|
2832
|
+
},
|
|
2833
|
+
"title": {
|
|
2834
|
+
"kind": "text",
|
|
2835
|
+
"description": "Card header title (the auto shell)"
|
|
2836
|
+
},
|
|
2837
|
+
"subtitle": {
|
|
2838
|
+
"kind": "text",
|
|
2839
|
+
"description": "Card header subtitle (the auto shell)"
|
|
2840
|
+
}
|
|
2841
|
+
}
|
|
2842
|
+
},
|
|
2843
|
+
"ScrollArea": {
|
|
2844
|
+
"role": "container",
|
|
2845
|
+
"description": "Custom-scrollbar viewport. Children are spec nodes.",
|
|
2846
|
+
"props": {
|
|
2847
|
+
"type": {
|
|
2848
|
+
"kind": "enum",
|
|
2849
|
+
"options": [
|
|
2850
|
+
"none",
|
|
2851
|
+
"auto",
|
|
2852
|
+
"always",
|
|
2853
|
+
"scroll",
|
|
2854
|
+
"hover"
|
|
2855
|
+
],
|
|
2856
|
+
"default": "hover",
|
|
2857
|
+
"description": "Scrollbar visibility behavior"
|
|
2858
|
+
},
|
|
2859
|
+
"size": {
|
|
2860
|
+
"kind": "enum",
|
|
2861
|
+
"options": [
|
|
2862
|
+
"default",
|
|
2863
|
+
"thin"
|
|
2864
|
+
],
|
|
2865
|
+
"default": "default",
|
|
2866
|
+
"description": "Scrollbar size"
|
|
2867
|
+
},
|
|
2868
|
+
"orientation": {
|
|
2869
|
+
"kind": "enum",
|
|
2870
|
+
"options": [
|
|
2871
|
+
"horizontal",
|
|
2872
|
+
"vertical",
|
|
2873
|
+
"both"
|
|
2874
|
+
],
|
|
2875
|
+
"default": "vertical",
|
|
2876
|
+
"description": "Scroll direction"
|
|
2877
|
+
},
|
|
2878
|
+
"snap": {
|
|
2879
|
+
"kind": "enum",
|
|
2880
|
+
"options": [
|
|
2881
|
+
"mandatory",
|
|
2882
|
+
"proximity"
|
|
2883
|
+
],
|
|
2884
|
+
"default": "undefined (no snapping)",
|
|
2885
|
+
"description": "Enable scroll snapping. Sets scroll-snap-type on the viewport (axis derived from orientation)."
|
|
2886
|
+
},
|
|
2887
|
+
"snapAlign": {
|
|
2888
|
+
"kind": "enum",
|
|
2889
|
+
"options": [
|
|
2890
|
+
"start",
|
|
2891
|
+
"center",
|
|
2892
|
+
"end"
|
|
2893
|
+
],
|
|
2894
|
+
"default": "start",
|
|
2895
|
+
"description": "Snap alignment applied to direct children via [&>*]:snap-*."
|
|
2896
|
+
},
|
|
2897
|
+
"dragToScroll": {
|
|
2898
|
+
"kind": "boolean",
|
|
2899
|
+
"default": false,
|
|
2900
|
+
"description": "Enable mouse drag-to-scroll panning (grab the content and drag, like touch)."
|
|
2901
|
+
},
|
|
2902
|
+
"smooth": {
|
|
2903
|
+
"kind": "boolean",
|
|
2904
|
+
"default": true,
|
|
2905
|
+
"description": "Enable smooth momentum-based scrolling"
|
|
2906
|
+
}
|
|
2907
|
+
}
|
|
2908
|
+
},
|
|
2909
|
+
"Section": {
|
|
2910
|
+
"role": "container",
|
|
2911
|
+
"description": "Titled page region without card chrome. Children are spec nodes.",
|
|
2912
|
+
"props": {
|
|
2913
|
+
"title": {
|
|
2914
|
+
"kind": "text",
|
|
2915
|
+
"description": "Section heading."
|
|
2916
|
+
},
|
|
2917
|
+
"subtitle": {
|
|
2918
|
+
"kind": "text",
|
|
2919
|
+
"description": "Secondary line under the title."
|
|
2920
|
+
},
|
|
2921
|
+
"gap": {
|
|
2922
|
+
"kind": "enum",
|
|
2923
|
+
"options": [
|
|
2924
|
+
0,
|
|
2925
|
+
1,
|
|
2926
|
+
2,
|
|
2927
|
+
3,
|
|
2928
|
+
4,
|
|
2929
|
+
5,
|
|
2930
|
+
6,
|
|
2931
|
+
8,
|
|
2932
|
+
10,
|
|
2933
|
+
12
|
|
2934
|
+
],
|
|
2935
|
+
"default": 4,
|
|
2936
|
+
"description": "Spacing between the header and the body (Tailwind spacing scale → mt-N)."
|
|
2937
|
+
}
|
|
2938
|
+
}
|
|
2939
|
+
},
|
|
2940
|
+
"Select": {
|
|
2941
|
+
"role": "leaf",
|
|
2942
|
+
"description": "Single-select dropdown (multi-select not supported in generative specs). Bind node.actions.change to onChange (fires with the selected option's value).",
|
|
2943
|
+
"props": {
|
|
2944
|
+
"name": {
|
|
2945
|
+
"kind": "string",
|
|
2946
|
+
"description": "Name for the select component"
|
|
2947
|
+
},
|
|
2948
|
+
"size": {
|
|
2949
|
+
"kind": "enum",
|
|
2950
|
+
"options": [
|
|
2951
|
+
"sm",
|
|
2952
|
+
"md",
|
|
2953
|
+
"lg"
|
|
2954
|
+
],
|
|
2955
|
+
"description": "Size of the select component"
|
|
2956
|
+
},
|
|
2957
|
+
"state": {
|
|
2958
|
+
"kind": "enum",
|
|
2959
|
+
"options": [
|
|
2960
|
+
"default",
|
|
2961
|
+
"disabled",
|
|
2962
|
+
"invalid"
|
|
2963
|
+
],
|
|
2964
|
+
"description": "Current state of the select component"
|
|
2965
|
+
},
|
|
2966
|
+
"placeholder": {
|
|
2967
|
+
"kind": "string",
|
|
2968
|
+
"description": "Placeholder text when no option is selected"
|
|
2969
|
+
},
|
|
2970
|
+
"disabled": {
|
|
2971
|
+
"kind": "boolean",
|
|
2972
|
+
"description": "Whether the select is disabled"
|
|
2973
|
+
},
|
|
2974
|
+
"required": {
|
|
2975
|
+
"kind": "boolean",
|
|
2976
|
+
"description": "Whether the select is required"
|
|
2977
|
+
},
|
|
2978
|
+
"options": {
|
|
2979
|
+
"kind": "shape",
|
|
2980
|
+
"shape": "optionItems",
|
|
2981
|
+
"required": true,
|
|
2982
|
+
"description": "Array of options to display"
|
|
2983
|
+
},
|
|
2984
|
+
"label": {
|
|
2985
|
+
"kind": "text",
|
|
2986
|
+
"description": "Label for the select — pass a string for default styling, or a ReactNode for full control"
|
|
2987
|
+
},
|
|
2988
|
+
"helperText": {
|
|
2989
|
+
"kind": "text",
|
|
2990
|
+
"description": "Helper text below the select — pass a string for default styling, or a ReactNode for full control"
|
|
2991
|
+
},
|
|
2992
|
+
"iconStart": {
|
|
2993
|
+
"kind": "icon",
|
|
2994
|
+
"description": "Left icon to display in the select button"
|
|
2995
|
+
},
|
|
2996
|
+
"iconEnd": {
|
|
2997
|
+
"kind": "icon",
|
|
2998
|
+
"description": "Right icon to display in the select button (default is chevron)"
|
|
2999
|
+
},
|
|
3000
|
+
"searchable": {
|
|
3001
|
+
"kind": "boolean",
|
|
3002
|
+
"description": "Whether the select is searchable"
|
|
3003
|
+
},
|
|
3004
|
+
"searchPlaceholder": {
|
|
3005
|
+
"kind": "string",
|
|
3006
|
+
"default": "Search...",
|
|
3007
|
+
"description": "Placeholder text for the search input shown when `searchable` is true."
|
|
3008
|
+
},
|
|
3009
|
+
"enableTypeahead": {
|
|
3010
|
+
"kind": "boolean",
|
|
3011
|
+
"description": "Whether to enable typeahead functionality (default: true)"
|
|
3012
|
+
},
|
|
3013
|
+
"value": {
|
|
3014
|
+
"kind": "string",
|
|
3015
|
+
"description": "Currently selected option's value (controlled)"
|
|
3016
|
+
}
|
|
3017
|
+
}
|
|
3018
|
+
},
|
|
3019
|
+
"Separator": {
|
|
3020
|
+
"role": "leaf",
|
|
3021
|
+
"description": "Horizontal or vertical divider.",
|
|
3022
|
+
"props": {
|
|
3023
|
+
"vertical": {
|
|
3024
|
+
"kind": "boolean",
|
|
3025
|
+
"default": false,
|
|
3026
|
+
"description": "Whether the separator is vertical (default is horizontal)"
|
|
3027
|
+
},
|
|
3028
|
+
"margin": {
|
|
3029
|
+
"kind": "enum",
|
|
3030
|
+
"options": [
|
|
3031
|
+
"sm",
|
|
3032
|
+
"md",
|
|
3033
|
+
"lg"
|
|
3034
|
+
],
|
|
3035
|
+
"default": "md",
|
|
3036
|
+
"description": "The margin size for spacing"
|
|
3037
|
+
}
|
|
3038
|
+
}
|
|
3039
|
+
},
|
|
3040
|
+
"Skeleton": {
|
|
3041
|
+
"role": "leaf",
|
|
3042
|
+
"description": "Loading placeholder shape.",
|
|
3043
|
+
"props": {
|
|
3044
|
+
"variant": {
|
|
3045
|
+
"kind": "enum",
|
|
3046
|
+
"options": [
|
|
3047
|
+
"text",
|
|
3048
|
+
"circular",
|
|
3049
|
+
"rectangle"
|
|
3050
|
+
],
|
|
3051
|
+
"default": "rectangle",
|
|
3052
|
+
"description": "The variant of the skeleton"
|
|
3053
|
+
},
|
|
3054
|
+
"width": {
|
|
3055
|
+
"kind": "union",
|
|
3056
|
+
"types": [
|
|
3057
|
+
"number",
|
|
3058
|
+
"string"
|
|
3059
|
+
],
|
|
3060
|
+
"description": "Width of the skeleton"
|
|
3061
|
+
},
|
|
3062
|
+
"height": {
|
|
3063
|
+
"kind": "union",
|
|
3064
|
+
"types": [
|
|
3065
|
+
"number",
|
|
3066
|
+
"string"
|
|
3067
|
+
],
|
|
3068
|
+
"description": "Height of the skeleton"
|
|
3069
|
+
},
|
|
3070
|
+
"lines": {
|
|
3071
|
+
"kind": "number",
|
|
3072
|
+
"default": 1,
|
|
3073
|
+
"description": "Number of skeleton lines to render (for text variant)"
|
|
3074
|
+
},
|
|
3075
|
+
"animate": {
|
|
3076
|
+
"kind": "boolean",
|
|
3077
|
+
"default": true,
|
|
3078
|
+
"description": "Whether to show pulse animation"
|
|
3079
|
+
}
|
|
3080
|
+
}
|
|
3081
|
+
},
|
|
3082
|
+
"Slider": {
|
|
3083
|
+
"role": "leaf",
|
|
3084
|
+
"description": "Single-thumb range slider (range/dual-thumb mode not supported in generative specs). Bind node.actions.change to onChange and/or node.actions.changeCommitted to onChangeCommitted (both fire with the new number).",
|
|
3085
|
+
"props": {
|
|
3086
|
+
"state": {
|
|
3087
|
+
"kind": "enum",
|
|
3088
|
+
"options": [
|
|
3089
|
+
"default",
|
|
3090
|
+
"disabled",
|
|
3091
|
+
"invalid"
|
|
3092
|
+
],
|
|
3093
|
+
"description": "The state of the slider (default, disabled, invalid)"
|
|
3094
|
+
},
|
|
3095
|
+
"label": {
|
|
3096
|
+
"kind": "text",
|
|
3097
|
+
"description": "Optional label text for the slider"
|
|
3098
|
+
},
|
|
3099
|
+
"helperText": {
|
|
3100
|
+
"kind": "text",
|
|
3101
|
+
"description": "Optional helper text displayed below the slider"
|
|
3102
|
+
},
|
|
3103
|
+
"min": {
|
|
3104
|
+
"kind": "number",
|
|
3105
|
+
"description": "Minimum value for the slider"
|
|
3106
|
+
},
|
|
3107
|
+
"max": {
|
|
3108
|
+
"kind": "number",
|
|
3109
|
+
"description": "Maximum value for the slider"
|
|
3110
|
+
},
|
|
3111
|
+
"step": {
|
|
3112
|
+
"kind": "number",
|
|
3113
|
+
"description": "Step value for slider increments"
|
|
3114
|
+
},
|
|
3115
|
+
"showValue": {
|
|
3116
|
+
"kind": "boolean",
|
|
3117
|
+
"description": "Whether to show the current value"
|
|
3118
|
+
},
|
|
3119
|
+
"unit": {
|
|
3120
|
+
"kind": "string",
|
|
3121
|
+
"description": "Unit to display with the value (e.g., \"px\", \"%\", \"°\")"
|
|
3122
|
+
},
|
|
3123
|
+
"showMinMax": {
|
|
3124
|
+
"kind": "boolean",
|
|
3125
|
+
"description": "Whether to show min/max labels"
|
|
3126
|
+
},
|
|
3127
|
+
"showTicks": {
|
|
3128
|
+
"kind": "boolean",
|
|
3129
|
+
"description": "Whether to show tick marks"
|
|
3130
|
+
},
|
|
3131
|
+
"tickStep": {
|
|
3132
|
+
"kind": "number",
|
|
3133
|
+
"description": "Step for tick marks (defaults to step)"
|
|
3134
|
+
},
|
|
3135
|
+
"iconStart": {
|
|
3136
|
+
"kind": "icon",
|
|
3137
|
+
"description": "Icon to display at the start of the slider"
|
|
3138
|
+
},
|
|
3139
|
+
"iconEnd": {
|
|
3140
|
+
"kind": "icon",
|
|
3141
|
+
"description": "Icon to display at the end of the slider"
|
|
1360
3142
|
},
|
|
1361
|
-
"
|
|
1362
|
-
"kind": "
|
|
1363
|
-
"description": "
|
|
3143
|
+
"required": {
|
|
3144
|
+
"kind": "boolean",
|
|
3145
|
+
"description": "Whether the slider is required"
|
|
1364
3146
|
},
|
|
1365
|
-
"
|
|
1366
|
-
"kind": "
|
|
1367
|
-
"
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
4,
|
|
1373
|
-
5,
|
|
1374
|
-
6,
|
|
1375
|
-
8,
|
|
1376
|
-
10,
|
|
1377
|
-
12
|
|
1378
|
-
],
|
|
1379
|
-
"default": 4,
|
|
1380
|
-
"description": "Spacing between the header and the body (Tailwind spacing scale → mt-N)."
|
|
3147
|
+
"name": {
|
|
3148
|
+
"kind": "string",
|
|
3149
|
+
"description": "Name attribute for form submission"
|
|
3150
|
+
},
|
|
3151
|
+
"value": {
|
|
3152
|
+
"kind": "number",
|
|
3153
|
+
"description": "Current value (controlled)"
|
|
1381
3154
|
}
|
|
1382
3155
|
}
|
|
1383
3156
|
},
|
|
1384
|
-
"
|
|
3157
|
+
"Spinner": {
|
|
1385
3158
|
"role": "leaf",
|
|
1386
|
-
"description": "
|
|
3159
|
+
"description": "Loading spinner.",
|
|
1387
3160
|
"props": {
|
|
1388
|
-
"
|
|
1389
|
-
"kind": "boolean",
|
|
1390
|
-
"default": false,
|
|
1391
|
-
"description": "Whether the separator is vertical (default is horizontal)"
|
|
1392
|
-
},
|
|
1393
|
-
"margin": {
|
|
3161
|
+
"size": {
|
|
1394
3162
|
"kind": "enum",
|
|
1395
3163
|
"options": [
|
|
1396
3164
|
"sm",
|
|
@@ -1398,7 +3166,20 @@ const GENERATIVE_SCHEMA = {
|
|
|
1398
3166
|
"lg"
|
|
1399
3167
|
],
|
|
1400
3168
|
"default": "md",
|
|
1401
|
-
"description": "The
|
|
3169
|
+
"description": "The size of the spinner"
|
|
3170
|
+
},
|
|
3171
|
+
"color": {
|
|
3172
|
+
"kind": "enum",
|
|
3173
|
+
"options": [
|
|
3174
|
+
"mono",
|
|
3175
|
+
"primary",
|
|
3176
|
+
"success",
|
|
3177
|
+
"warning",
|
|
3178
|
+
"danger",
|
|
3179
|
+
"dark"
|
|
3180
|
+
],
|
|
3181
|
+
"default": "primary",
|
|
3182
|
+
"description": "The color of the spinner"
|
|
1402
3183
|
}
|
|
1403
3184
|
}
|
|
1404
3185
|
},
|
|
@@ -1409,6 +3190,7 @@ const GENERATIVE_SCHEMA = {
|
|
|
1409
3190
|
"as": {
|
|
1410
3191
|
"kind": "enum",
|
|
1411
3192
|
"options": [
|
|
3193
|
+
"form",
|
|
1412
3194
|
"div",
|
|
1413
3195
|
"ul",
|
|
1414
3196
|
"ol",
|
|
@@ -1417,7 +3199,6 @@ const GENERATIVE_SCHEMA = {
|
|
|
1417
3199
|
"header",
|
|
1418
3200
|
"footer",
|
|
1419
3201
|
"aside",
|
|
1420
|
-
"form",
|
|
1421
3202
|
"fieldset"
|
|
1422
3203
|
],
|
|
1423
3204
|
"default": "div",
|
|
@@ -1482,9 +3263,6 @@ const GENERATIVE_SCHEMA = {
|
|
|
1482
3263
|
"barRadius": {
|
|
1483
3264
|
"kind": "number"
|
|
1484
3265
|
},
|
|
1485
|
-
"gap": {
|
|
1486
|
-
"kind": "number"
|
|
1487
|
-
},
|
|
1488
3266
|
"categoryGap": {
|
|
1489
3267
|
"kind": "number"
|
|
1490
3268
|
},
|
|
@@ -1562,57 +3340,72 @@ const GENERATIVE_SCHEMA = {
|
|
|
1562
3340
|
"gradient"
|
|
1563
3341
|
]
|
|
1564
3342
|
},
|
|
1565
|
-
"
|
|
1566
|
-
"kind": "
|
|
3343
|
+
"title": {
|
|
3344
|
+
"kind": "text",
|
|
3345
|
+
"description": "Card header title (the auto shell)"
|
|
1567
3346
|
},
|
|
1568
|
-
"
|
|
1569
|
-
"kind": "
|
|
3347
|
+
"subtitle": {
|
|
3348
|
+
"kind": "text",
|
|
3349
|
+
"description": "Card header subtitle (the auto shell)"
|
|
3350
|
+
}
|
|
3351
|
+
}
|
|
3352
|
+
},
|
|
3353
|
+
"Switch": {
|
|
3354
|
+
"role": "leaf",
|
|
3355
|
+
"description": "Toggle switch. `checked` is the on/off state; `value` is a separate HTML form-submission identity, not the checked state. Bind node.actions.change to onChange (fires with the new checked boolean).",
|
|
3356
|
+
"props": {
|
|
3357
|
+
"checked": {
|
|
3358
|
+
"kind": "boolean",
|
|
3359
|
+
"description": "Whether the switch is checked (controlled mode)"
|
|
1570
3360
|
},
|
|
1571
|
-
"
|
|
1572
|
-
"kind": "
|
|
3361
|
+
"defaultChecked": {
|
|
3362
|
+
"kind": "boolean",
|
|
3363
|
+
"description": "Initial checked state for uncontrolled mode"
|
|
1573
3364
|
},
|
|
1574
|
-
"
|
|
1575
|
-
"kind": "
|
|
3365
|
+
"label": {
|
|
3366
|
+
"kind": "text",
|
|
3367
|
+
"description": "Label for the switch — pass a string for default styling, or a ReactNode for full control"
|
|
1576
3368
|
},
|
|
1577
|
-
"
|
|
1578
|
-
"kind": "
|
|
3369
|
+
"description": {
|
|
3370
|
+
"kind": "text",
|
|
3371
|
+
"description": "Optional description — pass a string for default styling, or a ReactNode for full control"
|
|
1579
3372
|
},
|
|
1580
|
-
"
|
|
3373
|
+
"state": {
|
|
1581
3374
|
"kind": "enum",
|
|
1582
3375
|
"options": [
|
|
1583
|
-
"
|
|
1584
|
-
"
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
"stepAfter"
|
|
1588
|
-
]
|
|
1589
|
-
},
|
|
1590
|
-
"showDots": {
|
|
1591
|
-
"kind": "boolean"
|
|
1592
|
-
},
|
|
1593
|
-
"fillOpacity": {
|
|
1594
|
-
"kind": "number"
|
|
1595
|
-
},
|
|
1596
|
-
"showStroke": {
|
|
1597
|
-
"kind": "boolean"
|
|
3376
|
+
"default",
|
|
3377
|
+
"disabled"
|
|
3378
|
+
],
|
|
3379
|
+
"description": "The state of the switch (default, disabled, invalid)"
|
|
1598
3380
|
},
|
|
1599
|
-
"
|
|
1600
|
-
"kind": "
|
|
3381
|
+
"labelPosition": {
|
|
3382
|
+
"kind": "enum",
|
|
3383
|
+
"options": [
|
|
3384
|
+
"start",
|
|
3385
|
+
"end"
|
|
3386
|
+
],
|
|
3387
|
+
"description": "Position of the label relative to the switch"
|
|
1601
3388
|
},
|
|
1602
|
-
"
|
|
3389
|
+
"size": {
|
|
1603
3390
|
"kind": "enum",
|
|
1604
3391
|
"options": [
|
|
1605
|
-
"
|
|
1606
|
-
"
|
|
1607
|
-
|
|
3392
|
+
"sm",
|
|
3393
|
+
"md",
|
|
3394
|
+
"lg"
|
|
3395
|
+
],
|
|
3396
|
+
"description": "Size of the switch track and thumb"
|
|
1608
3397
|
},
|
|
1609
|
-
"
|
|
1610
|
-
"kind": "
|
|
1611
|
-
"description": "
|
|
3398
|
+
"name": {
|
|
3399
|
+
"kind": "string",
|
|
3400
|
+
"description": "HTML name attribute for the hidden input"
|
|
1612
3401
|
},
|
|
1613
|
-
"
|
|
1614
|
-
"kind": "
|
|
1615
|
-
"description": "
|
|
3402
|
+
"value": {
|
|
3403
|
+
"kind": "string",
|
|
3404
|
+
"description": "HTML value attribute for the hidden input"
|
|
3405
|
+
},
|
|
3406
|
+
"required": {
|
|
3407
|
+
"kind": "boolean",
|
|
3408
|
+
"description": "Whether the hidden input is required"
|
|
1616
3409
|
}
|
|
1617
3410
|
}
|
|
1618
3411
|
},
|
|
@@ -1634,8 +3427,8 @@ const GENERATIVE_SCHEMA = {
|
|
|
1634
3427
|
"kind": "enum",
|
|
1635
3428
|
"options": [
|
|
1636
3429
|
"default",
|
|
1637
|
-
"striped",
|
|
1638
3430
|
"bordered",
|
|
3431
|
+
"striped",
|
|
1639
3432
|
"compact"
|
|
1640
3433
|
],
|
|
1641
3434
|
"description": "Visual variant for different table styles"
|
|
@@ -1733,37 +3526,210 @@ const GENERATIVE_SCHEMA = {
|
|
|
1733
3526
|
],
|
|
1734
3527
|
"description": "The size of the tag"
|
|
1735
3528
|
},
|
|
1736
|
-
"removable": {
|
|
3529
|
+
"removable": {
|
|
3530
|
+
"kind": "boolean",
|
|
3531
|
+
"description": "Whether to show the remove button (default: true)"
|
|
3532
|
+
},
|
|
3533
|
+
"disabled": {
|
|
3534
|
+
"kind": "boolean",
|
|
3535
|
+
"description": "Whether the tag is disabled"
|
|
3536
|
+
},
|
|
3537
|
+
"animated": {
|
|
3538
|
+
"kind": "boolean",
|
|
3539
|
+
"description": "Whether to render with motion (layout + enter/exit animation). Default true."
|
|
3540
|
+
}
|
|
3541
|
+
}
|
|
3542
|
+
},
|
|
3543
|
+
"Textarea": {
|
|
3544
|
+
"role": "leaf",
|
|
3545
|
+
"description": "Multi-line text input. Bind node.actions.change to onValueChange (fires with the raw string value).",
|
|
3546
|
+
"props": {
|
|
3547
|
+
"size": {
|
|
3548
|
+
"kind": "enum",
|
|
3549
|
+
"options": [
|
|
3550
|
+
"sm",
|
|
3551
|
+
"md",
|
|
3552
|
+
"lg"
|
|
3553
|
+
],
|
|
3554
|
+
"description": "The size of the textarea"
|
|
3555
|
+
},
|
|
3556
|
+
"state": {
|
|
3557
|
+
"kind": "enum",
|
|
3558
|
+
"options": [
|
|
3559
|
+
"default",
|
|
3560
|
+
"disabled",
|
|
3561
|
+
"invalid"
|
|
3562
|
+
],
|
|
3563
|
+
"description": "The state of the textarea (default, disabled, invalid)"
|
|
3564
|
+
},
|
|
3565
|
+
"label": {
|
|
3566
|
+
"kind": "text",
|
|
3567
|
+
"description": "Optional label for the textarea — pass a string for default styling, or a ReactNode for full control"
|
|
3568
|
+
},
|
|
3569
|
+
"helperText": {
|
|
3570
|
+
"kind": "text",
|
|
3571
|
+
"description": "Optional helper text below the textarea — pass a string for default styling, or a ReactNode for full control"
|
|
3572
|
+
},
|
|
3573
|
+
"errorMessage": {
|
|
3574
|
+
"kind": "text",
|
|
3575
|
+
"description": "Error message shown instead of `helperText` when `state=\"invalid\"`."
|
|
3576
|
+
},
|
|
3577
|
+
"required": {
|
|
3578
|
+
"kind": "boolean",
|
|
3579
|
+
"description": "Whether the textarea is required"
|
|
3580
|
+
},
|
|
3581
|
+
"rows": {
|
|
3582
|
+
"kind": "number",
|
|
3583
|
+
"description": "Number of rows"
|
|
3584
|
+
},
|
|
3585
|
+
"cols": {
|
|
3586
|
+
"kind": "number",
|
|
3587
|
+
"description": "Number of columns"
|
|
3588
|
+
},
|
|
3589
|
+
"placeholder": {
|
|
3590
|
+
"kind": "string",
|
|
3591
|
+
"description": "Placeholder text"
|
|
3592
|
+
},
|
|
3593
|
+
"value": {
|
|
3594
|
+
"kind": "string",
|
|
3595
|
+
"description": "Current value (controlled)"
|
|
3596
|
+
},
|
|
3597
|
+
"disabled": {
|
|
3598
|
+
"kind": "boolean",
|
|
3599
|
+
"description": "Whether the textarea is disabled"
|
|
3600
|
+
},
|
|
3601
|
+
"name": {
|
|
3602
|
+
"kind": "string",
|
|
3603
|
+
"description": "Form field name"
|
|
3604
|
+
}
|
|
3605
|
+
}
|
|
3606
|
+
},
|
|
3607
|
+
"Timeline": {
|
|
3608
|
+
"role": "leaf",
|
|
3609
|
+
"description": "Event timeline driven by a serializable items array.",
|
|
3610
|
+
"props": {
|
|
3611
|
+
"layout": {
|
|
3612
|
+
"kind": "enum",
|
|
3613
|
+
"options": [
|
|
3614
|
+
"horizontal",
|
|
3615
|
+
"vertical"
|
|
3616
|
+
],
|
|
3617
|
+
"default": "vertical",
|
|
3618
|
+
"description": "Layout orientation of the timeline"
|
|
3619
|
+
},
|
|
3620
|
+
"items": {
|
|
3621
|
+
"kind": "shape",
|
|
3622
|
+
"shape": "timelineItems",
|
|
3623
|
+
"description": "Data-driven items. When provided, the timeline renders from this array and"
|
|
3624
|
+
}
|
|
3625
|
+
}
|
|
3626
|
+
},
|
|
3627
|
+
"TimePicker": {
|
|
3628
|
+
"role": "leaf",
|
|
3629
|
+
"description": "Time-of-day picker. value/onChange deal in plain \"HH:mm\" strings, not Date objects. Bind node.actions.change to onChange.",
|
|
3630
|
+
"props": {
|
|
3631
|
+
"value": {
|
|
3632
|
+
"kind": "string",
|
|
3633
|
+
"description": "The selected time value in \"HH:mm\" format"
|
|
3634
|
+
},
|
|
3635
|
+
"defaultValue": {
|
|
3636
|
+
"kind": "string",
|
|
3637
|
+
"description": "Default time value for uncontrolled mode"
|
|
3638
|
+
},
|
|
3639
|
+
"format": {
|
|
3640
|
+
"kind": "enum",
|
|
3641
|
+
"options": [
|
|
3642
|
+
"12h",
|
|
3643
|
+
"24h"
|
|
3644
|
+
],
|
|
3645
|
+
"description": "Display format: 12-hour or 24-hour"
|
|
3646
|
+
},
|
|
3647
|
+
"step": {
|
|
3648
|
+
"kind": "number",
|
|
3649
|
+
"description": "Step interval for minutes (1, 5, 10, 15, 30)"
|
|
3650
|
+
},
|
|
3651
|
+
"minTime": {
|
|
3652
|
+
"kind": "string",
|
|
3653
|
+
"description": "Minimum selectable time in \"HH:mm\" format"
|
|
3654
|
+
},
|
|
3655
|
+
"maxTime": {
|
|
3656
|
+
"kind": "string",
|
|
3657
|
+
"description": "Maximum selectable time in \"HH:mm\" format"
|
|
3658
|
+
},
|
|
3659
|
+
"disabled": {
|
|
3660
|
+
"kind": "boolean",
|
|
3661
|
+
"description": "Whether the component is disabled"
|
|
3662
|
+
},
|
|
3663
|
+
"placeholder": {
|
|
3664
|
+
"kind": "string",
|
|
3665
|
+
"description": "Placeholder text for the input"
|
|
3666
|
+
},
|
|
3667
|
+
"size": {
|
|
3668
|
+
"kind": "enum",
|
|
3669
|
+
"options": [
|
|
3670
|
+
"sm",
|
|
3671
|
+
"md",
|
|
3672
|
+
"lg"
|
|
3673
|
+
],
|
|
3674
|
+
"description": "Size variant of the component"
|
|
3675
|
+
},
|
|
3676
|
+
"state": {
|
|
3677
|
+
"kind": "enum",
|
|
3678
|
+
"options": [
|
|
3679
|
+
"default",
|
|
3680
|
+
"disabled",
|
|
3681
|
+
"invalid"
|
|
3682
|
+
],
|
|
3683
|
+
"description": "State variant of the component"
|
|
3684
|
+
},
|
|
3685
|
+
"clearable": {
|
|
3686
|
+
"kind": "boolean",
|
|
3687
|
+
"description": "Whether to show a clear button"
|
|
3688
|
+
},
|
|
3689
|
+
"label": {
|
|
3690
|
+
"kind": "text",
|
|
3691
|
+
"description": "Optional label text"
|
|
3692
|
+
},
|
|
3693
|
+
"helperText": {
|
|
3694
|
+
"kind": "text",
|
|
3695
|
+
"description": "Optional helper text"
|
|
3696
|
+
},
|
|
3697
|
+
"iconStart": {
|
|
3698
|
+
"kind": "icon",
|
|
3699
|
+
"description": "Icon to display at the start (left side)"
|
|
3700
|
+
},
|
|
3701
|
+
"iconEnd": {
|
|
3702
|
+
"kind": "icon",
|
|
3703
|
+
"description": "Icon to display at the end (right side)"
|
|
3704
|
+
}
|
|
3705
|
+
}
|
|
3706
|
+
},
|
|
3707
|
+
"Tree": {
|
|
3708
|
+
"role": "leaf",
|
|
3709
|
+
"description": "Hierarchical tree view driven by a serializable data array.",
|
|
3710
|
+
"props": {
|
|
3711
|
+
"data": {
|
|
3712
|
+
"kind": "shape",
|
|
3713
|
+
"shape": "treeData",
|
|
3714
|
+
"required": true,
|
|
3715
|
+
"description": "Tree data structure"
|
|
3716
|
+
},
|
|
3717
|
+
"selectable": {
|
|
1737
3718
|
"kind": "boolean",
|
|
1738
|
-
"description": "Whether
|
|
3719
|
+
"description": "Whether nodes can be selected"
|
|
1739
3720
|
},
|
|
1740
|
-
"
|
|
3721
|
+
"checkable": {
|
|
1741
3722
|
"kind": "boolean",
|
|
1742
|
-
"description": "Whether
|
|
3723
|
+
"description": "Whether to show checkboxes for multi-selection"
|
|
1743
3724
|
},
|
|
1744
|
-
"
|
|
3725
|
+
"expandable": {
|
|
1745
3726
|
"kind": "boolean",
|
|
1746
|
-
"description": "Whether
|
|
1747
|
-
}
|
|
1748
|
-
}
|
|
1749
|
-
},
|
|
1750
|
-
"Timeline": {
|
|
1751
|
-
"role": "leaf",
|
|
1752
|
-
"description": "Event timeline driven by a serializable items array.",
|
|
1753
|
-
"props": {
|
|
1754
|
-
"layout": {
|
|
1755
|
-
"kind": "enum",
|
|
1756
|
-
"options": [
|
|
1757
|
-
"vertical",
|
|
1758
|
-
"horizontal"
|
|
1759
|
-
],
|
|
1760
|
-
"default": "vertical",
|
|
1761
|
-
"description": "Layout orientation of the timeline"
|
|
3727
|
+
"description": "Whether nodes can be expanded/collapsed"
|
|
1762
3728
|
},
|
|
1763
|
-
"
|
|
1764
|
-
"kind": "
|
|
1765
|
-
"
|
|
1766
|
-
"description": "
|
|
3729
|
+
"hierarchicalSelection": {
|
|
3730
|
+
"kind": "boolean",
|
|
3731
|
+
"default": "automatically enabled when checkable=true, false otherwise",
|
|
3732
|
+
"description": "Enable hierarchical selection behavior"
|
|
1767
3733
|
}
|
|
1768
3734
|
}
|
|
1769
3735
|
}
|
|
@@ -1867,7 +3833,7 @@ const GENERATIVE_SCHEMA = {
|
|
|
1867
3833
|
"success",
|
|
1868
3834
|
"warning",
|
|
1869
3835
|
"danger",
|
|
1870
|
-
"
|
|
3836
|
+
"mono",
|
|
1871
3837
|
"dark"
|
|
1872
3838
|
]
|
|
1873
3839
|
}
|
|
@@ -1954,6 +3920,348 @@ const GENERATIVE_SCHEMA = {
|
|
|
1954
3920
|
}
|
|
1955
3921
|
}
|
|
1956
3922
|
}
|
|
3923
|
+
},
|
|
3924
|
+
"treeData": {
|
|
3925
|
+
"description": "Recursive array of { id, label } (required strings) plus optional children (nested TreeNode[]), expanded/selected/disabled (booleans), and data (freeform passthrough object). Per-node icons are not supported.",
|
|
3926
|
+
"type": "array",
|
|
3927
|
+
"items": {
|
|
3928
|
+
"type": "object",
|
|
3929
|
+
"required": [
|
|
3930
|
+
"id",
|
|
3931
|
+
"label"
|
|
3932
|
+
],
|
|
3933
|
+
"properties": {
|
|
3934
|
+
"id": {
|
|
3935
|
+
"type": "string"
|
|
3936
|
+
},
|
|
3937
|
+
"label": {
|
|
3938
|
+
"type": "string"
|
|
3939
|
+
},
|
|
3940
|
+
"children": {
|
|
3941
|
+
"type": "array"
|
|
3942
|
+
},
|
|
3943
|
+
"expanded": {
|
|
3944
|
+
"type": "boolean"
|
|
3945
|
+
},
|
|
3946
|
+
"selected": {
|
|
3947
|
+
"type": "boolean"
|
|
3948
|
+
},
|
|
3949
|
+
"disabled": {
|
|
3950
|
+
"type": "boolean"
|
|
3951
|
+
},
|
|
3952
|
+
"data": {
|
|
3953
|
+
"type": "object"
|
|
3954
|
+
}
|
|
3955
|
+
}
|
|
3956
|
+
}
|
|
3957
|
+
},
|
|
3958
|
+
"commandItems": {
|
|
3959
|
+
"description": "Array of { id, label } (required strings) plus optional subtitle, shortcut (string), and group (string, for grouped display). Per-item icons (contentStart/contentEnd) are not supported.",
|
|
3960
|
+
"type": "array",
|
|
3961
|
+
"items": {
|
|
3962
|
+
"type": "object",
|
|
3963
|
+
"required": [
|
|
3964
|
+
"id",
|
|
3965
|
+
"label"
|
|
3966
|
+
],
|
|
3967
|
+
"properties": {
|
|
3968
|
+
"id": {
|
|
3969
|
+
"type": "string"
|
|
3970
|
+
},
|
|
3971
|
+
"label": {
|
|
3972
|
+
"type": "string"
|
|
3973
|
+
},
|
|
3974
|
+
"subtitle": {
|
|
3975
|
+
"type": "string"
|
|
3976
|
+
},
|
|
3977
|
+
"shortcut": {
|
|
3978
|
+
"type": "string"
|
|
3979
|
+
},
|
|
3980
|
+
"group": {
|
|
3981
|
+
"type": "string"
|
|
3982
|
+
}
|
|
3983
|
+
}
|
|
3984
|
+
}
|
|
3985
|
+
},
|
|
3986
|
+
"optionItems": {
|
|
3987
|
+
"description": "Array of { id, label, value } (all strings, required) plus optional disabled (boolean). Shared shape for Select/Combobox options and InputTag suggestions.",
|
|
3988
|
+
"type": "array",
|
|
3989
|
+
"items": {
|
|
3990
|
+
"type": "object",
|
|
3991
|
+
"required": [
|
|
3992
|
+
"id",
|
|
3993
|
+
"label",
|
|
3994
|
+
"value"
|
|
3995
|
+
],
|
|
3996
|
+
"properties": {
|
|
3997
|
+
"id": {
|
|
3998
|
+
"type": "string"
|
|
3999
|
+
},
|
|
4000
|
+
"label": {
|
|
4001
|
+
"type": "string"
|
|
4002
|
+
},
|
|
4003
|
+
"value": {
|
|
4004
|
+
"type": "string"
|
|
4005
|
+
},
|
|
4006
|
+
"disabled": {
|
|
4007
|
+
"type": "boolean"
|
|
4008
|
+
}
|
|
4009
|
+
}
|
|
4010
|
+
}
|
|
4011
|
+
},
|
|
4012
|
+
"stringList": {
|
|
4013
|
+
"description": "Array of plain strings.",
|
|
4014
|
+
"type": "array",
|
|
4015
|
+
"items": {
|
|
4016
|
+
"type": "string"
|
|
4017
|
+
}
|
|
4018
|
+
},
|
|
4019
|
+
"kbdKeys": {
|
|
4020
|
+
"description": "Array of named keyboard keys.",
|
|
4021
|
+
"type": "array",
|
|
4022
|
+
"items": {
|
|
4023
|
+
"enum": [
|
|
4024
|
+
"command",
|
|
4025
|
+
"shift",
|
|
4026
|
+
"ctrl",
|
|
4027
|
+
"option",
|
|
4028
|
+
"enter",
|
|
4029
|
+
"delete",
|
|
4030
|
+
"escape",
|
|
4031
|
+
"tab",
|
|
4032
|
+
"capslock",
|
|
4033
|
+
"up",
|
|
4034
|
+
"right",
|
|
4035
|
+
"down",
|
|
4036
|
+
"left",
|
|
4037
|
+
"pageup",
|
|
4038
|
+
"pagedown",
|
|
4039
|
+
"home",
|
|
4040
|
+
"end",
|
|
4041
|
+
"help",
|
|
4042
|
+
"space",
|
|
4043
|
+
"fn",
|
|
4044
|
+
"win",
|
|
4045
|
+
"alt"
|
|
4046
|
+
]
|
|
4047
|
+
}
|
|
4048
|
+
},
|
|
4049
|
+
"ganttTasks": {
|
|
4050
|
+
"description": "Array of task bars: { id, groupId, title, startDate, endDate, progress } all required (dates: ISO strings, progress: number 0-100), plus optional color (CSS string), completed (boolean), milestone (boolean), dependencies (array of task id strings).",
|
|
4051
|
+
"type": "array",
|
|
4052
|
+
"items": {
|
|
4053
|
+
"type": "object",
|
|
4054
|
+
"required": [
|
|
4055
|
+
"id",
|
|
4056
|
+
"groupId",
|
|
4057
|
+
"title",
|
|
4058
|
+
"startDate",
|
|
4059
|
+
"endDate",
|
|
4060
|
+
"progress"
|
|
4061
|
+
],
|
|
4062
|
+
"properties": {
|
|
4063
|
+
"id": {
|
|
4064
|
+
"type": "string"
|
|
4065
|
+
},
|
|
4066
|
+
"groupId": {
|
|
4067
|
+
"type": "string"
|
|
4068
|
+
},
|
|
4069
|
+
"title": {
|
|
4070
|
+
"type": "string"
|
|
4071
|
+
},
|
|
4072
|
+
"startDate": {
|
|
4073
|
+
"type": "string"
|
|
4074
|
+
},
|
|
4075
|
+
"endDate": {
|
|
4076
|
+
"type": "string"
|
|
4077
|
+
},
|
|
4078
|
+
"progress": {
|
|
4079
|
+
"type": "number"
|
|
4080
|
+
},
|
|
4081
|
+
"color": {
|
|
4082
|
+
"type": "string"
|
|
4083
|
+
},
|
|
4084
|
+
"completed": {
|
|
4085
|
+
"type": "boolean"
|
|
4086
|
+
},
|
|
4087
|
+
"milestone": {
|
|
4088
|
+
"type": "boolean"
|
|
4089
|
+
},
|
|
4090
|
+
"dependencies": {
|
|
4091
|
+
"type": "array",
|
|
4092
|
+
"items": {
|
|
4093
|
+
"type": "string"
|
|
4094
|
+
}
|
|
4095
|
+
}
|
|
4096
|
+
}
|
|
4097
|
+
}
|
|
4098
|
+
},
|
|
4099
|
+
"ganttGroups": {
|
|
4100
|
+
"description": "Array of task-row groupings: { id, title, color } (all required strings) plus optional order (number).",
|
|
4101
|
+
"type": "array",
|
|
4102
|
+
"items": {
|
|
4103
|
+
"type": "object",
|
|
4104
|
+
"required": [
|
|
4105
|
+
"id",
|
|
4106
|
+
"title",
|
|
4107
|
+
"color"
|
|
4108
|
+
],
|
|
4109
|
+
"properties": {
|
|
4110
|
+
"id": {
|
|
4111
|
+
"type": "string"
|
|
4112
|
+
},
|
|
4113
|
+
"title": {
|
|
4114
|
+
"type": "string"
|
|
4115
|
+
},
|
|
4116
|
+
"color": {
|
|
4117
|
+
"type": "string"
|
|
4118
|
+
},
|
|
4119
|
+
"order": {
|
|
4120
|
+
"type": "number"
|
|
4121
|
+
}
|
|
4122
|
+
}
|
|
4123
|
+
}
|
|
4124
|
+
},
|
|
4125
|
+
"radarSeries": {
|
|
4126
|
+
"description": "Array of data series: { label, data, color } all required — data is an array of numbers (one per axis, same length as the axes array), color is a CSS/hex color string.",
|
|
4127
|
+
"type": "array",
|
|
4128
|
+
"items": {
|
|
4129
|
+
"type": "object",
|
|
4130
|
+
"required": [
|
|
4131
|
+
"label",
|
|
4132
|
+
"data",
|
|
4133
|
+
"color"
|
|
4134
|
+
],
|
|
4135
|
+
"properties": {
|
|
4136
|
+
"label": {
|
|
4137
|
+
"type": "string"
|
|
4138
|
+
},
|
|
4139
|
+
"data": {
|
|
4140
|
+
"type": "array",
|
|
4141
|
+
"items": {
|
|
4142
|
+
"type": "number"
|
|
4143
|
+
}
|
|
4144
|
+
},
|
|
4145
|
+
"color": {
|
|
4146
|
+
"type": "string"
|
|
4147
|
+
}
|
|
4148
|
+
}
|
|
4149
|
+
}
|
|
4150
|
+
},
|
|
4151
|
+
"scatterPoints": {
|
|
4152
|
+
"description": "Array of points: { x, y } (numbers, required) plus optional size (number), label (string), category (string, for color grouping).",
|
|
4153
|
+
"type": "array",
|
|
4154
|
+
"items": {
|
|
4155
|
+
"type": "object",
|
|
4156
|
+
"required": [
|
|
4157
|
+
"x",
|
|
4158
|
+
"y"
|
|
4159
|
+
],
|
|
4160
|
+
"properties": {
|
|
4161
|
+
"x": {
|
|
4162
|
+
"type": "number"
|
|
4163
|
+
},
|
|
4164
|
+
"y": {
|
|
4165
|
+
"type": "number"
|
|
4166
|
+
},
|
|
4167
|
+
"size": {
|
|
4168
|
+
"type": "number"
|
|
4169
|
+
},
|
|
4170
|
+
"label": {
|
|
4171
|
+
"type": "string"
|
|
4172
|
+
},
|
|
4173
|
+
"category": {
|
|
4174
|
+
"type": "string"
|
|
4175
|
+
}
|
|
4176
|
+
}
|
|
4177
|
+
}
|
|
4178
|
+
},
|
|
4179
|
+
"funnelStages": {
|
|
4180
|
+
"description": "Array of funnel stages: { name, value } (required) plus optional color (CSS string).",
|
|
4181
|
+
"type": "array",
|
|
4182
|
+
"items": {
|
|
4183
|
+
"type": "object",
|
|
4184
|
+
"required": [
|
|
4185
|
+
"name",
|
|
4186
|
+
"value"
|
|
4187
|
+
],
|
|
4188
|
+
"properties": {
|
|
4189
|
+
"name": {
|
|
4190
|
+
"type": "string"
|
|
4191
|
+
},
|
|
4192
|
+
"value": {
|
|
4193
|
+
"type": "number"
|
|
4194
|
+
},
|
|
4195
|
+
"color": {
|
|
4196
|
+
"type": "string"
|
|
4197
|
+
}
|
|
4198
|
+
}
|
|
4199
|
+
}
|
|
4200
|
+
},
|
|
4201
|
+
"activityRings": {
|
|
4202
|
+
"description": "Array of rings, ordered outer to inner: { value } (number 0-100, required) plus optional label (string) and color (CSS/hex string).",
|
|
4203
|
+
"type": "array",
|
|
4204
|
+
"items": {
|
|
4205
|
+
"type": "object",
|
|
4206
|
+
"required": [
|
|
4207
|
+
"value"
|
|
4208
|
+
],
|
|
4209
|
+
"properties": {
|
|
4210
|
+
"value": {
|
|
4211
|
+
"type": "number"
|
|
4212
|
+
},
|
|
4213
|
+
"label": {
|
|
4214
|
+
"type": "string"
|
|
4215
|
+
},
|
|
4216
|
+
"color": {
|
|
4217
|
+
"type": "string"
|
|
4218
|
+
}
|
|
4219
|
+
}
|
|
4220
|
+
}
|
|
4221
|
+
},
|
|
4222
|
+
"heatmapPoints": {
|
|
4223
|
+
"description": "Array of cells: { x, y, value } all required — x/y are the axis categories (string or number), value is a number or null (renders as empty/muted).",
|
|
4224
|
+
"type": "array",
|
|
4225
|
+
"items": {
|
|
4226
|
+
"type": "object",
|
|
4227
|
+
"required": [
|
|
4228
|
+
"x",
|
|
4229
|
+
"y",
|
|
4230
|
+
"value"
|
|
4231
|
+
],
|
|
4232
|
+
"properties": {
|
|
4233
|
+
"x": {
|
|
4234
|
+
"oneOf": [
|
|
4235
|
+
{
|
|
4236
|
+
"type": "string"
|
|
4237
|
+
},
|
|
4238
|
+
{
|
|
4239
|
+
"type": "number"
|
|
4240
|
+
}
|
|
4241
|
+
]
|
|
4242
|
+
},
|
|
4243
|
+
"y": {
|
|
4244
|
+
"oneOf": [
|
|
4245
|
+
{
|
|
4246
|
+
"type": "string"
|
|
4247
|
+
},
|
|
4248
|
+
{
|
|
4249
|
+
"type": "number"
|
|
4250
|
+
}
|
|
4251
|
+
]
|
|
4252
|
+
},
|
|
4253
|
+
"value": {
|
|
4254
|
+
"oneOf": [
|
|
4255
|
+
{
|
|
4256
|
+
"type": "number"
|
|
4257
|
+
},
|
|
4258
|
+
{
|
|
4259
|
+
"type": "null"
|
|
4260
|
+
}
|
|
4261
|
+
]
|
|
4262
|
+
}
|
|
4263
|
+
}
|
|
4264
|
+
}
|
|
1957
4265
|
}
|
|
1958
4266
|
},
|
|
1959
4267
|
"examples": [
|