kumo-svelte 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +76 -0
- package/ai/USAGE.md +23 -0
- package/ai/component-registry.json +78 -0
- package/dist/command-line/cli.js +83 -0
- package/dist/command-line/cli.js.map +1 -0
- package/dist/command-line/commands/add.js +97 -0
- package/dist/command-line/commands/add.js.map +1 -0
- package/dist/command-line/commands/ai.js +11 -0
- package/dist/command-line/commands/ai.js.map +1 -0
- package/dist/command-line/commands/blocks.js +29 -0
- package/dist/command-line/commands/blocks.js.map +1 -0
- package/dist/command-line/commands/doc.js +49 -0
- package/dist/command-line/commands/doc.js.map +1 -0
- package/dist/command-line/commands/init.js +24 -0
- package/dist/command-line/commands/init.js.map +1 -0
- package/dist/command-line/commands/ls.js +21 -0
- package/dist/command-line/commands/ls.js.map +1 -0
- package/dist/command-line/commands/migrate.js +48 -0
- package/dist/command-line/commands/migrate.js.map +1 -0
- package/dist/command-line/utils/config.js +27 -0
- package/dist/command-line/utils/config.js.map +1 -0
- package/dist/command-line/utils/paths.js +30 -0
- package/dist/command-line/utils/paths.js.map +1 -0
- package/dist/command-line/utils/registry.js +13 -0
- package/dist/command-line/utils/registry.js.map +1 -0
- package/dist/command-line/utils/transformer.js +10 -0
- package/dist/command-line/utils/transformer.js.map +1 -0
- package/dist/components/autocomplete/Autocomplete.svelte +128 -0
- package/dist/components/autocomplete/Autocomplete.svelte.d.ts +26 -0
- package/dist/components/autocomplete/AutocompleteCollection.svelte +20 -0
- package/dist/components/autocomplete/AutocompleteCollection.svelte.d.ts +9 -0
- package/dist/components/autocomplete/AutocompleteContent.svelte +26 -0
- package/dist/components/autocomplete/AutocompleteContent.svelte.d.ts +9 -0
- package/dist/components/autocomplete/AutocompleteGroup.svelte +32 -0
- package/dist/components/autocomplete/AutocompleteGroup.svelte.d.ts +11 -0
- package/dist/components/autocomplete/AutocompleteGroupLabel.svelte +16 -0
- package/dist/components/autocomplete/AutocompleteGroupLabel.svelte.d.ts +9 -0
- package/dist/components/autocomplete/AutocompleteInputGroup.svelte +45 -0
- package/dist/components/autocomplete/AutocompleteInputGroup.svelte.d.ts +10 -0
- package/dist/components/autocomplete/AutocompleteItem.svelte +40 -0
- package/dist/components/autocomplete/AutocompleteItem.svelte.d.ts +12 -0
- package/dist/components/autocomplete/AutocompleteList.svelte +23 -0
- package/dist/components/autocomplete/AutocompleteList.svelte.d.ts +9 -0
- package/dist/components/autocomplete/AutocompleteSeparator.svelte +12 -0
- package/dist/components/autocomplete/AutocompleteSeparator.svelte.d.ts +7 -0
- package/dist/components/autocomplete/context.d.ts +37 -0
- package/dist/components/autocomplete/context.js +30 -0
- package/dist/components/autocomplete/index.d.ts +21 -0
- package/dist/components/autocomplete/index.js +20 -0
- package/dist/components/badge/Badge.svelte +42 -0
- package/dist/components/badge/Badge.svelte.d.ts +31 -0
- package/dist/components/badge/index.d.ts +2 -0
- package/dist/components/badge/index.js +1 -0
- package/dist/components/banner/Banner.svelte +115 -0
- package/dist/components/banner/Banner.svelte.d.ts +43 -0
- package/dist/components/banner/index.d.ts +2 -0
- package/dist/components/banner/index.js +1 -0
- package/dist/components/breadcrumbs/Breadcrumbs.svelte +107 -0
- package/dist/components/breadcrumbs/Breadcrumbs.svelte.d.ts +35 -0
- package/dist/components/breadcrumbs/BreadcrumbsClipboard.svelte +45 -0
- package/dist/components/breadcrumbs/BreadcrumbsClipboard.svelte.d.ts +7 -0
- package/dist/components/breadcrumbs/BreadcrumbsCurrent.svelte +33 -0
- package/dist/components/breadcrumbs/BreadcrumbsCurrent.svelte.d.ts +10 -0
- package/dist/components/breadcrumbs/BreadcrumbsLink.svelte +21 -0
- package/dist/components/breadcrumbs/BreadcrumbsLink.svelte.d.ts +10 -0
- package/dist/components/breadcrumbs/BreadcrumbsSeparator.svelte +11 -0
- package/dist/components/breadcrumbs/BreadcrumbsSeparator.svelte.d.ts +26 -0
- package/dist/components/breadcrumbs/index.d.ts +13 -0
- package/dist/components/breadcrumbs/index.js +13 -0
- package/dist/components/button/Button.svelte +181 -0
- package/dist/components/button/Button.svelte.d.ts +103 -0
- package/dist/components/button/LinkButton.svelte +43 -0
- package/dist/components/button/LinkButton.svelte.d.ts +16 -0
- package/dist/components/button/RefreshButton.svelte +34 -0
- package/dist/components/button/RefreshButton.svelte.d.ts +11 -0
- package/dist/components/button/index.d.ts +3 -0
- package/dist/components/button/index.js +3 -0
- package/dist/components/chart/Chart.svelte +125 -0
- package/dist/components/chart/Chart.svelte.d.ts +22 -0
- package/dist/components/chart/ChartLegend.svelte +34 -0
- package/dist/components/chart/ChartLegend.svelte.d.ts +11 -0
- package/dist/components/chart/Color.d.ts +29 -0
- package/dist/components/chart/Color.js +81 -0
- package/dist/components/chart/SankeyChart.svelte +172 -0
- package/dist/components/chart/SankeyChart.svelte.d.ts +51 -0
- package/dist/components/chart/TimeseriesChart.svelte +237 -0
- package/dist/components/chart/TimeseriesChart.svelte.d.ts +34 -0
- package/dist/components/chart/index.d.ts +7 -0
- package/dist/components/chart/index.js +5 -0
- package/dist/components/checkbox/Checkbox.svelte +107 -0
- package/dist/components/checkbox/Checkbox.svelte.d.ts +28 -0
- package/dist/components/checkbox/CheckboxGroup.svelte +54 -0
- package/dist/components/checkbox/CheckboxGroup.svelte.d.ts +17 -0
- package/dist/components/checkbox/CheckboxItem.svelte +76 -0
- package/dist/components/checkbox/CheckboxItem.svelte.d.ts +16 -0
- package/dist/components/checkbox/CheckboxLegend.svelte +15 -0
- package/dist/components/checkbox/CheckboxLegend.svelte.d.ts +8 -0
- package/dist/components/checkbox/index.d.ts +12 -0
- package/dist/components/checkbox/index.js +11 -0
- package/dist/components/clipboard-text/ClipboardText.svelte +208 -0
- package/dist/components/clipboard-text/ClipboardText.svelte.d.ts +45 -0
- package/dist/components/clipboard-text/index.d.ts +1 -0
- package/dist/components/clipboard-text/index.js +1 -0
- package/dist/components/cloudflare-logo/CloudflareLogo.svelte +186 -0
- package/dist/components/cloudflare-logo/CloudflareLogo.svelte.d.ts +47 -0
- package/dist/components/cloudflare-logo/PoweredByCloudflare.svelte +19 -0
- package/dist/components/cloudflare-logo/PoweredByCloudflare.svelte.d.ts +10 -0
- package/dist/components/cloudflare-logo/index.d.ts +3 -0
- package/dist/components/cloudflare-logo/index.js +3 -0
- package/dist/components/code/Code.svelte +106 -0
- package/dist/components/code/Code.svelte.d.ts +74 -0
- package/dist/components/code/CodeBlock.svelte +36 -0
- package/dist/components/code/CodeBlock.svelte.d.ts +27 -0
- package/dist/components/code/CodeHighlighted.svelte +113 -0
- package/dist/components/code/CodeHighlighted.svelte.d.ts +23 -0
- package/dist/components/code/index.d.ts +6 -0
- package/dist/components/code/index.js +6 -0
- package/dist/components/code-highlighted/index.d.ts +1 -0
- package/dist/components/code-highlighted/index.js +1 -0
- package/dist/components/collapsible/Collapsible.svelte +41 -0
- package/dist/components/collapsible/Collapsible.svelte.d.ts +15 -0
- package/dist/components/collapsible/CollapsibleDefaultPanel.svelte +33 -0
- package/dist/components/collapsible/CollapsibleDefaultPanel.svelte.d.ts +12 -0
- package/dist/components/collapsible/CollapsibleDefaultTrigger.svelte +27 -0
- package/dist/components/collapsible/CollapsibleDefaultTrigger.svelte.d.ts +10 -0
- package/dist/components/collapsible/CollapsiblePanel.svelte +33 -0
- package/dist/components/collapsible/CollapsiblePanel.svelte.d.ts +12 -0
- package/dist/components/collapsible/CollapsibleRoot.svelte +34 -0
- package/dist/components/collapsible/CollapsibleRoot.svelte.d.ts +13 -0
- package/dist/components/collapsible/CollapsibleTrigger.svelte +30 -0
- package/dist/components/collapsible/CollapsibleTrigger.svelte.d.ts +11 -0
- package/dist/components/collapsible/index.d.ts +14 -0
- package/dist/components/collapsible/index.js +14 -0
- package/dist/components/combobox/Combobox.svelte +197 -0
- package/dist/components/combobox/Combobox.svelte.d.ts +31 -0
- package/dist/components/combobox/ComboboxChip.svelte +35 -0
- package/dist/components/combobox/ComboboxChip.svelte.d.ts +11 -0
- package/dist/components/combobox/ComboboxCollection.svelte +20 -0
- package/dist/components/combobox/ComboboxCollection.svelte.d.ts +9 -0
- package/dist/components/combobox/ComboboxContent.svelte +26 -0
- package/dist/components/combobox/ComboboxContent.svelte.d.ts +9 -0
- package/dist/components/combobox/ComboboxEmpty.svelte +27 -0
- package/dist/components/combobox/ComboboxEmpty.svelte.d.ts +9 -0
- package/dist/components/combobox/ComboboxGroup.svelte +25 -0
- package/dist/components/combobox/ComboboxGroup.svelte.d.ts +11 -0
- package/dist/components/combobox/ComboboxGroupLabel.svelte +16 -0
- package/dist/components/combobox/ComboboxGroupLabel.svelte.d.ts +9 -0
- package/dist/components/combobox/ComboboxIcon.svelte +14 -0
- package/dist/components/combobox/ComboboxIcon.svelte.d.ts +8 -0
- package/dist/components/combobox/ComboboxInput.svelte +25 -0
- package/dist/components/combobox/ComboboxInput.svelte.d.ts +8 -0
- package/dist/components/combobox/ComboboxItem.svelte +40 -0
- package/dist/components/combobox/ComboboxItem.svelte.d.ts +12 -0
- package/dist/components/combobox/ComboboxList.svelte +25 -0
- package/dist/components/combobox/ComboboxList.svelte.d.ts +9 -0
- package/dist/components/combobox/ComboboxTrigger.svelte +24 -0
- package/dist/components/combobox/ComboboxTrigger.svelte.d.ts +9 -0
- package/dist/components/combobox/ComboboxTriggerInput.svelte +106 -0
- package/dist/components/combobox/ComboboxTriggerInput.svelte.d.ts +12 -0
- package/dist/components/combobox/ComboboxTriggerMultipleWithInput.svelte +76 -0
- package/dist/components/combobox/ComboboxTriggerMultipleWithInput.svelte.d.ts +13 -0
- package/dist/components/combobox/ComboboxTriggerValue.svelte +51 -0
- package/dist/components/combobox/ComboboxTriggerValue.svelte.d.ts +10 -0
- package/dist/components/combobox/ComboboxValue.svelte +20 -0
- package/dist/components/combobox/ComboboxValue.svelte.d.ts +8 -0
- package/dist/components/combobox/context.d.ts +45 -0
- package/dist/components/combobox/context.js +47 -0
- package/dist/components/combobox/index.d.ts +35 -0
- package/dist/components/combobox/index.js +34 -0
- package/dist/components/command-palette/CommandPalette.svelte +171 -0
- package/dist/components/command-palette/CommandPalette.svelte.d.ts +35 -0
- package/dist/components/command-palette/CommandPaletteDialog.svelte +38 -0
- package/dist/components/command-palette/CommandPaletteDialog.svelte.d.ts +12 -0
- package/dist/components/command-palette/CommandPaletteEmpty.svelte +18 -0
- package/dist/components/command-palette/CommandPaletteEmpty.svelte.d.ts +10 -0
- package/dist/components/command-palette/CommandPaletteFooter.svelte +16 -0
- package/dist/components/command-palette/CommandPaletteFooter.svelte.d.ts +9 -0
- package/dist/components/command-palette/CommandPaletteGroup.svelte +19 -0
- package/dist/components/command-palette/CommandPaletteGroup.svelte.d.ts +11 -0
- package/dist/components/command-palette/CommandPaletteGroupLabel.svelte +17 -0
- package/dist/components/command-palette/CommandPaletteGroupLabel.svelte.d.ts +9 -0
- package/dist/components/command-palette/CommandPaletteHighlightedText.svelte +52 -0
- package/dist/components/command-palette/CommandPaletteHighlightedText.svelte.d.ts +10 -0
- package/dist/components/command-palette/CommandPaletteInput.svelte +23 -0
- package/dist/components/command-palette/CommandPaletteInput.svelte.d.ts +9 -0
- package/dist/components/command-palette/CommandPaletteItem.svelte +33 -0
- package/dist/components/command-palette/CommandPaletteItem.svelte.d.ts +14 -0
- package/dist/components/command-palette/CommandPaletteItems.svelte +15 -0
- package/dist/components/command-palette/CommandPaletteItems.svelte.d.ts +8 -0
- package/dist/components/command-palette/CommandPaletteList.svelte +17 -0
- package/dist/components/command-palette/CommandPaletteList.svelte.d.ts +9 -0
- package/dist/components/command-palette/CommandPaletteLoading.svelte +18 -0
- package/dist/components/command-palette/CommandPaletteLoading.svelte.d.ts +10 -0
- package/dist/components/command-palette/CommandPalettePanel.svelte +16 -0
- package/dist/components/command-palette/CommandPalettePanel.svelte.d.ts +9 -0
- package/dist/components/command-palette/CommandPaletteResultItem.svelte +86 -0
- package/dist/components/command-palette/CommandPaletteResultItem.svelte.d.ts +20 -0
- package/dist/components/command-palette/index.d.ts +52 -0
- package/dist/components/command-palette/index.js +51 -0
- package/dist/components/date-picker/DatePicker.svelte +321 -0
- package/dist/components/date-picker/DatePicker.svelte.d.ts +29 -0
- package/dist/components/date-picker/index.d.ts +2 -0
- package/dist/components/date-picker/index.js +1 -0
- package/dist/components/date-range-picker/DateRangePicker.svelte +173 -0
- package/dist/components/date-range-picker/DateRangePicker.svelte.d.ts +27 -0
- package/dist/components/date-range-picker/index.d.ts +1 -0
- package/dist/components/date-range-picker/index.js +1 -0
- package/dist/components/dialog/Dialog.svelte +184 -0
- package/dist/components/dialog/Dialog.svelte.d.ts +122 -0
- package/dist/components/dialog/index.d.ts +1 -0
- package/dist/components/dialog/index.js +1 -0
- package/dist/components/dropdown-menu/DropdownMenu.svelte +17 -0
- package/dist/components/dropdown-menu/DropdownMenu.svelte.d.ts +10 -0
- package/dist/components/dropdown-menu/DropdownMenuCheckboxItem.svelte +33 -0
- package/dist/components/dropdown-menu/DropdownMenuCheckboxItem.svelte.d.ts +11 -0
- package/dist/components/dropdown-menu/DropdownMenuContent.svelte +39 -0
- package/dist/components/dropdown-menu/DropdownMenuContent.svelte.d.ts +12 -0
- package/dist/components/dropdown-menu/DropdownMenuItem.svelte +86 -0
- package/dist/components/dropdown-menu/DropdownMenuItem.svelte.d.ts +33 -0
- package/dist/components/dropdown-menu/DropdownMenuLabel.svelte +18 -0
- package/dist/components/dropdown-menu/DropdownMenuLabel.svelte.d.ts +10 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioItem.svelte +30 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioItem.svelte.d.ts +12 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioItemIndicator.svelte +21 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioItemIndicator.svelte.d.ts +9 -0
- package/dist/components/dropdown-menu/DropdownMenuSeparator.svelte +13 -0
- package/dist/components/dropdown-menu/DropdownMenuSeparator.svelte.d.ts +7 -0
- package/dist/components/dropdown-menu/DropdownMenuShortcut.svelte +16 -0
- package/dist/components/dropdown-menu/DropdownMenuShortcut.svelte.d.ts +9 -0
- package/dist/components/dropdown-menu/DropdownMenuSubContent.svelte +37 -0
- package/dist/components/dropdown-menu/DropdownMenuSubContent.svelte.d.ts +12 -0
- package/dist/components/dropdown-menu/DropdownMenuSubTrigger.svelte +32 -0
- package/dist/components/dropdown-menu/DropdownMenuSubTrigger.svelte.d.ts +11 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger.svelte +27 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger.svelte.d.ts +13 -0
- package/dist/components/dropdown-menu/index.d.ts +34 -0
- package/dist/components/dropdown-menu/index.js +34 -0
- package/dist/components/empty/Empty.svelte +130 -0
- package/dist/components/empty/Empty.svelte.d.ts +38 -0
- package/dist/components/empty/index.d.ts +2 -0
- package/dist/components/empty/index.js +1 -0
- package/dist/components/field/Field.svelte +99 -0
- package/dist/components/field/Field.svelte.d.ts +33 -0
- package/dist/components/field/index.d.ts +2 -0
- package/dist/components/field/index.js +1 -0
- package/dist/components/flow/Connectors.svelte +64 -0
- package/dist/components/flow/Connectors.svelte.d.ts +8 -0
- package/dist/components/flow/Flow.svelte +63 -0
- package/dist/components/flow/Flow.svelte.d.ts +17 -0
- package/dist/components/flow/FlowAnchor.svelte +42 -0
- package/dist/components/flow/FlowAnchor.svelte.d.ts +9 -0
- package/dist/components/flow/FlowList.svelte +138 -0
- package/dist/components/flow/FlowList.svelte.d.ts +9 -0
- package/dist/components/flow/FlowNode.svelte +149 -0
- package/dist/components/flow/FlowNode.svelte.d.ts +12 -0
- package/dist/components/flow/FlowParallel.svelte +373 -0
- package/dist/components/flow/FlowParallel.svelte.d.ts +10 -0
- package/dist/components/flow/connectors.d.ts +26 -0
- package/dist/components/flow/connectors.js +54 -0
- package/dist/components/flow/context.d.ts +48 -0
- package/dist/components/flow/context.js +86 -0
- package/dist/components/flow/index.d.ts +17 -0
- package/dist/components/flow/index.js +16 -0
- package/dist/components/grid/Grid.svelte +129 -0
- package/dist/components/grid/Grid.svelte.d.ts +82 -0
- package/dist/components/grid/GridItem.svelte +35 -0
- package/dist/components/grid/GridItem.svelte.d.ts +9 -0
- package/dist/components/grid/index.d.ts +9 -0
- package/dist/components/grid/index.js +9 -0
- package/dist/components/input/Input.svelte +129 -0
- package/dist/components/input/Input.svelte.d.ts +28 -0
- package/dist/components/input/Textarea.svelte +122 -0
- package/dist/components/input/Textarea.svelte.d.ts +27 -0
- package/dist/components/input/index.d.ts +2 -0
- package/dist/components/input/index.js +2 -0
- package/dist/components/input-area/InputArea.svelte +122 -0
- package/dist/components/input-area/InputArea.svelte.d.ts +27 -0
- package/dist/components/input-area/index.d.ts +1 -0
- package/dist/components/input-area/index.js +1 -0
- package/dist/components/input-group/InputGroup.svelte +144 -0
- package/dist/components/input-group/InputGroup.svelte.d.ts +19 -0
- package/dist/components/input-group/InputGroupAddon.svelte +35 -0
- package/dist/components/input-group/InputGroupAddon.svelte.d.ts +10 -0
- package/dist/components/input-group/InputGroupButton.svelte +76 -0
- package/dist/components/input-group/InputGroupButton.svelte.d.ts +19 -0
- package/dist/components/input-group/InputGroupInput.svelte +65 -0
- package/dist/components/input-group/InputGroupInput.svelte.d.ts +12 -0
- package/dist/components/input-group/InputGroupSuffix.svelte +28 -0
- package/dist/components/input-group/InputGroupSuffix.svelte.d.ts +8 -0
- package/dist/components/input-group/context.d.ts +31 -0
- package/dist/components/input-group/context.js +75 -0
- package/dist/components/input-group/index.d.ts +14 -0
- package/dist/components/input-group/index.js +13 -0
- package/dist/components/label/Label.svelte +75 -0
- package/dist/components/label/Label.svelte.d.ts +21 -0
- package/dist/components/label/index.d.ts +1 -0
- package/dist/components/label/index.js +1 -0
- package/dist/components/layer-card/LayerCard.svelte +39 -0
- package/dist/components/layer-card/LayerCard.svelte.d.ts +10 -0
- package/dist/components/layer-card/LayerCardPrimary.svelte +31 -0
- package/dist/components/layer-card/LayerCardPrimary.svelte.d.ts +9 -0
- package/dist/components/layer-card/LayerCardSecondary.svelte +31 -0
- package/dist/components/layer-card/LayerCardSecondary.svelte.d.ts +9 -0
- package/dist/components/layer-card/index.d.ts +9 -0
- package/dist/components/layer-card/index.js +9 -0
- package/dist/components/link/Link.svelte +73 -0
- package/dist/components/link/Link.svelte.d.ts +35 -0
- package/dist/components/link/LinkExternalIcon.svelte +26 -0
- package/dist/components/link/LinkExternalIcon.svelte.d.ts +7 -0
- package/dist/components/link/index.d.ts +4 -0
- package/dist/components/link/index.js +3 -0
- package/dist/components/loader/Loader.svelte +91 -0
- package/dist/components/loader/Loader.svelte.d.ts +34 -0
- package/dist/components/loader/SkeletonLine.svelte +92 -0
- package/dist/components/loader/SkeletonLine.svelte.d.ts +14 -0
- package/dist/components/loader/index.d.ts +2 -0
- package/dist/components/loader/index.js +2 -0
- package/dist/components/logo/KumoLogo.svelte +16 -0
- package/dist/components/logo/KumoLogo.svelte.d.ts +9 -0
- package/dist/components/logo/index.d.ts +2 -0
- package/dist/components/logo/index.js +2 -0
- package/dist/components/menu-bar/MenuBar.svelte +137 -0
- package/dist/components/menu-bar/MenuBar.svelte.d.ts +25 -0
- package/dist/components/menu-bar/index.d.ts +1 -0
- package/dist/components/menu-bar/index.js +1 -0
- package/dist/components/meter/Meter.svelte +78 -0
- package/dist/components/meter/Meter.svelte.d.ts +21 -0
- package/dist/components/meter/index.d.ts +2 -0
- package/dist/components/meter/index.js +1 -0
- package/dist/components/pagination/Pagination.svelte +130 -0
- package/dist/components/pagination/Pagination.svelte.d.ts +44 -0
- package/dist/components/pagination/PaginationControls.svelte +108 -0
- package/dist/components/pagination/PaginationControls.svelte.d.ts +11 -0
- package/dist/components/pagination/PaginationInfo.svelte +39 -0
- package/dist/components/pagination/PaginationInfo.svelte.d.ts +16 -0
- package/dist/components/pagination/PaginationPageSize.svelte +56 -0
- package/dist/components/pagination/PaginationPageSize.svelte.d.ts +12 -0
- package/dist/components/pagination/PaginationSeparator.svelte +12 -0
- package/dist/components/pagination/PaginationSeparator.svelte.d.ts +7 -0
- package/dist/components/pagination/context.d.ts +24 -0
- package/dist/components/pagination/context.js +22 -0
- package/dist/components/pagination/index.d.ts +14 -0
- package/dist/components/pagination/index.js +13 -0
- package/dist/components/popover/Popover.svelte +59 -0
- package/dist/components/popover/Popover.svelte.d.ts +19 -0
- package/dist/components/popover/PopoverClose.svelte +23 -0
- package/dist/components/popover/PopoverClose.svelte.d.ts +13 -0
- package/dist/components/popover/PopoverContent.svelte +87 -0
- package/dist/components/popover/PopoverContent.svelte.d.ts +20 -0
- package/dist/components/popover/PopoverDescription.svelte +16 -0
- package/dist/components/popover/PopoverDescription.svelte.d.ts +9 -0
- package/dist/components/popover/PopoverRoot.svelte +22 -0
- package/dist/components/popover/PopoverRoot.svelte.d.ts +10 -0
- package/dist/components/popover/PopoverTitle.svelte +16 -0
- package/dist/components/popover/PopoverTitle.svelte.d.ts +9 -0
- package/dist/components/popover/PopoverTrigger.svelte +42 -0
- package/dist/components/popover/PopoverTrigger.svelte.d.ts +16 -0
- package/dist/components/popover/index.d.ts +16 -0
- package/dist/components/popover/index.js +16 -0
- package/dist/components/radio/Radio.svelte +86 -0
- package/dist/components/radio/Radio.svelte.d.ts +31 -0
- package/dist/components/radio/RadioGroup.svelte +85 -0
- package/dist/components/radio/RadioGroup.svelte.d.ts +21 -0
- package/dist/components/radio/RadioItem.svelte +118 -0
- package/dist/components/radio/RadioItem.svelte.d.ts +15 -0
- package/dist/components/radio/RadioLegend.svelte +15 -0
- package/dist/components/radio/RadioLegend.svelte.d.ts +8 -0
- package/dist/components/radio/index.d.ts +11 -0
- package/dist/components/radio/index.js +10 -0
- package/dist/components/select/Select.svelte +230 -0
- package/dist/components/select/Select.svelte.d.ts +40 -0
- package/dist/components/select/index.d.ts +1 -0
- package/dist/components/select/index.js +1 -0
- package/dist/components/sensitive-input/SensitiveInput.svelte +349 -0
- package/dist/components/sensitive-input/SensitiveInput.svelte.d.ts +53 -0
- package/dist/components/sensitive-input/index.d.ts +2 -0
- package/dist/components/sensitive-input/index.js +2 -0
- package/dist/components/sidebar/Sidebar.svelte +14 -0
- package/dist/components/sidebar/Sidebar.svelte.d.ts +15 -0
- package/dist/components/sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/index.js +1 -0
- package/dist/components/surface/Surface.svelte +27 -0
- package/dist/components/surface/Surface.svelte.d.ts +12 -0
- package/dist/components/surface/index.d.ts +1 -0
- package/dist/components/surface/index.js +1 -0
- package/dist/components/switch/Switch.svelte +139 -0
- package/dist/components/switch/Switch.svelte.d.ts +32 -0
- package/dist/components/switch/SwitchGroup.svelte +33 -0
- package/dist/components/switch/SwitchGroup.svelte.d.ts +13 -0
- package/dist/components/switch/SwitchItem.svelte +80 -0
- package/dist/components/switch/SwitchItem.svelte.d.ts +15 -0
- package/dist/components/switch/SwitchLegend.svelte +15 -0
- package/dist/components/switch/SwitchLegend.svelte.d.ts +8 -0
- package/dist/components/switch/index.d.ts +12 -0
- package/dist/components/switch/index.js +11 -0
- package/dist/components/table/Table.svelte +98 -0
- package/dist/components/table/Table.svelte.d.ts +50 -0
- package/dist/components/table/TableBody.svelte +14 -0
- package/dist/components/table/TableBody.svelte.d.ts +8 -0
- package/dist/components/table/TableCell.svelte +18 -0
- package/dist/components/table/TableCell.svelte.d.ts +11 -0
- package/dist/components/table/TableCheckCell.svelte +43 -0
- package/dist/components/table/TableCheckCell.svelte.d.ts +13 -0
- package/dist/components/table/TableCheckHead.svelte +43 -0
- package/dist/components/table/TableCheckHead.svelte.d.ts +13 -0
- package/dist/components/table/TableFooter.svelte +14 -0
- package/dist/components/table/TableFooter.svelte.d.ts +8 -0
- package/dist/components/table/TableHead.svelte +18 -0
- package/dist/components/table/TableHead.svelte.d.ts +11 -0
- package/dist/components/table/TableHeader.svelte +28 -0
- package/dist/components/table/TableHeader.svelte.d.ts +11 -0
- package/dist/components/table/TableResizeHandle.svelte +16 -0
- package/dist/components/table/TableResizeHandle.svelte.d.ts +6 -0
- package/dist/components/table/TableRow.svelte +22 -0
- package/dist/components/table/TableRow.svelte.d.ts +11 -0
- package/dist/components/table/index.d.ts +25 -0
- package/dist/components/table/index.js +24 -0
- package/dist/components/table-of-contents/TableOfContents.svelte +27 -0
- package/dist/components/table-of-contents/TableOfContents.svelte.d.ts +16 -0
- package/dist/components/table-of-contents/TableOfContentsGroup.svelte +40 -0
- package/dist/components/table-of-contents/TableOfContentsGroup.svelte.d.ts +12 -0
- package/dist/components/table-of-contents/TableOfContentsItem.svelte +48 -0
- package/dist/components/table-of-contents/TableOfContentsItem.svelte.d.ts +12 -0
- package/dist/components/table-of-contents/TableOfContentsList.svelte +16 -0
- package/dist/components/table-of-contents/TableOfContentsList.svelte.d.ts +9 -0
- package/dist/components/table-of-contents/TableOfContentsTitle.svelte +16 -0
- package/dist/components/table-of-contents/TableOfContentsTitle.svelte.d.ts +9 -0
- package/dist/components/table-of-contents/index.d.ts +12 -0
- package/dist/components/table-of-contents/index.js +12 -0
- package/dist/components/tabs/Tabs.svelte +311 -0
- package/dist/components/tabs/Tabs.svelte.d.ts +63 -0
- package/dist/components/tabs/index.d.ts +3 -0
- package/dist/components/tabs/index.js +2 -0
- package/dist/components/text/Text.svelte +218 -0
- package/dist/components/text/Text.svelte.d.ts +128 -0
- package/dist/components/text/index.d.ts +1 -0
- package/dist/components/text/index.js +1 -0
- package/dist/components/toasty/KumoToastContent.svelte +70 -0
- package/dist/components/toasty/KumoToastContent.svelte.d.ts +8 -0
- package/dist/components/toasty/Toasty.svelte +97 -0
- package/dist/components/toasty/Toasty.svelte.d.ts +43 -0
- package/dist/components/toasty/index.d.ts +2 -0
- package/dist/components/toasty/index.js +2 -0
- package/dist/components/toasty/manager.svelte.d.ts +38 -0
- package/dist/components/toasty/manager.svelte.js +91 -0
- package/dist/components/tooltip/Tooltip.svelte +155 -0
- package/dist/components/tooltip/Tooltip.svelte.d.ts +41 -0
- package/dist/components/tooltip/index.d.ts +3 -0
- package/dist/components/tooltip/index.js +3 -0
- package/dist/docs/BaseUIIcon.svelte +24 -0
- package/dist/docs/BaseUIIcon.svelte.d.ts +7 -0
- package/dist/docs/Callout.svelte +22 -0
- package/dist/docs/Callout.svelte.d.ts +8 -0
- package/dist/docs/ChartCard.svelte +34 -0
- package/dist/docs/ChartCard.svelte.d.ts +10 -0
- package/dist/docs/ClaudeIcon.svelte +22 -0
- package/dist/docs/ClaudeIcon.svelte.d.ts +6 -0
- package/dist/docs/CodeBlock.svelte +78 -0
- package/dist/docs/CodeBlock.svelte.d.ts +7 -0
- package/dist/docs/ComponentExample.svelte +45 -0
- package/dist/docs/ComponentExample.svelte.d.ts +12 -0
- package/dist/docs/ComponentSection.svelte +13 -0
- package/dist/docs/ComponentSection.svelte.d.ts +7 -0
- package/dist/docs/CopyPageButton.svelte +114 -0
- package/dist/docs/CopyPageButton.svelte.d.ts +6 -0
- package/dist/docs/DemoRenderer.svelte +1946 -0
- package/dist/docs/DemoRenderer.svelte.d.ts +6 -0
- package/dist/docs/GitHubIcon.svelte +20 -0
- package/dist/docs/GitHubIcon.svelte.d.ts +6 -0
- package/dist/docs/Header.svelte +21 -0
- package/dist/docs/Header.svelte.d.ts +18 -0
- package/dist/docs/KumoMenuIcon.svelte +48 -0
- package/dist/docs/KumoMenuIcon.svelte.d.ts +6 -0
- package/dist/docs/MdxPage.svelte +195 -0
- package/dist/docs/MdxPage.svelte.d.ts +9 -0
- package/dist/docs/PropsTable.svelte +5180 -0
- package/dist/docs/PropsTable.svelte.d.ts +7 -0
- package/dist/docs/SearchDialog.svelte +398 -0
- package/dist/docs/SearchDialog.svelte.d.ts +7 -0
- package/dist/docs/SidebarNav.svelte +254 -0
- package/dist/docs/SidebarNav.svelte.d.ts +3 -0
- package/dist/docs/StickyDocHeader.svelte +158 -0
- package/dist/docs/StickyDocHeader.svelte.d.ts +8 -0
- package/dist/docs/TableOfContents.svelte +237 -0
- package/dist/docs/TableOfContents.svelte.d.ts +12 -0
- package/dist/docs/ThemeToggle.svelte +38 -0
- package/dist/docs/ThemeToggle.svelte.d.ts +3 -0
- package/dist/docs/chart-demos/ChartDemos.svelte +629 -0
- package/dist/docs/chart-demos/ChartDemos.svelte.d.ts +6 -0
- package/dist/docs/nav.d.ts +10 -0
- package/dist/docs/nav.js +77 -0
- package/dist/docs/svelteDemoSnippets.d.ts +1 -0
- package/dist/docs/svelteDemoSnippets.js +2299 -0
- package/dist/index.d.ts +65 -0
- package/dist/index.js +47 -0
- package/dist/primitives.d.ts +1 -0
- package/dist/primitives.js +1 -0
- package/dist/styles.css +1350 -0
- package/dist/utils/cn.d.ts +2 -0
- package/dist/utils/cn.js +5 -0
- package/dist/utils/variants.d.ts +8 -0
- package/dist/utils/variants.js +9 -0
- package/package.json +90 -0
- package/src/app.d.ts +1 -0
- package/src/app.html +12 -0
- package/src/blocks/delete-resource/delete-resource.svelte +180 -0
- package/src/blocks/delete-resource/delete-resource.svelte.d.ts +33 -0
- package/src/blocks/delete-resource/index.d.ts +1 -0
- package/src/blocks/delete-resource/index.ts +1 -0
- package/src/blocks/page-header/index.d.ts +1 -0
- package/src/blocks/page-header/index.ts +1 -0
- package/src/blocks/page-header/page-header.svelte +71 -0
- package/src/blocks/page-header/page-header.svelte.d.ts +20 -0
- package/src/blocks/resource-list/index.ts +1 -0
- package/src/blocks/resource-list/resource-list.svelte +56 -0
- package/src/command-line/cli.ts +86 -0
- package/src/command-line/commands/add.ts +112 -0
- package/src/command-line/commands/ai.ts +12 -0
- package/src/command-line/commands/blocks.ts +34 -0
- package/src/command-line/commands/doc.ts +60 -0
- package/src/command-line/commands/init.ts +26 -0
- package/src/command-line/commands/ls.ts +24 -0
- package/src/command-line/commands/migrate.ts +59 -0
- package/src/command-line/utils/config.ts +34 -0
- package/src/command-line/utils/paths.ts +33 -0
- package/src/command-line/utils/registry.ts +48 -0
- package/src/command-line/utils/transformer.ts +16 -0
- package/src/lib/components/autocomplete/Autocomplete.svelte +128 -0
- package/src/lib/components/autocomplete/AutocompleteCollection.svelte +20 -0
- package/src/lib/components/autocomplete/AutocompleteContent.svelte +26 -0
- package/src/lib/components/autocomplete/AutocompleteGroup.svelte +32 -0
- package/src/lib/components/autocomplete/AutocompleteGroupLabel.svelte +16 -0
- package/src/lib/components/autocomplete/AutocompleteInputGroup.svelte +45 -0
- package/src/lib/components/autocomplete/AutocompleteItem.svelte +40 -0
- package/src/lib/components/autocomplete/AutocompleteList.svelte +23 -0
- package/src/lib/components/autocomplete/AutocompleteSeparator.svelte +12 -0
- package/src/lib/components/autocomplete/context.ts +74 -0
- package/src/lib/components/autocomplete/index.ts +34 -0
- package/src/lib/components/badge/Badge.svelte +42 -0
- package/src/lib/components/badge/index.ts +2 -0
- package/src/lib/components/banner/Banner.svelte +115 -0
- package/src/lib/components/banner/index.ts +8 -0
- package/src/lib/components/breadcrumbs/Breadcrumbs.svelte +107 -0
- package/src/lib/components/breadcrumbs/BreadcrumbsClipboard.svelte +45 -0
- package/src/lib/components/breadcrumbs/BreadcrumbsCurrent.svelte +33 -0
- package/src/lib/components/breadcrumbs/BreadcrumbsLink.svelte +21 -0
- package/src/lib/components/breadcrumbs/BreadcrumbsSeparator.svelte +11 -0
- package/src/lib/components/breadcrumbs/index.ts +34 -0
- package/src/lib/components/button/Button.svelte +181 -0
- package/src/lib/components/button/LinkButton.svelte +43 -0
- package/src/lib/components/button/RefreshButton.svelte +34 -0
- package/src/lib/components/button/index.ts +3 -0
- package/src/lib/components/chart/Chart.svelte +125 -0
- package/src/lib/components/chart/ChartLegend.svelte +34 -0
- package/src/lib/components/chart/Color.ts +85 -0
- package/src/lib/components/chart/SankeyChart.svelte +172 -0
- package/src/lib/components/chart/TimeseriesChart.svelte +237 -0
- package/src/lib/components/chart/index.ts +7 -0
- package/src/lib/components/checkbox/Checkbox.svelte +107 -0
- package/src/lib/components/checkbox/CheckboxGroup.svelte +54 -0
- package/src/lib/components/checkbox/CheckboxItem.svelte +76 -0
- package/src/lib/components/checkbox/CheckboxLegend.svelte +15 -0
- package/src/lib/components/checkbox/index.ts +19 -0
- package/src/lib/components/clipboard-text/ClipboardText.svelte +208 -0
- package/src/lib/components/clipboard-text/index.ts +1 -0
- package/src/lib/components/cloudflare-logo/CloudflareLogo.svelte +186 -0
- package/src/lib/components/cloudflare-logo/PoweredByCloudflare.svelte +19 -0
- package/src/lib/components/cloudflare-logo/index.ts +12 -0
- package/src/lib/components/code/Code.svelte +106 -0
- package/src/lib/components/code/CodeBlock.svelte +36 -0
- package/src/lib/components/code/CodeHighlighted.svelte +113 -0
- package/src/lib/components/code/index.ts +18 -0
- package/src/lib/components/code-highlighted/index.ts +1 -0
- package/src/lib/components/collapsible/Collapsible.svelte +41 -0
- package/src/lib/components/collapsible/CollapsibleDefaultPanel.svelte +33 -0
- package/src/lib/components/collapsible/CollapsibleDefaultTrigger.svelte +27 -0
- package/src/lib/components/collapsible/CollapsiblePanel.svelte +33 -0
- package/src/lib/components/collapsible/CollapsibleRoot.svelte +34 -0
- package/src/lib/components/collapsible/CollapsibleTrigger.svelte +30 -0
- package/src/lib/components/collapsible/index.ts +29 -0
- package/src/lib/components/combobox/Combobox.svelte +197 -0
- package/src/lib/components/combobox/ComboboxChip.svelte +35 -0
- package/src/lib/components/combobox/ComboboxCollection.svelte +20 -0
- package/src/lib/components/combobox/ComboboxContent.svelte +26 -0
- package/src/lib/components/combobox/ComboboxEmpty.svelte +27 -0
- package/src/lib/components/combobox/ComboboxGroup.svelte +25 -0
- package/src/lib/components/combobox/ComboboxGroupLabel.svelte +16 -0
- package/src/lib/components/combobox/ComboboxIcon.svelte +14 -0
- package/src/lib/components/combobox/ComboboxInput.svelte +25 -0
- package/src/lib/components/combobox/ComboboxItem.svelte +40 -0
- package/src/lib/components/combobox/ComboboxList.svelte +25 -0
- package/src/lib/components/combobox/ComboboxTrigger.svelte +24 -0
- package/src/lib/components/combobox/ComboboxTriggerInput.svelte +106 -0
- package/src/lib/components/combobox/ComboboxTriggerMultipleWithInput.svelte +76 -0
- package/src/lib/components/combobox/ComboboxTriggerValue.svelte +51 -0
- package/src/lib/components/combobox/ComboboxValue.svelte +20 -0
- package/src/lib/components/combobox/context.ts +97 -0
- package/src/lib/components/combobox/index.ts +55 -0
- package/src/lib/components/command-palette/CommandPalette.svelte +171 -0
- package/src/lib/components/command-palette/CommandPaletteDialog.svelte +38 -0
- package/src/lib/components/command-palette/CommandPaletteEmpty.svelte +18 -0
- package/src/lib/components/command-palette/CommandPaletteFooter.svelte +16 -0
- package/src/lib/components/command-palette/CommandPaletteGroup.svelte +19 -0
- package/src/lib/components/command-palette/CommandPaletteGroupLabel.svelte +17 -0
- package/src/lib/components/command-palette/CommandPaletteHighlightedText.svelte +52 -0
- package/src/lib/components/command-palette/CommandPaletteInput.svelte +23 -0
- package/src/lib/components/command-palette/CommandPaletteItem.svelte +33 -0
- package/src/lib/components/command-palette/CommandPaletteItems.svelte +15 -0
- package/src/lib/components/command-palette/CommandPaletteList.svelte +17 -0
- package/src/lib/components/command-palette/CommandPaletteLoading.svelte +18 -0
- package/src/lib/components/command-palette/CommandPalettePanel.svelte +16 -0
- package/src/lib/components/command-palette/CommandPaletteResultItem.svelte +86 -0
- package/src/lib/components/command-palette/index.ts +75 -0
- package/src/lib/components/date-picker/DatePicker.svelte +321 -0
- package/src/lib/components/date-picker/index.ts +2 -0
- package/src/lib/components/date-range-picker/DateRangePicker.svelte +173 -0
- package/src/lib/components/date-range-picker/index.ts +1 -0
- package/src/lib/components/dialog/Dialog.svelte +184 -0
- package/src/lib/components/dialog/index.ts +1 -0
- package/src/lib/components/dropdown-menu/DropdownMenu.svelte +17 -0
- package/src/lib/components/dropdown-menu/DropdownMenuCheckboxItem.svelte +33 -0
- package/src/lib/components/dropdown-menu/DropdownMenuContent.svelte +39 -0
- package/src/lib/components/dropdown-menu/DropdownMenuItem.svelte +86 -0
- package/src/lib/components/dropdown-menu/DropdownMenuLabel.svelte +18 -0
- package/src/lib/components/dropdown-menu/DropdownMenuRadioItem.svelte +30 -0
- package/src/lib/components/dropdown-menu/DropdownMenuRadioItemIndicator.svelte +21 -0
- package/src/lib/components/dropdown-menu/DropdownMenuSeparator.svelte +13 -0
- package/src/lib/components/dropdown-menu/DropdownMenuShortcut.svelte +16 -0
- package/src/lib/components/dropdown-menu/DropdownMenuSubContent.svelte +37 -0
- package/src/lib/components/dropdown-menu/DropdownMenuSubTrigger.svelte +32 -0
- package/src/lib/components/dropdown-menu/DropdownMenuTrigger.svelte +27 -0
- package/src/lib/components/dropdown-menu/index.ts +59 -0
- package/src/lib/components/empty/Empty.svelte +130 -0
- package/src/lib/components/empty/index.ts +7 -0
- package/src/lib/components/field/Field.svelte +99 -0
- package/src/lib/components/field/index.ts +2 -0
- package/src/lib/components/flow/Connectors.svelte +64 -0
- package/src/lib/components/flow/Flow.svelte +63 -0
- package/src/lib/components/flow/FlowAnchor.svelte +42 -0
- package/src/lib/components/flow/FlowList.svelte +138 -0
- package/src/lib/components/flow/FlowNode.svelte +149 -0
- package/src/lib/components/flow/FlowParallel.svelte +373 -0
- package/src/lib/components/flow/connectors.ts +105 -0
- package/src/lib/components/flow/context.ts +145 -0
- package/src/lib/components/flow/index.ts +25 -0
- package/src/lib/components/grid/Grid.svelte +129 -0
- package/src/lib/components/grid/GridItem.svelte +35 -0
- package/src/lib/components/grid/index.ts +22 -0
- package/src/lib/components/input/Input.svelte +129 -0
- package/src/lib/components/input/Textarea.svelte +122 -0
- package/src/lib/components/input/index.ts +2 -0
- package/src/lib/components/input-area/InputArea.svelte +122 -0
- package/src/lib/components/input-area/index.ts +1 -0
- package/src/lib/components/input-group/InputGroup.svelte +144 -0
- package/src/lib/components/input-group/InputGroupAddon.svelte +35 -0
- package/src/lib/components/input-group/InputGroupButton.svelte +76 -0
- package/src/lib/components/input-group/InputGroupInput.svelte +65 -0
- package/src/lib/components/input-group/InputGroupSuffix.svelte +28 -0
- package/src/lib/components/input-group/context.ts +107 -0
- package/src/lib/components/input-group/index.ts +28 -0
- package/src/lib/components/label/Label.svelte +75 -0
- package/src/lib/components/label/index.ts +1 -0
- package/src/lib/components/layer-card/LayerCard.svelte +39 -0
- package/src/lib/components/layer-card/LayerCardPrimary.svelte +31 -0
- package/src/lib/components/layer-card/LayerCardSecondary.svelte +31 -0
- package/src/lib/components/layer-card/index.ts +14 -0
- package/src/lib/components/link/Link.svelte +73 -0
- package/src/lib/components/link/LinkExternalIcon.svelte +26 -0
- package/src/lib/components/link/index.ts +8 -0
- package/src/lib/components/loader/Loader.svelte +91 -0
- package/src/lib/components/loader/SkeletonLine.svelte +92 -0
- package/src/lib/components/loader/index.ts +2 -0
- package/src/lib/components/logo/KumoLogo.svelte +16 -0
- package/src/lib/components/logo/index.ts +2 -0
- package/src/lib/components/menu-bar/MenuBar.svelte +137 -0
- package/src/lib/components/menu-bar/index.ts +1 -0
- package/src/lib/components/meter/Meter.svelte +78 -0
- package/src/lib/components/meter/index.ts +7 -0
- package/src/lib/components/pagination/Pagination.svelte +130 -0
- package/src/lib/components/pagination/PaginationControls.svelte +108 -0
- package/src/lib/components/pagination/PaginationInfo.svelte +39 -0
- package/src/lib/components/pagination/PaginationPageSize.svelte +56 -0
- package/src/lib/components/pagination/PaginationSeparator.svelte +12 -0
- package/src/lib/components/pagination/context.ts +51 -0
- package/src/lib/components/pagination/index.ts +28 -0
- package/src/lib/components/popover/Popover.svelte +59 -0
- package/src/lib/components/popover/PopoverClose.svelte +23 -0
- package/src/lib/components/popover/PopoverContent.svelte +87 -0
- package/src/lib/components/popover/PopoverDescription.svelte +16 -0
- package/src/lib/components/popover/PopoverRoot.svelte +22 -0
- package/src/lib/components/popover/PopoverTitle.svelte +16 -0
- package/src/lib/components/popover/PopoverTrigger.svelte +42 -0
- package/src/lib/components/popover/index.ts +33 -0
- package/src/lib/components/radio/Radio.svelte +86 -0
- package/src/lib/components/radio/RadioGroup.svelte +85 -0
- package/src/lib/components/radio/RadioItem.svelte +118 -0
- package/src/lib/components/radio/RadioLegend.svelte +15 -0
- package/src/lib/components/radio/index.ts +17 -0
- package/src/lib/components/select/Select.svelte +230 -0
- package/src/lib/components/select/index.ts +1 -0
- package/src/lib/components/sensitive-input/SensitiveInput.svelte +349 -0
- package/src/lib/components/sensitive-input/index.ts +7 -0
- package/src/lib/components/sidebar/Sidebar.svelte +14 -0
- package/src/lib/components/sidebar/index.ts +1 -0
- package/src/lib/components/surface/Surface.svelte +27 -0
- package/src/lib/components/surface/index.ts +1 -0
- package/src/lib/components/switch/Switch.svelte +139 -0
- package/src/lib/components/switch/SwitchGroup.svelte +33 -0
- package/src/lib/components/switch/SwitchItem.svelte +80 -0
- package/src/lib/components/switch/SwitchLegend.svelte +15 -0
- package/src/lib/components/switch/index.ts +19 -0
- package/src/lib/components/table/Table.svelte +98 -0
- package/src/lib/components/table/TableBody.svelte +14 -0
- package/src/lib/components/table/TableCell.svelte +18 -0
- package/src/lib/components/table/TableCheckCell.svelte +43 -0
- package/src/lib/components/table/TableCheckHead.svelte +43 -0
- package/src/lib/components/table/TableFooter.svelte +14 -0
- package/src/lib/components/table/TableHead.svelte +18 -0
- package/src/lib/components/table/TableHeader.svelte +28 -0
- package/src/lib/components/table/TableResizeHandle.svelte +16 -0
- package/src/lib/components/table/TableRow.svelte +22 -0
- package/src/lib/components/table/index.ts +53 -0
- package/src/lib/components/table-of-contents/TableOfContents.svelte +27 -0
- package/src/lib/components/table-of-contents/TableOfContentsGroup.svelte +40 -0
- package/src/lib/components/table-of-contents/TableOfContentsItem.svelte +48 -0
- package/src/lib/components/table-of-contents/TableOfContentsList.svelte +16 -0
- package/src/lib/components/table-of-contents/TableOfContentsTitle.svelte +16 -0
- package/src/lib/components/table-of-contents/index.ts +19 -0
- package/src/lib/components/tabs/Tabs.svelte +311 -0
- package/src/lib/components/tabs/index.ts +7 -0
- package/src/lib/components/text/Text.svelte +218 -0
- package/src/lib/components/text/index.ts +1 -0
- package/src/lib/components/toasty/KumoToastContent.svelte +70 -0
- package/src/lib/components/toasty/Toasty.svelte +97 -0
- package/src/lib/components/toasty/index.ts +2 -0
- package/src/lib/components/toasty/manager.svelte.ts +156 -0
- package/src/lib/components/tooltip/Tooltip.svelte +155 -0
- package/src/lib/components/tooltip/index.ts +4 -0
- package/src/lib/docs/BaseUIIcon.svelte +24 -0
- package/src/lib/docs/Callout.svelte +22 -0
- package/src/lib/docs/ChartCard.svelte +34 -0
- package/src/lib/docs/ClaudeIcon.svelte +22 -0
- package/src/lib/docs/CodeBlock.svelte +78 -0
- package/src/lib/docs/ComponentExample.svelte +45 -0
- package/src/lib/docs/ComponentSection.svelte +13 -0
- package/src/lib/docs/CopyPageButton.svelte +114 -0
- package/src/lib/docs/DemoRenderer.svelte +1946 -0
- package/src/lib/docs/GitHubIcon.svelte +20 -0
- package/src/lib/docs/Header.svelte +21 -0
- package/src/lib/docs/KumoMenuIcon.svelte +48 -0
- package/src/lib/docs/MdxPage.svelte +195 -0
- package/src/lib/docs/PropsTable.svelte +5180 -0
- package/src/lib/docs/SearchDialog.svelte +398 -0
- package/src/lib/docs/SidebarNav.svelte +254 -0
- package/src/lib/docs/StickyDocHeader.svelte +158 -0
- package/src/lib/docs/TableOfContents.svelte +237 -0
- package/src/lib/docs/ThemeToggle.svelte +38 -0
- package/src/lib/docs/chart-demos/ChartDemos.svelte +629 -0
- package/src/lib/docs/nav.ts +85 -0
- package/src/lib/docs/svelteDemoSnippets.ts +2311 -0
- package/src/lib/index.ts +128 -0
- package/src/lib/primitives.ts +1 -0
- package/src/lib/styles.css +1350 -0
- package/src/lib/utils/cn.ts +6 -0
- package/src/lib/utils/variants.ts +15 -0
- package/src/routes/+layout.svelte +45 -0
- package/src/routes/+layout.ts +1 -0
- package/src/routes/+page.svelte +1046 -0
- package/src/routes/[...path]/+page.svelte +21 -0
- package/src/routes/[...path]/+page.ts +10 -0
- package/src/routes/accessibility/+page.md +47 -0
- package/src/routes/blocks/delete-resource/+page.md +91 -0
- package/src/routes/blocks/page-header/+page.md +136 -0
- package/src/routes/blocks/resource-list/+page.md +145 -0
- package/src/routes/changelog/+page.md +13 -0
- package/src/routes/charts/+page.md +125 -0
- package/src/routes/charts/colors/+page.md +81 -0
- package/src/routes/charts/custom/+page.md +34 -0
- package/src/routes/charts/sankey/+page.md +75 -0
- package/src/routes/charts/timeseries/+page.md +97 -0
- package/src/routes/cli/+page.md +74 -0
- package/src/routes/colors/+page.md +316 -0
- package/src/routes/components/autocomplete/+page.md +191 -0
- package/src/routes/components/badge/+page.md +61 -0
- package/src/routes/components/banner/+page.md +105 -0
- package/src/routes/components/breadcrumbs/+page.md +88 -0
- package/src/routes/components/button/+page.md +209 -0
- package/src/routes/components/checkbox/+page.md +195 -0
- package/src/routes/components/clipboard-text/+page.md +99 -0
- package/src/routes/components/cloudflare-logo/+page.md +233 -0
- package/src/routes/components/code-highlighted/+page.md +75 -0
- package/src/routes/components/collapsible/+page.md +191 -0
- package/src/routes/components/combobox/+page.md +251 -0
- package/src/routes/components/command-palette/+page.md +244 -0
- package/src/routes/components/date-picker/+page.md +172 -0
- package/src/routes/components/dialog/+page.md +293 -0
- package/src/routes/components/dropdown/+page.md +232 -0
- package/src/routes/components/empty/+page.md +121 -0
- package/src/routes/components/flow/+page.md +397 -0
- package/src/routes/components/grid/+page.md +157 -0
- package/src/routes/components/input/+page.md +262 -0
- package/src/routes/components/input-area/+page.md +154 -0
- package/src/routes/components/input-group/+page.md +279 -0
- package/src/routes/components/label/+page.md +255 -0
- package/src/routes/components/layer-card/+page.md +120 -0
- package/src/routes/components/link/+page.md +273 -0
- package/src/routes/components/loader/+page.md +86 -0
- package/src/routes/components/menu-bar/+page.md +85 -0
- package/src/routes/components/meter/+page.md +109 -0
- package/src/routes/components/pagination/+page.md +212 -0
- package/src/routes/components/popover/+page.md +249 -0
- package/src/routes/components/radio/+page.md +208 -0
- package/src/routes/components/select/+page.md +383 -0
- package/src/routes/components/sensitive-input/+page.md +103 -0
- package/src/routes/components/sidebar/+page.md +58 -0
- package/src/routes/components/skeleton-line/+page.md +146 -0
- package/src/routes/components/switch/+page.md +184 -0
- package/src/routes/components/table/+page.md +275 -0
- package/src/routes/components/table-of-contents/+page.md +193 -0
- package/src/routes/components/tabs/+page.md +156 -0
- package/src/routes/components/text/+page.md +134 -0
- package/src/routes/components/toast/+page.md +290 -0
- package/src/routes/components/tooltip/+page.md +125 -0
- package/src/routes/components-vs-blocks/+page.md +159 -0
- package/src/routes/contributing/+page.md +209 -0
- package/src/routes/figma/+page.md +214 -0
- package/src/routes/installation/+page.md +123 -0
- package/src/routes/registry/+page.md +59 -0
- package/src/routes/streaming/+page.md +411 -0
- package/src/routes/tests/flow/+page.md +13 -0
- package/src/routes/tests/select/+page.md +13 -0
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var ChartCategoricalLightColors;
|
|
2
|
+
(function (ChartCategoricalLightColors) {
|
|
3
|
+
ChartCategoricalLightColors["Blue"] = "#4290F0";
|
|
4
|
+
ChartCategoricalLightColors["Yellow"] = "#F5B647";
|
|
5
|
+
ChartCategoricalLightColors["Pink"] = "#E8649D";
|
|
6
|
+
ChartCategoricalLightColors["Purple"] = "#8D58EE";
|
|
7
|
+
ChartCategoricalLightColors["Teal"] = "#50C3B6";
|
|
8
|
+
ChartCategoricalLightColors["Orange"] = "#D37536";
|
|
9
|
+
})(ChartCategoricalLightColors || (ChartCategoricalLightColors = {}));
|
|
10
|
+
var ChartCategoricalDarkColors;
|
|
11
|
+
(function (ChartCategoricalDarkColors) {
|
|
12
|
+
ChartCategoricalDarkColors["Blue"] = "#4290F0";
|
|
13
|
+
ChartCategoricalDarkColors["Yellow"] = "#EEB720";
|
|
14
|
+
ChartCategoricalDarkColors["Pink"] = "#E8649D";
|
|
15
|
+
ChartCategoricalDarkColors["Purple"] = "#8D58EE";
|
|
16
|
+
ChartCategoricalDarkColors["Teal"] = "#50C3B6";
|
|
17
|
+
ChartCategoricalDarkColors["Orange"] = "#D37536";
|
|
18
|
+
})(ChartCategoricalDarkColors || (ChartCategoricalDarkColors = {}));
|
|
19
|
+
var ChartSemanticLightColors;
|
|
20
|
+
(function (ChartSemanticLightColors) {
|
|
21
|
+
ChartSemanticLightColors["Attention"] = "#FC574A";
|
|
22
|
+
ChartSemanticLightColors["Warning"] = "#F8A054";
|
|
23
|
+
ChartSemanticLightColors["Success"] = "#00A63E";
|
|
24
|
+
ChartSemanticLightColors["Neutral"] = "#B9D6FF";
|
|
25
|
+
ChartSemanticLightColors["Disabled"] = "#CBCBCB";
|
|
26
|
+
ChartSemanticLightColors["Skeleton"] = "#DDDDDD";
|
|
27
|
+
})(ChartSemanticLightColors || (ChartSemanticLightColors = {}));
|
|
28
|
+
var ChartSemanticDarkColors;
|
|
29
|
+
(function (ChartSemanticDarkColors) {
|
|
30
|
+
ChartSemanticDarkColors["Attention"] = "#FC574A";
|
|
31
|
+
ChartSemanticDarkColors["Warning"] = "#F8A054";
|
|
32
|
+
ChartSemanticDarkColors["Success"] = "#00A63E";
|
|
33
|
+
ChartSemanticDarkColors["Neutral"] = "#8EC5FF";
|
|
34
|
+
ChartSemanticDarkColors["Disabled"] = "#878787";
|
|
35
|
+
ChartSemanticDarkColors["Skeleton"] = "#5C5C5C";
|
|
36
|
+
})(ChartSemanticDarkColors || (ChartSemanticDarkColors = {}));
|
|
37
|
+
const sequentialLight = {
|
|
38
|
+
blues: ['#E1EAF4', '#8EBCF6', '#4290F0', '#0E58B4', '#03254F']
|
|
39
|
+
};
|
|
40
|
+
const sequentialDark = {
|
|
41
|
+
blues: ['#03254F', '#0E58B4', '#4290F0', '#A6BFDD', '#E1EAF4']
|
|
42
|
+
};
|
|
43
|
+
export const CHART_LIGHT_COLORS = [
|
|
44
|
+
ChartCategoricalLightColors.Blue,
|
|
45
|
+
ChartCategoricalLightColors.Yellow,
|
|
46
|
+
ChartCategoricalLightColors.Pink,
|
|
47
|
+
ChartCategoricalLightColors.Purple,
|
|
48
|
+
ChartCategoricalLightColors.Teal,
|
|
49
|
+
ChartCategoricalLightColors.Orange
|
|
50
|
+
];
|
|
51
|
+
export const CHART_DARK_COLORS = [
|
|
52
|
+
ChartCategoricalDarkColors.Blue,
|
|
53
|
+
ChartCategoricalDarkColors.Yellow,
|
|
54
|
+
ChartCategoricalDarkColors.Pink,
|
|
55
|
+
ChartCategoricalDarkColors.Purple,
|
|
56
|
+
ChartCategoricalDarkColors.Teal,
|
|
57
|
+
ChartCategoricalDarkColors.Orange
|
|
58
|
+
];
|
|
59
|
+
export var ChartPalette;
|
|
60
|
+
(function (ChartPalette) {
|
|
61
|
+
function semantic(name, isDarkMode = false) {
|
|
62
|
+
return isDarkMode ? ChartSemanticDarkColors[name] : ChartSemanticLightColors[name];
|
|
63
|
+
}
|
|
64
|
+
ChartPalette.semantic = semantic;
|
|
65
|
+
function categorical(index, isDarkMode = false) {
|
|
66
|
+
return isDarkMode ? CHART_DARK_COLORS[index % CHART_DARK_COLORS.length] : CHART_LIGHT_COLORS[index % CHART_LIGHT_COLORS.length];
|
|
67
|
+
}
|
|
68
|
+
ChartPalette.categorical = categorical;
|
|
69
|
+
function sequential(palette, isDarkMode = false) {
|
|
70
|
+
return isDarkMode ? [...sequentialDark[palette]] : [...sequentialLight[palette]];
|
|
71
|
+
}
|
|
72
|
+
ChartPalette.sequential = sequential;
|
|
73
|
+
function text(variant, isDarkMode = false) {
|
|
74
|
+
const colors = {
|
|
75
|
+
light: { primary: '#6B7280', secondary: '#9CA3AF' },
|
|
76
|
+
dark: { primary: '#9CA3AF', secondary: '#6B7280' }
|
|
77
|
+
};
|
|
78
|
+
return isDarkMode ? colors.dark[variant] : colors.light[variant];
|
|
79
|
+
}
|
|
80
|
+
ChartPalette.text = text;
|
|
81
|
+
})(ChartPalette || (ChartPalette = {}));
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { EChartsOption } from 'echarts';
|
|
3
|
+
import Chart, { type ChartEvents } from './Chart.svelte';
|
|
4
|
+
import { ChartPalette } from './Color';
|
|
5
|
+
|
|
6
|
+
export interface SankeyNodeData {
|
|
7
|
+
id?: string;
|
|
8
|
+
name: string;
|
|
9
|
+
color?: string;
|
|
10
|
+
value?: number;
|
|
11
|
+
tooltipData?: Record<string, number | string>;
|
|
12
|
+
isDrillable?: boolean;
|
|
13
|
+
childCount?: number;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface SankeyLinkData {
|
|
17
|
+
id?: string;
|
|
18
|
+
source: number;
|
|
19
|
+
target: number;
|
|
20
|
+
value: number;
|
|
21
|
+
isDrillable?: boolean;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface SankeyTooltipParams {
|
|
25
|
+
type: 'node' | 'link';
|
|
26
|
+
name: string;
|
|
27
|
+
node?: SankeyNodeData;
|
|
28
|
+
link?: { source: string; target: string; value: number };
|
|
29
|
+
color?: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface Props {
|
|
33
|
+
echarts: any;
|
|
34
|
+
nodes: SankeyNodeData[];
|
|
35
|
+
links: SankeyLinkData[];
|
|
36
|
+
height?: number;
|
|
37
|
+
showNodeValues?: boolean;
|
|
38
|
+
formatValue?: (value: number) => string;
|
|
39
|
+
tooltipFormatter?: (params: SankeyTooltipParams) => string;
|
|
40
|
+
nodeWidth?: number;
|
|
41
|
+
nodePadding?: number;
|
|
42
|
+
showTooltip?: boolean;
|
|
43
|
+
defaultNodeColor?: string;
|
|
44
|
+
left?: number | string;
|
|
45
|
+
right?: number | string;
|
|
46
|
+
linkColor?: 'gradient' | 'gray';
|
|
47
|
+
linkOpacity?: number;
|
|
48
|
+
class?: string;
|
|
49
|
+
isDarkMode?: boolean;
|
|
50
|
+
onNodeClick?: (node: SankeyNodeData) => void;
|
|
51
|
+
onLinkClick?: (link: SankeyLinkData) => void;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
let {
|
|
55
|
+
echarts,
|
|
56
|
+
nodes,
|
|
57
|
+
links,
|
|
58
|
+
height = 400,
|
|
59
|
+
showNodeValues,
|
|
60
|
+
formatValue = (value: number) => value.toLocaleString(),
|
|
61
|
+
tooltipFormatter,
|
|
62
|
+
nodeWidth = 8,
|
|
63
|
+
nodePadding = 10,
|
|
64
|
+
showTooltip = true,
|
|
65
|
+
defaultNodeColor,
|
|
66
|
+
left,
|
|
67
|
+
right,
|
|
68
|
+
linkColor = 'gradient',
|
|
69
|
+
linkOpacity = 0.5,
|
|
70
|
+
class: className,
|
|
71
|
+
isDarkMode = false,
|
|
72
|
+
onNodeClick,
|
|
73
|
+
onLinkClick
|
|
74
|
+
}: Props = $props();
|
|
75
|
+
|
|
76
|
+
const escapeHtml = (str: string): string =>
|
|
77
|
+
str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''');
|
|
78
|
+
const escapeRichText = (str: string): string => str.replace(/[{}|]/g, (char) => `\\${char}`);
|
|
79
|
+
const sanitizeColor = (color: string): string => (/^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(color) ? color : '#666');
|
|
80
|
+
|
|
81
|
+
let options = $derived.by(() => {
|
|
82
|
+
const hasNodeValues = nodes.some((node) => node.value !== undefined);
|
|
83
|
+
const shouldShowValues = showNodeValues ?? hasNodeValues;
|
|
84
|
+
const labelColor = ChartPalette.text('primary', isDarkMode);
|
|
85
|
+
const secondaryColor = ChartPalette.text('secondary', isDarkMode);
|
|
86
|
+
const nodeDataMap = new Map(nodes.map((node) => [node.name, node]));
|
|
87
|
+
const chartNodes = nodes.map((node, index) => ({
|
|
88
|
+
name: node.name,
|
|
89
|
+
value: node.value,
|
|
90
|
+
itemStyle: { color: node.color ?? defaultNodeColor ?? ChartPalette.categorical(index, isDarkMode) }
|
|
91
|
+
}));
|
|
92
|
+
const chartLinks = links.map((link) => ({ source: nodes[link.source]?.name ?? '', target: nodes[link.target]?.name ?? '', value: link.value }));
|
|
93
|
+
|
|
94
|
+
return {
|
|
95
|
+
backgroundColor: 'transparent',
|
|
96
|
+
animation: true,
|
|
97
|
+
animationDuration: 500,
|
|
98
|
+
animationDurationUpdate: 300,
|
|
99
|
+
animationEasingUpdate: 'cubicInOut',
|
|
100
|
+
tooltip: showTooltip
|
|
101
|
+
? {
|
|
102
|
+
trigger: 'item',
|
|
103
|
+
triggerOn: 'mousemove',
|
|
104
|
+
dangerousHtmlFormatter: (params: any) => {
|
|
105
|
+
if (params?.dataType === 'node' && params.name) {
|
|
106
|
+
const nodeData = nodeDataMap.get(params.name);
|
|
107
|
+
const color = sanitizeColor(nodeData?.color ?? params.color ?? '#666');
|
|
108
|
+
if (tooltipFormatter) return tooltipFormatter({ type: 'node', name: params.name, node: nodeData, color });
|
|
109
|
+
return `<div style="display:flex;align-items:center;gap:6px;"><span style="display:inline-block;width:10px;height:10px;border-radius:50%;background:${color}"></span><strong>${escapeHtml(params.name)}</strong></div>`;
|
|
110
|
+
}
|
|
111
|
+
if (params?.dataType === 'edge' && params.data) {
|
|
112
|
+
const { source, target, value } = params.data;
|
|
113
|
+
if (tooltipFormatter) return tooltipFormatter({ type: 'link', name: `${source} -> ${target}`, link: { source, target, value } });
|
|
114
|
+
const sourceColor = sanitizeColor(nodeDataMap.get(source ?? '')?.color ?? '#666');
|
|
115
|
+
const targetColor = sanitizeColor(nodeDataMap.get(target ?? '')?.color ?? '#666');
|
|
116
|
+
return `<div style="display:flex;align-items:center;gap:6px;margin-bottom:4px;"><span style="display:inline-block;width:10px;height:10px;border-radius:50%;background:${sourceColor}"></span><strong>${escapeHtml(source ?? '')}</strong><span style="color:${secondaryColor}">-></span><span style="display:inline-block;width:10px;height:10px;border-radius:50%;background:${targetColor}"></span><strong>${escapeHtml(target ?? '')}</strong></div><strong>${value !== undefined ? escapeHtml(formatValue(value)) : ''}</strong>`;
|
|
117
|
+
}
|
|
118
|
+
return '';
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
: undefined,
|
|
122
|
+
series: [
|
|
123
|
+
{
|
|
124
|
+
type: 'sankey',
|
|
125
|
+
...(left !== undefined && { left }),
|
|
126
|
+
...(right !== undefined && { right }),
|
|
127
|
+
data: chartNodes,
|
|
128
|
+
links: chartLinks,
|
|
129
|
+
draggable: false,
|
|
130
|
+
emphasis: { focus: 'adjacency' },
|
|
131
|
+
nodeWidth,
|
|
132
|
+
nodeGap: nodePadding,
|
|
133
|
+
lineStyle: { color: linkColor === 'gradient' ? 'source' : '#d1d5db', opacity: linkColor === 'gradient' ? linkOpacity : 0.4, curveness: 0.5 },
|
|
134
|
+
label: {
|
|
135
|
+
show: true,
|
|
136
|
+
color: labelColor,
|
|
137
|
+
fontSize: 12,
|
|
138
|
+
formatter: shouldShowValues
|
|
139
|
+
? (params: { name?: string }) => {
|
|
140
|
+
const name = params.name ?? '';
|
|
141
|
+
const nodeData = nodeDataMap.get(name);
|
|
142
|
+
return nodeData?.value !== undefined ? `{value|${escapeRichText(formatValue(nodeData.value))}}\n{name|${escapeRichText(name)}}` : escapeRichText(name);
|
|
143
|
+
}
|
|
144
|
+
: undefined,
|
|
145
|
+
rich: shouldShowValues
|
|
146
|
+
? {
|
|
147
|
+
value: { fontSize: 11, color: labelColor, lineHeight: 16 },
|
|
148
|
+
name: { fontSize: 12, color: labelColor, fontWeight: 700 }
|
|
149
|
+
}
|
|
150
|
+
: undefined
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
} as EChartsOption;
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
let events = $derived<Partial<ChartEvents>>({
|
|
158
|
+
click: (params: any) => {
|
|
159
|
+
if (params.dataType === 'node' && onNodeClick && params.name) {
|
|
160
|
+
onNodeClick({ ...nodes.find((node) => node.name === params.name), name: params.name });
|
|
161
|
+
} else if (params.dataType === 'edge' && onLinkClick && params.data) {
|
|
162
|
+
const sourceIndex = nodes.findIndex((node) => node.name === params.data.source);
|
|
163
|
+
const targetIndex = nodes.findIndex((node) => node.name === params.data.target);
|
|
164
|
+
if (sourceIndex === -1 || targetIndex === -1) return;
|
|
165
|
+
const originalLink = links.find((link) => link.source === sourceIndex && link.target === targetIndex);
|
|
166
|
+
onLinkClick({ ...originalLink, source: sourceIndex, target: targetIndex, value: params.data.value ?? 0 });
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
</script>
|
|
171
|
+
|
|
172
|
+
<Chart {echarts} options={options as any} {height} class={className} {isDarkMode} onEvents={events} />
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export interface SankeyNodeData {
|
|
2
|
+
id?: string;
|
|
3
|
+
name: string;
|
|
4
|
+
color?: string;
|
|
5
|
+
value?: number;
|
|
6
|
+
tooltipData?: Record<string, number | string>;
|
|
7
|
+
isDrillable?: boolean;
|
|
8
|
+
childCount?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface SankeyLinkData {
|
|
11
|
+
id?: string;
|
|
12
|
+
source: number;
|
|
13
|
+
target: number;
|
|
14
|
+
value: number;
|
|
15
|
+
isDrillable?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface SankeyTooltipParams {
|
|
18
|
+
type: 'node' | 'link';
|
|
19
|
+
name: string;
|
|
20
|
+
node?: SankeyNodeData;
|
|
21
|
+
link?: {
|
|
22
|
+
source: string;
|
|
23
|
+
target: string;
|
|
24
|
+
value: number;
|
|
25
|
+
};
|
|
26
|
+
color?: string;
|
|
27
|
+
}
|
|
28
|
+
interface Props {
|
|
29
|
+
echarts: any;
|
|
30
|
+
nodes: SankeyNodeData[];
|
|
31
|
+
links: SankeyLinkData[];
|
|
32
|
+
height?: number;
|
|
33
|
+
showNodeValues?: boolean;
|
|
34
|
+
formatValue?: (value: number) => string;
|
|
35
|
+
tooltipFormatter?: (params: SankeyTooltipParams) => string;
|
|
36
|
+
nodeWidth?: number;
|
|
37
|
+
nodePadding?: number;
|
|
38
|
+
showTooltip?: boolean;
|
|
39
|
+
defaultNodeColor?: string;
|
|
40
|
+
left?: number | string;
|
|
41
|
+
right?: number | string;
|
|
42
|
+
linkColor?: 'gradient' | 'gray';
|
|
43
|
+
linkOpacity?: number;
|
|
44
|
+
class?: string;
|
|
45
|
+
isDarkMode?: boolean;
|
|
46
|
+
onNodeClick?: (node: SankeyNodeData) => void;
|
|
47
|
+
onLinkClick?: (link: SankeyLinkData) => void;
|
|
48
|
+
}
|
|
49
|
+
declare const SankeyChart: import("svelte").Component<Props, {}, "">;
|
|
50
|
+
type SankeyChart = ReturnType<typeof SankeyChart>;
|
|
51
|
+
export default SankeyChart;
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { SeriesOption } from 'echarts';
|
|
3
|
+
import type { EChartsType } from 'echarts/core';
|
|
4
|
+
import Chart, { type ChartEvents, type KumoChartOption } from './Chart.svelte';
|
|
5
|
+
|
|
6
|
+
export interface TimeseriesData {
|
|
7
|
+
name: string;
|
|
8
|
+
data: [number, number][];
|
|
9
|
+
color: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
interface Props {
|
|
13
|
+
echarts: any;
|
|
14
|
+
type?: 'line' | 'bar';
|
|
15
|
+
data: TimeseriesData[];
|
|
16
|
+
xAxisName?: string;
|
|
17
|
+
xAxisTickCount?: number;
|
|
18
|
+
xAxisTickFormat?: (value: number) => string;
|
|
19
|
+
yAxisTickFormat?: (value: number) => string;
|
|
20
|
+
yAxisTickLabelFormat?: (value: number) => string;
|
|
21
|
+
yAxisName?: string;
|
|
22
|
+
yAxisTickCount?: number;
|
|
23
|
+
tooltipValueFormat?: (value: number) => string;
|
|
24
|
+
incomplete?: { before?: number; after?: number };
|
|
25
|
+
height?: number;
|
|
26
|
+
onTimeRangeChange?: (from: number, to: number) => void;
|
|
27
|
+
isDarkMode?: boolean;
|
|
28
|
+
gradient?: boolean;
|
|
29
|
+
loading?: boolean;
|
|
30
|
+
ariaDescription?: string;
|
|
31
|
+
animation?: boolean;
|
|
32
|
+
animationDuration?: number;
|
|
33
|
+
optionUpdateBehavior?: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
let {
|
|
37
|
+
echarts,
|
|
38
|
+
type = 'line',
|
|
39
|
+
data,
|
|
40
|
+
xAxisName,
|
|
41
|
+
xAxisTickCount,
|
|
42
|
+
xAxisTickFormat,
|
|
43
|
+
yAxisTickFormat,
|
|
44
|
+
yAxisTickLabelFormat,
|
|
45
|
+
yAxisName,
|
|
46
|
+
yAxisTickCount,
|
|
47
|
+
tooltipValueFormat,
|
|
48
|
+
incomplete,
|
|
49
|
+
height = 350,
|
|
50
|
+
onTimeRangeChange,
|
|
51
|
+
isDarkMode = false,
|
|
52
|
+
gradient = false,
|
|
53
|
+
loading = false,
|
|
54
|
+
ariaDescription,
|
|
55
|
+
animation = true,
|
|
56
|
+
animationDuration = 600,
|
|
57
|
+
optionUpdateBehavior
|
|
58
|
+
}: Props = $props();
|
|
59
|
+
|
|
60
|
+
let chartRef: EChartsType | null = $state(null);
|
|
61
|
+
|
|
62
|
+
const colorWithOpacity = (color: string, alpha: number): string => {
|
|
63
|
+
const a = Math.max(0, Math.min(1, alpha));
|
|
64
|
+
const rgbMatch = color.match(/rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i);
|
|
65
|
+
if (rgbMatch) return `rgba(${rgbMatch[1]}, ${rgbMatch[2]}, ${rgbMatch[3]}, ${a})`;
|
|
66
|
+
let hex = color.replace(/^#/, '');
|
|
67
|
+
if (hex.length === 3) hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
68
|
+
if (hex.length === 8) hex = hex.slice(0, 6);
|
|
69
|
+
return `rgba(${parseInt(hex.slice(0, 2), 16)}, ${parseInt(hex.slice(2, 4), 16)}, ${parseInt(hex.slice(4, 6), 16)}, ${a})`;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const pad = (n: number) => n.toString().padStart(2, '0');
|
|
73
|
+
const formatTimestamp = (ts: number | string | Date): string => {
|
|
74
|
+
const d = new Date(ts);
|
|
75
|
+
return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
let options = $derived.by(() => {
|
|
79
|
+
const incompleteBefore = incomplete?.before;
|
|
80
|
+
const incompleteAfter = incomplete?.after;
|
|
81
|
+
const series: SeriesOption[] = [];
|
|
82
|
+
const seriesType = type === 'bar' ? ({ type: 'bar', stack: 'total' } as const) : ({ type: 'line', showSymbol: false } as const);
|
|
83
|
+
|
|
84
|
+
for (const s of data) {
|
|
85
|
+
const incompleteBeforePoints = incompleteBefore && type === 'line' ? s.data.filter((point) => point[0] <= incompleteBefore) : [];
|
|
86
|
+
const incompleteAfterPoints = incompleteAfter && type === 'line' ? s.data.filter((point) => point[0] >= incompleteAfter) : [];
|
|
87
|
+
const completePoints =
|
|
88
|
+
incompleteBeforePoints.length > 0 || incompleteAfterPoints.length > 0
|
|
89
|
+
? s.data.slice(Math.max(0, incompleteBeforePoints.length - 1), Math.max(0, s.data.length - incompleteAfterPoints.length + 1))
|
|
90
|
+
: s.data;
|
|
91
|
+
|
|
92
|
+
series.push({
|
|
93
|
+
data: completePoints,
|
|
94
|
+
color: s.color,
|
|
95
|
+
name: s.name,
|
|
96
|
+
emphasis: { focus: 'series' },
|
|
97
|
+
...(gradient && type === 'line'
|
|
98
|
+
? {
|
|
99
|
+
areaStyle: {
|
|
100
|
+
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
|
101
|
+
{ offset: 0, color: colorWithOpacity(s.color, 0.4) },
|
|
102
|
+
{ offset: 1, color: colorWithOpacity(s.color, 0) }
|
|
103
|
+
])
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
: {}),
|
|
107
|
+
...seriesType
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
const incompleteConfig = {
|
|
111
|
+
color: s.color,
|
|
112
|
+
name: s.name,
|
|
113
|
+
type: 'line' as const,
|
|
114
|
+
lineStyle: { type: 'dashed' as const },
|
|
115
|
+
showSymbol: false,
|
|
116
|
+
emphasis: { focus: 'series' as const }
|
|
117
|
+
};
|
|
118
|
+
if (incompleteBeforePoints.length > 0) series.push({ ...incompleteConfig, data: incompleteBeforePoints });
|
|
119
|
+
if (incompleteAfterPoints.length > 0) series.push({ ...incompleteConfig, data: incompleteAfterPoints });
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return {
|
|
123
|
+
aria: { enabled: true, ...(ariaDescription && { label: { description: ariaDescription } }) },
|
|
124
|
+
brush: {
|
|
125
|
+
xAxisIndex: 'all',
|
|
126
|
+
brushType: 'lineX',
|
|
127
|
+
brushMode: 'single',
|
|
128
|
+
outOfBrush: { colorAlpha: 0.3 },
|
|
129
|
+
brushStyle: { borderWidth: 1, color: 'rgba(120,140,180,0.3)', borderColor: 'rgba(120,140,180,0.8)' }
|
|
130
|
+
},
|
|
131
|
+
tooltip: {
|
|
132
|
+
trigger: 'axis',
|
|
133
|
+
appendTo: 'body',
|
|
134
|
+
axisPointer: { type: 'shadow' },
|
|
135
|
+
dangerousHtmlFormatter: (params: any) => {
|
|
136
|
+
const items = Array.isArray(params) ? params : [params];
|
|
137
|
+
const seenNames = new Set<string>();
|
|
138
|
+
const filtered = items.filter((param: any) => {
|
|
139
|
+
if (seenNames.has(param.seriesName)) return false;
|
|
140
|
+
seenNames.add(param.seriesName);
|
|
141
|
+
return true;
|
|
142
|
+
});
|
|
143
|
+
const ts = filtered[0]?.value?.[0] ?? filtered[0]?.axisValue;
|
|
144
|
+
const header = ts != null ? `<div style="font-weight:600;margin-bottom:4px;">${echarts.format.encodeHTML(formatTimestamp(ts))}</div>` : '';
|
|
145
|
+
const rows = filtered
|
|
146
|
+
.map((param: any) => {
|
|
147
|
+
const value = param?.value?.[1];
|
|
148
|
+
const formatFn = tooltipValueFormat ?? yAxisTickLabelFormat;
|
|
149
|
+
const formattedValue = formatFn ? echarts.format.encodeHTML(String(formatFn(value))) : echarts.format.encodeHTML(String(value));
|
|
150
|
+
return `${param.marker} ${echarts.format.encodeHTML(param.seriesName)}: <strong>${formattedValue}</strong>`;
|
|
151
|
+
})
|
|
152
|
+
.join('<br/>');
|
|
153
|
+
return `${header}${rows}`;
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
backgroundColor: 'transparent',
|
|
157
|
+
animation,
|
|
158
|
+
animationDuration,
|
|
159
|
+
animationDurationUpdate: 300,
|
|
160
|
+
animationEasing: 'cubicOut',
|
|
161
|
+
animationEasingUpdate: 'cubicOut',
|
|
162
|
+
toolbox: { show: false },
|
|
163
|
+
xAxis: {
|
|
164
|
+
name: xAxisName,
|
|
165
|
+
nameLocation: 'middle',
|
|
166
|
+
nameGap: 30,
|
|
167
|
+
type: 'time',
|
|
168
|
+
splitLine: { show: false },
|
|
169
|
+
axisLine: { show: false },
|
|
170
|
+
splitNumber: xAxisTickCount ?? 5,
|
|
171
|
+
...(xAxisTickFormat && { axisLabel: { formatter: (value: number) => xAxisTickFormat(value) } })
|
|
172
|
+
},
|
|
173
|
+
yAxis: {
|
|
174
|
+
name: yAxisName,
|
|
175
|
+
nameLocation: 'middle',
|
|
176
|
+
nameGap: 40,
|
|
177
|
+
type: 'value',
|
|
178
|
+
axisTick: { show: true },
|
|
179
|
+
axisLabel: { margin: 15, ...(yAxisTickFormat && { formatter: (value: number) => yAxisTickFormat(value) }) },
|
|
180
|
+
splitLine: { show: true, lineStyle: { type: 'dashed', width: 1 } },
|
|
181
|
+
splitNumber: yAxisTickCount
|
|
182
|
+
},
|
|
183
|
+
grid: { left: yAxisName ? 30 : 24, right: 24, top: 24, bottom: xAxisName ? 30 : 24 },
|
|
184
|
+
series
|
|
185
|
+
} satisfies KumoChartOption;
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
let events = $derived<Partial<ChartEvents>>(
|
|
189
|
+
onTimeRangeChange
|
|
190
|
+
? {
|
|
191
|
+
brushend: (params: any) => {
|
|
192
|
+
const range = params.areas?.[0]?.coordRange;
|
|
193
|
+
if (!range) return;
|
|
194
|
+
onTimeRangeChange(range[0], range[1]);
|
|
195
|
+
chartRef?.dispatchAction({ type: 'brush', areas: [] });
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
: {}
|
|
199
|
+
);
|
|
200
|
+
|
|
201
|
+
$effect(() => {
|
|
202
|
+
if (chartRef && onTimeRangeChange && !loading) {
|
|
203
|
+
chartRef.dispatchAction({
|
|
204
|
+
type: 'takeGlobalCursor',
|
|
205
|
+
key: 'brush',
|
|
206
|
+
brushOption: { brushType: 'lineX', brushMode: 'single' }
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
</script>
|
|
211
|
+
|
|
212
|
+
<div class="relative w-full" style:height={`${height}px`}>
|
|
213
|
+
{#if loading}
|
|
214
|
+
{@const mid = height / 2}
|
|
215
|
+
{@const amp = Math.min(height * 0.12, 28)}
|
|
216
|
+
{@const period = 400}
|
|
217
|
+
{@const wavePath = Array.from({ length: 121 }, (_, i) => {
|
|
218
|
+
const x = -period + (i / 120) * period * 3;
|
|
219
|
+
const y = mid + Math.sin((i / 120) * 2 * Math.PI * 3) * amp;
|
|
220
|
+
return `${i === 0 ? 'M' : 'L'}${x.toFixed(2)},${y.toFixed(2)}`;
|
|
221
|
+
}).join(' ')}
|
|
222
|
+
<div aria-hidden="true" class="absolute inset-0 overflow-hidden" style:height={`${height}px`}>
|
|
223
|
+
<svg width="100%" height={height} viewBox={`0 0 ${period} ${height}`} preserveAspectRatio="none" class="w-full animate-pulse">
|
|
224
|
+
<path
|
|
225
|
+
d={wavePath}
|
|
226
|
+
fill="none"
|
|
227
|
+
stroke={isDarkMode ? 'rgba(255,255,255,0.5)' : 'rgba(0,0,0,0.2)'}
|
|
228
|
+
stroke-width="2"
|
|
229
|
+
style:animation="kumo-chart-wave 2.4s linear infinite"
|
|
230
|
+
style:transform-origin="0 0"
|
|
231
|
+
></path>
|
|
232
|
+
</svg>
|
|
233
|
+
</div>
|
|
234
|
+
{:else}
|
|
235
|
+
<Chart {echarts} bind:chartRef options={options} {height} {isDarkMode} onEvents={events} optionUpdateBehavior={optionUpdateBehavior as any} />
|
|
236
|
+
{/if}
|
|
237
|
+
</div>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export interface TimeseriesData {
|
|
2
|
+
name: string;
|
|
3
|
+
data: [number, number][];
|
|
4
|
+
color: string;
|
|
5
|
+
}
|
|
6
|
+
interface Props {
|
|
7
|
+
echarts: any;
|
|
8
|
+
type?: 'line' | 'bar';
|
|
9
|
+
data: TimeseriesData[];
|
|
10
|
+
xAxisName?: string;
|
|
11
|
+
xAxisTickCount?: number;
|
|
12
|
+
xAxisTickFormat?: (value: number) => string;
|
|
13
|
+
yAxisTickFormat?: (value: number) => string;
|
|
14
|
+
yAxisTickLabelFormat?: (value: number) => string;
|
|
15
|
+
yAxisName?: string;
|
|
16
|
+
yAxisTickCount?: number;
|
|
17
|
+
tooltipValueFormat?: (value: number) => string;
|
|
18
|
+
incomplete?: {
|
|
19
|
+
before?: number;
|
|
20
|
+
after?: number;
|
|
21
|
+
};
|
|
22
|
+
height?: number;
|
|
23
|
+
onTimeRangeChange?: (from: number, to: number) => void;
|
|
24
|
+
isDarkMode?: boolean;
|
|
25
|
+
gradient?: boolean;
|
|
26
|
+
loading?: boolean;
|
|
27
|
+
ariaDescription?: string;
|
|
28
|
+
animation?: boolean;
|
|
29
|
+
animationDuration?: number;
|
|
30
|
+
optionUpdateBehavior?: Record<string, unknown>;
|
|
31
|
+
}
|
|
32
|
+
declare const TimeseriesChart: import("svelte").Component<Props, {}, "">;
|
|
33
|
+
type TimeseriesChart = ReturnType<typeof TimeseriesChart>;
|
|
34
|
+
export default TimeseriesChart;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { default as Chart } from './Chart.svelte';
|
|
2
|
+
export { default as ChartLegend } from './ChartLegend.svelte';
|
|
3
|
+
export { default as TimeseriesChart } from './TimeseriesChart.svelte';
|
|
4
|
+
export { default as SankeyChart } from './SankeyChart.svelte';
|
|
5
|
+
export { ChartPalette, CHART_DARK_COLORS, CHART_LIGHT_COLORS } from './Color';
|
|
6
|
+
export type { ChartSemanticColorName } from './Color';
|
|
7
|
+
export type { KumoChartOption, SafeTooltipOption, ChartEvents } from './Chart.svelte';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as Chart } from './Chart.svelte';
|
|
2
|
+
export { default as ChartLegend } from './ChartLegend.svelte';
|
|
3
|
+
export { default as TimeseriesChart } from './TimeseriesChart.svelte';
|
|
4
|
+
export { default as SankeyChart } from './SankeyChart.svelte';
|
|
5
|
+
export { ChartPalette, CHART_DARK_COLORS, CHART_LIGHT_COLORS } from './Color';
|