@jobber/components 4.79.1 → 4.79.2-STCJS-to-.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/AnimatedPresence/AnimatedPresence.d.ts +1 -1
  2. package/dist/AnimatedSwitcher/AnimatedSwitcher.d.ts +1 -1
  3. package/dist/Autocomplete/Autocomplete.d.ts +1 -1
  4. package/dist/Avatar/Avatar.d.ts +1 -1
  5. package/dist/Banner/Banner.d.ts +1 -1
  6. package/dist/Button/Button.d.ts +1 -1
  7. package/dist/ButtonDismiss/ButtonDismiss.d.ts +2 -2
  8. package/dist/Card/Card.d.ts +1 -1
  9. package/dist/Checkbox/Checkbox.d.ts +1 -1
  10. package/dist/Chip/Chip.d.ts +1 -0
  11. package/dist/Chips/Chips.d.ts +1 -0
  12. package/dist/Combobox/Combobox.d.ts +1 -0
  13. package/dist/Combobox/hooks/useMakeComboboxHandlers.d.ts +1 -1
  14. package/dist/ConfirmationModal/ConfirmationModal.d.ts +1 -1
  15. package/dist/Content/Content.d.ts +1 -1
  16. package/dist/Countdown/Countdown.d.ts +1 -1
  17. package/dist/DataDump/DataDump.d.ts +1 -1
  18. package/dist/DataList/DataList.const.d.ts +1 -0
  19. package/dist/DataList/DataList.d.ts +1 -0
  20. package/dist/DataTable/DataTable.d.ts +1 -0
  21. package/dist/DatePicker/DatePicker.d.ts +1 -1
  22. package/dist/DescriptionList/DescriptionList.d.ts +2 -2
  23. package/dist/Disclosure/Disclosure.d.ts +1 -1
  24. package/dist/Divider/Divider.d.ts +1 -1
  25. package/dist/Drawer/Drawer.d.ts +1 -1
  26. package/dist/Emphasis/Emphasis.d.ts +3 -3
  27. package/dist/FeatureSwitch/FeatureSwitch.d.ts +1 -1
  28. package/dist/Flex/Flex.d.ts +1 -1
  29. package/dist/Form/Form.d.ts +1 -0
  30. package/dist/FormField/FormField.d.ts +1 -0
  31. package/dist/FormatDate/FormatDate.d.ts +1 -1
  32. package/dist/FormatEmail/FormatEmail.d.ts +1 -1
  33. package/dist/FormatFile/FormatFile.d.ts +1 -1
  34. package/dist/FormatRelativeDateTime/FormatRelativeDateTime.d.ts +1 -1
  35. package/dist/FormatTime/FormatTime.d.ts +1 -1
  36. package/dist/Gallery/Gallery.d.ts +1 -0
  37. package/dist/Glimmer/Glimmer.d.ts +1 -1
  38. package/dist/Grid/Grid.d.ts +1 -1
  39. package/dist/Heading/Heading.d.ts +1 -1
  40. package/dist/Icon/Icon.d.ts +1 -0
  41. package/dist/InlineLabel/InlineLabel.d.ts +4 -4
  42. package/dist/InputAvatar/InputAvatar.d.ts +1 -1
  43. package/dist/InputDate/InputDate.d.ts +1 -1
  44. package/dist/InputEmail/InputEmail.d.ts +1 -1
  45. package/dist/InputFile/InputFile.d.ts +1 -1
  46. package/dist/InputGroup/InputGroup.d.ts +1 -1
  47. package/dist/InputNumber/InputNumber.d.ts +2 -1
  48. package/dist/InputPassword/InputPassword.d.ts +3 -3
  49. package/dist/InputPhoneNumber/InputPhoneNumber.d.ts +1 -1
  50. package/dist/InputText/InputText.d.ts +1 -0
  51. package/dist/InputTime/InputTime.d.ts +1 -0
  52. package/dist/InputValidation/InputValidation.d.ts +1 -1
  53. package/dist/LightBox/LightBox.d.ts +1 -1
  54. package/dist/Link/Link.d.ts +1 -0
  55. package/dist/List/List.d.ts +1 -1
  56. package/dist/Markdown/Markdown.d.ts +1 -1
  57. package/dist/Menu/Menu.d.ts +5 -4
  58. package/dist/Modal/Modal.d.ts +1 -0
  59. package/dist/MultiSelect/MultiSelect.d.ts +1 -1
  60. package/dist/Page/Page.d.ts +1 -1
  61. package/dist/Popover/Popover.d.ts +1 -0
  62. package/dist/ProgressBar/ProgressBar.d.ts +1 -1
  63. package/dist/RadioGroup/RadioGroup.d.ts +1 -1
  64. package/dist/RecurringSelect/RecurringSelect.d.ts +1 -1
  65. package/dist/RecurringSelect/components/DayOfMonthSelect.d.ts +2 -2
  66. package/dist/RecurringSelect/components/WeeklySelect.d.ts +2 -2
  67. package/dist/Select/Select.d.ts +1 -1
  68. package/dist/Spinner/Spinner.d.ts +1 -1
  69. package/dist/StatusLabel/StatusLabel.d.ts +1 -1
  70. package/dist/Switch/Switch.d.ts +1 -1
  71. package/dist/Table/Table.d.ts +2 -2
  72. package/dist/Tabs/Tabs.d.ts +1 -1
  73. package/dist/Text/Text.d.ts +2 -2
  74. package/dist/Toast/Toast.d.ts +1 -1
  75. package/dist/Tooltip/Tooltip.d.ts +1 -1
  76. package/dist/Typography/Typography.d.ts +2 -2
  77. package/dist/index.d.ts +72 -0
  78. package/dist/index.js +6479 -0
  79. package/package.json +6 -10
  80. package/rollup.config.js +15 -78
  81. package/dist/AnimatedPresence/index.js +0 -12
  82. package/dist/AnimatedPresence-20a02aaa.js +0 -104
  83. package/dist/AnimatedSwitcher/index.js +0 -13
  84. package/dist/AnimatedSwitcher-3d45ec5d.js +0 -96
  85. package/dist/Autocomplete/index.js +0 -209
  86. package/dist/Avatar/index.js +0 -15
  87. package/dist/Avatar-76a799fa.js +0 -78
  88. package/dist/Banner/index.js +0 -110
  89. package/dist/Button/index.js +0 -16
  90. package/dist/Button-b73a5e01.js +0 -57
  91. package/dist/ButtonDismiss/index.js +0 -17
  92. package/dist/ButtonDismiss-350af163.js +0 -14
  93. package/dist/Card/colors.css.d.ts +0 -89
  94. package/dist/Card/index.js +0 -24
  95. package/dist/Card-426a68a8.js +0 -93
  96. package/dist/Checkbox/index.js +0 -19
  97. package/dist/Checkbox-99f6297f.js +0 -64
  98. package/dist/Chip/index.js +0 -40
  99. package/dist/Chip-c91fd6c8.js +0 -89
  100. package/dist/Chips/index.js +0 -524
  101. package/dist/Combobox/index.js +0 -38
  102. package/dist/Combobox-ca9ac94b.js +0 -474
  103. package/dist/ConfirmationModal/index.js +0 -31
  104. package/dist/ConfirmationModal-f1a049fb.js +0 -100
  105. package/dist/Content/Spacing.css.d.ts +0 -13
  106. package/dist/Content/index.js +0 -12
  107. package/dist/Content-e3f7b6fc.js +0 -24
  108. package/dist/Countdown/index.js +0 -72
  109. package/dist/DataDump/index.js +0 -37
  110. package/dist/DataList/index.js +0 -1341
  111. package/dist/DataTable/index.js +0 -302
  112. package/dist/DatePicker/index.js +0 -20
  113. package/dist/DatePicker-64c5ab1a.js +0 -134
  114. package/dist/DescriptionList/index.js +0 -24
  115. package/dist/Disclosure/index.js +0 -46
  116. package/dist/Divider/index.js +0 -29
  117. package/dist/Drawer/index.js +0 -50
  118. package/dist/Emphasis/index.js +0 -13
  119. package/dist/Emphasis-bda56d3b.js +0 -19
  120. package/dist/FeatureSwitch/index.js +0 -70
  121. package/dist/Flex/index.js +0 -40
  122. package/dist/Form/index.js +0 -56
  123. package/dist/FormField/index.js +0 -25
  124. package/dist/FormField-b4e6c549.js +0 -254
  125. package/dist/FormatDate/index.js +0 -11
  126. package/dist/FormatDate-70ea5b43.js +0 -34
  127. package/dist/FormatEmail/index.js +0 -23
  128. package/dist/FormatFile/index.js +0 -36
  129. package/dist/FormatFile-652edda8.js +0 -162
  130. package/dist/FormatRelativeDateTime/index.js +0 -72
  131. package/dist/FormatTime/index.js +0 -36
  132. package/dist/Gallery/Gallery.css.d.ts +0 -9
  133. package/dist/Gallery/index.js +0 -99
  134. package/dist/Glimmer/index.js +0 -15
  135. package/dist/Glimmer/style/Shape.css.d.ts +0 -9
  136. package/dist/Glimmer/style/Sizes.css.d.ts +0 -10
  137. package/dist/Glimmer/style/Timing.css.d.ts +0 -6
  138. package/dist/Glimmer-7c317864.js +0 -77
  139. package/dist/Grid/GridAlign.css.d.ts +0 -8
  140. package/dist/Grid/index.js +0 -76
  141. package/dist/Heading/index.js +0 -14
  142. package/dist/Heading-1e8e4bd3.js +0 -55
  143. package/dist/Icon/index.js +0 -11
  144. package/dist/Icon-405a216c.js +0 -40
  145. package/dist/InlineLabel/index.js +0 -13
  146. package/dist/InlineLabel-a6557829.js +0 -28
  147. package/dist/InputAvatar/index.js +0 -71
  148. package/dist/InputDate/index.js +0 -58
  149. package/dist/InputEmail/index.js +0 -44
  150. package/dist/InputFile/index.js +0 -26
  151. package/dist/InputFile-c9eeb04b.js +0 -188
  152. package/dist/InputGroup/index.js +0 -12
  153. package/dist/InputGroup-8d4fd4eb.js +0 -33
  154. package/dist/InputNumber/index.js +0 -26
  155. package/dist/InputNumber-ceae3872.js +0 -62
  156. package/dist/InputPassword/index.js +0 -42
  157. package/dist/InputPhoneNumber/index.js +0 -117
  158. package/dist/InputText/index.js +0 -26
  159. package/dist/InputText-6e356985.js +0 -101
  160. package/dist/InputTime/index.js +0 -210
  161. package/dist/InputValidation/index.js +0 -17
  162. package/dist/InputValidation-05e839fa.js +0 -29
  163. package/dist/LightBox/index.js +0 -24
  164. package/dist/LightBox-a89d8863.js +0 -117
  165. package/dist/Link/index.js +0 -15
  166. package/dist/List/index.js +0 -93
  167. package/dist/Markdown/index.js +0 -19
  168. package/dist/Markdown-f7c55304.js +0 -62
  169. package/dist/Menu/index.js +0 -21
  170. package/dist/Menu-81b12936.js +0 -139
  171. package/dist/Modal/Sizes.css.d.ts +0 -6
  172. package/dist/Modal/index.js +0 -25
  173. package/dist/Modal-a0627c92.js +0 -71
  174. package/dist/MultiSelect/index.js +0 -183
  175. package/dist/Option-8565da71.js +0 -19
  176. package/dist/Page/index.js +0 -78
  177. package/dist/Popover/index.js +0 -61
  178. package/dist/ProgressBar/Sizes.css.d.ts +0 -7
  179. package/dist/ProgressBar/index.js +0 -12
  180. package/dist/ProgressBar-b68edc8f.js +0 -43
  181. package/dist/RadioGroup/index.js +0 -16
  182. package/dist/RadioGroup-ca7a5978.js +0 -47
  183. package/dist/RecurringSelect/index.js +0 -228
  184. package/dist/Select/index.js +0 -27
  185. package/dist/Spinner/index.js +0 -12
  186. package/dist/Spinner-9d8fc7ff.js +0 -24
  187. package/dist/StatusLabel/index.js +0 -30
  188. package/dist/Switch/index.js +0 -13
  189. package/dist/Switch-7d4aa7c3.js +0 -56
  190. package/dist/Table/index.js +0 -66
  191. package/dist/Tabs/index.js +0 -80
  192. package/dist/Text/index.js +0 -13
  193. package/dist/Text-259af966.js +0 -31
  194. package/dist/Toast/index.js +0 -111
  195. package/dist/Tooltip/index.js +0 -15
  196. package/dist/Tooltip-27771182.js +0 -111
  197. package/dist/Typography/css/Emphasis.css.d.ts +0 -6
  198. package/dist/Typography/css/FontFamilies.css.d.ts +0 -6
  199. package/dist/Typography/css/FontSizes.css.d.ts +0 -12
  200. package/dist/Typography/css/FontWeights.css.d.ts +0 -10
  201. package/dist/Typography/css/TextAlignment.css.d.ts +0 -7
  202. package/dist/Typography/css/TextCases.css.d.ts +0 -7
  203. package/dist/Typography/css/TextColors.css.d.ts +0 -22
  204. package/dist/Typography/css/Truncate.css.d.ts +0 -5
  205. package/dist/Typography/css/Typography.css.d.ts +0 -5
  206. package/dist/Typography/index.js +0 -12
  207. package/dist/Typography-c45bf216.js +0 -62
  208. package/dist/getAtlantisConfig-0f3e8af2.js +0 -13
  209. package/dist/style-inject.es-9d2f5f4e.js +0 -30
  210. package/dist/tslib.es6-754e2961.js +0 -46
@@ -1,302 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var reactTable = require('@tanstack/react-table');
6
- var classnames = require('classnames');
7
- var React = require('react');
8
- var jobberHooks = require('@jobber/hooks/useResizeObserver');
9
- var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
10
- var Glimmer = require('../Glimmer-7c317864.js');
11
- var tslib_es6 = require('../tslib.es6-754e2961.js');
12
- var Option = require('../Option-8565da71.js');
13
- var Button = require('../Button-b73a5e01.js');
14
- var Text = require('../Text-259af966.js');
15
- require('../Content-e3f7b6fc.js');
16
- require('../FormField-b4e6c549.js');
17
- require('uuid');
18
- require('react-hook-form');
19
- require('@jobber/hooks/useShowClear');
20
- require('../Icon-405a216c.js');
21
- require('@jobber/design');
22
- require('../InputValidation-05e839fa.js');
23
- require('framer-motion');
24
- require('../Spinner-9d8fc7ff.js');
25
- require('react-router-dom');
26
- require('../Typography-c45bf216.js');
27
-
28
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
29
-
30
- function _interopNamespace(e) {
31
- if (e && e.__esModule) return e;
32
- var n = Object.create(null);
33
- if (e) {
34
- Object.keys(e).forEach(function (k) {
35
- if (k !== 'default') {
36
- var d = Object.getOwnPropertyDescriptor(e, k);
37
- Object.defineProperty(n, k, d.get ? d : {
38
- enumerable: true,
39
- get: function () { return e[k]; }
40
- });
41
- }
42
- });
43
- }
44
- n["default"] = e;
45
- return Object.freeze(n);
46
- }
47
-
48
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
49
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
50
- var jobberHooks__namespace = /*#__PURE__*/_interopNamespace(jobberHooks);
51
-
52
- 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 overflow: hidden;\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- tbody tr td.UGku9HGjQn0- {\n display: table-cell;\n position: static;\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";
53
- var styles$3 = {"dataTableContainer":"m5A5oeRFaMs-","tableContainer":"cY-5BrIIUg8-","table":"y8xnHe7fwrI-","pinFirstColumn":"t8QYvdtkQXQ-","emptyStateCell":"UGku9HGjQn0-","stickyHeader":"Y21JuHX6fhk-","pinFirstHeaderSortable":"PJEX8dlqCMA-","sortableColumn":"_9ps4aWGs8W0-","clickableRow":"_59XEEB8l5pI-","emptyState":"a2BGGBkY5J8-"};
54
- styleInject_es.styleInject(css_248z$3);
55
-
56
- function BodyLoading({ table }) {
57
- const loaderRows = table.getState().pagination.pageSize;
58
- const loaderColumns = table.getAllColumns().length;
59
- return (React__default["default"].createElement("tbody", null, Array.from(Array(loaderRows).keys()).map(row => (React__default["default"].createElement("tr", { key: row }, Array.from(Array(loaderColumns).keys()).map(arr => (React__default["default"].createElement("td", { key: arr },
60
- React__default["default"].createElement(Glimmer.Glimmer, null)))))))));
61
- }
62
-
63
- function Body({ table, onRowClick, emptyState, loading, }) {
64
- const bodyRowClasses = classnames__default["default"]({ [styles$3.clickableRow]: !!onRowClick });
65
- const handleRowClick = React.useCallback((row) => () => {
66
- if (onRowClick == undefined)
67
- return;
68
- onRowClick(row);
69
- }, [onRowClick]);
70
- if (loading) {
71
- return React__default["default"].createElement(BodyLoading, { table: table });
72
- }
73
- return (React__default["default"].createElement(React__default["default"].Fragment, null, table.getRowModel().rows.length ? (React__default["default"].createElement("tbody", null, table.getRowModel().rows.map(row => {
74
- return (React__default["default"].createElement("tr", { key: row.id, onClick: handleRowClick(row), className: bodyRowClasses }, row.getVisibleCells().map(cell => {
75
- return (React__default["default"].createElement("td", { key: cell.id, style: {
76
- width: cell.column.getSize(),
77
- minWidth: cell.column.columnDef.minSize,
78
- maxWidth: cell.column.columnDef.maxSize,
79
- } }, reactTable.flexRender(cell.column.columnDef.cell, cell.getContext())));
80
- })));
81
- }))) : (React__default["default"].createElement("tbody", null,
82
- React__default["default"].createElement("tr", { className: bodyRowClasses },
83
- React__default["default"].createElement("td", { colSpan: table.getAllColumns().length, className: styles$3.emptyStateCell },
84
- React__default["default"].createElement("div", { className: styles$3.emptyState }, emptyState)))))));
85
- }
86
-
87
- function createTableSettings(data, columns, options) {
88
- var _a;
89
- const _b = getPaginationSettings(options === null || options === void 0 ? void 0 : options.pagination), { state: paginationState } = _b, restPaginationSettings = tslib_es6.__rest(_b, ["state"]);
90
- const _c = getSortingSettings(options === null || options === void 0 ? void 0 : options.sorting), { state: sortingState } = _c, restSortingSettings = tslib_es6.__rest(_c, ["state"]);
91
- let initialPatinationState;
92
- if ((_a = options === null || options === void 0 ? void 0 : options.pagination) === null || _a === void 0 ? void 0 : _a.itemsPerPage) {
93
- initialPatinationState = {
94
- pageIndex: 0,
95
- pageSize: options.pagination.itemsPerPage[0],
96
- };
97
- }
98
- const tableSettings = Object.assign(Object.assign(Object.assign({ data,
99
- columns, state: Object.assign(Object.assign({}, paginationState), sortingState), getCoreRowModel: reactTable.getCoreRowModel() }, restPaginationSettings), restSortingSettings), { initialState: {
100
- pagination: initialPatinationState,
101
- } });
102
- return tableSettings;
103
- }
104
- function getPaginationSettings(pagination) {
105
- const paginationSettings = {};
106
- if (!pagination) {
107
- return paginationSettings;
108
- }
109
- const { manualPagination } = pagination;
110
- paginationSettings.manualPagination = manualPagination;
111
- if (manualPagination) {
112
- const { state, pageCount, onPaginationChange } = pagination;
113
- paginationSettings.state = { pagination: state };
114
- paginationSettings.pageCount = pageCount;
115
- paginationSettings.onPaginationChange = onPaginationChange;
116
- }
117
- else {
118
- paginationSettings.getPaginationRowModel = reactTable.getPaginationRowModel();
119
- }
120
- return paginationSettings;
121
- }
122
- function getSortingSettings(sorting) {
123
- const sortingSettings = {};
124
- if (!sorting)
125
- return sortingSettings;
126
- const { manualSorting } = sorting;
127
- sortingSettings.manualSorting = manualSorting;
128
- if (manualSorting) {
129
- const { onSortingChange, state, enableSortingRemoval } = sorting;
130
- sortingSettings.state = { sorting: state };
131
- sortingSettings.onSortingChange = onSortingChange;
132
- sortingSettings.enableSortingRemoval = enableSortingRemoval !== null && enableSortingRemoval !== void 0 ? enableSortingRemoval : true;
133
- }
134
- else {
135
- sortingSettings.getSortedRowModel = reactTable.getSortedRowModel();
136
- }
137
- return sortingSettings;
138
- }
139
-
140
- 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";
141
- var styles$2 = {"pagination":"zn0VRVhObt0-","paginationInfo":"_1d4uh90gfSI-","paginationNav":"_5Hh01rJlUDs-","paginationSelect":"N5rXFBBzPxk-","paginationSelectLabel":"Uq2TUaf9ang-","paginationButtons":"PeLwUZ2wWPI-"};
142
- styleInject_es.styleInject(css_248z$2);
143
-
144
- const defaultItemsPerPageOptions = ["10", "20", "30", "40", "50"];
145
- function Pagination({ table, itemsPerPage, totalItems, loading, onPageChange, }) {
146
- const { pageIndex, pageSize } = table.getState().pagination;
147
- const totalRows = totalItems;
148
- const firstPosition = pageIndex * pageSize + 1;
149
- const secondPosition = Math.min(totalRows, pageSize * (pageIndex + 1));
150
- const itemsPerPageOptions = React.useMemo(() => { var _a; return (_a = itemsPerPage === null || itemsPerPage === void 0 ? void 0 : itemsPerPage.map(item => String(item))) !== null && _a !== void 0 ? _a : defaultItemsPerPageOptions; }, [itemsPerPage]);
151
- return secondPosition <= 0 ? (React__default["default"].createElement("div", { className: styles$2.pagination },
152
- React__default["default"].createElement("div", { className: styles$2.paginationInfo }, !loading ? React__default["default"].createElement(Text.Text, null, "No items") : React__default["default"].createElement(Glimmer.Glimmer, { width: 200 })))) : (React__default["default"].createElement("div", { className: styles$2.pagination },
153
- React__default["default"].createElement("div", { className: styles$2.paginationInfo }, `Showing ${firstPosition}-${secondPosition} of ${totalRows} items`),
154
- React__default["default"].createElement("div", { className: styles$2.paginationNav },
155
- React__default["default"].createElement("div", { className: styles$2.paginationSelect },
156
- React__default["default"].createElement(Option.Select, { value: table.getState().pagination.pageSize, onChange: value => {
157
- table.setPageSize(Number(value));
158
- }, size: "small" }, itemsPerPageOptions.map(numOfPages => (React__default["default"].createElement(Option.SelectOption, { key: numOfPages, value: numOfPages }, numOfPages)))),
159
- React__default["default"].createElement("span", { className: styles$2.paginationSelectLabel }, "per page")),
160
- React__default["default"].createElement("div", { className: styles$2.paginationButtons },
161
- React__default["default"].createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowLeft", ariaLabel: "arrowLeft", onClick: () => {
162
- table.previousPage();
163
- onPageChange();
164
- }, disabled: !table.getCanPreviousPage() }),
165
- React__default["default"].createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowRight", ariaLabel: "arrowRight", onClick: () => {
166
- table.nextPage();
167
- onPageChange();
168
- }, disabled: !table.getCanNextPage() })))));
169
- }
170
-
171
- 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";
172
- var styles$1 = {"mobileFooterContainer":"_0FexNr-lIgA-","mobileFooterRow":"PKlqQjoQ6DY-","mobileFooterRowData":"ItTcVYUbVNM-"};
173
- styleInject_es.styleInject(css_248z$1);
174
-
175
- 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: {
176
- width: header.getSize(),
177
- minWidth: header.column.columnDef.minSize,
178
- maxWidth: header.column.columnDef.maxSize,
179
- } }, reactTable.flexRender(header.column.columnDef.footer, header.getContext())))))))));
180
- const HandheldView = ({ table }) => (React__default["default"].createElement("div", { className: styles$1.mobileFooterContainer, "data-testid": "data-table-handheld-footer" }, table.getFooterGroups().map(footerGroup => (React__default["default"].createElement("div", { key: footerGroup.id }, footerGroup.headers
181
- .filter(header => header.column.columnDef.footer)
182
- .map((header, index) => (React__default["default"].createElement(React__default["default"].Fragment, null, index === 0 ? (React__default["default"].createElement("div", { className: styles$1.mobileFooterRow }, reactTable.flexRender(header.column.columnDef.footer, header.getContext()))) : (React__default["default"].createElement("div", { className: styles$1.mobileFooterRow, key: footerGroup.id },
183
- reactTable.flexRender(header.column.columnDef.header, header.getContext()),
184
- React__default["default"].createElement("div", { className: styles$1.mobileFooterRowData }, reactTable.flexRender(header.column.columnDef.footer, header.getContext()))))))))))));
185
- const Footer = ({ table, viewType = "handheld", }) => {
186
- const hasFooter = table
187
- .getAllColumns()
188
- .find(column => column.columnDef.footer);
189
- if (hasFooter) {
190
- return viewType === "handheld" ? (React__default["default"].createElement(HandheldView, { table: table })) : (React__default["default"].createElement(DesktopView, { table: table }));
191
- }
192
- return null;
193
- };
194
-
195
- 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";
196
- var styles = {"sortIcon":"wtb8keLFxgc-","active":"TUkZiGiR6hc-","inactive":"HkPlMeyz3rM-"};
197
- styleInject_es.styleInject(css_248z);
198
-
199
- var SortDirection;
200
- (function (SortDirection) {
201
- SortDirection[SortDirection["ascending"] = 0] = "ascending";
202
- SortDirection[SortDirection["descending"] = 1] = "descending";
203
- SortDirection[SortDirection["equilibrium"] = 2] = "equilibrium";
204
- })(SortDirection || (SortDirection = {}));
205
- const sortStyleIndex = [
206
- {
207
- option: SortDirection.equilibrium,
208
- upArrowStyle: undefined,
209
- downArrowStyle: undefined,
210
- },
211
- {
212
- option: SortDirection.ascending,
213
- upArrowStyle: classnames__default["default"](styles.active),
214
- downArrowStyle: classnames__default["default"](styles.inactive),
215
- },
216
- {
217
- option: SortDirection.descending,
218
- upArrowStyle: classnames__default["default"](styles.inactive),
219
- downArrowStyle: classnames__default["default"](styles.active),
220
- },
221
- ];
222
- function SortIcon({ direction }) {
223
- const foundStyle = sortStyleIndex.find(style => style.option === direction);
224
- const finalStyle = foundStyle === undefined ? sortStyleIndex[0] : foundStyle;
225
- return (React__default["default"].createElement("div", { className: classnames__default["default"](styles.sortIcon) },
226
- React__default["default"].createElement("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
227
- React__default["default"].createElement("path", { className: finalStyle.upArrowStyle, d: "M16.2929 10.6661C15.9024 11.0566 15.2692 11.0566 14.8787 10.6661L12.2891 8.14263L9.70711 10.6661C9.31658 11.0566 8.68342 11.0566 8.29289 10.6661C7.90237 10.2756 7.90237 9.64239 8.29289 9.25186L11.5858 5.95897C11.9763 5.56845 12.6095 5.56845 13 5.95897L16.2929 9.25186C16.6834 9.64239 16.6834 10.2756 16.2929 10.6661Z" }),
228
- React__default["default"].createElement("path", { className: finalStyle.downArrowStyle, d: "M8.29292 13.3339C8.68345 12.9434 9.31661 12.9434 9.70714 13.3339L12.2968 15.8573L14.8787 13.3339C15.2692 12.9434 15.9024 12.9434 16.2929 13.3339C16.6834 13.7244 16.6834 14.3576 16.2929 14.7481L13 18.041C12.6095 18.4315 11.9763 18.4315 11.5858 18.041L8.29292 14.7481C7.9024 14.3576 7.9024 13.7244 8.29292 13.3339Z" }))));
229
- }
230
-
231
- function Header({ table, stickyHeader, sorting, onRowClick, }) {
232
- const stickyClass = classnames__default["default"]({ [styles$3.stickyHeader]: stickyHeader });
233
- return (React__default["default"].createElement("thead", { className: stickyClass }, table.getHeaderGroups().map(headerGroup => (React__default["default"].createElement("tr", { key: headerGroup.id }, headerGroup.headers.map(header => {
234
- const isSorting = sorting && header.column.getCanSort();
235
- const headingCellInlineStyle = {
236
- width: header.getSize(),
237
- minWidth: header.column.columnDef.minSize,
238
- maxWidth: header.column.columnDef.maxSize,
239
- };
240
- if (isSorting) {
241
- headingCellInlineStyle.paddingRight = 0;
242
- }
243
- return (React__default["default"].createElement("th", { key: header.id, colSpan: header.colSpan, className: isSorting
244
- ? classnames__default["default"](styles$3.sortableColumn, {
245
- [styles$3.pinFirstHeaderSortable]: !!onRowClick,
246
- })
247
- : "", onClick: sorting ? header.column.getToggleSortingHandler() : undefined, style: headingCellInlineStyle }, header.isPlaceholder ? null : (React__default["default"].createElement("div", null,
248
- reactTable.flexRender(header.column.columnDef.header, header.getContext()),
249
- header.column.getCanSort() &&
250
- sorting &&
251
- !header.column.getIsSorted() && (React__default["default"].createElement(SortIcon, { direction: SortDirection.equilibrium })),
252
- {
253
- asc: React__default["default"].createElement(SortIcon, { direction: SortDirection.ascending }),
254
- desc: React__default["default"].createElement(SortIcon, { direction: SortDirection.descending }),
255
- }[header.column.getIsSorted()]))));
256
- }))))));
257
- }
258
-
259
- function DataTable({ data, columns, pagination, sorting, height, stickyHeader, pinFirstColumn, onRowClick, emptyState, loading = false, }) {
260
- const [ref, { exactWidth }] = jobberHooks.useResizeObserver();
261
- const tableSettings = createTableSettings(data, columns, {
262
- pagination,
263
- sorting,
264
- });
265
- const tableClasses = classnames__default["default"](styles$3.table, {
266
- [styles$3.pinFirstColumn]: pinFirstColumn,
267
- });
268
- const table = reactTable.useReactTable(tableSettings);
269
- return (React__default["default"].createElement("div", { className: styles$3.dataTableContainer },
270
- React__default["default"].createElement("div", { "data-testid": "ATL-DataTable-Container", className: styles$3.tableContainer, style: { height }, ref: ref },
271
- React__default["default"].createElement("table", { className: tableClasses },
272
- React__default["default"].createElement(Header, { table: table, sorting: sorting, onRowClick: onRowClick, stickyHeader: stickyHeader }),
273
- React__default["default"].createElement(Body, { table: table, onRowClick: onRowClick, emptyState: emptyState, loading: loading }),
274
- table.getRowModel().rows.length &&
275
- exactWidth &&
276
- exactWidth > jobberHooks.Breakpoints.small ? (React__default["default"].createElement(Footer, { table: table, viewType: "desktop" })) : null)),
277
- table.getRowModel().rows.length &&
278
- exactWidth &&
279
- exactWidth <= jobberHooks.Breakpoints.small ? (React__default["default"].createElement(Footer, { table: table })) : null,
280
- pagination && (React__default["default"].createElement(Pagination, { table: table, itemsPerPage: pagination.itemsPerPage, totalItems: pagination.manualPagination
281
- ? pagination.totalItems
282
- : table.getCoreRowModel().rows.length, loading: loading, onPageChange: () => { var _a; return (_a = ref.current) === null || _a === void 0 ? void 0 : _a.scrollTo(0, 0); } }))));
283
- }
284
-
285
- const mockContainerWidth = (exactWidth) => {
286
- jest.spyOn(jobberHooks__namespace, "useResizeObserver").mockReturnValue([
287
- { current: null },
288
- {
289
- width: 1200,
290
- height: 800,
291
- exactWidth: exactWidth || 1200,
292
- exactHeight: 800,
293
- },
294
- ]);
295
- };
296
-
297
- Object.defineProperty(exports, 'createColumnHelper', {
298
- enumerable: true,
299
- get: function () { return reactTable.createColumnHelper; }
300
- });
301
- exports.DataTable = DataTable;
302
- exports.mockContainerWidth = mockContainerWidth;
@@ -1,20 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var DatePicker = require('../DatePicker-64c5ab1a.js');
6
- require('react');
7
- require('classnames');
8
- require('react-datepicker');
9
- require('@jobber/hooks/useRefocusOnActivator');
10
- require('../style-inject.es-9d2f5f4e.js');
11
- require('../Typography-c45bf216.js');
12
- require('../Button-b73a5e01.js');
13
- require('react-router-dom');
14
- require('../Icon-405a216c.js');
15
- require('@jobber/design');
16
- require('lodash/omit');
17
-
18
-
19
-
20
- exports.DatePicker = DatePicker.DatePicker;
@@ -1,134 +0,0 @@
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 styleInject_es = require('./style-inject.es-9d2f5f4e.js');
8
- var Typography = require('./Typography-c45bf216.js');
9
- var Button = require('./Button-b73a5e01.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);
18
-
19
- 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(217, 223, 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(217, 223, 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(217, 223, 225);\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(238, 240, 242);\n background: var(--color-surface--background);\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(244, 246, 250);\n background: var(--color-surface--hover);\n}\n._8kgzU28z2Eo- .react-datepicker__day--outside-month:hover,\n._8kgzU28z2Eo- .react-datepicker__day--outside-month:focus {\n background: rgb(193, 201, 206);\n background: var(--color-surface--background--hover);\n}\n._8kgzU28z2Eo- .react-datepicker__day:focus {\n position: relative;\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n._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
- var styles = {"react-datepicker__month--selecting-range":"vl9aI3nIPIc-","datePickerWrapper":"jswNs4p7tII-","fullWidth":"WNVBy7I-Vv4-","datePicker":"_8kgzU28z2Eo-","inline":"_1Z7yDS-JQa0-","header":"G2Kz3asqaFQ-","month":"D3kDqTSFScU-"};
21
- styleInject_es.styleInject(css_248z);
22
-
23
- function DatePickerCustomHeader({ monthDate, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) {
24
- return (React__default["default"].createElement("div", { className: styles.header },
25
- React__default["default"].createElement(Button.Button, { onClick: decreaseMonth, disabled: prevMonthButtonDisabled, icon: "arrowLeft", ariaLabel: "Previous Month", variation: "work", type: "tertiary" }),
26
- React__default["default"].createElement("div", { className: styles.month },
27
- React__default["default"].createElement(Typography.Typography, { element: "span", fontFamily: "display", size: "large" }, monthDate.toLocaleString("en-US", {
28
- month: "long",
29
- year: "numeric",
30
- }))),
31
- React__default["default"].createElement(Button.Button, { onClick: increaseMonth, disabled: nextMonthButtonDisabled, icon: "arrowRight", ariaLabel: "Next Month", variation: "work", type: "tertiary" })));
32
- }
33
-
34
- const DatePickerActivator = React.forwardRef(InternalActivator);
35
- function InternalActivator(props, ref) {
36
- const { activator, fullWidth } = props;
37
- const newActivatorProps = omit__default["default"](props, ["activator", "fullWidth"]);
38
- if (activator) {
39
- if (React.isValidElement(activator)) {
40
- const isAComponent = typeof activator.type === "function";
41
- return React.cloneElement(activator, Object.assign(Object.assign(Object.assign({}, newActivatorProps), (isAComponent && { fullWidth: fullWidth })), {
42
- // @ts-expect-error - Issue with react types not including `ref` in
43
- // cloneElement. https://github.com/DefinitelyTyped/DefinitelyTyped/issues/40888
44
- ref }));
45
- }
46
- else {
47
- return activator(props);
48
- }
49
- }
50
- else {
51
- return (React__default["default"].createElement(Button.Button, Object.assign({ variation: "work", type: "tertiary", icon: "calendar", ariaLabel: "Open Datepicker", fullWidth: fullWidth }, newActivatorProps)));
52
- }
53
- }
54
-
55
- function useFocusOnSelectedDate() {
56
- const ref = React.useRef();
57
- function focusOnSelectedDate() {
58
- var _a;
59
- const selectedDateClass = ".react-datepicker__day--selected";
60
- const selectedDate = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.querySelector(selectedDateClass);
61
- if (selectedDate instanceof HTMLDivElement) {
62
- selectedDate.focus();
63
- }
64
- }
65
- return { ref, focusOnSelectedDate };
66
- }
67
-
68
- function DatePicker({ onChange, onMonthChange, activator, inline, selected, readonly = false, disabled = false, fullWidth = false, smartAutofocus = true, maxDate, minDate, highlightDates, }) {
69
- const { ref, focusOnSelectedDate } = useFocusOnSelectedDate();
70
- const [open, setOpen] = React.useState(false);
71
- const wrapperClassName = classnames__default["default"](styles.datePickerWrapper, {
72
- // react-datepicker uses this class name to not close the date picker when
73
- // the activator is clicked
74
- // https://github.com/Hacker0x01/react-datepicker/blob/master/src/index.jsx#L905
75
- //
76
- // It uses react-onclickoutside package and declaring some elements to be
77
- // ignored via said class name
78
- // https://www.npmjs.com/package/react-onclickoutside#marking-elements-as-skip-over-this-one-during-the-event-loop
79
- "react-datepicker-ignore-onclickoutside": !inline,
80
- [styles.fullWidth]: fullWidth,
81
- });
82
- const datePickerClassNames = classnames__default["default"](styles.datePicker, {
83
- [styles.inline]: inline,
84
- });
85
- const { pickerRef } = useEscapeKeyToCloseDatePicker(open, ref);
86
- if (smartAutofocus) {
87
- useRefocusOnActivator.useRefocusOnActivator(open);
88
- React.useEffect(focusOnSelectedDate, [open]);
89
- }
90
- return (React__default["default"].createElement("div", { className: wrapperClassName, ref: ref },
91
- 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 })));
92
- /**
93
- * The onChange callback on ReactDatePicker returns a Date and an Event, but
94
- * the onChange in our interface only provides the Date. Simplifying the code
95
- * by removing this function and passing it directly to the underlying
96
- * component breaks tests both here and downstream (i.e. the pattern
97
- * `expect(onChange).toHaveBeenCalledWith(date)` is commonly used and would
98
- * fail).
99
- */
100
- function handleChange(value /* , event: React.SyntheticEvent */) {
101
- onChange(value);
102
- }
103
- function handleCalendarOpen() {
104
- setOpen(true);
105
- }
106
- function handleCalendarClose() {
107
- setOpen(false);
108
- }
109
- }
110
- function useEscapeKeyToCloseDatePicker(open, ref) {
111
- const pickerRef = React.useRef(null);
112
- const escFunction = (event) => {
113
- var _a;
114
- if (event.key === "Escape" && open) {
115
- // Close the picker ourselves and prevent propagation so that ESC presses with the picker open
116
- // do not close parent elements that may also be listening for ESC presses such as Modals
117
- (_a = pickerRef.current) === null || _a === void 0 ? void 0 : _a.setOpen(false);
118
- event.stopPropagation();
119
- }
120
- };
121
- React.useEffect(() => {
122
- var _a;
123
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener("keydown", escFunction);
124
- return () => {
125
- var _a;
126
- (_a = ref.current) === null || _a === void 0 ? void 0 : _a.removeEventListener("keydown", escFunction);
127
- };
128
- }, [open, ref, pickerRef]);
129
- return {
130
- pickerRef,
131
- };
132
- }
133
-
134
- exports.DatePicker = DatePicker;
@@ -1,24 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
7
- var Typography = require('../Typography-c45bf216.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);
13
-
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
- var styles = {"descriptionList":"EQDmgmJchDA-","termGroup":"DkzfClUGQlc-"};
16
- styleInject_es.styleInject(css_248z);
17
-
18
- function DescriptionList({ data }) {
19
- return (React__default["default"].createElement("dl", { className: styles.descriptionList }, data.map(([term, description]) => (React__default["default"].createElement("div", { key: term, className: styles.termGroup },
20
- React__default["default"].createElement(Typography.Typography, { element: "dt", textColor: "heading", size: "base" }, term),
21
- React__default["default"].createElement(Typography.Typography, { element: "dd", textColor: "text", size: "base" }, description))))));
22
- }
23
-
24
- exports.DescriptionList = DescriptionList;
@@ -1,46 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var jobberHooks = require('@jobber/hooks/useResizeObserver');
7
- var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
- var Icon = require('../Icon-405a216c.js');
9
- var Typography = require('../Typography-c45bf216.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);
16
-
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
- var styles = {"arrowIconWrapper":"WcgASR88I1c-","details":"N-W4pXaLGt4-","summary":"PMjHZZhHiUY-","summaryWrap":"-E1lerklSHw-","content":"CjRRsbZQp1Y-","openAnimation":"vWj6tOjTVYA-"};
19
- styleInject_es.styleInject(css_248z);
20
-
21
- function Disclosure({ children, title, defaultOpen = false, }) {
22
- const [isOpen, setOpen] = React.useState(defaultOpen);
23
- const [isMounted, setMount] = React.useState(false);
24
- const [titleRef, { exactWidth }] = jobberHooks.useResizeObserver();
25
- const isBelowBreakpoint = exactWidth && exactWidth < jobberHooks.Breakpoints.small;
26
- React.useEffect(() => {
27
- setMount(true);
28
- }, []);
29
- return (React__default["default"].createElement("details", { open: isOpen, onToggle: onToggle, className: styles.details },
30
- React__default["default"].createElement("summary", { className: styles.summary },
31
- React__default["default"].createElement("div", { className: styles.summaryWrap, ref: titleRef },
32
- React__default["default"].createElement(Typography.Typography, { element: "h4", size: isBelowBreakpoint ? "base" : "large", fontWeight: "bold", textColor: "heading" }, title),
33
- React__default["default"].createElement("span", { className: styles.arrowIconWrapper },
34
- React__default["default"].createElement(Icon.Icon, { size: "large", name: "arrowDown", color: "green" })))),
35
- React__default["default"].createElement("span", { className: styles.content }, children)));
36
- function onToggle(event) {
37
- event.preventDefault();
38
- const { open: currentToggleState } = event.target;
39
- if (!isMounted || currentToggleState === isOpen) {
40
- return;
41
- }
42
- setOpen(!currentToggleState);
43
- }
44
- }
45
-
46
- exports.Disclosure = Disclosure;