@apple-pie/slice 0.0.1 → 0.0.3

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.
Files changed (225) hide show
  1. package/dist/cjs/chunks/Avatar-8-wPWe0V.js +68 -0
  2. package/dist/cjs/chunks/AvatarGroup-CVKmgBbD.js +39 -0
  3. package/dist/cjs/chunks/Badge-CMapJCij.js +41 -0
  4. package/dist/cjs/chunks/CheckBox-7AACxrdZ.js +76 -0
  5. package/dist/cjs/chunks/DivInput-BKKJTFeV.js +204 -0
  6. package/dist/cjs/chunks/DocIcons-BRWOzK96.js +41 -0
  7. package/dist/cjs/chunks/Dot-Dnr9M9na.js +80 -0
  8. package/dist/cjs/chunks/DrggablePanel-C6TPsDB-.js +302 -0
  9. package/dist/cjs/chunks/DropDown-D9sf_m2I.js +154 -0
  10. package/dist/cjs/chunks/EditorButtonBar-CUNDgRQd.js +244 -0
  11. package/dist/cjs/chunks/ErrorSummary-Dv44onsV.js +42 -0
  12. package/dist/cjs/chunks/FlexDiv-DZBpswHV.js +103 -0
  13. package/dist/cjs/chunks/Grouper-_kd2nU78.js +50 -0
  14. package/dist/cjs/chunks/IconButton-BfsPlKTb.js +84 -0
  15. package/dist/cjs/chunks/Logos-DSlAUz8l.js +119 -0
  16. package/dist/cjs/chunks/MessageInput-CiHFo2j8.js +399 -0
  17. package/dist/cjs/chunks/Overlay-DwCPvGB5.js +45 -0
  18. package/dist/cjs/chunks/Pager-CFtZ0IIW.js +42 -0
  19. package/dist/cjs/chunks/ProgressIndicator-C5oB7Mky.js +121 -0
  20. package/dist/cjs/chunks/RadioButton-e_y2qiPE.js +65 -0
  21. package/dist/cjs/chunks/RadioButtonList-I81UwHmM.js +116 -0
  22. package/dist/cjs/chunks/Slider-C-gn7Sby.js +285 -0
  23. package/dist/cjs/chunks/Spacer-BEY2-_PB.js +16 -0
  24. package/dist/cjs/chunks/Switch-CtkFtogd.js +43 -0
  25. package/dist/cjs/chunks/TabBar-D3bj4pjj.js +176 -0
  26. package/dist/cjs/chunks/TextArea-B1oKK3_b.js +153 -0
  27. package/dist/cjs/chunks/TextField-CiQdPP5E.js +248 -0
  28. package/dist/cjs/chunks/Tip-C2pzExut.js +91 -0
  29. package/dist/cjs/chunks/Toast-DrijUwoL.js +141 -0
  30. package/dist/cjs/chunks/UIButton-CH4p-8yq.js +317 -0
  31. package/dist/cjs/chunks/UIButtonBar-0fHPB0ww.js +58 -0
  32. package/dist/cjs/chunks/UICard-DBDSyT7E.js +36 -0
  33. package/dist/cjs/chunks/UIChip-kjhvRrOV.js +93 -0
  34. package/dist/cjs/chunks/UIFileIcon-ZrbDIeYz.js +54 -0
  35. package/dist/cjs/chunks/UILabel-DkBE2AIt.js +116 -0
  36. package/dist/cjs/chunks/_types-CoWzQFsT.js +714 -0
  37. package/dist/cjs/chunks/sharedTypes-BvTjh6M5.js +9 -0
  38. package/dist/cjs/chunks/style-inject.es-XZHJH68X.js +30 -0
  39. package/dist/cjs/chunks/tipStore-C9oV9SIh.js +23 -0
  40. package/dist/cjs/chunks/toastStore-C-ETP9H6.js +23 -0
  41. package/dist/cjs/chunks/tslib.es6-4H29ixHs.js +48 -0
  42. package/dist/cjs/chunks/utils-CbayehuI.js +126 -0
  43. package/dist/cjs/hooks/useDoubleClick.js +26 -0
  44. package/dist/cjs/hooks/useKeyboardShortcuts.js +42 -0
  45. package/dist/cjs/hooks/useLastUpdated.js +53 -0
  46. package/dist/cjs/hooks/useLocalStore.js +52 -0
  47. package/dist/cjs/hooks/useObserveResize.js +56 -0
  48. package/dist/cjs/hooks/useObserveTheme.js +37 -0
  49. package/dist/cjs/hooks/useTheme.js +86 -0
  50. package/dist/cjs/hooks/useToolTip.js +36 -0
  51. package/dist/cjs/hooks/useTrackRenders.js +38 -0
  52. package/dist/cjs/hooks/useWindow.js +64 -0
  53. package/dist/cjs/hooks.js +33 -0
  54. package/dist/cjs/index.js +124 -0
  55. package/dist/cjs/providers/ThemeProvider.js +55 -0
  56. package/dist/cjs/providers.js +14 -0
  57. package/dist/cjs/stores/tip.js +12 -0
  58. package/dist/cjs/stores/toast.js +12 -0
  59. package/dist/cjs/stores.js +18 -0
  60. package/dist/cjs/theme/colors.js +383 -0
  61. package/dist/cjs/theme/corners.js +14 -0
  62. package/dist/cjs/theme/elevations.js +17 -0
  63. package/dist/cjs/theme/themes.js +26 -0
  64. package/dist/cjs/theme/type.js +316 -0
  65. package/dist/cjs/theme.js +16 -0
  66. package/dist/cjs/uikit/Avatar.js +11 -0
  67. package/dist/cjs/uikit/AvatarGroup.js +12 -0
  68. package/dist/cjs/uikit/Badge.js +11 -0
  69. package/dist/cjs/uikit/CheckBox.js +22 -0
  70. package/dist/cjs/uikit/DivInput.js +13 -0
  71. package/dist/cjs/uikit/DocIcon.js +18 -0
  72. package/dist/cjs/uikit/Dot.js +12 -0
  73. package/dist/cjs/uikit/DraggablePanel.js +21 -0
  74. package/dist/cjs/uikit/DropDown.js +21 -0
  75. package/dist/cjs/uikit/EditorButtonBar.js +28 -0
  76. package/dist/cjs/uikit/ErrorSummary.js +12 -0
  77. package/dist/cjs/uikit/FlexDiv.js +12 -0
  78. package/dist/cjs/uikit/Grouper.js +23 -0
  79. package/dist/cjs/uikit/Icon.js +23 -0
  80. package/dist/cjs/uikit/IconButton.js +25 -0
  81. package/dist/cjs/uikit/Logos.js +18 -0
  82. package/dist/cjs/uikit/MessageInput.js +30 -0
  83. package/dist/cjs/uikit/Overlay.js +12 -0
  84. package/dist/cjs/uikit/Pager.js +12 -0
  85. package/dist/cjs/uikit/Progress.js +21 -0
  86. package/dist/cjs/uikit/RadioButton.js +26 -0
  87. package/dist/cjs/uikit/RadioButtonList.js +27 -0
  88. package/dist/cjs/uikit/Slider.js +13 -0
  89. package/dist/cjs/uikit/Spacer.js +10 -0
  90. package/dist/cjs/uikit/Switch.js +12 -0
  91. package/dist/cjs/uikit/TabBar.js +26 -0
  92. package/dist/cjs/uikit/TextArea.js +27 -0
  93. package/dist/cjs/uikit/Textfield.js +28 -0
  94. package/dist/cjs/uikit/Tip.js +13 -0
  95. package/dist/cjs/uikit/Toast.js +26 -0
  96. package/dist/cjs/uikit/UIButton.js +26 -0
  97. package/dist/cjs/uikit/UIButtonBar.js +26 -0
  98. package/dist/cjs/uikit/UICard.js +21 -0
  99. package/dist/cjs/uikit/UIChip.js +22 -0
  100. package/dist/cjs/uikit/UIFileIcon.js +18 -0
  101. package/dist/cjs/uikit/UILabel.js +19 -0
  102. package/dist/esm/chunks/Avatar-D_muqPrW.js +66 -0
  103. package/dist/esm/chunks/AvatarGroup-D8Xmrn52.js +37 -0
  104. package/dist/esm/chunks/Badge-PPf5Uvw3.js +39 -0
  105. package/dist/esm/chunks/CheckBox-CswFI0Xc.js +74 -0
  106. package/dist/esm/chunks/DivInput-iKFkeU2F.js +202 -0
  107. package/dist/esm/chunks/DocIcons-CbOX4n8Y.js +39 -0
  108. package/dist/esm/chunks/Dot-B84UVs2e.js +78 -0
  109. package/dist/esm/chunks/DrggablePanel-CYYwTmFd.js +300 -0
  110. package/dist/esm/chunks/DropDown-D4t6EhKL.js +152 -0
  111. package/dist/esm/chunks/EditorButtonBar-FnMa8Zv2.js +242 -0
  112. package/dist/esm/chunks/ErrorSummary-DhU5SKPt.js +40 -0
  113. package/dist/esm/chunks/FlexDiv-CmMpORgn.js +101 -0
  114. package/dist/esm/chunks/Grouper-BbreOXI9.js +48 -0
  115. package/dist/esm/chunks/IconButton-CguHGkBM.js +82 -0
  116. package/dist/esm/chunks/Logos-DwZP-TR2.js +117 -0
  117. package/dist/esm/chunks/MessageInput-DMHzCwjO.js +397 -0
  118. package/dist/esm/chunks/Overlay-CCBy7n7H.js +43 -0
  119. package/dist/esm/chunks/Pager-BsSti93V.js +40 -0
  120. package/dist/esm/chunks/ProgressIndicator-BVukxMU6.js +118 -0
  121. package/dist/esm/chunks/RadioButton-B5BxQI0R.js +63 -0
  122. package/dist/esm/chunks/RadioButtonList-C2z8McAD.js +114 -0
  123. package/dist/esm/chunks/Slider-C-PcWqTz.js +283 -0
  124. package/dist/esm/chunks/Spacer-DbZSG5x3.js +14 -0
  125. package/dist/esm/chunks/Switch-DjfrSiQz.js +41 -0
  126. package/dist/esm/chunks/TabBar-BSBcgTbd.js +174 -0
  127. package/dist/esm/chunks/TextArea-COM0UPo2.js +151 -0
  128. package/dist/esm/chunks/TextField-Bh24bRWs.js +246 -0
  129. package/dist/esm/chunks/Tip-Ct19Ljul.js +89 -0
  130. package/dist/esm/chunks/Toast-BR0oMX6z.js +139 -0
  131. package/dist/esm/chunks/UIButton-DKx-_O8h.js +315 -0
  132. package/dist/esm/chunks/UIButtonBar-BNdA5eVq.js +56 -0
  133. package/dist/esm/chunks/UICard-Dn5f3wg8.js +34 -0
  134. package/dist/esm/chunks/UIChip-DqnGeVyR.js +91 -0
  135. package/dist/esm/chunks/UIFileIcon-qGxIPsJJ.js +52 -0
  136. package/dist/esm/chunks/UILabel-RnbodPCS.js +114 -0
  137. package/dist/esm/chunks/_types-BaYeLEWK.js +712 -0
  138. package/dist/esm/chunks/sharedTypes-BfZzG1KX.js +9 -0
  139. package/dist/esm/chunks/style-inject.es-tgCJW-Cu.js +28 -0
  140. package/dist/esm/chunks/tipStore-nBYJ6tmE.js +17 -0
  141. package/dist/esm/chunks/toastStore-r3pvNa28.js +17 -0
  142. package/dist/esm/chunks/tslib.es6-0pkUdtrF.js +45 -0
  143. package/dist/esm/chunks/utils-BRZK2Drn.js +119 -0
  144. package/dist/esm/hooks/useDoubleClick.js +24 -0
  145. package/dist/esm/hooks/useKeyboardShortcuts.js +40 -0
  146. package/dist/esm/hooks/useLastUpdated.js +51 -0
  147. package/dist/esm/hooks/useLocalStore.js +50 -0
  148. package/dist/esm/hooks/useObserveResize.js +54 -0
  149. package/dist/esm/hooks/useObserveTheme.js +35 -0
  150. package/dist/esm/hooks/useTheme.js +84 -0
  151. package/dist/esm/hooks/useToolTip.js +34 -0
  152. package/dist/esm/hooks/useTrackRenders.js +36 -0
  153. package/dist/esm/hooks/useWindow.js +62 -0
  154. package/dist/esm/hooks.js +15 -0
  155. package/dist/esm/index.js +58 -0
  156. package/dist/esm/providers/ThemeProvider.js +53 -0
  157. package/dist/esm/providers.js +8 -0
  158. package/dist/esm/stores/tip.js +2 -0
  159. package/dist/esm/stores/toast.js +2 -0
  160. package/dist/esm/stores.js +3 -0
  161. package/dist/esm/theme/colors.js +377 -0
  162. package/dist/esm/theme/corners.js +12 -0
  163. package/dist/esm/theme/elevations.js +15 -0
  164. package/dist/esm/theme/themes.js +23 -0
  165. package/dist/esm/theme/type.js +312 -0
  166. package/dist/esm/theme.js +5 -0
  167. package/dist/esm/uikit/Avatar.js +5 -0
  168. package/dist/esm/uikit/AvatarGroup.js +6 -0
  169. package/dist/esm/uikit/Badge.js +5 -0
  170. package/dist/esm/uikit/CheckBox.js +16 -0
  171. package/dist/esm/uikit/DivInput.js +7 -0
  172. package/dist/esm/uikit/DocIcon.js +12 -0
  173. package/dist/esm/uikit/Dot.js +6 -0
  174. package/dist/esm/uikit/DraggablePanel.js +15 -0
  175. package/dist/esm/uikit/DropDown.js +15 -0
  176. package/dist/esm/uikit/EditorButtonBar.js +22 -0
  177. package/dist/esm/uikit/ErrorSummary.js +6 -0
  178. package/dist/esm/uikit/FlexDiv.js +6 -0
  179. package/dist/esm/uikit/Grouper.js +17 -0
  180. package/dist/esm/uikit/Icon.js +13 -0
  181. package/dist/esm/uikit/IconButton.js +19 -0
  182. package/dist/esm/uikit/Logos.js +12 -0
  183. package/dist/esm/uikit/MessageInput.js +24 -0
  184. package/dist/esm/uikit/Overlay.js +6 -0
  185. package/dist/esm/uikit/Pager.js +6 -0
  186. package/dist/esm/uikit/Progress.js +14 -0
  187. package/dist/esm/uikit/RadioButton.js +20 -0
  188. package/dist/esm/uikit/RadioButtonList.js +21 -0
  189. package/dist/esm/uikit/Slider.js +7 -0
  190. package/dist/esm/uikit/Spacer.js +4 -0
  191. package/dist/esm/uikit/Switch.js +6 -0
  192. package/dist/esm/uikit/TabBar.js +20 -0
  193. package/dist/esm/uikit/TextArea.js +21 -0
  194. package/dist/esm/uikit/Textfield.js +22 -0
  195. package/dist/esm/uikit/Tip.js +7 -0
  196. package/dist/esm/uikit/Toast.js +16 -0
  197. package/dist/esm/uikit/UIButton.js +20 -0
  198. package/dist/esm/uikit/UIButtonBar.js +20 -0
  199. package/dist/esm/uikit/UICard.js +15 -0
  200. package/dist/esm/uikit/UIChip.js +16 -0
  201. package/dist/esm/uikit/UIFileIcon.js +12 -0
  202. package/dist/esm/uikit/UILabel.js +13 -0
  203. package/dist/types/index.d.ts +3 -3
  204. package/dist/types/providers/ThemeProvider.d.ts +1 -0
  205. package/dist/types/stores/index.d.ts +2 -0
  206. package/dist/types/stores/tip/_types.d.ts +8 -0
  207. package/dist/types/stores/tip/index.d.ts +2 -0
  208. package/dist/types/stores/tip/tipStore.d.ts +12 -0
  209. package/dist/types/stores/toast/_types.d.ts +14 -0
  210. package/dist/types/stores/toast/index.d.ts +2 -0
  211. package/dist/types/stores/toast/toastStore.d.ts +12 -0
  212. package/dist/types/theme/elevations/_types.d.ts +10 -0
  213. package/dist/types/theme/elevations/elevations.d.ts +5 -0
  214. package/dist/types/theme/index.d.ts +2 -0
  215. package/dist/types/theme/themes.d.ts +2 -0
  216. package/dist/types/uikit/FlexDiv/FlexDiv.d.ts +2 -0
  217. package/dist/types/uikit/FlexDiv/_types.d.ts +1 -0
  218. package/dist/types/uikit/Toast/Toast.d.ts +1 -1
  219. package/dist/types/uikit/Toast/_types.d.ts +7 -1
  220. package/dist/types/uikit/Toast/index.d.ts +1 -1
  221. package/package.json +84 -5
  222. package/dist/index.esm.js +0 -5859
  223. package/dist/index.esm.js.map +0 -1
  224. package/dist/index.js +0 -5911
  225. package/dist/index.js.map +0 -1
@@ -0,0 +1,248 @@
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 _types = require('./_types-CoWzQFsT.js');
11
+ var IconButton = require('./IconButton-BfsPlKTb.js');
12
+ var UIButton = require('./UIButton-CH4p-8yq.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_heading-s-bold__QFgN8 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-s-medium__jGIb2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\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: 650;\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: 560;\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: 560;\n\tfont-size: 28px;\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: 650;\n\tfont-size: 28px;\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(UIButton.UIButton, { 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;
@@ -0,0 +1,91 @@
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-CbayehuI.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_heading-s-bold__QFgN8 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-s-medium__jGIb2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\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: 650;\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: 560;\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: 560;\n\tfont-size: 28px;\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: 650;\n\tfont-size: 28px;\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: 10;\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;
@@ -0,0 +1,141 @@
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 utils = require('./utils-CbayehuI.js');
11
+ var _types = require('./_types-CoWzQFsT.js');
12
+ var styleInject_es = require('./style-inject.es-XZHJH68X.js');
13
+
14
+ 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_heading-s-bold__QFgN8 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 650;\n\tfont-size: 20px;\n\tline-height: 140%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}.type-module_heading-s-medium__jGIb2 {\n\tfont-family: var(--font-family), sans-serif;\n\tfont-weight: 560;\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: 650;\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: 560;\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: 560;\n\tfont-size: 28px;\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: 650;\n\tfont-size: 28px;\n\tline-height: 128.57%;\n\ttext-decoration: none;\n\tletter-spacing: 0.2px;\n}\n\n.Toast-module_wrapper__WglRd {\n\tpadding: var(--toast-padding) !important;\n\tcolor: var(--toast-color);\n\tposition: fixed;\n\tborder: var(--toast-border);\n\tborder-radius: var(--toast-border-radius);\n\tbackground: var(--toast-background);\n\tz-index: 10;\n\tgap: 16px;\n\tbox-shadow: var(--surface-shadow-soft);\n\tleft: 50%;\n\ttransform: translateX(-50%);\n}\n\n.Toast-module_close__fIkbN {\n\tmin-height: 20px;\n\tmax-height: 20px;\n\tmin-width: 20px;\n\tmax-width: 20px;\n}\n\n.Toast-module_s__eexrd {\n}\n\n.Toast-module_m__eByaG {\n}\n.Toast-module_l__t7hfh {\n}\n";
15
+ var css = {"wrapper":"Toast-module_wrapper__WglRd flexBox-module_rowBetween__27lKK","close":"Toast-module_close__fIkbN flexBox-module_row__PWxbe","s":"Toast-module_s__eexrd type-module_body-s-regular__8-FO-","m":"Toast-module_m__eByaG type-module_body-m-regular__Qtp5G","l":"Toast-module_l__t7hfh type-module_body-l-regular__Ar4d3"};
16
+ styleInject_es.styleInject(css_248z);
17
+
18
+ exports.ToastType = void 0;
19
+ (function (ToastType) {
20
+ ToastType["Success"] = "success";
21
+ ToastType["Error"] = "error";
22
+ ToastType["Warning"] = "warning";
23
+ ToastType["Info"] = "info";
24
+ })(exports.ToastType || (exports.ToastType = {}));
25
+
26
+ const ToastBase = React.forwardRef((props, ref) => {
27
+ const { message = null, size = 'm', border = true, padding, radius = 8, showDelay = 0, duration = 5000, position = 'bottom', offset = 24, close = true, type = exports.ToastType.Info, didHide = () => null } = props, divAttributes = tslib_es6.__rest(props, ["message", "size", "border", "padding", "radius", "showDelay", "duration", "position", "offset", "close", "type", "didHide"]);
28
+ const theme = hooks_useTheme.useTheme();
29
+ // div attributes to add
30
+ const { id: divId, className, style } = divAttributes, rest = tslib_es6.__rest(divAttributes, ["id", "className", "style"]);
31
+ const divStyle = style !== null && style !== void 0 ? style : {};
32
+ const divClass = className ? `${className}` : '';
33
+ // need the animate set only after the ready state is processed
34
+ const [ready, setReady] = React.useState(false);
35
+ const [content, setContent] = React.useState(null);
36
+ const timer = React.useRef(null);
37
+ // update show and animation
38
+ React.useEffect(() => {
39
+ if (timer.current)
40
+ clearTimeout(timer.current);
41
+ const show = message && message.length > 0;
42
+ if (show) {
43
+ timer.current = setTimeout(() => {
44
+ setContent(message);
45
+ if (timer.current)
46
+ clearTimeout(timer.current);
47
+ timer.current = setTimeout(() => {
48
+ setReady(false);
49
+ }, duration);
50
+ }, showDelay);
51
+ }
52
+ else {
53
+ setContent(null);
54
+ }
55
+ // clean up timers
56
+ return () => {
57
+ if (timer.current)
58
+ clearTimeout(timer.current);
59
+ };
60
+ }, [message, showDelay, duration]);
61
+ // ready to animate in/out
62
+ React.useEffect(() => setReady(content !== null), [content]);
63
+ // set the default padding accommodating the close icon fix
64
+ const defaultPadding = React.useMemo(() => {
65
+ return close ? '10px 12px 10px 16px' : '10px 16px';
66
+ }, [close]);
67
+ const colorScheme = React.useMemo(() => {
68
+ switch (type) {
69
+ case 'success':
70
+ return {
71
+ border: 'var(--array-land-label)',
72
+ bg: 'var(--array-land)',
73
+ text: 'var(--array-land-label)',
74
+ };
75
+ case 'warning':
76
+ return {
77
+ border: 'var(--array-orange-label)',
78
+ bg: 'var(--array-orange)',
79
+ text: 'var(--array-orange-label)',
80
+ };
81
+ case 'error':
82
+ return {
83
+ border: 'var(--feedback-warning)',
84
+ bg: 'var(--array-magenta)',
85
+ text: 'var(--feedback-warning)',
86
+ };
87
+ default:
88
+ return {
89
+ border: 'var(--core-outline-primary)',
90
+ bg: 'var(--core-surface-secondary)',
91
+ text: 'var(--core-text-primary)',
92
+ };
93
+ }
94
+ }, [type]);
95
+ // memo css vars
96
+ const cssVars = React.useMemo(() => {
97
+ return {
98
+ '--toast-padding': utils.setStyle(padding, defaultPadding),
99
+ '--toast-background': colorScheme.bg,
100
+ '--toast-color': colorScheme.text,
101
+ '--toast-border': border ? `1px solid ${colorScheme.border}` : 'unset',
102
+ '--toast-border-radius': utils.setStyle(radius, 4),
103
+ };
104
+ }, [padding, border, colorScheme, radius, defaultPadding]);
105
+ const variants = React.useMemo(() => {
106
+ const positionShow = position === 'bottom' ? { bottom: offset } : { top: offset };
107
+ const positionHide = position === 'bottom' ? { bottom: -offset } : { top: -offset };
108
+ const transition = { ease: 'easeInOut', duration: 0.25 };
109
+ return {
110
+ initial: Object.assign({ opacity: 0 }, positionHide),
111
+ animate: Object.assign(Object.assign({ opacity: 1 }, positionShow), { transition }),
112
+ exit: Object.assign(Object.assign({ opacity: 0 }, positionHide), { transition }),
113
+ };
114
+ }, [position, offset]);
115
+ // memo class names
116
+ const classNames = React.useMemo(() => {
117
+ return utils.filterClasses([css.wrapper, css[size], divClass]);
118
+ }, [size, divClass]);
119
+ // hide on close
120
+ const handleClose = React.useCallback(() => {
121
+ setReady(false);
122
+ }, []);
123
+ // prevent hide on hover / focus
124
+ const handleMouseOver = React.useCallback(() => {
125
+ if (timer.current)
126
+ clearTimeout(timer.current);
127
+ }, []);
128
+ // rest hide on mouse out / blur
129
+ const handleMouseOut = React.useCallback(() => {
130
+ if (timer.current)
131
+ clearTimeout(timer.current);
132
+ timer.current = setTimeout(() => {
133
+ setContent(null);
134
+ }, duration);
135
+ }, [duration]);
136
+ return (jsxRuntime.jsx(react.AnimatePresence, { onExitComplete: () => didHide(), initial: false, children: ready && (jsxRuntime.jsxs(react.motion.div, Object.assign({ ref: ref, id: divId, className: classNames }, rest, { onMouseEnter: handleMouseOver, onMouseLeave: handleMouseOut, onFocus: handleMouseOver, onBlur: handleMouseOut, style: Object.assign(Object.assign(Object.assign({}, divStyle), cssVars), { visibility: ready ? 'visible' : 'hidden' }), variants: variants, initial: 'initial', animate: 'animate', exit: 'exit', children: [jsxRuntime.jsx("div", { role: 'status', "aria-live": 'polite', className: css.message, children: content }), close && (jsxRuntime.jsx("div", { className: css.close, tabIndex: 0, role: 'button', "aria-label": 'dismiss message', onKeyDown: (e) => utils.accessibleKeyDown(e, handleClose), onClick: handleClose, children: jsxRuntime.jsx(_types.Icon, { name: 'x', size: 20, strokeColor: theme.current.colors['core-icon-primary'] }) }))] }))) }));
137
+ });
138
+ ToastBase.displayName = 'Toast';
139
+ const Toast = React.memo(ToastBase);
140
+
141
+ exports.Toast = Toast;