@apple-pie/slice 0.0.6 → 0.0.7
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/dist/cjs/chunks/Avatar-0EXaRG4e.js +54 -0
- package/dist/cjs/chunks/AvatarGroup-BsRUAZl0.js +37 -0
- package/dist/cjs/chunks/Badge-Bv6c2YVC.js +23 -0
- package/dist/cjs/chunks/Button-DFAWHJmQ.js +246 -0
- package/dist/cjs/chunks/ButtonBar-DOgYDAda.js +53 -0
- package/dist/cjs/chunks/Card-BPClSuHa.js +37 -0
- package/dist/cjs/chunks/CheckBox-tsExpwtr.js +56 -0
- package/dist/cjs/chunks/Chip-CPHF1zn-.js +84 -0
- package/dist/cjs/chunks/DivInput-DDQVtlot.js +102 -0
- package/dist/cjs/chunks/DocIcons-B5TcBqSH.js +108 -0
- package/dist/cjs/chunks/Dot-BSSClfHQ.js +73 -0
- package/dist/cjs/chunks/DrggablePanel-wWLPesc8.js +202 -0
- package/dist/cjs/chunks/DropDown-COdCr77A.js +102 -0
- package/dist/cjs/chunks/ErrorSummary-CIUqlSLC.js +60 -0
- package/dist/cjs/chunks/FileIcon-DTQaXxfC.js +221 -0
- package/dist/cjs/chunks/FileList-J2EgJyCo.js +217 -0
- package/dist/cjs/chunks/FlexDiv-CW5gSa4V.js +65 -0
- package/dist/cjs/chunks/Grouper-QwwunKen.js +61 -0
- package/dist/cjs/chunks/IconButton-B53y3z1_.js +77 -0
- package/dist/cjs/chunks/Label-DoiS07-y.js +111 -0
- package/dist/cjs/chunks/Logos-CAHU-eIP.js +483 -0
- package/dist/cjs/chunks/Overlay-Bb2YoSKr.js +36 -0
- package/dist/cjs/chunks/Pager-CN2z8M9E.js +37 -0
- package/dist/cjs/chunks/ProgressIndicator-BbrZ7Aoc.js +157 -0
- package/dist/cjs/chunks/PromptInput-BXDqUXFQ.js +150 -0
- package/dist/cjs/chunks/RadioButton-GKRhZEmb.js +56 -0
- package/dist/cjs/chunks/RadioButtonList-CFpZmyAX.js +59 -0
- package/dist/cjs/chunks/Slider-CZvCAodl.js +136 -0
- package/dist/cjs/chunks/Spacer-CtxV2Pww.js +18 -0
- package/dist/cjs/chunks/Switch-C94aofxQ.js +37 -0
- package/dist/cjs/chunks/TabBar-D6akzNUf.js +123 -0
- package/dist/cjs/chunks/TextArea-DjF8Koup.js +82 -0
- package/dist/cjs/chunks/TextField-Cg6mQcYl.js +204 -0
- package/dist/cjs/chunks/Tip-CjMHa-fD.js +88 -0
- package/dist/cjs/chunks/Toast-Cdyh6T-l.js +163 -0
- package/dist/cjs/chunks/UploadArea-BmZ50EEl.js +123 -0
- package/dist/cjs/chunks/_types-B5xXv4NA.js +1386 -0
- package/dist/cjs/chunks/sharedTypes-gCECyn2N.js +6 -0
- package/dist/cjs/chunks/style-inject.es-CMuL-BfJ.js +11 -0
- package/dist/cjs/chunks/tipStore-Ck4NLvml.js +17 -0
- package/dist/cjs/chunks/toastStore-CSStgB9d.js +17 -0
- package/dist/cjs/chunks/tslib.es6-C8dZW5nY.js +49 -0
- package/dist/cjs/chunks/uploads-worker-mD8pcsGP.js +221 -0
- package/dist/cjs/chunks/uploadsStore-CxWIctvI.js +75 -0
- package/dist/cjs/chunks/utils-BsBHecUI.js +70 -0
- package/dist/cjs/chunks/windowStore-RaJswiHM.js +70 -0
- package/dist/cjs/hooks/useDoubleClick.js +11 -23
- package/dist/cjs/hooks/useKeyboardShortcuts.js +18 -35
- package/dist/cjs/hooks/useLastUpdated.js +20 -42
- package/dist/cjs/hooks/useLocalStore.js +23 -39
- package/dist/cjs/hooks/useObserveResize.js +26 -44
- package/dist/cjs/hooks/useObserveTheme.js +18 -36
- package/dist/cjs/hooks/useTheme.js +17 -40
- package/dist/cjs/hooks/useToolTip.js +19 -32
- package/dist/cjs/hooks/useTrackRenders.js +11 -29
- package/dist/cjs/hooks/useWindow.js +29 -65
- package/dist/cjs/hooks.js +12 -30
- package/dist/cjs/index.js +46 -134
- package/dist/cjs/providers/ThemeProvider.js +27 -45
- package/dist/cjs/providers.js +5 -12
- package/dist/cjs/stores/tip.js +4 -9
- package/dist/cjs/stores/toast.js +4 -9
- package/dist/cjs/stores/uploads.js +11 -0
- package/dist/cjs/stores/window.js +8 -10
- package/dist/cjs/stores.js +18 -21
- package/dist/cjs/theme/colors.js +371 -379
- package/dist/cjs/theme/corners.js +10 -12
- package/dist/cjs/theme/elevations.js +10 -13
- package/dist/cjs/theme/themes.js +8 -13
- package/dist/cjs/theme/type.js +225 -384
- package/dist/cjs/theme.js +5 -13
- package/dist/cjs/uikit/Avatar/index.js +6 -0
- package/dist/cjs/uikit/AvatarGroup/index.js +7 -0
- package/dist/cjs/uikit/Badge/index.js +6 -0
- package/dist/cjs/uikit/Button/index.js +12 -0
- package/dist/cjs/uikit/ButtonBar/index.js +12 -0
- package/dist/cjs/uikit/Card/index.js +10 -0
- package/dist/cjs/uikit/CheckBox/index.js +10 -0
- package/dist/cjs/uikit/Chip/index.js +11 -0
- package/dist/cjs/uikit/DivInput/index.js +7 -0
- package/dist/cjs/uikit/DocIcon/index.js +9 -0
- package/dist/cjs/uikit/Dot/index.js +6 -0
- package/dist/cjs/uikit/DraggablePanel/index.js +10 -0
- package/dist/cjs/uikit/DropDown/index.js +10 -0
- package/dist/cjs/uikit/ErrorSummary/index.js +6 -0
- package/dist/cjs/uikit/FileIcon/index.js +15 -0
- package/dist/cjs/uikit/FileList/index.js +11 -0
- package/dist/cjs/uikit/FlexDiv/index.js +6 -0
- package/dist/cjs/uikit/Grouper/index.js +11 -0
- package/dist/cjs/uikit/Icon/index.js +14 -0
- package/dist/cjs/uikit/IconButton/index.js +12 -0
- package/dist/cjs/uikit/Label/index.js +10 -0
- package/dist/cjs/uikit/Logos/index.js +9 -0
- package/dist/cjs/uikit/Overlay/index.js +6 -0
- package/dist/cjs/uikit/Pager/index.js +7 -0
- package/dist/cjs/uikit/Progress/index.js +10 -0
- package/dist/cjs/uikit/PromptInput/index.js +14 -0
- package/dist/cjs/uikit/RadioButton/index.js +12 -0
- package/dist/cjs/uikit/RadioButtonList/index.js +13 -0
- package/dist/cjs/uikit/Slider/index.js +7 -0
- package/dist/cjs/uikit/Spacer/index.js +6 -0
- package/dist/cjs/uikit/Switch/index.js +6 -0
- package/dist/cjs/uikit/TabBar/index.js +12 -0
- package/dist/cjs/uikit/TextArea/index.js +13 -0
- package/dist/cjs/uikit/Textfield/index.js +13 -0
- package/dist/cjs/uikit/Tip/index.js +7 -0
- package/dist/cjs/uikit/Toast/index.js +16 -0
- package/dist/cjs/uikit/UploadArea/index.js +15 -0
- package/dist/cjs/workers/uploads/uploads.js +5 -0
- package/dist/esm/chunks/Avatar-D_W5zErj.mjs +60 -0
- package/dist/esm/chunks/AvatarGroup-Dbfmz0Yz.mjs +45 -0
- package/dist/esm/chunks/Badge-BISGWj5-.mjs +29 -0
- package/dist/esm/chunks/Button-B_aIY6wE.mjs +264 -0
- package/dist/esm/chunks/ButtonBar-Cr6TFvvD.mjs +66 -0
- package/dist/esm/chunks/Card-BzKBF0ny.mjs +45 -0
- package/dist/esm/chunks/CheckBox-CYggPKaT.mjs +68 -0
- package/dist/esm/chunks/Chip-B3wb9g1U.mjs +96 -0
- package/dist/esm/chunks/DivInput-_VL6PAqT.mjs +114 -0
- package/dist/esm/chunks/DocIcons-BxtcXsWI.mjs +114 -0
- package/dist/esm/chunks/Dot-C-Xu24wF.mjs +81 -0
- package/dist/esm/chunks/DrggablePanel-Bg3UKK1k.mjs +214 -0
- package/dist/esm/chunks/DropDown-D7KyGLkM.mjs +114 -0
- package/dist/esm/chunks/ErrorSummary-CZw06dSh.mjs +68 -0
- package/dist/esm/chunks/FileIcon-BcIJzIwA.mjs +233 -0
- package/dist/esm/chunks/FileList-DUzgHfE-.mjs +229 -0
- package/dist/esm/chunks/FlexDiv-BLYDgWu2.mjs +73 -0
- package/dist/esm/chunks/Grouper-CRldBHSw.mjs +75 -0
- package/dist/esm/chunks/IconButton-BBiZrXlS.mjs +93 -0
- package/dist/esm/chunks/Label-DPIAVkn1.mjs +124 -0
- package/dist/esm/chunks/Logos-CpcaarOG.mjs +493 -0
- package/dist/esm/chunks/Overlay-Bh0enFIe.mjs +44 -0
- package/dist/esm/chunks/Pager-B-1ZRUzU.mjs +45 -0
- package/dist/esm/chunks/ProgressIndicator-CNOBQ_Fv.mjs +167 -0
- package/dist/esm/chunks/PromptInput-DdsIgZ3T.mjs +160 -0
- package/dist/esm/chunks/RadioButton-D-TdQu3a.mjs +66 -0
- package/dist/esm/chunks/RadioButtonList-CEScWkbT.mjs +67 -0
- package/dist/esm/chunks/Slider-C3A8GCfH.mjs +142 -0
- package/dist/esm/chunks/Spacer-BlgEdKEM.mjs +20 -0
- package/dist/esm/chunks/Switch-obpmvCGd.mjs +45 -0
- package/dist/esm/chunks/TabBar-DFj021UP.mjs +141 -0
- package/dist/esm/chunks/TextArea-D_hq6VF3.mjs +90 -0
- package/dist/esm/chunks/TextField-Co0u-xdd.mjs +222 -0
- package/dist/esm/chunks/Tip-CHQh-Yq0.mjs +98 -0
- package/dist/esm/chunks/Toast-BiXzVFtM.mjs +179 -0
- package/dist/esm/chunks/UploadArea-B9685Z06.mjs +133 -0
- package/dist/esm/chunks/_types-KZDzhaiK.mjs +1395 -0
- package/dist/esm/chunks/sharedTypes-tn9-uJvb.mjs +8 -0
- package/dist/esm/chunks/style-inject.es-D0BjEaN8.mjs +11 -0
- package/dist/esm/chunks/tipStore-CL5a95Bl.mjs +15 -0
- package/dist/esm/chunks/toastStore-D2PEIqCo.mjs +15 -0
- package/dist/esm/chunks/tslib.es6-c-7TIv71.mjs +53 -0
- package/dist/esm/chunks/uploads-worker-Dv-4zGnC.mjs +224 -0
- package/dist/esm/chunks/uploadsStore-D69fEXMY.mjs +72 -0
- package/dist/esm/chunks/utils-BQ1v7VE4.mjs +74 -0
- package/dist/esm/chunks/windowStore-CwW0i_le.mjs +71 -0
- package/dist/esm/hooks/useDoubleClick.mjs +14 -0
- package/dist/esm/hooks/useKeyboardShortcuts.mjs +27 -0
- package/dist/esm/hooks/useLastUpdated.mjs +31 -0
- package/dist/esm/hooks/useLocalStore.mjs +36 -0
- package/dist/esm/hooks/useObserveResize.mjs +38 -0
- package/dist/esm/hooks/useObserveTheme.mjs +34 -0
- package/dist/esm/hooks/useTheme.mjs +73 -0
- package/dist/esm/hooks/useToolTip.mjs +23 -0
- package/dist/esm/hooks/useTrackRenders.mjs +23 -0
- package/dist/esm/hooks/useWindow.mjs +52 -0
- package/dist/esm/hooks.mjs +29 -0
- package/dist/esm/index.mjs +117 -0
- package/dist/esm/providers/ThemeProvider.mjs +49 -0
- package/dist/esm/providers.mjs +15 -0
- package/dist/esm/stores/tip.mjs +3 -0
- package/dist/esm/stores/toast.mjs +3 -0
- package/dist/esm/stores/uploads.mjs +7 -0
- package/dist/esm/stores/window.mjs +3 -0
- package/dist/esm/stores.mjs +13 -0
- package/dist/esm/theme/colors.mjs +373 -0
- package/dist/esm/theme/corners.mjs +12 -0
- package/dist/esm/theme/elevations.mjs +15 -0
- package/dist/esm/theme/themes.mjs +25 -0
- package/dist/esm/theme/type.mjs +236 -0
- package/dist/esm/theme.mjs +9 -0
- package/dist/esm/uikit/Avatar/index.mjs +9 -0
- package/dist/esm/uikit/AvatarGroup/index.mjs +11 -0
- package/dist/esm/uikit/Badge/index.mjs +9 -0
- package/dist/esm/uikit/Button/index.mjs +39 -0
- package/dist/esm/uikit/ButtonBar/index.mjs +39 -0
- package/dist/esm/uikit/Card/index.mjs +29 -0
- package/dist/esm/uikit/CheckBox/index.mjs +31 -0
- package/dist/esm/uikit/Chip/index.mjs +31 -0
- package/dist/esm/uikit/DivInput/index.mjs +13 -0
- package/dist/esm/uikit/DocIcon/index.mjs +23 -0
- package/dist/esm/uikit/Dot/index.mjs +11 -0
- package/dist/esm/uikit/DraggablePanel/index.mjs +29 -0
- package/dist/esm/uikit/DropDown/index.mjs +29 -0
- package/dist/esm/uikit/ErrorSummary/index.mjs +11 -0
- package/dist/esm/uikit/FileIcon/index.mjs +25 -0
- package/dist/esm/uikit/FileList/index.mjs +35 -0
- package/dist/esm/uikit/FlexDiv/index.mjs +11 -0
- package/dist/esm/uikit/Grouper/index.mjs +33 -0
- package/dist/esm/uikit/Icon/index.mjs +25 -0
- package/dist/esm/uikit/IconButton/index.mjs +37 -0
- package/dist/esm/uikit/Label/index.mjs +27 -0
- package/dist/esm/uikit/Logos/index.mjs +23 -0
- package/dist/esm/uikit/Overlay/index.mjs +11 -0
- package/dist/esm/uikit/Pager/index.mjs +11 -0
- package/dist/esm/uikit/Progress/index.mjs +27 -0
- package/dist/esm/uikit/PromptInput/index.mjs +45 -0
- package/dist/esm/uikit/RadioButton/index.mjs +39 -0
- package/dist/esm/uikit/RadioButtonList/index.mjs +41 -0
- package/dist/esm/uikit/Slider/index.mjs +13 -0
- package/dist/esm/uikit/Spacer/index.mjs +7 -0
- package/dist/esm/uikit/Switch/index.mjs +11 -0
- package/dist/esm/uikit/TabBar/index.mjs +39 -0
- package/dist/esm/uikit/TextArea/index.mjs +41 -0
- package/dist/esm/uikit/Textfield/index.mjs +43 -0
- package/dist/esm/uikit/Tip/index.mjs +13 -0
- package/dist/esm/uikit/Toast/index.mjs +31 -0
- package/dist/esm/uikit/UploadArea/index.mjs +37 -0
- package/dist/esm/workers/uploads/uploads.mjs +5 -0
- package/dist/types/stores/index.d.ts +1 -0
- package/dist/types/stores/uploads/_types.d.ts +16 -0
- package/dist/types/stores/uploads/index.d.ts +2 -0
- package/dist/types/stores/uploads/uploadsStore.d.ts +22 -0
- package/dist/types/workers/uploads/uploads-worker.d.ts +129 -0
- package/dist/types/workers/uploads/uploads.d.ts +1 -0
- package/dist/types/workers/uploads/uploads.runtime.d.ts +1 -0
- package/package.json +23 -17
- package/dist/cjs/chunks/Avatar-z2YcOAoP.js +0 -68
- package/dist/cjs/chunks/AvatarGroup-Cz8369zI.js +0 -39
- package/dist/cjs/chunks/Badge-COSg__VJ.js +0 -41
- package/dist/cjs/chunks/Button-BNXqiA13.js +0 -312
- package/dist/cjs/chunks/ButtonBar-CeDdAOlH.js +0 -58
- package/dist/cjs/chunks/Card-Cc_c-S7i.js +0 -36
- package/dist/cjs/chunks/CheckBox-hTWIPqV_.js +0 -76
- package/dist/cjs/chunks/Chip-CLKVldi4.js +0 -93
- package/dist/cjs/chunks/DivInput-DnY2emt-.js +0 -204
- package/dist/cjs/chunks/DocIcons-BRWOzK96.js +0 -41
- package/dist/cjs/chunks/Dot-B5dO8kSS.js +0 -80
- package/dist/cjs/chunks/DrggablePanel-BtsURL9o.js +0 -302
- package/dist/cjs/chunks/DropDown-COr9u96t.js +0 -154
- package/dist/cjs/chunks/ErrorSummary-BrSHbGpk.js +0 -42
- package/dist/cjs/chunks/FileIcon-CEMQK_Je.js +0 -132
- package/dist/cjs/chunks/FileList-BHMne9Mr.js +0 -163
- package/dist/cjs/chunks/FlexDiv-BHl29ywz.js +0 -103
- package/dist/cjs/chunks/Grouper-EyHoeA8w.js +0 -50
- package/dist/cjs/chunks/IconButton-9QZ4eKBZ.js +0 -84
- package/dist/cjs/chunks/Label-s1aCv2Y1.js +0 -134
- package/dist/cjs/chunks/Logos-DSlAUz8l.js +0 -119
- package/dist/cjs/chunks/Overlay-DV3C5NDO.js +0 -45
- package/dist/cjs/chunks/Pager-CRjpl1FZ.js +0 -42
- package/dist/cjs/chunks/ProgressIndicator-BAwAaw58.js +0 -121
- package/dist/cjs/chunks/PromptInput-CfzofBTJ.js +0 -212
- package/dist/cjs/chunks/RadioButton-DA9YUGEF.js +0 -65
- package/dist/cjs/chunks/RadioButtonList-BtsT7GJc.js +0 -116
- package/dist/cjs/chunks/Slider-CqrIwn-L.js +0 -285
- package/dist/cjs/chunks/Spacer-BEY2-_PB.js +0 -16
- package/dist/cjs/chunks/Switch-CtkFtogd.js +0 -43
- package/dist/cjs/chunks/TabBar-WsNlr-aZ.js +0 -176
- package/dist/cjs/chunks/TextArea-BMJWUH2H.js +0 -153
- package/dist/cjs/chunks/TextField-mfwz79cD.js +0 -248
- package/dist/cjs/chunks/Tip-Af6FMEDi.js +0 -91
- package/dist/cjs/chunks/Toast-CxAEOW4z.js +0 -158
- package/dist/cjs/chunks/UploadArea-DunGYE1_.js +0 -155
- package/dist/cjs/chunks/_types-BNlHsGMQ.js +0 -714
- package/dist/cjs/chunks/sharedTypes-BvTjh6M5.js +0 -9
- package/dist/cjs/chunks/style-inject.es-XZHJH68X.js +0 -30
- package/dist/cjs/chunks/tipStore-C9oV9SIh.js +0 -23
- package/dist/cjs/chunks/toastStore-C-ETP9H6.js +0 -23
- package/dist/cjs/chunks/tslib.es6-4H29ixHs.js +0 -48
- package/dist/cjs/chunks/utils-BwNacfBU.js +0 -128
- package/dist/cjs/chunks/windowStore-CPcVHJq6.js +0 -93
- package/dist/cjs/uikit/Avatar.js +0 -11
- package/dist/cjs/uikit/AvatarGroup.js +0 -12
- package/dist/cjs/uikit/Badge.js +0 -11
- package/dist/cjs/uikit/Button.js +0 -26
- package/dist/cjs/uikit/ButtonBar.js +0 -26
- package/dist/cjs/uikit/Card.js +0 -21
- package/dist/cjs/uikit/CheckBox.js +0 -22
- package/dist/cjs/uikit/Chip.js +0 -22
- package/dist/cjs/uikit/DivInput.js +0 -13
- package/dist/cjs/uikit/DocIcon.js +0 -18
- package/dist/cjs/uikit/Dot.js +0 -12
- package/dist/cjs/uikit/DraggablePanel.js +0 -21
- package/dist/cjs/uikit/DropDown.js +0 -21
- package/dist/cjs/uikit/ErrorSummary.js +0 -12
- package/dist/cjs/uikit/FileIcon.js +0 -23
- package/dist/cjs/uikit/FileList.js +0 -24
- package/dist/cjs/uikit/FlexDiv.js +0 -12
- package/dist/cjs/uikit/Grouper.js +0 -23
- package/dist/cjs/uikit/Icon.js +0 -23
- package/dist/cjs/uikit/IconButton.js +0 -25
- package/dist/cjs/uikit/Label.js +0 -20
- package/dist/cjs/uikit/Logos.js +0 -18
- package/dist/cjs/uikit/Overlay.js +0 -12
- package/dist/cjs/uikit/Pager.js +0 -12
- package/dist/cjs/uikit/Progress.js +0 -21
- package/dist/cjs/uikit/PromptInput.js +0 -29
- package/dist/cjs/uikit/RadioButton.js +0 -26
- package/dist/cjs/uikit/RadioButtonList.js +0 -27
- package/dist/cjs/uikit/Slider.js +0 -13
- package/dist/cjs/uikit/Spacer.js +0 -10
- package/dist/cjs/uikit/Switch.js +0 -12
- package/dist/cjs/uikit/TabBar.js +0 -26
- package/dist/cjs/uikit/TextArea.js +0 -27
- package/dist/cjs/uikit/Textfield.js +0 -28
- package/dist/cjs/uikit/Tip.js +0 -13
- package/dist/cjs/uikit/Toast.js +0 -26
- package/dist/cjs/uikit/UploadArea.js +0 -31
- package/dist/esm/chunks/Avatar-BtkvMV1v.js +0 -66
- package/dist/esm/chunks/AvatarGroup-pbqdS56o.js +0 -37
- package/dist/esm/chunks/Badge-DtxDLSO0.js +0 -39
- package/dist/esm/chunks/Button-BUJkJqdO.js +0 -310
- package/dist/esm/chunks/ButtonBar-Bl0oCxd8.js +0 -56
- package/dist/esm/chunks/Card-Bjk0kgQh.js +0 -34
- package/dist/esm/chunks/CheckBox-CvkZuSeB.js +0 -74
- package/dist/esm/chunks/Chip-o-YG_HAf.js +0 -91
- package/dist/esm/chunks/DivInput-D6ORPrkT.js +0 -202
- package/dist/esm/chunks/DocIcons-CbOX4n8Y.js +0 -39
- package/dist/esm/chunks/Dot-BZcEZbnm.js +0 -78
- package/dist/esm/chunks/DrggablePanel-DWrTjXvf.js +0 -300
- package/dist/esm/chunks/DropDown-BDIvYWI-.js +0 -152
- package/dist/esm/chunks/ErrorSummary-DzDnacH0.js +0 -40
- package/dist/esm/chunks/FileIcon-Cxh-QsYb.js +0 -130
- package/dist/esm/chunks/FileList-CdUgbpYF.js +0 -161
- package/dist/esm/chunks/FlexDiv-CFyndG99.js +0 -101
- package/dist/esm/chunks/Grouper-NJbpaaQG.js +0 -48
- package/dist/esm/chunks/IconButton-3m9ugITV.js +0 -82
- package/dist/esm/chunks/Label-BRon-ejm.js +0 -132
- package/dist/esm/chunks/Logos-DwZP-TR2.js +0 -117
- package/dist/esm/chunks/Overlay-BolsHW9S.js +0 -43
- package/dist/esm/chunks/Pager-BHLyXq9p.js +0 -40
- package/dist/esm/chunks/ProgressIndicator-uI9BZwBB.js +0 -118
- package/dist/esm/chunks/PromptInput-DodTBG82.js +0 -210
- package/dist/esm/chunks/RadioButton-D8otD_Jj.js +0 -63
- package/dist/esm/chunks/RadioButtonList-CtX1j7rO.js +0 -114
- package/dist/esm/chunks/Slider-O6UelMjh.js +0 -283
- package/dist/esm/chunks/Spacer-DbZSG5x3.js +0 -14
- package/dist/esm/chunks/Switch-DjfrSiQz.js +0 -41
- package/dist/esm/chunks/TabBar-C0NgwRa2.js +0 -174
- package/dist/esm/chunks/TextArea-DK0giDGR.js +0 -151
- package/dist/esm/chunks/TextField-CQ4XYYNm.js +0 -246
- package/dist/esm/chunks/Tip-iFECDhwN.js +0 -89
- package/dist/esm/chunks/Toast-ZxMZtbd0.js +0 -156
- package/dist/esm/chunks/UploadArea-C0YHy4Z9.js +0 -147
- package/dist/esm/chunks/_types-RJ7q8S0B.js +0 -712
- package/dist/esm/chunks/sharedTypes-BfZzG1KX.js +0 -9
- package/dist/esm/chunks/style-inject.es-tgCJW-Cu.js +0 -28
- package/dist/esm/chunks/tipStore-nBYJ6tmE.js +0 -17
- package/dist/esm/chunks/toastStore-r3pvNa28.js +0 -17
- package/dist/esm/chunks/tslib.es6-0pkUdtrF.js +0 -45
- package/dist/esm/chunks/utils-CZ1LWeN6.js +0 -121
- package/dist/esm/chunks/windowStore-Cu4W4zJM.js +0 -91
- package/dist/esm/hooks/useDoubleClick.js +0 -24
- package/dist/esm/hooks/useKeyboardShortcuts.js +0 -42
- package/dist/esm/hooks/useLastUpdated.js +0 -51
- package/dist/esm/hooks/useLocalStore.js +0 -50
- package/dist/esm/hooks/useObserveResize.js +0 -54
- package/dist/esm/hooks/useObserveTheme.js +0 -41
- package/dist/esm/hooks/useTheme.js +0 -84
- package/dist/esm/hooks/useToolTip.js +0 -34
- package/dist/esm/hooks/useTrackRenders.js +0 -37
- package/dist/esm/hooks/useWindow.js +0 -84
- package/dist/esm/hooks.js +0 -15
- package/dist/esm/index.js +0 -59
- package/dist/esm/providers/ThemeProvider.js +0 -56
- package/dist/esm/providers.js +0 -8
- package/dist/esm/stores/tip.js +0 -2
- package/dist/esm/stores/toast.js +0 -2
- package/dist/esm/stores/window.js +0 -2
- package/dist/esm/stores.js +0 -4
- package/dist/esm/theme/colors.js +0 -377
- package/dist/esm/theme/corners.js +0 -12
- package/dist/esm/theme/elevations.js +0 -15
- package/dist/esm/theme/themes.js +0 -23
- package/dist/esm/theme/type.js +0 -393
- package/dist/esm/theme.js +0 -5
- package/dist/esm/uikit/Avatar.js +0 -5
- package/dist/esm/uikit/AvatarGroup.js +0 -6
- package/dist/esm/uikit/Badge.js +0 -5
- package/dist/esm/uikit/Button.js +0 -20
- package/dist/esm/uikit/ButtonBar.js +0 -20
- package/dist/esm/uikit/Card.js +0 -15
- package/dist/esm/uikit/CheckBox.js +0 -16
- package/dist/esm/uikit/Chip.js +0 -16
- package/dist/esm/uikit/DivInput.js +0 -7
- package/dist/esm/uikit/DocIcon.js +0 -12
- package/dist/esm/uikit/Dot.js +0 -6
- package/dist/esm/uikit/DraggablePanel.js +0 -15
- package/dist/esm/uikit/DropDown.js +0 -15
- package/dist/esm/uikit/ErrorSummary.js +0 -6
- package/dist/esm/uikit/FileIcon.js +0 -13
- package/dist/esm/uikit/FileList.js +0 -18
- package/dist/esm/uikit/FlexDiv.js +0 -6
- package/dist/esm/uikit/Grouper.js +0 -17
- package/dist/esm/uikit/Icon.js +0 -13
- package/dist/esm/uikit/IconButton.js +0 -19
- package/dist/esm/uikit/Label.js +0 -14
- package/dist/esm/uikit/Logos.js +0 -12
- package/dist/esm/uikit/Overlay.js +0 -6
- package/dist/esm/uikit/Pager.js +0 -6
- package/dist/esm/uikit/Progress.js +0 -14
- package/dist/esm/uikit/PromptInput.js +0 -23
- package/dist/esm/uikit/RadioButton.js +0 -20
- package/dist/esm/uikit/RadioButtonList.js +0 -21
- package/dist/esm/uikit/Slider.js +0 -7
- package/dist/esm/uikit/Spacer.js +0 -4
- package/dist/esm/uikit/Switch.js +0 -6
- package/dist/esm/uikit/TabBar.js +0 -20
- package/dist/esm/uikit/TextArea.js +0 -21
- package/dist/esm/uikit/Textfield.js +0 -22
- package/dist/esm/uikit/Tip.js +0 -7
- package/dist/esm/uikit/Toast.js +0 -16
- package/dist/esm/uikit/UploadArea.js +0 -19
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { _ as __rest } from "./tslib.es6-c-7TIv71.mjs";
|
|
2
|
+
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
import React, { useRef, useMemo, useCallback, useEffect } from "react";
|
|
6
|
+
|
|
7
|
+
import { useObserveResize } from "../hooks/useObserveResize.mjs";
|
|
8
|
+
|
|
9
|
+
import { p as pointerPosition } from "./utils-BQ1v7VE4.mjs";
|
|
10
|
+
|
|
11
|
+
import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* General debounce utility with delay setting and cancel/flush methods
|
|
15
|
+
* to clear a "debounce" or immediately "execute" the debounced function
|
|
16
|
+
*/ var css_wrapper = "Slider-module_wrapper__ju4N2", css_track = "Slider-module_track__XogMe flexBox-module_rowStart__nJZnW", css_trackHead = "Slider-module_trackHead__Ka3pu", css_trackBg = "Slider-module_trackBg__4z7Pt flexBox-module_rowStart__nJZnW";
|
|
17
|
+
|
|
18
|
+
styleInject(".flexBox-module_row__PWxbe {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__27lKK {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__nJZnW {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__dHcOU {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__MP2Xd {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__Kg8cV {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__zcmtk {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__157yI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__u2nwI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.Slider-module_wrapper__ju4N2 {\n\tposition: relative;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: var(--slider-padding);\n\tmargin: 0;\n\twidth: var(--slider-width);\n\theight: var(--slider-height);\n\tmin-height: var(--slider-touch-height);\n\tcursor: var(--slider-cursor);\n}\n\n.Slider-module_track__XogMe {\n\tposition: relative;\n\twidth: 0;\n\theight: 100%;\n\tbackground-color: var(--slider-progress-color);\n\toverflow: visible;\n\tpointer-events: none;\n\tborder-radius: 100px;\n}\n\n.Slider-module_trackHead__Ka3pu {\n\tposition: absolute;\n\tdisplay: var(--slider-head-display);\n\tbackground-color: var(--slider-head-color);\n\tpointer-events: none;\n\tborder-radius: var(--slider-head-radius);\n\tmax-width: var(--slider-head-width);\n\tmax-height: var(--slider-head-size);\n\tmin-width: var(--slider-head-width);\n\tmin-height: var(--slider-head-size);\n\ttop: 50%;\n\ttransform: translateY(-50%) translateX(-50%);\n}\n\n.Slider-module_trackBg__4z7Pt {\n\twidth: 100%;\n\theight: var(--slider-height);\n\tbackground-color: var(--slider-track-color);\n\tpointer-events: none;\n\tborder-radius: 100px;\n}\n");
|
|
19
|
+
|
|
20
|
+
const Slider = React.memo(props => {
|
|
21
|
+
const {value: value = 25, scaleMin: scaleMin = 0, scaleMax: scaleMax = 100, width: width, height: height = 2, touchHeight: touchHeight = 24, trackHeadSize: trackHeadSize = 7, headType: headType = "round", trackHeadWidth: trackHeadWidth = 4, cursor: cursor = "default", headColor: headColor = "var(--core-text-primary)", trackColor: trackColor = "var(--core-surface-secondary)", progressColor: progressColor = "var(--core-text-primary)", onChange: onChange = () => null, onDragChange: onDragChange = () => null} = props, divAttributes = __rest(props, [ "value", "scaleMin", "scaleMax", "width", "height", "touchHeight", "trackHeadSize", "headType", "trackHeadWidth", "cursor", "headColor", "trackColor", "progressColor", "onChange", "onDragChange" ]), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", ref = useRef(null), track = useRef(null), head = useRef(null), absProgressRef = useRef(value), relativeProgressRef = useRef(value / scaleMax), didMount = useRef(!1), size = useObserveResize(ref, {
|
|
22
|
+
ignore: "height"
|
|
23
|
+
}), debouncedOnChange = function(func, delay) {
|
|
24
|
+
let timeoutId = null, lastArgs = null;
|
|
25
|
+
const debounced = function(...args) {
|
|
26
|
+
lastArgs = args, null !== timeoutId && clearTimeout(timeoutId), timeoutId = setTimeout(() => {
|
|
27
|
+
func.apply(this, null != lastArgs ? lastArgs : []), timeoutId = null, lastArgs = null;
|
|
28
|
+
}, delay);
|
|
29
|
+
};
|
|
30
|
+
return debounced.cancel = () => {
|
|
31
|
+
null !== timeoutId && (clearTimeout(timeoutId), timeoutId = null, lastArgs = null);
|
|
32
|
+
}, debounced.flush = function() {
|
|
33
|
+
null !== timeoutId && null !== lastArgs && (clearTimeout(timeoutId), func.apply(this, lastArgs),
|
|
34
|
+
timeoutId = null, lastArgs = null);
|
|
35
|
+
}, debounced;
|
|
36
|
+
}((value, percent) => {
|
|
37
|
+
onChange(value, percent);
|
|
38
|
+
}, 0), padding = useMemo(() => "none" !== headType && trackHeadSize ? trackHeadSize / 2 : 0, [ headType, trackHeadSize ]), setTrackAndHead = useCallback((pixelPos, max = !1) => {
|
|
39
|
+
const tr = track.current, hd = head.current;
|
|
40
|
+
let adjustment = 0;
|
|
41
|
+
0 === pixelPos && (adjustment = padding), max && (adjustment = -padding), tr && hd && (tr.style.width = `${pixelPos}px`,
|
|
42
|
+
hd.style.left = `${pixelPos - padding + adjustment}px`), didMount.current = !0;
|
|
43
|
+
}, [ padding ]), initialProgress = useCallback(current => {
|
|
44
|
+
if (!(null == ref ? void 0 : ref.current)) return;
|
|
45
|
+
const sliderWidth = ref.current.getBoundingClientRect().width;
|
|
46
|
+
let adjustedCurrent = current;
|
|
47
|
+
(adjustedCurrent > scaleMax || adjustedCurrent < scaleMin) && (console.warn("Slider outside range. Adjusted to mid point."),
|
|
48
|
+
adjustedCurrent = (scaleMax - scaleMin) / 2);
|
|
49
|
+
const normalized = (adjustedCurrent - scaleMin) / (scaleMax - scaleMin), pixelPos = normalized * sliderWidth;
|
|
50
|
+
absProgressRef.current = adjustedCurrent, relativeProgressRef.current = normalized;
|
|
51
|
+
const max = 1 === relativeProgressRef.current;
|
|
52
|
+
setTrackAndHead(pixelPos, max), didMount.current = !0;
|
|
53
|
+
}, [ scaleMax, scaleMin, setTrackAndHead ]), progress = useCallback(posX => {
|
|
54
|
+
const el = null == ref ? void 0 : ref.current;
|
|
55
|
+
if (!el) return {
|
|
56
|
+
value: 0,
|
|
57
|
+
percent: 0
|
|
58
|
+
};
|
|
59
|
+
const sliderWidth = el.getBoundingClientRect().width;
|
|
60
|
+
relativeProgressRef.current = posX / sliderWidth, absProgressRef.current = scaleMin + relativeProgressRef.current * (scaleMax - scaleMin);
|
|
61
|
+
}, [ scaleMax, scaleMin ]), updateSlider = useCallback(e => {
|
|
62
|
+
const newPos = pointerPosition(e), el = null == ref ? void 0 : ref.current;
|
|
63
|
+
if (!el) return 0;
|
|
64
|
+
const rect = el.getBoundingClientRect(), sliderWidth = rect.width;
|
|
65
|
+
let pos = newPos - rect.x;
|
|
66
|
+
pos > sliderWidth - padding ? pos = sliderWidth : pos < padding && (pos = 0);
|
|
67
|
+
return setTrackAndHead(pos, pos === sliderWidth), pos;
|
|
68
|
+
}, [ setTrackAndHead, padding ]), handleMouseMove = useCallback(e => {
|
|
69
|
+
e.preventDefault();
|
|
70
|
+
if (null == ref ? void 0 : ref.current) {
|
|
71
|
+
const pos = updateSlider(e);
|
|
72
|
+
progress(pos), debouncedOnChange(absProgressRef.current, relativeProgressRef.current);
|
|
73
|
+
}
|
|
74
|
+
}, [ progress, updateSlider, debouncedOnChange ]), handleMouseUp = useCallback(e => {
|
|
75
|
+
e.preventDefault();
|
|
76
|
+
if (null == ref ? void 0 : ref.current) {
|
|
77
|
+
const pos = updateSlider(e);
|
|
78
|
+
progress(pos), debouncedOnChange.cancel(), onDragChange(absProgressRef.current, relativeProgressRef.current),
|
|
79
|
+
onChange(absProgressRef.current, relativeProgressRef.current);
|
|
80
|
+
}
|
|
81
|
+
globalThis.removeEventListener("mousemove", handleMouseMove, !1), globalThis.removeEventListener("touchmove", handleMouseMove, !1),
|
|
82
|
+
globalThis.removeEventListener("mouseup", handleMouseUp, !1), globalThis.removeEventListener("touchend", handleMouseUp, !1);
|
|
83
|
+
}, [ handleMouseMove, progress, updateSlider, debouncedOnChange, onDragChange, onChange ]), handleMouseDown = useCallback(e => {
|
|
84
|
+
e.preventDefault(), e.stopPropagation(), globalThis.addEventListener("mousemove", handleMouseMove, !1),
|
|
85
|
+
globalThis.addEventListener("touchmove", handleMouseMove, !1), globalThis.addEventListener("mouseup", handleMouseUp, !1),
|
|
86
|
+
globalThis.addEventListener("touchend", handleMouseUp, !1);
|
|
87
|
+
if (null == ref ? void 0 : ref.current) {
|
|
88
|
+
const pos = updateSlider(e);
|
|
89
|
+
progress(pos), debouncedOnChange.cancel(), onChange(absProgressRef.current, relativeProgressRef.current),
|
|
90
|
+
onDragChange(absProgressRef.current, relativeProgressRef.current);
|
|
91
|
+
}
|
|
92
|
+
}, [ handleMouseMove, handleMouseUp, onChange, onDragChange, progress, updateSlider, debouncedOnChange ]);
|
|
93
|
+
useEffect(() => {
|
|
94
|
+
didMount.current && value === absProgressRef.current || initialProgress(value);
|
|
95
|
+
}, [ value, initialProgress ]), useEffect(() => {
|
|
96
|
+
const el = null == ref ? void 0 : ref.current;
|
|
97
|
+
return null == el || el.addEventListener("mousedown", handleMouseDown, !1), null == el || el.addEventListener("touchstart", handleMouseDown, !1),
|
|
98
|
+
() => {
|
|
99
|
+
null == el || el.removeEventListener("mousedown", handleMouseDown, !1), null == el || el.removeEventListener("touchstart", handleMouseDown, !1);
|
|
100
|
+
};
|
|
101
|
+
}, [ handleMouseDown ]), useEffect(() => {
|
|
102
|
+
var _a;
|
|
103
|
+
const sliderWidth = null === (_a = null == ref ? void 0 : ref.current) || void 0 === _a ? void 0 : _a.offsetWidth;
|
|
104
|
+
if (!sliderWidth || 0 === size.width) return;
|
|
105
|
+
const max = 1 === relativeProgressRef.current;
|
|
106
|
+
setTrackAndHead(relativeProgressRef.current * sliderWidth, max);
|
|
107
|
+
}, [ size.width, setTrackAndHead ]);
|
|
108
|
+
const trackHeadColor = useMemo(() => "none" === headType ? "transparent" : null != headColor ? headColor : "var(--core-text-primary)", [ headColor, headType ]), headSize = useMemo(() => "none" === headType ? height : trackHeadSize, [ trackHeadSize, headType, height ]), headWidth = useMemo(() => "round" === headType ? trackHeadSize : trackHeadWidth, [ headType, trackHeadSize, trackHeadWidth ]), setWidth = useMemo(() => width && "string" == typeof width ? "auto" === width ? "100%" : width : `${null != width ? width : 100}px`, [ width ]), cssVars = useMemo(() => ({
|
|
109
|
+
"--slider-padding": `${padding}px`,
|
|
110
|
+
"--slider-width": setWidth,
|
|
111
|
+
"--slider-height": `${height}px`,
|
|
112
|
+
"--slider-touch-height": `${touchHeight}px`,
|
|
113
|
+
"--slider-cursor": cursor,
|
|
114
|
+
"--slider-head-display": height ? "block" : "none",
|
|
115
|
+
"--slider-head-radius": "round" === headType ? "100%" : "0px",
|
|
116
|
+
"--slider-head-size": `${headSize}px`,
|
|
117
|
+
"--slider-head-width": `${headWidth}px`,
|
|
118
|
+
"--slider-head-color": trackHeadColor,
|
|
119
|
+
"--slider-progress-color": null != progressColor ? progressColor : "var(--core-text-primary)",
|
|
120
|
+
"--slider-track-color": null != trackColor ? trackColor : "var(--core-surface-secondary)"
|
|
121
|
+
}), [ padding, height, touchHeight, cursor, headWidth, progressColor, trackColor, headSize, trackHeadColor, headType, setWidth ]);
|
|
122
|
+
return jsx("div", Object.assign({
|
|
123
|
+
id: divId,
|
|
124
|
+
className: `${css_wrapper}${divClass}`,
|
|
125
|
+
style: Object.assign(Object.assign({}, divStyle), cssVars),
|
|
126
|
+
ref: ref
|
|
127
|
+
}, rest, {
|
|
128
|
+
children: jsx("div", {
|
|
129
|
+
className: css_trackBg,
|
|
130
|
+
children: jsx("div", {
|
|
131
|
+
className: css_track,
|
|
132
|
+
ref: track,
|
|
133
|
+
children: jsx("div", {
|
|
134
|
+
className: css_trackHead,
|
|
135
|
+
ref: head
|
|
136
|
+
})
|
|
137
|
+
})
|
|
138
|
+
})
|
|
139
|
+
}));
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
export { Slider as S };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { _ as __rest } from "./tslib.es6-c-7TIv71.mjs";
|
|
2
|
+
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
import React, { useMemo } from "react";
|
|
6
|
+
|
|
7
|
+
const Spacer = React.memo(props => {
|
|
8
|
+
const {size: size = 8} = props, divAttributes = __rest(props, [ "size" ]), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), spacerStyle = useMemo(() => ({
|
|
9
|
+
height: size,
|
|
10
|
+
minHeight: size,
|
|
11
|
+
maxHeight: size
|
|
12
|
+
}), [ size ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "";
|
|
13
|
+
return jsx("div", Object.assign({
|
|
14
|
+
id: divId,
|
|
15
|
+
className: divClass.trim(),
|
|
16
|
+
style: Object.assign(Object.assign({}, divStyle), spacerStyle)
|
|
17
|
+
}, rest));
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export { Spacer as S };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { _ as __rest } from "./tslib.es6-c-7TIv71.mjs";
|
|
2
|
+
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
import { motion } from "motion/react";
|
|
6
|
+
|
|
7
|
+
import React, { useState, useEffect, useCallback, useMemo } from "react";
|
|
8
|
+
|
|
9
|
+
import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
|
|
10
|
+
|
|
11
|
+
var css_wrapper = "Switch-module_wrapper__OqM0E flexBox-module_row__PWxbe", css_knob = "Switch-module_knob__BLGda flexBox-module_row__PWxbe";
|
|
12
|
+
|
|
13
|
+
styleInject(".flexBox-module_row__PWxbe {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__27lKK {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__nJZnW {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__dHcOU {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__MP2Xd {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__Kg8cV {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__zcmtk {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__157yI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__u2nwI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}\n\n.Switch-module_wrapper__OqM0E {\n\tpadding: var(--switch-padding) !important;\n\twidth: var(--switch-width);\n\theight: var(--switch-height);\n\tborder-radius: 100px;\n\tcursor: pointer;\n\tbackground: var(--switch-bg-color);\n\ttransition: background 0.25s ease-in-out 0s;\n}\n\n.Switch-module_knob__BLGda {\n\twidth: var(--switch-knob-size);\n\theight: var(--switch-knob-size);\n\tbackground: var(--switch-knob-color);\n\tborder-radius: 100%;\n}\n");
|
|
14
|
+
|
|
15
|
+
const Switch = React.memo(props => {
|
|
16
|
+
const {state: state = !1, height: height = 22, width: width = 44, padding: padding = 3, bgColorOn: bgColorOn = "var(--feedback-positive)", bgColorOff: bgColorOff = "var(--core-text-disabled)", knobColor: knobColor = "var(--core-surface-primary)", onChange: onChange = () => null} = props, divAttributes = __rest(props, [ "state", "height", "width", "padding", "bgColorOn", "bgColorOff", "knobColor", "onChange" ]), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", [on, setOn] = useState(state);
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
setOn(state);
|
|
19
|
+
}, [ state ]);
|
|
20
|
+
const handleClick = useCallback(() => {
|
|
21
|
+
setOn(!on), onChange(!on);
|
|
22
|
+
}, [ on, onChange ]), justify = useMemo(() => ({
|
|
23
|
+
justifyContent: on ? "flex-end" : "flex-start"
|
|
24
|
+
}), [ on ]), cssVars = useMemo(() => ({
|
|
25
|
+
"--switch-width": `${width}px`,
|
|
26
|
+
"--switch-height": `${height}px`,
|
|
27
|
+
"--switch-padding": `${padding}px`,
|
|
28
|
+
"--switch-knob-size": height - 2 * padding + "px",
|
|
29
|
+
"--switch-knob-color": knobColor,
|
|
30
|
+
"--switch-bg-color": on ? bgColorOn : bgColorOff
|
|
31
|
+
}), [ width, height, padding, bgColorOff, bgColorOn, on, knobColor ]);
|
|
32
|
+
return jsx(motion.div, Object.assign({
|
|
33
|
+
id: divId,
|
|
34
|
+
className: `${css_wrapper}${divClass}`,
|
|
35
|
+
style: Object.assign(Object.assign(Object.assign({}, divStyle), justify), cssVars),
|
|
36
|
+
onClick: handleClick
|
|
37
|
+
}, rest, {
|
|
38
|
+
children: jsx(motion.div, {
|
|
39
|
+
className: css_knob,
|
|
40
|
+
layout: "preserve-aspect"
|
|
41
|
+
})
|
|
42
|
+
}));
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
export { Switch as S };
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { _ as __rest } from "./tslib.es6-c-7TIv71.mjs";
|
|
2
|
+
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
import React, { useState, useEffect, useCallback, useMemo, useRef } from "react";
|
|
6
|
+
|
|
7
|
+
import { useTheme } from "../hooks/useTheme.mjs";
|
|
8
|
+
|
|
9
|
+
import "../theme/colors.mjs";
|
|
10
|
+
|
|
11
|
+
import "../hooks/useWindow.mjs";
|
|
12
|
+
|
|
13
|
+
import { B as Badge } from "./Badge-BISGWj5-.mjs";
|
|
14
|
+
|
|
15
|
+
import { I as Icon } from "./_types-KZDzhaiK.mjs";
|
|
16
|
+
|
|
17
|
+
import { I as IconButton } from "./IconButton-BBiZrXlS.mjs";
|
|
18
|
+
|
|
19
|
+
import { T as ToolTipType } from "./sharedTypes-tn9-uJvb.mjs";
|
|
20
|
+
|
|
21
|
+
import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
|
|
22
|
+
|
|
23
|
+
var css_wrapper = "TabBar-module_wrapper__z8Cvg flexBox-module_rowStart__nJZnW", css_option = "TabBar-module_option__Og-E4 flexBox-module_row__PWxbe type-module_body-m-regular__Qtp5G", css_icon = "TabBar-module_icon__LU5Rp flexBox-module_row__PWxbe", css_close = "TabBar-module_close__ytzs5 flexBox-module_row__PWxbe";
|
|
24
|
+
|
|
25
|
+
styleInject(".flexBox-module_row__PWxbe {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__27lKK {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__nJZnW {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__dHcOU {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__MP2Xd {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__Kg8cV {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__zcmtk {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__157yI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__u2nwI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.type-module_body-xs-regular__QWEzl {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-medium__FxEAv {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-bold__rf7AV {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.25px;\n}.type-module_body-s-regular__8-FO- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-medium__qyYq- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-bold__7GQ5Z {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-m-regular__Qtp5G {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-medium__Ieh9K {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-bold__0lZ3I {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-l-regular__Ar4d3 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-medium__6tV1n {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-bold__I8Q1v {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-xl-regular__zDf-z {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-xl-medium__R5GpK {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-xl-bold__SI-hC {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_heading-s-medium__jGIb2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-s-bold__QFgN8 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-bold__tdBSi {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-medium__-7Uyu {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-medium__8hGYF {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-bold__Cryjg {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-xl-medium__PUi44 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-xl-bold__1B6fk {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n.TabBar-module_wrapper__z8Cvg {\n\tgap: var(--tab-bar-gap);\n\tborder-bottom: var(--tab-bar-border-bottom) solid var(--core-outline-primary);\n\theight: var(--tab-bar-height);\n\twidth: var(--tab-bar-width);\n\tcursor: pointer;\n}\n\n.TabBar-module_option__Og-E4 {\n\tgap: var(--tab-bar-option-gap);\n\tcolor: var(--tab-bar-option-color);\n\tpadding: var(--tab-bar-option-padding) !important;\n\theight: 100%;\n\twidth: var(--tab-bar-option-width);\n\tflex: var(--tab-bar-option-flex);\n\twhite-space: nowrap;\n\tbox-shadow: 0 var(--tab-bar-option-border) 0 0 var(--core-text-special);\n\tcursor: var(--tab-bar-option-cursor);\n\t-webkit-user-select: none;\n\tuser-select: none;\n}\n\n.TabBar-module_icon__LU5Rp {\n\tmax-height: var(--tab-bar-icon-size);\n\tmin-height: var(--tab-bar-icon-size);\n\tmax-width: var(--tab-bar-icon-size);\n\tmin-width: var(--tab-bar-icon-size);\n}\n\n.TabBar-module_close__ytzs5 {\n\theight: 100%;\n\tpadding: var(--tab-bar-close-padding) !important;\n\tborder-left: 1px solid var(--core-outline-primary);\n\twidth: min-content;\n}\n");
|
|
26
|
+
|
|
27
|
+
const placeholderOptions = [ {
|
|
28
|
+
name: "Option 1",
|
|
29
|
+
value: "Option 1",
|
|
30
|
+
icon: null
|
|
31
|
+
}, {
|
|
32
|
+
name: "Option 2",
|
|
33
|
+
value: "Option 2",
|
|
34
|
+
icon: "wallet"
|
|
35
|
+
} ], TabBar = React.memo(props => {
|
|
36
|
+
const {options: options = placeholderOptions, selected: selected = 0, border: border = !0, underline: underline = !0, height: height = "100%", width: width = "100%", tabWidth: tabWidth = "distribute", padding: padding = 8, iconSize: iconSize = 20, iconGap: iconGap = 8, tabGap: tabGap = 0, disabled: disabled = !1, hasClose: hasClose = !1, closeWidth: closeWidth = "auto", selectedValue: selectedValue = null, onChange: onChange = () => null, onTabChange: onTabChange = () => null, onClose: onClose = () => null, onToolTip: onToolTip = () => null} = props, divAttributes = __rest(props, [ "options", "selected", "border", "underline", "height", "width", "tabWidth", "padding", "iconSize", "iconGap", "tabGap", "disabled", "hasClose", "closeWidth", "selectedValue", "onChange", "onTabChange", "onClose", "onToolTip" ]), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", [index, setIndex] = useState(selected);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
let selectedIndex = 0;
|
|
39
|
+
selectedValue && options ? (selectedIndex = options.findIndex(option => option.value === selectedValue),
|
|
40
|
+
setIndex(-1 === selectedIndex ? selected : selectedIndex)) : setIndex(selected);
|
|
41
|
+
}, [ selected, selectedValue, options ]);
|
|
42
|
+
const handleClick = useCallback(i => {
|
|
43
|
+
setIndex(i), onChange(i), onTabChange(options[i]);
|
|
44
|
+
}, [ onChange, onTabChange, options ]), handleOptionClick = useCallback(i => {
|
|
45
|
+
onToolTip(null), handleClick(i);
|
|
46
|
+
}, [ onToolTip, handleClick ]), renderedOptions = useMemo(() => options.map((option, i) => jsx(Option, {
|
|
47
|
+
label: option.name,
|
|
48
|
+
value: i,
|
|
49
|
+
showToolTip: option.toolTip,
|
|
50
|
+
selected: i === index,
|
|
51
|
+
padding: padding,
|
|
52
|
+
icon: option.icon,
|
|
53
|
+
iconSize: iconSize,
|
|
54
|
+
iconGap: iconGap,
|
|
55
|
+
disabled: disabled,
|
|
56
|
+
count: option.count,
|
|
57
|
+
onClick: handleOptionClick,
|
|
58
|
+
onToolTip: onToolTip,
|
|
59
|
+
underline: underline,
|
|
60
|
+
tabWidth: tabWidth
|
|
61
|
+
}, `${i}_option_${option.name}`)), [ options, index, padding, iconSize, iconGap, disabled, underline, tabWidth, onToolTip, handleOptionClick ]), setStyle = useCallback(value => "string" == typeof value ? value : `${value}px`, []), cssVars = useMemo(() => ({
|
|
62
|
+
"--tab-bar-gap": `${tabGap}px`,
|
|
63
|
+
"--tab-bar-height": `${setStyle(height)}px`,
|
|
64
|
+
"--tab-bar-width": setStyle(width),
|
|
65
|
+
"--tab-bar-border-bottom": "" + (border ? "1px" : "0"),
|
|
66
|
+
"--tab-bar-close-width": `${closeWidth}px`,
|
|
67
|
+
"--tab-bar-close-padding": padding ? `${padding}px` : "8px"
|
|
68
|
+
}), [ tabGap, height, width, border, setStyle, closeWidth, padding ]);
|
|
69
|
+
return jsxs("div", Object.assign({
|
|
70
|
+
id: divId,
|
|
71
|
+
className: `${css_wrapper}${divClass}`,
|
|
72
|
+
style: Object.assign(Object.assign({}, divStyle), cssVars)
|
|
73
|
+
}, rest, {
|
|
74
|
+
children: [ renderedOptions, hasClose && jsx("div", {
|
|
75
|
+
className: css_close,
|
|
76
|
+
children: jsx(IconButton, {
|
|
77
|
+
iconSize: iconSize - 4,
|
|
78
|
+
frameSize: iconSize,
|
|
79
|
+
toggle: !1,
|
|
80
|
+
hover: !0,
|
|
81
|
+
icon: "x",
|
|
82
|
+
onClick: onClose
|
|
83
|
+
})
|
|
84
|
+
}) ]
|
|
85
|
+
}));
|
|
86
|
+
});
|
|
87
|
+
|
|
88
|
+
TabBar.displayName = "TabBar";
|
|
89
|
+
|
|
90
|
+
const Option = React.memo(props => {
|
|
91
|
+
const theme = useTheme(), {label: label = "Option", value: value = 0, icon: icon = null, selected: selected = !1, onClick: onClick = () => null, onToolTip: onToolTip = () => null, padding: padding = 8, iconSize: iconSize = 20, iconGap: iconGap = 6, disabled: disabled = !1, showToolTip: showToolTip = null, underline: underline = !0, tabWidth: tabWidth = "distribute", count: count = 0} = props, ref = useRef(null), strokeColor = useMemo(() => !disabled && selected ? theme.current.colors["core-text-special"] : disabled ? theme.current.colors["core-text-disabled"] : theme.current.colors["core-text-primary"], [ disabled, selected, theme ]), handleMouseOver = useCallback(e => {
|
|
92
|
+
if (onToolTip(null), showToolTip && ref.current) {
|
|
93
|
+
const tip = {
|
|
94
|
+
type: ToolTipType.button,
|
|
95
|
+
payload: {
|
|
96
|
+
label: showToolTip
|
|
97
|
+
},
|
|
98
|
+
event: e,
|
|
99
|
+
ref: ref
|
|
100
|
+
};
|
|
101
|
+
onToolTip(tip);
|
|
102
|
+
}
|
|
103
|
+
}, [ showToolTip, onToolTip ]), handleMouseLeave = useCallback(() => {
|
|
104
|
+
showToolTip && onToolTip(null);
|
|
105
|
+
}, [ showToolTip, onToolTip ]), textColor = useMemo(() => disabled ? "var(--core-text-disabled)" : selected ? "var(--core-text-special)" : "var(--core-text-primary)", [ disabled, selected ]), setTabWidth = useMemo(() => "min-content" === tabWidth ? "min-content" : "distribute" === tabWidth ? "unset" : `${tabWidth}px`, [ tabWidth ]), setTabFlex = useMemo(() => "distribute" === tabWidth ? "1" : "unset", [ tabWidth ]), setUnderline = useMemo(() => selected && underline && !disabled ? "1px" : "0", [ underline, disabled, selected ]), cssVars = useMemo(() => ({
|
|
106
|
+
"--tab-bar-option-border": setUnderline,
|
|
107
|
+
"--tab-bar-option-padding": `${padding}px`,
|
|
108
|
+
"--tab-bar-option-icon-size": `${iconSize}px`,
|
|
109
|
+
"--tab-bar-option-cursor": disabled ? "default" : "pointer",
|
|
110
|
+
"--tab-bar-option-gap": `${null != iconGap ? iconGap : 0}px`,
|
|
111
|
+
"--tab-bar-option-color": textColor,
|
|
112
|
+
"--tab-bar-option-width": setTabWidth,
|
|
113
|
+
"--tab-bar-option-flex": setTabFlex
|
|
114
|
+
}), [ padding, iconSize, disabled, textColor, iconGap, setTabFlex, setTabWidth, setUnderline ]);
|
|
115
|
+
return jsxs("div", {
|
|
116
|
+
className: css_option,
|
|
117
|
+
style: cssVars,
|
|
118
|
+
ref: ref,
|
|
119
|
+
"aria-selected": selected,
|
|
120
|
+
onMouseEnter: handleMouseOver,
|
|
121
|
+
onMouseLeave: handleMouseLeave,
|
|
122
|
+
onClick: () => onClick(value),
|
|
123
|
+
onKeyDown: () => onClick(value),
|
|
124
|
+
children: [ icon && jsx("div", {
|
|
125
|
+
className: css_icon,
|
|
126
|
+
children: jsx(Icon, {
|
|
127
|
+
name: icon,
|
|
128
|
+
size: iconSize,
|
|
129
|
+
strokeColor: strokeColor
|
|
130
|
+
})
|
|
131
|
+
}), label, 0 !== count && jsx(Badge, {
|
|
132
|
+
variant: "light",
|
|
133
|
+
hideNull: !1,
|
|
134
|
+
count: count
|
|
135
|
+
}) ]
|
|
136
|
+
});
|
|
137
|
+
}, (prevProps, nextProps) => prevProps.selected === nextProps.selected && prevProps.underline === nextProps.underline && prevProps.tabWidth === nextProps.tabWidth && prevProps.disabled === nextProps.disabled && prevProps.iconGap === nextProps.iconGap && prevProps.iconSize === nextProps.iconSize && prevProps.count === nextProps.count && prevProps.label === nextProps.label && prevProps.icon === nextProps.icon);
|
|
138
|
+
|
|
139
|
+
Option.displayName = "TabOption";
|
|
140
|
+
|
|
141
|
+
export { TabBar as T };
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { _ as __rest } from "./tslib.es6-c-7TIv71.mjs";
|
|
2
|
+
|
|
3
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
import React, { useState, useRef, useCallback, useEffect, useMemo } from "react";
|
|
6
|
+
|
|
7
|
+
import { B as Button } from "./Button-B_aIY6wE.mjs";
|
|
8
|
+
|
|
9
|
+
import { s as styleInject } from "./style-inject.es-D0BjEaN8.mjs";
|
|
10
|
+
|
|
11
|
+
var css_wrapper = "TextArea-module_wrapper__vgfIH flexBox-module_columnStart__Kg8cV", css_textarea = "TextArea-module_textarea__eAcFn", css_send = "TextArea-module_send__SUUqB", css_s = "TextArea-module_s__53cFy type-module_body-s-regular__8-FO-", css_m = "TextArea-module_m__TtgeD type-module_body-m-regular__Qtp5G", css_l = "TextArea-module_l__u69gT type-module_body-l-regular__Ar4d3";
|
|
12
|
+
|
|
13
|
+
styleInject(".flexBox-module_row__PWxbe {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowBetween__27lKK {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowStart__nJZnW {\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_rowEnd__dHcOU {\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_column__MP2Xd {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStart__Kg8cV {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: flex-start;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnStartCenter__zcmtk {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-start;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnBetween__157yI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\talign-items: center;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.flexBox-module_columnEnd__u2nwI {\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: flex-end;\n\talign-items: flex-end;\n\tbox-sizing: border-box;\n\tpadding: 0;\n\tmargin: 0;\n}.type-module_body-xs-regular__QWEzl {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-medium__FxEAv {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-xs-bold__rf7AV {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xs);\n\tline-height: 133.33%;\n\ttext-decoration: none;\n\tletter-spacing: 0.25px;\n}.type-module_body-s-regular__8-FO- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-medium__qyYq- {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-s-bold__7GQ5Z {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-s);\n\tline-height: 142.86%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-m-regular__Qtp5G {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-medium__Ieh9K {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-m-bold__0lZ3I {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-m);\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_body-l-regular__Ar4d3 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-medium__6tV1n {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-l-bold__I8Q1v {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-l);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_body-xl-regular__zDf-z {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-regular);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-xl-medium__R5GpK {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-medium);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.1px;\n}.type-module_body-xl-bold__SI-hC {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: var(--font-weight-bold);\n\tfont-size: var(--font-size-xl);\n\tline-height: 162.5%;\n\ttext-decoration: none;\n\tletter-spacing: 0.15px;\n}.type-module_heading-s-medium__jGIb2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-s-bold__QFgN8 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-bold__tdBSi {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-m-medium__-7Uyu {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 24px;\n\tline-height: 116.67%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-medium__8hGYF {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-l-bold__Cryjg {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 30px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-xl-medium__PUi44 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 500;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-xl-bold__1B6fk {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 600;\n\tfont-size: 36px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n.TextArea-module_wrapper__vgfIH {\n\tposition: relative;\n\tpadding: var(--ta-padding) !important;\n\twidth: var(--ta-width);\n\theight: auto;\n\tborder-radius: var(--ta-border-radius);\n\tbackground-color: var(--ta-bg-color);\n\tbox-shadow: 0 0 0 1px var(--ta-border-color);\n\ttransition: all 0.25s ease-in-out 0s;\n}\n\n.TextArea-module_textarea__eAcFn {\n\tborder: 0;\n\toutline: 0;\n\tpadding: 0 16px 0 0;\n\twidth: 100%;\n\theight: 100%;\n\tcolor: var(--core-text-primary);\n\tbackground-color: transparent;\n\tbox-sizing: border-box;\n\tresize: var(--ta-resize);\n\n\t&:disabled {\n\t\tcolor: var(--core-text-disabled);\n\t}\n\n\t&::placeholder {\n\t\tcolor: var(--core-text-disabled);\n\t}\n\n\toverflow-y: auto;\n\n\t&::-webkit-scrollbar {\n\t\tbackground-color: transparent;\n\t\twidth: 14px;\n\t}\n\n\t&::-webkit-scrollbar-track {\n\t\tbackground-color: transparent;\n\t}\n\n\t&::-webkit-scrollbar-thumb {\n\t\tbackground-color: var(--scroll-bar);\n\t\tborder-radius: 20px;\n\t\tborder: 4px solid var(--core-surface-primary);\n\t}\n\n\t&::-webkit-scrollbar-thumb:hover {\n\t\tbackground-color: var(--scroll-bar);\n\t\tborder-radius: 20px;\n\t\tborder: 4px solid var(--core-surface-primary);\n\t\tcursor: default;\n\t}\n}\n\n.TextArea-module_actions__hA93N {\n\twidth: 100%;\n\tmin-height: 30px;\n\tcolor: var(--core-text-disabled);\n\tgap: 16px;\n}\n\n.TextArea-module_option__DDx9A {\n\tgap: 4px;\n\twhite-space: nowrap;\n\tuser-select: none;\n\t-webkit-user-select: none;\n\tcursor: default;\n}\n\n.TextArea-module_send__SUUqB {\n\tposition: absolute;\n\tbottom: var(--ta-send-icon-offset-bottom);\n\tright: var(--ta-send-icon-offset-right);\n}\n\n.TextArea-module_s__53cFy {\n}\n\n.TextArea-module_m__TtgeD {\n}\n\n.TextArea-module_l__u69gT {\n}\n");
|
|
14
|
+
|
|
15
|
+
const TextArea = React.memo(props => {
|
|
16
|
+
const {value: value = "", name: name = "text_area", width: width = "100%", focused: focused = !1, placeholder: placeholder = "Enter text here...", rows: rows = 6, border: border = !1, borderRadius: borderRadius = 4, padding: padding = "16px 4px 16px 16px", validate: validate = !1, resizable: resizable = !0, hasSend: hasSend = !1, sendOffset: sendOffset = {
|
|
17
|
+
bottom: 6,
|
|
18
|
+
right: 6
|
|
19
|
+
}, sendSize: sendSize = 36, returnSubmits: returnSubmits = !1, bgColor: bgColor, minWidth: minWidth, textSize: textSize = "m", disabled: disabled = !1, submitClears: submitClears = !0, onChange: onChange = () => null, onFocus: onFocus = () => null, onBlur: onBlur = () => null, onValidate: onValidate = () => null, onSubmit: onSubmit = () => null, onKeyDown: onKeyDown = () => null} = props, divAttributes = __rest(props, [ "value", "name", "width", "focused", "placeholder", "rows", "border", "borderRadius", "padding", "validate", "resizable", "hasSend", "sendOffset", "sendSize", "returnSubmits", "bgColor", "minWidth", "textSize", "disabled", "submitClears", "onChange", "onFocus", "onBlur", "onValidate", "onSubmit", "onKeyDown" ]), {id: divId, className: className, style: style} = divAttributes, rest = __rest(divAttributes, [ "id", "className", "style" ]), divStyle = null != style ? style : {}, divClass = className ? ` ${className}` : "", [isFocused, setIsFocused] = useState(focused), [invalid, setInvalid] = useState(!1), [text, setText] = useState(value), [initiated, setInitiated] = useState(!1), ref = useRef(null), handleResize = useCallback(() => {
|
|
20
|
+
(null == ref ? void 0 : ref.current) && (ref.current.style.height = "auto", ref.current.style.height = `${ref.current.scrollHeight}px`);
|
|
21
|
+
}, []), runValidation = useCallback(content => {
|
|
22
|
+
let valid = !0;
|
|
23
|
+
return validate && content.length < 1 && (valid = !1), initiated || (valid = !0),
|
|
24
|
+
onValidate(valid), !valid;
|
|
25
|
+
}, [ initiated, onValidate, validate ]);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
(null == ref ? void 0 : ref.current) && (focused ? ref.current.focus() : ref.current.blur(),
|
|
28
|
+
setIsFocused(focused));
|
|
29
|
+
}, [ focused ]), useEffect(() => {
|
|
30
|
+
value && (setText(value), setInvalid(runValidation(value)));
|
|
31
|
+
}, [ value, runValidation ]), useEffect(() => {
|
|
32
|
+
handleResize();
|
|
33
|
+
}, [ rows ]);
|
|
34
|
+
const handleChange = useCallback(content => {
|
|
35
|
+
onChange(content), setText(content), setInvalid(runValidation(content));
|
|
36
|
+
}, [ onChange, runValidation ]), handleFocus = useCallback(() => {
|
|
37
|
+
(null == ref ? void 0 : ref.current) && ref.current.focus(), setInitiated(!0), setIsFocused(!0),
|
|
38
|
+
onFocus();
|
|
39
|
+
}, [ onFocus ]), handleBlur = useCallback(content => {
|
|
40
|
+
handleChange(content), setIsFocused(!1), onBlur();
|
|
41
|
+
}, [ handleChange, onBlur ]), handleSubmit = useCallback(e => {
|
|
42
|
+
null == e || e.preventDefault(), handleFocus(), onSubmit(text), submitClears && setText(""),
|
|
43
|
+
(null == ref ? void 0 : ref.current) && (ref.current.value = ""), handleResize();
|
|
44
|
+
}, [ handleFocus, onSubmit, text, submitClears, handleResize ]), handleKeyDownWrapper = useCallback(e => {
|
|
45
|
+
returnSubmits && "Enter" === e.key && (e.preventDefault(), e.stopPropagation(),
|
|
46
|
+
handleSubmit(void 0)), onKeyDown(e);
|
|
47
|
+
}, [ returnSubmits, handleSubmit, onKeyDown ]), setStyleValue = useCallback(value => "string" == typeof value ? value : `${value}px`, []), setBorderColor = useMemo(() => isFocused ? "var(--core-link-primary)" : validate && invalid ? "var(--feedback-warning)" : border ? "var(--core-outline-primary)" : "transparent", [ isFocused, invalid, validate, border ]), textClassName = useMemo(() => "l" === textSize ? css_l : "m" === textSize ? css_m : css_s, [ textSize ]), cssVars = useMemo(() => ({
|
|
48
|
+
"--ta-border-radius": `${borderRadius}px`,
|
|
49
|
+
"--ta-width": `${setStyleValue(width)}`,
|
|
50
|
+
"--ta-min-width": minWidth ? `${minWidth}px` : "unset",
|
|
51
|
+
"--ta-bg-color": null != bgColor ? bgColor : "var(--core-surface-secondary)",
|
|
52
|
+
"--ta-border-color": setBorderColor,
|
|
53
|
+
"--ta-padding": `${setStyleValue(padding)}`,
|
|
54
|
+
"--ta-send-icon-offset-bottom": `${sendOffset.bottom}px`,
|
|
55
|
+
"--ta-send-icon-offset-right": `${sendOffset.right}px`,
|
|
56
|
+
"--ta-send-icon-size": `${sendSize}px`,
|
|
57
|
+
"--ta-resize": resizable ? "vertical" : "none"
|
|
58
|
+
}), [ width, minWidth, bgColor, setBorderColor, padding, sendOffset, sendSize, setStyleValue, borderRadius, resizable ]);
|
|
59
|
+
return jsxs("div", Object.assign({
|
|
60
|
+
id: divId,
|
|
61
|
+
className: `${css_wrapper}${divClass}`,
|
|
62
|
+
style: Object.assign(Object.assign({}, divStyle), cssVars),
|
|
63
|
+
onBlur: () => handleBlur(text),
|
|
64
|
+
onFocus: () => handleFocus()
|
|
65
|
+
}, rest, {
|
|
66
|
+
children: [ hasSend && jsx("div", {
|
|
67
|
+
className: css_send,
|
|
68
|
+
onMouseDown: e => handleSubmit(e),
|
|
69
|
+
children: jsx(Button, {
|
|
70
|
+
iconLeft: "arrow up",
|
|
71
|
+
size: "medium",
|
|
72
|
+
variant: "solid",
|
|
73
|
+
round: !0
|
|
74
|
+
})
|
|
75
|
+
}), jsx("textarea", {
|
|
76
|
+
className: `${css_textarea} ${textClassName}`,
|
|
77
|
+
ref: ref,
|
|
78
|
+
name: name,
|
|
79
|
+
value: text,
|
|
80
|
+
placeholder: placeholder,
|
|
81
|
+
rows: rows,
|
|
82
|
+
disabled: disabled,
|
|
83
|
+
onChange: e => handleChange(e.target.value),
|
|
84
|
+
onInput: () => handleResize(),
|
|
85
|
+
onKeyDown: e => handleKeyDownWrapper(e)
|
|
86
|
+
}) ]
|
|
87
|
+
}));
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
export { TextArea as T };
|