@skbkontur/react-ui 6.1.4 → 6.1.6-084cd.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 (246) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/components/Button/Button.classes.d.ts +8 -0
  3. package/components/Button/Button.classes.js +10 -0
  4. package/components/Button/Button.classes.js.map +1 -0
  5. package/components/Button/Button.mixins.js +1 -1
  6. package/components/Button/Button.mixins.js.map +1 -1
  7. package/components/Button/Button.styles.d.ts +2 -8
  8. package/components/Button/Button.styles.js +3 -9
  9. package/components/Button/Button.styles.js.map +1 -1
  10. package/components/Calendar/Calendar.d.ts +2 -8
  11. package/components/Calendar/Calendar.js +2 -7
  12. package/components/Calendar/Calendar.js.map +1 -1
  13. package/components/Calendar/CalendarDay.js +1 -1
  14. package/components/Calendar/CalendarDay.js.map +1 -1
  15. package/components/Calendar/MonthView.js +1 -1
  16. package/components/Calendar/MonthView.js.map +1 -1
  17. package/components/Calendar/MonthViewModel.js +1 -2
  18. package/components/Calendar/MonthViewModel.js.map +1 -1
  19. package/components/Calendar/tids.d.ts +7 -0
  20. package/components/Calendar/tids.js +8 -0
  21. package/components/Calendar/tids.js.map +1 -0
  22. package/components/FxInput/FxInput.d.ts +1 -1
  23. package/components/FxInput/FxInput.js.map +1 -1
  24. package/components/MaskedInput/MaskedInput.d.ts +6 -2
  25. package/components/MaskedInput/MaskedInput.js +10 -126
  26. package/components/MaskedInput/MaskedInput.js.map +1 -1
  27. package/components/MaskedInput/MaskedInputLegacy.d.ts +3 -0
  28. package/components/MaskedInput/MaskedInputLegacy.js +142 -0
  29. package/components/MaskedInput/MaskedInputLegacy.js.map +1 -0
  30. package/components/MaskedInput/index.d.ts +1 -0
  31. package/components/MaskedInput/index.js +1 -0
  32. package/components/MaskedInput/index.js.map +1 -1
  33. package/components/MaskedInputV2/MaskedInputV2.d.ts +62 -0
  34. package/components/MaskedInputV2/MaskedInputV2.helpers.d.ts +9 -0
  35. package/components/MaskedInputV2/MaskedInputV2.helpers.js +17 -0
  36. package/components/MaskedInputV2/MaskedInputV2.helpers.js.map +1 -0
  37. package/components/MaskedInputV2/MaskedInputV2.js +307 -0
  38. package/components/MaskedInputV2/MaskedInputV2.js.map +1 -0
  39. package/components/MaskedInputV2/MaskedInputV2.phone.d.ts +27 -0
  40. package/components/MaskedInputV2/MaskedInputV2.phone.js +37 -0
  41. package/components/MaskedInputV2/MaskedInputV2.phone.js.map +1 -0
  42. package/components/MaskedInputV2/MaskedInputV2.styles.d.ts +7 -0
  43. package/components/MaskedInputV2/MaskedInputV2.styles.js +19 -0
  44. package/components/MaskedInputV2/MaskedInputV2.styles.js.map +1 -0
  45. package/components/MaskedInputV2/index.d.ts +2 -0
  46. package/components/MaskedInputV2/index.js +3 -0
  47. package/components/MaskedInputV2/index.js.map +1 -0
  48. package/components/MaskedInputV2/internal/MaskOverlay.d.ts +19 -0
  49. package/components/MaskedInputV2/internal/MaskOverlay.js +54 -0
  50. package/components/MaskedInputV2/internal/MaskOverlay.js.map +1 -0
  51. package/components/MaskedInputV2/internal/MaskedCore.d.ts +8 -0
  52. package/components/MaskedInputV2/internal/MaskedCore.js +186 -0
  53. package/components/MaskedInputV2/internal/MaskedCore.js.map +1 -0
  54. package/components/MaskedInputV2/internal/MaskedCore.types.d.ts +37 -0
  55. package/components/MaskedInputV2/internal/MaskedCore.types.js +2 -0
  56. package/components/MaskedInputV2/internal/MaskedCore.types.js.map +1 -0
  57. package/components/MaskedInputV2/internal/MaskedInternal.styles.d.ts +15 -0
  58. package/components/MaskedInputV2/internal/MaskedInternal.styles.js +34 -0
  59. package/components/MaskedInputV2/internal/MaskedInternal.styles.js.map +1 -0
  60. package/components/MaskedInputV2/internal/buildSlotMap.d.ts +11 -0
  61. package/components/MaskedInputV2/internal/buildSlotMap.js +37 -0
  62. package/components/MaskedInputV2/internal/buildSlotMap.js.map +1 -0
  63. package/components/MaskedInputV2/internal/computeMaskAlignPadding.d.ts +6 -0
  64. package/components/MaskedInputV2/internal/computeMaskAlignPadding.js +47 -0
  65. package/components/MaskedInputV2/internal/computeMaskAlignPadding.js.map +1 -0
  66. package/components/MaskedInputV2/internal/computePasteMaskedCursor.d.ts +3 -0
  67. package/components/MaskedInputV2/internal/computePasteMaskedCursor.js +11 -0
  68. package/components/MaskedInputV2/internal/computePasteMaskedCursor.js.map +1 -0
  69. package/components/MaskedInputV2/internal/extractRaw.d.ts +10 -0
  70. package/components/MaskedInputV2/internal/extractRaw.js +16 -0
  71. package/components/MaskedInputV2/internal/extractRaw.js.map +1 -0
  72. package/components/MaskedInputV2/internal/findNearestRawLeft.d.ts +10 -0
  73. package/components/MaskedInputV2/internal/findNearestRawLeft.js +18 -0
  74. package/components/MaskedInputV2/internal/findNearestRawLeft.js.map +1 -0
  75. package/components/MaskedInputV2/internal/helpers.d.ts +8 -0
  76. package/components/MaskedInputV2/internal/helpers.js +9 -0
  77. package/components/MaskedInputV2/internal/helpers.js.map +1 -0
  78. package/components/MaskedInputV2/internal/maskedCoreClipboard.d.ts +37 -0
  79. package/components/MaskedInputV2/internal/maskedCoreClipboard.js +52 -0
  80. package/components/MaskedInputV2/internal/maskedCoreClipboard.js.map +1 -0
  81. package/components/MaskedInputV2/internal/maskedCoreDeletion.d.ts +28 -0
  82. package/components/MaskedInputV2/internal/maskedCoreDeletion.js +70 -0
  83. package/components/MaskedInputV2/internal/maskedCoreDeletion.js.map +1 -0
  84. package/components/MaskedInputV2/internal/maskedCoreInputChange.d.ts +38 -0
  85. package/components/MaskedInputV2/internal/maskedCoreInputChange.js +49 -0
  86. package/components/MaskedInputV2/internal/maskedCoreInputChange.js.map +1 -0
  87. package/components/MaskedInputV2/internal/maskedCoreNavigation.d.ts +13 -0
  88. package/components/MaskedInputV2/internal/maskedCoreNavigation.js +79 -0
  89. package/components/MaskedInputV2/internal/maskedCoreNavigation.js.map +1 -0
  90. package/components/MaskedInputV2/internal/measureInputTextWidth.d.ts +2 -0
  91. package/components/MaskedInputV2/internal/measureInputTextWidth.js +30 -0
  92. package/components/MaskedInputV2/internal/measureInputTextWidth.js.map +1 -0
  93. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.d.ts +2 -0
  94. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js +25 -0
  95. package/components/MaskedInputV2/internal/setMaskInputSelectionRange.js.map +1 -0
  96. package/components/MaskedInputV2/internal/showOverlay.d.ts +3 -0
  97. package/components/MaskedInputV2/internal/showOverlay.js +16 -0
  98. package/components/MaskedInputV2/internal/showOverlay.js.map +1 -0
  99. package/components/MaskedInputV2/internal/stripMaskChars.d.ts +11 -0
  100. package/components/MaskedInputV2/internal/stripMaskChars.js +20 -0
  101. package/components/MaskedInputV2/internal/stripMaskChars.js.map +1 -0
  102. package/components/MaskedInputV2/internal/types.d.ts +74 -0
  103. package/components/MaskedInputV2/internal/types.js +2 -0
  104. package/components/MaskedInputV2/internal/types.js.map +1 -0
  105. package/components/MaskedInputV2/internal/useInputOverflow.d.ts +4 -0
  106. package/components/MaskedInputV2/internal/useInputOverflow.js +34 -0
  107. package/components/MaskedInputV2/internal/useInputOverflow.js.map +1 -0
  108. package/components/MaskedInputV2/internal/useMaskAlignPadding.d.ts +2 -0
  109. package/components/MaskedInputV2/internal/useMaskAlignPadding.js +33 -0
  110. package/components/MaskedInputV2/internal/useMaskAlignPadding.js.map +1 -0
  111. package/components/MaskedInputV2/internal/useMaskEngine.d.ts +42 -0
  112. package/components/MaskedInputV2/internal/useMaskEngine.js +84 -0
  113. package/components/MaskedInputV2/internal/useMaskEngine.js.map +1 -0
  114. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.d.ts +34 -0
  115. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js +311 -0
  116. package/components/MaskedInputV2/internal/useMaskedCoreHandlers.js.map +1 -0
  117. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.d.ts +16 -0
  118. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js +59 -0
  119. package/components/MaskedInputV2/react-imask/imask/controls/html-input-mask-element.js.map +1 -0
  120. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.d.ts +20 -0
  121. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js +106 -0
  122. package/components/MaskedInputV2/react-imask/imask/controls/html-mask-element.js.map +1 -0
  123. package/components/MaskedInputV2/react-imask/imask/controls/input-history.d.ts +17 -0
  124. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js +49 -0
  125. package/components/MaskedInputV2/react-imask/imask/controls/input-history.js.map +1 -0
  126. package/components/MaskedInputV2/react-imask/imask/controls/input.d.ts +95 -0
  127. package/components/MaskedInputV2/react-imask/imask/controls/input.js +420 -0
  128. package/components/MaskedInputV2/react-imask/imask/controls/input.js.map +1 -0
  129. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.d.ts +30 -0
  130. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js +59 -0
  131. package/components/MaskedInputV2/react-imask/imask/controls/mask-element.js.map +1 -0
  132. package/components/MaskedInputV2/react-imask/imask/core/action-details.d.ts +30 -0
  133. package/components/MaskedInputV2/react-imask/imask/core/action-details.js +100 -0
  134. package/components/MaskedInputV2/react-imask/imask/core/action-details.js.map +1 -0
  135. package/components/MaskedInputV2/react-imask/imask/core/change-details.d.ts +20 -0
  136. package/components/MaskedInputV2/react-imask/imask/core/change-details.js +46 -0
  137. package/components/MaskedInputV2/react-imask/imask/core/change-details.js.map +1 -0
  138. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.d.ts +21 -0
  139. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js +52 -0
  140. package/components/MaskedInputV2/react-imask/imask/core/continuous-tail-details.js.map +1 -0
  141. package/components/MaskedInputV2/react-imask/imask/core/holder.d.ts +34 -0
  142. package/components/MaskedInputV2/react-imask/imask/core/holder.js +38 -0
  143. package/components/MaskedInputV2/react-imask/imask/core/holder.js.map +1 -0
  144. package/components/MaskedInputV2/react-imask/imask/core/tail-details.d.ts +20 -0
  145. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js +2 -0
  146. package/components/MaskedInputV2/react-imask/imask/core/tail-details.js.map +1 -0
  147. package/components/MaskedInputV2/react-imask/imask/core/utils.d.ts +24 -0
  148. package/components/MaskedInputV2/react-imask/imask/core/utils.js +100 -0
  149. package/components/MaskedInputV2/react-imask/imask/core/utils.js.map +1 -0
  150. package/components/MaskedInputV2/react-imask/imask/imask.d.ts +5 -0
  151. package/components/MaskedInputV2/react-imask/imask/imask.js +7 -0
  152. package/components/MaskedInputV2/react-imask/imask/imask.js.map +1 -0
  153. package/components/MaskedInputV2/react-imask/imask/index.d.ts +17 -0
  154. package/components/MaskedInputV2/react-imask/imask/index.js +16 -0
  155. package/components/MaskedInputV2/react-imask/imask/index.js.map +1 -0
  156. package/components/MaskedInputV2/react-imask/imask/masked/base.d.ts +114 -0
  157. package/components/MaskedInputV2/react-imask/imask/masked/base.js +411 -0
  158. package/components/MaskedInputV2/react-imask/imask/masked/base.js.map +1 -0
  159. package/components/MaskedInputV2/react-imask/imask/masked/create.d.ts +14 -0
  160. package/components/MaskedInputV2/react-imask/imask/masked/create.js +11 -0
  161. package/components/MaskedInputV2/react-imask/imask/masked/create.js.map +1 -0
  162. package/components/MaskedInputV2/react-imask/imask/masked/factory.d.ts +62 -0
  163. package/components/MaskedInputV2/react-imask/imask/masked/factory.js +107 -0
  164. package/components/MaskedInputV2/react-imask/imask/masked/factory.js.map +1 -0
  165. package/components/MaskedInputV2/react-imask/imask/masked/pattern.d.ts +101 -0
  166. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js +549 -0
  167. package/components/MaskedInputV2/react-imask/imask/masked/pattern.js.map +1 -0
  168. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.d.ts +30 -0
  169. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js +2 -0
  170. package/components/MaskedInputV2/react-imask/imask/masked/patterns/block.js.map +1 -0
  171. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.d.ts +20 -0
  172. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js +182 -0
  173. package/components/MaskedInputV2/react-imask/imask/masked/patterns/chunk-tail-details.js.map +1 -0
  174. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.d.ts +31 -0
  175. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js +163 -0
  176. package/components/MaskedInputV2/react-imask/imask/masked/patterns/cursor.js.map +1 -0
  177. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.d.ts +42 -0
  178. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js +158 -0
  179. package/components/MaskedInputV2/react-imask/imask/masked/patterns/fixed-definition.js.map +1 -0
  180. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.d.ts +56 -0
  181. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js +185 -0
  182. package/components/MaskedInputV2/react-imask/imask/masked/patterns/input-definition.js.map +1 -0
  183. package/components/MaskedInputV2/react-imask/imask/masked/regexp.d.ts +17 -0
  184. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js +36 -0
  185. package/components/MaskedInputV2/react-imask/imask/masked/regexp.js.map +1 -0
  186. package/components/MaskedInputV2/react-imask/index.d.ts +3 -0
  187. package/components/MaskedInputV2/react-imask/index.js +4 -0
  188. package/components/MaskedInputV2/react-imask/index.js.map +1 -0
  189. package/components/MaskedInputV2/react-imask/input.d.ts +8 -0
  190. package/components/MaskedInputV2/react-imask/input.js +35 -0
  191. package/components/MaskedInputV2/react-imask/input.js.map +1 -0
  192. package/components/MaskedInputV2/react-imask/mixin.d.ts +31 -0
  193. package/components/MaskedInputV2/react-imask/mixin.js +246 -0
  194. package/components/MaskedInputV2/react-imask/mixin.js.map +1 -0
  195. package/components/MenuItem/MenuItem.mixins.d.ts +1 -0
  196. package/components/MenuItem/MenuItem.mixins.js +6 -1
  197. package/components/MenuItem/MenuItem.mixins.js.map +1 -1
  198. package/components/MenuItem/MenuItem.styles.d.ts +2 -1
  199. package/components/MenuItem/MenuItem.styles.js +2 -7
  200. package/components/MenuItem/MenuItem.styles.js.map +1 -1
  201. package/components/MiniModal/MiniModal.d.ts +2 -7
  202. package/components/MiniModal/MiniModal.js +2 -7
  203. package/components/MiniModal/MiniModal.js.map +1 -1
  204. package/components/MiniModal/MiniModalBody.js +1 -1
  205. package/components/MiniModal/MiniModalBody.js.map +1 -1
  206. package/components/MiniModal/MiniModalFooter.js +1 -1
  207. package/components/MiniModal/MiniModalFooter.js.map +1 -1
  208. package/components/MiniModal/MiniModalHeader.js +1 -1
  209. package/components/MiniModal/MiniModalHeader.js.map +1 -1
  210. package/components/MiniModal/MiniModalIndent.js +1 -1
  211. package/components/MiniModal/MiniModalIndent.js.map +1 -1
  212. package/components/MiniModal/tids.d.ts +7 -0
  213. package/components/MiniModal/tids.js +8 -0
  214. package/components/MiniModal/tids.js.map +1 -0
  215. package/components/Modal/Modal.constants.d.ts +9 -0
  216. package/components/Modal/Modal.constants.js +10 -0
  217. package/components/Modal/Modal.constants.js.map +1 -0
  218. package/components/Modal/Modal.d.ts +2 -10
  219. package/components/Modal/Modal.js +2 -9
  220. package/components/Modal/Modal.js.map +1 -1
  221. package/components/Modal/ModalBody.js +1 -1
  222. package/components/Modal/ModalBody.js.map +1 -1
  223. package/components/Modal/ModalClose.js +1 -1
  224. package/components/Modal/ModalClose.js.map +1 -1
  225. package/components/Toggle/Toggle.classes.d.ts +8 -0
  226. package/components/Toggle/Toggle.classes.js +10 -0
  227. package/components/Toggle/Toggle.classes.js.map +1 -0
  228. package/components/Toggle/Toggle.mixins.js +1 -1
  229. package/components/Toggle/Toggle.mixins.js.map +1 -1
  230. package/components/Toggle/Toggle.styles.d.ts +2 -8
  231. package/components/Toggle/Toggle.styles.js +3 -9
  232. package/components/Toggle/Toggle.styles.js.map +1 -1
  233. package/lib/date/InternalDateValidator.js +1 -2
  234. package/lib/date/InternalDateValidator.js.map +1 -1
  235. package/lib/events/keyboard/KeyboardEventCodes.d.ts +2 -0
  236. package/lib/events/keyboard/KeyboardEventCodes.js +2 -0
  237. package/lib/events/keyboard/KeyboardEventCodes.js.map +1 -1
  238. package/lib/events/keyboard/KeyboardMapKeys.js +2 -0
  239. package/lib/events/keyboard/KeyboardMapKeys.js.map +1 -1
  240. package/lib/events/keyboard/identifiers.d.ts +2 -0
  241. package/lib/events/keyboard/identifiers.js +6 -0
  242. package/lib/events/keyboard/identifiers.js.map +1 -1
  243. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.d.ts +1 -0
  244. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js +1 -0
  245. package/lib/featureFlagsContext/ReactUIFeatureFlagsContext.js.map +1 -1
  246. package/package.json +4 -1
@@ -0,0 +1,62 @@
1
+ import { Masked, type MaskedOptions } from './base.js';
2
+ import type { MaskedPattern, MaskedPatternOptions } from './pattern.js';
3
+ import { MaskedRegExp, type MaskedRegExpOptions } from './regexp.js';
4
+ export type FactoryStaticOpts = MaskedPatternOptions | MaskedRegExpOptions;
5
+ export type AllFactoryStaticOpts = MaskedPatternOptions & MaskedRegExpOptions;
6
+ export type FactoryStaticReturnMasked<Opts extends FactoryStaticOpts> = Opts extends MaskedPatternOptions ? MaskedPattern : Opts extends MaskedRegExpOptions ? MaskedRegExp : never;
7
+ export type FactoryStaticMaskReturnMasked<Mask extends FactoryStaticOpts['mask']> = Mask extends MaskedPatternOptions['mask'] ? MaskedPattern : Mask extends MaskedRegExpOptions['mask'] ? MaskedRegExp : never;
8
+ export type FactoryInstanceOpts = ({
9
+ mask: MaskedRegExp;
10
+ } & Omit<MaskedRegExpOptions, 'mask'>) | ({
11
+ mask: MaskedPattern;
12
+ } & Omit<MaskedPatternOptions, 'mask'>) | ({
13
+ mask: Masked;
14
+ } & Omit<MaskedOptions, 'mask'>);
15
+ export type FactoryInstanceReturnMasked<Opts extends FactoryInstanceOpts> = Opts extends {
16
+ mask: infer M;
17
+ } ? M : never;
18
+ export type FactoryConstructorOpts = ({
19
+ mask: typeof MaskedRegExp;
20
+ } & Omit<MaskedRegExpOptions, 'mask'>) | ({
21
+ mask: typeof MaskedPattern;
22
+ } & Omit<MaskedPatternOptions, 'mask'>) | ({
23
+ mask: typeof Masked;
24
+ } & Omit<MaskedOptions, 'mask'>);
25
+ export type FactoryConstructorReturnMasked<Opts extends FactoryConstructorOpts> = Opts extends {
26
+ mask: typeof MaskedRegExp;
27
+ } ? MaskedRegExp : Opts extends {
28
+ mask: typeof MaskedPattern;
29
+ } ? MaskedPattern : Masked;
30
+ export type FactoryOpts = FactoryConstructorOpts | FactoryInstanceOpts | FactoryStaticOpts;
31
+ export type FactoryArg = Masked | FactoryOpts | FactoryStaticOpts['mask'];
32
+ export type ExtendFactoryArgOptions<Opts extends {
33
+ [key: string]: any;
34
+ }> = Masked | (FactoryOpts & Opts) | FactoryStaticOpts['mask'];
35
+ export type UpdateStaticOpts<Opts extends FactoryStaticOpts> = Opts extends MaskedPatternOptions ? MaskedPatternOptions : Opts extends MaskedRegExpOptions ? MaskedRegExpOptions : never;
36
+ type AnyOpts = Record<string, any>;
37
+ export type UpdateInstanceOpts<M extends Masked> = M extends MaskedRegExp ? MaskedRegExpOptions : M extends MaskedPattern ? MaskedPatternOptions : AnyOpts;
38
+ export type UpdateConstructorOpts<M extends FactoryConstructorOpts> = M extends {
39
+ mask: typeof MaskedRegExp;
40
+ } ? MaskedRegExpOptions : M extends {
41
+ mask: typeof MaskedPattern;
42
+ } ? MaskedPatternOptions : AnyOpts;
43
+ export type UpdateStaticMaskOpts<M extends FactoryStaticOpts['mask']> = M extends MaskedPatternOptions['mask'] ? MaskedPatternOptions : M extends MaskedRegExpOptions['mask'] ? MaskedRegExpOptions : never;
44
+ export type UpdateOpts<Opts extends FactoryArg> = Partial<Opts extends Masked ? UpdateInstanceOpts<Opts> : Opts extends FactoryStaticOpts['mask'] ? UpdateStaticMaskOpts<Opts> : Opts extends FactoryStaticOpts ? UpdateStaticOpts<Opts> : Opts extends FactoryInstanceOpts ? UpdateInstanceOpts<Opts['mask']> : Opts extends FactoryConstructorOpts ? UpdateConstructorOpts<Opts> : AnyOpts>;
45
+ export type FactoryReturnMasked<Opts extends FactoryArg> = Opts extends Masked ? Opts : Opts extends FactoryStaticOpts['mask'] ? FactoryStaticMaskReturnMasked<Opts> : Opts extends FactoryConstructorOpts ? FactoryConstructorReturnMasked<Opts> : Opts extends FactoryInstanceOpts ? FactoryInstanceReturnMasked<Opts> : Opts extends FactoryStaticOpts ? FactoryStaticReturnMasked<Opts> : never;
46
+ /** Get Masked class by mask type */
47
+ export declare function maskedClass(mask: Masked | FactoryOpts['mask']): typeof MaskedPattern | typeof MaskedRegExp | typeof Masked;
48
+ type MaskedClassOf<M extends Masked> = M extends MaskedRegExp ? typeof MaskedRegExp : M extends MaskedPattern ? typeof MaskedPattern : any;
49
+ type NormalizedMaskedOpts<Opts extends Masked> = Omit<Opts, 'mask'> & {
50
+ _mask: Opts;
51
+ mask: MaskedClassOf<Opts>;
52
+ };
53
+ type NormalizedInstanceOpts<Opts extends FactoryInstanceOpts> = Omit<Opts['mask'], `_${string}` | 'mask'> & NormalizedMaskedOpts<Opts['mask']>;
54
+ export type NormalizedOpts<Opts extends FactoryArg> = Opts extends FactoryStaticOpts['mask'] ? {
55
+ mask: Opts;
56
+ } : Opts extends Masked ? NormalizedMaskedOpts<Opts> : Opts extends FactoryInstanceOpts ? NormalizedInstanceOpts<Opts> : Opts extends FactoryStaticOpts | FactoryConstructorOpts ? Opts : {
57
+ mask: Opts;
58
+ };
59
+ export declare function normalizeOpts<Opts extends FactoryArg>(opts: Opts): NormalizedOpts<Opts>;
60
+ /** Creates new {@link Masked} depending on mask type */
61
+ export declare function createMask<Opts extends FactoryArg>(opts: Opts): FactoryReturnMasked<Opts>;
62
+ export {};
@@ -0,0 +1,107 @@
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 { isString, pick, isObject } from '../core/utils.js';
24
+ import { Masked } from './base.js';
25
+ import { MaskedRegExp } from './regexp.js';
26
+ /** Set by pattern.ts to break the factory ↔ pattern import cycle. */
27
+ var MaskedPatternClass;
28
+ /** @internal */
29
+ export function registerMaskedPatternClass(Class) {
30
+ MaskedPatternClass = Class;
31
+ }
32
+ function getMaskedPatternClass() {
33
+ if (!MaskedPatternClass) {
34
+ throw new Error('MaskedPattern is not registered. Import pattern module before creating a pattern mask.');
35
+ }
36
+ return MaskedPatternClass;
37
+ }
38
+ /** Get Masked class by mask type */
39
+ export function maskedClass(mask) {
40
+ // eslint-disable-next-line eqeqeq
41
+ if (mask == null) {
42
+ throw new Error('mask property should be defined');
43
+ }
44
+ if (mask instanceof RegExp) {
45
+ return MaskedRegExp;
46
+ }
47
+ if (isString(mask)) {
48
+ return getMaskedPatternClass();
49
+ }
50
+ if (mask.prototype instanceof Masked) {
51
+ return mask;
52
+ }
53
+ if (mask instanceof Masked) {
54
+ return mask.constructor;
55
+ }
56
+ console.warn('Mask not found for mask', mask);
57
+ return Masked;
58
+ }
59
+ export function normalizeOpts(opts) {
60
+ if (!opts) {
61
+ throw new Error('Options in not defined');
62
+ }
63
+ if (typeof opts === 'function' && opts.prototype instanceof Masked) {
64
+ return { mask: opts };
65
+ }
66
+ /*
67
+ handle cases like:
68
+ 1) opts = Masked
69
+ 2) opts = { mask: Masked, ...instanceOpts }
70
+ */
71
+ var _a =
72
+ // eslint-disable-next-line no-nested-ternary
73
+ opts instanceof Masked
74
+ ? { mask: opts }
75
+ : isObject(opts) && opts.mask instanceof Masked
76
+ ? opts
77
+ : {}, _b = _a.mask, mask = _b === void 0 ? undefined : _b, instanceOpts = __rest(_a, ["mask"]);
78
+ if (mask) {
79
+ var _mask = mask.mask;
80
+ return __assign(__assign(__assign({}, pick(mask, function (_, k) { return !k.startsWith('_'); })), { mask: mask.constructor, _mask: _mask }), instanceOpts);
81
+ }
82
+ if (!isObject(opts)) {
83
+ return { mask: opts };
84
+ }
85
+ return __assign({}, opts);
86
+ }
87
+ /** Creates new {@link Masked} depending on mask type */
88
+ export function createMask(opts) {
89
+ if (opts instanceof Masked) {
90
+ return opts;
91
+ }
92
+ var nOpts = normalizeOpts(opts);
93
+ var MaskedClass = maskedClass(nOpts.mask);
94
+ if (!MaskedClass) {
95
+ throw new Error("Masked class is not found for provided mask ".concat(nOpts.mask, ", appropriate module needs to be imported manually before creating mask."));
96
+ }
97
+ if (nOpts.mask === MaskedClass) {
98
+ delete nOpts.mask;
99
+ }
100
+ var nOptsWithInternal = nOpts;
101
+ if (nOptsWithInternal._mask !== undefined && nOptsWithInternal._mask !== null) {
102
+ nOptsWithInternal.mask = nOptsWithInternal._mask;
103
+ delete nOptsWithInternal._mask;
104
+ }
105
+ return new MaskedClass(nOpts);
106
+ }
107
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["factory.ts"],"names":[],"mappings":"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","sourcesContent":["import { isString, pick, isObject } from '../core/utils.js';\nimport { Masked, type MaskedOptions } from './base.js';\nimport type { MaskedPattern, MaskedPatternOptions } from './pattern.js';\nimport { MaskedRegExp, type MaskedRegExpOptions } from './regexp.js';\n\ntype MaskedPatternConstructor = typeof MaskedPattern;\n\n/** Set by pattern.ts to break the factory ↔ pattern import cycle. */\nlet MaskedPatternClass: MaskedPatternConstructor | undefined;\n\n/** @internal */\nexport function registerMaskedPatternClass(Class: MaskedPatternConstructor): void {\n MaskedPatternClass = Class;\n}\n\nfunction getMaskedPatternClass(): MaskedPatternConstructor {\n if (!MaskedPatternClass) {\n throw new Error('MaskedPattern is not registered. Import pattern module before creating a pattern mask.');\n }\n return MaskedPatternClass;\n}\n\nexport type FactoryStaticOpts = MaskedPatternOptions | MaskedRegExpOptions;\n\nexport type AllFactoryStaticOpts = MaskedPatternOptions & MaskedRegExpOptions;\n\nexport type FactoryStaticReturnMasked<Opts extends FactoryStaticOpts> = Opts extends MaskedPatternOptions\n ? MaskedPattern\n : Opts extends MaskedRegExpOptions\n ? MaskedRegExp\n : never;\n\nexport type FactoryStaticMaskReturnMasked<Mask extends FactoryStaticOpts['mask']> =\n Mask extends MaskedPatternOptions['mask']\n ? MaskedPattern\n : Mask extends MaskedRegExpOptions['mask']\n ? MaskedRegExp\n : never;\n\nexport type FactoryInstanceOpts =\n | ({ mask: MaskedRegExp } & Omit<MaskedRegExpOptions, 'mask'>)\n | ({ mask: MaskedPattern } & Omit<MaskedPatternOptions, 'mask'>)\n | ({ mask: Masked } & Omit<MaskedOptions, 'mask'>);\n\nexport type FactoryInstanceReturnMasked<Opts extends FactoryInstanceOpts> = Opts extends { mask: infer M } ? M : never;\n\nexport type FactoryConstructorOpts =\n | ({ mask: typeof MaskedRegExp } & Omit<MaskedRegExpOptions, 'mask'>)\n | ({ mask: typeof MaskedPattern } & Omit<MaskedPatternOptions, 'mask'>)\n | ({ mask: typeof Masked } & Omit<MaskedOptions, 'mask'>);\n\nexport type FactoryConstructorReturnMasked<Opts extends FactoryConstructorOpts> = Opts extends {\n mask: typeof MaskedRegExp;\n}\n ? MaskedRegExp\n : Opts extends { mask: typeof MaskedPattern }\n ? MaskedPattern\n : Masked;\n\nexport type FactoryOpts = FactoryConstructorOpts | FactoryInstanceOpts | FactoryStaticOpts;\n\nexport type FactoryArg = Masked | FactoryOpts | FactoryStaticOpts['mask'];\n\nexport type ExtendFactoryArgOptions<Opts extends { [key: string]: any }> =\n | Masked\n | (FactoryOpts & Opts)\n | FactoryStaticOpts['mask'];\n\nexport type UpdateStaticOpts<Opts extends FactoryStaticOpts> = Opts extends MaskedPatternOptions\n ? MaskedPatternOptions\n : Opts extends MaskedRegExpOptions\n ? MaskedRegExpOptions\n : never;\n\ntype AnyOpts = Record<string, any>;\n\nexport type UpdateInstanceOpts<M extends Masked> = M extends MaskedRegExp\n ? MaskedRegExpOptions\n : M extends MaskedPattern\n ? MaskedPatternOptions\n : AnyOpts;\n\nexport type UpdateConstructorOpts<M extends FactoryConstructorOpts> = M extends { mask: typeof MaskedRegExp }\n ? MaskedRegExpOptions\n : M extends { mask: typeof MaskedPattern }\n ? MaskedPatternOptions\n : AnyOpts;\n\nexport type UpdateStaticMaskOpts<M extends FactoryStaticOpts['mask']> = M extends MaskedPatternOptions['mask']\n ? MaskedPatternOptions\n : M extends MaskedRegExpOptions['mask']\n ? MaskedRegExpOptions\n : never;\n\nexport type UpdateOpts<Opts extends FactoryArg> = Partial<\n Opts extends Masked\n ? UpdateInstanceOpts<Opts>\n : Opts extends FactoryStaticOpts['mask']\n ? UpdateStaticMaskOpts<Opts>\n : Opts extends FactoryStaticOpts\n ? UpdateStaticOpts<Opts>\n : Opts extends FactoryInstanceOpts\n ? UpdateInstanceOpts<Opts['mask']>\n : Opts extends FactoryConstructorOpts\n ? UpdateConstructorOpts<Opts>\n : AnyOpts\n>;\n\nexport type FactoryReturnMasked<Opts extends FactoryArg> = Opts extends Masked\n ? Opts\n : Opts extends FactoryStaticOpts['mask']\n ? FactoryStaticMaskReturnMasked<Opts>\n : Opts extends FactoryConstructorOpts\n ? FactoryConstructorReturnMasked<Opts>\n : Opts extends FactoryInstanceOpts\n ? FactoryInstanceReturnMasked<Opts>\n : Opts extends FactoryStaticOpts\n ? FactoryStaticReturnMasked<Opts>\n : never;\n\n/** Get Masked class by mask type */\nexport function maskedClass(\n mask: Masked | FactoryOpts['mask'],\n): typeof MaskedPattern | typeof MaskedRegExp | typeof Masked {\n // eslint-disable-next-line eqeqeq\n if (mask == null) {\n throw new Error('mask property should be defined');\n }\n\n if (mask instanceof RegExp) {\n return MaskedRegExp;\n }\n if (isString(mask)) {\n return getMaskedPatternClass();\n }\n if ((mask as { prototype?: unknown }).prototype instanceof Masked) {\n return mask as typeof MaskedPattern | typeof MaskedRegExp | typeof Masked;\n }\n if (mask instanceof Masked) {\n return mask.constructor as typeof MaskedPattern | typeof MaskedRegExp | typeof Masked;\n }\n\n console.warn('Mask not found for mask', mask);\n return Masked;\n}\n\ntype MaskedClassOf<M extends Masked> = M extends MaskedRegExp\n ? typeof MaskedRegExp\n : M extends MaskedPattern\n ? typeof MaskedPattern\n : any;\n\ntype NormalizedMaskedOpts<Opts extends Masked> = Omit<Opts, 'mask'> & {\n _mask: Opts;\n mask: MaskedClassOf<Opts>;\n};\n\ntype NormalizedInstanceOpts<Opts extends FactoryInstanceOpts> = Omit<Opts['mask'], `_${string}` | 'mask'> &\n NormalizedMaskedOpts<Opts['mask']>;\n\nexport type NormalizedOpts<Opts extends FactoryArg> = Opts extends FactoryStaticOpts['mask']\n ? { mask: Opts }\n : Opts extends Masked\n ? NormalizedMaskedOpts<Opts>\n : Opts extends FactoryInstanceOpts\n ? NormalizedInstanceOpts<Opts>\n : Opts extends FactoryStaticOpts | FactoryConstructorOpts\n ? Opts\n : { mask: Opts };\n\nexport function normalizeOpts<Opts extends FactoryArg>(opts: Opts): NormalizedOpts<Opts> {\n if (!opts) {\n throw new Error('Options in not defined');\n }\n\n if (typeof opts === 'function' && (opts as { prototype?: unknown }).prototype instanceof Masked) {\n return { mask: opts } as unknown as NormalizedOpts<Opts>;\n }\n\n /*\n handle cases like:\n 1) opts = Masked\n 2) opts = { mask: Masked, ...instanceOpts }\n */\n const { mask = undefined, ...instanceOpts } =\n // eslint-disable-next-line no-nested-ternary\n opts instanceof Masked\n ? { mask: opts }\n : isObject(opts) && (opts as FactoryInstanceOpts).mask instanceof Masked\n ? (opts as FactoryInstanceOpts)\n : {};\n\n if (mask) {\n const _mask = (mask as Masked).mask;\n\n return {\n ...pick(mask, (_, k: string) => !k.startsWith('_')),\n mask: mask.constructor,\n _mask,\n ...instanceOpts,\n } as NormalizedOpts<Opts>;\n }\n\n if (!isObject(opts)) {\n return { mask: opts } as unknown as NormalizedOpts<Opts>;\n }\n\n return { ...opts } as unknown as NormalizedOpts<Opts>;\n}\n\n/** Creates new {@link Masked} depending on mask type */\nexport function createMask<Opts extends FactoryArg>(opts: Opts): FactoryReturnMasked<Opts> {\n if (opts instanceof Masked) {\n return opts as FactoryReturnMasked<Opts>;\n }\n const nOpts = normalizeOpts(opts);\n\n const MaskedClass = maskedClass(nOpts.mask);\n if (!MaskedClass) {\n throw new Error(\n `Masked class is not found for provided mask ${nOpts.mask}, appropriate module needs to be imported manually before creating mask.`,\n );\n }\n\n if (nOpts.mask === MaskedClass) {\n delete nOpts.mask;\n }\n const nOptsWithInternal = nOpts as NormalizedOpts<Opts> & { _mask?: unknown };\n if (nOptsWithInternal._mask !== undefined && nOptsWithInternal._mask !== null) {\n nOptsWithInternal.mask = nOptsWithInternal._mask as NormalizedOpts<Opts>['mask'];\n delete nOptsWithInternal._mask;\n }\n return new (MaskedClass as unknown as new (opts: unknown) => FactoryReturnMasked<Opts>)(nOpts);\n}\n"]}
@@ -0,0 +1,101 @@
1
+ import { ChangeDetails } from '../core/change-details.js';
2
+ import { type TailDetails } from '../core/tail-details.js';
3
+ import { type Direction } from '../core/utils.js';
4
+ import { Masked, type AppendFlags, type ExtractFlags, type MaskedOptions, type MaskedState } from './base.js';
5
+ import { type FactoryArg, type ExtendFactoryArgOptions } from './factory.js';
6
+ import type { PatternBlock } from './patterns/block.js';
7
+ import { PatternFixedDefinition } from './patterns/fixed-definition.js';
8
+ import { PatternInputDefinition } from './patterns/input-definition.js';
9
+ import './regexp.js';
10
+ export type MaskedPatternOptions<Value = string, M extends MaskedPattern<Value> = MaskedPattern<Value>, Props extends keyof M = never> = MaskedOptions<M, 'definitions' | 'blocks' | 'placeholderChar' | 'displayChar' | 'lazy' | Props>;
11
+ export interface Definitions {
12
+ [k: string]: FactoryArg;
13
+ }
14
+ export type MaskedPatternState = MaskedState & {
15
+ _blocks: MaskedState[];
16
+ };
17
+ export interface BlockPosData {
18
+ index: number;
19
+ offset: number;
20
+ }
21
+ export interface BlockExtraOptions {
22
+ expose?: boolean;
23
+ }
24
+ /** Pattern mask */
25
+ export declare class MaskedPattern<Value = string> extends Masked<Value> {
26
+ static DEFAULTS: {
27
+ lazy: boolean;
28
+ placeholderChar: string;
29
+ skipInvalid?: boolean | undefined | undefined;
30
+ };
31
+ static STOP_CHAR: string;
32
+ static ESCAPE_CHAR: string;
33
+ static InputDefinition: typeof PatternInputDefinition;
34
+ static FixedDefinition: typeof PatternFixedDefinition;
35
+ mask: string;
36
+ /** */
37
+ blocks: {
38
+ [key: string]: ExtendFactoryArgOptions<BlockExtraOptions>;
39
+ };
40
+ /** */
41
+ definitions: Definitions;
42
+ /** Single char for empty input */
43
+ placeholderChar: string;
44
+ /** Single char for filled input */
45
+ displayChar: string;
46
+ /** Show placeholder only when needed */
47
+ lazy: boolean;
48
+ /** Enable characters overwriting */
49
+ overwrite?: boolean | 'shift' | undefined;
50
+ /** */
51
+ eager?: boolean | 'remove' | 'append' | undefined;
52
+ /** */
53
+ skipInvalid?: boolean | undefined;
54
+ /** */
55
+ autofix?: boolean | 'pad' | undefined;
56
+ _blocks: PatternBlock[];
57
+ _maskedBlocks: {
58
+ [key: string]: number[];
59
+ };
60
+ _stops: number[];
61
+ exposeBlock?: Masked;
62
+ constructor(opts: MaskedPatternOptions<Value>);
63
+ updateOptions(opts: Partial<MaskedPatternOptions<Value>>): void;
64
+ _update(opts: Partial<MaskedPatternOptions<Value>>): void;
65
+ _rebuildMask(): void;
66
+ get state(): MaskedPatternState;
67
+ set state(state: MaskedPatternState);
68
+ reset(): void;
69
+ get isComplete(): boolean;
70
+ get isFilled(): boolean;
71
+ get isFixed(): boolean;
72
+ get isOptional(): boolean;
73
+ doCommit(): void;
74
+ get unmaskedValue(): string;
75
+ set unmaskedValue(unmaskedValue: string);
76
+ get value(): string;
77
+ set value(value: string);
78
+ get typedValue(): Value;
79
+ set typedValue(value: Value);
80
+ get displayValue(): string;
81
+ appendTail(tail: string | TailDetails): ChangeDetails;
82
+ _appendEager(): ChangeDetails;
83
+ _appendCharRaw(ch: string, flags?: AppendFlags<MaskedPatternState>): ChangeDetails;
84
+ extractTail(fromPos?: number, toPos?: number): TailDetails;
85
+ extractInput(fromPos?: number, toPos?: number, flags?: ExtractFlags): string;
86
+ _findStopBefore(blockIndex: number): number | undefined;
87
+ /** Appends placeholder depending on laziness */
88
+ _appendPlaceholder(toBlockIndex?: number): ChangeDetails;
89
+ /** Finds block in pos */
90
+ _mapPosToBlock(pos: number): BlockPosData | undefined;
91
+ _blockStartPos(blockIndex: number): number;
92
+ _forEachBlocksInRange(fromPos: number, toPos: number | undefined, fn: (block: PatternBlock, blockIndex: number, fromPos: number, toPos: number) => void): void;
93
+ remove(fromPos?: number, toPos?: number): ChangeDetails;
94
+ nearestInputPos(cursorPos: number, direction?: Direction): number;
95
+ totalInputPositions(fromPos?: number, toPos?: number): number;
96
+ /** Get block by name */
97
+ maskedBlock(name: string): PatternBlock | undefined;
98
+ /** Get all blocks by name */
99
+ maskedBlocks(name: string): PatternBlock[];
100
+ pad(flags?: AppendFlags): ChangeDetails;
101
+ }