@salutejs/plasma-new-hope 0.88.0-canary.1253.9520566145.0 → 0.88.0-canary.1254.9538803694.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Accordion/Accordion.css +1 -0
- package/cjs/components/Accordion/Accordion.js +81 -0
- package/cjs/components/Accordion/Accordion.js.map +1 -0
- package/cjs/components/Accordion/Accordion.styles.js +9 -0
- package/cjs/components/Accordion/Accordion.styles.js.map +1 -0
- package/cjs/components/Accordion/Accordion.styles_rsiff6.css +1 -0
- package/cjs/components/Accordion/Accordion.tokens.js +45 -0
- package/cjs/components/Accordion/Accordion.tokens.js.map +1 -0
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +97 -0
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -0
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +63 -0
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -0
- package/cjs/components/Accordion/utils/index.js +30 -0
- package/cjs/components/Accordion/utils/index.js.map +1 -0
- package/cjs/components/Accordion/variations/_size/base.js +9 -0
- package/cjs/components/Accordion/variations/_size/base.js.map +1 -0
- package/cjs/components/Accordion/variations/_size/base_x642ct.css +1 -0
- package/cjs/components/Accordion/variations/_view/base.js +9 -0
- package/cjs/components/Accordion/variations/_view/base.js.map +1 -0
- package/cjs/components/Accordion/variations/_view/base_x642ct.css +1 -0
- package/cjs/components/Range/Range.css +6 -6
- package/cjs/components/Slider/Slider.css +6 -6
- package/cjs/components/Slider/components/Double/Double.css +6 -6
- package/cjs/components/TextField/TextField.styles.js +1 -1
- package/cjs/components/TextField/TextField.styles.js.map +1 -1
- package/cjs/components/TextField/{TextField.styles_9fkr1l.css → TextField.styles_aqmut.css} +2 -2
- package/cjs/components/_Icon/Icon.assets/ChevronDownFill.js +24 -0
- package/cjs/components/_Icon/Icon.assets/ChevronDownFill.js.map +1 -0
- package/cjs/components/_Icon/Icon.assets/Minus.js +22 -0
- package/cjs/components/_Icon/Icon.assets/Minus.js.map +1 -0
- package/cjs/components/_Icon/Icons/IconChevronDownFill.js +23 -0
- package/cjs/components/_Icon/Icons/IconChevronDownFill.js.map +1 -0
- package/cjs/components/_Icon/Icons/IconMinus.js +23 -0
- package/cjs/components/_Icon/Icons/IconMinus.js.map +1 -0
- package/cjs/index.css +8 -6
- package/cjs/index.js +8 -0
- package/cjs/index.js.map +1 -1
- package/es/components/Accordion/Accordion.css +1 -0
- package/es/components/Accordion/Accordion.js +76 -0
- package/es/components/Accordion/Accordion.js.map +1 -0
- package/es/components/Accordion/Accordion.styles.js +5 -0
- package/es/components/Accordion/Accordion.styles.js.map +1 -0
- package/es/components/Accordion/Accordion.styles_rsiff6.css +1 -0
- package/es/components/Accordion/Accordion.tokens.js +40 -0
- package/es/components/Accordion/Accordion.tokens.js.map +1 -0
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +93 -0
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -0
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +49 -0
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -0
- package/es/components/Accordion/utils/index.js +25 -0
- package/es/components/Accordion/utils/index.js.map +1 -0
- package/es/components/Accordion/variations/_size/base.js +5 -0
- package/es/components/Accordion/variations/_size/base.js.map +1 -0
- package/es/components/Accordion/variations/_size/base_x642ct.css +1 -0
- package/es/components/Accordion/variations/_view/base.js +5 -0
- package/es/components/Accordion/variations/_view/base.js.map +1 -0
- package/es/components/Accordion/variations/_view/base_x642ct.css +1 -0
- package/es/components/Range/Range.css +6 -6
- package/es/components/Slider/Slider.css +6 -6
- package/es/components/Slider/components/Double/Double.css +6 -6
- package/es/components/TextField/TextField.styles.js +1 -1
- package/es/components/TextField/TextField.styles.js.map +1 -1
- package/es/components/TextField/{TextField.styles_9fkr1l.css → TextField.styles_aqmut.css} +2 -2
- package/es/components/_Icon/Icon.assets/ChevronDownFill.js +20 -0
- package/es/components/_Icon/Icon.assets/ChevronDownFill.js.map +1 -0
- package/es/components/_Icon/Icon.assets/Minus.js +18 -0
- package/es/components/_Icon/Icon.assets/Minus.js.map +1 -0
- package/es/components/_Icon/Icons/IconChevronDownFill.js +19 -0
- package/es/components/_Icon/Icons/IconChevronDownFill.js.map +1 -0
- package/es/components/_Icon/Icons/IconMinus.js +19 -0
- package/es/components/_Icon/Icons/IconMinus.js.map +1 -0
- package/es/index.css +8 -6
- package/es/index.js +3 -0
- package/es/index.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Accordion/Accordion.js +90 -0
- package/styled-components/cjs/components/Accordion/Accordion.styles.js +9 -0
- package/styled-components/cjs/components/Accordion/Accordion.tokens.js +43 -0
- package/styled-components/cjs/components/Accordion/Accordion.types.js +5 -0
- package/styled-components/cjs/components/Accordion/index.js +38 -0
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +103 -0
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +49 -0
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.types.js +5 -0
- package/styled-components/cjs/components/Accordion/utils/index.js +27 -0
- package/styled-components/cjs/components/Accordion/variations/_size/base.js +8 -0
- package/styled-components/cjs/components/Accordion/variations/_size/tokens.json +6 -0
- package/styled-components/cjs/components/Accordion/variations/_stretching/base.js +8 -0
- package/styled-components/cjs/components/Accordion/variations/_stretching/tokens.json +1 -0
- package/styled-components/cjs/components/Accordion/variations/_view/base.js +8 -0
- package/styled-components/cjs/components/Accordion/variations/_view/tokens.json +8 -0
- package/styled-components/cjs/components/TextField/TextField.styles.js +2 -2
- package/styled-components/cjs/components/_Icon/Icon.assets/ChevronDownFill.js +23 -0
- package/styled-components/cjs/components/_Icon/Icon.assets/Minus.js +21 -0
- package/styled-components/cjs/components/_Icon/Icons/IconChevronDownFill.js +22 -0
- package/styled-components/cjs/components/_Icon/Icons/IconMinus.js +22 -0
- package/styled-components/cjs/components/_Icon/index.js +15 -1
- package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.config.js +26 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.js +17 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +66 -0
- package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.config.js +30 -0
- package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.js +17 -0
- package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +65 -0
- package/styled-components/cjs/index.js +11 -0
- package/styled-components/es/components/Accordion/Accordion.js +81 -0
- package/styled-components/es/components/Accordion/Accordion.styles.js +3 -0
- package/styled-components/es/components/Accordion/Accordion.tokens.js +37 -0
- package/styled-components/es/components/Accordion/Accordion.types.js +1 -0
- package/styled-components/es/components/Accordion/index.js +3 -0
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +94 -0
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +42 -0
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.types.js +1 -0
- package/styled-components/es/components/Accordion/utils/index.js +21 -0
- package/styled-components/es/components/Accordion/variations/_size/base.js +2 -0
- package/styled-components/es/components/Accordion/variations/_size/tokens.json +6 -0
- package/styled-components/es/components/Accordion/variations/_stretching/base.js +2 -0
- package/styled-components/es/components/Accordion/variations/_stretching/tokens.json +1 -0
- package/styled-components/es/components/Accordion/variations/_view/base.js +2 -0
- package/styled-components/es/components/Accordion/variations/_view/tokens.json +8 -0
- package/styled-components/es/components/TextField/TextField.styles.js +2 -2
- package/styled-components/es/components/_Icon/Icon.assets/ChevronDownFill.js +16 -0
- package/styled-components/es/components/_Icon/Icon.assets/Minus.js +14 -0
- package/styled-components/es/components/_Icon/Icons/IconChevronDownFill.js +15 -0
- package/styled-components/es/components/_Icon/Icons/IconMinus.js +15 -0
- package/styled-components/es/components/_Icon/index.js +3 -1
- package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.config.js +20 -0
- package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.js +6 -0
- package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +66 -0
- package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.config.js +24 -0
- package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.js +6 -0
- package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +65 -0
- package/styled-components/es/index.js +2 -1
- package/types/components/Accordion/Accordion.d.ts +43 -0
- package/types/components/Accordion/Accordion.d.ts.map +1 -0
- package/types/components/Accordion/Accordion.styles.d.ts +2 -0
- package/types/components/Accordion/Accordion.styles.d.ts.map +1 -0
- package/types/components/Accordion/Accordion.tokens.d.ts +38 -0
- package/types/components/Accordion/Accordion.tokens.d.ts.map +1 -0
- package/types/components/Accordion/Accordion.types.d.ts +36 -0
- package/types/components/Accordion/Accordion.types.d.ts.map +1 -0
- package/types/components/Accordion/index.d.ts +5 -0
- package/types/components/Accordion/index.d.ts.map +1 -0
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts +4 -0
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -0
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts +13 -0
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts.map +1 -0
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts +51 -0
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts.map +1 -0
- package/types/components/Accordion/utils/index.d.ts +17 -0
- package/types/components/Accordion/utils/index.d.ts.map +1 -0
- package/types/components/Accordion/variations/_size/base.d.ts +2 -0
- package/types/components/Accordion/variations/_size/base.d.ts.map +1 -0
- package/types/components/Accordion/variations/_stretching/base.d.ts +2 -0
- package/types/components/Accordion/variations/_stretching/base.d.ts.map +1 -0
- package/types/components/Accordion/variations/_view/base.d.ts +2 -0
- package/types/components/Accordion/variations/_view/base.d.ts.map +1 -0
- package/types/components/TextField/TextField.styles.d.ts.map +1 -1
- package/types/components/_Icon/Icon.assets/ChevronDownFill.d.ts +4 -0
- package/types/components/_Icon/Icon.assets/ChevronDownFill.d.ts.map +1 -0
- package/types/components/_Icon/Icon.assets/Minus.d.ts +4 -0
- package/types/components/_Icon/Icon.assets/Minus.d.ts.map +1 -0
- package/types/components/_Icon/Icons/IconChevronDownFill.d.ts +4 -0
- package/types/components/_Icon/Icons/IconChevronDownFill.d.ts.map +1 -0
- package/types/components/_Icon/Icons/IconMinus.d.ts +4 -0
- package/types/components/_Icon/Icons/IconMinus.d.ts.map +1 -0
- package/types/components/_Icon/index.d.ts +2 -0
- package/types/components/_Icon/index.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Accordion/Accordion.config.d.ts +19 -0
- package/types/examples/plasma_b2c/components/Accordion/Accordion.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Accordion/Accordion.d.ts +26 -0
- package/types/examples/plasma_b2c/components/Accordion/Accordion.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Accordion/Accordion.config.d.ts +23 -0
- package/types/examples/plasma_web/components/Accordion/Accordion.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Accordion/Accordion.d.ts +30 -0
- package/types/examples/plasma_web/components/Accordion/Accordion.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- /package/cjs/components/{_Icon/Icons/IconClose.css → Accordion/ui/AccordionItem/AccordionItem.css} +0 -0
- /package/es/components/{_Icon/Icons/IconClose.css → Accordion/ui/AccordionItem/AccordionItem.css} +0 -0
@@ -0,0 +1,81 @@
|
|
1
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
2
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
3
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
4
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
5
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
6
|
+
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."); }
|
7
|
+
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); }
|
8
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
9
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
10
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
11
|
+
import React, { Children, forwardRef, useState } from 'react';
|
12
|
+
import { cx } from '../../utils';
|
13
|
+
import { base } from './Accordion.styles';
|
14
|
+
import { classes } from './Accordion.tokens';
|
15
|
+
import { base as viewCSS } from './variations/_view/base';
|
16
|
+
import { base as sizeCSS } from './variations/_size/base';
|
17
|
+
import { getChildren } from './utils';
|
18
|
+
export var accordionRoot = function accordionRoot(Root) {
|
19
|
+
return /*#__PURE__*/forwardRef(function (_ref, outerRootRef) {
|
20
|
+
var size = _ref.size,
|
21
|
+
view = _ref.view,
|
22
|
+
_ref$stretching = _ref.stretching,
|
23
|
+
stretching = _ref$stretching === void 0 ? 'filled' : _ref$stretching,
|
24
|
+
_ref$defaultActiveEve = _ref.defaultActiveEventKey,
|
25
|
+
defaultActiveEventKey = _ref$defaultActiveEve === void 0 ? [] : _ref$defaultActiveEve,
|
26
|
+
children = _ref.children,
|
27
|
+
disabled = _ref.disabled,
|
28
|
+
className = _ref.className,
|
29
|
+
singleActive = _ref.singleActive,
|
30
|
+
onChange = _ref.onChange;
|
31
|
+
var stretchingClass = classes["".concat(stretching, "Stretching")];
|
32
|
+
var _useState = useState(defaultActiveEventKey),
|
33
|
+
_useState2 = _slicedToArray(_useState, 2),
|
34
|
+
activeIndex = _useState2[0],
|
35
|
+
setActiveIndex = _useState2[1];
|
36
|
+
var updateValue = function updateValue(index, value) {
|
37
|
+
if (onChange) {
|
38
|
+
onChange(index, value);
|
39
|
+
}
|
40
|
+
if (singleActive) {
|
41
|
+
if (value) {
|
42
|
+
setActiveIndex([index]);
|
43
|
+
} else {
|
44
|
+
setActiveIndex([]);
|
45
|
+
}
|
46
|
+
} else if (value) {
|
47
|
+
setActiveIndex([index].concat(_toConsumableArray(activeIndex)));
|
48
|
+
} else {
|
49
|
+
var updatedActiveIndex = activeIndex.filter(function (i) {
|
50
|
+
return i !== index;
|
51
|
+
});
|
52
|
+
setActiveIndex(updatedActiveIndex);
|
53
|
+
}
|
54
|
+
};
|
55
|
+
var childrenArray = Children.toArray(children);
|
56
|
+
return /*#__PURE__*/React.createElement(Root, {
|
57
|
+
ref: outerRootRef,
|
58
|
+
size: size,
|
59
|
+
view: view,
|
60
|
+
className: cx(stretchingClass, classes.accordionRoot, className)
|
61
|
+
}, getChildren(childrenArray, activeIndex, disabled, updateValue));
|
62
|
+
});
|
63
|
+
};
|
64
|
+
export var accordionConfig = {
|
65
|
+
name: 'Accordion',
|
66
|
+
tag: 'div',
|
67
|
+
layout: accordionRoot,
|
68
|
+
base: base,
|
69
|
+
variations: {
|
70
|
+
view: {
|
71
|
+
css: viewCSS
|
72
|
+
},
|
73
|
+
size: {
|
74
|
+
css: sizeCSS
|
75
|
+
}
|
76
|
+
},
|
77
|
+
defaults: {
|
78
|
+
view: 'default',
|
79
|
+
size: 'm'
|
80
|
+
}
|
81
|
+
};
|
@@ -0,0 +1,3 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { classes, tokens } from './Accordion.tokens';
|
3
|
+
export var base = /*#__PURE__*/css(["display:flex;flex-direction:column;gap:var(", ");align-items:stretch;height:auto;background:var(", ");&.", "{width:var(", ");}&.", "{width:100%;}"], tokens.accordionGap, tokens.accordionBackground, classes.fixedStretching, tokens.accordionWidth, classes.filledStretching);
|
@@ -0,0 +1,37 @@
|
|
1
|
+
export var classes = {
|
2
|
+
filledStretching: 'accordion-stretching-filled',
|
3
|
+
fixedStretching: 'accordion-stretching-fixed',
|
4
|
+
accordionRoot: 'accordion-root',
|
5
|
+
accordionItem: 'accordion-item',
|
6
|
+
clearAccordionItem: 'clear-accordion-item',
|
7
|
+
accordionItemShowBody: 'accordion-item-show-body',
|
8
|
+
accordionPlusAnimationElement: 'accordion-plus-animation-element',
|
9
|
+
accordionDisabled: 'accordion-disabled'
|
10
|
+
};
|
11
|
+
export var tokens = {
|
12
|
+
accordionGap: '--plasma-accordion-gap',
|
13
|
+
accordionWidth: '--plasma-accordion-width',
|
14
|
+
accordionBackground: '--plasma-accordion-background',
|
15
|
+
accordionItemBackground: '--plasma-accordion-item-background',
|
16
|
+
accordionItemBorderRadius: '--plasma-accordion-item-border-radius',
|
17
|
+
accordionItemPadding: '--plasma-accordion-item-padding',
|
18
|
+
accordionItemPaddingVertical: '--plasma-accordion-item-padding-vertical',
|
19
|
+
accordionItemPaddingHorizontal: '--plasma-accordion-item-padding-horizontal',
|
20
|
+
accordionItemGap: '--plasma-accordion-item-gap',
|
21
|
+
accordionItemFocus: '--plasma-accordion-item-focus',
|
22
|
+
accordionItemBorderBottom: '--plasma-accordion-item-border-bottom',
|
23
|
+
accordionItemTitleColor: '--plasma-accordion-item-title-color',
|
24
|
+
accordionItemTitleFontFamily: '--plasma-accordion-item-title-font-family',
|
25
|
+
accordionItemTitleFontSize: '--plasma-accordion-item-title-font-size',
|
26
|
+
accordionItemTitleFontStyle: '--plasma-accordion-item-title-font-style',
|
27
|
+
accordionItemTitleFontWeight: '--plasma-accordion-item-title-font-weight',
|
28
|
+
accordionItemTitleLetterSpacing: '--plasma-accordion-item-title-letter-spacing',
|
29
|
+
accordionItemTitleLineHeight: '--plasma-accordion-item-title-line-height',
|
30
|
+
accordionItemTextColor: '--plasma-accordion-item-text-color',
|
31
|
+
accordionItemTextFontFamily: '--plasma-accordion-item-text-font-family',
|
32
|
+
accordionItemTextFontSize: '--plasma-accordion-item-text-font-size',
|
33
|
+
accordionItemTextFontStyle: '--plasma-accordion-item-text-font-style',
|
34
|
+
accordionItemTextFontWeight: '--plasma-accordion-item-text-font-weight',
|
35
|
+
accordionItemTextLetterSpacing: '--plasma-accordion-item-text-letter-spacing',
|
36
|
+
accordionItemTextLineHeight: '--plasma-accordion-item-text-line-height'
|
37
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,94 @@
|
|
1
|
+
var _StyledMinus, _StyledArrow;
|
2
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
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."); }
|
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); }
|
5
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
6
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
7
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
8
|
+
import React, { useState, useRef, useEffect } from 'react';
|
9
|
+
import { convertRoundnessMatrix } from '../../../../utils/roundness';
|
10
|
+
import { classes, tokens } from '../../Accordion.tokens';
|
11
|
+
import { StyledAccordionItem, StyledAccordionHeader, StyledAccordionBody, StyledAccordionTitle, StyledAccordionContentLeft, StyledAccordionHeaderLeft, StyledAccordionContentRight, StyledArrow, StyledMinus, StyledPlus, StyledAccordionBodyAnimate } from './AccordionItem.styles';
|
12
|
+
export var AccordionItem = function AccordionItem(_ref) {
|
13
|
+
var value = _ref.value,
|
14
|
+
contentRight = _ref.contentRight,
|
15
|
+
contentLeft = _ref.contentLeft,
|
16
|
+
title = _ref.title,
|
17
|
+
_ref$pin = _ref.pin,
|
18
|
+
pin = _ref$pin === void 0 ? 'square-square' : _ref$pin,
|
19
|
+
children = _ref.children,
|
20
|
+
_ref$type = _ref.type,
|
21
|
+
type = _ref$type === void 0 ? 'sign' : _ref$type,
|
22
|
+
index = _ref.index,
|
23
|
+
eventKey = _ref.eventKey,
|
24
|
+
disabled = _ref.disabled,
|
25
|
+
onChange = _ref.onChange;
|
26
|
+
var key = eventKey !== null && eventKey !== void 0 ? eventKey : index;
|
27
|
+
var _useState = useState(),
|
28
|
+
_useState2 = _slicedToArray(_useState, 2),
|
29
|
+
leftPadding = _useState2[0],
|
30
|
+
setLeftPadding = _useState2[1];
|
31
|
+
var handleOpen = function handleOpen() {
|
32
|
+
if (disabled) {
|
33
|
+
return;
|
34
|
+
}
|
35
|
+
if (onChange) {
|
36
|
+
onChange(key, !value);
|
37
|
+
}
|
38
|
+
};
|
39
|
+
var leftContentRef = useRef(null);
|
40
|
+
useEffect(function () {
|
41
|
+
var _leftContentRef$curre, _leftContentRef$curre2;
|
42
|
+
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;
|
43
|
+
var leftPaddingBody = leftContentWidth ? "calc(".concat(leftContentWidth, "px + var(").concat(tokens.accordionItemGap, "))") : 0;
|
44
|
+
setLeftPadding(leftPaddingBody);
|
45
|
+
}, [value, type, leftContentRef, setLeftPadding]);
|
46
|
+
var openedBodyClass = value ? classes.accordionItemShowBody : undefined;
|
47
|
+
var StyledAnimationPLus = function StyledAnimationPLus() {
|
48
|
+
return /*#__PURE__*/React.createElement(StyledPlus, null, _StyledMinus || (_StyledMinus = /*#__PURE__*/React.createElement(StyledMinus, {
|
49
|
+
size: "xs",
|
50
|
+
color: "inhert"
|
51
|
+
})), /*#__PURE__*/React.createElement(StyledMinus, {
|
52
|
+
size: "xs",
|
53
|
+
color: "inhert",
|
54
|
+
className: openedBodyClass !== null && openedBodyClass !== void 0 ? openedBodyClass : classes.accordionPlusAnimationElement
|
55
|
+
}));
|
56
|
+
};
|
57
|
+
var accordionBorderRadius = convertRoundnessMatrix(pin, "var(".concat(tokens.accordionItemBorderRadius, ")"), '1.5rem');
|
58
|
+
var disabledClass = disabled ? classes.accordionDisabled : '';
|
59
|
+
var leftContent = contentLeft !== null && contentLeft !== void 0 ? contentLeft : type === 'arrow' ? _StyledArrow || (_StyledArrow = /*#__PURE__*/React.createElement(StyledArrow, {
|
60
|
+
size: "xs",
|
61
|
+
color: "inhert"
|
62
|
+
})) : undefined;
|
63
|
+
var leftContentRotate = type === 'arrow' && value ? classes.accordionItemShowBody : undefined;
|
64
|
+
var rightContent = contentRight !== null && contentRight !== void 0 ? contentRight : type === 'sign' ? /*#__PURE__*/React.createElement(StyledAnimationPLus, null) : undefined;
|
65
|
+
var rightContentRotate = type === 'sign' && value ? classes.accordionItemShowBody : undefined;
|
66
|
+
return /*#__PURE__*/React.createElement(StyledAccordionItem, {
|
67
|
+
className: classes.accordionItem,
|
68
|
+
key: key,
|
69
|
+
style: {
|
70
|
+
borderRadius: accordionBorderRadius
|
71
|
+
}
|
72
|
+
}, /*#__PURE__*/React.createElement(StyledAccordionHeader, {
|
73
|
+
role: "tab",
|
74
|
+
tabIndex: 0,
|
75
|
+
onClick: handleOpen,
|
76
|
+
className: disabledClass,
|
77
|
+
"aria-expanded": value,
|
78
|
+
"aria-controls": "accordion-item-section".concat(key),
|
79
|
+
id: "accordion-item-".concat(key)
|
80
|
+
}, /*#__PURE__*/React.createElement(StyledAccordionHeaderLeft, null, leftContent && /*#__PURE__*/React.createElement(StyledAccordionContentLeft, {
|
81
|
+
ref: leftContentRef,
|
82
|
+
className: leftContentRotate
|
83
|
+
}, leftContent), /*#__PURE__*/React.createElement(StyledAccordionTitle, null, title)), /*#__PURE__*/React.createElement(StyledAccordionContentRight, {
|
84
|
+
className: rightContentRotate
|
85
|
+
}, rightContent && rightContent)), /*#__PURE__*/React.createElement(StyledAccordionBodyAnimate, {
|
86
|
+
"aria-labelledby": "accordion-item-".concat(key),
|
87
|
+
"aria-hidden": !value,
|
88
|
+
id: "accordion-item-section".concat(key),
|
89
|
+
className: openedBodyClass,
|
90
|
+
style: {
|
91
|
+
paddingLeft: "".concat(leftPadding)
|
92
|
+
}
|
93
|
+
}, /*#__PURE__*/React.createElement(StyledAccordionBody, null, children)));
|
94
|
+
};
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import styled from 'styled-components';
|
2
|
+
import { IconChevronDownFill, IconMinus } from '../../../_Icon';
|
3
|
+
import { classes, tokens } from '../../Accordion.tokens';
|
4
|
+
import { addFocus } from '../../../../mixins';
|
5
|
+
export var StyledAccordionItem = /*#__PURE__*/styled.div.withConfig({
|
6
|
+
componentId: "plasma-new-hope__sc-20ij9z-0"
|
7
|
+
})(["background:var(", ");border-bottom:var(", ");&:last-child{border-bottom:none;}"], tokens.accordionItemBackground, tokens.accordionItemBorderBottom);
|
8
|
+
export var StyledAccordionHeader = /*#__PURE__*/styled.button.withConfig({
|
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;&.", "{opacity:0.4;cursor:not-allowed;}&:focus{outline:none;}", ""], tokens.accordionItemPadding, tokens.accordionItemGap, classes.accordionDisabled, /*#__PURE__*/addFocus({
|
11
|
+
outlineOffset: '0.125rem',
|
12
|
+
outlineSize: '0.125rem',
|
13
|
+
outlineRadius: '0',
|
14
|
+
outlineColor: /*#__PURE__*/"var(".concat(tokens.accordionItemFocus, ")")
|
15
|
+
}));
|
16
|
+
export var StyledAccordionHeaderLeft = /*#__PURE__*/styled.div.withConfig({
|
17
|
+
componentId: "plasma-new-hope__sc-20ij9z-2"
|
18
|
+
})(["display:flex;gap:var(", ");justify-content:space-between;align-items:center;"], tokens.accordionItemGap);
|
19
|
+
export var StyledAccordionContentRight = /*#__PURE__*/styled.div.withConfig({
|
20
|
+
componentId: "plasma-new-hope__sc-20ij9z-3"
|
21
|
+
})(["transition:0.2s;transform:rotate(90deg);&.", "{transition:0.2s;transform:rotate(0deg);}"], classes.accordionItemShowBody);
|
22
|
+
export var StyledAccordionContentLeft = /*#__PURE__*/styled.div.withConfig({
|
23
|
+
componentId: "plasma-new-hope__sc-20ij9z-4"
|
24
|
+
})(["transition:0.2s;display:flex;align-items:center;&.", "{transition:0.2s;transform:rotate(180deg);}"], classes.accordionItemShowBody);
|
25
|
+
export var StyledAccordionTitle = /*#__PURE__*/styled.div.withConfig({
|
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(", ");"], tokens.accordionItemTitleColor, tokens.accordionItemTitleFontFamily, tokens.accordionItemTitleFontSize, tokens.accordionItemTitleFontWeight, tokens.accordionItemTitleFontStyle, tokens.accordionItemTitleLetterSpacing, tokens.accordionItemTitleLineHeight);
|
28
|
+
export var StyledAccordionBodyAnimate = /*#__PURE__*/styled.div.withConfig({
|
29
|
+
componentId: "plasma-new-hope__sc-20ij9z-6"
|
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
|
+
export var StyledAccordionBody = /*#__PURE__*/styled.div.withConfig({
|
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(", ");"], tokens.accordionItemTextColor, tokens.accordionItemTextFontFamily, tokens.accordionItemTextFontSize, tokens.accordionItemTextFontWeight, tokens.accordionItemTextFontStyle, tokens.accordionItemTextLetterSpacing, tokens.accordionItemTextLineHeight, tokens.accordionItemPaddingHorizontal, tokens.accordionItemPaddingHorizontal);
|
34
|
+
export var StyledArrow = /*#__PURE__*/styled(IconChevronDownFill).withConfig({
|
35
|
+
componentId: "plasma-new-hope__sc-20ij9z-8"
|
36
|
+
})(["pointer-events:none;user-select:none;color:var(", ");"], tokens.accordionItemTextColor);
|
37
|
+
export var StyledMinus = /*#__PURE__*/styled(IconMinus).withConfig({
|
38
|
+
componentId: "plasma-new-hope__sc-20ij9z-9"
|
39
|
+
})(["pointer-events:none;user-select:none;color:var(", ");display:flex;align-items:center;position:absolute;top:0;left:0;&.", "{transition:0.2s;transform:rotate(90deg);}&.", "{transition:0.2s;transform:rotate(0deg);}"], tokens.accordionItemTextColor, classes.accordionPlusAnimationElement, classes.accordionItemShowBody);
|
40
|
+
export var StyledPlus = /*#__PURE__*/styled.div.withConfig({
|
41
|
+
componentId: "plasma-new-hope__sc-20ij9z-10"
|
42
|
+
})(["position:relative;height:1rem;display:flex;align-items:center;justify-content:center;width:1rem;"]);
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { Children, cloneElement, isValidElement } from 'react';
|
2
|
+
export var updatePropsRecursively = function updatePropsRecursively(children, activeIndex, disabled, updateValue) {
|
3
|
+
return Children.map(children || [], function (child, index) {
|
4
|
+
if (! /*#__PURE__*/isValidElement(child)) {
|
5
|
+
return child;
|
6
|
+
}
|
7
|
+
var props = {
|
8
|
+
index: index,
|
9
|
+
value: !!((activeIndex === null || activeIndex === void 0 ? void 0 : activeIndex.findIndex(function (i) {
|
10
|
+
var _child$props$eventKey;
|
11
|
+
return i === ((_child$props$eventKey = child.props.eventKey) !== null && _child$props$eventKey !== void 0 ? _child$props$eventKey : index);
|
12
|
+
})) !== -1),
|
13
|
+
disabled: disabled,
|
14
|
+
onChange: updateValue
|
15
|
+
};
|
16
|
+
return /*#__PURE__*/cloneElement(child, props);
|
17
|
+
});
|
18
|
+
};
|
19
|
+
export var getChildren = function getChildren(children, activeIndex, disabled, updateValue) {
|
20
|
+
return updatePropsRecursively(children, activeIndex, disabled, updateValue);
|
21
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
[]
|
@@ -17,10 +17,10 @@ export var Label = /*#__PURE__*/styled.label.withConfig({
|
|
17
17
|
})([""]);
|
18
18
|
export var StyledContentLeft = /*#__PURE__*/styled.div.withConfig({
|
19
19
|
componentId: "plasma-new-hope__sc-g4vxbb-5"
|
20
|
-
})(["margin:var(", ");
|
20
|
+
})(["margin:var(", ");"], tokens.leftContentMargin);
|
21
21
|
export var StyledContentRight = /*#__PURE__*/styled.div.withConfig({
|
22
22
|
componentId: "plasma-new-hope__sc-g4vxbb-6"
|
23
|
-
})(["margin:var(", ");
|
23
|
+
})(["margin:var(", ");"], tokens.rightContentMargin);
|
24
24
|
export var LeftHelper = /*#__PURE__*/styled.div.withConfig({
|
25
25
|
componentId: "plasma-new-hope__sc-g4vxbb-7"
|
26
26
|
})([""]);
|
@@ -0,0 +1,16 @@
|
|
1
|
+
var _path;
|
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
|
+
import React from 'react';
|
4
|
+
export var ChevronDownFill = function ChevronDownFill(props) {
|
5
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
6
|
+
width: "100%",
|
7
|
+
viewBox: "0 0 16 16",
|
8
|
+
fill: "none"
|
9
|
+
}, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
|
10
|
+
id: "path",
|
11
|
+
d: "M11.45 5.79C11.37 5.61 11.19 5.5 11 5.5L5 5.5C4.8 5.5 4.62 5.61 4.54 5.79C4.46 5.96 4.49 6.17 4.62 6.32L7.62 9.82C7.71 9.93 7.85 10 8 10C8.14 10 8.28 9.93 8.37 9.82L11.37 6.32C11.5 6.17 11.53 5.96 11.45 5.79Z",
|
12
|
+
fillRule: "evenodd",
|
13
|
+
fill: "currentColor",
|
14
|
+
clipRule: "evenodd"
|
15
|
+
})));
|
16
|
+
};
|
@@ -0,0 +1,14 @@
|
|
1
|
+
var _path;
|
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
|
+
import React from 'react';
|
4
|
+
export var Minus = function Minus(props) {
|
5
|
+
return /*#__PURE__*/React.createElement("svg", _extends({
|
6
|
+
width: "100%",
|
7
|
+
viewBox: "0 0 24 24",
|
8
|
+
fill: "none"
|
9
|
+
}, props), _path || (_path = /*#__PURE__*/React.createElement("path", {
|
10
|
+
id: "icon",
|
11
|
+
d: "M3.25 12C3.25 11.58 3.58 11.25 4 11.25L20 11.25C20.41 11.25 20.75 11.58 20.75 12C20.75 12.41 20.41 12.75 20 12.75L4 12.75C3.58 12.75 3.25 12.41 3.25 12Z",
|
12
|
+
fill: "currentColor"
|
13
|
+
})));
|
14
|
+
};
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { ChevronDownFill } from '../Icon.assets/ChevronDownFill';
|
3
|
+
import { IconRoot } from '../IconRoot';
|
4
|
+
export var IconChevronDownFill = function IconChevronDownFill(_ref) {
|
5
|
+
var _ref$size = _ref.size,
|
6
|
+
size = _ref$size === void 0 ? 'xs' : _ref$size,
|
7
|
+
color = _ref.color,
|
8
|
+
className = _ref.className;
|
9
|
+
return /*#__PURE__*/React.createElement(IconRoot, {
|
10
|
+
className: className,
|
11
|
+
size: size,
|
12
|
+
color: color,
|
13
|
+
icon: ChevronDownFill
|
14
|
+
});
|
15
|
+
};
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Minus } from '../Icon.assets/Minus';
|
3
|
+
import { IconRoot } from '../IconRoot';
|
4
|
+
export var IconMinus = function IconMinus(_ref) {
|
5
|
+
var _ref$size = _ref.size,
|
6
|
+
size = _ref$size === void 0 ? 's' : _ref$size,
|
7
|
+
color = _ref.color,
|
8
|
+
className = _ref.className;
|
9
|
+
return /*#__PURE__*/React.createElement(IconRoot, {
|
10
|
+
className: className,
|
11
|
+
size: size,
|
12
|
+
color: color,
|
13
|
+
icon: Minus
|
14
|
+
});
|
15
|
+
};
|
@@ -4,6 +4,8 @@ export { IconMic } from './Icons/IconMic';
|
|
4
4
|
export { IconChevronLeft } from './Icons/IconChevronLeft';
|
5
5
|
export { IconChevronDoubleLeft } from './Icons/IconChevronDoubleLeft';
|
6
6
|
export { IconChevronDown } from './Icons/IconChevronDown';
|
7
|
+
export { IconChevronDownFill } from './Icons/IconChevronDownFill';
|
7
8
|
export { IconClose } from './Icons/IconClose';
|
8
9
|
export { IconCross } from './Icons/IconCross';
|
9
|
-
export { IconDone } from './Icons/IconDone';
|
10
|
+
export { IconDone } from './Icons/IconDone';
|
11
|
+
export { IconMinus } from './Icons/IconMinus';
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { accordionTokens } from '../../../../components/Accordion';
|
3
|
+
export var config = {
|
4
|
+
defaults: {
|
5
|
+
view: 'default',
|
6
|
+
size: 'm'
|
7
|
+
},
|
8
|
+
variations: {
|
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);", ":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
|
+
},
|
13
|
+
size: {
|
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),
|
15
|
+
m: /*#__PURE__*/css(["", ":0.875rem;", ":1.125rem;", ":0.375rem;", ":0.75rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-bold-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], 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
|
+
s: /*#__PURE__*/css(["", ":0.6875rem;", ":0.875rem;", ":0.375rem;", ":0.625rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-bold-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], 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),
|
17
|
+
xs: /*#__PURE__*/css(["", ":0.5rem;", ":0.75rem;", ":0.25rem;", ":0.5rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-bold-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], 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)
|
18
|
+
}
|
19
|
+
}
|
20
|
+
};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { accordionConfig, AccordionItem } from '../../../../components/Accordion';
|
2
|
+
import { component, mergeConfig } from '../../../../engines';
|
3
|
+
import { config } from './Accordion.config';
|
4
|
+
var mergedConfig = /*#__PURE__*/mergeConfig(accordionConfig, config);
|
5
|
+
export var Accordion = /*#__PURE__*/component(mergedConfig);
|
6
|
+
export { AccordionItem };
|
@@ -0,0 +1,66 @@
|
|
1
|
+
import * as React from 'react';
|
2
|
+
import type { ComponentProps } from 'react';
|
3
|
+
import type { StoryObj, Meta } from '@storybook/react';
|
4
|
+
import { disableProps } from '@salutejs/plasma-sb-utils';
|
5
|
+
|
6
|
+
import { mergeConfig } from '../../../../engines';
|
7
|
+
import { WithTheme, argTypesFromConfig } from '../../../_helpers';
|
8
|
+
import { accordionConfig } from '../../../../components/Accordion';
|
9
|
+
|
10
|
+
import { config } from './Accordion.config';
|
11
|
+
import { Accordion, AccordionItem } from './Accordion';
|
12
|
+
|
13
|
+
const meta: Meta<typeof Accordion> = {
|
14
|
+
title: 'plasma_b2c/Accordion',
|
15
|
+
decorators: [WithTheme],
|
16
|
+
component: Accordion,
|
17
|
+
args: {
|
18
|
+
singleActive: false,
|
19
|
+
view: 'default',
|
20
|
+
size: 'm',
|
21
|
+
stretching: 'filled',
|
22
|
+
type: 'arrow',
|
23
|
+
disabled: false,
|
24
|
+
title: 'Как оплатить заправку бонусами СберСпасибо?',
|
25
|
+
body:
|
26
|
+
'После указания деталей заправки нажмите кнопку «К оплате». Откроется окно оплаты, где вы сможете списать бонусы и оплатить ими до 99% стоимости топлива',
|
27
|
+
},
|
28
|
+
argTypes: {
|
29
|
+
...argTypesFromConfig(mergeConfig(accordionConfig, config)),
|
30
|
+
...disableProps(['text']),
|
31
|
+
stretching: {
|
32
|
+
options: ['filled', 'fixed'],
|
33
|
+
control: {
|
34
|
+
type: 'select',
|
35
|
+
},
|
36
|
+
},
|
37
|
+
type: {
|
38
|
+
options: ['arrow', 'sign', 'clear'],
|
39
|
+
control: {
|
40
|
+
type: 'select',
|
41
|
+
},
|
42
|
+
},
|
43
|
+
},
|
44
|
+
};
|
45
|
+
|
46
|
+
export default meta;
|
47
|
+
|
48
|
+
export const Default: StoryObj<ComponentProps<typeof Accordion>> = {
|
49
|
+
render: (props: ComponentProps<typeof Accordion>) => {
|
50
|
+
const args = { ...props, text: undefined };
|
51
|
+
|
52
|
+
return (
|
53
|
+
<Accordion {...args}>
|
54
|
+
<AccordionItem type={args.type} pin={args.pin} title={args.title}>
|
55
|
+
{args.body}
|
56
|
+
</AccordionItem>
|
57
|
+
<AccordionItem type={args.type} pin={args.pin} title={args.title}>
|
58
|
+
{args.body}
|
59
|
+
</AccordionItem>
|
60
|
+
<AccordionItem type={args.type} pin={args.pin} title={args.title}>
|
61
|
+
{args.body}
|
62
|
+
</AccordionItem>
|
63
|
+
</Accordion>
|
64
|
+
);
|
65
|
+
},
|
66
|
+
};
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { css } from 'styled-components';
|
2
|
+
import { accordionTokens } from '../../../../components/Accordion';
|
3
|
+
export var config = {
|
4
|
+
defaults: {
|
5
|
+
view: 'default',
|
6
|
+
size: 'm'
|
7
|
+
},
|
8
|
+
variations: {
|
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);", ":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
|
+
},
|
13
|
+
size: {
|
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),
|
15
|
+
m: /*#__PURE__*/css(["", ":0.875rem;", ":1.125rem;", ":0.375rem;", ":0.75rem;", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-bold-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);", ":var(--plasma-typo-body-m-font-family);", ":var(--plasma-typo-body-m-font-size);", ":var(--plasma-typo-body-m-font-style);", ":var(--plasma-typo-body-m-font-weight);", ":var(--plasma-typo-body-m-letter-spacing);", ":var(--plasma-typo-body-m-line-height);"], 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
|
+
s: /*#__PURE__*/css(["", ":0.6875rem;", ":0.875rem;", ":0.375rem;", ":0.625rem;", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-bold-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);", ":var(--plasma-typo-body-s-font-family);", ":var(--plasma-typo-body-s-font-size);", ":var(--plasma-typo-body-s-font-style);", ":var(--plasma-typo-body-s-font-weight);", ":var(--plasma-typo-body-s-letter-spacing);", ":var(--plasma-typo-body-s-line-height);"], 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),
|
17
|
+
xs: /*#__PURE__*/css(["", ":0.5rem;", ":0.75rem;", ":0.25rem;", ":0.5rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-bold-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);"], 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)
|
18
|
+
},
|
19
|
+
stretching: {
|
20
|
+
filled: /*#__PURE__*/css([""]),
|
21
|
+
fixed: /*#__PURE__*/css([""])
|
22
|
+
}
|
23
|
+
}
|
24
|
+
};
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import { accordionConfig, AccordionItem } from '../../../../components/Accordion';
|
2
|
+
import { component, mergeConfig } from '../../../../engines';
|
3
|
+
import { config } from './Accordion.config';
|
4
|
+
var mergedConfig = /*#__PURE__*/mergeConfig(accordionConfig, config);
|
5
|
+
export var Accordion = /*#__PURE__*/component(mergedConfig);
|
6
|
+
export { AccordionItem };
|