@skbkontur/react-ui 6.4.3-6344a.0 → 6.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/Autocomplete/Autocomplete.js +1 -1
  3. package/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/components/Autocomplete/{Autocomplete.css.d.ts → Autocomplete.styles.d.ts} +1 -1
  5. package/components/Autocomplete/Autocomplete.styles.js +18 -0
  6. package/components/Autocomplete/Autocomplete.styles.js.map +1 -0
  7. package/components/Button/Button.js +2 -3
  8. package/components/Button/Button.js.map +1 -1
  9. package/components/Button/Button.mixins.js +6 -11
  10. package/components/Button/Button.mixins.js.map +1 -1
  11. package/components/Button/{Button.css.d.ts → Button.styles.d.ts} +2 -2
  12. package/components/Button/Button.styles.js +260 -0
  13. package/components/Button/Button.styles.js.map +1 -0
  14. package/components/Button/ButtonArrow.d.ts +1 -1
  15. package/components/Button/ButtonArrow.js +1 -1
  16. package/components/Button/ButtonArrow.js.map +1 -1
  17. package/components/Button/ButtonIcon.js +1 -1
  18. package/components/Button/ButtonIcon.js.map +1 -1
  19. package/components/Button/{ButtonIcon.css.d.ts → ButtonIcon.styles.d.ts} +1 -1
  20. package/components/Button/ButtonIcon.styles.js +53 -0
  21. package/components/Button/ButtonIcon.styles.js.map +1 -0
  22. package/components/Button/LoadingButtonIcon.js +1 -1
  23. package/components/Button/LoadingButtonIcon.js.map +1 -1
  24. package/components/Calendar/Calendar.js +1 -1
  25. package/components/Calendar/Calendar.js.map +1 -1
  26. package/components/Calendar/{Calendar.css.d.ts → Calendar.styles.d.ts} +1 -1
  27. package/components/Calendar/Calendar.styles.js +22 -0
  28. package/components/Calendar/Calendar.styles.js.map +1 -0
  29. package/components/Calendar/CalendarDay.js +1 -1
  30. package/components/Calendar/CalendarDay.js.map +1 -1
  31. package/components/Calendar/DayCellView.js +1 -1
  32. package/components/Calendar/DayCellView.js.map +1 -1
  33. package/components/Calendar/{DayCellView.css.d.ts → DayCellView.styles.d.ts} +1 -1
  34. package/components/Calendar/DayCellView.styles.js +31 -0
  35. package/components/Calendar/DayCellView.styles.js.map +1 -0
  36. package/components/Calendar/Month.js +2 -2
  37. package/components/Calendar/Month.js.map +1 -1
  38. package/components/Calendar/MonthView.js +1 -1
  39. package/components/Calendar/MonthView.js.map +1 -1
  40. package/components/Calendar/{MonthView.css.d.ts → MonthView.styles.d.ts} +1 -1
  41. package/components/Calendar/MonthView.styles.js +47 -0
  42. package/components/Calendar/MonthView.styles.js.map +1 -0
  43. package/components/Center/Center.js +1 -1
  44. package/components/Center/Center.js.map +1 -1
  45. package/components/Center/{Center.css.d.ts → Center.styles.d.ts} +1 -1
  46. package/components/Center/Center.styles.js +27 -0
  47. package/components/Center/Center.styles.js.map +1 -0
  48. package/components/Checkbox/Checkbox.js +1 -1
  49. package/components/Checkbox/Checkbox.js.map +1 -1
  50. package/components/Checkbox/Checkbox.mixins.js +6 -3
  51. package/components/Checkbox/Checkbox.mixins.js.map +1 -1
  52. package/components/Checkbox/{Checkbox.css.d.ts → Checkbox.styles.d.ts} +1 -2
  53. package/components/Checkbox/Checkbox.styles.js +100 -0
  54. package/components/Checkbox/Checkbox.styles.js.map +1 -0
  55. package/components/DateInput/DateFragmentsView.js +1 -1
  56. package/components/DateInput/DateFragmentsView.js.map +1 -1
  57. package/components/DateInput/{DateFragmentsView.css.d.ts → DateFragmentsView.styles.d.ts} +1 -1
  58. package/components/DateInput/DateFragmentsView.styles.js +28 -0
  59. package/components/DateInput/DateFragmentsView.styles.js.map +1 -0
  60. package/components/DateInput/DateInput.js +1 -1
  61. package/components/DateInput/DateInput.js.map +1 -1
  62. package/components/DateInput/{DateInput.css.d.ts → DateInput.styles.d.ts} +3 -2
  63. package/components/DateInput/DateInput.styles.js +29 -0
  64. package/components/DateInput/DateInput.styles.js.map +1 -0
  65. package/components/DatePicker/DatePicker.js +1 -1
  66. package/components/DatePicker/DatePicker.js.map +1 -1
  67. package/components/DatePicker/{DatePicker.css.d.ts → DatePicker.styles.d.ts} +1 -1
  68. package/components/DatePicker/DatePicker.styles.js +18 -0
  69. package/components/DatePicker/DatePicker.styles.js.map +1 -0
  70. package/components/DatePicker/MobilePicker.js +1 -1
  71. package/components/DatePicker/MobilePicker.js.map +1 -1
  72. package/components/DatePicker/MobilePicker.styles.d.ts +3 -0
  73. package/components/DatePicker/MobilePicker.styles.js +15 -0
  74. package/components/DatePicker/MobilePicker.styles.js.map +1 -0
  75. package/components/DateRangePicker/DateRangePicker.d.ts +4 -4
  76. package/components/DateRangePicker/DateRangePicker.js +27 -32
  77. package/components/DateRangePicker/DateRangePicker.js.map +1 -1
  78. package/components/DateRangePicker/{DateRangePicker.css.d.ts → DateRangePicker.styles.d.ts} +3 -7
  79. package/components/DateRangePicker/DateRangePicker.styles.js +57 -0
  80. package/components/DateRangePicker/DateRangePicker.styles.js.map +1 -0
  81. package/components/FileUploader/FileUploader.js +1 -1
  82. package/components/FileUploader/FileUploader.js.map +1 -1
  83. package/components/FileUploader/{FileUploader.css.d.ts → FileUploader.styles.d.ts} +3 -3
  84. package/components/FileUploader/FileUploader.styles.js +221 -0
  85. package/components/FileUploader/FileUploader.styles.js.map +1 -0
  86. package/components/FileUploader/FileUploaderFile.js +1 -1
  87. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  88. package/components/FileUploader/{FileUploaderFile.css.d.ts → FileUploaderFile.styles.d.ts} +3 -3
  89. package/components/FileUploader/FileUploaderFile.styles.js +184 -0
  90. package/components/FileUploader/FileUploaderFile.styles.js.map +1 -0
  91. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js +1 -1
  92. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.js.map +1 -1
  93. package/components/FileUploader/FileUploaderFileList/{FileUploaderFileList.css.d.ts → FileUploaderFileList.styles.d.ts} +3 -3
  94. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js +103 -0
  95. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.styles.js.map +1 -0
  96. package/components/FileUploader/FileUploaderFileStatusIcon.js +1 -1
  97. package/components/FileUploader/FileUploaderFileStatusIcon.js.map +1 -1
  98. package/components/GlobalLoader/GlobalLoaderView.js +7 -13
  99. package/components/GlobalLoader/GlobalLoaderView.js.map +1 -1
  100. package/components/GlobalLoader/GlobalLoaderView.styles.d.ts +17 -0
  101. package/components/GlobalLoader/GlobalLoaderView.styles.js +70 -0
  102. package/components/GlobalLoader/GlobalLoaderView.styles.js.map +1 -0
  103. package/components/Group/Group.js +1 -1
  104. package/components/Group/Group.js.map +1 -1
  105. package/components/Group/{Group.css.d.ts → Group.styles.d.ts} +1 -1
  106. package/components/Group/Group.styles.js +30 -0
  107. package/components/Group/Group.styles.js.map +1 -0
  108. package/components/Hint/Hint.js +1 -1
  109. package/components/Hint/Hint.js.map +1 -1
  110. package/components/Hint/{Hint.css.d.ts → Hint.styles.d.ts} +1 -1
  111. package/components/Hint/Hint.styles.js +18 -0
  112. package/components/Hint/Hint.styles.js.map +1 -0
  113. package/components/Input/Input.js +1 -1
  114. package/components/Input/Input.js.map +1 -1
  115. package/components/Input/{Input.css.d.ts → Input.styles.d.ts} +1 -1
  116. package/components/Input/Input.styles.js +68 -0
  117. package/components/Input/Input.styles.js.map +1 -0
  118. package/components/Input/InputLayout/InputLayout.js +1 -1
  119. package/components/Input/InputLayout/InputLayout.js.map +1 -1
  120. package/components/Input/InputLayout/{InputLayout.css.d.ts → InputLayout.styles.d.ts} +1 -1
  121. package/components/Input/InputLayout/InputLayout.styles.js +59 -0
  122. package/components/Input/InputLayout/InputLayout.styles.js.map +1 -0
  123. package/components/Input/InputLayout/InputLayoutAside.js +1 -1
  124. package/components/Input/InputLayout/InputLayoutAside.js.map +1 -1
  125. package/components/Input/InputLayout/InputLayoutAsideCounter.js +1 -1
  126. package/components/Input/InputLayout/InputLayoutAsideCounter.js.map +1 -1
  127. package/components/Input/InputLayout/InputLayoutAsideIcon.js +1 -1
  128. package/components/Input/InputLayout/InputLayoutAsideIcon.js.map +1 -1
  129. package/components/Input/InputLayout/InputLayoutAsideText.js +1 -1
  130. package/components/Input/InputLayout/InputLayoutAsideText.js.map +1 -1
  131. package/components/Kebab/Kebab.js +1 -1
  132. package/components/Kebab/Kebab.js.map +1 -1
  133. package/components/Kebab/{Kebab.css.d.ts → Kebab.styles.d.ts} +1 -1
  134. package/components/Kebab/Kebab.styles.js +36 -0
  135. package/components/Kebab/Kebab.styles.js.map +1 -0
  136. package/components/Link/Link.js +2 -3
  137. package/components/Link/Link.js.map +1 -1
  138. package/components/Link/{Link.css.d.ts → Link.styles.d.ts} +1 -1
  139. package/components/Link/Link.styles.js +82 -0
  140. package/components/Link/Link.styles.js.map +1 -0
  141. package/components/Link/LinkIcon.js +1 -1
  142. package/components/Link/LinkIcon.js.map +1 -1
  143. package/components/Loader/Loader.js +1 -1
  144. package/components/Loader/Loader.js.map +1 -1
  145. package/components/Loader/{Loader.css.d.ts → Loader.styles.d.ts} +1 -1
  146. package/components/Loader/Loader.styles.js +27 -0
  147. package/components/Loader/Loader.styles.js.map +1 -0
  148. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js +1 -1
  149. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.js.map +1 -1
  150. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.d.ts +6 -0
  151. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js +18 -0
  152. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.styles.js.map +1 -0
  153. package/components/MaskedInput/{MaskedInput.css.d.ts → MaskedInput.styles.d.ts} +1 -1
  154. package/components/MaskedInput/MaskedInput.styles.js +19 -0
  155. package/components/MaskedInput/MaskedInput.styles.js.map +1 -0
  156. package/components/MaskedInput/MaskedInputLegacy.js +1 -1
  157. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -1
  158. package/components/MaskedInputV2/MaskedInputV2.js +1 -1
  159. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -1
  160. package/components/MaskedInputV2/{MaskedInputV2.css.d.ts → MaskedInputV2.styles.d.ts} +1 -1
  161. package/components/MaskedInputV2/MaskedInputV2.styles.js +19 -0
  162. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -0
  163. package/components/MaskedInputV2/internal/MaskOverlay.js +1 -1
  164. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -1
  165. package/components/MaskedInputV2/internal/MaskedCore.js +1 -1
  166. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -1
  167. package/components/MaskedInputV2/internal/{MaskedInternal.css.d.ts → MaskedInternal.styles.d.ts} +1 -1
  168. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +34 -0
  169. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -0
  170. package/components/MenuFooter/MenuFooter.js +1 -1
  171. package/components/MenuFooter/MenuFooter.js.map +1 -1
  172. package/components/MenuFooter/{MenuFooter.css.d.ts → MenuFooter.styles.d.ts} +1 -1
  173. package/components/MenuFooter/MenuFooter.styles.js +34 -0
  174. package/components/MenuFooter/MenuFooter.styles.js.map +1 -0
  175. package/components/MenuHeader/MenuHeader.js +1 -1
  176. package/components/MenuHeader/MenuHeader.js.map +1 -1
  177. package/components/MenuHeader/{MenuHeader.css.d.ts → MenuHeader.styles.d.ts} +1 -1
  178. package/components/MenuHeader/MenuHeader.styles.js +34 -0
  179. package/components/MenuHeader/MenuHeader.styles.js.map +1 -0
  180. package/components/MenuItem/MenuItem.js +1 -1
  181. package/components/MenuItem/MenuItem.js.map +1 -1
  182. package/components/MenuItem/MenuItem.mixins.js +1 -1
  183. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  184. package/components/MenuItem/{MenuItem.css.d.ts → MenuItem.styles.d.ts} +3 -1
  185. package/components/MenuItem/MenuItem.styles.js +88 -0
  186. package/components/MenuItem/MenuItem.styles.js.map +1 -0
  187. package/components/MenuSeparator/MenuSeparator.js +1 -1
  188. package/components/MenuSeparator/MenuSeparator.js.map +1 -1
  189. package/components/MenuSeparator/{MenuSeparator.css.d.ts → MenuSeparator.styles.d.ts} +1 -1
  190. package/components/MenuSeparator/MenuSeparator.styles.js +18 -0
  191. package/components/MenuSeparator/MenuSeparator.styles.js.map +1 -0
  192. package/components/MiniModal/{MiniModal.css.d.ts → MiniModal.styles.d.ts} +1 -1
  193. package/components/MiniModal/MiniModal.styles.js +37 -0
  194. package/components/MiniModal/MiniModal.styles.js.map +1 -0
  195. package/components/MiniModal/MiniModalBody.js +1 -1
  196. package/components/MiniModal/MiniModalBody.js.map +1 -1
  197. package/components/MiniModal/MiniModalFooter.js +1 -1
  198. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  199. package/components/MiniModal/MiniModalHeader.js +1 -1
  200. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  201. package/components/MiniModal/MiniModalIndent.js +1 -1
  202. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  203. package/components/Modal/Modal.js +1 -1
  204. package/components/Modal/Modal.js.map +1 -1
  205. package/components/Modal/{Modal.css.d.ts → Modal.styles.d.ts} +1 -1
  206. package/components/Modal/Modal.styles.js +167 -0
  207. package/components/Modal/Modal.styles.js.map +1 -0
  208. package/components/Modal/ModalBody.js +1 -1
  209. package/components/Modal/ModalBody.js.map +1 -1
  210. package/components/Modal/ModalClose.js +1 -1
  211. package/components/Modal/ModalClose.js.map +1 -1
  212. package/components/Modal/ModalFooter.js +1 -1
  213. package/components/Modal/ModalFooter.js.map +1 -1
  214. package/components/Modal/ModalHeader.js +1 -1
  215. package/components/Modal/ModalHeader.js.map +1 -1
  216. package/components/Modal/ModalSeparator.js +1 -1
  217. package/components/Modal/ModalSeparator.js.map +1 -1
  218. package/components/Paging/Paging.js +1 -1
  219. package/components/Paging/Paging.js.map +1 -1
  220. package/components/Paging/{Paging.css.d.ts → Paging.styles.d.ts} +1 -1
  221. package/components/Paging/Paging.styles.js +99 -0
  222. package/components/Paging/Paging.styles.js.map +1 -0
  223. package/components/PasswordInput/PasswordInput.js +1 -1
  224. package/components/PasswordInput/PasswordInput.js.map +1 -1
  225. package/components/PasswordInput/{PasswordInput.css.d.ts → PasswordInput.styles.d.ts} +1 -1
  226. package/components/PasswordInput/PasswordInput.styles.js +36 -0
  227. package/components/PasswordInput/PasswordInput.styles.js.map +1 -0
  228. package/components/Radio/Radio.js +1 -1
  229. package/components/Radio/Radio.js.map +1 -1
  230. package/components/Radio/Radio.mixins.js +7 -4
  231. package/components/Radio/Radio.mixins.js.map +1 -1
  232. package/components/Radio/{Radio.css.d.ts → Radio.styles.d.ts} +1 -2
  233. package/components/Radio/Radio.styles.js +100 -0
  234. package/components/Radio/Radio.styles.js.map +1 -0
  235. package/components/RadioGroup/RadioGroup.js +1 -1
  236. package/components/RadioGroup/RadioGroup.js.map +1 -1
  237. package/components/RadioGroup/{RadioGroup.css.d.ts → RadioGroup.styles.d.ts} +1 -1
  238. package/components/RadioGroup/RadioGroup.styles.js +24 -0
  239. package/components/RadioGroup/RadioGroup.styles.js.map +1 -0
  240. package/components/ScrollContainer/ScrollBar.js +1 -1
  241. package/components/ScrollContainer/ScrollBar.js.map +1 -1
  242. package/components/ScrollContainer/ScrollContainer.js +1 -1
  243. package/components/ScrollContainer/ScrollContainer.js.map +1 -1
  244. package/components/ScrollContainer/{ScrollContainer.css.d.ts → ScrollContainer.styles.d.ts} +1 -1
  245. package/components/ScrollContainer/ScrollContainer.styles.js +52 -0
  246. package/components/ScrollContainer/ScrollContainer.styles.js.map +1 -0
  247. package/components/Select/Select.js +2 -2
  248. package/components/Select/Select.js.map +1 -1
  249. package/components/Select/{Select.css.d.ts → Select.styles.d.ts} +1 -1
  250. package/components/Select/Select.styles.js +57 -0
  251. package/components/Select/Select.styles.js.map +1 -0
  252. package/components/SidePage/SidePage.js +1 -1
  253. package/components/SidePage/SidePage.js.map +1 -1
  254. package/components/SidePage/{SidePage.css.d.ts → SidePage.styles.d.ts} +1 -1
  255. package/components/SidePage/SidePage.styles.js +158 -0
  256. package/components/SidePage/SidePage.styles.js.map +1 -0
  257. package/components/SidePage/SidePageBody.js +1 -1
  258. package/components/SidePage/SidePageBody.js.map +1 -1
  259. package/components/SidePage/SidePageCloseButton.js +1 -1
  260. package/components/SidePage/SidePageCloseButton.js.map +1 -1
  261. package/components/SidePage/SidePageContainer.js +1 -1
  262. package/components/SidePage/SidePageContainer.js.map +1 -1
  263. package/components/SidePage/SidePageFooter.js +1 -1
  264. package/components/SidePage/SidePageFooter.js.map +1 -1
  265. package/components/SidePage/SidePageHeader.js +1 -1
  266. package/components/SidePage/SidePageHeader.js.map +1 -1
  267. package/components/Spinner/Spinner.js +1 -1
  268. package/components/Spinner/Spinner.js.map +1 -1
  269. package/components/Spinner/{Spinner.css.d.ts → Spinner.styles.d.ts} +1 -1
  270. package/components/Spinner/Spinner.styles.js +43 -0
  271. package/components/Spinner/Spinner.styles.js.map +1 -0
  272. package/components/Sticky/Sticky.js +1 -1
  273. package/components/Sticky/Sticky.js.map +1 -1
  274. package/components/Sticky/{Sticky.css.d.ts → Sticky.styles.d.ts} +1 -1
  275. package/components/Sticky/Sticky.styles.js +27 -0
  276. package/components/Sticky/Sticky.styles.js.map +1 -0
  277. package/components/Switcher/Switcher.js +1 -1
  278. package/components/Switcher/Switcher.js.map +1 -1
  279. package/components/Switcher/{Switcher.css.d.ts → Switcher.styles.d.ts} +1 -1
  280. package/components/Switcher/Switcher.styles.js +39 -0
  281. package/components/Switcher/Switcher.styles.js.map +1 -0
  282. package/components/Tabs/Indicator.js +1 -1
  283. package/components/Tabs/Indicator.js.map +1 -1
  284. package/components/Tabs/{Indicator.css.d.ts → Indicator.styles.d.ts} +1 -1
  285. package/components/Tabs/Indicator.styles.js +27 -0
  286. package/components/Tabs/Indicator.styles.js.map +1 -0
  287. package/components/Tabs/Tab.js +1 -1
  288. package/components/Tabs/Tab.js.map +1 -1
  289. package/components/Tabs/{Tab.css.d.ts → Tab.styles.d.ts} +3 -3
  290. package/components/Tabs/Tab.styles.js +105 -0
  291. package/components/Tabs/Tab.styles.js.map +1 -0
  292. package/components/Tabs/Tabs.js +1 -1
  293. package/components/Tabs/Tabs.js.map +1 -1
  294. package/components/Tabs/{Tabs.css.d.ts → Tabs.styles.d.ts} +1 -1
  295. package/components/Tabs/Tabs.styles.js +26 -0
  296. package/components/Tabs/Tabs.styles.js.map +1 -0
  297. package/components/Textarea/Textarea.js +1 -1
  298. package/components/Textarea/Textarea.js.map +1 -1
  299. package/components/Textarea/{Textarea.css.d.ts → Textarea.styles.d.ts} +1 -1
  300. package/components/Textarea/Textarea.styles.js +73 -0
  301. package/components/Textarea/Textarea.styles.js.map +1 -0
  302. package/components/Textarea/TextareaCounter.js +1 -1
  303. package/components/Textarea/TextareaCounter.js.map +1 -1
  304. package/components/TimePicker/TimePicker.js +1 -1
  305. package/components/TimePicker/TimePicker.js.map +1 -1
  306. package/components/TimePicker/{TimePicker.css.d.ts → TimePicker.styles.d.ts} +1 -1
  307. package/components/TimePicker/TimePicker.styles.js +39 -0
  308. package/components/TimePicker/TimePicker.styles.js.map +1 -0
  309. package/components/TimePicker/TimePickerItems.js +1 -1
  310. package/components/TimePicker/TimePickerItems.js.map +1 -1
  311. package/components/TimePicker/TimePickerPopup.js +1 -1
  312. package/components/TimePicker/TimePickerPopup.js.map +1 -1
  313. package/components/Toast/Toast.js +1 -1
  314. package/components/Toast/Toast.js.map +1 -1
  315. package/components/Toast/{Toast.css.d.ts → Toast.styles.d.ts} +1 -1
  316. package/components/Toast/Toast.styles.js +24 -0
  317. package/components/Toast/Toast.styles.js.map +1 -0
  318. package/components/Toast/ToastView.js +1 -1
  319. package/components/Toast/ToastView.js.map +1 -1
  320. package/components/Toast/{ToastView.css.d.ts → ToastView.styles.d.ts} +1 -1
  321. package/components/Toast/ToastView.styles.js +67 -0
  322. package/components/Toast/ToastView.styles.js.map +1 -0
  323. package/components/Toggle/Toggle.js +1 -1
  324. package/components/Toggle/Toggle.js.map +1 -1
  325. package/components/Toggle/Toggle.mixins.js +7 -4
  326. package/components/Toggle/Toggle.mixins.js.map +1 -1
  327. package/components/Toggle/{Toggle.css.d.ts → Toggle.styles.d.ts} +1 -2
  328. package/components/Toggle/Toggle.styles.js +147 -0
  329. package/components/Toggle/Toggle.styles.js.map +1 -0
  330. package/components/Token/Token.js +1 -1
  331. package/components/Token/Token.js.map +1 -1
  332. package/components/Token/{Token.css.d.ts → Token.styles.d.ts} +1 -1
  333. package/components/Token/Token.styles.js +67 -0
  334. package/components/Token/Token.styles.js.map +1 -0
  335. package/components/Token/TokenView.js +1 -1
  336. package/components/Token/TokenView.js.map +1 -1
  337. package/components/TokenInput/TextWidthHelper.js +1 -1
  338. package/components/TokenInput/TextWidthHelper.js.map +1 -1
  339. package/components/TokenInput/TokenInput.js +1 -1
  340. package/components/TokenInput/TokenInput.js.map +1 -1
  341. package/components/TokenInput/{TokenInput.css.d.ts → TokenInput.styles.d.ts} +1 -1
  342. package/components/TokenInput/TokenInput.styles.js +68 -0
  343. package/components/TokenInput/TokenInput.styles.js.map +1 -0
  344. package/components/Tooltip/Tooltip.js +1 -1
  345. package/components/Tooltip/Tooltip.js.map +1 -1
  346. package/components/Tooltip/{Tooltip.css.d.ts → Tooltip.styles.d.ts} +1 -1
  347. package/components/Tooltip/Tooltip.styles.js +36 -0
  348. package/components/Tooltip/Tooltip.styles.js.map +1 -0
  349. package/internal/ClearCrossIcon/ClearCrossIcon.js +1 -1
  350. package/internal/ClearCrossIcon/ClearCrossIcon.js.map +1 -1
  351. package/internal/ClearCrossIcon/{ClearCrossIcon.css.d.ts → ClearCrossIcon.styles.d.ts} +3 -2
  352. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js +36 -0
  353. package/internal/ClearCrossIcon/ClearCrossIcon.styles.js.map +1 -0
  354. package/internal/CloseButtonIcon/CloseButtonIcon.js +8 -13
  355. package/internal/CloseButtonIcon/CloseButtonIcon.js.map +1 -1
  356. package/internal/CloseButtonIcon/{CloseButtonIcon.css.d.ts → CloseButtonIcon.styles.d.ts} +3 -4
  357. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js +24 -0
  358. package/internal/CloseButtonIcon/CloseButtonIcon.styles.js.map +1 -0
  359. package/internal/CommonWrapper/CommonWrapper.d.ts +1 -6
  360. package/internal/CommonWrapper/CommonWrapper.js +4 -18
  361. package/internal/CommonWrapper/CommonWrapper.js.map +1 -1
  362. package/internal/CustomComboBox/ComboBoxView.js +2 -2
  363. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  364. package/internal/CustomComboBox/CustomComboBox.styles.d.ts +4 -0
  365. package/internal/CustomComboBox/CustomComboBox.styles.js +18 -0
  366. package/internal/CustomComboBox/CustomComboBox.styles.js.map +1 -0
  367. package/internal/DateSelect/DateSelect.js +1 -1
  368. package/internal/DateSelect/DateSelect.js.map +1 -1
  369. package/internal/DateSelect/{DateSelect.css.d.ts → DateSelect.styles.d.ts} +1 -1
  370. package/internal/DateSelect/DateSelect.styles.js +24 -0
  371. package/internal/DateSelect/DateSelect.styles.js.map +1 -0
  372. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.d.ts +1 -1
  373. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js +11 -7
  374. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.js.map +1 -1
  375. package/internal/InputLikeText/InputLikeText.js +2 -2
  376. package/internal/InputLikeText/InputLikeText.js.map +1 -1
  377. package/internal/InputLikeText/{InputLikeText.css.d.ts → InputLikeText.styles.d.ts} +1 -1
  378. package/internal/InputLikeText/InputLikeText.styles.js +30 -0
  379. package/internal/InputLikeText/InputLikeText.styles.js.map +1 -0
  380. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js +4 -4
  381. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.js.map +1 -1
  382. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.d.ts +3 -0
  383. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js +15 -0
  384. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.styles.js.map +1 -0
  385. package/internal/MaskCharLowLine/MaskCharLowLine.js +1 -1
  386. package/internal/MaskCharLowLine/MaskCharLowLine.js.map +1 -1
  387. package/internal/MaskCharLowLine/MaskCharLowLine.styles.d.ts +3 -0
  388. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js +15 -0
  389. package/internal/MaskCharLowLine/MaskCharLowLine.styles.js.map +1 -0
  390. package/internal/Menu/Menu.js +1 -1
  391. package/internal/Menu/Menu.js.map +1 -1
  392. package/internal/Menu/{Menu.css.d.ts → Menu.styles.d.ts} +1 -1
  393. package/internal/Menu/Menu.styles.js +51 -0
  394. package/internal/Menu/Menu.styles.js.map +1 -0
  395. package/internal/MenuMessage/MenuMessage.js +1 -1
  396. package/internal/MenuMessage/MenuMessage.js.map +1 -1
  397. package/internal/MenuMessage/{MenuMessage.css.d.ts → MenuMessage.styles.d.ts} +1 -1
  398. package/internal/MenuMessage/MenuMessage.styles.js +41 -0
  399. package/internal/MenuMessage/MenuMessage.styles.js.map +1 -0
  400. package/internal/MobilePopup/MobilePopup.js +1 -1
  401. package/internal/MobilePopup/MobilePopup.js.map +1 -1
  402. package/internal/MobilePopup/{MobilePopup.css.d.ts → MobilePopup.styles.d.ts} +1 -1
  403. package/internal/MobilePopup/MobilePopup.styles.js +57 -0
  404. package/internal/MobilePopup/MobilePopup.styles.js.map +1 -0
  405. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js +1 -1
  406. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.js.map +1 -1
  407. package/internal/MobilePopup/MobilePopupFooter/{MobilePopupFooter.css.d.ts → MobilePopupFooter.styles.d.ts} +1 -1
  408. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js +25 -0
  409. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.styles.js.map +1 -0
  410. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js +1 -1
  411. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.js.map +1 -1
  412. package/internal/MobilePopup/MobilePopupHeader/{MobilePopupHeader.css.d.ts → MobilePopupHeader.styles.d.ts} +1 -1
  413. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js +47 -0
  414. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.styles.js.map +1 -0
  415. package/internal/NativeDateInput/NativeDateInput.js +1 -1
  416. package/internal/NativeDateInput/NativeDateInput.js.map +1 -1
  417. package/internal/NativeDateInput/NativeDateInput.styles.d.ts +3 -0
  418. package/internal/NativeDateInput/NativeDateInput.styles.js +15 -0
  419. package/internal/NativeDateInput/NativeDateInput.styles.js.map +1 -0
  420. package/internal/NativeTimeInput/NativeTimeInput.js +1 -1
  421. package/internal/NativeTimeInput/NativeTimeInput.js.map +1 -1
  422. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +3 -0
  423. package/internal/NativeTimeInput/NativeTimeInput.styles.js +15 -0
  424. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +1 -0
  425. package/internal/Popup/Popup.js +1 -1
  426. package/internal/Popup/Popup.js.map +1 -1
  427. package/internal/Popup/{Popup.css.d.ts → Popup.styles.d.ts} +1 -1
  428. package/internal/Popup/Popup.styles.js +69 -0
  429. package/internal/Popup/Popup.styles.js.map +1 -0
  430. package/internal/Popup/PopupPin.js +1 -1
  431. package/internal/Popup/PopupPin.js.map +1 -1
  432. package/internal/Popup/{PopupPin.css.d.ts → PopupPin.styles.d.ts} +1 -1
  433. package/internal/Popup/PopupPin.styles.js +33 -0
  434. package/internal/Popup/PopupPin.styles.js.map +1 -0
  435. package/internal/PopupMenu/PopupMenu.js +1 -1
  436. package/internal/PopupMenu/PopupMenu.js.map +1 -1
  437. package/internal/PopupMenu/PopupMenu.styles.d.ts +4 -0
  438. package/internal/PopupMenu/PopupMenu.styles.js +18 -0
  439. package/internal/PopupMenu/PopupMenu.styles.js.map +1 -0
  440. package/internal/RenderContainer/RenderContainer.d.ts +0 -1
  441. package/internal/RenderContainer/RenderContainer.js +1 -26
  442. package/internal/RenderContainer/RenderContainer.js.map +1 -1
  443. package/internal/ResizeDetector/ResizeDetector.js +1 -1
  444. package/internal/ResizeDetector/ResizeDetector.js.map +1 -1
  445. package/internal/ResizeDetector/{ResizeDetector.css.d.ts → ResizeDetector.styles.d.ts} +1 -1
  446. package/internal/ResizeDetector/ResizeDetector.styles.js +27 -0
  447. package/internal/ResizeDetector/ResizeDetector.styles.js.map +1 -0
  448. package/internal/SpinnerIcon/SpinnerIcon.js +1 -1
  449. package/internal/SpinnerIcon/SpinnerIcon.js.map +1 -1
  450. package/internal/SpinnerIcon/{SpinnerIcon.css.d.ts → SpinnerIcon.styles.d.ts} +1 -1
  451. package/internal/SpinnerIcon/SpinnerIcon.styles.js +24 -0
  452. package/internal/SpinnerIcon/SpinnerIcon.styles.js.map +1 -0
  453. package/internal/TextWidthHelper/TextWidthHelper.js +1 -1
  454. package/internal/TextWidthHelper/TextWidthHelper.js.map +1 -1
  455. package/internal/TextWidthHelper/TextWidthHelper.styles.d.ts +4 -0
  456. package/internal/TextWidthHelper/TextWidthHelper.styles.js +18 -0
  457. package/internal/TextWidthHelper/TextWidthHelper.styles.js.map +1 -0
  458. package/internal/TimeInput/TimeFragments.js +1 -1
  459. package/internal/TimeInput/TimeFragments.js.map +1 -1
  460. package/internal/TimeInput/{TimeFragments.css.d.ts → TimeFragments.styles.d.ts} +1 -1
  461. package/internal/TimeInput/TimeFragments.styles.js +78 -0
  462. package/internal/TimeInput/TimeFragments.styles.js.map +1 -0
  463. package/internal/TimeInput/TimeInput.js +1 -1
  464. package/internal/TimeInput/TimeInput.js.map +1 -1
  465. package/internal/TimeInput/{TimeInput.css.d.ts → TimeInput.styles.d.ts} +1 -1
  466. package/internal/TimeInput/TimeInput.styles.js +24 -0
  467. package/internal/TimeInput/TimeInput.styles.js.map +1 -0
  468. package/internal/icons2022/BaseIcon.js +1 -1
  469. package/internal/icons2022/BaseIcon.js.map +1 -1
  470. package/internal/icons2022/BaseIcon.styles.d.ts +3 -0
  471. package/internal/icons2022/BaseIcon.styles.js +16 -0
  472. package/internal/icons2022/BaseIcon.styles.js.map +1 -0
  473. package/internal/icons2022/LoadingIcon.js +1 -1
  474. package/internal/icons2022/LoadingIcon.js.map +1 -1
  475. package/lib/styles/getLabGrotesqueBaselineCompensation.d.ts +0 -6
  476. package/lib/styles/getLabGrotesqueBaselineCompensation.js +0 -26
  477. package/lib/styles/getLabGrotesqueBaselineCompensation.js.map +1 -1
  478. package/lib/theming/AnimationKeyframes.d.ts +1 -1
  479. package/lib/theming/AnimationKeyframes.js +1 -1
  480. package/lib/theming/AnimationKeyframes.js.map +1 -1
  481. package/lib/theming/Emotion.d.ts +2 -6
  482. package/lib/theming/Emotion.js +11 -34
  483. package/lib/theming/Emotion.js.map +1 -1
  484. package/package.json +5 -15
  485. package/components/Autocomplete/Autocomplete.css.js +0 -3
  486. package/components/Autocomplete/Autocomplete.css.js.map +0 -1
  487. package/components/Button/Button.css.js +0 -5
  488. package/components/Button/Button.css.js.map +0 -1
  489. package/components/Button/ButtonIcon.css.js +0 -3
  490. package/components/Button/ButtonIcon.css.js.map +0 -1
  491. package/components/Calendar/Calendar.css.js +0 -3
  492. package/components/Calendar/Calendar.css.js.map +0 -1
  493. package/components/Calendar/DayCellView.css.js +0 -3
  494. package/components/Calendar/DayCellView.css.js.map +0 -1
  495. package/components/Calendar/MonthView.css.js +0 -3
  496. package/components/Calendar/MonthView.css.js.map +0 -1
  497. package/components/Center/Center.css.js +0 -3
  498. package/components/Center/Center.css.js.map +0 -1
  499. package/components/Checkbox/Checkbox.css.js +0 -5
  500. package/components/Checkbox/Checkbox.css.js.map +0 -1
  501. package/components/DateInput/DateFragmentsView.css.js +0 -3
  502. package/components/DateInput/DateFragmentsView.css.js.map +0 -1
  503. package/components/DateInput/DateInput.css.js +0 -3
  504. package/components/DateInput/DateInput.css.js.map +0 -1
  505. package/components/DatePicker/DatePicker.css.js +0 -3
  506. package/components/DatePicker/DatePicker.css.js.map +0 -1
  507. package/components/DatePicker/MobilePicker.css.d.ts +0 -3
  508. package/components/DatePicker/MobilePicker.css.js +0 -3
  509. package/components/DatePicker/MobilePicker.css.js.map +0 -1
  510. package/components/DateRangePicker/DateRangePicker.css.js +0 -3
  511. package/components/DateRangePicker/DateRangePicker.css.js.map +0 -1
  512. package/components/FileUploader/FileUploader.css.js +0 -6
  513. package/components/FileUploader/FileUploader.css.js.map +0 -1
  514. package/components/FileUploader/FileUploaderFile.css.js +0 -5
  515. package/components/FileUploader/FileUploaderFile.css.js.map +0 -1
  516. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js +0 -5
  517. package/components/FileUploader/FileUploaderFileList/FileUploaderFileList.css.js.map +0 -1
  518. package/components/GlobalLoader/GlobalLoaderView.css.d.ts +0 -21
  519. package/components/GlobalLoader/GlobalLoaderView.css.js +0 -4
  520. package/components/GlobalLoader/GlobalLoaderView.css.js.map +0 -1
  521. package/components/Group/Group.css.js +0 -3
  522. package/components/Group/Group.css.js.map +0 -1
  523. package/components/Hint/Hint.css.js +0 -3
  524. package/components/Hint/Hint.css.js.map +0 -1
  525. package/components/Input/Input.css.js +0 -3
  526. package/components/Input/Input.css.js.map +0 -1
  527. package/components/Input/InputLayout/InputLayout.css.js +0 -4
  528. package/components/Input/InputLayout/InputLayout.css.js.map +0 -1
  529. package/components/Kebab/Kebab.css.js +0 -3
  530. package/components/Kebab/Kebab.css.js.map +0 -1
  531. package/components/Link/Link.css.js +0 -3
  532. package/components/Link/Link.css.js.map +0 -1
  533. package/components/Loader/Loader.css.js +0 -3
  534. package/components/Loader/Loader.css.js.map +0 -1
  535. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.d.ts +0 -6
  536. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js +0 -4
  537. package/components/MaskedInput/ColorableInputElement/ColorableInputElement.css.js.map +0 -1
  538. package/components/MaskedInput/MaskedInput.css.js +0 -4
  539. package/components/MaskedInput/MaskedInput.css.js.map +0 -1
  540. package/components/MaskedInputV2/MaskedInputV2.css.js +0 -4
  541. package/components/MaskedInputV2/MaskedInputV2.css.js.map +0 -1
  542. package/components/MaskedInputV2/internal/MaskedInternal.css.js +0 -4
  543. package/components/MaskedInputV2/internal/MaskedInternal.css.js.map +0 -1
  544. package/components/MenuFooter/MenuFooter.css.js +0 -3
  545. package/components/MenuFooter/MenuFooter.css.js.map +0 -1
  546. package/components/MenuHeader/MenuHeader.css.js +0 -3
  547. package/components/MenuHeader/MenuHeader.css.js.map +0 -1
  548. package/components/MenuItem/MenuItem.css.js +0 -3
  549. package/components/MenuItem/MenuItem.css.js.map +0 -1
  550. package/components/MenuSeparator/MenuSeparator.css.js +0 -3
  551. package/components/MenuSeparator/MenuSeparator.css.js.map +0 -1
  552. package/components/MiniModal/MiniModal.css.js +0 -4
  553. package/components/MiniModal/MiniModal.css.js.map +0 -1
  554. package/components/Modal/Modal.css.js +0 -4
  555. package/components/Modal/Modal.css.js.map +0 -1
  556. package/components/Paging/Paging.css.js +0 -3
  557. package/components/Paging/Paging.css.js.map +0 -1
  558. package/components/PasswordInput/PasswordInput.css.js +0 -3
  559. package/components/PasswordInput/PasswordInput.css.js.map +0 -1
  560. package/components/Radio/Radio.css.js +0 -5
  561. package/components/Radio/Radio.css.js.map +0 -1
  562. package/components/RadioGroup/RadioGroup.css.js +0 -3
  563. package/components/RadioGroup/RadioGroup.css.js.map +0 -1
  564. package/components/ScrollContainer/ScrollContainer.css.js +0 -4
  565. package/components/ScrollContainer/ScrollContainer.css.js.map +0 -1
  566. package/components/Select/Select.css.js +0 -3
  567. package/components/Select/Select.css.js.map +0 -1
  568. package/components/SidePage/SidePage.css.js +0 -3
  569. package/components/SidePage/SidePage.css.js.map +0 -1
  570. package/components/Spinner/Spinner.css.js +0 -3
  571. package/components/Spinner/Spinner.css.js.map +0 -1
  572. package/components/Sticky/Sticky.css.js +0 -3
  573. package/components/Sticky/Sticky.css.js.map +0 -1
  574. package/components/Switcher/Switcher.css.js +0 -3
  575. package/components/Switcher/Switcher.css.js.map +0 -1
  576. package/components/Tabs/Indicator.css.js +0 -3
  577. package/components/Tabs/Indicator.css.js.map +0 -1
  578. package/components/Tabs/Tab.css.js +0 -6
  579. package/components/Tabs/Tab.css.js.map +0 -1
  580. package/components/Tabs/Tabs.css.js +0 -3
  581. package/components/Tabs/Tabs.css.js.map +0 -1
  582. package/components/Textarea/Textarea.css.js +0 -3
  583. package/components/Textarea/Textarea.css.js.map +0 -1
  584. package/components/TimePicker/TimePicker.css.js +0 -3
  585. package/components/TimePicker/TimePicker.css.js.map +0 -1
  586. package/components/Toast/Toast.css.js +0 -3
  587. package/components/Toast/Toast.css.js.map +0 -1
  588. package/components/Toast/ToastView.css.js +0 -3
  589. package/components/Toast/ToastView.css.js.map +0 -1
  590. package/components/Toggle/Toggle.css.js +0 -5
  591. package/components/Toggle/Toggle.css.js.map +0 -1
  592. package/components/Token/Token.css.js +0 -4
  593. package/components/Token/Token.css.js.map +0 -1
  594. package/components/TokenInput/TokenInput.css.js +0 -4
  595. package/components/TokenInput/TokenInput.css.js.map +0 -1
  596. package/components/Tooltip/Tooltip.css.js +0 -3
  597. package/components/Tooltip/Tooltip.css.js.map +0 -1
  598. package/internal/ClearCrossIcon/ClearCrossIcon.css.js +0 -3
  599. package/internal/ClearCrossIcon/ClearCrossIcon.css.js.map +0 -1
  600. package/internal/CloseButtonIcon/CloseButtonIcon.css.js +0 -3
  601. package/internal/CloseButtonIcon/CloseButtonIcon.css.js.map +0 -1
  602. package/internal/CustomComboBox/CustomComboBox.css.d.ts +0 -4
  603. package/internal/CustomComboBox/CustomComboBox.css.js +0 -3
  604. package/internal/CustomComboBox/CustomComboBox.css.js.map +0 -1
  605. package/internal/DateSelect/DateSelect.css.js +0 -4
  606. package/internal/DateSelect/DateSelect.css.js.map +0 -1
  607. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.d.ts +0 -3
  608. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js +0 -3
  609. package/internal/HideBodyVerticalScroll/HideBodyVerticalScroll.css.js.map +0 -1
  610. package/internal/InputLikeText/InputLikeText.css.js +0 -3
  611. package/internal/InputLikeText/InputLikeText.css.js.map +0 -1
  612. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.d.ts +0 -5
  613. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js +0 -4
  614. package/internal/InternalTextareaWithLayout/InternalTextareaWithLayout.css.js.map +0 -1
  615. package/internal/MaskCharLowLine/MaskCharLowLine.css.d.ts +0 -3
  616. package/internal/MaskCharLowLine/MaskCharLowLine.css.js +0 -3
  617. package/internal/MaskCharLowLine/MaskCharLowLine.css.js.map +0 -1
  618. package/internal/Menu/Menu.css.js +0 -3
  619. package/internal/Menu/Menu.css.js.map +0 -1
  620. package/internal/MenuMessage/MenuMessage.css.js +0 -3
  621. package/internal/MenuMessage/MenuMessage.css.js.map +0 -1
  622. package/internal/MobilePopup/MobilePopup.css.js +0 -3
  623. package/internal/MobilePopup/MobilePopup.css.js.map +0 -1
  624. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js +0 -3
  625. package/internal/MobilePopup/MobilePopupFooter/MobilePopupFooter.css.js.map +0 -1
  626. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js +0 -3
  627. package/internal/MobilePopup/MobilePopupHeader/MobilePopupHeader.css.js.map +0 -1
  628. package/internal/NativeDateInput/NativeDateInput.css.d.ts +0 -3
  629. package/internal/NativeDateInput/NativeDateInput.css.js +0 -3
  630. package/internal/NativeDateInput/NativeDateInput.css.js.map +0 -1
  631. package/internal/NativeTimeInput/NativeTimeInput.css.d.ts +0 -3
  632. package/internal/NativeTimeInput/NativeTimeInput.css.js +0 -3
  633. package/internal/NativeTimeInput/NativeTimeInput.css.js.map +0 -1
  634. package/internal/Popup/Popup.css.js +0 -3
  635. package/internal/Popup/Popup.css.js.map +0 -1
  636. package/internal/Popup/PopupPin.css.js +0 -3
  637. package/internal/Popup/PopupPin.css.js.map +0 -1
  638. package/internal/PopupMenu/PopupMenu.css.d.ts +0 -4
  639. package/internal/PopupMenu/PopupMenu.css.js +0 -3
  640. package/internal/PopupMenu/PopupMenu.css.js.map +0 -1
  641. package/internal/ResizeDetector/ResizeDetector.css.js +0 -3
  642. package/internal/ResizeDetector/ResizeDetector.css.js.map +0 -1
  643. package/internal/SpinnerIcon/SpinnerIcon.css.js +0 -3
  644. package/internal/SpinnerIcon/SpinnerIcon.css.js.map +0 -1
  645. package/internal/TextWidthHelper/TextWidthHelper.css.d.ts +0 -4
  646. package/internal/TextWidthHelper/TextWidthHelper.css.js +0 -3
  647. package/internal/TextWidthHelper/TextWidthHelper.css.js.map +0 -1
  648. package/internal/TimeInput/TimeFragments.css.js +0 -3
  649. package/internal/TimeInput/TimeFragments.css.js.map +0 -1
  650. package/internal/TimeInput/TimeInput.css.js +0 -3
  651. package/internal/TimeInput/TimeInput.css.js.map +0 -1
  652. package/internal/icons2022/BaseIcon.css.d.ts +0 -3
  653. package/internal/icons2022/BaseIcon.css.js +0 -3
  654. package/internal/icons2022/BaseIcon.css.js.map +0 -1
  655. package/lib/styles/LabGrotesqueBaseline.css.d.ts +0 -1
  656. package/lib/styles/LabGrotesqueBaseline.css.js +0 -0
  657. package/lib/styles/LabGrotesqueBaseline.css.js.map +0 -1
  658. package/lib/theming/StaticStyles.d.ts +0 -30
  659. package/lib/theming/StaticStyles.js +0 -410
  660. package/lib/theming/StaticStyles.js.map +0 -1
  661. package/lib/theming/bindStaticStyles.d.ts +0 -4
  662. package/lib/theming/bindStaticStyles.js +0 -18
  663. package/lib/theming/bindStaticStyles.js.map +0 -1
  664. package/lib/theming/themeVars.d.ts +0 -26
  665. package/lib/theming/themeVars.js +0 -72
  666. package/lib/theming/themeVars.js.map +0 -1
  667. package/react-ui.css +0 -6926
@@ -0,0 +1,105 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import { shift } from '../../lib/styles/DimensionFunctions.js';
6
+ import { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';
7
+ import { fontSize, lineHeight, paddingX, paddingY } from './helpers.js';
8
+ export var globalClasses = prefix('tab')({
9
+ focus: 'focus',
10
+ });
11
+ export var getStyles = memoizeGetStyles(function (emotion) { return ({
12
+ rootSmall: function (t) {
13
+ return emotion.css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabRoot(t, 'small', emotion));
14
+ },
15
+ rootMedium: function (t) {
16
+ return emotion.css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabRoot(t, 'medium', emotion));
17
+ },
18
+ rootLarge: function (t) {
19
+ return emotion.css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabRoot(t, 'large', emotion));
20
+ },
21
+ verticalSmall: function (t) {
22
+ return emotion.css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabVertical(t, 'small', emotion));
23
+ },
24
+ verticalMedium: function (t) {
25
+ return emotion.css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabVertical(t, 'medium', emotion));
26
+ },
27
+ verticalLarge: function (t) {
28
+ return emotion.css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabVertical(t, 'large', emotion));
29
+ },
30
+ focusSmall: function (t) {
31
+ return emotion.css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabFocus(t, 'small', emotion));
32
+ },
33
+ focusMedium: function (t) {
34
+ return emotion.css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabFocus(t, 'medium', emotion));
35
+ },
36
+ focusLarge: function (t) {
37
+ return emotion.css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabFocus(t, 'large', emotion));
38
+ },
39
+ disabled: function (t) {
40
+ return emotion.css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n color: color-mix(in srgb, ", ", transparent 50%);\n cursor: default;\n "], ["\n color: color-mix(in srgb, ", ", transparent 50%);\n cursor: default;\n "])), t.tabTextColorDefault);
41
+ },
42
+ active: function () {
43
+ return emotion.css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n cursor: default;\n "], ["\n cursor: default;\n "])));
44
+ },
45
+ }); });
46
+ export var getHorizontalStyles = memoizeGetStyles(function (_a) {
47
+ var css = _a.css;
48
+ return ({
49
+ active: function (t) {
50
+ return css(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n &:hover {\n border-bottom: ", " solid transparent;\n }\n "], ["\n &:hover {\n border-bottom: ", " solid transparent;\n }\n "])), t.tabBorderWidth);
51
+ },
52
+ disabled: function () {
53
+ return css(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n &:hover {\n border-bottom-color: transparent;\n }\n "], ["\n &:hover {\n border-bottom-color: transparent;\n }\n "])));
54
+ },
55
+ primary: function (t) {
56
+ return css(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n &:hover {\n border-bottom-color: ", ";\n }\n "], ["\n &:hover {\n border-bottom-color: ", ";\n }\n "])), t.tabColorHoverPrimary);
57
+ },
58
+ success: function (t) {
59
+ return css(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n &:hover {\n border-bottom-color: ", ";\n }\n "], ["\n &:hover {\n border-bottom-color: ", ";\n }\n "])), t.tabColorHoverSuccess);
60
+ },
61
+ warning: function (t) {
62
+ return css(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n &:hover {\n border-bottom-color: ", ";\n }\n "], ["\n &:hover {\n border-bottom-color: ", ";\n }\n "])), t.tabColorHoverWarning);
63
+ },
64
+ error: function (t) {
65
+ return css(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n &:hover {\n border-bottom-color: ", ";\n }\n "], ["\n &:hover {\n border-bottom-color: ", ";\n }\n "])), t.tabColorHoverError);
66
+ },
67
+ });
68
+ });
69
+ export var getVerticalStyles = memoizeGetStyles(function (_a) {
70
+ var css = _a.css;
71
+ return ({
72
+ active: function (t) {
73
+ return css(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n &:hover {\n border-left: ", " solid transparent;\n }\n "], ["\n &:hover {\n border-left: ", " solid transparent;\n }\n "])), t.tabBorderWidth);
74
+ },
75
+ disabled: function () {
76
+ return css(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n &:hover {\n border-left-color: transparent;\n }\n "], ["\n &:hover {\n border-left-color: transparent;\n }\n "])));
77
+ },
78
+ primary: function (t) {
79
+ return css(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n &:hover {\n border-left-color: ", ";\n }\n "], ["\n &:hover {\n border-left-color: ", ";\n }\n "])), t.tabColorHoverPrimary);
80
+ },
81
+ success: function (t) {
82
+ return css(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n &:hover {\n border-left-color: ", ";\n }\n "], ["\n &:hover {\n border-left-color: ", ";\n }\n "])), t.tabColorHoverSuccess);
83
+ },
84
+ warning: function (t) {
85
+ return css(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n &:hover {\n border-left-color: ", ";\n }\n "], ["\n &:hover {\n border-left-color: ", ";\n }\n "])), t.tabColorHoverWarning);
86
+ },
87
+ error: function (t) {
88
+ return css(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n &:hover {\n border-left-color: ", ";\n }\n "], ["\n &:hover {\n border-left-color: ", ";\n }\n "])), t.tabColorHoverError);
89
+ },
90
+ });
91
+ });
92
+ function tabRoot(t, size, _a) {
93
+ var css = _a.css;
94
+ return css(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n border-bottom: ", " solid transparent;\n box-sizing: border-box;\n color: ", ";\n cursor: pointer;\n display: inline-block;\n font-size: ", ";\n line-height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n padding-bottom: calc(", " - ", ");\n padding-top: ", ";\n position: relative;\n text-decoration: inherit;\n transition: border-bottom ", " ", ";\n\n &:hover {\n outline: inherit;\n border-bottom: ", " solid ", ";\n }\n\n &:focus {\n outline: inherit;\n }\n "], ["\n border-bottom: ", " solid transparent;\n box-sizing: border-box;\n color: ", ";\n cursor: pointer;\n display: inline-block;\n font-size: ", ";\n line-height: ", ";\n margin-left: ", ";\n margin-right: ", ";\n padding-bottom: calc(", " - ", ");\n padding-top: ", ";\n position: relative;\n text-decoration: inherit;\n transition: border-bottom ", " ", ";\n\n &:hover {\n outline: inherit;\n border-bottom: ", " solid ", ";\n }\n\n &:focus {\n outline: inherit;\n }\n "])), t.tabBorderWidth, t.tabTextColorDefault, fontSize(t, size), lineHeight(t, size), paddingX(t, size), paddingX(t, size), paddingY(t, size), t.tabBorderWidth, paddingY(t, size), t.transitionDuration, t.transitionTimingFunction, t.tabBorderWidth, t.tabColorHover);
95
+ }
96
+ function tabVertical(t, size, _a) {
97
+ var css = _a.css;
98
+ return css(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n border-bottom: none;\n border-left: ", " solid transparent;\n display: block;\n margin-left: 0;\n margin-right: 0;\n padding-left: ", ";\n padding-right: ", ";\n\n &:hover {\n border-bottom: none;\n border-left: ", " solid ", ";\n }\n\n .", " {\n bottom: 0;\n left: -", ";\n right: 0;\n }\n "], ["\n border-bottom: none;\n border-left: ", " solid transparent;\n display: block;\n margin-left: 0;\n margin-right: 0;\n padding-left: ", ";\n padding-right: ", ";\n\n &:hover {\n border-bottom: none;\n border-left: ", " solid ", ";\n }\n\n .", " {\n bottom: 0;\n left: -", ";\n right: 0;\n }\n "])), t.tabBorderWidth, shift(paddingX(t, size), "-".concat(t.tabBorderWidth)), paddingX(t, size), t.tabBorderWidth, t.tabColorHover, globalClasses.focus, t.tabBorderWidth);
99
+ }
100
+ function tabFocus(t, size, _a) {
101
+ var css = _a.css;
102
+ return css(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n border: ", " solid ", ";\n bottom: -", ";\n left: -", ";\n position: absolute;\n right: -", ";\n top: 0;\n "], ["\n border: ", " solid ", ";\n bottom: -", ";\n left: -", ";\n position: absolute;\n right: -", ";\n top: 0;\n "])), t.tabOutlineWidth, t.tabColorFocus, t.tabBorderWidth, paddingX(t, size), paddingX(t, size));
103
+ }
104
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20, templateObject_21, templateObject_22, templateObject_23, templateObject_24, templateObject_25, templateObject_26;
105
+ //# sourceMappingURL=Tab.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tab.styles.js","sourceRoot":"","sources":["Tab.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,CAAC,IAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,KAAK,EAAE,OAAO;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,OAAgB,IAAK,OAAA,CAAC;IAC/D,SAAS,YAAC,CAAQ;QAChB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAA4B,UAC/B,KADG,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAC9B;IACN,CAAC;IAED,UAAU,YAAC,CAAQ;QACjB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAA6B,UAChC,KADG,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAC/B;IACN,CAAC;IAED,SAAS,YAAC,CAAQ;QAChB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAA4B,UAC/B,KADG,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAC9B;IACN,CAAC;IAED,aAAa,YAAC,CAAQ;QACpB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAAgC,UACnC,KADG,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAClC;IACN,CAAC;IAED,cAAc,YAAC,CAAQ;QACrB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAAiC,UACpC,KADG,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EACnC;IACN,CAAC;IAED,aAAa,YAAC,CAAQ;QACpB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAAgC,UACnC,KADG,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAClC;IACN,CAAC;IAED,UAAU,YAAC,CAAQ;QACjB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAA6B,UAChC,KADG,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAC/B;IACN,CAAC;IAED,WAAW,YAAC,CAAQ;QAClB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAA8B,UACjC,KADG,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAChC;IACN,CAAC;IAED,UAAU,YAAC,CAAQ;QACjB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAA6B,UAChC,KADG,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAC/B;IACN,CAAC;IAED,QAAQ,YAAC,CAAQ;QACf,OAAO,OAAO,CAAC,GAAG,8JAAA,oCACY,EAAqB,mDAElD,KAF6B,CAAC,CAAC,mBAAmB,EAEjD;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,OAAO,CAAC,GAAG,yGAAA,oCAEf,KAAC;IACN,CAAC;CACF,CAAC,EAnE8D,CAmE9D,CAAC,CAAC;AAEJ,MAAM,CAAC,IAAM,mBAAmB,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QACzE,MAAM,YAAC,CAAQ;YACb,OAAO,GAAG,uJAAA,4CAEW,EAAgB,oCAEpC,KAFoB,CAAC,CAAC,cAAc,EAEnC;QACJ,CAAC;QAED,QAAQ;YACN,OAAO,GAAG,kJAAA,6EAIT,KAAC;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,2IAAA,kDAEiB,EAAsB,kBAEhD,KAF0B,CAAC,CAAC,oBAAoB,EAE/C;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,2IAAA,kDAEiB,EAAsB,kBAEhD,KAF0B,CAAC,CAAC,oBAAoB,EAE/C;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,2IAAA,kDAEiB,EAAsB,kBAEhD,KAF0B,CAAC,CAAC,oBAAoB,EAE/C;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,2IAAA,kDAEiB,EAAoB,kBAE9C,KAF0B,CAAC,CAAC,kBAAkB,EAE7C;QACJ,CAAC;KACF,CAAC;AAhDwE,CAgDxE,CAAC,CAAC;AAEJ,MAAM,CAAC,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QACvE,MAAM,YAAC,CAAQ;YACb,OAAO,GAAG,qJAAA,0CAES,EAAgB,oCAElC,KAFkB,CAAC,CAAC,cAAc,EAEjC;QACJ,CAAC;QAED,QAAQ;YACN,OAAO,GAAG,gJAAA,2EAIT,KAAC;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,yIAAA,gDAEe,EAAsB,kBAE9C,KAFwB,CAAC,CAAC,oBAAoB,EAE7C;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,yIAAA,gDAEe,EAAsB,kBAE9C,KAFwB,CAAC,CAAC,oBAAoB,EAE7C;QACJ,CAAC;QAED,OAAO,YAAC,CAAQ;YACd,OAAO,GAAG,yIAAA,gDAEe,EAAsB,kBAE9C,KAFwB,CAAC,CAAC,oBAAoB,EAE7C;QACJ,CAAC;QAED,KAAK,YAAC,CAAQ;YACZ,OAAO,GAAG,yIAAA,gDAEe,EAAoB,kBAE5C,KAFwB,CAAC,CAAC,kBAAkB,EAE3C;QACJ,CAAC;KACF,CAAC;AAhDsE,CAgDtE,CAAC,CAAC;AAEJ,SAAS,OAAO,CAAC,CAAQ,EAAE,IAAc,EAAE,EAAgB;QAAd,GAAG,SAAA;IAC9C,OAAO,GAAG,kmBAAA,uBACS,EAAgB,+DAExB,EAAqB,sEAGjB,EAAiB,sBACf,EAAmB,sBACnB,EAAiB,uBAChB,EAAiB,8BACV,EAAiB,KAAM,EAAgB,uBAC/C,EAAiB,2FAGJ,EAAoB,GAAI,EAA0B,oEAI3D,EAAgB,SAAU,EAAe,+DAM7D,KAvBkB,CAAC,CAAC,cAAc,EAExB,CAAC,CAAC,mBAAmB,EAGjB,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EACf,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,EACnB,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAChB,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EACV,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAM,CAAC,CAAC,cAAc,EAC/C,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAGJ,CAAC,CAAC,kBAAkB,EAAI,CAAC,CAAC,wBAAwB,EAI3D,CAAC,CAAC,cAAc,EAAU,CAAC,CAAC,aAAa,EAM5D;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,CAAQ,EAAE,IAAc,EAAE,EAAgB;QAAd,GAAG,SAAA;IAClD,OAAO,GAAG,waAAA,+CAEO,EAAgB,yGAIf,EAAgD,wBAC/C,EAAiB,qEAIjB,EAAgB,SAAU,EAAe,mBAGvD,EAAmB,qCAEX,EAAgB,+BAG5B,KAjBgB,CAAC,CAAC,cAAc,EAIf,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,WAAI,CAAC,CAAC,cAAc,CAAE,CAAC,EAC/C,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAIjB,CAAC,CAAC,cAAc,EAAU,CAAC,CAAC,aAAa,EAGvD,aAAa,CAAC,KAAK,EAEX,CAAC,CAAC,cAAc,EAG3B;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,CAAQ,EAAE,IAAc,EAAE,EAAgB;QAAd,GAAG,SAAA;IAC/C,OAAO,GAAG,wMAAA,gBACE,EAAiB,SAAU,EAAe,kBACzC,EAAgB,gBAClB,EAAiB,0CAEhB,EAAiB,oBAE5B,KANW,CAAC,CAAC,eAAe,EAAU,CAAC,CAAC,aAAa,EACzC,CAAC,CAAC,cAAc,EAClB,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAEhB,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAE3B;AACJ,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { shift } from '../../lib/styles/DimensionFunctions.js';\nimport { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { fontSize, lineHeight, paddingX, paddingY } from './helpers.js';\n\nexport const globalClasses = prefix('tab')({\n focus: 'focus',\n});\n\nexport const getStyles = memoizeGetStyles((emotion: Emotion) => ({\n rootSmall(t: Theme) {\n return emotion.css`\n ${tabRoot(t, 'small', emotion)}\n `;\n },\n\n rootMedium(t: Theme) {\n return emotion.css`\n ${tabRoot(t, 'medium', emotion)}\n `;\n },\n\n rootLarge(t: Theme) {\n return emotion.css`\n ${tabRoot(t, 'large', emotion)}\n `;\n },\n\n verticalSmall(t: Theme) {\n return emotion.css`\n ${tabVertical(t, 'small', emotion)}\n `;\n },\n\n verticalMedium(t: Theme) {\n return emotion.css`\n ${tabVertical(t, 'medium', emotion)}\n `;\n },\n\n verticalLarge(t: Theme) {\n return emotion.css`\n ${tabVertical(t, 'large', emotion)}\n `;\n },\n\n focusSmall(t: Theme) {\n return emotion.css`\n ${tabFocus(t, 'small', emotion)}\n `;\n },\n\n focusMedium(t: Theme) {\n return emotion.css`\n ${tabFocus(t, 'medium', emotion)}\n `;\n },\n\n focusLarge(t: Theme) {\n return emotion.css`\n ${tabFocus(t, 'large', emotion)}\n `;\n },\n\n disabled(t: Theme) {\n return emotion.css`\n color: color-mix(in srgb, ${t.tabTextColorDefault}, transparent 50%);\n cursor: default;\n `;\n },\n\n active() {\n return emotion.css`\n cursor: default;\n `;\n },\n}));\n\nexport const getHorizontalStyles = memoizeGetStyles(({ css }: Emotion) => ({\n active(t: Theme) {\n return css`\n &:hover {\n border-bottom: ${t.tabBorderWidth} solid transparent;\n }\n `;\n },\n\n disabled() {\n return css`\n &:hover {\n border-bottom-color: transparent;\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n &:hover {\n border-bottom-color: ${t.tabColorHoverPrimary};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n &:hover {\n border-bottom-color: ${t.tabColorHoverSuccess};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n &:hover {\n border-bottom-color: ${t.tabColorHoverWarning};\n }\n `;\n },\n\n error(t: Theme) {\n return css`\n &:hover {\n border-bottom-color: ${t.tabColorHoverError};\n }\n `;\n },\n}));\n\nexport const getVerticalStyles = memoizeGetStyles(({ css }: Emotion) => ({\n active(t: Theme) {\n return css`\n &:hover {\n border-left: ${t.tabBorderWidth} solid transparent;\n }\n `;\n },\n\n disabled() {\n return css`\n &:hover {\n border-left-color: transparent;\n }\n `;\n },\n\n primary(t: Theme) {\n return css`\n &:hover {\n border-left-color: ${t.tabColorHoverPrimary};\n }\n `;\n },\n\n success(t: Theme) {\n return css`\n &:hover {\n border-left-color: ${t.tabColorHoverSuccess};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n &:hover {\n border-left-color: ${t.tabColorHoverWarning};\n }\n `;\n },\n\n error(t: Theme) {\n return css`\n &:hover {\n border-left-color: ${t.tabColorHoverError};\n }\n `;\n },\n}));\n\nfunction tabRoot(t: Theme, size: SizeProp, { css }: Emotion) {\n return css`\n border-bottom: ${t.tabBorderWidth} solid transparent;\n box-sizing: border-box;\n color: ${t.tabTextColorDefault};\n cursor: pointer;\n display: inline-block;\n font-size: ${fontSize(t, size)};\n line-height: ${lineHeight(t, size)};\n margin-left: ${paddingX(t, size)};\n margin-right: ${paddingX(t, size)};\n padding-bottom: calc(${paddingY(t, size)} - ${t.tabBorderWidth});\n padding-top: ${paddingY(t, size)};\n position: relative;\n text-decoration: inherit;\n transition: border-bottom ${t.transitionDuration} ${t.transitionTimingFunction};\n\n &:hover {\n outline: inherit;\n border-bottom: ${t.tabBorderWidth} solid ${t.tabColorHover};\n }\n\n &:focus {\n outline: inherit;\n }\n `;\n}\n\nfunction tabVertical(t: Theme, size: SizeProp, { css }: Emotion) {\n return css`\n border-bottom: none;\n border-left: ${t.tabBorderWidth} solid transparent;\n display: block;\n margin-left: 0;\n margin-right: 0;\n padding-left: ${shift(paddingX(t, size), `-${t.tabBorderWidth}`)};\n padding-right: ${paddingX(t, size)};\n\n &:hover {\n border-bottom: none;\n border-left: ${t.tabBorderWidth} solid ${t.tabColorHover};\n }\n\n .${globalClasses.focus} {\n bottom: 0;\n left: -${t.tabBorderWidth};\n right: 0;\n }\n `;\n}\n\nfunction tabFocus(t: Theme, size: SizeProp, { css }: Emotion) {\n return css`\n border: ${t.tabOutlineWidth} solid ${t.tabColorFocus};\n bottom: -${t.tabBorderWidth};\n left: -${paddingX(t, size)};\n position: absolute;\n right: -${paddingX(t, size)};\n top: 0;\n `;\n}\n"]}
@@ -40,7 +40,7 @@ import { rootNode } from '../../lib/rootNode/index.js';
40
40
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
41
41
  import { Indicator } from './Indicator.js';
42
42
  import { Tab } from './Tab.js';
43
- import { getStyles } from './Tabs.css.js';
43
+ import { getStyles } from './Tabs.styles.js';
44
44
  import { TabsContext } from './TabsContext.js';
45
45
  export var TabsDataTids = {
46
46
  root: 'Tabs__root',
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["Tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, JSX } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport { getRootNode } from '../../lib/rootNode/getRootNode.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { emptyHandler } from '../../lib/utils.js';\nimport { Indicator } from './Indicator.js';\nimport { Tab } from './Tab.js';\nimport { getStyles } from './Tabs.css.js';\nimport { TabsContext } from './TabsContext.js';\nimport type { TabsContextType } from './TabsContext.js';\n\ntype ValueBaseType = string;\ninterface TabType<T extends ValueBaseType> {\n getNode: () => Tab<T> | null;\n id: T;\n}\n\nexport interface TabsProps<T extends ValueBaseType = string> extends CommonProps {\n /** Кастомный класс для индикатора (подчёркивания) активного таба. */\n indicatorClassName?: string;\n\n /** Размер табов. */\n size?: SizeProp;\n\n /** Идентификатор активного таба. Совпадает с `id` выбранного `<Tab />`. */\n value: T;\n\n /** Событие смены активного таба. */\n onValueChange?: (value: T) => void;\n\n /** Располагает табы вертикально.\n * @default false */\n vertical?: boolean;\n\n /** Ширина компонента. */\n width?: number | string;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const TabsDataTids = {\n root: 'Tabs__root',\n indicatorRoot: 'Indicator__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TabsProps, 'vertical' | 'size'>>;\n\n/**\n * Табы группируют контент и помогают в навигации.\n */\n@withRenderEnvironment\n@rootNode\nexport class Tabs<T extends string = string> extends React.Component<TabsProps<T>> {\n public static __KONTUR_REACT_UI__ = 'Tabs';\n public static displayName = 'Tabs';\n\n public static defaultProps: DefaultProps = {\n vertical: false,\n size: 'large',\n };\n\n private getProps = createPropsGetter(Tabs.defaultProps);\n\n public static Tab = Tab;\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n\n private tabs: Array<TabType<T>> = [];\n\n private tabUpdates = {\n on: (cb: () => void) => {\n const index = this.listeners.push(cb);\n return () => {\n this.listeners.splice(index, 1);\n };\n },\n };\n\n private listeners: Array<typeof emptyHandler> = [];\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n const { value, width, children, indicatorClassName, 'aria-describedby': ariaDescribedby } = this.props;\n const { vertical, size } = this.getProps();\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={TabsDataTids.root}\n className={this.cx({\n [this.styles.rootSmall(this.theme)]: size === 'small',\n [this.styles.rootMedium(this.theme)]: size === 'medium',\n [this.styles.rootLarge(this.theme)]: size === 'large',\n [this.styles.vertical()]: vertical,\n })}\n style={{ width }}\n aria-describedby={ariaDescribedby}\n >\n <TabsContext.Provider\n value={{\n vertical,\n activeTab: value,\n size,\n getTab: this.getTab,\n addTab: this.addTab,\n removeTab: this.removeTab,\n notifyUpdate: this.notifyUpdate,\n shiftFocus: this.shiftFocus,\n switchTab: this.switchTab,\n }}\n >\n {children}\n <Indicator\n className={indicatorClassName}\n tabUpdates={this.tabUpdates}\n vertical={this.getProps().vertical}\n />\n </TabsContext.Provider>\n </div>\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private shiftFocus: TabsContextType<T>['shiftFocus'] = (fromTab, delta) => {\n const { tabs } = this;\n const index = tabs.findIndex((x) => x.id === fromTab);\n const newIndex = Math.max(0, Math.min(index + delta, tabs.length - 1));\n const tab = tabs[newIndex];\n\n const tabNode = tab.getNode();\n const htmlNode = getRootNode(tabNode);\n\n if (isInstanceOf(htmlNode, this.globalObject.HTMLElement) && typeof htmlNode.focus === 'function') {\n htmlNode.focus();\n }\n };\n\n private notifyUpdate: TabsContextType<T>['notifyUpdate'] = () => {\n this.listeners.forEach((cb) => cb());\n };\n\n private switchTab: TabsContextType<T>['switchTab'] = (id) => {\n const { onValueChange, value } = this.props;\n if (id !== value && onValueChange) {\n onValueChange(id);\n }\n };\n\n private getTab: TabsContextType<T>['getTab'] = (id) => {\n const { getNode = null } = this.tabs.find((x) => x.id === id) || {};\n return getNode && getNode();\n };\n\n private addTab: TabsContextType<T>['addTab'] = (id, getNode) => {\n this.tabs = this.tabs.concat({ id, getNode });\n };\n\n private removeTab: TabsContextType<T>['removeTab'] = (id) => {\n this.tabs = this.tabs.filter((tab) => tab.id !== id);\n };\n}\n"]}
1
+ {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["Tabs.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes, JSX } from 'react';\nimport React from 'react';\n\nimport type { CommonProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { isInstanceOf } from '../../lib/isInstanceOf.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport { getRootNode } from '../../lib/rootNode/getRootNode.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { emptyHandler } from '../../lib/utils.js';\nimport { Indicator } from './Indicator.js';\nimport { Tab } from './Tab.js';\nimport { getStyles } from './Tabs.styles.js';\nimport { TabsContext } from './TabsContext.js';\nimport type { TabsContextType } from './TabsContext.js';\n\ntype ValueBaseType = string;\ninterface TabType<T extends ValueBaseType> {\n getNode: () => Tab<T> | null;\n id: T;\n}\n\nexport interface TabsProps<T extends ValueBaseType = string> extends CommonProps {\n /** Кастомный класс для индикатора (подчёркивания) активного таба. */\n indicatorClassName?: string;\n\n /** Размер табов. */\n size?: SizeProp;\n\n /** Идентификатор активного таба. Совпадает с `id` выбранного `<Tab />`. */\n value: T;\n\n /** Событие смены активного таба. */\n onValueChange?: (value: T) => void;\n\n /** Располагает табы вертикально.\n * @default false */\n vertical?: boolean;\n\n /** Ширина компонента. */\n width?: number | string;\n\n /** @ignore */\n 'aria-describedby'?: AriaAttributes['aria-describedby'];\n}\n\nexport const TabsDataTids = {\n root: 'Tabs__root',\n indicatorRoot: 'Indicator__root',\n} as const;\n\ntype DefaultProps = Required<Pick<TabsProps, 'vertical' | 'size'>>;\n\n/**\n * Табы группируют контент и помогают в навигации.\n */\n@withRenderEnvironment\n@rootNode\nexport class Tabs<T extends string = string> extends React.Component<TabsProps<T>> {\n public static __KONTUR_REACT_UI__ = 'Tabs';\n public static displayName = 'Tabs';\n\n public static defaultProps: DefaultProps = {\n vertical: false,\n size: 'large',\n };\n\n private getProps = createPropsGetter(Tabs.defaultProps);\n\n public static Tab = Tab;\n\n private globalObject!: GlobalObject;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private styles!: ReturnType<typeof getStyles>;\n private theme!: Theme;\n\n private tabs: Array<TabType<T>> = [];\n\n private tabUpdates = {\n on: (cb: () => void) => {\n const index = this.listeners.push(cb);\n return () => {\n this.listeners.splice(index, 1);\n };\n },\n };\n\n private listeners: Array<typeof emptyHandler> = [];\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public render(): JSX.Element {\n const { value, width, children, indicatorClassName, 'aria-describedby': ariaDescribedby } = this.props;\n const { vertical, size } = this.getProps();\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.props}>\n <div\n data-tid={TabsDataTids.root}\n className={this.cx({\n [this.styles.rootSmall(this.theme)]: size === 'small',\n [this.styles.rootMedium(this.theme)]: size === 'medium',\n [this.styles.rootLarge(this.theme)]: size === 'large',\n [this.styles.vertical()]: vertical,\n })}\n style={{ width }}\n aria-describedby={ariaDescribedby}\n >\n <TabsContext.Provider\n value={{\n vertical,\n activeTab: value,\n size,\n getTab: this.getTab,\n addTab: this.addTab,\n removeTab: this.removeTab,\n notifyUpdate: this.notifyUpdate,\n shiftFocus: this.shiftFocus,\n switchTab: this.switchTab,\n }}\n >\n {children}\n <Indicator\n className={indicatorClassName}\n tabUpdates={this.tabUpdates}\n vertical={this.getProps().vertical}\n />\n </TabsContext.Provider>\n </div>\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n private shiftFocus: TabsContextType<T>['shiftFocus'] = (fromTab, delta) => {\n const { tabs } = this;\n const index = tabs.findIndex((x) => x.id === fromTab);\n const newIndex = Math.max(0, Math.min(index + delta, tabs.length - 1));\n const tab = tabs[newIndex];\n\n const tabNode = tab.getNode();\n const htmlNode = getRootNode(tabNode);\n\n if (isInstanceOf(htmlNode, this.globalObject.HTMLElement) && typeof htmlNode.focus === 'function') {\n htmlNode.focus();\n }\n };\n\n private notifyUpdate: TabsContextType<T>['notifyUpdate'] = () => {\n this.listeners.forEach((cb) => cb());\n };\n\n private switchTab: TabsContextType<T>['switchTab'] = (id) => {\n const { onValueChange, value } = this.props;\n if (id !== value && onValueChange) {\n onValueChange(id);\n }\n };\n\n private getTab: TabsContextType<T>['getTab'] = (id) => {\n const { getNode = null } = this.tabs.find((x) => x.id === id) || {};\n return getNode && getNode();\n };\n\n private addTab: TabsContextType<T>['addTab'] = (id, getNode) => {\n this.tabs = this.tabs.concat({ id, getNode });\n };\n\n private removeTab: TabsContextType<T>['removeTab'] = (id) => {\n this.tabs = this.tabs.filter((tab) => tab.id !== id);\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { Theme } from '../../lib/theming/Theme.js';
2
- export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
2
+ export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
3
3
  rootSmall(t: Theme): string;
4
4
  rootMedium(t: Theme): string;
5
5
  rootLarge(t: Theme): string;
@@ -0,0 +1,26 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import { memoizeGetStyles } from '../../lib/theming/Emotion.js';
6
+ import { paddingX } from './helpers.js';
7
+ export var getStyles = memoizeGetStyles(function (emotion) { return ({
8
+ rootSmall: function (t) {
9
+ return emotion.css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabsRoot(t, 'small', emotion));
10
+ },
11
+ rootMedium: function (t) {
12
+ return emotion.css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabsRoot(t, 'medium', emotion));
13
+ },
14
+ rootLarge: function (t) {
15
+ return emotion.css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", "\n "], ["\n ", "\n "])), tabsRoot(t, 'large', emotion));
16
+ },
17
+ vertical: function () {
18
+ return emotion.css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin: 0;\n "], ["\n margin: 0;\n "])));
19
+ },
20
+ }); });
21
+ function tabsRoot(t, size, _a) {
22
+ var css = _a.css;
23
+ return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: inline-block;\n margin: 0 -", ";\n padding: 0;\n position: relative;\n "], ["\n display: inline-block;\n margin: 0 -", ";\n padding: 0;\n position: relative;\n "])), paddingX(t, size));
24
+ }
25
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
26
+ //# sourceMappingURL=Tabs.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.styles.js","sourceRoot":"","sources":["Tabs.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,OAAgB,IAAK,OAAA,CAAC;IAC/D,SAAS,YAAC,CAAQ;QAChB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAA6B,UAChC,KADG,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAC/B;IACN,CAAC;IAED,UAAU,YAAC,CAAQ;QACjB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAA8B,UACjC,KADG,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,EAChC;IACN,CAAC;IAED,SAAS,YAAC,CAAQ;QAChB,OAAO,OAAO,CAAC,GAAG,2FAAA,YACZ,EAA6B,UAChC,KADG,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAC/B;IACN,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAC,GAAG,iGAAA,8BAEf,KAAC;IACN,CAAC;CACF,CAAC,EAxB8D,CAwB9D,CAAC,CAAC;AAEJ,SAAS,QAAQ,CAAC,CAAQ,EAAE,IAAc,EAAE,EAAgB;QAAd,GAAG,SAAA;IAC/C,OAAO,GAAG,qKAAA,+CAEK,EAAiB,iDAG/B,KAHc,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,EAG9B;AACJ,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { paddingX } from './helpers.js';\n\nexport const getStyles = memoizeGetStyles((emotion: Emotion) => ({\n rootSmall(t: Theme) {\n return emotion.css`\n ${tabsRoot(t, 'small', emotion)}\n `;\n },\n\n rootMedium(t: Theme) {\n return emotion.css`\n ${tabsRoot(t, 'medium', emotion)}\n `;\n },\n\n rootLarge(t: Theme) {\n return emotion.css`\n ${tabsRoot(t, 'large', emotion)}\n `;\n },\n\n vertical() {\n return emotion.css`\n margin: 0;\n `;\n },\n}));\n\nfunction tabsRoot(t: Theme, size: SizeProp, { css }: Emotion) {\n return css`\n display: inline-block;\n margin: 0 -${paddingX(t, size)};\n padding: 0;\n position: relative;\n `;\n}\n"]}
@@ -57,7 +57,7 @@ import { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';
57
57
  import { rootNode } from '../../lib/rootNode/index.js';
58
58
  import { withSize } from '../../lib/size/SizeDecorator.js';
59
59
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
60
- import { getStyles } from './Textarea.css.js';
60
+ import { getStyles } from './Textarea.styles.js';
61
61
  import { TextareaCounter } from './TextareaCounter.js';
62
62
  import { getTextAreaHeight } from './TextareaHelpers.js';
63
63
  import { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["Textarea.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport throttle from 'lodash.throttle';\nimport type { AriaAttributes, ReactNode } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { ResizeDetector } from '../../internal/ResizeDetector/index.js';\nimport { isSafariWithTextareaBug } from '../../lib/client.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport * as LayoutEvents from '../../lib/LayoutEvents.js';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Nullable, Override } from '../../typings/utility-types.js';\nimport type { InputAlign } from '../Input/index.js';\nimport { getStyles } from './Textarea.css.js';\nimport { TextareaCounter } from './TextareaCounter.js';\nimport type { TextareaCounterRef } from './TextareaCounter.js';\nimport { getTextAreaHeight } from './TextareaHelpers.js';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround.js';\n\nexport const DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends\n Pick<AriaAttributes, 'aria-controls' | 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /** Меняет визуальное отображение поля на состояние ошибки. */\n error?: boolean;\n\n /** Меняет визуальное отображение поля на состояние предупреждения. */\n warning?: boolean;\n\n /** Блокирует поле. */\n disabled?: boolean;\n\n /** Размер многострочного поля. */\n size?: SizeProp;\n\n /** Выполняет автоматический ресайз в зависимости от количества текста в поле. Связан с пропом `extraRow`, который всегда добавляет дополнительную пустую строку. */\n autoResize?: boolean;\n\n /** Высота поля — число видимых строк. При превышении этой высоты появляется скролл. */\n rows?: number;\n\n /** Максимальное число видимых строк при автоматическом ресайзе. */\n maxRows?: string | number;\n\n /** Направление ресайза поля.\n * Попадает в `style`. Описание всех значений смотрите [в документации MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/resize). */\n resize?: React.CSSProperties['resize'];\n\n /** Ширина многострочного поля. */\n width?: React.CSSProperties['width'];\n\n /** Событие изменения `value`. */\n onValueChange?: (value: string) => void;\n\n /** Выделяет введённое значение при фокусе в поле. Работает с типами `text`, `password`, `tel`, `search`, `url`. */\n selectAllOnFocus?: boolean;\n\n /** Отображает счётчик введённых символов. */\n showLengthCounter?: boolean;\n\n /** Допустимое количество символов в поле. Отображается в счётчике символов.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Добавляет подсказку к счётчику символов.\n * По умолчанию - тултип с содержимым из пропа, если передан `ReactNode`.\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой.\n * @example\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавляет дополнительную свободную строку при автоматическом ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04 */\n extraRow?: boolean;\n\n /** Отключает анимацию при автоматическом ресайзе. Автоматически отключается, когда в `extraRow` передан `false`. */\n disableAnimations?: boolean;\n\n /** Выравнивание текста в поле. */\n align?: InputAlign;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations'>>;\n\n/**\n * Многострочное поле — это поле ввода, в котором текст отображается в несколько строк.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n public static displayName = 'Textarea';\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n disableAnimations: isTestEnv,\n };\n\n public clear = (): void => {\n if (this.node) {\n this.node.value = '';\n }\n if (this.fakeNode) {\n this.fakeNode.value = '';\n }\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge(this.theme);\n case 'medium':\n return this.styles.rootMedium(this.theme);\n case 'small':\n default:\n return this.styles.rootSmall(this.theme);\n }\n }\n\n private getTextareaSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.textareaLarge(this.theme);\n case 'medium':\n return this.styles.textareaMedium(this.theme);\n case 'small':\n default:\n return this.styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private size!: SizeProp;\n\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private styles!: ReturnType<typeof getStyles>;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private globalObject!: GlobalObject;\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver: Nullable<MutationObserver>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n this.textareaObserver = this.globalObject.MutationObserver\n ? new this.globalObject.MutationObserver(this.reflowCounter)\n : null;\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize, this.globalObject);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /** Программно устанавливает фокус на поле.\n * @public\n */\n public focus(): void {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /** Программно снимает фокус с поля.\n * @public\n */\n public blur(): void {\n if (this.node) {\n this.node.blur();\n }\n }\n\n public getNode(): Nullable<HTMLTextAreaElement> {\n return this.node;\n }\n\n /** start - инициирует последовательное изменение числового значения: начинает повторяющееся увеличение/уменьшение, обычно используется при удерживании кнопки «+» или «−» для числового Input. end - останавливает ранее запущенное числоизменение, инициируемое numberStart.\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public setSelectionRange = (start: number, end: number): void => {\n if (!this.node) {\n warning(false, 'Cannot call \"setSelectionRange\" on unmounted Input');\n return;\n }\n\n if (this.globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /** Переводит фокус в поле (если ещё не в фокусе) и выделяет весь текст в нём.\n * Работает с типами `text`, `password`, `tel`, `search`, `url`.\n * @public\n */\n public selectAll = (): void => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n this.globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = this.cx(this.getTextareaSizeClassName(), {\n [this.styles.textarea(this.theme)]: true,\n [this.styles.hovering(this.theme)]: !error && !warning,\n [this.styles.disabled(this.theme)]: disabled,\n [this.styles.error(this.theme)]: !!error,\n [this.styles.warning(this.theme)]: !!warning,\n [this.styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n textAlign: this.props.align,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={this.styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: this.cx(textareaClassNames, this.styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={this.cx(this.getRootSizeClassName(), {\n [this.styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter} alignBaseline>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight(this.globalObject, {\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && this.selectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"]}
1
+ {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["Textarea.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport throttle from 'lodash.throttle';\nimport type { AriaAttributes, ReactNode } from 'react';\nimport React from 'react';\nimport warning from 'warning';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { RenderLayer } from '../../internal/RenderLayer/index.js';\nimport { ResizeDetector } from '../../internal/ResizeDetector/index.js';\nimport { isSafariWithTextareaBug } from '../../lib/client.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { isTestEnv } from '../../lib/currentEnvironment.js';\nimport { isKeyEnter } from '../../lib/events/keyboard/identifiers.js';\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport * as LayoutEvents from '../../lib/LayoutEvents.js';\nimport { needsPolyfillPlaceholder } from '../../lib/needsPolyfillPlaceholder.js';\nimport { withRenderEnvironment } from '../../lib/renderEnvironment/index.js';\nimport type { TGetRootNode, TSetRootNode } from '../../lib/rootNode/index.js';\nimport { rootNode } from '../../lib/rootNode/index.js';\nimport { withSize } from '../../lib/size/SizeDecorator.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport type { Nullable, Override } from '../../typings/utility-types.js';\nimport type { InputAlign } from '../Input/index.js';\nimport { getStyles } from './Textarea.styles.js';\nimport { TextareaCounter } from './TextareaCounter.js';\nimport type { TextareaCounterRef } from './TextareaCounter.js';\nimport { getTextAreaHeight } from './TextareaHelpers.js';\nimport { TextareaWithSafari17Workaround } from './TextareaWithSafari17Workaround.js';\n\nexport const DEFAULT_WIDTH = 250;\nconst AUTORESIZE_THROTTLE_DEFAULT_WAIT = 100;\n\nexport interface TextareaProps\n extends\n Pick<AriaAttributes, 'aria-controls' | 'aria-label'>,\n CommonProps,\n Override<\n React.TextareaHTMLAttributes<HTMLTextAreaElement>,\n {\n /** Меняет визуальное отображение поля на состояние ошибки. */\n error?: boolean;\n\n /** Меняет визуальное отображение поля на состояние предупреждения. */\n warning?: boolean;\n\n /** Блокирует поле. */\n disabled?: boolean;\n\n /** Размер многострочного поля. */\n size?: SizeProp;\n\n /** Выполняет автоматический ресайз в зависимости от количества текста в поле. Связан с пропом `extraRow`, который всегда добавляет дополнительную пустую строку. */\n autoResize?: boolean;\n\n /** Высота поля — число видимых строк. При превышении этой высоты появляется скролл. */\n rows?: number;\n\n /** Максимальное число видимых строк при автоматическом ресайзе. */\n maxRows?: string | number;\n\n /** Направление ресайза поля.\n * Попадает в `style`. Описание всех значений смотрите [в документации MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/resize). */\n resize?: React.CSSProperties['resize'];\n\n /** Ширина многострочного поля. */\n width?: React.CSSProperties['width'];\n\n /** Событие изменения `value`. */\n onValueChange?: (value: string) => void;\n\n /** Выделяет введённое значение при фокусе в поле. Работает с типами `text`, `password`, `tel`, `search`, `url`. */\n selectAllOnFocus?: boolean;\n\n /** Отображает счётчик введённых символов. */\n showLengthCounter?: boolean;\n\n /** Допустимое количество символов в поле. Отображается в счётчике символов.\n * @default maxLength */\n lengthCounter?: number;\n\n /** Добавляет подсказку к счётчику символов.\n * По умолчанию - тултип с содержимым из пропа, если передан `ReactNode`.\n * Передав функцию, можно переопределить подсказку целиком, вместе с иконкой.\n * @example\n * ```\n * counterHelp={() => <Tooltip render={...}><HelpIcon /></Tooltip>}\n * ``` */\n counterHelp?: ReactNode | (() => ReactNode);\n\n /** Добавляет дополнительную свободную строку при автоматическом ресайзе.\n * @see https://guides.kontur.ru/components/textarea/#04 */\n extraRow?: boolean;\n\n /** Отключает анимацию при автоматическом ресайзе. Автоматически отключается, когда в `extraRow` передан `false`. */\n disableAnimations?: boolean;\n\n /** Выравнивание текста в поле. */\n align?: InputAlign;\n }\n > {}\n\nexport interface TextareaState {\n needsPolyfillPlaceholder: boolean;\n isCounterVisible: boolean;\n}\n\nexport const TextareaDataTids = {\n root: 'Textarea__root',\n counter: 'TextareaCounter__root',\n helpIcon: 'TextareaCounter__helpIcon',\n} as const;\n\ntype DefaultProps = Required<Pick<TextareaProps, 'rows' | 'maxRows' | 'extraRow' | 'disableAnimations'>>;\n\n/**\n * Многострочное поле — это поле ввода, в котором текст отображается в несколько строк.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Textarea extends React.Component<TextareaProps, TextareaState> {\n public static __KONTUR_REACT_UI__ = 'Textarea';\n public static displayName = 'Textarea';\n\n public static defaultProps: DefaultProps = {\n rows: 3,\n maxRows: 15,\n extraRow: true,\n disableAnimations: isTestEnv,\n };\n\n public clear = (): void => {\n if (this.node) {\n this.node.value = '';\n }\n if (this.fakeNode) {\n this.fakeNode.value = '';\n }\n };\n\n private getProps = createPropsGetter(Textarea.defaultProps);\n\n private getRootSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.rootLarge(this.theme);\n case 'medium':\n return this.styles.rootMedium(this.theme);\n case 'small':\n default:\n return this.styles.rootSmall(this.theme);\n }\n }\n\n private getTextareaSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.textareaLarge(this.theme);\n case 'medium':\n return this.styles.textareaMedium(this.theme);\n case 'small':\n default:\n return this.styles.textareaSmall(this.theme);\n }\n }\n\n public state = {\n needsPolyfillPlaceholder,\n isCounterVisible: false,\n };\n private size!: SizeProp;\n\n private reflowCounter = () => {\n if (this.counter) {\n this.counter.reflow();\n }\n };\n\n private styles!: ReturnType<typeof getStyles>;\n private emotion!: Emotion;\n private cx!: Emotion['cx'];\n private globalObject!: GlobalObject;\n private theme!: Theme;\n private selectAllId: number | null = null;\n private node: Nullable<HTMLTextAreaElement>;\n private fakeNode: Nullable<HTMLTextAreaElement>;\n private counter: Nullable<TextareaCounterRef>;\n private layoutEvents: Nullable<{ remove: () => void }>;\n private textareaObserver: Nullable<MutationObserver>;\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n private getAutoResizeThrottleWait(props: TextareaProps = this.props): number {\n // NOTE: При отключении анимации остается эффект дергания при авто-ресайзе из-за троттлинга расчета высоты\n // Поэтому выставляем таймаут троттла в ноль. Подробности - https://github.com/skbkontur/retail-ui/issues/2120\n return this.isAnimationsDisabled(props) ? 0 : AUTORESIZE_THROTTLE_DEFAULT_WAIT;\n }\n private isAnimationsDisabled({ disableAnimations, extraRow }: TextareaProps = this.props): boolean {\n return disableAnimations || !extraRow;\n }\n\n public componentDidMount() {\n this.textareaObserver = this.globalObject.MutationObserver\n ? new this.globalObject.MutationObserver(this.reflowCounter)\n : null;\n if (this.props.autoResize) {\n this.autoResize();\n this.layoutEvents = LayoutEvents.addListener(this.autoResize, this.globalObject);\n }\n\n if (this.node && this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.observe(this.node, { attributes: true });\n }\n }\n\n public componentWillUnmount() {\n if (this.layoutEvents) {\n this.layoutEvents.remove();\n }\n if (this.props.showLengthCounter && this.textareaObserver) {\n this.textareaObserver.disconnect();\n }\n this.cancelDelayedSelectAll();\n }\n\n public componentDidUpdate(prevProps: TextareaProps) {\n if (this.getAutoResizeThrottleWait() !== this.getAutoResizeThrottleWait(prevProps)) {\n this.autoResize.cancel();\n this.autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n }\n const { rows, maxRows } = this.getProps();\n if (\n this.props.autoResize &&\n (rows !== prevProps.rows || maxRows !== prevProps.maxRows || this.props.value !== prevProps.value)\n ) {\n this.autoResize();\n }\n }\n\n public render(): React.JSX.Element {\n this.styles = getStyles(this.emotion);\n\n return (\n <ThemeContext.Consumer>\n {(theme) => {\n this.theme = theme;\n return (\n <CommonWrapper rootNodeRef={this.setRootNode} {...this.getProps()}>\n {this.renderMain}\n </CommonWrapper>\n );\n }}\n </ThemeContext.Consumer>\n );\n }\n\n /** Программно устанавливает фокус на поле.\n * @public\n */\n public focus(): void {\n if (this.node) {\n this.node.focus();\n }\n }\n\n /** Программно снимает фокус с поля.\n * @public\n */\n public blur(): void {\n if (this.node) {\n this.node.blur();\n }\n }\n\n public getNode(): Nullable<HTMLTextAreaElement> {\n return this.node;\n }\n\n /** start - инициирует последовательное изменение числового значения: начинает повторяющееся увеличение/уменьшение, обычно используется при удерживании кнопки «+» или «−» для числового Input. end - останавливает ранее запущенное числоизменение, инициируемое numberStart.\n * [Документация](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/setSelectionRange)\n * @public\n */\n public setSelectionRange = (start: number, end: number): void => {\n if (!this.node) {\n warning(false, 'Cannot call \"setSelectionRange\" on unmounted Input');\n return;\n }\n\n if (this.globalObject.document?.activeElement !== this.node) {\n this.focus();\n }\n\n this.node.setSelectionRange(start, end);\n };\n\n /** Переводит фокус в поле (если ещё не в фокусе) и выделяет весь текст в нём.\n * Работает с типами `text`, `password`, `tel`, `search`, `url`.\n * @public\n */\n public selectAll = (): void => {\n if (this.node) {\n this.setSelectionRange(0, this.node.value.length);\n }\n };\n\n private cancelDelayedSelectAll = (): void => {\n if (this.selectAllId) {\n this.globalObject.cancelAnimationFrame?.(this.selectAllId);\n this.selectAllId = null;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<TextareaProps>) => {\n const {\n width = DEFAULT_WIDTH,\n error,\n warning,\n size,\n autoResize,\n resize,\n onCut,\n onPaste,\n maxRows,\n onFocus,\n selectAllOnFocus,\n placeholder,\n onValueChange,\n showLengthCounter,\n lengthCounter,\n counterHelp,\n extraRow,\n disableAnimations,\n disabled,\n ...textareaProps\n } = props;\n\n const { isCounterVisible } = this.state;\n\n const rootProps = {\n style: {\n width,\n },\n };\n\n const textareaClassNames = this.cx(this.getTextareaSizeClassName(), {\n [this.styles.textarea(this.theme)]: true,\n [this.styles.hovering(this.theme)]: !error && !warning,\n [this.styles.disabled(this.theme)]: disabled,\n [this.styles.error(this.theme)]: !!error,\n [this.styles.warning(this.theme)]: !!warning,\n [this.styles.disableAnimations()]: this.isAnimationsDisabled(),\n });\n\n const textareaStyle = {\n resize: autoResize ? 'none' : resize,\n textAlign: this.props.align,\n };\n\n let placeholderPolyfill = null;\n\n if (this.state.needsPolyfillPlaceholder && !textareaProps.value && !textareaProps.defaultValue) {\n placeholderPolyfill = <span className={this.styles.placeholder()}>{placeholder}</span>;\n }\n\n let fakeTextarea = null;\n if (autoResize) {\n const fakeProps = {\n value: this.props.value,\n defaultValue: this.props.defaultValue,\n className: this.cx(textareaClassNames, this.styles.fake()),\n readOnly: true,\n };\n fakeTextarea = <textarea {...fakeProps} ref={this.refFake} />;\n }\n\n const counter = showLengthCounter && isCounterVisible && this.node && (\n <TextareaCounter\n textarea={this.node}\n size={this.size}\n help={counterHelp}\n value={textareaProps.value}\n length={textareaProps.maxLength ?? lengthCounter ?? 0}\n onCloseHelp={this.handleCloseCounterHelp}\n ref={this.refCounter}\n />\n );\n\n const Component = isSafariWithTextareaBug ? TextareaWithSafari17Workaround : 'textarea';\n\n return (\n <RenderLayer\n onFocusOutside={this.handleCloseCounterHelp}\n onClickOutside={this.handleCloseCounterHelp}\n active={this.state.isCounterVisible}\n >\n <label\n data-tid={TextareaDataTids.root}\n {...rootProps}\n className={this.cx(this.getRootSizeClassName(), {\n [this.styles.root()]: true,\n })}\n >\n {placeholderPolyfill}\n <ResizeDetector onResize={this.reflowCounter} alignBaseline>\n <Component\n {...textareaProps}\n className={textareaClassNames}\n style={textareaStyle}\n placeholder={!placeholderPolyfill ? placeholder : undefined}\n ref={this.ref}\n onChange={this.handleChange}\n onCut={this.handleCut}\n onPaste={this.handlePaste}\n onFocus={this.handleFocus}\n onKeyDown={this.handleKeyDown}\n disabled={disabled}\n >\n {this.props.children}\n </Component>\n </ResizeDetector>\n {fakeTextarea}\n {counter}\n </label>\n </RenderLayer>\n );\n };\n\n private handleCloseCounterHelp = () => this.setState({ isCounterVisible: false });\n\n private handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n // Edge bug: textarea maxlength doesn't work after new line\n // https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/18833616/\n const value = this.props.value !== undefined ? this.props.value.toString() : null;\n const isBlockEnter = isKeyEnter(e) && value !== null && value.length === this.props.maxLength;\n\n if (isBlockEnter) {\n e.preventDefault();\n }\n\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n private handleChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n if (needsPolyfillPlaceholder) {\n const fieldIsEmpty = e.target.value === '';\n\n if (this.state.needsPolyfillPlaceholder !== fieldIsEmpty) {\n this.setState({ needsPolyfillPlaceholder: fieldIsEmpty });\n }\n }\n\n if (this.props.onValueChange) {\n this.props.onValueChange(e.target.value);\n }\n\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n\n this.reflowCounter();\n };\n\n private ref = (element: HTMLTextAreaElement) => {\n this.node = element;\n };\n\n private refFake = (element: HTMLTextAreaElement) => {\n this.fakeNode = element;\n };\n\n private refCounter = (ref: TextareaCounterRef | null) => {\n this.counter = ref;\n };\n\n private autoResizeHandler = () => {\n const fakeNode = this.fakeNode;\n if (!fakeNode) {\n return;\n }\n const node = this.node;\n if (!node) {\n return;\n }\n if (this.props.value === undefined) {\n fakeNode.value = node.value;\n }\n\n const { rows, maxRows } = this.getProps();\n if (rows === undefined || maxRows === undefined) {\n return;\n }\n\n const { height, exceededMaxHeight } =\n getTextAreaHeight(this.globalObject, {\n node: fakeNode,\n minRows: typeof rows === 'number' ? rows : parseInt(rows, 10),\n maxRows: typeof maxRows === 'number' ? maxRows : parseInt(maxRows, 10),\n extraRow: this.getProps().extraRow,\n }) || {};\n\n if (height === undefined || exceededMaxHeight === undefined) {\n return;\n }\n\n node.style.height = height + 'px';\n node.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n fakeNode.style.overflowY = exceededMaxHeight ? 'scroll' : 'hidden';\n };\n\n private autoResize = throttle(this.autoResizeHandler, this.getAutoResizeThrottleWait());\n\n private handleCut = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onCut) {\n this.props.onCut(event);\n }\n\n this.reflowCounter();\n };\n\n private handlePaste = (event: React.ClipboardEvent<HTMLTextAreaElement>) => {\n if (this.props.autoResize) {\n this.autoResize();\n }\n\n if (this.props.onPaste) {\n this.props.onPaste(event);\n }\n\n this.reflowCounter();\n };\n\n private handleFocus = (event: React.FocusEvent<HTMLTextAreaElement>) => {\n this.setState({ isCounterVisible: true });\n\n if (this.props.selectAllOnFocus) {\n // https://github.com/facebook/react/issues/7769\n this.node && this.selectAll();\n }\n\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { Theme } from '../../lib/theming/Theme.js';
2
- export declare const getStyles: import("../../lib/theming/StaticStyles.js").StylesGetter<{
2
+ export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
3
3
  root(): string;
4
4
  rootSmall(t: Theme): string;
5
5
  rootMedium(t: Theme): string;
@@ -0,0 +1,73 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import { memoizeGetStyles } from '../../lib/theming/Emotion.js';
6
+ import { rootTextareaSizeMixin, textareaSizeMixin } from './Textarea.mixins.js';
7
+ export var getStyles = memoizeGetStyles(function (_a) {
8
+ var css = _a.css;
9
+ return ({
10
+ root: function () {
11
+ return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: inline-block;\n position: relative;\n "], ["\n display: inline-block;\n position: relative;\n "])));
12
+ },
13
+ rootSmall: function (t) {
14
+ return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), rootTextareaSizeMixin(t.textareaFontSizeSmall, t.textareaLineHeightSmall));
15
+ },
16
+ rootMedium: function (t) {
17
+ return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), rootTextareaSizeMixin(t.textareaFontSizeMedium, t.textareaLineHeightMedium));
18
+ },
19
+ rootLarge: function (t) {
20
+ return css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), rootTextareaSizeMixin(t.textareaFontSizeLarge, t.textareaLineHeightLarge));
21
+ },
22
+ textarea: function (t) {
23
+ return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin: ", ";\n -webkit-appearance: none;\n background: ", ";\n background-clip: ", ";\n border: ", " solid ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n width: 100%;\n outline: none;\n transition:\n border-color ", " ", ",\n height 0.2s ease-out;\n vertical-align: ", ";\n border-radius: ", ";\n white-space: pre-wrap;\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &::placeholder {\n color: ", ";\n }\n\n &:-moz-placeholder {\n color: ", ";\n }\n\n &::-moz-placeholder {\n color: ", ";\n }\n "], ["\n margin: ", ";\n -webkit-appearance: none;\n background: ", ";\n background-clip: ", ";\n border: ", " solid ", ";\n box-shadow: ", ";\n box-sizing: border-box;\n color: ", ";\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n width: 100%;\n outline: none;\n transition:\n border-color ", " ", ",\n height 0.2s ease-out;\n vertical-align: ", ";\n border-radius: ", ";\n white-space: pre-wrap;\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ", ";\n }\n }\n\n &::placeholder {\n color: ", ";\n }\n\n &:-moz-placeholder {\n color: ", ";\n }\n\n &::-moz-placeholder {\n color: ", ";\n }\n "])), t.textareaMargin, t.textareaBg, t.textareaBackgroundClip, t.textareaBorderWidth, t.textareaBorderColor, t.textareaShadow, t.textareaColor, t.transitionDuration, t.transitionTimingFunction, t.textareaVerticalAlign, t.textareaBorderRadius, t.textareaBorderColorFocus, t.textareaOutlineWidth, t.textareaBorderColorFocus, t.textareaPlaceholderColorLight, t.textareaPlaceholderColor, t.textareaPlaceholderColor, t.textareaPlaceholderColor);
24
+ },
25
+ textareaSmall: function (t) {
26
+ return css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), textareaSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall, t.textareaMinHeightSmall));
27
+ },
28
+ textareaMedium: function (t) {
29
+ return css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), textareaSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium, t.textareaMinHeightMedium));
30
+ },
31
+ textareaLarge: function (t) {
32
+ return css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), textareaSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge, t.textareaMinHeightLarge));
33
+ },
34
+ hovering: function (t) {
35
+ return css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n &:enabled:hover:not(:focus) {\n border-color: ", ";\n }\n "], ["\n &:enabled:hover:not(:focus) {\n border-color: ", ";\n }\n "])), t.textareaBorderColorHover);
36
+ },
37
+ error: function (t) {
38
+ return css(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n }\n "], ["\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n }\n "])), t.textareaBorderColorError, t.textareaBorderWidth, t.textareaBorderColorError, t.textareaBorderColorError, t.textareaOutlineWidth, t.textareaBorderColorError);
39
+ },
40
+ warning: function (t) {
41
+ return css(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n }\n "], ["\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 ", " ", ";\n }\n "])), t.textareaBorderColorWarning, t.textareaOutlineWidth, t.textareaBorderColorWarning, t.textareaBorderColorWarning, t.textareaOutlineWidth, t.textareaBorderColorWarning);
42
+ },
43
+ disabled: function (t) {
44
+ return css(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n color: ", ";\n background: ", ";\n border-color: ", ";\n box-shadow: none;\n\n &::placeholder {\n color: ", ";\n }\n "], ["\n color: ", ";\n background: ", ";\n border-color: ", ";\n box-shadow: none;\n\n &::placeholder {\n color: ", ";\n }\n "])), t.textareaTextColorDisabled, t.textareaDisabledBg, t.textareaDisabledBorderColor, t.textareaPlaceholderColorDisabled);
45
+ },
46
+ fake: function () {
47
+ return css(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n visibility: hidden;\n width: 100%;\n "], ["\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n visibility: hidden;\n width: 100%;\n "])));
48
+ },
49
+ placeholder: function () {
50
+ return css(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n -ms-user-select: none;\n color: #aaa;\n left: 12px;\n overflow: hidden;\n position: absolute;\n right: 12px;\n top: 9px;\n user-select: none;\n z-index: 3;\n "], ["\n -ms-user-select: none;\n color: #aaa;\n left: 12px;\n overflow: hidden;\n position: absolute;\n right: 12px;\n top: 9px;\n user-select: none;\n z-index: 3;\n "])));
51
+ },
52
+ counterContainer: function (t) {
53
+ return css(templateObject_15 || (templateObject_15 = __makeTemplateObject(["\n position: absolute;\n top: 0;\n border: ", " solid transparent;\n box-sizing: content-box;\n "], ["\n position: absolute;\n top: 0;\n border: ", " solid transparent;\n box-sizing: content-box;\n "])), t.textareaBorderWidth);
54
+ },
55
+ counter: function (t) {
56
+ return css(templateObject_16 || (templateObject_16 = __makeTemplateObject(["\n position: absolute;\n z-index: 3;\n text-align: right;\n background: ", ";\n color: ", ";\n border-radius: 2px;\n "], ["\n position: absolute;\n z-index: 3;\n text-align: right;\n background: ", ";\n color: ", ";\n border-radius: 2px;\n "])), t.textareaCounterBg, t.textareaCounterColor);
57
+ },
58
+ counter6_1: function (t) {
59
+ return css(templateObject_17 || (templateObject_17 = __makeTemplateObject(["\n border-radius: ", ";\n padding: ", " ", ";\n "], ["\n border-radius: ", ";\n padding: ", " ", ";\n "])), t.textareaCounterBorderRadius, t.textareaCounterPaddingY, t.textareaCounterPaddingX);
60
+ },
61
+ counterError: function (t) {
62
+ return css(templateObject_18 || (templateObject_18 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), t.textareaCounterErrorColor);
63
+ },
64
+ counterHelp: function () {
65
+ return css(templateObject_19 || (templateObject_19 = __makeTemplateObject(["\n margin-left: 4px;\n cursor: pointer;\n "], ["\n margin-left: 4px;\n cursor: pointer;\n "])));
66
+ },
67
+ disableAnimations: function () {
68
+ return css(templateObject_20 || (templateObject_20 = __makeTemplateObject(["\n transition: none;\n "], ["\n transition: none;\n "])));
69
+ },
70
+ });
71
+ });
72
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14, templateObject_15, templateObject_16, templateObject_17, templateObject_18, templateObject_19, templateObject_20;
73
+ //# sourceMappingURL=Textarea.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Textarea.styles.js","sourceRoot":"","sources":["Textarea.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { rootTextareaSizeMixin, textareaSizeMixin } from './Textarea.mixins.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n display: inline-block;\n position: relative;\n `;\n },\n rootSmall(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeSmall, t.textareaLineHeightSmall)};\n `;\n },\n rootMedium(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeMedium, t.textareaLineHeightMedium)};\n `;\n },\n rootLarge(t: Theme) {\n return css`\n ${rootTextareaSizeMixin(t.textareaFontSizeLarge, t.textareaLineHeightLarge)};\n `;\n },\n\n textarea(t: Theme) {\n return css`\n margin: ${t.textareaMargin};\n -webkit-appearance: none;\n background: ${t.textareaBg};\n background-clip: ${t.textareaBackgroundClip};\n border: ${t.textareaBorderWidth} solid ${t.textareaBorderColor};\n box-shadow: ${t.textareaShadow};\n box-sizing: border-box;\n color: ${t.textareaColor};\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n max-width: 100%;\n width: 100%;\n outline: none;\n transition:\n border-color ${t.transitionDuration} ${t.transitionTimingFunction},\n height 0.2s ease-out;\n vertical-align: ${t.textareaVerticalAlign};\n border-radius: ${t.textareaBorderRadius};\n white-space: pre-wrap;\n\n &:focus {\n border-color: ${t.textareaBorderColorFocus};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorFocus};\n position: relative;\n z-index: 2;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorLight};\n }\n }\n\n &::placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &:-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n\n &::-moz-placeholder {\n color: ${t.textareaPlaceholderColor};\n }\n `;\n },\n textareaSmall(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYSmall, t.textareaPaddingXSmall, t.textareaMinHeightSmall)};\n `;\n },\n textareaMedium(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYMedium, t.textareaPaddingXMedium, t.textareaMinHeightMedium)};\n `;\n },\n textareaLarge(t: Theme) {\n return css`\n ${textareaSizeMixin(t.textareaPaddingYLarge, t.textareaPaddingXLarge, t.textareaMinHeightLarge)};\n `;\n },\n\n hovering(t: Theme) {\n return css`\n &:enabled:hover:not(:focus) {\n border-color: ${t.textareaBorderColorHover};\n }\n `;\n },\n\n error(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaBorderWidth} ${t.textareaBorderColorError};\n\n &:focus {\n border-color: ${t.textareaBorderColorError};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorError};\n }\n `;\n },\n\n warning(t: Theme) {\n return css`\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n\n &:focus {\n border-color: ${t.textareaBorderColorWarning};\n box-shadow: 0 0 0 ${t.textareaOutlineWidth} ${t.textareaBorderColorWarning};\n }\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.textareaTextColorDisabled};\n background: ${t.textareaDisabledBg};\n border-color: ${t.textareaDisabledBorderColor};\n box-shadow: none;\n\n &::placeholder {\n color: ${t.textareaPlaceholderColorDisabled};\n }\n `;\n },\n\n fake() {\n return css`\n height: 0;\n left: 0;\n position: absolute;\n top: 0;\n visibility: hidden;\n width: 100%;\n `;\n },\n\n placeholder() {\n return css`\n -ms-user-select: none;\n color: #aaa;\n left: 12px;\n overflow: hidden;\n position: absolute;\n right: 12px;\n top: 9px;\n user-select: none;\n z-index: 3;\n `;\n },\n\n counterContainer(t: Theme) {\n return css`\n position: absolute;\n top: 0;\n border: ${t.textareaBorderWidth} solid transparent;\n box-sizing: content-box;\n `;\n },\n\n counter(t: Theme) {\n return css`\n position: absolute;\n z-index: 3;\n text-align: right;\n background: ${t.textareaCounterBg};\n color: ${t.textareaCounterColor};\n border-radius: 2px;\n `;\n },\n counter6_1(t: Theme) {\n return css`\n border-radius: ${t.textareaCounterBorderRadius};\n padding: ${t.textareaCounterPaddingY} ${t.textareaCounterPaddingX};\n `;\n },\n\n counterError(t: Theme) {\n return css`\n color: ${t.textareaCounterErrorColor};\n `;\n },\n\n counterHelp() {\n return css`\n margin-left: 4px;\n cursor: pointer;\n `;\n },\n\n disableAnimations() {\n return css`\n transition: none;\n `;\n },\n}));\n"]}
@@ -21,8 +21,8 @@ import { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';
21
21
  import { isFunction } from '../../lib/utils.js';
22
22
  import { MINUS_SIGN } from '../CurrencyInput/constants.js';
23
23
  import { Tooltip } from '../Tooltip/index.js';
24
- import { getStyles } from './Textarea.css.js';
25
24
  import { TextareaDataTids } from './Textarea.js';
25
+ import { getStyles } from './Textarea.styles.js';
26
26
  var handleHelpMouseDown = function (e) { return e.preventDefault(); };
27
27
  var getCounterOffsets = function (textarea) {
28
28
  var _a, _b, _c, _d, _e;
@@ -1 +1 @@
1
- {"version":3,"file":"TextareaCounter.js","sourceRoot":"","sources":["TextareaCounter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useImperativeHandle, useState } from 'react';\nimport type { SyntheticEvent } from 'react';\n\nimport { QuestionCircleIcon16Light } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Light.js';\nimport { QuestionCircleIcon16Solid } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js';\nimport { QuestionCircleIcon20Regular } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon20Regular.js';\nimport { QuestionCircleIcon24Regular } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon24Regular.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isFunction } from '../../lib/utils.js';\nimport { MINUS_SIGN } from '../CurrencyInput/constants.js';\nimport { Tooltip } from '../Tooltip/index.js';\nimport { getStyles } from './Textarea.css.js';\nimport { TextareaDataTids } from './Textarea.js';\nimport type { TextareaProps } from './Textarea.js';\n\nexport interface TextareaCounterProps {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n size: SizeProp;\n}\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nconst getCounterOffsets = (textarea: HTMLTextAreaElement) => {\n const computedStyle = textarea.ownerDocument.defaultView?.getComputedStyle(textarea);\n\n return {\n right: computedStyle?.paddingRight ?? textarea.style.paddingRight ?? '0px',\n bottom: computedStyle?.paddingBottom ?? textarea.style.paddingBottom ?? '0px',\n };\n};\n\nexport const TextareaCounter = forwardRefAndName<TextareaCounterRef, TextareaCounterProps>(\n 'TextareaCounter',\n ({ length, value, help, onCloseHelp, textarea, size }, ref) => {\n const theme = useContext(ThemeContext);\n const isThemeGTE6_1 = isThemeGTE(theme, '6.1');\n\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => {\n if (typeof help === 'function') {\n return help();\n }\n return help;\n }, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n const counterOffsets = getCounterOffsets(textarea);\n\n const getHelpIcon = () => {\n switch (size) {\n case 'large':\n return <QuestionCircleIcon24Regular {...helpIconProps} />;\n case 'medium':\n return <QuestionCircleIcon20Regular {...helpIconProps} />;\n case 'small':\n default:\n return <QuestionCircleIcon16Light {...helpIconProps} />;\n }\n };\n const helpIconProps = {\n onMouseDown: handleHelpMouseDown,\n color: theme.textareaCounterHelpIconColor,\n 'data-tid': TextareaDataTids.helpIcon,\n };\n const helpIcon = isThemeGTE6_1 ? getHelpIcon() : <QuestionCircleIcon16Solid {...helpIconProps} />;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n {helpIcon}\n </Tooltip>\n );\n\n const isNegativeValue = counterValue < 0;\n\n return (\n <div data-tid={TextareaDataTids.counter} className={cx(styles.counterContainer(theme))} style={{ width, height }}>\n <span\n style={counterOffsets}\n className={cx(styles.counter(theme), {\n [styles.counter6_1(theme)]: isThemeGTE6_1,\n [styles.counterError(theme)]: isNegativeValue,\n })}\n >\n {isThemeGTE6_1 && isNegativeValue ? `${MINUS_SIGN}${-counterValue}` : counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n },\n);\n"]}
1
+ {"version":3,"file":"TextareaCounter.js","sourceRoot":"","sources":["TextareaCounter.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useImperativeHandle, useState } from 'react';\nimport type { SyntheticEvent } from 'react';\n\nimport { QuestionCircleIcon16Light } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Light.js';\nimport { QuestionCircleIcon16Solid } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon16Solid.js';\nimport { QuestionCircleIcon20Regular } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon20Regular.js';\nimport { QuestionCircleIcon24Regular } from '../../internal/icons2022/QuestionCircleIcon/QuestionCircleIcon24Regular.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { isThemeGTE } from '../../lib/theming/ThemeHelpers.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { isFunction } from '../../lib/utils.js';\nimport { MINUS_SIGN } from '../CurrencyInput/constants.js';\nimport { Tooltip } from '../Tooltip/index.js';\nimport { TextareaDataTids } from './Textarea.js';\nimport type { TextareaProps } from './Textarea.js';\nimport { getStyles } from './Textarea.styles.js';\n\nexport interface TextareaCounterProps {\n value: TextareaProps['value'];\n length: number;\n help: TextareaProps['counterHelp'];\n onCloseHelp: () => void;\n textarea: HTMLTextAreaElement;\n size: SizeProp;\n}\n\nexport interface TextareaCounterRef {\n reflow: () => void;\n}\n\nconst handleHelpMouseDown = (e: SyntheticEvent) => e.preventDefault();\n\nconst getCounterOffsets = (textarea: HTMLTextAreaElement) => {\n const computedStyle = textarea.ownerDocument.defaultView?.getComputedStyle(textarea);\n\n return {\n right: computedStyle?.paddingRight ?? textarea.style.paddingRight ?? '0px',\n bottom: computedStyle?.paddingBottom ?? textarea.style.paddingBottom ?? '0px',\n };\n};\n\nexport const TextareaCounter = forwardRefAndName<TextareaCounterRef, TextareaCounterProps>(\n 'TextareaCounter',\n ({ length, value, help, onCloseHelp, textarea, size }, ref) => {\n const theme = useContext(ThemeContext);\n const isThemeGTE6_1 = isThemeGTE(theme, '6.1');\n\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const [width, setWidth] = useState(textarea.clientWidth);\n const [height, setHeight] = useState(textarea.clientHeight);\n const reflow = useCallback(() => {\n const { clientWidth, clientHeight } = textarea;\n setWidth(clientWidth);\n setHeight(clientHeight);\n }, [textarea]);\n useImperativeHandle(ref, () => ({ reflow }), [reflow]);\n const renderTooltipContent = useCallback(() => {\n if (typeof help === 'function') {\n return help();\n }\n return help;\n }, [help]);\n const textareaValue = value ? value.toString().length : 0;\n const counterValue = length - textareaValue;\n const counterOffsets = getCounterOffsets(textarea);\n\n const getHelpIcon = () => {\n switch (size) {\n case 'large':\n return <QuestionCircleIcon24Regular {...helpIconProps} />;\n case 'medium':\n return <QuestionCircleIcon20Regular {...helpIconProps} />;\n case 'small':\n default:\n return <QuestionCircleIcon16Light {...helpIconProps} />;\n }\n };\n const helpIconProps = {\n onMouseDown: handleHelpMouseDown,\n color: theme.textareaCounterHelpIconColor,\n 'data-tid': TextareaDataTids.helpIcon,\n };\n const helpIcon = isThemeGTE6_1 ? getHelpIcon() : <QuestionCircleIcon16Solid {...helpIconProps} />;\n const counterHelp = isFunction(help) ? (\n help()\n ) : (\n <Tooltip pos={'right bottom'} trigger={'click'} render={renderTooltipContent} onCloseClick={onCloseHelp}>\n {helpIcon}\n </Tooltip>\n );\n\n const isNegativeValue = counterValue < 0;\n\n return (\n <div data-tid={TextareaDataTids.counter} className={cx(styles.counterContainer(theme))} style={{ width, height }}>\n <span\n style={counterOffsets}\n className={cx(styles.counter(theme), {\n [styles.counter6_1(theme)]: isThemeGTE6_1,\n [styles.counterError(theme)]: isNegativeValue,\n })}\n >\n {isThemeGTE6_1 && isNegativeValue ? `${MINUS_SIGN}${-counterValue}` : counterValue}\n {help && <span className={styles.counterHelp()}>{counterHelp}</span>}\n </span>\n </div>\n );\n },\n);\n"]}