@zerodep-dev/vue-tsx-pro-ui 0.0.0-stage → 0.2.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 +32 -2
- package/dist/base/Badge.d.ts +28 -0
- package/dist/base/Badge.js +72 -0
- package/dist/base/Badge.js.map +1 -0
- package/dist/base/Blockquote.d.ts +13 -0
- package/dist/base/Blockquote.js +26 -0
- package/dist/base/Blockquote.js.map +1 -0
- package/dist/base/Button.d.ts +18 -0
- package/dist/base/Button.js +86 -0
- package/dist/base/Button.js.map +1 -0
- package/dist/base/ButtonBase.d.ts +21 -0
- package/dist/base/ButtonBase.js +51 -0
- package/dist/base/ButtonBase.js.map +1 -0
- package/dist/base/ButtonGroup.d.ts +24 -0
- package/dist/base/ButtonGroup.js +52 -0
- package/dist/base/ButtonGroup.js.map +1 -0
- package/dist/base/CloseButton.d.ts +15 -0
- package/dist/base/CloseButton.js +38 -0
- package/dist/base/CloseButton.js.map +1 -0
- package/dist/base/Code.d.ts +13 -0
- package/dist/base/Code.js +27 -0
- package/dist/base/Code.js.map +1 -0
- package/dist/base/CodeBlock.d.ts +89 -0
- package/dist/base/CodeBlock.js +265 -0
- package/dist/base/CodeBlock.js.map +1 -0
- package/dist/base/CopyButton.d.ts +40 -0
- package/dist/base/CopyButton.js +113 -0
- package/dist/base/CopyButton.js.map +1 -0
- package/dist/base/Heading.d.ts +49 -0
- package/dist/base/Heading.js +122 -0
- package/dist/base/Heading.js.map +1 -0
- package/dist/base/Icon.d.ts +48 -0
- package/dist/base/Icon.js +110 -0
- package/dist/base/Icon.js.map +1 -0
- package/dist/base/IconButton.d.ts +34 -0
- package/dist/base/IconButton.js +81 -0
- package/dist/base/IconButton.js.map +1 -0
- package/dist/base/IconLinkButton.d.ts +34 -0
- package/dist/base/IconLinkButton.js +81 -0
- package/dist/base/IconLinkButton.js.map +1 -0
- package/dist/base/Indicator.d.ts +126 -0
- package/dist/base/Indicator.js +158 -0
- package/dist/base/Indicator.js.map +1 -0
- package/dist/base/Kbd.d.ts +13 -0
- package/dist/base/Kbd.js +34 -0
- package/dist/base/Kbd.js.map +1 -0
- package/dist/base/Link.d.ts +61 -0
- package/dist/base/Link.js +114 -0
- package/dist/base/Link.js.map +1 -0
- package/dist/base/LinkButton.d.ts +18 -0
- package/dist/base/LinkButton.js +109 -0
- package/dist/base/LinkButton.js.map +1 -0
- package/dist/base/List.d.ts +61 -0
- package/dist/base/List.js +116 -0
- package/dist/base/List.js.map +1 -0
- package/dist/base/Mark.d.ts +13 -0
- package/dist/base/Mark.js +23 -0
- package/dist/base/Mark.js.map +1 -0
- package/dist/base/Spinner.d.ts +20 -0
- package/dist/base/Spinner.js +59 -0
- package/dist/base/Spinner.js.map +1 -0
- package/dist/base/StatusDot.d.ts +48 -0
- package/dist/base/StatusDot.js +62 -0
- package/dist/base/StatusDot.js.map +1 -0
- package/dist/base/Tag.d.ts +29 -0
- package/dist/base/Tag.js +92 -0
- package/dist/base/Tag.js.map +1 -0
- package/dist/base/Text.d.ts +57 -0
- package/dist/base/Text.js +74 -0
- package/dist/base/Text.js.map +1 -0
- package/dist/base/VisuallyHidden.d.ts +13 -0
- package/dist/base/VisuallyHidden.js +28 -0
- package/dist/base/VisuallyHidden.js.map +1 -0
- package/dist/base/badge-styles.d.ts +57 -0
- package/dist/base/badge-styles.js +329 -0
- package/dist/base/badge-styles.js.map +1 -0
- package/dist/base/button-core.d.ts +191 -0
- package/dist/base/button-core.js +660 -0
- package/dist/base/button-core.js.map +1 -0
- package/dist/charts/AreaChart.d.ts +18 -0
- package/dist/charts/AreaChart.js +90 -0
- package/dist/charts/AreaChart.js.map +1 -0
- package/dist/charts/BarChart.d.ts +19 -0
- package/dist/charts/BarChart.js +88 -0
- package/dist/charts/BarChart.js.map +1 -0
- package/dist/charts/ChordChart.d.ts +48 -0
- package/dist/charts/ChordChart.js +149 -0
- package/dist/charts/ChordChart.js.map +1 -0
- package/dist/charts/ComboChart.d.ts +30 -0
- package/dist/charts/ComboChart.js +157 -0
- package/dist/charts/ComboChart.js.map +1 -0
- package/dist/charts/DonutChart.d.ts +65 -0
- package/dist/charts/DonutChart.js +162 -0
- package/dist/charts/DonutChart.js.map +1 -0
- package/dist/charts/FunnelChart.d.ts +69 -0
- package/dist/charts/FunnelChart.js +181 -0
- package/dist/charts/FunnelChart.js.map +1 -0
- package/dist/charts/GraphChart.d.ts +135 -0
- package/dist/charts/GraphChart.js +274 -0
- package/dist/charts/GraphChart.js.map +1 -0
- package/dist/charts/LineChart.d.ts +50 -0
- package/dist/charts/LineChart.js +94 -0
- package/dist/charts/LineChart.js.map +1 -0
- package/dist/charts/MapChart.d.ts +167 -0
- package/dist/charts/MapChart.js +627 -0
- package/dist/charts/MapChart.js.map +1 -0
- package/dist/charts/RadarChart.d.ts +60 -0
- package/dist/charts/RadarChart.js +224 -0
- package/dist/charts/RadarChart.js.map +1 -0
- package/dist/charts/SankeyChart.d.ts +57 -0
- package/dist/charts/SankeyChart.js +150 -0
- package/dist/charts/SankeyChart.js.map +1 -0
- package/dist/charts/ScatterChart.d.ts +18 -0
- package/dist/charts/ScatterChart.js +82 -0
- package/dist/charts/ScatterChart.js.map +1 -0
- package/dist/charts/TimelineChart.d.ts +71 -0
- package/dist/charts/TimelineChart.js +267 -0
- package/dist/charts/TimelineChart.js.map +1 -0
- package/dist/charts/TreemapChart.d.ts +40 -0
- package/dist/charts/TreemapChart.js +155 -0
- package/dist/charts/TreemapChart.js.map +1 -0
- package/dist/charts/WaterfallChart.d.ts +61 -0
- package/dist/charts/WaterfallChart.js +167 -0
- package/dist/charts/WaterfallChart.js.map +1 -0
- package/dist/charts/XYChart.d.ts +206 -0
- package/dist/charts/XYChart.js +520 -0
- package/dist/charts/XYChart.js.map +1 -0
- package/dist/charts/axis-ticks.d.ts +23 -0
- package/dist/charts/axis-ticks.js +59 -0
- package/dist/charts/axis-ticks.js.map +1 -0
- package/dist/charts/export.d.ts +17 -0
- package/dist/charts/export.js +65 -0
- package/dist/charts/export.js.map +1 -0
- package/dist/charts/flow.d.ts +53 -0
- package/dist/charts/flow.js +29 -0
- package/dist/charts/flow.js.map +1 -0
- package/dist/charts/frame.d.ts +147 -0
- package/dist/charts/frame.js +358 -0
- package/dist/charts/frame.js.map +1 -0
- package/dist/charts/index.d.ts +30 -0
- package/dist/charts/index.js +24 -0
- package/dist/charts/label-layout.d.ts +59 -0
- package/dist/charts/label-layout.js +64 -0
- package/dist/charts/label-layout.js.map +1 -0
- package/dist/charts/series.d.ts +36 -0
- package/dist/charts/series.js +60 -0
- package/dist/charts/series.js.map +1 -0
- package/dist/charts/single.d.ts +41 -0
- package/dist/charts/single.js +65 -0
- package/dist/charts/single.js.map +1 -0
- package/dist/code-editor/CodeEditor.d.ts +18 -0
- package/dist/code-editor/CodeEditor.js +57 -0
- package/dist/code-editor/CodeEditor.js.map +1 -0
- package/dist/code-editor/editor.d.ts +52 -0
- package/dist/code-editor/editor.js +225 -0
- package/dist/code-editor/editor.js.map +1 -0
- package/dist/code-editor/index.d.ts +9 -0
- package/dist/code-editor/index.js +3 -0
- package/dist/config/Provider.d.ts +52 -0
- package/dist/config/Provider.js +111 -0
- package/dist/config/Provider.js.map +1 -0
- package/dist/config/context.d.ts +90 -0
- package/dist/config/context.js +58 -0
- package/dist/config/context.js.map +1 -0
- package/dist/config/createUi.d.ts +52 -0
- package/dist/config/createUi.js +96 -0
- package/dist/config/createUi.js.map +1 -0
- package/dist/config/defaults.d.ts +71 -0
- package/dist/config/defaults.js +45 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/lang/en-US.d.ts +3 -0
- package/dist/config/lang/en-US.js +404 -0
- package/dist/config/lang/en-US.js.map +1 -0
- package/dist/config/lang/format.d.ts +51 -0
- package/dist/config/lang/format.js +120 -0
- package/dist/config/lang/format.js.map +1 -0
- package/dist/config/lang/lang.d.ts +666 -0
- package/dist/config/lang/lang.js +31 -0
- package/dist/config/lang/lang.js.map +1 -0
- package/dist/config/lang/messages.d.ts +12 -0
- package/dist/config/lang/messages.js +36 -0
- package/dist/config/lang/messages.js.map +1 -0
- package/dist/config/lang/zh-CN.d.ts +3 -0
- package/dist/config/lang/zh-CN.js +404 -0
- package/dist/config/lang/zh-CN.js.map +1 -0
- package/dist/config/pinyin.d.ts +3 -0
- package/dist/config/pinyin.js +26 -0
- package/dist/config/pinyin.js.map +1 -0
- package/dist/config/query-state.d.ts +61 -0
- package/dist/config/query-state.js +113 -0
- package/dist/config/query-state.js.map +1 -0
- package/dist/config/shiki.d.ts +13 -0
- package/dist/config/shiki.js +97 -0
- package/dist/config/shiki.js.map +1 -0
- package/dist/config/styles.d.ts +108 -0
- package/dist/config/styles.js +59 -0
- package/dist/config/styles.js.map +1 -0
- package/dist/config/theme/boot.d.ts +97 -0
- package/dist/config/theme/boot.js +90 -0
- package/dist/config/theme/boot.js.map +1 -0
- package/dist/config/theme/builtin.d.ts +21 -0
- package/dist/config/theme/builtin.js +58 -0
- package/dist/config/theme/builtin.js.map +1 -0
- package/dist/config/theme/coffee.d.ts +84 -0
- package/dist/config/theme/coffee.js +102 -0
- package/dist/config/theme/coffee.js.map +1 -0
- package/dist/config/theme/cyberpunk.d.ts +110 -0
- package/dist/config/theme/cyberpunk.js +125 -0
- package/dist/config/theme/cyberpunk.js.map +1 -0
- package/dist/config/theme/dark.d.ts +90 -0
- package/dist/config/theme/dark.js +106 -0
- package/dist/config/theme/dark.js.map +1 -0
- package/dist/config/theme/festive.d.ts +93 -0
- package/dist/config/theme/festive.js +110 -0
- package/dist/config/theme/festive.js.map +1 -0
- package/dist/config/theme/forest.d.ts +93 -0
- package/dist/config/theme/forest.js +109 -0
- package/dist/config/theme/forest.js.map +1 -0
- package/dist/config/theme/high-contrast.d.ts +103 -0
- package/dist/config/theme/high-contrast.js +119 -0
- package/dist/config/theme/high-contrast.js.map +1 -0
- package/dist/config/theme/lemon.d.ts +103 -0
- package/dist/config/theme/lemon.js +119 -0
- package/dist/config/theme/lemon.js.map +1 -0
- package/dist/config/theme/light.d.ts +107 -0
- package/dist/config/theme/light.js +122 -0
- package/dist/config/theme/light.js.map +1 -0
- package/dist/config/theme/midnight.d.ts +86 -0
- package/dist/config/theme/midnight.js +103 -0
- package/dist/config/theme/midnight.js.map +1 -0
- package/dist/config/theme/ocean.d.ts +103 -0
- package/dist/config/theme/ocean.js +119 -0
- package/dist/config/theme/ocean.js.map +1 -0
- package/dist/config/theme/paper.d.ts +101 -0
- package/dist/config/theme/paper.js +117 -0
- package/dist/config/theme/paper.js.map +1 -0
- package/dist/config/theme/preference.d.ts +34 -0
- package/dist/config/theme/preference.js +67 -0
- package/dist/config/theme/preference.js.map +1 -0
- package/dist/config/theme/sakura.d.ts +103 -0
- package/dist/config/theme/sakura.js +119 -0
- package/dist/config/theme/sakura.js.map +1 -0
- package/dist/config/theme/theme.d.ts +59 -0
- package/dist/config/theme/theme.js +68 -0
- package/dist/config/theme/theme.js.map +1 -0
- package/dist/config/theme/token-names.d.ts +1897 -0
- package/dist/config/theme/tokens.d.ts +833 -0
- package/dist/config/theme/tokens.js +480 -0
- package/dist/config/theme/tokens.js.map +1 -0
- package/dist/config/vue-router.d.ts +67 -0
- package/dist/config/vue-router.js +143 -0
- package/dist/config/vue-router.js.map +1 -0
- package/dist/date/Calendar.d.ts +36 -0
- package/dist/date/Calendar.js +83 -0
- package/dist/date/Calendar.js.map +1 -0
- package/dist/date/CalendarBoard.d.ts +79 -0
- package/dist/date/CalendarBoard.js +403 -0
- package/dist/date/CalendarBoard.js.map +1 -0
- package/dist/date/CalendarView.d.ts +86 -0
- package/dist/date/CalendarView.js +427 -0
- package/dist/date/CalendarView.js.map +1 -0
- package/dist/date/Countdown.d.ts +45 -0
- package/dist/date/Countdown.js +75 -0
- package/dist/date/Countdown.js.map +1 -0
- package/dist/date/DateField.d.ts +34 -0
- package/dist/date/DateField.js +124 -0
- package/dist/date/DateField.js.map +1 -0
- package/dist/date/DatePicker.d.ts +41 -0
- package/dist/date/DatePicker.js +272 -0
- package/dist/date/DatePicker.js.map +1 -0
- package/dist/date/DateRangePicker.d.ts +71 -0
- package/dist/date/DateRangePicker.js +411 -0
- package/dist/date/DateRangePicker.js.map +1 -0
- package/dist/date/DateSegmentGroup.d.ts +38 -0
- package/dist/date/DateSegmentGroup.js +176 -0
- package/dist/date/DateSegmentGroup.js.map +1 -0
- package/dist/date/DateTime.d.ts +21 -0
- package/dist/date/DateTime.js +39 -0
- package/dist/date/DateTime.js.map +1 -0
- package/dist/date/QuarterCalendar.d.ts +22 -0
- package/dist/date/QuarterCalendar.js +231 -0
- package/dist/date/QuarterCalendar.js.map +1 -0
- package/dist/date/RangeCalendar.d.ts +24 -0
- package/dist/date/RangeCalendar.js +89 -0
- package/dist/date/RangeCalendar.js.map +1 -0
- package/dist/date/RelativeTime.d.ts +16 -0
- package/dist/date/RelativeTime.js +61 -0
- package/dist/date/RelativeTime.js.map +1 -0
- package/dist/date/SegmentedField.d.ts +60 -0
- package/dist/date/SegmentedField.js +175 -0
- package/dist/date/SegmentedField.js.map +1 -0
- package/dist/date/TimeField.d.ts +36 -0
- package/dist/date/TimeField.js +56 -0
- package/dist/date/TimeField.js.map +1 -0
- package/dist/date/TimePicker.d.ts +25 -0
- package/dist/date/TimePicker.js +206 -0
- package/dist/date/TimePicker.js.map +1 -0
- package/dist/date/calendar-state.d.ts +119 -0
- package/dist/date/calendar-state.js +267 -0
- package/dist/date/calendar-state.js.map +1 -0
- package/dist/date/clock.d.ts +11 -0
- package/dist/date/clock.js +37 -0
- package/dist/date/clock.js.map +1 -0
- package/dist/date/date-locale.d.ts +67 -0
- package/dist/date/date-locale.js +89 -0
- package/dist/date/date-locale.js.map +1 -0
- package/dist/date/date-segments.d.ts +132 -0
- package/dist/date/date-segments.js +410 -0
- package/dist/date/date-segments.js.map +1 -0
- package/dist/date/picker-popover.d.ts +88 -0
- package/dist/date/picker-popover.js +126 -0
- package/dist/date/picker-popover.js.map +1 -0
- package/dist/diagram/Diagram.d.ts +223 -0
- package/dist/diagram/Diagram.js +1121 -0
- package/dist/diagram/Diagram.js.map +1 -0
- package/dist/diagram/DiagramControls.d.ts +35 -0
- package/dist/diagram/DiagramControls.js +114 -0
- package/dist/diagram/DiagramControls.js.map +1 -0
- package/dist/diagram/DiagramLanes.d.ts +49 -0
- package/dist/diagram/DiagramLanes.js +92 -0
- package/dist/diagram/DiagramLanes.js.map +1 -0
- package/dist/diagram/DiagramMinimap.d.ts +39 -0
- package/dist/diagram/DiagramMinimap.js +133 -0
- package/dist/diagram/DiagramMinimap.js.map +1 -0
- package/dist/diagram/DiagramNode.d.ts +65 -0
- package/dist/diagram/DiagramNode.js +142 -0
- package/dist/diagram/DiagramNode.js.map +1 -0
- package/dist/diagram/controller.d.ts +68 -0
- package/dist/diagram/controller.js +117 -0
- package/dist/diagram/controller.js.map +1 -0
- package/dist/diagram/export.d.ts +14 -0
- package/dist/diagram/export.js +115 -0
- package/dist/diagram/export.js.map +1 -0
- package/dist/diagram/geometry.d.ts +65 -0
- package/dist/diagram/geometry.js +219 -0
- package/dist/diagram/geometry.js.map +1 -0
- package/dist/diagram/index.d.ts +20 -0
- package/dist/diagram/index.js +12 -0
- package/dist/diagram/layout.d.ts +57 -0
- package/dist/diagram/layout.js +50 -0
- package/dist/diagram/layout.js.map +1 -0
- package/dist/diagram/messages.d.ts +28 -0
- package/dist/diagram/messages.js +30 -0
- package/dist/diagram/messages.js.map +1 -0
- package/dist/diagram/route.d.ts +81 -0
- package/dist/diagram/route.js +327 -0
- package/dist/diagram/route.js.map +1 -0
- package/dist/display/Accordion.d.ts +71 -0
- package/dist/display/Accordion.js +219 -0
- package/dist/display/Accordion.js.map +1 -0
- package/dist/display/AnimatedNumber.d.ts +44 -0
- package/dist/display/AnimatedNumber.js +97 -0
- package/dist/display/AnimatedNumber.js.map +1 -0
- package/dist/display/Avatar.d.ts +74 -0
- package/dist/display/Avatar.js +158 -0
- package/dist/display/Avatar.js.map +1 -0
- package/dist/display/AvatarGroup.d.ts +29 -0
- package/dist/display/AvatarGroup.js +67 -0
- package/dist/display/AvatarGroup.js.map +1 -0
- package/dist/display/Card.d.ts +219 -0
- package/dist/display/Card.js +319 -0
- package/dist/display/Card.js.map +1 -0
- package/dist/display/Checklist.d.ts +93 -0
- package/dist/display/Checklist.js +260 -0
- package/dist/display/Checklist.js.map +1 -0
- package/dist/display/Collapse.d.ts +24 -0
- package/dist/display/Collapse.js +65 -0
- package/dist/display/Collapse.js.map +1 -0
- package/dist/display/Collapsible.d.ts +12 -0
- package/dist/display/Collapsible.js +41 -0
- package/dist/display/Collapsible.js.map +1 -0
- package/dist/display/Descriptions.d.ts +88 -0
- package/dist/display/Descriptions.js +185 -0
- package/dist/display/Descriptions.js.map +1 -0
- package/dist/display/Ellipsis.d.ts +29 -0
- package/dist/display/Ellipsis.js +111 -0
- package/dist/display/Ellipsis.js.map +1 -0
- package/dist/display/FieldCompare.d.ts +58 -0
- package/dist/display/FieldCompare.js +205 -0
- package/dist/display/FieldCompare.js.map +1 -0
- package/dist/display/Gauge.d.ts +60 -0
- package/dist/display/Gauge.js +215 -0
- package/dist/display/Gauge.js.map +1 -0
- package/dist/display/Image.d.ts +87 -0
- package/dist/display/Image.js +212 -0
- package/dist/display/Image.js.map +1 -0
- package/dist/display/ItemList.d.ts +69 -0
- package/dist/display/ItemList.js +147 -0
- package/dist/display/ItemList.js.map +1 -0
- package/dist/display/Marquee.d.ts +59 -0
- package/dist/display/Marquee.js +155 -0
- package/dist/display/Marquee.js.map +1 -0
- package/dist/display/ProportionBar.d.ts +55 -0
- package/dist/display/ProportionBar.js +99 -0
- package/dist/display/ProportionBar.js.map +1 -0
- package/dist/display/Sortable.d.ts +43 -0
- package/dist/display/Sortable.js +163 -0
- package/dist/display/Sortable.js.map +1 -0
- package/dist/display/Sparkline.d.ts +48 -0
- package/dist/display/Sparkline.js +130 -0
- package/dist/display/Sparkline.js.map +1 -0
- package/dist/display/Stat.d.ts +105 -0
- package/dist/display/Stat.js +268 -0
- package/dist/display/Stat.js.map +1 -0
- package/dist/display/Timeline.d.ts +106 -0
- package/dist/display/Timeline.js +257 -0
- package/dist/display/Timeline.js.map +1 -0
- package/dist/display/Tree.d.ts +132 -0
- package/dist/display/Tree.js +645 -0
- package/dist/display/Tree.js.map +1 -0
- package/dist/display/VirtualList.d.ts +80 -0
- package/dist/display/VirtualList.js +166 -0
- package/dist/display/VirtualList.js.map +1 -0
- package/dist/display/Watermark.d.ts +39 -0
- package/dist/display/Watermark.js +130 -0
- package/dist/display/Watermark.js.map +1 -0
- package/dist/docs-kit/CodeGroup.d.ts +29 -0
- package/dist/docs-kit/CodeGroup.js +81 -0
- package/dist/docs-kit/CodeGroup.js.map +1 -0
- package/dist/docs-kit/CodePreview.d.ts +60 -0
- package/dist/docs-kit/CodePreview.js +183 -0
- package/dist/docs-kit/CodePreview.js.map +1 -0
- package/dist/docs-kit/ColorSwatch.d.ts +28 -0
- package/dist/docs-kit/ColorSwatch.js +85 -0
- package/dist/docs-kit/ColorSwatch.js.map +1 -0
- package/dist/docs-kit/PropsTable.d.ts +73 -0
- package/dist/docs-kit/PropsTable.js +122 -0
- package/dist/docs-kit/PropsTable.js.map +1 -0
- package/dist/docs-kit/index.d.ts +13 -0
- package/dist/docs-kit/index.js +6 -0
- package/dist/docs-kit/messages.d.ts +25 -0
- package/dist/docs-kit/messages.js +30 -0
- package/dist/docs-kit/messages.js.map +1 -0
- package/dist/feedback/Alert.d.ts +83 -0
- package/dist/feedback/Alert.js +179 -0
- package/dist/feedback/Alert.js.map +1 -0
- package/dist/feedback/Banner.d.ts +60 -0
- package/dist/feedback/Banner.js +122 -0
- package/dist/feedback/Banner.js.map +1 -0
- package/dist/feedback/Empty.d.ts +38 -0
- package/dist/feedback/Empty.js +114 -0
- package/dist/feedback/Empty.js.map +1 -0
- package/dist/feedback/LoadingBar.d.ts +45 -0
- package/dist/feedback/LoadingBar.js +124 -0
- package/dist/feedback/LoadingBar.js.map +1 -0
- package/dist/feedback/LoadingOverlay.d.ts +29 -0
- package/dist/feedback/LoadingOverlay.js +70 -0
- package/dist/feedback/LoadingOverlay.js.map +1 -0
- package/dist/feedback/Progress.d.ts +215 -0
- package/dist/feedback/Progress.js +437 -0
- package/dist/feedback/Progress.js.map +1 -0
- package/dist/feedback/Result.d.ts +69 -0
- package/dist/feedback/Result.js +165 -0
- package/dist/feedback/Result.js.map +1 -0
- package/dist/feedback/Skeleton.d.ts +50 -0
- package/dist/feedback/Skeleton.js +100 -0
- package/dist/feedback/Skeleton.js.map +1 -0
- package/dist/feedback/SkeletonText.d.ts +25 -0
- package/dist/feedback/SkeletonText.js +40 -0
- package/dist/feedback/SkeletonText.js.map +1 -0
- package/dist/feedback/Toast.d.ts +204 -0
- package/dist/feedback/Toast.js +572 -0
- package/dist/feedback/Toast.js.map +1 -0
- package/dist/form/Field.d.ts +165 -0
- package/dist/form/Field.js +338 -0
- package/dist/form/Field.js.map +1 -0
- package/dist/form/Form.d.ts +14 -0
- package/dist/form/Form.js +66 -0
- package/dist/form/Form.js.map +1 -0
- package/dist/form/FormErrorSummary.d.ts +23 -0
- package/dist/form/FormErrorSummary.js +102 -0
- package/dist/form/FormErrorSummary.js.map +1 -0
- package/dist/form/FormSection.d.ts +66 -0
- package/dist/form/FormSection.js +227 -0
- package/dist/form/FormSection.js.map +1 -0
- package/dist/form/FormValue.d.ts +17 -0
- package/dist/form/FormValue.js +40 -0
- package/dist/form/FormValue.js.map +1 -0
- package/dist/form/field-layout.d.ts +34 -0
- package/dist/form/field-layout.js +39 -0
- package/dist/form/field-layout.js.map +1 -0
- package/dist/form/form-constraints.d.ts +38 -0
- package/dist/form/form-constraints.js +131 -0
- package/dist/form/form-constraints.js.map +1 -0
- package/dist/form/leave-confirmation.d.ts +9 -0
- package/dist/form/leave-confirmation.js +31 -0
- package/dist/form/leave-confirmation.js.map +1 -0
- package/dist/form/schemas.d.ts +52 -0
- package/dist/form/schemas.js +97 -0
- package/dist/form/schemas.js.map +1 -0
- package/dist/form/useForm.d.ts +195 -0
- package/dist/form/useForm.js +416 -0
- package/dist/form/useForm.js.map +1 -0
- package/dist/index.d.ts +285 -0
- package/dist/index.js +285 -0
- package/dist/input/Autocomplete.d.ts +14 -0
- package/dist/input/Autocomplete.js +35 -0
- package/dist/input/Autocomplete.js.map +1 -0
- package/dist/input/Cascader.d.ts +86 -0
- package/dist/input/Cascader.js +593 -0
- package/dist/input/Cascader.js.map +1 -0
- package/dist/input/CharacterCount.d.ts +21 -0
- package/dist/input/CharacterCount.js +47 -0
- package/dist/input/CharacterCount.js.map +1 -0
- package/dist/input/Checkbox.d.ts +93 -0
- package/dist/input/Checkbox.js +250 -0
- package/dist/input/Checkbox.js.map +1 -0
- package/dist/input/ColorField.d.ts +37 -0
- package/dist/input/ColorField.js +143 -0
- package/dist/input/ColorField.js.map +1 -0
- package/dist/input/Combobox.d.ts +75 -0
- package/dist/input/Combobox.js +321 -0
- package/dist/input/Combobox.js.map +1 -0
- package/dist/input/ConditionBuilder.d.ts +55 -0
- package/dist/input/ConditionBuilder.js +471 -0
- package/dist/input/ConditionBuilder.js.map +1 -0
- package/dist/input/ControlGroup.d.ts +26 -0
- package/dist/input/ControlGroup.js +50 -0
- package/dist/input/ControlGroup.js.map +1 -0
- package/dist/input/FileDrop.d.ts +49 -0
- package/dist/input/FileDrop.js +201 -0
- package/dist/input/FileDrop.js.map +1 -0
- package/dist/input/ListPopover.d.ts +39 -0
- package/dist/input/ListPopover.js +81 -0
- package/dist/input/ListPopover.js.map +1 -0
- package/dist/input/Listbox.d.ts +91 -0
- package/dist/input/Listbox.js +408 -0
- package/dist/input/Listbox.js.map +1 -0
- package/dist/input/Mentions.d.ts +74 -0
- package/dist/input/Mentions.js +287 -0
- package/dist/input/Mentions.js.map +1 -0
- package/dist/input/NumberField.d.ts +64 -0
- package/dist/input/NumberField.js +288 -0
- package/dist/input/NumberField.js.map +1 -0
- package/dist/input/NumberRangeField.d.ts +58 -0
- package/dist/input/NumberRangeField.js +157 -0
- package/dist/input/NumberRangeField.js.map +1 -0
- package/dist/input/OtpField.d.ts +58 -0
- package/dist/input/OtpField.js +200 -0
- package/dist/input/OtpField.js.map +1 -0
- package/dist/input/PeoplePicker.d.ts +42 -0
- package/dist/input/PeoplePicker.js +185 -0
- package/dist/input/PeoplePicker.js.map +1 -0
- package/dist/input/PeoplePickerPanel.d.ts +42 -0
- package/dist/input/PeoplePickerPanel.js +357 -0
- package/dist/input/PeoplePickerPanel.js.map +1 -0
- package/dist/input/Radio.d.ts +90 -0
- package/dist/input/Radio.js +211 -0
- package/dist/input/Radio.js.map +1 -0
- package/dist/input/Rating.d.ts +62 -0
- package/dist/input/Rating.js +225 -0
- package/dist/input/Rating.js.map +1 -0
- package/dist/input/Select.d.ts +97 -0
- package/dist/input/Select.js +455 -0
- package/dist/input/Select.js.map +1 -0
- package/dist/input/SelectedTags.d.ts +28 -0
- package/dist/input/SelectedTags.js +81 -0
- package/dist/input/SelectedTags.js.map +1 -0
- package/dist/input/Slider.d.ts +99 -0
- package/dist/input/Slider.js +343 -0
- package/dist/input/Slider.js.map +1 -0
- package/dist/input/Switch.d.ts +63 -0
- package/dist/input/Switch.js +198 -0
- package/dist/input/Switch.js.map +1 -0
- package/dist/input/TagsInput.d.ts +70 -0
- package/dist/input/TagsInput.js +314 -0
- package/dist/input/TagsInput.js.map +1 -0
- package/dist/input/TextField.d.ts +51 -0
- package/dist/input/TextField.js +185 -0
- package/dist/input/TextField.js.map +1 -0
- package/dist/input/Textarea.d.ts +50 -0
- package/dist/input/Textarea.js +146 -0
- package/dist/input/Textarea.js.map +1 -0
- package/dist/input/ToggleGroup.d.ts +82 -0
- package/dist/input/ToggleGroup.js +211 -0
- package/dist/input/ToggleGroup.js.map +1 -0
- package/dist/input/Transfer.d.ts +67 -0
- package/dist/input/Transfer.js +407 -0
- package/dist/input/Transfer.js.map +1 -0
- package/dist/input/TreeSelect.d.ts +94 -0
- package/dist/input/TreeSelect.js +412 -0
- package/dist/input/TreeSelect.js.map +1 -0
- package/dist/input/Upload.d.ts +143 -0
- package/dist/input/Upload.js +598 -0
- package/dist/input/Upload.js.map +1 -0
- package/dist/input/choice-styles.d.ts +117 -0
- package/dist/input/choice-styles.js +176 -0
- package/dist/input/choice-styles.js.map +1 -0
- package/dist/input/condition.d.ts +153 -0
- package/dist/input/condition.js +187 -0
- package/dist/input/condition.js.map +1 -0
- package/dist/input/control.d.ts +160 -0
- package/dist/input/control.js +236 -0
- package/dist/input/control.js.map +1 -0
- package/dist/input/list-state.d.ts +118 -0
- package/dist/input/list-state.js +186 -0
- package/dist/input/list-state.js.map +1 -0
- package/dist/input/people.d.ts +66 -0
- package/dist/input/people.js +47 -0
- package/dist/input/people.js.map +1 -0
- package/dist/input/remote-items.d.ts +22 -0
- package/dist/input/remote-items.js +41 -0
- package/dist/input/remote-items.js.map +1 -0
- package/dist/input/text-format.d.ts +46 -0
- package/dist/input/text-format.js +64 -0
- package/dist/input/text-format.js.map +1 -0
- package/dist/layout/Affix.d.ts +32 -0
- package/dist/layout/Affix.js +81 -0
- package/dist/layout/Affix.js.map +1 -0
- package/dist/layout/AsideLayout.d.ts +45 -0
- package/dist/layout/AsideLayout.js +69 -0
- package/dist/layout/AsideLayout.js.map +1 -0
- package/dist/layout/BackTop.d.ts +16 -0
- package/dist/layout/BackTop.js +83 -0
- package/dist/layout/BackTop.js.map +1 -0
- package/dist/layout/Container.d.ts +60 -0
- package/dist/layout/Container.js +62 -0
- package/dist/layout/Container.js.map +1 -0
- package/dist/layout/Flex.d.ts +116 -0
- package/dist/layout/Flex.js +109 -0
- package/dist/layout/Flex.js.map +1 -0
- package/dist/layout/Grid.d.ts +139 -0
- package/dist/layout/Grid.js +168 -0
- package/dist/layout/Grid.js.map +1 -0
- package/dist/layout/PageScrollbar.d.ts +20 -0
- package/dist/layout/PageScrollbar.js +49 -0
- package/dist/layout/PageScrollbar.js.map +1 -0
- package/dist/layout/Prose.d.ts +19 -0
- package/dist/layout/Prose.js +37 -0
- package/dist/layout/Prose.js.map +1 -0
- package/dist/layout/ResizeHandle.d.ts +28 -0
- package/dist/layout/ResizeHandle.js +94 -0
- package/dist/layout/ResizeHandle.js.map +1 -0
- package/dist/layout/ScrollArea.d.ts +99 -0
- package/dist/layout/ScrollArea.js +344 -0
- package/dist/layout/ScrollArea.js.map +1 -0
- package/dist/layout/Separator.d.ts +47 -0
- package/dist/layout/Separator.js +96 -0
- package/dist/layout/Separator.js.map +1 -0
- package/dist/layout/Splitter.d.ts +75 -0
- package/dist/layout/Splitter.js +236 -0
- package/dist/layout/Splitter.js.map +1 -0
- package/dist/layout/ViewportFill.d.ts +26 -0
- package/dist/layout/ViewportFill.js +59 -0
- package/dist/layout/ViewportFill.js.map +1 -0
- package/dist/navigation/Breadcrumbs.d.ts +59 -0
- package/dist/navigation/Breadcrumbs.js +150 -0
- package/dist/navigation/Breadcrumbs.js.map +1 -0
- package/dist/navigation/NavBar.d.ts +35 -0
- package/dist/navigation/NavBar.js +182 -0
- package/dist/navigation/NavBar.js.map +1 -0
- package/dist/navigation/NavList.d.ts +112 -0
- package/dist/navigation/NavList.js +375 -0
- package/dist/navigation/NavList.js.map +1 -0
- package/dist/navigation/PageJump.d.ts +27 -0
- package/dist/navigation/PageJump.js +77 -0
- package/dist/navigation/PageJump.js.map +1 -0
- package/dist/navigation/PageSizeSelect.d.ts +19 -0
- package/dist/navigation/PageSizeSelect.js +65 -0
- package/dist/navigation/PageSizeSelect.js.map +1 -0
- package/dist/navigation/Pager.d.ts +30 -0
- package/dist/navigation/Pager.js +111 -0
- package/dist/navigation/Pager.js.map +1 -0
- package/dist/navigation/Pagination.d.ts +51 -0
- package/dist/navigation/Pagination.js +157 -0
- package/dist/navigation/Pagination.js.map +1 -0
- package/dist/navigation/PaginationBar.d.ts +54 -0
- package/dist/navigation/PaginationBar.js +125 -0
- package/dist/navigation/PaginationBar.js.map +1 -0
- package/dist/navigation/SkipLink.d.ts +16 -0
- package/dist/navigation/SkipLink.js +58 -0
- package/dist/navigation/SkipLink.js.map +1 -0
- package/dist/navigation/Steps.d.ts +93 -0
- package/dist/navigation/Steps.js +198 -0
- package/dist/navigation/Steps.js.map +1 -0
- package/dist/navigation/TableOfContents.d.ts +32 -0
- package/dist/navigation/TableOfContents.js +119 -0
- package/dist/navigation/TableOfContents.js.map +1 -0
- package/dist/navigation/Tabs.d.ts +208 -0
- package/dist/navigation/Tabs.js +626 -0
- package/dist/navigation/Tabs.js.map +1 -0
- package/dist/navigation/Toolbar.d.ts +39 -0
- package/dist/navigation/Toolbar.js +67 -0
- package/dist/navigation/Toolbar.js.map +1 -0
- package/dist/overlay/AlertDialog.d.ts +43 -0
- package/dist/overlay/AlertDialog.js +106 -0
- package/dist/overlay/AlertDialog.js.map +1 -0
- package/dist/overlay/CommandPalette.d.ts +64 -0
- package/dist/overlay/CommandPalette.js +250 -0
- package/dist/overlay/CommandPalette.js.map +1 -0
- package/dist/overlay/ContextMenu.d.ts +21 -0
- package/dist/overlay/ContextMenu.js +76 -0
- package/dist/overlay/ContextMenu.js.map +1 -0
- package/dist/overlay/Dialog.d.ts +70 -0
- package/dist/overlay/Dialog.js +91 -0
- package/dist/overlay/Dialog.js.map +1 -0
- package/dist/overlay/Drawer.d.ts +186 -0
- package/dist/overlay/Drawer.js +214 -0
- package/dist/overlay/Drawer.js.map +1 -0
- package/dist/overlay/HoverCard.d.ts +48 -0
- package/dist/overlay/HoverCard.js +86 -0
- package/dist/overlay/HoverCard.js.map +1 -0
- package/dist/overlay/Lightbox.d.ts +57 -0
- package/dist/overlay/Lightbox.js +374 -0
- package/dist/overlay/Lightbox.js.map +1 -0
- package/dist/overlay/Menu.d.ts +218 -0
- package/dist/overlay/Menu.js +816 -0
- package/dist/overlay/Menu.js.map +1 -0
- package/dist/overlay/ModalCore.d.ts +132 -0
- package/dist/overlay/ModalCore.js +274 -0
- package/dist/overlay/ModalCore.js.map +1 -0
- package/dist/overlay/Popconfirm.d.ts +49 -0
- package/dist/overlay/Popconfirm.js +167 -0
- package/dist/overlay/Popconfirm.js.map +1 -0
- package/dist/overlay/Popover.d.ts +40 -0
- package/dist/overlay/Popover.js +96 -0
- package/dist/overlay/Popover.js.map +1 -0
- package/dist/overlay/Tooltip.d.ts +47 -0
- package/dist/overlay/Tooltip.js +86 -0
- package/dist/overlay/Tooltip.js.map +1 -0
- package/dist/overlay/Tour.d.ts +74 -0
- package/dist/overlay/Tour.js +309 -0
- package/dist/overlay/Tour.js.map +1 -0
- package/dist/overlay/detached.d.ts +40 -0
- package/dist/overlay/detached.js +109 -0
- package/dist/overlay/detached.js.map +1 -0
- package/dist/patterns/ActionBar.d.ts +29 -0
- package/dist/patterns/ActionBar.js +75 -0
- package/dist/patterns/ActionBar.js.map +1 -0
- package/dist/patterns/AppShell.d.ts +168 -0
- package/dist/patterns/AppShell.js +620 -0
- package/dist/patterns/AppShell.js.map +1 -0
- package/dist/patterns/CommentThread.d.ts +128 -0
- package/dist/patterns/CommentThread.js +386 -0
- package/dist/patterns/CommentThread.js.map +1 -0
- package/dist/patterns/DataImport.d.ts +72 -0
- package/dist/patterns/DataImport.js +486 -0
- package/dist/patterns/DataImport.js.map +1 -0
- package/dist/patterns/DeadlineBadge.d.ts +21 -0
- package/dist/patterns/DeadlineBadge.js +76 -0
- package/dist/patterns/DeadlineBadge.js.map +1 -0
- package/dist/patterns/FilterBar.d.ts +66 -0
- package/dist/patterns/FilterBar.js +254 -0
- package/dist/patterns/FilterBar.js.map +1 -0
- package/dist/patterns/KanbanBoard.d.ts +79 -0
- package/dist/patterns/KanbanBoard.js +294 -0
- package/dist/patterns/KanbanBoard.js.map +1 -0
- package/dist/patterns/NotificationCenter.d.ts +110 -0
- package/dist/patterns/NotificationCenter.js +342 -0
- package/dist/patterns/NotificationCenter.js.map +1 -0
- package/dist/patterns/PageTabs.d.ts +30 -0
- package/dist/patterns/PageTabs.js +97 -0
- package/dist/patterns/PageTabs.js.map +1 -0
- package/dist/patterns/QueryTable.d.ts +67 -0
- package/dist/patterns/QueryTable.js +301 -0
- package/dist/patterns/QueryTable.js.map +1 -0
- package/dist/patterns/StepsForm.d.ts +49 -0
- package/dist/patterns/StepsForm.js +130 -0
- package/dist/patterns/StepsForm.js.map +1 -0
- package/dist/patterns/ThemeSwitcher.d.ts +20 -0
- package/dist/patterns/ThemeSwitcher.js +102 -0
- package/dist/patterns/ThemeSwitcher.js.map +1 -0
- package/dist/patterns/form-dialog.d.ts +62 -0
- package/dist/patterns/form-dialog.js +143 -0
- package/dist/patterns/form-dialog.js.map +1 -0
- package/dist/patterns/index.d.ts +24 -0
- package/dist/patterns/index.js +15 -0
- package/dist/patterns/messages.d.ts +174 -0
- package/dist/patterns/messages.js +186 -0
- package/dist/patterns/messages.js.map +1 -0
- package/dist/table/ColumnHeaderActions.d.ts +71 -0
- package/dist/table/ColumnHeaderActions.js +247 -0
- package/dist/table/ColumnHeaderActions.js.map +1 -0
- package/dist/table/ColumnResizer.d.ts +12 -0
- package/dist/table/ColumnResizer.js +32 -0
- package/dist/table/ColumnResizer.js.map +1 -0
- package/dist/table/ColumnSettings.d.ts +34 -0
- package/dist/table/ColumnSettings.js +136 -0
- package/dist/table/ColumnSettings.js.map +1 -0
- package/dist/table/ColumnTable.d.ts +51 -0
- package/dist/table/ColumnTable.js +140 -0
- package/dist/table/ColumnTable.js.map +1 -0
- package/dist/table/DataTable.d.ts +44 -0
- package/dist/table/DataTable.js +453 -0
- package/dist/table/DataTable.js.map +1 -0
- package/dist/table/DataTableView.d.ts +328 -0
- package/dist/table/DataTableView.js +963 -0
- package/dist/table/DataTableView.js.map +1 -0
- package/dist/table/PivotTable.d.ts +66 -0
- package/dist/table/PivotTable.js +122 -0
- package/dist/table/PivotTable.js.map +1 -0
- package/dist/table/SelectionBar.d.ts +29 -0
- package/dist/table/SelectionBar.js +86 -0
- package/dist/table/SelectionBar.js.map +1 -0
- package/dist/table/Table.d.ts +169 -0
- package/dist/table/Table.js +304 -0
- package/dist/table/Table.js.map +1 -0
- package/dist/table/TreeDataTable.d.ts +36 -0
- package/dist/table/TreeDataTable.js +168 -0
- package/dist/table/TreeDataTable.js.map +1 -0
- package/dist/table/column-display.d.ts +20 -0
- package/dist/table/column-display.js +43 -0
- package/dist/table/column-display.js.map +1 -0
- package/dist/table/columns.d.ts +244 -0
- package/dist/table/columns.js +271 -0
- package/dist/table/columns.js.map +1 -0
- package/dist/table/csv.d.ts +24 -0
- package/dist/table/csv.js +35 -0
- package/dist/table/csv.js.map +1 -0
- package/dist/table/pivot.d.ts +66 -0
- package/dist/table/pivot.js +85 -0
- package/dist/table/pivot.js.map +1 -0
- package/dist/table/sheet.d.ts +44 -0
- package/dist/table/sheet.js +78 -0
- package/dist/table/sheet.js.map +1 -0
- package/dist/table/table-styles.d.ts +136 -0
- package/dist/table/table-styles.js +403 -0
- package/dist/table/table-styles.js.map +1 -0
- package/dist/table/use-table-query.d.ts +89 -0
- package/dist/table/use-table-query.js +194 -0
- package/dist/table/use-table-query.js.map +1 -0
- package/dist/theme-customize/ThemeCustomizer.d.ts +63 -0
- package/dist/theme-customize/ThemeCustomizer.js +361 -0
- package/dist/theme-customize/ThemeCustomizer.js.map +1 -0
- package/dist/theme-customize/ThemeThumbnail.d.ts +20 -0
- package/dist/theme-customize/ThemeThumbnail.js +82 -0
- package/dist/theme-customize/ThemeThumbnail.js.map +1 -0
- package/dist/theme-customize/contrast.d.ts +27 -0
- package/dist/theme-customize/contrast.js +251 -0
- package/dist/theme-customize/contrast.js.map +1 -0
- package/dist/theme-customize/customize.d.ts +65 -0
- package/dist/theme-customize/customize.js +105 -0
- package/dist/theme-customize/customize.js.map +1 -0
- package/dist/theme-customize/design-tokens.d.ts +31 -0
- package/dist/theme-customize/design-tokens.js +183 -0
- package/dist/theme-customize/design-tokens.js.map +1 -0
- package/dist/theme-customize/index.d.ts +20 -0
- package/dist/theme-customize/index.js +9 -0
- package/dist/theme-customize/messages.d.ts +74 -0
- package/dist/theme-customize/messages.js +142 -0
- package/dist/theme-customize/messages.js.map +1 -0
- package/dist/theme-customize/palette.d.ts +898 -0
- package/dist/theme-customize/palette.js +111 -0
- package/dist/theme-customize/palette.js.map +1 -0
- package/dist/theme-customize/token-catalog.d.ts +20 -0
- package/dist/theme-customize/token-catalog.js +836 -0
- package/dist/theme-customize/token-catalog.js.map +1 -0
- package/dist/three/background/AuroraBackground.d.ts +30 -0
- package/dist/three/background/AuroraBackground.js +80 -0
- package/dist/three/background/AuroraBackground.js.map +1 -0
- package/dist/three/background/MeshGradient.d.ts +28 -0
- package/dist/three/background/MeshGradient.js +76 -0
- package/dist/three/background/MeshGradient.js.map +1 -0
- package/dist/three/background/ShaderBackground.d.ts +25 -0
- package/dist/three/background/ShaderBackground.js +107 -0
- package/dist/three/background/ShaderBackground.js.map +1 -0
- package/dist/three/core/EffectSurface.d.ts +41 -0
- package/dist/three/core/EffectSurface.js +62 -0
- package/dist/three/core/EffectSurface.js.map +1 -0
- package/dist/three/core/ThreeCanvas.d.ts +39 -0
- package/dist/three/core/ThreeCanvas.js +77 -0
- package/dist/three/core/ThreeCanvas.js.map +1 -0
- package/dist/three/core/dispose.d.ts +9 -0
- package/dist/three/core/dispose.js +26 -0
- package/dist/three/core/dispose.js.map +1 -0
- package/dist/three/core/orbit.d.ts +31 -0
- package/dist/three/core/orbit.js +83 -0
- package/dist/three/core/orbit.js.map +1 -0
- package/dist/three/core/quality.d.ts +59 -0
- package/dist/three/core/quality.js +80 -0
- package/dist/three/core/quality.js.map +1 -0
- package/dist/three/core/renderer.d.ts +110 -0
- package/dist/three/core/renderer.js +303 -0
- package/dist/three/core/renderer.js.map +1 -0
- package/dist/three/core/shaders.d.ts +19 -0
- package/dist/three/core/shaders.js +100 -0
- package/dist/three/core/shaders.js.map +1 -0
- package/dist/three/core/theme-colors.d.ts +30 -0
- package/dist/three/core/theme-colors.js +113 -0
- package/dist/three/core/theme-colors.js.map +1 -0
- package/dist/three/effects/Confetti.d.ts +62 -0
- package/dist/three/effects/Confetti.js +242 -0
- package/dist/three/effects/Confetti.js.map +1 -0
- package/dist/three/effects/ParticleField.d.ts +39 -0
- package/dist/three/effects/ParticleField.js +266 -0
- package/dist/three/effects/ParticleField.js.map +1 -0
- package/dist/three/effects/WaveGrid.d.ts +37 -0
- package/dist/three/effects/WaveGrid.js +130 -0
- package/dist/three/effects/WaveGrid.js.map +1 -0
- package/dist/three/globe/Globe.d.ts +70 -0
- package/dist/three/globe/Globe.js +337 -0
- package/dist/three/globe/Globe.js.map +1 -0
- package/dist/three/globe/land.d.ts +9 -0
- package/dist/three/globe/land.js +14 -0
- package/dist/three/globe/land.js.map +1 -0
- package/dist/three/index.d.ts +24 -0
- package/dist/three/index.js +18 -0
- package/dist/three/model/ModelViewer.d.ts +63 -0
- package/dist/three/model/ModelViewer.js +193 -0
- package/dist/three/model/ModelViewer.js.map +1 -0
- package/dist/utils/data/clone.d.ts +8 -0
- package/dist/utils/data/clone.js +21 -0
- package/dist/utils/data/clone.js.map +1 -0
- package/dist/utils/data/collation.d.ts +36 -0
- package/dist/utils/data/collation.js +69 -0
- package/dist/utils/data/collation.js.map +1 -0
- package/dist/utils/data/color.d.ts +32 -0
- package/dist/utils/data/color.js +90 -0
- package/dist/utils/data/color.js.map +1 -0
- package/dist/utils/data/date.d.ts +196 -0
- package/dist/utils/data/date.js +421 -0
- package/dist/utils/data/date.js.map +1 -0
- package/dist/utils/data/diff.d.ts +21 -0
- package/dist/utils/data/diff.js +43 -0
- package/dist/utils/data/diff.js.map +1 -0
- package/dist/utils/data/equality.d.ts +5 -0
- package/dist/utils/data/equality.js +24 -0
- package/dist/utils/data/equality.js.map +1 -0
- package/dist/utils/data/history.d.ts +59 -0
- package/dist/utils/data/history.js +132 -0
- package/dist/utils/data/history.js.map +1 -0
- package/dist/utils/data/intl-cache.d.ts +8 -0
- package/dist/utils/data/intl-cache.js +19 -0
- package/dist/utils/data/intl-cache.js.map +1 -0
- package/dist/utils/data/number-parse.d.ts +7 -0
- package/dist/utils/data/number-parse.js +45 -0
- package/dist/utils/data/number-parse.js.map +1 -0
- package/dist/utils/data/number.d.ts +10 -0
- package/dist/utils/data/number.js +28 -0
- package/dist/utils/data/number.js.map +1 -0
- package/dist/utils/data/numeric.d.ts +62 -0
- package/dist/utils/data/numeric.js +178 -0
- package/dist/utils/data/numeric.js.map +1 -0
- package/dist/utils/data/pagination.d.ts +21 -0
- package/dist/utils/data/pagination.js +22 -0
- package/dist/utils/data/pagination.js.map +1 -0
- package/dist/utils/data/selection.d.ts +41 -0
- package/dist/utils/data/selection.js +21 -0
- package/dist/utils/data/selection.js.map +1 -0
- package/dist/utils/data/status.d.ts +43 -0
- package/dist/utils/data/status.js +27 -0
- package/dist/utils/data/status.js.map +1 -0
- package/dist/utils/data/text.d.ts +12 -0
- package/dist/utils/data/text.js +30 -0
- package/dist/utils/data/text.js.map +1 -0
- package/dist/utils/data/tree.d.ts +140 -0
- package/dist/utils/data/tree.js +273 -0
- package/dist/utils/data/tree.js.map +1 -0
- package/dist/utils/data/workdays.d.ts +67 -0
- package/dist/utils/data/workdays.js +67 -0
- package/dist/utils/data/workdays.js.map +1 -0
- package/dist/utils/dom/announcer.d.ts +11 -0
- package/dist/utils/dom/announcer.js +53 -0
- package/dist/utils/dom/announcer.js.map +1 -0
- package/dist/utils/dom/caret.d.ts +14 -0
- package/dist/utils/dom/caret.js +72 -0
- package/dist/utils/dom/caret.js.map +1 -0
- package/dist/utils/dom/clipboard.d.ts +16 -0
- package/dist/utils/dom/clipboard.js +66 -0
- package/dist/utils/dom/clipboard.js.map +1 -0
- package/dist/utils/dom/direction.d.ts +12 -0
- package/dist/utils/dom/direction.js +20 -0
- package/dist/utils/dom/direction.js.map +1 -0
- package/dist/utils/dom/download.d.ts +14 -0
- package/dist/utils/dom/download.js +36 -0
- package/dist/utils/dom/download.js.map +1 -0
- package/dist/utils/dom/element.d.ts +3 -0
- package/dist/utils/dom/element.js +12 -0
- package/dist/utils/dom/element.js.map +1 -0
- package/dist/utils/dom/event-listener.d.ts +8 -0
- package/dist/utils/dom/event-listener.js +35 -0
- package/dist/utils/dom/event-listener.js.map +1 -0
- package/dist/utils/dom/floating.d.ts +149 -0
- package/dist/utils/dom/floating.js +262 -0
- package/dist/utils/dom/floating.js.map +1 -0
- package/dist/utils/dom/focus.d.ts +28 -0
- package/dist/utils/dom/focus.js +105 -0
- package/dist/utils/dom/focus.js.map +1 -0
- package/dist/utils/dom/fullscreen.d.ts +11 -0
- package/dist/utils/dom/fullscreen.js +43 -0
- package/dist/utils/dom/fullscreen.js.map +1 -0
- package/dist/utils/dom/hotkeys.d.ts +43 -0
- package/dist/utils/dom/hotkeys.js +174 -0
- package/dist/utils/dom/hotkeys.js.map +1 -0
- package/dist/utils/dom/hover-intent.d.ts +47 -0
- package/dist/utils/dom/hover-intent.js +72 -0
- package/dist/utils/dom/hover-intent.js.map +1 -0
- package/dist/utils/dom/hover-layer.d.ts +36 -0
- package/dist/utils/dom/hover-layer.js +74 -0
- package/dist/utils/dom/hover-layer.js.map +1 -0
- package/dist/utils/dom/intersection.d.ts +13 -0
- package/dist/utils/dom/intersection.js +36 -0
- package/dist/utils/dom/intersection.js.map +1 -0
- package/dist/utils/dom/layout-batch.d.ts +14 -0
- package/dist/utils/dom/layout-batch.js +26 -0
- package/dist/utils/dom/layout-batch.js.map +1 -0
- package/dist/utils/dom/link.d.ts +18 -0
- package/dist/utils/dom/link.js +44 -0
- package/dist/utils/dom/link.js.map +1 -0
- package/dist/utils/dom/media-query.d.ts +18 -0
- package/dist/utils/dom/media-query.js +36 -0
- package/dist/utils/dom/media-query.js.map +1 -0
- package/dist/utils/dom/move.d.ts +47 -0
- package/dist/utils/dom/move.js +69 -0
- package/dist/utils/dom/move.js.map +1 -0
- package/dist/utils/dom/open-change.d.ts +51 -0
- package/dist/utils/dom/open-change.js +21 -0
- package/dist/utils/dom/open-change.js.map +1 -0
- package/dist/utils/dom/overflow.d.ts +29 -0
- package/dist/utils/dom/overflow.js +108 -0
- package/dist/utils/dom/overflow.js.map +1 -0
- package/dist/utils/dom/overlay.d.ts +35 -0
- package/dist/utils/dom/overlay.js +104 -0
- package/dist/utils/dom/overlay.js.map +1 -0
- package/dist/utils/dom/page-visibility.d.ts +10 -0
- package/dist/utils/dom/page-visibility.js +22 -0
- package/dist/utils/dom/page-visibility.js.map +1 -0
- package/dist/utils/dom/pan-zoom.d.ts +109 -0
- package/dist/utils/dom/pan-zoom.js +257 -0
- package/dist/utils/dom/pan-zoom.js.map +1 -0
- package/dist/utils/dom/rasterize.d.ts +18 -0
- package/dist/utils/dom/rasterize.js +41 -0
- package/dist/utils/dom/rasterize.js.map +1 -0
- package/dist/utils/dom/resize.d.ts +4 -0
- package/dist/utils/dom/resize.js +65 -0
- package/dist/utils/dom/resize.js.map +1 -0
- package/dist/utils/dom/ripple.d.ts +40 -0
- package/dist/utils/dom/ripple.js +96 -0
- package/dist/utils/dom/ripple.js.map +1 -0
- package/dist/utils/dom/roving-focus.d.ts +44 -0
- package/dist/utils/dom/roving-focus.js +184 -0
- package/dist/utils/dom/roving-focus.js.map +1 -0
- package/dist/utils/dom/scroll-spy.d.ts +30 -0
- package/dist/utils/dom/scroll-spy.js +55 -0
- package/dist/utils/dom/scroll-spy.js.map +1 -0
- package/dist/utils/dom/sortable.d.ts +82 -0
- package/dist/utils/dom/sortable.js +437 -0
- package/dist/utils/dom/sortable.js.map +1 -0
- package/dist/utils/dom/storage.d.ts +21 -0
- package/dist/utils/dom/storage.js +66 -0
- package/dist/utils/dom/storage.js.map +1 -0
- package/dist/utils/dom/typeahead.d.ts +15 -0
- package/dist/utils/dom/typeahead.js +26 -0
- package/dist/utils/dom/typeahead.js.map +1 -0
- package/dist/utils/motion/active-indicator.d.ts +24 -0
- package/dist/utils/motion/active-indicator.js +58 -0
- package/dist/utils/motion/active-indicator.js.map +1 -0
- package/dist/utils/motion/animation.d.ts +58 -0
- package/dist/utils/motion/animation.js +83 -0
- package/dist/utils/motion/animation.js.map +1 -0
- package/dist/utils/motion/delayed-loading.d.ts +18 -0
- package/dist/utils/motion/delayed-loading.js +38 -0
- package/dist/utils/motion/delayed-loading.js.map +1 -0
- package/dist/utils/motion/layout.d.ts +17 -0
- package/dist/utils/motion/layout.js +43 -0
- package/dist/utils/motion/layout.js.map +1 -0
- package/dist/utils/motion/pointer.d.ts +14 -0
- package/dist/utils/motion/pointer.js +72 -0
- package/dist/utils/motion/pointer.js.map +1 -0
- package/dist/utils/motion/presence.d.ts +57 -0
- package/dist/utils/motion/presence.js +100 -0
- package/dist/utils/motion/presence.js.map +1 -0
- package/dist/utils/motion/reveal.d.ts +9 -0
- package/dist/utils/motion/reveal.js +68 -0
- package/dist/utils/motion/reveal.js.map +1 -0
- package/dist/utils/motion/tween.d.ts +34 -0
- package/dist/utils/motion/tween.js +50 -0
- package/dist/utils/motion/tween.js.map +1 -0
- package/dist/utils/props.d.ts +84 -0
- package/dist/utils/props.js +189 -0
- package/dist/utils/props.js.map +1 -0
- package/dist/utils/request/error-message.d.ts +17 -0
- package/dist/utils/request/error-message.js +50 -0
- package/dist/utils/request/error-message.js.map +1 -0
- package/dist/utils/request/http.d.ts +165 -0
- package/dist/utils/request/http.js +247 -0
- package/dist/utils/request/http.js.map +1 -0
- package/dist/utils/request/use-autosave.d.ts +35 -0
- package/dist/utils/request/use-autosave.js +69 -0
- package/dist/utils/request/use-autosave.js.map +1 -0
- package/dist/utils/request/use-request.d.ts +37 -0
- package/dist/utils/request/use-request.js +90 -0
- package/dist/utils/request/use-request.js.map +1 -0
- package/dist/utils/request/wire.d.ts +48 -0
- package/dist/utils/request/wire.js +208 -0
- package/dist/utils/request/wire.js.map +1 -0
- package/dist/utils/style/attached.d.ts +25 -0
- package/dist/utils/style/attached.js +82 -0
- package/dist/utils/style/attached.js.map +1 -0
- package/dist/utils/style/item-styles.d.ts +18 -0
- package/dist/utils/style/item-styles.js +79 -0
- package/dist/utils/style/item-styles.js.map +1 -0
- package/dist/utils/style/markers.d.ts +6 -0
- package/dist/utils/style/markers.js +11 -0
- package/dist/utils/style/markers.js.map +1 -0
- package/dist/utils/style/shimmer.d.ts +20 -0
- package/dist/utils/style/shimmer.js +58 -0
- package/dist/utils/style/shimmer.js.map +1 -0
- package/dist/utils/style/styles.d.ts +118 -0
- package/dist/utils/style/styles.js +114 -0
- package/dist/utils/style/styles.js.map +1 -0
- package/dist/utils/style/swatch-styles.d.ts +10 -0
- package/dist/utils/style/swatch-styles.js +19 -0
- package/dist/utils/style/swatch-styles.js.map +1 -0
- package/dist/utils/style/tone-styles.d.ts +58 -0
- package/dist/utils/style/tone-styles.js +180 -0
- package/dist/utils/style/tone-styles.js.map +1 -0
- package/dist/utils/style/transitions.d.ts +43 -0
- package/dist/utils/style/transitions.js +118 -0
- package/dist/utils/style/transitions.js.map +1 -0
- package/dist/utils/style/typography.d.ts +155 -0
- package/dist/utils/style/typography.js +80 -0
- package/dist/utils/style/typography.js.map +1 -0
- package/dist/utils/style/vars.d.ts +18 -0
- package/dist/utils/style/vars.js +21 -0
- package/dist/utils/style/vars.js.map +1 -0
- package/dist/utils/virtual/use-virtualizer.d.ts +43 -0
- package/dist/utils/virtual/use-virtualizer.js +94 -0
- package/dist/utils/virtual/use-virtualizer.js.map +1 -0
- package/dist/utils/virtual/virtualizer.d.ts +145 -0
- package/dist/utils/virtual/virtualizer.js +316 -0
- package/dist/utils/virtual/virtualizer.js.map +1 -0
- package/dist/xlsx/index.d.ts +7 -0
- package/dist/xlsx/index.js +1 -0
- package/dist/xlsx/workbook.d.ts +33 -0
- package/dist/xlsx/workbook.js +195 -0
- package/dist/xlsx/workbook.js.map +1 -0
- package/package.json +258 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric.js","names":[],"sources":["../../../src/utils/data/numeric.ts"],"sourcesContent":["/**\n * 内置支持的数值类型:number、bigint 与 decimal.js 的 Decimal(金额、精确运算)。\n * 组件的数值属性都接受它们(NumericValue),排序、格式化、表单提交不丢精度。\n *\n * compareNumeric(new Decimal('1.5'), 1.25) // 1:不同类型也按大小比\n * numericText(new Decimal('1e21')) // '1000000000000000000000':提交给服务端的十进制文本\n *\n * 这里不在运行时导入 decimal.js:按实例自己的构造函数识别与运算(使用方可能用 Decimal.clone 配了精度),\n * 没用到 Decimal 的应用不会因此打包它。\n */\nimport type Decimal from 'decimal.js';\nimport { snapToStep } from './number';\n\n/** 组件接受的数值 */\nexport type NumericValue = number | bigint | Decimal;\n\ntype DecimalConstructor = typeof Decimal;\n\n/** 是不是 decimal.js 的 Decimal(含 Decimal.clone 出来的构造函数的实例) */\nexport function isDecimal(value: unknown): value is Decimal {\n if (typeof value !== 'object' || value === null) return false;\n const constructor = (value as { constructor?: Partial<DecimalConstructor> }).constructor;\n return typeof constructor?.isDecimal === 'function' && constructor.isDecimal(value);\n}\n\n/** 能读成数字的文字:接口常把金额给成十进制字符串('19.90');空白、Infinity、不是数字的都不算 */\nexport function isNumericText(value: unknown): value is string {\n return typeof value === 'string' && value.trim() !== '' && Number.isFinite(Number(value));\n}\n\n/** 是不是组件接受的数值(NaN 也算 number,由使用方决定怎么处理) */\nexport function isNumeric(value: unknown): value is NumericValue {\n return typeof value === 'number' || typeof value === 'bigint' || isDecimal(value);\n}\n\n/** 转成 number:只给需要浮点数的地方用(动画的中间帧、图表坐标、aria-valuenow),会丢精度 */\nexport function toNumber(value: NumericValue): number {\n if (typeof value === 'number') return value;\n if (typeof value === 'bigint') return Number(value);\n return value.toNumber();\n}\n\n/** 十进制文本,不用科学计数法:表单提交、复制给服务端;NaN、Infinity 原样 */\nexport function numericText(value: NumericValue): string {\n if (typeof value === 'bigint') return value.toString();\n if (typeof value === 'number') {\n if (!Number.isFinite(value)) return String(value);\n // 1e21 以上、1e-6 以下 String() 会写成科学计数法;toLocaleString 不带分组时给出完整的十进制\n const plain = value === 0 || (Math.abs(value) < 1e21 && Math.abs(value) >= 1e-6);\n return plain\n ? String(value)\n : value.toLocaleString('en-US', { useGrouping: false, maximumFractionDigits: 20 });\n }\n return value.isFinite() ? value.toFixed() : value.toString();\n}\n\n/**\n * 十进制文本的小数点左移 places 位(除以 10 的 places 次方;负数右移),按文字移位、不经过浮点数:\n * `shiftDecimal('155353.2', 4)` → `'15.53532'`。不是普通十进制写法的文本(NaN、科学计数法)原样返回\n */\nexport function shiftDecimal(text: string, places: number): string {\n const match = /^([+-]?)(\\d*)(?:\\.(\\d*))?$/.exec(text);\n if (!match || places === 0 || !/\\d/.test(text)) return text;\n const [, sign, whole = '', fraction = ''] = match;\n const digits = whole + fraction;\n const point = whole.length - places;\n const padded = point <= 0 ? '0'.repeat(1 - point) + digits : digits.padEnd(point, '0');\n const at = Math.max(point, 1);\n const integer = padded.slice(0, at).replace(/^0+(?=\\d)/, '');\n const decimal = padded.slice(at).replace(/0+$/, '');\n return `${sign}${integer}${decimal ? `.${decimal}` : ''}`;\n}\n\n/** 用 Decimal 的构造函数(从 a 或 b 里找)把两个值都转成 Decimal 比较 */\nfunction compareWithDecimal(a: NumericValue, b: NumericValue, Ctor: DecimalConstructor): number {\n const left = isDecimal(a) ? a : new Ctor(numericText(a));\n return left.cmp(isDecimal(b) ? b : new Ctor(numericText(b)));\n}\n\n/**\n * 按大小比较两个数值,不同类型混着也行:返回负数、0 或正数(同 Array.prototype.sort 的约定)。\n * 有 Decimal 时按十进制精确比较;number 与 bigint 之间不经过浮点数(大整数不丢精度);NaN 排在最后\n */\nexport function compareNumeric(a: NumericValue, b: NumericValue): number {\n if (typeof a === 'number' && Number.isNaN(a))\n return typeof b === 'number' && Number.isNaN(b) ? 0 : 1;\n if (typeof b === 'number' && Number.isNaN(b)) return -1;\n if (isDecimal(a)) return compareWithDecimal(a, b, a.constructor as DecimalConstructor);\n if (isDecimal(b)) return compareWithDecimal(a, b, b.constructor as DecimalConstructor);\n // number、bigint 之间:JavaScript 的关系运算符对混合类型按数学值比较,不丢精度\n return a < b ? -1 : a > b ? 1 : 0;\n}\n\n/** 十进制写法(可带指数):'19.90'、'-.5'、'1e3' */\nconst DECIMAL_TEXT =\n /^([+-]?)(\\d+)(?:\\.(\\d*))?(?:[eE]([+-]?\\d+))?$|^([+-]?)\\.(\\d+)(?:[eE]([+-]?\\d+))?$/;\n\n/** 拆开的十进制数:符号、去掉前导零的整数位、去掉末尾零的小数位 */\ninterface DecimalParts {\n negative: boolean;\n int: string;\n frac: string;\n}\n\nfunction decimalParts(text: string): DecimalParts | undefined {\n const match = DECIMAL_TEXT.exec(text);\n if (!match) return undefined;\n const [, sign1, int1, frac1, exp1, sign2, frac2, exp2] = match;\n const intDigits = int1 ?? '';\n const digits = intDigits + (frac1 ?? frac2 ?? '');\n // 小数点按指数移动后,再拆成整数位与小数位\n const point = intDigits.length + Number(exp1 ?? exp2 ?? 0);\n const padded =\n point < 0\n ? '0'.repeat(-point) + digits\n : point > digits.length\n ? digits + '0'.repeat(point - digits.length)\n : digits;\n const at = Math.max(point, 0);\n const int = padded.slice(0, at).replace(/^0+/, '');\n const frac = padded.slice(at).replace(/0+$/, '');\n return { negative: (sign1 ?? sign2) === '-' && (int !== '' || frac !== ''), int, frac };\n}\n\n/**\n * 能精确比较的值 → 十进制文本:number(NaN、Infinity 不算)、bigint、Decimal、十进制写法的文字;其余是 undefined。\n * 条件比较(input/condition.ts)用它:与流程引擎模型包的规则一致,长小数、大整数不丢精度\n */\nexport function decimalTextOf(value: unknown): string | undefined {\n if (typeof value === 'number') return Number.isFinite(value) ? String(value) : undefined;\n if (typeof value === 'bigint' || isDecimal(value)) return numericText(value);\n if (typeof value === 'string' && DECIMAL_TEXT.test(value.trim())) return value.trim();\n return undefined;\n}\n\n/** 两段十进制文本(decimalTextOf 给出的)按数值比:负数、0、正数;不经过浮点数 */\nexport function compareDecimalText(a: string, b: string): number {\n const x = decimalParts(a);\n const y = decimalParts(b);\n if (!x || !y) return a === b ? 0 : a < b ? -1 : 1;\n if (x.negative !== y.negative) return x.negative ? -1 : 1;\n let magnitude = 0;\n if (x.int.length !== y.int.length) magnitude = x.int.length < y.int.length ? -1 : 1;\n else if (x.int !== y.int) magnitude = x.int < y.int ? -1 : 1;\n else {\n const width = Math.max(x.frac.length, y.frac.length);\n const left = x.frac.padEnd(width, '0');\n const right = y.frac.padEnd(width, '0');\n magnitude = left === right ? 0 : left < right ? -1 : 1;\n }\n return x.negative ? -magnitude : magnitude;\n}\n\n/** 两个数值是否相等(1 与 1n、Decimal('1.0') 与 1 都算相等) */\nexport const sameNumeric = (a: NumericValue, b: NumericValue) => compareNumeric(a, b) === 0;\n\n/** 数值写回成什么类型:number、bigint,或某个 Decimal 构造函数(使用方 Decimal.clone 配过精度的也行) */\nexport type NumericKind = 'number' | 'bigint' | DecimalConstructor;\n\n/** 值的类型:Decimal 取它自己的构造函数 */\nexport function numericKind(value: NumericValue): NumericKind {\n if (typeof value === 'number') return 'number';\n if (typeof value === 'bigint') return 'bigint';\n return value.constructor as DecimalConstructor;\n}\n\n/** 十进制文本('-12.5')→ 整数,四舍五入(远离 0) */\nfunction roundedBigInt(text: string): bigint {\n const [whole = '0', fraction = ''] = text.replace(/^[+-]/, '').split('.');\n const negative = text.startsWith('-');\n let result = BigInt(whole || '0');\n if (Number(fraction[0] ?? 0) >= 5) result += 1n;\n return negative ? -result : result;\n}\n\n/**\n * 转成指定类型;value 也可以是十进制文本('-12.5',输入框解析出来的)。\n * bigint 四舍五入到整数,Decimal 按十进制文本转(不经过浮点数)\n */\nexport function toNumericKind(value: NumericValue | string, kind: NumericKind): NumericValue {\n const text = () => (typeof value === 'string' ? value : numericText(value));\n if (kind === 'number') return typeof value === 'string' ? Number(value) : toNumber(value);\n if (kind === 'bigint') return typeof value === 'bigint' ? value : roundedBigInt(text());\n return isDecimal(value) && value.constructor === kind ? value : new kind(text());\n}\n\n/** 按 kind 精确相加:Decimal 用它的构造函数算,bigint 整数相加,number 浮点相加(再由 snapNumeric 去掉误差) */\nexport function addNumeric(value: NumericValue, delta: NumericValue, kind: NumericKind) {\n const left = toNumericKind(value, kind);\n const right = toNumericKind(delta, kind);\n if (typeof left === 'number') return left + (right as number);\n if (typeof left === 'bigint') return left + (right as bigint);\n return (left as Decimal).plus(right as Decimal);\n}\n\n/** value 的 times 倍(times 是整数,如 -1、10),按 kind 精确运算 */\nexport function multiplyNumeric(value: NumericValue, times: number, kind: NumericKind) {\n const typed = toNumericKind(value, kind);\n if (typeof typed === 'number') return typed * times;\n if (typeof typed === 'bigint') return typed * BigInt(times);\n return (typed as Decimal).times(times);\n}\n\n/**\n * 夹在 [min, max] 之间并对齐到 min + n × step(没有 min 时对齐到 0 + n × step),按 kind 精确运算:\n * number 走 snapToStep(按小数位取整去掉浮点误差),bigint 的步长至少为 1,Decimal 用值自己的构造函数\n */\nexport function snapNumeric(\n value: NumericValue,\n step: NumericValue,\n min: NumericValue | undefined,\n max: NumericValue | undefined,\n kind: NumericKind,\n): NumericValue {\n if (kind === 'number') {\n return snapToStep(\n toNumber(value),\n toNumber(step),\n min == null ? -Infinity : toNumber(min),\n max == null ? Infinity : toNumber(max),\n );\n }\n const at = (item: NumericValue) => toNumericKind(item, kind);\n let snapped: NumericValue;\n if (kind === 'bigint') {\n const size = (at(step) as bigint) > 0n ? (at(step) as bigint) : 1n;\n const base = min == null ? 0n : (at(min) as bigint);\n const offset = (at(value) as bigint) - base;\n // 整数除法四舍五入(远离 0)\n const half = offset < 0n ? -size : size;\n snapped = base + ((2n * offset + half) / (2n * size)) * size;\n } else {\n const base = (min == null ? new kind(0) : at(min)) as Decimal;\n const size = at(step) as Decimal;\n snapped = base.plus((at(value) as Decimal).minus(base).div(size).round().times(size));\n }\n if (min != null && compareNumeric(snapped, min) < 0) snapped = at(min);\n if (max != null && compareNumeric(snapped, max) > 0) snapped = at(max);\n return snapped;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 分页的页码序列(纯函数,算法同 MUI 的 usePagination):首尾各留 boundaries 页、当前页左右各留 siblings 页,
|
|
3
|
+
* 中间用省略号;序列长度固定(页数够多时总是 2 × boundaries + 2 × siblings + 3 项),翻页时按钮不跳动。
|
|
4
|
+
*
|
|
5
|
+
* paginationItems({ page: 6, pageCount: 20 }) // [1, 'start-ellipsis', 5, 6, 7, 'end-ellipsis', 20]
|
|
6
|
+
*/
|
|
7
|
+
/** 省略号:start 在当前页之前,end 在之后(两者都可能出现,作为 key 要区分开) */
|
|
8
|
+
export type PaginationEllipsis = 'start-ellipsis' | 'end-ellipsis';
|
|
9
|
+
/** paginationItems 的参数 */
|
|
10
|
+
export interface PaginationOptions {
|
|
11
|
+
/** 当前页,从 1 开始 */
|
|
12
|
+
page: number;
|
|
13
|
+
/** 总页数 */
|
|
14
|
+
pageCount: number;
|
|
15
|
+
/** 当前页左右各显示几页,默认 1 */
|
|
16
|
+
siblings?: number;
|
|
17
|
+
/** 首尾各固定显示几页,默认 1 */
|
|
18
|
+
boundaries?: number;
|
|
19
|
+
}
|
|
20
|
+
/** 要显示的页码与省略号,依次排列 */
|
|
21
|
+
export declare function paginationItems({ page, pageCount, siblings, boundaries, }: PaginationOptions): (number | PaginationEllipsis)[];
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/utils/data/pagination.ts
|
|
2
|
+
var range = (from, to) => Array.from({ length: Math.max(0, to - from + 1) }, (_, index) => from + index);
|
|
3
|
+
/** 要显示的页码与省略号,依次排列 */
|
|
4
|
+
function paginationItems({ page, pageCount, siblings = 1, boundaries = 1 }) {
|
|
5
|
+
const startPages = range(1, Math.min(boundaries, pageCount));
|
|
6
|
+
const endPages = range(Math.max(pageCount - boundaries + 1, boundaries + 1), pageCount);
|
|
7
|
+
const siblingsStart = Math.max(Math.min(page - siblings, pageCount - boundaries - siblings * 2 - 1), boundaries + 2);
|
|
8
|
+
const siblingsEnd = Math.min(Math.max(page + siblings, boundaries + siblings * 2 + 2), endPages.length > 0 ? endPages[0] - 2 : pageCount - 1);
|
|
9
|
+
const before = siblingsStart > boundaries + 2 ? ["start-ellipsis"] : boundaries + 1 < pageCount - boundaries ? [boundaries + 1] : [];
|
|
10
|
+
const after = siblingsEnd < pageCount - boundaries - 1 ? ["end-ellipsis"] : pageCount - boundaries > boundaries ? [pageCount - boundaries] : [];
|
|
11
|
+
return [
|
|
12
|
+
...startPages,
|
|
13
|
+
...before,
|
|
14
|
+
...range(siblingsStart, siblingsEnd),
|
|
15
|
+
...after,
|
|
16
|
+
...endPages
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
export { paginationItems };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.js","names":[],"sources":["../../../src/utils/data/pagination.ts"],"sourcesContent":["/**\n * 分页的页码序列(纯函数,算法同 MUI 的 usePagination):首尾各留 boundaries 页、当前页左右各留 siblings 页,\n * 中间用省略号;序列长度固定(页数够多时总是 2 × boundaries + 2 × siblings + 3 项),翻页时按钮不跳动。\n *\n * paginationItems({ page: 6, pageCount: 20 }) // [1, 'start-ellipsis', 5, 6, 7, 'end-ellipsis', 20]\n */\n\n/** 省略号:start 在当前页之前,end 在之后(两者都可能出现,作为 key 要区分开) */\nexport type PaginationEllipsis = 'start-ellipsis' | 'end-ellipsis';\n\n/** paginationItems 的参数 */\nexport interface PaginationOptions {\n /** 当前页,从 1 开始 */\n page: number;\n /** 总页数 */\n pageCount: number;\n /** 当前页左右各显示几页,默认 1 */\n siblings?: number;\n /** 首尾各固定显示几页,默认 1 */\n boundaries?: number;\n}\n\nconst range = (from: number, to: number) =>\n Array.from({ length: Math.max(0, to - from + 1) }, (_, index) => from + index);\n\n/** 要显示的页码与省略号,依次排列 */\nexport function paginationItems({\n page,\n pageCount,\n siblings = 1,\n boundaries = 1,\n}: PaginationOptions): (number | PaginationEllipsis)[] {\n const startPages = range(1, Math.min(boundaries, pageCount));\n const endPages = range(Math.max(pageCount - boundaries + 1, boundaries + 1), pageCount);\n // 当前页这一组的起止:靠近两端时向另一侧多借几页,保持总项数不变\n const siblingsStart = Math.max(\n Math.min(page - siblings, pageCount - boundaries - siblings * 2 - 1),\n boundaries + 2,\n );\n const siblingsEnd = Math.min(\n Math.max(page + siblings, boundaries + siblings * 2 + 2),\n endPages.length > 0 ? endPages[0]! - 2 : pageCount - 1,\n );\n // 省略号只代替两页以上;只隔一页时直接显示那一页\n const before =\n siblingsStart > boundaries + 2\n ? ['start-ellipsis' as const]\n : boundaries + 1 < pageCount - boundaries\n ? [boundaries + 1]\n : [];\n const after =\n siblingsEnd < pageCount - boundaries - 1\n ? ['end-ellipsis' as const]\n : pageCount - boundaries > boundaries\n ? [pageCount - boundaries]\n : [];\n return [...startPages, ...before, ...range(siblingsStart, siblingsEnd), ...after, ...endPages];\n}\n"],"mappings":";AAsBA,IAAM,SAAS,MAAc,OAC3B,MAAM,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,KAAK,OAAO,CAAC,EAAE,IAAI,GAAG,UAAU,OAAO,KAAK;;AAG/E,SAAgB,gBAAgB,EAC9B,MACA,WACA,WAAW,GACX,aAAa,KACwC;CACrD,MAAM,aAAa,MAAM,GAAG,KAAK,IAAI,YAAY,SAAS,CAAC;CAC3D,MAAM,WAAW,MAAM,KAAK,IAAI,YAAY,aAAa,GAAG,aAAa,CAAC,GAAG,SAAS;CAEtF,MAAM,gBAAgB,KAAK,IACzB,KAAK,IAAI,OAAO,UAAU,YAAY,aAAa,WAAW,IAAI,CAAC,GACnE,aAAa,CACf;CACA,MAAM,cAAc,KAAK,IACvB,KAAK,IAAI,OAAO,UAAU,aAAa,WAAW,IAAI,CAAC,GACvD,SAAS,SAAS,IAAI,SAAS,KAAM,IAAI,YAAY,CACvD;CAEA,MAAM,SACJ,gBAAgB,aAAa,IACzB,CAAC,gBAAyB,IAC1B,aAAa,IAAI,YAAY,aAC3B,CAAC,aAAa,CAAC,IACf,CAAC;CACT,MAAM,QACJ,cAAc,YAAY,aAAa,IACnC,CAAC,cAAuB,IACxB,YAAY,aAAa,aACvB,CAAC,YAAY,UAAU,IACvB,CAAC;CACT,OAAO;EAAC,GAAG;EAAY,GAAG;EAAQ,GAAG,MAAM,eAAe,WAAW;EAAG,GAAG;EAAO,GAAG;CAAQ;AAC/F"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 选择模型:单选、多选怎样响应“点了一项”(纯函数),以及单选 / 多选组件共用的 props。
|
|
3
|
+
* ToggleGroup、Listbox、Select、Combobox、CheckboxGroup、DataTable 的行选择都用它。
|
|
4
|
+
*/
|
|
5
|
+
/** 选择方式 */
|
|
6
|
+
export interface SelectionModes {
|
|
7
|
+
/** 单选:选中一项会取消其他项;再点已选的项取消选中(required 时不取消) */
|
|
8
|
+
single: unknown;
|
|
9
|
+
/** 多选:每项独立切换 */
|
|
10
|
+
multiple: unknown;
|
|
11
|
+
}
|
|
12
|
+
/** 单选:value 是选中项的值 */
|
|
13
|
+
export interface SingleSelectionProps {
|
|
14
|
+
/** 选择方式,默认 single */
|
|
15
|
+
selectionMode?: Extract<keyof SelectionModes, 'single'>;
|
|
16
|
+
/** 选中项:父级写 _value={x};没有选中时是 null */
|
|
17
|
+
_value?: string | null;
|
|
18
|
+
}
|
|
19
|
+
/** 多选:value 是选中项的值的数组 */
|
|
20
|
+
export interface MultipleSelectionProps {
|
|
21
|
+
/** 选择方式 */
|
|
22
|
+
selectionMode: Extract<keyof SelectionModes, 'multiple'>;
|
|
23
|
+
/** 选中项:父级写 _value={list} */
|
|
24
|
+
_value?: string[];
|
|
25
|
+
}
|
|
26
|
+
/** 单选或多选:按 selectionMode 区分 value 是一个值还是数组(Listbox、Select、ToggleGroup) */
|
|
27
|
+
export type SelectionProps = SingleSelectionProps | MultipleSelectionProps;
|
|
28
|
+
/** toggleSelection 的选项 */
|
|
29
|
+
export interface SelectionOptions {
|
|
30
|
+
/** 选择方式 */
|
|
31
|
+
mode: keyof SelectionModes;
|
|
32
|
+
/** 至少保留一项:最后一个已选项不能被取消 */
|
|
33
|
+
required?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 单选的值或多选的值数组 → 已选值的数组(单选、多选共用一套渲染与列表状态时)。
|
|
37
|
+
* 单选的空字符串算没有选中:表单的初始值常写 ''(同原生 select 的占位项),这时显示占位文字、不出清除按钮
|
|
38
|
+
*/
|
|
39
|
+
export declare const selectedValues: (value: string | readonly string[] | null | undefined) => readonly string[];
|
|
40
|
+
/** 点了 key 之后的选择;没有变化时返回原数组 */
|
|
41
|
+
export declare function toggleSelection<Key>(selected: readonly Key[], key: Key, { mode, required }: SelectionOptions): readonly Key[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/utils/data/selection.ts
|
|
2
|
+
/**
|
|
3
|
+
* 单选的值或多选的值数组 → 已选值的数组(单选、多选共用一套渲染与列表状态时)。
|
|
4
|
+
* 单选的空字符串算没有选中:表单的初始值常写 ''(同原生 select 的占位项),这时显示占位文字、不出清除按钮
|
|
5
|
+
*/
|
|
6
|
+
var selectedValues = (value) => typeof value === "string" ? value === "" ? [] : [value] : value ?? [];
|
|
7
|
+
/** 点了 key 之后的选择;没有变化时返回原数组 */
|
|
8
|
+
function toggleSelection(selected, key, { mode, required = false }) {
|
|
9
|
+
const isSelected = selected.includes(key);
|
|
10
|
+
if (mode === "single") {
|
|
11
|
+
if (!isSelected) return [key];
|
|
12
|
+
return required ? selected : [];
|
|
13
|
+
}
|
|
14
|
+
if (!isSelected) return [...selected, key];
|
|
15
|
+
if (required && selected.length === 1) return selected;
|
|
16
|
+
return selected.filter((item) => item !== key);
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { selectedValues, toggleSelection };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","names":[],"sources":["../../../src/utils/data/selection.ts"],"sourcesContent":["/**\n * 选择模型:单选、多选怎样响应“点了一项”(纯函数),以及单选 / 多选组件共用的 props。\n * ToggleGroup、Listbox、Select、Combobox、CheckboxGroup、DataTable 的行选择都用它。\n */\n\n/** 选择方式 */\nexport interface SelectionModes {\n /** 单选:选中一项会取消其他项;再点已选的项取消选中(required 时不取消) */\n single: unknown;\n /** 多选:每项独立切换 */\n multiple: unknown;\n}\n\n/** 单选:value 是选中项的值 */\nexport interface SingleSelectionProps {\n /** 选择方式,默认 single */\n selectionMode?: Extract<keyof SelectionModes, 'single'>;\n /** 选中项:父级写 _value={x};没有选中时是 null */\n _value?: string | null;\n}\n\n/** 多选:value 是选中项的值的数组 */\nexport interface MultipleSelectionProps {\n /** 选择方式 */\n selectionMode: Extract<keyof SelectionModes, 'multiple'>;\n /** 选中项:父级写 _value={list} */\n _value?: string[];\n}\n\n/** 单选或多选:按 selectionMode 区分 value 是一个值还是数组(Listbox、Select、ToggleGroup) */\nexport type SelectionProps = SingleSelectionProps | MultipleSelectionProps;\n\n/** toggleSelection 的选项 */\nexport interface SelectionOptions {\n /** 选择方式 */\n mode: keyof SelectionModes;\n /** 至少保留一项:最后一个已选项不能被取消 */\n required?: boolean;\n}\n\n/**\n * 单选的值或多选的值数组 → 已选值的数组(单选、多选共用一套渲染与列表状态时)。\n * 单选的空字符串算没有选中:表单的初始值常写 ''(同原生 select 的占位项),这时显示占位文字、不出清除按钮\n */\nexport const selectedValues = (\n value: string | readonly string[] | null | undefined,\n): readonly string[] => (typeof value === 'string' ? (value === '' ? [] : [value]) : (value ?? []));\n\n/** 点了 key 之后的选择;没有变化时返回原数组 */\nexport function toggleSelection<Key>(\n selected: readonly Key[],\n key: Key,\n { mode, required = false }: SelectionOptions,\n): readonly Key[] {\n const isSelected = selected.includes(key);\n if (mode === 'single') {\n if (!isSelected) return [key];\n return required ? selected : [];\n }\n if (!isSelected) return [...selected, key];\n if (required && selected.length === 1) return selected;\n return selected.filter((item) => item !== key);\n}\n"],"mappings":";;;;;AA4CA,IAAa,kBACX,UACuB,OAAO,UAAU,WAAY,UAAU,KAAK,CAAA,IAAK,CAAC,KAAK,IAAM,SAAS,CAAA;;AAG/F,SAAgB,gBACd,UACA,KACA,EAAE,MAAM,WAAW,SACH;CAChB,MAAM,aAAa,SAAS,SAAS,GAAG;CACxC,IAAI,SAAS,UAAU;EACrB,IAAI,CAAC,YAAY,OAAO,CAAC,GAAG;EAC5B,OAAO,WAAW,WAAW,CAAA;CAC/B;CACA,IAAI,CAAC,YAAY,OAAO,CAAC,GAAG,UAAU,GAAG;CACzC,IAAI,YAAY,SAAS,WAAW,GAAG,OAAO;CAC9C,OAAO,SAAS,QAAQ,SAAS,SAAS,GAAG;AAC/C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 状态映射:一处写好每种状态的名字、色调、图标与说明,标记(StatusBadge)、表格的状态列、筛选的选项、步骤、看板的列共用,
|
|
3
|
+
* 同一种状态在哪儿都是同一个颜色、同一个叫法。定义的顺序就是阶段的顺序(任务从“待启动”走到“关闭”)。
|
|
4
|
+
*
|
|
5
|
+
* export const taskStatuses = createStatusMap({
|
|
6
|
+
* pending: { label: '待启动', tone: 'neutral' },
|
|
7
|
+
* designing: { label: '设计中', tone: 'info' },
|
|
8
|
+
* closed: { label: '关闭', tone: 'success' },
|
|
9
|
+
* });
|
|
10
|
+
* <StatusBadge statuses={taskStatuses} value={task.status} />
|
|
11
|
+
* <Select items={taskStatuses.options()} … />
|
|
12
|
+
*/
|
|
13
|
+
import type { IconData } from '../../base/Icon';
|
|
14
|
+
import type { ListboxOption } from '../../input/list-state';
|
|
15
|
+
import type { StatusTone } from '../style/tone-styles';
|
|
16
|
+
/** 一种状态的外观与文案 */
|
|
17
|
+
export interface StatusDefinition {
|
|
18
|
+
/** 显示的名字 */
|
|
19
|
+
label: string;
|
|
20
|
+
/** 色调 */
|
|
21
|
+
tone: StatusTone;
|
|
22
|
+
/** 名字前的图标;不写时 StatusBadge 画一个同色的圆点 */
|
|
23
|
+
icon?: IconData;
|
|
24
|
+
/** 说明:筛选项、提示里显示(“验证不达标时退回方案设计”) */
|
|
25
|
+
description?: string;
|
|
26
|
+
}
|
|
27
|
+
/** createStatusMap 的结果 */
|
|
28
|
+
export interface StatusMap<K extends string = string> {
|
|
29
|
+
/** 全部状态的 key,按定义的顺序(阶段顺序) */
|
|
30
|
+
readonly keys: readonly K[];
|
|
31
|
+
/** 一种状态的定义;不认识的 key(接口多给了新状态)当成中性色、名字就是 key,不报错 */
|
|
32
|
+
get(key: K | (string & {})): StatusDefinition;
|
|
33
|
+
/** 名字 */
|
|
34
|
+
label(key: K | (string & {})): string;
|
|
35
|
+
/** 色调 */
|
|
36
|
+
tone(key: K | (string & {})): StatusTone;
|
|
37
|
+
/** 在阶段里的位置(从 0 起);不认识的 key 是 -1 */
|
|
38
|
+
order(key: K | (string & {})): number;
|
|
39
|
+
/** 给 Select、Listbox、筛选用的选项:value 是 key,带名字与说明;只要一部分时传 keys */
|
|
40
|
+
options(keys?: readonly K[]): ListboxOption[];
|
|
41
|
+
}
|
|
42
|
+
/** 定义一组状态:名字、色调、图标、说明,按阶段顺序写 */
|
|
43
|
+
export declare function createStatusMap<const K extends string>(definitions: Readonly<Record<K, StatusDefinition>>): StatusMap<K>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/utils/data/status.ts
|
|
2
|
+
/** 定义一组状态:名字、色调、图标、说明,按阶段顺序写 */
|
|
3
|
+
function createStatusMap(definitions) {
|
|
4
|
+
const keys = Object.keys(definitions);
|
|
5
|
+
const index = new Map(keys.map((key, position) => [key, position]));
|
|
6
|
+
const get = (key) => index.has(key) ? definitions[key] : {
|
|
7
|
+
label: key,
|
|
8
|
+
tone: "neutral"
|
|
9
|
+
};
|
|
10
|
+
return {
|
|
11
|
+
keys,
|
|
12
|
+
get,
|
|
13
|
+
label: (key) => get(key).label,
|
|
14
|
+
tone: (key) => get(key).tone,
|
|
15
|
+
order: (key) => index.get(key) ?? -1,
|
|
16
|
+
options: (subset = keys) => subset.map((key) => ({
|
|
17
|
+
value: key,
|
|
18
|
+
label: definitions[key].label,
|
|
19
|
+
description: definitions[key].description,
|
|
20
|
+
icon: definitions[key].icon
|
|
21
|
+
}))
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { createStatusMap };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","names":[],"sources":["../../../src/utils/data/status.ts"],"sourcesContent":["/**\n * 状态映射:一处写好每种状态的名字、色调、图标与说明,标记(StatusBadge)、表格的状态列、筛选的选项、步骤、看板的列共用,\n * 同一种状态在哪儿都是同一个颜色、同一个叫法。定义的顺序就是阶段的顺序(任务从“待启动”走到“关闭”)。\n *\n * export const taskStatuses = createStatusMap({\n * pending: { label: '待启动', tone: 'neutral' },\n * designing: { label: '设计中', tone: 'info' },\n * closed: { label: '关闭', tone: 'success' },\n * });\n * <StatusBadge statuses={taskStatuses} value={task.status} />\n * <Select items={taskStatuses.options()} … />\n */\nimport type { IconData } from '../../base/Icon';\nimport type { ListboxOption } from '../../input/list-state';\nimport type { StatusTone } from '../style/tone-styles';\n\n/** 一种状态的外观与文案 */\nexport interface StatusDefinition {\n /** 显示的名字 */\n label: string;\n /** 色调 */\n tone: StatusTone;\n /** 名字前的图标;不写时 StatusBadge 画一个同色的圆点 */\n icon?: IconData;\n /** 说明:筛选项、提示里显示(“验证不达标时退回方案设计”) */\n description?: string;\n}\n\n/** createStatusMap 的结果 */\nexport interface StatusMap<K extends string = string> {\n /** 全部状态的 key,按定义的顺序(阶段顺序) */\n readonly keys: readonly K[];\n /** 一种状态的定义;不认识的 key(接口多给了新状态)当成中性色、名字就是 key,不报错 */\n get(key: K | (string & {})): StatusDefinition;\n /** 名字 */\n label(key: K | (string & {})): string;\n /** 色调 */\n tone(key: K | (string & {})): StatusTone;\n /** 在阶段里的位置(从 0 起);不认识的 key 是 -1 */\n order(key: K | (string & {})): number;\n /** 给 Select、Listbox、筛选用的选项:value 是 key,带名字与说明;只要一部分时传 keys */\n options(keys?: readonly K[]): ListboxOption[];\n}\n\n/** 定义一组状态:名字、色调、图标、说明,按阶段顺序写 */\nexport function createStatusMap<const K extends string>(\n definitions: Readonly<Record<K, StatusDefinition>>,\n): StatusMap<K> {\n const keys = Object.keys(definitions) as K[];\n const index = new Map<string, number>(keys.map((key, position) => [key, position]));\n const get = (key: string): StatusDefinition =>\n index.has(key) ? definitions[key as K] : { label: key, tone: 'neutral' };\n return {\n keys,\n get,\n label: (key) => get(key).label,\n tone: (key) => get(key).tone,\n order: (key) => index.get(key) ?? -1,\n options: (subset = keys) =>\n subset.map((key) => ({\n value: key,\n label: definitions[key].label,\n description: definitions[key].description,\n icon: definitions[key].icon,\n })),\n };\n}\n"],"mappings":";;AA6CA,SAAgB,gBACd,aACc;CACd,MAAM,OAAO,OAAO,KAAK,WAAW;CACpC,MAAM,QAAQ,IAAI,IAAoB,KAAK,KAAK,KAAK,aAAa,CAAC,KAAK,QAAQ,CAAC,CAAC;CAClF,MAAM,OAAO,QACX,MAAM,IAAI,GAAG,IAAI,YAAY,OAAY;EAAE,OAAO;EAAK,MAAM;CAAU;CACzE,OAAO;EACL;EACA;EACA,QAAQ,QAAQ,IAAI,GAAG,CAAC,CAAC;EACzB,OAAO,QAAQ,IAAI,GAAG,CAAC,CAAC;EACxB,QAAQ,QAAQ,MAAM,IAAI,GAAG,KAAK;EAClC,UAAU,SAAS,SACjB,OAAO,KAAK,SAAS;GACnB,OAAO;GACP,OAAO,YAAY,IAAI,CAAC;GACxB,aAAa,YAAY,IAAI,CAAC;GAC9B,MAAM,YAAY,IAAI,CAAC;EACzB,EAAE;CACN;AACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 处理组件收到的内容(children 经插槽传来时是 VNode 数组,不是字符串):
|
|
3
|
+
* plainText 取出纯文字,用于拼无障碍名称(如 Tag 的“移除 上海”);childNodes 展开成一层 VNode 列表。
|
|
4
|
+
*/
|
|
5
|
+
import { type VNode, type VNodeChild } from 'vue';
|
|
6
|
+
/** 内容只由文字组成时返回拼起来的文字,否则返回 undefined */
|
|
7
|
+
export declare function plainText(content: VNodeChild): string | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* 把内容展开成一层 VNode 列表:数组、Fragment(<>…</>、v-for)都拆开,去掉 null、布尔与注释节点。
|
|
10
|
+
* 给按子元素个数排布的组件用(AvatarGroup 只显示前几个)。
|
|
11
|
+
*/
|
|
12
|
+
export declare function childNodes(content: VNodeChild): VNode[];
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Comment, Fragment, Text, createTextVNode, isVNode } from "vue";
|
|
2
|
+
//#region src/utils/data/text.ts
|
|
3
|
+
/**
|
|
4
|
+
* 处理组件收到的内容(children 经插槽传来时是 VNode 数组,不是字符串):
|
|
5
|
+
* plainText 取出纯文字,用于拼无障碍名称(如 Tag 的“移除 上海”);childNodes 展开成一层 VNode 列表。
|
|
6
|
+
*/
|
|
7
|
+
/** 内容只由文字组成时返回拼起来的文字,否则返回 undefined */
|
|
8
|
+
function plainText(content) {
|
|
9
|
+
if (typeof content === "string" || typeof content === "number") return String(content);
|
|
10
|
+
if (Array.isArray(content)) {
|
|
11
|
+
const parts = content.map((part) => plainText(part));
|
|
12
|
+
return parts.every((part) => part !== void 0) ? parts.join("") : void 0;
|
|
13
|
+
}
|
|
14
|
+
if (isVNode(content) && content.type === Text && typeof content.children === "string") return content.children;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 把内容展开成一层 VNode 列表:数组、Fragment(<>…</>、v-for)都拆开,去掉 null、布尔与注释节点。
|
|
18
|
+
* 给按子元素个数排布的组件用(AvatarGroup 只显示前几个)。
|
|
19
|
+
*/
|
|
20
|
+
function childNodes(content) {
|
|
21
|
+
if (Array.isArray(content)) return content.flatMap((part) => childNodes(part));
|
|
22
|
+
if (!isVNode(content)) return typeof content === "string" || typeof content === "number" ? [createTextVNode(String(content))] : [];
|
|
23
|
+
if (content.type === Comment) return [];
|
|
24
|
+
if (content.type === Fragment) return childNodes(content.children);
|
|
25
|
+
return [content];
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { childNodes, plainText };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","names":[],"sources":["../../../src/utils/data/text.ts"],"sourcesContent":["/**\n * 处理组件收到的内容(children 经插槽传来时是 VNode 数组,不是字符串):\n * plainText 取出纯文字,用于拼无障碍名称(如 Tag 的“移除 上海”);childNodes 展开成一层 VNode 列表。\n */\nimport {\n Comment,\n createTextVNode,\n Fragment,\n isVNode,\n Text,\n type VNode,\n type VNodeChild,\n} from 'vue';\n\n/** 内容只由文字组成时返回拼起来的文字,否则返回 undefined */\nexport function plainText(content: VNodeChild): string | undefined {\n if (typeof content === 'string' || typeof content === 'number') return String(content);\n if (Array.isArray(content)) {\n const parts = content.map((part) => plainText(part as VNodeChild));\n return parts.every((part) => part !== undefined) ? parts.join('') : undefined;\n }\n if (isVNode(content) && content.type === Text && typeof content.children === 'string') {\n return content.children;\n }\n return undefined;\n}\n\n/**\n * 把内容展开成一层 VNode 列表:数组、Fragment(<>…</>、v-for)都拆开,去掉 null、布尔与注释节点。\n * 给按子元素个数排布的组件用(AvatarGroup 只显示前几个)。\n */\nexport function childNodes(content: VNodeChild): VNode[] {\n if (Array.isArray(content)) return content.flatMap((part) => childNodes(part as VNodeChild));\n if (!isVNode(content)) {\n return typeof content === 'string' || typeof content === 'number'\n ? [createTextVNode(String(content))]\n : [];\n }\n if (content.type === Comment) return [];\n if (content.type === Fragment) return childNodes(content.children as VNodeChild);\n return [content];\n}\n"],"mappings":";;;;;;;AAeA,SAAgB,UAAU,SAAyC;CACjE,IAAI,OAAO,YAAY,YAAY,OAAO,YAAY,UAAU,OAAO,OAAO,OAAO;CACrF,IAAI,MAAM,QAAQ,OAAO,GAAG;EAC1B,MAAM,QAAQ,QAAQ,KAAK,SAAS,UAAU,IAAkB,CAAC;EACjE,OAAO,MAAM,OAAO,SAAS,SAAS,KAAA,CAAS,IAAI,MAAM,KAAK,EAAE,IAAI,KAAA;CACtE;CACA,IAAI,QAAQ,OAAO,KAAK,QAAQ,SAAS,QAAQ,OAAO,QAAQ,aAAa,UAC3E,OAAO,QAAQ;AAGnB;;;;;AAMA,SAAgB,WAAW,SAA8B;CACvD,IAAI,MAAM,QAAQ,OAAO,GAAG,OAAO,QAAQ,SAAS,SAAS,WAAW,IAAkB,CAAC;CAC3F,IAAI,CAAC,QAAQ,OAAO,GAClB,OAAO,OAAO,YAAY,YAAY,OAAO,YAAY,WACrD,CAAC,gBAAgB,OAAO,OAAO,CAAC,CAAC,IACjC,CAAC;CAEP,IAAI,QAAQ,SAAS,SAAS,OAAO,CAAC;CACtC,IAAI,QAAQ,SAAS,UAAU,OAAO,WAAW,QAAQ,QAAsB;CAC/E,OAAO,CAAC,OAAO;AACjB"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
/** 怎样从数据里读出树的结构 */
|
|
2
|
+
export interface TreeAccessors<T> {
|
|
3
|
+
/** 节点的 key,整棵树里唯一;index 是它在同级里的位置 */
|
|
4
|
+
getKey: (node: T, index: number) => string;
|
|
5
|
+
/** 子节点;叶子或还没加载时返回 undefined / 空数组 */
|
|
6
|
+
getChildren: (node: T) => readonly T[] | undefined;
|
|
7
|
+
/** 有没有子节点(懒加载时子节点还没取回来也算有);不写时看 getChildren 是否非空 */
|
|
8
|
+
hasChildren?: (node: T) => boolean;
|
|
9
|
+
}
|
|
10
|
+
/** 展开成一列的一行 */
|
|
11
|
+
export interface FlatTreeNode<T> {
|
|
12
|
+
/** 原始数据 */
|
|
13
|
+
readonly node: T;
|
|
14
|
+
/** getKey 给出的 key */
|
|
15
|
+
readonly key: string;
|
|
16
|
+
/** 层级,第一层为 0 */
|
|
17
|
+
readonly depth: number;
|
|
18
|
+
/** 父节点的 key;第一层为 undefined */
|
|
19
|
+
readonly parent: string | undefined;
|
|
20
|
+
/** 能不能展开(有子节点,或懒加载时声明了有) */
|
|
21
|
+
readonly expandable: boolean;
|
|
22
|
+
/** 同级一共几个(aria-setsize) */
|
|
23
|
+
readonly setSize: number;
|
|
24
|
+
/** 在同级里排第几,从 1 开始(aria-posinset) */
|
|
25
|
+
readonly position: number;
|
|
26
|
+
}
|
|
27
|
+
/** 节点能不能展开 */
|
|
28
|
+
export declare const isExpandable: <T>(node: T, { getChildren, hasChildren }: TreeAccessors<T>) => boolean;
|
|
29
|
+
/** flattenTree 的选项 */
|
|
30
|
+
export interface FlattenTreeOptions<T> {
|
|
31
|
+
/** 改写每一层的顺序(TreeDataTable 按当前排序),不写时按数据顺序 */
|
|
32
|
+
order?: (level: readonly T[]) => readonly T[];
|
|
33
|
+
/** 只要这些节点(搜索过滤:filterTree 的 include),不写时全要 */
|
|
34
|
+
include?: ReadonlySet<string>;
|
|
35
|
+
}
|
|
36
|
+
/** 按展开状态深度优先展开成一列:只有展开了的节点的子节点出现在结果里 */
|
|
37
|
+
export declare function flattenTree<T>(roots: readonly T[], accessors: TreeAccessors<T>, expanded: ReadonlySet<string>, { order, include }?: FlattenTreeOptions<T>): FlatTreeNode<T>[];
|
|
38
|
+
/** 整棵(已加载的)树的索引:勾选联动要看到折叠着的节点 */
|
|
39
|
+
export interface TreeIndex {
|
|
40
|
+
/** 深度优先的顺序 */
|
|
41
|
+
readonly order: readonly string[];
|
|
42
|
+
/** key → 父节点的 key */
|
|
43
|
+
readonly parents: ReadonlyMap<string, string | undefined>;
|
|
44
|
+
/** key → 已加载的子节点的 key */
|
|
45
|
+
readonly children: ReadonlyMap<string, readonly string[]>;
|
|
46
|
+
}
|
|
47
|
+
/** 建立整棵已加载的树的索引 */
|
|
48
|
+
export declare function indexTree<T>(roots: readonly T[], accessors: TreeAccessors<T>): TreeIndex;
|
|
49
|
+
/** 勾选状态 */
|
|
50
|
+
export type CheckState = 'checked' | 'indeterminate' | 'unchecked';
|
|
51
|
+
/**
|
|
52
|
+
* 勾上或取消 key:子孙跟着变;祖先的子节点全勾上时祖先也勾上,否则取消。
|
|
53
|
+
* 返回勾上的全部节点(按树的顺序),可以直接写回 checked
|
|
54
|
+
*/
|
|
55
|
+
export declare function toggleChecked(index: TreeIndex, checked: readonly string[], key: string): string[];
|
|
56
|
+
/** 勾选结果的取法(同 Ant Design 的 showCheckedStrategy) */
|
|
57
|
+
export interface CheckStrategies {
|
|
58
|
+
/** 勾上的全部节点(默认) */
|
|
59
|
+
all: unknown;
|
|
60
|
+
/** 父节点全勾上时只要父节点,不再列出它的子孙(提交“整个部门”而不是逐个成员) */
|
|
61
|
+
parent: unknown;
|
|
62
|
+
/** 只要叶子(没有已加载的子节点的节点) */
|
|
63
|
+
child: unknown;
|
|
64
|
+
}
|
|
65
|
+
/** 按取法给出勾上的节点(按树的顺序);checked 可以是 toggleChecked 的结果,也可以是外部给的部分节点 */
|
|
66
|
+
export declare function checkedByStrategy(index: TreeIndex, checked: readonly string[], strategy: keyof CheckStrategies): string[];
|
|
67
|
+
/** 从第一层到 key 的各节点的 key(含 key 自己);key 不在树里时为空数组。Cascader 的路径、面包屑用它 */
|
|
68
|
+
export declare function treePath(index: TreeIndex, key: string): string[];
|
|
69
|
+
/** filterTree 的结果 */
|
|
70
|
+
export interface TreeFilter {
|
|
71
|
+
/** 要显示的节点:匹配的节点与它们的祖先(交给 flattenTree 的 include) */
|
|
72
|
+
include: Set<string>;
|
|
73
|
+
/** 要展开的节点:匹配的节点的祖先,展开后才看得到匹配项 */
|
|
74
|
+
expand: Set<string>;
|
|
75
|
+
/** 匹配的节点(高亮用) */
|
|
76
|
+
matched: Set<string>;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* 搜索过滤:留下匹配的节点与它们的祖先,并展开祖先(只看已加载的节点)。
|
|
80
|
+
* 匹配的节点的子孙不跟着留下(它们自己匹配才留下),同 Ant Design TreeSelect 的搜索
|
|
81
|
+
*/
|
|
82
|
+
export declare function filterTree<T>(roots: readonly T[], accessors: TreeAccessors<T>, match: (node: T) => boolean): TreeFilter;
|
|
83
|
+
/** buildTree 怎样读平铺的行 */
|
|
84
|
+
export interface TreeRows<T> {
|
|
85
|
+
/** 行的 key,这批行里唯一 */
|
|
86
|
+
getKey: (row: T) => string;
|
|
87
|
+
/** 父行的 key;根行是 null / undefined,父行不在这批行里的也当作根 */
|
|
88
|
+
getParent: (row: T) => string | null | undefined;
|
|
89
|
+
/** 用子节点生成一个节点(不改原行),同 TreeEditor;不写时是 `{ ...row, children }` */
|
|
90
|
+
withChildren?: (row: T, children: T[]) => T;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* 平铺的行(每行带父 key)组装成树,返回第一层;同级保持 rows 里的顺序,叶子的 children 是空数组。
|
|
94
|
+
* 服务端搜索懒加载的树时回“匹配的节点和它们的祖先”(query 库的 withAncestors),组装后再用 filterTree 得到要展开、高亮的节点。
|
|
95
|
+
* key 重复或父子成环时报错(环上的行到不了第一层)
|
|
96
|
+
*/
|
|
97
|
+
export declare function buildTree<T>(rows: readonly T[], { getKey, getParent, withChildren }: TreeRows<T>): T[];
|
|
98
|
+
/** moveNode 要的读写方法:在读取之外,能用新的子节点生成一个节点 */
|
|
99
|
+
export interface TreeEditor<T> extends TreeAccessors<T> {
|
|
100
|
+
/** 换掉子节点后的新节点(不改原节点),如 `(node, children) => ({ ...node, children })` */
|
|
101
|
+
withChildren: (node: T, children: T[]) => T;
|
|
102
|
+
}
|
|
103
|
+
/** 移动的目标:放到哪个节点下(undefined 是第一层)的第几位 */
|
|
104
|
+
export interface TreeMoveTarget {
|
|
105
|
+
/** 新的父节点的 key;第一层时为 undefined */
|
|
106
|
+
parent: string | undefined;
|
|
107
|
+
/** 在新的同级里的位置(按移走之后的同级算),超出时放到最后 */
|
|
108
|
+
index: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* 把 key 移到 target(不改原数据,返回新的第一层;沿途的节点用 withChildren 重建,其余节点原样复用)。
|
|
112
|
+
* key 不存在、目标是它自己或它的子孙时返回 null(拖到自己里面不成立)
|
|
113
|
+
*/
|
|
114
|
+
export declare function moveNode<T>(roots: readonly T[], editor: TreeEditor<T>, key: string, target: TreeMoveTarget): T[] | null;
|
|
115
|
+
/** 每个节点的勾选状态:子孙里有勾上的、但自己没有全勾上时是 indeterminate */
|
|
116
|
+
export declare function checkStates(index: TreeIndex, checked: readonly string[]): Map<string, CheckState>;
|
|
117
|
+
/** useTreeExpansion 的选项 */
|
|
118
|
+
export interface TreeExpansionOptions<T> {
|
|
119
|
+
/** 读当前展开的 key */
|
|
120
|
+
expanded: () => readonly string[];
|
|
121
|
+
/** 写回展开的 key */
|
|
122
|
+
setExpanded: (keys: string[]) => void;
|
|
123
|
+
/** 节点已加载的子节点 */
|
|
124
|
+
getChildren: (node: T) => readonly T[] | undefined;
|
|
125
|
+
/** 展开一个还没有子节点的节点时调用:取回子节点并放进数据里;返回 Promise 时显示加载中 */
|
|
126
|
+
loadChildren?: (node: T) => Promise<unknown> | void;
|
|
127
|
+
/** 子节点加载失败:节点收回去,可以再展开重试;不写时在控制台报错 */
|
|
128
|
+
onLoadError?: (error: unknown, node: T) => void;
|
|
129
|
+
}
|
|
130
|
+
/** useTreeExpansion 的返回值 */
|
|
131
|
+
export interface TreeExpansion<T> {
|
|
132
|
+
/** 是否展开 */
|
|
133
|
+
isExpanded: (key: string) => boolean;
|
|
134
|
+
/** 是否正在加载子节点 */
|
|
135
|
+
isLoading: (key: string) => boolean;
|
|
136
|
+
/** 展开或收起;展开一个还没有子节点的节点时懒加载 */
|
|
137
|
+
setOpen: (node: T, key: string, open: boolean) => Promise<void>;
|
|
138
|
+
}
|
|
139
|
+
/** 展开状态与懒加载(在 setup 里调用) */
|
|
140
|
+
export declare function useTreeExpansion<T>({ expanded, setExpanded, getChildren, loadChildren, onLoadError, }: TreeExpansionOptions<T>): TreeExpansion<T>;
|