@salutejs/plasma-new-hope 0.145.0-canary.1418.10848257808.0 → 0.145.0-canary.1421.10845314144.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (219) hide show
  1. package/cjs/components/Slider/Slider.css +12 -10
  2. package/cjs/components/Slider/Slider.js +19 -6
  3. package/cjs/components/Slider/Slider.js.map +1 -1
  4. package/cjs/components/Slider/components/Double/Double.css +6 -5
  5. package/cjs/components/Slider/components/Double/Double.js +36 -2
  6. package/cjs/components/Slider/components/Double/Double.js.map +1 -1
  7. package/cjs/components/Slider/components/Double/Double.styles.js +7 -1
  8. package/cjs/components/Slider/components/Double/Double.styles.js.map +1 -1
  9. package/cjs/components/Slider/components/Double/{Double.styles_1jhda4u.css → Double.styles_4053ky.css} +1 -0
  10. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +56 -0
  11. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  12. package/cjs/components/Slider/components/Single/Single.css +6 -5
  13. package/cjs/components/Slider/components/Single/Single.js +35 -12
  14. package/cjs/components/Slider/components/Single/Single.js.map +1 -1
  15. package/cjs/components/Slider/components/Single/Single.styles.js +7 -1
  16. package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -1
  17. package/{es/components/Slider/components/Single/Single.styles_1r9f1e0.css → cjs/components/Slider/components/Single/Single.styles_9lxkbx.css} +1 -0
  18. package/cjs/components/Slider/utils/index.js +6 -0
  19. package/cjs/components/Slider/utils/index.js.map +1 -1
  20. package/cjs/components/TextArea/TextArea.js +3 -2
  21. package/cjs/components/TextArea/TextArea.js.map +1 -1
  22. package/cjs/hooks/useForm.js +96 -0
  23. package/cjs/hooks/useForm.js.map +1 -0
  24. package/cjs/index.css +12 -10
  25. package/cjs/index.js +5 -0
  26. package/cjs/index.js.map +1 -1
  27. package/cjs/utils/index.js.map +1 -1
  28. package/cjs/utils/setRefList.js +28 -0
  29. package/cjs/utils/setRefList.js.map +1 -0
  30. package/emotion/cjs/components/Slider/Slider.js +15 -6
  31. package/emotion/cjs/components/Slider/components/Double/Double.js +36 -2
  32. package/emotion/cjs/components/Slider/components/Double/Double.styles.js +28 -15
  33. package/emotion/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +60 -0
  34. package/emotion/cjs/components/Slider/components/Single/Single.js +30 -7
  35. package/emotion/cjs/components/Slider/components/Single/Single.styles.js +26 -13
  36. package/emotion/cjs/components/Slider/components/index.js +11 -0
  37. package/emotion/cjs/components/Slider/utils/index.js +6 -1
  38. package/emotion/cjs/components/TextArea/TextArea.js +3 -3
  39. package/emotion/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +191 -0
  40. package/emotion/cjs/hooks/index.js +8 -1
  41. package/emotion/cjs/hooks/useForm.js +102 -0
  42. package/emotion/cjs/utils/index.js +15 -0
  43. package/emotion/cjs/utils/setRefList.js +27 -0
  44. package/emotion/es/components/Slider/Slider.js +16 -6
  45. package/emotion/es/components/Slider/components/Double/Double.js +38 -4
  46. package/emotion/es/components/Slider/components/Double/Double.styles.js +27 -14
  47. package/emotion/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +51 -0
  48. package/emotion/es/components/Slider/components/Single/Single.js +32 -9
  49. package/emotion/es/components/Slider/components/Single/Single.styles.js +25 -12
  50. package/emotion/es/components/Slider/components/index.js +1 -0
  51. package/emotion/es/components/Slider/utils/index.js +5 -0
  52. package/emotion/es/components/TextArea/TextArea.js +4 -4
  53. package/emotion/es/examples/plasma_b2c/components/Form/Form.stories.tsx +191 -0
  54. package/emotion/es/hooks/index.js +2 -1
  55. package/emotion/es/hooks/useForm.js +93 -0
  56. package/emotion/es/utils/index.js +1 -0
  57. package/emotion/es/utils/setRefList.js +20 -0
  58. package/es/components/Slider/Slider.css +12 -10
  59. package/es/components/Slider/Slider.js +20 -7
  60. package/es/components/Slider/Slider.js.map +1 -1
  61. package/es/components/Slider/components/Double/Double.css +6 -5
  62. package/es/components/Slider/components/Double/Double.js +38 -4
  63. package/es/components/Slider/components/Double/Double.js.map +1 -1
  64. package/es/components/Slider/components/Double/Double.styles.js +7 -2
  65. package/es/components/Slider/components/Double/Double.styles.js.map +1 -1
  66. package/es/components/Slider/components/Double/{Double.styles_1jhda4u.css → Double.styles_4053ky.css} +1 -0
  67. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +52 -0
  68. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js.map +1 -0
  69. package/es/components/Slider/components/Single/Single.css +6 -5
  70. package/es/components/Slider/components/Single/Single.js +32 -9
  71. package/es/components/Slider/components/Single/Single.js.map +1 -1
  72. package/es/components/Slider/components/Single/Single.styles.js +7 -2
  73. package/es/components/Slider/components/Single/Single.styles.js.map +1 -1
  74. package/{cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css → es/components/Slider/components/Single/Single.styles_9lxkbx.css} +1 -0
  75. package/es/components/Slider/utils/index.js +6 -1
  76. package/es/components/Slider/utils/index.js.map +1 -1
  77. package/es/components/TextArea/TextArea.js +3 -2
  78. package/es/components/TextArea/TextArea.js.map +1 -1
  79. package/es/hooks/useForm.js +92 -0
  80. package/es/hooks/useForm.js.map +1 -0
  81. package/es/index.css +12 -10
  82. package/es/index.js +2 -0
  83. package/es/index.js.map +1 -1
  84. package/es/utils/index.js.map +1 -1
  85. package/es/utils/setRefList.js +23 -0
  86. package/es/utils/setRefList.js.map +1 -0
  87. package/package.json +3 -2
  88. package/styled-components/cjs/components/Slider/Slider.js +15 -6
  89. package/styled-components/cjs/components/Slider/components/Double/Double.js +36 -2
  90. package/styled-components/cjs/components/Slider/components/Double/Double.styles.js +5 -2
  91. package/styled-components/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +60 -0
  92. package/styled-components/cjs/components/Slider/components/Single/Single.js +30 -7
  93. package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +5 -2
  94. package/styled-components/cjs/components/Slider/components/index.js +11 -0
  95. package/styled-components/cjs/components/Slider/utils/index.js +6 -1
  96. package/styled-components/cjs/components/TextArea/TextArea.js +2 -2
  97. package/styled-components/cjs/examples/plasma_b2c/components/Form/Form.stories.tsx +191 -0
  98. package/styled-components/cjs/hooks/index.js +8 -1
  99. package/styled-components/cjs/hooks/useForm.js +102 -0
  100. package/styled-components/cjs/utils/index.js +15 -0
  101. package/styled-components/cjs/utils/setRefList.js +27 -0
  102. package/styled-components/es/components/Slider/Slider.js +16 -6
  103. package/styled-components/es/components/Slider/components/Double/Double.js +38 -4
  104. package/styled-components/es/components/Slider/components/Double/Double.styles.js +4 -1
  105. package/styled-components/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.js +51 -0
  106. package/styled-components/es/components/Slider/components/Single/Single.js +32 -9
  107. package/styled-components/es/components/Slider/components/Single/Single.styles.js +4 -1
  108. package/styled-components/es/components/Slider/components/index.js +1 -0
  109. package/styled-components/es/components/Slider/utils/index.js +5 -0
  110. package/styled-components/es/components/TextArea/TextArea.js +3 -3
  111. package/styled-components/es/examples/plasma_b2c/components/Form/Form.stories.tsx +191 -0
  112. package/styled-components/es/hooks/index.js +2 -1
  113. package/styled-components/es/hooks/useForm.js +93 -0
  114. package/styled-components/es/utils/index.js +1 -0
  115. package/styled-components/es/utils/setRefList.js +20 -0
  116. package/types/components/Slider/Slider.d.ts.map +1 -1
  117. package/types/components/Slider/Slider.types.d.ts +2 -2
  118. package/types/components/Slider/Slider.types.d.ts.map +1 -1
  119. package/types/components/Slider/components/Double/Double.d.ts.map +1 -1
  120. package/types/components/Slider/components/Double/Double.styles.d.ts +1 -0
  121. package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -1
  122. package/types/components/Slider/components/Double/Double.types.d.ts +2 -0
  123. package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -1
  124. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts +4 -0
  125. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.d.ts.map +1 -0
  126. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts +5 -0
  127. package/types/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.d.ts.map +1 -0
  128. package/types/components/Slider/components/Single/Single.d.ts.map +1 -1
  129. package/types/components/Slider/components/Single/Single.styles.d.ts +1 -0
  130. package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -1
  131. package/types/components/Slider/components/Single/Single.types.d.ts +3 -1
  132. package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -1
  133. package/types/components/Slider/components/index.d.ts +2 -0
  134. package/types/components/Slider/components/index.d.ts.map +1 -1
  135. package/types/components/Slider/utils/index.d.ts +1 -0
  136. package/types/components/Slider/utils/index.d.ts.map +1 -1
  137. package/types/components/TextArea/TextArea.d.ts.map +1 -1
  138. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +3 -1
  139. package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -1
  140. package/types/examples/plasma_web/components/Slider/Slider.d.ts +3 -1
  141. package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -1
  142. package/types/hooks/index.d.ts +1 -0
  143. package/types/hooks/index.d.ts.map +1 -1
  144. package/types/hooks/useForm.d.ts +10 -0
  145. package/types/hooks/useForm.d.ts.map +1 -0
  146. package/types/utils/index.d.ts +1 -0
  147. package/types/utils/index.d.ts.map +1 -1
  148. package/types/utils/setRefList.d.ts +6 -0
  149. package/types/utils/setRefList.d.ts.map +1 -0
  150. package/emotion/cjs/components/Mask/Mask.js +0 -213
  151. package/emotion/cjs/components/Mask/index.js +0 -12
  152. package/emotion/cjs/components/Mask/utils/constants.js +0 -29
  153. package/emotion/cjs/components/Mask/utils/createMask.js +0 -50
  154. package/emotion/cjs/components/Mask/utils/mask.js +0 -241
  155. package/emotion/cjs/components/Mask/utils/parseMask.js +0 -36
  156. package/emotion/cjs/components/Mask/utils/processInput.js +0 -52
  157. package/emotion/cjs/components/Mask/utils/processMask.js +0 -99
  158. package/emotion/cjs/components/Mask/utils/selection.js +0 -48
  159. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.js +0 -9
  160. package/emotion/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -125
  161. package/emotion/es/components/Mask/Mask.js +0 -205
  162. package/emotion/es/components/Mask/index.js +0 -1
  163. package/emotion/es/components/Mask/utils/constants.js +0 -23
  164. package/emotion/es/components/Mask/utils/createMask.js +0 -44
  165. package/emotion/es/components/Mask/utils/mask.js +0 -235
  166. package/emotion/es/components/Mask/utils/parseMask.js +0 -30
  167. package/emotion/es/components/Mask/utils/processInput.js +0 -46
  168. package/emotion/es/components/Mask/utils/processMask.js +0 -93
  169. package/emotion/es/components/Mask/utils/selection.js +0 -42
  170. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.js +0 -3
  171. package/emotion/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -125
  172. package/styled-components/cjs/components/Mask/Mask.js +0 -213
  173. package/styled-components/cjs/components/Mask/index.js +0 -12
  174. package/styled-components/cjs/components/Mask/utils/constants.js +0 -29
  175. package/styled-components/cjs/components/Mask/utils/createMask.js +0 -50
  176. package/styled-components/cjs/components/Mask/utils/mask.js +0 -241
  177. package/styled-components/cjs/components/Mask/utils/parseMask.js +0 -36
  178. package/styled-components/cjs/components/Mask/utils/processInput.js +0 -52
  179. package/styled-components/cjs/components/Mask/utils/processMask.js +0 -99
  180. package/styled-components/cjs/components/Mask/utils/selection.js +0 -48
  181. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.js +0 -9
  182. package/styled-components/cjs/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -125
  183. package/styled-components/es/components/Mask/Mask.js +0 -205
  184. package/styled-components/es/components/Mask/index.js +0 -1
  185. package/styled-components/es/components/Mask/utils/constants.js +0 -23
  186. package/styled-components/es/components/Mask/utils/createMask.js +0 -44
  187. package/styled-components/es/components/Mask/utils/mask.js +0 -235
  188. package/styled-components/es/components/Mask/utils/parseMask.js +0 -30
  189. package/styled-components/es/components/Mask/utils/processInput.js +0 -46
  190. package/styled-components/es/components/Mask/utils/processMask.js +0 -93
  191. package/styled-components/es/components/Mask/utils/selection.js +0 -42
  192. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.js +0 -3
  193. package/styled-components/es/examples/plasma_b2c/components/Mask/Mask.stories.tsx +0 -125
  194. package/types/components/Mask/Mask.d.ts +0 -5
  195. package/types/components/Mask/Mask.d.ts.map +0 -1
  196. package/types/components/Mask/Mask.types.d.ts +0 -84
  197. package/types/components/Mask/Mask.types.d.ts.map +0 -1
  198. package/types/components/Mask/index.d.ts +0 -2
  199. package/types/components/Mask/index.d.ts.map +0 -1
  200. package/types/components/Mask/utils/constants.d.ts +0 -15
  201. package/types/components/Mask/utils/constants.d.ts.map +0 -1
  202. package/types/components/Mask/utils/createMask.d.ts +0 -19
  203. package/types/components/Mask/utils/createMask.d.ts.map +0 -1
  204. package/types/components/Mask/utils/mask.d.ts +0 -42
  205. package/types/components/Mask/utils/mask.d.ts.map +0 -1
  206. package/types/components/Mask/utils/parseMask.d.ts +0 -3
  207. package/types/components/Mask/utils/parseMask.d.ts.map +0 -1
  208. package/types/components/Mask/utils/processInput.d.ts +0 -13
  209. package/types/components/Mask/utils/processInput.d.ts.map +0 -1
  210. package/types/components/Mask/utils/processMask.d.ts +0 -7
  211. package/types/components/Mask/utils/processMask.d.ts.map +0 -1
  212. package/types/components/Mask/utils/selection.d.ts +0 -10
  213. package/types/components/Mask/utils/selection.d.ts.map +0 -1
  214. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts +0 -191
  215. package/types/examples/plasma_b2c/components/Mask/Mask.d.ts.map +0 -1
  216. /package/emotion/cjs/components/{Mask/Mask.types.js → Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js} +0 -0
  217. /package/emotion/es/components/{Mask/Mask.types.js → Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js} +0 -0
  218. /package/styled-components/cjs/components/{Mask/Mask.types.js → Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js} +0 -0
  219. /package/styled-components/es/components/{Mask/Mask.types.js → Slider/components/DoubleUncontrolled/DoubleUncontrolled.types.js} +0 -0
@@ -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;
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,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,125 +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
-
12
- const sizes = ['l', 'm', 's', 'xs'];
13
- const views = ['default', 'positive', 'warning', 'negative'];
14
-
15
- const meta: Meta<typeof Mask> = {
16
- title: 'plasma_b2c/Mask',
17
- component: Mask,
18
- decorators: [WithTheme],
19
- argTypes: {
20
- view: {
21
- options: views,
22
- control: {
23
- type: 'select',
24
- },
25
- },
26
- size: {
27
- options: sizes,
28
- control: {
29
- type: 'inline-radio',
30
- },
31
- },
32
- },
33
- };
34
-
35
- export default meta;
36
-
37
- type StoryPropsDefault = Omit<
38
- ComponentProps<typeof Mask>,
39
- | 'helperBlock'
40
- | 'contentLeft'
41
- | 'htmlSize'
42
- | 'contentRight'
43
- | 'type'
44
- | 'name'
45
- | 'onFocus'
46
- | 'onBlur'
47
- | 'onChange'
48
- | 'value'
49
- | 'checked'
50
- | 'maxLength'
51
- | 'minLength'
52
- | 'required'
53
- | 'enumerationType'
54
- | 'chips'
55
- | 'onChangeChips'
56
- >;
57
-
58
- const StoryDemo = ({ view, ...rest }: StoryPropsDefault) => {
59
- return (
60
- <div style={{ display: 'flex', flexDirection: 'column', gap: '2rem', width: '50%' }}>
61
- <Mask
62
- label="Маска телефона"
63
- mask="+7 (000) 000 - 00 - 00"
64
- maskChar="_"
65
- showPrefix={false}
66
- view={view}
67
- onChange={onChange}
68
- {...rest}
69
- />
70
-
71
- <Mask
72
- label="Маска телефона: отображается всегда"
73
- mask="+7 (000) 000 - 00 - 00"
74
- maskChar="_"
75
- view={view}
76
- alwaysShowMask
77
- onChange={onChange}
78
- {...rest}
79
- />
80
-
81
- <Mask
82
- label="Маска даты"
83
- mask="00/00/0000"
84
- maskString="DD/MM/YYYY"
85
- alwaysShowMask
86
- view={view}
87
- onChange={onChange}
88
- {...rest}
89
- />
90
-
91
- <Mask
92
- label="Маска даты: значения по умолчанию"
93
- // eslint-disable-next-line no-octal-escape
94
- mask="12.\04.0000"
95
- maskChar="_"
96
- alwaysShowMask
97
- view={view}
98
- onChange={onChange}
99
- {...rest}
100
- />
101
-
102
- <Mask
103
- label="Маска времени"
104
- mask="00:00"
105
- maskChar="_"
106
- alwaysShowMask
107
- view={view}
108
- onChange={onChange}
109
- {...rest}
110
- />
111
- </div>
112
- );
113
- };
114
-
115
- export const Default: StoryObj<StoryPropsDefault> = {
116
- args: {
117
- size: 'l',
118
- view: 'default',
119
- labelPlacement: 'outer',
120
- placeholder: 'Заполните поле',
121
- disabled: false,
122
- readOnly: false,
123
- },
124
- render: (args) => <StoryDemo {...args} />,
125
- };
@@ -1,205 +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.code === keyboardCode.Backspace) {
134
- e.preventDefault();
135
- getSelection();
136
- mask.removePreviousOrSelected();
137
- setSelection();
138
- dispatchEvent(e);
139
- }
140
- if (e.code === 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
- if (onFocus) {
151
- onFocus(e);
152
- }
153
- };
154
- var handleBlur = function handleBlur(e) {
155
- canSetSelection.current = false;
156
- if (onBlur) {
157
- onBlur(e);
158
- }
159
- };
160
- var keyPressEvent = _defineProperty({}, keyPressPropName(), onKeyPress);
161
- useDidMountEffect(function () {
162
- setShowMask(alwaysShowMask || showMask);
163
- }, [alwaysShowMask, showMask]);
164
- useDidMountEffect(function () {
165
- if (reformat) {
166
- mask.updateReformat(reformat);
167
- }
168
- }, [reformat]);
169
- useDidMountEffect(function () {
170
- mask.updateMask(String(mask));
171
- }, [mask]);
172
- useDidMountEffect(function () {
173
- mask.updateMaskString(String(maskString));
174
- }, [maskString]);
175
- useDidMountEffect(function () {
176
- mask.updateMaskChar(String(maskChar));
177
- }, [maskChar]);
178
- useDidMountEffect(function () {
179
- mask.updateValue(String(value));
180
- }, [value]);
181
- useEffect(function () {
182
- showValue();
183
- }, [showValue, mask]);
184
- useEffect(function () {
185
- var subscriber = function subscriber() {
186
- showValue();
187
- setSelection();
188
- };
189
- mask.subscribe(subscriber);
190
- return function () {
191
- mask.unsubscribe(subscriber);
192
- };
193
- }, [mask, showValue, setSelection]);
194
- return /*#__PURE__*/React.createElement(InputComponent, _extends({}, rest, {
195
- onChange: handleChange,
196
- onKeyDown: onKeyDown,
197
- onPaste: onPaste,
198
- onFocus: handleFocus,
199
- onBlur: handleBlur
200
- }, keyPressEvent, {
201
- ref: innerRef,
202
- autoComplete: "off"
203
- }));
204
- });
205
- };
@@ -1 +0,0 @@
1
- export { composeMask } from './Mask';
@@ -1,23 +0,0 @@
1
- export var charType = {
2
- User: 1,
3
- Char: 2,
4
- Mask: 3
5
- };
6
- export var keyboardCode = {
7
- Backspace: 'Backspace',
8
- Delete: 'Delete'
9
- };
10
- export var escapeChar = '\\';
11
- export var defaultFormatChars = [{
12
- str: '0',
13
- regexp: /[0-9]/
14
- }, {
15
- str: '*',
16
- regexp: /./
17
- }, {
18
- str: 'a',
19
- regexp: /[a-zA-Z]/
20
- }, {
21
- str: 'я',
22
- regexp: /[а-яА-ЯёЁ]/
23
- }];
@@ -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
- };