@entur/expand 3.3.6 → 3.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,10 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [3.3.7](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.6...@entur/expand@3.3.7) (2022-02-09)
7
+
8
+ **Note:** Version bump only for package @entur/expand
9
+
6
10
  ## [3.3.6](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.5...@entur/expand@3.3.6) (2021-11-17)
7
11
 
8
12
  **Note:** Version bump only for package @entur/expand
@@ -2,15 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
-
7
5
  var utils = require('@entur/utils');
8
- var React = _interopDefault(require('react'));
9
- var classNames = _interopDefault(require('classnames'));
6
+ var React = require('react');
7
+ var classNames = require('classnames');
10
8
  var typography = require('@entur/typography');
11
9
  var reactCollapse = require('react-collapse');
12
10
  var icons = require('@entur/icons');
13
11
 
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
+ var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
16
+
14
17
  function _extends() {
15
18
  _extends = Object.assign || function (target) {
16
19
  for (var i = 1; i < arguments.length; i++) {
@@ -44,19 +47,19 @@ function _objectWithoutPropertiesLoose(source, excluded) {
44
47
  return target;
45
48
  }
46
49
 
47
- var AccordionContext = /*#__PURE__*/React.createContext(null);
50
+ var AccordionContext = /*#__PURE__*/React__default["default"].createContext(null);
48
51
  var Accordion = function Accordion(_ref) {
49
52
  var rest = _extends({}, _ref);
50
53
 
51
- var currentlyOpenState = React.useState(null);
52
- return React.createElement(AccordionContext.Provider, Object.assign({
54
+ var currentlyOpenState = React__default["default"].useState(null);
55
+ return React__default["default"].createElement(AccordionContext.Provider, _extends({
53
56
  value: currentlyOpenState
54
57
  }, rest));
55
58
  };
56
59
  var useAccordion = function useAccordion(_ref2) {
57
60
  var id = _ref2.id,
58
61
  defaultOpen = _ref2.defaultOpen;
59
- var contextValue = React.useContext(AccordionContext);
62
+ var contextValue = React__default["default"].useContext(AccordionContext);
60
63
 
61
64
  if (!contextValue) {
62
65
  throw new Error('You need to wrap your AccordionItem inside an Accordion');
@@ -64,7 +67,7 @@ var useAccordion = function useAccordion(_ref2) {
64
67
 
65
68
  var openId = contextValue[0],
66
69
  setOpenId = contextValue[1];
67
- React.useEffect(function () {
70
+ React__default["default"].useEffect(function () {
68
71
  if (defaultOpen) {
69
72
  setOpenId(id);
70
73
  }
@@ -78,28 +81,31 @@ var useAccordion = function useAccordion(_ref2) {
78
81
  };
79
82
  };
80
83
 
84
+ var _excluded$6 = ["open"];
81
85
  var BaseExpand = function BaseExpand(_ref) {
82
86
  var open = _ref.open,
83
- rest = _objectWithoutPropertiesLoose(_ref, ["open"]);
87
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
84
88
 
85
- return React.createElement(reactCollapse.UnmountClosed, {
89
+ return React__default["default"].createElement(reactCollapse.UnmountClosed, {
86
90
  isOpened: open
87
- }, React.createElement("div", Object.assign({}, rest)));
91
+ }, React__default["default"].createElement("div", _extends({}, rest)));
88
92
  };
89
93
 
94
+ var _excluded$5 = ["open", "className"];
90
95
  var ExpandArrow = function ExpandArrow(_ref) {
91
96
  var _ref$open = _ref.open,
92
97
  open = _ref$open === void 0 ? false : _ref$open,
93
98
  className = _ref.className,
94
- rest = _objectWithoutPropertiesLoose(_ref, ["open", "className"]);
99
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
95
100
 
96
- return React.createElement(icons.DownArrowIcon, Object.assign({
97
- className: classNames(className, 'eds-expandable-arrow', {
101
+ return React__default["default"].createElement(icons.DownArrowIcon, _extends({
102
+ className: classNames__default["default"](className, 'eds-expandable-arrow', {
98
103
  'eds-expandable-arrow--open': open
99
104
  })
100
105
  }, rest));
101
106
  };
102
107
 
108
+ var _excluded$4 = ["title", "children", "className", "id", "open", "onToggle", "contentStyle"];
103
109
  var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
104
110
  var title = _ref.title,
105
111
  children = _ref.children,
@@ -108,26 +114,26 @@ var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
108
114
  open = _ref.open,
109
115
  onToggle = _ref.onToggle,
110
116
  contentStyle = _ref.contentStyle,
111
- rest = _objectWithoutPropertiesLoose(_ref, ["title", "children", "className", "id", "open", "onToggle", "contentStyle"]);
117
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
112
118
 
113
- return React.createElement("div", {
114
- className: classNames('eds-expandable-panel', className)
115
- }, React.createElement("button", Object.assign({
119
+ return React__default["default"].createElement("div", {
120
+ className: classNames__default["default"]('eds-expandable-panel', className)
121
+ }, React__default["default"].createElement("button", _extends({
116
122
  type: "button",
117
123
  className: "eds-expandable-panel__trigger",
118
124
  onClick: onToggle,
119
125
  "aria-expanded": open,
120
126
  "aria-controls": id
121
- }, rest), React.createElement("div", {
127
+ }, rest), React__default["default"].createElement("div", {
122
128
  className: "eds-expandable-panel__grid"
123
- }, React.createElement(typography.Heading5, {
129
+ }, React__default["default"].createElement(typography.Heading5, {
124
130
  margin: "none",
125
131
  as: "div"
126
- }, title), React.createElement("div", {
132
+ }, title), React__default["default"].createElement("div", {
127
133
  className: "eds-expandable-panel__icon-container"
128
- }, React.createElement(ExpandArrow, {
134
+ }, React__default["default"].createElement(ExpandArrow, {
129
135
  open: open
130
- })))), React.createElement(BaseExpand, {
136
+ })))), React__default["default"].createElement(BaseExpand, {
131
137
  className: "eds-expandable-panel__content",
132
138
  id: id,
133
139
  open: open,
@@ -135,12 +141,13 @@ var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
135
141
  }, children));
136
142
  };
137
143
 
144
+ var _excluded$3 = ["defaultOpen", "id", "contentStyle"];
138
145
  var AccordionItem = function AccordionItem(_ref) {
139
146
  var _ref$defaultOpen = _ref.defaultOpen,
140
147
  defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
141
148
  overrideId = _ref.id,
142
149
  contentStyle = _ref.contentStyle,
143
- rest = _objectWithoutPropertiesLoose(_ref, ["defaultOpen", "id", "contentStyle"]);
150
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
144
151
 
145
152
  var randomId = utils.useRandomId('eds-accordion-item');
146
153
  var id = overrideId || randomId;
@@ -152,7 +159,7 @@ var AccordionItem = function AccordionItem(_ref) {
152
159
  isOpen = _useAccordion.isOpen,
153
160
  toggle = _useAccordion.toggle;
154
161
 
155
- return React.createElement(BaseExpandablePanel, Object.assign({}, rest, {
162
+ return React__default["default"].createElement(BaseExpandablePanel, _extends({}, rest, {
156
163
  contentStyle: contentStyle,
157
164
  id: id,
158
165
  onToggle: toggle,
@@ -160,19 +167,20 @@ var AccordionItem = function AccordionItem(_ref) {
160
167
  }));
161
168
  };
162
169
 
170
+ var _excluded$2 = ["defaultOpen", "contentStyle"];
163
171
  var ExpandablePanel = function ExpandablePanel(_ref) {
164
172
  var _ref$defaultOpen = _ref.defaultOpen,
165
173
  defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
166
174
  contentStyle = _ref.contentStyle,
167
- rest = _objectWithoutPropertiesLoose(_ref, ["defaultOpen", "contentStyle"]);
175
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
168
176
 
169
177
  var randomId = utils.useRandomId('eds-expandable');
170
178
 
171
- var _React$useState = React.useState(defaultOpen),
179
+ var _React$useState = React__default["default"].useState(defaultOpen),
172
180
  isOpen = _React$useState[0],
173
181
  setOpen = _React$useState[1];
174
182
 
175
- return React.createElement(BaseExpandablePanel, Object.assign({
183
+ return React__default["default"].createElement(BaseExpandablePanel, _extends({
176
184
  id: randomId,
177
185
  open: isOpen,
178
186
  onToggle: function onToggle() {
@@ -184,28 +192,30 @@ var ExpandablePanel = function ExpandablePanel(_ref) {
184
192
  }, rest));
185
193
  };
186
194
 
195
+ var _excluded$1 = ["children", "open", "onToggle", "as"];
187
196
  var ExpandableTextButton = function ExpandableTextButton(_ref) {
188
197
  var children = _ref.children,
189
198
  open = _ref.open,
190
199
  onToggle = _ref.onToggle,
191
200
  _ref$as = _ref.as,
192
201
  Component = _ref$as === void 0 ? typography.Heading5 : _ref$as,
193
- rest = _objectWithoutPropertiesLoose(_ref, ["children", "open", "onToggle", "as"]);
202
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
194
203
 
195
- return React.createElement("button", Object.assign({
204
+ return React__default["default"].createElement("button", _extends({
196
205
  className: "eds-expandable-text__trigger",
197
206
  "aria-expanded": open,
198
207
  type: "button",
199
208
  onClick: onToggle
200
- }, rest), React.createElement(Component, {
209
+ }, rest), React__default["default"].createElement(Component, {
201
210
  as: "span"
202
- }, children), React.createElement(ExpandArrow, {
211
+ }, children), React__default["default"].createElement(ExpandArrow, {
203
212
  open: open,
204
213
  className: "eds-expandable-text__arrow",
205
214
  inline: true
206
215
  }));
207
216
  };
208
217
 
218
+ var _excluded = ["title", "children", "defaultOpen", "contentStyle", "titleElement"];
209
219
  var ExpandableText = function ExpandableText(_ref) {
210
220
  var title = _ref.title,
211
221
  children = _ref.children,
@@ -214,18 +224,18 @@ var ExpandableText = function ExpandableText(_ref) {
214
224
  contentStyle = _ref.contentStyle,
215
225
  _ref$titleElement = _ref.titleElement,
216
226
  titleElement = _ref$titleElement === void 0 ? 'Heading5' : _ref$titleElement,
217
- rest = _objectWithoutPropertiesLoose(_ref, ["title", "children", "defaultOpen", "contentStyle", "titleElement"]);
227
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
218
228
 
219
229
  var randomId = utils.useRandomId('eds-expandable-text');
220
230
 
221
- var _React$useState = React.useState(defaultOpen),
231
+ var _React$useState = React__default["default"].useState(defaultOpen),
222
232
  isOpen = _React$useState[0],
223
233
  setOpen = _React$useState[1];
224
234
 
225
- var Element = React.useMemo(function () {
235
+ var Element = React__default["default"].useMemo(function () {
226
236
  return GetTypographyComponent(titleElement);
227
237
  }, [titleElement]);
228
- return React.createElement(React.Fragment, null, React.createElement(ExpandableTextButton, Object.assign({
238
+ return React__default["default"].createElement(React__default["default"].Fragment, null, React__default["default"].createElement(ExpandableTextButton, _extends({
229
239
  "aria-controls": randomId,
230
240
  open: isOpen,
231
241
  onToggle: function onToggle() {
@@ -234,7 +244,7 @@ var ExpandableText = function ExpandableText(_ref) {
234
244
  });
235
245
  },
236
246
  as: Element
237
- }, rest), title), React.createElement(BaseExpand, Object.assign({
247
+ }, rest), title), React__default["default"].createElement(BaseExpand, _extends({
238
248
  className: "eds-expandable-text__content",
239
249
  id: randomId,
240
250
  open: isOpen,
@@ -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 />\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={id}\n {...rest}\n >\n <div className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"div\">\n {title}\n </Heading5>\n <div className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </div>\n </div>\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: string;\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 aria-controls={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\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","Provider","value","useAccordion","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","Heading5","margin","as","style","AccordionItem","overrideId","randomId","useRandomId","ExpandablePanel","setOpen","prev","ExpandableTextButton","Component","inline","ExpandableText","titleElement","Element","useMemo","GetTypographyComponent","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 />\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={id}\n {...rest}\n >\n <div className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"div\">\n {title}\n </Heading5>\n <div className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </div>\n </div>\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: string;\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 aria-controls={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\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","Provider","value","useAccordion","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","Heading5","margin","as","style","AccordionItem","overrideId","randomId","useRandomId","ExpandablePanel","setOpen","prev","ExpandableTextButton","Component","inline","ExpandableText","titleElement","Element","useMemo","GetTypographyComponent","element","Paragraph","SubParagraph","warnAboutMissingStyles"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n=require("@entur/utils"),t=e(require("react")),a=e(require("classnames")),r=require("@entur/typography"),o=require("react-collapse"),l=require("@entur/icons");function c(){return(c=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}function i(e,n){if(null==e)return{};var t,a,r={},o=Object.keys(e);for(a=0;a<o.length;a++)n.indexOf(t=o[a])>=0||(r[t]=e[t]);return r}var s=t.createContext(null),d=function(e){var n=e.id,a=e.defaultOpen,r=t.useContext(s);if(!r)throw new Error("You need to wrap your AccordionItem inside an Accordion");var o=r[0],l=r[1];t.useEffect((function(){a&&l(n)}),[a,n,l]);var c=o===n;return{isOpen:c,toggle:function(){return l(c?null:n)}}},u=function(e){var n=e.open,a=i(e,["open"]);return t.createElement(o.UnmountClosed,{isOpened:n},t.createElement("div",Object.assign({},a)))},p=function(e){var n=e.open,r=void 0!==n&&n,o=e.className,c=i(e,["open","className"]);return t.createElement(l.DownArrowIcon,Object.assign({className:a(o,"eds-expandable-arrow",{"eds-expandable-arrow--open":r})},c))},g=function(e){var n=e.title,o=e.children,l=e.className,c=e.id,s=e.open,d=e.onToggle,g=e.contentStyle,m=i(e,["title","children","className","id","open","onToggle","contentStyle"]);return t.createElement("div",{className:a("eds-expandable-panel",l)},t.createElement("button",Object.assign({type:"button",className:"eds-expandable-panel__trigger",onClick:d,"aria-expanded":s,"aria-controls":c},m),t.createElement("div",{className:"eds-expandable-panel__grid"},t.createElement(r.Heading5,{margin:"none",as:"div"},n),t.createElement("div",{className:"eds-expandable-panel__icon-container"},t.createElement(p,{open:s})))),t.createElement(u,{className:"eds-expandable-panel__content",id:c,open:s,style:g},o))},m=function(e){var n=e.children,a=e.open,o=e.onToggle,l=e.as,c=void 0===l?r.Heading5:l,s=i(e,["children","open","onToggle","as"]);return t.createElement("button",Object.assign({className:"eds-expandable-text__trigger","aria-expanded":a,type:"button",onClick:o},s),t.createElement(c,{as:"span"},n),t.createElement(p,{open:a,className:"eds-expandable-text__arrow",inline:!0}))};n.warnAboutMissingStyles("expand","typography","icons"),exports.Accordion=function(e){var n=c({},e),a=t.useState(null);return t.createElement(s.Provider,Object.assign({value:a},n))},exports.AccordionItem=function(e){var a=e.defaultOpen,r=void 0!==a&&a,o=e.id,l=e.contentStyle,c=i(e,["defaultOpen","id","contentStyle"]),s=n.useRandomId("eds-accordion-item"),u=o||s,p=d({id:u,defaultOpen:r});return t.createElement(g,Object.assign({},c,{contentStyle:l,id:u,onToggle:p.toggle,open:p.isOpen}))},exports.BaseExpand=u,exports.ExpandArrow=p,exports.ExpandablePanel=function(e){var a=e.defaultOpen,r=void 0!==a&&a,o=e.contentStyle,l=i(e,["defaultOpen","contentStyle"]),c=n.useRandomId("eds-expandable"),s=t.useState(r),d=s[1];return t.createElement(g,Object.assign({id:c,open:s[0],onToggle:function(){return d((function(e){return!e}))},contentStyle:o},l))},exports.ExpandableText=function(e){var a=e.title,o=e.children,l=e.defaultOpen,c=void 0!==l&&l,s=e.contentStyle,d=e.titleElement,p=void 0===d?"Heading5":d,g=i(e,["title","children","defaultOpen","contentStyle","titleElement"]),f=n.useRandomId("eds-expandable-text"),x=t.useState(c),b=x[0],v=x[1],E=t.useMemo((function(){return function(e){switch(e){case"Heading5":return r.Heading5;case"Paragraph":return r.Paragraph;case"SubParagraph":return r.SubParagraph;default:return r.Heading5}}(p)}),[p]);return t.createElement(t.Fragment,null,t.createElement(m,Object.assign({"aria-controls":f,open:b,onToggle:function(){return v((function(e){return!e}))},as:E},g),a),t.createElement(u,Object.assign({className:"eds-expandable-text__content",id:f,open:b,style:s},g),o))},exports.ExpandableTextButton=m,exports.useAccordion=d;
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 c(){return c=Object.assign||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},c.apply(this,arguments)}function i(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"],m=function(e){var t=e.open,n=i(e,f);return d.default.createElement(r.UnmountClosed,{isOpened:t},d.default.createElement("div",c({},n)))},g=["open","className"],x=function(e){var t=e.open,n=void 0!==t&&t,a=e.className,r=i(e,g);return d.default.createElement(l.DownArrowIcon,c({className:u.default(a,"eds-expandable-arrow",{"eds-expandable-arrow--open":n})},r))},v=["title","children","className","id","open","onToggle","contentStyle"],E=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=i(e,v);return d.default.createElement("div",{className:u.default("eds-expandable-panel",r)},d.default.createElement("button",c({type:"button",className:"eds-expandable-panel__trigger",onClick:s,"aria-expanded":o,"aria-controls":l},f),d.default.createElement("div",{className:"eds-expandable-panel__grid"},d.default.createElement(a.Heading5,{margin:"none",as:"div"},t),d.default.createElement("div",{className:"eds-expandable-panel__icon-container"},d.default.createElement(x,{open:o})))),d.default.createElement(m,{className:"eds-expandable-panel__content",id:l,open:o,style:p},n))},b=["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=i(e,h);return d.default.createElement("button",c({className:"eds-expandable-text__trigger","aria-expanded":n,type:"button",onClick:r},u),d.default.createElement(o,{as:"span"},t),d.default.createElement(x,{open:n,className:"eds-expandable-text__arrow",inline:!0}))},S=["title","children","defaultOpen","contentStyle","titleElement"];e.warnAboutMissingStyles("expand","typography","icons"),exports.Accordion=function(e){var t=c({},e),n=d.default.useState(null);return d.default.createElement(s.Provider,c({value:n},t))},exports.AccordionItem=function(t){var n=t.defaultOpen,a=void 0!==n&&n,r=t.id,l=t.contentStyle,o=i(t,b),u=e.useRandomId("eds-accordion-item"),s=r||u,f=p({id:s,defaultOpen:a});return d.default.createElement(E,c({},o,{contentStyle:l,id:s,onToggle:f.toggle,open:f.isOpen}))},exports.BaseExpand=m,exports.ExpandArrow=x,exports.ExpandablePanel=function(t){var n=t.defaultOpen,a=void 0!==n&&n,r=t.contentStyle,l=i(t,y),o=e.useRandomId("eds-expandable"),u=d.default.useState(a),s=u[1];return d.default.createElement(E,c({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=i(t,S),g=e.useRandomId("eds-expandable-text"),x=d.default.useState(o),v=x[0],E=x[1],b=d.default.useMemo((function(){return function(e){switch(e){case"Heading5":default:return a.Heading5;case"Paragraph":return a.Paragraph;case"SubParagraph":return a.SubParagraph}}(p)}),[p]);return d.default.createElement(d.default.Fragment,null,d.default.createElement(O,c({"aria-controls":g,open:v,onToggle:function(){return E((function(e){return!e}))},as:b},f),n),d.default.createElement(m,c({className:"eds-expandable-text__content",id:g,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 />\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={id}\n {...rest}\n >\n <div className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"div\">\n {title}\n </Heading5>\n <div className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </div>\n </div>\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: string;\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 aria-controls={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\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","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","rest","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","Heading5","margin","as","style","ExpandableTextButton","Component","inline","currentlyOpenState","useState","Provider","value","overrideId","randomId","useRandomId","setOpen","prev","titleElement","Element","useMemo","element","Paragraph","SubParagraph","GetTypographyComponent"],"mappings":"ioBAIA,IAAMA,EAAmBC,EAAMC,cAA2C,MAkB7DC,EAGT,gBAAGC,IAAAA,GAAIC,IAAAA,YACHC,EAAeL,EAAMM,WAAWP,OACjCM,QACG,IAAIE,MAAM,+DAGXC,EAAqBH,KAAbI,EAAaJ,KAE5BL,EAAMU,WAAU,WACVN,GACFK,EAAUN,KAEX,CAACC,EAAaD,EAAIM,QAEfE,EAASH,IAAWL,QAEnB,CACLQ,OAAAA,EACAC,OAAQ,kBAAMH,EAAUE,EAAS,KAAOR,MChC/BU,EAAwC,gBAAGC,IAAAA,KAASC,uBAE7Df,gBAACgB,iBAAcC,SAAUH,GACvBd,uCAASe,MCCFG,EAA0C,oBACrDJ,KAAAA,gBACAK,IAAAA,UACGJ,mCAGDf,gBAACoB,+BACCD,UAAWE,EAAWF,EAAW,uBAAwB,8BACzBL,KAE5BC,KCFGO,EAA0D,gBACrEC,IAAAA,MACAC,IAAAA,SACAL,IAAAA,UACAhB,IAAAA,GACAW,IAAAA,KACAW,IAAAA,SACAC,IAAAA,aACGX,qFAGDf,uBAAKmB,UAAWE,EAAW,uBAAwBF,IACjDnB,wCACE2B,KAAK,SACLR,UAAU,gCACVS,QAASH,kBACMX,kBACAX,GACXY,GAEJf,uBAAKmB,UAAU,8BACbnB,gBAAC6B,YAASC,OAAO,OAAOC,GAAG,OACxBR,GAEHvB,uBAAKmB,UAAU,wCACbnB,gBAACkB,GAAYJ,KAAMA,OAIzBd,gBAACa,GACCM,UAAU,gCACVhB,GAAIA,EACJW,KAAMA,EACNkB,MAAON,GAENF,KCzCIS,EAA2D,gBACtET,IAAAA,SACAV,IAAAA,KACAW,IAAAA,aACAM,GAAIG,aAAYL,aACbd,kDAGDf,wCACEmB,UAAU,+CACKL,EACfa,KAAK,SACLC,QAASH,GACLV,GAEJf,gBAACkC,GAAUH,GAAG,QAAQP,GACtBxB,gBAACkB,GAAYJ,KAAMA,EAAMK,UAAU,6BAA6BgB,uCC9B/C,SAAU,aAAc,2BLSI,gBAAMpB,UACjDqB,EAAqBpC,EAAMqC,SAAa,aACvCrC,gBAACD,EAAiBuC,wBAASC,MAAOH,GAAwBrB,2BMIR,oBACzDX,YAAAA,gBACIoC,IAAJrC,GACAuB,IAAAA,aACGX,2CAEG0B,EAAWC,cAAY,sBACvBvC,EAAKqC,GAAcC,IACEvC,EAAa,CAAEC,GAAAA,EAAIC,YAAAA,WAG5CJ,gBAACsB,mBACKP,GACJW,aAAcA,EACdvB,GAAIA,EACJsB,WAPYb,OAQZE,OARIH,8ECPqD,oBAC7DP,YAAAA,gBACAsB,IAAAA,aACGX,sCAEG0B,EAAWC,cAAY,oBAEH1C,EAAMqC,SAASjC,GAA1BuC,cAGb3C,gBAACsB,iBACCnB,GAAIsC,EACJ3B,UACAW,SAAU,kBAAMkB,GAAQ,SAAAC,UAASA,MACjClB,aAAcA,GACVX,4BCLmD,gBAC3DQ,IAAAA,MACAC,IAAAA,aACApB,YAAAA,gBACAsB,IAAAA,iBACAmB,aAAAA,aAAe,aACZ9B,wEAEG0B,EAAWC,cAAY,yBACH1C,EAAMqC,SAASjC,GAAlCO,OAAQgC,OAETG,EAA6B9C,EAAM+C,SACvC,kBA4BJ,SACEC,UAEQA,OACD,kBACInB,eACJ,mBACIoB,gBACJ,sBACIC,8BAEArB,YAvCHsB,CAAuBN,KAC7B,CAACA,WAID7C,gCACEA,gBAACiC,iCACgBQ,EACf3B,KAAMH,EACNc,SAAU,kBAAMkB,GAAQ,SAAAC,UAASA,MACjCb,GAAIe,GACA/B,GAEHQ,GAEHvB,gBAACa,iBACCM,UAAU,+BACVhB,GAAIsC,EACJ3B,KAAMH,EACNqB,MAAON,GACHX,GAEHS"}
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 />\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={id}\n {...rest}\n >\n <div className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"div\">\n {title}\n </Heading5>\n <div className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </div>\n </div>\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: string;\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 aria-controls={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\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","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","rest","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","Heading5","margin","as","style","ExpandableTextButton","Component","inline","warnAboutMissingStyles","currentlyOpenState","useState","Provider","value","overrideId","randomId","useRandomId","setOpen","prev","titleElement","Element","useMemo","element","Paragraph","SubParagraph","GetTypographyComponent"],"mappings":"gpBAIA,IAAMA,EAAmBC,UAAMC,cAA2C,MAkB7DC,EAGT,gBAAGC,IAAAA,GAAIC,IAAAA,YACHC,EAAeL,UAAMM,WAAWP,OACjCM,QACG,IAAIE,MAAM,+DAGXC,EAAqBH,KAAbI,EAAaJ,KAE5BL,UAAMU,WAAU,WACVN,GACFK,EAAUN,KAEX,CAACC,EAAaD,EAAIM,QAEfE,EAASH,IAAWL,QAEnB,CACLQ,OAAAA,EACAC,OAAQ,kBAAMH,EAAUE,EAAS,KAAOR,iBChC/BU,EAAwC,gBAAGC,IAAAA,KAASC,gBAE7Df,wBAACgB,iBAAcC,SAAUH,GACvBd,mCAASe,6BCCFG,EAA0C,oBACrDJ,KAAAA,gBACAK,IAAAA,UACGJ,gBAGDf,wBAACoB,mBACCD,UAAWE,UAAWF,EAAW,uBAAwB,8BACzBL,KAE5BC,8ECFGO,EAA0D,gBACrEC,IAAAA,MACAC,IAAAA,SACAL,IAAAA,UACAhB,IAAAA,GACAW,IAAAA,KACAW,IAAAA,SACAC,IAAAA,aACGX,gBAGDf,+BAAKmB,UAAWE,UAAW,uBAAwBF,IACjDnB,oCACE2B,KAAK,SACLR,UAAU,gCACVS,QAASH,kBACMX,kBACAX,GACXY,GAEJf,+BAAKmB,UAAU,8BACbnB,wBAAC6B,YAASC,OAAO,OAAOC,GAAG,OACxBR,GAEHvB,+BAAKmB,UAAU,wCACbnB,wBAACkB,GAAYJ,KAAMA,OAIzBd,wBAACa,GACCM,UAAU,gCACVhB,GAAIA,EACJW,KAAMA,EACNkB,MAAON,GAENF,kHCzCIS,EAA2D,gBACtET,IAAAA,SACAV,IAAAA,KACAW,IAAAA,aACAM,GAAIG,aAAYL,aACbd,gBAGDf,oCACEmB,UAAU,+CACKL,EACfa,KAAK,SACLC,QAASH,GACLV,GAEJf,wBAACkC,GAAUH,GAAG,QAAQP,GACtBxB,wBAACkB,GAAYJ,KAAMA,EAAMK,UAAU,6BAA6BgB,iFC9BtEC,yBAAuB,SAAU,aAAc,2BLSI,gBAAMrB,UACjDsB,EAAqBrC,UAAMsC,SAAa,aACvCtC,wBAACD,EAAiBwC,YAASC,MAAOH,GAAwBtB,2BMIR,oBACzDX,YAAAA,gBACIqC,IAAJtC,GACAuB,IAAAA,aACGX,SAEG2B,EAAWC,cAAY,sBACvBxC,EAAKsC,GAAcC,IACExC,EAAa,CAAEC,GAAAA,EAAIC,YAAAA,WAG5CJ,wBAACsB,OACKP,GACJW,aAAcA,EACdvB,GAAIA,EACJsB,WAPYb,OAQZE,OARIH,8ECPqD,oBAC7DP,YAAAA,gBACAsB,IAAAA,aACGX,SAEG2B,EAAWC,cAAY,oBAEH3C,UAAMsC,SAASlC,GAA1BwC,cAGb5C,wBAACsB,KACCnB,GAAIuC,EACJ5B,UACAW,SAAU,kBAAMmB,GAAQ,SAAAC,UAASA,MACjCnB,aAAcA,GACVX,4BCLmD,gBAC3DQ,IAAAA,MACAC,IAAAA,aACApB,YAAAA,gBACAsB,IAAAA,iBACAoB,aAAAA,aAAe,aACZ/B,SAEG2B,EAAWC,cAAY,yBACH3C,UAAMsC,SAASlC,GAAlCO,OAAQiC,OAETG,EAA6B/C,UAAMgD,SACvC,kBA4BJ,SACEC,UAEQA,OACD,0BAOIpB,eALJ,mBACIqB,gBACJ,sBACIC,gBArCHC,CAAuBN,KAC7B,CAACA,WAID9C,gDACEA,wBAACiC,qBACgBS,EACf5B,KAAMH,EACNc,SAAU,kBAAMmB,GAAQ,SAAAC,UAASA,MACjCd,GAAIgB,GACAhC,GAEHQ,GAEHvB,wBAACa,KACCM,UAAU,+BACVhB,GAAIuC,EACJ5B,KAAMH,EACNqB,MAAON,GACHX,GAEHS"}
@@ -43,7 +43,7 @@ var Accordion = function Accordion(_ref) {
43
43
  var rest = _extends({}, _ref);
44
44
 
45
45
  var currentlyOpenState = React.useState(null);
46
- return React.createElement(AccordionContext.Provider, Object.assign({
46
+ return React.createElement(AccordionContext.Provider, _extends({
47
47
  value: currentlyOpenState
48
48
  }, rest));
49
49
  };
@@ -72,28 +72,31 @@ var useAccordion = function useAccordion(_ref2) {
72
72
  };
73
73
  };
74
74
 
75
+ var _excluded$6 = ["open"];
75
76
  var BaseExpand = function BaseExpand(_ref) {
76
77
  var open = _ref.open,
77
- rest = _objectWithoutPropertiesLoose(_ref, ["open"]);
78
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
78
79
 
79
80
  return React.createElement(UnmountClosed, {
80
81
  isOpened: open
81
- }, React.createElement("div", Object.assign({}, rest)));
82
+ }, React.createElement("div", _extends({}, rest)));
82
83
  };
83
84
 
85
+ var _excluded$5 = ["open", "className"];
84
86
  var ExpandArrow = function ExpandArrow(_ref) {
85
87
  var _ref$open = _ref.open,
86
88
  open = _ref$open === void 0 ? false : _ref$open,
87
89
  className = _ref.className,
88
- rest = _objectWithoutPropertiesLoose(_ref, ["open", "className"]);
90
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
89
91
 
90
- return React.createElement(DownArrowIcon, Object.assign({
92
+ return React.createElement(DownArrowIcon, _extends({
91
93
  className: classNames(className, 'eds-expandable-arrow', {
92
94
  'eds-expandable-arrow--open': open
93
95
  })
94
96
  }, rest));
95
97
  };
96
98
 
99
+ var _excluded$4 = ["title", "children", "className", "id", "open", "onToggle", "contentStyle"];
97
100
  var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
98
101
  var title = _ref.title,
99
102
  children = _ref.children,
@@ -102,11 +105,11 @@ var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
102
105
  open = _ref.open,
103
106
  onToggle = _ref.onToggle,
104
107
  contentStyle = _ref.contentStyle,
105
- rest = _objectWithoutPropertiesLoose(_ref, ["title", "children", "className", "id", "open", "onToggle", "contentStyle"]);
108
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
106
109
 
107
110
  return React.createElement("div", {
108
111
  className: classNames('eds-expandable-panel', className)
109
- }, React.createElement("button", Object.assign({
112
+ }, React.createElement("button", _extends({
110
113
  type: "button",
111
114
  className: "eds-expandable-panel__trigger",
112
115
  onClick: onToggle,
@@ -129,12 +132,13 @@ var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
129
132
  }, children));
130
133
  };
131
134
 
135
+ var _excluded$3 = ["defaultOpen", "id", "contentStyle"];
132
136
  var AccordionItem = function AccordionItem(_ref) {
133
137
  var _ref$defaultOpen = _ref.defaultOpen,
134
138
  defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
135
139
  overrideId = _ref.id,
136
140
  contentStyle = _ref.contentStyle,
137
- rest = _objectWithoutPropertiesLoose(_ref, ["defaultOpen", "id", "contentStyle"]);
141
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
138
142
 
139
143
  var randomId = useRandomId('eds-accordion-item');
140
144
  var id = overrideId || randomId;
@@ -146,7 +150,7 @@ var AccordionItem = function AccordionItem(_ref) {
146
150
  isOpen = _useAccordion.isOpen,
147
151
  toggle = _useAccordion.toggle;
148
152
 
149
- return React.createElement(BaseExpandablePanel, Object.assign({}, rest, {
153
+ return React.createElement(BaseExpandablePanel, _extends({}, rest, {
150
154
  contentStyle: contentStyle,
151
155
  id: id,
152
156
  onToggle: toggle,
@@ -154,11 +158,12 @@ var AccordionItem = function AccordionItem(_ref) {
154
158
  }));
155
159
  };
156
160
 
161
+ var _excluded$2 = ["defaultOpen", "contentStyle"];
157
162
  var ExpandablePanel = function ExpandablePanel(_ref) {
158
163
  var _ref$defaultOpen = _ref.defaultOpen,
159
164
  defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
160
165
  contentStyle = _ref.contentStyle,
161
- rest = _objectWithoutPropertiesLoose(_ref, ["defaultOpen", "contentStyle"]);
166
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
162
167
 
163
168
  var randomId = useRandomId('eds-expandable');
164
169
 
@@ -166,7 +171,7 @@ var ExpandablePanel = function ExpandablePanel(_ref) {
166
171
  isOpen = _React$useState[0],
167
172
  setOpen = _React$useState[1];
168
173
 
169
- return React.createElement(BaseExpandablePanel, Object.assign({
174
+ return React.createElement(BaseExpandablePanel, _extends({
170
175
  id: randomId,
171
176
  open: isOpen,
172
177
  onToggle: function onToggle() {
@@ -178,15 +183,16 @@ var ExpandablePanel = function ExpandablePanel(_ref) {
178
183
  }, rest));
179
184
  };
180
185
 
186
+ var _excluded$1 = ["children", "open", "onToggle", "as"];
181
187
  var ExpandableTextButton = function ExpandableTextButton(_ref) {
182
188
  var children = _ref.children,
183
189
  open = _ref.open,
184
190
  onToggle = _ref.onToggle,
185
191
  _ref$as = _ref.as,
186
192
  Component = _ref$as === void 0 ? Heading5 : _ref$as,
187
- rest = _objectWithoutPropertiesLoose(_ref, ["children", "open", "onToggle", "as"]);
193
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
188
194
 
189
- return React.createElement("button", Object.assign({
195
+ return React.createElement("button", _extends({
190
196
  className: "eds-expandable-text__trigger",
191
197
  "aria-expanded": open,
192
198
  type: "button",
@@ -200,6 +206,7 @@ var ExpandableTextButton = function ExpandableTextButton(_ref) {
200
206
  }));
201
207
  };
202
208
 
209
+ var _excluded = ["title", "children", "defaultOpen", "contentStyle", "titleElement"];
203
210
  var ExpandableText = function ExpandableText(_ref) {
204
211
  var title = _ref.title,
205
212
  children = _ref.children,
@@ -208,7 +215,7 @@ var ExpandableText = function ExpandableText(_ref) {
208
215
  contentStyle = _ref.contentStyle,
209
216
  _ref$titleElement = _ref.titleElement,
210
217
  titleElement = _ref$titleElement === void 0 ? 'Heading5' : _ref$titleElement,
211
- rest = _objectWithoutPropertiesLoose(_ref, ["title", "children", "defaultOpen", "contentStyle", "titleElement"]);
218
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
212
219
 
213
220
  var randomId = useRandomId('eds-expandable-text');
214
221
 
@@ -219,7 +226,7 @@ var ExpandableText = function ExpandableText(_ref) {
219
226
  var Element = React.useMemo(function () {
220
227
  return GetTypographyComponent(titleElement);
221
228
  }, [titleElement]);
222
- return React.createElement(React.Fragment, null, React.createElement(ExpandableTextButton, Object.assign({
229
+ return React.createElement(React.Fragment, null, React.createElement(ExpandableTextButton, _extends({
223
230
  "aria-controls": randomId,
224
231
  open: isOpen,
225
232
  onToggle: function onToggle() {
@@ -228,7 +235,7 @@ var ExpandableText = function ExpandableText(_ref) {
228
235
  });
229
236
  },
230
237
  as: Element
231
- }, rest), title), React.createElement(BaseExpand, Object.assign({
238
+ }, rest), title), React.createElement(BaseExpand, _extends({
232
239
  className: "eds-expandable-text__content",
233
240
  id: randomId,
234
241
  open: isOpen,
@@ -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 />\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={id}\n {...rest}\n >\n <div className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"div\">\n {title}\n </Heading5>\n <div className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </div>\n </div>\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: string;\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 aria-controls={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\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","Provider","value","useAccordion","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","Heading5","margin","as","style","AccordionItem","overrideId","randomId","useRandomId","ExpandablePanel","setOpen","prev","ExpandableTextButton","Component","inline","ExpandableText","titleElement","Element","useMemo","GetTypographyComponent","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 />\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={id}\n {...rest}\n >\n <div className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"div\">\n {title}\n </Heading5>\n <div className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </div>\n </div>\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: string;\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 aria-controls={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\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","Provider","value","useAccordion","id","defaultOpen","contextValue","useContext","Error","openId","setOpenId","useEffect","isOpen","toggle","BaseExpand","open","UnmountClosed","isOpened","ExpandArrow","className","DownArrowIcon","classNames","BaseExpandablePanel","title","children","onToggle","contentStyle","type","onClick","Heading5","margin","as","style","AccordionItem","overrideId","randomId","useRandomId","ExpandablePanel","setOpen","prev","ExpandableTextButton","Component","inline","ExpandableText","titleElement","Element","useMemo","GetTypographyComponent","element","Paragraph","SubParagraph","warnAboutMissingStyles"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -2,6 +2,13 @@
2
2
  --eds-expand: 1;
3
3
  }/* DO NOT CHANGE!*/
4
4
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
5
+ .eds-expandable-arrow {
6
+ transition: 0.2s transform ease-out;
7
+ }
8
+ .eds-expandable-arrow--open {
9
+ transform: rotate(-180deg);
10
+ }/* DO NOT CHANGE!*/
11
+ /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
5
12
  .eds-expandable-text__trigger {
6
13
  appearance: none;
7
14
  margin: 0;
@@ -31,13 +38,6 @@
31
38
  margin-left: 0.5rem;
32
39
  }/* DO NOT CHANGE!*/
33
40
  /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
34
- .eds-expandable-arrow {
35
- transition: 0.2s transform ease-out;
36
- }
37
- .eds-expandable-arrow--open {
38
- transform: rotate(-180deg);
39
- }/* DO NOT CHANGE!*/
40
- /* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
41
41
  .eds-expandable-panel {
42
42
  width: 100%;
43
43
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/expand",
3
- "version": "3.3.6",
3
+ "version": "3.3.7",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/expand.esm.js",
@@ -17,25 +17,25 @@
17
17
  "access": "public"
18
18
  },
19
19
  "scripts": {
20
- "start": "tsdx watch --noClean",
21
- "build": "tsdx build",
22
- "test": "tsdx test --env=jsdom",
23
- "lint": "tsdx lint"
20
+ "start": "dts watch --noClean",
21
+ "build": "dts build",
22
+ "test": "dts test --env=jsdom",
23
+ "lint": "dts lint"
24
24
  },
25
25
  "peerDependencies": {
26
26
  "react": ">=16.8.0",
27
27
  "react-dom": ">=16.8.0"
28
28
  },
29
29
  "dependencies": {
30
- "@entur/icons": "^3.4.0",
31
- "@entur/tokens": "^3.3.0",
32
- "@entur/typography": "^1.6.10",
33
- "@entur/utils": "^0.4.2",
30
+ "@entur/icons": "^3.4.1",
31
+ "@entur/tokens": "^3.3.1",
32
+ "@entur/typography": "^1.6.11",
33
+ "@entur/utils": "^0.4.3",
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": "6255452bbbb124b6569095cf08f96143873a7f8e"
40
+ "gitHead": "61e643371cfc5653c93160b7c220152e5b2bafeb"
41
41
  }