@skbkontur/react-ui 6.2.0-beta.0 → 6.2.1

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 (432) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/components/Button/Button.classes.d.ts +8 -0
  3. package/components/Button/Button.classes.js +10 -0
  4. package/components/Button/Button.classes.js.map +1 -0
  5. package/components/Button/Button.mixins.js +1 -1
  6. package/components/Button/Button.mixins.js.map +1 -1
  7. package/components/Button/Button.styles.d.ts +2 -8
  8. package/components/Button/Button.styles.js +3 -9
  9. package/components/Button/Button.styles.js.map +1 -1
  10. package/components/Calendar/Calendar.d.ts +2 -8
  11. package/components/Calendar/Calendar.js +2 -7
  12. package/components/Calendar/Calendar.js.map +1 -1
  13. package/components/Calendar/CalendarDay.js +1 -1
  14. package/components/Calendar/CalendarDay.js.map +1 -1
  15. package/components/Calendar/MonthView.js +1 -1
  16. package/components/Calendar/MonthView.js.map +1 -1
  17. package/components/Calendar/MonthViewModel.js +1 -2
  18. package/components/Calendar/MonthViewModel.js.map +1 -1
  19. package/components/Calendar/tids.d.ts +7 -0
  20. package/components/Calendar/tids.js +8 -0
  21. package/components/Calendar/tids.js.map +1 -0
  22. package/components/Checkbox/Checkbox.d.ts +5 -0
  23. package/components/Checkbox/Checkbox.js +42 -21
  24. package/components/Checkbox/Checkbox.js.map +1 -1
  25. package/components/Checkbox/Checkbox.mixins.d.ts +2 -0
  26. package/components/Checkbox/Checkbox.mixins.js +6 -0
  27. package/components/Checkbox/Checkbox.mixins.js.map +1 -1
  28. package/components/Checkbox/Checkbox.styles.d.ts +7 -0
  29. package/components/Checkbox/Checkbox.styles.js +23 -2
  30. package/components/Checkbox/Checkbox.styles.js.map +1 -1
  31. package/components/CurrencyInput/CurrencyHelper.d.ts +1 -2
  32. package/components/CurrencyInput/CurrencyHelper.js +32 -28
  33. package/components/CurrencyInput/CurrencyHelper.js.map +1 -1
  34. package/components/CurrencyInput/CurrencyInputHelper.js +1 -1
  35. package/components/CurrencyInput/CurrencyInputHelper.js.map +1 -1
  36. package/components/DateInput/DateInput.js +4 -1
  37. package/components/DateInput/DateInput.js.map +1 -1
  38. package/components/FileUploader/FileUploaderFile.d.ts +1 -1
  39. package/components/FileUploader/FileUploaderFile.js +4 -2
  40. package/components/FileUploader/FileUploaderFile.js.map +1 -1
  41. package/components/FileUploader/locale/locales/en.js +1 -0
  42. package/components/FileUploader/locale/locales/en.js.map +1 -1
  43. package/components/FileUploader/locale/locales/ru.js +1 -0
  44. package/components/FileUploader/locale/locales/ru.js.map +1 -1
  45. package/components/FileUploader/locale/types.d.ts +1 -0
  46. package/components/FileUploader/locale/types.js.map +1 -1
  47. package/components/FxInput/FxInput.d.ts +1 -1
  48. package/components/FxInput/FxInput.js.map +1 -1
  49. package/components/Group/Group.js +2 -3
  50. package/components/Group/Group.js.map +1 -1
  51. package/components/Input/Input.d.ts +4 -1
  52. package/components/Input/Input.js +4 -1
  53. package/components/Input/Input.js.map +1 -1
  54. package/components/MaskedInput/MaskedInput.d.ts +6 -2
  55. package/components/MaskedInput/MaskedInput.js +10 -126
  56. package/components/MaskedInput/MaskedInput.js.map +1 -1
  57. package/components/MaskedInput/MaskedInputLegacy.d.ts +3 -0
  58. package/components/MaskedInput/MaskedInputLegacy.js +142 -0
  59. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -0
  60. package/components/MaskedInput/index.d.ts +1 -0
  61. package/components/MaskedInput/index.js +1 -0
  62. package/components/MaskedInput/index.js.map +1 -1
  63. package/components/MaskedInputV2/MaskedInputV2.d.ts +62 -0
  64. package/components/MaskedInputV2/MaskedInputV2.helpers.d.ts +9 -0
  65. package/components/MaskedInputV2/MaskedInputV2.helpers.js +17 -0
  66. package/components/MaskedInputV2/MaskedInputV2.helpers.js.map +1 -0
  67. package/components/MaskedInputV2/MaskedInputV2.js +307 -0
  68. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -0
  69. package/components/MaskedInputV2/MaskedInputV2.phone.d.ts +28 -0
  70. package/components/MaskedInputV2/MaskedInputV2.phone.js +38 -0
  71. package/components/MaskedInputV2/MaskedInputV2.phone.js.map +1 -0
  72. package/{internal/TimeInput/TimeInput.styles.d.ts → components/MaskedInputV2/MaskedInputV2.styles.d.ts} +4 -3
  73. package/components/MaskedInputV2/MaskedInputV2.styles.js +19 -0
  74. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -0
  75. package/components/MaskedInputV2/index.d.ts +2 -0
  76. package/components/MaskedInputV2/index.js +3 -0
  77. package/components/MaskedInputV2/index.js.map +1 -0
  78. package/components/MaskedInputV2/internal/MaskOverlay.d.ts +19 -0
  79. package/components/MaskedInputV2/internal/MaskOverlay.js +54 -0
  80. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -0
  81. package/components/MaskedInputV2/internal/MaskedCore.d.ts +8 -0
  82. package/components/MaskedInputV2/internal/MaskedCore.js +186 -0
  83. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -0
  84. package/components/MaskedInputV2/internal/MaskedCore.types.d.ts +37 -0
  85. package/components/MaskedInputV2/internal/MaskedCore.types.js +2 -0
  86. package/components/MaskedInputV2/internal/MaskedCore.types.js.map +1 -0
  87. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +15 -0
  88. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +34 -0
  89. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -0
  90. package/components/MaskedInputV2/internal/buildSlotMap.d.ts +11 -0
  91. package/components/MaskedInputV2/internal/buildSlotMap.js +37 -0
  92. package/components/MaskedInputV2/internal/buildSlotMap.js.map +1 -0
  93. package/components/MaskedInputV2/internal/computeMaskAlignPadding.d.ts +6 -0
  94. package/components/MaskedInputV2/internal/computeMaskAlignPadding.js +47 -0
  95. package/components/MaskedInputV2/internal/computeMaskAlignPadding.js.map +1 -0
  96. package/components/MaskedInputV2/internal/computePasteMaskedCursor.d.ts +3 -0
  97. package/components/MaskedInputV2/internal/computePasteMaskedCursor.js +11 -0
  98. package/components/MaskedInputV2/internal/computePasteMaskedCursor.js.map +1 -0
  99. package/components/MaskedInputV2/internal/extractRaw.d.ts +10 -0
  100. package/components/MaskedInputV2/internal/extractRaw.js +16 -0
  101. package/components/MaskedInputV2/internal/extractRaw.js.map +1 -0
  102. package/components/MaskedInputV2/internal/findNearestRawLeft.d.ts +10 -0
  103. package/components/MaskedInputV2/internal/findNearestRawLeft.js +18 -0
  104. package/components/MaskedInputV2/internal/findNearestRawLeft.js.map +1 -0
  105. package/components/MaskedInputV2/internal/helpers.d.ts +8 -0
  106. package/components/MaskedInputV2/internal/helpers.js +9 -0
  107. package/components/MaskedInputV2/internal/helpers.js.map +1 -0
  108. package/components/MaskedInputV2/internal/maskedCoreClipboard.d.ts +37 -0
  109. package/components/MaskedInputV2/internal/maskedCoreClipboard.js +52 -0
  110. package/components/MaskedInputV2/internal/maskedCoreClipboard.js.map +1 -0
  111. package/components/MaskedInputV2/internal/maskedCoreDeletion.d.ts +28 -0
  112. package/components/MaskedInputV2/internal/maskedCoreDeletion.js +70 -0
  113. package/components/MaskedInputV2/internal/maskedCoreDeletion.js.map +1 -0
  114. package/components/MaskedInputV2/internal/maskedCoreInputChange.d.ts +38 -0
  115. package/components/MaskedInputV2/internal/maskedCoreInputChange.js +49 -0
  116. package/components/MaskedInputV2/internal/maskedCoreInputChange.js.map +1 -0
  117. package/components/MaskedInputV2/internal/maskedCoreNavigation.d.ts +13 -0
  118. package/components/MaskedInputV2/internal/maskedCoreNavigation.js +79 -0
  119. package/components/MaskedInputV2/internal/maskedCoreNavigation.js.map +1 -0
  120. package/components/MaskedInputV2/internal/measureInputTextWidth.d.ts +2 -0
  121. package/components/MaskedInputV2/internal/measureInputTextWidth.js +30 -0
  122. package/components/MaskedInputV2/internal/measureInputTextWidth.js.map +1 -0
  123. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.d.ts +2 -0
  124. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js +25 -0
  125. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js.map +1 -0
  126. package/components/MaskedInputV2/internal/showOverlay.d.ts +3 -0
  127. package/components/MaskedInputV2/internal/showOverlay.js +16 -0
  128. package/components/MaskedInputV2/internal/showOverlay.js.map +1 -0
  129. package/components/MaskedInputV2/internal/stripMaskChars.d.ts +11 -0
  130. package/components/MaskedInputV2/internal/stripMaskChars.js +20 -0
  131. package/components/MaskedInputV2/internal/stripMaskChars.js.map +1 -0
  132. package/components/MaskedInputV2/internal/types.d.ts +74 -0
  133. package/components/MaskedInputV2/internal/types.js.map +1 -0
  134. package/components/MaskedInputV2/internal/useInputOverflow.d.ts +4 -0
  135. package/components/MaskedInputV2/internal/useInputOverflow.js +34 -0
  136. package/components/MaskedInputV2/internal/useInputOverflow.js.map +1 -0
  137. package/components/MaskedInputV2/internal/useMaskAlignPadding.d.ts +2 -0
  138. package/components/MaskedInputV2/internal/useMaskAlignPadding.js +33 -0
  139. package/components/MaskedInputV2/internal/useMaskAlignPadding.js.map +1 -0
  140. package/components/MaskedInputV2/internal/useMaskEngine.d.ts +42 -0
  141. package/components/MaskedInputV2/internal/useMaskEngine.js +128 -0
  142. package/components/MaskedInputV2/internal/useMaskEngine.js.map +1 -0
  143. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.d.ts +34 -0
  144. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js +335 -0
  145. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js.map +1 -0
  146. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.d.ts +16 -0
  147. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js +59 -0
  148. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js.map +1 -0
  149. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.d.ts +20 -0
  150. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js +106 -0
  151. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js.map +1 -0
  152. package/components/MaskedInputV2/react-imask/imask/controls/input-history.d.ts +17 -0
  153. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js +49 -0
  154. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js.map +1 -0
  155. package/components/MaskedInputV2/react-imask/imask/controls/input.d.ts +95 -0
  156. package/components/MaskedInputV2/react-imask/imask/controls/input.js +420 -0
  157. package/components/MaskedInputV2/react-imask/imask/controls/input.js.map +1 -0
  158. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.d.ts +30 -0
  159. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js +59 -0
  160. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js.map +1 -0
  161. package/components/MaskedInputV2/react-imask/imask/core/action-details.d.ts +30 -0
  162. package/components/MaskedInputV2/react-imask/imask/core/action-details.js +100 -0
  163. package/components/MaskedInputV2/react-imask/imask/core/action-details.js.map +1 -0
  164. package/components/MaskedInputV2/react-imask/imask/core/change-details.d.ts +20 -0
  165. package/components/MaskedInputV2/react-imask/imask/core/change-details.js +46 -0
  166. package/components/MaskedInputV2/react-imask/imask/core/change-details.js.map +1 -0
  167. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.d.ts +21 -0
  168. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js +52 -0
  169. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js.map +1 -0
  170. package/components/MaskedInputV2/react-imask/imask/core/holder.d.ts +34 -0
  171. package/components/MaskedInputV2/react-imask/imask/core/holder.js +38 -0
  172. package/components/MaskedInputV2/react-imask/imask/core/holder.js.map +1 -0
  173. package/components/MaskedInputV2/react-imask/imask/core/tail-details.d.ts +20 -0
  174. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js +2 -0
  175. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js.map +1 -0
  176. package/components/MaskedInputV2/react-imask/imask/core/utils.d.ts +24 -0
  177. package/components/MaskedInputV2/react-imask/imask/core/utils.js +100 -0
  178. package/components/MaskedInputV2/react-imask/imask/core/utils.js.map +1 -0
  179. package/components/MaskedInputV2/react-imask/imask/imask.d.ts +5 -0
  180. package/components/MaskedInputV2/react-imask/imask/imask.js +7 -0
  181. package/components/MaskedInputV2/react-imask/imask/imask.js.map +1 -0
  182. package/components/MaskedInputV2/react-imask/imask/index.d.ts +17 -0
  183. package/components/MaskedInputV2/react-imask/imask/index.js +16 -0
  184. package/components/MaskedInputV2/react-imask/imask/index.js.map +1 -0
  185. package/components/MaskedInputV2/react-imask/imask/masked/base.d.ts +114 -0
  186. package/components/MaskedInputV2/react-imask/imask/masked/base.js +411 -0
  187. package/components/MaskedInputV2/react-imask/imask/masked/base.js.map +1 -0
  188. package/components/MaskedInputV2/react-imask/imask/masked/create.d.ts +14 -0
  189. package/components/MaskedInputV2/react-imask/imask/masked/create.js +11 -0
  190. package/components/MaskedInputV2/react-imask/imask/masked/create.js.map +1 -0
  191. package/components/MaskedInputV2/react-imask/imask/masked/factory.d.ts +62 -0
  192. package/components/MaskedInputV2/react-imask/imask/masked/factory.js +107 -0
  193. package/components/MaskedInputV2/react-imask/imask/masked/factory.js.map +1 -0
  194. package/components/MaskedInputV2/react-imask/imask/masked/pattern.d.ts +101 -0
  195. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js +549 -0
  196. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js.map +1 -0
  197. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.d.ts +30 -0
  198. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js +2 -0
  199. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js.map +1 -0
  200. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.d.ts +20 -0
  201. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js +182 -0
  202. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js.map +1 -0
  203. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.d.ts +31 -0
  204. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js +163 -0
  205. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js.map +1 -0
  206. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.d.ts +42 -0
  207. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js +158 -0
  208. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js.map +1 -0
  209. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.d.ts +56 -0
  210. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js +185 -0
  211. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js.map +1 -0
  212. package/components/MaskedInputV2/react-imask/imask/masked/regexp.d.ts +17 -0
  213. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js +36 -0
  214. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js.map +1 -0
  215. package/components/MaskedInputV2/react-imask/index.d.ts +3 -0
  216. package/components/MaskedInputV2/react-imask/index.js +4 -0
  217. package/components/MaskedInputV2/react-imask/index.js.map +1 -0
  218. package/components/MaskedInputV2/react-imask/input.d.ts +8 -0
  219. package/components/MaskedInputV2/react-imask/input.js +35 -0
  220. package/components/MaskedInputV2/react-imask/input.js.map +1 -0
  221. package/components/MaskedInputV2/react-imask/mixin.d.ts +31 -0
  222. package/components/MaskedInputV2/react-imask/mixin.js +246 -0
  223. package/components/MaskedInputV2/react-imask/mixin.js.map +1 -0
  224. package/components/MenuItem/MenuItem.mixins.d.ts +1 -0
  225. package/components/MenuItem/MenuItem.mixins.js +6 -1
  226. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  227. package/components/MenuItem/MenuItem.styles.d.ts +2 -1
  228. package/components/MenuItem/MenuItem.styles.js +2 -7
  229. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  230. package/components/MiniModal/MiniModal.d.ts +2 -16
  231. package/components/MiniModal/MiniModal.js +2 -16
  232. package/components/MiniModal/MiniModal.js.map +1 -1
  233. package/components/MiniModal/MiniModalBody.js +1 -1
  234. package/components/MiniModal/MiniModalBody.js.map +1 -1
  235. package/components/MiniModal/MiniModalFooter.js +1 -1
  236. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  237. package/components/MiniModal/MiniModalHeader.js +1 -1
  238. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  239. package/components/MiniModal/MiniModalIndent.js +1 -1
  240. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  241. package/components/MiniModal/tids.d.ts +7 -0
  242. package/components/MiniModal/tids.js +8 -0
  243. package/components/MiniModal/tids.js.map +1 -0
  244. package/components/Modal/Modal.constants.d.ts +9 -0
  245. package/components/Modal/Modal.constants.js +10 -0
  246. package/components/Modal/Modal.constants.js.map +1 -0
  247. package/components/Modal/Modal.d.ts +2 -15
  248. package/components/Modal/Modal.js +2 -14
  249. package/components/Modal/Modal.js.map +1 -1
  250. package/components/Modal/ModalBody.js +1 -1
  251. package/components/Modal/ModalBody.js.map +1 -1
  252. package/components/Modal/ModalClose.js +1 -1
  253. package/components/Modal/ModalClose.js.map +1 -1
  254. package/components/PasswordInput/PasswordInput.js +13 -1
  255. package/components/PasswordInput/PasswordInput.js.map +1 -1
  256. package/components/Radio/Radio.d.ts +4 -0
  257. package/components/Radio/Radio.js +20 -1
  258. package/components/Radio/Radio.js.map +1 -1
  259. package/components/Radio/Radio.mixins.d.ts +2 -0
  260. package/components/Radio/Radio.mixins.js +6 -0
  261. package/components/Radio/Radio.mixins.js.map +1 -1
  262. package/components/Radio/Radio.styles.d.ts +6 -0
  263. package/components/Radio/Radio.styles.js +22 -4
  264. package/components/Radio/Radio.styles.js.map +1 -1
  265. package/components/Select/Select.d.ts +1 -0
  266. package/components/Select/Select.js +12 -2
  267. package/components/Select/Select.js.map +1 -1
  268. package/components/Switcher/Switcher.d.ts +3 -3
  269. package/components/Switcher/Switcher.js +1 -1
  270. package/components/Switcher/Switcher.js.map +1 -1
  271. package/components/Tabs/Tab.d.ts +4 -5
  272. package/components/Tabs/Tab.js +0 -1
  273. package/components/Tabs/Tab.js.map +1 -1
  274. package/components/Tabs/Tabs.d.ts +2 -2
  275. package/components/Tabs/Tabs.js +1 -1
  276. package/components/Tabs/Tabs.js.map +1 -1
  277. package/components/Toggle/Toggle.classes.d.ts +8 -0
  278. package/components/Toggle/Toggle.classes.js +10 -0
  279. package/components/Toggle/Toggle.classes.js.map +1 -0
  280. package/components/Toggle/Toggle.d.ts +5 -0
  281. package/components/Toggle/Toggle.js +46 -22
  282. package/components/Toggle/Toggle.js.map +1 -1
  283. package/components/Toggle/Toggle.mixins.d.ts +2 -0
  284. package/components/Toggle/Toggle.mixins.js +7 -1
  285. package/components/Toggle/Toggle.mixins.js.map +1 -1
  286. package/components/Toggle/Toggle.styles.d.ts +11 -8
  287. package/components/Toggle/Toggle.styles.js +32 -11
  288. package/components/Toggle/Toggle.styles.js.map +1 -1
  289. package/components/Token/Token.d.ts +1 -1
  290. package/components/Token/Token.js +1 -1
  291. package/components/Token/Token.js.map +1 -1
  292. package/components/TokenInput/TokenInput.d.ts +8 -4
  293. package/components/TokenInput/TokenInput.js +1 -2
  294. package/components/TokenInput/TokenInput.js.map +1 -1
  295. package/components/Tooltip/Tooltip.d.ts +2 -0
  296. package/components/Tooltip/Tooltip.js +25 -4
  297. package/components/Tooltip/Tooltip.js.map +1 -1
  298. package/index.d.ts +0 -1
  299. package/index.js +0 -1
  300. package/index.js.map +1 -1
  301. package/internal/Menu/Menu.d.ts +5 -0
  302. package/internal/Menu/Menu.js +21 -0
  303. package/internal/Menu/Menu.js.map +1 -1
  304. package/internal/Popup/PopupPin.js +8 -6
  305. package/internal/Popup/PopupPin.js.map +1 -1
  306. package/internal/themes/BasicTheme.d.ts +194 -35
  307. package/internal/themes/BasicTheme.js +326 -97
  308. package/internal/themes/BasicTheme.js.map +1 -1
  309. package/internal/themes/DarkTheme6_0.js +1 -0
  310. package/internal/themes/DarkTheme6_0.js.map +1 -1
  311. package/lib/date/InternalDateValidator.js +1 -2
  312. package/lib/date/InternalDateValidator.js.map +1 -1
  313. package/lib/events/keyListener.js +6 -0
  314. package/lib/events/keyListener.js.map +1 -1
  315. package/lib/events/keyboard/KeyboardEventCodes.d.ts +2 -0
  316. package/lib/events/keyboard/KeyboardEventCodes.js +2 -0
  317. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  318. package/lib/events/keyboard/KeyboardMapKeys.js +2 -0
  319. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  320. package/lib/events/keyboard/identifiers.d.ts +2 -0
  321. package/lib/events/keyboard/identifiers.js +6 -0
  322. package/lib/events/keyboard/identifiers.js.map +1 -1
  323. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  324. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -0
  325. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  326. package/lib/locale/types.d.ts +0 -2
  327. package/lib/locale/types.js.map +1 -1
  328. package/lib/utils.d.ts +2 -3
  329. package/lib/utils.js +7 -5
  330. package/lib/utils.js.map +1 -1
  331. package/package.json +6 -11
  332. package/components/TimePicker/TimeClockIcon.d.ts +0 -3
  333. package/components/TimePicker/TimeClockIcon.js +0 -11
  334. package/components/TimePicker/TimeClockIcon.js.map +0 -1
  335. package/components/TimePicker/TimePicker.d.ts +0 -79
  336. package/components/TimePicker/TimePicker.js +0 -513
  337. package/components/TimePicker/TimePicker.js.map +0 -1
  338. package/components/TimePicker/TimePicker.styles.d.ts +0 -11
  339. package/components/TimePicker/TimePicker.styles.js +0 -36
  340. package/components/TimePicker/TimePicker.styles.js.map +0 -1
  341. package/components/TimePicker/TimePickerItems.d.ts +0 -17
  342. package/components/TimePicker/TimePickerItems.js +0 -80
  343. package/components/TimePicker/TimePickerItems.js.map +0 -1
  344. package/components/TimePicker/TimePickerMobilePopup.d.ts +0 -38
  345. package/components/TimePicker/TimePickerMobilePopup.js +0 -21
  346. package/components/TimePicker/TimePickerMobilePopup.js.map +0 -1
  347. package/components/TimePicker/TimePickerPopup.d.ts +0 -20
  348. package/components/TimePicker/TimePickerPopup.js +0 -18
  349. package/components/TimePicker/TimePickerPopup.js.map +0 -1
  350. package/components/TimePicker/helpers/TimePicker.constants.d.ts +0 -22
  351. package/components/TimePicker/helpers/TimePicker.constants.js +0 -31
  352. package/components/TimePicker/helpers/TimePicker.constants.js.map +0 -1
  353. package/components/TimePicker/helpers/TimePicker.editing.d.ts +0 -23
  354. package/components/TimePicker/helpers/TimePicker.editing.js +0 -101
  355. package/components/TimePicker/helpers/TimePicker.editing.js.map +0 -1
  356. package/components/TimePicker/helpers/TimePicker.layout.d.ts +0 -6
  357. package/components/TimePicker/helpers/TimePicker.layout.js +0 -49
  358. package/components/TimePicker/helpers/TimePicker.layout.js.map +0 -1
  359. package/components/TimePicker/helpers/TimePicker.selection.d.ts +0 -5
  360. package/components/TimePicker/helpers/TimePicker.selection.js +0 -23
  361. package/components/TimePicker/helpers/TimePicker.selection.js.map +0 -1
  362. package/components/TimePicker/helpers/TimePicker.shared.d.ts +0 -47
  363. package/components/TimePicker/helpers/TimePicker.shared.js +0 -70
  364. package/components/TimePicker/helpers/TimePicker.shared.js.map +0 -1
  365. package/components/TimePicker/helpers/TimePicker.value.d.ts +0 -30
  366. package/components/TimePicker/helpers/TimePicker.value.js +0 -96
  367. package/components/TimePicker/helpers/TimePicker.value.js.map +0 -1
  368. package/components/TimePicker/helpers/scrollSelectedItemIntoView.d.ts +0 -4
  369. package/components/TimePicker/helpers/scrollSelectedItemIntoView.js +0 -24
  370. package/components/TimePicker/helpers/scrollSelectedItemIntoView.js.map +0 -1
  371. package/components/TimePicker/helpers/validateTimePicker.d.ts +0 -8
  372. package/components/TimePicker/helpers/validateTimePicker.js +0 -16
  373. package/components/TimePicker/helpers/validateTimePicker.js.map +0 -1
  374. package/components/TimePicker/hooks/useTimePickerDropdown.d.ts +0 -17
  375. package/components/TimePicker/hooks/useTimePickerDropdown.js +0 -62
  376. package/components/TimePicker/hooks/useTimePickerDropdown.js.map +0 -1
  377. package/components/TimePicker/hooks/useTimePickerSelection.d.ts +0 -18
  378. package/components/TimePicker/hooks/useTimePickerSelection.js +0 -66
  379. package/components/TimePicker/hooks/useTimePickerSelection.js.map +0 -1
  380. package/components/TimePicker/hooks/useTimePickerValue.d.ts +0 -18
  381. package/components/TimePicker/hooks/useTimePickerValue.js +0 -59
  382. package/components/TimePicker/hooks/useTimePickerValue.js.map +0 -1
  383. package/components/TimePicker/index.d.ts +0 -2
  384. package/components/TimePicker/index.js +0 -2
  385. package/components/TimePicker/index.js.map +0 -1
  386. package/components/TimePicker/locale/index.d.ts +0 -4
  387. package/components/TimePicker/locale/index.js +0 -9
  388. package/components/TimePicker/locale/index.js.map +0 -1
  389. package/components/TimePicker/locale/locales/en.d.ts +0 -2
  390. package/components/TimePicker/locale/locales/en.js +0 -5
  391. package/components/TimePicker/locale/locales/en.js.map +0 -1
  392. package/components/TimePicker/locale/locales/ru.d.ts +0 -2
  393. package/components/TimePicker/locale/locales/ru.js +0 -5
  394. package/components/TimePicker/locale/locales/ru.js.map +0 -1
  395. package/components/TimePicker/locale/types.d.ts +0 -4
  396. package/components/TimePicker/locale/types.js.map +0 -1
  397. package/internal/NativeTimeInput/NativeTimeInput.d.ts +0 -16
  398. package/internal/NativeTimeInput/NativeTimeInput.js +0 -25
  399. package/internal/NativeTimeInput/NativeTimeInput.js.map +0 -1
  400. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -3
  401. package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -15
  402. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +0 -1
  403. package/internal/NativeTimeInput/NativeTimeInput.utils.d.ts +0 -7
  404. package/internal/NativeTimeInput/NativeTimeInput.utils.js +0 -28
  405. package/internal/NativeTimeInput/NativeTimeInput.utils.js.map +0 -1
  406. package/internal/NativeTimeInput/index.d.ts +0 -1
  407. package/internal/NativeTimeInput/index.js +0 -2
  408. package/internal/NativeTimeInput/index.js.map +0 -1
  409. package/internal/TimeInput/TimeFragments.d.ts +0 -15
  410. package/internal/TimeInput/TimeFragments.js +0 -72
  411. package/internal/TimeInput/TimeFragments.js.map +0 -1
  412. package/internal/TimeInput/TimeFragments.styles.d.ts +0 -12
  413. package/internal/TimeInput/TimeFragments.styles.js +0 -43
  414. package/internal/TimeInput/TimeFragments.styles.js.map +0 -1
  415. package/internal/TimeInput/TimeInput.d.ts +0 -22
  416. package/internal/TimeInput/TimeInput.js +0 -103
  417. package/internal/TimeInput/TimeInput.js.map +0 -1
  418. package/internal/TimeInput/TimeInput.styles.js +0 -21
  419. package/internal/TimeInput/TimeInput.styles.js.map +0 -1
  420. package/internal/TimeInput/index.d.ts +0 -1
  421. package/internal/TimeInput/index.js +0 -2
  422. package/internal/TimeInput/index.js.map +0 -1
  423. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.d.ts +0 -2
  424. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js +0 -20
  425. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js.map +0 -1
  426. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.d.ts +0 -2
  427. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js +0 -20
  428. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js.map +0 -1
  429. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.d.ts +0 -2
  430. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js +0 -20
  431. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js.map +0 -1
  432. /package/components/{TimePicker/locale → MaskedInputV2/internal}/types.js +0 -0
@@ -3,11 +3,11 @@ import { useResponsiveLayout } from '../../components/ResponsiveLayout/index.js'
3
3
  import { DateSelect } from '../../internal/DateSelect/index.js';
4
4
  import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
5
5
  import { ThemeContext } from '../../lib/theming/ThemeContext.js';
6
- import { CalendarDataTids } from './Calendar.js';
7
6
  import { CalendarContext } from './CalendarContext.js';
8
7
  import * as CDS from './CalendarDateShape.js';
9
8
  import { themeConfig } from './config.js';
10
9
  import { getStyles } from './MonthView.styles.js';
10
+ import { CalendarDataTids } from './tids.js';
11
11
  export var getMinMonth = function (year, minDate) {
12
12
  var min = 0;
13
13
  for (var i = 0; i < 12; ++i) {
@@ -1 +1 @@
1
- {"version":3,"file":"MonthView.js","sourceRoot":"","sources":["MonthView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport type { Nullable } from '../..//typings/utility-types.js';\nimport { useResponsiveLayout } from '../../components/ResponsiveLayout/index.js';\nimport { DateSelect } from '../../internal/DateSelect/index.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarDataTids } from './Calendar.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { themeConfig } from './config.js';\nimport { getStyles } from './MonthView.styles.js';\n\nexport const getMinMonth = (year: number, minDate: Nullable<CDS.CalendarDateShape>): number => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n};\n\nexport const getMaxMonth = (year: number, maxDate: Nullable<CDS.CalendarDateShape>): number => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n};\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps): React.JSX.Element {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const { minDate, maxDate } = useContext(CalendarContext);\n const { isMobile } = useResponsiveLayout();\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = `color-mix(in srgb, ${theme.calendarMonthTitleBorderBottomColor}, transparent ${Math.max(alpha, 0)}%)`;\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 52 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 52 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n return (\n <div\n data-tid={CalendarDataTids.month}\n className={cx({ [styles.month(theme)]: true, [styles.monthMobile()]: isMobile })}\n style={{ top }}\n key={month + '-' + year}\n >\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={isMobile ? '6em' : 85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year, minDate)}\n maxValue={getMaxMonth(year, maxDate)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={isMobile ? '3.5em' : 50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"MonthView.js","sourceRoot":"","sources":["MonthView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\n\nimport type { Nullable } from '../..//typings/utility-types.js';\nimport { useResponsiveLayout } from '../../components/ResponsiveLayout/index.js';\nimport { DateSelect } from '../../internal/DateSelect/index.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { CalendarContext } from './CalendarContext.js';\nimport * as CDS from './CalendarDateShape.js';\nimport { themeConfig } from './config.js';\nimport { getStyles } from './MonthView.styles.js';\nimport { CalendarDataTids } from './tids.js';\n\nexport const getMinMonth = (year: number, minDate: Nullable<CDS.CalendarDateShape>): number => {\n let min = 0;\n for (let i = 0; i < 12; ++i) {\n if (minDate && CDS.isGreaterOrEqual({ date: 31, month: i, year }, minDate)) {\n min = i;\n break;\n }\n }\n return min;\n};\n\nexport const getMaxMonth = (year: number, maxDate: Nullable<CDS.CalendarDateShape>): number => {\n let max = 11;\n for (let i = 11; i >= 0; --i) {\n if (maxDate && CDS.isLessOrEqual({ date: 1, month: i, year }, maxDate)) {\n max = i;\n break;\n }\n }\n return max;\n};\n\ninterface MonthViewProps {\n children: React.ReactNode;\n firstDayOffset: number;\n height: number;\n isFirstInYear?: boolean;\n isLastInYear?: boolean;\n month: number;\n top: number;\n year: number;\n onMonthSelect: (month: number) => void;\n onYearSelect: (month: number) => void;\n monthSelectRef: (select: DateSelect | null) => void;\n yearSelectRef: (select: DateSelect | null) => void;\n}\n\nexport function MonthView(props: MonthViewProps): React.JSX.Element {\n const theme = useContext(ThemeContext);\n const { cx } = useEmotion();\n const styles = useStyles(getStyles);\n const { minDate, maxDate } = useContext(CalendarContext);\n const { isMobile } = useResponsiveLayout();\n\n const {\n children,\n height,\n isFirstInYear,\n isLastInYear,\n month,\n top,\n year,\n onMonthSelect,\n onYearSelect,\n monthSelectRef,\n yearSelectRef,\n } = props;\n\n const isTopNegative = top <= 0;\n const isHeaderSticky = isTopNegative && height >= -top;\n const headerTop = isHeaderSticky ? Math.min(-top, height - themeConfig(theme).MONTH_TITLE_HEIGHT) : 0;\n const alpha = isHeaderSticky ? (height + top - themeConfig(theme).MONTH_TITLE_HEIGHT) / 10 : 1;\n const borderBottomColor = `color-mix(in srgb, ${theme.calendarMonthTitleBorderBottomColor}, transparent ${Math.max(alpha, 0)}%)`;\n const isYearVisible = isFirstInYear || isHeaderSticky;\n const yearTop = isHeaderSticky && !isLastInYear ? -headerTop - top : 0;\n const monthSelectDisabled = top > 52 || headerTop < 0 || headerTop >= height - themeConfig(theme).MONTH_TITLE_HEIGHT;\n const yearSelectDisabled = top > 52 || (isLastInYear && top < -height + themeConfig(theme).MONTH_TITLE_HEIGHT);\n\n return (\n <div\n data-tid={CalendarDataTids.month}\n className={cx({ [styles.month(theme)]: true, [styles.monthMobile()]: isMobile })}\n style={{ top }}\n key={month + '-' + year}\n >\n <div\n style={{ top: headerTop }}\n className={cx({\n [styles.header()]: true,\n [styles.headerSticky(theme)]: isHeaderSticky,\n })}\n >\n <div style={{ borderBottomColor }} className={styles.monthTitle(theme)}>\n <div data-tid={CalendarDataTids.headerMonth} className={styles.headerMonth(theme)}>\n <DateSelect\n disabled={monthSelectDisabled}\n width={isMobile ? '6em' : 85}\n type=\"month\"\n value={month}\n onValueChange={onMonthSelect}\n ref={!monthSelectDisabled ? monthSelectRef : undefined}\n minValue={getMinMonth(year, minDate)}\n maxValue={getMaxMonth(year, maxDate)}\n />\n </div>\n {isYearVisible && (\n <div data-tid={CalendarDataTids.headerYear} className={styles.headerYear(theme)} style={{ top: yearTop }}>\n <DateSelect\n disabled={yearSelectDisabled}\n width={isMobile ? '3.5em' : 50}\n type=\"year\"\n value={year}\n minValue={minDate ? minDate.year : undefined}\n maxValue={maxDate ? maxDate.year : undefined}\n onValueChange={onYearSelect}\n ref={!yearSelectDisabled ? yearSelectRef : undefined}\n />\n </div>\n )}\n </div>\n </div>\n {children}\n </div>\n );\n}\n"]}
@@ -1,5 +1,4 @@
1
1
  import { memo } from '../../lib/memo.js';
2
- import { getMonthInHumanFormat } from './CalendarUtils.js';
3
2
  import { themeConfig } from './config.js';
4
3
  import { DayCellViewModel } from './DayCellViewModel.js';
5
4
  var getCurrentYear = function (month, year) {
@@ -49,7 +48,7 @@ var getMonthHeight = memo(function (daysCount, offset, dayHeight, titleHeight, m
49
48
  var weeks = Math.ceil((daysCount + offset) / 7);
50
49
  return weeks * dayHeight + titleHeight + marginBottom + rowSpacing * 2 + rowSpacing * (weeks - 1);
51
50
  });
52
- var getMonthsDays = memo(function (month, year) { return new Date(year, getMonthInHumanFormat(month), 0).getDate(); });
51
+ var getMonthsDays = memo(function (month, year) { return new Date(year, month + 1, 0).getDate(); });
53
52
  var getMonthOffset = memo(function (month, year) {
54
53
  var day = new Date(year, month, 1).getDay() - 1;
55
54
  if (day === -1) {
@@ -1 +1 @@
1
- {"version":3,"file":"MonthViewModel.js","sourceRoot":"","sources":["MonthViewModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { memo } from '../../lib/memo.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { getMonthInHumanFormat } from './CalendarUtils.js';\nimport { themeConfig } from './config.js';\nimport { DayCellViewModel } from './DayCellViewModel.js';\n\nconst getCurrentYear = (month: number, year: number) => {\n if (month < 0) {\n return year - Math.ceil(-month / 12);\n }\n\n if (month > 11) {\n return year + Math.floor(month / 12);\n }\n\n return year;\n};\n\nconst getCurrentMonth = (month: number) => {\n if (month < 0) {\n return 12 + (month % 12);\n }\n\n if (month > 11) {\n return month % 12;\n }\n\n return month;\n};\n\nexport class MonthViewModel {\n public static create = memo((month: number, year: number): MonthViewModel => new MonthViewModel(month, year));\n\n public readonly daysCount: number;\n\n public readonly offset: number;\n\n public readonly month: number;\n\n public readonly year: number;\n\n public readonly days: DayCellViewModel[];\n\n // FIXME: shouldbe readonly\n public isLastInYear: boolean;\n\n // FIXME: shouldbe readonly\n public isFirstInYear: boolean;\n\n public getHeight(theme: Theme): number {\n const { DAY_HEIGHT, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN, CALENDAR_GRID_ROW_SPACING } =\n themeConfig(theme);\n return getMonthHeight(\n this.daysCount,\n this.offset,\n DAY_HEIGHT,\n MONTH_TITLE_OFFSET_HEIGHT,\n MONTH_BOTTOM_MARGIN,\n CALENDAR_GRID_ROW_SPACING,\n );\n }\n\n private constructor(month: number, year: number) {\n const currentYear = getCurrentYear(month, year);\n const currentMonth = getCurrentMonth(month);\n\n const daysCount = getMonthsDays(currentMonth, currentYear);\n const offset = getMonthOffset(currentMonth, currentYear);\n this.daysCount = daysCount;\n this.offset = offset;\n this.month = currentMonth;\n this.year = currentYear;\n this.isLastInYear = currentMonth === 11;\n this.isFirstInYear = currentMonth === 0;\n this.days = Array.from({ length: daysCount }, (_, i) => {\n const isWeekend = (i + getMonthOffset(currentMonth, currentYear)) % 7 >= 5;\n return DayCellViewModel.create(i + 1, currentMonth, currentYear, isWeekend);\n });\n }\n}\n\nconst getMonthHeight = memo(\n (\n daysCount: number,\n offset: number,\n dayHeight: number,\n titleHeight: number,\n marginBottom: number,\n rowSpacing: number,\n ) => {\n const weeks = Math.ceil((daysCount + offset) / 7);\n return weeks * dayHeight + titleHeight + marginBottom + rowSpacing * 2 + rowSpacing * (weeks - 1);\n },\n);\nconst getMonthsDays = memo((month: number, year: number) => new Date(year, getMonthInHumanFormat(month), 0).getDate());\n\nconst getMonthOffset = memo((month: number, year: number) => {\n const day = new Date(year, month, 1).getDay() - 1;\n if (day === -1) {\n return 6;\n }\n return day;\n});\n"]}
1
+ {"version":3,"file":"MonthViewModel.js","sourceRoot":"","sources":["MonthViewModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { memo } from '../../lib/memo.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { themeConfig } from './config.js';\nimport { DayCellViewModel } from './DayCellViewModel.js';\n\nconst getCurrentYear = (month: number, year: number) => {\n if (month < 0) {\n return year - Math.ceil(-month / 12);\n }\n\n if (month > 11) {\n return year + Math.floor(month / 12);\n }\n\n return year;\n};\n\nconst getCurrentMonth = (month: number) => {\n if (month < 0) {\n return 12 + (month % 12);\n }\n\n if (month > 11) {\n return month % 12;\n }\n\n return month;\n};\n\nexport class MonthViewModel {\n public static create = memo((month: number, year: number): MonthViewModel => new MonthViewModel(month, year));\n\n public readonly daysCount: number;\n\n public readonly offset: number;\n\n public readonly month: number;\n\n public readonly year: number;\n\n public readonly days: DayCellViewModel[];\n\n // FIXME: shouldbe readonly\n public isLastInYear: boolean;\n\n // FIXME: shouldbe readonly\n public isFirstInYear: boolean;\n\n public getHeight(theme: Theme): number {\n const { DAY_HEIGHT, MONTH_TITLE_OFFSET_HEIGHT, MONTH_BOTTOM_MARGIN, CALENDAR_GRID_ROW_SPACING } =\n themeConfig(theme);\n return getMonthHeight(\n this.daysCount,\n this.offset,\n DAY_HEIGHT,\n MONTH_TITLE_OFFSET_HEIGHT,\n MONTH_BOTTOM_MARGIN,\n CALENDAR_GRID_ROW_SPACING,\n );\n }\n\n private constructor(month: number, year: number) {\n const currentYear = getCurrentYear(month, year);\n const currentMonth = getCurrentMonth(month);\n\n const daysCount = getMonthsDays(currentMonth, currentYear);\n const offset = getMonthOffset(currentMonth, currentYear);\n this.daysCount = daysCount;\n this.offset = offset;\n this.month = currentMonth;\n this.year = currentYear;\n this.isLastInYear = currentMonth === 11;\n this.isFirstInYear = currentMonth === 0;\n this.days = Array.from({ length: daysCount }, (_, i) => {\n const isWeekend = (i + getMonthOffset(currentMonth, currentYear)) % 7 >= 5;\n return DayCellViewModel.create(i + 1, currentMonth, currentYear, isWeekend);\n });\n }\n}\n\nconst getMonthHeight = memo(\n (\n daysCount: number,\n offset: number,\n dayHeight: number,\n titleHeight: number,\n marginBottom: number,\n rowSpacing: number,\n ) => {\n const weeks = Math.ceil((daysCount + offset) / 7);\n return weeks * dayHeight + titleHeight + marginBottom + rowSpacing * 2 + rowSpacing * (weeks - 1);\n },\n);\nconst getMonthsDays = memo((month: number, year: number) => new Date(year, month + 1, 0).getDate());\n\nconst getMonthOffset = memo((month: number, year: number) => {\n const day = new Date(year, month, 1).getDay() - 1;\n if (day === -1) {\n return 6;\n }\n return day;\n});\n"]}
@@ -0,0 +1,7 @@
1
+ export declare const CalendarDataTids: {
2
+ readonly root: "Calendar__root";
3
+ readonly month: "MonthView__month";
4
+ readonly dayCell: "DayCellView__root";
5
+ readonly headerMonth: "MonthView__headerMonth";
6
+ readonly headerYear: "MonthView__headerYear";
7
+ };
@@ -0,0 +1,8 @@
1
+ export var CalendarDataTids = {
2
+ root: 'Calendar__root',
3
+ month: 'MonthView__month',
4
+ dayCell: 'DayCellView__root',
5
+ headerMonth: 'MonthView__headerMonth',
6
+ headerYear: 'MonthView__headerYear',
7
+ };
8
+ //# sourceMappingURL=tids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tids.js","sourceRoot":"","sources":["tids.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,gBAAgB,GAAG;IAC9B,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,kBAAkB;IACzB,OAAO,EAAE,mBAAmB;IAC5B,WAAW,EAAE,wBAAwB;IACrC,UAAU,EAAE,uBAAuB;CAC3B,CAAC","sourcesContent":["export const CalendarDataTids = {\n root: 'Calendar__root',\n month: 'MonthView__month',\n dayCell: 'DayCellView__root',\n headerMonth: 'MonthView__headerMonth',\n headerYear: 'MonthView__headerYear',\n} as const;\n"]}
@@ -29,6 +29,8 @@ export interface CheckboxProps extends CommonProps, Pick<AriaAttributes, 'aria-d
29
29
  onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;
30
30
  /** Устанавливает начальное [неопределенное состояние чекбокса](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate). */
31
31
  initialIndeterminate?: boolean;
32
+ /** Задаёт второстепенный пояснительный текст под основным текстом чекбокса. */
33
+ comment?: React.ReactNode;
32
34
  }> {
33
35
  }
34
36
  export interface CheckboxState {
@@ -91,6 +93,9 @@ export declare class Checkbox extends React.PureComponent<CheckboxProps, Checkbo
91
93
  */
92
94
  resetIndeterminate: () => void;
93
95
  private renderMain;
96
+ private getSubcaptionSizeClassName;
97
+ private renderCaption;
98
+ private renderComment;
94
99
  private handleFocus;
95
100
  private resetFocus;
96
101
  private handleBlur;
@@ -124,8 +124,8 @@ var Checkbox = /** @class */ (function (_super) {
124
124
  }
125
125
  };
126
126
  _this.renderMain = function (props) {
127
- var _a, _b, _c, _d;
128
- var error = props.error, warning = props.warning, size = props.size, onMouseEnter = props.onMouseEnter, onMouseLeave = props.onMouseLeave, onMouseOver = props.onMouseOver, onValueChange = props.onValueChange, onClick = props.onClick, type = props.type, initialIndeterminate = props.initialIndeterminate, ariaDescribedby = props["aria-describedby"], ariaLabel = props["aria-label"], rest = __rest(props, ["error", "warning", "size", "onMouseEnter", "onMouseLeave", "onMouseOver", "onValueChange", "onClick", "type", "initialIndeterminate", 'aria-describedby', 'aria-label']);
127
+ var _a, _b, _c;
128
+ var error = props.error, warning = props.warning, size = props.size, onMouseEnter = props.onMouseEnter, onMouseLeave = props.onMouseLeave, onMouseOver = props.onMouseOver, onValueChange = props.onValueChange, onClick = props.onClick, type = props.type, initialIndeterminate = props.initialIndeterminate, comment = props.comment, ariaDescribedby = props["aria-describedby"], ariaLabel = props["aria-label"], rest = __rest(props, ["error", "warning", "size", "onMouseEnter", "onMouseLeave", "onMouseOver", "onValueChange", "onClick", "type", "initialIndeterminate", "comment", 'aria-describedby', 'aria-label']);
129
129
  var isIndeterminate = _this.state.indeterminate;
130
130
  var iconClass = _this.cx(_this.styles.icon(), !_this.props.checked && !isIndeterminate && _this.styles.iconUnchecked());
131
131
  var iconSize = parseInt(_this.getCheckboxBoxSize());
@@ -140,29 +140,24 @@ var Checkbox = /** @class */ (function (_super) {
140
140
  _a[_this.styles.disabled(_this.theme)] = Boolean(_this.props.disabled),
141
141
  _a));
142
142
  var inputProps = __assign(__assign({}, rest), { type: 'checkbox', className: _this.styles.input(), onChange: _this.handleChange, onFocus: _this.handleFocus, onBlur: _this.handleBlur, onClick: _this.handleInputClick, ref: _this.input });
143
- var caption = null;
144
- if (_this.props.children) {
145
- var captionClass = _this.cx((_b = {},
146
- _b[_this.styles.caption(_this.theme)] = true,
147
- _b[_this.styles.disabled(_this.theme)] = Boolean(props.disabled),
148
- _b));
149
- caption = React.createElement("span", { className: captionClass }, _this.props.children);
150
- }
151
- var box = (React.createElement("div", { className: _this.cx(_this.getBoxWrapperSizeClassName(), (_c = {},
152
- _c[_this.styles.boxWrapper(_this.theme)] = true,
153
- _c)) },
154
- React.createElement("div", { className: _this.cx(_this.styles.box(_this.theme), globalClasses.box, (_d = {},
155
- _d[_this.styles.boxChecked(_this.theme)] = _this.props.checked || isIndeterminate,
156
- _d[_this.styles.boxFocus(_this.theme)] = _this.state.focusedByTab,
157
- _d[_this.styles.boxError(_this.theme)] = _this.props.error,
158
- _d[_this.styles.boxWarning(_this.theme)] = _this.props.warning,
159
- _d[_this.styles.boxDisabled(_this.theme)] = _this.props.disabled,
160
- _d)) }, (isIndeterminate && IconSquare) || IconCheck)));
143
+ var box = (React.createElement("div", { className: _this.cx(_this.getBoxWrapperSizeClassName(), (_b = {},
144
+ _b[_this.styles.boxWrapper(_this.theme)] = true,
145
+ _b)) },
146
+ React.createElement("div", { className: _this.cx(_this.styles.box(_this.theme), globalClasses.box, (_c = {},
147
+ _c[_this.styles.boxChecked(_this.theme)] = _this.props.checked || isIndeterminate,
148
+ _c[_this.styles.boxFocus(_this.theme)] = _this.state.focusedByTab,
149
+ _c[_this.styles.boxError(_this.theme)] = _this.props.error,
150
+ _c[_this.styles.boxWarning(_this.theme)] = _this.props.warning,
151
+ _c[_this.styles.boxDisabled(_this.theme)] = _this.props.disabled,
152
+ _c)) }, (isIndeterminate && IconSquare) || IconCheck)));
161
153
  return (React.createElement("label", { "data-tid": CheckboxDataTids.root, className: rootClass, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, onMouseOver: onMouseOver, onClick: _this.handleLabelClick },
162
154
  React.createElement(FocusControlWrapper, { onBlurWhenDisabled: _this.resetFocus },
163
155
  React.createElement("input", __assign({}, inputProps, { "aria-label": ariaLabel, "aria-describedby": ariaDescribedby }))),
164
156
  box,
165
- caption));
157
+ _this.props.children &&
158
+ (comment ? (React.createElement("div", { className: _this.styles.captionWrapper(_this.theme) },
159
+ _this.renderCaption(Boolean(props.disabled), true),
160
+ _this.renderComment(Boolean(props.disabled)))) : (_this.renderCaption(Boolean(props.disabled), false)))));
166
161
  };
167
162
  _this.handleFocus = function (e) {
168
163
  var _a, _b;
@@ -268,6 +263,32 @@ var Checkbox = /** @class */ (function (_super) {
268
263
  var _a;
269
264
  (_a = this.input.current) === null || _a === void 0 ? void 0 : _a.blur();
270
265
  };
266
+ Checkbox.prototype.getSubcaptionSizeClassName = function () {
267
+ switch (this.size) {
268
+ case 'large':
269
+ return this.styles.subcaptionLarge(this.theme);
270
+ case 'medium':
271
+ return this.styles.subcaptionMedium(this.theme);
272
+ case 'small':
273
+ default:
274
+ return this.styles.subcaptionSmall(this.theme);
275
+ }
276
+ };
277
+ Checkbox.prototype.renderCaption = function (disabled, noGap) {
278
+ var _a;
279
+ var captionClass = this.cx((_a = {},
280
+ _a[this.styles.caption(this.theme)] = true,
281
+ _a[this.styles.disabled(this.theme)] = disabled,
282
+ _a[this.styles.captionNoGap()] = noGap,
283
+ _a));
284
+ return React.createElement("div", { className: captionClass }, this.props.children);
285
+ };
286
+ Checkbox.prototype.renderComment = function (disabled) {
287
+ var _a;
288
+ return (React.createElement("div", { className: this.cx(this.styles.subcaption(this.theme), this.getSubcaptionSizeClassName(), (_a = {},
289
+ _a[this.styles.subcaptionDisabled(this.theme)] = disabled,
290
+ _a)) }, this.props.comment));
291
+ };
271
292
  Checkbox.__KONTUR_REACT_UI__ = 'Checkbox';
272
293
  Checkbox.displayName = 'Checkbox';
273
294
  Checkbox = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["Checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel.js';\nimport { KeyListener } from '../../lib/events/keyListener.js';\nimport type { GlobalObject } from '../../lib/globalObject.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 { Override } from '../../typings/utility-types.js';\nimport { getStyles, globalClasses } from './Checkbox.styles.js';\nimport { CheckedIcon } from './CheckedIcon.js';\nimport { IndeterminateIcon } from './IndeterminateIcon.js';\n\nexport interface CheckboxProps\n extends\n CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит контрол в состояние ошибки. */\n error?: boolean;\n\n /** Переводит контрол в состояние предупреждения. */\n warning?: boolean;\n\n /** Размер чекбокса. */\n size?: SizeProp;\n\n /** HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Событие изменения value. */\n onValueChange?: (value: boolean) => void;\n\n /** HTML-событие `onblur`.\n * @ignore */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n\n /** Устанавливает начальное [неопределенное состояние чекбокса](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate). */\n initialIndeterminate?: boolean;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\n/**\n * Чекбокс используется для управления параметром с двумя состояниями.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\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 getBoxWrapperSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.boxWrapperLarge(this.theme);\n case 'medium':\n return this.styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return this.styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n private size!: SizeProp;\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 private input = React.createRef<HTMLInputElement>();\n private getProps = createPropsGetter({});\n private keyListener!: KeyListener;\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n this.keyListener = new KeyListener(this.globalObject);\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n this.globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n this.globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n this.globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n this.globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\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 * Программно устанавливает фокус на чекбокс.\n * @public\n */\n public focus(): void {\n this.keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программно снимает фокус с чекбокса.\n * @public\n */\n public blur(): void {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = (): void => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = (): void => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n onClick,\n type,\n initialIndeterminate,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const iconClass = this.cx(\n this.styles.icon(),\n !this.props.checked && !isIndeterminate && this.styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n );\n const IconSquare = (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n );\n\n const rootClass = this.cx(this.getRootSizeClassName(), {\n [this.styles.root(this.theme)]: true,\n [this.styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [this.styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [this.styles.disabled(this.theme)]: Boolean(this.props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: this.styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleInputClick,\n ref: this.input,\n };\n\n let caption = null;\n if (this.props.children) {\n const captionClass = this.cx({\n [this.styles.caption(this.theme)]: true,\n [this.styles.disabled(this.theme)]: Boolean(props.disabled),\n });\n caption = <span className={captionClass}>{this.props.children}</span>;\n }\n\n const box = (\n <div\n className={this.cx(this.getBoxWrapperSizeClassName(), {\n [this.styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={this.cx(this.styles.box(this.theme), globalClasses.box, {\n [this.styles.boxChecked(this.theme)]: this.props.checked || isIndeterminate,\n [this.styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [this.styles.boxError(this.theme)]: this.props.error,\n [this.styles.boxWarning(this.theme)]: this.props.warning,\n [this.styles.boxDisabled(this.theme)]: this.props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={this.handleLabelClick}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {caption}\n </label>\n );\n };\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleLabelClick = (e: React.MouseEvent<HTMLLabelElement>) => {\n const handleModifierClickInFirefox = fixFirefoxModifiedClickOnLabel(this.input);\n handleModifierClickInFirefox(e);\n if (this.props.onClick && e.target !== this.input.current) {\n e.stopPropagation();\n }\n };\n\n private handleInputClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n };\n}\n"]}
1
+ {"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["Checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\nimport type { AriaAttributes } from 'react';\nimport React from 'react';\n\nimport type { CommonProps, CommonWrapperRestProps } from '../../internal/CommonWrapper/index.js';\nimport { CommonWrapper } from '../../internal/CommonWrapper/index.js';\nimport { FocusControlWrapper } from '../../internal/FocusControlWrapper/index.js';\nimport { createPropsGetter } from '../../lib/createPropsGetter.js';\nimport { fixFirefoxModifiedClickOnLabel } from '../../lib/events/fixFirefoxModifiedClickOnLabel.js';\nimport { KeyListener } from '../../lib/events/keyListener.js';\nimport type { GlobalObject } from '../../lib/globalObject.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 { Override } from '../../typings/utility-types.js';\nimport { getStyles, globalClasses } from './Checkbox.styles.js';\nimport { CheckedIcon } from './CheckedIcon.js';\nimport { IndeterminateIcon } from './IndeterminateIcon.js';\n\nexport interface CheckboxProps\n extends\n CommonProps,\n Pick<AriaAttributes, 'aria-describedby' | 'aria-label'>,\n Override<\n React.InputHTMLAttributes<HTMLInputElement>,\n {\n /** @ignore */\n children?: React.ReactNode;\n\n /** Переводит контрол в состояние ошибки. */\n error?: boolean;\n\n /** Переводит контрол в состояние предупреждения. */\n warning?: boolean;\n\n /** Размер чекбокса. */\n size?: SizeProp;\n\n /** HTML-событие `onmouseenter`.\n * @ignore */\n onMouseEnter?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseleave`.\n * @ignore */\n onMouseLeave?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** HTML-событие `onmouseover`.\n * @ignore */\n onMouseOver?: React.MouseEventHandler<HTMLLabelElement>;\n\n /** Событие изменения value. */\n onValueChange?: (value: boolean) => void;\n\n /** HTML-событие `onblur`.\n * @ignore */\n onBlur?: (event: React.FocusEvent<HTMLInputElement>) => void;\n\n /** Устанавливает начальное [неопределенное состояние чекбокса](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#attr-indeterminate). */\n initialIndeterminate?: boolean;\n\n /** Задаёт второстепенный пояснительный текст под основным текстом чекбокса. */\n comment?: React.ReactNode;\n }\n > {}\n\nexport interface CheckboxState {\n focusedByTab: boolean;\n indeterminate: boolean;\n isShiftPressed: boolean;\n}\n\nexport const CheckboxDataTids = {\n root: 'Checkbox__root',\n} as const;\n\n/**\n * Чекбокс используется для управления параметром с двумя состояниями.\n */\n@withRenderEnvironment\n@rootNode\n@withSize\nexport class Checkbox extends React.PureComponent<CheckboxProps, CheckboxState> {\n public static __KONTUR_REACT_UI__ = 'Checkbox';\n public static displayName = 'Checkbox';\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 getBoxWrapperSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.boxWrapperLarge(this.theme);\n case 'medium':\n return this.styles.boxWrapperMedium(this.theme);\n case 'small':\n default:\n return this.styles.boxWrapperSmall(this.theme);\n }\n }\n\n private getCheckboxBoxSize() {\n switch (this.size) {\n case 'large':\n return this.theme.checkboxBoxSizeLarge;\n case 'medium':\n return this.theme.checkboxBoxSizeMedium;\n case 'small':\n default:\n return this.theme.checkboxBoxSizeSmall;\n }\n }\n\n public state = {\n focusedByTab: false,\n indeterminate: this.props.initialIndeterminate || false,\n isShiftPressed: false,\n };\n private size!: SizeProp;\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 private input = React.createRef<HTMLInputElement>();\n private getProps = createPropsGetter({});\n private keyListener!: KeyListener;\n\n private handleShiftPress = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState(() => ({\n isShiftPressed: true,\n }));\n }\n };\n\n private handleShiftRelease = (e: KeyboardEvent) => {\n if (e.key === 'Shift') {\n this.setState({\n isShiftPressed: false,\n });\n }\n };\n\n public componentDidMount = () => {\n this.keyListener = new KeyListener(this.globalObject);\n if (this.state.indeterminate && this.input.current) {\n this.input.current.indeterminate = true;\n }\n\n this.globalObject.document?.addEventListener('keydown', this.handleShiftPress);\n this.globalObject.document?.addEventListener('keyup', this.handleShiftRelease);\n };\n\n public componentWillUnmount = () => {\n this.globalObject.document?.removeEventListener('keydown', this.handleShiftPress);\n this.globalObject.document?.removeEventListener('keyup', this.handleShiftRelease);\n };\n\n public getRootNode!: TGetRootNode;\n private setRootNode!: TSetRootNode;\n\n public componentDidUpdate(prevProps: CheckboxProps) {\n if (prevProps.checked !== this.props.checked) {\n this.resetIndeterminate();\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 * Программно устанавливает фокус на чекбокс.\n * @public\n */\n public focus(): void {\n this.keyListener.isTabPressed = true;\n this.input.current?.focus();\n }\n\n /**\n * Программно снимает фокус с чекбокса.\n * @public\n */\n public blur(): void {\n this.input.current?.blur();\n }\n\n /**\n * Устанавливает чекбокс в HTML-состояние `indeterminate`.\n * @public\n */\n public setIndeterminate = (): void => {\n this.setState({\n indeterminate: true,\n });\n if (this.input.current) {\n this.input.current.indeterminate = true;\n }\n };\n\n /**\n * Снимает с чекбокса HTML-состояние `indeterminate`.\n * @public\n */\n public resetIndeterminate = (): void => {\n this.setState({\n indeterminate: false,\n });\n if (this.input.current) {\n this.input.current.indeterminate = false;\n }\n };\n\n private renderMain = (props: CommonWrapperRestProps<CheckboxProps>) => {\n const {\n error,\n warning,\n size,\n onMouseEnter,\n onMouseLeave,\n onMouseOver,\n onValueChange,\n onClick,\n type,\n initialIndeterminate,\n comment,\n 'aria-describedby': ariaDescribedby,\n 'aria-label': ariaLabel,\n ...rest\n } = props;\n const isIndeterminate = this.state.indeterminate;\n\n const iconClass = this.cx(\n this.styles.icon(),\n !this.props.checked && !isIndeterminate && this.styles.iconUnchecked(),\n );\n\n const iconSize = parseInt(this.getCheckboxBoxSize());\n const IconCheck = (\n <span className={iconClass}>\n <CheckedIcon size={iconSize} />\n </span>\n );\n const IconSquare = (\n <span className={iconClass}>\n <IndeterminateIcon size={iconSize} />\n </span>\n );\n\n const rootClass = this.cx(this.getRootSizeClassName(), {\n [this.styles.root(this.theme)]: true,\n [this.styles.rootChecked(this.theme)]: props.checked || isIndeterminate,\n [this.styles.rootDisableTextSelect()]: this.state.isShiftPressed,\n [this.styles.disabled(this.theme)]: Boolean(this.props.disabled),\n });\n\n const inputProps = {\n ...rest,\n type: 'checkbox',\n className: this.styles.input(),\n onChange: this.handleChange,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onClick: this.handleInputClick,\n ref: this.input,\n };\n\n const box = (\n <div\n className={this.cx(this.getBoxWrapperSizeClassName(), {\n [this.styles.boxWrapper(this.theme)]: true,\n })}\n >\n <div\n className={this.cx(this.styles.box(this.theme), globalClasses.box, {\n [this.styles.boxChecked(this.theme)]: this.props.checked || isIndeterminate,\n [this.styles.boxFocus(this.theme)]: this.state.focusedByTab,\n [this.styles.boxError(this.theme)]: this.props.error,\n [this.styles.boxWarning(this.theme)]: this.props.warning,\n [this.styles.boxDisabled(this.theme)]: this.props.disabled,\n })}\n >\n {(isIndeterminate && IconSquare) || IconCheck}\n </div>\n </div>\n );\n\n return (\n <label\n data-tid={CheckboxDataTids.root}\n className={rootClass}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseOver={onMouseOver}\n onClick={this.handleLabelClick}\n >\n <FocusControlWrapper onBlurWhenDisabled={this.resetFocus}>\n <input {...inputProps} aria-label={ariaLabel} aria-describedby={ariaDescribedby} />\n </FocusControlWrapper>\n {box}\n {this.props.children &&\n (comment ? (\n <div className={this.styles.captionWrapper(this.theme)}>\n {this.renderCaption(Boolean(props.disabled), true)}\n {this.renderComment(Boolean(props.disabled))}\n </div>\n ) : (\n this.renderCaption(Boolean(props.disabled), false)\n ))}\n </label>\n );\n };\n\n private getSubcaptionSizeClassName() {\n switch (this.size) {\n case 'large':\n return this.styles.subcaptionLarge(this.theme);\n case 'medium':\n return this.styles.subcaptionMedium(this.theme);\n case 'small':\n default:\n return this.styles.subcaptionSmall(this.theme);\n }\n }\n\n private renderCaption(disabled: boolean, noGap: boolean) {\n const captionClass = this.cx({\n [this.styles.caption(this.theme)]: true,\n [this.styles.disabled(this.theme)]: disabled,\n [this.styles.captionNoGap()]: noGap,\n });\n\n return <div className={captionClass}>{this.props.children}</div>;\n }\n\n private renderComment(disabled: boolean) {\n return (\n <div\n className={this.cx(this.styles.subcaption(this.theme), this.getSubcaptionSizeClassName(), {\n [this.styles.subcaptionDisabled(this.theme)]: disabled,\n })}\n >\n {this.props.comment}\n </div>\n );\n }\n\n private handleFocus = (e: React.FocusEvent<any>) => {\n if (!this.props.disabled) {\n // focus event fires before keyDown eventlistener\n // so we should check tabPressed in async way\n this.globalObject.requestAnimationFrame?.(() => {\n if (this.keyListener.isTabPressed) {\n this.setState({ focusedByTab: true });\n }\n });\n\n if (this.props.onFocus) {\n this.props.onFocus(e);\n }\n }\n };\n\n private resetFocus = () => this.setState({ focusedByTab: false });\n\n private handleBlur = (e: React.FocusEvent<HTMLInputElement>) => {\n this.resetFocus();\n this.props.onBlur?.(e);\n };\n\n private handleChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const checked = event.currentTarget.checked;\n this.props.onValueChange?.(checked);\n\n this.resetIndeterminate();\n\n this.props.onChange?.(event);\n };\n\n private handleLabelClick = (e: React.MouseEvent<HTMLLabelElement>) => {\n const handleModifierClickInFirefox = fixFirefoxModifiedClickOnLabel(this.input);\n handleModifierClickInFirefox(e);\n if (this.props.onClick && e.target !== this.input.current) {\n e.stopPropagation();\n }\n };\n\n private handleInputClick = (e: React.MouseEvent<HTMLInputElement>) => {\n this.props.onClick?.(e);\n };\n}\n"]}
@@ -1,2 +1,4 @@
1
1
  export declare const checkboxSizeMixin: (fontSize: string, lineHeight: string, paddingY: string, checkboxBoxSize: string, paddingX: string) => string;
2
2
  export declare const boxWrapperSizeMixin: (labGrotesqueBaselineCompensation: string, fontSize: string, checkboxBoxSize: string, checkboxBoxOffsetY: string, checkboxPaddingX: string) => string;
3
+ export declare const subcaptionMixin: (fontSize: string, lineHeight: string) => string;
4
+ export declare const disabledTextColorMixin: (textColor: string) => string;
@@ -9,4 +9,10 @@ export var boxWrapperSizeMixin = function (labGrotesqueBaselineCompensation, fon
9
9
  var baselineCompensation = getLabGrotesqueBaselineCompensation(boxFontSize, labGrotesqueCompenstation, isChrome, isFirefox);
10
10
  return "\n width: ".concat(checkboxBoxSize, ";\n height: ").concat(checkboxBoxSize, ";\n margin-top: calc(").concat(checkboxBoxOffsetY, " + ").concat(baselineCompensation, "px);\n left: ").concat(checkboxPaddingX, ";\n ");
11
11
  };
12
+ export var subcaptionMixin = function (fontSize, lineHeight) {
13
+ return "\n font-size: ".concat(fontSize, ";\n line-height: ").concat(lineHeight, ";\n ");
14
+ };
15
+ export var disabledTextColorMixin = function (textColor) {
16
+ return "\n color: ".concat(textColor, ";\n ");
17
+ };
12
18
  //# sourceMappingURL=Checkbox.mixins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.mixins.js","sourceRoot":"","sources":["Checkbox.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAE9G,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,QAAgB,EAChB,UAAkB,EAClB,QAAgB,EAChB,eAAuB,EACvB,QAAgB;IAEhB,OAAO,6BACU,UAAU,+BACZ,QAAQ,6BACV,QAAQ,cAAI,QAAQ,gDAGpB,eAAe,iBAE3B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,gCAAwC,EACxC,QAAgB,EAChB,eAAuB,EACvB,kBAA0B,EAC1B,gBAAwB;IAExB,IAAM,yBAAyB,GAAG,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7E,IAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAM,oBAAoB,GAAG,mCAAmC,CAC9D,WAAW,EACX,yBAAyB,EACzB,QAAQ,EACR,SAAS,CACV,CAAC;IAEF,OAAO,uBACI,eAAe,4BACd,eAAe,qCACN,kBAAkB,gBAAM,oBAAoB,6BACvD,gBAAgB,UACzB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { isChrome, isFirefox } from '../../lib/client.js';\nimport { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation.js';\n\nexport const checkboxSizeMixin = (\n fontSize: string,\n lineHeight: string,\n paddingY: string,\n checkboxBoxSize: string,\n paddingX: string,\n): string => {\n return `\n line-height: ${lineHeight};\n font-size: ${fontSize};\n padding: ${paddingY} ${paddingX};\n\n &::before {\n width: ${checkboxBoxSize};\n }\n `;\n};\n\nexport const boxWrapperSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n checkboxBoxSize: string,\n checkboxBoxOffsetY: string,\n checkboxPaddingX: string,\n): string => {\n const labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);\n const boxFontSize = parseInt(fontSize);\n const baselineCompensation = getLabGrotesqueBaselineCompensation(\n boxFontSize,\n labGrotesqueCompenstation,\n isChrome,\n isFirefox,\n );\n\n return `\n width: ${checkboxBoxSize};\n height: ${checkboxBoxSize};\n margin-top: calc(${checkboxBoxOffsetY} + ${baselineCompensation}px);\n left: ${checkboxPaddingX};\n `;\n};\n"]}
1
+ {"version":3,"file":"Checkbox.mixins.js","sourceRoot":"","sources":["Checkbox.mixins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mCAAmC,EAAE,MAAM,yDAAyD,CAAC;AAE9G,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAC/B,QAAgB,EAChB,UAAkB,EAClB,QAAgB,EAChB,eAAuB,EACvB,QAAgB;IAEhB,OAAO,6BACU,UAAU,+BACZ,QAAQ,6BACV,QAAQ,cAAI,QAAQ,gDAGpB,eAAe,iBAE3B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UACjC,gCAAwC,EACxC,QAAgB,EAChB,eAAuB,EACvB,kBAA0B,EAC1B,gBAAwB;IAExB,IAAM,yBAAyB,GAAG,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC7E,IAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAM,oBAAoB,GAAG,mCAAmC,CAC9D,WAAW,EACX,yBAAyB,EACzB,QAAQ,EACR,SAAS,CACV,CAAC;IAEF,OAAO,uBACI,eAAe,4BACd,eAAe,qCACN,kBAAkB,gBAAM,oBAAoB,6BACvD,gBAAgB,UACzB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,eAAe,GAAG,UAAC,QAAgB,EAAE,UAAkB;IAClE,OAAO,2BACQ,QAAQ,iCACN,UAAU,UAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,sBAAsB,GAAG,UAAC,SAAiB;IACtD,OAAO,uBACI,SAAS,UACnB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { isChrome, isFirefox } from '../../lib/client.js';\nimport { getLabGrotesqueBaselineCompensation } from '../../lib/styles/getLabGrotesqueBaselineCompensation.js';\n\nexport const checkboxSizeMixin = (\n fontSize: string,\n lineHeight: string,\n paddingY: string,\n checkboxBoxSize: string,\n paddingX: string,\n): string => {\n return `\n line-height: ${lineHeight};\n font-size: ${fontSize};\n padding: ${paddingY} ${paddingX};\n\n &::before {\n width: ${checkboxBoxSize};\n }\n `;\n};\n\nexport const boxWrapperSizeMixin = (\n labGrotesqueBaselineCompensation: string,\n fontSize: string,\n checkboxBoxSize: string,\n checkboxBoxOffsetY: string,\n checkboxPaddingX: string,\n): string => {\n const labGrotesqueCompenstation = parseInt(labGrotesqueBaselineCompensation);\n const boxFontSize = parseInt(fontSize);\n const baselineCompensation = getLabGrotesqueBaselineCompensation(\n boxFontSize,\n labGrotesqueCompenstation,\n isChrome,\n isFirefox,\n );\n\n return `\n width: ${checkboxBoxSize};\n height: ${checkboxBoxSize};\n margin-top: calc(${checkboxBoxOffsetY} + ${baselineCompensation}px);\n left: ${checkboxPaddingX};\n `;\n};\n\nexport const subcaptionMixin = (fontSize: string, lineHeight: string): string => {\n return `\n font-size: ${fontSize};\n line-height: ${lineHeight};\n `;\n};\n\nexport const disabledTextColorMixin = (textColor: string): string => {\n return `\n color: ${textColor};\n `;\n};\n"]}
@@ -24,4 +24,11 @@ export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGet
24
24
  icon(): string;
25
25
  iconUnchecked(): string;
26
26
  caption(t: Theme): string;
27
+ captionWrapper(t: Theme): string;
28
+ captionNoGap(): string;
29
+ subcaption(t: Theme): string;
30
+ subcaptionDisabled(t: Theme): string;
31
+ subcaptionSmall(t: Theme): string;
32
+ subcaptionMedium(t: Theme): string;
33
+ subcaptionLarge(t: Theme): string;
27
34
  }>;
@@ -3,7 +3,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
3
3
  return cooked;
4
4
  };
5
5
  import { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';
6
- import { boxWrapperSizeMixin, checkboxSizeMixin } from './Checkbox.mixins.js';
6
+ import { boxWrapperSizeMixin, checkboxSizeMixin, disabledTextColorMixin, subcaptionMixin } from './Checkbox.mixins.js';
7
7
  export var globalClasses = prefix('checkbox')({
8
8
  box: 'box',
9
9
  });
@@ -73,7 +73,28 @@ export var getStyles = memoizeGetStyles(function (_a) {
73
73
  caption: function (t) {
74
74
  return css(templateObject_21 || (templateObject_21 = __makeTemplateObject(["\n color: ", ";\n padding-left: ", ";\n "], ["\n color: ", ";\n padding-left: ", ";\n "])), t.checkboxTextColorDefault, t.checkboxCaptionGap);
75
75
  },
76
+ captionWrapper: function (t) {
77
+ return css(templateObject_22 || (templateObject_22 = __makeTemplateObject(["\n display: inline-block;\n padding-left: ", ";\n "], ["\n display: inline-block;\n padding-left: ", ";\n "])), t.checkboxCaptionGap);
78
+ },
79
+ captionNoGap: function () {
80
+ return css(templateObject_23 || (templateObject_23 = __makeTemplateObject(["\n padding-left: 0;\n "], ["\n padding-left: 0;\n "])));
81
+ },
82
+ subcaption: function (t) {
83
+ return css(templateObject_24 || (templateObject_24 = __makeTemplateObject(["\n margin-top: 2px;\n color: ", ";\n "], ["\n margin-top: 2px;\n color: ", ";\n "])), t.checkboxCommentTextColor);
84
+ },
85
+ subcaptionDisabled: function (t) {
86
+ return css(templateObject_25 || (templateObject_25 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), disabledTextColorMixin(t.checkboxTextColorDisabled));
87
+ },
88
+ subcaptionSmall: function (t) {
89
+ return css(templateObject_26 || (templateObject_26 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), subcaptionMixin(t.checkboxCommentFontSizeSmall, t.checkboxCommentLineHeightSmall));
90
+ },
91
+ subcaptionMedium: function (t) {
92
+ return css(templateObject_27 || (templateObject_27 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), subcaptionMixin(t.checkboxCommentFontSizeMedium, t.checkboxCommentLineHeightMedium));
93
+ },
94
+ subcaptionLarge: function (t) {
95
+ return css(templateObject_28 || (templateObject_28 = __makeTemplateObject(["\n ", ";\n "], ["\n ", ";\n "])), subcaptionMixin(t.checkboxCommentFontSizeLarge, t.checkboxCommentLineHeightLarge));
96
+ },
76
97
  });
77
98
  });
78
- 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;
99
+ 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, templateObject_27, templateObject_28;
79
100
  //# sourceMappingURL=Checkbox.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.styles.js","sourceRoot":"","sources":["Checkbox.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { boxWrapperSizeMixin, checkboxSizeMixin } from './Checkbox.mixins.js';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n\n .${globalClasses.box} {\n transition:\n background ${t.transitionDuration} ${t.transitionTimingFunction},\n box-shadow ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n `;\n },\n\n rootSmall(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeSmall,\n t.checkboxLineHeightSmall,\n t.checkboxPaddingYSmall,\n t.checkboxBoxSizeSmall,\n t.checkboxPaddingXSmall,\n )};\n `;\n },\n\n rootMedium(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeMedium,\n t.checkboxLineHeightMedium,\n t.checkboxPaddingYMedium,\n t.checkboxBoxSizeMedium,\n t.checkboxPaddingXMedium,\n )};\n `;\n },\n\n rootLarge(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeLarge,\n t.checkboxLineHeightLarge,\n t.checkboxPaddingYLarge,\n t.checkboxBoxSizeLarge,\n t.checkboxPaddingXLarge,\n )};\n `;\n },\n\n rootDisableTextSelect() {\n return css`\n user-select: none;\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n boxWrapper(t: Theme) {\n return css`\n position: absolute;\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n\n display: inline-block; \n )};\n `;\n },\n\n boxWrapperSmall(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeSmall,\n t.checkboxBoxSizeSmall,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXSmall,\n )};\n `;\n },\n\n boxWrapperMedium(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeMedium,\n t.checkboxBoxSizeMedium,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXMedium,\n )};\n `;\n },\n\n boxWrapperLarge(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeLarge,\n t.checkboxBoxSizeLarge,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXLarge,\n )};\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n}));\n"]}
1
+ {"version":3,"file":"Checkbox.styles.js","sourceRoot":"","sources":["Checkbox.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles, prefix } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { boxWrapperSizeMixin, checkboxSizeMixin, disabledTextColorMixin, subcaptionMixin } from './Checkbox.mixins.js';\n\nexport const globalClasses = prefix('checkbox')({\n box: 'box',\n});\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root(t: Theme) {\n return css`\n display: inline-flex;\n align-items: baseline;\n cursor: pointer;\n position: relative;\n\n &::before {\n // non-breaking space.\n // makes a correct space for absolutely positioned box,\n // and also height and baseline for checkbox without caption.\n content: '\\\\00A0';\n display: inline-block;\n flex: 0 0 auto;\n }\n\n .${globalClasses.box} {\n transition:\n background ${t.transitionDuration} ${t.transitionTimingFunction},\n box-shadow ${t.transitionDuration} ${t.transitionTimingFunction};\n }\n\n &:hover .${globalClasses.box} {\n background: ${t.checkboxHoverBg};\n box-shadow: ${t.checkboxShadowHover};\n }\n\n &:active .${globalClasses.box} {\n box-shadow: ${t.checkboxShadowActive};\n background: ${t.checkboxActiveBg};\n }\n `;\n },\n\n rootSmall(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeSmall,\n t.checkboxLineHeightSmall,\n t.checkboxPaddingYSmall,\n t.checkboxBoxSizeSmall,\n t.checkboxPaddingXSmall,\n )};\n `;\n },\n\n rootMedium(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeMedium,\n t.checkboxLineHeightMedium,\n t.checkboxPaddingYMedium,\n t.checkboxBoxSizeMedium,\n t.checkboxPaddingXMedium,\n )};\n `;\n },\n\n rootLarge(t: Theme) {\n return css`\n ${checkboxSizeMixin(\n t.checkboxFontSizeLarge,\n t.checkboxLineHeightLarge,\n t.checkboxPaddingYLarge,\n t.checkboxBoxSizeLarge,\n t.checkboxPaddingXLarge,\n )};\n `;\n },\n\n rootDisableTextSelect() {\n return css`\n user-select: none;\n `;\n },\n\n rootChecked(t: Theme) {\n return css`\n &:hover .${globalClasses.box} {\n box-shadow: ${t.checkboxCheckedHoverShadow};\n background: ${t.checkboxCheckedHoverBg};\n }\n\n &:active .${globalClasses.box} {\n background: ${t.checkboxCheckedActiveBg};\n box-shadow: ${t.checkboxCheckedActiveShadow};\n }\n `;\n },\n\n boxWrapper(t: Theme) {\n return css`\n position: absolute;\n box-sizing: border-box;\n padding: ${t.checkboxBorderWidth};\n\n display: inline-block; \n )};\n `;\n },\n\n boxWrapperSmall(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeSmall,\n t.checkboxBoxSizeSmall,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXSmall,\n )};\n `;\n },\n\n boxWrapperMedium(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeMedium,\n t.checkboxBoxSizeMedium,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXMedium,\n )};\n `;\n },\n\n boxWrapperLarge(t: Theme) {\n return css`\n ${boxWrapperSizeMixin(\n t.labGrotesqueBaselineCompensation,\n t.checkboxFontSizeLarge,\n t.checkboxBoxSizeLarge,\n t.checkboxBoxOffsetY,\n t.checkboxPaddingXLarge,\n )};\n `;\n },\n\n box(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n box-shadow: ${t.checkboxShadow};\n background: ${t.checkboxBg};\n border-radius: ${t.checkboxBorderRadius};\n height: 100%;\n `;\n },\n\n input() {\n return css`\n display: inline-block;\n height: 0;\n opacity: 0;\n position: absolute;\n width: 0;\n z-index: -1;\n `;\n },\n\n boxWarning(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorWarning} !important; // override hover and active\n `;\n },\n\n boxError(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorError} !important; // override hover and active\n `;\n },\n\n boxChecked(t: Theme) {\n return css`\n background: ${t.checkboxCheckedBg};\n color: ${t.checkboxCheckedColor};\n box-shadow: ${t.checkboxCheckedShadow};\n `;\n },\n\n boxFocus(t: Theme) {\n return css`\n box-shadow:\n inset 0 0 0 1px ${t.checkboxOutlineColorFocus},\n 0 0 0 ${t.checkboxOutlineWidth} ${t.checkboxBorderColorFocus} !important; // override hover and active\n `;\n },\n\n boxDisabled(t: Theme) {\n return css`\n box-shadow: ${t.checkboxShadowDisabled} !important; // override hover and active\n background: ${t.checkboxBgDisabled} !important; // override hover and active\n color: ${t.checkboxTextColorDisabled};\n `;\n },\n\n disabled(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDisabled};\n cursor: default;\n `;\n },\n\n icon() {\n return css`\n position: absolute;\n top: 0;\n bottom: 0;\n right: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n `;\n },\n\n iconUnchecked() {\n return css`\n color: transparent;\n `;\n },\n\n caption(t: Theme) {\n return css`\n color: ${t.checkboxTextColorDefault};\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n\n captionWrapper(t: Theme) {\n return css`\n display: inline-block;\n padding-left: ${t.checkboxCaptionGap};\n `;\n },\n\n captionNoGap() {\n return css`\n padding-left: 0;\n `;\n },\n\n subcaption(t: Theme) {\n return css`\n margin-top: 2px;\n color: ${t.checkboxCommentTextColor};\n `;\n },\n\n subcaptionDisabled(t: Theme) {\n return css`\n ${disabledTextColorMixin(t.checkboxTextColorDisabled)};\n `;\n },\n\n subcaptionSmall(t: Theme) {\n return css`\n ${subcaptionMixin(t.checkboxCommentFontSizeSmall, t.checkboxCommentLineHeightSmall)};\n `;\n },\n subcaptionMedium(t: Theme) {\n return css`\n ${subcaptionMixin(t.checkboxCommentFontSizeMedium, t.checkboxCommentLineHeightMedium)};\n `;\n },\n subcaptionLarge(t: Theme) {\n return css`\n ${subcaptionMixin(t.checkboxCommentFontSizeLarge, t.checkboxCommentLineHeightLarge)};\n `;\n },\n}));\n"]}
@@ -27,14 +27,13 @@ export declare class CurrencyHelper {
27
27
  static unformatString(value: string): string;
28
28
  static formatForClipboard(value: string): string;
29
29
  static formatString(value: string, formattingOptions?: Nullable<DecimalFormattingOptions>): string;
30
- static isValidString(value: string, options: DecimalOptions): boolean;
30
+ static isValidString(value: string, options: DecimalOptions, previousValue?: string): boolean;
31
31
  static extractValid(value: string, options: DecimalOptions): string;
32
32
  static destructString(value: string): {
33
33
  sign: string;
34
34
  integer: string;
35
35
  delimiter: string;
36
36
  fraction: string;
37
- exponent: string;
38
37
  } | null;
39
38
  private static toDecimalString;
40
39
  }