@semcore/accordion 17.2.1 → 18.0.0-prerelease.0
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 +6 -0
- package/lib/cjs/Accordion.js +62 -33
- package/lib/cjs/Accordion.js.map +1 -1
- package/lib/cjs/Accordion.type.js.map +1 -1
- package/lib/cjs/style/accordion.shadow.css +106 -18
- package/lib/es6/Accordion.js +66 -35
- package/lib/es6/Accordion.js.map +1 -1
- package/lib/es6/Accordion.type.js.map +1 -1
- package/lib/es6/style/accordion.shadow.css +106 -18
- package/lib/esm/Accordion.mjs +58 -32
- package/lib/esm/style/accordion.shadow.css +106 -18
- package/lib/types/Accordion.d.ts +3 -2
- package/lib/types/Accordion.d.ts.map +1 -0
- package/lib/types/Accordion.type.d.ts +16 -15
- package/lib/types/Accordion.type.d.ts.map +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -0
- package/package.json +8 -8
package/lib/es6/Accordion.js.map
CHANGED
|
@@ -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 {},\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
|
+
{"version":3,"file":"Accordion.js","names":["Collapse","CollapseAnimate","Flex","Box","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","_ref","_ref7","SAccordion","styles","createElement","cn","_assignProps","defaultValue","variable","fallback","map","Number","parseInt","prop","RootItem","getToggleProps","uid","disabled","onClick","undefined","handleClick","id","tag","size","tabIndex","getToggleButtonProps","getCollapseProps","getChevronProps","_ref2","_ref8","SAccordionItem","_assignProps2","Toggle","createRef","event","key","toggleRef","current","target","currentTarget","click","preventDefault","_ref3","_ref9","SItemToggle","_assignProps3","handleKeyDown","Chevron","props","_ref4","arguments[0]","_ref0","SItemChevron","_assignProps4","ToggleButton","_ref5","_ref1","SItemToggleButton","_assignProps5","_ref6","_ref10","SItemCollapse","SItemCollapseContainer","Children","visible","_assignProps6","Item","Accordion","wrapAccordion","wrapper"],"sources":["../../src/Accordion.tsx"],"sourcesContent":["import { Collapse as CollapseAnimate, Flex, Box } 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 SAccordion = Root;\n const { styles } = this.asProps;\n\n return sstyled(styles)(<SAccordion __excludeProps={['onChange']} render={Flex} />);\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 SAccordionItem = Root;\n const { styles } = this.asProps;\n\n return sstyled(styles)(<SAccordionItem render={Box} />);\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 SItemToggleButton = Root;\n const { styles } = props;\n\n return sstyled(styles)(\n <SItemToggleButton 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 SItemCollapse = Root;\n const SItemCollapseContainer = Box;\n const { selected, styles, Children } = props;\n const visible = selected;\n\n return sstyled(styles)(\n <SItemCollapse\n render={CollapseAnimate}\n visible={visible}\n interactive\n inert={!visible ? '' : undefined}\n aria-hidden={!visible}\n >\n <SItemCollapseContainer>\n <Children />\n </SItemCollapseContainer>\n </SItemCollapse>,\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 {
|
|
1
|
+
{"version":3,"file":"Accordion.type.js","names":[],"sources":["../../src/Accordion.type.ts"],"sourcesContent":["import type { NSBox, NSFlex } 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> = NSFlex.Props & {\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 = NSBox.Props & {\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<NSFlex.Component, Props>;\n }\n namespace Chevron {\n type Props = NSBox.Props & {\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 = NSBox.Props & {\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 v19. */\nexport type AccordionValue = NSAccordion.Value;\n/** @deprecated It will be removed in v19. */\nexport type AccordionProps<V extends AccordionValue = AccordionValue> = NSAccordion.Props<V>;\n/** @deprecated It will be removed in v19. */\nexport type AccordionContext = NSAccordion.Ctx;\n/** @deprecated It will be removed in v19. */\nexport type AccordionHandlers = NSAccordion.Handlers;\n/** @deprecated It will be removed in v19. */\nexport type AccordionItemProps = NSAccordion.Item.Props;\n/** @deprecated It will be removed in v19. */\nexport type AccordionItemContext = NSAccordion.Item.Ctx;\n/** @deprecated It will be removed in v19. */\nexport type AccordionItemToggleProps = NSAccordion.Item.Toggle.Props;\n/** @deprecated It will be removed in v19. */\nexport type ChevronItemProps = NSAccordion.Item.Chevron.Props;\n/** @deprecated It will be removed in v19. */\nexport type AccordionCollapseProps = NSAccordion.Item.Collapse.Props;\n\nexport type { NSAccordion };\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,39 +1,127 @@
|
|
|
1
|
+
SAccordion {
|
|
2
|
+
flex-direction: column;
|
|
3
|
+
gap: var(--intergalactic-spacing-content-gap-xsmall, 2px);
|
|
4
|
+
}
|
|
5
|
+
|
|
1
6
|
SItemToggle {
|
|
2
7
|
display: flex;
|
|
3
8
|
align-items: center;
|
|
4
9
|
position: relative;
|
|
5
10
|
cursor: pointer;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
SItemToggle[use][use] {
|
|
9
|
-
color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
|
|
10
11
|
font-weight: var(--intergalactic-regular, 400);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
|
|
13
|
+
&[use='primary'] {
|
|
14
|
+
color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
|
|
15
|
+
background-color: var(--intergalactic-bg-secondary-neutral, oklch(0.98 0.001 180));
|
|
16
|
+
border-radius: var(--intergalactic-surface-rounded, 8px);
|
|
17
|
+
padding: var(--intergalactic-spacing-content-padding-small, 8px)
|
|
18
|
+
var(--intergalactic-spacing-content-padding-large, 16px)
|
|
19
|
+
var(--intergalactic-spacing-content-padding-small, 8px)
|
|
20
|
+
var(--intergalactic-spacing-content-padding-xlarge, 20px);
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
&:has(SItemChevron[selected]) {
|
|
24
|
+
border-bottom-left-radius: 0;
|
|
25
|
+
border-bottom-right-radius: 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&:hover {
|
|
29
|
+
background-color: var(--intergalactic-bg-secondary-neutral-hover, oklch(0.97 0.001 180));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
SItemToggleButton {
|
|
33
|
+
gap: var(--intergalactic-spacing-content-gap-large, 8px);
|
|
34
|
+
justify-content: space-between;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
SItemChevron {
|
|
38
|
+
order: 1;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&[use='secondary'] {
|
|
43
|
+
color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
|
|
44
|
+
padding:
|
|
45
|
+
var(--intergalactic-spacing-content-gap-large, 8px)
|
|
46
|
+
var(--intergalactic-spacing-content-padding-xxsmall, 2px)
|
|
47
|
+
var(--intergalactic-spacing-content-padding-small, 8px)
|
|
48
|
+
var(--intergalactic-spacing-content-padding-xxsmall, 2px);
|
|
49
|
+
|
|
50
|
+
SItemToggleButton {
|
|
51
|
+
gap: var(--intergalactic-spacing-content-gap-small, 4px);
|
|
52
|
+
justify-content: unset;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
SItemChevron {
|
|
56
|
+
order: 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&[disabled] {
|
|
61
|
+
opacity: var(--intergalactic-disabled-opacity, 0.4);
|
|
62
|
+
cursor: default;
|
|
63
|
+
}
|
|
19
64
|
}
|
|
20
65
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
cursor: default;
|
|
66
|
+
SItemToggleButton {
|
|
67
|
+
flex: 1;
|
|
24
68
|
}
|
|
25
69
|
|
|
26
70
|
SItemChevron {
|
|
27
|
-
margin-right: var(--intergalactic-spacing-2x, 8px);
|
|
28
71
|
transform: rotate(0deg);
|
|
29
|
-
transition: transform calc(var(--intergalactic-duration-
|
|
30
|
-
fill: var(--intergalactic-
|
|
72
|
+
transition: transform calc(var(--intergalactic-duration-fast, 200) * 1ms) var(--intergalactic-easings-fast, cubic-bezier(0.5, 0, 0, 1.12));
|
|
73
|
+
fill: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
|
|
31
74
|
|
|
32
75
|
&[selected] {
|
|
33
76
|
transform: rotate(90deg);
|
|
34
77
|
}
|
|
35
78
|
}
|
|
36
79
|
|
|
80
|
+
SAccordionItem {
|
|
81
|
+
&[use='primary'] {
|
|
82
|
+
position: relative;
|
|
83
|
+
overflow: clip;
|
|
84
|
+
border-radius: var(--intergalactic-surface-rounded, 8px);
|
|
85
|
+
background-color: var(--intergalactic-bg-secondary-neutral, oklch(0.98 0.001 180));
|
|
86
|
+
|
|
87
|
+
&::before {
|
|
88
|
+
content: '';
|
|
89
|
+
position: absolute;
|
|
90
|
+
top: 0;
|
|
91
|
+
bottom: 0;
|
|
92
|
+
left: 0;
|
|
93
|
+
width: 2px;
|
|
94
|
+
z-index: 1;
|
|
95
|
+
opacity: 0;
|
|
96
|
+
background-color: var(--intergalactic-border-accent, oklch(0.23 0.01 140));
|
|
97
|
+
transition-property: opacity;
|
|
98
|
+
transition-timing-function: var(--intergalactic-easings-fast, cubic-bezier(0.5, 0, 0, 1.12));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
&[selected] {
|
|
102
|
+
&::before {
|
|
103
|
+
opacity: 1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
&[duration] {
|
|
108
|
+
&::before {
|
|
109
|
+
transition-duration: calc(var(--duration) * 1ms);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&[use='secondary'] {
|
|
115
|
+
SItemCollapse {
|
|
116
|
+
border-left: 2px solid var(--intergalactic-border-accent, oklch(0.23 0.01 140));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
SItemCollapseContainer {
|
|
122
|
+
padding: var(--intergalactic-spacing-content-padding-medium, 12px) var(--intergalactic-spacing-content-padding-xlarge, 20px);
|
|
123
|
+
}
|
|
124
|
+
|
|
37
125
|
@media (prefers-reduced-motion) {
|
|
38
126
|
SItemChevron {
|
|
39
127
|
transition: none;
|
package/lib/esm/Accordion.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import { sstyled, Component, assignProps, createComponent } from "@semcore/core";
|
|
3
|
-
import { Flex, Collapse as Collapse$1 } from "@semcore/base-components";
|
|
3
|
+
import { Flex, Box, Collapse as Collapse$1 } from "@semcore/base-components";
|
|
4
4
|
import uniqueIDEnhancement from "@semcore/core/lib/utils/uniqueID";
|
|
5
5
|
import { cssVariableEnhance } from "@semcore/core/lib/utils/useCssVariable";
|
|
6
6
|
import ChevronRightL from "@semcore/icon/ChevronRight/l";
|
|
@@ -12,17 +12,24 @@ const style = (
|
|
|
12
12
|
/*__reshadow_css_start__*/
|
|
13
13
|
(sstyled.insert(
|
|
14
14
|
/*__inner_css_start__*/
|
|
15
|
-
|
|
15
|
+
'.___SAccordion_jqwgt_gg_{flex-direction:column;gap:var(--intergalactic-spacing-content-gap-xsmall,2px)}.___SItemToggle_jqwgt_gg_{display:flex;align-items:center;position:relative;cursor:pointer;font-weight:var(--intergalactic-regular,400)}.___SItemToggle_jqwgt_gg_._use_primary_jqwgt_gg_{color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899));background-color:var(--intergalactic-bg-secondary-neutral,oklch(.98 .001 180));border-radius:var(--intergalactic-surface-rounded,8px);padding:var(--intergalactic-spacing-content-padding-small,8px) var(--intergalactic-spacing-content-padding-large,16px) var(--intergalactic-spacing-content-padding-small,8px) var(--intergalactic-spacing-content-padding-xlarge,20px)}.___SItemToggle_jqwgt_gg_._use_primary_jqwgt_gg_:has(.___SItemChevron_jqwgt_gg_.__selected_jqwgt_gg_){border-bottom-left-radius:0;border-bottom-right-radius:0}@media (hover:hover){.___SItemToggle_jqwgt_gg_._use_primary_jqwgt_gg_:hover{background-color:var(--intergalactic-bg-secondary-neutral-hover,oklch(.97 .001 180))}}.___SItemToggle_jqwgt_gg_._use_primary_jqwgt_gg_ .___SItemToggleButton_jqwgt_gg_{gap:var(--intergalactic-spacing-content-gap-large,8px);justify-content:space-between}.___SItemToggle_jqwgt_gg_._use_primary_jqwgt_gg_ .___SItemChevron_jqwgt_gg_{order:1}.___SItemToggle_jqwgt_gg_._use_secondary_jqwgt_gg_{color:var(--intergalactic-text-primary,oklch(.1 .03 137/.899));padding:var(--intergalactic-spacing-content-gap-large,8px) var(--intergalactic-spacing-content-padding-xxsmall,2px) var(--intergalactic-spacing-content-padding-small,8px) var(--intergalactic-spacing-content-padding-xxsmall,2px)}.___SItemToggle_jqwgt_gg_._use_secondary_jqwgt_gg_ .___SItemToggleButton_jqwgt_gg_{gap:var(--intergalactic-spacing-content-gap-small,4px);justify-content:normal}.___SItemToggle_jqwgt_gg_._use_secondary_jqwgt_gg_ .___SItemChevron_jqwgt_gg_{order:0}.___SItemToggle_jqwgt_gg_.__disabled_jqwgt_gg_{opacity:var(--intergalactic-disabled-opacity,.4);cursor:default}.___SItemToggleButton_jqwgt_gg_{flex:1}.___SItemChevron_jqwgt_gg_{transform:rotate(0deg);transition:transform calc(var(--intergalactic-duration-fast, 200)*1ms) var(--intergalactic-easings-fast,cubic-bezier(.5,0,0,1.12));fill:var(--intergalactic-text-primary,oklch(.1 .03 137/.899))}.___SItemChevron_jqwgt_gg_.__selected_jqwgt_gg_{transform:rotate(90deg)}.___SAccordionItem_jqwgt_gg_._use_primary_jqwgt_gg_{position:relative;overflow:clip;border-radius:var(--intergalactic-surface-rounded,8px);background-color:var(--intergalactic-bg-secondary-neutral,oklch(.98 .001 180))}.___SAccordionItem_jqwgt_gg_._use_primary_jqwgt_gg_:before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;z-index:1;opacity:0;background-color:var(--intergalactic-border-accent,oklch(.23 .01 140));transition-property:opacity;transition-timing-function:var(--intergalactic-easings-fast,cubic-bezier(.5,0,0,1.12))}.___SAccordionItem_jqwgt_gg_._use_primary_jqwgt_gg_.__selected_jqwgt_gg_:before{opacity:1}.___SAccordionItem_jqwgt_gg_._use_primary_jqwgt_gg_.__duration_jqwgt_gg_:before{transition-duration:calc(var(--duration_jqwgt)*1ms)}.___SAccordionItem_jqwgt_gg_._use_secondary_jqwgt_gg_ .___SItemCollapse_jqwgt_gg_{border-left:2px solid var(--intergalactic-border-accent,oklch(.23 .01 140))}.___SItemCollapseContainer_jqwgt_gg_{padding:var(--intergalactic-spacing-content-padding-medium,12px) var(--intergalactic-spacing-content-padding-xlarge,20px)}@media (prefers-reduced-motion){.___SItemChevron_jqwgt_gg_{transition:none}}',
|
|
16
16
|
/*__inner_css_end__*/
|
|
17
|
-
"
|
|
17
|
+
"jqwgt_gg_"
|
|
18
18
|
), /*__reshadow_css_end__*/
|
|
19
19
|
{
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
20
|
+
"__SAccordion": "___SAccordion_jqwgt_gg_",
|
|
21
|
+
"__SItemToggleButton": "___SItemToggleButton_jqwgt_gg_",
|
|
22
|
+
"__SItemCollapseContainer": "___SItemCollapseContainer_jqwgt_gg_",
|
|
23
|
+
"__SItemChevron": "___SItemChevron_jqwgt_gg_",
|
|
24
|
+
"__SItemToggle": "___SItemToggle_jqwgt_gg_",
|
|
25
|
+
"_use_primary": "_use_primary_jqwgt_gg_",
|
|
26
|
+
"_selected": "__selected_jqwgt_gg_",
|
|
27
|
+
"_use_secondary": "_use_secondary_jqwgt_gg_",
|
|
28
|
+
"_disabled": "__disabled_jqwgt_gg_",
|
|
29
|
+
"__SAccordionItem": "___SAccordionItem_jqwgt_gg_",
|
|
30
|
+
"_duration": "__duration_jqwgt_gg_",
|
|
31
|
+
"--duration": "--duration_jqwgt",
|
|
32
|
+
"__SItemCollapse": "___SItemCollapse_jqwgt_gg_"
|
|
26
33
|
})
|
|
27
34
|
);
|
|
28
35
|
class RootAccordion extends Component {
|
|
@@ -64,10 +71,16 @@ class RootAccordion extends Component {
|
|
|
64
71
|
};
|
|
65
72
|
}
|
|
66
73
|
render() {
|
|
74
|
+
var _ref = this.asProps, _ref7;
|
|
75
|
+
const SAccordion = Flex;
|
|
67
76
|
const {
|
|
68
|
-
|
|
77
|
+
styles
|
|
69
78
|
} = this.asProps;
|
|
70
|
-
return /* @__PURE__ */ React.createElement(
|
|
79
|
+
return _ref7 = sstyled(styles), /* @__PURE__ */ React.createElement(SAccordion, _ref7.cn("SAccordion", {
|
|
80
|
+
...assignProps({
|
|
81
|
+
"__excludeProps": ["onChange"]
|
|
82
|
+
}, _ref)
|
|
83
|
+
}));
|
|
71
84
|
}
|
|
72
85
|
}
|
|
73
86
|
_defineProperty(RootAccordion, "displayName", "Accordion");
|
|
@@ -150,10 +163,14 @@ class RootItem extends Component {
|
|
|
150
163
|
};
|
|
151
164
|
}
|
|
152
165
|
render() {
|
|
166
|
+
var _ref2 = this.asProps, _ref8;
|
|
167
|
+
const SAccordionItem = Box;
|
|
153
168
|
const {
|
|
154
|
-
|
|
169
|
+
styles
|
|
155
170
|
} = this.asProps;
|
|
156
|
-
return /* @__PURE__ */ React.createElement(
|
|
171
|
+
return _ref8 = sstyled(styles), /* @__PURE__ */ React.createElement(SAccordionItem, _ref8.cn("SAccordionItem", {
|
|
172
|
+
...assignProps({}, _ref2)
|
|
173
|
+
}));
|
|
157
174
|
}
|
|
158
175
|
}
|
|
159
176
|
_defineProperty(RootItem, "displayName", "Item");
|
|
@@ -177,55 +194,64 @@ class Toggle extends Component {
|
|
|
177
194
|
});
|
|
178
195
|
}
|
|
179
196
|
render() {
|
|
180
|
-
var
|
|
197
|
+
var _ref3 = this.asProps, _ref9;
|
|
181
198
|
const {
|
|
182
199
|
styles,
|
|
183
200
|
use
|
|
184
201
|
} = this.asProps;
|
|
185
202
|
const SItemToggle = Text;
|
|
186
|
-
return
|
|
203
|
+
return _ref9 = sstyled(styles), /* @__PURE__ */ React.createElement(SItemToggle, _ref9.cn("SItemToggle", {
|
|
187
204
|
...assignProps({
|
|
188
205
|
"use": use,
|
|
189
206
|
"ref": this.toggleRef,
|
|
190
207
|
"innerOutline": true,
|
|
191
208
|
"onKeyDown": this.handleKeyDown
|
|
192
|
-
},
|
|
209
|
+
}, _ref3)
|
|
193
210
|
}));
|
|
194
211
|
}
|
|
195
212
|
}
|
|
196
213
|
function Chevron(props) {
|
|
197
|
-
var
|
|
214
|
+
var _ref4 = arguments[0], _ref0;
|
|
198
215
|
const {
|
|
199
216
|
styles,
|
|
200
217
|
size
|
|
201
218
|
} = props;
|
|
202
219
|
const SItemChevron = size === "l" ? ChevronRightL : ChevronRightM;
|
|
203
|
-
return
|
|
204
|
-
...assignProps({},
|
|
220
|
+
return _ref0 = sstyled(styles), /* @__PURE__ */ React.createElement(SItemChevron, _ref0.cn("SItemChevron", {
|
|
221
|
+
...assignProps({}, _ref4)
|
|
205
222
|
}));
|
|
206
223
|
}
|
|
207
224
|
function ToggleButton(props) {
|
|
208
|
-
var
|
|
225
|
+
var _ref5 = arguments[0], _ref1;
|
|
226
|
+
const SItemToggleButton = Flex;
|
|
209
227
|
const {
|
|
210
228
|
styles
|
|
211
229
|
} = props;
|
|
212
|
-
return
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
230
|
+
return _ref1 = sstyled(styles), /* @__PURE__ */ React.createElement(SItemToggleButton, _ref1.cn("SItemToggleButton", {
|
|
231
|
+
...assignProps({
|
|
232
|
+
"alignItems": "center",
|
|
233
|
+
"role": "button"
|
|
234
|
+
}, _ref5)
|
|
235
|
+
}));
|
|
216
236
|
}
|
|
217
237
|
function Collapse(props) {
|
|
218
|
-
var
|
|
238
|
+
var _ref6 = arguments[0], _ref10;
|
|
239
|
+
const SItemCollapse = Collapse$1;
|
|
240
|
+
const SItemCollapseContainer = Box;
|
|
219
241
|
const {
|
|
220
|
-
selected
|
|
242
|
+
selected,
|
|
243
|
+
styles,
|
|
244
|
+
Children
|
|
221
245
|
} = props;
|
|
222
246
|
const visible = selected;
|
|
223
|
-
return /* @__PURE__ */ React.createElement(
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
247
|
+
return _ref10 = sstyled(styles), /* @__PURE__ */ React.createElement(SItemCollapse, _ref10.cn("SItemCollapse", {
|
|
248
|
+
...assignProps({
|
|
249
|
+
"visible": visible,
|
|
250
|
+
"interactive": true,
|
|
251
|
+
"inert": !visible ? "" : void 0,
|
|
252
|
+
"aria-hidden": !visible
|
|
253
|
+
}, _ref6)
|
|
254
|
+
}), /* @__PURE__ */ React.createElement(SItemCollapseContainer, _ref10.cn("SItemCollapseContainer", {}), /* @__PURE__ */ React.createElement(Children, _ref10.cn("Children", {}))));
|
|
229
255
|
}
|
|
230
256
|
const Item = createComponent(RootItem, {
|
|
231
257
|
Toggle,
|
|
@@ -1,39 +1,127 @@
|
|
|
1
|
+
SAccordion {
|
|
2
|
+
flex-direction: column;
|
|
3
|
+
gap: var(--intergalactic-spacing-content-gap-xsmall, 2px);
|
|
4
|
+
}
|
|
5
|
+
|
|
1
6
|
SItemToggle {
|
|
2
7
|
display: flex;
|
|
3
8
|
align-items: center;
|
|
4
9
|
position: relative;
|
|
5
10
|
cursor: pointer;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
SItemToggle[use][use] {
|
|
9
|
-
color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
|
|
10
11
|
font-weight: var(--intergalactic-regular, 400);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
|
|
13
|
+
&[use='primary'] {
|
|
14
|
+
color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
|
|
15
|
+
background-color: var(--intergalactic-bg-secondary-neutral, oklch(0.98 0.001 180));
|
|
16
|
+
border-radius: var(--intergalactic-surface-rounded, 8px);
|
|
17
|
+
padding: var(--intergalactic-spacing-content-padding-small, 8px)
|
|
18
|
+
var(--intergalactic-spacing-content-padding-large, 16px)
|
|
19
|
+
var(--intergalactic-spacing-content-padding-small, 8px)
|
|
20
|
+
var(--intergalactic-spacing-content-padding-xlarge, 20px);
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
&:has(SItemChevron[selected]) {
|
|
24
|
+
border-bottom-left-radius: 0;
|
|
25
|
+
border-bottom-right-radius: 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&:hover {
|
|
29
|
+
background-color: var(--intergalactic-bg-secondary-neutral-hover, oklch(0.97 0.001 180));
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
SItemToggleButton {
|
|
33
|
+
gap: var(--intergalactic-spacing-content-gap-large, 8px);
|
|
34
|
+
justify-content: space-between;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
SItemChevron {
|
|
38
|
+
order: 1;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
&[use='secondary'] {
|
|
43
|
+
color: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
|
|
44
|
+
padding:
|
|
45
|
+
var(--intergalactic-spacing-content-gap-large, 8px)
|
|
46
|
+
var(--intergalactic-spacing-content-padding-xxsmall, 2px)
|
|
47
|
+
var(--intergalactic-spacing-content-padding-small, 8px)
|
|
48
|
+
var(--intergalactic-spacing-content-padding-xxsmall, 2px);
|
|
49
|
+
|
|
50
|
+
SItemToggleButton {
|
|
51
|
+
gap: var(--intergalactic-spacing-content-gap-small, 4px);
|
|
52
|
+
justify-content: unset;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
SItemChevron {
|
|
56
|
+
order: 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&[disabled] {
|
|
61
|
+
opacity: var(--intergalactic-disabled-opacity, 0.4);
|
|
62
|
+
cursor: default;
|
|
63
|
+
}
|
|
19
64
|
}
|
|
20
65
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
cursor: default;
|
|
66
|
+
SItemToggleButton {
|
|
67
|
+
flex: 1;
|
|
24
68
|
}
|
|
25
69
|
|
|
26
70
|
SItemChevron {
|
|
27
|
-
margin-right: var(--intergalactic-spacing-2x, 8px);
|
|
28
71
|
transform: rotate(0deg);
|
|
29
|
-
transition: transform calc(var(--intergalactic-duration-
|
|
30
|
-
fill: var(--intergalactic-
|
|
72
|
+
transition: transform calc(var(--intergalactic-duration-fast, 200) * 1ms) var(--intergalactic-easings-fast, cubic-bezier(0.5, 0, 0, 1.12));
|
|
73
|
+
fill: var(--intergalactic-text-primary, oklch(0.1 0.03 137 / 0.899));
|
|
31
74
|
|
|
32
75
|
&[selected] {
|
|
33
76
|
transform: rotate(90deg);
|
|
34
77
|
}
|
|
35
78
|
}
|
|
36
79
|
|
|
80
|
+
SAccordionItem {
|
|
81
|
+
&[use='primary'] {
|
|
82
|
+
position: relative;
|
|
83
|
+
overflow: clip;
|
|
84
|
+
border-radius: var(--intergalactic-surface-rounded, 8px);
|
|
85
|
+
background-color: var(--intergalactic-bg-secondary-neutral, oklch(0.98 0.001 180));
|
|
86
|
+
|
|
87
|
+
&::before {
|
|
88
|
+
content: '';
|
|
89
|
+
position: absolute;
|
|
90
|
+
top: 0;
|
|
91
|
+
bottom: 0;
|
|
92
|
+
left: 0;
|
|
93
|
+
width: 2px;
|
|
94
|
+
z-index: 1;
|
|
95
|
+
opacity: 0;
|
|
96
|
+
background-color: var(--intergalactic-border-accent, oklch(0.23 0.01 140));
|
|
97
|
+
transition-property: opacity;
|
|
98
|
+
transition-timing-function: var(--intergalactic-easings-fast, cubic-bezier(0.5, 0, 0, 1.12));
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
&[selected] {
|
|
102
|
+
&::before {
|
|
103
|
+
opacity: 1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
&[duration] {
|
|
108
|
+
&::before {
|
|
109
|
+
transition-duration: calc(var(--duration) * 1ms);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&[use='secondary'] {
|
|
115
|
+
SItemCollapse {
|
|
116
|
+
border-left: 2px solid var(--intergalactic-border-accent, oklch(0.23 0.01 140));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
SItemCollapseContainer {
|
|
122
|
+
padding: var(--intergalactic-spacing-content-padding-medium, 12px) var(--intergalactic-spacing-content-padding-xlarge, 20px);
|
|
123
|
+
}
|
|
124
|
+
|
|
37
125
|
@media (prefers-reduced-motion) {
|
|
38
126
|
SItemChevron {
|
|
39
127
|
transition: none;
|
package/lib/types/Accordion.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ declare class RootAccordion extends Component<Intergalactic.InternalTypings.Infe
|
|
|
24
24
|
use: "primary" | "secondary";
|
|
25
25
|
$handleInteraction: (newValue: NSAccordion.Item.Props["value"]) => void;
|
|
26
26
|
};
|
|
27
|
-
render(): React.
|
|
27
|
+
render(): React.ReactNode;
|
|
28
28
|
}
|
|
29
29
|
export declare class RootItem extends Component<Intergalactic.InternalTypings.InferChildComponentProps<NSAccordion.Item.Component, typeof RootAccordion, 'Item'>, typeof RootItem.enhance> {
|
|
30
30
|
static displayName: string;
|
|
@@ -61,7 +61,7 @@ export declare class RootItem extends Component<Intergalactic.InternalTypings.In
|
|
|
61
61
|
selected: boolean;
|
|
62
62
|
size: number | undefined;
|
|
63
63
|
};
|
|
64
|
-
render(): React.
|
|
64
|
+
render(): React.ReactNode;
|
|
65
65
|
}
|
|
66
66
|
/**
|
|
67
67
|
* Accordion
|
|
@@ -71,3 +71,4 @@ export declare class RootItem extends Component<Intergalactic.InternalTypings.In
|
|
|
71
71
|
declare const Accordion: NSAccordion.Component;
|
|
72
72
|
export declare const wrapAccordion: <PropsExtending extends {}>(wrapper: (props: Intergalactic.InternalTypings.UntypeRefAndTag<Intergalactic.InternalTypings.ComponentPropsNesting<NSAccordion.WrapComponent>> & PropsExtending) => React.ReactNode) => NSAccordion.WrapComponent<PropsExtending>;
|
|
73
73
|
export default Accordion;
|
|
74
|
+
//# sourceMappingURL=Accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/Accordion.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAmB,SAAS,EAAiB,MAAM,eAAe,CAAC;AAM1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,cAAM,aAAc,SAAQ,SAAS,CACnC,aAAa,CAAC,eAAe,CAAC,mBAAmB,CAAC,WAAW,CAAC,SAAS,CAAC,EACxE,OAAO,aAAa,CAAC,OAAO,EAC5B,WAAW,CAAC,QAAQ,EACpB,EAAE,EACF,EAAE,EACF,WAAW,CAAC,YAAY,CACzB;IACC,MAAM,CAAC,WAAW,SAAe;IACjC,MAAM,CAAC,KAAK;;MAAS;IACrB,MAAM,CAAC,YAAY;;;MAGjB;IAEF,MAAM,CAAC,OAAO;;OAOH;IAEX,iBAAiB;;;IAMjB,uBAAuB,GAAI,UAAU,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAYlE;IAEF,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK;;;;uCAdT,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;;IA4BpE,MAAM;CAMP;AACD,qBAAa,QAAS,SAAQ,SAAS,CACrC,aAAa,CAAC,eAAe,CAAC,wBAAwB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,aAAa,EAAE,MAAM,CAAC,EAChH,OAAO,QAAQ,CAAC,OAAO,CACxB;IACC,MAAM,CAAC,WAAW,SAAU;IAC5B,MAAM,CAAC,KAAK;;MAAS;IACrB,MAAM,CAAC,OAAO;;OAAoC;IAElD,WAAW,aAIT;IAEF,cAAc;;;;;;;;;IAad,oBAAoB;;;;;;IAUpB,gBAAgB;;;;;;;IAWhB,eAAe;;;;IAQf,MAAM;CAMP;AA+FD;;;;GAIG;AACH,QAAA,MAAM,SAAS,uBAKb,CAAC;AAEH,eAAO,MAAM,aAAa,GAAI,cAAc,SAAS,EAAE,EACrD,SAAS,CACP,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,eAAe,CAClD,aAAa,CAAC,eAAe,CAAC,qBAAqB,CAAC,WAAW,CAAC,aAAa,CAAC,CAC/E,GACD,cAAc,KACX,KAAK,CAAC,SAAS,KACN,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;AAE1D,eAAe,SAAS,CAAC"}
|