@skbkontur/react-ui 0.0.0-2ac4c133dd → 0.0.0-2dd5039746

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 (1102) hide show
  1. package/CHANGELOG.md +309 -0
  2. package/README.md +29 -25
  3. package/cjs/components/Autocomplete/Autocomplete.d.ts +13 -18
  4. package/cjs/components/Autocomplete/Autocomplete.js +47 -10
  5. package/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  6. package/cjs/components/Autocomplete/Autocomplete.md +15 -1
  7. package/cjs/components/Autocomplete/locale/index.d.ts +4 -0
  8. package/cjs/components/Autocomplete/locale/index.js +11 -0
  9. package/cjs/components/Autocomplete/locale/index.js.map +1 -0
  10. package/cjs/components/Autocomplete/locale/locales/en.d.ts +2 -0
  11. package/cjs/components/Autocomplete/locale/locales/en.js +6 -0
  12. package/cjs/components/Autocomplete/locale/locales/en.js.map +1 -0
  13. package/cjs/components/Autocomplete/locale/locales/ru.d.ts +2 -0
  14. package/cjs/components/Autocomplete/locale/locales/ru.js +6 -0
  15. package/cjs/components/Autocomplete/locale/locales/ru.js.map +1 -0
  16. package/cjs/components/Autocomplete/locale/types.d.ts +5 -0
  17. package/cjs/components/Autocomplete/locale/types.js +1 -0
  18. package/cjs/components/Autocomplete/locale/types.js.map +1 -0
  19. package/cjs/components/Button/Button.d.ts +9 -6
  20. package/cjs/components/Button/Button.js +14 -3
  21. package/cjs/components/Button/Button.js.map +1 -1
  22. package/cjs/components/Button/Button.mixins.js +1 -1
  23. package/cjs/components/Button/Button.mixins.js.map +1 -1
  24. package/cjs/components/Button/Button.styles.js +18 -18
  25. package/cjs/components/Button/Button.styles.js.map +1 -1
  26. package/cjs/components/Center/Center.d.ts +4 -3
  27. package/cjs/components/Center/Center.js +9 -3
  28. package/cjs/components/Center/Center.js.map +1 -1
  29. package/cjs/components/Checkbox/Checkbox.d.ts +5 -1
  30. package/cjs/components/Checkbox/Checkbox.js +12 -5
  31. package/cjs/components/Checkbox/Checkbox.js.map +1 -1
  32. package/cjs/components/Checkbox/Checkbox.md +49 -1
  33. package/cjs/components/Checkbox/Checkbox.styles.d.ts +1 -1
  34. package/cjs/components/Checkbox/Checkbox.styles.js +1 -1
  35. package/cjs/components/Checkbox/Checkbox.styles.js.map +1 -1
  36. package/cjs/components/ComboBox/ComboBox.d.ts +30 -15
  37. package/cjs/components/ComboBox/ComboBox.js +34 -2
  38. package/cjs/components/ComboBox/ComboBox.js.map +1 -1
  39. package/cjs/components/ComboBox/ComboBox.md +84 -1
  40. package/cjs/components/CurrencyInput/CurrencyHelper.js +1 -1
  41. package/cjs/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  42. package/cjs/components/CurrencyInput/CurrencyInput.d.ts +6 -9
  43. package/cjs/components/CurrencyInput/CurrencyInput.js +29 -11
  44. package/cjs/components/CurrencyInput/CurrencyInput.js.map +1 -1
  45. package/cjs/components/CurrencyInput/CurrencyInput.md +13 -0
  46. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
  47. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js +14 -2
  48. package/cjs/components/CurrencyInput/CurrencyInputKeyboardActions.js.map +1 -1
  49. package/cjs/components/CurrencyInput/constants.d.ts +3 -0
  50. package/cjs/components/CurrencyInput/constants.js +6 -2
  51. package/cjs/components/CurrencyInput/constants.js.map +1 -1
  52. package/cjs/components/CurrencyLabel/CurrencyLabel.d.ts +5 -9
  53. package/cjs/components/CurrencyLabel/CurrencyLabel.js +18 -15
  54. package/cjs/components/CurrencyLabel/CurrencyLabel.js.map +1 -1
  55. package/cjs/components/CurrencyLabel/CurrencyLabel.md +6 -0
  56. package/cjs/components/DateInput/DateFragmentsView.d.ts +1 -1
  57. package/cjs/components/DateInput/DateFragmentsView.js +10 -1
  58. package/cjs/components/DateInput/DateFragmentsView.js.map +1 -1
  59. package/cjs/components/DateInput/DateInput.d.ts +9 -12
  60. package/cjs/components/DateInput/DateInput.js +11 -3
  61. package/cjs/components/DateInput/DateInput.js.map +1 -1
  62. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js +1 -2
  63. package/cjs/components/DateInput/helpers/DateInputKeyboardActions.js.map +1 -1
  64. package/cjs/components/DateInput/helpers/SelectionHelpers.js +2 -2
  65. package/cjs/components/DateInput/helpers/SelectionHelpers.js.map +1 -1
  66. package/cjs/components/DatePicker/DatePicker.d.ts +14 -16
  67. package/cjs/components/DatePicker/DatePicker.js +24 -11
  68. package/cjs/components/DatePicker/DatePicker.js.map +1 -1
  69. package/cjs/components/DatePicker/DatePicker.md +18 -0
  70. package/cjs/components/DatePicker/Picker.js +5 -1
  71. package/cjs/components/DatePicker/Picker.js.map +1 -1
  72. package/cjs/components/Dropdown/Dropdown.d.ts +8 -2
  73. package/cjs/components/Dropdown/Dropdown.js +30 -4
  74. package/cjs/components/Dropdown/Dropdown.js.map +1 -1
  75. package/cjs/components/DropdownMenu/DropdownMenu.d.ts +7 -7
  76. package/cjs/components/DropdownMenu/DropdownMenu.js +9 -3
  77. package/cjs/components/DropdownMenu/DropdownMenu.js.map +1 -1
  78. package/cjs/components/DropdownMenu/DropdownMenu.md +68 -1
  79. package/cjs/components/FileUploader/FileUploader.d.ts +11 -2
  80. package/cjs/components/FileUploader/FileUploader.js +83 -20
  81. package/cjs/components/FileUploader/FileUploader.js.map +1 -1
  82. package/cjs/components/FileUploader/FileUploader.md +13 -1
  83. package/cjs/components/FileUploader/FileUploader.mixins.d.ts +1 -0
  84. package/cjs/components/FileUploader/FileUploader.mixins.js +10 -0
  85. package/cjs/components/FileUploader/FileUploader.mixins.js.map +1 -0
  86. package/cjs/components/FileUploader/FileUploader.styles.d.ts +12 -1
  87. package/cjs/components/FileUploader/FileUploader.styles.js +119 -22
  88. package/cjs/components/FileUploader/FileUploader.styles.js.map +1 -1
  89. package/cjs/components/FxInput/FxInput.d.ts +6 -6
  90. package/cjs/components/FxInput/FxInput.js +16 -11
  91. package/cjs/components/FxInput/FxInput.js.map +1 -1
  92. package/cjs/components/FxInput/FxInput.md +13 -0
  93. package/cjs/components/Gapped/Gapped.d.ts +7 -8
  94. package/cjs/components/Gapped/Gapped.js +12 -6
  95. package/cjs/components/Gapped/Gapped.js.map +1 -1
  96. package/cjs/components/GlobalLoader/GlobalLoader.d.ts +7 -14
  97. package/cjs/components/GlobalLoader/GlobalLoader.js +13 -9
  98. package/cjs/components/GlobalLoader/GlobalLoader.js.map +1 -1
  99. package/cjs/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  100. package/cjs/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  101. package/cjs/components/Group/Group.d.ts +1 -0
  102. package/cjs/components/Group/Group.js +7 -11
  103. package/cjs/components/Group/Group.js.map +1 -1
  104. package/cjs/components/Hint/Hint.d.ts +9 -15
  105. package/cjs/components/Hint/Hint.js +14 -25
  106. package/cjs/components/Hint/Hint.js.map +1 -1
  107. package/cjs/components/Hint/Hint.md +43 -0
  108. package/cjs/components/Hint/Hint.styles.d.ts +0 -1
  109. package/cjs/components/Hint/Hint.styles.js +2 -10
  110. package/cjs/components/Hint/Hint.styles.js.map +1 -1
  111. package/cjs/components/Input/Input.d.ts +9 -4
  112. package/cjs/components/Input/Input.js +26 -9
  113. package/cjs/components/Input/Input.js.map +1 -1
  114. package/cjs/components/Input/Input.md +17 -1
  115. package/cjs/components/Input/Input.styles.d.ts +1 -0
  116. package/cjs/components/Input/Input.styles.js +17 -10
  117. package/cjs/components/Input/Input.styles.js.map +1 -1
  118. package/cjs/components/Kebab/Kebab.d.ts +13 -16
  119. package/cjs/components/Kebab/Kebab.js +20 -6
  120. package/cjs/components/Kebab/Kebab.js.map +1 -1
  121. package/cjs/components/Link/Link.d.ts +5 -7
  122. package/cjs/components/Link/Link.js +12 -5
  123. package/cjs/components/Link/Link.js.map +1 -1
  124. package/cjs/components/Loader/Loader.d.ts +20 -7
  125. package/cjs/components/Loader/Loader.js +25 -5
  126. package/cjs/components/Loader/Loader.js.map +1 -1
  127. package/cjs/components/Loader/Loader.md +30 -23
  128. package/cjs/components/Loader/__stories__/LoaderAndButton.js +6 -0
  129. package/cjs/components/Loader/__stories__/LoaderAndButton.js.map +1 -1
  130. package/cjs/components/MenuHeader/MenuHeader.d.ts +1 -1
  131. package/cjs/components/MenuHeader/MenuHeader.js +1 -1
  132. package/cjs/components/MenuHeader/MenuHeader.js.map +1 -1
  133. package/cjs/components/MenuItem/MenuItem.d.ts +19 -3
  134. package/cjs/components/MenuItem/MenuItem.js +75 -28
  135. package/cjs/components/MenuItem/MenuItem.js.map +1 -1
  136. package/cjs/components/MenuItem/MenuItem.styles.d.ts +5 -0
  137. package/cjs/components/MenuItem/MenuItem.styles.js +34 -14
  138. package/cjs/components/MenuItem/MenuItem.styles.js.map +1 -1
  139. package/cjs/components/MenuSeparator/MenuSeparator.d.ts +1 -1
  140. package/cjs/components/MenuSeparator/MenuSeparator.js +13 -2
  141. package/cjs/components/MenuSeparator/MenuSeparator.js.map +1 -1
  142. package/cjs/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -0
  143. package/cjs/components/MenuSeparator/MenuSeparator.styles.js +8 -1
  144. package/cjs/components/MenuSeparator/MenuSeparator.styles.js.map +1 -1
  145. package/cjs/components/Modal/Modal.d.ts +4 -3
  146. package/cjs/components/Modal/Modal.js +9 -8
  147. package/cjs/components/Modal/Modal.js.map +1 -1
  148. package/cjs/components/Modal/Modal.styles.d.ts +2 -2
  149. package/cjs/components/Modal/Modal.styles.js +3 -3
  150. package/cjs/components/Modal/Modal.styles.js.map +1 -1
  151. package/cjs/components/Modal/ModalBody.js +2 -2
  152. package/cjs/components/Modal/ModalBody.js.map +1 -1
  153. package/cjs/components/Modal/ModalFooter.d.ts +14 -0
  154. package/cjs/components/Modal/ModalFooter.js +23 -2
  155. package/cjs/components/Modal/ModalFooter.js.map +1 -1
  156. package/cjs/components/Modal/ModalHeader.js +1 -1
  157. package/cjs/components/Modal/ModalHeader.js.map +1 -1
  158. package/cjs/components/Paging/Paging.d.ts +7 -10
  159. package/cjs/components/Paging/Paging.js +34 -19
  160. package/cjs/components/Paging/Paging.js.map +1 -1
  161. package/cjs/components/Paging/Paging.md +13 -0
  162. package/cjs/components/Paging/Paging.styles.d.ts +6 -2
  163. package/cjs/components/Paging/Paging.styles.js +41 -15
  164. package/cjs/components/Paging/Paging.styles.js.map +1 -1
  165. package/cjs/components/Paging/PagingDefaultComponent.d.ts +3 -3
  166. package/cjs/components/Paging/PagingDefaultComponent.js.map +1 -1
  167. package/cjs/components/PasswordInput/PasswordInput.d.ts +4 -3
  168. package/cjs/components/PasswordInput/PasswordInput.js +14 -7
  169. package/cjs/components/PasswordInput/PasswordInput.js.map +1 -1
  170. package/cjs/components/Radio/Radio.d.ts +4 -3
  171. package/cjs/components/Radio/Radio.js +11 -4
  172. package/cjs/components/Radio/Radio.js.map +1 -1
  173. package/cjs/components/RadioGroup/RadioGroup.d.ts +7 -19
  174. package/cjs/components/RadioGroup/RadioGroup.js +19 -20
  175. package/cjs/components/RadioGroup/RadioGroup.js.map +1 -1
  176. package/cjs/components/ResponsiveLayout/ResponsiveLayout.d.ts +6 -5
  177. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js +5 -9
  178. package/cjs/components/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  179. package/cjs/components/ResponsiveLayout/ResponsiveLayout.md +31 -0
  180. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js +16 -13
  181. package/cjs/components/ResponsiveLayout/ResponsiveLayoutEvents.js.map +1 -1
  182. package/cjs/components/ResponsiveLayout/decorator.d.ts +1 -1
  183. package/cjs/components/ResponsiveLayout/types.d.ts +9 -1
  184. package/cjs/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  185. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js +31 -15
  186. package/cjs/components/ResponsiveLayout/useResponsiveLayout.js.map +1 -1
  187. package/cjs/components/ScrollContainer/ScrollBar.d.ts +12 -2
  188. package/cjs/components/ScrollContainer/ScrollBar.js +67 -10
  189. package/cjs/components/ScrollContainer/ScrollBar.js.map +1 -1
  190. package/cjs/components/ScrollContainer/ScrollContainer.constants.js +3 -2
  191. package/cjs/components/ScrollContainer/ScrollContainer.constants.js.map +1 -1
  192. package/cjs/components/ScrollContainer/ScrollContainer.d.ts +29 -8
  193. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js +8 -4
  194. package/cjs/components/ScrollContainer/ScrollContainer.helpers.js.map +1 -1
  195. package/cjs/components/ScrollContainer/ScrollContainer.js +56 -11
  196. package/cjs/components/ScrollContainer/ScrollContainer.js.map +1 -1
  197. package/cjs/components/ScrollContainer/ScrollContainer.md +52 -0
  198. package/cjs/components/ScrollContainer/ScrollContainer.styles.d.ts +9 -0
  199. package/cjs/components/ScrollContainer/ScrollContainer.styles.js +48 -21
  200. package/cjs/components/ScrollContainer/ScrollContainer.styles.js.map +1 -1
  201. package/cjs/components/Select/Item.d.ts +4 -2
  202. package/cjs/components/Select/Item.js +3 -0
  203. package/cjs/components/Select/Item.js.map +1 -1
  204. package/cjs/components/Select/Select.d.ts +13 -38
  205. package/cjs/components/Select/Select.js +21 -22
  206. package/cjs/components/Select/Select.js.map +1 -1
  207. package/cjs/components/Select/Select.md +14 -0
  208. package/cjs/components/Select/Select.styles.js +4 -4
  209. package/cjs/components/Select/Select.styles.js.map +1 -1
  210. package/cjs/components/Select/selectTheme.js +2 -0
  211. package/cjs/components/Select/selectTheme.js.map +1 -1
  212. package/cjs/components/SidePage/SidePage.d.ts +9 -6
  213. package/cjs/components/SidePage/SidePage.js +12 -1
  214. package/cjs/components/SidePage/SidePage.js.map +1 -1
  215. package/cjs/components/SidePage/SidePageFooter.d.ts +15 -5
  216. package/cjs/components/SidePage/SidePageFooter.js +20 -1
  217. package/cjs/components/SidePage/SidePageFooter.js.map +1 -1
  218. package/cjs/components/SidePage/SidePageHeader.d.ts +1 -1
  219. package/cjs/components/SidePage/SidePageHeader.js +1 -1
  220. package/cjs/components/SidePage/SidePageHeader.js.map +1 -1
  221. package/cjs/components/Spinner/Spinner.d.ts +15 -4
  222. package/cjs/components/Spinner/Spinner.js +20 -5
  223. package/cjs/components/Spinner/Spinner.js.map +1 -1
  224. package/cjs/components/Spinner/Spinner.styles.d.ts +1 -1
  225. package/cjs/components/Spinner/Spinner.styles.js +7 -7
  226. package/cjs/components/Spinner/Spinner.styles.js.map +1 -1
  227. package/cjs/components/Sticky/Sticky.d.ts +7 -6
  228. package/cjs/components/Sticky/Sticky.js +10 -3
  229. package/cjs/components/Sticky/Sticky.js.map +1 -1
  230. package/cjs/components/Switcher/Switcher.d.ts +12 -3
  231. package/cjs/components/Switcher/Switcher.js +69 -35
  232. package/cjs/components/Switcher/Switcher.js.map +1 -1
  233. package/cjs/components/Switcher/Switcher.md +97 -0
  234. package/cjs/components/Switcher/helpers.d.ts +1 -0
  235. package/cjs/components/Switcher/helpers.js +1 -0
  236. package/cjs/components/Switcher/helpers.js.map +1 -0
  237. package/cjs/components/Tabs/Indicator.d.ts +1 -1
  238. package/cjs/components/Tabs/Indicator.js +1 -1
  239. package/cjs/components/Tabs/Indicator.js.map +1 -1
  240. package/cjs/components/Tabs/Tab.d.ts +9 -13
  241. package/cjs/components/Tabs/Tab.js +14 -19
  242. package/cjs/components/Tabs/Tab.js.map +1 -1
  243. package/cjs/components/Tabs/Tabs.d.ts +9 -13
  244. package/cjs/components/Tabs/Tabs.js +17 -10
  245. package/cjs/components/Tabs/Tabs.js.map +1 -1
  246. package/cjs/components/Textarea/Textarea.d.ts +9 -10
  247. package/cjs/components/Textarea/Textarea.js +14 -7
  248. package/cjs/components/Textarea/Textarea.js.map +1 -1
  249. package/cjs/components/Textarea/Textarea.md +19 -0
  250. package/cjs/components/Textarea/TextareaCounter.d.ts +2 -2
  251. package/cjs/components/Textarea/TextareaCounter.js +5 -1
  252. package/cjs/components/Textarea/TextareaCounter.js.map +1 -1
  253. package/cjs/components/Toast/Toast.d.ts +6 -3
  254. package/cjs/components/Toast/Toast.js +16 -9
  255. package/cjs/components/Toast/Toast.js.map +1 -1
  256. package/cjs/components/Toast/Toast.md +129 -0
  257. package/cjs/components/Toast/ToastStatic.d.ts +3 -2
  258. package/cjs/components/Toast/ToastStatic.js +5 -5
  259. package/cjs/components/Toast/ToastStatic.js.map +1 -1
  260. package/cjs/components/Toggle/Toggle.d.ts +10 -7
  261. package/cjs/components/Toggle/Toggle.js +16 -4
  262. package/cjs/components/Toggle/Toggle.js.map +1 -1
  263. package/cjs/components/Token/Token.d.ts +6 -1
  264. package/cjs/components/Token/Token.js +13 -2
  265. package/cjs/components/Token/Token.js.map +1 -1
  266. package/cjs/components/Token/Token.styles.js +2 -1
  267. package/cjs/components/Token/Token.styles.js.map +1 -1
  268. package/cjs/components/TokenInput/TokenInput.d.ts +27 -17
  269. package/cjs/components/TokenInput/TokenInput.js +141 -68
  270. package/cjs/components/TokenInput/TokenInput.js.map +1 -1
  271. package/cjs/components/TokenInput/TokenInput.md +26 -0
  272. package/cjs/components/TokenInput/TokenInput.styles.js +2 -1
  273. package/cjs/components/TokenInput/TokenInput.styles.js.map +1 -1
  274. package/cjs/components/TokenInput/TokenInputMenu.d.ts +2 -1
  275. package/cjs/components/TokenInput/TokenInputMenu.js +1 -1
  276. package/cjs/components/TokenInput/TokenInputMenu.js.map +1 -1
  277. package/cjs/components/Tooltip/Tooltip.d.ts +14 -21
  278. package/cjs/components/Tooltip/Tooltip.js +26 -38
  279. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  280. package/cjs/components/TooltipMenu/TooltipMenu.d.ts +8 -7
  281. package/cjs/components/TooltipMenu/TooltipMenu.js +11 -5
  282. package/cjs/components/TooltipMenu/TooltipMenu.js.map +1 -1
  283. package/cjs/components/TooltipMenu/TooltipMenu.md +28 -1
  284. package/cjs/hooks/useEffectWithoutInitCall.d.ts +2 -2
  285. package/cjs/hooks/useEffectWithoutInitCall.js +2 -2
  286. package/cjs/hooks/useEffectWithoutInitCall.js.map +1 -1
  287. package/cjs/hooks/useMemoObject.d.ts +2 -1
  288. package/cjs/hooks/useMemoObject.js +2 -0
  289. package/cjs/hooks/useMemoObject.js.map +1 -1
  290. package/cjs/index.d.ts +2 -0
  291. package/cjs/index.js +54 -54
  292. package/cjs/index.js.map +1 -1
  293. package/cjs/internal/BGRuler.d.ts +13 -15
  294. package/cjs/internal/BGRuler.js +16 -8
  295. package/cjs/internal/BGRuler.js.map +1 -1
  296. package/cjs/internal/Calendar/Calendar.d.ts +4 -13
  297. package/cjs/internal/Calendar/Calendar.js +10 -5
  298. package/cjs/internal/Calendar/Calendar.js.map +1 -1
  299. package/cjs/internal/Calendar/DayCellView.styles.js +1 -1
  300. package/cjs/internal/Calendar/DayCellView.styles.js.map +1 -1
  301. package/cjs/internal/Calendar/Month.js +16 -11
  302. package/cjs/internal/Calendar/Month.js.map +1 -1
  303. package/cjs/internal/Calendar/MonthViewModel.d.ts +1 -1
  304. package/cjs/internal/Calendar/config.d.ts +1 -8
  305. package/cjs/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  306. package/cjs/internal/CommonWrapper/CommonWrapper.js +5 -4
  307. package/cjs/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  308. package/cjs/internal/ComponentCombinator.d.ts +6 -8
  309. package/cjs/internal/ComponentCombinator.js +6 -2
  310. package/cjs/internal/ComponentCombinator.js.map +1 -1
  311. package/cjs/internal/ComponentTable.d.ts +7 -8
  312. package/cjs/internal/ComponentTable.js +14 -3
  313. package/cjs/internal/ComponentTable.js.map +1 -1
  314. package/cjs/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -6
  315. package/cjs/internal/CustomComboBox/ComboBoxMenu.js +16 -9
  316. package/cjs/internal/CustomComboBox/ComboBoxMenu.js.map +1 -1
  317. package/cjs/internal/CustomComboBox/ComboBoxView.d.ts +9 -14
  318. package/cjs/internal/CustomComboBox/ComboBoxView.js +26 -12
  319. package/cjs/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  320. package/cjs/internal/CustomComboBox/CustomComboBox.d.ts +5 -2
  321. package/cjs/internal/CustomComboBox/CustomComboBox.js +7 -1
  322. package/cjs/internal/CustomComboBox/CustomComboBox.js.map +1 -1
  323. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js +8 -6
  324. package/cjs/internal/CustomComboBox/CustomComboBoxReducer.js.map +1 -1
  325. package/cjs/internal/DataTids/DataTids.d.ts +5 -5
  326. package/cjs/internal/DataTids/DataTids.js +4 -0
  327. package/cjs/internal/DataTids/DataTids.js.map +1 -1
  328. package/cjs/internal/DateSelect/DateSelect.d.ts +4 -6
  329. package/cjs/internal/DateSelect/DateSelect.js +16 -10
  330. package/cjs/internal/DateSelect/DateSelect.js.map +1 -1
  331. package/cjs/internal/DropdownContainer/DropdownContainer.d.ts +8 -7
  332. package/cjs/internal/DropdownContainer/DropdownContainer.js +19 -11
  333. package/cjs/internal/DropdownContainer/DropdownContainer.js.map +1 -1
  334. package/cjs/internal/DropdownContainer/getManualPosition.d.ts +19 -0
  335. package/cjs/internal/DropdownContainer/getManualPosition.js +41 -0
  336. package/cjs/internal/DropdownContainer/getManualPosition.js.map +1 -0
  337. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.d.ts +2 -0
  338. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js +2 -0
  339. package/cjs/internal/FileUploaderControl/FileUploaderControlContext.js.map +1 -1
  340. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js +4 -1
  341. package/cjs/internal/FileUploaderControl/FileUploaderControlProvider.js.map +1 -1
  342. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -0
  343. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js +48 -11
  344. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.js.map +1 -1
  345. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +7 -0
  346. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js +49 -7
  347. package/cjs/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.js.map +1 -1
  348. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -0
  349. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js +15 -3
  350. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  351. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +3 -0
  352. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js +19 -1
  353. package/cjs/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -1
  354. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -0
  355. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js +18 -0
  356. package/cjs/internal/FileUploaderControl/hooks/useFileUploaderSize.js.map +1 -0
  357. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  358. package/cjs/internal/FileUploaderControl/withFileUploaderControlProvider.js.map +1 -1
  359. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  360. package/cjs/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  361. package/cjs/internal/InputLikeText/InputLikeText.d.ts +5 -3
  362. package/cjs/internal/InputLikeText/InputLikeText.js +23 -8
  363. package/cjs/internal/InputLikeText/InputLikeText.js.map +1 -1
  364. package/cjs/internal/InternalMenu/InternalMenu.d.ts +4 -9
  365. package/cjs/internal/InternalMenu/InternalMenu.js +60 -22
  366. package/cjs/internal/InternalMenu/InternalMenu.js.map +1 -1
  367. package/cjs/internal/InternalMenu/InternalMenu.styles.d.ts +5 -4
  368. package/cjs/internal/InternalMenu/InternalMenu.styles.js +15 -18
  369. package/cjs/internal/InternalMenu/InternalMenu.styles.js.map +1 -1
  370. package/cjs/internal/MaskedInput/MaskedInput.d.ts +5 -2
  371. package/cjs/internal/MaskedInput/MaskedInput.js +20 -7
  372. package/cjs/internal/MaskedInput/MaskedInput.js.map +1 -1
  373. package/cjs/internal/Menu/Menu.d.ts +5 -7
  374. package/cjs/internal/Menu/Menu.js +32 -10
  375. package/cjs/internal/Menu/Menu.js.map +1 -1
  376. package/cjs/internal/Menu/Menu.styles.d.ts +2 -0
  377. package/cjs/internal/Menu/Menu.styles.js +21 -7
  378. package/cjs/internal/Menu/Menu.styles.js.map +1 -1
  379. package/cjs/internal/MenuMessage/MenuMessage.d.ts +10 -0
  380. package/cjs/internal/MenuMessage/MenuMessage.js +43 -0
  381. package/cjs/internal/MenuMessage/MenuMessage.js.map +1 -0
  382. package/cjs/internal/MenuMessage/MenuMessage.styles.d.ts +5 -0
  383. package/cjs/internal/MenuMessage/MenuMessage.styles.js +33 -0
  384. package/cjs/internal/MenuMessage/MenuMessage.styles.js.map +1 -0
  385. package/cjs/internal/MenuMessage/index.d.ts +1 -0
  386. package/cjs/internal/MenuMessage/index.js +1 -0
  387. package/cjs/internal/MenuMessage/index.js.map +1 -0
  388. package/cjs/internal/MobilePopup/MobilePopup.d.ts +13 -12
  389. package/cjs/internal/MobilePopup/MobilePopup.js +6 -60
  390. package/cjs/internal/MobilePopup/MobilePopup.js.map +1 -1
  391. package/cjs/internal/MobilePopup/MobilePopup.styles.d.ts +3 -3
  392. package/cjs/internal/MobilePopup/MobilePopup.styles.js +22 -24
  393. package/cjs/internal/MobilePopup/MobilePopup.styles.js.map +1 -1
  394. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +3 -4
  395. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +26 -37
  396. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  397. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +2 -4
  398. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +8 -32
  399. package/cjs/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -1
  400. package/cjs/internal/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  401. package/cjs/internal/Popup/Popup.d.ts +18 -18
  402. package/cjs/internal/Popup/Popup.js +60 -22
  403. package/cjs/internal/Popup/Popup.js.map +1 -1
  404. package/cjs/internal/Popup/PopupHelper.d.ts +1 -1
  405. package/cjs/internal/Popup/PopupHelper.js.map +1 -1
  406. package/cjs/internal/Popup/PopupPin.d.ts +1 -1
  407. package/cjs/internal/Popup/PopupPin.js.map +1 -1
  408. package/cjs/internal/PopupMenu/PopupMenu.d.ts +8 -11
  409. package/cjs/internal/PopupMenu/PopupMenu.js +8 -1
  410. package/cjs/internal/PopupMenu/PopupMenu.js.map +1 -1
  411. package/cjs/internal/RenderLayer/RenderLayer.d.ts +5 -4
  412. package/cjs/internal/RenderLayer/RenderLayer.js +12 -2
  413. package/cjs/internal/RenderLayer/RenderLayer.js.map +1 -1
  414. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  415. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js +7 -0
  416. package/cjs/internal/ThemePlayground/AnotherInputsPlayground.js.map +1 -1
  417. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  418. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js +2 -3
  419. package/cjs/internal/ThemePlayground/CurrencyInputPlayground.js.map +1 -1
  420. package/cjs/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  421. package/cjs/internal/ThemePlayground/FxInputPlayground.js +5 -5
  422. package/cjs/internal/ThemePlayground/FxInputPlayground.js.map +1 -1
  423. package/cjs/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  424. package/cjs/internal/ThemePlayground/HintPlayground.js.map +1 -1
  425. package/cjs/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  426. package/cjs/internal/ThemePlayground/PagingPlayground.js +5 -2
  427. package/cjs/internal/ThemePlayground/PagingPlayground.js.map +1 -1
  428. package/cjs/internal/ThemePlayground/Playground.d.ts +1 -1
  429. package/cjs/internal/ThemePlayground/Playground.js.map +1 -1
  430. package/cjs/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  431. package/cjs/internal/ThemePlayground/SelectPlayground.js +6 -0
  432. package/cjs/internal/ThemePlayground/SelectPlayground.js.map +1 -1
  433. package/cjs/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  434. package/cjs/internal/ThemePlayground/SizesGroup.js +2 -0
  435. package/cjs/internal/ThemePlayground/SizesGroup.js.map +1 -1
  436. package/cjs/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  437. package/cjs/internal/ThemePlayground/SwitcherPlayground.js +6 -1
  438. package/cjs/internal/ThemePlayground/SwitcherPlayground.js.map +1 -1
  439. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js +14 -4
  440. package/cjs/internal/ThemePlayground/ThemeContextPlayground.js.map +1 -1
  441. package/cjs/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  442. package/cjs/internal/ThemePlayground/ThemeEditor.js.map +1 -1
  443. package/cjs/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  444. package/cjs/internal/ThemePlayground/TogglePlayground.js +4 -10
  445. package/cjs/internal/ThemePlayground/TogglePlayground.js.map +1 -1
  446. package/cjs/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  447. package/cjs/internal/ThemePlayground/TokenInputPlayground.js +3 -0
  448. package/cjs/internal/ThemePlayground/TokenInputPlayground.js.map +1 -1
  449. package/cjs/internal/ThemePlayground/VariableValue.d.ts +6 -8
  450. package/cjs/internal/ThemePlayground/VariableValue.js +6 -1
  451. package/cjs/internal/ThemePlayground/VariableValue.js.map +1 -1
  452. package/cjs/internal/ThemePlayground/helpers.d.ts +1 -1
  453. package/cjs/internal/ThemePlayground/helpers.js +4 -2
  454. package/cjs/internal/ThemePlayground/helpers.js.map +1 -1
  455. package/cjs/internal/ThemeShowcase/ThemeShowcase.js.map +1 -1
  456. package/cjs/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  457. package/cjs/internal/ZIndex/ZIndex.d.ts +22 -12
  458. package/cjs/internal/ZIndex/ZIndex.js +54 -13
  459. package/cjs/internal/ZIndex/ZIndex.js.map +1 -1
  460. package/cjs/internal/icons/16px/index.js +2 -1
  461. package/cjs/internal/icons/16px/index.js.map +1 -1
  462. package/cjs/internal/icons/20px/svg.js +2 -1
  463. package/cjs/internal/icons/20px/svg.js.map +1 -1
  464. package/cjs/internal/icons/CloudIcon.js +1 -1
  465. package/cjs/internal/icons/CloudIcon.js.map +1 -1
  466. package/cjs/internal/icons/CrossIcon.js +2 -1
  467. package/cjs/internal/icons/CrossIcon.js.map +1 -1
  468. package/cjs/internal/icons/SpinnerIcon.js +3 -1
  469. package/cjs/internal/icons/SpinnerIcon.js.map +1 -1
  470. package/cjs/internal/themes/DarkTheme.d.ts +1 -0
  471. package/cjs/internal/themes/DarkTheme.js +2 -1
  472. package/cjs/internal/themes/DarkTheme.js.map +1 -1
  473. package/cjs/internal/themes/DefaultTheme.d.ts +43 -3
  474. package/cjs/internal/themes/DefaultTheme.js +106 -10
  475. package/cjs/internal/themes/DefaultTheme.js.map +1 -1
  476. package/cjs/internal/themes/Theme2022.d.ts +1 -0
  477. package/cjs/internal/themes/Theme2022.js +1 -0
  478. package/cjs/internal/themes/Theme2022.js.map +1 -1
  479. package/cjs/lib/ConditionalHandler.js.map +1 -1
  480. package/cjs/lib/InstanceWithAnchorElement.d.ts +1 -1
  481. package/cjs/lib/InstanceWithAnchorElement.js.map +1 -1
  482. package/cjs/lib/ModalStack.js +2 -2
  483. package/cjs/lib/ModalStack.js.map +1 -1
  484. package/cjs/lib/SSRSafe.d.ts +3 -1
  485. package/cjs/lib/SSRSafe.js +15 -1
  486. package/cjs/lib/SSRSafe.js.map +1 -1
  487. package/cjs/lib/Upgrades.js +5 -0
  488. package/cjs/lib/Upgrades.js.map +1 -1
  489. package/cjs/lib/animation/index.js +1 -0
  490. package/cjs/lib/animation/index.js.map +1 -1
  491. package/cjs/lib/callChildRef/callChildRef.js +1 -1
  492. package/cjs/lib/callChildRef/callChildRef.js.map +1 -1
  493. package/cjs/lib/createPropsGetter.d.ts +2 -1
  494. package/cjs/lib/createPropsGetter.js +3 -0
  495. package/cjs/lib/createPropsGetter.js.map +1 -1
  496. package/cjs/lib/currentEnvironment.js +33 -12
  497. package/cjs/lib/currentEnvironment.js.map +1 -1
  498. package/cjs/lib/date/InternalDateCalculator.d.ts +1 -1
  499. package/cjs/lib/date/InternalDateCalculator.js +1 -1
  500. package/cjs/lib/date/InternalDateCalculator.js.map +1 -1
  501. package/cjs/lib/date/InternalDateValidator.d.ts +1 -1
  502. package/cjs/lib/date/InternalDateValidator.js +9 -2
  503. package/cjs/lib/date/InternalDateValidator.js.map +1 -1
  504. package/cjs/lib/extractKeyboardAction.d.ts +1 -1
  505. package/cjs/lib/extractKeyboardAction.js.map +1 -1
  506. package/cjs/lib/filterProps.js +0 -1
  507. package/cjs/lib/filterProps.js.map +1 -1
  508. package/cjs/lib/listenFocusOutside.d.ts +1 -1
  509. package/cjs/lib/listenFocusOutside.js.map +1 -1
  510. package/cjs/lib/locale/LOCALECONTEXT.md +1 -0
  511. package/cjs/lib/locale/useLocaleForControl.d.ts +1 -1
  512. package/cjs/lib/locale/useLocaleForControl.js.map +1 -1
  513. package/cjs/lib/memo.d.ts +3 -1
  514. package/cjs/lib/memo.js +3 -3
  515. package/cjs/lib/memo.js.map +1 -1
  516. package/cjs/lib/net/fetch.js +2 -2
  517. package/cjs/lib/net/fetch.js.map +1 -1
  518. package/cjs/lib/reactGetTextContent.js +0 -1
  519. package/cjs/lib/reactGetTextContent.js.map +1 -1
  520. package/cjs/lib/rootNode/getRootNode.d.ts +3 -3
  521. package/cjs/lib/rootNode/getRootNode.js +40 -15
  522. package/cjs/lib/rootNode/getRootNode.js.map +1 -1
  523. package/cjs/lib/rootNode/rootNodeDecorator.d.ts +9 -9
  524. package/cjs/lib/rootNode/rootNodeDecorator.js.map +1 -1
  525. package/cjs/lib/styles/ColorFactory.js +2 -2
  526. package/cjs/lib/styles/ColorFactory.js.map +1 -1
  527. package/cjs/lib/styles/ColorFunctions.js.map +1 -1
  528. package/cjs/lib/theming/AnimationKeyframes.d.ts +3 -5
  529. package/cjs/lib/theming/AnimationKeyframes.js +8 -22
  530. package/cjs/lib/theming/AnimationKeyframes.js.map +1 -1
  531. package/cjs/lib/theming/Emotion.js +1 -0
  532. package/cjs/lib/theming/Emotion.js.map +1 -1
  533. package/cjs/lib/theming/ThemeContext.md +26 -18
  534. package/cjs/lib/theming/ThemeFactory.d.ts +1 -1
  535. package/cjs/lib/theming/ThemeFactory.js +10 -1
  536. package/cjs/lib/theming/ThemeFactory.js.map +1 -1
  537. package/cjs/lib/theming/ThemeHelpers.d.ts +13 -4
  538. package/cjs/lib/theming/ThemeHelpers.js +25 -6
  539. package/cjs/lib/theming/ThemeHelpers.js.map +1 -1
  540. package/cjs/lib/theming/themes/DarkTheme.js +1 -1
  541. package/cjs/lib/theming/themes/DarkTheme.js.map +1 -1
  542. package/cjs/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  543. package/cjs/lib/theming/themes/Theme2022Dark.js +4 -3
  544. package/cjs/lib/theming/themes/Theme2022Dark.js.map +1 -1
  545. package/cjs/lib/utils.d.ts +6 -5
  546. package/cjs/lib/utils.js +8 -7
  547. package/cjs/lib/utils.js.map +1 -1
  548. package/cjs/lib/withClassWrapper.js +1 -4
  549. package/cjs/lib/withClassWrapper.js.map +1 -1
  550. package/cjs/typings/event-types.d.ts +2 -2
  551. package/cjs/typings/{html-props.d.ts → html.d.ts} +2 -2
  552. package/components/Autocomplete/Autocomplete/Autocomplete.js +53 -17
  553. package/components/Autocomplete/Autocomplete/Autocomplete.js.map +1 -1
  554. package/components/Autocomplete/Autocomplete.d.ts +13 -18
  555. package/components/Autocomplete/Autocomplete.md +15 -1
  556. package/components/Autocomplete/locale/index/index.js +8 -0
  557. package/components/Autocomplete/locale/index/index.js.map +1 -0
  558. package/components/Autocomplete/locale/index/package.json +6 -0
  559. package/components/Autocomplete/locale/index.d.ts +4 -0
  560. package/components/Autocomplete/locale/locales/en/en.js +5 -0
  561. package/components/Autocomplete/locale/locales/en/en.js.map +1 -0
  562. package/components/Autocomplete/locale/locales/en/package.json +6 -0
  563. package/components/Autocomplete/locale/locales/en.d.ts +2 -0
  564. package/components/Autocomplete/locale/locales/ru/package.json +6 -0
  565. package/components/Autocomplete/locale/locales/ru/ru.js +5 -0
  566. package/components/Autocomplete/locale/locales/ru/ru.js.map +1 -0
  567. package/components/Autocomplete/locale/locales/ru.d.ts +2 -0
  568. package/components/Autocomplete/locale/package.json +6 -0
  569. package/components/Autocomplete/locale/types/package.json +6 -0
  570. package/components/Autocomplete/locale/types/types.js +1 -0
  571. package/components/Autocomplete/locale/types/types.js.map +1 -0
  572. package/components/Autocomplete/locale/types.d.ts +5 -0
  573. package/components/Button/Button/Button.js +16 -7
  574. package/components/Button/Button/Button.js.map +1 -1
  575. package/components/Button/Button.d.ts +9 -6
  576. package/components/Button/Button.mixins/Button.mixins.js +1 -1
  577. package/components/Button/Button.mixins/Button.mixins.js.map +1 -1
  578. package/components/Button/Button.styles/Button.styles.js +18 -18
  579. package/components/Button/Button.styles/Button.styles.js.map +1 -1
  580. package/components/Center/Center/Center.js +7 -5
  581. package/components/Center/Center/Center.js.map +1 -1
  582. package/components/Center/Center.d.ts +4 -3
  583. package/components/Checkbox/Checkbox/Checkbox.js +10 -4
  584. package/components/Checkbox/Checkbox/Checkbox.js.map +1 -1
  585. package/components/Checkbox/Checkbox.d.ts +5 -1
  586. package/components/Checkbox/Checkbox.md +49 -1
  587. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js +1 -1
  588. package/components/Checkbox/Checkbox.styles/Checkbox.styles.js.map +1 -1
  589. package/components/Checkbox/Checkbox.styles.d.ts +1 -1
  590. package/components/ComboBox/ComboBox/ComboBox.js +3 -1
  591. package/components/ComboBox/ComboBox/ComboBox.js.map +1 -1
  592. package/components/ComboBox/ComboBox.d.ts +30 -15
  593. package/components/ComboBox/ComboBox.md +84 -1
  594. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js +3 -3
  595. package/components/CurrencyInput/CurrencyHelper/CurrencyHelper.js.map +1 -1
  596. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js +43 -22
  597. package/components/CurrencyInput/CurrencyInput/CurrencyInput.js.map +1 -1
  598. package/components/CurrencyInput/CurrencyInput.d.ts +6 -9
  599. package/components/CurrencyInput/CurrencyInput.md +13 -0
  600. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js +4 -2
  601. package/components/CurrencyInput/CurrencyInputKeyboardActions/CurrencyInputKeyboardActions.js.map +1 -1
  602. package/components/CurrencyInput/CurrencyInputKeyboardActions.d.ts +3 -1
  603. package/components/CurrencyInput/constants/constants.js +4 -1
  604. package/components/CurrencyInput/constants/constants.js.map +1 -1
  605. package/components/CurrencyInput/constants.d.ts +3 -0
  606. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js +25 -16
  607. package/components/CurrencyLabel/CurrencyLabel/CurrencyLabel.js.map +1 -1
  608. package/components/CurrencyLabel/CurrencyLabel.d.ts +5 -9
  609. package/components/CurrencyLabel/CurrencyLabel.md +6 -0
  610. package/components/DateInput/DateFragmentsView/DateFragmentsView.js +11 -1
  611. package/components/DateInput/DateFragmentsView/DateFragmentsView.js.map +1 -1
  612. package/components/DateInput/DateFragmentsView.d.ts +1 -1
  613. package/components/DateInput/DateInput/DateInput.js +18 -5
  614. package/components/DateInput/DateInput/DateInput.js.map +1 -1
  615. package/components/DateInput/DateInput.d.ts +9 -12
  616. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js +0 -1
  617. package/components/DateInput/helpers/DateInputKeyboardActions/DateInputKeyboardActions.js.map +1 -1
  618. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js +2 -2
  619. package/components/DateInput/helpers/SelectionHelpers/SelectionHelpers.js.map +1 -1
  620. package/components/DatePicker/DatePicker/DatePicker.js +26 -21
  621. package/components/DatePicker/DatePicker/DatePicker.js.map +1 -1
  622. package/components/DatePicker/DatePicker.d.ts +14 -16
  623. package/components/DatePicker/DatePicker.md +18 -0
  624. package/components/DatePicker/Picker/Picker.js +5 -1
  625. package/components/DatePicker/Picker/Picker.js.map +1 -1
  626. package/components/Dropdown/Dropdown/Dropdown.js +21 -6
  627. package/components/Dropdown/Dropdown/Dropdown.js.map +1 -1
  628. package/components/Dropdown/Dropdown.d.ts +8 -2
  629. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js +8 -2
  630. package/components/DropdownMenu/DropdownMenu/DropdownMenu.js.map +1 -1
  631. package/components/DropdownMenu/DropdownMenu.d.ts +7 -7
  632. package/components/DropdownMenu/DropdownMenu.md +68 -1
  633. package/components/FileUploader/FileUploader/FileUploader.js +62 -23
  634. package/components/FileUploader/FileUploader/FileUploader.js.map +1 -1
  635. package/components/FileUploader/FileUploader.d.ts +11 -2
  636. package/components/FileUploader/FileUploader.md +13 -1
  637. package/components/FileUploader/FileUploader.mixins/FileUploader.mixins.js +8 -0
  638. package/components/FileUploader/FileUploader.mixins/FileUploader.mixins.js.map +1 -0
  639. package/components/FileUploader/FileUploader.mixins/package.json +6 -0
  640. package/components/FileUploader/FileUploader.mixins.d.ts +1 -0
  641. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js +51 -17
  642. package/components/FileUploader/FileUploader.styles/FileUploader.styles.js.map +1 -1
  643. package/components/FileUploader/FileUploader.styles.d.ts +12 -1
  644. package/components/FxInput/FxInput/FxInput.js +15 -10
  645. package/components/FxInput/FxInput/FxInput.js.map +1 -1
  646. package/components/FxInput/FxInput.d.ts +6 -6
  647. package/components/FxInput/FxInput.md +13 -0
  648. package/components/Gapped/Gapped/Gapped.js +17 -8
  649. package/components/Gapped/Gapped/Gapped.js.map +1 -1
  650. package/components/Gapped/Gapped.d.ts +7 -8
  651. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js +35 -16
  652. package/components/GlobalLoader/GlobalLoader/GlobalLoader.js.map +1 -1
  653. package/components/GlobalLoader/GlobalLoader.d.ts +7 -14
  654. package/components/GlobalLoader/GlobalLoaderView/GlobalLoaderView.js.map +1 -1
  655. package/components/GlobalLoader/GlobalLoaderView.d.ts +2 -2
  656. package/components/Group/Group/Group.js +5 -5
  657. package/components/Group/Group/Group.js.map +1 -1
  658. package/components/Group/Group.d.ts +1 -0
  659. package/components/Hint/Hint/Hint.js +42 -39
  660. package/components/Hint/Hint/Hint.js.map +1 -1
  661. package/components/Hint/Hint.d.ts +9 -15
  662. package/components/Hint/Hint.md +43 -0
  663. package/components/Hint/Hint.styles/Hint.styles.js +2 -5
  664. package/components/Hint/Hint.styles/Hint.styles.js.map +1 -1
  665. package/components/Hint/Hint.styles.d.ts +0 -1
  666. package/components/Input/Input/Input.js +36 -16
  667. package/components/Input/Input/Input.js.map +1 -1
  668. package/components/Input/Input.d.ts +9 -4
  669. package/components/Input/Input.md +17 -1
  670. package/components/Input/Input.styles/Input.styles.js +13 -10
  671. package/components/Input/Input.styles/Input.styles.js.map +1 -1
  672. package/components/Input/Input.styles.d.ts +1 -0
  673. package/components/Kebab/Kebab/Kebab.js +21 -9
  674. package/components/Kebab/Kebab/Kebab.js.map +1 -1
  675. package/components/Kebab/Kebab.d.ts +13 -16
  676. package/components/Link/Link/Link.js +10 -7
  677. package/components/Link/Link/Link.js.map +1 -1
  678. package/components/Link/Link.d.ts +5 -7
  679. package/components/Loader/Loader/Loader.js +24 -17
  680. package/components/Loader/Loader/Loader.js.map +1 -1
  681. package/components/Loader/Loader.d.ts +20 -7
  682. package/components/Loader/Loader.md +30 -23
  683. package/components/Loader/__stories__/LoaderAndButton/LoaderAndButton.js.map +1 -1
  684. package/components/MenuHeader/MenuHeader/MenuHeader.js +1 -1
  685. package/components/MenuHeader/MenuHeader/MenuHeader.js.map +1 -1
  686. package/components/MenuHeader/MenuHeader.d.ts +1 -1
  687. package/components/MenuItem/MenuItem/MenuItem.js +51 -15
  688. package/components/MenuItem/MenuItem/MenuItem.js.map +1 -1
  689. package/components/MenuItem/MenuItem.d.ts +19 -3
  690. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js +31 -9
  691. package/components/MenuItem/MenuItem.styles/MenuItem.styles.js.map +1 -1
  692. package/components/MenuItem/MenuItem.styles.d.ts +5 -0
  693. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js +11 -4
  694. package/components/MenuSeparator/MenuSeparator/MenuSeparator.js.map +1 -1
  695. package/components/MenuSeparator/MenuSeparator.d.ts +1 -1
  696. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js +4 -1
  697. package/components/MenuSeparator/MenuSeparator.styles/MenuSeparator.styles.js.map +1 -1
  698. package/components/MenuSeparator/MenuSeparator.styles.d.ts +1 -0
  699. package/components/Modal/Modal/Modal.js +5 -3
  700. package/components/Modal/Modal/Modal.js.map +1 -1
  701. package/components/Modal/Modal.d.ts +4 -3
  702. package/components/Modal/Modal.styles/Modal.styles.js +3 -3
  703. package/components/Modal/Modal.styles/Modal.styles.js.map +1 -1
  704. package/components/Modal/Modal.styles.d.ts +2 -2
  705. package/components/Modal/ModalBody/ModalBody.js +2 -2
  706. package/components/Modal/ModalBody/ModalBody.js.map +1 -1
  707. package/components/Modal/ModalFooter/ModalFooter.js +9 -3
  708. package/components/Modal/ModalFooter/ModalFooter.js.map +1 -1
  709. package/components/Modal/ModalFooter.d.ts +14 -0
  710. package/components/Modal/ModalHeader/ModalHeader.js +2 -2
  711. package/components/Modal/ModalHeader/ModalHeader.js.map +1 -1
  712. package/components/Paging/Paging/Paging.js +36 -23
  713. package/components/Paging/Paging/Paging.js.map +1 -1
  714. package/components/Paging/Paging.d.ts +7 -10
  715. package/components/Paging/Paging.md +13 -0
  716. package/components/Paging/Paging.styles/Paging.styles.js +27 -15
  717. package/components/Paging/Paging.styles/Paging.styles.js.map +1 -1
  718. package/components/Paging/Paging.styles.d.ts +6 -2
  719. package/components/Paging/PagingDefaultComponent/PagingDefaultComponent.js.map +1 -1
  720. package/components/Paging/PagingDefaultComponent.d.ts +3 -3
  721. package/components/PasswordInput/PasswordInput/PasswordInput.js +14 -13
  722. package/components/PasswordInput/PasswordInput/PasswordInput.js.map +1 -1
  723. package/components/PasswordInput/PasswordInput.d.ts +4 -3
  724. package/components/Radio/Radio/Radio.js +11 -6
  725. package/components/Radio/Radio/Radio.js.map +1 -1
  726. package/components/Radio/Radio.d.ts +4 -3
  727. package/components/RadioGroup/RadioGroup/RadioGroup.js +21 -28
  728. package/components/RadioGroup/RadioGroup/RadioGroup.js.map +1 -1
  729. package/components/RadioGroup/RadioGroup.d.ts +7 -19
  730. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js +5 -8
  731. package/components/ResponsiveLayout/ResponsiveLayout/ResponsiveLayout.js.map +1 -1
  732. package/components/ResponsiveLayout/ResponsiveLayout.d.ts +6 -5
  733. package/components/ResponsiveLayout/ResponsiveLayout.md +31 -0
  734. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js +20 -12
  735. package/components/ResponsiveLayout/ResponsiveLayoutEvents/ResponsiveLayoutEvents.js.map +1 -1
  736. package/components/ResponsiveLayout/decorator.d.ts +1 -1
  737. package/components/ResponsiveLayout/types.d.ts +9 -1
  738. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js +42 -17
  739. package/components/ResponsiveLayout/useResponsiveLayout/useResponsiveLayout.js.map +1 -1
  740. package/components/ResponsiveLayout/useResponsiveLayout.d.ts +2 -2
  741. package/components/ScrollContainer/ScrollBar/ScrollBar.js +67 -10
  742. package/components/ScrollContainer/ScrollBar/ScrollBar.js.map +1 -1
  743. package/components/ScrollContainer/ScrollBar.d.ts +12 -2
  744. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js +34 -12
  745. package/components/ScrollContainer/ScrollContainer/ScrollContainer.js.map +1 -1
  746. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js +3 -2
  747. package/components/ScrollContainer/ScrollContainer.constants/ScrollContainer.constants.js.map +1 -1
  748. package/components/ScrollContainer/ScrollContainer.d.ts +29 -8
  749. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js +8 -5
  750. package/components/ScrollContainer/ScrollContainer.helpers/ScrollContainer.helpers.js.map +1 -1
  751. package/components/ScrollContainer/ScrollContainer.md +52 -0
  752. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js +30 -7
  753. package/components/ScrollContainer/ScrollContainer.styles/ScrollContainer.styles.js.map +1 -1
  754. package/components/ScrollContainer/ScrollContainer.styles.d.ts +9 -0
  755. package/components/Select/Item/Item.js.map +1 -1
  756. package/components/Select/Item.d.ts +4 -2
  757. package/components/Select/Select/Select.js +35 -54
  758. package/components/Select/Select/Select.js.map +1 -1
  759. package/components/Select/Select.d.ts +13 -38
  760. package/components/Select/Select.md +14 -0
  761. package/components/Select/Select.styles/Select.styles.js +4 -4
  762. package/components/Select/Select.styles/Select.styles.js.map +1 -1
  763. package/components/Select/selectTheme/selectTheme.js +1 -0
  764. package/components/Select/selectTheme/selectTheme.js.map +1 -1
  765. package/components/SidePage/SidePage/SidePage.js +14 -6
  766. package/components/SidePage/SidePage/SidePage.js.map +1 -1
  767. package/components/SidePage/SidePage.d.ts +9 -6
  768. package/components/SidePage/SidePageFooter/SidePageFooter.js +6 -1
  769. package/components/SidePage/SidePageFooter/SidePageFooter.js.map +1 -1
  770. package/components/SidePage/SidePageFooter.d.ts +15 -5
  771. package/components/SidePage/SidePageHeader/SidePageHeader.js +1 -1
  772. package/components/SidePage/SidePageHeader/SidePageHeader.js.map +1 -1
  773. package/components/SidePage/SidePageHeader.d.ts +1 -1
  774. package/components/Spinner/Spinner/Spinner.js +8 -6
  775. package/components/Spinner/Spinner/Spinner.js.map +1 -1
  776. package/components/Spinner/Spinner.d.ts +15 -4
  777. package/components/Spinner/Spinner.styles/Spinner.styles.js +3 -3
  778. package/components/Spinner/Spinner.styles/Spinner.styles.js.map +1 -1
  779. package/components/Spinner/Spinner.styles.d.ts +1 -1
  780. package/components/Sticky/Sticky/Sticky.js +8 -5
  781. package/components/Sticky/Sticky/Sticky.js.map +1 -1
  782. package/components/Sticky/Sticky.d.ts +7 -6
  783. package/components/Switcher/Switcher/Switcher.js +77 -38
  784. package/components/Switcher/Switcher/Switcher.js.map +1 -1
  785. package/components/Switcher/Switcher.d.ts +12 -3
  786. package/components/Switcher/Switcher.md +97 -0
  787. package/components/Switcher/helpers/helpers.js +3 -0
  788. package/components/Switcher/helpers/helpers.js.map +1 -0
  789. package/components/Switcher/helpers/package.json +6 -0
  790. package/components/Switcher/helpers.d.ts +1 -0
  791. package/components/Tabs/Indicator/Indicator.js +1 -1
  792. package/components/Tabs/Indicator/Indicator.js.map +1 -1
  793. package/components/Tabs/Indicator.d.ts +1 -1
  794. package/components/Tabs/Tab/Tab.js +18 -15
  795. package/components/Tabs/Tab/Tab.js.map +1 -1
  796. package/components/Tabs/Tab.d.ts +9 -13
  797. package/components/Tabs/Tabs/Tabs.js +15 -18
  798. package/components/Tabs/Tabs/Tabs.js.map +1 -1
  799. package/components/Tabs/Tabs.d.ts +9 -13
  800. package/components/Textarea/Textarea/Textarea.js +25 -16
  801. package/components/Textarea/Textarea/Textarea.js.map +1 -1
  802. package/components/Textarea/Textarea.d.ts +9 -10
  803. package/components/Textarea/Textarea.md +19 -0
  804. package/components/Textarea/TextareaCounter/TextareaCounter.js +2 -1
  805. package/components/Textarea/TextareaCounter/TextareaCounter.js.map +1 -1
  806. package/components/Textarea/TextareaCounter.d.ts +2 -2
  807. package/components/Toast/Toast/Toast.js +16 -9
  808. package/components/Toast/Toast/Toast.js.map +1 -1
  809. package/components/Toast/Toast.d.ts +6 -3
  810. package/components/Toast/Toast.md +129 -0
  811. package/components/Toast/ToastStatic/ToastStatic.js +5 -5
  812. package/components/Toast/ToastStatic/ToastStatic.js.map +1 -1
  813. package/components/Toast/ToastStatic.d.ts +3 -2
  814. package/components/Toggle/Toggle/Toggle.js +17 -9
  815. package/components/Toggle/Toggle/Toggle.js.map +1 -1
  816. package/components/Toggle/Toggle.d.ts +10 -7
  817. package/components/Token/Token/Token.js +6 -2
  818. package/components/Token/Token/Token.js.map +1 -1
  819. package/components/Token/Token.d.ts +6 -1
  820. package/components/Token/Token.styles/Token.styles.js +1 -1
  821. package/components/Token/Token.styles/Token.styles.js.map +1 -1
  822. package/components/TokenInput/TokenInput/TokenInput.js +180 -132
  823. package/components/TokenInput/TokenInput/TokenInput.js.map +1 -1
  824. package/components/TokenInput/TokenInput.d.ts +27 -17
  825. package/components/TokenInput/TokenInput.md +26 -0
  826. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js +1 -1
  827. package/components/TokenInput/TokenInput.styles/TokenInput.styles.js.map +1 -1
  828. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js +1 -1
  829. package/components/TokenInput/TokenInputMenu/TokenInputMenu.js.map +1 -1
  830. package/components/TokenInput/TokenInputMenu.d.ts +2 -1
  831. package/components/Tooltip/Tooltip/Tooltip.js +65 -70
  832. package/components/Tooltip/Tooltip/Tooltip.js.map +1 -1
  833. package/components/Tooltip/Tooltip.d.ts +14 -21
  834. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js +15 -13
  835. package/components/TooltipMenu/TooltipMenu/TooltipMenu.js.map +1 -1
  836. package/components/TooltipMenu/TooltipMenu.d.ts +8 -7
  837. package/components/TooltipMenu/TooltipMenu.md +28 -1
  838. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js +2 -2
  839. package/hooks/useEffectWithoutInitCall/useEffectWithoutInitCall.js.map +1 -1
  840. package/hooks/useEffectWithoutInitCall.d.ts +2 -2
  841. package/hooks/useMemoObject/useMemoObject.js.map +1 -1
  842. package/hooks/useMemoObject.d.ts +2 -1
  843. package/index.d.ts +2 -0
  844. package/index.js +3 -1
  845. package/index.js.map +1 -1
  846. package/internal/BGRuler/BGRuler.js +11 -6
  847. package/internal/BGRuler/BGRuler.js.map +1 -1
  848. package/internal/BGRuler.d.ts +13 -15
  849. package/internal/Calendar/Calendar/Calendar.js +11 -5
  850. package/internal/Calendar/Calendar/Calendar.js.map +1 -1
  851. package/internal/Calendar/Calendar.d.ts +4 -13
  852. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js +1 -1
  853. package/internal/Calendar/DayCellView.styles/DayCellView.styles.js.map +1 -1
  854. package/internal/Calendar/Month/Month.js +20 -11
  855. package/internal/Calendar/Month/Month.js.map +1 -1
  856. package/internal/Calendar/MonthViewModel.d.ts +1 -1
  857. package/internal/Calendar/config.d.ts +1 -8
  858. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js +3 -2
  859. package/internal/CommonWrapper/CommonWrapper/CommonWrapper.js.map +1 -1
  860. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -1
  861. package/internal/ComponentCombinator/ComponentCombinator.js +8 -5
  862. package/internal/ComponentCombinator/ComponentCombinator.js.map +1 -1
  863. package/internal/ComponentCombinator.d.ts +6 -8
  864. package/internal/ComponentTable/ComponentTable.js +16 -4
  865. package/internal/ComponentTable/ComponentTable.js.map +1 -1
  866. package/internal/ComponentTable.d.ts +7 -8
  867. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js +30 -35
  868. package/internal/CustomComboBox/ComboBoxMenu/ComboBoxMenu.js.map +1 -1
  869. package/internal/CustomComboBox/ComboBoxMenu.d.ts +7 -6
  870. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js +32 -15
  871. package/internal/CustomComboBox/ComboBoxView/ComboBoxView.js.map +1 -1
  872. package/internal/CustomComboBox/ComboBoxView.d.ts +9 -14
  873. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js +3 -0
  874. package/internal/CustomComboBox/CustomComboBox/CustomComboBox.js.map +1 -1
  875. package/internal/CustomComboBox/CustomComboBox.d.ts +5 -2
  876. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js +9 -6
  877. package/internal/CustomComboBox/CustomComboBoxReducer/CustomComboBoxReducer.js.map +1 -1
  878. package/internal/DataTids/DataTids/DataTids.js.map +1 -1
  879. package/internal/DataTids/DataTids.d.ts +5 -5
  880. package/internal/DateSelect/DateSelect/DateSelect.js +15 -12
  881. package/internal/DateSelect/DateSelect/DateSelect.js.map +1 -1
  882. package/internal/DateSelect/DateSelect.d.ts +4 -6
  883. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js +23 -14
  884. package/internal/DropdownContainer/DropdownContainer/DropdownContainer.js.map +1 -1
  885. package/internal/DropdownContainer/DropdownContainer.d.ts +8 -7
  886. package/internal/DropdownContainer/getManualPosition/getManualPosition.js +36 -0
  887. package/internal/DropdownContainer/getManualPosition/getManualPosition.js.map +1 -0
  888. package/internal/DropdownContainer/getManualPosition/package.json +6 -0
  889. package/internal/DropdownContainer/getManualPosition.d.ts +19 -0
  890. package/internal/FileUploaderControl/FileUploaderControlContext/FileUploaderControlContext.js.map +1 -1
  891. package/internal/FileUploaderControl/FileUploaderControlContext.d.ts +2 -0
  892. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js +7 -1
  893. package/internal/FileUploaderControl/FileUploaderControlProvider/FileUploaderControlProvider.js.map +1 -1
  894. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js +40 -13
  895. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile/FileUploaderFile.js.map +1 -1
  896. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.d.ts +3 -0
  897. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js +26 -5
  898. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles/FileUploaderFile.styles.js.map +1 -1
  899. package/internal/FileUploaderControl/FileUploaderFile/FileUploaderFile.styles.d.ts +7 -0
  900. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js +13 -3
  901. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  902. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.d.ts +2 -0
  903. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js +10 -1
  904. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles/FileUploaderFileList.styles.js.map +1 -1
  905. package/internal/FileUploaderControl/FileUploaderFileList/FileUploaderFileList.styles.d.ts +3 -0
  906. package/internal/FileUploaderControl/hooks/useFileUploaderSize/package.json +6 -0
  907. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js +21 -0
  908. package/internal/FileUploaderControl/hooks/useFileUploaderSize/useFileUploaderSize.js.map +1 -0
  909. package/internal/FileUploaderControl/hooks/useFileUploaderSize.d.ts +2 -0
  910. package/internal/FileUploaderControl/withFileUploaderControlProvider/withFileUploaderControlProvider.js.map +1 -1
  911. package/internal/FileUploaderControl/withFileUploaderControlProvider.d.ts +1 -1
  912. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js +2 -1
  913. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  914. package/internal/InputLikeText/InputLikeText/InputLikeText.js +17 -7
  915. package/internal/InputLikeText/InputLikeText/InputLikeText.js.map +1 -1
  916. package/internal/InputLikeText/InputLikeText.d.ts +5 -3
  917. package/internal/InternalMenu/InternalMenu/InternalMenu.js +62 -23
  918. package/internal/InternalMenu/InternalMenu/InternalMenu.js.map +1 -1
  919. package/internal/InternalMenu/InternalMenu.d.ts +4 -9
  920. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js +13 -10
  921. package/internal/InternalMenu/InternalMenu.styles/InternalMenu.styles.js.map +1 -1
  922. package/internal/InternalMenu/InternalMenu.styles.d.ts +5 -4
  923. package/internal/MaskedInput/MaskedInput/MaskedInput.js +16 -7
  924. package/internal/MaskedInput/MaskedInput/MaskedInput.js.map +1 -1
  925. package/internal/MaskedInput/MaskedInput.d.ts +5 -2
  926. package/internal/Menu/Menu/Menu.js +24 -10
  927. package/internal/Menu/Menu/Menu.js.map +1 -1
  928. package/internal/Menu/Menu.d.ts +5 -7
  929. package/internal/Menu/Menu.styles/Menu.styles.js +13 -7
  930. package/internal/Menu/Menu.styles/Menu.styles.js.map +1 -1
  931. package/internal/Menu/Menu.styles.d.ts +2 -0
  932. package/internal/MenuMessage/MenuMessage/MenuMessage.js +31 -0
  933. package/internal/MenuMessage/MenuMessage/MenuMessage.js.map +1 -0
  934. package/internal/MenuMessage/MenuMessage/package.json +6 -0
  935. package/internal/MenuMessage/MenuMessage.d.ts +10 -0
  936. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js +23 -0
  937. package/internal/MenuMessage/MenuMessage.styles/MenuMessage.styles.js.map +1 -0
  938. package/internal/MenuMessage/MenuMessage.styles/package.json +6 -0
  939. package/internal/MenuMessage/MenuMessage.styles.d.ts +5 -0
  940. package/internal/MenuMessage/index/index.js +1 -0
  941. package/internal/MenuMessage/index/index.js.map +1 -0
  942. package/internal/MenuMessage/index/package.json +6 -0
  943. package/internal/MenuMessage/index.d.ts +1 -0
  944. package/internal/MenuMessage/package.json +6 -0
  945. package/internal/MobilePopup/MobilePopup/MobilePopup.js +23 -53
  946. package/internal/MobilePopup/MobilePopup/MobilePopup.js.map +1 -1
  947. package/internal/MobilePopup/MobilePopup.d.ts +13 -12
  948. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js +11 -11
  949. package/internal/MobilePopup/MobilePopup.styles/MobilePopup.styles.js.map +1 -1
  950. package/internal/MobilePopup/MobilePopup.styles.d.ts +3 -3
  951. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js +11 -35
  952. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  953. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.d.ts +3 -4
  954. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js +6 -12
  955. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles/MobilePopupHeader.styles.js.map +1 -1
  956. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.d.ts +2 -4
  957. package/internal/PerformanceMetrics/PerformanceMetrics/PerformanceMetrics.js.map +1 -1
  958. package/internal/Popup/Popup/Popup.js +69 -38
  959. package/internal/Popup/Popup/Popup.js.map +1 -1
  960. package/internal/Popup/Popup.d.ts +18 -18
  961. package/internal/Popup/PopupHelper/PopupHelper.js.map +1 -1
  962. package/internal/Popup/PopupHelper.d.ts +1 -1
  963. package/internal/Popup/PopupPin/PopupPin.js.map +1 -1
  964. package/internal/Popup/PopupPin.d.ts +1 -1
  965. package/internal/PopupMenu/PopupMenu/PopupMenu.js +12 -4
  966. package/internal/PopupMenu/PopupMenu/PopupMenu.js.map +1 -1
  967. package/internal/PopupMenu/PopupMenu.d.ts +8 -11
  968. package/internal/RenderLayer/RenderLayer/RenderLayer.js +10 -6
  969. package/internal/RenderLayer/RenderLayer/RenderLayer.js.map +1 -1
  970. package/internal/RenderLayer/RenderLayer.d.ts +5 -4
  971. package/internal/ThemePlayground/AnotherInputsPlayground/AnotherInputsPlayground.js.map +1 -1
  972. package/internal/ThemePlayground/AnotherInputsPlayground.d.ts +11 -6
  973. package/internal/ThemePlayground/CurrencyInputPlayground/CurrencyInputPlayground.js.map +1 -1
  974. package/internal/ThemePlayground/CurrencyInputPlayground.d.ts +7 -6
  975. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js +10 -6
  976. package/internal/ThemePlayground/FxInputPlayground/FxInputPlayground.js.map +1 -1
  977. package/internal/ThemePlayground/FxInputPlayground.d.ts +6 -4
  978. package/internal/ThemePlayground/HintPlayground/HintPlayground.js.map +1 -1
  979. package/internal/ThemePlayground/HintPlayground.d.ts +1 -1
  980. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js +2 -2
  981. package/internal/ThemePlayground/PagingPlayground/PagingPlayground.js.map +1 -1
  982. package/internal/ThemePlayground/PagingPlayground.d.ts +6 -6
  983. package/internal/ThemePlayground/Playground/Playground.js.map +1 -1
  984. package/internal/ThemePlayground/Playground.d.ts +1 -1
  985. package/internal/ThemePlayground/SelectPlayground/SelectPlayground.js.map +1 -1
  986. package/internal/ThemePlayground/SelectPlayground.d.ts +9 -6
  987. package/internal/ThemePlayground/SizesGroup/SizesGroup.js.map +1 -1
  988. package/internal/ThemePlayground/SizesGroup.d.ts +2 -2
  989. package/internal/ThemePlayground/SwitcherPlayground/SwitcherPlayground.js.map +1 -1
  990. package/internal/ThemePlayground/SwitcherPlayground.d.ts +9 -8
  991. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js +13 -3
  992. package/internal/ThemePlayground/ThemeContextPlayground/ThemeContextPlayground.js.map +1 -1
  993. package/internal/ThemePlayground/ThemeEditor/ThemeEditor.js.map +1 -1
  994. package/internal/ThemePlayground/ThemeEditor.d.ts +1 -4
  995. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js +5 -17
  996. package/internal/ThemePlayground/TogglePlayground/TogglePlayground.js.map +1 -1
  997. package/internal/ThemePlayground/TogglePlayground.d.ts +2 -7
  998. package/internal/ThemePlayground/TokenInputPlayground/TokenInputPlayground.js.map +1 -1
  999. package/internal/ThemePlayground/TokenInputPlayground.d.ts +6 -4
  1000. package/internal/ThemePlayground/VariableValue/VariableValue.js +4 -2
  1001. package/internal/ThemePlayground/VariableValue/VariableValue.js.map +1 -1
  1002. package/internal/ThemePlayground/VariableValue.d.ts +6 -8
  1003. package/internal/ThemePlayground/helpers/helpers.js +0 -1
  1004. package/internal/ThemePlayground/helpers/helpers.js.map +1 -1
  1005. package/internal/ThemePlayground/helpers.d.ts +1 -1
  1006. package/internal/ThemeShowcase/ThemeShowcase/ThemeShowcase.js.map +1 -1
  1007. package/internal/ThemeShowcase/VariablesCollector.d.ts +1 -1
  1008. package/internal/ZIndex/ZIndex/ZIndex.js +48 -24
  1009. package/internal/ZIndex/ZIndex/ZIndex.js.map +1 -1
  1010. package/internal/ZIndex/ZIndex.d.ts +22 -12
  1011. package/internal/icons/16px/index/index.js +2 -1
  1012. package/internal/icons/16px/index/index.js.map +1 -1
  1013. package/internal/icons/20px/svg/svg.js +2 -1
  1014. package/internal/icons/20px/svg/svg.js.map +1 -1
  1015. package/internal/icons/CloudIcon/CloudIcon.js +3 -1
  1016. package/internal/icons/CloudIcon/CloudIcon.js.map +1 -1
  1017. package/internal/icons/CrossIcon/CrossIcon.js +2 -1
  1018. package/internal/icons/CrossIcon/CrossIcon.js.map +1 -1
  1019. package/internal/icons/SpinnerIcon/SpinnerIcon.js +3 -1
  1020. package/internal/icons/SpinnerIcon/SpinnerIcon.js.map +1 -1
  1021. package/internal/themes/DarkTheme/DarkTheme.js +1 -0
  1022. package/internal/themes/DarkTheme/DarkTheme.js.map +1 -1
  1023. package/internal/themes/DarkTheme.d.ts +1 -0
  1024. package/internal/themes/DefaultTheme/DefaultTheme.js +166 -17
  1025. package/internal/themes/DefaultTheme/DefaultTheme.js.map +1 -1
  1026. package/internal/themes/DefaultTheme.d.ts +43 -3
  1027. package/internal/themes/Theme2022/Theme2022.js +1 -0
  1028. package/internal/themes/Theme2022/Theme2022.js.map +1 -1
  1029. package/internal/themes/Theme2022.d.ts +1 -0
  1030. package/lib/ConditionalHandler/ConditionalHandler.js.map +1 -1
  1031. package/lib/InstanceWithAnchorElement/InstanceWithAnchorElement.js.map +1 -1
  1032. package/lib/InstanceWithAnchorElement.d.ts +1 -1
  1033. package/lib/ModalStack/ModalStack.js +2 -2
  1034. package/lib/ModalStack/ModalStack.js.map +1 -1
  1035. package/lib/SSRSafe/SSRSafe.js +12 -0
  1036. package/lib/SSRSafe/SSRSafe.js.map +1 -1
  1037. package/lib/SSRSafe.d.ts +3 -1
  1038. package/lib/Upgrades/Upgrades.js +4 -1
  1039. package/lib/Upgrades/Upgrades.js.map +1 -1
  1040. package/lib/animation/index/index.js +1 -1
  1041. package/lib/animation/index/index.js.map +1 -1
  1042. package/lib/callChildRef/callChildRef/callChildRef.js +1 -1
  1043. package/lib/callChildRef/callChildRef/callChildRef.js.map +1 -1
  1044. package/lib/createPropsGetter/createPropsGetter.js +1 -0
  1045. package/lib/createPropsGetter/createPropsGetter.js.map +1 -1
  1046. package/lib/createPropsGetter.d.ts +2 -1
  1047. package/lib/currentEnvironment/currentEnvironment.js +34 -14
  1048. package/lib/currentEnvironment/currentEnvironment.js.map +1 -1
  1049. package/lib/date/InternalDateCalculator/InternalDateCalculator.js +1 -2
  1050. package/lib/date/InternalDateCalculator/InternalDateCalculator.js.map +1 -1
  1051. package/lib/date/InternalDateCalculator.d.ts +1 -1
  1052. package/lib/date/InternalDateValidator/InternalDateValidator.js +8 -2
  1053. package/lib/date/InternalDateValidator/InternalDateValidator.js.map +1 -1
  1054. package/lib/date/InternalDateValidator.d.ts +1 -1
  1055. package/lib/extractKeyboardAction/extractKeyboardAction.js.map +1 -1
  1056. package/lib/extractKeyboardAction.d.ts +1 -1
  1057. package/lib/filterProps/filterProps.js +0 -1
  1058. package/lib/filterProps/filterProps.js.map +1 -1
  1059. package/lib/listenFocusOutside/listenFocusOutside.js.map +1 -1
  1060. package/lib/listenFocusOutside.d.ts +1 -1
  1061. package/lib/locale/LOCALECONTEXT.md +1 -0
  1062. package/lib/locale/useLocaleForControl/useLocaleForControl.js.map +1 -1
  1063. package/lib/locale/useLocaleForControl.d.ts +1 -1
  1064. package/lib/memo/memo.js +2 -4
  1065. package/lib/memo/memo.js.map +1 -1
  1066. package/lib/memo.d.ts +3 -1
  1067. package/lib/net/fetch/fetch.js +2 -2
  1068. package/lib/net/fetch/fetch.js.map +1 -1
  1069. package/lib/reactGetTextContent/reactGetTextContent.js +0 -1
  1070. package/lib/reactGetTextContent/reactGetTextContent.js.map +1 -1
  1071. package/lib/rootNode/getRootNode/getRootNode.js +32 -14
  1072. package/lib/rootNode/getRootNode/getRootNode.js.map +1 -1
  1073. package/lib/rootNode/getRootNode.d.ts +3 -3
  1074. package/lib/rootNode/rootNodeDecorator/rootNodeDecorator.js.map +1 -1
  1075. package/lib/rootNode/rootNodeDecorator.d.ts +9 -9
  1076. package/lib/styles/ColorFactory/ColorFactory.js +3 -1
  1077. package/lib/styles/ColorFactory/ColorFactory.js.map +1 -1
  1078. package/lib/styles/ColorFunctions/ColorFunctions.js.map +1 -1
  1079. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js +8 -14
  1080. package/lib/theming/AnimationKeyframes/AnimationKeyframes.js.map +1 -1
  1081. package/lib/theming/AnimationKeyframes.d.ts +3 -5
  1082. package/lib/theming/Emotion/Emotion.js.map +1 -1
  1083. package/lib/theming/ThemeContext.md +26 -18
  1084. package/lib/theming/ThemeFactory/ThemeFactory.js +11 -2
  1085. package/lib/theming/ThemeFactory/ThemeFactory.js.map +1 -1
  1086. package/lib/theming/ThemeFactory.d.ts +1 -1
  1087. package/lib/theming/ThemeHelpers/ThemeHelpers.js +19 -5
  1088. package/lib/theming/ThemeHelpers/ThemeHelpers.js.map +1 -1
  1089. package/lib/theming/ThemeHelpers.d.ts +13 -4
  1090. package/lib/theming/themes/DarkTheme/DarkTheme.js +2 -2
  1091. package/lib/theming/themes/DarkTheme/DarkTheme.js.map +1 -1
  1092. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js +2 -1
  1093. package/lib/theming/themes/Theme2022Dark/Theme2022Dark.js.map +1 -1
  1094. package/lib/theming/themes/Theme2022Dark.d.ts +1 -1
  1095. package/lib/utils/utils.js +2 -3
  1096. package/lib/utils/utils.js.map +1 -1
  1097. package/lib/utils.d.ts +6 -5
  1098. package/lib/withClassWrapper/withClassWrapper.js +1 -4
  1099. package/lib/withClassWrapper/withClassWrapper.js.map +1 -1
  1100. package/package.json +9 -25
  1101. package/typings/event-types.d.ts +2 -2
  1102. package/typings/{html-props.d.ts → html.d.ts} +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["InternalDateValidator.ts"],"names":["InternalDateGetter","InternalDateComponentType","calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","getOrder","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): boolean {\n return value !== null && (typeof value === 'number' || !Number.isNaN(parseInt(value, 10)));\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n return a.getOrder() === b.getOrder() && a.getSeparator() === b.getSeparator();\n }\n}\n"]}
1
+ {"version":3,"sources":["InternalDateValidator.ts"],"names":["InternalDateGetter","InternalDateComponentType","calculateStartDate","startDate","Infinity","calculateEndDate","endDate","getValue","type","year","month","date","Year","Month","InternalDateValidator","checkForNull","undefined","All","checkLimits","value","getDefaultMin","getDefaultMax","Date","compareWithNativeDate","nativeDate","UTC","getUTCFullYear","getUTCMonth","getUTCDate","checkRangeFully","calculatedEndDate","calculatedStartDate","checkRangePiecemeal","startComponents","endComponents","startYear","startMonth","endYear","endMonth","testParseToNumber","Number","isNaN","parseInt","isEqualDateValues","a","b","toInternalString","isEqualDateFormats","areOrdersEqual","getOrder","areSeparatorsEqual","getSeparator"],"mappings":"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","sourcesContent":["import { InternalDate } from './InternalDate';\nimport { InternalDateGetter } from './InternalDateGetter';\nimport {\n InternalDateComponentRaw,\n InternalDateComponentsNumber,\n InternalDateComponentsRaw,\n InternalDateComponentType,\n} from './types';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull({ year, month, date }: InternalDateComponentsRaw, type?: InternalDateComponentType) {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate: Date = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value> {\n if (value !== null) {\n return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));\n }\n\n return false;\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n const areOrdersEqual = a.getOrder() === b.getOrder();\n const areSeparatorsEqual = a.getSeparator() === b.getSeparator();\n\n return areOrdersEqual && areSeparatorsEqual;\n }\n}\n"]}
@@ -6,7 +6,7 @@ export declare class InternalDateValidator {
6
6
  static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean;
7
7
  static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean;
8
8
  static checkRangePiecemeal(type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber, startComponents: InternalDateComponentsNumber | null, endComponents: InternalDateComponentsNumber | null): boolean;
9
- static testParseToNumber(value: InternalDateComponentRaw): boolean;
9
+ static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value>;
10
10
  static isEqualDateValues(a: InternalDate, b: InternalDate): boolean;
11
11
  static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["extractKeyboardAction.ts"],"names":["KeyboardActionExctracterBuilder","actionMatchers","_actionMatchers","add","type","check","concat","build","defaultAction","event","action","find","x"],"mappings":";;;;;;;;;AASA,WAAaA,+BAAb;;;AAGE,2CAAYC,cAAZ,EAAkE,KAAtDA,cAAsD,cAAtDA,cAAsD,GAAJ,EAAI;AAChE,SAAKC,eAAL,GAAuBD,cAAvB;AACD,GALH;;AAOSE,EAAAA,GAPT,GAOE,aAAkBC,IAAlB,EAA2BC,KAA3B,EAAmF;AACjF,WAAO,IAAIL,+BAAJ,CAAoC,KAAKE,eAAL,CAAqBI,MAArB,CAA4B,EAAEF,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAA5B,CAApC,CAAP;AACD,GATH;;AAWSE,EAAAA,KAXT,GAWE,eAAoBC,aAApB,EAAmF;AACjF,WAAO,UAACC,KAAD,EAAW;AAChB,UAAMC,MAAM,GAAG,KAAI,CAACR,eAAL,CAAqBS,IAArB,CAA0B,UAACC,CAAD,UAAOA,CAAC,CAACP,KAAF,CAAQI,KAAR,CAAP,EAA1B,CAAf;AACA,aAAQC,MAAM,IAAIA,MAAM,CAACN,IAAlB,IAA2BI,aAAlC;AACD,KAHD;AAID,GAhBH","sourcesContent":["import React from 'react';\n\ntype ActionCheck = (x0: React.KeyboardEvent<HTMLElement>) => boolean;\n\ninterface KeyboardActionMatcher<Actions> {\n type: Actions;\n check: (x0: React.KeyboardEvent<HTMLElement>) => boolean;\n}\n\nexport class KeyboardActionExctracterBuilder<T> {\n private _actionMatchers: Array<KeyboardActionMatcher<any>>;\n\n constructor(actionMatchers: Array<KeyboardActionMatcher<T>> = []) {\n this._actionMatchers = actionMatchers;\n }\n\n public add<P = T>(type: T, check: ActionCheck): KeyboardActionExctracterBuilder<T> {\n return new KeyboardActionExctracterBuilder(this._actionMatchers.concat({ type, check }));\n }\n\n public build<P = T>(defaultAction: P): (x0: React.KeyboardEvent<HTMLElement>) => T {\n return (event) => {\n const action = this._actionMatchers.find((x) => x.check(event));\n return (action && action.type) || defaultAction;\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["extractKeyboardAction.ts"],"names":["KeyboardActionExctracterBuilder","actionMatchers","_actionMatchers","add","type","check","concat","build","defaultAction","event","action","find","x"],"mappings":";;;;;;;;;AASA,WAAaA,+BAAb;;;AAGE,2CAAYC,cAAZ,EAAkE,KAAtDA,cAAsD,cAAtDA,cAAsD,GAAJ,EAAI;AAChE,SAAKC,eAAL,GAAuBD,cAAvB;AACD,GALH;;AAOSE,EAAAA,GAPT,GAOE,aAAcC,IAAd,EAAuBC,KAAvB,EAA+E;AAC7E,WAAO,IAAIL,+BAAJ,CAAoC,KAAKE,eAAL,CAAqBI,MAArB,CAA4B,EAAEF,IAAI,EAAJA,IAAF,EAAQC,KAAK,EAALA,KAAR,EAA5B,CAApC,CAAP;AACD,GATH;;AAWSE,EAAAA,KAXT,GAWE,eAAoBC,aAApB,EAAmF;AACjF,WAAO,UAACC,KAAD,EAAW;AAChB,UAAMC,MAAM,GAAG,KAAI,CAACR,eAAL,CAAqBS,IAArB,CAA0B,UAACC,CAAD,UAAOA,CAAC,CAACP,KAAF,CAAQI,KAAR,CAAP,EAA1B,CAAf;AACA,aAAQC,MAAM,IAAIA,MAAM,CAACN,IAAlB,IAA2BI,aAAlC;AACD,KAHD;AAID,GAhBH","sourcesContent":["import React from 'react';\n\ntype ActionCheck = (x0: React.KeyboardEvent<HTMLElement>) => boolean;\n\ninterface KeyboardActionMatcher<Actions> {\n type: Actions;\n check: (x0: React.KeyboardEvent<HTMLElement>) => boolean;\n}\n\nexport class KeyboardActionExctracterBuilder<T> {\n private _actionMatchers: Array<KeyboardActionMatcher<any>>;\n\n constructor(actionMatchers: Array<KeyboardActionMatcher<T>> = []) {\n this._actionMatchers = actionMatchers;\n }\n\n public add<T>(type: T, check: ActionCheck): KeyboardActionExctracterBuilder<T> {\n return new KeyboardActionExctracterBuilder(this._actionMatchers.concat({ type, check }));\n }\n\n public build<P = T>(defaultAction: P): (x0: React.KeyboardEvent<HTMLElement>) => T {\n return (event) => {\n const action = this._actionMatchers.find((x) => x.check(event));\n return (action && action.type) || defaultAction;\n };\n }\n}\n"]}
@@ -7,7 +7,7 @@ interface KeyboardActionMatcher<Actions> {
7
7
  export declare class KeyboardActionExctracterBuilder<T> {
8
8
  private _actionMatchers;
9
9
  constructor(actionMatchers?: Array<KeyboardActionMatcher<T>>);
10
- add<P = T>(type: T, check: ActionCheck): KeyboardActionExctracterBuilder<T>;
10
+ add<T>(type: T, check: ActionCheck): KeyboardActionExctracterBuilder<T>;
11
11
  build<P = T>(defaultAction: P): (x0: React.KeyboardEvent<HTMLElement>) => T;
12
12
  }
13
13
  export {};
@@ -3,7 +3,6 @@ export function filterProps(props, allowed) {
3
3
 
4
4
  for (var key in props) {
5
5
  if (allowed[key]) {
6
- // @ts-ignore
7
6
  ret[key] = props[key];
8
7
  }
9
8
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["filterProps.ts"],"names":["filterProps","props","allowed","ret","key"],"mappings":";;;;;;AAMA,OAAO,SAASA,WAAT;;;;;;;AAOLC,KAPK,EAOSC,OAPT,EAOmC;AACxC,MAAMC,GAAG,GAAG,EAAZ;AACA,OAAK,IAAMC,GAAX,IAAkBH,KAAlB,EAAyB;AACvB,QAAIC,OAAO,CAACE,GAAD,CAAX,EAAkB;AAChB;AACAD,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAWH,KAAK,CAACG,GAAD,CAAhB;AACD;AACF;AACD,SAAOD,GAAP;AACD","sourcesContent":["export type Filter<T, U> = T extends U ? T : never;\n\nexport type True<T> = { [K in keyof T]: T[K] extends true ? K : never }[keyof T];\n\nexport type AmbiguousBool<T> = { [K in keyof T]: T[K] extends false ? never : T[K] extends true ? never : K }[keyof T];\n\nexport function filterProps<\n Props extends Record<string, any>,\n Allowed extends Record<string, boolean>,\n Specific extends Filter<keyof Props, True<Allowed>>,\n // If value neither true nor false, it should be optional\n Optional extends Filter<keyof Props, AmbiguousBool<Allowed>>,\n Result extends { [P in Specific]: Props[P] } & { [Q in Optional]?: Props[Q] },\n>(props: Props, allowed: Allowed): Result {\n const ret = {} as any;\n for (const key in props) {\n if (allowed[key]) {\n // @ts-ignore\n ret[key] = props[key];\n }\n }\n return ret;\n}\n"]}
1
+ {"version":3,"sources":["filterProps.ts"],"names":["filterProps","props","allowed","ret","key"],"mappings":";;;;;;AAMA,OAAO,SAASA,WAAT;;;;;;;AAOLC,KAPK,EAOSC,OAPT,EAOmC;AACxC,MAAMC,GAAG,GAAG,EAAZ;AACA,OAAK,IAAMC,GAAX,IAAkBH,KAAlB,EAAyB;AACvB,QAAIC,OAAO,CAACE,GAAD,CAAX,EAAkB;AAChBD,MAAAA,GAAG,CAACC,GAAD,CAAH,GAAWH,KAAK,CAACG,GAAD,CAAhB;AACD;AACF;AACD,SAAOD,GAAP;AACD","sourcesContent":["export type Filter<T, U> = T extends U ? T : never;\n\nexport type True<T> = { [K in keyof T]: T[K] extends true ? K : never }[keyof T];\n\nexport type AmbiguousBool<T> = { [K in keyof T]: T[K] extends false ? never : T[K] extends true ? never : K }[keyof T];\n\nexport function filterProps<\n Props extends Record<string, any>,\n Allowed extends Record<string, boolean>,\n Specific extends Filter<keyof Props, True<Allowed>>,\n // If value neither true nor false, it should be optional\n Optional extends Filter<keyof Props, AmbiguousBool<Allowed>>,\n Result extends { [P in Specific]: Props[P] } & { [Q in Optional]?: Props[Q] },\n>(props: Props, allowed: Allowed): Result {\n const ret = {} as any;\n for (const key in props) {\n if (allowed[key]) {\n ret[key] = props[key];\n }\n }\n return ret;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["listenFocusOutside.ts"],"names":["ReactDOM","debounce","isBrowser","isFirefox","handlers","addHandleEvent","document","body","addEventListener","handleNativeFocus","leading","trailing","capture","readyState","window","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","nextNode","querySelector","Error","listen","push","remove","index","indexOf","splice"],"mappings":"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","sourcesContent":["import ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\n\nimport { isBrowser, isFirefox } from './client';\n\ninterface FocusOutsideEventHandler {\n elements: HTMLElement[] | (() => HTMLElement[]);\n callback: (event: Event) => void;\n}\n\nconst handlers: FocusOutsideEventHandler[] = [];\n\nfunction addHandleEvent() {\n /**\n * Firefox do not supports 'focusin' event.\n * Focus events bubbles multiple time\n * without possibilty to cancell bubbling.\n * Using debounce to capture only first focus event\n * Mozilla Firefix\n * ¯\\_(ツ)_/¯\n */\n document.body.addEventListener(\n isFirefox ? 'focus' : ('focusin' as 'focus'),\n isFirefox ? debounce(handleNativeFocus, 0, { leading: true, trailing: false }) : handleNativeFocus,\n { capture: true },\n );\n}\n\nif (isBrowser) {\n if (document.readyState === 'complete') {\n addHandleEvent();\n } else {\n window.addEventListener('load', addHandleEvent);\n }\n}\n\nfunction handleNativeFocus(event: UIEvent) {\n // FIXME: not safe casting\n const target: HTMLElement = (event.target || event.srcElement) as HTMLElement;\n\n handlers.forEach((handler) => {\n let elements = handler.elements;\n if (typeof elements === 'function') {\n elements = elements();\n }\n\n if (elements.some(containsTargetOrRenderContainer(target))) {\n return;\n }\n ReactDOM.unstable_batchedUpdates(() => handler.callback(event));\n });\n}\n\nexport function containsTargetOrRenderContainer(target: Element) {\n return (element: Element) => {\n if (!element) {\n return false;\n }\n if (element.contains(target)) {\n return true;\n }\n const container = findRenderContainer(target, element);\n return !!container && element.contains(container);\n };\n}\n\n/**\n * Searches RenderContainer placed in \"rootNode\" for \"node\"\n */\nexport function findRenderContainer(node: Element, rootNode: Element, container?: Element): Element | null {\n const currentNode = node.parentNode;\n if (\n !currentNode ||\n node === rootNode ||\n currentNode === rootNode ||\n currentNode === document.body ||\n currentNode === document.documentElement ||\n !(currentNode instanceof Element)\n ) {\n return container ? container : null;\n }\n\n const newContainerId = currentNode.getAttribute('data-rendered-container-id');\n if (newContainerId) {\n const nextNode = document.querySelector(`[data-render-container-id~=\"${newContainerId}\"]`);\n\n if (!nextNode) {\n throw Error(`Origin node for render container was not found`);\n }\n\n return findRenderContainer(nextNode, rootNode, nextNode);\n }\n\n return findRenderContainer(currentNode, rootNode, container);\n}\n\nexport function listen(elements: HTMLElement[] | (() => HTMLElement[]), callback: (event: Event) => void) {\n const handler = {\n elements,\n callback,\n };\n handlers.push(handler);\n\n return {\n remove() {\n const index = handlers.indexOf(handler);\n if (index > -1) {\n handlers.splice(index, 1);\n }\n },\n };\n}\n"]}
1
+ {"version":3,"sources":["listenFocusOutside.ts"],"names":["ReactDOM","debounce","isBrowser","isFirefox","handlers","addHandleEvent","document","body","addEventListener","handleNativeFocus","leading","trailing","capture","readyState","window","event","target","srcElement","forEach","handler","elements","some","containsTargetOrRenderContainer","unstable_batchedUpdates","callback","element","contains","container","findRenderContainer","node","rootNode","currentNode","parentNode","documentElement","Element","newContainerId","getAttribute","nextNode","querySelector","Error","listen","push","remove","index","indexOf","splice"],"mappings":"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","sourcesContent":["import ReactDOM from 'react-dom';\nimport debounce from 'lodash.debounce';\n\nimport { isBrowser, isFirefox } from './client';\n\ninterface FocusOutsideEventHandler {\n elements: Element[] | (() => Element[]);\n callback: (event: Event) => void;\n}\n\nconst handlers: FocusOutsideEventHandler[] = [];\n\nfunction addHandleEvent() {\n /**\n * Firefox do not supports 'focusin' event.\n * Focus events bubbles multiple time\n * without possibilty to cancell bubbling.\n * Using debounce to capture only first focus event\n * Mozilla Firefix\n * ¯\\_(ツ)_/¯\n */\n document.body.addEventListener(\n isFirefox ? 'focus' : ('focusin' as 'focus'),\n isFirefox ? debounce(handleNativeFocus, 0, { leading: true, trailing: false }) : handleNativeFocus,\n { capture: true },\n );\n}\n\nif (isBrowser) {\n if (document.readyState === 'complete') {\n addHandleEvent();\n } else {\n window.addEventListener('load', addHandleEvent);\n }\n}\n\nfunction handleNativeFocus(event: UIEvent) {\n // FIXME: not safe casting\n const target: Element = (event.target || event.srcElement) as Element;\n\n handlers.forEach((handler) => {\n let elements = handler.elements;\n if (typeof elements === 'function') {\n elements = elements();\n }\n\n if (elements.some(containsTargetOrRenderContainer(target))) {\n return;\n }\n ReactDOM.unstable_batchedUpdates(() => handler.callback(event));\n });\n}\n\nexport function containsTargetOrRenderContainer(target: Element) {\n return (element: Element) => {\n if (!element) {\n return false;\n }\n if (element.contains(target)) {\n return true;\n }\n const container = findRenderContainer(target, element);\n return !!container && element.contains(container);\n };\n}\n\n/**\n * Searches RenderContainer placed in \"rootNode\" for \"node\"\n */\nexport function findRenderContainer(node: Element, rootNode: Element, container?: Element): Element | null {\n const currentNode = node.parentNode;\n if (\n !currentNode ||\n node === rootNode ||\n currentNode === rootNode ||\n currentNode === document.body ||\n currentNode === document.documentElement ||\n !(currentNode instanceof Element)\n ) {\n return container ? container : null;\n }\n\n const newContainerId = currentNode.getAttribute('data-rendered-container-id');\n if (newContainerId) {\n const nextNode = document.querySelector(`[data-render-container-id~=\"${newContainerId}\"]`);\n\n if (!nextNode) {\n throw Error(`Origin node for render container was not found`);\n }\n\n return findRenderContainer(nextNode, rootNode, nextNode);\n }\n\n return findRenderContainer(currentNode, rootNode, container);\n}\n\nexport function listen(elements: Element[] | (() => Element[]), callback: (event: Event) => void) {\n const handler = {\n elements,\n callback,\n };\n handlers.push(handler);\n\n return {\n remove() {\n const index = handlers.indexOf(handler);\n if (index > -1) {\n handlers.splice(index, 1);\n }\n },\n };\n}\n"]}
@@ -3,6 +3,6 @@ export declare function containsTargetOrRenderContainer(target: Element): (eleme
3
3
  * Searches RenderContainer placed in "rootNode" for "node"
4
4
  */
5
5
  export declare function findRenderContainer(node: Element, rootNode: Element, container?: Element): Element | null;
6
- export declare function listen(elements: HTMLElement[] | (() => HTMLElement[]), callback: (event: Event) => void): {
6
+ export declare function listen(elements: Element[] | (() => Element[]), callback: (event: Event) => void): {
7
7
  remove(): void;
8
8
  };
@@ -20,6 +20,7 @@ LocaleControls
20
20
 
21
21
  ```typescript static
22
22
  interface LocaleControls {
23
+ Autocomplete?: AutocompleteLocale;
23
24
  Spinner?: SpinnerLocale;
24
25
  TokenInput?: TokenInputLocale;
25
26
  ComboBox?: ComboBoxLocale;
@@ -1 +1 @@
1
- {"version":3,"sources":["useLocaleForControl.ts"],"names":["useContext","useMemo","LocaleContext","useLocaleForControl","controlName","localeHelper","locale","langCode","localeFromContext","Object","assign","get"],"mappings":"AAAA,SAASA,UAAT,EAAqBC,OAArB,QAAoC,OAApC;;;;AAIA,SAASC,aAAT,QAA8B,iBAA9B;;AAEA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;AACjCC,WADiC;AAEjCC,YAFiC;AAGN;AAC3B,oBAA6BL,UAAU,CAACE,aAAD,CAAvC,CAAQI,MAAR,eAAQA,MAAR,CAAgBC,QAAhB,eAAgBA,QAAhB;AACA,MAAMC,iBAAiB,GAAGF,MAAH,oBAAGA,MAAM,CAAGF,WAAH,CAAhC;AACA,SAAOH,OAAO,CAAC,oBAAMQ,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,YAAY,CAACM,GAAb,CAAiBJ,QAAjB,CAAlB,EAA8CC,iBAA9C,CAAN,EAAD,EAAyE,CAACD,QAAD,EAAWC,iBAAX,CAAzE,CAAd;AACD,CAPM","sourcesContent":["import { useContext, useMemo } from 'react';\n\nimport { LocaleControls } from './types';\nimport { LocaleHelper } from './LocaleHelper';\nimport { LocaleContext } from './LocaleContext';\n\nexport const useLocaleForControl = <TTranslationByLangCode extends object>(\n controlName: keyof LocaleControls,\n localeHelper: LocaleHelper<TTranslationByLangCode>,\n): TTranslationByLangCode => {\n const { locale, langCode } = useContext(LocaleContext);\n const localeFromContext = locale?.[controlName];\n return useMemo(() => Object.assign({}, localeHelper.get(langCode), localeFromContext), [langCode, localeFromContext]);\n};\n"]}
1
+ {"version":3,"sources":["useLocaleForControl.ts"],"names":["useContext","useMemo","LocaleContext","useLocaleForControl","controlName","localeHelper","locale","langCode","localeFromContext","Object","assign","get"],"mappings":"AAAA,SAASA,UAAT,EAAqBC,OAArB,QAAoC,OAApC;;;;AAIA,SAASC,aAAT,QAA8B,iBAA9B;;AAEA,OAAO,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAsB;AACjCC,WADiC;AAEjCC,YAFiC;AAGN;AAC3B,oBAA6BL,UAAU,CAACE,aAAD,CAAvC,CAAQI,MAAR,eAAQA,MAAR,CAAgBC,QAAhB,eAAgBA,QAAhB;AACA,MAAMC,iBAAiB,GAAGF,MAAH,oBAAGA,MAAM,CAAGF,WAAH,CAAhC;AACA,SAAOH,OAAO,CAAC,oBAAMQ,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,YAAY,CAACM,GAAb,CAAiBJ,QAAjB,CAAlB,EAA8CC,iBAA9C,CAAN,EAAD,EAAyE,CAACD,QAAD,EAAWC,iBAAX,CAAzE,CAAd;AACD,CAPM","sourcesContent":["import { useContext, useMemo } from 'react';\n\nimport { LocaleControls } from './types';\nimport { LocaleHelper } from './LocaleHelper';\nimport { LocaleContext } from './LocaleContext';\n\nexport const useLocaleForControl = <TTranslationByLangCode extends Record<string, any>>(\n controlName: keyof LocaleControls,\n localeHelper: LocaleHelper<TTranslationByLangCode>,\n): TTranslationByLangCode => {\n const { locale, langCode } = useContext(LocaleContext);\n const localeFromContext = locale?.[controlName];\n return useMemo(() => Object.assign({}, localeHelper.get(langCode), localeFromContext), [langCode, localeFromContext]);\n};\n"]}
@@ -1,3 +1,3 @@
1
1
  import { LocaleControls } from './types';
2
2
  import { LocaleHelper } from './LocaleHelper';
3
- export declare const useLocaleForControl: <TTranslationByLangCode extends object>(controlName: keyof LocaleControls, localeHelper: LocaleHelper<TTranslationByLangCode>) => TTranslationByLangCode;
3
+ export declare const useLocaleForControl: <TTranslationByLangCode extends Record<string, any>>(controlName: keyof LocaleControls, localeHelper: LocaleHelper<TTranslationByLangCode>) => TTranslationByLangCode;
package/lib/memo/memo.js CHANGED
@@ -8,8 +8,7 @@ export function memo(fn) {
8
8
  };
9
9
 
10
10
  var keysCount = 0;
11
- var limit = 1e4; // @ts-ignore
12
-
11
+ var limit = 1e4;
13
12
  return function () {
14
13
  try {
15
14
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
@@ -21,8 +20,7 @@ export function memo(fn) {
21
20
 
22
21
  if (fromCache) {
23
22
  return fromCache;
24
- } // @ts-ignore
25
-
23
+ }
26
24
 
27
25
  var result = fn.apply(void 0, args);
28
26
  cache[hash] = result;
@@ -1 +1 @@
1
- {"version":3,"sources":["memo.ts"],"names":["memo","fn","cache","getHash","args","reduce","acc","x","keysCount","limit","hash","fromCache","result"],"mappings":"AAAA,OAAO,SAASA,IAAT,CAAiBC,EAAjB,EAA2B;AAChC,MAAIC,KAA6B,GAAG,EAApC;AACA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,UAAiBA,IAAI,CAACC,MAAL,CAAY,UAACC,GAAD,EAAMC,CAAN,UAAYD,GAAG,GAAGC,CAAlB,EAAZ,EAAiC,EAAjC,CAAjB,EAAhB;AACA,MAAIC,SAAS,GAAG,CAAhB;AACA,MAAMC,KAAK,GAAG,GAAd;;AAEA;AACA,SAAO,YAAa;AAClB,QAAI,mCADKL,IACL,oDADKA,IACL;AACF,UAAMM,IAAI,GAAGP,OAAO,CAACC,IAAD,CAApB;AACA,UAAMO,SAAS,GAAGT,KAAK,CAACQ,IAAD,CAAvB;AACA,UAAIC,SAAJ,EAAe;AACb,eAAOA,SAAP;AACD;AACD;AACA,UAAMC,MAAM,GAAGX,EAAE,MAAF,SAAMG,IAAN,CAAf;AACAF,MAAAA,KAAK,CAACQ,IAAD,CAAL,GAAcE,MAAd;AACAJ,MAAAA,SAAS;AACT,aAAOI,MAAP;AACD,KAXD,SAWU;AACR,UAAIJ,SAAS,GAAGC,KAAhB,EAAuB;AACrBP,QAAAA,KAAK,GAAG,EAAR;AACAM,QAAAA,SAAS,GAAG,CAAZ;AACD;AACF;AACF,GAlBD;AAmBD","sourcesContent":["export function memo<T>(fn: T): T {\n let cache: { [key: string]: any } = {};\n const getHash = (args: any[]) => args.reduce((acc, x) => acc + x, '');\n let keysCount = 0;\n const limit = 1e4;\n\n // @ts-ignore\n return (...args) => {\n try {\n const hash = getHash(args);\n const fromCache = cache[hash];\n if (fromCache) {\n return fromCache;\n }\n // @ts-ignore\n const result = fn(...args);\n cache[hash] = result;\n keysCount++;\n return result;\n } finally {\n if (keysCount > limit) {\n cache = {};\n keysCount = 0;\n }\n }\n };\n}\n"]}
1
+ {"version":3,"sources":["memo.ts"],"names":["memo","fn","cache","getHash","args","reduce","acc","x","keysCount","limit","hash","fromCache","result"],"mappings":";;AAEA,OAAO,SAASA,IAAT,CAAiBC,EAAjB,EAAsC;AAC3C,MAAIC,KAA6B,GAAG,EAApC;AACA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,IAAD,UAAiBA,IAAI,CAACC,MAAL,CAAY,UAACC,GAAD,EAAMC,CAAN,UAAYD,GAAG,GAAGC,CAAlB,EAAZ,EAAiC,EAAjC,CAAjB,EAAhB;AACA,MAAIC,SAAS,GAAG,CAAhB;AACA,MAAMC,KAAK,GAAG,GAAd;;AAEA,SAAO,YAA0C;AAC/C,QAAI,mCADKL,IACL,oDADKA,IACL;AACF,UAAMM,IAAI,GAAGP,OAAO,CAACC,IAAD,CAApB;AACA,UAAMO,SAAS,GAAGT,KAAK,CAACQ,IAAD,CAAvB;AACA,UAAIC,SAAJ,EAAe;AACb,eAAOA,SAAP;AACD;AACD,UAAMC,MAAM,GAAGX,EAAE,MAAF,SAAMG,IAAN,CAAf;AACAF,MAAAA,KAAK,CAACQ,IAAD,CAAL,GAAcE,MAAd;AACAJ,MAAAA,SAAS;AACT,aAAOI,MAAP;AACD,KAVD,SAUU;AACR,UAAIJ,SAAS,GAAGC,KAAhB,EAAuB;AACrBP,QAAAA,KAAK,GAAG,EAAR;AACAM,QAAAA,SAAS,GAAG,CAAZ;AACD;AACF;AACF,GAjBD;AAkBD","sourcesContent":["type MemoFunction<T> = (...args: T[]) => any;\n\nexport function memo<T>(fn: MemoFunction<T>) {\n let cache: { [key: string]: any } = {};\n const getHash = (args: any[]) => args.reduce((acc, x) => acc + x, '');\n let keysCount = 0;\n const limit = 1e4;\n\n return (...args: Parameters<MemoFunction<T>>) => {\n try {\n const hash = getHash(args);\n const fromCache = cache[hash];\n if (fromCache) {\n return fromCache;\n }\n const result = fn(...args);\n cache[hash] = result;\n keysCount++;\n return result;\n } finally {\n if (keysCount > limit) {\n cache = {};\n keysCount = 0;\n }\n }\n };\n}\n"]}
package/lib/memo.d.ts CHANGED
@@ -1 +1,3 @@
1
- export declare function memo<T>(fn: T): T;
1
+ declare type MemoFunction<T> = (...args: T[]) => any;
2
+ export declare function memo<T>(fn: MemoFunction<T>): (...args: Parameters<MemoFunction<T>>) => any;
3
+ export {};
@@ -29,9 +29,9 @@ export function fetch(uri, options) {
29
29
  }
30
30
 
31
31
  function createXHR() {
32
- // @ts-ignore
32
+ // @ts-expect-error: XDomainRequest is IE-specific API, therefore it was removed from `lib.d.ts`. See: https://github.com/Microsoft/TypeScript/issues/2927.
33
33
  if (global.XDomainRequest) {
34
- // @ts-ignore
34
+ // @ts-expect-error: Read the comment above.
35
35
  return new XDomainRequest();
36
36
  }
37
37
 
@@ -1 +1 @@
1
- {"version":3,"sources":["fetch.ts"],"names":["fetch","uri","options","method","xhr","createXHR","promise","Promise","resolve","reject","onerror","ontimeout","onload","ok","status","statusText","text","responseText","json","JSON","parse","open","send","body","global","XDomainRequest","XMLHttpRequest"],"mappings":";;;;;;;;;;AAUA,OAAO,SAASA,KAAT,CAAeC,GAAf,EAA4BC,OAA5B,EAA8F,KAAlEA,OAAkE,cAAlEA,OAAkE,GAAZ,EAAY;AACnG,MAAMC,MAAM,GAAGD,OAAO,CAACC,MAAR,IAAkB,KAAjC;AACA,MAAMC,GAAG,GAAGC,SAAS,EAArB;;AAEA,MAAMC,OAAO,GAAG,IAAIC,OAAJ,CAA6B,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAChEL,IAAAA,GAAG,CAACM,OAAJ,GAAcD,MAAd;AACAL,IAAAA,GAAG,CAACO,SAAJ,GAAgBF,MAAhB;;AAEAL,IAAAA,GAAG,CAACQ,MAAJ,GAAa,YAAM;AACjBJ,MAAAA,OAAO,CAAC;AACNK,QAAAA,EAAE,EAAET,GAAG,CAACU,MAAJ,IAAc,GAAd,IAAqBV,GAAG,CAACU,MAAJ,GAAa,GADhC;AAENA,QAAAA,MAAM,EAAEV,GAAG,CAACU,MAFN;AAGNC,QAAAA,UAAU,EAAEX,GAAG,CAACW,UAHV;AAINC,QAAAA,IAAI,EAAE,wBAAMT,OAAO,CAACC,OAAR,CAAgBJ,GAAG,CAACa,YAApB,CAAN,EAJA;AAKNC,QAAAA,IAAI,EAAE,wBAAMX,OAAO,CAACC,OAAR,CAAgBW,IAAI,CAACC,KAAL,CAAWhB,GAAG,CAACa,YAAf,CAAhB,CAAN,EALA,EAAD,CAAP;;AAOD,KARD;AASD,GAbe,CAAhB;;AAeAb,EAAAA,GAAG,CAACiB,IAAJ,CAASlB,MAAT,EAAiBF,GAAjB;AACAG,EAAAA,GAAG,CAACkB,IAAJ,CAASpB,OAAO,CAACqB,IAAjB;;AAEA,SAAOjB,OAAP;AACD;;AAED,SAASD,SAAT,GAAqB;AACnB;AACA,MAAImB,MAAM,CAACC,cAAX,EAA2B;AACzB;AACA,WAAO,IAAIA,cAAJ,EAAP;AACD;AACD,SAAO,IAAIC,cAAJ,EAAP;AACD","sourcesContent":["interface ApiResponseType {\n ok: boolean;\n status: number;\n statusText: string;\n text: () => Promise<string>;\n json: () => Promise<Record<string, any>>;\n}\n\ntype Result = Promise<ApiResponseType>;\n\nexport function fetch(uri: string, options: { method?: 'GET' | 'POST'; body?: string } = {}): Result {\n const method = options.method || 'GET';\n const xhr = createXHR();\n\n const promise = new Promise<ApiResponseType>((resolve, reject) => {\n xhr.onerror = reject;\n xhr.ontimeout = reject;\n\n xhr.onload = () => {\n resolve({\n ok: xhr.status >= 200 && xhr.status < 300,\n status: xhr.status,\n statusText: xhr.statusText,\n text: () => Promise.resolve(xhr.responseText),\n json: () => Promise.resolve(JSON.parse(xhr.responseText)),\n });\n };\n });\n\n xhr.open(method, uri);\n xhr.send(options.body);\n\n return promise;\n}\n\nfunction createXHR() {\n // @ts-ignore\n if (global.XDomainRequest) {\n // @ts-ignore\n return new XDomainRequest();\n }\n return new XMLHttpRequest();\n}\n"]}
1
+ {"version":3,"sources":["fetch.ts"],"names":["fetch","uri","options","method","xhr","createXHR","promise","Promise","resolve","reject","onerror","ontimeout","onload","ok","status","statusText","text","responseText","json","JSON","parse","open","send","body","global","XDomainRequest","XMLHttpRequest"],"mappings":";;;;;;;;;;AAUA,OAAO,SAASA,KAAT,CAAeC,GAAf,EAA4BC,OAA5B,EAA8F,KAAlEA,OAAkE,cAAlEA,OAAkE,GAAZ,EAAY;AACnG,MAAMC,MAAM,GAAGD,OAAO,CAACC,MAAR,IAAkB,KAAjC;AACA,MAAMC,GAAG,GAAGC,SAAS,EAArB;;AAEA,MAAMC,OAAO,GAAG,IAAIC,OAAJ,CAA6B,UAACC,OAAD,EAAUC,MAAV,EAAqB;AAChEL,IAAAA,GAAG,CAACM,OAAJ,GAAcD,MAAd;AACAL,IAAAA,GAAG,CAACO,SAAJ,GAAgBF,MAAhB;;AAEAL,IAAAA,GAAG,CAACQ,MAAJ,GAAa,YAAM;AACjBJ,MAAAA,OAAO,CAAC;AACNK,QAAAA,EAAE,EAAET,GAAG,CAACU,MAAJ,IAAc,GAAd,IAAqBV,GAAG,CAACU,MAAJ,GAAa,GADhC;AAENA,QAAAA,MAAM,EAAEV,GAAG,CAACU,MAFN;AAGNC,QAAAA,UAAU,EAAEX,GAAG,CAACW,UAHV;AAINC,QAAAA,IAAI,EAAE,wBAAMT,OAAO,CAACC,OAAR,CAAgBJ,GAAG,CAACa,YAApB,CAAN,EAJA;AAKNC,QAAAA,IAAI,EAAE,wBAAMX,OAAO,CAACC,OAAR,CAAgBW,IAAI,CAACC,KAAL,CAAWhB,GAAG,CAACa,YAAf,CAAhB,CAAN,EALA,EAAD,CAAP;;AAOD,KARD;AASD,GAbe,CAAhB;;AAeAb,EAAAA,GAAG,CAACiB,IAAJ,CAASlB,MAAT,EAAiBF,GAAjB;AACAG,EAAAA,GAAG,CAACkB,IAAJ,CAASpB,OAAO,CAACqB,IAAjB;;AAEA,SAAOjB,OAAP;AACD;;AAED,SAASD,SAAT,GAAqB;AACnB;AACA,MAAImB,MAAM,CAACC,cAAX,EAA2B;AACzB;AACA,WAAO,IAAIA,cAAJ,EAAP;AACD;AACD,SAAO,IAAIC,cAAJ,EAAP;AACD","sourcesContent":["interface ApiResponseType {\n ok: boolean;\n status: number;\n statusText: string;\n text: () => Promise<string>;\n json: () => Promise<Record<string, any>>;\n}\n\ntype Result = Promise<ApiResponseType>;\n\nexport function fetch(uri: string, options: { method?: 'GET' | 'POST'; body?: string } = {}): Result {\n const method = options.method || 'GET';\n const xhr = createXHR();\n\n const promise = new Promise<ApiResponseType>((resolve, reject) => {\n xhr.onerror = reject;\n xhr.ontimeout = reject;\n\n xhr.onload = () => {\n resolve({\n ok: xhr.status >= 200 && xhr.status < 300,\n status: xhr.status,\n statusText: xhr.statusText,\n text: () => Promise.resolve(xhr.responseText),\n json: () => Promise.resolve(JSON.parse(xhr.responseText)),\n });\n };\n });\n\n xhr.open(method, uri);\n xhr.send(options.body);\n\n return promise;\n}\n\nfunction createXHR() {\n // @ts-expect-error: XDomainRequest is IE-specific API, therefore it was removed from `lib.d.ts`. See: https://github.com/Microsoft/TypeScript/issues/2927.\n if (global.XDomainRequest) {\n // @ts-expect-error: Read the comment above.\n return new XDomainRequest();\n }\n return new XMLHttpRequest();\n}\n"]}
@@ -10,7 +10,6 @@ export function reactGetTextContent(rootReactNode) {
10
10
  return getText(node);
11
11
  });
12
12
  } else if ( /*#__PURE__*/React.isValidElement(reactNode) && reactNode.props) {
13
- // @ts-ignore
14
13
  var children = reactNode.props.children;
15
14
  getText(children);
16
15
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["reactGetTextContent.ts"],"names":["React","reactGetTextContent","rootReactNode","result","getText","reactNode","toString","Array","isArray","forEach","node","isValidElement","props","children"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,OAAO,SAASC,mBAAT,CAA6BC,aAA7B,EAA6D;AAClE,MAAIC,MAAM,GAAG,EAAb;;AAEA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,SAAD,EAAgC;AAC9C,QAAI,OAAOA,SAAP,KAAqB,QAArB,IAAiC,OAAOA,SAAP,KAAqB,QAA1D,EAAoE;AAClEF,MAAAA,MAAM,IAAIE,SAAS,CAACC,QAAV,EAAV;AACD,KAFD,MAEO,IAAIC,KAAK,CAACC,OAAN,CAAcH,SAAd,CAAJ,EAA8B;AACnCA,MAAAA,SAAS,CAACI,OAAV,CAAkB,UAACC,IAAD,UAAUN,OAAO,CAACM,IAAD,CAAjB,EAAlB;AACD,KAFM,MAEA,IAAI,cAAAV,KAAK,CAACW,cAAN,CAAqBN,SAArB,KAAmCA,SAAS,CAACO,KAAjD,EAAwD;AAC7D;AACA,UAAQC,QAAR,GAAqBR,SAAS,CAACO,KAA/B,CAAQC,QAAR;;AAEAT,MAAAA,OAAO,CAACS,QAAD,CAAP;AACD;AACF,GAXD;;AAaAT,EAAAA,OAAO,CAACF,aAAD,CAAP;;AAEA,SAAOC,MAAP;AACD","sourcesContent":["import React from 'react';\n\nexport function reactGetTextContent(rootReactNode: React.ReactNode) {\n let result = '';\n\n const getText = (reactNode: React.ReactNode) => {\n if (typeof reactNode === 'string' || typeof reactNode === 'number') {\n result += reactNode.toString();\n } else if (Array.isArray(reactNode)) {\n reactNode.forEach((node) => getText(node));\n } else if (React.isValidElement(reactNode) && reactNode.props) {\n // @ts-ignore\n const { children } = reactNode.props;\n\n getText(children);\n }\n };\n\n getText(rootReactNode);\n\n return result;\n}\n"]}
1
+ {"version":3,"sources":["reactGetTextContent.ts"],"names":["React","reactGetTextContent","rootReactNode","result","getText","reactNode","toString","Array","isArray","forEach","node","isValidElement","props","children"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;;AAEA,OAAO,SAASC,mBAAT,CAA6BC,aAA7B,EAA6D;AAClE,MAAIC,MAAM,GAAG,EAAb;;AAEA,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,SAAD,EAAgC;AAC9C,QAAI,OAAOA,SAAP,KAAqB,QAArB,IAAiC,OAAOA,SAAP,KAAqB,QAA1D,EAAoE;AAClEF,MAAAA,MAAM,IAAIE,SAAS,CAACC,QAAV,EAAV;AACD,KAFD,MAEO,IAAIC,KAAK,CAACC,OAAN,CAAcH,SAAd,CAAJ,EAA8B;AACnCA,MAAAA,SAAS,CAACI,OAAV,CAAkB,UAACC,IAAD,UAAUN,OAAO,CAACM,IAAD,CAAjB,EAAlB;AACD,KAFM,MAEA,IAAI,cAAAV,KAAK,CAACW,cAAN,CAAqBN,SAArB,KAAmCA,SAAS,CAACO,KAAjD,EAAwD;AAC7D,UAAQC,QAAR,GAAqBR,SAAS,CAACO,KAA/B,CAAQC,QAAR;;AAEAT,MAAAA,OAAO,CAACS,QAAD,CAAP;AACD;AACF,GAVD;;AAYAT,EAAAA,OAAO,CAACF,aAAD,CAAP;;AAEA,SAAOC,MAAP;AACD","sourcesContent":["import React from 'react';\n\nexport function reactGetTextContent(rootReactNode: React.ReactNode) {\n let result = '';\n\n const getText = (reactNode: React.ReactNode) => {\n if (typeof reactNode === 'string' || typeof reactNode === 'number') {\n result += reactNode.toString();\n } else if (Array.isArray(reactNode)) {\n reactNode.forEach((node) => getText(node));\n } else if (React.isValidElement(reactNode) && reactNode.props) {\n const { children } = reactNode.props;\n\n getText(children);\n }\n };\n\n getText(rootReactNode);\n\n return result;\n}\n"]}
@@ -1,27 +1,35 @@
1
1
  /* eslint-disable react/no-find-dom-node */
2
2
  import { findDOMNode } from 'react-dom';
3
- import { isHTMLElement, isNode } from "../../SSRSafe";
3
+ import warning from 'warning';
4
+ import { isElement, isNode } from "../../SSRSafe";
4
5
  import { canUseDOM } from "../../client";
5
6
  import { isInstanceWithRootNode } from "../rootNodeDecorator";
6
7
  /**
7
- * Extracts component's root HTMLElement out of it's instance
8
+ * Extracts component's root Element (HTMLElement/SVGElement) out of it's instance
8
9
  * following the "StrictMode support convention" (@see README.md#strictmode, #2518).
9
10
  *
10
11
  * Replaces findDOMNode but falls back to it if "convention" is not respected.
11
12
  *
12
13
  * @param instance Component's instance provided by React.Ref or `this` inside class-components.
13
- * @returns Component's root HTMLElement or null
14
+ * @returns Component's root `Element` or null
14
15
  */
15
16
 
16
17
  export var getRootNode = function getRootNode(instance) {
18
+ /**
19
+ * Options of what instance can be:
20
+ * 1. null or undefined
21
+ * 2. DOM Element
22
+ * 3. class Component instance (object)
23
+ * 4. literally anything, returned from useImperativeHandle
24
+ */
17
25
  if (!canUseDOM || !instance) {
18
26
  // instance can be `null` if component was unmounted
19
- // also checking undefined for convinient usage
27
+ // also checking undefined for convenient usage
20
28
  return null;
21
29
  }
22
30
 
23
- if (isHTMLElement(instance)) {
24
- // instance can be a HTMLElement already if comming
31
+ if (isElement(instance)) {
32
+ // instance can be an Element already if its coming
25
33
  // from Refs of intrinsic elements (<div />, <button />, etc.)
26
34
  return instance;
27
35
  }
@@ -31,7 +39,7 @@ export var getRootNode = function getRootNode(instance) {
31
39
  if (isInstanceWithRootNode(instance)) {
32
40
  // it happened to be that native Node interface also has
33
41
  // the "getRootNode" method, but we can ignore it here
34
- // because we'd already checked the instance on being an HTMLElement
42
+ // because we'd already checked the instance on being an Element
35
43
  // which is a subclass of Node, so, just fixing types here
36
44
  if (!isNode(instance)) {
37
45
  rootNode = instance.getRootNode();
@@ -39,15 +47,25 @@ export var getRootNode = function getRootNode(instance) {
39
47
  }
40
48
 
41
49
  if (rootNode !== undefined) {
42
- // at this point, it is rather HTMLElement (what we are looking for)
43
- // or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it
50
+ // the getter exists and has returned something, it should be what we are looking for
51
+ // probably its an Element or null (which is also OK, e.g. Popup/Tooltip/Hint before opening)
44
52
  return rootNode;
45
- } // node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined
46
- // anyway, it tell us that the convention is not respected (by the component itself or its children),
47
- // so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode
53
+ }
48
54
 
55
+ try {
56
+ // rootNode is undefined, which means that the getter doesn't exists or returns the undefined
57
+ // anyway, it tell us that the convention is not respected,
58
+ // so, we have to fall back to the deprecated findDOMNode, which breaks StrictMode
59
+ // instance can still be a class component or an imperative handle (i.e., anything, except null/undefined/Element)
60
+ rootNode = findDOMNode(instance);
61
+ } catch (e) {
62
+ // but findDOMNode doesn`t accept everything that instance can be at this point,
63
+ // so we have to handle exceptions
64
+ // see https://github.com/facebook/react/blob/cae63505/packages/react-dom/src/__tests__/findDOMNode-test.js#L66-L86
65
+ warning(false, '[getRootNode]: can`t fallback to findDOMNode.' + '\n' + 'See https://github.com/skbkontur/retail-ui/blob/master/packages/react-ui/README.md#strictmode' + '\n\n' + e.message);
66
+ return null;
67
+ } // the findDOMNode can also return Text, but we are only interested in Elements, so just filter it
49
68
 
50
- rootNode = findDOMNode(instance); // the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it
51
69
 
52
- return isHTMLElement(rootNode) ? rootNode : null;
70
+ return isElement(rootNode) ? rootNode : null;
53
71
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["getRootNode.ts"],"names":["findDOMNode","isHTMLElement","isNode","canUseDOM","isInstanceWithRootNode","getRootNode","instance","rootNode","undefined"],"mappings":"AAAA;AACA,SAASA,WAAT,QAA4B,WAA5B;;;;AAIA,SAASC,aAAT,EAAwBC,MAAxB,QAAsC,YAAtC;AACA,SAASC,SAAT,QAA0B,WAA1B;;AAEA,SAASC,sBAAT,QAAuC,qBAAvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAoE;AAC7F,MAAI,CAACH,SAAD,IAAc,CAACG,QAAnB,EAA6B;AAC3B;AACA;AACA,WAAO,IAAP;AACD;;AAED,MAAIL,aAAa,CAACK,QAAD,CAAjB,EAA6B;AAC3B;AACA;AACA,WAAOA,QAAP;AACD;;AAED,MAAIC,QAAJ;;AAEA,MAAIH,sBAAsB,CAACE,QAAD,CAA1B,EAAsC;AACpC;AACA;AACA;AACA;AACA,QAAI,CAACJ,MAAM,CAACI,QAAD,CAAX,EAAuB;AACrBC,MAAAA,QAAQ,GAAGD,QAAQ,CAACD,WAAT,EAAX;AACD;AACF;;AAED,MAAIE,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B;AACA;AACA,WAAOD,QAAP;AACD;;AAED;AACA;AACA;AACAA,EAAAA,QAAQ,GAAGP,WAAW,CAACM,QAAD,CAAtB;;AAEA;AACA,SAAOL,aAAa,CAACM,QAAD,CAAb,GAA0BA,QAA1B,GAAqC,IAA5C;AACD,CAtCM","sourcesContent":["/* eslint-disable react/no-find-dom-node */\nimport { findDOMNode } from 'react-dom';\nimport React from 'react';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isHTMLElement, isNode } from '../SSRSafe';\nimport { canUseDOM } from '../client';\n\nimport { isInstanceWithRootNode } from './rootNodeDecorator';\n\n/**\n * Extracts component's root HTMLElement out of it's instance\n * following the \"StrictMode support convention\" (@see README.md#strictmode, #2518).\n *\n * Replaces findDOMNode but falls back to it if \"convention\" is not respected.\n *\n * @param instance Component's instance provided by React.Ref or `this` inside class-components.\n * @returns Component's root HTMLElement or null\n */\n\nexport const getRootNode = (instance: Nullable<React.ReactInstance>): Nullable<HTMLElement> => {\n if (!canUseDOM || !instance) {\n // instance can be `null` if component was unmounted\n // also checking undefined for convinient usage\n return null;\n }\n\n if (isHTMLElement(instance)) {\n // instance can be a HTMLElement already if comming\n // from Refs of intrinsic elements (<div />, <button />, etc.)\n return instance;\n }\n\n let rootNode;\n\n if (isInstanceWithRootNode(instance)) {\n // it happened to be that native Node interface also has\n // the \"getRootNode\" method, but we can ignore it here\n // because we'd already checked the instance on being an HTMLElement\n // which is a subclass of Node, so, just fixing types here\n if (!isNode(instance)) {\n rootNode = instance.getRootNode();\n }\n }\n\n if (rootNode !== undefined) {\n // at this point, it is rather HTMLElement (what we are looking for)\n // or null (which is also OK, e.g. Popup/Tooltip/Hint before opening), so, just return it\n return rootNode;\n }\n\n // node is undefined, which means that the instance's root node getter doesn't exists or returns the undefined\n // anyway, it tell us that the convention is not respected (by the component itself or its children),\n // so, we have to fall back to the deprecated findDOMNode, which always works but breaks StrictMode\n rootNode = findDOMNode(instance);\n\n // the findDOMNode can also return Text, but we are only intrested in HTMLElements, so just filter it\n return isHTMLElement(rootNode) ? rootNode : null;\n};\n"]}
1
+ {"version":3,"sources":["getRootNode.ts"],"names":["findDOMNode","warning","isElement","isNode","canUseDOM","isInstanceWithRootNode","getRootNode","instance","rootNode","undefined","e","message"],"mappings":"AAAA;AACA,SAASA,WAAT,QAA4B,WAA5B;;AAEA,OAAOC,OAAP,MAAoB,SAApB;;;AAGA,SAASC,SAAT,EAAoBC,MAApB,QAAkC,YAAlC;AACA,SAASC,SAAT,QAA0B,WAA1B;;AAEA,SAASC,sBAAT,QAAuC,qBAAvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAgE;AACzF;AACF;AACA;AACA;AACA;AACA;AACA;;AAEE,MAAI,CAACH,SAAD,IAAc,CAACG,QAAnB,EAA6B;AAC3B;AACA;AACA,WAAO,IAAP;AACD;;AAED,MAAIL,SAAS,CAACK,QAAD,CAAb,EAAyB;AACvB;AACA;AACA,WAAOA,QAAP;AACD;;AAED,MAAIC,QAAJ;;AAEA,MAAIH,sBAAsB,CAACE,QAAD,CAA1B,EAAsC;AACpC;AACA;AACA;AACA;AACA,QAAI,CAACJ,MAAM,CAACI,QAAD,CAAX,EAAuB;AACrBC,MAAAA,QAAQ,GAAGD,QAAQ,CAACD,WAAT,EAAX;AACD;AACF;;AAED,MAAIE,QAAQ,KAAKC,SAAjB,EAA4B;AAC1B;AACA;AACA,WAAOD,QAAP;AACD;;AAED,MAAI;AACF;AACA;AACA;AACA;AACAA,IAAAA,QAAQ,GAAGR,WAAW,CAACO,QAAD,CAAtB;AACD,GAND,CAME,OAAOG,CAAP,EAAU;AACV;AACA;AACA;AACAT,IAAAA,OAAO;AACL,SADK;AAEL;AACE,QADF;AAEE,mGAFF;AAGE,UAHF;AAIES,IAAAA,CAAC,CAACC,OANC,CAAP;;AAQA,WAAO,IAAP;AACD;;AAED;AACA,SAAOT,SAAS,CAACM,QAAD,CAAT,GAAsBA,QAAtB,GAAiC,IAAxC;AACD,CA9DM","sourcesContent":["/* eslint-disable react/no-find-dom-node */\nimport { findDOMNode } from 'react-dom';\nimport React from 'react';\nimport warning from 'warning';\n\nimport { Nullable } from '../../typings/utility-types';\nimport { isElement, isNode } from '../SSRSafe';\nimport { canUseDOM } from '../client';\n\nimport { isInstanceWithRootNode } from './rootNodeDecorator';\n\n/**\n * Extracts component's root Element (HTMLElement/SVGElement) out of it's instance\n * following the \"StrictMode support convention\" (@see README.md#strictmode, #2518).\n *\n * Replaces findDOMNode but falls back to it if \"convention\" is not respected.\n *\n * @param instance Component's instance provided by React.Ref or `this` inside class-components.\n * @returns Component's root `Element` or null\n */\n\nexport const getRootNode = (instance: Nullable<React.ReactInstance>): Nullable<Element> => {\n /**\n * Options of what instance can be:\n * 1. null or undefined\n * 2. DOM Element\n * 3. class Component instance (object)\n * 4. literally anything, returned from useImperativeHandle\n */\n\n if (!canUseDOM || !instance) {\n // instance can be `null` if component was unmounted\n // also checking undefined for convenient usage\n return null;\n }\n\n if (isElement(instance)) {\n // instance can be an Element already if its coming\n // from Refs of intrinsic elements (<div />, <button />, etc.)\n return instance;\n }\n\n let rootNode;\n\n if (isInstanceWithRootNode(instance)) {\n // it happened to be that native Node interface also has\n // the \"getRootNode\" method, but we can ignore it here\n // because we'd already checked the instance on being an Element\n // which is a subclass of Node, so, just fixing types here\n if (!isNode(instance)) {\n rootNode = instance.getRootNode();\n }\n }\n\n if (rootNode !== undefined) {\n // the getter exists and has returned something, it should be what we are looking for\n // probably its an Element or null (which is also OK, e.g. Popup/Tooltip/Hint before opening)\n return rootNode;\n }\n\n try {\n // rootNode is undefined, which means that the getter doesn't exists or returns the undefined\n // anyway, it tell us that the convention is not respected,\n // so, we have to fall back to the deprecated findDOMNode, which breaks StrictMode\n // instance can still be a class component or an imperative handle (i.e., anything, except null/undefined/Element)\n rootNode = findDOMNode(instance);\n } catch (e) {\n // but findDOMNode doesn`t accept everything that instance can be at this point,\n // so we have to handle exceptions\n // see https://github.com/facebook/react/blob/cae63505/packages/react-dom/src/__tests__/findDOMNode-test.js#L66-L86\n warning(\n false,\n '[getRootNode]: can`t fallback to findDOMNode.' +\n '\\n' +\n 'See https://github.com/skbkontur/retail-ui/blob/master/packages/react-ui/README.md#strictmode' +\n '\\n\\n' +\n e.message,\n );\n return null;\n }\n\n // the findDOMNode can also return Text, but we are only interested in Elements, so just filter it\n return isElement(rootNode) ? rootNode : null;\n};\n"]}
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { Nullable } from '../../typings/utility-types';
3
3
  /**
4
- * Extracts component's root HTMLElement out of it's instance
4
+ * Extracts component's root Element (HTMLElement/SVGElement) out of it's instance
5
5
  * following the "StrictMode support convention" (@see README.md#strictmode, #2518).
6
6
  *
7
7
  * Replaces findDOMNode but falls back to it if "convention" is not respected.
8
8
  *
9
9
  * @param instance Component's instance provided by React.Ref or `this` inside class-components.
10
- * @returns Component's root HTMLElement or null
10
+ * @returns Component's root `Element` or null
11
11
  */
12
- export declare const getRootNode: (instance: Nullable<React.ReactInstance>) => Nullable<HTMLElement>;
12
+ export declare const getRootNode: (instance: Nullable<React.ReactInstance>) => Nullable<Element>;
@@ -1 +1 @@
1
- {"version":3,"sources":["rootNodeDecorator.tsx"],"names":["EventEmitter","getRootNode","rootNode","Component","defaultRootNode","rootNodeEmitter","setRootNode","instance","emit","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":"uEAAA;;AAEA,OAAOA,YAAP,MAAyB,eAAzB;;;;AAIA,SAASC,WAAT,QAA4B,eAA5B;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,SAASC,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFMC,SAAS,CAACC,eAEhB,OAD5BC,eAC4B,GADV,IAAIL,YAAJ,EACU;;;AAI5BM,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAML,SAAQ,GAAGD,WAAW,CAACM,QAAD,CAA5B;AACA,YAAIL,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBG,IAArB,CAA0B,QAA1B,EAAoCN,SAApC;AACD;AACF,OAVkC;;AAY5BD,MAAAA,WAZ4B,GAYd,YAA6B;AAChD,eAAO,MAAKC,QAAZ;AACD,OAdkC;;AAgB5BO,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAA4E;AAC7G,cAAKL,eAAL,CAAqBM,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKP,eAAL,CAAqBQ,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBP,SAAjB,CAAd;;;AA6BA,MAAMW,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCd,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACY,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBhB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEiB,KAAK,EAAEhB,SAAS,CAACiB,IAAnB,EAAxC;AACD;;AAED,SAAOlB,QAAP;AACD;;AAED,OAAO,IAAMmB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACd,QAAD,EAAyD;AAC7F,SAAOe,OAAO,CAACf,QAAD,CAAP,IAAqBQ,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqClB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport type TRootNodeSubscription = {\n remove: () => void;\n};\n\nexport interface InstanceWithRootNode {\n getRootNode: () => Nullable<HTMLElement>;\n addRootNodeChangeListener?: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;\n}\n\ninterface ComponentWithDefaultRootNode {\n defaultRootNode?: HTMLElement | null;\n}\n\ninterface DecoratableClassComponent extends ComponentWithDefaultRootNode {\n new (...args: any[]): React.Component;\n}\n\nexport function rootNode<T extends DecoratableClassComponent>(Component: T) {\n const rootNode = class extends Component implements InstanceWithRootNode {\n public rootNode: Nullable<HTMLElement> = Component.defaultRootNode;\n public rootNodeEmitter = new EventEmitter();\n public constructor(...args: any[]) {\n super(args[0]);\n }\n\n public setRootNode = (instance: Nullable<React.ReactInstance>) => {\n const rootNode = getRootNode(instance);\n if (rootNode !== this.rootNode) {\n this.rootNode = rootNode;\n this.rootNodeEmitter.emit('change', rootNode);\n }\n };\n\n public getRootNode = (): Nullable<HTMLElement> => {\n return this.rootNode;\n };\n\n public addRootNodeChangeListener = (callback: (node: Nullable<HTMLElement>) => void): TRootNodeSubscription => {\n this.rootNodeEmitter.addListener('change', callback);\n return {\n remove: () => {\n this.rootNodeEmitter.removeListener('change', callback);\n },\n };\n };\n };\n\n const nameDescriptor = Object.getOwnPropertyDescriptor(rootNode, 'name');\n if (!nameDescriptor || nameDescriptor.configurable) {\n Object.defineProperty(rootNode, 'name', { value: Component.name });\n }\n\n return rootNode;\n}\n\nexport const isInstanceWithRootNode = (instance: unknown): instance is InstanceWithRootNode => {\n return Boolean(instance) && Object.prototype.hasOwnProperty.call(instance, 'getRootNode');\n};\n"]}
1
+ {"version":3,"sources":["rootNodeDecorator.tsx"],"names":["EventEmitter","getRootNode","rootNode","Component","defaultRootNode","rootNodeEmitter","setRootNode","instance","emit","addRootNodeChangeListener","callback","addListener","remove","removeListener","nameDescriptor","Object","getOwnPropertyDescriptor","configurable","defineProperty","value","name","isInstanceWithRootNode","Boolean","prototype","hasOwnProperty","call"],"mappings":"uEAAA;;AAEA,OAAOA,YAAP,MAAyB,eAAzB;;;;AAIA,SAASC,WAAT,QAA4B,eAA5B;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,SAASC,QAAT,CAAuDC,SAAvD,EAAqE;AAC1E,MAAMD,QAAQ;;;AAGZ,wBAAmC;AACjC,8FADiC,MAF5BA,QAE4B,GAFEC,SAAS,CAACC,eAEZ,OAD5BC,eAC4B,GADV,IAAIL,YAAJ,EACU;;;AAI5BM,MAAAA,WAJ4B,GAId,UAACC,QAAD,EAA6C;AAChE,YAAML,SAAQ,GAAGD,WAAW,CAACM,QAAD,CAA5B;AACA,YAAIL,SAAQ,KAAK,MAAKA,QAAtB,EAAgC;AAC9B,gBAAKA,QAAL,GAAgBA,SAAhB;AACA,gBAAKG,eAAL,CAAqBG,IAArB,CAA0B,QAA1B,EAAoCN,SAApC;AACD;AACF,OAVkC;;AAY5BD,MAAAA,WAZ4B,GAYd,YAAyB;AAC5C,eAAO,MAAKC,QAAZ;AACD,OAdkC;;AAgB5BO,MAAAA,yBAhB4B,GAgBA,UAACC,QAAD,EAAwE;AACzG,cAAKL,eAAL,CAAqBM,WAArB,CAAiC,QAAjC,EAA2CD,QAA3C;AACA,eAAO;AACLE,UAAAA,MAAM,EAAE,kBAAM;AACZ,kBAAKP,eAAL,CAAqBQ,cAArB,CAAoC,QAApC,EAA8CH,QAA9C;AACD,WAHI,EAAP;;AAKD,OAvBkC,cAElC,CALW,kBAAiBP,SAAjB,CAAd;;;AA6BA,MAAMW,cAAc,GAAGC,MAAM,CAACC,wBAAP,CAAgCd,QAAhC,EAA0C,MAA1C,CAAvB;AACA,MAAI,CAACY,cAAD,IAAmBA,cAAc,CAACG,YAAtC,EAAoD;AAClDF,IAAAA,MAAM,CAACG,cAAP,CAAsBhB,QAAtB,EAAgC,MAAhC,EAAwC,EAAEiB,KAAK,EAAEhB,SAAS,CAACiB,IAAnB,EAAxC;AACD;;AAED,SAAOlB,QAAP;AACD;;AAED,OAAO,IAAMmB,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACd,QAAD,EAAyD;AAC7F,SAAOe,OAAO,CAACf,QAAD,CAAP,IAAqBQ,MAAM,CAACQ,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqClB,QAArC,EAA+C,aAA/C,CAA5B;AACD,CAFM","sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport EventEmitter from 'eventemitter3';\n\nimport { Nullable } from '../../typings/utility-types';\n\nimport { getRootNode } from './getRootNode';\n\nexport type TSetRootNode = (e: Nullable<React.ReactNode>) => void;\n\nexport interface TRootNodeSubscription {\n remove: () => void;\n}\n\nexport interface InstanceWithRootNode {\n getRootNode: () => Nullable<Element>;\n addRootNodeChangeListener?: (callback: (node: Nullable<Element>) => void) => TRootNodeSubscription;\n}\n\ninterface ComponentWithDefaultRootNode {\n defaultRootNode?: Element | null;\n}\n\ninterface DecoratableClassComponent extends ComponentWithDefaultRootNode {\n new (...args: any[]): React.Component;\n}\n\nexport function rootNode<T extends DecoratableClassComponent>(Component: T) {\n const rootNode = class extends Component implements InstanceWithRootNode {\n public rootNode: Nullable<Element> = Component.defaultRootNode;\n public rootNodeEmitter = new EventEmitter();\n public constructor(...args: any[]) {\n super(args[0]);\n }\n\n public setRootNode = (instance: Nullable<React.ReactInstance>) => {\n const rootNode = getRootNode(instance);\n if (rootNode !== this.rootNode) {\n this.rootNode = rootNode;\n this.rootNodeEmitter.emit('change', rootNode);\n }\n };\n\n public getRootNode = (): Nullable<Element> => {\n return this.rootNode;\n };\n\n public addRootNodeChangeListener = (callback: (node: Nullable<Element>) => void): TRootNodeSubscription => {\n this.rootNodeEmitter.addListener('change', callback);\n return {\n remove: () => {\n this.rootNodeEmitter.removeListener('change', callback);\n },\n };\n };\n };\n\n const nameDescriptor = Object.getOwnPropertyDescriptor(rootNode, 'name');\n if (!nameDescriptor || nameDescriptor.configurable) {\n Object.defineProperty(rootNode, 'name', { value: Component.name });\n }\n\n return rootNode;\n}\n\nexport const isInstanceWithRootNode = (instance: unknown): instance is InstanceWithRootNode => {\n return Boolean(instance) && Object.prototype.hasOwnProperty.call(instance, 'getRootNode');\n};\n"]}
@@ -2,26 +2,26 @@ import React from 'react';
2
2
  import EventEmitter from 'eventemitter3';
3
3
  import { Nullable } from '../../typings/utility-types';
4
4
  export declare type TSetRootNode = (e: Nullable<React.ReactNode>) => void;
5
- export declare type TRootNodeSubscription = {
5
+ export interface TRootNodeSubscription {
6
6
  remove: () => void;
7
- };
7
+ }
8
8
  export interface InstanceWithRootNode {
9
- getRootNode: () => Nullable<HTMLElement>;
10
- addRootNodeChangeListener?: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;
9
+ getRootNode: () => Nullable<Element>;
10
+ addRootNodeChangeListener?: (callback: (node: Nullable<Element>) => void) => TRootNodeSubscription;
11
11
  }
12
12
  interface ComponentWithDefaultRootNode {
13
- defaultRootNode?: HTMLElement | null;
13
+ defaultRootNode?: Element | null;
14
14
  }
15
15
  interface DecoratableClassComponent extends ComponentWithDefaultRootNode {
16
16
  new (...args: any[]): React.Component;
17
17
  }
18
18
  export declare function rootNode<T extends DecoratableClassComponent>(Component: T): {
19
19
  new (...args: any[]): {
20
- rootNode: Nullable<HTMLElement>;
20
+ rootNode: Nullable<Element>;
21
21
  rootNodeEmitter: EventEmitter<string | symbol, any>;
22
22
  setRootNode: (instance: Nullable<React.ReactInstance>) => void;
23
- getRootNode: () => Nullable<HTMLElement>;
24
- addRootNodeChangeListener: (callback: (node: Nullable<HTMLElement>) => void) => TRootNodeSubscription;
23
+ getRootNode: () => Nullable<Element>;
24
+ addRootNodeChangeListener: (callback: (node: Nullable<Element>) => void) => TRootNodeSubscription;
25
25
  context: any;
26
26
  setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<{}>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
27
27
  forceUpdate(callback?: (() => void) | undefined): void;
@@ -46,7 +46,7 @@ export declare function rootNode<T extends DecoratableClassComponent>(Component:
46
46
  componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
47
47
  UNSAFE_componentWillUpdate?(nextProps: Readonly<{}>, nextState: Readonly<{}>, nextContext: any): void;
48
48
  };
49
- defaultRootNode?: HTMLElement | null | undefined;
49
+ defaultRootNode?: Element | null | undefined;
50
50
  } & T;
51
51
  export declare const isInstanceWithRootNode: (instance: unknown) => instance is InstanceWithRootNode;
52
52
  export {};
@@ -84,7 +84,9 @@ export var ColorFactory = /*#__PURE__*/function () {
84
84
  var rgb = [0, 0, 0];
85
85
 
86
86
  if (colorCode.length === 6) {
87
- colorCode.match(/.{2}/g).forEach(function (c, i) {
87
+ var _colorCode$match;
88
+
89
+ (_colorCode$match = colorCode.match(/.{2}/g)) == null ? void 0 : _colorCode$match.forEach(function (c, i) {
88
90
  rgb[i] = parseInt(c, 16);
89
91
  });
90
92
  } else if (colorCode.length === 3) {
@@ -1 +1 @@
1
- {"version":3,"sources":["ColorFactory.ts"],"names":["warning","clamp","extractColorParts","hue2rgb","parseHSLParts","parseRGBParts","ColorKeywords","ColorObject","RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","lowercasedTrimmedInput","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","keyword","hexString","type","test","Error","colorCode","substring","rgb","length","match","forEach","c","i","parseInt","split","gray","Math","round","hDeg","t1","t2"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, extractColorParts, hue2rgb, parseHSLParts, parseRGBParts } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\nimport { ColorKeywordsType, ColorObject, ColorType, RGBTuple } from './ColorObject';\n\ninterface ColorFactoryCacheType {\n [key: string]: ColorObject;\n}\n\nconst RGB_REGEX =\n /rgb\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*\\)/;\nconst RGBA_REGEX =\n /rgba\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSL_REGEX =\n /hsl\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSLA_REGEX =\n /hsla\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HEX_REGEX = /^#([0-9a-f]{3}|[0-9a-f]{6})$/;\n\nexport class ColorFactory {\n public static create(input: string) {\n if (!this.cache[input]) {\n this.cache[input] = Object.freeze(this.instantiate(input));\n }\n\n return this.cache[input];\n }\n\n private static cache: ColorFactoryCacheType = Object.create(null);\n\n private static instantiate(input: string) {\n if (typeof input !== 'string') {\n warning(false, `Invalid type of input (${typeof input}), expected a string. Returning transparent color`);\n return new ColorObject([0, 0, 0], 1.0, 'transparent');\n }\n const lowercasedTrimmedInput = input.toLowerCase().trim();\n\n if (lowercasedTrimmedInput === 'transparent') {\n return new ColorObject([0, 0, 0], 0, 'transparent');\n } else if (this.isKeyword(lowercasedTrimmedInput)) {\n return this.fromKeyword(lowercasedTrimmedInput);\n } else if (lowercasedTrimmedInput.startsWith('rgb')) {\n const parts = extractColorParts(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);\n let { r, g, b, a } = parseRGBParts(parts);\n\n r = clamp(r, 255);\n g = clamp(g, 255);\n b = clamp(b, 255);\n a = clamp(a, 1);\n\n return this.fromRGB(r, g, b, a);\n } else if (lowercasedTrimmedInput.startsWith('hsl')) {\n const parts = extractColorParts(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);\n let { h, s, l, a } = parseHSLParts(parts);\n\n h = clamp(h, 360);\n s = clamp(s, 1);\n l = clamp(l, 1);\n a = clamp(a, 1);\n\n return this.fromHSL(h, s, l, a);\n }\n\n return this.fromHex(lowercasedTrimmedInput);\n }\n\n private static isKeyword(input: string): input is ColorKeywordsType {\n return Object.prototype.hasOwnProperty.call(ColorKeywords, input);\n }\n\n private static fromKeyword(keyword: ColorKeywordsType) {\n return this.fromHex(ColorKeywords[keyword], keyword);\n }\n\n private static fromHex(hexString: string, type: ColorType = 'hex') {\n if (!HEX_REGEX.test(hexString)) {\n throw new Error(`${hexString} is not a valid hex color string`);\n }\n\n const colorCode = hexString.substring(1);\n const rgb: RGBTuple = [0, 0, 0];\n if (colorCode.length === 6) {\n colorCode.match(/.{2}/g)!.forEach((c, i) => {\n rgb[i] = parseInt(c, 16);\n });\n } else if (colorCode.length === 3) {\n colorCode.split('').forEach((c, i) => {\n rgb[i] = parseInt(c + c, 16);\n });\n }\n return new ColorObject(rgb, 1.0, type);\n }\n\n private static fromRGB(r: number, g: number, b: number, a = 1.0) {\n return new ColorObject([r, g, b], a, a < 1 ? 'rgba' : 'rgb');\n }\n\n private static fromHSL(h: number, s: number, l: number, a = 1.0) {\n if (s === 0) {\n const gray = Math.round(l * 255);\n return new ColorObject([gray, gray, gray], a, a < 1 ? 'hsla' : 'hsl');\n }\n\n const hDeg = h / 360;\n const t1 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const t2 = l * 2 - t1;\n\n const r = hue2rgb(hDeg + 1 / 3, t1, t2);\n const g = hue2rgb(hDeg, t1, t2);\n const b = hue2rgb(hDeg - 1 / 3, t1, t2);\n\n const rgb: RGBTuple = [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n return new ColorObject(rgb, a, a < 1 ? 'hsla' : 'hsl');\n }\n}\n"]}
1
+ {"version":3,"sources":["ColorFactory.ts"],"names":["warning","clamp","extractColorParts","hue2rgb","parseHSLParts","parseRGBParts","ColorKeywords","ColorObject","RGB_REGEX","RGBA_REGEX","HSL_REGEX","HSLA_REGEX","HEX_REGEX","ColorFactory","create","input","cache","Object","freeze","instantiate","lowercasedTrimmedInput","toLowerCase","trim","isKeyword","fromKeyword","startsWith","parts","r","g","b","a","fromRGB","h","s","l","fromHSL","fromHex","prototype","hasOwnProperty","call","keyword","hexString","type","test","Error","colorCode","substring","rgb","length","match","forEach","c","i","parseInt","split","gray","Math","round","hDeg","t1","t2"],"mappings":"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","sourcesContent":["import warning from 'warning';\n\nimport { clamp, extractColorParts, hue2rgb, parseHSLParts, parseRGBParts } from './ColorHelpers';\nimport { ColorKeywords } from './ColorKeywords';\nimport { ColorKeywordsType, ColorObject, ColorType, RGBTuple } from './ColorObject';\n\ninterface ColorFactoryCacheType {\n [key: string]: ColorObject;\n}\n\nconst RGB_REGEX =\n /rgb\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*\\)/;\nconst RGBA_REGEX =\n /rgba\\(\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(\\d{1,3}(?:(?:\\.\\d+)?%)?)\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSL_REGEX =\n /hsl\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HSLA_REGEX =\n /hsla\\(\\s*(\\d{1,3})\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*,\\s*(0|0\\.\\d+|1|1\\.0+|\\d{1,3}(?:(?:\\.\\d+)?%))\\s*\\)/;\nconst HEX_REGEX = /^#([0-9a-f]{3}|[0-9a-f]{6})$/;\n\nexport class ColorFactory {\n public static create(input: string) {\n if (!this.cache[input]) {\n this.cache[input] = Object.freeze(this.instantiate(input));\n }\n\n return this.cache[input];\n }\n\n private static cache: ColorFactoryCacheType = Object.create(null);\n\n private static instantiate(input: string) {\n if (typeof input !== 'string') {\n warning(false, `Invalid type of input (${typeof input}), expected a string. Returning transparent color`);\n return new ColorObject([0, 0, 0], 1.0, 'transparent');\n }\n const lowercasedTrimmedInput = input.toLowerCase().trim();\n\n if (lowercasedTrimmedInput === 'transparent') {\n return new ColorObject([0, 0, 0], 0, 'transparent');\n } else if (this.isKeyword(lowercasedTrimmedInput)) {\n return this.fromKeyword(lowercasedTrimmedInput);\n } else if (lowercasedTrimmedInput.startsWith('rgb')) {\n const parts = extractColorParts(lowercasedTrimmedInput, RGB_REGEX, RGBA_REGEX);\n let { r, g, b, a } = parseRGBParts(parts);\n\n r = clamp(r, 255);\n g = clamp(g, 255);\n b = clamp(b, 255);\n a = clamp(a, 1);\n\n return this.fromRGB(r, g, b, a);\n } else if (lowercasedTrimmedInput.startsWith('hsl')) {\n const parts = extractColorParts(lowercasedTrimmedInput, HSL_REGEX, HSLA_REGEX);\n let { h, s, l, a } = parseHSLParts(parts);\n\n h = clamp(h, 360);\n s = clamp(s, 1);\n l = clamp(l, 1);\n a = clamp(a, 1);\n\n return this.fromHSL(h, s, l, a);\n }\n\n return this.fromHex(lowercasedTrimmedInput);\n }\n\n private static isKeyword(input: string): input is ColorKeywordsType {\n return Object.prototype.hasOwnProperty.call(ColorKeywords, input);\n }\n\n private static fromKeyword(keyword: ColorKeywordsType) {\n return this.fromHex(ColorKeywords[keyword], keyword);\n }\n\n private static fromHex(hexString: string, type: ColorType = 'hex') {\n if (!HEX_REGEX.test(hexString)) {\n throw new Error(`${hexString} is not a valid hex color string`);\n }\n\n const colorCode = hexString.substring(1);\n const rgb: RGBTuple = [0, 0, 0];\n if (colorCode.length === 6) {\n colorCode.match(/.{2}/g)?.forEach((c, i) => {\n rgb[i] = parseInt(c, 16);\n });\n } else if (colorCode.length === 3) {\n colorCode.split('').forEach((c, i) => {\n rgb[i] = parseInt(c + c, 16);\n });\n }\n return new ColorObject(rgb, 1.0, type);\n }\n\n private static fromRGB(r: number, g: number, b: number, a = 1.0) {\n return new ColorObject([r, g, b], a, a < 1 ? 'rgba' : 'rgb');\n }\n\n private static fromHSL(h: number, s: number, l: number, a = 1.0) {\n if (s === 0) {\n const gray = Math.round(l * 255);\n return new ColorObject([gray, gray, gray], a, a < 1 ? 'hsla' : 'hsl');\n }\n\n const hDeg = h / 360;\n const t1 = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const t2 = l * 2 - t1;\n\n const r = hue2rgb(hDeg + 1 / 3, t1, t2);\n const g = hue2rgb(hDeg, t1, t2);\n const b = hue2rgb(hDeg - 1 / 3, t1, t2);\n\n const rgb: RGBTuple = [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];\n return new ColorObject(rgb, a, a < 1 ? 'hsla' : 'hsl');\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["ColorFunctions.ts"],"names":["clamp","floatFromPercent","ColorFactory","DEFAULT_DARK","create","DEFAULT_LIGHT","ColorFunctionsCache","Object","buildCacheKey","name","args","join","shiftColor","colorString","a","sign","method","toLowerCase","amount","endsWith","parseFloat","color","hsl","toHSL","l","newColor","alpha","h","s","toColorString","type","lighten","key","undefined","darken","contrast","darkString","lightString","threshold","dark","light","luma","toRGBString","toHEXString","red","rgb","green","blue","isValid","e","fade","clone"],"mappings":"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","sourcesContent":["import { clamp, floatFromPercent } from './ColorHelpers';\nimport { ColorFactory } from './ColorFactory';\nimport { ColorObject } from './ColorObject';\n\ntype SignType = '+' | '-';\ntype MethodType = 'absolute' | 'relative';\n\nconst DEFAULT_DARK = ColorFactory.create('#333333');\nconst DEFAULT_LIGHT = ColorFactory.create('#fff');\nconst ColorFunctionsCache: { [key: string]: string } = Object.create(null);\n\nconst buildCacheKey = (name: string, ...args: any[]) => `${name}(${args.join()})`;\n\nconst shiftColor = (colorString: string, a: number | string, sign: SignType, method?: MethodType) => {\n if (!colorString) {\n return '';\n }\n\n if (colorString.toLowerCase() === 'transparent') {\n return 'transparent';\n }\n\n let amount: number;\n if (typeof a === 'string') {\n amount = a.endsWith('%') ? floatFromPercent(a) : parseFloat(a);\n } else {\n amount = a;\n }\n amount = clamp(amount, 1);\n\n const color = ColorFactory.create(colorString);\n const hsl = color.toHSL();\n\n if (sign === '+') {\n hsl.l += method === 'relative' ? hsl.l * amount : amount;\n } else {\n hsl.l -= method === 'relative' ? hsl.l * amount : amount;\n }\n\n hsl.l = clamp(hsl.l);\n\n let newColor: ColorObject;\n if (color.alpha < 1) {\n newColor = ColorFactory.create(`hsla(${hsl.h}, ${hsl.s}, ${hsl.l}, ${hsl.a})`);\n } else {\n newColor = ColorFactory.create(`hsl(${hsl.h}, ${hsl.s}, ${hsl.l})`);\n }\n return newColor.toColorString(color.type);\n};\n\nexport function lighten(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('lighten', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '+', method);\n return ColorFunctionsCache[key];\n }\n return ColorFunctionsCache[key];\n}\nexport function darken(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('darken', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '-', method);\n return ColorFunctionsCache[key];\n }\n\n return ColorFunctionsCache[key];\n}\nexport function contrast(colorString: string, darkString?: string, lightString?: string, threshold = 0.43) {\n const key = buildCacheKey('contrast', colorString, darkString, lightString, threshold);\n if (!colorString) {\n ColorFunctionsCache[key] = '';\n }\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString);\n let dark = typeof darkString === 'undefined' ? DEFAULT_DARK : ColorFactory.create(darkString);\n let light = typeof lightString === 'undefined' ? DEFAULT_LIGHT : ColorFactory.create(lightString);\n\n // Figure out which is actually light and dark:\n if (dark.luma() > light.luma()) {\n [dark, light] = [light, dark];\n }\n\n if (color.luma() < threshold) {\n ColorFunctionsCache[key] = light.alpha < 1 ? light.toRGBString() : light.toHEXString();\n } else {\n ColorFunctionsCache[key] = dark.alpha < 1 ? dark.toRGBString() : dark.toHEXString();\n }\n }\n return ColorFunctionsCache[key]!;\n}\n\nexport const red = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[0];\n};\nexport const green = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[1];\n};\nexport const blue = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[2];\n};\nexport const alpha = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.alpha;\n};\nexport const isValid = (colorString: string) => {\n try {\n ColorFactory.create(colorString);\n return true;\n } catch (e) {\n return false;\n }\n};\nexport const fade = (colorString: string, alpha: number) => {\n const key = buildCacheKey('fade', colorString, alpha);\n\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString).clone();\n color.alpha = alpha;\n ColorFunctionsCache[key] = color.toColorString(color.type === 'hex' ? 'rgba' : color.type);\n }\n return ColorFunctionsCache[key];\n};\n"]}
1
+ {"version":3,"sources":["ColorFunctions.ts"],"names":["clamp","floatFromPercent","ColorFactory","DEFAULT_DARK","create","DEFAULT_LIGHT","ColorFunctionsCache","Object","buildCacheKey","name","args","join","shiftColor","colorString","a","sign","method","toLowerCase","amount","endsWith","parseFloat","color","hsl","toHSL","l","newColor","alpha","h","s","toColorString","type","lighten","key","undefined","darken","contrast","darkString","lightString","threshold","dark","light","luma","toRGBString","toHEXString","red","rgb","green","blue","isValid","e","fade","clone"],"mappings":"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","sourcesContent":["import { clamp, floatFromPercent } from './ColorHelpers';\nimport { ColorFactory } from './ColorFactory';\nimport { ColorObject } from './ColorObject';\n\ntype SignType = '+' | '-';\ntype MethodType = 'absolute' | 'relative';\n\nconst DEFAULT_DARK = ColorFactory.create('#333333');\nconst DEFAULT_LIGHT = ColorFactory.create('#fff');\nconst ColorFunctionsCache: { [key: string]: string } = Object.create(null);\n\nconst buildCacheKey = (name: string, ...args: any[]) => `${name}(${args.join()})`;\n\nconst shiftColor = (colorString: string, a: number | string, sign: SignType, method?: MethodType) => {\n if (!colorString) {\n return '';\n }\n\n if (colorString.toLowerCase() === 'transparent') {\n return 'transparent';\n }\n\n let amount: number;\n if (typeof a === 'string') {\n amount = a.endsWith('%') ? floatFromPercent(a) : parseFloat(a);\n } else {\n amount = a;\n }\n amount = clamp(amount, 1);\n\n const color = ColorFactory.create(colorString);\n const hsl = color.toHSL();\n\n if (sign === '+') {\n hsl.l += method === 'relative' ? hsl.l * amount : amount;\n } else {\n hsl.l -= method === 'relative' ? hsl.l * amount : amount;\n }\n\n hsl.l = clamp(hsl.l);\n\n let newColor: ColorObject;\n if (color.alpha < 1) {\n newColor = ColorFactory.create(`hsla(${hsl.h}, ${hsl.s}, ${hsl.l}, ${hsl.a})`);\n } else {\n newColor = ColorFactory.create(`hsl(${hsl.h}, ${hsl.s}, ${hsl.l})`);\n }\n return newColor.toColorString(color.type);\n};\n\nexport function lighten(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('lighten', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '+', method);\n return ColorFunctionsCache[key];\n }\n return ColorFunctionsCache[key];\n}\nexport function darken(colorString: string, amount: number | string, method?: MethodType) {\n const key = buildCacheKey('darken', colorString, amount, method);\n if (ColorFunctionsCache[key] === undefined) {\n ColorFunctionsCache[key] = shiftColor(colorString, amount, '-', method);\n return ColorFunctionsCache[key];\n }\n\n return ColorFunctionsCache[key];\n}\nexport function contrast(colorString: string, darkString?: string, lightString?: string, threshold = 0.43) {\n const key = buildCacheKey('contrast', colorString, darkString, lightString, threshold);\n if (!colorString) {\n ColorFunctionsCache[key] = '';\n }\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString);\n let dark = typeof darkString === 'undefined' ? DEFAULT_DARK : ColorFactory.create(darkString);\n let light = typeof lightString === 'undefined' ? DEFAULT_LIGHT : ColorFactory.create(lightString);\n\n // Figure out which is actually light and dark:\n if (dark.luma() > light.luma()) {\n [dark, light] = [light, dark];\n }\n\n if (color.luma() < threshold) {\n ColorFunctionsCache[key] = light.alpha < 1 ? light.toRGBString() : light.toHEXString();\n } else {\n ColorFunctionsCache[key] = dark.alpha < 1 ? dark.toRGBString() : dark.toHEXString();\n }\n }\n return ColorFunctionsCache[key];\n}\n\nexport const red = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[0];\n};\nexport const green = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[1];\n};\nexport const blue = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.rgb[2];\n};\nexport const alpha = (colorString: string) => {\n const color = ColorFactory.create(colorString);\n return color.alpha;\n};\nexport const isValid = (colorString: string) => {\n try {\n ColorFactory.create(colorString);\n return true;\n } catch (e) {\n return false;\n }\n};\nexport const fade = (colorString: string, alpha: number) => {\n const key = buildCacheKey('fade', colorString, alpha);\n\n if (ColorFunctionsCache[key] === undefined) {\n const color = ColorFactory.create(colorString).clone();\n color.alpha = alpha;\n ColorFunctionsCache[key] = color.toColorString(color.type === 'hex' ? 'rgba' : color.type);\n }\n return ColorFunctionsCache[key];\n};\n"]}