@jobber/components 4.67.1 → 4.67.2-retheme-co.5
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/Autocomplete/index.js +10 -10
- package/dist/Avatar/index.js +1 -1
- package/dist/{Avatar-76a799fa.js → Avatar-3bb347c0.js} +2 -2
- package/dist/Banner/index.js +7 -7
- package/dist/Button/index.js +2 -2
- package/dist/Button-315fdd36.js +57 -0
- package/dist/ButtonDismiss/index.js +3 -3
- package/dist/{ButtonDismiss-2b98d075.js → ButtonDismiss-10b55ea8.js} +1 -1
- package/dist/Card/index.js +5 -5
- package/dist/Card-fe44ab83.js +93 -0
- package/dist/Checkbox/index.js +3 -3
- package/dist/{Checkbox-ad7ec2e7.js → Checkbox-e13780f7.js} +3 -3
- package/dist/Chip/index.js +4 -4
- package/dist/Chip-ab0db6e3.js +89 -0
- package/dist/Chips/index.js +10 -10
- package/dist/Combobox/index.js +7 -7
- package/dist/{Combobox-eb1e5817.js → Combobox-a211b89c.js} +18 -18
- package/dist/ConfirmationModal/index.js +10 -10
- package/dist/{ConfirmationModal-0f85d96c.js → ConfirmationModal-0d529f1c.js} +3 -3
- package/dist/Content/index.js +1 -1
- package/dist/Content-f562fa97.js +24 -0
- package/dist/DataDump/index.js +7 -7
- package/dist/DataList/index.js +48 -48
- package/dist/DataTable/index.js +17 -17
- package/dist/DatePicker/index.js +3 -3
- package/dist/{DatePicker-c18f1739.js → DatePicker-86ce5543.js} +4 -4
- package/dist/DescriptionList/index.js +3 -3
- package/dist/Disclosure/index.js +3 -3
- package/dist/Divider/index.js +2 -2
- package/dist/Drawer/index.js +8 -8
- package/dist/Emphasis/index.js +2 -2
- package/dist/{Emphasis-b2d1b3aa.js → Emphasis-562dc20f.js} +1 -1
- package/dist/FeatureSwitch/index.js +10 -10
- package/dist/Flex/index.js +2 -2
- package/dist/FormField/index.js +6 -6
- package/dist/{FormField-dfc061ca.js → FormField-81f94a56.js} +6 -6
- package/dist/FormatEmail/index.js +2 -2
- package/dist/FormatFile/index.js +13 -13
- package/dist/FormatFile-4721d6e1.js +121 -0
- package/dist/Gallery/index.js +16 -16
- package/dist/Glimmer/index.js +2 -2
- package/dist/Glimmer-7d30eb94.js +77 -0
- package/dist/Grid/index.js +6 -6
- package/dist/Heading/index.js +2 -2
- package/dist/{Heading-0f4ecb0c.js → Heading-33d621dd.js} +1 -1
- package/dist/InlineLabel/index.js +2 -2
- package/dist/InlineLabel-4d7324ac.js +28 -0
- package/dist/InputAvatar/index.js +8 -8
- package/dist/InputDate/index.js +7 -7
- package/dist/InputEmail/index.js +6 -6
- package/dist/InputFile/index.js +4 -4
- package/dist/{InputFile-540c1657.js → InputFile-818f026a.js} +5 -5
- package/dist/InputGroup/index.js +1 -1
- package/dist/InputGroup-ae670374.js +33 -0
- package/dist/InputNumber/index.js +7 -7
- package/dist/{InputNumber-d9ebabaa.js → InputNumber-4b1b6ec9.js} +1 -1
- package/dist/InputPassword/index.js +6 -6
- package/dist/InputPhoneNumber/index.js +8 -8
- package/dist/InputText/index.js +7 -7
- package/dist/{InputText-f7c45ee5.js → InputText-c9117290.js} +1 -1
- package/dist/InputTime/index.js +6 -6
- package/dist/InputValidation/index.js +3 -3
- package/dist/{InputValidation-179f0926.js → InputValidation-b7b3bc73.js} +3 -3
- package/dist/LightBox/index.js +4 -4
- package/dist/{LightBox-3f4dbc33.js → LightBox-0ed0736a.js} +4 -4
- package/dist/List/index.js +12 -12
- package/dist/Markdown/index.js +6 -6
- package/dist/{Markdown-96070121.js → Markdown-458aeb1e.js} +4 -4
- package/dist/Menu/index.js +3 -3
- package/dist/{Menu-d7ea093c.js → Menu-26149e93.js} +4 -4
- package/dist/Modal/index.js +5 -5
- package/dist/{Modal-70daa0e2.js → Modal-112928c4.js} +7 -7
- package/dist/MultiSelect/index.js +7 -7
- package/dist/{Option-469029b5.js → Option-62da6894.js} +1 -1
- package/dist/Page/index.js +10 -10
- package/dist/Popover/index.js +5 -5
- package/dist/ProgressBar/index.js +1 -1
- package/dist/ProgressBar-795d1357.js +43 -0
- package/dist/RadioGroup/index.js +3 -3
- package/dist/RadioGroup-8af6e169.js +47 -0
- package/dist/RecurringSelect/index.js +23 -23
- package/dist/Select/index.js +7 -7
- package/dist/Spinner/index.js +1 -1
- package/dist/Spinner-ba6cbf66.js +24 -0
- package/dist/StatusLabel/index.js +4 -4
- package/dist/Switch/index.js +2 -2
- package/dist/Switch-bae6ee85.js +56 -0
- package/dist/Table/index.js +4 -4
- package/dist/Tabs/index.js +3 -3
- package/dist/Text/index.js +2 -2
- package/dist/{Text-4a2bc89f.js → Text-982ed306.js} +1 -1
- package/dist/Toast/index.js +4 -4
- package/dist/Tooltip/index.js +1 -1
- package/dist/{Tooltip-6b12f1c2.js → Tooltip-1b266564.js} +2 -2
- package/dist/Typography/index.js +1 -1
- package/dist/Typography-702ee9a7.js +62 -0
- package/package.json +3 -3
- package/rollup.config.js +1 -1
- package/dist/Button-163a0641.js +0 -57
- package/dist/Card-3178033c.js +0 -93
- package/dist/Chip-168acf3e.js +0 -89
- package/dist/Content-2ca1ffe1.js +0 -24
- 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/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
|
@@ -10,20 +10,20 @@ var classnames = require('classnames');
|
|
|
10
10
|
var ReactDOM = require('react-dom');
|
|
11
11
|
var reactPopper = require('react-popper');
|
|
12
12
|
var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
|
|
13
|
-
var Text = require('../Text-
|
|
13
|
+
var Text = require('../Text-982ed306.js');
|
|
14
14
|
var Icon = require('../Icon-405a216c.js');
|
|
15
|
-
var Heading = require('../Heading-
|
|
16
|
-
var InputText = require('../InputText-
|
|
17
|
-
require('../Typography-
|
|
15
|
+
var Heading = require('../Heading-33d621dd.js');
|
|
16
|
+
var InputText = require('../InputText-c9117290.js');
|
|
17
|
+
require('../Typography-702ee9a7.js');
|
|
18
18
|
require('@jobber/design');
|
|
19
|
-
require('../FormField-
|
|
19
|
+
require('../FormField-81f94a56.js');
|
|
20
20
|
require('uuid');
|
|
21
21
|
require('react-hook-form');
|
|
22
|
-
require('../Button-
|
|
22
|
+
require('../Button-315fdd36.js');
|
|
23
23
|
require('react-router-dom');
|
|
24
|
-
require('../InputValidation-
|
|
24
|
+
require('../InputValidation-b7b3bc73.js');
|
|
25
25
|
require('framer-motion');
|
|
26
|
-
require('../Spinner-
|
|
26
|
+
require('../Spinner-ba6cbf66.js');
|
|
27
27
|
|
|
28
28
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
29
|
|
|
@@ -31,8 +31,8 @@ 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 = ".
|
|
35
|
-
var styles = {"autocomplete":"
|
|
34
|
+
var css_248z = ".Autocomplete__autocomplete---retheme- {\n position: relative;\n width: 100%;\n}\n\n.Autocomplete__options---retheme- {\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.Autocomplete__options---retheme- 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.Autocomplete__options---retheme-.Autocomplete__visible---retheme- {\n display: block;\n}\n\n.Autocomplete__options---retheme-.Autocomplete__visible---retheme-:empty {\n display: none;\n}\n\n.Autocomplete__option---retheme- {\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.Autocomplete__option---retheme-:hover,\n.Autocomplete__option---retheme-:focus,\n.Autocomplete__option---retheme-.Autocomplete__active---retheme- {\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.Autocomplete__option---retheme-.Autocomplete__separator---retheme-: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.Autocomplete__options---retheme-:hover .Autocomplete__option---retheme-.Autocomplete__active---retheme-:not(:hover) {\n background-color: transparent;\n outline-color: transparent;\n}\n\n.Autocomplete__autocomplete---retheme- .Autocomplete__heading---retheme-:not(:first-child) {\n padding-top: calc(16px / 2);\n padding-top: var(--space-small);\n}\n\n.Autocomplete__option---retheme- .Autocomplete__icon---retheme- {\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.Autocomplete__option---retheme- .Autocomplete__text---retheme- {\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.Autocomplete__option---retheme- .Autocomplete__label---retheme- {\n -ms-flex: 2;\n flex: 2;\n}\n\n.Autocomplete__option---retheme- .Autocomplete__details---retheme- {\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
|
+
var styles = {"autocomplete":"Autocomplete__autocomplete---retheme-","options":"Autocomplete__options---retheme-","visible":"Autocomplete__visible---retheme-","option":"Autocomplete__option---retheme-","active":"Autocomplete__active---retheme-","separator":"Autocomplete__separator---retheme-","heading":"Autocomplete__heading---retheme-","icon":"Autocomplete__icon---retheme-","text":"Autocomplete__text---retheme-","label":"Autocomplete__label---retheme-","details":"Autocomplete__details---retheme-"};
|
|
36
36
|
styleInject_es.styleInject(css_248z);
|
|
37
37
|
|
|
38
38
|
var IndexChange;
|
package/dist/Avatar/index.js
CHANGED
|
@@ -12,8 +12,8 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
12
12
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
13
13
|
var Color__default = /*#__PURE__*/_interopDefaultLegacy(Color);
|
|
14
14
|
|
|
15
|
-
var css_248z = ":root {\n --avatar-size: calc(var(--base-unit) * 2);\n --avatar-border-size: var(--border-base);\n}\n\n.
|
|
16
|
-
var styles = {"avatar":"
|
|
15
|
+
var css_248z = ":root {\n --avatar-size: calc(var(--base-unit) * 2);\n --avatar-border-size: var(--border-base);\n}\n\n.Avatar__avatar---retheme- {\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.Avatar__avatar---retheme-: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.Avatar__large---retheme- {\n --avatar-size: calc(var(--base-unit) * 4.5);\n --avatar-border-size: var(--border-thick);\n}\n\n.Avatar__small---retheme- {\n --avatar-size: calc(var(--base-unit) * 1.5);\n}\n\n.Avatar__isDark---retheme- {\n color: rgba(255, 255, 255, 1);\n color: var(--color-text--reverse);\n}\n\n.Avatar__initials---retheme- {\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.Avatar__smallInitials---retheme- {\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.Avatar__hasBorder---retheme- {\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
|
+
var styles = {"avatar":"Avatar__avatar---retheme-","large":"Avatar__large---retheme-","small":"Avatar__small---retheme-","isDark":"Avatar__isDark---retheme-","initials":"Avatar__initials---retheme-","smallInitials":"Avatar__smallInitials---retheme-","hasBorder":"Avatar__hasBorder---retheme-"};
|
|
17
17
|
styleInject_es.styleInject(css_248z);
|
|
18
18
|
|
|
19
19
|
function isDark(colorToCheck) {
|
package/dist/Banner/index.js
CHANGED
|
@@ -7,10 +7,10 @@ var classnames = require('classnames');
|
|
|
7
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
|
-
var Text = require('../Text-
|
|
11
|
-
var Button = require('../Button-
|
|
10
|
+
var Text = require('../Text-982ed306.js');
|
|
11
|
+
var Button = require('../Button-315fdd36.js');
|
|
12
12
|
require('@jobber/design');
|
|
13
|
-
require('../Typography-
|
|
13
|
+
require('../Typography-702ee9a7.js');
|
|
14
14
|
require('react-router-dom');
|
|
15
15
|
|
|
16
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -18,12 +18,12 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
18
18
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
19
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
20
20
|
|
|
21
|
-
var css_248z$1 = ".
|
|
22
|
-
var styles = {"banner":"
|
|
21
|
+
var css_248z$1 = ".Banner__banner---retheme- {\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.Banner__bannerChildren---retheme- > a {\n color: rgb(66, 78, 86);\n color: var(--color-text);\n}\n\n.Banner__bannerChildren---retheme- > a:hover {\n color: rgb(1, 41, 57);\n color: var(--color-blue);\n}\n\n.Banner__bannerContent---retheme- {\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.Banner__bannerContent---retheme- {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n }\n\n@media (--small-screens-and-below) {\n\n.Banner__bannerContent---retheme- {\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n}\n }\n\n.Banner__bannerChildren---retheme- {\n -ms-flex: 1;\n flex: 1;\n -ms-flex-item-align: center;\n align-self: center;\n}\n\n.Banner__bannerContent---retheme- > *:last-child {\n margin-bottom: 0;\n}\n\n.Banner__medium---retheme- .Banner__bannerChildren---retheme- {\n -ms-flex: 1;\n flex: 1;\n}\n\n.Banner__bannerAction---retheme- {\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.Banner__bannerAction---retheme- {\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.Banner__bannerAction---retheme- {\n width: 100%;\n margin-top: calc(16px / 2);\n margin-top: var(--space-small);\n}\n }\n\n.Banner__closeButton---retheme- {\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.Banner__closeButton---retheme-:hover {\n background: rgba(0, 0, 0, 0.025);\n}\n\n.Banner__closeButton---retheme-: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
|
+
var styles = {"banner":"Banner__banner---retheme-","bannerChildren":"Banner__bannerChildren---retheme-","bannerContent":"Banner__bannerContent---retheme-","medium":"Banner__medium---retheme-","bannerAction":"Banner__bannerAction---retheme-","closeButton":"Banner__closeButton---retheme-"};
|
|
23
23
|
styleInject_es.styleInject(css_248z$1);
|
|
24
24
|
|
|
25
|
-
var css_248z = ".
|
|
26
|
-
var types = {"notice":"
|
|
25
|
+
var css_248z = ".notificationTypes__notice---retheme- {\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.notificationTypes__success---retheme- {\n background-color: rgb(203, 223, 159);\n background-color: var(--color-green--lighter);\n}\n\n.notificationTypes__warning---retheme- {\n background-color: rgb(241, 231, 159);\n background-color: var(--color-yellow--lighter);\n}\n\n.notificationTypes__error---retheme- {\n background-color: rgb(255, 206, 194);\n background-color: var(--color-red--lighter);\n}\n";
|
|
26
|
+
var types = {"notice":"notificationTypes__notice---retheme-","success":"notificationTypes__success---retheme-","warning":"notificationTypes__warning---retheme-","error":"notificationTypes__error---retheme-"};
|
|
27
27
|
styleInject_es.styleInject(css_248z);
|
|
28
28
|
|
|
29
29
|
function BannerIcon({ icon }) {
|
package/dist/Button/index.js
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Button = require('../Button-
|
|
5
|
+
var Button = require('../Button-315fdd36.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('react-router-dom');
|
|
9
9
|
require('../style-inject.es-9d2f5f4e.js');
|
|
10
10
|
require('../Icon-405a216c.js');
|
|
11
11
|
require('@jobber/design');
|
|
12
|
-
require('../Typography-
|
|
12
|
+
require('../Typography-702ee9a7.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -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-702ee9a7.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: black;\n --button--color-variation--hover: darkgrey;\n --button--color-surface: var(--color-surface);\n --button--color-surface--hover: var(--color-surface--background);\n --button--color-primaryLabel: var(--color-white);\n --button--radius: var(--radius-larger);\n\n --button--duration-loading: var(--timing-loading--extended);\n}\n\n.Button__button---retheme- {\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 black;\n border: var(--border-base) solid var(--button--color-variation);\n border-radius: calc(16px / 2);\n border-radius: var(--button--radius);\n color: black;\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: black;\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.Button__button---retheme- * {\n fill: inherit !important;\n}\n\n.Button__button---retheme- * {\n color: inherit;\n /* required to over-ride very specific fill from <Icon> */\n}\n\n.Button__button---retheme-:hover,\na.Button__button---retheme-:hover,\n.Button__button---retheme-:focus,\na.Button__button---retheme-:focus,\n.Button__button---retheme-:active,\na.Button__button---retheme-:active {\n border-color: darkgrey;\n border-color: var(--button--color-variation--hover);\n color: darkgrey;\n color: var(--button--color-variation--hover);\n fill: darkgrey;\n fill: var(--button--color-variation--hover);\n background-color: rgb(238, 240, 242);\n background-color: var(--button--color-surface--hover);\n}\n\n.Button__button---retheme-:focus,\na.Button__button---retheme-:focus,\n.Button__button---retheme-:active,\na.Button__button---retheme-:active {\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/* Variation */\n\n.Button__work---retheme- {\n --button--color-variation: black;\n --button--color-variation--hover: darkGrey;\n}\n\n.Button__learning---retheme- {\n --button--color-variation: var(--color-informative);\n --button--color-variation--hover: var(--color-informative--onSurface);\n}\n\n.Button__destructive---retheme- {\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.Button__subtle---retheme- {\n --button--color-variation: var(--color-interactive--subtle);\n --button--color-variation--hover: var(--color-interactive--subtle--hover);\n}\n\n/* Type */\n\n.Button__primary---retheme-:not(.Button__subtle---retheme-):not(.Button__disabled---retheme-),\n.Button__primary---retheme-:not(.Button__subtle---retheme-):not(.Button__disabled---retheme-):hover,\n.Button__primary---retheme-:not(.Button__subtle---retheme-):not(.Button__disabled---retheme-):focus {\n color: rgba(255, 255, 255, 1);\n color: var(--button--color-primaryLabel);\n background-color: black;\n background-color: var(--button--color-variation);\n fill: rgba(255, 255, 255, 1);\n fill: var(--button--color-primaryLabel);\n}\n\n.Button__primary---retheme-:not(.Button__subtle---retheme-):not(.Button__disabled---retheme-):hover,\n.Button__primary---retheme-:not(.Button__subtle---retheme-):not(.Button__disabled---retheme-):focus {\n background-color: darkgrey;\n background-color: var(--button--color-variation--hover);\n}\n\n.Button__subtle---retheme-.Button__primary---retheme- {\n color: black;\n color: var(--button--color-variation);\n fill: black;\n fill: var(--button--color-variation);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n}\n\n.Button__secondary---retheme-,\n.Button__subtle---retheme-.Button__primary---retheme- {\n border-color: black;\n border-color: var(--button--color-variation);\n}\n\n.Button__subtle---retheme-.Button__primary---retheme-:hover,\n.Button__subtle---retheme-.Button__primary---retheme-:focus {\n color: darkgrey;\n color: var(--button--color-variation--hover);\n background-color: rgb(238, 240, 242);\n background-color: var(--button--color-surface--hover);\n fill: darkgrey;\n fill: var(--button--color-variation--hover);\n}\n\n.Button__subtle---retheme-.Button__secondary---retheme- {\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n}\n\n.Button__tertiary---retheme-,\n.Button__subtle---retheme-.Button__secondary---retheme- {\n border-color: transparent;\n}\n\n.Button__subtle---retheme-.Button__secondary---retheme-:hover,\n.Button__subtle---retheme-.Button__secondary---retheme-:focus {\n background-color: rgb(238, 240, 242);\n background-color: var(--button--color-surface--hover);\n}\n\n.Button__tertiary---retheme-:hover,\n.Button__tertiary---retheme-:focus,\na.Button__tertiary---retheme-:hover,\na.Button__tertiary---retheme-:focus,\n.Button__subtle---retheme-.Button__secondary---retheme-:hover,\n.Button__subtle---retheme-.Button__secondary---retheme-:focus,\na.Button__subtle---retheme-.Button__secondary---retheme-:hover,\na.Button__subtle---retheme-.Button__secondary---retheme-:focus {\n border-color: transparent;\n}\n\n.Button__subtle---retheme-.Button__tertiary---retheme- {\n border-color: transparent;\n background-color: transparent;\n}\n\n.Button__subtle---retheme-.Button__tertiary---retheme-:hover,\n.Button__subtle---retheme-.Button__tertiary---retheme-:focus,\na.Button__subtle---retheme-.Button__tertiary---retheme-:hover,\na.Button__subtle---retheme-.Button__tertiary---retheme-: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.Button__button---retheme-.Button__disabled---retheme-,\na.Button__button---retheme-.Button__disabled---retheme-,\n.Button__button---retheme-.Button__disabled---retheme-:hover,\na.Button__button---retheme-.Button__disabled---retheme-: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.Button__small---retheme- {\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.Button__base---retheme- {\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.Button__large---retheme- {\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.Button__onlyIcon---retheme- {\n width: calc(16px * 2.25);\n width: calc(var(--base-unit) * 2.25);\n padding: 0;\n}\n\n.Button__onlyIcon---retheme-.Button__small---retheme- {\n width: calc((16px / 2) * 3);\n width: calc(calc(16px / 2) * 3);\n width: calc(var(--space-small) * 3);\n}\n\n.Button__onlyIcon---retheme-.Button__base---retheme- {\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.Button__onlyIcon---retheme-.Button__large---retheme- {\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.Button__hasIconAndLabel---retheme- {\n width: auto;\n}\n\n.Button__hasIconAndLabel---retheme- > * {\n text-align: left;\n}\n\n.Button__hasIconAndLabel---retheme- > *: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.Button__iconOnRight---retheme- > *: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.Button__fullWidth---retheme- {\n width: 100%;\n}\n\n.Button__loading---retheme- {\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: Button__animateStripes---retheme-;\n animation-name: Button__animateStripes---retheme-;\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n}\n\n.Button__primary---retheme-.Button__loading---retheme-:not(.Button__subtle---retheme-) {\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 Button__animateStripes---retheme- {\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 Button__animateStripes---retheme- {\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":"Button__button---retheme-","work":"Button__work---retheme-","learning":"Button__learning---retheme-","destructive":"Button__destructive---retheme-","subtle":"Button__subtle---retheme-","primary":"Button__primary---retheme-","disabled":"Button__disabled---retheme-","secondary":"Button__secondary---retheme-","tertiary":"Button__tertiary---retheme-","small":"Button__small---retheme-","base":"Button__base---retheme-","large":"Button__large---retheme-","onlyIcon":"Button__onlyIcon---retheme-","hasIconAndLabel":"Button__hasIconAndLabel---retheme-","iconOnRight":"Button__iconOnRight---retheme-","fullWidth":"Button__fullWidth---retheme-","loading":"Button__loading---retheme-","animateStripes":"Button__animateStripes---retheme-"};
|
|
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, role, 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, role: role });
|
|
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,15 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var ButtonDismiss = require('../ButtonDismiss-
|
|
5
|
+
var ButtonDismiss = require('../ButtonDismiss-10b55ea8.js');
|
|
6
6
|
require('react');
|
|
7
|
-
require('../Button-
|
|
7
|
+
require('../Button-315fdd36.js');
|
|
8
8
|
require('classnames');
|
|
9
9
|
require('react-router-dom');
|
|
10
10
|
require('../style-inject.es-9d2f5f4e.js');
|
|
11
11
|
require('../Icon-405a216c.js');
|
|
12
12
|
require('@jobber/design');
|
|
13
|
-
require('../Typography-
|
|
13
|
+
require('../Typography-702ee9a7.js');
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
package/dist/Card/index.js
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Card = require('../Card-
|
|
5
|
+
var Card = require('../Card-fe44ab83.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('../style-inject.es-9d2f5f4e.js');
|
|
9
|
-
require('../Heading-
|
|
10
|
-
require('../Typography-
|
|
11
|
-
require('../Button-
|
|
9
|
+
require('../Heading-33d621dd.js');
|
|
10
|
+
require('../Typography-702ee9a7.js');
|
|
11
|
+
require('../Button-315fdd36.js');
|
|
12
12
|
require('react-router-dom');
|
|
13
13
|
require('../Icon-405a216c.js');
|
|
14
14
|
require('@jobber/design');
|
|
15
|
-
require('../Menu-
|
|
15
|
+
require('../Menu-26149e93.js');
|
|
16
16
|
require('uuid');
|
|
17
17
|
require('framer-motion');
|
|
18
18
|
require('@jobber/hooks/useOnKeyDown');
|
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
var Heading = require('./Heading-33d621dd.js');
|
|
7
|
+
var Button = require('./Button-315fdd36.js');
|
|
8
|
+
var Menu = require('./Menu-26149e93.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$1 = ":root {\n --card--accent-color: var(--color-grey);\n --card--base-padding: var(--space-base);\n}\n\n.Card__card---retheme- {\n --card--border-color: var(--color-border);\n display: block;\n width: 100%;\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--card--border-color);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n outline-color: rgb(147, 161, 169);\n outline-color: var(--color-focus);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n/* Adjust `Content` components public padding to match the cards */\n\n.Card__card---retheme- > * {\n --public-content--padding: var(--card--base-padding);\n}\n\n/* Remove the nested `Content` components public padding */\n\n.Card__card---retheme- > * > * {\n --public-content--padding: 0;\n}\n\n.Card__card---retheme-:active {\n outline: 0;\n}\n\n.Card__accent---retheme- {\n border-top-width: 0;\n}\n\n.Card__accent---retheme-::before {\n content: \" \";\n display: block;\n margin: 0 calc(-1 * (16px / 16));\n margin: 0 calc(-1 * calc(16px / 16));\n margin: 0 calc(-1 * var(--border-base));\n border-top: 0.5rem solid rgb(181, 181, 181);\n border-top: 0.5rem solid var(--card--accent-color);\n border-radius: calc(16px / 8) calc(16px / 8) 0 0;\n border-radius: var(--radius-base) var(--radius-base) 0 0;\n}\n\n.Card__clickable---retheme- {\n --card--border-color: transparent;\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 color: inherit;\n text-decoration: inherit;\n cursor: pointer;\n transition: all 100ms linear;\n transition: all var(--timing-quick) linear;\n}\n\n.Card__clickable---retheme-:hover,\n.Card__clickable---retheme-:focus {\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n}\n\n.Card__header---retheme- {\n display: -ms-flexbox;\n display: flex;\n padding: calc(16px * 1);\n padding: var(--card--base-padding);\n background-color: rgb(238, 240, 242);\n background-color: var(--color-surface--background);\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: start;\n align-items: flex-start;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n";
|
|
16
|
+
var styles = {"card":"Card__card---retheme-","accent":"Card__accent---retheme-","clickable":"Card__clickable---retheme-","header":"Card__header---retheme-"};
|
|
17
|
+
styleInject_es.styleInject(css_248z$1);
|
|
18
|
+
|
|
19
|
+
var css_248z = ".colors__requestColor---retheme- {\n --card--accent-color: var(--color-request);\n}\n\n.colors__quoteColor---retheme- {\n --card--accent-color: var(--color-quote);\n}\n\n.colors__jobColor---retheme- {\n --card--accent-color: var(--color-job);\n}\n\n.colors__invoiceColor---retheme- {\n --card--accent-color: var(--color-invoice);\n}\n\n.colors__blue---retheme- {\n --card--accent-color: var(--color-blue);\n}\n\n.colors__blueLight---retheme- {\n --card--accent-color: var(--color-blue--light);\n}\n\n.colors__blueLighter---retheme- {\n --card--accent-color: var(--color-blue--lighter);\n}\n\n.colors__blueLightest---retheme- {\n --card--accent-color: var(--color-blue--lightest);\n}\n\n.colors__blueDark---retheme- {\n --card--accent-color: var(--color-blue--dark);\n}\n\n.colors__green---retheme- {\n --card--accent-color: var(--color-green);\n}\n\n.colors__greenLight---retheme- {\n --card--accent-color: var(--color-green--light);\n}\n\n.colors__greenLighter---retheme- {\n --card--accent-color: var(--color-green--lighter);\n}\n\n.colors__greenLightest---retheme- {\n --card--accent-color: var(--color-green--lightest);\n}\n\n.colors__greenDark---retheme- {\n --card--accent-color: var(--color-green--dark);\n}\n\n.colors__lime---retheme- {\n --card--accent-color: var(--color-lime);\n}\n\n.colors__limeLight---retheme- {\n --card--accent-color: var(--color-lime--light);\n}\n\n.colors__limeLighter---retheme- {\n --card--accent-color: var(--color-lime--lighter);\n}\n\n.colors__limeLightest---retheme- {\n --card--accent-color: var(--color-lime--lightest);\n}\n\n.colors__limeDark---retheme- {\n --card--accent-color: var(--color-lime--lightest);\n}\n\n.colors__yellowGreen---retheme- {\n --card--accent-color: var(--color-yellowGreen);\n}\n\n.colors__yellowGreenLight---retheme- {\n --card--accent-color: var(--color-yellowGreen--light);\n}\n\n.colors__yellowGreenLighter---retheme- {\n --card--accent-color: var(--color-yellowGreen--lighter);\n}\n\n.colors__yellowGreenLightest---retheme- {\n --card--accent-color: var(--color-yellowGreen--lightest);\n}\n\n.colors__yellowGreenDark---retheme- {\n --card--accent-color: var(--color-yellowGreen--dark);\n}\n\n.colors__yellow---retheme- {\n --card--accent-color: var(--color-yellow);\n}\n\n.colors__yellowLight---retheme- {\n --card--accent-color: var(--color-yellow--light);\n}\n\n.colors__yellowLighter---retheme- {\n --card--accent-color: var(--color-yellow--lighter);\n}\n\n.colors__yellowLightest---retheme- {\n --card--accent-color: var(--color-yellow--lightest);\n}\n\n.colors__yellowDark---retheme- {\n --card--accent-color: var(--color-yellow--dark);\n}\n\n.colors__red---retheme- {\n --card--accent-color: var(--color-red);\n}\n\n.colors__redLight---retheme- {\n --card--accent-color: var(--color-red--light);\n}\n\n.colors__redLighter---retheme- {\n --card--accent-color: var(--color-red--light);\n}\n\n.colors__redLightest---retheme- {\n --card--accent-color: var(--color-red--lightest);\n}\n\n.colors__redDark---retheme- {\n --card--accent-color: var(--color-red--dark);\n}\n\n.colors__grey---retheme- {\n --card--accent-color: var(--color-grey);\n}\n\n.colors__greyLight---retheme- {\n --card--accent-color: var(--color-grey--light);\n}\n\n.colors__greyLighter---retheme- {\n --card--accent-color: var(--color-grey--lighter);\n}\n\n.colors__greyLightest---retheme- {\n --card--accent-color: var(--color-grey--lightest);\n}\n\n.colors__greyDark---retheme- {\n --card--accent-color: var(--color-grey--dark);\n}\n\n.colors__greyBlue---retheme- {\n --card--accent-color: var(--color-greyBlue);\n}\n\n.colors__greyBlueLight---retheme- {\n --card--accent-color: var(--color-greyBlue--light);\n}\n\n.colors__greyBlueLighter---retheme- {\n --card--accent-color: var(--color-greyBlue--lighter);\n}\n\n.colors__greyBlueLightest---retheme- {\n --card--accent-color: var(--color-greyBlue--lightest);\n}\n\n.colors__greyBlueDark---retheme- {\n --card--accent-color: var(--color-greyBlue--dark);\n}\n\n.colors__lightBlue---retheme- {\n --card--accent-color: var(--color-lightBlue);\n}\n\n.colors__lightBlueLight---retheme- {\n --card--accent-color: var(--color-lightBlue--light);\n}\n\n.colors__lightBlueLighter---retheme- {\n --card--accent-color: var(--color-lightBlue--lighter);\n}\n\n.colors__lightBlueLightest---retheme- {\n --card--accent-color: var(--color-lightBlue--lightest);\n}\n\n.colors__lightBlueDark---retheme- {\n --card--accent-color: var(--color-lightBlue--dark);\n}\n\n.colors__purple---retheme- {\n --card--accent-color: var(--color-purple);\n}\n\n.colors__purpleLight---retheme- {\n --card--accent-color: var(--color-purple--light);\n}\n\n.colors__purpleLighter---retheme- {\n --card--accent-color: var(--color-purple--lighter);\n}\n\n.colors__purpleLightest---retheme- {\n --card--accent-color: var(--color-purple--lightest);\n}\n\n.colors__purpleDark---retheme- {\n --card--accent-color: var(--color-purple--dark);\n}\n\n.colors__pink---retheme- {\n --card--accent-color: var(--color-pink);\n}\n\n.colors__pinkLight---retheme- {\n --card--accent-color: var(--color-pink--light);\n}\n\n.colors__pinkLighter---retheme- {\n --card--accent-color: var(--color-pink--lighter);\n}\n\n.colors__pinkLightest---retheme- {\n --card--accent-color: var(--color-pink--lightest);\n}\n\n.colors__pinkDark---retheme- {\n --card--accent-color: var(--color-pink--dark);\n}\n\n.colors__teal---retheme- {\n --card--accent-color: var(--color-teal);\n}\n\n.colors__tealLight---retheme- {\n --card--accent-color: var(--color-teal--light);\n}\n\n.colors__tealLighter---retheme- {\n --card--accent-color: var(--color-teal--lighter);\n}\n\n.colors__tealLightest---retheme- {\n --card--accent-color: var(--color-teal--lightest);\n}\n\n.colors__tealDark---retheme- {\n --card--accent-color: var(--color-teal--dark);\n}\n\n.colors__orange---retheme- {\n --card--accent-color: var(--color-orange);\n}\n\n.colors__orangeLight---retheme- {\n --card--accent-color: var(--color-orange--light);\n}\n\n.colors__orangeLighter---retheme- {\n --card--accent-color: var(--color-orange--lighter);\n}\n\n.colors__orangeLightest---retheme- {\n --card--accent-color: var(--color-orange--lightest);\n}\n\n.colors__orangeDark---retheme- {\n --card--accent-color: var(--color-orange--dark);\n}\n\n.colors__brown---retheme- {\n --card--accent-color: var(--color-brown);\n}\n\n.colors__brownLight---retheme- {\n --card--accent-color: var(--color-brown--light);\n}\n\n.colors__brownLighter---retheme- {\n --card--accent-color: var(--color-brown--lighter);\n}\n\n.colors__brownLightest---retheme- {\n --card--accent-color: var(--color-brown--lightest);\n}\n\n.colors__brownDark---retheme- {\n --card--accent-color: var(--color-brown--dark);\n}\n\n.colors__navy---retheme- {\n --card--accent-color: var(--color-navy);\n}\n\n.colors__navyLight---retheme- {\n --card--accent-color: var(--color-navy--light);\n}\n\n.colors__navyLighter---retheme- {\n --card--accent-color: var(--color-navy--lighter);\n}\n\n.colors__navyLightest---retheme- {\n --card--accent-color: var(--color-navy--lightest);\n}\n\n.colors__navyDark---retheme- {\n --card--accent-color: var(--color-navy--dark);\n}\n\n.colors__indigo---retheme- {\n --card--accent-color: var(--color-indigo);\n}\n\n.colors__indigoLight---retheme- {\n --card--accent-color: var(--color-indigo--light);\n}\n\n.colors__indigoLighter---retheme- {\n --card--accent-color: var(--color-indigo--lighter);\n}\n\n.colors__indigoLightest---retheme- {\n --card--accent-color: var(--color-indigo--lightest);\n}\n\n.colors__indigoDark---retheme- {\n --card--accent-color: var(--color-indigo--dark);\n}\n\n.colors__white---retheme- {\n --card--accent-color: var(--color-white);\n}\n";
|
|
20
|
+
var colors = {"requestColor":"colors__requestColor---retheme-","quoteColor":"colors__quoteColor---retheme-","jobColor":"colors__jobColor---retheme-","invoiceColor":"colors__invoiceColor---retheme-","blue":"colors__blue---retheme-","blueLight":"colors__blueLight---retheme-","blueLighter":"colors__blueLighter---retheme-","blueLightest":"colors__blueLightest---retheme-","blueDark":"colors__blueDark---retheme-","green":"colors__green---retheme-","greenLight":"colors__greenLight---retheme-","greenLighter":"colors__greenLighter---retheme-","greenLightest":"colors__greenLightest---retheme-","greenDark":"colors__greenDark---retheme-","lime":"colors__lime---retheme-","limeLight":"colors__limeLight---retheme-","limeLighter":"colors__limeLighter---retheme-","limeLightest":"colors__limeLightest---retheme-","limeDark":"colors__limeDark---retheme-","yellowGreen":"colors__yellowGreen---retheme-","yellowGreenLight":"colors__yellowGreenLight---retheme-","yellowGreenLighter":"colors__yellowGreenLighter---retheme-","yellowGreenLightest":"colors__yellowGreenLightest---retheme-","yellowGreenDark":"colors__yellowGreenDark---retheme-","yellow":"colors__yellow---retheme-","yellowLight":"colors__yellowLight---retheme-","yellowLighter":"colors__yellowLighter---retheme-","yellowLightest":"colors__yellowLightest---retheme-","yellowDark":"colors__yellowDark---retheme-","red":"colors__red---retheme-","redLight":"colors__redLight---retheme-","redLighter":"colors__redLighter---retheme-","redLightest":"colors__redLightest---retheme-","redDark":"colors__redDark---retheme-","grey":"colors__grey---retheme-","greyLight":"colors__greyLight---retheme-","greyLighter":"colors__greyLighter---retheme-","greyLightest":"colors__greyLightest---retheme-","greyDark":"colors__greyDark---retheme-","greyBlue":"colors__greyBlue---retheme-","greyBlueLight":"colors__greyBlueLight---retheme-","greyBlueLighter":"colors__greyBlueLighter---retheme-","greyBlueLightest":"colors__greyBlueLightest---retheme-","greyBlueDark":"colors__greyBlueDark---retheme-","lightBlue":"colors__lightBlue---retheme-","lightBlueLight":"colors__lightBlueLight---retheme-","lightBlueLighter":"colors__lightBlueLighter---retheme-","lightBlueLightest":"colors__lightBlueLightest---retheme-","lightBlueDark":"colors__lightBlueDark---retheme-","purple":"colors__purple---retheme-","purpleLight":"colors__purpleLight---retheme-","purpleLighter":"colors__purpleLighter---retheme-","purpleLightest":"colors__purpleLightest---retheme-","purpleDark":"colors__purpleDark---retheme-","pink":"colors__pink---retheme-","pinkLight":"colors__pinkLight---retheme-","pinkLighter":"colors__pinkLighter---retheme-","pinkLightest":"colors__pinkLightest---retheme-","pinkDark":"colors__pinkDark---retheme-","teal":"colors__teal---retheme-","tealLight":"colors__tealLight---retheme-","tealLighter":"colors__tealLighter---retheme-","tealLightest":"colors__tealLightest---retheme-","tealDark":"colors__tealDark---retheme-","orange":"colors__orange---retheme-","orangeLight":"colors__orangeLight---retheme-","orangeLighter":"colors__orangeLighter---retheme-","orangeLightest":"colors__orangeLightest---retheme-","orangeDark":"colors__orangeDark---retheme-","brown":"colors__brown---retheme-","brownLight":"colors__brownLight---retheme-","brownLighter":"colors__brownLighter---retheme-","brownLightest":"colors__brownLightest---retheme-","brownDark":"colors__brownDark---retheme-","navy":"colors__navy---retheme-","navyLight":"colors__navyLight---retheme-","navyLighter":"colors__navyLighter---retheme-","navyLightest":"colors__navyLightest---retheme-","navyDark":"colors__navyDark---retheme-","indigo":"colors__indigo---retheme-","indigoLight":"colors__indigoLight---retheme-","indigoLighter":"colors__indigoLighter---retheme-","indigoLightest":"colors__indigoLightest---retheme-","indigoDark":"colors__indigoDark---retheme-","white":"colors__white---retheme-"};
|
|
21
|
+
styleInject_es.styleInject(css_248z);
|
|
22
|
+
|
|
23
|
+
const ENTER_KEY = "Enter";
|
|
24
|
+
const SPACEBAR_KEY = " ";
|
|
25
|
+
/**
|
|
26
|
+
* This is only intended to be used in the Card component.
|
|
27
|
+
* Please use `<Card onClick={onClick} />` component instead.
|
|
28
|
+
*/
|
|
29
|
+
function CardClickable({ className, onClick, children, }) {
|
|
30
|
+
const cardRef = React.useRef();
|
|
31
|
+
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));
|
|
32
|
+
function isCardFocused() {
|
|
33
|
+
return document.activeElement === cardRef.current;
|
|
34
|
+
}
|
|
35
|
+
function handleKeyup(event) {
|
|
36
|
+
var _a;
|
|
37
|
+
const shouldClick = event.key === ENTER_KEY || event.key === SPACEBAR_KEY;
|
|
38
|
+
if (shouldClick && isCardFocused()) {
|
|
39
|
+
(_a = cardRef.current) === null || _a === void 0 ? void 0 : _a.click();
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
function handleKeyDown(event) {
|
|
43
|
+
// Prevent page scroll when hitting spacebar while focused on a card
|
|
44
|
+
if (event.key === SPACEBAR_KEY && isCardFocused()) {
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Intended to be used in the Card component.
|
|
52
|
+
* Use `<Card header={header} />` component instead.
|
|
53
|
+
*/
|
|
54
|
+
function CardHeader({ title, header, }) {
|
|
55
|
+
const heading = title || header;
|
|
56
|
+
if (React__default["default"].isValidElement(heading))
|
|
57
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null, heading);
|
|
58
|
+
if (heading) {
|
|
59
|
+
const titleString = typeof heading === "string" ? heading : heading.title;
|
|
60
|
+
return (React__default["default"].createElement("div", { className: styles.header },
|
|
61
|
+
titleString && React__default["default"].createElement(Heading.Heading, { level: 3 }, titleString),
|
|
62
|
+
typeof heading === "object" && renderHeaderAction(heading === null || heading === void 0 ? void 0 : heading.action)));
|
|
63
|
+
}
|
|
64
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
65
|
+
}
|
|
66
|
+
function renderHeaderAction(action) {
|
|
67
|
+
if ((action === null || action === void 0 ? void 0 : action.type) === Button.Button) {
|
|
68
|
+
const props = Object.assign(Object.assign({ type: "tertiary" }, action.props), { size: "small" });
|
|
69
|
+
return action && React__default["default"].createElement(Button.Button, Object.assign({}, props));
|
|
70
|
+
}
|
|
71
|
+
if ((action === null || action === void 0 ? void 0 : action.type) === Menu.Menu) {
|
|
72
|
+
return action && React__default["default"].createElement(Menu.Menu, Object.assign({}, action.props));
|
|
73
|
+
}
|
|
74
|
+
return React__default["default"].createElement(React__default["default"].Fragment, null);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
function Card({ accent, header, children, onClick, title, url, external = false, }) {
|
|
78
|
+
const className = classnames__default["default"](styles.card, accent && styles.accent, (url || onClick) && styles.clickable, accent && colors[accent]);
|
|
79
|
+
const cardContent = (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
80
|
+
React__default["default"].createElement(CardHeader, { title: title, header: header }),
|
|
81
|
+
children));
|
|
82
|
+
if (onClick) {
|
|
83
|
+
return (React__default["default"].createElement(CardClickable, { className: className, onClick: onClick }, cardContent));
|
|
84
|
+
}
|
|
85
|
+
else if (url) {
|
|
86
|
+
return (React__default["default"].createElement("a", Object.assign({ className: className, href: url }, (external && { target: "_blank", rel: "noopener noreferrer" })), cardContent));
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return React__default["default"].createElement("div", { className: className }, cardContent);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
exports.Card = Card;
|
package/dist/Checkbox/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Checkbox = require('../Checkbox-
|
|
5
|
+
var Checkbox = require('../Checkbox-e13780f7.js');
|
|
6
6
|
require('../tslib.es6-5b8768b7.js');
|
|
7
7
|
require('react');
|
|
8
8
|
require('uuid');
|
|
@@ -11,8 +11,8 @@ require('react-hook-form');
|
|
|
11
11
|
require('../style-inject.es-9d2f5f4e.js');
|
|
12
12
|
require('../Icon-405a216c.js');
|
|
13
13
|
require('@jobber/design');
|
|
14
|
-
require('../Text-
|
|
15
|
-
require('../Typography-
|
|
14
|
+
require('../Text-982ed306.js');
|
|
15
|
+
require('../Typography-702ee9a7.js');
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -7,15 +7,15 @@ var classnames = require('classnames');
|
|
|
7
7
|
var reactHookForm = require('react-hook-form');
|
|
8
8
|
var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
|
|
9
9
|
var Icon = require('./Icon-405a216c.js');
|
|
10
|
-
var Text = require('./Text-
|
|
10
|
+
var Text = require('./Text-982ed306.js');
|
|
11
11
|
|
|
12
12
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
13
|
|
|
14
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
15
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
16
16
|
|
|
17
|
-
var css_248z = ".
|
|
18
|
-
var styles = {"checkbox":"
|
|
17
|
+
var css_248z = ".Checkbox__checkbox---retheme- {\n display: inline-block;\n}\n\n.Checkbox__wrapper---retheme- {\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.Checkbox__disabled---retheme- {\n cursor: not-allowed;\n}\n\n.Checkbox__checkHolder---retheme- {\n position: relative;\n}\n\n.Checkbox__input---retheme- {\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.Checkbox__checkBox---retheme- {\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.Checkbox__disabled---retheme- .Checkbox__checkBox---retheme- {\n border-color: rgb(225, 225, 225);\n border-color: var(--color-disabled--secondary);\n}\n\n.Checkbox__disabled---retheme- p {\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n}\n\n.Checkbox__disabled---retheme- .Checkbox__checkBox---retheme- > * {\n opacity: 0;\n}\n\n.Checkbox__input---retheme-.Checkbox__indeterminate---retheme- + .Checkbox__checkBox---retheme-,\n.Checkbox__input---retheme-:checked + .Checkbox__checkBox---retheme- {\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.Checkbox__input---retheme-:focus + .Checkbox__checkBox---retheme- {\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.Checkbox__disabled---retheme- .Checkbox__input---retheme-.Checkbox__indeterminate---retheme- + .Checkbox__checkBox---retheme-,\n.Checkbox__disabled---retheme- .Checkbox__input---retheme-:checked + .Checkbox__checkBox---retheme- {\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.Checkbox__disabled---retheme- .Checkbox__input---retheme-.Checkbox__indeterminate---retheme- + .Checkbox__checkBox---retheme- > *,\n.Checkbox__disabled---retheme- .Checkbox__input---retheme-:checked + .Checkbox__checkBox---retheme- > * {\n opacity: 1;\n}\n\n.Checkbox__label---retheme- {\n margin: 0 calc(16px / 2);\n margin: 0 var(--space-small);\n}\n\n.Checkbox__description---retheme- {\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
|
+
var styles = {"checkbox":"Checkbox__checkbox---retheme-","wrapper":"Checkbox__wrapper---retheme-","disabled":"Checkbox__disabled---retheme-","checkHolder":"Checkbox__checkHolder---retheme-","input":"Checkbox__input---retheme-","checkBox":"Checkbox__checkBox---retheme-","indeterminate":"Checkbox__indeterminate---retheme-","label":"Checkbox__label---retheme-","description":"Checkbox__description---retheme-"};
|
|
19
19
|
styleInject_es.styleInject(css_248z);
|
|
20
20
|
|
|
21
21
|
function Checkbox({ checked, defaultChecked, disabled, label, name, value, indeterminate = false, description, children, onChange, onFocus, }) {
|
package/dist/Chip/index.js
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var Chip = require('../Chip-
|
|
5
|
+
var Chip = require('../Chip-ab0db6e3.js');
|
|
6
6
|
var tslib_es6 = require('../tslib.es6-5b8768b7.js');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var Icon = require('../Icon-405a216c.js');
|
|
9
9
|
require('classnames');
|
|
10
10
|
require('@jobber/hooks/useInView');
|
|
11
11
|
require('../style-inject.es-9d2f5f4e.js');
|
|
12
|
-
require('../Avatar-
|
|
12
|
+
require('../Avatar-3bb347c0.js');
|
|
13
13
|
require('color');
|
|
14
|
-
require('../Typography-
|
|
15
|
-
require('../Tooltip-
|
|
14
|
+
require('../Typography-702ee9a7.js');
|
|
15
|
+
require('../Tooltip-1b266564.js');
|
|
16
16
|
require('react-dom');
|
|
17
17
|
require('framer-motion');
|
|
18
18
|
require('react-popper');
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var useInView = require('@jobber/hooks/useInView');
|
|
6
|
+
var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
|
|
7
|
+
var Avatar = require('./Avatar-3bb347c0.js');
|
|
8
|
+
var Icon = require('./Icon-405a216c.js');
|
|
9
|
+
var Typography = require('./Typography-702ee9a7.js');
|
|
10
|
+
var Tooltip = require('./Tooltip-1b266564.js');
|
|
11
|
+
|
|
12
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
13
|
+
|
|
14
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
15
|
+
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
16
|
+
|
|
17
|
+
var css_248z = ":root {\n --chip--gradient-color-variation: var(--chip-base-bg);\n --chip--gradient-color-variation--hover: var(--chip-base--hover);\n}\n\n.Chip__chip---retheme- {\n --chip-height: 40px;\n --chip-radius: 20px;\n --chip-base-bg: var(--color-surface--background);\n --chip-base--hover: var(--color-surface--background--hover);\n display: -ms-flexbox;\n display: flex;\n position: relative;\n height: 40px;\n height: var(--chip-height);\n min-width: 0;\n padding: calc(16px / 2) 16px;\n padding: var(--space-small) var(--base-unit);\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n border-radius: 20px;\n border-radius: var(--chip-radius);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n text-align: left;\n cursor: pointer;\n transition: all 200ms;\n transition: all var(--timing-base);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.Chip__chip---retheme-:focus,\n.Chip__chip---retheme-:focus-visible {\n outline: none;\n}\n\n.Chip__chip---retheme-:focus-visible {\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.Chip__chip---retheme- .Chip__prefix---retheme- {\n margin-left: calc(-1 * (16px / 2));\n margin-left: calc(-1 * calc(16px / 2));\n margin-left: calc(-1 * var(--space-small));\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.Chip__chip---retheme- .Chip__suffix---retheme- {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n margin-right: calc(-1 * (16px / 2));\n margin-right: calc(-1 * calc(16px / 2));\n margin-right: calc(-1 * var(--space-small));\n}\n\n.Chip__chip---retheme- .Chip__prefix---retheme-,\n.Chip__chip---retheme- .Chip__suffix---retheme- {\n display: -ms-flexbox;\n display: flex;\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: calc(16px * 1.5);\n height: var(--space-large);\n -ms-flex-negative: 0;\n flex-shrink: 0;\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.Chip__chip---retheme- .Chip__prefix---retheme-.Chip__empty---retheme-,\n.Chip__chip---retheme- .Chip__suffix---retheme-.Chip__empty---retheme- {\n display: none;\n}\n\n.Chip__chip---retheme- .Chip__chipBar---retheme- {\n width: calc(16px / 16);\n width: var(--space-minuscule);\n height: 16px;\n height: var(--base-unit);\n margin: 0 calc(16px / 2);\n margin: 0 var(--space-small);\n background-color: rgb(77, 105, 116);\n background-color: var(--color-text--secondary);\n}\n\n.Chip__chip---retheme- .Chip__selected---retheme- {\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.Chip__base---retheme- {\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n background-color: var(--chip-base-bg);\n --chip--gradient-color-variation: var(--chip-base-bg);\n}\n\n.Chip__base---retheme-:hover,\n.Chip__base---retheme-:focus-visible {\n background-color: var(--chip-base--hover);\n --chip--gradient-color-variation--hover: var(--chip-base--hover);\n}\n\n.Chip__invalid---retheme-,\n.Chip__invalid---retheme-:hover,\n.Chip__invalid---retheme-:focus-visible,\n.Chip__subtle---retheme-.Chip__invalid---retheme-,\n.Chip__subtle---retheme-.Chip__invalid---retheme-:hover,\n.Chip__subtle---retheme-.Chip__invalid---retheme-:focus-visible {\n border: calc(16px / 16) solid rgb(201, 66, 33);\n border: var(--border-base) solid var(--color-critical);\n background-color: rgb(255, 226, 219);\n background-color: var(--color-critical--surface);\n --chip--gradient-color-variation: var(--color-critical--surface);\n --chip--gradient-color-variation--hover: var(--color-critical--surface);\n}\n\n.Chip__invalid---retheme-:hover,\n.Chip__invalid---retheme-:focus-visible,\n.Chip__subtle---retheme-.Chip__invalid---retheme-:hover,\n.Chip__subtle---retheme-.Chip__invalid---retheme-:focus-visible {\n background-color: rgb(193, 201, 206);\n background-color: var(--color-surface--background--hover);\n --chip--gradient-color-variation: var(--color-surface--background--hover);\n --chip--gradient-color-variation--hover: var(\n --color-surface--background--hover\n );\n}\n\n.Chip__subtle---retheme- {\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--color-border);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n --chip--gradient-color-variation: var(--color-surface);\n}\n\n/* CAUTION: Order is important here since\n* there is are different styles for subtle:focus and subtle:hover\n* and we want hover to take priority\n*/\n\n.Chip__subtle---retheme-:focus-visible {\n --chip--gradient-color-variation--hover: var(--color-surface);\n}\n\n.Chip__subtle---retheme-:hover {\n border: calc(16px / 16) solid var(--chip-base-bg);\n border: var(--border-base) solid var(--chip-base-bg);\n background-color: var(--chip-base-bg);\n --chip--gradient-color-variation--hover: var(--chip-base-bg);\n}\n\n.Chip__invalid---retheme-.Chip__disabled---retheme-,\n.Chip__invalid---retheme-.Chip__disabled---retheme-:hover,\n.Chip__invalid---retheme-.Chip__disabled---retheme-:focus-visible {\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n cursor: auto;\n}\n\n.Chip__disabled---retheme-,\n.Chip__disabled---retheme-:hover,\n.Chip__disabled---retheme-:focus-visible {\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--color-disabled--secondary);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n cursor: auto;\n --chip--gradient-color-variation: var(--color-disabled--secondary);\n --chip--gradient-color-variation--hover: var(--color-disabled--secondary);\n}\n\n.Chip__disabled---retheme- .Chip__chipBar---retheme- {\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.Chip__chip---retheme-.Chip__disabled---retheme- .Chip__suffix---retheme- {\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n}\n\n.Chip__chip---retheme-.Chip__disabled---retheme- .Chip__suffix---retheme- path {\n fill: rgb(181, 181, 181);\n fill: var(--color-disabled);\n}\n\n.Chip__chipContent---retheme- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n overflow: hidden;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.Chip__chipContent---retheme- > * {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n.Chip__chipContent---retheme- > p {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.Chip__truncateGradient---retheme- {\n position: absolute;\n top: 0;\n right: 0;\n width: calc(16px * 1);\n width: var(--space-base);\n height: 100%;\n background: linear-gradient(\n to left,\n var(--chip-base-bg) 5%,\n rgba(255, 255, 255, 0)\n );\n background: linear-gradient(\n to left,\n var(--chip--gradient-color-variation) 5%,\n rgba(255, 255, 255, 0)\n );\n}\n\n.Chip__chip---retheme-:focus-visible .Chip__truncateGradient---retheme-,\n.Chip__chip---retheme-:hover .Chip__truncateGradient---retheme- {\n background: linear-gradient(\n to left,\n var(--chip-base--hover) 5%,\n rgba(255, 255, 255, 0)\n );\n background: linear-gradient(\n to left,\n var(--chip--gradient-color-variation--hover) 5%,\n rgba(255, 255, 255, 0)\n );\n}\n\n.Chip__chipLabelRef---retheme- {\n display: inline-block;\n width: 1px;\n}\n";
|
|
18
|
+
var styles = {"chip":"Chip__chip---retheme-","prefix":"Chip__prefix---retheme-","suffix":"Chip__suffix---retheme-","empty":"Chip__empty---retheme-","chipBar":"Chip__chipBar---retheme-","selected":"Chip__selected---retheme-","base":"Chip__base---retheme-","invalid":"Chip__invalid---retheme-","subtle":"Chip__subtle---retheme-","disabled":"Chip__disabled---retheme-","chipContent":"Chip__chipContent---retheme-","truncateGradient":"Chip__truncateGradient---retheme-","chipLabelRef":"Chip__chipLabelRef---retheme-"};
|
|
19
|
+
styleInject_es.styleInject(css_248z);
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Returns the first React Child that receives `true` from isCorrectComponent
|
|
23
|
+
* @param children React Children
|
|
24
|
+
* @param isCorrectComponent a function that accepts a JSX Element and returns a boolean.
|
|
25
|
+
* @returns The first child component that returns true on isCorrectComponent
|
|
26
|
+
*/
|
|
27
|
+
function useChildComponent(children, isCorrectComponent) {
|
|
28
|
+
return React.useMemo(() => {
|
|
29
|
+
return React__default["default"].Children.toArray(children).find(d => React.isValidElement(d) && isCorrectComponent(d));
|
|
30
|
+
}, [children]);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function ChipPrefix({ children }) {
|
|
34
|
+
const singleChild = useChildComponent(children, d => d.type === Avatar.Avatar || d.type === Icon.Icon);
|
|
35
|
+
return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.prefix, !singleChild && styles.empty) }, singleChild));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function ChipSuffix({ children, className }) {
|
|
39
|
+
var _a;
|
|
40
|
+
let singleChild = useChildComponent(children, d => d.type === Icon.Icon);
|
|
41
|
+
if (!allowedSuffixIcons.includes((_a = singleChild === null || singleChild === void 0 ? void 0 : singleChild.props) === null || _a === void 0 ? void 0 : _a.name)) {
|
|
42
|
+
singleChild = undefined;
|
|
43
|
+
}
|
|
44
|
+
return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.suffix, className, !singleChild && styles.empty) }, singleChild));
|
|
45
|
+
}
|
|
46
|
+
const allowedSuffixIcons = ["cross", "add", "checkmark", "arrowDown"];
|
|
47
|
+
|
|
48
|
+
const Chip = ({ ariaLabel, disabled, heading, invalid, label, value, onClick, onKeyDown, children, role = "button", tabIndex = 0, variation = "base", }) => {
|
|
49
|
+
const classes = classnames__default["default"](styles.chip, {
|
|
50
|
+
[styles.invalid]: invalid,
|
|
51
|
+
[styles.base]: variation === "base",
|
|
52
|
+
[styles.subtle]: variation === "subtle",
|
|
53
|
+
[styles.disabled]: disabled,
|
|
54
|
+
});
|
|
55
|
+
const prefix = useChildComponent(children, d => d.type === Chip.Prefix);
|
|
56
|
+
const suffix = useChildComponent(children, d => d.type === Chip.Suffix);
|
|
57
|
+
const [labelRef, labelFullyVisible] = useInView.useInView();
|
|
58
|
+
const [headingRef, headingFullyVisible] = useInView.useInView();
|
|
59
|
+
const tooltipMessage = getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading);
|
|
60
|
+
return (React__default["default"].createElement(Tooltip.Tooltip, { message: tooltipMessage },
|
|
61
|
+
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" },
|
|
62
|
+
prefix,
|
|
63
|
+
React__default["default"].createElement("div", { className: styles.chipContent },
|
|
64
|
+
heading && (React__default["default"].createElement(React__default["default"].Fragment, null,
|
|
65
|
+
React__default["default"].createElement(Typography.Typography, { size: "base", fontWeight: "medium" },
|
|
66
|
+
heading,
|
|
67
|
+
React__default["default"].createElement("span", { ref: headingRef, className: styles.chipLabelRef })),
|
|
68
|
+
label && React__default["default"].createElement("span", { className: styles.chipBar }))),
|
|
69
|
+
React__default["default"].createElement(Typography.Typography, { size: "base" },
|
|
70
|
+
label,
|
|
71
|
+
React__default["default"].createElement("span", { ref: labelRef, className: styles.chipLabelRef })),
|
|
72
|
+
!labelFullyVisible && (React__default["default"].createElement("div", { className: styles.truncateGradient, "data-testid": "ATL-Chip-Truncation-Gradient" }))),
|
|
73
|
+
suffix)));
|
|
74
|
+
};
|
|
75
|
+
function getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading) {
|
|
76
|
+
let message = "";
|
|
77
|
+
if (heading && !headingFullyVisible) {
|
|
78
|
+
message = `${heading} | ${label}`;
|
|
79
|
+
}
|
|
80
|
+
else if (!labelFullyVisible) {
|
|
81
|
+
message = label;
|
|
82
|
+
}
|
|
83
|
+
return message;
|
|
84
|
+
}
|
|
85
|
+
Chip.Prefix = ChipPrefix;
|
|
86
|
+
Chip.Suffix = ChipSuffix;
|
|
87
|
+
|
|
88
|
+
exports.Chip = Chip;
|
|
89
|
+
exports.styles = styles;
|