@salutejs/plasma-new-hope 0.144.0-canary.1418.10833167538.0 → 0.144.0-canary.1430.10833771822.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. package/cjs/components/Editable/Editable.css +8 -0
  2. package/cjs/components/Editable/Editable.js +155 -0
  3. package/cjs/components/Editable/Editable.js.map +1 -0
  4. package/cjs/components/Editable/Editable.styles.js +38 -0
  5. package/cjs/components/Editable/Editable.styles.js.map +1 -0
  6. package/cjs/components/Editable/Editable.styles_somxw2.css +4 -0
  7. package/cjs/components/Editable/Editable.tokens.js +21 -0
  8. package/cjs/components/Editable/Editable.tokens.js.map +1 -0
  9. package/cjs/components/Editable/utils/clearSelection.js +23 -0
  10. package/cjs/components/Editable/utils/clearSelection.js.map +1 -0
  11. package/cjs/components/Editable/utils/selectText.js +30 -0
  12. package/cjs/components/Editable/utils/selectText.js.map +1 -0
  13. package/cjs/components/Editable/variations/_size/base.js +9 -0
  14. package/cjs/components/Editable/variations/_size/base.js.map +1 -0
  15. package/cjs/components/Editable/variations/_size/base_54y6eh.css +1 -0
  16. package/cjs/components/Editable/variations/_view/base.js +9 -0
  17. package/cjs/components/Editable/variations/_view/base.js.map +1 -0
  18. package/cjs/components/Editable/variations/_view/base_11fpjfv.css +1 -0
  19. package/cjs/index.css +9 -0
  20. package/cjs/index.js +7 -0
  21. package/cjs/index.js.map +1 -1
  22. package/cjs/utils/constants.js +20 -0
  23. package/cjs/utils/constants.js.map +1 -0
  24. package/cjs/utils/index.js.map +1 -1
  25. package/emotion/cjs/components/Editable/Editable.js +160 -0
  26. package/emotion/cjs/components/Editable/Editable.styles.js +26 -0
  27. package/emotion/cjs/components/Editable/Editable.tokens.js +19 -0
  28. package/emotion/cjs/components/Editable/index.js +25 -0
  29. package/emotion/cjs/components/Editable/utils/clearSelection.js +19 -0
  30. package/emotion/cjs/components/Editable/utils/index.js +19 -0
  31. package/emotion/cjs/components/Editable/utils/selectText.js +26 -0
  32. package/emotion/cjs/components/Editable/variations/_size/base.js +10 -0
  33. package/emotion/cjs/components/Editable/variations/_size/tokens.json +1 -0
  34. package/emotion/cjs/components/Editable/variations/_view/base.js +10 -0
  35. package/emotion/cjs/components/Editable/variations/_view/tokens.json +5 -0
  36. package/emotion/cjs/examples/plasma_b2c/components/Editable/Editable.config.js +22 -0
  37. package/emotion/cjs/examples/plasma_b2c/components/Editable/Editable.js +22 -0
  38. package/emotion/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +81 -0
  39. package/emotion/cjs/examples/plasma_web/components/Editable/Editable.config.js +22 -0
  40. package/emotion/cjs/examples/plasma_web/components/Editable/Editable.js +22 -0
  41. package/emotion/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +81 -0
  42. package/emotion/cjs/index.js +11 -0
  43. package/emotion/cjs/utils/constants.js +19 -0
  44. package/emotion/cjs/utils/index.js +8 -2
  45. package/emotion/es/components/Editable/Editable.js +151 -0
  46. package/emotion/es/components/Editable/Editable.styles.js +19 -0
  47. package/emotion/es/components/Editable/Editable.tokens.js +13 -0
  48. package/emotion/es/components/Editable/index.js +2 -0
  49. package/emotion/es/components/Editable/utils/clearSelection.js +13 -0
  50. package/emotion/es/components/Editable/utils/index.js +2 -0
  51. package/emotion/es/components/Editable/utils/selectText.js +20 -0
  52. package/emotion/es/components/Editable/variations/_size/base.js +4 -0
  53. package/emotion/es/components/Editable/variations/_size/tokens.json +1 -0
  54. package/emotion/es/components/Editable/variations/_view/base.js +4 -0
  55. package/emotion/es/components/Editable/variations/_view/tokens.json +5 -0
  56. package/emotion/es/examples/plasma_b2c/components/Editable/Editable.config.js +16 -0
  57. package/emotion/es/examples/plasma_b2c/components/Editable/Editable.js +16 -0
  58. package/emotion/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +81 -0
  59. package/emotion/es/examples/plasma_web/components/Editable/Editable.config.js +16 -0
  60. package/emotion/es/examples/plasma_web/components/Editable/Editable.js +16 -0
  61. package/emotion/es/examples/plasma_web/components/Editable/Editable.stories.tsx +81 -0
  62. package/emotion/es/index.js +2 -1
  63. package/emotion/es/utils/constants.js +13 -0
  64. package/emotion/es/utils/index.js +2 -0
  65. package/es/components/Editable/Editable.css +8 -0
  66. package/es/components/Editable/Editable.js +150 -0
  67. package/es/components/Editable/Editable.js.map +1 -0
  68. package/es/components/Editable/Editable.styles.js +31 -0
  69. package/es/components/Editable/Editable.styles.js.map +1 -0
  70. package/es/components/Editable/Editable.styles_somxw2.css +4 -0
  71. package/es/components/Editable/Editable.tokens.js +16 -0
  72. package/es/components/Editable/Editable.tokens.js.map +1 -0
  73. package/es/components/Editable/utils/clearSelection.js +19 -0
  74. package/es/components/Editable/utils/clearSelection.js.map +1 -0
  75. package/es/components/Editable/utils/selectText.js +26 -0
  76. package/es/components/Editable/utils/selectText.js.map +1 -0
  77. package/es/components/Editable/variations/_size/base.js +5 -0
  78. package/es/components/Editable/variations/_size/base.js.map +1 -0
  79. package/es/components/Editable/variations/_size/base_54y6eh.css +1 -0
  80. package/es/components/Editable/variations/_view/base.js +5 -0
  81. package/es/components/Editable/variations/_view/base.js.map +1 -0
  82. package/es/components/Editable/variations/_view/base_11fpjfv.css +1 -0
  83. package/es/index.css +9 -0
  84. package/es/index.js +4 -0
  85. package/es/index.js.map +1 -1
  86. package/es/utils/constants.js +16 -0
  87. package/es/utils/constants.js.map +1 -0
  88. package/es/utils/index.js.map +1 -1
  89. package/package.json +2 -2
  90. package/styled-components/cjs/components/Editable/Editable.js +160 -0
  91. package/styled-components/cjs/components/Editable/Editable.styles.js +26 -0
  92. package/styled-components/cjs/components/Editable/Editable.tokens.js +19 -0
  93. package/styled-components/cjs/components/Editable/index.js +25 -0
  94. package/styled-components/cjs/components/Editable/utils/clearSelection.js +19 -0
  95. package/styled-components/cjs/components/Editable/utils/index.js +19 -0
  96. package/styled-components/cjs/components/Editable/utils/selectText.js +26 -0
  97. package/styled-components/cjs/components/Editable/variations/_size/base.js +10 -0
  98. package/styled-components/cjs/components/Editable/variations/_size/tokens.json +1 -0
  99. package/styled-components/cjs/components/Editable/variations/_view/base.js +10 -0
  100. package/styled-components/cjs/components/Editable/variations/_view/tokens.json +5 -0
  101. package/styled-components/cjs/examples/plasma_b2c/components/Editable/Editable.config.js +22 -0
  102. package/styled-components/cjs/examples/plasma_b2c/components/Editable/Editable.js +22 -0
  103. package/styled-components/cjs/examples/plasma_b2c/components/Editable/Editable.stories.tsx +81 -0
  104. package/styled-components/cjs/examples/plasma_web/components/Editable/Editable.config.js +22 -0
  105. package/styled-components/cjs/examples/plasma_web/components/Editable/Editable.js +22 -0
  106. package/styled-components/cjs/examples/plasma_web/components/Editable/Editable.stories.tsx +81 -0
  107. package/styled-components/cjs/index.js +11 -0
  108. package/styled-components/cjs/utils/constants.js +19 -0
  109. package/styled-components/cjs/utils/index.js +8 -2
  110. package/styled-components/es/components/Editable/Editable.js +151 -0
  111. package/styled-components/es/components/Editable/Editable.styles.js +18 -0
  112. package/styled-components/es/components/Editable/Editable.tokens.js +13 -0
  113. package/styled-components/es/components/Editable/index.js +2 -0
  114. package/styled-components/es/components/Editable/utils/clearSelection.js +13 -0
  115. package/styled-components/es/components/Editable/utils/index.js +2 -0
  116. package/styled-components/es/components/Editable/utils/selectText.js +20 -0
  117. package/styled-components/es/components/Editable/variations/_size/base.js +4 -0
  118. package/styled-components/es/components/Editable/variations/_size/tokens.json +1 -0
  119. package/styled-components/es/components/Editable/variations/_view/base.js +4 -0
  120. package/styled-components/es/components/Editable/variations/_view/tokens.json +5 -0
  121. package/styled-components/es/examples/plasma_b2c/components/Editable/Editable.config.js +16 -0
  122. package/styled-components/es/examples/plasma_b2c/components/Editable/Editable.js +16 -0
  123. package/styled-components/es/examples/plasma_b2c/components/Editable/Editable.stories.tsx +81 -0
  124. package/styled-components/es/examples/plasma_web/components/Editable/Editable.config.js +16 -0
  125. package/styled-components/es/examples/plasma_web/components/Editable/Editable.js +16 -0
  126. package/styled-components/es/examples/plasma_web/components/Editable/Editable.stories.tsx +81 -0
  127. package/styled-components/es/index.js +2 -1
  128. package/styled-components/es/utils/constants.js +13 -0
  129. package/styled-components/es/utils/index.js +2 -0
  130. package/types/components/Editable/Editable.d.ts +23 -0
  131. package/types/components/Editable/Editable.d.ts.map +1 -0
  132. package/types/components/Editable/Editable.styles.d.ts +8 -0
  133. package/types/components/Editable/Editable.styles.d.ts.map +1 -0
  134. package/types/components/Editable/Editable.tokens.d.ts +14 -0
  135. package/types/components/Editable/Editable.tokens.d.ts.map +1 -0
  136. package/types/components/Editable/Editable.types.d.ts +39 -0
  137. package/types/components/Editable/Editable.types.d.ts.map +1 -0
  138. package/types/components/Editable/index.d.ts +3 -0
  139. package/types/components/Editable/index.d.ts.map +1 -0
  140. package/types/components/Editable/utils/clearSelection.d.ts +2 -0
  141. package/types/components/Editable/utils/clearSelection.d.ts.map +1 -0
  142. package/types/components/Editable/utils/index.d.ts +3 -0
  143. package/types/components/Editable/utils/index.d.ts.map +1 -0
  144. package/types/components/Editable/utils/selectText.d.ts +2 -0
  145. package/types/components/Editable/utils/selectText.d.ts.map +1 -0
  146. package/types/components/Editable/variations/_size/base.d.ts +2 -0
  147. package/types/components/Editable/variations/_size/base.d.ts.map +1 -0
  148. package/types/components/Editable/variations/_view/base.d.ts +2 -0
  149. package/types/components/Editable/variations/_view/base.d.ts.map +1 -0
  150. package/types/components/Pagination/utils/index.d.ts +1 -1
  151. package/types/examples/plasma_b2c/components/Editable/Editable.config.d.ts +15 -0
  152. package/types/examples/plasma_b2c/components/Editable/Editable.config.d.ts.map +1 -0
  153. package/types/examples/plasma_b2c/components/Editable/Editable.d.ts +57 -0
  154. package/types/examples/plasma_b2c/components/Editable/Editable.d.ts.map +1 -0
  155. package/types/examples/plasma_web/components/Editable/Editable.config.d.ts +15 -0
  156. package/types/examples/plasma_web/components/Editable/Editable.config.d.ts.map +1 -0
  157. package/types/examples/plasma_web/components/Editable/Editable.d.ts +57 -0
  158. package/types/examples/plasma_web/components/Editable/Editable.d.ts.map +1 -0
  159. package/types/index.d.ts +1 -0
  160. package/types/index.d.ts.map +1 -1
  161. package/types/utils/constants.d.ts +14 -0
  162. package/types/utils/constants.d.ts.map +1 -0
  163. package/types/utils/index.d.ts +1 -0
  164. package/types/utils/index.d.ts.map +1 -1
  165. package/emotion/cjs/components/Mask/Mask.js +0 -207
  166. package/emotion/cjs/components/Mask/index.js +0 -12
  167. package/emotion/cjs/components/Mask/utils/constants.js +0 -31
  168. package/emotion/cjs/components/Mask/utils/createMask.js +0 -50
  169. package/emotion/cjs/components/Mask/utils/mask.js +0 -248
  170. package/emotion/cjs/components/Mask/utils/parseMask.js +0 -36
  171. package/emotion/cjs/components/Mask/utils/processInput.js +0 -52
  172. package/emotion/cjs/components/Mask/utils/processMask.js +0 -99
  173. package/emotion/cjs/components/Mask/utils/selection.js +0 -48
  174. package/emotion/cjs/components/Mask/utils/types/mask.types.js +0 -5
  175. package/emotion/cjs/components/Mask/utils/types/selectRange.types.js +0 -5
  176. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.js +0 -9
  177. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -131
  178. package/emotion/es/components/Mask/Mask.js +0 -199
  179. package/emotion/es/components/Mask/index.js +0 -1
  180. package/emotion/es/components/Mask/utils/constants.js +0 -25
  181. package/emotion/es/components/Mask/utils/createMask.js +0 -44
  182. package/emotion/es/components/Mask/utils/mask.js +0 -242
  183. package/emotion/es/components/Mask/utils/parseMask.js +0 -30
  184. package/emotion/es/components/Mask/utils/processInput.js +0 -46
  185. package/emotion/es/components/Mask/utils/processMask.js +0 -93
  186. package/emotion/es/components/Mask/utils/selection.js +0 -42
  187. package/emotion/es/components/Mask/utils/types/mask.types.js +0 -1
  188. package/emotion/es/components/Mask/utils/types/selectRange.types.js +0 -1
  189. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.js +0 -3
  190. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -131
  191. package/styled-components/cjs/components/Mask/Mask.js +0 -207
  192. package/styled-components/cjs/components/Mask/Mask.types.js +0 -5
  193. package/styled-components/cjs/components/Mask/index.js +0 -12
  194. package/styled-components/cjs/components/Mask/utils/constants.js +0 -31
  195. package/styled-components/cjs/components/Mask/utils/createMask.js +0 -50
  196. package/styled-components/cjs/components/Mask/utils/mask.js +0 -248
  197. package/styled-components/cjs/components/Mask/utils/parseMask.js +0 -36
  198. package/styled-components/cjs/components/Mask/utils/processInput.js +0 -52
  199. package/styled-components/cjs/components/Mask/utils/processMask.js +0 -99
  200. package/styled-components/cjs/components/Mask/utils/selection.js +0 -48
  201. package/styled-components/cjs/components/Mask/utils/types/input.types.js +0 -5
  202. package/styled-components/cjs/components/Mask/utils/types/mask.types.js +0 -5
  203. package/styled-components/cjs/components/Mask/utils/types/selectRange.types.js +0 -5
  204. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.js +0 -9
  205. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -131
  206. package/styled-components/es/components/Mask/Mask.js +0 -199
  207. package/styled-components/es/components/Mask/Mask.types.js +0 -1
  208. package/styled-components/es/components/Mask/index.js +0 -1
  209. package/styled-components/es/components/Mask/utils/constants.js +0 -25
  210. package/styled-components/es/components/Mask/utils/createMask.js +0 -44
  211. package/styled-components/es/components/Mask/utils/mask.js +0 -242
  212. package/styled-components/es/components/Mask/utils/parseMask.js +0 -30
  213. package/styled-components/es/components/Mask/utils/processInput.js +0 -46
  214. package/styled-components/es/components/Mask/utils/processMask.js +0 -93
  215. package/styled-components/es/components/Mask/utils/selection.js +0 -42
  216. package/styled-components/es/components/Mask/utils/types/input.types.js +0 -1
  217. package/styled-components/es/components/Mask/utils/types/mask.types.js +0 -1
  218. package/styled-components/es/components/Mask/utils/types/selectRange.types.js +0 -1
  219. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.js +0 -3
  220. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -131
  221. package/types/components/Mask/Mask.d.ts +0 -5
  222. package/types/components/Mask/Mask.d.ts.map +0 -1
  223. package/types/components/Mask/Mask.types.d.ts +0 -49
  224. package/types/components/Mask/Mask.types.d.ts.map +0 -1
  225. package/types/components/Mask/index.d.ts +0 -2
  226. package/types/components/Mask/index.d.ts.map +0 -1
  227. package/types/components/Mask/utils/constants.d.ts +0 -15
  228. package/types/components/Mask/utils/constants.d.ts.map +0 -1
  229. package/types/components/Mask/utils/createMask.d.ts +0 -19
  230. package/types/components/Mask/utils/createMask.d.ts.map +0 -1
  231. package/types/components/Mask/utils/mask.d.ts +0 -44
  232. package/types/components/Mask/utils/mask.d.ts.map +0 -1
  233. package/types/components/Mask/utils/parseMask.d.ts +0 -3
  234. package/types/components/Mask/utils/parseMask.d.ts.map +0 -1
  235. package/types/components/Mask/utils/processInput.d.ts +0 -15
  236. package/types/components/Mask/utils/processInput.d.ts.map +0 -1
  237. package/types/components/Mask/utils/processMask.d.ts +0 -9
  238. package/types/components/Mask/utils/processMask.d.ts.map +0 -1
  239. package/types/components/Mask/utils/selection.d.ts +0 -11
  240. package/types/components/Mask/utils/selection.d.ts.map +0 -1
  241. package/types/components/Mask/utils/types/input.types.d.ts +0 -26
  242. package/types/components/Mask/utils/types/input.types.d.ts.map +0 -1
  243. package/types/components/Mask/utils/types/mask.types.d.ts +0 -9
  244. package/types/components/Mask/utils/types/mask.types.d.ts.map +0 -1
  245. package/types/components/Mask/utils/types/selectRange.types.d.ts +0 -5
  246. package/types/components/Mask/utils/types/selectRange.types.d.ts.map +0 -1
  247. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +0 -191
  248. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +0 -1
  249. /package/emotion/cjs/components/{Mask/Mask.types.js → Editable/Editable.types.js} +0 -0
  250. /package/emotion/es/components/{Mask/Mask.types.js → Editable/Editable.types.js} +0 -0
  251. /package/{emotion/cjs/components/Mask/utils/types/input.types.js → styled-components/cjs/components/Editable/Editable.types.js} +0 -0
  252. /package/{emotion/es/components/Mask/utils/types/input.types.js → styled-components/es/components/Editable/Editable.types.js} +0 -0
@@ -1,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.parseMask = void 0;
7
- var _constants = /*#__PURE__*/require("./constants");
8
- var parseMask = exports.parseMask = function parseMask(mask, format) {
9
- if (!mask) {
10
- return [];
11
- }
12
- var stack = [];
13
- var escape = false;
14
- mask.split('').forEach(function (maskChar) {
15
- var item = format === null || format === void 0 ? void 0 : format[maskChar];
16
- if (escape && item) {
17
- item = undefined;
18
- escape = false;
19
- }
20
- if (!item) {
21
- if (!escape && maskChar === _constants.escapeChar) {
22
- escape = true;
23
- return;
24
- }
25
- escape = false;
26
- stack.push({
27
- "char": maskChar
28
- });
29
- return;
30
- }
31
- if (item.regexp) {
32
- stack.push(item);
33
- }
34
- });
35
- return stack;
36
- };
@@ -1,52 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.processInput = void 0;
7
- var _constants = /*#__PURE__*/require("./constants");
8
- var _processMask2 = /*#__PURE__*/require("./processMask");
9
- var processInput = exports.processInput = function processInput(args) {
10
- var data = args.data,
11
- _args$input = args.input,
12
- input = _args$input === void 0 ? '' : _args$input,
13
- selection = args.selection,
14
- mask = args.mask,
15
- _args$maskChar = args.maskChar,
16
- maskChar = _args$maskChar === void 0 ? '' : _args$maskChar,
17
- _args$maskString = args.maskString,
18
- maskString = _args$maskString === void 0 ? '' : _args$maskString,
19
- showPrefix = args.showPrefix;
20
- var _processMask = (0, _processMask2.processMask)(data, mask, input, maskChar, maskString, selection),
21
- value = _processMask.value,
22
- maskedValue = _processMask.maskedValue,
23
- inputValuesApplied = _processMask.inputValuesApplied;
24
- var selectionPosition = selection.start + inputValuesApplied;
25
- var bound = value.length - 1;
26
- var charsCount = 0;
27
- while (bound >= 0 && value[bound].type !== _constants.CharType.User) {
28
- if (value[bound].type === _constants.CharType.Mask) {
29
- charsCount = 0;
30
- }
31
- if (value[bound].type === _constants.CharType.Char) {
32
- charsCount++;
33
- }
34
- bound--;
35
- }
36
- if (showPrefix || bound >= 0 || input && input.trim()) {
37
- bound += charsCount;
38
- }
39
- var visibleValue = '';
40
- for (var i = 0; i <= bound; i++) {
41
- visibleValue += value[i]["char"];
42
- }
43
- return {
44
- value: value,
45
- visibleValue: visibleValue,
46
- maskedValue: maskedValue,
47
- selection: {
48
- start: selectionPosition,
49
- end: selectionPosition
50
- }
51
- };
52
- };
@@ -1,99 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.processMask = void 0;
7
- var _constants = /*#__PURE__*/require("./constants");
8
- var processMask = exports.processMask = function processMask(data, mask, input, maskChar, maskString, selection) {
9
- var value = [];
10
- var valueIndex = 0;
11
- var pastedIndex = 0;
12
- var maskedValue = '';
13
- var inputValuesApplied = 0;
14
- var processMaskPartAsChar = function processMaskPartAsChar(maskPart, pastedValuesStack, item) {
15
- if (pastedValuesStack && pastedValuesStack[0] === maskPart["char"]) {
16
- pastedIndex++;
17
- } else if (item && (item["char"] === maskPart["char"] || item.type !== _constants.CharType.User) || input) {
18
- valueIndex++;
19
- }
20
- value.push({
21
- "char": String(maskPart["char"]),
22
- type: _constants.CharType.Char
23
- });
24
- if (pastedValuesStack) {
25
- inputValuesApplied++;
26
- }
27
- maskedValue += maskPart["char"];
28
- };
29
- var processMaskPartAsRegExp = function processMaskPartAsRegExp(maskPart, maskIndex, pastedValuesStack, item) {
30
- var _maskPart$regexp2;
31
- var part = null;
32
- if (pastedValuesStack) {
33
- var i = 0;
34
- while (!(maskPart !== null && maskPart !== void 0 && (_maskPart$regexp = maskPart.regexp) !== null && _maskPart$regexp !== void 0 && _maskPart$regexp.test(pastedValuesStack[i])) && pastedValuesStack.length > i) {
35
- var _maskPart$regexp;
36
- i++;
37
- pastedIndex++;
38
- }
39
- if (pastedValuesStack.length > i) {
40
- pastedIndex++;
41
- inputValuesApplied++;
42
- valueIndex++;
43
- part = pastedValuesStack[i];
44
- value.push({
45
- "char": part,
46
- type: _constants.CharType.User
47
- });
48
- maskedValue += part;
49
- }
50
- }
51
- if (part) {
52
- return;
53
- }
54
- if (item && item.type === _constants.CharType.Char && data.length > valueIndex + 1) {
55
- valueIndex++;
56
- processMaskItem(maskPart, maskIndex);
57
- return;
58
- }
59
- if (item && item.type === _constants.CharType.User && maskPart !== null && maskPart !== void 0 && (_maskPart$regexp2 = maskPart.regexp) !== null && _maskPart$regexp2 !== void 0 && _maskPart$regexp2.test(item["char"])) {
60
- value.push({
61
- "char": item["char"],
62
- type: _constants.CharType.User
63
- });
64
- maskedValue += item["char"];
65
- valueIndex++;
66
- return;
67
- }
68
- part = maskString ? maskString[maskIndex] : maskChar;
69
- value.push({
70
- "char": part,
71
- type: _constants.CharType.Mask
72
- });
73
- if (data.length > maskIndex) {
74
- valueIndex++;
75
- }
76
- maskedValue += part;
77
- };
78
- var processMaskItem = function processMaskItem(maskPart, maskIndex) {
79
- var item = data.length > valueIndex ? data[valueIndex] : null;
80
- var pastedValuesStack = '';
81
- if (selection.start <= maskIndex && pastedIndex < input.length) {
82
- pastedValuesStack = input.slice(pastedIndex);
83
- }
84
- if (maskPart["char"]) {
85
- return processMaskPartAsChar(maskPart, pastedValuesStack, item);
86
- }
87
- if (maskPart.regexp) {
88
- return processMaskPartAsRegExp(maskPart, maskIndex, pastedValuesStack, item);
89
- }
90
- };
91
- mask.forEach(function (maskPart, maskIndex) {
92
- processMaskItem(maskPart, maskIndex);
93
- });
94
- return {
95
- value: value,
96
- maskedValue: maskedValue,
97
- inputValuesApplied: inputValuesApplied
98
- };
99
- };
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.removeSelectedRange = void 0;
7
- var _constants = /*#__PURE__*/require("./constants");
8
- var copyMaskChar = function copyMaskChar(count, maskChar) {
9
- var res = [];
10
- for (var i = 0; i < count; i++) {
11
- res.push({
12
- "char": maskChar,
13
- type: _constants.CharType.Mask
14
- });
15
- }
16
- return res;
17
- };
18
- var pasteMaskSymbols = function pasteMaskSymbols(maskString, maskChar, selection) {
19
- if (maskString) {
20
- var res = [];
21
- for (var i = selection.start; i < selection.end; i++) {
22
- res.push({
23
- "char": maskString[i],
24
- type: _constants.CharType.Mask
25
- });
26
- }
27
- return res;
28
- }
29
- return copyMaskChar(selection.end - selection.start, maskChar);
30
- };
31
- var removeSelectedRange = exports.removeSelectedRange = function removeSelectedRange(args) {
32
- var value = args.value,
33
- selection = args.selection,
34
- maskChar = args.maskChar,
35
- maskString = args.maskString;
36
- if (selection.end < selection.start) {
37
- var tmp = selection.end;
38
- selection.end = selection.start;
39
- selection.start = tmp;
40
- }
41
- if (selection.start === selection.end) {
42
- return value;
43
- }
44
- if (value.length > selection.start) {
45
- return value.slice(0, selection.start).concat(pasteMaskSymbols(maskString, maskChar, selection), value.slice(selection.end, value.length));
46
- }
47
- return value;
48
- };
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Mask = void 0;
7
- var _Mask = /*#__PURE__*/require("../../../../components/Mask");
8
- var _TextField = /*#__PURE__*/require("../TextField/TextField");
9
- var Mask = exports.Mask = /*#__PURE__*/(0, _Mask.composeMask)(_TextField.TextField);
@@ -1,131 +0,0 @@
1
- import React from 'react';
2
- import type { ComponentProps } from 'react';
3
- import type { StoryObj, Meta } from '@storybook/react';
4
- import { action } from '@storybook/addon-actions';
5
-
6
- import { WithTheme } from '../../../_helpers';
7
-
8
- import { Mask } from './Mask';
9
-
10
- const onChange = action('onChange');
11
- const onValueChange = action('onValueChange');
12
-
13
- const sizes = ['l', 'm', 's', 'xs'];
14
- const views = ['default', 'positive', 'warning', 'negative'];
15
-
16
- const meta: Meta<typeof Mask> = {
17
- title: 'plasma_b2c/Mask',
18
- component: Mask,
19
- decorators: [WithTheme],
20
- argTypes: {
21
- view: {
22
- options: views,
23
- control: {
24
- type: 'select',
25
- },
26
- },
27
- size: {
28
- options: sizes,
29
- control: {
30
- type: 'inline-radio',
31
- },
32
- },
33
- },
34
- };
35
-
36
- export default meta;
37
-
38
- type StoryPropsDefault = Omit<
39
- ComponentProps<typeof Mask>,
40
- | 'helperBlock'
41
- | 'contentLeft'
42
- | 'htmlSize'
43
- | 'contentRight'
44
- | 'type'
45
- | 'name'
46
- | 'onFocus'
47
- | 'onBlur'
48
- | 'onChange'
49
- | 'value'
50
- | 'checked'
51
- | 'maxLength'
52
- | 'minLength'
53
- | 'required'
54
- | 'enumerationType'
55
- | 'chips'
56
- | 'onChangeChips'
57
- >;
58
-
59
- const StoryDemo = ({ view, ...rest }: StoryPropsDefault) => {
60
- return (
61
- <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '50%' }}>
62
- <Mask
63
- label="Маска телефона"
64
- mask="+7 (000) 000 - 00 - 00"
65
- maskChar="_"
66
- showPrefix={false}
67
- view={view}
68
- onChange={onChange}
69
- onValueChange={onValueChange}
70
- {...rest}
71
- />
72
-
73
- <Mask
74
- label="Маска телефона: отображается всегда"
75
- mask="+7 (000) 000 - 00 - 00"
76
- maskChar="_"
77
- view={view}
78
- alwaysShowMask
79
- onChange={onChange}
80
- onValueChange={onValueChange}
81
- {...rest}
82
- />
83
-
84
- <Mask
85
- label="Маска даты"
86
- mask="00/00/0000"
87
- maskString="DD/MM/YYYY"
88
- alwaysShowMask
89
- view={view}
90
- onChange={onChange}
91
- onValueChange={onValueChange}
92
- {...rest}
93
- />
94
-
95
- <Mask
96
- label="Маска даты: значения по умолчанию"
97
- // eslint-disable-next-line no-octal-escape
98
- mask="12.\04.0000"
99
- maskChar="_"
100
- alwaysShowMask
101
- view={view}
102
- onChange={onChange}
103
- onValueChange={onValueChange}
104
- {...rest}
105
- />
106
-
107
- <Mask
108
- label="Маска времени"
109
- mask="00:00"
110
- maskChar="_"
111
- alwaysShowMask
112
- view={view}
113
- onChange={onChange}
114
- onValueChange={onValueChange}
115
- {...rest}
116
- />
117
- </div>
118
- );
119
- };
120
-
121
- export const Default: StoryObj<StoryPropsDefault> = {
122
- args: {
123
- size: 'l',
124
- view: 'default',
125
- labelPlacement: 'outer',
126
- placeholder: 'Заполните поле',
127
- disabled: false,
128
- readOnly: false,
129
- },
130
- render: (args) => <StoryDemo {...args} />,
131
- };
@@ -1,199 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["mask", "maskChar", "alwaysShowMask", "maskString", "showPrefix", "value", "defaultValue", "showMask", "onChange", "onBlur", "onFocus", "reformat"];
3
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
4
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
- function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
14
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
15
- import React, { forwardRef, useEffect, useMemo, useRef, useState } from 'react';
16
- import { useForkRef } from '@salutejs/plasma-core';
17
- import { useDidMountEffect } from '../../hooks';
18
- import { createMask, defaults } from './utils/createMask';
19
- import { KeyboardCode } from './utils/constants';
20
- export var composeMask = function composeMask(InputComponent) {
21
- return /*#__PURE__*/forwardRef(function (props, outerRef) {
22
- var maskValue = props.mask,
23
- maskChar = props.maskChar,
24
- alwaysShowMask = props.alwaysShowMask,
25
- maskString = props.maskString,
26
- showPrefix = props.showPrefix,
27
- value = props.value,
28
- defaultValue = props.defaultValue,
29
- showMaskedValue = props.showMask,
30
- onChange = props.onChange,
31
- onBlur = props.onBlur,
32
- onFocus = props.onFocus,
33
- reformat = props.reformat,
34
- rest = _objectWithoutProperties(props, _excluded);
35
- var _useState = useState(alwaysShowMask || showMaskedValue),
36
- _useState2 = _slicedToArray(_useState, 2),
37
- showMask = _useState2[0],
38
- setShowMask = _useState2[1];
39
- var mask = useMemo(function () {
40
- return createMask({
41
- value: String(value) || String(defaultValue) || '',
42
- mask: maskValue,
43
- maskChar: maskChar || defaults.maskChar,
44
- maskString: maskString,
45
- showPrefix: showPrefix || defaults.showPrefix,
46
- reformat: reformat
47
- });
48
- }, []);
49
- var canSetSelection = useRef(false);
50
- var inputRef = useRef(null);
51
- var innerRef = useForkRef(inputRef, outerRef);
52
- var getSelection = function getSelection() {
53
- var _inputRef$current, _inputRef$current2;
54
- mask.setSelection = {
55
- start: (inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.selectionStart) || 0,
56
- end: (inputRef === null || inputRef === void 0 || (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.selectionEnd) || 0
57
- };
58
- };
59
- var setSelection = function setSelection() {
60
- var _inputRef$current3;
61
- if (!canSetSelection.current) {
62
- return;
63
- }
64
- var selection = mask.getSelection;
65
- inputRef === null || inputRef === void 0 || (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 || _inputRef$current3.setSelectionRange(selection.start, selection.end);
66
- setTimeout(function () {
67
- var _inputRef$current4;
68
- return inputRef === null || inputRef === void 0 || (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : _inputRef$current4.setSelectionRange(selection.start, selection.end);
69
- }, 0);
70
- };
71
- var showValue = function showValue() {
72
- if (!(inputRef !== null && inputRef !== void 0 && inputRef.current)) {
73
- return;
74
- }
75
- if (showMask && (canSetSelection.current || alwaysShowMask)) {
76
- inputRef.current.value = mask.getState.maskedValue;
77
- return;
78
- }
79
- inputRef.current.value = mask.getState.visibleValue;
80
- };
81
- var keyPressPropName = function keyPressPropName() {
82
- if (typeof navigator !== 'undefined' && navigator.userAgent.match(/Android/i)) {
83
- return 'onBeforeInput';
84
- }
85
- return 'onKeyPress';
86
- };
87
- var dispatchEvent = function dispatchEvent(e) {
88
- var _mask$getState = mask.getState,
89
- maskedValue = _mask$getState.maskedValue,
90
- visibleValue = _mask$getState.visibleValue;
91
- if (onChange) {
92
- onChange(e, {
93
- maskedValue: maskedValue,
94
- value: visibleValue
95
- });
96
- }
97
- };
98
- var onPaste = function onPaste(e) {
99
- e.preventDefault();
100
- getSelection();
101
- if (!(e !== null && e !== void 0 && e.clipboardData)) {
102
- return;
103
- }
104
- mask.paste(e.clipboardData.getData('Text'));
105
- setTimeout(setSelection, 0);
106
- dispatchEvent(e);
107
- };
108
- var handleChange = function handleChange(e) {
109
- var currentValue;
110
- if (showMask && (canSetSelection.current || alwaysShowMask)) {
111
- currentValue = mask.getState.maskedValue;
112
- } else {
113
- currentValue = mask.getState.visibleValue;
114
- }
115
- if (e.target.value !== currentValue) {
116
- getSelection();
117
- mask.updateValue(e.target.value);
118
- setTimeout(setSelection, 0);
119
- }
120
- dispatchEvent(e);
121
- };
122
- var onKeyPress = function onKeyPress(e) {
123
- if (e.metaKey || e.altKey || e.ctrlKey || e.key === 'Enter') {
124
- return;
125
- }
126
- e.preventDefault();
127
- getSelection();
128
- mask.input(e.key || String.fromCharCode(e.which));
129
- setSelection();
130
- dispatchEvent(e);
131
- };
132
- var onKeyDown = function onKeyDown(e) {
133
- if (e.keyCode === KeyboardCode.Backspace) {
134
- e.preventDefault();
135
- getSelection();
136
- mask.removePreviosOrSelected();
137
- setSelection();
138
- dispatchEvent(e);
139
- }
140
- if (e.keyCode === KeyboardCode.Delete) {
141
- e.preventDefault();
142
- getSelection();
143
- mask.removeNextOrSelected();
144
- setSelection();
145
- dispatchEvent(e);
146
- }
147
- };
148
- var handleFocus = function handleFocus(e) {
149
- canSetSelection.current = true;
150
- onFocus && onFocus(e);
151
- };
152
- var handleBlur = function handleBlur(e) {
153
- canSetSelection.current = false;
154
- onBlur && onBlur(e);
155
- };
156
- var keyPressEvent = _defineProperty({}, keyPressPropName(), onKeyPress);
157
- useDidMountEffect(function () {
158
- setShowMask(alwaysShowMask || showMask);
159
- }, [alwaysShowMask, showMask]);
160
- useDidMountEffect(function () {
161
- reformat && mask.updateReformat(reformat);
162
- }, [reformat]);
163
- useDidMountEffect(function () {
164
- mask.updateMask(String(mask));
165
- }, [mask]);
166
- useDidMountEffect(function () {
167
- mask.updateMaskString(String(maskString));
168
- }, [maskString]);
169
- useDidMountEffect(function () {
170
- mask.updateMaskChar(String(maskChar));
171
- }, [maskChar]);
172
- useDidMountEffect(function () {
173
- mask.updateValue(String(value));
174
- }, [value]);
175
- useEffect(function () {
176
- showValue();
177
- }, [showValue, mask]);
178
- useEffect(function () {
179
- var subscriber = function subscriber() {
180
- showValue();
181
- setSelection();
182
- };
183
- mask.subscribe(subscriber);
184
- return function () {
185
- mask.unsubscribe(subscriber);
186
- };
187
- }, [mask, showValue, setSelection]);
188
- return /*#__PURE__*/React.createElement(InputComponent, _extends({}, rest, {
189
- onChange: handleChange,
190
- onKeyDown: onKeyDown,
191
- onPaste: onPaste,
192
- onFocus: handleFocus,
193
- onBlur: handleBlur
194
- }, keyPressEvent, {
195
- ref: innerRef,
196
- autoComplete: "off"
197
- }));
198
- });
199
- };
@@ -1 +0,0 @@
1
- export { composeMask } from './Mask';
@@ -1,25 +0,0 @@
1
- export var CharType = /*#__PURE__*/function (CharType) {
2
- CharType[CharType["User"] = 1] = "User";
3
- CharType[CharType["Char"] = 2] = "Char";
4
- CharType[CharType["Mask"] = 3] = "Mask";
5
- return CharType;
6
- }({});
7
- export var KeyboardCode = /*#__PURE__*/function (KeyboardCode) {
8
- KeyboardCode[KeyboardCode["Backspace"] = 8] = "Backspace";
9
- KeyboardCode[KeyboardCode["Delete"] = 46] = "Delete";
10
- return KeyboardCode;
11
- }({});
12
- export var escapeChar = '\\';
13
- export var defaultFormatChars = [{
14
- str: '0',
15
- regexp: /[0-9]/
16
- }, {
17
- str: '*',
18
- regexp: /./
19
- }, {
20
- str: 'a',
21
- regexp: /[a-zA-Z]/
22
- }, {
23
- str: 'я',
24
- regexp: /[а-яА-ЯёЁ]/
25
- }];
@@ -1,44 +0,0 @@
1
- import { defaultFormatChars } from './constants';
2
- import { Mask } from './mask';
3
- import { removeSelectedRange } from './selection';
4
- export var defaults = {
5
- maskFormat: defaultFormatChars,
6
- maskChar: '',
7
- showMask: false,
8
- removeSelectedRange: removeSelectedRange,
9
- showPrefix: false
10
- };
11
- export var createMask = function createMask(params) {
12
- var _params$mask;
13
- var maskString = params.maskString,
14
- _params$showPrefix = params.showPrefix,
15
- showPrefix = _params$showPrefix === void 0 ? defaults.showPrefix : _params$showPrefix,
16
- _params$maskChar = params.maskChar,
17
- maskChar = _params$maskChar === void 0 ? defaults.maskChar : _params$maskChar,
18
- reformat = params.reformat;
19
- var resReformat = reformat;
20
- if (!reformat && !params.mask) {
21
- resReformat = function resReformat(args) {
22
- var str = args.value.map(function (item) {
23
- return item["char"];
24
- }).join('');
25
- return {
26
- value: args.value,
27
- visibleValue: str,
28
- maskedValue: str,
29
- selection: args.selection
30
- };
31
- };
32
- } else if (reformat && params.mask) {
33
- params.mask = undefined;
34
- }
35
- if (maskString && maskString.length !== (params === null || params === void 0 || (_params$mask = params.mask) === null || _params$mask === void 0 ? void 0 : _params$mask.length)) {
36
- throw new Error('maskString должна быть такой же длины, как и mask');
37
- }
38
- if (maskChar.length > 1) {
39
- throw new Error('maskChar должен содержать только 1 символ');
40
- }
41
- var mask = new Mask(showPrefix, maskChar, maskString, resReformat);
42
- mask.updateMask(params.mask);
43
- return mask;
44
- };