@salutejs/plasma-new-hope 0.175.2-dev.0 → 0.176.0-canary.1511.11555353496.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. package/cjs/components/NumberInput/NumberInput.css +52 -0
  2. package/cjs/components/NumberInput/NumberInput.js +183 -0
  3. package/cjs/components/NumberInput/NumberInput.js.map +1 -0
  4. package/cjs/components/NumberInput/NumberInput.styles.js +9 -0
  5. package/cjs/components/NumberInput/NumberInput.styles.js.map +1 -0
  6. package/cjs/components/NumberInput/NumberInput.styles_jeawjl.css +1 -0
  7. package/cjs/components/NumberInput/NumberInput.tokens.js +91 -0
  8. package/cjs/components/NumberInput/NumberInput.tokens.js.map +1 -0
  9. package/cjs/components/NumberInput/ui/ActionButton/ActionButton.js +19 -0
  10. package/cjs/components/NumberInput/ui/ActionButton/ActionButton.js.map +1 -0
  11. package/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles.js +22 -0
  12. package/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles.js.map +1 -0
  13. package/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles_x642ct.css +1 -0
  14. package/cjs/components/NumberInput/ui/Input/Input.css +15 -0
  15. package/cjs/components/NumberInput/ui/Input/Input.js +197 -0
  16. package/cjs/components/NumberInput/ui/Input/Input.js.map +1 -0
  17. package/cjs/components/NumberInput/ui/Input/Input.styles.js +96 -0
  18. package/cjs/components/NumberInput/ui/Input/Input.styles.js.map +1 -0
  19. package/cjs/components/NumberInput/ui/Input/Input.styles_fhgb95.css +8 -0
  20. package/cjs/components/NumberInput/utils/index.js +8 -0
  21. package/cjs/components/NumberInput/utils/index.js.map +1 -0
  22. package/cjs/components/NumberInput/variations/_background-type/base.js +9 -0
  23. package/cjs/components/NumberInput/variations/_background-type/base.js.map +1 -0
  24. package/cjs/components/NumberInput/variations/_background-type/base_dx9knv.css +1 -0
  25. package/cjs/components/NumberInput/variations/_disabled/base.js +9 -0
  26. package/cjs/components/NumberInput/variations/_disabled/base.js.map +1 -0
  27. package/cjs/components/NumberInput/variations/_disabled/base_1sl0mh8.css +1 -0
  28. package/cjs/components/NumberInput/variations/_segmentation/base.js +9 -0
  29. package/cjs/components/NumberInput/variations/_segmentation/base.js.map +1 -0
  30. package/cjs/components/NumberInput/variations/_segmentation/base_1mg9wqg.css +1 -0
  31. package/cjs/components/NumberInput/variations/_shape/base.js +9 -0
  32. package/cjs/components/NumberInput/variations/_shape/base.js.map +1 -0
  33. package/cjs/components/NumberInput/variations/_shape/base_k05biw.css +1 -0
  34. package/cjs/components/NumberInput/variations/_size/base.js +9 -0
  35. package/cjs/components/NumberInput/variations/_size/base.js.map +1 -0
  36. package/cjs/components/NumberInput/variations/_size/base_yqdmk4.css +1 -0
  37. package/cjs/components/NumberInput/variations/_view/base.js +9 -0
  38. package/cjs/components/NumberInput/variations/_view/base.js.map +1 -0
  39. package/cjs/components/NumberInput/variations/_view/base_3gefjm.css +1 -0
  40. package/cjs/index.css +23 -0
  41. package/cjs/index.js +6 -0
  42. package/cjs/index.js.map +1 -1
  43. package/emotion/cjs/components/NumberInput/NumberInput.js +193 -0
  44. package/emotion/cjs/components/NumberInput/NumberInput.styles.js +17 -0
  45. package/emotion/cjs/components/NumberInput/NumberInput.tokens.js +88 -0
  46. package/emotion/cjs/components/NumberInput/NumberInput.types.js +5 -0
  47. package/emotion/cjs/components/NumberInput/index.js +31 -0
  48. package/emotion/cjs/components/NumberInput/ui/ActionButton/ActionButton.js +18 -0
  49. package/emotion/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles.js +16 -0
  50. package/emotion/cjs/components/NumberInput/ui/ActionButton/ActionButton.types.js +5 -0
  51. package/emotion/cjs/components/NumberInput/ui/Input/Input.js +205 -0
  52. package/emotion/cjs/components/NumberInput/ui/Input/Input.styles.js +81 -0
  53. package/emotion/cjs/components/NumberInput/ui/Input/Input.types.js +5 -0
  54. package/emotion/cjs/components/NumberInput/ui/index.js +19 -0
  55. package/emotion/cjs/components/NumberInput/utils/index.js +7 -0
  56. package/emotion/cjs/components/NumberInput/variations/_background-type/base.js +10 -0
  57. package/emotion/cjs/components/NumberInput/variations/_background-type/tokens.json +6 -0
  58. package/emotion/cjs/components/NumberInput/variations/_disabled/base.js +9 -0
  59. package/emotion/cjs/components/NumberInput/variations/_disabled/tokens.json +4 -0
  60. package/emotion/cjs/components/NumberInput/variations/_segmentation/base.js +12 -0
  61. package/emotion/cjs/components/NumberInput/variations/_segmentation/tokens.json +1 -0
  62. package/emotion/cjs/components/NumberInput/variations/_shape/base.js +11 -0
  63. package/emotion/cjs/components/NumberInput/variations/_shape/tokens.json +1 -0
  64. package/emotion/cjs/components/NumberInput/variations/_size/base.js +13 -0
  65. package/emotion/cjs/components/NumberInput/variations/_size/tokens.json +22 -0
  66. package/emotion/cjs/components/NumberInput/variations/_view/base.js +13 -0
  67. package/emotion/cjs/components/NumberInput/variations/_view/tokens.json +14 -0
  68. package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.config.js +46 -0
  69. package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.js +11 -0
  70. package/emotion/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +108 -0
  71. package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.config.js +46 -0
  72. package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.js +11 -0
  73. package/emotion/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +108 -0
  74. package/emotion/cjs/index.js +11 -0
  75. package/emotion/es/components/NumberInput/NumberInput.js +185 -0
  76. package/emotion/es/components/NumberInput/NumberInput.styles.js +11 -0
  77. package/emotion/es/components/NumberInput/NumberInput.tokens.js +82 -0
  78. package/emotion/es/components/NumberInput/NumberInput.types.js +1 -0
  79. package/emotion/es/components/NumberInput/index.js +2 -0
  80. package/emotion/es/components/NumberInput/ui/ActionButton/ActionButton.js +11 -0
  81. package/emotion/es/components/NumberInput/ui/ActionButton/ActionButton.styles.js +9 -0
  82. package/emotion/es/components/NumberInput/ui/ActionButton/ActionButton.types.js +1 -0
  83. package/emotion/es/components/NumberInput/ui/Input/Input.js +196 -0
  84. package/emotion/es/components/NumberInput/ui/Input/Input.styles.js +74 -0
  85. package/emotion/es/components/NumberInput/ui/Input/Input.types.js +1 -0
  86. package/emotion/es/components/NumberInput/ui/index.js +2 -0
  87. package/emotion/es/components/NumberInput/utils/index.js +1 -0
  88. package/emotion/es/components/NumberInput/variations/_background-type/base.js +4 -0
  89. package/emotion/es/components/NumberInput/variations/_background-type/tokens.json +6 -0
  90. package/emotion/es/components/NumberInput/variations/_disabled/base.js +3 -0
  91. package/emotion/es/components/NumberInput/variations/_disabled/tokens.json +4 -0
  92. package/emotion/es/components/NumberInput/variations/_segmentation/base.js +6 -0
  93. package/emotion/es/components/NumberInput/variations/_segmentation/tokens.json +1 -0
  94. package/emotion/es/components/NumberInput/variations/_shape/base.js +5 -0
  95. package/emotion/es/components/NumberInput/variations/_shape/tokens.json +1 -0
  96. package/emotion/es/components/NumberInput/variations/_size/base.js +7 -0
  97. package/emotion/es/components/NumberInput/variations/_size/tokens.json +22 -0
  98. package/emotion/es/components/NumberInput/variations/_view/base.js +7 -0
  99. package/emotion/es/components/NumberInput/variations/_view/tokens.json +14 -0
  100. package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.config.js +40 -0
  101. package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.js +5 -0
  102. package/emotion/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +108 -0
  103. package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.config.js +40 -0
  104. package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.js +5 -0
  105. package/emotion/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +108 -0
  106. package/emotion/es/index.js +2 -1
  107. package/es/components/NumberInput/NumberInput.css +52 -0
  108. package/es/components/NumberInput/NumberInput.js +178 -0
  109. package/es/components/NumberInput/NumberInput.js.map +1 -0
  110. package/es/components/NumberInput/NumberInput.styles.js +5 -0
  111. package/es/components/NumberInput/NumberInput.styles.js.map +1 -0
  112. package/es/components/NumberInput/NumberInput.styles_jeawjl.css +1 -0
  113. package/es/components/NumberInput/NumberInput.tokens.js +85 -0
  114. package/es/components/NumberInput/NumberInput.tokens.js.map +1 -0
  115. package/es/components/NumberInput/ui/ActionButton/ActionButton.js +15 -0
  116. package/es/components/NumberInput/ui/ActionButton/ActionButton.js.map +1 -0
  117. package/es/components/NumberInput/ui/ActionButton/ActionButton.styles.js +18 -0
  118. package/es/components/NumberInput/ui/ActionButton/ActionButton.styles.js.map +1 -0
  119. package/es/components/NumberInput/ui/ActionButton/ActionButton.styles_x642ct.css +1 -0
  120. package/es/components/NumberInput/ui/Input/Input.css +15 -0
  121. package/es/components/NumberInput/ui/Input/Input.js +193 -0
  122. package/es/components/NumberInput/ui/Input/Input.js.map +1 -0
  123. package/es/components/NumberInput/ui/Input/Input.styles.js +85 -0
  124. package/es/components/NumberInput/ui/Input/Input.styles.js.map +1 -0
  125. package/es/components/NumberInput/ui/Input/Input.styles_fhgb95.css +8 -0
  126. package/es/components/NumberInput/utils/index.js +4 -0
  127. package/es/components/NumberInput/utils/index.js.map +1 -0
  128. package/es/components/NumberInput/variations/_background-type/base.js +5 -0
  129. package/es/components/NumberInput/variations/_background-type/base.js.map +1 -0
  130. package/es/components/NumberInput/variations/_background-type/base_dx9knv.css +1 -0
  131. package/es/components/NumberInput/variations/_disabled/base.js +5 -0
  132. package/es/components/NumberInput/variations/_disabled/base.js.map +1 -0
  133. package/es/components/NumberInput/variations/_disabled/base_1sl0mh8.css +1 -0
  134. package/es/components/NumberInput/variations/_segmentation/base.js +5 -0
  135. package/es/components/NumberInput/variations/_segmentation/base.js.map +1 -0
  136. package/es/components/NumberInput/variations/_segmentation/base_1mg9wqg.css +1 -0
  137. package/es/components/NumberInput/variations/_shape/base.js +5 -0
  138. package/es/components/NumberInput/variations/_shape/base.js.map +1 -0
  139. package/es/components/NumberInput/variations/_shape/base_k05biw.css +1 -0
  140. package/es/components/NumberInput/variations/_size/base.js +5 -0
  141. package/es/components/NumberInput/variations/_size/base.js.map +1 -0
  142. package/es/components/NumberInput/variations/_size/base_yqdmk4.css +1 -0
  143. package/es/components/NumberInput/variations/_view/base.js +5 -0
  144. package/es/components/NumberInput/variations/_view/base.js.map +1 -0
  145. package/es/components/NumberInput/variations/_view/base_3gefjm.css +1 -0
  146. package/es/index.css +23 -0
  147. package/es/index.js +2 -0
  148. package/es/index.js.map +1 -1
  149. package/package.json +2 -2
  150. package/styled-components/cjs/components/NumberInput/NumberInput.js +193 -0
  151. package/styled-components/cjs/components/NumberInput/NumberInput.styles.js +8 -0
  152. package/styled-components/cjs/components/NumberInput/NumberInput.tokens.js +88 -0
  153. package/styled-components/cjs/components/NumberInput/NumberInput.types.js +5 -0
  154. package/styled-components/cjs/components/NumberInput/index.js +31 -0
  155. package/styled-components/cjs/components/NumberInput/ui/ActionButton/ActionButton.js +18 -0
  156. package/styled-components/cjs/components/NumberInput/ui/ActionButton/ActionButton.styles.js +15 -0
  157. package/styled-components/cjs/components/NumberInput/ui/ActionButton/ActionButton.types.js +5 -0
  158. package/styled-components/cjs/components/NumberInput/ui/Input/Input.js +205 -0
  159. package/styled-components/cjs/components/NumberInput/ui/Input/Input.styles.js +48 -0
  160. package/styled-components/cjs/components/NumberInput/ui/Input/Input.types.js +5 -0
  161. package/styled-components/cjs/components/NumberInput/ui/index.js +19 -0
  162. package/styled-components/cjs/components/NumberInput/utils/index.js +7 -0
  163. package/styled-components/cjs/components/NumberInput/variations/_background-type/base.js +10 -0
  164. package/styled-components/cjs/components/NumberInput/variations/_background-type/tokens.json +6 -0
  165. package/styled-components/cjs/components/NumberInput/variations/_disabled/base.js +9 -0
  166. package/styled-components/cjs/components/NumberInput/variations/_disabled/tokens.json +4 -0
  167. package/styled-components/cjs/components/NumberInput/variations/_segmentation/base.js +12 -0
  168. package/styled-components/cjs/components/NumberInput/variations/_segmentation/tokens.json +1 -0
  169. package/styled-components/cjs/components/NumberInput/variations/_shape/base.js +11 -0
  170. package/styled-components/cjs/components/NumberInput/variations/_shape/tokens.json +1 -0
  171. package/styled-components/cjs/components/NumberInput/variations/_size/base.js +13 -0
  172. package/styled-components/cjs/components/NumberInput/variations/_size/tokens.json +22 -0
  173. package/styled-components/cjs/components/NumberInput/variations/_view/base.js +13 -0
  174. package/styled-components/cjs/components/NumberInput/variations/_view/tokens.json +14 -0
  175. package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.config.js +46 -0
  176. package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.js +11 -0
  177. package/styled-components/cjs/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +108 -0
  178. package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.config.js +46 -0
  179. package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.js +11 -0
  180. package/styled-components/cjs/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +108 -0
  181. package/styled-components/cjs/index.js +11 -0
  182. package/styled-components/es/components/NumberInput/NumberInput.js +185 -0
  183. package/styled-components/es/components/NumberInput/NumberInput.styles.js +2 -0
  184. package/styled-components/es/components/NumberInput/NumberInput.tokens.js +82 -0
  185. package/styled-components/es/components/NumberInput/NumberInput.types.js +1 -0
  186. package/styled-components/es/components/NumberInput/index.js +2 -0
  187. package/styled-components/es/components/NumberInput/ui/ActionButton/ActionButton.js +11 -0
  188. package/styled-components/es/components/NumberInput/ui/ActionButton/ActionButton.styles.js +8 -0
  189. package/styled-components/es/components/NumberInput/ui/ActionButton/ActionButton.types.js +1 -0
  190. package/styled-components/es/components/NumberInput/ui/Input/Input.js +196 -0
  191. package/styled-components/es/components/NumberInput/ui/Input/Input.styles.js +41 -0
  192. package/styled-components/es/components/NumberInput/ui/Input/Input.types.js +1 -0
  193. package/styled-components/es/components/NumberInput/ui/index.js +2 -0
  194. package/styled-components/es/components/NumberInput/utils/index.js +1 -0
  195. package/styled-components/es/components/NumberInput/variations/_background-type/base.js +4 -0
  196. package/styled-components/es/components/NumberInput/variations/_background-type/tokens.json +6 -0
  197. package/styled-components/es/components/NumberInput/variations/_disabled/base.js +3 -0
  198. package/styled-components/es/components/NumberInput/variations/_disabled/tokens.json +4 -0
  199. package/styled-components/es/components/NumberInput/variations/_segmentation/base.js +6 -0
  200. package/styled-components/es/components/NumberInput/variations/_segmentation/tokens.json +1 -0
  201. package/styled-components/es/components/NumberInput/variations/_shape/base.js +5 -0
  202. package/styled-components/es/components/NumberInput/variations/_shape/tokens.json +1 -0
  203. package/styled-components/es/components/NumberInput/variations/_size/base.js +7 -0
  204. package/styled-components/es/components/NumberInput/variations/_size/tokens.json +22 -0
  205. package/styled-components/es/components/NumberInput/variations/_view/base.js +7 -0
  206. package/styled-components/es/components/NumberInput/variations/_view/tokens.json +14 -0
  207. package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.config.js +40 -0
  208. package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.js +5 -0
  209. package/styled-components/es/examples/plasma_b2c/components/NumberInput/NumberInput.stories.tsx +108 -0
  210. package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.config.js +40 -0
  211. package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.js +5 -0
  212. package/styled-components/es/examples/plasma_web/components/NumberInput/NumberInput.stories.tsx +108 -0
  213. package/styled-components/es/index.js +2 -1
  214. package/types/components/NumberInput/NumberInput.d.ts +38 -0
  215. package/types/components/NumberInput/NumberInput.d.ts.map +1 -0
  216. package/types/components/NumberInput/NumberInput.styles.d.ts +2 -0
  217. package/types/components/NumberInput/NumberInput.styles.d.ts.map +1 -0
  218. package/types/components/NumberInput/NumberInput.tokens.d.ts +77 -0
  219. package/types/components/NumberInput/NumberInput.tokens.d.ts.map +1 -0
  220. package/types/components/NumberInput/NumberInput.types.d.ts +112 -0
  221. package/types/components/NumberInput/NumberInput.types.d.ts.map +1 -0
  222. package/types/components/NumberInput/index.d.ts +3 -0
  223. package/types/components/NumberInput/index.d.ts.map +1 -0
  224. package/types/components/NumberInput/ui/ActionButton/ActionButton.d.ts +4 -0
  225. package/types/components/NumberInput/ui/ActionButton/ActionButton.d.ts.map +1 -0
  226. package/types/components/NumberInput/ui/ActionButton/ActionButton.styles.d.ts +45 -0
  227. package/types/components/NumberInput/ui/ActionButton/ActionButton.styles.d.ts.map +1 -0
  228. package/types/components/NumberInput/ui/ActionButton/ActionButton.types.d.ts +7 -0
  229. package/types/components/NumberInput/ui/ActionButton/ActionButton.types.d.ts.map +1 -0
  230. package/types/components/NumberInput/ui/Input/Input.d.ts +16 -0
  231. package/types/components/NumberInput/ui/Input/Input.d.ts.map +1 -0
  232. package/types/components/NumberInput/ui/Input/Input.styles.d.ts +30 -0
  233. package/types/components/NumberInput/ui/Input/Input.styles.d.ts.map +1 -0
  234. package/types/components/NumberInput/ui/Input/Input.types.d.ts +16 -0
  235. package/types/components/NumberInput/ui/Input/Input.types.d.ts.map +1 -0
  236. package/types/components/NumberInput/ui/index.d.ts +3 -0
  237. package/types/components/NumberInput/ui/index.d.ts.map +1 -0
  238. package/types/components/NumberInput/utils/index.d.ts +2 -0
  239. package/types/components/NumberInput/utils/index.d.ts.map +1 -0
  240. package/types/components/NumberInput/variations/_background-type/base.d.ts +2 -0
  241. package/types/components/NumberInput/variations/_background-type/base.d.ts.map +1 -0
  242. package/types/components/NumberInput/variations/_disabled/base.d.ts +2 -0
  243. package/types/components/NumberInput/variations/_disabled/base.d.ts.map +1 -0
  244. package/types/components/NumberInput/variations/_segmentation/base.d.ts +2 -0
  245. package/types/components/NumberInput/variations/_segmentation/base.d.ts.map +1 -0
  246. package/types/components/NumberInput/variations/_shape/base.d.ts +2 -0
  247. package/types/components/NumberInput/variations/_shape/base.d.ts.map +1 -0
  248. package/types/components/NumberInput/variations/_size/base.d.ts +2 -0
  249. package/types/components/NumberInput/variations/_size/base.d.ts.map +1 -0
  250. package/types/components/NumberInput/variations/_view/base.d.ts +2 -0
  251. package/types/components/NumberInput/variations/_view/base.d.ts.map +1 -0
  252. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.config.d.ts +39 -0
  253. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.config.d.ts.map +1 -0
  254. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts +82 -0
  255. package/types/examples/plasma_b2c/components/NumberInput/NumberInput.d.ts.map +1 -0
  256. package/types/examples/plasma_web/components/NumberInput/NumberInput.config.d.ts +39 -0
  257. package/types/examples/plasma_web/components/NumberInput/NumberInput.config.d.ts.map +1 -0
  258. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts +82 -0
  259. package/types/examples/plasma_web/components/NumberInput/NumberInput.d.ts.map +1 -0
  260. package/types/index.d.ts +1 -0
  261. package/types/index.d.ts.map +1 -1
@@ -0,0 +1,22 @@
1
+ [
2
+ "--plasma-number-input_icon-button_height",
3
+ "--plasma-number-input_icon-button_width",
4
+ "--plasma-number-input_icon-button_padding",
5
+ "--plasma-number-input_icon-button_font-family",
6
+ "--plasma-number-input_icon-button_font-size",
7
+ "--plasma-number-input_icon-button_font-style",
8
+ "--plasma-number-input_icon-button_font-weight",
9
+ "--plasma-number-input_icon-button_letter-spacing",
10
+ "--plasma-number-input_icon-button_line-height",
11
+ "--plasma-number-input_font-family",
12
+ "--plasma-number-input_font-style",
13
+ "--plasma-number-input_font-size",
14
+ "--plasma-number-input_font-weight",
15
+ "--plasma-number-input_letter-spacing",
16
+ "--plasma-number-input_line-height",
17
+ "--plasma-number-input_text-wrapper_height",
18
+ "--plasma-number-input_text-wrapper_padding",
19
+ "--plasma-number-input_loader-spinner_size",
20
+ "--plasma-number-input_text-before_margin-right",
21
+ "--plasma-number-input_text-after_margin-left"
22
+ ]
@@ -0,0 +1,7 @@
1
+ import { css } from 'styled-components';
2
+ import { classes, tokens } from '../../NumberInput.tokens';
3
+ import { iconButtonTokens } from '../../../IconButton';
4
+ import { StyledIconButton } from '../../ui/ActionButton/ActionButton.styles';
5
+ import { AdditionalText, Input, InputWrapper, StyledSpinner } from '../../ui/Input/Input.styles';
6
+ import { spinnerTokens } from '../../../Spinner';
7
+ export var base = /*#__PURE__*/css(["", "{", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");", ":var(", ");&.", ",&.", "{opacity:var(", ");cursor:not-allowed;:hover,:active{scale:none;color:var(", ");background-color:var(", ");}}}&& ", "{&.", ":focus-within{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}&.", ".", "{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");animation:shakingError 0.5s forwards;", "{color:var(", ");animation:fadeError 0.5s forwards;}&:focus-within{background-color:var(", ");box-shadow:inset 0 0 0 var(", ") var(", ");}}@keyframes shakingError{12.5%{transform:translateX(0.188rem);}25%{transform:translateX(-0.188rem);}37.5%{transform:translateX(0.188rem);}50%{transform:translateX(-0.188rem);}62.5%{transform:translateX(0.188rem);}75%{transform:translateX(-0.188rem);}87.5%{transform:translateX(0.188rem);}100%{transform:translateX(-0.188rem);}}@keyframes fadeError{50%{opacity:1;}100%{opacity:0;}}}", "{", ":var(", ");}", "{color:var(", ");caret-color:var(", ");}", "{color:var(", ");}"], StyledIconButton, iconButtonTokens.iconButtonColor, tokens.iconButtonColor, iconButtonTokens.iconButtonBackgroundColor, tokens.iconButtonBackgroundColor, iconButtonTokens.iconButtonColorHover, tokens.iconButtonColorHover, iconButtonTokens.iconButtonBackgroundColorHover, tokens.iconButtonBackgroundColorHover, iconButtonTokens.iconButtonColorActive, tokens.iconButtonColorActive, iconButtonTokens.iconButtonBackgroundColorActive, tokens.iconButtonBackgroundColorActive, classes.actionButtonDecrementDisabled, classes.actionButtonIncrementDisabled, tokens.actionButtonDisabledOpacity, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, InputWrapper, classes.manualInput, tokens.backgroundColorFocus, tokens.inputWrapperBorderWidth, tokens.borderColorFocus, classes.manualInput, classes.errorAnimation, tokens.backgroundErrorColor, tokens.inputWrapperBorderWidth, tokens.borderErrorColor, Input, tokens.errorColor, tokens.backgroundErrorColor, tokens.inputWrapperBorderWidth, tokens.borderErrorColor, StyledSpinner, spinnerTokens.color, tokens.loaderSpinnerColor, Input, tokens.color, tokens.caretColor, AdditionalText, tokens.additionalTextColor);
@@ -0,0 +1,14 @@
1
+ [
2
+ "--plasma-number-input_icon-button_color",
3
+ "--plasma-number-input_icon-button_background-color",
4
+ "--plasma-number-input_icon-button_color-hover",
5
+ "--plasma-number-input_icon-button_background-color-hover",
6
+ "--plasma-number-input_icon-button_color-active",
7
+ "--plasma-number-input_icon-button_background-color-active",
8
+ "--plasma-number-input_loader-spinner_color",
9
+ "--plasma-number-input_color",
10
+ "--plasma-number-input_additional-text_color",
11
+ "--plasma-number-input_action-button_disabled-opacity",
12
+ "--plasma-number-input_background-color-focus",
13
+ "--plasma-number-input_border-color-focus"
14
+ ]
@@ -0,0 +1,40 @@
1
+ import { css } from 'styled-components';
2
+ import { numberInputTokens as tokens } from '../../../../components/NumberInput';
3
+ export var config = {
4
+ defaults: {
5
+ view: 'default',
6
+ size: 'l',
7
+ shape: 'cornered',
8
+ inputBackgroundType: 'fill'
9
+ },
10
+ variations: {
11
+ view: {
12
+ "default": /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-transparent-negative);", ":var(--text-primary);", ":var(--inverse-text-primary);", ":var(--text-tertiary);", ":var(--on-dark-text-tertiary);", ":var(--surface-transparent-secondary);", ":var(--on-dark-surface-transparent-secondary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-hover);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.backgroundErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.backgroundColorFocus, tokens.backgroundColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
13
+ secondary: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-transparent-negative);", ":var(--text-primary);", ":var(--text-primary);", ":var(--text-tertiary);", ":var(--text-tertiary);", ":var(--surface-transparent-secondary);", ":var(--surface-transparent-secondary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary-hover);", ":var(--text-primary);", ":var(--surface-transparent-secondary-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.backgroundErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.backgroundColorFocus, tokens.backgroundColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
14
+ accent: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--inverse-text-primary);", ":var(--text-negative);", ":var(--surface-transparent-negative);", ":var(--text-primary);", ":var(--inverse-text-primary);", ":var(--text-tertiary);", ":var(--on-dark-text-tertiary);", ":var(--surface-transparent-secondary);", ":var(--surface-transparent-secondary);", ":var(--surface-accent);", ":var(--inverse-text-primary);", ":var(--surface-accent);", ":var(--inverse-text-primary);", ":var(--surface-accent-hover);", ":var(--inverse-text-primary);", ":var(--surface-accent-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.caretColorSolid, tokens.errorColor, tokens.backgroundErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.backgroundColorFocus, tokens.backgroundColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
15
+ clear: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-transparent-negative);", ":var(--text-primary);", ":var(--text-primary);", ":var(--text-tertiary);", ":var(--text-tertiary);", ":var(--surface-transparent-secondary);", ":var(--surface-transparent-secondary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.caretColorSolid, tokens.errorColor, tokens.backgroundErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.backgroundColorFocus, tokens.backgroundColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid)
16
+ },
17
+ size: {
18
+ l: /*#__PURE__*/css(["", ":11.75rem;", ":3.5rem;", ":3.5rem;", ":1.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);", ":0.875rem;", ":0.375rem;", ":0 0.125rem;", ":0.875rem;", ":3.5rem;", ":1.063rem 1.125rem;", ":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-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
19
+ m: /*#__PURE__*/css(["", ":10.25rem;", ":3rem;", ":3rem;", ":1.25rem;", ":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);", ":0.75rem;", ":0.25rem;", ":0 0.125rem;", ":0.75rem;", ":3rem;", ":0.875rem 1rem;", ":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-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
20
+ s: /*#__PURE__*/css(["", ":8.75rem;", ":2.5rem;", ":2.5rem;", ":1rem;", ":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-bold-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":0.625rem;", ":0.25rem;", ":0 0.125rem;", ":0.625rem;", ":2.5rem;", ":0.688rem 0.875rem;", ":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.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
21
+ xs: /*#__PURE__*/css(["", ":6.875rem;", ":2rem;", ":2rem;", ":0.75rem;", ":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-bold-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.5rem;", ":0.125rem;", ":0 0.125rem;", ":0.5rem;", ":2rem;", ":0.563rem 0.625rem;", ":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.25rem;", ":0.25rem;", ":1rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize)
22
+ },
23
+ shape: {
24
+ cornered: /*#__PURE__*/css([""]),
25
+ pilled: /*#__PURE__*/css(["", ":50%;"], tokens.iconButtonRadius)
26
+ },
27
+ inputBackgroundType: {
28
+ fill: /*#__PURE__*/css(["", ":var(--surface-transparent-primary);", ":var(--surface-transparent-primary);"], tokens.backgroundColor, tokens.backgroundColorHover),
29
+ clear: /*#__PURE__*/css(["", ":transparent;", ":transparent;"], tokens.backgroundColor, tokens.backgroundColorHover)
30
+ },
31
+ segmentation: {
32
+ "default": /*#__PURE__*/css([""]),
33
+ segmented: /*#__PURE__*/css([""]),
34
+ solid: /*#__PURE__*/css(["", ":0;"], tokens.iconButtonSegmentationRadius)
35
+ },
36
+ disabled: {
37
+ "true": /*#__PURE__*/css(["", ":0.4;"], tokens.disabledOpacity)
38
+ }
39
+ }
40
+ };
@@ -0,0 +1,5 @@
1
+ import { numberInputConfig } from '../../../../components/NumberInput';
2
+ import { component, mergeConfig } from '../../../../engines';
3
+ import { config } from './NumberInput.config';
4
+ var mergedConfig = /*#__PURE__*/mergeConfig(numberInputConfig, config);
5
+ export var NumberInput = /*#__PURE__*/component(mergedConfig);
@@ -0,0 +1,108 @@
1
+ import React, { ComponentProps, useState } from 'react';
2
+ import type { StoryObj, Meta } from '@storybook/react';
3
+ import { action } from '@storybook/addon-actions';
4
+
5
+ import { WithTheme } from '../../../_helpers';
6
+
7
+ import { NumberInput } from './NumberInput';
8
+
9
+ const onChange = action('onChange');
10
+ const onDecrement = action('onDecrement');
11
+ const onIncrement = action('onIncrement');
12
+
13
+ const views = ['default', 'secondary', 'accent', 'clear'];
14
+ const sizes = ['l', 'm', 's', 'xs'];
15
+ const shapes = ['cornered', 'pilled'];
16
+ const inputBackgroundTypes = ['fill', 'clear'];
17
+ const segmentation = ['default', 'segmented', 'solid'];
18
+
19
+ const meta: Meta<typeof NumberInput> = {
20
+ title: 'plasma_b2c/NumberInput',
21
+ component: NumberInput,
22
+ decorators: [WithTheme],
23
+ argTypes: {
24
+ min: {
25
+ control: {
26
+ type: 'number',
27
+ },
28
+ },
29
+ max: {
30
+ control: {
31
+ type: 'number',
32
+ },
33
+ },
34
+ view: {
35
+ options: views,
36
+ control: {
37
+ type: 'select',
38
+ },
39
+ },
40
+ size: {
41
+ options: sizes,
42
+ control: {
43
+ type: 'inline-radio',
44
+ },
45
+ },
46
+ shape: {
47
+ options: shapes,
48
+ control: {
49
+ type: 'inline-radio',
50
+ },
51
+ },
52
+ inputBackgroundType: {
53
+ options: inputBackgroundTypes,
54
+ control: {
55
+ type: 'inline-radio',
56
+ },
57
+ },
58
+ segmentation: {
59
+ options: segmentation,
60
+ control: {
61
+ type: 'select',
62
+ },
63
+ },
64
+ },
65
+ };
66
+
67
+ export default meta;
68
+
69
+ type StoryPropsDefault = ComponentProps<typeof NumberInput>;
70
+
71
+ const StoryDefault = (args: StoryPropsDefault) => {
72
+ const [value, setValue] = useState(5);
73
+
74
+ const handleChange = (_: any, newValue: number) => {
75
+ setValue(newValue);
76
+ onChange(newValue);
77
+ };
78
+
79
+ return (
80
+ <NumberInput
81
+ {...args}
82
+ value={value}
83
+ onChange={handleChange}
84
+ onDecrement={onDecrement}
85
+ onIncrement={onIncrement}
86
+ />
87
+ );
88
+ };
89
+
90
+ export const Default: StoryObj<StoryPropsDefault> = {
91
+ args: {
92
+ view: 'default',
93
+ size: 'l',
94
+ shape: 'cornered',
95
+ inputBackgroundType: 'fill',
96
+ segmentation: 'default',
97
+ min: 0,
98
+ max: 9,
99
+ step: 1,
100
+ width: 188,
101
+ isManualInput: false,
102
+ textBefore: '',
103
+ textAfter: '',
104
+ isLoading: false,
105
+ disabled: false,
106
+ },
107
+ render: StoryDefault,
108
+ };
@@ -0,0 +1,40 @@
1
+ import { css } from 'styled-components';
2
+ import { numberInputTokens as tokens } from '../../../../components/NumberInput';
3
+ export var config = {
4
+ defaults: {
5
+ view: 'default',
6
+ size: 'l',
7
+ shape: 'cornered',
8
+ inputBackgroundType: 'fill'
9
+ },
10
+ variations: {
11
+ view: {
12
+ "default": /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-negative);", ":var(--text-primary);", ":var(--inverse-text-primary);", ":var(--text-tertiary);", ":var(--on-dark-text-tertiary);", ":var(--surface-accent);", ":var(--surface-accent);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-hover);", ":var(--inverse-text-primary);", ":var(--surface-solid-default-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.borderErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.borderColorFocus, tokens.borderColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
13
+ secondary: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-negative);", ":var(--text-primary);", ":var(--text-primary);", ":var(--text-tertiary);", ":var(--text-tertiary);", ":var(--surface-accent);", ":var(--surface-accent);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary);", ":var(--text-primary);", ":var(--surface-transparent-secondary-hover);", ":var(--text-primary);", ":var(--surface-transparent-secondary-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.borderErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.borderColorFocus, tokens.borderColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
14
+ accent: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--inverse-text-primary);", ":var(--text-negative);", ":var(--surface-negative);", ":var(--text-primary);", ":var(--inverse-text-primary);", ":var(--text-tertiary);", ":var(--on-dark-text-tertiary);", ":var(--surface-accent);", ":var(--light-background-primary);", ":var(--surface-accent);", ":var(--inverse-text-primary);", ":var(--surface-accent);", ":var(--inverse-text-primary);", ":var(--surface-accent-hover);", ":var(--inverse-text-primary);", ":var(--surface-accent-active);", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.caretColorSolid, tokens.errorColor, tokens.borderErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.borderColorFocus, tokens.borderColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid),
15
+ clear: /*#__PURE__*/css(["", ":var(--text-accent);", ":var(--text-negative);", ":var(--surface-negative);", ":var(--text-primary);", ":var(--text-primary);", ":var(--text-tertiary);", ":var(--text-tertiary);", ":var(--surface-accent);", ":var(--surface-accent);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":var(--text-primary);", ":transparent;", ":0.4;", ":inherit;", ":inherit;"], tokens.caretColor, tokens.errorColor, tokens.borderErrorColor, tokens.color, tokens.colorSolid, tokens.additionalTextColor, tokens.additionalTextColorSolid, tokens.borderColorFocus, tokens.borderColorSolidFocus, tokens.backgroundColorSolid, tokens.iconButtonColor, tokens.iconButtonBackgroundColor, tokens.iconButtonColorHover, tokens.iconButtonBackgroundColorHover, tokens.iconButtonColorActive, tokens.iconButtonBackgroundColorActive, tokens.actionButtonDisabledOpacity, tokens.loaderSpinnerColor, tokens.loaderSpinnerColorSolid)
16
+ },
17
+ size: {
18
+ l: /*#__PURE__*/css(["", ":11.75rem;", ":3.5rem;", ":3.5rem;", ":1.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);", ":0.875rem;", ":0.375rem;", ":0 0.125rem;", ":0.875rem;", ":3.5rem;", ":0.063rem;", ":1.063rem 1.125rem;", ":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-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.inputWrapperBorderWidth, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
19
+ m: /*#__PURE__*/css(["", ":10.25rem;", ":3rem;", ":3rem;", ":1.25rem;", ":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);", ":0.75rem;", ":0.25rem;", ":0 0.125rem;", ":0.75rem;", ":3rem;", ":0.063rem;", ":0.875rem 1rem;", ":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-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":0.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.inputWrapperBorderWidth, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
20
+ s: /*#__PURE__*/css(["", ":8.75rem;", ":2.5rem;", ":2.5rem;", ":1rem;", ":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-bold-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":0.625rem;", ":0.25rem;", ":0 0.125rem;", ":0.625rem;", ":2.5rem;", ":0.063rem;", ":0.688rem 0.875rem;", ":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.25rem;", ":0.25rem;", ":1.375rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.inputWrapperBorderWidth, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize),
21
+ xs: /*#__PURE__*/css(["", ":6.875rem;", ":2rem;", ":2rem;", ":0.75rem;", ":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-bold-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":0.5rem;", ":0.125rem;", ":0 0.125rem;", ":0.5rem;", ":2rem;", ":0.063rem;", ":0.563rem 0.625rem;", ":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.25rem;", ":0.25rem;", ":1rem;"], tokens.rootMinWidth, tokens.iconButtonHeight, tokens.iconButtonWidth, tokens.iconButtonPadding, tokens.iconButtonFontFamily, tokens.iconButtonFontSize, tokens.iconButtonFontStyle, tokens.iconButtonFontWeight, tokens.iconButtonLetterSpacing, tokens.iconButtonLineHeight, tokens.iconButtonRadius, tokens.iconButtonSegmentationRadius, tokens.inputWrapperMargin, tokens.inputWrapperBorderRadius, tokens.textWrapperHeight, tokens.inputWrapperBorderWidth, tokens.textWrapperPadding, tokens.fontFamily, tokens.fontSize, tokens.fontStyle, tokens.fontWeight, tokens.letterSpacing, tokens.lineHeight, tokens.textBeforeMarginRight, tokens.textAfterMarginLeft, tokens.loaderSpinnerSize)
22
+ },
23
+ shape: {
24
+ cornered: /*#__PURE__*/css([""]),
25
+ pilled: /*#__PURE__*/css(["", ":50%;"], tokens.iconButtonRadius)
26
+ },
27
+ inputBackgroundType: {
28
+ fill: /*#__PURE__*/css(["", ":var(--surface-transparent-tertiary);", ":var(--text-secondary);"], tokens.borderColor, tokens.borderColorHover),
29
+ clear: /*#__PURE__*/css(["", ":transparent;", ":transparent;"], tokens.borderColor, tokens.borderColorHover)
30
+ },
31
+ segmentation: {
32
+ "default": /*#__PURE__*/css([""]),
33
+ segmented: /*#__PURE__*/css([""]),
34
+ solid: /*#__PURE__*/css(["", ":0;"], tokens.iconButtonSegmentationRadius)
35
+ },
36
+ disabled: {
37
+ "true": /*#__PURE__*/css(["", ":0.4;"], tokens.disabledOpacity)
38
+ }
39
+ }
40
+ };
@@ -0,0 +1,5 @@
1
+ import { numberInputConfig } from '../../../../components/NumberInput';
2
+ import { component, mergeConfig } from '../../../../engines';
3
+ import { config } from './NumberInput.config';
4
+ var mergedConfig = /*#__PURE__*/mergeConfig(numberInputConfig, config);
5
+ export var NumberInput = /*#__PURE__*/component(mergedConfig);
@@ -0,0 +1,108 @@
1
+ import React, { ComponentProps, useState } from 'react';
2
+ import type { StoryObj, Meta } from '@storybook/react';
3
+ import { action } from '@storybook/addon-actions';
4
+
5
+ import { WithTheme } from '../../../_helpers';
6
+
7
+ import { NumberInput } from './NumberInput';
8
+
9
+ const onChange = action('onChange');
10
+ const onDecrement = action('onDecrement');
11
+ const onIncrement = action('onIncrement');
12
+
13
+ const views = ['default', 'secondary', 'accent', 'clear'];
14
+ const sizes = ['l', 'm', 's', 'xs'];
15
+ const shapes = ['cornered', 'pilled'];
16
+ const inputBackgroundTypes = ['fill', 'clear'];
17
+ const segmentation = ['default', 'segmented', 'solid'];
18
+
19
+ const meta: Meta<typeof NumberInput> = {
20
+ title: 'plasma_web/NumberInput',
21
+ component: NumberInput,
22
+ decorators: [WithTheme],
23
+ argTypes: {
24
+ min: {
25
+ control: {
26
+ type: 'number',
27
+ },
28
+ },
29
+ max: {
30
+ control: {
31
+ type: 'number',
32
+ },
33
+ },
34
+ view: {
35
+ options: views,
36
+ control: {
37
+ type: 'select',
38
+ },
39
+ },
40
+ size: {
41
+ options: sizes,
42
+ control: {
43
+ type: 'inline-radio',
44
+ },
45
+ },
46
+ shape: {
47
+ options: shapes,
48
+ control: {
49
+ type: 'inline-radio',
50
+ },
51
+ },
52
+ inputBackgroundType: {
53
+ options: inputBackgroundTypes,
54
+ control: {
55
+ type: 'inline-radio',
56
+ },
57
+ },
58
+ segmentation: {
59
+ options: segmentation,
60
+ control: {
61
+ type: 'select',
62
+ },
63
+ },
64
+ },
65
+ };
66
+
67
+ export default meta;
68
+
69
+ type StoryPropsDefault = ComponentProps<typeof NumberInput>;
70
+
71
+ const StoryDefault = (args: StoryPropsDefault) => {
72
+ const [value, setValue] = useState(5);
73
+
74
+ const handleChange = (_: any, newValue: number) => {
75
+ setValue(newValue);
76
+ onChange(newValue);
77
+ };
78
+
79
+ return (
80
+ <NumberInput
81
+ {...args}
82
+ value={value}
83
+ onChange={handleChange}
84
+ onDecrement={onDecrement}
85
+ onIncrement={onIncrement}
86
+ />
87
+ );
88
+ };
89
+
90
+ export const Default: StoryObj<StoryPropsDefault> = {
91
+ args: {
92
+ view: 'default',
93
+ size: 'l',
94
+ shape: 'cornered',
95
+ inputBackgroundType: 'fill',
96
+ segmentation: 'default',
97
+ min: 0,
98
+ max: 9,
99
+ step: 1,
100
+ width: 188,
101
+ isManualInput: false,
102
+ textBefore: '',
103
+ textAfter: '',
104
+ isLoading: false,
105
+ disabled: false,
106
+ },
107
+ render: StoryDefault,
108
+ };
@@ -61,4 +61,5 @@ export * from './components/EmptyState';
61
61
  export * from './components/Editable';
62
62
  export * from './components/Mask';
63
63
  export * from './components/Attach';
64
- export * from './components/ViewContainer';
64
+ export * from './components/ViewContainer';
65
+ export * from './components/NumberInput';
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import type { RootProps } from '../../engines';
3
+ import type { NumberInputProps, NumberInputRootProps } from './NumberInput.types';
4
+ export declare const numberInputRoot: (Root: RootProps<HTMLDivElement, NumberInputRootProps>) => React.ForwardRefExoticComponent<NumberInputProps & React.RefAttributes<HTMLInputElement>>;
5
+ export declare const numberInputConfig: {
6
+ name: string;
7
+ tag: string;
8
+ layout: (Root: RootProps<HTMLDivElement, NumberInputRootProps>) => React.ForwardRefExoticComponent<NumberInputProps & React.RefAttributes<HTMLInputElement>>;
9
+ base: import("@linaria/core").LinariaClassName;
10
+ variations: {
11
+ view: {
12
+ css: import("@linaria/core").LinariaClassName;
13
+ };
14
+ size: {
15
+ css: import("@linaria/core").LinariaClassName;
16
+ };
17
+ shape: {
18
+ css: import("@linaria/core").LinariaClassName;
19
+ };
20
+ inputBackgroundType: {
21
+ css: import("@linaria/core").LinariaClassName;
22
+ };
23
+ segmentation: {
24
+ css: import("@linaria/core").LinariaClassName;
25
+ };
26
+ disabled: {
27
+ css: import("@linaria/core").LinariaClassName;
28
+ attrs: boolean;
29
+ };
30
+ };
31
+ defaults: {
32
+ view: string;
33
+ size: string;
34
+ shape: string;
35
+ segmentation: string;
36
+ };
37
+ };
38
+ //# sourceMappingURL=NumberInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInput.d.ts","sourceRoot":"","sources":["../../../src/components/NumberInput/NumberInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8C,MAAM,OAAO,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAWlF,eAAO,MAAM,eAAe,SAAU,UAAU,cAAc,EAAE,oBAAoB,CAAC,8FAuJhF,CAAC;AAEN,eAAO,MAAM,iBAAiB;;;mBAzJQ,UAAU,cAAc,EAAE,oBAAoB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyLpF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const base: import("@linaria/core").LinariaClassName;
2
+ //# sourceMappingURL=NumberInput.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInput.styles.d.ts","sourceRoot":"","sources":["../../../src/components/NumberInput/NumberInput.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI,0CAGhB,CAAC"}
@@ -0,0 +1,77 @@
1
+ export declare const classes: {
2
+ actionButtonDecrement: string;
3
+ actionButtonDecrementDisabled: string;
4
+ actionButtonIncrement: string;
5
+ actionButtonIncrementDisabled: string;
6
+ textBefore: string;
7
+ textAfter: string;
8
+ solidView: string;
9
+ segmentedView: string;
10
+ clearView: string;
11
+ errorAnimation: string;
12
+ disabled: string;
13
+ manualInput: string;
14
+ };
15
+ export declare const privateTokens: {
16
+ inputWidth: string;
17
+ segmentationBorderRadius: string;
18
+ segmentationInputBorderRadius: string;
19
+ };
20
+ export declare const tokens: {
21
+ rootMinWidth: string;
22
+ disabledOpacity: string;
23
+ iconButtonColor: string;
24
+ iconButtonBackgroundColor: string;
25
+ iconButtonColorHover: string;
26
+ iconButtonBackgroundColorHover: string;
27
+ iconButtonColorActive: string;
28
+ iconButtonBackgroundColorActive: string;
29
+ actionButtonDisabledOpacity: string;
30
+ iconButtonHeight: string;
31
+ iconButtonWidth: string;
32
+ iconButtonPadding: string;
33
+ iconButtonRadius: string;
34
+ iconButtonSegmentationRadius: string;
35
+ iconButtonFontFamily: string;
36
+ iconButtonFontSize: string;
37
+ iconButtonFontStyle: string;
38
+ iconButtonFontWeight: string;
39
+ iconButtonLetterSpacing: string;
40
+ iconButtonLineHeight: string;
41
+ inputWrapperBorderWidth: string;
42
+ inputWrapperMargin: string;
43
+ inputWrapperBorderRadius: string;
44
+ textWrapperHeight: string;
45
+ textWrapperPadding: string;
46
+ fontFamily: string;
47
+ fontStyle: string;
48
+ fontSize: string;
49
+ fontWeight: string;
50
+ letterSpacing: string;
51
+ lineHeight: string;
52
+ textBeforeMarginRight: string;
53
+ textAfterMarginLeft: string;
54
+ caretColor: string;
55
+ caretColorSolid: string;
56
+ color: string;
57
+ colorSolid: string;
58
+ backgroundColor: string;
59
+ backgroundColorHover: string;
60
+ backgroundColorFocus: string;
61
+ backgroundColorSolidFocus: string;
62
+ backgroundColorSolid: string;
63
+ borderColor: string;
64
+ borderColorHover: string;
65
+ borderColorFocus: string;
66
+ borderColorSolidFocus: string;
67
+ borderColorSolid: string;
68
+ additionalTextColor: string;
69
+ additionalTextColorSolid: string;
70
+ errorColor: string;
71
+ backgroundErrorColor: string;
72
+ borderErrorColor: string;
73
+ loaderSpinnerSize: string;
74
+ loaderSpinnerColor: string;
75
+ loaderSpinnerColorSolid: string;
76
+ };
77
+ //# sourceMappingURL=NumberInput.tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInput.tokens.d.ts","sourceRoot":"","sources":["../../../src/components/NumberInput/NumberInput.tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;;;;CAanB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;CAIzB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuElB,CAAC"}
@@ -0,0 +1,112 @@
1
+ import type { SyntheticEvent, InputHTMLAttributes, ReactNode, HTMLAttributes } from 'react';
2
+ declare type SegemetationProps = {
3
+ /**
4
+ * Форма границ компонента.
5
+ */
6
+ segmentation?: 'clear';
7
+ /**
8
+ * Фон поля ввода.
9
+ */
10
+ inputBackgroundType?: never;
11
+ } | {
12
+ segmentation?: string;
13
+ inputBackgroundType?: string;
14
+ };
15
+ export declare type NumberInputProps = {
16
+ /**
17
+ * Числовое значение.
18
+ */
19
+ value?: number;
20
+ /**
21
+ * Минимальное значение.
22
+ */
23
+ min?: number;
24
+ /**
25
+ * Максимальное значение.
26
+ */
27
+ max?: number;
28
+ /**
29
+ * Шаг изменения значения.
30
+ * @default 1
31
+ */
32
+ step?: number;
33
+ /**
34
+ * Контрол в состоянии загрузки.
35
+ */
36
+ isLoading?: boolean;
37
+ /**
38
+ * Слот для контента загрузки.
39
+ */
40
+ loader?: ReactNode;
41
+ /**
42
+ * Размер контрола.
43
+ */
44
+ size?: string;
45
+ /**
46
+ * Вид компонента.
47
+ */
48
+ view?: string;
49
+ /**
50
+ * view применяется с clear-токенами
51
+ */
52
+ clear?: boolean;
53
+ /**
54
+ * Форма контрола.
55
+ */
56
+ shape?: string;
57
+ /**
58
+ * Компонент неактивен.
59
+ */
60
+ disabled?: boolean;
61
+ /**
62
+ * Слот для вспомогательного текста справа.
63
+ */
64
+ textBefore?: string;
65
+ /**
66
+ * Слот для вспомогательного текста слева.
67
+ */
68
+ textAfter?: string;
69
+ /**
70
+ * Пользовательская кнопка увеличения.
71
+ */
72
+ customIncrementButton?: ReactNode;
73
+ /**
74
+ * Иконка кнопки увеличения.
75
+ */
76
+ incrementIcon?: ReactNode;
77
+ /**
78
+ * пользовательская кнопка уменьшения.
79
+ */
80
+ customDecrementButton?: ReactNode;
81
+ /**
82
+ * Иконка кнопки уменьшения.
83
+ */
84
+ decrementIcon?: ReactNode;
85
+ /**
86
+ * Доступность вводазначения вручную.
87
+ */
88
+ isManualInput?: boolean;
89
+ /**
90
+ * Вызывается при изменении значения.
91
+ */
92
+ onChange?: (event: SyntheticEvent<HTMLInputElement> | null, value: number | string) => void;
93
+ /**
94
+ * Вызывается при нажатии на кнопку увелечения значения.
95
+ */
96
+ onIncrement?: (value: number) => void;
97
+ /**
98
+ * Вызывается при нажатии на кнопку уменьшения значения.
99
+ */
100
+ onDecrement?: (value: number) => void;
101
+ } & SegemetationProps & Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'onChange' | 'value'>;
102
+ export declare type NumberInputRootProps = {
103
+ size?: string;
104
+ view?: string;
105
+ shape?: string;
106
+ segmentation?: string;
107
+ clear?: boolean;
108
+ disabled?: boolean;
109
+ isLoading?: boolean;
110
+ } & HTMLAttributes<HTMLDivElement>;
111
+ export {};
112
+ //# sourceMappingURL=NumberInput.types.d.ts.map