@cssui/react 1.0.0 → 1.0.2
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/adapter-react/components/breadcrumb/Breadcrumb.d.ts +8 -0
- package/dist/adapter-react/components/breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/adapter-react/components/breadcrumb/Breadcrumb.js +170 -0
- package/dist/adapter-react/components/breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/adapter-react/components/breadcrumb/index.d.ts +2 -0
- package/dist/adapter-react/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/adapter-react/components/button/Button.d.ts +10 -0
- package/dist/adapter-react/components/button/Button.d.ts.map +1 -0
- package/dist/adapter-react/components/button/Button.js +49 -0
- package/dist/adapter-react/components/button/Button.js.map +1 -0
- package/dist/adapter-react/components/button/index.d.ts +3 -0
- package/dist/adapter-react/components/button/index.d.ts.map +1 -0
- package/dist/adapter-react/components/carousel/Carousel.d.ts +12 -0
- package/dist/adapter-react/components/carousel/Carousel.d.ts.map +1 -0
- package/dist/adapter-react/components/carousel/Carousel.js +155 -0
- package/dist/adapter-react/components/carousel/Carousel.js.map +1 -0
- package/dist/adapter-react/components/carousel/index.d.ts +3 -0
- package/dist/adapter-react/components/carousel/index.d.ts.map +1 -0
- package/dist/adapter-react/components/checkbox/Checkbox.d.ts +11 -0
- package/dist/adapter-react/components/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/adapter-react/components/checkbox/Checkbox.js +69 -0
- package/dist/adapter-react/components/checkbox/Checkbox.js.map +1 -0
- package/dist/adapter-react/components/checkbox/CheckboxGroup.d.ts +22 -0
- package/dist/adapter-react/components/checkbox/CheckboxGroup.d.ts.map +1 -0
- package/dist/adapter-react/components/checkbox/CheckboxGroup.js +86 -0
- package/dist/adapter-react/components/checkbox/CheckboxGroup.js.map +1 -0
- package/dist/adapter-react/components/checkbox/index.d.ts +5 -0
- package/dist/adapter-react/components/checkbox/index.d.ts.map +1 -0
- package/dist/adapter-react/components/date-picker/DatePicker.d.ts +8 -0
- package/dist/adapter-react/components/date-picker/DatePicker.d.ts.map +1 -0
- package/dist/adapter-react/components/date-picker/DatePicker.js +438 -0
- package/dist/adapter-react/components/date-picker/DatePicker.js.map +1 -0
- package/dist/adapter-react/components/date-picker/index.d.ts +2 -0
- package/dist/adapter-react/components/date-picker/index.d.ts.map +1 -0
- package/dist/adapter-react/components/divider/Divider.d.ts +13 -0
- package/dist/adapter-react/components/divider/Divider.d.ts.map +1 -0
- package/dist/adapter-react/components/divider/Divider.js +31 -0
- package/dist/adapter-react/components/divider/Divider.js.map +1 -0
- package/dist/adapter-react/components/divider/index.d.ts +3 -0
- package/dist/adapter-react/components/divider/index.d.ts.map +1 -0
- package/dist/adapter-react/components/float-button/FloatButton.d.ts +17 -0
- package/dist/adapter-react/components/float-button/FloatButton.d.ts.map +1 -0
- package/dist/adapter-react/components/float-button/FloatButton.js +97 -0
- package/dist/adapter-react/components/float-button/FloatButton.js.map +1 -0
- package/dist/adapter-react/components/float-button/FloatButtonGroup.d.ts +9 -0
- package/dist/adapter-react/components/float-button/FloatButtonGroup.d.ts.map +1 -0
- package/dist/adapter-react/components/float-button/FloatButtonGroup.js +61 -0
- package/dist/adapter-react/components/float-button/FloatButtonGroup.js.map +1 -0
- package/dist/adapter-react/components/float-button/context.d.ts +3 -0
- package/dist/adapter-react/components/float-button/context.d.ts.map +1 -0
- package/dist/adapter-react/components/float-button/context.js +6 -0
- package/dist/adapter-react/components/float-button/context.js.map +1 -0
- package/dist/adapter-react/components/float-button/index.d.ts +5 -0
- package/dist/adapter-react/components/float-button/index.d.ts.map +1 -0
- package/dist/adapter-react/components/form/Form.d.ts +13 -0
- package/dist/adapter-react/components/form/Form.d.ts.map +1 -0
- package/dist/adapter-react/components/form/Form.js +355 -0
- package/dist/adapter-react/components/form/Form.js.map +1 -0
- package/dist/adapter-react/components/form/index.d.ts +4 -0
- package/dist/adapter-react/components/form/index.d.ts.map +1 -0
- package/dist/adapter-react/components/grid/Grid.d.ts +8 -0
- package/dist/adapter-react/components/grid/Grid.d.ts.map +1 -0
- package/dist/adapter-react/components/grid/Grid.js +51 -0
- package/dist/adapter-react/components/grid/Grid.js.map +1 -0
- package/dist/adapter-react/components/grid/GridItem.d.ts +8 -0
- package/dist/adapter-react/components/grid/GridItem.d.ts.map +1 -0
- package/dist/adapter-react/components/grid/GridItem.js +31 -0
- package/dist/adapter-react/components/grid/GridItem.js.map +1 -0
- package/dist/adapter-react/components/grid/index.d.ts +6 -0
- package/dist/adapter-react/components/grid/index.d.ts.map +1 -0
- package/dist/adapter-react/components/icon/Icon.d.ts +18 -0
- package/dist/adapter-react/components/icon/Icon.d.ts.map +1 -0
- package/dist/adapter-react/components/icon/Icon.js +51 -0
- package/dist/adapter-react/components/icon/Icon.js.map +1 -0
- package/dist/adapter-react/components/icon/index.d.ts +3 -0
- package/dist/adapter-react/components/icon/index.d.ts.map +1 -0
- package/dist/adapter-react/components/input/Input.d.ts +10 -0
- package/dist/adapter-react/components/input/Input.d.ts.map +1 -0
- package/dist/adapter-react/components/input/Input.js +79 -0
- package/dist/adapter-react/components/input/Input.js.map +1 -0
- package/dist/adapter-react/components/input/index.d.ts +3 -0
- package/dist/adapter-react/components/input/index.d.ts.map +1 -0
- package/dist/adapter-react/components/input-bar/InputBar.d.ts +9 -0
- package/dist/adapter-react/components/input-bar/InputBar.d.ts.map +1 -0
- package/dist/adapter-react/components/input-bar/InputBar.js +136 -0
- package/dist/adapter-react/components/input-bar/InputBar.js.map +1 -0
- package/dist/adapter-react/components/input-bar/index.d.ts +3 -0
- package/dist/adapter-react/components/input-bar/index.d.ts.map +1 -0
- package/dist/adapter-react/components/input-number/InputNumber.d.ts +9 -0
- package/dist/adapter-react/components/input-number/InputNumber.d.ts.map +1 -0
- package/dist/adapter-react/components/input-number/InputNumber.js +135 -0
- package/dist/adapter-react/components/input-number/InputNumber.js.map +1 -0
- package/dist/adapter-react/components/input-number/index.d.ts +2 -0
- package/dist/adapter-react/components/input-number/index.d.ts.map +1 -0
- package/dist/adapter-react/components/modal/Modal.d.ts +18 -0
- package/dist/adapter-react/components/modal/Modal.d.ts.map +1 -0
- package/dist/adapter-react/components/modal/Modal.js +108 -0
- package/dist/adapter-react/components/modal/Modal.js.map +1 -0
- package/dist/adapter-react/components/modal/index.d.ts +6 -0
- package/dist/adapter-react/components/modal/index.d.ts.map +1 -0
- package/dist/adapter-react/components/nav-menu/NavMenu.d.ts +11 -0
- package/dist/adapter-react/components/nav-menu/NavMenu.d.ts.map +1 -0
- package/dist/adapter-react/components/nav-menu/NavMenu.js +197 -0
- package/dist/adapter-react/components/nav-menu/NavMenu.js.map +1 -0
- package/dist/adapter-react/components/nav-menu/index.d.ts +3 -0
- package/dist/adapter-react/components/nav-menu/index.d.ts.map +1 -0
- package/dist/adapter-react/components/pagination/Pagination.d.ts +11 -0
- package/dist/adapter-react/components/pagination/Pagination.d.ts.map +1 -0
- package/dist/adapter-react/components/pagination/Pagination.js +128 -0
- package/dist/adapter-react/components/pagination/Pagination.js.map +1 -0
- package/dist/adapter-react/components/pagination/index.d.ts +3 -0
- package/dist/adapter-react/components/pagination/index.d.ts.map +1 -0
- package/dist/adapter-react/components/radio/Radio.d.ts +12 -0
- package/dist/adapter-react/components/radio/Radio.d.ts.map +1 -0
- package/dist/adapter-react/components/radio/Radio.js +83 -0
- package/dist/adapter-react/components/radio/Radio.js.map +1 -0
- package/dist/adapter-react/components/radio/RadioGroup.d.ts +24 -0
- package/dist/adapter-react/components/radio/RadioGroup.d.ts.map +1 -0
- package/dist/adapter-react/components/radio/RadioGroup.js +97 -0
- package/dist/adapter-react/components/radio/RadioGroup.js.map +1 -0
- package/dist/adapter-react/components/radio/index.d.ts +7 -0
- package/dist/adapter-react/components/radio/index.d.ts.map +1 -0
- package/dist/adapter-react/components/select/Select.d.ts +9 -0
- package/dist/adapter-react/components/select/Select.d.ts.map +1 -0
- package/dist/adapter-react/components/select/Select.js +189 -0
- package/dist/adapter-react/components/select/Select.js.map +1 -0
- package/dist/adapter-react/components/select/index.d.ts +3 -0
- package/dist/adapter-react/components/select/index.d.ts.map +1 -0
- package/dist/adapter-react/components/sidebar/Sidebar.d.ts +13 -0
- package/dist/adapter-react/components/sidebar/Sidebar.d.ts.map +1 -0
- package/dist/adapter-react/components/sidebar/Sidebar.js +242 -0
- package/dist/adapter-react/components/sidebar/Sidebar.js.map +1 -0
- package/dist/adapter-react/components/sidebar/index.d.ts +3 -0
- package/dist/adapter-react/components/sidebar/index.d.ts.map +1 -0
- package/dist/adapter-react/components/slider/Slider.d.ts +9 -0
- package/dist/adapter-react/components/slider/Slider.d.ts.map +1 -0
- package/dist/adapter-react/components/slider/Slider.js +150 -0
- package/dist/adapter-react/components/slider/Slider.js.map +1 -0
- package/dist/adapter-react/components/slider/index.d.ts +3 -0
- package/dist/adapter-react/components/slider/index.d.ts.map +1 -0
- package/dist/adapter-react/components/steps/Steps.d.ts +11 -0
- package/dist/adapter-react/components/steps/Steps.d.ts.map +1 -0
- package/dist/adapter-react/components/steps/Steps.js +172 -0
- package/dist/adapter-react/components/steps/Steps.js.map +1 -0
- package/dist/adapter-react/components/steps/index.d.ts +3 -0
- package/dist/adapter-react/components/steps/index.d.ts.map +1 -0
- package/dist/adapter-react/components/switch/Switch.d.ts +11 -0
- package/dist/adapter-react/components/switch/Switch.d.ts.map +1 -0
- package/dist/adapter-react/components/switch/Switch.js +98 -0
- package/dist/adapter-react/components/switch/Switch.js.map +1 -0
- package/dist/adapter-react/components/switch/index.d.ts +2 -0
- package/dist/adapter-react/components/switch/index.d.ts.map +1 -0
- package/dist/adapter-react/components/table/Table.d.ts +15 -0
- package/dist/adapter-react/components/table/Table.d.ts.map +1 -0
- package/dist/adapter-react/components/table/Table.js +211 -0
- package/dist/adapter-react/components/table/Table.js.map +1 -0
- package/dist/adapter-react/components/table/index.d.ts +3 -0
- package/dist/adapter-react/components/table/index.d.ts.map +1 -0
- package/dist/adapter-react/components/tabs/Tabs.d.ts +9 -0
- package/dist/adapter-react/components/tabs/Tabs.d.ts.map +1 -0
- package/dist/adapter-react/components/tabs/Tabs.js +62 -0
- package/dist/adapter-react/components/tabs/Tabs.js.map +1 -0
- package/dist/adapter-react/components/tabs/index.d.ts +2 -0
- package/dist/adapter-react/components/tabs/index.d.ts.map +1 -0
- package/dist/adapter-react/components/time-picker/TimePicker.d.ts +9 -0
- package/dist/adapter-react/components/time-picker/TimePicker.d.ts.map +1 -0
- package/dist/adapter-react/components/time-picker/TimePicker.js +271 -0
- package/dist/adapter-react/components/time-picker/TimePicker.js.map +1 -0
- package/dist/adapter-react/components/time-picker/index.d.ts +2 -0
- package/dist/adapter-react/components/time-picker/index.d.ts.map +1 -0
- package/dist/adapter-react/components/toast/Toast.d.ts +25 -0
- package/dist/adapter-react/components/toast/Toast.d.ts.map +1 -0
- package/dist/adapter-react/components/toast/Toast.js +223 -0
- package/dist/adapter-react/components/toast/Toast.js.map +1 -0
- package/dist/adapter-react/components/toast/index.d.ts +3 -0
- package/dist/adapter-react/components/toast/index.d.ts.map +1 -0
- package/dist/adapter-react/components/toolbars/Toolbar.d.ts +11 -0
- package/dist/adapter-react/components/toolbars/Toolbar.d.ts.map +1 -0
- package/dist/adapter-react/components/toolbars/Toolbar.js +66 -0
- package/dist/adapter-react/components/toolbars/Toolbar.js.map +1 -0
- package/dist/adapter-react/components/toolbars/index.d.ts +3 -0
- package/dist/adapter-react/components/toolbars/index.d.ts.map +1 -0
- package/dist/adapter-react/components/tooltip/Tooltip.d.ts +9 -0
- package/dist/adapter-react/components/tooltip/Tooltip.d.ts.map +1 -0
- package/dist/adapter-react/components/tooltip/Tooltip.js +141 -0
- package/dist/adapter-react/components/tooltip/Tooltip.js.map +1 -0
- package/dist/adapter-react/components/tooltip/index.d.ts +2 -0
- package/dist/adapter-react/components/tooltip/index.d.ts.map +1 -0
- package/dist/adapter-react/hooks/index.d.ts +12 -0
- package/dist/adapter-react/hooks/index.d.ts.map +1 -0
- package/dist/adapter-react/hooks/index.js +43 -0
- package/dist/adapter-react/hooks/index.js.map +1 -0
- package/dist/adapter-react/hooks/useControlled.d.ts +7 -0
- package/dist/adapter-react/hooks/useControlled.d.ts.map +1 -0
- package/dist/adapter-react/hooks/useControlled.js +21 -0
- package/dist/adapter-react/hooks/useControlled.js.map +1 -0
- package/dist/adapter-react/hooks/useEvent.d.ts +2 -0
- package/dist/adapter-react/hooks/useEvent.d.ts.map +1 -0
- package/dist/adapter-react/hooks/useMergedState.d.ts +4 -0
- package/dist/adapter-react/hooks/useMergedState.d.ts.map +1 -0
- package/dist/adapter-react/hooks/useMergedState.js +15 -0
- package/dist/adapter-react/hooks/useMergedState.js.map +1 -0
- package/dist/adapter-react/index.d.ts +37 -0
- package/dist/adapter-react/index.d.ts.map +1 -0
- package/dist/adapter-react/runtime/createComponent.d.ts +3 -0
- package/dist/adapter-react/runtime/createComponent.d.ts.map +1 -0
- package/dist/adapter-react/runtime/createComponent.js +6 -0
- package/dist/adapter-react/runtime/createComponent.js.map +1 -0
- package/dist/adapter-react/runtime/createProps.d.ts +2 -0
- package/dist/adapter-react/runtime/createProps.d.ts.map +1 -0
- package/dist/adapter-react/runtime/forwardRef.d.ts +3 -0
- package/dist/adapter-react/runtime/forwardRef.d.ts.map +1 -0
- package/dist/adapter-react/runtime/forwardRef.js +6 -0
- package/dist/adapter-react/runtime/forwardRef.js.map +1 -0
- package/dist/adapter-react/runtime/index.d.ts +5 -0
- package/dist/adapter-react/runtime/index.d.ts.map +1 -0
- package/dist/adapter-react/runtime/withInstall.d.ts +3 -0
- package/dist/adapter-react/runtime/withInstall.d.ts.map +1 -0
- package/dist/adapter-react/runtime/withInstall.js +6 -0
- package/dist/adapter-react/runtime/withInstall.js.map +1 -0
- package/dist/adapter-react/style/index.d.ts +2 -0
- package/dist/adapter-react/style/index.d.ts.map +1 -0
- package/dist/adapter-react/style/injectStyle.d.ts +2 -0
- package/dist/adapter-react/style/injectStyle.d.ts.map +1 -0
- package/dist/adapter-react/types.d.ts +6 -0
- package/dist/adapter-react/types.d.ts.map +1 -0
- package/dist/breadcrumb/index.d.ts +2 -2
- package/dist/breadcrumb/index.js +34 -1
- package/dist/breadcrumb/index.js.map +1 -0
- package/dist/breadcrumb/style.css +219 -1
- package/dist/button/index.d.ts +2 -2
- package/dist/button/index.js +34 -1
- package/dist/button/index.js.map +1 -0
- package/dist/button/style.css +151 -1
- package/dist/carousel/index.d.ts +2 -2
- package/dist/carousel/index.js +34 -1
- package/dist/carousel/index.js.map +1 -0
- package/dist/carousel/style.css +196 -1
- package/dist/checkbox/index.d.ts +3 -3
- package/dist/checkbox/index.js +34 -2
- package/dist/checkbox/index.js.map +1 -0
- package/dist/checkbox/style.css +135 -1
- package/dist/components/breadcrumb/index.d.ts +61 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/index.js +49 -0
- package/dist/components/breadcrumb/index.js.map +1 -0
- package/dist/components/breadcrumb/style.css +219 -0
- package/dist/components/button/index.d.ts +15 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +11 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/style.css +151 -0
- package/dist/components/carousel/index.d.ts +38 -0
- package/dist/components/carousel/index.d.ts.map +1 -0
- package/dist/components/carousel/index.js +33 -0
- package/dist/components/carousel/index.js.map +1 -0
- package/dist/components/carousel/style.css +196 -0
- package/dist/components/checkbox/index.d.ts +36 -0
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +34 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/checkbox/style.css +135 -0
- package/dist/components/date-picker/index.d.ts +53 -0
- package/dist/components/date-picker/index.d.ts.map +1 -0
- package/dist/components/date-picker/index.js +105 -0
- package/dist/components/date-picker/index.js.map +1 -0
- package/dist/components/date-picker/style.css +491 -0
- package/dist/components/divider/index.d.ts +12 -0
- package/dist/components/divider/index.d.ts.map +1 -0
- package/dist/components/divider/index.js +23 -0
- package/dist/components/divider/index.js.map +1 -0
- package/dist/components/divider/style.css +100 -0
- package/dist/components/float-button/index.d.ts +32 -0
- package/dist/components/float-button/index.d.ts.map +1 -0
- package/dist/components/float-button/index.js +23 -0
- package/dist/components/float-button/index.js.map +1 -0
- package/dist/components/float-button/style.css +176 -0
- package/dist/components/form/index.d.ts +79 -0
- package/dist/components/form/index.d.ts.map +1 -0
- package/dist/components/form/index.js +144 -0
- package/dist/components/form/index.js.map +1 -0
- package/dist/components/form/style.css +79 -0
- package/dist/components/grid/index.d.ts +34 -0
- package/dist/components/grid/index.d.ts.map +1 -0
- package/dist/components/grid/index.js +109 -0
- package/dist/components/grid/index.js.map +1 -0
- package/dist/components/grid/style.css +189 -0
- package/dist/components/icon/index.d.ts +35 -0
- package/dist/components/icon/index.d.ts.map +1 -0
- package/dist/components/icon/index.js +16 -0
- package/dist/components/icon/index.js.map +1 -0
- package/dist/components/icon/style.css +28 -0
- package/dist/components/input/index.d.ts +29 -0
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/index.js +19 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/style.css +110 -0
- package/dist/components/input-bar/index.d.ts +31 -0
- package/dist/components/input-bar/index.d.ts.map +1 -0
- package/dist/components/input-bar/index.js +18 -0
- package/dist/components/input-bar/index.js.map +1 -0
- package/dist/components/input-bar/style.css +180 -0
- package/dist/components/input-number/index.d.ts +28 -0
- package/dist/components/input-number/index.d.ts.map +1 -0
- package/dist/components/input-number/index.js +21 -0
- package/dist/components/input-number/index.js.map +1 -0
- package/dist/components/input-number/style.css +109 -0
- package/dist/components/modal/index.d.ts +17 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/index.js +10 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/modal/style.css +150 -0
- package/dist/components/nav-menu/index.d.ts +35 -0
- package/dist/components/nav-menu/index.d.ts.map +1 -0
- package/dist/components/nav-menu/index.js +47 -0
- package/dist/components/nav-menu/index.js.map +1 -0
- package/dist/components/nav-menu/style.css +241 -0
- package/dist/components/pagination/index.d.ts +32 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/index.js +35 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/pagination/style.css +150 -0
- package/dist/components/radio/index.d.ts +45 -0
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +48 -0
- package/dist/components/radio/index.js.map +1 -0
- package/dist/components/radio/style.css +294 -0
- package/dist/components/select/index.d.ts +30 -0
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/index.js +16 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/style.css +255 -0
- package/dist/components/sidebar/index.d.ts +19 -0
- package/dist/components/sidebar/index.d.ts.map +1 -0
- package/dist/components/sidebar/index.js +23 -0
- package/dist/components/sidebar/index.js.map +1 -0
- package/dist/components/sidebar/style.css +270 -0
- package/dist/components/slider/index.d.ts +29 -0
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/slider/index.js +24 -0
- package/dist/components/slider/index.js.map +1 -0
- package/dist/components/slider/style.css +206 -0
- package/dist/components/src/index.d.ts +28 -0
- package/dist/components/src/index.d.ts.map +1 -0
- package/dist/components/steps/index.d.ts +41 -0
- package/dist/components/steps/index.d.ts.map +1 -0
- package/dist/components/steps/index.js +32 -0
- package/dist/components/steps/index.js.map +1 -0
- package/dist/components/steps/style.css +286 -0
- package/dist/components/switch/index.d.ts +16 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/index.js +17 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/switch/style.css +160 -0
- package/dist/components/table/index.d.ts +49 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/index.js +74 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/table/style.css +131 -0
- package/dist/components/tabs/index.d.ts +34 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/index.js +21 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tabs/style.css +146 -0
- package/dist/components/time-picker/index.d.ts +56 -0
- package/dist/components/time-picker/index.d.ts.map +1 -0
- package/dist/components/time-picker/index.js +84 -0
- package/dist/components/time-picker/index.js.map +1 -0
- package/dist/components/time-picker/style.css +258 -0
- package/dist/components/toast/index.d.ts +41 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/index.js +24 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toast/style.css +117 -0
- package/dist/components/toolbars/index.d.ts +31 -0
- package/dist/components/toolbars/index.d.ts.map +1 -0
- package/dist/components/toolbars/index.js +32 -0
- package/dist/components/toolbars/index.js.map +1 -0
- package/dist/components/toolbars/style.css +220 -0
- package/dist/components/tooltip/index.d.ts +31 -0
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js +17 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/tooltip/style.css +138 -0
- package/dist/date-picker/index.d.ts +2 -2
- package/dist/date-picker/index.js +34 -1
- package/dist/date-picker/index.js.map +1 -0
- package/dist/date-picker/style.css +491 -1
- package/dist/divider/index.d.ts +2 -2
- package/dist/divider/index.js +34 -1
- package/dist/divider/index.js.map +1 -0
- package/dist/divider/style.css +100 -1
- package/dist/float-button/index.d.ts +2 -2
- package/dist/float-button/index.js +34 -1
- package/dist/float-button/index.js.map +1 -0
- package/dist/float-button/style.css +176 -1
- package/dist/form/index.d.ts +2 -2
- package/dist/form/index.js +34 -1
- package/dist/form/index.js.map +1 -0
- package/dist/form/style.css +79 -1
- package/dist/grid/index.d.ts +2 -2
- package/dist/grid/index.js +34 -1
- package/dist/grid/index.js.map +1 -0
- package/dist/grid/style.css +189 -1
- package/dist/icon/index.d.ts +2 -2
- package/dist/icon/index.js +34 -1
- package/dist/icon/index.js.map +1 -0
- package/dist/icon/style.css +28 -1
- package/dist/icons/react/add_circle.js +30 -0
- package/dist/icons/react/add_circle.js.map +1 -0
- package/dist/icons/react/arrow_back.js +24 -0
- package/dist/icons/react/arrow_back.js.map +1 -0
- package/dist/icons/react/arrow_drop_down.js +26 -0
- package/dist/icons/react/arrow_drop_down.js.map +1 -0
- package/dist/icons/react/arrow_forward.js +26 -0
- package/dist/icons/react/arrow_forward.js.map +1 -0
- package/dist/icons/react/calendar_month.js +26 -0
- package/dist/icons/react/calendar_month.js.map +1 -0
- package/dist/icons/react/check.js +24 -0
- package/dist/icons/react/check.js.map +1 -0
- package/dist/icons/react/chevron_right.js +26 -0
- package/dist/icons/react/chevron_right.js.map +1 -0
- package/dist/icons/react/close.js +24 -0
- package/dist/icons/react/close.js.map +1 -0
- package/dist/icons/react/config.js +32 -0
- package/dist/icons/react/config.js.map +1 -0
- package/dist/icons/react/dark_mode.js +24 -0
- package/dist/icons/react/dark_mode.js.map +1 -0
- package/dist/icons/react/do_not_disturb_on.js +32 -0
- package/dist/icons/react/do_not_disturb_on.js.map +1 -0
- package/dist/icons/react/error.js +24 -0
- package/dist/icons/react/error.js.map +1 -0
- package/dist/icons/react/home.js +27 -0
- package/dist/icons/react/home.js.map +1 -0
- package/dist/icons/react/index.js +27 -0
- package/dist/icons/react/index.js.map +1 -0
- package/dist/icons/react/info.js +30 -0
- package/dist/icons/react/info.js.map +1 -0
- package/dist/icons/react/logo_Block.js +30 -0
- package/dist/icons/react/logo_Block.js.map +1 -0
- package/dist/icons/react/logo_Horizontal.js +32 -0
- package/dist/icons/react/logo_Horizontal.js.map +1 -0
- package/dist/icons/react/looks_3.js +24 -0
- package/dist/icons/react/looks_3.js.map +1 -0
- package/dist/icons/react/looks_one.js +30 -0
- package/dist/icons/react/looks_one.js.map +1 -0
- package/dist/icons/react/looks_two.js +24 -0
- package/dist/icons/react/looks_two.js.map +1 -0
- package/dist/icons/react/menu.js +24 -0
- package/dist/icons/react/menu.js.map +1 -0
- package/dist/icons/react/menu_open.js +24 -0
- package/dist/icons/react/menu_open.js.map +1 -0
- package/dist/icons/react/more_horiz.js +27 -0
- package/dist/icons/react/more_horiz.js.map +1 -0
- package/dist/icons/react/schedule.js +24 -0
- package/dist/icons/react/schedule.js.map +1 -0
- package/dist/icons/react/search.js +30 -0
- package/dist/icons/react/search.js.map +1 -0
- package/dist/icons/react/sunny.js +24 -0
- package/dist/icons/react/sunny.js.map +1 -0
- package/dist/icons/react/warning.js +30 -0
- package/dist/icons/react/warning.js.map +1 -0
- package/dist/index.css +5214 -0
- package/dist/index.css.map +1 -0
- package/dist/input/index.d.ts +2 -2
- package/dist/input/index.js +34 -1
- package/dist/input/index.js.map +1 -0
- package/dist/input/style.css +110 -1
- package/dist/input-bar/index.d.ts +2 -2
- package/dist/input-bar/index.js +34 -1
- package/dist/input-bar/index.js.map +1 -0
- package/dist/input-bar/style.css +180 -1
- package/dist/input-number/index.d.ts +1 -1
- package/dist/input-number/index.js +34 -1
- package/dist/input-number/index.js.map +1 -0
- package/dist/input-number/style.css +109 -1
- package/dist/modal/index.d.ts +2 -2
- package/dist/modal/index.js +34 -1
- package/dist/modal/index.js.map +1 -0
- package/dist/modal/style.css +150 -1
- package/dist/nav-menu/index.d.ts +2 -2
- package/dist/nav-menu/index.js +34 -1
- package/dist/nav-menu/index.js.map +1 -0
- package/dist/nav-menu/style.css +241 -1
- package/dist/pagination/index.d.ts +1 -1
- package/dist/pagination/index.js +34 -1
- package/dist/pagination/index.js.map +1 -0
- package/dist/pagination/style.css +150 -1
- package/dist/radio/index.d.ts +3 -3
- package/dist/radio/index.js +34 -2
- package/dist/radio/index.js.map +1 -0
- package/dist/radio/style.css +294 -1
- package/dist/select/index.d.ts +2 -2
- package/dist/select/index.js +34 -1
- package/dist/select/index.js.map +1 -0
- package/dist/select/style.css +255 -1
- package/dist/sidebar/index.d.ts +2 -2
- package/dist/sidebar/index.js +34 -1
- package/dist/sidebar/index.js.map +1 -0
- package/dist/sidebar/style.css +270 -1
- package/dist/slider/index.d.ts +2 -2
- package/dist/slider/index.js +34 -1
- package/dist/slider/index.js.map +1 -0
- package/dist/slider/style.css +206 -1
- package/dist/src/index.js +33 -31
- package/dist/src/index.js.map +1 -0
- package/dist/steps/index.d.ts +1 -1
- package/dist/steps/index.js +34 -1
- package/dist/steps/index.js.map +1 -0
- package/dist/steps/style.css +286 -1
- package/dist/style.css +2 -0
- package/dist/switch/index.d.ts +2 -2
- package/dist/switch/index.js +34 -1
- package/dist/switch/index.js.map +1 -0
- package/dist/switch/style.css +160 -1
- package/dist/table/index.d.ts +1 -1
- package/dist/table/index.js +34 -1
- package/dist/table/index.js.map +1 -0
- package/dist/table/style.css +131 -1
- package/dist/tabs/index.d.ts +2 -2
- package/dist/tabs/index.js +34 -1
- package/dist/tabs/index.js.map +1 -0
- package/dist/tabs/style.css +146 -1
- package/dist/theme.css +183 -0
- package/dist/time-picker/index.d.ts +2 -2
- package/dist/time-picker/index.js +34 -1
- package/dist/time-picker/index.js.map +1 -0
- package/dist/time-picker/style.css +258 -1
- package/dist/toast/index.d.ts +4 -4
- package/dist/toast/index.js +38 -3
- package/dist/toast/index.js.map +1 -0
- package/dist/toast/style.css +117 -1
- package/dist/toolbars/index.d.ts +3 -3
- package/dist/toolbars/index.js +34 -1
- package/dist/toolbars/index.js.map +1 -0
- package/dist/toolbars/style.css +220 -1
- package/dist/tooltip/index.d.ts +1 -1
- package/dist/tooltip/index.js +34 -1
- package/dist/tooltip/index.js.map +1 -0
- package/dist/tooltip/style.css +138 -1
- package/dist/utils/src/index.js +6 -0
- package/dist/utils/src/index.js.map +1 -0
- package/package.json +9 -7
- package/dist/tsconfig.tsbuildinfo +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAA;AACxC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type ChangeEvent, type ReactNode } from 'react';
|
|
2
|
+
import { type InputProps as BaseInputProps } from '../../../components/input/index';
|
|
3
|
+
import '../../../components/input/style.css';
|
|
4
|
+
export interface InputProps extends Omit<BaseInputProps, 'onChange' | 'icon'> {
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
onChange?: (value: string, event?: ChangeEvent<HTMLInputElement> | ChangeEvent<HTMLTextAreaElement>) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const Input: import("../..").ComponentWithInstall<import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement | HTMLTextAreaElement>>>;
|
|
9
|
+
export default Input;
|
|
10
|
+
//# sourceMappingURL=Input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../components/input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAChE,OAAO,EAAsB,KAAK,UAAU,IAAI,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAM/F,OAAO,mCAAmC,CAAA;AAE1C,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,MAAM,CAAC;IAC3E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,CACT,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC,mBAAmB,CAAC,KACrE,IAAI,CAAA;CACV;AAuFD,eAAO,MAAM,KAAK,qKAA8B,CAAA;AAEhD,eAAe,KAAK,CAAA"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef } from 'react';
|
|
3
|
+
import { getInputClassNames } from '../../../components/input/index.js';
|
|
4
|
+
import { createComponent } from '../../runtime/createComponent.js';
|
|
5
|
+
import { withInstall } from '../../runtime/withInstall.js';
|
|
6
|
+
import { forwardRef } from '../../runtime/forwardRef.js';
|
|
7
|
+
import IconComponent from '../icon/Icon.js';
|
|
8
|
+
import { mergeRefs } from '../../hooks/index.js';
|
|
9
|
+
import { cn } from '../../../utils/src/index.js';
|
|
10
|
+
import { useMergedState } from '../../hooks/useMergedState.js';
|
|
11
|
+
|
|
12
|
+
const InputComponent = createComponent(
|
|
13
|
+
forwardRef((props, ref) => {
|
|
14
|
+
const {
|
|
15
|
+
label,
|
|
16
|
+
type = "text",
|
|
17
|
+
status = "default",
|
|
18
|
+
disabled = false,
|
|
19
|
+
value,
|
|
20
|
+
placeholder = "",
|
|
21
|
+
icon,
|
|
22
|
+
rows = 3,
|
|
23
|
+
className,
|
|
24
|
+
onChange
|
|
25
|
+
} = props;
|
|
26
|
+
const inputRef = useRef(null);
|
|
27
|
+
const [currentValue, setCurrentValue] = useMergedState(value ?? "", { value });
|
|
28
|
+
const classNames = cn(
|
|
29
|
+
getInputClassNames({ type, status, disabled, icon }),
|
|
30
|
+
className
|
|
31
|
+
);
|
|
32
|
+
const handleChange = (event) => {
|
|
33
|
+
setCurrentValue(event.target.value);
|
|
34
|
+
onChange?.(event.target.value, event);
|
|
35
|
+
};
|
|
36
|
+
if (type === "textarea") {
|
|
37
|
+
const content2 = /* @__PURE__ */ jsx("div", { className: classNames, children: /* @__PURE__ */ jsx(
|
|
38
|
+
"textarea",
|
|
39
|
+
{
|
|
40
|
+
ref,
|
|
41
|
+
className: "css-input__control css-input__control--textarea",
|
|
42
|
+
value: currentValue,
|
|
43
|
+
placeholder,
|
|
44
|
+
rows,
|
|
45
|
+
disabled,
|
|
46
|
+
onChange: handleChange
|
|
47
|
+
}
|
|
48
|
+
) });
|
|
49
|
+
return label ? /* @__PURE__ */ jsxs("div", { className: "css-input-field", children: [
|
|
50
|
+
/* @__PURE__ */ jsx("span", { className: "css-input-field__label", children: label }),
|
|
51
|
+
content2
|
|
52
|
+
] }) : content2;
|
|
53
|
+
}
|
|
54
|
+
const content = /* @__PURE__ */ jsxs("div", { className: classNames, children: [
|
|
55
|
+
/* @__PURE__ */ jsx(
|
|
56
|
+
"input",
|
|
57
|
+
{
|
|
58
|
+
ref: mergeRefs(ref, inputRef),
|
|
59
|
+
type,
|
|
60
|
+
className: "css-input__control",
|
|
61
|
+
value: currentValue,
|
|
62
|
+
placeholder,
|
|
63
|
+
disabled,
|
|
64
|
+
onChange: handleChange
|
|
65
|
+
}
|
|
66
|
+
),
|
|
67
|
+
type === "search" || icon ? /* @__PURE__ */ jsx("span", { className: "css-input__icon", children: icon ?? /* @__PURE__ */ jsx(IconComponent, { name: "Search", size: 16 }) }) : null
|
|
68
|
+
] });
|
|
69
|
+
return label ? /* @__PURE__ */ jsxs("div", { className: "css-input-field", children: [
|
|
70
|
+
/* @__PURE__ */ jsx("span", { className: "css-input-field__label", children: label }),
|
|
71
|
+
content
|
|
72
|
+
] }) : content;
|
|
73
|
+
})
|
|
74
|
+
);
|
|
75
|
+
InputComponent.displayName = "CssInput";
|
|
76
|
+
const Input = withInstall(InputComponent);
|
|
77
|
+
|
|
78
|
+
export { Input, Input as default };
|
|
79
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../../../adapter-react/components/input/Input.tsx"],"sourcesContent":["import { useRef, type ChangeEvent, type ReactNode } from 'react'\nimport { getInputClassNames, type InputProps as BaseInputProps } from '@cssui/components/input'\nimport { forwardRef, createComponent, withInstall } from '../../runtime'\nimport Icon from '../icon/Icon'\nimport { mergeRefs, useMergedState } from '../../hooks'\nimport { cn } from '@cssui/utils'\n\nimport '@cssui/components/input/style.css'\n\nexport interface InputProps extends Omit<BaseInputProps, 'onChange' | 'icon'> {\n icon?: ReactNode\n onChange?: (\n value: string,\n event?: ChangeEvent<HTMLInputElement> | ChangeEvent<HTMLTextAreaElement>\n ) => void\n}\n\nconst InputComponent = createComponent(\n forwardRef<HTMLInputElement | HTMLTextAreaElement, InputProps>((props, ref) => {\n const {\n label,\n type = 'text',\n status = 'default',\n disabled = false,\n value,\n placeholder = '',\n icon,\n rows = 3,\n className,\n onChange,\n } = props\n\n const inputRef = useRef<HTMLInputElement>(null)\n const [currentValue, setCurrentValue] = useMergedState(value ?? '', { value })\n\n const classNames = cn(\n getInputClassNames({ type, status, disabled, icon: icon as string }),\n className\n )\n\n const handleChange = (\n event: ChangeEvent<HTMLInputElement> | ChangeEvent<HTMLTextAreaElement>\n ) => {\n setCurrentValue(event.target.value)\n onChange?.(event.target.value, event)\n }\n\n if (type === 'textarea') {\n const content = (\n <div className={classNames}>\n <textarea\n ref={ref as React.ForwardedRef<HTMLTextAreaElement>}\n className=\"css-input__control css-input__control--textarea\"\n value={currentValue}\n placeholder={placeholder}\n rows={rows}\n disabled={disabled}\n onChange={handleChange}\n />\n </div>\n )\n\n return label ? (\n <div className=\"css-input-field\">\n <span className=\"css-input-field__label\">{label}</span>\n {content}\n </div>\n ) : (\n content\n )\n }\n\n const content = (\n <div className={classNames}>\n <input\n ref={mergeRefs(ref as React.Ref<HTMLInputElement>, inputRef)}\n type={type}\n className=\"css-input__control\"\n value={currentValue}\n placeholder={placeholder}\n disabled={disabled}\n onChange={handleChange}\n />\n {type === 'search' || icon ? (\n <span className=\"css-input__icon\">{icon ?? <Icon name=\"Search\" size={16} />}</span>\n ) : null}\n </div>\n )\n\n return label ? (\n <div className=\"css-input-field\">\n <span className=\"css-input-field__label\">{label}</span>\n {content}\n </div>\n ) : (\n content\n )\n })\n)\n\nInputComponent.displayName = 'CssInput'\n\nexport const Input = withInstall(InputComponent)\n\nexport default Input\n"],"names":["content","Icon"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/input/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type InputBarProps as BaseInputBarProps } from '../../../components/input-bar/index';
|
|
2
|
+
import '../../../components/input-bar/style.css';
|
|
3
|
+
export interface InputBarProps extends BaseInputBarProps {
|
|
4
|
+
/** 非受控默认值 */
|
|
5
|
+
defaultValue?: number;
|
|
6
|
+
}
|
|
7
|
+
export declare const InputBar: import("../..").ComponentWithInstall<import("react").ForwardRefExoticComponent<InputBarProps & import("react").RefAttributes<HTMLInputElement>>>;
|
|
8
|
+
export default InputBar;
|
|
9
|
+
//# sourceMappingURL=InputBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputBar.d.ts","sourceRoot":"","sources":["../../../components/input-bar/InputBar.tsx"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,aAAa,IAAI,iBAAiB,EACxC,MAAM,6BAA6B,CAAA;AAGpC,OAAO,uCAAuC,CAAA;AAE9C,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,aAAa;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AA8ID,eAAO,MAAM,QAAQ,kJAAiC,CAAA;AACtD,eAAe,QAAQ,CAAA"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useRef, useCallback } from 'react';
|
|
3
|
+
import { getInputBarClassNames, getInputBarPercent } from '../../../components/input-bar/index.js';
|
|
4
|
+
import { createComponent } from '../../runtime/createComponent.js';
|
|
5
|
+
import { withInstall } from '../../runtime/withInstall.js';
|
|
6
|
+
import { forwardRef } from '../../runtime/forwardRef.js';
|
|
7
|
+
|
|
8
|
+
const InputBarComponent = createComponent(
|
|
9
|
+
forwardRef((props, ref) => {
|
|
10
|
+
const {
|
|
11
|
+
label,
|
|
12
|
+
value: controlledValue,
|
|
13
|
+
defaultValue,
|
|
14
|
+
threshold = 25,
|
|
15
|
+
min = 0,
|
|
16
|
+
max = 100,
|
|
17
|
+
step = 1,
|
|
18
|
+
disabled = false,
|
|
19
|
+
unit = "",
|
|
20
|
+
placeholder = "",
|
|
21
|
+
onChange
|
|
22
|
+
} = props;
|
|
23
|
+
const [internalValue, setInternalValue] = useState(controlledValue ?? defaultValue ?? min);
|
|
24
|
+
const [isFocused, setIsFocused] = useState(false);
|
|
25
|
+
const inputRef = useRef(null);
|
|
26
|
+
const isControlled = controlledValue !== void 0;
|
|
27
|
+
const currentValue = isControlled ? controlledValue : internalValue;
|
|
28
|
+
const percent = getInputBarPercent(currentValue, min, max);
|
|
29
|
+
const normalizedThreshold = Math.min(Math.max(threshold, min), max);
|
|
30
|
+
const thresholdPercent = getInputBarPercent(normalizedThreshold, min, max);
|
|
31
|
+
const isError = currentValue < normalizedThreshold || currentValue > max;
|
|
32
|
+
const updateValue = useCallback(
|
|
33
|
+
(newValue) => {
|
|
34
|
+
if (!isControlled) {
|
|
35
|
+
setInternalValue(newValue);
|
|
36
|
+
}
|
|
37
|
+
onChange?.(newValue);
|
|
38
|
+
},
|
|
39
|
+
[onChange, isControlled]
|
|
40
|
+
);
|
|
41
|
+
const handleInputChange = useCallback(
|
|
42
|
+
(e) => {
|
|
43
|
+
const raw = e.target.value;
|
|
44
|
+
if (raw === "") {
|
|
45
|
+
if (!isControlled) {
|
|
46
|
+
setInternalValue(min);
|
|
47
|
+
}
|
|
48
|
+
onChange?.(min);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const num = Number(raw);
|
|
52
|
+
if (isNaN(num)) return;
|
|
53
|
+
updateValue(num);
|
|
54
|
+
},
|
|
55
|
+
[isControlled, min, updateValue]
|
|
56
|
+
);
|
|
57
|
+
const handleBlur = useCallback(
|
|
58
|
+
(e) => {
|
|
59
|
+
setIsFocused(false);
|
|
60
|
+
const raw = e.target.value;
|
|
61
|
+
if (raw === "") return;
|
|
62
|
+
const num = Number(raw);
|
|
63
|
+
if (isNaN(num)) return;
|
|
64
|
+
const stepped = Math.round(num / step) * step;
|
|
65
|
+
if (!isControlled) {
|
|
66
|
+
setInternalValue(stepped);
|
|
67
|
+
}
|
|
68
|
+
if (stepped !== currentValue) {
|
|
69
|
+
onChange?.(stepped);
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
[step, isControlled, currentValue, onChange]
|
|
73
|
+
);
|
|
74
|
+
const handleFocus = useCallback(() => {
|
|
75
|
+
setIsFocused(true);
|
|
76
|
+
}, []);
|
|
77
|
+
const handleClick = useCallback(() => {
|
|
78
|
+
if (disabled) return;
|
|
79
|
+
inputRef.current?.focus();
|
|
80
|
+
inputRef.current?.select();
|
|
81
|
+
}, [disabled]);
|
|
82
|
+
const displayValue = isFocused && !isControlled ? internalValue === min && internalValue === defaultValue ? "" : internalValue : currentValue;
|
|
83
|
+
const content = /* @__PURE__ */ jsxs("div", { className: getInputBarClassNames({ disabled, error: isError }), children: [
|
|
84
|
+
/* @__PURE__ */ jsxs("div", { className: "css-input-bar__input-wrapper", children: [
|
|
85
|
+
/* @__PURE__ */ jsx(
|
|
86
|
+
"input",
|
|
87
|
+
{
|
|
88
|
+
ref: ref || inputRef,
|
|
89
|
+
type: "number",
|
|
90
|
+
className: "css-input-bar__input-box",
|
|
91
|
+
value: displayValue,
|
|
92
|
+
min,
|
|
93
|
+
max,
|
|
94
|
+
step,
|
|
95
|
+
disabled,
|
|
96
|
+
placeholder,
|
|
97
|
+
onChange: handleInputChange,
|
|
98
|
+
onBlur: handleBlur,
|
|
99
|
+
onFocus: handleFocus
|
|
100
|
+
}
|
|
101
|
+
),
|
|
102
|
+
unit && /* @__PURE__ */ jsx("span", { className: "css-input-bar__suffix", children: unit })
|
|
103
|
+
] }),
|
|
104
|
+
/* @__PURE__ */ jsxs("div", { className: "css-input-bar__track", onClick: handleClick, children: [
|
|
105
|
+
/* @__PURE__ */ jsx("div", { className: "css-input-bar__fill", style: { width: `${percent * 100}%` } }),
|
|
106
|
+
/* @__PURE__ */ jsx(
|
|
107
|
+
"div",
|
|
108
|
+
{
|
|
109
|
+
className: "css-input-bar__threshold-line",
|
|
110
|
+
style: { left: `${thresholdPercent * 100}%` }
|
|
111
|
+
}
|
|
112
|
+
)
|
|
113
|
+
] }),
|
|
114
|
+
/* @__PURE__ */ jsxs("div", { className: "css-input-bar__labels", children: [
|
|
115
|
+
/* @__PURE__ */ jsx(
|
|
116
|
+
"span",
|
|
117
|
+
{
|
|
118
|
+
className: "css-input-bar__threshold-value",
|
|
119
|
+
style: { left: `${thresholdPercent * 100}%` },
|
|
120
|
+
children: normalizedThreshold
|
|
121
|
+
}
|
|
122
|
+
),
|
|
123
|
+
/* @__PURE__ */ jsx("span", { children: min }),
|
|
124
|
+
/* @__PURE__ */ jsx("span", { children: max })
|
|
125
|
+
] })
|
|
126
|
+
] });
|
|
127
|
+
return label ? /* @__PURE__ */ jsxs("div", { className: "css-input-bar-field", children: [
|
|
128
|
+
/* @__PURE__ */ jsx("span", { className: "css-input-bar-field__label", children: label }),
|
|
129
|
+
content
|
|
130
|
+
] }) : content;
|
|
131
|
+
})
|
|
132
|
+
);
|
|
133
|
+
const InputBar = withInstall(InputBarComponent);
|
|
134
|
+
|
|
135
|
+
export { InputBar, InputBar as default };
|
|
136
|
+
//# sourceMappingURL=InputBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputBar.js","sources":["../../../../../adapter-react/components/input-bar/InputBar.tsx"],"sourcesContent":["import { useCallback, useRef, useState } from 'react'\nimport {\n getInputBarClassNames,\n getInputBarPercent,\n type InputBarProps as BaseInputBarProps,\n} from '@cssui/components/input-bar'\nimport { forwardRef, createComponent, withInstall } from '../../runtime'\n\nimport '@cssui/components/input-bar/style.css'\n\nexport interface InputBarProps extends BaseInputBarProps {\n /** 非受控默认值 */\n defaultValue?: number\n}\n\nconst InputBarComponent = createComponent(\n forwardRef<HTMLInputElement, InputBarProps>((props, ref) => {\n const {\n label,\n value: controlledValue,\n defaultValue,\n threshold = 25,\n min = 0,\n max = 100,\n step = 1,\n disabled = false,\n unit = '',\n placeholder = '',\n onChange,\n } = props\n\n const [internalValue, setInternalValue] = useState(controlledValue ?? defaultValue ?? min)\n const [isFocused, setIsFocused] = useState(false)\n const inputRef = useRef<HTMLInputElement>(null)\n\n const isControlled = controlledValue !== undefined\n const currentValue = isControlled ? controlledValue : internalValue\n\n const percent = getInputBarPercent(currentValue, min, max)\n const normalizedThreshold = Math.min(Math.max(threshold, min), max)\n const thresholdPercent = getInputBarPercent(normalizedThreshold, min, max)\n const isError = currentValue < normalizedThreshold || currentValue > max\n\n const updateValue = useCallback(\n (newValue: number) => {\n if (!isControlled) {\n setInternalValue(newValue)\n }\n onChange?.(newValue)\n },\n [onChange, isControlled]\n )\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const raw = e.target.value\n if (raw === '') {\n if (!isControlled) {\n setInternalValue(min)\n }\n onChange?.(min)\n return\n }\n const num = Number(raw)\n if (isNaN(num)) return\n updateValue(num)\n },\n [isControlled, min, updateValue]\n )\n\n const handleBlur = useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setIsFocused(false)\n const raw = e.target.value\n if (raw === '') return\n const num = Number(raw)\n if (isNaN(num)) return\n const stepped = Math.round(num / step) * step\n if (!isControlled) {\n setInternalValue(stepped)\n }\n if (stepped !== currentValue) {\n onChange?.(stepped)\n }\n },\n [step, isControlled, currentValue, onChange]\n )\n\n const handleFocus = useCallback(() => {\n setIsFocused(true)\n }, [])\n\n const handleClick = useCallback(() => {\n if (disabled) return\n inputRef.current?.focus()\n inputRef.current?.select()\n }, [disabled])\n\n const displayValue =\n isFocused && !isControlled\n ? internalValue === min && internalValue === defaultValue\n ? ''\n : internalValue\n : currentValue\n\n const content = (\n <div className={getInputBarClassNames({ disabled, error: isError })}>\n <div className=\"css-input-bar__input-wrapper\">\n <input\n ref={ref || inputRef}\n type=\"number\"\n className=\"css-input-bar__input-box\"\n value={displayValue}\n min={min}\n max={max}\n step={step}\n disabled={disabled}\n placeholder={placeholder}\n onChange={handleInputChange}\n onBlur={handleBlur}\n onFocus={handleFocus}\n />\n {unit && <span className=\"css-input-bar__suffix\">{unit}</span>}\n </div>\n <div className=\"css-input-bar__track\" onClick={handleClick}>\n <div className=\"css-input-bar__fill\" style={{ width: `${percent * 100}%` }} />\n <div\n className=\"css-input-bar__threshold-line\"\n style={{ left: `${thresholdPercent * 100}%` }}\n />\n </div>\n <div className=\"css-input-bar__labels\">\n <span\n className=\"css-input-bar__threshold-value\"\n style={{ left: `${thresholdPercent * 100}%` }}\n >\n {normalizedThreshold}\n </span>\n <span>{min}</span>\n <span>{max}</span>\n </div>\n </div>\n )\n\n return label ? (\n <div className=\"css-input-bar-field\">\n <span className=\"css-input-bar-field__label\">{label}</span>\n {content}\n </div>\n ) : (\n content\n )\n })\n)\n\nexport const InputBar = withInstall(InputBarComponent)\nexport default InputBar\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/input-bar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
import { type InputNumberProps as BaseInputNumberProps } from '../../../components/input-number/index';
|
|
3
|
+
import '../../../components/input-number/style.css';
|
|
4
|
+
export interface InputNumberProps extends BaseInputNumberProps {
|
|
5
|
+
onChange?: (value: number) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const InputNumber: import("../..").ComponentWithInstall<FC<InputNumberProps>>;
|
|
8
|
+
export default InputNumber;
|
|
9
|
+
//# sourceMappingURL=InputNumber.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../../components/input-number/InputNumber.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAgE,MAAM,OAAO,CAAA;AAC7F,OAAO,EAGL,KAAK,gBAAgB,IAAI,oBAAoB,EAC9C,MAAM,gCAAgC,CAAA;AAIvC,OAAO,0CAA0C,CAAA;AAEjD,MAAM,WAAW,gBAAiB,SAAQ,oBAAoB;IAC5D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;CACnC;AA0ID,eAAO,MAAM,WAAW,4DAAyB,CAAA;AACjD,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useRef, useCallback, useEffect } from 'react';
|
|
3
|
+
import { clampValue, getInputNumberClassNames } from '../../../components/input-number/index.js';
|
|
4
|
+
import { createComponent } from '../../runtime/createComponent.js';
|
|
5
|
+
import { withInstall } from '../../runtime/withInstall.js';
|
|
6
|
+
import IconComponent from '../icon/Icon.js';
|
|
7
|
+
|
|
8
|
+
const InputNumberComponent = (props) => {
|
|
9
|
+
const {
|
|
10
|
+
label,
|
|
11
|
+
value: controlledValue,
|
|
12
|
+
defaultValue = 0,
|
|
13
|
+
min = -Infinity,
|
|
14
|
+
max = Infinity,
|
|
15
|
+
step = 1,
|
|
16
|
+
inputWidth = 40,
|
|
17
|
+
disabled = false,
|
|
18
|
+
bordered = true,
|
|
19
|
+
className,
|
|
20
|
+
onChange,
|
|
21
|
+
...restProps
|
|
22
|
+
} = props;
|
|
23
|
+
const [innerValue, setInnerValue] = useState(defaultValue);
|
|
24
|
+
const isControlled = controlledValue !== void 0;
|
|
25
|
+
const currentValue = isControlled ? controlledValue : innerValue;
|
|
26
|
+
const inputRef = useRef(null);
|
|
27
|
+
const updateValue = useCallback(
|
|
28
|
+
(newValue) => {
|
|
29
|
+
const clamped = clampValue(newValue, min, max);
|
|
30
|
+
if (isControlled) {
|
|
31
|
+
onChange?.(clamped);
|
|
32
|
+
} else {
|
|
33
|
+
setInnerValue(clamped);
|
|
34
|
+
onChange?.(clamped);
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
[isControlled, min, max, onChange]
|
|
38
|
+
);
|
|
39
|
+
const handleDecrease = useCallback(() => {
|
|
40
|
+
updateValue(currentValue - step);
|
|
41
|
+
}, [currentValue, step, updateValue]);
|
|
42
|
+
const handleIncrease = useCallback(() => {
|
|
43
|
+
updateValue(currentValue + step);
|
|
44
|
+
}, [currentValue, step, updateValue]);
|
|
45
|
+
const handleInputChange = useCallback(
|
|
46
|
+
(e) => {
|
|
47
|
+
const raw = e.target.value;
|
|
48
|
+
if (raw === "" || raw === "-") {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const num = Number(raw);
|
|
52
|
+
if (!isNaN(num)) {
|
|
53
|
+
updateValue(num);
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
[updateValue]
|
|
57
|
+
);
|
|
58
|
+
const handleBlur = useCallback(() => {
|
|
59
|
+
if (inputRef.current) {
|
|
60
|
+
const clamped = clampValue(currentValue, min, max);
|
|
61
|
+
if (clamped !== currentValue) {
|
|
62
|
+
updateValue(clamped);
|
|
63
|
+
}
|
|
64
|
+
inputRef.current.value = String(clamped);
|
|
65
|
+
}
|
|
66
|
+
}, [currentValue, min, max, updateValue]);
|
|
67
|
+
const handleKeyDown = useCallback(
|
|
68
|
+
(e) => {
|
|
69
|
+
if (e.key === "ArrowUp") {
|
|
70
|
+
e.preventDefault();
|
|
71
|
+
handleIncrease();
|
|
72
|
+
} else if (e.key === "ArrowDown") {
|
|
73
|
+
e.preventDefault();
|
|
74
|
+
handleDecrease();
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
[handleIncrease, handleDecrease]
|
|
78
|
+
);
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
if (inputRef.current && isControlled) {
|
|
81
|
+
inputRef.current.value = String(controlledValue);
|
|
82
|
+
}
|
|
83
|
+
}, [controlledValue, isControlled]);
|
|
84
|
+
const cls = getInputNumberClassNames({ disabled, bordered, className });
|
|
85
|
+
const content = /* @__PURE__ */ jsxs("div", { className: cls, ...restProps, children: [
|
|
86
|
+
/* @__PURE__ */ jsx(
|
|
87
|
+
"button",
|
|
88
|
+
{
|
|
89
|
+
className: "css-input-number__btn",
|
|
90
|
+
onClick: handleDecrease,
|
|
91
|
+
disabled,
|
|
92
|
+
tabIndex: -1,
|
|
93
|
+
"aria-label": "Decrease",
|
|
94
|
+
children: /* @__PURE__ */ jsx(IconComponent, { name: "DoNotDisturbOn", size: 20 })
|
|
95
|
+
}
|
|
96
|
+
),
|
|
97
|
+
/* @__PURE__ */ jsx(
|
|
98
|
+
"input",
|
|
99
|
+
{
|
|
100
|
+
ref: inputRef,
|
|
101
|
+
className: "css-input-number__input",
|
|
102
|
+
type: "number",
|
|
103
|
+
inputMode: "decimal",
|
|
104
|
+
value: currentValue,
|
|
105
|
+
disabled,
|
|
106
|
+
onChange: handleInputChange,
|
|
107
|
+
onBlur: handleBlur,
|
|
108
|
+
onKeyDown: handleKeyDown,
|
|
109
|
+
style: { width: typeof inputWidth === "number" ? `${inputWidth}px` : inputWidth },
|
|
110
|
+
"aria-label": "Input number"
|
|
111
|
+
}
|
|
112
|
+
),
|
|
113
|
+
/* @__PURE__ */ jsx(
|
|
114
|
+
"button",
|
|
115
|
+
{
|
|
116
|
+
className: "css-input-number__btn",
|
|
117
|
+
onClick: handleIncrease,
|
|
118
|
+
disabled,
|
|
119
|
+
tabIndex: -1,
|
|
120
|
+
"aria-label": "Increase",
|
|
121
|
+
children: /* @__PURE__ */ jsx(IconComponent, { name: "AddCircle", size: 20 })
|
|
122
|
+
}
|
|
123
|
+
)
|
|
124
|
+
] });
|
|
125
|
+
return label ? /* @__PURE__ */ jsxs("div", { className: "css-input-number-field", children: [
|
|
126
|
+
/* @__PURE__ */ jsx("span", { className: "css-input-number-field__label", children: label }),
|
|
127
|
+
content
|
|
128
|
+
] }) : content;
|
|
129
|
+
};
|
|
130
|
+
const InputNumberWithInstall = withInstall(createComponent(InputNumberComponent));
|
|
131
|
+
InputNumberWithInstall.displayName = "CssInputNumber";
|
|
132
|
+
const InputNumber = InputNumberWithInstall;
|
|
133
|
+
|
|
134
|
+
export { InputNumber, InputNumber as default };
|
|
135
|
+
//# sourceMappingURL=InputNumber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputNumber.js","sources":["../../../../../adapter-react/components/input-number/InputNumber.tsx"],"sourcesContent":["import { type FC, type KeyboardEvent, useCallback, useEffect, useRef, useState } from 'react'\nimport {\n getInputNumberClassNames,\n clampValue,\n type InputNumberProps as BaseInputNumberProps,\n} from '@cssui/components/input-number'\nimport { createComponent, withInstall } from '../../runtime'\nimport Icon from '../icon/Icon'\n\nimport '@cssui/components/input-number/style.css'\n\nexport interface InputNumberProps extends BaseInputNumberProps {\n onChange?: (value: number) => void\n}\n\nconst InputNumberComponent: FC<InputNumberProps> = props => {\n const {\n label,\n value: controlledValue,\n defaultValue = 0,\n min = -Infinity,\n max = Infinity,\n step = 1,\n inputWidth = 40,\n disabled = false,\n bordered = true,\n className,\n onChange,\n ...restProps\n } = props\n\n const [innerValue, setInnerValue] = useState(defaultValue)\n const isControlled = controlledValue !== undefined\n const currentValue = isControlled ? controlledValue : innerValue\n const inputRef = useRef<HTMLInputElement>(null)\n\n const updateValue = useCallback(\n (newValue: number) => {\n const clamped = clampValue(newValue, min, max)\n if (isControlled) {\n onChange?.(clamped)\n } else {\n setInnerValue(clamped)\n onChange?.(clamped)\n }\n },\n [isControlled, min, max, onChange]\n )\n\n const handleDecrease = useCallback(() => {\n updateValue(currentValue - step)\n }, [currentValue, step, updateValue])\n\n const handleIncrease = useCallback(() => {\n updateValue(currentValue + step)\n }, [currentValue, step, updateValue])\n\n const handleInputChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const raw = e.target.value\n if (raw === '' || raw === '-') {\n return\n }\n const num = Number(raw)\n if (!isNaN(num)) {\n updateValue(num)\n }\n },\n [updateValue]\n )\n\n const handleBlur = useCallback(() => {\n if (inputRef.current) {\n const clamped = clampValue(currentValue, min, max)\n if (clamped !== currentValue) {\n updateValue(clamped)\n }\n inputRef.current.value = String(clamped)\n }\n }, [currentValue, min, max, updateValue])\n\n const handleKeyDown = useCallback(\n (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault()\n handleIncrease()\n } else if (e.key === 'ArrowDown') {\n e.preventDefault()\n handleDecrease()\n }\n },\n [handleIncrease, handleDecrease]\n )\n\n useEffect(() => {\n if (inputRef.current && isControlled) {\n inputRef.current.value = String(controlledValue)\n }\n }, [controlledValue, isControlled])\n\n const cls = getInputNumberClassNames({ disabled, bordered, className })\n\n const content = (\n <div className={cls} {...restProps}>\n <button\n className=\"css-input-number__btn\"\n onClick={handleDecrease}\n disabled={disabled}\n tabIndex={-1}\n aria-label=\"Decrease\"\n >\n <Icon name=\"DoNotDisturbOn\" size={20} />\n </button>\n <input\n ref={inputRef}\n className=\"css-input-number__input\"\n type=\"number\"\n inputMode=\"decimal\"\n value={currentValue}\n disabled={disabled}\n onChange={handleInputChange}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n style={{ width: typeof inputWidth === 'number' ? `${inputWidth}px` : inputWidth }}\n aria-label=\"Input number\"\n />\n <button\n className=\"css-input-number__btn\"\n onClick={handleIncrease}\n disabled={disabled}\n tabIndex={-1}\n aria-label=\"Increase\"\n >\n <Icon name=\"AddCircle\" size={20} />\n </button>\n </div>\n )\n\n return label ? (\n <div className=\"css-input-number-field\">\n <span className=\"css-input-number-field__label\">{label}</span>\n {content}\n </div>\n ) : (\n content\n )\n}\n\nconst InputNumberWithInstall = withInstall(createComponent(InputNumberComponent))\nInputNumberWithInstall.displayName = 'CssInputNumber'\n\nexport const InputNumber = InputNumberWithInstall\nexport default InputNumber\n"],"names":["Icon"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/input-number/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type FC, type MouseEventHandler, type ReactNode } from 'react';
|
|
2
|
+
import { type ModalProps as BaseModalProps, type ModalType } from '../../../components/modal/index';
|
|
3
|
+
import '../../../components/modal/style.css';
|
|
4
|
+
export interface ModalProps extends BaseModalProps {
|
|
5
|
+
visible?: boolean;
|
|
6
|
+
type?: ModalType;
|
|
7
|
+
children?: ReactNode;
|
|
8
|
+
footer?: boolean | ReactNode;
|
|
9
|
+
okText?: string;
|
|
10
|
+
cancelText?: string;
|
|
11
|
+
onOk?: MouseEventHandler<HTMLElement>;
|
|
12
|
+
onCancel?: MouseEventHandler<HTMLElement>;
|
|
13
|
+
onClose?: MouseEventHandler<HTMLElement>;
|
|
14
|
+
onAfterClose?: () => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const Modal: import("../..").ComponentWithInstall<FC<ModalProps>>;
|
|
17
|
+
export default Modal;
|
|
18
|
+
//# sourceMappingURL=Modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../components/modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EAAE,EACP,KAAK,iBAAiB,EACtB,KAAK,SAAS,EAIf,MAAM,OAAO,CAAA;AAEd,OAAO,EAEL,KAAK,UAAU,IAAI,cAAc,EACjC,KAAK,SAAS,EACf,MAAM,yBAAyB,CAAA;AAKhC,OAAO,mCAAmC,CAAA;AAE1C,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACrC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAA;IACxC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B;AAwID,eAAO,MAAM,KAAK,sDAAmB,CAAA;AACrC,eAAe,KAAK,CAAA"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useRef, useEffect } from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import { getModalClassNames } from '../../../components/modal/index.js';
|
|
5
|
+
import { createComponent } from '../../runtime/createComponent.js';
|
|
6
|
+
import { withInstall } from '../../runtime/withInstall.js';
|
|
7
|
+
import { Button } from '../button/Button.js';
|
|
8
|
+
import IconComponent from '../icon/Icon.js';
|
|
9
|
+
|
|
10
|
+
const ModalComponent = (props) => {
|
|
11
|
+
const {
|
|
12
|
+
visible = false,
|
|
13
|
+
type,
|
|
14
|
+
title,
|
|
15
|
+
width,
|
|
16
|
+
zIndex = 1e3,
|
|
17
|
+
maskClosable = true,
|
|
18
|
+
okText = "\u786E\u5B9A",
|
|
19
|
+
cancelText = "\u53D6\u6D88",
|
|
20
|
+
footer = true,
|
|
21
|
+
className,
|
|
22
|
+
children,
|
|
23
|
+
onOk,
|
|
24
|
+
onCancel,
|
|
25
|
+
onClose,
|
|
26
|
+
...restProps
|
|
27
|
+
} = props;
|
|
28
|
+
const [mounted, setMounted] = useState(false);
|
|
29
|
+
const maskClosableReadyRef = useRef(false);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
setMounted(true);
|
|
32
|
+
return () => setMounted(false);
|
|
33
|
+
}, []);
|
|
34
|
+
useEffect(() => {
|
|
35
|
+
if (!visible) {
|
|
36
|
+
maskClosableReadyRef.current = false;
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
maskClosableReadyRef.current = false;
|
|
40
|
+
const timer = window.requestAnimationFrame(() => {
|
|
41
|
+
maskClosableReadyRef.current = true;
|
|
42
|
+
});
|
|
43
|
+
return () => {
|
|
44
|
+
window.cancelAnimationFrame(timer);
|
|
45
|
+
maskClosableReadyRef.current = false;
|
|
46
|
+
};
|
|
47
|
+
}, [visible]);
|
|
48
|
+
const handleClose = (e) => {
|
|
49
|
+
onClose?.(e);
|
|
50
|
+
onCancel?.(e);
|
|
51
|
+
};
|
|
52
|
+
const handleOk = (e) => {
|
|
53
|
+
onOk?.(e);
|
|
54
|
+
};
|
|
55
|
+
const handleMaskClick = (e) => {
|
|
56
|
+
if (maskClosable && maskClosableReadyRef.current) {
|
|
57
|
+
handleClose(e);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
if (!mounted || !visible) {
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
const modalStyle = {
|
|
64
|
+
zIndex
|
|
65
|
+
};
|
|
66
|
+
if (width) {
|
|
67
|
+
const w = typeof width === "number" ? `${width}px` : width;
|
|
68
|
+
modalStyle["--css-modal-width"] = w;
|
|
69
|
+
}
|
|
70
|
+
const overlayClass = "css-modal-overlay";
|
|
71
|
+
const modalClass = getModalClassNames({ className });
|
|
72
|
+
return createPortal(
|
|
73
|
+
/* @__PURE__ */ jsx("div", { className: overlayClass, style: { zIndex }, onClick: handleMaskClick, children: /* @__PURE__ */ jsxs(
|
|
74
|
+
"div",
|
|
75
|
+
{
|
|
76
|
+
className: modalClass,
|
|
77
|
+
style: modalStyle,
|
|
78
|
+
onClick: (e) => e.stopPropagation(),
|
|
79
|
+
...restProps,
|
|
80
|
+
children: [
|
|
81
|
+
title && /* @__PURE__ */ jsxs("div", { className: "css-modal__header", children: [
|
|
82
|
+
/* @__PURE__ */ jsx("div", { className: "css-modal__title", children: title }),
|
|
83
|
+
/* @__PURE__ */ jsx("button", { className: "css-modal__close", onClick: handleClose, children: "\u2715" })
|
|
84
|
+
] }),
|
|
85
|
+
/* @__PURE__ */ jsx("div", { className: "css-modal__icon-wrap", children: type && /* @__PURE__ */ jsx("div", { className: `css-modal__icon css-modal__icon--${type}`, children: type === "warning" ? /* @__PURE__ */ jsx(IconComponent, { name: "Warning", size: 80 }) : /* @__PURE__ */ jsx(IconComponent, { name: "Info", size: 80 }) }) }),
|
|
86
|
+
/* @__PURE__ */ jsx("div", { className: "css-modal__body", children }),
|
|
87
|
+
footer !== false && /* @__PURE__ */ jsx(
|
|
88
|
+
"div",
|
|
89
|
+
{
|
|
90
|
+
className: `css-modal__footer${cancelText ? " css-modal__footer--with-cancel" : ""}`,
|
|
91
|
+
children: footer === true ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
92
|
+
cancelText && /* @__PURE__ */ jsx(Button, { type: "outline", onClick: handleClose, children: cancelText }),
|
|
93
|
+
/* @__PURE__ */ jsx(Button, { type: "primary", onClick: handleOk, children: okText })
|
|
94
|
+
] }) : footer
|
|
95
|
+
}
|
|
96
|
+
)
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
) }),
|
|
100
|
+
document.body
|
|
101
|
+
);
|
|
102
|
+
};
|
|
103
|
+
const ModalWithInstall = withInstall(createComponent(ModalComponent));
|
|
104
|
+
ModalWithInstall.displayName = "CssModal";
|
|
105
|
+
const Modal = ModalWithInstall;
|
|
106
|
+
|
|
107
|
+
export { Modal };
|
|
108
|
+
//# sourceMappingURL=Modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Modal.js","sources":["../../../../../adapter-react/components/modal/Modal.tsx"],"sourcesContent":["import {\n type CSSProperties,\n type FC,\n type MouseEventHandler,\n type ReactNode,\n useEffect,\n useRef,\n useState,\n} from 'react'\nimport { createPortal } from 'react-dom'\nimport {\n getModalClassNames,\n type ModalProps as BaseModalProps,\n type ModalType,\n} from '@cssui/components/modal'\nimport { createComponent, withInstall } from '../../runtime'\nimport { Button } from '../button'\nimport Icon from '../icon/Icon'\n\nimport '@cssui/components/modal/style.css'\n\nexport interface ModalProps extends BaseModalProps {\n visible?: boolean\n type?: ModalType\n children?: ReactNode\n footer?: boolean | ReactNode\n okText?: string\n cancelText?: string\n onOk?: MouseEventHandler<HTMLElement>\n onCancel?: MouseEventHandler<HTMLElement>\n onClose?: MouseEventHandler<HTMLElement>\n onAfterClose?: () => void\n}\n\nconst ModalComponent: FC<ModalProps> = props => {\n const {\n visible = false,\n type,\n title,\n width,\n zIndex = 1000,\n maskClosable = true,\n okText = '确定',\n cancelText = '取消',\n footer = true,\n className,\n children,\n onOk,\n onCancel,\n onClose,\n ...restProps\n } = props\n\n const [mounted, setMounted] = useState(false)\n const maskClosableReadyRef = useRef(false)\n\n useEffect(() => {\n setMounted(true)\n return () => setMounted(false)\n }, [])\n\n useEffect(() => {\n if (!visible) {\n maskClosableReadyRef.current = false\n return\n }\n\n maskClosableReadyRef.current = false\n const timer = window.requestAnimationFrame(() => {\n maskClosableReadyRef.current = true\n })\n\n return () => {\n window.cancelAnimationFrame(timer)\n maskClosableReadyRef.current = false\n }\n }, [visible])\n\n const handleClose: MouseEventHandler<HTMLElement> = e => {\n onClose?.(e)\n onCancel?.(e)\n }\n\n const handleOk: MouseEventHandler<HTMLElement> = e => {\n onOk?.(e)\n }\n\n const handleMaskClick: MouseEventHandler<HTMLElement> = e => {\n if (maskClosable && maskClosableReadyRef.current) {\n handleClose(e)\n }\n }\n\n if (!mounted || !visible) {\n return null\n }\n\n const modalStyle: CSSProperties & Record<string, any> = {\n zIndex,\n }\n\n if (width) {\n const w = typeof width === 'number' ? `${width}px` : width\n modalStyle['--css-modal-width'] = w\n }\n\n const overlayClass = 'css-modal-overlay'\n const modalClass = getModalClassNames({ className })\n\n return createPortal(\n <div className={overlayClass} style={{ zIndex }} onClick={handleMaskClick}>\n <div\n className={modalClass}\n style={modalStyle}\n onClick={e => e.stopPropagation()}\n {...restProps}\n >\n {title && (\n <div className=\"css-modal__header\">\n <div className=\"css-modal__title\">{title}</div>\n <button className=\"css-modal__close\" onClick={handleClose}>\n ✕\n </button>\n </div>\n )}\n\n <div className=\"css-modal__icon-wrap\">\n {type && (\n <div className={`css-modal__icon css-modal__icon--${type}`}>\n {type === 'warning' ? (\n <Icon name=\"Warning\" size={80} />\n ) : (\n <Icon name=\"Info\" size={80} />\n )}\n </div>\n )}\n </div>\n <div className=\"css-modal__body\">{children}</div>\n\n {footer !== false && (\n <div\n className={`css-modal__footer${cancelText ? ' css-modal__footer--with-cancel' : ''}`}\n >\n {footer === true ? (\n <>\n {cancelText && (\n <Button type=\"outline\" onClick={handleClose}>\n {cancelText}\n </Button>\n )}\n <Button type=\"primary\" onClick={handleOk}>\n {okText}\n </Button>\n </>\n ) : (\n footer\n )}\n </div>\n )}\n </div>\n </div>,\n document.body\n )\n}\n\nconst ModalWithInstall = withInstall(createComponent(ModalComponent))\nModalWithInstall.displayName = 'CssModal'\n\nexport const Modal = ModalWithInstall\nexport default Modal\n"],"names":["Icon"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B,OAAO,EAAE,KAAK,EAAE,CAAA;AAChB,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,eAAe,KAAK,CAAA"}
|