@entur/button 2.10.6 → 2.10.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { PolymorphicForwardRefExoticComponent, PolymorphicPropsWithRef } from '@entur/utils';
2
+ import { PolymorphicComponentPropsWithRef } from '@entur/utils';
3
3
  declare type SuccessSquareButtonBaseProps = {
4
4
  /** Tekst og ikon, ikon og tekst, eller bare ikon */
5
5
  children: React.ReactNode;
@@ -14,7 +14,8 @@ declare type SuccessSquareButtonBaseProps = {
14
14
  */
15
15
  loading?: boolean;
16
16
  };
17
- export declare type SuccessSquareButtonProps<E extends React.ElementType = typeof defaultElement> = PolymorphicPropsWithRef<SuccessSquareButtonBaseProps, E>;
17
+ export declare type SuccessSquareButtonProps<T extends React.ElementType> = PolymorphicComponentPropsWithRef<T, SuccessSquareButtonBaseProps>;
18
+ export declare type SuccessSquareButtonComponent = <T extends React.ElementType = typeof defaultElement>(props: SuccessSquareButtonProps<T>) => React.ReactElement | null;
18
19
  declare const defaultElement = "button";
19
- export declare const SuccessSquareButton: PolymorphicForwardRefExoticComponent<SuccessSquareButtonBaseProps, typeof defaultElement>;
20
+ export declare const SuccessSquareButton: SuccessSquareButtonComponent;
20
21
  export {};
@@ -1,20 +1,29 @@
1
1
  import React from 'react';
2
- import { PolymorphicPropsWithRef, PolymorphicForwardRefExoticComponent } from '@entur/utils';
2
+ import { PolymorphicComponentPropsWithRef } from '@entur/utils';
3
3
  export declare type TertiaryButtonBaseProps = {
4
+ /** Størrelsen på knappen
5
+ * @default 'medium'
6
+ */
7
+ size?: 'medium' | 'large';
8
+ /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe
9
+ * @default false
10
+ */
11
+ loading?: boolean;
4
12
  /** Ekstra klassenavn */
5
13
  className?: string;
6
14
  /** Deaktivering av knappen
7
15
  * @default false
8
16
  */
9
17
  disabled?: boolean;
10
- /** Om knappen er opptatt, f.eks. med å lagre eller å kjøpe
11
- * @default false
18
+ /** Bredden knappen.
19
+ * @default 'auto'
12
20
  */
13
- loading?: boolean;
21
+ width?: 'fluid' | 'auto';
14
22
  /** Innholdet i knappen */
15
23
  children: React.ReactNode;
16
24
  };
17
- export declare type TertiaryButtonProps<E extends React.ElementType = typeof defaultElement> = PolymorphicPropsWithRef<TertiaryButtonBaseProps, E>;
25
+ export declare type TertiaryButtonProps<T extends React.ElementType> = PolymorphicComponentPropsWithRef<T, TertiaryButtonBaseProps>;
26
+ export declare type TertiaryButtonComponent = <T extends React.ElementType = typeof defaultElement>(props: TertiaryButtonProps<T>) => React.ReactElement | null;
18
27
  declare const defaultElement = "button";
19
- export declare const TertiaryButton: PolymorphicForwardRefExoticComponent<TertiaryButtonBaseProps, typeof defaultElement>;
28
+ export declare const TertiaryButton: TertiaryButtonComponent;
20
29
  export {};
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- import { PolymorphicForwardRefExoticComponent, PolymorphicPropsWithRef } from '@entur/utils';
3
- export declare type TertiarySquareButtonBaseProps = {
2
+ import { PolymorphicComponentPropsWithRef } from '@entur/utils';
3
+ declare type TertiarySquareButtonBaseProps = {
4
4
  /** Tekst og ikon, ikon og tekst, eller bare ikon */
5
5
  children: React.ReactNode;
6
6
  /** Ekstra klassenavn */
@@ -14,7 +14,8 @@ export declare type TertiarySquareButtonBaseProps = {
14
14
  */
15
15
  loading?: boolean;
16
16
  };
17
- export declare type TertiarySquareButtonProps<E extends React.ElementType = typeof defaultElement> = PolymorphicPropsWithRef<TertiarySquareButtonBaseProps, E>;
17
+ export declare type TertiarySquareButtonProps<T extends React.ElementType> = PolymorphicComponentPropsWithRef<T, TertiarySquareButtonBaseProps>;
18
+ export declare type TertiarySquareButtonComponent = <T extends React.ElementType = typeof defaultElement>(props: TertiarySquareButtonProps<T>) => React.ReactElement | null;
18
19
  declare const defaultElement = "button";
19
- export declare const TertiarySquareButton: PolymorphicForwardRefExoticComponent<TertiarySquareButtonBaseProps, typeof defaultElement>;
20
+ export declare const TertiarySquareButton: TertiarySquareButtonComponent;
20
21
  export {};
@@ -35,46 +35,54 @@ function _extends() {
35
35
  _extends = Object.assign || function (target) {
36
36
  for (var i = 1; i < arguments.length; i++) {
37
37
  var source = arguments[i];
38
+
38
39
  for (var key in source) {
39
40
  if (Object.prototype.hasOwnProperty.call(source, key)) {
40
41
  target[key] = source[key];
41
42
  }
42
43
  }
43
44
  }
45
+
44
46
  return target;
45
47
  };
48
+
46
49
  return _extends.apply(this, arguments);
47
50
  }
51
+
48
52
  function _objectWithoutPropertiesLoose(source, excluded) {
49
53
  if (source == null) return {};
50
54
  var target = {};
51
55
  var sourceKeys = Object.keys(source);
52
56
  var key, i;
57
+
53
58
  for (i = 0; i < sourceKeys.length; i++) {
54
59
  key = sourceKeys[i];
55
60
  if (excluded.indexOf(key) >= 0) continue;
56
61
  target[key] = source[key];
57
62
  }
63
+
58
64
  return target;
59
65
  }
60
66
 
61
- var _excluded$4 = ["as", "variant", "size", "loading", "className", "children", "disabled", "width", "aria-label"];
67
+ var _excluded$4 = ["as", "children", "variant", "size", "loading", "className", "disabled", "width", "aria-label"];
62
68
  var defaultElement$a = 'button';
63
69
  var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
64
70
  var _cx;
71
+
65
72
  var as = _ref.as,
66
- variant = _ref.variant,
67
- _ref$size = _ref.size,
68
- size = _ref$size === void 0 ? 'medium' : _ref$size,
69
- loading = _ref.loading,
70
- className = _ref.className,
71
- children = _ref.children,
72
- _ref$disabled = _ref.disabled,
73
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
74
- _ref$width = _ref.width,
75
- width = _ref$width === void 0 ? 'auto' : _ref$width,
76
- ariaLabel = _ref['aria-label'],
77
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
73
+ children = _ref.children,
74
+ variant = _ref.variant,
75
+ _ref$size = _ref.size,
76
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
77
+ loading = _ref.loading,
78
+ className = _ref.className,
79
+ _ref$disabled = _ref.disabled,
80
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
81
+ _ref$width = _ref.width,
82
+ width = _ref$width === void 0 ? 'auto' : _ref$width,
83
+ ariaLabel = _ref['aria-label'],
84
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
85
+
78
86
  var Element = as || defaultElement$a;
79
87
  var childrenArray = React__namespace.Children.toArray(children);
80
88
  var hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== 'string';
@@ -82,11 +90,13 @@ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
82
90
  var ariaLabelWhenLoading = childrenArray.filter(function (child) {
83
91
  return typeof child === 'string';
84
92
  }).join(' ');
93
+
85
94
  var ariaLabelValue = function ariaLabelValue() {
86
95
  if (ariaLabel) return ariaLabel;
87
96
  if (loading) return ariaLabelWhenLoading;
88
97
  return undefined;
89
98
  };
99
+
90
100
  return React__namespace.createElement(Element, _extends({
91
101
  className: classNames__default["default"]('eds-button', (_cx = {}, _cx["eds-button--variant-" + variant] = variant, _cx["eds-button--size-" + size] = size, _cx['eds-button--width-fluid'] = width === 'fluid', _cx['eds-button--loading'] = loading, _cx['eds-button--leading-icon'] = hasLeadingIcon, _cx['eds-button--trailing-icon'] = hasTrailingIcon, _cx), className),
92
102
  ref: ref,
@@ -101,7 +111,8 @@ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
101
111
 
102
112
  var defaultElement$9 = 'button';
103
113
  var PrimaryButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
104
- var Element = props.as || defaultElement$9;
114
+ var Element = props.as || defaultElement$9; // @ts-expect-error type error due to props not being BaseButtonProps
115
+
105
116
  return React__default["default"].createElement(Button, _extends({
106
117
  as: Element
107
118
  }, props, {
@@ -112,7 +123,8 @@ var PrimaryButton = /*#__PURE__*/React__default["default"].forwardRef(function (
112
123
 
113
124
  var defaultElement$8 = 'button';
114
125
  var SecondaryButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
115
- var Element = props.as || defaultElement$8;
126
+ var Element = props.as || defaultElement$8; // @ts-expect-error type error due to props not being BaseButtonProps
127
+
116
128
  return React__default["default"].createElement(Button, _extends({
117
129
  as: Element
118
130
  }, props, {
@@ -123,7 +135,8 @@ var SecondaryButton = /*#__PURE__*/React__default["default"].forwardRef(function
123
135
 
124
136
  var defaultElement$7 = 'button';
125
137
  var SuccessButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
126
- var Element = props.as || defaultElement$7;
138
+ var Element = props.as || defaultElement$7; // @ts-expect-error type error due to props not being BaseButtonProps
139
+
127
140
  return React__default["default"].createElement(Button, _extends({
128
141
  as: Element
129
142
  }, props, {
@@ -134,7 +147,8 @@ var SuccessButton = /*#__PURE__*/React__default["default"].forwardRef(function (
134
147
 
135
148
  var defaultElement$6 = 'button';
136
149
  var NegativeButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
137
- var Element = props.as || defaultElement$6;
150
+ var Element = props.as || defaultElement$6; // @ts-expect-error type error due to props not being BaseButtonProps
151
+
138
152
  return React__default["default"].createElement(Button, _extends({
139
153
  as: Element
140
154
  }, props, {
@@ -145,7 +159,8 @@ var NegativeButton = /*#__PURE__*/React__default["default"].forwardRef(function
145
159
 
146
160
  var defaultElement$5 = 'button';
147
161
  var TertiaryButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
148
- var Element = props.as || defaultElement$5;
162
+ var Element = props.as || defaultElement$5; // @ts-expect-error type error due to props not being BaseButtonProps
163
+
149
164
  return React__default["default"].createElement(Button, _extends({
150
165
  as: Element
151
166
  }, props, {
@@ -157,9 +172,10 @@ var TertiaryButton = /*#__PURE__*/React__default["default"].forwardRef(function
157
172
  var _excluded$3 = ["as", "className"];
158
173
  var ButtonGroup = function ButtonGroup(_ref) {
159
174
  var _ref$as = _ref.as,
160
- Element = _ref$as === void 0 ? 'div' : _ref$as,
161
- className = _ref.className,
162
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
175
+ Element = _ref$as === void 0 ? 'div' : _ref$as,
176
+ className = _ref.className,
177
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$3);
178
+
163
179
  return React__default["default"].createElement(Element, _extends({
164
180
  className: classNames__default["default"]('eds-button-group', className)
165
181
  }, rest));
@@ -168,10 +184,11 @@ var ButtonGroup = function ButtonGroup(_ref) {
168
184
  var _excluded$2 = ["className", "children", "size"];
169
185
  var FloatingButton = function FloatingButton(_ref) {
170
186
  var className = _ref.className,
171
- children = _ref.children,
172
- _ref$size = _ref.size,
173
- size = _ref$size === void 0 ? 'medium' : _ref$size,
174
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
187
+ children = _ref.children,
188
+ _ref$size = _ref.size,
189
+ size = _ref$size === void 0 ? 'medium' : _ref$size,
190
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$2);
191
+
175
192
  return React__default["default"].createElement("button", _extends({
176
193
  className: classNames__default["default"]('eds-floating-button', {
177
194
  'eds-floating-button--extended': React__default["default"].Children.count(children) > 1
@@ -181,6 +198,7 @@ var FloatingButton = function FloatingButton(_ref) {
181
198
  type: "button"
182
199
  }, rest), wrapStringsInSpans(children));
183
200
  };
201
+
184
202
  var wrapStringsInSpans = function wrapStringsInSpans(children) {
185
203
  return React__default["default"].Children.map(children, function (child) {
186
204
  return typeof child === 'string' ? React__default["default"].createElement("span", null, child) : child;
@@ -191,14 +209,15 @@ var _excluded$1 = ["children", "className", "variant", "disabled", "loading", "a
191
209
  var defaultElement$4 = 'button';
192
210
  var BaseSquareButton = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
193
211
  var children = _ref.children,
194
- className = _ref.className,
195
- variant = _ref.variant,
196
- _ref$disabled = _ref.disabled,
197
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
198
- _ref$loading = _ref.loading,
199
- loading = _ref$loading === void 0 ? false : _ref$loading,
200
- as = _ref.as,
201
- rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
212
+ className = _ref.className,
213
+ variant = _ref.variant,
214
+ _ref$disabled = _ref.disabled,
215
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
216
+ _ref$loading = _ref.loading,
217
+ loading = _ref$loading === void 0 ? false : _ref$loading,
218
+ as = _ref.as,
219
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
220
+
202
221
  var Element = as || defaultElement$4;
203
222
  return React__namespace.createElement(Element, _extends({
204
223
  className: classNames__default["default"]('eds-square-button', {
@@ -220,6 +239,7 @@ var BaseSquareButton = /*#__PURE__*/React__namespace.forwardRef(function (_ref,
220
239
  className: "eds-square-button__label"
221
240
  }, child);
222
241
  }
242
+
223
243
  return React__namespace.createElement("span", {
224
244
  className: "eds-square-button__icon"
225
245
  }, loading ? React__namespace.createElement(loader.LoadingDots, {
@@ -231,47 +251,54 @@ var BaseSquareButton = /*#__PURE__*/React__namespace.forwardRef(function (_ref,
231
251
  var defaultElement$3 = 'button';
232
252
  var SecondarySquareButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
233
253
  var Element = props.as || defaultElement$3;
234
- return React__default["default"].createElement(BaseSquareButton, _extends({
235
- as: Element,
236
- ref: ref
237
- }, props, {
238
- variant: "secondary"
239
- }));
254
+ return (// @ts-expect-error type error due to props not being BaseButtonProps
255
+ React__default["default"].createElement(BaseSquareButton, _extends({
256
+ as: Element,
257
+ ref: ref
258
+ }, props, {
259
+ variant: "secondary"
260
+ }))
261
+ );
240
262
  });
241
263
 
242
264
  var defaultElement$2 = 'button';
243
265
  var SuccessSquareButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
244
266
  var Element = props.as || defaultElement$2;
245
- return React__default["default"].createElement(BaseSquareButton, _extends({
246
- as: Element,
247
- ref: ref
248
- }, props, {
249
- variant: "success"
250
- }));
267
+ return (// @ts-expect-error type error due to props not being BaseButtonProps
268
+ React__default["default"].createElement(BaseSquareButton, _extends({
269
+ as: Element,
270
+ ref: ref
271
+ }, props, {
272
+ variant: "success"
273
+ }))
274
+ );
251
275
  });
252
276
 
253
277
  var defaultElement$1 = 'button';
254
278
  var TertiarySquareButton = /*#__PURE__*/React__default["default"].forwardRef(function (props, ref) {
255
279
  var Element = props.as || defaultElement$1;
256
- return React__default["default"].createElement(BaseSquareButton, _extends({
257
- as: Element,
258
- ref: ref
259
- }, props, {
260
- variant: "tertiary"
261
- }));
280
+ return (// @ts-expect-error type error due to props not being BaseButtonProps
281
+ React__default["default"].createElement(BaseSquareButton, _extends({
282
+ as: Element,
283
+ ref: ref
284
+ }, props, {
285
+ variant: "tertiary"
286
+ }))
287
+ );
262
288
  });
263
289
 
264
290
  var _excluded = ["children", "className", "disabled", "size", "as", "loading"];
265
291
  var defaultElement = 'button';
266
292
  var IconButton = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
267
293
  var children = _ref.children,
268
- className = _ref.className,
269
- _ref$disabled = _ref.disabled,
270
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
271
- size = _ref.size,
272
- as = _ref.as,
273
- loading = _ref.loading,
274
- rest = _objectWithoutPropertiesLoose(_ref, _excluded);
294
+ className = _ref.className,
295
+ _ref$disabled = _ref.disabled,
296
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
297
+ size = _ref.size,
298
+ as = _ref.as,
299
+ loading = _ref.loading,
300
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
301
+
275
302
  var Element = as || defaultElement;
276
303
  var iconButtonElement = React__default["default"].createElement(Element, _extends({
277
304
  className: classNames__default["default"]('eds-icon-button', className, {
@@ -282,11 +309,13 @@ var IconButton = /*#__PURE__*/React__default["default"].forwardRef(function (_re
282
309
  "aria-busy": loading,
283
310
  ref: ref
284
311
  }, rest), loading ? React__default["default"].createElement(loader.LoadingDots, null) : children);
312
+
285
313
  if (disabled) {
286
314
  return React__default["default"].createElement("div", {
287
315
  className: "eds-icon-button--disabled__wrapper"
288
316
  }, iconButtonElement);
289
317
  }
318
+
290
319
  return React__default["default"].createElement(React__default["default"].Fragment, null, iconButtonElement);
291
320
  });
292
321
 
@@ -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 {\n PolymorphicPropsWithoutRef,\n PolymorphicForwardRefExoticComponent,\n PolymorphicPropsWithRef,\n} 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 = typeof defaultElement> =\n PolymorphicPropsWithRef<ButtonBaseProps, T>;\n\nexport const Button: PolymorphicForwardRefExoticComponent<\n ButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n {\n as,\n variant,\n size = 'medium',\n loading,\n className,\n children,\n disabled = false,\n width = 'auto',\n 'aria-label': ariaLabel,\n ...rest\n }: PolymorphicPropsWithoutRef<ButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<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 {\n PolymorphicPropsWithoutRef,\n PolymorphicForwardRefExoticComponent,\n PolymorphicPropsWithRef,\n} 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<\n T extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<PrimaryButtonBaseProps, T>;\n\nconst defaultElement = 'button';\n\nexport const PrimaryButton: PolymorphicForwardRefExoticComponent<\n PrimaryButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PolymorphicPropsWithoutRef<PrimaryButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<T>>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return <Button as={Element} {...props} ref={ref} variant=\"primary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport {\n PolymorphicForwardRefExoticComponent,\n PolymorphicPropsWithRef,\n PolymorphicPropsWithoutRef,\n} 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<\n T extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<SecondaryButtonBaseProps, T>;\n\nconst defaultElement = 'button';\n\nexport const SecondaryButton: PolymorphicForwardRefExoticComponent<\n SecondaryButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PolymorphicPropsWithoutRef<SecondaryButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<T>>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return <Button as={Element} {...props} ref={ref} variant=\"secondary\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport {\n PolymorphicPropsWithoutRef,\n PolymorphicForwardRefExoticComponent,\n PolymorphicPropsWithRef,\n} from '@entur/utils';\n\ntype 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<\n E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<SuccessButtonBaseProps, E>;\n\nconst defaultElement = 'button';\n\nexport const SuccessButton: PolymorphicForwardRefExoticComponent<\n SuccessButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PolymorphicPropsWithoutRef<SuccessButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<T>>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return <Button as={Element} {...props} ref={ref} variant=\"success\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport {\n PolymorphicPropsWithoutRef,\n PolymorphicPropsWithRef,\n PolymorphicForwardRefExoticComponent,\n} 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 as?: 'button' | React.ElementType;\n};\n\nexport type NegativeButtonProps<\n T extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<NegativeButtonBaseProps, T>;\n\nconst defaultElement = 'button';\n\nexport const NegativeButton: PolymorphicForwardRefExoticComponent<\n NegativeButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PolymorphicPropsWithoutRef<NegativeButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<T>>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return <Button as={Element} {...props} ref={ref} variant=\"negative\" />;\n },\n);\n","import React from 'react';\nimport { Button } from './Button';\nimport {\n PolymorphicPropsWithoutRef,\n PolymorphicPropsWithRef,\n PolymorphicForwardRefExoticComponent,\n} from '@entur/utils';\n\nexport type TertiaryButtonBaseProps = {\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 /** Innholdet i knappen */\n children: React.ReactNode;\n};\n\nexport type TertiaryButtonProps<\n E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<TertiaryButtonBaseProps, E>;\n\nconst defaultElement = 'button';\n\nexport const TertiaryButton: PolymorphicForwardRefExoticComponent<\n TertiaryButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PolymorphicPropsWithoutRef<TertiaryButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<T>>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\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 {\n PolymorphicPropsWithoutRef,\n PolymorphicForwardRefExoticComponent,\n PolymorphicPropsWithRef,\n} 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<\n T extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<BaseSquareButtonBaseProps, T>;\n\nconst defaultElement = 'button';\n\nexport const BaseSquareButton: PolymorphicForwardRefExoticComponent<\n BaseSquareButtonBaseProps,\n typeof defaultElement\n> = 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 }: PolymorphicPropsWithoutRef<BaseSquareButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<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 {\n PolymorphicForwardRefExoticComponent,\n PolymorphicPropsWithoutRef,\n PolymorphicPropsWithRef,\n} from '@entur/utils';\n\nexport type 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<\n E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<SecondarySquareButtonBaseProps, E>;\n\nconst defaultElement = 'button';\n\nexport const SecondarySquareButton: PolymorphicForwardRefExoticComponent<\n SecondarySquareButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PolymorphicPropsWithoutRef<SecondarySquareButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<T>>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n <BaseSquareButton as={Element} ref={ref} {...props} variant=\"secondary\" />\n );\n },\n);\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport {\n PolymorphicForwardRefExoticComponent,\n PolymorphicPropsWithRef,\n PolymorphicPropsWithoutRef,\n} 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<\n E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<SuccessSquareButtonBaseProps, E>;\n\nconst defaultElement = 'button';\n\nexport const SuccessSquareButton: PolymorphicForwardRefExoticComponent<\n SuccessSquareButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PolymorphicPropsWithoutRef<SuccessSquareButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<T>>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n <BaseSquareButton as={Element} ref={ref} {...props} variant=\"success\" />\n );\n },\n);\n","import React from 'react';\nimport { BaseSquareButton } from './BaseSquareButton';\nimport {\n PolymorphicForwardRefExoticComponent,\n PolymorphicPropsWithoutRef,\n PolymorphicPropsWithRef,\n} from '@entur/utils';\n\nexport type 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<\n E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<TertiarySquareButtonBaseProps, E>;\n\nconst defaultElement = 'button';\n\nexport const TertiarySquareButton: PolymorphicForwardRefExoticComponent<\n TertiarySquareButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <T extends React.ElementType = typeof defaultElement>(\n props: PolymorphicPropsWithoutRef<TertiarySquareButtonBaseProps, T>,\n ref: React.ForwardedRef<React.ElementRef<T>>,\n ) => {\n const Element: React.ElementType = props.as || defaultElement;\n return (\n <BaseSquareButton as={Element} ref={ref} {...props} variant=\"tertiary\" />\n );\n },\n);\n","import React from 'react';\nimport classNames from 'classnames';\nimport {\n PolymorphicPropsWithoutRef,\n PolymorphicForwardRefExoticComponent,\n PolymorphicPropsWithRef,\n} 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<\n E extends React.ElementType = typeof defaultElement,\n> = PolymorphicPropsWithRef<IconButtonBaseProps, E>;\n\nexport const IconButton: PolymorphicForwardRefExoticComponent<\n IconButtonBaseProps,\n typeof defaultElement\n> = React.forwardRef(\n <E extends React.ElementType = typeof defaultElement>(\n {\n children,\n className,\n disabled = false,\n size,\n as,\n loading,\n ...rest\n }: PolymorphicPropsWithoutRef<IconButtonBaseProps, E>,\n ref: React.ForwardedRef<React.ElementRef<E>>,\n ) => {\n const Element: React.ElementType = as || defaultElement;\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 /> : children}\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","variant","size","loading","className","children","disabled","width","ariaLabel","rest","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","ariaLabelWhenLoading","filter","child","join","ariaLabelValue","undefined","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","ButtonGroup","classNames","FloatingButton","count","type","wrapStringsInSpans","map","BaseSquareButton","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","iconButtonElement","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/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 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 /> : children}\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","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","ariaLabelWhenLoading","filter","child","join","ariaLabelValue","undefined","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","ButtonGroup","classNames","FloatingButton","count","type","wrapStringsInSpans","map","BaseSquareButton","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","iconButtonElement","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"),r=require("@entur/loader");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,t}var u=s(t),o=n(t),i=n(a);function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},l.apply(this,arguments)}function d(e,t){if(null==e)return{};var a,r,n={},s=Object.keys(e);for(r=0;r<s.length;r++)t.indexOf(a=s[r])>=0||(n[a]=e[a]);return n}var c=["as","variant","size","loading","className","children","disabled","width","aria-label"],f=u.forwardRef((function(e,t){var a,n=e.as,s=e.variant,o=e.size,f=void 0===o?"medium":o,b=e.loading,m=e.className,v=e.children,p=e.disabled,g=void 0!==p&&p,y=e.width,h=void 0===y?"auto":y,E=e["aria-label"],N=d(e,c),w=n||"button",q=u.Children.toArray(v),x=q.length>1&&"string"!=typeof q[0],_=q.length>1&&"string"!=typeof q[q.length-1],B=q.filter((function(e){return"string"==typeof e})).join(" ");return u.createElement(w,l({className:i.default("eds-button",(a={},a["eds-button--variant-"+s]=s,a["eds-button--size-"+f]=f,a["eds-button--width-fluid"]="fluid"===h,a["eds-button--loading"]=b,a["eds-button--leading-icon"]=x,a["eds-button--trailing-icon"]=_,a),m),ref:t,"aria-busy":b,disabled:g,"aria-disabled":g,"aria-label":E||(b?B:void 0)},N),b?u.createElement(r.LoadingDots,{className:"eds-button__loading-dots"}):v)})),b=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"primary"}))})),m=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"secondary"}))})),v=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"success"}))})),p=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"negative"}))})),g=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"tertiary"}))})),y=["as","className"],h=["className","children","size"],E=["children","className","variant","disabled","loading","as"],N=u.forwardRef((function(e,t){var a=e.children,n=e.className,s=e.variant,o=e.disabled,c=void 0!==o&&o,f=e.loading,b=void 0!==f&&f,m=e.as,v=d(e,E);return u.createElement(m||"button",l({className:i.default("eds-square-button",{"eds-square-button--success":"success"===s},{"eds-square-button--secondary":"secondary"===s},{"eds-square-button--tertiary":"tertiary"===s},{"eds-square-button--loading":b},n),"aria-busy":b,disabled:c,"aria-disabled":c,ref:t},v),u.Children.map(a,(function(e){return"string"==typeof e?u.createElement("span",{className:"eds-square-button__label"},e):u.createElement("span",{className:"eds-square-button__icon"},b?u.createElement(r.LoadingDots,{className:"eds-square-button__loading-dots"}):e)})))})),w=o.default.forwardRef((function(e,t){return o.default.createElement(N,l({as:e.as||"button",ref:t},e,{variant:"secondary"}))})),q=o.default.forwardRef((function(e,t){return o.default.createElement(N,l({as:e.as||"button",ref:t},e,{variant:"success"}))})),x=o.default.forwardRef((function(e,t){return o.default.createElement(N,l({as:e.as||"button",ref:t},e,{variant:"tertiary"}))})),_=["children","className","disabled","size","as","loading"],B=o.default.forwardRef((function(e,t){var a=e.children,n=e.className,s=e.disabled,u=void 0!==s&&s,c=e.size,f=e.as,b=e.loading,m=d(e,_),v=o.default.createElement(f||"button",l({className:i.default("eds-icon-button",n,{"eds-icon-button--disabled":u},"eds-icon-button--size-"+c),disabled:u,"aria-disabled":u,"aria-busy":b,ref:t},m),b?o.default.createElement(r.LoadingDots,null):a);return u?o.default.createElement("div",{className:"eds-icon-button--disabled__wrapper"},v):o.default.createElement(o.default.Fragment,null,v)}));e.warnAboutMissingStyles("button"),exports.Button=f,exports.ButtonGroup=function(e){var t=e.as,a=void 0===t?"div":t,r=e.className,n=d(e,y);return o.default.createElement(a,l({className:i.default("eds-button-group",r)},n))},exports.FloatingButton=function(e){var t=e.className,a=e.children,r=e.size,n=void 0===r?"medium":r,s=d(e,h);return o.default.createElement("button",l({className:i.default("eds-floating-button",{"eds-floating-button--extended":o.default.Children.count(a)>1},{"eds-floating-button--small":"small"===n},t),type:"button"},s),function(e){return o.default.Children.map(e,(function(e){return"string"==typeof e?o.default.createElement("span",null,e):e}))}(a))},exports.IconButton=B,exports.NegativeButton=p,exports.PrimaryButton=b,exports.SecondaryButton=m,exports.SecondarySquareButton=w,exports.SuccessButton=v,exports.SuccessSquareButton=q,exports.TertiaryButton=g,exports.TertiarySquareButton=x;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@entur/utils"),t=require("react"),a=require("classnames"),r=require("@entur/loader");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function s(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}})),t.default=e,t}var u=s(t),o=n(t),i=n(a);function l(){return l=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},l.apply(this,arguments)}function d(e,t){if(null==e)return{};var a,r,n={},s=Object.keys(e);for(r=0;r<s.length;r++)t.indexOf(a=s[r])>=0||(n[a]=e[a]);return n}var c=["as","children","variant","size","loading","className","disabled","width","aria-label"],f=u.forwardRef((function(e,t){var a,n=e.as,s=e.children,o=e.variant,f=e.size,b=void 0===f?"medium":f,m=e.loading,v=e.className,p=e.disabled,g=void 0!==p&&p,y=e.width,h=void 0===y?"auto":y,E=e["aria-label"],N=d(e,c),w=n||"button",q=u.Children.toArray(s),x=q.length>1&&"string"!=typeof q[0],_=q.length>1&&"string"!=typeof q[q.length-1],B=q.filter((function(e){return"string"==typeof e})).join(" ");return u.createElement(w,l({className:i.default("eds-button",(a={},a["eds-button--variant-"+o]=o,a["eds-button--size-"+b]=b,a["eds-button--width-fluid"]="fluid"===h,a["eds-button--loading"]=m,a["eds-button--leading-icon"]=x,a["eds-button--trailing-icon"]=_,a),v),ref:t,"aria-busy":m,disabled:g,"aria-disabled":g,"aria-label":E||(m?B:void 0)},N),m?u.createElement(r.LoadingDots,{className:"eds-button__loading-dots"}):s)})),b=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"primary"}))})),m=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"secondary"}))})),v=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"success"}))})),p=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"negative"}))})),g=o.default.forwardRef((function(e,t){return o.default.createElement(f,l({as:e.as||"button"},e,{ref:t,variant:"tertiary"}))})),y=["as","className"],h=["className","children","size"],E=["children","className","variant","disabled","loading","as"],N=u.forwardRef((function(e,t){var a=e.children,n=e.className,s=e.variant,o=e.disabled,c=void 0!==o&&o,f=e.loading,b=void 0!==f&&f,m=e.as,v=d(e,E);return u.createElement(m||"button",l({className:i.default("eds-square-button",{"eds-square-button--success":"success"===s},{"eds-square-button--secondary":"secondary"===s},{"eds-square-button--tertiary":"tertiary"===s},{"eds-square-button--loading":b},n),"aria-busy":b,disabled:c,"aria-disabled":c,ref:t},v),u.Children.map(a,(function(e){return"string"==typeof e?u.createElement("span",{className:"eds-square-button__label"},e):u.createElement("span",{className:"eds-square-button__icon"},b?u.createElement(r.LoadingDots,{className:"eds-square-button__loading-dots"}):e)})))})),w=o.default.forwardRef((function(e,t){return o.default.createElement(N,l({as:e.as||"button",ref:t},e,{variant:"secondary"}))})),q=o.default.forwardRef((function(e,t){return o.default.createElement(N,l({as:e.as||"button",ref:t},e,{variant:"success"}))})),x=o.default.forwardRef((function(e,t){return o.default.createElement(N,l({as:e.as||"button",ref:t},e,{variant:"tertiary"}))})),_=["children","className","disabled","size","as","loading"],B=o.default.forwardRef((function(e,t){var a=e.children,n=e.className,s=e.disabled,u=void 0!==s&&s,c=e.size,f=e.as,b=e.loading,m=d(e,_),v=o.default.createElement(f||"button",l({className:i.default("eds-icon-button",n,{"eds-icon-button--disabled":u},"eds-icon-button--size-"+c),disabled:u,"aria-disabled":u,"aria-busy":b,ref:t},m),b?o.default.createElement(r.LoadingDots,null):a);return u?o.default.createElement("div",{className:"eds-icon-button--disabled__wrapper"},v):o.default.createElement(o.default.Fragment,null,v)}));e.warnAboutMissingStyles("button"),exports.Button=f,exports.ButtonGroup=function(e){var t=e.as,a=void 0===t?"div":t,r=e.className,n=d(e,y);return o.default.createElement(a,l({className:i.default("eds-button-group",r)},n))},exports.FloatingButton=function(e){var t=e.className,a=e.children,r=e.size,n=void 0===r?"medium":r,s=d(e,h);return o.default.createElement("button",l({className:i.default("eds-floating-button",{"eds-floating-button--extended":o.default.Children.count(a)>1},{"eds-floating-button--small":"small"===n},t),type:"button"},s),function(e){return o.default.Children.map(e,(function(e){return"string"==typeof e?o.default.createElement("span",null,e):e}))}(a))},exports.IconButton=B,exports.NegativeButton=p,exports.PrimaryButton=b,exports.SecondaryButton=m,exports.SecondarySquareButton=w,exports.SuccessButton=v,exports.SuccessSquareButton=q,exports.TertiaryButton=g,exports.TertiarySquareButton=x;
2
2
  //# sourceMappingURL=button.cjs.production.min.js.map