@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,118 @@
|
|
|
1
|
+
import { t } from "../../config/theme/tokens.js";
|
|
2
|
+
import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
|
|
3
|
+
//#region src/utils/style/transitions.ts
|
|
4
|
+
/**
|
|
5
|
+
* 顶层元素(原生 popover、模态 dialog)的进出场过渡,纯 CSS:
|
|
6
|
+
* - 进场:打开状态(:popover-open / :modal)里用 @starting-style 给出起始值
|
|
7
|
+
* - 离场:display 与 overlay 加 allow-discrete,关闭后先播完过渡、再离开顶层
|
|
8
|
+
* 原生弹层被 Esc、点击外部关闭时 JS 来不及介入,所以不用 JS 动画。
|
|
9
|
+
* 用法:`sx: [styles.panel, transitions.scale]`;遮罩再加 `transitions.backdrop`。
|
|
10
|
+
* 进场用 enter 缓动与 md 时长,离场用 exit 缓动与更短的 sm 时长;“减少动态效果”时时长为 0。
|
|
11
|
+
* 离场过渡依赖 CSS 的 overlay,目前只有 Chromium 支持;Firefox、Safari 关闭后立即隐藏(三大浏览器实测),
|
|
12
|
+
* 进场过渡各浏览器都有。属于渐进增强:不支持时少了离场动画,状态不受影响。
|
|
13
|
+
*/
|
|
14
|
+
/** 顶层元素的进出场过渡:fade 淡入淡出、scale 缩放加淡入、backdrop 模态遮罩的淡入 */
|
|
15
|
+
var transitions = css.create({
|
|
16
|
+
/** 淡入淡出 */
|
|
17
|
+
fade: {
|
|
18
|
+
opacity: {
|
|
19
|
+
default: 0,
|
|
20
|
+
":popover-open": {
|
|
21
|
+
default: 1,
|
|
22
|
+
"@starting-style": 0
|
|
23
|
+
},
|
|
24
|
+
":modal": {
|
|
25
|
+
default: 1,
|
|
26
|
+
"@starting-style": 0
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
transition: {
|
|
30
|
+
default: `opacity ${t.durations.sm} ${t.easings.exit}, display ${t.durations.sm} allow-discrete, overlay ${t.durations.sm} allow-discrete`,
|
|
31
|
+
":popover-open": `opacity ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`,
|
|
32
|
+
":modal": `opacity ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
/** 淡入并从略小放大到原尺寸:弹出框、菜单、对话框;缩放原点按弹出方向设置 transformOrigin */
|
|
36
|
+
scale: {
|
|
37
|
+
opacity: {
|
|
38
|
+
default: 0,
|
|
39
|
+
":popover-open": {
|
|
40
|
+
default: 1,
|
|
41
|
+
"@starting-style": 0
|
|
42
|
+
},
|
|
43
|
+
":modal": {
|
|
44
|
+
default: 1,
|
|
45
|
+
"@starting-style": 0
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
transform: {
|
|
49
|
+
default: "scale(0.96)",
|
|
50
|
+
":popover-open": {
|
|
51
|
+
default: "none",
|
|
52
|
+
"@starting-style": "scale(0.96)"
|
|
53
|
+
},
|
|
54
|
+
":modal": {
|
|
55
|
+
default: "none",
|
|
56
|
+
"@starting-style": "scale(0.96)"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
transition: {
|
|
60
|
+
default: `opacity ${t.durations.sm} ${t.easings.exit}, transform ${t.durations.sm} ${t.easings.exit}, display ${t.durations.sm} allow-discrete, overlay ${t.durations.sm} allow-discrete`,
|
|
61
|
+
":popover-open": `opacity ${t.durations.md} ${t.easings.enter}, transform ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`,
|
|
62
|
+
":modal": `opacity ${t.durations.md} ${t.easings.enter}, transform ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
/** 模态遮罩淡入淡出,颜色取 colors.overlay */
|
|
66
|
+
backdrop: { "::backdrop": {
|
|
67
|
+
backgroundColor: {
|
|
68
|
+
default: "transparent",
|
|
69
|
+
":modal": {
|
|
70
|
+
default: "_overlay",
|
|
71
|
+
"@starting-style": "transparent"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
transition: {
|
|
75
|
+
default: `background-color ${t.durations.sm} ${t.easings.exit}, display ${t.durations.sm} allow-discrete, overlay ${t.durations.sm} allow-discrete`,
|
|
76
|
+
":modal": `background-color ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`
|
|
77
|
+
}
|
|
78
|
+
} }
|
|
79
|
+
});
|
|
80
|
+
/** 交互状态的过渡:悬停、按下、选中、聚焦时颜色与阴影的变化(按钮、列表项、标签、输入框外壳共用) */
|
|
81
|
+
var interactionTransitions = css.create({
|
|
82
|
+
/** 背景色、边框色、文字色、阴影在 durations.sm 内过渡 */
|
|
83
|
+
colors: { transition: `background-color ${t.durations.sm} ${t.easings.standard}, border-color ${t.durations.sm} ${t.easings.standard}, color ${t.durations.sm} ${t.easings.standard}, box-shadow ${t.durations.sm} ${t.easings.standard}` } });
|
|
84
|
+
/** 展开指示(chevron)的旋转过渡;旋转角度由各组件给(右指向下 90°,下指向上 180°) */
|
|
85
|
+
var disclosureStyles = css.create({
|
|
86
|
+
/** 旋转在 durations.sm 内过渡 */
|
|
87
|
+
icon: { transition: `rotate ${t.durations.sm} ${t.easings.standard}` } });
|
|
88
|
+
/**
|
|
89
|
+
* 配合 usePresence 的淡入淡出:进场用 enter 缓动,离场(presence.state 为 closed)淡出到 0 用 exit 缓动。
|
|
90
|
+
* sx: [styles.root, presenceStyles.fade, presence.state === 'closed' && presenceStyles.leaving]
|
|
91
|
+
*/
|
|
92
|
+
var presenceStyles = css.create({
|
|
93
|
+
/** 进场 */
|
|
94
|
+
fade: { transition: `opacity ${t.durations.sm} ${t.easings.enter}` },
|
|
95
|
+
/** 离场:淡出 */
|
|
96
|
+
leaving: {
|
|
97
|
+
opacity: 0,
|
|
98
|
+
transition: `opacity ${t.durations.sm} ${t.easings.exit}`
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
/**
|
|
102
|
+
* 等元素(含子元素)上正在进行的过渡与动画结束;没有时立即完成,“减少动态效果”时也就立即完成。
|
|
103
|
+
* 被打断(取消、反向)的动画也算结束,调用方按当前状态决定下一步。
|
|
104
|
+
* 无限循环的动画(加载指示的旋转)永远不会结束,不等它。
|
|
105
|
+
* 最多等 timeout 毫秒(默认 1500,比主题最长的时长宽裕得多):Linux 上的 WebKit 偶尔把过渡停在起点不动,
|
|
106
|
+
* 不能让离场、收起的流程一直挂着。
|
|
107
|
+
*/
|
|
108
|
+
async function afterTransitions(element, { timeout = 1500 } = {}) {
|
|
109
|
+
const animations = element.getAnimations({ subtree: true }).filter((animation) => animation.effect?.getTiming().iterations !== Infinity);
|
|
110
|
+
if (!animations.length) return;
|
|
111
|
+
let timer;
|
|
112
|
+
await Promise.race([Promise.allSettled(animations.map((animation) => animation.finished)), new Promise((resolve) => timer = setTimeout(resolve, timeout))]);
|
|
113
|
+
clearTimeout(timer);
|
|
114
|
+
}
|
|
115
|
+
//#endregion
|
|
116
|
+
export { afterTransitions, disclosureStyles, interactionTransitions, presenceStyles, transitions };
|
|
117
|
+
|
|
118
|
+
//# sourceMappingURL=transitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transitions.js","names":[],"sources":["../../../src/utils/style/transitions.ts"],"sourcesContent":["/**\n * 顶层元素(原生 popover、模态 dialog)的进出场过渡,纯 CSS:\n * - 进场:打开状态(:popover-open / :modal)里用 @starting-style 给出起始值\n * - 离场:display 与 overlay 加 allow-discrete,关闭后先播完过渡、再离开顶层\n * 原生弹层被 Esc、点击外部关闭时 JS 来不及介入,所以不用 JS 动画。\n * 用法:`sx: [styles.panel, transitions.scale]`;遮罩再加 `transitions.backdrop`。\n * 进场用 enter 缓动与 md 时长,离场用 exit 缓动与更短的 sm 时长;“减少动态效果”时时长为 0。\n * 离场过渡依赖 CSS 的 overlay,目前只有 Chromium 支持;Firefox、Safari 关闭后立即隐藏(三大浏览器实测),\n * 进场过渡各浏览器都有。属于渐进增强:不支持时少了离场动画,状态不受影响。\n */\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport { t } from '../../config/theme/tokens';\n\n/** 顶层元素的进出场过渡:fade 淡入淡出、scale 缩放加淡入、backdrop 模态遮罩的淡入 */\nexport const transitions = css.create({\n /** 淡入淡出 */\n fade: {\n opacity: {\n default: 0,\n ':popover-open': { default: 1, '@starting-style': 0 },\n ':modal': { default: 1, '@starting-style': 0 },\n },\n transition: {\n default: `opacity ${t.durations.sm} ${t.easings.exit}, display ${t.durations.sm} allow-discrete, overlay ${t.durations.sm} allow-discrete`,\n ':popover-open': `opacity ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`,\n ':modal': `opacity ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`,\n },\n },\n /** 淡入并从略小放大到原尺寸:弹出框、菜单、对话框;缩放原点按弹出方向设置 transformOrigin */\n scale: {\n opacity: {\n default: 0,\n ':popover-open': { default: 1, '@starting-style': 0 },\n ':modal': { default: 1, '@starting-style': 0 },\n },\n transform: {\n default: 'scale(0.96)',\n ':popover-open': { default: 'none', '@starting-style': 'scale(0.96)' },\n ':modal': { default: 'none', '@starting-style': 'scale(0.96)' },\n },\n transition: {\n default: `opacity ${t.durations.sm} ${t.easings.exit}, transform ${t.durations.sm} ${t.easings.exit}, display ${t.durations.sm} allow-discrete, overlay ${t.durations.sm} allow-discrete`,\n ':popover-open': `opacity ${t.durations.md} ${t.easings.enter}, transform ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`,\n ':modal': `opacity ${t.durations.md} ${t.easings.enter}, transform ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`,\n },\n },\n /** 模态遮罩淡入淡出,颜色取 colors.overlay */\n backdrop: {\n '::backdrop': {\n backgroundColor: {\n default: 'transparent',\n ':modal': { default: '_overlay', '@starting-style': 'transparent' },\n },\n transition: {\n default: `background-color ${t.durations.sm} ${t.easings.exit}, display ${t.durations.sm} allow-discrete, overlay ${t.durations.sm} allow-discrete`,\n ':modal': `background-color ${t.durations.md} ${t.easings.enter}, display ${t.durations.md} allow-discrete, overlay ${t.durations.md} allow-discrete`,\n },\n },\n },\n});\n\n/** 交互状态的过渡:悬停、按下、选中、聚焦时颜色与阴影的变化(按钮、列表项、标签、输入框外壳共用) */\nexport const interactionTransitions = css.create({\n /** 背景色、边框色、文字色、阴影在 durations.sm 内过渡 */\n colors: {\n transition: `background-color ${t.durations.sm} ${t.easings.standard}, border-color ${t.durations.sm} ${t.easings.standard}, color ${t.durations.sm} ${t.easings.standard}, box-shadow ${t.durations.sm} ${t.easings.standard}`,\n },\n});\n\n/** 展开指示(chevron)的旋转过渡;旋转角度由各组件给(右指向下 90°,下指向上 180°) */\nexport const disclosureStyles = css.create({\n /** 旋转在 durations.sm 内过渡 */\n icon: { transition: `rotate ${t.durations.sm} ${t.easings.standard}` },\n});\n\n/**\n * 配合 usePresence 的淡入淡出:进场用 enter 缓动,离场(presence.state 为 closed)淡出到 0 用 exit 缓动。\n * sx: [styles.root, presenceStyles.fade, presence.state === 'closed' && presenceStyles.leaving]\n */\nexport const presenceStyles = css.create({\n /** 进场 */\n fade: { transition: `opacity ${t.durations.sm} ${t.easings.enter}` },\n /** 离场:淡出 */\n leaving: { opacity: 0, transition: `opacity ${t.durations.sm} ${t.easings.exit}` },\n});\n\n/**\n * 等元素(含子元素)上正在进行的过渡与动画结束;没有时立即完成,“减少动态效果”时也就立即完成。\n * 被打断(取消、反向)的动画也算结束,调用方按当前状态决定下一步。\n * 无限循环的动画(加载指示的旋转)永远不会结束,不等它。\n * 最多等 timeout 毫秒(默认 1500,比主题最长的时长宽裕得多):Linux 上的 WebKit 偶尔把过渡停在起点不动,\n * 不能让离场、收起的流程一直挂着。\n */\nexport async function afterTransitions(\n element: Element,\n { timeout = 1500 }: { timeout?: number } = {},\n): Promise<void> {\n const animations = element\n .getAnimations({ subtree: true })\n .filter((animation) => animation.effect?.getTiming().iterations !== Infinity);\n if (!animations.length) return;\n let timer: ReturnType<typeof setTimeout> | undefined;\n await Promise.race([\n Promise.allSettled(animations.map((animation) => animation.finished)),\n new Promise((resolve) => (timer = setTimeout(resolve, timeout))),\n ]);\n clearTimeout(timer);\n}\n"],"mappings":";;;;;;;;;;;;;;AAcA,IAAa,cAAc,IAAI,OAAO;;CAEpC,MAAM;EACJ,SAAS;GACP,SAAS;GACT,iBAAiB;IAAE,SAAS;IAAG,mBAAmB;GAAE;GACpD,UAAU;IAAE,SAAS;IAAG,mBAAmB;GAAE;EAC/C;EACA,YAAY;GACV,SAAS,WAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,KAAI,YAAa,EAAE,UAAU,GAAE,2BAA4B,EAAE,UAAU,GAAE;GACzH,iBAAiB,WAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,MAAK,YAAa,EAAE,UAAU,GAAE,2BAA4B,EAAE,UAAU,GAAE;GAClI,UAAU,WAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,MAAK,YAAa,EAAE,UAAU,GAAE,2BAA4B,EAAE,UAAU,GAAE;EAC7H;CACF;;CAEA,OAAO;EACL,SAAS;GACP,SAAS;GACT,iBAAiB;IAAE,SAAS;IAAG,mBAAmB;GAAE;GACpD,UAAU;IAAE,SAAS;IAAG,mBAAmB;GAAE;EAC/C;EACA,WAAW;GACT,SAAS;GACT,iBAAiB;IAAE,SAAS;IAAQ,mBAAmB;GAAc;GACrE,UAAU;IAAE,SAAS;IAAQ,mBAAmB;GAAc;EAChE;EACA,YAAY;GACV,SAAS,WAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,KAAI,cAAe,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,KAAI,YAAa,EAAE,UAAU,GAAE,2BAA4B,EAAE,UAAU,GAAE;GACxK,iBAAiB,WAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,MAAK,cAAe,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,MAAK,YAAa,EAAE,UAAU,GAAE,2BAA4B,EAAE,UAAU,GAAE;GAClL,UAAU,WAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,MAAK,cAAe,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,MAAK,YAAa,EAAE,UAAU,GAAE,2BAA4B,EAAE,UAAU,GAAE;EAC7K;CACF;;CAEA,UAAU,EACR,cAAc;EACZ,iBAAiB;GACf,SAAS;GACT,UAAU;IAAE,SAAS;IAAY,mBAAmB;GAAc;EACpE;EACA,YAAY;GACV,SAAS,oBAAoB,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,KAAI,YAAa,EAAE,UAAU,GAAE,2BAA4B,EAAE,UAAU,GAAE;GAClI,UAAU,oBAAoB,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,MAAK,YAAa,EAAE,UAAU,GAAE,2BAA4B,EAAE,UAAU,GAAE;EACtI;CACF,EACF;AACF,CAAC;;AAGD,IAAa,yBAAyB,IAAI,OAAO;;AAE/C,QAAQ,EACN,YAAY,oBAAoB,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,SAAQ,iBAAkB,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,SAAQ,UAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,SAAQ,eAAgB,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,WACvN,EACF,CAAC;;AAGD,IAAa,mBAAmB,IAAI,OAAO;;AAEzC,MAAM,EAAE,YAAY,UAAU,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,WAAW,EACvE,CAAC;;;;;AAMD,IAAa,iBAAiB,IAAI,OAAO;;CAEvC,MAAM,EAAE,YAAY,WAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,QAAQ;;CAEnE,SAAS;EAAE,SAAS;EAAG,YAAY,WAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ;CAAO;AACnF,CAAC;;;;;;;;AASD,eAAsB,iBACpB,SACA,EAAE,UAAU,SAA+B,CAAC,GAC7B;CACf,MAAM,aAAa,QAChB,cAAc,EAAE,SAAS,KAAK,CAAC,CAAC,CAChC,QAAQ,cAAc,UAAU,QAAQ,UAAU,CAAC,CAAC,eAAe,QAAQ;CAC9E,IAAI,CAAC,WAAW,QAAQ;CACxB,IAAI;CACJ,MAAM,QAAQ,KAAK,CACjB,QAAQ,WAAW,WAAW,KAAK,cAAc,UAAU,QAAQ,CAAC,GACpE,IAAI,SAAS,YAAa,QAAQ,WAAW,SAAS,OAAO,CAAE,CAAC,CACjE;CACD,aAAa,KAAK;AACpB"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文字相关的共用样式表:Text、Heading、Icon、Button 等按同一套档位取字号、字重、色调。
|
|
3
|
+
* 档位与主题 tokens 同名(COMPONENTS.md §6.2)。
|
|
4
|
+
*/
|
|
5
|
+
import * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';
|
|
6
|
+
/** 界面文字的字号档位,对应主题的 fontSizes;组件的 size 档位也用它,括号里是默认主题的值 */
|
|
7
|
+
export interface TextSizes {
|
|
8
|
+
/** 12px:辅助说明、标签 */
|
|
9
|
+
xs: unknown;
|
|
10
|
+
/** 13px:紧凑控件 */
|
|
11
|
+
sm: unknown;
|
|
12
|
+
/** 14px:正文与默认控件 */
|
|
13
|
+
md: unknown;
|
|
14
|
+
/** 16px:宽松控件、小标题 */
|
|
15
|
+
lg: unknown;
|
|
16
|
+
/** 18px:强调文字、卡片标题 */
|
|
17
|
+
xl: unknown;
|
|
18
|
+
}
|
|
19
|
+
/** 字号档位:界面文字的五档,加上标题用的两档 */
|
|
20
|
+
export interface FontSizes extends TextSizes {
|
|
21
|
+
/** 24px:页面标题 */
|
|
22
|
+
xxl: unknown;
|
|
23
|
+
/** 30px:大标题 */
|
|
24
|
+
xxxl: unknown;
|
|
25
|
+
}
|
|
26
|
+
/** 界面文字的字号档位:xs–xl */
|
|
27
|
+
export type TextSize = keyof TextSizes;
|
|
28
|
+
/** 字号档位:xs–xl,加上标题用的 xxl、xxxl */
|
|
29
|
+
export type FontSize = keyof FontSizes;
|
|
30
|
+
/** 字重,对应主题的 fontWeights */
|
|
31
|
+
export interface FontWeights {
|
|
32
|
+
/** 300:细 */
|
|
33
|
+
light: unknown;
|
|
34
|
+
/** 400:正文 */
|
|
35
|
+
normal: unknown;
|
|
36
|
+
/** 500:标签、表头 */
|
|
37
|
+
medium: unknown;
|
|
38
|
+
/** 600:按钮、标题 */
|
|
39
|
+
semibold: unknown;
|
|
40
|
+
/** 700:粗 */
|
|
41
|
+
bold: unknown;
|
|
42
|
+
}
|
|
43
|
+
/** 字重档位 */
|
|
44
|
+
export type FontWeight = keyof FontWeights;
|
|
45
|
+
/**
|
|
46
|
+
* 文字色调,对应主题的文字颜色。与状态色调(StatusTones:neutral、accent、info、success、warning、danger)同名,
|
|
47
|
+
* 再加文字专用的 muted:Text、Link、Icon 与 Button、Badge 写同一个值得到同一种颜色
|
|
48
|
+
*/
|
|
49
|
+
export interface Tones {
|
|
50
|
+
/** 中性:正文色 */
|
|
51
|
+
neutral: unknown;
|
|
52
|
+
/** 次要文字色:说明、辅助信息 */
|
|
53
|
+
muted: unknown;
|
|
54
|
+
/** 品牌色文字:链接、强调 */
|
|
55
|
+
accent: unknown;
|
|
56
|
+
/** 危险:错误提示、破坏性操作的说明 */
|
|
57
|
+
danger: unknown;
|
|
58
|
+
/** 成功 */
|
|
59
|
+
success: unknown;
|
|
60
|
+
/** 警告 */
|
|
61
|
+
warning: unknown;
|
|
62
|
+
/** 信息 */
|
|
63
|
+
info: unknown;
|
|
64
|
+
/** 跟随所在的文字颜色:放在有底色的通栏(Banner 的实底)、标记里时用,对比度由底色保证 */
|
|
65
|
+
inherit: unknown;
|
|
66
|
+
}
|
|
67
|
+
/** 文字色调 */
|
|
68
|
+
export type Tone = keyof Tones;
|
|
69
|
+
/** 文字的水平对齐(text-align),按书写方向 */
|
|
70
|
+
export interface TextAligns {
|
|
71
|
+
/** 对齐起始边:从左到右排版时靠左 */
|
|
72
|
+
start: unknown;
|
|
73
|
+
/** 居中 */
|
|
74
|
+
center: unknown;
|
|
75
|
+
/** 对齐结束边:从左到右排版时靠右 */
|
|
76
|
+
end: unknown;
|
|
77
|
+
}
|
|
78
|
+
/** 水平对齐 */
|
|
79
|
+
export type TextAlign = keyof TextAligns;
|
|
80
|
+
/** 换行方式(text-wrap) */
|
|
81
|
+
export interface TextWraps {
|
|
82
|
+
/** 正常换行 */
|
|
83
|
+
wrap: unknown;
|
|
84
|
+
/** 不换行,超出容器时溢出(配合 truncate 省略) */
|
|
85
|
+
nowrap: unknown;
|
|
86
|
+
/** 各行长度尽量均衡:标题、短文本 */
|
|
87
|
+
balance: unknown;
|
|
88
|
+
/** 避免最后一行只剩一个字:段落 */
|
|
89
|
+
pretty: unknown;
|
|
90
|
+
}
|
|
91
|
+
/** 换行方式 */
|
|
92
|
+
export type TextWrap = keyof TextWraps;
|
|
93
|
+
/** 字号档位 → fontSizes token */
|
|
94
|
+
export declare const fontSizeStyles: Readonly<{
|
|
95
|
+
lg: css.CompiledStyles;
|
|
96
|
+
md: css.CompiledStyles;
|
|
97
|
+
sm: css.CompiledStyles;
|
|
98
|
+
xl: css.CompiledStyles;
|
|
99
|
+
xs: css.CompiledStyles;
|
|
100
|
+
xxl: css.CompiledStyles;
|
|
101
|
+
xxxl: css.CompiledStyles;
|
|
102
|
+
}>;
|
|
103
|
+
/**
|
|
104
|
+
* 相对所在字号的档位(em):组件内部的小字、标题用它,跟着根上的 size 或所在文字一起缩放。
|
|
105
|
+
* 比例取主题默认字号(md 14px)下与各档的比值:sm ≈ 13px、xs ≈ 12px、lg ≈ 16px、xl ≈ 18px
|
|
106
|
+
*/
|
|
107
|
+
export declare const relativeFontSizeStyles: Readonly<{
|
|
108
|
+
lg: css.CompiledStyles;
|
|
109
|
+
sm: css.CompiledStyles;
|
|
110
|
+
xl: css.CompiledStyles;
|
|
111
|
+
xs: css.CompiledStyles;
|
|
112
|
+
}>;
|
|
113
|
+
/** 字重档位 → fontWeights token */
|
|
114
|
+
export declare const fontWeightStyles: Readonly<{
|
|
115
|
+
bold: css.CompiledStyles;
|
|
116
|
+
light: css.CompiledStyles;
|
|
117
|
+
medium: css.CompiledStyles;
|
|
118
|
+
normal: css.CompiledStyles;
|
|
119
|
+
semibold: css.CompiledStyles;
|
|
120
|
+
}>;
|
|
121
|
+
/** 色调 → 文字颜色 token */
|
|
122
|
+
export declare const toneStyles: Readonly<{
|
|
123
|
+
accent: css.CompiledStyles;
|
|
124
|
+
danger: css.CompiledStyles;
|
|
125
|
+
info: css.CompiledStyles;
|
|
126
|
+
inherit: css.CompiledStyles;
|
|
127
|
+
muted: css.CompiledStyles;
|
|
128
|
+
neutral: css.CompiledStyles;
|
|
129
|
+
success: css.CompiledStyles;
|
|
130
|
+
warning: css.CompiledStyles;
|
|
131
|
+
}>;
|
|
132
|
+
/** 水平对齐(按书写方向) */
|
|
133
|
+
export declare const textAlignStyles: Readonly<{
|
|
134
|
+
center: css.CompiledStyles;
|
|
135
|
+
end: css.CompiledStyles;
|
|
136
|
+
start: css.CompiledStyles;
|
|
137
|
+
}>;
|
|
138
|
+
/** 换行方式(text-wrap) */
|
|
139
|
+
export declare const textWrapStyles: Readonly<{
|
|
140
|
+
balance: css.CompiledStyles;
|
|
141
|
+
nowrap: css.CompiledStyles;
|
|
142
|
+
pretty: css.CompiledStyles;
|
|
143
|
+
wrap: css.CompiledStyles;
|
|
144
|
+
}>;
|
|
145
|
+
/** 截断:truncate 单行省略,clamp 多行截断(行数见 lineClampStyles) */
|
|
146
|
+
export declare const textStyles: Readonly<{
|
|
147
|
+
clamp: css.CompiledStyles;
|
|
148
|
+
mono: css.CompiledStyles;
|
|
149
|
+
numeric: css.CompiledStyles;
|
|
150
|
+
truncate: css.CompiledStyles;
|
|
151
|
+
}>;
|
|
152
|
+
/** 多行截断的行数:任意值,用动态样式(编译为 CSS 变量),与 textStyles.clamp 一起用 */
|
|
153
|
+
export declare const lineClampStyles: Readonly<{
|
|
154
|
+
readonly lines: (count: number) => Readonly<[css.CompiledStyles, css.InlineStyles]>;
|
|
155
|
+
}>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
|
|
2
|
+
//#region src/utils/style/typography.ts
|
|
3
|
+
/**
|
|
4
|
+
* 文字相关的共用样式表:Text、Heading、Icon、Button 等按同一套档位取字号、字重、色调。
|
|
5
|
+
* 档位与主题 tokens 同名(COMPONENTS.md §6.2)。
|
|
6
|
+
*/
|
|
7
|
+
/** 字号档位 → fontSizes token */
|
|
8
|
+
var fontSizeStyles = css.create({
|
|
9
|
+
xs: { fontSize: "_xs" },
|
|
10
|
+
sm: { fontSize: "_sm" },
|
|
11
|
+
md: { fontSize: "_md" },
|
|
12
|
+
lg: { fontSize: "_lg" },
|
|
13
|
+
xl: { fontSize: "_xl" },
|
|
14
|
+
xxl: { fontSize: "_xxl" },
|
|
15
|
+
xxxl: { fontSize: "_xxxl" }
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* 相对所在字号的档位(em):组件内部的小字、标题用它,跟着根上的 size 或所在文字一起缩放。
|
|
19
|
+
* 比例取主题默认字号(md 14px)下与各档的比值:sm ≈ 13px、xs ≈ 12px、lg ≈ 16px、xl ≈ 18px
|
|
20
|
+
*/
|
|
21
|
+
var relativeFontSizeStyles = css.create({
|
|
22
|
+
xs: { fontSize: "0.86em" },
|
|
23
|
+
sm: { fontSize: "0.93em" },
|
|
24
|
+
lg: { fontSize: "1.14em" },
|
|
25
|
+
xl: { fontSize: "1.29em" }
|
|
26
|
+
});
|
|
27
|
+
/** 字重档位 → fontWeights token */
|
|
28
|
+
var fontWeightStyles = css.create({
|
|
29
|
+
light: { fontWeight: "_light" },
|
|
30
|
+
normal: { fontWeight: "_normal" },
|
|
31
|
+
medium: { fontWeight: "_medium" },
|
|
32
|
+
semibold: { fontWeight: "_semibold" },
|
|
33
|
+
bold: { fontWeight: "_bold" }
|
|
34
|
+
});
|
|
35
|
+
/** 色调 → 文字颜色 token */
|
|
36
|
+
var toneStyles = css.create({
|
|
37
|
+
neutral: { color: "_text" },
|
|
38
|
+
muted: { color: "_textMuted" },
|
|
39
|
+
accent: { color: "_accentText" },
|
|
40
|
+
danger: { color: "_dangerText" },
|
|
41
|
+
success: { color: "_successText" },
|
|
42
|
+
warning: { color: "_warningText" },
|
|
43
|
+
info: { color: "_infoText" },
|
|
44
|
+
inherit: { color: "inherit" }
|
|
45
|
+
});
|
|
46
|
+
/** 水平对齐(按书写方向) */
|
|
47
|
+
var textAlignStyles = css.create({
|
|
48
|
+
start: { textAlign: "start" },
|
|
49
|
+
center: { textAlign: "center" },
|
|
50
|
+
end: { textAlign: "end" }
|
|
51
|
+
});
|
|
52
|
+
/** 换行方式(text-wrap) */
|
|
53
|
+
var textWrapStyles = css.create({
|
|
54
|
+
wrap: { textWrap: "wrap" },
|
|
55
|
+
nowrap: { textWrap: "nowrap" },
|
|
56
|
+
balance: { textWrap: "balance" },
|
|
57
|
+
pretty: { textWrap: "pretty" }
|
|
58
|
+
});
|
|
59
|
+
/** 截断:truncate 单行省略,clamp 多行截断(行数见 lineClampStyles) */
|
|
60
|
+
var textStyles = css.create({
|
|
61
|
+
truncate: {
|
|
62
|
+
overflow: "hidden",
|
|
63
|
+
textOverflow: "ellipsis",
|
|
64
|
+
whiteSpace: "nowrap",
|
|
65
|
+
minWidth: 0
|
|
66
|
+
},
|
|
67
|
+
clamp: {
|
|
68
|
+
display: "-webkit-box",
|
|
69
|
+
WebkitBoxOrient: "vertical",
|
|
70
|
+
overflow: "hidden"
|
|
71
|
+
},
|
|
72
|
+
numeric: { fontVariantNumeric: "tabular-nums" },
|
|
73
|
+
mono: { fontFamily: "_mono" }
|
|
74
|
+
});
|
|
75
|
+
/** 多行截断的行数:任意值,用动态样式(编译为 CSS 变量),与 textStyles.clamp 一起用 */
|
|
76
|
+
var lineClampStyles = css.create({ lines: (count) => ({ WebkitLineClamp: count }) });
|
|
77
|
+
//#endregion
|
|
78
|
+
export { fontSizeStyles, fontWeightStyles, lineClampStyles, relativeFontSizeStyles, textAlignStyles, textStyles, textWrapStyles, toneStyles };
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=typography.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typography.js","names":[],"sources":["../../../src/utils/style/typography.ts"],"sourcesContent":["/**\n * 文字相关的共用样式表:Text、Heading、Icon、Button 等按同一套档位取字号、字重、色调。\n * 档位与主题 tokens 同名(COMPONENTS.md §6.2)。\n */\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\n// 取值类型写成带注释接口的 keyof:补全与悬停能看到每个取值的效果(见 styles.ts)\n\n/** 界面文字的字号档位,对应主题的 fontSizes;组件的 size 档位也用它,括号里是默认主题的值 */\nexport interface TextSizes {\n /** 12px:辅助说明、标签 */\n xs: unknown;\n /** 13px:紧凑控件 */\n sm: unknown;\n /** 14px:正文与默认控件 */\n md: unknown;\n /** 16px:宽松控件、小标题 */\n lg: unknown;\n /** 18px:强调文字、卡片标题 */\n xl: unknown;\n}\n\n/** 字号档位:界面文字的五档,加上标题用的两档 */\nexport interface FontSizes extends TextSizes {\n /** 24px:页面标题 */\n xxl: unknown;\n /** 30px:大标题 */\n xxxl: unknown;\n}\n\n/** 界面文字的字号档位:xs–xl */\nexport type TextSize = keyof TextSizes;\n/** 字号档位:xs–xl,加上标题用的 xxl、xxxl */\nexport type FontSize = keyof FontSizes;\n\n/** 字重,对应主题的 fontWeights */\nexport interface FontWeights {\n /** 300:细 */\n light: unknown;\n /** 400:正文 */\n normal: unknown;\n /** 500:标签、表头 */\n medium: unknown;\n /** 600:按钮、标题 */\n semibold: unknown;\n /** 700:粗 */\n bold: unknown;\n}\n\n/** 字重档位 */\nexport type FontWeight = keyof FontWeights;\n\n/**\n * 文字色调,对应主题的文字颜色。与状态色调(StatusTones:neutral、accent、info、success、warning、danger)同名,\n * 再加文字专用的 muted:Text、Link、Icon 与 Button、Badge 写同一个值得到同一种颜色\n */\nexport interface Tones {\n /** 中性:正文色 */\n neutral: unknown;\n /** 次要文字色:说明、辅助信息 */\n muted: unknown;\n /** 品牌色文字:链接、强调 */\n accent: unknown;\n /** 危险:错误提示、破坏性操作的说明 */\n danger: unknown;\n /** 成功 */\n success: unknown;\n /** 警告 */\n warning: unknown;\n /** 信息 */\n info: unknown;\n /** 跟随所在的文字颜色:放在有底色的通栏(Banner 的实底)、标记里时用,对比度由底色保证 */\n inherit: unknown;\n}\n\n/** 文字色调 */\nexport type Tone = keyof Tones;\n\n/** 文字的水平对齐(text-align),按书写方向 */\nexport interface TextAligns {\n /** 对齐起始边:从左到右排版时靠左 */\n start: unknown;\n /** 居中 */\n center: unknown;\n /** 对齐结束边:从左到右排版时靠右 */\n end: unknown;\n}\n\n/** 水平对齐 */\nexport type TextAlign = keyof TextAligns;\n\n/** 换行方式(text-wrap) */\nexport interface TextWraps {\n /** 正常换行 */\n wrap: unknown;\n /** 不换行,超出容器时溢出(配合 truncate 省略) */\n nowrap: unknown;\n /** 各行长度尽量均衡:标题、短文本 */\n balance: unknown;\n /** 避免最后一行只剩一个字:段落 */\n pretty: unknown;\n}\n\n/** 换行方式 */\nexport type TextWrap = keyof TextWraps;\n\n/** 字号档位 → fontSizes token */\nexport const fontSizeStyles = css.create({\n xs: { fontSize: '_xs' },\n sm: { fontSize: '_sm' },\n md: { fontSize: '_md' },\n lg: { fontSize: '_lg' },\n xl: { fontSize: '_xl' },\n xxl: { fontSize: '_xxl' },\n xxxl: { fontSize: '_xxxl' },\n});\n\n/**\n * 相对所在字号的档位(em):组件内部的小字、标题用它,跟着根上的 size 或所在文字一起缩放。\n * 比例取主题默认字号(md 14px)下与各档的比值:sm ≈ 13px、xs ≈ 12px、lg ≈ 16px、xl ≈ 18px\n */\nexport const relativeFontSizeStyles = css.create({\n xs: { fontSize: '0.86em' },\n sm: { fontSize: '0.93em' },\n lg: { fontSize: '1.14em' },\n xl: { fontSize: '1.29em' },\n});\n\n/** 字重档位 → fontWeights token */\nexport const fontWeightStyles = css.create({\n light: { fontWeight: '_light' },\n normal: { fontWeight: '_normal' },\n medium: { fontWeight: '_medium' },\n semibold: { fontWeight: '_semibold' },\n bold: { fontWeight: '_bold' },\n});\n\n/** 色调 → 文字颜色 token */\nexport const toneStyles = css.create({\n neutral: { color: '_text' },\n muted: { color: '_textMuted' },\n accent: { color: '_accentText' },\n danger: { color: '_dangerText' },\n success: { color: '_successText' },\n warning: { color: '_warningText' },\n info: { color: '_infoText' },\n inherit: { color: 'inherit' },\n});\n\n/** 水平对齐(按书写方向) */\nexport const textAlignStyles = css.create({\n start: { textAlign: 'start' },\n center: { textAlign: 'center' },\n end: { textAlign: 'end' },\n});\n\n/** 换行方式(text-wrap) */\nexport const textWrapStyles = css.create({\n wrap: { textWrap: 'wrap' },\n nowrap: { textWrap: 'nowrap' },\n // 标题:各行长度尽量均衡\n balance: { textWrap: 'balance' },\n // 段落:避免最后一行只剩一个字\n pretty: { textWrap: 'pretty' },\n});\n\n/** 截断:truncate 单行省略,clamp 多行截断(行数见 lineClampStyles) */\nexport const textStyles = css.create({\n // 单行省略:在块级元素或 flex 子项上生效\n truncate: { overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap', minWidth: 0 },\n // 多行截断用带 -webkit- 前缀的写法(标准的 line-clamp 尚无浏览器支持),行数见 lineClampStyles\n clamp: { display: '-webkit-box', WebkitBoxOrient: 'vertical', overflow: 'hidden' },\n // 数字等宽:表格、金额、计数上下对齐,变化时不跳动\n numeric: { fontVariantNumeric: 'tabular-nums' },\n // 等宽字体:编号、件号、代码片段\n mono: { fontFamily: '_mono' },\n});\n\n/** 多行截断的行数:任意值,用动态样式(编译为 CSS 变量),与 textStyles.clamp 一起用 */\nexport const lineClampStyles = css.create({\n lines: (count: number) => ({ WebkitLineClamp: count }),\n});\n"],"mappings":";;;;;;;AA0GA,IAAa,iBAAiB,IAAI,OAAO;CACvC,IAAI,EAAE,UAAU,MAAM;CACtB,IAAI,EAAE,UAAU,MAAM;CACtB,IAAI,EAAE,UAAU,MAAM;CACtB,IAAI,EAAE,UAAU,MAAM;CACtB,IAAI,EAAE,UAAU,MAAM;CACtB,KAAK,EAAE,UAAU,OAAO;CACxB,MAAM,EAAE,UAAU,QAAQ;AAC5B,CAAC;;;;;AAMD,IAAa,yBAAyB,IAAI,OAAO;CAC/C,IAAI,EAAE,UAAU,SAAS;CACzB,IAAI,EAAE,UAAU,SAAS;CACzB,IAAI,EAAE,UAAU,SAAS;CACzB,IAAI,EAAE,UAAU,SAAS;AAC3B,CAAC;;AAGD,IAAa,mBAAmB,IAAI,OAAO;CACzC,OAAO,EAAE,YAAY,SAAS;CAC9B,QAAQ,EAAE,YAAY,UAAU;CAChC,QAAQ,EAAE,YAAY,UAAU;CAChC,UAAU,EAAE,YAAY,YAAY;CACpC,MAAM,EAAE,YAAY,QAAQ;AAC9B,CAAC;;AAGD,IAAa,aAAa,IAAI,OAAO;CACnC,SAAS,EAAE,OAAO,QAAQ;CAC1B,OAAO,EAAE,OAAO,aAAa;CAC7B,QAAQ,EAAE,OAAO,cAAc;CAC/B,QAAQ,EAAE,OAAO,cAAc;CAC/B,SAAS,EAAE,OAAO,eAAe;CACjC,SAAS,EAAE,OAAO,eAAe;CACjC,MAAM,EAAE,OAAO,YAAY;CAC3B,SAAS,EAAE,OAAO,UAAU;AAC9B,CAAC;;AAGD,IAAa,kBAAkB,IAAI,OAAO;CACxC,OAAO,EAAE,WAAW,QAAQ;CAC5B,QAAQ,EAAE,WAAW,SAAS;CAC9B,KAAK,EAAE,WAAW,MAAM;AAC1B,CAAC;;AAGD,IAAa,iBAAiB,IAAI,OAAO;CACvC,MAAM,EAAE,UAAU,OAAO;CACzB,QAAQ,EAAE,UAAU,SAAS;CAE7B,SAAS,EAAE,UAAU,UAAU;CAE/B,QAAQ,EAAE,UAAU,SAAS;AAC/B,CAAC;;AAGD,IAAa,aAAa,IAAI,OAAO;CAEnC,UAAU;EAAE,UAAU;EAAU,cAAc;EAAY,YAAY;EAAU,UAAU;CAAE;CAE5F,OAAO;EAAE,SAAS;EAAe,iBAAiB;EAAY,UAAU;CAAS;CAEjF,SAAS,EAAE,oBAAoB,eAAe;CAE9C,MAAM,EAAE,YAAY,QAAQ;AAC9B,CAAC;;AAGD,IAAa,kBAAkB,IAAI,OAAO,EACxC,QAAQ,WAAmB,EAAE,iBAAiB,MAAM,GACtD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 组件之间约定的 CSS 变量(defineVars):不属于主题,由外层组件设置、里面的组件读取。
|
|
3
|
+
* 使用方从子路径 `@zerodep-dev/vue-tsx-pro-ui/vars` 导入(同 tokens),主入口不导出。
|
|
4
|
+
*/
|
|
5
|
+
import * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';
|
|
6
|
+
/** 布局变量 */
|
|
7
|
+
export declare const layoutVars: css.VarGroup<{
|
|
8
|
+
/**
|
|
9
|
+
* 页面顶部被粘性元素(AppShell 的顶栏)挡住的高度:标题的 scroll-margin、粘性侧栏的 top 据此让开,
|
|
10
|
+
* 锚点跳转后标题不会藏在顶栏下面。AppShell 设置它,默认 0
|
|
11
|
+
*/
|
|
12
|
+
readonly stickyOffset: "0px";
|
|
13
|
+
}>;
|
|
14
|
+
/** 骨架扫光(shimmer.ts)的变量 */
|
|
15
|
+
export declare const shimmerVars: css.VarGroup<{
|
|
16
|
+
/** 扫过的那道光带的颜色:默认跟随字色;Skeleton 改成正文色的淡色 */
|
|
17
|
+
readonly highlight: "color-mix(in oklab, currentColor 12%, transparent)";
|
|
18
|
+
}>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
|
|
2
|
+
//#region src/utils/style/vars.ts
|
|
3
|
+
/**
|
|
4
|
+
* 组件之间约定的 CSS 变量(defineVars):不属于主题,由外层组件设置、里面的组件读取。
|
|
5
|
+
* 使用方从子路径 `@zerodep-dev/vue-tsx-pro-ui/vars` 导入(同 tokens),主入口不导出。
|
|
6
|
+
*/
|
|
7
|
+
/** 布局变量 */
|
|
8
|
+
var layoutVars = css.defineVars("vtp-layout", {
|
|
9
|
+
/**
|
|
10
|
+
* 页面顶部被粘性元素(AppShell 的顶栏)挡住的高度:标题的 scroll-margin、粘性侧栏的 top 据此让开,
|
|
11
|
+
* 锚点跳转后标题不会藏在顶栏下面。AppShell 设置它,默认 0
|
|
12
|
+
*/
|
|
13
|
+
stickyOffset: "0px" });
|
|
14
|
+
/** 骨架扫光(shimmer.ts)的变量 */
|
|
15
|
+
var shimmerVars = css.defineVars("vtp-shimmer", {
|
|
16
|
+
/** 扫过的那道光带的颜色:默认跟随字色;Skeleton 改成正文色的淡色 */
|
|
17
|
+
highlight: "color-mix(in oklab, currentColor 12%, transparent)" });
|
|
18
|
+
//#endregion
|
|
19
|
+
export { layoutVars, shimmerVars };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=vars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vars.js","names":[],"sources":["../../../src/utils/style/vars.ts"],"sourcesContent":["/**\n * 组件之间约定的 CSS 变量(defineVars):不属于主题,由外层组件设置、里面的组件读取。\n * 使用方从子路径 `@zerodep-dev/vue-tsx-pro-ui/vars` 导入(同 tokens),主入口不导出。\n */\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\n\n/** 布局变量 */\nexport const layoutVars = css.defineVars('vtp-layout', {\n /**\n * 页面顶部被粘性元素(AppShell 的顶栏)挡住的高度:标题的 scroll-margin、粘性侧栏的 top 据此让开,\n * 锚点跳转后标题不会藏在顶栏下面。AppShell 设置它,默认 0\n */\n stickyOffset: '0px',\n});\n\n/** 骨架扫光(shimmer.ts)的变量 */\nexport const shimmerVars = css.defineVars('vtp-shimmer', {\n /** 扫过的那道光带的颜色:默认跟随字色;Skeleton 改成正文色的淡色 */\n highlight: 'color-mix(in oklab, currentColor 12%, transparent)',\n});\n"],"mappings":";;;;;;;AAOA,IAAa,aAAa,IAAI,WAAW,cAAc;;;;;AAKrD,cAAc,MAChB,CAAC;;AAGD,IAAa,cAAc,IAAI,WAAW,eAAe;;AAEvD,WAAW,qDACb,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type ExtractorRange, type VirtualItem, type VirtualScrollOptions, type VisibleRange } from './virtualizer';
|
|
2
|
+
/** useVirtualizer 每次同步时读取的选项 */
|
|
3
|
+
export interface UseVirtualizerOptions {
|
|
4
|
+
/** 总项数 */
|
|
5
|
+
count: number;
|
|
6
|
+
/** 滚动容器:元素或 window;还没挂载时为 null */
|
|
7
|
+
scrollElement: HTMLElement | Window | null;
|
|
8
|
+
/** 列表开头所在的元素:它与滚动内容开头的距离就是 scrollMargin(容器内边距、表头、列表上方的内容) */
|
|
9
|
+
list: HTMLElement | null;
|
|
10
|
+
/** 第 index 项的估计大小(px) */
|
|
11
|
+
estimateSize: (index: number) => number;
|
|
12
|
+
/** 第 index 项的 key;数据会重排、增删时给稳定的 key */
|
|
13
|
+
getItemKey?: (index: number) => PropertyKey;
|
|
14
|
+
/** 可见范围前后各多渲染几项 */
|
|
15
|
+
overscan?: number;
|
|
16
|
+
/** 横向 */
|
|
17
|
+
horizontal?: boolean;
|
|
18
|
+
/** 改写要渲染哪些项:始终渲染高亮项、吸顶行 */
|
|
19
|
+
rangeExtractor?: (range: ExtractorRange) => number[];
|
|
20
|
+
/** 视口开头被吸顶的内容遮住的部分(px),滚动时读取:滚动到某项时避开 */
|
|
21
|
+
scrollPaddingStart?: () => number;
|
|
22
|
+
/** 视口末尾被吸底的内容遮住的部分(px),滚动时读取 */
|
|
23
|
+
scrollPaddingEnd?: () => number;
|
|
24
|
+
/** 可见范围(不含 overscan)变化:接近末尾时加载更多 */
|
|
25
|
+
onRangeChange?: (range: VisibleRange) => void;
|
|
26
|
+
}
|
|
27
|
+
/** useVirtualizer 的返回值 */
|
|
28
|
+
export interface VirtualView {
|
|
29
|
+
/** 要渲染的项 */
|
|
30
|
+
readonly items: readonly VirtualItem[];
|
|
31
|
+
/** 列表的总大小(px) */
|
|
32
|
+
readonly total: number;
|
|
33
|
+
/** 当前可见范围 */
|
|
34
|
+
readonly range: VisibleRange | null;
|
|
35
|
+
/** 项的 ref:渲染后测量真实大小(元素要带 data-index) */
|
|
36
|
+
measure: (element: unknown) => void;
|
|
37
|
+
/** 滚动到第 index 项 */
|
|
38
|
+
scrollToIndex: (index: number, options?: VirtualScrollOptions) => void;
|
|
39
|
+
/** 滚动到相对列表开头的位置 */
|
|
40
|
+
scrollToOffset: (offset: number, options?: VirtualScrollOptions) => void;
|
|
41
|
+
}
|
|
42
|
+
/** 在组件 setup 里调用 */
|
|
43
|
+
export declare function useVirtualizer(read: () => UseVirtualizerOptions): VirtualView;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { Virtualizer, isWindow } from "./virtualizer.js";
|
|
2
|
+
import { onScopeDispose, shallowRef, watch } from "vue";
|
|
3
|
+
//#region src/utils/virtual/use-virtualizer.ts
|
|
4
|
+
/**
|
|
5
|
+
* 虚拟滚动的 Vue 接线:把 Virtualizer(virtualizer.ts,不依赖 Vue)接到组件上。
|
|
6
|
+
* VirtualList、DataTable、TreeDataTable、ListboxView(Select、Combobox 的选项)共用。
|
|
7
|
+
*
|
|
8
|
+
* const virtual = useVirtualizer(() => ({
|
|
9
|
+
* count: rows.length,
|
|
10
|
+
* scrollElement: viewport, // 滚动容器(元素或 window),就绪前为 null
|
|
11
|
+
* list: body, // 列表开头所在的元素:据此算 scrollMargin
|
|
12
|
+
* estimateSize: () => 40,
|
|
13
|
+
* getItemKey: (index) => rows[index]!.id,
|
|
14
|
+
* }));
|
|
15
|
+
* virtual.items / virtual.total 渲染:只渲染这些项,列表撑到 total 高
|
|
16
|
+
* ref={virtual.measure} 每一项的元素:渲染后测量真实大小
|
|
17
|
+
*
|
|
18
|
+
* read 在 watch 里读取:其中读到的响应式数据(行数、key)变化时重新同步;
|
|
19
|
+
* 选项里的函数(estimateSize、onRangeChange)不在这时调用,它们读到的数据不会变成依赖。
|
|
20
|
+
*/
|
|
21
|
+
/** 在组件 setup 里调用 */
|
|
22
|
+
function useVirtualizer(read) {
|
|
23
|
+
const view = shallowRef({
|
|
24
|
+
items: [],
|
|
25
|
+
total: 0,
|
|
26
|
+
range: null
|
|
27
|
+
});
|
|
28
|
+
let current = read();
|
|
29
|
+
let reported = null;
|
|
30
|
+
function build(options) {
|
|
31
|
+
return {
|
|
32
|
+
count: options.count,
|
|
33
|
+
overscan: options.overscan,
|
|
34
|
+
horizontal: options.horizontal,
|
|
35
|
+
estimateSize: options.estimateSize,
|
|
36
|
+
getItemKey: options.getItemKey,
|
|
37
|
+
rangeExtractor: options.rangeExtractor,
|
|
38
|
+
scrollPaddingStart: () => current.scrollPaddingStart?.() ?? 0,
|
|
39
|
+
scrollPaddingEnd: () => current.scrollPaddingEnd?.() ?? 0,
|
|
40
|
+
getScrollElement: () => current.scrollElement,
|
|
41
|
+
scrollMargin: () => {
|
|
42
|
+
const { list, scrollElement, horizontal } = current;
|
|
43
|
+
if (!list || !scrollElement) return 0;
|
|
44
|
+
const listRect = list.getBoundingClientRect();
|
|
45
|
+
if (isWindow(scrollElement)) return horizontal ? listRect.left + window.scrollX : listRect.top + window.scrollY;
|
|
46
|
+
const rootRect = scrollElement.getBoundingClientRect();
|
|
47
|
+
return horizontal ? listRect.left - rootRect.left + scrollElement.scrollLeft : listRect.top - rootRect.top + scrollElement.scrollTop;
|
|
48
|
+
},
|
|
49
|
+
onChange: (changed) => {
|
|
50
|
+
const range = changed.getVisibleRange();
|
|
51
|
+
view.value = {
|
|
52
|
+
items: changed.getVirtualItems(),
|
|
53
|
+
total: changed.getTotalSize(),
|
|
54
|
+
range
|
|
55
|
+
};
|
|
56
|
+
if (!range || range.startIndex === reported?.startIndex && range.endIndex === reported.endIndex) return;
|
|
57
|
+
reported = range;
|
|
58
|
+
current.onRangeChange?.(range);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
const virtualizer = new Virtualizer(build(current));
|
|
63
|
+
watch(read, (next) => {
|
|
64
|
+
current = next;
|
|
65
|
+
virtualizer.setOptions(build(next));
|
|
66
|
+
});
|
|
67
|
+
let unmount;
|
|
68
|
+
watch(() => read().scrollElement, (element) => {
|
|
69
|
+
unmount?.();
|
|
70
|
+
unmount = element ? virtualizer.mount() : void 0;
|
|
71
|
+
}, {
|
|
72
|
+
immediate: true,
|
|
73
|
+
flush: "post"
|
|
74
|
+
});
|
|
75
|
+
onScopeDispose(() => unmount?.());
|
|
76
|
+
return {
|
|
77
|
+
get items() {
|
|
78
|
+
return view.value.items;
|
|
79
|
+
},
|
|
80
|
+
get total() {
|
|
81
|
+
return view.value.total;
|
|
82
|
+
},
|
|
83
|
+
get range() {
|
|
84
|
+
return view.value.range;
|
|
85
|
+
},
|
|
86
|
+
measure: virtualizer.measureElement,
|
|
87
|
+
scrollToIndex: (index, options) => virtualizer.scrollToIndex(index, options),
|
|
88
|
+
scrollToOffset: (offset, options) => virtualizer.scrollToOffset(offset, options)
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
export { useVirtualizer };
|
|
93
|
+
|
|
94
|
+
//# sourceMappingURL=use-virtualizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-virtualizer.js","names":[],"sources":["../../../src/utils/virtual/use-virtualizer.ts"],"sourcesContent":["/**\n * 虚拟滚动的 Vue 接线:把 Virtualizer(virtualizer.ts,不依赖 Vue)接到组件上。\n * VirtualList、DataTable、TreeDataTable、ListboxView(Select、Combobox 的选项)共用。\n *\n * const virtual = useVirtualizer(() => ({\n * count: rows.length,\n * scrollElement: viewport, // 滚动容器(元素或 window),就绪前为 null\n * list: body, // 列表开头所在的元素:据此算 scrollMargin\n * estimateSize: () => 40,\n * getItemKey: (index) => rows[index]!.id,\n * }));\n * virtual.items / virtual.total 渲染:只渲染这些项,列表撑到 total 高\n * ref={virtual.measure} 每一项的元素:渲染后测量真实大小\n *\n * read 在 watch 里读取:其中读到的响应式数据(行数、key)变化时重新同步;\n * 选项里的函数(estimateSize、onRangeChange)不在这时调用,它们读到的数据不会变成依赖。\n */\nimport { onScopeDispose, shallowRef, watch } from 'vue';\nimport {\n isWindow,\n Virtualizer,\n type ExtractorRange,\n type VirtualItem,\n type VirtualScrollOptions,\n type VisibleRange,\n} from './virtualizer';\n\n/** useVirtualizer 每次同步时读取的选项 */\nexport interface UseVirtualizerOptions {\n /** 总项数 */\n count: number;\n /** 滚动容器:元素或 window;还没挂载时为 null */\n scrollElement: HTMLElement | Window | null;\n /** 列表开头所在的元素:它与滚动内容开头的距离就是 scrollMargin(容器内边距、表头、列表上方的内容) */\n list: HTMLElement | null;\n /** 第 index 项的估计大小(px) */\n estimateSize: (index: number) => number;\n /** 第 index 项的 key;数据会重排、增删时给稳定的 key */\n getItemKey?: (index: number) => PropertyKey;\n /** 可见范围前后各多渲染几项 */\n overscan?: number;\n /** 横向 */\n horizontal?: boolean;\n /** 改写要渲染哪些项:始终渲染高亮项、吸顶行 */\n rangeExtractor?: (range: ExtractorRange) => number[];\n /** 视口开头被吸顶的内容遮住的部分(px),滚动时读取:滚动到某项时避开 */\n scrollPaddingStart?: () => number;\n /** 视口末尾被吸底的内容遮住的部分(px),滚动时读取 */\n scrollPaddingEnd?: () => number;\n /** 可见范围(不含 overscan)变化:接近末尾时加载更多 */\n onRangeChange?: (range: VisibleRange) => void;\n}\n\n/** useVirtualizer 的返回值 */\nexport interface VirtualView {\n /** 要渲染的项 */\n readonly items: readonly VirtualItem[];\n /** 列表的总大小(px) */\n readonly total: number;\n /** 当前可见范围 */\n readonly range: VisibleRange | null;\n /** 项的 ref:渲染后测量真实大小(元素要带 data-index) */\n measure: (element: unknown) => void;\n /** 滚动到第 index 项 */\n scrollToIndex: (index: number, options?: VirtualScrollOptions) => void;\n /** 滚动到相对列表开头的位置 */\n scrollToOffset: (offset: number, options?: VirtualScrollOptions) => void;\n}\n\n/** 在组件 setup 里调用 */\nexport function useVirtualizer(read: () => UseVirtualizerOptions): VirtualView {\n // 渲染需要的只有这些;滚动本身不触发重新渲染\n const view = shallowRef<{ items: VirtualItem[]; total: number; range: VisibleRange | null }>({\n items: [],\n total: 0,\n range: null,\n });\n let current = read();\n let reported: VisibleRange | null = null;\n\n function build(options: UseVirtualizerOptions) {\n return {\n count: options.count,\n overscan: options.overscan,\n horizontal: options.horizontal,\n estimateSize: options.estimateSize,\n getItemKey: options.getItemKey,\n rangeExtractor: options.rangeExtractor,\n scrollPaddingStart: () => current.scrollPaddingStart?.() ?? 0,\n scrollPaddingEnd: () => current.scrollPaddingEnd?.() ?? 0,\n getScrollElement: () => current.scrollElement,\n scrollMargin: () => {\n const { list, scrollElement, horizontal } = current;\n if (!list || !scrollElement) return 0;\n const listRect = list.getBoundingClientRect();\n if (isWindow(scrollElement)) {\n return horizontal ? listRect.left + window.scrollX : listRect.top + window.scrollY;\n }\n const rootRect = scrollElement.getBoundingClientRect();\n return horizontal\n ? listRect.left - rootRect.left + scrollElement.scrollLeft\n : listRect.top - rootRect.top + scrollElement.scrollTop;\n },\n onChange: (changed: Virtualizer) => {\n const range = changed.getVisibleRange();\n view.value = { items: changed.getVirtualItems(), total: changed.getTotalSize(), range };\n // 测量也会触发 onChange,可见范围没变时不报告\n if (\n !range ||\n (range.startIndex === reported?.startIndex && range.endIndex === reported.endIndex)\n ) {\n return;\n }\n reported = range;\n current.onRangeChange?.(range);\n },\n };\n }\n\n const virtualizer = new Virtualizer(build(current));\n\n watch(read, (next) => {\n current = next;\n virtualizer.setOptions(build(next));\n });\n\n // 滚动容器就绪(或换了)时挂载:监听滚动与大小\n let unmount: (() => void) | undefined;\n watch(\n () => read().scrollElement,\n (element) => {\n unmount?.();\n unmount = element ? virtualizer.mount() : undefined;\n },\n { immediate: true, flush: 'post' },\n );\n onScopeDispose(() => unmount?.());\n\n return {\n get items() {\n return view.value.items;\n },\n get total() {\n return view.value.total;\n },\n get range() {\n return view.value.range;\n },\n measure: virtualizer.measureElement as (element: unknown) => void,\n scrollToIndex: (index, options) => virtualizer.scrollToIndex(index, options),\n scrollToOffset: (offset, options) => virtualizer.scrollToOffset(offset, options),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAsEA,SAAgB,eAAe,MAAgD;CAE7E,MAAM,OAAO,WAAgF;EAC3F,OAAO,CAAC;EACR,OAAO;EACP,OAAO;CACT,CAAC;CACD,IAAI,UAAU,KAAK;CACnB,IAAI,WAAgC;CAEpC,SAAS,MAAM,SAAgC;EAC7C,OAAO;GACL,OAAO,QAAQ;GACf,UAAU,QAAQ;GAClB,YAAY,QAAQ;GACpB,cAAc,QAAQ;GACtB,YAAY,QAAQ;GACpB,gBAAgB,QAAQ;GACxB,0BAA0B,QAAQ,qBAAqB,KAAK;GAC5D,wBAAwB,QAAQ,mBAAmB,KAAK;GACxD,wBAAwB,QAAQ;GAChC,oBAAoB;IAClB,MAAM,EAAE,MAAM,eAAe,eAAe;IAC5C,IAAI,CAAC,QAAQ,CAAC,eAAe,OAAO;IACpC,MAAM,WAAW,KAAK,sBAAsB;IAC5C,IAAI,SAAS,aAAa,GACxB,OAAO,aAAa,SAAS,OAAO,OAAO,UAAU,SAAS,MAAM,OAAO;IAE7E,MAAM,WAAW,cAAc,sBAAsB;IACrD,OAAO,aACH,SAAS,OAAO,SAAS,OAAO,cAAc,aAC9C,SAAS,MAAM,SAAS,MAAM,cAAc;GAClD;GACA,WAAW,YAAyB;IAClC,MAAM,QAAQ,QAAQ,gBAAgB;IACtC,KAAK,QAAQ;KAAE,OAAO,QAAQ,gBAAgB;KAAG,OAAO,QAAQ,aAAa;KAAG;IAAM;IAEtF,IACE,CAAC,SACA,MAAM,eAAe,UAAU,cAAc,MAAM,aAAa,SAAS,UAE1E;IAEF,WAAW;IACX,QAAQ,gBAAgB,KAAK;GAC/B;EACF;CACF;CAEA,MAAM,cAAc,IAAI,YAAY,MAAM,OAAO,CAAC;CAElD,MAAM,OAAO,SAAS;EACpB,UAAU;EACV,YAAY,WAAW,MAAM,IAAI,CAAC;CACpC,CAAC;CAGD,IAAI;CACJ,YACQ,KAAK,CAAC,CAAC,gBACZ,YAAY;EACX,UAAU;EACV,UAAU,UAAU,YAAY,MAAM,IAAI,KAAA;CAC5C,GACA;EAAE,WAAW;EAAM,OAAO;CAAO,CACnC;CACA,qBAAqB,UAAU,CAAC;CAEhC,OAAO;EACL,IAAI,QAAQ;GACV,OAAO,KAAK,MAAM;EACpB;EACA,IAAI,QAAQ;GACV,OAAO,KAAK,MAAM;EACpB;EACA,IAAI,QAAQ;GACV,OAAO,KAAK,MAAM;EACpB;EACA,SAAS,YAAY;EACrB,gBAAgB,OAAO,YAAY,YAAY,cAAc,OAAO,OAAO;EAC3E,iBAAiB,QAAQ,YAAY,YAAY,eAAe,QAAQ,OAAO;CACjF;AACF"}
|