@skbkontur/react-ui 4.0.4 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/cjs/components/Autocomplete/Autocomplete.d.ts +0 -1
  3. package/cjs/components/Autocomplete/Autocomplete.js +2 -9
  4. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  5. package/cjs/components/Button/Button.styles.js +1 -1
  6. package/cjs/components/Button/Button.styles.js.map +1 -1
  7. package/cjs/components/DateInput/DateInput.styles.js +2 -2
  8. package/cjs/components/DateInput/DateInput.styles.js.map +1 -1
  9. package/cjs/components/DatePicker/DatePicker.d.ts +1 -1
  10. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  11. package/cjs/components/FileUploader/FileUploader.js +5 -4
  12. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  13. package/cjs/components/FileUploader/FileUploader.styles.d.ts +3 -2
  14. package/cjs/components/FileUploader/FileUploader.styles.js +21 -15
  15. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  16. package/cjs/components/Hint/Hint.d.ts +5 -1
  17. package/cjs/components/Hint/Hint.js +9 -1
  18. package/cjs/components/Hint/Hint.js.map +1 -1
  19. package/cjs/components/Input/Input.d.ts +1 -5
  20. package/cjs/components/Input/Input.js +14 -21
  21. package/cjs/components/Input/Input.js.map +1 -1
  22. package/cjs/components/Loader/Loader.js +7 -7
  23. package/cjs/components/Loader/Loader.js.map +1 -1
  24. package/cjs/components/MenuItem/MenuItem.styles.js +3 -2
  25. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  26. package/cjs/components/Modal/Modal.js.map +1 -1
  27. package/cjs/components/Modal/Modal.styles.js +10 -6
  28. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  29. package/cjs/components/Modal/ModalFooter.js +0 -1
  30. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  31. package/cjs/components/Modal/ModalHeader.js +0 -1
  32. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  33. package/cjs/components/Paging/Paging.d.ts +12 -2
  34. package/cjs/components/Paging/Paging.js +14 -3
  35. package/cjs/components/Paging/Paging.js.map +1 -1
  36. package/cjs/components/Paging/PagingDefaultComponent.d.ts +9 -0
  37. package/cjs/components/Paging/PagingDefaultComponent.js +21 -0
  38. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -0
  39. package/cjs/components/PasswordInput/PasswordInput.d.ts +2 -0
  40. package/cjs/components/PasswordInput/PasswordInput.js +22 -4
  41. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  42. package/cjs/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  43. package/cjs/components/PasswordInput/PasswordInputIcon.js +11 -0
  44. package/cjs/components/PasswordInput/PasswordInputIcon.js.map +1 -0
  45. package/cjs/components/RadioGroup/RadioGroup.d.ts +1 -1
  46. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  47. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +7 -2
  48. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  49. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  50. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  51. package/cjs/components/ScrollContainer/ScrollContainer.js +3 -2
  52. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  53. package/cjs/components/Select/Select.d.ts +7 -5
  54. package/cjs/components/Select/Select.js +12 -2
  55. package/cjs/components/Select/Select.js.map +1 -1
  56. package/cjs/components/SidePage/SidePage.d.ts +0 -1
  57. package/cjs/components/SidePage/SidePage.js +1 -15
  58. package/cjs/components/SidePage/SidePage.js.map +1 -1
  59. package/cjs/components/SidePage/SidePageFooter.js +4 -3
  60. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  61. package/cjs/components/SidePage/SidePageHeader.js +3 -2
  62. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  63. package/cjs/components/Sticky/Sticky.js +4 -3
  64. package/cjs/components/Sticky/Sticky.js.map +1 -1
  65. package/cjs/components/Switcher/Switcher.d.ts +2 -1
  66. package/cjs/components/Switcher/Switcher.js +1 -0
  67. package/cjs/components/Switcher/Switcher.js.map +1 -1
  68. package/cjs/components/Switcher/Switcher.styles.js +2 -2
  69. package/cjs/components/Switcher/Switcher.styles.js.map +1 -1
  70. package/cjs/components/Tabs/Indicator.js +2 -1
  71. package/cjs/components/Tabs/Indicator.js.map +1 -1
  72. package/cjs/components/Tabs/Tabs.d.ts +3 -1
  73. package/cjs/components/Tabs/Tabs.js +8 -4
  74. package/cjs/components/Tabs/Tabs.js.map +1 -1
  75. package/cjs/components/Textarea/Textarea.d.ts +2 -2
  76. package/cjs/components/Textarea/Textarea.js +6 -6
  77. package/cjs/components/Textarea/Textarea.js.map +1 -1
  78. package/cjs/components/Textarea/TextareaCounter.js +10 -2
  79. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  80. package/cjs/components/Toast/ToastView.js +1 -1
  81. package/cjs/components/Toast/ToastView.js.map +1 -1
  82. package/cjs/components/Toast/ToastView.styles.d.ts +1 -1
  83. package/cjs/components/Toast/ToastView.styles.js +3 -2
  84. package/cjs/components/Toast/ToastView.styles.js.map +1 -1
  85. package/cjs/components/Toggle/Toggle.styles.js +12 -10
  86. package/cjs/components/Toggle/Toggle.styles.js.map +1 -1
  87. package/cjs/components/TokenInput/TextWidthHelper.js +2 -1
  88. package/cjs/components/TokenInput/TextWidthHelper.js.map +1 -1
  89. package/cjs/components/TokenInput/TokenInput.styles.js +3 -2
  90. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  91. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  92. package/cjs/components/Tooltip/Tooltip.d.ts +4 -2
  93. package/cjs/components/Tooltip/Tooltip.js +10 -7
  94. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  95. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  96. package/cjs/index.d.ts +2 -0
  97. package/cjs/index.js +2 -0
  98. package/cjs/index.js.map +1 -1
  99. package/cjs/internal/BGRuler.js +3 -1
  100. package/cjs/internal/BGRuler.js.map +1 -1
  101. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  102. package/cjs/internal/CommonWrapper/CommonWrapper.js +15 -1
  103. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  104. package/cjs/internal/ComponentTable.d.ts +4 -2
  105. package/cjs/internal/ComponentTable.js +1 -0
  106. package/cjs/internal/ComponentTable.js.map +1 -1
  107. package/cjs/internal/DateSelect/DateSelect.js +2 -1
  108. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  109. package/cjs/internal/DropdownContainer/DropdownContainer.js +5 -10
  110. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  111. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +3 -2
  112. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  113. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js +14 -10
  114. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  115. package/cjs/internal/InputLikeText/InputLikeText.d.ts +1 -1
  116. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  117. package/cjs/internal/InternalMenu/InternalMenu.js +3 -2
  118. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  119. package/cjs/internal/InternalMenu/InternalMenu.styles.js +2 -2
  120. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  121. package/cjs/internal/Menu/Menu.styles.js +5 -3
  122. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  123. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  124. package/cjs/internal/Popup/Popup.d.ts +1 -2
  125. package/cjs/internal/Popup/Popup.js +16 -13
  126. package/cjs/internal/Popup/Popup.js.map +1 -1
  127. package/cjs/internal/Popup/PopupHelper.js +4 -2
  128. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  129. package/cjs/internal/RenderContainer/RenderContainer.js +9 -0
  130. package/cjs/internal/RenderContainer/RenderContainer.js.map +1 -1
  131. package/cjs/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
  132. package/cjs/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  133. package/cjs/internal/RenderContainer/RenderInnerContainer.js +8 -1
  134. package/cjs/internal/RenderContainer/RenderInnerContainer.js.map +1 -1
  135. package/cjs/internal/TextWidthHelper/TextWidthHelper.js +3 -1
  136. package/cjs/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  137. package/cjs/internal/ThemePlayground/CheckboxPlayground.js +1 -0
  138. package/cjs/internal/ThemePlayground/CheckboxPlayground.js.map +1 -1
  139. package/cjs/internal/ThemePlayground/Playground.js +11 -19
  140. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  141. package/cjs/internal/ThemePlayground/RadioPlayground.js.map +1 -1
  142. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  143. package/cjs/internal/ThemePlayground/SizesGroup.js +20 -0
  144. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -0
  145. package/cjs/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  146. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -2
  147. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  148. package/cjs/internal/ThemePlayground/ThemeEditor.js +2 -0
  149. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  150. package/cjs/internal/ThemePlayground/constants.d.ts +3 -1
  151. package/cjs/internal/ThemePlayground/constants.js +3 -1
  152. package/cjs/internal/ThemePlayground/constants.js.map +1 -1
  153. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  154. package/cjs/internal/icons/16px/index.js +8 -0
  155. package/cjs/internal/icons/16px/index.js.map +1 -1
  156. package/cjs/internal/icons/20px/svg.js +6 -0
  157. package/cjs/internal/icons/20px/svg.js.map +1 -1
  158. package/cjs/internal/themes/DefaultTheme.d.ts +21 -1
  159. package/cjs/internal/themes/DefaultTheme.js +43 -5
  160. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  161. package/cjs/internal/themes/NotFlat.d.ts +6 -0
  162. package/cjs/internal/themes/NotFlat.js +12 -2
  163. package/cjs/internal/themes/NotFlat.js.map +1 -1
  164. package/cjs/internal/themes/Theme2022.d.ts +66 -0
  165. package/cjs/internal/themes/Theme2022.js +100 -0
  166. package/cjs/internal/themes/Theme2022.js.map +1 -0
  167. package/cjs/internal/themes/Theme2022Dark.d.ts +5 -0
  168. package/cjs/internal/themes/Theme2022Dark.js +9 -0
  169. package/cjs/internal/themes/Theme2022Dark.js.map +1 -0
  170. package/cjs/lib/ConditionalHandler.d.ts +3 -2
  171. package/cjs/lib/ConditionalHandler.js +5 -3
  172. package/cjs/lib/ConditionalHandler.js.map +1 -1
  173. package/cjs/lib/InstanceWithAnchorElement.d.ts +5 -0
  174. package/cjs/lib/InstanceWithAnchorElement.js +9 -0
  175. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -0
  176. package/cjs/lib/ModalStack.d.ts +1 -1
  177. package/cjs/lib/ModalStack.js.map +1 -1
  178. package/cjs/lib/SSRSafe.d.ts +1 -0
  179. package/cjs/lib/SSRSafe.js +9 -1
  180. package/cjs/lib/SSRSafe.js.map +1 -1
  181. package/cjs/lib/dom/getDOMRect.d.ts +5 -2
  182. package/cjs/lib/dom/getDOMRect.js +30 -18
  183. package/cjs/lib/dom/getDOMRect.js.map +1 -1
  184. package/cjs/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  185. package/cjs/lib/events/keyboard/KeyboardMapKeys.js +1 -0
  186. package/cjs/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  187. package/cjs/lib/events/keyboard/extractCode.js.map +1 -1
  188. package/cjs/lib/needsPolyfillPlaceholder.d.ts +6 -0
  189. package/cjs/lib/needsPolyfillPlaceholder.js +19 -0
  190. package/cjs/lib/needsPolyfillPlaceholder.js.map +1 -0
  191. package/cjs/lib/rootNode/getRootNode.js +14 -10
  192. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  193. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +11 -0
  194. package/cjs/lib/rootNode/rootNodeDecorator.js +34 -5
  195. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  196. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  197. package/cjs/lib/theming/themes/Theme2022.d.ts +1 -0
  198. package/cjs/lib/theming/themes/Theme2022.js +6 -0
  199. package/cjs/lib/theming/themes/Theme2022.js.map +1 -0
  200. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  201. package/cjs/lib/theming/themes/Theme2022Dark.js +9 -0
  202. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -0
  203. package/components/Autocomplete/Autocomplete/Autocomplete.js +2 -9
  204. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  205. package/components/Autocomplete/Autocomplete.d.ts +0 -1
  206. package/components/Button/Button.styles/Button.styles.js +1 -1
  207. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  208. package/components/DateInput/DateInput.styles/DateInput.styles.js +2 -2
  209. package/components/DateInput/DateInput.styles/DateInput.styles.js.map +1 -1
  210. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  211. package/components/DatePicker/DatePicker.d.ts +1 -1
  212. package/components/FileUploader/FileUploader/FileUploader.js +5 -6
  213. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  214. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +15 -12
  215. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  216. package/components/FileUploader/FileUploader.styles.d.ts +3 -2
  217. package/components/Hint/Hint/Hint.js +9 -1
  218. package/components/Hint/Hint/Hint.js.map +1 -1
  219. package/components/Hint/Hint.d.ts +5 -1
  220. package/components/Input/Input/Input.js +7 -25
  221. package/components/Input/Input/Input.js.map +1 -1
  222. package/components/Input/Input.d.ts +1 -5
  223. package/components/Loader/Loader/Loader.js +11 -12
  224. package/components/Loader/Loader/Loader.js.map +1 -1
  225. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +1 -1
  226. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  227. package/components/Modal/Modal/Modal.js.map +1 -1
  228. package/components/Modal/Modal.styles/Modal.styles.js +4 -4
  229. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  230. package/components/Modal/ModalFooter/ModalFooter.js +1 -1
  231. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  232. package/components/Modal/ModalHeader/ModalHeader.js +1 -1
  233. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  234. package/components/Paging/Paging/Paging.js +7 -9
  235. package/components/Paging/Paging/Paging.js.map +1 -1
  236. package/components/Paging/Paging.d.ts +12 -2
  237. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js +19 -0
  238. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -0
  239. package/components/Paging/PagingDefaultComponent/package.json +6 -0
  240. package/components/Paging/PagingDefaultComponent.d.ts +9 -0
  241. package/components/PasswordInput/PasswordInput/PasswordInput.js +24 -5
  242. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  243. package/components/PasswordInput/PasswordInput.d.ts +2 -0
  244. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js +10 -0
  245. package/components/PasswordInput/PasswordInputIcon/PasswordInputIcon.js.map +1 -0
  246. package/components/PasswordInput/PasswordInputIcon/package.json +6 -0
  247. package/components/PasswordInput/PasswordInputIcon.d.ts +3 -0
  248. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  249. package/components/RadioGroup/RadioGroup.d.ts +1 -1
  250. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -0
  251. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  252. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  253. package/components/ResponsiveLayout/ResponsiveLayoutEvents.d.ts +1 -1
  254. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +3 -2
  255. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  256. package/components/Select/Select/Select.js +12 -6
  257. package/components/Select/Select/Select.js.map +1 -1
  258. package/components/Select/Select.d.ts +7 -5
  259. package/components/SidePage/SidePage/SidePage.js +0 -19
  260. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  261. package/components/SidePage/SidePage.d.ts +0 -1
  262. package/components/SidePage/SidePageFooter/SidePageFooter.js +4 -4
  263. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  264. package/components/SidePage/SidePageHeader/SidePageHeader.js +3 -3
  265. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  266. package/components/Sticky/Sticky/Sticky.js +9 -8
  267. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  268. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  269. package/components/Switcher/Switcher.d.ts +2 -1
  270. package/components/Switcher/Switcher.styles/Switcher.styles.js +1 -1
  271. package/components/Switcher/Switcher.styles/Switcher.styles.js.map +1 -1
  272. package/components/Tabs/Indicator/Indicator.js +2 -1
  273. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  274. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  275. package/components/Tabs/Tabs.d.ts +3 -1
  276. package/components/Textarea/Textarea/Textarea.js +6 -6
  277. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  278. package/components/Textarea/Textarea.d.ts +2 -2
  279. package/components/Textarea/TextareaCounter/TextareaCounter.js +9 -1
  280. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  281. package/components/Toast/ToastView/ToastView.js +1 -1
  282. package/components/Toast/ToastView/ToastView.js.map +1 -1
  283. package/components/Toast/ToastView.styles/ToastView.styles.js +2 -2
  284. package/components/Toast/ToastView.styles/ToastView.styles.js.map +1 -1
  285. package/components/Toast/ToastView.styles.d.ts +1 -1
  286. package/components/Toggle/Toggle.styles/Toggle.styles.js +3 -4
  287. package/components/Toggle/Toggle.styles/Toggle.styles.js.map +1 -1
  288. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js +3 -2
  289. package/components/TokenInput/TextWidthHelper/TextWidthHelper.js.map +1 -1
  290. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  291. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  292. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  293. package/components/Tooltip/Tooltip/Tooltip.js +11 -8
  294. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  295. package/components/Tooltip/Tooltip.d.ts +4 -2
  296. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  297. package/index.d.ts +2 -0
  298. package/index.js +2 -0
  299. package/index.js.map +1 -1
  300. package/internal/BGRuler/BGRuler.js +2 -1
  301. package/internal/BGRuler/BGRuler.js.map +1 -1
  302. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +17 -3
  303. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  304. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -0
  305. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  306. package/internal/ComponentTable.d.ts +4 -2
  307. package/internal/DateSelect/DateSelect/DateSelect.js +2 -1
  308. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  309. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +5 -12
  310. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  311. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +3 -2
  312. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  313. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js +2 -0
  314. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  315. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  316. package/internal/InputLikeText/InputLikeText.d.ts +1 -1
  317. package/internal/InternalMenu/InternalMenu/InternalMenu.js +2 -1
  318. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  319. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +1 -1
  320. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  321. package/internal/Menu/Menu.styles/Menu.styles.js +1 -1
  322. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  323. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  324. package/internal/Popup/Popup/Popup.js +21 -20
  325. package/internal/Popup/Popup/Popup.js.map +1 -1
  326. package/internal/Popup/Popup.d.ts +1 -2
  327. package/internal/Popup/PopupHelper/PopupHelper.js +3 -1
  328. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  329. package/internal/RenderContainer/RenderContainer/RenderContainer.js +9 -0
  330. package/internal/RenderContainer/RenderContainer/RenderContainer.js.map +1 -1
  331. package/internal/RenderContainer/RenderContainerTypes.d.ts +2 -0
  332. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js +8 -2
  333. package/internal/RenderContainer/RenderInnerContainer/RenderInnerContainer.js.map +1 -1
  334. package/internal/RenderContainer/RenderInnerContainer.d.ts +9 -1
  335. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js +3 -4
  336. package/internal/TextWidthHelper/TextWidthHelper/TextWidthHelper.js.map +1 -1
  337. package/internal/ThemePlayground/CheckboxPlayground/CheckboxPlayground.js.map +1 -1
  338. package/internal/ThemePlayground/Playground/Playground.js +15 -29
  339. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  340. package/internal/ThemePlayground/RadioPlayground/RadioPlayground.js.map +1 -1
  341. package/internal/ThemePlayground/SizesGroup/SizesGroup.js +29 -0
  342. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -0
  343. package/internal/ThemePlayground/SizesGroup/package.json +6 -0
  344. package/internal/ThemePlayground/SizesGroup.d.ts +4 -0
  345. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +14 -2
  346. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  347. package/internal/ThemePlayground/ThemeContextPlayground.d.ts +4 -0
  348. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  349. package/internal/ThemePlayground/constants/constants.js +2 -0
  350. package/internal/ThemePlayground/constants/constants.js.map +1 -1
  351. package/internal/ThemePlayground/constants.d.ts +3 -1
  352. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  353. package/internal/icons/16px/index/index.js +7 -0
  354. package/internal/icons/16px/index/index.js.map +1 -1
  355. package/internal/icons/20px/svg/svg.js +5 -0
  356. package/internal/icons/20px/svg/svg.js.map +1 -1
  357. package/internal/themes/DefaultTheme/DefaultTheme.js +53 -4
  358. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  359. package/internal/themes/DefaultTheme.d.ts +21 -1
  360. package/internal/themes/NotFlat/NotFlat.js +15 -0
  361. package/internal/themes/NotFlat/NotFlat.js.map +1 -1
  362. package/internal/themes/NotFlat.d.ts +6 -0
  363. package/internal/themes/Theme2022/Theme2022.js +78 -0
  364. package/internal/themes/Theme2022/Theme2022.js.map +1 -0
  365. package/internal/themes/Theme2022/package.json +6 -0
  366. package/internal/themes/Theme2022.d.ts +66 -0
  367. package/internal/themes/Theme2022Dark/Theme2022Dark.js +17 -0
  368. package/internal/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  369. package/internal/themes/Theme2022Dark/package.json +6 -0
  370. package/internal/themes/Theme2022Dark.d.ts +5 -0
  371. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  372. package/lib/ConditionalHandler.d.ts +3 -2
  373. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js +3 -0
  374. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -0
  375. package/lib/InstanceWithAnchorElement/package.json +6 -0
  376. package/lib/InstanceWithAnchorElement.d.ts +5 -0
  377. package/lib/ModalStack/ModalStack.js.map +1 -1
  378. package/lib/ModalStack.d.ts +1 -1
  379. package/lib/SSRSafe/SSRSafe.js +7 -0
  380. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  381. package/lib/SSRSafe.d.ts +1 -0
  382. package/lib/dom/getDOMRect/getDOMRect.js +32 -15
  383. package/lib/dom/getDOMRect/getDOMRect.js.map +1 -1
  384. package/lib/dom/getDOMRect.d.ts +5 -2
  385. package/lib/events/keyboard/KeyboardMapKeys/KeyboardMapKeys.js.map +1 -1
  386. package/lib/events/keyboard/KeyboardMapKeys.d.ts +2 -1
  387. package/lib/events/keyboard/extractCode/extractCode.js.map +1 -1
  388. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js +21 -0
  389. package/lib/needsPolyfillPlaceholder/needsPolyfillPlaceholder.js.map +1 -0
  390. package/lib/needsPolyfillPlaceholder/package.json +6 -0
  391. package/lib/needsPolyfillPlaceholder.d.ts +6 -0
  392. package/lib/rootNode/getRootNode/getRootNode.js +11 -10
  393. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  394. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js +26 -2
  395. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  396. package/lib/rootNode/rootNodeDecorator.d.ts +11 -0
  397. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  398. package/lib/theming/themes/Theme2022/Theme2022.js +4 -0
  399. package/lib/theming/themes/Theme2022/Theme2022.js.map +1 -0
  400. package/lib/theming/themes/Theme2022/package.json +6 -0
  401. package/lib/theming/themes/Theme2022.d.ts +1 -0
  402. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +5 -0
  403. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -0
  404. package/lib/theming/themes/Theme2022Dark/package.json +6 -0
  405. package/lib/theming/themes/Theme2022Dark.d.ts +1 -0
  406. package/package.json +4 -2
  407. package/cjs/lib/polyfillPlaceholder.d.ts +0 -1
  408. package/cjs/lib/polyfillPlaceholder.js +0 -17
  409. package/cjs/lib/polyfillPlaceholder.js.map +0 -1
  410. package/lib/polyfillPlaceholder/package.json +0 -6
  411. package/lib/polyfillPlaceholder/polyfillPlaceholder.js +0 -12
  412. package/lib/polyfillPlaceholder/polyfillPlaceholder.js.map +0 -1
  413. package/lib/polyfillPlaceholder.d.ts +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["TextareaCounter.tsx"],"names":["React","useContext","useCallback","useImperativeHandle","useState","HelpDotIcon","ThemeContext","isFunction","Tooltip","cx","styles","handleHelpMouseDown","e","preventDefault","TextareaCounter","forwardRef","ref","length","value","help","onCloseHelp","textarea","theme","clientWidth","width","setWidth","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","counterHelp","textareaCounterHelpIconColor","counterContainer","counter","counterError"],"mappings":"AAAA,OAAOA,KAAP,IAAgCC,UAAhC,EAA4CC,WAA5C,EAAyDC,mBAAzD,EAA8EC,QAA9E,QAA8F,OAA9F;;AAEA,SAASC,WAAT,QAA4B,2BAA5B;AACA,SAASC,YAAT,QAA6B,gCAA7B;AACA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,OAAT,QAAwB,YAAxB;AACA,SAASC,EAAT,QAAmB,2BAAnB;;;AAGA,SAASC,MAAT,QAAuB,mBAAvB;;;;;;;;;;;;;;AAcA,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,CAAD,UAAuBA,CAAC,CAACC,cAAF,EAAvB,EAA5B;;AAEA,OAAO,IAAMC,eAAe,gBAAGd,KAAK,CAACe,UAAN,CAA2D,SAASD,eAAT;;AAExFE,GAFwF;AAGxF,aAFEC,MAEF,QAFEA,MAEF,CAFUC,KAEV,QAFUA,KAEV,CAFiBC,IAEjB,QAFiBA,IAEjB,CAFuBC,WAEvB,QAFuBA,WAEvB,CAFoCC,QAEpC,QAFoCA,QAEpC;AACA,MAAMC,KAAK,GAAGrB,UAAU,CAACK,YAAD,CAAxB;AACA,kBAA0BF,QAAQ,CAACiB,QAAQ,CAACE,WAAV,CAAlC,CAAOC,KAAP,gBAAcC,QAAd;AACA,mBAA4BrB,QAAQ,CAACiB,QAAQ,CAACK,YAAV,CAApC,CAAOC,MAAP,iBAAeC,SAAf;AACA,MAAMC,MAAM,GAAG3B,WAAW,CAAC,YAAM;AAC/B,QAAQqB,WAAR,GAAsCF,QAAtC,CAAQE,WAAR,CAAqBG,YAArB,GAAsCL,QAAtC,CAAqBK,YAArB;AACAD,IAAAA,QAAQ,CAACF,WAAD,CAAR;AACAK,IAAAA,SAAS,CAACF,YAAD,CAAT;AACD,GAJyB,EAIvB,CAACL,QAAD,CAJuB,CAA1B;AAKAlB,EAAAA,mBAAmB,CAACa,GAAD,EAAM,oBAAO,EAAEa,MAAM,EAANA,MAAF,EAAP,EAAN,EAA0B,CAACA,MAAD,CAA1B,CAAnB;AACA,MAAMC,oBAAoB,GAAG5B,WAAW,CAAC,oBAAMiB,IAAN,EAAD,EAAa,CAACA,IAAD,CAAb,CAAxC;AACA,MAAMY,aAAa,GAAGb,KAAK,GAAGA,KAAK,CAACc,QAAN,GAAiBf,MAApB,GAA6B,CAAxD;AACA,MAAMgB,YAAY,GAAGhB,MAAM,GAAGc,aAA9B;AACA,MAAMG,WAAW,GAAG3B,UAAU,CAACY,IAAD,CAAV;AAClBA,EAAAA,IAAI,EADc;;AAGlB,sBAAC,OAAD,IAAS,GAAG,EAAE,cAAd,EAA8B,OAAO,EAAE,OAAvC,EAAgD,MAAM,EAAEW,oBAAxD,EAA8E,YAAY,EAAEV,WAA5F;AACE,sBAAC,WAAD,IAAa,WAAW,EAAET,mBAA1B,EAA+C,KAAK,EAAEW,KAAK,CAACa,4BAA5D,GADF,CAHF;;;;AAQA;AACE,iCAAK,SAAS,EAAEzB,MAAM,CAAC0B,gBAAP,CAAwBd,KAAxB,CAAhB,EAAgD,KAAK,EAAE,EAAEE,KAAK,EAALA,KAAF,EAASG,MAAM,EAANA,MAAT,EAAvD;AACE;AACE,MAAA,SAAS,EAAElB,EAAE,CAACC,MAAM,CAAC2B,OAAP,CAAef,KAAf,CAAD;AACVZ,MAAAA,MAAM,CAAC4B,YAAP,CAAoBhB,KAApB,CADU,IACmBW,YAAY,GAAG,CADlC,OADf;;;AAKGA,IAAAA,YALH;AAMGd,IAAAA,IAAI,iBAAI,8BAAM,SAAS,EAAET,MAAM,CAACwB,WAAP,EAAjB,IAAwCA,WAAxC,CANX,CADF,CADF;;;;AAYD,CApC8B,CAAxB","sourcesContent":["import React, { SyntheticEvent, useContext, useCallback, useImperativeHandle, useState } from 'react';\n\nimport { HelpDotIcon } from '../../internal/icons/16px';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { TextareaProps } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport type TextareaCounterProps = {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n};\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = React.forwardRef<TextareaCounterRef, TextareaCounterProps>(function TextareaCounter(\n { length, value, help, onCloseHelp, textarea },\n ref,\n) {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => help, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n <HelpDotIcon onMouseDown={handleHelpMouseDown} color={theme.textareaCounterHelpIconColor} />\n </Tooltip>\n );\n\n return (\n <div className={styles.counterContainer(theme)} style={{ width, height }}>\n <span\n className={cx(styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n});\n"]}
1
+ {"version":3,"sources":["TextareaCounter.tsx"],"names":["React","useContext","useCallback","useImperativeHandle","useState","propTypes","HelpDotIcon","ThemeContext","isFunction","Tooltip","cx","styles","handleHelpMouseDown","e","preventDefault","TextareaCounter","forwardRef","ref","length","value","help","onCloseHelp","textarea","theme","clientWidth","width","setWidth","clientHeight","height","setHeight","reflow","renderTooltipContent","textareaValue","toString","counterValue","counterHelp","textareaCounterHelpIconColor","counterContainer","counter","counterError","number","isRequired","oneOf","string","node","func"],"mappings":"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","sourcesContent":["import React, { SyntheticEvent, useContext, useCallback, useImperativeHandle, useState } from 'react';\nimport propTypes from 'prop-types';\n\nimport { HelpDotIcon } from '../../internal/icons/16px';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { isFunction } from '../../lib/utils';\nimport { Tooltip } from '../Tooltip';\nimport { cx } from '../../lib/theming/Emotion';\n\nimport { TextareaProps } from './Textarea';\nimport { styles } from './Textarea.styles';\n\nexport type TextareaCounterProps = {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n};\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nexport const TextareaCounter = React.forwardRef<TextareaCounterRef, TextareaCounterProps>(function TextareaCounter(\n { length, value, help, onCloseHelp, textarea },\n ref,\n) {\n const theme = useContext(ThemeContext);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => help, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n <HelpDotIcon onMouseDown={handleHelpMouseDown} color={theme.textareaCounterHelpIconColor} />\n </Tooltip>\n );\n\n return (\n <div className={styles.counterContainer(theme)} style={{ width, height }}>\n <span\n className={cx(styles.counter(theme), {\n [styles.counterError(theme)]: counterValue < 0,\n })}\n >\n {counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n});\n\nTextareaCounter.propTypes = {\n length: propTypes.number.isRequired,\n value: propTypes.oneOf([propTypes.string, propTypes.number]),\n help: propTypes.oneOf([propTypes.node, propTypes.func]),\n onCloseHelp: propTypes.func.isRequired,\n textarea: propTypes.node.isRequired,\n};\n"]}
@@ -44,7 +44,7 @@ export var ToastView = rootNode(_class = (_temp = _class2 = /*#__PURE__*/functio
44
44
  }, /*#__PURE__*/React.createElement(CrossIcon, null))) : null;
45
45
  return /*#__PURE__*/React.createElement(ZIndex, {
46
46
  priority: "Toast",
47
- className: styles.wrapper()
47
+ className: styles.wrapper(_this.theme)
48
48
  }, /*#__PURE__*/React.createElement("div", _extends({
49
49
  "data-tid": "ToastView__root"
50
50
  }, rest, {
@@ -1 +1 @@
1
- {"version":3,"sources":["ToastView.tsx"],"names":["React","func","shape","string","CrossIcon","ZIndex","ThemeContext","CommonWrapper","rootNode","styles","ToastView","renderMain","props","action","onClose","rest","link","theme","handler","label","close","closeWrapper","wrapper","root","setRootNode","children","render","Component","propTypes","isRequired"],"mappings":"qSAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,KAAf,EAAsBC,MAAtB,QAAoC,YAApC;;AAEA,SAASC,SAAT,QAA0B,gCAA1B;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAAsBC,aAAtB,QAAmE,8BAAnE;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,oBAAvB;;;;;;;;;;;;;;;;;;;;AAoBA,WAAaC,SAAb,GADCF,QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BUG,IAAAA,UA9BV,GA8BuB,UAACC,KAAD,EAAmD;AACtE,UAAQC,MAAR,GAAqCD,KAArC,CAAQC,MAAR,CAAgBC,OAAhB,GAAqCF,KAArC,CAAgBE,OAAhB,CAA4BC,IAA5B,iCAAqCH,KAArC;;AAEA,UAAMI,IAAI,GAAGH,MAAM;AACjB,oCAAM,YAAS,mBAAf,EAAmC,SAAS,EAAEJ,MAAM,CAACO,IAAP,CAAY,MAAKC,KAAjB,CAA9C,EAAuE,OAAO,EAAEJ,MAAM,CAACK,OAAvF;AACGL,MAAAA,MAAM,CAACM,KADV,CADiB;;AAIf,UAJJ;;AAMA,UAAMC,KAAK,GAAGP,MAAM;AAClB,oCAAM,SAAS,EAAEJ,MAAM,CAACY,YAAP,CAAoB,MAAKJ,KAAzB,CAAjB;AACE,oCAAM,YAAS,kBAAf,EAAkC,SAAS,EAAER,MAAM,CAACW,KAAP,CAAa,MAAKH,KAAlB,CAA7C,EAAuE,OAAO,EAAEH,OAAhF;AACE,0BAAC,SAAD,OADF,CADF,CADkB;;;AAMhB,UANJ;;AAQA;AACE,4BAAC,MAAD,IAAQ,QAAQ,EAAC,OAAjB,EAAyB,SAAS,EAAEL,MAAM,CAACa,OAAP,EAApC;AACE,8CAAK,YAAS,iBAAd,IAAoCP,IAApC,IAA0C,SAAS,EAAEN,MAAM,CAACc,IAAP,CAAY,MAAKN,KAAjB,CAArD,EAA8E,GAAG,EAAE,MAAKO,WAAxF;AACE,0CAAO,MAAKZ,KAAL,CAAWa,QAAlB,CADF;AAEGT,QAAAA,IAFH;AAGGI,QAAAA,KAHH,CADF,CADF;;;;AASD,KAxDH,uDAmBSM,MAnBT,GAmBE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACT,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBAAO,oBAAC,aAAD,EAAmB,MAAI,CAACL,KAAxB,EAAgC,MAAI,CAACD,UAArC,CAAP,CACD,CAJH,CADF,CAQD,CA5BH,oBAA+BX,KAAK,CAAC2B,SAArC,WACgBC,SADhB,GAC4B,EACxB;AACJ;AACA,KACIf,MAAM,EAAEX,KAAK,CAAC,EACZiB,KAAK,EAAEhB,MAAM,CAAC0B,UADF,EAEZX,OAAO,EAAEjB,IAAI,CAAC4B,UAFF,EAAD,CAJW,EAQxB;AACJ;AACA,KACIJ,QAAQ,EAAEtB,MAAM,CAAC0B,UAXO,EAYxBf,OAAO,EAAEb,IAZe,EAD5B","sourcesContent":["import React from 'react';\nimport { func, shape, string } from 'prop-types';\n\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './ToastView.styles';\n\nexport interface ToastViewProps extends CommonProps {\n /**\n * Toast content\n */\n children?: string;\n /**\n * Adds action handling and close icon for toast\n */\n action?: {\n label: string;\n handler: () => void;\n } | null;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\nexport class ToastView extends React.Component<ToastViewProps> {\n public static propTypes = {\n /**\n * Adds action handling and close icon for toast\n */\n action: shape({\n label: string.isRequired,\n handler: func.isRequired,\n }),\n /**\n * Toast content\n */\n children: string.isRequired,\n onClose: func,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<ToastViewProps>) => {\n const { action, onClose, ...rest } = props;\n\n const link = action ? (\n <span data-tid=\"ToastView__action\" className={styles.link(this.theme)} onClick={action.handler}>\n {action.label}\n </span>\n ) : null;\n\n const close = action ? (\n <span className={styles.closeWrapper(this.theme)}>\n <span data-tid=\"ToastView__close\" className={styles.close(this.theme)} onClick={onClose}>\n <CrossIcon />\n </span>\n </span>\n ) : null;\n\n return (\n <ZIndex priority=\"Toast\" className={styles.wrapper()}>\n <div data-tid=\"ToastView__root\" {...rest} className={styles.root(this.theme)} ref={this.setRootNode}>\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n );\n };\n}\n"]}
1
+ {"version":3,"sources":["ToastView.tsx"],"names":["React","func","shape","string","CrossIcon","ZIndex","ThemeContext","CommonWrapper","rootNode","styles","ToastView","renderMain","props","action","onClose","rest","link","theme","handler","label","close","closeWrapper","wrapper","root","setRootNode","children","render","Component","propTypes","isRequired"],"mappings":"qSAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,EAAeC,KAAf,EAAsBC,MAAtB,QAAoC,YAApC;;AAEA,SAASC,SAAT,QAA0B,gCAA1B;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,YAAT,QAA6B,gCAA7B;;AAEA,SAAsBC,aAAtB,QAAmE,8BAAnE;AACA,SAASC,QAAT,QAAuC,oBAAvC;;AAEA,SAASC,MAAT,QAAuB,oBAAvB;;;;;;;;;;;;;;;;;;;;AAoBA,WAAaC,SAAb,GADCF,QACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BUG,IAAAA,UA9BV,GA8BuB,UAACC,KAAD,EAAmD;AACtE,UAAQC,MAAR,GAAqCD,KAArC,CAAQC,MAAR,CAAgBC,OAAhB,GAAqCF,KAArC,CAAgBE,OAAhB,CAA4BC,IAA5B,iCAAqCH,KAArC;;AAEA,UAAMI,IAAI,GAAGH,MAAM;AACjB,oCAAM,YAAS,mBAAf,EAAmC,SAAS,EAAEJ,MAAM,CAACO,IAAP,CAAY,MAAKC,KAAjB,CAA9C,EAAuE,OAAO,EAAEJ,MAAM,CAACK,OAAvF;AACGL,MAAAA,MAAM,CAACM,KADV,CADiB;;AAIf,UAJJ;;AAMA,UAAMC,KAAK,GAAGP,MAAM;AAClB,oCAAM,SAAS,EAAEJ,MAAM,CAACY,YAAP,CAAoB,MAAKJ,KAAzB,CAAjB;AACE,oCAAM,YAAS,kBAAf,EAAkC,SAAS,EAAER,MAAM,CAACW,KAAP,CAAa,MAAKH,KAAlB,CAA7C,EAAuE,OAAO,EAAEH,OAAhF;AACE,0BAAC,SAAD,OADF,CADF,CADkB;;;AAMhB,UANJ;;AAQA;AACE,4BAAC,MAAD,IAAQ,QAAQ,EAAC,OAAjB,EAAyB,SAAS,EAAEL,MAAM,CAACa,OAAP,CAAe,MAAKL,KAApB,CAApC;AACE,8CAAK,YAAS,iBAAd,IAAoCF,IAApC,IAA0C,SAAS,EAAEN,MAAM,CAACc,IAAP,CAAY,MAAKN,KAAjB,CAArD,EAA8E,GAAG,EAAE,MAAKO,WAAxF;AACE,0CAAO,MAAKZ,KAAL,CAAWa,QAAlB,CADF;AAEGT,QAAAA,IAFH;AAGGI,QAAAA,KAHH,CADF,CADF;;;;AASD,KAxDH,uDAmBSM,MAnBT,GAmBE,kBAAgB,mBACd,oBACE,oBAAC,YAAD,CAAc,QAAd,QACG,UAACT,KAAD,EAAW,CACV,MAAI,CAACA,KAAL,GAAaA,KAAb,CACA,oBAAO,oBAAC,aAAD,EAAmB,MAAI,CAACL,KAAxB,EAAgC,MAAI,CAACD,UAArC,CAAP,CACD,CAJH,CADF,CAQD,CA5BH,oBAA+BX,KAAK,CAAC2B,SAArC,WACgBC,SADhB,GAC4B,EACxB;AACJ;AACA,KACIf,MAAM,EAAEX,KAAK,CAAC,EACZiB,KAAK,EAAEhB,MAAM,CAAC0B,UADF,EAEZX,OAAO,EAAEjB,IAAI,CAAC4B,UAFF,EAAD,CAJW,EAQxB;AACJ;AACA,KACIJ,QAAQ,EAAEtB,MAAM,CAAC0B,UAXO,EAYxBf,OAAO,EAAEb,IAZe,EAD5B","sourcesContent":["import React from 'react';\nimport { func, shape, string } from 'prop-types';\n\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { ZIndex } from '../../internal/ZIndex';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { CommonProps, CommonWrapper, CommonWrapperRestProps } from '../../internal/CommonWrapper';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './ToastView.styles';\n\nexport interface ToastViewProps extends CommonProps {\n /**\n * Toast content\n */\n children?: string;\n /**\n * Adds action handling and close icon for toast\n */\n action?: {\n label: string;\n handler: () => void;\n } | null;\n onClose?: () => void;\n onMouseEnter?: () => void;\n onMouseLeave?: () => void;\n}\n\n@rootNode\nexport class ToastView extends React.Component<ToastViewProps> {\n public static propTypes = {\n /**\n * Adds action handling and close icon for toast\n */\n action: shape({\n label: string.isRequired,\n handler: func.isRequired,\n }),\n /**\n * Toast content\n */\n children: string.isRequired,\n onClose: func,\n };\n\n private theme!: Theme;\n private setRootNode!: TSetRootNode;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return <CommonWrapper {...this.props}>{this.renderMain}</CommonWrapper>;\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private renderMain = (props: CommonWrapperRestProps<ToastViewProps>) => {\n const { action, onClose, ...rest } = props;\n\n const link = action ? (\n <span data-tid=\"ToastView__action\" className={styles.link(this.theme)} onClick={action.handler}>\n {action.label}\n </span>\n ) : null;\n\n const close = action ? (\n <span className={styles.closeWrapper(this.theme)}>\n <span data-tid=\"ToastView__close\" className={styles.close(this.theme)} onClick={onClose}>\n <CrossIcon />\n </span>\n </span>\n ) : null;\n\n return (\n <ZIndex priority=\"Toast\" className={styles.wrapper(this.theme)}>\n <div data-tid=\"ToastView__root\" {...rest} className={styles.root(this.theme)} ref={this.setRootNode}>\n <span>{this.props.children}</span>\n {link}\n {close}\n </div>\n </ZIndex>\n );\n };\n}\n"]}
@@ -20,8 +20,8 @@ export var styles = memoizeStyle({
20
20
 
21
21
  return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n background: ", ";\n border-radius: ", ";\n border: ", ";\n color: ", ";\n display: inline-flex;\n font-size: ", ";\n line-height: ", ";\n opacity: 1;\n padding: ", " ", " ", ";\n position: relative;\n top: ", ";\n "])), t.toastBg, t.toastBorderRadius, t.toastBorder, t.toastColor, t.toastFontSize, t.toastLineHeight, paddingTop, t.toastPaddingX, paddingBottom, t.toastTop);
22
22
  },
23
- wrapper: function wrapper() {
24
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n text-align: center;\n "])));
23
+ wrapper: function wrapper(t) {
24
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n text-align: center;\n border-radius: ", ";\n "])), t.toastBorderRadius);
25
25
  },
26
26
  closeWrapper: function closeWrapper(t) {
27
27
  var _getVerticalPaddingsW2 = getVerticalPaddingsWithCompensation(t),
@@ -1 +1 @@
1
- {"version":3,"sources":["ToastView.styles.ts"],"names":["css","memoizeStyle","getVerticalPaddingsWithCompensation","theme","toastPaddingY","fontFamilyCompensationBaseline","paddingY","parseInt","compensation","styles","root","t","paddingTop","paddingBottom","toastBg","toastBorderRadius","toastBorder","toastColor","toastFontSize","toastLineHeight","toastPaddingX","toastTop","wrapper","closeWrapper","toastClosePadding","link","marginRight","Math","round","toastLinkColor","close","toastCloseColor","toastCloseSize","toastCloseHoverColor"],"mappings":"4LAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,IAAMC,mCAAmC,GAAG,SAAtCA,mCAAsC,CAACC,KAAD,EAAkB;AAC5D,MAAQC,aAAR,GAA0DD,KAA1D,CAAQC,aAAR,CAAuBC,8BAAvB,GAA0DF,KAA1D,CAAuBE,8BAAvB;AACA,MAAMC,QAAQ,GAAGC,QAAQ,CAACH,aAAD,CAAzB;AACA,MAAMI,YAAY,GAAGD,QAAQ,CAACF,8BAAD,CAA7B;AACA,SAAO,CAAIC,QAAQ,GAAGE,YAAf,SAAoCF,QAAQ,GAAGE,YAA/C,QAAP;AACD,CALD;;AAOA,OAAO,IAAMC,MAAM,GAAGR,YAAY,CAAC;AACjCS,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,gCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,4BAAmBC,aAAnB;AACA,WAAOb,GAAP;AACgBW,IAAAA,CAAC,CAACG,OADlB;AAEmBH,IAAAA,CAAC,CAACI,iBAFrB;AAGYJ,IAAAA,CAAC,CAACK,WAHd;AAIWL,IAAAA,CAAC,CAACM,UAJb;;AAMeN,IAAAA,CAAC,CAACO,aANjB;AAOiBP,IAAAA,CAAC,CAACQ,eAPnB;;AASaP,IAAAA,UATb,EAS2BD,CAAC,CAACS,aAT7B,EAS8CP,aAT9C;;AAWSF,IAAAA,CAAC,CAACU,QAXX;;AAaD,GAhBgC;;AAkBjCC,EAAAA,OAlBiC,qBAkBvB;AACR,WAAOtB,GAAP;;;;;;;;AAQD,GA3BgC;;AA6BjCuB,EAAAA,YA7BiC,wBA6BpBZ,CA7BoB,EA6BV;AACrB,iCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,6BAAmBC,aAAnB;AACA,WAAOb,GAAP;;AAEaY,IAAAA,UAFb,EAE4BD,CAAC,CAACS,aAF9B,EAEgDP,aAFhD,EAEkEF,CAAC,CAACa,iBAFpE;;AAID,GAnCgC;;AAqCjCC,EAAAA,IArCiC,gBAqC5Bd,CArC4B,EAqClB;AACb,iCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,6BAAmBC,aAAnB;AACA,QAAMa,WAAW,GAAMC,IAAI,CAACC,KAAL,CAAWrB,QAAQ,CAACI,CAAC,CAACS,aAAH,CAAR,GAA4B,GAAvC,CAAN,OAAjB;AACA,WAAOpB,GAAP;AACWW,IAAAA,CAAC,CAACkB,cADb;;;;;AAMajB,IAAAA,UANb,EAM2Bc,WAN3B,EAM2Cb,aAN3C,EAM4DF,CAAC,CAACS,aAN9D;;AAQaR,IAAAA,UARb,EAQ6BC,aAR7B;;;;;;AAcD,GAtDgC;;AAwDjCiB,EAAAA,KAxDiC,iBAwD3BnB,CAxD2B,EAwDjB;AACd,WAAOX,GAAP;;AAEWW,IAAAA,CAAC,CAACoB,eAFb;;;AAKYpB,IAAAA,CAAC,CAACqB,cALd;;AAOarB,IAAAA,CAAC,CAACa,iBAPf;;AASWb,IAAAA,CAAC,CAACqB,cATb;;;AAYarB,IAAAA,CAAC,CAACsB,oBAZf;;;AAeD,GAxEgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst getVerticalPaddingsWithCompensation = (theme: Theme) => {\n const { toastPaddingY, fontFamilyCompensationBaseline } = theme;\n const paddingY = parseInt(toastPaddingY);\n const compensation = parseInt(fontFamilyCompensationBaseline);\n return [`${paddingY - compensation}px`, `${paddingY + compensation}px`];\n};\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n return css`\n background: ${t.toastBg};\n border-radius: ${t.toastBorderRadius};\n border: ${t.toastBorder};\n color: ${t.toastColor};\n display: inline-flex;\n font-size: ${t.toastFontSize};\n line-height: ${t.toastLineHeight};\n opacity: 1;\n padding: ${paddingTop} ${t.toastPaddingX} ${paddingBottom};\n position: relative;\n top: ${t.toastTop};\n `;\n },\n\n wrapper() {\n return css`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n text-align: center;\n `;\n },\n\n closeWrapper(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n return css`\n display: flex;\n margin: -${paddingTop} -${t.toastPaddingX} -${paddingBottom} -${t.toastClosePadding};\n `;\n },\n\n link(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n const marginRight = `${Math.round(parseInt(t.toastPaddingX) * 1.5)}px`;\n return css`\n color: ${t.toastLinkColor};\n cursor: pointer;\n display: inline-block;\n font-weight: 600;\n\n margin: -${paddingTop} ${marginRight} -${paddingBottom} ${t.toastPaddingX};\n\n padding: ${paddingTop} 0 ${paddingBottom};\n\n &:hover {\n text-decoration: underline;\n }\n `;\n },\n\n close(t: Theme) {\n return css`\n box-sizing: content-box !important; // fix \"reset.css\" problem\n color: ${t.toastCloseColor};\n cursor: pointer;\n display: inline-block;\n height: ${t.toastCloseSize};\n line-height: 0;\n padding: ${t.toastClosePadding};\n text-align: center;\n width: ${t.toastCloseSize};\n\n &:hover {\n color: ${t.toastCloseHoverColor};\n }\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["ToastView.styles.ts"],"names":["css","memoizeStyle","getVerticalPaddingsWithCompensation","theme","toastPaddingY","fontFamilyCompensationBaseline","paddingY","parseInt","compensation","styles","root","t","paddingTop","paddingBottom","toastBg","toastBorderRadius","toastBorder","toastColor","toastFontSize","toastLineHeight","toastPaddingX","toastTop","wrapper","closeWrapper","toastClosePadding","link","marginRight","Math","round","toastLinkColor","close","toastCloseColor","toastCloseSize","toastCloseHoverColor"],"mappings":"4LAAA,SAASA,GAAT,EAAcC,YAAd,QAAkC,2BAAlC;;;AAGA,IAAMC,mCAAmC,GAAG,SAAtCA,mCAAsC,CAACC,KAAD,EAAkB;AAC5D,MAAQC,aAAR,GAA0DD,KAA1D,CAAQC,aAAR,CAAuBC,8BAAvB,GAA0DF,KAA1D,CAAuBE,8BAAvB;AACA,MAAMC,QAAQ,GAAGC,QAAQ,CAACH,aAAD,CAAzB;AACA,MAAMI,YAAY,GAAGD,QAAQ,CAACF,8BAAD,CAA7B;AACA,SAAO,CAAIC,QAAQ,GAAGE,YAAf,SAAoCF,QAAQ,GAAGE,YAA/C,QAAP;AACD,CALD;;AAOA,OAAO,IAAMC,MAAM,GAAGR,YAAY,CAAC;AACjCS,EAAAA,IADiC,gBAC5BC,CAD4B,EAClB;AACb,gCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,4BAAmBC,aAAnB;AACA,WAAOb,GAAP;AACgBW,IAAAA,CAAC,CAACG,OADlB;AAEmBH,IAAAA,CAAC,CAACI,iBAFrB;AAGYJ,IAAAA,CAAC,CAACK,WAHd;AAIWL,IAAAA,CAAC,CAACM,UAJb;;AAMeN,IAAAA,CAAC,CAACO,aANjB;AAOiBP,IAAAA,CAAC,CAACQ,eAPnB;;AASaP,IAAAA,UATb,EAS2BD,CAAC,CAACS,aAT7B,EAS8CP,aAT9C;;AAWSF,IAAAA,CAAC,CAACU,QAXX;;AAaD,GAhBgC;;AAkBjCC,EAAAA,OAlBiC,mBAkBzBX,CAlByB,EAkBf;AAChB,WAAOX,GAAP;;;;;;;AAOmBW,IAAAA,CAAC,CAACI,iBAPrB;;AASD,GA5BgC;;AA8BjCQ,EAAAA,YA9BiC,wBA8BpBZ,CA9BoB,EA8BV;AACrB,iCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,6BAAmBC,aAAnB;AACA,WAAOb,GAAP;;AAEaY,IAAAA,UAFb,EAE4BD,CAAC,CAACS,aAF9B,EAEgDP,aAFhD,EAEkEF,CAAC,CAACa,iBAFpE;;AAID,GApCgC;;AAsCjCC,EAAAA,IAtCiC,gBAsC5Bd,CAtC4B,EAsClB;AACb,iCAAoCT,mCAAmC,CAACS,CAAD,CAAvE,CAAOC,UAAP,6BAAmBC,aAAnB;AACA,QAAMa,WAAW,GAAMC,IAAI,CAACC,KAAL,CAAWrB,QAAQ,CAACI,CAAC,CAACS,aAAH,CAAR,GAA4B,GAAvC,CAAN,OAAjB;AACA,WAAOpB,GAAP;AACWW,IAAAA,CAAC,CAACkB,cADb;;;;;AAMajB,IAAAA,UANb,EAM2Bc,WAN3B,EAM2Cb,aAN3C,EAM4DF,CAAC,CAACS,aAN9D;;AAQaR,IAAAA,UARb,EAQ6BC,aAR7B;;;;;;AAcD,GAvDgC;;AAyDjCiB,EAAAA,KAzDiC,iBAyD3BnB,CAzD2B,EAyDjB;AACd,WAAOX,GAAP;;AAEWW,IAAAA,CAAC,CAACoB,eAFb;;;AAKYpB,IAAAA,CAAC,CAACqB,cALd;;AAOarB,IAAAA,CAAC,CAACa,iBAPf;;AASWb,IAAAA,CAAC,CAACqB,cATb;;;AAYarB,IAAAA,CAAC,CAACsB,oBAZf;;;AAeD,GAzEgC,EAAD,CAA3B","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst getVerticalPaddingsWithCompensation = (theme: Theme) => {\n const { toastPaddingY, fontFamilyCompensationBaseline } = theme;\n const paddingY = parseInt(toastPaddingY);\n const compensation = parseInt(fontFamilyCompensationBaseline);\n return [`${paddingY - compensation}px`, `${paddingY + compensation}px`];\n};\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n return css`\n background: ${t.toastBg};\n border-radius: ${t.toastBorderRadius};\n border: ${t.toastBorder};\n color: ${t.toastColor};\n display: inline-flex;\n font-size: ${t.toastFontSize};\n line-height: ${t.toastLineHeight};\n opacity: 1;\n padding: ${paddingTop} ${t.toastPaddingX} ${paddingBottom};\n position: relative;\n top: ${t.toastTop};\n `;\n },\n\n wrapper(t: Theme) {\n return css`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 0;\n text-align: center;\n border-radius: ${t.toastBorderRadius};\n `;\n },\n\n closeWrapper(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n return css`\n display: flex;\n margin: -${paddingTop} -${t.toastPaddingX} -${paddingBottom} -${t.toastClosePadding};\n `;\n },\n\n link(t: Theme) {\n const [paddingTop, paddingBottom] = getVerticalPaddingsWithCompensation(t);\n const marginRight = `${Math.round(parseInt(t.toastPaddingX) * 1.5)}px`;\n return css`\n color: ${t.toastLinkColor};\n cursor: pointer;\n display: inline-block;\n font-weight: 600;\n\n margin: -${paddingTop} ${marginRight} -${paddingBottom} ${t.toastPaddingX};\n\n padding: ${paddingTop} 0 ${paddingBottom};\n\n &:hover {\n text-decoration: underline;\n }\n `;\n },\n\n close(t: Theme) {\n return css`\n box-sizing: content-box !important; // fix \"reset.css\" problem\n color: ${t.toastCloseColor};\n cursor: pointer;\n display: inline-block;\n height: ${t.toastCloseSize};\n line-height: 0;\n padding: ${t.toastClosePadding};\n text-align: center;\n width: ${t.toastCloseSize};\n\n &:hover {\n color: ${t.toastCloseHoverColor};\n }\n `;\n },\n});\n"]}
@@ -1,7 +1,7 @@
1
1
  import { Theme } from '../../lib/theming/Theme';
2
2
  export declare const styles: {
3
3
  root(t: Theme): string;
4
- wrapper(): string;
4
+ wrapper(t: Theme): string;
5
5
  closeWrapper(t: Theme): string;
6
6
  link(t: Theme): string;
7
7
  close(t: Theme): string;
@@ -16,18 +16,17 @@ export var styles = memoizeStyle({
16
16
  root: function root(t) {
17
17
  var handleWidthWithBorders = t.toggleHeight;
18
18
  var handleActiveWidth = "calc(" + handleWidthWithBorders + " - 2 * " + t.toggleBorderWidth + " + " + t.toggleHandleActiveWidthIncrement + ")";
19
- return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n\n &:hover .", " {\n background: ", ";\n }\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ")\n translateX(-", ");\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "], ["\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n\n &:hover .", " {\n background: ", ";\n }\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ")\n translateX(-", ");\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "])), t.toggleLineHeight, t.toggleFontSize, globalClasses.handle, t.toggleBgHover, globalClasses.disabled, globalClasses.handle, handleActiveWidth, globalClasses.disabled, globalClasses.handle, t.toggleWidth, handleWidthWithBorders, t.toggleHandleActiveWidthIncrement, t.toggleWidth);
19
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n\n &:hover .", " {\n background: ", ";\n }\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ") translateX(-4px);\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "], ["\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ", ";\n font-size: ", ";\n\n &:hover .", " {\n background: ", ";\n }\n &:active:not(.", ") .", " {\n width: ", ";\n }\n &:active:not(.", ") input:checked ~ .", " {\n transform: translateX(", ") translateX(-", ") translateX(-4px);\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ", ";\n flex: 0 0 auto;\n }\n "])), t.toggleLineHeight, t.toggleFontSize, globalClasses.handle, t.toggleBgHover, globalClasses.disabled, globalClasses.handle, handleActiveWidth, globalClasses.disabled, globalClasses.handle, t.toggleWidth, handleWidthWithBorders, t.toggleWidth);
20
20
  },
21
21
  handle: function handle(t) {
22
- var handleSize = "calc(" + t.toggleHeight + " - 2 * " + t.toggleBorderWidth + ")";
23
- return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n background: ", ";\n border-radius: ", ";\n bottom: ", ";\n box-shadow: 0 ", " 0 0 rgba(0, 0, 0, 0.15), 0 0 0 ", " rgba(0, 0, 0, 0.15);\n height: ", ";\n left: ", ";\n position: absolute;\n top: ", ";\n transition: 0.2s ease-in;\n width: ", ";\n "])), t.toggleBg, t.toggleHandleBorderRadius, t.toggleBorderWidth, t.toggleBorderWidth, t.toggleBorderWidth, handleSize, t.toggleBorderWidth, t.toggleBorderWidth, handleSize);
22
+ return css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n background: ", ";\n border-radius: ", ";\n bottom: ", ";\n box-shadow: 0 ", " 0 0 rgba(0, 0, 0, 0.15), 0 0 0 ", " rgba(0, 0, 0, 0.15);\n height: ", ";\n left: ", ";\n position: absolute;\n top: ", ";\n transition: 0.2s ease-in;\n width: ", ";\n "])), t.toggleHandleBg, t.toggleHandleBorderRadius, t.toggleBorderWidth, t.toggleBorderWidth, t.toggleBorderWidth, t.toggleHandleSize, t.toggleHandleLeft, t.toggleHandleTop, t.toggleHandleSize);
24
23
  },
25
24
  handleDisabled: function handleDisabled(t) {
26
25
  return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n background: ", " !important; // override root hover/active styles\n "])), t.toggleDisabledHandleBg);
27
26
  },
28
27
  input: function input(t) {
29
28
  var handleWidthWithBorders = t.toggleHeight;
30
- return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .", " {\n box-shadow: inset 0 0 0 ", " ", ";\n background: ", ";\n transition: background 0s 0.2s;\n }\n &:checked ~ .", " {\n box-shadow: inset 0 0 0 ", " ", ";\n background: ", ";\n transition: background 0s 0.2s;\n }\n &:checked ~ .", " {\n background: ", ";\n box-shadow: inset 0 0 0 ", " ", ";\n }\n &:checked ~ .", " .", " {\n width: 70%;\n background: ", ";\n }\n &:checked ~ .", " .", " {\n width: 70%;\n background: ", ";\n border-radius: calc(", " * 0.5) 0 0 calc(", " * 0.5);\n box-shadow: inset 0 0 0 1px ", ";\n }\n &:checked ~ .", " {\n transform: translateX(", ") translateX(-", ");\n }\n "])), globalClasses.container, t.toggleBorderWidth, t.toggleBgChecked, t.toggleBgChecked, globalClasses.containerDisabled, t.toggleBorderWidth, t.toggleBorderColorDisabledChecked, t.toggleBgDisabledChecked, globalClasses.containerLoading, t.toggleBorderColor, t.toggleBorderWidth, t.toggleBorderColor, globalClasses.container, globalClasses.background, t.toggleBgChecked, globalClasses.containerDisabled, globalClasses.background, t.toggleBgDisabledChecked, t.toggleHeight, t.toggleHeight, t.toggleBorderColorDisabledChecked, globalClasses.handle, t.toggleWidth, handleWidthWithBorders);
29
+ return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .", " {\n box-shadow: inset 0 0 0 ", " ", ";\n background: ", ";\n transition: background 0s 0.2s;\n }\n &:checked ~ .", " {\n box-shadow: inset 0 0 0 ", " ", ";\n background: ", ";\n transition: background 0s 0.2s;\n }\n &:checked ~ .", " {\n background: ", ";\n box-shadow: inset 0 0 0 ", " ", ";\n }\n &:checked ~ .", " .", " {\n width: 70%;\n background: ", ";\n }\n &:checked ~ .", " .", " {\n width: 70%;\n background: ", ";\n border-radius: calc(", " * 0.5) 0 0 calc(", " * 0.5);\n box-shadow: inset 0 0 0 1px ", ";\n }\n &:checked ~ .", " {\n transform: translateX(", ") translateX(-", ");\n background: ", ";\n &:hover {\n background: ", ";\n }\n }\n "])), globalClasses.container, t.toggleBorderWidth, t.toggleBgChecked, t.toggleBgChecked, globalClasses.containerDisabled, t.toggleBorderWidth, t.toggleBorderColorDisabledChecked, t.toggleBgDisabledChecked, globalClasses.containerLoading, t.toggleBorderColor, t.toggleBorderWidth, t.toggleBorderColor, globalClasses.container, globalClasses.background, t.toggleBgChecked, globalClasses.containerDisabled, globalClasses.background, t.toggleBgDisabledChecked, t.toggleHeight, t.toggleHeight, t.toggleBorderColorDisabledChecked, globalClasses.handle, t.toggleWidth, handleWidthWithBorders, t.toggleCheckedBg, t.toggleCheckedBgHover);
31
30
  },
32
31
  container: function container(t) {
33
32
  return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteralLoose(["\n border-radius: ", ";\n box-shadow: inset 0 0 0 ", " ", ";\n height: 100%;\n overflow: hidden;\n position: absolute;\n width: 100%;\n /* fixes overflow issue in Safari: https://bugs.webkit.org/show_bug.cgi?id=98538 */\n z-index: 0;\n "])), t.toggleBorderRadius, t.toggleBorderWidth, t.toggleBorderColor);
@@ -1 +1 @@
1
- {"version":3,"sources":["Toggle.styles.ts"],"names":["css","memoizeStyle","prefix","isChrome","globalClasses","handle","container","disabled","containerDisabled","containerLoading","background","styles","root","t","handleWidthWithBorders","toggleHeight","handleActiveWidth","toggleBorderWidth","toggleHandleActiveWidthIncrement","toggleLineHeight","toggleFontSize","toggleBgHover","toggleWidth","handleSize","toggleBg","toggleHandleBorderRadius","handleDisabled","toggleDisabledHandleBg","input","toggleBgChecked","toggleBorderColorDisabledChecked","toggleBgDisabledChecked","toggleBorderColor","toggleBorderRadius","toggleBgDisabled","toggleBorderColorDisabled","focused","outlineColorFocus","toggleOutlineWidth","toggleFocusShadowColor","activeBackground","disabledBackground","activeBackgroundLoading","toggleBgActive","isWarning","toggleShadowColorWarning","isError","toggleShadowColorError","button","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","checkboxFontSize","baselineCompensation","toggleBaseBg","toggleButtonOffsetY","buttonRight","rootLeft","caption","toggleTextColor","toggleCaptionGap","disabledCaption","textColorDisabled","captionLeft"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isChrome } from '../../lib/client';\n\nexport const globalClasses = prefix('toggle')({\n handle: 'handle',\n container: 'container',\n disabled: 'disabled',\n containerDisabled: 'container-disabled',\n containerLoading: 'container-loading',\n background: 'background',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n const handleActiveWidth = `calc(${handleWidthWithBorders} - 2 * ${t.toggleBorderWidth} + ${t.toggleHandleActiveWidthIncrement})`;\n return css`\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ${t.toggleLineHeight};\n font-size: ${t.toggleFontSize};\n\n &:hover .${globalClasses.handle} {\n background: ${t.toggleBgHover};\n }\n &:active:not(.${globalClasses.disabled}) .${globalClasses.handle} {\n width: ${handleActiveWidth};\n }\n &:active:not(.${globalClasses.disabled}) input:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders})\n translateX(-${t.toggleHandleActiveWidthIncrement});\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ${t.toggleWidth};\n flex: 0 0 auto;\n }\n `;\n },\n\n handle(t: Theme) {\n const handleSize = `calc(${t.toggleHeight} - 2 * ${t.toggleBorderWidth})`;\n return css`\n background: ${t.toggleBg};\n border-radius: ${t.toggleHandleBorderRadius};\n bottom: ${t.toggleBorderWidth};\n box-shadow: 0 ${t.toggleBorderWidth} 0 0 rgba(0, 0, 0, 0.15), 0 0 0 ${t.toggleBorderWidth} rgba(0, 0, 0, 0.15);\n height: ${handleSize};\n left: ${t.toggleBorderWidth};\n position: absolute;\n top: ${t.toggleBorderWidth};\n transition: 0.2s ease-in;\n width: ${handleSize};\n `;\n },\n\n handleDisabled(t: Theme) {\n return css`\n background: ${t.toggleDisabledHandleBg} !important; // override root hover/active styles\n `;\n },\n\n input(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n return css`\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .${globalClasses.container} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBgChecked};\n background: ${t.toggleBgChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerDisabled} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColorDisabledChecked};\n background: ${t.toggleBgDisabledChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerLoading} {\n background: ${t.toggleBorderColor};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n }\n &:checked ~ .${globalClasses.container} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgChecked};\n }\n &:checked ~ .${globalClasses.containerDisabled} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgDisabledChecked};\n border-radius: calc(${t.toggleHeight} * 0.5) 0 0 calc(${t.toggleHeight} * 0.5);\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabledChecked};\n }\n &:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders});\n }\n `;\n },\n\n container(t: Theme) {\n return css`\n border-radius: ${t.toggleBorderRadius};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n height: 100%;\n overflow: hidden;\n position: absolute;\n width: 100%;\n /* fixes overflow issue in Safari: https://bugs.webkit.org/show_bug.cgi?id=98538 */\n z-index: 0;\n `;\n },\n\n containerDisabled(t: Theme) {\n return css`\n background: ${t.toggleBgDisabled};\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n `;\n },\n\n focused(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleFocusShadowColor};\n `;\n },\n\n activeBackground() {\n return css`\n background: inherit;\n bottom: 0;\n left: 0;\n position: absolute;\n top: 0;\n transition: 0.2s ease-in;\n width: 10px;\n `;\n },\n\n disabledBackground(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n width: 0;\n `;\n },\n\n activeBackgroundLoading(t: Theme) {\n return css`\n background: ${t.toggleBgActive};\n `;\n },\n\n isWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorWarning};\n `;\n },\n\n isError(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorError};\n `;\n },\n\n button(t: Theme) {\n const labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);\n const fontSize = parseInt(t.checkboxFontSize);\n const baselineCompensation = fontSize <= 16 && isChrome ? -labGrotesqueCompenstation : 0;\n return css`\n position: absolute;\n left: 0;\n top: 0;\n height: ${t.toggleHeight};\n width: ${t.toggleWidth};\n flex: 1 0 ${t.toggleWidth};\n\n background: ${t.toggleBaseBg};\n border-radius: ${t.toggleBorderRadius};\n line-height: ${t.toggleHeight};\n\n margin-top: calc(${t.toggleButtonOffsetY} + ${baselineCompensation}px);\n `;\n },\n\n buttonRight() {\n return css`\n right: 0;\n left: auto;\n `;\n },\n\n disabled() {\n return css`\n cursor: default;\n `;\n },\n\n rootLeft() {\n return css`\n flex-direction: row-reverse;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 0 0 ${t.toggleCaptionGap};\n line-height: ${t.toggleLineHeight};\n font-size: ${t.toggleFontSize};\n `;\n },\n\n disabledCaption(t: Theme) {\n return css`\n color: ${t.textColorDisabled};\n `;\n },\n\n captionLeft(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 ${t.toggleCaptionGap} 0 0;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["Toggle.styles.ts"],"names":["css","memoizeStyle","prefix","isChrome","globalClasses","handle","container","disabled","containerDisabled","containerLoading","background","styles","root","t","handleWidthWithBorders","toggleHeight","handleActiveWidth","toggleBorderWidth","toggleHandleActiveWidthIncrement","toggleLineHeight","toggleFontSize","toggleBgHover","toggleWidth","toggleHandleBg","toggleHandleBorderRadius","toggleHandleSize","toggleHandleLeft","toggleHandleTop","handleDisabled","toggleDisabledHandleBg","input","toggleBgChecked","toggleBorderColorDisabledChecked","toggleBgDisabledChecked","toggleBorderColor","toggleCheckedBg","toggleCheckedBgHover","toggleBorderRadius","toggleBgDisabled","toggleBorderColorDisabled","focused","outlineColorFocus","toggleOutlineWidth","toggleFocusShadowColor","activeBackground","disabledBackground","activeBackgroundLoading","toggleBgActive","isWarning","toggleShadowColorWarning","isError","toggleShadowColorError","button","labGrotesqueCompenstation","parseInt","labGrotesqueBaselineCompensation","fontSize","checkboxFontSize","baselineCompensation","toggleBaseBg","toggleButtonOffsetY","buttonRight","rootLeft","caption","toggleTextColor","toggleCaptionGap","disabledCaption","textColorDisabled","captionLeft"],"mappings":"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","sourcesContent":["import { css, memoizeStyle, prefix } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isChrome } from '../../lib/client';\n\nexport const globalClasses = prefix('toggle')({\n handle: 'handle',\n container: 'container',\n disabled: 'disabled',\n containerDisabled: 'container-disabled',\n containerLoading: 'container-loading',\n background: 'background',\n});\n\nexport const styles = memoizeStyle({\n root(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n const handleActiveWidth = `calc(${handleWidthWithBorders} - 2 * ${t.toggleBorderWidth} + ${t.toggleHandleActiveWidthIncrement})`;\n return css`\n display: inline-flex;\n cursor: pointer;\n align-items: baseline;\n position: relative;\n line-height: ${t.toggleLineHeight};\n font-size: ${t.toggleFontSize};\n\n &:hover .${globalClasses.handle} {\n background: ${t.toggleBgHover};\n }\n &:active:not(.${globalClasses.disabled}) .${globalClasses.handle} {\n width: ${handleActiveWidth};\n }\n &:active:not(.${globalClasses.disabled}) input:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders}) translateX(-4px);\n }\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned button,\n // and also height and baseline for toggle without caption.\n content: '\\\\00A0';\n display: inline-block;\n width: ${t.toggleWidth};\n flex: 0 0 auto;\n }\n `;\n },\n\n handle(t: Theme) {\n return css`\n background: ${t.toggleHandleBg};\n border-radius: ${t.toggleHandleBorderRadius};\n bottom: ${t.toggleBorderWidth};\n box-shadow: 0 ${t.toggleBorderWidth} 0 0 rgba(0, 0, 0, 0.15), 0 0 0 ${t.toggleBorderWidth} rgba(0, 0, 0, 0.15);\n height: ${t.toggleHandleSize};\n left: ${t.toggleHandleLeft};\n position: absolute;\n top: ${t.toggleHandleTop};\n transition: 0.2s ease-in;\n width: ${t.toggleHandleSize};\n `;\n },\n\n handleDisabled(t: Theme) {\n return css`\n background: ${t.toggleDisabledHandleBg} !important; // override root hover/active styles\n `;\n },\n\n input(t: Theme) {\n const handleWidthWithBorders = t.toggleHeight;\n return css`\n position: absolute;\n opacity: 0;\n\n &:focus {\n outline: none;\n }\n &:checked ~ .${globalClasses.container} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBgChecked};\n background: ${t.toggleBgChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerDisabled} {\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColorDisabledChecked};\n background: ${t.toggleBgDisabledChecked};\n transition: background 0s 0.2s;\n }\n &:checked ~ .${globalClasses.containerLoading} {\n background: ${t.toggleBorderColor};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n }\n &:checked ~ .${globalClasses.container} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgChecked};\n }\n &:checked ~ .${globalClasses.containerDisabled} .${globalClasses.background} {\n width: 70%;\n background: ${t.toggleBgDisabledChecked};\n border-radius: calc(${t.toggleHeight} * 0.5) 0 0 calc(${t.toggleHeight} * 0.5);\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabledChecked};\n }\n &:checked ~ .${globalClasses.handle} {\n transform: translateX(${t.toggleWidth}) translateX(-${handleWidthWithBorders});\n background: ${t.toggleCheckedBg};\n &:hover {\n background: ${t.toggleCheckedBgHover};\n }\n }\n `;\n },\n\n container(t: Theme) {\n return css`\n border-radius: ${t.toggleBorderRadius};\n box-shadow: inset 0 0 0 ${t.toggleBorderWidth} ${t.toggleBorderColor};\n height: 100%;\n overflow: hidden;\n position: absolute;\n width: 100%;\n /* fixes overflow issue in Safari: https://bugs.webkit.org/show_bug.cgi?id=98538 */\n z-index: 0;\n `;\n },\n\n containerDisabled(t: Theme) {\n return css`\n background: ${t.toggleBgDisabled};\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n `;\n },\n\n focused(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleFocusShadowColor};\n `;\n },\n\n activeBackground() {\n return css`\n background: inherit;\n bottom: 0;\n left: 0;\n position: absolute;\n top: 0;\n transition: 0.2s ease-in;\n width: 10px;\n `;\n },\n\n disabledBackground(t: Theme) {\n return css`\n box-shadow: inset 0 0 0 1px ${t.toggleBorderColorDisabled};\n width: 0;\n `;\n },\n\n activeBackgroundLoading(t: Theme) {\n return css`\n background: ${t.toggleBgActive};\n `;\n },\n\n isWarning(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorWarning};\n `;\n },\n\n isError(t: Theme) {\n return css`\n box-shadow: 0 0 0 1px ${t.outlineColorFocus}, 0 0 0 ${t.toggleOutlineWidth} ${t.toggleShadowColorError};\n `;\n },\n\n button(t: Theme) {\n const labGrotesqueCompenstation = parseInt(t.labGrotesqueBaselineCompensation);\n const fontSize = parseInt(t.checkboxFontSize);\n const baselineCompensation = fontSize <= 16 && isChrome ? -labGrotesqueCompenstation : 0;\n return css`\n position: absolute;\n left: 0;\n top: 0;\n height: ${t.toggleHeight};\n width: ${t.toggleWidth};\n flex: 1 0 ${t.toggleWidth};\n\n background: ${t.toggleBaseBg};\n border-radius: ${t.toggleBorderRadius};\n line-height: ${t.toggleHeight};\n\n margin-top: calc(${t.toggleButtonOffsetY} + ${baselineCompensation}px);\n `;\n },\n\n buttonRight() {\n return css`\n right: 0;\n left: auto;\n `;\n },\n\n disabled() {\n return css`\n cursor: default;\n `;\n },\n\n rootLeft() {\n return css`\n flex-direction: row-reverse;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 0 0 ${t.toggleCaptionGap};\n line-height: ${t.toggleLineHeight};\n font-size: ${t.toggleFontSize};\n `;\n },\n\n disabledCaption(t: Theme) {\n return css`\n color: ${t.textColorDisabled};\n `;\n },\n\n captionLeft(t: Theme) {\n return css`\n color: ${t.toggleTextColor};\n padding: 0 ${t.toggleCaptionGap} 0 0;\n `;\n },\n});\n"]}
@@ -1,5 +1,6 @@
1
1
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
2
2
  import React from 'react';
3
+ import { getDOMRect } from "../../../lib/dom/getDOMRect";
3
4
  import { styles } from "../TokenInput.styles"; // a thin character to preserve some space
4
5
  // for the caret visibillity in the input
5
6
 
@@ -41,11 +42,11 @@ export var TextWidthHelper = /*#__PURE__*/function (_React$Component) {
41
42
  };
42
43
 
43
44
  _proto.getTextWidth = function getTextWidth() {
44
- return this.element ? this.element.getBoundingClientRect().width : 0;
45
+ return getDOMRect(this.element).width;
45
46
  };
46
47
 
47
48
  _proto.getTextHeight = function getTextHeight() {
48
- return this.element.getBoundingClientRect().height;
49
+ return getDOMRect(this.element).height;
49
50
  };
50
51
 
51
52
  return TextWidthHelper;
@@ -1 +1 @@
1
- {"version":3,"sources":["TextWidthHelper.tsx"],"names":["React","styles","THIN_SPACE","TextWidthHelper","element","elementRef","node","render","helperContainer","props","theme","classHelp","text","getTextWidth","getBoundingClientRect","width","getTextHeight","height","Component"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;;;;AAIA,SAASC,MAAT,QAAuB,qBAAvB;;AAEA;AACA;AACA,IAAMC,UAAU,GAAG,QAAnB;;;;;;;AAOA;AACA;AACA;AACA;AACA,WAAaC,eAAb;AACUC,IAAAA,OADV,GAC2C,IAD3C;;;;;;;;;;;;;;;;;;;;AAqBUC,IAAAA,UArBV,GAqBuB,UAACC,IAAD,UAA2B,MAAKF,OAAL,GAAeE,IAA1C,EArBvB,6DAGSC,MAHT,GAGE,kBAAgB,CACd,oBACE,6BAAK,SAAS,EAAEN,MAAM,CAACO,eAAP,CAAuB,KAAKC,KAAL,CAAWC,KAAlC,CAAhB,iBACE,6BAAK,SAAS,EAAE,KAAKD,KAAL,CAAWE,SAA3B,EAAsC,GAAG,EAAE,KAAKN,UAAhD,IACG,KAAKI,KAAL,CAAWG,IAAX,IAAmBV,UADtB,CADF,CADF,CAOD,CAXH,QAaSW,YAbT,GAaE,wBAA8B,CAC5B,OAAO,KAAKT,OAAL,GAAe,KAAKA,OAAL,CAAaU,qBAAb,GAAqCC,KAApD,GAA4D,CAAnE,CACD,CAfH,QAiBSC,aAjBT,GAiBE,yBAA+B,CAC7B,OAAO,KAAKZ,OAAL,CAAcU,qBAAd,GAAsCG,MAA7C,CACD,CAnBH,0BAAqCjB,KAAK,CAACkB,SAA3C","sourcesContent":["import React from 'react';\n\nimport { Theme } from '../../lib/theming/Theme';\n\nimport { styles } from './TokenInput.styles';\n\n// a thin character to preserve some space\n// for the caret visibillity in the input\nconst THIN_SPACE = '\\u2009';\n\nexport interface TextWidthHelperProps {\n text?: string;\n classHelp: string;\n theme: Theme;\n}\n/**\n * Херпер позволяет вычислить размеры блока с текстом\n * для последующего выставления размеров input\n */\nexport class TextWidthHelper extends React.Component<TextWidthHelperProps> {\n private element: HTMLDivElement | null = null;\n\n public render() {\n return (\n <div className={styles.helperContainer(this.props.theme)}>\n <div className={this.props.classHelp} ref={this.elementRef}>\n {this.props.text || THIN_SPACE}\n </div>\n </div>\n );\n }\n\n public getTextWidth(): number {\n return this.element ? this.element.getBoundingClientRect().width : 0;\n }\n\n public getTextHeight(): number {\n return this.element!.getBoundingClientRect().height;\n }\n\n private elementRef = (node: HTMLDivElement) => (this.element = node);\n}\n"]}
1
+ {"version":3,"sources":["TextWidthHelper.tsx"],"names":["React","getDOMRect","styles","THIN_SPACE","TextWidthHelper","element","elementRef","node","render","helperContainer","props","theme","classHelp","text","getTextWidth","width","getTextHeight","height","Component"],"mappings":"sEAAA,OAAOA,KAAP,MAAkB,OAAlB;;;AAGA,SAASC,UAAT,QAA2B,0BAA3B;;AAEA,SAASC,MAAT,QAAuB,qBAAvB;;AAEA;AACA;AACA,IAAMC,UAAU,GAAG,QAAnB;;;;;;;AAOA;AACA;AACA;AACA;AACA,WAAaC,eAAb;AACUC,IAAAA,OADV,GAC2C,IAD3C;;;;;;;;;;;;;;;;;;;;AAqBUC,IAAAA,UArBV,GAqBuB,UAACC,IAAD,UAA2B,MAAKF,OAAL,GAAeE,IAA1C,EArBvB,6DAGSC,MAHT,GAGE,kBAAgB,CACd,oBACE,6BAAK,SAAS,EAAEN,MAAM,CAACO,eAAP,CAAuB,KAAKC,KAAL,CAAWC,KAAlC,CAAhB,iBACE,6BAAK,SAAS,EAAE,KAAKD,KAAL,CAAWE,SAA3B,EAAsC,GAAG,EAAE,KAAKN,UAAhD,IACG,KAAKI,KAAL,CAAWG,IAAX,IAAmBV,UADtB,CADF,CADF,CAOD,CAXH,QAaSW,YAbT,GAaE,wBAA8B,CAC5B,OAAOb,UAAU,CAAC,KAAKI,OAAN,CAAV,CAAyBU,KAAhC,CACD,CAfH,QAiBSC,aAjBT,GAiBE,yBAA+B,CAC7B,OAAOf,UAAU,CAAC,KAAKI,OAAN,CAAV,CAAyBY,MAAhC,CACD,CAnBH,0BAAqCjB,KAAK,CAACkB,SAA3C","sourcesContent":["import React from 'react';\n\nimport { Theme } from '../../lib/theming/Theme';\nimport { getDOMRect } from '../../lib/dom/getDOMRect';\n\nimport { styles } from './TokenInput.styles';\n\n// a thin character to preserve some space\n// for the caret visibillity in the input\nconst THIN_SPACE = '\\u2009';\n\nexport interface TextWidthHelperProps {\n text?: string;\n classHelp: string;\n theme: Theme;\n}\n/**\n * Херпер позволяет вычислить размеры блока с текстом\n * для последующего выставления размеров input\n */\nexport class TextWidthHelper extends React.Component<TextWidthHelperProps> {\n private element: HTMLDivElement | null = null;\n\n public render() {\n return (\n <div className={styles.helperContainer(this.props.theme)}>\n <div className={this.props.classHelp} ref={this.elementRef}>\n {this.props.text || THIN_SPACE}\n </div>\n </div>\n );\n }\n\n public getTextWidth(): number {\n return getDOMRect(this.element).width;\n }\n\n public getTextHeight(): number {\n return getDOMRect(this.element).height;\n }\n\n private elementRef = (node: HTMLDivElement) => (this.element = node);\n}\n"]}
@@ -13,7 +13,7 @@ var mixins = {
13
13
  };
14
14
  export var styles = memoizeStyle({
15
15
  label: function label(t) {
16
- return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n box-shadow: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n box-sizing: border-box;\n cursor: text;\n padding: ", " ", ";\n display: flex;\n flex-wrap: wrap;\n align-items: start;\n outline: none;\n position: relative;\n "])), t.tokenInputBg, t.tokenInputShadow, t.tokenInputBorderWidth, t.tokenInputBorderColor, t.tokenInputBorderTopColor, t.tokenInputPaddingY, t.tokenInputPaddingX);
16
+ return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteralLoose(["\n background-color: ", ";\n box-shadow: ", ";\n border: ", " solid ", ";\n border-top-color: ", ";\n box-sizing: border-box;\n cursor: text;\n padding: ", " ", ";\n display: flex;\n flex-wrap: wrap;\n align-items: start;\n outline: none;\n position: relative;\n border-radius: ", ";\n "])), t.tokenInputBg, t.tokenInputShadow, t.tokenInputBorderWidth, t.tokenInputBorderColor, t.tokenInputBorderTopColor, t.tokenInputPaddingY, t.tokenInputPaddingX, t.tokenInputBorderRadius);
17
17
  },
18
18
  warning: function warning(t) {
19
19
  return css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteralLoose(["\n border: ", " solid ", ";\n box-shadow: 0 0 0 ", " ", ";\n "])), t.tokenInputBorderWidth, t.tokenInputBorderColorWarning, t.tokenInputOutlineWidth, t.tokenInputBorderColorWarning);
@@ -1 +1 @@
1
- {"version":3,"sources":["TokenInput.styles.ts"],"names":["css","memoizeStyle","mixins","inputAndHelperCommonStyles","t","tokenInputInputPaddingRight","tokenInputInputPaddingLeft","tokenInputLineHeight","tokenInputFontSize","inputAndHelperCommonEditingStyles","tokenMarginY","tokenMarginX","tokenPaddingX","tokenLineHeight","styles","label","tokenInputBg","tokenInputShadow","tokenInputBorderWidth","tokenInputBorderColor","tokenInputBorderTopColor","tokenInputPaddingY","tokenInputPaddingX","warning","tokenInputBorderColorWarning","tokenInputOutlineWidth","error","tokenInputBorderColorError","labelFocused","tokenInputBorderColorFocus","labelDisabled","tokenInputDisabledBg","tokenInputDisabledBorderColor","input","tokenInputTextColor","tokenInputPlaceholderColor","tokenInputPlaceholderColorDisabled","tokenInputPlaceholderColorLight","helperContainer","helperText","helperTextEditing","tokenFontSize","tokenLegacyTextShift","inputDisabled","tokenInputTextColorDisabled","inputEditing","reservedInput"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst mixins = {\n inputAndHelperCommonStyles(t: Theme) {\n return css`\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenInputInputPaddingLeft};\n line-height: ${t.tokenInputLineHeight};\n font-size: ${t.tokenInputFontSize};\n `;\n },\n inputAndHelperCommonEditingStyles(t: Theme) {\n return css`\n margin: ${t.tokenMarginY} ${t.tokenMarginX};\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenPaddingX};\n line-height: ${t.tokenLineHeight};\n `;\n },\n};\n\nexport const styles = memoizeStyle({\n label(t: Theme) {\n return css`\n background-color: ${t.tokenInputBg};\n box-shadow: ${t.tokenInputShadow};\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColor};\n border-top-color: ${t.tokenInputBorderTopColor};\n box-sizing: border-box;\n cursor: text;\n padding: ${t.tokenInputPaddingY} ${t.tokenInputPaddingX};\n display: flex;\n flex-wrap: wrap;\n align-items: start;\n outline: none;\n position: relative;\n `;\n },\n\n warning(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorWarning};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorError};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorError};\n `;\n },\n\n labelFocused(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorFocus};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorFocus};\n `;\n },\n\n labelDisabled(t: Theme) {\n return css`\n background: ${t.tokenInputDisabledBg};\n border-color: ${t.tokenInputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n input(t: Theme) {\n return css`\n min-width: 0;\n max-width: 100%;\n width: 50px;\n background: transparent;\n border: none;\n box-shadow: none;\n outline: none;\n font-family: inherit;\n margin: ${t.tokenMarginY} 0 ${t.tokenMarginY} 0;\n overflow: hidden;\n resize: none;\n height: ${t.tokenInputLineHeight};\n -webkit-appearance: none;\n text-overflow: clip;\n background-clip: padding-box;\n transition: background-color 0.15s ease-in;\n color: ${t.tokenInputTextColor};\n box-sizing: border-box;\n word-break: break-all;\n\n ${mixins.inputAndHelperCommonStyles(t)};\n\n &::-ms-clear {\n display: none;\n }\n &::placeholder {\n color: ${t.tokenInputPlaceholderColor};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColor};\n }\n &:disabled::placeholder {\n color: ${t.tokenInputPlaceholderColorDisabled};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColorDisabled};\n }\n &:focus::placeholder {\n color: ${t.tokenInputPlaceholderColorLight};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColorLight};\n }\n /* fix firefox placeholder opacity */\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n `;\n },\n\n helperContainer(t: Theme) {\n return css`\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding: ${t.tokenInputPaddingY} ${t.tokenInputPaddingX};\n visibility: hidden;\n `;\n },\n\n helperText(t: Theme) {\n return css`\n max-width: 100%;\n word-break: break-all;\n\n // don't collapse spaces\n // so they get counted in width\n white-space: pre-wrap;\n\n ${mixins.inputAndHelperCommonStyles(t)}\n `;\n },\n\n helperTextEditing(t: Theme) {\n return css`\n ${mixins.inputAndHelperCommonEditingStyles(t)};\n\n font-size: ${t.tokenFontSize};\n padding-bottom: ${t.tokenLegacyTextShift};\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n pointer-events: none;\n /* fix text color in safari */\n -webkit-text-fill-color: currentcolor;\n color: ${t.tokenInputTextColorDisabled};\n `;\n },\n\n inputEditing(t: Theme) {\n return css`\n ${mixins.inputAndHelperCommonEditingStyles(t)};\n `;\n },\n\n reservedInput(t: Theme) {\n return css`\n min-width: 2px;\n min-height: ${t.tokenInputLineHeight};\n line-height: ${t.tokenInputLineHeight};\n font-size: ${t.tokenInputFontSize};\n margin: ${t.tokenMarginY} 0 ${t.tokenMarginY} 0;\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenInputInputPaddingLeft};\n color: ${t.tokenInputTextColorDisabled};\n word-break: break-all;\n `;\n },\n});\n"]}
1
+ {"version":3,"sources":["TokenInput.styles.ts"],"names":["css","memoizeStyle","mixins","inputAndHelperCommonStyles","t","tokenInputInputPaddingRight","tokenInputInputPaddingLeft","tokenInputLineHeight","tokenInputFontSize","inputAndHelperCommonEditingStyles","tokenMarginY","tokenMarginX","tokenPaddingX","tokenLineHeight","styles","label","tokenInputBg","tokenInputShadow","tokenInputBorderWidth","tokenInputBorderColor","tokenInputBorderTopColor","tokenInputPaddingY","tokenInputPaddingX","tokenInputBorderRadius","warning","tokenInputBorderColorWarning","tokenInputOutlineWidth","error","tokenInputBorderColorError","labelFocused","tokenInputBorderColorFocus","labelDisabled","tokenInputDisabledBg","tokenInputDisabledBorderColor","input","tokenInputTextColor","tokenInputPlaceholderColor","tokenInputPlaceholderColorDisabled","tokenInputPlaceholderColorLight","helperContainer","helperText","helperTextEditing","tokenFontSize","tokenLegacyTextShift","inputDisabled","tokenInputTextColorDisabled","inputEditing","reservedInput"],"mappings":"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","sourcesContent":["import { css, memoizeStyle } from '../../lib/theming/Emotion';\nimport { Theme } from '../../lib/theming/Theme';\n\nconst mixins = {\n inputAndHelperCommonStyles(t: Theme) {\n return css`\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenInputInputPaddingLeft};\n line-height: ${t.tokenInputLineHeight};\n font-size: ${t.tokenInputFontSize};\n `;\n },\n inputAndHelperCommonEditingStyles(t: Theme) {\n return css`\n margin: ${t.tokenMarginY} ${t.tokenMarginX};\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenPaddingX};\n line-height: ${t.tokenLineHeight};\n `;\n },\n};\n\nexport const styles = memoizeStyle({\n label(t: Theme) {\n return css`\n background-color: ${t.tokenInputBg};\n box-shadow: ${t.tokenInputShadow};\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColor};\n border-top-color: ${t.tokenInputBorderTopColor};\n box-sizing: border-box;\n cursor: text;\n padding: ${t.tokenInputPaddingY} ${t.tokenInputPaddingX};\n display: flex;\n flex-wrap: wrap;\n align-items: start;\n outline: none;\n position: relative;\n border-radius: ${t.tokenInputBorderRadius};\n `;\n },\n\n warning(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorWarning};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorWarning};\n `;\n },\n\n error(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorError};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorError};\n `;\n },\n\n labelFocused(t: Theme) {\n return css`\n border: ${t.tokenInputBorderWidth} solid ${t.tokenInputBorderColorFocus};\n box-shadow: 0 0 0 ${t.tokenInputOutlineWidth} ${t.tokenInputBorderColorFocus};\n `;\n },\n\n labelDisabled(t: Theme) {\n return css`\n background: ${t.tokenInputDisabledBg};\n border-color: ${t.tokenInputDisabledBorderColor};\n box-shadow: none;\n `;\n },\n\n input(t: Theme) {\n return css`\n min-width: 0;\n max-width: 100%;\n width: 50px;\n background: transparent;\n border: none;\n box-shadow: none;\n outline: none;\n font-family: inherit;\n margin: ${t.tokenMarginY} 0 ${t.tokenMarginY} 0;\n overflow: hidden;\n resize: none;\n height: ${t.tokenInputLineHeight};\n -webkit-appearance: none;\n text-overflow: clip;\n background-clip: padding-box;\n transition: background-color 0.15s ease-in;\n color: ${t.tokenInputTextColor};\n box-sizing: border-box;\n word-break: break-all;\n\n ${mixins.inputAndHelperCommonStyles(t)};\n\n &::-ms-clear {\n display: none;\n }\n &::placeholder {\n color: ${t.tokenInputPlaceholderColor};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColor};\n }\n &:disabled::placeholder {\n color: ${t.tokenInputPlaceholderColorDisabled};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColorDisabled};\n }\n &:focus::placeholder {\n color: ${t.tokenInputPlaceholderColorLight};\n -webkit-text-fill-color: ${t.tokenInputPlaceholderColorLight};\n }\n /* fix firefox placeholder opacity */\n &:-moz-placeholder {\n opacity: 1;\n }\n &::-moz-placeholder {\n opacity: 1;\n }\n `;\n },\n\n helperContainer(t: Theme) {\n return css`\n display: flex;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n padding: ${t.tokenInputPaddingY} ${t.tokenInputPaddingX};\n visibility: hidden;\n `;\n },\n\n helperText(t: Theme) {\n return css`\n max-width: 100%;\n word-break: break-all;\n\n // don't collapse spaces\n // so they get counted in width\n white-space: pre-wrap;\n\n ${mixins.inputAndHelperCommonStyles(t)}\n `;\n },\n\n helperTextEditing(t: Theme) {\n return css`\n ${mixins.inputAndHelperCommonEditingStyles(t)};\n\n font-size: ${t.tokenFontSize};\n padding-bottom: ${t.tokenLegacyTextShift};\n `;\n },\n\n inputDisabled(t: Theme) {\n return css`\n pointer-events: none;\n /* fix text color in safari */\n -webkit-text-fill-color: currentcolor;\n color: ${t.tokenInputTextColorDisabled};\n `;\n },\n\n inputEditing(t: Theme) {\n return css`\n ${mixins.inputAndHelperCommonEditingStyles(t)};\n `;\n },\n\n reservedInput(t: Theme) {\n return css`\n min-width: 2px;\n min-height: ${t.tokenInputLineHeight};\n line-height: ${t.tokenInputLineHeight};\n font-size: ${t.tokenInputFontSize};\n margin: ${t.tokenMarginY} 0 ${t.tokenMarginY} 0;\n padding: 0 ${t.tokenInputInputPaddingRight} 0 ${t.tokenInputInputPaddingLeft};\n color: ${t.tokenInputTextColorDisabled};\n word-break: break-all;\n `;\n },\n});\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["TokenInputMenu.tsx"],"names":["React","ThemeFactory","Popup","ComboBoxMenu","ThemeContext","TokenInputMenu","menu","getMenuRef","getPopupMargin","paddingY","parseInt","theme","tokenInputPaddingY","outlineWidth","controlOutlineWidth","marginY","tokenMarginY","menuRef","node","render","create","popupMargin","renderMain","props","loading","maxMenuHeight","renderTotalCount","totalCount","opened","items","renderNotFound","renderItem","onValueChange","renderAddButton","anchorElement","menuWidth","menuAlign","undefined","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Popup } from '../../internal/Popup';\nimport { ComboBoxMenu, ComboBoxMenuProps } from '../../internal/CustomComboBox';\nimport { Menu } from '../../internal/Menu';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { TokenInputMenuAlign, TokenInputProps } from './TokenInput';\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n anchorElement: HTMLElement;\n menuWidth: TokenInputProps<string>['menuWidth'];\n menuAlign: TokenInputMenuAlign;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: this.getPopupMargin() + 'px',\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): any | null => this.menu;\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElement,\n menuWidth,\n menuAlign,\n } = this.props;\n\n return (\n <Popup\n opened={opened!}\n positions={['bottom left', 'top left']}\n anchorElement={anchorElement}\n popupOffset={menuAlign === 'left' ? 0 : 5}\n margin={menuAlign === 'left' ? 1 : undefined}\n hasShadow={true}\n width={menuAlign === 'cursor' ? 'auto' : menuWidth}\n withoutMobile\n >\n <ComboBoxMenu\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n />\n </Popup>\n );\n }\n\n private getPopupMargin = (): number => {\n const paddingY = parseInt(this.theme.tokenInputPaddingY, 10) || 0;\n const outlineWidth = parseInt(this.theme.controlOutlineWidth, 10) || 0;\n const marginY = parseInt(this.theme.tokenMarginY, 10) || 0;\n return paddingY + outlineWidth + marginY;\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"]}
1
+ {"version":3,"sources":["TokenInputMenu.tsx"],"names":["React","ThemeFactory","Popup","ComboBoxMenu","ThemeContext","TokenInputMenu","menu","getMenuRef","getPopupMargin","paddingY","parseInt","theme","tokenInputPaddingY","outlineWidth","controlOutlineWidth","marginY","tokenMarginY","menuRef","node","render","create","popupMargin","renderMain","props","loading","maxMenuHeight","renderTotalCount","totalCount","opened","items","renderNotFound","renderItem","onValueChange","renderAddButton","anchorElement","menuWidth","menuAlign","undefined","Component","__KONTUR_REACT_UI__"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { Popup } from '../../internal/Popup';\nimport { ComboBoxMenu, ComboBoxMenuProps } from '../../internal/CustomComboBox';\nimport { Menu } from '../../internal/Menu';\nimport { Theme } from '../../lib/theming/Theme';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\n\nimport { TokenInputMenuAlign, TokenInputProps } from './TokenInput';\n\nexport interface TokenInputMenuProps<T> extends ComboBoxMenuProps<T> {\n anchorElement: HTMLElement;\n menuWidth: TokenInputProps<string>['menuWidth'];\n menuAlign: TokenInputMenuAlign;\n}\n\nexport class TokenInputMenu<T = string> extends React.Component<TokenInputMenuProps<T>> {\n public static __KONTUR_REACT_UI__ = 'TokenInputMenu';\n\n private theme!: Theme;\n\n private menu: Menu | null = null;\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupMargin: this.getPopupMargin() + 'px',\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public getMenuRef = (): any | null => this.menu;\n\n private renderMain() {\n const {\n loading,\n maxMenuHeight,\n renderTotalCount,\n totalCount,\n opened,\n items,\n renderNotFound,\n renderItem,\n onValueChange,\n renderAddButton,\n anchorElement,\n menuWidth,\n menuAlign,\n } = this.props;\n\n return (\n <Popup\n opened={opened!}\n positions={['bottom left', 'top left']}\n anchorElement={anchorElement}\n popupOffset={menuAlign === 'left' ? 0 : 5}\n margin={menuAlign === 'left' ? 1 : undefined}\n hasShadow\n width={menuAlign === 'cursor' ? 'auto' : menuWidth}\n withoutMobile\n >\n <ComboBoxMenu\n items={items}\n loading={loading}\n maxMenuHeight={maxMenuHeight}\n onValueChange={onValueChange}\n opened={opened}\n refMenu={this.menuRef}\n renderTotalCount={renderTotalCount}\n renderItem={renderItem}\n renderNotFound={renderNotFound}\n totalCount={totalCount}\n renderAddButton={renderAddButton}\n />\n </Popup>\n );\n }\n\n private getPopupMargin = (): number => {\n const paddingY = parseInt(this.theme.tokenInputPaddingY, 10) || 0;\n const outlineWidth = parseInt(this.theme.controlOutlineWidth, 10) || 0;\n const marginY = parseInt(this.theme.tokenMarginY, 10) || 0;\n return paddingY + outlineWidth + marginY;\n };\n\n private menuRef = (node: any) => (this.menu = node);\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
3
2
  import _inheritsLoose from "@babel/runtime/helpers/esm/inheritsLoose";
4
3
 
5
4
  var _class, _class2, _temp;
@@ -16,7 +15,7 @@ import { ThemeContext } from "../../../lib/theming/ThemeContext";
16
15
  import { isTestEnv } from "../../../lib/currentEnvironment";
17
16
  import { CommonWrapper } from "../../../internal/CommonWrapper";
18
17
  import { responsiveLayout } from "../../ResponsiveLayout/decorator";
19
- import { getRootNode, rootNode } from "../../../lib/rootNode";
18
+ import { rootNode } from "../../../lib/rootNode";
20
19
  import { styles } from "../Tooltip.styles";
21
20
  var Positions = ['right bottom', 'right middle', 'right top', 'top right', 'top center', 'top left', 'left top', 'left middle', 'left bottom', 'bottom left', 'bottom center', 'bottom right'];
22
21
  export var Tooltip = rootNode(_class = responsiveLayout(_class = (_temp = _class2 = /*#__PURE__*/function (_React$PureComponent) {
@@ -38,6 +37,7 @@ export var Tooltip = rootNode(_class = responsiveLayout(_class = (_temp = _class
38
37
  _this.contentElement = null;
39
38
  _this.positions = null;
40
39
  _this.clickedOutside = true;
40
+ _this.popupRef = /*#__PURE__*/React.createRef();
41
41
 
42
42
  _this.renderContent = function () {
43
43
  var content = _this.props.render ? _this.props.render() : null;
@@ -52,8 +52,10 @@ export var Tooltip = rootNode(_class = responsiveLayout(_class = (_temp = _class
52
52
  }, content, _this.renderCloseButton());
53
53
  };
54
54
 
55
- _this.getRenderLayerAnchorElement = function () {
56
- return getRootNode(_assertThisInitialized(_this));
55
+ _this.getAnchorElement = function () {
56
+ var _this$popupRef$curren;
57
+
58
+ return (_this$popupRef$curren = _this.popupRef.current) == null ? void 0 : _this$popupRef$curren.anchorElement;
57
59
  };
58
60
 
59
61
  _this.mobileCloseHandler = function () {
@@ -223,13 +225,13 @@ export var Tooltip = rootNode(_class = responsiveLayout(_class = (_temp = _class
223
225
  className: styles.cross(this.theme),
224
226
  onClick: this.handleCloseButtonClick
225
227
  }, /*#__PURE__*/React.createElement(CrossIcon, null));
226
- }
228
+ };
227
229
  /**
228
230
  * Программно открывает тултип.
229
231
  * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>
230
232
  * @public
231
233
  */
232
- ;
234
+
233
235
 
234
236
  _proto.show = function show() {
235
237
  if (this.state.opened) return;
@@ -276,7 +278,7 @@ export var Tooltip = rootNode(_class = responsiveLayout(_class = (_temp = _class
276
278
  }
277
279
 
278
280
  return /*#__PURE__*/React.createElement(RenderLayer, _extends({}, layerProps, {
279
- getAnchorElement: this.getRenderLayerAnchorElement
281
+ getAnchorElement: this.getAnchorElement
280
282
  }), popup);
281
283
  };
282
284
 
@@ -295,7 +297,8 @@ export var Tooltip = rootNode(_class = responsiveLayout(_class = (_temp = _class
295
297
  onOpen: this.props.onOpen,
296
298
  onClose: this.props.onClose,
297
299
  mobileOnCloseRequest: this.mobileCloseHandler,
298
- tryPreserveFirstRenderedPosition: true
300
+ tryPreserveFirstRenderedPosition: true,
301
+ ref: this.popupRef
299
302
  }, popupProps), content));
300
303
  };
301
304
 
@@ -1 +1 @@
1
- {"version":3,"sources":["Tooltip.tsx"],"names":["React","warning","isEqual","ThemeFactory","DefaultPosition","Popup","RenderLayer","CrossIcon","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","responsiveLayout","getRootNode","rootNode","styles","Positions","Tooltip","state","opened","focused","hoverTimeout","contentElement","positions","clickedOutside","renderContent","content","props","render","refContent","tooltipContent","theme","renderCloseButton","getRenderLayerAnchorElement","mobileCloseHandler","trigger","close","node","open","setState","handleMouseEnter","event","isHoverAnchor","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","isMobileLayout","relatedTarget","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","componentDidUpdate","prevProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","cross","show","hide","getProps","popupProps","layerProps","active","anchorElement","children","popup","renderPopup","setRootNode","disableAnimations","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray","defaultProps","closeOnChildrenMouseLeave"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { DefaultPosition, Popup, PopupProps, PopupPositionsType } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { getRootNode, rootNode, TSetRootNode } from '../../lib/rootNode';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n /**\n * Значение по умолчанию: `\"top left\"`.\n */\n pos: PopupPositionsType;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: () => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n */\n allowedPositions: PopupPositionsType[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\n@rootNode\n@responsiveLayout\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n private isMobileLayout!: boolean;\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n closeOnChildrenMouseLeave: false,\n };\n\n public static delay = 100;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: Nullable<number> = null;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPositionsType[]> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: TooltipProps) {\n if (this.props.trigger === 'closed' && this.state.opened) {\n this.close();\n }\n\n const { allowedPositions, pos } = this.props;\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (content == null) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.props.trigger)\n : this.props.closeButton;\n\n if (!hasCross || this.isMobileLayout) {\n return null;\n }\n\n return (\n <div className={styles.cross(this.theme)} onClick={this.handleCloseButtonClick}>\n <CrossIcon />\n </div>\n );\n }\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) return;\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n if (this.isMobileLayout) {\n return popup;\n }\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getRenderLayerAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private getRenderLayerAnchorElement = () => {\n return getRootNode(this);\n };\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={this.props.disableAnimations}\n positions={this.getPositions()}\n ignoreHover={this.props.trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n mobileOnCloseRequest={this.mobileCloseHandler}\n tryPreserveFirstRenderedPosition\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private mobileCloseHandler = () => {\n if (this.props.trigger === 'manual' || this.props.trigger === 'closed' || this.props.trigger === 'opened') {\n return;\n }\n\n this.close();\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const allowedPositions = this.props.allowedPositions;\n const index = allowedPositions.indexOf(this.props.pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && props.useWrapper;\n\n switch (this.props.trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + props.trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.props.trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n\n this.hoverTimeout = window.setTimeout(this.open, Tooltip.delay);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.isMobileLayout) {\n return;\n }\n\n if (\n (this.props.trigger === 'hover&focus' && this.state.focused) ||\n (this.props.trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (this.props.trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = window.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && event.target instanceof Element) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n if (this.props.trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (this.props.trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n\n this.close();\n };\n}\n"]}
1
+ {"version":3,"sources":["Tooltip.tsx"],"names":["React","warning","isEqual","ThemeFactory","DefaultPosition","Popup","RenderLayer","CrossIcon","containsTargetOrRenderContainer","ThemeContext","isTestEnv","CommonWrapper","responsiveLayout","rootNode","styles","Positions","Tooltip","state","opened","focused","hoverTimeout","contentElement","positions","clickedOutside","popupRef","createRef","renderContent","content","props","render","refContent","tooltipContent","theme","renderCloseButton","getAnchorElement","current","anchorElement","mobileCloseHandler","trigger","close","node","open","setState","handleMouseEnter","event","isHoverAnchor","target","clearHoverTimeout","window","setTimeout","delay","handleMouseLeave","isMobileLayout","relatedTarget","handleClick","handleClickOutsideAnchor","isClickOutsideContent","onCloseRequest","handleFocus","handleBlur","handleCloseButtonClick","stopPropagation","onCloseClick","defaultPrevented","componentDidUpdate","prevProps","allowedPositions","pos","posChanged","allowedChanged","componentWillUnmount","create","popupPinOffset","tooltipPinOffset","popupMargin","tooltipMargin","popupBorder","tooltipBorder","popupBorderRadius","tooltipBorderRadius","popupPinSize","tooltipPinSize","popupPinOffsetX","tooltipPinOffsetX","popupPinOffsetY","tooltipPinOffsetY","renderMain","hasCross","closeButton","undefined","triggersWithoutCloseButton","includes","cross","show","hide","getProps","popupProps","layerProps","active","children","popup","renderPopup","setRootNode","disableAnimations","getPositions","onOpen","onClose","index","indexOf","Error","join","slice","useWrapper","onClickOutside","onMouseEnter","onMouseLeave","onClick","onFocus","onBlur","clearTimeout","Element","PureComponent","__KONTUR_REACT_UI__","propTypes","propName","componentName","Array","isArray","defaultProps","closeOnChildrenMouseLeave"],"mappings":"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","sourcesContent":["import React from 'react';\nimport warning from 'warning';\nimport isEqual from 'lodash.isequal';\n\nimport { ThemeFactory } from '../../lib/theming/ThemeFactory';\nimport { DefaultPosition, Popup, PopupProps, PopupPositionsType } from '../../internal/Popup';\nimport { RenderLayer, RenderLayerProps } from '../../internal/RenderLayer';\nimport { CrossIcon } from '../../internal/icons/CrossIcon';\nimport { Nullable } from '../../typings/utility-types';\nimport { MouseEventType } from '../../typings/event-types';\nimport { containsTargetOrRenderContainer } from '../../lib/listenFocusOutside';\nimport { ThemeContext } from '../../lib/theming/ThemeContext';\nimport { Theme } from '../../lib/theming/Theme';\nimport { isTestEnv } from '../../lib/currentEnvironment';\nimport { CommonProps, CommonWrapper } from '../../internal/CommonWrapper';\nimport { responsiveLayout } from '../ResponsiveLayout/decorator';\nimport { rootNode, TSetRootNode } from '../../lib/rootNode';\nimport { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement';\n\nimport { styles } from './Tooltip.styles';\n\nexport type TooltipTrigger =\n /** Наведение на children и на тултип */\n | 'hover'\n /** Клик на children */\n | 'click'\n /** Фокус на children */\n | 'focus'\n /** Наведение на children и на тултип и фокус на children */\n | 'hover&focus'\n /** Просто открыт */\n | 'opened'\n /** Просто закрыт */\n | 'closed'\n /** Наведение ТОЛЬКО на children, а не на тултип */\n | 'hoverAnchor'\n /** Управление через публичные функции show и hide */\n | 'manual';\n\nexport interface TooltipProps extends CommonProps {\n /**\n * Относительно какого элемента позиционировать тултип\n */\n anchorElement?: HTMLElement;\n\n /**\n * Если не указан `anchorElement` то тултип будет позиционироваться\n * относительно дочерних элементов\n */\n children?: React.ReactNode;\n\n className?: string;\n\n /**\n * Показывать крестик для закрытия тултипа. По-умолчанию крестик\n * показывается если проп *trigger* не `hover` и не `focus`.\n */\n closeButton?: boolean;\n\n /**\n * Функция, которая возвращает содержимое тултипа.\n *\n * Если эта функция вернула `null`, то тултип не показывается.\n */\n render?: Nullable<() => React.ReactNode>;\n\n /**\n * Значение по умолчанию: `\"top left\"`.\n */\n pos: PopupPositionsType;\n\n /**\n * Триггер открытия тултипа\n * ```ts\n * type TooltipTrigger =\n * | 'hover'\n * | 'click'\n * | 'focus'\n * | 'hover&focus'\n * | 'opened'\n * | 'closed'\n * | 'hoverAnchor'\n * | 'manual';\n * ```\n */\n trigger: TooltipTrigger;\n\n /**\n * Хэндлер, вызываемый при клике по крестику\n */\n onCloseClick?: React.MouseEventHandler<HTMLElement>;\n\n /**\n * Хэндлер, вызываемый при клике по крестику или\n * снаружи тултипа\n */\n onCloseRequest?: () => void;\n\n /**\n * Хэндлер, вызываемый при закрытии тултипа\n */\n onClose?: () => void;\n\n /**\n * Хэндлер, вызываемый при открытии тултипа\n */\n onOpen?: () => void;\n\n /**\n * Список позиций, которые тултип будет занимать.\n * Если положение тултипа в определенной позиции\n * будет выходить за край экрана, то будет выбрана\n * следующая позиция. Обязательно должен включать\n * позицию указанную в `pos`\n */\n allowedPositions: PopupPositionsType[];\n\n /**\n * Флаг отключения анимации.\n * @default false\n */\n disableAnimations: boolean;\n\n /**\n * Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`. <br/> Используется для корректного позиционирования тултипа при двух и более вложенных элементах.\n *\n * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически.\n */\n useWrapper: boolean;\n}\n\nexport interface TooltipState {\n opened: boolean;\n focused: boolean;\n}\n\nconst Positions: PopupPositionsType[] = [\n 'right bottom',\n 'right middle',\n 'right top',\n 'top right',\n 'top center',\n 'top left',\n 'left top',\n 'left middle',\n 'left bottom',\n 'bottom left',\n 'bottom center',\n 'bottom right',\n];\n\n@rootNode\n@responsiveLayout\nexport class Tooltip extends React.PureComponent<TooltipProps, TooltipState> implements InstanceWithAnchorElement {\n public static __KONTUR_REACT_UI__ = 'Tooltip';\n\n private isMobileLayout!: boolean;\n\n public static propTypes = {\n children(props: TooltipProps, propName: keyof TooltipProps, componentName: string) {\n const children = props[propName];\n warning(\n children || props.anchorElement,\n `[${componentName}]: you must provide either 'children' or 'anchorElement' prop for ${componentName} to work properly`,\n );\n warning(\n !(Array.isArray(children) && props.useWrapper === false),\n `[${componentName}]: you provided multiple children, but useWrapper={false} - forcing wrapper <span/> for positioning to work correctly`,\n );\n },\n };\n\n public static defaultProps = {\n pos: DefaultPosition,\n trigger: 'hover',\n allowedPositions: Positions,\n disableAnimations: isTestEnv,\n useWrapper: false,\n closeOnChildrenMouseLeave: false,\n };\n\n public static delay = 100;\n private static triggersWithoutCloseButton: TooltipTrigger[] = ['hover', 'hoverAnchor', 'focus', 'hover&focus'];\n\n public state: TooltipState = { opened: false, focused: false };\n private theme!: Theme;\n private hoverTimeout: Nullable<number> = null;\n private contentElement: Nullable<HTMLElement> = null;\n private positions: Nullable<PopupPositionsType[]> = null;\n private clickedOutside = true;\n private setRootNode!: TSetRootNode;\n\n private popupRef = React.createRef<Popup>();\n public componentDidUpdate(prevProps: TooltipProps) {\n if (this.props.trigger === 'closed' && this.state.opened) {\n this.close();\n }\n\n const { allowedPositions, pos } = this.props;\n const posChanged = prevProps.pos !== pos;\n const allowedChanged = !isEqual(prevProps.allowedPositions, allowedPositions);\n\n if (posChanged || allowedChanged) {\n this.positions = null;\n }\n }\n\n public componentWillUnmount() {\n this.clearHoverTimeout();\n }\n\n public render() {\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <ThemeContext.Provider\n value={ThemeFactory.create(\n {\n popupPinOffset: theme.tooltipPinOffset,\n popupMargin: theme.tooltipMargin,\n popupBorder: theme.tooltipBorder,\n popupBorderRadius: theme.tooltipBorderRadius,\n popupPinSize: theme.tooltipPinSize,\n popupPinOffsetX: theme.tooltipPinOffsetX,\n popupPinOffsetY: theme.tooltipPinOffsetY,\n },\n theme,\n )}\n >\n {this.renderMain()}\n </ThemeContext.Provider>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n public renderContent = () => {\n const content = this.props.render ? this.props.render() : null;\n if (content == null) {\n return null;\n }\n\n return (\n <div ref={this.refContent} className={styles.tooltipContent(this.theme)}>\n {content}\n {this.renderCloseButton()}\n </div>\n );\n };\n\n public renderCloseButton() {\n const hasCross =\n this.props.closeButton === undefined\n ? !Tooltip.triggersWithoutCloseButton.includes(this.props.trigger)\n : this.props.closeButton;\n\n if (!hasCross || this.isMobileLayout) {\n return null;\n }\n\n return (\n <div className={styles.cross(this.theme)} onClick={this.handleCloseButtonClick}>\n <CrossIcon />\n </div>\n );\n }\n\n public getAnchorElement = (): Nullable<HTMLElement> => {\n return this.popupRef.current?.anchorElement;\n };\n\n /**\n * Программно открывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public show() {\n if (this.state.opened) return;\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'show' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.open();\n }\n\n /**\n * Программно закрывает тултип.\n * <p>Не действует если проп *trigger* `'opened'` или `'closed'`.</p>\n * @public\n */\n public hide() {\n if (this.props.trigger === 'opened' || this.props.trigger === 'closed') {\n warning(true, `Function 'hide' is not supported with trigger specified '${this.props.trigger}'`);\n return;\n }\n this.close();\n }\n\n private renderMain() {\n const props = this.props;\n const content = this.renderContent();\n const { popupProps, layerProps = { active: false } } = this.getProps();\n const anchorElement = props.children || props.anchorElement;\n const popup = this.renderPopup(anchorElement, popupProps, content);\n\n if (this.isMobileLayout) {\n return popup;\n }\n\n return (\n <RenderLayer {...layerProps} getAnchorElement={this.getAnchorElement}>\n {popup}\n </RenderLayer>\n );\n }\n\n private renderPopup(\n anchorElement: React.ReactNode | HTMLElement,\n popupProps: Partial<PopupProps>,\n content: JSX.Element | null,\n ) {\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <Popup\n anchorElement={anchorElement}\n hasPin\n hasShadow\n maxWidth=\"none\"\n opened={this.state.opened}\n disableAnimations={this.props.disableAnimations}\n positions={this.getPositions()}\n ignoreHover={this.props.trigger === 'hoverAnchor'}\n onOpen={this.props.onOpen}\n onClose={this.props.onClose}\n mobileOnCloseRequest={this.mobileCloseHandler}\n tryPreserveFirstRenderedPosition\n ref={this.popupRef}\n {...popupProps}\n >\n {content}\n </Popup>\n </CommonWrapper>\n );\n }\n\n private mobileCloseHandler = () => {\n if (this.props.trigger === 'manual' || this.props.trigger === 'closed' || this.props.trigger === 'opened') {\n return;\n }\n\n this.close();\n };\n\n private refContent = (node: HTMLElement | null) => {\n this.contentElement = node;\n };\n\n private getPositions() {\n if (!this.positions) {\n const allowedPositions = this.props.allowedPositions;\n const index = allowedPositions.indexOf(this.props.pos);\n if (index === -1) {\n throw new Error('Unexpected position passed to Tooltip. Expected one of: ' + allowedPositions.join(', '));\n }\n\n this.positions = [...allowedPositions.slice(index), ...allowedPositions.slice(0, index)];\n }\n\n return this.positions;\n }\n\n private getProps(): {\n layerProps?: Partial<RenderLayerProps>;\n popupProps: Partial<PopupProps>;\n } {\n const props = this.props;\n const useWrapper = !!props.children && props.useWrapper;\n\n switch (this.props.trigger) {\n case 'opened':\n return {\n layerProps: {\n active: true,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n opened: true,\n useWrapper,\n },\n };\n\n case 'closed':\n return {\n popupProps: {\n opened: false,\n useWrapper,\n },\n };\n\n case 'hoverAnchor':\n case 'hover':\n return {\n popupProps: {\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n case 'manual':\n return {\n popupProps: {\n useWrapper,\n },\n };\n case 'click':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onClick: this.handleClick,\n useWrapper,\n },\n };\n\n case 'focus':\n return {\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n useWrapper,\n },\n };\n\n case 'hover&focus':\n return {\n layerProps: {\n active: this.state.opened,\n onClickOutside: this.handleClickOutsideAnchor,\n },\n popupProps: {\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave,\n useWrapper,\n },\n };\n\n default:\n throw new Error('Unknown trigger specified: ' + props.trigger);\n }\n }\n\n private open = () => this.setState({ opened: true });\n\n private close = () => this.setState({ opened: false });\n\n private clearHoverTimeout() {\n if (this.hoverTimeout) {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = null;\n }\n }\n\n private handleMouseEnter = (event: MouseEventType) => {\n const isHoverAnchor = this.props.trigger === 'hoverAnchor';\n if (isHoverAnchor && event.target === this.contentElement) {\n return;\n }\n\n this.clearHoverTimeout();\n\n this.hoverTimeout = window.setTimeout(this.open, Tooltip.delay);\n };\n\n private handleMouseLeave = (event: MouseEventType) => {\n if (this.isMobileLayout) {\n return;\n }\n\n if (\n (this.props.trigger === 'hover&focus' && this.state.focused) ||\n (this.props.trigger === 'hover' && event.relatedTarget === this.contentElement)\n ) {\n return;\n }\n\n this.clearHoverTimeout();\n\n if (this.props.trigger === 'hoverAnchor') {\n this.close();\n } else {\n this.hoverTimeout = window.setTimeout(this.close, Tooltip.delay);\n }\n };\n\n private handleClick = () => {\n this.open();\n };\n\n private handleClickOutsideAnchor = (event: Event) => {\n this.clickedOutside = this.isClickOutsideContent(event);\n if (this.clickedOutside) {\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n this.close();\n }\n };\n\n private isClickOutsideContent(event: Event) {\n if (this.contentElement && event.target instanceof Element) {\n return !containsTargetOrRenderContainer(event.target)(this.contentElement);\n }\n\n return true;\n }\n\n private handleFocus = () => {\n this.setState({ focused: true });\n this.open();\n };\n\n private handleBlur = () => {\n if (this.props.trigger === 'hover&focus' && this.clickedOutside) {\n this.close();\n }\n\n if (this.props.trigger === 'focus') {\n this.close();\n }\n\n this.clickedOutside = true;\n this.setState({ focused: false });\n };\n\n private handleCloseButtonClick = (event: React.MouseEvent<HTMLElement>) => {\n event.stopPropagation();\n\n if (this.props.onCloseClick) {\n this.props.onCloseClick(event);\n }\n\n if (event.defaultPrevented) {\n return;\n }\n\n if (this.props.onCloseRequest) {\n this.props.onCloseRequest();\n }\n\n this.close();\n };\n}\n"]}