@semcore/accordion 5.36.0 → 5.36.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [5.36.1] - 2024-06-26
6
+
7
+ ### Changed
8
+
9
+ - `Accordion.Item.Toggle` can have only `h*` tag, `h3` tag is default.
10
+
11
+ ### Added
12
+
13
+ - Flex component `Accordion.Item.ToggleButton` with role `button`.
14
+
5
15
  ## [5.36.0] - 2024-06-26
6
16
 
7
17
  ### Changed
@@ -851,12 +861,12 @@ CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangel
851
861
  ### Fixed
852
862
 
853
863
  - Поправили вызов `onChange` для `Accordion`
854
- - Исправлен транспайл цветовых переменных для стилей без префиксов (build.css)
864
+ - Исправлен транспайл цветовых переменных для стилей без префиксов (`build.css`)
855
865
 
856
866
  ### Added
857
867
 
858
868
  - Добавлена адаптивность на маленьких экранах(<768px)
859
- - Появилась возможность добавления различных стилистических тем через css переменные
869
+ - Появилась возможность добавления различных стилистических тем через CSS переменные
860
870
  - Появилась возможность оптицонально подключать адаптивноссть
861
871
  - Появилась возможность изолировать стили даже в пределах одной страницы
862
872
 
@@ -19,19 +19,20 @@ var _core = _interopRequireWildcard(require("@semcore/core"));
19
19
  var _react = _interopRequireDefault(require("react"));
20
20
  var _flexBox = require("@semcore/flex-box");
21
21
  var _animation = require("@semcore/animation");
22
+ var _typography = require("@semcore/typography");
22
23
  var _m = _interopRequireDefault(require("@semcore/icon/ChevronRight/m"));
23
24
  var _l = _interopRequireDefault(require("@semcore/icon/ChevronRight/l"));
24
25
  var _keyboardFocusEnhance = _interopRequireDefault(require("@semcore/utils/lib/enhances/keyboardFocusEnhance"));
25
26
  var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
26
27
  var _useCssVariable = require("@semcore/utils/lib/useCssVariable");
27
28
  /*__reshadow-styles__:"./style/accordion.shadow.css"*/
28
- var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SItemToggle_1g0vg_gg_{position:relative;cursor:pointer;outline:0}.___SItemToggle_1g0vg_gg_.__keyboardFocused_1g0vg_gg_:not(._tabIndex_-1_1g0vg_gg_)::after{position:absolute;display:block;content:\"\";top:3px;right:3px;bottom:3px;left:3px;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));pointer-events:none;z-index:3}.___SItemToggle_1g0vg_gg_.__disabled_1g0vg_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default}.___SItemChevron_1g0vg_gg_{transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SItemChevron_1g0vg_gg_.__selected_1g0vg_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_1g0vg_gg_{transition:none}}" /*__inner_css_end__*/, "1g0vg_gg_") /*__reshadow_css_end__*/, {
29
- "__SItemToggle": "___SItemToggle_1g0vg_gg_",
30
- "_keyboardFocused": "__keyboardFocused_1g0vg_gg_",
31
- "_tabIndex_-1": "_tabIndex_-1_1g0vg_gg_",
32
- "_disabled": "__disabled_1g0vg_gg_",
33
- "__SItemChevron": "___SItemChevron_1g0vg_gg_",
34
- "_selected": "__selected_1g0vg_gg_"
29
+ var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___SItemToggle_a1g6r_gg_{display:flex;align-items:center;position:relative;cursor:pointer;outline:0}.___SItemToggle_a1g6r_gg_.__keyboardFocused_a1g6r_gg_:not(._tabIndex_-1_a1g6r_gg_)::after{position:absolute;display:block;content:\"\";top:3px;right:3px;bottom:3px;left:3px;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));pointer-events:none;z-index:3}.___SItemToggle_a1g6r_gg_.__disabled_a1g6r_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default}.___SItemChevron_a1g6r_gg_{transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SItemChevron_a1g6r_gg_.__selected_a1g6r_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_a1g6r_gg_{transition:none}}" /*__inner_css_end__*/, "a1g6r_gg_") /*__reshadow_css_end__*/, {
30
+ "__SItemToggle": "___SItemToggle_a1g6r_gg_",
31
+ "_keyboardFocused": "__keyboardFocused_a1g6r_gg_",
32
+ "_tabIndex_-1": "_tabIndex_-1_a1g6r_gg_",
33
+ "_disabled": "__disabled_a1g6r_gg_",
34
+ "__SItemChevron": "___SItemChevron_a1g6r_gg_",
35
+ "_selected": "__selected_a1g6r_gg_"
35
36
  });
36
37
  var RootAccordion = /*#__PURE__*/function (_Component) {
37
38
  (0, _inherits2["default"])(RootAccordion, _Component);
@@ -65,8 +66,8 @@ var RootAccordion = /*#__PURE__*/function (_Component) {
65
66
  }
66
67
  }, {
67
68
  key: "getItemProps",
68
- value: function getItemProps(_ref6) {
69
- var value = _ref6.value;
69
+ value: function getItemProps(_ref8) {
70
+ var value = _ref8.value;
70
71
  var _this$asProps = this.asProps,
71
72
  selectedValue = _this$asProps.value,
72
73
  duration = _this$asProps.duration;
@@ -127,7 +128,21 @@ var RootItem = /*#__PURE__*/function (_Component2) {
127
128
  disabled: disabled,
128
129
  onClick: disabled ? undefined : this.handleClick,
129
130
  id: "igc-".concat(uid, "-").concat(value, "-toggle"),
130
- role: 'button',
131
+ tag: 'h3',
132
+ size: 300
133
+ };
134
+ }
135
+ }, {
136
+ key: "getToggleButtonProps",
137
+ value: function getToggleButtonProps() {
138
+ var _this$asProps3 = this.asProps,
139
+ value = _this$asProps3.value,
140
+ uid = _this$asProps3.uid,
141
+ selected = _this$asProps3.selected,
142
+ disabled = _this$asProps3.disabled;
143
+ return {
144
+ disabled: disabled,
145
+ id: "igc-".concat(uid, "-").concat(value, "-toggle-button"),
131
146
  'aria-expanded': selected ? 'true' : 'false',
132
147
  'aria-controls': "igc-".concat(uid, "-").concat(value, "-collapse")
133
148
  };
@@ -135,25 +150,25 @@ var RootItem = /*#__PURE__*/function (_Component2) {
135
150
  }, {
136
151
  key: "getCollapseProps",
137
152
  value: function getCollapseProps() {
138
- var _this$asProps3 = this.asProps,
139
- selected = _this$asProps3.selected,
140
- uid = _this$asProps3.uid,
141
- duration = _this$asProps3.duration,
142
- value = _this$asProps3.value;
153
+ var _this$asProps4 = this.asProps,
154
+ selected = _this$asProps4.selected,
155
+ uid = _this$asProps4.uid,
156
+ duration = _this$asProps4.duration,
157
+ value = _this$asProps4.value;
143
158
  return {
144
159
  selected: selected,
145
160
  duration: duration,
146
161
  id: "igc-".concat(uid, "-").concat(value, "-collapse"),
147
162
  role: 'region',
148
- 'aria-labelledby': "igc-".concat(uid, "-").concat(value, "-toggle")
163
+ 'aria-labelledby': "igc-".concat(uid, "-").concat(value, "-toggle-button")
149
164
  };
150
165
  }
151
166
  }, {
152
167
  key: "getChevronProps",
153
168
  value: function getChevronProps() {
154
- var _this$asProps4 = this.asProps,
155
- selected = _this$asProps4.selected,
156
- size = _this$asProps4.size;
169
+ var _this$asProps5 = this.asProps,
170
+ selected = _this$asProps5.selected,
171
+ size = _this$asProps5.size;
157
172
  return {
158
173
  selected: selected,
159
174
  size: size
@@ -201,12 +216,12 @@ var Toggle = /*#__PURE__*/function (_Component3) {
201
216
  key: "render",
202
217
  value: function render() {
203
218
  var _ref = this.asProps,
204
- _ref4;
205
- var _this$asProps5 = this.asProps,
206
- styles = _this$asProps5.styles,
207
- disabled = _this$asProps5.disabled;
208
- var SItemToggle = _flexBox.Box;
209
- return _ref4 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SItemToggle, _ref4.cn("SItemToggle", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
219
+ _ref5;
220
+ var _this$asProps6 = this.asProps,
221
+ styles = _this$asProps6.styles,
222
+ disabled = _this$asProps6.disabled;
223
+ var SItemToggle = _typography.Text;
224
+ return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SItemToggle, _ref5.cn("SItemToggle", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
210
225
  "ref": this.toggleRef,
211
226
  "onKeyDown": this.handleKeyDown,
212
227
  "aria-disabled": disabled ? 'true' : undefined
@@ -218,23 +233,34 @@ var Toggle = /*#__PURE__*/function (_Component3) {
218
233
  (0, _defineProperty2["default"])(Toggle, "enhance", [(0, _keyboardFocusEnhance["default"])()]);
219
234
  function Chevron(props) {
220
235
  var _ref2 = arguments[0],
221
- _ref5;
236
+ _ref6;
222
237
  var styles = props.styles,
223
238
  size = props.size;
224
239
  var SItemChevron = size === 'l' ? _l["default"] : _m["default"];
225
- return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SItemChevron, _ref5.cn("SItemChevron", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref2))));
240
+ return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SItemChevron, _ref6.cn("SItemChevron", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref2))));
241
+ }
242
+ function ToggleButton(props) {
243
+ var _ref3 = arguments[0],
244
+ _ref7;
245
+ var styles = props.styles,
246
+ size = props.size;
247
+ var SToggleButton = _flexBox.Flex;
248
+ return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SToggleButton, _ref7.cn("SToggleButton", (0, _objectSpread2["default"])({}, (0, _core.assignProps)((0, _objectSpread2["default"])({
249
+ "role": 'button'
250
+ }, props), _ref3))));
226
251
  }
227
252
  function Collapse(props) {
228
- var _ref3 = arguments[0];
253
+ var _ref4 = arguments[0];
229
254
  var selected = props.selected;
230
255
  return /*#__PURE__*/_react["default"].createElement(_animation.Collapse, (0, _core.assignProps)({
231
256
  "visible": selected,
232
257
  "interactive": true
233
- }, _ref3));
258
+ }, _ref4));
234
259
  }
235
260
  var Item = (0, _core["default"])(RootItem, {
236
261
  Toggle: Toggle,
237
262
  Chevron: Chevron,
263
+ ToggleButton: ToggleButton,
238
264
  Collapse: Collapse
239
265
  });
240
266
  var Accordion = (0, _core["default"])(RootAccordion, {
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_animation","_m","_l","_keyboardFocusEnhance","_uniqueID","_useCssVariable","style","_index","sstyled","insert","RootAccordion","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","newValue","value","asProps","isArray","indexOfNewValue","indexOf","result","_toConsumableArray2","push","splice","handlers","_createClass2","key","uncontrolledProps","getItemProps","_ref6","_this$asProps","selectedValue","duration","selected","includes","$handleInteraction","handleToggleInteraction","render","Children","createElement","Component","defaultValue","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","RootItem","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","getToggleProps","_this$asProps2","uid","disabled","onClick","undefined","handleClick","id","role","getCollapseProps","_this$asProps3","getChevronProps","_this$asProps4","size","exports","uniqueIDEnhancement","Toggle","_Component3","_super3","_this3","_len3","_key3","React","createRef","event","toggleRef","current","target","currentTarget","click","preventDefault","_ref","_ref4","_this$asProps5","styles","SItemToggle","Box","cn","_objectSpread2","assignProps","handleKeyDown","keyboardFocusEnhance","Chevron","props","_ref2","arguments[0]","_ref5","SItemChevron","ChevronRightL","ChevronRightM","Collapse","_ref3","CollapseAnimate","Item","createComponent","Accordion","wrapAccordion","wrapper","_default"],"sources":["../../src/Accordion.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Collapse as CollapseAnimate } from '@semcore/animation';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport ChevronRightL from '@semcore/icon/ChevronRight/l';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\n\nimport style from './style/accordion.shadow.css';\n\nclass RootAccordion extends Component {\n static displayName = 'Accordion';\n static style = style;\n static defaultProps = {\n defaultValue: [],\n };\n static enhance = [\n cssVariableEnhance({\n variable: '--intergalactic-duration-accordion',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleToggleInteraction = (newValue) => {\n const { value } = this.asProps;\n\n if (Array.isArray(value)) {\n const indexOfNewValue = value.indexOf(newValue);\n const result = [...value];\n indexOfNewValue === -1 ? result.push(newValue) : result.splice(indexOfNewValue, 1);\n this.handlers.value(result);\n } else {\n this.handlers.value(value === newValue ? null : newValue);\n }\n };\n\n getItemProps({ value }) {\n const { value: selectedValue, duration } = this.asProps;\n const selected = Array.isArray(selectedValue)\n ? selectedValue.includes(value)\n : selectedValue === value;\n return {\n selected,\n duration,\n $handleInteraction: this.handleToggleInteraction,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nexport class RootItem extends Component {\n static displayName = 'Item';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, uid, selected, disabled } = this.asProps;\n return {\n disabled,\n onClick: disabled ? undefined : this.handleClick,\n id: `igc-${uid}-${value}-toggle`,\n role: 'button',\n 'aria-expanded': selected ? 'true' : 'false',\n 'aria-controls': `igc-${uid}-${value}-collapse`,\n };\n }\n\n getCollapseProps() {\n const { selected, uid, duration, value } = this.asProps;\n return {\n selected,\n duration,\n id: `igc-${uid}-${value}-collapse`,\n role: 'region',\n 'aria-labelledby': `igc-${uid}-${value}-toggle`,\n };\n }\n\n getChevronProps() {\n const { selected, size } = this.asProps;\n return {\n selected,\n size,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nclass Toggle extends Component {\n static enhance = [keyboardFocusEnhance()];\n\n toggleRef = React.createRef();\n\n handleKeyDown = (event) => {\n if (event.key === 'Enter') {\n if (this.toggleRef.current === event.target) {\n event.currentTarget.click();\n }\n } else if (event.key === ' ') {\n event.preventDefault();\n if (this.toggleRef.current === event.target) {\n event.currentTarget.click();\n }\n }\n };\n\n render() {\n const { styles, disabled } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(\n <SItemToggle\n ref={this.toggleRef}\n render={Box}\n onKeyDown={this.handleKeyDown}\n aria-disabled={disabled ? 'true' : undefined}\n />,\n );\n }\n}\n\nfunction Chevron(props) {\n const { styles, size } = props;\n\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={size === 'l' ? ChevronRightL : ChevronRightM} />);\n}\n\nfunction Collapse(props) {\n const { selected } = props;\n return <Root render={CollapseAnimate} visible={selected} interactive />;\n}\n\nconst Item = createComponent(RootItem, {\n Toggle,\n Chevron,\n Collapse,\n});\n\nconst Accordion = createComponent(RootAccordion, {\n Item,\n});\n\nexport const wrapAccordion = (wrapper) => wrapper;\n\nexport default Accordion;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_animation","_typography","_m","_l","_keyboardFocusEnhance","_uniqueID","_useCssVariable","style","_index","sstyled","insert","RootAccordion","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","newValue","value","asProps","isArray","indexOfNewValue","indexOf","result","_toConsumableArray2","push","splice","handlers","_createClass2","key","uncontrolledProps","getItemProps","_ref8","_this$asProps","selectedValue","duration","selected","includes","$handleInteraction","handleToggleInteraction","render","Children","createElement","Component","defaultValue","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","RootItem","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","getToggleProps","_this$asProps2","uid","disabled","onClick","undefined","handleClick","id","tag","size","getToggleButtonProps","_this$asProps3","getCollapseProps","_this$asProps4","role","getChevronProps","_this$asProps5","exports","uniqueIDEnhancement","Toggle","_Component3","_super3","_this3","_len3","_key3","React","createRef","event","toggleRef","current","target","currentTarget","click","preventDefault","_ref","_ref5","_this$asProps6","styles","SItemToggle","Text","cn","_objectSpread2","assignProps","handleKeyDown","keyboardFocusEnhance","Chevron","props","_ref2","arguments[0]","_ref6","SItemChevron","ChevronRightL","ChevronRightM","ToggleButton","_ref3","_ref7","SToggleButton","Flex","Collapse","_ref4","CollapseAnimate","Item","createComponent","Accordion","wrapAccordion","wrapper","_default"],"sources":["../../src/Accordion.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Collapse as CollapseAnimate } from '@semcore/animation';\nimport { Text } from '@semcore/typography';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport ChevronRightL from '@semcore/icon/ChevronRight/l';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\n\nimport style from './style/accordion.shadow.css';\n\nclass RootAccordion extends Component {\n static displayName = 'Accordion';\n static style = style;\n static defaultProps = {\n defaultValue: [],\n };\n static enhance = [\n cssVariableEnhance({\n variable: '--intergalactic-duration-accordion',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleToggleInteraction = (newValue) => {\n const { value } = this.asProps;\n\n if (Array.isArray(value)) {\n const indexOfNewValue = value.indexOf(newValue);\n const result = [...value];\n indexOfNewValue === -1 ? result.push(newValue) : result.splice(indexOfNewValue, 1);\n this.handlers.value(result);\n } else {\n this.handlers.value(value === newValue ? null : newValue);\n }\n };\n\n getItemProps({ value }) {\n const { value: selectedValue, duration } = this.asProps;\n const selected = Array.isArray(selectedValue)\n ? selectedValue.includes(value)\n : selectedValue === value;\n return {\n selected,\n duration,\n $handleInteraction: this.handleToggleInteraction,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nexport class RootItem extends Component {\n static displayName = 'Item';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, uid, selected, disabled } = this.asProps;\n return {\n disabled,\n onClick: disabled ? undefined : this.handleClick,\n id: `igc-${uid}-${value}-toggle`,\n tag: 'h3',\n size: 300,\n };\n }\n\n getToggleButtonProps() {\n const { value, uid, selected, disabled } = this.asProps;\n return {\n disabled,\n id: `igc-${uid}-${value}-toggle-button`,\n 'aria-expanded': selected ? 'true' : 'false',\n 'aria-controls': `igc-${uid}-${value}-collapse`,\n };\n }\n\n getCollapseProps() {\n const { selected, uid, duration, value } = this.asProps;\n return {\n selected,\n duration,\n id: `igc-${uid}-${value}-collapse`,\n role: 'region',\n 'aria-labelledby': `igc-${uid}-${value}-toggle-button`,\n };\n }\n\n getChevronProps() {\n const { selected, size } = this.asProps;\n return {\n selected,\n size,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nclass Toggle extends Component {\n static enhance = [keyboardFocusEnhance()];\n\n toggleRef = React.createRef();\n\n handleKeyDown = (event) => {\n if (event.key === 'Enter') {\n if (this.toggleRef.current === event.target) {\n event.currentTarget.click();\n }\n } else if (event.key === ' ') {\n event.preventDefault();\n if (this.toggleRef.current === event.target) {\n event.currentTarget.click();\n }\n }\n };\n\n render() {\n const { styles, disabled } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(\n <SItemToggle\n ref={this.toggleRef}\n render={Text}\n onKeyDown={this.handleKeyDown}\n aria-disabled={disabled ? 'true' : undefined}\n />,\n );\n }\n}\n\nfunction Chevron(props) {\n const { styles, size } = props;\n\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={size === 'l' ? ChevronRightL : ChevronRightM} />);\n}\n\nfunction ToggleButton(props) {\n const { styles, size } = props;\n\n const SToggleButton = Root;\n return sstyled(styles)(<SToggleButton render={Flex} role={'button'} {...props} />);\n}\n\nfunction Collapse(props) {\n const { selected } = props;\n return <Root render={CollapseAnimate} visible={selected} interactive />;\n}\n\nconst Item = createComponent(RootItem, {\n Toggle,\n Chevron,\n ToggleButton,\n Collapse,\n});\n\nconst Accordion = createComponent(RootAccordion, {\n Item,\n});\n\nexport const wrapAccordion = (wrapper) => wrapper;\n\nexport default Accordion;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { BoxProps, FlexProps } from '@semcore/flex-box';\nimport { PropGetterFn, Intergalactic, UnknownProperties } from '@semcore/core';\nimport { CollapseProps } from '@semcore/animation';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport type AccordionValue = null | number | string | Array<number | string | null>;\n\nexport type AccordionProps<T extends AccordionValue = AccordionValue> = FlexProps & {\n /** Value for the active tab. Can be set as stroke, number, null or as array.\n * @type AccordionValue\n * */\n value?: T;\n /**\n * Value of the active tabs selected by default\n * @type AccordionValue\n * @default []\n */\n defaultValue?: T;\n /** Called when the selection is changed\n * @type (value: AccordionValue, event?: React.SyntheticEvent) => void\n * */\n onChange?:\n | ((value: T, event?: React.SyntheticEvent) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Animation duration of each Accordion.Item inside\n * @default 350 */\n duration?: number;\n};\n\nexport interface IAccordionProps<T extends AccordionValue = AccordionValue>\n extends AccordionProps<T> {}\n\n/** @deprecated */\nexport interface IAccordionContext extends AccordionContext, UnknownProperties {}\nexport type AccordionContext = {\n getItemProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface IAccordionHandlers extends AccordionHandlers, UnknownProperties {}\nexport type AccordionHandlers = {\n value: (value: AccordionValue) => void;\n};\n\n/** @deprecated */\nexport interface IAccordionItemProps extends AccordionItemProps, UnknownProperties {}\nexport type AccordionItemProps = {\n /** Tab value */\n value: string | number;\n /** Disabling selection changes */\n disabled?: boolean;\n /** Animation duration\n * @default 350 */\n duration?: number;\n};\n\n/** @deprecated */\nexport interface IAccordionItemContext extends AccordionItemContext, UnknownProperties {}\nexport type AccordionItemContext = {\n getToggleProps?: PropGetterFn;\n getCollapseProps?: PropGetterFn;\n getChevronProps?: PropGetterFn;\n selected?: boolean;\n};\n\nexport type AccordionItemToggleProps = BoxProps & KeyboardFocusProps;\nexport type ChevronItemProps = BoxProps & {\n /**\n * Chevron size\n * @default m\n */\n size?: 'm' | 'l';\n};\n\ntype IntergalacticAccordionComponent<PropsExtending = {}> = (<\n Value extends AccordionValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n AccordionProps<Value>,\n AccordionContext & { value: Value },\n [handlers: AccordionHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', AccordionProps>;\n\ndeclare const Accordion: IntergalacticAccordionComponent & {\n Item: Intergalactic.Component<\n 'div',\n AccordionItemProps,\n AccordionItemContext,\n [handlers: AccordionHandlers]\n > & {\n Toggle: Intergalactic.Component<'div', AccordionItemToggleProps>;\n Chevron: Intergalactic.Component<'div', ChevronItemProps>;\n Collapse: Intergalactic.Component<'div', CollapseProps>;\n };\n};\n\ndeclare const wrapAccordion: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticAccordionComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticAccordionComponent<PropsExtending>;\nexport { wrapAccordion };\n\nexport default Accordion;\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { BoxProps, FlexProps, Flex } from '@semcore/flex-box';\nimport { PropGetterFn, Intergalactic, UnknownProperties } from '@semcore/core';\nimport { CollapseProps } from '@semcore/animation';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { Text } from '@semcore/typography';\n\nexport type AccordionValue = null | number | string | Array<number | string | null>;\n\nexport type AccordionProps<T extends AccordionValue = AccordionValue> = FlexProps & {\n /** Value for the active tab. Can be set as stroke, number, null or as array.\n * @type AccordionValue\n * */\n value?: T;\n /**\n * Value of the active tabs selected by default\n * @type AccordionValue\n * @default []\n */\n defaultValue?: T;\n /** Called when the selection is changed\n * @type (value: AccordionValue, event?: React.SyntheticEvent) => void\n * */\n onChange?:\n | ((value: T, event?: React.SyntheticEvent) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Animation duration of each Accordion.Item inside\n * @default 350 */\n duration?: number;\n};\n\nexport interface IAccordionProps<T extends AccordionValue = AccordionValue>\n extends AccordionProps<T> {}\n\n/** @deprecated */\nexport interface IAccordionContext extends AccordionContext, UnknownProperties {}\nexport type AccordionContext = {\n getItemProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface IAccordionHandlers extends AccordionHandlers, UnknownProperties {}\nexport type AccordionHandlers = {\n value: (value: AccordionValue) => void;\n};\n\n/** @deprecated */\nexport interface IAccordionItemProps extends AccordionItemProps, UnknownProperties {}\nexport type AccordionItemProps = {\n /** Tab value */\n value: string | number;\n /** Disabling selection changes */\n disabled?: boolean;\n /** Animation duration\n * @default 350 */\n duration?: number;\n};\n\n/** @deprecated */\nexport interface IAccordionItemContext extends AccordionItemContext, UnknownProperties {}\nexport type AccordionItemContext = {\n getToggleProps?: PropGetterFn;\n getCollapseProps?: PropGetterFn;\n getChevronProps?: PropGetterFn;\n selected?: boolean;\n};\n\nexport type AccordionItemToggleProps = BoxProps &\n KeyboardFocusProps & {\n tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n };\nexport type ChevronItemProps = BoxProps & {\n /**\n * Chevron size\n * @default m\n */\n size?: 'm' | 'l';\n};\n\ntype IntergalacticAccordionComponent<PropsExtending = {}> = (<\n Value extends AccordionValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n AccordionProps<Value>,\n AccordionContext & { value: Value },\n [handlers: AccordionHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', AccordionProps>;\n\ndeclare const Accordion: IntergalacticAccordionComponent & {\n Item: Intergalactic.Component<\n 'div',\n AccordionItemProps,\n AccordionItemContext,\n [handlers: AccordionHandlers]\n > & {\n Toggle: Intergalactic.Component<typeof Text, AccordionItemToggleProps>;\n ToggleButton: Intergalactic.Component<typeof Flex, {}>;\n Chevron: Intergalactic.Component<'div', ChevronItemProps>;\n Collapse: Intergalactic.Component<'div', CollapseProps>;\n };\n};\n\ndeclare const wrapAccordion: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticAccordionComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticAccordionComponent<PropsExtending>;\nexport { wrapAccordion };\n\nexport default Accordion;\n"],"mappings":""}
@@ -1,4 +1,6 @@
1
1
  SItemToggle {
2
+ display: flex;
3
+ align-items: center;
2
4
  position: relative;
3
5
  cursor: pointer;
4
6
  outline: 0;
@@ -7,26 +7,28 @@ import _inherits from "@babel/runtime/helpers/inherits";
7
7
  import _createSuper from "@babel/runtime/helpers/createSuper";
8
8
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
9
  import { sstyled as _sstyled } from "@semcore/utils/lib/core/index";
10
+ import { assignProps as _assignProps4 } from "@semcore/core";
10
11
  import { assignProps as _assignProps3 } from "@semcore/core";
11
12
  import { assignProps as _assignProps2 } from "@semcore/core";
12
13
  import { assignProps as _assignProps } from "@semcore/core";
13
14
  import React from 'react';
14
15
  import createComponent, { Component, sstyled, Root } from '@semcore/core';
15
- import { Box } from '@semcore/flex-box';
16
+ import { Box, Flex } from '@semcore/flex-box';
16
17
  import { Collapse as CollapseAnimate } from '@semcore/animation';
18
+ import { Text } from '@semcore/typography';
17
19
  import ChevronRightM from '@semcore/icon/ChevronRight/m';
18
20
  import ChevronRightL from '@semcore/icon/ChevronRight/l';
19
21
  import keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
20
22
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
21
23
  import { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';
22
24
  /*__reshadow-styles__:"./style/accordion.shadow.css"*/
23
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SItemToggle_1g0vg_gg_{position:relative;cursor:pointer;outline:0}.___SItemToggle_1g0vg_gg_.__keyboardFocused_1g0vg_gg_:not(._tabIndex_-1_1g0vg_gg_)::after{position:absolute;display:block;content:\"\";top:3px;right:3px;bottom:3px;left:3px;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));pointer-events:none;z-index:3}.___SItemToggle_1g0vg_gg_.__disabled_1g0vg_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default}.___SItemChevron_1g0vg_gg_{transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SItemChevron_1g0vg_gg_.__selected_1g0vg_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_1g0vg_gg_{transition:none}}" /*__inner_css_end__*/, "1g0vg_gg_") /*__reshadow_css_end__*/, {
24
- "__SItemToggle": "___SItemToggle_1g0vg_gg_",
25
- "_keyboardFocused": "__keyboardFocused_1g0vg_gg_",
26
- "_tabIndex_-1": "_tabIndex_-1_1g0vg_gg_",
27
- "_disabled": "__disabled_1g0vg_gg_",
28
- "__SItemChevron": "___SItemChevron_1g0vg_gg_",
29
- "_selected": "__selected_1g0vg_gg_"
25
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SItemToggle_a1g6r_gg_{display:flex;align-items:center;position:relative;cursor:pointer;outline:0}.___SItemToggle_a1g6r_gg_.__keyboardFocused_a1g6r_gg_:not(._tabIndex_-1_a1g6r_gg_)::after{position:absolute;display:block;content:\"\";top:3px;right:3px;bottom:3px;left:3px;box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5));pointer-events:none;z-index:3}.___SItemToggle_a1g6r_gg_.__disabled_a1g6r_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default}.___SItemChevron_a1g6r_gg_{transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral, #6c6e79)}.___SItemChevron_a1g6r_gg_.__selected_a1g6r_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_a1g6r_gg_{transition:none}}" /*__inner_css_end__*/, "a1g6r_gg_") /*__reshadow_css_end__*/, {
26
+ "__SItemToggle": "___SItemToggle_a1g6r_gg_",
27
+ "_keyboardFocused": "__keyboardFocused_a1g6r_gg_",
28
+ "_tabIndex_-1": "_tabIndex_-1_a1g6r_gg_",
29
+ "_disabled": "__disabled_a1g6r_gg_",
30
+ "__SItemChevron": "___SItemChevron_a1g6r_gg_",
31
+ "_selected": "__selected_a1g6r_gg_"
30
32
  });
31
33
  var RootAccordion = /*#__PURE__*/function (_Component) {
32
34
  _inherits(RootAccordion, _Component);
@@ -60,8 +62,8 @@ var RootAccordion = /*#__PURE__*/function (_Component) {
60
62
  }
61
63
  }, {
62
64
  key: "getItemProps",
63
- value: function getItemProps(_ref6) {
64
- var value = _ref6.value;
65
+ value: function getItemProps(_ref8) {
66
+ var value = _ref8.value;
65
67
  var _this$asProps = this.asProps,
66
68
  selectedValue = _this$asProps.value,
67
69
  duration = _this$asProps.duration;
@@ -122,7 +124,21 @@ export var RootItem = /*#__PURE__*/function (_Component2) {
122
124
  disabled: disabled,
123
125
  onClick: disabled ? undefined : this.handleClick,
124
126
  id: "igc-".concat(uid, "-").concat(value, "-toggle"),
125
- role: 'button',
127
+ tag: 'h3',
128
+ size: 300
129
+ };
130
+ }
131
+ }, {
132
+ key: "getToggleButtonProps",
133
+ value: function getToggleButtonProps() {
134
+ var _this$asProps3 = this.asProps,
135
+ value = _this$asProps3.value,
136
+ uid = _this$asProps3.uid,
137
+ selected = _this$asProps3.selected,
138
+ disabled = _this$asProps3.disabled;
139
+ return {
140
+ disabled: disabled,
141
+ id: "igc-".concat(uid, "-").concat(value, "-toggle-button"),
126
142
  'aria-expanded': selected ? 'true' : 'false',
127
143
  'aria-controls': "igc-".concat(uid, "-").concat(value, "-collapse")
128
144
  };
@@ -130,25 +146,25 @@ export var RootItem = /*#__PURE__*/function (_Component2) {
130
146
  }, {
131
147
  key: "getCollapseProps",
132
148
  value: function getCollapseProps() {
133
- var _this$asProps3 = this.asProps,
134
- selected = _this$asProps3.selected,
135
- uid = _this$asProps3.uid,
136
- duration = _this$asProps3.duration,
137
- value = _this$asProps3.value;
149
+ var _this$asProps4 = this.asProps,
150
+ selected = _this$asProps4.selected,
151
+ uid = _this$asProps4.uid,
152
+ duration = _this$asProps4.duration,
153
+ value = _this$asProps4.value;
138
154
  return {
139
155
  selected: selected,
140
156
  duration: duration,
141
157
  id: "igc-".concat(uid, "-").concat(value, "-collapse"),
142
158
  role: 'region',
143
- 'aria-labelledby': "igc-".concat(uid, "-").concat(value, "-toggle")
159
+ 'aria-labelledby': "igc-".concat(uid, "-").concat(value, "-toggle-button")
144
160
  };
145
161
  }
146
162
  }, {
147
163
  key: "getChevronProps",
148
164
  value: function getChevronProps() {
149
- var _this$asProps4 = this.asProps,
150
- selected = _this$asProps4.selected,
151
- size = _this$asProps4.size;
165
+ var _this$asProps5 = this.asProps,
166
+ selected = _this$asProps5.selected,
167
+ size = _this$asProps5.size;
152
168
  return {
153
169
  selected: selected,
154
170
  size: size
@@ -195,12 +211,12 @@ var Toggle = /*#__PURE__*/function (_Component3) {
195
211
  key: "render",
196
212
  value: function render() {
197
213
  var _ref = this.asProps,
198
- _ref4;
199
- var _this$asProps5 = this.asProps,
200
- styles = _this$asProps5.styles,
201
- disabled = _this$asProps5.disabled;
202
- var SItemToggle = Box;
203
- return _ref4 = sstyled(styles), /*#__PURE__*/React.createElement(SItemToggle, _ref4.cn("SItemToggle", _objectSpread({}, _assignProps({
214
+ _ref5;
215
+ var _this$asProps6 = this.asProps,
216
+ styles = _this$asProps6.styles,
217
+ disabled = _this$asProps6.disabled;
218
+ var SItemToggle = Text;
219
+ return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SItemToggle, _ref5.cn("SItemToggle", _objectSpread({}, _assignProps({
204
220
  "ref": this.toggleRef,
205
221
  "onKeyDown": this.handleKeyDown,
206
222
  "aria-disabled": disabled ? 'true' : undefined
@@ -212,23 +228,34 @@ var Toggle = /*#__PURE__*/function (_Component3) {
212
228
  _defineProperty(Toggle, "enhance", [keyboardFocusEnhance()]);
213
229
  function Chevron(props) {
214
230
  var _ref2 = arguments[0],
215
- _ref5;
231
+ _ref6;
216
232
  var styles = props.styles,
217
233
  size = props.size;
218
234
  var SItemChevron = size === 'l' ? ChevronRightL : ChevronRightM;
219
- return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SItemChevron, _ref5.cn("SItemChevron", _objectSpread({}, _assignProps2({}, _ref2))));
235
+ return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SItemChevron, _ref6.cn("SItemChevron", _objectSpread({}, _assignProps2({}, _ref2))));
236
+ }
237
+ function ToggleButton(props) {
238
+ var _ref3 = arguments[0],
239
+ _ref7;
240
+ var styles = props.styles,
241
+ size = props.size;
242
+ var SToggleButton = Flex;
243
+ return _ref7 = sstyled(styles), /*#__PURE__*/React.createElement(SToggleButton, _ref7.cn("SToggleButton", _objectSpread({}, _assignProps3(_objectSpread({
244
+ "role": 'button'
245
+ }, props), _ref3))));
220
246
  }
221
247
  function Collapse(props) {
222
- var _ref3 = arguments[0];
248
+ var _ref4 = arguments[0];
223
249
  var selected = props.selected;
224
- return /*#__PURE__*/React.createElement(CollapseAnimate, _assignProps3({
250
+ return /*#__PURE__*/React.createElement(CollapseAnimate, _assignProps4({
225
251
  "visible": selected,
226
252
  "interactive": true
227
- }, _ref3));
253
+ }, _ref4));
228
254
  }
229
255
  var Item = createComponent(RootItem, {
230
256
  Toggle: Toggle,
231
257
  Chevron: Chevron,
258
+ ToggleButton: ToggleButton,
232
259
  Collapse: Collapse
233
260
  });
234
261
  var Accordion = createComponent(RootAccordion, {
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","names":["React","createComponent","Component","sstyled","Root","Box","Collapse","CollapseAnimate","ChevronRightM","ChevronRightL","keyboardFocusEnhance","uniqueIDEnhancement","cssVariableEnhance","style","_sstyled","insert","RootAccordion","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","newValue","value","asProps","isArray","indexOfNewValue","indexOf","result","_toConsumableArray","push","splice","handlers","_createClass","key","uncontrolledProps","getItemProps","_ref6","_this$asProps","selectedValue","duration","selected","includes","$handleInteraction","handleToggleInteraction","render","Children","createElement","defaultValue","variable","fallback","map","Number","parseInt","prop","RootItem","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","getToggleProps","_this$asProps2","uid","disabled","onClick","undefined","handleClick","id","role","getCollapseProps","_this$asProps3","getChevronProps","_this$asProps4","size","Toggle","_Component3","_super3","_this3","_len3","_key3","createRef","event","toggleRef","current","target","currentTarget","click","preventDefault","_ref","_ref4","_this$asProps5","styles","SItemToggle","cn","_objectSpread","_assignProps","handleKeyDown","Chevron","props","_ref2","arguments[0]","_ref5","SItemChevron","_assignProps2","_ref3","_assignProps3","Item","Accordion","wrapAccordion","wrapper"],"sources":["../../src/Accordion.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Collapse as CollapseAnimate } from '@semcore/animation';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport ChevronRightL from '@semcore/icon/ChevronRight/l';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\n\nimport style from './style/accordion.shadow.css';\n\nclass RootAccordion extends Component {\n static displayName = 'Accordion';\n static style = style;\n static defaultProps = {\n defaultValue: [],\n };\n static enhance = [\n cssVariableEnhance({\n variable: '--intergalactic-duration-accordion',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleToggleInteraction = (newValue) => {\n const { value } = this.asProps;\n\n if (Array.isArray(value)) {\n const indexOfNewValue = value.indexOf(newValue);\n const result = [...value];\n indexOfNewValue === -1 ? result.push(newValue) : result.splice(indexOfNewValue, 1);\n this.handlers.value(result);\n } else {\n this.handlers.value(value === newValue ? null : newValue);\n }\n };\n\n getItemProps({ value }) {\n const { value: selectedValue, duration } = this.asProps;\n const selected = Array.isArray(selectedValue)\n ? selectedValue.includes(value)\n : selectedValue === value;\n return {\n selected,\n duration,\n $handleInteraction: this.handleToggleInteraction,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nexport class RootItem extends Component {\n static displayName = 'Item';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, uid, selected, disabled } = this.asProps;\n return {\n disabled,\n onClick: disabled ? undefined : this.handleClick,\n id: `igc-${uid}-${value}-toggle`,\n role: 'button',\n 'aria-expanded': selected ? 'true' : 'false',\n 'aria-controls': `igc-${uid}-${value}-collapse`,\n };\n }\n\n getCollapseProps() {\n const { selected, uid, duration, value } = this.asProps;\n return {\n selected,\n duration,\n id: `igc-${uid}-${value}-collapse`,\n role: 'region',\n 'aria-labelledby': `igc-${uid}-${value}-toggle`,\n };\n }\n\n getChevronProps() {\n const { selected, size } = this.asProps;\n return {\n selected,\n size,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nclass Toggle extends Component {\n static enhance = [keyboardFocusEnhance()];\n\n toggleRef = React.createRef();\n\n handleKeyDown = (event) => {\n if (event.key === 'Enter') {\n if (this.toggleRef.current === event.target) {\n event.currentTarget.click();\n }\n } else if (event.key === ' ') {\n event.preventDefault();\n if (this.toggleRef.current === event.target) {\n event.currentTarget.click();\n }\n }\n };\n\n render() {\n const { styles, disabled } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(\n <SItemToggle\n ref={this.toggleRef}\n render={Box}\n onKeyDown={this.handleKeyDown}\n aria-disabled={disabled ? 'true' : undefined}\n />,\n );\n }\n}\n\nfunction Chevron(props) {\n const { styles, size } = props;\n\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={size === 'l' ? ChevronRightL : ChevronRightM} />);\n}\n\nfunction Collapse(props) {\n const { selected } = props;\n return <Root render={CollapseAnimate} visible={selected} interactive />;\n}\n\nconst Item = createComponent(RootItem, {\n Toggle,\n Chevron,\n Collapse,\n});\n\nconst Accordion = createComponent(RootAccordion, {\n Item,\n});\n\nexport const wrapAccordion = (wrapper) => wrapper;\n\nexport default Accordion;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","names":["React","createComponent","Component","sstyled","Root","Box","Flex","Collapse","CollapseAnimate","Text","ChevronRightM","ChevronRightL","keyboardFocusEnhance","uniqueIDEnhancement","cssVariableEnhance","style","_sstyled","insert","RootAccordion","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","newValue","value","asProps","isArray","indexOfNewValue","indexOf","result","_toConsumableArray","push","splice","handlers","_createClass","key","uncontrolledProps","getItemProps","_ref8","_this$asProps","selectedValue","duration","selected","includes","$handleInteraction","handleToggleInteraction","render","Children","createElement","defaultValue","variable","fallback","map","Number","parseInt","prop","RootItem","_Component2","_super2","_this2","_len2","_key2","_this2$asProps","getToggleProps","_this$asProps2","uid","disabled","onClick","undefined","handleClick","id","tag","size","getToggleButtonProps","_this$asProps3","getCollapseProps","_this$asProps4","role","getChevronProps","_this$asProps5","Toggle","_Component3","_super3","_this3","_len3","_key3","createRef","event","toggleRef","current","target","currentTarget","click","preventDefault","_ref","_ref5","_this$asProps6","styles","SItemToggle","cn","_objectSpread","_assignProps","handleKeyDown","Chevron","props","_ref2","arguments[0]","_ref6","SItemChevron","_assignProps2","ToggleButton","_ref3","_ref7","SToggleButton","_assignProps3","_ref4","_assignProps4","Item","Accordion","wrapAccordion","wrapper"],"sources":["../../src/Accordion.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport { Collapse as CollapseAnimate } from '@semcore/animation';\nimport { Text } from '@semcore/typography';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport ChevronRightL from '@semcore/icon/ChevronRight/l';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport { cssVariableEnhance } from '@semcore/utils/lib/useCssVariable';\n\nimport style from './style/accordion.shadow.css';\n\nclass RootAccordion extends Component {\n static displayName = 'Accordion';\n static style = style;\n static defaultProps = {\n defaultValue: [],\n };\n static enhance = [\n cssVariableEnhance({\n variable: '--intergalactic-duration-accordion',\n fallback: '200',\n map: Number.parseInt,\n prop: 'duration',\n }),\n ];\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleToggleInteraction = (newValue) => {\n const { value } = this.asProps;\n\n if (Array.isArray(value)) {\n const indexOfNewValue = value.indexOf(newValue);\n const result = [...value];\n indexOfNewValue === -1 ? result.push(newValue) : result.splice(indexOfNewValue, 1);\n this.handlers.value(result);\n } else {\n this.handlers.value(value === newValue ? null : newValue);\n }\n };\n\n getItemProps({ value }) {\n const { value: selectedValue, duration } = this.asProps;\n const selected = Array.isArray(selectedValue)\n ? selectedValue.includes(value)\n : selectedValue === value;\n return {\n selected,\n duration,\n $handleInteraction: this.handleToggleInteraction,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nexport class RootItem extends Component {\n static displayName = 'Item';\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, uid, selected, disabled } = this.asProps;\n return {\n disabled,\n onClick: disabled ? undefined : this.handleClick,\n id: `igc-${uid}-${value}-toggle`,\n tag: 'h3',\n size: 300,\n };\n }\n\n getToggleButtonProps() {\n const { value, uid, selected, disabled } = this.asProps;\n return {\n disabled,\n id: `igc-${uid}-${value}-toggle-button`,\n 'aria-expanded': selected ? 'true' : 'false',\n 'aria-controls': `igc-${uid}-${value}-collapse`,\n };\n }\n\n getCollapseProps() {\n const { selected, uid, duration, value } = this.asProps;\n return {\n selected,\n duration,\n id: `igc-${uid}-${value}-collapse`,\n role: 'region',\n 'aria-labelledby': `igc-${uid}-${value}-toggle-button`,\n };\n }\n\n getChevronProps() {\n const { selected, size } = this.asProps;\n return {\n selected,\n size,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\n\nclass Toggle extends Component {\n static enhance = [keyboardFocusEnhance()];\n\n toggleRef = React.createRef();\n\n handleKeyDown = (event) => {\n if (event.key === 'Enter') {\n if (this.toggleRef.current === event.target) {\n event.currentTarget.click();\n }\n } else if (event.key === ' ') {\n event.preventDefault();\n if (this.toggleRef.current === event.target) {\n event.currentTarget.click();\n }\n }\n };\n\n render() {\n const { styles, disabled } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(\n <SItemToggle\n ref={this.toggleRef}\n render={Text}\n onKeyDown={this.handleKeyDown}\n aria-disabled={disabled ? 'true' : undefined}\n />,\n );\n }\n}\n\nfunction Chevron(props) {\n const { styles, size } = props;\n\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={size === 'l' ? ChevronRightL : ChevronRightM} />);\n}\n\nfunction ToggleButton(props) {\n const { styles, size } = props;\n\n const SToggleButton = Root;\n return sstyled(styles)(<SToggleButton render={Flex} role={'button'} {...props} />);\n}\n\nfunction Collapse(props) {\n const { selected } = props;\n return <Root render={CollapseAnimate} visible={selected} interactive />;\n}\n\nconst Item = createComponent(RootItem, {\n Toggle,\n Chevron,\n ToggleButton,\n Collapse,\n});\n\nconst Accordion = createComponent(RootAccordion, {\n Item,\n});\n\nexport const wrapAccordion = (wrapper) => wrapper;\n\nexport default Accordion;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { BoxProps, FlexProps } from '@semcore/flex-box';\nimport { PropGetterFn, Intergalactic, UnknownProperties } from '@semcore/core';\nimport { CollapseProps } from '@semcore/animation';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\n\nexport type AccordionValue = null | number | string | Array<number | string | null>;\n\nexport type AccordionProps<T extends AccordionValue = AccordionValue> = FlexProps & {\n /** Value for the active tab. Can be set as stroke, number, null or as array.\n * @type AccordionValue\n * */\n value?: T;\n /**\n * Value of the active tabs selected by default\n * @type AccordionValue\n * @default []\n */\n defaultValue?: T;\n /** Called when the selection is changed\n * @type (value: AccordionValue, event?: React.SyntheticEvent) => void\n * */\n onChange?:\n | ((value: T, event?: React.SyntheticEvent) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Animation duration of each Accordion.Item inside\n * @default 350 */\n duration?: number;\n};\n\nexport interface IAccordionProps<T extends AccordionValue = AccordionValue>\n extends AccordionProps<T> {}\n\n/** @deprecated */\nexport interface IAccordionContext extends AccordionContext, UnknownProperties {}\nexport type AccordionContext = {\n getItemProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface IAccordionHandlers extends AccordionHandlers, UnknownProperties {}\nexport type AccordionHandlers = {\n value: (value: AccordionValue) => void;\n};\n\n/** @deprecated */\nexport interface IAccordionItemProps extends AccordionItemProps, UnknownProperties {}\nexport type AccordionItemProps = {\n /** Tab value */\n value: string | number;\n /** Disabling selection changes */\n disabled?: boolean;\n /** Animation duration\n * @default 350 */\n duration?: number;\n};\n\n/** @deprecated */\nexport interface IAccordionItemContext extends AccordionItemContext, UnknownProperties {}\nexport type AccordionItemContext = {\n getToggleProps?: PropGetterFn;\n getCollapseProps?: PropGetterFn;\n getChevronProps?: PropGetterFn;\n selected?: boolean;\n};\n\nexport type AccordionItemToggleProps = BoxProps & KeyboardFocusProps;\nexport type ChevronItemProps = BoxProps & {\n /**\n * Chevron size\n * @default m\n */\n size?: 'm' | 'l';\n};\n\ntype IntergalacticAccordionComponent<PropsExtending = {}> = (<\n Value extends AccordionValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n AccordionProps<Value>,\n AccordionContext & { value: Value },\n [handlers: AccordionHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', AccordionProps>;\n\ndeclare const Accordion: IntergalacticAccordionComponent & {\n Item: Intergalactic.Component<\n 'div',\n AccordionItemProps,\n AccordionItemContext,\n [handlers: AccordionHandlers]\n > & {\n Toggle: Intergalactic.Component<'div', AccordionItemToggleProps>;\n Chevron: Intergalactic.Component<'div', ChevronItemProps>;\n Collapse: Intergalactic.Component<'div', CollapseProps>;\n };\n};\n\ndeclare const wrapAccordion: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticAccordionComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticAccordionComponent<PropsExtending>;\nexport { wrapAccordion };\n\nexport default Accordion;\n"],"mappings":""}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import { BoxProps, FlexProps, Flex } from '@semcore/flex-box';\nimport { PropGetterFn, Intergalactic, UnknownProperties } from '@semcore/core';\nimport { CollapseProps } from '@semcore/animation';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { Text } from '@semcore/typography';\n\nexport type AccordionValue = null | number | string | Array<number | string | null>;\n\nexport type AccordionProps<T extends AccordionValue = AccordionValue> = FlexProps & {\n /** Value for the active tab. Can be set as stroke, number, null or as array.\n * @type AccordionValue\n * */\n value?: T;\n /**\n * Value of the active tabs selected by default\n * @type AccordionValue\n * @default []\n */\n defaultValue?: T;\n /** Called when the selection is changed\n * @type (value: AccordionValue, event?: React.SyntheticEvent) => void\n * */\n onChange?:\n | ((value: T, event?: React.SyntheticEvent) => void)\n | React.Dispatch<React.SetStateAction<T>>;\n /** Animation duration of each Accordion.Item inside\n * @default 350 */\n duration?: number;\n};\n\nexport interface IAccordionProps<T extends AccordionValue = AccordionValue>\n extends AccordionProps<T> {}\n\n/** @deprecated */\nexport interface IAccordionContext extends AccordionContext, UnknownProperties {}\nexport type AccordionContext = {\n getItemProps: PropGetterFn;\n};\n\n/** @deprecated */\nexport interface IAccordionHandlers extends AccordionHandlers, UnknownProperties {}\nexport type AccordionHandlers = {\n value: (value: AccordionValue) => void;\n};\n\n/** @deprecated */\nexport interface IAccordionItemProps extends AccordionItemProps, UnknownProperties {}\nexport type AccordionItemProps = {\n /** Tab value */\n value: string | number;\n /** Disabling selection changes */\n disabled?: boolean;\n /** Animation duration\n * @default 350 */\n duration?: number;\n};\n\n/** @deprecated */\nexport interface IAccordionItemContext extends AccordionItemContext, UnknownProperties {}\nexport type AccordionItemContext = {\n getToggleProps?: PropGetterFn;\n getCollapseProps?: PropGetterFn;\n getChevronProps?: PropGetterFn;\n selected?: boolean;\n};\n\nexport type AccordionItemToggleProps = BoxProps &\n KeyboardFocusProps & {\n tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n };\nexport type ChevronItemProps = BoxProps & {\n /**\n * Chevron size\n * @default m\n */\n size?: 'm' | 'l';\n};\n\ntype IntergalacticAccordionComponent<PropsExtending = {}> = (<\n Value extends AccordionValue,\n Tag extends Intergalactic.Tag = 'div',\n>(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n AccordionProps<Value>,\n AccordionContext & { value: Value },\n [handlers: AccordionHandlers]\n > &\n PropsExtending,\n) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', AccordionProps>;\n\ndeclare const Accordion: IntergalacticAccordionComponent & {\n Item: Intergalactic.Component<\n 'div',\n AccordionItemProps,\n AccordionItemContext,\n [handlers: AccordionHandlers]\n > & {\n Toggle: Intergalactic.Component<typeof Text, AccordionItemToggleProps>;\n ToggleButton: Intergalactic.Component<typeof Flex, {}>;\n Chevron: Intergalactic.Component<'div', ChevronItemProps>;\n Collapse: Intergalactic.Component<'div', CollapseProps>;\n };\n};\n\ndeclare const wrapAccordion: <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<IntergalacticAccordionComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => IntergalacticAccordionComponent<PropsExtending>;\nexport { wrapAccordion };\n\nexport default Accordion;\n"],"mappings":""}
@@ -1,4 +1,6 @@
1
1
  SItemToggle {
2
+ display: flex;
3
+ align-items: center;
2
4
  position: relative;
3
5
  cursor: pointer;
4
6
  outline: 0;
@@ -1,7 +1,8 @@
1
- import { BoxProps, FlexProps } from '@semcore/flex-box';
1
+ import { BoxProps, FlexProps, Flex } from '@semcore/flex-box';
2
2
  import { PropGetterFn, Intergalactic, UnknownProperties } from '@semcore/core';
3
3
  import { CollapseProps } from '@semcore/animation';
4
4
  import { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';
5
+ import { Text } from '@semcore/typography';
5
6
 
6
7
  export type AccordionValue = null | number | string | Array<number | string | null>;
7
8
 
@@ -63,7 +64,10 @@ export type AccordionItemContext = {
63
64
  selected?: boolean;
64
65
  };
65
66
 
66
- export type AccordionItemToggleProps = BoxProps & KeyboardFocusProps;
67
+ export type AccordionItemToggleProps = BoxProps &
68
+ KeyboardFocusProps & {
69
+ tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
70
+ };
67
71
  export type ChevronItemProps = BoxProps & {
68
72
  /**
69
73
  * Chevron size
@@ -94,7 +98,8 @@ declare const Accordion: IntergalacticAccordionComponent & {
94
98
  AccordionItemContext,
95
99
  [handlers: AccordionHandlers]
96
100
  > & {
97
- Toggle: Intergalactic.Component<'div', AccordionItemToggleProps>;
101
+ Toggle: Intergalactic.Component<typeof Text, AccordionItemToggleProps>;
102
+ ToggleButton: Intergalactic.Component<typeof Flex, {}>;
98
103
  Chevron: Intergalactic.Component<'div', ChevronItemProps>;
99
104
  Collapse: Intergalactic.Component<'div', CollapseProps>;
100
105
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/accordion",
3
3
  "description": "Semrush Accordion Component",
4
- "version": "5.36.0",
4
+ "version": "5.36.1",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -11,9 +11,10 @@
11
11
  "dependencies": {
12
12
  "@semcore/animation": "2.29.0",
13
13
  "@semcore/flex-box": "5.29.0",
14
- "@semcore/icon": "4.39.1",
14
+ "@semcore/icon": "4.41.0",
15
15
  "@semcore/utils": "4.30.0",
16
- "@semcore/button": "5.31.0"
16
+ "@semcore/button": "5.31.1",
17
+ "@semcore/typography": "5.38.0"
17
18
  },
18
19
  "peerDependencies": {
19
20
  "@semcore/core": "^2.17.5",