@jobber/components 4.67.2-JOB-84126.13 → 4.67.2-pre.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/dist/AnimatedSwitcher/index.js +2 -2
  2. package/dist/{AnimatedSwitcher-d1e1ddcf.js → AnimatedSwitcher-879d0d6f.js} +1 -1
  3. package/dist/Autocomplete/index.js +0 -0
  4. package/dist/Avatar/index.js +2 -3
  5. package/dist/{Avatar-76a799fa.js → Avatar-765d6e45.js} +1 -4
  6. package/dist/Banner/index.js +4 -9
  7. package/dist/Button/index.js +3 -4
  8. package/dist/Button-8bde6560.js +54 -0
  9. package/dist/ButtonDismiss/index.js +4 -5
  10. package/dist/{ButtonDismiss-2b98d075.js → ButtonDismiss-af17d76d.js} +1 -1
  11. package/dist/Card/index.js +7 -8
  12. package/dist/Card-9dfc98d3.js +88 -0
  13. package/dist/Checkbox/index.js +5 -7
  14. package/dist/{Checkbox-ad7ec2e7.js → Checkbox-2d7c43d9.js} +5 -8
  15. package/dist/Chip/index.js +8 -7
  16. package/dist/Chip-dca6c22b.js +86 -0
  17. package/dist/Chips/index.js +12 -16
  18. package/dist/ClientOnly-4f3e136d.js +23 -0
  19. package/dist/Combobox/index.js +11 -10
  20. package/dist/{Combobox-b6053eb7.js → Combobox-35a3ea22.js} +9 -22
  21. package/dist/ConfirmationModal/index.js +14 -13
  22. package/dist/{ConfirmationModal-0f85d96c.js → ConfirmationModal-f6c0afc7.js} +3 -3
  23. package/dist/Content/index.js +1 -2
  24. package/dist/{Content-2ca1ffe1.js → Content-80486307.js} +0 -5
  25. package/dist/DataDump/index.js +9 -10
  26. package/dist/DataList/components/DataListHeader/DataListHeaderCheckbox.d.ts +1 -2
  27. package/dist/DataList/components/DataListHeaderTile/DataListSortingArrows.d.ts +1 -1
  28. package/dist/DataList/hooks/useMediaQuery.d.ts +3 -1
  29. package/dist/DataList/index.js +0 -0
  30. package/dist/DataTable/DataTable.d.ts +1 -1
  31. package/dist/DataTable/index.js +0 -0
  32. package/dist/DatePicker/index.js +4 -5
  33. package/dist/DatePicker-9399cc69.js +131 -0
  34. package/dist/DescriptionList/index.js +1 -4
  35. package/dist/Disclosure/index.js +2 -5
  36. package/dist/Divider/index.js +0 -3
  37. package/dist/Drawer/index.js +5 -10
  38. package/dist/Emphasis/index.js +2 -3
  39. package/dist/{Emphasis-b2d1b3aa.js → Emphasis-7a2893bb.js} +1 -1
  40. package/dist/FeatureSwitch/index.js +11 -13
  41. package/dist/Flex/index.js +6 -4
  42. package/dist/Form/index.js +1 -1
  43. package/dist/FormField/index.js +0 -0
  44. package/dist/FormField-18eda132.js +252 -0
  45. package/dist/FormatDate/index.js +1 -1
  46. package/dist/FormatEmail/index.js +0 -3
  47. package/dist/FormatFile/index.js +17 -17
  48. package/dist/FormatFile-317b158a.js +116 -0
  49. package/dist/FormatTime/FormatTime.d.ts +1 -2
  50. package/dist/FormatTime/index.js +11 -6
  51. package/dist/Gallery/index.js +18 -20
  52. package/dist/Glimmer/index.js +3 -4
  53. package/dist/Glimmer-f5c31401.js +68 -0
  54. package/dist/Grid/index.js +0 -7
  55. package/dist/Heading/index.js +2 -3
  56. package/dist/{Heading-0f4ecb0c.js → Heading-f066883a.js} +1 -1
  57. package/dist/Icon/index.js +1 -1
  58. package/dist/InlineLabel/index.js +2 -3
  59. package/dist/InlineLabel-4c2fec47.js +25 -0
  60. package/dist/InputAvatar/index.js +8 -12
  61. package/dist/InputDate/index.js +0 -0
  62. package/dist/InputEmail/index.js +0 -0
  63. package/dist/InputFile/InputFile.d.ts +5 -1
  64. package/dist/InputFile/index.js +6 -8
  65. package/dist/{InputFile-540c1657.js → InputFile-5c44f0b4.js} +8 -11
  66. package/dist/InputGroup/index.js +1 -2
  67. package/dist/InputGroup-88bec8c9.js +30 -0
  68. package/dist/InputNumber/index.js +0 -0
  69. package/dist/{InputNumber-ef949161.js → InputNumber-ed655bae.js} +1 -1
  70. package/dist/InputPassword/index.js +0 -0
  71. package/dist/InputPhoneNumber/index.js +0 -0
  72. package/dist/InputText/index.js +0 -0
  73. package/dist/InputText/useSafeLayoutEffect.d.ts +2 -0
  74. package/dist/{InputText-9e159467.js → InputText-c68964ff.js} +3 -2
  75. package/dist/InputTime/InputTime.d.ts +3 -1
  76. package/dist/InputTime/InputTime.disabledTest.d.ts +1 -0
  77. package/dist/InputTime/InternalInputTime.d.ts +3 -0
  78. package/dist/InputTime/SupportsTimePolyfill.d.ts +2 -0
  79. package/dist/InputTime/TimeInputPolyfill.client.d.ts +2 -0
  80. package/dist/InputTime/index.js +0 -0
  81. package/dist/InputValidation/index.js +4 -5
  82. package/dist/{InputValidation-179f0926.js → InputValidation-fdc891af.js} +2 -5
  83. package/dist/LightBox/ClientOnly.d.ts +6 -0
  84. package/dist/LightBox/LightBox.d.ts +2 -2
  85. package/dist/LightBox/index.js +6 -6
  86. package/dist/{LightBox-3f4dbc33.js → LightBox-d5aea313.js} +5 -6
  87. package/dist/List/index.js +9 -15
  88. package/dist/Markdown/Markdown.d.ts +1 -1
  89. package/dist/Markdown/index.js +8 -8
  90. package/dist/Markdown-10fc9d3e.js +90 -0
  91. package/dist/Menu/Menu.d.ts +4 -4
  92. package/dist/Menu/index.js +5 -6
  93. package/dist/{Menu-d7ea093c.js → Menu-7b7aa325.js} +7 -10
  94. package/dist/Modal/Modal.d.ts +2 -2
  95. package/dist/Modal/index.js +7 -7
  96. package/dist/{Modal-70daa0e2.js → Modal-357fd1df.js} +6 -9
  97. package/dist/MultiSelect/index.js +5 -11
  98. package/dist/{Option-290b5594.js → Option-c84f28a6.js} +1 -1
  99. package/dist/Page/index.js +12 -14
  100. package/dist/Popover/Popover.d.ts +2 -2
  101. package/dist/Popover/index.js +8 -8
  102. package/dist/ProgressBar/index.js +1 -2
  103. package/dist/ProgressBar-5c577dc0.js +38 -0
  104. package/dist/RadioGroup/index.js +3 -5
  105. package/dist/RadioGroup-9dded55d.js +44 -0
  106. package/dist/RecurringSelect/components/DayOfMonthSelect.d.ts +2 -2
  107. package/dist/RecurringSelect/components/WeeklySelect.d.ts +2 -2
  108. package/dist/RecurringSelect/index.js +0 -0
  109. package/dist/Select/index.js +0 -0
  110. package/dist/Spinner/index.js +1 -2
  111. package/dist/Spinner-cac356ee.js +21 -0
  112. package/dist/StatusLabel/index.js +2 -5
  113. package/dist/SupportsTimePolyfill-466a30f9.js +21 -0
  114. package/dist/Switch/index.js +2 -3
  115. package/dist/Switch-588c5e70.js +53 -0
  116. package/dist/Table/index.js +2 -7
  117. package/dist/Tabs/index.js +1 -4
  118. package/dist/Text/index.js +2 -3
  119. package/dist/{Text-4a2bc89f.js → Text-9f261dde.js} +1 -1
  120. package/dist/TimeInputPolyfill.client-1dfc8ab1.js +687 -0
  121. package/dist/Toast/index.js +3 -6
  122. package/dist/Tooltip/index.js +3 -2
  123. package/dist/{Tooltip-6b12f1c2.js → Tooltip-99440954.js} +14 -12
  124. package/dist/Typography/index.js +1 -2
  125. package/dist/Typography-75f58b60.js +43 -0
  126. package/dist/styles.css +8107 -0
  127. package/dist/useSafeLayoutEffect-b63708b1.js +16 -0
  128. package/package.json +4 -4
  129. package/rollup.config.js +3 -1
  130. package/dist/Button-163a0641.js +0 -57
  131. package/dist/Card-3178033c.js +0 -93
  132. package/dist/Chip-168acf3e.js +0 -89
  133. package/dist/DatePicker-c18f1739.js +0 -134
  134. package/dist/FormField-181efe29.js +0 -0
  135. package/dist/FormatFile-3b650d02.js +0 -121
  136. package/dist/Glimmer-cfa92a88.js +0 -77
  137. package/dist/InlineLabel-9a517c19.js +0 -28
  138. package/dist/InputGroup-8d4fd4eb.js +0 -33
  139. package/dist/Markdown-96070121.js +0 -62
  140. package/dist/ProgressBar-b68edc8f.js +0 -43
  141. package/dist/RadioGroup-ebaa4f87.js +0 -47
  142. package/dist/Spinner-9d8fc7ff.js +0 -24
  143. package/dist/Switch-b85272bf.js +0 -56
  144. package/dist/Typography-973b122e.js +0 -62
  145. package/dist/style-inject.es-9d2f5f4e.js +0 -30
  146. /package/dist/{FormatDate-70ea5b43.js → FormatDate-6fc94218.js} +0 -0
  147. /package/dist/{Icon-405a216c.js → Icon-361343e0.js} +0 -0
  148. /package/dist/{tslib.es6-5b8768b7.js → tslib.es6-a575af05.js} +0 -0
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
6
+
7
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
8
+
9
+ const canUseDom = !!(typeof window !== "undefined" &&
10
+ window.document &&
11
+ window.document.createElement);
12
+ // safe to disable eslint here because we want a function that does nothing
13
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
14
+ const useSafeLayoutEffect = canUseDom ? React__default["default"].useLayoutEffect : () => { };
15
+
16
+ exports.useSafeLayoutEffect = useSafeLayoutEffect;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "4.67.2-JOB-84126.13+76eed5c8",
3
+ "version": "4.67.2-pre.25+9e999639",
4
4
  "license": "MIT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,7 +21,7 @@
21
21
  "dependencies": {
22
22
  "@jobber/design": "^0.51.0",
23
23
  "@jobber/formatters": "^0.2.2",
24
- "@jobber/hooks": "^2.8.0",
24
+ "@jobber/hooks": "^2.8.1-pre.25+9e999639",
25
25
  "@popperjs/core": "^2.0.6",
26
26
  "@std-proposal/temporal": "0.0.1",
27
27
  "@tanstack/react-table": "8.5.13",
@@ -37,11 +37,11 @@
37
37
  "filesize": "^6.1.0",
38
38
  "framer-motion": "6.3.16",
39
39
  "lodash": "^4.17.21",
40
+ "markdown-to-jsx": "^7.3.2",
40
41
  "react-countdown": "^2.3.2",
41
42
  "react-datepicker": "~4.10.0",
42
43
  "react-dropzone": "^11.0.2",
43
44
  "react-hook-form": "^7.43.7",
44
- "react-markdown": "^8.0.3",
45
45
  "react-popper": "^2.2.5",
46
46
  "react-router-dom": "^5.3.4",
47
47
  "time-input-polyfill": "^1.0.7",
@@ -83,5 +83,5 @@
83
83
  "> 1%",
84
84
  "IE 10"
85
85
  ],
86
- "gitHead": "76eed5c81ffd3bf2f267a4666585b1e1ce0a8941"
86
+ "gitHead": "9e999639793c21c8123b28cf0ff6c27cca4dc6df"
87
87
  }
package/rollup.config.js CHANGED
@@ -14,6 +14,8 @@ export default {
14
14
  noEmitOnError: true,
15
15
  }),
16
16
  postcss({
17
+ extract: "styles.css",
18
+ inject: false,
17
19
  modules: {
18
20
  generateScopedName: "[hash:base64]",
19
21
  globalModulePaths: [/node_modules/],
@@ -49,7 +51,7 @@ export default {
49
51
  "react-hook-form",
50
52
  "react-router-dom",
51
53
  "react-dom",
52
- "react-markdown",
54
+ "markdown-to-jsx",
53
55
  "react-countdown",
54
56
  "react-popper",
55
57
  "react-datepicker",
@@ -1,57 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var classnames = require('classnames');
5
- var reactRouterDom = require('react-router-dom');
6
- var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
7
- var Icon = require('./Icon-405a216c.js');
8
- var Typography = require('./Typography-973b122e.js');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
14
-
15
- var css_248z = ":root {\n --button--color-variation: var(--color-interactive);\n --button--color-variation--hover: var(--color-interactive--hover);\n --button--color-surface: var(--color-surface);\n --button--color-surface--hover: var(--color-surface--background);\n --button--color-primaryLabel: var(--color-white);\n\n --button--duration-loading: var(--timing-loading--extended);\n}\n\n.U9VsquOtk2I- {\n display: -ms-inline-flexbox;\n display: inline-flex;\n min-height: calc(16px * 2.25);\n min-height: calc(var(--base-unit) * 2.25);\n box-sizing: border-box;\n margin: 0;\n border: calc(16px / 16) solid rgb(125, 176, 14);\n border: var(--border-base) solid var(--button--color-variation);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n color: rgb(125, 176, 14);\n color: var(--button--color-variation);\n -webkit-font-smoothing: antialiased;\n letter-spacing: calc(16px / 40);\n letter-spacing: var(--typography--letterSpacing-loose);\n text-align: center;\n -webkit-text-decoration: none;\n text-decoration: none;\n vertical-align: middle;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n cursor: pointer;\n transition: all 200ms;\n transition: all var(--timing-base);\n -webkit-appearance: none;\n appearance: none;\n fill: rgb(125, 176, 14);\n fill: var(--button--color-variation);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.U9VsquOtk2I- * {\n fill: inherit !important;\n}\n\n.U9VsquOtk2I- * {\n color: inherit;\n /* required to over-ride very specific fill from <Icon> */\n}\n\n.U9VsquOtk2I-:hover,\na.U9VsquOtk2I-:hover,\n.U9VsquOtk2I-:focus,\na.U9VsquOtk2I-:focus,\n.U9VsquOtk2I-:active,\na.U9VsquOtk2I-:active {\n border-color: rgb(81, 114, 9);\n border-color: var(--button--color-variation--hover);\n color: rgb(81, 114, 9);\n color: var(--button--color-variation--hover);\n fill: rgb(81, 114, 9);\n fill: var(--button--color-variation--hover);\n background-color: rgb(238, 240, 242);\n background-color: var(--button--color-surface--hover);\n}\n\n.U9VsquOtk2I-:focus,\na.U9VsquOtk2I-:focus,\n.U9VsquOtk2I-:active,\na.U9VsquOtk2I-:active {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n outline: none;\n}\n\n/* Variation */\n\n.qkFQwI0PKfw- {\n --button--color-variation: var(--color-interactive);\n --button--color-variation--hover: var(--color-interactive--hover);\n}\n\n.jsKQEOBdJ0k- {\n --button--color-variation: var(--color-informative);\n --button--color-variation--hover: var(--color-informative--onSurface);\n}\n\n._4W8X0dxZDK4- {\n --button--color-variation: var(--color-destructive);\n --button--color-variation--hover: var(--color-destructive--hover);\n}\n\n/* Subtle is special because, by default, it's styled as a secondary button */\n\n.vDKO-cmh8vY- {\n --button--color-variation: var(--color-interactive--subtle);\n --button--color-variation--hover: var(--color-interactive--subtle--hover);\n}\n\n/* Type */\n\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-),\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):hover,\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):focus {\n color: rgba(255, 255, 255, 1);\n color: var(--button--color-primaryLabel);\n background-color: rgb(125, 176, 14);\n background-color: var(--button--color-variation);\n fill: rgba(255, 255, 255, 1);\n fill: var(--button--color-primaryLabel);\n}\n\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):hover,\n.FXqN12jWtPo-:not(.vDKO-cmh8vY-):not(.bg-l22drjd0-):focus {\n background-color: rgb(81, 114, 9);\n background-color: var(--button--color-variation--hover);\n}\n\n.vDKO-cmh8vY-.FXqN12jWtPo- {\n color: rgb(125, 176, 14);\n color: var(--button--color-variation);\n fill: rgb(125, 176, 14);\n fill: var(--button--color-variation);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n}\n\n.pf6G840lKdA-,\n.vDKO-cmh8vY-.FXqN12jWtPo- {\n border-color: rgb(125, 176, 14);\n border-color: var(--button--color-variation);\n}\n\n.vDKO-cmh8vY-.FXqN12jWtPo-:hover,\n.vDKO-cmh8vY-.FXqN12jWtPo-:focus {\n color: rgb(81, 114, 9);\n color: var(--button--color-variation--hover);\n background-color: rgb(238, 240, 242);\n background-color: var(--button--color-surface--hover);\n fill: rgb(81, 114, 9);\n fill: var(--button--color-variation--hover);\n}\n\n.vDKO-cmh8vY-.pf6G840lKdA- {\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--button--color-surface);\n}\n\n.m7DbwRZWcNk-,\n.vDKO-cmh8vY-.pf6G840lKdA- {\n border-color: transparent;\n}\n\n.vDKO-cmh8vY-.pf6G840lKdA-:hover,\n.vDKO-cmh8vY-.pf6G840lKdA-:focus {\n background-color: rgb(238, 240, 242);\n background-color: var(--button--color-surface--hover);\n}\n\n.m7DbwRZWcNk-:hover,\n.m7DbwRZWcNk-:focus,\na.m7DbwRZWcNk-:hover,\na.m7DbwRZWcNk-:focus,\n.vDKO-cmh8vY-.pf6G840lKdA-:hover,\n.vDKO-cmh8vY-.pf6G840lKdA-:focus,\na.vDKO-cmh8vY-.pf6G840lKdA-:hover,\na.vDKO-cmh8vY-.pf6G840lKdA-:focus {\n border-color: transparent;\n}\n\n.vDKO-cmh8vY-.m7DbwRZWcNk- {\n border-color: transparent;\n background-color: transparent;\n}\n\n.vDKO-cmh8vY-.m7DbwRZWcNk-:hover,\n.vDKO-cmh8vY-.m7DbwRZWcNk-:focus,\na.vDKO-cmh8vY-.m7DbwRZWcNk-:hover,\na.vDKO-cmh8vY-.m7DbwRZWcNk-:focus {\n border-color: transparent;\n color: rgb(66, 78, 86);\n color: var(--color-interactive--subtle--hover);\n fill: rgb(66, 78, 86);\n fill: var(--color-interactive--subtle--hover);\n}\n\n/* Disabled */\n\n.U9VsquOtk2I-.bg-l22drjd0-,\na.U9VsquOtk2I-.bg-l22drjd0-,\n.U9VsquOtk2I-.bg-l22drjd0-:hover,\na.U9VsquOtk2I-.bg-l22drjd0-:hover {\n border-color: rgb(225, 225, 225);\n border-color: var(--color-disabled--secondary);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n fill: rgb(181, 181, 181);\n fill: var(--color-disabled);\n pointer-events: none;\n cursor: not-allowed;\n}\n\n/* Sizes */\n\n.STSDgSRREx4- {\n min-height: calc(16px * 1.5);\n min-height: calc(var(--base-unit) * 1.5);\n padding: 0 calc(16px / 2);\n padding: 0 var(--space-small);\n letter-spacing: 0;\n}\n\n.amIh7vPETfo- {\n min-height: calc(16px * 2.25);\n min-height: calc(var(--base-unit) * 2.25);\n padding: 0 calc((16px * 1) - 4px);\n padding: 0 calc(calc(16px * 1) - 4px);\n padding: 0 calc(var(--space-base) - 4px);\n}\n\n.ON6ezOojFVo- {\n min-height: calc(16px * 3);\n min-height: calc(var(--base-unit) * 3);\n padding: 0 calc(16px * 1);\n padding: 0 var(--space-base);\n}\n\n/* Icon */\n\n.Qq-idRLJTCk- {\n width: calc(16px * 2.25);\n width: calc(var(--base-unit) * 2.25);\n padding: 0;\n}\n\n.Qq-idRLJTCk-.STSDgSRREx4- {\n width: calc((16px / 2) * 3);\n width: calc(calc(16px / 2) * 3);\n width: calc(var(--space-small) * 3);\n}\n\n.Qq-idRLJTCk-.amIh7vPETfo- {\n width: calc((16px * 1) * 2.25);\n width: calc(calc(16px * 1) * 2.25);\n width: calc(var(--space-base) * 2.25);\n}\n\n.Qq-idRLJTCk-.ON6ezOojFVo- {\n width: calc((16px * 1.5) * 2);\n width: calc(calc(16px * 1.5) * 2);\n width: calc(var(--space-large) * 2);\n}\n\n.EWh1gvgPJQg- {\n width: auto;\n}\n\n.EWh1gvgPJQg- > * {\n text-align: left;\n}\n\n.EWh1gvgPJQg- > *:first-child {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.pfzTUMgNb3o- > *:first-child {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n margin-right: 0;\n -ms-flex-order: 1;\n order: 1;\n}\n\n.ZCHqCEyLBw0- {\n width: 100%;\n}\n\n.VVFKEv1ksMA- {\n background-image: linear-gradient(\n 135deg,\n rgba(0, 0, 0, 0.1) 0%,\n rgba(0, 0, 0, 0.1) 25%,\n transparent 25%,\n transparent 50%,\n rgba(0, 0, 0, 0.1) 50%,\n rgba(0, 0, 0, 0.1) 75%,\n transparent 75%,\n transparent 100%\n );\n background-size: calc(16px * 2) calc(16px * 2);\n background-size: var(--space-larger) var(--space-larger);\n pointer-events: none;\n cursor: not-allowed;\n -webkit-animation-duration: 2000ms;\n -webkit-animation-duration: var(--button--duration-loading);\n animation-duration: 2000ms;\n animation-duration: var(--button--duration-loading);\n -webkit-animation-iteration-count: infinite;\n animation-iteration-count: infinite;\n -webkit-animation-name: a8Q-0lnKH5M-;\n animation-name: a8Q-0lnKH5M-;\n -webkit-animation-timing-function: linear;\n animation-timing-function: linear;\n}\n\n.FXqN12jWtPo-.VVFKEv1ksMA-:not(.vDKO-cmh8vY-) {\n background-image: linear-gradient(\n 135deg,\n rgba(255, 255, 255, 0.25) 0%,\n rgba(255, 255, 255, 0.25) 25%,\n transparent 25%,\n transparent 50%,\n rgba(255, 255, 255, 0.25) 50%,\n rgba(255, 255, 255, 0.25) 75%,\n transparent 75%,\n transparent 100%\n );\n}\n\n@-webkit-keyframes a8Q-0lnKH5M- {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: calc(16px * 2) calc(16px * 2);\n background-position: var(--space-larger) var(--space-larger);\n }\n}\n\n@keyframes a8Q-0lnKH5M- {\n 0% {\n background-position: 0 0;\n }\n\n 100% {\n background-position: calc(16px * 2) calc(16px * 2);\n background-position: var(--space-larger) var(--space-larger);\n }\n}\n";
16
- var styles = {"button":"U9VsquOtk2I-","work":"qkFQwI0PKfw-","learning":"jsKQEOBdJ0k-","destructive":"_4W8X0dxZDK4-","subtle":"vDKO-cmh8vY-","primary":"FXqN12jWtPo-","disabled":"bg-l22drjd0-","secondary":"pf6G840lKdA-","tertiary":"m7DbwRZWcNk-","small":"STSDgSRREx4-","base":"amIh7vPETfo-","large":"ON6ezOojFVo-","onlyIcon":"Qq-idRLJTCk-","hasIconAndLabel":"EWh1gvgPJQg-","iconOnRight":"pfzTUMgNb3o-","fullWidth":"ZCHqCEyLBw0-","loading":"VVFKEv1ksMA-","animateStripes":"a8Q-0lnKH5M-"};
17
- styleInject_es.styleInject(css_248z);
18
-
19
- function Button(props) {
20
- const { ariaControls, ariaHaspopup, ariaExpanded, ariaLabel, disabled = false, external, fullWidth, icon, label, iconOnRight, id, loading, onClick, onMouseDown, role, size = "base", type = "primary", url, to, variation = "work", submit, } = props;
21
- const buttonClassNames = classnames__default["default"](styles.button, styles[size], {
22
- [styles.onlyIcon]: icon && !label,
23
- [styles.hasIconAndLabel]: icon && label,
24
- [styles.iconOnRight]: iconOnRight,
25
- [styles[variation]]: variation,
26
- [styles[type]]: type,
27
- [styles.disabled]: disabled,
28
- [styles.fullWidth]: fullWidth,
29
- [styles.loading]: loading,
30
- });
31
- const buttonType = submit ? "submit" : "button";
32
- const tagProps = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ className: buttonClassNames, disabled,
33
- id }, (!disabled && { href: url })), (!disabled && { onClick: onClick })), (!disabled && { onMouseDown: onMouseDown })), (external && { target: "_blank" })), (url === undefined && to === undefined && { type: buttonType })), { "aria-controls": ariaControls, "aria-haspopup": ariaHaspopup, "aria-expanded": ariaExpanded, "aria-label": ariaLabel, role: role });
34
- const buttonInternals = React__default["default"].createElement(ButtonInternals, Object.assign({}, props));
35
- if (to) {
36
- return (React__default["default"].createElement(reactRouterDom.Link, Object.assign({}, tagProps, { to: to }), buttonInternals));
37
- }
38
- const Tag = url ? "a" : "button";
39
- return React__default["default"].createElement(Tag, Object.assign({}, tagProps), buttonInternals);
40
- }
41
- function ButtonInternals({ label, icon, size = "base" }) {
42
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
43
- icon && React__default["default"].createElement(Icon.Icon, { name: icon, size: size }),
44
- React__default["default"].createElement(Typography.Typography, { element: "span", fontWeight: "extraBold", fontFamily: "base", size: getTypeSizes(size) }, label)));
45
- }
46
- function getTypeSizes(size) {
47
- switch (size) {
48
- case "small":
49
- return "small";
50
- case "large":
51
- return "large";
52
- default:
53
- return "base";
54
- }
55
- }
56
-
57
- exports.Button = Button;
@@ -1,93 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var classnames = require('classnames');
5
- var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
6
- var Heading = require('./Heading-0f4ecb0c.js');
7
- var Button = require('./Button-163a0641.js');
8
- var Menu = require('./Menu-d7ea093c.js');
9
-
10
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
11
-
12
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
14
-
15
- var css_248z$1 = ":root {\n --card--accent-color: var(--color-grey);\n --card--base-padding: var(--space-base);\n}\n\n._2wxPdv7kELk- {\n --card--border-color: var(--color-border);\n display: block;\n width: 100%;\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--card--border-color);\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n outline-color: rgb(147, 161, 169);\n outline-color: var(--color-focus);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n/* Adjust `Content` components public padding to match the cards */\n\n._2wxPdv7kELk- > * {\n --public-content--padding: var(--card--base-padding);\n}\n\n/* Remove the nested `Content` components public padding */\n\n._2wxPdv7kELk- > * > * {\n --public-content--padding: 0;\n}\n\n._2wxPdv7kELk-:active {\n outline: 0;\n}\n\n._5LfUFF9DYsk- {\n border-top-width: 0;\n}\n\n._5LfUFF9DYsk-::before {\n content: \" \";\n display: block;\n margin: 0 calc(-1 * (16px / 16));\n margin: 0 calc(-1 * calc(16px / 16));\n margin: 0 calc(-1 * var(--border-base));\n border-top: 0.5rem solid rgb(181, 181, 181);\n border-top: 0.5rem solid var(--card--accent-color);\n border-radius: calc(16px / 8) calc(16px / 8) 0 0;\n border-radius: var(--radius-base) var(--radius-base) 0 0;\n}\n\n.tRfpysqqk8s- {\n --card--border-color: transparent;\n box-shadow: 0px calc(16px / 16) calc(16px / 4) 0px\n rgba(0, 0, 0, 0.1),\n 0px calc(16px / 4) 12px 0px rgba(0, 0, 0, 0.05);\n box-shadow: var(--shadow-base);\n color: inherit;\n text-decoration: inherit;\n cursor: pointer;\n transition: all 100ms linear;\n transition: all var(--timing-quick) linear;\n}\n\n.tRfpysqqk8s-:hover,\n.tRfpysqqk8s-:focus {\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n}\n\n.fAPeD1InvAI- {\n display: -ms-flexbox;\n display: flex;\n padding: calc(16px * 1);\n padding: var(--card--base-padding);\n background-color: rgb(238, 240, 242);\n background-color: var(--color-surface--background);\n -ms-flex-pack: justify;\n justify-content: space-between;\n -ms-flex-align: start;\n align-items: flex-start;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n";
16
- var styles = {"card":"_2wxPdv7kELk-","accent":"_5LfUFF9DYsk-","clickable":"tRfpysqqk8s-","header":"fAPeD1InvAI-"};
17
- styleInject_es.styleInject(css_248z$1);
18
-
19
- var css_248z = ".vvT4WQQNm1A- {\n --card--accent-color: var(--color-request);\n}\n\n.ewWSA-AqPBs- {\n --card--accent-color: var(--color-quote);\n}\n\n.ZuQFWmcM-38- {\n --card--accent-color: var(--color-job);\n}\n\n.b9aB-DbfSI8- {\n --card--accent-color: var(--color-invoice);\n}\n\n._6tFyd9Op3QY- {\n --card--accent-color: var(--color-blue);\n}\n\n.uFlsik1sMf8- {\n --card--accent-color: var(--color-blue--light);\n}\n\n._2dO0zCHWU48- {\n --card--accent-color: var(--color-blue--lighter);\n}\n\n.RR-XaNyu23U- {\n --card--accent-color: var(--color-blue--lightest);\n}\n\n.HLricrV5TRM- {\n --card--accent-color: var(--color-blue--dark);\n}\n\n.fvMAXzbYjVo- {\n --card--accent-color: var(--color-green);\n}\n\n.vppB-fszJ7M- {\n --card--accent-color: var(--color-green--light);\n}\n\n.EH4yrRyVrog- {\n --card--accent-color: var(--color-green--lighter);\n}\n\n.jfuIATPvpzw- {\n --card--accent-color: var(--color-green--lightest);\n}\n\n.mDgzdSzCmlw- {\n --card--accent-color: var(--color-green--dark);\n}\n\n.OWeyNXobrek- {\n --card--accent-color: var(--color-lime);\n}\n\n.gBd-jW7hc2A- {\n --card--accent-color: var(--color-lime--light);\n}\n\n.PZ3p2kISQl8- {\n --card--accent-color: var(--color-lime--lighter);\n}\n\n.wk56Avrf5u8- {\n --card--accent-color: var(--color-lime--lightest);\n}\n\n.BpxVs0ESZZQ- {\n --card--accent-color: var(--color-lime--lightest);\n}\n\n.W1Plus-w90s- {\n --card--accent-color: var(--color-yellowGreen);\n}\n\n.MBvezPZf2r0- {\n --card--accent-color: var(--color-yellowGreen--light);\n}\n\n.HpMA-8L7gEQ- {\n --card--accent-color: var(--color-yellowGreen--lighter);\n}\n\n.Z7K3xhC6jU8- {\n --card--accent-color: var(--color-yellowGreen--lightest);\n}\n\n.qYud5BgZVDQ- {\n --card--accent-color: var(--color-yellowGreen--dark);\n}\n\n.UmKFuhj-odE- {\n --card--accent-color: var(--color-yellow);\n}\n\n.urbYXsHvb-o- {\n --card--accent-color: var(--color-yellow--light);\n}\n\n.J5f4ygfEe1M- {\n --card--accent-color: var(--color-yellow--lighter);\n}\n\n.f0YOqNTXr2c- {\n --card--accent-color: var(--color-yellow--lightest);\n}\n\n.zYMhMXskG-o- {\n --card--accent-color: var(--color-yellow--dark);\n}\n\n.xMW5G3bcZ-U- {\n --card--accent-color: var(--color-red);\n}\n\n.-O8T8zi0AkQ- {\n --card--accent-color: var(--color-red--light);\n}\n\n.WNaOw-wPD40- {\n --card--accent-color: var(--color-red--light);\n}\n\n._3jne5angZmM- {\n --card--accent-color: var(--color-red--lightest);\n}\n\n.Ce3FxZAnXks- {\n --card--accent-color: var(--color-red--dark);\n}\n\n.Ubx9QHfbYVg- {\n --card--accent-color: var(--color-grey);\n}\n\n._9orHaOxo3ew- {\n --card--accent-color: var(--color-grey--light);\n}\n\n.gvgk4-Qr7G8- {\n --card--accent-color: var(--color-grey--lighter);\n}\n\n._6dk6hwjKwz8- {\n --card--accent-color: var(--color-grey--lightest);\n}\n\n.LFsxlyhhXWE- {\n --card--accent-color: var(--color-grey--dark);\n}\n\n.MNze-s50Qx0- {\n --card--accent-color: var(--color-greyBlue);\n}\n\n._1O6fbjtLDXE- {\n --card--accent-color: var(--color-greyBlue--light);\n}\n\n._3coHcfDM3VA- {\n --card--accent-color: var(--color-greyBlue--lighter);\n}\n\n._1GwEUK3RMmk- {\n --card--accent-color: var(--color-greyBlue--lightest);\n}\n\n._03qQDU55XhA- {\n --card--accent-color: var(--color-greyBlue--dark);\n}\n\n.XrONNgApzcY- {\n --card--accent-color: var(--color-lightBlue);\n}\n\n.axCpC15OAsQ- {\n --card--accent-color: var(--color-lightBlue--light);\n}\n\n.l7-ZKiT7ECs- {\n --card--accent-color: var(--color-lightBlue--lighter);\n}\n\n.R-d7ifPGd-U- {\n --card--accent-color: var(--color-lightBlue--lightest);\n}\n\n.tjGcvlfZNo0- {\n --card--accent-color: var(--color-lightBlue--dark);\n}\n\n._6yFi1QGzU-0- {\n --card--accent-color: var(--color-purple);\n}\n\n.s5B034ADstg- {\n --card--accent-color: var(--color-purple--light);\n}\n\n.XvHFMKO2QkA- {\n --card--accent-color: var(--color-purple--lighter);\n}\n\n.z1yqV2h-X0o- {\n --card--accent-color: var(--color-purple--lightest);\n}\n\n.ShqfQED9t1k- {\n --card--accent-color: var(--color-purple--dark);\n}\n\n.TSAuQcS9guw- {\n --card--accent-color: var(--color-pink);\n}\n\n.GwUX04DtVTg- {\n --card--accent-color: var(--color-pink--light);\n}\n\n.OOxzzrT-Kyg- {\n --card--accent-color: var(--color-pink--lighter);\n}\n\n._9iIg4vnXMPQ- {\n --card--accent-color: var(--color-pink--lightest);\n}\n\n._3VTCutRlbfQ- {\n --card--accent-color: var(--color-pink--dark);\n}\n\n.fG-k53wCdy8- {\n --card--accent-color: var(--color-teal);\n}\n\n.GMNha2EEVYg- {\n --card--accent-color: var(--color-teal--light);\n}\n\n._8mCqw-pGqc8- {\n --card--accent-color: var(--color-teal--lighter);\n}\n\n.XHd3g6apCv8- {\n --card--accent-color: var(--color-teal--lightest);\n}\n\n.XadpYA5oNNU- {\n --card--accent-color: var(--color-teal--dark);\n}\n\n.yOjNuw4uX2M- {\n --card--accent-color: var(--color-orange);\n}\n\n.CFBZb6YwS8U- {\n --card--accent-color: var(--color-orange--light);\n}\n\n.dj0X5xsNtZA- {\n --card--accent-color: var(--color-orange--lighter);\n}\n\n.bSU2KCid1GE- {\n --card--accent-color: var(--color-orange--lightest);\n}\n\n.dPKWRPFuIko- {\n --card--accent-color: var(--color-orange--dark);\n}\n\n.i90uzcHXLBQ- {\n --card--accent-color: var(--color-brown);\n}\n\n.Q1g5O8oxNQ8- {\n --card--accent-color: var(--color-brown--light);\n}\n\n.UimWc99bIs0- {\n --card--accent-color: var(--color-brown--lighter);\n}\n\n.AUWBtBoPSB4- {\n --card--accent-color: var(--color-brown--lightest);\n}\n\n._7xEA4hCoooA- {\n --card--accent-color: var(--color-brown--dark);\n}\n\n.IqAniikSo1A- {\n --card--accent-color: var(--color-navy);\n}\n\n.NTbn2du5U28- {\n --card--accent-color: var(--color-navy--light);\n}\n\n.RbY7pJetOU0- {\n --card--accent-color: var(--color-navy--lighter);\n}\n\n.TAlHuH8GUaY- {\n --card--accent-color: var(--color-navy--lightest);\n}\n\n.Pm1CuBHrg0Q- {\n --card--accent-color: var(--color-navy--dark);\n}\n\n._-4HRcMjMcTg- {\n --card--accent-color: var(--color-indigo);\n}\n\n.frP-WGi4cig- {\n --card--accent-color: var(--color-indigo--light);\n}\n\n.GzJbf-nczMU- {\n --card--accent-color: var(--color-indigo--lighter);\n}\n\n.LFsNJs2wsGY- {\n --card--accent-color: var(--color-indigo--lightest);\n}\n\n.KRBIaqOA1G4- {\n --card--accent-color: var(--color-indigo--dark);\n}\n\n.OXOOKDn6V-M- {\n --card--accent-color: var(--color-white);\n}\n";
20
- var colors = {"requestColor":"vvT4WQQNm1A-","quoteColor":"ewWSA-AqPBs-","jobColor":"ZuQFWmcM-38-","invoiceColor":"b9aB-DbfSI8-","blue":"_6tFyd9Op3QY-","blueLight":"uFlsik1sMf8-","blueLighter":"_2dO0zCHWU48-","blueLightest":"RR-XaNyu23U-","blueDark":"HLricrV5TRM-","green":"fvMAXzbYjVo-","greenLight":"vppB-fszJ7M-","greenLighter":"EH4yrRyVrog-","greenLightest":"jfuIATPvpzw-","greenDark":"mDgzdSzCmlw-","lime":"OWeyNXobrek-","limeLight":"gBd-jW7hc2A-","limeLighter":"PZ3p2kISQl8-","limeLightest":"wk56Avrf5u8-","limeDark":"BpxVs0ESZZQ-","yellowGreen":"W1Plus-w90s-","yellowGreenLight":"MBvezPZf2r0-","yellowGreenLighter":"HpMA-8L7gEQ-","yellowGreenLightest":"Z7K3xhC6jU8-","yellowGreenDark":"qYud5BgZVDQ-","yellow":"UmKFuhj-odE-","yellowLight":"urbYXsHvb-o-","yellowLighter":"J5f4ygfEe1M-","yellowLightest":"f0YOqNTXr2c-","yellowDark":"zYMhMXskG-o-","red":"xMW5G3bcZ-U-","redLight":"-O8T8zi0AkQ-","redLighter":"WNaOw-wPD40-","redLightest":"_3jne5angZmM-","redDark":"Ce3FxZAnXks-","grey":"Ubx9QHfbYVg-","greyLight":"_9orHaOxo3ew-","greyLighter":"gvgk4-Qr7G8-","greyLightest":"_6dk6hwjKwz8-","greyDark":"LFsxlyhhXWE-","greyBlue":"MNze-s50Qx0-","greyBlueLight":"_1O6fbjtLDXE-","greyBlueLighter":"_3coHcfDM3VA-","greyBlueLightest":"_1GwEUK3RMmk-","greyBlueDark":"_03qQDU55XhA-","lightBlue":"XrONNgApzcY-","lightBlueLight":"axCpC15OAsQ-","lightBlueLighter":"l7-ZKiT7ECs-","lightBlueLightest":"R-d7ifPGd-U-","lightBlueDark":"tjGcvlfZNo0-","purple":"_6yFi1QGzU-0-","purpleLight":"s5B034ADstg-","purpleLighter":"XvHFMKO2QkA-","purpleLightest":"z1yqV2h-X0o-","purpleDark":"ShqfQED9t1k-","pink":"TSAuQcS9guw-","pinkLight":"GwUX04DtVTg-","pinkLighter":"OOxzzrT-Kyg-","pinkLightest":"_9iIg4vnXMPQ-","pinkDark":"_3VTCutRlbfQ-","teal":"fG-k53wCdy8-","tealLight":"GMNha2EEVYg-","tealLighter":"_8mCqw-pGqc8-","tealLightest":"XHd3g6apCv8-","tealDark":"XadpYA5oNNU-","orange":"yOjNuw4uX2M-","orangeLight":"CFBZb6YwS8U-","orangeLighter":"dj0X5xsNtZA-","orangeLightest":"bSU2KCid1GE-","orangeDark":"dPKWRPFuIko-","brown":"i90uzcHXLBQ-","brownLight":"Q1g5O8oxNQ8-","brownLighter":"UimWc99bIs0-","brownLightest":"AUWBtBoPSB4-","brownDark":"_7xEA4hCoooA-","navy":"IqAniikSo1A-","navyLight":"NTbn2du5U28-","navyLighter":"RbY7pJetOU0-","navyLightest":"TAlHuH8GUaY-","navyDark":"Pm1CuBHrg0Q-","indigo":"_-4HRcMjMcTg-","indigoLight":"frP-WGi4cig-","indigoLighter":"GzJbf-nczMU-","indigoLightest":"LFsNJs2wsGY-","indigoDark":"KRBIaqOA1G4-","white":"OXOOKDn6V-M-"};
21
- styleInject_es.styleInject(css_248z);
22
-
23
- const ENTER_KEY = "Enter";
24
- const SPACEBAR_KEY = " ";
25
- /**
26
- * This is only intended to be used in the Card component.
27
- * Please use `<Card onClick={onClick} />` component instead.
28
- */
29
- function CardClickable({ className, onClick, children, }) {
30
- const cardRef = React.useRef();
31
- return (React__default["default"].createElement("div", { ref: cardRef, "data-testid": "clickable-card", className: className, onClick: onClick, onKeyUp: handleKeyup, onKeyDown: handleKeyDown, role: "button", tabIndex: 0 }, children));
32
- function isCardFocused() {
33
- return document.activeElement === cardRef.current;
34
- }
35
- function handleKeyup(event) {
36
- var _a;
37
- const shouldClick = event.key === ENTER_KEY || event.key === SPACEBAR_KEY;
38
- if (shouldClick && isCardFocused()) {
39
- (_a = cardRef.current) === null || _a === void 0 ? void 0 : _a.click();
40
- }
41
- }
42
- function handleKeyDown(event) {
43
- // Prevent page scroll when hitting spacebar while focused on a card
44
- if (event.key === SPACEBAR_KEY && isCardFocused()) {
45
- event.preventDefault();
46
- }
47
- }
48
- }
49
-
50
- /**
51
- * Intended to be used in the Card component.
52
- * Use `<Card header={header} />` component instead.
53
- */
54
- function CardHeader({ title, header, }) {
55
- const heading = title || header;
56
- if (React__default["default"].isValidElement(heading))
57
- return React__default["default"].createElement(React__default["default"].Fragment, null, heading);
58
- if (heading) {
59
- const titleString = typeof heading === "string" ? heading : heading.title;
60
- return (React__default["default"].createElement("div", { className: styles.header },
61
- titleString && React__default["default"].createElement(Heading.Heading, { level: 3 }, titleString),
62
- typeof heading === "object" && renderHeaderAction(heading === null || heading === void 0 ? void 0 : heading.action)));
63
- }
64
- return React__default["default"].createElement(React__default["default"].Fragment, null);
65
- }
66
- function renderHeaderAction(action) {
67
- if ((action === null || action === void 0 ? void 0 : action.type) === Button.Button) {
68
- const props = Object.assign(Object.assign({ type: "tertiary" }, action.props), { size: "small" });
69
- return action && React__default["default"].createElement(Button.Button, Object.assign({}, props));
70
- }
71
- if ((action === null || action === void 0 ? void 0 : action.type) === Menu.Menu) {
72
- return action && React__default["default"].createElement(Menu.Menu, Object.assign({}, action.props));
73
- }
74
- return React__default["default"].createElement(React__default["default"].Fragment, null);
75
- }
76
-
77
- function Card({ accent, header, children, onClick, title, url, external = false, }) {
78
- const className = classnames__default["default"](styles.card, accent && styles.accent, (url || onClick) && styles.clickable, accent && colors[accent]);
79
- const cardContent = (React__default["default"].createElement(React__default["default"].Fragment, null,
80
- React__default["default"].createElement(CardHeader, { title: title, header: header }),
81
- children));
82
- if (onClick) {
83
- return (React__default["default"].createElement(CardClickable, { className: className, onClick: onClick }, cardContent));
84
- }
85
- else if (url) {
86
- return (React__default["default"].createElement("a", Object.assign({ className: className, href: url }, (external && { target: "_blank", rel: "noopener noreferrer" })), cardContent));
87
- }
88
- else {
89
- return React__default["default"].createElement("div", { className: className }, cardContent);
90
- }
91
- }
92
-
93
- exports.Card = Card;
@@ -1,89 +0,0 @@
1
- 'use strict';
2
-
3
- var React = require('react');
4
- var classnames = require('classnames');
5
- var useInView = require('@jobber/hooks/useInView');
6
- var styleInject_es = require('./style-inject.es-9d2f5f4e.js');
7
- var Avatar = require('./Avatar-76a799fa.js');
8
- var Icon = require('./Icon-405a216c.js');
9
- var Typography = require('./Typography-973b122e.js');
10
- var Tooltip = require('./Tooltip-6b12f1c2.js');
11
-
12
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
-
14
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
15
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
16
-
17
- var css_248z = ":root {\n --chip--gradient-color-variation: var(--chip-base-bg);\n --chip--gradient-color-variation--hover: var(--chip-base--hover);\n}\n\n.af7U8MvcbHE- {\n --chip-height: 40px;\n --chip-radius: 20px;\n --chip-base-bg: var(--color-surface--background);\n --chip-base--hover: var(--color-surface--background--hover);\n display: -ms-flexbox;\n display: flex;\n position: relative;\n height: 40px;\n height: var(--chip-height);\n min-width: 0;\n padding: calc(16px / 2) 16px;\n padding: var(--space-small) var(--base-unit);\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n border-radius: 20px;\n border-radius: var(--chip-radius);\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n text-align: left;\n cursor: pointer;\n transition: all 200ms;\n transition: all var(--timing-base);\n -ms-flex-align: center;\n align-items: center;\n}\n\n.af7U8MvcbHE-:focus,\n.af7U8MvcbHE-:focus-visible {\n outline: none;\n}\n\n.af7U8MvcbHE-:focus-visible {\n box-shadow: 0px 0px 0px calc(16px / 8) rgba(255, 255, 255, 1),\n 0px 0px 0px calc(16px / 4) rgb(147, 161, 169);\n box-shadow: var(--shadow-focus);\n}\n\n.af7U8MvcbHE- .e905AYK4SCc- {\n margin-left: calc(-1 * (16px / 2));\n margin-left: calc(-1 * calc(16px / 2));\n margin-left: calc(-1 * var(--space-small));\n margin-right: calc(16px / 2);\n margin-right: var(--space-small);\n}\n\n.af7U8MvcbHE- .ySADfZ0FckM- {\n margin-left: calc(16px / 2);\n margin-left: var(--space-small);\n margin-right: calc(-1 * (16px / 2));\n margin-right: calc(-1 * calc(16px / 2));\n margin-right: calc(-1 * var(--space-small));\n}\n\n.af7U8MvcbHE- .e905AYK4SCc-,\n.af7U8MvcbHE- .ySADfZ0FckM- {\n display: -ms-flexbox;\n display: flex;\n width: calc(16px * 1.5);\n width: var(--space-large);\n height: calc(16px * 1.5);\n height: var(--space-large);\n -ms-flex-negative: 0;\n flex-shrink: 0;\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n -ms-flex-align: center;\n align-items: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n\n.af7U8MvcbHE- .e905AYK4SCc-.usdkmQ9Sxbk-,\n.af7U8MvcbHE- .ySADfZ0FckM-.usdkmQ9Sxbk- {\n display: none;\n}\n\n.af7U8MvcbHE- .dg1-Izy1eQA- {\n width: calc(16px / 16);\n width: var(--space-minuscule);\n height: 16px;\n height: var(--base-unit);\n margin: 0 calc(16px / 2);\n margin: 0 var(--space-small);\n background-color: rgb(77, 105, 116);\n background-color: var(--color-text--secondary);\n}\n\n.af7U8MvcbHE- .-lz0EYLTDgg- {\n border-radius: 100%;\n border-radius: var(--radius-circle);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.wSI5L-5rODg- {\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n color: rgb(1, 41, 57);\n color: var(--color-heading);\n background-color: var(--chip-base-bg);\n --chip--gradient-color-variation: var(--chip-base-bg);\n}\n\n.wSI5L-5rODg-:hover,\n.wSI5L-5rODg-:focus-visible {\n background-color: var(--chip-base--hover);\n --chip--gradient-color-variation--hover: var(--chip-base--hover);\n}\n\n.SmUxkzpIC84-,\n.SmUxkzpIC84-:hover,\n.SmUxkzpIC84-:focus-visible,\n.Mux23dmZSuw-.SmUxkzpIC84-,\n.Mux23dmZSuw-.SmUxkzpIC84-:hover,\n.Mux23dmZSuw-.SmUxkzpIC84-:focus-visible {\n border: calc(16px / 16) solid rgb(201, 66, 33);\n border: var(--border-base) solid var(--color-critical);\n background-color: rgb(255, 226, 219);\n background-color: var(--color-critical--surface);\n --chip--gradient-color-variation: var(--color-critical--surface);\n --chip--gradient-color-variation--hover: var(--color-critical--surface);\n}\n\n.SmUxkzpIC84-:hover,\n.SmUxkzpIC84-:focus-visible,\n.Mux23dmZSuw-.SmUxkzpIC84-:hover,\n.Mux23dmZSuw-.SmUxkzpIC84-:focus-visible {\n background-color: rgb(193, 201, 206);\n background-color: var(--color-surface--background--hover);\n --chip--gradient-color-variation: var(--color-surface--background--hover);\n --chip--gradient-color-variation--hover: var(\n --color-surface--background--hover\n );\n}\n\n.Mux23dmZSuw- {\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--color-border);\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n --chip--gradient-color-variation: var(--color-surface);\n}\n\n/* CAUTION: Order is important here since\n* there is are different styles for subtle:focus and subtle:hover\n* and we want hover to take priority\n*/\n\n.Mux23dmZSuw-:focus-visible {\n --chip--gradient-color-variation--hover: var(--color-surface);\n}\n\n.Mux23dmZSuw-:hover {\n border: calc(16px / 16) solid var(--chip-base-bg);\n border: var(--border-base) solid var(--chip-base-bg);\n background-color: var(--chip-base-bg);\n --chip--gradient-color-variation--hover: var(--chip-base-bg);\n}\n\n.SmUxkzpIC84-.MbRItb9vKhc-,\n.SmUxkzpIC84-.MbRItb9vKhc-:hover,\n.SmUxkzpIC84-.MbRItb9vKhc-:focus-visible {\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n cursor: auto;\n}\n\n.MbRItb9vKhc-,\n.MbRItb9vKhc-:hover,\n.MbRItb9vKhc-:focus-visible {\n border: calc(16px / 16) solid rgb(225, 225, 225);\n border: var(--border-base) solid var(--color-disabled--secondary);\n color: rgb(181, 181, 181);\n color: var(--color-disabled);\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n cursor: auto;\n --chip--gradient-color-variation: var(--color-disabled--secondary);\n --chip--gradient-color-variation--hover: var(--color-disabled--secondary);\n}\n\n.MbRItb9vKhc- .dg1-Izy1eQA- {\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.af7U8MvcbHE-.MbRItb9vKhc- .ySADfZ0FckM- {\n background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n}\n\n.af7U8MvcbHE-.MbRItb9vKhc- .ySADfZ0FckM- path {\n fill: rgb(181, 181, 181);\n fill: var(--color-disabled);\n}\n\n.tJhURjR2Vec- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n overflow: hidden;\n -ms-flex-wrap: nowrap;\n flex-wrap: nowrap;\n}\n\n.tJhURjR2Vec- > * {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n\n.tJhURjR2Vec- > p {\n overflow: hidden;\n white-space: nowrap;\n}\n\n.G3QXY0rNcK0- {\n position: absolute;\n top: 0;\n right: 0;\n width: calc(16px * 1);\n width: var(--space-base);\n height: 100%;\n background: linear-gradient(\n to left,\n var(--chip-base-bg) 5%,\n rgba(255, 255, 255, 0)\n );\n background: linear-gradient(\n to left,\n var(--chip--gradient-color-variation) 5%,\n rgba(255, 255, 255, 0)\n );\n}\n\n.af7U8MvcbHE-:focus-visible .G3QXY0rNcK0-,\n.af7U8MvcbHE-:hover .G3QXY0rNcK0- {\n background: linear-gradient(\n to left,\n var(--chip-base--hover) 5%,\n rgba(255, 255, 255, 0)\n );\n background: linear-gradient(\n to left,\n var(--chip--gradient-color-variation--hover) 5%,\n rgba(255, 255, 255, 0)\n );\n}\n\n.MUKEW6c2nNA- {\n display: inline-block;\n width: 1px;\n}\n";
18
- var styles = {"chip":"af7U8MvcbHE-","prefix":"e905AYK4SCc-","suffix":"ySADfZ0FckM-","empty":"usdkmQ9Sxbk-","chipBar":"dg1-Izy1eQA-","selected":"-lz0EYLTDgg-","base":"wSI5L-5rODg-","invalid":"SmUxkzpIC84-","subtle":"Mux23dmZSuw-","disabled":"MbRItb9vKhc-","chipContent":"tJhURjR2Vec-","truncateGradient":"G3QXY0rNcK0-","chipLabelRef":"MUKEW6c2nNA-"};
19
- styleInject_es.styleInject(css_248z);
20
-
21
- /**
22
- * Returns the first React Child that receives `true` from isCorrectComponent
23
- * @param children React Children
24
- * @param isCorrectComponent a function that accepts a JSX Element and returns a boolean.
25
- * @returns The first child component that returns true on isCorrectComponent
26
- */
27
- function useChildComponent(children, isCorrectComponent) {
28
- return React.useMemo(() => {
29
- return React__default["default"].Children.toArray(children).find(d => React.isValidElement(d) && isCorrectComponent(d));
30
- }, [children]);
31
- }
32
-
33
- function ChipPrefix({ children }) {
34
- const singleChild = useChildComponent(children, d => d.type === Avatar.Avatar || d.type === Icon.Icon);
35
- return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.prefix, !singleChild && styles.empty) }, singleChild));
36
- }
37
-
38
- function ChipSuffix({ children, className }) {
39
- var _a;
40
- let singleChild = useChildComponent(children, d => d.type === Icon.Icon);
41
- if (!allowedSuffixIcons.includes((_a = singleChild === null || singleChild === void 0 ? void 0 : singleChild.props) === null || _a === void 0 ? void 0 : _a.name)) {
42
- singleChild = undefined;
43
- }
44
- return (React__default["default"].createElement("span", { className: classnames__default["default"](styles.suffix, className, !singleChild && styles.empty) }, singleChild));
45
- }
46
- const allowedSuffixIcons = ["cross", "add", "checkmark", "arrowDown"];
47
-
48
- const Chip = ({ ariaLabel, disabled, heading, invalid, label, value, onClick, onKeyDown, children, role = "button", tabIndex = 0, variation = "base", }) => {
49
- const classes = classnames__default["default"](styles.chip, {
50
- [styles.invalid]: invalid,
51
- [styles.base]: variation === "base",
52
- [styles.subtle]: variation === "subtle",
53
- [styles.disabled]: disabled,
54
- });
55
- const prefix = useChildComponent(children, d => d.type === Chip.Prefix);
56
- const suffix = useChildComponent(children, d => d.type === Chip.Suffix);
57
- const [labelRef, labelFullyVisible] = useInView.useInView();
58
- const [headingRef, headingFullyVisible] = useInView.useInView();
59
- const tooltipMessage = getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading);
60
- return (React__default["default"].createElement(Tooltip.Tooltip, { message: tooltipMessage },
61
- React__default["default"].createElement("button", { className: classes, onClick: (ev) => onClick && onClick(value, ev), tabIndex: tabIndex, onKeyDown: onKeyDown, "aria-label": ariaLabel || label, disabled: disabled, role: role, type: "button" },
62
- prefix,
63
- React__default["default"].createElement("div", { className: styles.chipContent },
64
- heading && (React__default["default"].createElement(React__default["default"].Fragment, null,
65
- React__default["default"].createElement(Typography.Typography, { size: "base", fontWeight: "medium" },
66
- heading,
67
- React__default["default"].createElement("span", { ref: headingRef, className: styles.chipLabelRef })),
68
- label && React__default["default"].createElement("span", { className: styles.chipBar }))),
69
- React__default["default"].createElement(Typography.Typography, { size: "base" },
70
- label,
71
- React__default["default"].createElement("span", { ref: labelRef, className: styles.chipLabelRef })),
72
- !labelFullyVisible && (React__default["default"].createElement("div", { className: styles.truncateGradient, "data-testid": "ATL-Chip-Truncation-Gradient" }))),
73
- suffix)));
74
- };
75
- function getTooltipMessage(labelFullyVisible, headingFullyVisible, label, heading) {
76
- let message = "";
77
- if (heading && !headingFullyVisible) {
78
- message = `${heading} | ${label}`;
79
- }
80
- else if (!labelFullyVisible) {
81
- message = label;
82
- }
83
- return message;
84
- }
85
- Chip.Prefix = ChipPrefix;
86
- Chip.Suffix = ChipSuffix;
87
-
88
- exports.Chip = Chip;
89
- exports.styles = styles;
@@ -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-973b122e.js');
9
- var Button = require('./Button-163a0641.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;
Binary file