@jobber/components 4.67.1 → 4.67.2-retheme-co.5

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