@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,208 @@
|
|
|
1
|
+
import { isDecimal, numericText } from "../data/numeric.js";
|
|
2
|
+
import { CalendarDate, CalendarDateTime, Time, ZonedDateTime, getLocalTimeZone, parseAbsolute, parseDate, parseDateTime, parseTime } from "@internationalized/date";
|
|
3
|
+
//#region src/utils/request/wire.ts
|
|
4
|
+
/**
|
|
5
|
+
* 线上的 typed JSON(与 query 库的 @zerodep-dev/wire、Java 的 org.dpdns.zerodep.wire 同一套写法):bigint、Decimal、
|
|
6
|
+
* 日期、时间、字节等 JSON 不能原样承载的值写成文字,根对象上的 `$types` 记下它们的位置(路径 → 种类),对方据此还原。
|
|
7
|
+
* createHttpClient 默认就用它:请求体经 toWire 发出,带 `$types` 的响应经 fromWire 还原,地址栏参数经 wireText 写成文字。
|
|
8
|
+
*
|
|
9
|
+
* toWire({ id: 9007199254740993n, amount: new Decimal('12.50'), on: new CalendarDate(2024, 1, 31) })
|
|
10
|
+
* // { id: '9007199254740993', amount: '12.5', on: '2024-01-31', $types: { id: 'bigint', amount: 'decimal', on: 'date' } }
|
|
11
|
+
*
|
|
12
|
+
* 种类与文字:bigint 是十进制整数,decimal 不用科学计数法,double 只有 NaN / ±Infinity 写成文字,date 'YYYY-MM-DD'、
|
|
13
|
+
* time 'HH:mm:ss'、timestamp 'YYYY-MM-DDTHH:mm:ss[.fff]'、timestamptz 换算成 UTC 带 Z,bytes 是标准 base64。
|
|
14
|
+
* 路径从根开始用点连接属性名,数组不占一段(`rows.amount` 是每一行的 amount),属性名里的 ~ 与 . 写成 ~0、~1。
|
|
15
|
+
*
|
|
16
|
+
* 还原的默认值跟组件的约定走:bigint 还原成 bigint;decimal 在给了 Decimal 构造函数时还原成 Decimal,否则留作十进制文字
|
|
17
|
+
* (DataTable 的数字列、NumberField 都认);日期与时间留作 ISO 文字(组件对外的值就是它),dates: 'objects' 时还原成
|
|
18
|
+
* CalendarDate、Time、CalendarDateTime、ZonedDateTime。这里不在运行时导入 decimal.js(同 numeric.ts)。
|
|
19
|
+
*/
|
|
20
|
+
var TYPES = "$types";
|
|
21
|
+
var VALUE = "$value";
|
|
22
|
+
/** 值要还原成哪一种;JSON 能原样承载的值为 undefined */
|
|
23
|
+
function wireTypeOf(value) {
|
|
24
|
+
if (typeof value === "bigint") return "bigint";
|
|
25
|
+
if (typeof value === "number") return Number.isFinite(value) ? void 0 : "double";
|
|
26
|
+
if (typeof value !== "object" || value === null) return void 0;
|
|
27
|
+
if (isDecimal(value)) return "decimal";
|
|
28
|
+
if (value instanceof CalendarDateTime) return "timestamp";
|
|
29
|
+
if (value instanceof CalendarDate) return "date";
|
|
30
|
+
if (value instanceof Time) return "time";
|
|
31
|
+
if (value instanceof ZonedDateTime || value instanceof Date) return "timestamptz";
|
|
32
|
+
if (value instanceof Uint8Array) return "bytes";
|
|
33
|
+
}
|
|
34
|
+
/** 要还原的值写成的文字 */
|
|
35
|
+
function specialText(type, value) {
|
|
36
|
+
switch (type) {
|
|
37
|
+
case "decimal": return numericText(value);
|
|
38
|
+
case "timestamptz": return utcText(value instanceof Date ? value.getTime() : value.toDate().getTime());
|
|
39
|
+
case "bytes": return encodeBase64(value);
|
|
40
|
+
default: return String(value);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
/** 某一时刻的 UTC 写法:总有秒,毫秒去掉末尾的零 */
|
|
44
|
+
function utcText(epochMillis) {
|
|
45
|
+
return new Date(epochMillis).toISOString().replace(/\.(\d{3})Z$/, (_, ms) => ms === "000" ? "Z" : `.${ms.replace(/0+$/, "")}Z`);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 一个值写成线上的文字:地址栏参数、表头筛选都用它。Decimal 不用科学计数法,日期与时间是 ISO 写法,
|
|
49
|
+
* 带时区的时刻换算成 UTC;null、undefined 是空字符串
|
|
50
|
+
*/
|
|
51
|
+
function wireText(value) {
|
|
52
|
+
if (value === null || value === void 0) return "";
|
|
53
|
+
if (typeof value === "string") return value;
|
|
54
|
+
if (typeof value === "number") return Object.is(value, -0) ? "0" : String(value);
|
|
55
|
+
if (typeof value === "boolean" || typeof value === "bigint") return String(value);
|
|
56
|
+
const type = wireTypeOf(value);
|
|
57
|
+
if (!type) throw new TypeError(`wireText:${String(value)} 不是单个值`);
|
|
58
|
+
return specialText(type, value);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* 把值写成线上的 JSON:要还原的值写成文字,根对象上加 `$types`;没有这样的值时就是普通 JSON。
|
|
62
|
+
* 对象取自身可枚举的属性(undefined 与函数跳过),有 toJSON 的先调用它;同一路径上既有文字又有 Decimal 这类值时报错
|
|
63
|
+
*/
|
|
64
|
+
function toWire(value) {
|
|
65
|
+
const found = /* @__PURE__ */ new Map();
|
|
66
|
+
const json = encode(value, "", found, /* @__PURE__ */ new Set());
|
|
67
|
+
const types = {};
|
|
68
|
+
for (const [path, type] of found) if (type !== "text") types[path] = type;
|
|
69
|
+
if (Object.keys(types).length === 0) return json;
|
|
70
|
+
if (isRecord(json)) return {
|
|
71
|
+
...json,
|
|
72
|
+
[TYPES]: types
|
|
73
|
+
};
|
|
74
|
+
const wrapped = {};
|
|
75
|
+
for (const [path, type] of Object.entries(types)) wrapped[path === "" ? VALUE : `${VALUE}.${path}`] = type;
|
|
76
|
+
return {
|
|
77
|
+
[VALUE]: json,
|
|
78
|
+
[TYPES]: wrapped
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
function encode(value, path, found, seen) {
|
|
82
|
+
if (value === null || value === void 0) return null;
|
|
83
|
+
if (typeof value === "string") {
|
|
84
|
+
note(found, path, "text");
|
|
85
|
+
return value;
|
|
86
|
+
}
|
|
87
|
+
if (typeof value === "boolean") return value;
|
|
88
|
+
if (typeof value === "number" && Number.isFinite(value)) return Object.is(value, -0) ? 0 : value;
|
|
89
|
+
if (typeof value === "function" || typeof value === "symbol") return null;
|
|
90
|
+
const type = wireTypeOf(value);
|
|
91
|
+
if (type) {
|
|
92
|
+
note(found, path, type);
|
|
93
|
+
return specialText(type, value);
|
|
94
|
+
}
|
|
95
|
+
const object = value;
|
|
96
|
+
if (seen.has(object)) throw new TypeError(`toWire:${path || "根对象"}引用了自己`);
|
|
97
|
+
seen.add(object);
|
|
98
|
+
try {
|
|
99
|
+
if (Array.isArray(object) || object instanceof Set) return [...object].map((item) => encode(item, path, found, seen));
|
|
100
|
+
if (typeof object.toJSON === "function") return encode(object.toJSON(), path, found, seen);
|
|
101
|
+
const entries = object instanceof Map ? [...object].map(([k, v]) => [String(k), v]) : Object.entries(object);
|
|
102
|
+
const out = {};
|
|
103
|
+
for (const [key, item] of entries) {
|
|
104
|
+
if (item === void 0 || typeof item === "function") continue;
|
|
105
|
+
out[key] = encode(item, path === "" ? escape(key) : `${path}.${escape(key)}`, found, seen);
|
|
106
|
+
}
|
|
107
|
+
return out;
|
|
108
|
+
} finally {
|
|
109
|
+
seen.delete(object);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/** 记下路径上的值的种类;同一路径出现两种时报错(对方无从还原) */
|
|
113
|
+
function note(found, path, type) {
|
|
114
|
+
const known = found.get(path);
|
|
115
|
+
if (known !== void 0 && known !== type) throw new TypeError(`toWire:${path || "根"}上的值既有 ${known} 又有 ${type},一个路径只能是一种值`);
|
|
116
|
+
found.set(path, type);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 读线上的 JSON:按根上的 `$types` 还原(见文件开头的默认值),去掉 `$types`,`{ $value, $types }` 拆成里面的值;
|
|
120
|
+
* 没有 `$types` 时原样返回。就地改写传入的对象(通常刚由 JSON.parse 得到)
|
|
121
|
+
*/
|
|
122
|
+
function fromWire(json, options = {}) {
|
|
123
|
+
if (!isRecord(json) || !Object.hasOwn(json, TYPES)) return json;
|
|
124
|
+
const types = json[TYPES];
|
|
125
|
+
if (!isRecord(types)) throw new TypeError("fromWire:$types 要是 路径 → 种类 的对象");
|
|
126
|
+
delete json[TYPES];
|
|
127
|
+
for (const [path, type] of Object.entries(types)) {
|
|
128
|
+
const steps = path.split(".").map(unescape);
|
|
129
|
+
try {
|
|
130
|
+
revive(json, steps[0], steps.slice(1), type, options);
|
|
131
|
+
} catch (error) {
|
|
132
|
+
throw new TypeError(`fromWire:${path}:${error.message}`, { cause: error });
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
const keys = Object.keys(json);
|
|
136
|
+
return keys.length === 1 && keys[0] === VALUE ? json[VALUE] : json;
|
|
137
|
+
}
|
|
138
|
+
function revive(holder, key, rest, type, options) {
|
|
139
|
+
const value = holder[key];
|
|
140
|
+
if (Array.isArray(value)) {
|
|
141
|
+
for (let i = 0; i < value.length; i++) revive(value, i, rest, type, options);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
if (rest.length === 0) {
|
|
145
|
+
if (typeof value === "string") holder[key] = parseText(type, value, options);
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (isRecord(value)) revive(value, rest[0], rest.slice(1), type, options);
|
|
149
|
+
}
|
|
150
|
+
/** 按种类读一段文字;留作文字的种类原样返回 */
|
|
151
|
+
function parseText(type, text, options) {
|
|
152
|
+
const objects = options.dates === "objects";
|
|
153
|
+
switch (type) {
|
|
154
|
+
case "bigint":
|
|
155
|
+
if (!/^[+-]?\d+$/.test(text)) throw new TypeError(`${JSON.stringify(text)} 不是整数`);
|
|
156
|
+
return BigInt(text);
|
|
157
|
+
case "decimal": return options.decimal ? new options.decimal(text) : text;
|
|
158
|
+
case "double": return Number(text);
|
|
159
|
+
case "bytes": return decodeBase64(text);
|
|
160
|
+
case "date": return objects ? parseDate(text) : text;
|
|
161
|
+
case "time": return objects ? parseTime(text) : text;
|
|
162
|
+
case "timestamp": return objects ? parseDateTime(text.replace(" ", "T")) : text;
|
|
163
|
+
case "timestamptz": return objects ? parseAbsolute(text, options.timeZone ?? getLocalTimeZone()) : text;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
var BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
167
|
+
/** 标准 base64(带补齐的 =),与 Java 的 Base64.getEncoder() 一致 */
|
|
168
|
+
function encodeBase64(bytes) {
|
|
169
|
+
let out = "";
|
|
170
|
+
for (let i = 0; i < bytes.length; i += 3) {
|
|
171
|
+
const [a, b, c] = [
|
|
172
|
+
bytes[i],
|
|
173
|
+
bytes[i + 1],
|
|
174
|
+
bytes[i + 2]
|
|
175
|
+
];
|
|
176
|
+
out += BASE64[a >> 2] + BASE64[(a & 3) << 4 | (b ?? 0) >> 4];
|
|
177
|
+
out += b === void 0 ? "==" : BASE64[(b & 15) << 2 | (c ?? 0) >> 6] + (c === void 0 ? "=" : BASE64[c & 63]);
|
|
178
|
+
}
|
|
179
|
+
return out;
|
|
180
|
+
}
|
|
181
|
+
/** 读标准 base64 */
|
|
182
|
+
function decodeBase64(text) {
|
|
183
|
+
if (text.length % 4 !== 0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(text)) throw new TypeError(`${JSON.stringify(text.slice(0, 40))} 不是 base64`);
|
|
184
|
+
const pad = text.endsWith("==") ? 2 : text.endsWith("=") ? 1 : 0;
|
|
185
|
+
const out = new Uint8Array(text.length / 4 * 3 - pad);
|
|
186
|
+
let at = 0;
|
|
187
|
+
for (let i = 0; i < text.length; i += 4) {
|
|
188
|
+
let n = 0;
|
|
189
|
+
for (let k = 0; k < 4; k++) n = n << 6 | Math.max(0, BASE64.indexOf(text[i + k]));
|
|
190
|
+
for (const byte of [
|
|
191
|
+
n >> 16,
|
|
192
|
+
n >> 8 & 255,
|
|
193
|
+
n & 255
|
|
194
|
+
]) if (at < out.length) out[at++] = byte;
|
|
195
|
+
}
|
|
196
|
+
return out;
|
|
197
|
+
}
|
|
198
|
+
/** 属性名写进路径:~ → ~0,. → ~1(同 JSON Pointer) */
|
|
199
|
+
var escape = (key) => key.replaceAll("~", "~0").replaceAll(".", "~1");
|
|
200
|
+
/** escape 的反向 */
|
|
201
|
+
var unescape = (step) => step.replaceAll("~1", ".").replaceAll("~0", "~");
|
|
202
|
+
function isRecord(value) {
|
|
203
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
204
|
+
}
|
|
205
|
+
//#endregion
|
|
206
|
+
export { fromWire, toWire, wireText };
|
|
207
|
+
|
|
208
|
+
//# sourceMappingURL=wire.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire.js","names":[],"sources":["../../../src/utils/request/wire.ts"],"sourcesContent":["/**\n * 线上的 typed JSON(与 query 库的 @zerodep-dev/wire、Java 的 org.dpdns.zerodep.wire 同一套写法):bigint、Decimal、\n * 日期、时间、字节等 JSON 不能原样承载的值写成文字,根对象上的 `$types` 记下它们的位置(路径 → 种类),对方据此还原。\n * createHttpClient 默认就用它:请求体经 toWire 发出,带 `$types` 的响应经 fromWire 还原,地址栏参数经 wireText 写成文字。\n *\n * toWire({ id: 9007199254740993n, amount: new Decimal('12.50'), on: new CalendarDate(2024, 1, 31) })\n * // { id: '9007199254740993', amount: '12.5', on: '2024-01-31', $types: { id: 'bigint', amount: 'decimal', on: 'date' } }\n *\n * 种类与文字:bigint 是十进制整数,decimal 不用科学计数法,double 只有 NaN / ±Infinity 写成文字,date 'YYYY-MM-DD'、\n * time 'HH:mm:ss'、timestamp 'YYYY-MM-DDTHH:mm:ss[.fff]'、timestamptz 换算成 UTC 带 Z,bytes 是标准 base64。\n * 路径从根开始用点连接属性名,数组不占一段(`rows.amount` 是每一行的 amount),属性名里的 ~ 与 . 写成 ~0、~1。\n *\n * 还原的默认值跟组件的约定走:bigint 还原成 bigint;decimal 在给了 Decimal 构造函数时还原成 Decimal,否则留作十进制文字\n * (DataTable 的数字列、NumberField 都认);日期与时间留作 ISO 文字(组件对外的值就是它),dates: 'objects' 时还原成\n * CalendarDate、Time、CalendarDateTime、ZonedDateTime。这里不在运行时导入 decimal.js(同 numeric.ts)。\n */\nimport {\n CalendarDate,\n CalendarDateTime,\n getLocalTimeZone,\n parseAbsolute,\n parseDate,\n parseDateTime,\n parseTime,\n Time,\n ZonedDateTime,\n} from '@internationalized/date';\nimport type Decimal from 'decimal.js';\nimport { isDecimal, numericText } from '../data/numeric';\n\n/** 线上要还原的值的种类 */\nexport type WireType =\n 'bigint' | 'decimal' | 'double' | 'date' | 'time' | 'timestamp' | 'timestamptz' | 'bytes';\n\n/** 根对象上的类型表:路径 → 种类 */\nexport type WireTypes = Record<string, WireType>;\n\n/** 能写成线上文字的单个值(地址栏参数、表头筛选) */\nexport type WireScalar =\n | string\n | number\n | boolean\n | bigint\n | Decimal\n | CalendarDate\n | CalendarDateTime\n | ZonedDateTime\n | Time\n | Date\n | null\n | undefined;\n\n/** fromWire 怎样还原 */\nexport interface WireReviveOptions {\n /** 还原 decimal 用的构造函数(decimal.js 的 Decimal 或它 clone 出来的);不给时 decimal 留作十进制文字 */\n decimal?: new (text: string) => Decimal;\n /** 日期与时间:'iso' 留作 ISO 文字(默认),'objects' 还原成 CalendarDate、Time、CalendarDateTime、ZonedDateTime */\n dates?: 'iso' | 'objects';\n /** 'objects' 时 timestamptz 还原到哪个时区,默认浏览器的时区 */\n timeZone?: string;\n}\n\nconst TYPES = '$types';\nconst VALUE = '$value';\n\n/** 值要还原成哪一种;JSON 能原样承载的值为 undefined */\nfunction wireTypeOf(value: unknown): WireType | undefined {\n if (typeof value === 'bigint') return 'bigint';\n if (typeof value === 'number') return Number.isFinite(value) ? undefined : 'double';\n if (typeof value !== 'object' || value === null) return undefined;\n if (isDecimal(value)) return 'decimal';\n if (value instanceof CalendarDateTime) return 'timestamp';\n if (value instanceof CalendarDate) return 'date';\n if (value instanceof Time) return 'time';\n if (value instanceof ZonedDateTime || value instanceof Date) return 'timestamptz';\n if (value instanceof Uint8Array) return 'bytes';\n return undefined;\n}\n\n/** 要还原的值写成的文字 */\nfunction specialText(type: WireType, value: unknown): string {\n switch (type) {\n case 'decimal':\n return numericText(value as Decimal);\n case 'timestamptz':\n return utcText(\n value instanceof Date ? value.getTime() : (value as ZonedDateTime).toDate().getTime(),\n );\n case 'bytes':\n return encodeBase64(value as Uint8Array);\n default:\n return String(value);\n }\n}\n\n/** 某一时刻的 UTC 写法:总有秒,毫秒去掉末尾的零 */\nfunction utcText(epochMillis: number): string {\n return new Date(epochMillis)\n .toISOString()\n .replace(/\\.(\\d{3})Z$/, (_, ms: string) => (ms === '000' ? 'Z' : `.${ms.replace(/0+$/, '')}Z`));\n}\n\n/**\n * 一个值写成线上的文字:地址栏参数、表头筛选都用它。Decimal 不用科学计数法,日期与时间是 ISO 写法,\n * 带时区的时刻换算成 UTC;null、undefined 是空字符串\n */\nexport function wireText(value: WireScalar): string {\n if (value === null || value === undefined) return '';\n if (typeof value === 'string') return value;\n if (typeof value === 'number') return Object.is(value, -0) ? '0' : String(value);\n if (typeof value === 'boolean' || typeof value === 'bigint') return String(value);\n const type = wireTypeOf(value);\n if (!type) throw new TypeError(`wireText:${String(value)} 不是单个值`);\n return specialText(type, value);\n}\n\n/**\n * 把值写成线上的 JSON:要还原的值写成文字,根对象上加 `$types`;没有这样的值时就是普通 JSON。\n * 对象取自身可枚举的属性(undefined 与函数跳过),有 toJSON 的先调用它;同一路径上既有文字又有 Decimal 这类值时报错\n */\nexport function toWire(value: unknown): unknown {\n const found = new Map<string, WireType | 'text'>();\n const json = encode(value, '', found, new Set());\n const types: WireTypes = {};\n for (const [path, type] of found) if (type !== 'text') types[path] = type;\n if (Object.keys(types).length === 0) return json;\n if (isRecord(json)) return { ...json, [TYPES]: types };\n const wrapped: WireTypes = {};\n for (const [path, type] of Object.entries(types))\n wrapped[path === '' ? VALUE : `${VALUE}.${path}`] = type;\n return { [VALUE]: json, [TYPES]: wrapped };\n}\n\nfunction encode(\n value: unknown,\n path: string,\n found: Map<string, WireType | 'text'>,\n seen: Set<object>,\n): unknown {\n if (value === null || value === undefined) return null;\n if (typeof value === 'string') {\n note(found, path, 'text');\n return value;\n }\n if (typeof value === 'boolean') return value;\n if (typeof value === 'number' && Number.isFinite(value)) return Object.is(value, -0) ? 0 : value;\n if (typeof value === 'function' || typeof value === 'symbol') return null;\n const type = wireTypeOf(value);\n if (type) {\n note(found, path, type);\n return specialText(type, value);\n }\n const object = value as object;\n if (seen.has(object)) throw new TypeError(`toWire:${path || '根对象'}引用了自己`);\n seen.add(object);\n try {\n if (Array.isArray(object) || object instanceof Set)\n return [...object].map((item: unknown) => encode(item, path, found, seen));\n if (typeof (object as { toJSON?: unknown }).toJSON === 'function')\n return encode((object as { toJSON(): unknown }).toJSON(), path, found, seen);\n const entries =\n object instanceof Map\n ? [...(object as Map<unknown, unknown>)].map(([k, v]) => [String(k), v] as const)\n : Object.entries(object);\n const out: Record<string, unknown> = {};\n for (const [key, item] of entries) {\n if (item === undefined || typeof item === 'function') continue;\n out[key] = encode(item, path === '' ? escape(key) : `${path}.${escape(key)}`, found, seen);\n }\n return out;\n } finally {\n seen.delete(object);\n }\n}\n\n/** 记下路径上的值的种类;同一路径出现两种时报错(对方无从还原) */\nfunction note(found: Map<string, WireType | 'text'>, path: string, type: WireType | 'text') {\n const known = found.get(path);\n if (known !== undefined && known !== type)\n throw new TypeError(\n `toWire:${path || '根'}上的值既有 ${known} 又有 ${type},一个路径只能是一种值`,\n );\n found.set(path, type);\n}\n\n/**\n * 读线上的 JSON:按根上的 `$types` 还原(见文件开头的默认值),去掉 `$types`,`{ $value, $types }` 拆成里面的值;\n * 没有 `$types` 时原样返回。就地改写传入的对象(通常刚由 JSON.parse 得到)\n */\nexport function fromWire<T = unknown>(json: unknown, options: WireReviveOptions = {}): T {\n if (!isRecord(json) || !Object.hasOwn(json, TYPES)) return json as T;\n const types = json[TYPES];\n if (!isRecord(types)) throw new TypeError('fromWire:$types 要是 路径 → 种类 的对象');\n delete json[TYPES];\n for (const [path, type] of Object.entries(types)) {\n const steps = path.split('.').map(unescape);\n try {\n revive(json, steps[0]!, steps.slice(1), type as WireType, options);\n } catch (error) {\n throw new TypeError(`fromWire:${path}:${(error as Error).message}`, { cause: error });\n }\n }\n const keys = Object.keys(json);\n return (keys.length === 1 && keys[0] === VALUE ? json[VALUE] : json) as T;\n}\n\nfunction revive(\n holder: Record<string | number, unknown>,\n key: string | number,\n rest: readonly string[],\n type: WireType,\n options: WireReviveOptions,\n) {\n const value = holder[key];\n if (Array.isArray(value)) {\n for (let i = 0; i < value.length; i++)\n revive(value as unknown as Record<number, unknown>, i, rest, type, options);\n return;\n }\n if (rest.length === 0) {\n if (typeof value === 'string') holder[key] = parseText(type, value, options);\n return;\n }\n if (isRecord(value)) revive(value, rest[0]!, rest.slice(1), type, options);\n}\n\n/** 按种类读一段文字;留作文字的种类原样返回 */\nfunction parseText(type: WireType, text: string, options: WireReviveOptions): unknown {\n const objects = options.dates === 'objects';\n switch (type) {\n case 'bigint':\n if (!/^[+-]?\\d+$/.test(text)) throw new TypeError(`${JSON.stringify(text)} 不是整数`);\n return BigInt(text);\n case 'decimal':\n return options.decimal ? new options.decimal(text) : text;\n case 'double':\n return Number(text);\n case 'bytes':\n return decodeBase64(text);\n case 'date':\n return objects ? parseDate(text) : text;\n case 'time':\n return objects ? parseTime(text) : text;\n case 'timestamp':\n return objects ? parseDateTime(text.replace(' ', 'T')) : text;\n case 'timestamptz':\n return objects ? parseAbsolute(text, options.timeZone ?? getLocalTimeZone()) : text;\n }\n}\n\nconst BASE64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n/** 标准 base64(带补齐的 =),与 Java 的 Base64.getEncoder() 一致 */\nfunction encodeBase64(bytes: Uint8Array): string {\n let out = '';\n for (let i = 0; i < bytes.length; i += 3) {\n const [a, b, c] = [bytes[i]!, bytes[i + 1], bytes[i + 2]];\n out += BASE64[a >> 2]! + BASE64[((a & 3) << 4) | ((b ?? 0) >> 4)]!;\n out +=\n b === undefined\n ? '=='\n : BASE64[((b & 15) << 2) | ((c ?? 0) >> 6)]! + (c === undefined ? '=' : BASE64[c & 63]!);\n }\n return out;\n}\n\n/** 读标准 base64 */\nfunction decodeBase64(text: string): Uint8Array {\n if (text.length % 4 !== 0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(text))\n throw new TypeError(`${JSON.stringify(text.slice(0, 40))} 不是 base64`);\n const pad = text.endsWith('==') ? 2 : text.endsWith('=') ? 1 : 0;\n const out = new Uint8Array((text.length / 4) * 3 - pad);\n let at = 0;\n for (let i = 0; i < text.length; i += 4) {\n let n = 0;\n for (let k = 0; k < 4; k++) n = (n << 6) | Math.max(0, BASE64.indexOf(text[i + k]!));\n for (const byte of [n >> 16, (n >> 8) & 255, n & 255]) if (at < out.length) out[at++] = byte;\n }\n return out;\n}\n\n/** 属性名写进路径:~ → ~0,. → ~1(同 JSON Pointer) */\nconst escape = (key: string) => key.replaceAll('~', '~0').replaceAll('.', '~1');\n\n/** escape 的反向 */\nconst unescape = (step: string) => step.replaceAll('~1', '.').replaceAll('~0', '~');\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === 'object' && value !== null && !Array.isArray(value);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';
|
|
2
|
+
/** 相连的方向 */
|
|
3
|
+
export interface AttachedOrientations {
|
|
4
|
+
/** 横排(默认):去掉左右相邻一侧的圆角 */
|
|
5
|
+
horizontal: unknown;
|
|
6
|
+
/** 竖排:去掉上下相邻一侧的圆角 */
|
|
7
|
+
vertical: unknown;
|
|
8
|
+
}
|
|
9
|
+
/** 组交给里面的控件的状态 */
|
|
10
|
+
export interface AttachedState {
|
|
11
|
+
/** 排列方向:决定去掉哪一侧的圆角 */
|
|
12
|
+
readonly orientation: keyof AttachedOrientations;
|
|
13
|
+
}
|
|
14
|
+
/** 相连的一组的上下文:按钮家族与输入框外壳据此相连 */
|
|
15
|
+
export declare const AttachedContext: import("@zerodep-dev/vue-tsx-pro-tsx").Context<AttachedState>;
|
|
16
|
+
/**
|
|
17
|
+
* 组里相连的控件:去掉相邻一侧的圆角,边框叠在一起(不显得加粗);
|
|
18
|
+
* 悬停、聚焦的那个浮到上面,边框与焦点环不被邻居盖住。
|
|
19
|
+
* 只在“不是第一个 / 最后一个”时设值:两端不写,控件自己的圆角(radiusStyles)照常生效
|
|
20
|
+
* (写成 default: 0 再在首尾设 null 时,null 只是不生成规则,0 仍然生效)
|
|
21
|
+
*/
|
|
22
|
+
export declare const attachedStyles: Readonly<{
|
|
23
|
+
horizontal: css.CompiledStyles;
|
|
24
|
+
vertical: css.CompiledStyles;
|
|
25
|
+
}>;
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { t } from "../../config/theme/tokens.js";
|
|
2
|
+
import { createContext } from "@zerodep-dev/vue-tsx-pro-tsx";
|
|
3
|
+
import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
|
|
4
|
+
//#region src/utils/style/attached.ts
|
|
5
|
+
/**
|
|
6
|
+
* 相连的一组控件:几个按钮(ButtonGroup)或输入框与按钮(ControlGroup,如“币种 + 金额 + 查询”)连成一条,
|
|
7
|
+
* 相邻一侧不要圆角、边框叠在一起。组经 AttachedContext 告诉里面的控件排列方向,控件把 attachedStyles 加到自己的外壳上。
|
|
8
|
+
* 外壳要是组的直接子元素。判断首尾时跳过不占位的兄弟(选择框的弹出面板、表单的隐藏 input),
|
|
9
|
+
* 用 :nth-child(1 of …)(各浏览器 2023 年起支持)。
|
|
10
|
+
*/
|
|
11
|
+
/** 相连的一组的上下文:按钮家族与输入框外壳据此相连 */
|
|
12
|
+
var AttachedContext = createContext("Attached");
|
|
13
|
+
/**
|
|
14
|
+
* 组里相连的控件:去掉相邻一侧的圆角,边框叠在一起(不显得加粗);
|
|
15
|
+
* 悬停、聚焦的那个浮到上面,边框与焦点环不被邻居盖住。
|
|
16
|
+
* 只在“不是第一个 / 最后一个”时设值:两端不写,控件自己的圆角(radiusStyles)照常生效
|
|
17
|
+
* (写成 default: 0 再在首尾设 null 时,null 只是不生成规则,0 仍然生效)
|
|
18
|
+
*/
|
|
19
|
+
var attachedStyles = css.create({
|
|
20
|
+
horizontal: {
|
|
21
|
+
position: "relative",
|
|
22
|
+
zIndex: {
|
|
23
|
+
default: null,
|
|
24
|
+
":hover": 1,
|
|
25
|
+
":focus-visible": 2,
|
|
26
|
+
":focus-within": 2
|
|
27
|
+
},
|
|
28
|
+
marginInlineStart: {
|
|
29
|
+
default: null,
|
|
30
|
+
":not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": `calc(-1 * ${t.borderWidths.xs})`
|
|
31
|
+
},
|
|
32
|
+
borderStartStartRadius: {
|
|
33
|
+
default: null,
|
|
34
|
+
":not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": 0
|
|
35
|
+
},
|
|
36
|
+
borderEndStartRadius: {
|
|
37
|
+
default: null,
|
|
38
|
+
":not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": 0
|
|
39
|
+
},
|
|
40
|
+
borderStartEndRadius: {
|
|
41
|
+
default: null,
|
|
42
|
+
":not(:nth-last-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": 0
|
|
43
|
+
},
|
|
44
|
+
borderEndEndRadius: {
|
|
45
|
+
default: null,
|
|
46
|
+
":not(:nth-last-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": 0
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
vertical: {
|
|
50
|
+
position: "relative",
|
|
51
|
+
zIndex: {
|
|
52
|
+
default: null,
|
|
53
|
+
":hover": 1,
|
|
54
|
+
":focus-visible": 2,
|
|
55
|
+
":focus-within": 2
|
|
56
|
+
},
|
|
57
|
+
marginBlockStart: {
|
|
58
|
+
default: null,
|
|
59
|
+
":not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": `calc(-1 * ${t.borderWidths.xs})`
|
|
60
|
+
},
|
|
61
|
+
borderStartStartRadius: {
|
|
62
|
+
default: null,
|
|
63
|
+
":not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": 0
|
|
64
|
+
},
|
|
65
|
+
borderStartEndRadius: {
|
|
66
|
+
default: null,
|
|
67
|
+
":not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": 0
|
|
68
|
+
},
|
|
69
|
+
borderEndStartRadius: {
|
|
70
|
+
default: null,
|
|
71
|
+
":not(:nth-last-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": 0
|
|
72
|
+
},
|
|
73
|
+
borderEndEndRadius: {
|
|
74
|
+
default: null,
|
|
75
|
+
":not(:nth-last-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))": 0
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
//#endregion
|
|
80
|
+
export { AttachedContext, attachedStyles };
|
|
81
|
+
|
|
82
|
+
//# sourceMappingURL=attached.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attached.js","names":[],"sources":["../../../src/utils/style/attached.ts"],"sourcesContent":["/**\n * 相连的一组控件:几个按钮(ButtonGroup)或输入框与按钮(ControlGroup,如“币种 + 金额 + 查询”)连成一条,\n * 相邻一侧不要圆角、边框叠在一起。组经 AttachedContext 告诉里面的控件排列方向,控件把 attachedStyles 加到自己的外壳上。\n * 外壳要是组的直接子元素。判断首尾时跳过不占位的兄弟(选择框的弹出面板、表单的隐藏 input),\n * 用 :nth-child(1 of …)(各浏览器 2023 年起支持)。\n */\nimport { createContext } from '@zerodep-dev/vue-tsx-pro-tsx';\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport { t } from '../../config/theme/tokens';\n\n/** 相连的方向 */\nexport interface AttachedOrientations {\n /** 横排(默认):去掉左右相邻一侧的圆角 */\n horizontal: unknown;\n /** 竖排:去掉上下相邻一侧的圆角 */\n vertical: unknown;\n}\n\n/** 组交给里面的控件的状态 */\nexport interface AttachedState {\n /** 排列方向:决定去掉哪一侧的圆角 */\n readonly orientation: keyof AttachedOrientations;\n}\n\n/** 相连的一组的上下文:按钮家族与输入框外壳据此相连 */\nexport const AttachedContext = createContext<AttachedState>('Attached');\n\n/**\n * 组里相连的控件:去掉相邻一侧的圆角,边框叠在一起(不显得加粗);\n * 悬停、聚焦的那个浮到上面,边框与焦点环不被邻居盖住。\n * 只在“不是第一个 / 最后一个”时设值:两端不写,控件自己的圆角(radiusStyles)照常生效\n * (写成 default: 0 再在首尾设 null 时,null 只是不生成规则,0 仍然生效)\n */\nexport const attachedStyles = css.create({\n horizontal: {\n position: 'relative',\n zIndex: { default: null, ':hover': 1, ':focus-visible': 2, ':focus-within': 2 },\n marginInlineStart: {\n default: null,\n ':not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': `calc(-1 * ${t.borderWidths.xs})`,\n },\n borderStartStartRadius: {\n default: null,\n ':not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': 0,\n },\n borderEndStartRadius: {\n default: null,\n ':not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': 0,\n },\n borderStartEndRadius: {\n default: null,\n ':not(:nth-last-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': 0,\n },\n borderEndEndRadius: {\n default: null,\n ':not(:nth-last-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': 0,\n },\n },\n vertical: {\n position: 'relative',\n zIndex: { default: null, ':hover': 1, ':focus-visible': 2, ':focus-within': 2 },\n marginBlockStart: {\n default: null,\n ':not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': `calc(-1 * ${t.borderWidths.xs})`,\n },\n borderStartStartRadius: {\n default: null,\n ':not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': 0,\n },\n borderStartEndRadius: {\n default: null,\n ':not(:nth-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': 0,\n },\n borderEndStartRadius: {\n default: null,\n ':not(:nth-last-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': 0,\n },\n borderEndEndRadius: {\n default: null,\n ':not(:nth-last-child(1 of :not([popover], [hidden], input[type=\"hidden\"], template)))': 0,\n },\n },\n});\n"],"mappings":";;;;;;;;;;;AAyBA,IAAa,kBAAkB,cAA6B,UAAU;;;;;;;AAQtE,IAAa,iBAAiB,IAAI,OAAO;CACvC,YAAY;EACV,UAAU;EACV,QAAQ;GAAE,SAAS;GAAM,UAAU;GAAG,kBAAkB;GAAG,iBAAiB;EAAE;EAC9E,mBAAmB;GACjB,SAAS;GACT,sFAAoF,aAAa,EAAE,aAAa,GAAE;EACpH;EACA,wBAAwB;GACtB,SAAS;GACT,sFAAoF;EACtF;EACA,sBAAsB;GACpB,SAAS;GACT,sFAAoF;EACtF;EACA,sBAAsB;GACpB,SAAS;GACT,2FAAyF;EAC3F;EACA,oBAAoB;GAClB,SAAS;GACT,2FAAyF;EAC3F;CACF;CACA,UAAU;EACR,UAAU;EACV,QAAQ;GAAE,SAAS;GAAM,UAAU;GAAG,kBAAkB;GAAG,iBAAiB;EAAE;EAC9E,kBAAkB;GAChB,SAAS;GACT,sFAAoF,aAAa,EAAE,aAAa,GAAE;EACpH;EACA,wBAAwB;GACtB,SAAS;GACT,sFAAoF;EACtF;EACA,sBAAsB;GACpB,SAAS;GACT,sFAAoF;EACtF;EACA,sBAAsB;GACpB,SAAS;GACT,2FAAyF;EAC3F;EACA,oBAAoB;GAClB,SAAS;GACT,2FAAyF;EAC3F;CACF;AACF,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 列表行的外观:菜单项、下拉选项、侧边导航项、表格行共用的悬停、高亮、选中、当前、危险、不可用。
|
|
3
|
+
* 各组件只在这些之上补自己的差别(导航项的字重与内边距、菜单项的焦点环),状态的颜色只在这里定义。
|
|
4
|
+
*
|
|
5
|
+
* sx: [itemStyles.row, itemStyles.hoverable, active && itemStyles.highlighted, disabled && itemStyles.disabled]
|
|
6
|
+
*/
|
|
7
|
+
import * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';
|
|
8
|
+
/** 列表行的布局与各状态的颜色 */
|
|
9
|
+
export declare const itemStyles: Readonly<{
|
|
10
|
+
current: css.CompiledStyles;
|
|
11
|
+
danger: css.CompiledStyles;
|
|
12
|
+
disabled: css.CompiledStyles;
|
|
13
|
+
highlighted: css.CompiledStyles;
|
|
14
|
+
hoverable: css.CompiledStyles;
|
|
15
|
+
label: css.CompiledStyles;
|
|
16
|
+
row: css.CompiledStyles;
|
|
17
|
+
selected: css.CompiledStyles;
|
|
18
|
+
}>;
|
|
@@ -0,0 +1,79 @@
|
|
|
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/item-styles.ts
|
|
4
|
+
/**
|
|
5
|
+
* 列表行的外观:菜单项、下拉选项、侧边导航项、表格行共用的悬停、高亮、选中、当前、危险、不可用。
|
|
6
|
+
* 各组件只在这些之上补自己的差别(导航项的字重与内边距、菜单项的焦点环),状态的颜色只在这里定义。
|
|
7
|
+
*
|
|
8
|
+
* sx: [itemStyles.row, itemStyles.hoverable, active && itemStyles.highlighted, disabled && itemStyles.disabled]
|
|
9
|
+
*/
|
|
10
|
+
/** 列表行的布局与各状态的颜色 */
|
|
11
|
+
var itemStyles = css.create({
|
|
12
|
+
/** 一行:图标、文字、尾部内容横排;按钮、链接、div 都能用(去掉了按钮与链接的默认外观) */
|
|
13
|
+
row: {
|
|
14
|
+
boxSizing: "border-box",
|
|
15
|
+
display: "flex",
|
|
16
|
+
alignItems: "center",
|
|
17
|
+
gap: "_sm",
|
|
18
|
+
width: "_full",
|
|
19
|
+
minHeight: `max(${t.sizes.control}, ${t.sizes.minTarget})`,
|
|
20
|
+
margin: 0,
|
|
21
|
+
paddingBlock: "_xs",
|
|
22
|
+
paddingInline: "_sm",
|
|
23
|
+
borderWidth: 0,
|
|
24
|
+
borderRadius: "_sm",
|
|
25
|
+
backgroundColor: "transparent",
|
|
26
|
+
color: "_text",
|
|
27
|
+
fontFamily: "inherit",
|
|
28
|
+
fontSize: "inherit",
|
|
29
|
+
lineHeight: "_normal",
|
|
30
|
+
textAlign: "start",
|
|
31
|
+
textDecoration: "none",
|
|
32
|
+
cursor: "pointer",
|
|
33
|
+
userSelect: "none",
|
|
34
|
+
transition: `background-color ${t.durations.sm} ${t.easings.standard}, color ${t.durations.sm} ${t.easings.standard}`
|
|
35
|
+
},
|
|
36
|
+
/** 指针悬停时浅色底 */
|
|
37
|
+
hoverable: { backgroundColor: {
|
|
38
|
+
default: "transparent",
|
|
39
|
+
":hover": "_fillHover"
|
|
40
|
+
} },
|
|
41
|
+
/** 键盘高亮(aria-activedescendant 指着的选项):与悬停同色 */
|
|
42
|
+
highlighted: { backgroundColor: "_fillHover" },
|
|
43
|
+
/** 已选(下拉选项):品牌色文字 */
|
|
44
|
+
selected: { color: "_accentText" },
|
|
45
|
+
/** 当前(导航的当前页、表格的选中行):品牌色浅底 */
|
|
46
|
+
current: {
|
|
47
|
+
backgroundColor: {
|
|
48
|
+
default: "_accentSoft",
|
|
49
|
+
":hover": "_accentSoftHover"
|
|
50
|
+
},
|
|
51
|
+
color: "_accentText"
|
|
52
|
+
},
|
|
53
|
+
/** 危险操作(删除):红色文字,悬停浅红底 */
|
|
54
|
+
danger: {
|
|
55
|
+
color: "_dangerText",
|
|
56
|
+
backgroundColor: {
|
|
57
|
+
default: "transparent",
|
|
58
|
+
":hover": "_dangerSoft"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
/** 不可用:不响应悬停(盖掉 hoverable、danger 的 :hover 底色;放在它们后面) */
|
|
62
|
+
disabled: {
|
|
63
|
+
opacity: "_disabled",
|
|
64
|
+
cursor: "not-allowed",
|
|
65
|
+
backgroundColor: "transparent"
|
|
66
|
+
},
|
|
67
|
+
/** 文字部分:占满剩余宽度,一行放不下时省略 */
|
|
68
|
+
label: {
|
|
69
|
+
flexGrow: 1,
|
|
70
|
+
minWidth: 0,
|
|
71
|
+
overflow: "hidden",
|
|
72
|
+
textOverflow: "ellipsis",
|
|
73
|
+
whiteSpace: "nowrap"
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
//#endregion
|
|
77
|
+
export { itemStyles };
|
|
78
|
+
|
|
79
|
+
//# sourceMappingURL=item-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"item-styles.js","names":[],"sources":["../../../src/utils/style/item-styles.ts"],"sourcesContent":["/**\n * 列表行的外观:菜单项、下拉选项、侧边导航项、表格行共用的悬停、高亮、选中、当前、危险、不可用。\n * 各组件只在这些之上补自己的差别(导航项的字重与内边距、菜单项的焦点环),状态的颜色只在这里定义。\n *\n * sx: [itemStyles.row, itemStyles.hoverable, active && itemStyles.highlighted, disabled && itemStyles.disabled]\n */\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport { t } from '../../config/theme/tokens';\n\n/** 列表行的布局与各状态的颜色 */\nexport const itemStyles = css.create({\n /** 一行:图标、文字、尾部内容横排;按钮、链接、div 都能用(去掉了按钮与链接的默认外观) */\n row: {\n boxSizing: 'border-box',\n display: 'flex',\n alignItems: 'center',\n gap: '_sm',\n width: '_full',\n minHeight: `max(${t.sizes.control}, ${t.sizes.minTarget})`,\n margin: 0,\n paddingBlock: '_xs',\n paddingInline: '_sm',\n borderWidth: 0,\n borderRadius: '_sm',\n backgroundColor: 'transparent',\n color: '_text',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n lineHeight: '_normal',\n textAlign: 'start',\n textDecoration: 'none',\n cursor: 'pointer',\n userSelect: 'none',\n transition: `background-color ${t.durations.sm} ${t.easings.standard}, color ${t.durations.sm} ${t.easings.standard}`,\n },\n /** 指针悬停时浅色底 */\n hoverable: { backgroundColor: { default: 'transparent', ':hover': '_fillHover' } },\n /** 键盘高亮(aria-activedescendant 指着的选项):与悬停同色 */\n highlighted: { backgroundColor: '_fillHover' },\n /** 已选(下拉选项):品牌色文字 */\n selected: { color: '_accentText' },\n /** 当前(导航的当前页、表格的选中行):品牌色浅底 */\n current: {\n backgroundColor: { default: '_accentSoft', ':hover': '_accentSoftHover' },\n color: '_accentText',\n },\n /** 危险操作(删除):红色文字,悬停浅红底 */\n danger: {\n color: '_dangerText',\n backgroundColor: { default: 'transparent', ':hover': '_dangerSoft' },\n },\n /** 不可用:不响应悬停(盖掉 hoverable、danger 的 :hover 底色;放在它们后面) */\n disabled: { opacity: '_disabled', cursor: 'not-allowed', backgroundColor: 'transparent' },\n /** 文字部分:占满剩余宽度,一行放不下时省略 */\n label: {\n flexGrow: 1,\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n});\n"],"mappings":";;;;;;;;;;AAUA,IAAa,aAAa,IAAI,OAAO;;CAEnC,KAAK;EACH,WAAW;EACX,SAAS;EACT,YAAY;EACZ,KAAK;EACL,OAAO;EACP,WAAW,OAAO,EAAE,MAAM,QAAO,IAAK,EAAE,MAAM,UAAS;EACvD,QAAQ;EACR,cAAc;EACd,eAAe;EACf,aAAa;EACb,cAAc;EACd,iBAAiB;EACjB,OAAO;EACP,YAAY;EACZ,UAAU;EACV,YAAY;EACZ,WAAW;EACX,gBAAgB;EAChB,QAAQ;EACR,YAAY;EACZ,YAAY,oBAAoB,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ,SAAQ,UAAW,EAAE,UAAU,GAAE,GAAI,EAAE,QAAQ;CAC7G;;CAEA,WAAW,EAAE,iBAAiB;EAAE,SAAS;EAAe,UAAU;CAAa,EAAE;;CAEjF,aAAa,EAAE,iBAAiB,aAAa;;CAE7C,UAAU,EAAE,OAAO,cAAc;;CAEjC,SAAS;EACP,iBAAiB;GAAE,SAAS;GAAe,UAAU;EAAmB;EACxE,OAAO;CACT;;CAEA,QAAQ;EACN,OAAO;EACP,iBAAiB;GAAE,SAAS;GAAe,UAAU;EAAc;CACrE;;CAEA,UAAU;EAAE,SAAS;EAAa,QAAQ;EAAe,iBAAiB;CAAc;;CAExF,OAAO;EACL,UAAU;EACV,UAAU;EACV,UAAU;EACV,cAAc;EACd,YAAY;CACd;AACF,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
|
|
2
|
+
//#region src/utils/style/markers.ts
|
|
3
|
+
/**
|
|
4
|
+
* 标记(defineMarker):挂到祖先上,子元素按它的状态取样式,如 `css.when.ancestor(':hover', headingMarker)`。
|
|
5
|
+
*/
|
|
6
|
+
/** 标题:悬停或内部聚焦时显示锚点链接 */
|
|
7
|
+
var headingMarker = css.defineMarker("vtp-heading");
|
|
8
|
+
//#endregion
|
|
9
|
+
export { headingMarker };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=markers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markers.js","names":[],"sources":["../../../src/utils/style/markers.ts"],"sourcesContent":["/**\n * 标记(defineMarker):挂到祖先上,子元素按它的状态取样式,如 `css.when.ancestor(':hover', headingMarker)`。\n */\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\n\n/** 标题:悬停或内部聚焦时显示锚点链接 */\nexport const headingMarker = css.defineMarker('vtp-heading');\n"],"mappings":";;;;;;AAMA,IAAa,gBAAgB,IAAI,aAAa,aAAa"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 骨架的扫光(同 Ant Design Skeleton 的 active、MUI Skeleton 的 wave):一道光带从起始边扫到结束边,表示内容正在来。
|
|
3
|
+
* 光带画在元素的 ::after 上,用 transform 平移(同 MUI):合成器就能跑,不必每帧重绘元素;
|
|
4
|
+
* 原来移动背景位置时,满屏骨架每帧都要重绘。元素因此 contain: paint。光带颜色见 shimmerVars.highlight。
|
|
5
|
+
*
|
|
6
|
+
* sx: [shimmerStyles.wave, { backgroundColor: … }]
|
|
7
|
+
* sx: [shimmerStyles.wave, shimmerStyles.delay(`${index * SHIMMER_STAGGER}ms`)] 多行依次扫过,像一道波
|
|
8
|
+
* sx: loaded && shimmerStyles.reveal 骨架换成内容时淡入
|
|
9
|
+
*
|
|
10
|
+
* 扫光只是装饰:减少动态效果时不扫(静止的占位已经说明在加载);从右到左的语言里反向扫。
|
|
11
|
+
*/
|
|
12
|
+
import * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';
|
|
13
|
+
/** 多行骨架相邻两行的扫光间隔(毫秒):一屏七八行时整道波约一秒扫完 */
|
|
14
|
+
export declare const SHIMMER_STAGGER = 120;
|
|
15
|
+
/** 骨架扫光:wave、delay、reveal */
|
|
16
|
+
export declare const shimmerStyles: Readonly<{
|
|
17
|
+
readonly wave: css.CompiledStyles;
|
|
18
|
+
readonly delay: (delay: string) => Readonly<[css.CompiledStyles, css.InlineStyles]>;
|
|
19
|
+
readonly reveal: css.CompiledStyles;
|
|
20
|
+
}>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { shimmerVars } from "./vars.js";
|
|
2
|
+
import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
|
|
3
|
+
//#region src/utils/style/shimmer.ts
|
|
4
|
+
/**
|
|
5
|
+
* 骨架的扫光(同 Ant Design Skeleton 的 active、MUI Skeleton 的 wave):一道光带从起始边扫到结束边,表示内容正在来。
|
|
6
|
+
* 光带画在元素的 ::after 上,用 transform 平移(同 MUI):合成器就能跑,不必每帧重绘元素;
|
|
7
|
+
* 原来移动背景位置时,满屏骨架每帧都要重绘。元素因此 contain: paint。光带颜色见 shimmerVars.highlight。
|
|
8
|
+
*
|
|
9
|
+
* sx: [shimmerStyles.wave, { backgroundColor: … }]
|
|
10
|
+
* sx: [shimmerStyles.wave, shimmerStyles.delay(`${index * SHIMMER_STAGGER}ms`)] 多行依次扫过,像一道波
|
|
11
|
+
* sx: loaded && shimmerStyles.reveal 骨架换成内容时淡入
|
|
12
|
+
*
|
|
13
|
+
* 扫光只是装饰:减少动态效果时不扫(静止的占位已经说明在加载);从右到左的语言里反向扫。
|
|
14
|
+
*/
|
|
15
|
+
/** 多行骨架相邻两行的扫光间隔(毫秒):一屏七八行时整道波约一秒扫完 */
|
|
16
|
+
var SHIMMER_STAGGER = 120;
|
|
17
|
+
var sweep = css.keyframes({
|
|
18
|
+
"0%": { transform: "translateX(-100%)" },
|
|
19
|
+
"70%": { transform: "translateX(100%)" },
|
|
20
|
+
"100%": { transform: "translateX(100%)" }
|
|
21
|
+
});
|
|
22
|
+
var fadeIn = css.keyframes({ from: { opacity: 0 } });
|
|
23
|
+
/** 骨架扫光:wave、delay、reveal */
|
|
24
|
+
var shimmerStyles = css.create({
|
|
25
|
+
wave: {
|
|
26
|
+
position: "relative",
|
|
27
|
+
contain: "paint",
|
|
28
|
+
transform: {
|
|
29
|
+
default: null,
|
|
30
|
+
":dir(rtl)": "scaleX(-1)"
|
|
31
|
+
},
|
|
32
|
+
"::after": {
|
|
33
|
+
content: "\"\"",
|
|
34
|
+
position: "absolute",
|
|
35
|
+
inset: 0,
|
|
36
|
+
backgroundImage: `linear-gradient(90deg, transparent 15%, ${shimmerVars.highlight} 50%, transparent 85%)`,
|
|
37
|
+
transform: "translateX(-100%)",
|
|
38
|
+
animationName: {
|
|
39
|
+
default: sweep,
|
|
40
|
+
_reducedMotion: "none"
|
|
41
|
+
},
|
|
42
|
+
animationDuration: "2s",
|
|
43
|
+
animationTimingFunction: "ease-in-out",
|
|
44
|
+
animationIterationCount: "infinite",
|
|
45
|
+
animationDelay: "inherit"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
delay: (delay) => ({ animationDelay: delay }),
|
|
49
|
+
reveal: {
|
|
50
|
+
animationName: fadeIn,
|
|
51
|
+
animationDuration: "_durations.lg",
|
|
52
|
+
animationTimingFunction: "_easings.enter"
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
//#endregion
|
|
56
|
+
export { SHIMMER_STAGGER, shimmerStyles };
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=shimmer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shimmer.js","names":[],"sources":["../../../src/utils/style/shimmer.ts"],"sourcesContent":["/**\n * 骨架的扫光(同 Ant Design Skeleton 的 active、MUI Skeleton 的 wave):一道光带从起始边扫到结束边,表示内容正在来。\n * 光带画在元素的 ::after 上,用 transform 平移(同 MUI):合成器就能跑,不必每帧重绘元素;\n * 原来移动背景位置时,满屏骨架每帧都要重绘。元素因此 contain: paint。光带颜色见 shimmerVars.highlight。\n *\n * sx: [shimmerStyles.wave, { backgroundColor: … }]\n * sx: [shimmerStyles.wave, shimmerStyles.delay(`${index * SHIMMER_STAGGER}ms`)] 多行依次扫过,像一道波\n * sx: loaded && shimmerStyles.reveal 骨架换成内容时淡入\n *\n * 扫光只是装饰:减少动态效果时不扫(静止的占位已经说明在加载);从右到左的语言里反向扫。\n */\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport { shimmerVars } from './vars';\n\n/** 多行骨架相邻两行的扫光间隔(毫秒):一屏七八行时整道波约一秒扫完 */\nexport const SHIMMER_STAGGER = 120;\n\n// 光带与元素一样宽:从元素外的起始侧(-100%)扫到结束侧(100%);后 30% 的时间停在外面,两次之间有个间隔\nconst sweep = css.keyframes({\n '0%': { transform: 'translateX(-100%)' },\n '70%': { transform: 'translateX(100%)' },\n '100%': { transform: 'translateX(100%)' },\n});\n\nconst fadeIn = css.keyframes({ from: { opacity: 0 } });\n\n/** 骨架扫光:wave、delay、reveal */\nexport const shimmerStyles = css.create({\n wave: {\n position: 'relative',\n // 用绘制包含裁掉移出去的光带(按圆角裁):不用 overflow,行内的骨架仍按文字基线对齐\n // (overflow 不是 visible 时 inline-block 的基线落到底边,WebKit 里 clip 也是)\n contain: 'paint',\n // 从右到左的语言里整个元素镜像,光带就反向扫;骨架包着的内容本来就看不见,镜像没有影响\n transform: { default: null, ':dir(rtl)': 'scaleX(-1)' },\n '::after': {\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n backgroundImage: `linear-gradient(90deg, transparent 15%, ${shimmerVars.highlight} 50%, transparent 85%)`,\n transform: 'translateX(-100%)',\n animationName: { default: sweep, _reducedMotion: 'none' },\n // 循环的装饰动画不取 durations(那是一次性过渡的时长,减少动态效果时为 0):\n // 2 秒一轮,其中 1.4 秒扫过、0.6 秒停顿,接近 Ant Design、MUI 的节奏,不催促也不显得卡住\n animationDuration: '2s',\n // 先慢后快再慢:光带像被推过去,而不是匀速平移\n animationTimingFunction: 'ease-in-out',\n animationIterationCount: 'infinite',\n // 延迟写在元素上(delay),这里继承\n animationDelay: 'inherit',\n },\n },\n // 每一轮都保持同样的间隔:几行骨架的光带始终一前一后\n delay: (delay: string) => ({ animationDelay: delay }),\n // 骨架换成内容(或内容换成骨架)时淡入,不硬切;减少动态效果时 durations 为 0\n reveal: {\n animationName: fadeIn,\n animationDuration: '_durations.lg',\n animationTimingFunction: '_easings.enter',\n },\n});\n"],"mappings":";;;;;;;;;;;;;;;AAeA,IAAa,kBAAkB;AAG/B,IAAM,QAAQ,IAAI,UAAU;CAC1B,MAAM,EAAE,WAAW,oBAAoB;CACvC,OAAO,EAAE,WAAW,mBAAmB;CACvC,QAAQ,EAAE,WAAW,mBAAmB;AAC1C,CAAC;AAED,IAAM,SAAS,IAAI,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;;AAGrD,IAAa,gBAAgB,IAAI,OAAO;CACtC,MAAM;EACJ,UAAU;EAGV,SAAS;EAET,WAAW;GAAE,SAAS;GAAM,aAAa;EAAa;EACtD,WAAW;GACT,SAAS;GACT,UAAU;GACV,OAAO;GACP,iBAAiB,2CAA2C,YAAY,UAAS;GACjF,WAAW;GACX,eAAe;IAAE,SAAS;IAAO,gBAAgB;GAAO;GAGxD,mBAAmB;GAEnB,yBAAyB;GACzB,yBAAyB;GAEzB,gBAAgB;EAClB;CACF;CAEA,QAAQ,WAAmB,EAAE,gBAAgB,MAAM;CAEnD,QAAQ;EACN,eAAe;EACf,mBAAmB;EACnB,yBAAyB;CAC3B;AACF,CAAC"}
|