@sb1/ffe-buttons-react 21.0.19 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/es/ActionButton.js +16 -40
  2. package/es/BackButton.js +18 -26
  3. package/es/BaseButton.js +51 -80
  4. package/es/ButtonGroup.js +25 -26
  5. package/es/ExpandButton.js +31 -48
  6. package/es/InlineBaseButton.js +39 -51
  7. package/es/InlineExpandButton.js +33 -38
  8. package/es/PrimaryButton.js +17 -39
  9. package/es/SecondaryButton.js +17 -39
  10. package/es/ShortcutButton.js +18 -28
  11. package/es/TaskButton.js +17 -33
  12. package/es/TertiaryButton.js +17 -33
  13. package/es/fixedForwardRef.js +2 -0
  14. package/es/index.js +10 -10
  15. package/es/types.js +1 -0
  16. package/lib/ActionButton.js +22 -47
  17. package/lib/BackButton.js +23 -32
  18. package/lib/BaseButton.js +58 -87
  19. package/lib/ButtonGroup.js +32 -33
  20. package/lib/ExpandButton.js +37 -55
  21. package/lib/InlineBaseButton.js +46 -58
  22. package/lib/InlineExpandButton.js +39 -45
  23. package/lib/PrimaryButton.js +21 -44
  24. package/lib/SecondaryButton.js +21 -44
  25. package/lib/ShortcutButton.js +23 -34
  26. package/lib/TaskButton.js +21 -38
  27. package/lib/TertiaryButton.js +21 -38
  28. package/lib/fixedForwardRef.js +5 -0
  29. package/lib/index.js +22 -75
  30. package/lib/types.js +2 -0
  31. package/package.json +8 -10
  32. package/types/ActionButton.d.ts +4 -0
  33. package/types/BackButton.d.ts +4 -0
  34. package/types/BaseButton.d.ts +22 -0
  35. package/types/ButtonGroup.d.ts +8 -0
  36. package/types/ExpandButton.d.ts +18 -0
  37. package/types/InlineBaseButton.d.ts +28 -0
  38. package/types/InlineExpandButton.d.ts +10 -0
  39. package/types/PrimaryButton.d.ts +4 -0
  40. package/types/SecondaryButton.d.ts +4 -0
  41. package/types/ShortcutButton.d.ts +4 -0
  42. package/types/TaskButton.d.ts +10 -0
  43. package/types/TertiaryButton.d.ts +4 -0
  44. package/types/fixedForwardRef.d.ts +4 -0
  45. package/types/index.d.ts +10 -107
  46. package/types/types.d.ts +8 -0
@@ -1,40 +1,18 @@
1
- var _excluded = ["leftIcon", "rightIcon"];
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
5
- import React from 'react';
6
- import { bool, func, oneOfType, string, node, object, shape, elementType } from 'prop-types';
7
- import Button from './BaseButton';
8
- var SecondaryButton = function SecondaryButton(props) {
9
- var leftIcon = props.leftIcon,
10
- rightIcon = props.rightIcon,
11
- rest = _objectWithoutProperties(props, _excluded);
12
- return /*#__PURE__*/React.createElement(Button, _extends({
13
- buttonType: "secondary",
14
- leftIcon: leftIcon,
15
- rightIcon: rightIcon
16
- }, rest));
17
- };
18
- SecondaryButton.propTypes = {
19
- /** Aria label for loading indicator */
20
- ariaLoadingMessage: string,
21
- /** The button label */
22
- children: node,
23
- /** Extra class names */
24
- className: string,
25
- /** Disable a button in certain situations */
26
- disabled: bool,
27
- /** The rendered element, like an `<a />` or `<Link />` */
28
- element: oneOfType([func, string, elementType]),
29
- /** Ref-setting function, or ref created by useRef, passed to the button element */
30
- innerRef: oneOfType([func, shape({
31
- current: object
32
- })]),
33
- /** Shows a loader if true */
34
- isLoading: bool,
35
- /** Icon shown to the left of the label */
36
- leftIcon: node,
37
- /** Icon shown to the right of the label */
38
- rightIcon: node
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
39
11
  };
40
- export default SecondaryButton;
12
+ import React from 'react';
13
+ import { BaseButton } from './BaseButton';
14
+ import { fixedForwardRef } from './fixedForwardRef';
15
+ function SecondaryButtonWithForwardRef(props, ref) {
16
+ return React.createElement(BaseButton, __assign({}, props, { ref: ref, buttonType: "secondary" }));
17
+ }
18
+ export var SecondaryButton = fixedForwardRef(SecondaryButtonWithForwardRef);
@@ -1,30 +1,20 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
2
12
  import React from 'react';
3
- import { bool, func, node, string, oneOfType, object, shape, elementType } from 'prop-types';
4
- import Button from './BaseButton';
13
+ import { BaseButton } from './BaseButton';
14
+ import { fixedForwardRef } from './fixedForwardRef';
5
15
  import { Icon } from '@sb1/ffe-icons-react';
6
- var ShortcutButton = function ShortcutButton(props) {
7
- var chevronRightIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiB3aWR0aD0iMjQiPjxwYXRoIGQ9Ik01MTcuODQ3LTQ4MCAzNTQuOTI0LTY0Mi45MjRxLTguMzA4LTguMzA3LTguNS0yMC44ODQtLjE5My0xMi41NzYgOC41LTIxLjI2OCA4LjY5Mi04LjY5MyAyMS4wNzYtOC42OTN0MjEuMDc2IDguNjkzbDE3OS43NjkgMTc5Ljc2OXE1LjYxNiA1LjYxNSA3LjkyMyAxMS44NDYgMi4zMDggNi4yMyAyLjMwOCAxMy40NjF0LTIuMzA4IDEzLjQ2MXEtMi4zMDcgNi4yMzEtNy45MjMgMTEuODQ2TDM5Ny4wNzYtMjc0LjkyNHEtOC4zMDcgOC4zMDgtMjAuODg0IDguNS0xMi41NzYuMTkzLTIxLjI2OC04LjUtOC42OTMtOC42OTItOC42OTMtMjEuMDc2dDguNjkzLTIxLjA3Nkw1MTcuODQ3LTQ4MFoiLz48L3N2Zz4=';
8
- return /*#__PURE__*/React.createElement(Button, _extends({
9
- buttonType: "shortcut",
10
- rightIcon: /*#__PURE__*/React.createElement(Icon, {
11
- fileUrl: chevronRightIcon,
12
- size: "md"
13
- })
14
- }, props));
15
- };
16
- ShortcutButton.propTypes = {
17
- /** The button label */
18
- children: node,
19
- /** Extra class names */
20
- className: string,
21
- /** Disable a button in certain situations */
22
- disabled: bool,
23
- /** The rendered element, like an `<a />` or `<Link />` */
24
- element: oneOfType([func, string, elementType]),
25
- /** Ref-setting function, or ref created by useRef, passed to the button element */
26
- innerRef: oneOfType([func, shape({
27
- current: object
28
- })])
29
- };
30
- export default ShortcutButton;
16
+ function ShortcutButtonWithForwardRef(props, ref) {
17
+ var chevronRightIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiB3aWR0aD0iMjQiPjxwYXRoIGQ9Ik01MTcuODQ3LTQ4MCAzNTQuOTI0LTY0Mi45MjRxLTguMzA4LTguMzA3LTguNS0yMC44ODQtLjE5My0xMi41NzYgOC41LTIxLjI2OCA4LjY5Mi04LjY5MyAyMS4wNzYtOC42OTN0MjEuMDc2IDguNjkzbDE3OS43NjkgMTc5Ljc2OXE1LjYxNiA1LjYxNSA3LjkyMyAxMS44NDYgMi4zMDggNi4yMyAyLjMwOCAxMy40NjF0LTIuMzA4IDEzLjQ2MXEtMi4zMDcgNi4yMzEtNy45MjMgMTEuODQ2TDM5Ny4wNzYtMjc0LjkyNHEtOC4zMDcgOC4zMDgtMjAuODg0IDguNS0xMi41NzYuMTkzLTIxLjI2OC04LjUtOC42OTMtOC42OTItOC42OTMtMjEuMDc2dDguNjkzLTIxLjA3Nkw1MTcuODQ3LTQ4MFoiLz48L3N2Zz4=';
18
+ return (React.createElement(BaseButton, __assign({ rightIcon: React.createElement(Icon, { fileUrl: chevronRightIcon, size: "md" }) }, props, { ref: ref, buttonType: "shortcut" })));
19
+ }
20
+ export var ShortcutButton = fixedForwardRef(ShortcutButtonWithForwardRef);
package/es/TaskButton.js CHANGED
@@ -1,34 +1,18 @@
1
- var _excluded = ["icon"];
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
5
- import React from 'react';
6
- import { bool, func, node, string, oneOfType, object, shape, elementType } from 'prop-types';
7
- import Button from './BaseButton';
8
- var TaskButton = function TaskButton(_ref) {
9
- var icon = _ref.icon,
10
- rest = _objectWithoutProperties(_ref, _excluded);
11
- return /*#__PURE__*/React.createElement(Button, _extends({
12
- buttonType: "task",
13
- leftIcon: /*#__PURE__*/React.createElement("div", {
14
- "aria-hidden": "true"
15
- }, icon)
16
- }, rest));
17
- };
18
- TaskButton.propTypes = {
19
- /** The button label */
20
- children: node,
21
- /** Extra class names */
22
- className: string,
23
- /** Disable a button in certain situations */
24
- disabled: bool,
25
- /** The rendered element, like an `<a />` or `<Link />` */
26
- element: oneOfType([func, string, elementType]),
27
- /** icon element shown to the left of the label */
28
- icon: node,
29
- /** Ref-setting function, or ref created by useRef, passed to the button element */
30
- innerRef: oneOfType([func, shape({
31
- current: object
32
- })])
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
33
11
  };
34
- export default TaskButton;
12
+ import React from 'react';
13
+ import { BaseButton } from './BaseButton';
14
+ import { fixedForwardRef } from './fixedForwardRef';
15
+ function TaskButtonWithForwardRef(props, ref) {
16
+ return (React.createElement(BaseButton, __assign({ leftIcon: props.icon }, props, { ref: ref, buttonType: "task" })));
17
+ }
18
+ export var TaskButton = fixedForwardRef(TaskButtonWithForwardRef);
@@ -1,34 +1,18 @@
1
- var _excluded = ["leftIcon", "rightIcon"];
2
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
5
- import React from 'react';
6
- import { func, node, oneOfType, string, object, shape, elementType } from 'prop-types';
7
- import InlineButton from './InlineBaseButton';
8
- var TertiaryButton = function TertiaryButton(props) {
9
- var leftIcon = props.leftIcon,
10
- rightIcon = props.rightIcon,
11
- rest = _objectWithoutProperties(props, _excluded);
12
- return /*#__PURE__*/React.createElement(InlineButton, _extends({
13
- buttonType: "tertiary",
14
- leftIcon: leftIcon,
15
- rightIcon: rightIcon
16
- }, rest));
17
- };
18
- TertiaryButton.propTypes = {
19
- /** The button label */
20
- children: node,
21
- /** Extra class names */
22
- className: string,
23
- /** The rendered element, like an `<a />` or `<Link />` */
24
- element: oneOfType([func, string, elementType]),
25
- /** Ref-setting function, or ref created by useRef, passed to the button element */
26
- innerRef: oneOfType([func, shape({
27
- current: object
28
- })]),
29
- /** Icon shown to the left of the label */
30
- leftIcon: node,
31
- /** Icon shown to the right of the label */
32
- rightIcon: node
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
33
11
  };
34
- export default TertiaryButton;
12
+ import React from 'react';
13
+ import { InlineBaseButton } from './InlineBaseButton';
14
+ import { fixedForwardRef } from './fixedForwardRef';
15
+ function TertiaryButtonPropsForwardRef(props, ref) {
16
+ return React.createElement(InlineBaseButton, __assign({}, props, { ref: ref, buttonType: "tertiary" }));
17
+ }
18
+ export var TertiaryButton = fixedForwardRef(TertiaryButtonPropsForwardRef);
@@ -0,0 +1,2 @@
1
+ import { forwardRef } from 'react';
2
+ export var fixedForwardRef = forwardRef;
package/es/index.js CHANGED
@@ -1,10 +1,10 @@
1
- export { default as ActionButton } from './ActionButton';
2
- export { default as BackButton } from './BackButton';
3
- export { default as ButtonGroup } from './ButtonGroup';
4
- export { default as ExpandButton } from './ExpandButton';
5
- export { default as InlineExpandButton } from './InlineExpandButton';
6
- export { default as PrimaryButton } from './PrimaryButton';
7
- export { default as SecondaryButton } from './SecondaryButton';
8
- export { default as ShortcutButton } from './ShortcutButton';
9
- export { default as TaskButton } from './TaskButton';
10
- export { default as TertiaryButton } from './TertiaryButton';
1
+ export { ActionButton } from './ActionButton';
2
+ export { BackButton } from './BackButton';
3
+ export { ButtonGroup } from './ButtonGroup';
4
+ export { ExpandButton } from './ExpandButton';
5
+ export { InlineExpandButton, } from './InlineExpandButton';
6
+ export { PrimaryButton } from './PrimaryButton';
7
+ export { SecondaryButton } from './SecondaryButton';
8
+ export { ShortcutButton } from './ShortcutButton';
9
+ export { TaskButton } from './TaskButton';
10
+ export { TertiaryButton } from './TertiaryButton';
package/es/types.js ADDED
@@ -0,0 +1 @@
1
+ export {};
@@ -1,49 +1,24 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = ActionButton;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = require("prop-types");
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _BaseButton = _interopRequireDefault(require("./BaseButton"));
11
- var _excluded = ["className", "leftIcon", "rightIcon"];
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
14
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
16
- function ActionButton(props) {
17
- var className = props.className,
18
- leftIcon = props.leftIcon,
19
- rightIcon = props.rightIcon,
20
- rest = _objectWithoutProperties(props, _excluded);
21
- return /*#__PURE__*/_react.default.createElement(_BaseButton.default, _extends({
22
- buttonType: "action",
23
- className: (0, _classnames.default)(className),
24
- leftIcon: leftIcon,
25
- rightIcon: rightIcon
26
- }, rest));
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.ActionButton = void 0;
18
+ var react_1 = __importDefault(require("react"));
19
+ var BaseButton_1 = require("./BaseButton");
20
+ var fixedForwardRef_1 = require("./fixedForwardRef");
21
+ function ActionButtonWithForwardRef(props, ref) {
22
+ return react_1.default.createElement(BaseButton_1.BaseButton, __assign({}, props, { ref: ref, buttonType: "action" }));
27
23
  }
28
- ActionButton.propTypes = {
29
- /** Aria label for loading indicator */
30
- ariaLoadingMessage: _propTypes.string,
31
- /** The button label */
32
- children: _propTypes.node,
33
- /** Extra class names */
34
- className: _propTypes.string,
35
- /** Disable a button in certain situations */
36
- disabled: _propTypes.bool,
37
- /** The rendered element, like an `<a />` or `<Link />` */
38
- element: (0, _propTypes.oneOfType)([_propTypes.func, _propTypes.string, _propTypes.elementType]),
39
- /** Ref-setting function, or ref created by useRef, passed to the button element */
40
- innerRef: (0, _propTypes.oneOfType)([_propTypes.func, (0, _propTypes.shape)({
41
- current: _propTypes.object
42
- })]),
43
- /** Shows a loader if true */
44
- isLoading: _propTypes.bool,
45
- /** Icon shown to the left of the label */
46
- leftIcon: _propTypes.node,
47
- /** Icon shown to the right of the label */
48
- rightIcon: _propTypes.node
49
- };
24
+ exports.ActionButton = (0, fixedForwardRef_1.fixedForwardRef)(ActionButtonWithForwardRef);
package/lib/BackButton.js CHANGED
@@ -1,35 +1,26 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = require("prop-types");
9
- var _InlineBaseButton = _interopRequireDefault(require("./InlineBaseButton"));
10
- var _ffeIconsReact = require("@sb1/ffe-icons-react");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
- var BackButton = function BackButton(props) {
14
- var chevronLeftIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiB3aWR0aD0iMjQiPjxwYXRoIGQ9Im00MTguMTUzLTQ4MCAxNjIuOTIzIDE2Mi45MjRxOC4zMDggOC4zMDcgOC41IDIwLjg4NC4xOTMgMTIuNTc2LTguNSAyMS4yNjgtOC42OTIgOC42OTMtMjEuMDc2IDguNjkzdC0yMS4wNzYtOC42OTNMMzU5LjE1NS00NTQuNjkzcS01LjYxNi01LjYxNS03LjkyMy0xMS44NDYtMi4zMDgtNi4yMy0yLjMwOC0xMy40NjF0Mi4zMDgtMTMuNDYxcTIuMzA3LTYuMjMxIDcuOTIzLTExLjg0NmwxNzkuNzY5LTE3OS43NjlxOC4zMDctOC4zMDggMjAuODg0LTguNSAxMi41NzYtLjE5MyAyMS4yNjggOC41IDguNjkzIDguNjkyIDguNjkzIDIxLjA3NnQtOC42OTMgMjEuMDc2TDQxOC4xNTMtNDgwWiIvPjwvc3ZnPg==';
15
- return /*#__PURE__*/_react.default.createElement(_InlineBaseButton.default, _extends({
16
- buttonType: "back",
17
- leftIcon: /*#__PURE__*/_react.default.createElement(_ffeIconsReact.Icon, {
18
- fileUrl: chevronLeftIcon,
19
- size: "md"
20
- })
21
- }, props));
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
22
12
  };
23
- BackButton.propTypes = {
24
- /** The button label */
25
- children: _propTypes.node,
26
- /** Extra class names */
27
- className: _propTypes.string,
28
- /** The rendered element, like an `<a />` or `<Link />` */
29
- element: (0, _propTypes.oneOfType)([_propTypes.func, _propTypes.string, _propTypes.elementType]),
30
- /** Ref-setting function, or ref created by useRef, passed to the button element */
31
- innerRef: (0, _propTypes.oneOfType)([_propTypes.func, (0, _propTypes.shape)({
32
- current: _propTypes.object
33
- })])
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
34
15
  };
35
- var _default = exports.default = BackButton;
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.BackButton = void 0;
18
+ var react_1 = __importDefault(require("react"));
19
+ var InlineBaseButton_1 = require("./InlineBaseButton");
20
+ var ffe_icons_react_1 = require("@sb1/ffe-icons-react");
21
+ var fixedForwardRef_1 = require("./fixedForwardRef");
22
+ function BackButtonWithForwardRef(props, ref) {
23
+ var chevronLeftIcon = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgLTk2MCA5NjAgOTYwIiB3aWR0aD0iMjQiPjxwYXRoIGQ9Im00MTguMTUzLTQ4MCAxNjIuOTIzIDE2Mi45MjRxOC4zMDggOC4zMDcgOC41IDIwLjg4NC4xOTMgMTIuNTc2LTguNSAyMS4yNjgtOC42OTIgOC42OTMtMjEuMDc2IDguNjkzdC0yMS4wNzYtOC42OTNMMzU5LjE1NS00NTQuNjkzcS01LjYxNi01LjYxNS03LjkyMy0xMS44NDYtMi4zMDgtNi4yMy0yLjMwOC0xMy40NjF0Mi4zMDgtMTMuNDYxcTIuMzA3LTYuMjMxIDcuOTIzLTExLjg0NmwxNzkuNzY5LTE3OS43NjlxOC4zMDctOC4zMDggMjAuODg0LTguNSAxMi41NzYtLjE5MyAyMS4yNjggOC41IDguNjkzIDguNjkyIDguNjkzIDIxLjA3NnQtOC42OTMgMjEuMDc2TDQxOC4xNTMtNDgwWiIvPjwvc3ZnPg==';
24
+ return (react_1.default.createElement(InlineBaseButton_1.InlineBaseButton, __assign({}, props, { buttonType: "back", leftIcon: react_1.default.createElement(ffe_icons_react_1.Icon, { fileUrl: chevronLeftIcon, size: "md" }), ref: ref })));
25
+ }
26
+ exports.BackButton = (0, fixedForwardRef_1.fixedForwardRef)(BackButtonWithForwardRef);
package/lib/BaseButton.js CHANGED
@@ -1,91 +1,62 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = require("prop-types");
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _excluded = ["ariaLoadingMessage", "buttonType", "children", "className", "element", "innerRef", "isLoading", "leftIcon", "rightIcon", "onClick"];
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
14
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.BaseButton = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var fixedForwardRef_1 = require("./fixedForwardRef");
31
+ var classnames_1 = __importDefault(require("classnames"));
15
32
  /**
16
33
  * Internal component
34
+ * @ignore
17
35
  */
18
- var BaseButton = function BaseButton(props) {
19
- var _props$ariaLoadingMes = props.ariaLoadingMessage,
20
- ariaLoadingMessage = _props$ariaLoadingMes === void 0 ? 'Vennligst vent' : _props$ariaLoadingMes,
21
- buttonType = props.buttonType,
22
- children = props.children,
23
- className = props.className,
24
- _props$element = props.element,
25
- Element = _props$element === void 0 ? 'button' : _props$element,
26
- innerRef = props.innerRef,
27
- isLoading = props.isLoading,
28
- leftIcon = props.leftIcon,
29
- rightIcon = props.rightIcon,
30
- _onClick = props.onClick,
31
- rest = _objectWithoutProperties(props, _excluded);
32
- var supportsSpinner = ['action', 'primary', 'secondary'].includes(buttonType);
33
- return /*#__PURE__*/_react.default.createElement(Element, _extends({
34
- "aria-busy": isLoading && supportsSpinner,
35
- "aria-disabled": rest.disabled || isLoading && supportsSpinner,
36
- className: (0, _classnames.default)('ffe-button', "ffe-button--".concat(buttonType), {
37
- 'ffe-button--loading': isLoading && supportsSpinner
38
- }, className),
39
- ref: innerRef,
40
- onClick: function onClick(event) {
41
- if (isLoading && supportsSpinner) {
42
- event.preventDefault();
43
- event.stopPropagation();
44
- } else if (_onClick) {
45
- _onClick(event);
46
- }
47
- }
48
- }, rest), /*#__PURE__*/_react.default.createElement("span", {
49
- className: "ffe-button__label"
50
- }, leftIcon && /*#__PURE__*/_react.default.cloneElement(leftIcon, {
51
- className: 'ffe-button__icon ffe-button__icon--left',
52
- size: 'md'
53
- }), children, rightIcon && /*#__PURE__*/_react.default.cloneElement(rightIcon, {
54
- className: 'ffe-button__icon ffe-button__icon--right',
55
- size: 'md'
56
- })), supportsSpinner && isLoading && /*#__PURE__*/_react.default.createElement("span", {
57
- "aria-label": ariaLoadingMessage,
58
- role: "img",
59
- className: "ffe-button__spinner"
60
- }));
61
- };
62
- BaseButton.propTypes = {
63
- /** Aria label for loading indicator */
64
- ariaLoadingMessage: _propTypes.string,
65
- /**
66
- * Enum of supported prop types. Used internally only.
67
- * @ignore
68
- */
69
- buttonType: (0, _propTypes.oneOf)(['action', 'primary', 'secondary', 'shortcut', 'task']),
70
- /** The button label */
71
- children: _propTypes.node,
72
- /** Extra class names */
73
- className: _propTypes.string,
74
- /** Disable a button in certain situations */
75
- disabled: _propTypes.bool,
76
- /** The rendered element, like an `<a />` or `<Link />` */
77
- element: (0, _propTypes.oneOfType)([_propTypes.func, _propTypes.string, _propTypes.elementType]),
78
- /** Ref-setting function, or ref created by useRef, passed to the button element */
79
- innerRef: (0, _propTypes.oneOfType)([_propTypes.func, (0, _propTypes.shape)({
80
- current: _propTypes.object
81
- })]),
82
- /** Shows a loader if true */
83
- isLoading: _propTypes.bool,
84
- /** Icon shown to the left of the label */
85
- leftIcon: _propTypes.node,
86
- /** Icon shown to the right of the label */
87
- rightIcon: _propTypes.node,
88
- /** Called when button is clicked if not loading or disabled */
89
- onClick: _propTypes.func
90
- };
91
- var _default = exports.default = BaseButton;
36
+ function BaseButtonWithForwardRef(props, ref) {
37
+ var _a = props.as, Comp = _a === void 0 ? 'button' : _a, buttonType = props.buttonType, isLoading = props.isLoading, isDisabled = props.isDisabled, className = props.className, onClick = props.onClick, leftIcon = props.leftIcon, rightIcon = props.rightIcon, ariaLoadingMessage = props.ariaLoadingMessage, children = props.children, rest = __rest(props, ["as", "buttonType", "isLoading", "isDisabled", "className", "onClick", "leftIcon", "rightIcon", "ariaLoadingMessage", "children"]);
38
+ var supportsSpinner = ['action', 'primary', 'secondary'].includes(buttonType);
39
+ return (react_1.default.createElement(Comp, __assign({ "aria-busy": isLoading && supportsSpinner, "aria-disabled": isDisabled || (isLoading && supportsSpinner), className: (0, classnames_1.default)('ffe-button', "ffe-button--".concat(buttonType), { 'ffe-button--loading': isLoading && supportsSpinner }, className), onClick: function (event) {
40
+ if (isLoading && supportsSpinner) {
41
+ event.preventDefault();
42
+ event.stopPropagation();
43
+ }
44
+ else if (onClick) {
45
+ onClick(event);
46
+ }
47
+ } }, rest, { ref: ref }),
48
+ react_1.default.createElement("span", { className: "ffe-button__label" },
49
+ leftIcon &&
50
+ react_1.default.cloneElement(leftIcon, {
51
+ className: 'ffe-button__icon ffe-button__icon--left',
52
+ size: 'md',
53
+ }),
54
+ children,
55
+ rightIcon &&
56
+ react_1.default.cloneElement(rightIcon, {
57
+ className: 'ffe-button__icon ffe-button__icon--right',
58
+ size: 'md',
59
+ })),
60
+ supportsSpinner && isLoading && (react_1.default.createElement("span", { "aria-label": ariaLoadingMessage, role: "img", className: "ffe-button__spinner" }))));
61
+ }
62
+ exports.BaseButton = (0, fixedForwardRef_1.fixedForwardRef)(BaseButtonWithForwardRef);
@@ -1,36 +1,35 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _propTypes = require("prop-types");
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _excluded = ["className", "thin", "inline"];
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
14
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } } return target; }
15
- var ButtonGroup = function ButtonGroup(_ref) {
16
- var className = _ref.className,
17
- thin = _ref.thin,
18
- inline = _ref.inline,
19
- rest = _objectWithoutProperties(_ref, _excluded);
20
- return /*#__PURE__*/_react.default.createElement("div", _extends({
21
- className: (0, _classnames.default)('ffe-button-group', {
22
- 'ffe-button-group--thin': thin
23
- }, {
24
- 'ffe-button-group--inline': inline
25
- }, className)
26
- }, rest));
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
27
12
  };
28
- ButtonGroup.propTypes = {
29
- /** Extra class name applied in addition to the FFE classes */
30
- className: _propTypes.string,
31
- /** Applies the thin modifier to remove margins */
32
- thin: _propTypes.bool,
33
- /** Applies the inline modifier to make all child buttons inline */
34
- inline: _propTypes.bool
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
35
23
  };
36
- var _default = exports.default = ButtonGroup;
24
+ var __importDefault = (this && this.__importDefault) || function (mod) {
25
+ return (mod && mod.__esModule) ? mod : { "default": mod };
26
+ };
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.ButtonGroup = void 0;
29
+ var react_1 = __importDefault(require("react"));
30
+ var classnames_1 = __importDefault(require("classnames"));
31
+ var ButtonGroup = function (_a) {
32
+ var className = _a.className, thin = _a.thin, inline = _a.inline, rest = __rest(_a, ["className", "thin", "inline"]);
33
+ return (react_1.default.createElement("div", __assign({ "data-testid": "button-group", className: (0, classnames_1.default)('ffe-button-group', { 'ffe-button-group--thin': thin }, { 'ffe-button-group--inline': inline }, className) }, rest)));
34
+ };
35
+ exports.ButtonGroup = ButtonGroup;