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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/dist/AnimatedPresence/AnimatedPresence.d.ts +1 -1
  2. package/dist/AnimatedSwitcher/AnimatedSwitcher.d.ts +1 -1
  3. package/dist/Autocomplete/Autocomplete.d.ts +1 -1
  4. package/dist/Avatar/Avatar.d.ts +1 -1
  5. package/dist/Banner/Banner.d.ts +1 -1
  6. package/dist/Button/Button.d.ts +1 -1
  7. package/dist/ButtonDismiss/ButtonDismiss.d.ts +2 -2
  8. package/dist/Card/Card.d.ts +1 -1
  9. package/dist/Checkbox/Checkbox.d.ts +1 -1
  10. package/dist/Chip/Chip.d.ts +1 -0
  11. package/dist/Chips/Chips.d.ts +1 -0
  12. package/dist/Combobox/Combobox.d.ts +1 -0
  13. package/dist/Combobox/hooks/useMakeComboboxHandlers.d.ts +1 -1
  14. package/dist/ConfirmationModal/ConfirmationModal.d.ts +1 -1
  15. package/dist/Content/Content.d.ts +1 -1
  16. package/dist/Countdown/Countdown.d.ts +1 -1
  17. package/dist/DataDump/DataDump.d.ts +1 -1
  18. package/dist/DataList/DataList.const.d.ts +1 -0
  19. package/dist/DataList/DataList.d.ts +1 -0
  20. package/dist/DataTable/DataTable.d.ts +1 -0
  21. package/dist/DatePicker/DatePicker.d.ts +1 -1
  22. package/dist/DescriptionList/DescriptionList.d.ts +2 -2
  23. package/dist/Disclosure/Disclosure.d.ts +1 -1
  24. package/dist/Divider/Divider.d.ts +1 -1
  25. package/dist/Drawer/Drawer.d.ts +1 -1
  26. package/dist/Emphasis/Emphasis.d.ts +3 -3
  27. package/dist/FeatureSwitch/FeatureSwitch.d.ts +1 -1
  28. package/dist/Flex/Flex.d.ts +1 -1
  29. package/dist/Form/Form.d.ts +1 -0
  30. package/dist/FormField/FormField.d.ts +1 -0
  31. package/dist/FormatDate/FormatDate.d.ts +1 -1
  32. package/dist/FormatEmail/FormatEmail.d.ts +1 -1
  33. package/dist/FormatFile/FormatFile.d.ts +1 -1
  34. package/dist/FormatRelativeDateTime/FormatRelativeDateTime.d.ts +1 -1
  35. package/dist/FormatTime/FormatTime.d.ts +1 -1
  36. package/dist/Gallery/Gallery.d.ts +1 -0
  37. package/dist/Glimmer/Glimmer.d.ts +1 -1
  38. package/dist/Grid/Grid.d.ts +1 -1
  39. package/dist/Heading/Heading.d.ts +1 -1
  40. package/dist/Icon/Icon.d.ts +1 -0
  41. package/dist/InlineLabel/InlineLabel.d.ts +4 -4
  42. package/dist/InputAvatar/InputAvatar.d.ts +1 -1
  43. package/dist/InputDate/InputDate.d.ts +1 -1
  44. package/dist/InputEmail/InputEmail.d.ts +1 -1
  45. package/dist/InputFile/InputFile.d.ts +1 -1
  46. package/dist/InputGroup/InputGroup.d.ts +1 -1
  47. package/dist/InputNumber/InputNumber.d.ts +2 -1
  48. package/dist/InputPassword/InputPassword.d.ts +3 -3
  49. package/dist/InputPhoneNumber/InputPhoneNumber.d.ts +1 -1
  50. package/dist/InputText/InputText.d.ts +1 -0
  51. package/dist/InputTime/InputTime.d.ts +1 -0
  52. package/dist/InputValidation/InputValidation.d.ts +1 -1
  53. package/dist/LightBox/LightBox.d.ts +1 -1
  54. package/dist/Link/Link.d.ts +1 -0
  55. package/dist/List/List.d.ts +1 -1
  56. package/dist/Markdown/Markdown.d.ts +1 -1
  57. package/dist/Menu/Menu.d.ts +5 -4
  58. package/dist/Modal/Modal.d.ts +1 -0
  59. package/dist/MultiSelect/MultiSelect.d.ts +1 -1
  60. package/dist/Page/Page.d.ts +1 -1
  61. package/dist/Popover/Popover.d.ts +1 -0
  62. package/dist/ProgressBar/ProgressBar.d.ts +1 -1
  63. package/dist/RadioGroup/RadioGroup.d.ts +1 -1
  64. package/dist/RecurringSelect/RecurringSelect.d.ts +1 -1
  65. package/dist/RecurringSelect/components/DayOfMonthSelect.d.ts +2 -2
  66. package/dist/RecurringSelect/components/WeeklySelect.d.ts +2 -2
  67. package/dist/Select/Select.d.ts +1 -1
  68. package/dist/Spinner/Spinner.d.ts +1 -1
  69. package/dist/StatusLabel/StatusLabel.d.ts +1 -1
  70. package/dist/Switch/Switch.d.ts +1 -1
  71. package/dist/Table/Table.d.ts +2 -2
  72. package/dist/Tabs/Tabs.d.ts +1 -1
  73. package/dist/Text/Text.d.ts +2 -2
  74. package/dist/Toast/Toast.d.ts +1 -1
  75. package/dist/Tooltip/Tooltip.d.ts +1 -1
  76. package/dist/Typography/Typography.d.ts +2 -2
  77. package/dist/index.d.ts +72 -0
  78. package/dist/index.js +6479 -0
  79. package/package.json +6 -10
  80. package/rollup.config.js +15 -78
  81. package/dist/AnimatedPresence/index.js +0 -12
  82. package/dist/AnimatedPresence-20a02aaa.js +0 -104
  83. package/dist/AnimatedSwitcher/index.js +0 -13
  84. package/dist/AnimatedSwitcher-3d45ec5d.js +0 -96
  85. package/dist/Autocomplete/index.js +0 -209
  86. package/dist/Avatar/index.js +0 -15
  87. package/dist/Avatar-76a799fa.js +0 -78
  88. package/dist/Banner/index.js +0 -110
  89. package/dist/Button/index.js +0 -16
  90. package/dist/Button-b73a5e01.js +0 -57
  91. package/dist/ButtonDismiss/index.js +0 -17
  92. package/dist/ButtonDismiss-350af163.js +0 -14
  93. package/dist/Card/colors.css.d.ts +0 -89
  94. package/dist/Card/index.js +0 -24
  95. package/dist/Card-426a68a8.js +0 -93
  96. package/dist/Checkbox/index.js +0 -19
  97. package/dist/Checkbox-99f6297f.js +0 -64
  98. package/dist/Chip/index.js +0 -40
  99. package/dist/Chip-c91fd6c8.js +0 -89
  100. package/dist/Chips/index.js +0 -524
  101. package/dist/Combobox/index.js +0 -38
  102. package/dist/Combobox-ca9ac94b.js +0 -474
  103. package/dist/ConfirmationModal/index.js +0 -31
  104. package/dist/ConfirmationModal-f1a049fb.js +0 -100
  105. package/dist/Content/Spacing.css.d.ts +0 -13
  106. package/dist/Content/index.js +0 -12
  107. package/dist/Content-e3f7b6fc.js +0 -24
  108. package/dist/Countdown/index.js +0 -72
  109. package/dist/DataDump/index.js +0 -37
  110. package/dist/DataList/index.js +0 -1341
  111. package/dist/DataTable/index.js +0 -302
  112. package/dist/DatePicker/index.js +0 -20
  113. package/dist/DatePicker-64c5ab1a.js +0 -134
  114. package/dist/DescriptionList/index.js +0 -24
  115. package/dist/Disclosure/index.js +0 -46
  116. package/dist/Divider/index.js +0 -29
  117. package/dist/Drawer/index.js +0 -50
  118. package/dist/Emphasis/index.js +0 -13
  119. package/dist/Emphasis-bda56d3b.js +0 -19
  120. package/dist/FeatureSwitch/index.js +0 -70
  121. package/dist/Flex/index.js +0 -40
  122. package/dist/Form/index.js +0 -56
  123. package/dist/FormField/index.js +0 -25
  124. package/dist/FormField-b4e6c549.js +0 -254
  125. package/dist/FormatDate/index.js +0 -11
  126. package/dist/FormatDate-70ea5b43.js +0 -34
  127. package/dist/FormatEmail/index.js +0 -23
  128. package/dist/FormatFile/index.js +0 -36
  129. package/dist/FormatFile-652edda8.js +0 -162
  130. package/dist/FormatRelativeDateTime/index.js +0 -72
  131. package/dist/FormatTime/index.js +0 -36
  132. package/dist/Gallery/Gallery.css.d.ts +0 -9
  133. package/dist/Gallery/index.js +0 -99
  134. package/dist/Glimmer/index.js +0 -15
  135. package/dist/Glimmer/style/Shape.css.d.ts +0 -9
  136. package/dist/Glimmer/style/Sizes.css.d.ts +0 -10
  137. package/dist/Glimmer/style/Timing.css.d.ts +0 -6
  138. package/dist/Glimmer-7c317864.js +0 -77
  139. package/dist/Grid/GridAlign.css.d.ts +0 -8
  140. package/dist/Grid/index.js +0 -76
  141. package/dist/Heading/index.js +0 -14
  142. package/dist/Heading-1e8e4bd3.js +0 -55
  143. package/dist/Icon/index.js +0 -11
  144. package/dist/Icon-405a216c.js +0 -40
  145. package/dist/InlineLabel/index.js +0 -13
  146. package/dist/InlineLabel-a6557829.js +0 -28
  147. package/dist/InputAvatar/index.js +0 -71
  148. package/dist/InputDate/index.js +0 -58
  149. package/dist/InputEmail/index.js +0 -44
  150. package/dist/InputFile/index.js +0 -26
  151. package/dist/InputFile-c9eeb04b.js +0 -188
  152. package/dist/InputGroup/index.js +0 -12
  153. package/dist/InputGroup-8d4fd4eb.js +0 -33
  154. package/dist/InputNumber/index.js +0 -26
  155. package/dist/InputNumber-ceae3872.js +0 -62
  156. package/dist/InputPassword/index.js +0 -42
  157. package/dist/InputPhoneNumber/index.js +0 -117
  158. package/dist/InputText/index.js +0 -26
  159. package/dist/InputText-6e356985.js +0 -101
  160. package/dist/InputTime/index.js +0 -210
  161. package/dist/InputValidation/index.js +0 -17
  162. package/dist/InputValidation-05e839fa.js +0 -29
  163. package/dist/LightBox/index.js +0 -24
  164. package/dist/LightBox-a89d8863.js +0 -117
  165. package/dist/Link/index.js +0 -15
  166. package/dist/List/index.js +0 -93
  167. package/dist/Markdown/index.js +0 -19
  168. package/dist/Markdown-f7c55304.js +0 -62
  169. package/dist/Menu/index.js +0 -21
  170. package/dist/Menu-81b12936.js +0 -139
  171. package/dist/Modal/Sizes.css.d.ts +0 -6
  172. package/dist/Modal/index.js +0 -25
  173. package/dist/Modal-a0627c92.js +0 -71
  174. package/dist/MultiSelect/index.js +0 -183
  175. package/dist/Option-8565da71.js +0 -19
  176. package/dist/Page/index.js +0 -78
  177. package/dist/Popover/index.js +0 -61
  178. package/dist/ProgressBar/Sizes.css.d.ts +0 -7
  179. package/dist/ProgressBar/index.js +0 -12
  180. package/dist/ProgressBar-b68edc8f.js +0 -43
  181. package/dist/RadioGroup/index.js +0 -16
  182. package/dist/RadioGroup-ca7a5978.js +0 -47
  183. package/dist/RecurringSelect/index.js +0 -228
  184. package/dist/Select/index.js +0 -27
  185. package/dist/Spinner/index.js +0 -12
  186. package/dist/Spinner-9d8fc7ff.js +0 -24
  187. package/dist/StatusLabel/index.js +0 -30
  188. package/dist/Switch/index.js +0 -13
  189. package/dist/Switch-7d4aa7c3.js +0 -56
  190. package/dist/Table/index.js +0 -66
  191. package/dist/Tabs/index.js +0 -80
  192. package/dist/Text/index.js +0 -13
  193. package/dist/Text-259af966.js +0 -31
  194. package/dist/Toast/index.js +0 -111
  195. package/dist/Tooltip/index.js +0 -15
  196. package/dist/Tooltip-27771182.js +0 -111
  197. package/dist/Typography/css/Emphasis.css.d.ts +0 -6
  198. package/dist/Typography/css/FontFamilies.css.d.ts +0 -6
  199. package/dist/Typography/css/FontSizes.css.d.ts +0 -12
  200. package/dist/Typography/css/FontWeights.css.d.ts +0 -10
  201. package/dist/Typography/css/TextAlignment.css.d.ts +0 -7
  202. package/dist/Typography/css/TextCases.css.d.ts +0 -7
  203. package/dist/Typography/css/TextColors.css.d.ts +0 -22
  204. package/dist/Typography/css/Truncate.css.d.ts +0 -5
  205. package/dist/Typography/css/Typography.css.d.ts +0 -5
  206. package/dist/Typography/index.js +0 -12
  207. package/dist/Typography-c45bf216.js +0 -62
  208. package/dist/getAtlantisConfig-0f3e8af2.js +0 -13
  209. package/dist/style-inject.es-9d2f5f4e.js +0 -30
  210. package/dist/tslib.es6-754e2961.js +0 -46
@@ -1,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,38 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var Combobox = require('../Combobox-ca9ac94b.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('../AnimatedPresence-20a02aaa.js');
19
- require('framer-motion');
20
- require('@jobber/hooks/useInView');
21
- require('../Button-b73a5e01.js');
22
- require('react-router-dom');
23
- require('@jobber/hooks/useRefocusOnActivator');
24
- require('@jobber/hooks/useFocusTrap');
25
- require('react-popper');
26
- require('@jobber/hooks/useOnKeyDown');
27
- require('../Chip-c91fd6c8.js');
28
- require('../Avatar-76a799fa.js');
29
- require('color');
30
- require('../Tooltip-27771182.js');
31
- require('lodash/debounce');
32
- require('lodash/noop');
33
- require('@jobber/hooks/useAssert');
34
-
35
-
36
-
37
- exports.Combobox = Combobox.Combobox;
38
- exports.ComboboxContextProvider = Combobox.ComboboxContextProvider;