@entur/expand 3.4.1 → 3.4.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/dist/expand.cjs.development.js +8 -5
- package/dist/expand.cjs.development.js.map +1 -1
- package/dist/expand.cjs.production.min.js +1 -1
- package/dist/expand.cjs.production.min.js.map +1 -1
- package/dist/expand.esm.js +9 -6
- package/dist/expand.esm.js.map +1 -1
- package/dist/styles.css +30 -8
- package/package.json +6 -6
|
@@ -192,12 +192,9 @@ var ExpandableTextButton = function ExpandableTextButton(_ref) {
|
|
|
192
192
|
"aria-expanded": open,
|
|
193
193
|
type: "button",
|
|
194
194
|
onClick: onToggle
|
|
195
|
-
}, rest), React__default["default"].createElement(Component, {
|
|
196
|
-
as: "span"
|
|
197
|
-
}, children), React__default["default"].createElement(ExpandArrow, {
|
|
195
|
+
}, rest), React__default["default"].createElement(Component, null, children), React__default["default"].createElement(ExpandArrow, {
|
|
198
196
|
open: open,
|
|
199
|
-
className: "eds-expandable-text__arrow"
|
|
200
|
-
inline: true
|
|
197
|
+
className: "eds-expandable-text__arrow"
|
|
201
198
|
}));
|
|
202
199
|
};
|
|
203
200
|
|
|
@@ -238,6 +235,12 @@ function GetTypographyComponent(element) {
|
|
|
238
235
|
switch (element) {
|
|
239
236
|
case 'Heading5':
|
|
240
237
|
return typography.Heading5;
|
|
238
|
+
case 'Heading4':
|
|
239
|
+
return typography.Heading4;
|
|
240
|
+
case 'Heading3':
|
|
241
|
+
return typography.Heading3;
|
|
242
|
+
case 'Heading2':
|
|
243
|
+
return typography.Heading2;
|
|
241
244
|
case 'Paragraph':
|
|
242
245
|
return typography.Paragraph;
|
|
243
246
|
case 'SubParagraph':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expand.cjs.development.js","sources":["../src/Accordion.tsx","../src/BaseExpand.tsx","../src/ExpandArrow.tsx","../src/BaseExpandablePanel.tsx","../src/AccordionItem.tsx","../src/ExpandablePanel.tsx","../src/ExpandableTextButton.tsx","../src/ExpandableText.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\n\ntype Id = string | null;\ntype AccordionContextType = [Id, React.Dispatch<React.SetStateAction<Id>>];\nconst AccordionContext = React.createContext<AccordionContextType | null>(null);\n\nexport type AccordionProps = {\n /** To eller flere AccordionItem-komponenter */\n children: React.ReactNode;\n [key: string]: any;\n};\n\nexport const Accordion: React.FC<AccordionProps> = ({ ...rest }) => {\n const currentlyOpenState = React.useState<Id>(null);\n return <AccordionContext.Provider value={currentlyOpenState} {...rest} />;\n};\n\ntype UseAccordionArgs = {\n id: Id;\n defaultOpen?: boolean;\n};\n\nexport const useAccordion: ({ id, defaultOpen }: UseAccordionArgs) => {\n isOpen: boolean;\n toggle: () => void;\n} = ({ id, defaultOpen }: UseAccordionArgs) => {\n const contextValue = React.useContext(AccordionContext);\n if (!contextValue) {\n throw new Error('You need to wrap your AccordionItem inside an Accordion');\n }\n\n const [openId, setOpenId] = contextValue;\n\n React.useEffect(() => {\n if (defaultOpen) {\n setOpenId(id);\n }\n }, [defaultOpen, id, setOpenId]);\n\n const isOpen = openId === id;\n\n return {\n isOpen,\n toggle: () => setOpenId(isOpen ? null : id),\n };\n};\n","import React from 'react';\n\nimport { UnmountClosed } from 'react-collapse';\n\ntype BaseExpandProps = {\n /** Innholdet som skal være expandable */\n children: React.ReactNode;\n /** Boolean for om innholdet vises eller ikke */\n open: boolean;\n [key: string]: any;\n};\nexport const BaseExpand: React.FC<BaseExpandProps> = ({ open, ...rest }) => {\n return (\n <UnmountClosed isOpened={open}>\n <div {...rest} />\n </UnmountClosed>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DownArrowIcon } from '@entur/icons';\nimport './ExpandArrow.scss';\n\ntype ExpandArrowProps = {\n /** Om innholdet er åpent eller ikke, som bestemmer retningen på pila\n * @default false\n */\n open?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const ExpandArrow: React.FC<ExpandArrowProps> = ({\n open = false,\n className,\n ...rest\n}) => {\n return (\n <DownArrowIcon\n className={classNames(className, 'eds-expandable-arrow', {\n 'eds-expandable-arrow--open': open,\n })}\n {...rest}\n aria-hidden=\"true\"\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { Heading5 } from '@entur/typography';\nimport { BaseExpand } from './BaseExpand';\n\nimport './BaseExpandablePanel.scss';\nimport { ExpandArrow } from './ExpandArrow';\n\ntype BaseExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** IDen til expand-panelet */\n id: string;\n /** Prop for om innholdet er åpent */\n open: boolean;\n /** Funksjonen som styrer åpningen av BaseExpandablePanel */\n onToggle: () => void;\n /** Styling som sendes til innholdet av BaseExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const BaseExpandablePanel: React.FC<BaseExpandablePanelProps> = ({\n title,\n children,\n className,\n id,\n open,\n onToggle,\n contentStyle,\n ...rest\n}) => {\n return (\n <div className={classNames('eds-expandable-panel', className)}>\n <button\n type=\"button\"\n className=\"eds-expandable-panel__trigger\"\n onClick={onToggle}\n aria-expanded={open}\n aria-controls={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component as=\"span\">{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" inline />\n </button>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport { Heading5, Paragraph, SubParagraph } from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: React.ReactNode;\n /** Innholdet som skal vises under linken */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandableText skal ha som default (med mindre den er kontrollert)\n * @default false\n */\n defaultOpen?: boolean;\n /** Prop for om innholdet er åpent. Brukes hvis du vil kontrollere ExpandableText, sammen med onToggle */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableText */\n onToggle?: () => void;\n /**Styling som sendes til innholdet av ExpandableText */\n contentStyle?: CSSProperties;\n /** Hvilket typografisk element tittelen er\n * @default \"Heading5\"\n */\n titleElement?: 'Heading5' | 'Paragraph' | 'SubParagraph';\n [key: string]: any;\n};\n\nexport const ExpandableText: React.FC<ExpandableTextProps> = ({\n title,\n children,\n defaultOpen = false,\n contentStyle,\n titleElement = 'Heading5',\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable-text');\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n const Element: React.ElementType = React.useMemo(\n () => GetTypographyComponent(titleElement),\n [titleElement],\n );\n\n return (\n <>\n <ExpandableTextButton\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element: 'Heading5' | 'Paragraph' | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n"],"names":["AccordionContext","React","createContext","Accordion","rest","currentlyOpenState","useState","createElement","Provider","value","useAccordion","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","_excluded","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","undefined","Heading5","margin","as","style","AccordionItem","overrideId","randomId","useRandomId","ExpandablePanel","setOpen","prev","ExpandableTextButton","Component","inline","ExpandableText","titleElement","Element","useMemo","GetTypographyComponent","Fragment","element","Paragraph","SubParagraph","warnAboutMissingStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expand.cjs.development.js","sources":["../src/Accordion.tsx","../src/BaseExpand.tsx","../src/ExpandArrow.tsx","../src/BaseExpandablePanel.tsx","../src/AccordionItem.tsx","../src/ExpandablePanel.tsx","../src/ExpandableTextButton.tsx","../src/ExpandableText.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\n\ntype Id = string | null;\ntype AccordionContextType = [Id, React.Dispatch<React.SetStateAction<Id>>];\nconst AccordionContext = React.createContext<AccordionContextType | null>(null);\n\nexport type AccordionProps = {\n /** To eller flere AccordionItem-komponenter */\n children: React.ReactNode;\n [key: string]: any;\n};\n\nexport const Accordion: React.FC<AccordionProps> = ({ ...rest }) => {\n const currentlyOpenState = React.useState<Id>(null);\n return <AccordionContext.Provider value={currentlyOpenState} {...rest} />;\n};\n\ntype UseAccordionArgs = {\n id: Id;\n defaultOpen?: boolean;\n};\n\nexport const useAccordion: ({ id, defaultOpen }: UseAccordionArgs) => {\n isOpen: boolean;\n toggle: () => void;\n} = ({ id, defaultOpen }: UseAccordionArgs) => {\n const contextValue = React.useContext(AccordionContext);\n if (!contextValue) {\n throw new Error('You need to wrap your AccordionItem inside an Accordion');\n }\n\n const [openId, setOpenId] = contextValue;\n\n React.useEffect(() => {\n if (defaultOpen) {\n setOpenId(id);\n }\n }, [defaultOpen, id, setOpenId]);\n\n const isOpen = openId === id;\n\n return {\n isOpen,\n toggle: () => setOpenId(isOpen ? null : id),\n };\n};\n","import React from 'react';\n\nimport { UnmountClosed } from 'react-collapse';\n\ntype BaseExpandProps = {\n /** Innholdet som skal være expandable */\n children: React.ReactNode;\n /** Boolean for om innholdet vises eller ikke */\n open: boolean;\n [key: string]: any;\n};\nexport const BaseExpand: React.FC<BaseExpandProps> = ({ open, ...rest }) => {\n return (\n <UnmountClosed isOpened={open}>\n <div {...rest} />\n </UnmountClosed>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DownArrowIcon } from '@entur/icons';\nimport './ExpandArrow.scss';\n\ntype ExpandArrowProps = {\n /** Om innholdet er åpent eller ikke, som bestemmer retningen på pila\n * @default false\n */\n open?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const ExpandArrow: React.FC<ExpandArrowProps> = ({\n open = false,\n className,\n ...rest\n}) => {\n return (\n <DownArrowIcon\n className={classNames(className, 'eds-expandable-arrow', {\n 'eds-expandable-arrow--open': open,\n })}\n {...rest}\n aria-hidden=\"true\"\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { Heading5 } from '@entur/typography';\nimport { BaseExpand } from './BaseExpand';\n\nimport './BaseExpandablePanel.scss';\nimport { ExpandArrow } from './ExpandArrow';\n\ntype BaseExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** IDen til expand-panelet */\n id: string;\n /** Prop for om innholdet er åpent */\n open: boolean;\n /** Funksjonen som styrer åpningen av BaseExpandablePanel */\n onToggle: () => void;\n /** Styling som sendes til innholdet av BaseExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const BaseExpandablePanel: React.FC<BaseExpandablePanelProps> = ({\n title,\n children,\n className,\n id,\n open,\n onToggle,\n contentStyle,\n ...rest\n}) => {\n return (\n <div className={classNames('eds-expandable-panel', className)}>\n <button\n type=\"button\"\n className=\"eds-expandable-panel__trigger\"\n onClick={onToggle}\n aria-expanded={open}\n aria-controls={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component>{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" />\n </button>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport {\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Paragraph,\n SubParagraph,\n} from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: React.ReactNode;\n /** Innholdet som skal vises under linken */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandableText skal ha som default (med mindre den er kontrollert)\n * @default false\n */\n defaultOpen?: boolean;\n /** Prop for om innholdet er åpent. Brukes hvis du vil kontrollere ExpandableText, sammen med onToggle */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableText */\n onToggle?: () => void;\n /**Styling som sendes til innholdet av ExpandableText */\n contentStyle?: CSSProperties;\n /** Hvilket typografisk element tittelen er\n * @default \"Heading5\"\n */\n titleElement?: 'Heading5' | 'Paragraph' | 'SubParagraph';\n [key: string]: any;\n};\n\nexport const ExpandableText: React.FC<ExpandableTextProps> = ({\n title,\n children,\n defaultOpen = false,\n contentStyle,\n titleElement = 'Heading5',\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable-text');\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n const Element: React.ElementType = React.useMemo(\n () => GetTypographyComponent(titleElement),\n [titleElement],\n );\n\n return (\n <>\n <ExpandableTextButton\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element:\n | 'Heading5'\n | 'Heading4'\n | 'Heading3'\n | 'Heading2'\n | 'Paragraph'\n | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Heading4':\n return Heading4;\n case 'Heading3':\n return Heading3;\n case 'Heading2':\n return Heading2;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n"],"names":["AccordionContext","React","createContext","Accordion","rest","currentlyOpenState","useState","createElement","Provider","value","useAccordion","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","_excluded","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","undefined","Heading5","margin","as","style","AccordionItem","overrideId","randomId","useRandomId","ExpandablePanel","setOpen","prev","ExpandableTextButton","Component","ExpandableText","titleElement","Element","useMemo","GetTypographyComponent","Fragment","element","Heading4","Heading3","Heading2","Paragraph","SubParagraph","warnAboutMissingStyles"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),n=require("classnames"),a=require("@entur/typography"),r=require("react-collapse"),l=require("@entur/icons");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=o(t),u=o(n);function
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),n=require("classnames"),a=require("@entur/typography"),r=require("react-collapse"),l=require("@entur/icons");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var d=o(t),u=o(n);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(e[a]=n[a])}return e},i.apply(this,arguments)}function c(e,t){if(null==e)return{};var n,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)t.indexOf(n=l[a])>=0||(r[n]=e[n]);return r}var s=d.default.createContext(null),p=function(e){var t=e.id,n=e.defaultOpen,a=d.default.useContext(s);if(!a)throw new Error("You need to wrap your AccordionItem inside an Accordion");var r=a[0],l=a[1];d.default.useEffect((function(){n&&l(t)}),[n,t,l]);var o=r===t;return{isOpen:o,toggle:function(){return l(o?null:t)}}},f=["open"],g=function(e){var t=e.open,n=c(e,f);return d.default.createElement(r.UnmountClosed,{isOpened:t},d.default.createElement("div",i({},n)))},m=["open","className"],x=function(e){var t=e.open,n=void 0!==t&&t,a=e.className,r=c(e,m);return d.default.createElement(l.DownArrowIcon,i({className:u.default(a,"eds-expandable-arrow",{"eds-expandable-arrow--open":n})},r,{"aria-hidden":"true"}))},v=["title","children","className","id","open","onToggle","contentStyle"],b=function(e){var t=e.title,n=e.children,r=e.className,l=e.id,o=e.open,s=e.onToggle,p=e.contentStyle,f=c(e,v);return d.default.createElement("div",{className:u.default("eds-expandable-panel",r)},d.default.createElement("button",i({type:"button",className:"eds-expandable-panel__trigger",onClick:s,"aria-expanded":o,"aria-controls":o?l:void 0},f),d.default.createElement("span",{className:"eds-expandable-panel__grid"},d.default.createElement(a.Heading5,{margin:"none",as:"span"},t),d.default.createElement("span",{className:"eds-expandable-panel__icon-container"},d.default.createElement(x,{open:o})))),d.default.createElement(g,{className:"eds-expandable-panel__content",id:l,open:o,style:p},n))},E=["defaultOpen","id","contentStyle"],y=["defaultOpen","contentStyle"],h=["children","open","onToggle","as"],O=function(e){var t=e.children,n=e.open,r=e.onToggle,l=e.as,o=void 0===l?a.Heading5:l,u=c(e,h);return d.default.createElement("button",i({className:"eds-expandable-text__trigger","aria-expanded":n,type:"button",onClick:r},u),d.default.createElement(o,null,t),d.default.createElement(x,{open:n,className:"eds-expandable-text__arrow"}))},S=["title","children","defaultOpen","contentStyle","titleElement"];e.warnAboutMissingStyles("expand","typography","icons"),exports.Accordion=function(e){var t=i({},(function(e){if(null==e)throw new TypeError("Cannot destructure "+e)}(e),e)),n=d.default.useState(null);return d.default.createElement(s.Provider,i({value:n},t))},exports.AccordionItem=function(t){var n=t.defaultOpen,a=void 0!==n&&n,r=t.id,l=t.contentStyle,o=c(t,E),u=e.useRandomId("eds-accordion-item"),s=r||u,f=p({id:s,defaultOpen:a});return d.default.createElement(b,i({},o,{contentStyle:l,id:s,onToggle:f.toggle,open:f.isOpen}))},exports.BaseExpand=g,exports.ExpandArrow=x,exports.ExpandablePanel=function(t){var n=t.defaultOpen,a=void 0!==n&&n,r=t.contentStyle,l=c(t,y),o=e.useRandomId("eds-expandable"),u=d.default.useState(a),s=u[1];return d.default.createElement(b,i({id:o,open:u[0],onToggle:function(){return s((function(e){return!e}))},contentStyle:r},l))},exports.ExpandableText=function(t){var n=t.title,r=t.children,l=t.defaultOpen,o=void 0!==l&&l,u=t.contentStyle,s=t.titleElement,p=void 0===s?"Heading5":s,f=c(t,S),m=e.useRandomId("eds-expandable-text"),x=d.default.useState(o),v=x[0],b=x[1],E=d.default.useMemo((function(){return function(e){switch(e){case"Heading5":default:return a.Heading5;case"Heading4":return a.Heading4;case"Heading3":return a.Heading3;case"Heading2":return a.Heading2;case"Paragraph":return a.Paragraph;case"SubParagraph":return a.SubParagraph}}(p)}),[p]);return d.default.createElement(d.default.Fragment,null,d.default.createElement(O,i({open:v,onToggle:function(){return b((function(e){return!e}))},"aria-controls":v?m:void 0,as:E},f),n),d.default.createElement(g,i({className:"eds-expandable-text__content",id:m,open:v,style:u},f),r))},exports.ExpandableTextButton=O,exports.useAccordion=p;
|
|
2
2
|
//# sourceMappingURL=expand.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expand.cjs.production.min.js","sources":["../src/Accordion.tsx","../src/BaseExpand.tsx","../src/ExpandArrow.tsx","../src/BaseExpandablePanel.tsx","../src/ExpandableTextButton.tsx","../src/index.tsx","../src/AccordionItem.tsx","../src/ExpandablePanel.tsx","../src/ExpandableText.tsx"],"sourcesContent":["import React from 'react';\n\ntype Id = string | null;\ntype AccordionContextType = [Id, React.Dispatch<React.SetStateAction<Id>>];\nconst AccordionContext = React.createContext<AccordionContextType | null>(null);\n\nexport type AccordionProps = {\n /** To eller flere AccordionItem-komponenter */\n children: React.ReactNode;\n [key: string]: any;\n};\n\nexport const Accordion: React.FC<AccordionProps> = ({ ...rest }) => {\n const currentlyOpenState = React.useState<Id>(null);\n return <AccordionContext.Provider value={currentlyOpenState} {...rest} />;\n};\n\ntype UseAccordionArgs = {\n id: Id;\n defaultOpen?: boolean;\n};\n\nexport const useAccordion: ({ id, defaultOpen }: UseAccordionArgs) => {\n isOpen: boolean;\n toggle: () => void;\n} = ({ id, defaultOpen }: UseAccordionArgs) => {\n const contextValue = React.useContext(AccordionContext);\n if (!contextValue) {\n throw new Error('You need to wrap your AccordionItem inside an Accordion');\n }\n\n const [openId, setOpenId] = contextValue;\n\n React.useEffect(() => {\n if (defaultOpen) {\n setOpenId(id);\n }\n }, [defaultOpen, id, setOpenId]);\n\n const isOpen = openId === id;\n\n return {\n isOpen,\n toggle: () => setOpenId(isOpen ? null : id),\n };\n};\n","import React from 'react';\n\nimport { UnmountClosed } from 'react-collapse';\n\ntype BaseExpandProps = {\n /** Innholdet som skal være expandable */\n children: React.ReactNode;\n /** Boolean for om innholdet vises eller ikke */\n open: boolean;\n [key: string]: any;\n};\nexport const BaseExpand: React.FC<BaseExpandProps> = ({ open, ...rest }) => {\n return (\n <UnmountClosed isOpened={open}>\n <div {...rest} />\n </UnmountClosed>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DownArrowIcon } from '@entur/icons';\nimport './ExpandArrow.scss';\n\ntype ExpandArrowProps = {\n /** Om innholdet er åpent eller ikke, som bestemmer retningen på pila\n * @default false\n */\n open?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const ExpandArrow: React.FC<ExpandArrowProps> = ({\n open = false,\n className,\n ...rest\n}) => {\n return (\n <DownArrowIcon\n className={classNames(className, 'eds-expandable-arrow', {\n 'eds-expandable-arrow--open': open,\n })}\n {...rest}\n aria-hidden=\"true\"\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { Heading5 } from '@entur/typography';\nimport { BaseExpand } from './BaseExpand';\n\nimport './BaseExpandablePanel.scss';\nimport { ExpandArrow } from './ExpandArrow';\n\ntype BaseExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** IDen til expand-panelet */\n id: string;\n /** Prop for om innholdet er åpent */\n open: boolean;\n /** Funksjonen som styrer åpningen av BaseExpandablePanel */\n onToggle: () => void;\n /** Styling som sendes til innholdet av BaseExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const BaseExpandablePanel: React.FC<BaseExpandablePanelProps> = ({\n title,\n children,\n className,\n id,\n open,\n onToggle,\n contentStyle,\n ...rest\n}) => {\n return (\n <div className={classNames('eds-expandable-panel', className)}>\n <button\n type=\"button\"\n className=\"eds-expandable-panel__trigger\"\n onClick={onToggle}\n aria-expanded={open}\n aria-controls={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component as=\"span\">{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" inline />\n </button>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport { Heading5, Paragraph, SubParagraph } from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: React.ReactNode;\n /** Innholdet som skal vises under linken */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandableText skal ha som default (med mindre den er kontrollert)\n * @default false\n */\n defaultOpen?: boolean;\n /** Prop for om innholdet er åpent. Brukes hvis du vil kontrollere ExpandableText, sammen med onToggle */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableText */\n onToggle?: () => void;\n /**Styling som sendes til innholdet av ExpandableText */\n contentStyle?: CSSProperties;\n /** Hvilket typografisk element tittelen er\n * @default \"Heading5\"\n */\n titleElement?: 'Heading5' | 'Paragraph' | 'SubParagraph';\n [key: string]: any;\n};\n\nexport const ExpandableText: React.FC<ExpandableTextProps> = ({\n title,\n children,\n defaultOpen = false,\n contentStyle,\n titleElement = 'Heading5',\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable-text');\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n const Element: React.ElementType = React.useMemo(\n () => GetTypographyComponent(titleElement),\n [titleElement],\n );\n\n return (\n <>\n <ExpandableTextButton\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element: 'Heading5' | 'Paragraph' | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n"],"names":["AccordionContext","React","createContext","useAccordion","_ref2","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","_ref","open","rest","_objectWithoutPropertiesLoose","_excluded","createElement","UnmountClosed","isOpened","_extends","ExpandArrow","_ref$open","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","undefined","Heading5","margin","as","style","ExpandableTextButton","_ref$as","Component","inline","warnAboutMissingStyles","_objectDestructuringEmpty","currentlyOpenState","useState","Provider","value","_ref$defaultOpen","overrideId","randomId","useRandomId","_useAccordion","_React$useState","setOpen","prev","_ref$titleElement","titleElement","Element","useMemo","element","Paragraph","SubParagraph","GetTypographyComponent","Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expand.cjs.production.min.js","sources":["../src/Accordion.tsx","../src/BaseExpand.tsx","../src/ExpandArrow.tsx","../src/BaseExpandablePanel.tsx","../src/ExpandableTextButton.tsx","../src/index.tsx","../src/AccordionItem.tsx","../src/ExpandablePanel.tsx","../src/ExpandableText.tsx"],"sourcesContent":["import React from 'react';\n\ntype Id = string | null;\ntype AccordionContextType = [Id, React.Dispatch<React.SetStateAction<Id>>];\nconst AccordionContext = React.createContext<AccordionContextType | null>(null);\n\nexport type AccordionProps = {\n /** To eller flere AccordionItem-komponenter */\n children: React.ReactNode;\n [key: string]: any;\n};\n\nexport const Accordion: React.FC<AccordionProps> = ({ ...rest }) => {\n const currentlyOpenState = React.useState<Id>(null);\n return <AccordionContext.Provider value={currentlyOpenState} {...rest} />;\n};\n\ntype UseAccordionArgs = {\n id: Id;\n defaultOpen?: boolean;\n};\n\nexport const useAccordion: ({ id, defaultOpen }: UseAccordionArgs) => {\n isOpen: boolean;\n toggle: () => void;\n} = ({ id, defaultOpen }: UseAccordionArgs) => {\n const contextValue = React.useContext(AccordionContext);\n if (!contextValue) {\n throw new Error('You need to wrap your AccordionItem inside an Accordion');\n }\n\n const [openId, setOpenId] = contextValue;\n\n React.useEffect(() => {\n if (defaultOpen) {\n setOpenId(id);\n }\n }, [defaultOpen, id, setOpenId]);\n\n const isOpen = openId === id;\n\n return {\n isOpen,\n toggle: () => setOpenId(isOpen ? null : id),\n };\n};\n","import React from 'react';\n\nimport { UnmountClosed } from 'react-collapse';\n\ntype BaseExpandProps = {\n /** Innholdet som skal være expandable */\n children: React.ReactNode;\n /** Boolean for om innholdet vises eller ikke */\n open: boolean;\n [key: string]: any;\n};\nexport const BaseExpand: React.FC<BaseExpandProps> = ({ open, ...rest }) => {\n return (\n <UnmountClosed isOpened={open}>\n <div {...rest} />\n </UnmountClosed>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DownArrowIcon } from '@entur/icons';\nimport './ExpandArrow.scss';\n\ntype ExpandArrowProps = {\n /** Om innholdet er åpent eller ikke, som bestemmer retningen på pila\n * @default false\n */\n open?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const ExpandArrow: React.FC<ExpandArrowProps> = ({\n open = false,\n className,\n ...rest\n}) => {\n return (\n <DownArrowIcon\n className={classNames(className, 'eds-expandable-arrow', {\n 'eds-expandable-arrow--open': open,\n })}\n {...rest}\n aria-hidden=\"true\"\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { Heading5 } from '@entur/typography';\nimport { BaseExpand } from './BaseExpand';\n\nimport './BaseExpandablePanel.scss';\nimport { ExpandArrow } from './ExpandArrow';\n\ntype BaseExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** IDen til expand-panelet */\n id: string;\n /** Prop for om innholdet er åpent */\n open: boolean;\n /** Funksjonen som styrer åpningen av BaseExpandablePanel */\n onToggle: () => void;\n /** Styling som sendes til innholdet av BaseExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const BaseExpandablePanel: React.FC<BaseExpandablePanelProps> = ({\n title,\n children,\n className,\n id,\n open,\n onToggle,\n contentStyle,\n ...rest\n}) => {\n return (\n <div className={classNames('eds-expandable-panel', className)}>\n <button\n type=\"button\"\n className=\"eds-expandable-panel__trigger\"\n onClick={onToggle}\n aria-expanded={open}\n aria-controls={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component>{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" />\n </button>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport {\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Paragraph,\n SubParagraph,\n} from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: React.ReactNode;\n /** Innholdet som skal vises under linken */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandableText skal ha som default (med mindre den er kontrollert)\n * @default false\n */\n defaultOpen?: boolean;\n /** Prop for om innholdet er åpent. Brukes hvis du vil kontrollere ExpandableText, sammen med onToggle */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableText */\n onToggle?: () => void;\n /**Styling som sendes til innholdet av ExpandableText */\n contentStyle?: CSSProperties;\n /** Hvilket typografisk element tittelen er\n * @default \"Heading5\"\n */\n titleElement?: 'Heading5' | 'Paragraph' | 'SubParagraph';\n [key: string]: any;\n};\n\nexport const ExpandableText: React.FC<ExpandableTextProps> = ({\n title,\n children,\n defaultOpen = false,\n contentStyle,\n titleElement = 'Heading5',\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable-text');\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n const Element: React.ElementType = React.useMemo(\n () => GetTypographyComponent(titleElement),\n [titleElement],\n );\n\n return (\n <>\n <ExpandableTextButton\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element:\n | 'Heading5'\n | 'Heading4'\n | 'Heading3'\n | 'Heading2'\n | 'Paragraph'\n | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Heading4':\n return Heading4;\n case 'Heading3':\n return Heading3;\n case 'Heading2':\n return Heading2;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n"],"names":["AccordionContext","React","createContext","useAccordion","_ref2","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","_ref","open","rest","_objectWithoutPropertiesLoose","_excluded","createElement","UnmountClosed","isOpened","_extends","ExpandArrow","_ref$open","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","undefined","Heading5","margin","as","style","ExpandableTextButton","_ref$as","Component","warnAboutMissingStyles","_objectDestructuringEmpty","currentlyOpenState","useState","Provider","value","_ref$defaultOpen","overrideId","randomId","useRandomId","_useAccordion","_React$useState","setOpen","prev","_ref$titleElement","titleElement","Element","useMemo","element","Heading4","Heading3","Heading2","Paragraph","SubParagraph","GetTypographyComponent","Fragment"],"mappings":"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"}
|
package/dist/expand.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useRandomId, warnAboutMissingStyles } from '@entur/utils';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
-
import { Heading5, SubParagraph, Paragraph } from '@entur/typography';
|
|
4
|
+
import { Heading5, SubParagraph, Paragraph, Heading2, Heading3, Heading4 } from '@entur/typography';
|
|
5
5
|
import { UnmountClosed } from 'react-collapse';
|
|
6
6
|
import { DownArrowIcon } from '@entur/icons';
|
|
7
7
|
|
|
@@ -183,12 +183,9 @@ var ExpandableTextButton = function ExpandableTextButton(_ref) {
|
|
|
183
183
|
"aria-expanded": open,
|
|
184
184
|
type: "button",
|
|
185
185
|
onClick: onToggle
|
|
186
|
-
}, rest), React.createElement(Component, {
|
|
187
|
-
as: "span"
|
|
188
|
-
}, children), React.createElement(ExpandArrow, {
|
|
186
|
+
}, rest), React.createElement(Component, null, children), React.createElement(ExpandArrow, {
|
|
189
187
|
open: open,
|
|
190
|
-
className: "eds-expandable-text__arrow"
|
|
191
|
-
inline: true
|
|
188
|
+
className: "eds-expandable-text__arrow"
|
|
192
189
|
}));
|
|
193
190
|
};
|
|
194
191
|
|
|
@@ -229,6 +226,12 @@ function GetTypographyComponent(element) {
|
|
|
229
226
|
switch (element) {
|
|
230
227
|
case 'Heading5':
|
|
231
228
|
return Heading5;
|
|
229
|
+
case 'Heading4':
|
|
230
|
+
return Heading4;
|
|
231
|
+
case 'Heading3':
|
|
232
|
+
return Heading3;
|
|
233
|
+
case 'Heading2':
|
|
234
|
+
return Heading2;
|
|
232
235
|
case 'Paragraph':
|
|
233
236
|
return Paragraph;
|
|
234
237
|
case 'SubParagraph':
|
package/dist/expand.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expand.esm.js","sources":["../src/Accordion.tsx","../src/BaseExpand.tsx","../src/ExpandArrow.tsx","../src/BaseExpandablePanel.tsx","../src/AccordionItem.tsx","../src/ExpandablePanel.tsx","../src/ExpandableTextButton.tsx","../src/ExpandableText.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\n\ntype Id = string | null;\ntype AccordionContextType = [Id, React.Dispatch<React.SetStateAction<Id>>];\nconst AccordionContext = React.createContext<AccordionContextType | null>(null);\n\nexport type AccordionProps = {\n /** To eller flere AccordionItem-komponenter */\n children: React.ReactNode;\n [key: string]: any;\n};\n\nexport const Accordion: React.FC<AccordionProps> = ({ ...rest }) => {\n const currentlyOpenState = React.useState<Id>(null);\n return <AccordionContext.Provider value={currentlyOpenState} {...rest} />;\n};\n\ntype UseAccordionArgs = {\n id: Id;\n defaultOpen?: boolean;\n};\n\nexport const useAccordion: ({ id, defaultOpen }: UseAccordionArgs) => {\n isOpen: boolean;\n toggle: () => void;\n} = ({ id, defaultOpen }: UseAccordionArgs) => {\n const contextValue = React.useContext(AccordionContext);\n if (!contextValue) {\n throw new Error('You need to wrap your AccordionItem inside an Accordion');\n }\n\n const [openId, setOpenId] = contextValue;\n\n React.useEffect(() => {\n if (defaultOpen) {\n setOpenId(id);\n }\n }, [defaultOpen, id, setOpenId]);\n\n const isOpen = openId === id;\n\n return {\n isOpen,\n toggle: () => setOpenId(isOpen ? null : id),\n };\n};\n","import React from 'react';\n\nimport { UnmountClosed } from 'react-collapse';\n\ntype BaseExpandProps = {\n /** Innholdet som skal være expandable */\n children: React.ReactNode;\n /** Boolean for om innholdet vises eller ikke */\n open: boolean;\n [key: string]: any;\n};\nexport const BaseExpand: React.FC<BaseExpandProps> = ({ open, ...rest }) => {\n return (\n <UnmountClosed isOpened={open}>\n <div {...rest} />\n </UnmountClosed>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DownArrowIcon } from '@entur/icons';\nimport './ExpandArrow.scss';\n\ntype ExpandArrowProps = {\n /** Om innholdet er åpent eller ikke, som bestemmer retningen på pila\n * @default false\n */\n open?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const ExpandArrow: React.FC<ExpandArrowProps> = ({\n open = false,\n className,\n ...rest\n}) => {\n return (\n <DownArrowIcon\n className={classNames(className, 'eds-expandable-arrow', {\n 'eds-expandable-arrow--open': open,\n })}\n {...rest}\n aria-hidden=\"true\"\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { Heading5 } from '@entur/typography';\nimport { BaseExpand } from './BaseExpand';\n\nimport './BaseExpandablePanel.scss';\nimport { ExpandArrow } from './ExpandArrow';\n\ntype BaseExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** IDen til expand-panelet */\n id: string;\n /** Prop for om innholdet er åpent */\n open: boolean;\n /** Funksjonen som styrer åpningen av BaseExpandablePanel */\n onToggle: () => void;\n /** Styling som sendes til innholdet av BaseExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const BaseExpandablePanel: React.FC<BaseExpandablePanelProps> = ({\n title,\n children,\n className,\n id,\n open,\n onToggle,\n contentStyle,\n ...rest\n}) => {\n return (\n <div className={classNames('eds-expandable-panel', className)}>\n <button\n type=\"button\"\n className=\"eds-expandable-panel__trigger\"\n onClick={onToggle}\n aria-expanded={open}\n aria-controls={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component as=\"span\">{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" inline />\n </button>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport { Heading5, Paragraph, SubParagraph } from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: React.ReactNode;\n /** Innholdet som skal vises under linken */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandableText skal ha som default (med mindre den er kontrollert)\n * @default false\n */\n defaultOpen?: boolean;\n /** Prop for om innholdet er åpent. Brukes hvis du vil kontrollere ExpandableText, sammen med onToggle */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableText */\n onToggle?: () => void;\n /**Styling som sendes til innholdet av ExpandableText */\n contentStyle?: CSSProperties;\n /** Hvilket typografisk element tittelen er\n * @default \"Heading5\"\n */\n titleElement?: 'Heading5' | 'Paragraph' | 'SubParagraph';\n [key: string]: any;\n};\n\nexport const ExpandableText: React.FC<ExpandableTextProps> = ({\n title,\n children,\n defaultOpen = false,\n contentStyle,\n titleElement = 'Heading5',\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable-text');\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n const Element: React.ElementType = React.useMemo(\n () => GetTypographyComponent(titleElement),\n [titleElement],\n );\n\n return (\n <>\n <ExpandableTextButton\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element: 'Heading5' | 'Paragraph' | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n"],"names":["AccordionContext","React","createContext","Accordion","rest","currentlyOpenState","useState","createElement","Provider","value","useAccordion","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","_excluded","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","undefined","Heading5","margin","as","style","AccordionItem","overrideId","randomId","useRandomId","ExpandablePanel","setOpen","prev","ExpandableTextButton","Component","inline","ExpandableText","titleElement","Element","useMemo","GetTypographyComponent","Fragment","element","Paragraph","SubParagraph","warnAboutMissingStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expand.esm.js","sources":["../src/Accordion.tsx","../src/BaseExpand.tsx","../src/ExpandArrow.tsx","../src/BaseExpandablePanel.tsx","../src/AccordionItem.tsx","../src/ExpandablePanel.tsx","../src/ExpandableTextButton.tsx","../src/ExpandableText.tsx","../src/index.tsx"],"sourcesContent":["import React from 'react';\n\ntype Id = string | null;\ntype AccordionContextType = [Id, React.Dispatch<React.SetStateAction<Id>>];\nconst AccordionContext = React.createContext<AccordionContextType | null>(null);\n\nexport type AccordionProps = {\n /** To eller flere AccordionItem-komponenter */\n children: React.ReactNode;\n [key: string]: any;\n};\n\nexport const Accordion: React.FC<AccordionProps> = ({ ...rest }) => {\n const currentlyOpenState = React.useState<Id>(null);\n return <AccordionContext.Provider value={currentlyOpenState} {...rest} />;\n};\n\ntype UseAccordionArgs = {\n id: Id;\n defaultOpen?: boolean;\n};\n\nexport const useAccordion: ({ id, defaultOpen }: UseAccordionArgs) => {\n isOpen: boolean;\n toggle: () => void;\n} = ({ id, defaultOpen }: UseAccordionArgs) => {\n const contextValue = React.useContext(AccordionContext);\n if (!contextValue) {\n throw new Error('You need to wrap your AccordionItem inside an Accordion');\n }\n\n const [openId, setOpenId] = contextValue;\n\n React.useEffect(() => {\n if (defaultOpen) {\n setOpenId(id);\n }\n }, [defaultOpen, id, setOpenId]);\n\n const isOpen = openId === id;\n\n return {\n isOpen,\n toggle: () => setOpenId(isOpen ? null : id),\n };\n};\n","import React from 'react';\n\nimport { UnmountClosed } from 'react-collapse';\n\ntype BaseExpandProps = {\n /** Innholdet som skal være expandable */\n children: React.ReactNode;\n /** Boolean for om innholdet vises eller ikke */\n open: boolean;\n [key: string]: any;\n};\nexport const BaseExpand: React.FC<BaseExpandProps> = ({ open, ...rest }) => {\n return (\n <UnmountClosed isOpened={open}>\n <div {...rest} />\n </UnmountClosed>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DownArrowIcon } from '@entur/icons';\nimport './ExpandArrow.scss';\n\ntype ExpandArrowProps = {\n /** Om innholdet er åpent eller ikke, som bestemmer retningen på pila\n * @default false\n */\n open?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const ExpandArrow: React.FC<ExpandArrowProps> = ({\n open = false,\n className,\n ...rest\n}) => {\n return (\n <DownArrowIcon\n className={classNames(className, 'eds-expandable-arrow', {\n 'eds-expandable-arrow--open': open,\n })}\n {...rest}\n aria-hidden=\"true\"\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { Heading5 } from '@entur/typography';\nimport { BaseExpand } from './BaseExpand';\n\nimport './BaseExpandablePanel.scss';\nimport { ExpandArrow } from './ExpandArrow';\n\ntype BaseExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** IDen til expand-panelet */\n id: string;\n /** Prop for om innholdet er åpent */\n open: boolean;\n /** Funksjonen som styrer åpningen av BaseExpandablePanel */\n onToggle: () => void;\n /** Styling som sendes til innholdet av BaseExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const BaseExpandablePanel: React.FC<BaseExpandablePanelProps> = ({\n title,\n children,\n className,\n id,\n open,\n onToggle,\n contentStyle,\n ...rest\n}) => {\n return (\n <div className={classNames('eds-expandable-panel', className)}>\n <button\n type=\"button\"\n className=\"eds-expandable-panel__trigger\"\n onClick={onToggle}\n aria-expanded={open}\n aria-controls={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component>{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" />\n </button>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport {\n Heading2,\n Heading3,\n Heading4,\n Heading5,\n Paragraph,\n SubParagraph,\n} from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: React.ReactNode;\n /** Innholdet som skal vises under linken */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandableText skal ha som default (med mindre den er kontrollert)\n * @default false\n */\n defaultOpen?: boolean;\n /** Prop for om innholdet er åpent. Brukes hvis du vil kontrollere ExpandableText, sammen med onToggle */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableText */\n onToggle?: () => void;\n /**Styling som sendes til innholdet av ExpandableText */\n contentStyle?: CSSProperties;\n /** Hvilket typografisk element tittelen er\n * @default \"Heading5\"\n */\n titleElement?: 'Heading5' | 'Paragraph' | 'SubParagraph';\n [key: string]: any;\n};\n\nexport const ExpandableText: React.FC<ExpandableTextProps> = ({\n title,\n children,\n defaultOpen = false,\n contentStyle,\n titleElement = 'Heading5',\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable-text');\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n const Element: React.ElementType = React.useMemo(\n () => GetTypographyComponent(titleElement),\n [titleElement],\n );\n\n return (\n <>\n <ExpandableTextButton\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element:\n | 'Heading5'\n | 'Heading4'\n | 'Heading3'\n | 'Heading2'\n | 'Paragraph'\n | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Heading4':\n return Heading4;\n case 'Heading3':\n return Heading3;\n case 'Heading2':\n return Heading2;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n"],"names":["AccordionContext","React","createContext","Accordion","rest","currentlyOpenState","useState","createElement","Provider","value","useAccordion","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","_excluded","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","undefined","Heading5","margin","as","style","AccordionItem","overrideId","randomId","useRandomId","ExpandablePanel","setOpen","prev","ExpandableTextButton","Component","ExpandableText","titleElement","Element","useMemo","GetTypographyComponent","Fragment","element","Heading4","Heading3","Heading2","Paragraph","SubParagraph","warnAboutMissingStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,gBAAGC,KAAK,CAACC,aAAa,CAA8B,IAAI,CAAC,CAAA;AAQlEC,IAAAA,SAAS,GAA6B,SAAtCA,SAAS,CAA6C,IAAA,EAAA;AAAA,EAAA,IAAVC,IAAI,GAAA,QAAA,CAAA,EAAA,GAAA,yBAAA,CAAA,IAAA,CAAA,EAAA,IAAA,EAAA,CAAA;AAC3D,EAAA,IAAMC,kBAAkB,GAAGJ,KAAK,CAACK,QAAQ,CAAK,IAAI,CAAC,CAAA;AACnD,EAAA,OAAOL,KAAA,CAAAM,aAAA,CAACP,gBAAgB,CAACQ,QAAQ,EAAA,QAAA,CAAA;AAACC,IAAAA,KAAK,EAAEJ,kBAAAA;AAAkB,GAAA,EAAMD,IAAI,CAAI,CAAA,CAAA;AAC3E,EAAC;AAOYM,IAAAA,YAAY,GAGrB,SAHSA,YAAY,CAGqB,KAAA,EAAA;EAAA,IAAvCC,EAAE,SAAFA,EAAE;AAAEC,IAAAA,WAAW,SAAXA,WAAW,CAAA;AACpB,EAAA,IAAMC,YAAY,GAAGZ,KAAK,CAACa,UAAU,CAACd,gBAAgB,CAAC,CAAA;EACvD,IAAI,CAACa,YAAY,EAAE;AACjB,IAAA,MAAM,IAAIE,KAAK,CAAC,yDAAyD,CAAC,CAAA;AAC3E,GAAA;EAED,IAAOC,MAAM,GAAeH,YAAY,CAAA,CAAA,CAAA;AAAzBI,IAAAA,SAAS,GAAIJ,YAAY,CAAA,CAAA,CAAA,CAAA;EAExCZ,KAAK,CAACiB,SAAS,CAAC,YAAK;AACnB,IAAA,IAAIN,WAAW,EAAE;MACfK,SAAS,CAACN,EAAE,CAAC,CAAA;AACd,KAAA;GACF,EAAE,CAACC,WAAW,EAAED,EAAE,EAAEM,SAAS,CAAC,CAAC,CAAA;AAEhC,EAAA,IAAME,MAAM,GAAGH,MAAM,KAAKL,EAAE,CAAA;EAE5B,OAAO;AACLQ,IAAAA,MAAM,EAANA,MAAM;AACNC,IAAAA,MAAM,EAAE,SAAA,MAAA,GAAA;AAAA,MAAA,OAAMH,SAAS,CAACE,MAAM,GAAG,IAAI,GAAGR,EAAE,CAAC,CAAA;AAAA,KAAA;GAC5C,CAAA;AACH;;;AClCaU,IAAAA,UAAU,GAA8B,SAAxCA,UAAU,CAAoD,IAAA,EAAA;EAAA,IAAnBC,IAAI,QAAJA,IAAI;IAAKlB,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAmB,WAAA,CAAA,CAAA;AACnE,EAAA,OACEtB,KAAC,CAAAM,aAAA,CAAAiB,aAAa,EAAC;AAAAC,IAAAA,QAAQ,EAAEH,IAAAA;GAAI,EAC3BrB,KAAA,CAAAM,aAAA,CAAA,KAAA,EAAA,QAAA,CAAA,EAAA,EAASH,IAAI,CAAA,CAAI,CACH,CAAA;AAEpB;;;ACFasB,IAAAA,WAAW,GAA+B,SAA1CA,WAAW,CAInB,IAAA,EAAA;AAAA,EAAA,IAAA,SAAA,GAAA,IAAA,CAHHJ,IAAI;AAAJA,IAAAA,IAAI,0BAAG,KAAK,GAAA,SAAA;AACZK,IAAAA,SAAS,QAATA,SAAS;IACNvB,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,OACEtB,KAAC,CAAAM,aAAA,CAAAqB,aAAa,EAAA,QAAA,CAAA;AACZD,IAAAA,SAAS,EAAEE,UAAU,CAACF,SAAS,EAAE,sBAAsB,EAAE;AACvD,MAAA,4BAA4B,EAAEL,IAAAA;KAC/B,CAAA;AAAC,GAAA,EACElB,IAAI,EAAA;AAAA,IAAA,aAAA,EACI,MAAA;GACZ,CAAA,CAAA,CAAA;AAEN;;;ACNO,IAAM0B,mBAAmB,GAAuC,SAA1DA,mBAAmB,CAS3B,IAAA,EAAA;EAAA,IARHC,KAAK,QAALA,KAAK;AACLC,IAAAA,QAAQ,QAARA,QAAQ;AACRL,IAAAA,SAAS,QAATA,SAAS;AACThB,IAAAA,EAAE,QAAFA,EAAE;AACFW,IAAAA,IAAI,QAAJA,IAAI;AACJW,IAAAA,QAAQ,QAARA,QAAQ;AACRC,IAAAA,YAAY,QAAZA,YAAY;IACT9B,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,OACEtB;AAAK0B,IAAAA,SAAS,EAAEE,UAAU,CAAC,sBAAsB,EAAEF,SAAS,CAAA;AAAC,GAAA,EAC3D1B,KACE,CAAAM,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA;AAAA4B,IAAAA,IAAI,EAAC,QAAQ;AACbR,IAAAA,SAAS,EAAC,+BAA+B;AACzCS,IAAAA,OAAO,EAAEH,QAAQ;AAAA,IAAA,eAAA,EACFX,IAAI;AACJ,IAAA,eAAA,EAAAA,IAAI,GAAGX,EAAE,GAAG0B,SAAAA;AAAS,GAAA,EAChCjC,IAAI,CAERH,EAAAA,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAoB,IAAAA,SAAS,EAAC,4BAAA;AAA4B,GAAA,EAC1C1B,KAAC,CAAAM,aAAA,CAAA+B,QAAQ,EAAC;AAAAC,IAAAA,MAAM,EAAC,MAAM;AAACC,IAAAA,EAAE,EAAC,MAAA;GACxB,EAAAT,KAAK,CACG,EACX9B,KAAM,CAAAM,aAAA,CAAA,MAAA,EAAA;AAAAoB,IAAAA,SAAS,EAAC,sCAAA;AAAsC,GAAA,EACpD1B,KAAC,CAAAM,aAAA,CAAAmB,WAAW;AAACJ,IAAAA,IAAI,EAAEA,IAAAA;GAAQ,CAAA,CACtB,CACF,CACA,EACTrB,KAAC,CAAAM,aAAA,CAAAc,UAAU;AACTM,IAAAA,SAAS,EAAC,+BAA+B;AACzChB,IAAAA,EAAE,EAAEA,EAAE;AACNW,IAAAA,IAAI,EAAEA,IAAI;AACVmB,IAAAA,KAAK,EAAEP,YAAAA;KAENF,QAAQ,CACE,CACT,CAAA;AAEV,CAAC;;;AC5CYU,IAAAA,aAAa,GAAiC,SAA9CA,aAAa,CAKrB,IAAA,EAAA;AAAA,EAAA,IAAA,gBAAA,GAAA,IAAA,CAJH9B,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AACf+B,IAAAA,UAAU,QAAdhC,EAAE;AACFuB,IAAAA,YAAY,QAAZA,YAAY;IACT9B,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAMqB,QAAQ,GAAGC,WAAW,CAAC,oBAAoB,CAAC,CAAA;AAClD,EAAA,IAAMlC,EAAE,GAAGgC,UAAU,IAAIC,QAAQ,CAAA;AACjC,EAAA,IAAA,aAAA,GAA2BlC,YAAY,CAAC;AAAEC,MAAAA,EAAE,EAAFA,EAAE;AAAEC,MAAAA,WAAW,EAAXA,WAAAA;AAAW,KAAE,CAAC;AAApDO,IAAAA,MAAM,iBAANA,MAAM;AAAEC,IAAAA,MAAM,iBAANA,MAAM,CAAA;AAEtB,EAAA,OACEnB,oBAAC6B,mBAAmB,eACd1B,IAAI,EAAA;AACR8B,IAAAA,YAAY,EAAEA,YAAY;AAC1BvB,IAAAA,EAAE,EAAEA,EAAE;AACNsB,IAAAA,QAAQ,EAAEb,MAAM;AAChBE,IAAAA,IAAI,EAAEH,MAAAA;GACN,CAAA,CAAA,CAAA;AAEN;;;AClBa2B,IAAAA,eAAe,GAAmC,SAAlDA,eAAe,CAIvB,IAAA,EAAA;AAAA,EAAA,IAAA,gBAAA,GAAA,IAAA,CAHHlC,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AACnBsB,IAAAA,YAAY,QAAZA,YAAY;IACT9B,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,IAAMqB,QAAQ,GAAGC,WAAW,CAAC,gBAAgB,CAAC,CAAA;AAE9C,EAAA,IAAA,eAAA,GAA0B5C,KAAK,CAACK,QAAQ,CAACM,WAAW,CAAC;IAA9CO,MAAM,GAAA,eAAA,CAAA,CAAA,CAAA;IAAE4B,OAAO,GAAA,eAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,EAAA,OACE9C,KAAA,CAAAM,aAAA,CAACuB,mBAAmB,EAAA,QAAA,CAAA;AAClBnB,IAAAA,EAAE,EAAEiC,QAAQ;AACZtB,IAAAA,IAAI,EAAEH,MAAM;AACZc,IAAAA,QAAQ,EAAE,SAAA,QAAA,GAAA;MAAA,OAAMc,OAAO,CAAC,UAAAC,IAAI,EAAA;AAAA,QAAA,OAAI,CAACA,IAAI,CAAA;OAAC,CAAA,CAAA;AAAA,KAAA;AACtCd,IAAAA,YAAY,EAAEA,YAAAA;AAAY,GAAA,EACtB9B,IAAI,CACR,CAAA,CAAA;AAEN;;;ACpBa6C,IAAAA,oBAAoB,GAAuC,SAA3DA,oBAAoB,CAM5B,IAAA,EAAA;EAAA,IALHjB,QAAQ,QAARA,QAAQ;AACRV,IAAAA,IAAI,QAAJA,IAAI;AACJW,IAAAA,QAAQ,QAARA,QAAQ;AAAA,IAAA,OAAA,GAAA,IAAA,CACRO,EAAE;AAAEU,IAAAA,SAAS,wBAAGZ,QAAQ,GAAA,OAAA;IACrBlC,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAmB,WAAA,CAAA,CAAA;AAEP,EAAA,OACEtB,KACE,CAAAM,aAAA,CAAA,QAAA,EAAA,QAAA,CAAA;AAAAoB,IAAAA,SAAS,EAAC,8BAA8B;qBACzBL,IAAI;AACnBa,IAAAA,IAAI,EAAC,QAAQ;AACbC,IAAAA,OAAO,EAAEH,QAAAA;AAAQ,GAAA,EACb7B,IAAI,CAERH,EAAAA,KAAC,CAAAM,aAAA,CAAA2C,SAAS,EAAE,IAAA,EAAAlB,QAAQ,CAAa,EACjC/B,KAAA,CAAAM,aAAA,CAACmB,WAAW,EAAA;AAACJ,IAAAA,IAAI,EAAEA,IAAI;AAAEK,IAAAA,SAAS,EAAC,4BAAA;AAA4B,GAAA,CAAG,CAC3D,CAAA;AAEb;;;ACAawB,IAAAA,cAAc,GAAkC,SAAhDA,cAAc,CAOtB,IAAA,EAAA;EAAA,IANHpB,KAAK,QAALA,KAAK;AACLC,IAAAA,QAAQ,QAARA,QAAQ;AAAA,IAAA,gBAAA,GAAA,IAAA,CACRpB,WAAW;AAAXA,IAAAA,WAAW,iCAAG,KAAK,GAAA,gBAAA;AACnBsB,IAAAA,YAAY,QAAZA,YAAY;AAAA,IAAA,iBAAA,GAAA,IAAA,CACZkB,YAAY;AAAZA,IAAAA,YAAY,kCAAG,UAAU,GAAA,iBAAA;IACtBhD,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AAEP,EAAA,IAAMwC,QAAQ,GAAGC,WAAW,CAAC,qBAAqB,CAAC,CAAA;AACnD,EAAA,IAAA,eAAA,GAA0B5C,KAAK,CAACK,QAAQ,CAACM,WAAW,CAAC;IAA9CO,MAAM,GAAA,eAAA,CAAA,CAAA,CAAA;IAAE4B,OAAO,GAAA,eAAA,CAAA,CAAA,CAAA,CAAA;AAEtB,EAAA,IAAMM,OAAO,GAAsBpD,KAAK,CAACqD,OAAO,CAC9C,YAAA;IAAA,OAAMC,sBAAsB,CAACH,YAAY,CAAC,CAAA;GAC1C,EAAA,CAACA,YAAY,CAAC,CACf,CAAA;AAED,EAAA,OACEnD,KAAA,CAAAM,aAAA,CAAAN,KAAA,CAAAuD,QAAA,EAAA,IAAA,EACEvD,KAAA,CAAAM,aAAA,CAAC0C,oBAAoB,EAAA,QAAA,CAAA;AACnB3B,IAAAA,IAAI,EAAEH,MAAM;AACZc,IAAAA,QAAQ,EAAE,SAAA,QAAA,GAAA;MAAA,OAAMc,OAAO,CAAC,UAAAC,IAAI,EAAA;AAAA,QAAA,OAAI,CAACA,IAAI,CAAA;OAAC,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,eAAA,EACvB7B,MAAM,GAAGyB,QAAQ,GAAGP,SAAS;AAC5CG,IAAAA,EAAE,EAAEa,OAAAA;GACAjD,EAAAA,IAAI,GAEP2B,KAAK,CACe,EACvB9B,KAAC,CAAAM,aAAA,CAAAc,UAAU,EAAA,QAAA,CAAA;AACTM,IAAAA,SAAS,EAAC,8BAA8B;AACxChB,IAAAA,EAAE,EAAEiC,QAAQ;AACZtB,IAAAA,IAAI,EAAEH,MAAM;AACZsB,IAAAA,KAAK,EAAEP,YAAAA;AAAY,GAAA,EACf9B,IAAI,CAAA,EAEP4B,QAAQ,CACE,CACZ,CAAA;AAEP,EAAC;AAED,SAASuB,sBAAsB,CAC7BE,OAMkB,EAAA;AAElB,EAAA,QAAQA,OAAO;AACb,IAAA,KAAK,UAAU;AACb,MAAA,OAAOnB,QAAQ,CAAA;AACjB,IAAA,KAAK,UAAU;AACb,MAAA,OAAOoB,QAAQ,CAAA;AACjB,IAAA,KAAK,UAAU;AACb,MAAA,OAAOC,QAAQ,CAAA;AACjB,IAAA,KAAK,UAAU;AACb,MAAA,OAAOC,QAAQ,CAAA;AACjB,IAAA,KAAK,WAAW;AACd,MAAA,OAAOC,SAAS,CAAA;AAClB,IAAA,KAAK,cAAc;AACjB,MAAA,OAAOC,YAAY,CAAA;AACrB,IAAA;AACE,MAAA,OAAOxB,QAAQ,CAAA;AAAC,GAAA;AAEtB;;AClGAyB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC;;;;"}
|
package/dist/styles.css
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
}
|
|
4
4
|
/* DO NOT CHANGE!*/
|
|
5
5
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
6
|
+
.eds-expandable-arrow {
|
|
7
|
+
transition: 0.2s transform ease-out;
|
|
8
|
+
}
|
|
9
|
+
.eds-expandable-arrow--open {
|
|
10
|
+
transform: rotate(-180deg);
|
|
11
|
+
}
|
|
12
|
+
/* DO NOT CHANGE!*/
|
|
13
|
+
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
6
14
|
.eds-expandable-text__trigger {
|
|
7
15
|
-webkit-appearance: none;
|
|
8
16
|
-moz-appearance: none;
|
|
@@ -15,6 +23,28 @@
|
|
|
15
23
|
color: inherit;
|
|
16
24
|
background: inherit;
|
|
17
25
|
font-size: inherit;
|
|
26
|
+
display: flex;
|
|
27
|
+
align-items: center;
|
|
28
|
+
}
|
|
29
|
+
.eds-expandable-text__trigger > h5 {
|
|
30
|
+
margin-top: 0;
|
|
31
|
+
margin-bottom: 0;
|
|
32
|
+
}
|
|
33
|
+
.eds-expandable-text__trigger > h4 {
|
|
34
|
+
margin-top: 0;
|
|
35
|
+
margin-bottom: 0;
|
|
36
|
+
}
|
|
37
|
+
.eds-expandable-text__trigger > h3 {
|
|
38
|
+
margin-top: 0;
|
|
39
|
+
margin-bottom: 0;
|
|
40
|
+
}
|
|
41
|
+
.eds-expandable-text__trigger > h2 {
|
|
42
|
+
margin-top: 0;
|
|
43
|
+
margin-bottom: 0;
|
|
44
|
+
}
|
|
45
|
+
.eds-expandable-text__trigger > p {
|
|
46
|
+
margin-top: 0;
|
|
47
|
+
margin-bottom: 0;
|
|
18
48
|
}
|
|
19
49
|
.eds-expandable-text__trigger:focus {
|
|
20
50
|
outline-offset: 0.125rem;
|
|
@@ -35,14 +65,6 @@
|
|
|
35
65
|
}
|
|
36
66
|
/* DO NOT CHANGE!*/
|
|
37
67
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
38
|
-
.eds-expandable-arrow {
|
|
39
|
-
transition: 0.2s transform ease-out;
|
|
40
|
-
}
|
|
41
|
-
.eds-expandable-arrow--open {
|
|
42
|
-
transform: rotate(-180deg);
|
|
43
|
-
}
|
|
44
|
-
/* DO NOT CHANGE!*/
|
|
45
|
-
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
46
68
|
.eds-expandable-panel {
|
|
47
69
|
width: 100%;
|
|
48
70
|
position: relative;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entur/expand",
|
|
3
|
-
"version": "3.4.
|
|
3
|
+
"version": "3.4.3",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/expand.esm.js",
|
|
@@ -27,15 +27,15 @@
|
|
|
27
27
|
"react-dom": ">=16.8.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@entur/icons": "^6.3.
|
|
31
|
-
"@entur/tokens": "^3.
|
|
32
|
-
"@entur/typography": "^1.8.
|
|
33
|
-
"@entur/utils": "^0.9.
|
|
30
|
+
"@entur/icons": "^6.3.1",
|
|
31
|
+
"@entur/tokens": "^3.10.0",
|
|
32
|
+
"@entur/typography": "^1.8.2",
|
|
33
|
+
"@entur/utils": "^0.9.2",
|
|
34
34
|
"classnames": "^2.3.1",
|
|
35
35
|
"react-collapse": "^5.1.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/react-collapse": "^5.0.1"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "a7f288d524c9ef12f3b78ea35b864c879c0f1cc3"
|
|
41
41
|
}
|