@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.
- package/cjs/components/Accordion/Accordion.js +1 -1
- package/cjs/components/Accordion/Accordion.js.map +1 -1
- package/cjs/components/Accordion/Accordion.tokens.js +1 -4
- package/cjs/components/Accordion/Accordion.tokens.js.map +1 -1
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +9 -16
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/cjs/components/Accordion/utils/index.js +3 -4
- package/cjs/components/Accordion/utils/index.js.map +1 -1
- package/cjs/components/Portal/Portal.js +1 -1
- package/cjs/components/Portal/Portal.js.map +1 -1
- package/cjs/components/Price/Price.css +2 -0
- package/cjs/components/Price/Price.js +65 -0
- package/cjs/components/Price/Price.js.map +1 -0
- package/cjs/components/Price/Price.styles.js +17 -0
- package/cjs/components/Price/Price.styles.js.map +1 -0
- package/cjs/components/Price/Price.styles_15b4mp1.css +2 -0
- package/cjs/components/Price/Price.tokens.js +10 -0
- package/cjs/components/Price/Price.tokens.js.map +1 -0
- package/cjs/components/Price/utils/formatCurrency.js +22 -0
- package/cjs/components/Price/utils/formatCurrency.js.map +1 -0
- package/cjs/components/Price/variations/_view/base.js +9 -0
- package/cjs/components/Price/variations/_view/base.js.map +1 -0
- package/cjs/components/Price/variations/_view/base_x642ct.css +1 -0
- package/cjs/index.css +3 -0
- package/cjs/index.js +5 -0
- package/cjs/index.js.map +1 -1
- package/emotion/cjs/components/Accordion/Accordion.js +1 -1
- package/emotion/cjs/components/Accordion/Accordion.tokens.js +1 -4
- package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +7 -19
- package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/emotion/cjs/components/Accordion/utils/index.js +3 -4
- package/emotion/cjs/components/Portal/Portal.js +1 -1
- package/emotion/cjs/components/Portal/Portal.template-doc.mdx +1 -1
- package/emotion/cjs/components/Price/Price.js +66 -0
- package/emotion/cjs/components/Price/Price.styles.js +24 -0
- package/emotion/cjs/components/Price/Price.template-doc.mdx +24 -0
- package/emotion/cjs/components/Price/Price.tokens.js +9 -0
- package/emotion/cjs/components/Price/Price.types.js +5 -0
- package/emotion/cjs/components/Price/index.js +25 -0
- package/emotion/cjs/components/Price/utils/formatCurrency.js +21 -0
- package/emotion/cjs/components/Price/variations/_view/base.js +8 -0
- package/emotion/cjs/components/Price/variations/_view/tokens.json +1 -0
- package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.config.js +6 -6
- package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +3 -5
- package/emotion/cjs/examples/plasma_b2c/components/Price/Price.config.js +14 -0
- package/emotion/cjs/examples/plasma_b2c/components/Price/Price.js +17 -0
- package/emotion/cjs/examples/plasma_b2c/components/Price/Price.stories.tsx +38 -0
- package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.config.js +8 -8
- package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +3 -5
- package/emotion/cjs/examples/plasma_web/components/Price/Price.config.js +14 -0
- package/emotion/cjs/examples/plasma_web/components/Price/Price.js +17 -0
- package/emotion/cjs/examples/plasma_web/components/Price/Price.stories.tsx +38 -0
- package/emotion/cjs/index.js +11 -0
- package/emotion/es/components/Accordion/Accordion.js +1 -1
- package/emotion/es/components/Accordion/Accordion.tokens.js +1 -4
- package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +7 -20
- package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/emotion/es/components/Accordion/utils/index.js +3 -4
- package/emotion/es/components/Portal/Portal.js +1 -1
- package/emotion/es/components/Portal/Portal.template-doc.mdx +1 -1
- package/emotion/es/components/Price/Price.js +58 -0
- package/emotion/es/components/Price/Price.styles.js +17 -0
- package/emotion/es/components/Price/Price.template-doc.mdx +24 -0
- package/emotion/es/components/Price/Price.tokens.js +3 -0
- package/emotion/es/components/Price/Price.types.js +1 -0
- package/emotion/es/components/Price/index.js +2 -0
- package/emotion/es/components/Price/utils/formatCurrency.js +15 -0
- package/emotion/es/components/Price/variations/_view/base.js +2 -0
- package/emotion/es/components/Price/variations/_view/tokens.json +1 -0
- package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.config.js +6 -6
- package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +3 -5
- package/emotion/es/examples/plasma_b2c/components/Price/Price.config.js +8 -0
- package/emotion/es/examples/plasma_b2c/components/Price/Price.js +6 -0
- package/emotion/es/examples/plasma_b2c/components/Price/Price.stories.tsx +38 -0
- package/emotion/es/examples/plasma_web/components/Accordion/Accordion.config.js +8 -8
- package/emotion/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +3 -5
- package/emotion/es/examples/plasma_web/components/Price/Price.config.js +8 -0
- package/emotion/es/examples/plasma_web/components/Price/Price.js +6 -0
- package/emotion/es/examples/plasma_web/components/Price/Price.stories.tsx +38 -0
- package/emotion/es/index.js +1 -0
- package/es/components/Accordion/Accordion.js +1 -1
- package/es/components/Accordion/Accordion.js.map +1 -1
- package/es/components/Accordion/Accordion.tokens.js +1 -4
- package/es/components/Accordion/Accordion.tokens.js.map +1 -1
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +8 -15
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/es/components/Accordion/utils/index.js +3 -4
- package/es/components/Accordion/utils/index.js.map +1 -1
- package/es/components/Portal/Portal.js +1 -1
- package/es/components/Portal/Portal.js.map +1 -1
- package/es/components/Price/Price.css +2 -0
- package/es/components/Price/Price.js +60 -0
- package/es/components/Price/Price.js.map +1 -0
- package/es/components/Price/Price.styles.js +12 -0
- package/es/components/Price/Price.styles.js.map +1 -0
- package/es/components/Price/Price.styles_15b4mp1.css +2 -0
- package/es/components/Price/Price.tokens.js +6 -0
- package/es/components/Price/Price.tokens.js.map +1 -0
- package/es/components/Price/utils/formatCurrency.js +18 -0
- package/es/components/Price/utils/formatCurrency.js.map +1 -0
- package/es/components/Price/variations/_view/base.js +5 -0
- package/es/components/Price/variations/_view/base.js.map +1 -0
- package/es/components/Price/variations/_view/base_x642ct.css +1 -0
- package/es/index.css +3 -0
- package/es/index.js +2 -0
- package/es/index.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Accordion/Accordion.js +1 -1
- package/styled-components/cjs/components/Accordion/Accordion.tokens.js +1 -4
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +7 -19
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/styled-components/cjs/components/Accordion/utils/index.js +3 -4
- package/styled-components/cjs/components/Portal/Portal.js +1 -1
- package/styled-components/cjs/components/Portal/Portal.template-doc.mdx +1 -1
- package/styled-components/cjs/components/Price/Price.js +66 -0
- package/styled-components/cjs/components/Price/Price.styles.js +15 -0
- package/styled-components/cjs/components/Price/Price.template-doc.mdx +24 -0
- package/styled-components/cjs/components/Price/Price.tokens.js +9 -0
- package/styled-components/cjs/components/Price/Price.types.js +5 -0
- package/styled-components/cjs/components/Price/index.js +25 -0
- package/styled-components/cjs/components/Price/utils/formatCurrency.js +21 -0
- package/styled-components/cjs/components/Price/variations/_view/base.js +8 -0
- package/styled-components/cjs/components/Price/variations/_view/tokens.json +1 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.config.js +2 -2
- package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +3 -5
- package/styled-components/cjs/examples/plasma_b2c/components/Price/Price.config.js +14 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Price/Price.js +17 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Price/Price.stories.tsx +38 -0
- package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.config.js +2 -2
- package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +3 -5
- package/styled-components/cjs/examples/plasma_web/components/Price/Price.config.js +14 -0
- package/styled-components/cjs/examples/plasma_web/components/Price/Price.js +17 -0
- package/styled-components/cjs/examples/plasma_web/components/Price/Price.stories.tsx +38 -0
- package/styled-components/cjs/index.js +11 -0
- package/styled-components/es/components/Accordion/Accordion.js +1 -1
- package/styled-components/es/components/Accordion/Accordion.tokens.js +1 -4
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +7 -20
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/styled-components/es/components/Accordion/utils/index.js +3 -4
- package/styled-components/es/components/Portal/Portal.js +1 -1
- package/styled-components/es/components/Portal/Portal.template-doc.mdx +1 -1
- package/styled-components/es/components/Price/Price.js +58 -0
- package/styled-components/es/components/Price/Price.styles.js +7 -0
- package/styled-components/es/components/Price/Price.template-doc.mdx +24 -0
- package/styled-components/es/components/Price/Price.tokens.js +3 -0
- package/styled-components/es/components/Price/Price.types.js +1 -0
- package/styled-components/es/components/Price/index.js +2 -0
- package/styled-components/es/components/Price/utils/formatCurrency.js +15 -0
- package/styled-components/es/components/Price/variations/_view/base.js +2 -0
- package/styled-components/es/components/Price/variations/_view/tokens.json +1 -0
- package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.config.js +2 -2
- package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +3 -5
- package/styled-components/es/examples/plasma_b2c/components/Price/Price.config.js +8 -0
- package/styled-components/es/examples/plasma_b2c/components/Price/Price.js +6 -0
- package/styled-components/es/examples/plasma_b2c/components/Price/Price.stories.tsx +38 -0
- package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.config.js +2 -2
- package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +3 -5
- package/styled-components/es/examples/plasma_web/components/Price/Price.config.js +8 -0
- package/styled-components/es/examples/plasma_web/components/Price/Price.js +6 -0
- package/styled-components/es/examples/plasma_web/components/Price/Price.stories.tsx +38 -0
- package/styled-components/es/index.js +1 -0
- package/types/components/Accordion/Accordion.tokens.d.ts +0 -3
- package/types/components/Accordion/Accordion.tokens.d.ts.map +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts.map +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts +0 -5
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts.map +1 -1
- package/types/components/Accordion/utils/index.d.ts +2 -4
- package/types/components/Accordion/utils/index.d.ts.map +1 -1
- package/types/components/Portal/Portal.d.ts +6 -2
- package/types/components/Portal/Portal.d.ts.map +1 -1
- package/types/components/Portal/index.d.ts.map +1 -1
- package/types/components/Price/Price.d.ts +22 -0
- package/types/components/Price/Price.d.ts.map +1 -0
- package/types/components/Price/Price.styles.d.ts +4 -0
- package/types/components/Price/Price.styles.d.ts.map +1 -0
- package/types/components/Price/Price.tokens.d.ts +4 -0
- package/types/components/Price/Price.tokens.d.ts.map +1 -0
- package/types/components/Price/Price.types.d.ts +41 -0
- package/types/components/Price/Price.types.d.ts.map +1 -0
- package/types/components/Price/index.d.ts +3 -0
- package/types/components/Price/index.d.ts.map +1 -0
- package/types/components/Price/utils/formatCurrency.d.ts +10 -0
- package/types/components/Price/utils/formatCurrency.d.ts.map +1 -0
- package/types/components/Price/variations/_view/base.d.ts +2 -0
- package/types/components/Price/variations/_view/base.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Accordion/Accordion.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Price/Price.config.d.ts +9 -0
- package/types/examples/plasma_b2c/components/Price/Price.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Price/Price.d.ts +6 -0
- package/types/examples/plasma_b2c/components/Price/Price.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Accordion/Accordion.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Price/Price.config.d.ts +9 -0
- package/types/examples/plasma_web/components/Price/Price.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Price/Price.d.ts +6 -0
- package/types/examples/plasma_web/components/Price/Price.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- 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,
|
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
|
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:
|
68
|
+
className: classes.accordionItem,
|
81
69
|
key: key,
|
82
|
-
style:
|
70
|
+
style: {
|
83
71
|
borderRadius: accordionBorderRadius
|
84
|
-
}
|
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:
|
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
|
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
|
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(", ");
|
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(", ");
|
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,
|
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,
|
21
|
-
return updatePropsRecursively(children, activeIndex,
|
19
|
+
export var getChildren = function getChildren(children, activeIndex, disabled, updateValue) {
|
20
|
+
return updatePropsRecursively(children, activeIndex, disabled, updateValue);
|
22
21
|
};
|
@@ -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 @@
|
|
1
|
+
export {};
|
@@ -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 @@
|
|
1
|
+
[]
|
@@ -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);", ":
|
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);", ":
|
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
|
79
|
+
<AccordionItem type={args.type} pin={args.pin} title={args.title}>
|
82
80
|
{args.body}
|
83
81
|
</AccordionItem>
|
84
|
-
<AccordionItem
|
82
|
+
<AccordionItem type={args.type} pin={args.pin} title={args.title}>
|
85
83
|
{args.body}
|
86
84
|
</AccordionItem>
|
87
|
-
<AccordionItem
|
85
|
+
<AccordionItem type={args.type} pin={args.pin} title={args.title}>
|
88
86
|
{args.body}
|
89
87
|
</AccordionItem>
|
90
88
|
</Accordion>
|
@@ -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);", ":
|
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);", ":
|
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
|
79
|
+
<AccordionItem type={args.type} pin={args.pin} title={args.title}>
|
82
80
|
{args.body}
|
83
81
|
</AccordionItem>
|
84
|
-
<AccordionItem
|
82
|
+
<AccordionItem type={args.type} pin={args.pin} title={args.title}>
|
85
83
|
{args.body}
|
86
84
|
</AccordionItem>
|
87
|
-
<AccordionItem
|
85
|
+
<AccordionItem type={args.type} pin={args.pin} title={args.title}>
|
88
86
|
{args.body}
|
89
87
|
</AccordionItem>
|
90
88
|
</Accordion>
|
@@ -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
|
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"}
|