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

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 (233) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/components/Autocomplete/Autocomplete.js +2 -3
  3. package/components/Autocomplete/Autocomplete.js.map +1 -1
  4. package/components/Button/Button.classes.d.ts +8 -0
  5. package/components/Button/Button.classes.js +10 -0
  6. package/components/Button/Button.classes.js.map +1 -0
  7. package/components/Button/Button.mixins.js +1 -1
  8. package/components/Button/Button.mixins.js.map +1 -1
  9. package/components/Button/Button.styles.d.ts +2 -8
  10. package/components/Button/Button.styles.js +3 -9
  11. package/components/Button/Button.styles.js.map +1 -1
  12. package/components/Calendar/Calendar.d.ts +2 -8
  13. package/components/Calendar/Calendar.js +2 -7
  14. package/components/Calendar/Calendar.js.map +1 -1
  15. package/components/Calendar/CalendarDay.js +1 -1
  16. package/components/Calendar/CalendarDay.js.map +1 -1
  17. package/components/Calendar/MonthView.js +1 -1
  18. package/components/Calendar/MonthView.js.map +1 -1
  19. package/components/Calendar/MonthViewModel.js +1 -2
  20. package/components/Calendar/MonthViewModel.js.map +1 -1
  21. package/components/Calendar/tids.d.ts +7 -0
  22. package/components/Calendar/tids.js +8 -0
  23. package/components/Calendar/tids.js.map +1 -0
  24. package/components/FxInput/FxInput.js +2 -2
  25. package/components/FxInput/FxInput.js.map +1 -1
  26. package/components/MaskedInput/MaskedInput.d.ts +0 -2
  27. package/components/MaskedInput/MaskedInput.js +0 -6
  28. package/components/MaskedInput/MaskedInput.js.map +1 -1
  29. package/components/MenuItem/MenuItem.mixins.d.ts +1 -0
  30. package/components/MenuItem/MenuItem.mixins.js +6 -1
  31. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  32. package/components/MenuItem/MenuItem.styles.d.ts +2 -1
  33. package/components/MenuItem/MenuItem.styles.js +2 -7
  34. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  35. package/components/MiniModal/MiniModal.d.ts +2 -7
  36. package/components/MiniModal/MiniModal.js +2 -7
  37. package/components/MiniModal/MiniModal.js.map +1 -1
  38. package/components/MiniModal/MiniModalBody.js +1 -1
  39. package/components/MiniModal/MiniModalBody.js.map +1 -1
  40. package/components/MiniModal/MiniModalFooter.js +1 -1
  41. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  42. package/components/MiniModal/MiniModalHeader.js +1 -1
  43. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  44. package/components/MiniModal/MiniModalIndent.js +1 -1
  45. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  46. package/components/MiniModal/tids.d.ts +7 -0
  47. package/components/MiniModal/tids.js +8 -0
  48. package/components/MiniModal/tids.js.map +1 -0
  49. package/components/Modal/Modal.constants.d.ts +9 -0
  50. package/components/Modal/Modal.constants.js +10 -0
  51. package/components/Modal/Modal.constants.js.map +1 -0
  52. package/components/Modal/Modal.d.ts +2 -10
  53. package/components/Modal/Modal.js +2 -9
  54. package/components/Modal/Modal.js.map +1 -1
  55. package/components/Modal/ModalBody.js +1 -1
  56. package/components/Modal/ModalBody.js.map +1 -1
  57. package/components/Modal/ModalClose.js +1 -1
  58. package/components/Modal/ModalClose.js.map +1 -1
  59. package/components/Toggle/Toggle.classes.d.ts +8 -0
  60. package/components/Toggle/Toggle.classes.js +10 -0
  61. package/components/Toggle/Toggle.classes.js.map +1 -0
  62. package/components/Toggle/Toggle.mixins.js +1 -1
  63. package/components/Toggle/Toggle.mixins.js.map +1 -1
  64. package/components/Toggle/Toggle.styles.d.ts +2 -8
  65. package/components/Toggle/Toggle.styles.js +3 -9
  66. package/components/Toggle/Toggle.styles.js.map +1 -1
  67. package/components/TokenInput/TokenInput.d.ts +7 -3
  68. package/components/TokenInput/TokenInput.js +0 -1
  69. package/components/TokenInput/TokenInput.js.map +1 -1
  70. package/index.d.ts +0 -1
  71. package/index.js +0 -1
  72. package/index.js.map +1 -1
  73. package/internal/CustomComboBox/ComboBoxView.js +2 -2
  74. package/internal/CustomComboBox/ComboBoxView.js.map +1 -1
  75. package/internal/Popup/PopupPin.js +8 -6
  76. package/internal/Popup/PopupPin.js.map +1 -1
  77. package/internal/themes/BasicTheme.d.ts +162 -0
  78. package/internal/themes/BasicTheme.js +162 -0
  79. package/internal/themes/BasicTheme.js.map +1 -1
  80. package/lib/date/InternalDateValidator.js +1 -2
  81. package/lib/date/InternalDateValidator.js.map +1 -1
  82. package/lib/events/keyListener.js +6 -0
  83. package/lib/events/keyListener.js.map +1 -1
  84. package/lib/events/keyboard/KeyboardEventCodes.d.ts +0 -2
  85. package/lib/events/keyboard/KeyboardEventCodes.js +0 -2
  86. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  87. package/lib/events/keyboard/KeyboardMapKeys.js +0 -2
  88. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  89. package/lib/events/keyboard/identifiers.d.ts +0 -2
  90. package/lib/events/keyboard/identifiers.js +0 -6
  91. package/lib/events/keyboard/identifiers.js.map +1 -1
  92. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +0 -2
  93. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +0 -1
  94. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  95. package/package.json +1 -4
  96. package/components/MaskedInputV2/MaskedInputV2.d.ts +0 -57
  97. package/components/MaskedInputV2/MaskedInputV2.helpers.d.ts +0 -9
  98. package/components/MaskedInputV2/MaskedInputV2.helpers.js +0 -17
  99. package/components/MaskedInputV2/MaskedInputV2.helpers.js.map +0 -1
  100. package/components/MaskedInputV2/MaskedInputV2.js +0 -234
  101. package/components/MaskedInputV2/MaskedInputV2.js.map +0 -1
  102. package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +0 -7
  103. package/components/MaskedInputV2/MaskedInputV2.styles.js +0 -19
  104. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +0 -1
  105. package/components/MaskedInputV2/index.d.ts +0 -1
  106. package/components/MaskedInputV2/index.js +0 -2
  107. package/components/MaskedInputV2/index.js.map +0 -1
  108. package/components/MaskedInputV2/internal/MaskOverlay.d.ts +0 -19
  109. package/components/MaskedInputV2/internal/MaskOverlay.js +0 -54
  110. package/components/MaskedInputV2/internal/MaskOverlay.js.map +0 -1
  111. package/components/MaskedInputV2/internal/MaskedCore.d.ts +0 -8
  112. package/components/MaskedInputV2/internal/MaskedCore.js +0 -101
  113. package/components/MaskedInputV2/internal/MaskedCore.js.map +0 -1
  114. package/components/MaskedInputV2/internal/MaskedCore.types.d.ts +0 -30
  115. package/components/MaskedInputV2/internal/MaskedCore.types.js +0 -2
  116. package/components/MaskedInputV2/internal/MaskedCore.types.js.map +0 -1
  117. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +0 -15
  118. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +0 -34
  119. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +0 -1
  120. package/components/MaskedInputV2/internal/buildSlotMap.d.ts +0 -11
  121. package/components/MaskedInputV2/internal/buildSlotMap.js +0 -37
  122. package/components/MaskedInputV2/internal/buildSlotMap.js.map +0 -1
  123. package/components/MaskedInputV2/internal/extractRaw.d.ts +0 -10
  124. package/components/MaskedInputV2/internal/extractRaw.js +0 -16
  125. package/components/MaskedInputV2/internal/extractRaw.js.map +0 -1
  126. package/components/MaskedInputV2/internal/findNearestRawLeft.d.ts +0 -10
  127. package/components/MaskedInputV2/internal/findNearestRawLeft.js +0 -18
  128. package/components/MaskedInputV2/internal/findNearestRawLeft.js.map +0 -1
  129. package/components/MaskedInputV2/internal/helpers.d.ts +0 -5
  130. package/components/MaskedInputV2/internal/helpers.js +0 -6
  131. package/components/MaskedInputV2/internal/helpers.js.map +0 -1
  132. package/components/MaskedInputV2/internal/maskedCoreClipboard.d.ts +0 -25
  133. package/components/MaskedInputV2/internal/maskedCoreClipboard.js +0 -30
  134. package/components/MaskedInputV2/internal/maskedCoreClipboard.js.map +0 -1
  135. package/components/MaskedInputV2/internal/maskedCoreDeletion.d.ts +0 -28
  136. package/components/MaskedInputV2/internal/maskedCoreDeletion.js +0 -70
  137. package/components/MaskedInputV2/internal/maskedCoreDeletion.js.map +0 -1
  138. package/components/MaskedInputV2/internal/maskedCoreInputChange.d.ts +0 -35
  139. package/components/MaskedInputV2/internal/maskedCoreInputChange.js +0 -31
  140. package/components/MaskedInputV2/internal/maskedCoreInputChange.js.map +0 -1
  141. package/components/MaskedInputV2/internal/maskedCoreNavigation.d.ts +0 -13
  142. package/components/MaskedInputV2/internal/maskedCoreNavigation.js +0 -79
  143. package/components/MaskedInputV2/internal/maskedCoreNavigation.js.map +0 -1
  144. package/components/MaskedInputV2/internal/stripMaskChars.d.ts +0 -11
  145. package/components/MaskedInputV2/internal/stripMaskChars.js +0 -20
  146. package/components/MaskedInputV2/internal/stripMaskChars.js.map +0 -1
  147. package/components/MaskedInputV2/internal/types.d.ts +0 -74
  148. package/components/MaskedInputV2/internal/types.js +0 -2
  149. package/components/MaskedInputV2/internal/types.js.map +0 -1
  150. package/components/MaskedInputV2/internal/useMaskEngine.d.ts +0 -42
  151. package/components/MaskedInputV2/internal/useMaskEngine.js +0 -82
  152. package/components/MaskedInputV2/internal/useMaskEngine.js.map +0 -1
  153. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.d.ts +0 -28
  154. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js +0 -190
  155. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js.map +0 -1
  156. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.d.ts +0 -16
  157. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js +0 -59
  158. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js.map +0 -1
  159. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.d.ts +0 -20
  160. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js +0 -106
  161. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js.map +0 -1
  162. package/components/MaskedInputV2/react-imask/imask/controls/input-history.d.ts +0 -17
  163. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js +0 -49
  164. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js.map +0 -1
  165. package/components/MaskedInputV2/react-imask/imask/controls/input.d.ts +0 -95
  166. package/components/MaskedInputV2/react-imask/imask/controls/input.js +0 -420
  167. package/components/MaskedInputV2/react-imask/imask/controls/input.js.map +0 -1
  168. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.d.ts +0 -30
  169. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js +0 -59
  170. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js.map +0 -1
  171. package/components/MaskedInputV2/react-imask/imask/core/action-details.d.ts +0 -30
  172. package/components/MaskedInputV2/react-imask/imask/core/action-details.js +0 -100
  173. package/components/MaskedInputV2/react-imask/imask/core/action-details.js.map +0 -1
  174. package/components/MaskedInputV2/react-imask/imask/core/change-details.d.ts +0 -20
  175. package/components/MaskedInputV2/react-imask/imask/core/change-details.js +0 -46
  176. package/components/MaskedInputV2/react-imask/imask/core/change-details.js.map +0 -1
  177. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.d.ts +0 -21
  178. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js +0 -52
  179. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js.map +0 -1
  180. package/components/MaskedInputV2/react-imask/imask/core/holder.d.ts +0 -34
  181. package/components/MaskedInputV2/react-imask/imask/core/holder.js +0 -38
  182. package/components/MaskedInputV2/react-imask/imask/core/holder.js.map +0 -1
  183. package/components/MaskedInputV2/react-imask/imask/core/tail-details.d.ts +0 -20
  184. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js +0 -2
  185. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js.map +0 -1
  186. package/components/MaskedInputV2/react-imask/imask/core/utils.d.ts +0 -24
  187. package/components/MaskedInputV2/react-imask/imask/core/utils.js +0 -100
  188. package/components/MaskedInputV2/react-imask/imask/core/utils.js.map +0 -1
  189. package/components/MaskedInputV2/react-imask/imask/imask.d.ts +0 -5
  190. package/components/MaskedInputV2/react-imask/imask/imask.js +0 -7
  191. package/components/MaskedInputV2/react-imask/imask/imask.js.map +0 -1
  192. package/components/MaskedInputV2/react-imask/imask/index.d.ts +0 -17
  193. package/components/MaskedInputV2/react-imask/imask/index.js +0 -16
  194. package/components/MaskedInputV2/react-imask/imask/index.js.map +0 -1
  195. package/components/MaskedInputV2/react-imask/imask/masked/base.d.ts +0 -114
  196. package/components/MaskedInputV2/react-imask/imask/masked/base.js +0 -411
  197. package/components/MaskedInputV2/react-imask/imask/masked/base.js.map +0 -1
  198. package/components/MaskedInputV2/react-imask/imask/masked/factory.d.ts +0 -62
  199. package/components/MaskedInputV2/react-imask/imask/masked/factory.js +0 -96
  200. package/components/MaskedInputV2/react-imask/imask/masked/factory.js.map +0 -1
  201. package/components/MaskedInputV2/react-imask/imask/masked/pattern.d.ts +0 -101
  202. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js +0 -543
  203. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js.map +0 -1
  204. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.d.ts +0 -30
  205. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js +0 -2
  206. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js.map +0 -1
  207. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.d.ts +0 -21
  208. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js +0 -180
  209. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js.map +0 -1
  210. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.d.ts +0 -31
  211. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js +0 -163
  212. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js.map +0 -1
  213. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.d.ts +0 -42
  214. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js +0 -158
  215. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js.map +0 -1
  216. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.d.ts +0 -56
  217. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js +0 -185
  218. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js.map +0 -1
  219. package/components/MaskedInputV2/react-imask/imask/masked/regexp.d.ts +0 -17
  220. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js +0 -36
  221. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js.map +0 -1
  222. package/components/MaskedInputV2/react-imask/index.d.ts +0 -3
  223. package/components/MaskedInputV2/react-imask/index.js +0 -4
  224. package/components/MaskedInputV2/react-imask/index.js.map +0 -1
  225. package/components/MaskedInputV2/react-imask/input.d.ts +0 -8
  226. package/components/MaskedInputV2/react-imask/input.js +0 -35
  227. package/components/MaskedInputV2/react-imask/input.js.map +0 -1
  228. package/components/MaskedInputV2/react-imask/mixin.d.ts +0 -31
  229. package/components/MaskedInputV2/react-imask/mixin.js +0 -246
  230. package/components/MaskedInputV2/react-imask/mixin.js.map +0 -1
  231. package/internal/FeaturedMaskedInput/FeaturedMaskedInput.d.ts +0 -4
  232. package/internal/FeaturedMaskedInput/FeaturedMaskedInput.js +0 -24
  233. package/internal/FeaturedMaskedInput/FeaturedMaskedInput.js.map +0 -1
@@ -1,5 +1,4 @@
1
1
  import { InternalDateGetter } from './InternalDateGetter.js';
2
- import { InternalDateTransformer } from './InternalDateTransformer.js';
3
2
  import { InternalDateComponentType } from './types.js';
4
3
  var calculateStartDate = function (startDate) {
5
4
  if (startDate) {
@@ -57,7 +56,7 @@ var InternalDateValidator = /** @class */ (function () {
57
56
  };
58
57
  InternalDateValidator.compareWithNativeDate = function (_a) {
59
58
  var year = _a.year, month = _a.month, date = _a.date;
60
- var nativeDate = InternalDateTransformer.componentsToNativeDate({ year: year, month: month, date: date });
59
+ var nativeDate = new Date(Date.UTC(year, month - 1, date));
61
60
  return (nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date);
62
61
  };
63
62
  InternalDateValidator.checkRangeFully = function (date, startDate, endDate) {
@@ -1 +1 @@
1
- {"version":3,"file":"InternalDateValidator.js","sourceRoot":"","sources":["InternalDateValidator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalDate } from './InternalDate.js';\nimport { InternalDateGetter } from './InternalDateGetter.js';\nimport { InternalDateTransformer } from './InternalDateTransformer.js';\nimport type { InternalDateComponentRaw, InternalDateComponentsNumber, InternalDateComponentsRaw } from './types.js';\nimport { InternalDateComponentType } from './types.js';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull(\n { year, month, date }: InternalDateComponentsRaw,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate = InternalDateTransformer.componentsToNativeDate({ year, month, date });\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value> {\n if (value !== null) {\n return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));\n }\n\n return false;\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n const areOrdersEqual = a.getOrder() === b.getOrder();\n const areSeparatorsEqual = a.getSeparator() === b.getSeparator();\n\n return areOrdersEqual && areSeparatorsEqual;\n }\n}\n"]}
1
+ {"version":3,"file":"InternalDateValidator.js","sourceRoot":"","sources":["InternalDateValidator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { InternalDate } from './InternalDate.js';\nimport { InternalDateGetter } from './InternalDateGetter.js';\nimport type { InternalDateComponentRaw, InternalDateComponentsNumber, InternalDateComponentsRaw } from './types.js';\nimport { InternalDateComponentType } from './types.js';\n\nconst calculateStartDate = (startDate: number | null) => {\n if (startDate) {\n return startDate;\n }\n\n return -Infinity;\n};\n\nconst calculateEndDate = (endDate: number | null) => {\n if (endDate) {\n return endDate;\n }\n\n return Infinity;\n};\n\nconst getValue = (type: InternalDateComponentType, { year, month, date }: InternalDateComponentsNumber) => {\n if (type === InternalDateComponentType.Year) {\n return year;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month;\n }\n\n return date;\n};\n\nexport class InternalDateValidator {\n public static checkForNull(\n { year, month, date }: InternalDateComponentsRaw,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n if (type === InternalDateComponentType.Year) {\n return year !== null;\n }\n\n if (type === InternalDateComponentType.Month) {\n return month !== null;\n }\n\n if (type === InternalDateComponentType.All) {\n return year !== null && month !== null && date !== null;\n }\n\n return date !== null;\n }\n\n return !(year === null || month === null || date === null);\n }\n\n public static checkLimits(\n { year, month, date }: InternalDateComponentsNumber,\n type?: InternalDateComponentType,\n ): boolean {\n if (type !== undefined) {\n const value = getValue(type, { date, month, year });\n\n return value >= InternalDateGetter.getDefaultMin(type) && value <= InternalDateGetter.getDefaultMax(type);\n }\n\n return (\n year >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Year) &&\n year <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Year) &&\n month >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Month) &&\n month <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Month) &&\n date >= InternalDateGetter.getDefaultMin(InternalDateComponentType.Date) &&\n date <= InternalDateGetter.getDefaultMax(InternalDateComponentType.Date)\n );\n }\n\n public static compareWithNativeDate({ year, month, date }: InternalDateComponentsNumber): boolean {\n const nativeDate = new Date(Date.UTC(year, month - 1, date));\n return (\n nativeDate.getUTCFullYear() === year && nativeDate.getUTCMonth() + 1 === month && nativeDate.getUTCDate() === date\n );\n }\n\n public static checkRangeFully(date: number, startDate: number | null, endDate: number | null): boolean {\n if (startDate === null && endDate === null) {\n return true;\n }\n\n const calculatedEndDate = calculateEndDate(endDate);\n const calculatedStartDate = calculateStartDate(startDate);\n return date >= calculatedStartDate && date <= calculatedEndDate;\n }\n\n public static checkRangePiecemeal(\n type: InternalDateComponentType,\n { year, month, date }: InternalDateComponentsNumber,\n startComponents: InternalDateComponentsNumber | null,\n endComponents: InternalDateComponentsNumber | null,\n ): boolean {\n if (startComponents === null && endComponents === null) {\n return true;\n }\n const {\n year: startYear = -Infinity,\n month: startMonth = -Infinity,\n date: startDate = -Infinity,\n } = startComponents || {};\n const { year: endYear = Infinity, month: endMonth = Infinity, date: endDate = Infinity } = endComponents || {};\n\n if (type === InternalDateComponentType.Year) {\n return !(year < startYear || year > endYear);\n } else if (type === InternalDateComponentType.Month) {\n return !((year === startYear && month < startMonth) || (year === endYear && month > endMonth));\n } else if (type === InternalDateComponentType.Date) {\n return !(\n (year === startYear && month === startMonth && date < startDate) ||\n (year === endYear && month === endMonth && date > endDate)\n );\n }\n return true;\n }\n\n public static testParseToNumber(value: InternalDateComponentRaw): value is NonNullable<typeof value> {\n if (value !== null) {\n return typeof value === 'number' || !Number.isNaN(parseInt(value, 10));\n }\n\n return false;\n }\n\n public static isEqualDateValues(a: InternalDate, b: InternalDate): boolean {\n return a.toInternalString() === b.toInternalString();\n }\n\n public static isEqualDateFormats(a: InternalDate, b: InternalDate): boolean {\n const areOrdersEqual = a.getOrder() === b.getOrder();\n const areSeparatorsEqual = a.getSeparator() === b.getSeparator();\n\n return areOrdersEqual && areSeparatorsEqual;\n }\n}\n"]}
@@ -1,12 +1,17 @@
1
1
  import { useMemo } from 'react';
2
2
  import { useGlobal } from '../renderEnvironment/index.js';
3
3
  import { isKeyArrow, isKeyTab } from './keyboard/identifiers.js';
4
+ var cache = new WeakMap();
4
5
  var KeyListener = /** @class */ (function () {
5
6
  function KeyListener(globalObject) {
6
7
  var _this = this;
7
8
  var _a, _b;
8
9
  this.isTabPressed = false;
9
10
  this.isArrowPressed = false;
11
+ var instance = cache.get(globalObject);
12
+ if (instance !== undefined) {
13
+ return instance;
14
+ }
10
15
  (_a = globalObject.addEventListener) === null || _a === void 0 ? void 0 : _a.call(globalObject, 'keydown', function (e) {
11
16
  _this.isTabPressed = isKeyTab(e);
12
17
  _this.isArrowPressed = isKeyArrow(e);
@@ -15,6 +20,7 @@ var KeyListener = /** @class */ (function () {
15
20
  _this.isTabPressed = false;
16
21
  _this.isArrowPressed = false;
17
22
  });
23
+ cache.set(globalObject, this);
18
24
  }
19
25
  return KeyListener;
20
26
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"keyListener.js","sourceRoot":"","sources":["keyListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEjE;IAGE,qBAAY,YAA0B;QAAtC,iBASC;;QAXM,iBAAY,GAAG,KAAK,CAAC;QACrB,mBAAc,GAAG,KAAK,CAAC;QAE5B,MAAA,YAAY,CAAC,gBAAgB,6DAAG,SAAS,EAAE,UAAC,CAAC;YAC3C,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,MAAA,YAAY,CAAC,gBAAgB,6DAAG,WAAW,EAAE;YAC3C,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC;IACH,kBAAC;AAAD,CAAC,AAbD,IAaC;;AAED,MAAM,UAAU,cAAc;IAC5B,IAAM,YAAY,GAAG,SAAS,EAAE,CAAC;IACjC,OAAO,OAAO,CAAC,cAAM,OAAA,IAAI,WAAW,CAAC,YAAY,CAAC,EAA7B,CAA6B,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import { useMemo } from 'react';\n\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { useGlobal } from '../renderEnvironment/index.js';\nimport { isKeyArrow, isKeyTab } from './keyboard/identifiers.js';\n\nexport class KeyListener {\n public isTabPressed = false;\n public isArrowPressed = false;\n constructor(globalObject: GlobalObject) {\n globalObject.addEventListener?.('keydown', (e) => {\n this.isTabPressed = isKeyTab(e);\n this.isArrowPressed = isKeyArrow(e);\n });\n globalObject.addEventListener?.('mousedown', () => {\n this.isTabPressed = false;\n this.isArrowPressed = false;\n });\n }\n}\n\nexport function useKeyListener(): KeyListener {\n const globalObject = useGlobal();\n return useMemo(() => new KeyListener(globalObject), [globalObject]);\n}\n"]}
1
+ {"version":3,"file":"keyListener.js","sourceRoot":"","sources":["keyListener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEjE,IAAM,KAAK,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEjD;IAGE,qBAAY,YAA0B;QAAtC,iBAgBC;;QAlBM,iBAAY,GAAG,KAAK,CAAC;QACrB,mBAAc,GAAG,KAAK,CAAC;QAE5B,IAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEzC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAA,YAAY,CAAC,gBAAgB,6DAAG,SAAS,EAAE,UAAC,CAAC;YAC3C,KAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,KAAI,CAAC,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,MAAA,YAAY,CAAC,gBAAgB,6DAAG,WAAW,EAAE;YAC3C,KAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,KAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IACH,kBAAC;AAAD,CAAC,AApBD,IAoBC;;AAED,MAAM,UAAU,cAAc;IAC5B,IAAM,YAAY,GAAG,SAAS,EAAE,CAAC;IACjC,OAAO,OAAO,CAAC,cAAM,OAAA,IAAI,WAAW,CAAC,YAAY,CAAC,EAA7B,CAA6B,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;AACtE,CAAC","sourcesContent":["import { useMemo } from 'react';\n\nimport type { GlobalObject } from '../../lib/globalObject.js';\nimport { useGlobal } from '../renderEnvironment/index.js';\nimport { isKeyArrow, isKeyTab } from './keyboard/identifiers.js';\n\nconst cache = new WeakMap<object, KeyListener>();\n\nexport class KeyListener {\n public isTabPressed = false;\n public isArrowPressed = false;\n constructor(globalObject: GlobalObject) {\n const instance = cache.get(globalObject);\n\n if (instance !== undefined) {\n return instance;\n }\n\n globalObject.addEventListener?.('keydown', (e) => {\n this.isTabPressed = isKeyTab(e);\n this.isArrowPressed = isKeyArrow(e);\n });\n globalObject.addEventListener?.('mousedown', () => {\n this.isTabPressed = false;\n this.isArrowPressed = false;\n });\n cache.set(globalObject, this);\n }\n}\n\nexport function useKeyListener(): KeyListener {\n const globalObject = useGlobal();\n return useMemo(() => new KeyListener(globalObject), [globalObject]);\n}\n"]}
@@ -5,8 +5,6 @@ export declare enum KeyboardEventCodes {
5
5
  KeyC = "KeyC",
6
6
  KeyV = "KeyV",
7
7
  KeyX = "KeyX",
8
- KeyY = "KeyY",
9
- KeyZ = "KeyZ",
10
8
  Enter = "Enter",
11
9
  Tab = "Tab",
12
10
  CapsLock = "CapsLock",
@@ -6,8 +6,6 @@ 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";
11
9
  KeyboardEventCodes["Enter"] = "Enter";
12
10
  KeyboardEventCodes["Tab"] = "Tab";
13
11
  KeyboardEventCodes["CapsLock"] = "CapsLock";
@@ -1 +1 @@
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"]}
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"]}
@@ -21,8 +21,6 @@ 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]],
26
24
  _a[Codes.NumpadDecimal] = [
27
25
  [110, NUMPAD],
28
26
  [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.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"]}
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"]}
@@ -6,8 +6,6 @@ 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;
11
9
  export declare const isShortcutJumpCaret: IS;
12
10
  export declare const isKeyEscape: IS;
13
11
  export declare const isKeyHome: IS;
@@ -17,12 +17,6 @@ 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
- };
26
20
  export var isShortcutJumpCaret = function (e) { return (isMac ? e.altKey : e.ctrlKey) && isKeyArrowHorizontal(e); };
27
21
  export var isKeyEscape = function (e) { return e.key === 'Escape' || e.key === 'Esc'; };
28
22
  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 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
+ {"version":3,"file":"identifiers.js","sourceRoot":"","sources":["identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAOtE,MAAM,CAAC,IAAM,cAAc,GAAO,UAAC,CAAC;IAClC,OAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC;QAClE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,GAAG,KAAK,MAAM;AAFhB,CAEgB,CAAC;AAEnB,MAAM,CAAC,IAAM,eAAe,GAAO,UAAC,CAAC;IACnC,OAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC;QAClE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,GAAG,KAAK,OAAO;AAFjB,CAEiB,CAAC;AAEpB,MAAM,CAAC,IAAM,aAAa,GAAO,UAAC,CAAC;IACjC,OAAA,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC;QAClE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,GAAG,KAAK,KAAK;AAFf,CAEe,CAAC;AAElB,MAAM,CAAC,IAAM,mBAAmB,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,EAAhE,CAAgE,CAAC;AAE/G,MAAM,CAAC,IAAM,mBAAmB,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,EAAzD,CAAyD,CAAC;AAExG,MAAM,CAAC,IAAM,WAAW,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAArC,CAAqC,CAAC;AAC5E,MAAM,CAAC,IAAM,SAAS,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,MAAM,EAAhB,CAAgB,CAAC;AACrD,MAAM,CAAC,IAAM,QAAQ,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAK,EAAf,CAAe,CAAC;AACnD,MAAM,CAAC,IAAM,SAAS,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAAnC,CAAmC,CAAC;AACxE,MAAM,CAAC,IAAM,YAAY,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,SAAS,EAAnB,CAAmB,CAAC;AAC3D,MAAM,CAAC,IAAM,UAAU,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,OAAO,EAAjB,CAAiB,CAAC;AACvD,MAAM,CAAC,IAAM,QAAQ,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAK,EAAf,CAAe,CAAC;AACnD,MAAM,CAAC,IAAM,WAAW,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,EAArC,CAAqC,CAAC;AAC5E,MAAM,CAAC,IAAM,cAAc,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,WAAW,EAArB,CAAqB,CAAC;AAC/D,MAAM,CAAC,IAAM,aAAa,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,UAAU,EAApB,CAAoB,CAAC;AAC7D,MAAM,CAAC,IAAM,WAAW,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAlB,CAAkB,CAAC;AACzD,MAAM,CAAC,IAAM,QAAQ,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,KAAK,EAAf,CAAe,CAAC;AACnD,MAAM,CAAC,IAAM,UAAU,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,OAAO,EAAjB,CAAiB,CAAC;AACvD,MAAM,CAAC,IAAM,YAAY,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,KAAK,IAAI,EAArC,CAAqC,CAAC;AAC7E,MAAM,CAAC,IAAM,eAAe,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,YAAY,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAA3C,CAA2C,CAAC;AACtF,MAAM,CAAC,IAAM,cAAc,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,EAAzC,CAAyC,CAAC;AACnF,MAAM,CAAC,IAAM,cAAc,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,CAAC,GAAG,KAAK,MAAM,EAAzC,CAAyC,CAAC;AACnF,MAAM,CAAC,IAAM,UAAU,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,UAAU,EAArC,CAAqC,CAAC;AAC3E,MAAM,CAAC,IAAM,UAAU,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,KAAK,GAAG,EAAb,CAAa,CAAC;AAEnD,MAAM,CAAC,IAAM,WAAW,GAAO,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAA9B,CAA8B,CAAC;AACrE,MAAM,CAAC,IAAM,mBAAmB,GAAO,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,EAAtC,CAAsC,CAAC;AACrF,MAAM,CAAC,IAAM,kBAAkB,GAAO,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,YAAY,EAArC,CAAqC,CAAC;AACnF,MAAM,CAAC,IAAM,oBAAoB,GAAO,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,cAAc,EAAvC,CAAuC,CAAC;AACvF,MAAM,CAAC,IAAM,WAAW,GAAO,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAA9B,CAA8B,CAAC;AACrE,MAAM,CAAC,IAAM,eAAe,GAAO,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,SAAS,EAAlC,CAAkC,CAAC;AAC7E,MAAM,CAAC,IAAM,mBAAmB,GAAO,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,aAAa,EAAtC,CAAsC,CAAC;AACrF,MAAM,CAAC,IAAM,WAAW,GAAO,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,EAA9B,CAA8B,CAAC;AACrE,MAAM,CAAC,IAAM,YAAY,GAAO,UAAC,CAAC,IAAK,OAAA,WAAW,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,EAA/B,CAA+B,CAAC;AAEvE,MAAM,CAAC,IAAM,oBAAoB,GAAO,UAAC,CAAC,IAAK,OAAA,eAAe,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAAvC,CAAuC,CAAC;AACvF,MAAM,CAAC,IAAM,kBAAkB,GAAO,UAAC,CAAC,IAAK,OAAA,YAAY,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,EAApC,CAAoC,CAAC;AAClF,MAAM,CAAC,IAAM,UAAU,GAAO,UAAC,CAAC,IAAK,OAAA,oBAAoB,CAAC,CAAC,CAAC,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAhD,CAAgD,CAAC;AACtF,MAAM,CAAC,IAAM,WAAW,GAAO,UAAC,CAAC,IAAK,OAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAnB,CAAmB,CAAC;AAC1D,MAAM,CAAC,IAAM,SAAS,GAAO,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAzB,CAAyB,CAAC;AAC9D,MAAM,CAAC,IAAM,OAAO,GAAO,UAAC,CAAC,IAAK,OAAA,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAA5C,CAA4C,CAAC;AAE/E,MAAM,CAAC,IAAM,UAAU,GAAU,UAAC,EAAE,IAAK,OAAA,UAAC,CAAC;IACzC,OAAA,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAAzE,CAAyE,EADlC,CACkC,CAAC;AAC5E,MAAM,CAAC,IAAM,YAAY,GAAU,UAAC,EAAE,IAAK,OAAA,UAAC,CAAC,IAAK,OAAA,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAvC,CAAuC,EAA9C,CAA8C,CAAC;AAC1F,MAAM,CAAC,IAAM,UAAU,GAAU,UAAC,EAAE,IAAK,OAAA,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAjC,CAAiC,EAAxC,CAAwC,CAAC;AAClF,MAAM,CAAC,IAAM,SAAS,GAAU,UAAC,EAAE,IAAK,OAAA,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAhC,CAAgC,EAAvC,CAAuC,CAAC;AAChF,MAAM,CAAC,IAAM,QAAQ,GAAU,UAAC,EAAE,IAAK,OAAA,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAA/B,CAA+B,EAAtC,CAAsC,CAAC;AAE9E,MAAM,CAAC,IAAM,QAAQ,GACnB;IAAC,aAAM;SAAN,UAAM,EAAN,qBAAM,EAAN,IAAM;QAAN,wBAAM;;IACP,OAAA,UAAC,CAAC;QACA,OAAA,GAAG,CAAC,IAAI,CAAC,UAAC,EAAE,IAAK,OAAA,EAAE,CAAC,CAAC,CAAC,EAAL,CAAK,CAAC;IAAvB,CAAuB;AADzB,CACyB,CAAC","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,7 +1,5 @@
1
1
  import React from 'react';
2
2
  export interface ReactUIFeatureFlags {
3
- /** Использовать MaskedInputV2 вместо MaskedInput в Autocomplete, ComboBox и FxInput. */
4
- useMaskedInputV2?: boolean;
5
3
  selectAutoScrollToSelectedItem?: boolean;
6
4
  }
7
5
  export declare const reactUIFeatureFlagsDefault: ReactUIFeatureFlags;
@@ -1,7 +1,6 @@
1
1
  import React from 'react';
2
2
  export var reactUIFeatureFlagsDefault = {
3
3
  selectAutoScrollToSelectedItem: false,
4
- useMaskedInputV2: false,
5
4
  };
6
5
  export var ReactUIFeatureFlagsContext = React.createContext(reactUIFeatureFlagsDefault);
7
6
  ReactUIFeatureFlagsContext.displayName = 'ReactUIFeatureFlagsContext';
@@ -1 +1 @@
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"]}
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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skbkontur/react-ui",
3
- "version": "6.1.4-ff219.0",
3
+ "version": "6.1.5",
4
4
  "description": "UI Components",
5
5
  "homepage": "https://tech.skbkontur.ru/kontur-ui",
6
6
  "bugs": {
@@ -82,9 +82,6 @@
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",
88
85
  "./components/MenuFooter": "./components/MenuFooter/index.js",
89
86
  "./components/MenuFooter/MenuFooter": "./components/MenuFooter/MenuFooter.js",
90
87
  "./components/MenuHeader": "./components/MenuHeader/index.js",
@@ -1,57 +0,0 @@
1
- import type { InputProps, InputType } from '../Input/index.js';
2
- import { Input } from '../Input/index.js';
3
- import { getDefinitions, getMaskChar } from './MaskedInputV2.helpers.js';
4
- import type { IMaskInputProps } from './react-imask/mixin.js';
5
- export type MaskedInputV2OnBeforePasteValue = (value: string) => string;
6
- export interface MaskedInputV2MaskedProps {
7
- /** Шаблон ввода, определяющий допустимые символы. */
8
- mask: string;
9
- /** Плейсхолдер, который отображается на месте ещё не введённых пользователем символов.
10
- * @default _ */
11
- maskChar?: string;
12
- /** Словарь правил для настройки маски, где:
13
- * ключ — символ для использования в маске;
14
- * значение — регулярка-правило.
15
- * @default { '9': '[0-9]', 'a': '[A-Za-z]', '*': '[A-Za-z0-9]' } */
16
- formatChars?: Record<string, string>;
17
- /** Всегда показывать символы маски, независимо от фокуса в поле.
18
- * @default false */
19
- alwaysShowMask?: boolean;
20
- /** Событие некорректного ввода.
21
- * Вторым аргументом передаётся метод вспыхивания рамки поля.
22
- *
23
- * Если обработчик не задан, то при событии рамка всегда вспыхивает.
24
- *
25
- * @param value значение поля
26
- * @param blink метод вспыхивания рамки поля
27
- */
28
- onUnexpectedInput?: (value: string, blink: () => void) => void;
29
- /**
30
- * Событие перед вставкой текста в поле.
31
- * Вызывается с аргументом value — текст из буфера.
32
- *
33
- * Обработчик должен вернуть текст — он попадёт в поле.
34
- *
35
- * @param value значение вставки.
36
- */
37
- onBeforePasteValue?: MaskedInputV2OnBeforePasteValue;
38
- /** Убирает из value символы маски, которые пользователь не вводил.
39
- * @default false */
40
- unmask?: boolean;
41
- /** Раскрашивает символы маски.
42
- * @default true
43
- * @ignore */
44
- colored?: boolean;
45
- /** Задает пропсы для компонента `IMaskInput`. Необходимы для юнит-тестов
46
- * @ignore */
47
- imaskProps?: IMaskInputProps<HTMLInputElement>;
48
- }
49
- export type MaskInputType = Exclude<InputType, 'number' | 'date' | 'time' | 'password'>;
50
- export declare const getSafeMaskInputType: (type?: InputType) => MaskInputType | undefined;
51
- export interface MaskedInputV2Props extends MaskedInputV2MaskedProps, Omit<InputProps, 'showClearIcon' | 'mask' | 'maxLength' | 'type' | 'alwaysShowMask' | 'onUnexpectedInput' | 'maskChar'> {
52
- type?: MaskInputType;
53
- }
54
- /** Поле ввода, которое ограничивает формат вводимого значения по заданной маске. Такое поле облегчает пользователю ввод и снижает количество ошибок.
55
- */
56
- export declare const MaskedInputV2: import("../../lib/forwardRefAndName.js").ReactUIComponentWithRef<Input, MaskedInputV2Props> & Record<never, never>;
57
- export { getDefinitions, getMaskChar };
@@ -1,9 +0,0 @@
1
- import { type Definitions } from './react-imask/imask/masked/pattern.js';
2
- export declare const DEFAULT_MASK_CHAR = "_";
3
- export declare const DEFINITIONS: Readonly<{
4
- '9': RegExp;
5
- a: RegExp;
6
- '*': RegExp;
7
- }>;
8
- export declare function getDefinitions(formatChars: Record<string, string> | undefined): Definitions;
9
- export declare function getMaskChar(maskChar: string | undefined): string;
@@ -1,17 +0,0 @@
1
- import { isNonNullable } from '../../lib/utils.js';
2
- export var DEFAULT_MASK_CHAR = '_';
3
- export var DEFINITIONS = Object.freeze({ '9': /[0-9]/, a: /[A-Za-z]/, '*': /[A-Za-z0-9]/ });
4
- export function getDefinitions(formatChars) {
5
- if (isNonNullable(formatChars)) {
6
- var chars = {};
7
- for (var key in formatChars) {
8
- chars[key] = new RegExp(formatChars[key]);
9
- }
10
- return chars;
11
- }
12
- return DEFINITIONS;
13
- }
14
- export function getMaskChar(maskChar) {
15
- return !maskChar ? DEFAULT_MASK_CHAR : maskChar;
16
- }
17
- //# sourceMappingURL=MaskedInputV2.helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MaskedInputV2.helpers.js","sourceRoot":"","sources":["MaskedInputV2.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,MAAM,CAAC,IAAM,iBAAiB,GAAG,GAAG,CAAC;AACrC,MAAM,CAAC,IAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;AAE9F,MAAM,UAAU,cAAc,CAAC,WAA+C;IAC5E,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,IAAM,KAAK,GAA2B,EAAE,CAAC;QAEzC,KAAK,IAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,QAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC;AAClD,CAAC","sourcesContent":["import { isNonNullable } from '../../lib/utils.js';\nimport { type Definitions } from './react-imask/imask/masked/pattern.js';\n\nexport const DEFAULT_MASK_CHAR = '_';\nexport const DEFINITIONS = Object.freeze({ '9': /[0-9]/, a: /[A-Za-z]/, '*': /[A-Za-z0-9]/ });\n\nexport function getDefinitions(formatChars: Record<string, string> | undefined): Definitions {\n if (isNonNullable(formatChars)) {\n const chars: Record<string, RegExp> = {};\n\n for (const key in formatChars) {\n chars[key] = new RegExp(formatChars[key]);\n }\n\n return chars;\n }\n\n return DEFINITIONS;\n}\n\nexport function getMaskChar(maskChar: string | undefined): string {\n return !maskChar ? DEFAULT_MASK_CHAR : maskChar;\n}\n"]}
@@ -1,234 +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, useLayoutEffect, useMemo, useRef, useState } from 'react';
24
- import { forwardRefAndName } from '../../lib/forwardRefAndName.js';
25
- import { useEmotion, useStyles } from '../../lib/renderEnvironment/index.js';
26
- import { ThemeContext } from '../../lib/theming/ThemeContext.js';
27
- import { Input } from '../Input/index.js';
28
- import { extractRaw, findNearestRawLeft } from './internal/helpers.js';
29
- import { MaskedCore } from './internal/MaskedCore.js';
30
- import { useMaskEngine } from './internal/useMaskEngine.js';
31
- import { getDefinitions, getMaskChar } from './MaskedInputV2.helpers.js';
32
- import { getStyles, globalClasses } from './MaskedInputV2.styles.js';
33
- var EMPTY_IMASK_PROPS = {};
34
- export var getSafeMaskInputType = function (type) {
35
- if (!type) {
36
- return type;
37
- }
38
- switch (type) {
39
- case 'number':
40
- case 'date':
41
- case 'time':
42
- case 'password':
43
- return 'text';
44
- default:
45
- return type;
46
- }
47
- };
48
- /** Поле ввода, которое ограничивает формат вводимого значения по заданной маске. Такое поле облегчает пользователю ввод и снижает количество ошибок.
49
- */
50
- export var MaskedInputV2 = forwardRefAndName('MaskedInputV2', function MaskedInputV2(props, ref) {
51
- var mask = props.mask, maskChar = props.maskChar, formatChars = props.formatChars, _a = props.alwaysShowMask, alwaysShowMask = _a === void 0 ? false : _a, _b = props.colored, colored = _b === void 0 ? true : _b, _c = props.imaskProps, customIMaskProps = _c === void 0 ? EMPTY_IMASK_PROPS : _c, _d = props.unmask, unmask = _d === void 0 ? false : _d, onValueChange = props.onValueChange, onUnexpectedInput = props.onUnexpectedInput, onBeforePasteValue = props.onBeforePasteValue, _element = props.element, className = props.className,
52
- // @ts-expect-error: могут передавать игнорируя ошибку
53
- maxLength = props.maxLength,
54
- // @ts-expect-error: могут передавать игнорируя ошибку
55
- _showClearIcon = props.showClearIcon, inputProps = __rest(props, ["mask", "maskChar", "formatChars", "alwaysShowMask", "colored", "imaskProps", "unmask", "onValueChange", "onUnexpectedInput", "onBeforePasteValue", "element", "className", "maxLength", "showClearIcon"]);
56
- var theme = useContext(ThemeContext);
57
- var cx = useEmotion().cx;
58
- var styles = useStyles(getStyles);
59
- var inputRef = useRef(null);
60
- var coreInputRef = useRef(null);
61
- var _e = useState(false), focused = _e[0], setFocused = _e[1];
62
- var prevMaskRef = useRef(props.mask);
63
- var pendingCursorRestoreRef = useRef(null);
64
- var historyRef = useRef([]);
65
- var historyIndexRef = useRef(-1);
66
- // Сохраняем позицию курсора перед сменой маски (render-phase read of stable ref).
67
- // При коммите DOM браузер сбросит курсор в конец из-за изменения value,
68
- // поэтому восстанавливаем его синхронно в useLayoutEffect ниже.
69
- if (prevMaskRef.current !== props.mask && coreInputRef.current) {
70
- pendingCursorRestoreRef.current = coreInputRef.current.selectionStart;
71
- prevMaskRef.current = props.mask;
72
- historyRef.current = [];
73
- historyIndexRef.current = -1;
74
- }
75
- // Движок: IMask как чистый калькулятор, не привязанный к DOM
76
- var engine = useMaskEngine({
77
- mask: mask,
78
- maskChar: maskChar,
79
- formatChars: formatChars,
80
- unmask: unmask,
81
- alwaysShowMask: alwaysShowMask,
82
- imaskProps: customIMaskProps,
83
- });
84
- // Единственный источник истины — raw (только то, что ввёл пользователь, без маски)
85
- var _f = useState(function () { var _a; return extractRaw(((_a = props.value) !== null && _a !== void 0 ? _a : props.defaultValue), engine); }), raw = _f[0], setRaw = _f[1];
86
- // MaskState вычисляется синхронно из raw — оба визуальных слоя читают из него
87
- var maskState = useMemo(function () { return engine.compute(raw, focused); }, [raw, focused, engine]);
88
- // Контролируемый режим: синхронизировать raw при изменении props.value
89
- useEffect(function () {
90
- if (props.value !== undefined) {
91
- setRaw(extractRaw(props.value, engine));
92
- }
93
- }, [props.value]);
94
- // Вызывать onValueChange только при реальном изменении outputValue,
95
- // и НЕ при первом рендере (воспроизводит нативное поведение onChange)
96
- var isFirstRender = useRef(true);
97
- var prevOutputValue = useRef(maskState.outputValue);
98
- useEffect(function () {
99
- if (isFirstRender.current) {
100
- isFirstRender.current = false;
101
- prevOutputValue.current = maskState.outputValue;
102
- return;
103
- }
104
- if (maskState.outputValue !== prevOutputValue.current) {
105
- prevOutputValue.current = maskState.outputValue;
106
- onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(maskState.outputValue);
107
- }
108
- }, [maskState.outputValue]);
109
- useImperativeHandle(ref, function () {
110
- if (!inputRef.current) {
111
- return null;
112
- }
113
- return Object.assign(inputRef.current, {
114
- selectAll: function () {
115
- var _a;
116
- (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
117
- // pendingCursorRef в MaskedCore может перекрыть setSelectionRange,
118
- // поэтому откладываем установку selection за один tick
119
- setTimeout(function () {
120
- var _a;
121
- (_a = coreInputRef.current) === null || _a === void 0 ? void 0 : _a.setSelectionRange(0, maskState.typedLength);
122
- }, 0);
123
- },
124
- });
125
- }, [maskState.typedLength]);
126
- useLayoutEffect(function () {
127
- if (pendingCursorRestoreRef.current !== null && coreInputRef.current) {
128
- coreInputRef.current.setSelectionRange(pendingCursorRestoreRef.current, pendingCursorRestoreRef.current);
129
- pendingCursorRestoreRef.current = null;
130
- }
131
- });
132
- return (React.createElement(Input, __assign({ ref: inputRef }, inputProps, { onFocus: handleFocus, onBlur: handleBlur, className: cx(globalClasses.root, className, styles.root(theme)), element: React.createElement(MaskedCore, { maskState: maskState, slotMap: engine.slotMap, engine: engine, focused: focused, currentRaw: raw, onRawChange: handleRawChange, onUnexpectedInput: triggerUnexpectedInput, onUndo: handleUndo, onRedo: handleRedo, coreInputRef: coreInputRef, colored: colored }) })));
133
- function handleRawChange(input, source, cursorPos) {
134
- if (source === 'paste') {
135
- handlePasteChange(input, cursorPos);
136
- }
137
- else {
138
- if (input !== raw && cursorPos !== undefined) {
139
- pushHistory(input, cursorPos);
140
- }
141
- setRaw(input);
142
- }
143
- }
144
- function handlePasteChange(pasted, cursorPos) {
145
- var _a;
146
- var el = coreInputRef.current;
147
- var selectionStart = (_a = el === null || el === void 0 ? void 0 : el.selectionStart) !== null && _a !== void 0 ? _a : 0;
148
- // Находим rawPos по maskedPos курсора
149
- var rawCursorPos = engine.slotMap.maskedToRaw[selectionStart] !== null && engine.slotMap.maskedToRaw[selectionStart] !== undefined
150
- ? engine.slotMap.maskedToRaw[selectionStart]
151
- : findNearestRawLeft(selectionStart, engine.slotMap);
152
- var transformed = onBeforePasteValue ? onBeforePasteValue(pasted) : pasted;
153
- var result = engine.applyPaste(raw, rawCursorPos, transformed);
154
- if (result.overflow) {
155
- // IF-1157: paste с overflow → onUnexpectedInput
156
- triggerUnexpectedInput();
157
- }
158
- if (result.raw !== raw) {
159
- var postPasteMaskState = engine.compute(result.raw, true);
160
- pushHistory(result.raw, cursorPos !== null && cursorPos !== void 0 ? cursorPos : postPasteMaskState.typedLength);
161
- }
162
- setRaw(result.raw);
163
- if (onBeforePasteValue && onValueChange) {
164
- // Legacy-контракт: при кастомной вставке наружу уходит результат onBeforePasteValue,
165
- // а не masked/unmasked outputValue (нужно для ComboBox и совместимости с IMaskInput).
166
- prevOutputValue.current = engine.compute(result.raw, focused).outputValue;
167
- onValueChange(transformed);
168
- }
169
- }
170
- function pushHistory(newRaw, cursorPos) {
171
- var MAX_HISTORY_LENGTH = 100;
172
- if (historyRef.current.length === 0) {
173
- historyRef.current.push({ raw: raw, cursorPos: 0 });
174
- historyIndexRef.current = 0;
175
- }
176
- if (historyIndexRef.current < historyRef.current.length - 1) {
177
- historyRef.current = historyRef.current.slice(0, historyIndexRef.current + 1);
178
- }
179
- historyRef.current.push({ raw: newRaw, cursorPos: cursorPos });
180
- if (historyRef.current.length > MAX_HISTORY_LENGTH) {
181
- historyRef.current.shift();
182
- }
183
- historyIndexRef.current = historyRef.current.length - 1;
184
- }
185
- function handleUndo() {
186
- if (historyRef.current.length === 0) {
187
- return;
188
- }
189
- var nextIndex = Math.max(0, historyIndexRef.current - 1);
190
- if (nextIndex !== historyIndexRef.current) {
191
- historyIndexRef.current = nextIndex;
192
- var state = historyRef.current[nextIndex];
193
- setRaw(state.raw);
194
- pendingCursorRestoreRef.current = state.cursorPos;
195
- }
196
- }
197
- function handleRedo() {
198
- if (historyRef.current.length === 0) {
199
- return;
200
- }
201
- var nextIndex = Math.min(historyRef.current.length - 1, historyIndexRef.current + 1);
202
- if (nextIndex !== historyIndexRef.current) {
203
- historyIndexRef.current = nextIndex;
204
- var state = historyRef.current[nextIndex];
205
- setRaw(state.raw);
206
- pendingCursorRestoreRef.current = state.cursorPos;
207
- }
208
- }
209
- function triggerUnexpectedInput() {
210
- var _a, _b;
211
- var blink = (_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.blink.bind(inputRef.current)) !== null && _b !== void 0 ? _b : (function () { return undefined; });
212
- onUnexpectedInput ? onUnexpectedInput(maskState.outputValue, blink) : blink();
213
- }
214
- function handleFocus(e) {
215
- var _a;
216
- setFocused(true);
217
- (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, e);
218
- if (props.selectAllOnFocus) {
219
- // Даём React время перерендериться с focused=true (обновится typedLength)
220
- setTimeout(function () {
221
- var _a;
222
- (_a = coreInputRef.current) === null || _a === void 0 ? void 0 : _a.setSelectionRange(0, maskState.typedLength);
223
- }, 0);
224
- }
225
- }
226
- function handleBlur(e) {
227
- var _a;
228
- setFocused(false);
229
- (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);
230
- }
231
- });
232
- // Вспомогательные функции для совместимости (используются в стори и тестах)
233
- export { getDefinitions, getMaskChar };
234
- //# sourceMappingURL=MaskedInputV2.js.map