@kine-design/core 0.0.1-beta.1 → 0.0.1-beta.10
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/.vlaude/last-session-id +1 -0
- package/.vlaude/session-switch.signal +1 -0
- package/assets/style/global.css +1 -0
- package/assets/style/var/Wuxing.css +71 -0
- package/assets/style/var.css +23 -0
- package/components/base/affix/api.ts +16 -0
- package/components/base/affix/index.ts +17 -0
- package/components/base/affix/props.d.ts +34 -0
- package/components/base/affix/useAffix.ts +124 -0
- package/components/base/alert/api.ts +18 -0
- package/components/base/alert/index.ts +15 -0
- package/components/base/alert/props.d.ts +50 -0
- package/components/base/anchor/api.ts +20 -0
- package/components/base/anchor/index.ts +18 -0
- package/components/base/anchor/props.d.ts +46 -0
- package/components/base/anchor/useAnchor.ts +84 -0
- package/components/base/autoComplete/api.ts +24 -0
- package/components/base/autoComplete/index.ts +17 -0
- package/components/base/autoComplete/props.d.ts +75 -0
- package/components/base/autoComplete/useAutoComplete.ts +157 -0
- package/components/base/avatar/api.ts +17 -0
- package/components/base/avatar/avatar.css +61 -0
- package/components/base/avatar/index.ts +15 -0
- package/components/base/avatar/props.d.ts +37 -0
- package/components/base/backTop/api.ts +17 -0
- package/components/base/backTop/index.ts +17 -0
- package/components/base/backTop/props.d.ts +38 -0
- package/components/base/backTop/useBackTop.ts +62 -0
- package/components/base/badge/api.ts +22 -0
- package/components/base/badge/index.ts +15 -0
- package/components/base/badge/props.d.ts +50 -0
- package/components/base/button/api.ts +28 -0
- package/components/base/button/button.css +34 -0
- package/components/base/button/index.ts +17 -0
- package/components/base/button/props.d.ts +66 -0
- package/components/base/button/useButton.ts +37 -0
- package/components/base/card/api.ts +17 -0
- package/components/base/card/index.ts +15 -0
- package/components/base/card/props.d.ts +37 -0
- package/components/base/carousel/api.ts +28 -0
- package/components/base/carousel/index.ts +17 -0
- package/components/base/carousel/props.d.ts +72 -0
- package/components/base/carousel/useCarousel.ts +150 -0
- package/components/base/cascader/api.ts +23 -0
- package/components/base/cascader/index.ts +18 -0
- package/components/base/cascader/props.d.ts +103 -0
- package/components/base/cascader/useCascader.ts +335 -0
- package/components/base/checkbox/api.ts +24 -0
- package/components/base/checkbox/checkbox.css +0 -0
- package/components/base/checkbox/index.ts +17 -0
- package/components/base/checkbox/props.d.ts +77 -0
- package/components/base/checkbox/useCheckbox.ts +43 -0
- package/components/base/collapse/api.ts +21 -0
- package/components/base/collapse/index.ts +18 -0
- package/components/base/collapse/props.d.ts +45 -0
- package/components/base/collapse/useCollapse.ts +81 -0
- package/components/base/datePicker/__tests__/useDatePicker.test.ts +244 -0
- package/components/base/datePicker/api.ts +22 -0
- package/components/base/datePicker/index.ts +19 -0
- package/components/base/datePicker/props.d.ts +86 -0
- package/components/base/datePicker/useDatePicker.ts +392 -0
- package/components/base/divider/api.ts +15 -0
- package/components/base/divider/divider.css +11 -0
- package/components/base/divider/index.ts +15 -0
- package/components/base/divider/props.d.ts +30 -0
- package/components/base/dropdown/api.ts +33 -0
- package/components/base/dropdown/index.ts +18 -0
- package/components/base/dropdown/props.d.ts +60 -0
- package/components/base/dropdown/useDropdown.ts +124 -0
- package/components/base/empty/api.ts +15 -0
- package/components/base/empty/index.ts +15 -0
- package/components/base/empty/props.d.ts +26 -0
- package/components/base/image/__tests__/useImage.test.ts +176 -0
- package/components/base/image/api.ts +25 -0
- package/components/base/image/index.ts +18 -0
- package/components/base/image/props.d.ts +67 -0
- package/components/base/image/useImage.ts +119 -0
- package/components/base/input/api.ts +23 -0
- package/components/base/input/index.ts +17 -0
- package/components/base/input/input.css +19 -0
- package/components/base/input/props.d.ts +85 -0
- package/components/base/input/useInput.ts +63 -0
- package/components/base/inputNumber/__tests__/useInputNumber.test.ts +189 -0
- package/components/base/inputNumber/api.ts +23 -0
- package/components/base/inputNumber/index.ts +17 -0
- package/components/base/inputNumber/props.d.ts +78 -0
- package/components/base/inputNumber/useInputNumber.ts +182 -0
- package/components/base/li/api.ts +15 -0
- package/components/base/li/index.ts +15 -0
- package/components/base/li/props.d.ts +30 -0
- package/components/base/list/api.ts +16 -0
- package/components/base/list/index.ts +17 -0
- package/components/base/list/props.d.ts +33 -0
- package/components/base/list/useList.ts +36 -0
- package/components/base/loading/api.ts +17 -0
- package/components/base/loading/index.ts +15 -0
- package/components/base/loading/props.d.ts +40 -0
- package/components/base/popover/api.ts +28 -0
- package/components/base/popover/index.ts +17 -0
- package/components/base/popover/props.d.ts +73 -0
- package/components/base/popover/usePopover.ts +193 -0
- package/components/base/progress/api.ts +20 -0
- package/components/base/progress/index.ts +17 -0
- package/components/base/progress/props.d.ts +68 -0
- package/components/base/progress/useProgress.ts +28 -0
- package/components/base/radio/api.ts +19 -0
- package/components/base/radio/index.ts +19 -0
- package/components/base/radio/props.d.ts +59 -0
- package/components/base/radio/useRadio.ts +11 -0
- package/components/base/rate/api.ts +18 -0
- package/components/base/rate/index.ts +17 -0
- package/components/base/rate/props.d.ts +49 -0
- package/components/base/rate/useRate.ts +76 -0
- package/components/base/result/api.ts +20 -0
- package/components/base/result/index.ts +15 -0
- package/components/base/result/props.d.ts +36 -0
- package/components/base/select/api.ts +34 -0
- package/components/base/select/index.ts +18 -0
- package/components/base/select/props.d.ts +152 -0
- package/components/base/select/select.css +7 -0
- package/components/base/select/useSelect.ts +281 -0
- package/components/base/select/useSelectTools.ts +60 -0
- package/components/base/skeleton/api.ts +18 -0
- package/components/base/skeleton/index.ts +15 -0
- package/components/base/skeleton/props.d.ts +41 -0
- package/components/base/slider/api.ts +22 -0
- package/components/base/slider/index.ts +17 -0
- package/components/base/slider/props.d.ts +79 -0
- package/components/base/slider/useSlider.ts +87 -0
- package/components/base/space/api.ts +17 -0
- package/components/base/space/index.ts +15 -0
- package/components/base/space/props.d.ts +39 -0
- package/components/base/steps/__tests__/useSteps.test.ts +46 -0
- package/components/base/steps/api.ts +30 -0
- package/components/base/steps/index.ts +22 -0
- package/components/base/steps/props.d.ts +88 -0
- package/components/base/steps/useSteps.ts +101 -0
- package/components/base/switch/api.ts +22 -0
- package/components/base/switch/index.ts +19 -0
- package/components/base/switch/props.d.ts +66 -0
- package/components/base/switch/useSwitch.tsx +80 -0
- package/components/base/tabs/api.ts +23 -0
- package/components/base/tabs/index.ts +18 -0
- package/components/base/tabs/props.d.ts +41 -0
- package/components/base/tabs/useTabs.ts +67 -0
- package/components/base/tag/api.ts +17 -0
- package/components/base/tag/index.ts +15 -0
- package/components/base/tag/props.d.ts +51 -0
- package/components/base/timePicker/__tests__/useTimePicker.test.ts +124 -0
- package/components/base/timePicker/api.ts +24 -0
- package/components/base/timePicker/index.ts +18 -0
- package/components/base/timePicker/props.d.ts +86 -0
- package/components/base/timePicker/useTimePicker.ts +161 -0
- package/components/base/timeline/api.ts +24 -0
- package/components/base/timeline/index.ts +16 -0
- package/components/base/timeline/props.d.ts +60 -0
- package/components/base/tooltip/api.ts +21 -0
- package/components/base/tooltip/index.ts +18 -0
- package/components/base/tooltip/props.d.ts +46 -0
- package/components/base/tooltip/useTooltip.ts +208 -0
- package/components/base/transfer/api.ts +18 -0
- package/components/base/transfer/index.ts +17 -0
- package/components/base/transfer/props.d.ts +63 -0
- package/components/base/transfer/useTransfer.ts +208 -0
- package/components/base/tree/__tests__/tree.test.ts +223 -0
- package/components/base/tree/api.ts +47 -0
- package/components/base/tree/index.ts +29 -0
- package/components/base/tree/props.d.ts +108 -0
- package/components/base/tree/tree.ts +263 -0
- package/components/base/tree/useTree.ts +114 -0
- package/components/message/confirm/api.ts +21 -0
- package/components/message/confirm/index.ts +15 -0
- package/components/message/confirm/props.d.ts +69 -0
- package/components/message/dialog/api.ts +20 -0
- package/components/message/dialog/index.ts +15 -0
- package/components/message/dialog/props.d.ts +62 -0
- package/components/message/drawer/api.ts +33 -0
- package/components/message/drawer/index.ts +15 -0
- package/components/message/drawer/props.d.ts +80 -0
- package/components/message/message/api.ts +27 -0
- package/components/message/message/index.ts +20 -0
- package/components/message/message/props.d.ts +54 -0
- package/components/message/message/useMessage.ts +61 -0
- package/components/message/notification/__tests__/useNotification.test.ts +129 -0
- package/components/message/notification/api.ts +23 -0
- package/components/message/notification/index.ts +19 -0
- package/components/message/notification/props.d.ts +64 -0
- package/components/message/notification/useNotification.ts +79 -0
- package/components/message/popover/MPopover.tsx +94 -0
- package/components/message/popover/api.ts +54 -0
- package/components/message/popover/index.ts +17 -0
- package/components/message/popover/popover.css +21 -0
- package/components/message/popover/props.d.ts +76 -0
- package/components/message/popover/usePopover.ts +234 -0
- package/components/other/darkMode/api.ts +17 -0
- package/components/other/darkMode/index.ts +17 -0
- package/components/other/darkMode/props.d.ts +37 -0
- package/components/other/darkMode/useDarkMode.ts +129 -0
- package/components/template/border/api.ts +18 -0
- package/components/template/border/index.ts +15 -0
- package/components/template/border/props.d.ts +41 -0
- package/components/template/breadcrumb/api.ts +15 -0
- package/components/template/breadcrumb/index.ts +15 -0
- package/components/template/breadcrumb/props.d.ts +45 -0
- package/components/template/descriptions/api.ts +23 -0
- package/components/template/descriptions/index.ts +16 -0
- package/components/template/descriptions/props.d.ts +54 -0
- package/components/template/form/api.ts +23 -0
- package/components/template/form/index.ts +20 -0
- package/components/template/form/props.d.ts +60 -0
- package/components/template/grid/api.ts +20 -0
- package/components/template/grid/index.ts +15 -0
- package/components/template/grid/props.d.ts +48 -0
- package/components/template/menu/__tests__/useMenu.test.ts +157 -0
- package/components/template/menu/api.ts +26 -0
- package/components/template/menu/index.ts +18 -0
- package/components/template/menu/props.d.ts +93 -0
- package/components/template/menu/useMenu.ts +155 -0
- package/components/template/pagination/__tests__/usePagination.test.ts +138 -0
- package/components/template/pagination/api.ts +22 -0
- package/components/template/pagination/index.ts +19 -0
- package/components/template/pagination/props.d.ts +65 -0
- package/components/template/pagination/usePagination.ts +186 -0
- package/components/template/table/__tests__/useTable.test.ts +138 -0
- package/components/template/table/api.ts +18 -0
- package/components/template/table/index.ts +18 -0
- package/components/template/table/props.d.ts +36 -0
- package/components/template/table/useTable.ts +136 -0
- package/components/template/tableColumn/api.ts +17 -0
- package/components/template/tableColumn/index.ts +15 -0
- package/components/template/tableColumn/props.d.ts +32 -0
- package/components/template/virtualList/api.ts +16 -0
- package/components/template/virtualList/index.ts +17 -0
- package/components/template/virtualList/props.d.ts +25 -0
- package/components/template/virtualList/useVirtualList.ts +237 -0
- package/components/types/hook.d.ts +24 -0
- package/components/types/props.d.ts +57 -0
- package/components/types/template.d.ts +59 -0
- package/compositions/commandPalette/index.ts +11 -0
- package/compositions/commandPalette/types.ts +29 -0
- package/compositions/commandPalette/useCommandPalette.ts +135 -0
- package/compositions/common/__tests__/useDebounceFn.test.ts +62 -0
- package/compositions/common/__tests__/useEventListener.test.ts +98 -0
- package/compositions/common/__tests__/usePopover.test.ts +43 -0
- package/compositions/common/__tests__/useTeleport.test.ts +32 -0
- package/compositions/common/defineCore.ts +55 -0
- package/compositions/common/testAnchor.ts +211 -0
- package/compositions/common/useComponentSize.ts +17 -0
- package/compositions/common/useDebounceFn.ts +27 -0
- package/compositions/common/useDrag.ts +65 -0
- package/compositions/common/useElementSize.ts +37 -0
- package/compositions/common/useEventListener.ts +48 -0
- package/compositions/common/usePopover.ts +45 -0
- package/compositions/common/useResizeObserver.ts +47 -0
- package/compositions/common/useTeleport.ts +24 -0
- package/compositions/contextMenu/index.ts +10 -0
- package/compositions/contextMenu/types.ts +21 -0
- package/compositions/contextMenu/useContextMenu.ts +101 -0
- package/compositions/editor/index.ts +18 -0
- package/compositions/editor/types.ts +147 -0
- package/compositions/editor/useEditor.ts +224 -0
- package/compositions/index.ts +15 -0
- package/compositions/input/__tests__/useBooleanInput.test.ts +73 -0
- package/compositions/input/useBooleanInput.ts +52 -0
- package/compositions/modal/__tests__/useModal.test.ts +110 -0
- package/compositions/modal/useModal.ts +72 -0
- package/compositions/overlay/index.ts +14 -0
- package/compositions/overlay/useOverlayStack.ts +146 -0
- package/compositions/peekView/index.ts +10 -0
- package/compositions/peekView/usePeekView.ts +99 -0
- package/compositions/popper/useClickAway.ts +41 -0
- package/compositions/popper/usePopper.ts +63 -0
- package/compositions/theme/index.ts +17 -0
- package/compositions/theme/presets/compact.ts +117 -0
- package/compositions/theme/presets/dark.ts +113 -0
- package/compositions/theme/presets/index.ts +11 -0
- package/compositions/theme/presets/light.ts +113 -0
- package/compositions/theme/types.ts +46 -0
- package/compositions/theme/useTheme.ts +269 -0
- package/compositions/toast/index.ts +10 -0
- package/compositions/toast/useToast.ts +176 -0
- package/compositions/tooltip/index.ts +9 -0
- package/compositions/tooltip/useTooltip.ts +10 -0
- package/compositions/utils/__tests__/filters.test.ts +136 -0
- package/compositions/utils/filters.ts +135 -0
- package/compositions/virtualList/__tests__/useHeightCache.test.ts +97 -0
- package/compositions/virtualList/enums.ts +52 -0
- package/compositions/virtualList/useContainerObserver.ts +89 -0
- package/compositions/virtualList/useEntries.ts +248 -0
- package/compositions/virtualList/useHeightCache.ts +83 -0
- package/compositions/virtualList/useSentinelObserver.ts +81 -0
- package/dist/components/base/affix/index.d.ts +2 -1
- package/dist/components/base/affix/useAffix.d.ts +7 -5
- package/dist/components/base/anchor/index.d.ts +2 -1
- package/dist/components/base/anchor/useAnchor.d.ts +3 -2
- package/dist/components/base/autoComplete/useAutoComplete.d.ts +14 -5
- package/dist/components/base/avatar/index.d.ts +1 -0
- package/dist/components/base/backTop/index.d.ts +2 -1
- package/dist/components/base/backTop/useBackTop.d.ts +2 -2
- package/dist/components/base/button/index.d.ts +3 -21
- package/dist/components/base/button/useButton.d.ts +5 -2
- package/dist/components/base/carousel/useCarousel.d.ts +7 -3
- package/dist/components/base/cascader/useCascader.d.ts +25 -12
- package/dist/components/base/checkbox/index.d.ts +2 -1
- package/dist/components/base/checkbox/useCheckbox.d.ts +5 -3
- package/dist/components/base/collapse/index.d.ts +2 -1
- package/dist/components/base/collapse/useCollapse.d.ts +4 -3
- package/dist/components/base/datePicker/__tests__/useDatePicker.test.d.ts +1 -0
- package/dist/components/base/datePicker/useDatePicker.d.ts +140 -8
- package/dist/components/base/dropdown/index.d.ts +2 -1
- package/dist/components/base/dropdown/useDropdown.d.ts +13 -6
- package/dist/components/base/image/__tests__/useImage.test.d.ts +1 -0
- package/dist/components/base/image/useImage.d.ts +5 -5
- package/dist/components/base/input/index.d.ts +2 -1
- package/dist/components/base/input/useInput.d.ts +4 -2
- package/dist/components/base/inputNumber/__tests__/useInputNumber.test.d.ts +1 -0
- package/dist/components/base/inputNumber/index.d.ts +2 -1
- package/dist/components/base/inputNumber/useInputNumber.d.ts +4 -3
- package/dist/components/base/li/index.d.ts +1 -0
- package/dist/components/base/list/index.d.ts +2 -1
- package/dist/components/base/list/useList.d.ts +1 -1
- package/dist/components/base/popover/index.d.ts +2 -1
- package/dist/components/base/popover/usePopover.d.ts +10 -9
- package/dist/components/base/progress/index.d.ts +2 -1
- package/dist/components/base/progress/useProgress.d.ts +2 -2
- package/dist/components/base/rate/index.d.ts +2 -1
- package/dist/components/base/rate/useRate.d.ts +3 -2
- package/dist/components/base/select/useSelect.d.ts +10 -9
- package/dist/components/base/slider/index.d.ts +2 -1
- package/dist/components/base/slider/useSlider.d.ts +5 -4
- package/dist/components/base/steps/__tests__/useSteps.test.d.ts +1 -0
- package/dist/components/base/steps/index.d.ts +1 -1
- package/dist/components/base/steps/useSteps.d.ts +5 -5
- package/dist/components/base/switch/index.d.ts +2 -1
- package/dist/components/base/switch/useSwitch.d.ts +9 -3
- package/dist/components/base/tabs/index.d.ts +1 -1
- package/dist/components/base/tabs/useTabs.d.ts +4 -3
- package/dist/components/base/tag/index.d.ts +1 -0
- package/dist/components/base/timePicker/__tests__/useTimePicker.test.d.ts +1 -0
- package/dist/components/base/timePicker/useTimePicker.d.ts +14 -6
- package/dist/components/base/tooltip/index.d.ts +2 -1
- package/dist/components/base/tooltip/useTooltip.d.ts +24 -11
- package/dist/components/base/transfer/useTransfer.d.ts +17 -16
- package/dist/components/base/tree/__tests__/tree.test.d.ts +1 -0
- package/dist/components/base/tree/index.d.ts +1 -1
- package/dist/components/base/tree/useTree.d.ts +2 -1
- package/dist/components/message/drawer/index.d.ts +2 -2
- package/dist/components/message/message/useMessage.d.ts +11 -1
- package/dist/components/message/notification/__tests__/useNotification.test.d.ts +1 -0
- package/dist/components/message/notification/useNotification.d.ts +17 -1
- package/dist/components/message/popover/MPopover.d.ts +6 -1
- package/dist/components/message/popover/index.d.ts +1 -1
- package/dist/components/message/popover/usePopover.d.ts +7 -7
- package/dist/components/other/darkMode/useDarkMode.d.ts +3 -4
- package/dist/components/template/menu/__tests__/useMenu.test.d.ts +1 -0
- package/dist/components/template/menu/index.d.ts +0 -1
- package/dist/components/template/menu/useMenu.d.ts +2 -1
- package/dist/components/template/pagination/__tests__/usePagination.test.d.ts +1 -0
- package/dist/components/template/pagination/index.d.ts +2 -1
- package/dist/components/template/table/__tests__/useTable.test.d.ts +1 -0
- package/dist/components/template/virtualList/index.d.ts +0 -1
- package/dist/components/template/virtualList/useVirtualList.d.ts +10 -7
- package/dist/compositions/commandPalette/index.d.ts +11 -0
- package/dist/compositions/commandPalette/types.d.ts +20 -0
- package/dist/compositions/commandPalette/useCommandPalette.d.ts +32 -0
- package/dist/compositions/common/__tests__/useDebounceFn.test.d.ts +1 -0
- package/dist/compositions/common/__tests__/useEventListener.test.d.ts +1 -0
- package/dist/compositions/common/__tests__/usePopover.test.d.ts +1 -0
- package/dist/compositions/common/__tests__/useTeleport.test.d.ts +1 -0
- package/dist/compositions/common/testAnchor.d.ts +40 -0
- package/dist/compositions/common/useComponentSize.d.ts +6 -0
- package/dist/compositions/common/useDrag.d.ts +1 -1
- package/dist/compositions/common/useElementSize.d.ts +2 -2
- package/dist/compositions/common/useEventListener.d.ts +2 -2
- package/dist/compositions/common/useTeleport.d.ts +4 -2
- package/dist/compositions/contextMenu/index.d.ts +10 -0
- package/dist/compositions/contextMenu/types.d.ts +12 -0
- package/dist/compositions/contextMenu/useContextMenu.d.ts +52 -0
- package/dist/compositions/editor/index.d.ts +10 -0
- package/dist/compositions/editor/types.d.ts +132 -0
- package/dist/compositions/editor/useEditor.d.ts +13 -0
- package/dist/compositions/index.d.ts +15 -0
- package/dist/compositions/input/__tests__/useBooleanInput.test.d.ts +1 -0
- package/dist/compositions/modal/__tests__/useModal.test.d.ts +1 -0
- package/dist/compositions/modal/useModal.d.ts +3 -2
- package/dist/compositions/overlay/index.d.ts +10 -0
- package/dist/compositions/overlay/useOverlayStack.d.ts +188 -0
- package/dist/compositions/peekView/index.d.ts +10 -0
- package/dist/compositions/peekView/usePeekView.d.ts +16 -0
- package/dist/compositions/popper/useClickAway.d.ts +3 -3
- package/dist/compositions/theme/index.d.ts +11 -0
- package/dist/compositions/theme/presets/compact.d.ts +6 -0
- package/dist/compositions/theme/presets/dark.d.ts +2 -0
- package/dist/compositions/theme/presets/index.d.ts +11 -0
- package/dist/compositions/theme/presets/light.d.ts +2 -0
- package/dist/compositions/theme/types.d.ts +41 -0
- package/dist/compositions/theme/useTheme.d.ts +167 -0
- package/dist/compositions/toast/index.d.ts +10 -0
- package/dist/compositions/toast/useToast.d.ts +71 -0
- package/dist/compositions/tooltip/index.d.ts +9 -0
- package/dist/compositions/tooltip/useTooltip.d.ts +10 -0
- package/dist/compositions/utils/__tests__/filters.test.d.ts +1 -0
- package/dist/compositions/virtualList/__tests__/useHeightCache.test.d.ts +1 -0
- package/dist/core.js +7050 -4188
- package/dist/index.d.ts +1 -0
- package/dist/runtime/defineHook.d.ts +1 -1
- package/dist/tools/__tests__/empty.test.d.ts +1 -0
- package/dist/tools/empty.d.ts +2 -2
- package/dist/tools/types.d.ts +1 -1
- package/dist/vitest.config.d.ts +10 -0
- package/index.css +1 -0
- package/index.ts +73 -0
- package/package.json +41 -22
- package/runtime/defineHook.ts +21 -0
- package/tools/__tests__/empty.test.ts +91 -0
- package/tools/empty.ts +81 -0
- package/tools/index.ts +15 -0
- package/tools/types.ts +11 -0
- package/tsconfig.json +8 -0
- package/types/common/common.d.ts +25 -0
- package/types/common/model.d.ts +25 -0
- package/types/index.d.ts +11 -0
- package/types/props.d.ts +13 -0
- package/vite.config.build.ts +41 -0
- package/vitest.config.ts +17 -0
- package/dist/vite.config.build.d.ts +0 -2
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description loading api type
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/27
|
|
5
|
+
* @version v1.1.0
|
|
6
|
+
*
|
|
7
|
+
* @name k-loading
|
|
8
|
+
* @docDescription Loading component with Phosphor sci-fi theme.
|
|
9
|
+
* Kine Design 加载组件。
|
|
10
|
+
*
|
|
11
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { KineSize } from '../../types/props';
|
|
15
|
+
|
|
16
|
+
export declare type LoadingProps = {
|
|
17
|
+
/**
|
|
18
|
+
* @description 是否显示 loading
|
|
19
|
+
* @type boolean
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
modelValue?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* @description 尺寸
|
|
25
|
+
* @type 'large' | 'medium' | 'small'
|
|
26
|
+
* @default 'medium'
|
|
27
|
+
*/
|
|
28
|
+
size?: KineSize;
|
|
29
|
+
/**
|
|
30
|
+
* @description 是否显示遮罩层(覆盖父元素)
|
|
31
|
+
* @type boolean
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
mask?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* @description 加载提示文字
|
|
37
|
+
* @type string
|
|
38
|
+
*/
|
|
39
|
+
text?: string;
|
|
40
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description popover 运行时 props
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { PopoverProps } from './props';
|
|
10
|
+
import { MCOPO, MPropType } from '../../types/props';
|
|
11
|
+
import { Placement } from '../../../compositions/popper/usePopper.ts';
|
|
12
|
+
|
|
13
|
+
export const props: MCOPO<PopoverProps> = {
|
|
14
|
+
placement: {
|
|
15
|
+
type: String as MPropType<Placement>,
|
|
16
|
+
default: 'bottom',
|
|
17
|
+
},
|
|
18
|
+
mountRender: { type: Boolean, default: false },
|
|
19
|
+
disableClickAway: { type: Boolean, default: false },
|
|
20
|
+
hover: { type: Boolean, default: false },
|
|
21
|
+
show: { type: Boolean, default: null },
|
|
22
|
+
content: { type: String, default: '' },
|
|
23
|
+
popper: {
|
|
24
|
+
type: Object, default: () => ({}),
|
|
25
|
+
},
|
|
26
|
+
teleport: { type: [Object, Boolean], default: undefined },
|
|
27
|
+
title: { type: String, default: undefined },
|
|
28
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description popover core 导出
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { props } from './api';
|
|
10
|
+
import { usePopover } from './usePopover';
|
|
11
|
+
|
|
12
|
+
export const PopoverCore = {
|
|
13
|
+
props,
|
|
14
|
+
usePopover,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type { PopoverProps } from './props';
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description popover 类型定义
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* @name m-popover
|
|
8
|
+
* @docDescription Popover component.
|
|
9
|
+
* 弹出框组件。
|
|
10
|
+
* @docUrl https://shuimo.design/popover
|
|
11
|
+
*
|
|
12
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
13
|
+
*/
|
|
14
|
+
import { Placement, PopperConfig } from '../../../compositions/popper/usePopper.ts';
|
|
15
|
+
import { MTeleportProps } from '../../../types/common/common';
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
export type PopoverProps = {
|
|
19
|
+
/**
|
|
20
|
+
* @description 弹出框位置
|
|
21
|
+
* @type Placement
|
|
22
|
+
* @default bottom
|
|
23
|
+
*/
|
|
24
|
+
placement?: Placement,
|
|
25
|
+
/**
|
|
26
|
+
* @description 挂载时是否渲染弹出内容
|
|
27
|
+
* @type boolean
|
|
28
|
+
* @default false
|
|
29
|
+
*/
|
|
30
|
+
mountRender?: boolean,
|
|
31
|
+
/**
|
|
32
|
+
* @description 禁用点击外部自动关闭
|
|
33
|
+
* @type boolean
|
|
34
|
+
* @default false
|
|
35
|
+
*/
|
|
36
|
+
disableClickAway?: boolean,
|
|
37
|
+
/**
|
|
38
|
+
* @description 简单文本内容可通过 prop 传入
|
|
39
|
+
* @type any
|
|
40
|
+
* @default ''
|
|
41
|
+
*/
|
|
42
|
+
content?: any,
|
|
43
|
+
/**
|
|
44
|
+
* @description 是否通过 hover 触发
|
|
45
|
+
* @type boolean
|
|
46
|
+
* @default false
|
|
47
|
+
*/
|
|
48
|
+
hover?: boolean,
|
|
49
|
+
/**
|
|
50
|
+
* @description 是否显示
|
|
51
|
+
* @type boolean
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
54
|
+
show?: boolean,
|
|
55
|
+
/**
|
|
56
|
+
* @description floating-ui 配置项,参考 https://floating-ui.com/
|
|
57
|
+
* @type PopperConfig
|
|
58
|
+
* @default {}
|
|
59
|
+
*/
|
|
60
|
+
popper?: PopperConfig,
|
|
61
|
+
/**
|
|
62
|
+
* @description 传送门配置
|
|
63
|
+
* @type MTeleportProps | boolean
|
|
64
|
+
* @default undefined
|
|
65
|
+
*/
|
|
66
|
+
teleport?: MTeleportProps | undefined | boolean,
|
|
67
|
+
/**
|
|
68
|
+
* @description 气泡标题,传入时在内容上方渲染标题行
|
|
69
|
+
* @type string
|
|
70
|
+
* @default undefined
|
|
71
|
+
*/
|
|
72
|
+
title?: string,
|
|
73
|
+
};
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description popover composable
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { Placement, PopperConfig, PositionStyle, usePopper } from '../../../compositions/popper/usePopper.ts';
|
|
10
|
+
import useClickAway from '../../../compositions/popper/useClickAway';
|
|
11
|
+
import { PopoverProps } from './props';
|
|
12
|
+
import { onBeforeUnmount, onMounted, ref, type Ref, shallowRef } from 'vue';
|
|
13
|
+
import { type HookContext } from '../../types/hook';
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
export type IPopper = ReturnType<typeof usePopper>;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Popover 实例,管理定位、显示/隐藏状态
|
|
20
|
+
*/
|
|
21
|
+
export class PopoverImpl {
|
|
22
|
+
|
|
23
|
+
protected _active: HTMLElement;
|
|
24
|
+
protected _content: HTMLElement;
|
|
25
|
+
protected _arrow: HTMLElement | undefined;
|
|
26
|
+
popperInstance: IPopper;
|
|
27
|
+
style: Ref;
|
|
28
|
+
arrowStyle: Ref;
|
|
29
|
+
placement: Ref;
|
|
30
|
+
visible: boolean = false;
|
|
31
|
+
onShow?: Function;
|
|
32
|
+
onHide?: Function;
|
|
33
|
+
|
|
34
|
+
constructor(
|
|
35
|
+
val: { style: Ref, arrowStyle: Ref, placement: Ref, show: boolean },
|
|
36
|
+
active: HTMLElement,
|
|
37
|
+
content: HTMLElement,
|
|
38
|
+
arrow?: HTMLElement,
|
|
39
|
+
config?: PopperConfig,
|
|
40
|
+
lifecycle?: {
|
|
41
|
+
onShow?: Function,
|
|
42
|
+
onHide?: Function
|
|
43
|
+
},
|
|
44
|
+
) {
|
|
45
|
+
if (!content) { throw new Error('MPopover: content is required'); }
|
|
46
|
+
if (!active) { throw new Error('MPopover: active is required'); }
|
|
47
|
+
|
|
48
|
+
this._active = active;
|
|
49
|
+
this._content = content;
|
|
50
|
+
this._arrow = arrow;
|
|
51
|
+
this.popperInstance = usePopper(this._active, this._content,
|
|
52
|
+
(positionStyle: PositionStyle) => this.update(positionStyle), this._arrow, config);
|
|
53
|
+
this.style = val.style;
|
|
54
|
+
this.arrowStyle = val.arrowStyle;
|
|
55
|
+
this.placement = val.placement;
|
|
56
|
+
this.visible = val.show;
|
|
57
|
+
this.onShow = lifecycle?.onShow;
|
|
58
|
+
this.onHide = lifecycle?.onHide;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
get content() {
|
|
62
|
+
return this._content;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
async show() {
|
|
66
|
+
this.style.value = { display: 'block', opacity: '0' };
|
|
67
|
+
this.arrowStyle.value = { display: 'block', opacity: '0' };
|
|
68
|
+
this.visible = true;
|
|
69
|
+
await this.popperInstance.getPositionStyle();
|
|
70
|
+
this.onShow?.();
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
update(positionStyle: PositionStyle) {
|
|
74
|
+
if (!this.visible) {
|
|
75
|
+
this.hide();
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this.style.value = positionStyle.style;
|
|
79
|
+
this.arrowStyle.value = positionStyle.arrowStyle;
|
|
80
|
+
this.placement.value = positionStyle.placement;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
hide() {
|
|
84
|
+
this.style.value = undefined;
|
|
85
|
+
this.arrowStyle.value = undefined;
|
|
86
|
+
this.visible = false;
|
|
87
|
+
this.onHide?.();
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
async toggle() {
|
|
91
|
+
if (this.visible) {
|
|
92
|
+
this.hide();
|
|
93
|
+
} else {
|
|
94
|
+
await this.show();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
destroy() {
|
|
99
|
+
this.popperInstance?.clear?.();
|
|
100
|
+
this.visible = false;
|
|
101
|
+
this.onShow = undefined;
|
|
102
|
+
this.onHide = undefined;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
export function usePopover(props: Required<PopoverProps>, ctx: HookContext) {
|
|
108
|
+
const style = ref();
|
|
109
|
+
const arrowStyle = ref();
|
|
110
|
+
const placement = ref<Placement>(props.placement);
|
|
111
|
+
let instance: PopoverImpl | null = null;
|
|
112
|
+
let clickAwayInstance: ReturnType<typeof useClickAway>;
|
|
113
|
+
|
|
114
|
+
const popperInstance = shallowRef<PopoverImpl>();
|
|
115
|
+
|
|
116
|
+
const popoverRef = ref<HTMLElement>();
|
|
117
|
+
const contentRef = ref<HTMLElement>();
|
|
118
|
+
const arrowRef = ref<HTMLElement>();
|
|
119
|
+
|
|
120
|
+
const createPopover = (
|
|
121
|
+
active: HTMLElement,
|
|
122
|
+
content: HTMLElement,
|
|
123
|
+
arrow?: HTMLElement,
|
|
124
|
+
config?: PopperConfig,
|
|
125
|
+
) => {
|
|
126
|
+
instance = new PopoverImpl(
|
|
127
|
+
{ style, arrowStyle, placement, show: props.show },
|
|
128
|
+
active,
|
|
129
|
+
content,
|
|
130
|
+
arrow,
|
|
131
|
+
config,
|
|
132
|
+
{
|
|
133
|
+
onShow: () => {
|
|
134
|
+
clickAwayInstance?.add();
|
|
135
|
+
ctx.emit('update:show', true);
|
|
136
|
+
},
|
|
137
|
+
onHide: () => {
|
|
138
|
+
clickAwayInstance?.remove();
|
|
139
|
+
ctx.emit('update:show', false);
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
return instance;
|
|
143
|
+
};
|
|
144
|
+
|
|
145
|
+
const popoverEnter = () => {
|
|
146
|
+
if (props.hover) {
|
|
147
|
+
instance?.show();
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
const popoverLeave = () => {
|
|
151
|
+
if (props.hover) {
|
|
152
|
+
instance?.hide();
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
|
|
156
|
+
onMounted(() => {
|
|
157
|
+
if (!popoverRef.value || !contentRef.value) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
popperInstance.value = createPopover(popoverRef.value, contentRef.value, arrowRef.value, {
|
|
161
|
+
...props.popper,
|
|
162
|
+
placement: props.placement,
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
if (props.disableClickAway) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
clickAwayInstance = useClickAway({
|
|
170
|
+
target: () => instance?.content?.parentElement,
|
|
171
|
+
handler: () => {
|
|
172
|
+
instance?.hide();
|
|
173
|
+
},
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
onBeforeUnmount(() => {
|
|
178
|
+
if (clickAwayInstance) {
|
|
179
|
+
const { onBeforeUnmount } = clickAwayInstance;
|
|
180
|
+
onBeforeUnmount();
|
|
181
|
+
}
|
|
182
|
+
instance?.destroy();
|
|
183
|
+
});
|
|
184
|
+
|
|
185
|
+
return {
|
|
186
|
+
popoverEnter,
|
|
187
|
+
popoverLeave,
|
|
188
|
+
popoverRef, contentRef, arrowRef,
|
|
189
|
+
popperInstance,
|
|
190
|
+
style, arrowStyle,
|
|
191
|
+
placement,
|
|
192
|
+
};
|
|
193
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description progress api
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/27
|
|
5
|
+
* @version v1.1.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { MCOPO, MPropType } from '../../types/props';
|
|
10
|
+
import { ProgressProps, ProgressStatus, ProgressType } from './props';
|
|
11
|
+
|
|
12
|
+
export const props: MCOPO<ProgressProps> = {
|
|
13
|
+
type: { type: String as unknown as MPropType<ProgressType>, default: 'line' },
|
|
14
|
+
value: { type: Number, default: 0 },
|
|
15
|
+
max: { type: Number, default: 100 },
|
|
16
|
+
showInfo: { type: Boolean, default: true },
|
|
17
|
+
status: { type: String as unknown as MPropType<ProgressStatus>, default: 'default' },
|
|
18
|
+
strokeWidth: { type: Number, default: 4 },
|
|
19
|
+
width: { type: Number, default: 80 },
|
|
20
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description progress core
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2025/02/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { props } from './api';
|
|
10
|
+
import { useProgress } from './useProgress';
|
|
11
|
+
|
|
12
|
+
export const ProgressCore = {
|
|
13
|
+
props,
|
|
14
|
+
useProgress,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type { ProgressProps, ProgressStatus } from './props';
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description progress props type
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/27
|
|
5
|
+
* @version v1.1.0
|
|
6
|
+
*
|
|
7
|
+
* @name m-progress
|
|
8
|
+
* @docDescription Progress component.
|
|
9
|
+
* 进度条组件。
|
|
10
|
+
* @docUrl https://shuimo.design/progress
|
|
11
|
+
*
|
|
12
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export declare type ProgressStatus = 'default' | 'success' | 'warning' | 'danger';
|
|
16
|
+
|
|
17
|
+
export declare type ProgressType = 'line' | 'circle';
|
|
18
|
+
|
|
19
|
+
export declare type ProgressProps = {
|
|
20
|
+
/**
|
|
21
|
+
* @description progress type. 进度条类型:line 线性 | circle 环形
|
|
22
|
+
* @type ProgressType
|
|
23
|
+
* @default 'line'
|
|
24
|
+
*/
|
|
25
|
+
type?: ProgressType,
|
|
26
|
+
/**
|
|
27
|
+
* @description progress value
|
|
28
|
+
* 进度条的值(0 ~ max)
|
|
29
|
+
* @type number
|
|
30
|
+
* @default 0
|
|
31
|
+
*/
|
|
32
|
+
value?: number,
|
|
33
|
+
/**
|
|
34
|
+
* @description progress value max
|
|
35
|
+
* 进度条最大值
|
|
36
|
+
* @type number
|
|
37
|
+
* @default 100
|
|
38
|
+
*/
|
|
39
|
+
max?: number,
|
|
40
|
+
/**
|
|
41
|
+
* @description display value
|
|
42
|
+
* 是否显示进度值
|
|
43
|
+
* @type boolean
|
|
44
|
+
* @default true
|
|
45
|
+
*/
|
|
46
|
+
showInfo?: boolean,
|
|
47
|
+
/**
|
|
48
|
+
* @description status color variant
|
|
49
|
+
* 状态颜色变体:default | success | warning | danger
|
|
50
|
+
* @type ProgressStatus
|
|
51
|
+
* @default 'default'
|
|
52
|
+
*/
|
|
53
|
+
status?: ProgressStatus,
|
|
54
|
+
/**
|
|
55
|
+
* @description stroke width in px
|
|
56
|
+
* 进度条粗细(px)
|
|
57
|
+
* @type number
|
|
58
|
+
* @default 4
|
|
59
|
+
*/
|
|
60
|
+
strokeWidth?: number,
|
|
61
|
+
/**
|
|
62
|
+
* @description circle diameter in px (only for type='circle')
|
|
63
|
+
* 环形进度条直径(px),仅 type='circle' 时生效
|
|
64
|
+
* @type number
|
|
65
|
+
* @default 80
|
|
66
|
+
*/
|
|
67
|
+
width?: number,
|
|
68
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description progress hook
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2025/02/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { computed } from 'vue';
|
|
10
|
+
import { ProgressProps } from './props';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @description 清除多余小数位,保留两位小数
|
|
14
|
+
*/
|
|
15
|
+
const clearZero = (num: number) => {
|
|
16
|
+
const str = num.toString();
|
|
17
|
+
const index = str.indexOf('.');
|
|
18
|
+
if (index === -1) { return num; }
|
|
19
|
+
return str.slice(0, index + 3);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export function useProgress(props: Required<ProgressProps>) {
|
|
23
|
+
const percentage = computed(() => clearZero((props.value * 100 / props.max)));
|
|
24
|
+
|
|
25
|
+
return {
|
|
26
|
+
percentage,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description radio api
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2025/02/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { MCOPO } from '../../types/props';
|
|
10
|
+
import { RadioProps } from './props';
|
|
11
|
+
|
|
12
|
+
export const props: MCOPO<RadioProps> = {
|
|
13
|
+
label: { type: [String, Number], default: '' },
|
|
14
|
+
name: { type: String, default: undefined },
|
|
15
|
+
checked: { type: Boolean, default: undefined },
|
|
16
|
+
value: { type: [String, Number], default: '' },
|
|
17
|
+
modelValue: { type: null, default: '' },
|
|
18
|
+
disabled: { type: Boolean, default: false },
|
|
19
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description radio core
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2025/02/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { props } from './api';
|
|
10
|
+
import { initChecked, getNewModelValue, createRadioId } from './useRadio';
|
|
11
|
+
|
|
12
|
+
export const RadioCore = {
|
|
13
|
+
props,
|
|
14
|
+
initChecked,
|
|
15
|
+
getNewModelValue,
|
|
16
|
+
createRadioId,
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { initChecked, getNewModelValue, createRadioId } from './useRadio';
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description radio props type
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2025/02/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* @name m-radio
|
|
8
|
+
* @docDescription Radio component.
|
|
9
|
+
* 单选组件。
|
|
10
|
+
* @docUrl https://shuimo.design/radio
|
|
11
|
+
*
|
|
12
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
export declare type RadioProps = {
|
|
16
|
+
/**
|
|
17
|
+
* @description radio label
|
|
18
|
+
* 单选框的标签值
|
|
19
|
+
* @type string | number
|
|
20
|
+
* @default ''
|
|
21
|
+
*/
|
|
22
|
+
label?: string | number,
|
|
23
|
+
/**
|
|
24
|
+
* @description radio name
|
|
25
|
+
* 单选框的name值
|
|
26
|
+
* @type string | undefined
|
|
27
|
+
* @default undefined
|
|
28
|
+
*/
|
|
29
|
+
name?: string,
|
|
30
|
+
/**
|
|
31
|
+
* @description radio checked
|
|
32
|
+
* 是否选中
|
|
33
|
+
* @default undefined
|
|
34
|
+
*/
|
|
35
|
+
checked?: boolean | undefined | null,
|
|
36
|
+
/**
|
|
37
|
+
* @description radio value
|
|
38
|
+
* 单选框的值
|
|
39
|
+
* @default undefined
|
|
40
|
+
*/
|
|
41
|
+
value?: string | number,
|
|
42
|
+
/**
|
|
43
|
+
* @description value
|
|
44
|
+
* 绑定值
|
|
45
|
+
* @type string | number | boolean
|
|
46
|
+
* @default ''
|
|
47
|
+
*/
|
|
48
|
+
modelValue?: string | number | boolean,
|
|
49
|
+
/**
|
|
50
|
+
* @description radio disabled
|
|
51
|
+
* 是否禁用
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
54
|
+
disabled?: boolean,
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export declare type RadioEvents = {
|
|
58
|
+
onClick?: (e: MouseEvent, value?: string | number) => void
|
|
59
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description radio hook
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2025/02/25 00:00
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
export { initChecked, getNewModelValue } from '../../../compositions/input/useBooleanInput';
|
|
11
|
+
export const createRadioId = () => `m-radio-${Math.random().toString(36).substring(2)}`;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description rate api
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/26
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { MCOPO } from '../../types/props';
|
|
10
|
+
import { RateProps } from './props';
|
|
11
|
+
|
|
12
|
+
export const props: MCOPO<RateProps> = {
|
|
13
|
+
modelValue: { type: Number, default: 0 },
|
|
14
|
+
count: { type: Number, default: 5 },
|
|
15
|
+
allowHalf: { type: Boolean, default: false },
|
|
16
|
+
readonly: { type: Boolean, default: false },
|
|
17
|
+
disabled: { type: Boolean, default: false },
|
|
18
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description rate core
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/26
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
8
|
+
*/
|
|
9
|
+
import { props } from './api';
|
|
10
|
+
import { useRate } from './useRate';
|
|
11
|
+
|
|
12
|
+
export const RateCore = {
|
|
13
|
+
props,
|
|
14
|
+
useRate,
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export type { RateProps } from './props';
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description rate props type
|
|
3
|
+
* @author 阿怪
|
|
4
|
+
* @date 2026/2/26
|
|
5
|
+
* @version v1.0.0
|
|
6
|
+
*
|
|
7
|
+
* @name k-rate
|
|
8
|
+
* @docDescription Rate(评分)组件。
|
|
9
|
+
*
|
|
10
|
+
* 江湖的业务千篇一律,复杂的代码好几百行。
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export declare type RateProps = {
|
|
14
|
+
/**
|
|
15
|
+
* @description 当前评分值(v-model)
|
|
16
|
+
* @type number
|
|
17
|
+
* @default 0
|
|
18
|
+
*/
|
|
19
|
+
modelValue?: number,
|
|
20
|
+
/**
|
|
21
|
+
* @description 星星总数
|
|
22
|
+
* @type number
|
|
23
|
+
* @default 5
|
|
24
|
+
*/
|
|
25
|
+
count?: number,
|
|
26
|
+
/**
|
|
27
|
+
* @description 是否允许半星
|
|
28
|
+
* @type boolean
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
allowHalf?: boolean,
|
|
32
|
+
/**
|
|
33
|
+
* @description 是否只读(仅展示,不可交互,不灰显)
|
|
34
|
+
* @type boolean
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
readonly?: boolean,
|
|
38
|
+
/**
|
|
39
|
+
* @description 是否禁用
|
|
40
|
+
* @type boolean
|
|
41
|
+
* @default false
|
|
42
|
+
*/
|
|
43
|
+
disabled?: boolean,
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export declare type RateEmits = {
|
|
47
|
+
'onUpdate:modelValue'?: (value: number) => void,
|
|
48
|
+
onChange?: (value: number) => void,
|
|
49
|
+
};
|