@skbkontur/react-ui 6.1.4-eef21.0 → 6.1.4-ff219.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/components/Autocomplete/Autocomplete.js +3 -2
  2. package/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/components/FxInput/FxInput.js +2 -2
  4. package/components/FxInput/FxInput.js.map +1 -1
  5. package/components/Group/Group.js +2 -3
  6. package/components/Group/Group.js.map +1 -1
  7. package/components/Input/Input.d.ts +1 -1
  8. package/components/Input/Input.js.map +1 -1
  9. package/components/MaskedInput/MaskedInput.d.ts +2 -0
  10. package/components/MaskedInput/MaskedInput.js +6 -0
  11. package/components/MaskedInput/MaskedInput.js.map +1 -1
  12. package/components/MaskedInputV2/MaskedInputV2.d.ts +57 -0
  13. package/components/MaskedInputV2/MaskedInputV2.helpers.d.ts +9 -0
  14. package/components/MaskedInputV2/MaskedInputV2.helpers.js +17 -0
  15. package/components/MaskedInputV2/MaskedInputV2.helpers.js.map +1 -0
  16. package/components/MaskedInputV2/MaskedInputV2.js +234 -0
  17. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -0
  18. package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +7 -0
  19. package/components/MaskedInputV2/MaskedInputV2.styles.js +19 -0
  20. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -0
  21. package/components/MaskedInputV2/index.d.ts +1 -0
  22. package/components/MaskedInputV2/index.js +2 -0
  23. package/components/MaskedInputV2/index.js.map +1 -0
  24. package/components/MaskedInputV2/internal/MaskOverlay.d.ts +19 -0
  25. package/components/MaskedInputV2/internal/MaskOverlay.js +54 -0
  26. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -0
  27. package/components/MaskedInputV2/internal/MaskedCore.d.ts +8 -0
  28. package/components/MaskedInputV2/internal/MaskedCore.js +101 -0
  29. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -0
  30. package/components/MaskedInputV2/internal/MaskedCore.types.d.ts +30 -0
  31. package/components/MaskedInputV2/internal/MaskedCore.types.js +2 -0
  32. package/components/MaskedInputV2/internal/MaskedCore.types.js.map +1 -0
  33. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +15 -0
  34. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +34 -0
  35. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -0
  36. package/components/MaskedInputV2/internal/buildSlotMap.d.ts +11 -0
  37. package/components/MaskedInputV2/internal/buildSlotMap.js +37 -0
  38. package/components/MaskedInputV2/internal/buildSlotMap.js.map +1 -0
  39. package/components/MaskedInputV2/internal/extractRaw.d.ts +10 -0
  40. package/components/MaskedInputV2/internal/extractRaw.js +16 -0
  41. package/components/MaskedInputV2/internal/extractRaw.js.map +1 -0
  42. package/components/MaskedInputV2/internal/findNearestRawLeft.d.ts +10 -0
  43. package/components/MaskedInputV2/internal/findNearestRawLeft.js +18 -0
  44. package/components/MaskedInputV2/internal/findNearestRawLeft.js.map +1 -0
  45. package/components/MaskedInputV2/internal/helpers.d.ts +5 -0
  46. package/components/MaskedInputV2/internal/helpers.js +6 -0
  47. package/components/MaskedInputV2/internal/helpers.js.map +1 -0
  48. package/components/MaskedInputV2/internal/maskedCoreClipboard.d.ts +25 -0
  49. package/components/MaskedInputV2/internal/maskedCoreClipboard.js +30 -0
  50. package/components/MaskedInputV2/internal/maskedCoreClipboard.js.map +1 -0
  51. package/components/MaskedInputV2/internal/maskedCoreDeletion.d.ts +28 -0
  52. package/components/MaskedInputV2/internal/maskedCoreDeletion.js +70 -0
  53. package/components/MaskedInputV2/internal/maskedCoreDeletion.js.map +1 -0
  54. package/components/MaskedInputV2/internal/maskedCoreInputChange.d.ts +35 -0
  55. package/components/MaskedInputV2/internal/maskedCoreInputChange.js +31 -0
  56. package/components/MaskedInputV2/internal/maskedCoreInputChange.js.map +1 -0
  57. package/components/MaskedInputV2/internal/maskedCoreNavigation.d.ts +13 -0
  58. package/components/MaskedInputV2/internal/maskedCoreNavigation.js +79 -0
  59. package/components/MaskedInputV2/internal/maskedCoreNavigation.js.map +1 -0
  60. package/components/MaskedInputV2/internal/stripMaskChars.d.ts +11 -0
  61. package/components/MaskedInputV2/internal/stripMaskChars.js +20 -0
  62. package/components/MaskedInputV2/internal/stripMaskChars.js.map +1 -0
  63. package/components/MaskedInputV2/internal/types.d.ts +74 -0
  64. package/components/MaskedInputV2/internal/types.js +2 -0
  65. package/components/MaskedInputV2/internal/types.js.map +1 -0
  66. package/components/MaskedInputV2/internal/useMaskEngine.d.ts +42 -0
  67. package/components/MaskedInputV2/internal/useMaskEngine.js +82 -0
  68. package/components/MaskedInputV2/internal/useMaskEngine.js.map +1 -0
  69. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.d.ts +28 -0
  70. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js +190 -0
  71. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js.map +1 -0
  72. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.d.ts +16 -0
  73. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js +59 -0
  74. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js.map +1 -0
  75. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.d.ts +20 -0
  76. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js +106 -0
  77. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js.map +1 -0
  78. package/components/MaskedInputV2/react-imask/imask/controls/input-history.d.ts +17 -0
  79. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js +49 -0
  80. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js.map +1 -0
  81. package/components/MaskedInputV2/react-imask/imask/controls/input.d.ts +95 -0
  82. package/components/MaskedInputV2/react-imask/imask/controls/input.js +420 -0
  83. package/components/MaskedInputV2/react-imask/imask/controls/input.js.map +1 -0
  84. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.d.ts +30 -0
  85. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js +59 -0
  86. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js.map +1 -0
  87. package/components/MaskedInputV2/react-imask/imask/core/action-details.d.ts +30 -0
  88. package/components/MaskedInputV2/react-imask/imask/core/action-details.js +100 -0
  89. package/components/MaskedInputV2/react-imask/imask/core/action-details.js.map +1 -0
  90. package/components/MaskedInputV2/react-imask/imask/core/change-details.d.ts +20 -0
  91. package/components/MaskedInputV2/react-imask/imask/core/change-details.js +46 -0
  92. package/components/MaskedInputV2/react-imask/imask/core/change-details.js.map +1 -0
  93. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.d.ts +21 -0
  94. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js +52 -0
  95. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js.map +1 -0
  96. package/components/MaskedInputV2/react-imask/imask/core/holder.d.ts +34 -0
  97. package/components/MaskedInputV2/react-imask/imask/core/holder.js +38 -0
  98. package/components/MaskedInputV2/react-imask/imask/core/holder.js.map +1 -0
  99. package/components/MaskedInputV2/react-imask/imask/core/tail-details.d.ts +20 -0
  100. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js +2 -0
  101. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js.map +1 -0
  102. package/components/MaskedInputV2/react-imask/imask/core/utils.d.ts +24 -0
  103. package/components/MaskedInputV2/react-imask/imask/core/utils.js +100 -0
  104. package/components/MaskedInputV2/react-imask/imask/core/utils.js.map +1 -0
  105. package/components/MaskedInputV2/react-imask/imask/imask.d.ts +5 -0
  106. package/components/MaskedInputV2/react-imask/imask/imask.js +7 -0
  107. package/components/MaskedInputV2/react-imask/imask/imask.js.map +1 -0
  108. package/components/MaskedInputV2/react-imask/imask/index.d.ts +17 -0
  109. package/components/MaskedInputV2/react-imask/imask/index.js +16 -0
  110. package/components/MaskedInputV2/react-imask/imask/index.js.map +1 -0
  111. package/components/MaskedInputV2/react-imask/imask/masked/base.d.ts +114 -0
  112. package/components/MaskedInputV2/react-imask/imask/masked/base.js +411 -0
  113. package/components/MaskedInputV2/react-imask/imask/masked/base.js.map +1 -0
  114. package/components/MaskedInputV2/react-imask/imask/masked/factory.d.ts +62 -0
  115. package/components/MaskedInputV2/react-imask/imask/masked/factory.js +96 -0
  116. package/components/MaskedInputV2/react-imask/imask/masked/factory.js.map +1 -0
  117. package/components/MaskedInputV2/react-imask/imask/masked/pattern.d.ts +101 -0
  118. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js +543 -0
  119. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js.map +1 -0
  120. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.d.ts +30 -0
  121. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js +2 -0
  122. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js.map +1 -0
  123. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.d.ts +21 -0
  124. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js +180 -0
  125. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js.map +1 -0
  126. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.d.ts +31 -0
  127. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js +163 -0
  128. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js.map +1 -0
  129. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.d.ts +42 -0
  130. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js +158 -0
  131. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js.map +1 -0
  132. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.d.ts +56 -0
  133. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js +185 -0
  134. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js.map +1 -0
  135. package/components/MaskedInputV2/react-imask/imask/masked/regexp.d.ts +17 -0
  136. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js +36 -0
  137. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js.map +1 -0
  138. package/components/MaskedInputV2/react-imask/index.d.ts +3 -0
  139. package/components/MaskedInputV2/react-imask/index.js +4 -0
  140. package/components/MaskedInputV2/react-imask/index.js.map +1 -0
  141. package/components/MaskedInputV2/react-imask/input.d.ts +8 -0
  142. package/components/MaskedInputV2/react-imask/input.js +35 -0
  143. package/components/MaskedInputV2/react-imask/input.js.map +1 -0
  144. package/components/MaskedInputV2/react-imask/mixin.d.ts +31 -0
  145. package/components/MaskedInputV2/react-imask/mixin.js +246 -0
  146. package/components/MaskedInputV2/react-imask/mixin.js.map +1 -0
  147. package/index.d.ts +1 -1
  148. package/index.js +1 -1
  149. package/index.js.map +1 -1
  150. package/internal/CustomComboBox/ComboBoxView.js +2 -2
  151. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  152. package/internal/FeaturedMaskedInput/FeaturedMaskedInput.d.ts +4 -0
  153. package/internal/FeaturedMaskedInput/FeaturedMaskedInput.js +24 -0
  154. package/internal/FeaturedMaskedInput/FeaturedMaskedInput.js.map +1 -0
  155. package/internal/themes/BasicTheme.d.ts +0 -34
  156. package/internal/themes/BasicTheme.js +0 -96
  157. package/internal/themes/BasicTheme.js.map +1 -1
  158. package/lib/events/keyboard/KeyboardEventCodes.d.ts +2 -0
  159. package/lib/events/keyboard/KeyboardEventCodes.js +2 -0
  160. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  161. package/lib/events/keyboard/KeyboardMapKeys.js +2 -0
  162. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  163. package/lib/events/keyboard/identifiers.d.ts +2 -0
  164. package/lib/events/keyboard/identifiers.js +6 -0
  165. package/lib/events/keyboard/identifiers.js.map +1 -1
  166. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +2 -0
  167. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -0
  168. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  169. package/lib/utils.d.ts +0 -2
  170. package/lib/utils.js +0 -1
  171. package/lib/utils.js.map +1 -1
  172. package/package.json +4 -5
  173. package/components/TimePicker/TimeClockIcon.d.ts +0 -3
  174. package/components/TimePicker/TimeClockIcon.js +0 -11
  175. package/components/TimePicker/TimeClockIcon.js.map +0 -1
  176. package/components/TimePicker/TimeFragmentsView.d.ts +0 -15
  177. package/components/TimePicker/TimeFragmentsView.js +0 -72
  178. package/components/TimePicker/TimeFragmentsView.js.map +0 -1
  179. package/components/TimePicker/TimeFragmentsView.styles.d.ts +0 -12
  180. package/components/TimePicker/TimeFragmentsView.styles.js +0 -43
  181. package/components/TimePicker/TimeFragmentsView.styles.js.map +0 -1
  182. package/components/TimePicker/TimeInput.d.ts +0 -22
  183. package/components/TimePicker/TimeInput.js +0 -103
  184. package/components/TimePicker/TimeInput.js.map +0 -1
  185. package/components/TimePicker/TimePicker.d.ts +0 -77
  186. package/components/TimePicker/TimePicker.js +0 -508
  187. package/components/TimePicker/TimePicker.js.map +0 -1
  188. package/components/TimePicker/TimePicker.styles.d.ts +0 -14
  189. package/components/TimePicker/TimePicker.styles.js +0 -45
  190. package/components/TimePicker/TimePicker.styles.js.map +0 -1
  191. package/components/TimePicker/TimePickerItems.d.ts +0 -17
  192. package/components/TimePicker/TimePickerItems.js +0 -80
  193. package/components/TimePicker/TimePickerItems.js.map +0 -1
  194. package/components/TimePicker/TimePickerMobilePopup.d.ts +0 -38
  195. package/components/TimePicker/TimePickerMobilePopup.js +0 -21
  196. package/components/TimePicker/TimePickerMobilePopup.js.map +0 -1
  197. package/components/TimePicker/TimePickerPopup.d.ts +0 -20
  198. package/components/TimePicker/TimePickerPopup.js +0 -18
  199. package/components/TimePicker/TimePickerPopup.js.map +0 -1
  200. package/components/TimePicker/helpers/TimePicker.constants.d.ts +0 -22
  201. package/components/TimePicker/helpers/TimePicker.constants.js +0 -31
  202. package/components/TimePicker/helpers/TimePicker.constants.js.map +0 -1
  203. package/components/TimePicker/helpers/TimePicker.editing.d.ts +0 -23
  204. package/components/TimePicker/helpers/TimePicker.editing.js +0 -101
  205. package/components/TimePicker/helpers/TimePicker.editing.js.map +0 -1
  206. package/components/TimePicker/helpers/TimePicker.layout.d.ts +0 -6
  207. package/components/TimePicker/helpers/TimePicker.layout.js +0 -49
  208. package/components/TimePicker/helpers/TimePicker.layout.js.map +0 -1
  209. package/components/TimePicker/helpers/TimePicker.selection.d.ts +0 -5
  210. package/components/TimePicker/helpers/TimePicker.selection.js +0 -23
  211. package/components/TimePicker/helpers/TimePicker.selection.js.map +0 -1
  212. package/components/TimePicker/helpers/TimePicker.shared.d.ts +0 -47
  213. package/components/TimePicker/helpers/TimePicker.shared.js +0 -70
  214. package/components/TimePicker/helpers/TimePicker.shared.js.map +0 -1
  215. package/components/TimePicker/helpers/TimePicker.value.d.ts +0 -30
  216. package/components/TimePicker/helpers/TimePicker.value.js +0 -96
  217. package/components/TimePicker/helpers/TimePicker.value.js.map +0 -1
  218. package/components/TimePicker/helpers/scrollSelectedItemIntoView.d.ts +0 -4
  219. package/components/TimePicker/helpers/scrollSelectedItemIntoView.js +0 -24
  220. package/components/TimePicker/helpers/scrollSelectedItemIntoView.js.map +0 -1
  221. package/components/TimePicker/helpers/validateTimePicker.d.ts +0 -8
  222. package/components/TimePicker/helpers/validateTimePicker.js +0 -16
  223. package/components/TimePicker/helpers/validateTimePicker.js.map +0 -1
  224. package/components/TimePicker/hooks/useTimePickerDropdown.d.ts +0 -17
  225. package/components/TimePicker/hooks/useTimePickerDropdown.js +0 -62
  226. package/components/TimePicker/hooks/useTimePickerDropdown.js.map +0 -1
  227. package/components/TimePicker/hooks/useTimePickerSelection.d.ts +0 -18
  228. package/components/TimePicker/hooks/useTimePickerSelection.js +0 -66
  229. package/components/TimePicker/hooks/useTimePickerSelection.js.map +0 -1
  230. package/components/TimePicker/hooks/useTimePickerValue.d.ts +0 -18
  231. package/components/TimePicker/hooks/useTimePickerValue.js +0 -59
  232. package/components/TimePicker/hooks/useTimePickerValue.js.map +0 -1
  233. package/components/TimePicker/index.d.ts +0 -2
  234. package/components/TimePicker/index.js +0 -2
  235. package/components/TimePicker/index.js.map +0 -1
  236. package/internal/NativeTimeInput/NativeTimeInput.d.ts +0 -16
  237. package/internal/NativeTimeInput/NativeTimeInput.js +0 -25
  238. package/internal/NativeTimeInput/NativeTimeInput.js.map +0 -1
  239. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -3
  240. package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -15
  241. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +0 -1
  242. package/internal/NativeTimeInput/NativeTimeInput.utils.d.ts +0 -7
  243. package/internal/NativeTimeInput/NativeTimeInput.utils.js +0 -28
  244. package/internal/NativeTimeInput/NativeTimeInput.utils.js.map +0 -1
  245. package/internal/NativeTimeInput/index.d.ts +0 -1
  246. package/internal/NativeTimeInput/index.js +0 -2
  247. package/internal/NativeTimeInput/index.js.map +0 -1
  248. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.d.ts +0 -2
  249. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js +0 -20
  250. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js.map +0 -1
  251. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.d.ts +0 -2
  252. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js +0 -20
  253. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js.map +0 -1
  254. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.d.ts +0 -2
  255. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js +0 -20
  256. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js.map +0 -1
@@ -5,6 +5,8 @@ export declare enum KeyboardEventCodes {
5
5
  KeyC = "KeyC",
6
6
  KeyV = "KeyV",
7
7
  KeyX = "KeyX",
8
+ KeyY = "KeyY",
9
+ KeyZ = "KeyZ",
8
10
  Enter = "Enter",
9
11
  Tab = "Tab",
10
12
  CapsLock = "CapsLock",
@@ -6,6 +6,8 @@ export var KeyboardEventCodes;
6
6
  KeyboardEventCodes["KeyC"] = "KeyC";
7
7
  KeyboardEventCodes["KeyV"] = "KeyV";
8
8
  KeyboardEventCodes["KeyX"] = "KeyX";
9
+ KeyboardEventCodes["KeyY"] = "KeyY";
10
+ KeyboardEventCodes["KeyZ"] = "KeyZ";
9
11
  KeyboardEventCodes["Enter"] = "Enter";
10
12
  KeyboardEventCodes["Tab"] = "Tab";
11
13
  KeyboardEventCodes["CapsLock"] = "CapsLock";
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardEventCodes.js","sourceRoot":"","sources":["KeyboardEventCodes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBA6BX;AA7BD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,2CAAqB,CAAA;IACrB,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,mDAA6B,CAAA;IAC7B,uDAAiC,CAAA;IACjC,qDAA+B,CAAA;IAC/B,iDAA2B,CAAA;AAC7B,CAAC,EA7BW,kBAAkB,KAAlB,kBAAkB,QA6B7B","sourcesContent":["export enum KeyboardEventCodes {\n Unidentified = 'Unidentified',\n Escape = 'Escape',\n KeyA = 'KeyA',\n KeyC = 'KeyC',\n KeyV = 'KeyV',\n KeyX = 'KeyX',\n Enter = 'Enter',\n Tab = 'Tab',\n CapsLock = 'CapsLock',\n Minus = 'Minus',\n Equal = 'Equal',\n Backspace = 'Backspace',\n Comma = 'Comma',\n Period = 'Period',\n Slash = 'Slash',\n Backslash = 'Backslash',\n IntlBackslash = 'IntlBackslash',\n Space = 'Space',\n Home = 'Home',\n End = 'End',\n Insert = 'Insert',\n Delete = 'Delete',\n PageUp = 'PageUp',\n PageDown = 'PageDown',\n NumpadDivide = 'NumpadDivide',\n NumpadSubtract = 'NumpadSubtract',\n NumpadDecimal = 'NumpadDecimal',\n NumpadEnter = 'NumpadEnter',\n}\n"]}
1
+ {"version":3,"file":"KeyboardEventCodes.js","sourceRoot":"","sources":["KeyboardEventCodes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,kBA+BX;AA/BD,WAAY,kBAAkB;IAC5B,mDAA6B,CAAA;IAC7B,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,2CAAqB,CAAA;IACrB,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,qCAAe,CAAA;IACf,uCAAiB,CAAA;IACjB,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,mDAA6B,CAAA;IAC7B,uDAAiC,CAAA;IACjC,qDAA+B,CAAA;IAC/B,iDAA2B,CAAA;AAC7B,CAAC,EA/BW,kBAAkB,KAAlB,kBAAkB,QA+B7B","sourcesContent":["export enum KeyboardEventCodes {\n Unidentified = 'Unidentified',\n Escape = 'Escape',\n KeyA = 'KeyA',\n KeyC = 'KeyC',\n KeyV = 'KeyV',\n KeyX = 'KeyX',\n KeyY = 'KeyY',\n KeyZ = 'KeyZ',\n Enter = 'Enter',\n Tab = 'Tab',\n CapsLock = 'CapsLock',\n Minus = 'Minus',\n Equal = 'Equal',\n Backspace = 'Backspace',\n Comma = 'Comma',\n Period = 'Period',\n Slash = 'Slash',\n Backslash = 'Backslash',\n IntlBackslash = 'IntlBackslash',\n Space = 'Space',\n Home = 'Home',\n End = 'End',\n Insert = 'Insert',\n Delete = 'Delete',\n PageUp = 'PageUp',\n PageDown = 'PageDown',\n NumpadDivide = 'NumpadDivide',\n NumpadSubtract = 'NumpadSubtract',\n NumpadDecimal = 'NumpadDecimal',\n NumpadEnter = 'NumpadEnter',\n}\n"]}
@@ -21,6 +21,8 @@ export var KeyboardMapKeys = (_a = {},
21
21
  _a[Codes.KeyC] = [[67, STANDARD]],
22
22
  _a[Codes.KeyV] = [[86, STANDARD]],
23
23
  _a[Codes.KeyX] = [[88, STANDARD]],
24
+ _a[Codes.KeyY] = [[89, STANDARD]],
25
+ _a[Codes.KeyZ] = [[90, STANDARD]],
24
26
  _a[Codes.NumpadDecimal] = [
25
27
  [110, NUMPAD],
26
28
  [46, NUMPAD],
@@ -1 +1 @@
1
- {"version":3,"file":"KeyboardMapKeys.js","sourceRoot":"","sources":["KeyboardMapKeys.ts"],"names":[],"mappings":"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","sourcesContent":["import { KeyboardEventCodes as Codes } from './KeyboardEventCodes.js';\n\nexport type Location = number;\nexport type KeyCode = number;\nexport type KeyboardKey = [KeyCode, Location];\n\nconst STANDARD = 0; //KeyboardEvent.DOM_KEY_LOCATION_STANDARD;\nconst NUMPAD = 3; //KeyboardEvent.DOM_KEY_LOCATION_NUMPAD;\n\nexport const KeyboardMapKeys: { [code in Codes]: KeyboardKey[] } = {\n [Codes.Unidentified]: [[0, 0]],\n [Codes.End]: [[35, STANDARD]],\n [Codes.Escape]: [[27, STANDARD]],\n [Codes.Equal]: [[187, STANDARD]],\n [Codes.Backspace]: [[8, STANDARD]],\n [Codes.Enter]: [[13, STANDARD]],\n [Codes.NumpadEnter]: [[13, NUMPAD]],\n [Codes.Home]: [[36, STANDARD]],\n [Codes.Delete]: [[46, STANDARD]],\n [Codes.Insert]: [[45, STANDARD]],\n [Codes.PageUp]: [[33, STANDARD]],\n [Codes.PageDown]: [[34, STANDARD]],\n [Codes.Tab]: [[9, STANDARD]],\n [Codes.CapsLock]: [[20, STANDARD]],\n [Codes.KeyA]: [[65, STANDARD]],\n [Codes.KeyC]: [[67, STANDARD]],\n [Codes.KeyV]: [[86, STANDARD]],\n [Codes.KeyX]: [[88, STANDARD]],\n [Codes.NumpadDecimal]: [\n [110, NUMPAD],\n [46, NUMPAD],\n ],\n [Codes.NumpadSubtract]: [[109, NUMPAD]],\n [Codes.NumpadDivide]: [[111, NUMPAD]],\n [Codes.Comma]: [[188, STANDARD]],\n [Codes.Minus]: [[189, STANDARD]],\n [Codes.Period]: [[190, STANDARD]],\n [Codes.Slash]: [[191, STANDARD]],\n [Codes.Backslash]: [[220, STANDARD]],\n [Codes.IntlBackslash]: [[226, STANDARD]],\n [Codes.Space]: [[32, STANDARD]],\n};\n"]}
1
+ {"version":3,"file":"KeyboardMapKeys.js","sourceRoot":"","sources":["KeyboardMapKeys.ts"],"names":[],"mappings":"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","sourcesContent":["import { KeyboardEventCodes as Codes } from './KeyboardEventCodes.js';\n\nexport type Location = number;\nexport type KeyCode = number;\nexport type KeyboardKey = [KeyCode, Location];\n\nconst STANDARD = 0; //KeyboardEvent.DOM_KEY_LOCATION_STANDARD;\nconst NUMPAD = 3; //KeyboardEvent.DOM_KEY_LOCATION_NUMPAD;\n\nexport const KeyboardMapKeys: { [code in Codes]: KeyboardKey[] } = {\n [Codes.Unidentified]: [[0, 0]],\n [Codes.End]: [[35, STANDARD]],\n [Codes.Escape]: [[27, STANDARD]],\n [Codes.Equal]: [[187, STANDARD]],\n [Codes.Backspace]: [[8, STANDARD]],\n [Codes.Enter]: [[13, STANDARD]],\n [Codes.NumpadEnter]: [[13, NUMPAD]],\n [Codes.Home]: [[36, STANDARD]],\n [Codes.Delete]: [[46, STANDARD]],\n [Codes.Insert]: [[45, STANDARD]],\n [Codes.PageUp]: [[33, STANDARD]],\n [Codes.PageDown]: [[34, STANDARD]],\n [Codes.Tab]: [[9, STANDARD]],\n [Codes.CapsLock]: [[20, STANDARD]],\n [Codes.KeyA]: [[65, STANDARD]],\n [Codes.KeyC]: [[67, STANDARD]],\n [Codes.KeyV]: [[86, STANDARD]],\n [Codes.KeyX]: [[88, STANDARD]],\n [Codes.KeyY]: [[89, STANDARD]],\n [Codes.KeyZ]: [[90, STANDARD]],\n [Codes.NumpadDecimal]: [\n [110, NUMPAD],\n [46, NUMPAD],\n ],\n [Codes.NumpadSubtract]: [[109, NUMPAD]],\n [Codes.NumpadDivide]: [[111, NUMPAD]],\n [Codes.Comma]: [[188, STANDARD]],\n [Codes.Minus]: [[189, STANDARD]],\n [Codes.Period]: [[190, STANDARD]],\n [Codes.Slash]: [[191, STANDARD]],\n [Codes.Backslash]: [[220, STANDARD]],\n [Codes.IntlBackslash]: [[226, STANDARD]],\n [Codes.Space]: [[32, STANDARD]],\n};\n"]}
@@ -6,6 +6,8 @@ export declare const isShortcutCopy: IS;
6
6
  export declare const isShortcutPaste: IS;
7
7
  export declare const isShortcutCut: IS;
8
8
  export declare const isShortcutSelectAll: IS;
9
+ export declare const isShortcutUndo: IS;
10
+ export declare const isShortcutRedo: IS;
9
11
  export declare const isShortcutJumpCaret: IS;
10
12
  export declare const isKeyEscape: IS;
11
13
  export declare const isKeyHome: IS;
@@ -17,6 +17,12 @@ export var isShortcutCut = function (e) {
17
17
  e.key === 'Cut';
18
18
  };
19
19
  export var isShortcutSelectAll = function (e) { return (isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyA; };
20
+ export var isShortcutUndo = function (e) {
21
+ return (isMac ? e.metaKey : e.ctrlKey) && !e.shiftKey && extractCode(e) === Codes.KeyZ;
22
+ };
23
+ export var isShortcutRedo = function (e) {
24
+ return (isMac ? e.metaKey : e.ctrlKey) && (extractCode(e) === Codes.KeyY || (e.shiftKey && extractCode(e) === Codes.KeyZ));
25
+ };
20
26
  export var isShortcutJumpCaret = function (e) { return (isMac ? e.altKey : e.ctrlKey) && isKeyArrowHorizontal(e); };
21
27
  export var isKeyEscape = function (e) { return e.key === 'Escape' || e.key === 'Esc'; };
22
28
  export var isKeyHome = function (e) { return e.key === 'Home'; };
@@ -1 +1 @@
1
- {"version":3,"file":"identifiers.js","sourceRoot":"","sources":["identifiers.ts"],"names":[],"mappings":"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","sourcesContent":["import { isMac } from '../../client.js';\nimport { extractCode } from './extractCode.js';\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes.js';\n\ntype E = React.KeyboardEvent<HTMLElement> | KeyboardEvent;\ntype IS = (e: E) => boolean;\ntype ISMod = (is?: IS) => IS;\ntype ISSome = (...is: IS[]) => IS;\n\nexport const isShortcutCopy: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyC) ||\n (!isMac && e.ctrlKey && isKeyInsert(e)) ||\n e.key === 'Copy';\n\nexport const isShortcutPaste: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyV) ||\n (!isMac && e.shiftKey && isKeyInsert(e)) ||\n e.key === 'Paste';\n\nexport const isShortcutCut: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyX) ||\n (!isMac && e.shiftKey && isKeyDelete(e)) ||\n e.key === 'Cut';\n\nexport const isShortcutSelectAll: IS = (e) => (isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyA;\n\nexport const isShortcutJumpCaret: IS = (e) => (isMac ? e.altKey : e.ctrlKey) && isKeyArrowHorizontal(e);\n\nexport const isKeyEscape: IS = (e) => e.key === 'Escape' || e.key === 'Esc';\nexport const isKeyHome: IS = (e) => e.key === 'Home';\nexport const isKeyEnd: IS = (e) => e.key === 'End';\nexport const isKeyMeta: IS = (e) => e.key === 'Meta' || e.key === 'Win';\nexport const isKeyControl: IS = (e) => e.key === 'Control';\nexport const isKeyShift: IS = (e) => e.key === 'Shift';\nexport const isKeyAlt: IS = (e) => e.key === 'Alt';\nexport const isKeyDelete: IS = (e) => e.key === 'Delete' || e.key === 'Del';\nexport const isKeyBackspace: IS = (e) => e.key === 'Backspace';\nexport const isKeyCapsLock: IS = (e) => e.key === 'CapsLock';\nexport const isKeyInsert: IS = (e) => e.key === 'Insert';\nexport const isKeyTab: IS = (e) => e.key === 'Tab';\nexport const isKeyEnter: IS = (e) => e.key === 'Enter';\nexport const isKeyArrowUp: IS = (e) => e.key === 'ArrowUp' || e.key === 'Up';\nexport const isKeyArrowRight: IS = (e) => e.key === 'ArrowRight' || e.key === 'Right';\nexport const isKeyArrowDown: IS = (e) => e.key === 'ArrowDown' || e.key === 'Down';\nexport const isKeyArrowLeft: IS = (e) => e.key === 'ArrowLeft' || e.key === 'Left';\nexport const isKeySpace: IS = (e) => e.key === ' ' || e.key === 'Spacebar';\nexport const isKeyComma: IS = (e) => e.key === ',';\n\nexport const isCodeMinus: IS = (e) => extractCode(e) === Codes.Minus;\nexport const isCodeNumpadDecimal: IS = (e) => extractCode(e) === Codes.NumpadDecimal;\nexport const isCodeNumpadDivide: IS = (e) => extractCode(e) === Codes.NumpadDivide;\nexport const isCodeNumpadSubtract: IS = (e) => extractCode(e) === Codes.NumpadSubtract;\nexport const isCodeSlash: IS = (e) => extractCode(e) === Codes.Slash;\nexport const isCodeBackslash: IS = (e) => extractCode(e) === Codes.Backslash;\nexport const isCodeIntlBackslash: IS = (e) => extractCode(e) === Codes.IntlBackslash;\nexport const isCodeComma: IS = (e) => extractCode(e) === Codes.Comma;\nexport const isCodePeriod: IS = (e) => extractCode(e) === Codes.Period;\n\nexport const isKeyArrowHorizontal: IS = (e) => isKeyArrowRight(e) || isKeyArrowLeft(e);\nexport const isKeyArrowVertical: IS = (e) => isKeyArrowUp(e) || isKeyArrowDown(e);\nexport const isKeyArrow: IS = (e) => isKeyArrowHorizontal(e) || isKeyArrowVertical(e);\nexport const isKeyNumber: IS = (e) => /^\\d+$/.test(e.key);\nexport const isKeyChar: IS = (e) => e.key.trim().length === 1;\nexport const isKeyFs: IS = (e) => /^(?:F[1-9]|F1[0-2]|Soft[1-4])$/.test(e.key);\n\nexport const isModified: ISMod = (is) => (e) =>\n (e.shiftKey || e.metaKey || e.ctrlKey || e.altKey) && (is ? is(e) : true);\nexport const isUnmodified: ISMod = (is) => (e) => !isModified()(e) && (is ? is(e) : true);\nexport const isModShift: ISMod = (is) => (e) => e.shiftKey && (is ? is(e) : true);\nexport const isModCtrl: ISMod = (is) => (e) => e.ctrlKey && (is ? is(e) : true);\nexport const isModAlt: ISMod = (is) => (e) => e.altKey && (is ? is(e) : true);\n\nexport const someKeys: ISSome =\n (...iss) =>\n (e) =>\n iss.some((is) => is(e));\n"]}
1
+ {"version":3,"file":"identifiers.js","sourceRoot":"","sources":["identifiers.ts"],"names":[],"mappings":"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","sourcesContent":["import { isMac } from '../../client.js';\nimport { extractCode } from './extractCode.js';\nimport { KeyboardEventCodes as Codes } from './KeyboardEventCodes.js';\n\ntype E = React.KeyboardEvent<HTMLElement> | KeyboardEvent;\ntype IS = (e: E) => boolean;\ntype ISMod = (is?: IS) => IS;\ntype ISSome = (...is: IS[]) => IS;\n\nexport const isShortcutCopy: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyC) ||\n (!isMac && e.ctrlKey && isKeyInsert(e)) ||\n e.key === 'Copy';\n\nexport const isShortcutPaste: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyV) ||\n (!isMac && e.shiftKey && isKeyInsert(e)) ||\n e.key === 'Paste';\n\nexport const isShortcutCut: IS = (e) =>\n ((isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyX) ||\n (!isMac && e.shiftKey && isKeyDelete(e)) ||\n e.key === 'Cut';\n\nexport const isShortcutSelectAll: IS = (e) => (isMac ? e.metaKey : e.ctrlKey) && extractCode(e) === Codes.KeyA;\n\nexport const isShortcutUndo: IS = (e) =>\n (isMac ? e.metaKey : e.ctrlKey) && !e.shiftKey && extractCode(e) === Codes.KeyZ;\n\nexport const isShortcutRedo: IS = (e) =>\n (isMac ? e.metaKey : e.ctrlKey) && (extractCode(e) === Codes.KeyY || (e.shiftKey && extractCode(e) === Codes.KeyZ));\n\nexport const isShortcutJumpCaret: IS = (e) => (isMac ? e.altKey : e.ctrlKey) && isKeyArrowHorizontal(e);\n\nexport const isKeyEscape: IS = (e) => e.key === 'Escape' || e.key === 'Esc';\nexport const isKeyHome: IS = (e) => e.key === 'Home';\nexport const isKeyEnd: IS = (e) => e.key === 'End';\nexport const isKeyMeta: IS = (e) => e.key === 'Meta' || e.key === 'Win';\nexport const isKeyControl: IS = (e) => e.key === 'Control';\nexport const isKeyShift: IS = (e) => e.key === 'Shift';\nexport const isKeyAlt: IS = (e) => e.key === 'Alt';\nexport const isKeyDelete: IS = (e) => e.key === 'Delete' || e.key === 'Del';\nexport const isKeyBackspace: IS = (e) => e.key === 'Backspace';\nexport const isKeyCapsLock: IS = (e) => e.key === 'CapsLock';\nexport const isKeyInsert: IS = (e) => e.key === 'Insert';\nexport const isKeyTab: IS = (e) => e.key === 'Tab';\nexport const isKeyEnter: IS = (e) => e.key === 'Enter';\nexport const isKeyArrowUp: IS = (e) => e.key === 'ArrowUp' || e.key === 'Up';\nexport const isKeyArrowRight: IS = (e) => e.key === 'ArrowRight' || e.key === 'Right';\nexport const isKeyArrowDown: IS = (e) => e.key === 'ArrowDown' || e.key === 'Down';\nexport const isKeyArrowLeft: IS = (e) => e.key === 'ArrowLeft' || e.key === 'Left';\nexport const isKeySpace: IS = (e) => e.key === ' ' || e.key === 'Spacebar';\nexport const isKeyComma: IS = (e) => e.key === ',';\n\nexport const isCodeMinus: IS = (e) => extractCode(e) === Codes.Minus;\nexport const isCodeNumpadDecimal: IS = (e) => extractCode(e) === Codes.NumpadDecimal;\nexport const isCodeNumpadDivide: IS = (e) => extractCode(e) === Codes.NumpadDivide;\nexport const isCodeNumpadSubtract: IS = (e) => extractCode(e) === Codes.NumpadSubtract;\nexport const isCodeSlash: IS = (e) => extractCode(e) === Codes.Slash;\nexport const isCodeBackslash: IS = (e) => extractCode(e) === Codes.Backslash;\nexport const isCodeIntlBackslash: IS = (e) => extractCode(e) === Codes.IntlBackslash;\nexport const isCodeComma: IS = (e) => extractCode(e) === Codes.Comma;\nexport const isCodePeriod: IS = (e) => extractCode(e) === Codes.Period;\n\nexport const isKeyArrowHorizontal: IS = (e) => isKeyArrowRight(e) || isKeyArrowLeft(e);\nexport const isKeyArrowVertical: IS = (e) => isKeyArrowUp(e) || isKeyArrowDown(e);\nexport const isKeyArrow: IS = (e) => isKeyArrowHorizontal(e) || isKeyArrowVertical(e);\nexport const isKeyNumber: IS = (e) => /^\\d+$/.test(e.key);\nexport const isKeyChar: IS = (e) => e.key.trim().length === 1;\nexport const isKeyFs: IS = (e) => /^(?:F[1-9]|F1[0-2]|Soft[1-4])$/.test(e.key);\n\nexport const isModified: ISMod = (is) => (e) =>\n (e.shiftKey || e.metaKey || e.ctrlKey || e.altKey) && (is ? is(e) : true);\nexport const isUnmodified: ISMod = (is) => (e) => !isModified()(e) && (is ? is(e) : true);\nexport const isModShift: ISMod = (is) => (e) => e.shiftKey && (is ? is(e) : true);\nexport const isModCtrl: ISMod = (is) => (e) => e.ctrlKey && (is ? is(e) : true);\nexport const isModAlt: ISMod = (is) => (e) => e.altKey && (is ? is(e) : true);\n\nexport const someKeys: ISSome =\n (...iss) =>\n (e) =>\n iss.some((is) => is(e));\n"]}
@@ -1,5 +1,7 @@
1
1
  import React from 'react';
2
2
  export interface ReactUIFeatureFlags {
3
+ /** Использовать MaskedInputV2 вместо MaskedInput в Autocomplete, ComboBox и FxInput. */
4
+ useMaskedInputV2?: boolean;
3
5
  selectAutoScrollToSelectedItem?: boolean;
4
6
  }
5
7
  export declare const reactUIFeatureFlagsDefault: ReactUIFeatureFlags;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  export var reactUIFeatureFlagsDefault = {
3
3
  selectAutoScrollToSelectedItem: false,
4
+ useMaskedInputV2: false,
4
5
  };
5
6
  export var ReactUIFeatureFlagsContext = React.createContext(reactUIFeatureFlagsDefault);
6
7
  ReactUIFeatureFlagsContext.displayName = 'ReactUIFeatureFlagsContext';
@@ -1 +1 @@
1
- {"version":3,"file":"ReactUIFeatureFlagsContext.js","sourceRoot":"","sources":["ReactUIFeatureFlagsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,MAAM,CAAC,IAAM,0BAA0B,GAAwB;IAC7D,8BAA8B,EAAE,KAAK;CACtC,CAAC;AAEF,MAAM,CAAC,IAAM,0BAA0B,GAAG,KAAK,CAAC,aAAa,CAAsB,0BAA0B,CAAC,CAAC;AAE/G,0BAA0B,CAAC,WAAW,GAAG,4BAA4B,CAAC;AACtE,0BAA0B,CAAC,mBAAmB,GAAG,4BAA4B,CAAC","sourcesContent":["import React from 'react';\n\nexport interface ReactUIFeatureFlags {\n selectAutoScrollToSelectedItem?: boolean;\n}\n\nexport const reactUIFeatureFlagsDefault: ReactUIFeatureFlags = {\n selectAutoScrollToSelectedItem: false,\n};\n\nexport const ReactUIFeatureFlagsContext = React.createContext<ReactUIFeatureFlags>(reactUIFeatureFlagsDefault);\n\nReactUIFeatureFlagsContext.displayName = 'ReactUIFeatureFlagsContext';\nReactUIFeatureFlagsContext.__KONTUR_REACT_UI__ = 'ReactUIFeatureFlagsContext';\n"]}
1
+ {"version":3,"file":"ReactUIFeatureFlagsContext.js","sourceRoot":"","sources":["ReactUIFeatureFlagsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,IAAM,0BAA0B,GAAwB;IAC7D,8BAA8B,EAAE,KAAK;IACrC,gBAAgB,EAAE,KAAK;CACxB,CAAC;AAEF,MAAM,CAAC,IAAM,0BAA0B,GAAG,KAAK,CAAC,aAAa,CAAsB,0BAA0B,CAAC,CAAC;AAE/G,0BAA0B,CAAC,WAAW,GAAG,4BAA4B,CAAC;AACtE,0BAA0B,CAAC,mBAAmB,GAAG,4BAA4B,CAAC","sourcesContent":["import React from 'react';\n\nexport interface ReactUIFeatureFlags {\n /** Использовать MaskedInputV2 вместо MaskedInput в Autocomplete, ComboBox и FxInput. */\n useMaskedInputV2?: boolean;\n selectAutoScrollToSelectedItem?: boolean;\n}\n\nexport const reactUIFeatureFlagsDefault: ReactUIFeatureFlags = {\n selectAutoScrollToSelectedItem: false,\n useMaskedInputV2: false,\n};\n\nexport const ReactUIFeatureFlagsContext = React.createContext<ReactUIFeatureFlags>(reactUIFeatureFlagsDefault);\n\nReactUIFeatureFlagsContext.displayName = 'ReactUIFeatureFlagsContext';\nReactUIFeatureFlagsContext.__KONTUR_REACT_UI__ = 'ReactUIFeatureFlagsContext';\n"]}
package/lib/utils.d.ts CHANGED
@@ -9,7 +9,6 @@ import type { HintProps } from '../components/Hint/index.js';
9
9
  import type { InputProps } from '../components/Input/index.js';
10
10
  import type { PasswordInputProps } from '../components/PasswordInput/index.js';
11
11
  import type { SelectProps } from '../components/Select/index.js';
12
- import type { TimePickerProps } from '../components/TimePicker/index.js';
13
12
  import type { TooltipProps } from '../components/Tooltip/index.js';
14
13
  import type { GlobalObject } from '../lib/globalObject.js';
15
14
  export { delay } from './delay.js';
@@ -98,7 +97,6 @@ export declare const isDropdown: (child: React.ReactNode) => child is React.Reac
98
97
  export declare const isDropdownMenu: (child: React.ReactNode) => child is React.ReactElement<DropdownMenuProps, string | React.JSXElementConstructor<any>>;
99
98
  export declare const isHint: (child: React.ReactNode) => child is React.ReactElement<HintProps, string | React.JSXElementConstructor<any>>;
100
99
  export declare const isTooltip: (child: React.ReactNode) => child is React.ReactElement<TooltipProps, string | React.JSXElementConstructor<any>>;
101
- export declare const isTimePicker: (child: React.ReactNode) => child is React.ReactElement<TimePickerProps, string | React.JSXElementConstructor<any>>;
102
100
  export declare const isKonturIcon: (icon: React.ReactElement) => boolean;
103
101
  export declare function clickOutside(eventType?: 'touchstart' | 'mousedown' | 'pointerup'): void;
104
102
  export declare function isElement(el: unknown): el is Element;
package/lib/utils.js CHANGED
@@ -180,7 +180,6 @@ export var isDropdown = isReactUIComponent('Dropdown');
180
180
  export var isDropdownMenu = isReactUIComponent('DropdownMenu');
181
181
  export var isHint = isReactUIComponent('Hint');
182
182
  export var isTooltip = isReactUIComponent('Tooltip');
183
- export var isTimePicker = isReactUIComponent('TimePicker');
184
183
  export var isKonturIcon = function (icon) {
185
184
  return Object.prototype.hasOwnProperty.call(icon === null || icon === void 0 ? void 0 : icon.type, '__KONTUR_ICON__');
186
185
  };
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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","sourcesContent":["import type React from 'react';\nimport { isValidElement } from 'react';\n\nimport type { AutocompleteProps } from '../components/Autocomplete/index.js';\nimport type { ButtonProps } from '../components/Button/index.js';\nimport type { CurrencyInputProps } from '../components/CurrencyInput/index.js';\nimport type { DropdownProps } from '../components/Dropdown/index.js';\nimport type { DropdownMenuProps } from '../components/DropdownMenu/index.js';\nimport type { FxInputProps } from '../components/FxInput/index.js';\nimport type { HintProps } from '../components/Hint/index.js';\nimport type { InputProps } from '../components/Input/index.js';\nimport type { PasswordInputProps } from '../components/PasswordInput/index.js';\nimport type { SelectProps } from '../components/Select/index.js';\nimport type { TimePickerProps } from '../components/TimePicker/index.js';\nimport type { TooltipProps } from '../components/Tooltip/index.js';\nimport type { GlobalObject } from '../lib/globalObject.js';\nimport { isBrowser } from '../lib/globalObject.js';\nimport { isForwardRef, isMemo } from './react-is.js';\n\nexport { delay } from './delay.js';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport type AnyObject = Record<string, unknown>;\n\nexport type NoInfer<T> = T extends infer U ? U : never;\n\nexport const emptyHandler = (): void => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number): () => void {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport type FunctionWithParams<R = any> = (...args: any[]) => R;\n\nexport function isFunction<T>(x: T | FunctionWithParams): x is FunctionWithParams {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement<unknown>): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement<unknown>): boolean {\n return (\n Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element)) || isMemo(element)\n );\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string, globalObject: GlobalObject): boolean => {\n return isBrowser(globalObject) && new RegExp(`^(https?:)?//(?!${globalObject.location.host})\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\nexport const isNullable = (value: unknown): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-expect-error: Property `type` doesn't exist on type `React.ReactNode`, but exists on type `React.ReactElement` meanwhile `React.ReactElement` is not compatible with `React` `children` type.\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Checks if a component instance is a ReactUI component with the given name.\n *\n * @typeParam T Expected ReactUI component type.\n * @param instance Component instance.\n * @param componentName ReactUI component name.\n * @returns `true` if it matches, otherwise `false`.\n */\nexport const isReactUIInstance = <T extends React.Component>(\n instance: React.Component,\n componentName: string,\n): instance is T => {\n const constructor = instance?.constructor;\n return '__KONTUR_REACT_UI__' in constructor && constructor.__KONTUR_REACT_UI__ === componentName;\n};\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T extends Record<string, unknown>>(\n props: T,\n): { dataProps: Record<string, unknown>; restWithoutDataProps: Record<string, unknown> } => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string): boolean => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\nexport const isInput = isReactUIComponent<InputProps>('Input');\nexport const isFxInput = isReactUIComponent<FxInputProps>('FxInput');\nexport const isAutocomplete = isReactUIComponent<AutocompleteProps>('Autocomplete');\nexport const isPasswordInput = isReactUIComponent<PasswordInputProps>('PasswordInput');\nexport const isCurrencyInput = isReactUIComponent<CurrencyInputProps>('CurrencyInput');\nexport const isSelect = isReactUIComponent<SelectProps<unknown, unknown>>('Select');\nexport const isDropdown = isReactUIComponent<DropdownProps>('Dropdown');\nexport const isDropdownMenu = isReactUIComponent<DropdownMenuProps>('DropdownMenu');\nexport const isHint = isReactUIComponent<HintProps>('Hint');\nexport const isTooltip = isReactUIComponent<TooltipProps>('Tooltip');\nexport const isTimePicker = isReactUIComponent<TimePickerProps>('TimePicker');\n\nexport const isKonturIcon = (icon: React.ReactElement): boolean => {\n return Object.prototype.hasOwnProperty.call(icon?.type, '__KONTUR_ICON__');\n};\n\nexport function clickOutside(eventType: 'touchstart' | 'mousedown' | 'pointerup' = 'mousedown'): void {\n const event = document.createEvent('HTMLEvents');\n event.initEvent(eventType, true, true);\n document.body.dispatchEvent(event);\n}\n\nexport function isElement(el: unknown): el is Element {\n return !!el && typeof el === 'object' && 'nodeType' in el && el.nodeType === Node.ELEMENT_NODE;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"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","sourcesContent":["import type React from 'react';\nimport { isValidElement } from 'react';\n\nimport type { AutocompleteProps } from '../components/Autocomplete/index.js';\nimport type { ButtonProps } from '../components/Button/index.js';\nimport type { CurrencyInputProps } from '../components/CurrencyInput/index.js';\nimport type { DropdownProps } from '../components/Dropdown/index.js';\nimport type { DropdownMenuProps } from '../components/DropdownMenu/index.js';\nimport type { FxInputProps } from '../components/FxInput/index.js';\nimport type { HintProps } from '../components/Hint/index.js';\nimport type { InputProps } from '../components/Input/index.js';\nimport type { PasswordInputProps } from '../components/PasswordInput/index.js';\nimport type { SelectProps } from '../components/Select/index.js';\nimport type { TooltipProps } from '../components/Tooltip/index.js';\nimport type { GlobalObject } from '../lib/globalObject.js';\nimport { isBrowser } from '../lib/globalObject.js';\nimport { isForwardRef, isMemo } from './react-is.js';\n\nexport { delay } from './delay.js';\n\n// NOTE: Copy-paste from @types/react\nexport type Defaultize<P, D> = P extends any\n ? string extends keyof P\n ? P\n : Pick<P, Exclude<keyof P, keyof D>> &\n Partial<Pick<P, Extract<keyof P, keyof D>>> &\n Partial<Pick<D, Exclude<keyof D, keyof P>>>\n : never;\n\nexport type DefaultizeProps<C, P> = C extends { defaultProps: infer D } ? Defaultize<P, D> : P;\n\nexport type AnyObject = Record<string, unknown>;\n\nexport type NoInfer<T> = T extends infer U ? U : never;\n\nexport const emptyHandler = (): void => {\n /* noop */\n};\n\nexport class CancelationError extends Error {\n public code = 'CancelationError';\n}\n\nexport function taskWithDelay(task: () => void, ms: number): () => void {\n let cancelationToken: () => void = () => null;\n\n new Promise((resolve, reject) => {\n cancelationToken = reject;\n setTimeout(resolve, ms);\n })\n .then(task)\n .catch(() => null);\n\n return cancelationToken;\n}\n\nexport type FunctionWithParams<R = any> = (...args: any[]) => R;\n\nexport function isFunction<T>(x: T | FunctionWithParams): x is FunctionWithParams {\n return typeof x === 'function';\n}\n\nexport function isFunctionalComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && !(Component.prototype && Component.prototype.isReactComponent));\n}\n\nexport function isClassComponent(Component: unknown): Component is React.ComponentType {\n return Boolean(typeof Component === 'function' && Component.prototype && Component.prototype.isReactComponent);\n}\n\nexport function isIntrinsicElement(element: React.ReactElement<unknown>): boolean {\n return typeof element.type === 'string';\n}\n\nexport function isRefableElement(element: React.ReactElement<unknown>): boolean {\n return (\n Boolean(isIntrinsicElement(element) || isClassComponent(element.type) || isForwardRef(element)) || isMemo(element)\n );\n}\n\nexport function escapeRegExpSpecChars(s: string): string {\n return s.replace(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nexport const getRandomID = (): string => Math.random().toString(16).slice(2);\n\nexport const isExternalLink = (link: string, globalObject: GlobalObject): boolean => {\n return isBrowser(globalObject) && new RegExp(`^(https?:)?//(?!${globalObject.location.host})\\\\S+`, 'gi').test(link);\n};\n\n/**\n * Check if the given ReactNode is an element of the specified ReactUI component\n */\nexport const isReactUINode = (componentName: string, node: React.ReactNode): boolean => {\n if (isValidElement(node)) {\n return (\n Object.prototype.hasOwnProperty.call(node.type, '__KONTUR_REACT_UI__') &&\n // @ts-expect-error: React doesn't know about existence of __KONTUR_REACT_UI__.\n node.type.__KONTUR_REACT_UI__ === componentName\n );\n }\n\n return false;\n};\n\nconst KB = 1024;\nconst UNITS = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\n\nconst calculateDecimals = (decimals: number) => {\n if (decimals < 0) {\n return 0;\n }\n\n return 0;\n};\n\nexport const formatBytes = (bytes: number, decimals = 2): string | null => {\n if (bytes === 0) {\n return '0 Bytes';\n }\n\n if (!bytes) {\n return null;\n }\n\n const calculatedDecimals = calculateDecimals(decimals);\n\n const i = Math.floor(Math.log2(bytes) / Math.log2(KB));\n const formattedBytes = parseFloat((bytes / Math.pow(KB, i)).toFixed(calculatedDecimals));\n\n return `${formattedBytes} ${UNITS[i]}`;\n};\n\n/**\n * Проверяет, не является ли переданный аргумент null или undefined и исключает типы null и undefined из типа аргумента\n *\n * @param value Значение, которое нужно проверить и исключить из него типы\n * @returns Возвращает true, если переданный аргумент не является null или undefined иначе false\n */\nexport const isNonNullable = <T>(value: T): value is NonNullable<T> => {\n return value !== null && value !== undefined;\n};\n\n/**\n * Checks if the value `null` or `undefined`.\n *\n * @param value Value to check for `null` and `undefined`.\n * @returns Returns `true` if `value` is `null` or `undefined`, else `false`.\n */\nexport const isNullable = (value: unknown): value is null | undefined => {\n return value === null || value === undefined;\n};\n\n/**\n * Creates a function that checks if the given `child`\n * is an instance of some component specified by `name`.\n *\n * @param name Component name for which function will be created.\n * @returns A function that checks if the given `child` is an instance of the component specified by `name`.\n */\nexport const isReactUIComponent = <P = any>(name: string) => {\n return (child: React.ReactNode): child is React.ReactElement<P> => {\n // @ts-expect-error: Property `type` doesn't exist on type `React.ReactNode`, but exists on type `React.ReactElement` meanwhile `React.ReactElement` is not compatible with `React` `children` type.\n return child?.type?.__KONTUR_REACT_UI__ === name;\n };\n};\n\n/**\n * Checks if a component instance is a ReactUI component with the given name.\n *\n * @typeParam T Expected ReactUI component type.\n * @param instance Component instance.\n * @param componentName ReactUI component name.\n * @returns `true` if it matches, otherwise `false`.\n */\nexport const isReactUIInstance = <T extends React.Component>(\n instance: React.Component,\n componentName: string,\n): instance is T => {\n const constructor = instance?.constructor;\n return '__KONTUR_REACT_UI__' in constructor && constructor.__KONTUR_REACT_UI__ === componentName;\n};\n\n/**\n * Extracts all data attributes from props and returns them as well as props.\n *\n * @param props Props object to extract data attributes from.\n * @returns Separated data attributes and all other props.\n */\nexport const extractDataProps = <T extends Record<string, unknown>>(\n props: T,\n): { dataProps: Record<string, unknown>; restWithoutDataProps: Record<string, unknown> } => {\n const dataProps: Record<string, any> = {};\n const restWithoutDataProps: Record<string, any> = {};\n\n Object.entries(props).map(([name, value]) => {\n if (name.startsWith('data-')) {\n return (dataProps[name] = value);\n }\n\n return (restWithoutDataProps[name] = value);\n });\n\n return { dataProps, restWithoutDataProps };\n};\n\n/**\n * Basically `.startsWith` for arrays.\n *\n * @param searchKeys Array of strings to test against `inputString`.\n * @param inputString String on which search will be performed.\n * @returns `true` if `inputString` starts with one of keys, else `false`.\n */\nexport const startsWithOneOf = (searchKeys: string[], inputString: string): boolean => {\n const keyIndex = searchKeys.findIndex((key) => {\n return inputString.startsWith(key);\n });\n\n return keyIndex >= 0;\n};\n\nexport const isButton = isReactUIComponent<ButtonProps>('Button');\nexport const isInput = isReactUIComponent<InputProps>('Input');\nexport const isFxInput = isReactUIComponent<FxInputProps>('FxInput');\nexport const isAutocomplete = isReactUIComponent<AutocompleteProps>('Autocomplete');\nexport const isPasswordInput = isReactUIComponent<PasswordInputProps>('PasswordInput');\nexport const isCurrencyInput = isReactUIComponent<CurrencyInputProps>('CurrencyInput');\nexport const isSelect = isReactUIComponent<SelectProps<unknown, unknown>>('Select');\nexport const isDropdown = isReactUIComponent<DropdownProps>('Dropdown');\nexport const isDropdownMenu = isReactUIComponent<DropdownMenuProps>('DropdownMenu');\nexport const isHint = isReactUIComponent<HintProps>('Hint');\nexport const isTooltip = isReactUIComponent<TooltipProps>('Tooltip');\n\nexport const isKonturIcon = (icon: React.ReactElement): boolean => {\n return Object.prototype.hasOwnProperty.call(icon?.type, '__KONTUR_ICON__');\n};\n\nexport function clickOutside(eventType: 'touchstart' | 'mousedown' | 'pointerup' = 'mousedown'): void {\n const event = document.createEvent('HTMLEvents');\n event.initEvent(eventType, true, true);\n document.body.dispatchEvent(event);\n}\n\nexport function isElement(el: unknown): el is Element {\n return !!el && typeof el === 'object' && 'nodeType' in el && el.nodeType === Node.ELEMENT_NODE;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skbkontur/react-ui",
3
- "version": "6.1.4-eef21.0",
3
+ "version": "6.1.4-ff219.0",
4
4
  "description": "UI Components",
5
5
  "homepage": "https://tech.skbkontur.ru/kontur-ui",
6
6
  "bugs": {
@@ -82,6 +82,9 @@
82
82
  "./components/MaskedInput/ColorableInputElement/ColorableInputElement": "./components/MaskedInput/ColorableInputElement/ColorableInputElement.js",
83
83
  "./components/MaskedInput": "./components/MaskedInput/index.js",
84
84
  "./components/MaskedInput/MaskedInput": "./components/MaskedInput/MaskedInput.js",
85
+ "./components/MaskedInputV2": "./components/MaskedInputV2/index.js",
86
+ "./components/MaskedInputV2/react-imask/imask": "./components/MaskedInputV2/react-imask/imask/index.js",
87
+ "./components/MaskedInputV2/react-imask": "./components/MaskedInputV2/react-imask/index.js",
85
88
  "./components/MenuFooter": "./components/MenuFooter/index.js",
86
89
  "./components/MenuFooter/MenuFooter": "./components/MenuFooter/MenuFooter.js",
87
90
  "./components/MenuHeader": "./components/MenuHeader/index.js",
@@ -146,8 +149,6 @@
146
149
  "./components/Tabs/Tab": "./components/Tabs/Tab.js",
147
150
  "./components/Textarea": "./components/Textarea/index.js",
148
151
  "./components/Textarea/Textarea": "./components/Textarea/Textarea.js",
149
- "./components/TimePicker": "./components/TimePicker/index.js",
150
- "./components/TimePicker/TimePicker": "./components/TimePicker/TimePicker.js",
151
152
  "./components/Toast": "./components/Toast/index.js",
152
153
  "./components/Toast/Toast": "./components/Toast/Toast.js",
153
154
  "./components/Toast/locale": "./components/Toast/locale/index.js",
@@ -199,8 +200,6 @@
199
200
  "./internal/MobilePopup/MobilePopup": "./internal/MobilePopup/MobilePopup.js",
200
201
  "./internal/NativeDateInput": "./internal/NativeDateInput/index.js",
201
202
  "./internal/NativeDateInput/NativeDateInput": "./internal/NativeDateInput/NativeDateInput.js",
202
- "./internal/NativeTimeInput": "./internal/NativeTimeInput/index.js",
203
- "./internal/NativeTimeInput/NativeTimeInput": "./internal/NativeTimeInput/NativeTimeInput.js",
204
203
  "./internal/Popup": "./internal/Popup/index.js",
205
204
  "./internal/Popup/Popup": "./internal/Popup/Popup.js",
206
205
  "./internal/PopupMenu": "./internal/PopupMenu/index.js",
@@ -1,3 +0,0 @@
1
- export declare const TimeClockIcon: import("../../lib/forwardRefAndName.js").ReactUIIconWithRef<SVGSVGElement, Omit<import("../../internal/icons2022/BaseIcon.js").IconProps, "size"> & {
2
- size?: import("../../internal/icons2022/BaseIcon.js").IconProps["size"] | import("../../internal/icons2022/iconConstants.js").IconSizeAliases;
3
- }>;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import { iconSizer } from '../../internal/icons2022/iconSizer.js';
3
- import { TimeClockIcon16Light } from '../../internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js';
4
- import { TimeClockIcon20Light } from '../../internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js';
5
- import { TimeClockIcon24Regular } from '../../internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js';
6
- export var TimeClockIcon = iconSizer({
7
- small: function () { return React.createElement(TimeClockIcon16Light, null); },
8
- medium: function () { return React.createElement(TimeClockIcon20Light, null); },
9
- large: function () { return React.createElement(TimeClockIcon24Regular, null); },
10
- }, 'TimeClockIcon');
11
- //# sourceMappingURL=TimeClockIcon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeClockIcon.js","sourceRoot":"","sources":["TimeClockIcon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gEAAgE,CAAC;AACtG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gEAAgE,CAAC;AACtG,OAAO,EAAE,sBAAsB,EAAE,MAAM,kEAAkE,CAAC;AAE1G,MAAM,CAAC,IAAM,aAAa,GAAG,SAAS,CACpC;IACE,KAAK,EAAE,cAAM,OAAA,oBAAC,oBAAoB,OAAG,EAAxB,CAAwB;IACrC,MAAM,EAAE,cAAM,OAAA,oBAAC,oBAAoB,OAAG,EAAxB,CAAwB;IACtC,KAAK,EAAE,cAAM,OAAA,oBAAC,sBAAsB,OAAG,EAA1B,CAA0B;CACxC,EACD,eAAe,CAChB,CAAC","sourcesContent":["import React from 'react';\n\nimport { iconSizer } from '../../internal/icons2022/iconSizer.js';\nimport { TimeClockIcon16Light } from '../../internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js';\nimport { TimeClockIcon20Light } from '../../internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js';\nimport { TimeClockIcon24Regular } from '../../internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js';\n\nexport const TimeClockIcon = iconSizer(\n {\n small: () => <TimeClockIcon16Light />,\n medium: () => <TimeClockIcon20Light />,\n large: () => <TimeClockIcon24Regular />,\n },\n 'TimeClockIcon',\n);\n"]}
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import type { SizeProp } from '../../lib/types/props.js';
3
- import type { TimeFormat, TimeSegment } from './helpers/TimePicker.shared.js';
4
- export interface TimeFragmentsViewRef {
5
- isFragment(el: HTMLElement | EventTarget | null): boolean;
6
- getSegment(el: HTMLElement | EventTarget | null): TimeSegment | null;
7
- getRootNode(): HTMLSpanElement | null;
8
- }
9
- export interface TimeFragmentsViewProps {
10
- value: string;
11
- format: TimeFormat;
12
- size: SizeProp;
13
- onSelectSegment?(segment: TimeSegment, event: React.MouseEvent<HTMLSpanElement>): void;
14
- }
15
- export declare const TimeFragmentsView: import("../../lib/forwardRefAndName.js").ReactUIComponentWithRef<TimeFragmentsViewRef, TimeFragmentsViewProps> & Record<never, never>;
@@ -1,72 +0,0 @@
1
- import React, { useCallback, useContext, useImperativeHandle, useRef } from 'react';
2
- import { forwardRefAndName } from '../../lib/forwardRefAndName.js';
3
- import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
4
- import { ThemeContext } from '../../lib/theming/ThemeContext.js';
5
- import { TIME_PLACEHOLDER_CHAR, TIME_SEPARATOR } from './helpers/TimePicker.constants.js';
6
- import { getDisplaySegments, getTimeSegments } from './helpers/TimePicker.shared.js';
7
- import { getStyles } from './TimeFragmentsView.styles.js';
8
- var getSeparatorSizeClassName = function (styles, theme, size) {
9
- switch (size) {
10
- case 'large':
11
- return styles.separatorLarge(theme);
12
- case 'medium':
13
- return styles.separatorMedium(theme);
14
- case 'small':
15
- default:
16
- return styles.separatorSmall(theme);
17
- }
18
- };
19
- export var TimeFragmentsView = forwardRefAndName('TimeFragmentsView', function (props, ref) {
20
- var value = props.value, format = props.format, size = props.size, onSelectSegment = props.onSelectSegment;
21
- var theme = useContext(ThemeContext);
22
- var cx = useEmotion().cx;
23
- var styles = useStyles(getStyles);
24
- var rootRef = useRef(null);
25
- var rootClassName = cx(styles.root(), styles.selected(theme));
26
- var maskClassName = styles.mask(theme);
27
- var separatorSizeClassName = getSeparatorSizeClassName(styles, theme, size);
28
- var getSegment = useCallback(function (el) {
29
- var _a;
30
- var rootNode = rootRef.current;
31
- if (!rootNode || !el) {
32
- return null;
33
- }
34
- var fragments = Array.from(rootNode.querySelectorAll('[data-fragment]'));
35
- var segments = getTimeSegments(format);
36
- var index = fragments.findIndex(function (fragment) { return fragment === el || fragment.contains(el); });
37
- return index >= 0 ? ((_a = segments[index]) !== null && _a !== void 0 ? _a : null) : null;
38
- }, [format]);
39
- var isFragment = useCallback(function (el) {
40
- return getSegment(el) !== null;
41
- }, [getSegment]);
42
- useImperativeHandle(ref, function () { return ({
43
- isFragment: isFragment,
44
- getSegment: getSegment,
45
- getRootNode: function () { return rootRef.current; },
46
- }); }, [getSegment, isFragment]);
47
- var segments = getTimeSegments(format);
48
- var displaySegments = getDisplaySegments(value, format);
49
- return (React.createElement("span", { ref: rootRef, className: rootClassName }, value
50
- ? segments.flatMap(function (segment, index) {
51
- var _a;
52
- var _b;
53
- var segmentValue = (_b = displaySegments[index]) !== null && _b !== void 0 ? _b : '';
54
- var valueMask = Array.from(segmentValue)
55
- .filter(function (char) { return char !== TIME_PLACEHOLDER_CHAR; })
56
- .join('');
57
- var placeholderLength = segmentValue.length - valueMask.length;
58
- var nodes = [
59
- React.createElement("span", { key: segment, "data-fragment": '', className: styles.segment(), onMouseUp: function (event) { return onSelectSegment === null || onSelectSegment === void 0 ? void 0 : onSelectSegment(segment, event); } },
60
- valueMask,
61
- React.createElement("span", { className: maskClassName }, Array(placeholderLength).fill(TIME_PLACEHOLDER_CHAR).join(''))),
62
- ];
63
- if (index < segments.length - 1) {
64
- nodes.push(React.createElement("span", { key: "separator-".concat(index), className: cx(maskClassName, styles.separator(), separatorSizeClassName, (_a = {},
65
- _a[styles.separatorFilled()] = !segmentValue.includes(TIME_PLACEHOLDER_CHAR),
66
- _a)) }, TIME_SEPARATOR));
67
- }
68
- return nodes;
69
- })
70
- : null));
71
- });
72
- //# sourceMappingURL=TimeFragmentsView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeFragmentsView.js","sourceRoot":"","sources":["TimeFragmentsView.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useImperativeHandle, useRef } from 'react';\n\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport type { SizeProp } from '../../lib/types/props.js';\nimport { TIME_PLACEHOLDER_CHAR, TIME_SEPARATOR } from './helpers/TimePicker.constants.js';\nimport type { TimeFormat, TimeSegment } from './helpers/TimePicker.shared.js';\nimport { getDisplaySegments, getTimeSegments } from './helpers/TimePicker.shared.js';\nimport { getStyles } from './TimeFragmentsView.styles.js';\n\nexport interface TimeFragmentsViewRef {\n isFragment(el: HTMLElement | EventTarget | null): boolean;\n\n getSegment(el: HTMLElement | EventTarget | null): TimeSegment | null;\n\n getRootNode(): HTMLSpanElement | null;\n}\n\nexport interface TimeFragmentsViewProps {\n value: string;\n format: TimeFormat;\n size: SizeProp;\n\n onSelectSegment?(segment: TimeSegment, event: React.MouseEvent<HTMLSpanElement>): void;\n}\n\nconst getSeparatorSizeClassName = (styles: ReturnType<typeof getStyles>, theme: Theme, size: SizeProp): string => {\n switch (size) {\n case 'large':\n return styles.separatorLarge(theme);\n case 'medium':\n return styles.separatorMedium(theme);\n case 'small':\n default:\n return styles.separatorSmall(theme);\n }\n};\n\nexport const TimeFragmentsView = forwardRefAndName<TimeFragmentsViewRef, TimeFragmentsViewProps>(\n 'TimeFragmentsView',\n (props, ref) => {\n const { value, format, size, onSelectSegment } = props;\n\n const theme = useContext(ThemeContext);\n\n const { cx } = useEmotion();\n\n const styles = useStyles(getStyles);\n\n const rootRef = useRef<HTMLSpanElement>(null);\n\n const rootClassName = cx(styles.root(), styles.selected(theme));\n const maskClassName = styles.mask(theme);\n const separatorSizeClassName = getSeparatorSizeClassName(styles, theme, size);\n\n const getSegment = useCallback(\n (el: HTMLElement | EventTarget | null): TimeSegment | null => {\n const rootNode = rootRef.current;\n\n if (!rootNode || !el) {\n return null;\n }\n\n const fragments: HTMLSpanElement[] = Array.from(rootNode.querySelectorAll('[data-fragment]'));\n const segments = getTimeSegments(format);\n\n const index = fragments.findIndex((fragment) => fragment === el || fragment.contains(el as HTMLSpanElement));\n\n return index >= 0 ? (segments[index] ?? null) : null;\n },\n [format],\n );\n\n const isFragment = useCallback(\n (el: HTMLElement | EventTarget | null): boolean => {\n return getSegment(el) !== null;\n },\n [getSegment],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n isFragment,\n getSegment,\n getRootNode: () => rootRef.current,\n }),\n [getSegment, isFragment],\n );\n\n const segments = getTimeSegments(format);\n const displaySegments = getDisplaySegments(value, format);\n\n return (\n <span ref={rootRef} className={rootClassName}>\n {value\n ? segments.flatMap((segment, index) => {\n const segmentValue = displaySegments[index] ?? '';\n\n const valueMask = Array.from(segmentValue)\n .filter((char) => char !== TIME_PLACEHOLDER_CHAR)\n .join('');\n\n const placeholderLength = segmentValue.length - valueMask.length;\n\n const nodes = [\n <span\n key={segment}\n data-fragment={''}\n className={styles.segment()}\n onMouseUp={(event) => onSelectSegment?.(segment, event)}\n >\n {valueMask}\n <span className={maskClassName}>{Array(placeholderLength).fill(TIME_PLACEHOLDER_CHAR).join('')}</span>\n </span>,\n ];\n\n if (index < segments.length - 1) {\n nodes.push(\n <span\n key={`separator-${index}`}\n className={cx(maskClassName, styles.separator(), separatorSizeClassName, {\n [styles.separatorFilled()]: !segmentValue.includes(TIME_PLACEHOLDER_CHAR),\n })}\n >\n {TIME_SEPARATOR}\n </span>,\n );\n }\n\n return nodes;\n })\n : null}\n </span>\n );\n },\n);\n"]}
@@ -1,12 +0,0 @@
1
- import type { Theme } from '../../lib/theming/Theme.js';
2
- export declare const getStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
3
- root(): string;
4
- selected(t: Theme): string;
5
- segment(): string;
6
- separator(): string;
7
- separatorSmall(t: Theme): string;
8
- separatorMedium(t: Theme): string;
9
- separatorLarge(t: Theme): string;
10
- mask(t: Theme): string;
11
- separatorFilled(): string;
12
- }>;
@@ -1,43 +0,0 @@
1
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
- return cooked;
4
- };
5
- import { memoizeGetStyles } from '../../lib/theming/Emotion.js';
6
- export var getStyles = memoizeGetStyles(function (_a) {
7
- var css = _a.css;
8
- return ({
9
- root: function () {
10
- return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n cursor: text;\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n "], ["\n cursor: text;\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n "])));
11
- },
12
- selected: function (t) {
13
- var getSelection = function (background, color) {
14
- return (background || color) &&
15
- "& ::selection {\n background: ".concat(background, ";\n color: ").concat(color, ";\n }");
16
- };
17
- return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n cursor: text;\n ", "\n "], ["\n cursor: text;\n ", "\n "])), getSelection(t.timePickerSelectedBgColor, t.timePickerSelectedTextColor));
18
- },
19
- segment: function () {
20
- return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n display: inline;\n font-variant-numeric: tabular-nums;\n white-space: pre;\n "], ["\n display: inline;\n font-variant-numeric: tabular-nums;\n white-space: pre;\n "])));
21
- },
22
- separator: function () {
23
- return css(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n display: inline;\n position: relative;\n "], ["\n display: inline;\n position: relative;\n "])));
24
- },
25
- separatorSmall: function (t) {
26
- return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n top: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "], ["\n top: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "])), t.timePickerSeparatorOffsetTopSmall, t.timePickerSeparatorPaddingXSmall, t.timePickerSeparatorPaddingXSmall);
27
- },
28
- separatorMedium: function (t) {
29
- return css(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n top: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "], ["\n top: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "])), t.timePickerSeparatorOffsetTopMedium, t.timePickerSeparatorPaddingXMedium, t.timePickerSeparatorPaddingXMedium);
30
- },
31
- separatorLarge: function (t) {
32
- return css(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n top: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "], ["\n top: ", ";\n padding-left: ", ";\n padding-right: ", ";\n "])), t.timePickerSeparatorOffsetTopLarge, t.timePickerSeparatorPaddingXLarge, t.timePickerSeparatorPaddingXLarge);
33
- },
34
- mask: function (t) {
35
- return css(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), t.timePickerMaskColor);
36
- },
37
- separatorFilled: function () {
38
- return css(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n color: inherit;\n "], ["\n color: inherit;\n "])));
39
- },
40
- });
41
- });
42
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9;
43
- //# sourceMappingURL=TimeFragmentsView.styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeFragmentsView.styles.js","sourceRoot":"","sources":["TimeFragmentsView.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGhE,MAAM,CAAC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QAC/D,IAAI;YACF,OAAO,GAAG,uKAAA,oGAIT,KAAC;QACJ,CAAC;QAED,QAAQ,YAAC,CAAQ;YACf,IAAM,YAAY,GAAG,UAAC,UAAkB,EAAE,KAAa;gBACrD,OAAA,CAAC,UAAU,IAAI,KAAK,CAAC;oBACrB,+CACgB,UAAU,+BACf,KAAK,eACd;YAJF,CAIE,CAAC;YAEL,OAAO,GAAG,4GAAA,+BAEN,EAAwE,QAC3E,KADG,YAAY,CAAC,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,2BAA2B,CAAC,EAC1E;QACJ,CAAC;QAED,OAAO;YACL,OAAO,GAAG,uKAAA,oGAIT,KAAC;QACJ,CAAC;QAED,SAAS;YACP,OAAO,GAAG,8HAAA,2DAGT,KAAC;QACJ,CAAC;QAED,cAAc,YAAC,CAAQ;YACrB,OAAO,GAAG,oJAAA,eACD,EAAmC,yBAC1B,EAAkC,0BACjC,EAAkC,SACpD,KAHQ,CAAC,CAAC,iCAAiC,EAC1B,CAAC,CAAC,gCAAgC,EACjC,CAAC,CAAC,gCAAgC,EACnD;QACJ,CAAC;QAED,eAAe,YAAC,CAAQ;YACtB,OAAO,GAAG,oJAAA,eACD,EAAoC,yBAC3B,EAAmC,0BAClC,EAAmC,SACrD,KAHQ,CAAC,CAAC,kCAAkC,EAC3B,CAAC,CAAC,iCAAiC,EAClC,CAAC,CAAC,iCAAiC,EACpD;QACJ,CAAC;QAED,cAAc,YAAC,CAAQ;YACrB,OAAO,GAAG,oJAAA,eACD,EAAmC,yBAC1B,EAAkC,0BACjC,EAAkC,SACpD,KAHQ,CAAC,CAAC,iCAAiC,EAC1B,CAAC,CAAC,gCAAgC,EACjC,CAAC,CAAC,gCAAgC,EACnD;QACJ,CAAC;QAED,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,+FAAA,iBACC,EAAqB,SAC/B,KADU,CAAC,CAAC,mBAAmB,EAC9B;QACJ,CAAC;QAED,eAAe;YACb,OAAO,GAAG,kGAAA,+BAET,KAAC;QACJ,CAAC;KACF,CAAC;AAzE8D,CAyE9D,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\nimport type { Theme } from '../../lib/theming/Theme.js';\n\nexport const getStyles = memoizeGetStyles(({ css }: Emotion) => ({\n root() {\n return css`\n cursor: text;\n font-variant-numeric: tabular-nums;\n white-space: nowrap;\n `;\n },\n\n selected(t: Theme) {\n const getSelection = (background: string, color: string) =>\n (background || color) &&\n `& ::selection {\n background: ${background};\n color: ${color};\n }`;\n\n return css`\n cursor: text;\n ${getSelection(t.timePickerSelectedBgColor, t.timePickerSelectedTextColor)}\n `;\n },\n\n segment() {\n return css`\n display: inline;\n font-variant-numeric: tabular-nums;\n white-space: pre;\n `;\n },\n\n separator() {\n return css`\n display: inline;\n position: relative;\n `;\n },\n\n separatorSmall(t: Theme) {\n return css`\n top: ${t.timePickerSeparatorOffsetTopSmall};\n padding-left: ${t.timePickerSeparatorPaddingXSmall};\n padding-right: ${t.timePickerSeparatorPaddingXSmall};\n `;\n },\n\n separatorMedium(t: Theme) {\n return css`\n top: ${t.timePickerSeparatorOffsetTopMedium};\n padding-left: ${t.timePickerSeparatorPaddingXMedium};\n padding-right: ${t.timePickerSeparatorPaddingXMedium};\n `;\n },\n\n separatorLarge(t: Theme) {\n return css`\n top: ${t.timePickerSeparatorOffsetTopLarge};\n padding-left: ${t.timePickerSeparatorPaddingXLarge};\n padding-right: ${t.timePickerSeparatorPaddingXLarge};\n `;\n },\n\n mask(t: Theme) {\n return css`\n color: ${t.timePickerMaskColor};\n `;\n },\n\n separatorFilled() {\n return css`\n color: inherit;\n `;\n },\n}));\n"]}
@@ -1,22 +0,0 @@
1
- import React from 'react';
2
- import type { InputProps } from '../Input/index.js';
3
- import { type TimeFormat, type TimeSegment } from './helpers/TimePicker.shared.js';
4
- export interface TimeInputRef {
5
- focus(): void;
6
- blur(): void;
7
- blink(): void;
8
- isFragment(el: HTMLElement | EventTarget | null): boolean;
9
- isAllSelected(): boolean;
10
- getSegment(el: HTMLElement | EventTarget | null): TimeSegment | null;
11
- selectSegment(segment: TimeSegment): void;
12
- selectAll(): void;
13
- getNode(): HTMLElement | null;
14
- }
15
- export interface TimeInputProps extends Omit<InputProps, 'type' | 'value' | 'onValueChange' | 'inputMode'> {
16
- hasDropdown?: boolean;
17
- format: TimeFormat;
18
- value: string;
19
- 'aria-placeholder'?: string;
20
- onSelectSegment?(segment: TimeSegment, event: React.MouseEvent<HTMLSpanElement>): void;
21
- }
22
- export declare const TimeInput: import("../../lib/forwardRefAndName.js").ReactUIComponentWithRef<TimeInputRef, TimeInputProps> & Record<never, never>;