@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
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-4H29ixHs.js');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var Button = require('./Button-BNXqiA13.js');
|
|
7
|
-
var styleInject_es = require('./style-inject.es-XZHJH68X.js');
|
|
8
|
-
|
|
9
|
-
var css_248z = ".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";
|
|
10
|
-
var css = {"wrapper":"TextArea-module_wrapper__vgfIH flexBox-module_columnStart__Kg8cV","textarea":"TextArea-module_textarea__eAcFn","send":"TextArea-module_send__SUUqB","s":"TextArea-module_s__53cFy type-module_body-s-regular__8-FO-","m":"TextArea-module_m__TtgeD type-module_body-m-regular__Qtp5G","l":"TextArea-module_l__u69gT type-module_body-l-regular__Ar4d3"};
|
|
11
|
-
styleInject_es.styleInject(css_248z);
|
|
12
|
-
|
|
13
|
-
const TextArea = React.memo((props) => {
|
|
14
|
-
const { value = '', name = 'text_area', width = '100%', focused = false, placeholder = 'Enter text here...', rows = 6, border = false, borderRadius = 4, padding = '16px 4px 16px 16px', validate = false, resizable = true, hasSend = false, sendOffset = { bottom: 6, right: 6 }, sendSize = 36, returnSubmits = false, bgColor = undefined, minWidth = undefined, textSize = 'm', disabled = false, submitClears = true, onChange = () => null, onFocus = () => null, onBlur = () => null, onValidate = () => null, onSubmit = () => null, onKeyDown = () => null } = props, divAttributes = tslib_es6.__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"]);
|
|
15
|
-
const { id: divId, className, style } = divAttributes, rest = tslib_es6.__rest(divAttributes, ["id", "className", "style"]);
|
|
16
|
-
const divStyle = style !== null && style !== void 0 ? style : {};
|
|
17
|
-
const divClass = className ? ` ${className}` : '';
|
|
18
|
-
const [isFocused, setIsFocused] = React.useState(focused);
|
|
19
|
-
const [invalid, setInvalid] = React.useState(false);
|
|
20
|
-
const [text, setText] = React.useState(value);
|
|
21
|
-
const [initiated, setInitiated] = React.useState(false);
|
|
22
|
-
const ref = React.useRef(null);
|
|
23
|
-
// update text area height
|
|
24
|
-
const handleResize = React.useCallback(() => {
|
|
25
|
-
if (!(ref === null || ref === void 0 ? void 0 : ref.current))
|
|
26
|
-
return;
|
|
27
|
-
ref.current.style.height = 'auto';
|
|
28
|
-
ref.current.style.height = `${ref.current.scrollHeight}px`;
|
|
29
|
-
}, []);
|
|
30
|
-
// validate content
|
|
31
|
-
const runValidation = React.useCallback((content) => {
|
|
32
|
-
let valid = true;
|
|
33
|
-
if (validate && content.length < 1)
|
|
34
|
-
valid = false;
|
|
35
|
-
if (!initiated)
|
|
36
|
-
valid = true;
|
|
37
|
-
onValidate(valid);
|
|
38
|
-
return !valid;
|
|
39
|
-
}, [initiated, onValidate, validate]);
|
|
40
|
-
// focus / blur field on prop change
|
|
41
|
-
React.useEffect(() => {
|
|
42
|
-
if (ref === null || ref === void 0 ? void 0 : ref.current) {
|
|
43
|
-
if (focused)
|
|
44
|
-
ref.current.focus();
|
|
45
|
-
else
|
|
46
|
-
ref.current.blur();
|
|
47
|
-
setIsFocused(focused);
|
|
48
|
-
}
|
|
49
|
-
}, [focused]);
|
|
50
|
-
// update value on prop change
|
|
51
|
-
React.useEffect(() => {
|
|
52
|
-
if (value) {
|
|
53
|
-
setText(value);
|
|
54
|
-
setInvalid(runValidation(value));
|
|
55
|
-
}
|
|
56
|
-
}, [value, runValidation]);
|
|
57
|
-
// update height based on rows value
|
|
58
|
-
// biome-ignore lint/correctness/useExhaustiveDependencies: update heigt on rows change
|
|
59
|
-
React.useEffect(() => {
|
|
60
|
-
handleResize();
|
|
61
|
-
}, [rows]);
|
|
62
|
-
// update value
|
|
63
|
-
const handleChange = React.useCallback((content) => {
|
|
64
|
-
onChange(content);
|
|
65
|
-
setText(content);
|
|
66
|
-
setInvalid(runValidation(content));
|
|
67
|
-
}, [onChange, runValidation]);
|
|
68
|
-
// set focus
|
|
69
|
-
const handleFocus = React.useCallback(() => {
|
|
70
|
-
if (ref === null || ref === void 0 ? void 0 : ref.current)
|
|
71
|
-
ref.current.focus();
|
|
72
|
-
setInitiated(true);
|
|
73
|
-
setIsFocused(true);
|
|
74
|
-
onFocus();
|
|
75
|
-
}, [onFocus]);
|
|
76
|
-
// set blur
|
|
77
|
-
const handleBlur = React.useCallback((content) => {
|
|
78
|
-
handleChange(content);
|
|
79
|
-
setIsFocused(false);
|
|
80
|
-
onBlur();
|
|
81
|
-
}, [handleChange, onBlur]);
|
|
82
|
-
// trigger submit as needed
|
|
83
|
-
const handleSubmit = React.useCallback((e) => {
|
|
84
|
-
e === null || e === void 0 ? void 0 : e.preventDefault();
|
|
85
|
-
handleFocus();
|
|
86
|
-
onSubmit(text);
|
|
87
|
-
if (submitClears)
|
|
88
|
-
setText('');
|
|
89
|
-
if (ref === null || ref === void 0 ? void 0 : ref.current)
|
|
90
|
-
ref.current.value = '';
|
|
91
|
-
handleResize();
|
|
92
|
-
}, [handleFocus, onSubmit, text, submitClears, handleResize]);
|
|
93
|
-
// handle return key
|
|
94
|
-
const handleKeyDownWrapper = React.useCallback((e) => {
|
|
95
|
-
if (returnSubmits && e.key === 'Enter') {
|
|
96
|
-
e.preventDefault();
|
|
97
|
-
e.stopPropagation();
|
|
98
|
-
handleSubmit(undefined);
|
|
99
|
-
}
|
|
100
|
-
onKeyDown(e);
|
|
101
|
-
}, [returnSubmits, handleSubmit, onKeyDown]);
|
|
102
|
-
// set style value
|
|
103
|
-
const setStyleValue = React.useCallback((value) => {
|
|
104
|
-
if (typeof value === 'string')
|
|
105
|
-
return value;
|
|
106
|
-
return `${value}px`;
|
|
107
|
-
}, []);
|
|
108
|
-
// memo border color
|
|
109
|
-
const setBorderColor = React.useMemo(() => {
|
|
110
|
-
if (isFocused)
|
|
111
|
-
return 'var(--core-link-primary)';
|
|
112
|
-
if (validate && invalid)
|
|
113
|
-
return 'var(--feedback-warning)';
|
|
114
|
-
return border ? 'var(--core-outline-primary)' : 'transparent';
|
|
115
|
-
}, [isFocused, invalid, validate, border]);
|
|
116
|
-
// memo text size
|
|
117
|
-
const textClassName = React.useMemo(() => {
|
|
118
|
-
if (textSize === 'l')
|
|
119
|
-
return css.l;
|
|
120
|
-
if (textSize === 'm')
|
|
121
|
-
return css.m;
|
|
122
|
-
return css.s;
|
|
123
|
-
}, [textSize]);
|
|
124
|
-
// memo css vars
|
|
125
|
-
const cssVars = React.useMemo(() => {
|
|
126
|
-
return {
|
|
127
|
-
'--ta-border-radius': `${borderRadius}px`,
|
|
128
|
-
'--ta-width': `${setStyleValue(width)}`,
|
|
129
|
-
'--ta-min-width': minWidth ? `${minWidth}px` : 'unset',
|
|
130
|
-
'--ta-bg-color': bgColor !== null && bgColor !== void 0 ? bgColor : 'var(--core-surface-secondary)',
|
|
131
|
-
'--ta-border-color': setBorderColor,
|
|
132
|
-
'--ta-padding': `${setStyleValue(padding)}`,
|
|
133
|
-
'--ta-send-icon-offset-bottom': `${sendOffset.bottom}px`,
|
|
134
|
-
'--ta-send-icon-offset-right': `${sendOffset.right}px`,
|
|
135
|
-
'--ta-send-icon-size': `${sendSize}px`,
|
|
136
|
-
'--ta-resize': resizable ? 'vertical' : 'none',
|
|
137
|
-
};
|
|
138
|
-
}, [
|
|
139
|
-
width,
|
|
140
|
-
minWidth,
|
|
141
|
-
bgColor,
|
|
142
|
-
setBorderColor,
|
|
143
|
-
padding,
|
|
144
|
-
sendOffset,
|
|
145
|
-
sendSize,
|
|
146
|
-
setStyleValue,
|
|
147
|
-
borderRadius,
|
|
148
|
-
resizable,
|
|
149
|
-
]);
|
|
150
|
-
return (jsxRuntime.jsxs("div", Object.assign({ id: divId, className: `${css.wrapper}${divClass}`, style: Object.assign(Object.assign({}, divStyle), cssVars), onBlur: () => handleBlur(text), onFocus: () => handleFocus() }, rest, { children: [hasSend && (jsxRuntime.jsx("div", { className: css.send, onMouseDown: (e) => handleSubmit(e), children: jsxRuntime.jsx(Button.Button, { iconLeft: 'arrow up', size: 'medium', variant: 'solid', round: true }) })), jsxRuntime.jsx("textarea", { className: `${css.textarea} ${textClassName}`, ref: ref, name: name, value: text, placeholder: placeholder, rows: rows, disabled: disabled, onChange: (e) => handleChange(e.target.value), onInput: () => handleResize(), onKeyDown: (e) => handleKeyDownWrapper(e) })] })));
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
exports.TextArea = TextArea;
|
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-4H29ixHs.js');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var react = require('motion/react');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var hooks_useTheme = require('../hooks/useTheme.js');
|
|
8
|
-
require('../theme/colors.js');
|
|
9
|
-
require('../hooks/useWindow.js');
|
|
10
|
-
var Button = require('./Button-BNXqiA13.js');
|
|
11
|
-
var _types = require('./_types-BNlHsGMQ.js');
|
|
12
|
-
var IconButton = require('./IconButton-9QZ4eKBZ.js');
|
|
13
|
-
var styleInject_es = require('./style-inject.es-XZHJH68X.js');
|
|
14
|
-
|
|
15
|
-
var css_248z = ".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.TextField-module_wrapper__I0Av0 {\n\tposition: relative;\n\tpadding: var(--tf-padding) !important;\n\tgap: 8px;\n\toverflow: visible;\n\twidth: var(--tf-width);\n\theight: var(--tf-height);\n\tborder-radius: var(--tf-border-radius);\n\tbackground: var(--tf-bg);\n\tbox-shadow: var(--tf-box-shadow);\n\ttransition: all 0.25s ease-in-out 0s;\n}\n\n.TextField-module_container__0FwXa {\n\tflex: 1;\n\theight: 100%;\n\tgap: 8px;\n}\n\n.TextField-module_label__Jyh8E {\n\tcolor: var(--tf-label-color);\n\theight: auto;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.TextField-module_input__N140B {\n\tcolor: var(--tf-text-color);\n\tbackground-color: transparent;\n\tbox-sizing: border-box;\n\toutline: none;\n\tborder: 0;\n\theight: 100%;\n\twidth: 100%;\n\ttext-align: var(--tf-text-align);\n\t&::placeholder {\n\t\tcolor: var(--tf-placeholder-color);\n\t}\n\t&:focus::placeholder {\n\t\tcolor: var(--tf-placeholder-color);\n\t}\n\t&:disabled {\n\t\tcolor: var(--core-text-disabled);\n\t}\n\t&:-webkit-autofill,\n\t&:-webkit-autofill:hover,\n\t&:-webkit-autofill:focus,\n\t&:-webkit-autofill:active {\n\t\tbox-shadow: 0 0 0 50px var(--core-button-disabled) inset !important;\n\t\t-webkit-text-fill-color: var(--core-text-primary);\n\t}\n}\n\n.TextField-module_showPassword__Y-6u- {\n\tmin-height: 18px;\n\tmin-width: 18px;\n\tmax-height: 18px;\n\tmax-width: 18px;\n\topacity: var(--tf-show-opacity);\n\t&:hover {\n\t\topacity: var(--tf-show-opacity-hover);\n\t}\n}\n\n.TextField-module_s__sOwni {\n}\n\n.TextField-module_m__gsIsZ {\n}\n\n.TextField-module_l__f0HAD {\n}\n";
|
|
16
|
-
var css = {"wrapper":"TextField-module_wrapper__I0Av0 flexBox-module_rowStart__nJZnW","container":"TextField-module_container__0FwXa flexBox-module_rowStart__nJZnW","label":"TextField-module_label__Jyh8E flexBox-module_rowStart__nJZnW","input":"TextField-module_input__N140B","showPassword":"TextField-module_showPassword__Y-6u- flexBox-module_row__PWxbe","s":"TextField-module_s__sOwni type-module_body-s-regular__8-FO-","m":"TextField-module_m__gsIsZ type-module_body-m-regular__Qtp5G","l":"TextField-module_l__f0HAD type-module_body-l-regular__Ar4d3"};
|
|
17
|
-
styleInject_es.styleInject(css_248z);
|
|
18
|
-
|
|
19
|
-
const MOTION_CONFIG = {
|
|
20
|
-
variants: {
|
|
21
|
-
initial: { opacity: 0 },
|
|
22
|
-
animate: { opacity: 1 },
|
|
23
|
-
exit: { opacity: 0 },
|
|
24
|
-
},
|
|
25
|
-
transition: { ease: 'easeInOut', duration: 0.25 },
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
const TextField = React.memo((props) => {
|
|
29
|
-
const theme = hooks_useTheme.useTheme();
|
|
30
|
-
const { name = 'input_name', value = '', label = '', labelSize = 'm', textSize = 'm', placeholder = 'placeholder', focused = false, onSubmit = () => null, onChange = () => null, onBlur = () => null, onFocus = () => null, onKeydown = () => null, onAction = () => null, onPaste = () => null, onClear = () => null, onValidate = () => null, actionButton = false, maxLength = undefined, size = { width: '100%', height: 'auto' }, padding = '8px 16px', borderRadius = 8, editable = true, textAlign = 'left', isValid = true, inline = false, noShow = false, borderType = 'box', validate = true, borderColor = {
|
|
31
|
-
focused: 'var(--core-link-primary)',
|
|
32
|
-
blurred: 'var(--core-outline-primary)',
|
|
33
|
-
error: 'var(--feedback-warning)',
|
|
34
|
-
}, backgroundColor = {
|
|
35
|
-
focused: 'var(--core-surface-secondary)',
|
|
36
|
-
blurred: 'var(--core-surface-secondary)',
|
|
37
|
-
}, color = {
|
|
38
|
-
focused: 'var(--core-text-primary)',
|
|
39
|
-
blurred: 'var(--core-text-primary)',
|
|
40
|
-
error: 'var(--feedback-warning)',
|
|
41
|
-
placeholder: 'var(--core-text-disabled)',
|
|
42
|
-
disabled: 'var(--core-text-disabled)',
|
|
43
|
-
label: 'var(--core-text-tertiary)',
|
|
44
|
-
}, iconLeft = null, clearButton = { size: 20 }, clearBlurs = false, disabled = false, inputType = 'text' } = props, divAttributes = tslib_es6.__rest(props, ["name", "value", "label", "labelSize", "textSize", "placeholder", "focused", "onSubmit", "onChange", "onBlur", "onFocus", "onKeydown", "onAction", "onPaste", "onClear", "onValidate", "actionButton", "maxLength", "size", "padding", "borderRadius", "editable", "textAlign", "isValid", "inline", "noShow", "borderType", "validate", "borderColor", "backgroundColor", "color", "iconLeft", "clearButton", "clearBlurs", "disabled", "inputType"]);
|
|
45
|
-
const { id: divId, className, style } = divAttributes, rest = tslib_es6.__rest(divAttributes, ["id", "className", "style"]);
|
|
46
|
-
const divStyle = style !== null && style !== void 0 ? style : {};
|
|
47
|
-
const divClass = className ? ` ${className}` : '';
|
|
48
|
-
const input = React.useRef(null);
|
|
49
|
-
const [text, setText] = React.useState(value);
|
|
50
|
-
const [isFocused, setIsFocused] = React.useState(focused);
|
|
51
|
-
const [valid, setValid] = React.useState(isValid);
|
|
52
|
-
const [show, setShow] = React.useState(false);
|
|
53
|
-
// update focused and blurred state on prop updates
|
|
54
|
-
React.useEffect(() => {
|
|
55
|
-
if (!input.current)
|
|
56
|
-
return;
|
|
57
|
-
if (focused) {
|
|
58
|
-
input.current.focus();
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
input.current.blur();
|
|
62
|
-
}
|
|
63
|
-
setIsFocused(focused);
|
|
64
|
-
}, [focused]);
|
|
65
|
-
// update text value on prop change
|
|
66
|
-
React.useEffect(() => {
|
|
67
|
-
setText(value);
|
|
68
|
-
}, [value]);
|
|
69
|
-
// update valid on prop change
|
|
70
|
-
React.useEffect(() => {
|
|
71
|
-
setValid(isValid);
|
|
72
|
-
}, [isValid]);
|
|
73
|
-
// callback to check if the text is valid
|
|
74
|
-
const textIsValid = React.useCallback((entry) => {
|
|
75
|
-
if (!validate)
|
|
76
|
-
return;
|
|
77
|
-
const ok = entry.length > 1 || entry === '';
|
|
78
|
-
setValid(ok);
|
|
79
|
-
if (valid !== ok)
|
|
80
|
-
onValidate(ok);
|
|
81
|
-
}, [onValidate, valid, validate]);
|
|
82
|
-
// memo clear text field contents
|
|
83
|
-
const handleClearTextField = React.useCallback(() => {
|
|
84
|
-
if (input === null || input === void 0 ? void 0 : input.current) {
|
|
85
|
-
if (!clearBlurs)
|
|
86
|
-
input.current.focus();
|
|
87
|
-
setText('');
|
|
88
|
-
textIsValid('');
|
|
89
|
-
}
|
|
90
|
-
onChange('');
|
|
91
|
-
onClear();
|
|
92
|
-
}, [clearBlurs, onChange, onClear, textIsValid]);
|
|
93
|
-
// memo handling value updates based on input
|
|
94
|
-
const handleValueChange = React.useCallback((newValue) => {
|
|
95
|
-
setText(newValue);
|
|
96
|
-
onChange(newValue);
|
|
97
|
-
if (!valid)
|
|
98
|
-
textIsValid(text);
|
|
99
|
-
}, [onChange, textIsValid, text, valid]);
|
|
100
|
-
// memo blur handler
|
|
101
|
-
const handleBlur = React.useCallback(() => {
|
|
102
|
-
textIsValid(text);
|
|
103
|
-
setIsFocused(false);
|
|
104
|
-
onBlur(text);
|
|
105
|
-
}, [text, onBlur, textIsValid]);
|
|
106
|
-
// memo key stroke handling
|
|
107
|
-
const handleKeyDown = React.useCallback((e) => {
|
|
108
|
-
var _a;
|
|
109
|
-
if (e.key === 'Enter') {
|
|
110
|
-
handleBlur();
|
|
111
|
-
onSubmit(text);
|
|
112
|
-
(_a = input.current) === null || _a === void 0 ? void 0 : _a.blur();
|
|
113
|
-
}
|
|
114
|
-
if (disabled) {
|
|
115
|
-
e.preventDefault();
|
|
116
|
-
return true;
|
|
117
|
-
}
|
|
118
|
-
onKeydown(e.key, e);
|
|
119
|
-
}, [text, disabled, onSubmit, onKeydown, handleBlur]);
|
|
120
|
-
// memo handle focus
|
|
121
|
-
const handleFocus = React.useCallback(() => {
|
|
122
|
-
setIsFocused(true);
|
|
123
|
-
onFocus(text);
|
|
124
|
-
}, [text, onFocus]);
|
|
125
|
-
// memo toggle show (for passwords)
|
|
126
|
-
const toggleShow = React.useCallback(() => {
|
|
127
|
-
setShow((prev) => !prev);
|
|
128
|
-
}, []);
|
|
129
|
-
// memo icon style
|
|
130
|
-
const iconContainerStyle = React.useMemo(() => iconLeft ? { width: iconLeft.size, height: iconLeft.size } : undefined, [iconLeft]);
|
|
131
|
-
// memo icon color
|
|
132
|
-
const iconStrokeColor = React.useMemo(() => (iconLeft === null || iconLeft === void 0 ? void 0 : iconLeft.color)
|
|
133
|
-
? iconLeft.color
|
|
134
|
-
: theme.current.colors['core-icon-secondary'], [iconLeft, theme]);
|
|
135
|
-
// memo show clear button
|
|
136
|
-
const clearButtonStyle = React.useMemo(() => clearButton
|
|
137
|
-
? { width: clearButton.size, height: clearButton.size }
|
|
138
|
-
: undefined, [clearButton]);
|
|
139
|
-
// process style values that are string, number or undefined
|
|
140
|
-
const setStyleValue = React.useCallback((value) => {
|
|
141
|
-
if (value === undefined)
|
|
142
|
-
return 'unset';
|
|
143
|
-
if (typeof value === 'string')
|
|
144
|
-
return value;
|
|
145
|
-
return `${value}px`;
|
|
146
|
-
}, []);
|
|
147
|
-
// memo background color
|
|
148
|
-
const setBackgroundColor = React.useMemo(() => {
|
|
149
|
-
var _a, _b;
|
|
150
|
-
if (inline)
|
|
151
|
-
return 'unset';
|
|
152
|
-
if (isFocused)
|
|
153
|
-
return (_a = backgroundColor.focused) !== null && _a !== void 0 ? _a : 'transparent';
|
|
154
|
-
return (_b = backgroundColor.blurred) !== null && _b !== void 0 ? _b : 'transparent';
|
|
155
|
-
}, [inline, isFocused, backgroundColor]);
|
|
156
|
-
// memo border color
|
|
157
|
-
const setBorderColor = React.useMemo(() => {
|
|
158
|
-
var _a, _b, _c, _d, _e;
|
|
159
|
-
if (borderType === 'none')
|
|
160
|
-
return 'transparent';
|
|
161
|
-
if (validate && !valid)
|
|
162
|
-
return (_b = (_a = borderColor.error) !== null && _a !== void 0 ? _a : borderColor.blurred) !== null && _b !== void 0 ? _b : 'transparent';
|
|
163
|
-
if (isFocused)
|
|
164
|
-
return (_d = (_c = borderColor.focused) !== null && _c !== void 0 ? _c : borderColor.blurred) !== null && _d !== void 0 ? _d : 'transparent';
|
|
165
|
-
return (_e = borderColor.blurred) !== null && _e !== void 0 ? _e : 'transparent';
|
|
166
|
-
}, [borderType, valid, isFocused, borderColor, validate]);
|
|
167
|
-
// memo box shadow (border style)
|
|
168
|
-
const setBoxShadow = React.useMemo(() => {
|
|
169
|
-
if (borderType === 'none')
|
|
170
|
-
return 'unset';
|
|
171
|
-
if (borderType === 'underline')
|
|
172
|
-
return `0 1px 0 0 ${setBorderColor}`;
|
|
173
|
-
return `0 0 0 1px ${setBorderColor}`;
|
|
174
|
-
}, [borderType, setBorderColor]);
|
|
175
|
-
// memo text color
|
|
176
|
-
const textColor = React.useMemo(() => {
|
|
177
|
-
var _a, _b, _c;
|
|
178
|
-
if (validate && !valid)
|
|
179
|
-
return (_a = color.error) !== null && _a !== void 0 ? _a : 'var(--core-text-primary)';
|
|
180
|
-
if (isFocused)
|
|
181
|
-
return (_b = color.focused) !== null && _b !== void 0 ? _b : 'var(--core-text-primary)';
|
|
182
|
-
return (_c = color.blurred) !== null && _c !== void 0 ? _c : 'var(--core-text-primary)';
|
|
183
|
-
}, [isFocused, valid, color, validate]);
|
|
184
|
-
// memo text align
|
|
185
|
-
const setTextAlign = React.useMemo(() => {
|
|
186
|
-
return textAlign !== null && textAlign !== void 0 ? textAlign : 'left';
|
|
187
|
-
}, [textAlign]);
|
|
188
|
-
// memo opacity password show / hide
|
|
189
|
-
const setShowOpacity = React.useMemo(() => {
|
|
190
|
-
if (inputType !== 'password')
|
|
191
|
-
return '0';
|
|
192
|
-
if (isFocused)
|
|
193
|
-
return '1';
|
|
194
|
-
return '0.5';
|
|
195
|
-
}, [inputType, isFocused]);
|
|
196
|
-
// memo css vars
|
|
197
|
-
const cssVars = React.useMemo(() => {
|
|
198
|
-
var _a, _b;
|
|
199
|
-
return {
|
|
200
|
-
'--tf-width': setStyleValue(size.width),
|
|
201
|
-
'--tf-height': setStyleValue(size.height),
|
|
202
|
-
'--tf-padding': setStyleValue(padding),
|
|
203
|
-
'--tf-padding-label-left': label === '' ? 'unset' : '0',
|
|
204
|
-
'--tf-border-radius': setStyleValue(borderRadius),
|
|
205
|
-
'--tf-bg-color': setBackgroundColor,
|
|
206
|
-
'--tf-box-shadow': setBoxShadow,
|
|
207
|
-
'--tf-color': textColor,
|
|
208
|
-
'--tf-label-color': (_a = color.label) !== null && _a !== void 0 ? _a : 'var(--core-text-disabled)',
|
|
209
|
-
'--tf-text-align': setTextAlign,
|
|
210
|
-
'--tf-show-opacity': setShowOpacity,
|
|
211
|
-
'--tf-placeholder-color': (_b = color.placeholder) !== null && _b !== void 0 ? _b : 'var(--core-text-disabled)',
|
|
212
|
-
};
|
|
213
|
-
}, [
|
|
214
|
-
size,
|
|
215
|
-
padding,
|
|
216
|
-
label,
|
|
217
|
-
borderRadius,
|
|
218
|
-
setStyleValue,
|
|
219
|
-
setBackgroundColor,
|
|
220
|
-
setBoxShadow,
|
|
221
|
-
textColor,
|
|
222
|
-
setTextAlign,
|
|
223
|
-
setShowOpacity,
|
|
224
|
-
color,
|
|
225
|
-
]);
|
|
226
|
-
return (jsxRuntime.jsxs("div", Object.assign({ id: divId, className: `${css.wrapper}${divClass}`, style: Object.assign(Object.assign({}, divStyle), cssVars) }, rest, { children: [label && (jsxRuntime.jsx("div", { className: `${css.label} ${css[labelSize]}`, children: label })), jsxRuntime.jsxs("div", { className: css.container, children: [iconLeft && (jsxRuntime.jsx("div", { style: iconContainerStyle, children: jsxRuntime.jsx(_types.Icon, { name: iconLeft.name, size: iconLeft.size, strokeColor: iconStrokeColor }) })), jsxRuntime.jsx("input", { className: `${css.input} ${css[textSize]}`, ref: input, type: inputType === 'password' && show ? 'text' : inputType, name: name, "aria-label": name, autoCapitalize: 'none', autoCorrect: 'off', autoComplete: 'off', value: text, onChange: (e) => handleValueChange(e.target.value), onKeyDown: handleKeyDown, onPaste: onPaste, placeholder: placeholder, onFocus: handleFocus, onBlur: handleBlur, onMouseDown: (e) => e.stopPropagation(), disabled: !editable, maxLength: maxLength }), jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: isFocused && clearButton && text !== '' && (jsxRuntime.jsx(react.motion.div, { className: css.clearButton, style: clearButtonStyle, variants: MOTION_CONFIG.variants, initial: 'initial', animate: 'animate', exit: 'exit', transition: MOTION_CONFIG.transition, onClick: handleClearTextField, children: jsxRuntime.jsx(_types.Icon, { name: 'x', size: clearButton.size, strokeColor: theme.current.colors['core-icon-secondary'] }) })) }), jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: actionButton && (jsxRuntime.jsx(react.motion.div, { variants: MOTION_CONFIG.variants, initial: 'initial', animate: 'animate', exit: 'exit', transition: MOTION_CONFIG.transition, children: jsxRuntime.jsx(Button.Button, { label: 'Translate', variant: 'text', size: 'text', state: text === '' ? 'disabled' : 'normal', labelColor: theme.current.colors['core-button-primary'], onClick: onAction }) })) }), inputType === 'password' && !noShow && (jsxRuntime.jsx("div", { className: css.showPassword, children: jsxRuntime.jsx(IconButton.IconButton, { icon: 'view', toggleIcon: true, toggle: false, isToggled: show, iconSize: 18, frameSize: 18, onClick: toggleShow, tooltip: 'Show / Hide', disabled: false }) }))] })] })));
|
|
227
|
-
}, (prevProps, nextProps) => {
|
|
228
|
-
// Custom comparison for expensive props
|
|
229
|
-
return (prevProps.value === nextProps.value &&
|
|
230
|
-
prevProps.borderType === nextProps.borderType &&
|
|
231
|
-
prevProps.borderRadius === nextProps.borderRadius &&
|
|
232
|
-
prevProps.borderColor === nextProps.borderColor &&
|
|
233
|
-
prevProps.labelSize === nextProps.labelSize &&
|
|
234
|
-
prevProps.focused === nextProps.focused &&
|
|
235
|
-
prevProps.isValid === nextProps.isValid &&
|
|
236
|
-
prevProps.validate === nextProps.validate &&
|
|
237
|
-
prevProps.disabled === nextProps.disabled &&
|
|
238
|
-
prevProps.color === nextProps.color &&
|
|
239
|
-
prevProps.label === nextProps.label &&
|
|
240
|
-
prevProps.inputType === nextProps.inputType &&
|
|
241
|
-
prevProps.textSize === nextProps.textSize &&
|
|
242
|
-
prevProps.padding === nextProps.padding &&
|
|
243
|
-
prevProps.textAlign === nextProps.textAlign &&
|
|
244
|
-
prevProps.placeholder === nextProps.placeholder);
|
|
245
|
-
});
|
|
246
|
-
TextField.displayName = 'TextField';
|
|
247
|
-
|
|
248
|
-
exports.TextField = TextField;
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-4H29ixHs.js');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var react = require('motion/react');
|
|
6
|
-
var React = require('react');
|
|
7
|
-
var utils = require('./utils-BwNacfBU.js');
|
|
8
|
-
var styleInject_es = require('./style-inject.es-XZHJH68X.js');
|
|
9
|
-
|
|
10
|
-
var css_248z = ".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.Tip-module_wrapper__5Oi05 {\n\tpadding: var(--tooltip-padding) !important;\n\tposition: fixed;\n\tborder: var(--tooltip-border);\n\tborder-radius: var(--tooltip-border-radius);\n\tbackground: var(--tooltip-background);\n\tz-index: var(--elevation-describe);\n}\n\n.Tip-module_s__URuK6 {\n}\n\n.Tip-module_m__A1uk0 {\n}\n.Tip-module_l__kNOKI {\n}\n";
|
|
11
|
-
var css = {"wrapper":"Tip-module_wrapper__5Oi05 flexBox-module_rowStart__nJZnW","s":"Tip-module_s__URuK6 type-module_body-s-regular__8-FO-","m":"Tip-module_m__A1uk0 type-module_body-m-regular__Qtp5G","l":"Tip-module_l__kNOKI type-module_body-l-regular__Ar4d3"};
|
|
12
|
-
styleInject_es.styleInject(css_248z);
|
|
13
|
-
|
|
14
|
-
const tipBasePos = { left: 0, top: 0 };
|
|
15
|
-
|
|
16
|
-
const TipBase = React.forwardRef((props, ref) => {
|
|
17
|
-
var _a;
|
|
18
|
-
const { tip, size = 's', bgColor, color, border = true, borderColor, padding, radius, coords, showDelay = 500, hideDelay = 2500 } = props, divAttributes = tslib_es6.__rest(props, ["tip", "size", "bgColor", "color", "border", "borderColor", "padding", "radius", "coords", "showDelay", "hideDelay"]);
|
|
19
|
-
// div attributes to add
|
|
20
|
-
const { id: divId, className, style } = divAttributes, rest = tslib_es6.__rest(divAttributes, ["id", "className", "style"]);
|
|
21
|
-
const divStyle = style !== null && style !== void 0 ? style : {};
|
|
22
|
-
const divClass = className ? `${className}` : '';
|
|
23
|
-
// set tip position and display timer
|
|
24
|
-
// need the animate set only after the ready state is processed
|
|
25
|
-
const [pos, setPos] = React.useState(tipBasePos);
|
|
26
|
-
const [ready, setReady] = React.useState(false);
|
|
27
|
-
const [animate, setAnimate] = React.useState(false);
|
|
28
|
-
const timer = React.useRef(null);
|
|
29
|
-
// update position with delay and then auto remove
|
|
30
|
-
React.useEffect(() => {
|
|
31
|
-
if (timer.current)
|
|
32
|
-
clearTimeout(timer.current);
|
|
33
|
-
const { x, y } = coords !== null && coords !== void 0 ? coords : { x: 0, y: 0 };
|
|
34
|
-
const showTip = x > 0 && y > 0;
|
|
35
|
-
if (showTip) {
|
|
36
|
-
timer.current = setTimeout(() => {
|
|
37
|
-
var _a, _b;
|
|
38
|
-
setPos({ left: (_a = coords === null || coords === void 0 ? void 0 : coords.x) !== null && _a !== void 0 ? _a : 0, top: (_b = coords === null || coords === void 0 ? void 0 : coords.y) !== null && _b !== void 0 ? _b : 0 });
|
|
39
|
-
setReady(true);
|
|
40
|
-
if (timer.current)
|
|
41
|
-
clearTimeout(timer.current);
|
|
42
|
-
timer.current = setTimeout(() => {
|
|
43
|
-
setReady(false);
|
|
44
|
-
setPos({ left: 0, top: 0 });
|
|
45
|
-
}, hideDelay);
|
|
46
|
-
}, showDelay);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
setReady(false);
|
|
50
|
-
setPos({ left: 0, top: 0 });
|
|
51
|
-
}
|
|
52
|
-
// clean up timers
|
|
53
|
-
return () => {
|
|
54
|
-
if (timer.current)
|
|
55
|
-
clearTimeout(timer.current);
|
|
56
|
-
};
|
|
57
|
-
}, [coords, showDelay, hideDelay]);
|
|
58
|
-
// when ready, visibility has taken effect and can now be animated
|
|
59
|
-
React.useEffect(() => setAnimate(ready), [ready]);
|
|
60
|
-
// memo css vars
|
|
61
|
-
const cssVars = React.useMemo(() => {
|
|
62
|
-
return {
|
|
63
|
-
'--tooltip-padding': padding !== null && padding !== void 0 ? padding : '3px 6px',
|
|
64
|
-
'--tooltip-background': bgColor !== null && bgColor !== void 0 ? bgColor : 'var(--core-surface-secondary)',
|
|
65
|
-
'--tooltip-color': color !== null && color !== void 0 ? color : 'var(--core-text-primary)',
|
|
66
|
-
'--tooltip-border': border
|
|
67
|
-
? `1px solid ${borderColor !== null && borderColor !== void 0 ? borderColor : 'var(--core-outline-primary)'}`
|
|
68
|
-
: 'unset',
|
|
69
|
-
'--tooltip-border-radius': radius !== null && radius !== void 0 ? radius : '4px',
|
|
70
|
-
};
|
|
71
|
-
}, [padding, bgColor, color, border, borderColor, radius]);
|
|
72
|
-
// memo coords style
|
|
73
|
-
const coordStyle = React.useMemo(() => {
|
|
74
|
-
const { left, top } = pos;
|
|
75
|
-
return {
|
|
76
|
-
left: `${left !== null && left !== void 0 ? left : 0}px`,
|
|
77
|
-
top: `${top !== null && top !== void 0 ? top : 0}px`,
|
|
78
|
-
};
|
|
79
|
-
}, [pos]);
|
|
80
|
-
// memo class names
|
|
81
|
-
const classNames = React.useMemo(() => {
|
|
82
|
-
return utils.filterClasses([css.wrapper, css[size], divClass]);
|
|
83
|
-
}, [size, divClass]);
|
|
84
|
-
return (jsxRuntime.jsx(react.motion.div, Object.assign({ ref: ref, id: divId, className: classNames, onKeyDown: () => null, style: Object.assign(Object.assign(Object.assign(Object.assign({}, divStyle), cssVars), coordStyle), { visibility: ready ? 'visible' : 'hidden' }), initial: { opacity: 0 }, animate: animate
|
|
85
|
-
? { opacity: 1, transition: { ease: 'easeInOut', duration: 0.25 } }
|
|
86
|
-
: undefined, exit: { opacity: 0, transition: { duration: 0 } } }, rest, { children: (_a = tip === null || tip === void 0 ? void 0 : tip.payload) === null || _a === void 0 ? void 0 : _a.label })));
|
|
87
|
-
});
|
|
88
|
-
TipBase.displayName = 'Tip';
|
|
89
|
-
const Tip = React.memo(TipBase);
|
|
90
|
-
|
|
91
|
-
exports.Tip = Tip;
|