@jobber/components 4.14.0 → 4.14.1-pre.3

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 (51) hide show
  1. package/dist/Autocomplete/index.js +3 -3
  2. package/dist/Banner/index.js +1 -1
  3. package/dist/Button/index.js +1 -1
  4. package/dist/Button-7698424c.js +57 -0
  5. package/dist/ButtonDismiss/index.js +2 -2
  6. package/dist/{ButtonDismiss-7d9deeab.js → ButtonDismiss-c7ee94a9.js} +1 -1
  7. package/dist/Card/index.js +3 -3
  8. package/dist/{Card-140ec4c2.js → Card-405e6575.js} +2 -2
  9. package/dist/Chips/index.js +1 -1
  10. package/dist/ConfirmationModal/index.js +4 -4
  11. package/dist/{ConfirmationModal-522a9311.js → ConfirmationModal-7835c534.js} +1 -1
  12. package/dist/DataDump/index.js +3 -3
  13. package/dist/DataTable/index.js +3 -3
  14. package/dist/DatePicker/index.js +2 -2
  15. package/dist/{DatePicker-5ead9469.js → DatePicker-98f03314.js} +1 -1
  16. package/dist/Drawer/index.js +2 -2
  17. package/dist/FeatureSwitch/index.js +1 -1
  18. package/dist/FormField/index.js +2 -2
  19. package/dist/{FormField-e2ff403a.js → FormField-53d521d5.js} +1 -1
  20. package/dist/FormatFile/index.js +5 -5
  21. package/dist/{FormatFile-01a00e98.js → FormatFile-8450a8de.js} +2 -2
  22. package/dist/Gallery/index.js +6 -6
  23. package/dist/Grid/Grid.d.ts +25 -0
  24. package/dist/Grid/GridCell/GridCell.d.ts +22 -0
  25. package/dist/Grid/GridCell/index.d.ts +1 -0
  26. package/dist/Grid/index.d.ts +1 -0
  27. package/dist/Grid/index.js +65 -0
  28. package/dist/InputAvatar/index.js +2 -2
  29. package/dist/InputDate/index.js +3 -3
  30. package/dist/InputEmail/index.js +2 -2
  31. package/dist/InputFile/index.js +2 -2
  32. package/dist/{InputFile-a7c0fbbc.js → InputFile-ee80726f.js} +1 -1
  33. package/dist/InputNumber/index.js +2 -2
  34. package/dist/InputPassword/index.js +2 -2
  35. package/dist/InputPhoneNumber/index.js +3 -3
  36. package/dist/InputText/index.js +3 -3
  37. package/dist/{InputText-ac475d1d.js → InputText-e5738583.js} +1 -1
  38. package/dist/InputTime/index.js +2 -2
  39. package/dist/LightBox/index.js +3 -3
  40. package/dist/{LightBox-e147a5bc.js → LightBox-b59ee23b.js} +2 -2
  41. package/dist/Menu/index.js +2 -2
  42. package/dist/{Menu-2528a30a.js → Menu-d2445bae.js} +1 -1
  43. package/dist/Modal/index.js +3 -3
  44. package/dist/{Modal-4a620c9f.js → Modal-29fdefc8.js} +2 -2
  45. package/dist/{Option-004ed21f.js → Option-d3ad5f17.js} +1 -1
  46. package/dist/Page/index.js +2 -2
  47. package/dist/Popover/index.js +2 -2
  48. package/dist/Select/index.js +3 -3
  49. package/dist/Toast/index.js +1 -1
  50. package/package.json +3 -3
  51. package/dist/Button-69409e46.js +0 -57
@@ -13,13 +13,13 @@ var reactPopper = require('react-popper');
13
13
  var Text = require('../Text-e7ed0974.js');
14
14
  var Icon = require('../Icon-405a216c.js');
15
15
  var Heading = require('../Heading-a1191b15.js');
16
- var InputText = require('../InputText-ac475d1d.js');
16
+ var InputText = require('../InputText-e5738583.js');
17
17
  require('../Typography-fd6f932a.js');
18
18
  require('@jobber/design');
19
- require('../FormField-e2ff403a.js');
19
+ require('../FormField-53d521d5.js');
20
20
  require('uuid');
21
21
  require('react-hook-form');
22
- require('../Button-69409e46.js');
22
+ require('../Button-7698424c.js');
23
23
  require('react-router-dom');
24
24
  require('../InputValidation-bf743417.js');
25
25
  require('framer-motion');
@@ -8,7 +8,7 @@ var jobberHooks = require('@jobber/hooks/useResizeObserver');
8
8
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
9
9
  var Icon = require('../Icon-405a216c.js');
10
10
  var Text = require('../Text-e7ed0974.js');
11
- var Button = require('../Button-69409e46.js');
11
+ var Button = require('../Button-7698424c.js');
12
12
  require('@jobber/design');
13
13
  require('../Typography-fd6f932a.js');
14
14
  require('react-router-dom');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Button = require('../Button-69409e46.js');
5
+ var Button = require('../Button-7698424c.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('react-router-dom');
@@ -0,0 +1,57 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var classnames = require('classnames');
5
+ var reactRouterDom = require('react-router-dom');
6
+ var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
7
+ var Icon = require('./Icon-405a216c.js');
8
+ var Typography = require('./Typography-fd6f932a.js');
9
+
10
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
14
+
15
+ var css_248z = ":root {\n --button--color-variation: var(--color-interactive);\n --button--color-variation--hover: var(--color-interactive--hover);\n --button--color-surface: var(--color-surface);\n --button--color-surface--hover: var(--color-surface--background);\n --button--color-primaryLabel: var(--color-white);\n\n --button--duration-loading: var(--timing-loading--extended);\n}\n\n.U9VsquOtk2I- {\n display: -ms-inline-flexbox;\n display: inline-flex;\n min-height: calc(16px * 2.25);\n min-height: calc(var(--base-unit) * 2.25);\n box-sizing: border-box;\n margin: 0;\n border: calc(16px / 16) solid rgb(125, 176, 14);\n border: var(--border-base) solid var(--button--color-variation);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n color: rgb(125, 176, 14);\n color: var(--button--color-variation);\n -webkit-font-smoothing: antialiased;\n letter-spacing: calc(16px / 40);\n letter-spacing: var(--typography--letterSpacing-loose);\n text-align: center;\n -webkit-text-decoration: none;\n text-decoration: none;\n vertical-align: middle;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n cursor: pointer;\n transition: all 200ms;\n transition: all var(--timing-base);\n -webkit-appearance: none;\n appearance: none;\n fill: rgb(125, 176, 14);\n fill: var(--button--color-variation);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.U9VsquOtk2I- * {\n fill: inherit !important;\n}\n\n.U9VsquOtk2I- * {\n color: inherit;\n /* required to over-ride very specific fill from <Icon> */\n}\n\n.U9VsquOtk2I-:hover,\na.U9VsquOtk2I-:hover,\n.U9VsquOtk2I-:focus,\na.U9VsquOtk2I-:focus,\n.U9VsquOtk2I-:active,\na.U9VsquOtk2I-:active {\n border-color: rgb(81, 114, 9);\n border-color: var(--button--color-variation--hover);\n color: rgb(81, 114, 9);\n color: var(--button--color-variation--hover);\n fill: rgb(81, 114, 9);\n fill: var(--button--color-variation--hover);\n background-color: rgb(244, 244, 244);\n background-color: var(--button--color-surface--hover);\n}\n\n.U9VsquOtk2I-:focus,\na.U9VsquOtk2I-:focus,\n.U9VsquOtk2I-:active,\na.U9VsquOtk2I-:active {\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n/* Variation */\n\n.qkFQwI0PKfw- {\n --button--color-variation: var(--color-interactive);\n --button--color-variation--hover: var(--color-interactive--hover);\n}\n\n.jsKQEOBdJ0k- {\n --button--color-variation: var(--color-informative);\n --button--color-variation--hover: var(--color-informative--onSurface);\n}\n\n._4W8X0dxZDK4- {\n --button--color-variation: var(--color-destructive);\n --button--color-variation--hover: var(--color-destructive--hover);\n}\n\n/* Subtle is special because, by default, it's styled as a secondary button */\n\n.vDKO-cmh8vY- {\n --button--color-variation: var(--color-interactive--subtle);\n --button--color-variation--hover: var(--color-interactive--subtle--hover);\n}\n\n/* Type */\n\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-),\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):hover,\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):focus {\n color: rgba(255, 255, 255, 1);\n color: var(--button--color-primaryLabel);\n background-color: rgb(125, 176, 14);\n background-color: var(--button--color-variation);\n fill: rgba(255, 255, 255, 1);\n fill: var(--button--color-primaryLabel);\n}\n\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):hover,\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):focus {\n background-color: rgb(81, 114, 9);\n background-color: var(--button--color-variation--hover);\n}\n\n.vDKO-cmh8vY-.FXqN12jWtPo- {\n color: rgb(125, 176, 14);\n color: var(--button--color-variation);\n fill: rgb(125, 176, 14);\n fill: var(--button--color-variation);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n}\n\n.pf6G840lKdA-,\n.vDKO-cmh8vY-.FXqN12jWtPo- {\n border-color: rgb(125, 176, 14);\n border-color: var(--button--color-variation);\n}\n\n.vDKO-cmh8vY-.FXqN12jWtPo-:hover,\n.vDKO-cmh8vY-.FXqN12jWtPo-:focus {\n color: rgb(81, 114, 9);\n color: var(--button--color-variation--hover);\n background-color: rgb(244, 244, 244);\n background-color: var(--button--color-surface--hover);\n fill: rgb(81, 114, 9);\n fill: var(--button--color-variation--hover);\n}\n\n.vDKO-cmh8vY-.pf6G840lKdA- {\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n}\n\n.m7DbwRZWcNk-,\n.vDKO-cmh8vY-.pf6G840lKdA- {\n border-color: transparent;\n}\n\n.vDKO-cmh8vY-.pf6G840lKdA-:hover,\n.vDKO-cmh8vY-.pf6G840lKdA-:focus {\n background-color: rgb(244, 244, 244);\n background-color: var(--button--color-surface--hover);\n}\n\n.m7DbwRZWcNk-:hover,\n.m7DbwRZWcNk-:focus,\na.m7DbwRZWcNk-:hover,\na.m7DbwRZWcNk-:focus,\n.vDKO-cmh8vY-.pf6G840lKdA-:hover,\n.vDKO-cmh8vY-.pf6G840lKdA-:focus,\na.vDKO-cmh8vY-.pf6G840lKdA-:hover,\na.vDKO-cmh8vY-.pf6G840lKdA-:focus {\n border-color: transparent;\n}\n\n.vDKO-cmh8vY-.m7DbwRZWcNk- {\n border-color: transparent;\n background-color: transparent;\n}\n\n.vDKO-cmh8vY-.m7DbwRZWcNk-:hover,\n.vDKO-cmh8vY-.m7DbwRZWcNk-:focus,\na.vDKO-cmh8vY-.m7DbwRZWcNk-:hover,\na.vDKO-cmh8vY-.m7DbwRZWcNk-:focus {\n border-color: transparent;\n color: rgb(66, 78, 86);\n color: var(--color-interactive--subtle--hover);\n fill: rgb(66, 78, 86);\n fill: var(--color-interactive--subtle--hover);\n}\n\n/* Disabled */\n\n.U9VsquOtk2I-.bg-l22drjd0-,\na.U9VsquOtk2I-.bg-l22drjd0-,\n.U9VsquOtk2I-.bg-l22drjd0-:hover,\na.U9VsquOtk2I-.bg-l22drjd0-:hover {\n border-color: rgb(225, 225, 225);\n border-color: var(--color-disabled--secondary);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n fill: rgb(181, 181, 181);\n fill: var(--color-disabled);\n pointer-events: none;\n cursor: not-allowed;\n}\n\n/* Sizes */\n\n.STSDgSRREx4- {\n min-height: calc(16px * 1.5);\n min-height: calc(var(--base-unit) * 1.5);\n padding: 0 calc(16px / 2);\n padding: 0 var(--space-small);\n letter-spacing: 0;\n}\n\n.amIh7vPETfo- {\n min-height: calc(16px * 2.25);\n min-height: calc(var(--base-unit) * 2.25);\n padding: 0 calc((16px * 1) - 4px);\n padding: 0 calc(calc(16px * 1) - 4px);\n padding: 0 calc(var(--space-base) - 4px);\n}\n\n.ON6ezOojFVo- {\n min-height: calc(16px * 3);\n min-height: calc(var(--base-unit) * 3);\n padding: 0 calc(16px * 1);\n padding: 0 var(--space-base);\n}\n\n/* Icon */\n\n.Qq-idRLJTCk- {\n width: calc(16px * 2.25);\n width: calc(var(--base-unit) * 2.25);\n padding: 0;\n}\n\n.Qq-idRLJTCk-.STSDgSRREx4- {\n width: calc((16px / 2) * 3);\n width: calc(calc(16px / 2) * 3);\n width: calc(var(--space-small) * 3);\n}\n\n.Qq-idRLJTCk-.amIh7vPETfo- {\n width: calc((16px * 1) * 2.25);\n width: calc(calc(16px * 1) * 2.25);\n width: calc(var(--space-base) * 2.25);\n}\n\n.Qq-idRLJTCk-.ON6ezOojFVo- {\n width: calc((16px * 1.5) * 2);\n width: calc(calc(16px * 1.5) * 2);\n width: calc(var(--space-large) * 2);\n}\n\n.EWh1gvgPJQg- {\n width: auto;\n}\n\n.EWh1gvgPJQg- > * {\n text-align: left;\n}\n\n.EWh1gvgPJQg- > *:first-child {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.pfzTUMgNb3o- > *:first-child {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n margin-right: 0;\n -ms-flex-order: 1;\n order: 1;\n}\n\n.ZCHqCEyLBw0- {\n width: 100%;\n}\n\n.VVFKEv1ksMA- {\n background-image: linear-gradient(\n 135deg,\n rgba(0, 0, 0, 0.1) 0%,\n rgba(0, 0, 0, 0.1) 25%,\n transparent 25%,\n transparent 50%,\n rgba(0, 0, 0, 0.1) 50%,\n rgba(0, 0, 0, 0.1) 75%,\n transparent 75%,\n transparent 100%\n );\n background-size: calc(16px * 2) calc(16px * 2);\n background-size: var(--space-larger) var(--space-larger);\n pointer-events: none;\n cursor: not-allowed;\n -webkit-animation-duration: 2000ms;\n -webkit-animation-duration: var(--button--duration-loading);\n animation-duration: 2000ms;\n animation-duration: var(--button--duration-loading);\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n -webkit-animation-name: a8Q-0lnKH5M-;\n animation-name: a8Q-0lnKH5M-;\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n}\n\n.FXqN12jWtPo-.VVFKEv1ksMA-:not(.vDKO-cmh8vY-) {\n background-image: linear-gradient(\n 135deg,\n rgba(255, 255, 255, 0.25) 0%,\n rgba(255, 255, 255, 0.25) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.25) 50%,\n rgba(255, 255, 255, 0.25) 75%,\n transparent 75%,\n transparent 100%\n );\n}\n\n@-webkit-keyframes a8Q-0lnKH5M- {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: calc(16px * 2) calc(16px * 2);\n background-position: var(--space-larger) var(--space-larger);\n }\n}\n\n@keyframes a8Q-0lnKH5M- {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: calc(16px * 2) calc(16px * 2);\n background-position: var(--space-larger) var(--space-larger);\n }\n}\n";
16
+ var styles = {"button":"U9VsquOtk2I-","work":"qkFQwI0PKfw-","learning":"jsKQEOBdJ0k-","destructive":"_4W8X0dxZDK4-","subtle":"vDKO-cmh8vY-","primary":"FXqN12jWtPo-","disabled":"bg-l22drjd0-","secondary":"pf6G840lKdA-","tertiary":"m7DbwRZWcNk-","small":"STSDgSRREx4-","base":"amIh7vPETfo-","large":"ON6ezOojFVo-","onlyIcon":"Qq-idRLJTCk-","hasIconAndLabel":"EWh1gvgPJQg-","iconOnRight":"pfzTUMgNb3o-","fullWidth":"ZCHqCEyLBw0-","loading":"VVFKEv1ksMA-","animateStripes":"a8Q-0lnKH5M-"};
17
+ styleInject_es.styleInject(css_248z);
18
+
19
+ function Button(props) {
20
+ const { ariaControls, ariaHaspopup, ariaExpanded, ariaLabel, disabled = false, external, fullWidth, icon, label, iconOnRight, id, loading, onClick, onMouseDown, size = "base", type = "primary", url, to, variation = "work", submit, } = props;
21
+ const buttonClassNames = classnames__default["default"](styles.button, styles[size], {
22
+ [styles.onlyIcon]: icon && !label,
23
+ [styles.hasIconAndLabel]: icon && label,
24
+ [styles.iconOnRight]: iconOnRight,
25
+ [styles[variation]]: variation,
26
+ [styles[type]]: type,
27
+ [styles.disabled]: disabled,
28
+ [styles.fullWidth]: fullWidth,
29
+ [styles.loading]: loading,
30
+ });
31
+ const buttonType = submit ? "submit" : "button";
32
+ const tagProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ className: buttonClassNames, disabled,
33
+ id }, (!disabled && { href: url })), (!disabled && { onClick: onClick })), (!disabled && { onMouseDown: onMouseDown })), (external && { target: "_blank" })), (url === undefined && to === undefined && { type: buttonType })), { "aria-controls": ariaControls, "aria-haspopup": ariaHaspopup, "aria-expanded": ariaExpanded, "aria-label": ariaLabel });
34
+ const buttonInternals = React__default["default"].createElement(ButtonInternals, Object.assign({}, props));
35
+ if (to) {
36
+ return (React__default["default"].createElement(reactRouterDom.Link, Object.assign({}, tagProps, { to: to }), buttonInternals));
37
+ }
38
+ const Tag = url ? "a" : "button";
39
+ return React__default["default"].createElement(Tag, Object.assign({}, tagProps), buttonInternals);
40
+ }
41
+ function ButtonInternals({ label, icon, size = "base" }) {
42
+ return (React__default["default"].createElement(React__default["default"].Fragment, null,
43
+ icon && React__default["default"].createElement(Icon.Icon, { name: icon, size: size }),
44
+ React__default["default"].createElement(Typography.Typography, { element: "span", fontWeight: "extraBold", fontFamily: "base", size: getTypeSizes(size) }, label)));
45
+ }
46
+ function getTypeSizes(size) {
47
+ switch (size) {
48
+ case "small":
49
+ return "small";
50
+ case "large":
51
+ return "large";
52
+ default:
53
+ return "base";
54
+ }
55
+ }
56
+
57
+ exports.Button = Button;
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var ButtonDismiss = require('../ButtonDismiss-7d9deeab.js');
5
+ var ButtonDismiss = require('../ButtonDismiss-c7ee94a9.js');
6
6
  require('react');
7
- require('../Button-69409e46.js');
7
+ require('../Button-7698424c.js');
8
8
  require('classnames');
9
9
  require('react-router-dom');
10
10
  require('../style-inject.es-9d2f5f4e.js');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var Button = require('./Button-69409e46.js');
4
+ var Button = require('./Button-7698424c.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -2,17 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Card = require('../Card-140ec4c2.js');
5
+ var Card = require('../Card-405e6575.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('../style-inject.es-9d2f5f4e.js');
9
9
  require('../Heading-a1191b15.js');
10
10
  require('../Typography-fd6f932a.js');
11
- require('../Button-69409e46.js');
11
+ require('../Button-7698424c.js');
12
12
  require('react-router-dom');
13
13
  require('../Icon-405a216c.js');
14
14
  require('@jobber/design');
15
- require('../Menu-2528a30a.js');
15
+ require('../Menu-d2445bae.js');
16
16
  require('uuid');
17
17
  require('framer-motion');
18
18
  require('@jobber/hooks/useOnKeyDown');
@@ -4,8 +4,8 @@ var React = require('react');
4
4
  var classnames = require('classnames');
5
5
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
6
6
  var Heading = require('./Heading-a1191b15.js');
7
- var Button = require('./Button-69409e46.js');
8
- var Menu = require('./Menu-2528a30a.js');
7
+ var Button = require('./Button-7698424c.js');
8
+ var Menu = require('./Menu-d2445bae.js');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
11
 
@@ -15,7 +15,7 @@ var lodash = require('lodash');
15
15
  var useLiveAnnounce = require('@jobber/hooks/useLiveAnnounce');
16
16
  var reactPopper = require('react-popper');
17
17
  var Text = require('../Text-e7ed0974.js');
18
- var Button = require('../Button-69409e46.js');
18
+ var Button = require('../Button-7698424c.js');
19
19
  var Spinner = require('../Spinner-9d8fc7ff.js');
20
20
  require('@jobber/design');
21
21
  require('color');
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var ConfirmationModal = require('../ConfirmationModal-522a9311.js');
5
+ var ConfirmationModal = require('../ConfirmationModal-7835c534.js');
6
6
  require('react');
7
7
  require('@jobber/hooks/useOnKeyDown');
8
- require('../Modal-4a620c9f.js');
8
+ require('../Modal-29fdefc8.js');
9
9
  require('react-dom');
10
10
  require('classnames');
11
11
  require('framer-motion');
@@ -14,11 +14,11 @@ require('@jobber/hooks/useFocusTrap');
14
14
  require('../style-inject.es-9d2f5f4e.js');
15
15
  require('../Heading-a1191b15.js');
16
16
  require('../Typography-fd6f932a.js');
17
- require('../Button-69409e46.js');
17
+ require('../Button-7698424c.js');
18
18
  require('react-router-dom');
19
19
  require('../Icon-405a216c.js');
20
20
  require('@jobber/design');
21
- require('../ButtonDismiss-7d9deeab.js');
21
+ require('../ButtonDismiss-c7ee94a9.js');
22
22
  require('../Content-a6590328.js');
23
23
  require('../Markdown-53a0bfda.js');
24
24
  require('react-markdown');
@@ -2,7 +2,7 @@
2
2
 
3
3
  var React = require('react');
4
4
  var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
5
- var Modal = require('./Modal-4a620c9f.js');
5
+ var Modal = require('./Modal-29fdefc8.js');
6
6
  var Content = require('./Content-a6590328.js');
7
7
  var Markdown = require('./Markdown-53a0bfda.js');
8
8
 
@@ -3,18 +3,18 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var Card = require('../Card-140ec4c2.js');
6
+ var Card = require('../Card-405e6575.js');
7
7
  var Content = require('../Content-a6590328.js');
8
8
  var Emphasis = require('../Emphasis-76a10790.js');
9
9
  require('classnames');
10
10
  require('../style-inject.es-9d2f5f4e.js');
11
11
  require('../Heading-a1191b15.js');
12
12
  require('../Typography-fd6f932a.js');
13
- require('../Button-69409e46.js');
13
+ require('../Button-7698424c.js');
14
14
  require('react-router-dom');
15
15
  require('../Icon-405a216c.js');
16
16
  require('@jobber/design');
17
- require('../Menu-2528a30a.js');
17
+ require('../Menu-d2445bae.js');
18
18
  require('uuid');
19
19
  require('framer-motion');
20
20
  require('@jobber/hooks/useOnKeyDown');
@@ -8,10 +8,10 @@ var React = require('react');
8
8
  var jobberHooks = require('@jobber/hooks/useResizeObserver');
9
9
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
10
10
  var tslib_es6 = require('../tslib.es6-5b8768b7.js');
11
- var Option = require('../Option-004ed21f.js');
12
- var Button = require('../Button-69409e46.js');
11
+ var Option = require('../Option-d3ad5f17.js');
12
+ var Button = require('../Button-7698424c.js');
13
13
  var Text = require('../Text-e7ed0974.js');
14
- require('../FormField-e2ff403a.js');
14
+ require('../FormField-53d521d5.js');
15
15
  require('uuid');
16
16
  require('react-hook-form');
17
17
  require('../Icon-405a216c.js');
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var DatePicker = require('../DatePicker-5ead9469.js');
5
+ var DatePicker = require('../DatePicker-98f03314.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('react-datepicker');
9
9
  require('@jobber/hooks/useRefocusOnActivator');
10
10
  require('../style-inject.es-9d2f5f4e.js');
11
11
  require('../Typography-fd6f932a.js');
12
- require('../Button-69409e46.js');
12
+ require('../Button-7698424c.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
@@ -6,7 +6,7 @@ var ReactDatePicker = require('react-datepicker');
6
6
  var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
7
7
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
8
8
  var Typography = require('./Typography-fd6f932a.js');
9
- var Button = require('./Button-69409e46.js');
9
+ var Button = require('./Button-7698424c.js');
10
10
  var lodash = require('lodash');
11
11
 
12
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -6,9 +6,9 @@ var React = require('react');
6
6
  var classnames = require('classnames');
7
7
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
8
  var Heading = require('../Heading-a1191b15.js');
9
- var ButtonDismiss = require('../ButtonDismiss-7d9deeab.js');
9
+ var ButtonDismiss = require('../ButtonDismiss-c7ee94a9.js');
10
10
  require('../Typography-fd6f932a.js');
11
- require('../Button-69409e46.js');
11
+ require('../Button-7698424c.js');
12
12
  require('react-router-dom');
13
13
  require('../Icon-405a216c.js');
14
14
  require('@jobber/design');
@@ -10,7 +10,7 @@ var Heading = require('../Heading-a1191b15.js');
10
10
  var Text = require('../Text-e7ed0974.js');
11
11
  var Content = require('../Content-a6590328.js');
12
12
  var Switch = require('../Switch-e75145cc.js');
13
- var Button = require('../Button-69409e46.js');
13
+ var Button = require('../Button-7698424c.js');
14
14
  var Emphasis = require('../Emphasis-76a10790.js');
15
15
  var Markdown = require('../Markdown-53a0bfda.js');
16
16
  require('../Typography-fd6f932a.js');
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FormField = require('../FormField-e2ff403a.js');
5
+ var FormField = require('../FormField-53d521d5.js');
6
6
  require('../tslib.es6-5b8768b7.js');
7
7
  require('react');
8
8
  require('uuid');
9
9
  require('react-hook-form');
10
10
  require('../style-inject.es-9d2f5f4e.js');
11
11
  require('classnames');
12
- require('../Button-69409e46.js');
12
+ require('../Button-7698424c.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
@@ -6,7 +6,7 @@ var uuid = require('uuid');
6
6
  var reactHookForm = require('react-hook-form');
7
7
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
8
8
  var classnames = require('classnames');
9
- var Button = require('./Button-69409e46.js');
9
+ var Button = require('./Button-7698424c.js');
10
10
  var Icon = require('./Icon-405a216c.js');
11
11
  var Text = require('./Text-e7ed0974.js');
12
12
  var InputValidation = require('./InputValidation-bf743417.js');
@@ -2,25 +2,25 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var FormatFile = require('../FormatFile-01a00e98.js');
5
+ var FormatFile = require('../FormatFile-8450a8de.js');
6
6
  require('react');
7
7
  require('classnames');
8
8
  require('filesize');
9
9
  require('../style-inject.es-9d2f5f4e.js');
10
- require('../Button-69409e46.js');
10
+ require('../Button-7698424c.js');
11
11
  require('react-router-dom');
12
12
  require('../Icon-405a216c.js');
13
13
  require('@jobber/design');
14
14
  require('../Typography-fd6f932a.js');
15
- require('../ConfirmationModal-522a9311.js');
15
+ require('../ConfirmationModal-7835c534.js');
16
16
  require('@jobber/hooks/useOnKeyDown');
17
- require('../Modal-4a620c9f.js');
17
+ require('../Modal-29fdefc8.js');
18
18
  require('react-dom');
19
19
  require('framer-motion');
20
20
  require('@jobber/hooks/useRefocusOnActivator');
21
21
  require('@jobber/hooks/useFocusTrap');
22
22
  require('../Heading-a1191b15.js');
23
- require('../ButtonDismiss-7d9deeab.js');
23
+ require('../ButtonDismiss-c7ee94a9.js');
24
24
  require('../Content-a6590328.js');
25
25
  require('../Markdown-53a0bfda.js');
26
26
  require('react-markdown');
@@ -4,8 +4,8 @@ var React = require('react');
4
4
  var classnames = require('classnames');
5
5
  var getHumanReadableFileSize = require('filesize');
6
6
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
7
- var Button = require('./Button-69409e46.js');
8
- var ConfirmationModal = require('./ConfirmationModal-522a9311.js');
7
+ var Button = require('./Button-7698424c.js');
8
+ var ConfirmationModal = require('./ConfirmationModal-7835c534.js');
9
9
  var Glimmer = require('./Glimmer-f670c24e.js');
10
10
  var Icon = require('./Icon-405a216c.js');
11
11
  var Typography = require('./Typography-fd6f932a.js');
@@ -5,19 +5,19 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var classnames = require('classnames');
7
7
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
- var LightBox = require('../LightBox-e147a5bc.js');
9
- var FormatFile = require('../FormatFile-01a00e98.js');
10
- var Button = require('../Button-69409e46.js');
8
+ var LightBox = require('../LightBox-b59ee23b.js');
9
+ var FormatFile = require('../FormatFile-8450a8de.js');
10
+ var Button = require('../Button-7698424c.js');
11
11
  require('framer-motion');
12
12
  require('react-dom');
13
13
  require('lodash/debounce');
14
14
  require('@jobber/hooks/useRefocusOnActivator');
15
15
  require('@jobber/hooks/useOnKeyDown');
16
16
  require('@jobber/hooks/useFocusTrap');
17
- require('../ButtonDismiss-7d9deeab.js');
17
+ require('../ButtonDismiss-c7ee94a9.js');
18
18
  require('filesize');
19
- require('../ConfirmationModal-522a9311.js');
20
- require('../Modal-4a620c9f.js');
19
+ require('../ConfirmationModal-7835c534.js');
20
+ require('../Modal-29fdefc8.js');
21
21
  require('../Heading-a1191b15.js');
22
22
  require('../Typography-fd6f932a.js');
23
23
  require('../Content-a6590328.js');
@@ -0,0 +1,25 @@
1
+ import { ReactElement } from "react";
2
+ import { GridCell, GridCellProps } from "./GridCell";
3
+ import alignments from "./GridAlign.css";
4
+ interface GridProps {
5
+ /**
6
+ * Add spacing between elements.
7
+ */
8
+ readonly gap?: boolean;
9
+ /**
10
+ * Adjust the alignment of columns. We only support a few select properties
11
+ * from `align-items` due to the nature of the other properties acting the
12
+ * same. Read more about [align-items](https://developer.mozilla.org/en-US/docs/Web/CSS/align-items) property values.
13
+ */
14
+ readonly alignItems?: keyof typeof alignments;
15
+ /**
16
+ * Array of `Grid.Cell` children
17
+ */
18
+ readonly children: Array<ReactElement<GridCellProps>>;
19
+ }
20
+ export declare const GRID_TEST_ID = "ATL-Grid";
21
+ export declare function Grid({ alignItems, gap, children, }: GridProps): JSX.Element;
22
+ export declare namespace Grid {
23
+ var Cell: typeof GridCell;
24
+ }
25
+ export {};
@@ -0,0 +1,22 @@
1
+ import { PropsWithChildren } from "react";
2
+ /**
3
+ * Breakpoints that we support
4
+ */
5
+ declare const breakpoints: readonly ["xs", "sm", "md", "lg", "xl"];
6
+ /**
7
+ * Grab the type from breakpoints const
8
+ */
9
+ type ValuesOf<T extends readonly unknown[]> = T[number];
10
+ type Breakpoints = ValuesOf<typeof breakpoints>;
11
+ type ColumnSizes = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
12
+ export interface GridCellProps {
13
+ /**
14
+ * Set how many columns wide the cell is in the grid
15
+ */
16
+ readonly size: {
17
+ [Breakpoint in Breakpoints]?: ColumnSizes;
18
+ };
19
+ }
20
+ export declare const GRID_CELL_TEST_ID = "ATL-Grid-GridCell";
21
+ export declare function GridCell({ size, children }: PropsWithChildren<GridCellProps>): JSX.Element;
22
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./GridCell";
@@ -0,0 +1 @@
1
+ export * from "./Grid";
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var classnames = require('classnames');
7
+ var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
+
9
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
12
+ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
13
+
14
+ var css_248z$2 = "._3ktwlV3aNFk- {\n grid-column: initial;\n grid-column-end: span var(--gridCell--size-xs);\n}@media (min-width:490px) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-sm);\n}\n }@media (--small-screens-and-up) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-sm);\n}\n }@media (min-width: 640px) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-md);\n}\n }@media (--medium-screens) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-md);\n}\n }@media (min-width:1440px) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-lg);\n}\n }@media (--large-screens-and-up) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-lg);\n}\n }@media (min-width:1680px) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-xl);\n}\n }@media (--extra-large-screens-and-up) {._3ktwlV3aNFk- {\n grid-column-end: span var(--gridCell--size-xl);\n}\n }\n";
15
+ var styles$1 = {"gridCell":"_3ktwlV3aNFk-"};
16
+ styleInject_es.styleInject(css_248z$2);
17
+
18
+ /**
19
+ * Breakpoints that we support
20
+ */
21
+ const breakpoints = ["xs", "sm", "md", "lg", "xl"];
22
+ const MAX_COLUMNS = 12;
23
+ const GRID_CELL_TEST_ID = "ATL-Grid-GridCell";
24
+ function GridCell({ size, children }) {
25
+ /**
26
+ * Build CSS variables for column sizes for all possible breakpoints to size
27
+ * the column
28
+ */
29
+ const cssSizeVariables = breakpoints.reduce(getSizeCSSVariables(size), {});
30
+ return (React__default["default"].createElement("div", { "data-testid": GRID_CELL_TEST_ID, className: styles$1.gridCell, style: cssSizeVariables }, children));
31
+ }
32
+ function getSizeCSSVariables(size) {
33
+ return (breakpointsObj, currentSize) => {
34
+ let columnSize = size[currentSize];
35
+ // If a column size isn't provided in the size prop, use the previous
36
+ // breakpoint's value
37
+ if (!columnSize) {
38
+ const existingValues = Object.values(breakpointsObj);
39
+ const lastKnownValue = existingValues[existingValues.length - 1];
40
+ columnSize = lastKnownValue || MAX_COLUMNS;
41
+ }
42
+ breakpointsObj[`--gridCell--size-${currentSize}`] = columnSize;
43
+ return breakpointsObj;
44
+ };
45
+ }
46
+
47
+ var css_248z$1 = ".NqFGJV-UF3Q- {\n display: grid;\n grid-template-columns: repeat(12, minmax(0, 1fr));\n}\n\n.IZLiiSquUTM- {\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n@media (min-width:768px) {\n .IZLiiSquUTM- {\n gap: calc(16px * 1);\n gap: var(--space-base);\n }\n}\n\n@media (--medium-screens-and-up) {\n .IZLiiSquUTM- {\n gap: calc(16px * 1);\n gap: var(--space-base);\n }\n}\n";
48
+ var styles = {"grid":"NqFGJV-UF3Q-","gap":"IZLiiSquUTM-"};
49
+ styleInject_es.styleInject(css_248z$1);
50
+
51
+ var css_248z = "._8XlrWg3FV-Q- {\n -ms-flex-align: center;\n align-items: center;\n}\n\n.uKzqJPlYxJs- {\n -ms-flex-align: start;\n align-items: start;\n}\n\n.CSBjeFlj2xQ- {\n -ms-flex-align: end;\n align-items: end;\n}\n\n.BYyFdzONXyk- {\n -ms-flex-align: stretch;\n align-items: stretch;\n}\n";
52
+ var alignments = {"center":"_8XlrWg3FV-Q-","start":"uKzqJPlYxJs-","end":"CSBjeFlj2xQ-","stretch":"BYyFdzONXyk-"};
53
+ styleInject_es.styleInject(css_248z);
54
+
55
+ const GRID_TEST_ID = "ATL-Grid";
56
+ function Grid({ alignItems = "start", gap = true, children, }) {
57
+ const classnames = classnames__default["default"](styles.grid, alignments[alignItems], {
58
+ [styles.gap]: gap,
59
+ });
60
+ return (React__default["default"].createElement("div", { "data-testid": GRID_TEST_ID, className: classnames }, children));
61
+ }
62
+ Grid.Cell = GridCell;
63
+
64
+ exports.GRID_TEST_ID = GRID_TEST_ID;
65
+ exports.Grid = Grid;
@@ -6,9 +6,9 @@ var tslib_es6 = require('../tslib.es6-5b8768b7.js');
6
6
  var React = require('react');
7
7
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
8
  var Avatar = require('../Avatar-1aa30ee1.js');
9
- var InputFile = require('../InputFile-a7c0fbbc.js');
9
+ var InputFile = require('../InputFile-ee80726f.js');
10
10
  var ProgressBar = require('../ProgressBar-5dfc1885.js');
11
- var Button = require('../Button-69409e46.js');
11
+ var Button = require('../Button-7698424c.js');
12
12
  require('classnames');
13
13
  require('color');
14
14
  require('../Icon-405a216c.js');
@@ -4,14 +4,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var lodash = require('lodash');
6
6
  var React = require('react');
7
- var FormField = require('../FormField-e2ff403a.js');
8
- var DatePicker = require('../DatePicker-5ead9469.js');
7
+ var FormField = require('../FormField-53d521d5.js');
8
+ var DatePicker = require('../DatePicker-98f03314.js');
9
9
  require('../tslib.es6-5b8768b7.js');
10
10
  require('uuid');
11
11
  require('react-hook-form');
12
12
  require('../style-inject.es-9d2f5f4e.js');
13
13
  require('classnames');
14
- require('../Button-69409e46.js');
14
+ require('../Button-7698424c.js');
15
15
  require('react-router-dom');
16
16
  require('../Icon-405a216c.js');
17
17
  require('@jobber/design');
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-e2ff403a.js');
6
+ var FormField = require('../FormField-53d521d5.js');
7
7
  require('../tslib.es6-5b8768b7.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
10
10
  require('../style-inject.es-9d2f5f4e.js');
11
11
  require('classnames');
12
- require('../Button-69409e46.js');
12
+ require('../Button-7698424c.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InputFile = require('../InputFile-a7c0fbbc.js');
5
+ var InputFile = require('../InputFile-ee80726f.js');
6
6
  require('../tslib.es6-5b8768b7.js');
7
7
  require('react');
8
8
  require('classnames');
@@ -10,7 +10,7 @@ require('react-dropzone');
10
10
  require('axios');
11
11
  require('uuid');
12
12
  require('../style-inject.es-9d2f5f4e.js');
13
- require('../Button-69409e46.js');
13
+ require('../Button-7698424c.js');
14
14
  require('react-router-dom');
15
15
  require('../Icon-405a216c.js');
16
16
  require('@jobber/design');
@@ -7,7 +7,7 @@ var reactDropzone = require('react-dropzone');
7
7
  var axios = require('axios');
8
8
  var uuid = require('uuid');
9
9
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
10
- var Button = require('./Button-69409e46.js');
10
+ var Button = require('./Button-7698424c.js');
11
11
  var Content = require('./Content-a6590328.js');
12
12
  var Typography = require('./Typography-fd6f932a.js');
13
13
 
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-e2ff403a.js');
6
+ var FormField = require('../FormField-53d521d5.js');
7
7
  require('../tslib.es6-5b8768b7.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
10
10
  require('../style-inject.es-9d2f5f4e.js');
11
11
  require('classnames');
12
- require('../Button-69409e46.js');
12
+ require('../Button-7698424c.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var FormField = require('../FormField-e2ff403a.js');
6
+ var FormField = require('../FormField-53d521d5.js');
7
7
  require('../tslib.es6-5b8768b7.js');
8
8
  require('uuid');
9
9
  require('react-hook-form');
10
10
  require('../style-inject.es-9d2f5f4e.js');
11
11
  require('classnames');
12
- require('../Button-69409e46.js');
12
+ require('../Button-7698424c.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
@@ -5,11 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var tslib_es6 = require('../tslib.es6-5b8768b7.js');
6
6
  var React = require('react');
7
7
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
- var FormField = require('../FormField-e2ff403a.js');
8
+ var FormField = require('../FormField-53d521d5.js');
9
9
  require('uuid');
10
10
  require('react-hook-form');
11
11
  require('classnames');
12
- require('../Button-69409e46.js');
12
+ require('../Button-7698424c.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
@@ -99,7 +99,7 @@ function InputPhoneNumber(_a) {
99
99
  // Remove special characters from pattern
100
100
  const cleanValue = value.replace(new RegExp(`[${specialCharacters}]`, "g"), "");
101
101
  const cleanValueRequiredLength = (pattern.match(/\*/g) || []).length;
102
- if (cleanValue.length < cleanValueRequiredLength) {
102
+ if (cleanValue.length > 0 && cleanValue.length < cleanValueRequiredLength) {
103
103
  return `${errorSubject} must contain ${cleanValueRequiredLength} or more digits`;
104
104
  }
105
105
  if (typeof (validations === null || validations === void 0 ? void 0 : validations.validate) === "function") {
@@ -2,15 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var InputText = require('../InputText-ac475d1d.js');
5
+ var InputText = require('../InputText-e5738583.js');
6
6
  require('react');
7
- require('../FormField-e2ff403a.js');
7
+ require('../FormField-53d521d5.js');
8
8
  require('../tslib.es6-5b8768b7.js');
9
9
  require('uuid');
10
10
  require('react-hook-form');
11
11
  require('../style-inject.es-9d2f5f4e.js');
12
12
  require('classnames');
13
- require('../Button-69409e46.js');
13
+ require('../Button-7698424c.js');
14
14
  require('react-router-dom');
15
15
  require('../Icon-405a216c.js');
16
16
  require('@jobber/design');
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var FormField = require('./FormField-e2ff403a.js');
4
+ var FormField = require('./FormField-53d521d5.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -6,12 +6,12 @@ var tslib_es6 = require('../tslib.es6-5b8768b7.js');
6
6
  var React = require('react');
7
7
  var debounce = require('lodash/debounce');
8
8
  var temporal = require('@std-proposal/temporal');
9
- var FormField = require('../FormField-e2ff403a.js');
9
+ var FormField = require('../FormField-53d521d5.js');
10
10
  require('uuid');
11
11
  require('react-hook-form');
12
12
  require('../style-inject.es-9d2f5f4e.js');
13
13
  require('classnames');
14
- require('../Button-69409e46.js');
14
+ require('../Button-7698424c.js');
15
15
  require('react-router-dom');
16
16
  require('../Icon-405a216c.js');
17
17
  require('@jobber/design');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var LightBox = require('../LightBox-e147a5bc.js');
5
+ var LightBox = require('../LightBox-b59ee23b.js');
6
6
  require('react');
7
7
  require('framer-motion');
8
8
  require('react-dom');
@@ -11,8 +11,8 @@ require('@jobber/hooks/useRefocusOnActivator');
11
11
  require('@jobber/hooks/useOnKeyDown');
12
12
  require('@jobber/hooks/useFocusTrap');
13
13
  require('../style-inject.es-9d2f5f4e.js');
14
- require('../ButtonDismiss-7d9deeab.js');
15
- require('../Button-69409e46.js');
14
+ require('../ButtonDismiss-c7ee94a9.js');
15
+ require('../Button-7698424c.js');
16
16
  require('classnames');
17
17
  require('react-router-dom');
18
18
  require('../Icon-405a216c.js');
@@ -8,8 +8,8 @@ var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
8
8
  var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
9
9
  var useFocusTrap = require('@jobber/hooks/useFocusTrap');
10
10
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
11
- var ButtonDismiss = require('./ButtonDismiss-7d9deeab.js');
12
- var Button = require('./Button-69409e46.js');
11
+ var ButtonDismiss = require('./ButtonDismiss-c7ee94a9.js');
12
+ var Button = require('./Button-7698424c.js');
13
13
 
14
14
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
15
 
@@ -2,14 +2,14 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Menu = require('../Menu-2528a30a.js');
5
+ var Menu = require('../Menu-d2445bae.js');
6
6
  require('react');
7
7
  require('uuid');
8
8
  require('classnames');
9
9
  require('framer-motion');
10
10
  require('@jobber/hooks/useOnKeyDown');
11
11
  require('../style-inject.es-9d2f5f4e.js');
12
- require('../Button-69409e46.js');
12
+ require('../Button-7698424c.js');
13
13
  require('react-router-dom');
14
14
  require('../Icon-405a216c.js');
15
15
  require('@jobber/design');
@@ -6,7 +6,7 @@ var classnames = require('classnames');
6
6
  var framerMotion = require('framer-motion');
7
7
  var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
8
8
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
9
- var Button = require('./Button-69409e46.js');
9
+ var Button = require('./Button-7698424c.js');
10
10
  var Typography = require('./Typography-fd6f932a.js');
11
11
  var Icon = require('./Icon-405a216c.js');
12
12
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Modal = require('../Modal-4a620c9f.js');
5
+ var Modal = require('../Modal-29fdefc8.js');
6
6
  require('react');
7
7
  require('react-dom');
8
8
  require('classnames');
@@ -13,11 +13,11 @@ require('@jobber/hooks/useFocusTrap');
13
13
  require('../style-inject.es-9d2f5f4e.js');
14
14
  require('../Heading-a1191b15.js');
15
15
  require('../Typography-fd6f932a.js');
16
- require('../Button-69409e46.js');
16
+ require('../Button-7698424c.js');
17
17
  require('react-router-dom');
18
18
  require('../Icon-405a216c.js');
19
19
  require('@jobber/design');
20
- require('../ButtonDismiss-7d9deeab.js');
20
+ require('../ButtonDismiss-c7ee94a9.js');
21
21
 
22
22
 
23
23
 
@@ -9,8 +9,8 @@ var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
9
9
  var useFocusTrap = require('@jobber/hooks/useFocusTrap');
10
10
  var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
11
11
  var Heading = require('./Heading-a1191b15.js');
12
- var Button = require('./Button-69409e46.js');
13
- var ButtonDismiss = require('./ButtonDismiss-7d9deeab.js');
12
+ var Button = require('./Button-7698424c.js');
13
+ var ButtonDismiss = require('./ButtonDismiss-c7ee94a9.js');
14
14
 
15
15
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
16
16
 
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var React = require('react');
4
- var FormField = require('./FormField-e2ff403a.js');
4
+ var FormField = require('./FormField-53d521d5.js');
5
5
 
6
6
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
7
 
@@ -10,8 +10,8 @@ var Heading = require('../Heading-a1191b15.js');
10
10
  var Text = require('../Text-e7ed0974.js');
11
11
  var Content = require('../Content-a6590328.js');
12
12
  var Markdown = require('../Markdown-53a0bfda.js');
13
- var Button = require('../Button-69409e46.js');
14
- var Menu = require('../Menu-2528a30a.js');
13
+ var Button = require('../Button-7698424c.js');
14
+ var Menu = require('../Menu-d2445bae.js');
15
15
  var Emphasis = require('../Emphasis-76a10790.js');
16
16
  require('../Typography-fd6f932a.js');
17
17
  require('react-markdown');
@@ -6,8 +6,8 @@ var React = require('react');
6
6
  var reactPopper = require('react-popper');
7
7
  var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
8
8
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
9
- var ButtonDismiss = require('../ButtonDismiss-7d9deeab.js');
10
- require('../Button-69409e46.js');
9
+ var ButtonDismiss = require('../ButtonDismiss-c7ee94a9.js');
10
+ require('../Button-7698424c.js');
11
11
  require('classnames');
12
12
  require('react-router-dom');
13
13
  require('../Icon-405a216c.js');
@@ -2,15 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Option = require('../Option-004ed21f.js');
5
+ var Option = require('../Option-d3ad5f17.js');
6
6
  require('react');
7
- require('../FormField-e2ff403a.js');
7
+ require('../FormField-53d521d5.js');
8
8
  require('../tslib.es6-5b8768b7.js');
9
9
  require('uuid');
10
10
  require('react-hook-form');
11
11
  require('../style-inject.es-9d2f5f4e.js');
12
12
  require('classnames');
13
- require('../Button-69409e46.js');
13
+ require('../Button-7698424c.js');
14
14
  require('react-router-dom');
15
15
  require('../Icon-405a216c.js');
16
16
  require('@jobber/design');
@@ -7,7 +7,7 @@ var client = require('react-dom/client');
7
7
  var framerMotion = require('framer-motion');
8
8
  var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
9
9
  var Icon = require('../Icon-405a216c.js');
10
- var Button = require('../Button-69409e46.js');
10
+ var Button = require('../Button-7698424c.js');
11
11
  var Typography = require('../Typography-fd6f932a.js');
12
12
  require('@jobber/design');
13
13
  require('classnames');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "4.14.0",
3
+ "version": "4.14.1-pre.3+b448097d",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "@jobber/design": "^0.38.1",
23
- "@jobber/formatters": "*",
23
+ "@jobber/formatters": "^0.2.2",
24
24
  "@jobber/hooks": "^2.1.1",
25
25
  "@popperjs/core": "^2.0.6",
26
26
  "@std-proposal/temporal": "0.0.1",
@@ -83,5 +83,5 @@
83
83
  "> 1%",
84
84
  "IE 10"
85
85
  ],
86
- "gitHead": "829d4fcd134dc6a9d3b2a0cd0890d0599ded1d08"
86
+ "gitHead": "b448097df5b2f4548f09f6d2958363077e59fa73"
87
87
  }
@@ -1,57 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var classnames = require('classnames');
5
- var reactRouterDom = require('react-router-dom');
6
- var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
7
- var Icon = require('./Icon-405a216c.js');
8
- var Typography = require('./Typography-fd6f932a.js');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
14
-
15
- var css_248z = ":root {\n --button--color-variation: var(--color-interactive);\n --button--color-variation--hover: var(--color-interactive--hover);\n --button--color-surface: var(--color-surface);\n --button--color-surface--hover: var(--color-surface--background);\n --button--color-primaryLabel: var(--color-white);\n\n --button--duration-loading: 2s;\n}\n\n.U9VsquOtk2I- {\n display: -ms-inline-flexbox;\n display: inline-flex;\n min-height: calc(16px * 2.25);\n min-height: calc(var(--base-unit) * 2.25);\n box-sizing: border-box;\n margin: 0;\n border: calc(16px / 16) solid rgb(125, 176, 14);\n border: var(--border-base) solid var(--button--color-variation);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n color: rgb(125, 176, 14);\n color: var(--button--color-variation);\n -webkit-font-smoothing: antialiased;\n letter-spacing: calc(16px / 40);\n letter-spacing: var(--typography--letterSpacing-loose);\n text-align: center;\n -webkit-text-decoration: none;\n text-decoration: none;\n vertical-align: middle;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n cursor: pointer;\n transition: all 200ms;\n transition: all var(--timing-base);\n -webkit-appearance: none;\n appearance: none;\n fill: rgb(125, 176, 14);\n fill: var(--button--color-variation);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.U9VsquOtk2I- * {\n fill: inherit !important;\n}\n\n.U9VsquOtk2I- * {\n color: inherit;\n /* required to over-ride very specific fill from <Icon> */\n}\n\n.U9VsquOtk2I-:hover,\na.U9VsquOtk2I-:hover,\n.U9VsquOtk2I-:focus,\na.U9VsquOtk2I-:focus,\n.U9VsquOtk2I-:active,\na.U9VsquOtk2I-:active {\n border-color: rgb(81, 114, 9);\n border-color: var(--button--color-variation--hover);\n color: rgb(81, 114, 9);\n color: var(--button--color-variation--hover);\n fill: rgb(81, 114, 9);\n fill: var(--button--color-variation--hover);\n background-color: rgb(244, 244, 244);\n background-color: var(--button--color-surface--hover);\n}\n\n.U9VsquOtk2I-:focus,\na.U9VsquOtk2I-:focus,\n.U9VsquOtk2I-:active,\na.U9VsquOtk2I-:active {\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n/* Variation */\n\n.qkFQwI0PKfw- {\n --button--color-variation: var(--color-interactive);\n --button--color-variation--hover: var(--color-interactive--hover);\n}\n\n.jsKQEOBdJ0k- {\n --button--color-variation: var(--color-informative);\n --button--color-variation--hover: var(--color-informative--onSurface);\n}\n\n._4W8X0dxZDK4- {\n --button--color-variation: var(--color-destructive);\n --button--color-variation--hover: var(--color-destructive--hover);\n}\n\n/* Subtle is special because, by default, it's styled as a secondary button */\n\n.vDKO-cmh8vY- {\n --button--color-variation: var(--color-interactive--subtle);\n --button--color-variation--hover: var(--color-interactive--subtle--hover);\n}\n\n/* Type */\n\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-),\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):hover,\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):focus {\n color: rgba(255, 255, 255, 1);\n color: var(--button--color-primaryLabel);\n background-color: rgb(125, 176, 14);\n background-color: var(--button--color-variation);\n fill: rgba(255, 255, 255, 1);\n fill: var(--button--color-primaryLabel);\n}\n\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):hover,\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):focus {\n background-color: rgb(81, 114, 9);\n background-color: var(--button--color-variation--hover);\n}\n\n.vDKO-cmh8vY-.FXqN12jWtPo- {\n color: rgb(125, 176, 14);\n color: var(--button--color-variation);\n fill: rgb(125, 176, 14);\n fill: var(--button--color-variation);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n}\n\n.pf6G840lKdA-,\n.vDKO-cmh8vY-.FXqN12jWtPo- {\n border-color: rgb(125, 176, 14);\n border-color: var(--button--color-variation);\n}\n\n.vDKO-cmh8vY-.FXqN12jWtPo-:hover,\n.vDKO-cmh8vY-.FXqN12jWtPo-:focus {\n color: rgb(81, 114, 9);\n color: var(--button--color-variation--hover);\n background-color: rgb(244, 244, 244);\n background-color: var(--button--color-surface--hover);\n fill: rgb(81, 114, 9);\n fill: var(--button--color-variation--hover);\n}\n\n.vDKO-cmh8vY-.pf6G840lKdA- {\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n}\n\n.m7DbwRZWcNk-,\n.vDKO-cmh8vY-.pf6G840lKdA- {\n border-color: transparent;\n}\n\n.vDKO-cmh8vY-.pf6G840lKdA-:hover,\n.vDKO-cmh8vY-.pf6G840lKdA-:focus {\n background-color: rgb(244, 244, 244);\n background-color: var(--button--color-surface--hover);\n}\n\n.m7DbwRZWcNk-:hover,\n.m7DbwRZWcNk-:focus,\na.m7DbwRZWcNk-:hover,\na.m7DbwRZWcNk-:focus,\n.vDKO-cmh8vY-.pf6G840lKdA-:hover,\n.vDKO-cmh8vY-.pf6G840lKdA-:focus,\na.vDKO-cmh8vY-.pf6G840lKdA-:hover,\na.vDKO-cmh8vY-.pf6G840lKdA-:focus {\n border-color: transparent;\n}\n\n.vDKO-cmh8vY-.m7DbwRZWcNk- {\n border-color: transparent;\n background-color: transparent;\n}\n\n.vDKO-cmh8vY-.m7DbwRZWcNk-:hover,\n.vDKO-cmh8vY-.m7DbwRZWcNk-:focus,\na.vDKO-cmh8vY-.m7DbwRZWcNk-:hover,\na.vDKO-cmh8vY-.m7DbwRZWcNk-:focus {\n border-color: transparent;\n color: rgb(66, 78, 86);\n color: var(--color-interactive--subtle--hover);\n fill: rgb(66, 78, 86);\n fill: var(--color-interactive--subtle--hover);\n}\n\n/* Disabled */\n\n.U9VsquOtk2I-.bg-l22drjd0-,\na.U9VsquOtk2I-.bg-l22drjd0-,\n.U9VsquOtk2I-.bg-l22drjd0-:hover,\na.U9VsquOtk2I-.bg-l22drjd0-:hover {\n border-color: rgb(225, 225, 225);\n border-color: var(--color-disabled--secondary);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n fill: rgb(181, 181, 181);\n fill: var(--color-disabled);\n pointer-events: none;\n cursor: not-allowed;\n}\n\n/* Sizes */\n\n.STSDgSRREx4- {\n min-height: calc(16px * 1.5);\n min-height: calc(var(--base-unit) * 1.5);\n padding: 0 calc(16px / 2);\n padding: 0 var(--space-small);\n letter-spacing: 0;\n}\n\n.amIh7vPETfo- {\n min-height: calc(16px * 2.25);\n min-height: calc(var(--base-unit) * 2.25);\n padding: 0 calc((16px * 1) - 4px);\n padding: 0 calc(calc(16px * 1) - 4px);\n padding: 0 calc(var(--space-base) - 4px);\n}\n\n.ON6ezOojFVo- {\n min-height: calc(16px * 3);\n min-height: calc(var(--base-unit) * 3);\n padding: 0 calc(16px * 1);\n padding: 0 var(--space-base);\n}\n\n/* Icon */\n\n.Qq-idRLJTCk- {\n width: calc(16px * 2.25);\n width: calc(var(--base-unit) * 2.25);\n padding: 0;\n}\n\n.Qq-idRLJTCk-.STSDgSRREx4- {\n width: calc((16px / 2) * 3);\n width: calc(calc(16px / 2) * 3);\n width: calc(var(--space-small) * 3);\n}\n\n.Qq-idRLJTCk-.amIh7vPETfo- {\n width: calc((16px * 1) * 2.25);\n width: calc(calc(16px * 1) * 2.25);\n width: calc(var(--space-base) * 2.25);\n}\n\n.Qq-idRLJTCk-.ON6ezOojFVo- {\n width: calc((16px * 1.5) * 2);\n width: calc(calc(16px * 1.5) * 2);\n width: calc(var(--space-large) * 2);\n}\n\n.EWh1gvgPJQg- {\n width: auto;\n}\n\n.EWh1gvgPJQg- > * {\n text-align: left;\n}\n\n.EWh1gvgPJQg- > *:first-child {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.pfzTUMgNb3o- > *:first-child {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n margin-right: 0;\n -ms-flex-order: 1;\n order: 1;\n}\n\n.ZCHqCEyLBw0- {\n width: 100%;\n}\n\n.VVFKEv1ksMA- {\n background-image: linear-gradient(\n 135deg,\n rgba(0, 0, 0, 0.1) 0%,\n rgba(0, 0, 0, 0.1) 25%,\n transparent 25%,\n transparent 50%,\n rgba(0, 0, 0, 0.1) 50%,\n rgba(0, 0, 0, 0.1) 75%,\n transparent 75%,\n transparent 100%\n );\n background-size: calc(16px * 2) calc(16px * 2);\n background-size: var(--space-larger) var(--space-larger);\n pointer-events: none;\n cursor: not-allowed;\n -webkit-animation-duration: 2s;\n -webkit-animation-duration: var(--button--duration-loading);\n animation-duration: 2s;\n animation-duration: var(--button--duration-loading);\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n -webkit-animation-name: a8Q-0lnKH5M-;\n animation-name: a8Q-0lnKH5M-;\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n}\n\n.FXqN12jWtPo-.VVFKEv1ksMA-:not(.vDKO-cmh8vY-) {\n background-image: linear-gradient(\n 135deg,\n rgba(255, 255, 255, 0.25) 0%,\n rgba(255, 255, 255, 0.25) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.25) 50%,\n rgba(255, 255, 255, 0.25) 75%,\n transparent 75%,\n transparent 100%\n );\n}\n\n@-webkit-keyframes a8Q-0lnKH5M- {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: calc(16px * 2) calc(16px * 2);\n background-position: var(--space-larger) var(--space-larger);\n }\n}\n\n@keyframes a8Q-0lnKH5M- {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: calc(16px * 2) calc(16px * 2);\n background-position: var(--space-larger) var(--space-larger);\n }\n}\n";
16
- var styles = {"button":"U9VsquOtk2I-","work":"qkFQwI0PKfw-","learning":"jsKQEOBdJ0k-","destructive":"_4W8X0dxZDK4-","subtle":"vDKO-cmh8vY-","primary":"FXqN12jWtPo-","disabled":"bg-l22drjd0-","secondary":"pf6G840lKdA-","tertiary":"m7DbwRZWcNk-","small":"STSDgSRREx4-","base":"amIh7vPETfo-","large":"ON6ezOojFVo-","onlyIcon":"Qq-idRLJTCk-","hasIconAndLabel":"EWh1gvgPJQg-","iconOnRight":"pfzTUMgNb3o-","fullWidth":"ZCHqCEyLBw0-","loading":"VVFKEv1ksMA-","animateStripes":"a8Q-0lnKH5M-"};
17
- styleInject_es.styleInject(css_248z);
18
-
19
- function Button(props) {
20
- const { ariaControls, ariaHaspopup, ariaExpanded, ariaLabel, disabled = false, external, fullWidth, icon, label, iconOnRight, id, loading, onClick, onMouseDown, size = "base", type = "primary", url, to, variation = "work", submit, } = props;
21
- const buttonClassNames = classnames__default["default"](styles.button, styles[size], {
22
- [styles.onlyIcon]: icon && !label,
23
- [styles.hasIconAndLabel]: icon && label,
24
- [styles.iconOnRight]: iconOnRight,
25
- [styles[variation]]: variation,
26
- [styles[type]]: type,
27
- [styles.disabled]: disabled,
28
- [styles.fullWidth]: fullWidth,
29
- [styles.loading]: loading,
30
- });
31
- const buttonType = submit ? "submit" : "button";
32
- const tagProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ className: buttonClassNames, disabled,
33
- id }, (!disabled && { href: url })), (!disabled && { onClick: onClick })), (!disabled && { onMouseDown: onMouseDown })), (external && { target: "_blank" })), (url === undefined && to === undefined && { type: buttonType })), { "aria-controls": ariaControls, "aria-haspopup": ariaHaspopup, "aria-expanded": ariaExpanded, "aria-label": ariaLabel });
34
- const buttonInternals = React__default["default"].createElement(ButtonInternals, Object.assign({}, props));
35
- if (to) {
36
- return (React__default["default"].createElement(reactRouterDom.Link, Object.assign({}, tagProps, { to: to }), buttonInternals));
37
- }
38
- const Tag = url ? "a" : "button";
39
- return React__default["default"].createElement(Tag, Object.assign({}, tagProps), buttonInternals);
40
- }
41
- function ButtonInternals({ label, icon, size = "base" }) {
42
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
43
- icon && React__default["default"].createElement(Icon.Icon, { name: icon, size: size }),
44
- React__default["default"].createElement(Typography.Typography, { element: "span", fontWeight: "extraBold", fontFamily: "base", size: getTypeSizes(size) }, label)));
45
- }
46
- function getTypeSizes(size) {
47
- switch (size) {
48
- case "small":
49
- return "small";
50
- case "large":
51
- return "large";
52
- default:
53
- return "base";
54
- }
55
- }
56
-
57
- exports.Button = Button;