@salutejs/plasma-new-hope 0.109.2-canary.1301.10057930683.0 → 0.110.0-canary.1307.10059399396.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (202) hide show
  1. package/cjs/components/Accordion/Accordion.js +1 -1
  2. package/cjs/components/Accordion/Accordion.js.map +1 -1
  3. package/cjs/components/Accordion/Accordion.tokens.js +1 -4
  4. package/cjs/components/Accordion/Accordion.tokens.js.map +1 -1
  5. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +9 -16
  6. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  7. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
  8. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  9. package/cjs/components/Accordion/utils/index.js +3 -4
  10. package/cjs/components/Accordion/utils/index.js.map +1 -1
  11. package/cjs/components/Portal/Portal.js +1 -1
  12. package/cjs/components/Portal/Portal.js.map +1 -1
  13. package/cjs/components/Price/Price.css +2 -0
  14. package/cjs/components/Price/Price.js +65 -0
  15. package/cjs/components/Price/Price.js.map +1 -0
  16. package/cjs/components/Price/Price.styles.js +17 -0
  17. package/cjs/components/Price/Price.styles.js.map +1 -0
  18. package/cjs/components/Price/Price.styles_15b4mp1.css +2 -0
  19. package/cjs/components/Price/Price.tokens.js +10 -0
  20. package/cjs/components/Price/Price.tokens.js.map +1 -0
  21. package/cjs/components/Price/utils/formatCurrency.js +22 -0
  22. package/cjs/components/Price/utils/formatCurrency.js.map +1 -0
  23. package/cjs/components/Price/variations/_view/base.js +9 -0
  24. package/cjs/components/Price/variations/_view/base.js.map +1 -0
  25. package/cjs/components/Price/variations/_view/base_x642ct.css +1 -0
  26. package/cjs/index.css +3 -0
  27. package/cjs/index.js +5 -0
  28. package/cjs/index.js.map +1 -1
  29. package/emotion/cjs/components/Accordion/Accordion.js +1 -1
  30. package/emotion/cjs/components/Accordion/Accordion.tokens.js +1 -4
  31. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +7 -19
  32. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
  33. package/emotion/cjs/components/Accordion/utils/index.js +3 -4
  34. package/emotion/cjs/components/Portal/Portal.js +1 -1
  35. package/emotion/cjs/components/Portal/Portal.template-doc.mdx +1 -1
  36. package/emotion/cjs/components/Price/Price.js +66 -0
  37. package/emotion/cjs/components/Price/Price.styles.js +24 -0
  38. package/emotion/cjs/components/Price/Price.template-doc.mdx +24 -0
  39. package/emotion/cjs/components/Price/Price.tokens.js +9 -0
  40. package/emotion/cjs/components/Price/Price.types.js +5 -0
  41. package/emotion/cjs/components/Price/index.js +25 -0
  42. package/emotion/cjs/components/Price/utils/formatCurrency.js +21 -0
  43. package/emotion/cjs/components/Price/variations/_view/base.js +8 -0
  44. package/emotion/cjs/components/Price/variations/_view/tokens.json +1 -0
  45. package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.config.js +6 -6
  46. package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +3 -5
  47. package/emotion/cjs/examples/plasma_b2c/components/Price/Price.config.js +14 -0
  48. package/emotion/cjs/examples/plasma_b2c/components/Price/Price.js +17 -0
  49. package/emotion/cjs/examples/plasma_b2c/components/Price/Price.stories.tsx +38 -0
  50. package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.config.js +8 -8
  51. package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +3 -5
  52. package/emotion/cjs/examples/plasma_web/components/Price/Price.config.js +14 -0
  53. package/emotion/cjs/examples/plasma_web/components/Price/Price.js +17 -0
  54. package/emotion/cjs/examples/plasma_web/components/Price/Price.stories.tsx +38 -0
  55. package/emotion/cjs/index.js +11 -0
  56. package/emotion/es/components/Accordion/Accordion.js +1 -1
  57. package/emotion/es/components/Accordion/Accordion.tokens.js +1 -4
  58. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +7 -20
  59. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
  60. package/emotion/es/components/Accordion/utils/index.js +3 -4
  61. package/emotion/es/components/Portal/Portal.js +1 -1
  62. package/emotion/es/components/Portal/Portal.template-doc.mdx +1 -1
  63. package/emotion/es/components/Price/Price.js +58 -0
  64. package/emotion/es/components/Price/Price.styles.js +17 -0
  65. package/emotion/es/components/Price/Price.template-doc.mdx +24 -0
  66. package/emotion/es/components/Price/Price.tokens.js +3 -0
  67. package/emotion/es/components/Price/Price.types.js +1 -0
  68. package/emotion/es/components/Price/index.js +2 -0
  69. package/emotion/es/components/Price/utils/formatCurrency.js +15 -0
  70. package/emotion/es/components/Price/variations/_view/base.js +2 -0
  71. package/emotion/es/components/Price/variations/_view/tokens.json +1 -0
  72. package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.config.js +6 -6
  73. package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +3 -5
  74. package/emotion/es/examples/plasma_b2c/components/Price/Price.config.js +8 -0
  75. package/emotion/es/examples/plasma_b2c/components/Price/Price.js +6 -0
  76. package/emotion/es/examples/plasma_b2c/components/Price/Price.stories.tsx +38 -0
  77. package/emotion/es/examples/plasma_web/components/Accordion/Accordion.config.js +8 -8
  78. package/emotion/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +3 -5
  79. package/emotion/es/examples/plasma_web/components/Price/Price.config.js +8 -0
  80. package/emotion/es/examples/plasma_web/components/Price/Price.js +6 -0
  81. package/emotion/es/examples/plasma_web/components/Price/Price.stories.tsx +38 -0
  82. package/emotion/es/index.js +1 -0
  83. package/es/components/Accordion/Accordion.js +1 -1
  84. package/es/components/Accordion/Accordion.js.map +1 -1
  85. package/es/components/Accordion/Accordion.tokens.js +1 -4
  86. package/es/components/Accordion/Accordion.tokens.js.map +1 -1
  87. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +8 -15
  88. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  89. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
  90. package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
  91. package/es/components/Accordion/utils/index.js +3 -4
  92. package/es/components/Accordion/utils/index.js.map +1 -1
  93. package/es/components/Portal/Portal.js +1 -1
  94. package/es/components/Portal/Portal.js.map +1 -1
  95. package/es/components/Price/Price.css +2 -0
  96. package/es/components/Price/Price.js +60 -0
  97. package/es/components/Price/Price.js.map +1 -0
  98. package/es/components/Price/Price.styles.js +12 -0
  99. package/es/components/Price/Price.styles.js.map +1 -0
  100. package/es/components/Price/Price.styles_15b4mp1.css +2 -0
  101. package/es/components/Price/Price.tokens.js +6 -0
  102. package/es/components/Price/Price.tokens.js.map +1 -0
  103. package/es/components/Price/utils/formatCurrency.js +18 -0
  104. package/es/components/Price/utils/formatCurrency.js.map +1 -0
  105. package/es/components/Price/variations/_view/base.js +5 -0
  106. package/es/components/Price/variations/_view/base.js.map +1 -0
  107. package/es/components/Price/variations/_view/base_x642ct.css +1 -0
  108. package/es/index.css +3 -0
  109. package/es/index.js +2 -0
  110. package/es/index.js.map +1 -1
  111. package/package.json +2 -2
  112. package/styled-components/cjs/components/Accordion/Accordion.js +1 -1
  113. package/styled-components/cjs/components/Accordion/Accordion.tokens.js +1 -4
  114. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +7 -19
  115. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
  116. package/styled-components/cjs/components/Accordion/utils/index.js +3 -4
  117. package/styled-components/cjs/components/Portal/Portal.js +1 -1
  118. package/styled-components/cjs/components/Portal/Portal.template-doc.mdx +1 -1
  119. package/styled-components/cjs/components/Price/Price.js +66 -0
  120. package/styled-components/cjs/components/Price/Price.styles.js +15 -0
  121. package/styled-components/cjs/components/Price/Price.template-doc.mdx +24 -0
  122. package/styled-components/cjs/components/Price/Price.tokens.js +9 -0
  123. package/styled-components/cjs/components/Price/Price.types.js +5 -0
  124. package/styled-components/cjs/components/Price/index.js +25 -0
  125. package/styled-components/cjs/components/Price/utils/formatCurrency.js +21 -0
  126. package/styled-components/cjs/components/Price/variations/_view/base.js +8 -0
  127. package/styled-components/cjs/components/Price/variations/_view/tokens.json +1 -0
  128. package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.config.js +2 -2
  129. package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +3 -5
  130. package/styled-components/cjs/examples/plasma_b2c/components/Price/Price.config.js +14 -0
  131. package/styled-components/cjs/examples/plasma_b2c/components/Price/Price.js +17 -0
  132. package/styled-components/cjs/examples/plasma_b2c/components/Price/Price.stories.tsx +38 -0
  133. package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.config.js +2 -2
  134. package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +3 -5
  135. package/styled-components/cjs/examples/plasma_web/components/Price/Price.config.js +14 -0
  136. package/styled-components/cjs/examples/plasma_web/components/Price/Price.js +17 -0
  137. package/styled-components/cjs/examples/plasma_web/components/Price/Price.stories.tsx +38 -0
  138. package/styled-components/cjs/index.js +11 -0
  139. package/styled-components/es/components/Accordion/Accordion.js +1 -1
  140. package/styled-components/es/components/Accordion/Accordion.tokens.js +1 -4
  141. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +7 -20
  142. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
  143. package/styled-components/es/components/Accordion/utils/index.js +3 -4
  144. package/styled-components/es/components/Portal/Portal.js +1 -1
  145. package/styled-components/es/components/Portal/Portal.template-doc.mdx +1 -1
  146. package/styled-components/es/components/Price/Price.js +58 -0
  147. package/styled-components/es/components/Price/Price.styles.js +7 -0
  148. package/styled-components/es/components/Price/Price.template-doc.mdx +24 -0
  149. package/styled-components/es/components/Price/Price.tokens.js +3 -0
  150. package/styled-components/es/components/Price/Price.types.js +1 -0
  151. package/styled-components/es/components/Price/index.js +2 -0
  152. package/styled-components/es/components/Price/utils/formatCurrency.js +15 -0
  153. package/styled-components/es/components/Price/variations/_view/base.js +2 -0
  154. package/styled-components/es/components/Price/variations/_view/tokens.json +1 -0
  155. package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.config.js +2 -2
  156. package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +3 -5
  157. package/styled-components/es/examples/plasma_b2c/components/Price/Price.config.js +8 -0
  158. package/styled-components/es/examples/plasma_b2c/components/Price/Price.js +6 -0
  159. package/styled-components/es/examples/plasma_b2c/components/Price/Price.stories.tsx +38 -0
  160. package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.config.js +2 -2
  161. package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +3 -5
  162. package/styled-components/es/examples/plasma_web/components/Price/Price.config.js +8 -0
  163. package/styled-components/es/examples/plasma_web/components/Price/Price.js +6 -0
  164. package/styled-components/es/examples/plasma_web/components/Price/Price.stories.tsx +38 -0
  165. package/styled-components/es/index.js +1 -0
  166. package/types/components/Accordion/Accordion.tokens.d.ts +0 -3
  167. package/types/components/Accordion/Accordion.tokens.d.ts.map +1 -1
  168. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
  169. package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts.map +1 -1
  170. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts +0 -5
  171. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts.map +1 -1
  172. package/types/components/Accordion/utils/index.d.ts +2 -4
  173. package/types/components/Accordion/utils/index.d.ts.map +1 -1
  174. package/types/components/Portal/Portal.d.ts +6 -2
  175. package/types/components/Portal/Portal.d.ts.map +1 -1
  176. package/types/components/Portal/index.d.ts.map +1 -1
  177. package/types/components/Price/Price.d.ts +22 -0
  178. package/types/components/Price/Price.d.ts.map +1 -0
  179. package/types/components/Price/Price.styles.d.ts +4 -0
  180. package/types/components/Price/Price.styles.d.ts.map +1 -0
  181. package/types/components/Price/Price.tokens.d.ts +4 -0
  182. package/types/components/Price/Price.tokens.d.ts.map +1 -0
  183. package/types/components/Price/Price.types.d.ts +41 -0
  184. package/types/components/Price/Price.types.d.ts.map +1 -0
  185. package/types/components/Price/index.d.ts +3 -0
  186. package/types/components/Price/index.d.ts.map +1 -0
  187. package/types/components/Price/utils/formatCurrency.d.ts +10 -0
  188. package/types/components/Price/utils/formatCurrency.d.ts.map +1 -0
  189. package/types/components/Price/variations/_view/base.d.ts +2 -0
  190. package/types/components/Price/variations/_view/base.d.ts.map +1 -0
  191. package/types/examples/plasma_b2c/components/Accordion/Accordion.config.d.ts.map +1 -1
  192. package/types/examples/plasma_b2c/components/Price/Price.config.d.ts +9 -0
  193. package/types/examples/plasma_b2c/components/Price/Price.config.d.ts.map +1 -0
  194. package/types/examples/plasma_b2c/components/Price/Price.d.ts +6 -0
  195. package/types/examples/plasma_b2c/components/Price/Price.d.ts.map +1 -0
  196. package/types/examples/plasma_web/components/Accordion/Accordion.config.d.ts.map +1 -1
  197. package/types/examples/plasma_web/components/Price/Price.config.d.ts +9 -0
  198. package/types/examples/plasma_web/components/Price/Price.config.d.ts.map +1 -0
  199. package/types/examples/plasma_web/components/Price/Price.d.ts +6 -0
  200. package/types/examples/plasma_web/components/Price/Price.d.ts.map +1 -0
  201. package/types/index.d.ts +1 -0
  202. package/types/index.d.ts.map +1 -1
@@ -0,0 +1,38 @@
1
+ import React, { ComponentProps } from 'react';
2
+ import type { StoryObj, Meta } from '@storybook/react';
3
+ import { disableProps } from '@salutejs/plasma-sb-utils';
4
+
5
+ import { WithTheme } from '../../../_helpers';
6
+
7
+ import { Price } from './Price';
8
+
9
+ const currencies = ['rub', 'usd', 'eur', 'inr'];
10
+
11
+ const meta: Meta<typeof Price> = {
12
+ title: 'plasma_web/Price',
13
+ decorators: [WithTheme],
14
+ argTypes: {
15
+ currency: {
16
+ options: currencies,
17
+ control: {
18
+ type: 'inline-radio',
19
+ },
20
+ },
21
+ ...disableProps(['value', 'theme', 'as', 'forwardedAs']),
22
+ },
23
+ };
24
+
25
+ export default meta;
26
+
27
+ type StoryPriceProps = ComponentProps<typeof Price> & { priceLabel: number };
28
+
29
+ export const Default: StoryObj<StoryPriceProps> = {
30
+ args: {
31
+ locale: 'ru',
32
+ currency: 'rub',
33
+ stroked: false,
34
+ minimumFractionDigits: 0,
35
+ priceLabel: 12345.67,
36
+ },
37
+ render: ({ priceLabel, ...rest }) => <Price {...rest}>{priceLabel}</Price>,
38
+ };
@@ -575,6 +575,17 @@ Object.keys(_Portal).forEach(function (key) {
575
575
  }
576
576
  });
577
577
  });
578
+ var _Price = /*#__PURE__*/require("./components/Price");
579
+ Object.keys(_Price).forEach(function (key) {
580
+ if (key === "default" || key === "__esModule") return;
581
+ if (key in exports && exports[key] === _Price[key]) return;
582
+ Object.defineProperty(exports, key, {
583
+ enumerable: true,
584
+ get: function get() {
585
+ return _Price[key];
586
+ }
587
+ });
588
+ });
578
589
  var _Autocomplete = /*#__PURE__*/require("./components/Autocomplete");
579
590
  Object.keys(_Autocomplete).forEach(function (key) {
580
591
  if (key === "default" || key === "__esModule") return;
@@ -58,7 +58,7 @@ export var accordionRoot = function accordionRoot(Root) {
58
58
  size: size,
59
59
  view: view,
60
60
  className: cx(stretchingClass, classes.accordionRoot, className)
61
- }, getChildren(childrenArray, activeIndex, view, disabled, updateValue));
61
+ }, getChildren(childrenArray, activeIndex, disabled, updateValue));
62
62
  });
63
63
  };
64
64
  export var accordionConfig = {
@@ -6,8 +6,7 @@ export var classes = {
6
6
  clearAccordionItem: 'clear-accordion-item',
7
7
  accordionItemShowBody: 'accordion-item-show-body',
8
8
  accordionPlusAnimationElement: 'accordion-plus-animation-element',
9
- accordionDisabled: 'accordion-disabled',
10
- accordionItemBody: 'accordion-item-body'
9
+ accordionDisabled: 'accordion-disabled'
11
10
  };
12
11
  export var tokens = {
13
12
  accordionGap: '--plasma-accordion-gap',
@@ -18,10 +17,8 @@ export var tokens = {
18
17
  accordionItemPadding: '--plasma-accordion-item-padding',
19
18
  accordionItemPaddingVertical: '--plasma-accordion-item-padding-vertical',
20
19
  accordionItemPaddingHorizontal: '--plasma-accordion-item-padding-horizontal',
21
- accordionItemPaddingHorizontalLeft: '--plasma-accordion-item-padding-horizontal-left',
22
20
  accordionItemGap: '--plasma-accordion-item-gap',
23
21
  accordionItemFocus: '--plasma-accordion-item-focus',
24
- accordionItemBorder: '--plasma-accordion-item-border',
25
22
  accordionItemBorderBottom: '--plasma-accordion-item-border-bottom',
26
23
  accordionItemTitleColor: '--plasma-accordion-item-title-color',
27
24
  accordionItemTitleFontFamily: '--plasma-accordion-item-title-font-family',
@@ -1,10 +1,4 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
1
  var _StyledMinus, _StyledArrow;
3
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
4
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
5
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
6
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
7
- 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); }
8
2
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
3
  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."); }
10
4
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -14,7 +8,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
8
  import React, { useState, useRef, useEffect } from 'react';
15
9
  import { convertRoundnessMatrix } from '../../../../utils/roundness';
16
10
  import { classes, tokens } from '../../Accordion.tokens';
17
- import { cx } from '../../../../utils';
18
11
  import { StyledAccordionItem, StyledAccordionHeader, StyledAccordionBody, StyledAccordionTitle, StyledAccordionContentLeft, StyledAccordionHeaderLeft, StyledAccordionContentRight, StyledArrow, StyledMinus, StyledPlus, StyledAccordionBodyAnimate } from './AccordionItem.styles';
19
12
  export var AccordionItem = function AccordionItem(_ref) {
20
13
  var _ref2;
@@ -28,13 +21,8 @@ export var AccordionItem = function AccordionItem(_ref) {
28
21
  _ref$type = _ref.type,
29
22
  type = _ref$type === void 0 ? 'sign' : _ref$type,
30
23
  index = _ref.index,
31
- className = _ref.className,
32
- style = _ref.style,
33
24
  eventKey = _ref.eventKey,
34
25
  disabled = _ref.disabled,
35
- _ref$alignWithTitle = _ref.alignWithTitle,
36
- alignWithTitle = _ref$alignWithTitle === void 0 ? true : _ref$alignWithTitle,
37
- view = _ref.view,
38
26
  onChange = _ref.onChange;
39
27
  var key = (_ref2 = eventKey !== null && eventKey !== void 0 ? eventKey : index) !== null && _ref2 !== void 0 ? _ref2 : 0;
40
28
  var _useState = useState(),
@@ -53,7 +41,7 @@ export var AccordionItem = function AccordionItem(_ref) {
53
41
  useEffect(function () {
54
42
  var _leftContentRef$curre, _leftContentRef$curre2;
55
43
  var leftContentWidth = (_leftContentRef$curre = leftContentRef === null || leftContentRef === void 0 || (_leftContentRef$curre2 = leftContentRef.current) === null || _leftContentRef$curre2 === void 0 ? void 0 : _leftContentRef$curre2.offsetWidth) !== null && _leftContentRef$curre !== void 0 ? _leftContentRef$curre : 0;
56
- var leftPaddingBody = leftContentWidth && (alignWithTitle || view === 'clear') ? "calc(".concat(leftContentWidth, "px + var(").concat(tokens.accordionItemGap, "))") : 0;
44
+ var leftPaddingBody = leftContentWidth ? "calc(".concat(leftContentWidth, "px + var(").concat(tokens.accordionItemGap, "))") : 0;
57
45
  setLeftPadding(leftPaddingBody);
58
46
  }, [value, type, leftContentRef, setLeftPadding]);
59
47
  var openedBodyClass = value ? classes.accordionItemShowBody : undefined;
@@ -77,15 +65,16 @@ export var AccordionItem = function AccordionItem(_ref) {
77
65
  var rightContent = contentRight !== null && contentRight !== void 0 ? contentRight : type === 'sign' ? /*#__PURE__*/React.createElement(StyledAnimationPLus, null) : undefined;
78
66
  var rightContentRotate = type === 'sign' && value ? classes.accordionItemShowBody : undefined;
79
67
  return /*#__PURE__*/React.createElement(StyledAccordionItem, {
80
- className: cx(classes.accordionItem, className, disabledClass),
68
+ className: classes.accordionItem,
81
69
  key: key,
82
- style: _objectSpread({
70
+ style: {
83
71
  borderRadius: accordionBorderRadius
84
- }, style)
72
+ }
85
73
  }, /*#__PURE__*/React.createElement(StyledAccordionHeader, {
86
74
  role: "tab",
87
75
  tabIndex: 0,
88
76
  onClick: handleOpen,
77
+ className: disabledClass,
89
78
  "aria-expanded": value,
90
79
  "aria-controls": "accordion-item-section".concat(key),
91
80
  id: "accordion-item-".concat(key)
@@ -98,11 +87,9 @@ export var AccordionItem = function AccordionItem(_ref) {
98
87
  "aria-labelledby": "accordion-item-".concat(key),
99
88
  "aria-hidden": !value,
100
89
  id: "accordion-item-section".concat(key),
101
- className: cx(openedBodyClass),
90
+ className: openedBodyClass,
102
91
  style: {
103
92
  paddingLeft: "".concat(leftPadding)
104
93
  }
105
- }, /*#__PURE__*/React.createElement(StyledAccordionBody, {
106
- className: classes.accordionItemBody
107
- }, children)));
94
+ }, /*#__PURE__*/React.createElement(StyledAccordionBody, null, children)));
108
95
  };
@@ -4,10 +4,10 @@ import { classes, tokens } from '../../Accordion.tokens';
4
4
  import { addFocus } from '../../../../mixins';
5
5
  export var StyledAccordionItem = /*#__PURE__*/styled.div.withConfig({
6
6
  componentId: "plasma-new-hope__sc-20ij9z-0"
7
- })(["background:var(", ");border:var(", ");border-bottom:var(", ");&:last-child{border-bottom:var(", ");}&.", "{opacity:0.4;cursor:not-allowed;}"], tokens.accordionItemBackground, tokens.accordionItemBorder, tokens.accordionItemBorderBottom, tokens.accordionItemBorder, classes.accordionDisabled);
7
+ })(["background:var(", ");border-bottom:var(", ");&:last-child{border-bottom:none;}"], tokens.accordionItemBackground, tokens.accordionItemBorderBottom);
8
8
  export var StyledAccordionHeader = /*#__PURE__*/styled.button.withConfig({
9
9
  componentId: "plasma-new-hope__sc-20ij9z-1"
10
- })(["width:100%;border:none;padding:var(", ");display:flex;gap:var(", ");justify-content:space-between;align-items:center;background:none;box-sizing:border-box;cursor:pointer;&:focus{outline:none;}", ""], tokens.accordionItemPadding, tokens.accordionItemGap, /*#__PURE__*/addFocus({
10
+ })(["width:100%;border:none;padding:var(", ");display:flex;gap:var(", ");justify-content:space-between;align-items:center;background:none;box-sizing:border-box;cursor:pointer;&.", "{opacity:0.4;cursor:not-allowed;}&:focus{outline:none;}", ""], tokens.accordionItemPadding, tokens.accordionItemGap, classes.accordionDisabled, /*#__PURE__*/addFocus({
11
11
  outlineOffset: '0.125rem',
12
12
  outlineSize: '0.125rem',
13
13
  outlineRadius: '0',
@@ -24,13 +24,13 @@ export var StyledAccordionContentLeft = /*#__PURE__*/styled.div.withConfig({
24
24
  })(["transition:0.2s;display:flex;align-items:center;&.", "{transition:0.2s;transform:rotate(180deg);}"], classes.accordionItemShowBody);
25
25
  export var StyledAccordionTitle = /*#__PURE__*/styled.div.withConfig({
26
26
  componentId: "plasma-new-hope__sc-20ij9z-5"
27
- })(["color:var(", ");font-family:var(", ");font-size:var(", ");font-weight:var(", ");font-style:var(", ");letter-spacing:var(", ");line-height:var(", ");text-align:left;"], tokens.accordionItemTitleColor, tokens.accordionItemTitleFontFamily, tokens.accordionItemTitleFontSize, tokens.accordionItemTitleFontWeight, tokens.accordionItemTitleFontStyle, tokens.accordionItemTitleLetterSpacing, tokens.accordionItemTitleLineHeight);
27
+ })(["color:var(", ");font-family:var(", ");font-size:var(", ");font-weight:var(", ");font-style:var(", ");letter-spacing:var(", ");line-height:var(", ");"], tokens.accordionItemTitleColor, tokens.accordionItemTitleFontFamily, tokens.accordionItemTitleFontSize, tokens.accordionItemTitleFontWeight, tokens.accordionItemTitleFontStyle, tokens.accordionItemTitleLetterSpacing, tokens.accordionItemTitleLineHeight);
28
28
  export var StyledAccordionBodyAnimate = /*#__PURE__*/styled.div.withConfig({
29
29
  componentId: "plasma-new-hope__sc-20ij9z-6"
30
30
  })(["display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.2s ease-out;overflow:hidden;&.", "{grid-template-rows:1fr;padding-bottom:var(", ");&.", "{transition:0.2s;transform:rotate(0deg);}}"], classes.accordionItemShowBody, tokens.accordionItemPaddingVertical, classes.accordionPlusAnimationElement);
31
31
  export var StyledAccordionBody = /*#__PURE__*/styled.div.withConfig({
32
32
  componentId: "plasma-new-hope__sc-20ij9z-7"
33
- })(["color:var(", ");font-family:var(", ");font-size:var(", ");font-weight:var(", ");font-style:var(", ");letter-spacing:var(", ");line-height:var(", ");overflow:hidden;padding-right:var(", ");padding-left:var(", ");text-align:left;"], tokens.accordionItemTextColor, tokens.accordionItemTextFontFamily, tokens.accordionItemTextFontSize, tokens.accordionItemTextFontWeight, tokens.accordionItemTextFontStyle, tokens.accordionItemTextLetterSpacing, tokens.accordionItemTextLineHeight, tokens.accordionItemPaddingHorizontal, tokens.accordionItemPaddingHorizontalLeft);
33
+ })(["color:var(", ");font-family:var(", ");font-size:var(", ");font-weight:var(", ");font-style:var(", ");letter-spacing:var(", ");line-height:var(", ");overflow:hidden;padding-right:var(", ");padding-left:var(", ");"], tokens.accordionItemTextColor, tokens.accordionItemTextFontFamily, tokens.accordionItemTextFontSize, tokens.accordionItemTextFontWeight, tokens.accordionItemTextFontStyle, tokens.accordionItemTextLetterSpacing, tokens.accordionItemTextLineHeight, tokens.accordionItemPaddingHorizontal, tokens.accordionItemPaddingHorizontal);
34
34
  export var StyledArrow = /*#__PURE__*/styled(IconChevronDownFill).withConfig({
35
35
  componentId: "plasma-new-hope__sc-20ij9z-8"
36
36
  })(["pointer-events:none;user-select:none;color:var(", ");"], tokens.accordionItemTextColor);
@@ -1,5 +1,5 @@
1
1
  import { Children, cloneElement, isValidElement } from 'react';
2
- export var updatePropsRecursively = function updatePropsRecursively(children, activeIndex, view, disabled, updateValue) {
2
+ export var updatePropsRecursively = function updatePropsRecursively(children, activeIndex, disabled, updateValue) {
3
3
  return Children.map(children || [], function (child, index) {
4
4
  if (! /*#__PURE__*/isValidElement(child)) {
5
5
  return child;
@@ -10,13 +10,12 @@ export var updatePropsRecursively = function updatePropsRecursively(children, ac
10
10
  var _child$props$eventKey;
11
11
  return i === ((_child$props$eventKey = child.props.eventKey) !== null && _child$props$eventKey !== void 0 ? _child$props$eventKey : index);
12
12
  })) !== -1),
13
- view: view,
14
13
  disabled: disabled,
15
14
  onChange: updateValue
16
15
  };
17
16
  return /*#__PURE__*/cloneElement(child, props);
18
17
  });
19
18
  };
20
- export var getChildren = function getChildren(children, activeIndex, view, disabled, updateValue) {
21
- return updatePropsRecursively(children, activeIndex, view, disabled, updateValue);
19
+ export var getChildren = function getChildren(children, activeIndex, disabled, updateValue) {
20
+ return updatePropsRecursively(children, activeIndex, disabled, updateValue);
22
21
  };
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import ReactDOM from 'react-dom';
3
- /*
3
+ /**
4
4
  * Вспомогательный компонент. Используется в Popup, Popover.
5
5
  * Представляет собой ReactDOM.createPortal() в форме компонента.
6
6
  */
@@ -7,7 +7,7 @@ import { PropsTable, Description } from '@site/src/components';
7
7
 
8
8
  # Portal
9
9
  <Description name="Portal" />
10
- <PropsTable name="Portal" />
10
+ <PropsTable name="Portal" exclude={['css']} />
11
11
 
12
12
  ## Использование
13
13
 
@@ -0,0 +1,58 @@
1
+ var _excluded = ["children", "locale", "currency", "minimumFractionDigits", "stroked", "periodicity", "view", "className", "stroke"];
2
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
5
+ import React, { forwardRef } from 'react';
6
+ import { cx } from '../../utils';
7
+ import { formatCurrency } from './utils/formatCurrency';
8
+ import { base, StyledPeriodicity } from './Price.styles';
9
+ import { base as viewCSS } from './variations/_view/base';
10
+ import { classes } from './Price.tokens';
11
+
12
+ /**
13
+ * Компонент для отображения цены / стоимости / суммы.
14
+ */
15
+ export var priceRoot = function priceRoot(Root) {
16
+ return /*#__PURE__*/forwardRef(function (_ref, outerRootRef) {
17
+ var children = _ref.children,
18
+ _ref$locale = _ref.locale,
19
+ locale = _ref$locale === void 0 ? 'ru' : _ref$locale,
20
+ _ref$currency = _ref.currency,
21
+ currency = _ref$currency === void 0 ? 'rub' : _ref$currency,
22
+ _ref$minimumFractionD = _ref.minimumFractionDigits,
23
+ minimumFractionDigits = _ref$minimumFractionD === void 0 ? 0 : _ref$minimumFractionD,
24
+ _ref$stroked = _ref.stroked,
25
+ stroked = _ref$stroked === void 0 ? false : _ref$stroked,
26
+ periodicity = _ref.periodicity,
27
+ view = _ref.view,
28
+ className = _ref.className,
29
+ _ref$stroke = _ref.stroke,
30
+ stroke = _ref$stroke === void 0 ? false : _ref$stroke,
31
+ rest = _objectWithoutProperties(_ref, _excluded);
32
+ var strokedClass = stroked || stroke ? classes.stroked : undefined;
33
+ return /*#__PURE__*/React.createElement(Root, _extends({
34
+ view: view,
35
+ ref: outerRootRef,
36
+ className: cx(strokedClass, className)
37
+ }, rest), formatCurrency({
38
+ value: children,
39
+ locale: locale,
40
+ currency: currency,
41
+ minimumFractionDigits: minimumFractionDigits
42
+ }), periodicity && /*#__PURE__*/React.createElement(StyledPeriodicity, null, periodicity));
43
+ });
44
+ };
45
+ export var priceConfig = {
46
+ name: 'Price',
47
+ tag: 'span',
48
+ layout: priceRoot,
49
+ base: base,
50
+ variations: {
51
+ view: {
52
+ css: viewCSS
53
+ }
54
+ },
55
+ defaults: {
56
+ view: 'default'
57
+ }
58
+ };
@@ -0,0 +1,7 @@
1
+ import styled from 'styled-components';
2
+ import { css } from 'styled-components';
3
+ import { classes } from './Price.tokens';
4
+ export var base = /*#__PURE__*/css(["&.", "{text-decoration:line-through;}"], /*#__PURE__*/String(classes.stroked));
5
+ export var StyledPeriodicity = /*#__PURE__*/styled.span.withConfig({
6
+ componentId: "plasma-new-hope__sc-caa7uj-0"
7
+ })(["padding-left:0.25rem;"]);
@@ -0,0 +1,24 @@
1
+ ---
2
+ id: price
3
+ title: Price
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ # Price
9
+ <Description name="Price" />
10
+ <PropsTable name="Price" exclude={['css']} />
11
+
12
+ ```tsx live
13
+ import React from 'react';
14
+ import { Price } from '@salutejs/{{ package }}';
15
+
16
+ export function App() {
17
+ return (
18
+ <div style=\{{ display: 'flex', flexDirection: 'column' }}>
19
+ <Price currency="rub" minimumFractionDigits={3}>12345.67</Price>
20
+ <Price locale="en" currency="rub" minimumFractionDigits={3} stroked>12345.67</Price>
21
+ </div>
22
+ );
23
+ }
24
+ ```
@@ -0,0 +1,3 @@
1
+ export var classes = {
2
+ stroked: 'stroked'
3
+ };
@@ -0,0 +1,2 @@
1
+ export { priceRoot, priceConfig } from './Price';
2
+ export { classes as priceClasses } from './Price.tokens';
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Форматирование числа в цену.
3
+ */
4
+ export var formatCurrency = function formatCurrency(_ref) {
5
+ var value = _ref.value,
6
+ locale = _ref.locale,
7
+ currency = _ref.currency,
8
+ minimumFractionDigits = _ref.minimumFractionDigits;
9
+ var formatter = new Intl.NumberFormat(locale, {
10
+ style: 'currency',
11
+ currency: currency,
12
+ minimumFractionDigits: minimumFractionDigits
13
+ });
14
+ return formatter.format(value);
15
+ };
@@ -0,0 +1,2 @@
1
+ import { css } from 'styled-components';
2
+ export var base = /*#__PURE__*/css([""]);
@@ -7,8 +7,8 @@ export var config = {
7
7
  },
8
8
  variations: {
9
9
  view: {
10
- "default": /*#__PURE__*/css(["", ":0.125rem;", ":20rem;", ":var(", ") var(", ");", ":var(--surface-solid-card);", ":var(--text-primary);", ":var(--text-primary);", ":var(--surface-accent);", ":var(--surface-clear);", ":none;", ":0;", ":var(", ");"], accordionTokens.accordionGap, accordionTokens.accordionWidth, accordionTokens.accordionItemPadding, accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemPaddingHorizontal, accordionTokens.accordionItemBackground, accordionTokens.accordionItemTitleColor, accordionTokens.accordionItemTextColor, accordionTokens.accordionItemFocus, accordionTokens.accordionBackground, accordionTokens.accordionItemBorder, accordionTokens.accordionItemBorderBottom, accordionTokens.accordionItemPaddingHorizontalLeft, accordionTokens.accordionItemPaddingHorizontal),
11
- clear: /*#__PURE__*/css(["", ":0;", ":20rem;", ":var(", ") 0rem;", ":var(--surface-clear);", ":var(--text-primary);", ":var(--text-primary);", ":var(--surface-accent);", ":0rem !important;", ":var(--surface-clear);", ":none;", ":0.125rem solid var(--surface-solid-tertiary);", ":0;"], accordionTokens.accordionGap, accordionTokens.accordionWidth, accordionTokens.accordionItemPadding, accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemBackground, accordionTokens.accordionItemTitleColor, accordionTokens.accordionItemTextColor, accordionTokens.accordionItemFocus, accordionTokens.accordionItemBorderRadius, accordionTokens.accordionBackground, accordionTokens.accordionItemBorder, accordionTokens.accordionItemBorderBottom, accordionTokens.accordionItemPaddingHorizontalLeft)
10
+ "default": /*#__PURE__*/css(["", ":0.125rem;", ":20rem;", ":var(", ") var(", ");", ":var(--surface-solid-card);", ":var(--text-primary);", ":var(--text-primary);", ":var(--surface-accent);", ":var(--surface-clear);", ":0;"], accordionTokens.accordionGap, accordionTokens.accordionWidth, accordionTokens.accordionItemPadding, accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemPaddingHorizontal, accordionTokens.accordionItemBackground, accordionTokens.accordionItemTitleColor, accordionTokens.accordionItemTextColor, accordionTokens.accordionItemFocus, accordionTokens.accordionBackground, accordionTokens.accordionItemBorderBottom),
11
+ clear: /*#__PURE__*/css(["", ":0;", ":20rem;", ":var(", ") 0rem;", ":var(--surface-clear);", ":var(--text-primary);", ":var(--text-primary);", ":var(--surface-accent);", ":0rem !important;", ":var(--surface-clear);", ":0.125rem solid var(--surface-solid-tertiary);"], accordionTokens.accordionGap, accordionTokens.accordionWidth, accordionTokens.accordionItemPadding, accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemBackground, accordionTokens.accordionItemTitleColor, accordionTokens.accordionItemTextColor, accordionTokens.accordionItemFocus, accordionTokens.accordionItemBorderRadius, accordionTokens.accordionBackground, accordionTokens.accordionItemBorderBottom)
12
12
  },
13
13
  size: {
14
14
  l: /*#__PURE__*/css(["", ":1.0625rem;", ":1.25rem;", ":0.5rem;", ":0.875rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-bold-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":var(--plasma-typo-body-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);"], accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemPaddingHorizontal, accordionTokens.accordionItemGap, accordionTokens.accordionItemBorderRadius, accordionTokens.accordionItemTitleFontFamily, accordionTokens.accordionItemTitleFontSize, accordionTokens.accordionItemTitleFontStyle, accordionTokens.accordionItemTitleFontWeight, accordionTokens.accordionItemTitleLetterSpacing, accordionTokens.accordionItemTitleLineHeight, accordionTokens.accordionItemTextFontFamily, accordionTokens.accordionItemTextFontSize, accordionTokens.accordionItemTextFontStyle, accordionTokens.accordionItemTextFontWeight, accordionTokens.accordionItemTextLetterSpacing, accordionTokens.accordionItemTextLineHeight),
@@ -16,7 +16,6 @@ type AccordionItemCustomProps = {
16
16
  title: string;
17
17
  body: ReactNode;
18
18
  pin?: Pin;
19
- alignWithTitle?: boolean;
20
19
  };
21
20
 
22
21
  type AccordionProps = ComponentProps<typeof Accordion> & AccordionItemCustomProps;
@@ -34,7 +33,6 @@ const meta: Meta<AccordionProps> = {
34
33
  type: 'arrow',
35
34
  pin: undefined,
36
35
  title: 'Как оплатить заправку бонусами СберСпасибо?',
37
- alignWithTitle: true,
38
36
  body:
39
37
  'После указания деталей заправки нажмите кнопку «К оплате». Откроется окно оплаты, где вы сможете списать бонусы и оплатить ими до 99% стоимости топлива',
40
38
  },
@@ -78,13 +76,13 @@ export const Default: StoryObj<AccordionProps> = {
78
76
 
79
77
  return (
80
78
  <Accordion {...args}>
81
- <AccordionItem alignWithTitle={args.alignWithTitle} type={args.type} pin={args.pin} title={args.title}>
79
+ <AccordionItem type={args.type} pin={args.pin} title={args.title}>
82
80
  {args.body}
83
81
  </AccordionItem>
84
- <AccordionItem alignWithTitle={args.alignWithTitle} type={args.type} pin={args.pin} title={args.title}>
82
+ <AccordionItem type={args.type} pin={args.pin} title={args.title}>
85
83
  {args.body}
86
84
  </AccordionItem>
87
- <AccordionItem alignWithTitle={args.alignWithTitle} type={args.type} pin={args.pin} title={args.title}>
85
+ <AccordionItem type={args.type} pin={args.pin} title={args.title}>
88
86
  {args.body}
89
87
  </AccordionItem>
90
88
  </Accordion>
@@ -0,0 +1,8 @@
1
+ export var config = {
2
+ defaults: {
3
+ view: 'default'
4
+ },
5
+ variations: {
6
+ view: {}
7
+ }
8
+ };
@@ -0,0 +1,6 @@
1
+ import { priceConfig } from '../../../../components/Price';
2
+ import { component, mergeConfig } from '../../../../engines';
3
+ import { config } from './Price.config';
4
+ export { priceClasses } from '../../../../components/Price';
5
+ var mergedConfig = /*#__PURE__*/mergeConfig(priceConfig, config);
6
+ export var Price = /*#__PURE__*/component(mergedConfig);
@@ -0,0 +1,38 @@
1
+ import React, { ComponentProps } from 'react';
2
+ import type { StoryObj, Meta } from '@storybook/react';
3
+ import { disableProps } from '@salutejs/plasma-sb-utils';
4
+
5
+ import { WithTheme } from '../../../_helpers';
6
+
7
+ import { Price } from './Price';
8
+
9
+ const currencies = ['rub', 'usd', 'eur', 'inr'];
10
+
11
+ const meta: Meta<typeof Price> = {
12
+ title: 'plasma_b2c/Price',
13
+ decorators: [WithTheme],
14
+ argTypes: {
15
+ currency: {
16
+ options: currencies,
17
+ control: {
18
+ type: 'inline-radio',
19
+ },
20
+ },
21
+ ...disableProps(['value', 'theme', 'as', 'forwardedAs']),
22
+ },
23
+ };
24
+
25
+ export default meta;
26
+
27
+ type StoryPriceProps = ComponentProps<typeof Price> & { priceLabel: number };
28
+
29
+ export const Default: StoryObj<StoryPriceProps> = {
30
+ args: {
31
+ locale: 'ru',
32
+ currency: 'rub',
33
+ stroked: false,
34
+ minimumFractionDigits: 0,
35
+ priceLabel: 12345.67,
36
+ },
37
+ render: ({ priceLabel, ...rest }) => <Price {...rest}>{priceLabel}</Price>,
38
+ };
@@ -7,8 +7,8 @@ export var config = {
7
7
  },
8
8
  variations: {
9
9
  view: {
10
- "default": /*#__PURE__*/css(["", ":0.125rem;", ":20rem;", ":var(", ") var(", ");", ":var(--surface-solid-card);", ":var(--text-primary);", ":var(--text-primary);", ":var(--surface-accent);", ":var(--surface-clear);", ":none;", ":0;", ":var(", ");"], accordionTokens.accordionGap, accordionTokens.accordionWidth, accordionTokens.accordionItemPadding, accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemPaddingHorizontal, accordionTokens.accordionItemBackground, accordionTokens.accordionItemTitleColor, accordionTokens.accordionItemTextColor, accordionTokens.accordionItemFocus, accordionTokens.accordionBackground, accordionTokens.accordionItemBorder, accordionTokens.accordionItemBorderBottom, accordionTokens.accordionItemPaddingHorizontalLeft, accordionTokens.accordionItemPaddingHorizontal),
11
- clear: /*#__PURE__*/css(["", ":0.125rem;", ":20rem;", ":var(", ") 0rem;", ":var(--surface-clear);", ":var(--text-primary);", ":var(--text-primary);", ":var(--surface-accent);", ":0rem !important;", ":var(--surface-clear);", ":none;", ":0.125rem solid var(--surface-solid-tertiary);", ":0;"], accordionTokens.accordionGap, accordionTokens.accordionWidth, accordionTokens.accordionItemPadding, accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemBackground, accordionTokens.accordionItemTitleColor, accordionTokens.accordionItemTextColor, accordionTokens.accordionItemFocus, accordionTokens.accordionItemBorderRadius, accordionTokens.accordionBackground, accordionTokens.accordionItemBorder, accordionTokens.accordionItemBorderBottom, accordionTokens.accordionItemPaddingHorizontalLeft)
10
+ "default": /*#__PURE__*/css(["", ":0.125rem;", ":20rem;", ":var(", ") var(", ");", ":var(--surface-solid-card);", ":var(--text-primary);", ":var(--text-primary);", ":var(--surface-accent);", ":var(--surface-clear);", ":0;"], accordionTokens.accordionGap, accordionTokens.accordionWidth, accordionTokens.accordionItemPadding, accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemPaddingHorizontal, accordionTokens.accordionItemBackground, accordionTokens.accordionItemTitleColor, accordionTokens.accordionItemTextColor, accordionTokens.accordionItemFocus, accordionTokens.accordionBackground, accordionTokens.accordionItemBorderBottom),
11
+ clear: /*#__PURE__*/css(["", ":0.125rem;", ":20rem;", ":var(", ") 0rem;", ":var(--surface-clear);", ":var(--text-primary);", ":var(--text-primary);", ":var(--surface-accent);", ":0rem !important;", ":var(--surface-clear);", ":0.125rem solid var(--surface-solid-tertiary);"], accordionTokens.accordionGap, accordionTokens.accordionWidth, accordionTokens.accordionItemPadding, accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemBackground, accordionTokens.accordionItemTitleColor, accordionTokens.accordionItemTextColor, accordionTokens.accordionItemFocus, accordionTokens.accordionItemBorderRadius, accordionTokens.accordionBackground, accordionTokens.accordionItemBorderBottom)
12
12
  },
13
13
  size: {
14
14
  l: /*#__PURE__*/css(["", ":1.0625rem;", ":1.25rem;", ":0.5rem;", ":0.875rem;", ":var(--plasma-typo-body-l-font-family);", ":var(--plasma-typo-body-l-font-size);", ":var(--plasma-typo-body-l-font-style);", ":var(--plasma-typo-body-l-bold-font-weight);", ":var(--plasma-typo-body-l-letter-spacing);", ":var(--plasma-typo-body-l-line-height);", ":var(--plasma-typo-body-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);"], accordionTokens.accordionItemPaddingVertical, accordionTokens.accordionItemPaddingHorizontal, accordionTokens.accordionItemGap, accordionTokens.accordionItemBorderRadius, accordionTokens.accordionItemTitleFontFamily, accordionTokens.accordionItemTitleFontSize, accordionTokens.accordionItemTitleFontStyle, accordionTokens.accordionItemTitleFontWeight, accordionTokens.accordionItemTitleLetterSpacing, accordionTokens.accordionItemTitleLineHeight, accordionTokens.accordionItemTextFontFamily, accordionTokens.accordionItemTextFontSize, accordionTokens.accordionItemTextFontStyle, accordionTokens.accordionItemTextFontWeight, accordionTokens.accordionItemTextLetterSpacing, accordionTokens.accordionItemTextLineHeight),
@@ -16,7 +16,6 @@ type AccordionItemCustomProps = {
16
16
  title: string;
17
17
  body: ReactNode;
18
18
  pin?: Pin;
19
- alignWithTitle?: boolean;
20
19
  };
21
20
 
22
21
  type AccordionProps = ComponentProps<typeof Accordion> & AccordionItemCustomProps;
@@ -34,7 +33,6 @@ const meta: Meta<AccordionProps> = {
34
33
  type: 'arrow',
35
34
  pin: undefined,
36
35
  title: 'Как оплатить заправку бонусами СберСпасибо?',
37
- alignWithTitle: true,
38
36
  body:
39
37
  'После указания деталей заправки нажмите кнопку «К оплате». Откроется окно оплаты, где вы сможете списать бонусы и оплатить ими до 99% стоимости топлива',
40
38
  },
@@ -78,13 +76,13 @@ export const Default: StoryObj<AccordionProps> = {
78
76
 
79
77
  return (
80
78
  <Accordion {...args}>
81
- <AccordionItem alignWithTitle={args.alignWithTitle} type={args.type} pin={args.pin} title={args.title}>
79
+ <AccordionItem type={args.type} pin={args.pin} title={args.title}>
82
80
  {args.body}
83
81
  </AccordionItem>
84
- <AccordionItem alignWithTitle={args.alignWithTitle} type={args.type} pin={args.pin} title={args.title}>
82
+ <AccordionItem type={args.type} pin={args.pin} title={args.title}>
85
83
  {args.body}
86
84
  </AccordionItem>
87
- <AccordionItem alignWithTitle={args.alignWithTitle} type={args.type} pin={args.pin} title={args.title}>
85
+ <AccordionItem type={args.type} pin={args.pin} title={args.title}>
88
86
  {args.body}
89
87
  </AccordionItem>
90
88
  </Accordion>
@@ -0,0 +1,8 @@
1
+ export var config = {
2
+ defaults: {
3
+ view: 'default'
4
+ },
5
+ variations: {
6
+ view: {}
7
+ }
8
+ };
@@ -0,0 +1,6 @@
1
+ import { priceConfig } from '../../../../components/Price';
2
+ import { component, mergeConfig } from '../../../../engines';
3
+ import { config } from './Price.config';
4
+ export { priceClasses } from '../../../../components/Price';
5
+ var mergedConfig = /*#__PURE__*/mergeConfig(priceConfig, config);
6
+ export var Price = /*#__PURE__*/component(mergedConfig);
@@ -0,0 +1,38 @@
1
+ import React, { ComponentProps } from 'react';
2
+ import type { StoryObj, Meta } from '@storybook/react';
3
+ import { disableProps } from '@salutejs/plasma-sb-utils';
4
+
5
+ import { WithTheme } from '../../../_helpers';
6
+
7
+ import { Price } from './Price';
8
+
9
+ const currencies = ['rub', 'usd', 'eur', 'inr'];
10
+
11
+ const meta: Meta<typeof Price> = {
12
+ title: 'plasma_web/Price',
13
+ decorators: [WithTheme],
14
+ argTypes: {
15
+ currency: {
16
+ options: currencies,
17
+ control: {
18
+ type: 'inline-radio',
19
+ },
20
+ },
21
+ ...disableProps(['value', 'theme', 'as', 'forwardedAs']),
22
+ },
23
+ };
24
+
25
+ export default meta;
26
+
27
+ type StoryPriceProps = ComponentProps<typeof Price> & { priceLabel: number };
28
+
29
+ export const Default: StoryObj<StoryPriceProps> = {
30
+ args: {
31
+ locale: 'ru',
32
+ currency: 'rub',
33
+ stroked: false,
34
+ minimumFractionDigits: 0,
35
+ priceLabel: 12345.67,
36
+ },
37
+ render: ({ priceLabel, ...rest }) => <Price {...rest}>{priceLabel}</Price>,
38
+ };
@@ -52,5 +52,6 @@ export * from './components/Range';
52
52
  export * from './components/Accordion';
53
53
  export * from './components/DatePicker';
54
54
  export * from './components/Portal';
55
+ export * from './components/Price';
55
56
  export * from './components/Autocomplete';
56
57
  export * from './components/EmptyState';
@@ -7,7 +7,6 @@ export declare const classes: {
7
7
  accordionItemShowBody: string;
8
8
  accordionPlusAnimationElement: string;
9
9
  accordionDisabled: string;
10
- accordionItemBody: string;
11
10
  };
12
11
  export declare const tokens: {
13
12
  accordionGap: string;
@@ -18,10 +17,8 @@ export declare const tokens: {
18
17
  accordionItemPadding: string;
19
18
  accordionItemPaddingVertical: string;
20
19
  accordionItemPaddingHorizontal: string;
21
- accordionItemPaddingHorizontalLeft: string;
22
20
  accordionItemGap: string;
23
21
  accordionItemFocus: string;
24
- accordionItemBorder: string;
25
22
  accordionItemBorderBottom: string;
26
23
  accordionItemTitleColor: string;
27
24
  accordionItemTitleFontFamily: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.tokens.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;;CAUnB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BlB,CAAC"}
1
+ {"version":3,"file":"Accordion.tokens.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tokens.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO;;;;;;;;;CASnB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BlB,CAAC"}