@ioca/react 1.4.66 → 1.4.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +20 -20
- package/README.md +31 -31
- package/lib/cjs/components/affix/affix.js.map +1 -1
- package/lib/cjs/components/affix/totop.js.map +1 -1
- package/lib/cjs/components/badge/badge.js.map +1 -1
- package/lib/cjs/components/button/button.js.map +1 -1
- package/lib/cjs/components/button/confirm.js +2 -2
- package/lib/cjs/components/button/confirm.js.map +1 -1
- package/lib/cjs/components/button/group.js.map +1 -1
- package/lib/cjs/components/button/toggle.js +3 -3
- package/lib/cjs/components/button/toggle.js.map +1 -1
- package/lib/cjs/components/card/card.js.map +1 -1
- package/lib/cjs/components/checkbox/checkbox.js +2 -2
- package/lib/cjs/components/checkbox/checkbox.js.map +1 -1
- package/lib/cjs/components/checkbox/item.js +2 -2
- package/lib/cjs/components/checkbox/item.js.map +1 -1
- package/lib/cjs/components/collapse/collapse.js +2 -2
- package/lib/cjs/components/collapse/collapse.js.map +1 -1
- package/lib/cjs/components/collapse/item.js.map +1 -1
- package/lib/cjs/components/datagrid/cell.js +1 -1
- package/lib/cjs/components/datagrid/cell.js.map +1 -1
- package/lib/cjs/components/datagrid/datagrid.js +2 -2
- package/lib/cjs/components/datagrid/datagrid.js.map +1 -1
- package/lib/cjs/components/datagrid/resize.js +1 -2
- package/lib/cjs/components/datagrid/resize.js.map +1 -1
- package/lib/cjs/components/datagrid/row.js.map +1 -1
- package/lib/cjs/components/datagrid/sorter.js.map +1 -1
- package/lib/cjs/components/description/description.js.map +1 -1
- package/lib/cjs/components/drawer/drawer.js +1 -2
- package/lib/cjs/components/drawer/drawer.js.map +1 -1
- package/lib/cjs/components/dropdown/dropdown.js.map +1 -1
- package/lib/cjs/components/dropdown/item.js.map +1 -1
- package/lib/cjs/components/editor/controls.js.map +1 -1
- package/lib/cjs/components/editor/editor.js.map +1 -1
- package/lib/cjs/components/flex/flex.js.map +1 -1
- package/lib/cjs/components/form/context.js.map +1 -1
- package/lib/cjs/components/form/field.js +2 -2
- package/lib/cjs/components/form/field.js.map +1 -1
- package/lib/cjs/components/form/form.js.map +1 -1
- package/lib/cjs/components/form/useConfig.js.map +1 -1
- package/lib/cjs/components/form/useForm.js.map +1 -1
- package/lib/cjs/components/icon/icon.js.map +1 -1
- package/lib/cjs/components/image/image.js +1 -2
- package/lib/cjs/components/image/image.js.map +1 -1
- package/lib/cjs/components/image/list.js.map +1 -1
- package/lib/cjs/components/input/container.js.map +1 -1
- package/lib/cjs/components/input/input.js +2 -2
- package/lib/cjs/components/input/input.js.map +1 -1
- package/lib/cjs/components/input/number.js +19 -11
- package/lib/cjs/components/input/number.js.map +1 -1
- package/lib/cjs/components/input/range.js +2 -2
- package/lib/cjs/components/input/range.js.map +1 -1
- package/lib/cjs/components/input/textarea.js +2 -2
- package/lib/cjs/components/input/textarea.js.map +1 -1
- package/lib/cjs/components/list/item.js.map +1 -1
- package/lib/cjs/components/list/list.js.map +1 -1
- package/lib/cjs/components/loading/loading.js.map +1 -1
- package/lib/cjs/components/message/message.js +2 -4
- package/lib/cjs/components/message/message.js.map +1 -1
- package/lib/cjs/components/modal/content.js.map +1 -1
- package/lib/cjs/components/modal/context.js.map +1 -1
- package/lib/cjs/components/modal/hookModal.js +2 -2
- package/lib/cjs/components/modal/hookModal.js.map +1 -1
- package/lib/cjs/components/modal/modal.js.map +1 -1
- package/lib/cjs/components/modal/useModal.js.map +1 -1
- package/lib/cjs/components/pagination/page.js.map +1 -1
- package/lib/cjs/components/pagination/pagination.js.map +1 -1
- package/lib/cjs/components/picker/colors/footer.js +2 -2
- package/lib/cjs/components/picker/colors/footer.js.map +1 -1
- package/lib/cjs/components/picker/colors/handle.js.map +1 -1
- package/lib/cjs/components/picker/colors/index.js +2 -2
- package/lib/cjs/components/picker/colors/index.js.map +1 -1
- package/lib/cjs/components/picker/dates/dates.js.map +1 -1
- package/lib/cjs/components/picker/dates/index.js +2 -2
- package/lib/cjs/components/picker/dates/index.js.map +1 -1
- package/lib/cjs/components/picker/dates/panel.js +2 -2
- package/lib/cjs/components/picker/dates/panel.js.map +1 -1
- package/lib/cjs/components/picker/time/index.js +2 -2
- package/lib/cjs/components/picker/time/index.js.map +1 -1
- package/lib/cjs/components/picker/time/item.js.map +1 -1
- package/lib/cjs/components/picker/time/panel.js +2 -2
- package/lib/cjs/components/picker/time/panel.js.map +1 -1
- package/lib/cjs/components/popconfirm/popconfirm.js +2 -2
- package/lib/cjs/components/popconfirm/popconfirm.js.map +1 -1
- package/lib/cjs/components/popup/content.js.map +1 -1
- package/lib/cjs/components/popup/popup.js +2 -3
- package/lib/cjs/components/popup/popup.js.map +1 -1
- package/lib/cjs/components/progress/circle.js.map +1 -1
- package/lib/cjs/components/progress/line.js.map +1 -1
- package/lib/cjs/components/progress/progress.js +1 -2
- package/lib/cjs/components/progress/progress.js.map +1 -1
- package/lib/cjs/components/radio/item.js.map +1 -1
- package/lib/cjs/components/radio/radio.js +2 -2
- package/lib/cjs/components/radio/radio.js.map +1 -1
- package/lib/cjs/components/resizable/resizable.js +1 -2
- package/lib/cjs/components/resizable/resizable.js.map +1 -1
- package/lib/cjs/components/river/river.js +2 -2
- package/lib/cjs/components/river/river.js.map +1 -1
- package/lib/cjs/components/select/options.js.map +1 -1
- package/lib/cjs/components/select/select.js +2 -2
- package/lib/cjs/components/select/select.js.map +1 -1
- package/lib/cjs/components/step/divider.js.map +1 -1
- package/lib/cjs/components/step/item.js.map +1 -1
- package/lib/cjs/components/step/step.js.map +1 -1
- package/lib/cjs/components/swiper/item.js.map +1 -1
- package/lib/cjs/components/swiper/swiper.js +1 -2
- package/lib/cjs/components/swiper/swiper.js.map +1 -1
- package/lib/cjs/components/tabs/item.js.map +1 -1
- package/lib/cjs/components/tabs/tabs.js +2 -3
- package/lib/cjs/components/tabs/tabs.js.map +1 -1
- package/lib/cjs/components/tag/tag.js.map +1 -1
- package/lib/cjs/components/text/highlight.js.map +1 -1
- package/lib/cjs/components/text/number.js.map +1 -1
- package/lib/cjs/components/text/text.js.map +1 -1
- package/lib/cjs/components/text/time.js.map +1 -1
- package/lib/cjs/components/tree/item.js.map +1 -1
- package/lib/cjs/components/tree/tree.js +2 -2
- package/lib/cjs/components/tree/tree.js.map +1 -1
- package/lib/cjs/components/upload/renderFile.js.map +1 -1
- package/lib/cjs/components/upload/upload.js +2 -2
- package/lib/cjs/components/upload/upload.js.map +1 -1
- package/lib/cjs/components/utils/empty/index.js.map +1 -1
- package/lib/cjs/components/utils/helpericon/helpericon.js.map +1 -1
- package/lib/cjs/components/video/video.js +2 -2
- package/lib/cjs/components/video/video.js.map +1 -1
- package/lib/cjs/js/hooks.js +167 -1
- package/lib/cjs/js/hooks.js.map +1 -1
- package/lib/cjs/js/usePreview/content.js +1 -2
- package/lib/cjs/js/usePreview/content.js.map +1 -1
- package/lib/cjs/js/usePreview/index.js.map +1 -1
- package/lib/cjs/js/usePreview/renderFile.js.map +1 -1
- package/lib/cjs/js/usePreview/type.js.map +1 -1
- package/lib/cjs/js/useRipple/index.js +6 -6
- package/lib/cjs/js/useRipple/index.js.map +1 -1
- package/lib/cjs/js/useTheme/index.js +2 -2
- package/lib/cjs/js/useTheme/index.js.map +1 -1
- package/lib/cjs/js/utils.js +1 -1
- package/lib/cjs/js/utils.js.map +1 -1
- package/lib/css/index.css +1 -1
- package/lib/css/index.css.map +1 -1
- package/lib/es/components/affix/affix.js.map +1 -1
- package/lib/es/components/affix/totop.js.map +1 -1
- package/lib/es/components/badge/badge.js.map +1 -1
- package/lib/es/components/button/button.js.map +1 -1
- package/lib/es/components/button/confirm.js +1 -1
- package/lib/es/components/button/confirm.js.map +1 -1
- package/lib/es/components/button/group.js.map +1 -1
- package/lib/es/components/button/toggle.js +2 -2
- package/lib/es/components/button/toggle.js.map +1 -1
- package/lib/es/components/card/card.js.map +1 -1
- package/lib/es/components/checkbox/checkbox.js +1 -1
- package/lib/es/components/checkbox/checkbox.js.map +1 -1
- package/lib/es/components/checkbox/item.js +1 -1
- package/lib/es/components/checkbox/item.js.map +1 -1
- package/lib/es/components/collapse/collapse.js +1 -1
- package/lib/es/components/collapse/collapse.js.map +1 -1
- package/lib/es/components/collapse/item.js.map +1 -1
- package/lib/es/components/datagrid/cell.js +1 -1
- package/lib/es/components/datagrid/cell.js.map +1 -1
- package/lib/es/components/datagrid/datagrid.js +1 -1
- package/lib/es/components/datagrid/datagrid.js.map +1 -1
- package/lib/es/components/datagrid/resize.js +1 -2
- package/lib/es/components/datagrid/resize.js.map +1 -1
- package/lib/es/components/datagrid/row.js.map +1 -1
- package/lib/es/components/datagrid/sorter.js.map +1 -1
- package/lib/es/components/description/description.js.map +1 -1
- package/lib/es/components/drawer/drawer.js +1 -2
- package/lib/es/components/drawer/drawer.js.map +1 -1
- package/lib/es/components/dropdown/dropdown.js.map +1 -1
- package/lib/es/components/dropdown/item.js.map +1 -1
- package/lib/es/components/editor/controls.js +1 -1
- package/lib/es/components/editor/controls.js.map +1 -1
- package/lib/es/components/editor/editor.js.map +1 -1
- package/lib/es/components/flex/flex.js.map +1 -1
- package/lib/es/components/form/context.js.map +1 -1
- package/lib/es/components/form/field.js +1 -1
- package/lib/es/components/form/field.js.map +1 -1
- package/lib/es/components/form/form.js.map +1 -1
- package/lib/es/components/form/useConfig.js.map +1 -1
- package/lib/es/components/form/useForm.js.map +1 -1
- package/lib/es/components/icon/icon.js.map +1 -1
- package/lib/es/components/image/image.js +1 -2
- package/lib/es/components/image/image.js.map +1 -1
- package/lib/es/components/image/list.js.map +1 -1
- package/lib/es/components/input/container.js.map +1 -1
- package/lib/es/components/input/input.js +1 -1
- package/lib/es/components/input/input.js.map +1 -1
- package/lib/es/components/input/number.js +19 -11
- package/lib/es/components/input/number.js.map +1 -1
- package/lib/es/components/input/range.js +1 -1
- package/lib/es/components/input/range.js.map +1 -1
- package/lib/es/components/input/textarea.js +1 -1
- package/lib/es/components/input/textarea.js.map +1 -1
- package/lib/es/components/list/item.js.map +1 -1
- package/lib/es/components/list/list.js.map +1 -1
- package/lib/es/components/loading/loading.js.map +1 -1
- package/lib/es/components/message/message.js +1 -3
- package/lib/es/components/message/message.js.map +1 -1
- package/lib/es/components/modal/content.js.map +1 -1
- package/lib/es/components/modal/context.js.map +1 -1
- package/lib/es/components/modal/hookModal.js +1 -1
- package/lib/es/components/modal/hookModal.js.map +1 -1
- package/lib/es/components/modal/modal.js.map +1 -1
- package/lib/es/components/modal/useModal.js.map +1 -1
- package/lib/es/components/pagination/page.js.map +1 -1
- package/lib/es/components/pagination/pagination.js.map +1 -1
- package/lib/es/components/picker/colors/footer.js +1 -1
- package/lib/es/components/picker/colors/footer.js.map +1 -1
- package/lib/es/components/picker/colors/handle.js.map +1 -1
- package/lib/es/components/picker/colors/index.js +1 -1
- package/lib/es/components/picker/colors/index.js.map +1 -1
- package/lib/es/components/picker/dates/dates.js.map +1 -1
- package/lib/es/components/picker/dates/index.js +1 -1
- package/lib/es/components/picker/dates/index.js.map +1 -1
- package/lib/es/components/picker/dates/panel.js +1 -1
- package/lib/es/components/picker/dates/panel.js.map +1 -1
- package/lib/es/components/picker/time/index.js +1 -1
- package/lib/es/components/picker/time/index.js.map +1 -1
- package/lib/es/components/picker/time/item.js.map +1 -1
- package/lib/es/components/picker/time/panel.js +1 -1
- package/lib/es/components/picker/time/panel.js.map +1 -1
- package/lib/es/components/popconfirm/popconfirm.js +1 -1
- package/lib/es/components/popconfirm/popconfirm.js.map +1 -1
- package/lib/es/components/popup/content.js.map +1 -1
- package/lib/es/components/popup/popup.js +2 -3
- package/lib/es/components/popup/popup.js.map +1 -1
- package/lib/es/components/progress/circle.js.map +1 -1
- package/lib/es/components/progress/line.js.map +1 -1
- package/lib/es/components/progress/progress.js +1 -2
- package/lib/es/components/progress/progress.js.map +1 -1
- package/lib/es/components/radio/item.js.map +1 -1
- package/lib/es/components/radio/radio.js +1 -1
- package/lib/es/components/radio/radio.js.map +1 -1
- package/lib/es/components/resizable/resizable.js +1 -2
- package/lib/es/components/resizable/resizable.js.map +1 -1
- package/lib/es/components/river/river.js +1 -1
- package/lib/es/components/river/river.js.map +1 -1
- package/lib/es/components/select/options.js +1 -1
- package/lib/es/components/select/options.js.map +1 -1
- package/lib/es/components/select/select.js +2 -2
- package/lib/es/components/select/select.js.map +1 -1
- package/lib/es/components/step/divider.js.map +1 -1
- package/lib/es/components/step/item.js.map +1 -1
- package/lib/es/components/step/step.js.map +1 -1
- package/lib/es/components/swiper/item.js.map +1 -1
- package/lib/es/components/swiper/swiper.js +1 -2
- package/lib/es/components/swiper/swiper.js.map +1 -1
- package/lib/es/components/tabs/item.js.map +1 -1
- package/lib/es/components/tabs/tabs.js +2 -3
- package/lib/es/components/tabs/tabs.js.map +1 -1
- package/lib/es/components/tag/tag.js.map +1 -1
- package/lib/es/components/text/highlight.js.map +1 -1
- package/lib/es/components/text/number.js.map +1 -1
- package/lib/es/components/text/text.js.map +1 -1
- package/lib/es/components/text/time.js.map +1 -1
- package/lib/es/components/tree/item.js.map +1 -1
- package/lib/es/components/tree/tree.js +1 -1
- package/lib/es/components/tree/tree.js.map +1 -1
- package/lib/es/components/upload/renderFile.js.map +1 -1
- package/lib/es/components/upload/upload.js +1 -1
- package/lib/es/components/upload/upload.js.map +1 -1
- package/lib/es/components/utils/empty/index.js.map +1 -1
- package/lib/es/components/utils/helpericon/helpericon.js.map +1 -1
- package/lib/es/components/video/video.js +2 -2
- package/lib/es/components/video/video.js.map +1 -1
- package/lib/es/js/hooks.js +165 -3
- package/lib/es/js/hooks.js.map +1 -1
- package/lib/es/js/usePreview/content.js +1 -2
- package/lib/es/js/usePreview/content.js.map +1 -1
- package/lib/es/js/usePreview/index.js.map +1 -1
- package/lib/es/js/usePreview/renderFile.js.map +1 -1
- package/lib/es/js/usePreview/type.js.map +1 -1
- package/lib/es/js/useRipple/index.js +6 -6
- package/lib/es/js/useRipple/index.js.map +1 -1
- package/lib/es/js/useTheme/index.js +1 -1
- package/lib/es/js/useTheme/index.js.map +1 -1
- package/lib/es/js/utils.js +1 -1
- package/lib/es/js/utils.js.map +1 -1
- package/lib/index.js +322 -155
- package/lib/types/components/button/type.d.ts +1 -1
- package/lib/types/components/dropdown/dropdown.d.ts +2 -2
- package/lib/types/components/input/type.d.ts +2 -1
- package/lib/types/components/modal/type.d.ts +1 -1
- package/lib/types/components/radio/type.d.ts +1 -1
- package/lib/types/components/tabs/type.d.ts +1 -1
- package/lib/types/components/tree/type.d.ts +1 -1
- package/lib/types/js/usePreview/type.d.ts +1 -1
- package/lib/types/js/useTheme/index.d.ts +1 -2
- package/package.json +100 -102
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2024 Iann Man
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 Iann Man
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
# <h1 align="center">IOCA</h1>
|
|
2
|
-
|
|
3
|
-
<p align="center">
|
|
4
|
-
<a href="https://www.npmjs.org/package/@ioca/react">
|
|
5
|
-
<img src="https://img.shields.io/npm/v/@ioca/react.svg">
|
|
6
|
-
</a>
|
|
7
|
-
</p>
|
|
8
|
-
|
|
9
|
-
### Install
|
|
10
|
-
|
|
11
|
-
```node
|
|
12
|
-
npm install @ioca/react
|
|
13
|
-
// yarn add @ioca/react
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
### Usage
|
|
17
|
-
|
|
18
|
-
```js
|
|
19
|
-
import React from "react";
|
|
20
|
-
import { createRoot } from "react-dom/client";
|
|
21
|
-
import { Button } from "@ioca/react";
|
|
22
|
-
import "@ioca/react/index.css";
|
|
23
|
-
|
|
24
|
-
const App = () => <Button>Click Me</Button>;
|
|
25
|
-
|
|
26
|
-
const root = createRoot(document.querySelector("#app"));
|
|
27
|
-
|
|
28
|
-
root.render(<App />);
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
|
|
1
|
+
# <h1 align="center">IOCA</h1>
|
|
2
|
+
|
|
3
|
+
<p align="center">
|
|
4
|
+
<a href="https://www.npmjs.org/package/@ioca/react">
|
|
5
|
+
<img src="https://img.shields.io/npm/v/@ioca/react.svg">
|
|
6
|
+
</a>
|
|
7
|
+
</p>
|
|
8
|
+
|
|
9
|
+
### Install
|
|
10
|
+
|
|
11
|
+
```node
|
|
12
|
+
npm install @ioca/react
|
|
13
|
+
// yarn add @ioca/react
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
### Usage
|
|
17
|
+
|
|
18
|
+
```js
|
|
19
|
+
import React from "react";
|
|
20
|
+
import { createRoot } from "react-dom/client";
|
|
21
|
+
import { Button } from "@ioca/react";
|
|
22
|
+
import "@ioca/react/index.css";
|
|
23
|
+
|
|
24
|
+
const App = () => <Button>Click Me</Button>;
|
|
25
|
+
|
|
26
|
+
const root = createRoot(document.querySelector("#app"));
|
|
27
|
+
|
|
28
|
+
root.render(<App />);
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"affix.js","sources":["../../../../packages/components/affix/affix.tsx"],"sourcesContent":["import classNames from \"classnames\";\
|
|
1
|
+
{"version":3,"file":"affix.js","sources":["../../../../packages/components/affix/affix.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { debounce } from \"radash\";\nimport {\n\tChildren,\n\tMouseEvent,\n\tcloneElement,\n\tuseEffect,\n\tuseMemo,\n\tuseState,\n} from \"react\";\nimport \"./index.css\";\nimport ToTop from \"./totop\";\nimport { IAffix } from \"./type\";\n\nconst Affix = (props: IAffix) => {\n\tconst {\n\t\tposition = \"fixed\",\n\t\tleft,\n\t\ttop,\n\t\tright,\n\t\tbottom,\n\t\toffset,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t\tgetContainer = () => {\n\t\t\tif (typeof document === \"undefined\") return null;\n\t\t\treturn document.body;\n\t\t},\n\t} = props;\n\n\tconst [hidden, setHidden] = useState<boolean>(false);\n\n\tconst hijackChildren = useMemo(() => {\n\t\treturn Children.map(children, (node: any) => {\n\t\t\tif (node.type === ToTop) {\n\t\t\t\tconst { onClick } = node.props;\n\n\t\t\t\treturn cloneElement(node, {\n\t\t\t\t\tkey: node.key,\n\t\t\t\t\t...node.props,\n\t\t\t\t\tonClick: (e: MouseEvent) => {\n\t\t\t\t\t\tconst container = getContainer();\n\n\t\t\t\t\t\tonClick?.(e);\n\t\t\t\t\t\tcontainer?.scrollTo({\n\t\t\t\t\t\t\ttop: 0,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\tbehavior: \"smooth\",\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn node;\n\t\t});\n\t}, [children, getContainer]);\n\n\tuseEffect(() => {\n\t\tconst container = getContainer();\n\t\tif (!offset || !container) return;\n\n\t\tconst listener = debounce({ delay: 160 }, () => {\n\t\t\tconst top = container.scrollTop;\n\n\t\t\tsetHidden(top < offset);\n\t\t});\n\n\t\tlistener();\n\t\tcontainer.addEventListener(\"scroll\", listener);\n\n\t\treturn () => {\n\t\t\tcontainer.removeEventListener(\"scroll\", listener);\n\t\t};\n\t}, [offset, getContainer]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-affix\", className, {\n\t\t\t\t\"i-affix-hidden\": hidden,\n\t\t\t})}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\tposition,\n\t\t\t\tleft,\n\t\t\t\ttop,\n\t\t\t\tright,\n\t\t\t\tbottom,\n\t\t\t}}\n\t\t>\n\t\t\t{hijackChildren}\n\t\t</div>\n\t);\n};\n\nAffix.ToTop = ToTop;\n\nexport default Affix;\n"],"names":["useState","useMemo","Children","ToTop","cloneElement","useEffect","debounce","_jsx","classNames"],"mappings":";;;;;;;;;;;;;;AAcA,MAAM,KAAK,GAAG,CAAC,KAAa,KAAI;IAC/B,MAAM,EACL,QAAQ,GAAG,OAAO,EAClB,IAAI,EACJ,GAAG,EACH,KAAK,EACL,MAAM,EACN,MAAM,EACN,KAAK,EACL,SAAS,EACT,QAAQ,EACR,YAAY,GAAG,MAAK;QACnB,IAAI,OAAO,QAAQ,KAAK,WAAW;AAAE,YAAA,OAAO,IAAI;QAChD,OAAO,QAAQ,CAAC,IAAI;IACrB,CAAC,GACD,GAAG,KAAK;IAET,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGA,cAAQ,CAAU,KAAK,CAAC;AAEpD,IAAA,MAAM,cAAc,GAAGC,aAAO,CAAC,MAAK;QACnC,OAAOC,cAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAS,KAAI;AAC3C,YAAA,IAAI,IAAI,CAAC,IAAI,KAAKC,aAAK,EAAE;AACxB,gBAAA,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK;gBAE9B,OAAOC,kBAAY,CAAC,IAAI,EAAE;oBACzB,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,GAAG,IAAI,CAAC,KAAK;AACb,oBAAA,OAAO,EAAE,CAAC,CAAa,KAAI;AAC1B,wBAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAEhC,wBAAA,OAAO,GAAG,CAAC,CAAC;wBACZ,SAAS,EAAE,QAAQ,CAAC;AACnB,4BAAA,GAAG,EAAE,CAAC;AACN,4BAAA,IAAI,EAAE,CAAC;AACP,4BAAA,QAAQ,EAAE,QAAQ;AAClB,yBAAA,CAAC;oBACH,CAAC;AACD,iBAAA,CAAC;YACH;AAEA,YAAA,OAAO,IAAI;AACZ,QAAA,CAAC,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE5BC,eAAS,CAAC,MAAK;AACd,QAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,QAAA,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS;YAAE;QAE3B,MAAM,QAAQ,GAAGC,eAAQ,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,MAAK;AAC9C,YAAA,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS;AAE/B,YAAA,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC;AACxB,QAAA,CAAC,CAAC;AAEF,QAAA,QAAQ,EAAE;AACV,QAAA,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAE9C,QAAA,OAAO,MAAK;AACX,YAAA,SAAS,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAClD,QAAA,CAAC;AACF,IAAA,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE1B,QACCC,wBACC,SAAS,EAAEC,mBAAU,CAAC,SAAS,EAAE,SAAS,EAAE;AAC3C,YAAA,gBAAgB,EAAE,MAAM;SACxB,CAAC,EACF,KAAK,EAAE;AACN,YAAA,GAAG,KAAK;YACR,QAAQ;YACR,IAAI;YACJ,GAAG;YACH,KAAK;YACL,MAAM;SACN,EAAA,QAAA,EAEA,cAAc,EAAA,CACV;AAER;AAEA,KAAK,CAAC,KAAK,GAAGL,aAAK;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"totop.js","sources":["../../../../packages/components/affix/totop.tsx"],"sourcesContent":["import { SkipPreviousRound } from \"@ricons/material\";\
|
|
1
|
+
{"version":3,"file":"totop.js","sources":["../../../../packages/components/affix/totop.tsx"],"sourcesContent":["import { SkipPreviousRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport Button from \"../button\";\nimport Icon from \"../icon\";\nimport { IAffix } from \"./type\";\n\nfunction ToTop(props: IAffix) {\n\tconst { style, className, onClick } = props;\n\n\treturn (\n\t\t<Button\n\t\t\tsquare\n\t\t\tclassName={classNames(\"i-affix-totop\", className)}\n\t\t\tstyle={{ ...style }}\n\t\t\tonClick={onClick}\n\t\t>\n\t\t\t<Icon icon={<SkipPreviousRound />} rotate={90} />\n\t\t</Button>\n\t);\n}\n\nexport default ToTop;\n"],"names":["_jsx","Button","classNames","Icon","SkipPreviousRound"],"mappings":";;;;;;;;;;;;;;AAMA,SAAS,KAAK,CAAC,KAAa,EAAA;IAC3B,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK;AAE3C,IAAA,QACCA,cAAA,CAACC,cAAM,IACN,MAAM,EAAA,IAAA,EACN,SAAS,EAAEC,mBAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EACjD,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,EACnB,OAAO,EAAE,OAAO,YAEhBF,cAAA,CAACG,YAAI,IAAC,IAAI,EAAEH,eAACI,0BAAiB,EAAA,EAAA,CAAG,EAAE,MAAM,EAAE,EAAE,EAAA,CAAI,EAAA,CACzC;AAEX;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sources":["../../../../packages/components/badge/badge.tsx"],"sourcesContent":["import classNames from \"classnames\";\
|
|
1
|
+
{"version":3,"file":"badge.js","sources":["../../../../packages/components/badge/badge.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport \"./index.css\";\nimport type { IBadge } from \"./type\";\n\nconst Badge = (props: IBadge) => {\n\tconst {\n\t\tcontent,\n\t\tcontentClass,\n\t\tdot,\n\t\tdotSize,\n\t\tround,\n\t\tdisabled,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t} = props;\n\n\treturn (\n\t\t<div\n\t\t\tstyle={style}\n\t\t\tclassName={classNames(\"i-badge\", { rounded: round }, className)}\n\t\t>\n\t\t\t{children}\n\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-badge-content\", contentClass, {\n\t\t\t\t\t\"i-badge-dot\": dot,\n\t\t\t\t\t\"i-badge-hidden\": disabled,\n\t\t\t\t})}\n\t\t\t\tstyle={{ fontSize: dotSize }}\n\t\t\t>\n\t\t\t\t{content}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default Badge;\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAIA,MAAM,KAAK,GAAG,CAAC,KAAa,KAAI;IAC/B,MAAM,EACL,OAAO,EACP,YAAY,EACZ,GAAG,EACH,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,GACR,GAAG,KAAK;AAET,IAAA,QACCA,eAAA,CAAA,KAAA,EAAA,EACC,KAAK,EAAE,KAAK,EACZ,SAAS,EAAEC,mBAAU,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,CAE9D,QAAQ,EAETC,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAED,mBAAU,CAAC,iBAAiB,EAAE,YAAY,EAAE;AACtD,oBAAA,aAAa,EAAE,GAAG;AAClB,oBAAA,gBAAgB,EAAE,QAAQ;AAC1B,iBAAA,CAAC,EACF,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAA,QAAA,EAE3B,OAAO,EAAA,CACH,CAAA,EAAA,CACD;AAER;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../../../packages/components/button/button.tsx"],"sourcesContent":["import classnames from \"classnames\";\
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../../../packages/components/button/button.tsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { MouseEvent, createElement, useEffect } from \"react\";\nimport useRipple from \"../../js/useRipple\";\nimport Loading from \"../loading\";\nimport Confirm from \"./confirm\";\nimport Group from \"./group\";\nimport \"./index.css\";\nimport Toggle from \"./toggle\";\nimport { CompositionButton, IButton } from \"./type\";\n\nconst formatClass = ({\n\toutline,\n\tflat,\n\tloading,\n\tdisabled,\n\tsize = \"normal\",\n\tblock,\n\tround,\n\tsquare,\n\tsecondary,\n\tclassName,\n}: IButton) =>\n\tclassnames(\"i-btn\", className, {\n\t\t\"i-btn-outline\": outline,\n\t\t\"i-btn-flat\": flat,\n\t\t\"i-btn-block\": block,\n\t\t\"i-btn-loading\": loading,\n\t\t\"i-btn-square\": square,\n\t\t\"i-btn-secondary\": secondary,\n\t\t[`i-btn-${size}`]: size !== \"normal\",\n\t\tround,\n\t\tdisabled,\n\t});\n\nconst Button = (props: IButton) => {\n\tconst {\n\t\tas: As = \"a\",\n\t\tref,\n\t\tchildren,\n\t\tclassName,\n\t\tloading,\n\t\tflat,\n\t\toutline,\n\t\tsquare,\n\t\tsecondary,\n\t\tsize,\n\t\tround,\n\t\thref,\n\t\tripple = true,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst handleClick = (e: MouseEvent<HTMLElement>) => {\n\t\tif (loading || restProps.disabled) {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tonClick?.(e);\n\t};\n\n\tif (!children) return <></>;\n\n\tconst childNodes = [\n\t\tloading && <Loading key='loading' />,\n\t\tcreateElement(\n\t\t\t\"span\",\n\t\t\t{ key: \"content\", className: \"i-btn-content\" },\n\t\t\tchildren,\n\t\t),\n\t];\n\n\tconst attrs = {\n\t\tclassName: formatClass(props),\n\t\t[\"data-ripple\"]:\n\t\t\tripple && !loading && !restProps.disabled ? \"\" : undefined,\n\t\tonClick: handleClick,\n\t};\n\n\tuseEffect(() => {\n\t\tripple && useRipple();\n\t}, [ripple]);\n\n\tif (typeof As === \"string\") {\n\t\treturn createElement(\n\t\t\tAs,\n\t\t\t{\n\t\t\t\tref,\n\t\t\t\thref,\n\t\t\t\t...attrs,\n\t\t\t\t...restProps,\n\t\t\t},\n\t\t\tchildNodes,\n\t\t);\n\t}\n\n\treturn createElement(\n\t\tAs,\n\t\t{\n\t\t\tto: href || \"\",\n\t\t\t...attrs,\n\t\t\t...restProps,\n\t\t},\n\t\tchildNodes,\n\t);\n};\n\nButton.Toggle = Toggle;\nButton.Confirm = Confirm;\nButton.Group = Group;\n\nexport default Button as CompositionButton;\n"],"names":["classnames","loading","_jsx","Loading","createElement","useEffect","useRipple","Toggle","Confirm","Group"],"mappings":";;;;;;;;;;;;;;;;;AAUA,MAAM,WAAW,GAAG,CAAC,EACpB,OAAO,EACP,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,IAAI,GAAG,QAAQ,EACf,KAAK,EACL,KAAK,EACL,MAAM,EACN,SAAS,EACT,SAAS,GACA,KACTA,mBAAU,CAAC,OAAO,EAAE,SAAS,EAAE;AAC9B,IAAA,eAAe,EAAE,OAAO;AACxB,IAAA,YAAY,EAAE,IAAI;AAClB,IAAA,aAAa,EAAE,KAAK;AACpB,IAAA,eAAe,EAAE,OAAO;AACxB,IAAA,cAAc,EAAE,MAAM;AACtB,IAAA,iBAAiB,EAAE,SAAS;AAC5B,IAAA,CAAC,SAAS,IAAI,CAAA,CAAE,GAAG,IAAI,KAAK,QAAQ;IACpC,KAAK;IACL,QAAQ;AACR,CAAA,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,KAAc,KAAI;AACjC,IAAA,MAAM,EACL,EAAE,EAAE,EAAE,GAAG,GAAG,EACZ,GAAG,EACH,QAAQ,EACR,SAAS,WACTC,SAAO,EACP,IAAI,EACJ,OAAO,EACP,MAAM,EACN,SAAS,EACT,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,MAAM,GAAG,IAAI,EACb,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,WAAW,GAAG,CAAC,CAA0B,KAAI;AAClD,QAAA,IAAIA,SAAO,IAAI,SAAS,CAAC,QAAQ,EAAE;YAClC,CAAC,CAAC,eAAe,EAAE;YACnB,CAAC,CAAC,cAAc,EAAE;YAClB;QACD;AAEA,QAAA,OAAO,GAAG,CAAC,CAAC;AACb,IAAA,CAAC;AAED,IAAA,IAAI,CAAC,QAAQ;AAAE,QAAA,OAAOC,uCAAK;AAE3B,IAAA,MAAM,UAAU,GAAG;AAClB,QAAAD,SAAO,IAAIC,cAAA,CAACC,eAAO,EAAA,EAAA,EAAK,SAAS,CAAG;AACpC,QAAAC,mBAAa,CACZ,MAAM,EACN,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,EAC9C,QAAQ,CACR;KACD;AAED,IAAA,MAAM,KAAK,GAAG;AACb,QAAA,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC;AAC7B,QAAA,CAAC,aAAa,GACb,MAAM,IAAI,CAACH,SAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,EAAE,GAAG,SAAS;AAC3D,QAAA,OAAO,EAAE,WAAW;KACpB;IAEDI,eAAS,CAAC,MAAK;QACd,MAAM,IAAIC,aAAS,EAAE;AACtB,IAAA,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAEZ,IAAA,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;QAC3B,OAAOF,mBAAa,CACnB,EAAE,EACF;YACC,GAAG;YACH,IAAI;AACJ,YAAA,GAAG,KAAK;AACR,YAAA,GAAG,SAAS;SACZ,EACD,UAAU,CACV;IACF;IAEA,OAAOA,mBAAa,CACnB,EAAE,EACF;QACC,EAAE,EAAE,IAAI,IAAI,EAAE;AACd,QAAA,GAAG,KAAK;AACR,QAAA,GAAG,SAAS;KACZ,EACD,UAAU,CACV;AACF;AAEA,MAAM,CAAC,MAAM,GAAGG,cAAM;AACtB,MAAM,CAAC,OAAO,GAAGC,eAAO;AACxB,MAAM,CAAC,KAAK,GAAGC,aAAK;;;;"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var ahooks = require('ahooks');
|
|
7
6
|
var button = require('./button.js');
|
|
7
|
+
var hooks = require('../../js/hooks.js');
|
|
8
8
|
|
|
9
9
|
const defaultOk = {
|
|
10
10
|
children: "确定",
|
|
@@ -16,7 +16,7 @@ const defaultCancel = {
|
|
|
16
16
|
};
|
|
17
17
|
function Confirm(props) {
|
|
18
18
|
const { ref, size, okButtonProps, cancelButtonProps, onOk, onCancel, onClick, ...restProps } = props;
|
|
19
|
-
const state =
|
|
19
|
+
const state = hooks.useReactive({
|
|
20
20
|
active: false,
|
|
21
21
|
loading: false,
|
|
22
22
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirm.js","sources":["../../../../packages/components/button/confirm.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"confirm.js","sources":["../../../../packages/components/button/confirm.tsx"],"sourcesContent":["import Button from \"./button\";\nimport type { IButton, IButtonConfirm } from \"./type\";\nimport { useReactive } from \"../../js/hooks\";\n\nconst defaultOk = {\n\tchildren: \"确定\",\n\tclassName: \"bg-error\",\n};\n\nconst defaultCancel = {\n\tchildren: \"取消\",\n\tsecondary: true,\n};\n\nexport default function Confirm(props: IButtonConfirm) {\n\tconst {\n\t\tref,\n\t\tsize,\n\t\tokButtonProps,\n\t\tcancelButtonProps,\n\t\tonOk,\n\t\tonCancel,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tactive: false,\n\t\tloading: false,\n\t});\n\n\tconst ok: IButton = okButtonProps\n\t\t? Object.assign({}, defaultOk, okButtonProps)\n\t\t: defaultOk;\n\tconst cancel: IButton = cancelButtonProps\n\t\t? Object.assign({}, defaultCancel, cancelButtonProps)\n\t\t: defaultCancel;\n\n\tconst handleClick = (e) => {\n\t\tonClick?.(e);\n\t\tstate.active = true;\n\t};\n\n\tconst hanldeOk = async () => {\n\t\tif (state.loading) return;\n\t\tstate.loading = true;\n\n\t\ttry {\n\t\t\tconst res = await onOk?.();\n\n\t\t\tif (res !== false) {\n\t\t\t\tstate.active = false;\n\t\t\t}\n\t\t} finally {\n\t\t\tstate.loading = false;\n\t\t}\n\t};\n\n\tconst handleCancel = () => {\n\t\tonCancel?.();\n\t\tstate.active = false;\n\t};\n\n\tif (!state.active) {\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tref={ref}\n\t\t\t\tsize={size}\n\t\t\t\t{...restProps}\n\t\t\t\tonClick={handleClick}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button.Group>\n\t\t\t<Button\n\t\t\t\tsize={size}\n\t\t\t\t{...ok}\n\t\t\t\tloading={state.loading}\n\t\t\t\tonClick={hanldeOk}\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tsize={size}\n\t\t\t\t{...cancel}\n\t\t\t\tdisabled={state.loading}\n\t\t\t\tonClick={handleCancel}\n\t\t\t/>\n\t\t</Button.Group>\n\t);\n}\n"],"names":["useReactive","_jsx","Button","_jsxs"],"mappings":";;;;;;;;AAIA,MAAM,SAAS,GAAG;AACjB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,SAAS,EAAE,UAAU;CACrB;AAED,MAAM,aAAa,GAAG;AACrB,IAAA,QAAQ,EAAE,IAAI;AACd,IAAA,SAAS,EAAE,IAAI;CACf;AAEa,SAAU,OAAO,CAAC,KAAqB,EAAA;IACpD,MAAM,EACL,GAAG,EACH,IAAI,EACJ,aAAa,EACb,iBAAiB,EACjB,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAGA,iBAAW,CAAC;AACzB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,OAAO,EAAE,KAAK;AACd,KAAA,CAAC;IAEF,MAAM,EAAE,GAAY;UACjB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,aAAa;UAC1C,SAAS;IACZ,MAAM,MAAM,GAAY;UACrB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,aAAa,EAAE,iBAAiB;UAClD,aAAa;AAEhB,IAAA,MAAM,WAAW,GAAG,CAAC,CAAC,KAAI;AACzB,QAAA,OAAO,GAAG,CAAC,CAAC;AACZ,QAAA,KAAK,CAAC,MAAM,GAAG,IAAI;AACpB,IAAA,CAAC;AAED,IAAA,MAAM,QAAQ,GAAG,YAAW;QAC3B,IAAI,KAAK,CAAC,OAAO;YAAE;AACnB,QAAA,KAAK,CAAC,OAAO,GAAG,IAAI;AAEpB,QAAA,IAAI;AACH,YAAA,MAAM,GAAG,GAAG,MAAM,IAAI,IAAI;AAE1B,YAAA,IAAI,GAAG,KAAK,KAAK,EAAE;AAClB,gBAAA,KAAK,CAAC,MAAM,GAAG,KAAK;YACrB;QACD;gBAAU;AACT,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK;QACtB;AACD,IAAA,CAAC;IAED,MAAM,YAAY,GAAG,MAAK;QACzB,QAAQ,IAAI;AACZ,QAAA,KAAK,CAAC,MAAM,GAAG,KAAK;AACrB,IAAA,CAAC;AAED,IAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;AAClB,QAAA,QACCC,cAAA,CAACC,cAAM,IACN,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EAAA,GACN,SAAS,EACb,OAAO,EAAE,WAAW,EAAA,CACnB;IAEJ;IAEA,QACCC,gBAACD,cAAM,CAAC,KAAK,EAAA,EAAA,QAAA,EAAA,CACZD,cAAA,CAACC,cAAM,EAAA,EACN,IAAI,EAAE,IAAI,EAAA,GACN,EAAE,EACN,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,QAAQ,EAAA,CAChB,EACFD,eAACC,cAAM,EAAA,EACN,IAAI,EAAE,IAAI,EAAA,GACN,MAAM,EACV,QAAQ,EAAE,KAAK,CAAC,OAAO,EACvB,OAAO,EAAE,YAAY,EAAA,CACpB,CAAA,EAAA,CACY;AAEjB;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.js","sources":["../../../../packages/components/button/group.tsx"],"sourcesContent":["import classNames from \"classnames\";\
|
|
1
|
+
{"version":3,"file":"group.js","sources":["../../../../packages/components/button/group.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { Children, cloneElement, useMemo } from \"react\";\nimport Button from \"./button\";\nimport { IButtonGroup } from \"./type\";\n\nexport default function Group(props: IButtonGroup) {\n\tconst { children, vertical, buttonProps, className, style } = props;\n\n\tconst nodes = useMemo(() => {\n\t\treturn Children.map(children, (node: any) => {\n\t\t\tconst { type } = node;\n\n\t\t\tif (type === Button) {\n\t\t\t\treturn cloneElement(\n\t\t\t\t\tnode,\n\t\t\t\t\tObject.assign({}, node.props, buttonProps)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn node;\n\t\t});\n\t}, [children]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\tclassName,\n\t\t\t\tvertical ? \"i-btn-group-vertical\" : \"i-btn-group-horizonal\"\n\t\t\t)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{nodes}\n\t\t</div>\n\t);\n}\n"],"names":["useMemo","Children","Button","cloneElement","_jsx","classNames"],"mappings":";;;;;;;;;;;;;AAKc,SAAU,KAAK,CAAC,KAAmB,EAAA;AAChD,IAAA,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK;AAEnE,IAAA,MAAM,KAAK,GAAGA,aAAO,CAAC,MAAK;QAC1B,OAAOC,cAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAS,KAAI;AAC3C,YAAA,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI;AAErB,YAAA,IAAI,IAAI,KAAKC,cAAM,EAAE;AACpB,gBAAA,OAAOC,kBAAY,CAClB,IAAI,EACJ,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAC1C;YACF;AAEA,YAAA,OAAO,IAAI;AACZ,QAAA,CAAC,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAEd,QACCC,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAEC,mBAAU,CACpB,SAAS,EACT,QAAQ,GAAG,sBAAsB,GAAG,uBAAuB,CAC3D,EACD,KAAK,EAAE,KAAK,EAAA,QAAA,EAEX,KAAK,EAAA,CACD;AAER;;;;"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var ahooks = require('ahooks');
|
|
7
6
|
var classNames = require('classnames');
|
|
8
7
|
var react = require('react');
|
|
8
|
+
var hooks = require('../../js/hooks.js');
|
|
9
9
|
var button = require('./button.js');
|
|
10
10
|
|
|
11
11
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
@@ -14,7 +14,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
|
|
|
14
14
|
|
|
15
15
|
function Toggle(props) {
|
|
16
16
|
const { ref, active, activeClass, after, disabled, children, className, toggable, onClick, onToggle, ...restProps } = props;
|
|
17
|
-
const state =
|
|
17
|
+
const state = hooks.useReactive({
|
|
18
18
|
active,
|
|
19
19
|
done: true,
|
|
20
20
|
});
|
|
@@ -47,7 +47,7 @@ function Toggle(props) {
|
|
|
47
47
|
}, [active]);
|
|
48
48
|
return (jsxRuntime.jsx(button.default, { ref: ref, className: classNames__default(className, { [activeClass || ""]: state.active }, "i-btn-toggle"), ...restProps, onClick: handleClick, children: jsxRuntime.jsx("div", { className: classNames__default("i-btn-toggle-content", {
|
|
49
49
|
"i-btn-toggle-active": state.done,
|
|
50
|
-
}), children: state.active ? after ?? children : children }) }));
|
|
50
|
+
}), children: state.active ? (after ?? children) : children }) }));
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
exports.default = Toggle;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.js","sources":["../../../../packages/components/button/toggle.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"toggle.js","sources":["../../../../packages/components/button/toggle.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { MouseEvent, useEffect } from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport Button from \"./button\";\nimport { IButtonToggle } from \"./type\";\n\nexport default function Toggle(props: IButtonToggle) {\n\tconst {\n\t\tref,\n\t\tactive,\n\t\tactiveClass,\n\t\tafter,\n\t\tdisabled,\n\t\tchildren,\n\t\tclassName,\n\t\ttoggable,\n\t\tonClick,\n\t\tonToggle,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tactive,\n\t\tdone: true,\n\t});\n\n\tconst toggle = async () => {\n\t\tconst hasAfter = !!after;\n\t\tconst nextActive = !state.active;\n\n\t\tconst canToggle = toggable ? await toggable() : true;\n\t\tif (!canToggle) return;\n\n\t\tObject.assign(state, {\n\t\t\tactive: nextActive,\n\t\t\tdone: !hasAfter,\n\t\t});\n\t\tonToggle?.(nextActive);\n\n\t\tif (!hasAfter) return;\n\n\t\tsetTimeout(() => {\n\t\t\tstate.done = true;\n\t\t}, 16);\n\t};\n\n\tconst handleClick = (e: MouseEvent<HTMLElement>) => {\n\t\tonClick?.(e);\n\n\t\t!disabled && toggle();\n\t};\n\n\tuseEffect(() => {\n\t\tObject.assign(state, {\n\t\t\tactive,\n\t\t\tdone: true,\n\t\t});\n\t}, [active]);\n\n\treturn (\n\t\t<Button\n\t\t\tref={ref}\n\t\t\tclassName={classNames(\n\t\t\t\tclassName,\n\t\t\t\t{ [activeClass || \"\"]: state.active },\n\t\t\t\t\"i-btn-toggle\",\n\t\t\t)}\n\t\t\t{...restProps}\n\t\t\tonClick={handleClick}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-btn-toggle-content\", {\n\t\t\t\t\t\"i-btn-toggle-active\": state.done,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{state.active ? (after ?? children) : children}\n\t\t\t</div>\n\t\t</Button>\n\t);\n}\n"],"names":["useReactive","useEffect","_jsx","Button","classNames"],"mappings":";;;;;;;;;;;;;;AAMc,SAAU,MAAM,CAAC,KAAoB,EAAA;IAClD,MAAM,EACL,GAAG,EACH,MAAM,EACN,WAAW,EACX,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAGA,iBAAW,CAAC;QACzB,MAAM;AACN,QAAA,IAAI,EAAE,IAAI;AACV,KAAA,CAAC;AAEF,IAAA,MAAM,MAAM,GAAG,YAAW;AACzB,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK;AACxB,QAAA,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,MAAM;AAEhC,QAAA,MAAM,SAAS,GAAG,QAAQ,GAAG,MAAM,QAAQ,EAAE,GAAG,IAAI;AACpD,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AACpB,YAAA,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,CAAC,QAAQ;AACf,SAAA,CAAC;AACF,QAAA,QAAQ,GAAG,UAAU,CAAC;AAEtB,QAAA,IAAI,CAAC,QAAQ;YAAE;QAEf,UAAU,CAAC,MAAK;AACf,YAAA,KAAK,CAAC,IAAI,GAAG,IAAI;QAClB,CAAC,EAAE,EAAE,CAAC;AACP,IAAA,CAAC;AAED,IAAA,MAAM,WAAW,GAAG,CAAC,CAA0B,KAAI;AAClD,QAAA,OAAO,GAAG,CAAC,CAAC;AAEZ,QAAA,CAAC,QAAQ,IAAI,MAAM,EAAE;AACtB,IAAA,CAAC;IAEDC,eAAS,CAAC,MAAK;AACd,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YACpB,MAAM;AACN,YAAA,IAAI,EAAE,IAAI;AACV,SAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAEZ,IAAA,QACCC,cAAA,CAACC,cAAM,IACN,GAAG,EAAE,GAAG,EACR,SAAS,EAAEC,mBAAU,CACpB,SAAS,EACT,EAAE,CAAC,WAAW,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,EACrC,cAAc,CACd,KACG,SAAS,EACb,OAAO,EAAE,WAAW,YAEpBF,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAEE,mBAAU,CAAC,sBAAsB,EAAE;gBAC7C,qBAAqB,EAAE,KAAK,CAAC,IAAI;AACjC,aAAA,CAAC,YAED,KAAK,CAAC,MAAM,IAAI,KAAK,IAAI,QAAQ,IAAI,QAAQ,EAAA,CACzC,EAAA,CACE;AAEX;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../../../packages/components/card/card.tsx"],"sourcesContent":["import classNames from \"classnames\";\
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../../../packages/components/card/card.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport \"./index.css\";\nimport { ICard } from \"./type\";\n\nconst Card = (props: ICard) => {\n\tconst {\n\t\thideShadow,\n\t\tborder,\n\t\tclassName,\n\t\tchildren,\n\t\theader,\n\t\tfooter,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-card\", className, {\n\t\t\t\tshadow: !hideShadow,\n\t\t\t\t\"i-card-bordered\": border,\n\t\t\t})}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{header && <div className='i-card-header'>{header}</div>}\n\n\t\t\t{children && <div className='i-card-content'>{children}</div>}\n\n\t\t\t{footer && <div className='i-card-footer'>{footer}</div>}\n\t\t</div>\n\t);\n};\n\nexport default Card;\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAIA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACN,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,QACCA,yBACC,SAAS,EAAEC,mBAAU,CAAC,QAAQ,EAAE,SAAS,EAAE;YAC1C,MAAM,EAAE,CAAC,UAAU;AACnB,YAAA,iBAAiB,EAAE,MAAM;AACzB,SAAA,CAAC,EAAA,GACE,SAAS,EAAA,QAAA,EAAA,CAEZ,MAAM,IAAIC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,eAAe,YAAE,MAAM,EAAA,CAAO,EAEvD,QAAQ,IAAIA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,gBAAgB,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAO,EAE5D,MAAM,IAAIA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,eAAe,EAAA,QAAA,EAAE,MAAM,EAAA,CAAO,CAAA,EAAA,CACnD;AAER;;;;"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var ahooks = require('ahooks');
|
|
7
6
|
var classNames = require('classnames');
|
|
8
7
|
var react = require('react');
|
|
8
|
+
var hooks = require('../../js/hooks.js');
|
|
9
9
|
var utils = require('../../js/utils.js');
|
|
10
10
|
var item = require('./item.js');
|
|
11
11
|
|
|
@@ -15,7 +15,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
|
|
|
15
15
|
|
|
16
16
|
function Checkbox(props) {
|
|
17
17
|
const { label, name, options = [], value = "", type = "default", optionInline = true, labelInline, disabled, status = "normal", message, required, className, renderItem, onChange, ...restProps } = props;
|
|
18
|
-
const state =
|
|
18
|
+
const state = hooks.useReactive({
|
|
19
19
|
value,
|
|
20
20
|
});
|
|
21
21
|
const formattedOptions = react.useMemo(() => utils.formatOption(options), [options]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sources":["../../../../packages/components/checkbox/checkbox.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"checkbox.js","sources":["../../../../packages/components/checkbox/checkbox.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useEffect, useMemo } from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport \"../../css/input.css\";\nimport { formatOption } from \"../../js/utils\";\nimport \"./index.css\";\nimport CheckboxItem from \"./item\";\nimport type { ICheckbox } from \"./type\";\n\nfunction Checkbox(props: ICheckbox) {\n\tconst {\n\t\tlabel,\n\t\tname,\n\t\toptions = [],\n\t\tvalue = \"\",\n\t\ttype = \"default\",\n\t\toptionInline = true,\n\t\tlabelInline,\n\t\tdisabled,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\trequired,\n\t\tclassName,\n\t\trenderItem,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive<{\n\t\tvalue: any;\n\t}>({\n\t\tvalue,\n\t});\n\n\tconst formattedOptions = useMemo(() => formatOption(options), [options]);\n\n\tconst handleChange = (checked, opt, e) => {\n\t\tconst group = [...state.value];\n\t\tconst i = group.findIndex((item) => item === opt.value);\n\n\t\tif (checked && i < 0) {\n\t\t\tgroup.push(opt.value);\n\t\t} else if (!checked && i > -1) {\n\t\t\tgroup.splice(i, 1);\n\t\t}\n\n\t\tstate.value = group;\n\t\tonChange?.(group, opt, e);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-checkbox i-input-label\",\n\t\t\t\t{\n\t\t\t\t\t[`i-checkbox-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t\t},\n\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{label && (\n\t\t\t\t<span className='i-input-label-text'>\n\t\t\t\t\t{required && <span className='error'>*</span>}\n\t\t\t\t\t{label}\n\n\t\t\t\t\t{message && <p className='i-checkbox-message'>{message}</p>}\n\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-checkbox-options\", {\n\t\t\t\t\t\"i-options-block\": !optionInline,\n\t\t\t\t\t\"i-checkbox-options-button\": type === \"button\",\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{formattedOptions.map((option) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CheckboxItem\n\t\t\t\t\t\t\tkey={option.value as string}\n\t\t\t\t\t\t\tname={name}\n\t\t\t\t\t\t\tvalue={state.value.includes(option.value)}\n\t\t\t\t\t\t\toptionValue={option.value}\n\t\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\t\tdisabled={disabled || option.disabled}\n\t\t\t\t\t\t\tonChange={(checked, e) =>\n\t\t\t\t\t\t\t\thandleChange(checked, option, e)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{renderItem ?? option.label}\n\t\t\t\t\t\t</CheckboxItem>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nCheckbox.Item = CheckboxItem;\n\nexport default Checkbox;\n"],"names":["useReactive","useMemo","formatOption","useEffect","_jsxs","classNames","_jsx","CheckboxItem"],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var ahooks = require('ahooks');
|
|
7
6
|
var classNames = require('classnames');
|
|
8
7
|
var react = require('react');
|
|
8
|
+
var hooks = require('../../js/hooks.js');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
|
|
11
11
|
|
|
@@ -13,7 +13,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
|
|
|
13
13
|
|
|
14
14
|
function CheckboxItem(props) {
|
|
15
15
|
const { type = "default", label, name, value = false, className, status = "normal", message, disabled, partof, optionValue, children, onChange, ...restProps } = props;
|
|
16
|
-
const state =
|
|
16
|
+
const state = hooks.useReactive({
|
|
17
17
|
value,
|
|
18
18
|
status,
|
|
19
19
|
message,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sources":["../../../../packages/components/checkbox/item.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../../packages/components/checkbox/item.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { ChangeEvent, useEffect } from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport { ICheckboxItem } from \"./type\";\n\nexport default function CheckboxItem(props: ICheckboxItem) {\n\tconst {\n\t\ttype = \"default\",\n\t\tlabel,\n\t\tname,\n\t\tvalue = false,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\tdisabled,\n\t\tpartof,\n\t\toptionValue,\n\t\tchildren,\n\t\tonChange,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t\tstatus,\n\t\tmessage,\n\t});\n\tconst isChildrenFn = typeof children === \"function\";\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tconst checked = e.target.checked;\n\n\t\tObject.assign(state, {\n\t\t\tvalue: checked,\n\t\t\tstatus,\n\t\t\tmessage,\n\t\t});\n\n\t\tonChange?.(checked, e);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\treturn (\n\t\t<label\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-checkbox-item\",\n\t\t\t\t{\n\t\t\t\t\t[`i-checkbox-${state.status}`]: state.status !== \"normal\",\n\t\t\t\t\tdisabled,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t<input\n\t\t\t\ttype='checkbox'\n\t\t\t\tname={name}\n\t\t\t\tclassName={classNames(\"i-checkbox-input\", {\n\t\t\t\t\t[`i-checkbox-${type}`]: !partof,\n\t\t\t\t\t\"i-checkbox-partof\": partof,\n\t\t\t\t})}\n\t\t\t\tchecked={state.value}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tonChange={handleChange}\n\t\t\t/>\n\n\t\t\t{isChildrenFn ? (\n\t\t\t\tchildren(state.value, optionValue)\n\t\t\t) : (\n\t\t\t\t<span className='i-checkbox-text'>{children || label}</span>\n\t\t\t)}\n\n\t\t\t{state.message && (\n\t\t\t\t<span className='i-checkbox-message'>*{state.message}</span>\n\t\t\t)}\n\t\t</label>\n\t);\n}\n"],"names":["useReactive","useEffect","_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;;;AAKc,SAAU,YAAY,CAAC,KAAoB,EAAA;AACxD,IAAA,MAAM,EACL,IAAI,GAAG,SAAS,EAChB,KAAK,EACL,IAAI,EACJ,KAAK,GAAG,KAAK,EACb,SAAS,EACT,MAAM,GAAG,QAAQ,EACjB,OAAO,EACP,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAGA,iBAAW,CAAC;QACzB,KAAK;QACL,MAAM;QACN,OAAO;AACP,KAAA,CAAC;AACF,IAAA,MAAM,YAAY,GAAG,OAAO,QAAQ,KAAK,UAAU;AAEnD,IAAA,MAAM,YAAY,GAAG,CAAC,CAAgC,KAAI;AACzD,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO;AAEhC,QAAA,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;AACpB,YAAA,KAAK,EAAE,OAAO;YACd,MAAM;YACN,OAAO;AACP,SAAA,CAAC;AAEF,QAAA,QAAQ,GAAG,OAAO,EAAE,CAAC,CAAC;AACvB,IAAA,CAAC;IAEDC,eAAS,CAAC,MAAK;AACd,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACpB,IAAA,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,QACCC,eAAA,CAAA,OAAA,EAAA,EACC,SAAS,EAAEC,mBAAU,CACpB,iBAAiB,EACjB;YACC,CAAC,CAAA,WAAA,EAAc,KAAK,CAAC,MAAM,CAAA,CAAE,GAAG,KAAK,CAAC,MAAM,KAAK,QAAQ;YACzD,QAAQ;AACR,SAAA,EACD,SAAS,CACT,EAAA,GACG,SAAS,EAAA,QAAA,EAAA,CAEbC,cAAA,CAAA,OAAA,EAAA,EACC,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,EACV,SAAS,EAAED,mBAAU,CAAC,kBAAkB,EAAE;AACzC,oBAAA,CAAC,cAAc,IAAI,CAAA,CAAE,GAAG,CAAC,MAAM;AAC/B,oBAAA,mBAAmB,EAAE,MAAM;AAC3B,iBAAA,CAAC,EACF,OAAO,EAAE,KAAK,CAAC,KAAK,EACpB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,YAAY,EAAA,CACrB,EAED,YAAY,IACZ,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,KAElCC,cAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,iBAAiB,EAAA,QAAA,EAAE,QAAQ,IAAI,KAAK,EAAA,CAAQ,CAC5D,EAEA,KAAK,CAAC,OAAO,KACbF,eAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAAA,GAAA,EAAG,KAAK,CAAC,OAAO,CAAA,EAAA,CAAQ,CAC5D,CAAA,EAAA,CACM;AAEV;;;;"}
|
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var material = require('@ricons/material');
|
|
7
|
-
var ahooks = require('ahooks');
|
|
8
7
|
var classNames = require('classnames');
|
|
9
8
|
var react = require('react');
|
|
9
|
+
var hooks = require('../../js/hooks.js');
|
|
10
10
|
var helpericon = require('../utils/helpericon/helpericon.js');
|
|
11
11
|
var item = require('./item.js');
|
|
12
12
|
|
|
@@ -16,7 +16,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
|
|
|
16
16
|
|
|
17
17
|
const Collapse = (props) => {
|
|
18
18
|
const { active, items, multiple, border, headerClickable, className, children, renderToggle = (active) => active ? jsxRuntime.jsx(material.MinusRound, {}) : jsxRuntime.jsx(material.PlusRound, {}), onCollapse, ...restProps } = props;
|
|
19
|
-
const state =
|
|
19
|
+
const state = hooks.useReactive({
|
|
20
20
|
active,
|
|
21
21
|
});
|
|
22
22
|
const collapses = react.useMemo(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.js","sources":["../../../../packages/components/collapse/collapse.tsx"],"sourcesContent":["import { MinusRound, PlusRound } from \"@ricons/material\";\
|
|
1
|
+
{"version":3,"file":"collapse.js","sources":["../../../../packages/components/collapse/collapse.tsx"],"sourcesContent":["import { MinusRound, PlusRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { Children, useMemo } from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { ICollapse, ICollapseItem, TKey } from \"./type\";\n\nconst Collapse = (props: ICollapse) => {\n\tconst {\n\t\tactive,\n\t\titems,\n\t\tmultiple,\n\t\tborder,\n\t\theaderClickable,\n\t\tclassName,\n\t\tchildren,\n\t\trenderToggle = (active: boolean) =>\n\t\t\tactive ? <MinusRound /> : <PlusRound />,\n\t\tonCollapse,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tactive,\n\t});\n\n\tconst collapses = useMemo(() => {\n\t\tif (!items) {\n\t\t\tif (!children) return [];\n\n\t\t\treturn (\n\t\t\t\tChildren.map(children, (node, i) => {\n\t\t\t\t\tconst { key, props: nodeProps } = node as {\n\t\t\t\t\t\tkey?: TKey;\n\t\t\t\t\t\tprops?: any;\n\t\t\t\t\t};\n\t\t\t\t\tconst { title, children, content, disabled, ...restProps } =\n\t\t\t\t\t\tnodeProps;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...restProps,\n\t\t\t\t\t\tkey: key || i,\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tcontent: children || content,\n\t\t\t\t\t\tdisabled,\n\t\t\t\t\t};\n\t\t\t\t}) || []\n\t\t\t);\n\t\t}\n\n\t\treturn items;\n\t}, [children]);\n\n\tconst handleHeaderClick = (item: ICollapseItem) => {\n\t\tif (!headerClickable) return;\n\n\t\thandleToggle(item);\n\t};\n\n\tconst handleToggle = (item: ICollapseItem, e?) => {\n\t\tconst { key, disabled } = item;\n\t\te?.stopPropagation();\n\t\tif (disabled) return;\n\n\t\tif (!multiple) {\n\t\t\tstate.active = state.active === key ? undefined : key;\n\t\t\tonCollapse?.(key as TKey, state.active !== undefined);\n\t\t\treturn;\n\t\t}\n\n\t\tif (!Array.isArray(state.active)) state.active = [];\n\n\t\tconst i = state.active.findIndex((k) => k === key);\n\n\t\tif (i > -1) {\n\t\t\tstate.active.splice(i, 1);\n\t\t} else {\n\t\t\tkey !== undefined && state.active.push(key);\n\t\t}\n\t\tonCollapse?.(key as TKey, i < 0);\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-collapse\",\n\t\t\t\t{\n\t\t\t\t\t\"i-collapse-bordered\": border,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{collapses.map((item) => {\n\t\t\t\tconst {\n\t\t\t\t\tkey,\n\t\t\t\t\ttitle,\n\t\t\t\t\tcontent,\n\t\t\t\t\tdisabled,\n\t\t\t\t\tclassName,\n\t\t\t\t\t...restProps\n\t\t\t\t} = item;\n\t\t\t\tconst isActive = multiple\n\t\t\t\t\t? ((state.active as TKey[]) || []).includes(key)\n\t\t\t\t\t: state.active === key;\n\n\t\t\t\treturn (\n\t\t\t\t\t<div\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\tclassName={classNames(\"i-collapse-item\", className, {\n\t\t\t\t\t\t\t\"i-collapse-active\": isActive,\n\t\t\t\t\t\t\t\"i-collapse-disabled\": disabled,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName='i-collapse-header'\n\t\t\t\t\t\t\tonClick={() => handleHeaderClick(item)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{title}\n\n\t\t\t\t\t\t\t<Helpericon\n\t\t\t\t\t\t\t\tactive\n\t\t\t\t\t\t\t\tclassName='i-collapse-toggle'\n\t\t\t\t\t\t\t\ticon={renderToggle(isActive)}\n\t\t\t\t\t\t\t\tonClick={(e) => handleToggle(item, e)}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className='i-collapse-content'>{content}</div>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t})}\n\t\t</div>\n\t);\n};\n\nCollapse.Item = Item;\n\nexport default Collapse;\n"],"names":["_jsx","MinusRound","PlusRound","useReactive","useMemo","Children","classNames","_jsxs","Helpericon","Item"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sources":["../../../../packages/components/collapse/item.tsx"],"sourcesContent":["import { ICollapseItem } from \"./type\";\
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../../packages/components/collapse/item.tsx"],"sourcesContent":["import { ICollapseItem } from \"./type\";\n\nexport default function Item(props: ICollapseItem) {\n\treturn <></>;\n}\n"],"names":["_jsx"],"mappings":";;;;;;AAEc,SAAU,IAAI,CAAC,KAAoB,EAAA;AAChD,IAAA,OAAOA,uCAAK;AACb;;;;"}
|
|
@@ -18,7 +18,7 @@ function getCellStyle({ justify, col, row, colSpan = 1, rowSpan = 1, }) {
|
|
|
18
18
|
function Cell(props) {
|
|
19
19
|
const { column, row, col, data, cellEllipsis, onCellClick, onCellDoubleClick, } = props;
|
|
20
20
|
const { id, fixed, justify, rowSpan, render } = column;
|
|
21
|
-
const style = getCellStyle({ justify,
|
|
21
|
+
const style = getCellStyle({ justify, col, row, rowSpan });
|
|
22
22
|
return (jsxRuntime.jsx("div", { className: classNames__default("i-datagrid-cell", {
|
|
23
23
|
[`i-datagrid-cell-fixed-${fixed}`]: fixed,
|
|
24
24
|
}), "data-col": id, style: style, onClick: (e) => onCellClick?.(data, column, row, col, e), onDoubleClick: (e) => onCellDoubleClick?.(data, column, row, col, e), children: render?.(data[id], data, row, col) ?? (jsxRuntime.jsx("div", { className: classNames__default("i-datagrid-cell-content", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell.js","sources":["../../../../packages/components/datagrid/cell.tsx"],"sourcesContent":["import classNames from \"classnames\";\
|
|
1
|
+
{"version":3,"file":"cell.js","sources":["../../../../packages/components/datagrid/cell.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { ICell, IColumn } from \"./type\";\n\nexport function getCellStyle({\n\tjustify,\n\tcol,\n\trow,\n\tcolSpan = 1,\n\trowSpan = 1,\n}: Pick<IColumn, \"justify\" | \"fixed\"> & {\n\tcol: number;\n\trow: number;\n\tcolSpan?: number;\n\trowSpan?: number;\n\tisHeader?: boolean;\n}) {\n\tconst style = {\n\t\t\"--datagrid-justify\": justify,\n\t\tgridArea: `${row + 1} / ${col + 1} / ${row + 1 + rowSpan} / ${\n\t\t\tcol + 1 + colSpan\n\t\t}`,\n\t\tinsetInline: `var(--datagrid-cell-inset-${col})`,\n\t};\n\n\treturn style;\n}\n\nexport function Cell(props: ICell) {\n\tconst {\n\t\tcolumn,\n\t\trow,\n\t\tcol,\n\t\tdata,\n\t\tcellEllipsis,\n\t\tonCellClick,\n\t\tonCellDoubleClick,\n\t} = props;\n\tconst { id, fixed, justify, rowSpan, render } = column;\n\tconst style = getCellStyle({ justify, fixed, col, row, rowSpan });\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-datagrid-cell\", {\n\t\t\t\t[`i-datagrid-cell-fixed-${fixed}`]: fixed,\n\t\t\t})}\n\t\t\tdata-col={id}\n\t\t\tstyle={style}\n\t\t\tonClick={(e) => onCellClick?.(data, column, row, col, e)}\n\t\t\tonDoubleClick={(e) =>\n\t\t\t\tonCellDoubleClick?.(data, column, row, col, e)\n\t\t\t}\n\t\t>\n\t\t\t{render?.(data[id], data, row, col) ?? (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\"i-datagrid-cell-content\", {\n\t\t\t\t\t\t\"i-datagrid-cell-content-ellipsis\": cellEllipsis,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{data[id]}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n"],"names":["_jsx","classNames"],"mappings":";;;;;;;;;SAGgB,YAAY,CAAC,EAC5B,OAAO,EACP,GAAG,EACH,GAAG,EACH,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,CAAC,GAOX,EAAA;AACA,IAAA,MAAM,KAAK,GAAG;AACb,QAAA,oBAAoB,EAAE,OAAO;QAC7B,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA,GAAA,EAAM,GAAG,GAAG,CAAC,CAAA,GAAA,EAAM,GAAG,GAAG,CAAC,GAAG,OAAO,CAAA,GAAA,EACvD,GAAG,GAAG,CAAC,GAAG,OACX,CAAA,CAAE;QACF,WAAW,EAAE,CAAA,0BAAA,EAA6B,GAAG,CAAA,CAAA,CAAG;KAChD;AAED,IAAA,OAAO,KAAK;AACb;AAEM,SAAU,IAAI,CAAC,KAAY,EAAA;AAChC,IAAA,MAAM,EACL,MAAM,EACN,GAAG,EACH,GAAG,EACH,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,iBAAiB,GACjB,GAAG,KAAK;AACT,IAAA,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM;AACtD,IAAA,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,OAAO,EAAS,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAEjE,IAAA,QACCA,cAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAEC,mBAAU,CAAC,iBAAiB,EAAE;AACxC,YAAA,CAAC,CAAA,sBAAA,EAAyB,KAAK,CAAA,CAAE,GAAG,KAAK;AACzC,SAAA,CAAC,EAAA,UAAA,EACQ,EAAE,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,CAAC,KAAK,WAAW,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EACxD,aAAa,EAAE,CAAC,CAAC,KAChB,iBAAiB,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAA,QAAA,EAG9C,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,KAClCD,wBACC,SAAS,EAAEC,mBAAU,CAAC,yBAAyB,EAAE;AAChD,gBAAA,kCAAkC,EAAE,YAAY;aAChD,CAAC,EAAA,QAAA,EAED,IAAI,CAAC,EAAE,CAAC,EAAA,CACJ,CACN,EAAA,CACI;AAER;;;;;"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var
|
|
6
|
+
var hooks = require('../../js/hooks.js');
|
|
7
7
|
var classNames = require('classnames');
|
|
8
8
|
var react = require('react');
|
|
9
9
|
var utils = require('../../js/utils.js');
|
|
@@ -18,7 +18,7 @@ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
|
|
|
18
18
|
const Datagrid = (props) => {
|
|
19
19
|
const { data = [], columns = [], border, striped, header = true, resizable, cellPadding = ".5em", cellEllipsis, empty = jsxRuntime.jsx(index.default, {}), loading: loading$1, height = "unset", style, className, renderLoading = () => (jsxRuntime.jsx(loading.default, { size: '1.5em', className: 'color-3', absolute: true })), onCellClick, onRowClick, onCellDoubleClick, onHeaderClick, onSort, onScroll, onResize, } = props;
|
|
20
20
|
const container = react.useRef(null);
|
|
21
|
-
const state =
|
|
21
|
+
const state = hooks.useReactive({
|
|
22
22
|
rows: data,
|
|
23
23
|
widths: columns.map((col) => col.width ?? "min-content"),
|
|
24
24
|
sortBy: "",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datagrid.js","sources":["../../../../packages/components/datagrid/datagrid.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { CSSProperties, MouseEvent, useEffect, useMemo, useRef } from \"react\";\r\nimport { getNextSorter } from \"../../js/utils\";\r\nimport Loading from \"../loading\";\r\nimport Empty from \"../utils/empty\";\r\nimport \"./index.css\";\r\nimport Row, { Header } from \"./row\";\r\nimport type { IColumn, IData, IDatagrid, TDatagridState } from \"./type\";\r\n\r\nconst Datagrid = (props: IDatagrid) => {\r\n\tconst {\r\n\t\tdata = [],\r\n\t\tcolumns = [],\r\n\t\tborder,\r\n\t\tstriped,\r\n\t\theader = true,\r\n\t\tresizable,\r\n\t\tcellPadding = \".5em\",\r\n\t\tcellEllipsis,\r\n\t\tempty = <Empty />,\r\n\t\tloading,\r\n\t\theight = \"unset\",\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\trenderLoading = () => (\r\n\t\t\t<Loading size='1.5em' className='color-3' absolute />\r\n\t\t),\r\n\t\tonCellClick,\r\n\t\tonRowClick,\r\n\t\tonCellDoubleClick,\r\n\t\tonHeaderClick,\r\n\t\tonSort,\r\n\t\tonScroll,\r\n\t\tonResize,\r\n\t} = props;\r\n\r\n\tconst container = useRef<HTMLDivElement>(null);\r\n\tconst state = useReactive<TDatagridState>({\r\n\t\trows: data,\r\n\t\twidths: columns.map((col) => col.width ?? \"min-content\"),\r\n\t\tsortBy: \"\",\r\n\t\tsortType: \"\",\r\n\t});\r\n\r\n\tconst styles = useMemo(() => {\r\n\t\tconst { widths } = state;\r\n\r\n\t\tconst o = {\r\n\t\t\t...style,\r\n\t\t\t\"--grid-template-columns\": widths\r\n\t\t\t\t.map((w) => {\r\n\t\t\t\t\treturn typeof w === \"number\" ? `${w}px` : w;\r\n\t\t\t\t})\r\n\t\t\t\t.join(\" \"),\r\n\t\t};\r\n\r\n\t\tif (!resizable) return o;\r\n\r\n\t\tconst fws = columns.map((col, i) => {\r\n\t\t\tconst { fixed } = col;\r\n\t\t\tif (!fixed) return 0;\r\n\t\t\treturn widths[i] as number;\r\n\t\t});\r\n\r\n\t\tcolumns.map((col, i) => {\r\n\t\t\tconst { fixed } = col;\r\n\t\t\tif (!fixed) return;\r\n\t\t\tif (i === 0) {\r\n\t\t\t\to[`--datagrid-cell-inset-0`] = 0;\r\n\t\t\t} else if (i === fws.length - 1) {\r\n\t\t\t\to[`--datagrid-cell-inset-${fws.length - 1}`] = \"auto 0\";\r\n\t\t\t} else {\r\n\t\t\t\tconst isLeft = fixed === \"left\";\r\n\t\t\t\tconst before = isLeft ? fws.slice(0, i) : fws.slice(i + 1);\r\n\t\t\t\tconst sum = before.reduce((pre, cur) => pre + cur) + \"px\";\r\n\t\t\t\tconst result = isLeft ? `${sum} auto` : `auto ${sum}`;\r\n\t\t\t\to[`--datagrid-cell-inset-${i}`] = result;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn o;\r\n\t}, [state.widths, resizable]);\r\n\r\n\tconst handleWidthChange = (i: number, w: number) => {\r\n\t\tif (!resizable) return;\r\n\r\n\t\tconst [...ws] = state.widths;\r\n\t\tws[i] = w;\r\n\t\tstate.widths = ws;\r\n\t\tonResize?.(columns[i], w);\r\n\t};\r\n\r\n\tconst handleHeaderClick = (column?: IColumn, e?: MouseEvent) => {\r\n\t\tif (column?.sorter) {\r\n\t\t\tconst [sortBy, sortType] = getNextSorter(\r\n\t\t\t\tstate.sortBy,\r\n\t\t\t\tstate.sortType,\r\n\t\t\t\tcolumn.id\r\n\t\t\t);\r\n\r\n\t\t\tObject.assign(state, {\r\n\t\t\t\tsortBy,\r\n\t\t\t\tsortType,\r\n\t\t\t});\r\n\r\n\t\t\tonSort?.(sortBy, sortType);\r\n\t\t}\r\n\r\n\t\tonHeaderClick?.(column, e);\r\n\t};\r\n\r\n\tconst rows = useMemo(() => {\r\n\t\tconst { sortBy, sortType } = state;\r\n\r\n\t\tif (sortBy && !onSort) {\r\n\t\t\tconst sorter = columns.find((col) => col.id === sortBy)?.sorter;\r\n\t\t\tconst sortFn =\r\n\t\t\t\ttypeof sorter === \"function\"\r\n\t\t\t\t\t? sorter\r\n\t\t\t\t\t: (a: IData, b: IData) => b[sortBy] - a[sortBy];\r\n\t\t\tconst sorted = [...data].sort(sortFn);\r\n\r\n\t\t\treturn sortType === \"desc\" ? sorted : sorted.reverse();\r\n\t\t}\r\n\r\n\t\treturn data;\r\n\t}, [data, columns, state.sortBy, state.sortType]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!container.current) return;\r\n\t\tconst { current: div } = container;\r\n\t\tconst tds = div.querySelector(\".i-datagrid-row\")?.children;\r\n\t\tif (!tds?.length) return;\r\n\t\tstate.widths = Array.from(tds).map((node: any) => node.offsetWidth);\r\n\t}, [columns, resizable]);\r\n\r\n\tuseEffect(() => {\r\n\t\tloading && container.current?.scrollTo({ top: 0, left: 0 });\r\n\t}, [loading]);\r\n\r\n\tconst mergedStyle = {\r\n\t\t\"--cell-padding\": cellPadding,\r\n\t\t...styles,\r\n\t} as CSSProperties;\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tstyle={{ maxHeight: height, ...mergedStyle }}\r\n\t\t\tclassName={classNames(\"i-datagrid-container\", className, {\r\n\t\t\t\t\"i-datagrid-bordered\": border,\r\n\t\t\t\t\"i-datagrid-striped\": striped,\r\n\t\t\t})}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tref={container}\r\n\t\t\t\tclassName={classNames(\"i-datagrid\", {\r\n\t\t\t\t\t\"i-datagrid-loading\": loading,\r\n\t\t\t\t})}\r\n\t\t\t\tonWheel={onScroll}\r\n\t\t\t>\r\n\t\t\t\t{header && (\r\n\t\t\t\t\t<Header\r\n\t\t\t\t\t\tcolumns={columns}\r\n\t\t\t\t\t\tresizable={resizable}\r\n\t\t\t\t\t\tsortType={state.sortType}\r\n\t\t\t\t\t\tsortBy={state.sortBy}\r\n\t\t\t\t\t\tcellEllipsis={cellEllipsis}\r\n\t\t\t\t\t\tonWidthChange={handleWidthChange}\r\n\t\t\t\t\t\tonHeaderClick={handleHeaderClick}\r\n\t\t\t\t\t/>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{rows.map((row, i) => (\r\n\t\t\t\t\t<Row\r\n\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\trow={i + (header ? 1 : 0)}\r\n\t\t\t\t\t\tdata={row}\r\n\t\t\t\t\t\tcellEllipsis={cellEllipsis}\r\n\t\t\t\t\t\tcolumns={columns}\r\n\t\t\t\t\t\tonCellClick={onCellClick}\r\n\t\t\t\t\t\tonRowClick={onRowClick}\r\n\t\t\t\t\t\tonCellDoubleClick={onCellDoubleClick}\r\n\t\t\t\t\t/>\r\n\t\t\t\t))}\r\n\r\n\t\t\t\t{rows.length < 1 && empty}\r\n\t\t\t</div>\r\n\r\n\t\t\t{loading && renderLoading()}\r\n\t\t</div>\r\n\t);\r\n};\r\n\r\nexport default Datagrid;\r\n"],"names":["_jsx","Empty","loading","Loading","useRef","useReactive","useMemo","getNextSorter","useEffect","_jsxs","classNames","Header","row","Row"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"datagrid.js","sources":["../../../../packages/components/datagrid/datagrid.tsx"],"sourcesContent":["import { useReactive } from \"../../js/hooks\";\nimport classNames from \"classnames\";\nimport { CSSProperties, MouseEvent, useEffect, useMemo, useRef } from \"react\";\nimport { getNextSorter } from \"../../js/utils\";\nimport Loading from \"../loading\";\nimport Empty from \"../utils/empty\";\nimport \"./index.css\";\nimport Row, { Header } from \"./row\";\nimport type { IColumn, IData, IDatagrid, TDatagridState } from \"./type\";\n\nconst Datagrid = (props: IDatagrid) => {\n\tconst {\n\t\tdata = [],\n\t\tcolumns = [],\n\t\tborder,\n\t\tstriped,\n\t\theader = true,\n\t\tresizable,\n\t\tcellPadding = \".5em\",\n\t\tcellEllipsis,\n\t\tempty = <Empty />,\n\t\tloading,\n\t\theight = \"unset\",\n\t\tstyle,\n\t\tclassName,\n\t\trenderLoading = () => (\n\t\t\t<Loading size='1.5em' className='color-3' absolute />\n\t\t),\n\t\tonCellClick,\n\t\tonRowClick,\n\t\tonCellDoubleClick,\n\t\tonHeaderClick,\n\t\tonSort,\n\t\tonScroll,\n\t\tonResize,\n\t} = props;\n\n\tconst container = useRef<HTMLDivElement>(null);\n\tconst state = useReactive<TDatagridState>({\n\t\trows: data,\n\t\twidths: columns.map((col) => col.width ?? \"min-content\"),\n\t\tsortBy: \"\",\n\t\tsortType: \"\",\n\t});\n\n\tconst styles = useMemo(() => {\n\t\tconst { widths } = state;\n\n\t\tconst o = {\n\t\t\t...style,\n\t\t\t\"--grid-template-columns\": widths\n\t\t\t\t.map((w) => {\n\t\t\t\t\treturn typeof w === \"number\" ? `${w}px` : w;\n\t\t\t\t})\n\t\t\t\t.join(\" \"),\n\t\t};\n\n\t\tif (!resizable) return o;\n\n\t\tconst fws = columns.map((col, i) => {\n\t\t\tconst { fixed } = col;\n\t\t\tif (!fixed) return 0;\n\t\t\treturn widths[i] as number;\n\t\t});\n\n\t\tcolumns.map((col, i) => {\n\t\t\tconst { fixed } = col;\n\t\t\tif (!fixed) return;\n\t\t\tif (i === 0) {\n\t\t\t\to[`--datagrid-cell-inset-0`] = 0;\n\t\t\t} else if (i === fws.length - 1) {\n\t\t\t\to[`--datagrid-cell-inset-${fws.length - 1}`] = \"auto 0\";\n\t\t\t} else {\n\t\t\t\tconst isLeft = fixed === \"left\";\n\t\t\t\tconst before = isLeft ? fws.slice(0, i) : fws.slice(i + 1);\n\t\t\t\tconst sum = before.reduce((pre, cur) => pre + cur) + \"px\";\n\t\t\t\tconst result = isLeft ? `${sum} auto` : `auto ${sum}`;\n\t\t\t\to[`--datagrid-cell-inset-${i}`] = result;\n\t\t\t}\n\t\t});\n\n\t\treturn o;\n\t}, [state.widths, resizable]);\n\n\tconst handleWidthChange = (i: number, w: number) => {\n\t\tif (!resizable) return;\n\n\t\tconst [...ws] = state.widths;\n\t\tws[i] = w;\n\t\tstate.widths = ws;\n\t\tonResize?.(columns[i], w);\n\t};\n\n\tconst handleHeaderClick = (column?: IColumn, e?: MouseEvent) => {\n\t\tif (column?.sorter) {\n\t\t\tconst [sortBy, sortType] = getNextSorter(\n\t\t\t\tstate.sortBy,\n\t\t\t\tstate.sortType,\n\t\t\t\tcolumn.id\n\t\t\t);\n\n\t\t\tObject.assign(state, {\n\t\t\t\tsortBy,\n\t\t\t\tsortType,\n\t\t\t});\n\n\t\t\tonSort?.(sortBy, sortType);\n\t\t}\n\n\t\tonHeaderClick?.(column, e);\n\t};\n\n\tconst rows = useMemo(() => {\n\t\tconst { sortBy, sortType } = state;\n\n\t\tif (sortBy && !onSort) {\n\t\t\tconst sorter = columns.find((col) => col.id === sortBy)?.sorter;\n\t\t\tconst sortFn =\n\t\t\t\ttypeof sorter === \"function\"\n\t\t\t\t\t? sorter\n\t\t\t\t\t: (a: IData, b: IData) => b[sortBy] - a[sortBy];\n\t\t\tconst sorted = [...data].sort(sortFn);\n\n\t\t\treturn sortType === \"desc\" ? sorted : sorted.reverse();\n\t\t}\n\n\t\treturn data;\n\t}, [data, columns, state.sortBy, state.sortType]);\n\n\tuseEffect(() => {\n\t\tif (!container.current) return;\n\t\tconst { current: div } = container;\n\t\tconst tds = div.querySelector(\".i-datagrid-row\")?.children;\n\t\tif (!tds?.length) return;\n\t\tstate.widths = Array.from(tds).map((node: any) => node.offsetWidth);\n\t}, [columns, resizable]);\n\n\tuseEffect(() => {\n\t\tloading && container.current?.scrollTo({ top: 0, left: 0 });\n\t}, [loading]);\n\n\tconst mergedStyle = {\n\t\t\"--cell-padding\": cellPadding,\n\t\t...styles,\n\t} as CSSProperties;\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{ maxHeight: height, ...mergedStyle }}\n\t\t\tclassName={classNames(\"i-datagrid-container\", className, {\n\t\t\t\t\"i-datagrid-bordered\": border,\n\t\t\t\t\"i-datagrid-striped\": striped,\n\t\t\t})}\n\t\t>\n\t\t\t<div\n\t\t\t\tref={container}\n\t\t\t\tclassName={classNames(\"i-datagrid\", {\n\t\t\t\t\t\"i-datagrid-loading\": loading,\n\t\t\t\t})}\n\t\t\t\tonWheel={onScroll}\n\t\t\t>\n\t\t\t\t{header && (\n\t\t\t\t\t<Header\n\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\tresizable={resizable}\n\t\t\t\t\t\tsortType={state.sortType}\n\t\t\t\t\t\tsortBy={state.sortBy}\n\t\t\t\t\t\tcellEllipsis={cellEllipsis}\n\t\t\t\t\t\tonWidthChange={handleWidthChange}\n\t\t\t\t\t\tonHeaderClick={handleHeaderClick}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{rows.map((row, i) => (\n\t\t\t\t\t<Row\n\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\trow={i + (header ? 1 : 0)}\n\t\t\t\t\t\tdata={row}\n\t\t\t\t\t\tcellEllipsis={cellEllipsis}\n\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\tonCellClick={onCellClick}\n\t\t\t\t\t\tonRowClick={onRowClick}\n\t\t\t\t\t\tonCellDoubleClick={onCellDoubleClick}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\n\t\t\t\t{rows.length < 1 && empty}\n\t\t\t</div>\n\n\t\t\t{loading && renderLoading()}\n\t\t</div>\n\t);\n};\n\nexport default Datagrid;\n"],"names":["_jsx","Empty","loading","Loading","useRef","useReactive","useMemo","getNextSorter","useEffect","_jsxs","classNames","Header","row","Row"],"mappings":"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"}
|
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
-
var ahooks = require('ahooks');
|
|
7
6
|
var hooks = require('../../js/hooks.js');
|
|
8
7
|
|
|
9
8
|
function Resize(props) {
|
|
10
9
|
const { index, onWidthChange } = props;
|
|
11
|
-
const state =
|
|
10
|
+
const state = hooks.useReactive({
|
|
12
11
|
resizing: false,
|
|
13
12
|
x: 0,
|
|
14
13
|
width: 0,
|