taro-uno-ui 0.9.0 → 1.0.0
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/README.md +21 -0
- package/dist/app.config.d.ts +38 -0
- package/dist/app.d.ts +6 -0
- package/dist/components/basic/Button/Button.d.ts +6 -0
- package/dist/components/basic/Button/Button.styles.d.ts +2 -0
- package/dist/components/basic/Button/Button.types.d.ts +74 -0
- package/dist/components/basic/Button/index.d.ts +4 -0
- package/dist/components/basic/Divider/Divider.d.ts +6 -0
- package/dist/components/basic/Divider/Divider.styles.d.ts +87 -0
- package/dist/components/basic/Divider/Divider.types.d.ts +242 -0
- package/dist/components/basic/Divider/index.d.ts +6 -0
- package/dist/components/basic/Icon/Icon.d.ts +5 -0
- package/dist/components/basic/Icon/Icon.data.d.ts +29 -0
- package/dist/components/basic/Icon/Icon.styles.d.ts +61 -0
- package/dist/components/basic/Icon/Icon.types.d.ts +199 -0
- package/dist/components/basic/Icon/IconManager.d.ts +120 -0
- package/dist/components/basic/Icon/index.d.ts +6 -0
- package/dist/components/basic/Text/Text.d.ts +7 -0
- package/dist/components/basic/Text/Text.styles.d.ts +67 -0
- package/dist/components/basic/Text/Text.types.d.ts +274 -0
- package/dist/components/basic/Text/index.d.ts +5 -0
- package/dist/components/basic/Typography/Typography.d.ts +8 -0
- package/dist/components/basic/Typography/Typography.styles.d.ts +83 -0
- package/dist/components/basic/Typography/Typography.types.d.ts +245 -0
- package/dist/components/basic/Typography/index.d.ts +3 -0
- package/dist/components/basic/Video/Video.d.ts +7 -0
- package/dist/components/basic/Video/Video.styles.d.ts +212 -0
- package/dist/components/basic/Video/Video.types.d.ts +447 -0
- package/dist/components/basic/Video/index.d.ts +10 -0
- package/dist/components/basic/index.d.ts +217 -0
- package/dist/components/common/ErrorBoundary.d.ts +19 -0
- package/dist/components/common/LazyComponent.d.ts +78 -0
- package/dist/components/common/ResponsiveContainer.d.ts +23 -0
- package/dist/components/common/ResponsiveGrid.d.ts +44 -0
- package/dist/components/common/SecurityProvider.d.ts +15 -0
- package/dist/components/common/ThemeProvider.d.ts +17 -0
- package/dist/components/common/VirtualList.d.ts +89 -0
- package/dist/components/common/index.d.ts +17 -0
- package/dist/components/display/Avatar/Avatar.d.ts +3 -0
- package/dist/components/display/Avatar/Avatar.styles.d.ts +2 -0
- package/dist/components/display/Avatar/Avatar.types.d.ts +37 -0
- package/dist/components/display/Avatar/index.d.ts +3 -0
- package/dist/components/display/Badge/Badge.d.ts +3 -0
- package/dist/components/display/Badge/Badge.types.d.ts +27 -0
- package/dist/components/display/Badge/index.d.ts +2 -0
- package/dist/components/display/Calendar/Calendar.d.ts +5 -0
- package/dist/components/display/Calendar/Calendar.styles.d.ts +2 -0
- package/dist/components/display/Calendar/Calendar.types.d.ts +87 -0
- package/dist/components/display/Calendar/index.d.ts +3 -0
- package/dist/components/display/Card/Card.d.ts +3 -0
- package/dist/components/display/Card/Card.styles.d.ts +1 -0
- package/dist/components/display/Card/Card.types.d.ts +52 -0
- package/dist/components/display/Card/index.d.ts +3 -0
- package/dist/components/display/Carousel/Carousel.d.ts +5 -0
- package/dist/components/display/Carousel/Carousel.styles.d.ts +2 -0
- package/dist/components/display/Carousel/Carousel.types.d.ts +55 -0
- package/dist/components/display/Carousel/index.d.ts +3 -0
- package/dist/components/display/List/List.d.ts +4 -0
- package/dist/components/display/List/List.styles.d.ts +1 -0
- package/dist/components/display/List/List.types.d.ts +64 -0
- package/dist/components/display/List/index.d.ts +3 -0
- package/dist/components/display/Rate/Rate.d.ts +6 -0
- package/dist/components/display/Rate/Rate.styles.d.ts +100 -0
- package/dist/components/display/Rate/Rate.types.d.ts +105 -0
- package/dist/components/display/Rate/index.d.ts +17 -0
- package/dist/components/display/Table/Table.d.ts +7 -0
- package/dist/components/display/Table/Table.styles.d.ts +84 -0
- package/dist/components/display/Table/Table.types.d.ts +251 -0
- package/dist/components/display/Table/index.d.ts +4 -0
- package/dist/components/display/Tag/Tag.d.ts +5 -0
- package/dist/components/display/Tag/Tag.styles.d.ts +2 -0
- package/dist/components/display/Tag/Tag.types.d.ts +47 -0
- package/dist/components/display/Tag/index.d.ts +3 -0
- package/dist/components/display/Timeline/Timeline.d.ts +16 -0
- package/dist/components/display/Timeline/Timeline.styles.d.ts +2 -0
- package/dist/components/display/Timeline/Timeline.types.d.ts +53 -0
- package/dist/components/display/Timeline/index.d.ts +3 -0
- package/dist/components/display/index.d.ts +67 -0
- package/dist/components/feedback/Loading/Loading.d.ts +4 -0
- package/dist/components/feedback/Loading/Loading.styles.d.ts +2 -0
- package/dist/components/feedback/Loading/Loading.types.d.ts +29 -0
- package/dist/components/feedback/Loading/index.d.ts +4 -0
- package/dist/components/feedback/Message/Message.d.ts +4 -0
- package/dist/components/feedback/Message/Message.styles.d.ts +34 -0
- package/dist/components/feedback/Message/Message.types.d.ts +33 -0
- package/dist/components/feedback/Message/index.d.ts +4 -0
- package/dist/components/feedback/Modal/Modal.d.ts +8 -0
- package/dist/components/feedback/Modal/Modal.styles.d.ts +18 -0
- package/dist/components/feedback/Modal/Modal.types.d.ts +143 -0
- package/dist/components/feedback/Modal/index.d.ts +3 -0
- package/dist/components/feedback/Notification/Notification.d.ts +4 -0
- package/dist/components/feedback/Notification/Notification.styles.d.ts +88 -0
- package/dist/components/feedback/Notification/Notification.types.d.ts +279 -0
- package/dist/components/feedback/Notification/NotificationManager.d.ts +4 -0
- package/dist/components/feedback/Notification/index.d.ts +25 -0
- package/dist/components/feedback/Progress/Progress.d.ts +4 -0
- package/dist/components/feedback/Progress/Progress.styles.d.ts +261 -0
- package/dist/components/feedback/Progress/Progress.test.simple.d.ts +2 -0
- package/dist/components/feedback/Progress/Progress.types.d.ts +147 -0
- package/dist/components/feedback/Progress/index.d.ts +3 -0
- package/dist/components/feedback/Progress/utils/animation.d.ts +55 -0
- package/dist/components/feedback/Progress/utils/index.d.ts +2 -0
- package/dist/components/feedback/Progress/utils/progress-calculator.d.ts +75 -0
- package/dist/components/feedback/Result/Result.d.ts +7 -0
- package/dist/components/feedback/Result/Result.styles.d.ts +2 -0
- package/dist/components/feedback/Result/Result.types.d.ts +66 -0
- package/dist/components/feedback/Result/index.d.ts +3 -0
- package/dist/components/feedback/Toast/Toast.d.ts +7 -0
- package/dist/components/feedback/Toast/Toast.styles.d.ts +14 -0
- package/dist/components/feedback/Toast/Toast.types.d.ts +81 -0
- package/dist/components/feedback/Toast/index.d.ts +3 -0
- package/dist/components/feedback/Tooltip/Tooltip.d.ts +4 -0
- package/dist/components/feedback/Tooltip/Tooltip.examples.d.ts +6 -0
- package/dist/components/feedback/Tooltip/Tooltip.styles.d.ts +78 -0
- package/dist/components/feedback/Tooltip/Tooltip.types.d.ts +130 -0
- package/dist/components/feedback/Tooltip/index.d.ts +3 -0
- package/dist/components/feedback/index.d.ts +71 -0
- package/dist/components/form/Cascader/Cascader.d.ts +7 -0
- package/dist/components/form/Cascader/Cascader.styles.d.ts +107 -0
- package/dist/components/form/Cascader/Cascader.types.d.ts +418 -0
- package/dist/components/form/Cascader/hooks/index.d.ts +3 -0
- package/dist/components/form/Cascader/hooks/useCascaderFieldNames.d.ts +12 -0
- package/dist/components/form/Cascader/hooks/useCascaderOptions.d.ts +15 -0
- package/dist/components/form/Cascader/hooks/useCascaderState.d.ts +23 -0
- package/dist/components/form/Cascader/index.d.ts +6 -0
- package/dist/components/form/Cascader/utils/formatDisplayValue.d.ts +9 -0
- package/dist/components/form/Cascader/utils/index.d.ts +1 -0
- package/dist/components/form/Checkbox/Checkbox.d.ts +6 -0
- package/dist/components/form/Checkbox/Checkbox.styles.d.ts +111 -0
- package/dist/components/form/Checkbox/Checkbox.types.d.ts +473 -0
- package/dist/components/form/Checkbox/CheckboxGroup.d.ts +6 -0
- package/dist/components/form/Checkbox/index.d.ts +8 -0
- package/dist/components/form/DatePicker/DatePicker.d.ts +6 -0
- package/dist/components/form/DatePicker/DatePicker.styles.d.ts +99 -0
- package/dist/components/form/DatePicker/DatePicker.types.d.ts +236 -0
- package/dist/components/form/DatePicker/index.d.ts +3 -0
- package/dist/components/form/Form/Form.d.ts +8 -0
- package/dist/components/form/Form/Form.styles.d.ts +84 -0
- package/dist/components/form/Form/Form.types.d.ts +416 -0
- package/dist/components/form/Form/index.d.ts +9 -0
- package/dist/components/form/Form/useFormLogic.d.ts +22 -0
- package/dist/components/form/Input/Input.d.ts +6 -0
- package/dist/components/form/Input/Input.styles.d.ts +61 -0
- package/dist/components/form/Input/Input.types.d.ts +294 -0
- package/dist/components/form/Input/index.d.ts +8 -0
- package/dist/components/form/Input/useInputLogic.d.ts +35 -0
- package/dist/components/form/InputNumber/InputNumber.d.ts +6 -0
- package/dist/components/form/InputNumber/InputNumber.styles.d.ts +120 -0
- package/dist/components/form/InputNumber/InputNumber.types.d.ts +303 -0
- package/dist/components/form/InputNumber/components/InputNumberClearButton.d.ts +10 -0
- package/dist/components/form/InputNumber/components/InputNumberControls.d.ts +11 -0
- package/dist/components/form/InputNumber/components/index.d.ts +2 -0
- package/dist/components/form/InputNumber/hooks/index.d.ts +4 -0
- package/dist/components/form/InputNumber/hooks/useInputNumberState.d.ts +38 -0
- package/dist/components/form/InputNumber/hooks/useInputNumberValidation.d.ts +12 -0
- package/dist/components/form/InputNumber/index.d.ts +5 -0
- package/dist/components/form/Radio/Radio.d.ts +6 -0
- package/dist/components/form/Radio/Radio.styles.d.ts +80 -0
- package/dist/components/form/Radio/Radio.types.d.ts +415 -0
- package/dist/components/form/Radio/index.d.ts +8 -0
- package/dist/components/form/Select/Select.d.ts +6 -0
- package/dist/components/form/Select/Select.styles.d.ts +71 -0
- package/dist/components/form/Select/Select.types.d.ts +418 -0
- package/dist/components/form/Select/index.d.ts +8 -0
- package/dist/components/form/Slider/Slider.d.ts +7 -0
- package/dist/components/form/Slider/Slider.styles.d.ts +2 -0
- package/dist/components/form/Slider/Slider.types.d.ts +85 -0
- package/dist/components/form/Slider/index.d.ts +3 -0
- package/dist/components/form/Switch/Switch.d.ts +10 -0
- package/dist/components/form/Switch/Switch.styles.d.ts +154 -0
- package/dist/components/form/Switch/Switch.types.d.ts +351 -0
- package/dist/components/form/Switch/index.d.ts +7 -0
- package/dist/components/form/Textarea/Textarea.d.ts +6 -0
- package/dist/components/form/Textarea/Textarea.styles.d.ts +66 -0
- package/dist/components/form/Textarea/Textarea.types.d.ts +348 -0
- package/dist/components/form/Textarea/index.d.ts +7 -0
- package/dist/components/form/TimePicker/TimePicker.d.ts +6 -0
- package/dist/components/form/TimePicker/TimePicker.styles.d.ts +104 -0
- package/dist/components/form/TimePicker/TimePicker.types.d.ts +385 -0
- package/dist/components/form/TimePicker/index.d.ts +4 -0
- package/dist/components/form/Transfer/Transfer.d.ts +7 -0
- package/dist/components/form/Transfer/Transfer.styles.d.ts +106 -0
- package/dist/components/form/Transfer/Transfer.types.d.ts +384 -0
- package/dist/components/form/Transfer/components/TransferItem.d.ts +23 -0
- package/dist/components/form/Transfer/components/TransferList.d.ts +55 -0
- package/dist/components/form/Transfer/components/TransferOperations.d.ts +21 -0
- package/dist/components/form/Transfer/components/TransferPagination.d.ts +19 -0
- package/dist/components/form/Transfer/components/TransferSearch.d.ts +21 -0
- package/dist/components/form/Transfer/components/index.d.ts +6 -0
- package/dist/components/form/Transfer/hooks/index.d.ts +3 -0
- package/dist/components/form/Transfer/hooks/useTransferData.d.ts +41 -0
- package/dist/components/form/Transfer/hooks/useTransferState.d.ts +21 -0
- package/dist/components/form/Transfer/index.d.ts +9 -0
- package/dist/components/form/Upload/Upload.d.ts +7 -0
- package/dist/components/form/Upload/Upload.styles.d.ts +2 -0
- package/dist/components/form/Upload/Upload.types.d.ts +143 -0
- package/dist/components/form/Upload/index.d.ts +3 -0
- package/dist/components/form/index.d.ts +126 -0
- package/dist/components/index.d.ts +122 -0
- package/dist/components/layout/Affix/Affix.d.ts +4 -0
- package/dist/components/layout/Affix/Affix.styles.d.ts +1669 -0
- package/dist/components/layout/Affix/Affix.types.d.ts +25 -0
- package/dist/components/layout/Affix/index.d.ts +3 -0
- package/dist/components/layout/Col/Col.d.ts +6 -0
- package/dist/components/layout/Col/Col.styles.d.ts +52 -0
- package/dist/components/layout/Col/Col.types.d.ts +54 -0
- package/dist/components/layout/Col/index.d.ts +3 -0
- package/dist/components/layout/Container/Container.d.ts +6 -0
- package/dist/components/layout/Container/Container.styles.d.ts +41 -0
- package/dist/components/layout/Container/Container.types.d.ts +59 -0
- package/dist/components/layout/Container/index.d.ts +3 -0
- package/dist/components/layout/Grid/Grid.d.ts +6 -0
- package/dist/components/layout/Grid/Grid.styles.d.ts +60 -0
- package/dist/components/layout/Grid/Grid.types.d.ts +68 -0
- package/dist/components/layout/Grid/index.d.ts +3 -0
- package/dist/components/layout/Layout/Content.d.ts +4 -0
- package/dist/components/layout/Layout/Footer.d.ts +4 -0
- package/dist/components/layout/Layout/Header.d.ts +4 -0
- package/dist/components/layout/Layout/Layout.d.ts +4 -0
- package/dist/components/layout/Layout/Layout.styles.d.ts +3366 -0
- package/dist/components/layout/Layout/Layout.types.d.ts +48 -0
- package/dist/components/layout/Layout/Sider.d.ts +4 -0
- package/dist/components/layout/Layout/index.d.ts +8 -0
- package/dist/components/layout/Row/Row.d.ts +6 -0
- package/dist/components/layout/Row/Row.styles.d.ts +55 -0
- package/dist/components/layout/Row/Row.types.d.ts +51 -0
- package/dist/components/layout/Row/index.d.ts +3 -0
- package/dist/components/layout/Space/Space.d.ts +6 -0
- package/dist/components/layout/Space/Space.styles.d.ts +69 -0
- package/dist/components/layout/Space/Space.types.d.ts +84 -0
- package/dist/components/layout/Space/index.d.ts +3 -0
- package/dist/components/layout/index.d.ts +39 -0
- package/dist/components/navigation/Menu/Menu.constants.d.ts +59 -0
- package/dist/components/navigation/Menu/Menu.d.ts +10 -0
- package/dist/components/navigation/Menu/Menu.stories.d.ts +157 -0
- package/dist/components/navigation/Menu/Menu.styles.d.ts +143 -0
- package/dist/components/navigation/Menu/Menu.types.d.ts +210 -0
- package/dist/components/navigation/Menu/Menu.utils.d.ts +54 -0
- package/dist/components/navigation/Menu/MenuItem.d.ts +32 -0
- package/dist/components/navigation/Menu/SubMenu.d.ts +41 -0
- package/dist/components/navigation/Menu/index.d.ts +54 -0
- package/dist/components/navigation/NavBar/NavBar.d.ts +7 -0
- package/dist/components/navigation/NavBar/NavBar.styles.d.ts +114 -0
- package/dist/components/navigation/NavBar/NavBar.types.d.ts +50 -0
- package/dist/components/navigation/NavBar/index.d.ts +3 -0
- package/dist/components/navigation/Pagination/Pagination.d.ts +6 -0
- package/dist/components/navigation/Pagination/Pagination.styles.d.ts +55 -0
- package/dist/components/navigation/Pagination/Pagination.types.d.ts +77 -0
- package/dist/components/navigation/Pagination/index.d.ts +15 -0
- package/dist/components/navigation/Steps/Step.d.ts +4 -0
- package/dist/components/navigation/Steps/Steps.d.ts +4 -0
- package/dist/components/navigation/Steps/Steps.styles.d.ts +6716 -0
- package/dist/components/navigation/Steps/Steps.types.d.ts +41 -0
- package/dist/components/navigation/Steps/index.d.ts +3 -0
- package/dist/components/navigation/Tabs/Tabs.d.ts +6 -0
- package/dist/components/navigation/Tabs/Tabs.styles.d.ts +60 -0
- package/dist/components/navigation/Tabs/Tabs.types.d.ts +107 -0
- package/dist/components/navigation/Tabs/index.d.ts +3 -0
- package/dist/components/navigation/index.d.ts +35 -0
- package/dist/constants/index.d.ts +624 -0
- package/dist/hooks/index.d.ts +28 -0
- package/dist/hooks/types.d.ts +7 -0
- package/dist/hooks/useAsync.d.ts +17 -0
- package/dist/hooks/useClickOutside.d.ts +19 -0
- package/dist/hooks/useCounter.d.ts +36 -0
- package/dist/hooks/useDebounce.d.ts +31 -0
- package/dist/hooks/useDeepCompareEffect.d.ts +22 -0
- package/dist/hooks/useEventHandling.d.ts +81 -0
- package/dist/hooks/useEventListener.d.ts +19 -0
- package/dist/hooks/useLifecycle.d.ts +66 -0
- package/dist/hooks/useMediaQuery.d.ts +22 -0
- package/dist/hooks/useMutation.d.ts +47 -0
- package/dist/hooks/usePerformance.d.ts +73 -0
- package/dist/hooks/usePerformanceMonitor.d.ts +66 -0
- package/dist/hooks/usePlatform.d.ts +20 -0
- package/dist/hooks/usePrevious.d.ts +14 -0
- package/dist/hooks/useRequest.d.ts +32 -0
- package/dist/hooks/useStateManagement.d.ts +62 -0
- package/dist/hooks/useStorage.d.ts +27 -0
- package/dist/hooks/useStyle.d.ts +127 -0
- package/dist/hooks/useTheme.d.ts +58 -0
- package/dist/hooks/useToggle.d.ts +28 -0
- package/dist/hooks/useVirtualScroll.d.ts +42 -0
- package/dist/index.d.ts +271 -0
- package/dist/js/{index-DffLRSro.js → index-CDFsvu80.js} +15369 -10741
- package/dist/js/index-CDFsvu80.js.map +1 -0
- package/dist/js/index-DFdcksbe.js.map +1 -1
- package/dist/js/index-DXRIkWX1.js.map +1 -1
- package/dist/js/{index-6NJ3A1Dn.js → index-JffnTUrv.js} +15430 -10801
- package/dist/js/index-JffnTUrv.js.map +1 -0
- package/dist/platform/index.d.ts +172 -0
- package/dist/providers/AppProvider.d.ts +34 -0
- package/dist/providers/index.d.ts +1 -0
- package/dist/theme/ThemeProvider.d.ts +34 -0
- package/dist/theme/ThemeProvider.types.d.ts +21 -0
- package/dist/theme/animations.d.ts +96 -0
- package/dist/theme/defaults.d.ts +6 -0
- package/dist/theme/design-system.d.ts +400 -0
- package/dist/theme/design-tokens.d.ts +459 -0
- package/dist/theme/index.d.ts +187 -0
- package/dist/theme/responsive.d.ts +63 -0
- package/dist/theme/styles.d.ts +65 -0
- package/dist/theme/tokens/colors.d.ts +72 -0
- package/dist/theme/tokens/effects.d.ts +122 -0
- package/dist/theme/tokens/index.d.ts +94 -0
- package/dist/theme/tokens/spacing.d.ts +65 -0
- package/dist/theme/tokens/typography.d.ts +73 -0
- package/dist/theme/types.d.ts +153 -0
- package/dist/theme/useThemeUtils.d.ts +21 -0
- package/dist/theme/utils.d.ts +255 -0
- package/dist/theme/variables.d.ts +170 -0
- package/dist/types/accessibility.d.ts +46 -0
- package/dist/types/button.d.ts +285 -0
- package/dist/types/component-props.d.ts +109 -0
- package/dist/types/index.d.ts +343 -0
- package/dist/types/standardized-components.d.ts +263 -0
- package/dist/types/utils.d.ts +190 -0
- package/dist/utils/abort-controller.d.ts +19 -0
- package/dist/utils/cache.d.ts +28 -0
- package/dist/utils/createNamespace.d.ts +9 -0
- package/dist/utils/environment.d.ts +26 -0
- package/dist/utils/error-handler.d.ts +37 -0
- package/dist/utils/errorLogger.d.ts +72 -0
- package/dist/utils/formatUtils.d.ts +93 -0
- package/dist/utils/http/error-codes.d.ts +131 -0
- package/dist/utils/http/http-client.d.ts +53 -0
- package/dist/utils/http/request-cache.d.ts +65 -0
- package/dist/utils/http/request.d.ts +280 -0
- package/dist/utils/http/taro-adapter.d.ts +4 -0
- package/dist/utils/http/types.d.ts +351 -0
- package/dist/utils/http/web-adapter.d.ts +4 -0
- package/dist/utils/index.d.ts +46 -0
- package/dist/utils/inputValidator.d.ts +74 -0
- package/dist/utils/performance/performance.d.ts +167 -0
- package/dist/utils/responsiveUtils.d.ts +148 -0
- package/dist/utils/rtl-support.d.ts +78 -0
- package/dist/utils/security/api-security.d.ts +82 -0
- package/dist/utils/security/xss-protection.d.ts +20 -0
- package/dist/utils/securityHeaders.d.ts +74 -0
- package/dist/utils/typeHelpers.d.ts +1 -0
- package/dist/utils/types/dataProcessing.d.ts +111 -0
- package/dist/utils/types/typeHelpers.d.ts +50 -0
- package/dist/utils/xssProtection.d.ts +90 -0
- package/package.json +14 -10
- package/src/components/basic/Button/Button.tsx +53 -13
- package/src/components/basic/Button/Button.types.ts +45 -9
- package/src/components/basic/Divider/Divider.tsx +60 -29
- package/src/components/basic/Icon/Icon.data.ts +474 -0
- package/src/components/basic/Icon/Icon.test.tsx +2 -2
- package/src/components/basic/Icon/Icon.tsx +48 -35
- package/src/components/basic/Icon/IconManager.ts +229 -0
- package/src/components/basic/Text/Text.styles.ts +3 -3
- package/src/components/basic/Text/Text.types.ts +14 -4
- package/src/components/basic/Typography/Typography.styles.ts +10 -9
- package/src/components/basic/Typography/Typography.tsx +15 -13
- package/src/components/basic/Typography/Typography.types.ts +41 -41
- package/src/components/basic/Typography/index.tsx +1 -1
- package/src/components/basic/Video/Video.styles.ts +777 -0
- package/src/components/basic/Video/Video.test.tsx +490 -0
- package/src/components/basic/Video/Video.tsx +1468 -0
- package/src/components/basic/Video/Video.types.ts +500 -0
- package/src/components/basic/Video/index.tsx +26 -0
- package/src/components/basic/index.tsx +13 -15
- package/src/components/common/ErrorBoundary.tsx +1 -1
- package/src/components/common/LazyComponent.tsx +9 -8
- package/src/components/common/SecurityProvider.tsx +2 -14
- package/src/components/common/ThemeProvider.tsx +43 -56
- package/src/components/common/VirtualList.tsx +187 -205
- package/src/components/common/index.tsx +25 -0
- package/src/components/display/Avatar/Avatar.styles.ts +1 -1
- package/src/components/display/Avatar/Avatar.tsx +6 -19
- package/src/components/display/Avatar/Avatar.types.ts +1 -1
- package/src/components/display/Avatar/index.ts +1 -1
- package/src/components/display/Badge/Badge.tsx +3 -16
- package/src/components/display/Badge/Badge.types.ts +1 -1
- package/src/components/display/Badge/index.ts +1 -1
- package/src/components/display/Calendar/Calendar.styles.ts +36 -36
- package/src/components/display/Calendar/Calendar.test.tsx +27 -15
- package/src/components/display/Calendar/Calendar.tsx +56 -35
- package/src/components/display/Calendar/Calendar.types.ts +1 -1
- package/src/components/display/Calendar/index.ts +1 -1
- package/src/components/display/Card/Card.styles.ts +2 -2
- package/src/components/display/Card/Card.test.tsx +6 -4
- package/src/components/display/Card/Card.tsx +1 -1
- package/src/components/display/Card/Card.types.ts +4 -4
- package/src/components/display/Card/index.ts +1 -1
- package/src/components/display/Carousel/Carousel.styles.ts +31 -31
- package/src/components/display/Carousel/Carousel.tsx +34 -39
- package/src/components/display/Carousel/Carousel.types.ts +1 -1
- package/src/components/display/Carousel/index.ts +1 -1
- package/src/components/display/List/List.styles.ts +3 -3
- package/src/components/display/List/List.tsx +0 -1
- package/src/components/display/List/index.ts +1 -1
- package/src/components/display/Rate/Rate.styles.ts +5 -17
- package/src/components/display/Rate/Rate.tsx +6 -14
- package/src/components/display/Rate/Rate.types.ts +4 -3
- package/src/components/display/Rate/index.ts +3 -11
- package/src/components/display/Table/Table.test.tsx +2 -0
- package/src/components/display/Table/Table.tsx +3 -7
- package/src/components/display/Table/Table.types.ts +3 -2
- package/src/components/display/Tag/Tag.styles.ts +31 -31
- package/src/components/display/Tag/Tag.tsx +9 -26
- package/src/components/display/Tag/Tag.types.ts +1 -1
- package/src/components/display/Tag/index.ts +1 -1
- package/src/components/display/Timeline/Timeline.styles.ts +32 -32
- package/src/components/display/Timeline/Timeline.tsx +23 -42
- package/src/components/display/Timeline/Timeline.types.ts +1 -1
- package/src/components/display/Timeline/index.ts +1 -1
- package/src/components/display/index.tsx +33 -29
- package/src/components/feedback/Loading/Loading.tsx +6 -1
- package/src/components/feedback/Loading/index.ts +2 -5
- package/src/components/feedback/Message/Message.styles.ts +3 -3
- package/src/components/feedback/Message/index.ts +2 -5
- package/src/components/feedback/Modal/Modal.styles.ts +1 -1
- package/src/components/feedback/Modal/Modal.tsx +9 -31
- package/src/components/feedback/Modal/Modal.types.ts +12 -2
- package/src/components/feedback/Notification/Notification.styles.ts +49 -39
- package/src/components/feedback/Notification/Notification.test.tsx +1 -1
- package/src/components/feedback/Notification/Notification.tsx +97 -120
- package/src/components/feedback/Notification/Notification.types.ts +11 -8
- package/src/components/feedback/Notification/NotificationManager.tsx +135 -106
- package/src/components/feedback/Notification/index.ts +10 -3
- package/src/components/feedback/Notification/index.tsx +16 -26
- package/src/components/feedback/Progress/Progress.styles.ts +23 -14
- package/src/components/feedback/Progress/Progress.tsx +93 -113
- package/src/components/feedback/Progress/Progress.types.ts +1 -1
- package/src/components/feedback/Progress/index.ts +1 -1
- package/src/components/feedback/Progress/utils/animation.ts +12 -23
- package/src/components/feedback/Progress/utils/index.ts +2 -2
- package/src/components/feedback/Progress/utils/progress-calculator.ts +14 -32
- package/src/components/feedback/Result/Result.styles.ts +29 -29
- package/src/components/feedback/Result/Result.tsx +8 -20
- package/src/components/feedback/Result/Result.types.ts +7 -7
- package/src/components/feedback/Result/index.tsx +1 -1
- package/src/components/feedback/Toast/Toast.styles.ts +1 -1
- package/src/components/feedback/Toast/Toast.tsx +25 -13
- package/src/components/feedback/Tooltip/Tooltip.examples.tsx +21 -44
- package/src/components/feedback/Tooltip/Tooltip.styles.ts +16 -22
- package/src/components/feedback/Tooltip/Tooltip.test.tsx +1 -1
- package/src/components/feedback/Tooltip/Tooltip.tsx +65 -46
- package/src/components/feedback/Tooltip/Tooltip.types.ts +14 -20
- package/src/components/feedback/Tooltip/index.ts +1 -1
- package/src/components/feedback/Tooltip/index.tsx +12 -24
- package/src/components/feedback/index.tsx +54 -42
- package/src/components/form/Cascader/Cascader.styles.ts +2 -2
- package/src/components/form/Cascader/Cascader.tsx +84 -88
- package/src/components/form/Cascader/Cascader.types.ts +49 -50
- package/src/components/form/Cascader/hooks/useCascaderFieldNames.ts +11 -8
- package/src/components/form/Cascader/hooks/useCascaderOptions.ts +73 -55
- package/src/components/form/Cascader/hooks/useCascaderState.ts +31 -25
- package/src/components/form/Cascader/index.ts +1 -1
- package/src/components/form/Cascader/utils/formatDisplayValue.ts +4 -4
- package/src/components/form/Checkbox/Checkbox.styles.ts +83 -84
- package/src/components/form/Checkbox/Checkbox.tsx +2 -9
- package/src/components/form/Checkbox/CheckboxGroup.tsx +7 -7
- package/src/components/form/DatePicker/DatePicker.test.tsx +1 -1
- package/src/components/form/DatePicker/DatePicker.tsx +91 -75
- package/src/components/form/DatePicker/DatePicker.types.ts +4 -1
- package/src/components/form/Form/Form.tsx +66 -504
- package/src/components/form/Form/Form.types.ts +16 -1
- package/src/components/form/Form/useFormLogic.ts +497 -0
- package/src/components/form/Input/Input.styles.ts +8 -1
- package/src/components/form/Input/Input.tsx +55 -291
- package/src/components/form/Input/Input.types.ts +13 -1
- package/src/components/form/Input/useInputLogic.test.ts +82 -0
- package/src/components/form/Input/useInputLogic.ts +260 -0
- package/src/components/form/InputNumber/InputNumber.styles.ts +76 -25
- package/src/components/form/InputNumber/InputNumber.tsx +53 -21
- package/src/components/form/InputNumber/InputNumber.types.ts +21 -3
- package/src/components/form/InputNumber/components/InputNumberClearButton.tsx +3 -11
- package/src/components/form/InputNumber/components/InputNumberControls.tsx +3 -12
- package/src/components/form/InputNumber/hooks/index.ts +1 -1
- package/src/components/form/InputNumber/hooks/useInputNumberState.ts +7 -9
- package/src/components/form/InputNumber/hooks/useInputNumberValidation.ts +18 -17
- package/src/components/form/InputNumber/index.ts +7 -7
- package/src/components/form/Radio/Radio.styles.ts +1 -8
- package/src/components/form/Radio/Radio.tsx +3 -9
- package/src/components/form/Radio/Radio.types.ts +5 -1
- package/src/components/form/Select/Select.styles.ts +5 -1
- package/src/components/form/Select/Select.tsx +15 -15
- package/src/components/form/Select/Select.types.ts +2 -1
- package/src/components/form/Slider/Slider.styles.ts +13 -13
- package/src/components/form/Slider/Slider.tsx +19 -33
- package/src/components/form/Slider/Slider.types.ts +14 -12
- package/src/components/form/Slider/index.tsx +2 -9
- package/src/components/form/Switch/Switch.styles.ts +1 -7
- package/src/components/form/Switch/Switch.tsx +7 -13
- package/src/components/form/Textarea/Textarea.styles.ts +4 -4
- package/src/components/form/Textarea/Textarea.tsx +7 -1
- package/src/components/form/Textarea/Textarea.types.ts +4 -1
- package/src/components/form/TimePicker/TimePicker.styles.ts +8 -12
- package/src/components/form/TimePicker/TimePicker.tsx +122 -100
- package/src/components/form/TimePicker/TimePicker.types.ts +2 -2
- package/src/components/form/TimePicker/index.ts +1 -1
- package/src/components/form/Transfer/Transfer.styles.ts +3 -15
- package/src/components/form/Transfer/Transfer.tsx +146 -134
- package/src/components/form/Transfer/Transfer.types.ts +34 -26
- package/src/components/form/Transfer/components/TransferItem.tsx +55 -62
- package/src/components/form/Transfer/components/TransferList.tsx +212 -199
- package/src/components/form/Transfer/components/TransferOperations.tsx +52 -55
- package/src/components/form/Transfer/components/TransferPagination.tsx +115 -111
- package/src/components/form/Transfer/components/TransferSearch.tsx +52 -55
- package/src/components/form/Transfer/hooks/useTransferData.ts +91 -81
- package/src/components/form/Transfer/hooks/useTransferState.ts +22 -16
- package/src/components/form/Transfer/index.ts +2 -8
- package/src/components/form/Upload/Upload.styles.ts +21 -21
- package/src/components/form/Upload/Upload.tsx +189 -142
- package/src/components/form/Upload/Upload.types.ts +31 -31
- package/src/components/form/Upload/index.tsx +1 -1
- package/src/components/form/index.tsx +60 -29
- package/src/components/index.tsx +0 -1
- package/src/components/layout/Affix/Affix.styles.ts +16 -11
- package/src/components/layout/Affix/Affix.tsx +67 -75
- package/src/components/layout/Affix/Affix.types.ts +18 -18
- package/src/components/layout/Affix/index.tsx +1 -1
- package/src/components/layout/Col/Col.styles.ts +17 -17
- package/src/components/layout/Col/Col.test.tsx +7 -5
- package/src/components/layout/Col/Col.tsx +3 -21
- package/src/components/layout/Col/Col.types.ts +1 -1
- package/src/components/layout/Container/Container.styles.ts +3 -1
- package/src/components/layout/Container/Container.tsx +2 -11
- package/src/components/layout/Grid/Grid.tsx +3 -53
- package/src/components/layout/Layout/Content.tsx +24 -32
- package/src/components/layout/Layout/Footer.tsx +24 -32
- package/src/components/layout/Layout/Header.tsx +24 -32
- package/src/components/layout/Layout/Layout.styles.ts +17 -17
- package/src/components/layout/Layout/Layout.tsx +14 -25
- package/src/components/layout/Layout/Layout.types.ts +29 -29
- package/src/components/layout/Layout/Sider.tsx +44 -56
- package/src/components/layout/Layout/index.tsx +16 -2
- package/src/components/layout/Row/Row.tsx +15 -43
- package/src/components/layout/Space/Space.tsx +3 -11
- package/src/components/layout/Space/Space.types.ts +1 -1
- package/src/components/layout/index.tsx +29 -19
- package/src/components/navigation/Menu/Menu.constants.ts +69 -0
- package/src/components/navigation/Menu/Menu.stories.tsx +107 -0
- package/src/components/navigation/Menu/Menu.styles.ts +25 -37
- package/src/components/navigation/Menu/Menu.tsx +8 -11
- package/src/components/navigation/Menu/Menu.types.ts +2 -2
- package/src/components/navigation/Menu/Menu.utils.ts +17 -17
- package/src/components/navigation/Menu/MenuItem.tsx +9 -11
- package/src/components/navigation/Menu/SubMenu.tsx +8 -6
- package/src/components/navigation/Menu/index.tsx +4 -69
- package/src/components/navigation/NavBar/NavBar.styles.ts +1 -1
- package/src/components/navigation/NavBar/NavBar.tsx +7 -10
- package/src/components/navigation/NavBar/NavBar.types.ts +3 -3
- package/src/components/navigation/NavBar/index.tsx +1 -1
- package/src/components/navigation/Pagination/Pagination.test.tsx +2 -3
- package/src/components/navigation/Pagination/Pagination.tsx +3 -3
- package/src/components/navigation/Pagination/Pagination.types.ts +3 -2
- package/src/components/navigation/Pagination/index.ts +9 -3
- package/src/components/navigation/Steps/Step.tsx +24 -44
- package/src/components/navigation/Steps/Steps.styles.ts +28 -13
- package/src/components/navigation/Steps/Steps.test.tsx +2 -0
- package/src/components/navigation/Steps/Steps.tsx +88 -89
- package/src/components/navigation/Steps/Steps.types.ts +30 -30
- package/src/components/navigation/Steps/index.tsx +1 -1
- package/src/components/navigation/Tabs/Tabs.test.tsx +3 -2
- package/src/components/navigation/Tabs/Tabs.types.ts +4 -3
- package/src/components/navigation/index.tsx +21 -16
- package/src/constants/index.ts +1 -1
- package/src/hooks/index.ts +52 -102
- package/src/hooks/types.ts +4 -5
- package/src/hooks/useAsync.ts +46 -47
- package/src/hooks/useClickOutside.ts +52 -0
- package/src/hooks/useCounter.ts +87 -0
- package/src/hooks/useDebounce.ts +150 -0
- package/src/hooks/useDeepCompareEffect.ts +88 -0
- package/src/hooks/useEventListener.ts +77 -0
- package/src/hooks/useMediaQuery.ts +75 -0
- package/src/hooks/useMutation.ts +233 -0
- package/src/hooks/usePerformance.ts +1 -64
- package/src/hooks/usePlatform.ts +3 -1
- package/src/hooks/usePrevious.ts +25 -0
- package/src/hooks/useRequest.ts +12 -7
- package/src/hooks/useStateManagement.ts +1 -1
- package/src/hooks/useStorage.ts +169 -0
- package/src/hooks/useStyle.ts +8 -2
- package/src/hooks/useToggle.ts +54 -0
- package/src/index.ts +34 -9
- package/src/theme/ThemeProvider.tsx +3 -7
- package/src/theme/ThemeProvider.types.ts +1 -1
- package/src/theme/defaults.ts +1 -1
- package/src/theme/design-system.ts +2 -2
- package/src/theme/design-tokens.ts +85 -99
- package/src/theme/generated/dark-theme.scss +1 -1
- package/src/theme/generated/tokens.scss +82 -18
- package/src/theme/index.ts +8 -29
- package/src/theme/responsive.tsx +36 -34
- package/src/theme/styles.ts +1 -1
- package/src/theme/useThemeUtils.ts +43 -43
- package/src/theme/utils.ts +32 -32
- package/src/theme/variables.ts +70 -51
- package/src/types/accessibility.ts +36 -37
- package/src/types/button.ts +25 -27
- package/src/types/component-props.ts +6 -1
- package/src/types/glob.d.ts +4 -0
- package/src/types/index.ts +2 -2
- package/src/types/standardized-components.ts +9 -3
- package/src/types/utils.ts +13 -23
- package/src/utils/__tests__/responsiveUtils.test.ts +5 -4
- package/src/utils/abort-controller.ts +48 -0
- package/src/utils/cache.ts +2 -6
- package/src/utils/createNamespace.ts +4 -4
- package/src/utils/environment.ts +26 -6
- package/src/utils/error-handler.ts +2 -2
- package/src/utils/errorLogger.ts +16 -20
- package/src/utils/formatUtils.ts +38 -70
- package/src/utils/http/error-codes.ts +314 -0
- package/src/utils/http/http-client.test.ts +63 -0
- package/src/utils/{network → http}/http-client.ts +45 -35
- package/src/utils/http/request-cache.ts +127 -0
- package/src/utils/http/request.ts +954 -0
- package/src/utils/http/taro-adapter.test.ts +74 -0
- package/src/utils/http/taro-adapter.ts +24 -0
- package/src/utils/http/types.ts +414 -0
- package/src/utils/http/web-adapter.ts +33 -0
- package/src/utils/index.ts +5 -8
- package/src/utils/inputValidator.ts +17 -14
- package/src/utils/performance/performance.ts +60 -71
- package/src/utils/responsiveUtils.ts +7 -16
- package/src/utils/rtl-support.ts +29 -19
- package/src/utils/security/api-security.ts +47 -39
- package/src/utils/securityHeaders.ts +61 -67
- package/src/utils/typeHelpers.ts +10 -10
- package/src/utils/types/dataProcessing.ts +93 -92
- package/src/utils/types/typeHelpers.ts +31 -21
- package/src/utils/xssProtection.ts +96 -48
- package/dist/js/index-6NJ3A1Dn.js.map +0 -1
- package/dist/js/index-DffLRSro.js.map +0 -1
- package/src/components/form/Input/Input.enhanced.tsx +0 -732
- package/src/components/navigation/Menu/__tests__/Menu.test.tsx +0 -687
- package/src/components/navigation/Tree/Tree.styles.ts +0 -553
- package/src/components/navigation/Tree/Tree.test.basic.tsx +0 -7
- package/src/components/navigation/Tree/Tree.test.functional.tsx +0 -496
- package/src/components/navigation/Tree/Tree.test.import.check.tsx +0 -6
- package/src/components/navigation/Tree/Tree.test.import.tsx +0 -6
- package/src/components/navigation/Tree/Tree.test.minimal.tsx +0 -5
- package/src/components/navigation/Tree/Tree.test.simple.tsx +0 -30
- package/src/components/navigation/Tree/Tree.test.tsx +0 -908
- package/src/components/navigation/Tree/Tree.test.working.tsx +0 -673
- package/src/components/navigation/Tree/Tree.tsx +0 -600
- package/src/components/navigation/Tree/Tree.types.ts +0 -909
- package/src/components/navigation/Tree/Tree.utils.ts +0 -452
- package/src/components/navigation/Tree/index.ts +0 -33
- package/src/components/navigation/Tree/index.tsx +0 -23
- package/src/utils/network/http-client.test.ts +0 -18
|
@@ -173,11 +173,47 @@ $spacing-container-xl: 1280px;
|
|
|
173
173
|
$spacing-container-2xl: 1536px;
|
|
174
174
|
|
|
175
175
|
// ==================== 字体令牌 ====================
|
|
176
|
-
$typography-fontFamily-sans:
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
176
|
+
$typography-fontFamily-sans:
|
|
177
|
+
Inter,
|
|
178
|
+
-apple-system,
|
|
179
|
+
BlinkMacSystemFont,
|
|
180
|
+
Segoe UI,
|
|
181
|
+
Roboto,
|
|
182
|
+
Helvetica Neue,
|
|
183
|
+
Arial,
|
|
184
|
+
sans-serif;
|
|
185
|
+
$typography-fontFamily-serif:
|
|
186
|
+
Georgia,
|
|
187
|
+
Cambria,
|
|
188
|
+
Times New Roman,
|
|
189
|
+
Times,
|
|
190
|
+
serif;
|
|
191
|
+
$typography-fontFamily-mono:
|
|
192
|
+
Fira Code,
|
|
193
|
+
Menlo,
|
|
194
|
+
Monaco,
|
|
195
|
+
Consolas,
|
|
196
|
+
Liberation Mono,
|
|
197
|
+
Courier New,
|
|
198
|
+
monospace;
|
|
199
|
+
$typography-fontFamily-display:
|
|
200
|
+
Inter,
|
|
201
|
+
-apple-system,
|
|
202
|
+
BlinkMacSystemFont,
|
|
203
|
+
Segoe UI,
|
|
204
|
+
Roboto,
|
|
205
|
+
Helvetica Neue,
|
|
206
|
+
Arial,
|
|
207
|
+
sans-serif;
|
|
208
|
+
$typography-fontFamily-body:
|
|
209
|
+
Inter,
|
|
210
|
+
-apple-system,
|
|
211
|
+
BlinkMacSystemFont,
|
|
212
|
+
Segoe UI,
|
|
213
|
+
Roboto,
|
|
214
|
+
Helvetica Neue,
|
|
215
|
+
Arial,
|
|
216
|
+
sans-serif;
|
|
181
217
|
$typography-fontSize-3xs: 10px;
|
|
182
218
|
$typography-fontSize-2xs: 12px;
|
|
183
219
|
$typography-fontSize-xs: 14px;
|
|
@@ -252,23 +288,45 @@ $effects-borderRadius-modal: 12px;
|
|
|
252
288
|
$effects-borderRadius-dropdown: 8px;
|
|
253
289
|
$effects-boxShadow-none: none;
|
|
254
290
|
$effects-boxShadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
255
|
-
$effects-boxShadow-sm:
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
$effects-boxShadow-
|
|
291
|
+
$effects-boxShadow-sm:
|
|
292
|
+
0 1px 3px 0 rgba(0, 0, 0, 0.1),
|
|
293
|
+
0 1px 2px 0 rgba(0, 0, 0, 0.06);
|
|
294
|
+
$effects-boxShadow-md:
|
|
295
|
+
0 4px 6px -1px rgba(0, 0, 0, 0.1),
|
|
296
|
+
0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
297
|
+
$effects-boxShadow-lg:
|
|
298
|
+
0 10px 15px -3px rgba(0, 0, 0, 0.1),
|
|
299
|
+
0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
300
|
+
$effects-boxShadow-xl:
|
|
301
|
+
0 20px 25px -5px rgba(0, 0, 0, 0.1),
|
|
302
|
+
0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
|
259
303
|
$effects-boxShadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
|
260
304
|
$effects-boxShadow-3xl: 0 35px 60px -15px rgba(0, 0, 0, 0.3);
|
|
261
305
|
$effects-boxShadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
|
|
262
306
|
$effects-boxShadow-colored: 0 10px 15px -3px rgba(14, 165, 233, 0.15);
|
|
263
307
|
$effects-boxShadow-button-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
264
|
-
$effects-boxShadow-button-md:
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
$effects-boxShadow-
|
|
268
|
-
|
|
308
|
+
$effects-boxShadow-button-md:
|
|
309
|
+
0 4px 6px -1px rgba(0, 0, 0, 0.1),
|
|
310
|
+
0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
311
|
+
$effects-boxShadow-button-lg:
|
|
312
|
+
0 10px 15px -3px rgba(0, 0, 0, 0.1),
|
|
313
|
+
0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
314
|
+
$effects-boxShadow-card-sm:
|
|
315
|
+
0 1px 3px 0 rgba(0, 0, 0, 0.1),
|
|
316
|
+
0 1px 2px 0 rgba(0, 0, 0, 0.06);
|
|
317
|
+
$effects-boxShadow-card-md:
|
|
318
|
+
0 4px 6px -1px rgba(0, 0, 0, 0.1),
|
|
319
|
+
0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
320
|
+
$effects-boxShadow-card-lg:
|
|
321
|
+
0 10px 15px -3px rgba(0, 0, 0, 0.1),
|
|
322
|
+
0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
269
323
|
$effects-boxShadow-modal: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
|
|
270
|
-
$effects-boxShadow-tooltip:
|
|
271
|
-
|
|
324
|
+
$effects-boxShadow-tooltip:
|
|
325
|
+
0 10px 15px -3px rgba(0, 0, 0, 0.1),
|
|
326
|
+
0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
327
|
+
$effects-boxShadow-dropdown:
|
|
328
|
+
0 10px 15px -3px rgba(0, 0, 0, 0.1),
|
|
329
|
+
0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
272
330
|
$effects-animation-duration-75: 75ms;
|
|
273
331
|
$effects-animation-duration-100: 100ms;
|
|
274
332
|
$effects-animation-duration-150: 150ms;
|
|
@@ -296,8 +354,14 @@ $effects-animation-delay-300: 300ms;
|
|
|
296
354
|
$effects-animation-delay-500: 500ms;
|
|
297
355
|
$effects-transition-none: none;
|
|
298
356
|
$effects-transition-all: all 150ms ease-in-out;
|
|
299
|
-
$effects-transition-common:
|
|
300
|
-
|
|
357
|
+
$effects-transition-common:
|
|
358
|
+
color 150ms ease-in-out,
|
|
359
|
+
background-color 150ms ease-in-out,
|
|
360
|
+
border-color 150ms ease-in-out;
|
|
361
|
+
$effects-transition-colors:
|
|
362
|
+
color 150ms ease-in-out,
|
|
363
|
+
background-color 150ms ease-in-out,
|
|
364
|
+
border-color 150ms ease-in-out;
|
|
301
365
|
$effects-transition-opacity: opacity 150ms ease-in-out;
|
|
302
366
|
$effects-transition-shadow: box-shadow 150ms ease-in-out;
|
|
303
367
|
$effects-transition-transform: transform 150ms ease-in-out;
|
package/src/theme/index.ts
CHANGED
|
@@ -19,50 +19,29 @@ export type {
|
|
|
19
19
|
ThemeTypography,
|
|
20
20
|
ThemeBorderRadius,
|
|
21
21
|
ThemeShadow,
|
|
22
|
-
ThemeAnimation
|
|
22
|
+
ThemeAnimation,
|
|
23
23
|
} from './types';
|
|
24
24
|
|
|
25
25
|
// 导出默认主题配置
|
|
26
26
|
export { defaultTheme, darkTheme } from './defaults';
|
|
27
27
|
|
|
28
28
|
// 导出工具函数
|
|
29
|
-
export {
|
|
30
|
-
default as themeUtils,
|
|
31
|
-
ColorUtils,
|
|
32
|
-
ResponsiveUtils,
|
|
33
|
-
ThemeValidator,
|
|
34
|
-
ThemePresets
|
|
35
|
-
} from './utils';
|
|
29
|
+
export { default as themeUtils, ColorUtils, ResponsiveUtils, ThemeValidator, ThemePresets } from './utils';
|
|
36
30
|
|
|
37
31
|
// 导出CSS变量系统
|
|
38
|
-
export {
|
|
39
|
-
|
|
40
|
-
createCSSVariables,
|
|
41
|
-
generateCSSVariablesString
|
|
42
|
-
} from './variables';
|
|
43
|
-
export type {
|
|
44
|
-
CSSVariables,
|
|
45
|
-
VariableInheritance,
|
|
46
|
-
VariableGroup
|
|
47
|
-
} from './variables';
|
|
32
|
+
export { default as CSSVariableGenerator, createCSSVariables, generateCSSVariablesString } from './variables';
|
|
33
|
+
export type { CSSVariables, VariableInheritance, VariableGroup } from './variables';
|
|
48
34
|
|
|
49
35
|
// 导出样式工具
|
|
50
|
-
export {
|
|
51
|
-
|
|
52
|
-
generateStyles,
|
|
53
|
-
createStyles,
|
|
54
|
-
styleUtils
|
|
55
|
-
} from './styles';
|
|
56
|
-
export type {
|
|
57
|
-
StyleUtils as StyleUtilsType
|
|
58
|
-
} from './styles';
|
|
36
|
+
export { default as createStyleUtils, generateStyles, createStyles, styleUtils } from './styles';
|
|
37
|
+
export type { StyleUtils as StyleUtilsType } from './styles';
|
|
59
38
|
|
|
60
39
|
// 导出设计令牌系统
|
|
61
40
|
export {
|
|
62
41
|
default as DesignTokenGenerator,
|
|
63
42
|
createDesignTokens,
|
|
64
43
|
generateDesignTokenCSS,
|
|
65
|
-
generateDarkThemeCSS
|
|
44
|
+
generateDarkThemeCSS,
|
|
66
45
|
} from './design-tokens';
|
|
67
46
|
export type { DesignTokens } from './design-tokens';
|
|
68
47
|
|
|
@@ -117,4 +96,4 @@ export default {
|
|
|
117
96
|
themeTools,
|
|
118
97
|
defaultTheme,
|
|
119
98
|
darkTheme,
|
|
120
|
-
};
|
|
99
|
+
};
|
package/src/theme/responsive.tsx
CHANGED
|
@@ -91,35 +91,44 @@ export function ResponsiveProvider({ children }: { children: React.ReactNode })
|
|
|
91
91
|
const isDesktop = screenSize.width >= breakpoints.lg;
|
|
92
92
|
|
|
93
93
|
// 断点匹配检查
|
|
94
|
-
const matches = useCallback(
|
|
95
|
-
|
|
96
|
-
|
|
94
|
+
const matches = useCallback(
|
|
95
|
+
(breakpoint: keyof typeof breakpoints) => {
|
|
96
|
+
return screenSize.width >= breakpoints[breakpoint];
|
|
97
|
+
},
|
|
98
|
+
[screenSize.width],
|
|
99
|
+
);
|
|
97
100
|
|
|
98
|
-
const matchesMinWidth = useCallback(
|
|
99
|
-
|
|
100
|
-
|
|
101
|
+
const matchesMinWidth = useCallback(
|
|
102
|
+
(width: number) => {
|
|
103
|
+
return screenSize.width >= width;
|
|
104
|
+
},
|
|
105
|
+
[screenSize.width],
|
|
106
|
+
);
|
|
101
107
|
|
|
102
|
-
const matchesMaxWidth = useCallback(
|
|
103
|
-
|
|
104
|
-
|
|
108
|
+
const matchesMaxWidth = useCallback(
|
|
109
|
+
(width: number) => {
|
|
110
|
+
return screenSize.width <= width;
|
|
111
|
+
},
|
|
112
|
+
[screenSize.width],
|
|
113
|
+
);
|
|
105
114
|
|
|
106
115
|
// 获取响应式值
|
|
107
|
-
const getResponsiveValue = useCallback(
|
|
108
|
-
values: Partial<Record<string, T>>,
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
return values[breakpoint as keyof typeof values] as T;
|
|
116
|
+
const getResponsiveValue = useCallback(
|
|
117
|
+
<T,>(values: Partial<Record<string, T>>, defaultValue: T): T => {
|
|
118
|
+
const currentIndex = breakpointOrder.indexOf(currentBreakpoint as (typeof breakpointOrder)[number]);
|
|
119
|
+
|
|
120
|
+
// 从当前断点开始,向上查找第一个匹配的值
|
|
121
|
+
for (let i = currentIndex; i >= 0; i--) {
|
|
122
|
+
const breakpoint = breakpointOrder[i];
|
|
123
|
+
if (values[breakpoint as keyof typeof values] !== undefined) {
|
|
124
|
+
return values[breakpoint as keyof typeof values] as T;
|
|
125
|
+
}
|
|
118
126
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
127
|
+
|
|
128
|
+
return defaultValue;
|
|
129
|
+
},
|
|
130
|
+
[currentBreakpoint],
|
|
131
|
+
);
|
|
123
132
|
|
|
124
133
|
const contextValue: ResponsiveContextType = {
|
|
125
134
|
screenSize,
|
|
@@ -133,11 +142,7 @@ export function ResponsiveProvider({ children }: { children: React.ReactNode })
|
|
|
133
142
|
getResponsiveValue,
|
|
134
143
|
};
|
|
135
144
|
|
|
136
|
-
return
|
|
137
|
-
<ResponsiveContext.Provider value={contextValue}>
|
|
138
|
-
{children}
|
|
139
|
-
</ResponsiveContext.Provider>
|
|
140
|
-
);
|
|
145
|
+
return <ResponsiveContext.Provider value={contextValue}>{children}</ResponsiveContext.Provider>;
|
|
141
146
|
}
|
|
142
147
|
|
|
143
148
|
/**
|
|
@@ -154,10 +159,7 @@ export function useResponsive() {
|
|
|
154
159
|
/**
|
|
155
160
|
* 响应式值 Hook
|
|
156
161
|
*/
|
|
157
|
-
export function useResponsiveValue<T>(
|
|
158
|
-
values: Partial<Record<string, T>>,
|
|
159
|
-
defaultValue: T
|
|
160
|
-
): T {
|
|
162
|
+
export function useResponsiveValue<T>(values: Partial<Record<string, T>>, defaultValue: T): T {
|
|
161
163
|
const { getResponsiveValue } = useResponsive();
|
|
162
164
|
return getResponsiveValue(values, defaultValue);
|
|
163
165
|
}
|
|
@@ -190,4 +192,4 @@ export function useDeviceType() {
|
|
|
190
192
|
};
|
|
191
193
|
}
|
|
192
194
|
|
|
193
|
-
export default ResponsiveProvider;
|
|
195
|
+
export default ResponsiveProvider;
|
package/src/theme/styles.ts
CHANGED
|
@@ -397,7 +397,7 @@ export const styleUtils = (theme?: ThemeConfig): StyleUtils => {
|
|
|
397
397
|
const { defaultTheme } = require('./defaults');
|
|
398
398
|
_defaultStyleUtils = createStyleUtils(defaultTheme);
|
|
399
399
|
}
|
|
400
|
-
return theme ? createStyleUtils(theme) :
|
|
400
|
+
return theme ? createStyleUtils(theme) : _defaultStyleUtils!;
|
|
401
401
|
};
|
|
402
402
|
|
|
403
403
|
export default createStyleUtils;
|
|
@@ -193,11 +193,11 @@ function getDefaultSpacing(spacingKey: string): string {
|
|
|
193
193
|
'48': '12rem',
|
|
194
194
|
'56': '14rem',
|
|
195
195
|
'64': '16rem',
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
196
|
+
xs: '0.5rem',
|
|
197
|
+
sm: '0.75rem',
|
|
198
|
+
md: '1rem',
|
|
199
|
+
lg: '1.5rem',
|
|
200
|
+
xl: '2rem',
|
|
201
201
|
'2xl': '3rem',
|
|
202
202
|
'3xl': '4rem',
|
|
203
203
|
'4xl': '6rem',
|
|
@@ -209,11 +209,11 @@ function getDefaultSpacing(spacingKey: string): string {
|
|
|
209
209
|
|
|
210
210
|
function getDefaultFontSize(sizeKey: string): string {
|
|
211
211
|
const defaultFontSizes: Record<string, string> = {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
212
|
+
xs: '0.75rem',
|
|
213
|
+
sm: '0.875rem',
|
|
214
|
+
base: '1rem',
|
|
215
|
+
lg: '1.125rem',
|
|
216
|
+
xl: '1.25rem',
|
|
217
217
|
'2xl': '1.5rem',
|
|
218
218
|
'3xl': '1.875rem',
|
|
219
219
|
'4xl': '2.25rem',
|
|
@@ -229,12 +229,12 @@ function getDefaultFontSize(sizeKey: string): string {
|
|
|
229
229
|
|
|
230
230
|
function getDefaultLineHeight(lineHeightKey: string): string {
|
|
231
231
|
const defaultLineHeights: Record<string, string> = {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
232
|
+
none: '1',
|
|
233
|
+
tight: '1.25',
|
|
234
|
+
snug: '1.375',
|
|
235
|
+
normal: '1.5',
|
|
236
|
+
relaxed: '1.625',
|
|
237
|
+
loose: '2',
|
|
238
238
|
};
|
|
239
239
|
|
|
240
240
|
return defaultLineHeights[lineHeightKey] || '1.5';
|
|
@@ -242,14 +242,14 @@ function getDefaultLineHeight(lineHeightKey: string): string {
|
|
|
242
242
|
|
|
243
243
|
function getDefaultBorderRadius(radiusKey: string): string {
|
|
244
244
|
const defaultBorderRadius: Record<string, string> = {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
245
|
+
none: '0',
|
|
246
|
+
sm: '0.125rem',
|
|
247
|
+
md: '0.375rem',
|
|
248
|
+
lg: '0.5rem',
|
|
249
|
+
xl: '0.75rem',
|
|
250
250
|
'2xl': '1rem',
|
|
251
251
|
'3xl': '1.5rem',
|
|
252
|
-
|
|
252
|
+
full: '9999px',
|
|
253
253
|
};
|
|
254
254
|
|
|
255
255
|
return defaultBorderRadius[radiusKey] || '0.375rem';
|
|
@@ -257,13 +257,13 @@ function getDefaultBorderRadius(radiusKey: string): string {
|
|
|
257
257
|
|
|
258
258
|
function getDefaultShadow(shadowKey: string): string {
|
|
259
259
|
const defaultShadows: Record<string, string> = {
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
260
|
+
sm: '0 1px 2px 0 rgb(0 0 0 / 0.05)',
|
|
261
|
+
md: '0 4px 6px -1px rgb(0 0 0 / 0.1)',
|
|
262
|
+
lg: '0 10px 15px -3px rgb(0 0 0 / 0.1)',
|
|
263
|
+
xl: '0 20px 25px -5px rgb(0 0 0 / 0.1)',
|
|
264
264
|
'2xl': '0 25px 50px -12px rgb(0 0 0 / 0.25)',
|
|
265
|
-
|
|
266
|
-
|
|
265
|
+
inner: 'inset 0 2px 4px 0 rgb(0 0 0 / 0.05)',
|
|
266
|
+
none: 'none',
|
|
267
267
|
};
|
|
268
268
|
|
|
269
269
|
return defaultShadows[shadowKey] || 'none';
|
|
@@ -271,9 +271,9 @@ function getDefaultShadow(shadowKey: string): string {
|
|
|
271
271
|
|
|
272
272
|
function getDefaultTransition(transitionKey: string): string {
|
|
273
273
|
const defaultTransitions: Record<string, string> = {
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
274
|
+
fast: '150ms ease-in-out',
|
|
275
|
+
normal: '300ms ease-in-out',
|
|
276
|
+
slow: '500ms ease-in-out',
|
|
277
277
|
};
|
|
278
278
|
|
|
279
279
|
return defaultTransitions[transitionKey] || '300ms ease-in-out';
|
|
@@ -287,13 +287,13 @@ function getDefaultZIndex(zIndexKey: string): number {
|
|
|
287
287
|
'30': 30,
|
|
288
288
|
'40': 40,
|
|
289
289
|
'50': 50,
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
290
|
+
modal: 1000,
|
|
291
|
+
popover: 1010,
|
|
292
|
+
tooltip: 1020,
|
|
293
|
+
notification: 1030,
|
|
294
|
+
header: 1040,
|
|
295
|
+
footer: 1050,
|
|
296
|
+
overlay: 1060,
|
|
297
297
|
};
|
|
298
298
|
|
|
299
299
|
return defaultZIndex[zIndexKey] || 1;
|
|
@@ -301,11 +301,11 @@ function getDefaultZIndex(zIndexKey: string): number {
|
|
|
301
301
|
|
|
302
302
|
function getDefaultBreakpoint(breakpointKey: string): string {
|
|
303
303
|
const defaultBreakpoints: Record<string, string> = {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
304
|
+
xs: '0',
|
|
305
|
+
sm: '640px',
|
|
306
|
+
md: '768px',
|
|
307
|
+
lg: '1024px',
|
|
308
|
+
xl: '1280px',
|
|
309
309
|
'2xl': '1536px',
|
|
310
310
|
};
|
|
311
311
|
|
package/src/theme/utils.ts
CHANGED
|
@@ -78,9 +78,9 @@ export class ColorUtils {
|
|
|
78
78
|
const hue2rgb = (p: number, q: number, t: number): number => {
|
|
79
79
|
if (t < 0) t += 1;
|
|
80
80
|
if (t > 1) t -= 1;
|
|
81
|
-
if (t < 1/6) return p + (q - p) * 6 * t;
|
|
82
|
-
if (t < 1/2) return q;
|
|
83
|
-
if (t < 2/3) return p + (q - p) * (2/3 - t) * 6;
|
|
81
|
+
if (t < 1 / 6) return p + (q - p) * 6 * t;
|
|
82
|
+
if (t < 1 / 2) return q;
|
|
83
|
+
if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
|
|
84
84
|
return p;
|
|
85
85
|
};
|
|
86
86
|
|
|
@@ -91,9 +91,9 @@ export class ColorUtils {
|
|
|
91
91
|
} else {
|
|
92
92
|
const q = l < 0.5 ? l * (1 + s) : l + s - l * s;
|
|
93
93
|
const p = 2 * l - q;
|
|
94
|
-
r = hue2rgb(p, q, h + 1/3);
|
|
94
|
+
r = hue2rgb(p, q, h + 1 / 3);
|
|
95
95
|
g = hue2rgb(p, q, h);
|
|
96
|
-
b = hue2rgb(p, q, h - 1/3);
|
|
96
|
+
b = hue2rgb(p, q, h - 1 / 3);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
return this.rgbToHex(Math.round(r * 255), Math.round(g * 255), Math.round(b * 255));
|
|
@@ -142,20 +142,20 @@ export class ColorUtils {
|
|
|
142
142
|
static generateGradient(color1: string, color2: string, steps: number): string[] {
|
|
143
143
|
const rgb1 = this.hexToRgb(color1);
|
|
144
144
|
const rgb2 = this.hexToRgb(color2);
|
|
145
|
-
|
|
145
|
+
|
|
146
146
|
if (!rgb1 || !rgb2) return [];
|
|
147
147
|
|
|
148
148
|
const gradient: string[] = [];
|
|
149
|
-
|
|
149
|
+
|
|
150
150
|
for (let i = 0; i < steps; i++) {
|
|
151
151
|
const ratio = i / (steps - 1);
|
|
152
152
|
const r = Math.round(rgb1.r + (rgb2.r - rgb1.r) * ratio);
|
|
153
153
|
const g = Math.round(rgb1.g + (rgb2.g - rgb1.g) * ratio);
|
|
154
154
|
const b = Math.round(rgb1.b + (rgb2.b - rgb1.b) * ratio);
|
|
155
|
-
|
|
155
|
+
|
|
156
156
|
gradient.push(this.rgbToHex(r, g, b));
|
|
157
157
|
}
|
|
158
|
-
|
|
158
|
+
|
|
159
159
|
return gradient;
|
|
160
160
|
}
|
|
161
161
|
|
|
@@ -165,11 +165,11 @@ export class ColorUtils {
|
|
|
165
165
|
static getContrastRatio(color1: string, color2: string): number {
|
|
166
166
|
const rgb1 = this.hexToRgb(color1);
|
|
167
167
|
const rgb2 = this.hexToRgb(color2);
|
|
168
|
-
|
|
168
|
+
|
|
169
169
|
if (!rgb1 || !rgb2) return 0;
|
|
170
170
|
|
|
171
171
|
const getLuminance = (r: number, g: number, b: number): number => {
|
|
172
|
-
const [rs, gs, bs] = [r, g, b].map(c => {
|
|
172
|
+
const [rs, gs, bs] = [r, g, b].map((c) => {
|
|
173
173
|
c = c / 255;
|
|
174
174
|
return c <= 0.03928 ? c / 12.92 : Math.pow((c + 0.055) / 1.055, 2.4);
|
|
175
175
|
});
|
|
@@ -178,10 +178,10 @@ export class ColorUtils {
|
|
|
178
178
|
|
|
179
179
|
const lum1 = getLuminance(rgb1.r, rgb1.g, rgb1.b);
|
|
180
180
|
const lum2 = getLuminance(rgb2.r, rgb2.g, rgb2.b);
|
|
181
|
-
|
|
181
|
+
|
|
182
182
|
const brightest = Math.max(lum1, lum2);
|
|
183
183
|
const darkest = Math.min(lum1, lum2);
|
|
184
|
-
|
|
184
|
+
|
|
185
185
|
return (brightest + 0.05) / (darkest + 0.05);
|
|
186
186
|
}
|
|
187
187
|
|
|
@@ -190,7 +190,7 @@ export class ColorUtils {
|
|
|
190
190
|
*/
|
|
191
191
|
static meetsWCAGStandard(color1: string, color2: string, level: 'AA' | 'AAA' = 'AA'): boolean {
|
|
192
192
|
const ratio = this.getContrastRatio(color1, color2);
|
|
193
|
-
|
|
193
|
+
|
|
194
194
|
if (level === 'AA') {
|
|
195
195
|
return ratio >= 4.5;
|
|
196
196
|
} else {
|
|
@@ -208,7 +208,7 @@ export class ResponsiveUtils {
|
|
|
208
208
|
if (typeof window === 'undefined') {
|
|
209
209
|
return { width: 0, height: 0 };
|
|
210
210
|
}
|
|
211
|
-
|
|
211
|
+
|
|
212
212
|
return {
|
|
213
213
|
width: window.innerWidth,
|
|
214
214
|
height: window.innerHeight,
|
|
@@ -220,16 +220,15 @@ export class ResponsiveUtils {
|
|
|
220
220
|
*/
|
|
221
221
|
static getCurrentBreakpoint(breakpoints: Record<string, number>): string {
|
|
222
222
|
const width = this.getScreenSize().width;
|
|
223
|
-
|
|
224
|
-
const breakpointEntries = Object.entries(breakpoints)
|
|
225
|
-
|
|
226
|
-
|
|
223
|
+
|
|
224
|
+
const breakpointEntries = Object.entries(breakpoints).sort(([, a], [, b]) => b - a);
|
|
225
|
+
|
|
227
226
|
for (const [name, value] of breakpointEntries) {
|
|
228
227
|
if (width >= value) {
|
|
229
228
|
return name;
|
|
230
229
|
}
|
|
231
230
|
}
|
|
232
|
-
|
|
231
|
+
|
|
233
232
|
return breakpointEntries[breakpointEntries.length - 1]?.[0] || 'md';
|
|
234
233
|
}
|
|
235
234
|
|
|
@@ -238,10 +237,8 @@ export class ResponsiveUtils {
|
|
|
238
237
|
*/
|
|
239
238
|
static isMobile(): boolean {
|
|
240
239
|
if (typeof window === 'undefined') return false;
|
|
241
|
-
|
|
242
|
-
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(
|
|
243
|
-
navigator.userAgent
|
|
244
|
-
);
|
|
240
|
+
|
|
241
|
+
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
|
245
242
|
}
|
|
246
243
|
|
|
247
244
|
/**
|
|
@@ -249,7 +246,7 @@ export class ResponsiveUtils {
|
|
|
249
246
|
*/
|
|
250
247
|
static isTablet(): boolean {
|
|
251
248
|
if (typeof window === 'undefined') return false;
|
|
252
|
-
|
|
249
|
+
|
|
253
250
|
const width = this.getScreenSize().width;
|
|
254
251
|
return width >= 768 && width <= 1024;
|
|
255
252
|
}
|
|
@@ -259,7 +256,7 @@ export class ResponsiveUtils {
|
|
|
259
256
|
*/
|
|
260
257
|
static isDesktop(): boolean {
|
|
261
258
|
if (typeof window === 'undefined') return false;
|
|
262
|
-
|
|
259
|
+
|
|
263
260
|
const width = this.getScreenSize().width;
|
|
264
261
|
return width > 1024;
|
|
265
262
|
}
|
|
@@ -319,7 +316,8 @@ export class ThemeValidator {
|
|
|
319
316
|
* 检查是否为有效的颜色值
|
|
320
317
|
*/
|
|
321
318
|
static isValidColor(color: string): boolean {
|
|
322
|
-
const colorRegex =
|
|
319
|
+
const colorRegex =
|
|
320
|
+
/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$|^rgb\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*\)$|^rgba\(\s*\d+\s*,\s*\d+\s*,\s*\d+\s*,\s*[\d.]+\s*\)$|^hsl\(\s*\d+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*\)$|^hsla\(\s*\d+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*,\s*[\d.]+\s*\)$|[a-zA-Z]+$/;
|
|
323
321
|
return colorRegex.test(color);
|
|
324
322
|
}
|
|
325
323
|
|
|
@@ -340,7 +338,9 @@ export class ThemeValidator {
|
|
|
340
338
|
// 检查次要文本的对比度
|
|
341
339
|
const secondaryTextContrast = ColorUtils.getContrastRatio(theme.colors.textSecondary, theme.colors.background);
|
|
342
340
|
if (secondaryTextContrast < 3) {
|
|
343
|
-
issues.push(
|
|
341
|
+
issues.push(
|
|
342
|
+
`Secondary text contrast ratio is too low: ${secondaryTextContrast.toFixed(2)} (should be at least 3)`,
|
|
343
|
+
);
|
|
344
344
|
score -= 10;
|
|
345
345
|
}
|
|
346
346
|
|
|
@@ -377,7 +377,7 @@ export class PerformanceMonitor {
|
|
|
377
377
|
*/
|
|
378
378
|
static getStats(name: string): { count: number; average: number; min: number; max: number } {
|
|
379
379
|
const values = this.metrics.get(name) || [];
|
|
380
|
-
|
|
380
|
+
|
|
381
381
|
if (values.length === 0) {
|
|
382
382
|
return { count: 0, average: 0, min: 0, max: 0 };
|
|
383
383
|
}
|
|
@@ -407,11 +407,11 @@ export class PerformanceMonitor {
|
|
|
407
407
|
*/
|
|
408
408
|
static getReport(): Record<string, any> {
|
|
409
409
|
const report: Record<string, any> = {};
|
|
410
|
-
|
|
410
|
+
|
|
411
411
|
this.metrics.forEach((_, name) => {
|
|
412
412
|
report[name] = this.getStats(name);
|
|
413
413
|
});
|
|
414
|
-
|
|
414
|
+
|
|
415
415
|
return report;
|
|
416
416
|
}
|
|
417
417
|
}
|
|
@@ -498,4 +498,4 @@ export const themeUtils = {
|
|
|
498
498
|
presets: ThemePresets,
|
|
499
499
|
};
|
|
500
500
|
|
|
501
|
-
export default themeUtils;
|
|
501
|
+
export default themeUtils;
|