@jobber/components 4.67.2-JOB-84261.6 → 4.67.2-pre.25
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-879d0d6f.js} +1 -1
- package/dist/Autocomplete/index.js +13 -15
- package/dist/Avatar/index.js +2 -3
- package/dist/{Avatar-76a799fa.js → Avatar-765d6e45.js} +1 -4
- package/dist/Banner/index.js +4 -9
- package/dist/Button/index.js +3 -4
- package/dist/Button-8bde6560.js +54 -0
- package/dist/ButtonDismiss/index.js +4 -5
- package/dist/{ButtonDismiss-2b98d075.js → ButtonDismiss-af17d76d.js} +1 -1
- package/dist/Card/index.js +7 -8
- package/dist/Card-9dfc98d3.js +88 -0
- package/dist/Checkbox/index.js +5 -7
- package/dist/{Checkbox-ad7ec2e7.js → Checkbox-2d7c43d9.js} +5 -8
- package/dist/Chip/index.js +8 -7
- package/dist/Chip-dca6c22b.js +86 -0
- package/dist/Chips/index.js +12 -16
- package/dist/ClientOnly-4f3e136d.js +23 -0
- package/dist/Combobox/index.js +11 -10
- package/dist/{Combobox-eb1e5817.js → Combobox-35a3ea22.js} +43 -24
- package/dist/ConfirmationModal/index.js +14 -13
- package/dist/{ConfirmationModal-0f85d96c.js → ConfirmationModal-f6c0afc7.js} +3 -3
- package/dist/Content/index.js +1 -2
- package/dist/{Content-2ca1ffe1.js → Content-80486307.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-9399cc69.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-7a2893bb.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-18eda132.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-317b158a.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-f5c31401.js +68 -0
- package/dist/Grid/index.js +0 -7
- package/dist/Heading/index.js +2 -3
- package/dist/{Heading-0f4ecb0c.js → Heading-f066883a.js} +1 -1
- package/dist/Icon/index.js +1 -1
- package/dist/InlineLabel/index.js +2 -3
- package/dist/InlineLabel-4c2fec47.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-5c44f0b4.js} +8 -11
- package/dist/InputGroup/index.js +1 -2
- package/dist/InputGroup-88bec8c9.js +30 -0
- package/dist/InputNumber/index.js +10 -11
- package/dist/{InputNumber-d9ebabaa.js → InputNumber-ed655bae.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/useSafeLayoutEffect.d.ts +2 -0
- package/dist/{InputText-f7c45ee5.js → InputText-c68964ff.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-fdc891af.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-d5aea313.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-10fc9d3e.js +90 -0
- package/dist/Menu/Menu.d.ts +4 -4
- package/dist/Menu/index.js +5 -6
- package/dist/{Menu-d7ea093c.js → Menu-7b7aa325.js} +7 -10
- package/dist/Modal/Modal.d.ts +2 -2
- package/dist/Modal/index.js +7 -7
- package/dist/{Modal-70daa0e2.js → Modal-357fd1df.js} +6 -9
- package/dist/MultiSelect/index.js +5 -11
- package/dist/{Option-469029b5.js → Option-c84f28a6.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-5c577dc0.js +38 -0
- package/dist/RadioGroup/index.js +3 -5
- package/dist/RadioGroup-9dded55d.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-cac356ee.js +21 -0
- package/dist/StatusLabel/index.js +2 -5
- package/dist/SupportsTimePolyfill-466a30f9.js +21 -0
- package/dist/Switch/index.js +2 -3
- package/dist/Switch-588c5e70.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-9f261dde.js} +1 -1
- package/dist/TimeInputPolyfill.client-1dfc8ab1.js +687 -0
- package/dist/Toast/index.js +3 -6
- package/dist/Tooltip/index.js +3 -2
- package/dist/{Tooltip-6b12f1c2.js → Tooltip-99440954.js} +14 -12
- package/dist/Typography/index.js +1 -2
- package/dist/Typography-75f58b60.js +43 -0
- package/dist/styles.css +8107 -0
- package/dist/useSafeLayoutEffect-b63708b1.js +16 -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-6fc94218.js} +0 -0
- /package/dist/{Icon-405a216c.js → Icon-361343e0.js} +0 -0
- /package/dist/{tslib.es6-5b8768b7.js → tslib.es6-a575af05.js} +0 -0
package/dist/DataList/index.js
CHANGED
|
@@ -2,45 +2,46 @@
|
|
|
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-a575af05.js');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var Glimmer = require('../Glimmer-cfa92a88.js');
|
|
7
|
+
var Text = require('../Text-9f261dde.js');
|
|
8
|
+
var Glimmer = require('../Glimmer-f5c31401.js');
|
|
10
9
|
var noop = require('lodash/noop');
|
|
11
10
|
var design = require('@jobber/design');
|
|
12
11
|
var framerMotion = require('framer-motion');
|
|
13
12
|
var classnames = require('classnames');
|
|
14
|
-
var Tooltip = require('../Tooltip-
|
|
15
|
-
var Button = require('../Button-
|
|
13
|
+
var Tooltip = require('../Tooltip-99440954.js');
|
|
14
|
+
var Button = require('../Button-8bde6560.js');
|
|
16
15
|
var useInView = require('@jobber/hooks/useInView');
|
|
17
16
|
var isEmpty = require('lodash/isEmpty');
|
|
18
|
-
var InlineLabel = require('../InlineLabel-
|
|
19
|
-
var FormatDate = require('../FormatDate-
|
|
20
|
-
var Heading = require('../Heading-
|
|
17
|
+
var InlineLabel = require('../InlineLabel-4c2fec47.js');
|
|
18
|
+
var FormatDate = require('../FormatDate-6fc94218.js');
|
|
19
|
+
var Heading = require('../Heading-f066883a.js');
|
|
21
20
|
var useFocusTrap = require('@jobber/hooks/useFocusTrap');
|
|
22
21
|
var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
|
|
23
22
|
var useOnKeyDown = require('@jobber/hooks/useOnKeyDown');
|
|
24
23
|
var ReactDOM = require('react-dom');
|
|
25
|
-
var Checkbox = require('../Checkbox-
|
|
24
|
+
var Checkbox = require('../Checkbox-2d7c43d9.js');
|
|
26
25
|
var reactRouterDom = require('react-router-dom');
|
|
27
|
-
var AnimatedSwitcher = require('../AnimatedSwitcher-
|
|
28
|
-
var Combobox = require('../Combobox-
|
|
29
|
-
var Chip = require('../Chip-
|
|
30
|
-
var Icon = require('../Icon-
|
|
26
|
+
var AnimatedSwitcher = require('../AnimatedSwitcher-879d0d6f.js');
|
|
27
|
+
var Combobox = require('../Combobox-35a3ea22.js');
|
|
28
|
+
var Chip = require('../Chip-dca6c22b.js');
|
|
29
|
+
var Icon = require('../Icon-361343e0.js');
|
|
31
30
|
var debounce = require('lodash/debounce');
|
|
32
|
-
var InputText = require('../InputText-
|
|
33
|
-
var Spinner = require('../Spinner-
|
|
34
|
-
var Typography = require('../Typography-
|
|
35
|
-
require('../Content-
|
|
31
|
+
var InputText = require('../InputText-c68964ff.js');
|
|
32
|
+
var Spinner = require('../Spinner-cac356ee.js');
|
|
33
|
+
var Typography = require('../Typography-75f58b60.js');
|
|
34
|
+
require('../Content-80486307.js');
|
|
36
35
|
require('react-popper');
|
|
37
|
-
require('
|
|
36
|
+
require('../ClientOnly-4f3e136d.js');
|
|
37
|
+
require('../useSafeLayoutEffect-b63708b1.js');
|
|
38
38
|
require('react-hook-form');
|
|
39
39
|
require('@jobber/hooks/useAssert');
|
|
40
|
-
require('../Avatar-
|
|
40
|
+
require('../Avatar-765d6e45.js');
|
|
41
41
|
require('color');
|
|
42
|
-
require('../FormField-
|
|
43
|
-
require('
|
|
42
|
+
require('../FormField-18eda132.js');
|
|
43
|
+
require('@jobber/hooks/useShowClear');
|
|
44
|
+
require('../InputValidation-fdc891af.js');
|
|
44
45
|
|
|
45
46
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
46
47
|
|
|
@@ -50,13 +51,9 @@ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
|
50
51
|
var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
|
|
51
52
|
var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
|
|
52
53
|
|
|
53
|
-
var css_248z$f = ".TkdrExYnvcY-,\n.TkdrExYnvcY- * {\n box-sizing: border-box;\n}\n\n.TkdrExYnvcY- {\n --data-list--minimum-item-height: calc(var(--base-unit) * 3.5);\n\n display: -ms-flexbox;\n\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n position: relative;\n z-index: 0;\n z-index: var(--elevation-default);\n -ms-flex: 1;\n flex: 1;\n}\n\n/*\n * Header\n */\n\n.IcAlZHoB4LI- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n z-index: 1;\n z-index: var(--elevation-base);\n margin-bottom: calc(16px / 2);\n margin-bottom: var(--space-small);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.TFO76ysivmg- {\n display: grid;\n padding: calc(16px / 2) 0;\n padding: var(--space-small) 0;\n gap: calc(16px / 2);\n grid-gap: calc(16px / 2);\n grid-gap: var(--space-small);\n gap: var(--space-small);\n grid-template-columns: auto -webkit-max-content;\n grid-template-columns: auto max-content;\n}\n\n.jGHZZYZm1ZY- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n -ms-flex-pack: center;\n justify-content: center;\n min-height: calc(16px * 3);\n min-height: var(--space-largest);\n padding: calc(16px / 2);\n padding: var(--space-small);\n border-bottom: calc(16px / 8) solid rgb(217, 223, 225);\n border-bottom: var(--border-thick) solid var(--color-border);\n}\n\n.GiD7MjZJbcw- {\n display: -ms-flexbox;\n display: flex;\n}\n\n@media (max-width: 489px) {\n\n.GiD7MjZJbcw- {\n -ms-flex-pack: justify;\n justify-content: space-between;\n width: 100%;\n}\n }\n\n@media (--small-screens-and-below) {\n\n.GiD7MjZJbcw- {\n -ms-flex-pack: justify;\n justify-content: space-between;\n width: 100%;\n}\n }\n\n.jMSVGIAr5tk- > p {\n font-weight: 500;\n white-space: nowrap;\n}\n\n.jMSVGIAr5tk- {\n display: -ms-flexbox;\n display: flex;\n margin: calc((16px / 2) * -1) 0;\n margin: calc(calc(16px / 2) * -1) 0;\n margin: calc(var(--space-small) * -1) 0;\n -ms-flex-align: center;\n align-items: center;\n gap: calc(16px / 4);\n gap: var(--space-smaller);\n}\n\n/*\n * List Item\n */\n\n.ise8kHCfhCY- {\n position: relative;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border-bottom: calc(16px / 16) solid rgb(217, 223, 225);\n border-bottom: var(--border-base) solid var(--color-border);\n transition: all 200ms;\n transition: all var(--timing-base);\n}\n\n.ise8kHCfhCY-,\n.Tq6e0BGwcSM- {\n display: grid;\n grid-template-columns: minmax(0px, auto);\n min-height: var(--data-list--minimum-item-height);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.ise8kHCfhCY-.Pc0JGX6jCD4-,\n.ise8kHCfhCY-:hover,\n.ise8kHCfhCY-:focus-within {\n --data-list-item-active-color: var(--color-surface--hover);\n background-color: rgb(244, 246, 250);\n background-color: var(--data-list-item-active-color);\n}\n\n.Tq6e0BGwcSM- {\n margin: calc((16px / 2) * -1) 0;\n margin: calc(calc(16px / 2) * -1) 0;\n margin: calc(var(--space-small) * -1) 0;\n padding: calc(16px / 2) 0;\n padding: var(--space-small) 0;\n border: none;\n text-align: left;\n -webkit-text-decoration: none;\n text-decoration: none;\n background-color: transparent;\n cursor: pointer;\n}\n\n/**\n * Reset CSS properties on focus to ensure we only have the focus state on the\n * parent .listItem\n */\n\n.Tq6e0BGwcSM-:focus {\n outline: none;\n background-color: transparent;\n}\n\n/**\n * Enable a better hover and focus experience when :has() is supported.\n * This is a workaround for Firefox where the :has() selector is not supported.\n */\n\n@supports selector(*:has(*)) {\n .ise8kHCfhCY-:hover,\n .ise8kHCfhCY-:focus-within {\n background-color: transparent;\n }\n\n .ise8kHCfhCY-:has(.Tq6e0BGwcSM-:hover, .Tq6e0BGwcSM-:focus) {\n background-color: var(--data-list-item-active-color);\n }\n}\n\n/*\n * List Item Selection\n */\n\n.d-79rkMqufg- {\n display: grid;\n -ms-flex-align: start;\n align-items: flex-start;\n}\n\n@media (min-width: 768px) {\n\n.d-79rkMqufg- {\n -ms-flex-align: center;\n align-items: center;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n.d-79rkMqufg- {\n -ms-flex-align: center;\n align-items: center;\n}\n }\n\n.d-79rkMqufg-,\n.jGHZZYZm1ZY- .d-79rkMqufg- {\n grid-template-columns: -webkit-max-content minmax(0px, auto);\n grid-template-columns: max-content minmax(0px, auto);\n -webkit-column-gap: calc(16px / 2);\n -webkit-column-gap: var(--space-small);\n -moz-column-gap: calc(16px / 2);\n -moz-column-gap: var(--space-small);\n column-gap: calc(16px / 2);\n column-gap: var(--space-small);\n}\n\n.jGHZZYZm1ZY- .d-79rkMqufg- {\n display: grid;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.qm-SSuWTXkI- {\n display: -ms-flexbox;\n display: flex;\n visibility: hidden;\n\n /* To compensate the Checkbox's label margin that we are using for screen-readers */\n margin-right: calc((16px * 1) * -1);\n margin-right: calc(calc(16px * 1) * -1);\n margin-right: calc(var(--space-base) * -1);\n}\n\n.qm-SSuWTXkI-.VA9RnQp6nbI- {\n visibility: visible;\n}\n\n.ise8kHCfhCY- .d-79rkMqufg- > :first-child {\n -ms-flex-order: 2;\n order: 2;\n}\n\n.ise8kHCfhCY- .d-79rkMqufg- > :last-child {\n -ms-flex-order: 1;\n order: 1;\n padding-top: calc(16px / 4);\n padding-top: var(--space-smaller);\n opacity: 1;\n transition: opacity 100ms ease-in-out;\n transition: opacity var(--transition-properties);\n --transition-properties: var(--timing-quick) ease-in-out;\n}\n\n@media (min-width: 768px) {\n\n.ise8kHCfhCY- .d-79rkMqufg- > :last-child {\n padding-top: 0;\n opacity: 0;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n.ise8kHCfhCY- .d-79rkMqufg- > :last-child {\n padding-top: 0;\n opacity: 0;\n}\n }\n\n.ise8kHCfhCY-:hover .d-79rkMqufg- > :last-child,\n.ise8kHCfhCY-:focus-within .d-79rkMqufg- > :last-child,\n.ise8kHCfhCY- .d-79rkMqufg-._4L7iXXzLr5k- > :last-child {\n opacity: 1;\n}\n\n/*\n * Filters\n */\n\n.Kkp-IYmwq-s- {\n display: -ms-flexbox;\n display: flex;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: rgba(255, 255, 255, 0.6);\n background-color: var(--color-overlay--dimmed);\n -ms-flex-align: start;\n align-items: flex-start;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.m-eCShL7TU4- {\n position: sticky;\n top: 50vh;\n}\n\n/* This hides the text from the UI but not from the screen readers */\n\n.esUiRgWabYw- {\n position: absolute;\n top: auto;\n left: -10000px;\n width: 1px;\n height: 1px;\n overflow: hidden;\n text-indent: -10000px;\n}\n";
|
|
54
54
|
var styles$f = {"wrapper":"TkdrExYnvcY-","titleContainer":"IcAlZHoB4LI-","headerFilters":"TFO76ysivmg-","headerTitles":"jGHZZYZm1ZY-","batchSelectContainer":"GiD7MjZJbcw-","headerBatchSelect":"jMSVGIAr5tk-","listItem":"ise8kHCfhCY-","listItemClickable":"Tq6e0BGwcSM-","active":"Pc0JGX6jCD4-","selectable":"d-79rkMqufg-","selectAllCheckbox":"qm-SSuWTXkI-","visible":"VA9RnQp6nbI-","selected":"_4L7iXXzLr5k-","filtering":"Kkp-IYmwq-s-","filteringSpinner":"m-eCShL7TU4-","srOnly":"esUiRgWabYw-"};
|
|
55
|
-
styleInject_es.styleInject(css_248z$f);
|
|
56
55
|
|
|
57
|
-
var css_248z$e = ".F56prQsXm3A- {\n min-width: 80px;\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n}\n";
|
|
58
56
|
var styles$e = {"results":"F56prQsXm3A-"};
|
|
59
|
-
styleInject_es.styleInject(css_248z$e);
|
|
60
57
|
|
|
61
58
|
const DATALIST_TOTALCOUNT_TEST_ID = "ATL-DataList-TotalCount";
|
|
62
59
|
function DataListTotalCount({ totalCount, loading, }) {
|
|
@@ -97,7 +94,7 @@ function useDataListContext() {
|
|
|
97
94
|
return React.useContext(DataListContext);
|
|
98
95
|
}
|
|
99
96
|
|
|
100
|
-
function
|
|
97
|
+
function useUnSafeMediaQuery(CSSMediaQuery) {
|
|
101
98
|
/**
|
|
102
99
|
* matchMedia have had full support for browsers since 2012 but jest, being a
|
|
103
100
|
* lite version of a DOM, doesn't support it.
|
|
@@ -123,6 +120,12 @@ function useMediaQuery(CSSMediaQuery) {
|
|
|
123
120
|
}, [CSSMediaQuery]);
|
|
124
121
|
return matches;
|
|
125
122
|
}
|
|
123
|
+
const canUseDom = !!(typeof window !== "undefined" &&
|
|
124
|
+
window.document &&
|
|
125
|
+
window.document.createElement);
|
|
126
|
+
// safe to disable eslint here because we want a function that does nothing
|
|
127
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
128
|
+
const useMediaQuery = canUseDom ? useUnSafeMediaQuery : () => true;
|
|
126
129
|
|
|
127
130
|
const EMPTY_RESULTS_MESSAGE = "List is looking empty";
|
|
128
131
|
const EMPTY_FILTER_RESULTS_MESSAGE = "No results for selected filters";
|
|
@@ -167,9 +170,7 @@ function useActiveLayout() {
|
|
|
167
170
|
return { layout, activeBreakpoint };
|
|
168
171
|
}
|
|
169
172
|
|
|
170
|
-
var css_248z$d = "._8cMzUF8XEwY- {\n position: relative;\n}\n\n._8cMzUF8XEwY-::after {\n content: \"\";\n display: block;\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n height: 100px;\n background-image: linear-gradient(\n to top,\n rgba(255, 255, 255, 1) 0%,\n rgba(255, 255, 255, 0) 100%\n );\n background-image: linear-gradient(\n to top,\n var(--color-surface) 0%,\n rgba(var(--color-white--rgb), 0) 100%\n );\n}\n\n.Rh--6fVpkm4- {\n padding: calc(16px * 1) calc(16px / 2);\n padding: var(--space-base) var(--space-small);\n}\n\n.NFaWWvmxtkw- {\n width: 100%;\n min-width: calc(16px * 3);\n min-width: var(--space-largest);\n}\n";
|
|
171
173
|
var styles$d = {"wrapper":"_8cMzUF8XEwY-","loadingItem":"Rh--6fVpkm4-","glimmer":"NFaWWvmxtkw-"};
|
|
172
|
-
styleInject_es.styleInject(css_248z$d);
|
|
173
174
|
|
|
174
175
|
const LOADING_STATE_LIMIT_ITEMS = 10;
|
|
175
176
|
const DATALIST_LOADINGSTATE_ROW_TEST_ID = "ATL-DataList-LoadingState-Row";
|
|
@@ -195,15 +196,11 @@ function useDataListLayoutContext() {
|
|
|
195
196
|
return React.useContext(DataListLayoutContext);
|
|
196
197
|
}
|
|
197
198
|
|
|
198
|
-
var css_248z$c = ".jHcHGQ-HDbk- {\n display: -ms-flexbox;\n display: flex;\n position: absolute;\n top: calc((16px / 2) * -1);\n top: calc(calc(16px / 2) * -1);\n top: calc(var(--space-small) * -1);\n right: 0;\n z-index: 6;\n z-index: var(--elevation-menu);\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 / 4);\n padding: var(--space-smaller);\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--color-border);\n border-radius: calc(16px / 2);\n border-radius: var(--radius-larger);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n gap: calc(16px / 4);\n gap: var(--space-smaller);\n}\n";
|
|
199
199
|
var styles$c = {"menu":"jHcHGQ-HDbk-"};
|
|
200
|
-
styleInject_es.styleInject(css_248z$c);
|
|
201
200
|
|
|
202
201
|
const CONTAINER_TEST_ID = "ATL-DataListFilters-Container";
|
|
203
202
|
|
|
204
|
-
var css_248z$b = ".jbBRoxlZlNI- {\n --overflow-fade--offset: var(--space-smaller);\n --overflow-fade--negative-offset: calc(var(--overflow-fade--offset) * -1);\n\n -ms-flex-item-align: center;\n\n align-self: center;\n position: relative;\n min-width: 0;\n}\n\n.P6uJ-vHfKrM-,\n.MnN8qbS4hw4- {\n display: grid;\n grid-auto-flow: column;\n grid-auto-columns: -webkit-max-content;\n grid-auto-columns: max-content;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.P6uJ-vHfKrM- {\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.MnN8qbS4hw4- {\n margin: var(--overflow-fade--negative-offset);\n padding: var(--overflow-fade--offset);\n overflow-x: auto;\n overflow-y: visible;\n}\n\n.b-5P7Z8eGO8- {\n visibility: hidden;\n}\n\n.xzaCS4slLpI-::before,\n.Jf227kC8Nu0-::after {\n content: \"\";\n position: absolute;\n top: 0;\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: 100%;\n background-image: linear-gradient(\n to right,\n rgba(255, 255, 255, 1) 0%,\n rgba(255, 255, 255, 0) 100%\n );\n background-image: linear-gradient(\n var(--data-list-overflow-shadow-angle, to right),\n var(--color-surface) 0%,\n rgba(var(--color-white--rgb), 0) 100%\n );\n pointer-events: none;\n}\n\n.xzaCS4slLpI-::before {\n left: var(--overflow-fade--negative-offset);\n}\n\n.Jf227kC8Nu0-::after {\n --data-list-overflow-shadow-angle: to left;\n right: var(--overflow-fade--negative-offset);\n}\n";
|
|
205
203
|
var styles$b = {"fadeContainer":"jbBRoxlZlNI-","overflowItems":"P6uJ-vHfKrM-","overflowGrid":"MnN8qbS4hw4-","overflowTrigger":"b-5P7Z8eGO8-","overflowLeft":"xzaCS4slLpI-","overflowRight":"Jf227kC8Nu0-"};
|
|
206
|
-
styleInject_es.styleInject(css_248z$b);
|
|
207
204
|
|
|
208
205
|
function DataListOverflowFade({ children }) {
|
|
209
206
|
const [leftRef, isLeftVisible] = useInView.useInView();
|
|
@@ -218,9 +215,7 @@ function DataListOverflowFade({ children }) {
|
|
|
218
215
|
React__default["default"].createElement("span", { ref: rightRef, className: styles$b.overflowTrigger }))));
|
|
219
216
|
}
|
|
220
217
|
|
|
221
|
-
var css_248z$a = "._8MYxAQYdZzM- {\n position: relative;\n}\n\n.WRV-UmQmPzo- {\n --inline-label-height: calc(\n var(--typography--fontSize-small) * 1.5 + calc(var(--space-smaller) * 1.5) *\n 2\n );\n\n display: -ms-flexbox;\n\n display: flex;\n z-index: 0;\n z-index: var(--elevation-default);\n max-height: calc((\n ((16px * 1) * 0.75) * 1.5 + ((16px / 4) * 1.5) *\n 2\n ) * 2);\n max-height: calc(calc(\n calc(calc(16px * 1) * 0.75) * 1.5 + calc(calc(16px / 4) * 1.5) *\n 2\n ) * 2);\n max-height: calc(var(--inline-label-height) * 2);\n overflow: hidden;\n white-space: nowrap;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n gap: calc(16px / 4);\n gap: var(--space-smaller);\n}\n\n.ND-cN-mX5-c- {\n -webkit-mask-image: linear-gradient(\n to left,\n transparent,\n transparent calc(16px * 1.5),\n rgba(0, 0, 0, 1) calc(16px * 3),\n rgba(0, 0, 0, 1)\n );\n -webkit-mask-image: linear-gradient(\n to left,\n transparent,\n transparent var(--space-large),\n rgba(0, 0, 0, 1) var(--space-largest),\n rgba(0, 0, 0, 1)\n );\n mask-image: linear-gradient(\n to left,\n transparent,\n transparent calc(16px * 1.5),\n rgba(0, 0, 0, 1) calc(16px * 3),\n rgba(0, 0, 0, 1)\n );\n mask-image: linear-gradient(\n to left,\n transparent,\n transparent var(--space-large),\n rgba(0, 0, 0, 1) var(--space-largest),\n rgba(0, 0, 0, 1)\n );\n}\n\n.liQeWCMenD0- {\n display: -ms-flexbox;\n display: flex;\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n -ms-flex-align: center;\n align-items: center;\n}\n";
|
|
222
218
|
var styles$a = {"tagWrapper":"_8MYxAQYdZzM-","tags":"WRV-UmQmPzo-","tagsMask":"ND-cN-mX5-c-","tagCount":"liQeWCMenD0-"};
|
|
223
|
-
styleInject_es.styleInject(css_248z$a);
|
|
224
219
|
|
|
225
220
|
function DataListTags({ items }) {
|
|
226
221
|
const ref = React.useRef(null);
|
|
@@ -276,13 +271,9 @@ function buildIntersectionThreshold(items) {
|
|
|
276
271
|
return thresholds;
|
|
277
272
|
}
|
|
278
273
|
|
|
279
|
-
var css_248z$9 = ".fLmJZJJqMcE- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n padding: 0;\n border: none;\n background-color: transparent;\n}\n\n.fLmJZJJqMcE-:focus,\n.fLmJZJJqMcE-:focus-visible {\n outline: none;\n}\n\n.fLmJZJJqMcE-: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.UG8cHUT3Hds- {\n cursor: pointer;\n}\n";
|
|
280
274
|
var styles$9 = {"headerLabel":"fLmJZJJqMcE-","sortable":"UG8cHUT3Hds-"};
|
|
281
|
-
styleInject_es.styleInject(css_248z$9);
|
|
282
275
|
|
|
283
|
-
var css_248z$8 = ".AN5egORYy-0- {\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: calc(16px * 1.5);\n height: var(--space-large);\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.AN5egORYy-0- path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-interactive--subtle);\n transition: all 200ms ease;\n transition: all var(--timing-base) ease;\n}\n\n.AN5egORYy-0- path.F1uTDCK0Sb0- {\n fill: rgb(1, 41, 57);\n fill: var(--color-heading);\n}\n\n.AN5egORYy-0- path._6KYeQXWXLQ8- {\n fill: rgb(217, 223, 225);\n fill: var(--color-inactive--surface);\n}\n";
|
|
284
276
|
var styles$8 = {"sortIcon":"AN5egORYy-0-","active":"F1uTDCK0Sb0-","inactive":"_6KYeQXWXLQ8-"};
|
|
285
|
-
styleInject_es.styleInject(css_248z$8);
|
|
286
277
|
|
|
287
278
|
const SORTING_ICON_TEST_ID = "ATL-DataList-Sorting-Icon";
|
|
288
279
|
function DataListSortingArrows({ order }) {
|
|
@@ -304,7 +295,7 @@ function DataListHeaderTile({ headers, headerKey, }) {
|
|
|
304
295
|
[styles$9.sortable]: isSortable,
|
|
305
296
|
}), onClick: handleOnClick },
|
|
306
297
|
React__default["default"].createElement(Text.Text, { maxLines: "single" }, headers[headerKey]),
|
|
307
|
-
(sortingState === null || sortingState === void 0 ? void 0 : sortingState.key) === headerKey
|
|
298
|
+
(sortingState === null || sortingState === void 0 ? void 0 : sortingState.key) === headerKey ? (React__default["default"].createElement(DataListSortingArrows, { order: sortingState.order })) : (sortingState === null || sortingState === void 0 ? void 0 : sortingState.key) !== headerKey && isSortable ? (React__default["default"].createElement(DataListSortingArrows, { order: "none" })) : null));
|
|
308
299
|
function toggleSorting(sortingKey) {
|
|
309
300
|
const isSameKey = sortingKey === (sortingState === null || sortingState === void 0 ? void 0 : sortingState.key);
|
|
310
301
|
if (isSameKey && (sortingState === null || sortingState === void 0 ? void 0 : sortingState.order) === "desc") {
|
|
@@ -398,9 +389,7 @@ function useDataListLayoutActionsContext() {
|
|
|
398
389
|
return React.useContext(DataListLayoutActionsContext);
|
|
399
390
|
}
|
|
400
391
|
|
|
401
|
-
var css_248z$7 = ".aokwZU8jbWU- {\n position: fixed;\n top: 0;\n top: var(--actions-menu-y, 0);\n left: 0;\n left: var(--actions-menu-x, 0);\n z-index: 6;\n z-index: var(--elevation-menu);\n min-width: 150px;\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 / 4);\n padding: var(--space-smaller);\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--color-border);\n border-radius: calc(16px / 2);\n border-radius: var(--radius-larger);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.XtVRP97TVSE- {\n position: fixed;\n top: 0;\n left: 0;\n z-index: calc(6 - 1);\n z-index: calc(var(--elevation-menu) - 1);\n width: 100%;\n height: 100%;\n padding: 0;\n border: none;\n background-color: transparent;\n}\n";
|
|
402
392
|
var styles$7 = {"menu":"aokwZU8jbWU-","overlay":"XtVRP97TVSE-"};
|
|
403
|
-
styleInject_es.styleInject(css_248z$7);
|
|
404
393
|
|
|
405
394
|
const variants$1 = {
|
|
406
395
|
hidden: { opacity: 0, y: -10 },
|
|
@@ -721,9 +710,7 @@ function DataListLayout({ children, size = "xs", }) {
|
|
|
721
710
|
return null;
|
|
722
711
|
}
|
|
723
712
|
|
|
724
|
-
var css_248z$6 = ".v-GrdlFpBLk- {\n /* Offset the button's padding so the height of the header bar doesn't change */\n margin: calc((16px / 2) * -1) 0;\n margin: calc(calc(16px / 2) * -1) 0;\n margin: calc(var(--space-small) * -1) 0;\n}\n";
|
|
725
713
|
var styles$6 = {"bulkActions":"v-GrdlFpBLk-"};
|
|
726
|
-
styleInject_es.styleInject(css_248z$6);
|
|
727
714
|
|
|
728
715
|
// This component is meant to capture the props of the DataList.BulkActions
|
|
729
716
|
function DataListBulkActions(
|
|
@@ -906,9 +893,7 @@ function InternalDataListFilters() {
|
|
|
906
893
|
showSortButton && React__default["default"].createElement(DataListSort, null)));
|
|
907
894
|
}
|
|
908
895
|
|
|
909
|
-
var css_248z$5 = ".PGOHzrMh374- {\n --offset: 1px;\n --sticky-header-transition-properties: var(--timing-base) ease-in-out;\n\n position: sticky;\n top: calc(1px * -1);\n top: calc(var(--offset) * -1);\n z-index: 1;\n z-index: var(--elevation-base);\n padding-top: 1px;\n padding-top: var(--offset);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n/**\n * Draw a border that gets covered by the column headers border when it shows up.\n *\n * Mostly to prevent us from writing some complex JS to remove the border when\n * the column headers show up.\n */\n\n.PGOHzrMh374-::before {\n content: \"\";\n display: block;\n position: absolute;\n bottom: 0;\n left: 50%;\n z-index: -1;\n width: 0;\n height: 0;\n background-color: rgb(217, 223, 225);\n background-color: var(--color-border);\n -webkit-transform: translateX(-50%);\n transform: translateX(-50%);\n transition: height var(--sticky-header-transition-properties)\n 100ms,\n width var(--sticky-header-transition-properties);\n transition: height var(--sticky-header-transition-properties)\n var(--timing-quick),\n width var(--sticky-header-transition-properties);\n}\n\n.PGjWc5ocjpI-::before {\n width: 100%;\n height: calc(16px / 8);\n height: var(--border-thick);\n transition: height var(--sticky-header-transition-properties),\n width var(--sticky-header-transition-properties) 100ms;\n transition: height var(--sticky-header-transition-properties),\n width var(--sticky-header-transition-properties) var(--timing-quick);\n}\n";
|
|
910
896
|
var styles$5 = {"header":"PGOHzrMh374-","stuck":"PGjWc5ocjpI-"};
|
|
911
|
-
styleInject_es.styleInject(css_248z$5);
|
|
912
897
|
|
|
913
898
|
function DataListStickyHeader({ children }) {
|
|
914
899
|
const [isStuck, setIsStuck] = React.useState(false);
|
|
@@ -926,9 +911,7 @@ function DataListStickyHeader({ children }) {
|
|
|
926
911
|
return (React__default["default"].createElement("div", { ref: ref, className: classnames__default["default"](styles$5.header, { [styles$5.stuck]: isStuck }) }, children));
|
|
927
912
|
}
|
|
928
913
|
|
|
929
|
-
var css_248z$4 = ".tj0MOMhLEEY- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.SaPMOnvw-3c- {\n --transition-properties: var(--timing-base) ease-in-out;\n --button-offset: calc(var(--space-largest) - var(--space-smaller));\n\n position: absolute;\n top: 50%;\n right: calc((16px * 3) - (16px / 4));\n right: calc(calc(16px * 3) - calc(16px / 4));\n right: var(--button-offset);\n visibility: hidden;\n width: 0;\n padding: calc(16px / 4) 0;\n padding: var(--space-smaller) 0;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n opacity: 0;\n -webkit-transform: translateY(-50%);\n transform: translateY(-50%);\n transition: opacity 200ms ease-in-out,\n width 200ms ease-in-out, visibility 200ms ease-in-out;\n transition: opacity var(--transition-properties),\n width var(--transition-properties), visibility var(--transition-properties);\n}\n\n._3S1-91v2SYI- {\n visibility: visible;\n width: calc(100% - var(--button-offset));\n opacity: 1;\n}\n\n@media (min-width: 768px) {\n\n.SaPMOnvw-3c-,\n._3S1-91v2SYI- {\n position: static;\n visibility: visible;\n width: auto;\n padding: 0;\n background-color: transparent;\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n transition: none;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n.SaPMOnvw-3c-,\n._3S1-91v2SYI- {\n position: static;\n visibility: visible;\n width: auto;\n padding: 0;\n background-color: transparent;\n opacity: 1;\n -webkit-transform: none;\n transform: none;\n transition: none;\n}\n }\n\n._9GlBktsUALw- {\n display: block;\n}\n\n@media (min-width: 768px) {\n\n._9GlBktsUALw- {\n display: none;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n._9GlBktsUALw- {\n display: none;\n}\n }\n\n/*\n * No Filters Styling\n *\n * When there are no filters, the search input is always visible.\n * ------------------------------------------------------------------------- */\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n position: static;\n visibility: visible;\n width: auto;\n opacity: 1;\n transition: none;\n}\n\n@media (min-width: 768px) {\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n max-width: 30%;\n}\n }\n\n@media (--medium-screens-and-up) {\n\n._3Pjrt42x454- .SaPMOnvw-3c- {\n max-width: 30%;\n}\n }\n\n._3Pjrt42x454- ._9GlBktsUALw- {\n display: none;\n}\n";
|
|
930
914
|
var styles$4 = {"wrapper":"tj0MOMhLEEY-","searchInput":"SaPMOnvw-3c-","searchInputVisible":"_3S1-91v2SYI-","searchButton":"_9GlBktsUALw-","withNoFilters":"_3Pjrt42x454-"};
|
|
931
|
-
styleInject_es.styleInject(css_248z$4);
|
|
932
915
|
|
|
933
916
|
const DATA_LIST_SEARCH_TEST_ID = "ATL-DataList-Search-input-wrapper";
|
|
934
917
|
// This component is meant to capture the props of the DataList.Search
|
|
@@ -976,9 +959,7 @@ function InternalDataListSearch() {
|
|
|
976
959
|
}
|
|
977
960
|
}
|
|
978
961
|
|
|
979
|
-
var css_248z$3 = ".zg3w9nQga-M- {\n display: -ms-flexbox;\n display: flex;\n box-sizing: border-box;\n padding: calc(16px * 1);\n padding: var(--space-base);\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-direction: column;\n flex-direction: column;\n row-gap: calc(16px * 1);\n row-gap: var(--space-base);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex: 1;\n flex: 1;\n}\n";
|
|
980
962
|
var styles$3 = {"emptyStateWrapper":"zg3w9nQga-M-"};
|
|
981
|
-
styleInject_es.styleInject(css_248z$3);
|
|
982
963
|
|
|
983
964
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
984
965
|
function DataListEmptyState(_) {
|
|
@@ -1021,9 +1002,7 @@ function getEmptyStates(components) {
|
|
|
1021
1002
|
return { defaultEmptyState, filteredEmptyState };
|
|
1022
1003
|
}
|
|
1023
1004
|
|
|
1024
|
-
var css_248z$2 = ".IC-Y9bTIVFo- {\n position: relative;\n -webkit-transform: translateY(calc((16px * 3) * -1));\n -webkit-transform: translateY(calc(calc(16px * 3) * -1));\n -webkit-transform: translateY(calc(var(--space-largest) * -1));\n transform: translateY(calc((16px * 3) * -1));\n transform: translateY(calc(calc(16px * 3) * -1));\n transform: translateY(calc(var(--space-largest) * -1));\n}\n\n.PbZLGpbI6ZM-,\n._6zA6B-jmz6o- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n padding: calc(16px / 2);\n padding: var(--space-small);\n}\n\n._6zA6B-jmz6o- {\n opacity: 0;\n -webkit-animation: gZ4DUv82g5I- 200ms ease 200ms forwards;\n -webkit-animation: gZ4DUv82g5I- var(--timing-base) ease var(--timing-base) forwards;\n animation: gZ4DUv82g5I- 200ms ease 200ms forwards;\n animation: gZ4DUv82g5I- var(--timing-base) ease var(--timing-base) forwards;\n}\n\n@-webkit-keyframes gZ4DUv82g5I- {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n\n@keyframes gZ4DUv82g5I- {\n from {\n opacity: 0;\n }\n\n to {\n opacity: 1;\n }\n}\n";
|
|
1025
1005
|
var styles$2 = {"trigger":"IC-Y9bTIVFo-","loadingMore":"PbZLGpbI6ZM-","backToTop":"_6zA6B-jmz6o-","fadeIn":"gZ4DUv82g5I-"};
|
|
1026
|
-
styleInject_es.styleInject(css_248z$2);
|
|
1027
1006
|
|
|
1028
1007
|
function DataListLoadMoreTrigger() {
|
|
1029
1008
|
const { onLoadMore } = useDataListContext();
|
|
@@ -1046,9 +1025,7 @@ function DataListLoadMore({ onBackToTop }) {
|
|
|
1046
1025
|
React__default["default"].createElement(Button.Button, { label: "Back to top", onClick: onBackToTop, size: "small", variation: "subtle" })))));
|
|
1047
1026
|
}
|
|
1048
1027
|
|
|
1049
|
-
var css_248z$1 = ".iyg43v-S9yU- {\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n min-height: 44px;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border: none;\n border-radius: 0;\n font-size: calc((16px * 1) * 0.875);\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n text-align: left;\n background: none;\n cursor: pointer;\n transition: background 200ms ease;\n transition: background var(--timing-base) ease;\n -webkit-appearance: none;\n appearance: none;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.iyg43v-S9yU-:hover,\n.iyg43v-S9yU-:focus {\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n}\n\n.iyg43v-S9yU-:focus,\n.iyg43v-S9yU-:focus-visible {\n outline: none;\n}\n\n.iyg43v-S9yU-: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.AUJNqz93ZDA- {\n font-weight: 500;\n}\n";
|
|
1050
1028
|
var styles$1 = {"action":"iyg43v-S9yU-","label":"AUJNqz93ZDA-"};
|
|
1051
|
-
styleInject_es.styleInject(css_248z$1);
|
|
1052
1029
|
|
|
1053
1030
|
function DataListAction({ label, icon, destructive, visible = () => true, onClick, }) {
|
|
1054
1031
|
const { activeItem } = useDataListLayoutActionsContext();
|
|
@@ -1079,9 +1056,7 @@ function DataListAction({ label, icon, destructive, visible = () => true, onClic
|
|
|
1079
1056
|
}
|
|
1080
1057
|
}
|
|
1081
1058
|
|
|
1082
|
-
var css_248z = "._0m75bgCVBhk- {\n visibility: hidden;\n}\n";
|
|
1083
1059
|
var styles = {"hidden":"_0m75bgCVBhk-"};
|
|
1084
|
-
styleInject_es.styleInject(css_248z);
|
|
1085
1060
|
|
|
1086
1061
|
function DataListLayoutActions() {
|
|
1087
1062
|
const { itemActionComponent, loadingState } = useDataListContext();
|
|
@@ -54,4 +54,4 @@ export interface DataTableProps<T> {
|
|
|
54
54
|
*/
|
|
55
55
|
readonly loading?: boolean;
|
|
56
56
|
}
|
|
57
|
-
export declare function DataTable<T extends object>(
|
|
57
|
+
export declare function DataTable<T extends object>(props: DataTableProps<T>): JSX.Element;
|
package/dist/DataTable/index.js
CHANGED
|
@@ -6,23 +6,23 @@ var reactTable = require('@tanstack/react-table');
|
|
|
6
6
|
var classnames = require('classnames');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var jobberHooks = require('@jobber/hooks/useResizeObserver');
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
require('../Content-
|
|
16
|
-
require('../FormField-
|
|
17
|
-
require('uuid');
|
|
9
|
+
var Glimmer = require('../Glimmer-f5c31401.js');
|
|
10
|
+
var tslib_es6 = require('../tslib.es6-a575af05.js');
|
|
11
|
+
var Option = require('../Option-c84f28a6.js');
|
|
12
|
+
var Button = require('../Button-8bde6560.js');
|
|
13
|
+
var Text = require('../Text-9f261dde.js');
|
|
14
|
+
var ClientOnly = require('../ClientOnly-4f3e136d.js');
|
|
15
|
+
require('../Content-80486307.js');
|
|
16
|
+
require('../FormField-18eda132.js');
|
|
18
17
|
require('react-hook-form');
|
|
19
|
-
require('
|
|
18
|
+
require('@jobber/hooks/useShowClear');
|
|
19
|
+
require('../Icon-361343e0.js');
|
|
20
20
|
require('@jobber/design');
|
|
21
|
-
require('../InputValidation-
|
|
21
|
+
require('../InputValidation-fdc891af.js');
|
|
22
22
|
require('framer-motion');
|
|
23
|
-
require('../Spinner-
|
|
23
|
+
require('../Spinner-cac356ee.js');
|
|
24
24
|
require('react-router-dom');
|
|
25
|
-
require('../Typography-
|
|
25
|
+
require('../Typography-75f58b60.js');
|
|
26
26
|
|
|
27
27
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
28
28
|
|
|
@@ -48,9 +48,7 @@ var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
|
48
48
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
49
49
|
var jobberHooks__namespace = /*#__PURE__*/_interopNamespace(jobberHooks);
|
|
50
50
|
|
|
51
|
-
var css_248z$3 = ".m5A5oeRFaMs- {\n position: relative;\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--color-border);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n}\n\n.cY-5BrIIUg8- {\n overflow: auto;\n}\n\n.y8xnHe7fwrI- {\n width: 100%;\n border-collapse: collapse;\n text-align: left;\n}\n\n.y8xnHe7fwrI- thead tr th {\n padding: calc(16px * 1);\n padding: var(--space-base);\n border-bottom: calc(16px / 16) solid rgb(217, 223, 225);\n border-bottom: var(--border-base) solid var(--color-border);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n white-space: nowrap;\n}\n\n.y8xnHe7fwrI- thead tr th :first-child {\n display: -ms-flexbox;\n display: flex;\n}\n\n.y8xnHe7fwrI- tbody tr {\n border-bottom: calc(16px / 16) solid rgb(217, 223, 225);\n border-bottom: var(--border-base) solid var(--color-border);\n}\n\n.y8xnHe7fwrI- tbody tr:last-child {\n border-bottom: none;\n}\n\n.y8xnHe7fwrI- tbody tr td {\n padding: calc(16px * 1);\n padding: var(--space-base);\n}\n\n.y8xnHe7fwrI- tfoot {\n position: sticky;\n z-index: 1;\n width: 100%;\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 border-top: calc(16px / 8) solid rgb(217, 223, 225);\n border-top: var(--border-thick) solid var(--color-border);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n bottom: 0;\n}\n\n.y8xnHe7fwrI- tfoot tr th {\n padding: calc(16px * 1);\n padding: var(--space-base);\n}\n\n.t8QYvdtkQXQ- thead tr th:first-child,\n.t8QYvdtkQXQ- tbody tr td:first-child {\n position: sticky;\n left: 0;\n z-index: 1;\n height: calc((16px * 3) + (16px / 4));\n height: calc(calc(16px * 3) + calc(16px / 4));\n height: calc(var(--space-largest) + var(--space-smaller));\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.t8QYvdtkQXQ- th:first-child::after,\n.t8QYvdtkQXQ- td:first-child::after {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n right: calc(-1 * (16px / 2));\n right: calc(-1 * calc(16px / 2));\n right: calc(-1 * var(--space-small));\n width: calc(16px / 2);\n width: var(--space-small);\n height: 100%;\n background: linear-gradient(\n 90deg,\n rgba(0, 0, 0, 0.1) 0%,\n rgba(0, 0, 0, 0) 80%\n );\n background: linear-gradient(\n 90deg,\n rgba(var(--color-black--rgb), 0.1) 0%,\n rgba(var(--color-black--rgb), 0) 80%\n );\n}\n\n.Y21JuHX6fhk- {\n position: sticky;\n top: 0;\n right: 0;\n left: 0;\n z-index: 2;\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 background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.PJEX8dlqCMA-:first-child:hover {\n background: rgb(244, 246, 250);\n background: var(--color-surface--hover);\n cursor: pointer;\n}\n\n._9ps4aWGs8W0-:hover {\n background: rgb(244, 246, 250);\n background: var(--color-surface--hover);\n cursor: pointer;\n}\n\n._59XEEB8l5pI-:hover,\n._59XEEB8l5pI-:hover :first-child {\n background: rgb(238, 240, 242);\n background: var(--color-surface--background);\n cursor: pointer;\n}\n\n.a2BGGBkY5J8- {\n display: -ms-flexbox;\n display: flex;\n position: absolute;\n -ms-flex-direction: column;\n flex-direction: column;\n top: calc(16px * 3);\n top: var(--space-largest);\n right: 0;\n bottom: calc(16px * 3);\n bottom: var(--space-largest);\n left: 0;\n width: 100%;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n}\n";
|
|
52
51
|
var styles$3 = {"dataTableContainer":"m5A5oeRFaMs-","tableContainer":"cY-5BrIIUg8-","table":"y8xnHe7fwrI-","pinFirstColumn":"t8QYvdtkQXQ-","stickyHeader":"Y21JuHX6fhk-","pinFirstHeaderSortable":"PJEX8dlqCMA-","sortableColumn":"_9ps4aWGs8W0-","clickableRow":"_59XEEB8l5pI-","emptyState":"a2BGGBkY5J8-"};
|
|
53
|
-
styleInject_es.styleInject(css_248z$3);
|
|
54
52
|
|
|
55
53
|
function BodyLoading({ table }) {
|
|
56
54
|
const loaderRows = table.getState().pagination.pageSize;
|
|
@@ -133,9 +131,7 @@ function getSortingSettings(sorting) {
|
|
|
133
131
|
return sortingSettings;
|
|
134
132
|
}
|
|
135
133
|
|
|
136
|
-
var css_248z$2 = ".zn0VRVhObt0- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n min-height: calc((16px / 4) + (16px * 3));\n min-height: calc(calc(16px / 4) + calc(16px * 3));\n min-height: calc(var(--space-smaller) + var(--space-largest));\n padding: calc(16px / 2) calc(16px * 1);\n padding: var(--space-small) var(--space-base);\n border-top: calc(16px / 16) solid rgb(217, 223, 225);\n border-top: var(--border-base) solid var(--color-border);\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n._1d4uh90gfSI- {\n -ms-flex: 9999;\n flex: 9999;\n white-space: nowrap;\n}\n\n._5Hh01rJlUDs- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: justify;\n justify-content: space-between;\n gap: calc(16px * 1);\n gap: var(--space-base);\n -ms-flex: 1;\n flex: 1;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n min-width: -webkit-fit-content;\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n\n.N5rXFBBzPxk- {\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 gap: calc(16px / 2);\n gap: var(--space-small);\n min-width: calc(3 * (16px * 3) + (16px / 2));\n min-width: calc(3 * calc(16px * 3) + calc(16px / 2));\n min-width: calc(3 * var(--space-largest) + var(--space-small));\n}\n\n.Uq2TUaf9ang- {\n min-width: calc((16px * 4) + (16px / 4));\n min-width: calc(calc(16px * 4) + calc(16px / 4));\n min-width: calc(var(--space-extravagant) + var(--space-smaller));\n}\n\n.PeLwUZ2wWPI- {\n display: -ms-flexbox;\n display: flex;\n gap: calc(16px * 1.5);\n gap: var(--space-large);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n@media (max-width: 489px) {\n\n.PeLwUZ2wWPI- {\n gap: calc(16px * 1);\n gap: var(--space-base);\n}\n }\n\n@media (--small-screens-and-below) {\n\n.PeLwUZ2wWPI- {\n gap: calc(16px * 1);\n gap: var(--space-base);\n}\n }\n";
|
|
137
134
|
var styles$2 = {"pagination":"zn0VRVhObt0-","paginationInfo":"_1d4uh90gfSI-","paginationNav":"_5Hh01rJlUDs-","paginationSelect":"N5rXFBBzPxk-","paginationSelectLabel":"Uq2TUaf9ang-","paginationButtons":"PeLwUZ2wWPI-"};
|
|
138
|
-
styleInject_es.styleInject(css_248z$2);
|
|
139
135
|
|
|
140
136
|
const defaultItemsPerPageOptions = ["10", "20", "30", "40", "50"];
|
|
141
137
|
function Pagination({ table, itemsPerPage, totalItems, loading, onPageChange, }) {
|
|
@@ -164,9 +160,7 @@ function Pagination({ table, itemsPerPage, totalItems, loading, onPageChange, })
|
|
|
164
160
|
}, disabled: !table.getCanNextPage() })))));
|
|
165
161
|
}
|
|
166
162
|
|
|
167
|
-
var css_248z$1 = "._0FexNr-lIgA- {\n padding: calc(16px * 1);\n padding: var(--space-base);\n border-top: calc(16px / 8) solid rgb(217, 223, 225);\n border-top: var(--border-thick) solid var(--color-border);\n}\n\n.PKlqQjoQ6DY- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: justify;\n justify-content: space-between;\n font-weight: bold;\n}\n\n.PKlqQjoQ6DY- * {\n text-align: left;\n}\n\n.ItTcVYUbVNM-,\n.ItTcVYUbVNM- * {\n font-weight: normal;\n text-align: right;\n}\n\n.PKlqQjoQ6DY-:not(:last-child) {\n padding-bottom: calc(16px / 2);\n padding-bottom: var(--space-small);\n}\n";
|
|
168
163
|
var styles$1 = {"mobileFooterContainer":"_0FexNr-lIgA-","mobileFooterRow":"PKlqQjoQ6DY-","mobileFooterRowData":"ItTcVYUbVNM-"};
|
|
169
|
-
styleInject_es.styleInject(css_248z$1);
|
|
170
164
|
|
|
171
165
|
const DesktopView = ({ table }) => (React__default["default"].createElement("tfoot", { "data-testid": "data-table-desktop-footer" }, table.getFooterGroups().map(footerGroup => (React__default["default"].createElement("tr", { key: footerGroup.id }, footerGroup.headers.map(header => (React__default["default"].createElement("th", { key: header.id, style: {
|
|
172
166
|
width: header.getSize(),
|
|
@@ -188,9 +182,7 @@ const Footer = ({ table, viewType = "handheld", }) => {
|
|
|
188
182
|
return null;
|
|
189
183
|
};
|
|
190
184
|
|
|
191
|
-
var css_248z = ".wtb8keLFxgc- {\n padding-right: calc(16px / 2);\n padding-right: var(--space-small);\n}\n.wtb8keLFxgc- path {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-greyBlue);\n}\n.wtb8keLFxgc- path.TUkZiGiR6hc- {\n fill: rgb(1, 41, 57);\n fill: var(--color-blue);\n}\n.wtb8keLFxgc- path.HkPlMeyz3rM- {\n fill: rgb(193, 201, 206);\n fill: var(--color-greyBlue--lighter);\n}\n";
|
|
192
185
|
var styles = {"sortIcon":"wtb8keLFxgc-","active":"TUkZiGiR6hc-","inactive":"HkPlMeyz3rM-"};
|
|
193
|
-
styleInject_es.styleInject(css_248z);
|
|
194
186
|
|
|
195
187
|
var SortDirection;
|
|
196
188
|
(function (SortDirection) {
|
|
@@ -250,7 +242,7 @@ function Header({ table, stickyHeader, sorting, onRowClick, }) {
|
|
|
250
242
|
}))))));
|
|
251
243
|
}
|
|
252
244
|
|
|
253
|
-
function
|
|
245
|
+
function InternalDataTable({ data, columns, pagination, sorting, height, stickyHeader, pinFirstColumn, onRowClick, emptyState, loading = false, }) {
|
|
254
246
|
const [ref, { exactWidth }] = jobberHooks.useResizeObserver();
|
|
255
247
|
const tableSettings = createTableSettings(data, columns, {
|
|
256
248
|
pagination,
|
|
@@ -275,6 +267,10 @@ function DataTable({ data, columns, pagination, sorting, height, stickyHeader, p
|
|
|
275
267
|
? pagination.totalItems
|
|
276
268
|
: table.getCoreRowModel().rows.length, loading: loading, onPageChange: () => { var _a; return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollTo(0, 0); } }))));
|
|
277
269
|
}
|
|
270
|
+
function DataTable(props) {
|
|
271
|
+
return (React__default["default"].createElement(ClientOnly.ClientOnly, null,
|
|
272
|
+
React__default["default"].createElement(InternalDataTable, Object.assign({}, props))));
|
|
273
|
+
}
|
|
278
274
|
|
|
279
275
|
const mockContainerWidth = (exactWidth) => {
|
|
280
276
|
jest.spyOn(jobberHooks__namespace, "useResizeObserver").mockReturnValue([
|
package/dist/DatePicker/index.js
CHANGED
|
@@ -2,16 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var DatePicker = require('../DatePicker-
|
|
5
|
+
var DatePicker = require('../DatePicker-9399cc69.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('react-datepicker');
|
|
9
9
|
require('@jobber/hooks/useRefocusOnActivator');
|
|
10
|
-
require('../
|
|
11
|
-
require('../
|
|
12
|
-
require('../Button-163a0641.js');
|
|
10
|
+
require('../Typography-75f58b60.js');
|
|
11
|
+
require('../Button-8bde6560.js');
|
|
13
12
|
require('react-router-dom');
|
|
14
|
-
require('../Icon-
|
|
13
|
+
require('../Icon-361343e0.js');
|
|
15
14
|
require('@jobber/design');
|
|
16
15
|
require('lodash/omit');
|
|
17
16
|
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var classnames = require('classnames');
|
|
5
|
+
var ReactDatePicker = require('react-datepicker');
|
|
6
|
+
var useRefocusOnActivator = require('@jobber/hooks/useRefocusOnActivator');
|
|
7
|
+
var Typography = require('./Typography-75f58b60.js');
|
|
8
|
+
var Button = require('./Button-8bde6560.js');
|
|
9
|
+
var omit = require('lodash/omit');
|
|
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
|
+
var ReactDatePicker__default = /*#__PURE__*/_interopDefaultLegacy(ReactDatePicker);
|
|
16
|
+
var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
|
|
17
|
+
|
|
18
|
+
var styles = {"react-datepicker__month--selecting-range":"vl9aI3nIPIc-","datePickerWrapper":"jswNs4p7tII-","fullWidth":"WNVBy7I-Vv4-","datePicker":"_8kgzU28z2Eo-","inline":"_1Z7yDS-JQa0-","header":"G2Kz3asqaFQ-","month":"D3kDqTSFScU-"};
|
|
19
|
+
|
|
20
|
+
function DatePickerCustomHeader({ monthDate, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) {
|
|
21
|
+
return (React__default["default"].createElement("div", { className: styles.header },
|
|
22
|
+
React__default["default"].createElement(Button.Button, { onClick: decreaseMonth, disabled: prevMonthButtonDisabled, icon: "arrowLeft", ariaLabel: "Previous Month", variation: "work", type: "tertiary" }),
|
|
23
|
+
React__default["default"].createElement("div", { className: styles.month },
|
|
24
|
+
React__default["default"].createElement(Typography.Typography, { element: "span", fontFamily: "display", size: "large" }, monthDate.toLocaleString("en-US", {
|
|
25
|
+
month: "long",
|
|
26
|
+
year: "numeric",
|
|
27
|
+
}))),
|
|
28
|
+
React__default["default"].createElement(Button.Button, { onClick: increaseMonth, disabled: nextMonthButtonDisabled, icon: "arrowRight", ariaLabel: "Next Month", variation: "work", type: "tertiary" })));
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const DatePickerActivator = React.forwardRef(InternalActivator);
|
|
32
|
+
function InternalActivator(props, ref) {
|
|
33
|
+
const { activator, fullWidth } = props;
|
|
34
|
+
const newActivatorProps = omit__default["default"](props, ["activator", "fullWidth"]);
|
|
35
|
+
if (activator) {
|
|
36
|
+
if (React.isValidElement(activator)) {
|
|
37
|
+
const isAComponent = typeof activator.type === "function";
|
|
38
|
+
return React.cloneElement(activator, Object.assign(Object.assign(Object.assign({}, newActivatorProps), (isAComponent && { fullWidth: fullWidth })), {
|
|
39
|
+
// @ts-expect-error - Issue with react types not including `ref` in
|
|
40
|
+
// cloneElement. https://github.com/DefinitelyTyped/DefinitelyTyped/issues/40888
|
|
41
|
+
ref }));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
return activator(props);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
return (React__default["default"].createElement(Button.Button, Object.assign({ variation: "work", type: "tertiary", icon: "calendar", ariaLabel: "Open Datepicker", fullWidth: fullWidth }, newActivatorProps)));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function useFocusOnSelectedDate() {
|
|
53
|
+
const ref = React.useRef();
|
|
54
|
+
function focusOnSelectedDate() {
|
|
55
|
+
var _a;
|
|
56
|
+
const selectedDateClass = ".react-datepicker__day--selected";
|
|
57
|
+
const selectedDate = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.querySelector(selectedDateClass);
|
|
58
|
+
if (selectedDate instanceof HTMLDivElement) {
|
|
59
|
+
selectedDate.focus();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return { ref, focusOnSelectedDate };
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function DatePicker({ onChange, onMonthChange, activator, inline, selected, readonly = false, disabled = false, fullWidth = false, smartAutofocus = true, maxDate, minDate, highlightDates, }) {
|
|
66
|
+
const { ref, focusOnSelectedDate } = useFocusOnSelectedDate();
|
|
67
|
+
const [open, setOpen] = React.useState(false);
|
|
68
|
+
const wrapperClassName = classnames__default["default"](styles.datePickerWrapper, {
|
|
69
|
+
// react-datepicker uses this class name to not close the date picker when
|
|
70
|
+
// the activator is clicked
|
|
71
|
+
// https://github.com/Hacker0x01/react-datepicker/blob/master/src/index.jsx#L905
|
|
72
|
+
//
|
|
73
|
+
// It uses react-onclickoutside package and declaring some elements to be
|
|
74
|
+
// ignored via said class name
|
|
75
|
+
// https://www.npmjs.com/package/react-onclickoutside#marking-elements-as-skip-over-this-one-during-the-event-loop
|
|
76
|
+
"react-datepicker-ignore-onclickoutside": !inline,
|
|
77
|
+
[styles.fullWidth]: fullWidth,
|
|
78
|
+
});
|
|
79
|
+
const datePickerClassNames = classnames__default["default"](styles.datePicker, {
|
|
80
|
+
[styles.inline]: inline,
|
|
81
|
+
});
|
|
82
|
+
const { pickerRef } = useEscapeKeyToCloseDatePicker(open, ref);
|
|
83
|
+
if (smartAutofocus) {
|
|
84
|
+
useRefocusOnActivator.useRefocusOnActivator(open);
|
|
85
|
+
React.useEffect(focusOnSelectedDate, [open]);
|
|
86
|
+
}
|
|
87
|
+
return (React__default["default"].createElement("div", { className: wrapperClassName, ref: ref },
|
|
88
|
+
React__default["default"].createElement(ReactDatePicker__default["default"], { ref: pickerRef, calendarClassName: datePickerClassNames, showPopperArrow: false, selected: selected, inline: inline, disabled: disabled, readOnly: readonly, onChange: handleChange, maxDate: maxDate, preventOpenOnFocus: true, minDate: minDate, useWeekdaysShort: true, customInput: React__default["default"].createElement(DatePickerActivator, { activator: activator, fullWidth: fullWidth }), renderCustomHeader: props => React__default["default"].createElement(DatePickerCustomHeader, Object.assign({}, props)), onCalendarOpen: handleCalendarOpen, onCalendarClose: handleCalendarClose, dateFormat: ["P", "PP", "PPP", "MMM dd yyyy", "MMMM dd yyyy"], highlightDates: highlightDates, onMonthChange: onMonthChange })));
|
|
89
|
+
/**
|
|
90
|
+
* The onChange callback on ReactDatePicker returns a Date and an Event, but
|
|
91
|
+
* the onChange in our interface only provides the Date. Simplifying the code
|
|
92
|
+
* by removing this function and passing it directly to the underlying
|
|
93
|
+
* component breaks tests both here and downstream (i.e. the pattern
|
|
94
|
+
* `expect(onChange).toHaveBeenCalledWith(date)` is commonly used and would
|
|
95
|
+
* fail).
|
|
96
|
+
*/
|
|
97
|
+
function handleChange(value /* , event: React.SyntheticEvent */) {
|
|
98
|
+
onChange(value);
|
|
99
|
+
}
|
|
100
|
+
function handleCalendarOpen() {
|
|
101
|
+
setOpen(true);
|
|
102
|
+
}
|
|
103
|
+
function handleCalendarClose() {
|
|
104
|
+
setOpen(false);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
function useEscapeKeyToCloseDatePicker(open, ref) {
|
|
108
|
+
const pickerRef = React.useRef(null);
|
|
109
|
+
const escFunction = (event) => {
|
|
110
|
+
var _a;
|
|
111
|
+
if (event.key === "Escape" && open) {
|
|
112
|
+
// Close the picker ourselves and prevent propagation so that ESC presses with the picker open
|
|
113
|
+
// do not close parent elements that may also be listening for ESC presses such as Modals
|
|
114
|
+
(_a = pickerRef.current) === null || _a === void 0 ? void 0 : _a.setOpen(false);
|
|
115
|
+
event.stopPropagation();
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
React.useEffect(() => {
|
|
119
|
+
var _a;
|
|
120
|
+
(_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener("keydown", escFunction);
|
|
121
|
+
return () => {
|
|
122
|
+
var _a;
|
|
123
|
+
(_a = ref.current) === null || _a === void 0 ? void 0 : _a.removeEventListener("keydown", escFunction);
|
|
124
|
+
};
|
|
125
|
+
}, [open, ref, pickerRef]);
|
|
126
|
+
return {
|
|
127
|
+
pickerRef,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
exports.DatePicker = DatePicker;
|
|
@@ -3,17 +3,14 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var
|
|
7
|
-
var Typography = require('../Typography-973b122e.js');
|
|
6
|
+
var Typography = require('../Typography-75f58b60.js');
|
|
8
7
|
require('classnames');
|
|
9
8
|
|
|
10
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
10
|
|
|
12
11
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
13
12
|
|
|
14
|
-
var css_248z = ".EQDmgmJchDA- {\n margin: 0;\n}\n\n.DkzfClUGQlc- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n padding: calc(16px / 2) 0;\n padding: var(--space-small) 0;\n border-bottom: calc(16px / 16) solid rgb(217, 223, 225);\n border-bottom: var(--border-base) solid var(--color-border);\n}\n\n.DkzfClUGQlc-:first-child {\n padding-top: 0;\n}\n\n.DkzfClUGQlc-:last-child {\n padding-bottom: 0;\n border-bottom: none;\n}\n\n.DkzfClUGQlc- dd {\n min-width: calc(16px * 7.5);\n min-width: calc(var(--base-unit) * 7.5);\n box-sizing: border-box;\n padding-right: calc(16px / 2);\n padding-right: var(--space-small);\n -webkit-margin-start: 0;\n margin-left: 0;\n -ms-flex: 1 1 60%;\n flex: 1 1 60%;\n}\n\n.DkzfClUGQlc- dt {\n -ms-flex: 1 1 40%;\n flex: 1 1 40%;\n}\n";
|
|
15
13
|
var styles = {"descriptionList":"EQDmgmJchDA-","termGroup":"DkzfClUGQlc-"};
|
|
16
|
-
styleInject_es.styleInject(css_248z);
|
|
17
14
|
|
|
18
15
|
function DescriptionList({ data }) {
|
|
19
16
|
return (React__default["default"].createElement("dl", { className: styles.descriptionList }, data.map(([term, description]) => (React__default["default"].createElement("div", { key: term, className: styles.termGroup },
|
package/dist/Disclosure/index.js
CHANGED
|
@@ -4,9 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var jobberHooks = require('@jobber/hooks/useResizeObserver');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var Typography = require('../Typography-973b122e.js');
|
|
7
|
+
var Icon = require('../Icon-361343e0.js');
|
|
8
|
+
var Typography = require('../Typography-75f58b60.js');
|
|
10
9
|
require('@jobber/design');
|
|
11
10
|
require('classnames');
|
|
12
11
|
|
|
@@ -14,9 +13,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
14
13
|
|
|
15
14
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
16
15
|
|
|
17
|
-
var css_248z = ".WcgASR88I1c- {\n -webkit-transform-origin: 50% 47.5% 0;\n transform-origin: 50% 47.5% 0;\n transition: -webkit-transform 100ms;\n transition: -webkit-transform var(--timing-quick);\n transition: transform 100ms;\n transition: transform var(--timing-quick);\n transition: transform 100ms, -webkit-transform 100ms;\n transition: transform var(--timing-quick), -webkit-transform var(--timing-quick);\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n}\n\n.N-W4pXaLGt4-[open] .WcgASR88I1c- {\n -webkit-transform: rotateX(180deg);\n transform: rotateX(180deg);\n}\n\n.PMjHZZhHiUY- {\n padding: calc(16px / 4) 0 calc(16px / 8) 0;\n padding: var(--space-smaller) 0 var(--space-smallest) 0;\n border: none;\n list-style: none;\n cursor: pointer;\n outline-color: none;\n transition: background 100ms, box-shadow 200ms;\n transition: background var(--timing-quick), box-shadow var(--timing-base);\n}\n\n.PMjHZZhHiUY-::-webkit-details-marker {\n display: none;\n}\n\n.PMjHZZhHiUY-:hover,\n.PMjHZZhHiUY-:focus {\n background: rgb(244, 246, 250);\n background: var(--color-surface--hover);\n}\n\n.PMjHZZhHiUY-:focus,\n.PMjHZZhHiUY-: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 border: none;\n outline: none;\n}\n\n.PMjHZZhHiUY- * {\n pointer-events: none;\n}\n\n.-E1lerklSHw- {\n -ms-flex-align: baseline;\n align-items: baseline;\n display: -ms-flexbox;\n display: flex;\n}\n\n.-E1lerklSHw- h4 {\n -ms-flex: 1 0 0px;\n flex: 1 0 0;\n}\n\n.CjRRsbZQp1Y- {\n display: block;\n padding: calc(16px / 2) 0;\n padding: var(--space-small) 0;\n}\n\n.N-W4pXaLGt4-[open] > .CjRRsbZQp1Y- {\n -webkit-animation: vWj6tOjTVYA- 200ms;\n -webkit-animation: vWj6tOjTVYA- var(--timing-base);\n animation: vWj6tOjTVYA- 200ms;\n animation: vWj6tOjTVYA- var(--timing-base);\n}\n\n@-webkit-keyframes vWj6tOjTVYA- {\n 0% {\n margin-top: calc((16px / 2) * -1);\n margin-top: calc(calc(16px / 2) * -1);\n margin-top: calc(var(--space-small) * -1);\n opacity: 0;\n }\n 100% {\n margin-top: 0px;\n opacity: 1;\n }\n}\n\n@keyframes vWj6tOjTVYA- {\n 0% {\n margin-top: calc((16px / 2) * -1);\n margin-top: calc(calc(16px / 2) * -1);\n margin-top: calc(var(--space-small) * -1);\n opacity: 0;\n }\n 100% {\n margin-top: 0px;\n opacity: 1;\n }\n}\n";
|
|
18
16
|
var styles = {"arrowIconWrapper":"WcgASR88I1c-","details":"N-W4pXaLGt4-","summary":"PMjHZZhHiUY-","summaryWrap":"-E1lerklSHw-","content":"CjRRsbZQp1Y-","openAnimation":"vWj6tOjTVYA-"};
|
|
19
|
-
styleInject_es.styleInject(css_248z);
|
|
20
17
|
|
|
21
18
|
function Disclosure({ children, title, defaultOpen = false, }) {
|
|
22
19
|
const [isOpen, setOpen] = React.useState(defaultOpen);
|
package/dist/Divider/index.js
CHANGED
|
@@ -4,16 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var classnames = require('classnames');
|
|
7
|
-
var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
|
|
8
7
|
|
|
9
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
9
|
|
|
11
10
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
11
|
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
13
12
|
|
|
14
|
-
var css_248z = ".dH7SqeSo70A- {\n --divider-width: var(--border-base);\n --divider-color: var(--color-border);\n margin: 0;\n padding: 0;\n border: none;\n}\n\n._07xjw8ykfvg- {\n --divider-width: var(--border-thick);\n opacity: 0.875;\n}\n\n.TGD22T-KP78- {\n --divider-width: var(--border-thicker);\n opacity: 0.625;\n}\n\n.UUndaiRIryU- {\n --divider-width: var(--border-thickest);\n opacity: 0.375;\n}\n\n.HzWBc8FoucI- {\n height: calc(16px / 16);\n height: var(--space-minuscule);\n border-bottom: var(--divider-width) solid var(--divider-color);\n}\n\n.vu46ZKcGBWM- {\n width: var(--space-miniscule);\n height: auto;\n border-right: var(--divider-width) solid var(--divider-color);\n}\n";
|
|
15
13
|
var styles = {"divider":"dH7SqeSo70A-","large":"_07xjw8ykfvg-","larger":"TGD22T-KP78-","largest":"UUndaiRIryU-","horizontal":"HzWBc8FoucI-","vertical":"vu46ZKcGBWM-"};
|
|
16
|
-
styleInject_es.styleInject(css_248z);
|
|
17
14
|
|
|
18
15
|
function Divider({ size = "base", direction = "horizontal", }) {
|
|
19
16
|
const className = classnames__default["default"](styles.divider, {
|