@entur/expand 3.3.26 → 3.3.27

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.
@@ -18,39 +18,35 @@ function _extends() {
18
18
  _extends = Object.assign || function (target) {
19
19
  for (var i = 1; i < arguments.length; i++) {
20
20
  var source = arguments[i];
21
-
22
21
  for (var key in source) {
23
22
  if (Object.prototype.hasOwnProperty.call(source, key)) {
24
23
  target[key] = source[key];
25
24
  }
26
25
  }
27
26
  }
28
-
29
27
  return target;
30
28
  };
31
-
32
29
  return _extends.apply(this, arguments);
33
30
  }
34
-
31
+ function _objectDestructuringEmpty(obj) {
32
+ if (obj == null) throw new TypeError("Cannot destructure undefined");
33
+ }
35
34
  function _objectWithoutPropertiesLoose(source, excluded) {
36
35
  if (source == null) return {};
37
36
  var target = {};
38
37
  var sourceKeys = Object.keys(source);
39
38
  var key, i;
40
-
41
39
  for (i = 0; i < sourceKeys.length; i++) {
42
40
  key = sourceKeys[i];
43
41
  if (excluded.indexOf(key) >= 0) continue;
44
42
  target[key] = source[key];
45
43
  }
46
-
47
44
  return target;
48
45
  }
49
46
 
50
47
  var AccordionContext = /*#__PURE__*/React__default["default"].createContext(null);
51
48
  var Accordion = function Accordion(_ref) {
52
- var rest = _extends({}, _ref);
53
-
49
+ var rest = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
54
50
  var currentlyOpenState = React__default["default"].useState(null);
55
51
  return React__default["default"].createElement(AccordionContext.Provider, _extends({
56
52
  value: currentlyOpenState
@@ -58,15 +54,13 @@ var Accordion = function Accordion(_ref) {
58
54
  };
59
55
  var useAccordion = function useAccordion(_ref2) {
60
56
  var id = _ref2.id,
61
- defaultOpen = _ref2.defaultOpen;
57
+ defaultOpen = _ref2.defaultOpen;
62
58
  var contextValue = React__default["default"].useContext(AccordionContext);
63
-
64
59
  if (!contextValue) {
65
60
  throw new Error('You need to wrap your AccordionItem inside an Accordion');
66
61
  }
67
-
68
62
  var openId = contextValue[0],
69
- setOpenId = contextValue[1];
63
+ setOpenId = contextValue[1];
70
64
  React__default["default"].useEffect(function () {
71
65
  if (defaultOpen) {
72
66
  setOpenId(id);
@@ -84,8 +78,7 @@ var useAccordion = function useAccordion(_ref2) {
84
78
  var _excluded$6 = ["open"];
85
79
  var BaseExpand = function BaseExpand(_ref) {
86
80
  var open = _ref.open,
87
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
88
-
81
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
89
82
  return React__default["default"].createElement(reactCollapse.UnmountClosed, {
90
83
  isOpened: open
91
84
  }, React__default["default"].createElement("div", _extends({}, rest)));
@@ -94,10 +87,9 @@ var BaseExpand = function BaseExpand(_ref) {
94
87
  var _excluded$5 = ["open", "className"];
95
88
  var ExpandArrow = function ExpandArrow(_ref) {
96
89
  var _ref$open = _ref.open,
97
- open = _ref$open === void 0 ? false : _ref$open,
98
- className = _ref.className,
99
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
100
-
90
+ open = _ref$open === void 0 ? false : _ref$open,
91
+ className = _ref.className,
92
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
101
93
  return React__default["default"].createElement(icons.DownArrowIcon, _extends({
102
94
  className: classNames__default["default"](className, 'eds-expandable-arrow', {
103
95
  'eds-expandable-arrow--open': open
@@ -108,14 +100,13 @@ var ExpandArrow = function ExpandArrow(_ref) {
108
100
  var _excluded$4 = ["title", "children", "className", "id", "open", "onToggle", "contentStyle"];
109
101
  var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
110
102
  var title = _ref.title,
111
- children = _ref.children,
112
- className = _ref.className,
113
- id = _ref.id,
114
- open = _ref.open,
115
- onToggle = _ref.onToggle,
116
- contentStyle = _ref.contentStyle,
117
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
118
-
103
+ children = _ref.children,
104
+ className = _ref.className,
105
+ id = _ref.id,
106
+ open = _ref.open,
107
+ onToggle = _ref.onToggle,
108
+ contentStyle = _ref.contentStyle,
109
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
119
110
  return React__default["default"].createElement("div", {
120
111
  className: classNames__default["default"]('eds-expandable-panel', className)
121
112
  }, React__default["default"].createElement("button", _extends({
@@ -144,21 +135,18 @@ var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
144
135
  var _excluded$3 = ["defaultOpen", "id", "contentStyle"];
145
136
  var AccordionItem = function AccordionItem(_ref) {
146
137
  var _ref$defaultOpen = _ref.defaultOpen,
147
- defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
148
- overrideId = _ref.id,
149
- contentStyle = _ref.contentStyle,
150
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
151
-
138
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
139
+ overrideId = _ref.id,
140
+ contentStyle = _ref.contentStyle,
141
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
152
142
  var randomId = utils.useRandomId('eds-accordion-item');
153
143
  var id = overrideId || randomId;
154
-
155
144
  var _useAccordion = useAccordion({
156
- id: id,
157
- defaultOpen: defaultOpen
158
- }),
159
- isOpen = _useAccordion.isOpen,
160
- toggle = _useAccordion.toggle;
161
-
145
+ id: id,
146
+ defaultOpen: defaultOpen
147
+ }),
148
+ isOpen = _useAccordion.isOpen,
149
+ toggle = _useAccordion.toggle;
162
150
  return React__default["default"].createElement(BaseExpandablePanel, _extends({}, rest, {
163
151
  contentStyle: contentStyle,
164
152
  id: id,
@@ -170,16 +158,13 @@ var AccordionItem = function AccordionItem(_ref) {
170
158
  var _excluded$2 = ["defaultOpen", "contentStyle"];
171
159
  var ExpandablePanel = function ExpandablePanel(_ref) {
172
160
  var _ref$defaultOpen = _ref.defaultOpen,
173
- defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
174
- contentStyle = _ref.contentStyle,
175
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
176
-
161
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
162
+ contentStyle = _ref.contentStyle,
163
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
177
164
  var randomId = utils.useRandomId('eds-expandable');
178
-
179
165
  var _React$useState = React__default["default"].useState(defaultOpen),
180
- isOpen = _React$useState[0],
181
- setOpen = _React$useState[1];
182
-
166
+ isOpen = _React$useState[0],
167
+ setOpen = _React$useState[1];
183
168
  return React__default["default"].createElement(BaseExpandablePanel, _extends({
184
169
  id: randomId,
185
170
  open: isOpen,
@@ -195,12 +180,11 @@ var ExpandablePanel = function ExpandablePanel(_ref) {
195
180
  var _excluded$1 = ["children", "open", "onToggle", "as"];
196
181
  var ExpandableTextButton = function ExpandableTextButton(_ref) {
197
182
  var children = _ref.children,
198
- open = _ref.open,
199
- onToggle = _ref.onToggle,
200
- _ref$as = _ref.as,
201
- Component = _ref$as === void 0 ? typography.Heading5 : _ref$as,
202
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
203
-
183
+ open = _ref.open,
184
+ onToggle = _ref.onToggle,
185
+ _ref$as = _ref.as,
186
+ Component = _ref$as === void 0 ? typography.Heading5 : _ref$as,
187
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
204
188
  return React__default["default"].createElement("button", _extends({
205
189
  className: "eds-expandable-text__trigger",
206
190
  "aria-expanded": open,
@@ -218,20 +202,17 @@ var ExpandableTextButton = function ExpandableTextButton(_ref) {
218
202
  var _excluded = ["title", "children", "defaultOpen", "contentStyle", "titleElement"];
219
203
  var ExpandableText = function ExpandableText(_ref) {
220
204
  var title = _ref.title,
221
- children = _ref.children,
222
- _ref$defaultOpen = _ref.defaultOpen,
223
- defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
224
- contentStyle = _ref.contentStyle,
225
- _ref$titleElement = _ref.titleElement,
226
- titleElement = _ref$titleElement === void 0 ? 'Heading5' : _ref$titleElement,
227
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
228
-
205
+ children = _ref.children,
206
+ _ref$defaultOpen = _ref.defaultOpen,
207
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
208
+ contentStyle = _ref.contentStyle,
209
+ _ref$titleElement = _ref.titleElement,
210
+ titleElement = _ref$titleElement === void 0 ? 'Heading5' : _ref$titleElement,
211
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
229
212
  var randomId = utils.useRandomId('eds-expandable-text');
230
-
231
213
  var _React$useState = React__default["default"].useState(defaultOpen),
232
- isOpen = _React$useState[0],
233
- setOpen = _React$useState[1];
234
-
214
+ isOpen = _React$useState[0],
215
+ setOpen = _React$useState[1];
235
216
  var Element = React__default["default"].useMemo(function () {
236
217
  return GetTypographyComponent(titleElement);
237
218
  }, [titleElement]);
@@ -251,18 +232,14 @@ var ExpandableText = function ExpandableText(_ref) {
251
232
  style: contentStyle
252
233
  }, rest), children));
253
234
  };
254
-
255
235
  function GetTypographyComponent(element) {
256
236
  switch (element) {
257
237
  case 'Heading5':
258
238
  return typography.Heading5;
259
-
260
239
  case 'Paragraph':
261
240
  return typography.Paragraph;
262
-
263
241
  case 'SubParagraph':
264
242
  return typography.SubParagraph;
265
-
266
243
  default:
267
244
  return typography.Heading5;
268
245
  }
@@ -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={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component as=\"span\">{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" inline />\n </button>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport { Heading5, Paragraph, SubParagraph } from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: 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 open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element: 'Heading5' | 'Paragraph' | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n"],"names":["AccordionContext","React","createContext","Accordion","rest","currentlyOpenState","useState","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","undefined","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={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component as=\"span\">{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" inline />\n </button>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport { Heading5, Paragraph, SubParagraph } from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: 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 open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element: 'Heading5' | 'Paragraph' | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n"],"names":["AccordionContext","React","createContext","Accordion","rest","currentlyOpenState","useState","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","undefined","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";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":o?l:void 0},f),d.default.createElement("span",{className:"eds-expandable-panel__grid"},d.default.createElement(a.Heading5,{margin:"none",as:"span"},t),d.default.createElement("span",{className:"eds-expandable-panel__icon-container"},d.default.createElement(x,{open:o})))),d.default.createElement(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({open:v,onToggle:function(){return E((function(e){return!e}))},"aria-controls":v?g:void 0,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;
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":o?l:void 0},f),d.default.createElement("span",{className:"eds-expandable-panel__grid"},d.default.createElement(a.Heading5,{margin:"none",as:"span"},t),d.default.createElement("span",{className:"eds-expandable-panel__icon-container"},d.default.createElement(x,{open:o})))),d.default.createElement(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({},(function(e){if(null==e)throw new TypeError("Cannot destructure undefined")}(e),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({open:v,onToggle:function(){return E((function(e){return!e}))},"aria-controls":v?g:void 0,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={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component as=\"span\">{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" inline />\n </button>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport { Heading5, Paragraph, SubParagraph } from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: 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 open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element: 'Heading5' | 'Paragraph' | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n"],"names":["AccordionContext","React","createContext","useAccordion","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","undefined","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":"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"}
1
+ {"version":3,"file":"expand.cjs.production.min.js","sources":["../src/Accordion.tsx","../src/BaseExpand.tsx","../src/ExpandArrow.tsx","../src/BaseExpandablePanel.tsx","../src/ExpandableTextButton.tsx","../src/index.tsx","../src/AccordionItem.tsx","../src/ExpandablePanel.tsx","../src/ExpandableText.tsx"],"sourcesContent":["import React from 'react';\n\ntype Id = string | null;\ntype AccordionContextType = [Id, React.Dispatch<React.SetStateAction<Id>>];\nconst AccordionContext = React.createContext<AccordionContextType | null>(null);\n\nexport type AccordionProps = {\n /** To eller flere AccordionItem-komponenter */\n children: React.ReactNode;\n [key: string]: any;\n};\n\nexport const Accordion: React.FC<AccordionProps> = ({ ...rest }) => {\n const currentlyOpenState = React.useState<Id>(null);\n return <AccordionContext.Provider value={currentlyOpenState} {...rest} />;\n};\n\ntype UseAccordionArgs = {\n id: Id;\n defaultOpen?: boolean;\n};\n\nexport const useAccordion: ({ id, defaultOpen }: UseAccordionArgs) => {\n isOpen: boolean;\n toggle: () => void;\n} = ({ id, defaultOpen }: UseAccordionArgs) => {\n const contextValue = React.useContext(AccordionContext);\n if (!contextValue) {\n throw new Error('You need to wrap your AccordionItem inside an Accordion');\n }\n\n const [openId, setOpenId] = contextValue;\n\n React.useEffect(() => {\n if (defaultOpen) {\n setOpenId(id);\n }\n }, [defaultOpen, id, setOpenId]);\n\n const isOpen = openId === id;\n\n return {\n isOpen,\n toggle: () => setOpenId(isOpen ? null : id),\n };\n};\n","import React from 'react';\n\nimport { UnmountClosed } from 'react-collapse';\n\ntype BaseExpandProps = {\n /** Innholdet som skal være expandable */\n children: React.ReactNode;\n /** Boolean for om innholdet vises eller ikke */\n open: boolean;\n [key: string]: any;\n};\nexport const BaseExpand: React.FC<BaseExpandProps> = ({ open, ...rest }) => {\n return (\n <UnmountClosed isOpened={open}>\n <div {...rest} />\n </UnmountClosed>\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport { DownArrowIcon } from '@entur/icons';\nimport './ExpandArrow.scss';\n\ntype ExpandArrowProps = {\n /** Om innholdet er åpent eller ikke, som bestemmer retningen på pila\n * @default false\n */\n open?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n [key: string]: any;\n};\n\nexport const ExpandArrow: React.FC<ExpandArrowProps> = ({\n open = false,\n className,\n ...rest\n}) => {\n return (\n <DownArrowIcon\n className={classNames(className, 'eds-expandable-arrow', {\n 'eds-expandable-arrow--open': open,\n })}\n {...rest}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport classNames from 'classnames';\nimport { Heading5 } from '@entur/typography';\nimport { BaseExpand } from './BaseExpand';\n\nimport './BaseExpandablePanel.scss';\nimport { ExpandArrow } from './ExpandArrow';\n\ntype BaseExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** IDen til expand-panelet */\n id: string;\n /** Prop for om innholdet er åpent */\n open: boolean;\n /** Funksjonen som styrer åpningen av BaseExpandablePanel */\n onToggle: () => void;\n /** Styling som sendes til innholdet av BaseExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const BaseExpandablePanel: React.FC<BaseExpandablePanelProps> = ({\n title,\n children,\n className,\n id,\n open,\n onToggle,\n contentStyle,\n ...rest\n}) => {\n return (\n <div className={classNames('eds-expandable-panel', className)}>\n <button\n type=\"button\"\n className=\"eds-expandable-panel__trigger\"\n onClick={onToggle}\n aria-expanded={open}\n aria-controls={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component as=\"span\">{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" inline />\n </button>\n );\n};\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport { Heading5, Paragraph, SubParagraph } from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: 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 open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element: 'Heading5' | 'Paragraph' | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n"],"names":["AccordionContext","React","createContext","useAccordion","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","undefined","Heading5","margin","as","style","ExpandableTextButton","_ref$as","Component","inline","warnAboutMissingStyles","currentlyOpenState","useState","Provider","value","overrideId","randomId","useRandomId","setOpen","prev","_ref$defaultOpen","_ref$titleElement","titleElement","Element","useMemo","element","Paragraph","SubParagraph","GetTypographyComponent"],"mappings":"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"}
@@ -9,39 +9,35 @@ function _extends() {
9
9
  _extends = Object.assign || function (target) {
10
10
  for (var i = 1; i < arguments.length; i++) {
11
11
  var source = arguments[i];
12
-
13
12
  for (var key in source) {
14
13
  if (Object.prototype.hasOwnProperty.call(source, key)) {
15
14
  target[key] = source[key];
16
15
  }
17
16
  }
18
17
  }
19
-
20
18
  return target;
21
19
  };
22
-
23
20
  return _extends.apply(this, arguments);
24
21
  }
25
-
22
+ function _objectDestructuringEmpty(obj) {
23
+ if (obj == null) throw new TypeError("Cannot destructure undefined");
24
+ }
26
25
  function _objectWithoutPropertiesLoose(source, excluded) {
27
26
  if (source == null) return {};
28
27
  var target = {};
29
28
  var sourceKeys = Object.keys(source);
30
29
  var key, i;
31
-
32
30
  for (i = 0; i < sourceKeys.length; i++) {
33
31
  key = sourceKeys[i];
34
32
  if (excluded.indexOf(key) >= 0) continue;
35
33
  target[key] = source[key];
36
34
  }
37
-
38
35
  return target;
39
36
  }
40
37
 
41
38
  var AccordionContext = /*#__PURE__*/React.createContext(null);
42
39
  var Accordion = function Accordion(_ref) {
43
- var rest = _extends({}, _ref);
44
-
40
+ var rest = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
45
41
  var currentlyOpenState = React.useState(null);
46
42
  return React.createElement(AccordionContext.Provider, _extends({
47
43
  value: currentlyOpenState
@@ -49,15 +45,13 @@ var Accordion = function Accordion(_ref) {
49
45
  };
50
46
  var useAccordion = function useAccordion(_ref2) {
51
47
  var id = _ref2.id,
52
- defaultOpen = _ref2.defaultOpen;
48
+ defaultOpen = _ref2.defaultOpen;
53
49
  var contextValue = React.useContext(AccordionContext);
54
-
55
50
  if (!contextValue) {
56
51
  throw new Error('You need to wrap your AccordionItem inside an Accordion');
57
52
  }
58
-
59
53
  var openId = contextValue[0],
60
- setOpenId = contextValue[1];
54
+ setOpenId = contextValue[1];
61
55
  React.useEffect(function () {
62
56
  if (defaultOpen) {
63
57
  setOpenId(id);
@@ -75,8 +69,7 @@ var useAccordion = function useAccordion(_ref2) {
75
69
  var _excluded$6 = ["open"];
76
70
  var BaseExpand = function BaseExpand(_ref) {
77
71
  var open = _ref.open,
78
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
79
-
72
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$6);
80
73
  return React.createElement(UnmountClosed, {
81
74
  isOpened: open
82
75
  }, React.createElement("div", _extends({}, rest)));
@@ -85,10 +78,9 @@ var BaseExpand = function BaseExpand(_ref) {
85
78
  var _excluded$5 = ["open", "className"];
86
79
  var ExpandArrow = function ExpandArrow(_ref) {
87
80
  var _ref$open = _ref.open,
88
- open = _ref$open === void 0 ? false : _ref$open,
89
- className = _ref.className,
90
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
91
-
81
+ open = _ref$open === void 0 ? false : _ref$open,
82
+ className = _ref.className,
83
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$5);
92
84
  return React.createElement(DownArrowIcon, _extends({
93
85
  className: classNames(className, 'eds-expandable-arrow', {
94
86
  'eds-expandable-arrow--open': open
@@ -99,14 +91,13 @@ var ExpandArrow = function ExpandArrow(_ref) {
99
91
  var _excluded$4 = ["title", "children", "className", "id", "open", "onToggle", "contentStyle"];
100
92
  var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
101
93
  var title = _ref.title,
102
- children = _ref.children,
103
- className = _ref.className,
104
- id = _ref.id,
105
- open = _ref.open,
106
- onToggle = _ref.onToggle,
107
- contentStyle = _ref.contentStyle,
108
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
109
-
94
+ children = _ref.children,
95
+ className = _ref.className,
96
+ id = _ref.id,
97
+ open = _ref.open,
98
+ onToggle = _ref.onToggle,
99
+ contentStyle = _ref.contentStyle,
100
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
110
101
  return React.createElement("div", {
111
102
  className: classNames('eds-expandable-panel', className)
112
103
  }, React.createElement("button", _extends({
@@ -135,21 +126,18 @@ var BaseExpandablePanel = function BaseExpandablePanel(_ref) {
135
126
  var _excluded$3 = ["defaultOpen", "id", "contentStyle"];
136
127
  var AccordionItem = function AccordionItem(_ref) {
137
128
  var _ref$defaultOpen = _ref.defaultOpen,
138
- defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
139
- overrideId = _ref.id,
140
- contentStyle = _ref.contentStyle,
141
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
142
-
129
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
130
+ overrideId = _ref.id,
131
+ contentStyle = _ref.contentStyle,
132
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
143
133
  var randomId = useRandomId('eds-accordion-item');
144
134
  var id = overrideId || randomId;
145
-
146
135
  var _useAccordion = useAccordion({
147
- id: id,
148
- defaultOpen: defaultOpen
149
- }),
150
- isOpen = _useAccordion.isOpen,
151
- toggle = _useAccordion.toggle;
152
-
136
+ id: id,
137
+ defaultOpen: defaultOpen
138
+ }),
139
+ isOpen = _useAccordion.isOpen,
140
+ toggle = _useAccordion.toggle;
153
141
  return React.createElement(BaseExpandablePanel, _extends({}, rest, {
154
142
  contentStyle: contentStyle,
155
143
  id: id,
@@ -161,16 +149,13 @@ var AccordionItem = function AccordionItem(_ref) {
161
149
  var _excluded$2 = ["defaultOpen", "contentStyle"];
162
150
  var ExpandablePanel = function ExpandablePanel(_ref) {
163
151
  var _ref$defaultOpen = _ref.defaultOpen,
164
- defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
165
- contentStyle = _ref.contentStyle,
166
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
167
-
152
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
153
+ contentStyle = _ref.contentStyle,
154
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
168
155
  var randomId = useRandomId('eds-expandable');
169
-
170
156
  var _React$useState = React.useState(defaultOpen),
171
- isOpen = _React$useState[0],
172
- setOpen = _React$useState[1];
173
-
157
+ isOpen = _React$useState[0],
158
+ setOpen = _React$useState[1];
174
159
  return React.createElement(BaseExpandablePanel, _extends({
175
160
  id: randomId,
176
161
  open: isOpen,
@@ -186,12 +171,11 @@ var ExpandablePanel = function ExpandablePanel(_ref) {
186
171
  var _excluded$1 = ["children", "open", "onToggle", "as"];
187
172
  var ExpandableTextButton = function ExpandableTextButton(_ref) {
188
173
  var children = _ref.children,
189
- open = _ref.open,
190
- onToggle = _ref.onToggle,
191
- _ref$as = _ref.as,
192
- Component = _ref$as === void 0 ? Heading5 : _ref$as,
193
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
194
-
174
+ open = _ref.open,
175
+ onToggle = _ref.onToggle,
176
+ _ref$as = _ref.as,
177
+ Component = _ref$as === void 0 ? Heading5 : _ref$as,
178
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
195
179
  return React.createElement("button", _extends({
196
180
  className: "eds-expandable-text__trigger",
197
181
  "aria-expanded": open,
@@ -209,20 +193,17 @@ var ExpandableTextButton = function ExpandableTextButton(_ref) {
209
193
  var _excluded = ["title", "children", "defaultOpen", "contentStyle", "titleElement"];
210
194
  var ExpandableText = function ExpandableText(_ref) {
211
195
  var title = _ref.title,
212
- children = _ref.children,
213
- _ref$defaultOpen = _ref.defaultOpen,
214
- defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
215
- contentStyle = _ref.contentStyle,
216
- _ref$titleElement = _ref.titleElement,
217
- titleElement = _ref$titleElement === void 0 ? 'Heading5' : _ref$titleElement,
218
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
219
-
196
+ children = _ref.children,
197
+ _ref$defaultOpen = _ref.defaultOpen,
198
+ defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
199
+ contentStyle = _ref.contentStyle,
200
+ _ref$titleElement = _ref.titleElement,
201
+ titleElement = _ref$titleElement === void 0 ? 'Heading5' : _ref$titleElement,
202
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
220
203
  var randomId = useRandomId('eds-expandable-text');
221
-
222
204
  var _React$useState = React.useState(defaultOpen),
223
- isOpen = _React$useState[0],
224
- setOpen = _React$useState[1];
225
-
205
+ isOpen = _React$useState[0],
206
+ setOpen = _React$useState[1];
226
207
  var Element = React.useMemo(function () {
227
208
  return GetTypographyComponent(titleElement);
228
209
  }, [titleElement]);
@@ -242,18 +223,14 @@ var ExpandableText = function ExpandableText(_ref) {
242
223
  style: contentStyle
243
224
  }, rest), children));
244
225
  };
245
-
246
226
  function GetTypographyComponent(element) {
247
227
  switch (element) {
248
228
  case 'Heading5':
249
229
  return Heading5;
250
-
251
230
  case 'Paragraph':
252
231
  return Paragraph;
253
-
254
232
  case 'SubParagraph':
255
233
  return SubParagraph;
256
-
257
234
  default:
258
235
  return Heading5;
259
236
  }
@@ -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={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component as=\"span\">{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" inline />\n </button>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport { Heading5, Paragraph, SubParagraph } from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: 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 open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element: 'Heading5' | 'Paragraph' | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n"],"names":["AccordionContext","React","createContext","Accordion","rest","currentlyOpenState","useState","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","undefined","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={open ? id : undefined}\n {...rest}\n >\n <span className=\"eds-expandable-panel__grid\">\n <Heading5 margin=\"none\" as=\"span\">\n {title}\n </Heading5>\n <span className=\"eds-expandable-panel__icon-container\">\n <ExpandArrow open={open} />\n </span>\n </span>\n </button>\n <BaseExpand\n className=\"eds-expandable-panel__content\"\n id={id}\n open={open}\n style={contentStyle}\n >\n {children}\n </BaseExpand>\n </div>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\nimport { useAccordion } from './Accordion';\n\nexport type AccordionItemProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand AccordionItem skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Styling som sendes til innholdet av AccordionItem */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const AccordionItem: React.FC<AccordionItemProps> = ({\n defaultOpen = false,\n id: overrideId,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-accordion-item');\n const id = overrideId || randomId;\n const { isOpen, toggle } = useAccordion({ id, defaultOpen });\n\n return (\n <BaseExpandablePanel\n {...rest}\n contentStyle={contentStyle}\n id={id}\n onToggle={toggle}\n open={isOpen}\n />\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { BaseExpandablePanel } from './BaseExpandablePanel';\n\nexport type ExpandablePanelProps = {\n /** Teksten som skal stå i panelet */\n title: React.ReactNode;\n /** Innholdet som skal vises under panelet */\n children: React.ReactNode;\n /** Hvilken tilstand ExpandablePanel skal ha som default\n * @default false\n */\n defaultOpen?: boolean;\n /** Funksjonen som styrer åpningen av ExpandablePanel */\n onToggle?: () => void;\n /** Styling som sendes til innholdet av ExpandablePanel */\n contentStyle?: CSSProperties;\n [key: string]: any;\n};\nexport const ExpandablePanel: React.FC<ExpandablePanelProps> = ({\n defaultOpen = false,\n contentStyle,\n ...rest\n}) => {\n const randomId = useRandomId('eds-expandable');\n\n const [isOpen, setOpen] = React.useState(defaultOpen);\n\n return (\n <BaseExpandablePanel\n id={randomId}\n open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n contentStyle={contentStyle}\n {...rest}\n />\n );\n};\n","import React from 'react';\nimport { Heading5 } from '@entur/typography';\nimport { ExpandArrow } from './ExpandArrow';\n\nexport type ExandableTextButtonProps = {\n children: React.ReactNode;\n /** Prop for om innholdet er åpent */\n open?: boolean;\n /** Funksjonen som styrer åpningen av ExpandableTextButton */\n onToggle: () => void;\n /** Den typografiske komponenten for tittelen\n * @default Heading5\n */\n as?: React.ElementType;\n [key: string]: any;\n};\n\nexport const ExpandableTextButton: React.FC<ExandableTextButtonProps> = ({\n children,\n open,\n onToggle,\n as: Component = Heading5,\n ...rest\n}) => {\n return (\n <button\n className=\"eds-expandable-text__trigger\"\n aria-expanded={open}\n type=\"button\"\n onClick={onToggle}\n {...rest}\n >\n <Component as=\"span\">{children}</Component>\n <ExpandArrow open={open} className=\"eds-expandable-text__arrow\" inline />\n </button>\n );\n};\n","import React, { CSSProperties } from 'react';\nimport { useRandomId } from '@entur/utils';\nimport { ExpandableTextButton } from './ExpandableTextButton';\nimport { BaseExpand } from './BaseExpand';\nimport { Heading5, Paragraph, SubParagraph } from '@entur/typography';\nimport './ExpandableText.scss';\n\nexport type ExpandableTextProps = {\n /** Teksten som skal \"vises\" */\n title: 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 open={isOpen}\n onToggle={() => setOpen(prev => !prev)}\n aria-controls={isOpen ? randomId : undefined}\n as={Element}\n {...rest}\n >\n {title}\n </ExpandableTextButton>\n <BaseExpand\n className=\"eds-expandable-text__content\"\n id={randomId}\n open={isOpen}\n style={contentStyle}\n {...rest}\n >\n {children}\n </BaseExpand>\n </>\n );\n};\n\nfunction GetTypographyComponent(\n element: 'Heading5' | 'Paragraph' | 'SubParagraph',\n) {\n switch (element) {\n case 'Heading5':\n return Heading5;\n case 'Paragraph':\n return Paragraph;\n case 'SubParagraph':\n return SubParagraph;\n default:\n return Heading5;\n }\n}\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('expand', 'typography', 'icons');\n\nexport * from './Accordion';\nexport * from './AccordionItem';\nexport * from './ExpandablePanel';\nexport * from './BaseExpand';\nexport * from './ExpandableText';\nexport * from './ExpandableTextButton';\nexport * from './ExpandArrow';\n"],"names":["AccordionContext","React","createContext","Accordion","rest","currentlyOpenState","useState","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","undefined","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
@@ -75,7 +75,6 @@
75
75
  text-align: left;
76
76
  -webkit-user-select: none;
77
77
  -moz-user-select: none;
78
- -ms-user-select: none;
79
78
  user-select: none;
80
79
  width: 100%;
81
80
  word-break: break-word;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entur/expand",
3
- "version": "3.3.26",
3
+ "version": "3.3.27",
4
4
  "license": "EUPL-1.2",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/expand.esm.js",
@@ -17,25 +17,30 @@
17
17
  "access": "public"
18
18
  },
19
19
  "scripts": {
20
- "start": "dts watch --noClean",
21
- "build": "dts build",
22
- "test": "dts test --env=jsdom",
23
- "lint": "dts lint"
20
+ "start": "yarn run dts watch --noClean",
21
+ "build": "yarn run dts build",
22
+ "test": "yarn run dts test --env=jsdom",
23
+ "lint": "yarn run 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": "^5.2.2",
31
- "@entur/tokens": "^3.4.1",
32
- "@entur/typography": "^1.7.1",
33
- "@entur/utils": "^0.4.6",
30
+ "@entur/icons": "^5.3.0",
31
+ "@entur/tokens": "^3.4.2",
32
+ "@entur/typography": "^1.7.2",
33
+ "@entur/utils": "^0.4.7",
34
34
  "classnames": "^2.3.1",
35
35
  "react-collapse": "^5.1.0"
36
36
  },
37
37
  "devDependencies": {
38
- "@types/react-collapse": "^5.0.1"
38
+ "@types/react-collapse": "^5.0.1",
39
+ "dts-cli": "^1.1.6",
40
+ "jest": "^27.0.0",
41
+ "jest-watch-typeahead": "^2.2.0",
42
+ "ts-jest": "^27.0.0",
43
+ "typescript": "^4.8.0"
39
44
  },
40
- "gitHead": "11fde5ffbfd805773572c3a7d999d63f2733e0c7"
45
+ "gitHead": "8915b1630bd936740ba9a4a88883f3432948a80e"
41
46
  }
package/CHANGELOG.md DELETED
@@ -1,454 +0,0 @@
1
- # Change Log
2
-
3
- All notable changes to this project will be documented in this file.
4
- See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
-
6
- ## [3.3.26](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.25...@entur/expand@3.3.26) (2022-10-31)
7
-
8
- **Note:** Version bump only for package @entur/expand
9
-
10
- ## [3.3.25](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.24...@entur/expand@3.3.25) (2022-10-31)
11
-
12
- **Note:** Version bump only for package @entur/expand
13
-
14
- ## [3.3.24](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.23...@entur/expand@3.3.24) (2022-10-31)
15
-
16
- **Note:** Version bump only for package @entur/expand
17
-
18
- ## [3.3.23](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.22...@entur/expand@3.3.23) (2022-10-20)
19
-
20
- **Note:** Version bump only for package @entur/expand
21
-
22
- ## [3.3.22](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.21...@entur/expand@3.3.22) (2022-10-20)
23
-
24
- **Note:** Version bump only for package @entur/expand
25
-
26
- ## [3.3.21](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.20...@entur/expand@3.3.21) (2022-10-12)
27
-
28
- ### Bug Fixes
29
-
30
- - **expand:** change divs in button to be span ([29a238e](https://bitbucket.org/enturas/design-system/commits/29a238e698457bea8244cbdc3aceaf4f18892568))
31
- - **expand:** make aria-controls not refere to unmounted element id ([92b0b4a](https://bitbucket.org/enturas/design-system/commits/92b0b4a4ff3b5be56d9ae1559cb61c800897a08f))
32
-
33
- ## [3.3.19](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.18...@entur/expand@3.3.19) (2022-08-31)
34
-
35
- **Note:** Version bump only for package @entur/expand
36
-
37
- ## [3.3.18](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.17...@entur/expand@3.3.18) (2022-08-24)
38
-
39
- **Note:** Version bump only for package @entur/expand
40
-
41
- ## [3.3.17](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.16...@entur/expand@3.3.17) (2022-08-09)
42
-
43
- ### Bug Fixes
44
-
45
- - **Base Expandable Panel:** remove redundant CSS property ([062072f](https://bitbucket.org/enturas/design-system/commits/062072f5e301f51bd411625e19d647033fa926c7))
46
- - **Expandable panel:** make BaseExpandablePanel focus stackable ([5770334](https://bitbucket.org/enturas/design-system/commits/57703343a80ff067b49cb0ec2aabda74d391d080))
47
-
48
- ## [3.3.16](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.15...@entur/expand@3.3.16) (2022-07-05)
49
-
50
- **Note:** Version bump only for package @entur/expand
51
-
52
- ## [3.3.15](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.14...@entur/expand@3.3.15) (2022-06-24)
53
-
54
- **Note:** Version bump only for package @entur/expand
55
-
56
- ## [3.3.14](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.13...@entur/expand@3.3.14) (2022-06-02)
57
-
58
- **Note:** Version bump only for package @entur/expand
59
-
60
- ## [3.3.13](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.12...@entur/expand@3.3.13) (2022-05-13)
61
-
62
- **Note:** Version bump only for package @entur/expand
63
-
64
- ## [3.3.12](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.11...@entur/expand@3.3.12) (2022-05-04)
65
-
66
- **Note:** Version bump only for package @entur/expand
67
-
68
- ## [3.3.11](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.10...@entur/expand@3.3.11) (2022-04-27)
69
-
70
- **Note:** Version bump only for package @entur/expand
71
-
72
- ## [3.3.10](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.9...@entur/expand@3.3.10) (2022-04-20)
73
-
74
- **Note:** Version bump only for package @entur/expand
75
-
76
- ## [3.3.9](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.8...@entur/expand@3.3.9) (2022-04-19)
77
-
78
- **Note:** Version bump only for package @entur/expand
79
-
80
- ## [3.3.8](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.7...@entur/expand@3.3.8) (2022-03-01)
81
-
82
- **Note:** Version bump only for package @entur/expand
83
-
84
- ## [3.3.7](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.6...@entur/expand@3.3.7) (2022-02-09)
85
-
86
- **Note:** Version bump only for package @entur/expand
87
-
88
- ## [3.3.6](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.5...@entur/expand@3.3.6) (2021-11-17)
89
-
90
- **Note:** Version bump only for package @entur/expand
91
-
92
- ## [3.3.5](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.4...@entur/expand@3.3.5) (2021-09-23)
93
-
94
- **Note:** Version bump only for package @entur/expand
95
-
96
- ## [3.3.4](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.3...@entur/expand@3.3.4) (2021-09-13)
97
-
98
- **Note:** Version bump only for package @entur/expand
99
-
100
- ## [3.3.3](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.2...@entur/expand@3.3.3) (2021-09-07)
101
-
102
- ### Bug Fixes
103
-
104
- - utilize reworked focus token ([586758f](https://bitbucket.org/enturas/design-system/commits/586758fc86eb5aa52116c63c14ef033eb2e8b12f))
105
- - **useaccordion:** improve typings of hook ([a0e6406](https://bitbucket.org/enturas/design-system/commits/a0e6406f81748a3858910bbe12454a58c4507e42))
106
- - fix lint warnings in test ([652dfc7](https://bitbucket.org/enturas/design-system/commits/652dfc7e176e02ff8bcd5df20ef125decba65318))
107
- - update dependencies ([d99ee7b](https://bitbucket.org/enturas/design-system/commits/d99ee7b76446834b0f8602bacba4319de121e38a))
108
-
109
- ## [3.3.2](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.1...@entur/expand@3.3.2) (2021-07-16)
110
-
111
- **Note:** Version bump only for package @entur/expand
112
-
113
- ## [3.3.1](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.3.0...@entur/expand@3.3.1) (2021-06-25)
114
-
115
- ### Bug Fixes
116
-
117
- - update dependencies ([a937757](https://bitbucket.org/enturas/design-system/commits/a9377575fed93796a626e50c753da1bb2283335b))
118
-
119
- # [3.3.0](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.29...@entur/expand@3.3.0) (2021-05-05)
120
-
121
- ### Features
122
-
123
- - **expandable text:** add titleElement prop ([a8cdcdb](https://bitbucket.org/enturas/design-system/commits/a8cdcdb305308864e653a843fd3bd1964afc353f))
124
-
125
- ## [3.2.29](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.28...@entur/expand@3.2.29) (2021-04-23)
126
-
127
- ### Bug Fixes
128
-
129
- - utilize new focus tokens ([17113ef](https://bitbucket.org/enturas/design-system/commits/17113ef3f791c86fa6e19e71680fd5acdbae4990))
130
-
131
- ## [3.2.28](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.27...@entur/expand@3.2.28) (2021-04-09)
132
-
133
- **Note:** Version bump only for package @entur/expand
134
-
135
- ## [3.2.27](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.26...@entur/expand@3.2.27) (2021-03-02)
136
-
137
- **Note:** Version bump only for package @entur/expand
138
-
139
- ## [3.2.26](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.25...@entur/expand@3.2.26) (2021-02-17)
140
-
141
- **Note:** Version bump only for package @entur/expand
142
-
143
- ## [3.2.25](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.24...@entur/expand@3.2.25) (2021-01-29)
144
-
145
- **Note:** Version bump only for package @entur/expand
146
-
147
- ## [3.2.24](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.23...@entur/expand@3.2.24) (2021-01-20)
148
-
149
- **Note:** Version bump only for package @entur/expand
150
-
151
- ## [3.2.23](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.22...@entur/expand@3.2.23) (2021-01-13)
152
-
153
- ### Bug Fixes
154
-
155
- - transpose grey colors for updated color tokens ([d6a444c](https://bitbucket.org/enturas/design-system/commits/d6a444c2c37339b9bac0702738ed52693367d344))
156
-
157
- ## [3.2.22](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.21...@entur/expand@3.2.22) (2021-01-05)
158
-
159
- **Note:** Version bump only for package @entur/expand
160
-
161
- ## [3.2.21](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.20...@entur/expand@3.2.21) (2020-12-04)
162
-
163
- **Note:** Version bump only for package @entur/expand
164
-
165
- ## [3.2.20](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.19...@entur/expand@3.2.20) (2020-11-10)
166
-
167
- ### Bug Fixes
168
-
169
- - **expandabletext:** adjust padding for expandable text ([2c54d82](https://bitbucket.org/enturas/design-system/commits/2c54d8210722b736e3cc39a92f8ddb0540f70113))
170
-
171
- ## [3.2.19](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.18...@entur/expand@3.2.19) (2020-11-05)
172
-
173
- **Note:** Version bump only for package @entur/expand
174
-
175
- ## [3.2.18](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.17...@entur/expand@3.2.18) (2020-10-23)
176
-
177
- **Note:** Version bump only for package @entur/expand
178
-
179
- ## [3.2.17](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.16...@entur/expand@3.2.17) (2020-10-16)
180
-
181
- **Note:** Version bump only for package @entur/expand
182
-
183
- ## [3.2.16](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.15...@entur/expand@3.2.16) (2020-10-09)
184
-
185
- **Note:** Version bump only for package @entur/expand
186
-
187
- ## [3.2.15](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.14...@entur/expand@3.2.15) (2020-09-25)
188
-
189
- **Note:** Version bump only for package @entur/expand
190
-
191
- ## [3.2.14](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.13...@entur/expand@3.2.14) (2020-09-14)
192
-
193
- **Note:** Version bump only for package @entur/expand
194
-
195
- ## [3.2.13](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.12...@entur/expand@3.2.13) (2020-09-10)
196
-
197
- ### Bug Fixes
198
-
199
- - **expandable panel:** adjust font size ([5e9080d](https://bitbucket.org/enturas/design-system/commits/5e9080dd9dfc438b4e2d6c8cfae9bff3f918b3e3))
200
- - **expandable text button:** adjust heading size ([40d3064](https://bitbucket.org/enturas/design-system/commits/40d3064e34badaa76497cbbc84de6e4ddd43a401))
201
-
202
- ## [3.2.12](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.11...@entur/expand@3.2.12) (2020-09-02)
203
-
204
- **Note:** Version bump only for package @entur/expand
205
-
206
- ## [3.2.11](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.10...@entur/expand@3.2.11) (2020-08-26)
207
-
208
- **Note:** Version bump only for package @entur/expand
209
-
210
- ## [3.2.10](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.9...@entur/expand@3.2.10) (2020-08-19)
211
-
212
- **Note:** Version bump only for package @entur/expand
213
-
214
- ## [3.2.9](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.8...@entur/expand@3.2.9) (2020-08-14)
215
-
216
- ### Bug Fixes
217
-
218
- - **expandable text:** remove underline from expandableText ([2852a21](https://bitbucket.org/enturas/design-system/commits/2852a218d1c3caec9f9fb8293da78b8e448a0c52))
219
-
220
- ## [3.2.8](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.7...@entur/expand@3.2.8) (2020-08-11)
221
-
222
- **Note:** Version bump only for package @entur/expand
223
-
224
- ## [3.2.7](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.6...@entur/expand@3.2.7) (2020-07-22)
225
-
226
- **Note:** Version bump only for package @entur/expand
227
-
228
- ## [3.2.6](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.5...@entur/expand@3.2.6) (2020-07-16)
229
-
230
- **Note:** Version bump only for package @entur/expand
231
-
232
- ## [3.2.5](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.4...@entur/expand@3.2.5) (2020-07-09)
233
-
234
- ### Bug Fixes
235
-
236
- - increase border radius for expandable panels ([1202b7c](https://bitbucket.org/enturas/design-system/commits/1202b7cabf93dab86a5c85f30624e581cb345e16))
237
-
238
- ## [3.2.4](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.3...@entur/expand@3.2.4) (2020-07-03)
239
-
240
- **Note:** Version bump only for package @entur/expand
241
-
242
- ## [3.2.3](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.2...@entur/expand@3.2.3) (2020-06-17)
243
-
244
- **Note:** Version bump only for package @entur/expand
245
-
246
- ## [3.2.2](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.1...@entur/expand@3.2.2) (2020-05-27)
247
-
248
- **Note:** Version bump only for package @entur/expand
249
-
250
- ## [3.2.1](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.2.0...@entur/expand@3.2.1) (2020-05-26)
251
-
252
- **Note:** Version bump only for package @entur/expand
253
-
254
- # [3.2.0](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.1.2...@entur/expand@3.2.0) (2020-05-20)
255
-
256
- ### Bug Fixes
257
-
258
- - use the expand arrow component instead of icon ([44e955a](https://bitbucket.org/enturas/design-system/commits/44e955a636f0c42b72e19029c75c6324f90c5ac3))
259
-
260
- ### Features
261
-
262
- - add expand arrow as its own component ([5fc6bea](https://bitbucket.org/enturas/design-system/commits/5fc6bea21d2568ced1af0c0f976df4b2efbff539))
263
-
264
- ## [3.1.2](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.1.1...@entur/expand@3.1.2) (2020-04-27)
265
-
266
- **Note:** Version bump only for package @entur/expand
267
-
268
- ## [3.1.1](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.1.0...@entur/expand@3.1.1) (2020-04-23)
269
-
270
- ### Bug Fixes
271
-
272
- - updated to use new focus styling where applicable ([d0a52c0](https://bitbucket.org/enturas/design-system/commits/d0a52c096b673c6647070a90dd79bef9003ee0ad))
273
-
274
- # [3.1.0](https://bitbucket.org/enturas/design-system/compare/@entur/expand@3.0.0...@entur/expand@3.1.0) (2020-04-08)
275
-
276
- ### Features
277
-
278
- - add contentStyle prop for all expandable components ([efaac0f](https://bitbucket.org/enturas/design-system/commits/efaac0fb1822a4e38137e96c73f1f76cf41b3416))
279
-
280
- # [3.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.15...@entur/expand@3.0.0) (2020-03-25)
281
-
282
- ### Features
283
-
284
- - fix onToggle for ExpandableText ([ff15631](https://bitbucket.org/enturas/design-system/commits/ff15631e89e38519aebf0292c9479a57eda88b80))
285
-
286
- ### BREAKING CHANGES
287
-
288
- - ExpandableTextButton now takes in onToggle instead of using onClick directly
289
-
290
- ISSUES CLOSED: ETU-1853
291
-
292
- # [2.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.15...@entur/expand@2.0.0) (2020-03-25)
293
-
294
- ### Features
295
-
296
- - fix onToggle for ExpandableText ([ff15631](https://bitbucket.org/enturas/design-system/commits/ff15631e89e38519aebf0292c9479a57eda88b80))
297
-
298
- ### BREAKING CHANGES
299
-
300
- - ExpandableTextButton now takes in onToggle instead of using onClick directly
301
-
302
- ISSUES CLOSED: ETU-1853
303
-
304
- ## [1.1.15](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.14...@entur/expand@1.1.15) (2020-03-20)
305
-
306
- **Note:** Version bump only for package @entur/expand
307
-
308
- ## [1.1.14](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.13...@entur/expand@1.1.14) (2020-03-18)
309
-
310
- **Note:** Version bump only for package @entur/expand
311
-
312
- ## [1.1.13](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.12...@entur/expand@1.1.13) (2020-03-05)
313
-
314
- **Note:** Version bump only for package @entur/expand
315
-
316
- ## [1.1.12](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.11...@entur/expand@1.1.12) (2020-02-26)
317
-
318
- **Note:** Version bump only for package @entur/expand
319
-
320
- ## [1.1.11](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.10...@entur/expand@1.1.11) (2020-02-20)
321
-
322
- **Note:** Version bump only for package @entur/expand
323
-
324
- ## [1.1.10](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.9...@entur/expand@1.1.10) (2020-02-14)
325
-
326
- ### Bug Fixes
327
-
328
- - reduce left-padding for expandable panels ([27144ef](https://bitbucket.org/enturas/design-system/commits/27144ef0969e57811ca9b1fb22c12d2143c44c98))
329
-
330
- ## [1.1.9](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.8...@entur/expand@1.1.9) (2020-02-12)
331
-
332
- **Note:** Version bump only for package @entur/expand
333
-
334
- ## [1.1.8](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.7...@entur/expand@1.1.8) (2020-02-10)
335
-
336
- ### Bug Fixes
337
-
338
- - fix rendering of expandable panels ([4784f7c](https://bitbucket.org/enturas/design-system/commits/4784f7c010c38c4b20d96d007dee64dfe15b8380))
339
-
340
- ## [1.1.7](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.6...@entur/expand@1.1.7) (2020-02-05)
341
-
342
- ### Bug Fixes
343
-
344
- - remove test-files from build process ([e0b24af](https://bitbucket.org/enturas/design-system/commits/e0b24af05d5c2ad8de4ae587d83c389495235890))
345
-
346
- ## [1.1.6](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.5...@entur/expand@1.1.6) (2020-01-28)
347
-
348
- **Note:** Version bump only for package @entur/expand
349
-
350
- ## [1.1.5](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.4...@entur/expand@1.1.5) (2020-01-27)
351
-
352
- ### Bug Fixes
353
-
354
- - update expandable panels to comply with new typography ([6c8276f](https://bitbucket.org/enturas/design-system/commits/6c8276f8ced0eead81c936af8ec24b8665c0281e))
355
- - **types:** place types in the correct place ([acace09](https://bitbucket.org/enturas/design-system/commits/acace09ec0e258c5cff3a65e13ab29d6603780d9))
356
-
357
- ## [1.1.4](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.3...@entur/expand@1.1.4) (2020-01-20)
358
-
359
- **Note:** Version bump only for package @entur/expand
360
-
361
- ## [1.1.3](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.2...@entur/expand@1.1.3) (2020-01-14)
362
-
363
- **Note:** Version bump only for package @entur/expand
364
-
365
- ## [1.1.2](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.1...@entur/expand@1.1.2) (2020-01-13)
366
-
367
- **Note:** Version bump only for package @entur/expand
368
-
369
- ## [1.1.1](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.1.0...@entur/expand@1.1.1) (2020-01-08)
370
-
371
- ### Bug Fixes
372
-
373
- - warn in development if the developer have forgotten the CSS ([e5c30fc](https://bitbucket.org/enturas/design-system/commits/e5c30fc08624ef22c02773892778abd92205c6b0))
374
-
375
- # [1.1.0](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.0.3...@entur/expand@1.1.0) (2020-01-06)
376
-
377
- ### Features
378
-
379
- - refactor expandable-text-button as seperate component, and expose it ([c5765b0](https://bitbucket.org/enturas/design-system/commits/c5765b0fde18c146ec3858ccb098490ffd48274b))
380
-
381
- ## [1.0.3](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.0.2...@entur/expand@1.0.3) (2019-12-10)
382
-
383
- ### Bug Fixes
384
-
385
- - adding default prop as part of documentation ([1ef7510](https://bitbucket.org/enturas/design-system/commits/1ef75107362f6262429d7fe31519b4353eccc8de))
386
-
387
- ## [1.0.2](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.0.1...@entur/expand@1.0.2) (2019-11-29)
388
-
389
- **Note:** Version bump only for package @entur/expand
390
-
391
- ## [1.0.1](https://bitbucket.org/enturas/design-system/compare/@entur/expand@1.0.0...@entur/expand@1.0.1) (2019-11-28)
392
-
393
- ### Bug Fixes
394
-
395
- - **ExpandableText:** tweak design of the expandable text component ([2d5dc34](https://bitbucket.org/enturas/design-system/commits/2d5dc34972ccc3e0a40b8c6cd0b6d73809f0ba0f))
396
-
397
- # [1.0.0](https://bitbucket.org/enturas/design-system/compare/@entur/expand@0.3.1...@entur/expand@1.0.0) (2019-11-22)
398
-
399
- ### Bug Fixes
400
-
401
- - fixing potential duplication of props naming ([6efd896](https://bitbucket.org/enturas/design-system/commits/6efd896d381bca09bc047dbdaec6d2629a9571db))
402
- - **ExpandableText:** move toggle arrow to right side of toggle text ([5bc75d7](https://bitbucket.org/enturas/design-system/commits/5bc75d72f06cf20d174745924c11cd4e24199dab))
403
- - **ExpandableText:** remove possibility to control ExpandableText ([ff9cd6c](https://bitbucket.org/enturas/design-system/commits/ff9cd6ce50867ae000bb61f0f9901bbeb645fe40))
404
-
405
- ### Code Refactoring
406
-
407
- - **ExpandableGroup:** rename to Accordion ([e5f1a96](https://bitbucket.org/enturas/design-system/commits/e5f1a9644be8184e80f849970f255fc3553b0d46))
408
-
409
- ### Features
410
-
411
- - **Accordion:** add new component - AccordionItem ([e73072a](https://bitbucket.org/enturas/design-system/commits/e73072a704cb591413601c5c6c4d5442432e7f34))
412
- - **types:** exporting all public types for public components ([4a277ab](https://bitbucket.org/enturas/design-system/commits/4a277ab266fdb32a6760821a07b1c6cc716bac85))
413
-
414
- ### BREAKING CHANGES
415
-
416
- - **ExpandableText:** No longer possible to control the ExpandableText component
417
- - **ExpandableGroup:** The export ExpandableGroup is renamed to Accordion
418
-
419
- ## [0.3.1](https://bitbucket.org/enturas/design-system/compare/@entur/expand@0.3.0...@entur/expand@0.3.1) (2019-11-18)
420
-
421
- **Note:** Version bump only for package @entur/expand
422
-
423
- # [0.3.0](https://bitbucket.org/enturas/design-system/compare/@entur/expand@0.2.2...@entur/expand@0.3.0) (2019-11-14)
424
-
425
- ### Bug Fixes
426
-
427
- - fix a few padding issues ([017e79b](https://bitbucket.org/enturas/design-system/commits/017e79bf5df8ec38a2d791de2b8d9f9ea8fc0f5a))
428
- - **class prefix:** fixing final class name prefixes ([bdcd590](https://bitbucket.org/enturas/design-system/commits/bdcd590407c0f3cc4a9cc02d294edcce6b106cc7))
429
- - **css classnames:** fixing naming collisions with CSS classes ([a93ca43](https://bitbucket.org/enturas/design-system/commits/a93ca435d3a01d61d8f02694a672686b9e943a66))
430
- - **ExpandablePanel:** fix how paddings are applied ([0e3dd23](https://bitbucket.org/enturas/design-system/commits/0e3dd23f98e1365ca55f1abd1a01741dd00c9f0a))
431
- - **ExpandablePanel:** make expandable panels accept longer titles ([85a3329](https://bitbucket.org/enturas/design-system/commits/85a3329e7de390014182354786e3c01908131735))
432
- - add missing dependencies to dependency arrays ([15f1e81](https://bitbucket.org/enturas/design-system/commits/15f1e81f5a3dfea3e60453195379d392e6d536a0))
433
- - fix lint errors ([8539282](https://bitbucket.org/enturas/design-system/commits/8539282c04b01cc1459109cbc9c4111dfcdaa5f4))
434
-
435
- ### Features
436
-
437
- - **ExpandableGroup:** add new component ExpandableGroup ([d070846](https://bitbucket.org/enturas/design-system/commits/d0708469b26de68237a0d6a139cd77ad86c60959))
438
- - **ExpandableLink:** adding ExpandableLink as its own component ([03bea1f](https://bitbucket.org/enturas/design-system/commits/03bea1f37a6febc558c79501c0b149868881471a))
439
-
440
- ## [0.2.2](https://bitbucket.org/enturas/design-system/compare/@entur/expand@0.2.1...@entur/expand@0.2.2) (2019-11-07)
441
-
442
- ### Bug Fixes
443
-
444
- - **Styling:** proper padding and inline icon ([119dea6](https://bitbucket.org/enturas/design-system/commits/119dea6a27bcdd0e5098f0abfc4eb2057464f16b))
445
-
446
- ## [0.2.1](https://bitbucket.org/enturas/design-system/compare/@entur/expand@0.2.0...@entur/expand@0.2.1) (2019-11-06)
447
-
448
- **Note:** Version bump only for package @entur/expand
449
-
450
- # 0.2.0 (2019-11-04)
451
-
452
- ### Features
453
-
454
- - **Expand:** adding Expandable, ControlledExpandable component in expand package ([d469df0](https://bitbucket.org/enturas/design-system/commits/d469df03e3da6e70e206746debc5ec0a11d18af1))