@pinnacle0/web-ui 0.3.38 → 0.3.39
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/admin/AdminApp/Default/NavigatorSide/index.d.ts +20 -0
- package/admin/AdminApp/Default/NavigatorSide/index.js +74 -0
- package/admin/AdminApp/Default/NavigatorSide/index.js.map +1 -0
- package/{src/admin → admin}/AdminApp/Default/NavigatorSide/index.less +0 -0
- package/admin/AdminApp/Default/SoundSwitch.d.ts +14 -0
- package/admin/AdminApp/Default/SoundSwitch.js +41 -0
- package/admin/AdminApp/Default/SoundSwitch.js.map +1 -0
- package/admin/AdminApp/Default/SquareLogo/index.d.ts +15 -0
- package/admin/AdminApp/Default/SquareLogo/index.js +39 -0
- package/admin/AdminApp/Default/SquareLogo/index.js.map +1 -0
- package/{src/admin → admin}/AdminApp/Default/SquareLogo/index.less +0 -0
- package/admin/AdminApp/Menu.d.ts +52 -0
- package/admin/AdminApp/Menu.js +174 -0
- package/admin/AdminApp/Menu.js.map +1 -0
- package/admin/AdminApp/Navigator.d.ts +30 -0
- package/admin/AdminApp/Navigator.js +200 -0
- package/admin/AdminApp/Navigator.js.map +1 -0
- package/admin/AdminApp/NotFound.d.ts +10 -0
- package/admin/AdminApp/NotFound.js +37 -0
- package/admin/AdminApp/NotFound.js.map +1 -0
- package/admin/AdminApp/RouteSwitch.d.ts +19 -0
- package/admin/AdminApp/RouteSwitch.js +64 -0
- package/admin/AdminApp/RouteSwitch.js.map +1 -0
- package/admin/AdminApp/WithErrorBoundary.d.ts +15 -0
- package/admin/AdminApp/WithErrorBoundary.js +39 -0
- package/admin/AdminApp/WithErrorBoundary.js.map +1 -0
- package/{src/admin → admin}/AdminApp/asset/alert.mp3 +0 -0
- package/admin/AdminApp/context.d.ts +7 -0
- package/admin/AdminApp/context.js +7 -0
- package/admin/AdminApp/context.js.map +1 -0
- package/admin/AdminApp/index.d.ts +39 -0
- package/admin/AdminApp/index.js +76 -0
- package/admin/AdminApp/index.js.map +1 -0
- package/{src/admin → admin}/AdminApp/index.less +0 -0
- package/admin/AdminPage/Filter.d.ts +23 -0
- package/admin/AdminPage/Filter.js +60 -0
- package/admin/AdminPage/Filter.js.map +1 -0
- package/admin/AdminPage/Result.d.ts +19 -0
- package/admin/AdminPage/Result.js +43 -0
- package/admin/AdminPage/Result.js.map +1 -0
- package/admin/AdminPage/SaveBar.d.ts +10 -0
- package/admin/AdminPage/SaveBar.js +37 -0
- package/admin/AdminPage/SaveBar.js.map +1 -0
- package/admin/AdminPage/Summary.d.ts +9 -0
- package/admin/AdminPage/Summary.js +30 -0
- package/admin/AdminPage/Summary.js.map +1 -0
- package/admin/AdminPage/TopBar.d.ts +9 -0
- package/admin/AdminPage/TopBar.js +30 -0
- package/admin/AdminPage/TopBar.js.map +1 -0
- package/admin/AdminPage/index.d.ts +21 -0
- package/admin/AdminPage/index.js +42 -0
- package/admin/AdminPage/index.js.map +1 -0
- package/{src/admin → admin}/AdminPage/index.less +0 -0
- package/admin/AdminPermissionSelector.d.ts +45 -0
- package/admin/AdminPermissionSelector.js +213 -0
- package/admin/AdminPermissionSelector.js.map +1 -0
- package/admin/RichEditor/index.d.ts +34 -0
- package/admin/RichEditor/index.js +104 -0
- package/admin/RichEditor/index.js.map +1 -0
- package/{src/admin → admin}/RichEditor/index.less +0 -0
- package/core/Amount/AmountPercentage.d.ts +19 -0
- package/core/Amount/AmountPercentage.js +54 -0
- package/core/Amount/AmountPercentage.js.map +1 -0
- package/core/Amount/index.d.ts +26 -0
- package/core/Amount/index.js +65 -0
- package/core/Amount/index.js.map +1 -0
- package/{src/core → core}/Amount/index.less +0 -0
- package/core/AmountConditionInput.d.ts +28 -0
- package/core/AmountConditionInput.js +66 -0
- package/core/AmountConditionInput.js.map +1 -0
- package/core/AmountRangeInput.d.ts +23 -0
- package/core/AmountRangeInput.js +59 -0
- package/core/AmountRangeInput.js.map +1 -0
- package/core/AuthenticationCodeInput.d.ts +25 -0
- package/core/AuthenticationCodeInput.js +149 -0
- package/core/AuthenticationCodeInput.js.map +1 -0
- package/core/AutoCompleteInput.d.ts +10 -0
- package/core/AutoCompleteInput.js +43 -0
- package/core/AutoCompleteInput.js.map +1 -0
- package/core/Badge/index.d.ts +10 -0
- package/core/Badge/index.js +43 -0
- package/core/Badge/index.js.map +1 -0
- package/{src/core → core}/Badge/index.less +0 -0
- package/core/BoolRadio.d.ts +20 -0
- package/core/BoolRadio.js +49 -0
- package/core/BoolRadio.js.map +1 -0
- package/core/BoolSelect.d.ts +19 -0
- package/core/BoolSelect.js +48 -0
- package/core/BoolSelect.js.map +1 -0
- package/core/BoolSwitch.d.ts +17 -0
- package/core/BoolSwitch.js +56 -0
- package/core/BoolSwitch.js.map +1 -0
- package/core/Breadcrumb/index.d.ts +17 -0
- package/core/Breadcrumb/index.js +45 -0
- package/core/Breadcrumb/index.js.map +1 -0
- package/{src/core → core}/Breadcrumb/index.less +0 -0
- package/core/Button/index.d.ts +37 -0
- package/core/Button/index.js +60 -0
- package/core/Button/index.js.map +1 -0
- package/{src/core → core}/Button/index.less +0 -0
- package/core/Card.d.ts +10 -0
- package/core/Card.js +43 -0
- package/core/Card.js.map +1 -0
- package/core/Carousel.d.ts +11 -0
- package/core/Carousel.js +54 -0
- package/core/Carousel.js.map +1 -0
- package/core/Carousel3D/index.d.ts +27 -0
- package/core/Carousel3D/index.js +116 -0
- package/core/Carousel3D/index.js.map +1 -0
- package/{src/core → core}/Carousel3D/index.less +0 -0
- package/core/Cascader/InitialNullable.d.ts +10 -0
- package/core/Cascader/InitialNullable.js +54 -0
- package/core/Cascader/InitialNullable.js.map +1 -0
- package/core/Cascader/Nullable.d.ts +12 -0
- package/core/Cascader/Nullable.js +86 -0
- package/core/Cascader/Nullable.js.map +1 -0
- package/core/Cascader/index.d.ts +37 -0
- package/core/Cascader/index.js +117 -0
- package/core/Cascader/index.js.map +1 -0
- package/{src/core → core}/Cascader/index.less +0 -0
- package/core/Checkbox/index.d.ts +15 -0
- package/core/Checkbox/index.js +47 -0
- package/core/Checkbox/index.js.map +1 -0
- package/{src/core → core}/Checkbox/index.less +0 -0
- package/core/Collapse.d.ts +12 -0
- package/core/Collapse.js +43 -0
- package/core/Collapse.js.map +1 -0
- package/core/Countdown/SlidingDigit.d.ts +15 -0
- package/core/Countdown/SlidingDigit.js +43 -0
- package/core/Countdown/SlidingDigit.js.map +1 -0
- package/core/Countdown/index.d.ts +39 -0
- package/core/Countdown/index.js +106 -0
- package/core/Countdown/index.js.map +1 -0
- package/{src/core → core}/Countdown/index.less +0 -0
- package/core/DarkOverlay/index.d.ts +12 -0
- package/core/DarkOverlay/index.js +32 -0
- package/core/DarkOverlay/index.js.map +1 -0
- package/{src/core → core}/DarkOverlay/index.less +0 -0
- package/core/DateCalendar.d.ts +18 -0
- package/core/DateCalendar.js +85 -0
- package/core/DateCalendar.js.map +1 -0
- package/core/DatePicker/index.d.ts +18 -0
- package/core/DatePicker/index.js +53 -0
- package/core/DatePicker/index.js.map +1 -0
- package/{src/core → core}/DatePicker/index.less +0 -0
- package/core/DateRangePicker/index.d.ts +18 -0
- package/core/DateRangePicker/index.js +59 -0
- package/core/DateRangePicker/index.js.map +1 -0
- package/{src/core → core}/DateRangePicker/index.less +0 -0
- package/core/DateTimePicker/index.d.ts +19 -0
- package/core/DateTimePicker/index.js +59 -0
- package/core/DateTimePicker/index.js.map +1 -0
- package/{src/core → core}/DateTimePicker/index.less +0 -0
- package/core/DateTimeRangePicker/index.d.ts +20 -0
- package/core/DateTimeRangePicker/index.js +59 -0
- package/core/DateTimeRangePicker/index.js.map +1 -0
- package/{src/core → core}/DateTimeRangePicker/index.less +0 -0
- package/core/Descriptions/index.d.ts +27 -0
- package/core/Descriptions/index.js +51 -0
- package/core/Descriptions/index.js.map +1 -0
- package/{src/core → core}/Descriptions/index.less +0 -0
- package/core/DocumentTitle.d.ts +28 -0
- package/core/DocumentTitle.js +53 -0
- package/core/DocumentTitle.js.map +1 -0
- package/core/Drawer.d.ts +9 -0
- package/core/Drawer.js +41 -0
- package/core/Drawer.js.map +1 -0
- package/core/Dropdown.d.ts +9 -0
- package/core/Dropdown.js +10 -0
- package/core/Dropdown.js.map +1 -0
- package/core/EnumCheckboxGroup/Map.d.ts +10 -0
- package/core/EnumCheckboxGroup/Map.js +55 -0
- package/core/EnumCheckboxGroup/Map.js.map +1 -0
- package/core/EnumCheckboxGroup/index.d.ts +12 -0
- package/core/EnumCheckboxGroup/index.js +36 -0
- package/core/EnumCheckboxGroup/index.js.map +1 -0
- package/core/EnumRadio/InitialNullable.d.ts +11 -0
- package/core/EnumRadio/InitialNullable.js +56 -0
- package/core/EnumRadio/InitialNullable.js.map +1 -0
- package/core/EnumRadio/Map.d.ts +10 -0
- package/core/EnumRadio/Map.js +55 -0
- package/core/EnumRadio/Map.js.map +1 -0
- package/core/EnumRadio/Nullable.d.ts +12 -0
- package/core/EnumRadio/Nullable.js +88 -0
- package/core/EnumRadio/Nullable.js.map +1 -0
- package/core/EnumRadio/index.d.ts +24 -0
- package/core/EnumRadio/index.js +45 -0
- package/core/EnumRadio/index.js.map +1 -0
- package/core/EnumSelect/InitialNullable.d.ts +10 -0
- package/core/EnumSelect/InitialNullable.js +54 -0
- package/core/EnumSelect/InitialNullable.js.map +1 -0
- package/core/EnumSelect/Map.d.ts +10 -0
- package/core/EnumSelect/Map.js +55 -0
- package/core/EnumSelect/Map.js.map +1 -0
- package/core/EnumSelect/Nullable.d.ts +12 -0
- package/core/EnumSelect/Nullable.js +88 -0
- package/core/EnumSelect/Nullable.js.map +1 -0
- package/core/EnumSelect/index.d.ts +29 -0
- package/core/EnumSelect/index.js +61 -0
- package/core/EnumSelect/index.js.map +1 -0
- package/{src/core → core}/EnumSelect/index.less +0 -0
- package/core/FlatList/VirtualFlatList/Item.d.ts +11 -0
- package/core/FlatList/VirtualFlatList/Item.js +20 -0
- package/core/FlatList/VirtualFlatList/Item.js.map +1 -0
- package/core/FlatList/VirtualFlatList/index.d.ts +7 -0
- package/core/FlatList/VirtualFlatList/index.js +110 -0
- package/core/FlatList/VirtualFlatList/index.js.map +1 -0
- package/{src/core → core}/FlatList/VirtualFlatList/index.less +0 -0
- package/core/FlatList/VirtualFlatList/type.d.ts +20 -0
- package/core/FlatList/VirtualFlatList/type.js +2 -0
- package/core/FlatList/VirtualFlatList/type.js.map +1 -0
- package/core/FlatList/index.d.ts +3 -0
- package/core/FlatList/index.js +60 -0
- package/core/FlatList/index.js.map +1 -0
- package/core/FlatList/shared/Footer/index.d.ts +8 -0
- package/core/FlatList/shared/Footer/index.js +13 -0
- package/core/FlatList/shared/Footer/index.js.map +1 -0
- package/{src/core → core}/FlatList/shared/Footer/index.less +0 -0
- package/core/FlatList/shared/GetRowKey.d.ts +2 -0
- package/core/FlatList/shared/GetRowKey.js +12 -0
- package/core/FlatList/shared/GetRowKey.js.map +1 -0
- package/core/FlatList/shared/Spinner/index.d.ts +8 -0
- package/core/FlatList/shared/Spinner/index.js +10 -0
- package/core/FlatList/shared/Spinner/index.js.map +1 -0
- package/{src/core → core}/FlatList/shared/Spinner/index.less +0 -0
- package/core/FlatList/shared/Wrapper/Loading.d.ts +8 -0
- package/core/FlatList/shared/Wrapper/Loading.js +7 -0
- package/core/FlatList/shared/Wrapper/Loading.js.map +1 -0
- package/core/FlatList/shared/Wrapper/index.d.ts +14 -0
- package/core/FlatList/shared/Wrapper/index.js +109 -0
- package/core/FlatList/shared/Wrapper/index.js.map +1 -0
- package/{src/core → core}/FlatList/shared/Wrapper/index.less +0 -0
- package/core/FlatList/shared/hooks/useBounceSwipe.d.ts +22 -0
- package/core/FlatList/shared/hooks/useBounceSwipe.js +111 -0
- package/core/FlatList/shared/hooks/useBounceSwipe.js.map +1 -0
- package/core/FlatList/shared/hooks/useElementScrollState.d.ts +8 -0
- package/core/FlatList/shared/hooks/useElementScrollState.js +38 -0
- package/core/FlatList/shared/hooks/useElementScrollState.js.map +1 -0
- package/core/FlatList/shared/hooks/useLoadingWithDelay.d.ts +9 -0
- package/core/FlatList/shared/hooks/useLoadingWithDelay.js +52 -0
- package/core/FlatList/shared/hooks/useLoadingWithDelay.js.map +1 -0
- package/core/FlatList/type.d.ts +48 -0
- package/core/FlatList/type.js +2 -0
- package/core/FlatList/type.js.map +1 -0
- package/core/Foldable/index.d.ts +18 -0
- package/core/Foldable/index.js +41 -0
- package/core/Foldable/index.js.map +1 -0
- package/{src/core → core}/Foldable/index.less +0 -0
- package/core/Form/Item.d.ts +29 -0
- package/core/Form/Item.js +106 -0
- package/core/Form/Item.js.map +1 -0
- package/core/Form/context.d.ts +14 -0
- package/core/Form/context.js +7 -0
- package/core/Form/context.js.map +1 -0
- package/core/Form/index.d.ts +36 -0
- package/core/Form/index.js +143 -0
- package/core/Form/index.js.map +1 -0
- package/{src/core → core}/Form/index.less +0 -0
- package/core/Grid.d.ts +6 -0
- package/core/Grid.js +7 -0
- package/core/Grid.js.map +1 -0
- package/core/HTMLContent/index.d.ts +11 -0
- package/core/HTMLContent/index.js +32 -0
- package/core/HTMLContent/index.js.map +1 -0
- package/{src/core → core}/HTMLContent/index.less +0 -0
- package/core/ImageUploader/index.d.ts +24 -0
- package/core/ImageUploader/index.js +148 -0
- package/core/ImageUploader/index.js.map +1 -0
- package/{src/core → core}/ImageUploader/index.less +0 -0
- package/core/Input/index.d.ts +39 -0
- package/core/Input/index.js +88 -0
- package/core/Input/index.js.map +1 -0
- package/{src/core → core}/Input/index.less +0 -0
- package/core/LabelledSelect.d.ts +11 -0
- package/core/LabelledSelect.js +42 -0
- package/core/LabelledSelect.js.map +1 -0
- package/core/Link.d.ts +15 -0
- package/core/Link.js +48 -0
- package/core/Link.js.map +1 -0
- package/core/LocalImporter.d.ts +21 -0
- package/core/LocalImporter.js +93 -0
- package/core/LocalImporter.js.map +1 -0
- package/core/LocaleProvider.d.ts +12 -0
- package/core/LocaleProvider.js +38 -0
- package/core/LocaleProvider.js.map +1 -0
- package/core/LocaleSelect.d.ts +11 -0
- package/core/LocaleSelect.js +45 -0
- package/core/LocaleSelect.js.map +1 -0
- package/core/Markdown/index.d.ts +20 -0
- package/core/Markdown/index.js +40 -0
- package/core/Markdown/index.js.map +1 -0
- package/{src/core → core}/Markdown/index.less +0 -0
- package/core/Modal/index.d.ts +16 -0
- package/core/Modal/index.js +67 -0
- package/core/Modal/index.js.map +1 -0
- package/{src/core → core}/Modal/index.less +0 -0
- package/core/MultipleCascader/index.d.ts +31 -0
- package/core/MultipleCascader/index.js +151 -0
- package/core/MultipleCascader/index.js.map +1 -0
- package/{src/core → core}/MultipleCascader/index.less +0 -0
- package/core/MultipleEnumSelect.d.ts +17 -0
- package/core/MultipleEnumSelect.js +40 -0
- package/core/MultipleEnumSelect.js.map +1 -0
- package/core/MultipleSelector/TablePopover.d.ts +20 -0
- package/core/MultipleSelector/TablePopover.js +95 -0
- package/core/MultipleSelector/TablePopover.js.map +1 -0
- package/core/MultipleSelector/index.d.ts +33 -0
- package/core/MultipleSelector/index.js +103 -0
- package/core/MultipleSelector/index.js.map +1 -0
- package/core/MutableTable/index.d.ts +44 -0
- package/core/MutableTable/index.js +139 -0
- package/core/MutableTable/index.js.map +1 -0
- package/{src/core → core}/MutableTable/index.less +0 -0
- package/core/NumberInput/NumberInputPercentage.d.ts +58 -0
- package/core/NumberInput/NumberInputPercentage.js +75 -0
- package/core/NumberInput/NumberInputPercentage.js.map +1 -0
- package/core/NumberInput/index.d.ts +70 -0
- package/core/NumberInput/index.js +130 -0
- package/core/NumberInput/index.js.map +1 -0
- package/{src/core → core}/NumberInput/index.less +0 -0
- package/core/NumberInput/util.d.ts +34 -0
- package/core/NumberInput/util.js +57 -0
- package/core/NumberInput/util.js.map +1 -0
- package/core/OverflowableText/index.d.ts +22 -0
- package/core/OverflowableText/index.js +64 -0
- package/core/OverflowableText/index.js.map +1 -0
- package/{src/core → core}/OverflowableText/index.less +0 -0
- package/core/PagedList/index.d.ts +27 -0
- package/core/PagedList/index.js +81 -0
- package/core/PagedList/index.js.map +1 -0
- package/{src/core → core}/PagedList/index.less +0 -0
- package/core/Pagination/index.d.ts +21 -0
- package/core/Pagination/index.js +51 -0
- package/core/Pagination/index.js.map +1 -0
- package/{src/core → core}/Pagination/index.less +0 -0
- package/core/Popover/index.d.ts +11 -0
- package/core/Popover/index.js +43 -0
- package/core/Popover/index.js.map +1 -0
- package/{src/core → core}/Popover/index.less +0 -0
- package/core/Progress.d.ts +10 -0
- package/core/Progress.js +42 -0
- package/core/Progress.js.map +1 -0
- package/core/Radio/index.d.ts +13 -0
- package/core/Radio/index.js +45 -0
- package/core/Radio/index.js.map +1 -0
- package/{src/core → core}/Radio/index.less +0 -0
- package/core/RelativeTime.d.ts +18 -0
- package/core/RelativeTime.js +60 -0
- package/core/RelativeTime.js.map +1 -0
- package/core/ResizeObserver.d.ts +2 -0
- package/core/ResizeObserver.js +2 -0
- package/core/ResizeObserver.js.map +1 -0
- package/core/SearchableSelect.d.ts +15 -0
- package/core/SearchableSelect.js +42 -0
- package/core/SearchableSelect.js.map +1 -0
- package/core/Select/index.d.ts +16 -0
- package/core/Select/index.js +45 -0
- package/core/Select/index.js.map +1 -0
- package/{src/core → core}/Select/index.less +0 -0
- package/core/SignedAmountInput.d.ts +20 -0
- package/core/SignedAmountInput.js +56 -0
- package/core/SignedAmountInput.js.map +1 -0
- package/core/Skeleton.d.ts +9 -0
- package/core/Skeleton.js +42 -0
- package/core/Skeleton.js.map +1 -0
- package/core/Slider/RangeSlider.d.ts +11 -0
- package/core/Slider/RangeSlider.js +53 -0
- package/core/Slider/RangeSlider.js.map +1 -0
- package/core/Slider/index.d.ts +16 -0
- package/core/Slider/index.js +79 -0
- package/core/Slider/index.js.map +1 -0
- package/{src/core → core}/Slider/index.less +0 -0
- package/core/Space.d.ts +10 -0
- package/core/Space.js +42 -0
- package/core/Space.js.map +1 -0
- package/core/Spin.d.ts +12 -0
- package/core/Spin.js +55 -0
- package/core/Spin.js.map +1 -0
- package/core/StepFormContainer/index.d.ts +27 -0
- package/core/StepFormContainer/index.js +50 -0
- package/core/StepFormContainer/index.js.map +1 -0
- package/{src/core → core}/StepFormContainer/index.less +0 -0
- package/core/Steps/index.d.ts +11 -0
- package/core/Steps/index.js +44 -0
- package/core/Steps/index.js.map +1 -0
- package/{src/core → core}/Steps/index.less +0 -0
- package/core/Table/index.d.ts +89 -0
- package/core/Table/index.js +152 -0
- package/core/Table/index.js.map +1 -0
- package/{src/core → core}/Table/index.less +0 -0
- package/core/Tabs/Single.d.ts +11 -0
- package/core/Tabs/Single.js +54 -0
- package/core/Tabs/Single.js.map +1 -0
- package/core/Tabs/index.d.ts +30 -0
- package/core/Tabs/index.js +96 -0
- package/core/Tabs/index.js.map +1 -0
- package/{src/core → core}/Tabs/index.less +0 -0
- package/core/Tag.d.ts +11 -0
- package/core/Tag.js +42 -0
- package/core/Tag.js.map +1 -0
- package/core/TagInput/index.d.ts +27 -0
- package/core/TagInput/index.js +107 -0
- package/core/TagInput/index.js.map +1 -0
- package/{src/core → core}/TagInput/index.less +0 -0
- package/core/Tags.d.ts +17 -0
- package/core/Tags.js +38 -0
- package/core/Tags.js.map +1 -0
- package/core/TimePicker/index.d.ts +17 -0
- package/core/TimePicker/index.js +46 -0
- package/core/TimePicker/index.js.map +1 -0
- package/{src/core → core}/TimePicker/index.less +0 -0
- package/core/TimeRangePicker/index.d.ts +17 -0
- package/core/TimeRangePicker/index.js +45 -0
- package/core/TimeRangePicker/index.js.map +1 -0
- package/{src/core → core}/TimeRangePicker/index.less +0 -0
- package/core/Tooltip.d.ts +9 -0
- package/core/Tooltip.js +42 -0
- package/core/Tooltip.js.map +1 -0
- package/core/TypedTabs/index.d.ts +23 -0
- package/core/TypedTabs/index.js +76 -0
- package/core/TypedTabs/index.js.map +1 -0
- package/{src/core → core}/TypedTabs/index.less +0 -0
- package/core/Uploader.d.ts +34 -0
- package/core/Uploader.js +97 -0
- package/core/Uploader.js.map +1 -0
- package/core/VerticalMarquee/index.d.ts +19 -0
- package/core/VerticalMarquee/index.js +51 -0
- package/core/VerticalMarquee/index.js.map +1 -0
- package/{src/core → core}/VerticalMarquee/index.less +0 -0
- package/core/VirtualTable/TableHeader.d.ts +13 -0
- package/core/VirtualTable/TableHeader.js +45 -0
- package/core/VirtualTable/TableHeader.js.map +1 -0
- package/core/VirtualTable/TableRow.d.ts +21 -0
- package/core/VirtualTable/TableRow.js +59 -0
- package/core/VirtualTable/TableRow.js.map +1 -0
- package/core/VirtualTable/hooks/useColumnWidths.d.ts +11 -0
- package/core/VirtualTable/hooks/useColumnWidths.js +38 -0
- package/core/VirtualTable/hooks/useColumnWidths.js.map +1 -0
- package/core/VirtualTable/hooks/useDebounce.d.ts +1 -0
- package/core/VirtualTable/hooks/useDebounce.js +45 -0
- package/core/VirtualTable/hooks/useDebounce.js.map +1 -0
- package/core/VirtualTable/hooks/useLayout.d.ts +17 -0
- package/core/VirtualTable/hooks/useLayout.js +44 -0
- package/core/VirtualTable/hooks/useLayout.js.map +1 -0
- package/core/VirtualTable/hooks/useRowExpand.d.ts +7 -0
- package/core/VirtualTable/hooks/useRowExpand.js +20 -0
- package/core/VirtualTable/hooks/useRowExpand.js.map +1 -0
- package/core/VirtualTable/hooks/useRowSelection.d.ts +10 -0
- package/core/VirtualTable/hooks/useRowSelection.js +83 -0
- package/core/VirtualTable/hooks/useRowSelection.js.map +1 -0
- package/core/VirtualTable/hooks/useScrollBarSize.d.ts +5 -0
- package/core/VirtualTable/hooks/useScrollBarSize.js +36 -0
- package/core/VirtualTable/hooks/useScrollBarSize.js.map +1 -0
- package/core/VirtualTable/hooks/useScrollToEdge.d.ts +8 -0
- package/core/VirtualTable/hooks/useScrollToEdge.js +48 -0
- package/core/VirtualTable/hooks/useScrollToEdge.js.map +1 -0
- package/core/VirtualTable/hooks/useStickyPosition.d.ts +2 -0
- package/core/VirtualTable/hooks/useStickyPosition.js +24 -0
- package/core/VirtualTable/hooks/useStickyPosition.js.map +1 -0
- package/core/VirtualTable/hooks/useTransformColumn.d.ts +11 -0
- package/core/VirtualTable/hooks/useTransformColumn.js +9 -0
- package/core/VirtualTable/hooks/useTransformColumn.js.map +1 -0
- package/core/VirtualTable/index.d.ts +30 -0
- package/core/VirtualTable/index.js +85 -0
- package/core/VirtualTable/index.js.map +1 -0
- package/{src/core → core}/VirtualTable/index.less +0 -0
- package/core/VirtualTable/type.d.ts +57 -0
- package/core/VirtualTable/type.js +2 -0
- package/core/VirtualTable/type.js.map +1 -0
- package/core/WithExplanation/index.d.ts +21 -0
- package/core/WithExplanation/index.js +46 -0
- package/core/WithExplanation/index.js.map +1 -0
- package/{src/core → core}/WithExplanation/index.less +0 -0
- package/core/WithTooltipList.d.ts +23 -0
- package/core/WithTooltipList.js +64 -0
- package/core/WithTooltipList.js.map +1 -0
- package/core/YearMonthSelector.d.ts +16 -0
- package/core/YearMonthSelector.js +53 -0
- package/core/YearMonthSelector.js.map +1 -0
- package/{src/css → css}/global.less +0 -0
- package/{src/css → css}/variable.less +0 -0
- package/hooks/useOrientationMode.d.ts +2 -0
- package/hooks/useOrientationMode.js +30 -0
- package/hooks/useOrientationMode.js.map +1 -0
- package/hooks/useSwipe/controller.d.ts +20 -0
- package/hooks/useSwipe/controller.js +126 -0
- package/hooks/useSwipe/controller.js.map +1 -0
- package/hooks/useSwipe/index.d.ts +3 -0
- package/hooks/useSwipe/index.js +9 -0
- package/hooks/useSwipe/index.js.map +1 -0
- package/hooks/useSwipe/type.d.ts +38 -0
- package/hooks/useSwipe/type.js +8 -0
- package/hooks/useSwipe/type.js.map +1 -0
- package/hooks/useTransform.d.ts +18 -0
- package/hooks/useTransform.js +62 -0
- package/hooks/useTransform.js.map +1 -0
- package/internal/ArrayUtil.d.ts +29 -0
- package/internal/ArrayUtil.js +76 -0
- package/internal/ArrayUtil.js.map +1 -0
- package/internal/ExpirableLocalStorage.d.ts +123 -0
- package/internal/ExpirableLocalStorage.js +245 -0
- package/internal/ExpirableLocalStorage.js.map +1 -0
- package/internal/Memo.d.ts +9 -0
- package/internal/Memo.js +31 -0
- package/internal/Memo.js.map +1 -0
- package/internal/NumberUtil.d.ts +7 -0
- package/internal/NumberUtil.js +38 -0
- package/internal/NumberUtil.js.map +1 -0
- package/internal/StorageHelper.d.ts +31 -0
- package/internal/StorageHelper.js +152 -0
- package/internal/StorageHelper.js.map +1 -0
- package/internal/TextUtil.d.ts +5 -0
- package/internal/TextUtil.js +15 -0
- package/internal/TextUtil.js.map +1 -0
- package/internal/i18n/admin/en.d.ts +18 -0
- package/internal/i18n/admin/en.js +19 -0
- package/internal/i18n/admin/en.js.map +1 -0
- package/internal/i18n/admin/index.d.ts +18 -0
- package/internal/i18n/admin/index.js +11 -0
- package/internal/i18n/admin/index.js.map +1 -0
- package/internal/i18n/admin/zh.d.ts +18 -0
- package/internal/i18n/admin/zh.js +19 -0
- package/internal/i18n/admin/zh.js.map +1 -0
- package/internal/i18n/core/en.d.ts +37 -0
- package/internal/i18n/core/en.js +38 -0
- package/internal/i18n/core/en.js.map +1 -0
- package/internal/i18n/core/index.d.ts +37 -0
- package/internal/i18n/core/index.js +11 -0
- package/internal/i18n/core/index.js.map +1 -0
- package/internal/i18n/core/zh.d.ts +37 -0
- package/internal/i18n/core/zh.js +38 -0
- package/internal/i18n/core/zh.js.map +1 -0
- package/internal/i18n/util/en.d.ts +9 -0
- package/internal/i18n/util/en.js +10 -0
- package/internal/i18n/util/en.js.map +1 -0
- package/internal/i18n/util/index.d.ts +9 -0
- package/internal/i18n/util/index.js +11 -0
- package/internal/i18n/util/index.js.map +1 -0
- package/internal/i18n/util/zh.d.ts +9 -0
- package/internal/i18n/util/zh.js +10 -0
- package/internal/i18n/util/zh.js.map +1 -0
- package/internal/type.d.ts +15 -0
- package/internal/type.js +2 -0
- package/internal/type.js.map +1 -0
- package/package.json +1 -1
- package/util/AdminNavigatorBase.d.ts +64 -0
- package/util/AdminNavigatorBase.js +101 -0
- package/util/AdminNavigatorBase.js.map +1 -0
- package/util/BrowserBookmarkUtil.d.ts +5 -0
- package/util/BrowserBookmarkUtil.js +25 -0
- package/util/BrowserBookmarkUtil.js.map +1 -0
- package/util/BrowserUtil.d.ts +31 -0
- package/util/BrowserUtil.js +154 -0
- package/util/BrowserUtil.js.map +1 -0
- package/util/CanvasUtil.d.ts +17 -0
- package/util/CanvasUtil.js +94 -0
- package/util/CanvasUtil.js.map +1 -0
- package/util/ClassNames.d.ts +2 -0
- package/util/ClassNames.js +3 -0
- package/util/ClassNames.js.map +1 -0
- package/util/Clipboard.d.ts +22 -0
- package/util/Clipboard.js +118 -0
- package/util/Clipboard.js.map +1 -0
- package/util/ExpirableLocalStorageUtil.d.ts +2 -0
- package/util/ExpirableLocalStorageUtil.js +3 -0
- package/util/ExpirableLocalStorageUtil.js.map +1 -0
- package/util/ExportUtil.d.ts +11 -0
- package/util/ExportUtil.js +28 -0
- package/util/ExportUtil.js.map +1 -0
- package/util/ImportUtil.d.ts +10 -0
- package/util/ImportUtil.js +94 -0
- package/util/ImportUtil.js.map +1 -0
- package/util/LocalStorageUtil.d.ts +2 -0
- package/util/LocalStorageUtil.js +3 -0
- package/util/LocalStorageUtil.js.map +1 -0
- package/util/LocaleUtil.d.ts +22 -0
- package/util/LocaleUtil.js +34 -0
- package/util/LocaleUtil.js.map +1 -0
- package/util/MediaUtil/index.d.ts +10 -0
- package/util/MediaUtil/index.js +60 -0
- package/util/MediaUtil/index.js.map +1 -0
- package/{src/util → util}/MediaUtil/index.less +0 -0
- package/util/MessageUtil/index.d.ts +15 -0
- package/util/MessageUtil/index.js +29 -0
- package/util/MessageUtil/index.js.map +1 -0
- package/{src/util → util}/MessageUtil/index.less +0 -0
- package/util/ModalUtil/index.d.ts +41 -0
- package/util/ModalUtil/index.js +145 -0
- package/util/ModalUtil/index.js.map +1 -0
- package/{src/util → util}/ModalUtil/index.less +0 -0
- package/util/NotificationUtil.d.ts +12 -0
- package/util/NotificationUtil.js +52 -0
- package/util/NotificationUtil.js.map +1 -0
- package/util/OrientationUtil.d.ts +20 -0
- package/util/OrientationUtil.js +50 -0
- package/util/OrientationUtil.js.map +1 -0
- package/util/PromptUtil/PromptBody.d.ts +18 -0
- package/util/PromptUtil/PromptBody.js +100 -0
- package/util/PromptUtil/PromptBody.js.map +1 -0
- package/util/PromptUtil/index.d.ts +19 -0
- package/util/PromptUtil/index.js +48 -0
- package/util/PromptUtil/index.js.map +1 -0
- package/{src/util → util}/PromptUtil/index.less +0 -0
- package/util/RecentUsedStorageUtil.d.ts +12 -0
- package/util/RecentUsedStorageUtil.js +45 -0
- package/util/RecentUsedStorageUtil.js.map +1 -0
- package/util/SessionStorageUtil.d.ts +2 -0
- package/util/SessionStorageUtil.js +3 -0
- package/util/SessionStorageUtil.js.map +1 -0
- package/util/SwipeUtil.d.ts +8 -0
- package/util/SwipeUtil.js +26 -0
- package/util/SwipeUtil.js.map +1 -0
- package/util/UploadUtil/index.d.ts +6 -0
- package/util/UploadUtil/index.js +61 -0
- package/util/UploadUtil/index.js.map +1 -0
- package/util/UploadUtil/type.d.ts +41 -0
- package/util/UploadUtil/type.js +2 -0
- package/util/UploadUtil/type.js.map +1 -0
- package/config/jest-stubs/style-stub.js +0 -13
- package/config/jest.config.ts +0 -57
- package/config/tsconfig.script.json +0 -12
- package/config/tsconfig.src.json +0 -15
- package/config/tsconfig.test.json +0 -20
- package/script/build.ts +0 -103
- package/script/format.ts +0 -7
- package/script/start-mobile.ts +0 -13
- package/script/start.ts +0 -31
- package/src/admin/AdminApp/Default/NavigatorSide/index.tsx +0 -68
- package/src/admin/AdminApp/Default/SoundSwitch.tsx +0 -32
- package/src/admin/AdminApp/Default/SquareLogo/index.tsx +0 -32
- package/src/admin/AdminApp/Menu.tsx +0 -154
- package/src/admin/AdminApp/Navigator.tsx +0 -186
- package/src/admin/AdminApp/NotFound.tsx +0 -24
- package/src/admin/AdminApp/RouteSwitch.tsx +0 -61
- package/src/admin/AdminApp/WithErrorBoundary.tsx +0 -36
- package/src/admin/AdminApp/context.ts +0 -13
- package/src/admin/AdminApp/index.tsx +0 -96
- package/src/admin/AdminPage/Filter.tsx +0 -76
- package/src/admin/AdminPage/Result.tsx +0 -41
- package/src/admin/AdminPage/SaveBar.tsx +0 -33
- package/src/admin/AdminPage/Summary.tsx +0 -15
- package/src/admin/AdminPage/TopBar.tsx +0 -15
- package/src/admin/AdminPage/index.tsx +0 -29
- package/src/admin/AdminPermissionSelector.tsx +0 -299
- package/src/admin/RichEditor/index.tsx +0 -123
- package/src/core/Amount/AmountPercentage.tsx +0 -27
- package/src/core/Amount/index.tsx +0 -71
- package/src/core/AmountConditionInput.tsx +0 -63
- package/src/core/AmountRangeInput.tsx +0 -66
- package/src/core/AuthenticationCodeInput.tsx +0 -85
- package/src/core/AutoCompleteInput.tsx +0 -16
- package/src/core/Badge/index.tsx +0 -15
- package/src/core/BoolRadio.tsx +0 -62
- package/src/core/BoolSelect.tsx +0 -50
- package/src/core/BoolSwitch.tsx +0 -37
- package/src/core/Breadcrumb/index.tsx +0 -46
- package/src/core/Button/index.tsx +0 -59
- package/src/core/Card.tsx +0 -16
- package/src/core/Carousel.tsx +0 -19
- package/src/core/Carousel3D/index.tsx +0 -150
- package/src/core/Cascader/InitialNullable.tsx +0 -20
- package/src/core/Cascader/Nullable.tsx +0 -28
- package/src/core/Cascader/index.tsx +0 -93
- package/src/core/Checkbox/index.tsx +0 -24
- package/src/core/Collapse.tsx +0 -19
- package/src/core/Countdown/SlidingDigit.tsx +0 -39
- package/src/core/Countdown/index.tsx +0 -125
- package/src/core/DarkOverlay/index.tsx +0 -24
- package/src/core/DateCalendar.tsx +0 -106
- package/src/core/DatePicker/index.tsx +0 -54
- package/src/core/DateRangePicker/index.tsx +0 -58
- package/src/core/DateTimePicker/index.tsx +0 -61
- package/src/core/DateTimeRangePicker/index.tsx +0 -60
- package/src/core/Descriptions/index.tsx +0 -45
- package/src/core/DocumentTitle.tsx +0 -58
- package/src/core/Drawer.tsx +0 -14
- package/src/core/Dropdown.tsx +0 -10
- package/src/core/EnumCheckboxGroup/Map.tsx +0 -21
- package/src/core/EnumCheckboxGroup/index.tsx +0 -23
- package/src/core/EnumRadio/InitialNullable.tsx +0 -24
- package/src/core/EnumRadio/Map.tsx +0 -21
- package/src/core/EnumRadio/Nullable.tsx +0 -31
- package/src/core/EnumRadio/index.tsx +0 -45
- package/src/core/EnumSelect/InitialNullable.tsx +0 -20
- package/src/core/EnumSelect/Map.tsx +0 -21
- package/src/core/EnumSelect/Nullable.tsx +0 -31
- package/src/core/EnumSelect/index.tsx +0 -74
- package/src/core/FlatList/VirtualFlatList/Item.tsx +0 -28
- package/src/core/FlatList/VirtualFlatList/index.tsx +0 -142
- package/src/core/FlatList/VirtualFlatList/type.ts +0 -26
- package/src/core/FlatList/index.tsx +0 -95
- package/src/core/FlatList/shared/Footer/index.tsx +0 -23
- package/src/core/FlatList/shared/GetRowKey.ts +0 -11
- package/src/core/FlatList/shared/Spinner/index.tsx +0 -18
- package/src/core/FlatList/shared/Wrapper/Loading.tsx +0 -17
- package/src/core/FlatList/shared/Wrapper/index.tsx +0 -123
- package/src/core/FlatList/shared/hooks/useBounceSwipe.ts +0 -120
- package/src/core/FlatList/shared/hooks/useElementScrollState.ts +0 -43
- package/src/core/FlatList/shared/hooks/useLoadingWithDelay.ts +0 -40
- package/src/core/FlatList/type.tsx +0 -56
- package/src/core/Foldable/index.tsx +0 -38
- package/src/core/Form/Item.tsx +0 -87
- package/src/core/Form/context.ts +0 -16
- package/src/core/Form/index.tsx +0 -109
- package/src/core/Grid.tsx +0 -7
- package/src/core/HTMLContent/index.tsx +0 -17
- package/src/core/ImageUploader/index.tsx +0 -104
- package/src/core/Input/index.tsx +0 -63
- package/src/core/LabelledSelect.tsx +0 -15
- package/src/core/Link.tsx +0 -57
- package/src/core/LocalImporter.tsx +0 -62
- package/src/core/LocaleProvider.tsx +0 -31
- package/src/core/LocaleSelect.tsx +0 -36
- package/src/core/Markdown/index.tsx +0 -42
- package/src/core/Modal/index.tsx +0 -37
- package/src/core/MultipleCascader/index.tsx +0 -114
- package/src/core/MultipleEnumSelect.tsx +0 -28
- package/src/core/MultipleSelector/TablePopover.tsx +0 -62
- package/src/core/MultipleSelector/index.tsx +0 -106
- package/src/core/MutableTable/index.tsx +0 -151
- package/src/core/NumberInput/NumberInputPercentage.tsx +0 -103
- package/src/core/NumberInput/index.tsx +0 -192
- package/src/core/NumberInput/util.ts +0 -55
- package/src/core/OverflowableText/index.tsx +0 -66
- package/src/core/PagedList/index.tsx +0 -93
- package/src/core/Pagination/index.tsx +0 -59
- package/src/core/Popover/index.tsx +0 -15
- package/src/core/Progress.tsx +0 -14
- package/src/core/Radio/index.tsx +0 -21
- package/src/core/RelativeTime.tsx +0 -59
- package/src/core/ResizeObserver.tsx +0 -2
- package/src/core/SearchableSelect.tsx +0 -17
- package/src/core/Select/index.tsx +0 -25
- package/src/core/SignedAmountInput.tsx +0 -59
- package/src/core/Skeleton.tsx +0 -14
- package/src/core/Slider/RangeSlider.tsx +0 -17
- package/src/core/Slider/index.tsx +0 -50
- package/src/core/Space.tsx +0 -14
- package/src/core/Spin.tsx +0 -25
- package/src/core/StepFormContainer/index.tsx +0 -66
- package/src/core/Steps/index.tsx +0 -17
- package/src/core/Table/index.tsx +0 -221
- package/src/core/Tabs/Single.tsx +0 -25
- package/src/core/Tabs/index.tsx +0 -82
- package/src/core/Tag.tsx +0 -17
- package/src/core/TagInput/index.tsx +0 -94
- package/src/core/Tags.tsx +0 -34
- package/src/core/TimePicker/index.tsx +0 -44
- package/src/core/TimeRangePicker/index.tsx +0 -42
- package/src/core/Tooltip.tsx +0 -17
- package/src/core/TypedTabs/index.tsx +0 -43
- package/src/core/Uploader.tsx +0 -118
- package/src/core/VerticalMarquee/index.tsx +0 -51
- package/src/core/VirtualTable/TableHeader.tsx +0 -41
- package/src/core/VirtualTable/TableRow.tsx +0 -90
- package/src/core/VirtualTable/hooks/useColumnWidths.ts +0 -24
- package/src/core/VirtualTable/hooks/useDebounce.ts +0 -18
- package/src/core/VirtualTable/hooks/useLayout.tsx +0 -58
- package/src/core/VirtualTable/hooks/useRowExpand.tsx +0 -27
- package/src/core/VirtualTable/hooks/useRowSelection.tsx +0 -72
- package/src/core/VirtualTable/hooks/useScrollBarSize.ts +0 -23
- package/src/core/VirtualTable/hooks/useScrollToEdge.ts +0 -36
- package/src/core/VirtualTable/hooks/useStickyPosition.ts +0 -28
- package/src/core/VirtualTable/hooks/useTransformColumn.ts +0 -19
- package/src/core/VirtualTable/index.tsx +0 -143
- package/src/core/VirtualTable/type.ts +0 -59
- package/src/core/WithExplanation/index.tsx +0 -47
- package/src/core/WithTooltipList.tsx +0 -89
- package/src/core/YearMonthSelector.tsx +0 -53
- package/src/hooks/useOrientationMode.ts +0 -18
- package/src/hooks/useSwipe/controller.ts +0 -133
- package/src/hooks/useSwipe/index.ts +0 -11
- package/src/hooks/useSwipe/type.ts +0 -45
- package/src/hooks/useTransform.ts +0 -78
- package/src/internal/ArrayUtil.ts +0 -53
- package/src/internal/ExpirableLocalStorage.ts +0 -262
- package/src/internal/Memo.ts +0 -28
- package/src/internal/NumberUtil.ts +0 -38
- package/src/internal/StorageHelper.ts +0 -152
- package/src/internal/TextUtil.ts +0 -11
- package/src/internal/i18n/admin/en.ts +0 -18
- package/src/internal/i18n/admin/index.ts +0 -13
- package/src/internal/i18n/admin/zh.ts +0 -18
- package/src/internal/i18n/core/en.ts +0 -37
- package/src/internal/i18n/core/index.ts +0 -13
- package/src/internal/i18n/core/zh.ts +0 -37
- package/src/internal/i18n/util/en.ts +0 -9
- package/src/internal/i18n/util/index.ts +0 -13
- package/src/internal/i18n/util/zh.ts +0 -9
- package/src/internal/type.ts +0 -12
- package/src/util/AdminNavigatorBase.ts +0 -99
- package/src/util/BrowserBookmarkUtil.ts +0 -24
- package/src/util/BrowserUtil.ts +0 -122
- package/src/util/CanvasUtil.ts +0 -61
- package/src/util/ClassNames.ts +0 -2
- package/src/util/Clipboard.ts +0 -61
- package/src/util/ExpirableLocalStorageUtil.ts +0 -3
- package/src/util/ExportUtil.ts +0 -34
- package/src/util/ImportUtil.ts +0 -41
- package/src/util/LocalStorageUtil.ts +0 -3
- package/src/util/LocaleUtil.ts +0 -47
- package/src/util/MediaUtil/index.tsx +0 -69
- package/src/util/MessageUtil/index.tsx +0 -23
- package/src/util/ModalUtil/index.tsx +0 -179
- package/src/util/NotificationUtil.tsx +0 -42
- package/src/util/OrientationUtil.ts +0 -51
- package/src/util/PromptUtil/PromptBody.tsx +0 -62
- package/src/util/PromptUtil/index.tsx +0 -50
- package/src/util/RecentUsedStorageUtil.ts +0 -46
- package/src/util/SessionStorageUtil.ts +0 -3
- package/src/util/SwipeUtil.ts +0 -25
- package/src/util/UploadUtil/index.ts +0 -73
- package/src/util/UploadUtil/type.ts +0 -46
- package/test/mobile-ui-test/package.json +0 -5
- package/test/mobile-ui-test/src/component/FlatListDemo/fetch.ts +0 -18
- package/test/mobile-ui-test/src/component/FlatListDemo/index.less +0 -22
- package/test/mobile-ui-test/src/component/FlatListDemo/index.tsx +0 -149
- package/test/mobile-ui-test/src/component/Main.tsx +0 -6
- package/test/mobile-ui-test/src/index.html +0 -12
- package/test/mobile-ui-test/src/index.less +0 -18
- package/test/mobile-ui-test/src/index.tsx +0 -6
- package/test/mobile-ui-test/static/robots.txt +0 -2
- package/test/mobile-ui-test/tsconfig.json +0 -4
- package/test/ui-test/package.json +0 -5
- package/test/ui-test/src/asset/logo.png +0 -0
- package/test/ui-test/src/component/DemoHelper/index.less +0 -33
- package/test/ui-test/src/component/DemoHelper/index.tsx +0 -55
- package/test/ui-test/src/component/Main.tsx +0 -33
- package/test/ui-test/src/component/WebUILogo.tsx +0 -7
- package/test/ui-test/src/component/WebUINavigatorSide.tsx +0 -20
- package/test/ui-test/src/component/admin/ConfigPageDemo.tsx +0 -39
- package/test/ui-test/src/component/admin/NavigationHistoryDemo.tsx +0 -30
- package/test/ui-test/src/component/admin/PermissionSelectorDemo.tsx +0 -65
- package/test/ui-test/src/component/admin/RenderErrorDemo.tsx +0 -5
- package/test/ui-test/src/component/admin/ResultPageDemo.tsx +0 -13
- package/test/ui-test/src/component/admin/RichEditorDemo.tsx +0 -20
- package/test/ui-test/src/component/admin/SeparateTabDetailDemo.tsx +0 -44
- package/test/ui-test/src/component/admin/TablePageDemo.tsx +0 -85
- package/test/ui-test/src/component/core/AmountDemo.tsx +0 -117
- package/test/ui-test/src/component/core/ButtonDemo/__tests__/__snapshots__/dom-snapshot.test.tsx.snap +0 -12
- package/test/ui-test/src/component/core/ButtonDemo/__tests__/dom-snapshot.test.tsx +0 -10
- package/test/ui-test/src/component/core/ButtonDemo/__tests__/smoke.test.tsx +0 -71
- package/test/ui-test/src/component/core/ButtonDemo/index.tsx +0 -39
- package/test/ui-test/src/component/core/CalendarDemo.tsx +0 -98
- package/test/ui-test/src/component/core/CarouselDemo/index.tsx +0 -51
- package/test/ui-test/src/component/core/CascaderDemo/index.tsx +0 -120
- package/test/ui-test/src/component/core/FoldableDemo.tsx +0 -31
- package/test/ui-test/src/component/core/FormDemo.tsx +0 -204
- package/test/ui-test/src/component/core/InputDemo/index.tsx +0 -123
- package/test/ui-test/src/component/core/MiscellaneousDemo/TagInputDemo.tsx +0 -8
- package/test/ui-test/src/component/core/MiscellaneousDemo/index.tsx +0 -157
- package/test/ui-test/src/component/core/ModalDemo/index.tsx +0 -75
- package/test/ui-test/src/component/core/OverflowableTextDemo.tsx +0 -78
- package/test/ui-test/src/component/core/RelativeTimeDemo.tsx +0 -35
- package/test/ui-test/src/component/core/SelectDemo/index.tsx +0 -141
- package/test/ui-test/src/component/core/SliderDemo.tsx +0 -44
- package/test/ui-test/src/component/core/StepContainerDemo.tsx +0 -53
- package/test/ui-test/src/component/core/TableDemo.tsx +0 -81
- package/test/ui-test/src/component/core/TabsDemo.tsx +0 -136
- package/test/ui-test/src/component/core/UploaderImporterDemo.tsx +0 -52
- package/test/ui-test/src/component/core/VirtualTableDemo.tsx +0 -232
- package/test/ui-test/src/dummy/dummyCallback.ts +0 -13
- package/test/ui-test/src/dummy/dummyList.ts +0 -63
- package/test/ui-test/src/dummy/dummyTableData.tsx +0 -60
- package/test/ui-test/src/dummy/dummyUpload.tsx +0 -43
- package/test/ui-test/src/index.html +0 -11
- package/test/ui-test/src/index.tsx +0 -5
- package/test/ui-test/src/type.ts +0 -8
- package/test/ui-test/src/util/NavigationService.tsx +0 -217
- package/test/ui-test/src/util/withUncontrolledInitialValue.tsx +0 -14
- package/test/ui-test/static/robots.txt +0 -2
- package/test/ui-test/tsconfig.json +0 -3
- package/test/unit-test/ClassNames.test.ts +0 -17
- package/test/unit-test/ExpirableLocalStorageUtil.test.ts +0 -42
- package/test/unit-test/NumberInput.util.test.ts +0 -344
- package/test/unit-test/NumberUtil.test.ts +0 -57
- package/test/unit-test/TextUtil.test.ts +0 -10
- package/tsconfig.json +0 -15
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
+
if (!m) return o;
|
|
4
|
+
var i = m.call(o), r, ar = [], e;
|
|
5
|
+
try {
|
|
6
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
+
}
|
|
8
|
+
catch (error) { e = { error: error }; }
|
|
9
|
+
finally {
|
|
10
|
+
try {
|
|
11
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
+
}
|
|
13
|
+
finally { if (e) throw e.error; }
|
|
14
|
+
}
|
|
15
|
+
return ar;
|
|
16
|
+
};
|
|
17
|
+
import React, { useEffect } from "react";
|
|
18
|
+
export var useScrollToEdge = function (scrollContentRef) {
|
|
19
|
+
var _a = __read(React.useState(false), 2), isScrollToLeft = _a[0], setIsScrollToLeft = _a[1];
|
|
20
|
+
var _b = __read(React.useState(false), 2), isScrollToRight = _b[0], setIsScrollToRight = _b[1];
|
|
21
|
+
var _c = __read(React.useState(false), 2), isScrollToTop = _c[0], setIsScrollToTop = _c[1];
|
|
22
|
+
var _d = __read(React.useState(false), 2), isScrollToBottom = _d[0], setIsScrollToBottom = _d[1];
|
|
23
|
+
var isScrollToEdge = React.useCallback(function () {
|
|
24
|
+
if (scrollContentRef.current) {
|
|
25
|
+
var _a = scrollContentRef.current, scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth, scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;
|
|
26
|
+
var isScrollLeft = scrollLeft <= 1;
|
|
27
|
+
var isScrollRight = scrollLeft >= scrollWidth - clientWidth;
|
|
28
|
+
var isScrollTop = scrollTop <= 1;
|
|
29
|
+
var isScrollBottom = scrollTop >= scrollHeight - clientHeight;
|
|
30
|
+
setIsScrollToLeft(isScrollLeft);
|
|
31
|
+
setIsScrollToRight(isScrollRight);
|
|
32
|
+
setIsScrollToTop(isScrollTop);
|
|
33
|
+
setIsScrollToBottom(isScrollBottom);
|
|
34
|
+
}
|
|
35
|
+
}, [scrollContentRef]);
|
|
36
|
+
// initialize
|
|
37
|
+
useEffect(function () {
|
|
38
|
+
isScrollToEdge();
|
|
39
|
+
}, [isScrollToEdge]);
|
|
40
|
+
return {
|
|
41
|
+
isScrollToEdge: isScrollToEdge,
|
|
42
|
+
isScrollToLeft: isScrollToLeft,
|
|
43
|
+
isScrollToRight: isScrollToRight,
|
|
44
|
+
isScrollToTop: isScrollToTop,
|
|
45
|
+
isScrollToBottom: isScrollToBottom,
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=useScrollToEdge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollToEdge.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useScrollToEdge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEvC,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,gBAA8C;IACpE,IAAA,KAAA,OAAsC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA1D,cAAc,QAAA,EAAE,iBAAiB,QAAyB,CAAC;IAC5D,IAAA,KAAA,OAAwC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA5D,eAAe,QAAA,EAAE,kBAAkB,QAAyB,CAAC;IAC9D,IAAA,KAAA,OAAoC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAAxD,aAAa,QAAA,EAAE,gBAAgB,QAAyB,CAAC;IAC1D,IAAA,KAAA,OAA0C,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAA,EAA9D,gBAAgB,QAAA,EAAE,mBAAmB,QAAyB,CAAC;IAEtE,IAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,gBAAgB,CAAC,OAAO,EAAE;YACpB,IAAA,KAAgF,gBAAgB,CAAC,OAAO,EAAvG,UAAU,gBAAA,EAAE,WAAW,iBAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,YAAY,kBAA4B,CAAC;YAC/G,IAAM,YAAY,GAAG,UAAU,IAAI,CAAC,CAAC;YACrC,IAAM,aAAa,GAAG,UAAU,IAAI,WAAW,GAAG,WAAW,CAAC;YAE9D,IAAM,WAAW,GAAG,SAAS,IAAI,CAAC,CAAC;YACnC,IAAM,cAAc,GAAG,SAAS,IAAI,YAAY,GAAG,YAAY,CAAC;YAChE,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAChC,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAClC,gBAAgB,CAAC,WAAW,CAAC,CAAC;YAC9B,mBAAmB,CAAC,cAAc,CAAC,CAAC;SACvC;IACL,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,aAAa;IACb,SAAS,CAAC;QACN,cAAc,EAAE,CAAC;IACrB,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,OAAO;QACH,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,eAAe,iBAAA;QACf,aAAa,eAAA;QACb,gBAAgB,kBAAA;KACnB,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ArrayUtil } from "../../../internal/ArrayUtil";
|
|
3
|
+
export var useStickyPosition = function (columns, columnWidths) {
|
|
4
|
+
return React.useMemo(function () {
|
|
5
|
+
var result = {};
|
|
6
|
+
var left = [];
|
|
7
|
+
var right = [];
|
|
8
|
+
var leftFixedCols = ArrayUtil.compactMap(columns, function (_, columnIndex) { return (_.fixed === "left" ? { columnIndex: columnIndex, width: columnWidths[columnIndex] } : null); });
|
|
9
|
+
// the right sticky value stack in reverse direction
|
|
10
|
+
var rightFixedCols = ArrayUtil.compactMap(columns, function (_, columnIndex) { return (_.fixed === "right" ? { columnIndex: columnIndex, width: columnWidths[columnIndex] } : null); }).reverse();
|
|
11
|
+
leftFixedCols.forEach(function (column, idx) {
|
|
12
|
+
var stackedPositionValue = left.reduce(function (acc, prev) { return acc + prev; }, 0);
|
|
13
|
+
left.push(column.width);
|
|
14
|
+
result[column.columnIndex] = { value: stackedPositionValue, isLast: idx === leftFixedCols.length - 1 };
|
|
15
|
+
});
|
|
16
|
+
rightFixedCols.forEach(function (column, idx) {
|
|
17
|
+
var stackedPositionValue = right.reduce(function (acc, prev) { return acc + prev; }, 0);
|
|
18
|
+
right.unshift(column.width);
|
|
19
|
+
result[column.columnIndex] = { value: stackedPositionValue, isLast: idx === rightFixedCols.length - 1 };
|
|
20
|
+
});
|
|
21
|
+
return result;
|
|
22
|
+
}, [columnWidths, columns]);
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=useStickyPosition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStickyPosition.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useStickyPosition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAGtD,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAyB,OAAsC,EAAE,YAAsB;IACpH,OAAO,KAAK,CAAC,OAAO,CAAC;QACjB,IAAM,MAAM,GAAmC,EAAE,CAAC;QAClD,IAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAC,CAAC,EAAE,WAAW,IAAK,OAAA,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,EAAC,WAAW,aAAA,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAA7E,CAA6E,CAAC,CAAC;QACvJ,oDAAoD;QACpD,IAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,UAAC,CAAC,EAAE,WAAW,IAAK,OAAA,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAC,WAAW,aAAA,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAA9E,CAA8E,CAAC,CAAC,OAAO,EAAE,CAAC;QAEnK,aAAa,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,GAAG;YAC9B,IAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QACzG,CAAC,CAAC,CAAC;QAEH,cAAc,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,GAAG;YAC/B,IAAM,oBAAoB,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,GAAG,EAAE,IAAI,IAAK,OAAA,GAAG,GAAG,IAAI,EAAV,CAAU,EAAE,CAAC,CAAC,CAAC;YACxE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,EAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,KAAK,cAAc,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;QAC1G,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC,EAAE,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type React from "react";
|
|
2
|
+
import type { VirtualTableColumn, VirtualTableRowExpand, VirtualTableRowSelection } from "../type";
|
|
3
|
+
interface Props<RowType extends object> {
|
|
4
|
+
columns: VirtualTableColumn<RowType>[];
|
|
5
|
+
dataSource: RowType[];
|
|
6
|
+
rowKey: "index" | React.Key;
|
|
7
|
+
rowSelection?: VirtualTableRowSelection<RowType>;
|
|
8
|
+
rowExpand?: VirtualTableRowExpand<RowType>;
|
|
9
|
+
}
|
|
10
|
+
export declare const useTransformColumn: <RowType extends object>({ columns, dataSource, rowKey, rowExpand, rowSelection }: Props<RowType>) => VirtualTableColumn<RowType>[];
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useRowExpand } from "./useRowExpand";
|
|
2
|
+
import { useRowSelection } from "./useRowSelection";
|
|
3
|
+
export var useTransformColumn = function (_a) {
|
|
4
|
+
var columns = _a.columns, dataSource = _a.dataSource, rowKey = _a.rowKey, rowExpand = _a.rowExpand, rowSelection = _a.rowSelection;
|
|
5
|
+
var columnsWithRowSelection = useRowSelection({ columns: columns, dataSource: dataSource, rowSelection: rowSelection, rowKey: rowKey });
|
|
6
|
+
var transformedColumns = useRowExpand({ columns: columnsWithRowSelection, rowExpand: rowExpand });
|
|
7
|
+
return transformedColumns;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=useTransformColumn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTransformColumn.js","sourceRoot":"","sources":["../../../../src/core/VirtualTable/hooks/useTransformColumn.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAWlD,MAAM,CAAC,IAAM,kBAAkB,GAAG,UAAkC,EAAsE;QAArE,OAAO,aAAA,EAAE,UAAU,gBAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,YAAY,kBAAA;IACrH,IAAM,uBAAuB,GAAG,eAAe,CAAC,EAAC,OAAO,SAAA,EAAE,UAAU,YAAA,EAAE,YAAY,cAAA,EAAE,MAAM,QAAA,EAAC,CAAC,CAAC;IAC7F,IAAM,kBAAkB,GAAG,YAAY,CAAC,EAAC,OAAO,EAAE,uBAAuB,EAAE,SAAS,WAAA,EAAC,CAAC,CAAC;IAEvF,OAAO,kBAAkB,CAAC;AAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { SafeReactChild, StringKey } from "../../internal/type";
|
|
3
|
+
import type { VirtualTableColumn, VirtualTableRowExpand, VirtualTableRowSelection } from "./type";
|
|
4
|
+
import "./index.less";
|
|
5
|
+
export interface VirtualTableProps<RowType extends object> {
|
|
6
|
+
dataSource: RowType[];
|
|
7
|
+
columns: VirtualTableColumn<RowType>[];
|
|
8
|
+
scrollY: number;
|
|
9
|
+
rowHeight: number;
|
|
10
|
+
className?: string;
|
|
11
|
+
rowClassName?: string;
|
|
12
|
+
/**
|
|
13
|
+
* if scrollX is not provided, width: 100% will be used
|
|
14
|
+
* if width: 100% is used, please wrap the table with a container
|
|
15
|
+
*/
|
|
16
|
+
scrollX?: number;
|
|
17
|
+
loading?: boolean;
|
|
18
|
+
emptyPlaceholder?: SafeReactChild;
|
|
19
|
+
rowSelection?: VirtualTableRowSelection<RowType>;
|
|
20
|
+
onRowClick?: (record: RowType, rowIndex: number) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Default: index
|
|
23
|
+
*/
|
|
24
|
+
rowKey?: StringKey<RowType> | "index";
|
|
25
|
+
headerHeight?: number;
|
|
26
|
+
rowExpand?: VirtualTableRowExpand<RowType>;
|
|
27
|
+
}
|
|
28
|
+
export declare const VirtualTable: (<RowType extends object>({ columns, rowHeight, scrollY, dataSource, className, rowClassName, loading, emptyPlaceholder, rowSelection, onRowClick, scrollX, rowExpand, rowKey, headerHeight, }: VirtualTableProps<RowType>) => JSX.Element) & {
|
|
29
|
+
displayName: string;
|
|
30
|
+
};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
+
if (!m) return o;
|
|
4
|
+
var i = m.call(o), r, ar = [], e;
|
|
5
|
+
try {
|
|
6
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
+
}
|
|
8
|
+
catch (error) { e = { error: error }; }
|
|
9
|
+
finally {
|
|
10
|
+
try {
|
|
11
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
+
}
|
|
13
|
+
finally { if (e) throw e.error; }
|
|
14
|
+
}
|
|
15
|
+
return ar;
|
|
16
|
+
};
|
|
17
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
18
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
19
|
+
if (ar || !(i in from)) {
|
|
20
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
21
|
+
ar[i] = from[i];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
25
|
+
};
|
|
26
|
+
import React from "react";
|
|
27
|
+
import { useVirtual } from "react-virtual";
|
|
28
|
+
import { classNames } from "../../util/ClassNames";
|
|
29
|
+
import { Spin } from "../Spin";
|
|
30
|
+
import { useLayout } from "./hooks/useLayout";
|
|
31
|
+
import { useTransformColumn } from "./hooks/useTransformColumn";
|
|
32
|
+
import { TableRow } from "./TableRow";
|
|
33
|
+
import { TableHeader } from "./TableHeader";
|
|
34
|
+
import "./index.less";
|
|
35
|
+
export var VirtualTable = Object.assign(function (_a) {
|
|
36
|
+
var columns = _a.columns, rowHeight = _a.rowHeight, scrollY = _a.scrollY, dataSource = _a.dataSource, className = _a.className, rowClassName = _a.rowClassName, loading = _a.loading, emptyPlaceholder = _a.emptyPlaceholder, rowSelection = _a.rowSelection, onRowClick = _a.onRowClick, scrollX = _a.scrollX, rowExpand = _a.rowExpand, _b = _a.rowKey, rowKey = _b === void 0 ? "index" : _b, _c = _a.headerHeight, headerHeight = _c === void 0 ? 50 : _c;
|
|
37
|
+
var size = dataSource.length;
|
|
38
|
+
var scrollContentRef = React.useRef(null);
|
|
39
|
+
var headersRef = React.useRef(null);
|
|
40
|
+
var estimateSize = React.useCallback(function () { return rowHeight; }, [rowHeight]);
|
|
41
|
+
var overscan = rowExpand ? Math.floor(scrollY / rowHeight) : 1;
|
|
42
|
+
var _d = useVirtual({
|
|
43
|
+
size: size,
|
|
44
|
+
parentRef: scrollContentRef,
|
|
45
|
+
estimateSize: estimateSize,
|
|
46
|
+
overscan: overscan,
|
|
47
|
+
}), virtualItems = _d.virtualItems, totalSize = _d.totalSize;
|
|
48
|
+
var transformedColumns = useTransformColumn({ columns: columns, dataSource: dataSource, rowSelection: rowSelection, rowKey: rowKey, rowExpand: rowExpand });
|
|
49
|
+
var isScrollable = totalSize > scrollY;
|
|
50
|
+
var tableHeight = scrollY + headerHeight;
|
|
51
|
+
var tableBodyHeight = scrollY;
|
|
52
|
+
var emptyElement = emptyPlaceholder || "暂无数据";
|
|
53
|
+
var _e = useLayout({ headersRef: headersRef, scrollContentRef: scrollContentRef, isScrollable: isScrollable, columns: transformedColumns }), scrollBarSize = _e.scrollBarSize, stickyPosition = _e.stickyPosition, columnWidths = _e.columnWidths, isScrollToEdge = _e.isScrollToEdge, isScrollToLeft = _e.isScrollToLeft, isScrollToRight = _e.isScrollToRight;
|
|
54
|
+
var lastShownColumnIndex = React.useMemo(function () { return transformedColumns.length - 1 - __spreadArray([], __read(transformedColumns), false).reverse().findIndex(function (_) { return _.display !== "hidden"; }); }, [transformedColumns]);
|
|
55
|
+
// handle the edge position & shadow of the fixed columns
|
|
56
|
+
var getFixedColumnClassNames = React.useCallback(function (fixed, columnIndex) {
|
|
57
|
+
var _a;
|
|
58
|
+
var isFixedClassName = fixed ? "fixed" : "";
|
|
59
|
+
var isLastFixedClassName = fixed && ((_a = stickyPosition[columnIndex]) === null || _a === void 0 ? void 0 : _a.isLast) ? "last" : "";
|
|
60
|
+
var fixedPositionClassName = fixed;
|
|
61
|
+
var hideShadowClassName = (fixed === "left" && isScrollToLeft) || (fixed === "right" && isScrollToRight) ? "hide-shadow" : "";
|
|
62
|
+
return [isFixedClassName, isLastFixedClassName, fixedPositionClassName, hideShadowClassName];
|
|
63
|
+
}, [isScrollToLeft, isScrollToRight, stickyPosition]);
|
|
64
|
+
var onScroll = React.useCallback(function () {
|
|
65
|
+
requestAnimationFrame(function () {
|
|
66
|
+
// only trigger in horizontal direction
|
|
67
|
+
if (!scrollContentRef.current || !headersRef.current || scrollContentRef.current.scrollLeft === headersRef.current.scrollLeft)
|
|
68
|
+
return;
|
|
69
|
+
isScrollToEdge();
|
|
70
|
+
// sync scrolling in header
|
|
71
|
+
headersRef.current.scrollLeft = scrollContentRef.current.scrollLeft;
|
|
72
|
+
});
|
|
73
|
+
}, [isScrollToEdge]);
|
|
74
|
+
return (React.createElement("div", { className: classNames("g-virtual-table", className), style: { width: scrollX || "100%", height: tableHeight } },
|
|
75
|
+
loading && (React.createElement("div", { className: "mask" },
|
|
76
|
+
React.createElement(Spin, { spinning: loading }))),
|
|
77
|
+
React.createElement("div", { className: "scroll-content", ref: scrollContentRef, style: { height: tableBodyHeight, top: headerHeight }, onScroll: onScroll },
|
|
78
|
+
React.createElement("div", { className: "table", style: { height: totalSize } },
|
|
79
|
+
React.createElement(TableHeader, { headersRef: headersRef, headerHeight: headerHeight, columns: transformedColumns, stickyPosition: stickyPosition, getFixedColumnClassNames: getFixedColumnClassNames }),
|
|
80
|
+
React.createElement("div", { className: "table-body" }, dataSource.length === 0
|
|
81
|
+
? emptyElement
|
|
82
|
+
: columnWidths.length > 0 &&
|
|
83
|
+
virtualItems.map(function (virtualItem) { return (React.createElement(TableRow, { key: virtualItem.index, rowHeight: rowHeight, onRowClick: onRowClick, virtualItem: virtualItem, data: dataSource[virtualItem.index], columns: transformedColumns, columnWidths: columnWidths, scrollBarSize: scrollBarSize, stickyPosition: stickyPosition, lastShownColumnIndex: lastShownColumnIndex, rowClassName: rowClassName, getFixedColumnClassNames: getFixedColumnClassNames, rowExpand: rowExpand })); }))))));
|
|
84
|
+
}, { displayName: "VirtualTable" });
|
|
85
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/index.tsx"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { SafeReactChild, SafeReactChildren } from "../../internal/type";
|
|
3
|
+
export declare type ColumnFixedPosition = "left" | "right";
|
|
4
|
+
export interface StickyPosition {
|
|
5
|
+
value: number;
|
|
6
|
+
isLast: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Similar usage of Antd Table but only support partial features: fixed columns, row selection, on row click
|
|
10
|
+
*/
|
|
11
|
+
export declare type VirtualTableRowSelection<RowType extends object> = {
|
|
12
|
+
width: number;
|
|
13
|
+
selectedRowKeys: React.Key[];
|
|
14
|
+
onChange: (selectedRowKeys: React.Key[], selectedRows: RowType[]) => void;
|
|
15
|
+
/**
|
|
16
|
+
* Can only sticky in left
|
|
17
|
+
*/
|
|
18
|
+
fixed?: boolean;
|
|
19
|
+
isDisabled?: (data: RowType, rowIndex: number) => boolean;
|
|
20
|
+
isSelectAllDisabled?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Attention:
|
|
23
|
+
* If title is provided, the select all checkbox wil be overridden
|
|
24
|
+
*/
|
|
25
|
+
title?: SafeReactChild;
|
|
26
|
+
};
|
|
27
|
+
export declare type VirtualTableRowExpand<RowType extends object> = {
|
|
28
|
+
width: number;
|
|
29
|
+
renderExpandRow: (record: RowType, rowIndex: number) => SafeReactChild;
|
|
30
|
+
ExpandButton: React.ComponentType<{
|
|
31
|
+
onClick: () => void;
|
|
32
|
+
}>;
|
|
33
|
+
title?: SafeReactChild;
|
|
34
|
+
/**
|
|
35
|
+
* Can only sticky in right
|
|
36
|
+
*/
|
|
37
|
+
fixed?: boolean;
|
|
38
|
+
isDefaultExpanded?: boolean;
|
|
39
|
+
};
|
|
40
|
+
export declare type VirtualTableColumn<RowType extends object> = {
|
|
41
|
+
title: SafeReactChild;
|
|
42
|
+
width: number;
|
|
43
|
+
/**
|
|
44
|
+
* Attention:
|
|
45
|
+
* If renderData return null, the corresponding table cell will not render
|
|
46
|
+
*/
|
|
47
|
+
renderData: (record: RowType, rowIndex: number) => SafeReactChildren | undefined;
|
|
48
|
+
align?: "left" | "right" | "center";
|
|
49
|
+
display?: "default" | "hidden";
|
|
50
|
+
fixed?: "left" | "right";
|
|
51
|
+
/**
|
|
52
|
+
* Attention:
|
|
53
|
+
* The overridden cell should return null in renderData props:
|
|
54
|
+
* e.g. [{colSpan: 3, renderData: () => <div />}, {renderData: () => null}], {renderData: () => null}
|
|
55
|
+
*/
|
|
56
|
+
colSpan?: (record: RowType, rowIndex: number, colIndex: number) => number;
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/core/VirtualTable/type.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { PickOptional, SafeReactChildren } from "../../internal/type";
|
|
3
|
+
import type { TooltipPlacement } from "../Tooltip";
|
|
4
|
+
import "./index.less";
|
|
5
|
+
export interface Props {
|
|
6
|
+
/**
|
|
7
|
+
* If there are multiple children, they should handle inline display by self.
|
|
8
|
+
*/
|
|
9
|
+
children?: SafeReactChildren;
|
|
10
|
+
/**
|
|
11
|
+
* If falsy, tooltip icon will hide.
|
|
12
|
+
*/
|
|
13
|
+
explanation?: SafeReactChildren;
|
|
14
|
+
placement?: TooltipPlacement;
|
|
15
|
+
iconPosition?: "left" | "right";
|
|
16
|
+
}
|
|
17
|
+
export declare class WithExplanation extends React.PureComponent<Props> {
|
|
18
|
+
static displayName: string;
|
|
19
|
+
static defaultProps: PickOptional<Props>;
|
|
20
|
+
render(): string | number | true | JSX.Element | import("../../internal/type").SafeReactChild[];
|
|
21
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import React from "react";
|
|
17
|
+
import { classNames } from "../../util/ClassNames";
|
|
18
|
+
import { Tooltip } from "../Tooltip";
|
|
19
|
+
import "./index.less";
|
|
20
|
+
var WithExplanation = /** @class */ (function (_super) {
|
|
21
|
+
__extends(WithExplanation, _super);
|
|
22
|
+
function WithExplanation() {
|
|
23
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
24
|
+
}
|
|
25
|
+
WithExplanation.prototype.render = function () {
|
|
26
|
+
var _a = this.props, children = _a.children, explanation = _a.explanation, iconPosition = _a.iconPosition;
|
|
27
|
+
if (explanation) {
|
|
28
|
+
return (React.createElement("div", { className: classNames("g-with-explanation", "with-icon-".concat(iconPosition)) },
|
|
29
|
+
children,
|
|
30
|
+
React.createElement(Tooltip, { className: "g-with-explanation-tooltip", title: Array.isArray(explanation) ? explanation.map(function (_, index) { return React.createElement("p", { key: index }, _); }) : explanation },
|
|
31
|
+
React.createElement("div", { className: "icon-container" },
|
|
32
|
+
React.createElement("svg", { viewBox: "0 0 1024 1024" },
|
|
33
|
+
React.createElement("path", { d: "M512 0C229.322105 0 0 229.914947 0 512S229.322105 1024 512 1024 1024 794.085053 1024 512 794.677895 0 512 0z m45.972211 779.964632a65.428211 65.428211 0 0 1-45.972211 18.378105h-1.239579c-17.785263 0-34.330947-6.736842-46.565053-19.024842a65.320421 65.320421 0 0 1-19.024842-46.565053c0-19.024842 6.736842-34.330947 19.617685-46.618947 11.641263-12.234105 27.594105-18.378105 46.618947-18.378106h15.898947v1.832422c12.288 2.425263 23.336421 7.976421 31.258948 16.545684 12.288 12.288 19.024842 27.594105 19.024842 46.618947 0 18.378105-6.736842 34.330947-19.617684 47.21179z m96.309894-283.270737c-4.311579 5.497263-15.36 16.545684-60.092631 55.781052-11.048421 9.162105-19.671579 20.210526-25.168842 31.258948-6.144 11.641263-9.162105 23.929263-9.162106 38.642526v27.594105H454.332632v-27.594105c0-29.426526 4.850526-53.355789 15.306105-72.973474 10.401684-20.857263 36.163368-49.690947 80.949895-88.279579l11.048421-12.288c10.994526-13.473684 15.898947-26.947368 15.898947-40.421052 0-19.671579-5.497263-35.031579-15.898947-46.026105-10.455579-10.401684-26.408421-15.952842-47.21179-15.952843-25.761684 0-44.193684 7.383579-54.595368 22.689685-10.401684 14.120421-15.952842 34.330947-15.952842 61.33221v15.952842H339.698526v-15.952842c0-53.948632 15.952842-98.088421 47.804632-129.994105 31.905684-32.498526 76.692211-49.044211 131.880421-49.044211 48.397474 0 88.279579 13.473684 118.298947 40.421053 31.258947 27.001263 46.618947 64.404211 46.026106 111.023158 0 36.756211-9.808842 68.661895-29.426527 93.776842z" }))))));
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return children || "";
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
WithExplanation.displayName = "WithExplanation";
|
|
40
|
+
WithExplanation.defaultProps = {
|
|
41
|
+
iconPosition: "right",
|
|
42
|
+
};
|
|
43
|
+
return WithExplanation;
|
|
44
|
+
}(React.PureComponent));
|
|
45
|
+
export { WithExplanation };
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/WithExplanation/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAC,OAAO,EAAC,MAAM,YAAY,CAAC;AAGnC,OAAO,cAAc,CAAC;AAetB;IAAqC,mCAA0B;IAA/D;;IA0BA,CAAC;IAnBG,gCAAM,GAAN;QACU,IAAA,KAAwC,IAAI,CAAC,KAAK,EAAjD,QAAQ,cAAA,EAAE,WAAW,iBAAA,EAAE,YAAY,kBAAc,CAAC;QACzD,IAAI,WAAW,EAAE;YACb,OAAO,CACH,6BAAK,SAAS,EAAE,UAAU,CAAC,oBAAoB,EAAE,oBAAa,YAAY,CAAE,CAAC;gBACxE,QAAQ;gBACT,oBAAC,OAAO,IAAC,SAAS,EAAC,4BAA4B,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,2BAAG,GAAG,EAAE,KAAK,IAAG,CAAC,CAAK,EAAtB,CAAsB,CAAC,CAAC,CAAC,CAAC,WAAW;oBACnJ,6BAAK,SAAS,EAAC,gBAAgB;wBAC3B,6BAAK,OAAO,EAAC,eAAe;4BACxB,8BAAM,CAAC,EAAC,8+CAA8+C,GAAG,CACv/C,CACJ,CACA,CACR,CACT,CAAC;SACL;aAAM;YACH,OAAO,QAAQ,IAAI,EAAE,CAAC;SACzB;IACL,CAAC;IAxBM,2BAAW,GAAG,iBAAiB,CAAC;IAEhC,4BAAY,GAAwB;QACvC,YAAY,EAAE,OAAO;KACxB,CAAC;IAqBN,sBAAC;CAAA,AA1BD,CAAqC,KAAK,CAAC,aAAa,GA0BvD;SA1BY,eAAe"}
|
|
File without changes
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export interface TooltipListProps {
|
|
3
|
+
label: string;
|
|
4
|
+
content: string | number | React.ReactElement;
|
|
5
|
+
}
|
|
6
|
+
export interface Props {
|
|
7
|
+
list: Array<TooltipListProps | "-">;
|
|
8
|
+
/**
|
|
9
|
+
* If undefined, it will use the first list item as label.
|
|
10
|
+
* If ReactElement, make sure it is inline-block, to make the tooltip arrow centered.
|
|
11
|
+
*/
|
|
12
|
+
children?: string | React.ReactElement;
|
|
13
|
+
onClick?: () => void;
|
|
14
|
+
onVisibleChange?: (visible: boolean) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare class WithTooltipList extends React.PureComponent<Props> {
|
|
17
|
+
static displayName: string;
|
|
18
|
+
private readonly labelStyle;
|
|
19
|
+
private readonly wrapperStyle;
|
|
20
|
+
renderTooltip: () => JSX.Element;
|
|
21
|
+
render(): string | JSX.Element;
|
|
22
|
+
private readonly dummyClick;
|
|
23
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import React from "react";
|
|
17
|
+
import { Tooltip } from "./Tooltip";
|
|
18
|
+
var WithTooltipList = /** @class */ (function (_super) {
|
|
19
|
+
__extends(WithTooltipList, _super);
|
|
20
|
+
function WithTooltipList() {
|
|
21
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
22
|
+
_this.labelStyle = { display: "inline-block", width: 90 };
|
|
23
|
+
_this.wrapperStyle = { display: "inline-block" };
|
|
24
|
+
_this.renderTooltip = function () {
|
|
25
|
+
var list = _this.props.list;
|
|
26
|
+
return (React.createElement("div", null, list.map(function (item, index) {
|
|
27
|
+
return item === "-" ? (React.createElement("hr", { key: index })) : (React.createElement("p", { key: item.label },
|
|
28
|
+
React.createElement("span", { style: _this.labelStyle }, item.label),
|
|
29
|
+
React.createElement("em", null, item.content)));
|
|
30
|
+
})));
|
|
31
|
+
};
|
|
32
|
+
_this.dummyClick = function () { };
|
|
33
|
+
return _this;
|
|
34
|
+
}
|
|
35
|
+
WithTooltipList.prototype.render = function () {
|
|
36
|
+
var _a = this.props, list = _a.list, children = _a.children, onClick = _a.onClick, onVisibleChange = _a.onVisibleChange;
|
|
37
|
+
if (list.length === 0) {
|
|
38
|
+
return children || "-";
|
|
39
|
+
}
|
|
40
|
+
var label = children ? (children) : list[0] === "-" ? ("-") : typeof list[0].content === "string" || typeof list[0].content === "number" ? (list[0].label + ": " + list[0].content) : (React.createElement(React.Fragment, null,
|
|
41
|
+
list[0].label,
|
|
42
|
+
": ",
|
|
43
|
+
list[0].content));
|
|
44
|
+
if (onClick) {
|
|
45
|
+
/**
|
|
46
|
+
* - Must wrap with a <div> since the child node of <Tooltip> must accept certain methods, since <a>'s onClick is used already.
|
|
47
|
+
* - Wrapper must be inline-block, to make the tooltip arrow centered.
|
|
48
|
+
*
|
|
49
|
+
* Ref: https://ant.design/components/tooltip/#Note
|
|
50
|
+
*/
|
|
51
|
+
return (React.createElement(Tooltip, { placement: "bottom", title: this.renderTooltip(), onVisibleChange: onVisibleChange },
|
|
52
|
+
React.createElement("div", { style: this.wrapperStyle },
|
|
53
|
+
React.createElement("a", { onClick: onClick || this.dummyClick, style: this.wrapperStyle, className: "g-with-tooltip-list-anchor" }, label))));
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return (React.createElement(Tooltip, { placement: "bottom", title: this.renderTooltip(), onVisibleChange: onVisibleChange, className: "g-with-tooltip-list-anchor" },
|
|
57
|
+
React.createElement("a", null, label)));
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
WithTooltipList.displayName = "WithTooltipList";
|
|
61
|
+
return WithTooltipList;
|
|
62
|
+
}(React.PureComponent));
|
|
63
|
+
export { WithTooltipList };
|
|
64
|
+
//# sourceMappingURL=WithTooltipList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WithTooltipList.js","sourceRoot":"","sources":["../../src/core/WithTooltipList.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAkBlC;IAAqC,mCAA0B;IAA/D;QAAA,qEAqEC;QAlEoB,gBAAU,GAAwB,EAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,EAAE,EAAC,CAAC;QACvE,kBAAY,GAAwB,EAAC,OAAO,EAAE,cAAc,EAAC,CAAC;QAE/E,mBAAa,GAAG;YACL,IAAA,IAAI,GAAI,KAAI,CAAC,KAAK,KAAd,CAAe;YAE1B,OAAO,CACH,iCACK,IAAI,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,KAAK;gBAClB,OAAA,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CACX,4BAAI,GAAG,EAAE,KAAK,GAAI,CACrB,CAAC,CAAC,CAAC,CACA,2BAAG,GAAG,EAAE,IAAI,CAAC,KAAK;oBACd,8BAAM,KAAK,EAAE,KAAI,CAAC,UAAU,IAAG,IAAI,CAAC,KAAK,CAAQ;oBACjD,gCAAK,IAAI,CAAC,OAAO,CAAM,CACvB,CACP;YAPD,CAOC,CACJ,CACC,CACT,CAAC;QACN,CAAC,CAAC;QA6Ce,gBAAU,GAAG,cAAO,CAAC,CAAC;;IAC3C,CAAC;IA5CG,gCAAM,GAAN;QACU,IAAA,KAA6C,IAAI,CAAC,KAAK,EAAtD,IAAI,UAAA,EAAE,QAAQ,cAAA,EAAE,OAAO,aAAA,EAAE,eAAe,qBAAc,CAAC;QAC9D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACnB,OAAO,QAAQ,IAAI,GAAG,CAAC;SAC1B;QAED,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CACrB,QAAQ,CACX,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAClB,GAAG,CACN,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC7E,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CACzC,CAAC,CAAC,CAAC,CACA,oBAAC,KAAK,CAAC,QAAQ;YACV,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK;;YAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CACpB,CACpB,CAAC;QAEF,IAAI,OAAO,EAAE;YACT;;;;;eAKG;YACH,OAAO,CACH,oBAAC,OAAO,IAAC,SAAS,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,eAAe;gBACrF,6BAAK,KAAK,EAAE,IAAI,CAAC,YAAY;oBACzB,2BAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAC,4BAA4B,IACnG,KAAK,CACN,CACF,CACA,CACb,CAAC;SACL;aAAM;YACH,OAAO,CACH,oBAAC,OAAO,IAAC,SAAS,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAC,4BAA4B;gBAC7H,+BAAI,KAAK,CAAK,CACR,CACb,CAAC;SACL;IACL,CAAC;IAjEM,2BAAW,GAAG,iBAAiB,CAAC;IAoE3C,sBAAC;CAAA,AArED,CAAqC,KAAK,CAAC,aAAa,GAqEvD;SArEY,eAAe"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import moment from "moment";
|
|
3
|
+
import type { ControlledFormValue } from "../internal/type";
|
|
4
|
+
import type { Moment } from "moment";
|
|
5
|
+
export interface Props<T extends boolean> extends ControlledFormValue<T extends false ? [number, number] : [number, number] | null> {
|
|
6
|
+
allowNull: T;
|
|
7
|
+
disabledRange?: (diffMonthToThisMonth: number, date: Date) => boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
className?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class YearMonthSelector<T extends boolean> extends React.PureComponent<Props<T>> {
|
|
12
|
+
static displayName: string;
|
|
13
|
+
isDateDisabled: (current: moment.Moment) => boolean;
|
|
14
|
+
onChange: (date: Moment | null, dateString: string) => void;
|
|
15
|
+
render(): JSX.Element;
|
|
16
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __extends = (this && this.__extends) || (function () {
|
|
2
|
+
var extendStatics = function (d, b) {
|
|
3
|
+
extendStatics = Object.setPrototypeOf ||
|
|
4
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
5
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
6
|
+
return extendStatics(d, b);
|
|
7
|
+
};
|
|
8
|
+
return function (d, b) {
|
|
9
|
+
if (typeof b !== "function" && b !== null)
|
|
10
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
11
|
+
extendStatics(d, b);
|
|
12
|
+
function __() { this.constructor = d; }
|
|
13
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
14
|
+
};
|
|
15
|
+
})();
|
|
16
|
+
import React from "react";
|
|
17
|
+
import moment from "moment";
|
|
18
|
+
import AntDatePicker from "antd/lib/date-picker";
|
|
19
|
+
var YearMonthSelector = /** @class */ (function (_super) {
|
|
20
|
+
__extends(YearMonthSelector, _super);
|
|
21
|
+
function YearMonthSelector() {
|
|
22
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
23
|
+
_this.isDateDisabled = function (current) {
|
|
24
|
+
var _a, _b;
|
|
25
|
+
/**
|
|
26
|
+
* This is for compatibility of MySQL.
|
|
27
|
+
* MySQL TIMESTAMP data type is used for values that contain both date and time parts.
|
|
28
|
+
* TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.
|
|
29
|
+
*/
|
|
30
|
+
if (current.valueOf() >= new Date(2038, 0).valueOf()) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
var diffMonthToThisMonth = Math.floor(current.diff(moment().startOf("month"), "month", true));
|
|
34
|
+
return ((_b = (_a = _this.props).disabledRange) === null || _b === void 0 ? void 0 : _b.call(_a, diffMonthToThisMonth, current.toDate())) || false;
|
|
35
|
+
};
|
|
36
|
+
_this.onChange = function (date, dateString) {
|
|
37
|
+
var _a = _this.props, onChange = _a.onChange, allowNull = _a.allowNull;
|
|
38
|
+
if (dateString || allowNull) {
|
|
39
|
+
var typedOnChange = onChange;
|
|
40
|
+
typedOnChange(date && [date.year(), date.month() + 1]);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
return _this;
|
|
44
|
+
}
|
|
45
|
+
YearMonthSelector.prototype.render = function () {
|
|
46
|
+
var _a = this.props, value = _a.value, allowNull = _a.allowNull, disabled = _a.disabled, className = _a.className;
|
|
47
|
+
return (React.createElement(AntDatePicker, { className: className, disabledDate: this.isDateDisabled, value: value ? moment([value[0], value[1] - 1]) : null, onChange: this.onChange, allowClear: allowNull, disabled: disabled, picker: "month" }));
|
|
48
|
+
};
|
|
49
|
+
YearMonthSelector.displayName = "DatePicker";
|
|
50
|
+
return YearMonthSelector;
|
|
51
|
+
}(React.PureComponent));
|
|
52
|
+
export { YearMonthSelector };
|
|
53
|
+
//# sourceMappingURL=YearMonthSelector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"YearMonthSelector.js","sourceRoot":"","sources":["../../src/core/YearMonthSelector.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,aAAa,MAAM,sBAAsB,CAAC;AASjD;IAA0D,qCAA6B;IAAvF;QAAA,qEAuCC;QApCG,oBAAc,GAAG,UAAC,OAAsB;;YACpC;;;;eAIG;YACH,IAAI,OAAO,CAAC,OAAO,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClD,OAAO,IAAI,CAAC;aACf;YAED,IAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAChG,OAAO,CAAA,MAAA,MAAA,KAAI,CAAC,KAAK,EAAC,aAAa,mDAAG,oBAAoB,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,KAAI,KAAK,CAAC;QACvF,CAAC,CAAC;QAEF,cAAQ,GAAG,UAAC,IAAmB,EAAE,UAAkB;YACzC,IAAA,KAAwB,KAAI,CAAC,KAAK,EAAjC,QAAQ,cAAA,EAAE,SAAS,eAAc,CAAC;YACzC,IAAI,UAAU,IAAI,SAAS,EAAE;gBACzB,IAAM,aAAa,GAAG,QAAoD,CAAC;gBAC3E,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;aAC1D;QACL,CAAC,CAAC;;IAgBN,CAAC;IAdG,kCAAM,GAAN;QACU,IAAA,KAA0C,IAAI,CAAC,KAAK,EAAnD,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAAc,CAAC;QAC3D,OAAO,CACH,oBAAC,aAAa,IACV,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,IAAI,CAAC,cAAc,EACjC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EACtD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,SAAS,EACrB,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAC,OAAO,GAChB,CACL,CAAC;IACN,CAAC;IArCM,6BAAW,GAAG,YAAY,CAAC;IAsCtC,wBAAC;CAAA,AAvCD,CAA0D,KAAK,CAAC,aAAa,GAuC5E;SAvCY,iBAAiB"}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
+
if (!m) return o;
|
|
4
|
+
var i = m.call(o), r, ar = [], e;
|
|
5
|
+
try {
|
|
6
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
+
}
|
|
8
|
+
catch (error) { e = { error: error }; }
|
|
9
|
+
finally {
|
|
10
|
+
try {
|
|
11
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
+
}
|
|
13
|
+
finally { if (e) throw e.error; }
|
|
14
|
+
}
|
|
15
|
+
return ar;
|
|
16
|
+
};
|
|
17
|
+
import React from "react";
|
|
18
|
+
import { OrientationUtil } from "../util/OrientationUtil";
|
|
19
|
+
export function useOrientationMode() {
|
|
20
|
+
var _a = __read(React.useState(OrientationUtil.mode()), 2), mode = _a[0], setMode = _a[1];
|
|
21
|
+
React.useEffect(function () {
|
|
22
|
+
var handler = function () { return setMode(OrientationUtil.mode()); };
|
|
23
|
+
OrientationUtil.onOrientationChange(handler);
|
|
24
|
+
return function () {
|
|
25
|
+
OrientationUtil.removeOnChange(handler);
|
|
26
|
+
};
|
|
27
|
+
}, []);
|
|
28
|
+
return mode;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=useOrientationMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOrientationMode.js","sourceRoot":"","sources":["../../src/hooks/useOrientationMode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAGxD,MAAM,UAAU,kBAAkB;IACxB,IAAA,KAAA,OAAkB,KAAK,CAAC,QAAQ,CAAkB,eAAe,CAAC,IAAI,EAAE,CAAC,IAAA,EAAxE,IAAI,QAAA,EAAE,OAAO,QAA2D,CAAC;IAEhF,KAAK,CAAC,SAAS,CAAC;QACZ,IAAM,OAAO,GAAG,cAAM,OAAA,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,EAA/B,CAA+B,CAAC;QACtD,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAE7C,OAAO;YACH,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SwipeHookConfig, SwipeHookHandlers, SwipeHookResult } from "./type";
|
|
2
|
+
export declare class Controller {
|
|
3
|
+
private startTime;
|
|
4
|
+
private startTouch;
|
|
5
|
+
private started;
|
|
6
|
+
private handlers;
|
|
7
|
+
private config;
|
|
8
|
+
constructor();
|
|
9
|
+
private onTouchStart;
|
|
10
|
+
private onTouchMove;
|
|
11
|
+
private onTouchEnd;
|
|
12
|
+
private onTouchCancel;
|
|
13
|
+
private testThreshold;
|
|
14
|
+
private cancel;
|
|
15
|
+
private computeEvent;
|
|
16
|
+
private matchTouches;
|
|
17
|
+
private reset;
|
|
18
|
+
update(handlers: SwipeHookHandlers, config?: SwipeHookConfig): void;
|
|
19
|
+
createHandlers(): SwipeHookResult;
|
|
20
|
+
}
|