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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/dist/AnimatedPresence/AnimatedPresence.d.ts +1 -1
  2. package/dist/AnimatedSwitcher/AnimatedSwitcher.d.ts +1 -1
  3. package/dist/Autocomplete/Autocomplete.d.ts +1 -1
  4. package/dist/Avatar/Avatar.d.ts +1 -1
  5. package/dist/Banner/Banner.d.ts +1 -1
  6. package/dist/Button/Button.d.ts +1 -1
  7. package/dist/ButtonDismiss/ButtonDismiss.d.ts +2 -2
  8. package/dist/Card/Card.d.ts +1 -1
  9. package/dist/Checkbox/Checkbox.d.ts +1 -1
  10. package/dist/Chip/Chip.d.ts +1 -0
  11. package/dist/Chips/Chips.d.ts +1 -0
  12. package/dist/Combobox/Combobox.d.ts +1 -0
  13. package/dist/Combobox/hooks/useMakeComboboxHandlers.d.ts +1 -1
  14. package/dist/ConfirmationModal/ConfirmationModal.d.ts +1 -1
  15. package/dist/Content/Content.d.ts +1 -1
  16. package/dist/Countdown/Countdown.d.ts +1 -1
  17. package/dist/DataDump/DataDump.d.ts +1 -1
  18. package/dist/DataList/DataList.const.d.ts +1 -0
  19. package/dist/DataList/DataList.d.ts +1 -0
  20. package/dist/DataTable/DataTable.d.ts +1 -0
  21. package/dist/DatePicker/DatePicker.d.ts +1 -1
  22. package/dist/DescriptionList/DescriptionList.d.ts +2 -2
  23. package/dist/Disclosure/Disclosure.d.ts +1 -1
  24. package/dist/Divider/Divider.d.ts +1 -1
  25. package/dist/Drawer/Drawer.d.ts +1 -1
  26. package/dist/Emphasis/Emphasis.d.ts +3 -3
  27. package/dist/FeatureSwitch/FeatureSwitch.d.ts +1 -1
  28. package/dist/Flex/Flex.d.ts +1 -1
  29. package/dist/Form/Form.d.ts +1 -0
  30. package/dist/FormField/FormField.d.ts +1 -0
  31. package/dist/FormatDate/FormatDate.d.ts +1 -1
  32. package/dist/FormatEmail/FormatEmail.d.ts +1 -1
  33. package/dist/FormatFile/FormatFile.d.ts +1 -1
  34. package/dist/FormatRelativeDateTime/FormatRelativeDateTime.d.ts +1 -1
  35. package/dist/FormatTime/FormatTime.d.ts +1 -1
  36. package/dist/Gallery/Gallery.d.ts +1 -0
  37. package/dist/Glimmer/Glimmer.d.ts +1 -1
  38. package/dist/Grid/Grid.d.ts +1 -1
  39. package/dist/Heading/Heading.d.ts +1 -1
  40. package/dist/Icon/Icon.d.ts +1 -0
  41. package/dist/InlineLabel/InlineLabel.d.ts +4 -4
  42. package/dist/InputAvatar/InputAvatar.d.ts +1 -1
  43. package/dist/InputDate/InputDate.d.ts +1 -1
  44. package/dist/InputEmail/InputEmail.d.ts +1 -1
  45. package/dist/InputFile/InputFile.d.ts +1 -1
  46. package/dist/InputGroup/InputGroup.d.ts +1 -1
  47. package/dist/InputNumber/InputNumber.d.ts +2 -1
  48. package/dist/InputPassword/InputPassword.d.ts +3 -3
  49. package/dist/InputPhoneNumber/InputPhoneNumber.d.ts +1 -1
  50. package/dist/InputText/InputText.d.ts +1 -0
  51. package/dist/InputTime/InputTime.d.ts +1 -0
  52. package/dist/InputValidation/InputValidation.d.ts +1 -1
  53. package/dist/LightBox/LightBox.d.ts +1 -1
  54. package/dist/Link/Link.d.ts +1 -0
  55. package/dist/List/List.d.ts +1 -1
  56. package/dist/Markdown/Markdown.d.ts +1 -1
  57. package/dist/Menu/Menu.d.ts +5 -4
  58. package/dist/Modal/Modal.d.ts +1 -0
  59. package/dist/MultiSelect/MultiSelect.d.ts +1 -1
  60. package/dist/Page/Page.d.ts +1 -1
  61. package/dist/Popover/Popover.d.ts +1 -0
  62. package/dist/ProgressBar/ProgressBar.d.ts +1 -1
  63. package/dist/RadioGroup/RadioGroup.d.ts +1 -1
  64. package/dist/RecurringSelect/RecurringSelect.d.ts +1 -1
  65. package/dist/RecurringSelect/components/DayOfMonthSelect.d.ts +2 -2
  66. package/dist/RecurringSelect/components/WeeklySelect.d.ts +2 -2
  67. package/dist/Select/Select.d.ts +1 -1
  68. package/dist/Spinner/Spinner.d.ts +1 -1
  69. package/dist/StatusLabel/StatusLabel.d.ts +1 -1
  70. package/dist/Switch/Switch.d.ts +1 -1
  71. package/dist/Table/Table.d.ts +2 -2
  72. package/dist/Tabs/Tabs.d.ts +1 -1
  73. package/dist/Text/Text.d.ts +2 -2
  74. package/dist/Toast/Toast.d.ts +1 -1
  75. package/dist/Tooltip/Tooltip.d.ts +1 -1
  76. package/dist/Typography/Typography.d.ts +2 -2
  77. package/dist/index.d.ts +72 -0
  78. package/dist/index.js +6479 -0
  79. package/package.json +6 -10
  80. package/rollup.config.js +15 -78
  81. package/dist/AnimatedPresence/index.js +0 -106
  82. package/dist/AnimatedSwitcher/index.js +0 -13
  83. package/dist/AnimatedSwitcher-3d45ec5d.js +0 -96
  84. package/dist/Autocomplete/index.js +0 -209
  85. package/dist/Avatar/index.js +0 -15
  86. package/dist/Avatar-76a799fa.js +0 -78
  87. package/dist/Banner/index.js +0 -110
  88. package/dist/Button/index.js +0 -16
  89. package/dist/Button-b73a5e01.js +0 -57
  90. package/dist/ButtonDismiss/index.js +0 -17
  91. package/dist/ButtonDismiss-350af163.js +0 -14
  92. package/dist/Card/colors.css.d.ts +0 -89
  93. package/dist/Card/index.js +0 -24
  94. package/dist/Card-426a68a8.js +0 -93
  95. package/dist/Checkbox/index.js +0 -19
  96. package/dist/Checkbox-99f6297f.js +0 -64
  97. package/dist/Chip/index.js +0 -40
  98. package/dist/Chip-c91fd6c8.js +0 -89
  99. package/dist/Chips/index.js +0 -524
  100. package/dist/Combobox/index.js +0 -37
  101. package/dist/Combobox-d4b84edf.js +0 -476
  102. package/dist/ConfirmationModal/index.js +0 -31
  103. package/dist/ConfirmationModal-f1a049fb.js +0 -100
  104. package/dist/Content/Spacing.css.d.ts +0 -13
  105. package/dist/Content/index.js +0 -12
  106. package/dist/Content-e3f7b6fc.js +0 -24
  107. package/dist/Countdown/index.js +0 -72
  108. package/dist/DataDump/index.js +0 -37
  109. package/dist/DataList/index.js +0 -1340
  110. package/dist/DataTable/index.js +0 -302
  111. package/dist/DatePicker/index.js +0 -20
  112. package/dist/DatePicker-64c5ab1a.js +0 -134
  113. package/dist/DescriptionList/index.js +0 -24
  114. package/dist/Disclosure/index.js +0 -46
  115. package/dist/Divider/index.js +0 -29
  116. package/dist/Drawer/index.js +0 -50
  117. package/dist/Emphasis/index.js +0 -13
  118. package/dist/Emphasis-bda56d3b.js +0 -19
  119. package/dist/FeatureSwitch/index.js +0 -70
  120. package/dist/Flex/index.js +0 -40
  121. package/dist/Form/index.js +0 -56
  122. package/dist/FormField/index.js +0 -25
  123. package/dist/FormField-b4e6c549.js +0 -254
  124. package/dist/FormatDate/index.js +0 -11
  125. package/dist/FormatDate-70ea5b43.js +0 -34
  126. package/dist/FormatEmail/index.js +0 -23
  127. package/dist/FormatFile/index.js +0 -36
  128. package/dist/FormatFile-652edda8.js +0 -162
  129. package/dist/FormatRelativeDateTime/index.js +0 -72
  130. package/dist/FormatTime/index.js +0 -36
  131. package/dist/Gallery/Gallery.css.d.ts +0 -9
  132. package/dist/Gallery/index.js +0 -99
  133. package/dist/Glimmer/index.js +0 -15
  134. package/dist/Glimmer/style/Shape.css.d.ts +0 -9
  135. package/dist/Glimmer/style/Sizes.css.d.ts +0 -10
  136. package/dist/Glimmer/style/Timing.css.d.ts +0 -6
  137. package/dist/Glimmer-7c317864.js +0 -77
  138. package/dist/Grid/GridAlign.css.d.ts +0 -8
  139. package/dist/Grid/index.js +0 -76
  140. package/dist/Heading/index.js +0 -14
  141. package/dist/Heading-1e8e4bd3.js +0 -55
  142. package/dist/Icon/index.js +0 -11
  143. package/dist/Icon-405a216c.js +0 -40
  144. package/dist/InlineLabel/index.js +0 -13
  145. package/dist/InlineLabel-a6557829.js +0 -28
  146. package/dist/InputAvatar/index.js +0 -71
  147. package/dist/InputDate/index.js +0 -58
  148. package/dist/InputEmail/index.js +0 -44
  149. package/dist/InputFile/index.js +0 -26
  150. package/dist/InputFile-c9eeb04b.js +0 -188
  151. package/dist/InputGroup/index.js +0 -12
  152. package/dist/InputGroup-8d4fd4eb.js +0 -33
  153. package/dist/InputNumber/index.js +0 -26
  154. package/dist/InputNumber-ceae3872.js +0 -62
  155. package/dist/InputPassword/index.js +0 -42
  156. package/dist/InputPhoneNumber/index.js +0 -117
  157. package/dist/InputText/index.js +0 -26
  158. package/dist/InputText-6e356985.js +0 -101
  159. package/dist/InputTime/index.js +0 -210
  160. package/dist/InputValidation/index.js +0 -17
  161. package/dist/InputValidation-05e839fa.js +0 -29
  162. package/dist/LightBox/index.js +0 -24
  163. package/dist/LightBox-a89d8863.js +0 -117
  164. package/dist/Link/index.js +0 -15
  165. package/dist/List/index.js +0 -93
  166. package/dist/Markdown/index.js +0 -19
  167. package/dist/Markdown-f7c55304.js +0 -62
  168. package/dist/Menu/index.js +0 -21
  169. package/dist/Menu-81b12936.js +0 -139
  170. package/dist/Modal/Sizes.css.d.ts +0 -6
  171. package/dist/Modal/index.js +0 -25
  172. package/dist/Modal-a0627c92.js +0 -71
  173. package/dist/MultiSelect/index.js +0 -183
  174. package/dist/Option-8565da71.js +0 -19
  175. package/dist/Page/index.js +0 -78
  176. package/dist/Popover/index.js +0 -61
  177. package/dist/ProgressBar/Sizes.css.d.ts +0 -7
  178. package/dist/ProgressBar/index.js +0 -12
  179. package/dist/ProgressBar-b68edc8f.js +0 -43
  180. package/dist/RadioGroup/index.js +0 -16
  181. package/dist/RadioGroup-ca7a5978.js +0 -47
  182. package/dist/RecurringSelect/index.js +0 -228
  183. package/dist/Select/index.js +0 -27
  184. package/dist/Spinner/index.js +0 -12
  185. package/dist/Spinner-9d8fc7ff.js +0 -24
  186. package/dist/StatusLabel/index.js +0 -30
  187. package/dist/Switch/index.js +0 -13
  188. package/dist/Switch-7d4aa7c3.js +0 -56
  189. package/dist/Table/index.js +0 -66
  190. package/dist/Tabs/index.js +0 -80
  191. package/dist/Text/index.js +0 -13
  192. package/dist/Text-259af966.js +0 -31
  193. package/dist/Toast/index.js +0 -111
  194. package/dist/Tooltip/index.js +0 -15
  195. package/dist/Tooltip-27771182.js +0 -111
  196. package/dist/Typography/css/Emphasis.css.d.ts +0 -6
  197. package/dist/Typography/css/FontFamilies.css.d.ts +0 -6
  198. package/dist/Typography/css/FontSizes.css.d.ts +0 -12
  199. package/dist/Typography/css/FontWeights.css.d.ts +0 -10
  200. package/dist/Typography/css/TextAlignment.css.d.ts +0 -7
  201. package/dist/Typography/css/TextCases.css.d.ts +0 -7
  202. package/dist/Typography/css/TextColors.css.d.ts +0 -22
  203. package/dist/Typography/css/Truncate.css.d.ts +0 -5
  204. package/dist/Typography/css/Typography.css.d.ts +0 -5
  205. package/dist/Typography/index.js +0 -12
  206. package/dist/Typography-c45bf216.js +0 -62
  207. package/dist/getAtlantisConfig-0f3e8af2.js +0 -13
  208. package/dist/style-inject.es-9d2f5f4e.js +0 -30
  209. package/dist/tslib.es6-754e2961.js +0 -46
@@ -1,524 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var React = require('react');
6
- var classnames = require('classnames');
7
- var styleInject_es = require('../style-inject.es-9d2f5f4e.js');
8
- var useAssert = require('@jobber/hooks/useAssert');
9
- var Icon = require('../Icon-405a216c.js');
10
- var Avatar = require('../Avatar-76a799fa.js');
11
- var Typography = require('../Typography-c45bf216.js');
12
- var Tooltip = require('../Tooltip-27771182.js');
13
- var uuid = require('uuid');
14
- var sortBy = require('lodash/sortBy');
15
- var useLiveAnnounce = require('@jobber/hooks/useLiveAnnounce');
16
- var debounce = require('lodash/debounce');
17
- var reactPopper = require('react-popper');
18
- var Text = require('../Text-259af966.js');
19
- var Button = require('../Button-b73a5e01.js');
20
- var Spinner = require('../Spinner-9d8fc7ff.js');
21
- require('@jobber/design');
22
- require('color');
23
- require('react-dom');
24
- require('framer-motion');
25
- require('react-router-dom');
26
-
27
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
28
-
29
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
30
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
31
- var sortBy__default = /*#__PURE__*/_interopDefaultLegacy(sortBy);
32
- var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
33
-
34
- var css_248z$1 = "/**\n * Used in the wrapping chips component:\n * - InternalChipSingleSelect\n * - InternalChipMultiSelect\n */\n\n.zn6onyiQVmA- {\n display: -ms-flexbox;\n display: flex;\n gap: calc(16px / 2);\n gap: var(--space-small);\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.PEnZzMEgbhU- {\n display: inline-grid;\n position: relative;\n max-width: 100%;\n box-sizing: border-box;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border: calc(16px / 16) solid rgb(217, 223, 225);\n border: var(--border-base) solid var(--color-border);\n border-radius: calc(16px / 2);\n border-radius: var(--radius-larger);\n color: rgb(77, 105, 116);\n color: var(--color-text--secondary);\n text-align: left;\n vertical-align: middle;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n transition: 200ms ease-in-out;\n transition: var(--timing-base) ease-in-out;\n transition-property: background-color, box-shadow, color;\n grid-template-columns: -webkit-max-content;\n grid-template-columns: max-content;\n -ms-flex-align: center;\n align-items: center;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.dtysUhwYdG4-,\n.xGaMCAYsdwA- {\n padding: calc((16px / 4) + (16px / 8)) calc(16px / 2);\n padding: calc(calc(16px / 4) + calc(16px / 8)) calc(16px / 2);\n padding: calc(var(--space-smaller) + var(--space-smallest)) var(--space-small);\n}\n\n.dtysUhwYdG4- {\n grid-template-columns: -webkit-min-content 1fr;\n grid-template-columns: min-content 1fr;\n}\n\n.xGaMCAYsdwA- {\n grid-template-columns: 1fr -webkit-min-content;\n grid-template-columns: 1fr min-content;\n}\n\n.dtysUhwYdG4-.xGaMCAYsdwA- {\n grid-template-columns: -webkit-min-content 1fr -webkit-min-content;\n grid-template-columns: min-content 1fr min-content;\n}\n\n.SNT7gGV-h-o-,\n.W4D98cvEth4- ~ .PEnZzMEgbhU- {\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 cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n}\n\n/**\n * Interaction\n */\n\n.PEnZzMEgbhU-:focus,\n.W4D98cvEth4-:focus ~ .PEnZzMEgbhU- {\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.SNT7gGV-h-o-:hover,\n.W4D98cvEth4- ~ .PEnZzMEgbhU-:not(._0hEzaTXK9M0-):hover,\n.W4D98cvEth4-:focus ~ .PEnZzMEgbhU-:not(._0hEzaTXK9M0-) {\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n}\n\n/**\n * States\n */\n\n.PEnZzMEgbhU-._0hEzaTXK9M0- {\n border-color: rgb(1, 41, 57);\n border-color: var(--color-surface--reverse);\n color: rgba(255, 255, 255, 1);\n color: var(--color-text--reverse);\n background-color: rgb(1, 41, 57);\n background-color: var(--color-surface--reverse);\n}\n\n.PEnZzMEgbhU-.JApS2787BU8- {\n border-color: rgb(128, 25, 0);\n border-color: var(--color-critical--onSurface);\n color: rgb(128, 25, 0);\n color: var(--color-critical--onSurface);\n background-color: rgb(255, 226, 219);\n background-color: var(--color-critical--surface);\n}\n\n.PEnZzMEgbhU-.Kg0c8WVgMpg- {\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 background-color: rgb(225, 225, 225);\n background-color: var(--color-disabled--secondary);\n}\n\n._0hEzaTXK9M0-.Kg0c8WVgMpg- {\n border-color: rgb(181, 181, 181);\n border-color: var(--color-disabled);\n color: rgba(255, 255, 255, 1);\n color: var(--color-white);\n background-color: rgb(181, 181, 181);\n background-color: var(--color-disabled);\n}\n\n.JApS2787BU8-.Kg0c8WVgMpg- {\n border-color: rgb(201, 66, 33);\n border-color: var(--color-critical);\n}\n\n/**\n * Input checkbox/radio\n *\n * Hide checkbox on UI but not screen readers and still allow focus state\n */\n\n.W4D98cvEth4- {\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/**\n * Button\n */\n\n._0-ZWexS4Gfg- {\n display: -ms-flexbox;\n display: flex;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n cursor: pointer;\n transition: background-color 200ms ease;\n}\n\n._0-ZWexS4Gfg-:hover,\n._0-ZWexS4Gfg-:focus {\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n}\n\n._0-ZWexS4Gfg-:focus,\n.SNT7gGV-h-o- ._0-ZWexS4Gfg-:hover {\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/**\n * Override icon default colors.\n *\n * NOTE: This is a workaround since some icons have default colors that we don't\n * want to override until the component color prop overrides it.\n * DO NOT COPY!\n */\n\n.DQPnZP4UZpw- > svg {\n fill: rgba(101, 120, 132, 1);\n fill: var(--color-interactive--subtle);\n}\n\n.DQPnZP4UZpw- {\n display: -ms-flexbox;\n display: flex;\n}\n";
35
- var styles$1 = {"wrapper":"zn6onyiQVmA-","chip":"PEnZzMEgbhU-","hasPrefix":"dtysUhwYdG4-","hasSuffix":"xGaMCAYsdwA-","clickable":"SNT7gGV-h-o-","input":"W4D98cvEth4-","active":"_0hEzaTXK9M0-","invalid":"JApS2787BU8-","disabled":"Kg0c8WVgMpg-","button":"_0-ZWexS4Gfg-","icon":"DQPnZP4UZpw-"};
36
- styleInject_es.styleInject(css_248z$1);
37
-
38
- function InternalChipButton({ icon, invalid, disabled, label, onClick, }) {
39
- const buttonRef = React.useRef();
40
- return (React__default["default"].createElement("div", { ref: buttonRef, className: styles$1.button, tabIndex: 0, onKeyUp: handleKeyUp, onKeyDown: handleKeyDown, onClick: handleClick, role: "button", "aria-label": `Remove ${label}`, "aria-hidden": true, "aria-disabled": disabled, "data-testid": "remove-chip-button" },
41
- React__default["default"].createElement(Icon.Icon, { name: icon, color: getColor() })));
42
- function handleKeyUp(event) {
43
- if (document.activeElement === buttonRef.current &&
44
- (event.key === " " || event.key === "Enter")) {
45
- event.stopPropagation();
46
- buttonRef.current.click();
47
- }
48
- }
49
- function handleKeyDown(event) {
50
- if (document.activeElement === buttonRef.current && event.key === " ") {
51
- // Don't scroll down
52
- event.preventDefault();
53
- }
54
- }
55
- function getColor() {
56
- if (disabled)
57
- return "disabled";
58
- if (invalid)
59
- return "critical";
60
- return "greyBlue";
61
- }
62
- function handleClick(event) {
63
- event.stopPropagation();
64
- onClick === null || onClick === void 0 ? void 0 : onClick(event);
65
- }
66
- }
67
-
68
- function InternalChipAffix({ affix, active, invalid, disabled, }) {
69
- assertProps();
70
- if ((affix === null || affix === void 0 ? void 0 : affix.type) === Avatar.Avatar) {
71
- return React__default["default"].createElement(Avatar.Avatar, Object.assign({}, affix.props, { size: "small" }));
72
- }
73
- if ((affix === null || affix === void 0 ? void 0 : affix.type) === Icon.Icon) {
74
- return renderChipIcon(affix);
75
- }
76
- if ((affix === null || affix === void 0 ? void 0 : affix.type) === InternalChipButton) {
77
- return React__default["default"].createElement(InternalChipButton, Object.assign({}, affix.props));
78
- }
79
- return React__default["default"].createElement(React__default["default"].Fragment, null);
80
- function renderChipIcon(icon) {
81
- const color = getIconColor();
82
- return (React__default["default"].createElement("div", { className: styles$1.icon }, React__default["default"].cloneElement(icon, Object.assign({ size: "base" }, (color && { color: color })))));
83
- }
84
- function getIconColor() {
85
- if (disabled && !active)
86
- return "disabled";
87
- if (invalid && !disabled)
88
- return "critical";
89
- if (active)
90
- return "white";
91
- return;
92
- }
93
- function assertProps() {
94
- const isAvatar = (affix === null || affix === void 0 ? void 0 : affix.type) === Avatar.Avatar || false;
95
- const isIcon = (affix === null || affix === void 0 ? void 0 : affix.type) === Icon.Icon || false;
96
- const isChipButton = (affix === null || affix === void 0 ? void 0 : affix.type) === InternalChipButton || false;
97
- useAssert.useAssert(!!affix && !(isAvatar || isIcon || isChipButton), `Prefix prop only accepts "<Avatar />" or "<Icon />" component. You have "${affix === null || affix === void 0 ? void 0 : affix.type}".`);
98
- }
99
- }
100
-
101
- function InternalChip({ label, active = false, disabled = false, invalid = false, prefix, suffix, tabIndex, ariaLabel, onClick, onKeyDown, }) {
102
- const [truncateRef, setTruncateRef] = React.useState();
103
- const isClickable = onClick && !disabled;
104
- const classNames = classnames__default["default"](styles$1.chip, {
105
- [styles$1.clickable]: isClickable,
106
- [styles$1.active]: active,
107
- [styles$1.disabled]: disabled,
108
- [styles$1.invalid]: invalid,
109
- [styles$1.hasPrefix]: prefix,
110
- [styles$1.hasSuffix]: suffix,
111
- });
112
- const affixProps = { active, invalid, disabled };
113
- const Tag = onClick ? "button" : "div";
114
- const chip = (React__default["default"].createElement(Tag, Object.assign({ className: classNames }, (isClickable && { onClick, disabled }), { onKeyDown: onKeyDown, "data-testid": "chip-wrapper", "aria-label": ariaLabel, tabIndex: tabIndex, role: tabIndex !== undefined ? "option" : undefined }),
115
- React__default["default"].createElement(InternalChipAffix, Object.assign({ affix: prefix }, affixProps)),
116
- React__default["default"].createElement(Typography.Typography, { element: "span", numberOfLines: 1, size: "base" },
117
- React__default["default"].createElement("span", { ref: setTruncateRef }, label)),
118
- React__default["default"].createElement(InternalChipAffix, Object.assign({ affix: suffix }, affixProps))));
119
- return isTruncated() ? React__default["default"].createElement(Tooltip.Tooltip, { message: label }, chip) : chip;
120
- function isTruncated() {
121
- var _a;
122
- const truncateParentHeight = ((_a = truncateRef === null || truncateRef === void 0 ? void 0 : truncateRef.parentElement) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;
123
- const truncateChildHeight = (truncateRef === null || truncateRef === void 0 ? void 0 : truncateRef.offsetHeight) || 0;
124
- return truncateChildHeight >= truncateParentHeight * 2;
125
- }
126
- }
127
-
128
- function ChipDismissible({ label, disabled, invalid, prefix, onClick, onRequestRemove, }) {
129
- return (React__default["default"].createElement(InternalChip, { label: label, disabled: disabled, invalid: invalid, prefix: prefix, onClick: onClick, suffix: React__default["default"].createElement(InternalChipButton, { icon: "remove", label: label, invalid: invalid, disabled: disabled, onClick: onRequestRemove }) }));
130
- }
131
-
132
- function InternalChipSingleSelect({ children, selected, name = uuid.v1(), onChange, onClick, }) {
133
- return (React__default["default"].createElement("div", { className: styles$1.wrapper, "data-testid": "singleselect-chips" }, React__default["default"].Children.map(children, child => {
134
- const isSelected = child.props.value === selected;
135
- return (React__default["default"].createElement("label", null,
136
- React__default["default"].createElement("input", { type: "radio", checked: isSelected, className: styles$1.input, name: name, onClick: handleClick(child.props.value), onKeyUp: handleKeyUp(isSelected, child.props.value), onChange: () => {
137
- /* No op. onClick handles the change to allow deselecting. */
138
- }, disabled: child.props.disabled }),
139
- React__default["default"].createElement(InternalChip, Object.assign({}, child.props, { active: isSelected }))));
140
- })));
141
- function handleKeyUp(active, value) {
142
- if (!active)
143
- return;
144
- return (event) => {
145
- if (event.key === " ") {
146
- // Wait for DOM changes before applying the new change.
147
- setTimeout(() => handleChange(value), 0);
148
- }
149
- };
150
- }
151
- function handleClick(value) {
152
- return (event) => {
153
- onClick === null || onClick === void 0 ? void 0 : onClick(event, value);
154
- handleChange(value);
155
- };
156
- }
157
- function handleChange(value) {
158
- const newValue = value !== selected ? value : undefined;
159
- onChange(newValue);
160
- }
161
- }
162
-
163
- function InternalChipMultiSelect({ children, selected, onChange, onClick, }) {
164
- return (React__default["default"].createElement("div", { className: styles$1.wrapper, "data-testid": "multiselect-chips" }, React__default["default"].Children.map(children, chip => {
165
- const isChipActive = isChipSelected(chip.props.value);
166
- return (React__default["default"].createElement("label", null,
167
- React__default["default"].createElement("input", { type: "checkbox", checked: isChipActive, className: styles$1.input, onClick: handleClick(chip.props.value), onChange: handleChange(chip.props.value), disabled: chip.props.disabled }),
168
- React__default["default"].createElement(InternalChip, Object.assign({}, chip.props, { active: isChipActive, suffix: checkmarkIcon(isChipActive) }))));
169
- })));
170
- function isChipSelected(value) {
171
- return selected.includes(value);
172
- }
173
- function handleClick(value) {
174
- return (event) => onClick === null || onClick === void 0 ? void 0 : onClick(event, value);
175
- }
176
- function handleChange(value) {
177
- return () => {
178
- if (isChipSelected(value)) {
179
- handleDeselect(value);
180
- }
181
- else {
182
- handleSelect(value);
183
- }
184
- };
185
- }
186
- function handleSelect(value) {
187
- const newVal = [...selected, value];
188
- onChange(newVal);
189
- }
190
- function handleDeselect(value) {
191
- const values = selected;
192
- const newVal = values.filter(val => val !== value);
193
- onChange(newVal);
194
- }
195
- function checkmarkIcon(show) {
196
- // Ideally, we should be returning a fragment `<></>` when a function
197
- // returns a component / element. However, this one needs to return nothing
198
- // to prevent it from randomly rendering a suffix.
199
- //
200
- // DO NOT COPY!
201
- if (!show)
202
- return;
203
- return React__default["default"].createElement(Icon.Icon, { name: "checkmark" });
204
- }
205
- }
206
-
207
- var css_248z = ".sCNIjluCskc- {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-sizing: border-box;\n border: calc(16px / 16) solid transparent;\n border: var(--border-base) solid transparent;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n transition: all 200ms;\n transition: all var(--timing-base);\n gap: calc(16px / 2);\n gap: var(--space-small);\n -ms-flex-wrap: wrap;\n flex-wrap: wrap;\n -ms-flex-align: center;\n align-items: center;\n}\n\n.MFUlz1WQLdk- {\n -ms-flex: 1;\n flex: 1;\n min-width: 120px;\n padding: calc(16px / 2) 0;\n padding: var(--space-small) 0;\n border: none;\n border-radius: 0;\n color: inherit;\n font-family: inherit;\n font-size: inherit;\n font-size: calc(calc(16px * 1) * 0.875);\n font-size: var(--typography--fontSize-base);\n line-height: 1.25;\n line-height: var(--typography--lineHeight-base);\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.MFUlz1WQLdk-:focus {\n outline: none;\n}\n\n.V9eYJdjPAeY- {\n position: relative;\n z-index: 6;\n z-index: var(--elevation-menu);\n width: 100%;\n}\n\n.LdytkOeCU9c- {\n max-height: 320px;\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 / 2) 0;\n padding: var(--space-small) 0;\n border-radius: calc(16px / 8);\n border-radius: var(--radius-base);\n overflow-y: scroll;\n background-color: rgba(255, 255, 255, 1);\n background-color: var(--color-surface);\n}\n\n.y7Cz2u8BuNE-,\n._-7bmao8Q9As- {\n display: -ms-flexbox;\n display: flex;\n width: 100%;\n padding: calc(16px / 2);\n padding: var(--space-small);\n border: none;\n background-color: transparent;\n cursor: pointer;\n -webkit-appearance: none;\n appearance: none;\n -ms-flex-align: center;\n align-items: center;\n gap: calc(16px / 2);\n gap: var(--space-small);\n}\n\n.y7Cz2u8BuNE-: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}\n\n.y7Cz2u8BuNE-:focus,\n.iCwWdcmtInc- {\n outline: none;\n background-color: rgb(244, 246, 250);\n background-color: var(--color-surface--hover);\n}\n\n._-7bmao8Q9As- {\n -ms-flex-pack: center;\n justify-content: center;\n}\n";
208
- var styles = {"wrapper":"sCNIjluCskc-","input":"MFUlz1WQLdk-","menu":"V9eYJdjPAeY-","menuList":"LdytkOeCU9c-","menuListOption":"y7Cz2u8BuNE-","loadingIndicator":"_-7bmao8Q9As-","activeOption":"iCwWdcmtInc-"};
209
- styleInject_es.styleInject(css_248z);
210
-
211
- function useInternalChipDismissible({ children, selected, onChange, onClick, onCustomAdd, }) {
212
- const ref = React.useRef(null);
213
- const chipOptions = children.map(chip => chip.props);
214
- const visibleChipOptions = chipOptions.filter(chip => selected.includes(chip.value));
215
- const sortedVisibleChipOptions = sortBy__default["default"](visibleChipOptions, chip => selected.indexOf(chip.value));
216
- const availableChipOptions = chipOptions.filter(chip => !selected.includes(chip.value));
217
- const { liveAnnounce } = useLiveAnnounce.useLiveAnnounce();
218
- const actions = {
219
- handleChipRemove: (value) => {
220
- return () => {
221
- liveAnnounce(`${value} Removed`);
222
- onChange(selected.filter(val => val !== value));
223
- };
224
- },
225
- handleChipAdd: (value) => onChange([...selected, value]),
226
- handleCustomAdd: onCustomAdd,
227
- handleChipClick: (value) => {
228
- if (onClick === undefined)
229
- return;
230
- return (event) => onClick(event, value);
231
- },
232
- handleWrapperKeyDown: (event) => {
233
- const target = event.target;
234
- const isInputAndHasValue = target instanceof HTMLInputElement && target.value;
235
- if (isInputAndHasValue)
236
- return;
237
- const nextElementToFocus = target.nextElementSibling;
238
- const prevElementToFocus = target.previousElementSibling;
239
- if (event.key === "ArrowLeft" &&
240
- prevElementToFocus instanceof HTMLElement) {
241
- prevElementToFocus.focus();
242
- }
243
- if (event.key === "ArrowRight" &&
244
- nextElementToFocus instanceof HTMLElement) {
245
- nextElementToFocus.focus();
246
- }
247
- },
248
- handleChipKeyDown: (value) => {
249
- return (event) => {
250
- if (event.key === "Backspace" || event.key === "Delete") {
251
- const target = event.target;
252
- if (target instanceof HTMLElement) {
253
- const prevElement = target.previousElementSibling;
254
- const nextElement = target.nextElementSibling;
255
- if (prevElement instanceof HTMLElement) {
256
- prevElement.focus();
257
- }
258
- else if (nextElement instanceof HTMLElement) {
259
- nextElement.focus();
260
- }
261
- }
262
- actions.handleChipRemove(value)();
263
- }
264
- };
265
- },
266
- };
267
- return Object.assign(Object.assign({}, actions), { ref,
268
- sortedVisibleChipOptions,
269
- availableChipOptions });
270
- }
271
-
272
- const menuId = uuid.v1();
273
- // eslint-disable-next-line max-statements
274
- function useInternalChipDismissibleInput({ options, isLoadingMore = false, onCustomOptionSelect, onOptionSelect, onSearch, }) {
275
- const [allOptions, setAllOptions] = React.useState([]);
276
- const [searchValue, setSearchValue] = React.useState("");
277
- const [menuOpen, setMenuOpen] = React.useState(false);
278
- const [activeIndex, setActiveIndex] = React.useState(0);
279
- const [shouldCancelBlur, setShouldCancelBlur] = React.useState(false);
280
- const [shouldCancelEnter, setShouldCancelEnter] = React.useState(false);
281
- const canAddCustomOption = onCustomOptionSelect !== undefined && !isLoadingMore;
282
- const maxOptionIndex = allOptions.length - 1;
283
- const { liveAnnounce } = useLiveAnnounce.useLiveAnnounce();
284
- React.useEffect(() => {
285
- setAllOptions(generateOptions(options, searchValue, canAddCustomOption));
286
- }, [options]);
287
- const computed = {
288
- menuId,
289
- inputRef: React.useRef(null),
290
- activeOption: allOptions[activeIndex],
291
- hasAvailableOptions: allOptions.length > 0,
292
- nextOptionIndex: activeIndex < maxOptionIndex ? activeIndex + 1 : 0,
293
- previousOptionIndex: activeIndex > 0 ? activeIndex - 1 : maxOptionIndex,
294
- };
295
- const actions = {
296
- generateDescendantId: (index) => `${computed.menuId}-${index}`,
297
- handleReset: () => {
298
- setActiveIndex(activeIndex === 0 ? activeIndex : activeIndex - 1);
299
- setSearchValue("");
300
- },
301
- handleOpenMenu: () => setMenuOpen(true),
302
- handleCloseMenu: () => {
303
- setMenuOpen(false);
304
- setActiveIndex(0);
305
- },
306
- handleCancelBlur: () => setShouldCancelBlur(true),
307
- handleEnableBlur: () => setShouldCancelBlur(false),
308
- handleBlur: () => {
309
- if (shouldCancelBlur)
310
- return;
311
- actions.handleReset();
312
- actions.handleCloseMenu();
313
- },
314
- handleSearchChange: (event) => {
315
- setActiveIndex(0);
316
- setSearchValue(event.currentTarget.value);
317
- setShouldCancelEnter(true);
318
- },
319
- handleSetActiveOnMouseOver: (index) => {
320
- return () => setActiveIndex(index);
321
- },
322
- handleSelectOption: (selected) => {
323
- var _a;
324
- if (allOptions.length === 0)
325
- return;
326
- const setValue = selected.custom ? onCustomOptionSelect : onOptionSelect;
327
- if (setValue) {
328
- setValue(selected.value);
329
- liveAnnounce(`${selected.label} Added`);
330
- actions.handleReset();
331
- (_a = computed.inputRef.current) === null || _a === void 0 ? void 0 : _a.focus();
332
- }
333
- },
334
- handleKeyDown: (event) => {
335
- const callbacks = {
336
- Enter: () => {
337
- if (shouldCancelEnter)
338
- return;
339
- actions.handleSelectOption(computed.activeOption);
340
- },
341
- Tab: () => actions.handleSelectOption(computed.activeOption),
342
- ",": () => {
343
- if (searchValue.length === 0)
344
- return;
345
- actions.handleSelectOption(generateCustomOptionObject(searchValue));
346
- },
347
- ArrowDown: () => {
348
- if (isLoadingMore && activeIndex === maxOptionIndex)
349
- return;
350
- setActiveIndex(computed.nextOptionIndex);
351
- },
352
- ArrowUp: () => setActiveIndex(computed.previousOptionIndex),
353
- };
354
- if (searchValue.length === 0) {
355
- callbacks.Backspace = () => {
356
- var _a;
357
- // If there's no text left to delete,
358
- // and delete is pressed again, focus on a chip instead.
359
- const target = (_a = computed.inputRef.current) === null || _a === void 0 ? void 0 : _a.previousElementSibling;
360
- if (target instanceof HTMLElement) {
361
- target.focus();
362
- }
363
- };
364
- }
365
- handleKeydownEvents(callbacks, event);
366
- },
367
- handleDebouncedSearch: debounce__default["default"](() => {
368
- onSearch && onSearch(searchValue);
369
- setAllOptions(generateOptions(options, searchValue, canAddCustomOption));
370
- setShouldCancelEnter(false);
371
- }, 300),
372
- };
373
- return Object.assign(Object.assign(Object.assign(Object.assign({}, actions), { activeIndex,
374
- allOptions }), computed), { menuOpen,
375
- searchValue,
376
- shouldCancelBlur });
377
- }
378
- function generateOptions(options, searchValue, canAddCustomOption) {
379
- const allOptions = options
380
- .filter(option => option.label.toLowerCase().match(searchValue.trim().toLowerCase()))
381
- .map(opt => (Object.assign(Object.assign({}, opt), { custom: false })));
382
- const { shouldAddCustomOption, customOption } = generateCustomOption(allOptions, searchValue, canAddCustomOption);
383
- shouldAddCustomOption && allOptions.push(customOption);
384
- return allOptions;
385
- }
386
- function generateCustomOption(options, searchValue, canAddCustomOption) {
387
- function shouldAddCustomOption() {
388
- const isMatchingOption = options.some(option => option.label.toLowerCase() === searchValue.trim().toLowerCase());
389
- return !!searchValue && !isMatchingOption;
390
- }
391
- return {
392
- shouldAddCustomOption: canAddCustomOption && shouldAddCustomOption(),
393
- customOption: generateCustomOptionObject(searchValue),
394
- };
395
- }
396
- function generateCustomOptionObject(searchValue) {
397
- return {
398
- value: searchValue,
399
- label: searchValue,
400
- prefix: React__default["default"].createElement(Icon.Icon, { name: "add" }),
401
- custom: true,
402
- };
403
- }
404
- function handleKeydownEvents(callbacks, event) {
405
- if (event.shiftKey)
406
- return;
407
- Object.entries(callbacks).forEach(([key, callback]) => {
408
- if (event.key === key) {
409
- event.preventDefault();
410
- callback(event);
411
- }
412
- });
413
- }
414
-
415
- function useInView() {
416
- const ref = React.useRef(null);
417
- const [isInView, setIsInView] = React.useState(false);
418
- if (window.IntersectionObserver) {
419
- const observer = new IntersectionObserver(entries => {
420
- setIsInView(entries[0].isIntersecting);
421
- });
422
- React.useEffect(() => {
423
- ref.current && observer.observe(ref.current);
424
- return () => {
425
- if (!ref.current)
426
- return;
427
- observer.unobserve(ref.current);
428
- };
429
- });
430
- }
431
- return { ref, isInView };
432
- }
433
-
434
- function useRepositionMenu(attachTo) {
435
- var _a;
436
- const [positionElement, setPositionedElementRef] = React.useState();
437
- const popper = reactPopper.usePopper(attachTo.current, positionElement, {
438
- modifiers: [
439
- { name: "offset", options: { offset: [0, 8] } },
440
- { name: "flip", options: { fallbackPlacements: ["top"] } },
441
- ],
442
- });
443
- const targetWidth = (_a = attachTo.current) === null || _a === void 0 ? void 0 : _a.clientWidth;
444
- return Object.assign(Object.assign({}, popper), { setPositionedElementRef, targetWidth });
445
- }
446
-
447
- function useScrollToActive(index) {
448
- const ref = React.useRef(null);
449
- React.useEffect(() => {
450
- var _a, _b;
451
- if (!window.HTMLElement.prototype.scrollIntoView)
452
- return;
453
- (_b = (_a = ref.current) === null || _a === void 0 ? void 0 : _a.children[index]) === null || _b === void 0 ? void 0 : _b.scrollIntoView({
454
- behavior: "smooth",
455
- block: "nearest",
456
- inline: "start",
457
- });
458
- }, [index]);
459
- return ref;
460
- }
461
-
462
- function InternalChipDismissibleInput(props) {
463
- const { activator = React__default["default"].createElement(Button.Button, { icon: "add", type: "secondary", ariaLabel: "Add" }), attachTo, isLoadingMore = false, onLoadMore, } = props;
464
- const { activeIndex, allOptions, hasAvailableOptions, inputRef, menuId, menuOpen, searchValue, generateDescendantId, handleBlur, handleOpenMenu, handleSearchChange, handleCancelBlur, handleEnableBlur, handleSetActiveOnMouseOver, handleKeyDown, handleSelectOption, handleDebouncedSearch, } = useInternalChipDismissibleInput(props);
465
- const menuRef = useScrollToActive(activeIndex);
466
- const { ref: visibleChildRef, isInView } = useInView();
467
- const { styles: popperStyles, attributes, update, setPositionedElementRef, } = useRepositionMenu(attachTo);
468
- React.useEffect(() => {
469
- if (menuOpen && update)
470
- update();
471
- }, [allOptions]);
472
- React.useEffect(() => {
473
- handleDebouncedSearch();
474
- return handleDebouncedSearch.cancel;
475
- }, [searchValue]);
476
- React.useEffect(() => {
477
- isInView && onLoadMore && onLoadMore(searchValue);
478
- }, [isInView]);
479
- if (!menuOpen) {
480
- return React__default["default"].cloneElement(activator, { onClick: handleOpenMenu });
481
- }
482
- return (React__default["default"].createElement(React__default["default"].Fragment, null,
483
- React__default["default"].createElement("input", { ref: inputRef, className: styles.input, type: "text", role: "combobox", "aria-label": "Press up and down arrow to cycle through the options or type to narrow down the results", "aria-autocomplete": "list", "aria-owns": menuId, "aria-expanded": hasAvailableOptions, "aria-activedescendant": generateDescendantId(activeIndex), value: searchValue, onChange: handleSearchChange, onKeyDown: handleKeyDown, onBlur: debounce__default["default"](handleBlur, 200), onFocus: handleOpenMenu, autoFocus: true }),
484
- (hasAvailableOptions || isLoadingMore) && (React__default["default"].createElement("div", Object.assign({ ref: setPositionedElementRef, className: styles.menu, style: popperStyles.popper }, attributes.popper),
485
- React__default["default"].createElement("div", { ref: menuRef, role: "listbox", id: menuId, className: styles.menuList, "data-testid": "chip-menu" },
486
- allOptions.map((option, i) => (React__default["default"].createElement("button", { key: option.value, role: "option", type: "button", id: generateDescendantId(i), className: classnames__default["default"](styles.menuListOption, {
487
- [styles.activeOption]: activeIndex === i,
488
- }), onClick: () => handleSelectOption(option), onMouseEnter: handleSetActiveOnMouseOver(i), onMouseDown: handleCancelBlur, onMouseUp: handleEnableBlur },
489
- React__default["default"].createElement("span", { "aria-hidden": true }, option.prefix),
490
- React__default["default"].createElement(Text.Text, null, option.label)))),
491
- React__default["default"].createElement("div", { ref: visibleChildRef }),
492
- isLoadingMore && (React__default["default"].createElement("div", { className: styles.loadingIndicator },
493
- React__default["default"].createElement(Spinner.Spinner, { size: "small", inline: true }))))))));
494
- }
495
-
496
- function InternalChipDismissible(props) {
497
- const { availableChipOptions, ref: wrapperRef, sortedVisibleChipOptions, handleChipAdd, handleChipClick, handleChipKeyDown, handleChipRemove, handleCustomAdd, handleWrapperKeyDown, } = useInternalChipDismissible(props);
498
- return (React__default["default"].createElement("div", { ref: wrapperRef, className: styles.wrapper, "data-testid": "dismissible-chips", onKeyDown: handleWrapperKeyDown, role: "listbox" },
499
- sortedVisibleChipOptions.map(chip => (React__default["default"].createElement(InternalChip, Object.assign({ key: chip.value }, chip, { onKeyDown: handleChipKeyDown(chip.value), onClick: handleChipClick(chip.value), ariaLabel: `${chip.label}. Press delete or backspace to remove ${chip.label}`, tabIndex: 0, suffix: React__default["default"].createElement(InternalChipButton, { icon: "remove", invalid: chip.invalid, disabled: chip.disabled, label: chip.label, onClick: handleChipRemove(chip.value) }) })))),
500
- React__default["default"].createElement(InternalChipDismissibleInput, { activator: props.activator, attachTo: wrapperRef, isLoadingMore: props.isLoadingMore, options: availableChipOptions, onOptionSelect: handleChipAdd, onCustomOptionSelect: handleCustomAdd, onSearch: props.onSearch, onLoadMore: props.onLoadMore })));
501
- }
502
-
503
- function Chips(props) {
504
- switch (props.type) {
505
- case "dismissible":
506
- return React__default["default"].createElement(InternalChipDismissible, Object.assign({}, props));
507
- case "multiselect":
508
- return React__default["default"].createElement(InternalChipMultiSelect, Object.assign({}, props));
509
- default:
510
- return React__default["default"].createElement(InternalChipSingleSelect, Object.assign({}, props));
511
- }
512
- }
513
-
514
- // Only need the component to pass in the data as a react children
515
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
516
- function Chip(props) {
517
- // Throw error when <Chip /> gets used outside of the <Chips />
518
- useAssert.useAssert(true, "`<Chip>` component can only be used inside `<Chips>`");
519
- return React__default["default"].createElement(React__default["default"].Fragment, null);
520
- }
521
-
522
- exports.Chip = Chip;
523
- exports.ChipDismissible = ChipDismissible;
524
- exports.Chips = Chips;
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var Combobox = require('../Combobox-d4b84edf.js');
6
- require('react');
7
- require('classnames');
8
- require('react-dom');
9
- require('../style-inject.es-9d2f5f4e.js');
10
- require('../Icon-405a216c.js');
11
- require('@jobber/design');
12
- require('../Text-259af966.js');
13
- require('../Typography-c45bf216.js');
14
- require('../Glimmer-7c317864.js');
15
- require('../tslib.es6-754e2961.js');
16
- require('../Content-e3f7b6fc.js');
17
- require('../Spinner-9d8fc7ff.js');
18
- require('@jobber/hooks/useInView');
19
- require('../Button-b73a5e01.js');
20
- require('react-router-dom');
21
- require('@jobber/hooks/useRefocusOnActivator');
22
- require('@jobber/hooks/useFocusTrap');
23
- require('react-popper');
24
- require('@jobber/hooks/useOnKeyDown');
25
- require('../Chip-c91fd6c8.js');
26
- require('../Avatar-76a799fa.js');
27
- require('color');
28
- require('../Tooltip-27771182.js');
29
- require('framer-motion');
30
- require('lodash/debounce');
31
- require('lodash/noop');
32
- require('@jobber/hooks/useAssert');
33
-
34
-
35
-
36
- exports.Combobox = Combobox.Combobox;
37
- exports.ComboboxContextProvider = Combobox.ComboboxContextProvider;