@chaoswise/ui 3.0.23 → 3.1.1
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/lib/Antd5/_util/ActionButton.js +4 -2
- package/lib/Antd5/_util/ContextIsolator.js +27 -0
- package/lib/Antd5/_util/easings.js +2 -2
- package/lib/Antd5/_util/getScroll.js +9 -8
- package/lib/Antd5/_util/hooks/useClosable.js +3 -2
- package/lib/Antd5/_util/hooks/useUniqueMemo.js +123 -0
- package/lib/Antd5/_util/hooks/useZIndex.js +31 -15
- package/lib/Antd5/_util/motion.js +3 -2
- package/lib/Antd5/_util/placements.js +2 -2
- package/lib/Antd5/_util/scrollTo.js +1 -1
- package/lib/Antd5/_util/statusUtils.js +1 -1
- package/lib/Antd5/_util/toList.js +5 -0
- package/lib/Antd5/_util/warning.js +0 -1
- package/lib/Antd5/_util/wave/WaveEffect.js +2 -2
- package/lib/Antd5/_util/wave/interface.js +2 -1
- package/lib/Antd5/_util/wave/useWave.js +1 -1
- package/lib/Antd5/_util/wave/util.js +1 -9
- package/lib/Antd5/alert/Alert.js +1 -2
- package/lib/Antd5/alert/ErrorBoundary.js +1 -1
- package/lib/Antd5/alert/design/behavior-pattern.js +3 -3
- package/lib/Antd5/alert/style/index.js +6 -4
- package/lib/Antd5/anchor/Anchor.js +8 -7
- package/lib/Antd5/anchor/AnchorLink.js +4 -4
- package/lib/Antd5/app/index.js +2 -1
- package/lib/Antd5/app/style/index.js +4 -2
- package/lib/Antd5/auto-complete/index.js +1 -1
- package/lib/Antd5/avatar/group.js +35 -17
- package/lib/Antd5/avatar/style/index.js +18 -13
- package/lib/Antd5/back-top/index.js +3 -2
- package/lib/Antd5/badge/ScrollNumber.js +1 -1
- package/lib/Antd5/badge/SingleNumber.js +17 -16
- package/lib/Antd5/badge/style/index.js +6 -7
- package/lib/Antd5/badge/style/ribbon.js +3 -3
- package/lib/Antd5/breadcrumb/design/behavior-pattern.js +4 -4
- package/lib/Antd5/breadcrumb/style/index.js +1 -1
- package/lib/Antd5/button/LoadingIcon.js +5 -10
- package/lib/Antd5/button/button-group.js +0 -1
- package/lib/Antd5/button/button.js +70 -41
- package/lib/Antd5/button/buttonHelpers.js +7 -5
- package/lib/Antd5/button/style/{compactCmp.js → compact.js} +20 -27
- package/lib/Antd5/button/style/group.js +9 -7
- package/lib/Antd5/button/style/index.js +150 -110
- package/lib/Antd5/button/style/token.js +8 -1
- package/lib/Antd5/calendar/generateCalendar.js +25 -28
- package/lib/Antd5/calendar/style/index.js +4 -4
- package/lib/Antd5/card/Card.js +3 -3
- package/lib/Antd5/card/style/index.js +6 -9
- package/lib/Antd5/carousel/index.js +3 -3
- package/lib/Antd5/carousel/style/index.js +1 -1
- package/lib/Antd5/cascader/Panel.js +7 -2
- package/lib/Antd5/cascader/hooks/useBase.js +3 -2
- package/lib/Antd5/cascader/hooks/useColumnIcons.js +6 -3
- package/lib/Antd5/cascader/index.js +1 -1
- package/lib/Antd5/cascader/style/columns.js +6 -4
- package/lib/Antd5/checkbox/Checkbox.js +44 -10
- package/lib/Antd5/checkbox/Group.js +7 -2
- package/lib/Antd5/checkbox/assets/duigou1.js +29 -0
- package/lib/Antd5/checkbox/assets/duigou2.js +29 -0
- package/lib/Antd5/checkbox/style/index.js +112 -6
- package/lib/Antd5/collapse/Collapse.js +2 -1
- package/lib/Antd5/collapse/style/index.js +20 -13
- package/lib/Antd5/color-picker/ColorPicker.js +120 -78
- package/lib/Antd5/color-picker/ColorPickerPanel.js +44 -26
- package/lib/Antd5/color-picker/color.js +82 -10
- package/lib/Antd5/color-picker/components/ColorAlphaInput.js +2 -2
- package/lib/Antd5/color-picker/components/ColorClear.js +2 -2
- package/lib/Antd5/color-picker/components/ColorHexInput.js +5 -4
- package/lib/Antd5/color-picker/components/ColorInput.js +4 -3
- package/lib/Antd5/color-picker/components/ColorPresets.js +1 -1
- package/lib/Antd5/color-picker/components/ColorSlider.js +139 -0
- package/lib/Antd5/color-picker/components/ColorTrigger.js +52 -26
- package/lib/Antd5/color-picker/components/PanelPicker/GradientColorBar.js +130 -0
- package/lib/Antd5/color-picker/components/PanelPicker/index.js +194 -0
- package/lib/Antd5/color-picker/context.js +1 -5
- package/lib/Antd5/color-picker/hooks/useModeColor.js +87 -0
- package/lib/Antd5/color-picker/style/color-block.js +3 -2
- package/lib/Antd5/color-picker/style/index.js +33 -15
- package/lib/Antd5/color-picker/style/input.js +1 -1
- package/lib/Antd5/color-picker/style/picker.js +6 -33
- package/lib/Antd5/color-picker/style/slider.js +87 -0
- package/lib/Antd5/color-picker/util.js +53 -7
- package/lib/Antd5/config-provider/context.js +3 -1
- package/lib/Antd5/config-provider/cssVariables.js +0 -1
- package/lib/Antd5/config-provider/defaultRenderEmpty.js +8 -1
- package/lib/Antd5/config-provider/index.js +13 -5
- package/lib/Antd5/config-provider/style/index.js +0 -1
- package/lib/Antd5/date-picker/PickerButton.js +3 -2
- package/lib/Antd5/date-picker/design/behavior-pattern.js +15 -15
- package/lib/Antd5/date-picker/generatePicker/constant.js +15 -0
- package/lib/Antd5/date-picker/generatePicker/generateRangePicker.js +16 -11
- package/lib/Antd5/date-picker/generatePicker/generateSinglePicker.js +19 -15
- package/lib/Antd5/date-picker/generatePicker/index.js +2 -2
- package/lib/Antd5/date-picker/generatePicker/interface.js +1 -1
- package/lib/Antd5/date-picker/index.js +2 -17
- package/lib/Antd5/date-picker/locale/ar_EG.js +9 -1
- package/lib/Antd5/date-picker/locale/az_AZ.js +9 -1
- package/lib/Antd5/date-picker/locale/el_GR.js +9 -1
- package/lib/Antd5/date-picker/locale/ja_JP.js +11 -1
- package/lib/Antd5/date-picker/locale/kn_IN.js +9 -1
- package/lib/Antd5/date-picker/locale/pl_PL.js +9 -1
- package/lib/Antd5/date-picker/locale/uk_UA.js +10 -1
- package/lib/Antd5/date-picker/style/index.js +13 -10
- package/lib/Antd5/date-picker/style/panel.js +36 -32
- package/lib/Antd5/date-picker/style/token.js +1 -1
- package/lib/Antd5/date-picker/util.js +0 -48
- package/lib/Antd5/descriptions/hooks/useItems.js +5 -0
- package/lib/Antd5/descriptions/hooks/useRow.js +42 -34
- package/lib/Antd5/descriptions/style/index.js +20 -8
- package/lib/Antd5/divider/index.js +4 -3
- package/lib/Antd5/divider/style/index.js +19 -4
- package/lib/Antd5/drawer/DrawerPanel.js +11 -20
- package/lib/Antd5/drawer/index.js +39 -42
- package/lib/Antd5/drawer/style/index.js +10 -11
- package/lib/Antd5/dropdown/dropdown.js +5 -7
- package/lib/Antd5/dropdown/style/index.js +27 -11
- package/lib/Antd5/empty/empty.js +9 -3
- package/lib/Antd5/empty/simple.js +9 -3
- package/lib/Antd5/empty/style/index.js +1 -1
- package/lib/Antd5/float-button/BackTop.js +3 -2
- package/lib/Antd5/float-button/FloatButton.js +16 -5
- package/lib/Antd5/float-button/FloatButtonGroup.js +76 -52
- package/lib/Antd5/float-button/style/index.js +117 -76
- package/lib/Antd5/float-button/style/keyframes.js +118 -0
- package/lib/Antd5/form/ErrorList.js +14 -2
- package/lib/Antd5/form/Form.js +11 -3
- package/lib/Antd5/form/FormItem/ItemHolder.js +8 -4
- package/lib/Antd5/form/FormItem/index.js +6 -4
- package/lib/Antd5/form/FormItemInput.js +68 -28
- package/lib/Antd5/form/FormItemLabel.js +3 -3
- package/lib/Antd5/form/hooks/useForm.js +8 -1
- package/lib/Antd5/form/hooks/useVariants.js +10 -4
- package/lib/Antd5/form/style/explain.js +9 -8
- package/lib/Antd5/form/style/index.js +30 -18
- package/lib/Antd5/grid/row.js +2 -2
- package/lib/Antd5/image/index.js +3 -1
- package/lib/Antd5/image/style/index.js +17 -20
- package/lib/Antd5/index.js +2 -1
- package/lib/Antd5/input/Input.js +18 -38
- package/lib/Antd5/input/OTP/OTPInput.js +10 -5
- package/lib/Antd5/input/OTP/index.js +12 -4
- package/lib/Antd5/input/Password.js +6 -2
- package/lib/Antd5/input/Search.js +2 -4
- package/lib/Antd5/input/TextArea.js +1 -1
- package/lib/Antd5/input/style/index.js +72 -63
- package/lib/Antd5/input/style/otp.js +1 -1
- package/lib/Antd5/input/style/variants.js +38 -23
- package/lib/Antd5/input/utils.js +0 -1
- package/lib/Antd5/input-number/index.js +19 -22
- package/lib/Antd5/input-number/style/index.js +26 -16
- package/lib/Antd5/layout/Sider.js +15 -8
- package/lib/Antd5/layout/style/index.js +6 -96
- package/lib/Antd5/layout/style/sider.js +115 -0
- package/lib/Antd5/list/Item.js +18 -5
- package/lib/Antd5/list/index.js +15 -10
- package/lib/Antd5/list/style/index.js +40 -41
- package/lib/Antd5/locale/ar_EG.js +14 -1
- package/lib/Antd5/locale/az_AZ.js +78 -28
- package/lib/Antd5/locale/bn_BD.js +0 -1
- package/lib/Antd5/locale/by_BY.js +0 -1
- package/lib/Antd5/locale/ca_ES.js +0 -1
- package/lib/Antd5/locale/cs_CZ.js +0 -1
- package/lib/Antd5/locale/de_DE.js +0 -1
- package/lib/Antd5/locale/el_GR.js +104 -3
- package/lib/Antd5/locale/en_GB.js +0 -1
- package/lib/Antd5/locale/en_US.js +4 -2
- package/lib/Antd5/locale/es_ES.js +10 -6
- package/lib/Antd5/locale/et_EE.js +0 -1
- package/lib/Antd5/locale/eu_ES.js +4 -2
- package/lib/Antd5/locale/fa_IR.js +0 -1
- package/lib/Antd5/locale/fr_BE.js +5 -1
- package/lib/Antd5/locale/fr_CA.js +0 -1
- package/lib/Antd5/locale/fr_FR.js +5 -6
- package/lib/Antd5/locale/ga_IE.js +0 -1
- package/lib/Antd5/locale/gl_ES.js +0 -1
- package/lib/Antd5/locale/he_IL.js +0 -1
- package/lib/Antd5/locale/hi_IN.js +0 -1
- package/lib/Antd5/locale/hr_HR.js +0 -1
- package/lib/Antd5/locale/id_ID.js +4 -2
- package/lib/Antd5/locale/index.js +1 -1
- package/lib/Antd5/locale/it_IT.js +0 -1
- package/lib/Antd5/locale/ja_JP.js +4 -2
- package/lib/Antd5/locale/ka_GE.js +0 -1
- package/lib/Antd5/locale/kk_KZ.js +0 -1
- package/lib/Antd5/locale/km_KH.js +0 -1
- package/lib/Antd5/locale/kn_IN.js +82 -4
- package/lib/Antd5/locale/ko_KR.js +4 -2
- package/lib/Antd5/locale/lt_LT.js +4 -2
- package/lib/Antd5/locale/ml_IN.js +0 -1
- package/lib/Antd5/locale/mn_MN.js +86 -2
- package/lib/Antd5/locale/ms_MY.js +101 -18
- package/lib/Antd5/locale/my_MM.js +0 -1
- package/lib/Antd5/locale/nb_NO.js +0 -1
- package/lib/Antd5/locale/ne_NP.js +104 -2
- package/lib/Antd5/locale/nl_BE.js +5 -1
- package/lib/Antd5/locale/nl_NL.js +5 -1
- package/lib/Antd5/locale/pl_PL.js +0 -1
- package/lib/Antd5/locale/pt_BR.js +0 -1
- package/lib/Antd5/locale/pt_PT.js +55 -38
- package/lib/Antd5/locale/ro_RO.js +0 -1
- package/lib/Antd5/locale/ru_RU.js +9 -2
- package/lib/Antd5/locale/si_LK.js +0 -1
- package/lib/Antd5/locale/sk_SK.js +0 -1
- package/lib/Antd5/locale/sr_RS.js +0 -1
- package/lib/Antd5/locale/sv_SE.js +0 -1
- package/lib/Antd5/locale/th_TH.js +11 -3
- package/lib/Antd5/locale/tk_TK.js +0 -1
- package/lib/Antd5/locale/tr_TR.js +2 -1
- package/lib/Antd5/locale/uk_UA.js +1 -1
- package/lib/Antd5/locale/ur_PK.js +0 -1
- package/lib/Antd5/locale/uz_UZ.js +6 -7
- package/lib/Antd5/locale/zh_CN.js +4 -2
- package/lib/Antd5/locale/zh_HK.js +0 -1
- package/lib/Antd5/locale/zh_TW.js +0 -1
- package/lib/Antd5/mentions/index.js +4 -4
- package/lib/Antd5/menu/MenuItem.js +6 -5
- package/lib/Antd5/menu/OverrideContext.js +4 -3
- package/lib/Antd5/menu/SubMenu.js +2 -2
- package/lib/Antd5/menu/menu.js +2 -2
- package/lib/Antd5/menu/style/index.js +58 -40
- package/lib/Antd5/menu/style/theme.js +24 -20
- package/lib/Antd5/menu/style/vertical.js +10 -7
- package/lib/Antd5/modal/Modal.js +50 -38
- package/lib/Antd5/modal/PurePanel.js +0 -1
- package/lib/Antd5/modal/confirm.js +4 -5
- package/lib/Antd5/modal/style/confirm.js +1 -2
- package/lib/Antd5/modal/style/index.js +13 -3
- package/lib/Antd5/modal/useModal/HookModal.js +4 -3
- package/lib/Antd5/modal/useModal/index.js +0 -1
- package/lib/Antd5/notification/index.js +6 -3
- package/lib/Antd5/notification/style/index.js +35 -3
- package/lib/Antd5/notification/useNotification.js +6 -1
- package/lib/Antd5/pagination/Pagination.js +10 -5
- package/lib/Antd5/pagination/design/behavior-pattern.js +3 -3
- package/lib/Antd5/pagination/style/bordered.js +1 -1
- package/lib/Antd5/pagination/style/index.js +27 -18
- package/lib/Antd5/popconfirm/PurePanel.js +7 -7
- package/lib/Antd5/popover/PurePanel.js +16 -6
- package/lib/Antd5/popover/index.js +7 -19
- package/lib/Antd5/popover/style/index.js +3 -1
- package/lib/Antd5/progress/Line.js +27 -19
- package/lib/Antd5/progress/design/behavior-pattern.js +3 -3
- package/lib/Antd5/progress/progress.js +37 -11
- package/lib/Antd5/progress/style/index.js +46 -11
- package/lib/Antd5/progress/utils.js +20 -18
- package/lib/Antd5/qr-code/QrcodeStatus.js +42 -0
- package/lib/Antd5/qr-code/index.js +31 -31
- package/lib/Antd5/radio/radio.js +4 -10
- package/lib/Antd5/radio/style/index.js +65 -80
- package/lib/Antd5/rate/index.js +8 -2
- package/lib/Antd5/result/noFound.js +3 -1
- package/lib/Antd5/result/serverError.js +3 -1
- package/lib/Antd5/result/unauthorized.js +5 -3
- package/lib/Antd5/segmented/index.js +5 -3
- package/lib/Antd5/segmented/style/index.js +11 -3
- package/lib/Antd5/select/index.js +4 -2
- package/lib/Antd5/select/style/dropdown.js +1 -1
- package/lib/Antd5/select/style/index.js +21 -8
- package/lib/Antd5/select/style/multiple.js +18 -9
- package/lib/Antd5/select/style/single.js +8 -10
- package/lib/Antd5/select/style/token.js +9 -2
- package/lib/Antd5/select/style/variants.js +20 -11
- package/lib/Antd5/skeleton/Image.js +6 -4
- package/lib/Antd5/skeleton/Node.js +1 -3
- package/lib/Antd5/skeleton/Paragraph.js +1 -1
- package/lib/Antd5/skeleton/Title.js +9 -6
- package/lib/Antd5/skeleton/style/index.js +13 -13
- package/lib/Antd5/slider/Context.js +4 -0
- package/lib/Antd5/slider/SliderTooltip.js +9 -5
- package/lib/Antd5/slider/index.js +32 -31
- package/lib/Antd5/slider/style/index.js +60 -44
- package/lib/Antd5/space/Compact.js +1 -1
- package/lib/Antd5/space/index.js +3 -3
- package/lib/Antd5/spin/Indicator/Looper.js +29 -0
- package/lib/Antd5/spin/Indicator/Progress.js +78 -0
- package/lib/Antd5/spin/Indicator/index.js +21 -0
- package/lib/Antd5/spin/index.js +27 -45
- package/lib/Antd5/spin/style/index.js +54 -17
- package/lib/Antd5/spin/usePercent.js +40 -0
- package/lib/Antd5/splitter/Panel.js +36 -0
- package/lib/Antd5/splitter/SplitBar.js +124 -0
- package/lib/Antd5/splitter/Splitter.js +194 -0
- package/lib/Antd5/{_util/transButton.js → splitter/hooks/useItems.js} +28 -54
- package/lib/Antd5/splitter/hooks/useResizable.js +43 -0
- package/lib/Antd5/splitter/hooks/useResize.js +138 -0
- package/lib/Antd5/splitter/hooks/useSizes.js +109 -0
- package/lib/Antd5/splitter/index.js +5 -0
- package/lib/Antd5/splitter/interface.js +1 -0
- package/lib/Antd5/splitter/style/index.js +219 -0
- package/lib/Antd5/statistic/style/index.js +1 -1
- package/lib/Antd5/steps/style/custom-icon.js +1 -1
- package/lib/Antd5/steps/style/index.js +11 -8
- package/lib/Antd5/steps/style/inline.js +5 -4
- package/lib/Antd5/steps/style/progress-dot.js +2 -2
- package/lib/Antd5/steps/style/small.js +3 -3
- package/lib/Antd5/steps/style/vertical.js +2 -2
- package/lib/Antd5/style/index.js +37 -13
- package/lib/Antd5/style/motion/slide.js +6 -5
- package/lib/Antd5/style/placementArrow.js +15 -6
- package/lib/Antd5/switch/style/index.js +1 -1
- package/lib/Antd5/table/Column.js +2 -3
- package/lib/Antd5/table/ColumnGroup.js +2 -3
- package/lib/Antd5/table/ExpandIcon.js +6 -6
- package/lib/Antd5/table/InternalTable.js +6 -6
- package/lib/Antd5/table/RcTable/VirtualTable.js +3 -2
- package/lib/Antd5/table/RcTable/index.js +3 -2
- package/lib/Antd5/table/hooks/useFilter/FilterDropdown.js +82 -61
- package/lib/Antd5/table/hooks/useFilter/FilterSearch.js +7 -7
- package/lib/Antd5/table/hooks/useFilter/index.js +28 -26
- package/lib/Antd5/table/hooks/useLazyKVMap.js +5 -5
- package/lib/Antd5/table/hooks/useSelection.js +21 -11
- package/lib/Antd5/table/hooks/useSorter.js +66 -42
- package/lib/Antd5/table/hooks/useTitleColumns.js +9 -7
- package/lib/Antd5/table/interface.js +1 -1
- package/lib/Antd5/table/style/bordered.js +5 -3
- package/lib/Antd5/table/style/expand.js +44 -38
- package/lib/Antd5/table/style/filter.js +1 -1
- package/lib/Antd5/table/style/index.js +26 -21
- package/lib/Antd5/table/style/selection.js +3 -1
- package/lib/Antd5/table/style/sorter.js +3 -1
- package/lib/Antd5/table/style/virtual.js +2 -2
- package/lib/Antd5/table/util.js +9 -8
- package/lib/Antd5/tabs/style/index.js +2 -2
- package/lib/Antd5/tag/style/index.js +2 -2
- package/lib/Antd5/theme/index.js +12 -5
- package/lib/Antd5/theme/interface/cssinjs-utils.js +1 -0
- package/lib/Antd5/theme/internal.js +10 -5
- package/lib/Antd5/theme/themes/dark/colors.js +3 -0
- package/lib/Antd5/theme/themes/dark/index.js +1 -0
- package/lib/Antd5/theme/themes/default/colors.js +3 -0
- package/lib/Antd5/theme/themes/default/index.js +6 -2
- package/lib/Antd5/theme/themes/seed.js +5 -2
- package/lib/Antd5/theme/themes/shared/genColorMapToken.js +2 -0
- package/lib/Antd5/theme/themes/shared/genFontSizes.js +1 -1
- package/lib/Antd5/theme/useToken.js +2 -1
- package/lib/Antd5/theme/util/alias.js +1 -1
- package/lib/Antd5/theme/util/genStyleUtils.js +61 -0
- package/lib/Antd5/time-picker/index.js +15 -2
- package/lib/Antd5/time-picker/locale/az_AZ.js +2 -1
- package/lib/Antd5/time-picker/locale/it_IT.js +2 -1
- package/lib/Antd5/time-picker/locale/uk_UA.js +2 -1
- package/lib/Antd5/timeline/TimelineItemList.js +0 -1
- package/lib/Antd5/timeline/style/index.js +1 -1
- package/lib/Antd5/tooltip/index.js +3 -2
- package/lib/Antd5/tooltip/style/index.js +3 -1
- package/lib/Antd5/tooltip/util.js +0 -1
- package/lib/Antd5/tour/panelRender.js +7 -13
- package/lib/Antd5/tour/style/index.js +6 -13
- package/lib/Antd5/transfer/ListItem.js +3 -3
- package/lib/Antd5/transfer/hooks/useData.js +1 -1
- package/lib/Antd5/transfer/hooks/useSelection.js +26 -21
- package/lib/Antd5/transfer/style/index.js +12 -22
- package/lib/Antd5/tree/Tree.js +2 -0
- package/lib/Antd5/tree/style/directory.js +39 -0
- package/lib/Antd5/tree/style/index.js +115 -166
- package/lib/Antd5/tree/utils/dropIndicator.js +3 -2
- package/lib/Antd5/tree/utils/iconUtil.js +5 -1
- package/lib/Antd5/tree-select/index.js +47 -43
- package/lib/Antd5/typography/Base/CopyBtn.js +17 -17
- package/lib/Antd5/typography/Base/Ellipsis.js +48 -40
- package/lib/Antd5/typography/Base/index.js +20 -60
- package/lib/Antd5/typography/Base/util.js +31 -1
- package/lib/Antd5/typography/Editable.js +11 -10
- package/lib/Antd5/typography/Title.js +1 -6
- package/lib/Antd5/typography/Typography.js +2 -6
- package/lib/Antd5/typography/hooks/useCopyClick.js +3 -2
- package/lib/Antd5/typography/hooks/usePrevious.js +1 -1
- package/lib/Antd5/typography/hooks/useTooltipProps.js +30 -0
- package/lib/Antd5/typography/style/mixins.js +3 -9
- package/lib/Antd5/version/version.js +1 -1
- package/lib/Antd5/watermark/context.js +1 -1
- package/lib/Antd5/watermark/index.js +35 -18
- package/lib/Antd5/watermark/useClips.js +2 -1
- package/lib/Antd5/watermark/useRafDebounce.js +1 -1
- package/lib/Antd5/watermark/utils.js +1 -1
- package/lib/AppHolder/index.js +2 -1
- package/lib/CWSelect/index.js +39 -1
- package/lib/CWSelect/index.style.js +39 -0
- package/lib/CWTree/index.js +3 -9
- package/lib/CWTree/index.style.js +2 -0
- package/lib/ConfigProvider/ConfigProvider.js +11 -10
- package/lib/ConfigProvider/customTheme.js +6 -0
- package/lib/ConfigProvider/theme/common.js +140 -0
- package/lib/ConfigProvider/theme/dark.js +2 -0
- package/lib/ConfigProvider/theme/default.js +122 -0
- package/lib/ConfigProvider/theme/utils.js +49 -0
- package/lib/Header/UserSetting/TenantTree.js +0 -1
- package/lib/Pagination/index.style.js +1 -1
- package/lib/QuickTransfer/index.js +45 -59
- package/lib/SiderMenu/index.style.js +4 -2
- package/lib/Slider/index.style.js +2 -1
- package/lib/Splitter/index.js +2 -0
- package/package.json +37 -35
- package/lib/Antd5/color-picker/components/PanelPicker.js +0 -53
- package/lib/Antd5/color-picker/hooks/useColorState.js +0 -53
- package/lib/Antd5/layout/style/light.js +0 -24
- package/lib/Antd5/style/operationUnit.js +0 -18
- package/lib/Antd5/theme/util/calc/CSSCalculator.js +0 -119
- package/lib/Antd5/theme/util/calc/NumCalculator.js +0 -81
- package/lib/Antd5/theme/util/calc/calculator.js +0 -10
- package/lib/Antd5/theme/util/calc/index.js +0 -9
- package/lib/Antd5/theme/util/genComponentStyleHook.js +0 -243
- package/lib/Antd5/theme/util/maxmin.js +0 -27
- package/lib/Antd5/theme/util/statistic.js +0 -74
- package/lib/Antd5/typography/hooks/useUpdatedEffect.js +0 -13
- package/lib/Antd5/version/token-meta.json +0 -1
- package/lib/Antd5/version/token.json +0 -1
- package/lib/ConfigProvider/customTheme.json +0 -163
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
|
|
6
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
7
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
10
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
13
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
+
/* eslint-disable react/no-array-index-key */
|
|
15
|
+
import React, { useState } from 'react';
|
|
16
|
+
import classNames from 'classnames';
|
|
17
|
+
import ResizeObserver from 'rc-resize-observer';
|
|
18
|
+
import useEvent from 'rc-util/lib/hooks/useEvent';
|
|
19
|
+
import { devUseWarning } from '../_util/warning';
|
|
20
|
+
import { ConfigContext } from '../config-provider';
|
|
21
|
+
import useCSSVarCls from '../config-provider/hooks/useCSSVarCls';
|
|
22
|
+
import useItems from './hooks/useItems';
|
|
23
|
+
import useResizable from './hooks/useResizable';
|
|
24
|
+
import useResize from './hooks/useResize';
|
|
25
|
+
import useSizes from './hooks/useSizes';
|
|
26
|
+
import { InternalPanel } from './Panel';
|
|
27
|
+
import SplitBar from './SplitBar';
|
|
28
|
+
import useStyle from './style';
|
|
29
|
+
var Splitter = function Splitter(props) {
|
|
30
|
+
var customizePrefixCls = props.prefixCls,
|
|
31
|
+
className = props.className,
|
|
32
|
+
style = props.style,
|
|
33
|
+
_props$layout = props.layout,
|
|
34
|
+
layout = _props$layout === void 0 ? 'horizontal' : _props$layout,
|
|
35
|
+
children = props.children,
|
|
36
|
+
rootClassName = props.rootClassName,
|
|
37
|
+
onResizeStart = props.onResizeStart,
|
|
38
|
+
onResize = props.onResize,
|
|
39
|
+
onResizeEnd = props.onResizeEnd;
|
|
40
|
+
var _React$useContext = React.useContext(ConfigContext),
|
|
41
|
+
getPrefixCls = _React$useContext.getPrefixCls,
|
|
42
|
+
direction = _React$useContext.direction,
|
|
43
|
+
splitter = _React$useContext.splitter;
|
|
44
|
+
var prefixCls = getPrefixCls('splitter', customizePrefixCls);
|
|
45
|
+
var rootCls = useCSSVarCls(prefixCls);
|
|
46
|
+
var _useStyle = useStyle(prefixCls, rootCls),
|
|
47
|
+
_useStyle2 = _slicedToArray(_useStyle, 3),
|
|
48
|
+
wrapCSSVar = _useStyle2[0],
|
|
49
|
+
hashId = _useStyle2[1],
|
|
50
|
+
cssVarCls = _useStyle2[2];
|
|
51
|
+
// ======================== Direct ========================
|
|
52
|
+
var isVertical = layout === 'vertical';
|
|
53
|
+
var isRTL = direction === 'rtl';
|
|
54
|
+
var reverse = !isVertical && isRTL;
|
|
55
|
+
// ====================== Items Data ======================
|
|
56
|
+
var items = useItems(children);
|
|
57
|
+
// >>> Warning for uncontrolled
|
|
58
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
59
|
+
var warning = devUseWarning('Splitter');
|
|
60
|
+
var existSize = false;
|
|
61
|
+
var existUndefinedSize = false;
|
|
62
|
+
items.forEach(function (item) {
|
|
63
|
+
if (item.size !== undefined) {
|
|
64
|
+
existSize = true;
|
|
65
|
+
} else {
|
|
66
|
+
existUndefinedSize = true;
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
if (existSize && existUndefinedSize && !onResize) {
|
|
70
|
+
warning(false, 'usage', 'When part of `Splitter.Panel` has `size`, `onResize` is required or change `size` to `defaultSize`.');
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// ====================== Container =======================
|
|
74
|
+
var _useState = useState(),
|
|
75
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
76
|
+
containerSize = _useState2[0],
|
|
77
|
+
setContainerSize = _useState2[1];
|
|
78
|
+
var onContainerResize = function onContainerResize(size) {
|
|
79
|
+
var offsetWidth = size.offsetWidth,
|
|
80
|
+
offsetHeight = size.offsetHeight;
|
|
81
|
+
var containerSize = isVertical ? offsetHeight : offsetWidth;
|
|
82
|
+
// Skip when container has no size, Such as nested in a hidden tab panel
|
|
83
|
+
// to fix: https://github.com/ant-design/ant-design/issues/51106
|
|
84
|
+
if (containerSize === 0) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
setContainerSize(containerSize);
|
|
88
|
+
};
|
|
89
|
+
// ========================= Size =========================
|
|
90
|
+
var _useSizes = useSizes(items, containerSize),
|
|
91
|
+
_useSizes2 = _slicedToArray(_useSizes, 6),
|
|
92
|
+
panelSizes = _useSizes2[0],
|
|
93
|
+
itemPxSizes = _useSizes2[1],
|
|
94
|
+
itemPtgSizes = _useSizes2[2],
|
|
95
|
+
itemPtgMinSizes = _useSizes2[3],
|
|
96
|
+
itemPtgMaxSizes = _useSizes2[4],
|
|
97
|
+
updateSizes = _useSizes2[5];
|
|
98
|
+
// ====================== Resizable =======================
|
|
99
|
+
var resizableInfos = useResizable(items, itemPxSizes);
|
|
100
|
+
var _useResize = useResize(items, resizableInfos, itemPtgSizes, containerSize, updateSizes),
|
|
101
|
+
_useResize2 = _slicedToArray(_useResize, 5),
|
|
102
|
+
onOffsetStart = _useResize2[0],
|
|
103
|
+
onOffsetUpdate = _useResize2[1],
|
|
104
|
+
onOffsetEnd = _useResize2[2],
|
|
105
|
+
onCollapse = _useResize2[3],
|
|
106
|
+
movingIndex = _useResize2[4];
|
|
107
|
+
// ======================== Events ========================
|
|
108
|
+
var onInternalResizeStart = useEvent(function (index) {
|
|
109
|
+
onOffsetStart(index);
|
|
110
|
+
onResizeStart === null || onResizeStart === void 0 || onResizeStart(itemPxSizes);
|
|
111
|
+
});
|
|
112
|
+
var onInternalResizeUpdate = useEvent(function (index, offset) {
|
|
113
|
+
var nextSizes = onOffsetUpdate(index, offset);
|
|
114
|
+
onResize === null || onResize === void 0 || onResize(nextSizes);
|
|
115
|
+
});
|
|
116
|
+
var onInternalResizeEnd = useEvent(function () {
|
|
117
|
+
onOffsetEnd();
|
|
118
|
+
onResizeEnd === null || onResizeEnd === void 0 || onResizeEnd(itemPxSizes);
|
|
119
|
+
});
|
|
120
|
+
var onInternalCollapse = useEvent(function (index, type) {
|
|
121
|
+
var nextSizes = onCollapse(index, type);
|
|
122
|
+
onResize === null || onResize === void 0 || onResize(nextSizes);
|
|
123
|
+
onResizeEnd === null || onResizeEnd === void 0 || onResizeEnd(nextSizes);
|
|
124
|
+
});
|
|
125
|
+
// ======================== Styles ========================
|
|
126
|
+
var containerClassName = classNames(prefixCls, className, "".concat(prefixCls, "-").concat(layout), _defineProperty({}, "".concat(prefixCls, "-rtl"), isRTL), rootClassName, splitter === null || splitter === void 0 ? void 0 : splitter.className, cssVarCls, rootCls, hashId);
|
|
127
|
+
// ======================== Render ========================
|
|
128
|
+
var maskCls = "".concat(prefixCls, "-mask");
|
|
129
|
+
var stackSizes = React.useMemo(function () {
|
|
130
|
+
var mergedSizes = [];
|
|
131
|
+
var stack = 0;
|
|
132
|
+
for (var i = 0; i < items.length; i += 1) {
|
|
133
|
+
stack += itemPtgSizes[i];
|
|
134
|
+
mergedSizes.push(stack);
|
|
135
|
+
}
|
|
136
|
+
return mergedSizes;
|
|
137
|
+
}, [itemPtgSizes]);
|
|
138
|
+
var mergedStyle = _objectSpread(_objectSpread({}, splitter === null || splitter === void 0 ? void 0 : splitter.style), style);
|
|
139
|
+
return wrapCSSVar(_jsx(ResizeObserver, {
|
|
140
|
+
onResize: onContainerResize,
|
|
141
|
+
children: _jsxs("div", {
|
|
142
|
+
style: mergedStyle,
|
|
143
|
+
className: containerClassName,
|
|
144
|
+
children: [items.map(function (item, idx) {
|
|
145
|
+
// Panel
|
|
146
|
+
var panel = _jsx(InternalPanel, _objectSpread(_objectSpread({}, item), {}, {
|
|
147
|
+
prefixCls: prefixCls,
|
|
148
|
+
size: panelSizes[idx]
|
|
149
|
+
}));
|
|
150
|
+
// Split Bar
|
|
151
|
+
var splitBar = null;
|
|
152
|
+
var resizableInfo = resizableInfos[idx];
|
|
153
|
+
if (resizableInfo) {
|
|
154
|
+
var ariaMinStart = (stackSizes[idx - 1] || 0) + itemPtgMinSizes[idx];
|
|
155
|
+
var ariaMinEnd = (stackSizes[idx + 1] || 100) - itemPtgMaxSizes[idx + 1];
|
|
156
|
+
var ariaMaxStart = (stackSizes[idx - 1] || 0) + itemPtgMaxSizes[idx];
|
|
157
|
+
var ariaMaxEnd = (stackSizes[idx + 1] || 100) - itemPtgMinSizes[idx + 1];
|
|
158
|
+
splitBar = _jsx(SplitBar, {
|
|
159
|
+
index: idx,
|
|
160
|
+
active: movingIndex === idx,
|
|
161
|
+
prefixCls: prefixCls,
|
|
162
|
+
vertical: isVertical,
|
|
163
|
+
resizable: resizableInfo.resizable,
|
|
164
|
+
ariaNow: stackSizes[idx] * 100,
|
|
165
|
+
ariaMin: Math.max(ariaMinStart, ariaMinEnd) * 100,
|
|
166
|
+
ariaMax: Math.min(ariaMaxStart, ariaMaxEnd) * 100,
|
|
167
|
+
startCollapsible: resizableInfo.startCollapsible,
|
|
168
|
+
endCollapsible: resizableInfo.endCollapsible,
|
|
169
|
+
onOffsetStart: onInternalResizeStart,
|
|
170
|
+
onOffsetUpdate: function onOffsetUpdate(index, offsetX, offsetY) {
|
|
171
|
+
var offset = isVertical ? offsetY : offsetX;
|
|
172
|
+
if (reverse) {
|
|
173
|
+
offset = -offset;
|
|
174
|
+
}
|
|
175
|
+
onInternalResizeUpdate(index, offset);
|
|
176
|
+
},
|
|
177
|
+
onOffsetEnd: onInternalResizeEnd,
|
|
178
|
+
onCollapse: onInternalCollapse
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
return _jsxs(React.Fragment, {
|
|
182
|
+
children: [panel, splitBar]
|
|
183
|
+
}, "split-panel-".concat(idx));
|
|
184
|
+
}), typeof movingIndex === 'number' && _jsx("div", {
|
|
185
|
+
"aria-hidden": true,
|
|
186
|
+
className: classNames(maskCls, "".concat(maskCls, "-").concat(layout))
|
|
187
|
+
})]
|
|
188
|
+
})
|
|
189
|
+
}));
|
|
190
|
+
};
|
|
191
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
192
|
+
Splitter.displayName = 'Splitter';
|
|
193
|
+
}
|
|
194
|
+
export default Splitter;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
var _excluded = ["style", "noStyle", "disabled", "tabIndex"];
|
|
1
|
+
var _excluded = ["collapsible"];
|
|
3
2
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
4
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -7,57 +6,32 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
7
6
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
7
|
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
9
8
|
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Wrap of sub component which need use as Button capacity (like Icon component).
|
|
13
|
-
*
|
|
14
|
-
* This helps accessibility reader to tread as a interactive button to operation.
|
|
15
|
-
*/
|
|
9
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
16
10
|
import * as React from 'react';
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
padding: 0,
|
|
22
|
-
lineHeight: 'inherit',
|
|
23
|
-
display: 'inline-block'
|
|
24
|
-
};
|
|
25
|
-
var TransButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
26
|
-
var onKeyDown = function onKeyDown(event) {
|
|
27
|
-
var keyCode = event.keyCode;
|
|
28
|
-
if (keyCode === KeyCode.ENTER) {
|
|
29
|
-
event.preventDefault();
|
|
30
|
-
}
|
|
31
|
-
};
|
|
32
|
-
var onKeyUp = function onKeyUp(event) {
|
|
33
|
-
var keyCode = event.keyCode;
|
|
34
|
-
var onClick = props.onClick;
|
|
35
|
-
if (keyCode === KeyCode.ENTER && onClick) {
|
|
36
|
-
onClick();
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
var style = props.style,
|
|
40
|
-
noStyle = props.noStyle,
|
|
41
|
-
disabled = props.disabled,
|
|
42
|
-
_props$tabIndex = props.tabIndex,
|
|
43
|
-
tabIndex = _props$tabIndex === void 0 ? 0 : _props$tabIndex,
|
|
44
|
-
restProps = _objectWithoutProperties(props, _excluded);
|
|
45
|
-
var mergedStyle = {};
|
|
46
|
-
if (!noStyle) {
|
|
47
|
-
mergedStyle = _objectSpread({}, inlineStyle);
|
|
48
|
-
}
|
|
49
|
-
if (disabled) {
|
|
50
|
-
mergedStyle.pointerEvents = 'none';
|
|
11
|
+
import toArray from 'rc-util/lib/Children/toArray';
|
|
12
|
+
function getCollapsible(collapsible) {
|
|
13
|
+
if (collapsible && _typeof(collapsible) === 'object') {
|
|
14
|
+
return collapsible;
|
|
51
15
|
}
|
|
52
|
-
|
|
53
|
-
return
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
16
|
+
var mergedCollapsible = !!collapsible;
|
|
17
|
+
return {
|
|
18
|
+
start: mergedCollapsible,
|
|
19
|
+
end: mergedCollapsible
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Convert `children` into `items`.
|
|
24
|
+
*/
|
|
25
|
+
export default function useItems(children) {
|
|
26
|
+
var items = React.useMemo(function () {
|
|
27
|
+
return toArray(children).filter(React.isValidElement).map(function (node) {
|
|
28
|
+
var props = node.props;
|
|
29
|
+
var collapsible = props.collapsible,
|
|
30
|
+
restProps = _objectWithoutProperties(props, _excluded);
|
|
31
|
+
return _objectSpread(_objectSpread({}, restProps), {}, {
|
|
32
|
+
collapsible: getCollapsible(collapsible)
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}, [children]);
|
|
36
|
+
return items;
|
|
37
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export default function useResizable(items, pxSizes) {
|
|
3
|
+
return React.useMemo(function () {
|
|
4
|
+
var resizeInfos = [];
|
|
5
|
+
for (var i = 0; i < items.length - 1; i += 1) {
|
|
6
|
+
var prevItem = items[i];
|
|
7
|
+
var nextItem = items[i + 1];
|
|
8
|
+
var prevSize = pxSizes[i];
|
|
9
|
+
var nextSize = pxSizes[i + 1];
|
|
10
|
+
var _prevItem$resizable = prevItem.resizable,
|
|
11
|
+
prevResizable = _prevItem$resizable === void 0 ? true : _prevItem$resizable,
|
|
12
|
+
prevMin = prevItem.min,
|
|
13
|
+
prevCollapsible = prevItem.collapsible;
|
|
14
|
+
var _nextItem$resizable = nextItem.resizable,
|
|
15
|
+
nextResizable = _nextItem$resizable === void 0 ? true : _nextItem$resizable,
|
|
16
|
+
nextMin = nextItem.min,
|
|
17
|
+
nextCollapsible = nextItem.collapsible;
|
|
18
|
+
var mergedResizable =
|
|
19
|
+
// Both need to be resizable
|
|
20
|
+
prevResizable && nextResizable && (
|
|
21
|
+
// Prev is not collapsed and limit min size
|
|
22
|
+
prevSize !== 0 || !prevMin) && (
|
|
23
|
+
// Next is not collapsed and limit min size
|
|
24
|
+
nextSize !== 0 || !nextMin);
|
|
25
|
+
var startCollapsible =
|
|
26
|
+
// Self is collapsible
|
|
27
|
+
prevCollapsible.end && prevSize > 0 ||
|
|
28
|
+
// Collapsed and can be collapsed
|
|
29
|
+
nextCollapsible.start && nextSize === 0 && prevSize > 0;
|
|
30
|
+
var endCollapsible =
|
|
31
|
+
// Self is collapsible
|
|
32
|
+
nextCollapsible.start && nextSize > 0 ||
|
|
33
|
+
// Collapsed and can be collapsed
|
|
34
|
+
prevCollapsible.end && prevSize === 0 && nextSize > 0;
|
|
35
|
+
resizeInfos[i] = {
|
|
36
|
+
resizable: mergedResizable,
|
|
37
|
+
startCollapsible: !!startCollapsible,
|
|
38
|
+
endCollapsible: !!endCollapsible
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return resizeInfos;
|
|
42
|
+
}, [pxSizes, items]);
|
|
43
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
4
|
+
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
|
|
5
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
6
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
8
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
9
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
11
|
+
import * as React from 'react';
|
|
12
|
+
import { getPtg } from './useSizes';
|
|
13
|
+
/**
|
|
14
|
+
* Handle user drag resize logic.
|
|
15
|
+
*/
|
|
16
|
+
export default function useResize(items, resizableInfos, percentSizes, containerSize, updateSizes) {
|
|
17
|
+
var limitSizes = items.map(function (item) {
|
|
18
|
+
return [item.min, item.max];
|
|
19
|
+
});
|
|
20
|
+
var mergedContainerSize = containerSize || 0;
|
|
21
|
+
var ptg2px = function ptg2px(ptg) {
|
|
22
|
+
return ptg * mergedContainerSize;
|
|
23
|
+
};
|
|
24
|
+
// ======================== Resize ========================
|
|
25
|
+
function getLimitSize(str, defaultLimit) {
|
|
26
|
+
if (typeof str === 'string') {
|
|
27
|
+
return ptg2px(getPtg(str));
|
|
28
|
+
}
|
|
29
|
+
return str !== null && str !== void 0 ? str : defaultLimit;
|
|
30
|
+
}
|
|
31
|
+
// Real px sizes
|
|
32
|
+
var _React$useState = React.useState([]),
|
|
33
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
34
|
+
cacheSizes = _React$useState2[0],
|
|
35
|
+
setCacheSizes = _React$useState2[1];
|
|
36
|
+
/**
|
|
37
|
+
* When start drag, check the direct is `start` or `end`.
|
|
38
|
+
* This will handle when 2 splitter bar are in the same position.
|
|
39
|
+
*/
|
|
40
|
+
var _React$useState3 = React.useState(null),
|
|
41
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
42
|
+
movingIndex = _React$useState4[0],
|
|
43
|
+
setMovingIndex = _React$useState4[1];
|
|
44
|
+
var getPxSizes = function getPxSizes() {
|
|
45
|
+
return percentSizes.map(ptg2px);
|
|
46
|
+
};
|
|
47
|
+
var onOffsetStart = function onOffsetStart(index) {
|
|
48
|
+
setCacheSizes(getPxSizes());
|
|
49
|
+
setMovingIndex({
|
|
50
|
+
index: index,
|
|
51
|
+
confirmed: false
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
var onOffsetUpdate = function onOffsetUpdate(index, offset) {
|
|
55
|
+
var _ref, _confirmedIndex;
|
|
56
|
+
// First time trigger move index update is not sync in the state
|
|
57
|
+
var confirmedIndex = null;
|
|
58
|
+
// We need to know what the real index is.
|
|
59
|
+
if ((!movingIndex || !movingIndex.confirmed) && offset !== 0) {
|
|
60
|
+
// Search for the real index
|
|
61
|
+
if (offset > 0) {
|
|
62
|
+
confirmedIndex = index;
|
|
63
|
+
setMovingIndex({
|
|
64
|
+
index: index,
|
|
65
|
+
confirmed: true
|
|
66
|
+
});
|
|
67
|
+
} else {
|
|
68
|
+
for (var i = index; i >= 0; i -= 1) {
|
|
69
|
+
if (cacheSizes[i] > 0 && resizableInfos[i].resizable) {
|
|
70
|
+
confirmedIndex = i;
|
|
71
|
+
setMovingIndex({
|
|
72
|
+
index: i,
|
|
73
|
+
confirmed: true
|
|
74
|
+
});
|
|
75
|
+
break;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
var mergedIndex = (_ref = (_confirmedIndex = confirmedIndex) !== null && _confirmedIndex !== void 0 ? _confirmedIndex : movingIndex === null || movingIndex === void 0 ? void 0 : movingIndex.index) !== null && _ref !== void 0 ? _ref : index;
|
|
81
|
+
var numSizes = _toConsumableArray(cacheSizes);
|
|
82
|
+
var nextIndex = mergedIndex + 1;
|
|
83
|
+
// Get boundary
|
|
84
|
+
var startMinSize = getLimitSize(limitSizes[mergedIndex][0], 0);
|
|
85
|
+
var endMinSize = getLimitSize(limitSizes[nextIndex][0], 0);
|
|
86
|
+
var startMaxSize = getLimitSize(limitSizes[mergedIndex][1], mergedContainerSize);
|
|
87
|
+
var endMaxSize = getLimitSize(limitSizes[nextIndex][1], mergedContainerSize);
|
|
88
|
+
var mergedOffset = offset;
|
|
89
|
+
// Align with the boundary
|
|
90
|
+
if (numSizes[mergedIndex] + mergedOffset < startMinSize) {
|
|
91
|
+
mergedOffset = startMinSize - numSizes[mergedIndex];
|
|
92
|
+
}
|
|
93
|
+
if (numSizes[nextIndex] - mergedOffset < endMinSize) {
|
|
94
|
+
mergedOffset = numSizes[nextIndex] - endMinSize;
|
|
95
|
+
}
|
|
96
|
+
if (numSizes[mergedIndex] + mergedOffset > startMaxSize) {
|
|
97
|
+
mergedOffset = startMaxSize - numSizes[mergedIndex];
|
|
98
|
+
}
|
|
99
|
+
if (numSizes[nextIndex] - mergedOffset > endMaxSize) {
|
|
100
|
+
mergedOffset = numSizes[nextIndex] - endMaxSize;
|
|
101
|
+
}
|
|
102
|
+
// Do offset
|
|
103
|
+
numSizes[mergedIndex] += mergedOffset;
|
|
104
|
+
numSizes[nextIndex] -= mergedOffset;
|
|
105
|
+
updateSizes(numSizes);
|
|
106
|
+
return numSizes;
|
|
107
|
+
};
|
|
108
|
+
var onOffsetEnd = function onOffsetEnd() {
|
|
109
|
+
setMovingIndex(null);
|
|
110
|
+
};
|
|
111
|
+
// ======================= Collapse =======================
|
|
112
|
+
var onCollapse = function onCollapse(index, type) {
|
|
113
|
+
var currentSizes = getPxSizes();
|
|
114
|
+
var currentIndex = type === 'start' ? index : index + 1;
|
|
115
|
+
var targetIndex = type === 'start' ? index + 1 : index;
|
|
116
|
+
var currentSize = currentSizes[currentIndex];
|
|
117
|
+
var targetSize = currentSizes[targetIndex];
|
|
118
|
+
if (currentSize !== 0 && targetSize !== 0) {
|
|
119
|
+
// Collapse directly
|
|
120
|
+
currentSizes[currentIndex] = 0;
|
|
121
|
+
currentSizes[targetIndex] += currentSize;
|
|
122
|
+
} else {
|
|
123
|
+
var totalSize = currentSize + targetSize;
|
|
124
|
+
var currentSizeMin = getLimitSize(limitSizes[currentIndex][0], 0);
|
|
125
|
+
var currentSizeMax = getLimitSize(limitSizes[currentIndex][1], mergedContainerSize);
|
|
126
|
+
var targetSizeMin = getLimitSize(limitSizes[targetIndex][0], 0);
|
|
127
|
+
var targetSizeMax = getLimitSize(limitSizes[targetIndex][1], mergedContainerSize);
|
|
128
|
+
var limitStart = Math.max(currentSizeMin, totalSize - targetSizeMax);
|
|
129
|
+
var limitEnd = Math.min(currentSizeMax, totalSize - targetSizeMin);
|
|
130
|
+
var halfOffset = (limitEnd - limitStart) / 2;
|
|
131
|
+
currentSizes[currentIndex] -= halfOffset;
|
|
132
|
+
currentSizes[targetIndex] += halfOffset;
|
|
133
|
+
}
|
|
134
|
+
updateSizes(currentSizes);
|
|
135
|
+
return currentSizes;
|
|
136
|
+
};
|
|
137
|
+
return [onOffsetStart, onOffsetUpdate, onOffsetEnd, onCollapse, movingIndex === null || movingIndex === void 0 ? void 0 : movingIndex.index];
|
|
138
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
4
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
7
|
+
import React from 'react';
|
|
8
|
+
export function getPtg(str) {
|
|
9
|
+
return Number(str.slice(0, -1)) / 100;
|
|
10
|
+
}
|
|
11
|
+
function isPtg(itemSize) {
|
|
12
|
+
return typeof itemSize === 'string' && itemSize.endsWith('%');
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Save the size state.
|
|
16
|
+
* Align the size into flex percentage base.
|
|
17
|
+
*/
|
|
18
|
+
export default function useSizes(items, containerSize) {
|
|
19
|
+
var propSizes = items.map(function (item) {
|
|
20
|
+
return item.size;
|
|
21
|
+
});
|
|
22
|
+
var itemsCount = items.length;
|
|
23
|
+
var mergedContainerSize = containerSize || 0;
|
|
24
|
+
var ptg2px = function ptg2px(ptg) {
|
|
25
|
+
return ptg * mergedContainerSize;
|
|
26
|
+
};
|
|
27
|
+
// We do not need care the size state match the `items` length in `useState`.
|
|
28
|
+
// It will calculate later.
|
|
29
|
+
var _React$useState = React.useState(function () {
|
|
30
|
+
return items.map(function (item) {
|
|
31
|
+
return item.defaultSize;
|
|
32
|
+
});
|
|
33
|
+
}),
|
|
34
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
35
|
+
innerSizes = _React$useState2[0],
|
|
36
|
+
setInnerSizes = _React$useState2[1];
|
|
37
|
+
var sizes = React.useMemo(function () {
|
|
38
|
+
var mergedSizes = [];
|
|
39
|
+
for (var i = 0; i < itemsCount; i += 1) {
|
|
40
|
+
var _propSizes$i;
|
|
41
|
+
mergedSizes[i] = (_propSizes$i = propSizes[i]) !== null && _propSizes$i !== void 0 ? _propSizes$i : innerSizes[i];
|
|
42
|
+
}
|
|
43
|
+
return mergedSizes;
|
|
44
|
+
}, [itemsCount, innerSizes, propSizes]);
|
|
45
|
+
// Post handle the size. Will do:
|
|
46
|
+
// 1. Convert all the px into percentage if not empty.
|
|
47
|
+
// 2. Get rest percentage for exist percentage.
|
|
48
|
+
// 3. Fill the rest percentage into empty item.
|
|
49
|
+
var postPercentSizes = React.useMemo(function () {
|
|
50
|
+
var ptgList = [];
|
|
51
|
+
var emptyCount = 0;
|
|
52
|
+
// Fill default percentage
|
|
53
|
+
for (var i = 0; i < itemsCount; i += 1) {
|
|
54
|
+
var itemSize = sizes[i];
|
|
55
|
+
if (isPtg(itemSize)) {
|
|
56
|
+
ptgList[i] = getPtg(itemSize);
|
|
57
|
+
} else if (itemSize || itemSize === 0) {
|
|
58
|
+
var num = Number(itemSize);
|
|
59
|
+
if (!Number.isNaN(num)) {
|
|
60
|
+
ptgList[i] = num / mergedContainerSize;
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
emptyCount += 1;
|
|
64
|
+
ptgList[i] = undefined;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
var totalPtg = ptgList.reduce(function (acc, ptg) {
|
|
68
|
+
return acc + (ptg || 0);
|
|
69
|
+
}, 0);
|
|
70
|
+
if (totalPtg > 1 || !emptyCount) {
|
|
71
|
+
// If total percentage is larger than 1, we will scale it down.
|
|
72
|
+
var scale = 1 / totalPtg;
|
|
73
|
+
ptgList = ptgList.map(function (ptg) {
|
|
74
|
+
return ptg === undefined ? 0 : ptg * scale;
|
|
75
|
+
});
|
|
76
|
+
} else {
|
|
77
|
+
// If total percentage is smaller than 1, we will fill the rest.
|
|
78
|
+
var avgRest = (1 - totalPtg) / emptyCount;
|
|
79
|
+
ptgList = ptgList.map(function (ptg) {
|
|
80
|
+
return ptg === undefined ? avgRest : ptg;
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return ptgList;
|
|
84
|
+
}, [sizes, mergedContainerSize]);
|
|
85
|
+
var postPxSizes = React.useMemo(function () {
|
|
86
|
+
return postPercentSizes.map(ptg2px);
|
|
87
|
+
}, [postPercentSizes, mergedContainerSize]);
|
|
88
|
+
var postPercentMinSizes = React.useMemo(function () {
|
|
89
|
+
return items.map(function (item) {
|
|
90
|
+
if (isPtg(item.min)) {
|
|
91
|
+
return getPtg(item.min);
|
|
92
|
+
}
|
|
93
|
+
return (item.min || 0) / mergedContainerSize;
|
|
94
|
+
});
|
|
95
|
+
}, [items, mergedContainerSize]);
|
|
96
|
+
var postPercentMaxSizes = React.useMemo(function () {
|
|
97
|
+
return items.map(function (item) {
|
|
98
|
+
if (isPtg(item.max)) {
|
|
99
|
+
return getPtg(item.max);
|
|
100
|
+
}
|
|
101
|
+
return (item.max || mergedContainerSize) / mergedContainerSize;
|
|
102
|
+
});
|
|
103
|
+
}, [items, mergedContainerSize]);
|
|
104
|
+
// If ssr, we will use the size from developer config first.
|
|
105
|
+
var panelSizes = React.useMemo(function () {
|
|
106
|
+
return containerSize ? postPxSizes : sizes;
|
|
107
|
+
}, [postPxSizes, containerSize]);
|
|
108
|
+
return [panelSizes, postPxSizes, postPercentSizes, postPercentMinSizes, postPercentMaxSizes, setInnerSizes];
|
|
109
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|