@jobber/components 4.58.2-hackathon.5 → 4.58.2

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 (63) hide show
  1. package/dist/Autocomplete/index.js +4 -4
  2. package/dist/Banner/index.js +1 -2
  3. package/dist/Button/Button.d.ts +0 -2
  4. package/dist/Button/index.js +1 -2
  5. package/dist/Button-db6114a6.js +57 -0
  6. package/dist/ButtonDismiss/index.js +2 -3
  7. package/dist/{ButtonDismiss-3c4be741.js → ButtonDismiss-1ccb84ec.js} +1 -1
  8. package/dist/Card/index.js +3 -4
  9. package/dist/{Card-756a230b.js → Card-116af709.js} +2 -2
  10. package/dist/{Chip-0b20ffea.js → Chip-4f12eec8.js} +2 -2
  11. package/dist/Chips/index.js +3 -4
  12. package/dist/Combobox/index.js +1 -1
  13. package/dist/ConfirmationModal/index.js +4 -5
  14. package/dist/{ConfirmationModal-cebf2c2e.js → ConfirmationModal-285c3cbe.js} +1 -1
  15. package/dist/DataDump/index.js +3 -4
  16. package/dist/DataList/index.js +7 -7
  17. package/dist/DataTable/index.js +4 -4
  18. package/dist/DatePicker/index.js +2 -3
  19. package/dist/{DatePicker-f13767d0.js → DatePicker-49213434.js} +1 -1
  20. package/dist/Drawer/index.js +2 -3
  21. package/dist/FeatureSwitch/index.js +1 -2
  22. package/dist/FormField/index.js +3 -3
  23. package/dist/{FormField-639bc659.js → FormField-fa9254dc.js} +2 -2
  24. package/dist/FormatFile/index.js +6 -6
  25. package/dist/{FormatFile-6a8472a9.js → FormatFile-6423c3b5.js} +2 -2
  26. package/dist/Gallery/index.js +6 -6
  27. package/dist/InputAvatar/index.js +2 -2
  28. package/dist/InputDate/index.js +4 -4
  29. package/dist/InputEmail/index.js +3 -3
  30. package/dist/InputFile/index.js +2 -2
  31. package/dist/{InputFile-8e9d18fd.js → InputFile-25c3369b.js} +1 -1
  32. package/dist/InputNumber/index.js +4 -4
  33. package/dist/{InputNumber-08eef959.js → InputNumber-ea9fcee1.js} +1 -1
  34. package/dist/InputPassword/index.js +3 -3
  35. package/dist/InputPhoneNumber/index.js +3 -3
  36. package/dist/InputText/index.js +4 -4
  37. package/dist/{InputText-4ec68f82.js → InputText-ab237501.js} +1 -1
  38. package/dist/InputTime/index.js +3 -3
  39. package/dist/LightBox/index.js +3 -4
  40. package/dist/{LightBox-4883f08f.js → LightBox-93ef99b9.js} +2 -2
  41. package/dist/Menu/index.js +2 -3
  42. package/dist/{Menu-ec6cfd07.js → Menu-2e64307a.js} +1 -1
  43. package/dist/Modal/index.js +3 -4
  44. package/dist/{Modal-8322c2f1.js → Modal-c17cc105.js} +2 -2
  45. package/dist/{Option-489f147e.js → Option-07a24acd.js} +1 -1
  46. package/dist/Page/index.js +2 -3
  47. package/dist/Popover/index.js +3 -4
  48. package/dist/{Popover-3b128829.js → Popover-7c966790.js} +1 -1
  49. package/dist/RecurringSelect/index.js +5 -5
  50. package/dist/Select/index.js +4 -4
  51. package/dist/Spinner/Spinner.d.ts +1 -5
  52. package/dist/Spinner/index.js +1 -1
  53. package/dist/Spinner-9d8fc7ff.js +24 -0
  54. package/dist/Toast/index.js +1 -2
  55. package/package.json +4 -4
  56. package/dist/Button/Boom.d.ts +0 -6
  57. package/dist/Button/Button.types.d.ts +0 -10
  58. package/dist/Button/ButtonConfettiDelight.d.ts +0 -9
  59. package/dist/Button/ButtonDelight.d.ts +0 -9
  60. package/dist/Button/OutParticle.d.ts +0 -4
  61. package/dist/Button/Particle.d.ts +0 -4
  62. package/dist/Button-114b5e41.js +0 -337
  63. package/dist/Spinner-0070bf23.js +0 -63
@@ -1,337 +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 tslib_es6 = require('./tslib.es6-5b8768b7.js');
8
- var Icon = require('./Icon-405a216c.js');
9
- var Typography = require('./Typography-83915c54.js');
10
-
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
14
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
15
-
16
- var css_248z$3 = ":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";
17
- var styles$3 = {"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-"};
18
- styleInject_es.styleInject(css_248z$3);
19
-
20
- var css_248z$2 = "._0Ny8u1tbZxI- {\n margin-right: 3.5px;\n\n -webkit-transform: translateY(0px);\n\n transform: translateY(0px);\n transition: -webkit-transform ease-in-out 0.2s;\n transition: transform ease-in-out 0.2s;\n transition: transform ease-in-out 0.2s, -webkit-transform ease-in-out 0.2s;\n}\n.XmAxSewWeOY- {\n font-family: \"Inter\", Helvetica, Arial, sans-serif;\n font-family: var(--typography--fontFamily-normal);\n font-size: calc((16px * 1) * 0.875);\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n font-weight: 800;\n line-height: 1.25;\n line-height: var(--typography--lineHeight-base);\n -webkit-transform: translateY(0px);\n transform: translateY(0px);\n transition: -webkit-transform ease-in-out 0.2s;\n transition: transform ease-in-out 0.2s;\n transition: transform ease-in-out 0.2s, -webkit-transform ease-in-out 0.2s;\n}\n.Gl1xZCG4GqA- {\n -webkit-transform: translateY(28px);\n transform: translateY(28px);\n transition: -webkit-transform ease-in 0.2s;\n transition: transform ease-in 0.2s;\n transition: transform ease-in 0.2s, -webkit-transform ease-in 0.2s;\n}\n.uvTy02yJMII- {\n -webkit-transform: translateY(-28px);\n transform: translateY(-28px);\n transition: -webkit-transform ease-in-out 0.1s;\n transition: transform ease-in-out 0.1s;\n transition: transform ease-in-out 0.1s, -webkit-transform ease-in-out 0.1s;\n}\n";
21
- var styles$2 = {"space":"_0Ny8u1tbZxI-","span":"XmAxSewWeOY-","drop":"Gl1xZCG4GqA-","explode":"uvTy02yJMII-"};
22
- styleInject_es.styleInject(css_248z$2);
23
-
24
- var css_248z$1 = ".wA6kerwVqc0- {\n position: absolute;\n z-index: 0;\n width: 3px;\n height: 3px;\n border-radius: 50%;\n}\n";
25
- var styles$1 = {"particle":"wA6kerwVqc0-"};
26
- styleInject_es.styleInject(css_248z$1);
27
-
28
- const schemes$1 = {
29
- all: [
30
- `var(--color-brand)`,
31
- `var(--color-indigo)`,
32
- `var(--color-blue)`,
33
- `var(--color-yellow)`,
34
- `var(--color-red)`,
35
- `var(--color-lightBlue)`,
36
- `var(--color-pink)`,
37
- `var(--color-teal)`,
38
- `var(--color-orange)`,
39
- ],
40
- strongBrand: [
41
- `var(--color-brand)`,
42
- `var(--color-indigo)`,
43
- `var(--color-blue)`,
44
- ],
45
- redIsh: [`var(--color-orange)`, `var(--color-yellow)`, `var(--color-red)`],
46
- };
47
- const Particle = ({ enabled, scheme, }) => {
48
- const fireworkProps = () => {
49
- const xDirection = Math.random() * 350;
50
- const yDirection = Math.random() * 150 + 75;
51
- const xFlip = Math.random() > 0.5 ? -1 : 1;
52
- return { xDirection, yDirection, xFlip };
53
- };
54
- const particleProps = React.useMemo(() => {
55
- const colors = schemes$1[scheme];
56
- const colorPick = Math.floor(Math.random() * (colors === null || colors === void 0 ? void 0 : colors.length));
57
- const particleID = "id" + Math.floor(Math.random() * 100000);
58
- const { xDirection, yDirection, xFlip } = fireworkProps();
59
- return {
60
- x: xDirection * xFlip,
61
- y: yDirection * -1,
62
- color: colors[colorPick],
63
- id: particleID,
64
- };
65
- }, []);
66
- const classes = classnames__default["default"](styles$1.particle, {
67
- [`cl-${particleProps.id}`]: enabled,
68
- "hi!": enabled,
69
- });
70
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
71
- React__default["default"].createElement("style", null, `
72
- .cl-${particleProps.id} {
73
- animation: ${particleProps.id};
74
- }
75
- @keyframes ${particleProps.id} {
76
- 0% {
77
- transform: translateX(0px) translateY(-5px);
78
- opacity:0;
79
- background-color:${particleProps.color};
80
- }
81
- 1% {
82
- opacity:1;
83
- }
84
- 50% {
85
- transform: translateX(${particleProps.x}px) translateY(${particleProps.y}px);
86
- }
87
- 61% {
88
- opacity:0;
89
- }
90
- 100% {
91
- opacity:0;
92
- transform: translate(0,-25px);
93
- }
94
- }
95
- `),
96
- React__default["default"].createElement("div", { className: classes, style: {
97
- animationDuration: "1.2s",
98
- opacity: 0,
99
- backgroundColor: particleProps.color,
100
- } })));
101
- };
102
-
103
- const schemes = {
104
- all: [
105
- `var(--color-brand)`,
106
- `var(--color-indigo)`,
107
- `var(--color-blue)`,
108
- `var(--color-yellow)`,
109
- `var(--color-red)`,
110
- `var(--color-lightBlue)`,
111
- `var(--color-pink)`,
112
- `var(--color-teal)`,
113
- `var(--color-orange)`,
114
- ],
115
- strongBrand: [
116
- `var(--color-brand)`,
117
- `var(--color-indigo)`,
118
- `var(--color-blue)`,
119
- ],
120
- redIsh: [`var(--color-orange)`, `var(--color-yellow)`, `var(--color-red)`],
121
- };
122
- const OutParticle = ({ enabled, scheme, }) => {
123
- const confettiProps = () => {
124
- const xDirection = Math.random() * 200;
125
- const yDirection = Math.random() * 150;
126
- const xFlip = Math.random() > 0.5 ? -1 : 1;
127
- const yFlip = Math.random() > 0.5 ? -1 : 1;
128
- const scale = Math.random() * 20;
129
- return { xDirection, yDirection, xFlip, yFlip, scale };
130
- };
131
- const particleProps = React.useMemo(() => {
132
- const colors = schemes[scheme];
133
- const colorPick = Math.floor(Math.random() * (colors === null || colors === void 0 ? void 0 : colors.length));
134
- const particleID = "id" + Math.floor(Math.random() * 100000);
135
- const { xDirection, yDirection, xFlip, yFlip, scale } = confettiProps();
136
- return {
137
- x: xDirection * xFlip,
138
- y: yDirection * yFlip,
139
- color: colors[colorPick],
140
- scale,
141
- id: particleID,
142
- };
143
- }, []);
144
- const classes = classnames__default["default"](styles$1.particle, {
145
- [`cl-${particleProps.id}`]: enabled,
146
- });
147
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
148
- React__default["default"].createElement("style", null, `
149
- .cl-${particleProps.id} {
150
- animation: ${particleProps.id};
151
- }
152
- @keyframes ${particleProps.id} {
153
- 0% {
154
- transform: translateX(0px) translateY(0px) scale(0);
155
- opacity:0;
156
- background-color:${particleProps.color};
157
- }
158
- 1% {
159
- opacity:1;
160
- }
161
- 20% {
162
- transform: translateX(${particleProps.x / 1.05}px) translateY(${particleProps.y / 1.05}px) scale(${particleProps.scale - 0.1});
163
- }
164
- 60% {
165
- transform: translateX(${particleProps.x}px) translateY(${particleProps.y}px) scale(${particleProps.scale});
166
- }
167
- 61% {
168
- opacity:0;
169
- }
170
- 100% {
171
- opacity:0;
172
- }
173
- }
174
- `),
175
- React__default["default"].createElement("div", { className: classes, style: {
176
- animationDuration: "2.2s",
177
- animationTimingFunction: "ease-in-out",
178
- backgroundColor: particleProps.color,
179
- } })));
180
- };
181
-
182
- const Boom = ({ enabled, particles = 50, boomType = "firework", scheme = "all", }) => {
183
- const [particleAmount] = React.useState(particles);
184
- const [particlesEnabled, setParticlesEnabled] = React.useState(false);
185
- const [loopArray] = React.useState(Array.from({ length: particleAmount }));
186
- React.useEffect(() => {
187
- if (enabled) {
188
- requestAnimationFrame(() => {
189
- setParticlesEnabled(true);
190
- });
191
- }
192
- else {
193
- setParticlesEnabled(false);
194
- }
195
- }, [enabled]);
196
- return (React__default["default"].createElement(React__default["default"].Fragment, null, enabled &&
197
- loopArray.map((_, index) => {
198
- return boomType === "firework" ? (React__default["default"].createElement(Particle, { key: index, enabled: particlesEnabled, scheme: scheme })) : (React__default["default"].createElement(OutParticle, { key: index, enabled: particlesEnabled, scheme: scheme }));
199
- })));
200
- };
201
-
202
- const ButtonDelight = (props) => {
203
- const [delightOn, setDelightOn] = React.useState(false);
204
- const [explodeOn, setExplodeOn] = React.useState(false);
205
- const [boomEnabled, setBoomEnabled] = React.useState(false);
206
- const [splitWord, setSplitWord] = React.useState([]);
207
- const delightfulButton = React.useRef(null);
208
- const goGoDelight = () => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
209
- const elem = delightfulButton.current;
210
- if (elem && splitWord.length === 0) {
211
- const words = elem.innerText;
212
- const letters = words.split("");
213
- setSplitWord(letters);
214
- requestAnimationFrame(() => {
215
- setDelightOn(true);
216
- });
217
- const delay = letters.length * 30;
218
- setTimeout(() => {
219
- setDelightOn(false);
220
- setExplodeOn(true);
221
- setTimeout(() => {
222
- setBoomEnabled(true);
223
- setTimeout(() => {
224
- setBoomEnabled(false);
225
- }, 1300);
226
- }, 20);
227
- setTimeout(() => {
228
- setExplodeOn(false);
229
- setTimeout(() => {
230
- setSplitWord([]);
231
- }, 200);
232
- }, delay);
233
- }, delay);
234
- }
235
- });
236
- const delightfulClick = (e) => {
237
- goGoDelight();
238
- setTimeout(() => {
239
- if (props.onClick && !props.href) {
240
- props.onClick(e);
241
- }
242
- else if (props.onClick && props.href) {
243
- window.location.href = props.href;
244
- }
245
- }, 1500);
246
- };
247
- return (React__default["default"].createElement("button", Object.assign({}, props, { onClick: delightfulClick, type: "button", ref: delightfulButton }),
248
- React__default["default"].createElement(Boom, { enabled: boomEnabled, particles: 150, boomType: "firework" }),
249
- splitWord.length === 0
250
- ? props.children
251
- : splitWord.map((letter, index) => {
252
- const spanClassNames = classnames__default["default"](styles$2.span, {
253
- [styles$2.space]: letter === " ",
254
- [styles$2.drop]: delightOn,
255
- [styles$2.explode]: explodeOn,
256
- });
257
- return (React__default["default"].createElement("span", { key: index, className: spanClassNames, style: {
258
- transitionDelay: delightOn ? String(index / 100) + "s" : "0s",
259
- } }, letter));
260
- })));
261
- };
262
-
263
- var css_248z = ".kUL5UIN4awA- {\n -webkit-transform: scale(0.9);\n transform: scale(0.9);\n transition: -webkit-transform ease-in-out 0.2s;\n transition: transform ease-in-out 0.2s;\n transition: transform ease-in-out 0.2s, -webkit-transform ease-in-out 0.2s;\n}\n";
264
- var styles = {"shrink":"kUL5UIN4awA-"};
265
- styleInject_es.styleInject(css_248z);
266
-
267
- const ButtonConfettiDelight = (props) => {
268
- const delightfulButton = React.useRef(null);
269
- const [shrink, setShrink] = React.useState(false);
270
- const [confetti, setConfetti] = React.useState(false);
271
- const delightfulClick = () => {
272
- setConfetti(false);
273
- setShrink(true);
274
- setTimeout(() => {
275
- setShrink(false);
276
- setConfetti(true);
277
- setTimeout(() => {
278
- setConfetti(false);
279
- }, 2300);
280
- }, 150);
281
- };
282
- const classes = classnames__default["default"](props.className, {
283
- [styles.shrink]: shrink,
284
- });
285
- return (React__default["default"].createElement("div", null,
286
- React__default["default"].createElement("button", Object.assign({}, props, { onClick: delightfulClick, type: "button", ref: delightfulButton, className: classes }),
287
- React__default["default"].createElement(Boom, { enabled: confetti, particles: 30, boomType: "confetti", scheme: "strongBrand" }),
288
- props.children)));
289
- };
290
-
291
- function Button(props) {
292
- const { ariaControls, ariaHaspopup, ariaExpanded, ariaLabel, delight, delightType = "firework", disabled = false, external, fullWidth, icon, label, iconOnRight, id, loading, onClick, onMouseDown, role, size = "base", type = "primary", url, to, variation = "work", submit, } = props;
293
- const buttonClassNames = classnames__default["default"](styles$3.button, styles$3[size], {
294
- [styles$3.onlyIcon]: icon && !label,
295
- [styles$3.hasIconAndLabel]: icon && label,
296
- [styles$3.iconOnRight]: iconOnRight,
297
- [styles$3[variation]]: variation,
298
- [styles$3[type]]: type,
299
- [styles$3.disabled]: disabled,
300
- [styles$3.fullWidth]: fullWidth,
301
- [styles$3.loading]: loading,
302
- });
303
- const buttonType = submit ? "submit" : "button";
304
- const tagProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ className: buttonClassNames, disabled,
305
- 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, role: role });
306
- const buttonInternals = React__default["default"].createElement(ButtonInternals, Object.assign({}, props));
307
- if (to) {
308
- return (React__default["default"].createElement(reactRouterDom.Link, Object.assign({}, tagProps, { to: to }), buttonInternals));
309
- }
310
- let Tag = url
311
- ? "a"
312
- : "button";
313
- if (delight && delightType === "firework") {
314
- Tag = ButtonDelight;
315
- }
316
- else if (delight && delightType === "confetti") {
317
- Tag = ButtonConfettiDelight;
318
- }
319
- return React__default["default"].createElement(Tag, Object.assign({}, tagProps), buttonInternals);
320
- }
321
- function ButtonInternals({ label, icon, size = "base" }) {
322
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
323
- icon && React__default["default"].createElement(Icon.Icon, { name: icon, size: size }),
324
- React__default["default"].createElement(Typography.Typography, { element: "span", fontWeight: "extraBold", fontFamily: "base", size: getTypeSizes(size) }, label)));
325
- }
326
- function getTypeSizes(size) {
327
- switch (size) {
328
- case "small":
329
- return "small";
330
- case "large":
331
- return "large";
332
- default:
333
- return "base";
334
- }
335
- }
336
-
337
- exports.Button = Button;
@@ -1,63 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var classnames = require('classnames');
5
- var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
6
-
7
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
-
9
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
11
-
12
- var css_248z = ".uoU-LfjFDv0- {\n width: calc(16px * 2);\n width: var(--space-larger);\n height: calc(16px * 2);\n height: var(--space-larger);\n box-shadow: 0px 0px 4px 2px rgba(1, 41, 57, 0.4);\n border: solid rgb(77, 105, 116);\n border: solid var(--color-blue--light);\n border-top-color: rgba(255, 255, 255, 1);\n border-top-color: var(--color-white);\n border-width: calc((16px / 2) * 0.75);\n border-width: calc(calc(16px / 2) * 0.75);\n border-width: calc(var(--space-small) * 0.75);\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgb(217, 223, 225);\n background-color: var(--color-blue--lightest);\n -webkit-animation-duration: calc(500ms * 2);\n -webkit-animation-duration: calc(var(--timing-slowest) * 2);\n animation-duration: calc(500ms * 2);\n animation-duration: calc(var(--timing-slowest) * 2);\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n -webkit-animation-name: _1aCKd5q9u34-;\n animation-name: _1aCKd5q9u34-;\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n will-change: transform;\n}\n\n.azOEELEMb4U- {\n width: 90px;\n height: 90px;\n}\n\n@-webkit-keyframes _1aCKd5q9u34- {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes _1aCKd5q9u34- {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n.cLRQwkSqnhA- {\n width: calc(16px * 1);\n width: var(--space-base);\n height: calc(16px * 1);\n height: var(--space-base);\n border-width: calc(16px / 4);\n border-width: var(--space-smaller);\n}\n\n.h6O4vDPCWOQ- {\n display: inline-block;\n margin-top: calc((16px / 4) * -1);\n margin-top: calc(calc(16px / 4) * -1);\n margin-top: calc(var(--space-smaller) * -1);\n vertical-align: middle;\n}\n";
13
- var styles = {"spinner":"uoU-LfjFDv0-","animationSpin":"_1aCKd5q9u34-","industryGif":"azOEELEMb4U-","small":"cLRQwkSqnhA-","inline":"h6O4vDPCWOQ-"};
14
- styleInject_es.styleInject(css_248z);
15
-
16
- /* eslint-disable max-statements */
17
- function Spinner({ size = "base", inline, hasDelight }) {
18
- const arboristGif = require("../Spinner/assets/Jobber_Arborist.gif");
19
- const hvacGif = require("../Spinner/assets/Jobber_PressureGauge.gif");
20
- const workVanGif = require("../Spinner/assets/Jobber_WorkVan.gif");
21
- const landscapingGif = require("../Spinner/assets/Jobber_Bobcat.gif");
22
- const chainsawGif = require("../Spinner/assets/Jobber_Chainsaw.gif");
23
- const plumbingGif = require("../Spinner/assets/Jobber_PipeWrench.gif");
24
- const powerdrillGif = require("../Spinner/assets/Jobber_PowerDrill.gif");
25
- const windowCleaningGif = require("../Spinner/assets/Jobber_WaterLogo.gif");
26
- let selectedGif;
27
- switch (hasDelight) {
28
- case "arborist":
29
- selectedGif = arboristGif;
30
- break;
31
- case "pressureGauge":
32
- selectedGif = hvacGif;
33
- break;
34
- case "workVan":
35
- selectedGif = workVanGif;
36
- break;
37
- case "landscaping":
38
- selectedGif = landscapingGif;
39
- break;
40
- case "chainsaw":
41
- selectedGif = chainsawGif;
42
- break;
43
- case "plumbing":
44
- selectedGif = plumbingGif;
45
- break;
46
- case "powerDrill":
47
- selectedGif = powerdrillGif;
48
- break;
49
- case "windowCleaning":
50
- selectedGif = windowCleaningGif;
51
- break;
52
- }
53
- if (hasDelight) {
54
- return (React__default["default"].createElement("img", { src: selectedGif, alt: "Loading", className: styles.industryGif, role: "alert", "aria-busy": true, "aria-label": "loading" }));
55
- }
56
- const spinnerStyles = classnames__default["default"](styles.spinner, {
57
- [styles.small]: size === "small",
58
- [styles.inline]: inline,
59
- });
60
- return (React__default["default"].createElement("div", { className: spinnerStyles, role: "alert", "aria-busy": true, "aria-label": "loading" }));
61
- }
62
-
63
- exports.Spinner = Spinner;