@entur/button 3.1.11-alpha.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Button.d.ts +8 -2
- package/dist/NegativeButton.d.ts +1 -1
- package/dist/PrimaryButton.d.ts +1 -1
- package/dist/SecondaryButton.d.ts +1 -1
- package/dist/{BaseSquareButton.d.ts → SquareButton.d.ts} +7 -5
- package/dist/SuccessButton.d.ts +1 -1
- package/dist/TertiaryButton.d.ts +1 -0
- package/dist/TertiarySquareButton.d.ts +2 -1
- package/dist/button.cjs.development.js +36 -46
- package/dist/button.cjs.development.js.map +1 -1
- package/dist/button.cjs.production.min.js +1 -1
- package/dist/button.cjs.production.min.js.map +1 -1
- package/dist/button.esm.js +36 -46
- package/dist/button.esm.js.map +1 -1
- package/dist/styles.css +33 -31
- package/package.json +4 -4
package/dist/Button.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { PolymorphicComponentPropsWithRef } from '@entur/utils';
|
|
3
3
|
import './Button.scss';
|
|
4
|
+
/** @deprecated use variant="secondary" size="small" instead */
|
|
5
|
+
declare const tertiary = "tertiary";
|
|
4
6
|
type ButtonBaseProps = {
|
|
5
7
|
/** Farge og uttrykk på knappen */
|
|
6
|
-
variant: 'primary' | 'secondary' | 'success' | 'negative' |
|
|
8
|
+
variant: 'primary' | 'secondary' | 'success' | 'negative' | typeof tertiary;
|
|
7
9
|
/** Størrelsen på knappen
|
|
8
10
|
* @default 'medium'
|
|
9
11
|
*/
|
|
10
|
-
size?: 'medium' | 'large';
|
|
12
|
+
size?: 'small' | 'medium' | 'large';
|
|
11
13
|
/** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe
|
|
12
14
|
* @default false
|
|
13
15
|
*/
|
|
@@ -24,6 +26,10 @@ type ButtonBaseProps = {
|
|
|
24
26
|
width?: 'fluid' | 'auto';
|
|
25
27
|
/** Innholdet i knappen */
|
|
26
28
|
children: React.ReactNode;
|
|
29
|
+
/** Et HTML-element eller en React-komponent som komponenten tar utgangspunkt i for å lage denne knappevarianten
|
|
30
|
+
* @default "button"
|
|
31
|
+
*/
|
|
32
|
+
as?: string | React.ElementType;
|
|
27
33
|
/**
|
|
28
34
|
* Tekst som leses opp på skjermleser (nødvendig når knappetekst mangler)
|
|
29
35
|
*/
|
package/dist/NegativeButton.d.ts
CHANGED
package/dist/PrimaryButton.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { PolymorphicComponentPropsWithRef } from '@entur/utils';
|
|
3
|
-
import './
|
|
4
|
-
export type
|
|
3
|
+
import './SquareButton.scss';
|
|
4
|
+
export type SquareButtonBaseProps = {
|
|
5
5
|
/** Tekst og ikon */
|
|
6
6
|
children: React.ReactNode;
|
|
7
7
|
/** Ekstra klassenavn */
|
|
@@ -16,9 +16,11 @@ export type BaseSquareButtonBaseProps = {
|
|
|
16
16
|
* @default false
|
|
17
17
|
*/
|
|
18
18
|
loading?: boolean;
|
|
19
|
+
/** DOM-elementet knappen rendres som */
|
|
20
|
+
as: string | React.ElementType;
|
|
19
21
|
};
|
|
20
|
-
export type
|
|
21
|
-
export type
|
|
22
|
+
export type SquareButtonProps<T extends React.ElementType> = PolymorphicComponentPropsWithRef<T, SquareButtonBaseProps>;
|
|
23
|
+
export type SquareButtonComponent = <T extends React.ElementType = typeof defaultElement>(props: SquareButtonProps<T>) => React.ReactElement | null;
|
|
22
24
|
declare const defaultElement = "button";
|
|
23
|
-
export declare const
|
|
25
|
+
export declare const SquareButton: SquareButtonComponent;
|
|
24
26
|
export {};
|
package/dist/SuccessButton.d.ts
CHANGED
package/dist/TertiaryButton.d.ts
CHANGED
|
@@ -25,5 +25,6 @@ export type TertiaryButtonBaseProps = {
|
|
|
25
25
|
export type TertiaryButtonProps<T extends React.ElementType> = PolymorphicComponentPropsWithRef<T, TertiaryButtonBaseProps>;
|
|
26
26
|
export type TertiaryButtonComponent = <T extends React.ElementType = typeof defaultElement>(props: TertiaryButtonProps<T>) => React.ReactElement | null;
|
|
27
27
|
declare const defaultElement = "button";
|
|
28
|
+
/** @deprecated use SecondaryButton size="small" instead */
|
|
28
29
|
export declare const TertiaryButton: TertiaryButtonComponent;
|
|
29
30
|
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { SquareButtonBaseProps } from './SquareButton';
|
|
2
3
|
import { PolymorphicComponentPropsWithRef } from '@entur/utils';
|
|
3
4
|
type TertiarySquareButtonBaseProps = {
|
|
4
5
|
/** Tekst og ikon, ikon og tekst, eller bare ikon */
|
|
@@ -13,7 +14,7 @@ type TertiarySquareButtonBaseProps = {
|
|
|
13
14
|
* @default false
|
|
14
15
|
*/
|
|
15
16
|
loading?: boolean;
|
|
16
|
-
};
|
|
17
|
+
} & SquareButtonBaseProps;
|
|
17
18
|
export type TertiarySquareButtonProps<T extends React.ElementType> = PolymorphicComponentPropsWithRef<T, TertiarySquareButtonBaseProps>;
|
|
18
19
|
export type TertiarySquareButtonComponent = <T extends React.ElementType = typeof defaultElement>(props: TertiarySquareButtonProps<T>) => React.ReactElement | null;
|
|
19
20
|
declare const defaultElement = "button";
|
|
@@ -54,7 +54,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
var _excluded$4 = ["as", "children", "variant", "size", "loading", "className", "disabled", "width", "aria-label"];
|
|
57
|
-
var defaultElement$
|
|
57
|
+
var defaultElement$9 = 'button';
|
|
58
58
|
var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
59
59
|
var _cx;
|
|
60
60
|
var as = _ref.as,
|
|
@@ -70,7 +70,7 @@ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
|
70
70
|
width = _ref$width === void 0 ? 'auto' : _ref$width,
|
|
71
71
|
ariaLabel = _ref['aria-label'],
|
|
72
72
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
73
|
-
var Element = as || defaultElement$
|
|
73
|
+
var Element = as || defaultElement$9;
|
|
74
74
|
var childrenArray = React__namespace.Children.toArray(children);
|
|
75
75
|
var hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== 'string';
|
|
76
76
|
var hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== 'string';
|
|
@@ -94,9 +94,9 @@ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
|
94
94
|
}) : children);
|
|
95
95
|
});
|
|
96
96
|
|
|
97
|
-
var defaultElement$
|
|
97
|
+
var defaultElement$8 = 'button';
|
|
98
98
|
var PrimaryButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
99
|
-
var Element = props.as || defaultElement$
|
|
99
|
+
var Element = props.as || defaultElement$8;
|
|
100
100
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
101
101
|
return React.createElement(Button, _extends({
|
|
102
102
|
as: Element
|
|
@@ -106,9 +106,9 @@ var PrimaryButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
106
106
|
}));
|
|
107
107
|
});
|
|
108
108
|
|
|
109
|
-
var defaultElement$
|
|
109
|
+
var defaultElement$7 = 'button';
|
|
110
110
|
var SecondaryButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
111
|
-
var Element = props.as || defaultElement$
|
|
111
|
+
var Element = props.as || defaultElement$7;
|
|
112
112
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
113
113
|
return React.createElement(Button, _extends({
|
|
114
114
|
as: Element
|
|
@@ -118,9 +118,9 @@ var SecondaryButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
118
118
|
}));
|
|
119
119
|
});
|
|
120
120
|
|
|
121
|
-
var defaultElement$
|
|
121
|
+
var defaultElement$6 = 'button';
|
|
122
122
|
var SuccessButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
123
|
-
var Element = props.as || defaultElement$
|
|
123
|
+
var Element = props.as || defaultElement$6;
|
|
124
124
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
125
125
|
return React.createElement(Button, _extends({
|
|
126
126
|
as: Element
|
|
@@ -130,9 +130,9 @@ var SuccessButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
130
130
|
}));
|
|
131
131
|
});
|
|
132
132
|
|
|
133
|
-
var defaultElement$
|
|
133
|
+
var defaultElement$5 = 'button';
|
|
134
134
|
var NegativeButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
135
|
-
var Element = props.as || defaultElement$
|
|
135
|
+
var Element = props.as || defaultElement$5;
|
|
136
136
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
137
137
|
return React.createElement(Button, _extends({
|
|
138
138
|
as: Element
|
|
@@ -142,15 +142,16 @@ var NegativeButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
142
142
|
}));
|
|
143
143
|
});
|
|
144
144
|
|
|
145
|
-
var defaultElement$
|
|
145
|
+
var defaultElement$4 = 'button';
|
|
146
|
+
/** @deprecated use SecondaryButton size="small" instead */
|
|
146
147
|
var TertiaryButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
147
|
-
var Element = props.as || defaultElement$
|
|
148
|
-
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
148
|
+
var Element = props.as || defaultElement$4;
|
|
149
149
|
return React.createElement(Button, _extends({
|
|
150
150
|
as: Element
|
|
151
151
|
}, props, {
|
|
152
152
|
ref: ref,
|
|
153
|
-
variant: "tertiary"
|
|
153
|
+
variant: "tertiary",
|
|
154
|
+
size: "small"
|
|
154
155
|
}));
|
|
155
156
|
});
|
|
156
157
|
|
|
@@ -187,27 +188,22 @@ var wrapStringsInSpans = function wrapStringsInSpans(children) {
|
|
|
187
188
|
});
|
|
188
189
|
};
|
|
189
190
|
|
|
190
|
-
var _excluded$1 = ["
|
|
191
|
-
var defaultElement$
|
|
192
|
-
var
|
|
193
|
-
var
|
|
191
|
+
var _excluded$1 = ["as", "children", "className", "disabled", "loading", "variant"];
|
|
192
|
+
var defaultElement$3 = 'button';
|
|
193
|
+
var SquareButton = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
194
|
+
var as = _ref.as,
|
|
195
|
+
children = _ref.children,
|
|
194
196
|
className = _ref.className,
|
|
195
|
-
variant = _ref.variant,
|
|
196
197
|
_ref$disabled = _ref.disabled,
|
|
197
198
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
198
199
|
_ref$loading = _ref.loading,
|
|
199
200
|
loading = _ref$loading === void 0 ? false : _ref$loading,
|
|
200
|
-
|
|
201
|
+
_ref$variant = _ref.variant,
|
|
202
|
+
variant = _ref$variant === void 0 ? 'secondary' : _ref$variant,
|
|
201
203
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
202
|
-
var Element = as || defaultElement$
|
|
204
|
+
var Element = as || defaultElement$3;
|
|
203
205
|
return React__namespace.createElement(Element, _extends({
|
|
204
|
-
className: classNames('eds-square-button', {
|
|
205
|
-
'eds-square-button--success': variant === 'success'
|
|
206
|
-
}, {
|
|
207
|
-
'eds-square-button--secondary': variant === 'secondary'
|
|
208
|
-
}, {
|
|
209
|
-
'eds-square-button--tertiary': variant === 'tertiary'
|
|
210
|
-
}, {
|
|
206
|
+
className: classNames('eds-square-button', "eds-square-button--" + variant, {
|
|
211
207
|
'eds-square-button--loading': loading
|
|
212
208
|
}, className),
|
|
213
209
|
"aria-busy": loading,
|
|
@@ -221,19 +217,19 @@ var BaseSquareButton = /*#__PURE__*/React__namespace.forwardRef(function (_ref,
|
|
|
221
217
|
}, child);
|
|
222
218
|
}
|
|
223
219
|
return React__namespace.createElement("span", {
|
|
224
|
-
className: "eds-square-
|
|
220
|
+
className: "eds-square-button__button"
|
|
225
221
|
}, loading ? React__namespace.createElement(loader.LoadingDots, {
|
|
226
222
|
className: "eds-square-button__loading-dots"
|
|
227
223
|
}) : child);
|
|
228
224
|
}));
|
|
229
225
|
});
|
|
230
226
|
|
|
231
|
-
var defaultElement$
|
|
227
|
+
var defaultElement$2 = 'button';
|
|
232
228
|
var SecondarySquareButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
233
|
-
var Element = props.as || defaultElement$
|
|
229
|
+
var Element = props.as || defaultElement$2;
|
|
234
230
|
return (
|
|
235
231
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
236
|
-
React.createElement(
|
|
232
|
+
React.createElement(SquareButton, _extends({
|
|
237
233
|
as: Element,
|
|
238
234
|
ref: ref
|
|
239
235
|
}, props, {
|
|
@@ -242,12 +238,12 @@ var SecondarySquareButton = /*#__PURE__*/React.forwardRef(function (props, ref)
|
|
|
242
238
|
);
|
|
243
239
|
});
|
|
244
240
|
|
|
245
|
-
var defaultElement$
|
|
241
|
+
var defaultElement$1 = 'button';
|
|
246
242
|
var SuccessSquareButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
247
|
-
var Element = props.as || defaultElement$
|
|
243
|
+
var Element = props.as || defaultElement$1;
|
|
248
244
|
return (
|
|
249
245
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
250
|
-
React.createElement(
|
|
246
|
+
React.createElement(SquareButton, _extends({
|
|
251
247
|
as: Element,
|
|
252
248
|
ref: ref
|
|
253
249
|
}, props, {
|
|
@@ -256,18 +252,12 @@ var SuccessSquareButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
256
252
|
);
|
|
257
253
|
});
|
|
258
254
|
|
|
259
|
-
var defaultElement$1 = 'button';
|
|
260
255
|
var TertiarySquareButton = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
ref: ref
|
|
267
|
-
}, props, {
|
|
268
|
-
variant: "tertiary"
|
|
269
|
-
}))
|
|
270
|
-
);
|
|
256
|
+
return React.createElement(SquareButton, _extends({
|
|
257
|
+
ref: ref
|
|
258
|
+
}, props, {
|
|
259
|
+
variant: "tertiary"
|
|
260
|
+
}));
|
|
271
261
|
});
|
|
272
262
|
|
|
273
263
|
var _excluded = ["children", "className", "disabled", "size", "as", "loading"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.cjs.development.js","sources":["../src/Button.tsx","../src/PrimaryButton.tsx","../src/SecondaryButton.tsx","../src/SuccessButton.tsx","../src/NegativeButton.tsx","../src/TertiaryButton.tsx","../src/ButtonGroup.tsx","../src/FloatingButton.tsx","../src/BaseSquareButton.tsx","../src/SecondarySquareButton.tsx","../src/SuccessSquareButton.tsx","../src/TertiarySquareButton.tsx","../src/IconButton.tsx","../src/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport cx from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './Button.scss';\n\ntype ButtonBaseProps = {\n /** Farge og uttrykk på knappen */\n variant: 'primary' | 'secondary' | 'success' | 'negative' | 'tertiary';\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n /**\n * Tekst som leses opp på skjermleser (nødvendig når knappetekst mangler)\n */\n 'aria-label'?: string;\n};\n\nconst defaultElement = 'button';\n\nexport type ButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, ButtonBaseProps>;\n\nexport type ButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: ButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const Button: ButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n children,\n variant,\n size = 'medium',\n loading,\n className,\n disabled = false,\n width = 'auto',\n 'aria-label': ariaLabel,\n ...rest\n }: ButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const ariaLabelWhenLoading = childrenArray\n .filter(child => typeof child === 'string')\n .join(' ');\n\n const ariaLabelValue = () => {\n if (ariaLabel) return ariaLabel;\n if (loading) return ariaLabelWhenLoading;\n return undefined;\n };\n\n return (\n <Element\n className={cx(\n 'eds-button',\n {\n [`eds-button--variant-${variant}`]: variant,\n [`eds-button--size-${size}`]: size,\n 'eds-button--width-fluid': width === 'fluid',\n 'eds-button--loading': loading,\n 'eds-button--leading-icon': hasLeadingIcon,\n 'eds-button--trailing-icon': hasTrailingIcon,\n },\n className,\n )}\n ref={ref}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n aria-label={ariaLabelValue()}\n {...rest}\n >\n {loading ? (\n <LoadingDots className=\"eds-button__loading-dots\" />\n ) : (\n children\n )}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type PrimaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type PrimaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, PrimaryButtonBaseProps>;\n\nexport type PrimaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: PrimaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const PrimaryButton: PrimaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PrimaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"primary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SecondaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SecondaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondaryButtonBaseProps>;\n\nexport type SecondaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondaryButton: SecondaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"secondary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SuccessButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SuccessButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessButtonBaseProps>;\n\nexport type SuccessButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessButton: SuccessButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"success\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type NegativeButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type NegativeButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, NegativeButtonBaseProps>;\n\nexport type NegativeButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: NegativeButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const NegativeButton: NegativeButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: NegativeButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"negative\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type TertiaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type TertiaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiaryButtonBaseProps>;\n\nexport type TertiaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const TertiaryButton: TertiaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"tertiary\" />;\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport './ButtonGroup.scss';\n\nexport type ButtonGroupProps = {\n /** To eller flere Button-komponenter */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** HTML-elementet eller React-komponenten som lages\n * @default \"div\"\n */\n as?: string | React.ElementType;\n [key: string]: any;\n};\n\nexport const ButtonGroup: React.FC<ButtonGroupProps> = ({\n as: Element = 'div',\n className,\n ...rest\n}) => {\n return (\n <Element className={classNames('eds-button-group', className)} {...rest} />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './FloatingButton.scss';\n\nexport type FloatingButtonProps = {\n /** Beskrivende tekst for skjermlesere */\n 'aria-label': string;\n /** Ikon eller ikon-og-tekst */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Callback når knappen klikkes */\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n /** Størrelse på knappen\n * @default \"medium\"\n */\n size?: 'medium' | 'small';\n [key: string]: any;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const FloatingButton: React.FC<FloatingButtonProps> = ({\n className,\n children,\n size = 'medium',\n ...rest\n}) => {\n return (\n <button\n className={classNames(\n 'eds-floating-button',\n { 'eds-floating-button--extended': React.Children.count(children) > 1 },\n { 'eds-floating-button--small': size === 'small' },\n className,\n )}\n type=\"button\"\n {...rest}\n >\n {wrapStringsInSpans(children)}\n </button>\n );\n};\n\nconst wrapStringsInSpans = (children: React.ReactNode) =>\n React.Children.map(children, child =>\n typeof child === 'string' ? <span>{child}</span> : child,\n );\n","import * as React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './BaseSquareButton.scss';\n\nexport type BaseSquareButtonBaseProps = {\n /** Tekst og ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** En type knapp */\n variant: 'success' | 'secondary' | 'tertiary';\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type BaseSquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, BaseSquareButtonBaseProps>;\n\nexport type BaseSquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: BaseSquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const BaseSquareButton: BaseSquareButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n variant,\n disabled = false,\n loading = false,\n as,\n ...rest\n }: BaseSquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <Element\n className={classNames(\n 'eds-square-button',\n { 'eds-square-button--success': variant === 'success' },\n { 'eds-square-button--secondary': variant === 'secondary' },\n { 'eds-square-button--tertiary': variant === 'tertiary' },\n { 'eds-square-button--loading': loading },\n className,\n )}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n ref={ref}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (typeof child === 'string') {\n return <span className=\"eds-square-button__label\">{child}</span>;\n }\n return (\n <span className=\"eds-square-button__icon\">\n {loading ? (\n <LoadingDots className=\"eds-square-button__loading-dots\" />\n ) : (\n child\n )}\n </span>\n );\n })}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SecondarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SecondarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondarySquareButtonBaseProps>;\n\nexport type SecondarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondarySquareButton: SecondarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <BaseSquareButton\n as={Element}\n ref={ref}\n {...props}\n variant=\"secondary\"\n />\n );\n },\n );\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SuccessSquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SuccessSquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessSquareButtonBaseProps>;\n\nexport type SuccessSquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessSquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessSquareButton: SuccessSquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessSquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <BaseSquareButton as={Element} ref={ref} {...props} variant=\"success\" />\n );\n },\n );\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype TertiarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type TertiarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiarySquareButtonBaseProps>;\n\nexport type TertiarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const TertiarySquareButton: TertiarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <BaseSquareButton\n as={Element}\n ref={ref}\n {...props}\n variant=\"tertiary\"\n />\n );\n },\n );\n","import React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './IconButton.scss';\n\nexport type IconButtonBaseProps = {\n /** Ikonet som du vil ha inne i knappen */\n children: React.ReactNode;\n /** Tekst som forklarer knappens handling. MÅ være satt hvis du ikke har en forklarende tooltip på knappen */\n 'aria-label'?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** HTML-elementet eller React-komponenten som lager knappen\n * @default 'button'\n */\n as?: React.ElementType;\n /**Størrelsen på knappen\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nconst defaultElement = 'button';\n\nexport type IconButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, IconButtonBaseProps>;\n\nexport type IconButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: IconButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const IconButton: IconButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n disabled = false,\n size,\n as,\n loading,\n ...rest\n }: IconButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n\n const IconWithAriaHidden = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n // @ts-expect-error aria-hidden does, in fact, exist\n return React.cloneElement(child, { 'aria-hidden': true });\n }\n return child;\n });\n\n const iconButtonElement = (\n <Element\n className={classNames(\n 'eds-icon-button',\n className,\n {\n 'eds-icon-button--disabled': disabled,\n },\n `eds-icon-button--size-${size}`,\n )}\n disabled={disabled}\n aria-disabled={disabled}\n aria-busy={loading}\n ref={ref}\n {...rest}\n >\n {loading ? <LoadingDots /> : <>{IconWithAriaHidden}</>}\n </Element>\n );\n\n if (disabled) {\n return (\n <div className=\"eds-icon-button--disabled__wrapper\">\n {iconButtonElement}\n </div>\n );\n }\n return <>{iconButtonElement}</>;\n },\n);\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('button');\n\nexport * from './Button';\nexport * from './PrimaryButton';\nexport * from './SecondaryButton';\nexport * from './SuccessButton';\nexport * from './NegativeButton';\nexport * from './TertiaryButton';\nexport * from './ButtonGroup';\nexport * from './FloatingButton';\nexport * from './SecondarySquareButton';\nexport * from './SuccessSquareButton';\nexport * from './TertiarySquareButton';\nexport * from './IconButton';\n"],"names":["defaultElement","Button","React","forwardRef","ref","as","children","variant","size","loading","className","disabled","width","ariaLabel","rest","_excluded","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","ariaLabelWhenLoading","filter","child","join","ariaLabelValue","undefined","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","ButtonGroup","createElement","classNames","FloatingButton","count","type","wrapStringsInSpans","map","BaseSquareButton","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","IconWithAriaHidden","isValidElement","cloneElement","iconButtonElement","Fragment","warnAboutMissingStyles"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"button.cjs.development.js","sources":["../src/Button.tsx","../src/PrimaryButton.tsx","../src/SecondaryButton.tsx","../src/SuccessButton.tsx","../src/NegativeButton.tsx","../src/TertiaryButton.tsx","../src/ButtonGroup.tsx","../src/FloatingButton.tsx","../src/SquareButton.tsx","../src/SecondarySquareButton.tsx","../src/SuccessSquareButton.tsx","../src/TertiarySquareButton.tsx","../src/IconButton.tsx","../src/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport cx from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './Button.scss';\n\n/** @deprecated use variant=\"secondary\" size=\"small\" instead */\nconst tertiary = 'tertiary';\n\ntype ButtonBaseProps = {\n /** Farge og uttrykk på knappen */\n variant: 'primary' | 'secondary' | 'success' | 'negative' | typeof tertiary;\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n /** Et HTML-element eller en React-komponent som komponenten tar utgangspunkt i for å lage denne knappevarianten\n * @default \"button\"\n */\n as?: string | React.ElementType;\n /**\n * Tekst som leses opp på skjermleser (nødvendig når knappetekst mangler)\n */\n 'aria-label'?: string;\n};\n\nconst defaultElement = 'button';\n\nexport type ButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, ButtonBaseProps>;\n\nexport type ButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: ButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const Button: ButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n children,\n variant,\n size = 'medium',\n loading,\n className,\n disabled = false,\n width = 'auto',\n 'aria-label': ariaLabel,\n ...rest\n }: ButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const ariaLabelWhenLoading = childrenArray\n .filter(child => typeof child === 'string')\n .join(' ');\n\n const ariaLabelValue = () => {\n if (ariaLabel) return ariaLabel;\n if (loading) return ariaLabelWhenLoading;\n return undefined;\n };\n\n return (\n <Element\n className={cx(\n 'eds-button',\n {\n [`eds-button--variant-${variant}`]: variant,\n [`eds-button--size-${size}`]: size,\n 'eds-button--width-fluid': width === 'fluid',\n 'eds-button--loading': loading,\n 'eds-button--leading-icon': hasLeadingIcon,\n 'eds-button--trailing-icon': hasTrailingIcon,\n },\n className,\n )}\n ref={ref}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n aria-label={ariaLabelValue()}\n {...rest}\n >\n {loading ? (\n <LoadingDots className=\"eds-button__loading-dots\" />\n ) : (\n children\n )}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type PrimaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type PrimaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, PrimaryButtonBaseProps>;\n\nexport type PrimaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: PrimaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const PrimaryButton: PrimaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PrimaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"primary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SecondaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SecondaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondaryButtonBaseProps>;\n\nexport type SecondaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondaryButton: SecondaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"secondary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SuccessButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SuccessButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessButtonBaseProps>;\n\nexport type SuccessButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessButton: SuccessButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"success\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type NegativeButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type NegativeButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, NegativeButtonBaseProps>;\n\nexport type NegativeButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: NegativeButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const NegativeButton: NegativeButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: NegativeButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"negative\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type TertiaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type TertiaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiaryButtonBaseProps>;\n\nexport type TertiaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\n/** @deprecated use SecondaryButton size=\"small\" instead */\nexport const TertiaryButton: TertiaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n <Button\n as={Element}\n {...props}\n ref={ref}\n variant=\"tertiary\"\n size=\"small\"\n />\n );\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport './ButtonGroup.scss';\n\nexport type ButtonGroupProps = {\n /** To eller flere Button-komponenter */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** HTML-elementet eller React-komponenten som lages\n * @default \"div\"\n */\n as?: string | React.ElementType;\n [key: string]: any;\n};\n\nexport const ButtonGroup: React.FC<ButtonGroupProps> = ({\n as: Element = 'div',\n className,\n ...rest\n}) => {\n return (\n <Element className={classNames('eds-button-group', className)} {...rest} />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './FloatingButton.scss';\n\nexport type FloatingButtonProps = {\n /** Beskrivende tekst for skjermlesere */\n 'aria-label': string;\n /** Ikon eller ikon-og-tekst */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Callback når knappen klikkes */\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n /** Størrelse på knappen\n * @default \"medium\"\n */\n size?: 'medium' | 'small';\n [key: string]: any;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const FloatingButton: React.FC<FloatingButtonProps> = ({\n className,\n children,\n size = 'medium',\n ...rest\n}) => {\n return (\n <button\n className={classNames(\n 'eds-floating-button',\n { 'eds-floating-button--extended': React.Children.count(children) > 1 },\n { 'eds-floating-button--small': size === 'small' },\n className,\n )}\n type=\"button\"\n {...rest}\n >\n {wrapStringsInSpans(children)}\n </button>\n );\n};\n\nconst wrapStringsInSpans = (children: React.ReactNode) =>\n React.Children.map(children, child =>\n typeof child === 'string' ? <span>{child}</span> : child,\n );\n","import * as React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './SquareButton.scss';\n\nexport type SquareButtonBaseProps = {\n /** Tekst og ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** En type knapp */\n variant: 'success' | 'secondary' | 'tertiary';\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** DOM-elementet knappen rendres som */\n as: string | React.ElementType;\n};\n\nexport type SquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SquareButtonBaseProps>;\n\nexport type SquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SquareButton: SquareButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n children,\n className,\n disabled = false,\n loading = false,\n variant = 'secondary',\n ...rest\n }: SquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <Element\n className={classNames(\n 'eds-square-button',\n `eds-square-button--${variant}`,\n {\n 'eds-square-button--loading': loading,\n },\n className,\n )}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n ref={ref}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (typeof child === 'string') {\n return <span className=\"eds-square-button__label\">{child}</span>;\n }\n return (\n <span className=\"eds-square-button__button\">\n {loading ? (\n <LoadingDots className=\"eds-square-button__loading-dots\" />\n ) : (\n child\n )}\n </span>\n );\n })}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { SquareButton } from './SquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SecondarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SecondarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondarySquareButtonBaseProps>;\n\nexport type SecondarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondarySquareButton: SecondarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <SquareButton as={Element} ref={ref} {...props} variant=\"secondary\" />\n );\n },\n );\n","import React from 'react';\nimport { SquareButton } from './SquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SuccessSquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SuccessSquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessSquareButtonBaseProps>;\n\nexport type SuccessSquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessSquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessSquareButton: SuccessSquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessSquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <SquareButton as={Element} ref={ref} {...props} variant=\"success\" />\n );\n },\n );\n","import React from 'react';\nimport { SquareButton, SquareButtonBaseProps } from './SquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype TertiarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n} & SquareButtonBaseProps;\n\nexport type TertiarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiarySquareButtonBaseProps>;\n\nexport type TertiarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const TertiarySquareButton: TertiarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => <SquareButton ref={ref} {...props} variant=\"tertiary\" />,\n );\n","import React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './IconButton.scss';\n\nexport type IconButtonBaseProps = {\n /** Ikonet som du vil ha inne i knappen */\n children: React.ReactNode;\n /** Tekst som forklarer knappens handling. MÅ være satt hvis du ikke har en forklarende tooltip på knappen */\n 'aria-label'?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** HTML-elementet eller React-komponenten som lager knappen\n * @default 'button'\n */\n as?: React.ElementType;\n /**Størrelsen på knappen\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nconst defaultElement = 'button';\n\nexport type IconButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, IconButtonBaseProps>;\n\nexport type IconButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: IconButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const IconButton: IconButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n disabled = false,\n size,\n as,\n loading,\n ...rest\n }: IconButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n\n const IconWithAriaHidden = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n // @ts-expect-error aria-hidden does, in fact, exist\n return React.cloneElement(child, { 'aria-hidden': true });\n }\n return child;\n });\n\n const iconButtonElement = (\n <Element\n className={classNames(\n 'eds-icon-button',\n className,\n {\n 'eds-icon-button--disabled': disabled,\n },\n `eds-icon-button--size-${size}`,\n )}\n disabled={disabled}\n aria-disabled={disabled}\n aria-busy={loading}\n ref={ref}\n {...rest}\n >\n {loading ? <LoadingDots /> : <>{IconWithAriaHidden}</>}\n </Element>\n );\n\n if (disabled) {\n return (\n <div className=\"eds-icon-button--disabled__wrapper\">\n {iconButtonElement}\n </div>\n );\n }\n return <>{iconButtonElement}</>;\n },\n);\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('button');\n\nexport * from './Button';\nexport * from './PrimaryButton';\nexport * from './SecondaryButton';\nexport * from './SuccessButton';\nexport * from './NegativeButton';\nexport * from './TertiaryButton';\nexport * from './ButtonGroup';\nexport * from './FloatingButton';\nexport * from './SecondarySquareButton';\nexport * from './SuccessSquareButton';\nexport * from './TertiarySquareButton';\nexport * from './IconButton';\n"],"names":["defaultElement","Button","React","forwardRef","ref","as","children","variant","size","loading","className","disabled","width","ariaLabel","rest","_excluded","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","ariaLabelWhenLoading","filter","child","join","ariaLabelValue","undefined","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","ButtonGroup","createElement","classNames","FloatingButton","count","type","wrapStringsInSpans","map","SquareButton","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","IconWithAriaHidden","isValidElement","cloneElement","iconButtonElement","Fragment","warnAboutMissingStyles"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),a=require("classnames"),n=require("@entur/loader");function r(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,t}var s=r(t);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},o.apply(this,arguments)}function i(e,t){if(null==e)return{};var a,n,r={},s=Object.keys(e);for(n=0;n<s.length;n++)t.indexOf(a=s[n])>=0||(r[a]=e[a]);return r}var u=["as","children","variant","size","loading","className","disabled","width","aria-label"],l=s.forwardRef((function(e,t){var r,l=e.as,d=e.children,c=e.variant,f=e.size,b=void 0===f?"medium":f,m=e.loading,v=e.className,g=e.disabled,p=void 0!==g&&g,y=e.width,h=void 0===y?"auto":y,E=e["aria-label"],N=i(e,u),w=l||"button",
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),a=require("classnames"),n=require("@entur/loader");function r(e){var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var n=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,n.get?n:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,t}var s=r(t);function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},o.apply(this,arguments)}function i(e,t){if(null==e)return{};var a,n,r={},s=Object.keys(e);for(n=0;n<s.length;n++)t.indexOf(a=s[n])>=0||(r[a]=e[a]);return r}var u=["as","children","variant","size","loading","className","disabled","width","aria-label"],l=s.forwardRef((function(e,t){var r,l=e.as,d=e.children,c=e.variant,f=e.size,b=void 0===f?"medium":f,m=e.loading,v=e.className,g=e.disabled,p=void 0!==g&&g,y=e.width,h=void 0===y?"auto":y,E=e["aria-label"],N=i(e,u),w=l||"button",x=s.Children.toArray(d),q=x.length>1&&"string"!=typeof x[0],B=x.length>1&&"string"!=typeof x[x.length-1],O=x.filter((function(e){return"string"==typeof e})).join(" ");return s.createElement(w,o({className:a("eds-button",(r={},r["eds-button--variant-"+c]=c,r["eds-button--size-"+b]=b,r["eds-button--width-fluid"]="fluid"===h,r["eds-button--loading"]=m,r["eds-button--leading-icon"]=q,r["eds-button--trailing-icon"]=B,r),v),ref:t,"aria-busy":m,disabled:p,"aria-disabled":p,"aria-label":E||(m?O:void 0)},N),m?s.createElement(n.LoadingDots,{className:"eds-button__loading-dots"}):d)})),d=t.forwardRef((function(e,a){return t.createElement(l,o({as:e.as||"button"},e,{ref:a,variant:"primary"}))})),c=t.forwardRef((function(e,a){return t.createElement(l,o({as:e.as||"button"},e,{ref:a,variant:"secondary"}))})),f=t.forwardRef((function(e,a){return t.createElement(l,o({as:e.as||"button"},e,{ref:a,variant:"success"}))})),b=t.forwardRef((function(e,a){return t.createElement(l,o({as:e.as||"button"},e,{ref:a,variant:"negative"}))})),m=t.forwardRef((function(e,a){return t.createElement(l,o({as:e.as||"button"},e,{ref:a,variant:"tertiary",size:"small"}))})),v=["as","className"],g=["className","children","size"],p=["as","children","className","disabled","loading","variant"],y=s.forwardRef((function(e,t){var r=e.as,u=e.children,l=e.className,d=e.disabled,c=void 0!==d&&d,f=e.loading,b=void 0!==f&&f,m=e.variant,v=void 0===m?"secondary":m,g=i(e,p);return s.createElement(r||"button",o({className:a("eds-square-button","eds-square-button--"+v,{"eds-square-button--loading":b},l),"aria-busy":b,disabled:c,"aria-disabled":c,ref:t},g),s.Children.map(u,(function(e){return"string"==typeof e?s.createElement("span",{className:"eds-square-button__label"},e):s.createElement("span",{className:"eds-square-button__button"},b?s.createElement(n.LoadingDots,{className:"eds-square-button__loading-dots"}):e)})))})),h=t.forwardRef((function(e,a){return t.createElement(y,o({as:e.as||"button",ref:a},e,{variant:"secondary"}))})),E=t.forwardRef((function(e,a){return t.createElement(y,o({as:e.as||"button",ref:a},e,{variant:"success"}))})),N=t.forwardRef((function(e,a){return t.createElement(y,o({ref:a},e,{variant:"tertiary"}))})),w=["children","className","disabled","size","as","loading"],x=t.forwardRef((function(e,r){var s=e.children,u=e.className,l=e.disabled,d=void 0!==l&&l,c=e.size,f=e.as,b=e.loading,m=i(e,w),v=f||"button",g=t.Children.map(s,(function(e){return t.isValidElement(e)?t.cloneElement(e,{"aria-hidden":!0}):e})),p=t.createElement(v,o({className:a("eds-icon-button",u,{"eds-icon-button--disabled":d},"eds-icon-button--size-"+c),disabled:d,"aria-disabled":d,"aria-busy":b,ref:r},m),b?t.createElement(n.LoadingDots,null):t.createElement(t.Fragment,null,g));return d?t.createElement("div",{className:"eds-icon-button--disabled__wrapper"},p):t.createElement(t.Fragment,null,p)}));e.warnAboutMissingStyles("button"),exports.Button=l,exports.ButtonGroup=function(e){var n=e.as,r=void 0===n?"div":n,s=e.className,u=i(e,v);return t.createElement(r,o({className:a("eds-button-group",s)},u))},exports.FloatingButton=function(e){var n=e.className,r=e.children,s=e.size,u=void 0===s?"medium":s,l=i(e,g);return t.createElement("button",o({className:a("eds-floating-button",{"eds-floating-button--extended":t.Children.count(r)>1},{"eds-floating-button--small":"small"===u},n),type:"button"},l),function(e){return t.Children.map(e,(function(e){return"string"==typeof e?t.createElement("span",null,e):e}))}(r))},exports.IconButton=x,exports.NegativeButton=b,exports.PrimaryButton=d,exports.SecondaryButton=c,exports.SecondarySquareButton=h,exports.SuccessButton=f,exports.SuccessSquareButton=E,exports.TertiaryButton=m,exports.TertiarySquareButton=N;
|
|
2
2
|
//# sourceMappingURL=button.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.cjs.production.min.js","sources":["../src/Button.tsx","../src/PrimaryButton.tsx","../src/SecondaryButton.tsx","../src/SuccessButton.tsx","../src/NegativeButton.tsx","../src/TertiaryButton.tsx","../src/BaseSquareButton.tsx","../src/SecondarySquareButton.tsx","../src/SuccessSquareButton.tsx","../src/TertiarySquareButton.tsx","../src/IconButton.tsx","../src/index.tsx","../src/ButtonGroup.tsx","../src/FloatingButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport cx from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './Button.scss';\n\ntype ButtonBaseProps = {\n /** Farge og uttrykk på knappen */\n variant: 'primary' | 'secondary' | 'success' | 'negative' | 'tertiary';\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n /**\n * Tekst som leses opp på skjermleser (nødvendig når knappetekst mangler)\n */\n 'aria-label'?: string;\n};\n\nconst defaultElement = 'button';\n\nexport type ButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, ButtonBaseProps>;\n\nexport type ButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: ButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const Button: ButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n children,\n variant,\n size = 'medium',\n loading,\n className,\n disabled = false,\n width = 'auto',\n 'aria-label': ariaLabel,\n ...rest\n }: ButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const ariaLabelWhenLoading = childrenArray\n .filter(child => typeof child === 'string')\n .join(' ');\n\n const ariaLabelValue = () => {\n if (ariaLabel) return ariaLabel;\n if (loading) return ariaLabelWhenLoading;\n return undefined;\n };\n\n return (\n <Element\n className={cx(\n 'eds-button',\n {\n [`eds-button--variant-${variant}`]: variant,\n [`eds-button--size-${size}`]: size,\n 'eds-button--width-fluid': width === 'fluid',\n 'eds-button--loading': loading,\n 'eds-button--leading-icon': hasLeadingIcon,\n 'eds-button--trailing-icon': hasTrailingIcon,\n },\n className,\n )}\n ref={ref}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n aria-label={ariaLabelValue()}\n {...rest}\n >\n {loading ? (\n <LoadingDots className=\"eds-button__loading-dots\" />\n ) : (\n children\n )}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type PrimaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type PrimaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, PrimaryButtonBaseProps>;\n\nexport type PrimaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: PrimaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const PrimaryButton: PrimaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PrimaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"primary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SecondaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SecondaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondaryButtonBaseProps>;\n\nexport type SecondaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondaryButton: SecondaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"secondary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SuccessButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SuccessButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessButtonBaseProps>;\n\nexport type SuccessButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessButton: SuccessButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"success\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type NegativeButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type NegativeButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, NegativeButtonBaseProps>;\n\nexport type NegativeButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: NegativeButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const NegativeButton: NegativeButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: NegativeButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"negative\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type TertiaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type TertiaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiaryButtonBaseProps>;\n\nexport type TertiaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const TertiaryButton: TertiaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"tertiary\" />;\n },\n);\n","import * as React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './BaseSquareButton.scss';\n\nexport type BaseSquareButtonBaseProps = {\n /** Tekst og ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** En type knapp */\n variant: 'success' | 'secondary' | 'tertiary';\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type BaseSquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, BaseSquareButtonBaseProps>;\n\nexport type BaseSquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: BaseSquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const BaseSquareButton: BaseSquareButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n variant,\n disabled = false,\n loading = false,\n as,\n ...rest\n }: BaseSquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <Element\n className={classNames(\n 'eds-square-button',\n { 'eds-square-button--success': variant === 'success' },\n { 'eds-square-button--secondary': variant === 'secondary' },\n { 'eds-square-button--tertiary': variant === 'tertiary' },\n { 'eds-square-button--loading': loading },\n className,\n )}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n ref={ref}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (typeof child === 'string') {\n return <span className=\"eds-square-button__label\">{child}</span>;\n }\n return (\n <span className=\"eds-square-button__icon\">\n {loading ? (\n <LoadingDots className=\"eds-square-button__loading-dots\" />\n ) : (\n child\n )}\n </span>\n );\n })}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SecondarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SecondarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondarySquareButtonBaseProps>;\n\nexport type SecondarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondarySquareButton: SecondarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <BaseSquareButton\n as={Element}\n ref={ref}\n {...props}\n variant=\"secondary\"\n />\n );\n },\n );\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SuccessSquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SuccessSquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessSquareButtonBaseProps>;\n\nexport type SuccessSquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessSquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessSquareButton: SuccessSquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessSquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <BaseSquareButton as={Element} ref={ref} {...props} variant=\"success\" />\n );\n },\n );\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype TertiarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type TertiarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiarySquareButtonBaseProps>;\n\nexport type TertiarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const TertiarySquareButton: TertiarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <BaseSquareButton\n as={Element}\n ref={ref}\n {...props}\n variant=\"tertiary\"\n />\n );\n },\n );\n","import React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './IconButton.scss';\n\nexport type IconButtonBaseProps = {\n /** Ikonet som du vil ha inne i knappen */\n children: React.ReactNode;\n /** Tekst som forklarer knappens handling. MÅ være satt hvis du ikke har en forklarende tooltip på knappen */\n 'aria-label'?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** HTML-elementet eller React-komponenten som lager knappen\n * @default 'button'\n */\n as?: React.ElementType;\n /**Størrelsen på knappen\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nconst defaultElement = 'button';\n\nexport type IconButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, IconButtonBaseProps>;\n\nexport type IconButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: IconButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const IconButton: IconButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n disabled = false,\n size,\n as,\n loading,\n ...rest\n }: IconButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n\n const IconWithAriaHidden = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n // @ts-expect-error aria-hidden does, in fact, exist\n return React.cloneElement(child, { 'aria-hidden': true });\n }\n return child;\n });\n\n const iconButtonElement = (\n <Element\n className={classNames(\n 'eds-icon-button',\n className,\n {\n 'eds-icon-button--disabled': disabled,\n },\n `eds-icon-button--size-${size}`,\n )}\n disabled={disabled}\n aria-disabled={disabled}\n aria-busy={loading}\n ref={ref}\n {...rest}\n >\n {loading ? <LoadingDots /> : <>{IconWithAriaHidden}</>}\n </Element>\n );\n\n if (disabled) {\n return (\n <div className=\"eds-icon-button--disabled__wrapper\">\n {iconButtonElement}\n </div>\n );\n }\n return <>{iconButtonElement}</>;\n },\n);\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('button');\n\nexport * from './Button';\nexport * from './PrimaryButton';\nexport * from './SecondaryButton';\nexport * from './SuccessButton';\nexport * from './NegativeButton';\nexport * from './TertiaryButton';\nexport * from './ButtonGroup';\nexport * from './FloatingButton';\nexport * from './SecondarySquareButton';\nexport * from './SuccessSquareButton';\nexport * from './TertiarySquareButton';\nexport * from './IconButton';\n","import React from 'react';\nimport classNames from 'classnames';\nimport './ButtonGroup.scss';\n\nexport type ButtonGroupProps = {\n /** To eller flere Button-komponenter */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** HTML-elementet eller React-komponenten som lages\n * @default \"div\"\n */\n as?: string | React.ElementType;\n [key: string]: any;\n};\n\nexport const ButtonGroup: React.FC<ButtonGroupProps> = ({\n as: Element = 'div',\n className,\n ...rest\n}) => {\n return (\n <Element className={classNames('eds-button-group', className)} {...rest} />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './FloatingButton.scss';\n\nexport type FloatingButtonProps = {\n /** Beskrivende tekst for skjermlesere */\n 'aria-label': string;\n /** Ikon eller ikon-og-tekst */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Callback når knappen klikkes */\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n /** Størrelse på knappen\n * @default \"medium\"\n */\n size?: 'medium' | 'small';\n [key: string]: any;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const FloatingButton: React.FC<FloatingButtonProps> = ({\n className,\n children,\n size = 'medium',\n ...rest\n}) => {\n return (\n <button\n className={classNames(\n 'eds-floating-button',\n { 'eds-floating-button--extended': React.Children.count(children) > 1 },\n { 'eds-floating-button--small': size === 'small' },\n className,\n )}\n type=\"button\"\n {...rest}\n >\n {wrapStringsInSpans(children)}\n </button>\n );\n};\n\nconst wrapStringsInSpans = (children: React.ReactNode) =>\n React.Children.map(children, child =>\n typeof child === 'string' ? <span>{child}</span> : child,\n );\n"],"names":["Button","React","forwardRef","ref","_cx","as","children","variant","_ref$size","_ref","size","loading","className","_ref$disabled","disabled","_ref$width","width","ariaLabel","rest","_objectWithoutPropertiesLoose","_excluded","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","ariaLabelWhenLoading","filter","child","join","_extends","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","BaseSquareButton","_ref$loading","createElement","classNames","map","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","IconWithAriaHidden","isValidElement","cloneElement","iconButtonElement","Fragment","warnAboutMissingStyles","_ref$as","count","type","wrapStringsInSpans"],"mappings":"82BA8CaA,EAA0BC,EAAMC,YAC3C,SAaEC,EAAAA,GACE,IAAAC,EAZAC,IAAAA,GACAC,IAAAA,SACAC,IAAAA,QAAOC,EAAAC,EACPC,KAAAA,aAAO,SAAQF,EACfG,IAAAA,QACAC,IAAAA,UAASC,EAAAJ,EACTK,SAAAA,cAAgBD,EAAAE,EAAAN,EAChBO,MAAAA,aAAQ,OAAMD,EACAE,IAAd,cACGC,EAAIC,EAAAV,EAAAW,GAIHC,EAA6BhB,GA3BhB,SA4BbiB,EAAgBrB,EAAMsB,SAASC,QAAQlB,GACvCmB,EACJH,EAAcI,OAAS,GAAiC,iBAArBJ,EAAc,GAC7CK,EACJL,EAAcI,OAAS,GAC4B,iBAA5CJ,EAAcA,EAAcI,OAAS,GAExCE,EAAuBN,EAC1BO,QAAO,SAAAC,GAAK,MAAqB,iBAAVA,CAAkB,IACzCC,KAAK,KAQR,OACE9B,gBAACoB,EAAOW,EAAA,CACNpB,UAAWqB,EACT,4CAE0B1B,GAAYA,EAAOH,EAAA,oBACtBM,GAASA,EAAIN,EAClC,2BAAqC,UAAVY,EAC3BZ,EAAA,uBAAuBO,IACvB,4BAA4Bc,EAAcrB,EAC1C,6BAA6BuB,EAAevB,GAE9CQ,GAEFT,IAAKA,cACMQ,EACXG,SAAUA,EACK,gBAAAA,eAtBbG,IACAN,EAAgBiB,OAApB,IAuBMV,GAEHP,EACCV,gBAACiC,EAAAA,YAAW,CAACtB,UAAU,6BAEvBN,EAIR,ICtEW6B,EAAwClC,EAAMC,YACzD,SACEkC,EACAjC,GAIA,OAAOF,gBAACD,EAAMgC,EAAA,CAAC3B,GAFoB+B,EAAM/B,IAPtB,UASa+B,EAAK,CAAEjC,IAAKA,EAAKI,QAAQ,YAC3D,ICRW8B,EAA4CpC,EAAMC,YAC7D,SACEkC,EACAjC,GAIA,OAAOF,gBAACD,EAAMgC,EAAA,CAAC3B,GAFoB+B,EAAM/B,IAPtB,UASa+B,EAAK,CAAEjC,IAAKA,EAAKI,QAAQ,cAC3D,ICRW+B,EAAwCrC,EAAMC,YACzD,SACEkC,EACAjC,GAIA,OAAOF,gBAACD,EAAMgC,EAAA,CAAC3B,GAFoB+B,EAAM/B,IAPtB,UASa+B,EAAK,CAAEjC,IAAKA,EAAKI,QAAQ,YAC3D,ICRWgC,EAA0CtC,EAAMC,YAC3D,SACEkC,EACAjC,GAIA,OAAOF,gBAACD,EAAMgC,EAAA,CAAC3B,GAFoB+B,EAAM/B,IAPtB,UASa+B,EAAK,CAAEjC,IAAKA,EAAKI,QAAQ,aAC3D,ICRWiC,EAA0CvC,EAAMC,YAC3D,SACEkC,EACAjC,GAIA,OAAOF,gBAACD,EAAMgC,EAAA,CAAC3B,GAFoB+B,EAAM/B,IAPtB,UASa+B,EAAK,CAAEjC,IAAKA,EAAKI,QAAQ,aAC3D,0HCZWkC,EAA8CxC,EAAMC,YAC/D,SAUEC,EAAAA,GACE,IATAG,IAAAA,SACAM,IAAAA,UACAL,IAAAA,QAAOM,EAAAJ,EACPK,SAAAA,cAAgBD,EAAA6B,EAAAjC,EAChBE,QAAAA,cAAe+B,EACfrC,IAAAA,GACGa,EAAIC,EAAAV,EAAAW,GAKT,OACEnB,EAAA0C,cAFiCtC,GAfhB,SAiBT2B,EAAA,CACNpB,UAAWgC,EACT,oBACA,CAAE,6BAA0C,YAAZrC,GAChC,CAAE,+BAA4C,cAAZA,GAClC,CAAE,8BAA2C,aAAZA,GACjC,CAAE,6BAA8BI,GAChCC,GAES,YAAAD,EACXG,SAAUA,kBACKA,EACfX,IAAKA,GACDe,GAEHjB,EAAMsB,SAASsB,IAAIvC,GAAU,SAAAwB,GAC5B,MAAqB,iBAAVA,EACF7B,wBAAMW,UAAU,4BAA4BkB,GAGnD7B,EAAM0C,cAAA,OAAA,CAAA/B,UAAU,2BACbD,EACCV,EAAC0C,cAAAT,cAAY,CAAAtB,UAAU,oCAEvBkB,EAIP,IAGP,IClDWgB,EACX7C,EAAMC,YACJ,SACEkC,EACAjC,GAGA,OAEEF,EAAA0C,cAACF,EAAgBT,EAAA,CACf3B,GAJ+B+B,EAAM/B,IARxB,SAabF,IAAKA,GACDiC,EAAK,CACT7B,QAAQ,cAGd,IChBSwC,EACX9C,EAAMC,YACJ,SACEkC,EACAjC,GAGA,OAEEF,EAAA0C,cAACF,EAAgBT,EAAA,CAAC3B,GAHe+B,EAAM/B,IARxB,SAWgBF,IAAKA,GAASiC,EAAK,CAAE7B,QAAQ,YAEhE,ICXSyC,EACX/C,EAAMC,YACJ,SACEkC,EACAjC,GAGA,OAEEF,EAAA0C,cAACF,EAAgBT,EAAA,CACf3B,GAJ+B+B,EAAM/B,IARxB,SAabF,IAAKA,GACDiC,EAAK,CACT7B,QAAQ,aAGd,gECJS0C,EAAkChD,EAAMC,YACnD,SAUEC,EAAAA,GACE,IATAG,IAAAA,SACAM,IAAAA,UAASC,EAAAJ,EACTK,SAAAA,cAAgBD,EAChBH,IAAAA,KACAL,IAAAA,GACAM,IAAAA,QACGO,EAAIC,EAAAV,EAAAW,GAIHC,EAA6BhB,GAxBhB,SA0Bb6C,EAAqBjD,EAAMsB,SAASsB,IAAIvC,GAAU,SAAAwB,GACtD,OAAI7B,EAAMkD,eAAerB,GAEhB7B,EAAMmD,aAAatB,EAAO,CAAE,eAAe,IAE7CA,CACT,IAEMuB,EACJpD,EAAA0C,cAACtB,EAAOW,EAAA,CACNpB,UAAWgC,EACT,kBACAhC,EACA,CACE,4BAA6BE,GAC9B,yBACwBJ,GAE3BI,SAAUA,EAAQ,gBACHA,EACJ,YAAAH,EACXR,IAAKA,GACDe,GAEHP,EAAUV,gBAACiC,EAAWA,YAAA,MAAMjC,EAAG0C,cAAA1C,EAAAqD,SAAA,KAAAJ,IAIpC,OAAIpC,EAEAb,uBAAKW,UAAU,sCACZyC,GAIApD,EAAA0C,cAAA1C,EAAAqD,SAAA,KAAGD,EACZ,IC1FFE,EAAsBA,uBAAC,+CCagC,SAIlD9C,GAAA,IAAA+C,EAAA/C,EAHHJ,GAAIgB,aAAU,MAAKmC,EACnB5C,IAAAA,UACGM,EAAIC,EAAAV,EAAAW,GAEP,OACEnB,EAAC0C,cAAAtB,EAAOW,EAAA,CAACpB,UAAWgC,EAAW,mBAAoBhC,IAAgBM,GAEvE,yBCJ6D,SAKxDT,GAAA,IAJHG,IAAAA,UACAN,IAAAA,SAAQE,EAAAC,EACRC,KAAAA,aAAO,SAAQF,EACZU,EAAIC,EAAAV,EAAAW,GAEP,OACEnB,4BACEW,UAAWgC,EACT,sBACA,CAAE,gCAAiC3C,EAAMsB,SAASkC,MAAMnD,GAAY,GACpE,CAAE,6BAAuC,UAATI,GAChCE,GAEF8C,KAAK,UACDxC,GAOiB,SAACZ,GAAyB,OACnDL,EAAMsB,SAASsB,IAAIvC,GAAU,SAAAwB,GAAK,MACf,iBAAVA,EAAqB7B,EAAO0C,cAAA,OAAA,KAAAb,GAAgBA,IACpD,CARI6B,CAAmBrD,GAG1B"}
|
|
1
|
+
{"version":3,"file":"button.cjs.production.min.js","sources":["../src/Button.tsx","../src/PrimaryButton.tsx","../src/SecondaryButton.tsx","../src/SuccessButton.tsx","../src/NegativeButton.tsx","../src/TertiaryButton.tsx","../src/SquareButton.tsx","../src/SecondarySquareButton.tsx","../src/SuccessSquareButton.tsx","../src/TertiarySquareButton.tsx","../src/IconButton.tsx","../src/index.tsx","../src/ButtonGroup.tsx","../src/FloatingButton.tsx"],"sourcesContent":["import * as React from 'react';\nimport cx from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './Button.scss';\n\n/** @deprecated use variant=\"secondary\" size=\"small\" instead */\nconst tertiary = 'tertiary';\n\ntype ButtonBaseProps = {\n /** Farge og uttrykk på knappen */\n variant: 'primary' | 'secondary' | 'success' | 'negative' | typeof tertiary;\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n /** Et HTML-element eller en React-komponent som komponenten tar utgangspunkt i for å lage denne knappevarianten\n * @default \"button\"\n */\n as?: string | React.ElementType;\n /**\n * Tekst som leses opp på skjermleser (nødvendig når knappetekst mangler)\n */\n 'aria-label'?: string;\n};\n\nconst defaultElement = 'button';\n\nexport type ButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, ButtonBaseProps>;\n\nexport type ButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: ButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const Button: ButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n children,\n variant,\n size = 'medium',\n loading,\n className,\n disabled = false,\n width = 'auto',\n 'aria-label': ariaLabel,\n ...rest\n }: ButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const ariaLabelWhenLoading = childrenArray\n .filter(child => typeof child === 'string')\n .join(' ');\n\n const ariaLabelValue = () => {\n if (ariaLabel) return ariaLabel;\n if (loading) return ariaLabelWhenLoading;\n return undefined;\n };\n\n return (\n <Element\n className={cx(\n 'eds-button',\n {\n [`eds-button--variant-${variant}`]: variant,\n [`eds-button--size-${size}`]: size,\n 'eds-button--width-fluid': width === 'fluid',\n 'eds-button--loading': loading,\n 'eds-button--leading-icon': hasLeadingIcon,\n 'eds-button--trailing-icon': hasTrailingIcon,\n },\n className,\n )}\n ref={ref}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n aria-label={ariaLabelValue()}\n {...rest}\n >\n {loading ? (\n <LoadingDots className=\"eds-button__loading-dots\" />\n ) : (\n children\n )}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type PrimaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type PrimaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, PrimaryButtonBaseProps>;\n\nexport type PrimaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: PrimaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const PrimaryButton: PrimaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PrimaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"primary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SecondaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SecondaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondaryButtonBaseProps>;\n\nexport type SecondaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondaryButton: SecondaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"secondary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SuccessButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SuccessButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessButtonBaseProps>;\n\nexport type SuccessButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessButton: SuccessButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"success\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type NegativeButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type NegativeButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, NegativeButtonBaseProps>;\n\nexport type NegativeButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: NegativeButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const NegativeButton: NegativeButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: NegativeButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"negative\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type TertiaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type TertiaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiaryButtonBaseProps>;\n\nexport type TertiaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\n/** @deprecated use SecondaryButton size=\"small\" instead */\nexport const TertiaryButton: TertiaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n <Button\n as={Element}\n {...props}\n ref={ref}\n variant=\"tertiary\"\n size=\"small\"\n />\n );\n },\n);\n","import * as React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './SquareButton.scss';\n\nexport type SquareButtonBaseProps = {\n /** Tekst og ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** En type knapp */\n variant: 'success' | 'secondary' | 'tertiary';\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** DOM-elementet knappen rendres som */\n as: string | React.ElementType;\n};\n\nexport type SquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SquareButtonBaseProps>;\n\nexport type SquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SquareButton: SquareButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n children,\n className,\n disabled = false,\n loading = false,\n variant = 'secondary',\n ...rest\n }: SquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <Element\n className={classNames(\n 'eds-square-button',\n `eds-square-button--${variant}`,\n {\n 'eds-square-button--loading': loading,\n },\n className,\n )}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n ref={ref}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (typeof child === 'string') {\n return <span className=\"eds-square-button__label\">{child}</span>;\n }\n return (\n <span className=\"eds-square-button__button\">\n {loading ? (\n <LoadingDots className=\"eds-square-button__loading-dots\" />\n ) : (\n child\n )}\n </span>\n );\n })}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { SquareButton } from './SquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SecondarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SecondarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondarySquareButtonBaseProps>;\n\nexport type SecondarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondarySquareButton: SecondarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <SquareButton as={Element} ref={ref} {...props} variant=\"secondary\" />\n );\n },\n );\n","import React from 'react';\nimport { SquareButton } from './SquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SuccessSquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SuccessSquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessSquareButtonBaseProps>;\n\nexport type SuccessSquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessSquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessSquareButton: SuccessSquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessSquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <SquareButton as={Element} ref={ref} {...props} variant=\"success\" />\n );\n },\n );\n","import React from 'react';\nimport { SquareButton, SquareButtonBaseProps } from './SquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype TertiarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n} & SquareButtonBaseProps;\n\nexport type TertiarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiarySquareButtonBaseProps>;\n\nexport type TertiarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const TertiarySquareButton: TertiarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => <SquareButton ref={ref} {...props} variant=\"tertiary\" />,\n );\n","import React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './IconButton.scss';\n\nexport type IconButtonBaseProps = {\n /** Ikonet som du vil ha inne i knappen */\n children: React.ReactNode;\n /** Tekst som forklarer knappens handling. MÅ være satt hvis du ikke har en forklarende tooltip på knappen */\n 'aria-label'?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** HTML-elementet eller React-komponenten som lager knappen\n * @default 'button'\n */\n as?: React.ElementType;\n /**Størrelsen på knappen\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nconst defaultElement = 'button';\n\nexport type IconButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, IconButtonBaseProps>;\n\nexport type IconButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: IconButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const IconButton: IconButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n disabled = false,\n size,\n as,\n loading,\n ...rest\n }: IconButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n\n const IconWithAriaHidden = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n // @ts-expect-error aria-hidden does, in fact, exist\n return React.cloneElement(child, { 'aria-hidden': true });\n }\n return child;\n });\n\n const iconButtonElement = (\n <Element\n className={classNames(\n 'eds-icon-button',\n className,\n {\n 'eds-icon-button--disabled': disabled,\n },\n `eds-icon-button--size-${size}`,\n )}\n disabled={disabled}\n aria-disabled={disabled}\n aria-busy={loading}\n ref={ref}\n {...rest}\n >\n {loading ? <LoadingDots /> : <>{IconWithAriaHidden}</>}\n </Element>\n );\n\n if (disabled) {\n return (\n <div className=\"eds-icon-button--disabled__wrapper\">\n {iconButtonElement}\n </div>\n );\n }\n return <>{iconButtonElement}</>;\n },\n);\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('button');\n\nexport * from './Button';\nexport * from './PrimaryButton';\nexport * from './SecondaryButton';\nexport * from './SuccessButton';\nexport * from './NegativeButton';\nexport * from './TertiaryButton';\nexport * from './ButtonGroup';\nexport * from './FloatingButton';\nexport * from './SecondarySquareButton';\nexport * from './SuccessSquareButton';\nexport * from './TertiarySquareButton';\nexport * from './IconButton';\n","import React from 'react';\nimport classNames from 'classnames';\nimport './ButtonGroup.scss';\n\nexport type ButtonGroupProps = {\n /** To eller flere Button-komponenter */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** HTML-elementet eller React-komponenten som lages\n * @default \"div\"\n */\n as?: string | React.ElementType;\n [key: string]: any;\n};\n\nexport const ButtonGroup: React.FC<ButtonGroupProps> = ({\n as: Element = 'div',\n className,\n ...rest\n}) => {\n return (\n <Element className={classNames('eds-button-group', className)} {...rest} />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './FloatingButton.scss';\n\nexport type FloatingButtonProps = {\n /** Beskrivende tekst for skjermlesere */\n 'aria-label': string;\n /** Ikon eller ikon-og-tekst */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Callback når knappen klikkes */\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n /** Størrelse på knappen\n * @default \"medium\"\n */\n size?: 'medium' | 'small';\n [key: string]: any;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const FloatingButton: React.FC<FloatingButtonProps> = ({\n className,\n children,\n size = 'medium',\n ...rest\n}) => {\n return (\n <button\n className={classNames(\n 'eds-floating-button',\n { 'eds-floating-button--extended': React.Children.count(children) > 1 },\n { 'eds-floating-button--small': size === 'small' },\n className,\n )}\n type=\"button\"\n {...rest}\n >\n {wrapStringsInSpans(children)}\n </button>\n );\n};\n\nconst wrapStringsInSpans = (children: React.ReactNode) =>\n React.Children.map(children, child =>\n typeof child === 'string' ? <span>{child}</span> : child,\n );\n"],"names":["Button","React","forwardRef","ref","_cx","as","children","variant","_ref$size","_ref","size","loading","className","_ref$disabled","disabled","_ref$width","width","ariaLabel","rest","_objectWithoutPropertiesLoose","_excluded","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","ariaLabelWhenLoading","filter","child","join","_extends","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","SquareButton","_ref$loading","_ref$variant","createElement","classNames","map","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","IconWithAriaHidden","isValidElement","cloneElement","iconButtonElement","Fragment","warnAboutMissingStyles","_ref$as","count","type","wrapStringsInSpans"],"mappings":"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"}
|
package/dist/button.esm.js
CHANGED
|
@@ -32,7 +32,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
var _excluded$4 = ["as", "children", "variant", "size", "loading", "className", "disabled", "width", "aria-label"];
|
|
35
|
-
var defaultElement$
|
|
35
|
+
var defaultElement$9 = 'button';
|
|
36
36
|
var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
37
37
|
var _cx;
|
|
38
38
|
var as = _ref.as,
|
|
@@ -48,7 +48,7 @@ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
48
48
|
width = _ref$width === void 0 ? 'auto' : _ref$width,
|
|
49
49
|
ariaLabel = _ref['aria-label'],
|
|
50
50
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
51
|
-
var Element = as || defaultElement$
|
|
51
|
+
var Element = as || defaultElement$9;
|
|
52
52
|
var childrenArray = React.Children.toArray(children);
|
|
53
53
|
var hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== 'string';
|
|
54
54
|
var hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== 'string';
|
|
@@ -72,9 +72,9 @@ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
72
72
|
}) : children);
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
-
var defaultElement$
|
|
75
|
+
var defaultElement$8 = 'button';
|
|
76
76
|
var PrimaryButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
77
|
-
var Element = props.as || defaultElement$
|
|
77
|
+
var Element = props.as || defaultElement$8;
|
|
78
78
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
79
79
|
return React__default.createElement(Button, _extends({
|
|
80
80
|
as: Element
|
|
@@ -84,9 +84,9 @@ var PrimaryButton = /*#__PURE__*/React__default.forwardRef(function (props, ref)
|
|
|
84
84
|
}));
|
|
85
85
|
});
|
|
86
86
|
|
|
87
|
-
var defaultElement$
|
|
87
|
+
var defaultElement$7 = 'button';
|
|
88
88
|
var SecondaryButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
89
|
-
var Element = props.as || defaultElement$
|
|
89
|
+
var Element = props.as || defaultElement$7;
|
|
90
90
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
91
91
|
return React__default.createElement(Button, _extends({
|
|
92
92
|
as: Element
|
|
@@ -96,9 +96,9 @@ var SecondaryButton = /*#__PURE__*/React__default.forwardRef(function (props, re
|
|
|
96
96
|
}));
|
|
97
97
|
});
|
|
98
98
|
|
|
99
|
-
var defaultElement$
|
|
99
|
+
var defaultElement$6 = 'button';
|
|
100
100
|
var SuccessButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
101
|
-
var Element = props.as || defaultElement$
|
|
101
|
+
var Element = props.as || defaultElement$6;
|
|
102
102
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
103
103
|
return React__default.createElement(Button, _extends({
|
|
104
104
|
as: Element
|
|
@@ -108,9 +108,9 @@ var SuccessButton = /*#__PURE__*/React__default.forwardRef(function (props, ref)
|
|
|
108
108
|
}));
|
|
109
109
|
});
|
|
110
110
|
|
|
111
|
-
var defaultElement$
|
|
111
|
+
var defaultElement$5 = 'button';
|
|
112
112
|
var NegativeButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
113
|
-
var Element = props.as || defaultElement$
|
|
113
|
+
var Element = props.as || defaultElement$5;
|
|
114
114
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
115
115
|
return React__default.createElement(Button, _extends({
|
|
116
116
|
as: Element
|
|
@@ -120,15 +120,16 @@ var NegativeButton = /*#__PURE__*/React__default.forwardRef(function (props, ref
|
|
|
120
120
|
}));
|
|
121
121
|
});
|
|
122
122
|
|
|
123
|
-
var defaultElement$
|
|
123
|
+
var defaultElement$4 = 'button';
|
|
124
|
+
/** @deprecated use SecondaryButton size="small" instead */
|
|
124
125
|
var TertiaryButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
125
|
-
var Element = props.as || defaultElement$
|
|
126
|
-
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
126
|
+
var Element = props.as || defaultElement$4;
|
|
127
127
|
return React__default.createElement(Button, _extends({
|
|
128
128
|
as: Element
|
|
129
129
|
}, props, {
|
|
130
130
|
ref: ref,
|
|
131
|
-
variant: "tertiary"
|
|
131
|
+
variant: "tertiary",
|
|
132
|
+
size: "small"
|
|
132
133
|
}));
|
|
133
134
|
});
|
|
134
135
|
|
|
@@ -165,27 +166,22 @@ var wrapStringsInSpans = function wrapStringsInSpans(children) {
|
|
|
165
166
|
});
|
|
166
167
|
};
|
|
167
168
|
|
|
168
|
-
var _excluded$1 = ["
|
|
169
|
-
var defaultElement$
|
|
170
|
-
var
|
|
171
|
-
var
|
|
169
|
+
var _excluded$1 = ["as", "children", "className", "disabled", "loading", "variant"];
|
|
170
|
+
var defaultElement$3 = 'button';
|
|
171
|
+
var SquareButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
172
|
+
var as = _ref.as,
|
|
173
|
+
children = _ref.children,
|
|
172
174
|
className = _ref.className,
|
|
173
|
-
variant = _ref.variant,
|
|
174
175
|
_ref$disabled = _ref.disabled,
|
|
175
176
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
176
177
|
_ref$loading = _ref.loading,
|
|
177
178
|
loading = _ref$loading === void 0 ? false : _ref$loading,
|
|
178
|
-
|
|
179
|
+
_ref$variant = _ref.variant,
|
|
180
|
+
variant = _ref$variant === void 0 ? 'secondary' : _ref$variant,
|
|
179
181
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
180
|
-
var Element = as || defaultElement$
|
|
182
|
+
var Element = as || defaultElement$3;
|
|
181
183
|
return React.createElement(Element, _extends({
|
|
182
|
-
className: classNames('eds-square-button', {
|
|
183
|
-
'eds-square-button--success': variant === 'success'
|
|
184
|
-
}, {
|
|
185
|
-
'eds-square-button--secondary': variant === 'secondary'
|
|
186
|
-
}, {
|
|
187
|
-
'eds-square-button--tertiary': variant === 'tertiary'
|
|
188
|
-
}, {
|
|
184
|
+
className: classNames('eds-square-button', "eds-square-button--" + variant, {
|
|
189
185
|
'eds-square-button--loading': loading
|
|
190
186
|
}, className),
|
|
191
187
|
"aria-busy": loading,
|
|
@@ -199,19 +195,19 @@ var BaseSquareButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
199
195
|
}, child);
|
|
200
196
|
}
|
|
201
197
|
return React.createElement("span", {
|
|
202
|
-
className: "eds-square-
|
|
198
|
+
className: "eds-square-button__button"
|
|
203
199
|
}, loading ? React.createElement(LoadingDots, {
|
|
204
200
|
className: "eds-square-button__loading-dots"
|
|
205
201
|
}) : child);
|
|
206
202
|
}));
|
|
207
203
|
});
|
|
208
204
|
|
|
209
|
-
var defaultElement$
|
|
205
|
+
var defaultElement$2 = 'button';
|
|
210
206
|
var SecondarySquareButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
211
|
-
var Element = props.as || defaultElement$
|
|
207
|
+
var Element = props.as || defaultElement$2;
|
|
212
208
|
return (
|
|
213
209
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
214
|
-
React__default.createElement(
|
|
210
|
+
React__default.createElement(SquareButton, _extends({
|
|
215
211
|
as: Element,
|
|
216
212
|
ref: ref
|
|
217
213
|
}, props, {
|
|
@@ -220,12 +216,12 @@ var SecondarySquareButton = /*#__PURE__*/React__default.forwardRef(function (pro
|
|
|
220
216
|
);
|
|
221
217
|
});
|
|
222
218
|
|
|
223
|
-
var defaultElement$
|
|
219
|
+
var defaultElement$1 = 'button';
|
|
224
220
|
var SuccessSquareButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
225
|
-
var Element = props.as || defaultElement$
|
|
221
|
+
var Element = props.as || defaultElement$1;
|
|
226
222
|
return (
|
|
227
223
|
// @ts-expect-error type error due to props not being BaseButtonProps
|
|
228
|
-
React__default.createElement(
|
|
224
|
+
React__default.createElement(SquareButton, _extends({
|
|
229
225
|
as: Element,
|
|
230
226
|
ref: ref
|
|
231
227
|
}, props, {
|
|
@@ -234,18 +230,12 @@ var SuccessSquareButton = /*#__PURE__*/React__default.forwardRef(function (props
|
|
|
234
230
|
);
|
|
235
231
|
});
|
|
236
232
|
|
|
237
|
-
var defaultElement$1 = 'button';
|
|
238
233
|
var TertiarySquareButton = /*#__PURE__*/React__default.forwardRef(function (props, ref) {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
ref: ref
|
|
245
|
-
}, props, {
|
|
246
|
-
variant: "tertiary"
|
|
247
|
-
}))
|
|
248
|
-
);
|
|
234
|
+
return React__default.createElement(SquareButton, _extends({
|
|
235
|
+
ref: ref
|
|
236
|
+
}, props, {
|
|
237
|
+
variant: "tertiary"
|
|
238
|
+
}));
|
|
249
239
|
});
|
|
250
240
|
|
|
251
241
|
var _excluded = ["children", "className", "disabled", "size", "as", "loading"];
|
package/dist/button.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.esm.js","sources":["../src/Button.tsx","../src/PrimaryButton.tsx","../src/SecondaryButton.tsx","../src/SuccessButton.tsx","../src/NegativeButton.tsx","../src/TertiaryButton.tsx","../src/ButtonGroup.tsx","../src/FloatingButton.tsx","../src/BaseSquareButton.tsx","../src/SecondarySquareButton.tsx","../src/SuccessSquareButton.tsx","../src/TertiarySquareButton.tsx","../src/IconButton.tsx","../src/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport cx from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './Button.scss';\n\ntype ButtonBaseProps = {\n /** Farge og uttrykk på knappen */\n variant: 'primary' | 'secondary' | 'success' | 'negative' | 'tertiary';\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n /**\n * Tekst som leses opp på skjermleser (nødvendig når knappetekst mangler)\n */\n 'aria-label'?: string;\n};\n\nconst defaultElement = 'button';\n\nexport type ButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, ButtonBaseProps>;\n\nexport type ButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: ButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const Button: ButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n children,\n variant,\n size = 'medium',\n loading,\n className,\n disabled = false,\n width = 'auto',\n 'aria-label': ariaLabel,\n ...rest\n }: ButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const ariaLabelWhenLoading = childrenArray\n .filter(child => typeof child === 'string')\n .join(' ');\n\n const ariaLabelValue = () => {\n if (ariaLabel) return ariaLabel;\n if (loading) return ariaLabelWhenLoading;\n return undefined;\n };\n\n return (\n <Element\n className={cx(\n 'eds-button',\n {\n [`eds-button--variant-${variant}`]: variant,\n [`eds-button--size-${size}`]: size,\n 'eds-button--width-fluid': width === 'fluid',\n 'eds-button--loading': loading,\n 'eds-button--leading-icon': hasLeadingIcon,\n 'eds-button--trailing-icon': hasTrailingIcon,\n },\n className,\n )}\n ref={ref}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n aria-label={ariaLabelValue()}\n {...rest}\n >\n {loading ? (\n <LoadingDots className=\"eds-button__loading-dots\" />\n ) : (\n children\n )}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type PrimaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type PrimaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, PrimaryButtonBaseProps>;\n\nexport type PrimaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: PrimaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const PrimaryButton: PrimaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PrimaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"primary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SecondaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SecondaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondaryButtonBaseProps>;\n\nexport type SecondaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondaryButton: SecondaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"secondary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SuccessButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SuccessButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessButtonBaseProps>;\n\nexport type SuccessButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessButton: SuccessButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"success\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type NegativeButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type NegativeButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, NegativeButtonBaseProps>;\n\nexport type NegativeButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: NegativeButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const NegativeButton: NegativeButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: NegativeButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"negative\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type TertiaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type TertiaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiaryButtonBaseProps>;\n\nexport type TertiaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const TertiaryButton: TertiaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"tertiary\" />;\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport './ButtonGroup.scss';\n\nexport type ButtonGroupProps = {\n /** To eller flere Button-komponenter */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** HTML-elementet eller React-komponenten som lages\n * @default \"div\"\n */\n as?: string | React.ElementType;\n [key: string]: any;\n};\n\nexport const ButtonGroup: React.FC<ButtonGroupProps> = ({\n as: Element = 'div',\n className,\n ...rest\n}) => {\n return (\n <Element className={classNames('eds-button-group', className)} {...rest} />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './FloatingButton.scss';\n\nexport type FloatingButtonProps = {\n /** Beskrivende tekst for skjermlesere */\n 'aria-label': string;\n /** Ikon eller ikon-og-tekst */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Callback når knappen klikkes */\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n /** Størrelse på knappen\n * @default \"medium\"\n */\n size?: 'medium' | 'small';\n [key: string]: any;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const FloatingButton: React.FC<FloatingButtonProps> = ({\n className,\n children,\n size = 'medium',\n ...rest\n}) => {\n return (\n <button\n className={classNames(\n 'eds-floating-button',\n { 'eds-floating-button--extended': React.Children.count(children) > 1 },\n { 'eds-floating-button--small': size === 'small' },\n className,\n )}\n type=\"button\"\n {...rest}\n >\n {wrapStringsInSpans(children)}\n </button>\n );\n};\n\nconst wrapStringsInSpans = (children: React.ReactNode) =>\n React.Children.map(children, child =>\n typeof child === 'string' ? <span>{child}</span> : child,\n );\n","import * as React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './BaseSquareButton.scss';\n\nexport type BaseSquareButtonBaseProps = {\n /** Tekst og ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** En type knapp */\n variant: 'success' | 'secondary' | 'tertiary';\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type BaseSquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, BaseSquareButtonBaseProps>;\n\nexport type BaseSquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: BaseSquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const BaseSquareButton: BaseSquareButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n variant,\n disabled = false,\n loading = false,\n as,\n ...rest\n }: BaseSquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <Element\n className={classNames(\n 'eds-square-button',\n { 'eds-square-button--success': variant === 'success' },\n { 'eds-square-button--secondary': variant === 'secondary' },\n { 'eds-square-button--tertiary': variant === 'tertiary' },\n { 'eds-square-button--loading': loading },\n className,\n )}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n ref={ref}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (typeof child === 'string') {\n return <span className=\"eds-square-button__label\">{child}</span>;\n }\n return (\n <span className=\"eds-square-button__icon\">\n {loading ? (\n <LoadingDots className=\"eds-square-button__loading-dots\" />\n ) : (\n child\n )}\n </span>\n );\n })}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SecondarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SecondarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondarySquareButtonBaseProps>;\n\nexport type SecondarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondarySquareButton: SecondarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <BaseSquareButton\n as={Element}\n ref={ref}\n {...props}\n variant=\"secondary\"\n />\n );\n },\n );\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SuccessSquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SuccessSquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessSquareButtonBaseProps>;\n\nexport type SuccessSquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessSquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessSquareButton: SuccessSquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessSquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <BaseSquareButton as={Element} ref={ref} {...props} variant=\"success\" />\n );\n },\n );\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype TertiarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type TertiarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiarySquareButtonBaseProps>;\n\nexport type TertiarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const TertiarySquareButton: TertiarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <BaseSquareButton\n as={Element}\n ref={ref}\n {...props}\n variant=\"tertiary\"\n />\n );\n },\n );\n","import React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './IconButton.scss';\n\nexport type IconButtonBaseProps = {\n /** Ikonet som du vil ha inne i knappen */\n children: React.ReactNode;\n /** Tekst som forklarer knappens handling. MÅ være satt hvis du ikke har en forklarende tooltip på knappen */\n 'aria-label'?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** HTML-elementet eller React-komponenten som lager knappen\n * @default 'button'\n */\n as?: React.ElementType;\n /**Størrelsen på knappen\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nconst defaultElement = 'button';\n\nexport type IconButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, IconButtonBaseProps>;\n\nexport type IconButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: IconButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const IconButton: IconButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n disabled = false,\n size,\n as,\n loading,\n ...rest\n }: IconButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n\n const IconWithAriaHidden = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n // @ts-expect-error aria-hidden does, in fact, exist\n return React.cloneElement(child, { 'aria-hidden': true });\n }\n return child;\n });\n\n const iconButtonElement = (\n <Element\n className={classNames(\n 'eds-icon-button',\n className,\n {\n 'eds-icon-button--disabled': disabled,\n },\n `eds-icon-button--size-${size}`,\n )}\n disabled={disabled}\n aria-disabled={disabled}\n aria-busy={loading}\n ref={ref}\n {...rest}\n >\n {loading ? <LoadingDots /> : <>{IconWithAriaHidden}</>}\n </Element>\n );\n\n if (disabled) {\n return (\n <div className=\"eds-icon-button--disabled__wrapper\">\n {iconButtonElement}\n </div>\n );\n }\n return <>{iconButtonElement}</>;\n },\n);\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('button');\n\nexport * from './Button';\nexport * from './PrimaryButton';\nexport * from './SecondaryButton';\nexport * from './SuccessButton';\nexport * from './NegativeButton';\nexport * from './TertiaryButton';\nexport * from './ButtonGroup';\nexport * from './FloatingButton';\nexport * from './SecondarySquareButton';\nexport * from './SuccessSquareButton';\nexport * from './TertiarySquareButton';\nexport * from './IconButton';\n"],"names":["defaultElement","Button","React","forwardRef","ref","as","children","variant","size","loading","className","disabled","width","ariaLabel","rest","_excluded","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","ariaLabelWhenLoading","filter","child","join","ariaLabelValue","undefined","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","ButtonGroup","createElement","classNames","FloatingButton","count","type","wrapStringsInSpans","map","BaseSquareButton","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","IconWithAriaHidden","isValidElement","cloneElement","iconButtonElement","Fragment","warnAboutMissingStyles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,IAAMA,gBAAc,GAAG,QAAQ,CAAA;AAWxB,IAAMC,MAAM,gBAAoBC,KAAK,CAACC,UAAU,CACrD,UAaEC,IAAAA,EAAAA,GAAsB,EACpB;AAAA,EAAA,IAAA,GAAA,CAAA;EAAA,IAZAC,EAAE,QAAFA,EAAE;AACFC,IAAAA,QAAQ,QAARA,QAAQ;AACRC,IAAAA,OAAO,QAAPA,OAAO;AAAA,IAAA,SAAA,GAAA,IAAA,CACPC,IAAI;AAAJA,IAAAA,IAAI,0BAAG,QAAQ,GAAA,SAAA;AACfC,IAAAA,OAAO,QAAPA,OAAO;AACPC,IAAAA,SAAS,QAATA,SAAS;AAAA,IAAA,aAAA,GAAA,IAAA,CACTC,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAAA,IAAA,UAAA,GAAA,IAAA,CAChBC,KAAK;AAALA,IAAAA,KAAK,2BAAG,MAAM,GAAA,UAAA;AACAC,IAAAA,SAAS,QAAvB,YAAY,CAAA;IACTC,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAIT,EAAA,IAAMC,OAAO,GAAsBX,EAAE,IAAIL,gBAAc,CAAA;EACvD,IAAMiB,aAAa,GAAGf,KAAK,CAACgB,QAAQ,CAACC,OAAO,CAACb,QAAQ,CAAC,CAAA;AACtD,EAAA,IAAMc,cAAc,GAClBH,aAAa,CAACI,MAAM,GAAG,CAAC,IAAI,OAAOJ,aAAa,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;AAClE,EAAA,IAAMK,eAAe,GACnBL,aAAa,CAACI,MAAM,GAAG,CAAC,IACxB,OAAOJ,aAAa,CAACA,aAAa,CAACI,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,CAAA;AAE7D,EAAA,IAAME,oBAAoB,GAAGN,aAAa,CACvCO,MAAM,CAAC,UAAAC,KAAK,EAAA;IAAA,OAAI,OAAOA,KAAK,KAAK,QAAQ,CAAA;AAAA,GAAA,CAAC,CAC1CC,IAAI,CAAC,GAAG,CAAC,CAAA;AAEZ,EAAA,IAAMC,cAAc,GAAG,SAAjBA,cAAc,GAAQ;IAC1B,IAAId,SAAS,EAAE,OAAOA,SAAS,CAAA;IAC/B,IAAIJ,OAAO,EAAE,OAAOc,oBAAoB,CAAA;AACxC,IAAA,OAAOK,SAAS,CAAA;GACjB,CAAA;AAED,EAAA,OACE1B,oBAACc,OAAO,EAAA,QAAA,CAAA;AACNN,IAAAA,SAAS,EAAEmB,UAAE,CACX,YAAY,0CAEctB,OAAO,CAAA,GAAKA,OAAO,EAAA,GAAA,CAAA,mBAAA,GACtBC,IAAI,CAAA,GAAKA,IAAI,EAAA,GAAA,CAClC,yBAAyB,CAAEI,GAAAA,KAAK,KAAK,OAAO,EAC5C,GAAA,CAAA,qBAAqB,CAAEH,GAAAA,OAAO,MAC9B,0BAA0B,CAAA,GAAEW,cAAc,EAAA,GAAA,CAC1C,2BAA2B,CAAA,GAAEE,eAAe,EAAA,GAAA,GAE9CZ,SAAS,CACV;AACDN,IAAAA,GAAG,EAAEA,GAAG;iBACGK,OAAO;AAClBE,IAAAA,QAAQ,EAAEA,QAAQ;AACH,IAAA,eAAA,EAAAA,QAAQ;kBACXgB,cAAc,EAAA;GACtBb,EAAAA,IAAI,GAEPL,OAAO,GACNP,oBAAC4B,WAAW,EAAA;AAACpB,IAAAA,SAAS,EAAC,0BAAA;IAA6B,GAEpDJ,QACD,CACO,CAAA;AAEd,CAAC;;ACxEH,IAAMN,gBAAc,GAAG,QAAQ,CAAA;AAExB,IAAM+B,aAAa,gBAA2B7B,cAAK,CAACC,UAAU,CACnE,UACE6B,KAA4B,EAC5B5B,GAAsB,EACpB;AACF,EAAA,IAAMY,OAAO,GAAsBgB,KAAK,CAAC3B,EAAE,IAAIL,gBAAc,CAAA;AAC7D;AACA,EAAA,OAAOE,6BAACD,MAAM,EAAA,QAAA,CAAA;AAACI,IAAAA,EAAE,EAAEW,OAAAA;AAAO,GAAA,EAAMgB,KAAK,EAAA;AAAE5B,IAAAA,GAAG,EAAEA,GAAG;AAAEG,IAAAA,OAAO,EAAC,SAAA;GAAY,CAAA,CAAA,CAAA;AACvE,CAAC;;ACVH,IAAMP,gBAAc,GAAG,QAAQ,CAAA;AAExB,IAAMiC,eAAe,gBAA6B/B,cAAK,CAACC,UAAU,CACvE,UACE6B,KAA8B,EAC9B5B,GAAsB,EACpB;AACF,EAAA,IAAMY,OAAO,GAAsBgB,KAAK,CAAC3B,EAAE,IAAIL,gBAAc,CAAA;AAC7D;AACA,EAAA,OAAOE,6BAACD,MAAM,EAAA,QAAA,CAAA;AAACI,IAAAA,EAAE,EAAEW,OAAAA;AAAO,GAAA,EAAMgB,KAAK,EAAA;AAAE5B,IAAAA,GAAG,EAAEA,GAAG;AAAEG,IAAAA,OAAO,EAAC,WAAA;GAAc,CAAA,CAAA,CAAA;AACzE,CAAC;;ACVH,IAAMP,gBAAc,GAAG,QAAQ,CAAA;AAExB,IAAMkC,aAAa,gBAA2BhC,cAAK,CAACC,UAAU,CACnE,UACE6B,KAA4B,EAC5B5B,GAAsB,EACpB;AACF,EAAA,IAAMY,OAAO,GAAsBgB,KAAK,CAAC3B,EAAE,IAAIL,gBAAc,CAAA;AAC7D;AACA,EAAA,OAAOE,6BAACD,MAAM,EAAA,QAAA,CAAA;AAACI,IAAAA,EAAE,EAAEW,OAAAA;AAAO,GAAA,EAAMgB,KAAK,EAAA;AAAE5B,IAAAA,GAAG,EAAEA,GAAG;AAAEG,IAAAA,OAAO,EAAC,SAAA;GAAY,CAAA,CAAA,CAAA;AACvE,CAAC;;ACVH,IAAMP,gBAAc,GAAG,QAAQ,CAAA;AAExB,IAAMmC,cAAc,gBAA4BjC,cAAK,CAACC,UAAU,CACrE,UACE6B,KAA6B,EAC7B5B,GAAsB,EACpB;AACF,EAAA,IAAMY,OAAO,GAAsBgB,KAAK,CAAC3B,EAAE,IAAIL,gBAAc,CAAA;AAC7D;AACA,EAAA,OAAOE,6BAACD,MAAM,EAAA,QAAA,CAAA;AAACI,IAAAA,EAAE,EAAEW,OAAAA;AAAO,GAAA,EAAMgB,KAAK,EAAA;AAAE5B,IAAAA,GAAG,EAAEA,GAAG;AAAEG,IAAAA,OAAO,EAAC,UAAA;GAAa,CAAA,CAAA,CAAA;AACxE,CAAC;;ACVH,IAAMP,gBAAc,GAAG,QAAQ,CAAA;AAExB,IAAMoC,cAAc,gBAA4BlC,cAAK,CAACC,UAAU,CACrE,UACE6B,KAA6B,EAC7B5B,GAAsB,EACpB;AACF,EAAA,IAAMY,OAAO,GAAsBgB,KAAK,CAAC3B,EAAE,IAAIL,gBAAc,CAAA;AAC7D;AACA,EAAA,OAAOE,6BAACD,MAAM,EAAA,QAAA,CAAA;AAACI,IAAAA,EAAE,EAAEW,OAAAA;AAAO,GAAA,EAAMgB,KAAK,EAAA;AAAE5B,IAAAA,GAAG,EAAEA,GAAG;AAAEG,IAAAA,OAAO,EAAC,UAAA;GAAa,CAAA,CAAA,CAAA;AACxE,CAAC;;;AC9BU8B,IAAAA,WAAW,GAA+B,SAA1CA,WAAW,CAInB,IAAA,EAAA;AAAA,EAAA,IAAA,OAAA,GAAA,IAAA,CAHHhC,EAAE;AAAEW,IAAAA,OAAO,wBAAG,KAAK,GAAA,OAAA;AACnBN,IAAAA,SAAS,QAATA,SAAS;IACNI,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAEP,EAAA,OACEb,cAAC,CAAAoC,aAAA,CAAAtB,OAAO,EAAA,QAAA,CAAA;AAACN,IAAAA,SAAS,EAAE6B,UAAU,CAAC,kBAAkB,EAAE7B,SAAS,CAAA;AAAC,GAAA,EAAMI,IAAI,CAAI,CAAA,CAAA;AAE/E;;;ACJa0B,IAAAA,cAAc,GAAkC,SAAhDA,cAAc,CAKtB,IAAA,EAAA;EAAA,IAJH9B,SAAS,QAATA,SAAS;AACTJ,IAAAA,QAAQ,QAARA,QAAQ;AAAA,IAAA,SAAA,GAAA,IAAA,CACRE,IAAI;AAAJA,IAAAA,IAAI,0BAAG,QAAQ,GAAA,SAAA;IACZM,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAEP,EAAA,OACEb;AACEQ,IAAAA,SAAS,EAAE6B,UAAU,CACnB,qBAAqB,EACrB;MAAE,+BAA+B,EAAErC,cAAK,CAACgB,QAAQ,CAACuB,KAAK,CAACnC,QAAQ,CAAC,GAAG,CAAA;AAAG,KAAA,EACvE;MAAE,4BAA4B,EAAEE,IAAI,KAAK,OAAA;KAAS,EAClDE,SAAS,CACV;AACDgC,IAAAA,IAAI,EAAC,QAAA;AAAQ,GAAA,EACT5B,IAAI,CAEP6B,EAAAA,kBAAkB,CAACrC,QAAQ,CAAC,CACtB,CAAA;AAEb,EAAC;AAED,IAAMqC,kBAAkB,GAAG,SAArBA,kBAAkB,CAAIrC,QAAyB,EAAA;EAAA,OACnDJ,cAAK,CAACgB,QAAQ,CAAC0B,GAAG,CAACtC,QAAQ,EAAE,UAAAmB,KAAK,EAAA;AAAA,IAAA,OAChC,OAAOA,KAAK,KAAK,QAAQ,GAAGvB,cAAO,CAAAoC,aAAA,CAAA,MAAA,EAAA,IAAA,EAAAb,KAAK,CAAQ,GAAGA,KAAK,CAAA;GACzD,CAAA,CAAA;AAAA,CAAA;;;ACbH,IAAMzB,gBAAc,GAAG,QAAQ,CAAA;AAExB,IAAM6C,gBAAgB,gBAA8B3C,KAAK,CAACC,UAAU,CACzE,UAUEC,IAAAA,EAAAA,GAAsB,EACpB;EAAA,IATAE,QAAQ,QAARA,QAAQ;AACRI,IAAAA,SAAS,QAATA,SAAS;AACTH,IAAAA,OAAO,QAAPA,OAAO;AAAA,IAAA,aAAA,GAAA,IAAA,CACPI,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAAA,IAAA,YAAA,GAAA,IAAA,CAChBF,OAAO;AAAPA,IAAAA,OAAO,6BAAG,KAAK,GAAA,YAAA;AACfJ,IAAAA,EAAE,QAAFA,EAAE;IACCS,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAAC,WAAA,CAAA,CAAA;AAIT,EAAA,IAAMC,OAAO,GAAsBX,EAAE,IAAIL,gBAAc,CAAA;AACvD,EAAA,OACEE,KAAA,CAAAoC,aAAA,CAACtB,OAAO,EAAA,QAAA,CAAA;AACNN,IAAAA,SAAS,EAAE6B,UAAU,CACnB,mBAAmB,EACnB;MAAE,4BAA4B,EAAEhC,OAAO,KAAK,SAAA;AAAS,KAAE,EACvD;MAAE,8BAA8B,EAAEA,OAAO,KAAK,WAAA;AAAa,KAAA,EAC3D;MAAE,6BAA6B,EAAEA,OAAO,KAAK,UAAA;AAAU,KAAE,EACzD;AAAE,MAAA,4BAA4B,EAAEE,OAAAA;KAAS,EACzCC,SAAS,CACV;AACU,IAAA,WAAA,EAAAD,OAAO;AAClBE,IAAAA,QAAQ,EAAEA,QAAQ;qBACHA,QAAQ;AACvBP,IAAAA,GAAG,EAAEA,GAAAA;AAAG,GAAA,EACJU,IAAI,CAAA,EAEPZ,KAAK,CAACgB,QAAQ,CAAC0B,GAAG,CAACtC,QAAQ,EAAE,UAAAmB,KAAK,EAAG;AACpC,IAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAC7B,MAAA,OAAOvB;AAAMQ,QAAAA,SAAS,EAAC,0BAAA;OAA4B,EAAAe,KAAK,CAAQ,CAAA;AACjE,KAAA;AACD,IAAA,OACEvB,KAAM,CAAAoC,aAAA,CAAA,MAAA,EAAA;AAAA5B,MAAAA,SAAS,EAAC,yBAAA;KACb,EAAAD,OAAO,GACNP,KAAC,CAAAoC,aAAA,CAAAR,WAAW,EAAC;AAAApB,MAAAA,SAAS,EAAC,iCAAA;KAAoC,CAAA,GAE3De,KACD,CACI,CAAA;AAEX,GAAC,CAAC,CACM,CAAA;AAEd,CAAC,CACF;;ACrDD,IAAMzB,gBAAc,GAAG,QAAQ,CAAA;AAExB,IAAM8C,qBAAqB,gBAChC5C,cAAK,CAACC,UAAU,CACd,UACE6B,KAAoC,EACpC5B,GAAsB,EACpB;AACF,EAAA,IAAMY,OAAO,GAAsBgB,KAAK,CAAC3B,EAAE,IAAIL,gBAAc,CAAA;AAC7D,EAAA;AACE;IACAE,cAAA,CAAAoC,aAAA,CAACO,gBAAgB,EAAA,QAAA,CAAA;AACfxC,MAAAA,EAAE,EAAEW,OAAO;AACXZ,MAAAA,GAAG,EAAEA,GAAAA;AAAG,KAAA,EACJ4B,KAAK,EAAA;AACTzB,MAAAA,OAAO,EAAC,WAAA;AAAW,KAAA,CAAA,CAAA;AACnB,IAAA;AAEN,CAAC;;AClBL,IAAMP,gBAAc,GAAG,QAAQ,CAAA;AAExB,IAAM+C,mBAAmB,gBAC9B7C,cAAK,CAACC,UAAU,CACd,UACE6B,KAAkC,EAClC5B,GAAsB,EACpB;AACF,EAAA,IAAMY,OAAO,GAAsBgB,KAAK,CAAC3B,EAAE,IAAIL,gBAAc,CAAA;AAC7D,EAAA;AACE;IACAE,cAAA,CAAAoC,aAAA,CAACO,gBAAgB,EAAA,QAAA,CAAA;AAACxC,MAAAA,EAAE,EAAEW,OAAO;AAAEZ,MAAAA,GAAG,EAAEA,GAAAA;AAAG,KAAA,EAAM4B,KAAK,EAAA;AAAEzB,MAAAA,OAAO,EAAC,SAAA;AAAS,KAAA,CAAA,CAAA;AAAG,IAAA;AAE5E,CAAC;;ACbL,IAAMP,gBAAc,GAAG,QAAQ,CAAA;AAExB,IAAMgD,oBAAoB,gBAC/B9C,cAAK,CAACC,UAAU,CACd,UACE6B,KAAmC,EACnC5B,GAAsB,EACpB;AACF,EAAA,IAAMY,OAAO,GAAsBgB,KAAK,CAAC3B,EAAE,IAAIL,gBAAc,CAAA;AAC7D,EAAA;AACE;IACAE,cAAA,CAAAoC,aAAA,CAACO,gBAAgB,EAAA,QAAA,CAAA;AACfxC,MAAAA,EAAE,EAAEW,OAAO;AACXZ,MAAAA,GAAG,EAAEA,GAAAA;AAAG,KAAA,EACJ4B,KAAK,EAAA;AACTzB,MAAAA,OAAO,EAAC,UAAA;AAAU,KAAA,CAAA,CAAA;AAClB,IAAA;AAEN,CAAC;;;ACfL,IAAMP,cAAc,GAAG,QAAQ,CAAA;AAWxB,IAAMiD,UAAU,gBAAwB/C,cAAK,CAACC,UAAU,CAC7D,UAUEC,IAAAA,EAAAA,GAAsB,EACpB;EAAA,IATAE,QAAQ,QAARA,QAAQ;AACRI,IAAAA,SAAS,QAATA,SAAS;AAAA,IAAA,aAAA,GAAA,IAAA,CACTC,QAAQ;AAARA,IAAAA,QAAQ,8BAAG,KAAK,GAAA,aAAA;AAChBH,IAAAA,IAAI,QAAJA,IAAI;AACJH,IAAAA,EAAE,QAAFA,EAAE;AACFI,IAAAA,OAAO,QAAPA,OAAO;IACJK,IAAI,GAAA,6BAAA,CAAA,IAAA,EAAA,SAAA,CAAA,CAAA;AAIT,EAAA,IAAME,OAAO,GAAsBX,EAAE,IAAIL,cAAc,CAAA;AAEvD,EAAA,IAAMkD,kBAAkB,GAAGhD,cAAK,CAACgB,QAAQ,CAAC0B,GAAG,CAACtC,QAAQ,EAAE,UAAAmB,KAAK,EAAG;AAC9D,IAAA,IAAIvB,cAAK,CAACiD,cAAc,CAAC1B,KAAK,CAAC,EAAE;AAC/B;AACA,MAAA,OAAOvB,cAAK,CAACkD,YAAY,CAAC3B,KAAK,EAAE;AAAE,QAAA,aAAa,EAAE,IAAA;AAAM,OAAA,CAAC,CAAA;AAC1D,KAAA;AACD,IAAA,OAAOA,KAAK,CAAA;AACd,GAAC,CAAC,CAAA;AAEF,EAAA,IAAM4B,iBAAiB,GACrBnD,cAAA,CAAAoC,aAAA,CAACtB,OAAO,EAAA,QAAA,CAAA;AACNN,IAAAA,SAAS,EAAE6B,UAAU,CACnB,iBAAiB,EACjB7B,SAAS,EACT;AACE,MAAA,2BAA2B,EAAEC,QAAAA;KAC9B,EAAA,wBAAA,GACwBH,IAAI,CAC9B;AACDG,IAAAA,QAAQ,EAAEA,QAAQ;AAAA,IAAA,eAAA,EACHA,QAAQ;AACZ,IAAA,WAAA,EAAAF,OAAO;AAClBL,IAAAA,GAAG,EAAEA,GAAAA;GACDU,EAAAA,IAAI,CAEPL,EAAAA,OAAO,GAAGP,6BAAC4B,WAAW,EAAA,IAAA,CAAG,GAAG5B,cAAG,CAAAoC,aAAA,CAAApC,cAAA,CAAAoD,QAAA,EAAA,IAAA,EAAAJ,kBAAkB,CAAI,CAEzD,CAAA;AAED,EAAA,IAAIvC,QAAQ,EAAE;AACZ,IAAA,OACET;AAAKQ,MAAAA,SAAS,EAAC,oCAAA;KACZ,EAAA2C,iBAAiB,CACd,CAAA;AAET,GAAA;EACD,OAAOnD,cAAA,CAAAoC,aAAA,CAAApC,cAAA,CAAAoD,QAAA,EAAA,IAAA,EAAGD,iBAAiB,CAAI,CAAA;AACjC,CAAC;;AC1FHE,sBAAsB,CAAC,QAAQ,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"button.esm.js","sources":["../src/Button.tsx","../src/PrimaryButton.tsx","../src/SecondaryButton.tsx","../src/SuccessButton.tsx","../src/NegativeButton.tsx","../src/TertiaryButton.tsx","../src/ButtonGroup.tsx","../src/FloatingButton.tsx","../src/SquareButton.tsx","../src/SecondarySquareButton.tsx","../src/SuccessSquareButton.tsx","../src/TertiarySquareButton.tsx","../src/IconButton.tsx","../src/index.tsx"],"sourcesContent":["import * as React from 'react';\nimport cx from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './Button.scss';\n\n/** @deprecated use variant=\"secondary\" size=\"small\" instead */\nconst tertiary = 'tertiary';\n\ntype ButtonBaseProps = {\n /** Farge og uttrykk på knappen */\n variant: 'primary' | 'secondary' | 'success' | 'negative' | typeof tertiary;\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n /** Et HTML-element eller en React-komponent som komponenten tar utgangspunkt i for å lage denne knappevarianten\n * @default \"button\"\n */\n as?: string | React.ElementType;\n /**\n * Tekst som leses opp på skjermleser (nødvendig når knappetekst mangler)\n */\n 'aria-label'?: string;\n};\n\nconst defaultElement = 'button';\n\nexport type ButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, ButtonBaseProps>;\n\nexport type ButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: ButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const Button: ButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n children,\n variant,\n size = 'medium',\n loading,\n className,\n disabled = false,\n width = 'auto',\n 'aria-label': ariaLabel,\n ...rest\n }: ButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n const childrenArray = React.Children.toArray(children);\n const hasLeadingIcon =\n childrenArray.length > 1 && typeof childrenArray[0] !== 'string';\n const hasTrailingIcon =\n childrenArray.length > 1 &&\n typeof childrenArray[childrenArray.length - 1] !== 'string';\n\n const ariaLabelWhenLoading = childrenArray\n .filter(child => typeof child === 'string')\n .join(' ');\n\n const ariaLabelValue = () => {\n if (ariaLabel) return ariaLabel;\n if (loading) return ariaLabelWhenLoading;\n return undefined;\n };\n\n return (\n <Element\n className={cx(\n 'eds-button',\n {\n [`eds-button--variant-${variant}`]: variant,\n [`eds-button--size-${size}`]: size,\n 'eds-button--width-fluid': width === 'fluid',\n 'eds-button--loading': loading,\n 'eds-button--leading-icon': hasLeadingIcon,\n 'eds-button--trailing-icon': hasTrailingIcon,\n },\n className,\n )}\n ref={ref}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n aria-label={ariaLabelValue()}\n {...rest}\n >\n {loading ? (\n <LoadingDots className=\"eds-button__loading-dots\" />\n ) : (\n children\n )}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type PrimaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type PrimaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, PrimaryButtonBaseProps>;\n\nexport type PrimaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: PrimaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const PrimaryButton: PrimaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PrimaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"primary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SecondaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SecondaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondaryButtonBaseProps>;\n\nexport type SecondaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondaryButton: SecondaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"secondary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type SuccessButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type SuccessButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessButtonBaseProps>;\n\nexport type SuccessButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessButton: SuccessButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"success\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type NegativeButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type NegativeButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, NegativeButtonBaseProps>;\n\nexport type NegativeButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: NegativeButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const NegativeButton: NegativeButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: NegativeButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n // @ts-expect-error type error due to props not being BaseButtonProps\n return <Button as={Element} {...props} ref={ref} variant=\"negative\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\nexport type TertiaryButtonBaseProps = {\n /** Størrelsen på knappen\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Bredden på knappen.\n * @default 'auto'\n */\n width?: 'fluid' | 'auto';\n /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type TertiaryButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiaryButtonBaseProps>;\n\nexport type TertiaryButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiaryButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\n/** @deprecated use SecondaryButton size=\"small\" instead */\nexport const TertiaryButton: TertiaryButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiaryButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n <Button\n as={Element}\n {...props}\n ref={ref}\n variant=\"tertiary\"\n size=\"small\"\n />\n );\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport './ButtonGroup.scss';\n\nexport type ButtonGroupProps = {\n /** To eller flere Button-komponenter */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** HTML-elementet eller React-komponenten som lages\n * @default \"div\"\n */\n as?: string | React.ElementType;\n [key: string]: any;\n};\n\nexport const ButtonGroup: React.FC<ButtonGroupProps> = ({\n as: Element = 'div',\n className,\n ...rest\n}) => {\n return (\n <Element className={classNames('eds-button-group', className)} {...rest} />\n );\n};\n","import React from 'react';\nimport classNames from 'classnames';\nimport './FloatingButton.scss';\n\nexport type FloatingButtonProps = {\n /** Beskrivende tekst for skjermlesere */\n 'aria-label': string;\n /** Ikon eller ikon-og-tekst */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Callback når knappen klikkes */\n onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;\n /** Størrelse på knappen\n * @default \"medium\"\n */\n size?: 'medium' | 'small';\n [key: string]: any;\n} & React.ButtonHTMLAttributes<HTMLButtonElement>;\n\nexport const FloatingButton: React.FC<FloatingButtonProps> = ({\n className,\n children,\n size = 'medium',\n ...rest\n}) => {\n return (\n <button\n className={classNames(\n 'eds-floating-button',\n { 'eds-floating-button--extended': React.Children.count(children) > 1 },\n { 'eds-floating-button--small': size === 'small' },\n className,\n )}\n type=\"button\"\n {...rest}\n >\n {wrapStringsInSpans(children)}\n </button>\n );\n};\n\nconst wrapStringsInSpans = (children: React.ReactNode) =>\n React.Children.map(children, child =>\n typeof child === 'string' ? <span>{child}</span> : child,\n );\n","import * as React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './SquareButton.scss';\n\nexport type SquareButtonBaseProps = {\n /** Tekst og ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** En type knapp */\n variant: 'success' | 'secondary' | 'tertiary';\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n /** DOM-elementet knappen rendres som */\n as: string | React.ElementType;\n};\n\nexport type SquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SquareButtonBaseProps>;\n\nexport type SquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SquareButton: SquareButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n children,\n className,\n disabled = false,\n loading = false,\n variant = 'secondary',\n ...rest\n }: SquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n return (\n <Element\n className={classNames(\n 'eds-square-button',\n `eds-square-button--${variant}`,\n {\n 'eds-square-button--loading': loading,\n },\n className,\n )}\n aria-busy={loading}\n disabled={disabled}\n aria-disabled={disabled}\n ref={ref}\n {...rest}\n >\n {React.Children.map(children, child => {\n if (typeof child === 'string') {\n return <span className=\"eds-square-button__label\">{child}</span>;\n }\n return (\n <span className=\"eds-square-button__button\">\n {loading ? (\n <LoadingDots className=\"eds-square-button__loading-dots\" />\n ) : (\n child\n )}\n </span>\n );\n })}\n </Element>\n );\n },\n);\n","import React from 'react';\nimport { SquareButton } from './SquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SecondarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SecondarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SecondarySquareButtonBaseProps>;\n\nexport type SecondarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SecondarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SecondarySquareButton: SecondarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SecondarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <SquareButton as={Element} ref={ref} {...props} variant=\"secondary\" />\n );\n },\n );\n","import React from 'react';\nimport { SquareButton } from './SquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype SuccessSquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nexport type SuccessSquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, SuccessSquareButtonBaseProps>;\n\nexport type SuccessSquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: SuccessSquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const SuccessSquareButton: SuccessSquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: SuccessSquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n // @ts-expect-error type error due to props not being BaseButtonProps\n <SquareButton as={Element} ref={ref} {...props} variant=\"success\" />\n );\n },\n );\n","import React from 'react';\nimport { SquareButton, SquareButtonBaseProps } from './SquareButton';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\n\ntype TertiarySquareButtonBaseProps = {\n /** Tekst og ikon, ikon og tekst, eller bare ikon */\n children: React.ReactNode;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n} & SquareButtonBaseProps;\n\nexport type TertiarySquareButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, TertiarySquareButtonBaseProps>;\n\nexport type TertiarySquareButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: TertiarySquareButtonProps<T>,\n) => React.ReactElement | null;\n\nconst defaultElement = 'button';\n\nexport const TertiarySquareButton: TertiarySquareButtonComponent =\n React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: TertiarySquareButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => <SquareButton ref={ref} {...props} variant=\"tertiary\" />,\n );\n","import React from 'react';\nimport classNames from 'classnames';\nimport { PolymorphicComponentPropsWithRef, PolymorphicRef } from '@entur/utils';\nimport { LoadingDots } from '@entur/loader';\nimport './IconButton.scss';\n\nexport type IconButtonBaseProps = {\n /** Ikonet som du vil ha inne i knappen */\n children: React.ReactNode;\n /** Tekst som forklarer knappens handling. MÅ være satt hvis du ikke har en forklarende tooltip på knappen */\n 'aria-label'?: string;\n /** Ekstra klassenavn */\n className?: string;\n /** Deaktivering av knappen\n * @default false\n */\n disabled?: boolean;\n /** HTML-elementet eller React-komponenten som lager knappen\n * @default 'button'\n */\n as?: React.ElementType;\n /**Størrelsen på knappen\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe\n * @default false\n */\n loading?: boolean;\n};\n\nconst defaultElement = 'button';\n\nexport type IconButtonProps<T extends React.ElementType> =\n PolymorphicComponentPropsWithRef<T, IconButtonBaseProps>;\n\nexport type IconButtonComponent = <\n T extends React.ElementType = typeof defaultElement,\n>(\n props: IconButtonProps<T>,\n) => React.ReactElement | null;\n\nexport const IconButton: IconButtonComponent = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n disabled = false,\n size,\n as,\n loading,\n ...rest\n }: IconButtonProps<T>,\n ref: PolymorphicRef<T>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\n\n const IconWithAriaHidden = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n // @ts-expect-error aria-hidden does, in fact, exist\n return React.cloneElement(child, { 'aria-hidden': true });\n }\n return child;\n });\n\n const iconButtonElement = (\n <Element\n className={classNames(\n 'eds-icon-button',\n className,\n {\n 'eds-icon-button--disabled': disabled,\n },\n `eds-icon-button--size-${size}`,\n )}\n disabled={disabled}\n aria-disabled={disabled}\n aria-busy={loading}\n ref={ref}\n {...rest}\n >\n {loading ? <LoadingDots /> : <>{IconWithAriaHidden}</>}\n </Element>\n );\n\n if (disabled) {\n return (\n <div className=\"eds-icon-button--disabled__wrapper\">\n {iconButtonElement}\n </div>\n );\n }\n return <>{iconButtonElement}</>;\n },\n);\n","import { warnAboutMissingStyles } from '@entur/utils';\nimport './index.scss';\n\nwarnAboutMissingStyles('button');\n\nexport * from './Button';\nexport * from './PrimaryButton';\nexport * from './SecondaryButton';\nexport * from './SuccessButton';\nexport * from './NegativeButton';\nexport * from './TertiaryButton';\nexport * from './ButtonGroup';\nexport * from './FloatingButton';\nexport * from './SecondarySquareButton';\nexport * from './SuccessSquareButton';\nexport * from './TertiarySquareButton';\nexport * from './IconButton';\n"],"names":["defaultElement","Button","React","forwardRef","ref","as","children","variant","size","loading","className","disabled","width","ariaLabel","rest","_excluded","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","ariaLabelWhenLoading","filter","child","join","ariaLabelValue","undefined","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","ButtonGroup","createElement","classNames","FloatingButton","count","type","wrapStringsInSpans","map","SquareButton","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","IconWithAriaHidden","isValidElement","cloneElement","iconButtonElement","Fragment","warnAboutMissingStyles"],"mappings":"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"}
|
package/dist/styles.css
CHANGED
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
/* DO NOT CHANGE!*/
|
|
2
2
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
3
|
+
.eds-button-group .eds-button {
|
|
4
|
+
margin-right: 0.75rem;
|
|
5
|
+
margin-bottom: 0.75rem;
|
|
6
|
+
}
|
|
7
|
+
.eds-button-group .eds-button:only-child {
|
|
8
|
+
margin: 0;
|
|
9
|
+
}
|
|
10
|
+
/* DO NOT CHANGE!*/
|
|
11
|
+
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
3
12
|
a.eds-button {
|
|
4
13
|
padding: 0.5rem 1rem;
|
|
5
14
|
}
|
|
6
15
|
a.eds-button--variant-tertiary {
|
|
7
16
|
padding: 0.25rem 1rem;
|
|
8
17
|
}
|
|
18
|
+
a.eds-button--size-small {
|
|
19
|
+
padding: 0.25rem 1rem;
|
|
20
|
+
}
|
|
9
21
|
a.eds-button--size-large {
|
|
10
22
|
padding: 1rem;
|
|
11
23
|
}
|
|
@@ -52,6 +64,12 @@ a.eds-button--size-large {
|
|
|
52
64
|
.eds-button--trailing-icon .eds-icon {
|
|
53
65
|
margin-left: 0.75rem;
|
|
54
66
|
}
|
|
67
|
+
.eds-button--size-small {
|
|
68
|
+
min-width: 5.75rem;
|
|
69
|
+
height: 2rem;
|
|
70
|
+
font-size: 0.875rem;
|
|
71
|
+
line-height: 1.375rem;
|
|
72
|
+
}
|
|
55
73
|
.eds-button--size-large {
|
|
56
74
|
min-width: 11.75rem;
|
|
57
75
|
height: 3.75rem;
|
|
@@ -229,15 +247,6 @@ a.eds-button--size-large {
|
|
|
229
247
|
}
|
|
230
248
|
/* DO NOT CHANGE!*/
|
|
231
249
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
232
|
-
.eds-button-group .eds-button {
|
|
233
|
-
margin-right: 0.75rem;
|
|
234
|
-
margin-bottom: 0.75rem;
|
|
235
|
-
}
|
|
236
|
-
.eds-button-group .eds-button:only-child {
|
|
237
|
-
margin: 0;
|
|
238
|
-
}
|
|
239
|
-
/* DO NOT CHANGE!*/
|
|
240
|
-
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
241
250
|
.eds-floating-button {
|
|
242
251
|
align-items: center;
|
|
243
252
|
-webkit-appearance: none;
|
|
@@ -335,12 +344,12 @@ a.eds-button--size-large {
|
|
|
335
344
|
.eds-square-button:focus {
|
|
336
345
|
outline: none;
|
|
337
346
|
}
|
|
338
|
-
.eds-square-button:focus .eds-square-
|
|
347
|
+
.eds-square-button:focus .eds-square-button__button {
|
|
339
348
|
outline-offset: 0.125rem;
|
|
340
349
|
outline: none;
|
|
341
350
|
box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #181c56;
|
|
342
351
|
}
|
|
343
|
-
.eds-contrast .eds-square-button:focus .eds-square-
|
|
352
|
+
.eds-contrast .eds-square-button:focus .eds-square-button__button {
|
|
344
353
|
box-shadow: 0 0 0 0.125rem #181c56, 0 0 0 0.25rem #ffffff;
|
|
345
354
|
}
|
|
346
355
|
.eds-square-button[disabled] {
|
|
@@ -350,8 +359,7 @@ a.eds-button--size-large {
|
|
|
350
359
|
.eds-square-button[disabled].eds-square-button--loading {
|
|
351
360
|
opacity: 1;
|
|
352
361
|
}
|
|
353
|
-
|
|
354
|
-
.eds-square-button__icon {
|
|
362
|
+
.eds-square-button__button {
|
|
355
363
|
align-items: center;
|
|
356
364
|
background-color: var(--button-background);
|
|
357
365
|
border: 0.125rem solid var(--border-color);
|
|
@@ -368,7 +376,12 @@ a.eds-button--size-large {
|
|
|
368
376
|
position: relative;
|
|
369
377
|
width: 3rem;
|
|
370
378
|
}
|
|
371
|
-
|
|
379
|
+
.eds-square-button__label {
|
|
380
|
+
color: var(--primary-text-color);
|
|
381
|
+
}
|
|
382
|
+
.eds-square-button__label + .eds-square-button__button, .eds-square-button__button + .eds-square-button__label {
|
|
383
|
+
margin-left: 1rem;
|
|
384
|
+
}
|
|
372
385
|
.eds-square-button--secondary {
|
|
373
386
|
--button-background: transparent;
|
|
374
387
|
--border-color: #54568c;
|
|
@@ -395,7 +408,6 @@ a.eds-button--size-large {
|
|
|
395
408
|
.eds-square-button--secondary .eds-square-button__loading-dots .eds-loading-dots__dot {
|
|
396
409
|
background: #181c56;
|
|
397
410
|
}
|
|
398
|
-
|
|
399
411
|
.eds-square-button--success {
|
|
400
412
|
--button-background: #5ac39a;
|
|
401
413
|
--border-color: #54568c;
|
|
@@ -413,16 +425,6 @@ a.eds-button--size-large {
|
|
|
413
425
|
--border-color: transparent;
|
|
414
426
|
--icon-color: #181c56;
|
|
415
427
|
}
|
|
416
|
-
|
|
417
|
-
.eds-square-button__label {
|
|
418
|
-
color: var(--primary-text-color);
|
|
419
|
-
}
|
|
420
|
-
|
|
421
|
-
.eds-square-button__label + .eds-square-button__icon,
|
|
422
|
-
.eds-square-button__icon + .eds-square-button__label {
|
|
423
|
-
margin-left: 1rem;
|
|
424
|
-
}
|
|
425
|
-
|
|
426
428
|
.eds-square-button--tertiary {
|
|
427
429
|
--button-background: transparent;
|
|
428
430
|
--border-color: #54568c;
|
|
@@ -448,11 +450,11 @@ a.eds-button--size-large {
|
|
|
448
450
|
.eds-contrast .eds-square-button--tertiary .eds-square-button__loading-dots .eds-loading-dots__dot {
|
|
449
451
|
background: #ffffff;
|
|
450
452
|
}
|
|
451
|
-
.eds-square-button--tertiary .eds-square-button__label + .eds-square-
|
|
452
|
-
.eds-square-button--tertiary .eds-square-
|
|
453
|
+
.eds-square-button--tertiary .eds-square-button__label + .eds-square-button__button,
|
|
454
|
+
.eds-square-button--tertiary .eds-square-button__button + .eds-square-button__label {
|
|
453
455
|
margin-left: 0.75rem;
|
|
454
456
|
}
|
|
455
|
-
.eds-square-button--tertiary .eds-square-
|
|
457
|
+
.eds-square-button--tertiary .eds-square-button__button {
|
|
456
458
|
height: 2rem;
|
|
457
459
|
width: 2rem;
|
|
458
460
|
border-width: 0.0625rem;
|
|
@@ -460,6 +462,9 @@ a.eds-button--size-large {
|
|
|
460
462
|
.eds-square-button--tertiary .eds-square-button__loading-dots .eds-loading-dots__dot {
|
|
461
463
|
background: #181c56;
|
|
462
464
|
}
|
|
465
|
+
:root {
|
|
466
|
+
--eds-button: 1;
|
|
467
|
+
}
|
|
463
468
|
/* DO NOT CHANGE!*/
|
|
464
469
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
465
470
|
.eds-icon-button {
|
|
@@ -514,6 +519,3 @@ a.eds-button--size-large {
|
|
|
514
519
|
width: -moz-fit-content;
|
|
515
520
|
width: fit-content;
|
|
516
521
|
}
|
|
517
|
-
:root {
|
|
518
|
-
--eds-button: 1;
|
|
519
|
-
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entur/button",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/button.esm.js",
|
|
@@ -27,10 +27,10 @@
|
|
|
27
27
|
"react-dom": ">=16.8.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@entur/loader": "^0.4.
|
|
31
|
-
"@entur/tokens": "^3.11.
|
|
30
|
+
"@entur/loader": "^0.4.47",
|
|
31
|
+
"@entur/tokens": "^3.11.0",
|
|
32
32
|
"@entur/utils": "^0.9.5",
|
|
33
33
|
"classnames": "^2.3.1"
|
|
34
34
|
},
|
|
35
|
-
"gitHead": "
|
|
35
|
+
"gitHead": "ce91791c414af0274bcff712cacfad25a44c45c2"
|
|
36
36
|
}
|