@jobber/components 4.67.2-JOB-84261.6 → 4.67.2-JOB-85844.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AnimatedSwitcher/index.js +2 -2
- package/dist/{AnimatedSwitcher-d1e1ddcf.js → AnimatedSwitcher-2eab103a.js} +1 -1
- package/dist/Autocomplete/index.js +13 -15
- package/dist/Avatar/index.js +2 -3
- package/dist/{Avatar-76a799fa.js → Avatar-8955a61e.js} +1 -4
- package/dist/Banner/index.js +4 -9
- package/dist/Button/index.js +3 -4
- package/dist/Button-ee40b8fd.js +54 -0
- package/dist/ButtonDismiss/index.js +4 -5
- package/dist/{ButtonDismiss-2b98d075.js → ButtonDismiss-f45a7786.js} +1 -1
- package/dist/Card/index.js +7 -8
- package/dist/Card-6fe158ad.js +88 -0
- package/dist/Checkbox/index.js +5 -7
- package/dist/{Checkbox-ad7ec2e7.js → Checkbox-f92901ad.js} +5 -8
- package/dist/Chip/index.js +8 -7
- package/dist/Chip-eafb9c3b.js +86 -0
- package/dist/Chips/index.js +14 -18
- package/dist/ClientOnly-0bc210d3.js +23 -0
- package/dist/Combobox/index.js +11 -10
- package/dist/{Combobox-eb1e5817.js → Combobox-9112d247.js} +44 -25
- package/dist/ConfirmationModal/index.js +14 -13
- package/dist/{ConfirmationModal-0f85d96c.js → ConfirmationModal-298393b6.js} +3 -3
- package/dist/Content/index.js +1 -2
- package/dist/{Content-2ca1ffe1.js → Content-62118acd.js} +0 -5
- package/dist/DataDump/index.js +9 -10
- package/dist/DataList/components/DataListHeader/DataListHeaderCheckbox.d.ts +1 -2
- package/dist/DataList/components/DataListHeaderTile/DataListSortingArrows.d.ts +1 -1
- package/dist/DataList/hooks/useMediaQuery.d.ts +3 -1
- package/dist/DataList/index.js +31 -56
- package/dist/DataTable/DataTable.d.ts +1 -1
- package/dist/DataTable/index.js +18 -22
- package/dist/DatePicker/index.js +4 -5
- package/dist/DatePicker-189137c2.js +131 -0
- package/dist/DescriptionList/index.js +1 -4
- package/dist/Disclosure/index.js +2 -5
- package/dist/Divider/index.js +0 -3
- package/dist/Drawer/index.js +5 -10
- package/dist/Emphasis/index.js +2 -3
- package/dist/{Emphasis-b2d1b3aa.js → Emphasis-bf448c54.js} +1 -1
- package/dist/FeatureSwitch/index.js +11 -13
- package/dist/Flex/index.js +6 -4
- package/dist/Form/index.js +1 -1
- package/dist/FormField/FormFieldTypes.d.ts +8 -0
- package/dist/FormField/FormFieldWrapper.d.ts +3 -1
- package/dist/FormField/components/ClearAction.d.ts +9 -0
- package/dist/FormField/index.js +9 -10
- package/dist/FormField-2e1d797a.js +252 -0
- package/dist/FormatDate/index.js +1 -1
- package/dist/FormatEmail/index.js +0 -3
- package/dist/FormatFile/index.js +17 -17
- package/dist/FormatFile-88fbd5dc.js +116 -0
- package/dist/FormatTime/FormatTime.d.ts +1 -2
- package/dist/FormatTime/index.js +11 -6
- package/dist/Gallery/index.js +18 -20
- package/dist/Glimmer/index.js +3 -4
- package/dist/Glimmer-5a4272bb.js +68 -0
- package/dist/Grid/index.js +1 -8
- package/dist/Heading/index.js +2 -3
- package/dist/{Heading-0f4ecb0c.js → Heading-2923b3c4.js} +1 -1
- package/dist/Icon/index.js +1 -1
- package/dist/InlineLabel/index.js +2 -3
- package/dist/InlineLabel-e52b42ee.js +25 -0
- package/dist/InputAvatar/index.js +8 -12
- package/dist/InputDate/InputDate.d.ts +1 -1
- package/dist/InputDate/index.js +10 -11
- package/dist/InputEmail/index.js +9 -10
- package/dist/InputFile/InputFile.d.ts +5 -1
- package/dist/InputFile/index.js +6 -8
- package/dist/{InputFile-540c1657.js → InputFile-e6c5c9be.js} +8 -11
- package/dist/InputGroup/index.js +1 -2
- package/dist/InputGroup-669bff5c.js +30 -0
- package/dist/InputNumber/index.js +10 -11
- package/dist/{InputNumber-d9ebabaa.js → InputNumber-8dfdeef5.js} +1 -1
- package/dist/InputPassword/index.js +9 -10
- package/dist/InputPhoneNumber/index.js +9 -12
- package/dist/InputText/InputText.d.ts +2 -0
- package/dist/InputText/index.js +11 -11
- package/dist/{InputText-f7c45ee5.js → InputText-61149f85.js} +3 -2
- package/dist/InputTime/InputTime.d.ts +3 -1
- package/dist/InputTime/InputTime.disabledTest.d.ts +1 -0
- package/dist/InputTime/InputTimeProps.d.ts +1 -1
- package/dist/InputTime/InternalInputTime.d.ts +3 -0
- package/dist/InputTime/SupportsTimePolyfill.d.ts +2 -0
- package/dist/InputTime/TimeInputPolyfill.client.d.ts +2 -0
- package/dist/InputTime/index.js +58 -724
- package/dist/InputValidation/index.js +4 -5
- package/dist/{InputValidation-179f0926.js → InputValidation-42a70050.js} +2 -5
- package/dist/LightBox/ClientOnly.d.ts +6 -0
- package/dist/LightBox/LightBox.d.ts +2 -2
- package/dist/LightBox/index.js +6 -6
- package/dist/{LightBox-3f4dbc33.js → LightBox-282586ce.js} +5 -6
- package/dist/List/index.js +9 -15
- package/dist/Markdown/Markdown.d.ts +1 -1
- package/dist/Markdown/index.js +8 -8
- package/dist/Markdown-4382f0a4.js +90 -0
- package/dist/Menu/Menu.d.ts +4 -4
- package/dist/Menu/index.js +5 -6
- package/dist/{Menu-d7ea093c.js → Menu-df3c9332.js} +7 -10
- package/dist/Modal/Modal.d.ts +2 -2
- package/dist/Modal/index.js +7 -7
- package/dist/{Modal-70daa0e2.js → Modal-bec0202d.js} +6 -9
- package/dist/MultiSelect/index.js +5 -11
- package/dist/{Option-469029b5.js → Option-cdcc4d56.js} +1 -1
- package/dist/Page/index.js +12 -14
- package/dist/Popover/Popover.d.ts +2 -2
- package/dist/Popover/index.js +8 -8
- package/dist/ProgressBar/index.js +1 -2
- package/dist/ProgressBar-127f34ac.js +38 -0
- package/dist/RadioGroup/index.js +3 -5
- package/dist/RadioGroup-b775a2fc.js +44 -0
- package/dist/RecurringSelect/components/DayOfMonthSelect.d.ts +2 -2
- package/dist/RecurringSelect/components/WeeklySelect.d.ts +2 -2
- package/dist/RecurringSelect/index.js +16 -29
- package/dist/Select/index.js +10 -11
- package/dist/Spinner/index.js +1 -2
- package/dist/Spinner-db214d76.js +21 -0
- package/dist/StatusLabel/index.js +2 -5
- package/dist/SupportsTimePolyfill-c6769c3b.js +21 -0
- package/dist/Switch/index.js +2 -3
- package/dist/Switch-fc9c9120.js +53 -0
- package/dist/Table/index.js +0 -5
- package/dist/Tabs/index.js +1 -4
- package/dist/Text/index.js +2 -3
- package/dist/{Text-4a2bc89f.js → Text-3644f58e.js} +1 -1
- package/dist/TimeInputPolyfill.client-348881a8.js +687 -0
- package/dist/Toast/index.js +3 -6
- package/dist/Tooltip/index.js +3 -2
- package/dist/{Tooltip-6b12f1c2.js → Tooltip-e4cfb9e0.js} +14 -12
- package/dist/Typography/index.js +1 -2
- package/dist/Typography-26964114.js +43 -0
- package/dist/styles.css +8107 -0
- package/package.json +4 -4
- package/rollup.config.js +3 -1
- package/dist/Button-163a0641.js +0 -57
- package/dist/Card-3178033c.js +0 -93
- package/dist/Chip-168acf3e.js +0 -89
- package/dist/DatePicker-c18f1739.js +0 -134
- package/dist/FormField-dfc061ca.js +0 -227
- package/dist/FormatFile-3b650d02.js +0 -121
- package/dist/Glimmer-cfa92a88.js +0 -77
- package/dist/InlineLabel-9a517c19.js +0 -28
- package/dist/InputGroup-8d4fd4eb.js +0 -33
- package/dist/Markdown-96070121.js +0 -62
- package/dist/ProgressBar-b68edc8f.js +0 -43
- package/dist/RadioGroup-ebaa4f87.js +0 -47
- package/dist/Spinner-9d8fc7ff.js +0 -24
- package/dist/Switch-b85272bf.js +0 -56
- package/dist/Typography-973b122e.js +0 -62
- package/dist/style-inject.es-9d2f5f4e.js +0 -30
- /package/dist/{FormatDate-70ea5b43.js → FormatDate-3fc882ac.js} +0 -0
- /package/dist/{Icon-405a216c.js → Icon-e0b68533.js} +0 -0
- /package/dist/{tslib.es6-5b8768b7.js → tslib.es6-cb76b215.js} +0 -0
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var AnimatedSwitcher = require('../AnimatedSwitcher-
|
|
5
|
+
var AnimatedSwitcher = require('../AnimatedSwitcher-2eab103a.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('framer-motion');
|
|
8
|
-
require('../Icon-
|
|
8
|
+
require('../Icon-e0b68533.js');
|
|
9
9
|
require('@jobber/design');
|
|
10
10
|
|
|
11
11
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var framerMotion = require('framer-motion');
|
|
5
|
-
var Icon = require('./Icon-
|
|
5
|
+
var Icon = require('./Icon-e0b68533.js');
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -2,28 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var tslib_es6 = require('../tslib.es6-
|
|
5
|
+
var tslib_es6 = require('../tslib.es6-cb76b215.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var debounce = require('lodash/debounce');
|
|
8
|
-
var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
|
|
9
8
|
var classnames = require('classnames');
|
|
10
9
|
var ReactDOM = require('react-dom');
|
|
11
10
|
var reactPopper = require('react-popper');
|
|
12
11
|
var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
require('../
|
|
12
|
+
var useSafeLayoutEffect = require('@jobber/hooks/useSafeLayoutEffect');
|
|
13
|
+
var Text = require('../Text-3644f58e.js');
|
|
14
|
+
var Icon = require('../Icon-e0b68533.js');
|
|
15
|
+
var Heading = require('../Heading-2923b3c4.js');
|
|
16
|
+
var InputText = require('../InputText-61149f85.js');
|
|
17
|
+
require('../Typography-26964114.js');
|
|
18
18
|
require('@jobber/design');
|
|
19
|
-
require('../FormField-
|
|
20
|
-
require('uuid');
|
|
19
|
+
require('../FormField-2e1d797a.js');
|
|
21
20
|
require('react-hook-form');
|
|
22
|
-
require('
|
|
21
|
+
require('@jobber/hooks/useShowClear');
|
|
22
|
+
require('../Button-ee40b8fd.js');
|
|
23
23
|
require('react-router-dom');
|
|
24
|
-
require('../InputValidation-
|
|
24
|
+
require('../InputValidation-42a70050.js');
|
|
25
25
|
require('framer-motion');
|
|
26
|
-
require('../Spinner-
|
|
26
|
+
require('../Spinner-db214d76.js');
|
|
27
27
|
|
|
28
28
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
29
|
|
|
@@ -31,9 +31,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
31
31
|
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
32
32
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
33
33
|
|
|
34
|
-
var css_248z = ".v0Cys9vQ-NE- {\n position: relative;\n width: 100%;\n}\n\n.CX-N-e0e6og- {\n display: none;\n position: absolute;\n z-index: calc(6 + 1001);\n z-index: calc(var(--elevation-menu) + var(--elevation-modal));\n width: 100%;\n /* Unfortunately this is how we define our line item picker height in jobber online.\n This is a concession to maintain visual parity. */\n max-height: 300px;\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: calc(16px / 16) solid var(--color-color-border);\n border: var(--border-base) solid var(--color-color-border);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n overflow: auto;\n scroll-behavior: smooth;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.CX-N-e0e6og- h5 {\n padding: calc(16px / 2) 0 calc(16px / 4) calc(16px / 2);\n padding: var(--space-small) 0 var(--space-smaller) var(--space-small);\n border-bottom: calc(16px / 16) solid rgb(1, 41, 57);\n border-bottom: var(--border-base) solid var(--color-border--section);\n}\n\n.CX-N-e0e6og-._4PlUaegVpkk- {\n display: block;\n}\n\n.CX-N-e0e6og-._4PlUaegVpkk-:empty {\n display: none;\n}\n\n.ucQtG0iwqbo- {\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n -ms-flex-direction: row;\n flex-direction: row;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n -ms-flex-pack: start;\n justify-content: flex-start;\n -ms-flex-line-pack: stretch;\n align-content: stretch;\n -ms-flex-align: center;\n align-items: center;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border: none;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n text-align: left;\n list-style: none;\n background-color: transparent;\n cursor: pointer;\n transition: all 200ms;\n transition: all var(--timing-base);\n}\n\n.ucQtG0iwqbo-:hover,\n.ucQtG0iwqbo-:focus,\n.ucQtG0iwqbo-.r8HS-ma79QE- {\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n outline-color: rgb(147, 161, 169);\n outline-color: var(--color-focus);\n}\n\n.ucQtG0iwqbo-.ydwLX44YFZc-:not(:last-child) {\n border-bottom: calc(16px / 16) solid rgb(217, 223, 225);\n border-bottom: var(--border-base) solid var(--color-border);\n}\n\n.CX-N-e0e6og-:hover .ucQtG0iwqbo-.r8HS-ma79QE-:not(:hover) {\n background-color: transparent;\n outline-color: transparent;\n}\n\n.v0Cys9vQ-NE- .PvUgNoAUG7A-:not(:first-child) {\n padding-top: calc(16px / 2);\n padding-top: var(--space-small);\n}\n\n.ucQtG0iwqbo- .DAOOFUZ1BRM- {\n -ms-flex: 0 1 auto;\n flex: 0 1 auto;\n -ms-flex-item-align: auto;\n align-self: auto;\n width: calc(16px * 1.5);\n width: var(--space-large);\n}\n\n.ucQtG0iwqbo- .cjKJFup6hGY- {\n display: -ms-inline-flexbox;\n display: inline-flex;\n -ms-flex: 1 100%;\n flex: 1 100%;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n\n.ucQtG0iwqbo- .hG5zNBuI2wA- {\n -ms-flex: 2;\n flex: 2;\n}\n\n.ucQtG0iwqbo- ._3CwjFCbhqi4- {\n -ms-flex: 1;\n flex: 1;\n -ms-flex-item-align: end;\n align-self: flex-end;\n text-align: right;\n}\n";
|
|
35
34
|
var styles = {"autocomplete":"v0Cys9vQ-NE-","options":"CX-N-e0e6og-","visible":"_4PlUaegVpkk-","option":"ucQtG0iwqbo-","active":"r8HS-ma79QE-","separator":"ydwLX44YFZc-","heading":"PvUgNoAUG7A-","icon":"DAOOFUZ1BRM-","text":"cjKJFup6hGY-","label":"hG5zNBuI2wA-","details":"_3CwjFCbhqi4-"};
|
|
36
|
-
styleInject_es.styleInject(css_248z);
|
|
37
35
|
|
|
38
36
|
var IndexChange;
|
|
39
37
|
(function (IndexChange) {
|
|
@@ -125,7 +123,7 @@ function useRepositionMenu(attachTo, visible = false) {
|
|
|
125
123
|
{ name: "flip", options: { fallbackPlacements: ["top"] } },
|
|
126
124
|
],
|
|
127
125
|
});
|
|
128
|
-
|
|
126
|
+
useSafeLayoutEffect.useSafeLayoutEffect(() => {
|
|
129
127
|
var _a;
|
|
130
128
|
(_a = popper === null || popper === void 0 ? void 0 : popper.update) === null || _a === void 0 ? void 0 : _a.call(popper);
|
|
131
129
|
}, [visible]);
|
package/dist/Avatar/index.js
CHANGED
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Avatar = require('../Avatar-
|
|
5
|
+
var Avatar = require('../Avatar-8955a61e.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
|
-
require('../style-inject.es-9d2f5f4e.js');
|
|
9
8
|
require('color');
|
|
10
|
-
require('../Icon-
|
|
9
|
+
require('../Icon-e0b68533.js');
|
|
11
10
|
require('@jobber/design');
|
|
12
11
|
|
|
13
12
|
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var classnames = require('classnames');
|
|
5
|
-
var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
|
|
6
5
|
var Color = require('color');
|
|
7
|
-
var Icon = require('./Icon-
|
|
6
|
+
var Icon = require('./Icon-e0b68533.js');
|
|
8
7
|
|
|
9
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
9
|
|
|
@@ -12,9 +11,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
12
11
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
13
12
|
var Color__default = /*#__PURE__*/_interopDefaultLegacy(Color);
|
|
14
13
|
|
|
15
|
-
var css_248z = ":root {\n --avatar-size: calc(var(--base-unit) * 2);\n --avatar-border-size: var(--border-base);\n}\n\n.WniTNadEyPk- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n width: calc(16px * 2);\n width: var(--avatar-size);\n height: calc(16px * 2);\n height: var(--avatar-size);\n min-width: calc(16px * 2);\n min-width: var(--avatar-size);\n min-height: calc(16px * 2);\n min-height: var(--avatar-size);\n border-radius: 100%;\n border-radius: var(--radius-circle);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n font-size: calc(16px * 2);\n font-size: var(--avatar-size);\n -webkit-font-smoothing: antialiased;\n background: no-repeat center center rgba(101, 120, 132, 1);\n background: no-repeat center center var(--color-greyBlue);\n background-size: cover;\n}\n\n.WniTNadEyPk-:focus {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n._8Pqn2uZpaZg- {\n --avatar-size: calc(var(--base-unit) * 4.5);\n --avatar-border-size: var(--border-thick);\n}\n\n.S-edTXYA-7E- {\n --avatar-size: calc(var(--base-unit) * 1.5);\n}\n\n.S1iBGElfOUA- {\n color: rgba(255, 255, 255, 1);\n color: var(--color-text--reverse);\n}\n\n.ErPhpHHpiBQ- {\n font-size: calc((16px * 2) / 2);\n font-size: calc(calc(16px * 2) / 2);\n font-size: calc(var(--avatar-size) / 2);\n text-transform: uppercase;\n}\n\n.aC-d-mngrIc- {\n font-size: calc((16px * 2) / 2.25);\n font-size: calc(calc(16px * 2) / 2.25);\n font-size: calc(var(--avatar-size) / 2.25);\n}\n\n.nR0S-GzjDnQ- {\n width: calc((16px * 2) - (calc(16px / 16) * 2));\n width: calc(calc(16px * 2) - (calc(16px / 16) * 2));\n width: calc(var(--avatar-size) - (var(--avatar-border-size) * 2));\n height: calc((16px * 2) - (calc(16px / 16) * 2));\n height: calc(calc(16px * 2) - (calc(16px / 16) * 2));\n height: calc(var(--avatar-size) - (var(--avatar-border-size) * 2));\n box-shadow: 0 0 0 calc(16px / 8) rgba(255, 255, 255, 1) inset;\n box-shadow: 0 0 0 var(--border-thick) var(--color-white) inset;\n border-style: solid;\n border-width: calc(16px / 16);\n border-width: var(--avatar-border-size);\n}\n";
|
|
16
14
|
var styles = {"avatar":"WniTNadEyPk-","large":"_8Pqn2uZpaZg-","small":"S-edTXYA-7E-","isDark":"S1iBGElfOUA-","initials":"ErPhpHHpiBQ-","smallInitials":"aC-d-mngrIc-","hasBorder":"nR0S-GzjDnQ-"};
|
|
17
|
-
styleInject_es.styleInject(css_248z);
|
|
18
15
|
|
|
19
16
|
function isDark(colorToCheck) {
|
|
20
17
|
if (colorToCheck == undefined) {
|
package/dist/Banner/index.js
CHANGED
|
@@ -5,12 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var classnames = require('classnames');
|
|
7
7
|
var jobberHooks = require('@jobber/hooks/useResizeObserver');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var Button = require('../Button-163a0641.js');
|
|
8
|
+
var Icon = require('../Icon-e0b68533.js');
|
|
9
|
+
var Text = require('../Text-3644f58e.js');
|
|
10
|
+
var Button = require('../Button-ee40b8fd.js');
|
|
12
11
|
require('@jobber/design');
|
|
13
|
-
require('../Typography-
|
|
12
|
+
require('../Typography-26964114.js');
|
|
14
13
|
require('react-router-dom');
|
|
15
14
|
|
|
16
15
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -18,13 +17,9 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
18
17
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
18
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
20
19
|
|
|
21
|
-
var css_248z$1 = ".meuT8gYQPJU- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n padding: calc(16px * 1);\n padding: var(--space-base);\n color: rgb(66, 78, 86);\n color: var(--color-text);\n background-color: rgb(238, 240, 242);\n background-color: var(--color-surface--background);\n gap: calc(16px / 2);\n gap: var(--space-small);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.y4BapyZr-fo- > a {\n color: rgb(66, 78, 86);\n color: var(--color-text);\n}\n\n.y4BapyZr-fo- > a:hover {\n color: rgb(1, 41, 57);\n color: var(--color-blue);\n}\n\n._6v1woNSLEvc- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n gap: calc(16px / 2);\n gap: var(--space-small);\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n@media (max-width: 489px) {\n\n._6v1woNSLEvc- {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n }\n\n@media (--small-screens-and-below) {\n\n._6v1woNSLEvc- {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n }\n\n.y4BapyZr-fo- {\n -ms-flex: 1;\n flex: 1;\n -ms-flex-item-align: center;\n align-self: center;\n}\n\n._6v1woNSLEvc- > *:last-child {\n margin-bottom: 0;\n}\n\n.bocgLmEhcTU- .y4BapyZr-fo- {\n -ms-flex: 1;\n flex: 1;\n}\n\n.rtNjEzmABX4- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n@media (max-width: 489px) {\n\n.rtNjEzmABX4- {\n width: 100%;\n margin-top: calc(16px / 2);\n margin-top: var(--space-small);\n}\n }\n\n@media (--small-screens-and-below) {\n\n.rtNjEzmABX4- {\n width: 100%;\n margin-top: calc(16px / 2);\n margin-top: var(--space-small);\n}\n }\n\n.lunQ5SOfyLg- {\n margin: calc((16px / 8) * -1) 0;\n margin: calc(calc(16px / 8) * -1) 0;\n margin: calc(var(--space-smallest) * -1) 0;\n padding: calc(16px / 8);\n padding: var(--space-smallest);\n border: none;\n background-color: transparent;\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n -ms-flex: 0;\n flex: 0;\n -ms-flex-item-align: start;\n align-self: flex-start;\n}\n\n.lunQ5SOfyLg-:hover {\n background: rgba(0, 0, 0, 0.025);\n}\n\n.lunQ5SOfyLg-:focus {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n outline: none;\n background: rgba(0, 0, 0, 0.05);\n}\n";
|
|
22
20
|
var styles = {"banner":"meuT8gYQPJU-","bannerChildren":"y4BapyZr-fo-","bannerContent":"_6v1woNSLEvc-","medium":"bocgLmEhcTU-","bannerAction":"rtNjEzmABX4-","closeButton":"lunQ5SOfyLg-"};
|
|
23
|
-
styleInject_es.styleInject(css_248z$1);
|
|
24
21
|
|
|
25
|
-
var css_248z = ".wWW-2T7rCV0- {\n background-color: rgb(226, 241, 250);\n background-color: var(--color-informative--surface);\n}\n\n/* Our Banner \"surface\" colors should be lighter than they are so we're leaving the following alone for now */\n\n._7h8FUHIkVjg- {\n background-color: rgb(203, 223, 159);\n background-color: var(--color-green--lighter);\n}\n\n.d5fXcE1L0lc- {\n background-color: rgb(241, 231, 159);\n background-color: var(--color-yellow--lighter);\n}\n\n.oYaw-T3c0IU- {\n background-color: rgb(255, 206, 194);\n background-color: var(--color-red--lighter);\n}\n";
|
|
26
22
|
var types = {"notice":"wWW-2T7rCV0-","success":"_7h8FUHIkVjg-","warning":"d5fXcE1L0lc-","error":"oYaw-T3c0IU-"};
|
|
27
|
-
styleInject_es.styleInject(css_248z);
|
|
28
23
|
|
|
29
24
|
function BannerIcon({ icon }) {
|
|
30
25
|
return React__default["default"].createElement(Icon.Icon, { name: icon, color: "greyBlueDark" });
|
package/dist/Button/index.js
CHANGED
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Button = require('../Button-
|
|
5
|
+
var Button = require('../Button-ee40b8fd.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('react-router-dom');
|
|
9
|
-
require('../
|
|
10
|
-
require('../Icon-405a216c.js');
|
|
9
|
+
require('../Icon-e0b68533.js');
|
|
11
10
|
require('@jobber/design');
|
|
12
|
-
require('../Typography-
|
|
11
|
+
require('../Typography-26964114.js');
|
|
13
12
|
|
|
14
13
|
|
|
15
14
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var reactRouterDom = require('react-router-dom');
|
|
6
|
+
var Icon = require('./Icon-e0b68533.js');
|
|
7
|
+
var Typography = require('./Typography-26964114.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 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-"};
|
|
15
|
+
|
|
16
|
+
function Button(props) {
|
|
17
|
+
const { ariaControls, ariaHaspopup, ariaExpanded, ariaLabel, disabled = false, external, fullWidth, icon, label, iconOnRight, id, loading, onClick, onMouseDown, role, size = "base", type = "primary", url, to, variation = "work", submit, } = props;
|
|
18
|
+
const buttonClassNames = classnames__default["default"](styles.button, styles[size], {
|
|
19
|
+
[styles.onlyIcon]: icon && !label,
|
|
20
|
+
[styles.hasIconAndLabel]: icon && label,
|
|
21
|
+
[styles.iconOnRight]: iconOnRight,
|
|
22
|
+
[styles[variation]]: variation,
|
|
23
|
+
[styles[type]]: type,
|
|
24
|
+
[styles.disabled]: disabled,
|
|
25
|
+
[styles.fullWidth]: fullWidth,
|
|
26
|
+
[styles.loading]: loading,
|
|
27
|
+
});
|
|
28
|
+
const buttonType = submit ? "submit" : "button";
|
|
29
|
+
const tagProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ className: buttonClassNames, disabled,
|
|
30
|
+
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 });
|
|
31
|
+
const buttonInternals = React__default["default"].createElement(ButtonInternals, Object.assign({}, props));
|
|
32
|
+
if (to) {
|
|
33
|
+
return (React__default["default"].createElement(reactRouterDom.Link, Object.assign({}, tagProps, { to: to }), buttonInternals));
|
|
34
|
+
}
|
|
35
|
+
const Tag = url ? "a" : "button";
|
|
36
|
+
return React__default["default"].createElement(Tag, Object.assign({}, tagProps), buttonInternals);
|
|
37
|
+
}
|
|
38
|
+
function ButtonInternals({ label, icon, size = "base" }) {
|
|
39
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
40
|
+
icon && React__default["default"].createElement(Icon.Icon, { name: icon, size: size }),
|
|
41
|
+
React__default["default"].createElement(Typography.Typography, { element: "span", fontWeight: "extraBold", fontFamily: "base", size: getTypeSizes(size) }, label)));
|
|
42
|
+
}
|
|
43
|
+
function getTypeSizes(size) {
|
|
44
|
+
switch (size) {
|
|
45
|
+
case "small":
|
|
46
|
+
return "small";
|
|
47
|
+
case "large":
|
|
48
|
+
return "large";
|
|
49
|
+
default:
|
|
50
|
+
return "base";
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
exports.Button = Button;
|
|
@@ -2,15 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var ButtonDismiss = require('../ButtonDismiss-
|
|
5
|
+
var ButtonDismiss = require('../ButtonDismiss-f45a7786.js');
|
|
6
6
|
require('react');
|
|
7
|
-
require('../Button-
|
|
7
|
+
require('../Button-ee40b8fd.js');
|
|
8
8
|
require('classnames');
|
|
9
9
|
require('react-router-dom');
|
|
10
|
-
require('../
|
|
11
|
-
require('../Icon-405a216c.js');
|
|
10
|
+
require('../Icon-e0b68533.js');
|
|
12
11
|
require('@jobber/design');
|
|
13
|
-
require('../Typography-
|
|
12
|
+
require('../Typography-26964114.js');
|
|
14
13
|
|
|
15
14
|
|
|
16
15
|
|
package/dist/Card/index.js
CHANGED
|
@@ -2,21 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Card = require('../Card-
|
|
5
|
+
var Card = require('../Card-6fe158ad.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
|
-
require('../
|
|
9
|
-
require('../
|
|
10
|
-
require('../
|
|
11
|
-
require('../Button-163a0641.js');
|
|
8
|
+
require('../Heading-2923b3c4.js');
|
|
9
|
+
require('../Typography-26964114.js');
|
|
10
|
+
require('../Button-ee40b8fd.js');
|
|
12
11
|
require('react-router-dom');
|
|
13
|
-
require('../Icon-
|
|
12
|
+
require('../Icon-e0b68533.js');
|
|
14
13
|
require('@jobber/design');
|
|
15
|
-
require('../Menu-
|
|
16
|
-
require('uuid');
|
|
14
|
+
require('../Menu-df3c9332.js');
|
|
17
15
|
require('framer-motion');
|
|
18
16
|
require('@jobber/hooks/useOnKeyDown');
|
|
19
17
|
require('@jobber/hooks/useRefocusOnActivator');
|
|
18
|
+
require('@jobber/hooks/useSafeLayoutEffect');
|
|
20
19
|
|
|
21
20
|
|
|
22
21
|
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var Heading = require('./Heading-2923b3c4.js');
|
|
6
|
+
var Button = require('./Button-ee40b8fd.js');
|
|
7
|
+
var Menu = require('./Menu-df3c9332.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 styles = {"card":"_2wxPdv7kELk-","accent":"_5LfUFF9DYsk-","clickable":"tRfpysqqk8s-","header":"fAPeD1InvAI-"};
|
|
15
|
+
|
|
16
|
+
var colors = {"requestColor":"vvT4WQQNm1A-","quoteColor":"ewWSA-AqPBs-","jobColor":"ZuQFWmcM-38-","invoiceColor":"b9aB-DbfSI8-","blue":"_6tFyd9Op3QY-","blueLight":"uFlsik1sMf8-","blueLighter":"_2dO0zCHWU48-","blueLightest":"RR-XaNyu23U-","blueDark":"HLricrV5TRM-","green":"fvMAXzbYjVo-","greenLight":"vppB-fszJ7M-","greenLighter":"EH4yrRyVrog-","greenLightest":"jfuIATPvpzw-","greenDark":"mDgzdSzCmlw-","lime":"OWeyNXobrek-","limeLight":"gBd-jW7hc2A-","limeLighter":"PZ3p2kISQl8-","limeLightest":"wk56Avrf5u8-","limeDark":"BpxVs0ESZZQ-","yellowGreen":"W1Plus-w90s-","yellowGreenLight":"MBvezPZf2r0-","yellowGreenLighter":"HpMA-8L7gEQ-","yellowGreenLightest":"Z7K3xhC6jU8-","yellowGreenDark":"qYud5BgZVDQ-","yellow":"UmKFuhj-odE-","yellowLight":"urbYXsHvb-o-","yellowLighter":"J5f4ygfEe1M-","yellowLightest":"f0YOqNTXr2c-","yellowDark":"zYMhMXskG-o-","red":"xMW5G3bcZ-U-","redLight":"-O8T8zi0AkQ-","redLighter":"WNaOw-wPD40-","redLightest":"_3jne5angZmM-","redDark":"Ce3FxZAnXks-","grey":"Ubx9QHfbYVg-","greyLight":"_9orHaOxo3ew-","greyLighter":"gvgk4-Qr7G8-","greyLightest":"_6dk6hwjKwz8-","greyDark":"LFsxlyhhXWE-","greyBlue":"MNze-s50Qx0-","greyBlueLight":"_1O6fbjtLDXE-","greyBlueLighter":"_3coHcfDM3VA-","greyBlueLightest":"_1GwEUK3RMmk-","greyBlueDark":"_03qQDU55XhA-","lightBlue":"XrONNgApzcY-","lightBlueLight":"axCpC15OAsQ-","lightBlueLighter":"l7-ZKiT7ECs-","lightBlueLightest":"R-d7ifPGd-U-","lightBlueDark":"tjGcvlfZNo0-","purple":"_6yFi1QGzU-0-","purpleLight":"s5B034ADstg-","purpleLighter":"XvHFMKO2QkA-","purpleLightest":"z1yqV2h-X0o-","purpleDark":"ShqfQED9t1k-","pink":"TSAuQcS9guw-","pinkLight":"GwUX04DtVTg-","pinkLighter":"OOxzzrT-Kyg-","pinkLightest":"_9iIg4vnXMPQ-","pinkDark":"_3VTCutRlbfQ-","teal":"fG-k53wCdy8-","tealLight":"GMNha2EEVYg-","tealLighter":"_8mCqw-pGqc8-","tealLightest":"XHd3g6apCv8-","tealDark":"XadpYA5oNNU-","orange":"yOjNuw4uX2M-","orangeLight":"CFBZb6YwS8U-","orangeLighter":"dj0X5xsNtZA-","orangeLightest":"bSU2KCid1GE-","orangeDark":"dPKWRPFuIko-","brown":"i90uzcHXLBQ-","brownLight":"Q1g5O8oxNQ8-","brownLighter":"UimWc99bIs0-","brownLightest":"AUWBtBoPSB4-","brownDark":"_7xEA4hCoooA-","navy":"IqAniikSo1A-","navyLight":"NTbn2du5U28-","navyLighter":"RbY7pJetOU0-","navyLightest":"TAlHuH8GUaY-","navyDark":"Pm1CuBHrg0Q-","indigo":"_-4HRcMjMcTg-","indigoLight":"frP-WGi4cig-","indigoLighter":"GzJbf-nczMU-","indigoLightest":"LFsNJs2wsGY-","indigoDark":"KRBIaqOA1G4-","white":"OXOOKDn6V-M-"};
|
|
17
|
+
|
|
18
|
+
const ENTER_KEY = "Enter";
|
|
19
|
+
const SPACEBAR_KEY = " ";
|
|
20
|
+
/**
|
|
21
|
+
* This is only intended to be used in the Card component.
|
|
22
|
+
* Please use `<Card onClick={onClick} />` component instead.
|
|
23
|
+
*/
|
|
24
|
+
function CardClickable({ className, onClick, children, }) {
|
|
25
|
+
const cardRef = React.useRef();
|
|
26
|
+
return (React__default["default"].createElement("div", { ref: cardRef, "data-testid": "clickable-card", className: className, onClick: onClick, onKeyUp: handleKeyup, onKeyDown: handleKeyDown, role: "button", tabIndex: 0 }, children));
|
|
27
|
+
function isCardFocused() {
|
|
28
|
+
return document.activeElement === cardRef.current;
|
|
29
|
+
}
|
|
30
|
+
function handleKeyup(event) {
|
|
31
|
+
var _a;
|
|
32
|
+
const shouldClick = event.key === ENTER_KEY || event.key === SPACEBAR_KEY;
|
|
33
|
+
if (shouldClick && isCardFocused()) {
|
|
34
|
+
(_a = cardRef.current) === null || _a === void 0 ? void 0 : _a.click();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function handleKeyDown(event) {
|
|
38
|
+
// Prevent page scroll when hitting spacebar while focused on a card
|
|
39
|
+
if (event.key === SPACEBAR_KEY && isCardFocused()) {
|
|
40
|
+
event.preventDefault();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Intended to be used in the Card component.
|
|
47
|
+
* Use `<Card header={header} />` component instead.
|
|
48
|
+
*/
|
|
49
|
+
function CardHeader({ title, header, }) {
|
|
50
|
+
const heading = title || header;
|
|
51
|
+
if (React__default["default"].isValidElement(heading))
|
|
52
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null, heading);
|
|
53
|
+
if (heading) {
|
|
54
|
+
const titleString = typeof heading === "string" ? heading : heading.title;
|
|
55
|
+
return (React__default["default"].createElement("div", { className: styles.header },
|
|
56
|
+
titleString && React__default["default"].createElement(Heading.Heading, { level: 3 }, titleString),
|
|
57
|
+
typeof heading === "object" && renderHeaderAction(heading === null || heading === void 0 ? void 0 : heading.action)));
|
|
58
|
+
}
|
|
59
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
60
|
+
}
|
|
61
|
+
function renderHeaderAction(action) {
|
|
62
|
+
if ((action === null || action === void 0 ? void 0 : action.type) === Button.Button) {
|
|
63
|
+
const props = Object.assign(Object.assign({ type: "tertiary" }, action.props), { size: "small" });
|
|
64
|
+
return action && React__default["default"].createElement(Button.Button, Object.assign({}, props));
|
|
65
|
+
}
|
|
66
|
+
if ((action === null || action === void 0 ? void 0 : action.type) === Menu.Menu) {
|
|
67
|
+
return action && React__default["default"].createElement(Menu.Menu, Object.assign({}, action.props));
|
|
68
|
+
}
|
|
69
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function Card({ accent, header, children, onClick, title, url, external = false, }) {
|
|
73
|
+
const className = classnames__default["default"](styles.card, accent && styles.accent, (url || onClick) && styles.clickable, accent && colors[accent]);
|
|
74
|
+
const cardContent = (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
75
|
+
React__default["default"].createElement(CardHeader, { title: title, header: header }),
|
|
76
|
+
children));
|
|
77
|
+
if (onClick) {
|
|
78
|
+
return (React__default["default"].createElement(CardClickable, { className: className, onClick: onClick }, cardContent));
|
|
79
|
+
}
|
|
80
|
+
else if (url) {
|
|
81
|
+
return (React__default["default"].createElement("a", Object.assign({ className: className, href: url }, (external && { target: "_blank", rel: "noopener noreferrer" })), cardContent));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return React__default["default"].createElement("div", { className: className }, cardContent);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
exports.Card = Card;
|
package/dist/Checkbox/index.js
CHANGED
|
@@ -2,17 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Checkbox = require('../Checkbox-
|
|
6
|
-
require('../tslib.es6-
|
|
5
|
+
var Checkbox = require('../Checkbox-f92901ad.js');
|
|
6
|
+
require('../tslib.es6-cb76b215.js');
|
|
7
7
|
require('react');
|
|
8
|
-
require('uuid');
|
|
9
8
|
require('classnames');
|
|
10
9
|
require('react-hook-form');
|
|
11
|
-
require('../
|
|
12
|
-
require('../Icon-405a216c.js');
|
|
10
|
+
require('../Icon-e0b68533.js');
|
|
13
11
|
require('@jobber/design');
|
|
14
|
-
require('../Text-
|
|
15
|
-
require('../Typography-
|
|
12
|
+
require('../Text-3644f58e.js');
|
|
13
|
+
require('../Typography-26964114.js');
|
|
16
14
|
|
|
17
15
|
|
|
18
16
|
|
|
@@ -1,29 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var tslib_es6 = require('./tslib.es6-
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-cb76b215.js');
|
|
4
4
|
var React = require('react');
|
|
5
|
-
var uuid = require('uuid');
|
|
6
5
|
var classnames = require('classnames');
|
|
7
6
|
var reactHookForm = require('react-hook-form');
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var Text = require('./Text-4a2bc89f.js');
|
|
7
|
+
var Icon = require('./Icon-e0b68533.js');
|
|
8
|
+
var Text = require('./Text-3644f58e.js');
|
|
11
9
|
|
|
12
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
11
|
|
|
14
12
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
13
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
16
14
|
|
|
17
|
-
var css_248z = ".d-2MyyzKGN0- {\n display: inline-block;\n}\n\n.OFHQaLxY8zI- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: start;\n align-items: flex-start;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: pointer;\n}\n\n.HRrf3AZlpHc- {\n cursor: not-allowed;\n}\n\n.kMH5B1jwh-Y- {\n position: relative;\n}\n\n.rup0RBe4DNU- {\n /* Hide checkbox on UI but not screen readers and still allow focus state */\n position: absolute;\n width: 1px;\n height: 1px;\n overflow: hidden;\n clip: rect(0 0 0 0);\n -webkit-clip-path: inset(100%);\n clip-path: inset(100%);\n white-space: nowrap;\n}\n\n.lOQVnJA7zPM- {\n display: -ms-flexbox;\n display: flex;\n width: calc(16px * 1);\n width: var(--space-base);\n height: calc(16px * 1);\n height: var(--space-base);\n box-sizing: border-box;\n border: calc(16px / 8) solid rgb(125, 176, 14);\n border: var(--border-thick) solid var(--color-interactive);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n transition: all 200ms;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.HRrf3AZlpHc- .lOQVnJA7zPM- {\n border-color: rgb(225, 225, 225);\n border-color: var(--color-disabled--secondary);\n}\n\n.HRrf3AZlpHc- p {\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n}\n\n.HRrf3AZlpHc- .lOQVnJA7zPM- > * {\n opacity: 0;\n}\n\n.rup0RBe4DNU-.Njn2CQDXwVA- + .lOQVnJA7zPM-,\n.rup0RBe4DNU-:checked + .lOQVnJA7zPM- {\n border-color: rgb(125, 176, 14);\n border-color: var(--color-interactive);\n background-color: rgb(125, 176, 14);\n background-color: var(--color-interactive);\n}\n\n.rup0RBe4DNU-:focus + .lOQVnJA7zPM- {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n}\n\n.HRrf3AZlpHc- .rup0RBe4DNU-.Njn2CQDXwVA- + .lOQVnJA7zPM-,\n.HRrf3AZlpHc- .rup0RBe4DNU-:checked + .lOQVnJA7zPM- {\n border-color: rgb(225, 225, 225);\n border-color: var(--color-disabled--secondary);\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n}\n\n.HRrf3AZlpHc- .rup0RBe4DNU-.Njn2CQDXwVA- + .lOQVnJA7zPM- > *,\n.HRrf3AZlpHc- .rup0RBe4DNU-:checked + .lOQVnJA7zPM- > * {\n opacity: 1;\n}\n\n.eHENKCs5umc- {\n margin: 0 calc(16px / 2);\n margin: 0 var(--space-small);\n}\n\n.fSEH0cAO9cI- {\n margin-bottom: calc(16px / 2);\n margin-bottom: var(--space-small);\n padding-left: calc(16px * 1.5);\n padding-left: var(--space-large);\n}\n";
|
|
18
15
|
var styles = {"checkbox":"d-2MyyzKGN0-","wrapper":"OFHQaLxY8zI-","disabled":"HRrf3AZlpHc-","checkHolder":"kMH5B1jwh-Y-","input":"rup0RBe4DNU-","checkBox":"lOQVnJA7zPM-","indeterminate":"Njn2CQDXwVA-","label":"eHENKCs5umc-","description":"fSEH0cAO9cI-"};
|
|
19
|
-
styleInject_es.styleInject(css_248z);
|
|
20
16
|
|
|
21
17
|
function Checkbox({ checked, defaultChecked, disabled, label, name, value, indeterminate = false, description, children, onChange, onFocus, }) {
|
|
18
|
+
const id = React.useId();
|
|
22
19
|
const { control, setValue, watch } = reactHookForm.useFormContext() != undefined
|
|
23
20
|
? reactHookForm.useFormContext()
|
|
24
21
|
: // If there isn't a Form Context being provided, get a form for this field.
|
|
25
22
|
reactHookForm.useForm({ mode: "onTouched" });
|
|
26
|
-
const [identifier] = React.useState(
|
|
23
|
+
const [identifier] = React.useState(id);
|
|
27
24
|
/**
|
|
28
25
|
* Generate a name if one is not supplied, this is the name
|
|
29
26
|
* that will be used for react-hook-form and not neccessarily
|
package/dist/Chip/index.js
CHANGED
|
@@ -2,20 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Chip = require('../Chip-
|
|
6
|
-
var tslib_es6 = require('../tslib.es6-
|
|
5
|
+
var Chip = require('../Chip-eafb9c3b.js');
|
|
6
|
+
var tslib_es6 = require('../tslib.es6-cb76b215.js');
|
|
7
7
|
var React = require('react');
|
|
8
|
-
var Icon = require('../Icon-
|
|
8
|
+
var Icon = require('../Icon-e0b68533.js');
|
|
9
9
|
require('classnames');
|
|
10
10
|
require('@jobber/hooks/useInView');
|
|
11
|
-
require('../
|
|
12
|
-
require('../Avatar-76a799fa.js');
|
|
11
|
+
require('../Avatar-8955a61e.js');
|
|
13
12
|
require('color');
|
|
14
|
-
require('../Typography-
|
|
15
|
-
require('../Tooltip-
|
|
13
|
+
require('../Typography-26964114.js');
|
|
14
|
+
require('../Tooltip-e4cfb9e0.js');
|
|
16
15
|
require('react-dom');
|
|
17
16
|
require('framer-motion');
|
|
17
|
+
require('@jobber/hooks/useSafeLayoutEffect');
|
|
18
18
|
require('react-popper');
|
|
19
|
+
require('../ClientOnly-0bc210d3.js');
|
|
19
20
|
require('@jobber/design');
|
|
20
21
|
|
|
21
22
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var useInView = require('@jobber/hooks/useInView');
|
|
6
|
+
var Avatar = require('./Avatar-8955a61e.js');
|
|
7
|
+
var Icon = require('./Icon-e0b68533.js');
|
|
8
|
+
var Typography = require('./Typography-26964114.js');
|
|
9
|
+
var Tooltip = require('./Tooltip-e4cfb9e0.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 styles = {"chip":"af7U8MvcbHE-","prefix":"e905AYK4SCc-","suffix":"ySADfZ0FckM-","empty":"usdkmQ9Sxbk-","chipBar":"dg1-Izy1eQA-","selected":"-lz0EYLTDgg-","base":"wSI5L-5rODg-","invalid":"SmUxkzpIC84-","subtle":"Mux23dmZSuw-","disabled":"MbRItb9vKhc-","chipContent":"tJhURjR2Vec-","truncateGradient":"G3QXY0rNcK0-","chipLabelRef":"MUKEW6c2nNA-"};
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Returns the first React Child that receives `true` from isCorrectComponent
|
|
20
|
+
* @param children React Children
|
|
21
|
+
* @param isCorrectComponent a function that accepts a JSX Element and returns a boolean.
|
|
22
|
+
* @returns The first child component that returns true on isCorrectComponent
|
|
23
|
+
*/
|
|
24
|
+
function useChildComponent(children, isCorrectComponent) {
|
|
25
|
+
return React.useMemo(() => {
|
|
26
|
+
return React__default["default"].Children.toArray(children).find(d => React.isValidElement(d) && isCorrectComponent(d));
|
|
27
|
+
}, [children]);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function ChipPrefix({ children }) {
|
|
31
|
+
const singleChild = useChildComponent(children, d => d.type === Avatar.Avatar || d.type === Icon.Icon);
|
|
32
|
+
return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.prefix, !singleChild && styles.empty) }, singleChild));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
function ChipSuffix({ children, className }) {
|
|
36
|
+
var _a;
|
|
37
|
+
let singleChild = useChildComponent(children, d => d.type === Icon.Icon);
|
|
38
|
+
if (!allowedSuffixIcons.includes((_a = singleChild === null || singleChild === void 0 ? void 0 : singleChild.props) === null || _a === void 0 ? void 0 : _a.name)) {
|
|
39
|
+
singleChild = undefined;
|
|
40
|
+
}
|
|
41
|
+
return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.suffix, className, !singleChild && styles.empty) }, singleChild));
|
|
42
|
+
}
|
|
43
|
+
const allowedSuffixIcons = ["cross", "add", "checkmark", "arrowDown"];
|
|
44
|
+
|
|
45
|
+
const Chip = ({ ariaLabel, disabled, heading, invalid, label, value, onClick, onKeyDown, children, role = "button", tabIndex = 0, variation = "base", }) => {
|
|
46
|
+
const classes = classnames__default["default"](styles.chip, {
|
|
47
|
+
[styles.invalid]: invalid,
|
|
48
|
+
[styles.base]: variation === "base",
|
|
49
|
+
[styles.subtle]: variation === "subtle",
|
|
50
|
+
[styles.disabled]: disabled,
|
|
51
|
+
});
|
|
52
|
+
const prefix = useChildComponent(children, d => d.type === Chip.Prefix);
|
|
53
|
+
const suffix = useChildComponent(children, d => d.type === Chip.Suffix);
|
|
54
|
+
const [labelRef, labelFullyVisible] = useInView.useInView();
|
|
55
|
+
const [headingRef, headingFullyVisible] = useInView.useInView();
|
|
56
|
+
const tooltipMessage = getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading);
|
|
57
|
+
return (React__default["default"].createElement(Tooltip.Tooltip, { message: tooltipMessage },
|
|
58
|
+
React__default["default"].createElement("button", { className: classes, onClick: (ev) => onClick && onClick(value, ev), tabIndex: tabIndex, onKeyDown: onKeyDown, "aria-label": ariaLabel || label, disabled: disabled, role: role, type: "button" },
|
|
59
|
+
prefix,
|
|
60
|
+
React__default["default"].createElement("div", { className: styles.chipContent },
|
|
61
|
+
heading && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
62
|
+
React__default["default"].createElement(Typography.Typography, { size: "base", fontWeight: "medium" },
|
|
63
|
+
heading,
|
|
64
|
+
React__default["default"].createElement("span", { ref: headingRef, className: styles.chipLabelRef })),
|
|
65
|
+
label && React__default["default"].createElement("span", { className: styles.chipBar }))),
|
|
66
|
+
React__default["default"].createElement(Typography.Typography, { size: "base" },
|
|
67
|
+
label,
|
|
68
|
+
React__default["default"].createElement("span", { ref: labelRef, className: styles.chipLabelRef })),
|
|
69
|
+
!labelFullyVisible && (React__default["default"].createElement("div", { className: styles.truncateGradient, "data-testid": "ATL-Chip-Truncation-Gradient" }))),
|
|
70
|
+
suffix)));
|
|
71
|
+
};
|
|
72
|
+
function getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading) {
|
|
73
|
+
let message = "";
|
|
74
|
+
if (heading && !headingFullyVisible) {
|
|
75
|
+
message = `${heading} | ${label}`;
|
|
76
|
+
}
|
|
77
|
+
else if (!labelFullyVisible) {
|
|
78
|
+
message = label;
|
|
79
|
+
}
|
|
80
|
+
return message;
|
|
81
|
+
}
|
|
82
|
+
Chip.Prefix = ChipPrefix;
|
|
83
|
+
Chip.Suffix = ChipSuffix;
|
|
84
|
+
|
|
85
|
+
exports.Chip = Chip;
|
|
86
|
+
exports.styles = styles;
|