@zerodep-dev/vue-tsx-pro-ui 0.0.0-stage → 0.1.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/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 +386 -0
- package/dist/config/lang/en-US.js.map +1 -0
- package/dist/config/lang/format.d.ts +50 -0
- package/dist/config/lang/format.js +113 -0
- package/dist/config/lang/format.js.map +1 -0
- package/dist/config/lang/lang.d.ts +653 -0
- package/dist/config/lang/lang.js +22 -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 +386 -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 +19 -0
- package/dist/diagram/index.js +11 -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 +158 -0
- package/dist/form/Field.js +327 -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 +192 -0
- package/dist/form/useForm.js +394 -0
- package/dist/form/useForm.js.map +1 -0
- package/dist/index.d.ts +282 -0
- package/dist/index.js +282 -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 +597 -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 +169 -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 +65 -0
- package/dist/input/people.js +47 -0
- package/dist/input/people.js.map +1 -0
- package/dist/input/remote-items.d.ts +20 -0
- package/dist/input/remote-items.js +36 -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 +64 -0
- package/dist/patterns/QueryTable.js +276 -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 +172 -0
- package/dist/patterns/messages.js +184 -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/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 +186 -0
- package/dist/utils/data/date.js +409 -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 +55 -0
- package/dist/utils/data/numeric.js +133 -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 +7 -0
- package/dist/utils/dom/download.js +19 -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/http.d.ts +101 -0
- package/dist/utils/request/http.js +154 -0
- package/dist/utils/request/http.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 +205 -3
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { CONTRAST_AA, contrastRatio } from "../utils/data/color.js";
|
|
2
|
+
//#region src/theme-customize/contrast.ts
|
|
3
|
+
/**
|
|
4
|
+
* 主题颜色要满足的对比度(WCAG 2.2 AA):哪些文字放在哪些底色上、各要多少。
|
|
5
|
+
* pnpm themes:check 按它检查全部内置主题;主题编辑器按它实时提示改出来的配色。
|
|
6
|
+
*/
|
|
7
|
+
/** 文字 4.5:1;大字、图形与界面部件(焦点环、选中的勾选框)3:1;占位文字按 3:1(同多数组件库) */
|
|
8
|
+
var TEXT = CONTRAST_AA.text;
|
|
9
|
+
var UI = CONTRAST_AA.ui;
|
|
10
|
+
/** 要检查的颜色组合 */
|
|
11
|
+
var CONTRAST_PAIRS = [
|
|
12
|
+
...[
|
|
13
|
+
"background",
|
|
14
|
+
"surface",
|
|
15
|
+
"surfaceMuted",
|
|
16
|
+
"surfaceRaised",
|
|
17
|
+
"fill",
|
|
18
|
+
"fillHover",
|
|
19
|
+
"fillActive"
|
|
20
|
+
].map((bg) => [
|
|
21
|
+
"text",
|
|
22
|
+
bg,
|
|
23
|
+
TEXT,
|
|
24
|
+
"正文"
|
|
25
|
+
]),
|
|
26
|
+
...[
|
|
27
|
+
"background",
|
|
28
|
+
"surface",
|
|
29
|
+
"surfaceMuted",
|
|
30
|
+
"surfaceRaised",
|
|
31
|
+
"fill"
|
|
32
|
+
].map((bg) => [
|
|
33
|
+
"textMuted",
|
|
34
|
+
bg,
|
|
35
|
+
TEXT,
|
|
36
|
+
"次要文字"
|
|
37
|
+
]),
|
|
38
|
+
[
|
|
39
|
+
"textPlaceholder",
|
|
40
|
+
"surface",
|
|
41
|
+
UI,
|
|
42
|
+
"占位文字"
|
|
43
|
+
],
|
|
44
|
+
[
|
|
45
|
+
"accentContrast",
|
|
46
|
+
"accent",
|
|
47
|
+
TEXT,
|
|
48
|
+
"主按钮"
|
|
49
|
+
],
|
|
50
|
+
[
|
|
51
|
+
"accentContrast",
|
|
52
|
+
"accentHover",
|
|
53
|
+
TEXT,
|
|
54
|
+
"主按钮悬停"
|
|
55
|
+
],
|
|
56
|
+
...[
|
|
57
|
+
"background",
|
|
58
|
+
"surface",
|
|
59
|
+
"surfaceRaised",
|
|
60
|
+
"accentSoft",
|
|
61
|
+
"accentSoftHover"
|
|
62
|
+
].map((bg) => [
|
|
63
|
+
"accentText",
|
|
64
|
+
bg,
|
|
65
|
+
TEXT,
|
|
66
|
+
"链接、选中项"
|
|
67
|
+
]),
|
|
68
|
+
[
|
|
69
|
+
"dangerContrast",
|
|
70
|
+
"danger",
|
|
71
|
+
TEXT,
|
|
72
|
+
"危险按钮"
|
|
73
|
+
],
|
|
74
|
+
[
|
|
75
|
+
"dangerContrast",
|
|
76
|
+
"dangerHover",
|
|
77
|
+
TEXT,
|
|
78
|
+
"危险按钮悬停"
|
|
79
|
+
],
|
|
80
|
+
...[
|
|
81
|
+
"background",
|
|
82
|
+
"surface",
|
|
83
|
+
"dangerSoft",
|
|
84
|
+
"dangerSoftHover"
|
|
85
|
+
].map((bg) => [
|
|
86
|
+
"dangerText",
|
|
87
|
+
bg,
|
|
88
|
+
TEXT,
|
|
89
|
+
"错误文字"
|
|
90
|
+
]),
|
|
91
|
+
...[
|
|
92
|
+
["successText", "successSoft"],
|
|
93
|
+
["warningText", "warningSoft"],
|
|
94
|
+
["infoText", "infoSoft"]
|
|
95
|
+
].flatMap(([fg, soft]) => [
|
|
96
|
+
[
|
|
97
|
+
fg,
|
|
98
|
+
soft,
|
|
99
|
+
TEXT,
|
|
100
|
+
"提示条"
|
|
101
|
+
],
|
|
102
|
+
[
|
|
103
|
+
fg,
|
|
104
|
+
"background",
|
|
105
|
+
TEXT,
|
|
106
|
+
"提示文字"
|
|
107
|
+
],
|
|
108
|
+
[
|
|
109
|
+
fg,
|
|
110
|
+
"surface",
|
|
111
|
+
TEXT,
|
|
112
|
+
"提示文字"
|
|
113
|
+
]
|
|
114
|
+
]),
|
|
115
|
+
...[
|
|
116
|
+
"success",
|
|
117
|
+
"warning",
|
|
118
|
+
"info"
|
|
119
|
+
].flatMap((tone) => [
|
|
120
|
+
[
|
|
121
|
+
`${tone}Contrast`,
|
|
122
|
+
tone,
|
|
123
|
+
TEXT,
|
|
124
|
+
"状态实色(按钮、实底徽标)"
|
|
125
|
+
],
|
|
126
|
+
[
|
|
127
|
+
`${tone}Contrast`,
|
|
128
|
+
`${tone}Hover`,
|
|
129
|
+
TEXT,
|
|
130
|
+
"状态实色悬停"
|
|
131
|
+
],
|
|
132
|
+
[
|
|
133
|
+
`${tone}Text`,
|
|
134
|
+
`${tone}SoftHover`,
|
|
135
|
+
TEXT,
|
|
136
|
+
"状态浅底悬停"
|
|
137
|
+
]
|
|
138
|
+
]),
|
|
139
|
+
[
|
|
140
|
+
"inverseText",
|
|
141
|
+
"inverseSurface",
|
|
142
|
+
TEXT,
|
|
143
|
+
"反色表面"
|
|
144
|
+
],
|
|
145
|
+
...[
|
|
146
|
+
"codeKeyword",
|
|
147
|
+
"codeString",
|
|
148
|
+
"codeNumber",
|
|
149
|
+
"codeFunction",
|
|
150
|
+
"codeType",
|
|
151
|
+
"codeComment",
|
|
152
|
+
"codeTag",
|
|
153
|
+
"codeAttribute"
|
|
154
|
+
].flatMap((fg) => [
|
|
155
|
+
"surfaceMuted",
|
|
156
|
+
"fill",
|
|
157
|
+
"codeInserted",
|
|
158
|
+
"codeDeleted"
|
|
159
|
+
].map((bg) => [
|
|
160
|
+
fg,
|
|
161
|
+
bg,
|
|
162
|
+
TEXT,
|
|
163
|
+
"代码高亮"
|
|
164
|
+
])),
|
|
165
|
+
[
|
|
166
|
+
"text",
|
|
167
|
+
"codeInserted",
|
|
168
|
+
TEXT,
|
|
169
|
+
"diff 新增行"
|
|
170
|
+
],
|
|
171
|
+
[
|
|
172
|
+
"text",
|
|
173
|
+
"codeDeleted",
|
|
174
|
+
TEXT,
|
|
175
|
+
"diff 删除行"
|
|
176
|
+
],
|
|
177
|
+
[
|
|
178
|
+
"text",
|
|
179
|
+
"selection",
|
|
180
|
+
TEXT,
|
|
181
|
+
"选中的文字"
|
|
182
|
+
],
|
|
183
|
+
[
|
|
184
|
+
"text",
|
|
185
|
+
"highlight",
|
|
186
|
+
TEXT,
|
|
187
|
+
"高亮标记"
|
|
188
|
+
],
|
|
189
|
+
[
|
|
190
|
+
"focusRing",
|
|
191
|
+
"background",
|
|
192
|
+
UI,
|
|
193
|
+
"焦点环"
|
|
194
|
+
],
|
|
195
|
+
[
|
|
196
|
+
"focusRing",
|
|
197
|
+
"surface",
|
|
198
|
+
UI,
|
|
199
|
+
"焦点环"
|
|
200
|
+
],
|
|
201
|
+
...[
|
|
202
|
+
"accent",
|
|
203
|
+
"inverseSurface",
|
|
204
|
+
"infoText",
|
|
205
|
+
"successText",
|
|
206
|
+
"warningText",
|
|
207
|
+
"dangerText"
|
|
208
|
+
].flatMap((fg) => [[
|
|
209
|
+
fg,
|
|
210
|
+
"surface",
|
|
211
|
+
UI,
|
|
212
|
+
"选中的勾选框、开关"
|
|
213
|
+
], [
|
|
214
|
+
fg,
|
|
215
|
+
"fill",
|
|
216
|
+
UI,
|
|
217
|
+
"滑块、进度条"
|
|
218
|
+
]]),
|
|
219
|
+
...Array.from({ length: 8 }, (_, index) => `chart${index + 1}`).flatMap((fg) => [[
|
|
220
|
+
fg,
|
|
221
|
+
"background",
|
|
222
|
+
UI,
|
|
223
|
+
"图表系列"
|
|
224
|
+
], [
|
|
225
|
+
fg,
|
|
226
|
+
"surface",
|
|
227
|
+
UI,
|
|
228
|
+
"图表系列"
|
|
229
|
+
]])
|
|
230
|
+
];
|
|
231
|
+
/**
|
|
232
|
+
* 按 CONTRAST_PAIRS 检查一套配色;read 读出 token 的取值(主题文件里的字面量,或页面上算出来的 CSS 变量)。
|
|
233
|
+
* 半透明的背景叠在 background(页面背景)上算
|
|
234
|
+
*/
|
|
235
|
+
function checkContrast(read) {
|
|
236
|
+
const page = read("background");
|
|
237
|
+
return CONTRAST_PAIRS.flatMap(([foreground, background, minimum, label]) => {
|
|
238
|
+
const ratio = contrastRatio(read(foreground), read(background), page);
|
|
239
|
+
return ratio < minimum ? [{
|
|
240
|
+
foreground,
|
|
241
|
+
background,
|
|
242
|
+
ratio,
|
|
243
|
+
minimum,
|
|
244
|
+
label
|
|
245
|
+
}] : [];
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
//#endregion
|
|
249
|
+
export { CONTRAST_PAIRS, checkContrast };
|
|
250
|
+
|
|
251
|
+
//# sourceMappingURL=contrast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contrast.js","names":[],"sources":["../../src/theme-customize/contrast.ts"],"sourcesContent":["/**\n * 主题颜色要满足的对比度(WCAG 2.2 AA):哪些文字放在哪些底色上、各要多少。\n * pnpm themes:check 按它检查全部内置主题;主题编辑器按它实时提示改出来的配色。\n */\nimport { CONTRAST_AA, contrastRatio } from '../utils/data/color';\n\n/** 文字 4.5:1;大字、图形与界面部件(焦点环、选中的勾选框)3:1;占位文字按 3:1(同多数组件库) */\nconst TEXT = CONTRAST_AA.text;\nconst UI = CONTRAST_AA.ui;\n\n/** 要检查的一对颜色 token:[前景, 背景, 最低对比度, 说明] */\nexport type ContrastPair = readonly [\n foreground: string,\n background: string,\n minimum: number,\n label: string,\n];\n\n/** 要检查的颜色组合 */\nexport const CONTRAST_PAIRS: readonly ContrastPair[] = [\n ...[\n 'background',\n 'surface',\n 'surfaceMuted',\n 'surfaceRaised',\n 'fill',\n 'fillHover',\n 'fillActive',\n ].map((bg): ContrastPair => ['text', bg, TEXT, '正文']),\n ...['background', 'surface', 'surfaceMuted', 'surfaceRaised', 'fill'].map((bg): ContrastPair => [\n 'textMuted',\n bg,\n TEXT,\n '次要文字',\n ]),\n ['textPlaceholder', 'surface', UI, '占位文字'],\n ['accentContrast', 'accent', TEXT, '主按钮'],\n ['accentContrast', 'accentHover', TEXT, '主按钮悬停'],\n ...['background', 'surface', 'surfaceRaised', 'accentSoft', 'accentSoftHover'].map(\n (bg): ContrastPair => ['accentText', bg, TEXT, '链接、选中项'],\n ),\n ['dangerContrast', 'danger', TEXT, '危险按钮'],\n ['dangerContrast', 'dangerHover', TEXT, '危险按钮悬停'],\n ...['background', 'surface', 'dangerSoft', 'dangerSoftHover'].map((bg): ContrastPair => [\n 'dangerText',\n bg,\n TEXT,\n '错误文字',\n ]),\n ...[\n ['successText', 'successSoft'],\n ['warningText', 'warningSoft'],\n ['infoText', 'infoSoft'],\n ].flatMap(([fg, soft]): ContrastPair[] => [\n [fg, soft, TEXT, '提示条'],\n [fg, 'background', TEXT, '提示文字'],\n [fg, 'surface', TEXT, '提示文字'],\n ]),\n ...['success', 'warning', 'info'].flatMap((tone): ContrastPair[] => [\n [`${tone}Contrast`, tone, TEXT, '状态实色(按钮、实底徽标)'],\n [`${tone}Contrast`, `${tone}Hover`, TEXT, '状态实色悬停'],\n [`${tone}Text`, `${tone}SoftHover`, TEXT, '状态浅底悬停'],\n ]),\n ['inverseText', 'inverseSurface', TEXT, '反色表面'],\n // 代码块(surfaceMuted)、行内代码与高亮行(fill)、diff 的增删行上都有高亮的代码\n ...[\n 'codeKeyword',\n 'codeString',\n 'codeNumber',\n 'codeFunction',\n 'codeType',\n 'codeComment',\n 'codeTag',\n 'codeAttribute',\n ].flatMap((fg) =>\n ['surfaceMuted', 'fill', 'codeInserted', 'codeDeleted'].map((bg): ContrastPair => [\n fg,\n bg,\n TEXT,\n '代码高亮',\n ]),\n ),\n ['text', 'codeInserted', TEXT, 'diff 新增行'],\n ['text', 'codeDeleted', TEXT, 'diff 删除行'],\n ['text', 'selection', TEXT, '选中的文字'],\n ['text', 'highlight', TEXT, '高亮标记'],\n ['focusRing', 'background', UI, '焦点环'],\n ['focusRing', 'surface', UI, '焦点环'],\n // 选中的勾选框、开关、滑块与进度条的实底色(tone-styles.ts 的 toneFillStyles、Progress):在表面与轨道上\n ...['accent', 'inverseSurface', 'infoText', 'successText', 'warningText', 'dangerText'].flatMap(\n (fg): ContrastPair[] => [\n [fg, 'surface', UI, '选中的勾选框、开关'],\n [fg, 'fill', UI, '滑块、进度条'],\n ],\n ),\n ...Array.from({ length: 8 }, (_, index) => `chart${index + 1}`).flatMap((fg): ContrastPair[] => [\n [fg, 'background', UI, '图表系列'],\n [fg, 'surface', UI, '图表系列'],\n ]),\n];\n\n/** 一处对比度不够的组合 */\nexport interface ContrastIssue {\n /** 前景 token */\n foreground: string;\n /** 背景 token */\n background: string;\n /** 实际对比度 */\n ratio: number;\n /** 要求的最低对比度 */\n minimum: number;\n /** 用途说明 */\n label: string;\n}\n\n/**\n * 按 CONTRAST_PAIRS 检查一套配色;read 读出 token 的取值(主题文件里的字面量,或页面上算出来的 CSS 变量)。\n * 半透明的背景叠在 background(页面背景)上算\n */\nexport function checkContrast(read: (token: string) => string): ContrastIssue[] {\n const page = read('background');\n return CONTRAST_PAIRS.flatMap(([foreground, background, minimum, label]) => {\n const ratio = contrastRatio(read(foreground), read(background), page);\n return ratio < minimum ? [{ foreground, background, ratio, minimum, label }] : [];\n });\n}\n"],"mappings":";;;;;;;AAOA,IAAM,OAAO,YAAY;AACzB,IAAM,KAAK,YAAY;;AAWvB,IAAa,iBAA0C;CACrD,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,CAAC,KAAK,OAAqB;EAAC;EAAQ;EAAI;EAAM;CAAI,CAAC;CACpD,GAAG;EAAC;EAAc;EAAW;EAAgB;EAAiB;CAAM,CAAC,CAAC,KAAK,OAAqB;EAC9F;EACA;EACA;EACA;CACF,CAAC;CACD;EAAC;EAAmB;EAAW;EAAI;CAAM;CACzC;EAAC;EAAkB;EAAU;EAAM;CAAK;CACxC;EAAC;EAAkB;EAAe;EAAM;CAAO;CAC/C,GAAG;EAAC;EAAc;EAAW;EAAiB;EAAc;CAAiB,CAAC,CAAC,KAC5E,OAAqB;EAAC;EAAc;EAAI;EAAM;CAAQ,CACzD;CACA;EAAC;EAAkB;EAAU;EAAM;CAAM;CACzC;EAAC;EAAkB;EAAe;EAAM;CAAQ;CAChD,GAAG;EAAC;EAAc;EAAW;EAAc;CAAiB,CAAC,CAAC,KAAK,OAAqB;EACtF;EACA;EACA;EACA;CACF,CAAC;CACD,GAAG;EACD,CAAC,eAAe,aAAa;EAC7B,CAAC,eAAe,aAAa;EAC7B,CAAC,YAAY,UAAU;CACzB,CAAC,CAAC,SAAS,CAAC,IAAI,UAA0B;EACxC;GAAC;GAAI;GAAM;GAAM;EAAK;EACtB;GAAC;GAAI;GAAc;GAAM;EAAM;EAC/B;GAAC;GAAI;GAAW;GAAM;EAAM;CAC9B,CAAC;CACD,GAAG;EAAC;EAAW;EAAW;CAAM,CAAC,CAAC,SAAS,SAAyB;EAClE;GAAC,GAAG,KAAK;GAAW;GAAM;GAAM;EAAe;EAC/C;GAAC,GAAG,KAAK;GAAW,GAAG,KAAK;GAAQ;GAAM;EAAQ;EAClD;GAAC,GAAG,KAAK;GAAO,GAAG,KAAK;GAAY;GAAM;EAAQ;CACpD,CAAC;CACD;EAAC;EAAe;EAAkB;EAAM;CAAM;CAE9C,GAAG;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,CAAC,SAAS,OACT;EAAC;EAAgB;EAAQ;EAAgB;CAAa,CAAC,CAAC,KAAK,OAAqB;EAChF;EACA;EACA;EACA;CACF,CAAC,CACH;CACA;EAAC;EAAQ;EAAgB;EAAM;CAAU;CACzC;EAAC;EAAQ;EAAe;EAAM;CAAU;CACxC;EAAC;EAAQ;EAAa;EAAM;CAAO;CACnC;EAAC;EAAQ;EAAa;EAAM;CAAM;CAClC;EAAC;EAAa;EAAc;EAAI;CAAK;CACrC;EAAC;EAAa;EAAW;EAAI;CAAK;CAElC,GAAG;EAAC;EAAU;EAAkB;EAAY;EAAe;EAAe;CAAY,CAAC,CAAC,SACrF,OAAuB,CACtB;EAAC;EAAI;EAAW;EAAI;CAAW,GAC/B;EAAC;EAAI;EAAQ;EAAI;CAAQ,CAC3B,CACF;CACA,GAAG,MAAM,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,UAAU,QAAQ,QAAQ,GAAG,CAAC,CAAC,SAAS,OAAuB,CAC9F;EAAC;EAAI;EAAc;EAAI;CAAM,GAC7B;EAAC;EAAI;EAAW;EAAI;CAAM,CAC5B,CAAC;AACH;;;;;AAoBA,SAAgB,cAAc,MAAkD;CAC9E,MAAM,OAAO,KAAK,YAAY;CAC9B,OAAO,eAAe,SAAS,CAAC,YAAY,YAAY,SAAS,WAAW;EAC1E,MAAM,QAAQ,cAAc,KAAK,UAAU,GAAG,KAAK,UAAU,GAAG,IAAI;EACpE,OAAO,QAAQ,UAAU,CAAC;GAAE;GAAY;GAAY;GAAO;GAAS;EAAM,CAAC,IAAI,CAAC;CAClF,CAAC;AACH"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type AccentScale, type NeutralScale } from './palette';
|
|
2
|
+
import { type Theme, type ThemeOverrides } from '../config/theme/theme';
|
|
3
|
+
/** 圆角档位:默认圆角的倍数 */
|
|
4
|
+
export interface RadiusPresets {
|
|
5
|
+
/** 直角 */
|
|
6
|
+
none: unknown;
|
|
7
|
+
/** 小圆角(默认的 0.5 倍) */
|
|
8
|
+
small: unknown;
|
|
9
|
+
/** 默认 */
|
|
10
|
+
medium: unknown;
|
|
11
|
+
/** 大圆角(默认的 1.75 倍) */
|
|
12
|
+
large: unknown;
|
|
13
|
+
}
|
|
14
|
+
/** 字体搭配 */
|
|
15
|
+
export interface FontPresets {
|
|
16
|
+
/** 正文与标题都是无衬线(默认) */
|
|
17
|
+
sans: unknown;
|
|
18
|
+
/** 标题用衬线,正文无衬线:书卷感,长文仍好读 */
|
|
19
|
+
serifHeadings: unknown;
|
|
20
|
+
}
|
|
21
|
+
/** 动效速度 */
|
|
22
|
+
export interface MotionPresets {
|
|
23
|
+
/** 关掉过渡与动画 */
|
|
24
|
+
none: unknown;
|
|
25
|
+
/** 快(默认时长的 0.6 倍) */
|
|
26
|
+
fast: unknown;
|
|
27
|
+
/** 默认 */
|
|
28
|
+
normal: unknown;
|
|
29
|
+
/** 慢(默认时长的 1.5 倍) */
|
|
30
|
+
slow: unknown;
|
|
31
|
+
}
|
|
32
|
+
/** 主题定制的设置;不写的旋钮沿用主题本来的取值 */
|
|
33
|
+
export interface ThemeSettings {
|
|
34
|
+
/** 品牌色(Radix 色阶) */
|
|
35
|
+
accent?: AccentScale;
|
|
36
|
+
/** 中性色(Radix 灰色色阶) */
|
|
37
|
+
neutral?: NeutralScale;
|
|
38
|
+
/** 圆角 */
|
|
39
|
+
radius?: keyof RadiusPresets;
|
|
40
|
+
/** 缩放:字号的倍数,0.9–1.1;间距、控件高度以 em 计,随字号一起缩放 */
|
|
41
|
+
scaling?: number;
|
|
42
|
+
/** 字体搭配 */
|
|
43
|
+
font?: keyof FontPresets;
|
|
44
|
+
/** 动效速度 */
|
|
45
|
+
motion?: keyof MotionPresets;
|
|
46
|
+
}
|
|
47
|
+
/** customizeTheme 的选项 */
|
|
48
|
+
export interface CustomizeOptions {
|
|
49
|
+
/**
|
|
50
|
+
* 用户开启了“减少动态效果”:不覆盖动效时长。运行时覆盖写在行内样式上,
|
|
51
|
+
* 会盖过主题里“减少动态效果时为 0”的媒体查询
|
|
52
|
+
*/
|
|
53
|
+
reducedMotion?: boolean;
|
|
54
|
+
/** 基础主题自己的圆角(radii 各档的 CSS 取值):圆角档位按它缩放;不给时按默认主题的取值 */
|
|
55
|
+
radii?: Readonly<Record<string, string>>;
|
|
56
|
+
}
|
|
57
|
+
/** 设置换算成 token 覆盖;appearance 决定品牌色、中性色取亮色还是暗色色阶 */
|
|
58
|
+
export declare function themeSettingsOverrides(settings: ThemeSettings, appearance: 'light' | 'dark', { reducedMotion, radii }?: CustomizeOptions): ThemeOverrides;
|
|
59
|
+
/** 在一套主题上套用设置(名字后加 -custom,便于调试时认出来) */
|
|
60
|
+
export declare function customizeTheme(base: Theme, settings: ThemeSettings, options?: CustomizeOptions): Theme;
|
|
61
|
+
/**
|
|
62
|
+
* 生成套用这些设置的代码:`defineTheme(lightTheme, { … })`,可以直接粘贴到项目里。
|
|
63
|
+
* baseName 是代码里基础主题的变量名;导出的取值不受“减少动态效果”影响
|
|
64
|
+
*/
|
|
65
|
+
export declare function themeSettingsCode(baseName: string, settings: ThemeSettings, appearance: 'light' | 'dark'): string;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { defineTheme } from "../config/theme/theme.js";
|
|
2
|
+
import { tokenCatalog } from "./token-catalog.js";
|
|
3
|
+
import { themeValues } from "./design-tokens.js";
|
|
4
|
+
import { paletteColors } from "./palette.js";
|
|
5
|
+
//#region src/theme-customize/customize.ts
|
|
6
|
+
/**
|
|
7
|
+
* 主题定制:几个旋钮(品牌色、中性色、圆角、缩放、字体、动效)换算成 token 覆盖,叠在任意一套主题上。
|
|
8
|
+
* ThemeCustomizer 是它的界面;也可以不要界面,直接用:
|
|
9
|
+
*
|
|
10
|
+
* const settings = { accent: 'crimson', radius: 'large' };
|
|
11
|
+
* app.use(createUi({ theme: () => customizeTheme(preference.theme, settings) }));
|
|
12
|
+
* themeSettingsCode('lightTheme', settings, 'light') // 生成可以粘贴的 defineTheme(…) 代码
|
|
13
|
+
*
|
|
14
|
+
* 每个旋钮只改相关的一组 token,层级关系不变:换品牌色按 Radix 的级别整组替换(palette.ts),
|
|
15
|
+
* 圆角按这套主题自己的圆角等比缩放(在页面里量出来;服务端用默认值),字号按默认值缩放(token-catalog.ts),
|
|
16
|
+
* 动效按倍数缩放时长。
|
|
17
|
+
*/
|
|
18
|
+
var RADIUS_FACTORS = {
|
|
19
|
+
none: 0,
|
|
20
|
+
small: .5,
|
|
21
|
+
medium: 1,
|
|
22
|
+
large: 1.75
|
|
23
|
+
};
|
|
24
|
+
var MOTION_FACTORS = {
|
|
25
|
+
none: 0,
|
|
26
|
+
fast: .6,
|
|
27
|
+
normal: 1,
|
|
28
|
+
slow: 1.5
|
|
29
|
+
};
|
|
30
|
+
/** 某组 token 的默认值 */
|
|
31
|
+
function defaults(group) {
|
|
32
|
+
const entry = tokenCatalog.find((item) => item.name === group);
|
|
33
|
+
return Object.fromEntries(entry?.tokens.map((token) => [token.name, token.value]) ?? []);
|
|
34
|
+
}
|
|
35
|
+
/** `0.4em` × 1.75 → `0.7em`:数值部分乘倍数,单位不变;保留三位小数 */
|
|
36
|
+
function scale(value, factor) {
|
|
37
|
+
const match = /^(-?[\d.]+)([a-z%]*)$/.exec(value);
|
|
38
|
+
if (!match) return value;
|
|
39
|
+
return `${Math.round(Number(match[1]) * factor * 1e3) / 1e3}${match[2]}`;
|
|
40
|
+
}
|
|
41
|
+
/** 按倍数缩放一组取值(默认是这组 token 的默认值),跳过指定的键(如圆角的 full、none) */
|
|
42
|
+
function scaleGroup(group, factor, skip = [], values = defaults(group)) {
|
|
43
|
+
return Object.fromEntries(Object.entries(values).filter(([key]) => !skip.includes(key)).map(([key, value]) => [key, scale(value, factor)]));
|
|
44
|
+
}
|
|
45
|
+
var measuredRadii = /* @__PURE__ */ new WeakMap();
|
|
46
|
+
/**
|
|
47
|
+
* 主题自己的圆角:放进页面里量一次(按主题缓存)。量不到时(服务端、样式还没加载)为 undefined,
|
|
48
|
+
* 按默认值缩放:定制主题不能因为量不到而出错
|
|
49
|
+
*/
|
|
50
|
+
function themeRadii(theme) {
|
|
51
|
+
if (typeof document === "undefined") return void 0;
|
|
52
|
+
const cached = measuredRadii.get(theme);
|
|
53
|
+
if (cached) return cached;
|
|
54
|
+
try {
|
|
55
|
+
const radii = themeValues(theme).radii;
|
|
56
|
+
measuredRadii.set(theme, radii);
|
|
57
|
+
return radii;
|
|
58
|
+
} catch {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/** 设置换算成 token 覆盖;appearance 决定品牌色、中性色取亮色还是暗色色阶 */
|
|
63
|
+
function themeSettingsOverrides(settings, appearance, { reducedMotion = false, radii } = {}) {
|
|
64
|
+
const overrides = {};
|
|
65
|
+
const colors = paletteColors({
|
|
66
|
+
accent: settings.accent,
|
|
67
|
+
neutral: settings.neutral,
|
|
68
|
+
appearance
|
|
69
|
+
});
|
|
70
|
+
if (Object.keys(colors).length) overrides.colors = colors;
|
|
71
|
+
if (settings.radius && settings.radius !== "medium") overrides.radii = scaleGroup("radii", RADIUS_FACTORS[settings.radius], ["none", "full"], radii);
|
|
72
|
+
if (settings.scaling && settings.scaling !== 1) overrides.fontSizes = scaleGroup("fontSizes", settings.scaling);
|
|
73
|
+
if (settings.font === "serifHeadings") overrides.fonts = { heading: defaults("fonts").serif };
|
|
74
|
+
if (settings.motion && settings.motion !== "normal" && !reducedMotion) overrides.durations = scaleGroup("durations", MOTION_FACTORS[settings.motion], ["none"]);
|
|
75
|
+
return overrides;
|
|
76
|
+
}
|
|
77
|
+
/** 在一套主题上套用设置(名字后加 -custom,便于调试时认出来) */
|
|
78
|
+
function customizeTheme(base, settings, options = {}) {
|
|
79
|
+
const scaled = settings.radius != null && settings.radius !== "medium";
|
|
80
|
+
const overrides = themeSettingsOverrides(settings, base.colorScheme, {
|
|
81
|
+
...options,
|
|
82
|
+
radii: options.radii ?? (scaled ? themeRadii(base) : void 0)
|
|
83
|
+
});
|
|
84
|
+
if (!Object.keys(overrides).length) return base;
|
|
85
|
+
return defineTheme(base, overrides, { name: `${base.name}-custom` });
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* 生成套用这些设置的代码:`defineTheme(lightTheme, { … })`,可以直接粘贴到项目里。
|
|
89
|
+
* baseName 是代码里基础主题的变量名;导出的取值不受“减少动态效果”影响
|
|
90
|
+
*/
|
|
91
|
+
function themeSettingsCode(baseName, settings, appearance) {
|
|
92
|
+
return `import { defineTheme, ${baseName} } from '@zerodep-dev/vue-tsx-pro-ui';\n\nexport const myTheme = defineTheme(${baseName}, ${toCode(themeSettingsOverrides(settings, appearance), "")});\n`;
|
|
93
|
+
}
|
|
94
|
+
/** 对象写成代码:键不加引号(都是合法标识符),字符串用单引号(字体名里的双引号原样保留) */
|
|
95
|
+
function toCode(value, indent) {
|
|
96
|
+
if (typeof value === "string") return `'${value.replace(/\\/g, "\\\\").replace(/'/g, "\\'")}'`;
|
|
97
|
+
const entries = Object.entries(value);
|
|
98
|
+
if (!entries.length) return "{}";
|
|
99
|
+
const inner = `${indent} `;
|
|
100
|
+
return `{\n${entries.map(([key, item]) => `${inner}${key}: ${toCode(item, inner)},`).join("\n")}\n${indent}}`;
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
export { customizeTheme, themeSettingsCode, themeSettingsOverrides };
|
|
104
|
+
|
|
105
|
+
//# sourceMappingURL=customize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customize.js","names":[],"sources":["../../src/theme-customize/customize.ts"],"sourcesContent":["/**\n * 主题定制:几个旋钮(品牌色、中性色、圆角、缩放、字体、动效)换算成 token 覆盖,叠在任意一套主题上。\n * ThemeCustomizer 是它的界面;也可以不要界面,直接用:\n *\n * const settings = { accent: 'crimson', radius: 'large' };\n * app.use(createUi({ theme: () => customizeTheme(preference.theme, settings) }));\n * themeSettingsCode('lightTheme', settings, 'light') // 生成可以粘贴的 defineTheme(…) 代码\n *\n * 每个旋钮只改相关的一组 token,层级关系不变:换品牌色按 Radix 的级别整组替换(palette.ts),\n * 圆角按这套主题自己的圆角等比缩放(在页面里量出来;服务端用默认值),字号按默认值缩放(token-catalog.ts),\n * 动效按倍数缩放时长。\n */\nimport { themeValues } from './design-tokens';\nimport { paletteColors, type AccentScale, type NeutralScale } from './palette';\nimport { defineTheme, type Theme, type ThemeOverrides } from '../config/theme/theme';\nimport { tokenCatalog } from './token-catalog';\n\n/** 圆角档位:默认圆角的倍数 */\nexport interface RadiusPresets {\n /** 直角 */\n none: unknown;\n /** 小圆角(默认的 0.5 倍) */\n small: unknown;\n /** 默认 */\n medium: unknown;\n /** 大圆角(默认的 1.75 倍) */\n large: unknown;\n}\n\n/** 字体搭配 */\nexport interface FontPresets {\n /** 正文与标题都是无衬线(默认) */\n sans: unknown;\n /** 标题用衬线,正文无衬线:书卷感,长文仍好读 */\n serifHeadings: unknown;\n}\n\n/** 动效速度 */\nexport interface MotionPresets {\n /** 关掉过渡与动画 */\n none: unknown;\n /** 快(默认时长的 0.6 倍) */\n fast: unknown;\n /** 默认 */\n normal: unknown;\n /** 慢(默认时长的 1.5 倍) */\n slow: unknown;\n}\n\n/** 主题定制的设置;不写的旋钮沿用主题本来的取值 */\nexport interface ThemeSettings {\n /** 品牌色(Radix 色阶) */\n accent?: AccentScale;\n /** 中性色(Radix 灰色色阶) */\n neutral?: NeutralScale;\n /** 圆角 */\n radius?: keyof RadiusPresets;\n /** 缩放:字号的倍数,0.9–1.1;间距、控件高度以 em 计,随字号一起缩放 */\n scaling?: number;\n /** 字体搭配 */\n font?: keyof FontPresets;\n /** 动效速度 */\n motion?: keyof MotionPresets;\n}\n\n/** customizeTheme 的选项 */\nexport interface CustomizeOptions {\n /**\n * 用户开启了“减少动态效果”:不覆盖动效时长。运行时覆盖写在行内样式上,\n * 会盖过主题里“减少动态效果时为 0”的媒体查询\n */\n reducedMotion?: boolean;\n /** 基础主题自己的圆角(radii 各档的 CSS 取值):圆角档位按它缩放;不给时按默认主题的取值 */\n radii?: Readonly<Record<string, string>>;\n}\n\nconst RADIUS_FACTORS: Record<keyof RadiusPresets, number> = {\n none: 0,\n small: 0.5,\n medium: 1,\n large: 1.75,\n};\nconst MOTION_FACTORS: Record<keyof MotionPresets, number> = {\n none: 0,\n fast: 0.6,\n normal: 1,\n slow: 1.5,\n};\n\n/** 某组 token 的默认值 */\nfunction defaults(group: string): Record<string, string> {\n const entry = tokenCatalog.find((item) => item.name === group);\n return Object.fromEntries(entry?.tokens.map((token) => [token.name, token.value]) ?? []);\n}\n\n/** `0.4em` × 1.75 → `0.7em`:数值部分乘倍数,单位不变;保留三位小数 */\nfunction scale(value: string, factor: number): string {\n const match = /^(-?[\\d.]+)([a-z%]*)$/.exec(value);\n if (!match) return value;\n const scaled = Math.round(Number(match[1]) * factor * 1000) / 1000;\n return `${scaled}${match[2]}`;\n}\n\n/** 按倍数缩放一组取值(默认是这组 token 的默认值),跳过指定的键(如圆角的 full、none) */\nfunction scaleGroup(\n group: string,\n factor: number,\n skip: readonly string[] = [],\n values: Readonly<Record<string, string>> = defaults(group),\n) {\n return Object.fromEntries(\n Object.entries(values)\n .filter(([key]) => !skip.includes(key))\n .map(([key, value]) => [key, scale(value, factor)]),\n );\n}\n\nconst measuredRadii = new WeakMap<Theme, Readonly<Record<string, string>>>();\n\n/**\n * 主题自己的圆角:放进页面里量一次(按主题缓存)。量不到时(服务端、样式还没加载)为 undefined,\n * 按默认值缩放:定制主题不能因为量不到而出错\n */\nfunction themeRadii(theme: Theme): Readonly<Record<string, string>> | undefined {\n if (typeof document === 'undefined') return undefined;\n const cached = measuredRadii.get(theme);\n if (cached) return cached;\n try {\n const radii = themeValues(theme).radii!;\n measuredRadii.set(theme, radii);\n return radii;\n } catch {\n return undefined;\n }\n}\n\n/** 设置换算成 token 覆盖;appearance 决定品牌色、中性色取亮色还是暗色色阶 */\nexport function themeSettingsOverrides(\n settings: ThemeSettings,\n appearance: 'light' | 'dark',\n { reducedMotion = false, radii }: CustomizeOptions = {},\n): ThemeOverrides {\n const overrides: ThemeOverrides = {};\n const colors = paletteColors({ accent: settings.accent, neutral: settings.neutral, appearance });\n if (Object.keys(colors).length) overrides.colors = colors;\n if (settings.radius && settings.radius !== 'medium') {\n overrides.radii = scaleGroup('radii', RADIUS_FACTORS[settings.radius], ['none', 'full'], radii);\n }\n if (settings.scaling && settings.scaling !== 1) {\n overrides.fontSizes = scaleGroup('fontSizes', settings.scaling);\n }\n if (settings.font === 'serifHeadings') {\n overrides.fonts = { heading: defaults('fonts').serif! };\n }\n if (settings.motion && settings.motion !== 'normal' && !reducedMotion) {\n overrides.durations = scaleGroup('durations', MOTION_FACTORS[settings.motion], ['none']);\n }\n return overrides;\n}\n\n/** 在一套主题上套用设置(名字后加 -custom,便于调试时认出来) */\nexport function customizeTheme(\n base: Theme,\n settings: ThemeSettings,\n options: CustomizeOptions = {},\n): Theme {\n // 圆角按这套主题自己的取值缩放:自带圆角的主题(柠檬)上小、默认、大才是由小到大\n const scaled = settings.radius != null && settings.radius !== 'medium';\n const overrides = themeSettingsOverrides(settings, base.colorScheme, {\n ...options,\n radii: options.radii ?? (scaled ? themeRadii(base) : undefined),\n });\n if (!Object.keys(overrides).length) return base;\n return defineTheme(base, overrides, { name: `${base.name}-custom` });\n}\n\n/**\n * 生成套用这些设置的代码:`defineTheme(lightTheme, { … })`,可以直接粘贴到项目里。\n * baseName 是代码里基础主题的变量名;导出的取值不受“减少动态效果”影响\n */\nexport function themeSettingsCode(\n baseName: string,\n settings: ThemeSettings,\n appearance: 'light' | 'dark',\n): string {\n const body = toCode(themeSettingsOverrides(settings, appearance), '');\n return `import { defineTheme, ${baseName} } from '@zerodep-dev/vue-tsx-pro-ui';\\n\\nexport const myTheme = defineTheme(${baseName}, ${body});\\n`;\n}\n\n/** 对象写成代码:键不加引号(都是合法标识符),字符串用单引号(字体名里的双引号原样保留) */\nfunction toCode(value: unknown, indent: string): string {\n if (typeof value === 'string') return `'${value.replace(/\\\\/g, '\\\\\\\\').replace(/'/g, \"\\\\'\")}'`;\n const entries = Object.entries(value as Record<string, unknown>);\n if (!entries.length) return '{}';\n const inner = `${indent} `;\n const lines = entries.map(([key, item]) => `${inner}${key}: ${toCode(item, inner)},`);\n return `{\\n${lines.join('\\n')}\\n${indent}}`;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA4EA,IAAM,iBAAsD;CAC1D,MAAM;CACN,OAAO;CACP,QAAQ;CACR,OAAO;AACT;AACA,IAAM,iBAAsD;CAC1D,MAAM;CACN,MAAM;CACN,QAAQ;CACR,MAAM;AACR;;AAGA,SAAS,SAAS,OAAuC;CACvD,MAAM,QAAQ,aAAa,MAAM,SAAS,KAAK,SAAS,KAAK;CAC7D,OAAO,OAAO,YAAY,OAAO,OAAO,KAAK,UAAU,CAAC,MAAM,MAAM,MAAM,KAAK,CAAC,KAAK,CAAC,CAAC;AACzF;;AAGA,SAAS,MAAM,OAAe,QAAwB;CACpD,MAAM,QAAQ,wBAAwB,KAAK,KAAK;CAChD,IAAI,CAAC,OAAO,OAAO;CAEnB,OAAO,GADQ,KAAK,MAAM,OAAO,MAAM,EAAE,IAAI,SAAS,GAAI,IAAI,MAC3C,MAAM;AAC3B;;AAGA,SAAS,WACP,OACA,QACA,OAA0B,CAAC,GAC3B,SAA2C,SAAS,KAAK,GACzD;CACA,OAAO,OAAO,YACZ,OAAO,QAAQ,MAAM,CAAC,CACnB,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,GAAG,CAAC,CAAC,CACtC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,MAAM,OAAO,MAAM,CAAC,CAAC,CACtD;AACF;AAEA,IAAM,gCAAgB,IAAI,QAAiD;;;;;AAM3E,SAAS,WAAW,OAA4D;CAC9E,IAAI,OAAO,aAAa,aAAa,OAAO,KAAA;CAC5C,MAAM,SAAS,cAAc,IAAI,KAAK;CACtC,IAAI,QAAQ,OAAO;CACnB,IAAI;EACF,MAAM,QAAQ,YAAY,KAAK,CAAC,CAAC;EACjC,cAAc,IAAI,OAAO,KAAK;EAC9B,OAAO;CACT,QAAQ;EACN;CACF;AACF;;AAGA,SAAgB,uBACd,UACA,YACA,EAAE,gBAAgB,OAAO,UAA4B,CAAC,GACtC;CAChB,MAAM,YAA4B,CAAC;CACnC,MAAM,SAAS,cAAc;EAAE,QAAQ,SAAS;EAAQ,SAAS,SAAS;EAAS;CAAW,CAAC;CAC/F,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,QAAQ,UAAU,SAAS;CACnD,IAAI,SAAS,UAAU,SAAS,WAAW,UACzC,UAAU,QAAQ,WAAW,SAAS,eAAe,SAAS,SAAS,CAAC,QAAQ,MAAM,GAAG,KAAK;CAEhG,IAAI,SAAS,WAAW,SAAS,YAAY,GAC3C,UAAU,YAAY,WAAW,aAAa,SAAS,OAAO;CAEhE,IAAI,SAAS,SAAS,iBACpB,UAAU,QAAQ,EAAE,SAAS,SAAS,OAAO,CAAC,CAAC,MAAO;CAExD,IAAI,SAAS,UAAU,SAAS,WAAW,YAAY,CAAC,eACtD,UAAU,YAAY,WAAW,aAAa,eAAe,SAAS,SAAS,CAAC,MAAM,CAAC;CAEzF,OAAO;AACT;;AAGA,SAAgB,eACd,MACA,UACA,UAA4B,CAAC,GACtB;CAEP,MAAM,SAAS,SAAS,UAAU,QAAQ,SAAS,WAAW;CAC9D,MAAM,YAAY,uBAAuB,UAAU,KAAK,aAAa;EACnE,GAAG;EACH,OAAO,QAAQ,UAAU,SAAS,WAAW,IAAI,IAAI,KAAA;CACvD,CAAC;CACD,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,QAAQ,OAAO;CAC3C,OAAO,YAAY,MAAM,WAAW,EAAE,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC;AACrE;;;;;AAMA,SAAgB,kBACd,UACA,UACA,YACQ;CAER,OAAO,yBAAyB,SAAS,+EAA+E,SAAS,IADpH,OAAO,uBAAuB,UAAU,UAAU,GAAG,EACmE,EAAK;AAC5I;;AAGA,SAAS,OAAO,OAAgB,QAAwB;CACtD,IAAI,OAAO,UAAU,UAAU,OAAO,IAAI,MAAM,QAAQ,OAAO,MAAM,CAAC,CAAC,QAAQ,MAAM,KAAK,EAAE;CAC5F,MAAM,UAAU,OAAO,QAAQ,KAAgC;CAC/D,IAAI,CAAC,QAAQ,QAAQ,OAAO;CAC5B,MAAM,QAAQ,GAAG,OAAO;CAExB,OAAO,MADO,QAAQ,KAAK,CAAC,KAAK,UAAU,GAAG,QAAQ,IAAI,IAAI,OAAO,MAAM,KAAK,EAAE,EACrE,CAAA,CAAM,KAAK,IAAI,EAAE,IAAI,OAAO;AAC3C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type Theme } from '../config/theme/theme';
|
|
2
|
+
/** 一个设计令牌 */
|
|
3
|
+
export interface DesignToken {
|
|
4
|
+
/** DTCG 类型:color、dimension、number、duration、fontFamily、shadow、cubicBezier */
|
|
5
|
+
readonly $type: string;
|
|
6
|
+
/** 取值:结构按类型(颜色是 colorSpace、components、alpha、hex,长度是 value 与 unit) */
|
|
7
|
+
readonly $value: unknown;
|
|
8
|
+
/** 说明,取自 token 目录 */
|
|
9
|
+
readonly $description?: string;
|
|
10
|
+
}
|
|
11
|
+
/** 设计令牌文件:组名 → token 名 → 令牌 */
|
|
12
|
+
export type DesignTokens = Record<string, Record<string, DesignToken>>;
|
|
13
|
+
/** 一套主题的取值:组名 → token 名 → CSS 取值 */
|
|
14
|
+
export type ThemeValues = Record<string, Record<string, string>>;
|
|
15
|
+
/** 长度换算成 px 的基准 */
|
|
16
|
+
export interface DesignTokenBases {
|
|
17
|
+
/** 1em 是多少 px:组件的基准字号 */
|
|
18
|
+
em: number;
|
|
19
|
+
/** 1rem 是多少 px:根元素字号 */
|
|
20
|
+
rem: number;
|
|
21
|
+
}
|
|
22
|
+
/** 主题的取值换算成设计令牌;说明取自 token 目录,只导出目录里有的 token */
|
|
23
|
+
export declare function designTokens(values: ThemeValues, bases: DesignTokenBases): DesignTokens;
|
|
24
|
+
/** 元素上实际生效的各组 token 取值(CSS 文本,如 radii.md → '0.4em');元素要已挂载 */
|
|
25
|
+
export declare function elementThemeValues(element: Element): ThemeValues;
|
|
26
|
+
/** 元素上实际生效的主题(所在 Provider 或页面根元素的主题)导出为设计令牌;元素要已挂载 */
|
|
27
|
+
export declare function elementDesignTokens(element: Element): DesignTokens;
|
|
28
|
+
/** 一套主题的各组 token 取值(CSS 文本):主题的取值编译成了样式,要放进页面里量 */
|
|
29
|
+
export declare function themeValues(theme: Theme, container?: Element): ThemeValues;
|
|
30
|
+
/** 一套主题的设计令牌 */
|
|
31
|
+
export declare function themeDesignTokens(theme: Theme, container?: Element): DesignTokens;
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { t } from "../config/theme/tokens.js";
|
|
2
|
+
import { applyStyleAttrs } from "../utils/props.js";
|
|
3
|
+
import { readToken, themeVariables } from "../config/theme/theme.js";
|
|
4
|
+
import { parseColor } from "../utils/data/color.js";
|
|
5
|
+
import { tokenCatalog } from "./token-catalog.js";
|
|
6
|
+
import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
|
|
7
|
+
import { formatHex } from "culori/fn";
|
|
8
|
+
//#region src/theme-customize/design-tokens.ts
|
|
9
|
+
/**
|
|
10
|
+
* 主题导出为设计令牌:W3C 设计令牌社区组(DTCG 2025.10)格式的 JSON,Figma 的变量面板可以直接导入,一个文件成为一个模式。
|
|
11
|
+
*
|
|
12
|
+
* const tokens = themeDesignTokens(lightTheme);
|
|
13
|
+
* downloadFile('light.tokens.json', JSON.stringify(tokens, null, 2), 'application/json');
|
|
14
|
+
*
|
|
15
|
+
* 取值是页面上实际生效的 CSS 变量(含运行时覆盖),按 Figma 能导入的类型换算:
|
|
16
|
+
* - 颜色写 sRGB 分量、透明度与 hex;
|
|
17
|
+
* - 长度一律是 px(Figma 只认 px):em 按主题的 md 字号(组件的基准字号)、rem 按根元素字号换算,百分比这类没有固定长度的不导出;
|
|
18
|
+
* - 时长是秒(Figma 只认 s);字重、行高、不透明度、描边宽度是数字;
|
|
19
|
+
* - 字体取字体栈里 Figma 自带的开源字体:Figma 里没有系统字体;
|
|
20
|
+
* - 阴影与缓动按 DTCG 的结构写出,Figma 变量没有这两种类型,导入时跳过。
|
|
21
|
+
* 令牌按 token 组分组:colors/accent、space/md,与代码里的 `_accent`、`_space.md` 一一对应。
|
|
22
|
+
*/
|
|
23
|
+
/** Figma 自带的开源字体(Google Fonts):内置主题的每个字体栈里都有其中一个 */
|
|
24
|
+
var FIGMA_FONTS = [
|
|
25
|
+
"Noto Sans SC",
|
|
26
|
+
"Noto Serif SC",
|
|
27
|
+
"JetBrains Mono"
|
|
28
|
+
];
|
|
29
|
+
var round = (value, digits = 3) => Number(value.toFixed(digits));
|
|
30
|
+
/** 长度换成 px;没有固定长度(百分比、auto)时返回 undefined */
|
|
31
|
+
function toPx(value, bases) {
|
|
32
|
+
const match = /^(-?[\d.]+)(px|em|rem)?$/.exec(value.trim());
|
|
33
|
+
if (!match) return void 0;
|
|
34
|
+
const factor = match[2] === "em" ? bases.em : match[2] === "rem" ? bases.rem : 1;
|
|
35
|
+
return {
|
|
36
|
+
value: round(Number(match[1]) * factor),
|
|
37
|
+
unit: "px"
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function toColor(value) {
|
|
41
|
+
const color = parseColor(value);
|
|
42
|
+
if (!color) throw new Error(`无法解析的颜色:${value}`);
|
|
43
|
+
return {
|
|
44
|
+
colorSpace: "srgb",
|
|
45
|
+
components: [
|
|
46
|
+
color.r,
|
|
47
|
+
color.g,
|
|
48
|
+
color.b
|
|
49
|
+
].map((channel) => round(channel, 4)),
|
|
50
|
+
alpha: round(color.alpha ?? 1, 4),
|
|
51
|
+
hex: formatHex(color)
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** CSS 阴影 → DTCG 的阴影层:`0 1px 2px -1px rgba(…)`,多层用逗号隔开(括号里的逗号不算);none 不导出 */
|
|
55
|
+
function toShadow(value, bases) {
|
|
56
|
+
if (value.trim() === "none") return void 0;
|
|
57
|
+
return value.split(/,(?![^(]*\))/).map((layer) => {
|
|
58
|
+
const parts = layer.trim().split(/\s+(?![^(]*\))/);
|
|
59
|
+
const lengths = parts.filter((part) => toPx(part, bases));
|
|
60
|
+
const color = parts.find((part) => part !== "inset" && !lengths.includes(part));
|
|
61
|
+
const [offsetX, offsetY, blur = "0", spread = "0"] = lengths.map((part) => toPx(part, bases));
|
|
62
|
+
return {
|
|
63
|
+
color: toColor(color ?? "black"),
|
|
64
|
+
offsetX,
|
|
65
|
+
offsetY,
|
|
66
|
+
blur,
|
|
67
|
+
spread,
|
|
68
|
+
inset: parts.includes("inset")
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function toNumber(value) {
|
|
73
|
+
const number = Number(value);
|
|
74
|
+
return Number.isFinite(number) ? number : void 0;
|
|
75
|
+
}
|
|
76
|
+
var dimension = (value, bases) => {
|
|
77
|
+
const px = toPx(value, bases);
|
|
78
|
+
return px && ["dimension", px];
|
|
79
|
+
};
|
|
80
|
+
var number = (value) => {
|
|
81
|
+
const result = toNumber(value);
|
|
82
|
+
return result === void 0 ? void 0 : ["number", result];
|
|
83
|
+
};
|
|
84
|
+
/** 每组的类型;新增 token 组时这里必须补上 */
|
|
85
|
+
var CONVERTERS = {
|
|
86
|
+
colors: (value) => ["color", toColor(value)],
|
|
87
|
+
fonts: (value) => {
|
|
88
|
+
const families = value.split(",").map((family) => family.trim().replace(/^["']|["']$/g, ""));
|
|
89
|
+
return ["fontFamily", families.find((family) => FIGMA_FONTS.includes(family)) ?? families[0]];
|
|
90
|
+
},
|
|
91
|
+
fontSizes: dimension,
|
|
92
|
+
fontWeights: number,
|
|
93
|
+
lineHeights: number,
|
|
94
|
+
letterSpacings: dimension,
|
|
95
|
+
space: dimension,
|
|
96
|
+
sizes: dimension,
|
|
97
|
+
radii: dimension,
|
|
98
|
+
borderWidths: dimension,
|
|
99
|
+
shadows: (value, bases) => {
|
|
100
|
+
const layers = toShadow(value, bases);
|
|
101
|
+
return layers && ["shadow", layers];
|
|
102
|
+
},
|
|
103
|
+
opacities: number,
|
|
104
|
+
strokeWidths: number,
|
|
105
|
+
durations: (value) => {
|
|
106
|
+
const match = /^([\d.]+)(ms|s)$/.exec(value.trim());
|
|
107
|
+
if (!match) return void 0;
|
|
108
|
+
return ["duration", {
|
|
109
|
+
value: round(Number(match[1]) / (match[2] === "ms" ? 1e3 : 1)),
|
|
110
|
+
unit: "s"
|
|
111
|
+
}];
|
|
112
|
+
},
|
|
113
|
+
easings: (value) => {
|
|
114
|
+
const match = /^cubic-bezier\(([^)]+)\)$/.exec(value.trim());
|
|
115
|
+
return match ? ["cubicBezier", match[1].split(",").map(Number)] : void 0;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
/** 主题的取值换算成设计令牌;说明取自 token 目录,只导出目录里有的 token */
|
|
119
|
+
function designTokens(values, bases) {
|
|
120
|
+
const result = {};
|
|
121
|
+
for (const group of tokenCatalog) {
|
|
122
|
+
const convert = CONVERTERS[group.name];
|
|
123
|
+
const tokens = {};
|
|
124
|
+
for (const token of group.tokens) {
|
|
125
|
+
const value = values[group.name]?.[token.name];
|
|
126
|
+
const converted = value === void 0 ? void 0 : convert(value, bases);
|
|
127
|
+
if (!converted) continue;
|
|
128
|
+
tokens[token.name] = {
|
|
129
|
+
$type: converted[0],
|
|
130
|
+
$value: converted[1],
|
|
131
|
+
$description: token.description
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
result[group.name] = tokens;
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
/** 元素上实际生效的各组 token 取值(CSS 文本,如 radii.md → '0.4em');元素要已挂载 */
|
|
139
|
+
function elementThemeValues(element) {
|
|
140
|
+
const read = (group, token) => {
|
|
141
|
+
const vars = t[group];
|
|
142
|
+
return readToken(element, vars[token]);
|
|
143
|
+
};
|
|
144
|
+
return Object.fromEntries(tokenCatalog.map((group) => [group.name, Object.fromEntries(group.tokens.map((token) => [token.name, read(group.name, token.name)]))]));
|
|
145
|
+
}
|
|
146
|
+
/** 元素上实际生效的主题(所在 Provider 或页面根元素的主题)导出为设计令牌;元素要已挂载 */
|
|
147
|
+
function elementDesignTokens(element) {
|
|
148
|
+
const values = elementThemeValues(element);
|
|
149
|
+
const rem = Number.parseFloat(getComputedStyle(element.ownerDocument.documentElement).fontSize);
|
|
150
|
+
const em = toPx(values.fontSizes.md, {
|
|
151
|
+
em: rem,
|
|
152
|
+
rem
|
|
153
|
+
}).value;
|
|
154
|
+
return designTokens(values, {
|
|
155
|
+
em,
|
|
156
|
+
rem
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
/** 在 container 里挂一个套着这套主题、不显示的空元素,读完就移除 */
|
|
160
|
+
function probeTheme(theme, container, read) {
|
|
161
|
+
const probe = document.createElement("div");
|
|
162
|
+
applyStyleAttrs(probe, css.attrs(...theme.styles));
|
|
163
|
+
for (const [name, value] of Object.entries(themeVariables(theme))) probe.style.setProperty(name, value);
|
|
164
|
+
probe.hidden = true;
|
|
165
|
+
container.append(probe);
|
|
166
|
+
try {
|
|
167
|
+
return read(probe);
|
|
168
|
+
} finally {
|
|
169
|
+
probe.remove();
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/** 一套主题的各组 token 取值(CSS 文本):主题的取值编译成了样式,要放进页面里量 */
|
|
173
|
+
function themeValues(theme, container = document.body) {
|
|
174
|
+
return probeTheme(theme, container, elementThemeValues);
|
|
175
|
+
}
|
|
176
|
+
/** 一套主题的设计令牌 */
|
|
177
|
+
function themeDesignTokens(theme, container = document.body) {
|
|
178
|
+
return probeTheme(theme, container, elementDesignTokens);
|
|
179
|
+
}
|
|
180
|
+
//#endregion
|
|
181
|
+
export { designTokens, elementDesignTokens, elementThemeValues, themeDesignTokens, themeValues };
|
|
182
|
+
|
|
183
|
+
//# sourceMappingURL=design-tokens.js.map
|