@salutejs/plasma-new-hope 0.324.1-canary.1994.15271445725.0 → 0.324.1-canary.1996.15273628835.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 (206) hide show
  1. package/cjs/components/CodeField/CodeField.css +14 -0
  2. package/cjs/components/CodeField/CodeField.js +290 -0
  3. package/cjs/components/CodeField/CodeField.js.map +1 -0
  4. package/cjs/components/CodeField/CodeField.styles.js +57 -0
  5. package/cjs/components/CodeField/CodeField.styles.js.map +1 -0
  6. package/cjs/components/CodeField/CodeField.styles_7zxgpc.css +6 -0
  7. package/cjs/components/CodeField/CodeField.tokens.js +59 -0
  8. package/cjs/components/CodeField/CodeField.tokens.js.map +1 -0
  9. package/cjs/components/CodeField/utils/constants.js +18 -0
  10. package/cjs/components/CodeField/utils/constants.js.map +1 -0
  11. package/cjs/components/CodeField/utils/handleCodeError.js +55 -0
  12. package/cjs/components/CodeField/utils/handleCodeError.js.map +1 -0
  13. package/cjs/components/CodeField/utils/handleItemError.js +53 -0
  14. package/cjs/components/CodeField/utils/handleItemError.js.map +1 -0
  15. package/cjs/components/CodeField/utils/initialValuesHelper.js +33 -0
  16. package/cjs/components/CodeField/utils/initialValuesHelper.js.map +1 -0
  17. package/cjs/components/CodeField/variations/_disabled/base.js +9 -0
  18. package/cjs/components/CodeField/variations/_disabled/base.js.map +1 -0
  19. package/cjs/components/CodeField/variations/_disabled/base_obsae2.css +1 -0
  20. package/cjs/components/CodeField/variations/_shape/base.js +9 -0
  21. package/cjs/components/CodeField/variations/_shape/base.js.map +1 -0
  22. package/cjs/components/CodeField/variations/_shape/base_1scsyya.css +1 -0
  23. package/cjs/components/CodeField/variations/_size/base.js +9 -0
  24. package/cjs/components/CodeField/variations/_size/base.js.map +1 -0
  25. package/cjs/components/CodeField/variations/_size/base_1wrvbr5.css +1 -0
  26. package/cjs/components/CodeField/variations/_view/base.js +9 -0
  27. package/cjs/components/CodeField/variations/_view/base.js.map +1 -0
  28. package/cjs/components/CodeField/variations/_view/base_9a5yza.css +1 -0
  29. package/cjs/components/NumberInput/ui/Input/Input.js +0 -3
  30. package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -1
  31. package/cjs/index.css +15 -0
  32. package/cjs/index.js +10 -0
  33. package/cjs/index.js.map +1 -1
  34. package/emotion/cjs/components/CodeField/CodeField.js +299 -0
  35. package/emotion/cjs/components/CodeField/CodeField.styles.js +65 -0
  36. package/emotion/cjs/components/CodeField/CodeField.template-doc.mdx +150 -0
  37. package/emotion/cjs/components/CodeField/CodeField.tokens.js +57 -0
  38. package/emotion/cjs/components/CodeField/CodeField.types.js +5 -0
  39. package/emotion/cjs/components/CodeField/index.js +50 -0
  40. package/emotion/cjs/components/CodeField/utils/constants.js +12 -0
  41. package/emotion/cjs/components/CodeField/utils/handleCodeError.js +58 -0
  42. package/emotion/cjs/components/CodeField/utils/handleItemError.js +56 -0
  43. package/emotion/cjs/components/CodeField/utils/index.js +38 -0
  44. package/emotion/cjs/components/CodeField/utils/initialValuesHelper.js +30 -0
  45. package/emotion/cjs/components/CodeField/variations/_disabled/base.js +9 -0
  46. package/emotion/cjs/components/CodeField/variations/_disabled/tokens.json +4 -0
  47. package/emotion/cjs/components/CodeField/variations/_shape/base.js +10 -0
  48. package/emotion/cjs/components/CodeField/variations/_shape/tokens.json +1 -0
  49. package/emotion/cjs/components/CodeField/variations/_size/base.js +10 -0
  50. package/emotion/cjs/components/CodeField/variations/_size/tokens.json +19 -0
  51. package/emotion/cjs/components/CodeField/variations/_view/base.js +10 -0
  52. package/emotion/cjs/components/CodeField/variations/_view/tokens.json +0 -0
  53. package/emotion/cjs/components/NumberInput/ui/Input/Input.js +0 -3
  54. package/emotion/cjs/examples/plasma_b2c/components/CodeField/CodeField.config.js +31 -0
  55. package/emotion/cjs/examples/plasma_b2c/components/CodeField/CodeField.js +11 -0
  56. package/emotion/cjs/examples/plasma_b2c/components/CodeField/CodeField.stories.tsx +107 -0
  57. package/emotion/cjs/examples/plasma_web/components/CodeField/CodeField.config.js +31 -0
  58. package/emotion/cjs/examples/plasma_web/components/CodeField/CodeField.js +11 -0
  59. package/emotion/cjs/examples/plasma_web/components/CodeField/CodeField.stories.tsx +107 -0
  60. package/emotion/cjs/index.js +11 -0
  61. package/emotion/es/components/CodeField/CodeField.js +290 -0
  62. package/emotion/es/components/CodeField/CodeField.styles.js +58 -0
  63. package/emotion/es/components/CodeField/CodeField.template-doc.mdx +150 -0
  64. package/emotion/es/components/CodeField/CodeField.tokens.js +51 -0
  65. package/emotion/es/components/CodeField/CodeField.types.js +1 -0
  66. package/emotion/es/components/CodeField/index.js +3 -0
  67. package/emotion/es/components/CodeField/utils/constants.js +6 -0
  68. package/emotion/es/components/CodeField/utils/handleCodeError.js +52 -0
  69. package/emotion/es/components/CodeField/utils/handleItemError.js +50 -0
  70. package/emotion/es/components/CodeField/utils/index.js +3 -0
  71. package/emotion/es/components/CodeField/utils/initialValuesHelper.js +24 -0
  72. package/emotion/es/components/CodeField/variations/_disabled/base.js +3 -0
  73. package/emotion/es/components/CodeField/variations/_disabled/tokens.json +4 -0
  74. package/emotion/es/components/CodeField/variations/_shape/base.js +4 -0
  75. package/emotion/es/components/CodeField/variations/_shape/tokens.json +1 -0
  76. package/emotion/es/components/CodeField/variations/_size/base.js +4 -0
  77. package/emotion/es/components/CodeField/variations/_size/tokens.json +19 -0
  78. package/emotion/es/components/CodeField/variations/_view/base.js +4 -0
  79. package/emotion/es/components/CodeField/variations/_view/tokens.json +0 -0
  80. package/emotion/es/components/NumberInput/ui/Input/Input.js +0 -3
  81. package/emotion/es/examples/plasma_b2c/components/CodeField/CodeField.config.js +25 -0
  82. package/emotion/es/examples/plasma_b2c/components/CodeField/CodeField.js +5 -0
  83. package/emotion/es/examples/plasma_b2c/components/CodeField/CodeField.stories.tsx +107 -0
  84. package/emotion/es/examples/plasma_web/components/CodeField/CodeField.config.js +25 -0
  85. package/emotion/es/examples/plasma_web/components/CodeField/CodeField.js +5 -0
  86. package/emotion/es/examples/plasma_web/components/CodeField/CodeField.stories.tsx +107 -0
  87. package/emotion/es/index.js +2 -1
  88. package/es/components/CodeField/CodeField.css +14 -0
  89. package/es/components/CodeField/CodeField.js +280 -0
  90. package/es/components/CodeField/CodeField.js.map +1 -0
  91. package/es/components/CodeField/CodeField.styles.js +48 -0
  92. package/es/components/CodeField/CodeField.styles.js.map +1 -0
  93. package/es/components/CodeField/CodeField.styles_7zxgpc.css +6 -0
  94. package/es/components/CodeField/CodeField.tokens.js +54 -0
  95. package/es/components/CodeField/CodeField.tokens.js.map +1 -0
  96. package/es/components/CodeField/utils/constants.js +9 -0
  97. package/es/components/CodeField/utils/constants.js.map +1 -0
  98. package/es/components/CodeField/utils/handleCodeError.js +51 -0
  99. package/es/components/CodeField/utils/handleCodeError.js.map +1 -0
  100. package/es/components/CodeField/utils/handleItemError.js +49 -0
  101. package/es/components/CodeField/utils/handleItemError.js.map +1 -0
  102. package/es/components/CodeField/utils/initialValuesHelper.js +27 -0
  103. package/es/components/CodeField/utils/initialValuesHelper.js.map +1 -0
  104. package/es/components/CodeField/variations/_disabled/base.js +5 -0
  105. package/es/components/CodeField/variations/_disabled/base.js.map +1 -0
  106. package/es/components/CodeField/variations/_disabled/base_obsae2.css +1 -0
  107. package/es/components/CodeField/variations/_shape/base.js +5 -0
  108. package/es/components/CodeField/variations/_shape/base.js.map +1 -0
  109. package/es/components/CodeField/variations/_shape/base_1scsyya.css +1 -0
  110. package/es/components/CodeField/variations/_size/base.js +5 -0
  111. package/es/components/CodeField/variations/_size/base.js.map +1 -0
  112. package/es/components/CodeField/variations/_size/base_1wrvbr5.css +1 -0
  113. package/es/components/CodeField/variations/_view/base.js +5 -0
  114. package/es/components/CodeField/variations/_view/base.js.map +1 -0
  115. package/es/components/CodeField/variations/_view/base_9a5yza.css +1 -0
  116. package/es/components/NumberInput/ui/Input/Input.js +0 -3
  117. package/es/components/NumberInput/ui/Input/Input.js.map +1 -1
  118. package/es/index.css +15 -0
  119. package/es/index.js +3 -0
  120. package/es/index.js.map +1 -1
  121. package/package.json +4 -4
  122. package/styled-components/cjs/components/CodeField/CodeField.js +299 -0
  123. package/styled-components/cjs/components/CodeField/CodeField.styles.js +38 -0
  124. package/styled-components/cjs/components/CodeField/CodeField.template-doc.mdx +150 -0
  125. package/styled-components/cjs/components/CodeField/CodeField.tokens.js +57 -0
  126. package/styled-components/cjs/components/CodeField/CodeField.types.js +5 -0
  127. package/styled-components/cjs/components/CodeField/index.js +50 -0
  128. package/styled-components/cjs/components/CodeField/utils/constants.js +12 -0
  129. package/styled-components/cjs/components/CodeField/utils/handleCodeError.js +58 -0
  130. package/styled-components/cjs/components/CodeField/utils/handleItemError.js +56 -0
  131. package/styled-components/cjs/components/CodeField/utils/index.js +38 -0
  132. package/styled-components/cjs/components/CodeField/utils/initialValuesHelper.js +30 -0
  133. package/styled-components/cjs/components/CodeField/variations/_disabled/base.js +9 -0
  134. package/styled-components/cjs/components/CodeField/variations/_disabled/tokens.json +4 -0
  135. package/styled-components/cjs/components/CodeField/variations/_shape/base.js +10 -0
  136. package/styled-components/cjs/components/CodeField/variations/_shape/tokens.json +1 -0
  137. package/styled-components/cjs/components/CodeField/variations/_size/base.js +10 -0
  138. package/styled-components/cjs/components/CodeField/variations/_size/tokens.json +19 -0
  139. package/styled-components/cjs/components/CodeField/variations/_view/base.js +10 -0
  140. package/styled-components/cjs/components/CodeField/variations/_view/tokens.json +0 -0
  141. package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +0 -3
  142. package/styled-components/cjs/examples/plasma_b2c/components/CodeField/CodeField.config.js +31 -0
  143. package/styled-components/cjs/examples/plasma_b2c/components/CodeField/CodeField.js +11 -0
  144. package/styled-components/cjs/examples/plasma_b2c/components/CodeField/CodeField.stories.tsx +107 -0
  145. package/styled-components/cjs/examples/plasma_web/components/CodeField/CodeField.config.js +31 -0
  146. package/styled-components/cjs/examples/plasma_web/components/CodeField/CodeField.js +11 -0
  147. package/styled-components/cjs/examples/plasma_web/components/CodeField/CodeField.stories.tsx +107 -0
  148. package/styled-components/cjs/index.js +11 -0
  149. package/styled-components/es/components/CodeField/CodeField.js +290 -0
  150. package/styled-components/es/components/CodeField/CodeField.styles.js +30 -0
  151. package/styled-components/es/components/CodeField/CodeField.template-doc.mdx +150 -0
  152. package/styled-components/es/components/CodeField/CodeField.tokens.js +51 -0
  153. package/styled-components/es/components/CodeField/CodeField.types.js +1 -0
  154. package/styled-components/es/components/CodeField/index.js +3 -0
  155. package/styled-components/es/components/CodeField/utils/constants.js +6 -0
  156. package/styled-components/es/components/CodeField/utils/handleCodeError.js +52 -0
  157. package/styled-components/es/components/CodeField/utils/handleItemError.js +50 -0
  158. package/styled-components/es/components/CodeField/utils/index.js +3 -0
  159. package/styled-components/es/components/CodeField/utils/initialValuesHelper.js +24 -0
  160. package/styled-components/es/components/CodeField/variations/_disabled/base.js +3 -0
  161. package/styled-components/es/components/CodeField/variations/_disabled/tokens.json +4 -0
  162. package/styled-components/es/components/CodeField/variations/_shape/base.js +4 -0
  163. package/styled-components/es/components/CodeField/variations/_shape/tokens.json +1 -0
  164. package/styled-components/es/components/CodeField/variations/_size/base.js +4 -0
  165. package/styled-components/es/components/CodeField/variations/_size/tokens.json +19 -0
  166. package/styled-components/es/components/CodeField/variations/_view/base.js +4 -0
  167. package/styled-components/es/components/CodeField/variations/_view/tokens.json +0 -0
  168. package/styled-components/es/components/NumberInput/ui/Input/Input.js +0 -3
  169. package/styled-components/es/examples/plasma_b2c/components/CodeField/CodeField.config.js +25 -0
  170. package/styled-components/es/examples/plasma_b2c/components/CodeField/CodeField.js +5 -0
  171. package/styled-components/es/examples/plasma_b2c/components/CodeField/CodeField.stories.tsx +107 -0
  172. package/styled-components/es/examples/plasma_web/components/CodeField/CodeField.config.js +25 -0
  173. package/styled-components/es/examples/plasma_web/components/CodeField/CodeField.js +5 -0
  174. package/styled-components/es/examples/plasma_web/components/CodeField/CodeField.stories.tsx +107 -0
  175. package/styled-components/es/index.js +2 -1
  176. package/types/components/CodeField/CodeField.d.ts +69 -0
  177. package/types/components/CodeField/CodeField.d.ts.map +1 -0
  178. package/types/components/CodeField/CodeField.styles.d.ts +11 -0
  179. package/types/components/CodeField/CodeField.styles.d.ts.map +1 -0
  180. package/types/components/CodeField/CodeField.tokens.d.ts +52 -0
  181. package/types/components/CodeField/CodeField.tokens.d.ts.map +1 -0
  182. package/types/components/CodeField/CodeField.types.d.ts +93 -0
  183. package/types/components/CodeField/CodeField.types.d.ts.map +1 -0
  184. package/types/components/CodeField/index.d.ts +4 -0
  185. package/types/components/CodeField/index.d.ts.map +1 -0
  186. package/types/components/CodeField/utils/constants.d.ts +7 -0
  187. package/types/components/CodeField/utils/constants.d.ts.map +1 -0
  188. package/types/components/CodeField/utils/handleCodeError.d.ts +15 -0
  189. package/types/components/CodeField/utils/handleCodeError.d.ts.map +1 -0
  190. package/types/components/CodeField/utils/handleItemError.d.ts +14 -0
  191. package/types/components/CodeField/utils/handleItemError.d.ts.map +1 -0
  192. package/types/components/CodeField/utils/index.d.ts +4 -0
  193. package/types/components/CodeField/utils/index.d.ts.map +1 -0
  194. package/types/components/CodeField/utils/initialValuesHelper.d.ts +4 -0
  195. package/types/components/CodeField/utils/initialValuesHelper.d.ts.map +1 -0
  196. package/types/components/CodeField/variations/_disabled/base.d.ts +2 -0
  197. package/types/components/CodeField/variations/_disabled/base.d.ts.map +1 -0
  198. package/types/components/CodeField/variations/_shape/base.d.ts +2 -0
  199. package/types/components/CodeField/variations/_shape/base.d.ts.map +1 -0
  200. package/types/components/CodeField/variations/_size/base.d.ts +2 -0
  201. package/types/components/CodeField/variations/_size/base.d.ts.map +1 -0
  202. package/types/components/CodeField/variations/_view/base.d.ts +2 -0
  203. package/types/components/CodeField/variations/_view/base.d.ts.map +1 -0
  204. package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -1
  205. package/types/index.d.ts +1 -0
  206. package/types/index.d.ts.map +1 -1
@@ -0,0 +1,52 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
5
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
6
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
7
+ import { classes } from "../CodeField.tokens";
8
+ import { ANIMATION_TIMEOUT } from "./constants";
9
+ import { getCodeValue } from "./initialValuesHelper";
10
+ export var handleCodeError = function handleCodeError(_ref) {
11
+ var _captionRef$current, _captionRef$current2;
12
+ var codeLength = _ref.codeLength,
13
+ codeErrorBehavior = _ref.codeErrorBehavior,
14
+ currentCode = _ref.currentCode,
15
+ inputRefs = _ref.inputRefs,
16
+ inputContainerRef = _ref.inputContainerRef,
17
+ captionRef = _ref.captionRef,
18
+ setCode = _ref.setCode,
19
+ codeSetter = _ref.codeSetter;
20
+ if (!inputContainerRef.current) {
21
+ return;
22
+ }
23
+ switch (codeErrorBehavior) {
24
+ case 'keep':
25
+ inputContainerRef.current.classList.add(classes.codeError, classes.codeErrorAnimation);
26
+ (_captionRef$current = captionRef.current) === null || _captionRef$current === void 0 || _captionRef$current.classList.add(classes.captionError);
27
+ setTimeout(function () {
28
+ var _inputContainerRef$cu;
29
+ var newCode = _toConsumableArray(currentCode);
30
+ newCode.pop();
31
+ codeSetter(newCode);
32
+ setCode(currentCode);
33
+ (_inputContainerRef$cu = inputContainerRef.current) === null || _inputContainerRef$cu === void 0 || _inputContainerRef$cu.classList.remove(classes.codeErrorAnimation);
34
+ setTimeout(function () {
35
+ var _inputRefs$current, _inputRefs$current2;
36
+ (_inputRefs$current = inputRefs.current[inputRefs.current.length - 1]) === null || _inputRefs$current === void 0 || _inputRefs$current.setSelectionRange(0, 1);
37
+ (_inputRefs$current2 = inputRefs.current[inputRefs.current.length - 1]) === null || _inputRefs$current2 === void 0 || _inputRefs$current2.focus();
38
+ }, 0);
39
+ }, ANIMATION_TIMEOUT);
40
+ break;
41
+ case 'remove-code':
42
+ default:
43
+ inputContainerRef.current.classList.add(classes.codeError, classes.codeErrorAnimation, classes.codeErrorFade);
44
+ (_captionRef$current2 = captionRef.current) === null || _captionRef$current2 === void 0 || _captionRef$current2.classList.add(classes.captionError);
45
+ setTimeout(function () {
46
+ var _inputRefs$current$, _inputContainerRef$cu2;
47
+ codeSetter(getCodeValue(codeLength, ''));
48
+ (_inputRefs$current$ = inputRefs.current[0]) === null || _inputRefs$current$ === void 0 || _inputRefs$current$.focus();
49
+ (_inputContainerRef$cu2 = inputContainerRef.current) === null || _inputContainerRef$cu2 === void 0 || _inputContainerRef$cu2.classList.remove(classes.codeError, classes.codeErrorAnimation, classes.codeErrorFade);
50
+ }, ANIMATION_TIMEOUT);
51
+ }
52
+ };
@@ -0,0 +1,50 @@
1
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
2
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
4
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
5
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
6
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
7
+ import { classes } from "../CodeField.tokens";
8
+ import { ANIMATION_TIMEOUT } from "./constants";
9
+ export var handleItemError = function handleItemError(_ref) {
10
+ var _inputRefs$current$in, _inputRefs$current$in4;
11
+ var currentSymbol = _ref.currentSymbol,
12
+ itemErrorBehavior = _ref.itemErrorBehavior,
13
+ index = _ref.index,
14
+ newCode = _ref.newCode,
15
+ inputRefs = _ref.inputRefs,
16
+ setCode = _ref.setCode,
17
+ codeSetter = _ref.codeSetter;
18
+ if (!inputRefs.current[index] || currentSymbol === ' ') {
19
+ return;
20
+ }
21
+ switch (itemErrorBehavior) {
22
+ case 'keep':
23
+ setCode(newCode);
24
+ (_inputRefs$current$in = inputRefs.current[index]) === null || _inputRefs$current$in === void 0 || _inputRefs$current$in.classList.add(classes.itemError, classes.itemErrorAnimation);
25
+ setTimeout(function () {
26
+ var _inputRefs$current$in2;
27
+ (_inputRefs$current$in2 = inputRefs.current[index]) === null || _inputRefs$current$in2 === void 0 || _inputRefs$current$in2.classList.remove(classes.itemErrorAnimation);
28
+ setTimeout(function () {
29
+ var _inputRefs$current$in3;
30
+ return (_inputRefs$current$in3 = inputRefs.current[index]) === null || _inputRefs$current$in3 === void 0 ? void 0 : _inputRefs$current$in3.setSelectionRange(0, 1);
31
+ }, 0);
32
+ }, ANIMATION_TIMEOUT);
33
+ break;
34
+ case 'forbid-enter':
35
+ newCode[index] = '';
36
+ codeSetter(newCode);
37
+ break;
38
+ case 'remove-symbol':
39
+ default:
40
+ setCode(newCode);
41
+ (_inputRefs$current$in4 = inputRefs.current[index]) === null || _inputRefs$current$in4 === void 0 || _inputRefs$current$in4.classList.add(classes.itemError, classes.itemErrorFade, classes.itemErrorAnimation);
42
+ setTimeout(function () {
43
+ var _inputRefs$current$in5;
44
+ var updatedCode = _toConsumableArray(newCode);
45
+ updatedCode[index] = '';
46
+ codeSetter(updatedCode);
47
+ (_inputRefs$current$in5 = inputRefs.current[index]) === null || _inputRefs$current$in5 === void 0 || _inputRefs$current$in5.classList.remove(classes.itemError, classes.itemErrorFade, classes.itemErrorAnimation);
48
+ }, ANIMATION_TIMEOUT);
49
+ }
50
+ };
@@ -0,0 +1,3 @@
1
+ export { getFieldPattern, getPlaceholderValue, getCodeValue } from "./initialValuesHelper";
2
+ export { handleItemError } from "./handleItemError";
3
+ export { handleCodeError } from "./handleCodeError";
@@ -0,0 +1,24 @@
1
+ export var getFieldPattern = function getFieldPattern(allowedSymbols) {
2
+ if (!allowedSymbols) {
3
+ return null;
4
+ }
5
+ if (typeof allowedSymbols === 'string') {
6
+ return new RegExp(allowedSymbols, 'g');
7
+ }
8
+ return allowedSymbols;
9
+ };
10
+ export var getCodeValue = function getCodeValue(codeLength, value) {
11
+ if (!value.length) {
12
+ return new Array(codeLength).fill('');
13
+ }
14
+ return value.slice(0, codeLength).split('');
15
+ };
16
+ export var getPlaceholderValue = function getPlaceholderValue(codeLength, placeholder) {
17
+ if (!placeholder || typeof placeholder !== 'string') {
18
+ return null;
19
+ }
20
+ if (placeholder.length === 1) {
21
+ return Array(codeLength).fill(placeholder);
22
+ }
23
+ return placeholder.slice(0, codeLength).split('');
24
+ };
@@ -0,0 +1,3 @@
1
+ import { css } from 'styled-components';
2
+ import { tokens } from "../../CodeField.tokens";
3
+ export var base = /*#__PURE__*/css(["&&[disabled]{opacity:var(", ");cursor:not-allowed;& > *{pointer-events:none;}}"], tokens.disabledOpacity);
@@ -0,0 +1,4 @@
1
+ {
2
+ "type": "boolean",
3
+ "tokens": ["--plasma-codefield-disabled-opacity"]
4
+ }
@@ -0,0 +1,4 @@
1
+ import { css } from 'styled-components';
2
+ import { tokens, classes } from "../../CodeField.tokens";
3
+ import { ItemInput } from "../../CodeField.styles";
4
+ export var base = /*#__PURE__*/css(["", "{border-radius:var(", ");&.", "{border-radius:var(", ");&:first-child{border-top-left-radius:var(", ");border-bottom-left-radius:var(", ");}&:last-child{border-top-right-radius:var(", ");border-bottom-right-radius:var(", ");}}}"], ItemInput, tokens.borderRadius, classes.segmented, tokens.borderRadiusSegmented, tokens.segmentedSideBorderRadius, tokens.segmentedSideBorderRadius, tokens.segmentedSideBorderRadius, tokens.segmentedSideBorderRadius);
@@ -0,0 +1 @@
1
+ ["--plasma-codefield-code-item-border-radius", "--plasma-codefield-code-item-segmented-side-border-radius"]
@@ -0,0 +1,4 @@
1
+ import { css } from 'styled-components';
2
+ import { CaptionWrapper, CodeGroup, CodeWrapper, ItemInput } from "../../CodeField.styles";
3
+ import { tokens } from "../../CodeField.tokens";
4
+ export var base = /*#__PURE__*/css(["gap:var(", ");", ",", "{gap:var(", ");}", "{width:var(", ");height:var(", ");font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");}", "{font-family:var(", ");font-size:var(", ");font-style:var(", ");font-weight:var(", ");letter-spacing:var(", ");line-height:var(", ");}"], tokens.captionGap, CodeWrapper, CodeGroup, tokens.codeItemsGap, ItemInput, tokens.codeItemWidth, tokens.codeItemHeight, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, CaptionWrapper, tokens.captionFontFamily, tokens.captionFontSize, tokens.captionFontStyle, tokens.captionFontWeight, tokens.captionLetterSpacing, tokens.captionLineHeight);
@@ -0,0 +1,19 @@
1
+ [
2
+ "--plasma-codefield-caption-gap",
3
+ "--plasma-codefield-code-item-gap",
4
+ "--plasma-codefield-separator-width",
5
+ "--plasma-codefield-item-width",
6
+ "--plasma-codefield-item-height",
7
+ "--plasma-codefield-font-family",
8
+ "--plasma-codefield-font-style",
9
+ "--plasma-codefield-font-size",
10
+ "--plasma-codefield-font-weight",
11
+ "--plasma-codefield-letter-spacing",
12
+ "--plasma-codefield-line-height",
13
+ "--plasma-codefield-caption-font-family",
14
+ "--plasma-codefield-caption-font-style",
15
+ "--plasma-codefield-caption-font-size",
16
+ "--plasma-codefield-caption-font-weight",
17
+ "--plasma-codefield-caption-letter-spacing",
18
+ "--plasma-codefield-caption-line-height"
19
+ ]
@@ -0,0 +1,4 @@
1
+ import { css } from 'styled-components';
2
+ import { CaptionWrapper, ItemInput } from "../../CodeField.styles";
3
+ import { classes, tokens } from "../../CodeField.tokens";
4
+ export var base = /*#__PURE__*/css(["", "{color:var(", ");&.", "{color:var(", ");}}", "{color:var(", ");caret-color:var(", ");background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}&:hover{.", "{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}}&:focus-within{", ":focus-within{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}}&& .", "{animation:shakingError 0.3s forwards;}&& .", "{", "{color:var(", ");background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}&:focus-within{", "{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}}&.", "{", "{animation:fadeError 0.3s forwards;}}}&& .", "{animation:shakingError 0.3s forwards;}&& .", ",&& .", ":focus-within{color:var(", ");background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");&.", "{animation:shakingError 0.3s forwards fadeError 0.3s forwards;}}@keyframes shakingError{14%{transform:translateX(-0.125rem);}28%{transform:translateX(0.125rem);}42%{transform:translateX(-0.125rem);}57%{transform:translateX(0.125rem);}71%{transform:translateX(-0.125rem);}85%{transform:translateX(0.125rem);}100%{transform:translateX(-0.125rem);}}@keyframes fadeError{50%{color:var(", ");}100%{color:transparent;}}"], CaptionWrapper, tokens.captionColor, classes.captionError, tokens.captionColorError, ItemInput, tokens.codeColor, tokens.caretColor, tokens.backgroundColor, tokens.borderWidth, tokens.borderColor, classes.hoverEnabled, tokens.backgroundColorHover, tokens.borderWidth, tokens.borderColorHover, ItemInput, tokens.backgroundColorFocus, tokens.borderWidth, tokens.borderColorFocus, classes.codeErrorAnimation, classes.codeError, ItemInput, tokens.codeColorError, tokens.backgroundErrorColor, tokens.borderWidth, tokens.borderErrorColor, ItemInput, tokens.backgroundErrorColor, tokens.borderWidth, tokens.borderErrorColor, classes.codeErrorFade, ItemInput, classes.itemErrorAnimation, classes.itemError, classes.itemError, tokens.codeColorError, tokens.backgroundErrorColor, tokens.borderWidth, tokens.borderErrorColor, classes.codeErrorFade, tokens.codeColorError);
@@ -131,14 +131,11 @@ export var NumberInput = /*#__PURE__*/forwardRef(function (_ref, ref) {
131
131
  }
132
132
  return;
133
133
  }
134
- console.log('here');
135
134
  var isValid = numberSchema.test(cleanValue);
136
135
  if (!isValid) {
137
- console.log('not valid', cleanValue);
138
136
  setValues(event, lastValidValue);
139
137
  return;
140
138
  }
141
- console.log('valid!', cleanValue);
142
139
  if (textWrapperRef !== null && textWrapperRef !== void 0 && textWrapperRef.current && wrapperRef !== null && wrapperRef !== void 0 && wrapperRef.current && (textWrapperRef === null || textWrapperRef === void 0 || (_textWrapperRef$curre = textWrapperRef.current) === null || _textWrapperRef$curre === void 0 ? void 0 : _textWrapperRef$curre.clientWidth) > (wrapperRef === null || wrapperRef === void 0 || (_wrapperRef$current = wrapperRef.current) === null || _wrapperRef$current === void 0 ? void 0 : _wrapperRef$current.clientWidth)) {
143
140
  wrapperRef.current.scrollLeft = textWrapperRef.current.offsetWidth - textWrapperRef.current.offsetLeft || 0;
144
141
  }
@@ -0,0 +1,25 @@
1
+ import { css } from 'styled-components';
2
+ import { codeFieldTokens as tokens } from "../../../../components/CodeField";
3
+ export var config = {
4
+ defaults: {
5
+ view: 'default',
6
+ size: 'l',
7
+ shape: 'default'
8
+ },
9
+ variations: {
10
+ view: {
11
+ "default": /*#__PURE__*/css(["", ":var(--surface-accent);", ":var(--text-secondary);", ":var(--text-negative);", ":var(--text-primary);", ":var(--text-negative);", ":var(--surface-transparent-primary);", ":var(--surface-transparent-primary-hover);", ":var(--surface-transparent-secondary);", ":var(--surface-transparent-negative);"], tokens.caretColor, tokens.captionColor, tokens.captionColorError, tokens.codeColor, tokens.codeColorError, tokens.backgroundColor, tokens.backgroundColorHover, tokens.backgroundColorFocus, tokens.backgroundErrorColor)
12
+ },
13
+ size: {
14
+ l: /*#__PURE__*/css(["", ":0.875rem;", ":0.125rem;", ":0.25rem;", ":2.75rem;", ":3.5rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-bold-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":0.875rem;", ":0.375rem;", ":0.875rem;"], tokens.captionGap, tokens.codeItemsGap, tokens.separatorWidth, tokens.codeItemWidth, tokens.codeItemHeight, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.captionFontFamily, tokens.captionFontSize, tokens.captionFontStyle, tokens.captionFontWeight, tokens.captionLetterSpacing, tokens.captionLineHeight, tokens.borderRadius, tokens.borderRadiusSegmented, tokens.segmentedSideBorderRadius),
15
+ m: /*#__PURE__*/css(["", ":0.75rem;", ":0.125rem;", ":0.25rem;", ":2.375rem;", ":3rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-bold-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.75rem;", ":0.25rem;", ":0.75rem;"], tokens.captionGap, tokens.codeItemsGap, tokens.separatorWidth, tokens.codeItemWidth, tokens.codeItemHeight, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.captionFontFamily, tokens.captionFontSize, tokens.captionFontStyle, tokens.captionFontWeight, tokens.captionLetterSpacing, tokens.captionLineHeight, tokens.borderRadius, tokens.borderRadiusSegmented, tokens.segmentedSideBorderRadius)
16
+ },
17
+ shape: {
18
+ "default": /*#__PURE__*/css([""]),
19
+ segmented: /*#__PURE__*/css([""])
20
+ },
21
+ disabled: {
22
+ "true": /*#__PURE__*/css(["", ":0.4;"], tokens.disabledOpacity)
23
+ }
24
+ }
25
+ };
@@ -0,0 +1,5 @@
1
+ import { codeFieldConfig } from "../../../../components/CodeField";
2
+ import { component, mergeConfig } from "../../../../engines";
3
+ import { config } from "./CodeField.config";
4
+ var mergedConfig = /*#__PURE__*/mergeConfig(codeFieldConfig, config);
5
+ export var CodeField = /*#__PURE__*/component(mergedConfig);
@@ -0,0 +1,107 @@
1
+ import React, { ComponentProps, useState } from 'react';
2
+ import type { StoryObj, Meta } from '@storybook/react';
3
+ import { action } from '@storybook/addon-actions';
4
+ import { getConfigVariations } from '@salutejs/plasma-sb-utils';
5
+
6
+ import { WithTheme } from '../../../_helpers';
7
+
8
+ import { CodeField } from './CodeField';
9
+ import { config } from './CodeField.config';
10
+
11
+ const onChange = action('onChange');
12
+ const onFullCodeEnter = action('onFullCodeEnter');
13
+
14
+ const { views, sizes } = getConfigVariations(config);
15
+ const codeLengths = [4, 5, 6];
16
+ const shapes = ['default', 'segmented'];
17
+ const captionAlignVariants = ['left', 'center'];
18
+ const itemErrorBehaviorVariants = ['remove-symbol', 'keep', 'forbid-enter'];
19
+ const codeErrorBehaviorVariants = ['remove-code', 'keep'];
20
+
21
+ const meta: Meta<typeof CodeField> = {
22
+ title: 'b2c/Data Entry/CodeField',
23
+ component: CodeField,
24
+ decorators: [WithTheme],
25
+ argTypes: {
26
+ view: {
27
+ options: views,
28
+ control: {
29
+ type: 'select',
30
+ },
31
+ },
32
+ size: {
33
+ options: sizes,
34
+ control: {
35
+ type: 'inline-radio',
36
+ },
37
+ },
38
+ shape: {
39
+ options: shapes,
40
+ control: {
41
+ type: 'inline-radio',
42
+ },
43
+ },
44
+ captionAlign: {
45
+ options: captionAlignVariants,
46
+ control: {
47
+ type: 'inline-radio',
48
+ },
49
+ },
50
+ codeLength: {
51
+ options: codeLengths,
52
+ control: {
53
+ type: 'inline-radio',
54
+ },
55
+ },
56
+ itemErrorBehavior: {
57
+ options: itemErrorBehaviorVariants,
58
+ control: {
59
+ type: 'inline-radio',
60
+ },
61
+ },
62
+ codeErrorBehavior: {
63
+ options: codeErrorBehaviorVariants,
64
+ control: {
65
+ type: 'inline-radio',
66
+ },
67
+ },
68
+ },
69
+ parameters: {
70
+ controls: {
71
+ exclude: ['view'],
72
+ },
73
+ },
74
+ };
75
+
76
+ export default meta;
77
+
78
+ type StoryPropsDefault = ComponentProps<typeof CodeField>;
79
+
80
+ const StoryDefault = (args: StoryPropsDefault) => {
81
+ const [value, setValue] = useState('');
82
+
83
+ const handleChange = (newValue: string) => {
84
+ setValue(newValue);
85
+ onChange(newValue);
86
+ };
87
+
88
+ return <CodeField {...args} value={value} onChange={handleChange} onFullCodeEnter={onFullCodeEnter} />;
89
+ };
90
+
91
+ export const Default: StoryObj<StoryPropsDefault> = {
92
+ args: {
93
+ view: 'default',
94
+ size: 'm',
95
+ shape: 'default',
96
+ codeLength: 6,
97
+ caption: 'Caption',
98
+ captionAlign: 'center',
99
+ width: '',
100
+ isError: false,
101
+ itemErrorBehavior: 'remove-symbol',
102
+ codeErrorBehavior: 'keep',
103
+ autoFocus: true,
104
+ disabled: false,
105
+ },
106
+ render: StoryDefault,
107
+ };
@@ -0,0 +1,25 @@
1
+ import { css } from 'styled-components';
2
+ import { codeFieldTokens as tokens } from "../../../../components/CodeField";
3
+ export var config = {
4
+ defaults: {
5
+ view: 'default',
6
+ size: 'l',
7
+ shape: 'default'
8
+ },
9
+ variations: {
10
+ view: {
11
+ "default": /*#__PURE__*/css(["", ":var(--surface-accent);", ":var(--text-secondary);", ":var(--text-negative);", ":var(--text-primary);", ":var(--text-negative);", ":var(--surface-transparent-tertiary);", ":var(--text-secondary);", ":var(--surface-accent);", ":var(--surface-negative);"], tokens.caretColor, tokens.captionColor, tokens.captionColorError, tokens.codeColor, tokens.codeColorError, tokens.borderColor, tokens.borderColorHover, tokens.borderColorFocus, tokens.borderErrorColor)
12
+ },
13
+ size: {
14
+ l: /*#__PURE__*/css(["", ":0.875rem;", ":0.125rem;", ":0.25rem;", ":2.75rem;", ":3.5rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-bold-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":0.063rem;", ":0.875rem;", ":0.375rem;", ":0.875rem;"], tokens.captionGap, tokens.codeItemsGap, tokens.separatorWidth, tokens.codeItemWidth, tokens.codeItemHeight, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.captionFontFamily, tokens.captionFontSize, tokens.captionFontStyle, tokens.captionFontWeight, tokens.captionLetterSpacing, tokens.captionLineHeight, tokens.borderWidth, tokens.borderRadius, tokens.borderRadiusSegmented, tokens.segmentedSideBorderRadius),
15
+ m: /*#__PURE__*/css(["", ":0.75rem;", ":0.125rem;", ":0.25rem;", ":2.375rem;", ":3rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-bold-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.063rem;", ":0.75rem;", ":0.25rem;", ":0.75rem;"], tokens.captionGap, tokens.codeItemsGap, tokens.separatorWidth, tokens.codeItemWidth, tokens.codeItemHeight, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.captionFontFamily, tokens.captionFontSize, tokens.captionFontStyle, tokens.captionFontWeight, tokens.captionLetterSpacing, tokens.captionLineHeight, tokens.borderWidth, tokens.borderRadius, tokens.borderRadiusSegmented, tokens.segmentedSideBorderRadius)
16
+ },
17
+ shape: {
18
+ "default": /*#__PURE__*/css([""]),
19
+ segmented: /*#__PURE__*/css([""])
20
+ },
21
+ disabled: {
22
+ "true": /*#__PURE__*/css(["", ":0.4;"], tokens.disabledOpacity)
23
+ }
24
+ }
25
+ };
@@ -0,0 +1,5 @@
1
+ import { codeFieldConfig } from "../../../../components/CodeField";
2
+ import { component, mergeConfig } from "../../../../engines";
3
+ import { config } from "./CodeField.config";
4
+ var mergedConfig = /*#__PURE__*/mergeConfig(codeFieldConfig, config);
5
+ export var CodeField = /*#__PURE__*/component(mergedConfig);
@@ -0,0 +1,107 @@
1
+ import React, { ComponentProps, useState } from 'react';
2
+ import type { StoryObj, Meta } from '@storybook/react';
3
+ import { action } from '@storybook/addon-actions';
4
+ import { getConfigVariations } from '@salutejs/plasma-sb-utils';
5
+
6
+ import { WithTheme } from '../../../_helpers';
7
+
8
+ import { CodeField } from './CodeField';
9
+ import { config } from './CodeField.config';
10
+
11
+ const onChange = action('onChange');
12
+ const onFullCodeEnter = action('onFullCodeEnter');
13
+
14
+ const { views, sizes } = getConfigVariations(config);
15
+ const codeLengths = [4, 5, 6];
16
+ const shapes = ['default', 'segmented'];
17
+ const captionAlignVariants = ['left', 'center'];
18
+ const itemErrorBehaviorVariants = ['remove-symbol', 'keep', 'forbid-enter'];
19
+ const codeErrorBehaviorVariants = ['remove-code', 'keep'];
20
+
21
+ const meta: Meta<typeof CodeField> = {
22
+ title: 'web/Data Entry/CodeField',
23
+ component: CodeField,
24
+ decorators: [WithTheme],
25
+ argTypes: {
26
+ view: {
27
+ options: views,
28
+ control: {
29
+ type: 'select',
30
+ },
31
+ },
32
+ size: {
33
+ options: sizes,
34
+ control: {
35
+ type: 'inline-radio',
36
+ },
37
+ },
38
+ shape: {
39
+ options: shapes,
40
+ control: {
41
+ type: 'inline-radio',
42
+ },
43
+ },
44
+ captionAlign: {
45
+ options: captionAlignVariants,
46
+ control: {
47
+ type: 'inline-radio',
48
+ },
49
+ },
50
+ codeLength: {
51
+ options: codeLengths,
52
+ control: {
53
+ type: 'inline-radio',
54
+ },
55
+ },
56
+ itemErrorBehavior: {
57
+ options: itemErrorBehaviorVariants,
58
+ control: {
59
+ type: 'inline-radio',
60
+ },
61
+ },
62
+ codeErrorBehavior: {
63
+ options: codeErrorBehaviorVariants,
64
+ control: {
65
+ type: 'inline-radio',
66
+ },
67
+ },
68
+ },
69
+ parameters: {
70
+ controls: {
71
+ exclude: ['view'],
72
+ },
73
+ },
74
+ };
75
+
76
+ export default meta;
77
+
78
+ type StoryPropsDefault = ComponentProps<typeof CodeField>;
79
+
80
+ const StoryDefault = (args: StoryPropsDefault) => {
81
+ const [value, setValue] = useState('');
82
+
83
+ const handleChange = (newValue: string) => {
84
+ setValue(newValue);
85
+ onChange(newValue);
86
+ };
87
+
88
+ return <CodeField {...args} value={value} onChange={handleChange} onFullCodeEnter={onFullCodeEnter} />;
89
+ };
90
+
91
+ export const Default: StoryObj<StoryPropsDefault> = {
92
+ args: {
93
+ view: 'default',
94
+ size: 'm',
95
+ shape: 'default',
96
+ codeLength: 6,
97
+ caption: 'Caption',
98
+ captionAlign: 'center',
99
+ width: '',
100
+ isError: false,
101
+ itemErrorBehavior: 'remove-symbol',
102
+ codeErrorBehavior: 'keep',
103
+ autoFocus: true,
104
+ disabled: false,
105
+ },
106
+ render: StoryDefault,
107
+ };
@@ -76,4 +76,5 @@ export * from "./components/LinkButton";
76
76
  export * from "./components/NumberFormat";
77
77
  export * from "./components/Toast/ToastNew";
78
78
  export * from "./components/Carousel";
79
- export * from "./components/PaginationDots";
79
+ export * from "./components/PaginationDots";
80
+ export * from "./components/CodeField";
@@ -0,0 +1,69 @@
1
+ import React from 'react';
2
+ import type { RootProps } from '../../../src/engines';
3
+ import type { CodeFieldProps } from './CodeField.types';
4
+ export declare const codeFieldRoot: (Root: RootProps<HTMLDivElement, CodeFieldProps>) => React.ForwardRefExoticComponent<{
5
+ value?: string | undefined;
6
+ placeholder?: string | undefined;
7
+ autoFocus?: boolean | undefined;
8
+ codeLength?: 4 | 6 | 5 | undefined;
9
+ caption?: React.ReactNode;
10
+ captionAlign?: "center" | "left" | undefined;
11
+ width?: string | number | undefined;
12
+ shape?: "default" | "segmented" | undefined;
13
+ view?: string | undefined;
14
+ size?: string | undefined;
15
+ disabled?: boolean | undefined;
16
+ isError?: boolean | undefined;
17
+ setIsError?: React.Dispatch<React.SetStateAction<boolean>> | undefined;
18
+ allowedSymbols?: string | RegExp | undefined;
19
+ itemErrorBehavior?: import("./CodeField.types").ItemErrorBehavior | undefined;
20
+ codeErrorBehavior?: import("./CodeField.types").CodeErrorBehavior | undefined;
21
+ onChange?: ((value: string) => void) | undefined;
22
+ onFullCodeEnter?: ((code: string) => void) | undefined;
23
+ } & Pick<React.InputHTMLAttributes<HTMLInputElement>, "aria-label" | "autoComplete"> & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> & React.RefAttributes<HTMLInputElement>>;
24
+ export declare const codeFieldConfig: {
25
+ name: string;
26
+ tag: string;
27
+ layout: (Root: RootProps<HTMLDivElement, CodeFieldProps>) => React.ForwardRefExoticComponent<{
28
+ value?: string | undefined;
29
+ placeholder?: string | undefined;
30
+ autoFocus?: boolean | undefined;
31
+ codeLength?: 4 | 6 | 5 | undefined;
32
+ caption?: React.ReactNode;
33
+ captionAlign?: "center" | "left" | undefined;
34
+ width?: string | number | undefined;
35
+ shape?: "default" | "segmented" | undefined;
36
+ view?: string | undefined;
37
+ size?: string | undefined;
38
+ disabled?: boolean | undefined;
39
+ isError?: boolean | undefined;
40
+ setIsError?: React.Dispatch<React.SetStateAction<boolean>> | undefined;
41
+ allowedSymbols?: string | RegExp | undefined;
42
+ itemErrorBehavior?: import("./CodeField.types").ItemErrorBehavior | undefined;
43
+ codeErrorBehavior?: import("./CodeField.types").CodeErrorBehavior | undefined;
44
+ onChange?: ((value: string) => void) | undefined;
45
+ onFullCodeEnter?: ((code: string) => void) | undefined;
46
+ } & Pick<React.InputHTMLAttributes<HTMLInputElement>, "aria-label" | "autoComplete"> & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> & React.RefAttributes<HTMLInputElement>>;
47
+ base: import("@linaria/core").LinariaClassName;
48
+ variations: {
49
+ view: {
50
+ css: import("@linaria/core").LinariaClassName;
51
+ };
52
+ size: {
53
+ css: import("@linaria/core").LinariaClassName;
54
+ };
55
+ shape: {
56
+ css: import("@linaria/core").LinariaClassName;
57
+ };
58
+ disabled: {
59
+ css: import("@linaria/core").LinariaClassName;
60
+ attrs: boolean;
61
+ };
62
+ };
63
+ defaults: {
64
+ size: string;
65
+ view: string;
66
+ shape: string;
67
+ };
68
+ };
69
+ //# sourceMappingURL=CodeField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeField.d.ts","sourceRoot":"","sources":["../../../src/components/CodeField/CodeField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyE,MAAM,OAAO,CAAC;AAG9F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAUxD,eAAO,MAAM,aAAa,SAAU,UAAU,cAAc,EAAE,cAAc,CAAC;;;;;;;;;;;;;;;;;;;sLAoRxE,CAAC;AAEN,eAAO,MAAM,eAAe;;;mBAtRQ,UAAU,cAAc,EAAE,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+S5E,CAAC"}
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ export declare const base: import("@linaria/core").LinariaClassName;
3
+ export declare const CodeWrapper: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
4
+ export declare const CodeGroup: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
5
+ export declare const Separator: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & Record<never, unknown>>;
6
+ export declare const ItemInput: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLInputElement> & import("react").InputHTMLAttributes<HTMLInputElement> & Record<never, unknown>>;
7
+ export declare const CaptionWrapper: import("@linaria/react").StyledComponent<import("react").ClassAttributes<HTMLDivElement> & import("react").HTMLAttributes<HTMLDivElement> & {
8
+ captionAlign: 'left' | 'center';
9
+ widthValue?: string | undefined;
10
+ }>;
11
+ //# sourceMappingURL=CodeField.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeField.styles.d.ts","sourceRoot":"","sources":["../../../src/components/CodeField/CodeField.styles.ts"],"names":[],"mappings":";AAKA,eAAO,MAAM,IAAI,0CAUhB,CAAC;AAEF,eAAO,MAAM,WAAW,qKAGvB,CAAC;AAEF,eAAO,MAAM,SAAS,qKAGrB,CAAC;AAEF,eAAO,MAAM,SAAS,qKAErB,CAAC;AAEF,eAAO,MAAM,SAAS,8KAQrB,CAAC;AAEF,eAAO,MAAM,cAAc;kBAA8B,MAAM,GAAG,QAAQ;;EAKzE,CAAC"}