@semcore/accordion 3.4.1 → 3.5.2

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,24 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [3.5.2] - 2022-03-14
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/utils` [3.31.2 ~> 3.31.2]).
10
+
11
+ ## [3.5.1] - 2022-03-05
12
+
13
+ ### Changed
14
+
15
+ - Version patch update due to children dependencies update (`@semcore/animation` [1.4.0 ~> 1.4.1]).
16
+
17
+ ## [3.5.0] - 2021-03-04
18
+
19
+ ### Added
20
+
21
+ - Disabled animation if reduce motion is preferred.
22
+
5
23
  ## [3.4.1] - 2022-02-24
6
24
 
7
25
  ### Added
@@ -54,16 +54,16 @@ var style = (
54
54
  /*__reshadow_css_start__*/
55
55
  _core.sstyled.insert(
56
56
  /*__inner_css_start__*/
57
- ".___SItemToggle_1e5om_gg_{cursor:pointer;outline:0}.___SItemToggle_1e5om_gg_.__keyboardFocused_1e5om_gg_{box-shadow:0 0 0 3px rgba(43, 148, 225, 0.3)}.___SItemToggle_1e5om_gg_.__disabled_1e5om_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SItemChevron_1e5om_gg_{transform:rotate(0deg);transition:transform .25s ease-out}.___SItemChevron_1e5om_gg_.__selected_1e5om_gg_{transform:rotate(90deg)}"
57
+ ".___SItemToggle_1qep4_gg_{cursor:pointer;outline:0}.___SItemToggle_1qep4_gg_.__keyboardFocused_1qep4_gg_{box-shadow:0 0 0 3px rgba(43, 148, 225, 0.3)}.___SItemToggle_1qep4_gg_.__disabled_1qep4_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SItemChevron_1qep4_gg_{transform:rotate(0deg);transition:transform .25s ease-out}.___SItemChevron_1qep4_gg_.__selected_1qep4_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_1qep4_gg_{transition:none}}"
58
58
  /*__inner_css_end__*/
59
- , "rn2j0n_gg_")
59
+ , "89y8ic_gg_")
60
60
  /*__reshadow_css_end__*/
61
61
  , {
62
- "__SItemToggle": "___SItemToggle_1e5om_gg_",
63
- "_keyboardFocused": "__keyboardFocused_1e5om_gg_",
64
- "_disabled": "__disabled_1e5om_gg_",
65
- "__SItemChevron": "___SItemChevron_1e5om_gg_",
66
- "_selected": "__selected_1e5om_gg_"
62
+ "__SItemToggle": "___SItemToggle_1qep4_gg_",
63
+ "_keyboardFocused": "__keyboardFocused_1qep4_gg_",
64
+ "_disabled": "__disabled_1qep4_gg_",
65
+ "__SItemChevron": "___SItemChevron_1qep4_gg_",
66
+ "_selected": "__selected_1qep4_gg_"
67
67
  });
68
68
 
69
69
  var RootAccordion = /*#__PURE__*/function (_Component) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Accordion.js"],"names":["RootAccordion","newValue","value","asProps","Array","isArray","indexOfNewValue","indexOf","result","push","splice","handlers","selectedValue","duration","selected","includes","$handleInteraction","handleToggleInteraction","Children","Component","style","defaultValue","RootItem","disabled","onClick","handleClick","id","role","Toggle","e","key","preventDefault","currentTarget","click","styles","SItemToggle","Box","handleKeyDown","Chevron","props","SItemChevron","ChevronRight","Collapse","CollapseAnimate","Item","Accordion"],"mappings":"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","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 ChevronRight from '@semcore/icon/ChevronRight/m';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\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 duration: 350,\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\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, selected, disabled } = this.asProps;\n return {\n disabled,\n onClick: this.handleClick,\n id: `trigger-${value}`,\n role: 'button',\n 'aria-expanded': selected,\n 'aria-controls': `content-${value}`,\n };\n }\n\n getCollapseProps() {\n const { selected, duration, value } = this.asProps;\n return {\n selected,\n duration,\n id: `content-${value}`,\n role: 'region',\n 'aria-labelledby': `trigger-${value}`,\n };\n }\n\n getChevronProps() {\n const { selected } = this.asProps;\n return {\n selected,\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 handleKeyDown(e) {\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n e.currentTarget.click();\n }\n }\n\n render() {\n const { styles } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(<SItemToggle render={Box} onKeyDown={this.handleKeyDown} />);\n }\n}\n\nfunction Chevron(props) {\n const { styles } = props;\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={ChevronRight} />);\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 default Accordion;\n"],"file":"Accordion.js"}
1
+ {"version":3,"sources":["../../src/Accordion.jsx"],"names":["RootAccordion","newValue","value","asProps","Array","isArray","indexOfNewValue","indexOf","result","push","splice","handlers","selectedValue","duration","selected","includes","$handleInteraction","handleToggleInteraction","Children","Component","style","defaultValue","RootItem","disabled","onClick","handleClick","id","role","Toggle","e","key","preventDefault","currentTarget","click","styles","SItemToggle","Box","handleKeyDown","Chevron","props","SItemChevron","ChevronRight","Collapse","CollapseAnimate","Item","Accordion"],"mappings":"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","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 ChevronRight from '@semcore/icon/ChevronRight/m';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\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 duration: 350,\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\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, selected, disabled } = this.asProps;\n return {\n disabled,\n onClick: this.handleClick,\n id: `trigger-${value}`,\n role: 'button',\n 'aria-expanded': selected,\n 'aria-controls': `content-${value}`,\n };\n }\n\n getCollapseProps() {\n const { selected, duration, value } = this.asProps;\n return {\n selected,\n duration,\n id: `content-${value}`,\n role: 'region',\n 'aria-labelledby': `trigger-${value}`,\n };\n }\n\n getChevronProps() {\n const { selected } = this.asProps;\n return {\n selected,\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 handleKeyDown(e) {\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n e.currentTarget.click();\n }\n }\n\n render() {\n const { styles } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(<SItemToggle render={Box} onKeyDown={this.handleKeyDown} />);\n }\n}\n\nfunction Chevron(props) {\n const { styles } = props;\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={ChevronRight} />);\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 default Accordion;\n"],"file":"Accordion.js"}
@@ -23,3 +23,9 @@ SItemChevron {
23
23
  transform: rotate(90deg);
24
24
  }
25
25
  }
26
+
27
+ @media (prefers-reduced-motion) {
28
+ SItemChevron {
29
+ transition: none;
30
+ }
31
+ }
@@ -31,16 +31,16 @@ var style = (
31
31
  /*__reshadow_css_start__*/
32
32
  _sstyled.insert(
33
33
  /*__inner_css_start__*/
34
- ".___SItemToggle_1e5om_gg_{cursor:pointer;outline:0}.___SItemToggle_1e5om_gg_.__keyboardFocused_1e5om_gg_{box-shadow:0 0 0 3px rgba(43, 148, 225, 0.3)}.___SItemToggle_1e5om_gg_.__disabled_1e5om_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SItemChevron_1e5om_gg_{transform:rotate(0deg);transition:transform .25s ease-out}.___SItemChevron_1e5om_gg_.__selected_1e5om_gg_{transform:rotate(90deg)}"
34
+ ".___SItemToggle_1qep4_gg_{cursor:pointer;outline:0}.___SItemToggle_1qep4_gg_.__keyboardFocused_1qep4_gg_{box-shadow:0 0 0 3px rgba(43, 148, 225, 0.3)}.___SItemToggle_1qep4_gg_.__disabled_1qep4_gg_{opacity:0.3;cursor:default;pointer-events:none}.___SItemChevron_1qep4_gg_{transform:rotate(0deg);transition:transform .25s ease-out}.___SItemChevron_1qep4_gg_.__selected_1qep4_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_1qep4_gg_{transition:none}}"
35
35
  /*__inner_css_end__*/
36
- , "rn2j0n_gg_")
36
+ , "89y8ic_gg_")
37
37
  /*__reshadow_css_end__*/
38
38
  , {
39
- "__SItemToggle": "___SItemToggle_1e5om_gg_",
40
- "_keyboardFocused": "__keyboardFocused_1e5om_gg_",
41
- "_disabled": "__disabled_1e5om_gg_",
42
- "__SItemChevron": "___SItemChevron_1e5om_gg_",
43
- "_selected": "__selected_1e5om_gg_"
39
+ "__SItemToggle": "___SItemToggle_1qep4_gg_",
40
+ "_keyboardFocused": "__keyboardFocused_1qep4_gg_",
41
+ "_disabled": "__disabled_1qep4_gg_",
42
+ "__SItemChevron": "___SItemChevron_1qep4_gg_",
43
+ "_selected": "__selected_1qep4_gg_"
44
44
  });
45
45
 
46
46
  var RootAccordion = /*#__PURE__*/function (_Component) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Accordion.js"],"names":["React","createComponent","Component","sstyled","Root","Box","Collapse","CollapseAnimate","ChevronRight","keyboardFocusEnhance","RootAccordion","newValue","value","asProps","Array","isArray","indexOfNewValue","indexOf","result","push","splice","handlers","selectedValue","duration","selected","includes","$handleInteraction","handleToggleInteraction","Children","style","defaultValue","RootItem","disabled","onClick","handleClick","id","role","Toggle","e","key","preventDefault","currentTarget","click","styles","SItemToggle","handleKeyDown","Chevron","props","SItemChevron","Item","Accordion"],"mappings":"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","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 ChevronRight from '@semcore/icon/ChevronRight/m';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\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 duration: 350,\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\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, selected, disabled } = this.asProps;\n return {\n disabled,\n onClick: this.handleClick,\n id: `trigger-${value}`,\n role: 'button',\n 'aria-expanded': selected,\n 'aria-controls': `content-${value}`,\n };\n }\n\n getCollapseProps() {\n const { selected, duration, value } = this.asProps;\n return {\n selected,\n duration,\n id: `content-${value}`,\n role: 'region',\n 'aria-labelledby': `trigger-${value}`,\n };\n }\n\n getChevronProps() {\n const { selected } = this.asProps;\n return {\n selected,\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 handleKeyDown(e) {\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n e.currentTarget.click();\n }\n }\n\n render() {\n const { styles } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(<SItemToggle render={Box} onKeyDown={this.handleKeyDown} />);\n }\n}\n\nfunction Chevron(props) {\n const { styles } = props;\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={ChevronRight} />);\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 default Accordion;\n"],"file":"Accordion.js"}
1
+ {"version":3,"sources":["../../src/Accordion.jsx"],"names":["React","createComponent","Component","sstyled","Root","Box","Collapse","CollapseAnimate","ChevronRight","keyboardFocusEnhance","RootAccordion","newValue","value","asProps","Array","isArray","indexOfNewValue","indexOf","result","push","splice","handlers","selectedValue","duration","selected","includes","$handleInteraction","handleToggleInteraction","Children","style","defaultValue","RootItem","disabled","onClick","handleClick","id","role","Toggle","e","key","preventDefault","currentTarget","click","styles","SItemToggle","handleKeyDown","Chevron","props","SItemChevron","Item","Accordion"],"mappings":"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","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 ChevronRight from '@semcore/icon/ChevronRight/m';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\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 duration: 350,\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\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, selected, disabled } = this.asProps;\n return {\n disabled,\n onClick: this.handleClick,\n id: `trigger-${value}`,\n role: 'button',\n 'aria-expanded': selected,\n 'aria-controls': `content-${value}`,\n };\n }\n\n getCollapseProps() {\n const { selected, duration, value } = this.asProps;\n return {\n selected,\n duration,\n id: `content-${value}`,\n role: 'region',\n 'aria-labelledby': `trigger-${value}`,\n };\n }\n\n getChevronProps() {\n const { selected } = this.asProps;\n return {\n selected,\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 handleKeyDown(e) {\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n e.currentTarget.click();\n }\n }\n\n render() {\n const { styles } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(<SItemToggle render={Box} onKeyDown={this.handleKeyDown} />);\n }\n}\n\nfunction Chevron(props) {\n const { styles } = props;\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={ChevronRight} />);\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 default Accordion;\n"],"file":"Accordion.js"}
@@ -23,3 +23,9 @@ SItemChevron {
23
23
  transform: rotate(90deg);
24
24
  }
25
25
  }
26
+
27
+ @media (prefers-reduced-motion) {
28
+ SItemChevron {
29
+ transition: none;
30
+ }
31
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/accordion",
3
3
  "description": "SEMRush Accordion Component",
4
- "version": "3.4.1",
4
+ "version": "3.5.2",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
File without changes
@@ -23,3 +23,9 @@ SItemChevron {
23
23
  transform: rotate(90deg);
24
24
  }
25
25
  }
26
+
27
+ @media (prefers-reduced-motion) {
28
+ SItemChevron {
29
+ transition: none;
30
+ }
31
+ }