@zerodep-dev/vue-tsx-pro-ui 0.2.0 → 0.3.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/dist/base/Badge.js +3 -3
- package/dist/base/Badge.js.map +1 -1
- package/dist/base/Can.d.ts +12 -0
- package/dist/base/Can.js +20 -0
- package/dist/base/Can.js.map +1 -0
- package/dist/base/ClientOnly.d.ts +10 -0
- package/dist/base/ClientOnly.js +18 -0
- package/dist/base/ClientOnly.js.map +1 -0
- package/dist/base/CloseButton.js +3 -3
- package/dist/base/CloseButton.js.map +1 -1
- package/dist/base/CodeBlock.js +5 -5
- package/dist/base/CodeBlock.js.map +1 -1
- package/dist/base/CopyButton.js +3 -3
- package/dist/base/CopyButton.js.map +1 -1
- package/dist/base/Icon.js +3 -3
- package/dist/base/Icon.js.map +1 -1
- package/dist/base/Indicator.js +3 -3
- package/dist/base/Indicator.js.map +1 -1
- package/dist/base/StatusDot.js +3 -3
- package/dist/base/StatusDot.js.map +1 -1
- package/dist/base/Tag.js +5 -5
- package/dist/base/Tag.js.map +1 -1
- package/dist/base/button-core.js +4 -4
- package/dist/base/button-core.js.map +1 -1
- package/dist/charts/AreaChart.js +3 -3
- package/dist/charts/AreaChart.js.map +1 -1
- package/dist/charts/BarChart.js +3 -3
- package/dist/charts/BarChart.js.map +1 -1
- package/dist/charts/ChordChart.js +3 -3
- package/dist/charts/ChordChart.js.map +1 -1
- package/dist/charts/ComboChart.js +3 -3
- package/dist/charts/ComboChart.js.map +1 -1
- package/dist/charts/DonutChart.js +3 -3
- package/dist/charts/DonutChart.js.map +1 -1
- package/dist/charts/FunnelChart.js +5 -5
- package/dist/charts/FunnelChart.js.map +1 -1
- package/dist/charts/GraphChart.js +3 -3
- package/dist/charts/GraphChart.js.map +1 -1
- package/dist/charts/LineChart.js +3 -3
- package/dist/charts/LineChart.js.map +1 -1
- package/dist/charts/MapChart.js +7 -7
- package/dist/charts/MapChart.js.map +1 -1
- package/dist/charts/RadarChart.js +16 -15
- package/dist/charts/RadarChart.js.map +1 -1
- package/dist/charts/SankeyChart.js +3 -3
- package/dist/charts/SankeyChart.js.map +1 -1
- package/dist/charts/ScatterChart.js +3 -3
- package/dist/charts/ScatterChart.js.map +1 -1
- package/dist/charts/TimelineChart.js +6 -5
- package/dist/charts/TimelineChart.js.map +1 -1
- package/dist/charts/TreemapChart.js +3 -3
- package/dist/charts/TreemapChart.js.map +1 -1
- package/dist/charts/WaterfallChart.js +3 -3
- package/dist/charts/WaterfallChart.js.map +1 -1
- package/dist/charts/XYChart.js +9 -7
- package/dist/charts/XYChart.js.map +1 -1
- package/dist/charts/frame.js +10 -8
- package/dist/charts/frame.js.map +1 -1
- package/dist/charts/single.js +4 -3
- package/dist/charts/single.js.map +1 -1
- package/dist/config/Provider.d.ts +3 -1
- package/dist/config/Provider.js +9 -4
- package/dist/config/Provider.js.map +1 -1
- package/dist/config/context.d.ts +18 -0
- package/dist/config/context.js +16 -1
- package/dist/config/context.js.map +1 -1
- package/dist/config/createUi.d.ts +20 -3
- package/dist/config/createUi.js +80 -49
- package/dist/config/createUi.js.map +1 -1
- package/dist/config/layout/preference.d.ts +43 -0
- package/dist/config/layout/preference.js +108 -0
- package/dist/config/layout/preference.js.map +1 -0
- package/dist/date/Calendar.js +3 -3
- package/dist/date/Calendar.js.map +1 -1
- package/dist/date/CalendarBoard.js +9 -9
- package/dist/date/CalendarBoard.js.map +1 -1
- package/dist/date/CalendarView.js +7 -7
- package/dist/date/CalendarView.js.map +1 -1
- package/dist/date/DateField.js +3 -3
- package/dist/date/DateField.js.map +1 -1
- package/dist/date/DatePicker.js +5 -5
- package/dist/date/DatePicker.js.map +1 -1
- package/dist/date/DateRangePicker.js +5 -5
- package/dist/date/DateRangePicker.js.map +1 -1
- package/dist/date/DateSegmentGroup.js +5 -5
- package/dist/date/DateSegmentGroup.js.map +1 -1
- package/dist/date/QuarterCalendar.js +6 -6
- package/dist/date/QuarterCalendar.js.map +1 -1
- package/dist/date/RangeCalendar.js +3 -3
- package/dist/date/RangeCalendar.js.map +1 -1
- package/dist/date/SegmentedField.js +3 -3
- package/dist/date/SegmentedField.js.map +1 -1
- package/dist/date/TimeField.js +3 -3
- package/dist/date/TimeField.js.map +1 -1
- package/dist/date/TimePicker.js +4 -4
- package/dist/date/TimePicker.js.map +1 -1
- package/dist/date/date-segments.js +1 -1
- package/dist/date/date-segments.js.map +1 -1
- package/dist/date/picker-popover.js +3 -2
- package/dist/date/picker-popover.js.map +1 -1
- package/dist/diagram/Diagram.js +12 -12
- package/dist/diagram/Diagram.js.map +1 -1
- package/dist/diagram/DiagramLanes.js +3 -3
- package/dist/diagram/DiagramLanes.js.map +1 -1
- package/dist/diagram/DiagramMinimap.js +4 -4
- package/dist/diagram/DiagramMinimap.js.map +1 -1
- package/dist/display/Accordion.js +6 -6
- package/dist/display/Accordion.js.map +1 -1
- package/dist/display/AnimatedNumber.js +4 -4
- package/dist/display/AnimatedNumber.js.map +1 -1
- package/dist/display/Avatar.js +4 -4
- package/dist/display/Avatar.js.map +1 -1
- package/dist/display/Checklist.js +7 -7
- package/dist/display/Checklist.js.map +1 -1
- package/dist/display/Collapse.js +8 -5
- package/dist/display/Collapse.js.map +1 -1
- package/dist/display/Collapsible.js +3 -3
- package/dist/display/Collapsible.js.map +1 -1
- package/dist/display/Descriptions.js +5 -5
- package/dist/display/Descriptions.js.map +1 -1
- package/dist/display/Ellipsis.js +3 -3
- package/dist/display/Ellipsis.js.map +1 -1
- package/dist/display/FieldCompare.js +4 -4
- package/dist/display/FieldCompare.js.map +1 -1
- package/dist/display/Gauge.js +11 -11
- package/dist/display/Gauge.js.map +1 -1
- package/dist/display/Image.js +4 -4
- package/dist/display/Image.js.map +1 -1
- package/dist/display/Marquee.js +3 -3
- package/dist/display/Marquee.js.map +1 -1
- package/dist/display/ProportionBar.js +4 -4
- package/dist/display/ProportionBar.js.map +1 -1
- package/dist/display/Sortable.js +4 -4
- package/dist/display/Sortable.js.map +1 -1
- package/dist/display/Sparkline.js +6 -6
- package/dist/display/Sparkline.js.map +1 -1
- package/dist/display/Stat.js +3 -3
- package/dist/display/Stat.js.map +1 -1
- package/dist/display/Timeline.js +7 -7
- package/dist/display/Timeline.js.map +1 -1
- package/dist/display/Tree.js +10 -10
- package/dist/display/Tree.js.map +1 -1
- package/dist/display/VirtualList.js +7 -7
- package/dist/display/VirtualList.js.map +1 -1
- package/dist/display/Watermark.js +3 -3
- package/dist/display/Watermark.js.map +1 -1
- package/dist/docs-kit/CodeGroup.js +5 -5
- package/dist/docs-kit/CodeGroup.js.map +1 -1
- package/dist/docs-kit/CodePreview.js +6 -6
- package/dist/docs-kit/CodePreview.js.map +1 -1
- package/dist/docs-kit/PropsTable.js +4 -4
- package/dist/docs-kit/PropsTable.js.map +1 -1
- package/dist/feedback/Alert.js +5 -5
- package/dist/feedback/Alert.js.map +1 -1
- package/dist/feedback/Banner.js +5 -5
- package/dist/feedback/Banner.js.map +1 -1
- package/dist/feedback/Empty.js +4 -4
- package/dist/feedback/Empty.js.map +1 -1
- package/dist/feedback/LoadingBar.js +20 -13
- package/dist/feedback/LoadingBar.js.map +1 -1
- package/dist/feedback/LoadingOverlay.js +3 -3
- package/dist/feedback/LoadingOverlay.js.map +1 -1
- package/dist/feedback/Progress.js +14 -14
- package/dist/feedback/Progress.js.map +1 -1
- package/dist/feedback/Result.js +4 -4
- package/dist/feedback/Result.js.map +1 -1
- package/dist/feedback/SkeletonText.js +3 -3
- package/dist/feedback/SkeletonText.js.map +1 -1
- package/dist/feedback/Toast.js +6 -6
- package/dist/feedback/Toast.js.map +1 -1
- package/dist/form/Field.js +7 -7
- package/dist/form/Field.js.map +1 -1
- package/dist/form/Form.js +3 -3
- package/dist/form/Form.js.map +1 -1
- package/dist/form/FormErrorSummary.js +3 -3
- package/dist/form/FormErrorSummary.js.map +1 -1
- package/dist/form/FormSection.js +6 -6
- package/dist/form/FormSection.js.map +1 -1
- package/dist/index.d.ts +11 -6
- package/dist/index.js +10 -5
- package/dist/input/Autocomplete.js +3 -3
- package/dist/input/Autocomplete.js.map +1 -1
- package/dist/input/Cascader.js +7 -7
- package/dist/input/Cascader.js.map +1 -1
- package/dist/input/CharacterCount.js +3 -3
- package/dist/input/CharacterCount.js.map +1 -1
- package/dist/input/Checkbox.js +5 -5
- package/dist/input/Checkbox.js.map +1 -1
- package/dist/input/ColorField.js +4 -4
- package/dist/input/ColorField.js.map +1 -1
- package/dist/input/Combobox.js +4 -4
- package/dist/input/Combobox.js.map +1 -1
- package/dist/input/ConditionBuilder.js +15 -14
- package/dist/input/ConditionBuilder.js.map +1 -1
- package/dist/input/FileDrop.js +3 -3
- package/dist/input/FileDrop.js.map +1 -1
- package/dist/input/Listbox.js +9 -9
- package/dist/input/Listbox.js.map +1 -1
- package/dist/input/Mentions.js +3 -3
- package/dist/input/Mentions.js.map +1 -1
- package/dist/input/NumberField.js +3 -3
- package/dist/input/NumberField.js.map +1 -1
- package/dist/input/NumberRangeField.js +5 -5
- package/dist/input/NumberRangeField.js.map +1 -1
- package/dist/input/OtpField.js +5 -5
- package/dist/input/OtpField.js.map +1 -1
- package/dist/input/PeoplePicker.js +6 -6
- package/dist/input/PeoplePicker.js.map +1 -1
- package/dist/input/PeoplePickerPanel.js +4 -4
- package/dist/input/PeoplePickerPanel.js.map +1 -1
- package/dist/input/Radio.js +4 -4
- package/dist/input/Radio.js.map +1 -1
- package/dist/input/Rating.js +5 -5
- package/dist/input/Rating.js.map +1 -1
- package/dist/input/Select.js +4 -4
- package/dist/input/Select.js.map +1 -1
- package/dist/input/SelectedTags.js +4 -4
- package/dist/input/SelectedTags.js.map +1 -1
- package/dist/input/Slider.js +6 -6
- package/dist/input/Slider.js.map +1 -1
- package/dist/input/Switch.js +3 -3
- package/dist/input/Switch.js.map +1 -1
- package/dist/input/TagsInput.js +5 -5
- package/dist/input/TagsInput.js.map +1 -1
- package/dist/input/TextField.js +5 -5
- package/dist/input/TextField.js.map +1 -1
- package/dist/input/Textarea.js +4 -4
- package/dist/input/Textarea.js.map +1 -1
- package/dist/input/ToggleGroup.js +4 -4
- package/dist/input/ToggleGroup.js.map +1 -1
- package/dist/input/Transfer.js +8 -8
- package/dist/input/Transfer.js.map +1 -1
- package/dist/input/TreeSelect.js +6 -6
- package/dist/input/TreeSelect.js.map +1 -1
- package/dist/input/Upload.js +8 -8
- package/dist/input/Upload.js.map +1 -1
- package/dist/layout/Affix.js +4 -4
- package/dist/layout/Affix.js.map +1 -1
- package/dist/layout/ResizeHandle.d.ts +6 -2
- package/dist/layout/ResizeHandle.js +32 -9
- package/dist/layout/ResizeHandle.js.map +1 -1
- package/dist/layout/ScrollArea.js +3 -3
- package/dist/layout/ScrollArea.js.map +1 -1
- package/dist/layout/Separator.js +3 -3
- package/dist/layout/Separator.js.map +1 -1
- package/dist/layout/Splitter.js +3 -3
- package/dist/layout/Splitter.js.map +1 -1
- package/dist/layout/ViewportFill.d.ts +2 -2
- package/dist/layout/ViewportFill.js +4 -4
- package/dist/layout/ViewportFill.js.map +1 -1
- package/dist/navigation/Breadcrumbs.js +4 -4
- package/dist/navigation/Breadcrumbs.js.map +1 -1
- package/dist/navigation/NavBar.js +6 -6
- package/dist/navigation/NavBar.js.map +1 -1
- package/dist/navigation/NavList.d.ts +1 -0
- package/dist/navigation/NavList.js +20 -12
- package/dist/navigation/NavList.js.map +1 -1
- package/dist/navigation/NavMenu.d.ts +27 -0
- package/dist/navigation/NavMenu.js +54 -0
- package/dist/navigation/NavMenu.js.map +1 -0
- package/dist/navigation/PageJump.js +3 -3
- package/dist/navigation/PageJump.js.map +1 -1
- package/dist/navigation/PageSizeSelect.js +4 -4
- package/dist/navigation/PageSizeSelect.js.map +1 -1
- package/dist/navigation/Pagination.js +6 -6
- package/dist/navigation/Pagination.js.map +1 -1
- package/dist/navigation/PaginationBar.js +5 -5
- package/dist/navigation/PaginationBar.js.map +1 -1
- package/dist/navigation/Steps.js +4 -4
- package/dist/navigation/Steps.js.map +1 -1
- package/dist/navigation/TableOfContents.js +5 -5
- package/dist/navigation/TableOfContents.js.map +1 -1
- package/dist/navigation/Tabs.js +7 -7
- package/dist/navigation/Tabs.js.map +1 -1
- package/dist/navigation/Toolbar.js +3 -3
- package/dist/navigation/Toolbar.js.map +1 -1
- package/dist/overlay/AlertDialog.js +4 -4
- package/dist/overlay/AlertDialog.js.map +1 -1
- package/dist/overlay/CommandPalette.js +4 -4
- package/dist/overlay/CommandPalette.js.map +1 -1
- package/dist/overlay/ContextMenu.js +3 -3
- package/dist/overlay/ContextMenu.js.map +1 -1
- package/dist/overlay/Dialog.js +4 -4
- package/dist/overlay/Dialog.js.map +1 -1
- package/dist/overlay/Drawer.js +5 -5
- package/dist/overlay/Drawer.js.map +1 -1
- package/dist/overlay/HoverCard.js +5 -3
- package/dist/overlay/HoverCard.js.map +1 -1
- package/dist/overlay/Lightbox.js +5 -5
- package/dist/overlay/Lightbox.js.map +1 -1
- package/dist/overlay/Menu.js +7 -7
- package/dist/overlay/Menu.js.map +1 -1
- package/dist/overlay/ModalCore.js +9 -9
- package/dist/overlay/ModalCore.js.map +1 -1
- package/dist/overlay/Popconfirm.js +6 -6
- package/dist/overlay/Popconfirm.js.map +1 -1
- package/dist/overlay/Popover.js +5 -3
- package/dist/overlay/Popover.js.map +1 -1
- package/dist/overlay/Tooltip.js +5 -3
- package/dist/overlay/Tooltip.js.map +1 -1
- package/dist/overlay/Tour.js +8 -8
- package/dist/overlay/Tour.js.map +1 -1
- package/dist/overlay/detached.d.ts +2 -0
- package/dist/overlay/detached.js +73 -42
- package/dist/overlay/detached.js.map +1 -1
- package/dist/patterns/ActionBar.js +3 -3
- package/dist/patterns/ActionBar.js.map +1 -1
- package/dist/patterns/AppShell.d.ts +28 -1
- package/dist/patterns/AppShell.js +158 -52
- package/dist/patterns/AppShell.js.map +1 -1
- package/dist/patterns/AuthLayout.d.ts +28 -0
- package/dist/patterns/AuthLayout.js +77 -0
- package/dist/patterns/AuthLayout.js.map +1 -0
- package/dist/patterns/CommentThread.js +9 -9
- package/dist/patterns/CommentThread.js.map +1 -1
- package/dist/patterns/DataImport.js +4 -4
- package/dist/patterns/DataImport.js.map +1 -1
- package/dist/patterns/DeadlineBadge.js +3 -3
- package/dist/patterns/DeadlineBadge.js.map +1 -1
- package/dist/patterns/FilterBar.d.ts +11 -1
- package/dist/patterns/FilterBar.js +39 -10
- package/dist/patterns/FilterBar.js.map +1 -1
- package/dist/patterns/FormDialog.d.ts +18 -0
- package/dist/patterns/FormDialog.js +46 -0
- package/dist/patterns/FormDialog.js.map +1 -0
- package/dist/patterns/KanbanBoard.js +8 -8
- package/dist/patterns/KanbanBoard.js.map +1 -1
- package/dist/patterns/LayoutSwitcher.d.ts +12 -0
- package/dist/patterns/LayoutSwitcher.js +79 -0
- package/dist/patterns/LayoutSwitcher.js.map +1 -0
- package/dist/patterns/NotificationCenter.js +8 -8
- package/dist/patterns/NotificationCenter.js.map +1 -1
- package/dist/patterns/PageTabs.d.ts +12 -7
- package/dist/patterns/PageTabs.js +41 -29
- package/dist/patterns/PageTabs.js.map +1 -1
- package/dist/patterns/QueryTable.d.ts +7 -1
- package/dist/patterns/QueryTable.js +116 -81
- package/dist/patterns/QueryTable.js.map +1 -1
- package/dist/patterns/SlideCaptcha.d.ts +80 -0
- package/dist/patterns/SlideCaptcha.js +354 -0
- package/dist/patterns/SlideCaptcha.js.map +1 -0
- package/dist/patterns/StepsForm.js +7 -7
- package/dist/patterns/StepsForm.js.map +1 -1
- package/dist/patterns/ThemeSwitcher.js +3 -3
- package/dist/patterns/ThemeSwitcher.js.map +1 -1
- package/dist/patterns/index.d.ts +7 -3
- package/dist/patterns/index.js +5 -1
- package/dist/patterns/messages.d.ts +37 -1
- package/dist/patterns/messages.js +38 -2
- package/dist/patterns/messages.js.map +1 -1
- package/dist/table/ColumnHeaderActions.js +3 -3
- package/dist/table/ColumnHeaderActions.js.map +1 -1
- package/dist/table/ColumnResizer.js +3 -3
- package/dist/table/ColumnResizer.js.map +1 -1
- package/dist/table/ColumnSettings.js +5 -5
- package/dist/table/ColumnSettings.js.map +1 -1
- package/dist/table/ColumnTable.js +8 -8
- package/dist/table/ColumnTable.js.map +1 -1
- package/dist/table/DataTable.js +8 -8
- package/dist/table/DataTable.js.map +1 -1
- package/dist/table/DataTableView.js +21 -21
- package/dist/table/DataTableView.js.map +1 -1
- package/dist/table/PivotTable.js +3 -3
- package/dist/table/PivotTable.js.map +1 -1
- package/dist/table/SelectionBar.js +4 -4
- package/dist/table/SelectionBar.js.map +1 -1
- package/dist/table/TreeDataTable.js +5 -5
- package/dist/table/TreeDataTable.js.map +1 -1
- package/dist/theme-customize/ThemeCustomizer.js +7 -6
- package/dist/theme-customize/ThemeCustomizer.js.map +1 -1
- package/dist/theme-customize/ThemeThumbnail.js +3 -3
- package/dist/theme-customize/ThemeThumbnail.js.map +1 -1
- package/dist/three/background/AuroraBackground.js +3 -3
- package/dist/three/background/AuroraBackground.js.map +1 -1
- package/dist/three/background/MeshGradient.js +3 -3
- package/dist/three/background/MeshGradient.js.map +1 -1
- package/dist/three/background/ShaderBackground.js +3 -3
- package/dist/three/background/ShaderBackground.js.map +1 -1
- package/dist/three/core/EffectSurface.js +3 -3
- package/dist/three/core/EffectSurface.js.map +1 -1
- package/dist/three/core/ThreeCanvas.js +4 -4
- package/dist/three/core/ThreeCanvas.js.map +1 -1
- package/dist/three/effects/Confetti.js +3 -3
- package/dist/three/effects/Confetti.js.map +1 -1
- package/dist/three/effects/ParticleField.js +3 -3
- package/dist/three/effects/ParticleField.js.map +1 -1
- package/dist/three/effects/WaveGrid.js +3 -3
- package/dist/three/effects/WaveGrid.js.map +1 -1
- package/dist/three/globe/Globe.js +3 -3
- package/dist/three/globe/Globe.js.map +1 -1
- package/dist/three/model/ModelViewer.js +3 -3
- package/dist/three/model/ModelViewer.js.map +1 -1
- package/dist/utils/data/number.d.ts +5 -0
- package/dist/utils/data/number.js +8 -1
- package/dist/utils/data/number.js.map +1 -1
- package/dist/utils/dom/element.d.ts +3 -1
- package/dist/utils/dom/element.js +8 -4
- package/dist/utils/dom/element.js.map +1 -1
- package/dist/utils/dom/fullscreen.d.ts +1 -1
- package/dist/utils/dom/fullscreen.js +12 -8
- package/dist/utils/dom/fullscreen.js.map +1 -1
- package/dist/utils/dom/mounted.d.ts +7 -0
- package/dist/utils/dom/mounted.js +16 -0
- package/dist/utils/dom/mounted.js.map +1 -0
- package/dist/utils/dom/overflow.js +2 -1
- package/dist/utils/dom/overflow.js.map +1 -1
- package/dist/utils/dom/pan-zoom.js +2 -1
- package/dist/utils/dom/pan-zoom.js.map +1 -1
- package/dist/utils/props.js +3 -13
- package/dist/utils/props.js.map +1 -1
- package/dist/utils/request/http.d.ts +12 -0
- package/dist/utils/request/http.js +6 -2
- package/dist/utils/request/http.js.map +1 -1
- package/dist/utils/request/use-request.js +4 -2
- package/dist/utils/request/use-request.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormSection.js","names":["_isVNode","_vtp_readonlyProp","_vtp_bindable","_vtp_childrenProp","_vtp_restProps","_createVNode","_mergeProps","Text","_vue_unref"],"sources":["../../src/form/FormSection.tsx"],"sourcesContent":["/**\n * 表单里的一组字段:标题、说明、右侧的操作,下面一条细线,再下面是字段的栅格。长表单按主题分组(基本信息、计划与实施……)。\n *\n * <FormSection title=\"项目基本信息\" columns={2}>\n * <Field label=\"项目名称\">…</Field>\n * <Field label=\"任务类别\">…</Field>\n * <GridItem span=\"full\"><Field label=\"简要描述\">…</Field></GridItem>\n * </FormSection>\n *\n * columns 是最多几列:每列不窄于 minColumnWidth,容器窄时自动减少列数,不需要断点;跨列用 GridItem(多列时用 span=\"full\")。\n * 也是一层字段布局(field-layout):标签位置、宽度、对齐、只读、不可用写在这里只作用于这一组,没写的沿用 Form 的。\n * collapsible 时标题是展开收起的按钮(aria-expanded),收起的字段不能被 Tab 到。\n * 给了 id 就能当锚点:长表单旁边放一个 TableOfContents(items 用各组的 id 与标题)做分节导航,跳过来时让开粘性顶栏。\n * 语义:role=\"group\" 以标题为名称、说明为描述,标题是 h2–h6(headingLevel),读屏能按标题跳转。\n *\n * 部件:Root(div)、Header(div)、Heading(h2–h6)、Trigger(ButtonBase,collapsible 时)、Chevron(Icon)、\n * Description(Text)、Extra(div)、Body(div,字段的栅格)、Collapse(collapsible 时包住 Body)。\n */\nimport { ChevronDown } from '@lucide/icons';\nimport { _component } from '@zerodep-dev/vue-tsx-pro-tsx';\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport { h, useId, type VNodeChild } from 'vue';\nimport { ButtonBase, type ButtonBaseProps } from '../base/ButtonBase';\nimport { Icon, type IconProps } from '../base/Icon';\nimport { Text, type TextProps } from '../base/Text';\nimport { space, t } from '../config/theme/tokens';\nimport { Collapse, type CollapseProps } from '../display/Collapse';\nimport { provideGridColumns } from '../layout/Grid';\nimport { hasContent, mergeAttrs, mergePartProps, type PartProps } from '../utils/props';\nimport { disclosureStyles } from '../utils/style/transitions';\nimport { layoutVars } from '../utils/style/vars';\nimport { provideFieldLayout, type FieldLayout } from './field-layout';\n\n/** 角色与关联由组件管理;原生的 title 属性让给标题内容 */\nexport type FormSectionManaged = 'role' | 'title' | 'aria-labelledby' | 'aria-describedby';\n\n/** 未声明的属性落到外层 div 上 */\nexport interface FormSectionProps extends PartProps<'div', FormSectionManaged>, FieldLayout {\n /** 标题;不写时没有标题栏,只是一层栅格与字段布局 */\n title?: VNodeChild;\n /** 标题下面的说明 */\n description?: VNodeChild;\n /** 标题栏结束边的内容:链接、按钮(“查看关联明细”“添加”) */\n extra?: VNodeChild;\n /** 标题的级别(h2–h6),默认 3 */\n headingLevel?: 2 | 3 | 4 | 5 | 6;\n /** 最多几列,默认 1;容器窄时按 minColumnWidth 自动减少 */\n columns?: number;\n /** 每列的最小宽度(CSS 长度),默认 `'26em'`:标签在起始边时放得下标签、控件与横排的三四个选项 */\n minColumnWidth?: string;\n /** 可以展开收起:标题变成按钮 */\n collapsible?: boolean;\n /** 是否展开(collapsible 时):父级写 _open={x},默认展开 */\n _open?: boolean;\n /** 标题栏的部件属性 */\n propsHeader?: PartProps<'div'>;\n /** 标题(h2–h6)的部件属性 */\n propsHeading?: PartProps<'h3'>;\n /** 展开收起按钮的部件属性 */\n propsTrigger?: Omit<Partial<ButtonBaseProps>, 'aria-expanded' | 'aria-controls'>;\n /** 展开箭头的部件属性 */\n propsChevron?: Partial<IconProps>;\n /** 说明的部件属性 */\n propsDescription?: Partial<TextProps>;\n /** 标题栏结束边内容的部件属性 */\n propsExtra?: PartProps<'div'>;\n /** 字段栅格的部件属性 */\n propsBody?: PartProps<'div'>;\n /** 展开收起层的部件属性(collapsible 时) */\n propsCollapse?: Partial<CollapseProps>;\n /** 字段 */\n children?: VNodeChild;\n}\n\n/** FormSection 的样式:root、header、headerText、heading、trigger、chevron、description、extra、body、singleColumn */\nexport const formSectionStyles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: '_lg',\n minWidth: 0,\n // 分节导航(TableOfContents、锚点)跳过来时让开粘性顶栏,再留一点空\n scrollMarginBlockStart: `calc(${layoutVars.stickyOffset} + ${space.lg})`,\n },\n header: {\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n flexWrap: 'wrap',\n columnGap: '_lg',\n rowGap: '_xs',\n paddingBlockEnd: '_sm',\n borderBlockEndWidth: '_xs',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: '_borderMuted',\n },\n headerText: { display: 'flex', flexDirection: 'column', gap: '_xs', minWidth: 0 },\n heading: {\n margin: 0,\n fontSize: '_md',\n fontWeight: '_semibold',\n lineHeight: '_tight',\n color: '_text',\n },\n trigger: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '_xs',\n marginInline: `calc(-1 * ${t.space.xs})`,\n paddingInline: '_xs',\n borderRadius: '_sm',\n fontWeight: 'inherit',\n color: 'inherit',\n textAlign: 'start',\n backgroundColor: { default: 'transparent', ':hover': '_fill' },\n },\n chevron: { flexShrink: 0, color: '_textMuted' },\n chevronClosed: { rotate: '-90deg' },\n description: { fontSize: '_sm', lineHeight: '_normal' },\n extra: { display: 'flex', alignItems: 'center', gap: '_sm', flexShrink: 0 },\n // 多列时列间距比行间距大:一眼看出哪几项是同一列\n body: {\n '--form-section-column-gap': '_space.xl',\n display: 'grid',\n columnGap: 'var(--form-section-column-gap)',\n rowGap: '_md',\n gridTemplateColumns: 'minmax(0, 1fr)',\n alignItems: 'start',\n },\n});\n\n/** FormSection 的样式:columns(最多几列、每列不窄于多少) */\nexport const formSectionColumnStyles = css.create({\n columns: (count: number, minWidth: string) => ({\n gridTemplateColumns: `repeat(auto-fill, minmax(max(min(${minWidth}, 100%), calc((100% - ${count - 1} * var(--form-section-column-gap)) / ${count})), 1fr))`,\n }),\n});\n\n/** 表单里的一组字段:标题栏、字段栅格,可折叠;这一组的标签布局、只读、不可用 */\nexport const FormSection = _component(\n ({\n title,\n description,\n extra,\n headingLevel = 3,\n columns = 1,\n minColumnWidth = '26em',\n collapsible = false,\n _open: open = _bindable(true),\n labelPlacement,\n labelWidth,\n labelAlign,\n disabled,\n readonly,\n propsHeader,\n propsHeading,\n propsTrigger,\n propsChevron,\n propsDescription,\n propsExtra,\n propsBody,\n propsCollapse,\n children,\n ...rest\n }: FormSectionProps) => {\n const id = useId();\n const ids = { title: `${id}-title`, description: `${id}-description`, body: `${id}-body` };\n provideFieldLayout(() => ({ labelPlacement, labelWidth, labelAlign, disabled, readonly }));\n const bodyRef = provideGridColumns(() =>\n columns > 1 ? { columns, minItemWidth: minColumnWidth } : { columns: 1 },\n );\n\n return () => {\n const expanded = !collapsible || open;\n const state = expanded ? 'open' : 'closed';\n const titleContent = collapsible ? (\n <ButtonBase\n {...mergePartProps<ButtonBaseProps>({ sx: formSectionStyles.trigger }, propsTrigger, {\n id: ids.title,\n 'aria-expanded': open,\n 'aria-controls': ids.body,\n onClick: () => (open = !open),\n })}\n data-state={state}\n >\n <span>{title}</span>\n <Icon\n {...mergePartProps<IconProps>(\n {\n icon: ChevronDown,\n sx: [\n formSectionStyles.chevron,\n disclosureStyles.icon,\n !open && formSectionStyles.chevronClosed,\n ],\n },\n propsChevron,\n )}\n />\n </ButtonBase>\n ) : (\n <span id={ids.title}>{title}</span>\n );\n const body = (\n <div\n {...mergeAttrs<'div'>(\n {\n sx: [\n formSectionStyles.body,\n columns > 1 && formSectionColumnStyles.columns(columns, minColumnWidth),\n ],\n },\n propsBody,\n { ref: bodyRef, ...(collapsible ? {} : { id: ids.body }) },\n )}\n >\n {children}\n </div>\n );\n return (\n <div\n {...mergeAttrs<'div'>({ sx: formSectionStyles.root }, rest, {\n role: hasContent(title) ? 'group' : undefined,\n 'aria-labelledby': hasContent(title) ? ids.title : undefined,\n 'aria-describedby': hasContent(description) ? ids.description : undefined,\n })}\n data-state={collapsible ? state : undefined}\n >\n {(title != null || extra != null) && (\n <div {...mergeAttrs<'div'>({ sx: formSectionStyles.header }, propsHeader)}>\n <div {...css.attrs(formSectionStyles.headerText)}>\n {hasContent(title) &&\n h(\n `h${headingLevel}`,\n mergeAttrs<'h3'>({ sx: formSectionStyles.heading }, propsHeading),\n [titleContent],\n )}\n {hasContent(description) && (\n <Text\n {...mergePartProps<TextProps>(\n { tone: 'muted', sx: formSectionStyles.description },\n propsDescription,\n { id: ids.description },\n )}\n >\n {description}\n </Text>\n )}\n </div>\n {hasContent(extra) && (\n <div {...mergeAttrs<'div'>({ sx: formSectionStyles.extra }, propsExtra)}>\n {extra}\n </div>\n )}\n </div>\n )}\n {collapsible ? (\n <Collapse\n {...mergePartProps<CollapseProps>({}, propsCollapse, { id: ids.body })}\n _open={open}\n >\n {body}\n </Collapse>\n ) : (\n body\n )}\n </div>\n );\n };\n },\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FormSection.js","names":["_isVNode","_vtp_readonlyProp","_vtp_bindable","_vtp_childrenProp","_vtp_restProps","_createVNode","_mergeProps","Text","_vue_unref"],"sources":["../../src/form/FormSection.tsx"],"sourcesContent":["/**\n * 表单里的一组字段:标题、说明、右侧的操作,下面一条细线,再下面是字段的栅格。长表单按主题分组(基本信息、计划与实施……)。\n *\n * <FormSection title=\"项目基本信息\" columns={2}>\n * <Field label=\"项目名称\">…</Field>\n * <Field label=\"任务类别\">…</Field>\n * <GridItem span=\"full\"><Field label=\"简要描述\">…</Field></GridItem>\n * </FormSection>\n *\n * columns 是最多几列:每列不窄于 minColumnWidth,容器窄时自动减少列数,不需要断点;跨列用 GridItem(多列时用 span=\"full\")。\n * 也是一层字段布局(field-layout):标签位置、宽度、对齐、只读、不可用写在这里只作用于这一组,没写的沿用 Form 的。\n * collapsible 时标题是展开收起的按钮(aria-expanded),收起的字段不能被 Tab 到。\n * 给了 id 就能当锚点:长表单旁边放一个 TableOfContents(items 用各组的 id 与标题)做分节导航,跳过来时让开粘性顶栏。\n * 语义:role=\"group\" 以标题为名称、说明为描述,标题是 h2–h6(headingLevel),读屏能按标题跳转。\n *\n * 部件:Root(div)、Header(div)、Heading(h2–h6)、Trigger(ButtonBase,collapsible 时)、Chevron(Icon)、\n * Description(Text)、Extra(div)、Body(div,字段的栅格)、Collapse(collapsible 时包住 Body)。\n */\nimport { ChevronDown } from '@lucide/icons';\nimport { _component } from '@zerodep-dev/vue-tsx-pro-tsx';\nimport * as css from '@zerodep-dev/vue-tsx-pro-tsx/styles';\nimport { h, useId, type VNodeChild } from 'vue';\nimport { ButtonBase, type ButtonBaseProps } from '../base/ButtonBase';\nimport { Icon, type IconProps } from '../base/Icon';\nimport { Text, type TextProps } from '../base/Text';\nimport { space, t } from '../config/theme/tokens';\nimport { Collapse, type CollapseProps } from '../display/Collapse';\nimport { provideGridColumns } from '../layout/Grid';\nimport { hasContent, mergeAttrs, mergePartProps, type PartProps } from '../utils/props';\nimport { disclosureStyles } from '../utils/style/transitions';\nimport { layoutVars } from '../utils/style/vars';\nimport { provideFieldLayout, type FieldLayout } from './field-layout';\n\n/** 角色与关联由组件管理;原生的 title 属性让给标题内容 */\nexport type FormSectionManaged = 'role' | 'title' | 'aria-labelledby' | 'aria-describedby';\n\n/** 未声明的属性落到外层 div 上 */\nexport interface FormSectionProps extends PartProps<'div', FormSectionManaged>, FieldLayout {\n /** 标题;不写时没有标题栏,只是一层栅格与字段布局 */\n title?: VNodeChild;\n /** 标题下面的说明 */\n description?: VNodeChild;\n /** 标题栏结束边的内容:链接、按钮(“查看关联明细”“添加”) */\n extra?: VNodeChild;\n /** 标题的级别(h2–h6),默认 3 */\n headingLevel?: 2 | 3 | 4 | 5 | 6;\n /** 最多几列,默认 1;容器窄时按 minColumnWidth 自动减少 */\n columns?: number;\n /** 每列的最小宽度(CSS 长度),默认 `'26em'`:标签在起始边时放得下标签、控件与横排的三四个选项 */\n minColumnWidth?: string;\n /** 可以展开收起:标题变成按钮 */\n collapsible?: boolean;\n /** 是否展开(collapsible 时):父级写 _open={x},默认展开 */\n _open?: boolean;\n /** 标题栏的部件属性 */\n propsHeader?: PartProps<'div'>;\n /** 标题(h2–h6)的部件属性 */\n propsHeading?: PartProps<'h3'>;\n /** 展开收起按钮的部件属性 */\n propsTrigger?: Omit<Partial<ButtonBaseProps>, 'aria-expanded' | 'aria-controls'>;\n /** 展开箭头的部件属性 */\n propsChevron?: Partial<IconProps>;\n /** 说明的部件属性 */\n propsDescription?: Partial<TextProps>;\n /** 标题栏结束边内容的部件属性 */\n propsExtra?: PartProps<'div'>;\n /** 字段栅格的部件属性 */\n propsBody?: PartProps<'div'>;\n /** 展开收起层的部件属性(collapsible 时) */\n propsCollapse?: Partial<CollapseProps>;\n /** 字段 */\n children?: VNodeChild;\n}\n\n/** FormSection 的样式:root、header、headerText、heading、trigger、chevron、description、extra、body、singleColumn */\nexport const formSectionStyles = css.create({\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: '_lg',\n minWidth: 0,\n // 分节导航(TableOfContents、锚点)跳过来时让开粘性顶栏,再留一点空\n scrollMarginBlockStart: `calc(${layoutVars.stickyOffset} + ${space.lg})`,\n },\n header: {\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'space-between',\n flexWrap: 'wrap',\n columnGap: '_lg',\n rowGap: '_xs',\n paddingBlockEnd: '_sm',\n borderBlockEndWidth: '_xs',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: '_borderMuted',\n },\n headerText: { display: 'flex', flexDirection: 'column', gap: '_xs', minWidth: 0 },\n heading: {\n margin: 0,\n fontSize: '_md',\n fontWeight: '_semibold',\n lineHeight: '_tight',\n color: '_text',\n },\n trigger: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '_xs',\n marginInline: `calc(-1 * ${t.space.xs})`,\n paddingInline: '_xs',\n borderRadius: '_sm',\n fontWeight: 'inherit',\n color: 'inherit',\n textAlign: 'start',\n backgroundColor: { default: 'transparent', ':hover': '_fill' },\n },\n chevron: { flexShrink: 0, color: '_textMuted' },\n chevronClosed: { rotate: '-90deg' },\n description: { fontSize: '_sm', lineHeight: '_normal' },\n extra: { display: 'flex', alignItems: 'center', gap: '_sm', flexShrink: 0 },\n // 多列时列间距比行间距大:一眼看出哪几项是同一列\n body: {\n '--form-section-column-gap': '_space.xl',\n display: 'grid',\n columnGap: 'var(--form-section-column-gap)',\n rowGap: '_md',\n gridTemplateColumns: 'minmax(0, 1fr)',\n alignItems: 'start',\n },\n});\n\n/** FormSection 的样式:columns(最多几列、每列不窄于多少) */\nexport const formSectionColumnStyles = css.create({\n columns: (count: number, minWidth: string) => ({\n gridTemplateColumns: `repeat(auto-fill, minmax(max(min(${minWidth}, 100%), calc((100% - ${count - 1} * var(--form-section-column-gap)) / ${count})), 1fr))`,\n }),\n});\n\n/** 表单里的一组字段:标题栏、字段栅格,可折叠;这一组的标签布局、只读、不可用 */\nexport const FormSection = _component(\n ({\n title,\n description,\n extra,\n headingLevel = 3,\n columns = 1,\n minColumnWidth = '26em',\n collapsible = false,\n _open: open = _bindable(true),\n labelPlacement,\n labelWidth,\n labelAlign,\n disabled,\n readonly,\n propsHeader,\n propsHeading,\n propsTrigger,\n propsChevron,\n propsDescription,\n propsExtra,\n propsBody,\n propsCollapse,\n children,\n ...rest\n }: FormSectionProps) => {\n const id = useId();\n const ids = { title: `${id}-title`, description: `${id}-description`, body: `${id}-body` };\n provideFieldLayout(() => ({ labelPlacement, labelWidth, labelAlign, disabled, readonly }));\n const bodyRef = provideGridColumns(() =>\n columns > 1 ? { columns, minItemWidth: minColumnWidth } : { columns: 1 },\n );\n\n return () => {\n const expanded = !collapsible || open;\n const state = expanded ? 'open' : 'closed';\n const titleContent = collapsible ? (\n <ButtonBase\n {...mergePartProps<ButtonBaseProps>({ sx: formSectionStyles.trigger }, propsTrigger, {\n id: ids.title,\n 'aria-expanded': open,\n 'aria-controls': ids.body,\n onClick: () => (open = !open),\n })}\n data-state={state}\n >\n <span>{title}</span>\n <Icon\n {...mergePartProps<IconProps>(\n {\n icon: ChevronDown,\n sx: [\n formSectionStyles.chevron,\n disclosureStyles.icon,\n !open && formSectionStyles.chevronClosed,\n ],\n },\n propsChevron,\n )}\n />\n </ButtonBase>\n ) : (\n <span id={ids.title}>{title}</span>\n );\n const body = (\n <div\n {...mergeAttrs<'div'>(\n {\n sx: [\n formSectionStyles.body,\n columns > 1 && formSectionColumnStyles.columns(columns, minColumnWidth),\n ],\n },\n propsBody,\n { ref: bodyRef, ...(collapsible ? {} : { id: ids.body }) },\n )}\n >\n {children}\n </div>\n );\n return (\n <div\n {...mergeAttrs<'div'>({ sx: formSectionStyles.root }, rest, {\n role: hasContent(title) ? 'group' : undefined,\n 'aria-labelledby': hasContent(title) ? ids.title : undefined,\n 'aria-describedby': hasContent(description) ? ids.description : undefined,\n })}\n data-state={collapsible ? state : undefined}\n >\n {(title != null || extra != null) && (\n <div {...mergeAttrs<'div'>({ sx: formSectionStyles.header }, propsHeader)}>\n <div {...css.attrs(formSectionStyles.headerText)}>\n {hasContent(title) &&\n h(\n `h${headingLevel}`,\n mergeAttrs<'h3'>({ sx: formSectionStyles.heading }, propsHeading),\n [titleContent],\n )}\n {hasContent(description) && (\n <Text\n {...mergePartProps<TextProps>(\n { tone: 'muted', sx: formSectionStyles.description },\n propsDescription,\n { id: ids.description },\n )}\n >\n {description}\n </Text>\n )}\n </div>\n {hasContent(extra) && (\n <div {...mergeAttrs<'div'>({ sx: formSectionStyles.extra }, propsExtra)}>\n {extra}\n </div>\n )}\n </div>\n )}\n {collapsible ? (\n <Collapse\n {...mergePartProps<CollapseProps>({}, propsCollapse, { id: ids.body })}\n _open={open}\n >\n {body}\n </Collapse>\n ) : (\n body\n )}\n </div>\n );\n };\n },\n);\n"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export { Blockquote, blockquoteStyles, type BlockquoteProps } from './base/Block
|
|
|
3
3
|
export { Button, type ButtonManaged, type ButtonProps } from './base/Button';
|
|
4
4
|
export { ButtonBase, type ButtonBaseManaged, type ButtonBaseProps } from './base/ButtonBase';
|
|
5
5
|
export { ButtonGroup, buttonGroupStyles, type ButtonGroupManaged, type ButtonGroupProps, } from './base/ButtonGroup';
|
|
6
|
+
export { Can, type CanProps } from './base/Can';
|
|
7
|
+
export { ClientOnly, type ClientOnlyProps } from './base/ClientOnly';
|
|
6
8
|
export { ClearButton, CloseButton, createPresetIconButton, type PresetIconButtonProps, } from './base/CloseButton';
|
|
7
9
|
export { Code, codeStyles, type CodeProps } from './base/Code';
|
|
8
10
|
export { CodeBlock, codeBlockDynamicStyles, codeBlockStyles, parseLineSpec, type CodeBlockProps, type LineSpec, } from './base/CodeBlock';
|
|
@@ -83,10 +85,11 @@ export { Popconfirm, popconfirmStyles, type PopconfirmProps } from './overlay/Po
|
|
|
83
85
|
export { Popover, popoverStyles, type PopoverProps, type PopoverTriggerProps, } from './overlay/Popover';
|
|
84
86
|
export { Tooltip, tooltipStyles, type TooltipProps, type TooltipTriggerProps, } from './overlay/Tooltip';
|
|
85
87
|
export { Tour, tourDynamicStyles, tourStyles, type TourProps, type TourStep } from './overlay/Tour';
|
|
86
|
-
export { useDetachedDialog, useDetachedOverlay, type DetachedDialogHost, type DetachedOverlayHandle, type DetachedOverlayOptions, } from './overlay/detached';
|
|
88
|
+
export { useDetachedDialog, useDetachedOverlay, useDetachedRender, type DetachedDialogHost, type DetachedOverlayHandle, type DetachedOverlayOptions, } from './overlay/detached';
|
|
87
89
|
export { Breadcrumbs, breadcrumbsStyles, type BreadcrumbItem, type BreadcrumbsProps, } from './navigation/Breadcrumbs';
|
|
88
90
|
export { NavBar, navBarStyles, type NavBarItem, type NavBarProps } from './navigation/NavBar';
|
|
89
91
|
export { NavCompactContext, NavGroup, NavGroupContext, NavItem, NavList, navListStyles, NavSection, type NavGroupProps, type NavGroupState, type NavItemManaged, type NavItemProps, type NavListProps, type NavSectionProps, } from './navigation/NavList';
|
|
92
|
+
export { NavMenu, type NavMenuItem, type NavMenuProps, type NavMenuTopLevels, } from './navigation/NavMenu';
|
|
90
93
|
export { PageJump, pageJumpStyles, type PageJumpProps } from './navigation/PageJump';
|
|
91
94
|
export { PageSizeSelect, pageSizeSelectStyles, type PageSizeSelectProps, } from './navigation/PageSizeSelect';
|
|
92
95
|
export { Pager, pagerStyles, type PagerLink, type PagerProps } from './navigation/Pager';
|
|
@@ -182,8 +185,8 @@ export { parseCsv, readCsvFile, sheetFromMatrix, type SheetMatrixOptions, type S
|
|
|
182
185
|
export { dataTableRecipe, dataTableStateStyles, type DataTableDensities, type DataTableOptions, type DataTablePart, type DataTableVariants, } from './table/table-styles';
|
|
183
186
|
export { tableParams, useTableQuery, type TablePage, type TableQuery, type TableQueryOptions, type TableQueryState, } from './table/use-table-query';
|
|
184
187
|
export { ConfigScope, Provider, providerStyles, type ConfigScopeProps, type ProviderProps, } from './config/Provider';
|
|
185
|
-
export { ConfigContext, defaultConfig, useConfig, useLang, useTextMatcher, type Highlighter, type QueryPatch, type QueryValues, type TextMatcher, type UiConfig, type UiRouter, } from './config/context';
|
|
186
|
-
export { createUi, documentStyles, type UiOptions } from './config/createUi';
|
|
188
|
+
export { ConfigContext, defaultConfig, useCan, useConfig, useLang, useTextMatcher, type Highlighter, type QueryPatch, type QueryValues, type TextMatcher, type UiConfig, type UiPermissions, type UiRouter, } from './config/context';
|
|
189
|
+
export { createUi, documentStyles, type DocumentAttrs, type UiOptions, type UiPlugin, } from './config/createUi';
|
|
187
190
|
export { mergeDefaults, useDefaults, type ComponentDefaults, type ResolvedDefaults, } from './config/defaults';
|
|
188
191
|
export { queryCodecs, useQueryState, useQueryStates, type QueryCodec, type QueryCodecs, } from './config/query-state';
|
|
189
192
|
export { mergeStyles, partAttrs, useRecipe, type ComponentStyles, type PartAttrs, type PartLayer, type StyleLayers, } from './config/styles';
|
|
@@ -205,6 +208,7 @@ export { sakuraColors, sakuraRadii, sakuraShadows, sakuraTheme } from './config/
|
|
|
205
208
|
export { defineTheme, readToken, resolveTheme, themeAttrs, themeVariables, tokenValue, type ColorSchemes, type GroupTheme, type Theme, type ThemeInput, type ThemeOverrides, } from './config/theme/theme';
|
|
206
209
|
import './config/theme/token-names';
|
|
207
210
|
export { t } from './config/theme/tokens';
|
|
211
|
+
export { createLayoutPreference, DEFAULT_LAYOUT_HEIGHT, DEFAULT_LAYOUT_STORAGE_KEY, DEFAULT_LAYOUT_WIDTH, LAYOUT_MODES, LAYOUT_SIDES, type LayoutMode, type LayoutPreference, type LayoutPreferenceOptions, type LayoutSide, type LayoutState, } from './config/layout/preference';
|
|
208
212
|
export { enUS } from './config/lang/en-US';
|
|
209
213
|
export { useFormat, type NumericFormat, type RelativeFormatOptions } from './config/lang/format';
|
|
210
214
|
export { defineLang, type Directions, type ErrorCodeText, type HourCycles, type Lang, type LangMessages, } from './config/lang/lang';
|
|
@@ -225,7 +229,7 @@ export { caretAnchor, caretRect } from './utils/dom/caret';
|
|
|
225
229
|
export { useClipboard, type ClipboardOptions, type ClipboardState } from './utils/dom/clipboard';
|
|
226
230
|
export { inlineArrows, isRtl, type InlineArrows } from './utils/dom/direction';
|
|
227
231
|
export { downloadFile, pickFile } from './utils/dom/download';
|
|
228
|
-
export { toElement } from './utils/dom/element';
|
|
232
|
+
export { isHTMLElement, toElement } from './utils/dom/element';
|
|
229
233
|
export { useEventListener, type ListenerTarget } from './utils/dom/event-listener';
|
|
230
234
|
export { anchoredPanelSx, anchorFloating, createAnchoredLayer, floatingStyles, pointAnchor, useAnchoredPopover, type Anchored, type AnchoredLayer, type AnchoredPopoverEvents, type AnchoredPopoverState, type FloatingAnchor, type FloatingOptions, type FloatingPlacement, type FloatingPlacements, type RestoreFocus, } from './utils/dom/floating';
|
|
231
235
|
export { focusAfterRemoval, focusControl, focusFirst, focusOrigin, returnFocus, trapFocus, } from './utils/dom/focus';
|
|
@@ -237,6 +241,7 @@ export { useIntersectionObserver, type IntersectionOptions } from './utils/dom/i
|
|
|
237
241
|
export { batchLayout } from './utils/dom/layout-batch';
|
|
238
242
|
export { externalLinkAttrs, shouldRouteClick, useRouterLink, type RouterLink, } from './utils/dom/link';
|
|
239
243
|
export { useMediaQuery, usePrefersDark, useReducedMotion } from './utils/dom/media-query';
|
|
244
|
+
export { useMounted } from './utils/dom/mounted';
|
|
240
245
|
export { startMove, type MoveOptions, type MovePoint } from './utils/dom/move';
|
|
241
246
|
export { openSetter, type OpenChangeDetails, type OpenChangeProps, type OpenChangeReasons, type SetOpen, } from './utils/dom/open-change';
|
|
242
247
|
export { fitCount, useOverflowItems, type OverflowItems, type OverflowItemsOptions, } from './utils/dom/overflow';
|
|
@@ -260,7 +265,7 @@ export { sameValue } from './utils/data/equality';
|
|
|
260
265
|
export { createHistory, type History, type HistoryCommitOptions, type HistoryGesture, type HistoryOptions, } from './utils/data/history';
|
|
261
266
|
export { cachedIntl } from './utils/data/intl-cache';
|
|
262
267
|
export { normalizeNumber, parseNumber } from './utils/data/number-parse';
|
|
263
|
-
export { clamp, snapToStep } from './utils/data/number';
|
|
268
|
+
export { clamp, snapToStep, svgNumber } from './utils/data/number';
|
|
264
269
|
export { addNumeric, compareDecimalText, compareNumeric, decimalTextOf, isDecimal, isNumeric, isNumericText, multiplyNumeric, numericKind, numericText, sameNumeric, shiftDecimal, snapNumeric, toNumber, toNumericKind, type NumericKind, type NumericValue, } from './utils/data/numeric';
|
|
265
270
|
export { paginationItems, type PaginationEllipsis, type PaginationOptions, } from './utils/data/pagination';
|
|
266
271
|
export { selectedValues, toggleSelection, type MultipleSelectionProps, type SelectionModes, type SelectionOptions, type SelectionProps, type SingleSelectionProps, } from './utils/data/selection';
|
|
@@ -271,7 +276,7 @@ export { addWorkdays, createWorkCalendar, deadlineOf, useWorkCalendar, weekdayCa
|
|
|
271
276
|
export { useVirtualizer, type UseVirtualizerOptions, type VirtualView, } from './utils/virtual/use-virtualizer';
|
|
272
277
|
export { computeMeasurements, defaultRangeExtractor, findVisibleRange, isWindow, Virtualizer, type ExtractorRange, type ScrollAligns, type VirtualItem, type VirtualizerOptions, type VirtualScrollOptions, type VisibleRange, } from './utils/virtual/virtualizer';
|
|
273
278
|
export { codeText, errorCodeOf, errorCodeText, errorMessage, useErrorMessage, } from './utils/request/error-message';
|
|
274
|
-
export { createHttpClient, HTTP_ERROR_CODES, HttpError, isAbortError, OK_CODE, scopeHttp, useHttp, type ApiEnvelope, type ApiErrorDetail, type FetchClient, type HttpClient, type HttpClientOptions, type HttpErrorCode, type HttpErrorContext, type HttpMethod, type HttpRequest, type QueryValue, } from './utils/request/http';
|
|
279
|
+
export { createHttpClient, HTTP_ERROR_CODES, HttpError, isAbortError, OK_CODE, scopeHttp, useHttp, type ApiEnvelope, type ApiErrorDetail, type FetchClient, type HttpClient, type HttpClientOptions, type HttpErrorCode, type HttpErrorContext, type HttpMethod, type HttpRequest, type HttpWire, type QueryValue, } from './utils/request/http';
|
|
275
280
|
export { useAutosave, type Autosave, type AutosaveOptions, type AutosaveStatus, } from './utils/request/use-autosave';
|
|
276
281
|
export { useRequest, type RequestOptions, type RequestState } from './utils/request/use-request';
|
|
277
282
|
export { fromWire, toWire, wireText, type WireReviveOptions, type WireScalar, type WireType, type WireTypes, } from './utils/request/wire';
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { cachedIntl } from "./utils/data/intl-cache.js";
|
|
2
|
-
import { clamp, snapToStep } from "./utils/data/number.js";
|
|
2
|
+
import { clamp, snapToStep, svgNumber } from "./utils/data/number.js";
|
|
3
3
|
import { addNumeric, compareDecimalText, compareNumeric, decimalTextOf, isDecimal, isNumeric, isNumericText, multiplyNumeric, numericKind, numericText, sameNumeric, shiftDecimal, snapNumeric, toNumber, toNumericKind } from "./utils/data/numeric.js";
|
|
4
4
|
import { createComparer, createMatcher, isDateValue, sortByValue, sortByValues } from "./utils/data/collation.js";
|
|
5
5
|
import { zhCN } from "./config/lang/zh-CN.js";
|
|
6
6
|
import { t } from "./config/theme/tokens.js";
|
|
7
7
|
import { defaultFonts, defaultRadii, lightColors, lightShadows, lightTheme } from "./config/theme/light.js";
|
|
8
|
-
import { ConfigContext, defaultConfig, useConfig, useLang, useTextMatcher } from "./config/context.js";
|
|
8
|
+
import { ConfigContext, defaultConfig, useCan, useConfig, useLang, useTextMatcher } from "./config/context.js";
|
|
9
9
|
import { mergeDefaults, useDefaults } from "./config/defaults.js";
|
|
10
10
|
import { applyStyleAttrs, dataAttrs, defaultLabelledBy, elementProps, hasContent, mergeAttrs, mergePartProps, mergeProps } from "./utils/props.js";
|
|
11
11
|
import { fontSizeStyles, fontWeightStyles, lineClampStyles, relativeFontSizeStyles, textAlignStyles, textStyles, textWrapStyles, toneStyles } from "./utils/style/typography.js";
|
|
@@ -27,6 +27,9 @@ import { ButtonGroupContext, buttonBaseStyles, buttonContent, buttonPart, button
|
|
|
27
27
|
import { Button } from "./base/Button.js";
|
|
28
28
|
import { ButtonBase } from "./base/ButtonBase.js";
|
|
29
29
|
import { ButtonGroup, buttonGroupStyles } from "./base/ButtonGroup.js";
|
|
30
|
+
import { Can } from "./base/Can.js";
|
|
31
|
+
import { useMounted } from "./utils/dom/mounted.js";
|
|
32
|
+
import { ClientOnly } from "./base/ClientOnly.js";
|
|
30
33
|
import { IconButton } from "./base/IconButton.js";
|
|
31
34
|
import { ClearButton, CloseButton, createPresetIconButton } from "./base/CloseButton.js";
|
|
32
35
|
import { Code, codeStyles } from "./base/Code.js";
|
|
@@ -53,7 +56,7 @@ import { LinkButton } from "./base/LinkButton.js";
|
|
|
53
56
|
import { List, ListContext, ListItem, OrderedList, listStylesProse } from "./base/List.js";
|
|
54
57
|
import { Mark, markStyles } from "./base/Mark.js";
|
|
55
58
|
import { StatusDot, statusDotDynamicStyles, statusDotStyles, statusDotToneStyles } from "./base/StatusDot.js";
|
|
56
|
-
import { toElement } from "./utils/dom/element.js";
|
|
59
|
+
import { isHTMLElement, toElement } from "./utils/dom/element.js";
|
|
57
60
|
import { useDismissible, useLazyContent, usePresence } from "./utils/motion/presence.js";
|
|
58
61
|
import { childNodes, plainText } from "./utils/data/text.js";
|
|
59
62
|
import { Tag, tagStyles } from "./base/Tag.js";
|
|
@@ -146,7 +149,7 @@ import { ToastItem, Toaster, createToaster, toastCountdownStyles, toastPlacement
|
|
|
146
149
|
import { CharacterCount, characterCountStyles } from "./input/CharacterCount.js";
|
|
147
150
|
import { clickOnShell, controlAffix, controlClear, controlIcon, controlParts, focusOnShell, inputRecipe, useControlAppearance } from "./input/control.js";
|
|
148
151
|
import { Textarea, textareaRowStyles, textareaStyles } from "./input/Textarea.js";
|
|
149
|
-
import { useDetachedDialog, useDetachedOverlay } from "./overlay/detached.js";
|
|
152
|
+
import { useDetachedDialog, useDetachedOverlay, useDetachedRender } from "./overlay/detached.js";
|
|
150
153
|
import { ModalCore, modalPartStyles } from "./overlay/ModalCore.js";
|
|
151
154
|
import { Dialog, dialogRecipe, useDialog } from "./overlay/Dialog.js";
|
|
152
155
|
import { AlertDialog, useConfirm } from "./overlay/AlertDialog.js";
|
|
@@ -164,6 +167,7 @@ import { Breadcrumbs, breadcrumbsStyles } from "./navigation/Breadcrumbs.js";
|
|
|
164
167
|
import { fitCount, useOverflowItems } from "./utils/dom/overflow.js";
|
|
165
168
|
import { NavBar, navBarStyles } from "./navigation/NavBar.js";
|
|
166
169
|
import { NavCompactContext, NavGroup, NavGroupContext, NavItem, NavList, NavSection, navListStyles } from "./navigation/NavList.js";
|
|
170
|
+
import { NavMenu } from "./navigation/NavMenu.js";
|
|
167
171
|
import { FormValue, formValueText } from "./form/FormValue.js";
|
|
168
172
|
import { normalizeNumber, parseNumber } from "./utils/data/number-parse.js";
|
|
169
173
|
import { NumberField } from "./input/NumberField.js";
|
|
@@ -273,6 +277,7 @@ import { sakuraColors, sakuraRadii, sakuraShadows, sakuraTheme } from "./config/
|
|
|
273
277
|
import { builtinThemeLabel, builtinThemes } from "./config/theme/builtin.js";
|
|
274
278
|
import { revealTransition } from "./utils/motion/reveal.js";
|
|
275
279
|
import { createThemePreference } from "./config/theme/preference.js";
|
|
280
|
+
import { DEFAULT_LAYOUT_HEIGHT, DEFAULT_LAYOUT_STORAGE_KEY, DEFAULT_LAYOUT_WIDTH, LAYOUT_MODES, LAYOUT_SIDES, createLayoutPreference } from "./config/layout/preference.js";
|
|
276
281
|
import { enUS } from "./config/lang/en-US.js";
|
|
277
282
|
import { useMessages } from "./config/lang/messages.js";
|
|
278
283
|
import { downloadFile, pickFile } from "./utils/dom/download.js";
|
|
@@ -282,4 +287,4 @@ import { createHistory } from "./utils/data/history.js";
|
|
|
282
287
|
import { createStatusMap } from "./utils/data/status.js";
|
|
283
288
|
import { addWorkdays, createWorkCalendar, deadlineOf, useWorkCalendar, weekdayCalendar, workdaysBetween } from "./utils/data/workdays.js";
|
|
284
289
|
import { useAutosave } from "./utils/request/use-autosave.js";
|
|
285
|
-
export { Accordion, AccordionContext, AccordionItem, Affix, Alert, AlertDialog, AnimatedNumber, AsideLayout, AttachedContext, Autocomplete, Avatar, AvatarGroup, AvatarGroupContext, BackTop, Badge, Banner, Blockquote, Breadcrumbs, Button, ButtonBase, ButtonGroup, ButtonGroupContext, COLUMN_FLEX_MIN_WIDTH, COLUMN_MIN_WIDTH, CONTRAST_AA, Calendar, CalendarBoard, CalendarView, Card, Cascader, CharacterCount, Checkbox, CheckboxGroup, CheckboxGroupContext, Checklist, ClearButton, CloseButton, Code, CodeBlock, Collapse, Collapsible, ColorField, ColumnFilterButton, ColumnMenuButton, ColumnResizer, ColumnSettings, ColumnTable, Combobox, CommandPalette, ConditionBuilder, ConfigContext, ConfigScope, Container, ContextMenu, ControlGroup, CopyButton, Countdown, DEFAULT_THEME_STORAGE_KEY, DataTable, DataTableDetailRow, DataTableRow, DataTableView, DateField, DatePicker, DateRangePicker, DateSegmentGroup, DateTime, Descriptions, Dialog, Drawer, Ellipsis, Em, Empty, Field, FieldCompare, FieldContext, FieldLayoutContext, FileDrop, Flex, FlexList, FlexOrderedList, Form, FormContext, FormErrorSummary, FormSection, FormValue, Gauge, Grid, GridItem, GridList, GridListItem, H1, H2, H3, H4, H5, H6, HTTP_ERROR_CODES, HoverCard, HttpError, Icon, IconButton, IconLinkButton, Image, ImageGroup, Indicator, ItemList, ItemListItem, Kbd, Label, Lightbox, Link, LinkButton, List, ListContext, ListItem, ListPopover, Listbox, ListboxView, LoadingBar, LoadingOverlay, Mark, Marquee, MentionText, Mentions, Menu, MenuCheckboxItem, MenuContext, MenuGroup, MenuItem, MenuLinkItem, MenuRadioGroup, MenuRadioGroupContext, MenuRadioItem, MenuSub, ModalCore, NavBar, NavCompactContext, NavGroup, NavGroupContext, NavItem, NavList, NavSection, NumberField, NumberRangeField, OK_CODE, OrderedList, OtpField, OverlayScrollbar, PageJump, PageScrollbar, PageSizeSelect, Pager, Pagination, PaginationBar, Paragraph, PeoplePicker, PeoplePickerPanel, PivotTable, Popconfirm, Popover, Progress, ProportionBar, Prose, Provider, QuarterCalendar, Radio, RadioGroup, RadioGroupContext, RangeCalendar, Rating, RelativeTime, ResizeHandle, Result, SHIMMER_STAGGER, SYSTEM_THEME, ScrollArea, SegmentedField, Select, SelectedTags, SelectionBar, Separator, Skeleton, SkeletonText, SkipLink, Slider, Small, Sortable, Sparkline, Spinner, Splitter, Stat, StatGroup, StatusBadge, StatusDot, Steps, Strong, Switch, Tab, TabList, TabPanel, Table, TableBody, TableCaption, TableCell, TableContext, TableFoot, TableHead, TableHeaderCell, TableOfContents, TableRow, TableSectionContext, Tabs, TabsContext, Tag, TagsInput, Text, TextField, Textarea, TimeField, TimePicker, Timeline, ToastItem, Toaster, ToggleGroup, ToggleGroupContext, ToggleItem, Toolbar, ToolbarContext, Tooltip, Tour, Transfer, Tree, TreeDataTable, TreeSelect, TreeTransfer, Upload, ViewportFill, VirtualList, Virtualizer, VisuallyHidden, Watermark, accordionStyles, activeOptionId, addNumeric, addWorkdays, affixPositionStyles, affixStyles, afterTransitions, alertRecipe, anchorFloating, anchoredPanelSx, animatedNumberStyles, announce, applyStyleAttrs, ariaKeyShortcut, arrangeColumns, asideLayoutDynamicStyles, asideLayoutStyles, attachedStyles, avatarGroupStyles, avatarRecipe, backTopStyles, backgroundOf, badgeParts, badgeRecipe, bankCardFormat, bannerStyles, batchLayout, bigintSchema, blockquoteStyles, breadcrumbsStyles, buildTree, builtinThemeBootColors, builtinThemeLabel, builtinThemes, buttonBaseStyles, buttonContent, buttonGroupStyles, buttonPart, buttonRecipe, buttonStyles, buttonSx, cachedIntl, calendarBoardStyles, calendarOf, calendarStyles, cardEffectDynamicStyles, cardRecipe, caretAnchor, caretRect, cascaderStyles, characterCountStyles, checkStates, checkboxStyles, checkedByStrategy, checklistStatusStyles, checklistStyles, childNodes, choiceInputStyles, choiceParts, choiceRecipe, clamp, clampDate, clampPan, clickOnShell, cloneValue, codeBlockDynamicStyles, codeBlockStyles, codeStyles, codeText, coffeeColors, coffeeTheme, collapseStyles, collectHeadings, colorFieldDynamicStyles, colorFieldStyles, columnAlign, columnFilter, columnGapStyles, columnHeaderActionStyles, columnSettingsStyles, columnTableStyles, columnType, columnValue, comboboxStyles, commandPaletteStyles, compareDates, compareDecimalText, compareNumeric, computeMeasurements, conditionBuilderStyles, conditionOperators, containerPaddingStyles, containerSizeStyles, containerStyles, contrastRatio, controlAffix, controlClear, controlGroupStyles, controlIcon, controlParts, copyButtonStyles, countdownParts, countdownStyles, createAnchoredLayer, createComparer, createConstraints, createContainer, createFlex, createGrid, createGridItem, createGroupedFormat, createHeading, createHistory, createHoverGroup, createHttpClient, createLoadingBar, createMatcher, createPresetIconButton, createStatusMap, createText, createThemePreference, createToaster, createTypeahead, createUi, createWorkCalendar, cyberpunkColors, cyberpunkFonts, cyberpunkRadii, cyberpunkShadows, cyberpunkTheme, darkColors, darkShadows, darkTheme, dataAttrs, dataTableDynamicStyles, dataTableRecipe, dataTableRowToneStyles, dataTableStateStyles, datePickerStyles, dateRangePickerStyles, dateSegmentStyles, dateUnitOf, dayRangeBounds, daysBetween, deadlineOf, decimalSchema, decimalTextOf, defaultConfig, defaultFonts, defaultLabelledBy, defaultRadii, defaultRangeExtractor, defineLang, defineTheme, describeCondition, descriptionsGridStyles, descriptionsStyles, dialogRecipe, diffFields, disclosureStyles, dismissOnBackdrop, displayPosition, documentStyles, downloadFile, drawerRecipe, elementProps, ellipsisStyles, emptyRecipe, enUS, errorCodeOf, errorCodeText, errorMessage, existingUploadFile, externalLinkAttrs, festiveColors, festiveShadows, festiveTheme, fieldColumnStyles, fieldCompareStyles, fieldStyles, fieldsToIso, fileDropStyles, filterOptions, filterRows, filterTree, findVisibleRange, firstSegmentOf, fitCount, fitTransform, flattenTree, flexAlignStyles, flexJustifyStyles, flexStyles, floatingStyles, focusAfterRemoval, focusCalendar, focusControl, focusFirst, focusOnShell, focusOrigin, focusRingStyles, fontSizeStyles, fontWeightStyles, forestColors, forestShadows, forestTheme, formErrorSummaryStyles, formSectionColumnStyles, formSectionStyles, formValueText, formatCell, formatConditionValue, formatHotkey, formatSorts, fromWire, fullIsoDay, gapStyles, gaugeStyles, gridAlignStyles, gridDynamicStyles, gridFlowStyles, gridFocus, gridItemDynamicStyles, gridItemStyles, gridJustifyStyles, gridStyles, handleCalendarKeydown, handleListKeydown, handleSegmentKeydown, hasContent, hasTimeOf, headerLayout, headingMarker, headingStyles, highContrastColors, highContrastRadii, highContrastShadows, highContrastTheme, hoverCardStyles, iconMarkup, iconStyles, idCardFormat, idCardSchema, imageDynamicStyles, imageFitStyles, imageGroupStyles, imageStyles, indexTree, indicatorRecipe, initials, inlineArrows, inputRecipe, interactionTransitions, isAbortError, isApplePlatform, isCellEditable, isComposingKey, isConditionGroup, isDateDisabled, isDateValue, isDecimal, isEditable, isExpandable, isInRange, isNumeric, isNumericText, isOutOfRange, isOutsideDecade, isPeriodDisabled, isRtl, isRuleComplete, isSameDate, isTimeGranularity, isValidIdCard, isWindow, isoDayOfWeek, isoToFields, isoToValue, isoWeekOf, isoWeeksInYear, itemListStyles, itemStyles, kbdStyles, labelStyles, lastIsoDay, lemonColors, lemonRadii, lemonShadows, lemonTheme, lightColors, lightShadows, lightTheme, lightboxDynamicStyles, lightboxStyles, lineClampStyles, linkRecipe, listPopoverStyles, listRole, listStyles, listStylesProse, listboxPositionStyles, listboxStyles, loadingBarScaleStyles, loadingBarStyles, loadingOverlayStyles, localPeopleSource, lockScroll, machineDateTime, markStyles, marqueeDynamicStyles, marqueeStyles, marqueeTrailStyles, matchesAccept, matchesCondition, matchesHotkey, mentionSegments, mentionStyles, mentionedValues, menuItemContent, menuItemDescribedBy, menuItemSx, menuStyles, mergeAttrs, mergeDefaults, mergePartProps, mergeProps, mergeStyles, midnightColors, midnightTheme, modalPartStyles, monthGrid, monthsOfYear, moveNode, multiplyNumeric, navBarStyles, navListStyles, needsValue, nextSort, nextSorts, normalizeNumber, numberRangeFieldStyles, numericKind, numericText, oceanColors, oceanRadii, oceanShadows, oceanTheme, openModalDialog, openSetter, operatorLabel, operatorsOf, orderedRange, otpFieldStyles, paddingInlineStyles, pageJumpStyles, pageScrollbarStyles, pageSizeSelectStyles, pagerStyles, paginationBarStyles, paginationItems, paginationStyles, paperColors, paperFonts, paperShadows, paperTheme, parseColor, parseCsv, parseDuration, parseHotkey, parseIsoDate, parseIsoDateTime, parseIsoRange, parseIsoTime, parseLineSpec, parseNumber, parseSorts, partAttrs, peopleKey, peoplePickerPanelDynamicStyles, peoplePickerPanelStyles, phoneFormat, phoneSchema, pickFile, pickerPresetStyles, pivot, pivotTableStyles, plainText, pointAnchor, popconfirmStyles, popoverStyles, presenceStyles, presetIsoRange, presetRange, progressRecipe, progressTargetPositionStyles, progressWidthStyles, proportionBarDynamicStyles, proportionBarStyles, proseStyles, provideFieldLayout, provideGridColumns, providerStyles, queryCodecs, radioStyles, radiusStyles, rangeDays, rangeHasUnavailable, rasterizeSvg, ratingClipStyles, ratingStyles, ratingToneStyles, readCsvFile, readToken, readableText, readonlyChoiceHandlers, relativeFontSizeStyles, relativeUnit, renderPickerPresets, repeatedRowSpans, resizeHandleStyles, resolveTheme, resultRecipe, returnFocus, revealTransition, rippleHostStyles, ripplePlacementStyles, rippleStyles, rovingFocus, rowGapStyles, rowLabel, sakuraColors, sakuraRadii, sakuraShadows, sakuraTheme, sameNumeric, sameStickyOffsets, sameValue, scopeHttp, scrollAreaBarStyles, scrollAreaStyles, segmentFields, segmentedFieldStyles, selectStyles, selectedTagsStyles, selectedValues, selectionBarStyles, separatorStyles, sheetFromMatrix, shiftDecimal, shiftIsoDate, shimmerStyles, shouldRouteClick, skeletonStyles, skeletonTextStyles, skeletonVariantStyles, skipLinkStyles, sliderPositionStyles, sliderStyles, snapNumeric, snapToStep, sortByValue, sortByValues, sortList, sortRows, sortableStyles, sparklineStyles, spinnerStyles, splitterDynamicStyles, splitterStyles, startMove, startRipple, statGroupDynamicStyles, statGroupStyles, statStyles, statusDotDynamicStyles, statusDotStyles, statusDotToneStyles, statusIcons, statusToneBorderStyles, statusToneStyles, statusToneSx, stepsStateStyles, stepsStyles, stickyOffsets, sumColumn, swatchStyles, switchStyles, syncChecked, t, tabListStyles, tabPanelStyles, tabRecipe, tableDynamicStyles, tableMinWidth, tableOfContentsStyles, tableParams, tableRecipe, tableToCsv, tabsStyles, tagStyles, tagsInputStyles, textAlignStyles, textComponentStyles, textStyles, textWrapStyles, textareaRowStyles, textareaStyles, themeAttrs, themeBootScript, themeTransition, themeTransitionOrInstant, themeVariables, timePickerStyles, timelineStyles, timelineToneStyles, toDateLimits, toDayOfWeek, toElement, toHex, toInstant, toIsoDate, toIsoDateTime, toIsoQuarter, toIsoRange, toIsoTime, toIsoWeek, toListboxOption, toNumber, toNumericKind, toPeopleValue, toText, toTime, toWire, toastCountdownStyles, toastPlacementStyles, toastStackStyles, toastStyles, todayIso, toggleChecked, toggleGroupStyles, toggleSelection, tokenValue, toneFillStyles, toneStyles, toolbarStyles, tooltipStyles, topModal, tourDynamicStyles, tourStyles, trackModal, transferStyles, transitions, trapFocus, treeDataTableIndentStyles, treeDataTableStyles, treeDynamicStyles, treePath, treeSelectStyles, treeStyles, truncateDate, uploadDynamicStyles, uploadStyles, useActiveIndicator, useAnchoredPopover, useAnimate, useAutosave, useButtonAppearance, useButtonBehavior, useCalendarState, useChoiceAppearance, useClipboard, useColumnDisplay, useConfig, useConfirm, useControlAppearance, useDateLocale, useDateSegments, useDefaults, useDelayedLoading, useDetachedDialog, useDetachedOverlay, useDialog, useDismissible, useDrawer, useErrorMessage, useEventListener, useFieldControl, useFieldSegments, useForm, useFormReset, useFormat, useFullscreen, useHotkeys, useHoverIntent, useHoverLayer, useHttp, useIntersectionObserver, useLang, useLayoutAnimation, useLazyContent, useLeaveConfirmation, useListState, useMediaQuery, useMenuItem, useMenuItemContentIds, useMessages, useNow, useOverflowItems, usePageVisible, usePanZoom, usePersistentState, usePickerPopover, usePointer, usePrefersDark, usePresence, useQueryState, useQueryStates, useRecipe, useReducedMotion, useRemoteItems, useRequest, useResizeObserver, useResultAnnouncement, useRipple, useRouterLink, useScrollSpy, useSelectedOptions, useSortable, useSpring, useTableQuery, useTextMatcher, useTreeExpansion, useTween, useVirtualizer, useWorkCalendar, valueShape, valueToIso, viewportFillDynamicStyles, viewportFillStyles, virtualListSizeStyles, virtualListStyles, visuallyHiddenStyles, watermarkStyles, watermarkTileStyles, weekOfYear, weekdayCalendar, weekdayNames, wireText, withAlpha, workdaysBetween, writeDateLike, yearsOfDecade, zhCN, zoomAround };
|
|
290
|
+
export { Accordion, AccordionContext, AccordionItem, Affix, Alert, AlertDialog, AnimatedNumber, AsideLayout, AttachedContext, Autocomplete, Avatar, AvatarGroup, AvatarGroupContext, BackTop, Badge, Banner, Blockquote, Breadcrumbs, Button, ButtonBase, ButtonGroup, ButtonGroupContext, COLUMN_FLEX_MIN_WIDTH, COLUMN_MIN_WIDTH, CONTRAST_AA, Calendar, CalendarBoard, CalendarView, Can, Card, Cascader, CharacterCount, Checkbox, CheckboxGroup, CheckboxGroupContext, Checklist, ClearButton, ClientOnly, CloseButton, Code, CodeBlock, Collapse, Collapsible, ColorField, ColumnFilterButton, ColumnMenuButton, ColumnResizer, ColumnSettings, ColumnTable, Combobox, CommandPalette, ConditionBuilder, ConfigContext, ConfigScope, Container, ContextMenu, ControlGroup, CopyButton, Countdown, DEFAULT_LAYOUT_HEIGHT, DEFAULT_LAYOUT_STORAGE_KEY, DEFAULT_LAYOUT_WIDTH, DEFAULT_THEME_STORAGE_KEY, DataTable, DataTableDetailRow, DataTableRow, DataTableView, DateField, DatePicker, DateRangePicker, DateSegmentGroup, DateTime, Descriptions, Dialog, Drawer, Ellipsis, Em, Empty, Field, FieldCompare, FieldContext, FieldLayoutContext, FileDrop, Flex, FlexList, FlexOrderedList, Form, FormContext, FormErrorSummary, FormSection, FormValue, Gauge, Grid, GridItem, GridList, GridListItem, H1, H2, H3, H4, H5, H6, HTTP_ERROR_CODES, HoverCard, HttpError, Icon, IconButton, IconLinkButton, Image, ImageGroup, Indicator, ItemList, ItemListItem, Kbd, LAYOUT_MODES, LAYOUT_SIDES, Label, Lightbox, Link, LinkButton, List, ListContext, ListItem, ListPopover, Listbox, ListboxView, LoadingBar, LoadingOverlay, Mark, Marquee, MentionText, Mentions, Menu, MenuCheckboxItem, MenuContext, MenuGroup, MenuItem, MenuLinkItem, MenuRadioGroup, MenuRadioGroupContext, MenuRadioItem, MenuSub, ModalCore, NavBar, NavCompactContext, NavGroup, NavGroupContext, NavItem, NavList, NavMenu, NavSection, NumberField, NumberRangeField, OK_CODE, OrderedList, OtpField, OverlayScrollbar, PageJump, PageScrollbar, PageSizeSelect, Pager, Pagination, PaginationBar, Paragraph, PeoplePicker, PeoplePickerPanel, PivotTable, Popconfirm, Popover, Progress, ProportionBar, Prose, Provider, QuarterCalendar, Radio, RadioGroup, RadioGroupContext, RangeCalendar, Rating, RelativeTime, ResizeHandle, Result, SHIMMER_STAGGER, SYSTEM_THEME, ScrollArea, SegmentedField, Select, SelectedTags, SelectionBar, Separator, Skeleton, SkeletonText, SkipLink, Slider, Small, Sortable, Sparkline, Spinner, Splitter, Stat, StatGroup, StatusBadge, StatusDot, Steps, Strong, Switch, Tab, TabList, TabPanel, Table, TableBody, TableCaption, TableCell, TableContext, TableFoot, TableHead, TableHeaderCell, TableOfContents, TableRow, TableSectionContext, Tabs, TabsContext, Tag, TagsInput, Text, TextField, Textarea, TimeField, TimePicker, Timeline, ToastItem, Toaster, ToggleGroup, ToggleGroupContext, ToggleItem, Toolbar, ToolbarContext, Tooltip, Tour, Transfer, Tree, TreeDataTable, TreeSelect, TreeTransfer, Upload, ViewportFill, VirtualList, Virtualizer, VisuallyHidden, Watermark, accordionStyles, activeOptionId, addNumeric, addWorkdays, affixPositionStyles, affixStyles, afterTransitions, alertRecipe, anchorFloating, anchoredPanelSx, animatedNumberStyles, announce, applyStyleAttrs, ariaKeyShortcut, arrangeColumns, asideLayoutDynamicStyles, asideLayoutStyles, attachedStyles, avatarGroupStyles, avatarRecipe, backTopStyles, backgroundOf, badgeParts, badgeRecipe, bankCardFormat, bannerStyles, batchLayout, bigintSchema, blockquoteStyles, breadcrumbsStyles, buildTree, builtinThemeBootColors, builtinThemeLabel, builtinThemes, buttonBaseStyles, buttonContent, buttonGroupStyles, buttonPart, buttonRecipe, buttonStyles, buttonSx, cachedIntl, calendarBoardStyles, calendarOf, calendarStyles, cardEffectDynamicStyles, cardRecipe, caretAnchor, caretRect, cascaderStyles, characterCountStyles, checkStates, checkboxStyles, checkedByStrategy, checklistStatusStyles, checklistStyles, childNodes, choiceInputStyles, choiceParts, choiceRecipe, clamp, clampDate, clampPan, clickOnShell, cloneValue, codeBlockDynamicStyles, codeBlockStyles, codeStyles, codeText, coffeeColors, coffeeTheme, collapseStyles, collectHeadings, colorFieldDynamicStyles, colorFieldStyles, columnAlign, columnFilter, columnGapStyles, columnHeaderActionStyles, columnSettingsStyles, columnTableStyles, columnType, columnValue, comboboxStyles, commandPaletteStyles, compareDates, compareDecimalText, compareNumeric, computeMeasurements, conditionBuilderStyles, conditionOperators, containerPaddingStyles, containerSizeStyles, containerStyles, contrastRatio, controlAffix, controlClear, controlGroupStyles, controlIcon, controlParts, copyButtonStyles, countdownParts, countdownStyles, createAnchoredLayer, createComparer, createConstraints, createContainer, createFlex, createGrid, createGridItem, createGroupedFormat, createHeading, createHistory, createHoverGroup, createHttpClient, createLayoutPreference, createLoadingBar, createMatcher, createPresetIconButton, createStatusMap, createText, createThemePreference, createToaster, createTypeahead, createUi, createWorkCalendar, cyberpunkColors, cyberpunkFonts, cyberpunkRadii, cyberpunkShadows, cyberpunkTheme, darkColors, darkShadows, darkTheme, dataAttrs, dataTableDynamicStyles, dataTableRecipe, dataTableRowToneStyles, dataTableStateStyles, datePickerStyles, dateRangePickerStyles, dateSegmentStyles, dateUnitOf, dayRangeBounds, daysBetween, deadlineOf, decimalSchema, decimalTextOf, defaultConfig, defaultFonts, defaultLabelledBy, defaultRadii, defaultRangeExtractor, defineLang, defineTheme, describeCondition, descriptionsGridStyles, descriptionsStyles, dialogRecipe, diffFields, disclosureStyles, dismissOnBackdrop, displayPosition, documentStyles, downloadFile, drawerRecipe, elementProps, ellipsisStyles, emptyRecipe, enUS, errorCodeOf, errorCodeText, errorMessage, existingUploadFile, externalLinkAttrs, festiveColors, festiveShadows, festiveTheme, fieldColumnStyles, fieldCompareStyles, fieldStyles, fieldsToIso, fileDropStyles, filterOptions, filterRows, filterTree, findVisibleRange, firstSegmentOf, fitCount, fitTransform, flattenTree, flexAlignStyles, flexJustifyStyles, flexStyles, floatingStyles, focusAfterRemoval, focusCalendar, focusControl, focusFirst, focusOnShell, focusOrigin, focusRingStyles, fontSizeStyles, fontWeightStyles, forestColors, forestShadows, forestTheme, formErrorSummaryStyles, formSectionColumnStyles, formSectionStyles, formValueText, formatCell, formatConditionValue, formatHotkey, formatSorts, fromWire, fullIsoDay, gapStyles, gaugeStyles, gridAlignStyles, gridDynamicStyles, gridFlowStyles, gridFocus, gridItemDynamicStyles, gridItemStyles, gridJustifyStyles, gridStyles, handleCalendarKeydown, handleListKeydown, handleSegmentKeydown, hasContent, hasTimeOf, headerLayout, headingMarker, headingStyles, highContrastColors, highContrastRadii, highContrastShadows, highContrastTheme, hoverCardStyles, iconMarkup, iconStyles, idCardFormat, idCardSchema, imageDynamicStyles, imageFitStyles, imageGroupStyles, imageStyles, indexTree, indicatorRecipe, initials, inlineArrows, inputRecipe, interactionTransitions, isAbortError, isApplePlatform, isCellEditable, isComposingKey, isConditionGroup, isDateDisabled, isDateValue, isDecimal, isEditable, isExpandable, isHTMLElement, isInRange, isNumeric, isNumericText, isOutOfRange, isOutsideDecade, isPeriodDisabled, isRtl, isRuleComplete, isSameDate, isTimeGranularity, isValidIdCard, isWindow, isoDayOfWeek, isoToFields, isoToValue, isoWeekOf, isoWeeksInYear, itemListStyles, itemStyles, kbdStyles, labelStyles, lastIsoDay, lemonColors, lemonRadii, lemonShadows, lemonTheme, lightColors, lightShadows, lightTheme, lightboxDynamicStyles, lightboxStyles, lineClampStyles, linkRecipe, listPopoverStyles, listRole, listStyles, listStylesProse, listboxPositionStyles, listboxStyles, loadingBarScaleStyles, loadingBarStyles, loadingOverlayStyles, localPeopleSource, lockScroll, machineDateTime, markStyles, marqueeDynamicStyles, marqueeStyles, marqueeTrailStyles, matchesAccept, matchesCondition, matchesHotkey, mentionSegments, mentionStyles, mentionedValues, menuItemContent, menuItemDescribedBy, menuItemSx, menuStyles, mergeAttrs, mergeDefaults, mergePartProps, mergeProps, mergeStyles, midnightColors, midnightTheme, modalPartStyles, monthGrid, monthsOfYear, moveNode, multiplyNumeric, navBarStyles, navListStyles, needsValue, nextSort, nextSorts, normalizeNumber, numberRangeFieldStyles, numericKind, numericText, oceanColors, oceanRadii, oceanShadows, oceanTheme, openModalDialog, openSetter, operatorLabel, operatorsOf, orderedRange, otpFieldStyles, paddingInlineStyles, pageJumpStyles, pageScrollbarStyles, pageSizeSelectStyles, pagerStyles, paginationBarStyles, paginationItems, paginationStyles, paperColors, paperFonts, paperShadows, paperTheme, parseColor, parseCsv, parseDuration, parseHotkey, parseIsoDate, parseIsoDateTime, parseIsoRange, parseIsoTime, parseLineSpec, parseNumber, parseSorts, partAttrs, peopleKey, peoplePickerPanelDynamicStyles, peoplePickerPanelStyles, phoneFormat, phoneSchema, pickFile, pickerPresetStyles, pivot, pivotTableStyles, plainText, pointAnchor, popconfirmStyles, popoverStyles, presenceStyles, presetIsoRange, presetRange, progressRecipe, progressTargetPositionStyles, progressWidthStyles, proportionBarDynamicStyles, proportionBarStyles, proseStyles, provideFieldLayout, provideGridColumns, providerStyles, queryCodecs, radioStyles, radiusStyles, rangeDays, rangeHasUnavailable, rasterizeSvg, ratingClipStyles, ratingStyles, ratingToneStyles, readCsvFile, readToken, readableText, readonlyChoiceHandlers, relativeFontSizeStyles, relativeUnit, renderPickerPresets, repeatedRowSpans, resizeHandleStyles, resolveTheme, resultRecipe, returnFocus, revealTransition, rippleHostStyles, ripplePlacementStyles, rippleStyles, rovingFocus, rowGapStyles, rowLabel, sakuraColors, sakuraRadii, sakuraShadows, sakuraTheme, sameNumeric, sameStickyOffsets, sameValue, scopeHttp, scrollAreaBarStyles, scrollAreaStyles, segmentFields, segmentedFieldStyles, selectStyles, selectedTagsStyles, selectedValues, selectionBarStyles, separatorStyles, sheetFromMatrix, shiftDecimal, shiftIsoDate, shimmerStyles, shouldRouteClick, skeletonStyles, skeletonTextStyles, skeletonVariantStyles, skipLinkStyles, sliderPositionStyles, sliderStyles, snapNumeric, snapToStep, sortByValue, sortByValues, sortList, sortRows, sortableStyles, sparklineStyles, spinnerStyles, splitterDynamicStyles, splitterStyles, startMove, startRipple, statGroupDynamicStyles, statGroupStyles, statStyles, statusDotDynamicStyles, statusDotStyles, statusDotToneStyles, statusIcons, statusToneBorderStyles, statusToneStyles, statusToneSx, stepsStateStyles, stepsStyles, stickyOffsets, sumColumn, svgNumber, swatchStyles, switchStyles, syncChecked, t, tabListStyles, tabPanelStyles, tabRecipe, tableDynamicStyles, tableMinWidth, tableOfContentsStyles, tableParams, tableRecipe, tableToCsv, tabsStyles, tagStyles, tagsInputStyles, textAlignStyles, textComponentStyles, textStyles, textWrapStyles, textareaRowStyles, textareaStyles, themeAttrs, themeBootScript, themeTransition, themeTransitionOrInstant, themeVariables, timePickerStyles, timelineStyles, timelineToneStyles, toDateLimits, toDayOfWeek, toElement, toHex, toInstant, toIsoDate, toIsoDateTime, toIsoQuarter, toIsoRange, toIsoTime, toIsoWeek, toListboxOption, toNumber, toNumericKind, toPeopleValue, toText, toTime, toWire, toastCountdownStyles, toastPlacementStyles, toastStackStyles, toastStyles, todayIso, toggleChecked, toggleGroupStyles, toggleSelection, tokenValue, toneFillStyles, toneStyles, toolbarStyles, tooltipStyles, topModal, tourDynamicStyles, tourStyles, trackModal, transferStyles, transitions, trapFocus, treeDataTableIndentStyles, treeDataTableStyles, treeDynamicStyles, treePath, treeSelectStyles, treeStyles, truncateDate, uploadDynamicStyles, uploadStyles, useActiveIndicator, useAnchoredPopover, useAnimate, useAutosave, useButtonAppearance, useButtonBehavior, useCalendarState, useCan, useChoiceAppearance, useClipboard, useColumnDisplay, useConfig, useConfirm, useControlAppearance, useDateLocale, useDateSegments, useDefaults, useDelayedLoading, useDetachedDialog, useDetachedOverlay, useDetachedRender, useDialog, useDismissible, useDrawer, useErrorMessage, useEventListener, useFieldControl, useFieldSegments, useForm, useFormReset, useFormat, useFullscreen, useHotkeys, useHoverIntent, useHoverLayer, useHttp, useIntersectionObserver, useLang, useLayoutAnimation, useLazyContent, useLeaveConfirmation, useListState, useMediaQuery, useMenuItem, useMenuItemContentIds, useMessages, useMounted, useNow, useOverflowItems, usePageVisible, usePanZoom, usePersistentState, usePickerPopover, usePointer, usePrefersDark, usePresence, useQueryState, useQueryStates, useRecipe, useReducedMotion, useRemoteItems, useRequest, useResizeObserver, useResultAnnouncement, useRipple, useRouterLink, useScrollSpy, useSelectedOptions, useSortable, useSpring, useTableQuery, useTextMatcher, useTreeExpansion, useTween, useVirtualizer, useWorkCalendar, valueShape, valueToIso, viewportFillDynamicStyles, viewportFillStyles, virtualListSizeStyles, virtualListStyles, visuallyHiddenStyles, watermarkStyles, watermarkTileStyles, weekOfYear, weekdayCalendar, weekdayNames, wireText, withAlpha, workdaysBetween, writeDateLike, yearsOfDecade, zhCN, zoomAround };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FormValue } from "../form/FormValue.js";
|
|
2
2
|
import { Combobox } from "./Combobox.js";
|
|
3
|
-
import { Fragment, createVNode
|
|
4
|
-
import { _component, bindable, readonlyProp, restProps } from "@zerodep-dev/vue-tsx-pro-tsx";
|
|
3
|
+
import { Fragment, createVNode } from "vue";
|
|
4
|
+
import { _component, bindable, mergeJsxProps, readonlyProp, restProps } from "@zerodep-dev/vue-tsx-pro-tsx";
|
|
5
5
|
//#region src/input/Autocomplete.tsx
|
|
6
6
|
/** 未声明的属性落到 input 上;选项、过滤、远程建议、外观同 Combobox */
|
|
7
7
|
/** 自动完成:带建议的输入框,值就是文字 */
|
|
@@ -10,7 +10,7 @@ var Autocomplete = /*#__PURE__*/ _component((_props, _ctx) => {
|
|
|
10
10
|
const value = bindable(_props, "_value", () => "", _ctx.emit);
|
|
11
11
|
const name = readonlyProp(_props, "name");
|
|
12
12
|
const rest = restProps(_props, _ctx, true);
|
|
13
|
-
return () => createVNode(Fragment, null, [createVNode(Combobox,
|
|
13
|
+
return () => createVNode(Fragment, null, [createVNode(Combobox, mergeJsxProps(rest, {
|
|
14
14
|
"_inputValue": value.value,
|
|
15
15
|
"onUpdate:_inputValue": _cache[0] || (_cache[0] = ($event) => value.value = $event),
|
|
16
16
|
"allowCustomValue": true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","names":["_vtp_bindable","_vtp_readonlyProp","_vtp_restProps","_createVNode","_Fragment","_mergeProps"],"sources":["../../src/input/Autocomplete.tsx"],"sourcesContent":["/**\n * 自动完成:值就是输入框里的文字,列表只是建议(邮箱后缀、常用地址、搜索历史、供应商名称)。\n * 选一项等于把它的文字填进来;不选也行,输入什么就是什么。要从固定的选项里选一个(值是选项的 value)时用 Combobox。\n *\n * <Field label=\"邮箱\"><Autocomplete _value={email} items={suggestions(email)} filter={false} /></Field>\n * <Autocomplete _value={keyword} load={(text, signal) => api.suggest(text, { signal })} aria-label=\"搜索\" />\n *\n * 建在 Combobox 上(allowCustomValue、不显示展开按钮):没有可选的建议时不弹出列表;↓ 打开建议,↑↓ 移动,\n * Enter 填入,Esc 关闭(关闭时再按 Esc 清空)。写了 name 时表单提交的是输入框里的文字。\n * 部件同 Combobox:Root(外壳)、Input(主元素)、Clear、Popover、Listbox。\n */\nimport { _component } from '@zerodep-dev/vue-tsx-pro-tsx';\nimport type { UpdateHandlers } from '@zerodep-dev/vue-tsx-pro-tsx/jsx-runtime';\nimport { Combobox, type ComboboxBaseProps, type ComboboxProps } from './Combobox';\nimport { FormValue } from '../form/FormValue';\nimport type { ListboxOption, OptionMapping } from './list-state';\nimport type { OptionsLoader } from './remote-items';\n\n/** 未声明的属性落到 input 上;选项、过滤、远程建议、外观同 Combobox */\nexport type AutocompleteProps<T = ListboxOption> = Omit<\n ComboboxBaseProps<T>,\n '_value' | '_inputValue' | 'allowCustomValue' | 'showToggle' | 'hideEmpty' | 'items' | 'load'\n> &\n OptionMapping<T> & {\n /** 输入框里的文字:父级写 _value={x};选一项建议就是把它的文字填进来 */\n _value?: string;\n /** 建议:ListboxOption、字符串,或任意数据加 toOption(直接写在这里,数据的类型才能从它推出来) */\n items?: readonly T[];\n /** 远程建议:输入停下 300 ms 后按输入调用,结果代替 items;只采用最后一次 */\n load?: OptionsLoader<T>;\n };\n\n/** 自动完成:带建议的输入框,值就是文字 */\nexport const Autocomplete = _component(\n <T,>({ _value: value = _bindable(''), name, ...rest }: AutocompleteProps<T>) =>\n () => (\n <>\n <Combobox\n {...(rest as ComboboxProps<T> & UpdateHandlers<ComboboxProps<T>>)}\n _inputValue={value}\n allowCustomValue\n showToggle={false}\n hideEmpty\n />\n <FormValue name={name} value={value || null} disabled={rest.disabled} />\n </>\n ),\n);\n"],"mappings":";;;;;;;AAiCA,IAAa,eAAe,0BAC1B,QAAA,SAAA;CAAA,MAAA,SAAA,CAAA;CAAA,MAAA,QAAAA,SAAA,QAAA,gBAAiC,IAAE,KAAA,IAAA;CAAA,MAAA,OAAAC,aAAA,QAAA,MAAA;CAAA,MAAY,OAAIC,UAAA,QAAA,MAAA,IAAA;CAAA,aACjDC,YAAAC,UAAA,MAAA,CAAAD,YAAA,UAAAE,
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","names":["_vtp_bindable","_vtp_readonlyProp","_vtp_restProps","_createVNode","_Fragment","_mergeProps"],"sources":["../../src/input/Autocomplete.tsx"],"sourcesContent":["/**\n * 自动完成:值就是输入框里的文字,列表只是建议(邮箱后缀、常用地址、搜索历史、供应商名称)。\n * 选一项等于把它的文字填进来;不选也行,输入什么就是什么。要从固定的选项里选一个(值是选项的 value)时用 Combobox。\n *\n * <Field label=\"邮箱\"><Autocomplete _value={email} items={suggestions(email)} filter={false} /></Field>\n * <Autocomplete _value={keyword} load={(text, signal) => api.suggest(text, { signal })} aria-label=\"搜索\" />\n *\n * 建在 Combobox 上(allowCustomValue、不显示展开按钮):没有可选的建议时不弹出列表;↓ 打开建议,↑↓ 移动,\n * Enter 填入,Esc 关闭(关闭时再按 Esc 清空)。写了 name 时表单提交的是输入框里的文字。\n * 部件同 Combobox:Root(外壳)、Input(主元素)、Clear、Popover、Listbox。\n */\nimport { _component } from '@zerodep-dev/vue-tsx-pro-tsx';\nimport type { UpdateHandlers } from '@zerodep-dev/vue-tsx-pro-tsx/jsx-runtime';\nimport { Combobox, type ComboboxBaseProps, type ComboboxProps } from './Combobox';\nimport { FormValue } from '../form/FormValue';\nimport type { ListboxOption, OptionMapping } from './list-state';\nimport type { OptionsLoader } from './remote-items';\n\n/** 未声明的属性落到 input 上;选项、过滤、远程建议、外观同 Combobox */\nexport type AutocompleteProps<T = ListboxOption> = Omit<\n ComboboxBaseProps<T>,\n '_value' | '_inputValue' | 'allowCustomValue' | 'showToggle' | 'hideEmpty' | 'items' | 'load'\n> &\n OptionMapping<T> & {\n /** 输入框里的文字:父级写 _value={x};选一项建议就是把它的文字填进来 */\n _value?: string;\n /** 建议:ListboxOption、字符串,或任意数据加 toOption(直接写在这里,数据的类型才能从它推出来) */\n items?: readonly T[];\n /** 远程建议:输入停下 300 ms 后按输入调用,结果代替 items;只采用最后一次 */\n load?: OptionsLoader<T>;\n };\n\n/** 自动完成:带建议的输入框,值就是文字 */\nexport const Autocomplete = _component(\n <T,>({ _value: value = _bindable(''), name, ...rest }: AutocompleteProps<T>) =>\n () => (\n <>\n <Combobox\n {...(rest as ComboboxProps<T> & UpdateHandlers<ComboboxProps<T>>)}\n _inputValue={value}\n allowCustomValue\n showToggle={false}\n hideEmpty\n />\n <FormValue name={name} value={value || null} disabled={rest.disabled} />\n </>\n ),\n);\n"],"mappings":";;;;;;;AAiCA,IAAa,eAAe,0BAC1B,QAAA,SAAA;CAAA,MAAA,SAAA,CAAA;CAAA,MAAA,QAAAA,SAAA,QAAA,gBAAiC,IAAE,KAAA,IAAA;CAAA,MAAA,OAAAC,aAAA,QAAA,MAAA;CAAA,MAAY,OAAIC,UAAA,QAAA,MAAA,IAAA;CAAA,aACjDC,YAAAC,UAAA,MAAA,CAAAD,YAAA,UAAAE,cAGW,MAAI;EAAA,eAAA,MAAA;EAAA,wBAAA,OAAA,OAAA,OAAA,MAAA,WAAA,MAAA,QAAA;EAAA,oBAAA;EAAA,cAGG;EAAK,aAAA;CAAA,CAAA,GAAA,IAAA,GAAAF,YAAA,WAAA;EAAA,QAAA,KAAA;EAAA,SAGW,MAAA,SAAS;EAAI,YAAY,KAAK;CAAQ,GAAA,IAAA,CAAA,CAAA;AAEvE,GAAA;CAAA,MAAA;CAAA,OAAA;EAAA;EAAA;EAAA;CAAA;AAAA,CACL"}
|
package/dist/input/Cascader.js
CHANGED
|
@@ -16,8 +16,8 @@ import { FormValue } from "../form/FormValue.js";
|
|
|
16
16
|
import { listPopoverStyles } from "./ListPopover.js";
|
|
17
17
|
import { TextField } from "./TextField.js";
|
|
18
18
|
import { selectStyles } from "./Select.js";
|
|
19
|
-
import { Fragment, computed, createVNode,
|
|
20
|
-
import { _component, bindable, readonlyProp, restProps } from "@zerodep-dev/vue-tsx-pro-tsx";
|
|
19
|
+
import { Fragment, computed, createVNode, nextTick, ref, shallowRef, useId } from "vue";
|
|
20
|
+
import { _component, bindable, mergeJsxProps, readonlyProp, restProps } from "@zerodep-dev/vue-tsx-pro-tsx";
|
|
21
21
|
import * as css from "@zerodep-dev/vue-tsx-pro-tsx/styles";
|
|
22
22
|
import { Check, ChevronDown, ChevronRight, Search } from "@lucide/icons";
|
|
23
23
|
//#region src/input/Cascader.tsx
|
|
@@ -391,7 +391,7 @@ var Cascader = /*#__PURE__*/ _component((_props, _ctx) => {
|
|
|
391
391
|
const focused = focusedColumn.value === level;
|
|
392
392
|
const chosen = value.value ?? [];
|
|
393
393
|
const onChosenPath = path.value.slice(0, level).every((key, index) => chosen[index] === key);
|
|
394
|
-
return createVNode("div",
|
|
394
|
+
return createVNode("div", mergeJsxProps({ "key": level }, mergeAttrs({ sx: cascaderStyles.column }, propsColumn.value, {
|
|
395
395
|
id: columnId(level),
|
|
396
396
|
role: "listbox",
|
|
397
397
|
tabindex: -1,
|
|
@@ -407,7 +407,7 @@ var Cascader = /*#__PURE__*/ _component((_props, _ctx) => {
|
|
|
407
407
|
const branch = expandable(node);
|
|
408
408
|
const active = index === activeIndex;
|
|
409
409
|
const selected = onChosenPath && chosen[level] === key;
|
|
410
|
-
return createVNode("div",
|
|
410
|
+
return createVNode("div", mergeJsxProps({
|
|
411
411
|
"key": key,
|
|
412
412
|
"id": optionId(level, index),
|
|
413
413
|
"role": "option",
|
|
@@ -443,7 +443,7 @@ var Cascader = /*#__PURE__*/ _component((_props, _ctx) => {
|
|
|
443
443
|
"aria-label": lang.selectSearch
|
|
444
444
|
}), [list.length === 0 && createVNode("div", css.attrs(cascaderStyles.empty), [lang.selectNoMatch]), list.map((item, index) => {
|
|
445
445
|
const selected = item.keys.join("\0") === chosen;
|
|
446
|
-
return createVNode("div",
|
|
446
|
+
return createVNode("div", mergeJsxProps({
|
|
447
447
|
"key": item.keys.join("\0"),
|
|
448
448
|
"id": optionId(0, index),
|
|
449
449
|
"role": "option",
|
|
@@ -470,7 +470,7 @@ var Cascader = /*#__PURE__*/ _component((_props, _ctx) => {
|
|
|
470
470
|
const shown = keys.length === 0 ? createVNode("span", css.attrs(selectStyles.placeholder), [placeholder.value ?? lang.selectPlaceholder]) : renderValue.value?.(labels, keys.map((_, index) => nodes[index])) ?? (showAllLevels.value ? labels.join(separator.value) : labels.at(-1));
|
|
471
471
|
const firstLabel = () => state.labelledBy ? { "aria-labelledby": state.labelledBy } : { "aria-label": rest["aria-label"] };
|
|
472
472
|
const list = hits.value;
|
|
473
|
-
return createVNode(Fragment, null, [createVNode("div",
|
|
473
|
+
return createVNode(Fragment, null, [createVNode("div", mergeJsxProps(mergeAttrs({
|
|
474
474
|
...s.root,
|
|
475
475
|
sx: [s.root.sx, selectStyles.root]
|
|
476
476
|
}, propsRoot.value, {
|
|
@@ -525,7 +525,7 @@ var Cascader = /*#__PURE__*/ _component((_props, _ctx) => {
|
|
|
525
525
|
ref: panel,
|
|
526
526
|
popover: "auto",
|
|
527
527
|
onToggle: onPanelToggle
|
|
528
|
-
}), [searchable.value && createVNode("div", css.attrs(listPopoverStyles.header), [createVNode(TextField,
|
|
528
|
+
}), [searchable.value && createVNode("div", css.attrs(listPopoverStyles.header), [createVNode(TextField, mergeJsxProps(mergePartProps({
|
|
529
529
|
icon: Search,
|
|
530
530
|
variant: "soft",
|
|
531
531
|
placeholder: lang.selectSearch,
|