@skbkontur/react-ui 6.1.4-4e59f.0 → 6.1.4-d7626.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 (294) hide show
  1. package/components/FxInput/FxInput.d.ts +1 -1
  2. package/components/FxInput/FxInput.js.map +1 -1
  3. package/components/Group/Group.js +2 -3
  4. package/components/Group/Group.js.map +1 -1
  5. package/components/Input/Input.d.ts +1 -1
  6. package/components/Input/Input.js.map +1 -1
  7. package/components/MaskedInput/MaskedInput.d.ts +3 -2
  8. package/components/MaskedInput/MaskedInput.js +10 -126
  9. package/components/MaskedInput/MaskedInput.js.map +1 -1
  10. package/components/MaskedInput/MaskedInputLegacy.d.ts +3 -0
  11. package/components/MaskedInput/MaskedInputLegacy.js +142 -0
  12. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -0
  13. package/components/MaskedInputV2/MaskedInputV2.d.ts +58 -0
  14. package/components/MaskedInputV2/MaskedInputV2.helpers.d.ts +9 -0
  15. package/components/MaskedInputV2/MaskedInputV2.helpers.js +17 -0
  16. package/components/MaskedInputV2/MaskedInputV2.helpers.js.map +1 -0
  17. package/components/MaskedInputV2/MaskedInputV2.js +286 -0
  18. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -0
  19. package/{internal/TimeInput/TimeInput.styles.d.ts → components/MaskedInputV2/MaskedInputV2.styles.d.ts} +4 -3
  20. package/components/MaskedInputV2/MaskedInputV2.styles.js +19 -0
  21. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -0
  22. package/components/MaskedInputV2/index.d.ts +1 -0
  23. package/components/MaskedInputV2/index.js +2 -0
  24. package/components/MaskedInputV2/index.js.map +1 -0
  25. package/components/MaskedInputV2/internal/MaskOverlay.d.ts +19 -0
  26. package/components/MaskedInputV2/internal/MaskOverlay.js +54 -0
  27. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -0
  28. package/components/MaskedInputV2/internal/MaskedCore.d.ts +8 -0
  29. package/components/MaskedInputV2/internal/MaskedCore.js +126 -0
  30. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -0
  31. package/components/MaskedInputV2/internal/MaskedCore.types.d.ts +32 -0
  32. package/components/MaskedInputV2/internal/MaskedCore.types.js +2 -0
  33. package/components/MaskedInputV2/internal/MaskedCore.types.js.map +1 -0
  34. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +15 -0
  35. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +34 -0
  36. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -0
  37. package/components/MaskedInputV2/internal/buildSlotMap.d.ts +11 -0
  38. package/components/MaskedInputV2/internal/buildSlotMap.js +37 -0
  39. package/components/MaskedInputV2/internal/buildSlotMap.js.map +1 -0
  40. package/components/MaskedInputV2/internal/computeMaskAlignPadding.d.ts +6 -0
  41. package/components/MaskedInputV2/internal/computeMaskAlignPadding.js +47 -0
  42. package/components/MaskedInputV2/internal/computeMaskAlignPadding.js.map +1 -0
  43. package/components/MaskedInputV2/internal/computePasteMaskedCursor.d.ts +3 -0
  44. package/components/MaskedInputV2/internal/computePasteMaskedCursor.js +11 -0
  45. package/components/MaskedInputV2/internal/computePasteMaskedCursor.js.map +1 -0
  46. package/components/MaskedInputV2/internal/extractRaw.d.ts +10 -0
  47. package/components/MaskedInputV2/internal/extractRaw.js +16 -0
  48. package/components/MaskedInputV2/internal/extractRaw.js.map +1 -0
  49. package/components/MaskedInputV2/internal/findNearestRawLeft.d.ts +10 -0
  50. package/components/MaskedInputV2/internal/findNearestRawLeft.js +18 -0
  51. package/components/MaskedInputV2/internal/findNearestRawLeft.js.map +1 -0
  52. package/components/MaskedInputV2/internal/helpers.d.ts +8 -0
  53. package/components/MaskedInputV2/internal/helpers.js +9 -0
  54. package/components/MaskedInputV2/internal/helpers.js.map +1 -0
  55. package/components/MaskedInputV2/internal/maskedCoreClipboard.d.ts +25 -0
  56. package/components/MaskedInputV2/internal/maskedCoreClipboard.js +30 -0
  57. package/components/MaskedInputV2/internal/maskedCoreClipboard.js.map +1 -0
  58. package/components/MaskedInputV2/internal/maskedCoreDeletion.d.ts +28 -0
  59. package/components/MaskedInputV2/internal/maskedCoreDeletion.js +70 -0
  60. package/components/MaskedInputV2/internal/maskedCoreDeletion.js.map +1 -0
  61. package/components/MaskedInputV2/internal/maskedCoreInputChange.d.ts +35 -0
  62. package/components/MaskedInputV2/internal/maskedCoreInputChange.js +31 -0
  63. package/components/MaskedInputV2/internal/maskedCoreInputChange.js.map +1 -0
  64. package/components/MaskedInputV2/internal/maskedCoreNavigation.d.ts +13 -0
  65. package/components/MaskedInputV2/internal/maskedCoreNavigation.js +79 -0
  66. package/components/MaskedInputV2/internal/maskedCoreNavigation.js.map +1 -0
  67. package/components/MaskedInputV2/internal/measureInputTextWidth.d.ts +2 -0
  68. package/components/MaskedInputV2/internal/measureInputTextWidth.js +30 -0
  69. package/components/MaskedInputV2/internal/measureInputTextWidth.js.map +1 -0
  70. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.d.ts +2 -0
  71. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js +25 -0
  72. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js.map +1 -0
  73. package/components/MaskedInputV2/internal/showOverlay.d.ts +3 -0
  74. package/components/MaskedInputV2/internal/showOverlay.js +16 -0
  75. package/components/MaskedInputV2/internal/showOverlay.js.map +1 -0
  76. package/components/MaskedInputV2/internal/stripMaskChars.d.ts +11 -0
  77. package/components/MaskedInputV2/internal/stripMaskChars.js +20 -0
  78. package/components/MaskedInputV2/internal/stripMaskChars.js.map +1 -0
  79. package/components/MaskedInputV2/internal/types.d.ts +74 -0
  80. package/components/MaskedInputV2/internal/types.js.map +1 -0
  81. package/components/MaskedInputV2/internal/useInputOverflow.d.ts +4 -0
  82. package/components/MaskedInputV2/internal/useInputOverflow.js +34 -0
  83. package/components/MaskedInputV2/internal/useInputOverflow.js.map +1 -0
  84. package/components/MaskedInputV2/internal/useMaskAlignPadding.d.ts +2 -0
  85. package/components/MaskedInputV2/internal/useMaskAlignPadding.js +33 -0
  86. package/components/MaskedInputV2/internal/useMaskAlignPadding.js.map +1 -0
  87. package/components/MaskedInputV2/internal/useMaskEngine.d.ts +42 -0
  88. package/components/MaskedInputV2/internal/useMaskEngine.js +82 -0
  89. package/components/MaskedInputV2/internal/useMaskEngine.js.map +1 -0
  90. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.d.ts +33 -0
  91. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js +244 -0
  92. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js.map +1 -0
  93. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.d.ts +16 -0
  94. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js +59 -0
  95. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js.map +1 -0
  96. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.d.ts +20 -0
  97. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js +106 -0
  98. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js.map +1 -0
  99. package/components/MaskedInputV2/react-imask/imask/controls/input-history.d.ts +17 -0
  100. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js +49 -0
  101. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js.map +1 -0
  102. package/components/MaskedInputV2/react-imask/imask/controls/input.d.ts +95 -0
  103. package/components/MaskedInputV2/react-imask/imask/controls/input.js +420 -0
  104. package/components/MaskedInputV2/react-imask/imask/controls/input.js.map +1 -0
  105. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.d.ts +30 -0
  106. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js +59 -0
  107. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js.map +1 -0
  108. package/components/MaskedInputV2/react-imask/imask/core/action-details.d.ts +30 -0
  109. package/components/MaskedInputV2/react-imask/imask/core/action-details.js +100 -0
  110. package/components/MaskedInputV2/react-imask/imask/core/action-details.js.map +1 -0
  111. package/components/MaskedInputV2/react-imask/imask/core/change-details.d.ts +20 -0
  112. package/components/MaskedInputV2/react-imask/imask/core/change-details.js +46 -0
  113. package/components/MaskedInputV2/react-imask/imask/core/change-details.js.map +1 -0
  114. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.d.ts +21 -0
  115. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js +52 -0
  116. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js.map +1 -0
  117. package/components/MaskedInputV2/react-imask/imask/core/holder.d.ts +34 -0
  118. package/components/MaskedInputV2/react-imask/imask/core/holder.js +38 -0
  119. package/components/MaskedInputV2/react-imask/imask/core/holder.js.map +1 -0
  120. package/components/MaskedInputV2/react-imask/imask/core/tail-details.d.ts +20 -0
  121. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js +2 -0
  122. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js.map +1 -0
  123. package/components/MaskedInputV2/react-imask/imask/core/utils.d.ts +24 -0
  124. package/components/MaskedInputV2/react-imask/imask/core/utils.js +100 -0
  125. package/components/MaskedInputV2/react-imask/imask/core/utils.js.map +1 -0
  126. package/components/MaskedInputV2/react-imask/imask/imask.d.ts +5 -0
  127. package/components/MaskedInputV2/react-imask/imask/imask.js +7 -0
  128. package/components/MaskedInputV2/react-imask/imask/imask.js.map +1 -0
  129. package/components/MaskedInputV2/react-imask/imask/index.d.ts +17 -0
  130. package/components/MaskedInputV2/react-imask/imask/index.js +16 -0
  131. package/components/MaskedInputV2/react-imask/imask/index.js.map +1 -0
  132. package/components/MaskedInputV2/react-imask/imask/masked/base.d.ts +114 -0
  133. package/components/MaskedInputV2/react-imask/imask/masked/base.js +411 -0
  134. package/components/MaskedInputV2/react-imask/imask/masked/base.js.map +1 -0
  135. package/components/MaskedInputV2/react-imask/imask/masked/factory.d.ts +62 -0
  136. package/components/MaskedInputV2/react-imask/imask/masked/factory.js +96 -0
  137. package/components/MaskedInputV2/react-imask/imask/masked/factory.js.map +1 -0
  138. package/components/MaskedInputV2/react-imask/imask/masked/pattern.d.ts +101 -0
  139. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js +543 -0
  140. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js.map +1 -0
  141. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.d.ts +30 -0
  142. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js +2 -0
  143. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js.map +1 -0
  144. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.d.ts +21 -0
  145. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js +180 -0
  146. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js.map +1 -0
  147. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.d.ts +31 -0
  148. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js +163 -0
  149. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js.map +1 -0
  150. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.d.ts +42 -0
  151. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js +158 -0
  152. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js.map +1 -0
  153. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.d.ts +56 -0
  154. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js +185 -0
  155. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js.map +1 -0
  156. package/components/MaskedInputV2/react-imask/imask/masked/regexp.d.ts +17 -0
  157. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js +36 -0
  158. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js.map +1 -0
  159. package/components/MaskedInputV2/react-imask/index.d.ts +3 -0
  160. package/components/MaskedInputV2/react-imask/index.js +4 -0
  161. package/components/MaskedInputV2/react-imask/index.js.map +1 -0
  162. package/components/MaskedInputV2/react-imask/input.d.ts +8 -0
  163. package/components/MaskedInputV2/react-imask/input.js +35 -0
  164. package/components/MaskedInputV2/react-imask/input.js.map +1 -0
  165. package/components/MaskedInputV2/react-imask/mixin.d.ts +31 -0
  166. package/components/MaskedInputV2/react-imask/mixin.js +246 -0
  167. package/components/MaskedInputV2/react-imask/mixin.js.map +1 -0
  168. package/components/TokenInput/TokenInput.d.ts +7 -3
  169. package/components/TokenInput/TokenInput.js +0 -1
  170. package/components/TokenInput/TokenInput.js.map +1 -1
  171. package/index.d.ts +0 -1
  172. package/index.js +0 -1
  173. package/index.js.map +1 -1
  174. package/internal/themes/BasicTheme.d.ts +0 -34
  175. package/internal/themes/BasicTheme.js +0 -96
  176. package/internal/themes/BasicTheme.js.map +1 -1
  177. package/lib/events/keyboard/KeyboardEventCodes.d.ts +2 -0
  178. package/lib/events/keyboard/KeyboardEventCodes.js +2 -0
  179. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  180. package/lib/events/keyboard/KeyboardMapKeys.js +2 -0
  181. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  182. package/lib/events/keyboard/identifiers.d.ts +2 -0
  183. package/lib/events/keyboard/identifiers.js +6 -0
  184. package/lib/events/keyboard/identifiers.js.map +1 -1
  185. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +2 -0
  186. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -0
  187. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  188. package/lib/locale/types.d.ts +0 -2
  189. package/lib/locale/types.js.map +1 -1
  190. package/lib/utils.d.ts +0 -2
  191. package/lib/utils.js +0 -1
  192. package/lib/utils.js.map +1 -1
  193. package/package.json +4 -9
  194. package/components/TimePicker/TimeClockIcon.d.ts +0 -3
  195. package/components/TimePicker/TimeClockIcon.js +0 -11
  196. package/components/TimePicker/TimeClockIcon.js.map +0 -1
  197. package/components/TimePicker/TimePicker.d.ts +0 -79
  198. package/components/TimePicker/TimePicker.js +0 -513
  199. package/components/TimePicker/TimePicker.js.map +0 -1
  200. package/components/TimePicker/TimePicker.styles.d.ts +0 -11
  201. package/components/TimePicker/TimePicker.styles.js +0 -36
  202. package/components/TimePicker/TimePicker.styles.js.map +0 -1
  203. package/components/TimePicker/TimePickerItems.d.ts +0 -17
  204. package/components/TimePicker/TimePickerItems.js +0 -80
  205. package/components/TimePicker/TimePickerItems.js.map +0 -1
  206. package/components/TimePicker/TimePickerMobilePopup.d.ts +0 -38
  207. package/components/TimePicker/TimePickerMobilePopup.js +0 -21
  208. package/components/TimePicker/TimePickerMobilePopup.js.map +0 -1
  209. package/components/TimePicker/TimePickerPopup.d.ts +0 -20
  210. package/components/TimePicker/TimePickerPopup.js +0 -18
  211. package/components/TimePicker/TimePickerPopup.js.map +0 -1
  212. package/components/TimePicker/helpers/TimePicker.constants.d.ts +0 -22
  213. package/components/TimePicker/helpers/TimePicker.constants.js +0 -31
  214. package/components/TimePicker/helpers/TimePicker.constants.js.map +0 -1
  215. package/components/TimePicker/helpers/TimePicker.editing.d.ts +0 -23
  216. package/components/TimePicker/helpers/TimePicker.editing.js +0 -101
  217. package/components/TimePicker/helpers/TimePicker.editing.js.map +0 -1
  218. package/components/TimePicker/helpers/TimePicker.layout.d.ts +0 -6
  219. package/components/TimePicker/helpers/TimePicker.layout.js +0 -49
  220. package/components/TimePicker/helpers/TimePicker.layout.js.map +0 -1
  221. package/components/TimePicker/helpers/TimePicker.selection.d.ts +0 -5
  222. package/components/TimePicker/helpers/TimePicker.selection.js +0 -23
  223. package/components/TimePicker/helpers/TimePicker.selection.js.map +0 -1
  224. package/components/TimePicker/helpers/TimePicker.shared.d.ts +0 -47
  225. package/components/TimePicker/helpers/TimePicker.shared.js +0 -70
  226. package/components/TimePicker/helpers/TimePicker.shared.js.map +0 -1
  227. package/components/TimePicker/helpers/TimePicker.value.d.ts +0 -30
  228. package/components/TimePicker/helpers/TimePicker.value.js +0 -96
  229. package/components/TimePicker/helpers/TimePicker.value.js.map +0 -1
  230. package/components/TimePicker/helpers/scrollSelectedItemIntoView.d.ts +0 -4
  231. package/components/TimePicker/helpers/scrollSelectedItemIntoView.js +0 -24
  232. package/components/TimePicker/helpers/scrollSelectedItemIntoView.js.map +0 -1
  233. package/components/TimePicker/helpers/validateTimePicker.d.ts +0 -8
  234. package/components/TimePicker/helpers/validateTimePicker.js +0 -16
  235. package/components/TimePicker/helpers/validateTimePicker.js.map +0 -1
  236. package/components/TimePicker/hooks/useTimePickerDropdown.d.ts +0 -17
  237. package/components/TimePicker/hooks/useTimePickerDropdown.js +0 -62
  238. package/components/TimePicker/hooks/useTimePickerDropdown.js.map +0 -1
  239. package/components/TimePicker/hooks/useTimePickerSelection.d.ts +0 -18
  240. package/components/TimePicker/hooks/useTimePickerSelection.js +0 -66
  241. package/components/TimePicker/hooks/useTimePickerSelection.js.map +0 -1
  242. package/components/TimePicker/hooks/useTimePickerValue.d.ts +0 -18
  243. package/components/TimePicker/hooks/useTimePickerValue.js +0 -59
  244. package/components/TimePicker/hooks/useTimePickerValue.js.map +0 -1
  245. package/components/TimePicker/index.d.ts +0 -2
  246. package/components/TimePicker/index.js +0 -2
  247. package/components/TimePicker/index.js.map +0 -1
  248. package/components/TimePicker/locale/index.d.ts +0 -4
  249. package/components/TimePicker/locale/index.js +0 -9
  250. package/components/TimePicker/locale/index.js.map +0 -1
  251. package/components/TimePicker/locale/locales/en.d.ts +0 -2
  252. package/components/TimePicker/locale/locales/en.js +0 -5
  253. package/components/TimePicker/locale/locales/en.js.map +0 -1
  254. package/components/TimePicker/locale/locales/ru.d.ts +0 -2
  255. package/components/TimePicker/locale/locales/ru.js +0 -5
  256. package/components/TimePicker/locale/locales/ru.js.map +0 -1
  257. package/components/TimePicker/locale/types.d.ts +0 -4
  258. package/components/TimePicker/locale/types.js.map +0 -1
  259. package/internal/NativeTimeInput/NativeTimeInput.d.ts +0 -16
  260. package/internal/NativeTimeInput/NativeTimeInput.js +0 -25
  261. package/internal/NativeTimeInput/NativeTimeInput.js.map +0 -1
  262. package/internal/NativeTimeInput/NativeTimeInput.styles.d.ts +0 -3
  263. package/internal/NativeTimeInput/NativeTimeInput.styles.js +0 -15
  264. package/internal/NativeTimeInput/NativeTimeInput.styles.js.map +0 -1
  265. package/internal/NativeTimeInput/NativeTimeInput.utils.d.ts +0 -7
  266. package/internal/NativeTimeInput/NativeTimeInput.utils.js +0 -28
  267. package/internal/NativeTimeInput/NativeTimeInput.utils.js.map +0 -1
  268. package/internal/NativeTimeInput/index.d.ts +0 -1
  269. package/internal/NativeTimeInput/index.js +0 -2
  270. package/internal/NativeTimeInput/index.js.map +0 -1
  271. package/internal/TimeInput/TimeFragments.d.ts +0 -15
  272. package/internal/TimeInput/TimeFragments.js +0 -72
  273. package/internal/TimeInput/TimeFragments.js.map +0 -1
  274. package/internal/TimeInput/TimeFragments.styles.d.ts +0 -12
  275. package/internal/TimeInput/TimeFragments.styles.js +0 -43
  276. package/internal/TimeInput/TimeFragments.styles.js.map +0 -1
  277. package/internal/TimeInput/TimeInput.d.ts +0 -22
  278. package/internal/TimeInput/TimeInput.js +0 -103
  279. package/internal/TimeInput/TimeInput.js.map +0 -1
  280. package/internal/TimeInput/TimeInput.styles.js +0 -21
  281. package/internal/TimeInput/TimeInput.styles.js.map +0 -1
  282. package/internal/TimeInput/index.d.ts +0 -1
  283. package/internal/TimeInput/index.js +0 -2
  284. package/internal/TimeInput/index.js.map +0 -1
  285. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.d.ts +0 -2
  286. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js +0 -20
  287. package/internal/icons2022/TimeClockIcon/TimeClockIcon16Light.js.map +0 -1
  288. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.d.ts +0 -2
  289. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js +0 -20
  290. package/internal/icons2022/TimeClockIcon/TimeClockIcon20Light.js.map +0 -1
  291. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.d.ts +0 -2
  292. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js +0 -20
  293. package/internal/icons2022/TimeClockIcon/TimeClockIcon24Regular.js.map +0 -1
  294. /package/components/{TimePicker/locale → MaskedInputV2/internal}/types.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTimePickerValue.js","sourceRoot":"","sources":["useTimePickerValue.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RefObject } from 'react';\nimport { useCallback, useEffect, useRef, useState } from 'react';\n\nimport { EMPTY_VALUE } from '../helpers/TimePicker.constants.js';\nimport type { TimeFormat } from '../helpers/TimePicker.shared.js';\nimport {\n getTimeDisplayValue,\n isTimeDisplayEmpty,\n normalizeTimeValue,\n serializeTimeValue,\n} from '../helpers/TimePicker.value.js';\n\ninterface UseTimePickerValueOptions {\n isInputFocused: boolean;\n value?: string;\n format: TimeFormat;\n onValueChange?(value: string): void;\n}\n\ninterface UseTimePickerValueResult {\n editingValue: string;\n editingValueRef: RefObject<string>;\n setEditingValue(value: string): void;\n updateEditingValue(value: string): void;\n commitEditingValue(): string;\n clearEditingValue(): void;\n}\n\nexport const useTimePickerValue = (options: UseTimePickerValueOptions): UseTimePickerValueResult => {\n const { value, format, isInputFocused, onValueChange } = options;\n\n const externalValue = value ?? EMPTY_VALUE;\n const externalEditingValue = getTimeDisplayValue(externalValue, format);\n\n const [editingValue, setEditingValueState] = useState<string>(externalEditingValue);\n\n const editingValueRef = useRef(editingValue);\n const emittedValueRef = useRef(externalValue);\n\n const setEditingValue = useCallback((nextEditingValue: string) => {\n editingValueRef.current = nextEditingValue;\n setEditingValueState(nextEditingValue);\n }, []);\n\n const emitValue = useCallback(\n (nextValue: string) => {\n if (emittedValueRef.current !== nextValue) {\n emittedValueRef.current = nextValue;\n onValueChange?.(nextValue);\n }\n },\n [onValueChange],\n );\n\n const updateEditingValue = useCallback(\n (nextEditingValue: string) => {\n setEditingValue(nextEditingValue);\n emitValue(serializeTimeValue(nextEditingValue, format));\n },\n [emitValue, format, setEditingValue],\n );\n\n const clearEditingValue = useCallback(() => {\n setEditingValue(EMPTY_VALUE);\n }, [setEditingValue]);\n\n const commitEditingValue = useCallback((): string => {\n const currentEditingValue = editingValueRef.current;\n\n if (isTimeDisplayEmpty(currentEditingValue)) {\n clearEditingValue();\n return EMPTY_VALUE;\n }\n\n const nextValue = normalizeTimeValue(currentEditingValue, format);\n\n setEditingValue(nextValue);\n emitValue(nextValue);\n\n return nextValue;\n }, [clearEditingValue, editingValueRef, emitValue, format, setEditingValue]);\n\n useEffect(() => {\n if (!isInputFocused) {\n setEditingValue(externalEditingValue);\n } else if (externalValue !== emittedValueRef.current) {\n setEditingValue(externalEditingValue);\n }\n }, [externalEditingValue, externalValue, isInputFocused, setEditingValue]);\n\n useEffect(() => {\n emittedValueRef.current = externalValue;\n }, [externalValue]);\n\n return {\n editingValue,\n editingValueRef,\n setEditingValue,\n updateEditingValue,\n commitEditingValue,\n clearEditingValue,\n };\n};\n"]}
@@ -1,2 +0,0 @@
1
- export * from './TimePicker.js';
2
- export type { TimeFormat, TimeSegment, TimeItem } from './helpers/TimePicker.shared.js';
@@ -1,2 +0,0 @@
1
- export * from './TimePicker.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './TimePicker.js';\nexport type { TimeFormat, TimeSegment, TimeItem } from './helpers/TimePicker.shared.js';\n"]}
@@ -1,4 +0,0 @@
1
- import { LocaleHelper } from '../../../lib/locale/LocaleHelper.js';
2
- import type { TimePickerLocale } from './types.js';
3
- export * from './types.js';
4
- export declare const TimePickerLocaleHelper: LocaleHelper<TimePickerLocale>;
@@ -1,9 +0,0 @@
1
- import { LocaleHelper } from '../../../lib/locale/LocaleHelper.js';
2
- import { componentsLocales as en_GB } from './locales/en.js';
3
- import { componentsLocales as ru_RU } from './locales/ru.js';
4
- export * from './types.js';
5
- export var TimePickerLocaleHelper = new LocaleHelper({
6
- ru_RU: ru_RU,
7
- en_GB: en_GB,
8
- });
9
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,iBAAiB,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,IAAI,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAG7D,cAAc,YAAY,CAAC;AAE3B,MAAM,CAAC,IAAM,sBAAsB,GAAG,IAAI,YAAY,CAAmB;IACvE,KAAK,OAAA;IACL,KAAK,OAAA;CACN,CAAC,CAAC","sourcesContent":["import { LocaleHelper } from '../../../lib/locale/LocaleHelper.js';\nimport { componentsLocales as en_GB } from './locales/en.js';\nimport { componentsLocales as ru_RU } from './locales/ru.js';\nimport type { TimePickerLocale } from './types.js';\n\nexport * from './types.js';\n\nexport const TimePickerLocaleHelper = new LocaleHelper<TimePickerLocale>({\n ru_RU,\n en_GB,\n});\n"]}
@@ -1,2 +0,0 @@
1
- import type { TimePickerLocale } from '../types.js';
2
- export declare const componentsLocales: TimePickerLocale;
@@ -1,5 +0,0 @@
1
- export var componentsLocales = {
2
- ariaPlaceholderHHMM: 'hh:mm',
3
- ariaPlaceholderHHMMSS: 'hh:mm:ss',
4
- };
5
- //# sourceMappingURL=en.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"en.js","sourceRoot":"","sources":["en.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,iBAAiB,GAAqB;IACjD,mBAAmB,EAAE,OAAO;IAC5B,qBAAqB,EAAE,UAAU;CAClC,CAAC","sourcesContent":["import type { TimePickerLocale } from '../types.js';\n\nexport const componentsLocales: TimePickerLocale = {\n ariaPlaceholderHHMM: 'hh:mm',\n ariaPlaceholderHHMMSS: 'hh:mm:ss',\n};\n"]}
@@ -1,2 +0,0 @@
1
- import type { TimePickerLocale } from '../types.js';
2
- export declare const componentsLocales: TimePickerLocale;
@@ -1,5 +0,0 @@
1
- export var componentsLocales = {
2
- ariaPlaceholderHHMM: 'чч:мм',
3
- ariaPlaceholderHHMMSS: 'чч:мм:сс',
4
- };
5
- //# sourceMappingURL=ru.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ru.js","sourceRoot":"","sources":["ru.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,IAAM,iBAAiB,GAAqB;IACjD,mBAAmB,EAAE,OAAO;IAC5B,qBAAqB,EAAE,UAAU;CAClC,CAAC","sourcesContent":["import type { TimePickerLocale } from '../types.js';\n\nexport const componentsLocales: TimePickerLocale = {\n ariaPlaceholderHHMM: 'чч:мм',\n ariaPlaceholderHHMMSS: 'чч:мм:сс',\n};\n"]}
@@ -1,4 +0,0 @@
1
- export interface TimePickerLocale {
2
- ariaPlaceholderHHMM: string;
3
- ariaPlaceholderHHMMSS: string;
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"","sourcesContent":["export interface TimePickerLocale {\n ariaPlaceholderHHMM: string;\n ariaPlaceholderHHMMSS: string;\n}\n"]}
@@ -1,16 +0,0 @@
1
- import type { TimeFormat } from '../../components/TimePicker/index.js';
2
- import type { Nullable } from '../../typings/utility-types.js';
3
- export interface NativeTimeInputProps {
4
- 'data-tid'?: string;
5
- disabled?: boolean;
6
- format: TimeFormat;
7
- value: Nullable<string>;
8
- minTime?: Nullable<string>;
9
- maxTime?: Nullable<string>;
10
- onValueChange?(value: string): void;
11
- }
12
- export interface NativeTimeInputRef {
13
- focus(): void;
14
- click(): void;
15
- }
16
- export declare const NativeTimeInput: import("../../lib/forwardRefAndName.js").ReactUIComponentWithRef<NativeTimeInputRef, NativeTimeInputProps> & Record<never, never>;
@@ -1,25 +0,0 @@
1
- import React, { useImperativeHandle, useRef } from 'react';
2
- import { forwardRefAndName } from '../../lib/forwardRefAndName.js';
3
- import { useEmotion } from '../../lib/renderEnvironment/index.js';
4
- import { getJsStyles } from './NativeTimeInput.styles.js';
5
- import { getDefaultMaxTime, getDefaultMinTime, getNativeTimeStep, getTimeForComponent, getTimeForNative, } from './NativeTimeInput.utils.js';
6
- export var NativeTimeInput = forwardRefAndName('NativeTimeInput', function (props, ref) {
7
- var _a;
8
- var value = props.value, minTime = props.minTime, maxTime = props.maxTime, format = props.format, disabled = props.disabled, onValueChange = props.onValueChange, dataTid = props["data-tid"];
9
- var jsStyles = getJsStyles(useEmotion());
10
- var inputRef = useRef(null);
11
- useImperativeHandle(ref, function () { return ({
12
- focus: function () {
13
- var _a;
14
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
15
- },
16
- click: function () {
17
- var _a;
18
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click();
19
- },
20
- }); }, []);
21
- return (React.createElement("input", { type: 'time', "data-tid": dataTid, ref: inputRef, disabled: disabled, className: jsStyles.inputTypeTime(), tabIndex: -1, step: getNativeTimeStep(format), min: minTime ? getTimeForNative(minTime, format) : getDefaultMinTime(format), max: maxTime ? getTimeForNative(maxTime, format) : getDefaultMaxTime(format), value: (_a = getTimeForNative(value, format)) !== null && _a !== void 0 ? _a : '', onChange: function (event) {
22
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(getTimeForComponent(event.target.value, format));
23
- } }));
24
- });
25
- //# sourceMappingURL=NativeTimeInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NativeTimeInput.js","sourceRoot":"","sources":["NativeTimeInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAiBpC,MAAM,CAAC,IAAM,eAAe,GAAG,iBAAiB,CAC9C,iBAAiB,EACjB,UAAC,KAAK,EAAE,GAAG;;IACD,IAAA,KAAK,GAA6E,KAAK,MAAlF,EAAE,OAAO,GAAoE,KAAK,QAAzE,EAAE,OAAO,GAA2D,KAAK,QAAhE,EAAE,MAAM,GAAmD,KAAK,OAAxD,EAAE,QAAQ,GAAyC,KAAK,SAA9C,EAAE,aAAa,GAA0B,KAAK,cAA/B,EAAc,OAAO,GAAK,KAAK,YAAV,CAAW;IAEhG,IAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3C,IAAM,QAAQ,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAEvD,mBAAmB,CACjB,GAAG,EACH,cAAM,OAAA,CAAC;QACL,KAAK;;YACH,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK;;YACH,MAAA,QAAQ,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;KACF,CAAC,EAPI,CAOJ,EACF,EAAE,CACH,CAAC;IAEF,OAAO,CACL,+BACE,IAAI,EAAE,MAAM,cACF,OAAO,EACjB,GAAG,EAAE,QAAQ,EACb,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,QAAQ,CAAC,aAAa,EAAE,EACnC,QAAQ,EAAE,CAAC,CAAC,EACZ,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAC/B,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC5E,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAC5E,KAAK,EAAE,MAAA,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,mCAAI,EAAE,EAC5C,QAAQ,EAAE,UAAC,KAAK;YACd,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QACnE,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CACF,CAAC","sourcesContent":["import React, { useImperativeHandle, useRef } from 'react';\n\nimport type { TimeFormat } from '../../components/TimePicker/index.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion } from '../../lib/renderEnvironment/index.js';\nimport type { Nullable } from '../../typings/utility-types.js';\nimport { getJsStyles } from './NativeTimeInput.styles.js';\nimport {\n getDefaultMaxTime,\n getDefaultMinTime,\n getNativeTimeStep,\n getTimeForComponent,\n getTimeForNative,\n} from './NativeTimeInput.utils.js';\n\nexport interface NativeTimeInputProps {\n 'data-tid'?: string;\n disabled?: boolean;\n format: TimeFormat;\n value: Nullable<string>;\n minTime?: Nullable<string>;\n maxTime?: Nullable<string>;\n onValueChange?(value: string): void;\n}\n\nexport interface NativeTimeInputRef {\n focus(): void;\n click(): void;\n}\n\nexport const NativeTimeInput = forwardRefAndName<NativeTimeInputRef, NativeTimeInputProps>(\n 'NativeTimeInput',\n (props, ref) => {\n const { value, minTime, maxTime, format, disabled, onValueChange, 'data-tid': dataTid } = props;\n\n const jsStyles = getJsStyles(useEmotion());\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus() {\n inputRef.current?.focus();\n },\n click() {\n inputRef.current?.click();\n },\n }),\n [],\n );\n\n return (\n <input\n type={'time'}\n data-tid={dataTid}\n ref={inputRef}\n disabled={disabled}\n className={jsStyles.inputTypeTime()}\n tabIndex={-1}\n step={getNativeTimeStep(format)}\n min={minTime ? getTimeForNative(minTime, format) : getDefaultMinTime(format)}\n max={maxTime ? getTimeForNative(maxTime, format) : getDefaultMaxTime(format)}\n value={getTimeForNative(value, format) ?? ''}\n onChange={(event) => {\n onValueChange?.(getTimeForComponent(event.target.value, format));\n }}\n />\n );\n },\n);\n"]}
@@ -1,3 +0,0 @@
1
- export declare const getJsStyles: import("../../lib/theming/Emotion.js").StylesGetter<{
2
- inputTypeTime(): string;
3
- }>;
@@ -1,15 +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 getJsStyles = memoizeGetStyles(function (_a) {
7
- var css = _a.css;
8
- return ({
9
- inputTypeTime: function () {
10
- return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: 0;\n height: 0;\n padding: 0;\n margin: 0;\n line-height: 0;\n transform: scale(0);\n border: none;\n overflow: hidden;\n opacity: 0;\n "], ["\n width: 0;\n height: 0;\n padding: 0;\n margin: 0;\n line-height: 0;\n transform: scale(0);\n border: none;\n overflow: hidden;\n opacity: 0;\n "])));
11
- },
12
- });
13
- });
14
- var templateObject_1;
15
- //# sourceMappingURL=NativeTimeInput.styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NativeTimeInput.styles.js","sourceRoot":"","sources":["NativeTimeInput.styles.ts"],"names":[],"mappings":";;;;AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,CAAC,IAAM,WAAW,GAAG,gBAAgB,CAAC,UAAC,EAAgB;QAAd,GAAG,SAAA;IAAgB,OAAA,CAAC;QACjE,aAAa;YACX,OAAO,GAAG,uQAAA,oMAUT,KAAC;QACJ,CAAC;KACF,CAAC;AAdgE,CAchE,CAAC,CAAC","sourcesContent":["import type { Emotion } from '@emotion/css/create-instance';\n\nimport { memoizeGetStyles } from '../../lib/theming/Emotion.js';\n\nexport const getJsStyles = memoizeGetStyles(({ css }: Emotion) => ({\n inputTypeTime() {\n return css`\n width: 0;\n height: 0;\n padding: 0;\n margin: 0;\n line-height: 0;\n transform: scale(0);\n border: none;\n overflow: hidden;\n opacity: 0;\n `;\n },\n}));\n"]}
@@ -1,7 +0,0 @@
1
- import type { TimeFormat } from '../../components/TimePicker/index.js';
2
- import type { Nullable } from '../../typings/utility-types.js';
3
- export declare const getTimeForNative: (componentTime: Nullable<string>, format: TimeFormat) => string | undefined;
4
- export declare const getTimeForComponent: (nativeTime: Nullable<string>, format: TimeFormat) => string;
5
- export declare const getDefaultMinTime: (format: TimeFormat) => string;
6
- export declare const getDefaultMaxTime: (format: TimeFormat) => string;
7
- export declare const getNativeTimeStep: (format: TimeFormat) => number;
@@ -1,28 +0,0 @@
1
- var DEFAULT_NATIVE_MIN_TIME = '00:00:00';
2
- var DEFAULT_NATIVE_MAX_TIME = '23:59:59';
3
- var padTimePart = function (value) { return (value !== null && value !== void 0 ? value : '00').padStart(2, '0'); };
4
- var normalizeNativeTime = function (value, format) {
5
- var _a = value.split(':'), hours = _a[0], minutes = _a[1], seconds = _a[2];
6
- var normalizedTime = "".concat(padTimePart(hours), ":").concat(padTimePart(minutes), ":").concat(padTimePart(seconds));
7
- return format === 'HH:mm' ? normalizedTime.slice(0, 5) : normalizedTime;
8
- };
9
- export var getTimeForNative = function (componentTime, format) {
10
- if (!componentTime) {
11
- return undefined;
12
- }
13
- return normalizeNativeTime(componentTime, format);
14
- };
15
- export var getTimeForComponent = function (nativeTime, format) {
16
- if (!nativeTime) {
17
- return '';
18
- }
19
- return normalizeNativeTime(nativeTime, format);
20
- };
21
- export var getDefaultMinTime = function (format) {
22
- return format === 'HH:mm' ? DEFAULT_NATIVE_MIN_TIME.slice(0, 5) : DEFAULT_NATIVE_MIN_TIME;
23
- };
24
- export var getDefaultMaxTime = function (format) {
25
- return format === 'HH:mm' ? DEFAULT_NATIVE_MAX_TIME.slice(0, 5) : DEFAULT_NATIVE_MAX_TIME;
26
- };
27
- export var getNativeTimeStep = function (format) { return (format === 'HH:mm' ? 60 : 1); };
28
- //# sourceMappingURL=NativeTimeInput.utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NativeTimeInput.utils.js","sourceRoot":"","sources":["NativeTimeInput.utils.ts"],"names":[],"mappings":"AAGA,IAAM,uBAAuB,GAAG,UAAU,CAAC;AAC3C,IAAM,uBAAuB,GAAG,UAAU,CAAC;AAE3C,IAAM,WAAW,GAAG,UAAC,KAAyB,IAAa,OAAA,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAhC,CAAgC,CAAC;AAE5F,IAAM,mBAAmB,GAAG,UAAC,KAAa,EAAE,MAAkB;IACtD,IAAA,KAA4B,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAA3C,KAAK,QAAA,EAAE,OAAO,QAAA,EAAE,OAAO,QAAoB,CAAC;IAEnD,IAAM,cAAc,GAAG,UAAG,WAAW,CAAC,KAAK,CAAC,cAAI,WAAW,CAAC,OAAO,CAAC,cAAI,WAAW,CAAC,OAAO,CAAC,CAAE,CAAC;IAE/F,OAAO,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;AAC1E,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,aAA+B,EAAE,MAAkB;IAClF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,mBAAmB,GAAG,UAAC,UAA4B,EAAE,MAAkB;IAClF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,MAAkB;IAClD,OAAA,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;AAAlF,CAAkF,CAAC;AAErF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,MAAkB;IAClD,OAAA,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;AAAlF,CAAkF,CAAC;AAErF,MAAM,CAAC,IAAM,iBAAiB,GAAG,UAAC,MAAkB,IAAa,OAAA,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAA7B,CAA6B,CAAC","sourcesContent":["import type { TimeFormat } from '../../components/TimePicker/index.js';\nimport type { Nullable } from '../../typings/utility-types.js';\n\nconst DEFAULT_NATIVE_MIN_TIME = '00:00:00';\nconst DEFAULT_NATIVE_MAX_TIME = '23:59:59';\n\nconst padTimePart = (value: string | undefined): string => (value ?? '00').padStart(2, '0');\n\nconst normalizeNativeTime = (value: string, format: TimeFormat): string => {\n const [hours, minutes, seconds] = value.split(':');\n\n const normalizedTime = `${padTimePart(hours)}:${padTimePart(minutes)}:${padTimePart(seconds)}`;\n\n return format === 'HH:mm' ? normalizedTime.slice(0, 5) : normalizedTime;\n};\n\nexport const getTimeForNative = (componentTime: Nullable<string>, format: TimeFormat): string | undefined => {\n if (!componentTime) {\n return undefined;\n }\n\n return normalizeNativeTime(componentTime, format);\n};\n\nexport const getTimeForComponent = (nativeTime: Nullable<string>, format: TimeFormat): string => {\n if (!nativeTime) {\n return '';\n }\n\n return normalizeNativeTime(nativeTime, format);\n};\n\nexport const getDefaultMinTime = (format: TimeFormat): string =>\n format === 'HH:mm' ? DEFAULT_NATIVE_MIN_TIME.slice(0, 5) : DEFAULT_NATIVE_MIN_TIME;\n\nexport const getDefaultMaxTime = (format: TimeFormat): string =>\n format === 'HH:mm' ? DEFAULT_NATIVE_MAX_TIME.slice(0, 5) : DEFAULT_NATIVE_MAX_TIME;\n\nexport const getNativeTimeStep = (format: TimeFormat): number => (format === 'HH:mm' ? 60 : 1);\n"]}
@@ -1 +0,0 @@
1
- export * from './NativeTimeInput.js';
@@ -1,2 +0,0 @@
1
- export * from './NativeTimeInput.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC","sourcesContent":["export * from './NativeTimeInput.js';\n"]}
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import type { TimeFormat, TimeSegment } from '../../components/TimePicker/index.js';
3
- import type { SizeProp } from '../../lib/types/props.js';
4
- export interface TimeFragmentsRef {
5
- isFragment(el: HTMLElement | EventTarget | null): boolean;
6
- getSegment(el: HTMLElement | EventTarget | null): TimeSegment | null;
7
- getRootNode(): HTMLSpanElement | null;
8
- }
9
- export interface TimeFragmentsProps {
10
- value: string;
11
- format: TimeFormat;
12
- size: SizeProp;
13
- onSelectSegment?(segment: TimeSegment, event: React.MouseEvent<HTMLSpanElement>): void;
14
- }
15
- export declare const TimeFragments: import("../../lib/forwardRefAndName.js").ReactUIComponentWithRef<TimeFragmentsRef, TimeFragmentsProps> & Record<never, never>;
@@ -1,72 +0,0 @@
1
- import React, { useCallback, useContext, useImperativeHandle, useRef } from 'react';
2
- import { TIME_PLACEHOLDER_CHAR, TIME_SEPARATOR } from '../../components/TimePicker/helpers/TimePicker.constants.js';
3
- import { getDisplaySegments, getTimeSegments } from '../../components/TimePicker/helpers/TimePicker.shared.js';
4
- import { forwardRefAndName } from '../../lib/forwardRefAndName.js';
5
- import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
6
- import { ThemeContext } from '../../lib/theming/ThemeContext.js';
7
- import { getStyles } from './TimeFragments.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 TimeFragments = forwardRefAndName('TimeFragments', 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=TimeFragments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeFragments.js","sourceRoot":"","sources":["TimeFragments.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useContext, useImperativeHandle, useRef } from 'react';\n\nimport { TIME_PLACEHOLDER_CHAR, TIME_SEPARATOR } from '../../components/TimePicker/helpers/TimePicker.constants.js';\nimport { getDisplaySegments, getTimeSegments } from '../../components/TimePicker/helpers/TimePicker.shared.js';\nimport type { TimeFormat, TimeSegment } from '../../components/TimePicker/index.js';\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 { getStyles } from './TimeFragments.styles.js';\n\nexport interface TimeFragmentsRef {\n isFragment(el: HTMLElement | EventTarget | null): boolean;\n getSegment(el: HTMLElement | EventTarget | null): TimeSegment | null;\n getRootNode(): HTMLSpanElement | null;\n}\n\nexport interface TimeFragmentsProps {\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 TimeFragments = forwardRefAndName<TimeFragmentsRef, TimeFragmentsProps>('TimeFragments', (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"]}
@@ -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
- mask(t: Theme): string;
6
- segment(): string;
7
- separator(): string;
8
- separatorSmall(t: Theme): string;
9
- separatorMedium(t: Theme): string;
10
- separatorLarge(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
- mask: function (t) {
20
- return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), t.timePickerMaskColor);
21
- },
22
- segment: function () {
23
- return css(templateObject_4 || (templateObject_4 = __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 "])));
24
- },
25
- separator: function () {
26
- return css(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: inline;\n position: relative;\n "], ["\n display: inline;\n position: relative;\n "])));
27
- },
28
- separatorSmall: 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.timePickerSeparatorOffsetTopSmall, t.timePickerSeparatorPaddingXSmall, t.timePickerSeparatorPaddingXSmall);
30
- },
31
- separatorMedium: 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.timePickerSeparatorOffsetTopMedium, t.timePickerSeparatorPaddingXMedium, t.timePickerSeparatorPaddingXMedium);
33
- },
34
- separatorLarge: function (t) {
35
- return css(templateObject_8 || (templateObject_8 = __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);
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=TimeFragments.styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeFragments.styles.js","sourceRoot":"","sources":["TimeFragments.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,IAAI,YAAC,CAAQ;YACX,OAAO,GAAG,+FAAA,iBACC,EAAqB,SAC/B,KADU,CAAC,CAAC,mBAAmB,EAC9B;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,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 mask(t: Theme) {\n return css`\n color: ${t.timePickerMaskColor};\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 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 '../../components/Input/index.js';
3
- import { type TimeFormat, type TimeSegment } from '../../components/TimePicker/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>;
@@ -1,103 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- var __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
- import React, { useContext, useEffect, useImperativeHandle, useRef } from 'react';
24
- import { getTimePickerInputMinWidth, getTimePickerSuffixMargin, } from '../../components/TimePicker/helpers/TimePicker.layout.js';
25
- import { getTimeSegments, } from '../../components/TimePicker/helpers/TimePicker.shared.js';
26
- import { TimeClockIcon } from '../../components/TimePicker/TimeClockIcon.js';
27
- import { forwardRefAndName } from '../../lib/forwardRefAndName.js';
28
- import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
29
- import { ThemeContext } from '../../lib/theming/ThemeContext.js';
30
- import { InputLikeText } from '../InputLikeText/index.js';
31
- import { TimeFragments } from './TimeFragments.js';
32
- import { getStyles } from './TimeInput.styles.js';
33
- export var TimeInput = forwardRefAndName('TimeInput', function (props, ref) {
34
- var _a;
35
- var _b = props.hasDropdown, hasDropdown = _b === void 0 ? false : _b, _c = props.size, size = _c === void 0 ? 'small' : _c, disabled = props.disabled, autoFocus = props.autoFocus, suffix = props.suffix, style = props.style, width = props.width, corners = props.corners, rightIcon = props.rightIcon, format = props.format, value = props.value, onSelectSegment = props.onSelectSegment, rest = __rest(props, ["hasDropdown", "size", "disabled", "autoFocus", "suffix", "style", "width", "corners", "rightIcon", "format", "value", "onSelectSegment"]);
36
- var theme = useContext(ThemeContext);
37
- var cx = useEmotion().cx;
38
- var styles = useStyles(getStyles);
39
- var inputLikeTextRef = useRef(null);
40
- var fragmentsRef = useRef(null);
41
- useImperativeHandle(ref, function () { return ({
42
- focus: function () { var _a; return (_a = inputLikeTextRef.current) === null || _a === void 0 ? void 0 : _a.focus(); },
43
- blur: function () { var _a; return (_a = inputLikeTextRef.current) === null || _a === void 0 ? void 0 : _a.blur(); },
44
- blink: function () { var _a; return (_a = inputLikeTextRef.current) === null || _a === void 0 ? void 0 : _a.blink(); },
45
- getNode: function () { var _a, _b; return (_b = (_a = inputLikeTextRef.current) === null || _a === void 0 ? void 0 : _a.getNode()) !== null && _b !== void 0 ? _b : null; },
46
- isFragment: function (el) { var _a, _b; return (_b = (_a = fragmentsRef.current) === null || _a === void 0 ? void 0 : _a.isFragment(el)) !== null && _b !== void 0 ? _b : false; },
47
- getSegment: function (el) { var _a, _b; return (_b = (_a = fragmentsRef.current) === null || _a === void 0 ? void 0 : _a.getSegment(el)) !== null && _b !== void 0 ? _b : null; },
48
- selectAll: function () {
49
- var _a, _b, _c;
50
- var rootNode = (_b = (_a = fragmentsRef.current) === null || _a === void 0 ? void 0 : _a.getRootNode()) !== null && _b !== void 0 ? _b : null;
51
- if (!rootNode) {
52
- return;
53
- }
54
- (_c = inputLikeTextRef.current) === null || _c === void 0 ? void 0 : _c.selectInnerNode(rootNode, 0, rootNode.childNodes.length);
55
- },
56
- isAllSelected: function () {
57
- var _a, _b, _c, _d, _e;
58
- var rootNode = (_b = (_a = fragmentsRef.current) === null || _a === void 0 ? void 0 : _a.getRootNode()) !== null && _b !== void 0 ? _b : null;
59
- if (!rootNode) {
60
- return false;
61
- }
62
- var selection = (_d = (_c = rootNode.ownerDocument.defaultView) === null || _c === void 0 ? void 0 : _c.getSelection()) !== null && _d !== void 0 ? _d : null;
63
- if (!selection || selection.rangeCount === 0 || selection.isCollapsed) {
64
- return false;
65
- }
66
- var range = selection.getRangeAt(0);
67
- var text = (_e = rootNode.textContent) !== null && _e !== void 0 ? _e : '';
68
- return (range.toString() === text && rootNode.contains(range.startContainer) && rootNode.contains(range.endContainer));
69
- },
70
- selectSegment: function (segment) {
71
- var _a, _b, _c;
72
- var rootNode = (_b = (_a = fragmentsRef.current) === null || _a === void 0 ? void 0 : _a.getRootNode()) !== null && _b !== void 0 ? _b : null;
73
- if (!rootNode) {
74
- return;
75
- }
76
- var segmentIndex = getTimeSegments(format).indexOf(segment);
77
- var start = segmentIndex < 0 ? 0 : segmentIndex * 2;
78
- var end = start + 1;
79
- (_c = inputLikeTextRef.current) === null || _c === void 0 ? void 0 : _c.selectInnerNode(rootNode, start, end);
80
- },
81
- }); }, [format]);
82
- useEffect(function () {
83
- if (!autoFocus || disabled) {
84
- return;
85
- }
86
- var timer = setTimeout(function () {
87
- var _a;
88
- (_a = inputLikeTextRef.current) === null || _a === void 0 ? void 0 : _a.focus();
89
- }, 0);
90
- return function () {
91
- clearTimeout(timer);
92
- };
93
- }, []);
94
- var resolvedRightIcon = rightIcon === undefined ? (React.createElement("span", { className: cx(styles.rightIcon(), styles.rightIconDefault(theme), (_a = {},
95
- _a[styles.rightIconInteractive()] = hasDropdown && !disabled,
96
- _a)) },
97
- React.createElement(TimeClockIcon, { size: size }))) : (rightIcon);
98
- var suffixMarginLeft = getTimePickerSuffixMargin(size, theme);
99
- var inputMinWidth = getTimePickerInputMinWidth(size, format, resolvedRightIcon !== null, theme);
100
- return (React.createElement(InputLikeText, __assign({ ref: inputLikeTextRef }, rest, { takeContentWidth: true, disabled: disabled, size: size, inputMode: 'numeric', width: width !== null && width !== void 0 ? width : 'auto', suffix: suffix && React.createElement("span", { style: { marginLeft: suffixMarginLeft } }, suffix), style: __assign(__assign(__assign({}, style), { minWidth: inputMinWidth }), corners), rightIcon: resolvedRightIcon, value: value }),
101
- React.createElement(TimeFragments, { ref: fragmentsRef, format: format, size: size, value: value, onSelectSegment: onSelectSegment })));
102
- });
103
- //# sourceMappingURL=TimeInput.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeInput.js","sourceRoot":"","sources":["TimeInput.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGlF,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,GAC1B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EACL,eAAe,GAGhB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAsBlD,MAAM,CAAC,IAAM,SAAS,GAAG,iBAAiB,CAA+B,WAAW,EAAE,UAAC,KAAK,EAAE,GAAG;;IAE7F,IAAA,KAaE,KAAK,YAbY,EAAnB,WAAW,mBAAG,KAAK,KAAA,EACnB,KAYE,KAAK,KAZO,EAAd,IAAI,mBAAG,OAAO,KAAA,EACd,QAAQ,GAWN,KAAK,SAXC,EACR,SAAS,GAUP,KAAK,UAVE,EACT,MAAM,GASJ,KAAK,OATD,EACN,KAAK,GAQH,KAAK,MARF,EACL,KAAK,GAOH,KAAK,MAPF,EACL,OAAO,GAML,KAAK,QANA,EACP,SAAS,GAKP,KAAK,UALE,EACT,MAAM,GAIJ,KAAK,OAJD,EACN,KAAK,GAGH,KAAK,MAHF,EACL,eAAe,GAEb,KAAK,gBAFQ,EACZ,IAAI,UACL,KAAK,EAdH,0IAcL,CADQ,CACC;IAEV,IAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC;IAE/B,IAAA,EAAE,GAAK,UAAU,EAAE,GAAjB,CAAkB;IAE5B,IAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAEpC,IAAM,gBAAgB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IACrD,IAAM,YAAY,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAEpD,mBAAmB,CACjB,GAAG,EACH,cAAM,OAAA,CAAC;QACL,KAAK,EAAE,sBAAM,OAAA,MAAA,gBAAgB,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA;QAC9C,IAAI,EAAE,sBAAM,OAAA,MAAA,gBAAgB,CAAC,OAAO,0CAAE,IAAI,EAAE,CAAA,EAAA;QAC5C,KAAK,EAAE,sBAAM,OAAA,MAAA,gBAAgB,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA;QAC9C,OAAO,EAAE,0BAAM,OAAA,MAAA,MAAA,gBAAgB,CAAC,OAAO,0CAAE,OAAO,EAAE,mCAAI,IAAI,CAAA,EAAA;QAC1D,UAAU,EAAE,UAAC,EAAE,gBAAK,OAAA,MAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,UAAU,CAAC,EAAE,CAAC,mCAAI,KAAK,CAAA,EAAA;QACjE,UAAU,EAAE,UAAC,EAAE,gBAAK,OAAA,MAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,UAAU,CAAC,EAAE,CAAC,mCAAI,IAAI,CAAA,EAAA;QAChE,SAAS,EAAE;;YACT,IAAM,QAAQ,GAAG,MAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,WAAW,EAAE,mCAAI,IAAI,CAAC;YAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,MAAA,gBAAgB,CAAC,OAAO,0CAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QACrF,CAAC;QAED,aAAa,EAAE;;YACb,IAAM,QAAQ,GAAG,MAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,WAAW,EAAE,mCAAI,IAAI,CAAC;YAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAM,SAAS,GAAG,MAAA,MAAA,QAAQ,CAAC,aAAa,CAAC,WAAW,0CAAE,YAAY,EAAE,mCAAI,IAAI,CAAC;YAE7E,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,UAAU,KAAK,CAAC,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;gBACtE,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACtC,IAAM,IAAI,GAAG,MAAA,QAAQ,CAAC,WAAW,mCAAI,EAAE,CAAC;YAExC,OAAO,CACL,KAAK,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAC9G,CAAC;QACJ,CAAC;QAED,aAAa,EAAE,UAAC,OAAO;;YACrB,IAAM,QAAQ,GAAG,MAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,WAAW,EAAE,mCAAI,IAAI,CAAC;YAE7D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;YACT,CAAC;YAED,IAAM,YAAY,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9D,IAAM,KAAK,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC;YACtD,IAAM,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;YAEtB,MAAA,gBAAgB,CAAC,OAAO,0CAAE,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAClE,CAAC;KACF,CAAC,EAnDI,CAmDJ,EACF,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,SAAS,CAAC;QACR,IAAI,CAAC,SAAS,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,IAAM,KAAK,GAAG,UAAU,CAAC;;YACvB,MAAA,gBAAgB,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;QACpC,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,OAAO;YACL,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,iBAAiB,GACrB,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CACxB,8BACE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAC9D,GAAC,MAAM,CAAC,oBAAoB,EAAE,IAAG,WAAW,IAAI,CAAC,QAAQ;gBACzD;QAEF,oBAAC,aAAa,IAAC,IAAI,EAAE,IAAI,GAAI,CACxB,CACR,CAAC,CAAC,CAAC,CACF,SAAS,CACV,CAAC;IACJ,IAAM,gBAAgB,GAAG,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAChE,IAAM,aAAa,GAAG,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC;IAElG,OAAO,CACL,oBAAC,aAAa,aACZ,GAAG,EAAE,gBAAgB,IACjB,IAAI,IACR,gBAAgB,QAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,MAAM,EACtB,MAAM,EAAE,MAAM,IAAI,8BAAM,KAAK,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAG,MAAM,CAAQ,EAChF,KAAK,iCAAO,KAAK,KAAE,QAAQ,EAAE,aAAa,KAAK,OAAO,GACtD,SAAS,EAAE,iBAAiB,EAC5B,KAAK,EAAE,KAAK;QAEZ,oBAAC,aAAa,IAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,eAAe,GAAI,CAClG,CACjB,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React, { useContext, useEffect, useImperativeHandle, useRef } from 'react';\n\nimport type { InputProps } from '../../components/Input/index.js';\nimport {\n getTimePickerInputMinWidth,\n getTimePickerSuffixMargin,\n} from '../../components/TimePicker/helpers/TimePicker.layout.js';\nimport {\n getTimeSegments,\n type TimeFormat,\n type TimeSegment,\n} from '../../components/TimePicker/helpers/TimePicker.shared.js';\nimport { TimeClockIcon } from '../../components/TimePicker/TimeClockIcon.js';\nimport { forwardRefAndName } from '../../lib/forwardRefAndName.js';\nimport { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';\nimport { ThemeContext } from '../../lib/theming/ThemeContext.js';\nimport { InputLikeText } from '../InputLikeText/index.js';\nimport type { TimeFragmentsRef } from './TimeFragments.js';\nimport { TimeFragments } from './TimeFragments.js';\nimport { getStyles } from './TimeInput.styles.js';\n\nexport interface TimeInputRef {\n focus(): void;\n blur(): void;\n blink(): void;\n isFragment(el: HTMLElement | EventTarget | null): boolean;\n isAllSelected(): boolean;\n getSegment(el: HTMLElement | EventTarget | null): TimeSegment | null;\n selectSegment(segment: TimeSegment): void;\n selectAll(): void;\n getNode(): HTMLElement | null;\n}\n\nexport interface TimeInputProps extends Omit<InputProps, 'type' | 'value' | 'onValueChange' | 'inputMode'> {\n hasDropdown?: boolean;\n format: TimeFormat;\n value: string;\n 'aria-placeholder'?: string;\n onSelectSegment?(segment: TimeSegment, event: React.MouseEvent<HTMLSpanElement>): void;\n}\n\nexport const TimeInput = forwardRefAndName<TimeInputRef, TimeInputProps>('TimeInput', (props, ref) => {\n const {\n hasDropdown = false,\n size = 'small',\n disabled,\n autoFocus,\n suffix,\n style,\n width,\n corners,\n rightIcon,\n format,\n value,\n onSelectSegment,\n ...rest\n } = props;\n\n const theme = useContext(ThemeContext);\n\n const { cx } = useEmotion();\n\n const styles = useStyles(getStyles);\n\n const inputLikeTextRef = useRef<InputLikeText>(null);\n const fragmentsRef = useRef<TimeFragmentsRef>(null);\n\n useImperativeHandle(\n ref,\n () => ({\n focus: () => inputLikeTextRef.current?.focus(),\n blur: () => inputLikeTextRef.current?.blur(),\n blink: () => inputLikeTextRef.current?.blink(),\n getNode: () => inputLikeTextRef.current?.getNode() ?? null,\n isFragment: (el) => fragmentsRef.current?.isFragment(el) ?? false,\n getSegment: (el) => fragmentsRef.current?.getSegment(el) ?? null,\n selectAll: () => {\n const rootNode = fragmentsRef.current?.getRootNode() ?? null;\n\n if (!rootNode) {\n return;\n }\n\n inputLikeTextRef.current?.selectInnerNode(rootNode, 0, rootNode.childNodes.length);\n },\n\n isAllSelected: () => {\n const rootNode = fragmentsRef.current?.getRootNode() ?? null;\n\n if (!rootNode) {\n return false;\n }\n\n const selection = rootNode.ownerDocument.defaultView?.getSelection() ?? null;\n\n if (!selection || selection.rangeCount === 0 || selection.isCollapsed) {\n return false;\n }\n\n const range = selection.getRangeAt(0);\n const text = rootNode.textContent ?? '';\n\n return (\n range.toString() === text && rootNode.contains(range.startContainer) && rootNode.contains(range.endContainer)\n );\n },\n\n selectSegment: (segment) => {\n const rootNode = fragmentsRef.current?.getRootNode() ?? null;\n\n if (!rootNode) {\n return;\n }\n\n const segmentIndex = getTimeSegments(format).indexOf(segment);\n const start = segmentIndex < 0 ? 0 : segmentIndex * 2;\n const end = start + 1;\n\n inputLikeTextRef.current?.selectInnerNode(rootNode, start, end);\n },\n }),\n [format],\n );\n\n useEffect(() => {\n if (!autoFocus || disabled) {\n return;\n }\n\n const timer = setTimeout(() => {\n inputLikeTextRef.current?.focus();\n }, 0);\n\n return () => {\n clearTimeout(timer);\n };\n }, []);\n\n const resolvedRightIcon =\n rightIcon === undefined ? (\n <span\n className={cx(styles.rightIcon(), styles.rightIconDefault(theme), {\n [styles.rightIconInteractive()]: hasDropdown && !disabled,\n })}\n >\n <TimeClockIcon size={size} />\n </span>\n ) : (\n rightIcon\n );\n const suffixMarginLeft = getTimePickerSuffixMargin(size, theme);\n const inputMinWidth = getTimePickerInputMinWidth(size, format, resolvedRightIcon !== null, theme);\n\n return (\n <InputLikeText\n ref={inputLikeTextRef}\n {...rest}\n takeContentWidth\n disabled={disabled}\n size={size}\n inputMode={'numeric'}\n width={width ?? 'auto'}\n suffix={suffix && <span style={{ marginLeft: suffixMarginLeft }}>{suffix}</span>}\n style={{ ...style, minWidth: inputMinWidth, ...corners }}\n rightIcon={resolvedRightIcon}\n value={value}\n >\n <TimeFragments ref={fragmentsRef} format={format} size={size} value={value} onSelectSegment={onSelectSegment} />\n </InputLikeText>\n );\n});\n"]}
@@ -1,21 +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
- rightIcon: function () {
10
- return css(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n user-select: none;\n "], ["\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n user-select: none;\n "])));
11
- },
12
- rightIconInteractive: function () {
13
- return css(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n cursor: pointer;\n "], ["\n cursor: pointer;\n "])));
14
- },
15
- rightIconDefault: function (t) {
16
- return css(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n color: ", ";\n "], ["\n color: ", ";\n "])), t.textColorDefault);
17
- },
18
- });
19
- });
20
- var templateObject_1, templateObject_2, templateObject_3;
21
- //# sourceMappingURL=TimeInput.styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TimeInput.styles.js","sourceRoot":"","sources":["TimeInput.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,SAAS;YACP,OAAO,GAAG,kNAAA,+IAMT,KAAC;QACJ,CAAC;QAED,oBAAoB;YAClB,OAAO,GAAG,mGAAA,gCAET,KAAC;QACJ,CAAC;QAED,gBAAgB,YAAC,CAAQ;YACvB,OAAO,GAAG,+FAAA,iBACC,EAAkB,SAC5B,KADU,CAAC,CAAC,gBAAgB,EAC3B;QACJ,CAAC;KACF,CAAC;AAtB8D,CAsB9D,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 rightIcon() {\n return css`\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n user-select: none;\n `;\n },\n\n rightIconInteractive() {\n return css`\n cursor: pointer;\n `;\n },\n\n rightIconDefault(t: Theme) {\n return css`\n color: ${t.textColorDefault};\n `;\n },\n}));\n"]}
@@ -1 +0,0 @@
1
- export * from './TimeInput.js';
@@ -1,2 +0,0 @@
1
- export * from './TimeInput.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC","sourcesContent":["export * from './TimeInput.js';\n"]}