one-design-next 0.0.4-alpha.100
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +134 -0
- package/dist/_util/canUseDom.d.ts +1 -0
- package/dist/_util/canUseDom.js +3 -0
- package/dist/_util/color.d.ts +103 -0
- package/dist/_util/color.js +250 -0
- package/dist/_util/date.d.ts +53 -0
- package/dist/_util/date.js +657 -0
- package/dist/_util/focusManager.d.ts +12 -0
- package/dist/_util/focusManager.js +56 -0
- package/dist/_util/queueMtPolyfill.d.ts +5 -0
- package/dist/_util/queueMtPolyfill.js +19 -0
- package/dist/_util/time.d.ts +44 -0
- package/dist/_util/time.js +150 -0
- package/dist/_util/useActive.d.ts +6 -0
- package/dist/_util/useActive.js +25 -0
- package/dist/_util/useControlledState.d.ts +8 -0
- package/dist/_util/useControlledState.js +30 -0
- package/dist/_util/useLayoutEffect.d.ts +4 -0
- package/dist/_util/useLayoutEffect.js +30 -0
- package/dist/alert/index.d.ts +63 -0
- package/dist/alert/index.js +137 -0
- package/dist/alert/style/index.css +184 -0
- package/dist/alert/style/index.d.ts +2 -0
- package/dist/alert/style/index.js +2 -0
- package/dist/auto-complete/index.d.ts +64 -0
- package/dist/auto-complete/index.js +149 -0
- package/dist/avatar/index.d.ts +68 -0
- package/dist/avatar/index.js +177 -0
- package/dist/avatar/primitive.d.ts +6 -0
- package/dist/avatar/primitive.js +23 -0
- package/dist/avatar/style/index.css +74 -0
- package/dist/avatar/style/index.d.ts +2 -0
- package/dist/avatar/style/index.js +2 -0
- package/dist/button/index.d.ts +15 -0
- package/dist/button/index.js +64 -0
- package/dist/button/style/index.css +338 -0
- package/dist/button/style/index.d.ts +2 -0
- package/dist/button/style/index.js +2 -0
- package/dist/calendar/index.d.ts +25 -0
- package/dist/calendar/index.js +379 -0
- package/dist/calendar/style/index.css +5 -0
- package/dist/calendar/style/index.d.ts +2 -0
- package/dist/calendar/style/index.js +2 -0
- package/dist/card/header.d.ts +26 -0
- package/dist/card/header.js +37 -0
- package/dist/card/index.d.ts +24 -0
- package/dist/card/index.js +31 -0
- package/dist/card/style/index.css +141 -0
- package/dist/card/style/index.d.ts +1 -0
- package/dist/card/style/index.js +1 -0
- package/dist/cascader/CascaderOptionContent.d.ts +20 -0
- package/dist/cascader/CascaderOptionContent.js +85 -0
- package/dist/cascader/Panel.d.ts +53 -0
- package/dist/cascader/Panel.js +131 -0
- package/dist/cascader/index.d.ts +59 -0
- package/dist/cascader/index.js +436 -0
- package/dist/cascader/style/index.css +414 -0
- package/dist/cascader/style/index.d.ts +2 -0
- package/dist/cascader/style/index.js +2 -0
- package/dist/cascader/utils.d.ts +14 -0
- package/dist/cascader/utils.js +109 -0
- package/dist/chart/index.d.ts +14 -0
- package/dist/chart/index.js +11 -0
- package/dist/chart/style/index.css +1 -0
- package/dist/chart/style/index.d.ts +2 -0
- package/dist/chart/style/index.js +2 -0
- package/dist/checkbox/Checkbox.d.ts +77 -0
- package/dist/checkbox/Checkbox.js +178 -0
- package/dist/checkbox/Context.d.ts +35 -0
- package/dist/checkbox/Context.js +2 -0
- package/dist/checkbox/Group.d.ts +68 -0
- package/dist/checkbox/Group.js +151 -0
- package/dist/checkbox/index.d.ts +5 -0
- package/dist/checkbox/index.js +3 -0
- package/dist/checkbox/style/index.css +330 -0
- package/dist/checkbox/style/index.d.ts +2 -0
- package/dist/checkbox/style/index.js +2 -0
- package/dist/collapse/index.d.ts +43 -0
- package/dist/collapse/index.js +111 -0
- package/dist/collapse/primitive.d.ts +21 -0
- package/dist/collapse/primitive.js +103 -0
- package/dist/collapse/style/index.css +59 -0
- package/dist/collapse/style/index.d.ts +2 -0
- package/dist/collapse/style/index.js +2 -0
- package/dist/color-picker/index.d.ts +55 -0
- package/dist/color-picker/index.js +588 -0
- package/dist/color-picker/style/index.css +135 -0
- package/dist/color-picker/style/index.d.ts +2 -0
- package/dist/color-picker/style/index.js +2 -0
- package/dist/config-provider/index.d.ts +46 -0
- package/dist/config-provider/index.js +37 -0
- package/dist/date-picker/MonthPicker.d.ts +31 -0
- package/dist/date-picker/MonthPicker.js +161 -0
- package/dist/date-picker/QuarterPicker.d.ts +36 -0
- package/dist/date-picker/QuarterPicker.js +168 -0
- package/dist/date-picker/YearPicker.d.ts +13 -0
- package/dist/date-picker/YearPicker.js +84 -0
- package/dist/date-picker/index.d.ts +240 -0
- package/dist/date-picker/index.js +1249 -0
- package/dist/date-picker/style/index.css +511 -0
- package/dist/date-picker/style/index.d.ts +2 -0
- package/dist/date-picker/style/index.js +2 -0
- package/dist/date-range-picker/index.d.ts +58 -0
- package/dist/date-range-picker/index.js +1043 -0
- package/dist/dialog/index.d.ts +139 -0
- package/dist/dialog/index.js +300 -0
- package/dist/dialog/style/index.css +228 -0
- package/dist/dialog/style/index.d.ts +2 -0
- package/dist/dialog/style/index.js +2 -0
- package/dist/dialog/useModalPosition.d.ts +6 -0
- package/dist/dialog/useModalPosition.js +34 -0
- package/dist/drawer/index.d.ts +92 -0
- package/dist/drawer/index.js +214 -0
- package/dist/drawer/style/index.css +244 -0
- package/dist/drawer/style/index.d.ts +2 -0
- package/dist/drawer/style/index.js +2 -0
- package/dist/dropdown/index.d.ts +91 -0
- package/dist/dropdown/index.js +846 -0
- package/dist/dropdown/style/index.css +206 -0
- package/dist/dropdown/style/index.d.ts +2 -0
- package/dist/dropdown/style/index.js +2 -0
- package/dist/ellipsis-text/index.d.ts +19 -0
- package/dist/ellipsis-text/index.js +97 -0
- package/dist/ellipsis-text/style/index.css +1 -0
- package/dist/ellipsis-text/style/index.d.ts +2 -0
- package/dist/ellipsis-text/style/index.js +2 -0
- package/dist/empty/index.d.ts +20 -0
- package/dist/empty/index.js +2398 -0
- package/dist/empty/style/index.css +80 -0
- package/dist/empty/style/index.d.ts +2 -0
- package/dist/empty/style/index.js +2 -0
- package/dist/form/index.d.ts +106 -0
- package/dist/form/index.js +272 -0
- package/dist/form/style/index.css +84 -0
- package/dist/form/style/index.d.ts +2 -0
- package/dist/form/style/index.js +2 -0
- package/dist/hover-fill/index.d.ts +50 -0
- package/dist/hover-fill/index.js +258 -0
- package/dist/hover-fill/style/index.css +35 -0
- package/dist/hover-fill/style/index.d.ts +2 -0
- package/dist/hover-fill/style/index.js +2 -0
- package/dist/icon/index.d.ts +11 -0
- package/dist/icon/index.js +102 -0
- package/dist/icon/style/index.css +15 -0
- package/dist/icon/style/index.d.ts +2 -0
- package/dist/icon/style/index.js +2 -0
- package/dist/icon/svg/alert/alert-circle-filled.svg +1 -0
- package/dist/icon/svg/alert/alert-circle.svg +1 -0
- package/dist/icon/svg/alert/help-circle-filled.svg +1 -0
- package/dist/icon/svg/alert/help-circle.svg +1 -0
- package/dist/icon/svg/alert/info-circle-filled.svg +1 -0
- package/dist/icon/svg/alert/info-circle.svg +1 -0
- package/dist/icon/svg/alert/stop.svg +1 -0
- package/dist/icon/svg/alert/warning-filled.svg +1 -0
- package/dist/icon/svg/alert/warning.svg +1 -0
- package/dist/icon/svg/content/QRcode.svg +1 -0
- package/dist/icon/svg/content/bell-filled.svg +1 -0
- package/dist/icon/svg/content/bell.svg +1 -0
- package/dist/icon/svg/content/bidding.svg +1 -0
- package/dist/icon/svg/content/calendar.svg +1 -0
- package/dist/icon/svg/content/code.svg +1 -0
- package/dist/icon/svg/content/customColumn.svg +1 -0
- package/dist/icon/svg/content/data.svg +1 -0
- package/dist/icon/svg/content/dataReport-filled.svg +1 -0
- package/dist/icon/svg/content/dataReport.svg +1 -0
- package/dist/icon/svg/content/download-1.svg +1 -0
- package/dist/icon/svg/content/download-filled.svg +1 -0
- package/dist/icon/svg/content/download.svg +1 -0
- package/dist/icon/svg/content/exchange.svg +1 -0
- package/dist/icon/svg/content/filter-filled.svg +1 -0
- package/dist/icon/svg/content/filter.svg +1 -0
- package/dist/icon/svg/content/hot-filled.svg +1 -0
- package/dist/icon/svg/content/hot.svg +1 -0
- package/dist/icon/svg/content/link.svg +1 -0
- package/dist/icon/svg/content/location.svg +1 -0
- package/dist/icon/svg/content/maxSize.svg +1 -0
- package/dist/icon/svg/content/mobile-filled.svg +1 -0
- package/dist/icon/svg/content/mobile.svg +1 -0
- package/dist/icon/svg/content/mute.svg +1 -0
- package/dist/icon/svg/content/mutiImage-filled.svg +1 -0
- package/dist/icon/svg/content/mutiImage.svg +1 -0
- package/dist/icon/svg/content/refresh.svg +1 -0
- package/dist/icon/svg/content/report.svg +1 -0
- package/dist/icon/svg/content/save.svg +1 -0
- package/dist/icon/svg/content/search-bold.svg +1 -0
- package/dist/icon/svg/content/search-filled.svg +1 -0
- package/dist/icon/svg/content/search.svg +1 -0
- package/dist/icon/svg/content/setting.svg +1 -0
- package/dist/icon/svg/content/share.svg +1 -0
- package/dist/icon/svg/content/sort.svg +1 -0
- package/dist/icon/svg/content/sound.svg +1 -0
- package/dist/icon/svg/content/sticker-filled.svg +1 -0
- package/dist/icon/svg/content/sticker.svg +1 -0
- package/dist/icon/svg/content/tag-filled.svg +1 -0
- package/dist/icon/svg/content/tag.svg +1 -0
- package/dist/icon/svg/content/thumbDown-filled.svg +1 -0
- package/dist/icon/svg/content/thumbDown.svg +1 -0
- package/dist/icon/svg/content/thumbUp-filled.svg +1 -0
- package/dist/icon/svg/content/thumbUp.svg +1 -0
- package/dist/icon/svg/content/time-bold.svg +1 -0
- package/dist/icon/svg/content/time.svg +1 -0
- package/dist/icon/svg/content/verify.svg +1 -0
- package/dist/icon/svg/content/video.svg +1 -0
- package/dist/icon/svg/content/videoScreenshot.svg +1 -0
- package/dist/icon/svg/content/zoomIn.svg +1 -0
- package/dist/icon/svg/content/zoomOut.svg +1 -0
- package/dist/icon/svg/data/compare.svg +1 -0
- package/dist/icon/svg/data/histogram.svg +1 -0
- package/dist/icon/svg/editor/cancel-circle-filled.svg +1 -0
- package/dist/icon/svg/editor/cancel-circle.svg +1 -0
- package/dist/icon/svg/editor/cancel.svg +1 -0
- package/dist/icon/svg/editor/check-circle-filled.svg +1 -0
- package/dist/icon/svg/editor/check-circle.svg +1 -0
- package/dist/icon/svg/editor/check.svg +1 -0
- package/dist/icon/svg/editor/copy.svg +1 -0
- package/dist/icon/svg/editor/custom-filled.svg +1 -0
- package/dist/icon/svg/editor/custom.svg +1 -0
- package/dist/icon/svg/editor/delete.svg +1 -0
- package/dist/icon/svg/editor/deleteAD-filled.svg +1 -0
- package/dist/icon/svg/editor/draggable.svg +1 -0
- package/dist/icon/svg/editor/edit.svg +1 -0
- package/dist/icon/svg/editor/import.svg +1 -0
- package/dist/icon/svg/editor/minus-circle-filled.svg +1 -0
- package/dist/icon/svg/editor/minus-circle.svg +1 -0
- package/dist/icon/svg/editor/minus.svg +1 -0
- package/dist/icon/svg/editor/modify-bold.svg +1 -0
- package/dist/icon/svg/editor/modify.svg +1 -0
- package/dist/icon/svg/editor/multiCreate.svg +1 -0
- package/dist/icon/svg/editor/mutiSelect-filled.svg +1 -0
- package/dist/icon/svg/editor/mutiSelect.svg +1 -0
- package/dist/icon/svg/editor/pause-filled.svg +1 -0
- package/dist/icon/svg/editor/play-filled.svg +1 -0
- package/dist/icon/svg/editor/plus-circle-filled.svg +1 -0
- package/dist/icon/svg/editor/plus-circle.svg +1 -0
- package/dist/icon/svg/editor/plus.svg +1 -0
- package/dist/icon/svg/editor/send.svg +1 -0
- package/dist/icon/svg/editor/subdivide.svg +1 -0
- package/dist/icon/svg/navigation/arrowDown-filled.svg +1 -0
- package/dist/icon/svg/navigation/arrowDown.svg +1 -0
- package/dist/icon/svg/navigation/arrowLeft-filled.svg +1 -0
- package/dist/icon/svg/navigation/arrowLeft.svg +1 -0
- package/dist/icon/svg/navigation/arrowRight-filled.svg +1 -0
- package/dist/icon/svg/navigation/arrowRight.svg +1 -0
- package/dist/icon/svg/navigation/arrowUp-filled.svg +1 -0
- package/dist/icon/svg/navigation/arrowUp.svg +1 -0
- package/dist/icon/svg/navigation/bottom-filled.svg +1 -0
- package/dist/icon/svg/navigation/bottom.svg +1 -0
- package/dist/icon/svg/navigation/doubleLeft-filled.svg +1 -0
- package/dist/icon/svg/navigation/doubleLeft.svg +1 -0
- package/dist/icon/svg/navigation/doubleRight-filled.svg +1 -0
- package/dist/icon/svg/navigation/doubleRight.svg +1 -0
- package/dist/icon/svg/navigation/down-bold.svg +1 -0
- package/dist/icon/svg/navigation/down-filled.svg +1 -0
- package/dist/icon/svg/navigation/down.svg +1 -0
- package/dist/icon/svg/navigation/fall-filled.svg +1 -0
- package/dist/icon/svg/navigation/fold.svg +1 -0
- package/dist/icon/svg/navigation/fullScreen.svg +1 -0
- package/dist/icon/svg/navigation/left-bold.svg +1 -0
- package/dist/icon/svg/navigation/left-filled.svg +1 -0
- package/dist/icon/svg/navigation/left.svg +1 -0
- package/dist/icon/svg/navigation/leftFirst-filled.svg +1 -0
- package/dist/icon/svg/navigation/leftFirst.svg +1 -0
- package/dist/icon/svg/navigation/logout.svg +1 -0
- package/dist/icon/svg/navigation/menu.svg +1 -0
- package/dist/icon/svg/navigation/menuLeft-bold.svg +1 -0
- package/dist/icon/svg/navigation/menuLeft.svg +1 -0
- package/dist/icon/svg/navigation/menuRight-bold.svg +1 -0
- package/dist/icon/svg/navigation/menuRight.svg +1 -0
- package/dist/icon/svg/navigation/more-vertical.svg +1 -0
- package/dist/icon/svg/navigation/more.svg +1 -0
- package/dist/icon/svg/navigation/pointerLeft-filled.svg +1 -0
- package/dist/icon/svg/navigation/pointerRight-filled.svg +1 -0
- package/dist/icon/svg/navigation/right-bold.svg +1 -0
- package/dist/icon/svg/navigation/right-filled.svg +1 -0
- package/dist/icon/svg/navigation/right.svg +1 -0
- package/dist/icon/svg/navigation/rightLast-filled.svg +1 -0
- package/dist/icon/svg/navigation/rightLast.svg +1 -0
- package/dist/icon/svg/navigation/rise-filled.svg +1 -0
- package/dist/icon/svg/navigation/top-filled.svg +1 -0
- package/dist/icon/svg/navigation/top.svg +1 -0
- package/dist/icon/svg/navigation/unfold-filled.svg +1 -0
- package/dist/icon/svg/navigation/unfold.svg +1 -0
- package/dist/icon/svg/navigation/up-bold.svg +1 -0
- package/dist/icon/svg/navigation/up-filled.svg +1 -0
- package/dist/icon/svg/navigation/up.svg +1 -0
- package/dist/icon/svg/product/AIFile.svg +1 -0
- package/dist/icon/svg/product/LandingPage.svg +1 -0
- package/dist/icon/svg/product/addressBook.svg +1 -0
- package/dist/icon/svg/product/alarmClock.svg +1 -0
- package/dist/icon/svg/product/asset-square.svg +1 -0
- package/dist/icon/svg/product/assetProtecting.svg +1 -0
- package/dist/icon/svg/product/autoAD-square-filled.svg +1 -0
- package/dist/icon/svg/product/card-distribute.svg +1 -0
- package/dist/icon/svg/product/channels-square-filled.svg +1 -0
- package/dist/icon/svg/product/channels.svg +1 -0
- package/dist/icon/svg/product/chart.svg +3 -0
- package/dist/icon/svg/product/chatBubble-filled.svg +1 -0
- package/dist/icon/svg/product/checkBadge.svg +1 -0
- package/dist/icon/svg/product/comments.svg +1 -0
- package/dist/icon/svg/product/container.svg +1 -0
- package/dist/icon/svg/product/dataAuth.svg +1 -0
- package/dist/icon/svg/product/dataBoard.svg +1 -0
- package/dist/icon/svg/product/dataBox.svg +1 -0
- package/dist/icon/svg/product/dataFolder.svg +1 -0
- package/dist/icon/svg/product/dataRising.svg +1 -0
- package/dist/icon/svg/product/detect.svg +1 -0
- package/dist/icon/svg/product/exposure-filled.svg +1 -0
- package/dist/icon/svg/product/extendedConfig.svg +1 -0
- package/dist/icon/svg/product/file-filled.svg +1 -0
- package/dist/icon/svg/product/flag.svg +1 -0
- package/dist/icon/svg/product/flame.svg +1 -0
- package/dist/icon/svg/product/folderZip.svg +1 -0
- package/dist/icon/svg/product/folderzip-bold.svg +1 -0
- package/dist/icon/svg/product/guideBook.svg +1 -0
- package/dist/icon/svg/product/hosting.svg +1 -0
- package/dist/icon/svg/product/icon-outlined.svg +1 -0
- package/dist/icon/svg/product/idea-bold.svg +1 -0
- package/dist/icon/svg/product/idea.svg +1 -0
- package/dist/icon/svg/product/image-bold.svg +1 -0
- package/dist/icon/svg/product/image-filled.svg +1 -0
- package/dist/icon/svg/product/image.svg +1 -0
- package/dist/icon/svg/product/images.svg +1 -0
- package/dist/icon/svg/product/keyword.svg +1 -0
- package/dist/icon/svg/product/linkSquare.svg +1 -0
- package/dist/icon/svg/product/lock.svg +1 -0
- package/dist/icon/svg/product/magic-filled.svg +1 -0
- package/dist/icon/svg/product/magic.svg +1 -0
- package/dist/icon/svg/product/miniProgram.svg +1 -0
- package/dist/icon/svg/product/minigame-filled.svg +1 -0
- package/dist/icon/svg/product/mobilePage.svg +1 -0
- package/dist/icon/svg/product/moments-filled.svg +1 -0
- package/dist/icon/svg/product/notepad-bold.svg +1 -0
- package/dist/icon/svg/product/notepad.svg +1 -0
- package/dist/icon/svg/product/offiaccount-filled.svg +1 -0
- package/dist/icon/svg/product/playing.svg +1 -0
- package/dist/icon/svg/product/qualification.svg +1 -0
- package/dist/icon/svg/product/quickFile.svg +1 -0
- package/dist/icon/svg/product/ringStruckture.svg +1 -0
- package/dist/icon/svg/product/searchAD-filled.svg +1 -0
- package/dist/icon/svg/product/searchAD.svg +1 -0
- package/dist/icon/svg/product/shield-filled.svg +1 -0
- package/dist/icon/svg/product/shield.svg +1 -0
- package/dist/icon/svg/product/shop.svg +1 -0
- package/dist/icon/svg/product/shopping.svg +1 -0
- package/dist/icon/svg/product/star-filled.svg +1 -0
- package/dist/icon/svg/product/star.svg +1 -0
- package/dist/icon/svg/product/support-bold.svg +1 -0
- package/dist/icon/svg/product/target.svg +1 -0
- package/dist/icon/svg/product/targeting.svg +1 -0
- package/dist/icon/svg/product/task-filled.svg +1 -0
- package/dist/icon/svg/product/task.svg +1 -0
- package/dist/icon/svg/product/template.svg +1 -0
- package/dist/icon/svg/product/templateBag.svg +1 -0
- package/dist/icon/svg/product/text.svg +1 -0
- package/dist/icon/svg/product/treeStructure.svg +1 -0
- package/dist/icon/svg/product/user-add.svg +3 -0
- package/dist/icon/svg/product/user-circle.svg +1 -0
- package/dist/icon/svg/product/user-edit.svg +1 -0
- package/dist/icon/svg/product/user-pack.svg +1 -0
- package/dist/icon/svg/product/userList.svg +1 -0
- package/dist/icon/svg/product/userPack.svg +1 -0
- package/dist/icon/svg/product/users-bold.svg +1 -0
- package/dist/icon/svg/product/users.svg +1 -0
- package/dist/icon/svg/product/videoBag-filled.svg +1 -0
- package/dist/icon/svg/product/viewMask.svg +1 -0
- package/dist/icon/svg/product/wallet.svg +1 -0
- package/dist/icon/svg/product/wechatBubble-filled.svg +1 -0
- package/dist/icon/svg/product/wechatBubble.svg +1 -0
- package/dist/icon/svg/product/wechatSearch.svg +1 -0
- package/dist/icon/svg/product/writing.svg +1 -0
- package/dist/icon/svg-data.d.ts +479 -0
- package/dist/icon/svg-data.js +481 -0
- package/dist/icon/test-icons.html +122 -0
- package/dist/icon/types.d.ts +3 -0
- package/dist/icon/types.js +5 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.js +57 -0
- package/dist/input/index.d.ts +82 -0
- package/dist/input/index.js +451 -0
- package/dist/input/style/index.css +244 -0
- package/dist/input/style/index.d.ts +2 -0
- package/dist/input/style/index.js +2 -0
- package/dist/input-number/index.d.ts +41 -0
- package/dist/input-number/index.js +431 -0
- package/dist/input-number/style/index.css +65 -0
- package/dist/input-number/style/index.d.ts +2 -0
- package/dist/input-number/style/index.js +2 -0
- package/dist/input-otp/index.d.ts +71 -0
- package/dist/input-otp/index.js +87 -0
- package/dist/input-otp/style/index.css +110 -0
- package/dist/input-otp/style/index.d.ts +2 -0
- package/dist/input-otp/style/index.js +2 -0
- package/dist/layout/index.d.ts +3 -0
- package/dist/layout/index.js +3 -0
- package/dist/layout/layout.d.ts +32 -0
- package/dist/layout/layout.js +203 -0
- package/dist/layout/mp-layout.d.ts +68 -0
- package/dist/layout/mp-layout.js +204 -0
- package/dist/layout/style/index.css +464 -0
- package/dist/layout/style/index.d.ts +2 -0
- package/dist/layout/style/index.js +2 -0
- package/dist/link/index.d.ts +37 -0
- package/dist/link/index.js +46 -0
- package/dist/link/style/index.css +39 -0
- package/dist/link/style/index.d.ts +2 -0
- package/dist/link/style/index.js +2 -0
- package/dist/loading/index.d.ts +11 -0
- package/dist/loading/index.js +46 -0
- package/dist/loading/style/index.css +84 -0
- package/dist/loading/style/index.d.ts +2 -0
- package/dist/loading/style/index.js +2 -0
- package/dist/message/MessageBase.d.ts +86 -0
- package/dist/message/MessageBase.js +395 -0
- package/dist/message/MessageReact16.d.ts +2 -0
- package/dist/message/MessageReact16.js +86 -0
- package/dist/message/MessageReact18.d.ts +2 -0
- package/dist/message/MessageReact18.js +98 -0
- package/dist/message/index.d.ts +3 -0
- package/dist/message/index.js +7 -0
- package/dist/message/style/index.css +121 -0
- package/dist/message/style/index.d.ts +2 -0
- package/dist/message/style/index.js +2 -0
- package/dist/modal-base/gap.d.ts +14 -0
- package/dist/modal-base/gap.js +31 -0
- package/dist/modal-base/index.d.ts +26 -0
- package/dist/modal-base/index.js +114 -0
- package/dist/number-flow/index.d.ts +13 -0
- package/dist/number-flow/index.js +25 -0
- package/dist/number-flow/style/index.css +1 -0
- package/dist/number-flow/style/index.d.ts +2 -0
- package/dist/number-flow/style/index.js +2 -0
- package/dist/pagination/index.d.ts +63 -0
- package/dist/pagination/index.js +424 -0
- package/dist/pagination/style/index.css +135 -0
- package/dist/pagination/style/index.d.ts +2 -0
- package/dist/pagination/style/index.js +2 -0
- package/dist/pop-base/index.d.ts +143 -0
- package/dist/pop-base/index.js +381 -0
- package/dist/pop-base/mergeProps.d.ts +37 -0
- package/dist/pop-base/mergeProps.js +144 -0
- package/dist/pop-base/style/index.css +123 -0
- package/dist/pop-base/style/index.d.ts +2 -0
- package/dist/pop-base/style/index.js +2 -0
- package/dist/pop-base/useForkRef.d.ts +5 -0
- package/dist/pop-base/useForkRef.js +52 -0
- package/dist/popover/index.d.ts +4 -0
- package/dist/popover/index.js +9 -0
- package/dist/radio/index.d.ts +35 -0
- package/dist/radio/index.js +77 -0
- package/dist/radio/primitive.d.ts +5 -0
- package/dist/radio/primitive.js +28 -0
- package/dist/radio/style/index.css +224 -0
- package/dist/radio/style/index.d.ts +2 -0
- package/dist/radio/style/index.js +2 -0
- package/dist/scroll-area/index.d.ts +29 -0
- package/dist/scroll-area/index.js +118 -0
- package/dist/scroll-area/style/index.css +107 -0
- package/dist/scroll-area/style/index.d.ts +2 -0
- package/dist/scroll-area/style/index.js +2 -0
- package/dist/select/index.d.ts +86 -0
- package/dist/select/index.js +275 -0
- package/dist/select/style/index.css +1473 -0
- package/dist/select/style/index.d.ts +2 -0
- package/dist/select/style/index.js +2 -0
- package/dist/select/useIcons.d.ts +25 -0
- package/dist/select/useIcons.js +80 -0
- package/dist/select/utils.d.ts +9 -0
- package/dist/select/utils.js +40 -0
- package/dist/slider/index.d.ts +69 -0
- package/dist/slider/index.js +264 -0
- package/dist/slider/style/index.css +210 -0
- package/dist/slider/style/index.d.ts +2 -0
- package/dist/slider/style/index.js +2 -0
- package/dist/style/base.css +296 -0
- package/dist/style/index.d.ts +7 -0
- package/dist/style/index.js +18 -0
- package/dist/style/theme-adui.css +352 -0
- package/dist/switch/index.d.ts +12 -0
- package/dist/switch/index.js +55 -0
- package/dist/switch/style/index.css +149 -0
- package/dist/switch/style/index.d.ts +2 -0
- package/dist/switch/style/index.js +2 -0
- package/dist/table/TableCellContent.d.ts +20 -0
- package/dist/table/TableCellContent.js +82 -0
- package/dist/table/index.d.ts +97 -0
- package/dist/table/index.js +796 -0
- package/dist/table/style/index.css +301 -0
- package/dist/table/style/index.d.ts +2 -0
- package/dist/table/style/index.js +2 -0
- package/dist/table/useSelection.d.ts +13 -0
- package/dist/table/useSelection.js +268 -0
- package/dist/tabs/index.d.ts +51 -0
- package/dist/tabs/index.js +697 -0
- package/dist/tabs/style/index.css +305 -0
- package/dist/tabs/style/index.d.ts +2 -0
- package/dist/tabs/style/index.js +2 -0
- package/dist/text-swap/index.d.ts +58 -0
- package/dist/text-swap/index.js +280 -0
- package/dist/text-swap/style/index.css +29 -0
- package/dist/text-swap/style/index.d.ts +2 -0
- package/dist/text-swap/style/index.js +2 -0
- package/dist/time-picker/index.d.ts +67 -0
- package/dist/time-picker/index.js +945 -0
- package/dist/time-picker/style/index.css +153 -0
- package/dist/time-picker/style/index.d.ts +2 -0
- package/dist/time-picker/style/index.js +2 -0
- package/dist/tooltip/index.d.ts +10 -0
- package/dist/tooltip/index.js +178 -0
- package/dist/tree-select/index.d.ts +25 -0
- package/dist/tree-select/index.js +140 -0
- package/dist/tree-select/style/index.css +180 -0
- package/dist/tree-select/style/index.d.ts +1 -0
- package/dist/tree-select/style/index.js +1 -0
- package/dist/virtual-list/index.d.ts +98 -0
- package/dist/virtual-list/index.js +56 -0
- package/dist/virtual-list/style/index.css +9 -0
- package/dist/virtual-list/style/index.d.ts +2 -0
- package/dist/virtual-list/style/index.js +2 -0
- package/package.json +132 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) yijiejiang@tencent.com
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# one-design-next
|
|
2
|
+
|
|
3
|
+
One Design Next from TAD
|
|
4
|
+
|
|
5
|
+
目标:
|
|
6
|
+
|
|
7
|
+
1. 对 One Design 设计语言来说,提供高质量高保真的再实现;
|
|
8
|
+
2. 对其他 AMS 业务来说,提供高质量高自由度的基础库。
|
|
9
|
+
|
|
10
|
+
## 组件选型
|
|
11
|
+
|
|
12
|
+
## 自定义组件:ConfigProvider 及 CSS Variables
|
|
13
|
+
|
|
14
|
+
自定义组件的能力通过 ConfigProvider 及 CSS Variables 实现。
|
|
15
|
+
|
|
16
|
+
CSS Variables 当然也可以由 ConfigProvider 替代,但 CSS Variables 更方便,而且可以绕过 Message 组件不在 context 的问题,同时也方便未来的 Figma 资产生成。
|
|
17
|
+
|
|
18
|
+
CSS Variables 分为 base.css 中的基础变量,及组件级别的组件变量。后者引用前者。如需大范围的样式用前者,更细粒度的样式用后者。
|
|
19
|
+
|
|
20
|
+
ConfigProvider 则负责更复杂的自定义,如 Icon 的自定义添加,以及增加组件行为,比如 Button 的点击行为定义。
|
|
21
|
+
|
|
22
|
+
## react-day-picker-for-od
|
|
23
|
+
|
|
24
|
+
**20260106 由于 dmp 已升级 node,因此废除,直接使用 react-day-picker@9 即可。**
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
https://github.com/aragakey/react-day-picker
|
|
29
|
+
|
|
30
|
+
fork 自 react-day-picker@9,保持 @9 的版本更新。
|
|
31
|
+
|
|
32
|
+
fork 只修改了对 node>18 的依赖,以兼容有一些业务必须使用 16 或更低的 node 版本。
|
|
33
|
+
|
|
34
|
+
## 2025-05-20 TODO
|
|
35
|
+
|
|
36
|
+
- [] https://ant.design/components/config-provider-cn#config-provider-demo-wave
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## 发布流程 SOP(给 AI 助手读取用)
|
|
41
|
+
|
|
42
|
+
> 每次发布 alpha 版本,直接按以下步骤执行,无需人工确认每一步。
|
|
43
|
+
|
|
44
|
+
### 环境准备(首次或环境重置后)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# 设置 npm registry
|
|
48
|
+
npm config set registry http://mirrors.tencent.com/npm/
|
|
49
|
+
pnpm config set registry http://mirrors.tencent.com/npm/
|
|
50
|
+
|
|
51
|
+
# 配置 npm auth token(每次 token 失效时更新)
|
|
52
|
+
# 格式写入 ~/.npmrc:
|
|
53
|
+
# //mirrors.tencent.com/npm/:_authToken="<base64-token>"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Step 1:更新 one-design-next 版本号并发布
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# 1. 进入仓库,切到 master,拉最新
|
|
60
|
+
cd /root/.openclaw/workspace/one-design-next
|
|
61
|
+
git checkout master && git pull origin master
|
|
62
|
+
|
|
63
|
+
# 2. 读取当前版本,计算下一个 alpha 版本
|
|
64
|
+
# 当前版本格式:0.0.4-alpha.N → 下一个:0.0.4-alpha.(N+1)
|
|
65
|
+
# 用工蜂 MCP 直接修改 package.json 并 commit 到 master(见下方 AI 操作说明)
|
|
66
|
+
|
|
67
|
+
# 3. 拉取最新(含刚提交的版本号变更)
|
|
68
|
+
git pull origin master
|
|
69
|
+
|
|
70
|
+
# 4. 安装依赖(注意:npm install 在 node v22 有 bug,必须用 pnpm)
|
|
71
|
+
pnpm install
|
|
72
|
+
|
|
73
|
+
# 5. 构建(prepublishOnly 会自动 build,但提前 build 可提前发现错误)
|
|
74
|
+
pnpm run build
|
|
75
|
+
|
|
76
|
+
# 6. 发布
|
|
77
|
+
npm publish --registry http://mirrors.tencent.com/npm/
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
> ⚠️ **已知问题:npm install 在 node v22 报错**
|
|
81
|
+
> 错误:`Cannot read properties of null (reading 'matches')`
|
|
82
|
+
> 原因:npm v10 arborist 的 bug
|
|
83
|
+
> **解决:始终用 `pnpm install`,不要用 `npm install`**
|
|
84
|
+
|
|
85
|
+
### Step 2:更新 tad-universal-components
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# 1. 进入仓库(如不存在则 clone)
|
|
89
|
+
cd /root/.openclaw/workspace/tad-universal-components
|
|
90
|
+
# 或:git clone https://git.woa.com/tad-ag/tad-universal-components.git
|
|
91
|
+
|
|
92
|
+
# 2. 切到 odn-update 分支,合入最新 main
|
|
93
|
+
git checkout odn-update
|
|
94
|
+
git fetch origin
|
|
95
|
+
git merge origin/main --no-edit
|
|
96
|
+
|
|
97
|
+
# 3. 更新 packages/lib-od/package.json 中的版本号
|
|
98
|
+
# 将 "one-design-next": "^0.0.4-alpha.N" 改为新版本
|
|
99
|
+
|
|
100
|
+
# 4. pnpm install 更新 lock 文件
|
|
101
|
+
pnpm install
|
|
102
|
+
|
|
103
|
+
# 5. 提交(注意 commitlint scope 规则)
|
|
104
|
+
git add packages/lib-od/package.json pnpm-lock.yaml
|
|
105
|
+
git commit -m "chore(od): update one-design-next to <新版本号>"
|
|
106
|
+
git push origin odn-update
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
> ⚠️ **已知问题:commitlint scope 校验**
|
|
110
|
+
> 错误:`scope may not be empty` 或 `无效 scope`
|
|
111
|
+
> **允许的 scope 值**:`common`, `od`, `adui`, `antdm`, `td-vue`, `ots`, `base`, `biz-mx`, `biz-mb`, `biz-ms`, `biz-mw`, `*`, `release`
|
|
112
|
+
> **正确写法**:`chore(od): update one-design-next to 0.0.4-alpha.83`
|
|
113
|
+
|
|
114
|
+
### Step 3:创建 MR
|
|
115
|
+
|
|
116
|
+
通过工蜂 MCP 创建:
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
project_id: tad-ag/tad-universal-components
|
|
120
|
+
source_branch: odn-update
|
|
121
|
+
target_branch: main
|
|
122
|
+
title: chore(od): update one-design-next to <新版本号>
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
MR 链接格式:`https://git.woa.com/tad-ag/tad-universal-components/-/merge_requests/<iid>`
|
|
126
|
+
|
|
127
|
+
### 完整版本信息
|
|
128
|
+
|
|
129
|
+
| 仓库 | 地址 |
|
|
130
|
+
| ------------------------ | --------------------------------------------------- |
|
|
131
|
+
| one-design-next | https://git.woa.com/wxad-design/one-design-next |
|
|
132
|
+
| tad-universal-components | https://git.woa.com/tad-ag/tad-universal-components |
|
|
133
|
+
| npm registry | http://mirrors.tencent.com/npm/ |
|
|
134
|
+
| npm 包名 | one-design-next |
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function canUseDom(): boolean;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 颜色相关工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 检查字符串是否为合法的 hex 颜色值(不包含 # 号)
|
|
6
|
+
* @param color 颜色字符串,如 "FF0000" 或 "ff0000"
|
|
7
|
+
* @returns 是否为合法的 hex 颜色
|
|
8
|
+
*/
|
|
9
|
+
export declare const isValidHexColor: (color: string) => boolean;
|
|
10
|
+
/**
|
|
11
|
+
* 将颜色字符串转换为大写
|
|
12
|
+
* @param color 颜色字符串
|
|
13
|
+
* @returns 大写的颜色字符串
|
|
14
|
+
*/
|
|
15
|
+
export declare const normalizeHexColor: (color: string) => string;
|
|
16
|
+
/**
|
|
17
|
+
* 将 3 位 hex 颜色扩展为 6 位
|
|
18
|
+
* @param color 3 位或 6 位 hex 颜色值
|
|
19
|
+
* @returns 6 位 hex 颜色值
|
|
20
|
+
*/
|
|
21
|
+
export declare const expandHexColor: (color: string) => string;
|
|
22
|
+
/**
|
|
23
|
+
* 将 hex 颜色值转换为 RGB 对象
|
|
24
|
+
* @param color hex 颜色值(不包含 #)
|
|
25
|
+
* @returns RGB 对象 { r, g, b } 或 null
|
|
26
|
+
*/
|
|
27
|
+
export declare const hexToRgb: (color: string) => {
|
|
28
|
+
r: number;
|
|
29
|
+
g: number;
|
|
30
|
+
b: number;
|
|
31
|
+
} | null;
|
|
32
|
+
/**
|
|
33
|
+
* 将 RGB 值转换为 hex 颜色值
|
|
34
|
+
* @param r 红色分量 (0-255)
|
|
35
|
+
* @param g 绿色分量 (0-255)
|
|
36
|
+
* @param b 蓝色分量 (0-255)
|
|
37
|
+
* @returns hex 颜色值(不包含 #)
|
|
38
|
+
*/
|
|
39
|
+
export declare const rgbToHex: (r: number, g: number, b: number) => string;
|
|
40
|
+
/**
|
|
41
|
+
* 获取颜色的显示值(带 # 前缀)
|
|
42
|
+
* @param color hex 颜色值(不包含 #)
|
|
43
|
+
* @returns 带 # 前缀的颜色值,如 "#FF0000"
|
|
44
|
+
*/
|
|
45
|
+
export declare const getColorDisplayValue: (color: string) => string;
|
|
46
|
+
/**
|
|
47
|
+
* 从带 # 前缀的颜色值中提取 hex 值
|
|
48
|
+
* @param colorWithHash 带 # 前缀的颜色值,如 "#FF0000"
|
|
49
|
+
* @returns 不带 # 的 hex 值,如 "FF0000"
|
|
50
|
+
*/
|
|
51
|
+
export declare const extractHexFromDisplay: (colorWithHash: string) => string;
|
|
52
|
+
/**
|
|
53
|
+
* 检查是否为有效的显示颜色值(带 # 前缀)
|
|
54
|
+
* @param displayColor 带 # 前缀的颜色值
|
|
55
|
+
* @returns 是否为有效的显示颜色值
|
|
56
|
+
*/
|
|
57
|
+
export declare const isValidDisplayColor: (displayColor: string) => boolean;
|
|
58
|
+
/**
|
|
59
|
+
* 将 RGB 值转换为 HSB 值
|
|
60
|
+
* @param r 红色分量 (0-255)
|
|
61
|
+
* @param g 绿色分量 (0-255)
|
|
62
|
+
* @param b 蓝色分量 (0-255)
|
|
63
|
+
* @returns HSB 对象 { h: 0-360, s: 0-100, b: 0-100 }
|
|
64
|
+
*/
|
|
65
|
+
export declare const rgbToHsb: (r: number, g: number, b: number) => {
|
|
66
|
+
h: number;
|
|
67
|
+
s: number;
|
|
68
|
+
b: number;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* 将 HSB 值转换为 RGB 值
|
|
72
|
+
* @param h 色相 (0-360)
|
|
73
|
+
* @param s 饱和度 (0-100)
|
|
74
|
+
* @param b 亮度 (0-100)
|
|
75
|
+
* @returns RGB 对象 { r, g, b }
|
|
76
|
+
*/
|
|
77
|
+
export declare const hsbToRgb: (h: number, s: number, b: number) => {
|
|
78
|
+
r: number;
|
|
79
|
+
g: number;
|
|
80
|
+
b: number;
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* 将 hex 颜色值转换为 HSB 值
|
|
84
|
+
* @param color hex 颜色值(不包含 #)
|
|
85
|
+
* @returns HSB 对象 { h, s, b } 或 null
|
|
86
|
+
*/
|
|
87
|
+
export declare const hexToHsb: (color: string) => {
|
|
88
|
+
h: number;
|
|
89
|
+
s: number;
|
|
90
|
+
b: number;
|
|
91
|
+
} | null;
|
|
92
|
+
/**
|
|
93
|
+
* 将 HSB 值转换为 hex 颜色值
|
|
94
|
+
* @param h 色相 (0-360)
|
|
95
|
+
* @param s 饱和度 (0-100)
|
|
96
|
+
* @param b 亮度 (0-100)
|
|
97
|
+
* @returns hex 颜色值(不包含 #)
|
|
98
|
+
*/
|
|
99
|
+
export declare const hsbToHex: (h: number, s: number, b: number) => string;
|
|
100
|
+
/**
|
|
101
|
+
* 默认颜色值
|
|
102
|
+
*/
|
|
103
|
+
export declare const DEFAULT_COLOR = "FFFFFF";
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 颜色相关工具函数
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 检查字符串是否为合法的 hex 颜色值(不包含 # 号)
|
|
7
|
+
* @param color 颜色字符串,如 "FF0000" 或 "ff0000"
|
|
8
|
+
* @returns 是否为合法的 hex 颜色
|
|
9
|
+
*/
|
|
10
|
+
export var isValidHexColor = function isValidHexColor(color) {
|
|
11
|
+
if (!color || typeof color !== 'string') {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// 移除空格
|
|
16
|
+
var trimmedColor = color.trim();
|
|
17
|
+
|
|
18
|
+
// 检查长度(支持 3 位和 6 位)
|
|
19
|
+
if (trimmedColor.length !== 3 && trimmedColor.length !== 6) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// 检查是否只包含有效的 hex 字符
|
|
24
|
+
var hexPattern = /^[0-9A-Fa-f]+$/;
|
|
25
|
+
return hexPattern.test(trimmedColor);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* 将颜色字符串转换为大写
|
|
30
|
+
* @param color 颜色字符串
|
|
31
|
+
* @returns 大写的颜色字符串
|
|
32
|
+
*/
|
|
33
|
+
export var normalizeHexColor = function normalizeHexColor(color) {
|
|
34
|
+
if (!color || typeof color !== 'string') {
|
|
35
|
+
return '';
|
|
36
|
+
}
|
|
37
|
+
return color.trim().toUpperCase();
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* 将 3 位 hex 颜色扩展为 6 位
|
|
42
|
+
* @param color 3 位或 6 位 hex 颜色值
|
|
43
|
+
* @returns 6 位 hex 颜色值
|
|
44
|
+
*/
|
|
45
|
+
export var expandHexColor = function expandHexColor(color) {
|
|
46
|
+
if (!isValidHexColor(color)) {
|
|
47
|
+
return color;
|
|
48
|
+
}
|
|
49
|
+
var normalized = normalizeHexColor(color);
|
|
50
|
+
if (normalized.length === 3) {
|
|
51
|
+
// 将 3 位扩展为 6 位,如 F0A -> FF00AA
|
|
52
|
+
return normalized.split('').map(function (char) {
|
|
53
|
+
return char + char;
|
|
54
|
+
}).join('');
|
|
55
|
+
}
|
|
56
|
+
return normalized;
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* 将 hex 颜色值转换为 RGB 对象
|
|
61
|
+
* @param color hex 颜色值(不包含 #)
|
|
62
|
+
* @returns RGB 对象 { r, g, b } 或 null
|
|
63
|
+
*/
|
|
64
|
+
export var hexToRgb = function hexToRgb(color) {
|
|
65
|
+
if (!isValidHexColor(color)) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
var expanded = expandHexColor(color);
|
|
69
|
+
var r = parseInt(expanded.slice(0, 2), 16);
|
|
70
|
+
var g = parseInt(expanded.slice(2, 4), 16);
|
|
71
|
+
var b = parseInt(expanded.slice(4, 6), 16);
|
|
72
|
+
return {
|
|
73
|
+
r: r,
|
|
74
|
+
g: g,
|
|
75
|
+
b: b
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* 将 RGB 值转换为 hex 颜色值
|
|
81
|
+
* @param r 红色分量 (0-255)
|
|
82
|
+
* @param g 绿色分量 (0-255)
|
|
83
|
+
* @param b 蓝色分量 (0-255)
|
|
84
|
+
* @returns hex 颜色值(不包含 #)
|
|
85
|
+
*/
|
|
86
|
+
export var rgbToHex = function rgbToHex(r, g, b) {
|
|
87
|
+
var toHex = function toHex(n) {
|
|
88
|
+
var hex = Math.round(Math.max(0, Math.min(255, n))).toString(16);
|
|
89
|
+
return hex.length === 1 ? '0' + hex : hex;
|
|
90
|
+
};
|
|
91
|
+
return (toHex(r) + toHex(g) + toHex(b)).toUpperCase();
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* 获取颜色的显示值(带 # 前缀)
|
|
96
|
+
* @param color hex 颜色值(不包含 #)
|
|
97
|
+
* @returns 带 # 前缀的颜色值,如 "#FF0000"
|
|
98
|
+
*/
|
|
99
|
+
export var getColorDisplayValue = function getColorDisplayValue(color) {
|
|
100
|
+
if (!color) {
|
|
101
|
+
return '';
|
|
102
|
+
}
|
|
103
|
+
return "#".concat(normalizeHexColor(color));
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* 从带 # 前缀的颜色值中提取 hex 值
|
|
108
|
+
* @param colorWithHash 带 # 前缀的颜色值,如 "#FF0000"
|
|
109
|
+
* @returns 不带 # 的 hex 值,如 "FF0000"
|
|
110
|
+
*/
|
|
111
|
+
export var extractHexFromDisplay = function extractHexFromDisplay(colorWithHash) {
|
|
112
|
+
if (!colorWithHash || typeof colorWithHash !== 'string') {
|
|
113
|
+
return '';
|
|
114
|
+
}
|
|
115
|
+
var trimmed = colorWithHash.trim();
|
|
116
|
+
if (trimmed.startsWith('#')) {
|
|
117
|
+
return trimmed.slice(1);
|
|
118
|
+
}
|
|
119
|
+
return trimmed;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* 检查是否为有效的显示颜色值(带 # 前缀)
|
|
124
|
+
* @param displayColor 带 # 前缀的颜色值
|
|
125
|
+
* @returns 是否为有效的显示颜色值
|
|
126
|
+
*/
|
|
127
|
+
export var isValidDisplayColor = function isValidDisplayColor(displayColor) {
|
|
128
|
+
if (!displayColor || typeof displayColor !== 'string') {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
var trimmed = displayColor.trim();
|
|
132
|
+
if (trimmed.startsWith('#')) {
|
|
133
|
+
return isValidHexColor(trimmed.slice(1));
|
|
134
|
+
}
|
|
135
|
+
return false;
|
|
136
|
+
};
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* 将 RGB 值转换为 HSB 值
|
|
140
|
+
* @param r 红色分量 (0-255)
|
|
141
|
+
* @param g 绿色分量 (0-255)
|
|
142
|
+
* @param b 蓝色分量 (0-255)
|
|
143
|
+
* @returns HSB 对象 { h: 0-360, s: 0-100, b: 0-100 }
|
|
144
|
+
*/
|
|
145
|
+
export var rgbToHsb = function rgbToHsb(r, g, b) {
|
|
146
|
+
r /= 255;
|
|
147
|
+
g /= 255;
|
|
148
|
+
b /= 255;
|
|
149
|
+
var max = Math.max(r, g, b);
|
|
150
|
+
var min = Math.min(r, g, b);
|
|
151
|
+
var diff = max - min;
|
|
152
|
+
var h = 0;
|
|
153
|
+
var s = max === 0 ? 0 : diff / max * 100;
|
|
154
|
+
var brightness = max * 100;
|
|
155
|
+
if (diff !== 0) {
|
|
156
|
+
switch (max) {
|
|
157
|
+
case r:
|
|
158
|
+
h = ((g - b) / diff + (g < b ? 6 : 0)) * 60;
|
|
159
|
+
break;
|
|
160
|
+
case g:
|
|
161
|
+
h = ((b - r) / diff + 2) * 60;
|
|
162
|
+
break;
|
|
163
|
+
case b:
|
|
164
|
+
h = ((r - g) / diff + 4) * 60;
|
|
165
|
+
break;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
h: Math.round(h),
|
|
170
|
+
s: Math.round(s),
|
|
171
|
+
b: Math.round(brightness)
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* 将 HSB 值转换为 RGB 值
|
|
177
|
+
* @param h 色相 (0-360)
|
|
178
|
+
* @param s 饱和度 (0-100)
|
|
179
|
+
* @param b 亮度 (0-100)
|
|
180
|
+
* @returns RGB 对象 { r, g, b }
|
|
181
|
+
*/
|
|
182
|
+
export var hsbToRgb = function hsbToRgb(h, s, b) {
|
|
183
|
+
h = h % 360;
|
|
184
|
+
s = s / 100;
|
|
185
|
+
b = b / 100;
|
|
186
|
+
var c = b * s;
|
|
187
|
+
var x = c * (1 - Math.abs(h / 60 % 2 - 1));
|
|
188
|
+
var m = b - c;
|
|
189
|
+
var r = 0,
|
|
190
|
+
g = 0,
|
|
191
|
+
blue = 0;
|
|
192
|
+
if (h >= 0 && h < 60) {
|
|
193
|
+
r = c;
|
|
194
|
+
g = x;
|
|
195
|
+
blue = 0;
|
|
196
|
+
} else if (h >= 60 && h < 120) {
|
|
197
|
+
r = x;
|
|
198
|
+
g = c;
|
|
199
|
+
blue = 0;
|
|
200
|
+
} else if (h >= 120 && h < 180) {
|
|
201
|
+
r = 0;
|
|
202
|
+
g = c;
|
|
203
|
+
blue = x;
|
|
204
|
+
} else if (h >= 180 && h < 240) {
|
|
205
|
+
r = 0;
|
|
206
|
+
g = x;
|
|
207
|
+
blue = c;
|
|
208
|
+
} else if (h >= 240 && h < 300) {
|
|
209
|
+
r = x;
|
|
210
|
+
g = 0;
|
|
211
|
+
blue = c;
|
|
212
|
+
} else if (h >= 300 && h < 360) {
|
|
213
|
+
r = c;
|
|
214
|
+
g = 0;
|
|
215
|
+
blue = x;
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
r: Math.round((r + m) * 255),
|
|
219
|
+
g: Math.round((g + m) * 255),
|
|
220
|
+
b: Math.round((blue + m) * 255)
|
|
221
|
+
};
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* 将 hex 颜色值转换为 HSB 值
|
|
226
|
+
* @param color hex 颜色值(不包含 #)
|
|
227
|
+
* @returns HSB 对象 { h, s, b } 或 null
|
|
228
|
+
*/
|
|
229
|
+
export var hexToHsb = function hexToHsb(color) {
|
|
230
|
+
var rgb = hexToRgb(color);
|
|
231
|
+
if (!rgb) return null;
|
|
232
|
+
return rgbToHsb(rgb.r, rgb.g, rgb.b);
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* 将 HSB 值转换为 hex 颜色值
|
|
237
|
+
* @param h 色相 (0-360)
|
|
238
|
+
* @param s 饱和度 (0-100)
|
|
239
|
+
* @param b 亮度 (0-100)
|
|
240
|
+
* @returns hex 颜色值(不包含 #)
|
|
241
|
+
*/
|
|
242
|
+
export var hsbToHex = function hsbToHex(h, s, b) {
|
|
243
|
+
var rgb = hsbToRgb(h, s, b);
|
|
244
|
+
return rgbToHex(rgb.r, rgb.g, rgb.b);
|
|
245
|
+
};
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* 默认颜色值
|
|
249
|
+
*/
|
|
250
|
+
export var DEFAULT_COLOR = 'FFFFFF';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export declare const MONTHS: {
|
|
2
|
+
zhCN: string;
|
|
3
|
+
enUS: string;
|
|
4
|
+
}[];
|
|
5
|
+
export declare const DATE_INPUT_PLACEHOLDER: {
|
|
6
|
+
zhCN: {
|
|
7
|
+
day: string;
|
|
8
|
+
week: string;
|
|
9
|
+
month: string;
|
|
10
|
+
quarter: string;
|
|
11
|
+
year: string;
|
|
12
|
+
};
|
|
13
|
+
enUS: {
|
|
14
|
+
day: string;
|
|
15
|
+
week: string;
|
|
16
|
+
month: string;
|
|
17
|
+
quarter: string;
|
|
18
|
+
year: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export declare const DATE_RANGE_INPUT_PLACEHOLDER: {
|
|
22
|
+
zhCN: string;
|
|
23
|
+
enUS: string;
|
|
24
|
+
};
|
|
25
|
+
export declare const convertDateToString: (date?: Date | '' | null, locale?: 'zhCN' | 'enUS') => string;
|
|
26
|
+
export declare const convertDateRangeToString: (range?: [Date | undefined | null, Date | undefined | null], locale?: 'zhCN' | 'enUS', separator?: string) => string;
|
|
27
|
+
export declare const convertWeekToString: (week?: [Date | undefined | null, Date | undefined | null], locale?: 'zhCN' | 'enUS') => string;
|
|
28
|
+
export declare const convertQuarterToString: (quarterRange?: [Date | undefined | null, Date | undefined | null], locale?: 'zhCN' | 'enUS') => string;
|
|
29
|
+
export declare const convertMonthToString: (monthRange?: [Date | undefined | null, Date | undefined | null], locale?: 'zhCN' | 'enUS') => string;
|
|
30
|
+
export declare const isLegalYearString: (date: string, locale?: 'zhCN' | 'enUS') => boolean;
|
|
31
|
+
export declare const parseYearStringToRange: (yearString: string, locale?: 'zhCN' | 'enUS') => [Date, Date] | null;
|
|
32
|
+
export declare const convertYearToString: (yearRange?: [Date | undefined | null, Date | undefined | null], locale?: 'zhCN' | 'enUS') => string;
|
|
33
|
+
export declare const isSameDay: (date1?: Date | null, date2?: Date | null) => boolean;
|
|
34
|
+
export declare const isSameMonth: (date1?: Date | null, date2?: Date | null) => boolean;
|
|
35
|
+
export declare const isLegalDateString: (date: string, locale?: 'zhCN' | 'enUS') => boolean;
|
|
36
|
+
export declare const isLegalDateRangeString: (date: string, locale?: 'zhCN' | 'enUS') => boolean | 0;
|
|
37
|
+
export declare const isLegalWeekString: (date: string, locale?: 'zhCN' | 'enUS') => boolean;
|
|
38
|
+
export declare const isLegalQuarterString: (date: string, locale?: 'zhCN' | 'enUS') => boolean;
|
|
39
|
+
export declare const isLegalMonthString: (date: string, locale?: 'zhCN' | 'enUS') => boolean;
|
|
40
|
+
export declare const parseWeekStringToRange: (weekString: string, locale?: 'zhCN' | 'enUS') => [Date, Date] | null;
|
|
41
|
+
export declare const parseQuarterStringToRange: (quarterString: string, locale?: 'zhCN' | 'enUS') => [Date, Date] | null;
|
|
42
|
+
export declare const parseMonthStringToRange: (monthString: string, locale?: 'zhCN' | 'enUS') => [Date, Date] | null;
|
|
43
|
+
export declare const isDayBefore: (date1?: Date | null, date2?: Date | null) => boolean;
|
|
44
|
+
export declare const isDayAfter: (date1?: Date | null, date2?: Date | null) => boolean;
|
|
45
|
+
export declare const today: Date;
|
|
46
|
+
export declare const getDefaultMaxDate: () => Date;
|
|
47
|
+
export declare const getDefaultMinDate: () => Date;
|
|
48
|
+
export declare const getStartOfWeek: (date: Date, locale?: 'zhCN' | 'enUS') => Date;
|
|
49
|
+
export declare const getEndOfWeek: (date: Date, locale?: 'zhCN' | 'enUS') => Date;
|
|
50
|
+
export declare const clone: (d: Date | null | undefined) => Date | null;
|
|
51
|
+
export declare const getStartOfQuarter: (date: Date) => Date;
|
|
52
|
+
export declare const getEndOfQuarter: (date: Date) => Date;
|
|
53
|
+
export declare const isDayInRange: (date: Date, dateRange: [Date | null | undefined, Date | null | undefined], exclusive?: boolean) => boolean;
|