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