@jobber/components 4.59.0 → 4.59.1-st-spike-w.0
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 +5 -13
- package/dist/{AnimatedSwitcher-d1e1ddcf.js → AnimatedSwitcher-6ffd5003.js} +9 -15
- package/dist/Autocomplete/index.js +57 -68
- package/dist/Avatar/index.js +7 -15
- package/dist/{Avatar-1aa30ee1.js → Avatar-b2e862de.js} +13 -21
- package/dist/Banner/index.js +29 -38
- package/dist/Button/index.js +8 -16
- package/dist/{Button-db6114a6.js → Button-319d8fa0.js} +15 -22
- package/dist/ButtonDismiss/index.js +9 -17
- package/dist/ButtonDismiss-85986110.js +8 -0
- package/dist/Card/index.js +15 -23
- package/dist/{Card-116af709.js → Card-c1970a7c.js} +27 -34
- package/dist/Checkbox/index.js +11 -19
- package/dist/{Checkbox-bc4bc968.js → Checkbox-e4733fb4.js} +30 -37
- package/dist/Chip/index.js +24 -33
- package/dist/{Chip-4f12eec8.js → Chip-12a64c38.js} +94 -106
- package/dist/{Chip-f8b8fd89.js → Chip-40f5214c.js} +29 -37
- package/dist/Chips/index.js +25 -34
- package/dist/Combobox/index.js +94 -105
- package/dist/ConfirmationModal/index.js +22 -30
- package/dist/{ConfirmationModal-285c3cbe.js → ConfirmationModal-86b42ca0.js} +14 -20
- package/dist/Content/index.js +4 -12
- package/dist/{Content-2ca1ffe1.js → Content-3354c281.js} +8 -14
- package/dist/Countdown/index.js +8 -17
- package/dist/DataDump/index.js +24 -32
- package/dist/DataList/index.js +256 -268
- package/dist/DataTable/index.js +92 -123
- package/dist/DatePicker/index.js +12 -20
- package/dist/{DatePicker-49213434.js → DatePicker-9f1e19a5.js} +30 -39
- package/dist/DescriptionList/index.js +9 -17
- package/dist/Disclosure/index.js +21 -29
- package/dist/Divider/index.js +7 -16
- package/dist/Drawer/index.js +24 -34
- package/dist/Emphasis/index.js +5 -13
- package/dist/Emphasis-edd2af9b.js +13 -0
- package/dist/FeatureSwitch/index.js +39 -48
- package/dist/Flex/index.js +6 -15
- package/dist/Form/index.js +11 -19
- package/dist/FormField/index.js +16 -24
- package/dist/{FormField-fa9254dc.js → FormField-99918ed4.js} +58 -65
- package/dist/FormatDate/index.js +2 -11
- package/dist/{FormatDate-70ea5b43.js → FormatDate-720b39cf.js} +3 -10
- package/dist/FormatEmail/index.js +7 -16
- package/dist/FormatFile/index.js +27 -35
- package/dist/{FormatFile-6423c3b5.js → FormatFile-e1498cb9.js} +44 -52
- package/dist/FormatRelativeDateTime/index.js +7 -15
- package/dist/FormatTime/index.js +3 -11
- package/dist/Gallery/index.js +40 -49
- package/dist/Glimmer/index.js +6 -15
- package/dist/{Glimmer-cfa92a88.js → Glimmer-d3be9219.js} +25 -33
- package/dist/Grid/index.js +14 -24
- package/dist/Heading/index.js +5 -13
- package/dist/{Heading-4cde9989.js → Heading-04994667.js} +4 -10
- package/dist/Icon/index.js +3 -11
- package/dist/Icon-22723fe6.js +34 -0
- package/dist/InlineLabel/index.js +5 -13
- package/dist/{InlineLabel-a24706c4.js → InlineLabel-4df86867.js} +9 -16
- package/dist/InputAvatar/index.js +32 -40
- package/dist/InputDate/index.js +26 -35
- package/dist/InputEmail/index.js +18 -27
- package/dist/InputFile/index.js +14 -23
- package/dist/{InputFile-25c3369b.js → InputFile-3bbaa09e.js} +24 -33
- package/dist/InputGroup/index.js +4 -12
- package/dist/{InputGroup-3fdde16b.js → InputGroup-1b4abd36.js} +9 -16
- package/dist/InputNumber/index.js +17 -25
- package/dist/{InputNumber-ea9fcee1.js → InputNumber-fa8132f3.js} +7 -13
- package/dist/InputPassword/index.js +19 -27
- package/dist/InputPhoneNumber/index.js +28 -36
- package/dist/InputText/index.js +17 -25
- package/dist/{InputText-ab237501.js → InputText-6d262128.js} +9 -15
- package/dist/InputTime/index.js +29 -38
- package/dist/InputValidation/index.js +9 -17
- package/dist/InputValidation-b6adff05.js +23 -0
- package/dist/LightBox/index.js +16 -24
- package/dist/LightBox-8c8f30b1.js +109 -0
- package/dist/Link/index.js +3 -11
- package/dist/List/index.js +47 -59
- package/dist/Markdown/index.js +10 -18
- package/dist/Markdown-2ec28e51.js +55 -0
- package/dist/Menu/index.js +13 -21
- package/dist/{Menu-2e64307a.js → Menu-10681184.js} +40 -47
- package/dist/Modal/index.js +16 -24
- package/dist/{Modal-c17cc105.js → Modal-06dc9551.js} +33 -41
- package/dist/MultiSelect/index.js +38 -47
- package/dist/Option-7967170c.js +12 -0
- package/dist/Page/index.js +48 -57
- package/dist/Popover/index.js +12 -20
- package/dist/{Popover-7c966790.js → Popover-a93db92d.js} +15 -21
- package/dist/ProgressBar/index.js +4 -12
- package/dist/{ProgressBar-5dfc1885.js → ProgressBar-04ee007d.js} +8 -15
- package/dist/RadioGroup/index.js +7 -16
- package/dist/{RadioGroup-9bdd8a59.js → RadioGroup-2ccd0678.js} +16 -23
- package/dist/RecurringSelect/index.js +90 -98
- package/dist/Select/index.js +17 -26
- package/dist/Spinner/index.js +4 -12
- package/dist/{Spinner-9d8fc7ff.js → Spinner-5d8359b8.js} +7 -14
- package/dist/StatusLabel/index.js +12 -21
- package/dist/Switch/index.js +5 -13
- package/dist/{Switch-cc9b645c.js → Switch-8bee06df.js} +17 -24
- package/dist/Table/index.js +19 -35
- package/dist/Tabs/index.js +23 -33
- package/dist/Text/index.js +5 -13
- package/dist/{Text-54334431.js → Text-703e2c21.js} +4 -10
- package/dist/Toast/index.js +32 -40
- package/dist/Tooltip/index.js +7 -15
- package/dist/{Tooltip-6b12f1c2.js → Tooltip-c80b9fb7.js} +22 -30
- package/dist/Typography/index.js +4 -12
- package/dist/{Typography-83915c54.js → Typography-09952a2f.js} +15 -22
- package/dist/{style-inject.es-9d2f5f4e.js → style-inject.es-a0e1a0ba.js} +1 -3
- package/dist/{tslib.es6-5b8768b7.js → tslib.es6-5849cd88.js} +1 -4
- package/package.json +3 -3
- package/rollup.config.js +1 -1
- package/dist/ButtonDismiss-1ccb84ec.js +0 -14
- package/dist/Emphasis-e10dde65.js +0 -19
- package/dist/Icon-405a216c.js +0 -40
- package/dist/InputValidation-377d6c62.js +0 -29
- package/dist/LightBox-93ef99b9.js +0 -117
- package/dist/Markdown-d53b01bf.js +0 -62
- package/dist/Option-07a24acd.js +0 -19
|
@@ -1,44 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var Button = require('./Button-db6114a6.js');
|
|
10
|
-
var omit = require('lodash/omit');
|
|
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
|
-
var ReactDatePicker__default = /*#__PURE__*/_interopDefaultLegacy(ReactDatePicker);
|
|
17
|
-
var omit__default = /*#__PURE__*/_interopDefaultLegacy(omit);
|
|
1
|
+
import React, { forwardRef, isValidElement, cloneElement, useRef, useState, useEffect } from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import ReactDatePicker from 'react-datepicker';
|
|
4
|
+
import { useRefocusOnActivator } from '@jobber/hooks/useRefocusOnActivator';
|
|
5
|
+
import { s as styleInject } from './style-inject.es-a0e1a0ba.js';
|
|
6
|
+
import { T as Typography } from './Typography-09952a2f.js';
|
|
7
|
+
import { B as Button } from './Button-319d8fa0.js';
|
|
8
|
+
import omit from 'lodash/omit';
|
|
18
9
|
|
|
19
10
|
var css_248z = "@charset \"UTF-8\";\n/* stylelint-disable */\n.react-datepicker__year-read-view--down-arrow, .react-datepicker__month-read-view--down-arrow, .react-datepicker__month-year-read-view--down-arrow, .react-datepicker__navigation-icon::before {\n border-color: #ccc;\n border-style: solid;\n border-width: 3px 3px 0 0;\n content: \"\";\n display: block;\n height: 9px;\n position: absolute;\n top: 6px;\n width: 9px;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {\n margin-left: -4px;\n position: absolute;\n width: 0;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {\n box-sizing: content-box;\n position: absolute;\n border: 8px solid transparent;\n height: 0;\n width: 1px;\n content: \"\";\n z-index: -1;\n border-width: 8px;\n left: -8px;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {\n border-bottom-color: #aeaeae;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {\n top: 0;\n margin-top: -8px;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {\n border-top: none;\n border-bottom-color: #f0f0f0;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::after {\n top: 0;\n}\n.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle::before {\n top: -1px;\n border-bottom-color: #aeaeae;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {\n bottom: 0;\n margin-bottom: -8px;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before, .react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {\n border-bottom: none;\n border-top-color: #fff;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::after {\n bottom: 0;\n}\n.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle::before {\n bottom: -1px;\n border-top-color: #aeaeae;\n}\n.react-datepicker-wrapper {\n display: inline-block;\n padding: 0;\n border: 0;\n width: 100%;\n}\n.react-datepicker {\n font-family: \"Helvetica Neue\", helvetica, arial, sans-serif;\n font-size: 0.8rem;\n background-color: #fff;\n color: #000;\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n display: inline-block;\n position: relative;\n}\n.react-datepicker--time-only .react-datepicker__triangle {\n left: 35px;\n}\n.react-datepicker--time-only .react-datepicker__time-container {\n border-left: 0;\n}\n.react-datepicker--time-only .react-datepicker__time, .react-datepicker--time-only .react-datepicker__time-box {\n border-bottom-left-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__triangle {\n position: absolute;\n left: 50px;\n}\n.react-datepicker-popper {\n z-index: 1;\n}\n.react-datepicker-popper[data-placement^=bottom] {\n padding-top: 10px;\n}\n.react-datepicker-popper[data-placement=bottom-end] .react-datepicker__triangle, .react-datepicker-popper[data-placement=top-end] .react-datepicker__triangle {\n left: auto;\n right: 50px;\n}\n.react-datepicker-popper[data-placement^=top] {\n padding-bottom: 10px;\n}\n.react-datepicker-popper[data-placement^=right] {\n padding-left: 8px;\n}\n.react-datepicker-popper[data-placement^=right] .react-datepicker__triangle {\n left: auto;\n right: 42px;\n}\n.react-datepicker-popper[data-placement^=left] {\n padding-right: 8px;\n}\n.react-datepicker-popper[data-placement^=left] .react-datepicker__triangle {\n left: 42px;\n right: auto;\n}\n.react-datepicker__header {\n text-align: center;\n background-color: #f0f0f0;\n border-bottom: 1px solid #aeaeae;\n border-top-left-radius: 0.3rem;\n padding: 8px 0;\n position: relative;\n}\n.react-datepicker__header--time {\n padding-bottom: 8px;\n padding-left: 5px;\n padding-right: 5px;\n}\n.react-datepicker__header--time:not(.react-datepicker__header--time--only) {\n border-top-left-radius: 0;\n}\n.react-datepicker__header:not(.react-datepicker__header--has-time-select) {\n border-top-right-radius: 0.3rem;\n}\n.react-datepicker__year-dropdown-container--select, .react-datepicker__month-dropdown-container--select, .react-datepicker__month-year-dropdown-container--select, .react-datepicker__year-dropdown-container--scroll, .react-datepicker__month-dropdown-container--scroll, .react-datepicker__month-year-dropdown-container--scroll {\n display: inline-block;\n margin: 0 15px;\n}\n.react-datepicker__current-month, .react-datepicker-time__header, .react-datepicker-year-header {\n margin-top: 0;\n color: #000;\n font-weight: bold;\n font-size: 0.944rem;\n}\n.react-datepicker-time__header {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n}\n.react-datepicker__navigation {\n -ms-flex-align: center;\n align-items: center;\n background: none;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: center;\n justify-content: center;\n text-align: center;\n cursor: pointer;\n position: absolute;\n top: 2px;\n padding: 0;\n border: none;\n z-index: 1;\n height: 32px;\n width: 32px;\n text-indent: -999em;\n overflow: hidden;\n}\n.react-datepicker__navigation--previous {\n left: 2px;\n}\n.react-datepicker__navigation--next {\n right: 2px;\n}\n.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {\n right: 85px;\n}\n.react-datepicker__navigation--years {\n position: relative;\n top: 0;\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.react-datepicker__navigation--years-previous {\n top: 4px;\n}\n.react-datepicker__navigation--years-upcoming {\n top: -4px;\n}\n.react-datepicker__navigation:hover *::before {\n border-color: #a6a6a6;\n}\n.react-datepicker__navigation-icon {\n position: relative;\n top: -1px;\n font-size: 20px;\n width: 0;\n}\n.react-datepicker__navigation-icon--next {\n left: -2px;\n}\n.react-datepicker__navigation-icon--next::before {\n -webkit-transform: rotate(45deg);\n transform: rotate(45deg);\n left: -7px;\n}\n.react-datepicker__navigation-icon--previous {\n right: -2px;\n}\n.react-datepicker__navigation-icon--previous::before {\n -webkit-transform: rotate(225deg);\n transform: rotate(225deg);\n right: -7px;\n}\n.react-datepicker__month-container {\n float: left;\n}\n.react-datepicker__year {\n margin: 0.4rem;\n text-align: center;\n}\n.react-datepicker__year-wrapper {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n max-width: 180px;\n}\n.react-datepicker__year .react-datepicker__year-text {\n display: inline-block;\n width: 4rem;\n margin: 2px;\n}\n.react-datepicker__month {\n margin: 0.4rem;\n text-align: center;\n}\n.react-datepicker__month .react-datepicker__month-text, .react-datepicker__month .react-datepicker__quarter-text {\n display: inline-block;\n width: 4rem;\n margin: 2px;\n}\n.react-datepicker__input-time-container {\n clear: both;\n width: 100%;\n float: left;\n margin: 5px 0 10px 15px;\n text-align: left;\n}\n.react-datepicker__input-time-container .react-datepicker-time__caption {\n display: inline-block;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container {\n display: inline-block;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {\n display: inline-block;\n margin-left: 10px;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {\n width: auto;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button, .react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {\n -moz-appearance: textfield;\n}\n.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {\n margin-left: 5px;\n display: inline-block;\n}\n.react-datepicker__time-container {\n float: right;\n border-left: 1px solid #aeaeae;\n width: 85px;\n}\n.react-datepicker__time-container--with-today-button {\n display: inline;\n border: 1px solid #aeaeae;\n border-radius: 0.3rem;\n position: absolute;\n right: -87px;\n top: 0;\n}\n.react-datepicker__time-container .react-datepicker__time {\n position: relative;\n background: white;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {\n width: 85px;\n overflow-x: hidden;\n margin: 0 auto;\n text-align: center;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {\n list-style: none;\n margin: 0;\n height: calc(195px + (1.7rem / 2));\n overflow-y: scroll;\n padding-right: 0;\n padding-left: 0;\n width: 100%;\n box-sizing: content-box;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {\n height: 30px;\n padding: 5px 10px;\n white-space: nowrap;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {\n cursor: pointer;\n background-color: #f0f0f0;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {\n background-color: #216ba5;\n color: white;\n font-weight: bold;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {\n background-color: #216ba5;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {\n color: #ccc;\n}\n.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {\n cursor: default;\n background-color: transparent;\n}\n.react-datepicker__week-number {\n color: #ccc;\n display: inline-block;\n width: 1.7rem;\n line-height: 1.7rem;\n text-align: center;\n margin: 0.166rem;\n}\n.react-datepicker__week-number.react-datepicker__week-number--clickable {\n cursor: pointer;\n}\n.react-datepicker__week-number.react-datepicker__week-number--clickable:hover {\n border-radius: 0.3rem;\n background-color: #f0f0f0;\n}\n.react-datepicker__day-names, .react-datepicker__week {\n white-space: nowrap;\n}\n.react-datepicker__day-names {\n margin-bottom: -8px;\n}\n.react-datepicker__day-name, .react-datepicker__day, .react-datepicker__time-name {\n color: #000;\n display: inline-block;\n width: 1.7rem;\n line-height: 1.7rem;\n text-align: center;\n margin: 0.166rem;\n}\n.react-datepicker__month--selected, .react-datepicker__month--in-selecting-range, .react-datepicker__month--in-range, .react-datepicker__quarter--selected, .react-datepicker__quarter--in-selecting-range, .react-datepicker__quarter--in-range {\n border-radius: 0.3rem;\n background-color: #216ba5;\n color: #fff;\n}\n.react-datepicker__month--selected:hover, .react-datepicker__month--in-selecting-range:hover, .react-datepicker__month--in-range:hover, .react-datepicker__quarter--selected:hover, .react-datepicker__quarter--in-selecting-range:hover, .react-datepicker__quarter--in-range:hover {\n background-color: #1d5d90;\n}\n.react-datepicker__month--disabled, .react-datepicker__quarter--disabled {\n color: #ccc;\n pointer-events: none;\n}\n.react-datepicker__month--disabled:hover, .react-datepicker__quarter--disabled:hover {\n cursor: default;\n background-color: transparent;\n}\n.react-datepicker__day, .react-datepicker__month-text, .react-datepicker__quarter-text, .react-datepicker__year-text {\n cursor: pointer;\n}\n.react-datepicker__day:hover, .react-datepicker__month-text:hover, .react-datepicker__quarter-text:hover, .react-datepicker__year-text:hover {\n border-radius: 0.3rem;\n background-color: #f0f0f0;\n}\n.react-datepicker__day--today, .react-datepicker__month-text--today, .react-datepicker__quarter-text--today, .react-datepicker__year-text--today {\n font-weight: bold;\n}\n.react-datepicker__day--highlighted, .react-datepicker__month-text--highlighted, .react-datepicker__quarter-text--highlighted, .react-datepicker__year-text--highlighted {\n border-radius: 0.3rem;\n background-color: #3dcc4a;\n color: #fff;\n}\n.react-datepicker__day--highlighted:hover, .react-datepicker__month-text--highlighted:hover, .react-datepicker__quarter-text--highlighted:hover, .react-datepicker__year-text--highlighted:hover {\n background-color: #32be3f;\n}\n.react-datepicker__day--highlighted-custom-1, .react-datepicker__month-text--highlighted-custom-1, .react-datepicker__quarter-text--highlighted-custom-1, .react-datepicker__year-text--highlighted-custom-1 {\n color: magenta;\n}\n.react-datepicker__day--highlighted-custom-2, .react-datepicker__month-text--highlighted-custom-2, .react-datepicker__quarter-text--highlighted-custom-2, .react-datepicker__year-text--highlighted-custom-2 {\n color: green;\n}\n.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range, .react-datepicker__month-text--selected, .react-datepicker__month-text--in-selecting-range, .react-datepicker__month-text--in-range, .react-datepicker__quarter-text--selected, .react-datepicker__quarter-text--in-selecting-range, .react-datepicker__quarter-text--in-range, .react-datepicker__year-text--selected, .react-datepicker__year-text--in-selecting-range, .react-datepicker__year-text--in-range {\n border-radius: 0.3rem;\n background-color: #216ba5;\n color: #fff;\n}\n.react-datepicker__day--selected:hover, .react-datepicker__day--in-selecting-range:hover, .react-datepicker__day--in-range:hover, .react-datepicker__month-text--selected:hover, .react-datepicker__month-text--in-selecting-range:hover, .react-datepicker__month-text--in-range:hover, .react-datepicker__quarter-text--selected:hover, .react-datepicker__quarter-text--in-selecting-range:hover, .react-datepicker__quarter-text--in-range:hover, .react-datepicker__year-text--selected:hover, .react-datepicker__year-text--in-selecting-range:hover, .react-datepicker__year-text--in-range:hover {\n background-color: #1d5d90;\n}\n.react-datepicker__day--keyboard-selected, .react-datepicker__month-text--keyboard-selected, .react-datepicker__quarter-text--keyboard-selected, .react-datepicker__year-text--keyboard-selected {\n border-radius: 0.3rem;\n background-color: #bad9f1;\n color: rgb(0, 0, 0);\n}\n.react-datepicker__day--keyboard-selected:hover, .react-datepicker__month-text--keyboard-selected:hover, .react-datepicker__quarter-text--keyboard-selected:hover, .react-datepicker__year-text--keyboard-selected:hover {\n background-color: #1d5d90;\n}\n.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range):not(.react-datepicker__month-text--in-range):not(.react-datepicker__quarter-text--in-range):not(.react-datepicker__year-text--in-range), .react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range):not(.react-datepicker__month-text--in-range):not(.react-datepicker__quarter-text--in-range):not(.react-datepicker__year-text--in-range), .react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range):not(.react-datepicker__month-text--in-range):not(.react-datepicker__quarter-text--in-range):not(.react-datepicker__year-text--in-range), .react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range):not(.react-datepicker__month-text--in-range):not(.react-datepicker__quarter-text--in-range):not(.react-datepicker__year-text--in-range) {\n background-color: rgba(33, 107, 165, 0.5);\n}\n.vl9aI3nIPIc- .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range):not(.react-datepicker__month-text--in-selecting-range):not(.react-datepicker__quarter-text--in-selecting-range):not(.react-datepicker__year-text--in-selecting-range),\n.vl9aI3nIPIc- .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range):not(.react-datepicker__month-text--in-selecting-range):not(.react-datepicker__quarter-text--in-selecting-range):not(.react-datepicker__year-text--in-selecting-range),\n.vl9aI3nIPIc- .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range):not(.react-datepicker__month-text--in-selecting-range):not(.react-datepicker__quarter-text--in-selecting-range):not(.react-datepicker__year-text--in-selecting-range),\n.vl9aI3nIPIc- .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range):not(.react-datepicker__month-text--in-selecting-range):not(.react-datepicker__quarter-text--in-selecting-range):not(.react-datepicker__year-text--in-selecting-range) {\n background-color: #f0f0f0;\n color: #000;\n}\n.react-datepicker__day--disabled, .react-datepicker__month-text--disabled, .react-datepicker__quarter-text--disabled, .react-datepicker__year-text--disabled {\n cursor: default;\n color: #ccc;\n}\n.react-datepicker__day--disabled:hover, .react-datepicker__month-text--disabled:hover, .react-datepicker__quarter-text--disabled:hover, .react-datepicker__year-text--disabled:hover {\n background-color: transparent;\n}\n.react-datepicker__month-text.react-datepicker__month--selected:hover, .react-datepicker__month-text.react-datepicker__month--in-range:hover, .react-datepicker__month-text.react-datepicker__quarter--selected:hover, .react-datepicker__month-text.react-datepicker__quarter--in-range:hover, .react-datepicker__quarter-text.react-datepicker__month--selected:hover, .react-datepicker__quarter-text.react-datepicker__month--in-range:hover, .react-datepicker__quarter-text.react-datepicker__quarter--selected:hover, .react-datepicker__quarter-text.react-datepicker__quarter--in-range:hover {\n background-color: #216ba5;\n}\n.react-datepicker__month-text:hover, .react-datepicker__quarter-text:hover {\n background-color: #f0f0f0;\n}\n.react-datepicker__input-container {\n position: relative;\n display: inline-block;\n width: 100%;\n}\n.react-datepicker__year-read-view, .react-datepicker__month-read-view, .react-datepicker__month-year-read-view {\n border: 1px solid transparent;\n border-radius: 0.3rem;\n position: relative;\n}\n.react-datepicker__year-read-view:hover, .react-datepicker__month-read-view:hover, .react-datepicker__month-year-read-view:hover {\n cursor: pointer;\n}\n.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow, .react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow, .react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow, .react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow, .react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow, .react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {\n border-top-color: #b3b3b3;\n}\n.react-datepicker__year-read-view--down-arrow, .react-datepicker__month-read-view--down-arrow, .react-datepicker__month-year-read-view--down-arrow {\n -webkit-transform: rotate(135deg);\n transform: rotate(135deg);\n right: -16px;\n top: 0;\n}\n.react-datepicker__year-dropdown, .react-datepicker__month-dropdown, .react-datepicker__month-year-dropdown {\n background-color: #f0f0f0;\n position: absolute;\n width: 50%;\n left: 25%;\n top: 30px;\n z-index: 1;\n text-align: center;\n border-radius: 0.3rem;\n border: 1px solid #aeaeae;\n}\n.react-datepicker__year-dropdown:hover, .react-datepicker__month-dropdown:hover, .react-datepicker__month-year-dropdown:hover {\n cursor: pointer;\n}\n.react-datepicker__year-dropdown--scrollable, .react-datepicker__month-dropdown--scrollable, .react-datepicker__month-year-dropdown--scrollable {\n height: 150px;\n overflow-y: scroll;\n}\n.react-datepicker__year-option, .react-datepicker__month-option, .react-datepicker__month-year-option {\n line-height: 20px;\n width: 100%;\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.react-datepicker__year-option:first-of-type, .react-datepicker__month-option:first-of-type, .react-datepicker__month-year-option:first-of-type {\n border-top-left-radius: 0.3rem;\n border-top-right-radius: 0.3rem;\n}\n.react-datepicker__year-option:last-of-type, .react-datepicker__month-option:last-of-type, .react-datepicker__month-year-option:last-of-type {\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border-bottom-left-radius: 0.3rem;\n border-bottom-right-radius: 0.3rem;\n}\n.react-datepicker__year-option:hover, .react-datepicker__month-option:hover, .react-datepicker__month-year-option:hover {\n background-color: #ccc;\n}\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming, .react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming, .react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {\n border-bottom-color: #b3b3b3;\n}\n.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous, .react-datepicker__month-option:hover .react-datepicker__navigation--years-previous, .react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {\n border-top-color: #b3b3b3;\n}\n.react-datepicker__year-option--selected, .react-datepicker__month-option--selected, .react-datepicker__month-year-option--selected {\n position: absolute;\n left: 15px;\n}\n.react-datepicker__close-icon {\n cursor: pointer;\n background-color: transparent;\n border: 0;\n outline: 0;\n padding: 0 6px 0 0;\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n display: table-cell;\n vertical-align: middle;\n}\n.react-datepicker__close-icon::after {\n cursor: pointer;\n background-color: #216ba5;\n color: #fff;\n border-radius: 50%;\n height: 16px;\n width: 16px;\n padding: 2px;\n font-size: 12px;\n line-height: 1;\n text-align: center;\n display: table-cell;\n vertical-align: middle;\n content: \"×\";\n}\n.react-datepicker__today-button {\n background: #f0f0f0;\n border-top: 1px solid #aeaeae;\n cursor: pointer;\n text-align: center;\n font-weight: bold;\n padding: 5px 0;\n clear: left;\n}\n.react-datepicker__portal {\n position: fixed;\n width: 100vw;\n height: 100vh;\n background-color: rgba(0, 0, 0, 0.8);\n left: 0;\n top: 0;\n -ms-flex-pack: center;\n justify-content: center;\n -ms-flex-align: center;\n align-items: center;\n display: -ms-flexbox;\n display: flex;\n z-index: 2147483647;\n}\n.react-datepicker__portal .react-datepicker__day-name, .react-datepicker__portal .react-datepicker__day, .react-datepicker__portal .react-datepicker__time-name {\n width: 3rem;\n line-height: 3rem;\n}\n@media (max-width: 400px), (max-height: 550px) {\n .react-datepicker__portal .react-datepicker__day-name, .react-datepicker__portal .react-datepicker__day, .react-datepicker__portal .react-datepicker__time-name {\n width: 2rem;\n line-height: 2rem;\n }\n}\n.react-datepicker__portal .react-datepicker__current-month, .react-datepicker__portal .react-datepicker-time__header {\n font-size: 1.44rem;\n}\n.react-datepicker__children-container {\n width: 13.8rem;\n margin: 0.4rem;\n padding-right: 0.2rem;\n padding-left: 0.2rem;\n height: auto;\n}\n.react-datepicker__aria-live {\n position: absolute;\n -webkit-clip-path: circle(0);\n clip-path: circle(0);\n border: 0;\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n width: 1px;\n white-space: nowrap;\n}\n/* stylelint-enable */\n.jswNs4p7tII- {\n display: inline-block;\n}\n.WNVBy7I-Vv4- {\n display: block;\n width: 100%;\n}\n._8kgzU28z2Eo-.react-datepicker {\n --datepicker-cell-size: calc(var(--space-base) * 2.375);\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-color: rgb(225, 225, 225);\n border-color: var(--color-border);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n font-family: \"Inter\", Helvetica, Arial, sans-serif;\n font-family: var(--typography--fontFamily-normal);\n}\n._8kgzU28z2Eo-._1Z7yDS-JQa0- {\n box-shadow: none;\n}\n.react-datepicker__input-container,\n.react-datepicker-wrapper {\n max-width: 100%;\n}\n.jswNs4p7tII- .react-datepicker-popper {\n z-index: 6;\n z-index: var(--elevation-datepicker);\n}\n._8kgzU28z2Eo- .react-datepicker__header {\n padding: 0;\n border-bottom: calc(16px / 16) solid rgb(225, 225, 225);\n border-bottom: var(--border-base) solid var(--color-border);\n background: rgba(255, 255, 255, 1);\n background: var(--color-surface);\n}\n.G2Kz3asqaFQ- {\n display: -ms-flexbox;\n display: flex;\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: center;\n align-items: center;\n}\n._8kgzU28z2Eo- .react-datepicker__day {\n display: -ms-inline-flexbox;\n display: inline-flex;\n width: var(--datepicker-cell-size);\n height: var(--datepicker-cell-size);\n margin: 0;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\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 line-height: inherit;\n background: rgba(255, 255, 255, 1);\n background: var(--color-surface);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n._8kgzU28z2Eo- .react-datepicker__day--highlighted {\n background: rgb(236, 243, 219);\n background: var(--color-surface--active);\n}\n._8kgzU28z2Eo- .react-datepicker__day--outside-month {\n border-radius: 0;\n color: rgb(66, 78, 86);\n color: var(--color-text);\n background: rgb(225, 225, 225);\n background: var(--color-disabled--secondary);\n}\n._8kgzU28z2Eo- .react-datepicker__day--disabled {\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n cursor: default;\n}\n._8kgzU28z2Eo- .react-datepicker__month {\n margin: 0;\n}\n._8kgzU28z2Eo- .react-datepicker__day--selected {\n color: rgba(255, 255, 255, 1);\n color: var(--color-text--reverse);\n background: rgb(125, 176, 14);\n background: var(--color-interactive);\n}\n._8kgzU28z2Eo- .react-datepicker__day-names {\n display: -ms-flexbox;\n display: flex;\n margin: 0;\n padding: calc(16px / 8) 0 0;\n padding: var(--space-smallest) 0 0;\n color: rgb(66, 78, 86);\n color: var(--color-text);\n font-size: calc((16px * 1) * 0.75);\n font-size: calc(calc(16px * 1) * 0.75);\n font-size: var(--typography--fontSize-small);\n text-transform: uppercase;\n -ms-flex-pack: justify;\n justify-content: space-between;\n}\n._8kgzU28z2Eo- .react-datepicker__day-name {\n width: auto;\n color: rgb(66, 78, 86);\n color: var(--color-text);\n -ms-flex: 1;\n flex: 1;\n}\n._8kgzU28z2Eo- .react-datepicker__day:hover,\n._8kgzU28z2Eo- .react-datepicker__day:focus {\n background: rgb(250, 246, 219);\n background: var(--color-surface--hover);\n}\n._8kgzU28z2Eo- .react-datepicker__day:focus {\n position: relative;\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n._8kgzU28z2Eo- .react-datepicker__day--selected:hover,\n._8kgzU28z2Eo- .react-datepicker__day--selected:focus {\n background: rgb(81, 114, 9);\n background: var(--color-interactive--hover);\n}\n._8kgzU28z2Eo- .react-datepicker__day--disabled:hover,\n._8kgzU28z2Eo- .react-datepicker__day--disabled:focus {\n box-shadow: none;\n background: transparent;\n}\n._8kgzU28z2Eo-\n .react-datepicker__day--disabled.react-datepicker__day--outside-month:hover,\n._8kgzU28z2Eo-\n .react-datepicker__day--disabled.react-datepicker__day--outside-month:focus {\n box-shadow: none;\n background: rgb(225, 225, 225);\n background: var(--color-disabled--secondary);\n}\n.D3kDqTSFScU- {\n margin-top: calc(16px / 16);\n margin-top: var(--space-minuscule);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n}\n";
|
|
20
11
|
var styles = {"react-datepicker__month--selecting-range":"vl9aI3nIPIc-","datePickerWrapper":"jswNs4p7tII-","fullWidth":"WNVBy7I-Vv4-","datePicker":"_8kgzU28z2Eo-","inline":"_1Z7yDS-JQa0-","header":"G2Kz3asqaFQ-","month":"D3kDqTSFScU-"};
|
|
21
|
-
|
|
12
|
+
styleInject(css_248z);
|
|
22
13
|
|
|
23
14
|
function DatePickerCustomHeader({ monthDate, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) {
|
|
24
|
-
return (
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
return (React.createElement("div", { className: styles.header },
|
|
16
|
+
React.createElement(Button, { onClick: decreaseMonth, disabled: prevMonthButtonDisabled, icon: "arrowLeft", ariaLabel: "Previous Month", variation: "work", type: "tertiary" }),
|
|
17
|
+
React.createElement("div", { className: styles.month },
|
|
18
|
+
React.createElement(Typography, { element: "span", fontFamily: "display", size: "large" }, monthDate.toLocaleString("en-US", {
|
|
28
19
|
month: "long",
|
|
29
20
|
year: "numeric",
|
|
30
21
|
}))),
|
|
31
|
-
|
|
22
|
+
React.createElement(Button, { onClick: increaseMonth, disabled: nextMonthButtonDisabled, icon: "arrowRight", ariaLabel: "Next Month", variation: "work", type: "tertiary" })));
|
|
32
23
|
}
|
|
33
24
|
|
|
34
|
-
const DatePickerActivator =
|
|
25
|
+
const DatePickerActivator = forwardRef(InternalActivator);
|
|
35
26
|
function InternalActivator(props, ref) {
|
|
36
27
|
const { activator, fullWidth } = props;
|
|
37
|
-
const newActivatorProps =
|
|
28
|
+
const newActivatorProps = omit(props, ["activator", "fullWidth"]);
|
|
38
29
|
if (activator) {
|
|
39
|
-
if (
|
|
30
|
+
if (isValidElement(activator)) {
|
|
40
31
|
const isAComponent = typeof activator.type === "function";
|
|
41
|
-
return
|
|
32
|
+
return cloneElement(activator, Object.assign(Object.assign(Object.assign({}, newActivatorProps), (isAComponent && { fullWidth: fullWidth })), {
|
|
42
33
|
// @ts-expect-error - Issue with react types not including `ref` in
|
|
43
34
|
// cloneElement. https://github.com/DefinitelyTyped/DefinitelyTyped/issues/40888
|
|
44
35
|
ref }));
|
|
@@ -48,12 +39,12 @@ function InternalActivator(props, ref) {
|
|
|
48
39
|
}
|
|
49
40
|
}
|
|
50
41
|
else {
|
|
51
|
-
return (
|
|
42
|
+
return (React.createElement(Button, Object.assign({ variation: "work", type: "tertiary", icon: "calendar", ariaLabel: "Open Datepicker", fullWidth: fullWidth }, newActivatorProps)));
|
|
52
43
|
}
|
|
53
44
|
}
|
|
54
45
|
|
|
55
46
|
function useFocusOnSelectedDate() {
|
|
56
|
-
const ref =
|
|
47
|
+
const ref = useRef();
|
|
57
48
|
function focusOnSelectedDate() {
|
|
58
49
|
var _a;
|
|
59
50
|
const selectedDateClass = ".react-datepicker__day--selected";
|
|
@@ -67,8 +58,8 @@ function useFocusOnSelectedDate() {
|
|
|
67
58
|
|
|
68
59
|
function DatePicker({ onChange, onMonthChange, activator, inline, selected, readonly = false, disabled = false, fullWidth = false, smartAutofocus = true, maxDate, minDate, highlightDates, }) {
|
|
69
60
|
const { ref, focusOnSelectedDate } = useFocusOnSelectedDate();
|
|
70
|
-
const [open, setOpen] =
|
|
71
|
-
const wrapperClassName =
|
|
61
|
+
const [open, setOpen] = useState(false);
|
|
62
|
+
const wrapperClassName = classnames(styles.datePickerWrapper, {
|
|
72
63
|
// react-datepicker uses this class name to not close the date picker when
|
|
73
64
|
// the activator is clicked
|
|
74
65
|
// https://github.com/Hacker0x01/react-datepicker/blob/master/src/index.jsx#L905
|
|
@@ -79,16 +70,16 @@ function DatePicker({ onChange, onMonthChange, activator, inline, selected, read
|
|
|
79
70
|
"react-datepicker-ignore-onclickoutside": !inline,
|
|
80
71
|
[styles.fullWidth]: fullWidth,
|
|
81
72
|
});
|
|
82
|
-
const datePickerClassNames =
|
|
73
|
+
const datePickerClassNames = classnames(styles.datePicker, {
|
|
83
74
|
[styles.inline]: inline,
|
|
84
75
|
});
|
|
85
76
|
const { pickerRef } = useEscapeKeyToCloseDatePicker(open, ref);
|
|
86
77
|
if (smartAutofocus) {
|
|
87
|
-
useRefocusOnActivator
|
|
88
|
-
|
|
78
|
+
useRefocusOnActivator(open);
|
|
79
|
+
useEffect(focusOnSelectedDate, [open]);
|
|
89
80
|
}
|
|
90
|
-
return (
|
|
91
|
-
|
|
81
|
+
return (React.createElement("div", { className: wrapperClassName, ref: ref },
|
|
82
|
+
React.createElement(ReactDatePicker, { 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.createElement(DatePickerActivator, { activator: activator, fullWidth: fullWidth }), renderCustomHeader: props => React.createElement(DatePickerCustomHeader, Object.assign({}, props)), onCalendarOpen: handleCalendarOpen, onCalendarClose: handleCalendarClose, dateFormat: ["P", "PP", "PPP", "MMM dd yyyy", "MMMM dd yyyy"], highlightDates: highlightDates, onMonthChange: onMonthChange })));
|
|
92
83
|
/**
|
|
93
84
|
* The onChange callback on ReactDatePicker returns a Date and an Event, but
|
|
94
85
|
* the onChange in our interface only provides the Date. Simplifying the code
|
|
@@ -108,7 +99,7 @@ function DatePicker({ onChange, onMonthChange, activator, inline, selected, read
|
|
|
108
99
|
}
|
|
109
100
|
}
|
|
110
101
|
function useEscapeKeyToCloseDatePicker(open, ref) {
|
|
111
|
-
const pickerRef =
|
|
102
|
+
const pickerRef = useRef(null);
|
|
112
103
|
const escFunction = (event) => {
|
|
113
104
|
var _a;
|
|
114
105
|
if (event.key === "Escape" && open) {
|
|
@@ -118,7 +109,7 @@ function useEscapeKeyToCloseDatePicker(open, ref) {
|
|
|
118
109
|
event.stopPropagation();
|
|
119
110
|
}
|
|
120
111
|
};
|
|
121
|
-
|
|
112
|
+
useEffect(() => {
|
|
122
113
|
var _a;
|
|
123
114
|
(_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener("keydown", escFunction);
|
|
124
115
|
return () => {
|
|
@@ -131,4 +122,4 @@ function useEscapeKeyToCloseDatePicker(open, ref) {
|
|
|
131
122
|
};
|
|
132
123
|
}
|
|
133
124
|
|
|
134
|
-
|
|
125
|
+
export { DatePicker as D };
|
|
@@ -1,24 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
|
|
7
|
-
var Typography = require('../Typography-83915c54.js');
|
|
8
|
-
require('classnames');
|
|
9
|
-
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
-
|
|
12
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { s as styleInject } from '../style-inject.es-a0e1a0ba.js';
|
|
3
|
+
import { T as Typography } from '../Typography-09952a2f.js';
|
|
4
|
+
import 'classnames';
|
|
13
5
|
|
|
14
6
|
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(225, 225, 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
7
|
var styles = {"descriptionList":"EQDmgmJchDA-","termGroup":"DkzfClUGQlc-"};
|
|
16
|
-
|
|
8
|
+
styleInject(css_248z);
|
|
17
9
|
|
|
18
10
|
function DescriptionList({ data }) {
|
|
19
|
-
return (
|
|
20
|
-
|
|
21
|
-
|
|
11
|
+
return (React.createElement("dl", { className: styles.descriptionList }, data.map(([term, description]) => (React.createElement("div", { key: term, className: styles.termGroup },
|
|
12
|
+
React.createElement(Typography, { element: "dt", textColor: "heading", size: "base" }, term),
|
|
13
|
+
React.createElement(Typography, { element: "dd", textColor: "text", size: "base" }, description))))));
|
|
22
14
|
}
|
|
23
15
|
|
|
24
|
-
|
|
16
|
+
export { DescriptionList };
|
package/dist/Disclosure/index.js
CHANGED
|
@@ -1,38 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var Icon = require('../Icon-405a216c.js');
|
|
9
|
-
var Typography = require('../Typography-83915c54.js');
|
|
10
|
-
require('@jobber/design');
|
|
11
|
-
require('classnames');
|
|
12
|
-
|
|
13
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
|
-
|
|
15
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import { useResizeObserver, Breakpoints } from '@jobber/hooks/useResizeObserver';
|
|
3
|
+
import { s as styleInject } from '../style-inject.es-a0e1a0ba.js';
|
|
4
|
+
import { I as Icon } from '../Icon-22723fe6.js';
|
|
5
|
+
import { T as Typography } from '../Typography-09952a2f.js';
|
|
6
|
+
import '@jobber/design';
|
|
7
|
+
import 'classnames';
|
|
16
8
|
|
|
17
9
|
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(250, 246, 219);\n background: var(--color-surface--hover);\n}\n\n.PMjHZZhHiUY-:focus,\n.PMjHZZhHiUY-:active {\n box-shadow: 0px 0px calc(16px / 4) calc(16px / 8)\n rgb(231, 213, 87);\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
10
|
var styles = {"arrowIconWrapper":"WcgASR88I1c-","details":"N-W4pXaLGt4-","summary":"PMjHZZhHiUY-","summaryWrap":"-E1lerklSHw-","content":"CjRRsbZQp1Y-","openAnimation":"vWj6tOjTVYA-"};
|
|
19
|
-
|
|
11
|
+
styleInject(css_248z);
|
|
20
12
|
|
|
21
13
|
function Disclosure({ children, title, defaultOpen = false, }) {
|
|
22
|
-
const [isOpen, setOpen] =
|
|
23
|
-
const [isMounted, setMount] =
|
|
24
|
-
const [titleRef, { exactWidth }] =
|
|
25
|
-
const isBelowBreakpoint = exactWidth && exactWidth <
|
|
26
|
-
|
|
14
|
+
const [isOpen, setOpen] = useState(defaultOpen);
|
|
15
|
+
const [isMounted, setMount] = useState(false);
|
|
16
|
+
const [titleRef, { exactWidth }] = useResizeObserver();
|
|
17
|
+
const isBelowBreakpoint = exactWidth && exactWidth < Breakpoints.small;
|
|
18
|
+
useEffect(() => {
|
|
27
19
|
setMount(true);
|
|
28
20
|
}, []);
|
|
29
|
-
return (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
21
|
+
return (React.createElement("details", { open: isOpen, onToggle: onToggle, className: styles.details },
|
|
22
|
+
React.createElement("summary", { className: styles.summary },
|
|
23
|
+
React.createElement("div", { className: styles.summaryWrap, ref: titleRef },
|
|
24
|
+
React.createElement(Typography, { element: "h4", size: isBelowBreakpoint ? "base" : "large", fontWeight: "bold", textColor: "heading" }, title),
|
|
25
|
+
React.createElement("span", { className: styles.arrowIconWrapper },
|
|
26
|
+
React.createElement(Icon, { size: "large", name: "arrowDown", color: "green" })))),
|
|
27
|
+
React.createElement("span", { className: styles.content }, children)));
|
|
36
28
|
function onToggle(event) {
|
|
37
29
|
event.preventDefault();
|
|
38
30
|
const { open: currentToggleState } = event.target;
|
|
@@ -43,4 +35,4 @@ function Disclosure({ children, title, defaultOpen = false, }) {
|
|
|
43
35
|
}
|
|
44
36
|
}
|
|
45
37
|
|
|
46
|
-
|
|
38
|
+
export { Disclosure };
|
package/dist/Divider/index.js
CHANGED
|
@@ -1,29 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var React = require('react');
|
|
6
|
-
var classnames = require('classnames');
|
|
7
|
-
var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
|
|
8
|
-
|
|
9
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
|
-
|
|
11
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import { s as styleInject } from '../style-inject.es-a0e1a0ba.js';
|
|
13
4
|
|
|
14
5
|
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
6
|
var styles = {"divider":"dH7SqeSo70A-","large":"_07xjw8ykfvg-","larger":"TGD22T-KP78-","largest":"UUndaiRIryU-","horizontal":"HzWBc8FoucI-","vertical":"vu46ZKcGBWM-"};
|
|
16
|
-
|
|
7
|
+
styleInject(css_248z);
|
|
17
8
|
|
|
18
9
|
function Divider({ size = "base", direction = "horizontal", }) {
|
|
19
|
-
const className =
|
|
10
|
+
const className = classnames(styles.divider, {
|
|
20
11
|
[styles.large]: size === "large",
|
|
21
12
|
[styles.larger]: size === "larger",
|
|
22
13
|
[styles.largest]: size === "largest",
|
|
23
14
|
[styles.horizontal]: direction == "horizontal",
|
|
24
15
|
[styles.vertical]: direction == "vertical",
|
|
25
16
|
});
|
|
26
|
-
return
|
|
17
|
+
return React.createElement("div", { className: className, role: "none presentation" });
|
|
27
18
|
}
|
|
28
19
|
|
|
29
|
-
|
|
20
|
+
export { Divider };
|
package/dist/Drawer/index.js
CHANGED
|
@@ -1,49 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
require('../Button-db6114a6.js');
|
|
12
|
-
require('react-router-dom');
|
|
13
|
-
require('../Icon-405a216c.js');
|
|
14
|
-
require('@jobber/design');
|
|
15
|
-
|
|
16
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
|
-
|
|
18
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
19
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import classnames from 'classnames';
|
|
3
|
+
import { s as styleInject } from '../style-inject.es-a0e1a0ba.js';
|
|
4
|
+
import { H as Heading } from '../Heading-04994667.js';
|
|
5
|
+
import { B as ButtonDismiss } from '../ButtonDismiss-85986110.js';
|
|
6
|
+
import '../Typography-09952a2f.js';
|
|
7
|
+
import '../Button-319d8fa0.js';
|
|
8
|
+
import 'react-router-dom';
|
|
9
|
+
import '../Icon-22723fe6.js';
|
|
10
|
+
import '@jobber/design';
|
|
20
11
|
|
|
21
12
|
var css_248z$1 = ":root {\n --drawer-width: calc(var(--space-base) * 17.5);\n --drawer--base-padding: var(--space-base);\n}\n\n.IJAyrFb2GpA- {\n display: none;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1001;\n z-index: var(--elevation-modal);\n overflow: hidden;\n\n /* SPECIAL CASE:\n Drawer is primarily used in Jobber Online and is currently used in a layout\n that rearranges at 640px. For compatibility, this is hardcoded here\n rather than using the breakpoint custom properties.\n DO NOT COPY THIS - USE THE BREAKPOINTS DEFINED IN THE @jobber/design package!\n */\n}\n\n@media (min-width: 640px), print {\n\n.IJAyrFb2GpA- {\n position: relative;\n z-index: auto;\n width: calc((16px * 1) * 17.5);\n width: calc(calc(16px * 1) * 17.5);\n width: var(--drawer-width);\n}\n }\n\n@media (min-width: 1080px) {\n\n.IJAyrFb2GpA- {\n --drawer-width: calc(var(--space-base) * 26.25);\n}\n }\n\n@media (--large-screens-and-up) {\n\n.IJAyrFb2GpA- {\n --drawer-width: calc(var(--space-base) * 26.25);\n}\n }\n\n.Hsmk6Pg14PQ- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n border: calc(16px / 16) solid rgb(225, 225, 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 -ms-flex-direction: column;\n flex-direction: column;\n}\n\n.DwF3Q9EMPvQ- {\n display: -ms-flexbox;\n display: flex;\n}\n\n.TcdyXiTbnMU- {\n display: -ms-flexbox;\n display: flex;\n padding: calc(16px / 2) calc(16px * 1);\n padding: var(--space-small) var(--drawer--base-padding);\n background-color: rgb(244, 244, 244);\n background-color: var(--color-surface--background);\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.srL7xqEzwhM- {\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n height: 100%;\n -ms-flex-direction: row;\n flex-direction: row;\n overflow-y: auto;\n}\n\n.p6-yqttoIJI- {\n width: 100%;\n}\n\n/* Adjust `Content` components public padding to match the cards */\n\n.p6-yqttoIJI- > * {\n --public-content--padding: var(--drawer--base-padding);\n}\n\n/* Remove the nested `Content` components public padding */\n\n.p6-yqttoIJI- > * > * {\n --public-content--padding: 0;\n}\n";
|
|
22
13
|
var styles$1 = {"container":"IJAyrFb2GpA-","drawer":"Hsmk6Pg14PQ-","open":"DwF3Q9EMPvQ-","header":"TcdyXiTbnMU-","contentScroll":"srL7xqEzwhM-","content":"p6-yqttoIJI-"};
|
|
23
|
-
|
|
14
|
+
styleInject(css_248z$1);
|
|
24
15
|
|
|
25
16
|
function Drawer({ title, children, open = true, onRequestClose, id, }) {
|
|
26
|
-
const drawerClassNames =
|
|
27
|
-
return (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
const drawerClassNames = classnames(styles$1.container, open && styles$1.open);
|
|
18
|
+
return (React.createElement(React.Fragment, null,
|
|
19
|
+
React.createElement("aside", { className: drawerClassNames, "data-testid": "drawer-container", "aria-label": title, "aria-hidden": !open, id: id },
|
|
20
|
+
React.createElement("div", { className: styles$1.drawer },
|
|
21
|
+
React.createElement(Header, { title: title, onRequestClose: onRequestClose }),
|
|
22
|
+
React.createElement("div", { className: styles$1.contentScroll },
|
|
23
|
+
React.createElement("div", { className: styles$1.content }, children))))));
|
|
33
24
|
}
|
|
34
25
|
function Header({ title, onRequestClose }) {
|
|
35
|
-
return (
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
return (React.createElement("div", { className: styles$1.header, "data-testid": "drawer-header" },
|
|
27
|
+
React.createElement(Heading, { level: 3 }, title),
|
|
28
|
+
React.createElement(ButtonDismiss, { onClick: onRequestClose, ariaLabel: `Close ${title || "drawer"}` })));
|
|
38
29
|
}
|
|
39
30
|
|
|
40
31
|
var css_248z = "._50Jq09W07gg- {\n display: grid;\n width: 100%;\n height: 100%;\n overflow: hidden;\n grid-template-columns: minmax(0, 1fr) minmax(-webkit-min-content, -webkit-max-content);\n grid-template-columns: minmax(0, 1fr) minmax(min-content, max-content);\n grid-template-rows: 1fr;\n}\n";
|
|
41
32
|
var styles = {"drawerGrid":"_50Jq09W07gg-"};
|
|
42
|
-
|
|
33
|
+
styleInject(css_248z);
|
|
43
34
|
|
|
44
35
|
function DrawerGrid({ children }) {
|
|
45
|
-
return
|
|
36
|
+
return React.createElement("div", { className: styles.drawerGrid }, children);
|
|
46
37
|
}
|
|
47
38
|
|
|
48
|
-
|
|
49
|
-
exports.DrawerGrid = DrawerGrid;
|
|
39
|
+
export { Drawer, DrawerGrid };
|
package/dist/Emphasis/index.js
CHANGED
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
require('react');
|
|
7
|
-
require('../Typography-83915c54.js');
|
|
8
|
-
require('classnames');
|
|
9
|
-
require('../style-inject.es-9d2f5f4e.js');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
exports.Emphasis = Emphasis.Emphasis;
|
|
1
|
+
export { E as Emphasis } from '../Emphasis-edd2af9b.js';
|
|
2
|
+
import 'react';
|
|
3
|
+
import '../Typography-09952a2f.js';
|
|
4
|
+
import 'classnames';
|
|
5
|
+
import '../style-inject.es-a0e1a0ba.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { T as Typography } from './Typography-09952a2f.js';
|
|
3
|
+
|
|
4
|
+
function Emphasis({ variation, children }) {
|
|
5
|
+
const variationMap = {
|
|
6
|
+
bold: { element: "b", fontWeight: "bold" },
|
|
7
|
+
italic: { element: "em", emphasisType: "italic" },
|
|
8
|
+
highlight: { element: "strong", emphasisType: "highlight" },
|
|
9
|
+
};
|
|
10
|
+
return React.createElement(Typography, Object.assign({}, variationMap[variation]), children);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { Emphasis as E };
|
|
@@ -1,63 +1,54 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
require('react-router-dom');
|
|
18
|
-
require('../Icon-405a216c.js');
|
|
19
|
-
require('@jobber/design');
|
|
20
|
-
require('react-markdown');
|
|
21
|
-
|
|
22
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
|
-
|
|
24
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
25
|
-
var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
|
|
1
|
+
import React, { useState, useEffect } from 'react';
|
|
2
|
+
import { AnimatePresence, motion } from 'framer-motion';
|
|
3
|
+
import classnames from 'classnames';
|
|
4
|
+
import { s as styleInject } from '../style-inject.es-a0e1a0ba.js';
|
|
5
|
+
import { H as Heading } from '../Heading-04994667.js';
|
|
6
|
+
import { T as Text } from '../Text-703e2c21.js';
|
|
7
|
+
import { C as Content } from '../Content-3354c281.js';
|
|
8
|
+
import { S as Switch } from '../Switch-8bee06df.js';
|
|
9
|
+
import { B as Button } from '../Button-319d8fa0.js';
|
|
10
|
+
import { E as Emphasis } from '../Emphasis-edd2af9b.js';
|
|
11
|
+
import { M as Markdown } from '../Markdown-2ec28e51.js';
|
|
12
|
+
import '../Typography-09952a2f.js';
|
|
13
|
+
import 'react-router-dom';
|
|
14
|
+
import '../Icon-22723fe6.js';
|
|
15
|
+
import '@jobber/design';
|
|
16
|
+
import 'react-markdown';
|
|
26
17
|
|
|
27
18
|
var css_248z = ".-sVnhIK4hZw- {\n display: -ms-flexbox;\n display: flex;\n}\n\n.ZJaXf-cIFgU- {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n -ms-flex-item-align: center;\n align-self: center;\n padding-right: calc(16px * 1);\n padding-right: var(--space-base);\n transition: opacity 200ms;\n transition: opacity var(--timing-base);\n}\n\n.OA-s1YYLMMM- {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n -ms-flex-item-align: start;\n align-self: flex-start;\n position: relative;\n}\n\n.lN90IIewHq8- {\n position: absolute;\n top: 100%;\n width: 100%;\n margin-top: calc(16px / 8);\n margin-top: var(--space-smallest);\n text-align: center;\n}\n\n.mW56hvBHqPM- {\n opacity: 0.5;\n}\n\n.QfZjM5S-Ls0- {\n opacity: 1;\n}\n";
|
|
28
19
|
var styles = {"container":"-sVnhIK4hZw-","content":"ZJaXf-cIFgU-","action":"OA-s1YYLMMM-","savedIndicator":"lN90IIewHq8-","featureContent":"mW56hvBHqPM-","enabled":"QfZjM5S-Ls0-"};
|
|
29
|
-
|
|
20
|
+
styleInject(css_248z);
|
|
30
21
|
|
|
31
22
|
function FeatureSwitch({ children, description, disabled = false, enabled, externalLink = false, onEdit, onSwitch, hasSaveIndicator = false, title, }) {
|
|
32
|
-
const [savedIndicator, setSavedIndicator] =
|
|
33
|
-
const featureContentClassnames =
|
|
23
|
+
const [savedIndicator, setSavedIndicator] = useState(false);
|
|
24
|
+
const featureContentClassnames = classnames(styles.featureContent, styles.content, enabled && styles.enabled);
|
|
34
25
|
shouldShowSavedIndicator();
|
|
35
|
-
return (
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
title &&
|
|
40
|
-
description && (
|
|
41
|
-
|
|
42
|
-
onSwitch && (
|
|
43
|
-
|
|
44
|
-
|
|
26
|
+
return (React.createElement(Content, null,
|
|
27
|
+
React.createElement("div", { className: styles.container },
|
|
28
|
+
React.createElement("div", { className: styles.content },
|
|
29
|
+
React.createElement(Content, null,
|
|
30
|
+
title && React.createElement(Heading, { level: 4 }, title),
|
|
31
|
+
description && (React.createElement(Text, null,
|
|
32
|
+
React.createElement(Markdown, { content: description, basicUsage: true, externalLink: externalLink }))))),
|
|
33
|
+
onSwitch && (React.createElement("div", { className: styles.action },
|
|
34
|
+
React.createElement(Switch, { value: enabled, onChange: onSwitch, ariaLabel: description, disabled: disabled }),
|
|
35
|
+
React.createElement(AnimatePresence, null, hasSaveIndicator && savedIndicator && (React.createElement(motion.div, { className: styles.savedIndicator, initial: { y: -4, opacity: 0 }, animate: { y: 0, opacity: 1 }, exit: { y: -4, opacity: 0 }, transition: {
|
|
45
36
|
delay: 0.2,
|
|
46
37
|
type: "spring",
|
|
47
38
|
damping: 20,
|
|
48
39
|
stiffness: 300,
|
|
49
40
|
}, onAnimationComplete: handleAnimationComplete },
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
(children || onEdit) && (
|
|
53
|
-
children && (
|
|
54
|
-
onEdit && (
|
|
55
|
-
|
|
41
|
+
React.createElement(Text, { variation: "success" },
|
|
42
|
+
React.createElement(Emphasis, { variation: "italic" }, "Saved")))))))),
|
|
43
|
+
(children || onEdit) && (React.createElement("div", { className: styles.container },
|
|
44
|
+
children && (React.createElement("div", { className: featureContentClassnames }, children)),
|
|
45
|
+
onEdit && (React.createElement("div", { className: styles.action },
|
|
46
|
+
React.createElement(Button, { label: "Edit", type: "tertiary", onClick: onEdit })))))));
|
|
56
47
|
function shouldShowSavedIndicator() {
|
|
57
48
|
// Check if the component is mounted
|
|
58
|
-
const [didMount, setDidMount] =
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
const [didMount, setDidMount] = useState(false);
|
|
50
|
+
useEffect(() => setDidMount(true), []);
|
|
51
|
+
useEffect(() => {
|
|
61
52
|
didMount && hasSaveIndicator && setSavedIndicator(true);
|
|
62
53
|
}, [enabled]);
|
|
63
54
|
}
|
|
@@ -66,4 +57,4 @@ function FeatureSwitch({ children, description, disabled = false, enabled, exter
|
|
|
66
57
|
}
|
|
67
58
|
}
|
|
68
59
|
|
|
69
|
-
|
|
60
|
+
export { FeatureSwitch };
|