@salutejs/plasma-new-hope 0.324.0-dev.0 → 0.325.0-canary.1941.15208820474.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 +2 -2
  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
package/es/index.css CHANGED
@@ -969,3 +969,18 @@
969
969
  .Carousel_styles_zmchjj_c1c6iuz8__ccd8212a{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding-left:var(--c1c6iuz8-0);padding-right:var(--c1c6iuz8-1);}.Carousel_styles_zmchjj_cmeqer1__ccd8212a .Carousel_styles_zmchjj_c1c6iuz8__ccd8212a{padding-right:var(--c1c6iuz8-2);}
970
970
 
971
971
  .CarouselItem_cqjszm_s13at6mi__7ff91d05{-webkit-scroll-snap-align:var(--s13at6mi-0);-moz-scroll-snap-align:var(--s13at6mi-0);-ms-scroll-snap-align:var(--s13at6mi-0);scroll-snap-align:var(--s13at6mi-0);-webkit-scroll-snap-stop:var(--s13at6mi-1);-moz-scroll-snap-stop:var(--s13at6mi-1);-ms-scroll-snap-stop:var(--s13at6mi-1);scroll-snap-stop:var(--s13at6mi-1);}
972
+
973
+ .CodeField_styles_7zxgpc_b1xx9skx__84a479ac{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:-webkit-min-content;width:-moz-min-content;width:min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.CodeField_styles_7zxgpc_b1xx9skx__84a479ac.CodeField_styles_7zxgpc_codefieldCaptionAlignLeft__84a479ac{-webkit-align-items:start;-webkit-box-align:start;-ms-flex-align:start;align-items:start;}
974
+ .CodeField_styles_7zxgpc_c1wzspax__84a479ac{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
975
+ .CodeField_styles_7zxgpc_c7swj1z__84a479ac{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
976
+ .CodeField_styles_7zxgpc_s13uxcg8__84a479ac{width:var(--plasma-codefield-separator-width);}
977
+ .CodeField_styles_7zxgpc_ig5h1kg__84a479ac{box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;outline:none;pointer-events:none;text-align:center;}
978
+ .CodeField_styles_7zxgpc_c1jpzjak__84a479ac{text-align:var(--c1jpzjak-0);-webkit-align-self:var(--c1jpzjak-0);-ms-flex-item-align:var(--c1jpzjak-0);align-self:var(--c1jpzjak-0);width:var(--c1jpzjak-1);white-space:pre-line;}
979
+
980
+ .base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_c1jpzjak__e66aaab8{color:var(--plasma-codefield-caption-color);}.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_c1jpzjak__e66aaab8.base_9a5yza_codefieldCaptionError__e66aaab8{color:var(--plasma-codefield-caption-color-error);}.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_ig5h1kg__e66aaab8{color:var(--plasma-codefield-code-color);caret-color:var(--plasma-codefield-caret-color);background-color:var(--plasma-codefield-background-color);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-color);}.base_9a5yza_b1g41h91__e66aaab8:hover .base_9a5yza_codefieldItemHoverEnabled__e66aaab8{background-color:var(--plasma-codefield-background-color-hover);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-color-hover);}.base_9a5yza_b1g41h91__e66aaab8:focus-within .base_9a5yza_ig5h1kg__e66aaab8:focus-within{background-color:var(--plasma-codefield-background-color-focus);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-color-focus);}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldCodeErrorAnimation__e66aaab8{-webkit-animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards;animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards;}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldCodeError__e66aaab8 .base_9a5yza_ig5h1kg__e66aaab8{color:var(--plasma-codefield-code-color-error);background-color:var(--plasma-codefield-background-error-color);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-error-color);}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldCodeError__e66aaab8:focus-within .base_9a5yza_ig5h1kg__e66aaab8{background-color:var(--plasma-codefield-background-error-color);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-error-color);}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldCodeError__e66aaab8.base_9a5yza_codefieldCodeErrorFade__e66aaab8 .base_9a5yza_ig5h1kg__e66aaab8{-webkit-animation:base_9a5yza_fadeErrorB1g41h91__e66aaab8 0.3s forwards;animation:base_9a5yza_fadeErrorB1g41h91__e66aaab8 0.3s forwards;}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemErrorAnimation__e66aaab8{-webkit-animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards;animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards;}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemError__e66aaab8,.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemError__e66aaab8:focus-within{color:var(--plasma-codefield-code-color-error);background-color:var(--plasma-codefield-background-error-color);box-shadow:inset 0 0 0 var(--plasma-codefield-border-width) var(--plasma-codefield-border-error-color);}.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemError__e66aaab8.base_9a5yza_codefieldCodeErrorFade__e66aaab8,.base_9a5yza_b1g41h91__e66aaab8.base_9a5yza_b1g41h91__e66aaab8 .base_9a5yza_codefieldItemError__e66aaab8:focus-within.base_9a5yza_codefieldCodeErrorFade__e66aaab8{-webkit-animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards :local(fadeError-b1g41h91) 0.3s :local(forwards);animation:base_9a5yza_shakingErrorB1g41h91__e66aaab8 0.3s forwards :local(fadeError-b1g41h91) 0.3s :local(forwards);}@-webkit-keyframes base_9a5yza_shakingErrorB1g41h91__e66aaab8{14%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}28%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}42%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}57%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}71%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}85%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}100%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}}@keyframes base_9a5yza_shakingErrorB1g41h91__e66aaab8{14%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}28%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}42%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}57%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}71%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}85%{-webkit-transform:translateX(0.125rem);-ms-transform:translateX(0.125rem);transform:translateX(0.125rem);}100%{-webkit-transform:translateX(-0.125rem);-ms-transform:translateX(-0.125rem);transform:translateX(-0.125rem);}}@-webkit-keyframes base_9a5yza_fadeErrorB1g41h91__e66aaab8{50%{color:var(--plasma-codefield-code-color-error);}100%{color:transparent;}}@keyframes base_9a5yza_fadeErrorB1g41h91__e66aaab8{50%{color:var(--plasma-codefield-code-color-error);}100%{color:transparent;}}
981
+
982
+ .base_1wrvbr5_bkkdah0__9ac780d6{gap:var(--plasma-codefield-caption-gap);}.base_1wrvbr5_bkkdah0__9ac780d6 .base_1wrvbr5_c1wzspax__9ac780d6,.base_1wrvbr5_bkkdah0__9ac780d6 .base_1wrvbr5_c7swj1z__9ac780d6{gap:var(--plasma-codefield-code-item-gap);}.base_1wrvbr5_bkkdah0__9ac780d6 .base_1wrvbr5_ig5h1kg__9ac780d6{width:var(--plasma-codefield-item-width);height:var(--plasma-codefield-item-height);font-family:var(--plasma-codefield-font-family);font-size:var(--plasma-codefield-font-size);font-style:var(--plasma-codefield-font-style);font-weight:var(--plasma-codefield-font-weight);-webkit-letter-spacing:var(--plasma-codefield-letter-spacing);-moz-letter-spacing:var(--plasma-codefield-letter-spacing);-ms-letter-spacing:var(--plasma-codefield-letter-spacing);letter-spacing:var(--plasma-codefield-letter-spacing);line-height:var(--plasma-codefield-line-height);}.base_1wrvbr5_bkkdah0__9ac780d6 .base_1wrvbr5_c1jpzjak__9ac780d6{font-family:var(--plasma-codefield-caption-font-family);font-size:var(--plasma-codefield-caption-font-style);font-style:var(--plasma-codefield-caption-font-size);font-weight:var(--plasma-codefield-caption-font-weight);-webkit-letter-spacing:var(--plasma-codefield-caption-letter-spacing);-moz-letter-spacing:var(--plasma-codefield-caption-letter-spacing);-ms-letter-spacing:var(--plasma-codefield-caption-letter-spacing);letter-spacing:var(--plasma-codefield-caption-letter-spacing);line-height:var(--plasma-codefield-caption-line-height);}
983
+
984
+ .base_1scsyya_b103qcna__a3446bcc .base_1scsyya_ig5h1kg__a3446bcc{border-radius:var(--plasma-codefield-code-item-border-radius);}.base_1scsyya_b103qcna__a3446bcc .base_1scsyya_ig5h1kg__a3446bcc.base_1scsyya_codefieldShapeSegmented__a3446bcc{border-radius:var(--plasma-codefield-code-item-border-radius-segmented);}.base_1scsyya_b103qcna__a3446bcc .base_1scsyya_ig5h1kg__a3446bcc.base_1scsyya_codefieldShapeSegmented__a3446bcc:first-child{border-top-left-radius:var(--plasma-codefield-code-item-segmented-side-border-radius);border-bottom-left-radius:var(--plasma-codefield-code-item-segmented-side-border-radius);}.base_1scsyya_b103qcna__a3446bcc .base_1scsyya_ig5h1kg__a3446bcc.base_1scsyya_codefieldShapeSegmented__a3446bcc:last-child{border-top-right-radius:var(--plasma-codefield-code-item-segmented-side-border-radius);border-bottom-right-radius:var(--plasma-codefield-code-item-segmented-side-border-radius);}
985
+
986
+ .base_obsae2_b3zd5bu__e66a8428.base_obsae2_b3zd5bu__e66a8428[disabled]{opacity:var(--plasma-codefield-disabled-opacity);cursor:not-allowed;}.base_obsae2_b3zd5bu__e66a8428.base_obsae2_b3zd5bu__e66a8428[disabled] > *{pointer-events:none;}
package/es/index.js CHANGED
@@ -233,4 +233,7 @@ export { tokens as toastNewTokens } from './components/Toast/ToastNew/ToastNew.t
233
233
  export { carouselConfig, carouselRoot } from './components/Carousel/Carousel.js';
234
234
  export { CarouselGridWrapper } from './components/Carousel/Carousel.styles.js';
235
235
  export { CarouselItem } from './components/Carousel/CarouselItem.js';
236
+ export { codeFieldConfig, codeFieldRoot } from './components/CodeField/CodeField.js';
237
+ export { classes as codeFieldClasses, tokens as codeFieldTokens } from './components/CodeField/CodeField.tokens.js';
238
+ export { ONLY_CHARS_PATTERN, ONLY_DIGITS_AND_CHARS_PATTERN, ONLY_DIGITS_PATTERN } from './components/CodeField/utils/constants.js';
236
239
  //# sourceMappingURL=index.js.map
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salutejs/plasma-new-hope",
3
- "version": "0.324.0-dev.0",
3
+ "version": "0.325.0-canary.1941.15208820474.0",
4
4
  "description": "Salute Design System blueprint",
5
5
  "main": "cjs/index.js",
6
6
  "module": "es/index.js",
@@ -137,5 +137,5 @@
137
137
  "sideEffects": [
138
138
  "*.css"
139
139
  ],
140
- "gitHead": "8cb722bf86d974c8d8968001a1fe593041b96afd"
140
+ "gitHead": "a3224c3d19731da6db98bcc6f7be0d11dc1a9885"
141
141
  }
@@ -0,0 +1,299 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.codeFieldRoot = exports.codeFieldConfig = void 0;
8
+ var _react = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("react"));
9
+ var _classnames = /*#__PURE__*/_interopRequireDefault(/*#__PURE__*/require("classnames"));
10
+ var _hooks = /*#__PURE__*/require("../../hooks");
11
+ var _utils = /*#__PURE__*/require("../../utils");
12
+ var _constants = /*#__PURE__*/require("./utils/constants");
13
+ var _utils2 = /*#__PURE__*/require("./utils");
14
+ var _CodeField = /*#__PURE__*/require("./CodeField.tokens");
15
+ var _CodeField2 = /*#__PURE__*/require("./CodeField.styles");
16
+ var _base = /*#__PURE__*/require("./variations/_view/base");
17
+ var _base2 = /*#__PURE__*/require("./variations/_size/base");
18
+ var _base3 = /*#__PURE__*/require("./variations/_shape/base");
19
+ var _base4 = /*#__PURE__*/require("./variations/_disabled/base");
20
+ var _Separator;
21
+ var _excluded = ["className", "value", "placeholder", "autoFocus", "codeLength", "caption", "captionAlign", "width", "shape", "view", "size", "disabled", "isError", "allowedSymbols", "itemErrorBehavior", "codeErrorBehavior", "autoComplete", "setIsError", "onChange", "onFullCodeEnter"];
22
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
23
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
25
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
26
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
27
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
28
+ 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); }
29
+ function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
30
+ 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."); }
31
+ function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
32
+ function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
33
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
34
+ 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."); }
35
+ 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; } }
36
+ 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; }
37
+ 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; } }
38
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
39
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
40
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
41
+ var codeFieldRoot = exports.codeFieldRoot = function codeFieldRoot(Root) {
42
+ return /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
43
+ var className = _ref.className,
44
+ outerValue = _ref.value,
45
+ placeholder = _ref.placeholder,
46
+ autoFocus = _ref.autoFocus,
47
+ _ref$codeLength = _ref.codeLength,
48
+ codeLength = _ref$codeLength === void 0 ? 6 : _ref$codeLength,
49
+ caption = _ref.caption,
50
+ _ref$captionAlign = _ref.captionAlign,
51
+ captionAlign = _ref$captionAlign === void 0 ? 'left' : _ref$captionAlign,
52
+ width = _ref.width,
53
+ _ref$shape = _ref.shape,
54
+ shape = _ref$shape === void 0 ? 'default' : _ref$shape,
55
+ view = _ref.view,
56
+ size = _ref.size,
57
+ disabled = _ref.disabled,
58
+ isError = _ref.isError,
59
+ _ref$allowedSymbols = _ref.allowedSymbols,
60
+ allowedSymbols = _ref$allowedSymbols === void 0 ? _constants.ONLY_DIGITS_PATTERN : _ref$allowedSymbols,
61
+ _ref$itemErrorBehavio = _ref.itemErrorBehavior,
62
+ itemErrorBehavior = _ref$itemErrorBehavio === void 0 ? 'remove-symbol' : _ref$itemErrorBehavio,
63
+ _ref$codeErrorBehavio = _ref.codeErrorBehavior,
64
+ codeErrorBehavior = _ref$codeErrorBehavio === void 0 ? 'remove-code' : _ref$codeErrorBehavio,
65
+ _ref$autoComplete = _ref.autoComplete,
66
+ autoComplete = _ref$autoComplete === void 0 ? 'one-time-code' : _ref$autoComplete,
67
+ setIsError = _ref.setIsError,
68
+ onChange = _ref.onChange,
69
+ onFullCodeEnter = _ref.onFullCodeEnter,
70
+ rest = _objectWithoutProperties(_ref, _excluded);
71
+ var _useState = (0, _react.useState)((0, _utils2.getCodeValue)(codeLength, outerValue || '')),
72
+ _useState2 = _slicedToArray(_useState, 2),
73
+ code = _useState2[0],
74
+ setCode = _useState2[1];
75
+ var _useState3 = (0, _react.useState)(code.join('')),
76
+ _useState4 = _slicedToArray(_useState3, 2),
77
+ originalValue = _useState4[0],
78
+ setOriginalValue = _useState4[1];
79
+ var inputRefs = (0, _react.useRef)([]);
80
+ var inputContainerRef = (0, _react.useRef)(null);
81
+ var captionRef = (0, _react.useRef)(null);
82
+ var fieldPattern = (0, _utils2.getFieldPattern)(allowedSymbols);
83
+ var placeholderValue = (0, _utils2.getPlaceholderValue)(codeLength, placeholder);
84
+ var parts = codeLength === 6 ? 2 : 1;
85
+ var widthValue = width ? (0, _utils.getSizeValueFromProp)(width, 'rem') : undefined;
86
+ var getLastActiveIndex = function getLastActiveIndex() {
87
+ if (code.length && code.length < codeLength) {
88
+ return code.length;
89
+ }
90
+ var lastEmptyIndex = code.findIndex(function (digit) {
91
+ return digit === '';
92
+ });
93
+ return lastEmptyIndex >= 0 ? lastEmptyIndex : codeLength - 1;
94
+ };
95
+ var handleClick = function handleClick() {
96
+ if (disabled) {
97
+ return;
98
+ }
99
+ var lastActiveIndex = getLastActiveIndex();
100
+ if (inputRefs.current[lastActiveIndex]) {
101
+ inputRefs.current[lastActiveIndex].focus();
102
+ }
103
+ };
104
+ var handleOnKeyDown = function handleOnKeyDown(event, index) {
105
+ if (disabled) {
106
+ return;
107
+ }
108
+ var key = event.key;
109
+ if (_constants.FORBIDDEN_KEYS.includes(key)) {
110
+ event.preventDefault();
111
+ return;
112
+ }
113
+ if (key === _constants.BACKSPACE_KEY) {
114
+ if (index > 0 && code[index] === '') {
115
+ var _inputRefs$current;
116
+ (_inputRefs$current = inputRefs.current[index - 1]) === null || _inputRefs$current === void 0 || _inputRefs$current.focus();
117
+ }
118
+ }
119
+ };
120
+ var codeSetter = function codeSetter(newCode) {
121
+ setCode(newCode);
122
+ setOriginalValue(newCode.join(''));
123
+ if (onChange) {
124
+ onChange(newCode.join(''));
125
+ }
126
+ };
127
+ var handleChange = function handleChange(event, index) {
128
+ var _inputRefs$current$in;
129
+ if (disabled) {
130
+ return;
131
+ }
132
+ var rawSymbol = event.currentTarget.value;
133
+ var symbol = rawSymbol.charAt(rawSymbol.length - 1);
134
+ var newCode = _toConsumableArray(code);
135
+ (_inputRefs$current$in = inputRefs.current[index]) === null || _inputRefs$current$in === void 0 || _inputRefs$current$in.classList.remove(_CodeField.classes.itemError);
136
+ if (isError) {
137
+ var _captionRef$current;
138
+ (_captionRef$current = captionRef.current) === null || _captionRef$current === void 0 || _captionRef$current.classList.remove(_CodeField.classes.captionError);
139
+ if (codeErrorBehavior === 'keep') {
140
+ var _inputContainerRef$cu;
141
+ (_inputContainerRef$cu = inputContainerRef.current) === null || _inputContainerRef$cu === void 0 || _inputContainerRef$cu.classList.remove(_CodeField.classes.codeError, _CodeField.classes.codeErrorAnimation);
142
+ }
143
+ if (setIsError) {
144
+ setIsError(false);
145
+ }
146
+ }
147
+ if (!fieldPattern) {
148
+ newCode[index] = symbol;
149
+ codeSetter(newCode);
150
+ if (symbol && index < codeLength - 1) {
151
+ var _inputRefs$current2;
152
+ (_inputRefs$current2 = inputRefs.current[index + 1]) === null || _inputRefs$current2 === void 0 || _inputRefs$current2.focus();
153
+ }
154
+ return;
155
+ }
156
+ if (!symbol) {
157
+ newCode[index] = '';
158
+ codeSetter(newCode);
159
+ return;
160
+ }
161
+ if (fieldPattern.test(symbol)) {
162
+ newCode[index] = symbol.charAt(symbol.length - 1);
163
+ codeSetter(newCode);
164
+ if (index < codeLength - 1) {
165
+ var _inputRefs$current3;
166
+ (_inputRefs$current3 = inputRefs.current[index + 1]) === null || _inputRefs$current3 === void 0 || _inputRefs$current3.focus();
167
+ }
168
+ } else {
169
+ newCode[index] = symbol.charAt(symbol.length - 1);
170
+ (0, _utils2.handleItemError)({
171
+ currentSymbol: symbol,
172
+ itemErrorBehavior: itemErrorBehavior,
173
+ index: index,
174
+ newCode: newCode,
175
+ inputRefs: inputRefs,
176
+ setCode: setCode,
177
+ codeSetter: codeSetter
178
+ });
179
+ }
180
+ };
181
+ var handlePaste = function handlePaste(event) {
182
+ var _inputRefs$current$ac;
183
+ if (disabled) {
184
+ return;
185
+ }
186
+ event.preventDefault();
187
+ var rawData = event.clipboardData.getData('text/plain');
188
+ var pastedData = (fieldPattern ? rawData.split('').map(function (symb) {
189
+ var _symb$match;
190
+ return ((_symb$match = symb.match(fieldPattern)) === null || _symb$match === void 0 ? void 0 : _symb$match[0]) || '';
191
+ }).filter(Boolean) || [] : rawData.split('')).slice(0, codeLength);
192
+ var activeIndex = Math.min(pastedData.length, codeLength - 1);
193
+ (_inputRefs$current$ac = inputRefs.current[activeIndex]) === null || _inputRefs$current$ac === void 0 || _inputRefs$current$ac.focus();
194
+ codeSetter(pastedData);
195
+ };
196
+ var handleFullCodeEnter = (0, _react.useCallback)(function (fullCode) {
197
+ if (onFullCodeEnter) {
198
+ onFullCodeEnter(fullCode);
199
+ }
200
+ }, []);
201
+ (0, _react.useEffect)(function () {
202
+ inputRefs.current = inputRefs.current.slice(0, codeLength);
203
+ }, [codeLength]);
204
+ (0, _react.useEffect)(function () {
205
+ if (autoFocus && !disabled) {
206
+ var _inputRefs$current$la;
207
+ var lastActiveIndex = getLastActiveIndex();
208
+ (_inputRefs$current$la = inputRefs.current[lastActiveIndex]) === null || _inputRefs$current$la === void 0 || _inputRefs$current$la.focus();
209
+ }
210
+ }, [autoFocus]);
211
+ (0, _hooks.useDidMountEffect)(function () {
212
+ if (handleFullCodeEnter && originalValue.length === codeLength) {
213
+ handleFullCodeEnter(originalValue);
214
+ }
215
+ }, [originalValue, handleFullCodeEnter]);
216
+ (0, _hooks.useDidMountEffect)(function () {
217
+ if (isError) {
218
+ (0, _utils2.handleCodeError)({
219
+ codeLength: codeLength,
220
+ codeErrorBehavior: codeErrorBehavior,
221
+ currentCode: code,
222
+ inputRefs: inputRefs,
223
+ inputContainerRef: inputContainerRef,
224
+ captionRef: captionRef,
225
+ setCode: setCode,
226
+ codeSetter: codeSetter
227
+ });
228
+ }
229
+ }, [isError]);
230
+ return /*#__PURE__*/_react["default"].createElement(Root, _extends({
231
+ ref: ref,
232
+ view: view,
233
+ size: size,
234
+ shape: shape,
235
+ disabled: disabled,
236
+ onClick: handleClick,
237
+ className: (0, _classnames["default"])(className, _defineProperty({}, _CodeField.classes.captionAlignLeft, captionAlign === 'left'))
238
+ }, rest), /*#__PURE__*/_react["default"].createElement(_CodeField2.CodeWrapper, {
239
+ ref: inputContainerRef
240
+ }, _toConsumableArray(Array(parts)).map(function (_, partIndex) {
241
+ return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
242
+ key: partIndex
243
+ }, /*#__PURE__*/_react["default"].createElement(_CodeField2.CodeGroup, {
244
+ role: "group"
245
+ }, _toConsumableArray(Array(codeLength / parts)).map(function (_, i) {
246
+ var inputCorrectIndex = i + codeLength / parts * partIndex;
247
+ return /*#__PURE__*/_react["default"].createElement(_CodeField2.ItemInput, _extends({
248
+ key: partIndex + i + partIndex * i,
249
+ ref: function ref(element) {
250
+ inputRefs.current[inputCorrectIndex] = element;
251
+ },
252
+ className: (0, _classnames["default"])(_defineProperty(_defineProperty({}, _CodeField.classes.segmented, shape === 'segmented'), _CodeField.classes.hoverEnabled, inputCorrectIndex >= originalValue.length)),
253
+ value: code[inputCorrectIndex] || '',
254
+ autoComplete: autoComplete,
255
+ onChange: function onChange(e) {
256
+ handleChange(e, inputCorrectIndex);
257
+ },
258
+ onKeyDown: function onKeyDown(e) {
259
+ handleOnKeyDown(e, inputCorrectIndex);
260
+ },
261
+ onPaste: handlePaste,
262
+ tabIndex: originalValue.length === inputCorrectIndex ? 0 : -1
263
+ }, placeholderValue && {
264
+ placeholder: placeholderValue[inputCorrectIndex]
265
+ }));
266
+ })), partIndex !== parts - 1 && (_Separator || (_Separator = /*#__PURE__*/_react["default"].createElement(_CodeField2.Separator, null))));
267
+ })), caption && /*#__PURE__*/_react["default"].createElement(_CodeField2.CaptionWrapper, {
268
+ ref: captionRef,
269
+ captionAlign: captionAlign,
270
+ widthValue: widthValue
271
+ }, caption));
272
+ });
273
+ };
274
+ var codeFieldConfig = exports.codeFieldConfig = {
275
+ name: 'CodeField',
276
+ tag: 'div',
277
+ layout: codeFieldRoot,
278
+ base: _CodeField2.base,
279
+ variations: {
280
+ view: {
281
+ css: _base.base
282
+ },
283
+ size: {
284
+ css: _base2.base
285
+ },
286
+ shape: {
287
+ css: _base3.base
288
+ },
289
+ disabled: {
290
+ css: _base4.base,
291
+ attrs: true
292
+ }
293
+ },
294
+ defaults: {
295
+ size: 'm',
296
+ view: 'default',
297
+ shape: 'default'
298
+ }
299
+ };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.base = exports.Separator = exports.ItemInput = exports.CodeWrapper = exports.CodeGroup = exports.CaptionWrapper = void 0;
8
+ var _styledComponents = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("styled-components"));
9
+ var _CodeField = /*#__PURE__*/require("./CodeField.tokens");
10
+ var _templateObject;
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
13
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
14
+ var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)(_templateObject || (_templateObject = /*#__PURE__*/_taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: min-content;\n align-items: center;\n\n &.", " {\n align-items: start;\n }\n"])), _CodeField.classes.captionAlignLeft);
15
+ var CodeWrapper = exports.CodeWrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
16
+ componentId: "plasma-new-hope__sc-1269wxl-0"
17
+ })(["display:flex;align-items:center;"]);
18
+ var CodeGroup = exports.CodeGroup = /*#__PURE__*/_styledComponents["default"].div.withConfig({
19
+ componentId: "plasma-new-hope__sc-1269wxl-1"
20
+ })(["display:flex;align-items:center;"]);
21
+ var Separator = exports.Separator = /*#__PURE__*/_styledComponents["default"].div.withConfig({
22
+ componentId: "plasma-new-hope__sc-1269wxl-2"
23
+ })(["width:var(", ");"], _CodeField.tokens.separatorWidth);
24
+ var ItemInput = exports.ItemInput = /*#__PURE__*/_styledComponents["default"].input.withConfig({
25
+ componentId: "plasma-new-hope__sc-1269wxl-3"
26
+ })(["box-sizing:border-box;appearance:none;border:0;padding:0;outline:none;pointer-events:none;text-align:center;"]);
27
+ var CaptionWrapper = exports.CaptionWrapper = /*#__PURE__*/_styledComponents["default"].div.withConfig({
28
+ componentId: "plasma-new-hope__sc-1269wxl-4"
29
+ })(["text-align:", ";align-self:", ";width:", ";white-space:pre-line;"], function (_ref) {
30
+ var captionAlign = _ref.captionAlign;
31
+ return captionAlign;
32
+ }, function (_ref2) {
33
+ var captionAlign = _ref2.captionAlign;
34
+ return captionAlign;
35
+ }, function (_ref3) {
36
+ var widthValue = _ref3.widthValue;
37
+ return widthValue || 'auto';
38
+ });
@@ -0,0 +1,150 @@
1
+ ---
2
+ id: codefield
3
+ title: CodeField
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ # CodeField
9
+ Компонент `CodeField` используется для ввода OTP-кодов.
10
+
11
+ <Description name="CodeField" />
12
+ <PropsTable name="CodeField" />
13
+
14
+ ## Примеры
15
+
16
+ ### Размер
17
+ Размер задается с помощью свойства `size`.
18
+ Ширина компонента так же может регулироваться при помощи свойства `width`:
19
+
20
+ ```tsx live
21
+ import React from 'react';
22
+ import { CodeField } from '@salutejs/{{ package }}';
23
+
24
+ export function App() {
25
+ return (
26
+ <div style=\{{ flexDirection: 'column', gap: '2rem' }}>
27
+ <CodeField
28
+ size="l"
29
+ caption="Осталось попыток: 4"
30
+ captionAlign="center"
31
+ />
32
+ <CodeField
33
+ size="m"
34
+ caption="Чтобы выслать вам код повторно подождите: 20 секунд"
35
+ captionAlign="left"
36
+ />
37
+ <CodeField
38
+ width="25"
39
+ caption="Не передавайте никому код из СМС. Иначе ваш аккаунт могут взломать"
40
+ captionAlign="center"
41
+ />
42
+ </div>
43
+ );
44
+ }
45
+ ```
46
+
47
+ ### Форма компонента и длина кода
48
+ Форма компонента задается с помощью свойства `shape`, а длина кода с помощью `codeLength`:
49
+
50
+ ```tsx live
51
+ import React from 'react';
52
+ import { CodeField } from '@salutejs/{{ package }}';
53
+
54
+ export function App() {
55
+ return (
56
+ <div style=\{{ flexDirection: 'column', gap: '2rem' }}>
57
+ <div style=\{{ display: 'flex', gap: '2rem' }}>
58
+ <CodeField shape="default" codeLength={4} />
59
+ <CodeField shape="segmented" codeLength={4} />
60
+ </div>
61
+ <div style=\{{ display: 'flex', gap: '2rem' }}>
62
+ <CodeField shape="default" codeLength={5} />
63
+ <CodeField shape="segmented" codeLength={5} />
64
+ </div>
65
+ <div style=\{{ display: 'flex', gap: '2rem' }}>
66
+ <CodeField shape="default" codeLength={6} />
67
+ <CodeField shape="segmented" codeLength={6} />
68
+ </div>
69
+ </div>
70
+ );
71
+ }
72
+ ```
73
+
74
+ ### Допустимые символы и поведение ячейки при вводе некорректного символа
75
+ За допустимые символы для ввода отвечает свойство `allowedSymbols`. Задается строкой или регулярным выражением.
76
+ Библиотека экспортирует наиболее используемые вариации допустимых символов:
77
+ `import { ONLY_DIGITS_PATTERN, ONLY_CHARS_PATTERN, ONLY_DIGITS_AND_CHARS_PATTERN } from '@salutejs/{{ package }}';`
78
+
79
+ Поведение ячейки при вводе некорректного символа регулируется свойством `itemErrorBehavior`:
80
+
81
+ ```tsx live
82
+ import React from 'react';
83
+ import { CodeField } from '@salutejs/{{ package }}';
84
+
85
+ export function App() {
86
+ return (
87
+ <div>
88
+ <CodeField value="123" itemErrorBehavior="remove-symbol" />
89
+ <CodeField value="123" itemErrorBehavior="keep" />
90
+ <CodeField value="123" itemErrorBehavior="forbid-enter" />
91
+ </div>
92
+ );
93
+ }
94
+ ```
95
+
96
+ ### Поведение компонента при вводе некорректного кода и индикация ошибки
97
+ При заполнении всех полей ввода срабатывает колбэк `onFullCodeEnter`.
98
+ При неверном вводе кода, поведние компонента управляется с помощью свойства `codeErrorBehavior`.
99
+ Индикация ошибки происходит с помощью флага `isError` и колбека `setIsError`:
100
+
101
+ ```tsx live
102
+ import React, { useState, useRef, Dispatch, SetStateAction } from 'react';
103
+ import { CodeField } from '@salutejs/{{ package }}';
104
+
105
+ export function App() {
106
+ const [disabledFirst, setDisabledFirst] = useState(false);
107
+ const [isErrorFirst, setIsErrorFirst] = useState(false);
108
+
109
+ const [disabledSecond, setDisabledSecond] = useState(false);
110
+ const [isErrorSecond, setIsErrorSecond] = useState(false);
111
+
112
+ const onFullCodeEnter = (
113
+ code: string,
114
+ errorSetter: Dispatch<SetStateAction<boolean>>,
115
+ disableSetter: Dispatch<SetStateAction<boolean>>
116
+ ) => {
117
+ disableSetter(true);
118
+
119
+ // имитация запроса на сервер
120
+ setTimeout(() => {
121
+ disableSetter(false);
122
+
123
+ if (code !== '123456') {
124
+ errorSetter(true);
125
+ }
126
+ }, 3000)
127
+ }
128
+
129
+ return (
130
+ <div style=\{{ flexDirection: 'column', gap: '2rem' }}>
131
+ <CodeField
132
+ itemErrorBehavior="remove-symbol"
133
+ codeErrorBehavior="remove-code"
134
+ disabled={disabledFirst}
135
+ isError={isErrorFirst}
136
+ setIsError={setIsErrorFirst}
137
+ onFullCodeEnter={(code) => onFullCodeEnter(code, setIsErrorFirst, setDisabledFirst)}
138
+ />
139
+ <CodeField
140
+ itemErrorBehavior="remove-symbol"
141
+ codeErrorBehavior="keep"
142
+ disabled={disabledSecond}
143
+ isError={isErrorSecond}
144
+ setIsError={setIsErrorSecond}
145
+ onFullCodeEnter={(code) => onFullCodeEnter(code, setIsErrorSecond, setDisabledSecond)}
146
+ />
147
+ </div>
148
+ );
149
+ }
150
+ ```
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.tokens = exports.classes = void 0;
7
+ var classes = exports.classes = {
8
+ itemError: 'codefield-item-error',
9
+ itemErrorAnimation: 'codefield-item-error-animation',
10
+ itemErrorFade: 'codefield-item-error-fade',
11
+ captionError: 'codefield-caption-error',
12
+ codeError: 'codefield-code-error',
13
+ codeErrorAnimation: 'codefield-code-error-animation',
14
+ codeErrorFade: 'codefield-code-error-fade',
15
+ captionAlignLeft: 'codefield-caption-align-left',
16
+ hoverEnabled: 'codefield-item-hover-enabled',
17
+ segmented: 'codefield-shape-segmented',
18
+ "default": 'codefield-shape-default',
19
+ disabled: 'codefield-disabled'
20
+ };
21
+ var tokens = exports.tokens = {
22
+ captionGap: '--plasma-codefield-caption-gap',
23
+ codeItemsGap: '--plasma-codefield-code-item-gap',
24
+ separatorWidth: '--plasma-codefield-separator-width',
25
+ codeItemWidth: '--plasma-codefield-item-width',
26
+ codeItemHeight: '--plasma-codefield-item-height',
27
+ fontFamily: '--plasma-codefield-font-family',
28
+ fontStyle: '--plasma-codefield-font-style',
29
+ fontSize: '--plasma-codefield-font-size',
30
+ fontWeight: '--plasma-codefield-font-weight',
31
+ letterSpacing: '--plasma-codefield-letter-spacing',
32
+ lineHeight: '--plasma-codefield-line-height',
33
+ captionFontFamily: '--plasma-codefield-caption-font-family',
34
+ captionFontSize: '--plasma-codefield-caption-font-style',
35
+ captionFontStyle: '--plasma-codefield-caption-font-size',
36
+ captionFontWeight: '--plasma-codefield-caption-font-weight',
37
+ captionLetterSpacing: '--plasma-codefield-caption-letter-spacing',
38
+ captionLineHeight: '--plasma-codefield-caption-line-height',
39
+ borderRadius: '--plasma-codefield-code-item-border-radius',
40
+ borderRadiusSegmented: '--plasma-codefield-code-item-border-radius-segmented',
41
+ segmentedSideBorderRadius: '--plasma-codefield-code-item-segmented-side-border-radius',
42
+ captionColor: '--plasma-codefield-caption-color',
43
+ captionColorError: '--plasma-codefield-caption-color-error',
44
+ codeColor: '--plasma-codefield-code-color',
45
+ codeColorError: '--plasma-codefield-code-color-error',
46
+ backgroundColor: '--plasma-codefield-background-color',
47
+ backgroundColorHover: '--plasma-codefield-background-color-hover',
48
+ backgroundColorFocus: '--plasma-codefield-background-color-focus',
49
+ backgroundErrorColor: '--plasma-codefield-background-error-color',
50
+ borderWidth: '--plasma-codefield-border-width',
51
+ borderColor: '--plasma-codefield-border-color',
52
+ borderColorHover: '--plasma-codefield-border-color-hover',
53
+ borderColorFocus: '--plasma-codefield-border-color-focus',
54
+ borderErrorColor: '--plasma-codefield-border-error-color',
55
+ caretColor: '--plasma-codefield-caret-color',
56
+ disabledOpacity: '--plasma-codefield-disabled-opacity'
57
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });