@salutejs/plasma-new-hope 0.170.0-canary.1484.11388945571.0 → 0.170.0-canary.1488.11387414081.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (130) hide show
  1. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +13 -19
  2. package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  3. package/cjs/components/ViewContainer/ViewContainer.js +38 -0
  4. package/cjs/components/ViewContainer/ViewContainer.js.map +1 -0
  5. package/cjs/components/ViewContainer/ViewContainer_yiqfcb.css +1 -0
  6. package/cjs/components/ViewContainer/_view/base.js +9 -0
  7. package/cjs/components/ViewContainer/_view/base.js.map +1 -0
  8. package/cjs/components/ViewContainer/_view/base_x642ct.css +1 -0
  9. package/cjs/index.css +2 -0
  10. package/cjs/index.js +3 -0
  11. package/cjs/index.js.map +1 -1
  12. package/emotion/cjs/components/Accordion/Accordion.template-doc.mdx +0 -32
  13. package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +13 -19
  14. package/emotion/cjs/components/ViewContainer/ViewContainer.js +49 -0
  15. package/emotion/cjs/components/ViewContainer/ViewContainer.template-doc.mdx +82 -0
  16. package/emotion/cjs/components/ViewContainer/_view/base.js +8 -0
  17. package/emotion/cjs/components/ViewContainer/_view/tokens.json +1 -0
  18. package/emotion/cjs/components/ViewContainer/index.js +18 -0
  19. package/emotion/cjs/examples/_helpers.js +3 -14
  20. package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -63
  21. package/emotion/cjs/examples/plasma_b2c/components/ViewContainer/ViewContainer.config.js +16 -0
  22. package/emotion/cjs/examples/plasma_b2c/components/ViewContainer/ViewContainer.js +11 -0
  23. package/emotion/cjs/examples/plasma_b2c/components/ViewContainer/ViewContainer.stories.tsx +65 -0
  24. package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -63
  25. package/emotion/cjs/examples/plasma_web/components/ViewContainer/ViewContainer.config.js +16 -0
  26. package/emotion/cjs/examples/plasma_web/components/ViewContainer/ViewContainer.js +11 -0
  27. package/emotion/cjs/examples/plasma_web/components/ViewContainer/ViewContainer.stories.tsx +65 -0
  28. package/emotion/cjs/index.js +11 -0
  29. package/emotion/es/components/Accordion/Accordion.template-doc.mdx +0 -32
  30. package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +14 -20
  31. package/emotion/es/components/ViewContainer/ViewContainer.js +40 -0
  32. package/emotion/es/components/ViewContainer/ViewContainer.template-doc.mdx +82 -0
  33. package/emotion/es/components/ViewContainer/_view/base.js +2 -0
  34. package/emotion/es/components/ViewContainer/_view/tokens.json +1 -0
  35. package/emotion/es/components/ViewContainer/index.js +1 -0
  36. package/emotion/es/examples/_helpers.js +3 -14
  37. package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -63
  38. package/emotion/es/examples/plasma_b2c/components/ViewContainer/ViewContainer.config.js +10 -0
  39. package/emotion/es/examples/plasma_b2c/components/ViewContainer/ViewContainer.js +5 -0
  40. package/emotion/es/examples/plasma_b2c/components/ViewContainer/ViewContainer.stories.tsx +65 -0
  41. package/emotion/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -63
  42. package/emotion/es/examples/plasma_web/components/ViewContainer/ViewContainer.config.js +10 -0
  43. package/emotion/es/examples/plasma_web/components/ViewContainer/ViewContainer.js +5 -0
  44. package/emotion/es/examples/plasma_web/components/ViewContainer/ViewContainer.stories.tsx +65 -0
  45. package/emotion/es/index.js +2 -1
  46. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +14 -20
  47. package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
  48. package/es/components/ViewContainer/ViewContainer.js +33 -0
  49. package/es/components/ViewContainer/ViewContainer.js.map +1 -0
  50. package/es/components/ViewContainer/ViewContainer_yiqfcb.css +1 -0
  51. package/es/components/ViewContainer/_view/base.js +5 -0
  52. package/es/components/ViewContainer/_view/base.js.map +1 -0
  53. package/es/components/ViewContainer/_view/base_x642ct.css +1 -0
  54. package/es/index.css +2 -0
  55. package/es/index.js +1 -0
  56. package/es/index.js.map +1 -1
  57. package/package.json +3 -2
  58. package/styled-components/cjs/components/Accordion/Accordion.template-doc.mdx +0 -32
  59. package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +13 -19
  60. package/styled-components/cjs/components/ViewContainer/ViewContainer.js +40 -0
  61. package/styled-components/cjs/components/ViewContainer/ViewContainer.template-doc.mdx +82 -0
  62. package/styled-components/cjs/components/ViewContainer/_view/base.js +8 -0
  63. package/styled-components/cjs/components/ViewContainer/_view/tokens.json +1 -0
  64. package/styled-components/cjs/components/ViewContainer/index.js +18 -0
  65. package/styled-components/cjs/examples/_helpers.js +3 -14
  66. package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -63
  67. package/styled-components/cjs/examples/plasma_b2c/components/ViewContainer/ViewContainer.config.js +16 -0
  68. package/styled-components/cjs/examples/plasma_b2c/components/ViewContainer/ViewContainer.js +11 -0
  69. package/styled-components/cjs/examples/plasma_b2c/components/ViewContainer/ViewContainer.stories.tsx +65 -0
  70. package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -63
  71. package/styled-components/cjs/examples/plasma_web/components/ViewContainer/ViewContainer.config.js +16 -0
  72. package/styled-components/cjs/examples/plasma_web/components/ViewContainer/ViewContainer.js +11 -0
  73. package/styled-components/cjs/examples/plasma_web/components/ViewContainer/ViewContainer.stories.tsx +65 -0
  74. package/styled-components/cjs/index.js +11 -0
  75. package/styled-components/es/components/Accordion/Accordion.template-doc.mdx +0 -32
  76. package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +14 -20
  77. package/styled-components/es/components/ViewContainer/ViewContainer.js +31 -0
  78. package/styled-components/es/components/ViewContainer/ViewContainer.template-doc.mdx +82 -0
  79. package/styled-components/es/components/ViewContainer/_view/base.js +2 -0
  80. package/styled-components/es/components/ViewContainer/_view/tokens.json +1 -0
  81. package/styled-components/es/components/ViewContainer/index.js +1 -0
  82. package/styled-components/es/examples/_helpers.js +3 -14
  83. package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +1 -63
  84. package/styled-components/es/examples/plasma_b2c/components/ViewContainer/ViewContainer.config.js +10 -0
  85. package/styled-components/es/examples/plasma_b2c/components/ViewContainer/ViewContainer.js +5 -0
  86. package/styled-components/es/examples/plasma_b2c/components/ViewContainer/ViewContainer.stories.tsx +65 -0
  87. package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +1 -63
  88. package/styled-components/es/examples/plasma_web/components/ViewContainer/ViewContainer.config.js +10 -0
  89. package/styled-components/es/examples/plasma_web/components/ViewContainer/ViewContainer.js +5 -0
  90. package/styled-components/es/examples/plasma_web/components/ViewContainer/ViewContainer.stories.tsx +65 -0
  91. package/styled-components/es/index.js +2 -1
  92. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts +2 -17
  93. package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
  94. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts +8 -16
  95. package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts.map +1 -1
  96. package/types/components/ViewContainer/ViewContainer.d.ts +26 -0
  97. package/types/components/ViewContainer/ViewContainer.d.ts.map +1 -0
  98. package/types/components/ViewContainer/_view/base.d.ts +2 -0
  99. package/types/components/ViewContainer/_view/base.d.ts.map +1 -0
  100. package/types/components/ViewContainer/index.d.ts +2 -0
  101. package/types/components/ViewContainer/index.d.ts.map +1 -0
  102. package/types/examples/_helpers.d.ts.map +1 -1
  103. package/types/examples/plasma_b2c/components/ViewContainer/ViewContainer.config.d.ts +9 -0
  104. package/types/examples/plasma_b2c/components/ViewContainer/ViewContainer.config.d.ts.map +1 -0
  105. package/types/examples/plasma_b2c/components/ViewContainer/ViewContainer.d.ts +8 -0
  106. package/types/examples/plasma_b2c/components/ViewContainer/ViewContainer.d.ts.map +1 -0
  107. package/types/examples/plasma_web/components/ViewContainer/ViewContainer.config.d.ts +9 -0
  108. package/types/examples/plasma_web/components/ViewContainer/ViewContainer.config.d.ts.map +1 -0
  109. package/types/examples/plasma_web/components/ViewContainer/ViewContainer.d.ts +8 -0
  110. package/types/examples/plasma_web/components/ViewContainer/ViewContainer.d.ts.map +1 -0
  111. package/types/index.d.ts +1 -0
  112. package/types/index.d.ts.map +1 -1
  113. package/emotion/cjs/examples/themes/declaration.d.ts +0 -4
  114. package/emotion/cjs/examples/themes/index.js +0 -15
  115. package/emotion/cjs/examples/themes/plasma_b2c.module.css +0 -984
  116. package/emotion/cjs/examples/themes/plasma_web.module.css +0 -984
  117. package/emotion/es/examples/themes/declaration.d.ts +0 -4
  118. package/emotion/es/examples/themes/index.js +0 -7
  119. package/emotion/es/examples/themes/plasma_b2c.module.css +0 -984
  120. package/emotion/es/examples/themes/plasma_web.module.css +0 -984
  121. package/styled-components/cjs/examples/themes/declaration.d.ts +0 -4
  122. package/styled-components/cjs/examples/themes/index.js +0 -15
  123. package/styled-components/cjs/examples/themes/plasma_b2c.module.css +0 -984
  124. package/styled-components/cjs/examples/themes/plasma_web.module.css +0 -984
  125. package/styled-components/es/examples/themes/declaration.d.ts +0 -4
  126. package/styled-components/es/examples/themes/index.js +0 -7
  127. package/styled-components/es/examples/themes/plasma_b2c.module.css +0 -984
  128. package/styled-components/es/examples/themes/plasma_web.module.css +0 -984
  129. package/types/examples/themes/index.d.ts +0 -6
  130. package/types/examples/themes/index.d.ts.map +0 -1
@@ -135,38 +135,6 @@ import TabItem from '@theme/TabItem';
135
135
  </TabItem>
136
136
  </Tabs>
137
137
 
138
- ### Использование Accordion в Controlled варианте
139
-
140
- ```tsx live
141
- import React, { useState } from 'react';
142
- import { Accordion, AccordionItem, IconButton } from '@salutejs/{{ package }}';
143
- import { IconPlus } from '@salutejs/plasma-icons';
144
-
145
- export function App() {
146
- const [activeFirst, setActiveFirst] = useState(false);
147
- const [activeSecond, setActiveSecond] = useState(false);
148
- const [activeThree, setActiveThree] = useState(false);
149
-
150
- const contentRight = (active, setActive) => {
151
- return (
152
- <IconButton view="secondary" size="s" onClick={() => setActive(!active)}>
153
- <IconPlus size="xs" />
154
- </IconButton>
155
- )
156
- }
157
-
158
- return (
159
- <div>
160
- <Accordion size="s" singleActive={true}>
161
- <AccordionItem opened={activeFirst} contentRight={contentRight(activeFirst, setActiveFirst)} type="arrow" title="Как оплатить заправку бонусами СберСпасибо?">После указания деталей заправки нажмите кнопку «К оплате». Откроется окно оплаты, где вы сможете списать бонусы и оплатить ими до 99% стоимости топлива</AccordionItem>
162
- <AccordionItem opened={activeSecond} contentRight={contentRight(activeSecond, setActiveSecond)} type="arrow" title="Как оплатить заправку бонусами СберСпасибо?">После указания деталей заправки нажмите кнопку «К оплате». Откроется окно оплаты, где вы сможете списать бонусы и оплатить ими до 99% стоимости топлива</AccordionItem>
163
- <AccordionItem opened={activeThree} contentRight={contentRight(activeThree, setActiveThree)} type="arrow" title="Как оплатить заправку бонусами СберСпасибо?">После указания деталей заправки нажмите кнопку «К оплате». Откроется окно оплаты, где вы сможете списать бонусы и оплатить ими до 99% стоимости топлива</AccordionItem>
164
- </Accordion>
165
- </div>
166
- );
167
- }
168
- ```
169
-
170
138
  ### Использование Accordion SingleActive
171
139
 
172
140
  ```tsx live
@@ -24,7 +24,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
24
24
  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; }
25
25
  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; } }
26
26
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
- var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, outerRef) {
27
+ var AccordionItem = exports.AccordionItem = function AccordionItem(_ref) {
28
28
  var _ref2;
29
29
  var value = _ref.value,
30
30
  contentRight = _ref.contentRight,
@@ -42,10 +42,8 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
42
42
  disabled = _ref.disabled,
43
43
  _ref$alignWithTitle = _ref.alignWithTitle,
44
44
  alignWithTitle = _ref$alignWithTitle === void 0 ? true : _ref$alignWithTitle,
45
- opened = _ref.opened,
46
45
  view = _ref.view,
47
- onChange = _ref.onChange,
48
- onClick = _ref.onClick;
46
+ onChange = _ref.onChange;
49
47
  var key = (_ref2 = eventKey !== null && eventKey !== void 0 ? eventKey : index) !== null && _ref2 !== void 0 ? _ref2 : 0;
50
48
  var _useState = (0, _react.useState)(),
51
49
  _useState2 = _slicedToArray(_useState, 2),
@@ -58,9 +56,6 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
58
56
  if (onChange) {
59
57
  onChange(key, !value);
60
58
  }
61
- if (onClick) {
62
- onClick(key, !value);
63
- }
64
59
  };
65
60
  var leftContentRef = (0, _react.useRef)(null);
66
61
  (0, _react.useEffect)(function () {
@@ -69,11 +64,11 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
69
64
  var leftPaddingBody = leftContentWidth && (alignWithTitle || view === 'clear') ? "calc(".concat(leftContentWidth, "px + var(").concat(_Accordion.tokens.accordionItemGap, "))") : 0;
70
65
  setLeftPadding(leftPaddingBody);
71
66
  }, [value, type, leftContentRef, setLeftPadding]);
72
- var openedBodyClass = (opened !== null && opened !== void 0 ? opened : value) ? _Accordion.classes.accordionItemShowBody : undefined;
73
- var StyledAnimationPlus = function StyledAnimationPlus() {
67
+ var openedBodyClass = value ? _Accordion.classes.accordionItemShowBody : undefined;
68
+ var StyledAnimationPLus = function StyledAnimationPLus() {
74
69
  return /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledPlus, null, _StyledMinus || (_StyledMinus = /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledMinus, {
75
70
  size: "xs",
76
- color: "inherit"
71
+ color: "inhert"
77
72
  })), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledMinus, {
78
73
  size: "xs",
79
74
  color: "inhert",
@@ -84,15 +79,14 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
84
79
  var disabledClass = disabled ? _Accordion.classes.accordionDisabled : '';
85
80
  var leftContent = contentLeft !== null && contentLeft !== void 0 ? contentLeft : type === 'arrow' ? _StyledArrow || (_StyledArrow = /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledArrow, {
86
81
  size: "xs",
87
- color: "inherit"
82
+ color: "inhert"
88
83
  })) : undefined;
89
- var leftContentRotate = type === 'arrow' && (opened !== null && opened !== void 0 ? opened : value) ? _Accordion.classes.accordionItemShowBody : undefined;
90
- var rightContent = contentRight !== null && contentRight !== void 0 ? contentRight : type === 'sign' ? /*#__PURE__*/_react["default"].createElement(StyledAnimationPlus, null) : undefined;
91
- var rightContentRotate = type === 'sign' && (opened !== null && opened !== void 0 ? opened : value) ? _Accordion.classes.accordionItemShowBody : undefined;
84
+ var leftContentRotate = type === 'arrow' && value ? _Accordion.classes.accordionItemShowBody : undefined;
85
+ var rightContent = contentRight !== null && contentRight !== void 0 ? contentRight : type === 'sign' ? /*#__PURE__*/_react["default"].createElement(StyledAnimationPLus, null) : undefined;
86
+ var rightContentRotate = type === 'sign' && value ? _Accordion.classes.accordionItemShowBody : undefined;
92
87
  return /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionItem, {
93
88
  className: (0, _utils.cx)(_Accordion.classes.accordionItem, className, disabledClass),
94
89
  key: key,
95
- ref: outerRef,
96
90
  style: _objectSpread({
97
91
  borderRadius: accordionBorderRadius
98
92
  }, style)
@@ -100,17 +94,17 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
100
94
  role: "tab",
101
95
  tabIndex: 0,
102
96
  onClick: handleOpen,
103
- "aria-expanded": opened !== null && opened !== void 0 ? opened : value,
97
+ "aria-expanded": value,
104
98
  "aria-controls": "accordion-item-section".concat(key),
105
99
  id: "accordion-item-".concat(key)
106
100
  }, /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionHeaderLeft, null, leftContent && /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionContentLeft, {
107
101
  ref: leftContentRef,
108
102
  className: leftContentRotate
109
- }, leftContent), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionTitle, null, title)), contentRight || /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionContentRight, {
103
+ }, leftContent), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionTitle, null, title)), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionContentRight, {
110
104
  className: rightContentRotate
111
105
  }, rightContent && rightContent)), /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionBodyAnimate, {
112
106
  "aria-labelledby": "accordion-item-".concat(key),
113
- "aria-hidden": !(opened !== null && opened !== void 0 ? opened : value),
107
+ "aria-hidden": !value,
114
108
  id: "accordion-item-section".concat(key),
115
109
  className: (0, _utils.cx)(openedBodyClass),
116
110
  style: {
@@ -119,4 +113,4 @@ var AccordionItem = exports.AccordionItem = /*#__PURE__*/(0, _react.forwardRef)(
119
113
  }, /*#__PURE__*/_react["default"].createElement(_AccordionItem.StyledAccordionBody, {
120
114
  className: _Accordion.classes.accordionItemBody
121
115
  }, children)));
122
- });
116
+ };
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.viewContainerRoot = exports.viewContainerConfig = void 0;
8
+ var _react = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("react"));
9
+ var _styledComponents = /*#__PURE__*/require("styled-components");
10
+ var _base = /*#__PURE__*/require("./_view/base");
11
+ var _excluded = ["children"];
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
14
+ 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); }
15
+ 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; }
16
+ 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; }
17
+ var base = /*#__PURE__*/(0, _styledComponents.css)(["position:relative;"]);
18
+ var viewContainerRoot = exports.viewContainerRoot = function viewContainerRoot(Root) {
19
+ return /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
20
+ var children = props.children,
21
+ rest = _objectWithoutProperties(props, _excluded);
22
+ return /*#__PURE__*/_react["default"].createElement(Root, _extends({
23
+ ref: ref
24
+ }, rest), children);
25
+ });
26
+ };
27
+ var viewContainerConfig = exports.viewContainerConfig = {
28
+ name: 'ViewContainer',
29
+ tag: 'div',
30
+ layout: viewContainerRoot,
31
+ base: base,
32
+ variations: {
33
+ view: {
34
+ css: _base.base
35
+ }
36
+ },
37
+ defaults: {
38
+ view: undefined
39
+ }
40
+ };
@@ -0,0 +1,82 @@
1
+ ---
2
+ id: link
3
+ title: Link
4
+ ---
5
+
6
+ import { PropsTable, Description } from '@site/src/components';
7
+
8
+ # ViewContainer
9
+ <Description name="ViewContainer" />
10
+ <PropsTable name="ViewContainer" exclude={['css']} />
11
+
12
+ # Описание
13
+
14
+ Данный компонент представляет собой обёртку, которая инвертирует токены компонент, которые в неё помещены, в зависимости от выбранного значения свойства view - `onDark` или `onLight`.
15
+
16
+ При этом, независимо от режима темы (тёмный или светлый) для всего приложения, токены внутри не будут меняться.
17
+
18
+ Этот механизм необходим для случаев, когда требуется отобразить компонент на специфичном бэкграунде, чтобы избежать наложение цветов.
19
+
20
+ # Пример использования
21
+
22
+ ```tsx live
23
+ import React from 'react';
24
+ import { ViewContainer, Button, Checkbox, TextField } from '@salutejs/{{ package }}';
25
+
26
+ export function App() {
27
+ return (
28
+ <div>
29
+ <ViewContainer
30
+ style=\{{
31
+ padding: '1rem',
32
+ borderRadius: '1rem',
33
+ display: 'flex',
34
+ flexDirection: 'column',
35
+ gap: '1rem',
36
+ }}
37
+ >
38
+ <h3 style=\{{ margin: 0 }}>Inside default ViewContainer</h3>
39
+ <Button text="default Button" />
40
+ <Checkbox checked label="Label" />
41
+ <TextField value="Example Value" label="Label" labelPlacement="inner" />
42
+ </ViewContainer>
43
+ <br />
44
+ <ViewContainer
45
+ view="onDark"
46
+ style=\{{
47
+ background: '#1a1a1a',
48
+ color: 'white',
49
+ padding: '1rem',
50
+ borderRadius: '1rem',
51
+ display: 'flex',
52
+ flexDirection: 'column',
53
+ gap: '1rem',
54
+ }}
55
+ >
56
+ <h3 style=\{{ margin: 0 }}>Inside onDark ViewContainer</h3>
57
+ <Button text="default Button" />
58
+ <Checkbox checked label="Label" />
59
+ <TextField value="Example Value" label="Label" labelPlacement="inner" />
60
+ </ViewContainer>
61
+ <br />
62
+ <ViewContainer
63
+ view="onLight"
64
+ style=\{{
65
+ background: '#ededed',
66
+ color: 'black',
67
+ padding: '1rem',
68
+ borderRadius: '1rem',
69
+ display: 'flex',
70
+ flexDirection: 'column',
71
+ gap: '1rem',
72
+ }}
73
+ >
74
+ <h3 style=\{{ margin: 0 }}>Inside onLight ViewContainer</h3>
75
+ <Button text="default Button" />
76
+ <Checkbox checked label="Label" />
77
+ <TextField value="Example Value" label="Label" labelPlacement="inner" />
78
+ </ViewContainer>
79
+ </div>
80
+ );
81
+ }
82
+ ```
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.base = void 0;
7
+ var _styledComponents = /*#__PURE__*/require("styled-components");
8
+ var base = exports.base = /*#__PURE__*/(0, _styledComponents.css)([""]);
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "viewContainerConfig", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _ViewContainer.viewContainerConfig;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "viewContainerRoot", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _ViewContainer.viewContainerRoot;
16
+ }
17
+ });
18
+ var _ViewContainer = /*#__PURE__*/require("./ViewContainer");
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.WithTheme = void 0;
7
7
  exports.argTypesFromConfig = argTypesFromConfig;
8
8
  var _react = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("react"));
9
- var _themes = /*#__PURE__*/require("./themes");
10
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
10
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
12
11
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
@@ -15,19 +14,9 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
15
14
  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; }
16
15
  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; } }
17
16
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
- var WithTheme = exports.WithTheme = function WithTheme(Story, context) {
19
- var _themes$themeName;
20
- var themeType = context.globals.theme;
21
- var themeName = context.title.split('/')[0];
22
- return /*#__PURE__*/_react["default"].createElement("div", {
23
- id: "theme-root",
24
- className: _themes.themes === null || _themes.themes === void 0 || (_themes$themeName = _themes.themes[themeName]) === null || _themes$themeName === void 0 ? void 0 : _themes$themeName[themeType],
25
- style: {
26
- padding: '1rem',
27
- minHeight: '100vh',
28
- boxSizing: 'border-box'
29
- }
30
- }, /*#__PURE__*/_react["default"].createElement(Story, null));
17
+ // TODO: Удалить в отдельном пр из всех компонент
18
+ var WithTheme = exports.WithTheme = function WithTheme(Story) {
19
+ return /*#__PURE__*/_react["default"].createElement(Story, null);
31
20
  };
32
21
  function argTypesFromConfig(config) {
33
22
  var exclude = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -1,4 +1,4 @@
1
- import React, { useState } from 'react';
1
+ import React from 'react';
2
2
  import type { ComponentProps, ReactNode } from 'react';
3
3
  import type { StoryObj, Meta } from '@storybook/react';
4
4
  import { disableProps } from '@salutejs/plasma-sb-utils';
@@ -7,8 +7,6 @@ import { mergeConfig } from '../../../../engines';
7
7
  import { WithTheme, argTypesFromConfig } from '../../../_helpers';
8
8
  import { accordionConfig } from '../../../../components/Accordion';
9
9
  import { Pin } from '../../../../utils/roundness';
10
- import { IconButton } from '../IconButton/IconButton';
11
- import { IconPlus } from '../../../../components/_Icon';
12
10
 
13
11
  import { config } from './Accordion.config';
14
12
  import { Accordion, AccordionItem } from './Accordion';
@@ -93,63 +91,3 @@ export const Default: StoryObj<AccordionProps> = {
93
91
  );
94
92
  },
95
93
  };
96
-
97
- const getSizeForIcon = (size) => (size === 'xs' ? 'xs' : 's');
98
-
99
- const ControlledAccordion = (props: AccordionProps) => {
100
- const args = { ...props, text: undefined };
101
- const [activeFirst, setActiveFirst] = useState(false);
102
- const [activeSecond, setActiveSecond] = useState(false);
103
- const [activeThree, setActiveThree] = useState(false);
104
-
105
- return (
106
- <Accordion {...args}>
107
- <AccordionItem
108
- contentRight={
109
- <IconButton view="secondary" size={args.size} onClick={() => setActiveFirst(!activeFirst)}>
110
- <IconPlus size={getSizeForIcon(args.size)} />
111
- </IconButton>
112
- }
113
- alignWithTitle={args.alignWithTitle}
114
- type={args.type}
115
- pin={args.pin}
116
- title={args.title}
117
- opened={activeFirst}
118
- >
119
- {args.body}
120
- </AccordionItem>
121
- <AccordionItem
122
- contentRight={
123
- <IconButton view="secondary" size={args.size} onClick={() => setActiveSecond(!activeSecond)}>
124
- <IconPlus size={getSizeForIcon(args.size)} />
125
- </IconButton>
126
- }
127
- alignWithTitle={args.alignWithTitle}
128
- type={args.type}
129
- pin={args.pin}
130
- title={args.title}
131
- opened={activeSecond}
132
- >
133
- {args.body}
134
- </AccordionItem>
135
- <AccordionItem
136
- contentRight={
137
- <IconButton view="secondary" size={args.size} onClick={() => setActiveThree(!activeThree)}>
138
- <IconPlus size={getSizeForIcon(args.size)} />
139
- </IconButton>
140
- }
141
- alignWithTitle={args.alignWithTitle}
142
- type={args.type}
143
- pin={args.pin}
144
- title={args.title}
145
- opened={activeThree}
146
- >
147
- {args.body}
148
- </AccordionItem>
149
- </Accordion>
150
- );
151
- };
152
-
153
- export const Controlled: StoryObj<AccordionProps> = {
154
- render: (props: AccordionProps) => ControlledAccordion(props),
155
- };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.config = void 0;
7
+ var _styledComponents = /*#__PURE__*/require("styled-components");
8
+ var _plasma_b2c = /*#__PURE__*/require("@salutejs/plasma-themes/tokens/plasma_b2c");
9
+ var config = exports.config = {
10
+ variations: {
11
+ view: {
12
+ onDark: /*#__PURE__*/(0, _styledComponents.css)(["", ""], _plasma_b2c.viewContainer.dark),
13
+ onLight: /*#__PURE__*/(0, _styledComponents.css)(["", ""], _plasma_b2c.viewContainer.light)
14
+ }
15
+ }
16
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ViewContainer = void 0;
7
+ var _ViewContainer = /*#__PURE__*/require("../../../../components/ViewContainer");
8
+ var _engines = /*#__PURE__*/require("../../../../engines");
9
+ var _ViewContainer2 = /*#__PURE__*/require("./ViewContainer.config");
10
+ var mergedConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_ViewContainer.viewContainerConfig, _ViewContainer2.config);
11
+ var ViewContainer = exports.ViewContainer = /*#__PURE__*/(0, _engines.component)(mergedConfig);
@@ -0,0 +1,65 @@
1
+ import React, { ComponentProps } from 'react';
2
+ import type { StoryObj, Meta } from '@storybook/react';
3
+
4
+ import { Button } from '../Button/Button';
5
+ import { TextField } from '../Textfield/Textfield';
6
+ import { Checkbox } from '../Checkbox/Checkbox';
7
+
8
+ import { ViewContainer } from './ViewContainer';
9
+
10
+ type StoryViewProps = ComponentProps<typeof ViewContainer>;
11
+
12
+ const meta: Meta<StoryViewProps> = {
13
+ title: 'plasma_b2c/ViewContainer',
14
+ };
15
+
16
+ export default meta;
17
+
18
+ type Story = StoryObj<StoryViewProps>;
19
+
20
+ const ViewExample = ({ view }: StoryViewProps) => {
21
+ const style = view
22
+ ? {
23
+ background: view === 'onDark' ? '#1a1a1a' : '#ededed',
24
+ color: view === 'onDark' ? 'white' : 'black',
25
+ }
26
+ : undefined;
27
+
28
+ return (
29
+ <>
30
+ <h4>view: {view ?? 'default'}</h4>
31
+ <div>
32
+ <ViewContainer
33
+ view={view}
34
+ style={{
35
+ ...style,
36
+ padding: '1rem',
37
+ borderRadius: '1rem',
38
+ display: 'flex',
39
+ flexDirection: 'column',
40
+ gap: '1rem',
41
+ }}
42
+ >
43
+ <h3 style={{ margin: 0 }}>Inside ViewContainer</h3>
44
+ <Button text="default Button" />
45
+ <Checkbox checked label="Label" />
46
+ <TextField value="Example Value" label="Label" labelPlacement="inner" />
47
+ </ViewContainer>
48
+ </div>
49
+ </>
50
+ );
51
+ };
52
+
53
+ export const Default: Story = {
54
+ render: () => {
55
+ return (
56
+ <>
57
+ <ViewExample />
58
+ <br />
59
+ <ViewExample view="onDark" />
60
+ <br />
61
+ <ViewExample view="onLight" />
62
+ </>
63
+ );
64
+ },
65
+ };
@@ -1,4 +1,4 @@
1
- import React, { useState } from 'react';
1
+ import React from 'react';
2
2
  import type { ComponentProps, ReactNode } from 'react';
3
3
  import type { StoryObj, Meta } from '@storybook/react';
4
4
  import { disableProps } from '@salutejs/plasma-sb-utils';
@@ -7,8 +7,6 @@ import { mergeConfig } from '../../../../engines';
7
7
  import { WithTheme, argTypesFromConfig } from '../../../_helpers';
8
8
  import { accordionConfig } from '../../../../components/Accordion';
9
9
  import { Pin } from '../../../../utils/roundness';
10
- import { IconButton } from '../IconButton/IconButton';
11
- import { IconPlus } from '../../../../components/_Icon';
12
10
 
13
11
  import { config } from './Accordion.config';
14
12
  import { Accordion, AccordionItem } from './Accordion';
@@ -93,63 +91,3 @@ export const Default: StoryObj<AccordionProps> = {
93
91
  );
94
92
  },
95
93
  };
96
-
97
- const getSizeForIcon = (size) => (size === 'xs' ? 'xs' : 's');
98
-
99
- const ControlledAccordion = (props: AccordionProps) => {
100
- const args = { ...props, text: undefined };
101
- const [activeFirst, setActiveFirst] = useState(false);
102
- const [activeSecond, setActiveSecond] = useState(false);
103
- const [activeThree, setActiveThree] = useState(false);
104
-
105
- return (
106
- <Accordion {...args}>
107
- <AccordionItem
108
- contentRight={
109
- <IconButton view="secondary" size={args.size} onClick={() => setActiveFirst(!activeFirst)}>
110
- <IconPlus size={getSizeForIcon(args.size)} />
111
- </IconButton>
112
- }
113
- alignWithTitle={args.alignWithTitle}
114
- type={args.type}
115
- pin={args.pin}
116
- title={args.title}
117
- opened={activeFirst}
118
- >
119
- {args.body}
120
- </AccordionItem>
121
- <AccordionItem
122
- contentRight={
123
- <IconButton view="secondary" size={args.size} onClick={() => setActiveSecond(!activeSecond)}>
124
- <IconPlus size={getSizeForIcon(args.size)} />
125
- </IconButton>
126
- }
127
- alignWithTitle={args.alignWithTitle}
128
- type={args.type}
129
- pin={args.pin}
130
- title={args.title}
131
- opened={activeSecond}
132
- >
133
- {args.body}
134
- </AccordionItem>
135
- <AccordionItem
136
- contentRight={
137
- <IconButton view="secondary" size={args.size} onClick={() => setActiveThree(!activeThree)}>
138
- <IconPlus size={getSizeForIcon(args.size)} />
139
- </IconButton>
140
- }
141
- alignWithTitle={args.alignWithTitle}
142
- type={args.type}
143
- pin={args.pin}
144
- title={args.title}
145
- opened={activeThree}
146
- >
147
- {args.body}
148
- </AccordionItem>
149
- </Accordion>
150
- );
151
- };
152
-
153
- export const Controlled: StoryObj<AccordionProps> = {
154
- render: (props: AccordionProps) => ControlledAccordion(props),
155
- };
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.config = void 0;
7
+ var _styledComponents = /*#__PURE__*/require("styled-components");
8
+ var _plasma_b2c = /*#__PURE__*/require("@salutejs/plasma-themes/tokens/plasma_b2c");
9
+ var config = exports.config = {
10
+ variations: {
11
+ view: {
12
+ onDark: /*#__PURE__*/(0, _styledComponents.css)(["", ""], _plasma_b2c.viewContainer.dark),
13
+ onLight: /*#__PURE__*/(0, _styledComponents.css)(["", ""], _plasma_b2c.viewContainer.light)
14
+ }
15
+ }
16
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ViewContainer = void 0;
7
+ var _ViewContainer = /*#__PURE__*/require("../../../../components/ViewContainer");
8
+ var _engines = /*#__PURE__*/require("../../../../engines");
9
+ var _ViewContainer2 = /*#__PURE__*/require("./ViewContainer.config");
10
+ var mergedConfig = /*#__PURE__*/(0, _engines.mergeConfig)(_ViewContainer.viewContainerConfig, _ViewContainer2.config);
11
+ var ViewContainer = exports.ViewContainer = /*#__PURE__*/(0, _engines.component)(mergedConfig);