@entur/button 2.8.3 → 2.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/Button.d.ts +4 -0
- package/dist/IconButton.d.ts +2 -0
- package/dist/button.cjs.development.js +24 -3
- 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 +24 -3
- package/dist/button.esm.js.map +1 -1
- package/dist/styles.css +87 -75
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,23 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [2.10.1](https://bitbucket.org/enturas/design-system/compare/@entur/button@2.10.0...@entur/button@2.10.1) (2022-08-09)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @entur/button
|
|
9
|
+
|
|
10
|
+
# [2.10.0](https://bitbucket.org/enturas/design-system/compare/@entur/button@2.9.0...@entur/button@2.10.0) (2022-06-28)
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
- **button:** add aria-label to button when loading ([50f325b](https://bitbucket.org/enturas/design-system/commits/50f325be55954b2d9411178d5430c202adc078c9))
|
|
15
|
+
|
|
16
|
+
# [2.9.0](https://bitbucket.org/enturas/design-system/compare/@entur/button@2.8.3...@entur/button@2.9.0) (2022-06-24)
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
- **floating button:** add visual indication for active state ([c794e4f](https://bitbucket.org/enturas/design-system/commits/c794e4f831096da1a9ab4e25e62f4329e25e48ff))
|
|
21
|
+
- **icon button:** add cursor not-allowed to disabled icon button and add aria-label prop descriptio ([d7ab051](https://bitbucket.org/enturas/design-system/commits/d7ab051d9a32a2879e243aee9e4620f3e23cb525))
|
|
22
|
+
|
|
6
23
|
## [2.8.3](https://bitbucket.org/enturas/design-system/compare/@entur/button@2.8.2...@entur/button@2.8.3) (2022-06-02)
|
|
7
24
|
|
|
8
25
|
**Note:** Version bump only for package @entur/button
|
package/dist/Button.d.ts
CHANGED
|
@@ -24,6 +24,10 @@ declare type ButtonBaseProps = {
|
|
|
24
24
|
width?: 'fluid' | 'auto';
|
|
25
25
|
/** Innholdet i knappen */
|
|
26
26
|
children: React.ReactNode;
|
|
27
|
+
/**
|
|
28
|
+
* Tekst som leses opp på skjermleser (nødvendig når knappetekst mangler)
|
|
29
|
+
*/
|
|
30
|
+
'aria-label'?: string;
|
|
27
31
|
};
|
|
28
32
|
declare const defaultElement = "button";
|
|
29
33
|
export declare type ButtonProps<T extends React.ElementType = typeof defaultElement> = PolymorphicPropsWithRef<ButtonBaseProps, T>;
|
package/dist/IconButton.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import './IconButton.scss';
|
|
|
4
4
|
export declare type IconButtonBaseProps = {
|
|
5
5
|
/** Ikonet som du vil ha inne i knappen */
|
|
6
6
|
children: React.ReactNode;
|
|
7
|
+
/** Tekst som forklarer knappens handling. MÅ være satt hvis du ikke har en forklarende tooltip på knappen */
|
|
8
|
+
'aria-label'?: string;
|
|
7
9
|
/** Ekstra klassenavn */
|
|
8
10
|
className?: string;
|
|
9
11
|
/** Deaktivering av knappen
|
|
@@ -64,7 +64,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
64
64
|
return target;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
var _excluded$4 = ["as", "variant", "size", "loading", "className", "children", "disabled", "width"];
|
|
67
|
+
var _excluded$4 = ["as", "variant", "size", "loading", "className", "children", "disabled", "width", "aria-label"];
|
|
68
68
|
var defaultElement$a = 'button';
|
|
69
69
|
var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
70
70
|
var _cx;
|
|
@@ -80,18 +80,30 @@ var Button = /*#__PURE__*/React__namespace.forwardRef(function (_ref, ref) {
|
|
|
80
80
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
81
81
|
_ref$width = _ref.width,
|
|
82
82
|
width = _ref$width === void 0 ? 'auto' : _ref$width,
|
|
83
|
+
ariaLabel = _ref['aria-label'],
|
|
83
84
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
84
85
|
|
|
85
86
|
var Element = as || defaultElement$a;
|
|
86
87
|
var childrenArray = React__namespace.Children.toArray(children);
|
|
87
88
|
var hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== 'string';
|
|
88
89
|
var hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== 'string';
|
|
90
|
+
var ariaLabelWhenLoading = childrenArray.filter(function (child) {
|
|
91
|
+
return typeof child === 'string';
|
|
92
|
+
}).join(' ');
|
|
93
|
+
|
|
94
|
+
var ariaLabelValue = function ariaLabelValue() {
|
|
95
|
+
if (ariaLabel) return ariaLabel;
|
|
96
|
+
if (loading) return ariaLabelWhenLoading;
|
|
97
|
+
return undefined;
|
|
98
|
+
};
|
|
99
|
+
|
|
89
100
|
return React__namespace.createElement(Element, _extends({
|
|
90
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),
|
|
91
102
|
ref: ref,
|
|
92
103
|
"aria-busy": loading,
|
|
93
104
|
disabled: disabled,
|
|
94
|
-
"aria-disabled": disabled
|
|
105
|
+
"aria-disabled": disabled,
|
|
106
|
+
"aria-label": ariaLabelValue()
|
|
95
107
|
}, rest), loading ? React__namespace.createElement(loader.LoadingDots, {
|
|
96
108
|
className: "eds-button__loading-dots"
|
|
97
109
|
}) : children);
|
|
@@ -277,14 +289,23 @@ var IconButton = /*#__PURE__*/React__default["default"].forwardRef(function (_re
|
|
|
277
289
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
278
290
|
|
|
279
291
|
var Element = as || defaultElement;
|
|
280
|
-
|
|
292
|
+
var iconButtonElement = React__default["default"].createElement(Element, _extends({
|
|
281
293
|
className: classNames__default["default"]('eds-icon-button', className, {
|
|
282
294
|
'eds-icon-button--disabled': disabled
|
|
283
295
|
}, "eds-icon-button--size-" + size),
|
|
284
296
|
disabled: disabled,
|
|
285
297
|
"aria-disabled": disabled,
|
|
298
|
+
"aria-busy": loading,
|
|
286
299
|
ref: ref
|
|
287
300
|
}, rest), loading ? React__default["default"].createElement(loader.LoadingDots, null) : children);
|
|
301
|
+
|
|
302
|
+
if (disabled) {
|
|
303
|
+
return React__default["default"].createElement("div", {
|
|
304
|
+
className: "eds-icon-button--disabled__wrapper"
|
|
305
|
+
}, iconButtonElement);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null, iconButtonElement);
|
|
288
309
|
});
|
|
289
310
|
|
|
290
311
|
utils.warnAboutMissingStyles('button');
|
|
@@ -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\nconst defaultElement = 'button';\n\nexport type ButtonProps<\n 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 ...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 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 {...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 /** 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 return (\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 ref={ref}\n {...rest}\n >\n {loading ? <LoadingDots /> : children}\n </Element>\n );\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","rest","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","ButtonGroup","classNames","FloatingButton","count","type","wrapStringsInSpans","map","child","BaseSquareButton","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","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 {\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,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),
|
|
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;
|
|
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 {\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\nconst defaultElement = 'button';\n\nexport type ButtonProps<\n 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 ...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 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 {...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 * 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 /** 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 return (\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 ref={ref}\n {...rest}\n >\n {loading ? <LoadingDots /> : children}\n </Element>\n );\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","as","variant","size","loading","className","children","disabled","width","rest","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","BaseSquareButton","classNames","map","child","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","warnAboutMissingStyles","count","type","wrapStringsInSpans"],"mappings":"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"}
|
|
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 {\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 * 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","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","as","variant","size","loading","className","children","disabled","width","ariaLabel","rest","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","ariaLabelWhenLoading","filter","child","join","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","BaseSquareButton","classNames","map","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","iconButtonElement","warnAboutMissingStyles","count","type","wrapStringsInSpans"],"mappings":"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"}
|
package/dist/button.esm.js
CHANGED
|
@@ -37,7 +37,7 @@ function _objectWithoutPropertiesLoose(source, excluded) {
|
|
|
37
37
|
return target;
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
var _excluded$4 = ["as", "variant", "size", "loading", "className", "children", "disabled", "width"];
|
|
40
|
+
var _excluded$4 = ["as", "variant", "size", "loading", "className", "children", "disabled", "width", "aria-label"];
|
|
41
41
|
var defaultElement$a = 'button';
|
|
42
42
|
var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
43
43
|
var _cx;
|
|
@@ -53,18 +53,30 @@ var Button = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
53
53
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
54
54
|
_ref$width = _ref.width,
|
|
55
55
|
width = _ref$width === void 0 ? 'auto' : _ref$width,
|
|
56
|
+
ariaLabel = _ref['aria-label'],
|
|
56
57
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded$4);
|
|
57
58
|
|
|
58
59
|
var Element = as || defaultElement$a;
|
|
59
60
|
var childrenArray = React.Children.toArray(children);
|
|
60
61
|
var hasLeadingIcon = childrenArray.length > 1 && typeof childrenArray[0] !== 'string';
|
|
61
62
|
var hasTrailingIcon = childrenArray.length > 1 && typeof childrenArray[childrenArray.length - 1] !== 'string';
|
|
63
|
+
var ariaLabelWhenLoading = childrenArray.filter(function (child) {
|
|
64
|
+
return typeof child === 'string';
|
|
65
|
+
}).join(' ');
|
|
66
|
+
|
|
67
|
+
var ariaLabelValue = function ariaLabelValue() {
|
|
68
|
+
if (ariaLabel) return ariaLabel;
|
|
69
|
+
if (loading) return ariaLabelWhenLoading;
|
|
70
|
+
return undefined;
|
|
71
|
+
};
|
|
72
|
+
|
|
62
73
|
return React.createElement(Element, _extends({
|
|
63
74
|
className: classNames('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),
|
|
64
75
|
ref: ref,
|
|
65
76
|
"aria-busy": loading,
|
|
66
77
|
disabled: disabled,
|
|
67
|
-
"aria-disabled": disabled
|
|
78
|
+
"aria-disabled": disabled,
|
|
79
|
+
"aria-label": ariaLabelValue()
|
|
68
80
|
}, rest), loading ? React.createElement(LoadingDots, {
|
|
69
81
|
className: "eds-button__loading-dots"
|
|
70
82
|
}) : children);
|
|
@@ -250,14 +262,23 @@ var IconButton = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
|
|
|
250
262
|
rest = _objectWithoutPropertiesLoose(_ref, _excluded);
|
|
251
263
|
|
|
252
264
|
var Element = as || defaultElement;
|
|
253
|
-
|
|
265
|
+
var iconButtonElement = React__default.createElement(Element, _extends({
|
|
254
266
|
className: classNames('eds-icon-button', className, {
|
|
255
267
|
'eds-icon-button--disabled': disabled
|
|
256
268
|
}, "eds-icon-button--size-" + size),
|
|
257
269
|
disabled: disabled,
|
|
258
270
|
"aria-disabled": disabled,
|
|
271
|
+
"aria-busy": loading,
|
|
259
272
|
ref: ref
|
|
260
273
|
}, rest), loading ? React__default.createElement(LoadingDots, null) : children);
|
|
274
|
+
|
|
275
|
+
if (disabled) {
|
|
276
|
+
return React__default.createElement("div", {
|
|
277
|
+
className: "eds-icon-button--disabled__wrapper"
|
|
278
|
+
}, iconButtonElement);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
return React__default.createElement(React__default.Fragment, null, iconButtonElement);
|
|
261
282
|
});
|
|
262
283
|
|
|
263
284
|
warnAboutMissingStyles('button');
|
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 {\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\nconst defaultElement = 'button';\n\nexport type ButtonProps<\n 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 ...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 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 {...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 /** 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 return (\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 ref={ref}\n {...rest}\n >\n {loading ? <LoadingDots /> : children}\n </Element>\n );\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","rest","Element","childrenArray","Children","toArray","hasLeadingIcon","length","hasTrailingIcon","cx","LoadingDots","PrimaryButton","props","SecondaryButton","SuccessButton","NegativeButton","TertiaryButton","ButtonGroup","classNames","FloatingButton","count","type","wrapStringsInSpans","map","child","BaseSquareButton","SecondarySquareButton","SuccessSquareButton","TertiarySquareButton","IconButton","warnAboutMissingStyles"],"mappings":"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"}
|
|
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 {\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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"}
|
package/dist/styles.css
CHANGED
|
@@ -2,81 +2,6 @@
|
|
|
2
2
|
--eds-button: 1;
|
|
3
3
|
}/* DO NOT CHANGE!*/
|
|
4
4
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
5
|
-
.eds-button-group .eds-button {
|
|
6
|
-
margin-right: 0.75rem;
|
|
7
|
-
margin-bottom: 0.75rem;
|
|
8
|
-
}
|
|
9
|
-
.eds-button-group .eds-button:only-child {
|
|
10
|
-
margin: 0;
|
|
11
|
-
}/* DO NOT CHANGE!*/
|
|
12
|
-
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
13
|
-
.eds-floating-button {
|
|
14
|
-
align-items: center;
|
|
15
|
-
-webkit-appearance: none;
|
|
16
|
-
-moz-appearance: none;
|
|
17
|
-
appearance: none;
|
|
18
|
-
background: #181c56;
|
|
19
|
-
border: 0;
|
|
20
|
-
border-radius: 1.5rem;
|
|
21
|
-
box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
|
|
22
|
-
color: #ffffff;
|
|
23
|
-
cursor: pointer;
|
|
24
|
-
display: flex;
|
|
25
|
-
font-family: inherit;
|
|
26
|
-
font-size: 0.875rem;
|
|
27
|
-
font-weight: 500;
|
|
28
|
-
justify-content: center;
|
|
29
|
-
min-height: 3rem;
|
|
30
|
-
margin: 0;
|
|
31
|
-
min-width: 3rem;
|
|
32
|
-
padding: 0 1rem;
|
|
33
|
-
position: relative;
|
|
34
|
-
z-index: 10;
|
|
35
|
-
}
|
|
36
|
-
.eds-floating-button--extended {
|
|
37
|
-
padding: 0 0.9375rem;
|
|
38
|
-
}
|
|
39
|
-
.eds-floating-button:hover {
|
|
40
|
-
background-color: #2f3367;
|
|
41
|
-
}
|
|
42
|
-
.eds-floating-button:focus {
|
|
43
|
-
outline-offset: 0.125rem;
|
|
44
|
-
outline: none;
|
|
45
|
-
box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #181c56;
|
|
46
|
-
}
|
|
47
|
-
.eds-contrast .eds-floating-button:focus {
|
|
48
|
-
box-shadow: 0 0 0 0.125rem #181c56, 0 0 0 0.25rem #ffffff;
|
|
49
|
-
}
|
|
50
|
-
.eds-contrast .eds-floating-button {
|
|
51
|
-
background: #ffffff;
|
|
52
|
-
color: #181c56;
|
|
53
|
-
box-shadow: 0 0.0625rem 0.1875rem #393d79;
|
|
54
|
-
}
|
|
55
|
-
.eds-contrast .eds-floating-button:hover {
|
|
56
|
-
background-color: #b6bee5;
|
|
57
|
-
}
|
|
58
|
-
.eds-floating-button--small {
|
|
59
|
-
border-radius: 1rem;
|
|
60
|
-
height: 2rem;
|
|
61
|
-
padding: 0 0.5rem;
|
|
62
|
-
min-width: 2rem;
|
|
63
|
-
min-height: 2rem;
|
|
64
|
-
flex: 0 1 auto;
|
|
65
|
-
}
|
|
66
|
-
.eds-floating-button--small.eds-floating-button--extended {
|
|
67
|
-
padding: 0 0.6875rem;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
.eds-floating-button--extended > * {
|
|
71
|
-
margin: 0 0.5em;
|
|
72
|
-
}
|
|
73
|
-
.eds-floating-button--extended > *:first-child {
|
|
74
|
-
margin-left: 0;
|
|
75
|
-
}
|
|
76
|
-
.eds-floating-button--extended > *:last-child {
|
|
77
|
-
margin-right: 0;
|
|
78
|
-
}/* DO NOT CHANGE!*/
|
|
79
|
-
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
80
5
|
a.eds-button {
|
|
81
6
|
padding: 0.5rem 1rem;
|
|
82
7
|
}
|
|
@@ -292,6 +217,87 @@ a.eds-button--size-large {
|
|
|
292
217
|
color: #aeb7e2;
|
|
293
218
|
}/* DO NOT CHANGE!*/
|
|
294
219
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
220
|
+
.eds-button-group .eds-button {
|
|
221
|
+
margin-right: 0.75rem;
|
|
222
|
+
margin-bottom: 0.75rem;
|
|
223
|
+
}
|
|
224
|
+
.eds-button-group .eds-button:only-child {
|
|
225
|
+
margin: 0;
|
|
226
|
+
}/* DO NOT CHANGE!*/
|
|
227
|
+
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
228
|
+
.eds-floating-button {
|
|
229
|
+
align-items: center;
|
|
230
|
+
-webkit-appearance: none;
|
|
231
|
+
-moz-appearance: none;
|
|
232
|
+
appearance: none;
|
|
233
|
+
background: #181c56;
|
|
234
|
+
border: 0;
|
|
235
|
+
border-radius: 1.5rem;
|
|
236
|
+
box-shadow: 0 0.0625rem 0.1875rem rgba(0, 0, 0, 0.25);
|
|
237
|
+
color: #ffffff;
|
|
238
|
+
cursor: pointer;
|
|
239
|
+
display: flex;
|
|
240
|
+
font-family: inherit;
|
|
241
|
+
font-size: 0.875rem;
|
|
242
|
+
font-weight: 500;
|
|
243
|
+
justify-content: center;
|
|
244
|
+
min-height: 3rem;
|
|
245
|
+
margin: 0;
|
|
246
|
+
min-width: 3rem;
|
|
247
|
+
padding: 0 1rem;
|
|
248
|
+
position: relative;
|
|
249
|
+
z-index: 10;
|
|
250
|
+
}
|
|
251
|
+
.eds-floating-button--extended {
|
|
252
|
+
padding: 0 0.9375rem;
|
|
253
|
+
}
|
|
254
|
+
.eds-floating-button:hover {
|
|
255
|
+
background-color: #2f3367;
|
|
256
|
+
}
|
|
257
|
+
.eds-floating-button:active {
|
|
258
|
+
background-color: #16194d;
|
|
259
|
+
}
|
|
260
|
+
.eds-floating-button:focus {
|
|
261
|
+
outline-offset: 0.125rem;
|
|
262
|
+
outline: none;
|
|
263
|
+
box-shadow: 0 0 0 0.125rem #ffffff, 0 0 0 0.25rem #181c56;
|
|
264
|
+
}
|
|
265
|
+
.eds-contrast .eds-floating-button:focus {
|
|
266
|
+
box-shadow: 0 0 0 0.125rem #181c56, 0 0 0 0.25rem #ffffff;
|
|
267
|
+
}
|
|
268
|
+
.eds-contrast .eds-floating-button {
|
|
269
|
+
background: #ffffff;
|
|
270
|
+
color: #181c56;
|
|
271
|
+
box-shadow: 0 0.0625rem 0.1875rem #393d79;
|
|
272
|
+
}
|
|
273
|
+
.eds-contrast .eds-floating-button:hover {
|
|
274
|
+
background-color: #b6bee5;
|
|
275
|
+
}
|
|
276
|
+
.eds-contrast .eds-floating-button:active {
|
|
277
|
+
background-color: #e6e6e6;
|
|
278
|
+
}
|
|
279
|
+
.eds-floating-button--small {
|
|
280
|
+
border-radius: 1rem;
|
|
281
|
+
height: 2rem;
|
|
282
|
+
padding: 0 0.5rem;
|
|
283
|
+
min-width: 2rem;
|
|
284
|
+
min-height: 2rem;
|
|
285
|
+
flex: 0 1 auto;
|
|
286
|
+
}
|
|
287
|
+
.eds-floating-button--small.eds-floating-button--extended {
|
|
288
|
+
padding: 0 0.6875rem;
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
.eds-floating-button--extended > * {
|
|
292
|
+
margin: 0 0.5em;
|
|
293
|
+
}
|
|
294
|
+
.eds-floating-button--extended > *:first-child {
|
|
295
|
+
margin-left: 0;
|
|
296
|
+
}
|
|
297
|
+
.eds-floating-button--extended > *:last-child {
|
|
298
|
+
margin-right: 0;
|
|
299
|
+
}/* DO NOT CHANGE!*/
|
|
300
|
+
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
295
301
|
.eds-icon-button {
|
|
296
302
|
border: 0.0625rem solid transparent;
|
|
297
303
|
border-radius: 0.25rem;
|
|
@@ -338,6 +344,12 @@ a.eds-button--size-large {
|
|
|
338
344
|
.eds-icon-button--disabled {
|
|
339
345
|
opacity: 0.5;
|
|
340
346
|
pointer-events: none;
|
|
347
|
+
}
|
|
348
|
+
.eds-icon-button--disabled__wrapper {
|
|
349
|
+
cursor: not-allowed;
|
|
350
|
+
width: -webkit-fit-content;
|
|
351
|
+
width: -moz-fit-content;
|
|
352
|
+
width: fit-content;
|
|
341
353
|
}/* DO NOT CHANGE!*/
|
|
342
354
|
/* This file is automatically generated from @entur/tokens! Changes will be overwritten. */
|
|
343
355
|
.eds-square-button {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@entur/button",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.10.1",
|
|
4
4
|
"license": "EUPL-1.2",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/button.esm.js",
|
|
@@ -27,12 +27,12 @@
|
|
|
27
27
|
"react-dom": ">=16.8.0"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@entur/loader": "^0.4.
|
|
30
|
+
"@entur/loader": "^0.4.9",
|
|
31
31
|
"@entur/utils": "^0.4.3",
|
|
32
32
|
"classnames": "^2.3.1"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@entur/tokens": "^3.
|
|
35
|
+
"@entur/tokens": "^3.4.0"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "82b89b2f52c8530f8d930edfdc507c809ec85f7c"
|
|
38
38
|
}
|