@ioca/react 1.4.68 → 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 +2 -2
- 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 +1 -1
- 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 +305 -146
- 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 +1 -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
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { KeyboardArrowLeftRound, KeyboardArrowRightRound } from '@ricons/material';
|
|
3
|
-
import { useReactive } from 'ahooks';
|
|
4
3
|
import classNames from 'classnames';
|
|
5
4
|
import { useRef, useMemo, Children, useImperativeHandle, useEffect } from 'react';
|
|
6
|
-
import { useMouseMove, useMouseUp } from '../../js/hooks.js';
|
|
5
|
+
import { useReactive, useMouseMove, useMouseUp } from '../../js/hooks.js';
|
|
7
6
|
import { clamp } from '../../js/utils.js';
|
|
8
7
|
import Icon from '../icon/icon.js';
|
|
9
8
|
import Item from './item.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swiper.js","sources":["../../../../packages/components/swiper/swiper.tsx"],"sourcesContent":["import {\r\n\tKeyboardArrowLeftRound,\r\n\tKeyboardArrowRightRound,\r\n} from \"@ricons/material\";\r\nimport { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport {\r\n\tChildren,\r\n\tuseEffect,\r\n\tuseImperativeHandle,\r\n\tuseMemo,\r\n\tuseRef,\r\n} from \"react\";\r\nimport { useMouseMove, useMouseUp } from \"../../js/hooks\";\r\nimport { clamp } from \"../../js/utils\";\r\nimport Icon from \"../icon\";\r\nimport \"./index.css\";\r\nimport Item from \"./item\";\r\nimport { CompositionSwiper, ISwiper } from \"./type\";\r\n\r\nconst Swiper = ((props: ISwiper) => {\r\n\tconst {\r\n\t\tref,\r\n\t\ttype = \"normal\",\r\n\t\tinitial = 0,\r\n\t\tdisplay = 1,\r\n\t\tscroll = 1,\r\n\t\tloop = true,\r\n\t\tvertical,\r\n\t\tprev = <Icon icon={<KeyboardArrowLeftRound />} size='2em' />,\r\n\t\tnext = <Icon icon={<KeyboardArrowRightRound />} size='2em' />,\r\n\t\tduration = 600,\r\n\t\tinterval = 3000,\r\n\t\tautoplay,\r\n\t\tpauseOnHover,\r\n\t\tarrow = true,\r\n\t\treverse,\r\n\t\tdraggable,\r\n\t\tdragOffset = 40,\r\n\t\tgap = 0,\r\n\t\titemHeight,\r\n\t\tindicator,\r\n\t\tfixedIndicator,\r\n\t\tstyle,\r\n\t\tclassName,\r\n\t\tchildren,\r\n\t\trenderIndicator,\r\n\t\tonBeforeSwipe,\r\n\t\tonAfterSwipe,\r\n\t\tonItemClick,\r\n\t} = props;\r\n\r\n\tconst listRef = useRef<HTMLDivElement>(null);\r\n\tconst timerRef = useRef<any>(null);\r\n\tconst transition = `all ${duration / 1000}s`;\r\n\tconst state = useReactive({\r\n\t\tcurrent: initial,\r\n\t\tswipable: true,\r\n\t\ttransition: type === \"fade\" ? \"none\" : transition,\r\n\t\tdragStart: 0,\r\n\t\tdragging: false,\r\n\t\tinitialized: false,\r\n\t});\r\n\r\n\tconst items = useMemo(() => {\r\n\t\treturn Children.map(children, (node: any) => {\r\n\t\t\tif (node.type !== Item) return;\r\n\r\n\t\t\treturn node;\r\n\t\t});\r\n\t}, [children]);\r\n\r\n\tconst [displayItems, extra, size, total, listSize] = useMemo(() => {\r\n\t\tconst extra =\r\n\t\t\ttype === \"normal\" && loop && items.length > display\r\n\t\t\t\t? display + 1\r\n\t\t\t\t: 0;\r\n\t\tlet list: any = [];\r\n\r\n\t\tif (extra <= 0) {\r\n\t\t\tlist = [...items];\r\n\t\t} else {\r\n\t\t\tconst head = items.slice(0, extra);\r\n\t\t\tconst tail = items.slice(-extra);\r\n\t\t\tlist = [...tail, ...items, ...head];\r\n\t\t}\r\n\r\n\t\tconst listSize = `${(list.length / display) * 100}%`;\r\n\r\n\t\treturn [list, extra, items.length, list.length, listSize];\r\n\t}, [display, loop, type, items]);\r\n\r\n\tconst offsetPercent = useMemo(\r\n\t\t() => (-100 * (state.current + extra)) / total,\r\n\t\t[state.current, total]\r\n\t);\r\n\r\n\tconst position = useMemo(() => {\r\n\t\tif (size <= display || type === \"fade\") return;\r\n\r\n\t\tconst offset = vertical\r\n\t\t\t? `0, ${offsetPercent}%`\r\n\t\t\t: `${offsetPercent}%, 0`;\r\n\t\treturn `translate3d(${offset}, 0)`;\r\n\t}, [offsetPercent, vertical, display, size, type]);\r\n\r\n\tconst trackStyle = useMemo(() => {\r\n\t\tif (!vertical || !itemHeight) return;\r\n\r\n\t\treturn {\r\n\t\t\theight: itemHeight * display,\r\n\t\t};\r\n\t}, [vertical, itemHeight, display]);\r\n\r\n\tconst indicatorsLoop = useMemo(() => {\r\n\t\treturn Array.from({\r\n\t\t\tlength: Math.ceil((size - display) / scroll) + 1,\r\n\t\t});\r\n\t}, [loop, indicator]);\r\n\r\n\tconst clearTimer = () => {\r\n\t\tclearTimeout(timerRef.current);\r\n\t\ttimerRef.current = null;\r\n\t};\r\n\r\n\tconst swipeTo = (i: number) => {\r\n\t\tif (!state.swipable || i === state.current) return;\r\n\t\tstate.swipable = false;\r\n\t\tonBeforeSwipe?.(state.current);\r\n\r\n\t\tlet reset = false;\r\n\t\tlet next = i;\r\n\t\tconst lastDisplay = size - display;\r\n\r\n\t\tif (loop) {\r\n\t\t\tif (i > lastDisplay) {\r\n\t\t\t\treset = true;\r\n\t\t\t\ti = size;\r\n\t\t\t\tnext = 0;\r\n\t\t\t} else if (i < 0) {\r\n\t\t\t\treset = true;\r\n\t\t\t\ti = -display;\r\n\t\t\t\tnext = lastDisplay;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tnext = clamp(next, 0, lastDisplay);\r\n\t\t\ti = next;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tstate.swipable = true;\r\n\t\t}, duration + 32);\r\n\r\n\t\tif (type === \"fade\") {\r\n\t\t\tstate.current = next;\r\n\t\t\tonAfterSwipe?.(next);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tstate.current = i;\r\n\r\n\t\tif (!reset) {\r\n\t\t\tif (autoplay) {\r\n\t\t\t\ttimerRef.current = setTimeout(swipeNext, interval);\r\n\t\t\t}\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tonAfterSwipe?.(next);\r\n\t\t\t}, duration + 12);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tstate.transition = \"none\";\r\n\t\t\tstate.current = next;\r\n\t\t\tonAfterSwipe?.(next);\r\n\t\t\tif (autoplay) {\r\n\t\t\t\ttimerRef.current = setTimeout(swipeNext, interval);\r\n\t\t\t}\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tstate.transition = transition;\r\n\t\t\t}, 60);\r\n\t\t}, duration + 20);\r\n\t};\r\n\tconst swipeNext = () => {\r\n\t\tswipeTo(reverse ? state.current - scroll : state.current + scroll);\r\n\t};\r\n\r\n\tconst swipePrev = () => {\r\n\t\tswipeTo(reverse ? state.current + scroll : state.current - scroll);\r\n\t};\r\n\r\n\tconst handleMouseDown = (e) => {\r\n\t\tif (!draggable || !state.swipable || type === \"fade\") return;\r\n\t\te.stopPropagation();\r\n\t\te.preventDefault();\r\n\r\n\t\tif (e.touches) {\r\n\t\t\te = e.touches[0];\r\n\t\t}\r\n\r\n\t\tObject.assign(state, {\r\n\t\t\tdragStart: vertical ? e.clientY : e.clientX,\r\n\t\t\tdragging: true,\r\n\t\t\ttransition: \"none\",\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleMouseMove = (e) => {\r\n\t\tif (!state.dragging || !listRef.current) return;\r\n\t\te.preventDefault();\r\n\r\n\t\tif (e.touches) {\r\n\t\t\te = e.touches[0];\r\n\t\t}\r\n\r\n\t\tconst dragEnd = vertical ? e.clientY : e.clientX;\r\n\t\tconst offset =\r\n\t\t\t((dragEnd - state.dragStart) * 61.8) /\r\n\t\t\t\tlistRef.current[vertical ? \"offsetHeight\" : \"offsetWidth\"] +\r\n\t\t\toffsetPercent;\r\n\r\n\t\tlistRef.current.style.transform = `translate3d(${\r\n\t\t\tvertical ? `0, ${offset}%` : `${offset}%, 0`\r\n\t\t}, 0)`;\r\n\t};\r\n\r\n\tconst handleMouseUp = (e) => {\r\n\t\tif (!state.dragging || !listRef.current) return;\r\n\r\n\t\tif (e.changedTouches) {\r\n\t\t\te = e.changedTouches[0];\r\n\t\t}\r\n\r\n\t\tconst dragEnd = vertical ? e.clientY : e.clientX;\r\n\t\tconst part =\r\n\t\t\tlistRef.current[vertical ? \"offsetHeight\" : \"offsetWidth\"] / total;\r\n\t\tconst offset = (dragEnd - state.dragStart) * 0.618;\r\n\t\tconst absOffset = Math.abs(offset);\r\n\r\n\t\tif (absOffset > dragOffset) {\r\n\t\t\tconst base = Math.floor(absOffset / part);\r\n\t\t\tconst mod = (absOffset % part) - dragOffset > 0 ? 1 : 0;\r\n\t\t\tconst p = base + mod;\r\n\r\n\t\t\tlet to = state.current + (offset > 0 ? -p : p);\r\n\r\n\t\t\tswipeTo(to);\r\n\t\t}\r\n\r\n\t\tlistRef.current.style.transform = position || \"\";\r\n\r\n\t\tObject.assign(state, {\r\n\t\t\tdragging: false,\r\n\t\t\ttransition,\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleMouseOver = () => {\r\n\t\tif (!pauseOnHover) return;\r\n\t\tclearTimer();\r\n\t};\r\n\r\n\tconst handleMouseLeave = () => {\r\n\t\tif (!pauseOnHover) return;\r\n\t\tclearTimer();\r\n\t\ttimerRef.current = setTimeout(swipeNext, interval);\r\n\t};\r\n\r\n\tuseMouseMove(handleMouseMove);\r\n\tuseMouseUp(handleMouseUp);\r\n\r\n\tuseImperativeHandle(ref, () => ({\r\n\t\tswipeTo,\r\n\t\tswipeNext,\r\n\t\tswipePrev,\r\n\t}));\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!autoplay) return;\r\n\t\ttimerRef.current = setTimeout(swipeNext, interval);\r\n\r\n\t\treturn () => {\r\n\t\t\tclearTimeout(timerRef.current);\r\n\t\t\ttimerRef.current = null;\r\n\t\t};\r\n\t}, [autoplay, interval]);\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tstyle={style}\r\n\t\t\tclassName={classNames(\r\n\t\t\t\t\"i-swiper\",\r\n\t\t\t\t{\r\n\t\t\t\t\t\"i-swiper-vertical\": vertical,\r\n\t\t\t\t\t\"i-swiper-initialized\": state.initialized,\r\n\t\t\t\t},\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName='i-swiper-track'\r\n\t\t\t\tstyle={trackStyle}\r\n\t\t\t\tonMouseOver={handleMouseOver}\r\n\t\t\t\tonMouseLeave={handleMouseLeave}\r\n\t\t\t>\r\n\t\t\t\t<div\r\n\t\t\t\t\tref={listRef}\r\n\t\t\t\t\tclassName={classNames(\"i-swiper-list\", {\r\n\t\t\t\t\t\t\"i-swiper-fade\": type === \"fade\",\r\n\t\t\t\t\t})}\r\n\t\t\t\t\tstyle={{\r\n\t\t\t\t\t\t[vertical ? \"height\" : \"width\"]: listSize,\r\n\t\t\t\t\t\ttransform: position,\r\n\t\t\t\t\t\ttransition: state.transition,\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonMouseDown={handleMouseDown}\r\n\t\t\t\t\tonTouchStart={handleMouseDown}\r\n\t\t\t\t>\r\n\t\t\t\t\t{displayItems.map((item, i) => {\r\n\t\t\t\t\t\tconst { props: itemProps } = item;\r\n\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<Item\r\n\t\t\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\t\t\tindex={i}\r\n\t\t\t\t\t\t\t\titemIndex={(i - extra + size) % size}\r\n\t\t\t\t\t\t\t\tactive={i - extra === state.current}\r\n\t\t\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\t\t\tgap={gap}\r\n\t\t\t\t\t\t\t\ttransition={transition}\r\n\t\t\t\t\t\t\t\titemHeight={itemHeight}\r\n\t\t\t\t\t\t\t\tvertical={vertical}\r\n\t\t\t\t\t\t\t\tonItemClick={onItemClick}\r\n\t\t\t\t\t\t\t\t{...itemProps}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t{arrow && size > 1 && (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{(loop || state.current !== 0) && (\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\tclassName='i-swiper-arrow i-swiper-prev'\r\n\t\t\t\t\t\t\t\tonClick={swipePrev}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{prev}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{(loop || state.current < size - display) && (\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\tclassName='i-swiper-arrow i-swiper-next'\r\n\t\t\t\t\t\t\t\tonClick={swipeNext}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{next}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t\t{indicator && (\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={classNames(\"i-swiper-indicators\", {\r\n\t\t\t\t\t\t\"i-swiper-indicators-fixed\": fixedIndicator,\r\n\t\t\t\t\t})}\r\n\t\t\t\t>\r\n\t\t\t\t\t{indicatorsLoop.map((_, i) => {\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-swiper-indicator\", {\r\n\t\t\t\t\t\t\t\t\t\"i-indicator-active\":\r\n\t\t\t\t\t\t\t\t\t\ti ===\r\n\t\t\t\t\t\t\t\t\t\tMath[loop ? \"floor\" : \"ceil\"](\r\n\t\t\t\t\t\t\t\t\t\t\t((state.current + size) % size) /\r\n\t\t\t\t\t\t\t\t\t\t\t\tscroll\r\n\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\tonClick={() => swipeTo(i * scroll)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{renderIndicator?.(i)}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n}) as CompositionSwiper;\r\n\r\nSwiper.Item = Item;\r\n\r\nexport default Swiper;\r\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"swiper.js","sources":["../../../../packages/components/swiper/swiper.tsx"],"sourcesContent":["import {\n\tKeyboardArrowLeftRound,\n\tKeyboardArrowRightRound,\n} from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport {\n\tChildren,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n} from \"react\";\nimport { useMouseMove, useMouseUp, useReactive } from \"../../js/hooks\";\nimport { clamp } from \"../../js/utils\";\nimport Icon from \"../icon\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { CompositionSwiper, ISwiper } from \"./type\";\n\nconst Swiper = ((props: ISwiper) => {\n\tconst {\n\t\tref,\n\t\ttype = \"normal\",\n\t\tinitial = 0,\n\t\tdisplay = 1,\n\t\tscroll = 1,\n\t\tloop = true,\n\t\tvertical,\n\t\tprev = <Icon icon={<KeyboardArrowLeftRound />} size='2em' />,\n\t\tnext = <Icon icon={<KeyboardArrowRightRound />} size='2em' />,\n\t\tduration = 600,\n\t\tinterval = 3000,\n\t\tautoplay,\n\t\tpauseOnHover,\n\t\tarrow = true,\n\t\treverse,\n\t\tdraggable,\n\t\tdragOffset = 40,\n\t\tgap = 0,\n\t\titemHeight,\n\t\tindicator,\n\t\tfixedIndicator,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t\trenderIndicator,\n\t\tonBeforeSwipe,\n\t\tonAfterSwipe,\n\t\tonItemClick,\n\t} = props;\n\n\tconst listRef = useRef<HTMLDivElement>(null);\n\tconst timerRef = useRef<any>(null);\n\tconst transition = `all ${duration / 1000}s`;\n\tconst state = useReactive({\n\t\tcurrent: initial,\n\t\tswipable: true,\n\t\ttransition: type === \"fade\" ? \"none\" : transition,\n\t\tdragStart: 0,\n\t\tdragging: false,\n\t\tinitialized: false,\n\t});\n\n\tconst items = useMemo(() => {\n\t\treturn Children.map(children, (node: any) => {\n\t\t\tif (node.type !== Item) return;\n\n\t\t\treturn node;\n\t\t});\n\t}, [children]);\n\n\tconst [displayItems, extra, size, total, listSize] = useMemo(() => {\n\t\tconst extra =\n\t\t\ttype === \"normal\" && loop && items.length > display\n\t\t\t\t? display + 1\n\t\t\t\t: 0;\n\t\tlet list: any = [];\n\n\t\tif (extra <= 0) {\n\t\t\tlist = [...items];\n\t\t} else {\n\t\t\tconst head = items.slice(0, extra);\n\t\t\tconst tail = items.slice(-extra);\n\t\t\tlist = [...tail, ...items, ...head];\n\t\t}\n\n\t\tconst listSize = `${(list.length / display) * 100}%`;\n\n\t\treturn [list, extra, items.length, list.length, listSize];\n\t}, [display, loop, type, items]);\n\n\tconst offsetPercent = useMemo(\n\t\t() => (-100 * (state.current + extra)) / total,\n\t\t[state.current, total]\n\t);\n\n\tconst position = useMemo(() => {\n\t\tif (size <= display || type === \"fade\") return;\n\n\t\tconst offset = vertical\n\t\t\t? `0, ${offsetPercent}%`\n\t\t\t: `${offsetPercent}%, 0`;\n\t\treturn `translate3d(${offset}, 0)`;\n\t}, [offsetPercent, vertical, display, size, type]);\n\n\tconst trackStyle = useMemo(() => {\n\t\tif (!vertical || !itemHeight) return;\n\n\t\treturn {\n\t\t\theight: itemHeight * display,\n\t\t};\n\t}, [vertical, itemHeight, display]);\n\n\tconst indicatorsLoop = useMemo(() => {\n\t\treturn Array.from({\n\t\t\tlength: Math.ceil((size - display) / scroll) + 1,\n\t\t});\n\t}, [loop, indicator]);\n\n\tconst clearTimer = () => {\n\t\tclearTimeout(timerRef.current);\n\t\ttimerRef.current = null;\n\t};\n\n\tconst swipeTo = (i: number) => {\n\t\tif (!state.swipable || i === state.current) return;\n\t\tstate.swipable = false;\n\t\tonBeforeSwipe?.(state.current);\n\n\t\tlet reset = false;\n\t\tlet next = i;\n\t\tconst lastDisplay = size - display;\n\n\t\tif (loop) {\n\t\t\tif (i > lastDisplay) {\n\t\t\t\treset = true;\n\t\t\t\ti = size;\n\t\t\t\tnext = 0;\n\t\t\t} else if (i < 0) {\n\t\t\t\treset = true;\n\t\t\t\ti = -display;\n\t\t\t\tnext = lastDisplay;\n\t\t\t}\n\t\t} else {\n\t\t\tnext = clamp(next, 0, lastDisplay);\n\t\t\ti = next;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tstate.swipable = true;\n\t\t}, duration + 32);\n\n\t\tif (type === \"fade\") {\n\t\t\tstate.current = next;\n\t\t\tonAfterSwipe?.(next);\n\t\t\treturn;\n\t\t}\n\n\t\tstate.current = i;\n\n\t\tif (!reset) {\n\t\t\tif (autoplay) {\n\t\t\t\ttimerRef.current = setTimeout(swipeNext, interval);\n\t\t\t}\n\t\t\tsetTimeout(() => {\n\t\t\t\tonAfterSwipe?.(next);\n\t\t\t}, duration + 12);\n\t\t\treturn;\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tstate.transition = \"none\";\n\t\t\tstate.current = next;\n\t\t\tonAfterSwipe?.(next);\n\t\t\tif (autoplay) {\n\t\t\t\ttimerRef.current = setTimeout(swipeNext, interval);\n\t\t\t}\n\t\t\tsetTimeout(() => {\n\t\t\t\tstate.transition = transition;\n\t\t\t}, 60);\n\t\t}, duration + 20);\n\t};\n\tconst swipeNext = () => {\n\t\tswipeTo(reverse ? state.current - scroll : state.current + scroll);\n\t};\n\n\tconst swipePrev = () => {\n\t\tswipeTo(reverse ? state.current + scroll : state.current - scroll);\n\t};\n\n\tconst handleMouseDown = (e) => {\n\t\tif (!draggable || !state.swipable || type === \"fade\") return;\n\t\te.stopPropagation();\n\t\te.preventDefault();\n\n\t\tif (e.touches) {\n\t\t\te = e.touches[0];\n\t\t}\n\n\t\tObject.assign(state, {\n\t\t\tdragStart: vertical ? e.clientY : e.clientX,\n\t\t\tdragging: true,\n\t\t\ttransition: \"none\",\n\t\t});\n\t};\n\n\tconst handleMouseMove = (e) => {\n\t\tif (!state.dragging || !listRef.current) return;\n\t\te.preventDefault();\n\n\t\tif (e.touches) {\n\t\t\te = e.touches[0];\n\t\t}\n\n\t\tconst dragEnd = vertical ? e.clientY : e.clientX;\n\t\tconst offset =\n\t\t\t((dragEnd - state.dragStart) * 61.8) /\n\t\t\t\tlistRef.current[vertical ? \"offsetHeight\" : \"offsetWidth\"] +\n\t\t\toffsetPercent;\n\n\t\tlistRef.current.style.transform = `translate3d(${\n\t\t\tvertical ? `0, ${offset}%` : `${offset}%, 0`\n\t\t}, 0)`;\n\t};\n\n\tconst handleMouseUp = (e) => {\n\t\tif (!state.dragging || !listRef.current) return;\n\n\t\tif (e.changedTouches) {\n\t\t\te = e.changedTouches[0];\n\t\t}\n\n\t\tconst dragEnd = vertical ? e.clientY : e.clientX;\n\t\tconst part =\n\t\t\tlistRef.current[vertical ? \"offsetHeight\" : \"offsetWidth\"] / total;\n\t\tconst offset = (dragEnd - state.dragStart) * 0.618;\n\t\tconst absOffset = Math.abs(offset);\n\n\t\tif (absOffset > dragOffset) {\n\t\t\tconst base = Math.floor(absOffset / part);\n\t\t\tconst mod = (absOffset % part) - dragOffset > 0 ? 1 : 0;\n\t\t\tconst p = base + mod;\n\n\t\t\tlet to = state.current + (offset > 0 ? -p : p);\n\n\t\t\tswipeTo(to);\n\t\t}\n\n\t\tlistRef.current.style.transform = position || \"\";\n\n\t\tObject.assign(state, {\n\t\t\tdragging: false,\n\t\t\ttransition,\n\t\t});\n\t};\n\n\tconst handleMouseOver = () => {\n\t\tif (!pauseOnHover) return;\n\t\tclearTimer();\n\t};\n\n\tconst handleMouseLeave = () => {\n\t\tif (!pauseOnHover) return;\n\t\tclearTimer();\n\t\ttimerRef.current = setTimeout(swipeNext, interval);\n\t};\n\n\tuseMouseMove(handleMouseMove);\n\tuseMouseUp(handleMouseUp);\n\n\tuseImperativeHandle(ref, () => ({\n\t\tswipeTo,\n\t\tswipeNext,\n\t\tswipePrev,\n\t}));\n\n\tuseEffect(() => {\n\t\tif (!autoplay) return;\n\t\ttimerRef.current = setTimeout(swipeNext, interval);\n\n\t\treturn () => {\n\t\t\tclearTimeout(timerRef.current);\n\t\t\ttimerRef.current = null;\n\t\t};\n\t}, [autoplay, interval]);\n\n\treturn (\n\t\t<div\n\t\t\tstyle={style}\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-swiper\",\n\t\t\t\t{\n\t\t\t\t\t\"i-swiper-vertical\": vertical,\n\t\t\t\t\t\"i-swiper-initialized\": state.initialized,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName='i-swiper-track'\n\t\t\t\tstyle={trackStyle}\n\t\t\t\tonMouseOver={handleMouseOver}\n\t\t\t\tonMouseLeave={handleMouseLeave}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref={listRef}\n\t\t\t\t\tclassName={classNames(\"i-swiper-list\", {\n\t\t\t\t\t\t\"i-swiper-fade\": type === \"fade\",\n\t\t\t\t\t})}\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\t[vertical ? \"height\" : \"width\"]: listSize,\n\t\t\t\t\t\ttransform: position,\n\t\t\t\t\t\ttransition: state.transition,\n\t\t\t\t\t}}\n\t\t\t\t\tonMouseDown={handleMouseDown}\n\t\t\t\t\tonTouchStart={handleMouseDown}\n\t\t\t\t>\n\t\t\t\t\t{displayItems.map((item, i) => {\n\t\t\t\t\t\tconst { props: itemProps } = item;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\t\t\titemIndex={(i - extra + size) % size}\n\t\t\t\t\t\t\t\tactive={i - extra === state.current}\n\t\t\t\t\t\t\t\ttype={type}\n\t\t\t\t\t\t\t\tgap={gap}\n\t\t\t\t\t\t\t\ttransition={transition}\n\t\t\t\t\t\t\t\titemHeight={itemHeight}\n\t\t\t\t\t\t\t\tvertical={vertical}\n\t\t\t\t\t\t\t\tonItemClick={onItemClick}\n\t\t\t\t\t\t\t\t{...itemProps}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\n\t\t\t\t{arrow && size > 1 && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{(loop || state.current !== 0) && (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName='i-swiper-arrow i-swiper-prev'\n\t\t\t\t\t\t\t\tonClick={swipePrev}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{prev}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{(loop || state.current < size - display) && (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName='i-swiper-arrow i-swiper-next'\n\t\t\t\t\t\t\t\tonClick={swipeNext}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{next}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t\t{indicator && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\"i-swiper-indicators\", {\n\t\t\t\t\t\t\"i-swiper-indicators-fixed\": fixedIndicator,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{indicatorsLoop.map((_, i) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-swiper-indicator\", {\n\t\t\t\t\t\t\t\t\t\"i-indicator-active\":\n\t\t\t\t\t\t\t\t\t\ti ===\n\t\t\t\t\t\t\t\t\t\tMath[loop ? \"floor\" : \"ceil\"](\n\t\t\t\t\t\t\t\t\t\t\t((state.current + size) % size) /\n\t\t\t\t\t\t\t\t\t\t\t\tscroll\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tonClick={() => swipeTo(i * scroll)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{renderIndicator?.(i)}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n}) as CompositionSwiper;\n\nSwiper.Item = Item;\n\nexport default Swiper;\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sources":["../../../../packages/components/tabs/item.tsx"],"sourcesContent":["import { ITabItem } from \"./type\";\
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../../packages/components/tabs/item.tsx"],"sourcesContent":["import { ITabItem } from \"./type\";\n\nconst Item = (props: ITabItem) => {\n\treturn <></>;\n};\n\nexport default Item;\n"],"names":["_jsx"],"mappings":";;AAEA,MAAM,IAAI,GAAG,CAAC,KAAe,KAAI;AAChC,IAAA,OAAOA,iBAAK;AACb;;;;"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { MoreHorizRound } from '@ricons/material';
|
|
3
|
-
import { useReactive, useSize } from 'ahooks';
|
|
4
3
|
import classNames from 'classnames';
|
|
5
4
|
import { pick } from 'radash';
|
|
6
5
|
import { useRef, useEffect, Children, useImperativeHandle } from 'react';
|
|
7
|
-
import { useIntersectionObserver } from '../../js/hooks.js';
|
|
6
|
+
import { useReactive, useIntersectionObserver, useSize } from '../../js/hooks.js';
|
|
8
7
|
import Button from '../button/button.js';
|
|
9
8
|
import Icon from '../icon/icon.js';
|
|
10
9
|
import Popup from '../popup/popup.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sources":["../../../../packages/components/tabs/tabs.tsx"],"sourcesContent":["import { MoreHorizRound } from \"@ricons/material\";\r\nimport { useReactive, useSize } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { pick } from \"radash\";\r\nimport {\r\n\tCSSProperties,\r\n\tChildren,\r\n\tuseEffect,\r\n\tuseImperativeHandle,\r\n\tuseRef,\r\n} from \"react\";\r\nimport { useIntersectionObserver } from \"../../js/hooks\";\r\nimport Button from \"../button\";\r\nimport Icon from \"../icon\";\r\nimport Popup from \"../popup\";\r\nimport Helpericon from \"../utils/helpericon\";\r\nimport \"./index.css\";\r\nimport TabItem from \"./item\";\r\nimport { CompositionTabs, ITabItem, ITabs } from \"./type\";\r\n\r\ntype TState = {\r\n\tactive?: string;\r\n\tprevActive?: string;\r\n\tbarStyle: CSSProperties;\r\n\tcachedTabs: string[];\r\n\toverflow: boolean;\r\n\tmore: ITabItem[];\r\n\ttabs: ITabItem[];\r\n};\r\n\r\nconst Tabs = ((props: ITabs) => {\r\n\tconst {\r\n\t\tref,\r\n\t\tactive,\r\n\t\ttabs: items,\r\n\t\ttype = \"default\",\r\n\t\tprepend,\r\n\t\tappend,\r\n\t\tchildren,\r\n\t\tclassName,\r\n\t\tvertical,\r\n\t\ttoggable,\r\n\t\tnavsJustify = \"start\",\r\n\t\tbar = true,\r\n\t\thideMore,\r\n\t\tbarClass,\r\n\t\trenderMore = () => (\r\n\t\t\t<Button flat square size='small'>\r\n\t\t\t\t<Icon icon={<MoreHorizRound />} />\r\n\t\t\t</Button>\r\n\t\t),\r\n\t\tonTabChange,\r\n\t\t...rest\r\n\t} = props;\r\n\r\n\tconst navRefs = useRef<HTMLElement[]>([]);\r\n\tconst barRef = useRef<HTMLSpanElement>(null);\r\n\tconst navsRef = useRef<HTMLDivElement>(null);\r\n\tconst state = useReactive<TState>({\r\n\t\tactive,\r\n\t\tprevActive: undefined,\r\n\t\tbarStyle: {},\r\n\t\tcachedTabs: [],\r\n\t\toverflow: false,\r\n\t\tmore: [],\r\n\t\ttabs: [],\r\n\t});\r\n\tconst { observe, unobserve } = useIntersectionObserver();\r\n\tconst size = useSize(navsRef);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!items) {\r\n\t\t\tif (!children) {\r\n\t\t\t\tstate.tabs = [];\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tstate.tabs = Children.map(children, (node, i) => {\r\n\t\t\t\tconst { key, props: nodeProps } = node as {\r\n\t\t\t\t\tkey?: string;\r\n\t\t\t\t\tprops?: any;\r\n\t\t\t\t};\r\n\t\t\t\tconst { title, children, content, keepDOM } = nodeProps;\r\n\r\n\t\t\t\tconst cloned = children\r\n\t\t\t\t\t? typeof children === \"string\"\r\n\t\t\t\t\t\t? children\r\n\t\t\t\t\t\t: pick(children, [\"props\", \"type\", \"$$typeof\", \"ref\"])\r\n\t\t\t\t\t: content;\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\tkey: key || String(i),\r\n\t\t\t\t\ttitle,\r\n\t\t\t\t\tcontent: cloned,\r\n\t\t\t\t\tkeepDOM,\r\n\t\t\t\t};\r\n\t\t\t}) as ITabItem[];\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tstate.tabs = items.map((item, i) => {\r\n\t\t\tif ([\"string\", \"number\"].includes(typeof item)) {\r\n\t\t\t\treturn { key: item, title: item };\r\n\t\t\t}\r\n\t\t\tif (item.key === undefined) {\r\n\t\t\t\titem.key = i;\r\n\t\t\t}\r\n\t\t\treturn item;\r\n\t\t});\r\n\t}, [children, items]);\r\n\r\n\tconst add = (tab: ITabItem) => {\r\n\t\tconst { key } = tab;\r\n\t\tconst i = state.tabs.findIndex((t) => t.key === key);\r\n\r\n\t\tif (i > -1) {\r\n\t\t\topen(state.tabs[i].key ?? `${i}`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst l = state.tabs.length;\r\n\t\tconst tkey = tab.key ?? `${l}`;\r\n\t\tstate.tabs.push({ ...tab, key: tkey });\r\n\t\topen(tkey);\r\n\t};\r\n\r\n\tconst close = (key: string) => {\r\n\t\tconst i = state.tabs.findIndex((t) => t.key === key);\r\n\r\n\t\tif (i < 0) return;\r\n\r\n\t\tstate.tabs.splice(i, 1);\r\n\r\n\t\tif (state.active !== key) return;\r\n\r\n\t\tconst next = state.tabs[i] || state.tabs[i - 1];\r\n\t\topen(state.prevActive ?? next?.key ?? \"\");\r\n\t};\r\n\r\n\tconst open = (key: string) => {\r\n\t\tif (key === state.active) {\r\n\t\t\tif (!toggable) return;\r\n\r\n\t\t\tonTabChange?.(undefined, key);\r\n\t\t\tstate.active = undefined;\r\n\r\n\t\t\tstate.barStyle = {\r\n\t\t\t\theight: 0,\r\n\t\t\t\twidth: 0,\r\n\t\t\t};\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tstate.prevActive = state.active;\r\n\t\tonTabChange?.(key, state.active);\r\n\t\tstate.active = key;\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!size || hideMore || !observe) return;\r\n\t\tconst { scrollHeight, scrollWidth } = navsRef.current as HTMLElement;\r\n\t\tconst { width, height } = size;\r\n\r\n\t\tstate.overflow = scrollHeight > height || scrollWidth > width;\r\n\r\n\t\tif (!state.overflow) return;\r\n\r\n\t\tnavRefs.current.map((nav, i) => {\r\n\t\t\tif (!nav) return;\r\n\t\t\tobserve(nav, (tar: HTMLElement, visible: boolean) => {\r\n\t\t\t\tif (!state.tabs[i]) return;\r\n\t\t\t\tstate.tabs[i].intersecting = visible;\r\n\t\t\t\tstate.more = state.tabs.filter((tab) => !tab.intersecting);\r\n\t\t\t});\r\n\t\t});\r\n\t}, [size, hideMore, state.tabs.length]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!bar || type === \"pane\" || state.active === undefined) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tconst index = state.tabs.findIndex((tab) => tab.key === state.active);\r\n\r\n\t\tsetTimeout(() => {\r\n\t\t\tconst nav = navRefs.current[index];\r\n\r\n\t\t\tif (!nav) return;\r\n\r\n\t\t\tif (state.tabs[index].keepDOM && state.active) {\r\n\t\t\t\tconst i = state.cachedTabs.findIndex((k) => k === state.active);\r\n\t\t\t\ti < 0 && state.cachedTabs.unshift(state.active);\r\n\t\t\t}\r\n\r\n\t\t\tconst { offsetHeight, offsetLeft, offsetTop, offsetWidth } = nav;\r\n\t\t\tconst isLine = type === \"line\";\r\n\r\n\t\t\tstate.barStyle = {\r\n\t\t\t\theight: !vertical && isLine ? \".25em\" : offsetHeight,\r\n\t\t\t\twidth: vertical && isLine ? \".25em\" : offsetWidth,\r\n\t\t\t\ttransform: `translate(${offsetLeft}px, ${offsetTop}px)`,\r\n\t\t\t};\r\n\t\t}, 16);\r\n\t}, [state.active, bar, size]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (active === undefined || state.active === active) return;\r\n\r\n\t\topen(active);\r\n\t}, [active]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (hideMore || !unobserve) return;\r\n\r\n\t\treturn () => {\r\n\t\t\tnavRefs.current?.map(unobserve);\r\n\t\t};\r\n\t}, [state.tabs.length]);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (!navsRef.current || vertical) return;\r\n\r\n\t\tconst handleMouseWheel = (e) => {\r\n\t\t\te.stopPropagation();\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\tif (vertical) return;\r\n\r\n\t\t\tnavsRef.current?.scrollBy({\r\n\t\t\t\tleft: e.deltaY + e.deltaX,\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\tnavsRef.current.addEventListener(\"wheel\", handleMouseWheel, {\r\n\t\t\tpassive: false,\r\n\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tif (!navsRef.current) return;\r\n\t\t\tnavsRef.current.removeEventListener(\"wheel\", handleMouseWheel);\r\n\t\t};\r\n\t}, [navsRef.current]);\r\n\r\n\tuseImperativeHandle(ref, () => ({\r\n\t\topen,\r\n\t\tclose,\r\n\t\tadd,\r\n\t\tnavs: navsRef,\r\n\t}));\r\n\r\n\treturn (\r\n\t\t<div\r\n\t\t\tclassName={classNames(\r\n\t\t\t\t\"i-tabs\",\r\n\t\t\t\t{ flex: vertical, [`i-tabs-${type}`]: type !== \"default\" },\r\n\t\t\t\tclassName\r\n\t\t\t)}\r\n\t\t\t{...rest}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classNames(\"i-tab-navs-container\", {\r\n\t\t\t\t\t\"i-tab-navs-vertical\": vertical,\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t{prepend}\r\n\r\n\t\t\t\t<div\r\n\t\t\t\t\tref={navsRef}\r\n\t\t\t\t\tclassName={classNames(\r\n\t\t\t\t\t\t\"i-tab-navs\",\r\n\t\t\t\t\t\t`justify-${navsJustify}`\r\n\t\t\t\t\t)}\r\n\t\t\t\t>\r\n\t\t\t\t\t{state.tabs.map((tab, i) => {\r\n\t\t\t\t\t\tconst { title, key = `${i}`, closable } = tab;\r\n\r\n\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\tkey={key}\r\n\t\t\t\t\t\t\t\tref={(ref) => (navRefs.current[i] = ref as any)}\r\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-tab-nav\", {\r\n\t\t\t\t\t\t\t\t\t\"i-tab-active\": state.active === key,\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\tonClick={() => open(key)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{title}\r\n\r\n\t\t\t\t\t\t\t\t{closable && (\r\n\t\t\t\t\t\t\t\t\t<Helpericon\r\n\t\t\t\t\t\t\t\t\t\tas='i'\r\n\t\t\t\t\t\t\t\t\t\tactive\r\n\t\t\t\t\t\t\t\t\t\tclassName='i-tab-nav-close'\r\n\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\r\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\t\t\t\t\t\t\tclose(key);\r\n\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t})}\r\n\r\n\t\t\t\t\t{bar && (\r\n\t\t\t\t\t\t<span\r\n\t\t\t\t\t\t\tref={barRef}\r\n\t\t\t\t\t\t\tclassName={classNames(\"i-tab-navs-bar\", barClass)}\r\n\t\t\t\t\t\t\tstyle={state.barStyle}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t{!hideMore && state.overflow && state.more.length > 0 && (\r\n\t\t\t\t\t<Popup\r\n\t\t\t\t\t\tarrow={false}\r\n\t\t\t\t\t\tposition={vertical ? \"right\" : \"bottom\"}\r\n\t\t\t\t\t\talign='end'\r\n\t\t\t\t\t\ttouchable\r\n\t\t\t\t\t\thideDelay={500}\r\n\t\t\t\t\t\tcontent={\r\n\t\t\t\t\t\t\t<div className='i-tabs-morelist pd-4'>\r\n\t\t\t\t\t\t\t\t{state.more.map((tab, i) => {\r\n\t\t\t\t\t\t\t\t\tconst { key = `${i}`, title } = tab;\r\n\t\t\t\t\t\t\t\t\tconst isActive = state.active === key;\r\n\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t<a\r\n\t\t\t\t\t\t\t\t\t\t\tkey={key}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName={classNames(\"i-tab-nav\", {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\"i-tab-active\": isActive,\r\n\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => open(key)}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{title}\r\n\t\t\t\t\t\t\t\t\t\t</a>\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{renderMore(state.more)}\r\n\t\t\t\t\t</Popup>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{append}\r\n\t\t\t</div>\r\n\r\n\t\t\t<div className='i-tab-contents'>\r\n\t\t\t\t{state.tabs.map((tab, i) => {\r\n\t\t\t\t\tconst { key = `${i}`, content } = tab;\r\n\t\t\t\t\tconst isActive = state.active === key;\r\n\t\t\t\t\tconst show =\r\n\t\t\t\t\t\tisActive ||\r\n\t\t\t\t\t\t(key !== undefined && state.cachedTabs.includes(key));\r\n\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\tshow && (\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tkey={key}\r\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-tab-content\", {\r\n\t\t\t\t\t\t\t\t\t\"i-tab-active\": isActive,\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{content}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t);\r\n\t\t\t\t})}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t);\r\n}) as CompositionTabs;\r\n\r\nTabs.Item = TabItem;\r\n\r\nexport default Tabs;\r\n"],"names":["_jsx","_jsxs","TabItem"],"mappings":";;;;;;;;;;;;;AA8BA,MAAM,IAAI,IAAI,CAAC,KAAY,KAAI;AAC9B,IAAA,MAAM,EACL,GAAG,EACH,MAAM,EACN,IAAI,EAAE,KAAK,EACX,IAAI,GAAG,SAAS,EAChB,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,WAAW,GAAG,OAAO,EACrB,GAAG,GAAG,IAAI,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,GAAG,OACZA,GAAC,CAAA,MAAM,EAAC,EAAA,IAAI,QAAC,MAAM,EAAA,IAAA,EAAC,IAAI,EAAC,OAAO,EAC/B,QAAA,EAAAA,GAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAEA,GAAA,CAAC,cAAc,EAAA,EAAA,CAAG,GAAI,EAC1B,CAAA,CACT,EACD,WAAW,EACX,GAAG,IAAI,EACP,GAAG,KAAK;AAET,IAAA,MAAM,OAAO,GAAG,MAAM,CAAgB,EAAE,CAAC;AACzC,IAAA,MAAM,MAAM,GAAG,MAAM,CAAkB,IAAI,CAAC;AAC5C,IAAA,MAAM,OAAO,GAAG,MAAM,CAAiB,IAAI,CAAC;IAC5C,MAAM,KAAK,GAAG,WAAW,CAAS;QACjC,MAAM;AACN,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,UAAU,EAAE,EAAE;AACd,QAAA,QAAQ,EAAE,KAAK;AACf,QAAA,IAAI,EAAE,EAAE;AACR,QAAA,IAAI,EAAE,EAAE;AACR,KAAA,CAAC;IACF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,uBAAuB,EAAE;AACxD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAE7B,SAAS,CAAC,MAAK;QACd,IAAI,CAAC,KAAK,EAAE;YACX,IAAI,CAAC,QAAQ,EAAE;AACd,gBAAA,KAAK,CAAC,IAAI,GAAG,EAAE;gBACf;;AAGD,YAAA,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAI;gBAC/C,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAGjC;gBACD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAS;gBAEvD,MAAM,MAAM,GAAG;AACd,sBAAE,OAAO,QAAQ,KAAK;AACrB,0BAAE;AACF,0BAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC;sBACpD,OAAO;gBAEV,OAAO;AACN,oBAAA,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC;oBACrB,KAAK;AACL,oBAAA,OAAO,EAAE,MAAM;oBACf,OAAO;iBACP;AACF,aAAC,CAAe;YAEhB;;AAGD,QAAA,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;AAClC,YAAA,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,EAAE;gBAC/C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;;AAElC,YAAA,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;AAC3B,gBAAA,IAAI,CAAC,GAAG,GAAG,CAAC;;AAEb,YAAA,OAAO,IAAI;AACZ,SAAC,CAAC;AACH,KAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAErB,IAAA,MAAM,GAAG,GAAG,CAAC,GAAa,KAAI;AAC7B,QAAA,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG;AACnB,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;AAEpD,QAAA,IAAI,CAAC,GAAG,EAAE,EAAE;AACX,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA,EAAG,CAAC,CAAA,CAAE,CAAC;YACjC;;AAGD,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM;QAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,IAAI,CAAA,EAAG,CAAC,CAAA,CAAE;AAC9B,QAAA,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,CAAC;AACX,KAAC;AAED,IAAA,MAAM,KAAK,GAAG,CAAC,GAAW,KAAI;AAC7B,QAAA,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;QAEpD,IAAI,CAAC,GAAG,CAAC;YAAE;QAEX,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;AAEvB,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;YAAE;AAE1B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;AAC1C,KAAC;AAED,IAAA,MAAM,IAAI,GAAG,CAAC,GAAW,KAAI;AAC5B,QAAA,IAAI,GAAG,KAAK,KAAK,CAAC,MAAM,EAAE;AACzB,YAAA,IAAI,CAAC,QAAQ;gBAAE;AAEf,YAAA,WAAW,GAAG,SAAS,EAAE,GAAG,CAAC;AAC7B,YAAA,KAAK,CAAC,MAAM,GAAG,SAAS;YAExB,KAAK,CAAC,QAAQ,GAAG;AAChB,gBAAA,MAAM,EAAE,CAAC;AACT,gBAAA,KAAK,EAAE,CAAC;aACR;YACD;;AAGD,QAAA,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM;QAC/B,WAAW,GAAG,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC;AAChC,QAAA,KAAK,CAAC,MAAM,GAAG,GAAG;AACnB,KAAC;IAED,SAAS,CAAC,MAAK;AACd,QAAA,IAAI,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,OAAO;YAAE;QACnC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAsB;AACpE,QAAA,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;QAE9B,KAAK,CAAC,QAAQ,GAAG,YAAY,GAAG,MAAM,IAAI,WAAW,GAAG,KAAK;QAE7D,IAAI,CAAC,KAAK,CAAC,QAAQ;YAAE;QAErB,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AAC9B,YAAA,IAAI,CAAC,GAAG;gBAAE;YACV,OAAO,CAAC,GAAG,EAAE,CAAC,GAAgB,EAAE,OAAgB,KAAI;AACnD,gBAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAE;gBACpB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,OAAO;AACpC,gBAAA,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC;AAC3D,aAAC,CAAC;AACH,SAAC,CAAC;AACH,KAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvC,SAAS,CAAC,MAAK;AACd,QAAA,IAAI,CAAC,GAAG,IAAI,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE;YAC1D;;QAGD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,MAAM,CAAC;QAErE,UAAU,CAAC,MAAK;YACf,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;AAElC,YAAA,IAAI,CAAC,GAAG;gBAAE;AAEV,YAAA,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE;AAC9C,gBAAA,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC;AAC/D,gBAAA,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;;YAGhD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG;AAChE,YAAA,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM;YAE9B,KAAK,CAAC,QAAQ,GAAG;AAChB,gBAAA,MAAM,EAAE,CAAC,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,YAAY;gBACpD,KAAK,EAAE,QAAQ,IAAI,MAAM,GAAG,OAAO,GAAG,WAAW;AACjD,gBAAA,SAAS,EAAE,CAAA,UAAA,EAAa,UAAU,CAAA,IAAA,EAAO,SAAS,CAAK,GAAA,CAAA;aACvD;SACD,EAAE,EAAE,CAAC;KACN,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAE7B,SAAS,CAAC,MAAK;QACd,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE;QAErD,IAAI,CAAC,MAAM,CAAC;AACb,KAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IAEZ,SAAS,CAAC,MAAK;QACd,IAAI,QAAQ,IAAI,CAAC,SAAS;YAAE;AAE5B,QAAA,OAAO,MAAK;AACX,YAAA,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC;AAChC,SAAC;KACD,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvB,SAAS,CAAC,MAAK;AACd,QAAA,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,QAAQ;YAAE;AAElC,QAAA,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAI;YAC9B,CAAC,CAAC,eAAe,EAAE;YACnB,CAAC,CAAC,cAAc,EAAE;AAElB,YAAA,IAAI,QAAQ;gBAAE;AAEd,YAAA,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC;AACzB,gBAAA,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM;AACzB,aAAA,CAAC;AACH,SAAC;QAED,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,EAAE;AAC3D,YAAA,OAAO,EAAE,KAAK;AACd,SAAA,CAAC;AAEF,QAAA,OAAO,MAAK;YACX,IAAI,CAAC,OAAO,CAAC,OAAO;gBAAE;YACtB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC;AAC/D,SAAC;AACF,KAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAErB,IAAA,mBAAmB,CAAC,GAAG,EAAE,OAAO;QAC/B,IAAI;QACJ,KAAK;QACL,GAAG;AACH,QAAA,IAAI,EAAE,OAAO;AACb,KAAA,CAAC,CAAC;AAEH,IAAA,QACCC,IAAA,CAAA,KAAA,EAAA,EACC,SAAS,EAAE,UAAU,CACpB,QAAQ,EACR,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,UAAU,IAAI,CAAA,CAAE,GAAG,IAAI,KAAK,SAAS,EAAE,EAC1D,SAAS,CACT,EAAA,GACG,IAAI,EAAA,QAAA,EAAA,CAERA,cACC,SAAS,EAAE,UAAU,CAAC,sBAAsB,EAAE;AAC7C,oBAAA,qBAAqB,EAAE,QAAQ;AAC/B,iBAAA,CAAC,EAED,QAAA,EAAA,CAAA,OAAO,EAERA,IAAA,CAAA,KAAA,EAAA,EACC,GAAG,EAAE,OAAO,EACZ,SAAS,EAAE,UAAU,CACpB,YAAY,EACZ,CAAA,QAAA,EAAW,WAAW,CAAA,CAAE,CACxB,EAAA,QAAA,EAAA,CAEA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;AAC1B,gCAAA,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA,EAAG,CAAC,CAAA,CAAE,EAAE,QAAQ,EAAE,GAAG,GAAG;gCAE7C,QACCA,IAEC,CAAA,GAAA,EAAA,EAAA,GAAG,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAU,CAAC,EAC/C,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;AAClC,wCAAA,cAAc,EAAE,KAAK,CAAC,MAAM,KAAK,GAAG;AACpC,qCAAA,CAAC,EACF,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,EAEvB,QAAA,EAAA,CAAA,KAAK,EAEL,QAAQ,KACRD,GAAA,CAAC,UAAU,EAAA,EACV,EAAE,EAAC,GAAG,EACN,MAAM,EACN,IAAA,EAAA,SAAS,EAAC,iBAAiB,EAC3B,OAAO,EAAE,CAAC,CAAC,KAAI;gDACd,CAAC,CAAC,eAAe,EAAE;gDACnB,KAAK,CAAC,GAAG,CAAC;AACX,6CAAC,GACA,CACF,CAAA,EAAA,EAnBI,GAAG,CAoBL;AAEN,6BAAC,CAAC,EAED,GAAG,KACHA,GAAA,CAAA,MAAA,EAAA,EACC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,UAAU,CAAC,gBAAgB,EAAE,QAAQ,CAAC,EACjD,KAAK,EAAE,KAAK,CAAC,QAAQ,GACpB,CACF,CAAA,EAAA,CACI,EAEL,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,KACpDA,GAAA,CAAC,KAAK,EACL,EAAA,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,EACvC,KAAK,EAAC,KAAK,EACX,SAAS,EAAA,IAAA,EACT,SAAS,EAAE,GAAG,EACd,OAAO,EACNA,aAAK,SAAS,EAAC,sBAAsB,EACnC,QAAA,EAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;gCAC1B,MAAM,EAAE,GAAG,GAAG,CAAG,EAAA,CAAC,CAAE,CAAA,EAAE,KAAK,EAAE,GAAG,GAAG;AACnC,gCAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,GAAG;AAErC,gCAAA,QACCA,GAEC,CAAA,GAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE;AAClC,wCAAA,cAAc,EAAE,QAAQ;AACxB,qCAAA,CAAC,EACF,OAAO,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,YAEvB,KAAK,EAAA,EAND,GAAG,CAOL;AAEN,6BAAC,CAAC,EAAA,CACG,EAGN,QAAA,EAAA,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAA,CAChB,CACR,EAEA,MAAM,CACF,EAAA,CAAA,EAENA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,gBAAgB,EAC7B,QAAA,EAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAI;oBAC1B,MAAM,EAAE,GAAG,GAAG,CAAG,EAAA,CAAC,CAAE,CAAA,EAAE,OAAO,EAAE,GAAG,GAAG;AACrC,oBAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,KAAK,GAAG;oBACrC,MAAM,IAAI,GACT,QAAQ;AACR,yBAAC,GAAG,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAEtD,QACC,IAAI,KACHA,GAAA,CAAA,KAAA,EAAA,EAEC,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE;AACtC,4BAAA,cAAc,EAAE,QAAQ;AACxB,yBAAA,CAAC,YAED,OAAO,EAAA,EALH,GAAG,CAMH,CACN;AAEH,iBAAC,CAAC,EAAA,CACG,CACD,EAAA,CAAA;AAER,CAAC;AAED,IAAI,CAAC,IAAI,GAAGE,IAAO;;;;"}
|
|
1
|
+
{"version":3,"file":"tabs.js","sources":["../../../../packages/components/tabs/tabs.tsx"],"sourcesContent":["import { MoreHorizRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { pick } from \"radash\";\nimport {\n\tCSSProperties,\n\tChildren,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseRef,\n} from \"react\";\nimport { useIntersectionObserver, useReactive, useSize } from \"../../js/hooks\";\nimport Button from \"../button\";\nimport Icon from \"../icon\";\nimport Popup from \"../popup\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport TabItem from \"./item\";\nimport { CompositionTabs, ITabItem, ITabs } from \"./type\";\n\ntype TState = {\n\tactive?: string;\n\tprevActive?: string;\n\tbarStyle: CSSProperties;\n\tcachedTabs: string[];\n\toverflow: boolean;\n\tmore: ITabItem[];\n\ttabs: ITabItem[];\n};\n\nconst Tabs = ((props: ITabs) => {\n\tconst {\n\t\tref,\n\t\tactive,\n\t\ttabs: items,\n\t\ttype = \"default\",\n\t\tprepend,\n\t\tappend,\n\t\tchildren,\n\t\tclassName,\n\t\tvertical,\n\t\ttoggable,\n\t\tnavsJustify = \"start\",\n\t\tbar = true,\n\t\thideMore,\n\t\tbarClass,\n\t\trenderMore = () => (\n\t\t\t<Button flat square size='small'>\n\t\t\t\t<Icon icon={<MoreHorizRound />} />\n\t\t\t</Button>\n\t\t),\n\t\tonTabChange,\n\t\t...rest\n\t} = props;\n\n\tconst navRefs = useRef<HTMLElement[]>([]);\n\tconst barRef = useRef<HTMLSpanElement>(null);\n\tconst navsRef = useRef<HTMLDivElement>(null);\n\tconst state = useReactive<TState>({\n\t\tactive,\n\t\tprevActive: undefined,\n\t\tbarStyle: {},\n\t\tcachedTabs: [],\n\t\toverflow: false,\n\t\tmore: [],\n\t\ttabs: [],\n\t});\n\tconst { observe, unobserve } = useIntersectionObserver();\n\tconst size = useSize(navsRef);\n\n\tuseEffect(() => {\n\t\tif (!items) {\n\t\t\tif (!children) {\n\t\t\t\tstate.tabs = [];\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tstate.tabs = Children.map(children, (node, i) => {\n\t\t\t\tconst { key, props: nodeProps } = node as {\n\t\t\t\t\tkey?: string;\n\t\t\t\t\tprops?: any;\n\t\t\t\t};\n\t\t\t\tconst { title, children, content, keepDOM } = nodeProps;\n\n\t\t\t\tconst cloned = children\n\t\t\t\t\t? typeof children === \"string\"\n\t\t\t\t\t\t? children\n\t\t\t\t\t\t: pick(children, [\"props\", \"type\", \"$$typeof\", \"ref\"])\n\t\t\t\t\t: content;\n\n\t\t\t\treturn {\n\t\t\t\t\tkey: key || String(i),\n\t\t\t\t\ttitle,\n\t\t\t\t\tcontent: cloned,\n\t\t\t\t\tkeepDOM,\n\t\t\t\t};\n\t\t\t}) as ITabItem[];\n\n\t\t\treturn;\n\t\t}\n\n\t\tstate.tabs = items.map((item, i) => {\n\t\t\tif ([\"string\", \"number\"].includes(typeof item)) {\n\t\t\t\treturn { key: item, title: item };\n\t\t\t}\n\t\t\tif (item.key === undefined) {\n\t\t\t\titem.key = i;\n\t\t\t}\n\t\t\treturn item;\n\t\t});\n\t}, [children, items]);\n\n\tconst add = (tab: ITabItem) => {\n\t\tconst { key } = tab;\n\t\tconst i = state.tabs.findIndex((t) => t.key === key);\n\n\t\tif (i > -1) {\n\t\t\topen(state.tabs[i].key ?? `${i}`);\n\t\t\treturn;\n\t\t}\n\n\t\tconst l = state.tabs.length;\n\t\tconst tkey = tab.key ?? `${l}`;\n\t\tstate.tabs.push({ ...tab, key: tkey });\n\t\topen(tkey);\n\t};\n\n\tconst close = (key: string) => {\n\t\tconst i = state.tabs.findIndex((t) => t.key === key);\n\n\t\tif (i < 0) return;\n\n\t\tstate.tabs.splice(i, 1);\n\n\t\tif (state.active !== key) return;\n\n\t\tconst next = state.tabs[i] || state.tabs[i - 1];\n\t\topen(state.prevActive ?? next?.key ?? \"\");\n\t};\n\n\tconst open = (key: string) => {\n\t\tif (key === state.active) {\n\t\t\tif (!toggable) return;\n\n\t\t\tonTabChange?.(undefined, key);\n\t\t\tstate.active = undefined;\n\n\t\t\tstate.barStyle = {\n\t\t\t\theight: 0,\n\t\t\t\twidth: 0,\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\n\t\tstate.prevActive = state.active;\n\t\tonTabChange?.(key, state.active);\n\t\tstate.active = key;\n\t};\n\n\tuseEffect(() => {\n\t\tif (!size || hideMore || !observe) return;\n\t\tconst { scrollHeight, scrollWidth } = navsRef.current as HTMLElement;\n\t\tconst { width, height } = size;\n\n\t\tstate.overflow = scrollHeight > height || scrollWidth > width;\n\n\t\tif (!state.overflow) return;\n\n\t\tnavRefs.current.map((nav, i) => {\n\t\t\tif (!nav) return;\n\t\t\tobserve(nav, (tar: HTMLElement, visible: boolean) => {\n\t\t\t\tif (!state.tabs[i]) return;\n\t\t\t\tstate.tabs[i].intersecting = visible;\n\t\t\t\tstate.more = state.tabs.filter((tab) => !tab.intersecting);\n\t\t\t});\n\t\t});\n\t}, [size, hideMore, state.tabs.length]);\n\n\tuseEffect(() => {\n\t\tif (!bar || type === \"pane\" || state.active === undefined) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst index = state.tabs.findIndex((tab) => tab.key === state.active);\n\n\t\tsetTimeout(() => {\n\t\t\tconst nav = navRefs.current[index];\n\n\t\t\tif (!nav) return;\n\n\t\t\tif (state.tabs[index].keepDOM && state.active) {\n\t\t\t\tconst i = state.cachedTabs.findIndex((k) => k === state.active);\n\t\t\t\ti < 0 && state.cachedTabs.unshift(state.active);\n\t\t\t}\n\n\t\t\tconst { offsetHeight, offsetLeft, offsetTop, offsetWidth } = nav;\n\t\t\tconst isLine = type === \"line\";\n\n\t\t\tstate.barStyle = {\n\t\t\t\theight: !vertical && isLine ? \".25em\" : offsetHeight,\n\t\t\t\twidth: vertical && isLine ? \".25em\" : offsetWidth,\n\t\t\t\ttransform: `translate(${offsetLeft}px, ${offsetTop}px)`,\n\t\t\t};\n\t\t}, 16);\n\t}, [state.active, bar, size]);\n\n\tuseEffect(() => {\n\t\tif (active === undefined || state.active === active) return;\n\n\t\topen(active);\n\t}, [active]);\n\n\tuseEffect(() => {\n\t\tif (hideMore || !unobserve) return;\n\n\t\treturn () => {\n\t\t\tnavRefs.current?.map(unobserve);\n\t\t};\n\t}, [state.tabs.length]);\n\n\tuseEffect(() => {\n\t\tif (!navsRef.current || vertical) return;\n\n\t\tconst handleMouseWheel = (e) => {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\n\t\t\tif (vertical) return;\n\n\t\t\tnavsRef.current?.scrollBy({\n\t\t\t\tleft: e.deltaY + e.deltaX,\n\t\t\t});\n\t\t};\n\n\t\tnavsRef.current.addEventListener(\"wheel\", handleMouseWheel, {\n\t\t\tpassive: false,\n\t\t});\n\n\t\treturn () => {\n\t\t\tif (!navsRef.current) return;\n\t\t\tnavsRef.current.removeEventListener(\"wheel\", handleMouseWheel);\n\t\t};\n\t}, [navsRef.current]);\n\n\tuseImperativeHandle(ref, () => ({\n\t\topen,\n\t\tclose,\n\t\tadd,\n\t\tnavs: navsRef,\n\t}));\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-tabs\",\n\t\t\t\t{ flex: vertical, [`i-tabs-${type}`]: type !== \"default\" },\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-tab-navs-container\", {\n\t\t\t\t\t\"i-tab-navs-vertical\": vertical,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend}\n\n\t\t\t\t<div\n\t\t\t\t\tref={navsRef}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\"i-tab-navs\",\n\t\t\t\t\t\t`justify-${navsJustify}`\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{state.tabs.map((tab, i) => {\n\t\t\t\t\t\tconst { title, key = `${i}`, closable } = tab;\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\tref={(ref) => (navRefs.current[i] = ref as any)}\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-tab-nav\", {\n\t\t\t\t\t\t\t\t\t\"i-tab-active\": state.active === key,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\tonClick={() => open(key)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{title}\n\n\t\t\t\t\t\t\t\t{closable && (\n\t\t\t\t\t\t\t\t\t<Helpericon\n\t\t\t\t\t\t\t\t\t\tas='i'\n\t\t\t\t\t\t\t\t\t\tactive\n\t\t\t\t\t\t\t\t\t\tclassName='i-tab-nav-close'\n\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\te.stopPropagation();\n\t\t\t\t\t\t\t\t\t\t\tclose(key);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t);\n\t\t\t\t\t})}\n\n\t\t\t\t\t{bar && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tref={barRef}\n\t\t\t\t\t\t\tclassName={classNames(\"i-tab-navs-bar\", barClass)}\n\t\t\t\t\t\t\tstyle={state.barStyle}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\n\t\t\t\t{!hideMore && state.overflow && state.more.length > 0 && (\n\t\t\t\t\t<Popup\n\t\t\t\t\t\tarrow={false}\n\t\t\t\t\t\tposition={vertical ? \"right\" : \"bottom\"}\n\t\t\t\t\t\talign='end'\n\t\t\t\t\t\ttouchable\n\t\t\t\t\t\thideDelay={500}\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<div className='i-tabs-morelist pd-4'>\n\t\t\t\t\t\t\t\t{state.more.map((tab, i) => {\n\t\t\t\t\t\t\t\t\tconst { key = `${i}`, title } = tab;\n\t\t\t\t\t\t\t\t\tconst isActive = state.active === key;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\t\t\t\tclassName={classNames(\"i-tab-nav\", {\n\t\t\t\t\t\t\t\t\t\t\t\t\"i-tab-active\": isActive,\n\t\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => open(key)}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{renderMore(state.more)}\n\t\t\t\t\t</Popup>\n\t\t\t\t)}\n\n\t\t\t\t{append}\n\t\t\t</div>\n\n\t\t\t<div className='i-tab-contents'>\n\t\t\t\t{state.tabs.map((tab, i) => {\n\t\t\t\t\tconst { key = `${i}`, content } = tab;\n\t\t\t\t\tconst isActive = state.active === key;\n\t\t\t\t\tconst show =\n\t\t\t\t\t\tisActive ||\n\t\t\t\t\t\t(key !== undefined && state.cachedTabs.includes(key));\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\tshow && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\t\t\tclassName={classNames(\"i-tab-content\", {\n\t\t\t\t\t\t\t\t\t\"i-tab-active\": isActive,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{content}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</div>\n\t\t</div>\n\t);\n}) as CompositionTabs;\n\nTabs.Item = TabItem;\n\nexport default Tabs;\n"],"names":["_jsx","_jsxs","TabItem"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tag.js","sources":["../../../../packages/components/tag/tag.tsx"],"sourcesContent":["import classNames from \"classnames\";\
|
|
1
|
+
{"version":3,"file":"tag.js","sources":["../../../../packages/components/tag/tag.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport Helpericon from \"../utils/helpericon\";\nimport \"./index.css\";\nimport { ITag } from \"./type\";\n\nconst Tag = (props: ITag) => {\n\tconst {\n\t\tdot,\n\t\tdotClass,\n\t\toutline,\n\t\tround,\n\t\tsize = \"normal\",\n\t\thoverShowClose,\n\t\tclassName,\n\t\tchildren,\n\t\tonClose,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<span\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-tag\",\n\t\t\t\t{\n\t\t\t\t\t\"i-tag-outline\": outline,\n\t\t\t\t\t\"i-tag-clickable\": onClick,\n\t\t\t\t\t[`i-tag-${size}`]: size !== \"normal\",\n\t\t\t\t\tround,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tonClick={onClick}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{dot && <span className={classNames(\"i-tag-dot\", dotClass)}></span>}\n\n\t\t\t{children}\n\n\t\t\t{onClose && (\n\t\t\t\t<Helpericon\n\t\t\t\t\tactive\n\t\t\t\t\tclassName={classNames(\"i-tag-close\", {\n\t\t\t\t\t\t\"i-tag-hover-close\": hoverShowClose,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={onClose}\n\t\t\t\t/>\n\t\t\t)}\n\t\t</span>\n\t);\n};\n\nexport default Tag;\n"],"names":["_jsxs","_jsx"],"mappings":";;;;AAKA,MAAM,GAAG,GAAG,CAAC,KAAW,KAAI;AAC3B,IAAA,MAAM,EACL,GAAG,EACH,QAAQ,EACR,OAAO,EACP,KAAK,EACL,IAAI,GAAG,QAAQ,EACf,cAAc,EACd,SAAS,EACT,QAAQ,EACR,OAAO,EACP,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,QACCA,IAAA,CAAA,MAAA,EAAA,EACC,SAAS,EAAE,UAAU,CACpB,OAAO,EACP;AACC,YAAA,eAAe,EAAE,OAAO;AACxB,YAAA,iBAAiB,EAAE,OAAO;AAC1B,YAAA,CAAC,SAAS,IAAI,CAAA,CAAE,GAAG,IAAI,KAAK,QAAQ;YACpC,KAAK;AACL,SAAA,EACD,SAAS,CACT,EACD,OAAO,EAAE,OAAO,EAAA,GACZ,SAAS,EAAA,QAAA,EAAA,CAEZ,GAAG,IAAIC,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAS,EAElE,QAAQ,EAER,OAAO,KACPA,GAAA,CAAC,UAAU,EAAA,EACV,MAAM,EAAA,IAAA,EACN,SAAS,EAAE,UAAU,CAAC,aAAa,EAAE;AACpC,oBAAA,mBAAmB,EAAE,cAAc;iBACnC,CAAC,EACF,OAAO,EAAE,OAAO,GACf,CACF,CAAA,EAAA,CACK;AAET;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlight.js","sources":["../../../../packages/components/text/highlight.tsx"],"sourcesContent":["import { findAll } from \"highlight-words-core\";\
|
|
1
|
+
{"version":3,"file":"highlight.js","sources":["../../../../packages/components/text/highlight.tsx"],"sourcesContent":["import { findAll } from \"highlight-words-core\";\nimport { Fragment, useMemo } from \"react\";\nimport Text from \"./text\";\nimport { ITextHighLight } from \"./type\";\n\nexport default function HighLight(props: ITextHighLight) {\n\tconst {\n\t\tkeyword,\n\t\ttext,\n\t\tescape,\n\t\tcaseSensitive,\n\t\trenderWord = (word) => <mark>{word}</mark>,\n\t\t...restProps\n\t} = props;\n\n\tconst content = useMemo(() => {\n\t\tconst source = text;\n\t\tconst searchWords = typeof keyword === \"string\" ? [keyword] : keyword;\n\n\t\tconst chunks = findAll({\n\t\t\tsearchWords,\n\t\t\ttextToHighlight: text,\n\t\t\tcaseSensitive,\n\t\t\tautoEscape: escape,\n\t\t});\n\n\t\tconst result = chunks.map((chunk, i) => {\n\t\t\tconst { end, highlight, start } = chunk;\n\t\t\tconst word = source.slice(start, end);\n\n\t\t\treturn highlight ? (\n\t\t\t\t<Fragment key={i}>{renderWord(word)}</Fragment>\n\t\t\t) : (\n\t\t\t\tword\n\t\t\t);\n\t\t});\n\n\t\treturn result;\n\t}, [keyword, text, escape, caseSensitive]);\n\n\treturn <Text {...restProps}>{content}</Text>;\n}\n"],"names":["_jsx"],"mappings":";;;;;AAKc,SAAU,SAAS,CAAC,KAAqB,EAAA;IACtD,MAAM,EACL,OAAO,EACP,IAAI,EACJ,MAAM,EACN,aAAa,EACb,UAAU,GAAG,CAAC,IAAI,KAAKA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EAAO,IAAI,EAAA,CAAQ,EAC1C,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,MAAM,OAAO,GAAG,OAAO,CAAC,MAAK;QAC5B,MAAM,MAAM,GAAG,IAAI;AACnB,QAAA,MAAM,WAAW,GAAG,OAAO,OAAO,KAAK,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO;QAErE,MAAM,MAAM,GAAG,OAAO,CAAC;YACtB,WAAW;AACX,YAAA,eAAe,EAAE,IAAI;YACrB,aAAa;AACb,YAAA,UAAU,EAAE,MAAM;AAClB,SAAA,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KAAI;YACtC,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;YAErC,OAAO,SAAS,IACfA,GAAA,CAAC,QAAQ,EAAA,EAAA,QAAA,EAAU,UAAU,CAAC,IAAI,CAAC,EAAA,EAApB,CAAC,CAA+B,KAE/C,IAAI,CACJ;AACF,QAAA,CAAC,CAAC;AAEF,QAAA,OAAO,MAAM;IACd,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;AAE1C,IAAA,OAAOA,IAAC,IAAI,EAAA,EAAA,GAAK,SAAS,EAAA,QAAA,EAAG,OAAO,GAAQ;AAC7C;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.js","sources":["../../../../packages/components/text/number.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\
|
|
1
|
+
{"version":3,"file":"number.js","sources":["../../../../packages/components/text/number.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { animate, formatNumber } from \"../../js/utils\";\nimport Text from \"./text\";\nimport { ITextNumber } from \"./type\";\n\nexport default function Number(props: ITextNumber) {\n\tconst {\n\t\tcount,\n\t\tto,\n\t\tdecimal,\n\t\tthousand = \",\",\n\t\tduration = 2400,\n\t\teasing,\n\t\t...restProps\n\t} = props;\n\tconst [n, setN] = useState(count);\n\n\tconst number = useMemo(() => {\n\t\tif (n === undefined) return;\n\n\t\tconst z = n.toFixed(decimal);\n\n\t\tif (!thousand) return z;\n\n\t\treturn formatNumber(n, { precision: decimal, thousand });\n\t}, [n, thousand]);\n\n\tuseEffect(() => {\n\t\tif (count === undefined || to === undefined) return;\n\n\t\tanimate(count, to, duration, (v) => setN(count + v), easing);\n\t}, [to]);\n\n\tuseEffect(() => setN(count), [count]);\n\n\treturn <Text {...restProps}>{number}</Text>;\n}\n"],"names":["_jsx"],"mappings":";;;;;AAKc,SAAU,MAAM,CAAC,KAAkB,EAAA;IAChD,MAAM,EACL,KAAK,EACL,EAAE,EACF,OAAO,EACP,QAAQ,GAAG,GAAG,EACd,QAAQ,GAAG,IAAI,EACf,MAAM,EACN,GAAG,SAAS,EACZ,GAAG,KAAK;IACT,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAEjC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAK;QAC3B,IAAI,CAAC,KAAK,SAAS;YAAE;QAErB,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;AAE5B,QAAA,IAAI,CAAC,QAAQ;AAAE,YAAA,OAAO,CAAC;AAEvB,QAAA,OAAO,YAAY,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AACzD,IAAA,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEjB,SAAS,CAAC,MAAK;AACd,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;YAAE;QAE7C,OAAO,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;AAC7D,IAAA,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAER,IAAA,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAErC,IAAA,OAAOA,IAAC,IAAI,EAAA,EAAA,GAAK,SAAS,EAAA,QAAA,EAAG,MAAM,GAAQ;AAC5C;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sources":["../../../../packages/components/text/text.tsx"],"sourcesContent":["import classNames from \"classnames\";\
|
|
1
|
+
{"version":3,"file":"text.js","sources":["../../../../packages/components/text/text.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { useMemo } from \"react\";\nimport HighLight from \"./highlight\";\nimport \"./index.css\";\nimport Number from \"./number\";\nimport Time from \"./time\";\nimport { CompositionText, IText } from \"./type\";\n\nconst Text = (props: IText) => {\n\tconst {\n\t\tas: Tag = \"span\",\n\t\tsize,\n\t\tweight,\n\t\tdecoration,\n\t\tgradient,\n\t\twave,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t} = props;\n\n\tconst gradients = useMemo(() => {\n\t\tif (!gradient || !Array.isArray(gradient)) return {};\n\n\t\treturn {\n\t\t\tbackgroundImage: `-webkit-linear-gradient(${gradient.join(\",\")})`,\n\t\t\tbackgroundClip: \"text\",\n\t\t};\n\t}, [gradient]);\n\n\treturn (\n\t\t<Tag\n\t\t\tstyle={{\n\t\t\t\tfontSize: size,\n\t\t\t\tfontWeight: weight,\n\t\t\t\ttextDecoration: decoration,\n\t\t\t\t...gradients,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\tclassName={classNames(className, {\n\t\t\t\t\"i-text-gradient\": gradient,\n\t\t\t\t\"i-text-gradient-wave\": wave,\n\t\t\t})}\n\t\t>\n\t\t\t{children}\n\t\t</Tag>\n\t);\n};\n\nText.Number = Number;\nText.Time = Time;\nText.HighLight = HighLight;\n\nexport default Text as CompositionText;\n"],"names":["_jsx","Time"],"mappings":";;;;;;;AAQA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;IAC7B,MAAM,EACL,EAAE,EAAE,GAAG,GAAG,MAAM,EAChB,IAAI,EACJ,MAAM,EACN,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,GACR,GAAG,KAAK;AAET,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,MAAK;QAC9B,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;AAAE,YAAA,OAAO,EAAE;QAEpD,OAAO;YACN,eAAe,EAAE,2BAA2B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,CAAG;AACjE,YAAA,cAAc,EAAE,MAAM;SACtB;AACF,IAAA,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;AAEd,IAAA,QACCA,GAAA,CAAC,GAAG,EAAA,EACH,KAAK,EAAE;AACN,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,UAAU,EAAE,MAAM;AAClB,YAAA,cAAc,EAAE,UAAU;AAC1B,YAAA,GAAG,SAAS;AACZ,YAAA,GAAG,KAAK;AACR,SAAA,EACD,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE;AAChC,YAAA,iBAAiB,EAAE,QAAQ;AAC3B,YAAA,sBAAsB,EAAE,IAAI;AAC5B,SAAA,CAAC,EAAA,QAAA,EAED,QAAQ,EAAA,CACJ;AAER;AAEA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,IAAI,CAAC,IAAI,GAAGC,QAAI;AAChB,IAAI,CAAC,SAAS,GAAG,SAAS;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sources":["../../../../packages/components/text/time.tsx"],"sourcesContent":["import { useMemo } from \"react\";\
|
|
1
|
+
{"version":3,"file":"time.js","sources":["../../../../packages/components/text/time.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { formatTime } from \"../../js/utils\";\nimport Text from \"./text\";\nimport { ITextTime } from \"./type\";\n\nexport default function Number(props: ITextTime) {\n\tconst { seconds, zero, units, ...restProps } = props;\n\n\tconst text = useMemo(() => {\n\t\tif (seconds === undefined) return \"\";\n\n\t\treturn formatTime(seconds, {\n\t\t\tzero,\n\t\t\tunits,\n\t\t});\n\t}, [seconds]);\n\n\treturn <Text {...restProps}>{text}</Text>;\n}\n"],"names":["_jsx"],"mappings":";;;;;AAKc,SAAU,MAAM,CAAC,KAAgB,EAAA;AAC9C,IAAA,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AAEpD,IAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAK;QACzB,IAAI,OAAO,KAAK,SAAS;AAAE,YAAA,OAAO,EAAE;QAEpC,OAAO,UAAU,CAAC,OAAO,EAAE;YAC1B,IAAI;YACJ,KAAK;AACL,SAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAEb,IAAA,OAAOA,IAAC,IAAI,EAAA,EAAA,GAAK,SAAS,EAAA,QAAA,EAAG,IAAI,GAAQ;AAC1C;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"item.js","sources":["../../../../packages/components/tree/item.tsx"],"sourcesContent":["import { KeyboardArrowDownRound } from \"@ricons/material\";\
|
|
1
|
+
{"version":3,"file":"item.js","sources":["../../../../packages/components/tree/item.tsx"],"sourcesContent":["import { KeyboardArrowDownRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { MouseEvent, useState } from \"react\";\nimport Checkbox from \"../checkbox\";\nimport Icon from \"../icon\";\nimport { ITree, ITreeHeader, PropsTreeItem } from \"./type\";\n\ninterface ITreeList extends Omit<ITree, \"nodeProps\"> {\n\tnodeProps: {\n\t\tkey: string;\n\t\ttitle: string;\n\t\tchildren: string;\n\t};\n}\n\nexport function TreeList(props: ITreeList) {\n\tconst {\n\t\tdata = [],\n\t\tdepth = 0,\n\t\tround,\n\t\tstyle,\n\t\tclassName,\n\t\tparent,\n\t\tnodeProps,\n\t\t...restProps\n\t} = props;\n\n\tconst contents = data.map((item, i) => {\n\t\tconst { type } = item;\n\t\tconst title = item[nodeProps.title];\n\t\tconst itemKey =\n\t\t\titem[nodeProps.key] ||\n\t\t\t(parent?.key !== undefined ? `${parent.key}-${i}` : `${i}`);\n\n\t\titem.key = itemKey;\n\t\titem.parent = parent;\n\n\t\tif (type === \"title\") {\n\t\t\treturn (\n\t\t\t\t<div key={i} className='i-tree-group-title'>\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (type && type !== \"item\") {\n\t\t\treturn (\n\t\t\t\t<div key={i} className={`i-tree-type-${type}`}>\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TreeItem\n\t\t\t\tkey={itemKey}\n\t\t\t\tindex={i}\n\t\t\t\titem={item}\n\t\t\t\tdepth={depth}\n\t\t\t\tnodeProps={nodeProps}\n\t\t\t\t{...restProps}\n\t\t\t/>\n\t\t);\n\t});\n\n\tif (depth > 0) return <>{contents}</>;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-tree\", className, {\n\t\t\t\t\"i-tree-round\": round,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{contents}\n\t\t</div>\n\t);\n}\n\nconst Header = (props: ITreeHeader) => {\n\tconst { as: Tag = \"a\", href, selected, children, ...restProps } = props;\n\n\tconst className = classNames(\"i-tree-item-header\", {\n\t\t\"i-tree-item-selected\": selected,\n\t});\n\n\tif (typeof Tag === \"string\") {\n\t\treturn (\n\t\t\t<Tag href={href} className={className} {...restProps}>\n\t\t\t\t{children}\n\t\t\t</Tag>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Tag to={href || \"\"} className={className} {...restProps}>\n\t\t\t{children}\n\t\t</Tag>\n\t);\n};\n\nexport const TreeItem = (props: PropsTreeItem) => {\n\tconst {\n\t\titem,\n\t\tdepth = 0,\n\t\tindex,\n\t\tselected,\n\t\tchecked = [],\n\t\tpartofs = {},\n\t\tcheckable,\n\t\tnodeProps,\n\t\trenderExtra,\n\t\tonItemClick,\n\t\tonItemSelect,\n\t\tonItemCheck,\n\t\t...restProps\n\t} = props;\n\n\tconst { as, key = \"\", href, icon, title, expanded, disabled } = item;\n\tconst children = item[nodeProps.children];\n\n\tconst [expand, setExpand] = useState(expanded);\n\n\tconst handleExpand = (e: MouseEvent<HTMLElement>, fromToggle?: boolean) => {\n\t\tif (fromToggle) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t}\n\n\t\tif (disabled || !children?.length) return;\n\n\t\tsetExpand((v) => !v);\n\t};\n\n\tconst handleItemClick = (e: MouseEvent<HTMLElement>) => {\n\t\tif (disabled) {\n\t\t\te.preventDefault();\n\t\t\te.stopPropagation();\n\t\t\treturn;\n\t\t}\n\n\t\thandleExpand(e);\n\t\tonItemClick?.(item, e);\n\t\tonItemSelect?.(key, item);\n\t};\n\n\tconst handleItemCheck = (checked) => onItemCheck?.(item, checked, []);\n\tconst itemChecked = checked.includes(key);\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"i-tree-item\", {\n\t\t\t\t\"i-tree-expand\": expand,\n\t\t\t})}\n\t\t>\n\t\t\t<Header\n\t\t\t\tas={as}\n\t\t\t\thref={href}\n\t\t\t\tstyle={{ paddingLeft: `${depth * 1.5 + 0.5}em` }}\n\t\t\t\tselected={selected === key}\n\t\t\t\tonClick={handleItemClick}\n\t\t\t>\n\t\t\t\t{checkable && (\n\t\t\t\t\t<Checkbox.Item\n\t\t\t\t\t\tvalue={itemChecked}\n\t\t\t\t\t\tpartof={!itemChecked && partofs[key]}\n\t\t\t\t\t\tclassName='i-tree-checkbox'\n\t\t\t\t\t\tonChange={handleItemCheck}\n\t\t\t\t\t\tonClick={(e) => e.stopPropagation()}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{icon && <span className='i-tree-item-icon'>{icon}</span>}\n\n\t\t\t\t<span className='i-tree-item-title'>{title}</span>\n\n\t\t\t\t{renderExtra?.(item)}\n\n\t\t\t\t{children && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={<KeyboardArrowDownRound />}\n\t\t\t\t\t\tclassName='i-tree-toggle'\n\t\t\t\t\t\tonClick={(e) => handleExpand(e, true)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</Header>\n\n\t\t\t{children?.length && (\n\t\t\t\t<div className='i-tree-item-content'>\n\t\t\t\t\t<TreeList\n\t\t\t\t\t\tdata={children}\n\t\t\t\t\t\tdepth={depth + 1}\n\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\tcheckable={checkable}\n\t\t\t\t\t\tparent={item}\n\t\t\t\t\t\tpartofs={partofs}\n\t\t\t\t\t\tchecked={checked}\n\t\t\t\t\t\tnodeProps={nodeProps}\n\t\t\t\t\t\trenderExtra={renderExtra}\n\t\t\t\t\t\tonItemClick={onItemClick}\n\t\t\t\t\t\tonItemSelect={onItemSelect}\n\t\t\t\t\t\tonItemCheck={onItemCheck}\n\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.js","sources":["../../../../packages/components/tree/tree.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\r\nimport { useEffect, useImperativeHandle } from \"react\";\r\nimport \"./index.css\";\r\nimport { TreeList } from \"./item\";\r\nimport { ITree, ITreeItem } from \"./type\";\r\n\r\nconst defaultNodeProps = {\r\n\tkey: \"key\",\r\n\ttitle: \"title\",\r\n\tchildren: \"children\",\r\n};\r\n\r\nconst Tree = (props: ITree) => {\r\n\tconst {\r\n\t\tdata = [],\r\n\t\tref,\r\n\t\tselected,\r\n\t\tchecked = [],\r\n\t\tdisabledRelated,\r\n\t\tnodeProps,\r\n\t\tonItemSelect,\r\n\t\tonItemCheck,\r\n\t\t...restProps\r\n\t} = props;\r\n\tconst state = useReactive({\r\n\t\tselected,\r\n\t\tchecked,\r\n\t\tpartofs: {} as Record<string, boolean>,\r\n\t\tnodeMaps: new Map(),\r\n\t});\r\n\tconst oNodeProps = Object.assign({}, defaultNodeProps, nodeProps);\r\n\r\n\tconst isChecked = (key?: string) => state.checked.includes(key || \"\");\r\n\r\n\tconst checkItem = (\r\n\t\titem: ITreeItem,\r\n\t\tchecked: boolean,\r\n\t\tdirection?: \"root\" | \"leaf\"\r\n\t) => {\r\n\t\tconst { key = \"\", parent, children } = item;\r\n\t\tconst shouldChanged = { [key]: checked };\r\n\t\tconst partofs = { [key]: false };\r\n\r\n\t\tif (disabledRelated) return [shouldChanged];\r\n\r\n\t\tif (checked) {\r\n\t\t\tif (parent && direction !== \"leaf\") {\r\n\t\t\t\tconst hasUnchecked = parent.children?.some(\r\n\t\t\t\t\t(o) => o.key !== key && !isChecked(o.key)\r\n\t\t\t\t);\r\n\r\n\t\t\t\tconst [changes, parts] = checkItem(parent, true, \"root\");\r\n\r\n\t\t\t\tif (!hasUnchecked) {\r\n\t\t\t\t\tObject.assign(shouldChanged, changes);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tObject.assign(partofs, hasUnchecked ? parts : {}, {\r\n\t\t\t\t\t[parent.key as string]: true,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif (children?.length && direction !== \"root\") {\r\n\t\t\t\tchildren.map((o) => {\r\n\t\t\t\t\tif (isChecked(o.key)) return;\r\n\r\n\t\t\t\t\tconst [changes] = checkItem(o, true, \"leaf\");\r\n\r\n\t\t\t\t\tObject.assign(shouldChanged, changes);\r\n\t\t\t\t\tpartofs[o.key as string] = false;\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\treturn [shouldChanged, partofs];\r\n\t\t}\r\n\r\n\t\tif (parent && direction !== \"leaf\") {\r\n\t\t\tconst [changes, parts] = checkItem(parent, false, \"root\");\r\n\r\n\t\t\tObject.assign(shouldChanged, changes);\r\n\r\n\t\t\tconst hasChecked = parent.children?.some(\r\n\t\t\t\t(o) => isChecked(o.key) && o.key !== key\r\n\t\t\t);\r\n\r\n\t\t\tObject.assign(partofs, hasChecked ? {} : parts, {\r\n\t\t\t\t[parent.key as string]: hasChecked,\r\n\t\t\t\t[key]: false,\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (children?.length && direction !== \"root\") {\r\n\t\t\tchildren.map((o) => {\r\n\t\t\t\tconst [changes] = checkItem(o, false, \"leaf\");\r\n\r\n\t\t\t\tif (!isChecked(o.key)) return;\r\n\r\n\t\t\t\tObject.assign(shouldChanged, changes);\r\n\t\t\t\tpartofs[o.key as string] = false;\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn [shouldChanged, partofs];\r\n\t};\r\n\r\n\tconst handleCheck = (item: ITreeItem, checked: boolean) => {\r\n\t\tconst [shouldChanged, partofs] = checkItem(item, checked);\r\n\t\tconst changedKeys = Object.keys(shouldChanged);\r\n\r\n\t\tstate.checked = checked\r\n\t\t\t? Array.from(new Set([...state.checked, ...changedKeys]))\r\n\t\t\t: state.checked.filter((k) => !changedKeys.includes(k));\r\n\r\n\t\tObject.assign(state.partofs, partofs);\r\n\r\n\t\tonItemCheck?.(item, checked, state.checked);\r\n\t};\r\n\r\n\tconst handleSelect = (key: string, item: ITreeItem) => {\r\n\t\tif (!props.selectable) return;\r\n\r\n\t\tstate.selected = key;\r\n\t\tonItemSelect?.(key, item);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tif (selected === undefined) return;\r\n\r\n\t\tstate.selected = selected;\r\n\t}, [selected]);\r\n\r\n\tuseEffect(() => {\r\n\t\tstate.nodeMaps.clear();\r\n\r\n\t\tconst { key, children } = oNodeProps;\r\n\t\tconst recursive = (nodes) => {\r\n\t\t\tnodes.map((o) => {\r\n\t\t\t\tstate.nodeMaps.set(o[key], o);\r\n\r\n\t\t\t\to[children]?.length > 0 && recursive(o[children]);\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\trecursive(data);\r\n\t}, [data]);\r\n\r\n\tuseImperativeHandle(ref, () => {\r\n\t\treturn {\r\n\t\t\tgetChecked: () => {\r\n\t\t\t\tconst items: ITreeItem[] = [];\r\n\t\t\t\tstate.checked.map((k) => {\r\n\t\t\t\t\tconst item = state.nodeMaps.get(k);\r\n\t\t\t\t\titems.push(item);\r\n\t\t\t\t});\r\n\t\t\t\treturn [state.checked, items];\r\n\t\t\t},\r\n\t\t\tgetSelected: () => {\r\n\t\t\t\tconst item = state.nodeMaps.get(state.selected);\r\n\t\t\t\treturn [state.selected, item];\r\n\t\t\t},\r\n\t\t\tgetPartofs: () => {\r\n\t\t\t\tconst items: ITreeItem[] = [];\r\n\t\t\t\tconst keys = Object.keys(state.partofs).filter((k) => {\r\n\t\t\t\t\tconst indeterminate = state.partofs[k];\r\n\r\n\t\t\t\t\tif (indeterminate) {\r\n\t\t\t\t\t\tconst item = state.nodeMaps.get(k);\r\n\t\t\t\t\t\titems.push(item);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn indeterminate;\r\n\t\t\t\t});\r\n\r\n\t\t\t\treturn [keys, items];\r\n\t\t\t},\r\n\t\t};\r\n\t});\r\n\r\n\treturn (\r\n\t\t<TreeList\r\n\t\t\tdata={data}\r\n\t\t\tselected={state.selected}\r\n\t\t\tchecked={state.checked}\r\n\t\t\tpartofs={state.partofs}\r\n\t\t\tnodeProps={oNodeProps}\r\n\t\t\tonItemCheck={handleCheck}\r\n\t\t\tonItemSelect={handleSelect}\r\n\t\t\t{...restProps}\r\n\t\t/>\r\n\t);\r\n};\r\n\r\nexport default Tree;\r\n"],"names":["_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tree.js","sources":["../../../../packages/components/tree/tree.tsx"],"sourcesContent":["import { useEffect, useImperativeHandle } from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport \"./index.css\";\nimport { TreeList } from \"./item\";\nimport { ITree, ITreeItem } from \"./type\";\n\nconst defaultNodeProps = {\n\tkey: \"key\",\n\ttitle: \"title\",\n\tchildren: \"children\",\n};\n\nconst Tree = (props: ITree) => {\n\tconst {\n\t\tdata = [],\n\t\tref,\n\t\tselected,\n\t\tchecked = [],\n\t\tdisabledRelated,\n\t\tnodeProps,\n\t\tonItemSelect,\n\t\tonItemCheck,\n\t\t...restProps\n\t} = props;\n\tconst state = useReactive({\n\t\tselected,\n\t\tchecked,\n\t\tpartofs: {} as Record<string, boolean>,\n\t\tnodeMaps: new Map(),\n\t});\n\tconst oNodeProps = Object.assign({}, defaultNodeProps, nodeProps);\n\n\tconst isChecked = (key?: string) => state.checked.includes(key || \"\");\n\n\tconst checkItem = (\n\t\titem: ITreeItem,\n\t\tchecked: boolean,\n\t\tdirection?: \"root\" | \"leaf\"\n\t) => {\n\t\tconst { key = \"\", parent, children } = item;\n\t\tconst shouldChanged = { [key]: checked };\n\t\tconst partofs = { [key]: false };\n\n\t\tif (disabledRelated) return [shouldChanged];\n\n\t\tif (checked) {\n\t\t\tif (parent && direction !== \"leaf\") {\n\t\t\t\tconst hasUnchecked = parent.children?.some(\n\t\t\t\t\t(o) => o.key !== key && !isChecked(o.key)\n\t\t\t\t);\n\n\t\t\t\tconst [changes, parts] = checkItem(parent, true, \"root\");\n\n\t\t\t\tif (!hasUnchecked) {\n\t\t\t\t\tObject.assign(shouldChanged, changes);\n\t\t\t\t}\n\n\t\t\t\tObject.assign(partofs, hasUnchecked ? parts : {}, {\n\t\t\t\t\t[parent.key as string]: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (children?.length && direction !== \"root\") {\n\t\t\t\tchildren.map((o) => {\n\t\t\t\t\tif (isChecked(o.key)) return;\n\n\t\t\t\t\tconst [changes] = checkItem(o, true, \"leaf\");\n\n\t\t\t\t\tObject.assign(shouldChanged, changes);\n\t\t\t\t\tpartofs[o.key as string] = false;\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn [shouldChanged, partofs];\n\t\t}\n\n\t\tif (parent && direction !== \"leaf\") {\n\t\t\tconst [changes, parts] = checkItem(parent, false, \"root\");\n\n\t\t\tObject.assign(shouldChanged, changes);\n\n\t\t\tconst hasChecked = parent.children?.some(\n\t\t\t\t(o) => isChecked(o.key) && o.key !== key\n\t\t\t);\n\n\t\t\tObject.assign(partofs, hasChecked ? {} : parts, {\n\t\t\t\t[parent.key as string]: hasChecked,\n\t\t\t\t[key]: false,\n\t\t\t});\n\t\t}\n\t\tif (children?.length && direction !== \"root\") {\n\t\t\tchildren.map((o) => {\n\t\t\t\tconst [changes] = checkItem(o, false, \"leaf\");\n\n\t\t\t\tif (!isChecked(o.key)) return;\n\n\t\t\t\tObject.assign(shouldChanged, changes);\n\t\t\t\tpartofs[o.key as string] = false;\n\t\t\t});\n\t\t}\n\n\t\treturn [shouldChanged, partofs];\n\t};\n\n\tconst handleCheck = (item: ITreeItem, checked: boolean) => {\n\t\tconst [shouldChanged, partofs] = checkItem(item, checked);\n\t\tconst changedKeys = Object.keys(shouldChanged);\n\n\t\tstate.checked = checked\n\t\t\t? Array.from(new Set([...state.checked, ...changedKeys]))\n\t\t\t: state.checked.filter((k) => !changedKeys.includes(k));\n\n\t\tObject.assign(state.partofs, partofs);\n\n\t\tonItemCheck?.(item, checked, state.checked);\n\t};\n\n\tconst handleSelect = (key: string, item: ITreeItem) => {\n\t\tif (!props.selectable) return;\n\n\t\tstate.selected = key;\n\t\tonItemSelect?.(key, item);\n\t};\n\n\tuseEffect(() => {\n\t\tif (selected === undefined) return;\n\n\t\tstate.selected = selected;\n\t}, [selected]);\n\n\tuseEffect(() => {\n\t\tstate.nodeMaps.clear();\n\n\t\tconst { key, children } = oNodeProps;\n\t\tconst recursive = (nodes) => {\n\t\t\tnodes.map((o) => {\n\t\t\t\tstate.nodeMaps.set(o[key], o);\n\n\t\t\t\to[children]?.length > 0 && recursive(o[children]);\n\t\t\t});\n\t\t};\n\n\t\trecursive(data);\n\t}, [data]);\n\n\tuseImperativeHandle(ref, () => {\n\t\treturn {\n\t\t\tgetChecked: () => {\n\t\t\t\tconst items: ITreeItem[] = [];\n\t\t\t\tstate.checked.map((k) => {\n\t\t\t\t\tconst item = state.nodeMaps.get(k);\n\t\t\t\t\titems.push(item);\n\t\t\t\t});\n\t\t\t\treturn [state.checked, items];\n\t\t\t},\n\t\t\tgetSelected: () => {\n\t\t\t\tconst item = state.nodeMaps.get(state.selected);\n\t\t\t\treturn [state.selected, item];\n\t\t\t},\n\t\t\tgetPartofs: () => {\n\t\t\t\tconst items: ITreeItem[] = [];\n\t\t\t\tconst keys = Object.keys(state.partofs).filter((k) => {\n\t\t\t\t\tconst indeterminate = state.partofs[k];\n\n\t\t\t\t\tif (indeterminate) {\n\t\t\t\t\t\tconst item = state.nodeMaps.get(k);\n\t\t\t\t\t\titems.push(item);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn indeterminate;\n\t\t\t\t});\n\n\t\t\t\treturn [keys, items];\n\t\t\t},\n\t\t};\n\t});\n\n\treturn (\n\t\t<TreeList\n\t\t\tdata={data}\n\t\t\tselected={state.selected}\n\t\t\tchecked={state.checked}\n\t\t\tpartofs={state.partofs}\n\t\t\tnodeProps={oNodeProps}\n\t\t\tonItemCheck={handleCheck}\n\t\t\tonItemSelect={handleSelect}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n};\n\nexport default Tree;\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderFile.js","sources":["../../../../packages/components/upload/renderFile.tsx"],"sourcesContent":["import { ListAltRound } from \"@ricons/material\";\
|
|
1
|
+
{"version":3,"file":"renderFile.js","sources":["../../../../packages/components/upload/renderFile.tsx"],"sourcesContent":["import { ListAltRound } from \"@ricons/material\";\nimport { title } from \"radash\";\nimport { RefObject } from \"react\";\nimport SortableContainer from \"react-easy-sort\";\nimport { TFileType } from \"../../js/usePreview/type\";\nimport { formatBytes, getFileType } from \"../../js/utils\";\nimport Icon from \"../icon\";\nimport Image from \"../image\";\nimport Helpericon from \"../utils/helpericon\";\nimport { IUploadItem } from \"./type\";\n\nexport const ListContainer = (props) => {\n\tconst { sortable, onSortEnd, itemProps, ...restProps } = props;\n\tconst customProps = {\n\t\tclassName: \"i-upload-list\",\n\t\tonClick: (e) => {\n\t\t\te.stopPropagation();\n\t\t\te.preventDefault();\n\t\t},\n\t};\n\n\tif (!sortable) {\n\t\treturn <div {...customProps} {...restProps} />;\n\t}\n\treturn (\n\t\t<SortableContainer\n\t\t\tdraggedItemClassName='i-upload-item-dragged'\n\t\t\tonSortEnd={onSortEnd}\n\t\t\t{...customProps}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n};\n\nconst FileListItem = (\n\tprops: IUploadItem & { ref?: RefObject<HTMLDivElement | null> }\n) => {\n\tconst { ref, mode, index, file, renderItem, onRemove, onPreview } = props;\n\n\tif (!file) return \"\";\n\n\tconst { id, name, size, url, src } = file;\n\tconst type = getFileType(name, file.type);\n\n\tif (renderItem) {\n\t\treturn renderItem(file, index);\n\t}\n\n\tconst CloseBtn = (\n\t\t<Helpericon\n\t\t\tactive\n\t\t\tclassName='i-upload-delete'\n\t\t\tonClick={(e) => {\n\t\t\t\te.stopPropagation();\n\t\t\t\te.preventDefault();\n\t\t\t\tonRemove(index);\n\t\t\t}}\n\t\t/>\n\t);\n\n\tswitch (mode) {\n\t\tcase \"card\":\n\t\t\tlet node = <></>;\n\n\t\t\tswitch (type) {\n\t\t\t\tcase TFileType.IMAGE:\n\t\t\t\t\tnode = (\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\tlazyload\n\t\t\t\t\t\t\tsrc={url || src}\n\t\t\t\t\t\t\tfit='cover'\n\t\t\t\t\t\t\tonMouseDown={(e) => e.preventDefault()}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase TFileType.VIDEO:\n\t\t\t\t\tnode = <video src={url || src} preload='none' />;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tnode = (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Icon icon={<ListAltRound />} />\n\t\t\t\t\t\t\t<span className='i-upload-file-name'>\n\t\t\t\t\t\t\t\t{title(name)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tref={ref}\n\t\t\t\t\ttitle={name}\n\t\t\t\t\tclassName='i-upload-item-card'\n\t\t\t\t\tonClick={() => onPreview?.(index)}\n\t\t\t\t>\n\t\t\t\t\t{node}\n\t\t\t\t\t{CloseBtn}\n\t\t\t\t</div>\n\t\t\t);\n\t\tdefault:\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tref={ref}\n\t\t\t\t\tkey={id}\n\t\t\t\t\tclassName='i-upload-item'\n\t\t\t\t\tonClick={() => onPreview?.(index)}\n\t\t\t\t>\n\t\t\t\t\t<span>{name}</span>\n\n\t\t\t\t\t<i className='i-upload-size'>{formatBytes(size ?? 0)}</i>\n\n\t\t\t\t\t{CloseBtn}\n\t\t\t\t</div>\n\t\t\t);\n\t}\n};\n\nexport default FileListItem;\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { DriveFolderUploadOutlined, PlusSharp } from '@ricons/material';
|
|
3
|
-
import { useReactive } from 'ahooks';
|
|
4
3
|
import classNames from 'classnames';
|
|
5
4
|
import { uid } from 'radash';
|
|
6
5
|
import { useRef, useMemo, useEffect, useImperativeHandle } from 'react';
|
|
6
|
+
import { useReactive } from '../../js/hooks.js';
|
|
7
7
|
import { SortableItem } from 'react-easy-sort';
|
|
8
8
|
import usePreview from '../../js/usePreview/index.js';
|
|
9
9
|
import { arrayMove } from '../../js/utils.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sources":["../../../../packages/components/upload/upload.tsx"],"sourcesContent":["import { DriveFolderUploadOutlined, PlusSharp } from \"@ricons/material\";\r\nimport { useReactive } from \"ahooks\";\r\nimport classNames from \"classnames\";\r\nimport { uid } from \"radash\";\r\nimport {\r\n\tChangeEvent,\r\n\tCSSProperties,\r\n\tuseEffect,\r\n\tuseImperativeHandle,\r\n\tuseMemo,\r\n\tuseRef,\r\n} from \"react\";\r\nimport { SortableItem } from \"react-easy-sort\";\r\nimport usePreview from \"../../js/usePreview\";\r\nimport { TPreviewItem } from \"../../js/usePreview/type\";\r\nimport { arrayMove } from \"../../js/utils\";\r\nimport Button from \"../button\";\r\nimport Icon from \"../icon\";\r\nimport InputContainer from \"../input/container\";\r\nimport \"./index.css\";\r\nimport FileListItem, { ListContainer } from \"./renderFile\";\r\nimport { IFile, IUpload } from \"./type\";\r\n\r\nconst Upload = (props: IUpload) => {\r\n\tconst {\r\n\t\tref,\r\n\t\tlabel,\r\n\t\tlabelInline,\r\n\t\tvalue,\r\n\t\tfiles = [],\r\n\t\tinitialFiles,\r\n\t\tplaceholder,\r\n\t\tstatus = \"normal\",\r\n\t\tmessage,\r\n\t\tclassName,\r\n\t\tstyle,\r\n\t\tchildren,\r\n\t\tdefaultButtonProps,\r\n\t\tmode = \"default\",\r\n\t\tcardSize = \"4em\",\r\n\t\tdisabled,\r\n\t\tsortable,\r\n\t\tlimit = props.multiple ? Infinity : 1,\r\n\t\tmultiple,\r\n\t\trenderItem,\r\n\t\tshouldUpload = () => true,\r\n\t\tuploader,\r\n\t\tonChange,\r\n\t\tonFilesChange,\r\n\t\tonUpload,\r\n\t\t...restProps\r\n\t} = props;\r\n\r\n\tconst state = useReactive({\r\n\t\tfiles,\r\n\t\tvalue,\r\n\t\tstatus,\r\n\t\tmessage,\r\n\t});\r\n\tconst inputRef = useRef<HTMLInputElement>(null);\r\n\tconst preview = usePreview();\r\n\tconst defBtnProps = Object.assign(\r\n\t\t{\r\n\t\t\tchildren: (\r\n\t\t\t\t<>\r\n\t\t\t\t\t<Icon icon={<DriveFolderUploadOutlined />} /> 上传\r\n\t\t\t\t</>\r\n\t\t\t),\r\n\t\t},\r\n\t\tdefaultButtonProps\r\n\t);\r\n\r\n\tconst trigger = useMemo(() => {\r\n\t\tif (children) return children;\r\n\r\n\t\tswitch (mode) {\r\n\t\t\tcase \"card\":\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\tclassName='i-upload-card-btn color-5'\r\n\t\t\t\t\t\tsquare\r\n\t\t\t\t\t\tflat\r\n\t\t\t\t\t\toutline\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t<Icon icon={<PlusSharp />} />\r\n\t\t\t\t\t</Button>\r\n\t\t\t\t);\r\n\t\t\tdefault:\r\n\t\t\t\treturn (\r\n\t\t\t\t\t<Button\r\n\t\t\t\t\t\t{...defBtnProps}\r\n\t\t\t\t\t\tclassName={classNames(\r\n\t\t\t\t\t\t\t\"i-upload-btn\",\r\n\t\t\t\t\t\t\tdefBtnProps.className\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t/>\r\n\t\t\t\t);\r\n\t\t}\r\n\t}, [mode, children]);\r\n\r\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\r\n\t\tconst files = Array.from(e.target.files || []) as IFile[];\r\n\t\tconst { files: before } = state;\r\n\t\tconst changed: IFile[] = [];\r\n\r\n\t\tfiles.map((f) => {\r\n\t\t\tconst { id, name, size, type } = f;\r\n\t\t\tconst same = before.find((pf) => {\r\n\t\t\t\tconst { name: n, size: s, type: t } = pf;\r\n\t\t\t\treturn n === name && s === size && t === type;\r\n\t\t\t});\r\n\t\t\tconst src = URL.createObjectURL(f);\r\n\r\n\t\t\tObject.assign(f, {\r\n\t\t\t\tid: id ?? uid(7),\r\n\t\t\t\tsrc: src ?? f.name,\r\n\t\t\t\turl: src ?? f.name,\r\n\t\t\t});\r\n\t\t\t!same && changed.push(f);\r\n\t\t});\r\n\r\n\t\tconst after = [...before, ...changed];\r\n\r\n\t\tObject.assign(state, {\r\n\t\t\tfiles: multiple ? after.slice(0, limit) : [after.at(-1)],\r\n\t\t\tstatus,\r\n\t\t\tmessage,\r\n\t\t});\r\n\r\n\t\tonFilesChange?.(state.files, changed, e);\r\n\t\tonChange?.(state.files, e);\r\n\r\n\t\thandleUpload(changed);\r\n\t\tinputRef.current && (inputRef.current.value = \"\");\r\n\t};\r\n\r\n\tconst handleRemove = (i: number) => {\r\n\t\tconst [...files] = state.files;\r\n\r\n\t\tconst changed = files.splice(i, 1);\r\n\t\tURL.revokeObjectURL(changed[0]?.src || \"\");\r\n\r\n\t\tstate.files = files;\r\n\t\tonFilesChange?.(files, changed);\r\n\t\tonChange?.(files);\r\n\r\n\t\tinputRef.current && (inputRef.current.value = \"\");\r\n\t};\r\n\r\n\tconst handleUpload = async (files: IFile[]) => {\r\n\t\tif (!uploader) return;\r\n\r\n\t\tconst shouldUploadFiles = files.filter(shouldUpload);\r\n\r\n\t\tconst result = Promise.all(shouldUploadFiles.map(uploader));\r\n\r\n\t\treturn onUpload?.(result);\r\n\t};\r\n\r\n\tconst handlePreview = (i: number) => {\r\n\t\tpreview({ items: state.files as TPreviewItem[], initial: i });\r\n\t};\r\n\r\n\tconst setFileList = (files?: IFile[] | File[]) => {\r\n\t\tif (!files) return;\r\n\r\n\t\tstate.files = files.map((f) => {\r\n\t\t\treturn { ...f, id: f.id ?? uid(7) };\r\n\t\t});\r\n\t};\r\n\r\n\tconst handleSortEnd = (before, after) => {\r\n\t\tconst [...files] = state.files;\r\n\r\n\t\tstate.files = arrayMove(files, before, after);\r\n\t\tonChange?.(state.files);\r\n\t};\r\n\r\n\tuseEffect(() => {\r\n\t\tObject.assign(state, {\r\n\t\t\tstatus,\r\n\t\t\tmessage,\r\n\t\t});\r\n\t}, [status, message]);\r\n\r\n\tuseEffect(() => {\r\n\t\tstate.files = value?.filter?.((file) => !!file.id) ?? [];\r\n\t}, [value]);\r\n\r\n\tuseEffect(() => {\r\n\t\tsetFileList(initialFiles);\r\n\t}, []);\r\n\r\n\tuseImperativeHandle(\r\n\t\tref,\r\n\t\t() => ({\r\n\t\t\tgetFileList: () => state.files,\r\n\r\n\t\t\tsetFileList,\r\n\t\t}),\r\n\t\t[]\r\n\t);\r\n\r\n\treturn (\r\n\t\t<InputContainer\r\n\t\t\tas='div'\r\n\t\t\tlabel={label}\r\n\t\t\tlabelInline={labelInline}\r\n\t\t\tclassName={classNames(\"i-input-label-file\", className)}\r\n\t\t\tstyle={style}\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclassName={classNames(\"i-upload-inner\", {\r\n\t\t\t\t\t[`i-upload-${mode}`]: mode !== \"default\",\r\n\t\t\t\t})}\r\n\t\t\t\tstyle={{ [\"--upload-card-size\"]: cardSize } as CSSProperties}\r\n\t\t\t>\r\n\t\t\t\t<ListContainer sortable={sortable} onSortEnd={handleSortEnd}>\r\n\t\t\t\t\t{state.files.map((file: IFile, i: number) => {\r\n\t\t\t\t\t\tconst node = (\r\n\t\t\t\t\t\t\t<FileListItem\r\n\t\t\t\t\t\t\t\tkey={i}\r\n\t\t\t\t\t\t\t\tindex={i}\r\n\t\t\t\t\t\t\t\tfile={file}\r\n\t\t\t\t\t\t\t\tmode={mode}\r\n\t\t\t\t\t\t\t\trenderItem={renderItem}\r\n\t\t\t\t\t\t\t\tonRemove={handleRemove}\r\n\t\t\t\t\t\t\t\tonPreview={handlePreview}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\tif (!sortable) return node;\r\n\r\n\t\t\t\t\t\treturn <SortableItem key={i}>{node}</SortableItem>;\r\n\t\t\t\t\t})}\r\n\t\t\t\t</ListContainer>\r\n\r\n\t\t\t\t{state.message && (\r\n\t\t\t\t\t<span className='i-upload-message'>{state.message}</span>\r\n\t\t\t\t)}\r\n\r\n\t\t\t\t{state.files.length < limit && (\r\n\t\t\t\t\t<label>\r\n\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t{...restProps}\r\n\t\t\t\t\t\t\tdisabled={disabled}\r\n\t\t\t\t\t\t\tref={inputRef}\r\n\t\t\t\t\t\t\ttype='file'\r\n\t\t\t\t\t\t\tclassName='i-input-file-hidden'\r\n\t\t\t\t\t\t\tmultiple={multiple}\r\n\t\t\t\t\t\t\tonChange={handleChange}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t{trigger}\r\n\t\t\t\t\t</label>\r\n\t\t\t\t)}\r\n\t\t\t</div>\r\n\t\t</InputContainer>\r\n\t);\r\n};\r\n\r\nexport default Upload;\r\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upload.js","sources":["../../../../packages/components/upload/upload.tsx"],"sourcesContent":["import { DriveFolderUploadOutlined, PlusSharp } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { uid } from \"radash\";\nimport {\n\tChangeEvent,\n\tCSSProperties,\n\tuseEffect,\n\tuseImperativeHandle,\n\tuseMemo,\n\tuseRef,\n} from \"react\";\nimport { useReactive } from \"../../js/hooks\";\nimport { SortableItem } from \"react-easy-sort\";\nimport usePreview from \"../../js/usePreview\";\nimport { TPreviewItem } from \"../../js/usePreview/type\";\nimport { arrayMove } from \"../../js/utils\";\nimport Button from \"../button\";\nimport Icon from \"../icon\";\nimport InputContainer from \"../input/container\";\nimport \"./index.css\";\nimport FileListItem, { ListContainer } from \"./renderFile\";\nimport { IFile, IUpload } from \"./type\";\n\nconst Upload = (props: IUpload) => {\n\tconst {\n\t\tref,\n\t\tlabel,\n\t\tlabelInline,\n\t\tvalue,\n\t\tfiles = [],\n\t\tinitialFiles,\n\t\tplaceholder,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\tclassName,\n\t\tstyle,\n\t\tchildren,\n\t\tdefaultButtonProps,\n\t\tmode = \"default\",\n\t\tcardSize = \"4em\",\n\t\tdisabled,\n\t\tsortable,\n\t\tlimit = props.multiple ? Infinity : 1,\n\t\tmultiple,\n\t\trenderItem,\n\t\tshouldUpload = () => true,\n\t\tuploader,\n\t\tonChange,\n\t\tonFilesChange,\n\t\tonUpload,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tfiles,\n\t\tvalue,\n\t\tstatus,\n\t\tmessage,\n\t});\n\tconst inputRef = useRef<HTMLInputElement>(null);\n\tconst preview = usePreview();\n\tconst defBtnProps = Object.assign(\n\t\t{\n\t\t\tchildren: (\n\t\t\t\t<>\n\t\t\t\t\t<Icon icon={<DriveFolderUploadOutlined />} /> 上传\n\t\t\t\t</>\n\t\t\t),\n\t\t},\n\t\tdefaultButtonProps\n\t);\n\n\tconst trigger = useMemo(() => {\n\t\tif (children) return children;\n\n\t\tswitch (mode) {\n\t\t\tcase \"card\":\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName='i-upload-card-btn color-5'\n\t\t\t\t\t\tsquare\n\t\t\t\t\t\tflat\n\t\t\t\t\t\toutline\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={<PlusSharp />} />\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\tdefault:\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t{...defBtnProps}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\"i-upload-btn\",\n\t\t\t\t\t\t\tdefBtnProps.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t}\n\t}, [mode, children]);\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tconst files = Array.from(e.target.files || []) as IFile[];\n\t\tconst { files: before } = state;\n\t\tconst changed: IFile[] = [];\n\n\t\tfiles.map((f) => {\n\t\t\tconst { id, name, size, type } = f;\n\t\t\tconst same = before.find((pf) => {\n\t\t\t\tconst { name: n, size: s, type: t } = pf;\n\t\t\t\treturn n === name && s === size && t === type;\n\t\t\t});\n\t\t\tconst src = URL.createObjectURL(f);\n\n\t\t\tObject.assign(f, {\n\t\t\t\tid: id ?? uid(7),\n\t\t\t\tsrc: src ?? f.name,\n\t\t\t\turl: src ?? f.name,\n\t\t\t});\n\t\t\t!same && changed.push(f);\n\t\t});\n\n\t\tconst after = [...before, ...changed];\n\n\t\tObject.assign(state, {\n\t\t\tfiles: multiple ? after.slice(0, limit) : [after.at(-1)],\n\t\t\tstatus,\n\t\t\tmessage,\n\t\t});\n\n\t\tonFilesChange?.(state.files, changed, e);\n\t\tonChange?.(state.files, e);\n\n\t\thandleUpload(changed);\n\t\tinputRef.current && (inputRef.current.value = \"\");\n\t};\n\n\tconst handleRemove = (i: number) => {\n\t\tconst [...files] = state.files;\n\n\t\tconst changed = files.splice(i, 1);\n\t\tURL.revokeObjectURL(changed[0]?.src || \"\");\n\n\t\tstate.files = files;\n\t\tonFilesChange?.(files, changed);\n\t\tonChange?.(files);\n\n\t\tinputRef.current && (inputRef.current.value = \"\");\n\t};\n\n\tconst handleUpload = async (files: IFile[]) => {\n\t\tif (!uploader) return;\n\n\t\tconst shouldUploadFiles = files.filter(shouldUpload);\n\n\t\tconst result = Promise.all(shouldUploadFiles.map(uploader));\n\n\t\treturn onUpload?.(result);\n\t};\n\n\tconst handlePreview = (i: number) => {\n\t\tpreview({ items: state.files as TPreviewItem[], initial: i });\n\t};\n\n\tconst setFileList = (files?: IFile[] | File[]) => {\n\t\tif (!files) return;\n\n\t\tstate.files = files.map((f) => {\n\t\t\treturn { ...f, id: f.id ?? uid(7) };\n\t\t});\n\t};\n\n\tconst handleSortEnd = (before, after) => {\n\t\tconst [...files] = state.files;\n\n\t\tstate.files = arrayMove(files, before, after);\n\t\tonChange?.(state.files);\n\t};\n\n\tuseEffect(() => {\n\t\tObject.assign(state, {\n\t\t\tstatus,\n\t\t\tmessage,\n\t\t});\n\t}, [status, message]);\n\n\tuseEffect(() => {\n\t\tstate.files = value?.filter?.((file) => !!file.id) ?? [];\n\t}, [value]);\n\n\tuseEffect(() => {\n\t\tsetFileList(initialFiles);\n\t}, []);\n\n\tuseImperativeHandle(\n\t\tref,\n\t\t() => ({\n\t\t\tgetFileList: () => state.files,\n\n\t\t\tsetFileList,\n\t\t}),\n\t\t[]\n\t);\n\n\treturn (\n\t\t<InputContainer\n\t\t\tas='div'\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={classNames(\"i-input-label-file\", className)}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-upload-inner\", {\n\t\t\t\t\t[`i-upload-${mode}`]: mode !== \"default\",\n\t\t\t\t})}\n\t\t\t\tstyle={{ [\"--upload-card-size\"]: cardSize } as CSSProperties}\n\t\t\t>\n\t\t\t\t<ListContainer sortable={sortable} onSortEnd={handleSortEnd}>\n\t\t\t\t\t{state.files.map((file: IFile, i: number) => {\n\t\t\t\t\t\tconst node = (\n\t\t\t\t\t\t\t<FileListItem\n\t\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\t\t\tfile={file}\n\t\t\t\t\t\t\t\tmode={mode}\n\t\t\t\t\t\t\t\trenderItem={renderItem}\n\t\t\t\t\t\t\t\tonRemove={handleRemove}\n\t\t\t\t\t\t\t\tonPreview={handlePreview}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif (!sortable) return node;\n\n\t\t\t\t\t\treturn <SortableItem key={i}>{node}</SortableItem>;\n\t\t\t\t\t})}\n\t\t\t\t</ListContainer>\n\n\t\t\t\t{state.message && (\n\t\t\t\t\t<span className='i-upload-message'>{state.message}</span>\n\t\t\t\t)}\n\n\t\t\t\t{state.files.length < limit && (\n\t\t\t\t\t<label>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tref={inputRef}\n\t\t\t\t\t\t\ttype='file'\n\t\t\t\t\t\t\tclassName='i-input-file-hidden'\n\t\t\t\t\t\t\tmultiple={multiple}\n\t\t\t\t\t\t\tonChange={handleChange}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{trigger}\n\t\t\t\t\t</label>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Upload;\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../packages/components/utils/empty/index.tsx"],"sourcesContent":["import { InboxTwotone } from \"@ricons/material\";\
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../packages/components/utils/empty/index.tsx"],"sourcesContent":["import { InboxTwotone } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport \"./index.css\";\n\nexport default function Empty(props) {\n\tconst { className, ...restProps } = props;\n\n\treturn (\n\t\t<InboxTwotone\n\t\t\tclassName={classNames(\"i-empty\", className)}\n\t\t\t{...restProps}\n\t\t/>\n\t);\n}\n"],"names":["_jsx"],"mappings":";;;;AAIc,SAAU,KAAK,CAAC,KAAK,EAAA;IAClC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;AAEzC,IAAA,QACCA,GAAA,CAAC,YAAY,EAAA,EACZ,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,SAAS,CAAC,EAAA,GACvC,SAAS,EAAA,CACZ;AAEJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpericon.js","sources":["../../../../../packages/components/utils/helpericon/helpericon.tsx"],"sourcesContent":["import { CloseRound } from \"@ricons/material\";\
|
|
1
|
+
{"version":3,"file":"helpericon.js","sources":["../../../../../packages/components/utils/helpericon/helpericon.tsx"],"sourcesContent":["import { CloseRound } from \"@ricons/material\";\nimport classNames from \"classnames\";\nimport { uid } from \"radash\";\nimport { createElement } from \"react\";\nimport Icon from \"../../icon\";\nimport \"./index.css\";\nimport { IHelperIcon } from \"./type\";\n\nconst Helpericon = (props: IHelperIcon) => {\n\tconst {\n\t\tas = \"a\",\n\t\tactive,\n\t\tclassName,\n\t\ticon = <CloseRound />,\n\t\t...restProps\n\t} = props;\n\n\tif (!active) return <></>;\n\n\treturn createElement(\n\t\tas,\n\t\t{\n\t\t\tclassName: classNames(\"i-helpericon\", className),\n\t\t\t...restProps,\n\t\t},\n\t\t[\n\t\t\tcreateElement(Icon, {\n\t\t\t\tkey: uid(3),\n\t\t\t\ticon,\n\t\t\t}),\n\t\t]\n\t);\n};\n\nexport default Helpericon;\n"],"names":["_jsx"],"mappings":";;;;;;;AAQA,MAAM,UAAU,GAAG,CAAC,KAAkB,KAAI;IACzC,MAAM,EACL,EAAE,GAAG,GAAG,EACR,MAAM,EACN,SAAS,EACT,IAAI,GAAGA,GAAA,CAAC,UAAU,KAAG,EACrB,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,IAAI,CAAC,MAAM;AAAE,QAAA,OAAOA,iBAAK;IAEzB,OAAO,aAAa,CACnB,EAAE,EACF;AACC,QAAA,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC;AAChD,QAAA,GAAG,SAAS;KACZ,EACD;QACC,aAAa,CAAC,IAAI,EAAE;AACnB,YAAA,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACX,IAAI;SACJ,CAAC;AACF,KAAA,CACD;AACF;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
import { useReactive } from 'ahooks';
|
|
2
|
+
import { PlayArrowRound, PauseRound, StopRound, VolumeDownRound, VolumeOffRound, FullscreenRound, FullscreenExitRound } from '@ricons/material';
|
|
4
3
|
import classNames from 'classnames';
|
|
5
4
|
import { throttle } from 'radash';
|
|
6
5
|
import { useRef, useImperativeHandle, useEffect } from 'react';
|
|
6
|
+
import { useReactive } from '../../js/hooks.js';
|
|
7
7
|
import { exitFullScreen, fullScreen } from '../../js/utils.js';
|
|
8
8
|
import Button from '../button/button.js';
|
|
9
9
|
import Icon from '../icon/icon.js';
|