@semcore/accordion 17.1.0 → 17.2.0-prerelease.3

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,12 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [17.2.0] - 2026-06-05
6
+
7
+ ### Added
8
+
9
+ - Links to the API and examples in the docs.
10
+
5
11
  ## [17.1.0] - 2026-05-13
6
12
 
7
13
  ### Added
@@ -15,15 +15,15 @@ var _m = _interopRequireDefault(require("@semcore/icon/ChevronRight/m"));
15
15
  var _typography = require("@semcore/typography");
16
16
  var _react = _interopRequireDefault(require("react"));
17
17
  /*!__reshadow-styles__:"./style/accordion.shadow.css"*/
18
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SItemToggle_3rnb6_gg_{display:flex;align-items:center;position:relative;cursor:pointer;outline:0}.___SItemToggle_3rnb6_gg_.__use_3rnb6_gg_.__use_3rnb6_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899));font-weight:var(--intergalactic-regular, 400)}.___SItemToggle_3rnb6_gg_.__use_3rnb6_gg_._use_primary_3rnb6_gg_{background-color:var(--intergalactic-bg-secondary-neutral, rgb(248, 249, 248));padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);margin-bottom:var(--intergalactic-spacing-05x, 2px)}@media (hover:hover){.___SItemToggle_3rnb6_gg_.__use_3rnb6_gg_._use_primary_3rnb6_gg_:hover{background-color:var(--intergalactic-bg-secondary-neutral-hover, rgb(241, 242, 242))}}.___SItemToggle_3rnb6_gg_.__disabled_3rnb6_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default}.___SItemChevron_3rnb6_gg_{margin-right:var(--intergalactic-spacing-2x, 8px);transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral, rgba(0, 4, 1, 0.526))}.___SItemChevron_3rnb6_gg_.__selected_3rnb6_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_3rnb6_gg_{transition:none}}", /*__inner_css_end__*/"3rnb6_gg_"),
18
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SItemToggle_1licl_gg_{display:flex;align-items:center;position:relative;cursor:pointer;outline:0}.___SItemToggle_1licl_gg_.__use_1licl_gg_.__use_1licl_gg_{color:var(--intergalactic-text-primary,#010500e5);font-weight:var(--intergalactic-regular,400)}.___SItemToggle_1licl_gg_.__use_1licl_gg_._use_primary_1licl_gg_{background-color:var(--intergalactic-bg-secondary-neutral,#f8f9f8);padding:var(--intergalactic-spacing-2x,8px) var(--intergalactic-spacing-3x,12px);margin-bottom:var(--intergalactic-spacing-05x,2px)}@media (hover:hover){.___SItemToggle_1licl_gg_.__use_1licl_gg_._use_primary_1licl_gg_:hover{background-color:var(--intergalactic-bg-secondary-neutral-hover,#f1f2f2)}}.___SItemToggle_1licl_gg_.__disabled_1licl_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default}.___SItemChevron_1licl_gg_{margin-right:var(--intergalactic-spacing-2x,8px);transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral,#00040186)}.___SItemChevron_1licl_gg_.__selected_1licl_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_1licl_gg_{transition:none}}", /*__inner_css_end__*/"1licl_gg_"),
19
19
  /*__reshadow_css_end__*/
20
20
  {
21
- "__SItemToggle": "___SItemToggle_3rnb6_gg_",
22
- "_use": "__use_3rnb6_gg_",
23
- "_use_primary": "_use_primary_3rnb6_gg_",
24
- "_disabled": "__disabled_3rnb6_gg_",
25
- "__SItemChevron": "___SItemChevron_3rnb6_gg_",
26
- "_selected": "__selected_3rnb6_gg_"
21
+ "__SItemToggle": "___SItemToggle_1licl_gg_",
22
+ "_use": "__use_1licl_gg_",
23
+ "_use_primary": "_use_primary_1licl_gg_",
24
+ "_disabled": "__disabled_1licl_gg_",
25
+ "__SItemChevron": "___SItemChevron_1licl_gg_",
26
+ "_selected": "__selected_1licl_gg_"
27
27
  });
28
28
  class RootAccordion extends _core.Component {
29
29
  constructor(...args) {
@@ -238,6 +238,12 @@ const Item = (0, _core.createComponent)(RootItem, {
238
238
  ToggleButton,
239
239
  Collapse
240
240
  });
241
+
242
+ /**
243
+ * Accordion
244
+ *
245
+ * {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-api/|API} | {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-code/|Examples}
246
+ */
241
247
  const Accordion = (0, _core.createComponent)(RootAccordion, {
242
248
  Item
243
249
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","names":["_core","require","_baseComponents","_uniqueID","_interopRequireDefault","_useCssVariable","_l","_m","_typography","_react","style","sstyled","insert","RootAccordion","Component","constructor","args","_defineProperty2","default","newValue","value","asProps","Array","isArray","indexOfNewValue","indexOf","result","push","splice","handlers","uncontrolledProps","getItemProps","selectedValue","duration","use","selected","includes","$handleInteraction","handleToggleInteraction","render","Children","createElement","defaultValue","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","RootItem","getToggleProps","uid","disabled","onClick","undefined","handleClick","id","tag","size","tabIndex","getToggleButtonProps","getCollapseProps","getChevronProps","exports","uniqueIDEnhancement","Toggle","React","createRef","event","key","toggleRef","current","target","currentTarget","click","preventDefault","_ref","_ref5","styles","SItemToggle","Text","cn","assignProps","handleKeyDown","Chevron","props","_ref2","arguments[0]","_ref6","SItemChevron","ChevronRightL","ChevronRightM","ToggleButton","_ref3","_ref7","Flex","Collapse","_ref4","visible","CollapseAnimate","Item","createComponent","Accordion","wrapAccordion","wrapper","_default"],"sources":["../../src/Accordion.tsx"],"sourcesContent":["import { Collapse as CollapseAnimate, Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { cssVariableEnhance } from '@semcore/core/lib/utils/useCssVariable';\nimport ChevronRightL from '@semcore/icon/ChevronRight/l';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSAccordion } from './Accordion.type';\nimport style from './style/accordion.shadow.css';\n\nclass RootAccordion extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSAccordion.Component>,\n typeof RootAccordion.enhance,\n NSAccordion.Handlers\n> {\n static displayName = 'Accordion';\n static style = style;\n static defaultProps = {\n defaultValue: [],\n use: 'secondary',\n };\n\n static enhance = [\n cssVariableEnhance({\n variable: '--intergalactic-duration-accordion',\n fallback: '200',\n map: (value: string) => `${Number.parseInt(value)}`,\n prop: 'duration',\n }),\n ] as const;\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleToggleInteraction = (newValue: NSAccordion.Item.Props['value']) => {\n const { value } = this.asProps;\n\n if (Array.isArray(value)) {\n const indexOfNewValue = value.indexOf(newValue);\n const result = [...value];\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\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 }: NSAccordion.Item.Props) {\n const { value: selectedValue, duration, use } = this.asProps;\n const selected = Array.isArray(selectedValue)\n ? selectedValue.includes(value)\n : selectedValue === value;\n\n return {\n selected,\n duration,\n use,\n $handleInteraction: this.handleToggleInteraction,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\nexport class RootItem extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSAccordion.Item.Component, typeof RootAccordion, 'Item'>,\n typeof RootItem.enhance\n> {\n static displayName = 'Item';\n static style = style;\n static enhance = [uniqueIDEnhancement()] as const;\n\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, uid, disabled, use } = this.asProps;\n return {\n use,\n disabled,\n onClick: disabled ? undefined : this.handleClick,\n id: `igc-${uid}-${value}-toggle`,\n tag: 'h3',\n size: 300,\n tabIndex: disabled ? -1 : 0,\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': selected ? `igc-${uid}-${value}-collapse` : undefined,\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 Intergalactic.InternalTypings.InferChildComponentProps<NSAccordion.Item.Toggle.Component, typeof RootItem, 'Toggle'>\n> {\n toggleRef = React.createRef();\n\n handleKeyDown = (event: React.KeyboardEvent<HTMLSpanElement>) => {\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, use } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(\n <SItemToggle use={use} ref={this.toggleRef} render={Text} innerOutline onKeyDown={this.handleKeyDown} />,\n );\n }\n}\n\nfunction Chevron(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.Chevron.Component,\n typeof RootItem,\n 'Chevron'\n >,\n) {\n const { styles, size } = props;\n\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={size === 'l' ? ChevronRightL : ChevronRightM} />);\n}\n\nfunction ToggleButton(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.ToggleButton.Component,\n typeof RootItem,\n 'ToggleButton'\n >,\n) {\n const { styles } = props;\n\n return sstyled(styles)(\n <Root render={Flex} alignItems='center' role='button' />,\n );\n}\n\nfunction Collapse(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.Collapse.Component,\n typeof RootItem,\n 'Collapse'\n >,\n) {\n const { selected } = props;\n const visible = selected;\n\n return (\n <Root\n render={CollapseAnimate}\n visible={visible}\n interactive\n inert={!visible ? '' : undefined}\n aria-hidden={!visible}\n />\n );\n}\n\nconst Item = createComponent(RootItem, {\n Toggle,\n Chevron,\n ToggleButton,\n Collapse,\n}) as NSAccordion.Item.Component;\n\nconst Accordion = createComponent(RootAccordion, {\n Item,\n}) as unknown as NSAccordion.Component;\n\nexport const wrapAccordion = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSAccordion.WrapComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => wrapper as NSAccordion.WrapComponent<PropsExtending>;\n\nexport default Accordion;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Accordion.js","names":["_core","require","_baseComponents","_uniqueID","_interopRequireDefault","_useCssVariable","_l","_m","_typography","_react","style","sstyled","insert","RootAccordion","Component","constructor","args","_defineProperty2","default","newValue","value","asProps","Array","isArray","indexOfNewValue","indexOf","result","push","splice","handlers","uncontrolledProps","getItemProps","selectedValue","duration","use","selected","includes","$handleInteraction","handleToggleInteraction","render","Children","createElement","defaultValue","cssVariableEnhance","variable","fallback","map","Number","parseInt","prop","RootItem","getToggleProps","uid","disabled","onClick","undefined","handleClick","id","tag","size","tabIndex","getToggleButtonProps","getCollapseProps","getChevronProps","exports","uniqueIDEnhancement","Toggle","React","createRef","event","key","toggleRef","current","target","currentTarget","click","preventDefault","_ref","_ref5","styles","SItemToggle","Text","cn","assignProps","handleKeyDown","Chevron","props","_ref2","arguments[0]","_ref6","SItemChevron","ChevronRightL","ChevronRightM","ToggleButton","_ref3","_ref7","Flex","Collapse","_ref4","visible","CollapseAnimate","Item","createComponent","Accordion","wrapAccordion","wrapper","_default"],"sources":["../../src/Accordion.tsx"],"sourcesContent":["import { Collapse as CollapseAnimate, Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { cssVariableEnhance } from '@semcore/core/lib/utils/useCssVariable';\nimport ChevronRightL from '@semcore/icon/ChevronRight/l';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSAccordion } from './Accordion.type';\nimport style from './style/accordion.shadow.css';\n\nclass RootAccordion extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSAccordion.Component>,\n typeof RootAccordion.enhance,\n NSAccordion.Handlers,\n {},\n {},\n NSAccordion.DefaultProps\n> {\n static displayName = 'Accordion';\n static style = style;\n static defaultProps = {\n defaultValue: [],\n use: 'secondary' as const,\n };\n\n static enhance = [\n cssVariableEnhance({\n variable: '--intergalactic-duration-accordion',\n fallback: '200',\n map: (value: string) => `${Number.parseInt(value)}`,\n prop: 'duration',\n }),\n ] as const;\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleToggleInteraction = (newValue: NSAccordion.Item.Props['value']) => {\n const { value } = this.asProps;\n\n if (Array.isArray(value)) {\n const indexOfNewValue = value.indexOf(newValue);\n const result = [...value];\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\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 }: NSAccordion.Item.Props) {\n const { value: selectedValue, duration, use } = this.asProps;\n const selected = Array.isArray(selectedValue)\n ? selectedValue.includes(value)\n : selectedValue === value;\n\n return {\n selected,\n duration,\n use,\n $handleInteraction: this.handleToggleInteraction,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\nexport class RootItem extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSAccordion.Item.Component, typeof RootAccordion, 'Item'>,\n typeof RootItem.enhance\n> {\n static displayName = 'Item';\n static style = style;\n static enhance = [uniqueIDEnhancement()] as const;\n\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, uid, disabled, use } = this.asProps;\n return {\n use,\n disabled,\n onClick: disabled ? undefined : this.handleClick,\n id: `igc-${uid}-${value}-toggle`,\n tag: 'h3',\n size: 300,\n tabIndex: disabled ? -1 : 0,\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': selected ? `igc-${uid}-${value}-collapse` : undefined,\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 Intergalactic.InternalTypings.InferChildComponentProps<NSAccordion.Item.Toggle.Component, typeof RootItem, 'Toggle'>\n> {\n toggleRef = React.createRef();\n\n handleKeyDown = (event: React.KeyboardEvent<HTMLSpanElement>) => {\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, use } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(\n <SItemToggle use={use} ref={this.toggleRef} render={Text} innerOutline onKeyDown={this.handleKeyDown} />,\n );\n }\n}\n\nfunction Chevron(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.Chevron.Component,\n typeof RootItem,\n 'Chevron'\n >,\n) {\n const { styles, size } = props;\n\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={size === 'l' ? ChevronRightL : ChevronRightM} />);\n}\n\nfunction ToggleButton(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.ToggleButton.Component,\n typeof RootItem,\n 'ToggleButton'\n >,\n) {\n const { styles } = props;\n\n return sstyled(styles)(\n <Root render={Flex} alignItems='center' role='button' />,\n );\n}\n\nfunction Collapse(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.Collapse.Component,\n typeof RootItem,\n 'Collapse'\n >,\n) {\n const { selected } = props;\n const visible = selected;\n\n return (\n <Root\n render={CollapseAnimate}\n visible={visible}\n interactive\n inert={!visible ? '' : undefined}\n aria-hidden={!visible}\n />\n );\n}\n\nconst Item = createComponent<\n NSAccordion.Item.Component,\n typeof RootItem\n>(RootItem, {\n Toggle,\n Chevron,\n ToggleButton,\n Collapse,\n});\n\n/**\n * Accordion\n *\n * {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-api/|API} | {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-code/|Examples}\n */\nconst Accordion = createComponent<\n NSAccordion.Component,\n typeof RootAccordion\n>(RootAccordion, {\n Item,\n});\n\nexport const wrapAccordion = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSAccordion.WrapComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => wrapper as NSAccordion.WrapComponent<PropsExtending>;\n\nexport default Accordion;\n"],"mappings":";;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAFA,IAAAC,eAAA,GAAAD,OAAA;AAGA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,EAAA,GAAAF,sBAAA,CAAAH,OAAA;AACA,IAAAM,EAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAL,sBAAA,CAAAH,OAAA;AAA0B;AAAA,MAAAS,KAAA,8BAAAV,KAAA,CAAAW,OAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAK1B,MAAMC,aAAa,SAASC,eAAS,CAOnC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,mCAuB2BC,QAAyC,IAAK;MACvE,MAAM;QAAEC;MAAM,CAAC,GAAG,IAAI,CAACC,OAAO;MAE9B,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;QACxB,MAAMI,eAAe,GAAGJ,KAAK,CAACK,OAAO,CAACN,QAAQ,CAAC;QAC/C,MAAMO,MAAM,GAAG,CAAC,GAAGN,KAAK,CAAC;QACzB;QACAI,eAAe,KAAK,CAAC,CAAC,GAAGE,MAAM,CAACC,IAAI,CAACR,QAAQ,CAAC,GAAGO,MAAM,CAACE,MAAM,CAACJ,eAAe,EAAE,CAAC,CAAC;QAClF,IAAI,CAACK,QAAQ,CAACT,KAAK,CAACM,MAAM,CAAC;MAC7B,CAAC,MAAM;QACL,IAAI,CAACG,QAAQ,CAACT,KAAK,CAACA,KAAK,KAAKD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MAC3D;IACF,CAAC;EAAA;EAlBDW,iBAAiBA,CAAA,EAAG;IAClB,OAAO;MACLV,KAAK,EAAE;IACT,CAAC;EACH;EAgBAW,YAAYA,CAAC;IAAEX;EAA8B,CAAC,EAAE;IAC9C,MAAM;MAAEA,KAAK,EAAEY,aAAa;MAAEC,QAAQ;MAAEC;IAAI,CAAC,GAAG,IAAI,CAACb,OAAO;IAC5D,MAAMc,QAAQ,GAAGb,KAAK,CAACC,OAAO,CAACS,aAAa,CAAC,GACzCA,aAAa,CAACI,QAAQ,CAAChB,KAAK,CAAC,GAC7BY,aAAa,KAAKZ,KAAK;IAE3B,OAAO;MACLe,QAAQ;MACRF,QAAQ;MACRC,GAAG;MACHG,kBAAkB,EAAE,IAAI,CAACC;IAC3B,CAAC;EACH;EAEAC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACnB,OAAO;IACjC,oBAAOZ,MAAA,CAAAS,OAAA,CAAAuB,aAAA,CAACD,QAAQ,MAAE,CAAC;EACrB;AACF;AAAC,IAAAvB,gBAAA,CAAAC,OAAA,EA9DKL,aAAa,iBAQI,WAAW;AAAA,IAAAI,gBAAA,CAAAC,OAAA,EAR5BL,aAAa,WASFH,KAAK;AAAA,IAAAO,gBAAA,CAAAC,OAAA,EAThBL,aAAa,kBAUK;EACpB6B,YAAY,EAAE,EAAE;EAChBR,GAAG,EAAE;AACP,CAAC;AAAA,IAAAjB,gBAAA,CAAAC,OAAA,EAbGL,aAAa,aAeA,CACf,IAAA8B,kCAAkB,EAAC;EACjBC,QAAQ,EAAE,oCAAoC;EAC9CC,QAAQ,EAAE,KAAK;EACfC,GAAG,EAAG1B,KAAa,IAAK,GAAG2B,MAAM,CAACC,QAAQ,CAAC5B,KAAK,CAAC,EAAE;EACnD6B,IAAI,EAAE;AACR,CAAC,CAAC,CACH;AAyCI,MAAMC,QAAQ,SAASpC,eAAS,CAGrC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,uBAKc,MAAM;MAClB,MAAM;QAAEE,KAAK;QAAEiB;MAAmB,CAAC,GAAG,IAAI,CAAChB,OAAO;MAElDgB,kBAAkB,CAACjB,KAAK,CAAC;IAC3B,CAAC;EAAA;EAED+B,cAAcA,CAAA,EAAG;IACf,MAAM;MAAE/B,KAAK;MAAEgC,GAAG;MAAEC,QAAQ;MAAEnB;IAAI,CAAC,GAAG,IAAI,CAACb,OAAO;IAClD,OAAO;MACLa,GAAG;MACHmB,QAAQ;MACRC,OAAO,EAAED,QAAQ,GAAGE,SAAS,GAAG,IAAI,CAACC,WAAW;MAChDC,EAAE,EAAE,OAAOL,GAAG,IAAIhC,KAAK,SAAS;MAChCsC,GAAG,EAAE,IAAI;MACTC,IAAI,EAAE,GAAG;MACTC,QAAQ,EAAEP,QAAQ,GAAG,CAAC,CAAC,GAAG;IAC5B,CAAC;EACH;EAEAQ,oBAAoBA,CAAA,EAAG;IACrB,MAAM;MAAEzC,KAAK;MAAEgC,GAAG;MAAEjB,QAAQ;MAAEkB;IAAS,CAAC,GAAG,IAAI,CAAChC,OAAO;IACvD,OAAO;MACLgC,QAAQ;MACR,IAAI,EAAE,OAAOD,GAAG,IAAIhC,KAAK,gBAAgB;MACzC,eAAe,EAAEe,QAAQ,GAAG,MAAM,GAAG,OAAO;MAC5C,eAAe,EAAEA,QAAQ,GAAG,OAAOiB,GAAG,IAAIhC,KAAK,WAAW,GAAGmC;IAC/D,CAAC;EACH;EAEAO,gBAAgBA,CAAA,EAAG;IACjB,MAAM;MAAE3B,QAAQ;MAAEiB,GAAG;MAAEnB,QAAQ;MAAEb;IAAM,CAAC,GAAG,IAAI,CAACC,OAAO;IACvD,OAAO;MACLc,QAAQ;MACRF,QAAQ;MACR,IAAI,EAAE,OAAOmB,GAAG,IAAIhC,KAAK,WAAW;MACpC,MAAM,EAAE,QAAQ;MAChB,iBAAiB,EAAE,OAAOgC,GAAG,IAAIhC,KAAK;IACxC,CAAC;EACH;EAEA2C,eAAeA,CAAA,EAAG;IAChB,MAAM;MAAE5B,QAAQ;MAAEwB;IAAK,CAAC,GAAG,IAAI,CAACtC,OAAO;IACvC,OAAO;MACLc,QAAQ;MACRwB;IACF,CAAC;EACH;EAEApB,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACnB,OAAO;IACjC,oBAAOZ,MAAA,CAAAS,OAAA,CAAAuB,aAAA,CAACD,QAAQ,MAAE,CAAC;EACrB;AACF;AAACwB,OAAA,CAAAd,QAAA,GAAAA,QAAA;AAAA,IAAAjC,gBAAA,CAAAC,OAAA,EA5DYgC,QAAQ,iBAIE,MAAM;AAAA,IAAAjC,gBAAA,CAAAC,OAAA,EAJhBgC,QAAQ,WAKJxC,KAAK;AAAA,IAAAO,gBAAA,CAAAC,OAAA,EALTgC,QAAQ,aAMF,CAAC,IAAAe,iBAAmB,EAAC,CAAC,CAAC;AAwD1C,MAAMC,MAAM,SAASpD,eAAS,CAE5B;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,kCACYiD,cAAK,CAACC,SAAS,CAAC,CAAC;IAAA,IAAAnD,gBAAA,CAAAC,OAAA,yBAEZmD,KAA2C,IAAK;MAC/D,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,EAAE;QACzB,IAAI,IAAI,CAACC,SAAS,CAACC,OAAO,KAAKH,KAAK,CAACI,MAAM,EAAE;UAC3CJ,KAAK,CAACK,aAAa,CAACC,KAAK,CAAC,CAAC;QAC7B;MACF,CAAC,MAAM,IAAIN,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;QAC5BD,KAAK,CAACO,cAAc,CAAC,CAAC;QACtB,IAAI,IAAI,CAACL,SAAS,CAACC,OAAO,KAAKH,KAAK,CAACI,MAAM,EAAE;UAC3CJ,KAAK,CAACK,aAAa,CAACC,KAAK,CAAC,CAAC;QAC7B;MACF;IACF,CAAC;EAAA;EAEDpC,MAAMA,CAAA,EAAG;IAAA,IAAAsC,IAAA,QAAAxD,OAAA;MAAAyD,KAAA;IACP,MAAM;MAAEC,MAAM;MAAE7C;IAAI,CAAC,GAAG,IAAI,CAACb,OAAO;IACpC,MAAM2D,WAAW,GAGqCC,gBAAI;IAD1D,OAAAH,KAAA,GAAO,IAAAnE,aAAO,EAACoE,MAAM,CAAC,eACpBtE,MAAA,CAAAS,OAAA,CAAAuB,aAAA,CAACuC,WAAW,EAAAF,KAAA,CAAAI,EAAA;MAAA,OAAAlF,KAAA,CAAAmF,WAAA;QAAA,OAAMjD,GAAG;QAAA,OAAO,IAAI,CAACqC,SAAS;QAAA;QAAA,aAAwC,IAAI,CAACa;MAAa,GAAAP,IAAA;IAAA,EAAG,CAAC;EAE5G;AACF;AAEA,SAASQ,OAAOA,CACdC,KAIC,EACD;EAAA,IAAAC,KAAA,GAAAC,YAAA;IAAAC,KAAA;EACA,MAAM;IAAEV,MAAM;IAAEpB;EAAK,CAAC,GAAG2B,KAAK;EAE9B,MAAMI,YAAY,GAC2B/B,IAAI,KAAK,GAAG,GAAGgC,UAAa,GAAGC,UAAa;EAAzF,OAAAH,KAAA,GAAO,IAAA9E,aAAO,EAACoE,MAAM,CAAC,eAACtE,MAAA,CAAAS,OAAA,CAAAuB,aAAA,CAACiD,YAAY,EAAAD,KAAA,CAAAP,EAAA;IAAA,OAAAlF,KAAA,CAAAmF,WAAA,MAAAI,KAAA;EAAA,EAAwD,CAAC;AAC/F;AAEA,SAASM,YAAYA,CACnBP,KAIC,EACD;EAAA,IAAAQ,KAAA,GAAAN,YAAA;IAAAO,KAAA;EACA,MAAM;IAAEhB;EAAO,CAAC,GAAGO,KAAK;EAExB,OAAAS,KAAA,GAAO,IAAApF,aAAO,EAACoE,MAAM,CAAC,eACpBtE,MAAA,CAAAS,OAAA,CAAAuB,aAAA,CAAcuD,oBAAI,MAAAhG,KAAA,CAAAmF,WAAA;IAAA,cAAa,QAAQ;IAAA,QAAM;EAAQ,GAAAW,KAAA,CAAE,CAAC;AAE5D;AAEA,SAASG,QAAQA,CACfX,KAIC,EACD;EAAA,IAAAY,KAAA,GAAAV,YAAA;EACA,MAAM;IAAErD;EAAS,CAAC,GAAGmD,KAAK;EAC1B,MAAMa,OAAO,GAAGhE,QAAQ;EAExB,oBACE1B,MAAA,CAAAS,OAAA,CAAAuB,aAAA,CACU2D,wBAAe,MAAApG,KAAA,CAAAmF,WAAA;IAAA,WACdgB,OAAO;IAAA;IAAA,SAET,CAACA,OAAO,GAAG,EAAE,GAAG5C,SAAS;IAAA,eACnB,CAAC4C;EAAO,GAAAD,KAAA,CACtB,CAAC;AAEN;AAEA,MAAMG,IAAI,GAAG,IAAAC,qBAAe,EAG1BpD,QAAQ,EAAE;EACVgB,MAAM;EACNmB,OAAO;EACPQ,YAAY;EACZI;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA,MAAMM,SAAS,GAAG,IAAAD,qBAAe,EAG/BzF,aAAa,EAAE;EACfwF;AACF,CAAC,CAAC;AAEK,MAAMG,aAAa,GACxBC,OAKoB,IACjBA,OAAoD;AAACzC,OAAA,CAAAwC,aAAA,GAAAA,aAAA;AAAA,IAAAE,QAAA,GAAA1C,OAAA,CAAA9C,OAAA,GAE3CqF,SAAS","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.type.js","names":[],"sources":["../../src/Accordion.type.ts"],"sourcesContent":["import type { BoxProps, FlexProps, Flex } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { Text } from '@semcore/typography';\nimport type { Property } from 'csstype';\n\ndeclare namespace NSAccordion {\n // TODO: It looks like the value isn't accurate. Revise and align it with the component's logic.\n type Value = null | number | string | Array<number | string | null>;\n type Props<V extends NSAccordion.Value = NSAccordion.Value> = FlexProps & {\n /** Value for the active tab. Can be set as stroke, number, null or as array.\n * @type AccordionValue\n * */\n value?: V;\n /**\n * Value of the active tabs selected by default\n * @type AccordionValue\n * @default []\n */\n defaultValue?: V;\n /** Called when the selection is changed\n * @type (value: AccordionValue, event?: React.SyntheticEvent) => void\n * */\n onChange?:\n | ((value: V, event?: React.SyntheticEvent) => void)\n | React.Dispatch<React.SetStateAction<V>>;\n /** Animation duration of each Accordion.Item inside\n * @default 350 */\n duration?: number;\n /**\n * Changes the visual appearance of the component\n * @default secondary\n */\n use?: 'primary' | 'secondary';\n };\n type Ctx = {\n getItemProps: PropGetterFn;\n };\n type Handlers = {\n value: Props['value'];\n };\n namespace Item {\n type Props = {\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 type Ctx = {\n getToggleProps?: PropGetterFn;\n getCollapseProps?: PropGetterFn;\n getChevronProps?: PropGetterFn;\n selected?: boolean;\n };\n namespace Toggle {\n type Props = BoxProps & {\n tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n };\n type Component = Intergalactic.Component<typeof Text, Props>;\n }\n namespace ToggleButton {\n type Props = {};\n type Component = Intergalactic.Component<typeof Flex, Props>;\n }\n namespace Chevron {\n type Props = BoxProps & {\n /**\n * Chevron size\n * @default m\n */\n size?: 'm' | 'l';\n };\n\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n namespace Collapse {\n type Props = BoxProps & {\n /** Animation titles */\n keyframes?: [string, string];\n /** Enables animation on first rendering\n * @default false\n */\n initialAnimation?: boolean;\n /**\n * @default ease-out\n */\n timingFunction?: Property.AnimationTimingFunction;\n /**\n * @default false\n */\n animationsDisabled?: boolean;\n /** Animation duration in ms\n * @default 0\n */\n duration?: number | [number, number];\n /** If it set to `true`, animated node is persisted in dom even if `visible=false` */\n preserveNode?: boolean;\n /**\n * Add overflow=clip when passing animation\n * @default true\n * */\n overflowHidden?: boolean;\n /**\n * Value for height after animation\n * @default auto\n */\n defaultHeight?: 'auto' | '100%';\n };\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx> & {\n Toggle: Toggle.Component;\n ToggleButton: ToggleButton.Component;\n Chevron: Chevron.Component;\n Collapse: Collapse.Component;\n };\n }\n\n type WrapComponent<PropsExtending = {}> = (<\n V extends Value,\n Tag extends Intergalactic.Tag = 'div',\n >(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n Props<V>,\n Ctx & { value: V },\n [handlers: Handlers]\n > & PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', Props>;\n\n type Component = WrapComponent & {\n Item: Item.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type AccordionValue = NSAccordion.Value;\n/** @deprecated It will be removed in v18. */\nexport type AccordionProps<V extends AccordionValue = AccordionValue> = NSAccordion.Props<V>;\n/** @deprecated It will be removed in v18. */\nexport type AccordionContext = NSAccordion.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type AccordionHandlers = NSAccordion.Handlers;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemProps = NSAccordion.Item.Props;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemContext = NSAccordion.Item.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemToggleProps = NSAccordion.Item.Toggle.Props;\n/** @deprecated It will be removed in v18. */\nexport type ChevronItemProps = NSAccordion.Item.Chevron.Props;\n/** @deprecated It will be removed in v18. */\nexport type AccordionCollapseProps = NSAccordion.Item.Collapse.Props;\n\nexport type { NSAccordion };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"Accordion.type.js","names":[],"sources":["../../src/Accordion.type.ts"],"sourcesContent":["import type { BoxProps, FlexProps, Flex } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { Text } from '@semcore/typography';\nimport type { Property } from 'csstype';\n\ndeclare namespace NSAccordion {\n // TODO: It looks like the value isn't accurate. Revise and align it with the component's logic.\n type Value = null | number | string | Array<number | string | null>;\n type Props<V extends NSAccordion.Value = NSAccordion.Value> = FlexProps & {\n /** Value for the active tab. Can be set as stroke, number, null or as array.\n * @type NSAccordion.Value\n * */\n value?: V;\n /**\n * Value of the active tabs selected by default\n * @type NSAccordion.Value\n * @default []\n */\n defaultValue?: V;\n /** Called when the selection is changed\n * @type (value: NSAccordion.Value, event?: React.SyntheticEvent) => void\n * */\n onChange?:\n | ((value: V, event?: React.SyntheticEvent) => void)\n | React.Dispatch<React.SetStateAction<V>>;\n /** Animation duration of each Accordion.Item inside\n * @default 200 */\n duration?: number;\n /**\n * Changes the visual appearance of the component\n * @default secondary\n */\n use?: 'primary' | 'secondary';\n };\n type Ctx = {\n getItemProps: PropGetterFn;\n };\n type Handlers = {\n value: Props['value'];\n };\n type DefaultProps = {\n defaultValue: Value;\n use: 'secondary';\n };\n namespace Item {\n type Props = {\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 type Ctx = {\n getToggleProps?: PropGetterFn;\n getCollapseProps?: PropGetterFn;\n getChevronProps?: PropGetterFn;\n selected?: boolean;\n };\n namespace Toggle {\n type Props = BoxProps & {\n tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n };\n type Component = Intergalactic.Component<typeof Text, Props>;\n }\n namespace ToggleButton {\n type Props = {};\n type Component = Intergalactic.Component<typeof Flex, Props>;\n }\n namespace Chevron {\n type Props = BoxProps & {\n /**\n * Chevron size\n * @default m\n */\n size?: 'm' | 'l';\n };\n\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n namespace Collapse {\n type Props = BoxProps & {\n /** Animation titles */\n keyframes?: [string, string];\n /** Enables animation on first rendering\n * @default false\n */\n initialAnimation?: boolean;\n /**\n * @default ease-out\n */\n timingFunction?: Property.AnimationTimingFunction;\n /**\n * @default false\n */\n animationsDisabled?: boolean;\n /** Animation duration in ms\n * @default 0\n */\n duration?: number | [number, number];\n /** If it set to `true`, animated node is persisted in dom even if `visible=false` */\n preserveNode?: boolean;\n /**\n * Add overflow=clip when passing animation\n * @default true\n * */\n overflowHidden?: boolean;\n /**\n * Value for height after animation\n * @default auto\n */\n defaultHeight?: 'auto' | '100%';\n };\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx> & {\n Toggle: Toggle.Component;\n ToggleButton: ToggleButton.Component;\n Chevron: Chevron.Component;\n Collapse: Collapse.Component;\n };\n }\n\n type WrapComponent<PropsExtending = {}> = (<\n V extends Value,\n Tag extends Intergalactic.Tag = 'div',\n >(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n Props<V>,\n Ctx & { value: V },\n [handlers: Handlers]\n > & PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', Props>;\n\n type Component = WrapComponent & {\n Item: Item.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type AccordionValue = NSAccordion.Value;\n/** @deprecated It will be removed in v18. */\nexport type AccordionProps<V extends AccordionValue = AccordionValue> = NSAccordion.Props<V>;\n/** @deprecated It will be removed in v18. */\nexport type AccordionContext = NSAccordion.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type AccordionHandlers = NSAccordion.Handlers;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemProps = NSAccordion.Item.Props;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemContext = NSAccordion.Item.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemToggleProps = NSAccordion.Item.Toggle.Props;\n/** @deprecated It will be removed in v18. */\nexport type ChevronItemProps = NSAccordion.Item.Chevron.Props;\n/** @deprecated It will be removed in v18. */\nexport type AccordionCollapseProps = NSAccordion.Item.Collapse.Props;\n\nexport type { NSAccordion };\n"],"mappings":"","ignoreList":[]}
@@ -13,15 +13,15 @@ import ChevronRightM from '@semcore/icon/ChevronRight/m';
13
13
  import { Text } from '@semcore/typography';
14
14
  import React from 'react';
15
15
  /*!__reshadow-styles__:"./style/accordion.shadow.css"*/
16
- const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SItemToggle_3rnb6_gg_{display:flex;align-items:center;position:relative;cursor:pointer;outline:0}.___SItemToggle_3rnb6_gg_.__use_3rnb6_gg_.__use_3rnb6_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899));font-weight:var(--intergalactic-regular, 400)}.___SItemToggle_3rnb6_gg_.__use_3rnb6_gg_._use_primary_3rnb6_gg_{background-color:var(--intergalactic-bg-secondary-neutral, rgb(248, 249, 248));padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);margin-bottom:var(--intergalactic-spacing-05x, 2px)}@media (hover:hover){.___SItemToggle_3rnb6_gg_.__use_3rnb6_gg_._use_primary_3rnb6_gg_:hover{background-color:var(--intergalactic-bg-secondary-neutral-hover, rgb(241, 242, 242))}}.___SItemToggle_3rnb6_gg_.__disabled_3rnb6_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default}.___SItemChevron_3rnb6_gg_{margin-right:var(--intergalactic-spacing-2x, 8px);transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral, rgba(0, 4, 1, 0.526))}.___SItemChevron_3rnb6_gg_.__selected_3rnb6_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_3rnb6_gg_{transition:none}}", /*__inner_css_end__*/"3rnb6_gg_"),
16
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SItemToggle_1licl_gg_{display:flex;align-items:center;position:relative;cursor:pointer;outline:0}.___SItemToggle_1licl_gg_.__use_1licl_gg_.__use_1licl_gg_{color:var(--intergalactic-text-primary,#010500e5);font-weight:var(--intergalactic-regular,400)}.___SItemToggle_1licl_gg_.__use_1licl_gg_._use_primary_1licl_gg_{background-color:var(--intergalactic-bg-secondary-neutral,#f8f9f8);padding:var(--intergalactic-spacing-2x,8px) var(--intergalactic-spacing-3x,12px);margin-bottom:var(--intergalactic-spacing-05x,2px)}@media (hover:hover){.___SItemToggle_1licl_gg_.__use_1licl_gg_._use_primary_1licl_gg_:hover{background-color:var(--intergalactic-bg-secondary-neutral-hover,#f1f2f2)}}.___SItemToggle_1licl_gg_.__disabled_1licl_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default}.___SItemChevron_1licl_gg_{margin-right:var(--intergalactic-spacing-2x,8px);transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral,#00040186)}.___SItemChevron_1licl_gg_.__selected_1licl_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_1licl_gg_{transition:none}}", /*__inner_css_end__*/"1licl_gg_"),
17
17
  /*__reshadow_css_end__*/
18
18
  {
19
- "__SItemToggle": "___SItemToggle_3rnb6_gg_",
20
- "_use": "__use_3rnb6_gg_",
21
- "_use_primary": "_use_primary_3rnb6_gg_",
22
- "_disabled": "__disabled_3rnb6_gg_",
23
- "__SItemChevron": "___SItemChevron_3rnb6_gg_",
24
- "_selected": "__selected_3rnb6_gg_"
19
+ "__SItemToggle": "___SItemToggle_1licl_gg_",
20
+ "_use": "__use_1licl_gg_",
21
+ "_use_primary": "_use_primary_1licl_gg_",
22
+ "_disabled": "__disabled_1licl_gg_",
23
+ "__SItemChevron": "___SItemChevron_1licl_gg_",
24
+ "_selected": "__selected_1licl_gg_"
25
25
  });
26
26
  class RootAccordion extends Component {
27
27
  constructor(...args) {
@@ -235,6 +235,12 @@ const Item = createComponent(RootItem, {
235
235
  ToggleButton,
236
236
  Collapse
237
237
  });
238
+
239
+ /**
240
+ * Accordion
241
+ *
242
+ * {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-api/|API} | {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-code/|Examples}
243
+ */
238
244
  const Accordion = createComponent(RootAccordion, {
239
245
  Item
240
246
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","names":["Collapse","CollapseAnimate","Flex","createComponent","Component","sstyled","Root","uniqueIDEnhancement","cssVariableEnhance","ChevronRightL","ChevronRightM","Text","React","style","_sstyled","insert","RootAccordion","constructor","args","_defineProperty","newValue","value","asProps","Array","isArray","indexOfNewValue","indexOf","result","push","splice","handlers","uncontrolledProps","getItemProps","selectedValue","duration","use","selected","includes","$handleInteraction","handleToggleInteraction","render","Children","createElement","defaultValue","variable","fallback","map","Number","parseInt","prop","RootItem","getToggleProps","uid","disabled","onClick","undefined","handleClick","id","tag","size","tabIndex","getToggleButtonProps","getCollapseProps","getChevronProps","Toggle","createRef","event","key","toggleRef","current","target","currentTarget","click","preventDefault","_ref","_ref5","styles","SItemToggle","cn","_assignProps","handleKeyDown","Chevron","props","_ref2","arguments[0]","_ref6","SItemChevron","_assignProps2","ToggleButton","_ref3","_ref7","_assignProps3","_ref4","visible","_assignProps4","Item","Accordion","wrapAccordion","wrapper"],"sources":["../../src/Accordion.tsx"],"sourcesContent":["import { Collapse as CollapseAnimate, Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { cssVariableEnhance } from '@semcore/core/lib/utils/useCssVariable';\nimport ChevronRightL from '@semcore/icon/ChevronRight/l';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSAccordion } from './Accordion.type';\nimport style from './style/accordion.shadow.css';\n\nclass RootAccordion extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSAccordion.Component>,\n typeof RootAccordion.enhance,\n NSAccordion.Handlers\n> {\n static displayName = 'Accordion';\n static style = style;\n static defaultProps = {\n defaultValue: [],\n use: 'secondary',\n };\n\n static enhance = [\n cssVariableEnhance({\n variable: '--intergalactic-duration-accordion',\n fallback: '200',\n map: (value: string) => `${Number.parseInt(value)}`,\n prop: 'duration',\n }),\n ] as const;\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleToggleInteraction = (newValue: NSAccordion.Item.Props['value']) => {\n const { value } = this.asProps;\n\n if (Array.isArray(value)) {\n const indexOfNewValue = value.indexOf(newValue);\n const result = [...value];\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\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 }: NSAccordion.Item.Props) {\n const { value: selectedValue, duration, use } = this.asProps;\n const selected = Array.isArray(selectedValue)\n ? selectedValue.includes(value)\n : selectedValue === value;\n\n return {\n selected,\n duration,\n use,\n $handleInteraction: this.handleToggleInteraction,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\nexport class RootItem extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSAccordion.Item.Component, typeof RootAccordion, 'Item'>,\n typeof RootItem.enhance\n> {\n static displayName = 'Item';\n static style = style;\n static enhance = [uniqueIDEnhancement()] as const;\n\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, uid, disabled, use } = this.asProps;\n return {\n use,\n disabled,\n onClick: disabled ? undefined : this.handleClick,\n id: `igc-${uid}-${value}-toggle`,\n tag: 'h3',\n size: 300,\n tabIndex: disabled ? -1 : 0,\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': selected ? `igc-${uid}-${value}-collapse` : undefined,\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 Intergalactic.InternalTypings.InferChildComponentProps<NSAccordion.Item.Toggle.Component, typeof RootItem, 'Toggle'>\n> {\n toggleRef = React.createRef();\n\n handleKeyDown = (event: React.KeyboardEvent<HTMLSpanElement>) => {\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, use } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(\n <SItemToggle use={use} ref={this.toggleRef} render={Text} innerOutline onKeyDown={this.handleKeyDown} />,\n );\n }\n}\n\nfunction Chevron(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.Chevron.Component,\n typeof RootItem,\n 'Chevron'\n >,\n) {\n const { styles, size } = props;\n\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={size === 'l' ? ChevronRightL : ChevronRightM} />);\n}\n\nfunction ToggleButton(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.ToggleButton.Component,\n typeof RootItem,\n 'ToggleButton'\n >,\n) {\n const { styles } = props;\n\n return sstyled(styles)(\n <Root render={Flex} alignItems='center' role='button' />,\n );\n}\n\nfunction Collapse(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.Collapse.Component,\n typeof RootItem,\n 'Collapse'\n >,\n) {\n const { selected } = props;\n const visible = selected;\n\n return (\n <Root\n render={CollapseAnimate}\n visible={visible}\n interactive\n inert={!visible ? '' : undefined}\n aria-hidden={!visible}\n />\n );\n}\n\nconst Item = createComponent(RootItem, {\n Toggle,\n Chevron,\n ToggleButton,\n Collapse,\n}) as NSAccordion.Item.Component;\n\nconst Accordion = createComponent(RootAccordion, {\n Item,\n}) as unknown as NSAccordion.Component;\n\nexport const wrapAccordion = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSAccordion.WrapComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => wrapper as NSAccordion.WrapComponent<PropsExtending>;\n\nexport default Accordion;\n"],"mappings":";;;;;;AAAA,SAASA,QAAQ,IAAIC,eAAe,EAAEC,IAAI,QAAQ,0BAA0B;AAE5E,SAASC,eAAe,EAAEC,SAAS,EAAEC,OAAO,EAAEC,IAAI,QAAQ,eAAe;AACzE,OAAOC,mBAAmB,MAAM,kCAAkC;AAClE,SAASC,kBAAkB,QAAQ,wCAAwC;AAC3E,OAAOC,aAAa,MAAM,8BAA8B;AACxD,OAAOC,aAAa,MAAM,8BAA8B;AACxD,SAASC,IAAI,QAAQ,qBAAqB;AAC1C,OAAOC,KAAK,MAAM,OAAO;AAAC;AAAA,MAAAC,KAAA,8BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAK1B,MAAMC,aAAa,SAASZ,SAAS,CAInC;EAAAa,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,kCAuB2BC,QAAyC,IAAK;MACvE,MAAM;QAAEC;MAAM,CAAC,GAAG,IAAI,CAACC,OAAO;MAE9B,IAAIC,KAAK,CAACC,OAAO,CAACH,KAAK,CAAC,EAAE;QACxB,MAAMI,eAAe,GAAGJ,KAAK,CAACK,OAAO,CAACN,QAAQ,CAAC;QAC/C,MAAMO,MAAM,GAAG,CAAC,GAAGN,KAAK,CAAC;QACzB;QACAI,eAAe,KAAK,CAAC,CAAC,GAAGE,MAAM,CAACC,IAAI,CAACR,QAAQ,CAAC,GAAGO,MAAM,CAACE,MAAM,CAACJ,eAAe,EAAE,CAAC,CAAC;QAClF,IAAI,CAACK,QAAQ,CAACT,KAAK,CAACM,MAAM,CAAC;MAC7B,CAAC,MAAM;QACL,IAAI,CAACG,QAAQ,CAACT,KAAK,CAACA,KAAK,KAAKD,QAAQ,GAAG,IAAI,GAAGA,QAAQ,CAAC;MAC3D;IACF,CAAC;EAAA;EAlBDW,iBAAiBA,CAAA,EAAG;IAClB,OAAO;MACLV,KAAK,EAAE;IACT,CAAC;EACH;EAgBAW,YAAYA,CAAC;IAAEX;EAA8B,CAAC,EAAE;IAC9C,MAAM;MAAEA,KAAK,EAAEY,aAAa;MAAEC,QAAQ;MAAEC;IAAI,CAAC,GAAG,IAAI,CAACb,OAAO;IAC5D,MAAMc,QAAQ,GAAGb,KAAK,CAACC,OAAO,CAACS,aAAa,CAAC,GACzCA,aAAa,CAACI,QAAQ,CAAChB,KAAK,CAAC,GAC7BY,aAAa,KAAKZ,KAAK;IAE3B,OAAO;MACLe,QAAQ;MACRF,QAAQ;MACRC,GAAG;MACHG,kBAAkB,EAAE,IAAI,CAACC;IAC3B,CAAC;EACH;EAEAC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACnB,OAAO;IACjC,oBAAOV,KAAA,CAAA8B,aAAA,CAACD,QAAQ,MAAE,CAAC;EACrB;AACF;AAACtB,eAAA,CA3DKH,aAAa,iBAKI,WAAW;AAAAG,eAAA,CAL5BH,aAAa,WAMFH,KAAK;AAAAM,eAAA,CANhBH,aAAa,kBAOK;EACpB2B,YAAY,EAAE,EAAE;EAChBR,GAAG,EAAE;AACP,CAAC;AAAAhB,eAAA,CAVGH,aAAa,aAYA,CACfR,kBAAkB,CAAC;EACjBoC,QAAQ,EAAE,oCAAoC;EAC9CC,QAAQ,EAAE,KAAK;EACfC,GAAG,EAAGzB,KAAa,IAAK,GAAG0B,MAAM,CAACC,QAAQ,CAAC3B,KAAK,CAAC,EAAE;EACnD4B,IAAI,EAAE;AACR,CAAC,CAAC,CACH;AAyCH,OAAO,MAAMC,QAAQ,SAAS9C,SAAS,CAGrC;EAAAa,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,sBAKc,MAAM;MAClB,MAAM;QAAEE,KAAK;QAAEiB;MAAmB,CAAC,GAAG,IAAI,CAAChB,OAAO;MAElDgB,kBAAkB,CAACjB,KAAK,CAAC;IAC3B,CAAC;EAAA;EAED8B,cAAcA,CAAA,EAAG;IACf,MAAM;MAAE9B,KAAK;MAAE+B,GAAG;MAAEC,QAAQ;MAAElB;IAAI,CAAC,GAAG,IAAI,CAACb,OAAO;IAClD,OAAO;MACLa,GAAG;MACHkB,QAAQ;MACRC,OAAO,EAAED,QAAQ,GAAGE,SAAS,GAAG,IAAI,CAACC,WAAW;MAChDC,EAAE,EAAE,OAAOL,GAAG,IAAI/B,KAAK,SAAS;MAChCqC,GAAG,EAAE,IAAI;MACTC,IAAI,EAAE,GAAG;MACTC,QAAQ,EAAEP,QAAQ,GAAG,CAAC,CAAC,GAAG;IAC5B,CAAC;EACH;EAEAQ,oBAAoBA,CAAA,EAAG;IACrB,MAAM;MAAExC,KAAK;MAAE+B,GAAG;MAAEhB,QAAQ;MAAEiB;IAAS,CAAC,GAAG,IAAI,CAAC/B,OAAO;IACvD,OAAO;MACL+B,QAAQ;MACR,IAAI,EAAE,OAAOD,GAAG,IAAI/B,KAAK,gBAAgB;MACzC,eAAe,EAAEe,QAAQ,GAAG,MAAM,GAAG,OAAO;MAC5C,eAAe,EAAEA,QAAQ,GAAG,OAAOgB,GAAG,IAAI/B,KAAK,WAAW,GAAGkC;IAC/D,CAAC;EACH;EAEAO,gBAAgBA,CAAA,EAAG;IACjB,MAAM;MAAE1B,QAAQ;MAAEgB,GAAG;MAAElB,QAAQ;MAAEb;IAAM,CAAC,GAAG,IAAI,CAACC,OAAO;IACvD,OAAO;MACLc,QAAQ;MACRF,QAAQ;MACR,IAAI,EAAE,OAAOkB,GAAG,IAAI/B,KAAK,WAAW;MACpC,MAAM,EAAE,QAAQ;MAChB,iBAAiB,EAAE,OAAO+B,GAAG,IAAI/B,KAAK;IACxC,CAAC;EACH;EAEA0C,eAAeA,CAAA,EAAG;IAChB,MAAM;MAAE3B,QAAQ;MAAEuB;IAAK,CAAC,GAAG,IAAI,CAACrC,OAAO;IACvC,OAAO;MACLc,QAAQ;MACRuB;IACF,CAAC;EACH;EAEAnB,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAI,CAACnB,OAAO;IACjC,oBAAOV,KAAA,CAAA8B,aAAA,CAACD,QAAQ,MAAE,CAAC;EACrB;AACF;AAACtB,eAAA,CA5DY+B,QAAQ,iBAIE,MAAM;AAAA/B,eAAA,CAJhB+B,QAAQ,WAKJrC,KAAK;AAAAM,eAAA,CALT+B,QAAQ,aAMF,CAAC3C,mBAAmB,CAAC,CAAC,CAAC;AAwD1C,MAAMyD,MAAM,SAAS5D,SAAS,CAE5B;EAAAa,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,iCACYP,KAAK,CAACqD,SAAS,CAAC,CAAC;IAAA9C,eAAA,wBAEZ+C,KAA2C,IAAK;MAC/D,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,EAAE;QACzB,IAAI,IAAI,CAACC,SAAS,CAACC,OAAO,KAAKH,KAAK,CAACI,MAAM,EAAE;UAC3CJ,KAAK,CAACK,aAAa,CAACC,KAAK,CAAC,CAAC;QAC7B;MACF,CAAC,MAAM,IAAIN,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;QAC5BD,KAAK,CAACO,cAAc,CAAC,CAAC;QACtB,IAAI,IAAI,CAACL,SAAS,CAACC,OAAO,KAAKH,KAAK,CAACI,MAAM,EAAE;UAC3CJ,KAAK,CAACK,aAAa,CAACC,KAAK,CAAC,CAAC;QAC7B;MACF;IACF,CAAC;EAAA;EAEDhC,MAAMA,CAAA,EAAG;IAAA,IAAAkC,IAAA,QAAApD,OAAA;MAAAqD,KAAA;IACP,MAAM;MAAEC,MAAM;MAAEzC;IAAI,CAAC,GAAG,IAAI,CAACb,OAAO;IACpC,MAAMuD,WAAW,GAGqClE,IAAI;IAD1D,OAAAgE,KAAA,GAAOtE,OAAO,CAACuE,MAAM,CAAC,eACpBhE,KAAA,CAAA8B,aAAA,CAACmC,WAAW,EAAAF,KAAA,CAAAG,EAAA;MAAA,GAAAC,YAAA;QAAA,OAAM5C,GAAG;QAAA,OAAO,IAAI,CAACiC,SAAS;QAAA;QAAA,aAAwC,IAAI,CAACY;MAAa,GAAAN,IAAA;IAAA,EAAG,CAAC;EAE5G;AACF;AAEA,SAASO,OAAOA,CACdC,KAIC,EACD;EAAA,IAAAC,KAAA,GAAAC,YAAA;IAAAC,KAAA;EACA,MAAM;IAAET,MAAM;IAAEjB;EAAK,CAAC,GAAGuB,KAAK;EAE9B,MAAMI,YAAY,GAC2B3B,IAAI,KAAK,GAAG,GAAGlD,aAAa,GAAGC,aAAa;EAAzF,OAAA2E,KAAA,GAAOhF,OAAO,CAACuE,MAAM,CAAC,eAAChE,KAAA,CAAA8B,aAAA,CAAC4C,YAAY,EAAAD,KAAA,CAAAP,EAAA;IAAA,GAAAS,aAAA,KAAAJ,KAAA;EAAA,EAAwD,CAAC;AAC/F;AAEA,SAASK,YAAYA,CACnBN,KAIC,EACD;EAAA,IAAAO,KAAA,GAAAL,YAAA;IAAAM,KAAA;EACA,MAAM;IAAEd;EAAO,CAAC,GAAGM,KAAK;EAExB,OAAAQ,KAAA,GAAOrF,OAAO,CAACuE,MAAM,CAAC,eACpBhE,KAAA,CAAA8B,aAAA,CAAcxC,IAAI,EAAAyF,aAAA;IAAA,cAAa,QAAQ;IAAA,QAAM;EAAQ,GAAAF,KAAA,CAAE,CAAC;AAE5D;AAEA,SAASzF,QAAQA,CACfkF,KAIC,EACD;EAAA,IAAAU,KAAA,GAAAR,YAAA;EACA,MAAM;IAAEhD;EAAS,CAAC,GAAG8C,KAAK;EAC1B,MAAMW,OAAO,GAAGzD,QAAQ;EAExB,oBACExB,KAAA,CAAA8B,aAAA,CACUzC,eAAe,EAAA6F,aAAA;IAAA,WACdD,OAAO;IAAA;IAAA,SAET,CAACA,OAAO,GAAG,EAAE,GAAGtC,SAAS;IAAA,eACnB,CAACsC;EAAO,GAAAD,KAAA,CACtB,CAAC;AAEN;AAEA,MAAMG,IAAI,GAAG5F,eAAe,CAAC+C,QAAQ,EAAE;EACrCc,MAAM;EACNiB,OAAO;EACPO,YAAY;EACZxF;AACF,CAAC,CAA+B;AAEhC,MAAMgG,SAAS,GAAG7F,eAAe,CAACa,aAAa,EAAE;EAC/C+E;AACF,CAAC,CAAqC;AAEtC,OAAO,MAAME,aAAa,GACxBC,OAKoB,IACjBA,OAAoD;AAEzD,eAAeF,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"Accordion.js","names":["Collapse","CollapseAnimate","Flex","createComponent","Component","sstyled","Root","uniqueIDEnhancement","cssVariableEnhance","ChevronRightL","ChevronRightM","Text","React","style","_sstyled","insert","RootAccordion","constructor","args","_defineProperty","newValue","value","asProps","Array","isArray","indexOfNewValue","indexOf","result","push","splice","handlers","uncontrolledProps","getItemProps","selectedValue","duration","use","selected","includes","$handleInteraction","handleToggleInteraction","render","Children","createElement","defaultValue","variable","fallback","map","Number","parseInt","prop","RootItem","getToggleProps","uid","disabled","onClick","undefined","handleClick","id","tag","size","tabIndex","getToggleButtonProps","getCollapseProps","getChevronProps","Toggle","createRef","event","key","toggleRef","current","target","currentTarget","click","preventDefault","_ref","_ref5","styles","SItemToggle","cn","_assignProps","handleKeyDown","Chevron","props","_ref2","arguments[0]","_ref6","SItemChevron","_assignProps2","ToggleButton","_ref3","_ref7","_assignProps3","_ref4","visible","_assignProps4","Item","Accordion","wrapAccordion","wrapper"],"sources":["../../src/Accordion.tsx"],"sourcesContent":["import { Collapse as CollapseAnimate, Flex } from '@semcore/base-components';\nimport type { Intergalactic } from '@semcore/core';\nimport { createComponent, Component, sstyled, Root } from '@semcore/core';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\nimport { cssVariableEnhance } from '@semcore/core/lib/utils/useCssVariable';\nimport ChevronRightL from '@semcore/icon/ChevronRight/l';\nimport ChevronRightM from '@semcore/icon/ChevronRight/m';\nimport { Text } from '@semcore/typography';\nimport React from 'react';\n\nimport type { NSAccordion } from './Accordion.type';\nimport style from './style/accordion.shadow.css';\n\nclass RootAccordion extends Component<\n Intergalactic.InternalTypings.InferComponentProps<NSAccordion.Component>,\n typeof RootAccordion.enhance,\n NSAccordion.Handlers,\n {},\n {},\n NSAccordion.DefaultProps\n> {\n static displayName = 'Accordion';\n static style = style;\n static defaultProps = {\n defaultValue: [],\n use: 'secondary' as const,\n };\n\n static enhance = [\n cssVariableEnhance({\n variable: '--intergalactic-duration-accordion',\n fallback: '200',\n map: (value: string) => `${Number.parseInt(value)}`,\n prop: 'duration',\n }),\n ] as const;\n\n uncontrolledProps() {\n return {\n value: null,\n };\n }\n\n handleToggleInteraction = (newValue: NSAccordion.Item.Props['value']) => {\n const { value } = this.asProps;\n\n if (Array.isArray(value)) {\n const indexOfNewValue = value.indexOf(newValue);\n const result = [...value];\n // eslint-disable-next-line @typescript-eslint/no-unused-expressions\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 }: NSAccordion.Item.Props) {\n const { value: selectedValue, duration, use } = this.asProps;\n const selected = Array.isArray(selectedValue)\n ? selectedValue.includes(value)\n : selectedValue === value;\n\n return {\n selected,\n duration,\n use,\n $handleInteraction: this.handleToggleInteraction,\n };\n }\n\n render() {\n const { Children } = this.asProps;\n return <Children />;\n }\n}\nexport class RootItem extends Component<\n Intergalactic.InternalTypings.InferChildComponentProps<NSAccordion.Item.Component, typeof RootAccordion, 'Item'>,\n typeof RootItem.enhance\n> {\n static displayName = 'Item';\n static style = style;\n static enhance = [uniqueIDEnhancement()] as const;\n\n handleClick = () => {\n const { value, $handleInteraction } = this.asProps;\n\n $handleInteraction(value);\n };\n\n getToggleProps() {\n const { value, uid, disabled, use } = this.asProps;\n return {\n use,\n disabled,\n onClick: disabled ? undefined : this.handleClick,\n id: `igc-${uid}-${value}-toggle`,\n tag: 'h3',\n size: 300,\n tabIndex: disabled ? -1 : 0,\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': selected ? `igc-${uid}-${value}-collapse` : undefined,\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 Intergalactic.InternalTypings.InferChildComponentProps<NSAccordion.Item.Toggle.Component, typeof RootItem, 'Toggle'>\n> {\n toggleRef = React.createRef();\n\n handleKeyDown = (event: React.KeyboardEvent<HTMLSpanElement>) => {\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, use } = this.asProps;\n const SItemToggle = Root;\n\n return sstyled(styles)(\n <SItemToggle use={use} ref={this.toggleRef} render={Text} innerOutline onKeyDown={this.handleKeyDown} />,\n );\n }\n}\n\nfunction Chevron(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.Chevron.Component,\n typeof RootItem,\n 'Chevron'\n >,\n) {\n const { styles, size } = props;\n\n const SItemChevron = Root;\n return sstyled(styles)(<SItemChevron render={size === 'l' ? ChevronRightL : ChevronRightM} />);\n}\n\nfunction ToggleButton(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.ToggleButton.Component,\n typeof RootItem,\n 'ToggleButton'\n >,\n) {\n const { styles } = props;\n\n return sstyled(styles)(\n <Root render={Flex} alignItems='center' role='button' />,\n );\n}\n\nfunction Collapse(\n props: Intergalactic.InternalTypings.InferChildComponentProps<\n NSAccordion.Item.Collapse.Component,\n typeof RootItem,\n 'Collapse'\n >,\n) {\n const { selected } = props;\n const visible = selected;\n\n return (\n <Root\n render={CollapseAnimate}\n visible={visible}\n interactive\n inert={!visible ? '' : undefined}\n aria-hidden={!visible}\n />\n );\n}\n\nconst Item = createComponent<\n NSAccordion.Item.Component,\n typeof RootItem\n>(RootItem, {\n Toggle,\n Chevron,\n ToggleButton,\n Collapse,\n});\n\n/**\n * Accordion\n *\n * {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-api/|API} | {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-code/|Examples}\n */\nconst Accordion = createComponent<\n NSAccordion.Component,\n typeof RootAccordion\n>(RootAccordion, {\n Item,\n});\n\nexport const wrapAccordion = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<NSAccordion.WrapComponent>\n > &\n PropsExtending,\n ) => React.ReactNode,\n) => wrapper as NSAccordion.WrapComponent<PropsExtending>;\n\nexport default Accordion;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.type.js","names":[],"sources":["../../src/Accordion.type.ts"],"sourcesContent":["import type { BoxProps, FlexProps, Flex } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { Text } from '@semcore/typography';\nimport type { Property } from 'csstype';\n\ndeclare namespace NSAccordion {\n // TODO: It looks like the value isn't accurate. Revise and align it with the component's logic.\n type Value = null | number | string | Array<number | string | null>;\n type Props<V extends NSAccordion.Value = NSAccordion.Value> = FlexProps & {\n /** Value for the active tab. Can be set as stroke, number, null or as array.\n * @type AccordionValue\n * */\n value?: V;\n /**\n * Value of the active tabs selected by default\n * @type AccordionValue\n * @default []\n */\n defaultValue?: V;\n /** Called when the selection is changed\n * @type (value: AccordionValue, event?: React.SyntheticEvent) => void\n * */\n onChange?:\n | ((value: V, event?: React.SyntheticEvent) => void)\n | React.Dispatch<React.SetStateAction<V>>;\n /** Animation duration of each Accordion.Item inside\n * @default 350 */\n duration?: number;\n /**\n * Changes the visual appearance of the component\n * @default secondary\n */\n use?: 'primary' | 'secondary';\n };\n type Ctx = {\n getItemProps: PropGetterFn;\n };\n type Handlers = {\n value: Props['value'];\n };\n namespace Item {\n type Props = {\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 type Ctx = {\n getToggleProps?: PropGetterFn;\n getCollapseProps?: PropGetterFn;\n getChevronProps?: PropGetterFn;\n selected?: boolean;\n };\n namespace Toggle {\n type Props = BoxProps & {\n tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n };\n type Component = Intergalactic.Component<typeof Text, Props>;\n }\n namespace ToggleButton {\n type Props = {};\n type Component = Intergalactic.Component<typeof Flex, Props>;\n }\n namespace Chevron {\n type Props = BoxProps & {\n /**\n * Chevron size\n * @default m\n */\n size?: 'm' | 'l';\n };\n\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n namespace Collapse {\n type Props = BoxProps & {\n /** Animation titles */\n keyframes?: [string, string];\n /** Enables animation on first rendering\n * @default false\n */\n initialAnimation?: boolean;\n /**\n * @default ease-out\n */\n timingFunction?: Property.AnimationTimingFunction;\n /**\n * @default false\n */\n animationsDisabled?: boolean;\n /** Animation duration in ms\n * @default 0\n */\n duration?: number | [number, number];\n /** If it set to `true`, animated node is persisted in dom even if `visible=false` */\n preserveNode?: boolean;\n /**\n * Add overflow=clip when passing animation\n * @default true\n * */\n overflowHidden?: boolean;\n /**\n * Value for height after animation\n * @default auto\n */\n defaultHeight?: 'auto' | '100%';\n };\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx> & {\n Toggle: Toggle.Component;\n ToggleButton: ToggleButton.Component;\n Chevron: Chevron.Component;\n Collapse: Collapse.Component;\n };\n }\n\n type WrapComponent<PropsExtending = {}> = (<\n V extends Value,\n Tag extends Intergalactic.Tag = 'div',\n >(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n Props<V>,\n Ctx & { value: V },\n [handlers: Handlers]\n > & PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', Props>;\n\n type Component = WrapComponent & {\n Item: Item.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type AccordionValue = NSAccordion.Value;\n/** @deprecated It will be removed in v18. */\nexport type AccordionProps<V extends AccordionValue = AccordionValue> = NSAccordion.Props<V>;\n/** @deprecated It will be removed in v18. */\nexport type AccordionContext = NSAccordion.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type AccordionHandlers = NSAccordion.Handlers;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemProps = NSAccordion.Item.Props;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemContext = NSAccordion.Item.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemToggleProps = NSAccordion.Item.Toggle.Props;\n/** @deprecated It will be removed in v18. */\nexport type ChevronItemProps = NSAccordion.Item.Chevron.Props;\n/** @deprecated It will be removed in v18. */\nexport type AccordionCollapseProps = NSAccordion.Item.Collapse.Props;\n\nexport type { NSAccordion };\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"Accordion.type.js","names":[],"sources":["../../src/Accordion.type.ts"],"sourcesContent":["import type { BoxProps, FlexProps, Flex } from '@semcore/base-components';\nimport type { PropGetterFn, Intergalactic } from '@semcore/core';\nimport type { Text } from '@semcore/typography';\nimport type { Property } from 'csstype';\n\ndeclare namespace NSAccordion {\n // TODO: It looks like the value isn't accurate. Revise and align it with the component's logic.\n type Value = null | number | string | Array<number | string | null>;\n type Props<V extends NSAccordion.Value = NSAccordion.Value> = FlexProps & {\n /** Value for the active tab. Can be set as stroke, number, null or as array.\n * @type NSAccordion.Value\n * */\n value?: V;\n /**\n * Value of the active tabs selected by default\n * @type NSAccordion.Value\n * @default []\n */\n defaultValue?: V;\n /** Called when the selection is changed\n * @type (value: NSAccordion.Value, event?: React.SyntheticEvent) => void\n * */\n onChange?:\n | ((value: V, event?: React.SyntheticEvent) => void)\n | React.Dispatch<React.SetStateAction<V>>;\n /** Animation duration of each Accordion.Item inside\n * @default 200 */\n duration?: number;\n /**\n * Changes the visual appearance of the component\n * @default secondary\n */\n use?: 'primary' | 'secondary';\n };\n type Ctx = {\n getItemProps: PropGetterFn;\n };\n type Handlers = {\n value: Props['value'];\n };\n type DefaultProps = {\n defaultValue: Value;\n use: 'secondary';\n };\n namespace Item {\n type Props = {\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 type Ctx = {\n getToggleProps?: PropGetterFn;\n getCollapseProps?: PropGetterFn;\n getChevronProps?: PropGetterFn;\n selected?: boolean;\n };\n namespace Toggle {\n type Props = BoxProps & {\n tag?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n };\n type Component = Intergalactic.Component<typeof Text, Props>;\n }\n namespace ToggleButton {\n type Props = {};\n type Component = Intergalactic.Component<typeof Flex, Props>;\n }\n namespace Chevron {\n type Props = BoxProps & {\n /**\n * Chevron size\n * @default m\n */\n size?: 'm' | 'l';\n };\n\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n namespace Collapse {\n type Props = BoxProps & {\n /** Animation titles */\n keyframes?: [string, string];\n /** Enables animation on first rendering\n * @default false\n */\n initialAnimation?: boolean;\n /**\n * @default ease-out\n */\n timingFunction?: Property.AnimationTimingFunction;\n /**\n * @default false\n */\n animationsDisabled?: boolean;\n /** Animation duration in ms\n * @default 0\n */\n duration?: number | [number, number];\n /** If it set to `true`, animated node is persisted in dom even if `visible=false` */\n preserveNode?: boolean;\n /**\n * Add overflow=clip when passing animation\n * @default true\n * */\n overflowHidden?: boolean;\n /**\n * Value for height after animation\n * @default auto\n */\n defaultHeight?: 'auto' | '100%';\n };\n type Component = Intergalactic.Component<'div', Props>;\n }\n\n type Component = Intergalactic.Component<'div', Props, Ctx> & {\n Toggle: Toggle.Component;\n ToggleButton: ToggleButton.Component;\n Chevron: Chevron.Component;\n Collapse: Collapse.Component;\n };\n }\n\n type WrapComponent<PropsExtending = {}> = (<\n V extends Value,\n Tag extends Intergalactic.Tag = 'div',\n >(\n props: Intergalactic.InternalTypings.ComponentProps<\n Tag,\n 'div',\n Props<V>,\n Ctx & { value: V },\n [handlers: Handlers]\n > & PropsExtending,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults) &\n Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', Props>;\n\n type Component = WrapComponent & {\n Item: Item.Component;\n };\n}\n\n/** @deprecated It will be removed in v18. */\nexport type AccordionValue = NSAccordion.Value;\n/** @deprecated It will be removed in v18. */\nexport type AccordionProps<V extends AccordionValue = AccordionValue> = NSAccordion.Props<V>;\n/** @deprecated It will be removed in v18. */\nexport type AccordionContext = NSAccordion.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type AccordionHandlers = NSAccordion.Handlers;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemProps = NSAccordion.Item.Props;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemContext = NSAccordion.Item.Ctx;\n/** @deprecated It will be removed in v18. */\nexport type AccordionItemToggleProps = NSAccordion.Item.Toggle.Props;\n/** @deprecated It will be removed in v18. */\nexport type ChevronItemProps = NSAccordion.Item.Chevron.Props;\n/** @deprecated It will be removed in v18. */\nexport type AccordionCollapseProps = NSAccordion.Item.Collapse.Props;\n\nexport type { NSAccordion };\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import { sstyled, Component, assignProps, createComponent } from "@semcore/core";
3
3
  import { Flex, Collapse as Collapse$1 } from "@semcore/base-components";
4
4
  import uniqueIDEnhancement from "@semcore/core/lib/utils/uniqueID";
@@ -12,17 +12,17 @@ const style = (
12
12
  /*__reshadow_css_start__*/
13
13
  (sstyled.insert(
14
14
  /*__inner_css_start__*/
15
- ".___SItemToggle_3rnb6_gg_{display:flex;align-items:center;position:relative;cursor:pointer;outline:0}.___SItemToggle_3rnb6_gg_.__use_3rnb6_gg_.__use_3rnb6_gg_{color:var(--intergalactic-text-primary, rgba(1, 5, 0, 0.899));font-weight:var(--intergalactic-regular, 400)}.___SItemToggle_3rnb6_gg_.__use_3rnb6_gg_._use_primary_3rnb6_gg_{background-color:var(--intergalactic-bg-secondary-neutral, rgb(248, 249, 248));padding:var(--intergalactic-spacing-2x, 8px) var(--intergalactic-spacing-3x, 12px);margin-bottom:var(--intergalactic-spacing-05x, 2px)}@media (hover:hover){.___SItemToggle_3rnb6_gg_.__use_3rnb6_gg_._use_primary_3rnb6_gg_:hover{background-color:var(--intergalactic-bg-secondary-neutral-hover, rgb(241, 242, 242))}}.___SItemToggle_3rnb6_gg_.__disabled_3rnb6_gg_{opacity:var(--intergalactic-disabled-opacity, 0.4);cursor:default}.___SItemChevron_3rnb6_gg_{margin-right:var(--intergalactic-spacing-2x, 8px);transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral, rgba(0, 4, 1, 0.526))}.___SItemChevron_3rnb6_gg_.__selected_3rnb6_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_3rnb6_gg_{transition:none}}",
15
+ ".___SItemToggle_1licl_gg_{display:flex;align-items:center;position:relative;cursor:pointer;outline:0}.___SItemToggle_1licl_gg_.__use_1licl_gg_.__use_1licl_gg_{color:var(--intergalactic-text-primary,#010500e5);font-weight:var(--intergalactic-regular,400)}.___SItemToggle_1licl_gg_.__use_1licl_gg_._use_primary_1licl_gg_{background-color:var(--intergalactic-bg-secondary-neutral,#f8f9f8);padding:var(--intergalactic-spacing-2x,8px) var(--intergalactic-spacing-3x,12px);margin-bottom:var(--intergalactic-spacing-05x,2px)}@media (hover:hover){.___SItemToggle_1licl_gg_.__use_1licl_gg_._use_primary_1licl_gg_:hover{background-color:var(--intergalactic-bg-secondary-neutral-hover,#f1f2f2)}}.___SItemToggle_1licl_gg_.__disabled_1licl_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default}.___SItemChevron_1licl_gg_{margin-right:var(--intergalactic-spacing-2x,8px);transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-accordion, 200)*1ms) ease-out;fill:var(--intergalactic-icon-primary-neutral,#00040186)}.___SItemChevron_1licl_gg_.__selected_1licl_gg_{transform:rotate(90deg)}@media (prefers-reduced-motion){.___SItemChevron_1licl_gg_{transition:none}}",
16
16
  /*__inner_css_end__*/
17
- "3rnb6_gg_"
17
+ "1licl_gg_"
18
18
  ), /*__reshadow_css_end__*/
19
19
  {
20
- "__SItemToggle": "___SItemToggle_3rnb6_gg_",
21
- "_use": "__use_3rnb6_gg_",
22
- "_use_primary": "_use_primary_3rnb6_gg_",
23
- "_disabled": "__disabled_3rnb6_gg_",
24
- "__SItemChevron": "___SItemChevron_3rnb6_gg_",
25
- "_selected": "__selected_3rnb6_gg_"
20
+ "__SItemToggle": "___SItemToggle_1licl_gg_",
21
+ "_use": "__use_1licl_gg_",
22
+ "_use_primary": "_use_primary_1licl_gg_",
23
+ "_disabled": "__disabled_1licl_gg_",
24
+ "__SItemChevron": "___SItemChevron_1licl_gg_",
25
+ "_selected": "__selected_1licl_gg_"
26
26
  })
27
27
  );
28
28
  class RootAccordion extends Component {
@@ -2,14 +2,14 @@ import type { Intergalactic } from '@semcore/core';
2
2
  import { Component } from '@semcore/core';
3
3
  import React from 'react';
4
4
  import type { NSAccordion } from './Accordion.type';
5
- declare class RootAccordion extends Component<Intergalactic.InternalTypings.InferComponentProps<NSAccordion.Component>, typeof RootAccordion.enhance, NSAccordion.Handlers> {
5
+ declare class RootAccordion extends Component<Intergalactic.InternalTypings.InferComponentProps<NSAccordion.Component>, typeof RootAccordion.enhance, NSAccordion.Handlers, {}, {}, NSAccordion.DefaultProps> {
6
6
  static displayName: string;
7
7
  static style: {
8
8
  [key: string]: string;
9
9
  };
10
10
  static defaultProps: {
11
11
  defaultValue: never[];
12
- use: string;
12
+ use: "secondary";
13
13
  };
14
14
  static enhance: readonly [<T extends {}>(props: T) => T & {
15
15
  duration: string;
@@ -21,7 +21,7 @@ declare class RootAccordion extends Component<Intergalactic.InternalTypings.Infe
21
21
  getItemProps({ value }: NSAccordion.Item.Props): {
22
22
  selected: boolean;
23
23
  duration: never;
24
- use: "primary" | "secondary" | undefined;
24
+ use: "primary" | "secondary";
25
25
  $handleInteraction: (newValue: NSAccordion.Item.Props["value"]) => void;
26
26
  };
27
27
  render(): React.JSX.Element;
@@ -36,7 +36,7 @@ export declare class RootItem extends Component<Intergalactic.InternalTypings.In
36
36
  }];
37
37
  handleClick: () => void;
38
38
  getToggleProps(): {
39
- use: "primary" | "secondary" | undefined;
39
+ use: "primary" | "secondary";
40
40
  disabled: boolean | undefined;
41
41
  onClick: (() => void) | undefined;
42
42
  id: string;
@@ -63,6 +63,11 @@ export declare class RootItem extends Component<Intergalactic.InternalTypings.In
63
63
  };
64
64
  render(): React.JSX.Element;
65
65
  }
66
+ /**
67
+ * Accordion
68
+ *
69
+ * {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-api/|API} | {@link https://developer.semrush.com/intergalactic/components/accordion/accordion-code/|Examples}
70
+ */
66
71
  declare const Accordion: NSAccordion.Component;
67
72
  export declare const wrapAccordion: <PropsExtending extends {}>(wrapper: (props: Intergalactic.InternalTypings.UntypeRefAndTag<Intergalactic.InternalTypings.ComponentPropsNesting<NSAccordion.WrapComponent>> & PropsExtending) => React.ReactNode) => NSAccordion.WrapComponent<PropsExtending>;
68
73
  export default Accordion;
@@ -6,21 +6,21 @@ declare namespace NSAccordion {
6
6
  type Value = null | number | string | Array<number | string | null>;
7
7
  type Props<V extends NSAccordion.Value = NSAccordion.Value> = FlexProps & {
8
8
  /** Value for the active tab. Can be set as stroke, number, null or as array.
9
- * @type AccordionValue
9
+ * @type NSAccordion.Value
10
10
  * */
11
11
  value?: V;
12
12
  /**
13
13
  * Value of the active tabs selected by default
14
- * @type AccordionValue
14
+ * @type NSAccordion.Value
15
15
  * @default []
16
16
  */
17
17
  defaultValue?: V;
18
18
  /** Called when the selection is changed
19
- * @type (value: AccordionValue, event?: React.SyntheticEvent) => void
19
+ * @type (value: NSAccordion.Value, event?: React.SyntheticEvent) => void
20
20
  * */
21
21
  onChange?: ((value: V, event?: React.SyntheticEvent) => void) | React.Dispatch<React.SetStateAction<V>>;
22
22
  /** Animation duration of each Accordion.Item inside
23
- * @default 350 */
23
+ * @default 200 */
24
24
  duration?: number;
25
25
  /**
26
26
  * Changes the visual appearance of the component
@@ -34,6 +34,10 @@ declare namespace NSAccordion {
34
34
  type Handlers = {
35
35
  value: Props['value'];
36
36
  };
37
+ type DefaultProps = {
38
+ defaultValue: Value;
39
+ use: 'secondary';
40
+ };
37
41
  namespace Item {
38
42
  type Props = {
39
43
  /** Tab value */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/accordion",
3
3
  "description": "Semrush Accordion Component",
4
- "version": "17.1.0",
4
+ "version": "17.2.0-prerelease.3",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -14,12 +14,12 @@
14
14
  "require": "./lib/cjs/index.js"
15
15
  },
16
16
  "dependencies": {
17
- "@semcore/button": "^17.1.0",
18
- "@semcore/typography": "^17.1.0",
17
+ "@semcore/button": "^17.2.0-prerelease.3",
18
+ "@semcore/typography": "^17.2.0-prerelease.3",
19
19
  "csstype": "3.1.3"
20
20
  },
21
21
  "peerDependencies": {
22
- "@semcore/base-components": "^17.0.2",
22
+ "@semcore/base-components": "^17.2.0",
23
23
  "@semcore/icon": "^17.0.1"
24
24
  },
25
25
  "repository": {
@@ -28,8 +28,8 @@
28
28
  "directory": "semcore/accordion"
29
29
  },
30
30
  "devDependencies": {
31
- "@semcore/core": "17.1.0",
32
- "@semcore/base-components": "17.0.2",
31
+ "@semcore/core": "17.2.0-prerelease.3",
32
+ "@semcore/base-components": "17.2.0-prerelease.3",
33
33
  "@semcore/testing-utils": "1.0.0",
34
34
  "@semcore/icon": "17.1.0"
35
35
  },