@entur/expand 3.6.11 → 3.6.13-beta.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.
@@ -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\nimport './BaseExpand.scss';\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';\n\nimport { Heading5 } from '@entur/typography';\nimport { BaseExpand } from './BaseExpand';\nimport { ExpandArrow } from './ExpandArrow';\n\nimport './BaseExpandablePanel.scss';\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 disableAnimation?: boolean;\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 disableAnimation,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-expandable-panel', className, {\n 'eds-expandable-panel--disable-animation': disableAnimation,\n })}\n >\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 disableAnimation?: boolean;\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 classNames from 'classnames';\n\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';\n\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 disableAnimation?: boolean;\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 disableAnimation,\n className,\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 <div\n className={classNames('eds-expandable-text', className, {\n 'eds-expandable-text--disable-animation': disableAnimation,\n })}\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 </div>\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","_ref","rest","_extends","_objectDestructuringEmpty","currentlyOpenState","useState","createElement","Provider","value","useAccordion","_ref2","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","_objectWithoutPropertiesLoose","_excluded","UnmountClosed","isOpened","ExpandArrow","_ref$open","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","disableAnimation","type","onClick","undefined","Heading5","margin","as","style","AccordionItem","_ref$defaultOpen","overrideId","randomId","useRandomId","_useAccordion","ExpandablePanel","_React$useState","setOpen","prev","ExpandableTextButton","_ref$as","Component","ExpandableText","_ref$titleElement","titleElement","Element","useMemo","GetTypographyComponent","element","Heading4","Heading3","Heading2","Paragraph","SubParagraph","warnAboutMissingStyles"],"mappings":"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"}
1
+ {"version":3,"file":"expand.esm.js","sources":["../src/Accordion.tsx","../../../node_modules/classnames/index.js","../../../node_modules/react-collapse/lib/Collapse.js","../../../node_modules/react-collapse/lib/UnmountClosed.js","../../../node_modules/react-collapse/lib/index.js","../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","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Collapse = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar Collapse = /*#__PURE__*/function (_React$Component) {\n _inherits(Collapse, _React$Component);\n\n var _super = _createSuper(Collapse);\n\n function Collapse(props) {\n var _this;\n\n _classCallCheck(this, Collapse);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"timeout\", undefined);\n\n _defineProperty(_assertThisInitialized(_this), \"container\", undefined);\n\n _defineProperty(_assertThisInitialized(_this), \"content\", undefined);\n\n _defineProperty(_assertThisInitialized(_this), \"onResize\", function () {\n clearTimeout(_this.timeout);\n\n if (!_this.container || !_this.content) {\n return;\n }\n\n var _this$props = _this.props,\n isOpened = _this$props.isOpened,\n checkTimeout = _this$props.checkTimeout;\n var containerHeight = Math.floor(_this.container.clientHeight);\n var contentHeight = Math.floor(_this.content.clientHeight);\n var isFullyOpened = isOpened && Math.abs(contentHeight - containerHeight) <= 1;\n var isFullyClosed = !isOpened && Math.abs(containerHeight) <= 1;\n\n if (isFullyOpened || isFullyClosed) {\n _this.onRest({\n isFullyOpened: isFullyOpened,\n isFullyClosed: isFullyClosed,\n isOpened: isOpened,\n containerHeight: containerHeight,\n contentHeight: contentHeight\n });\n } else {\n _this.onWork({\n isFullyOpened: isFullyOpened,\n isFullyClosed: isFullyClosed,\n isOpened: isOpened,\n containerHeight: containerHeight,\n contentHeight: contentHeight\n });\n\n _this.timeout = setTimeout(function () {\n return _this.onResize();\n }, checkTimeout);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRest\", function (_ref) {\n var isFullyOpened = _ref.isFullyOpened,\n isFullyClosed = _ref.isFullyClosed,\n isOpened = _ref.isOpened,\n containerHeight = _ref.containerHeight,\n contentHeight = _ref.contentHeight;\n\n if (!_this.container || !_this.content) {\n return;\n }\n\n var hasOpened = isOpened && _this.container.style.height === \"\".concat(contentHeight, \"px\");\n var hasClosed = !isOpened && _this.container.style.height === '0px';\n\n if (hasOpened || hasClosed) {\n _this.container.style.overflow = isOpened ? 'initial' : 'hidden';\n _this.container.style.height = isOpened ? 'auto' : '0px';\n var onRest = _this.props.onRest;\n\n if (onRest) {\n onRest({\n isFullyOpened: isFullyOpened,\n isFullyClosed: isFullyClosed,\n isOpened: isOpened,\n containerHeight: containerHeight,\n contentHeight: contentHeight\n });\n }\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onWork\", function (_ref2) {\n var isFullyOpened = _ref2.isFullyOpened,\n isFullyClosed = _ref2.isFullyClosed,\n isOpened = _ref2.isOpened,\n containerHeight = _ref2.containerHeight,\n contentHeight = _ref2.contentHeight;\n\n if (!_this.container || !_this.content) {\n return;\n }\n\n var isOpenining = isOpened && _this.container.style.height === \"\".concat(contentHeight, \"px\");\n var isClosing = !isOpened && _this.container.style.height === '0px';\n\n if (isOpenining || isClosing) {\n // No need to do any work\n return;\n }\n\n _this.container.style.overflow = 'hidden';\n _this.container.style.height = isOpened ? \"\".concat(contentHeight, \"px\") : '0px';\n var onWork = _this.props.onWork;\n\n if (onWork) {\n onWork({\n isFullyOpened: isFullyOpened,\n isFullyClosed: isFullyClosed,\n isOpened: isOpened,\n containerHeight: containerHeight,\n contentHeight: contentHeight\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRefContainer\", function (container) {\n _this.container = container;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRefContent\", function (content) {\n _this.content = content;\n });\n\n if (props.initialStyle) {\n _this.initialStyle = props.initialStyle;\n } else {\n _this.initialStyle = props.isOpened ? {\n height: 'auto',\n overflow: 'initial'\n } : {\n height: '0px',\n overflow: 'hidden'\n };\n }\n\n return _this;\n }\n\n _createClass(Collapse, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.onResize();\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps) {\n var _this$props2 = this.props,\n theme = _this$props2.theme,\n isOpened = _this$props2.isOpened,\n children = _this$props2.children;\n return children !== nextProps.children || isOpened !== nextProps.isOpened || Object.keys(theme).some(function (c) {\n return theme[c] !== nextProps.theme[c];\n });\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate() {\n if (!this.container || !this.content) {\n return null;\n }\n\n if (this.container.style.height === 'auto') {\n var contentHeight = this.content.clientHeight;\n this.container.style.height = \"\".concat(contentHeight, \"px\");\n }\n\n return null;\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.onResize();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n clearTimeout(this.timeout);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props3 = this.props,\n theme = _this$props3.theme,\n children = _this$props3.children,\n isOpened = _this$props3.isOpened;\n return /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: this.onRefContainer,\n className: theme.collapse,\n style: this.initialStyle,\n \"aria-hidden\": !isOpened\n }, /*#__PURE__*/_react[\"default\"].createElement(\"div\", {\n ref: this.onRefContent,\n className: theme.content\n }, children));\n }\n }]);\n\n return Collapse;\n}(_react[\"default\"].Component);\n\nexports.Collapse = Collapse;\n\n_defineProperty(Collapse, \"defaultProps\", {\n theme: {\n collapse: 'ReactCollapse--collapse',\n content: 'ReactCollapse--content'\n },\n initialStyle: undefined,\n onRest: undefined,\n onWork: undefined,\n checkTimeout: 50\n});","\"use strict\";\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.UnmountClosed = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _Collapse = require(\"./Collapse\");\n\nvar _excluded = [\"isOpened\"],\n _excluded2 = [\"isOpened\"];\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar UnmountClosed = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(UnmountClosed, _React$PureComponent);\n\n var _super = _createSuper(UnmountClosed);\n\n function UnmountClosed(props) {\n var _this;\n\n _classCallCheck(this, UnmountClosed);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"onWork\", function (_ref) {\n var isOpened = _ref.isOpened,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n _this.setState({\n isResting: false,\n isOpened: isOpened\n });\n\n var onWork = _this.props.onWork;\n\n if (onWork) {\n onWork(_objectSpread({\n isOpened: isOpened\n }, rest));\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onRest\", function (_ref2) {\n var isOpened = _ref2.isOpened,\n rest = _objectWithoutProperties(_ref2, _excluded2);\n\n _this.setState({\n isResting: true,\n isOpened: isOpened,\n isInitialRender: false\n });\n\n var onRest = _this.props.onRest;\n\n if (onRest) {\n onRest(_objectSpread({\n isOpened: isOpened\n }, rest));\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getInitialStyle\", function () {\n var _this$state = _this.state,\n isOpened = _this$state.isOpened,\n isInitialRender = _this$state.isInitialRender;\n\n if (isInitialRender) {\n return isOpened ? {\n height: 'auto',\n overflow: 'initial'\n } : {\n height: '0px',\n overflow: 'hidden'\n };\n }\n\n return {\n height: '0px',\n overflow: 'hidden'\n };\n });\n\n _this.state = {\n isResting: true,\n isOpened: props.isOpened,\n isInitialRender: true\n };\n return _this;\n }\n\n _createClass(UnmountClosed, [{\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var isOpened = this.props.isOpened;\n\n if (prevProps.isOpened !== isOpened) {\n // eslint-disable-next-line react/no-did-update-set-state\n this.setState({\n isResting: false,\n isOpened: isOpened,\n isInitialRender: false\n });\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$state2 = this.state,\n isResting = _this$state2.isResting,\n isOpened = _this$state2.isOpened;\n return isResting && !isOpened ? null : /*#__PURE__*/_react[\"default\"].createElement(_Collapse.Collapse, _extends({}, this.props, {\n initialStyle: this.getInitialStyle(),\n onWork: this.onWork,\n onRest: this.onRest\n }));\n }\n }]);\n\n return UnmountClosed;\n}(_react[\"default\"].PureComponent);\n\nexports.UnmountClosed = UnmountClosed;\n\n_defineProperty(UnmountClosed, \"defaultProps\", {\n onWork: undefined,\n onRest: undefined\n});","\"use strict\";\n\nvar _require = require('./Collapse'),\n Collapse = _require.Collapse;\n\nvar _require2 = require('./UnmountClosed'),\n UnmountClosed = _require2.UnmountClosed; // Default export\n\n\nmodule.exports = UnmountClosed; // Extra \"named exports\"\n\nUnmountClosed.Collapse = Collapse;\nUnmountClosed.UnmountClosed = UnmountClosed;","import React from 'react';\n\nimport { UnmountClosed } from 'react-collapse';\n\nimport './BaseExpand.scss';\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';\n\nimport { Heading5 } from '@entur/typography';\nimport { BaseExpand } from './BaseExpand';\nimport { ExpandArrow } from './ExpandArrow';\n\nimport './BaseExpandablePanel.scss';\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 disableAnimation?: boolean;\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 disableAnimation,\n ...rest\n}) => {\n return (\n <div\n className={classNames('eds-expandable-panel', className, {\n 'eds-expandable-panel--disable-animation': disableAnimation,\n })}\n >\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 disableAnimation?: boolean;\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 classNames from 'classnames';\n\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';\n\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 disableAnimation?: boolean;\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 disableAnimation,\n className,\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 <div\n className={classNames('eds-expandable-text', className, {\n 'eds-expandable-text--disable-animation': disableAnimation,\n })}\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 </div>\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":["classNames","_typeof","obj","Collapse_1","require$$0","_setPrototypeOf","o","p","_getPrototypeOf","Collapse","UnmountClosed_1","require$$1","UnmountClosed"],"mappings":"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","x_google_ignoreList":[1,2,3,4]}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,121 @@
1
- import './index.scss';
2
- export * from './Accordion';
3
- export * from './AccordionItem';
4
- export * from './ExpandablePanel';
5
- export * from './BaseExpand';
6
- export * from './ExpandableText';
7
- export * from './ExpandableTextButton';
8
- export * from './ExpandArrow';
1
+ import { CSSProperties } from 'react';
2
+ import { default as default_2 } from 'react';
3
+
4
+ export declare const Accordion: default_2.FC<AccordionProps>;
5
+
6
+ export declare const AccordionItem: default_2.FC<AccordionItemProps>;
7
+
8
+ export declare type AccordionItemProps = {
9
+ /** Teksten som skal stå i panelet */
10
+ title: default_2.ReactNode;
11
+ /** Innholdet som skal vises under panelet */
12
+ children: default_2.ReactNode;
13
+ /** Hvilken tilstand AccordionItem skal ha som default
14
+ * @default false
15
+ */
16
+ defaultOpen?: boolean;
17
+ /** Styling som sendes til innholdet av AccordionItem */
18
+ contentStyle?: CSSProperties;
19
+ disableAnimation?: boolean;
20
+ [key: string]: any;
21
+ };
22
+
23
+ export declare type AccordionProps = {
24
+ /** To eller flere AccordionItem-komponenter */
25
+ children: default_2.ReactNode;
26
+ [key: string]: any;
27
+ };
28
+
29
+ export declare const BaseExpand: default_2.FC<BaseExpandProps>;
30
+
31
+ declare type BaseExpandProps = {
32
+ /** Innholdet som skal være expandable */
33
+ children: default_2.ReactNode;
34
+ /** Boolean for om innholdet vises eller ikke */
35
+ open: boolean;
36
+ [key: string]: any;
37
+ };
38
+
39
+ export declare type ExandableTextButtonProps = {
40
+ children: default_2.ReactNode;
41
+ /** Prop for om innholdet er åpent */
42
+ open?: boolean;
43
+ /** Funksjonen som styrer åpningen av ExpandableTextButton */
44
+ onToggle: () => void;
45
+ /** Den typografiske komponenten for tittelen
46
+ * @default Heading5
47
+ */
48
+ as?: default_2.ElementType;
49
+ [key: string]: any;
50
+ };
51
+
52
+ export declare const ExpandablePanel: default_2.FC<ExpandablePanelProps>;
53
+
54
+ export declare type ExpandablePanelProps = {
55
+ /** Teksten som skal stå i panelet */
56
+ title: default_2.ReactNode;
57
+ /** Innholdet som skal vises under panelet */
58
+ children: default_2.ReactNode;
59
+ /** Hvilken tilstand ExpandablePanel skal ha som default
60
+ * @default false
61
+ */
62
+ defaultOpen?: boolean;
63
+ /** Funksjonen som styrer åpningen av ExpandablePanel */
64
+ onToggle?: () => void;
65
+ /** Styling som sendes til innholdet av ExpandablePanel */
66
+ contentStyle?: CSSProperties;
67
+ [key: string]: any;
68
+ };
69
+
70
+ export declare const ExpandableText: default_2.FC<ExpandableTextProps>;
71
+
72
+ export declare const ExpandableTextButton: default_2.FC<ExandableTextButtonProps>;
73
+
74
+ export declare type ExpandableTextProps = {
75
+ /** Teksten som skal "vises" */
76
+ title: default_2.ReactNode;
77
+ /** Innholdet som skal vises under linken */
78
+ children: default_2.ReactNode;
79
+ /** Hvilken tilstand ExpandableText skal ha som default (med mindre den er kontrollert)
80
+ * @default false
81
+ */
82
+ defaultOpen?: boolean;
83
+ /** Prop for om innholdet er åpent. Brukes hvis du vil kontrollere ExpandableText, sammen med onToggle */
84
+ open?: boolean;
85
+ /** Funksjonen som styrer åpningen av ExpandableText */
86
+ onToggle?: () => void;
87
+ /**Styling som sendes til innholdet av ExpandableText */
88
+ contentStyle?: CSSProperties;
89
+ /** Hvilket typografisk element tittelen er
90
+ * @default "Heading5"
91
+ */
92
+ titleElement?: 'Heading5' | 'Paragraph' | 'SubParagraph';
93
+ disableAnimation?: boolean;
94
+ [key: string]: any;
95
+ };
96
+
97
+ export declare const ExpandArrow: default_2.FC<ExpandArrowProps>;
98
+
99
+ declare type ExpandArrowProps = {
100
+ /** Om innholdet er åpent eller ikke, som bestemmer retningen på pila
101
+ * @default false
102
+ */
103
+ open?: boolean;
104
+ /** Ekstra klassenavn */
105
+ className?: string;
106
+ [key: string]: any;
107
+ };
108
+
109
+ declare type Id = string | null;
110
+
111
+ export declare const useAccordion: ({ id, defaultOpen }: UseAccordionArgs) => {
112
+ isOpen: boolean;
113
+ toggle: () => void;
114
+ };
115
+
116
+ declare type UseAccordionArgs = {
117
+ id: Id;
118
+ defaultOpen?: boolean;
119
+ };
120
+
121
+ export { }
package/dist/styles.css CHANGED
@@ -1,96 +1,5 @@
1
1
  /* DO NOT CHANGE!*/
2
2
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
3
- .ReactCollapse--collapse {
4
- transition: height 0.5s ease-out;
5
- }
6
- /* DO NOT CHANGE!*/
7
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
8
- .eds-expandable-arrow {
9
- color: var(--components-expand-expandablepanel-standard-icon);
10
- transition: 0.2s transform ease-out;
11
- }
12
- .eds-expandable-arrow--open {
13
- transform: rotate(-180deg);
14
- }
15
- .eds-contrast .eds-expandable-arrow {
16
- color: var(--components-expand-expandablepanel-contrast-icon);
17
- }
18
-
19
- .eds-expandable-text--disable-animation .eds-expandable-arrow,
20
- .eds-expandable-panel--disable-animation .eds-expandable-arrow {
21
- transition: none;
22
- }
23
- /* DO NOT CHANGE!*/
24
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
25
- .eds-expandable-panel {
26
- width: 100%;
27
- position: relative;
28
- }
29
- .eds-expandable-panel + .eds-expandable-panel {
30
- margin-top: 0.125rem;
31
- }
32
- .eds-expandable-panel:focus, .eds-expandable-panel:focus-within {
33
- z-index: 2;
34
- }
35
- .eds-expandable-panel__grid {
36
- display: grid;
37
- grid-template-columns: auto 2rem;
38
- }
39
- .eds-expandable-panel__trigger {
40
- -webkit-appearance: none;
41
- -moz-appearance: none;
42
- appearance: none;
43
- background: var(--components-expand-expandablepanel-standard-fill-default);
44
- border: none;
45
- border-radius: 0.25rem;
46
- color: var(--components-expand-expandablepanel-standard-text);
47
- cursor: pointer;
48
- font-family: inherit;
49
- font-size: inherit;
50
- margin: 0;
51
- padding: 1rem 1.5rem 1rem 1.5rem;
52
- text-align: left;
53
- -webkit-user-select: none;
54
- -moz-user-select: none;
55
- user-select: none;
56
- width: 100%;
57
- word-break: break-word;
58
- }
59
- .eds-contrast .eds-expandable-panel__trigger {
60
- background: var(--components-expand-expandablepanel-contrast-fill-default);
61
- color: var(--components-expand-expandablepanel-contrast-text);
62
- }
63
- .eds-expandable-panel__trigger:hover {
64
- background: var(--components-expand-expandablepanel-standard-fill-hover);
65
- }
66
- .eds-contrast .eds-expandable-panel__trigger:hover {
67
- background: var(--components-expand-expandablepanel-contrast-fill-hover);
68
- }
69
- .eds-expandable-panel__trigger:focus-visible {
70
- outline: 2px solid #181c56;
71
- outline-color: var(--basecolors-stroke-focus-standard);
72
- outline-offset: 0.125rem;
73
- }
74
- .eds-contrast .eds-expandable-panel__trigger:focus-visible {
75
- outline-color: var(--basecolors-stroke-focus-contrast);
76
- }
77
- .eds-expandable-panel__icon-container {
78
- display: flex;
79
- align-items: center;
80
- justify-content: flex-end;
81
- }
82
- .eds-expandable-panel__content {
83
- overflow: auto;
84
- padding: 1rem 1rem 1rem 1.5rem;
85
- }
86
- .eds-expandable-panel .ReactCollapse--collapse {
87
- transition: height 0.5s ease-out;
88
- }
89
- .eds-expandable-panel--disable-animation .ReactCollapse--collapse {
90
- transition: none;
91
- }
92
- /* DO NOT CHANGE!*/
93
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
94
3
  /* DO NOT CHANGE!*/
95
4
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
96
5
  /* DO NOT CHANGE!*/
@@ -278,13 +187,94 @@
278
187
  .eds-expandable-arrow {
279
188
  transition: none !important;
280
189
  }
190
+ }/* DO NOT CHANGE!*/
191
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
192
+ .ReactCollapse--collapse {
193
+ transition: height 0.5s ease-out;
194
+ }/* DO NOT CHANGE!*/
195
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
196
+ .eds-expandable-arrow {
197
+ color: var(--components-expand-expandablepanel-standard-icon);
198
+ transition: 0.2s transform ease-out;
281
199
  }
282
- /* DO NOT CHANGE!*/
200
+ .eds-expandable-arrow--open {
201
+ transform: rotate(-180deg);
202
+ }
203
+ .eds-contrast .eds-expandable-arrow {
204
+ color: var(--components-expand-expandablepanel-contrast-icon);
205
+ }
206
+
207
+ .eds-expandable-text--disable-animation .eds-expandable-arrow,
208
+ .eds-expandable-panel--disable-animation .eds-expandable-arrow {
209
+ transition: none;
210
+ }/* DO NOT CHANGE!*/
211
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
212
+ .eds-expandable-panel {
213
+ width: 100%;
214
+ position: relative;
215
+ }
216
+ .eds-expandable-panel + .eds-expandable-panel {
217
+ margin-top: 0.125rem;
218
+ }
219
+ .eds-expandable-panel:focus, .eds-expandable-panel:focus-within {
220
+ z-index: 2;
221
+ }
222
+ .eds-expandable-panel__grid {
223
+ display: grid;
224
+ grid-template-columns: auto 2rem;
225
+ }
226
+ .eds-expandable-panel__trigger {
227
+ appearance: none;
228
+ background: var(--components-expand-expandablepanel-standard-fill-default);
229
+ border: none;
230
+ border-radius: 0.25rem;
231
+ color: var(--components-expand-expandablepanel-standard-text);
232
+ cursor: pointer;
233
+ font-family: inherit;
234
+ font-size: inherit;
235
+ margin: 0;
236
+ padding: 1rem 1.5rem 1rem 1.5rem;
237
+ text-align: left;
238
+ user-select: none;
239
+ width: 100%;
240
+ word-break: break-word;
241
+ }
242
+ .eds-contrast .eds-expandable-panel__trigger {
243
+ background: var(--components-expand-expandablepanel-contrast-fill-default);
244
+ color: var(--components-expand-expandablepanel-contrast-text);
245
+ }
246
+ .eds-expandable-panel__trigger:hover {
247
+ background: var(--components-expand-expandablepanel-standard-fill-hover);
248
+ }
249
+ .eds-contrast .eds-expandable-panel__trigger:hover {
250
+ background: var(--components-expand-expandablepanel-contrast-fill-hover);
251
+ }
252
+ .eds-expandable-panel__trigger:focus-visible {
253
+ outline: 2px solid #181c56;
254
+ outline-color: var(--basecolors-stroke-focus-standard);
255
+ outline-offset: 0.125rem;
256
+ }
257
+ .eds-contrast .eds-expandable-panel__trigger:focus-visible {
258
+ outline-color: var(--basecolors-stroke-focus-contrast);
259
+ }
260
+ .eds-expandable-panel__icon-container {
261
+ display: flex;
262
+ align-items: center;
263
+ justify-content: flex-end;
264
+ }
265
+ .eds-expandable-panel__content {
266
+ overflow: auto;
267
+ padding: 1rem 1rem 1rem 1.5rem;
268
+ }
269
+ .eds-expandable-panel .ReactCollapse--collapse {
270
+ transition: height 0.5s ease-out;
271
+ }
272
+ .eds-expandable-panel--disable-animation .ReactCollapse--collapse {
273
+ transition: none;
274
+ }/* DO NOT CHANGE!*/
283
275
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
284
276
  .eds-expandable-text__trigger {
285
- -webkit-appearance: none;
286
- -moz-appearance: none;
287
- appearance: none;
277
+ appearance: none;
288
278
  margin: 0;
289
279
  border: none;
290
280
  padding: 0.5rem 0;
@@ -299,7 +289,7 @@
299
289
  .eds-contrast .eds-expandable-text__trigger {
300
290
  color: var(--components-expand-expandabletext-contrast-text);
301
291
  }
302
- .eds-expandable-text__trigger > h5, .eds-expandable-text__trigger > h4, .eds-expandable-text__trigger > h3, .eds-expandable-text__trigger > h2, .eds-expandable-text__trigger > p {
292
+ .eds-expandable-text__trigger > :is(h5, h4, h3, h2, p) {
303
293
  margin-top: 0;
304
294
  margin-bottom: 0;
305
295
  }
@@ -310,4 +300,4 @@
310
300
  }
311
301
  .eds-contrast .eds-expandable-text__trigger:focus-visible {
312
302
  outline-color: var(--basecolors-stroke-focus-contrast);
313
- }
303
+ }
package/package.json CHANGED
@@ -1,10 +1,18 @@
1
1
  {
2
2
  "name": "@entur/expand",
3
- "version": "3.6.11",
3
+ "version": "3.6.13-beta.0",
4
4
  "license": "EUPL-1.2",
5
- "main": "dist/index.js",
5
+ "main": "dist/expand.cjs.js",
6
6
  "module": "dist/expand.esm.js",
7
- "typings": "dist/index.d.ts",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/expand.esm.js",
12
+ "require": "./dist/expand.cjs.js"
13
+ },
14
+ "./dist/*": "./dist/*"
15
+ },
8
16
  "files": [
9
17
  "dist"
10
18
  ],
@@ -17,26 +25,36 @@
17
25
  "access": "public"
18
26
  },
19
27
  "scripts": {
20
- "start": "dts watch --noClean",
21
- "build": "dts build",
22
- "test": "dts test",
23
- "lint": "dts lint src"
28
+ "start": "vite build --watch",
29
+ "build": "vite build",
30
+ "test": "jest",
31
+ "lint": "eslint src"
24
32
  },
25
33
  "peerDependencies": {
26
34
  "react": ">=16.8.0",
27
35
  "react-dom": ">=16.8.0"
28
36
  },
29
37
  "dependencies": {
30
- "@entur/icons": "^7.14.0",
31
- "@entur/tokens": "^3.19.1",
32
- "@entur/typography": "^1.9.11",
33
- "@entur/utils": "^0.12.3",
34
- "classnames": "^2.3.1",
38
+ "@entur/icons": "^8.0.1-beta.0",
39
+ "@entur/tokens": "^3.19.2-beta.0",
40
+ "@entur/typography": "^1.9.13-beta.0",
41
+ "@entur/utils": "^0.12.4-beta.0",
42
+ "classnames": "^2.5.1",
35
43
  "react-collapse": "^5.1.1"
36
44
  },
37
45
  "devDependencies": {
46
+ "@testing-library/jest-dom": "^5.17.0",
47
+ "@testing-library/react": "^10.4.9",
48
+ "@testing-library/user-event": "14.6.1",
38
49
  "@types/react-collapse": "5.0.4",
39
- "dts-cli": "2.0.5"
50
+ "@vitejs/plugin-react": "^5.0.1",
51
+ "eslint": "^7.32.0",
52
+ "jest": "^29.0.0",
53
+ "jest-environment-jsdom": "^29.0.0",
54
+ "ts-jest": "^29.0.0",
55
+ "typescript": "^5.9.2",
56
+ "vite": "^7.1.3",
57
+ "vite-plugin-dts": "^4.5.4"
40
58
  },
41
- "gitHead": "c029bee6d513246d1576ab72b62c410a1afdebd4"
59
+ "gitHead": "414181fa2084722438238256a9aa32e304896b9d"
42
60
  }
@@ -1,17 +0,0 @@
1
- import React from 'react';
2
- type Id = string | null;
3
- export type AccordionProps = {
4
- /** To eller flere AccordionItem-komponenter */
5
- children: React.ReactNode;
6
- [key: string]: any;
7
- };
8
- export declare const Accordion: React.FC<AccordionProps>;
9
- type UseAccordionArgs = {
10
- id: Id;
11
- defaultOpen?: boolean;
12
- };
13
- export declare const useAccordion: ({ id, defaultOpen }: UseAccordionArgs) => {
14
- isOpen: boolean;
15
- toggle: () => void;
16
- };
17
- export {};
@@ -1,16 +0,0 @@
1
- import React, { CSSProperties } from 'react';
2
- export type AccordionItemProps = {
3
- /** Teksten som skal stå i panelet */
4
- title: React.ReactNode;
5
- /** Innholdet som skal vises under panelet */
6
- children: React.ReactNode;
7
- /** Hvilken tilstand AccordionItem skal ha som default
8
- * @default false
9
- */
10
- defaultOpen?: boolean;
11
- /** Styling som sendes til innholdet av AccordionItem */
12
- contentStyle?: CSSProperties;
13
- disableAnimation?: boolean;
14
- [key: string]: any;
15
- };
16
- export declare const AccordionItem: React.FC<AccordionItemProps>;
@@ -1,11 +0,0 @@
1
- import React from 'react';
2
- import './BaseExpand.scss';
3
- type BaseExpandProps = {
4
- /** Innholdet som skal være expandable */
5
- children: React.ReactNode;
6
- /** Boolean for om innholdet vises eller ikke */
7
- open: boolean;
8
- [key: string]: any;
9
- };
10
- export declare const BaseExpand: React.FC<BaseExpandProps>;
11
- export {};
@@ -1,20 +0,0 @@
1
- import React, { CSSProperties } from 'react';
2
- import './BaseExpandablePanel.scss';
3
- type BaseExpandablePanelProps = {
4
- /** Teksten som skal stå i panelet */
5
- title: React.ReactNode;
6
- /** Innholdet som skal vises under panelet */
7
- children: React.ReactNode;
8
- /** IDen til expand-panelet */
9
- id: string;
10
- /** Prop for om innholdet er åpent */
11
- open: boolean;
12
- /** Funksjonen som styrer åpningen av BaseExpandablePanel */
13
- onToggle: () => void;
14
- /** Styling som sendes til innholdet av BaseExpandablePanel */
15
- contentStyle?: CSSProperties;
16
- disableAnimation?: boolean;
17
- [key: string]: any;
18
- };
19
- export declare const BaseExpandablePanel: React.FC<BaseExpandablePanelProps>;
20
- export {};