@mongodb-js/compass-components 1.4.0 → 1.6.0

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 (202) hide show
  1. package/lib/components/accordion.d.ts +1 -2
  2. package/lib/components/accordion.d.ts.map +1 -1
  3. package/lib/components/accordion.js +3 -3
  4. package/lib/components/accordion.js.map +1 -1
  5. package/lib/components/bson-value.d.ts.map +1 -1
  6. package/lib/components/bson-value.js +3 -3
  7. package/lib/components/bson-value.js.map +1 -1
  8. package/lib/components/cancel-loader.d.ts.map +1 -1
  9. package/lib/components/cancel-loader.js +6 -1
  10. package/lib/components/cancel-loader.js.map +1 -1
  11. package/lib/components/collapsible-field-set.d.ts +3 -2
  12. package/lib/components/collapsible-field-set.d.ts.map +1 -1
  13. package/lib/components/collapsible-field-set.js +6 -5
  14. package/lib/components/collapsible-field-set.js.map +1 -1
  15. package/lib/components/combobox/Chip.d.ts +4 -0
  16. package/lib/components/combobox/Chip.d.ts.map +1 -0
  17. package/lib/components/combobox/Chip.js +229 -0
  18. package/lib/components/combobox/Chip.js.map +1 -0
  19. package/lib/components/combobox/Combobox.d.ts +39 -0
  20. package/lib/components/combobox/Combobox.d.ts.map +1 -0
  21. package/lib/components/combobox/Combobox.js +817 -0
  22. package/lib/components/combobox/Combobox.js.map +1 -0
  23. package/lib/components/combobox/Combobox.styles.d.ts +38 -0
  24. package/lib/components/combobox/Combobox.styles.d.ts.map +1 -0
  25. package/lib/components/combobox/Combobox.styles.js +278 -0
  26. package/lib/components/combobox/Combobox.styles.js.map +1 -0
  27. package/lib/components/combobox/Combobox.types.d.ts +121 -0
  28. package/lib/components/combobox/Combobox.types.d.ts.map +1 -0
  29. package/lib/components/combobox/Combobox.types.js +46 -0
  30. package/lib/components/combobox/Combobox.types.js.map +1 -0
  31. package/lib/components/combobox/ComboboxContext.d.ts +21 -0
  32. package/lib/components/combobox/ComboboxContext.d.ts.map +1 -0
  33. package/lib/components/combobox/ComboboxContext.js +19 -0
  34. package/lib/components/combobox/ComboboxContext.js.map +1 -0
  35. package/lib/components/combobox/ComboboxGroup.d.ts +15 -0
  36. package/lib/components/combobox/ComboboxGroup.d.ts.map +1 -0
  37. package/lib/components/combobox/ComboboxGroup.js +84 -0
  38. package/lib/components/combobox/ComboboxGroup.js.map +1 -0
  39. package/lib/components/combobox/ComboboxMenu/ComboboxMenu.d.ts +9 -0
  40. package/lib/components/combobox/ComboboxMenu/ComboboxMenu.d.ts.map +1 -0
  41. package/lib/components/combobox/ComboboxMenu/ComboboxMenu.js +86 -0
  42. package/lib/components/combobox/ComboboxMenu/ComboboxMenu.js.map +1 -0
  43. package/lib/components/combobox/ComboboxMenu/Menu.styles.d.ts +22 -0
  44. package/lib/components/combobox/ComboboxMenu/Menu.styles.d.ts.map +1 -0
  45. package/lib/components/combobox/ComboboxMenu/Menu.styles.js +115 -0
  46. package/lib/components/combobox/ComboboxMenu/Menu.styles.js.map +1 -0
  47. package/lib/components/combobox/ComboboxOption.d.ts +17 -0
  48. package/lib/components/combobox/ComboboxOption.d.ts.map +1 -0
  49. package/lib/components/combobox/ComboboxOption.js +258 -0
  50. package/lib/components/combobox/ComboboxOption.js.map +1 -0
  51. package/lib/components/combobox/Menu.styles.d.ts +18 -0
  52. package/lib/components/combobox/Menu.styles.d.ts.map +1 -0
  53. package/lib/components/combobox/Menu.styles.js +98 -0
  54. package/lib/components/combobox/Menu.styles.js.map +1 -0
  55. package/lib/components/combobox/index.d.ts +4 -0
  56. package/lib/components/combobox/index.d.ts.map +1 -0
  57. package/lib/components/combobox/index.js +13 -0
  58. package/lib/components/combobox/index.js.map +1 -0
  59. package/lib/components/combobox/utils/OptionObjectUtils.d.ts +5 -0
  60. package/lib/components/combobox/utils/OptionObjectUtils.d.ts.map +1 -0
  61. package/lib/components/combobox/utils/OptionObjectUtils.js +23 -0
  62. package/lib/components/combobox/utils/OptionObjectUtils.js.map +1 -0
  63. package/lib/components/combobox/utils/flattenChildren.d.ts +4 -0
  64. package/lib/components/combobox/utils/flattenChildren.d.ts.map +1 -0
  65. package/lib/components/combobox/utils/flattenChildren.js +35 -0
  66. package/lib/components/combobox/utils/flattenChildren.js.map +1 -0
  67. package/lib/components/combobox/utils/getNameAndValue.d.ts +6 -0
  68. package/lib/components/combobox/utils/getNameAndValue.d.ts.map +1 -0
  69. package/lib/components/combobox/utils/getNameAndValue.js +16 -0
  70. package/lib/components/combobox/utils/getNameAndValue.js.map +1 -0
  71. package/lib/components/combobox/utils/index.d.ts +5 -0
  72. package/lib/components/combobox/utils/index.d.ts.map +1 -0
  73. package/lib/components/combobox/utils/index.js +14 -0
  74. package/lib/components/combobox/utils/index.js.map +1 -0
  75. package/lib/components/combobox/utils/wrapJSX.d.ts +3 -0
  76. package/lib/components/combobox/utils/wrapJSX.d.ts.map +1 -0
  77. package/lib/components/combobox/utils/wrapJSX.js +33 -0
  78. package/lib/components/combobox/utils/wrapJSX.js.map +1 -0
  79. package/lib/components/empty-content.d.ts +1 -2
  80. package/lib/components/empty-content.d.ts.map +1 -1
  81. package/lib/components/empty-content.js +9 -2
  82. package/lib/components/empty-content.js.map +1 -1
  83. package/lib/components/file-input.d.ts +18 -19
  84. package/lib/components/file-input.d.ts.map +1 -1
  85. package/lib/components/file-input.js +3 -3
  86. package/lib/components/file-input.js.map +1 -1
  87. package/lib/components/horizontal-rule.d.ts +4 -0
  88. package/lib/components/horizontal-rule.d.ts.map +1 -0
  89. package/lib/components/horizontal-rule.js +49 -0
  90. package/lib/components/horizontal-rule.js.map +1 -0
  91. package/lib/components/icons/document-icon.d.ts +1 -4
  92. package/lib/components/icons/document-icon.d.ts.map +1 -1
  93. package/lib/components/icons/document-icon.js +2 -2
  94. package/lib/components/icons/document-icon.js.map +1 -1
  95. package/lib/components/icons/favorite-icon.d.ts +6 -7
  96. package/lib/components/icons/favorite-icon.d.ts.map +1 -1
  97. package/lib/components/icons/favorite-icon.js +2 -2
  98. package/lib/components/icons/favorite-icon.js.map +1 -1
  99. package/lib/components/icons/no-saved-items-icon.d.ts +0 -1
  100. package/lib/components/icons/no-saved-items-icon.d.ts.map +1 -1
  101. package/lib/components/icons/no-saved-items-icon.js +2 -2
  102. package/lib/components/icons/no-saved-items-icon.js.map +1 -1
  103. package/lib/components/index-keys-badge.d.ts +11 -0
  104. package/lib/components/index-keys-badge.d.ts.map +1 -0
  105. package/lib/components/index-keys-badge.js +26 -0
  106. package/lib/components/index-keys-badge.js.map +1 -0
  107. package/lib/components/interactive-popover.js +3 -3
  108. package/lib/components/interactive-popover.js.map +1 -1
  109. package/lib/components/keyline-card.d.ts +1 -4
  110. package/lib/components/keyline-card.d.ts.map +1 -1
  111. package/lib/components/keyline-card.js +3 -3
  112. package/lib/components/keyline-card.js.map +1 -1
  113. package/lib/components/leafygreen.d.ts +26 -74
  114. package/lib/components/leafygreen.d.ts.map +1 -1
  115. package/lib/components/leafygreen.js +38 -70
  116. package/lib/components/leafygreen.js.map +1 -1
  117. package/lib/components/list-editor.d.ts +2 -1
  118. package/lib/components/list-editor.d.ts.map +1 -1
  119. package/lib/components/list-editor.js +2 -4
  120. package/lib/components/list-editor.js.map +1 -1
  121. package/lib/components/modals/confirmation-modal.d.ts +1 -3
  122. package/lib/components/modals/confirmation-modal.d.ts.map +1 -1
  123. package/lib/components/modals/confirmation-modal.js +6 -32
  124. package/lib/components/modals/confirmation-modal.js.map +1 -1
  125. package/lib/components/modals/modal-body.d.ts.map +1 -1
  126. package/lib/components/modals/modal-body.js +6 -3
  127. package/lib/components/modals/modal-body.js.map +1 -1
  128. package/lib/components/modals/modal-footer-button.d.ts +2 -2
  129. package/lib/components/modals/modal-footer-button.d.ts.map +1 -1
  130. package/lib/components/modals/modal-footer-button.js +3 -4
  131. package/lib/components/modals/modal-footer-button.js.map +1 -1
  132. package/lib/components/modals/modal-header.d.ts +2 -3
  133. package/lib/components/modals/modal-header.d.ts.map +1 -1
  134. package/lib/components/modals/modal-header.js +7 -5
  135. package/lib/components/modals/modal-header.js.map +1 -1
  136. package/lib/components/modals/modal.d.ts +1 -3
  137. package/lib/components/modals/modal.d.ts.map +1 -1
  138. package/lib/components/modals/modal.js +8 -32
  139. package/lib/components/modals/modal.js.map +1 -1
  140. package/lib/components/placeholder.d.ts +3 -4
  141. package/lib/components/placeholder.d.ts.map +1 -1
  142. package/lib/components/placeholder.js +3 -3
  143. package/lib/components/placeholder.js.map +1 -1
  144. package/lib/components/resizeable-sidebar.d.ts.map +1 -1
  145. package/lib/components/resizeable-sidebar.js +4 -4
  146. package/lib/components/resizeable-sidebar.js.map +1 -1
  147. package/lib/components/spin-loader.d.ts +2 -1
  148. package/lib/components/spin-loader.d.ts.map +1 -1
  149. package/lib/components/spin-loader.js +10 -3
  150. package/lib/components/spin-loader.js.map +1 -1
  151. package/lib/components/store-connector.d.ts +17 -0
  152. package/lib/components/store-connector.d.ts.map +1 -0
  153. package/lib/components/store-connector.js +25 -0
  154. package/lib/components/store-connector.js.map +1 -0
  155. package/lib/components/tab-nav-bar.d.ts +2 -3
  156. package/lib/components/tab-nav-bar.d.ts.map +1 -1
  157. package/lib/components/tab-nav-bar.js +3 -3
  158. package/lib/components/tab-nav-bar.js.map +1 -1
  159. package/lib/components/tooltip.d.ts.map +1 -1
  160. package/lib/components/tooltip.js +2 -8
  161. package/lib/components/tooltip.js.map +1 -1
  162. package/lib/components/virtual-grid.d.ts +1 -1
  163. package/lib/components/workspace-container.d.ts +1 -2
  164. package/lib/components/workspace-container.d.ts.map +1 -1
  165. package/lib/components/workspace-container.js +4 -4
  166. package/lib/components/workspace-container.js.map +1 -1
  167. package/lib/components/workspace-tabs/tab.d.ts +3 -3
  168. package/lib/components/workspace-tabs/tab.d.ts.map +1 -1
  169. package/lib/components/workspace-tabs/tab.js +19 -5
  170. package/lib/components/workspace-tabs/tab.js.map +1 -1
  171. package/lib/components/workspace-tabs/workspace-tabs.d.ts +1 -2
  172. package/lib/components/workspace-tabs/workspace-tabs.d.ts.map +1 -1
  173. package/lib/components/workspace-tabs/workspace-tabs.js +49 -24
  174. package/lib/components/workspace-tabs/workspace-tabs.js.map +1 -1
  175. package/lib/hooks/use-effect-on-change.d.ts +3 -0
  176. package/lib/hooks/use-effect-on-change.d.ts.map +1 -0
  177. package/lib/hooks/use-effect-on-change.js +19 -0
  178. package/lib/hooks/use-effect-on-change.js.map +1 -0
  179. package/lib/hooks/use-focus-ring.d.ts.map +1 -1
  180. package/lib/hooks/use-focus-ring.js +8 -6
  181. package/lib/hooks/use-focus-ring.js.map +1 -1
  182. package/lib/hooks/use-scrollbars.d.ts +11 -0
  183. package/lib/hooks/use-scrollbars.d.ts.map +1 -0
  184. package/lib/hooks/use-scrollbars.js +117 -0
  185. package/lib/hooks/use-scrollbars.js.map +1 -0
  186. package/lib/hooks/use-theme.d.ts +11 -13
  187. package/lib/hooks/use-theme.d.ts.map +1 -1
  188. package/lib/hooks/use-theme.js +17 -21
  189. package/lib/hooks/use-theme.js.map +1 -1
  190. package/lib/index.d.ts +10 -4
  191. package/lib/index.d.ts.map +1 -1
  192. package/lib/index.js +24 -8
  193. package/lib/index.js.map +1 -1
  194. package/package.json +54 -45
  195. package/lib/components/checkbox.d.ts +0 -5
  196. package/lib/components/checkbox.d.ts.map +0 -1
  197. package/lib/components/checkbox.js +0 -15
  198. package/lib/components/checkbox.js.map +0 -1
  199. package/lib/components/toggle.d.ts +0 -5
  200. package/lib/components/toggle.d.ts.map +0 -1
  201. package/lib/components/toggle.js +0 -15
  202. package/lib/components/toggle.js.map +0 -1
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.InternalComboboxGroup = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ const prop_types_1 = __importDefault(require("prop-types"));
32
+ const emotion_1 = require("@leafygreen-ui/emotion");
33
+ const hooks_1 = require("@leafygreen-ui/hooks");
34
+ const lib_1 = require("@leafygreen-ui/lib");
35
+ const palette_1 = require("@leafygreen-ui/palette");
36
+ const ComboboxContext_1 = require("./ComboboxContext");
37
+ const comboboxGroupStyle = {
38
+ [lib_1.Theme.Light]: (0, emotion_1.css) `
39
+ padding-top: 8px;
40
+ `,
41
+ [lib_1.Theme.Dark]: (0, emotion_1.css) `
42
+ padding-top: 8px;
43
+ `,
44
+ };
45
+ const comboboxGroupLabel = (0, emotion_1.css) `
46
+ cursor: default;
47
+ width: 100%;
48
+ padding: 0 12px 2px;
49
+ outline: none;
50
+ overflow-wrap: anywhere;
51
+ font-size: 12px;
52
+ line-height: 16px;
53
+ font-weight: bold;
54
+ text-transform: uppercase;
55
+ letter-spacing: 0.4px;
56
+ `;
57
+ const comboboxGroupLabelThemeStyle = {
58
+ [lib_1.Theme.Light]: (0, emotion_1.css) `
59
+ color: ${palette_1.palette.gray.dark1};
60
+ `,
61
+ [lib_1.Theme.Dark]: (0, emotion_1.css) `
62
+ color: ${palette_1.palette.gray.light1};
63
+ `,
64
+ };
65
+ function InternalComboboxGroup({ label, className, children, }) {
66
+ const { theme } = (0, react_1.useContext)(ComboboxContext_1.ComboboxContext);
67
+ const groupId = (0, hooks_1.useIdAllocator)({ prefix: 'combobox-group' });
68
+ const childCount = react_1.default.Children.count(children);
69
+ return childCount > 0 ? (react_1.default.createElement("div", { className: (0, emotion_1.cx)(comboboxGroupStyle[theme], className) },
70
+ react_1.default.createElement("div", { className: (0, emotion_1.cx)(comboboxGroupLabel, comboboxGroupLabelThemeStyle[theme]), id: groupId }, label),
71
+ react_1.default.createElement("div", { role: "group", "aria-labelledby": groupId }, children))) : (react_1.default.createElement(react_1.default.Fragment, null));
72
+ }
73
+ exports.InternalComboboxGroup = InternalComboboxGroup;
74
+ ComboboxGroup.displayName = 'ComboboxGroup';
75
+ ComboboxGroup.propTypes = {
76
+ className: prop_types_1.default.string,
77
+ children: prop_types_1.default.node.isRequired,
78
+ label: prop_types_1.default.string.isRequired,
79
+ };
80
+ function ComboboxGroup(_) {
81
+ throw Error('`ComboboxGroup` must be a child of a `Combobox` instance');
82
+ }
83
+ exports.default = ComboboxGroup;
84
+ //# sourceMappingURL=ComboboxGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComboboxGroup.js","sourceRoot":"","sources":["../../../src/components/combobox/ComboboxGroup.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAA0C;AAC1C,4DAAmC;AAEnC,oDAAiD;AACjD,gDAAsD;AACtD,4CAA2C;AAC3C,oDAAiD;AAGjD,uDAAoD;AAEpD,MAAM,kBAAkB,GAA0B;IAChD,CAAC,WAAK,CAAC,KAAK,CAAC,EAAE,IAAA,aAAG,EAAA;;GAEjB;IACD,CAAC,WAAK,CAAC,IAAI,CAAC,EAAE,IAAA,aAAG,EAAA;;GAEhB;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG,IAAA,aAAG,EAAA;;;;;;;;;;;CAW7B,CAAC;AAEF,MAAM,4BAA4B,GAA0B;IAC1D,CAAC,WAAK,CAAC,KAAK,CAAC,EAAE,IAAA,aAAG,EAAA;aACP,iBAAO,CAAC,IAAI,CAAC,KAAK;GAC5B;IACD,CAAC,WAAK,CAAC,IAAI,CAAC,EAAE,IAAA,aAAG,EAAA;aACN,iBAAO,CAAC,IAAI,CAAC,MAAM;GAC7B;CACF,CAAC;AAEF,SAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,QAAQ,GACW;IACnB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAA,kBAAU,EAAC,iCAAe,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,eAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAElD,OAAO,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,CACtB,uCAAK,SAAS,EAAE,IAAA,YAAE,EAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;QACtD,uCACE,SAAS,EAAE,IAAA,YAAE,EAAC,kBAAkB,EAAE,4BAA4B,CAAC,KAAK,CAAC,CAAC,EACtE,EAAE,EAAE,OAAO,IAEV,KAAK,CACF;QACN,uCAAK,IAAI,EAAC,OAAO,qBAAkB,OAAO,IACvC,QAAQ,CACL,CACF,CACP,CAAC,CAAC,CAAC,CACF,6DAAK,CACN,CAAC;AACJ,CAAC;AAzBD,sDAyBC;AAED,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC;AAE5C,aAAa,CAAC,SAAS,GAAG;IACxB,SAAS,EAAE,oBAAS,CAAC,MAAM;IAC3B,QAAQ,EAAE,oBAAS,CAAC,IAAI,CAAC,UAAU;IACnC,KAAK,EAAE,oBAAS,CAAC,MAAM,CAAC,UAAU;CACnC,CAAC;AAEF,SAAwB,aAAa,CAAC,CAAqB;IACzD,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC1E,CAAC;AAFD,gCAEC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { ComboboxProps } from '../Combobox.types';
3
+ export declare const ComboboxMenu: React.ForwardRefExoticComponent<{
4
+ children?: React.ReactNode;
5
+ refEl: React.RefObject<HTMLDivElement>;
6
+ id: string;
7
+ labelId: string;
8
+ } & Pick<ComboboxProps<any>, "portalContainer" | "scrollContainer" | "className" | "usePortal" | "portalClassName" | "popoverZIndex" | "searchEmptyMessage" | "searchErrorMessage" | "searchLoadingMessage"> & React.RefAttributes<HTMLDivElement>>;
9
+ //# sourceMappingURL=ComboboxMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComboboxMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/combobox/ComboboxMenu/ComboboxMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AASnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAiClD,eAAO,MAAM,YAAY;eAjBZ,MAAM,SAAS;WACnB,MAAM,SAAS,CAAC,cAAc,CAAC;QAClC,MAAM;aACD,MAAM;mPAoIhB,CAAC"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ComboboxMenu = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ const isUndefined_1 = __importDefault(require("lodash/isUndefined"));
32
+ const emotion_1 = require("@leafygreen-ui/emotion");
33
+ const hooks_1 = require("@leafygreen-ui/hooks");
34
+ const icon_1 = __importDefault(require("@leafygreen-ui/icon"));
35
+ const palette_1 = require("@leafygreen-ui/palette");
36
+ const popover_1 = __importDefault(require("@leafygreen-ui/popover"));
37
+ const ComboboxContext_1 = require("../ComboboxContext");
38
+ const Menu_styles_1 = require("./Menu.styles");
39
+ exports.ComboboxMenu = react_1.default.forwardRef(({ children, id, refEl, labelId, searchLoadingMessage, searchErrorMessage, searchEmptyMessage, className, ...popoverProps }, forwardedRef) => {
40
+ const { disabled, darkMode, theme, size, isOpen, searchState } = (0, react_1.useContext)(ComboboxContext_1.ComboboxContext);
41
+ const ref = (0, hooks_1.useForwardedRef)(forwardedRef, null);
42
+ const availableSpace = (0, hooks_1.useAvailableSpace)(refEl);
43
+ const maxHeightValue = !(0, isUndefined_1.default)(availableSpace)
44
+ ? `${Math.min(availableSpace, 256)}px`
45
+ : 'unset';
46
+ const renderedMenuContents = (0, react_1.useMemo)(() => {
47
+ const messageStyles = (0, emotion_1.cx)(Menu_styles_1.menuMessageBaseStyle, Menu_styles_1.menuMessageThemeStyle[theme], Menu_styles_1.menuMessageSizeStyle[size]);
48
+ switch (searchState) {
49
+ case 'loading': {
50
+ return (react_1.default.createElement("span", { className: messageStyles },
51
+ react_1.default.createElement(icon_1.default, { glyph: "Refresh", color: darkMode ? palette_1.palette.blue.light1 : palette_1.palette.blue.base, className: Menu_styles_1.loadingIconStyle }),
52
+ searchLoadingMessage));
53
+ }
54
+ case 'error': {
55
+ return (react_1.default.createElement("span", { className: messageStyles },
56
+ react_1.default.createElement(icon_1.default, { glyph: "Warning", color: darkMode ? palette_1.palette.red.light1 : palette_1.palette.red.base }),
57
+ searchErrorMessage));
58
+ }
59
+ case 'unset':
60
+ default: {
61
+ if (children &&
62
+ typeof children === 'object' &&
63
+ 'length' in children &&
64
+ children.length > 0) {
65
+ return react_1.default.createElement("ul", { className: Menu_styles_1.menuList }, children);
66
+ }
67
+ return react_1.default.createElement("span", { className: messageStyles }, searchEmptyMessage);
68
+ }
69
+ }
70
+ }, [
71
+ theme,
72
+ size,
73
+ searchState,
74
+ darkMode,
75
+ searchLoadingMessage,
76
+ searchErrorMessage,
77
+ children,
78
+ searchEmptyMessage,
79
+ ]);
80
+ return (react_1.default.createElement(popover_1.default, { active: isOpen && !disabled, spacing: 4, align: "bottom", justify: "middle", refEl: refEl, adjustOnMutation: true, className: (0, emotion_1.cx)(className, Menu_styles_1.popoverStyle, Menu_styles_1.popoverThemeStyle[theme]), ...popoverProps },
81
+ react_1.default.createElement("div", { ref: ref, id: id, role: "listbox", "aria-labelledby": labelId, "aria-expanded": isOpen, className: (0, emotion_1.cx)(Menu_styles_1.menuBaseStyle, Menu_styles_1.menuThemeStyle[theme], (0, emotion_1.css) `
82
+ max-height: ${maxHeightValue};
83
+ `), onMouseDownCapture: (e) => e.preventDefault() }, renderedMenuContents)));
84
+ });
85
+ exports.ComboboxMenu.displayName = 'ComboboxMenu';
86
+ //# sourceMappingURL=ComboboxMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComboboxMenu.js","sourceRoot":"","sources":["../../../../src/components/combobox/ComboboxMenu/ComboboxMenu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Theme } from '@leafygreen-ui/lib';
2
+ import { ComboboxSize as Size } from '../Combobox.types';
3
+ export declare const menuItemPadding: Record<Size, {
4
+ x: number;
5
+ y: number;
6
+ }>;
7
+ export declare const menuItemHeight: {
8
+ default: number;
9
+ large: number;
10
+ };
11
+ export declare const popoverStyle: string;
12
+ export declare const popoverThemeStyle: Record<Theme, string>;
13
+ export declare const menuBaseStyle: string;
14
+ export declare const menuThemeStyle: Record<Theme, string>;
15
+ export declare const menuSizeStyle: Record<Size, string>;
16
+ export declare const menuList: string;
17
+ export declare const menuMessageBaseStyle: string;
18
+ export declare const menuMessageThemeStyle: Record<Theme, string>;
19
+ export declare const menuMessageSizeStyle: Record<Size, string>;
20
+ export declare const menuMessageIconSizeStyle: Record<Size, string>;
21
+ export declare const loadingIconStyle: string;
22
+ //# sourceMappingURL=Menu.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.styles.d.ts","sourceRoot":"","sources":["../../../../src/components/combobox/ComboboxMenu/Menu.styles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAI3C,OAAO,EAAE,YAAY,IAAI,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAGlE,CAAC;AAGF,eAAO,MAAM,cAAc;;;CAI1B,CAAC;AAMF,eAAO,MAAM,YAAY,QAIxB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CASnD,CAAC;AAEF,eAAO,MAAM,aAAa,QASzB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAShD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAO9C,CAAC;AAEF,eAAO,MAAM,QAAQ,QAIpB,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAKhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAOvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAarD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CASzD,CAAC;AAWF,eAAO,MAAM,gBAAgB,QAE5B,CAAC"}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadingIconStyle = exports.menuMessageIconSizeStyle = exports.menuMessageSizeStyle = exports.menuMessageThemeStyle = exports.menuMessageBaseStyle = exports.menuList = exports.menuSizeStyle = exports.menuThemeStyle = exports.menuBaseStyle = exports.popoverThemeStyle = exports.popoverStyle = exports.menuItemHeight = exports.menuItemPadding = void 0;
4
+ const polished_1 = require("polished");
5
+ const emotion_1 = require("@leafygreen-ui/emotion");
6
+ const lib_1 = require("@leafygreen-ui/lib");
7
+ const palette_1 = require("@leafygreen-ui/palette");
8
+ const tokens_1 = require("@leafygreen-ui/tokens");
9
+ const Combobox_types_1 = require("../Combobox.types");
10
+ exports.menuItemPadding = {
11
+ [Combobox_types_1.ComboboxSize.Default]: { x: 12, y: 8 },
12
+ [Combobox_types_1.ComboboxSize.Large]: { x: 12, y: 8 },
13
+ };
14
+ exports.menuItemHeight = {
15
+ [Combobox_types_1.ComboboxSize.Default]: tokens_1.typeScales.body1.lineHeight + 2 * exports.menuItemPadding[Combobox_types_1.ComboboxSize.Default].y,
16
+ [Combobox_types_1.ComboboxSize.Large]: tokens_1.typeScales.body2.lineHeight + 2 * exports.menuItemPadding[Combobox_types_1.ComboboxSize.Large].y,
17
+ };
18
+ exports.popoverStyle = (0, emotion_1.css) `
19
+ overflow: hidden;
20
+ border-radius: 12px;
21
+ border: 1px solid;
22
+ `;
23
+ exports.popoverThemeStyle = {
24
+ [lib_1.Theme.Light]: (0, emotion_1.css) `
25
+ box-shadow: 0px 4px 7px ${(0, polished_1.transparentize)(0.85, palette_1.palette.black)};
26
+ border-color: ${palette_1.palette.gray.light2};
27
+ `,
28
+ [lib_1.Theme.Dark]: (0, emotion_1.css) `
29
+ box-shadow: 0px 4px 7px ${(0, polished_1.transparentize)(0.85, palette_1.palette.black)};
30
+ border-color: ${palette_1.palette.gray.dark3};
31
+ `,
32
+ };
33
+ exports.menuBaseStyle = (0, emotion_1.css) `
34
+ position: relative;
35
+ width: 100%;
36
+ margin: 0;
37
+ padding: ${tokens_1.spacing[2]}px 0;
38
+ font-family: ${tokens_1.fontFamilies.default};
39
+ border-radius: inherit;
40
+ overflow-y: auto;
41
+ scroll-behavior: smooth;
42
+ `;
43
+ exports.menuThemeStyle = {
44
+ [lib_1.Theme.Light]: (0, emotion_1.css) `
45
+ color: ${palette_1.palette.black};
46
+ background-color: ${palette_1.palette.white};
47
+ `,
48
+ [lib_1.Theme.Dark]: (0, emotion_1.css) `
49
+ color: ${palette_1.palette.gray.light1};
50
+ background-color: ${palette_1.palette.gray.dark3};
51
+ `,
52
+ };
53
+ exports.menuSizeStyle = {
54
+ [Combobox_types_1.ComboboxSize.Default]: (0, emotion_1.css) `
55
+ min-height: ${exports.menuItemHeight[Combobox_types_1.ComboboxSize.Default]}px;
56
+ `,
57
+ [Combobox_types_1.ComboboxSize.Large]: (0, emotion_1.css) `
58
+ min-height: ${exports.menuItemHeight[Combobox_types_1.ComboboxSize.Large]}px;
59
+ `,
60
+ };
61
+ exports.menuList = (0, emotion_1.css) `
62
+ position: relative;
63
+ margin: 0;
64
+ padding: 0;
65
+ `;
66
+ exports.menuMessageBaseStyle = (0, emotion_1.css) `
67
+ font-family: inherit;
68
+ display: inline-flex;
69
+ align-items: center;
70
+ gap: 8px;
71
+ `;
72
+ exports.menuMessageThemeStyle = {
73
+ [lib_1.Theme.Light]: (0, emotion_1.css) `
74
+ color: ${palette_1.palette.gray.dark3};
75
+ `,
76
+ [lib_1.Theme.Dark]: (0, emotion_1.css) `
77
+ color: ${palette_1.palette.gray.light3};
78
+ `,
79
+ };
80
+ exports.menuMessageSizeStyle = {
81
+ [Combobox_types_1.ComboboxSize.Default]: (0, emotion_1.css) `
82
+ font-size: ${tokens_1.typeScales.body1.fontSize}px;
83
+ line-height: ${tokens_1.typeScales.body1.lineHeight}px;
84
+ padding: ${exports.menuItemPadding[Combobox_types_1.ComboboxSize.Default].y}px
85
+ ${exports.menuItemPadding[Combobox_types_1.ComboboxSize.Default].x}px;
86
+ `,
87
+ [Combobox_types_1.ComboboxSize.Large]: (0, emotion_1.css) `
88
+ font-size: ${tokens_1.typeScales.body2.fontSize}px;
89
+ line-height: ${tokens_1.typeScales.body2.lineHeight}px;
90
+ padding: ${exports.menuItemPadding[Combobox_types_1.ComboboxSize.Large].y}px
91
+ ${exports.menuItemPadding[Combobox_types_1.ComboboxSize.Large].x}px;
92
+ `,
93
+ };
94
+ exports.menuMessageIconSizeStyle = {
95
+ [Combobox_types_1.ComboboxSize.Default]: (0, emotion_1.css) `
96
+ height: ${tokens_1.typeScales.body1.fontSize}px;
97
+ width: ${tokens_1.typeScales.body1.fontSize}px;
98
+ `,
99
+ [Combobox_types_1.ComboboxSize.Large]: (0, emotion_1.css) `
100
+ height: ${tokens_1.typeScales.body2.fontSize}px;
101
+ width: ${tokens_1.typeScales.body2.fontSize}px;
102
+ `,
103
+ };
104
+ const loadingIconAnimation = (0, emotion_1.keyframes) `
105
+ 0% {
106
+ transform: rotate(0deg);
107
+ }
108
+ 100% {
109
+ transform: rotate(360deg);
110
+ }
111
+ `;
112
+ exports.loadingIconStyle = (0, emotion_1.css) `
113
+ animation: ${loadingIconAnimation} 1.5s linear infinite;
114
+ `;
115
+ //# sourceMappingURL=Menu.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.styles.js","sourceRoot":"","sources":["../../../../src/components/combobox/ComboboxMenu/Menu.styles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { ComboboxOptionProps, InternalComboboxOptionProps } from './Combobox.types';
4
+ declare const InternalComboboxOption: React.ForwardRefExoticComponent<InternalComboboxOptionProps & React.RefAttributes<HTMLLIElement>>;
5
+ export { InternalComboboxOption };
6
+ export declare function ComboboxOption(_: ComboboxOptionProps): JSX.Element;
7
+ export declare namespace ComboboxOption {
8
+ var displayName: string;
9
+ var propTypes: {
10
+ displayName: PropTypes.Requireable<string>;
11
+ value: PropTypes.Requireable<string>;
12
+ glyph: PropTypes.Requireable<PropTypes.ReactNodeLike>;
13
+ disabled: PropTypes.Requireable<boolean>;
14
+ className: PropTypes.Requireable<string>;
15
+ };
16
+ }
17
+ //# sourceMappingURL=ComboboxOption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComboboxOption.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/ComboboxOption.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAChE,OAAO,SAAS,MAAM,YAAY,CAAC;AAWnC,OAAO,EACL,mBAAmB,EAEnB,2BAA2B,EAC5B,MAAM,kBAAkB,CAAC;AAqK1B,QAAA,MAAM,sBAAsB,mGAwJ3B,CAAC;AAGF,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,wBAAgB,cAAc,CAAC,CAAC,EAAE,mBAAmB,GAAG,GAAG,CAAC,OAAO,CAElE;yBAFe,cAAc"}
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ComboboxOption = exports.InternalComboboxOption = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ const prop_types_1 = __importDefault(require("prop-types"));
32
+ const checkbox_1 = __importDefault(require("@leafygreen-ui/checkbox"));
33
+ const emotion_1 = require("@leafygreen-ui/emotion");
34
+ const hooks_1 = require("@leafygreen-ui/hooks");
35
+ const icon_1 = __importStar(require("@leafygreen-ui/icon"));
36
+ const lib_1 = require("@leafygreen-ui/lib");
37
+ const palette_1 = require("@leafygreen-ui/palette");
38
+ const tokens_1 = require("@leafygreen-ui/tokens");
39
+ const Menu_styles_1 = require("./ComboboxMenu/Menu.styles");
40
+ const Combobox_types_1 = require("./Combobox.types");
41
+ const ComboboxContext_1 = require("./ComboboxContext");
42
+ const utils_1 = require("./utils");
43
+ const comboboxOptionBaseStyle = (0, emotion_1.css) `
44
+ position: relative;
45
+ display: flex;
46
+ flex: 1;
47
+ align-items: center;
48
+ justify-content: flex-start;
49
+ list-style: none;
50
+ color: inherit;
51
+ cursor: pointer;
52
+ overflow: hidden;
53
+ font-family: ${tokens_1.fontFamilies.default};
54
+
55
+ // Left wedge
56
+ &:before {
57
+ content: '';
58
+ position: absolute;
59
+ left: 0;
60
+ width: 4px;
61
+ height: calc(100% - 14px);
62
+ background-color: rgba(255, 255, 255, 0);
63
+ border-radius: 0 6px 6px 0;
64
+ transform: scale3d(0, 0.3, 0);
65
+ transition: 200ms ease-in-out;
66
+ transition-property: transform, background-color;
67
+ }
68
+ `;
69
+ const optionNameStyles = (width) => (0, emotion_1.css) `
70
+ max-width: ${width}px;
71
+ width: 100%;
72
+ display: flex;
73
+ align-items: center;
74
+ justify-content: space-between;
75
+ flex-shrink: 0;
76
+ margin-right: ${tokens_1.spacing[2]}px;
77
+ `;
78
+ const comboboxOptionThemeStyle = {
79
+ [lib_1.Theme.Light]: (0, emotion_1.css) `
80
+ &:hover {
81
+ outline: none;
82
+ background-color: ${palette_1.palette.gray.light2};
83
+ }
84
+ `,
85
+ [lib_1.Theme.Dark]: (0, emotion_1.css) `
86
+ &:hover {
87
+ outline: none;
88
+ background-color: ${palette_1.palette.gray.dark4};
89
+ }
90
+ `,
91
+ };
92
+ const comboboxOptionSizeStyle = {
93
+ [Combobox_types_1.ComboboxSize.Default]: (0, emotion_1.css) `
94
+ font-size: ${tokens_1.typeScales.body1.fontSize}px;
95
+ line-height: ${tokens_1.typeScales.body1.lineHeight}px;
96
+ min-height: ${Menu_styles_1.menuItemHeight[Combobox_types_1.ComboboxSize.Default]}px;
97
+ padding: ${Menu_styles_1.menuItemPadding[Combobox_types_1.ComboboxSize.Default].y}px
98
+ ${Menu_styles_1.menuItemPadding[Combobox_types_1.ComboboxSize.Default].x}px;
99
+ gap: ${tokens_1.spacing[1]}px;
100
+
101
+ &:before {
102
+ max-height: ${Menu_styles_1.menuItemHeight[Combobox_types_1.ComboboxSize.Default]}px;
103
+ }
104
+ `,
105
+ [Combobox_types_1.ComboboxSize.Large]: (0, emotion_1.css) `
106
+ font-size: ${tokens_1.typeScales.body2.fontSize}px;
107
+ line-height: ${tokens_1.typeScales.body2.lineHeight}px;
108
+ min-height: ${Menu_styles_1.menuItemHeight[Combobox_types_1.ComboboxSize.Large]}px;
109
+ padding: ${Menu_styles_1.menuItemPadding[Combobox_types_1.ComboboxSize.Large].y}px
110
+ ${Menu_styles_1.menuItemPadding[Combobox_types_1.ComboboxSize.Large].x}px;
111
+ gap: ${tokens_1.spacing[2]}px;
112
+
113
+ &:before {
114
+ max-height: ${Menu_styles_1.menuItemHeight[Combobox_types_1.ComboboxSize.Large]}px;
115
+ }
116
+ `,
117
+ };
118
+ const _comboboxOptionBaseActiveStyle = (0, emotion_1.css) `
119
+ outline: none;
120
+
121
+ &:before {
122
+ transform: scaleY(1);
123
+ }
124
+ `;
125
+ const comboboxOptionActiveStyle = {
126
+ [lib_1.Theme.Light]: (0, emotion_1.css) `
127
+ ${_comboboxOptionBaseActiveStyle};
128
+ background-color: ${palette_1.palette.blue.light3};
129
+
130
+ &:before {
131
+ background-color: ${palette_1.palette.blue.base};
132
+ }
133
+ `,
134
+ [lib_1.Theme.Dark]: (0, emotion_1.css) `
135
+ ${_comboboxOptionBaseActiveStyle};
136
+ background-color: ${palette_1.palette.blue.dark3};
137
+
138
+ &:before {
139
+ background-color: ${palette_1.palette.blue.light1};
140
+ }
141
+ `,
142
+ };
143
+ const _comboboxOptionBaseDisabledStyle = (0, emotion_1.css) `
144
+ cursor: not-allowed;
145
+
146
+ &:hover {
147
+ background-color: inherit;
148
+ }
149
+
150
+ &:before {
151
+ content: unset;
152
+ }
153
+ `;
154
+ const comboboxOptionDisabledStyle = {
155
+ [lib_1.Theme.Light]: (0, emotion_1.css) `
156
+ ${_comboboxOptionBaseDisabledStyle};
157
+ color: ${palette_1.palette.gray.light1};
158
+ `,
159
+ [lib_1.Theme.Dark]: (0, emotion_1.css) `
160
+ ${_comboboxOptionBaseDisabledStyle};
161
+ color: ${palette_1.palette.gray.dark1};
162
+ `,
163
+ };
164
+ const checkIconStyle = {
165
+ [Combobox_types_1.ComboboxSize.Default]: (0, emotion_1.css) `
166
+ min-width: ${tokens_1.spacing[3]}px;
167
+ `,
168
+ [Combobox_types_1.ComboboxSize.Large]: (0, emotion_1.css) `
169
+ min-width: ${tokens_1.spacing[4]}px;
170
+ `,
171
+ };
172
+ const flexSpan = (0, emotion_1.css) `
173
+ display: inline-flex;
174
+ gap: 8px;
175
+ justify-content: start;
176
+ align-items: inherit;
177
+ overflow-wrap: anywhere;
178
+ `;
179
+ const disallowPointer = (0, emotion_1.css) `
180
+ pointer-events: none;
181
+ `;
182
+ const displayNameStyle = (isSelected) => (0, emotion_1.css) `
183
+ font-weight: ${isSelected ? 'bold' : 'normal'};
184
+ `;
185
+ const InternalComboboxOption = react_1.default.forwardRef(({ displayName, glyph, isSelected, isFocused, disabled, setSelected, className, description, }, forwardedRef) => {
186
+ const { multiselect, darkMode, theme, withIcons, inputValue, size, searchInputSize, } = (0, react_1.useContext)(ComboboxContext_1.ComboboxContext);
187
+ const optionTextId = (0, hooks_1.useIdAllocator)({ prefix: 'combobox-option-text' });
188
+ const optionRef = (0, hooks_1.useForwardedRef)(forwardedRef, null);
189
+ const handleOptionClick = (0, react_1.useCallback)((e) => {
190
+ e.stopPropagation();
191
+ if (!disabled) {
192
+ setSelected();
193
+ }
194
+ }, [disabled, optionRef, setSelected]);
195
+ const renderedIcon = (0, react_1.useMemo)(() => {
196
+ if (glyph) {
197
+ if ((0, icon_1.isComponentGlyph)(glyph)) {
198
+ return glyph;
199
+ }
200
+ console.error('`ComboboxOption` instance did not render icon because it is not a known glyph element.', glyph);
201
+ }
202
+ }, [glyph]);
203
+ const renderedChildren = (0, react_1.useMemo)(() => {
204
+ if (multiselect) {
205
+ const checkbox = (react_1.default.createElement(checkbox_1.default, { "aria-labelledby": optionTextId, checked: isSelected, tabIndex: -1, disabled: disabled, darkMode: darkMode, className: (0, emotion_1.css) `
206
+ // TODO: Remove when this is resolved:
207
+ // https://jira.mongodb.org/browse/PD-2171
208
+ & > label > div {
209
+ margin-top: 0;
210
+ }
211
+ ` }));
212
+ return (react_1.default.createElement(react_1.default.Fragment, null,
213
+ react_1.default.createElement("span", { className: optionNameStyles(searchInputSize) },
214
+ react_1.default.createElement("span", { className: (0, emotion_1.cx)(flexSpan, disallowPointer) },
215
+ withIcons ? renderedIcon : checkbox,
216
+ react_1.default.createElement("span", { id: optionTextId, className: displayNameStyle(isSelected) }, (0, utils_1.wrapJSX)(displayName, inputValue, 'strong'))),
217
+ withIcons && checkbox),
218
+ description && react_1.default.createElement("span", null, description)));
219
+ }
220
+ return (react_1.default.createElement(react_1.default.Fragment, null,
221
+ react_1.default.createElement("span", { className: optionNameStyles(searchInputSize) },
222
+ react_1.default.createElement("span", { className: (0, emotion_1.cx)(flexSpan, disallowPointer) },
223
+ renderedIcon,
224
+ react_1.default.createElement("span", { className: displayNameStyle(isSelected) }, (0, utils_1.wrapJSX)(displayName, inputValue, 'strong'))),
225
+ isSelected && (react_1.default.createElement(icon_1.default, { glyph: "Checkmark", className: checkIconStyle[size], color: darkMode ? palette_1.palette.blue.light1 : palette_1.palette.blue.base }))),
226
+ description && react_1.default.createElement("span", null, description)));
227
+ }, [
228
+ multiselect,
229
+ renderedIcon,
230
+ isSelected,
231
+ displayName,
232
+ inputValue,
233
+ size,
234
+ darkMode,
235
+ optionTextId,
236
+ disabled,
237
+ withIcons,
238
+ ]);
239
+ return (react_1.default.createElement("li", { ref: optionRef, role: "option", "aria-selected": isFocused, "aria-label": displayName, tabIndex: -1, className: (0, emotion_1.cx)(comboboxOptionBaseStyle, comboboxOptionSizeStyle[size], comboboxOptionThemeStyle[theme], {
240
+ [comboboxOptionActiveStyle[theme]]: isFocused,
241
+ [comboboxOptionDisabledStyle[theme]]: disabled,
242
+ }, className), onClick: handleOptionClick, onKeyDown: handleOptionClick }, renderedChildren));
243
+ });
244
+ exports.InternalComboboxOption = InternalComboboxOption;
245
+ InternalComboboxOption.displayName = 'ComboboxOption';
246
+ function ComboboxOption(_) {
247
+ throw Error('`ComboboxOption` must be a child of a `Combobox` instance');
248
+ }
249
+ exports.ComboboxOption = ComboboxOption;
250
+ ComboboxOption.displayName = 'ComboboxOption';
251
+ ComboboxOption.propTypes = {
252
+ displayName: prop_types_1.default.string,
253
+ value: prop_types_1.default.string,
254
+ glyph: prop_types_1.default.node,
255
+ disabled: prop_types_1.default.bool,
256
+ className: prop_types_1.default.string,
257
+ };
258
+ //# sourceMappingURL=ComboboxOption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComboboxOption.js","sourceRoot":"","sources":["../../../src/components/combobox/ComboboxOption.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Theme } from '@leafygreen-ui/lib';
2
+ import { ComboboxSize } from './Combobox.types';
3
+ export declare const menuItemHeight = 36;
4
+ export declare const menuItemPadding: Record<ComboboxSize, {
5
+ x: number;
6
+ y: number;
7
+ }>;
8
+ export declare const popoverStyle: (width?: number) => string;
9
+ export declare const popoverThemeStyle: Record<Theme, string>;
10
+ export declare const menuBaseStyle: string;
11
+ export declare const menuThemeStyle: Record<Theme, string>;
12
+ export declare const menuList: string;
13
+ export declare const menuMessageBaseStyle: string;
14
+ export declare const menuMessageThemeStyle: Record<Theme, string>;
15
+ export declare const menuMessageSizeStyle: Record<ComboboxSize, string>;
16
+ export declare const menuMessageIconSizeStyle: Record<ComboboxSize, string>;
17
+ export declare const loadingIconStyle: string;
18
+ //# sourceMappingURL=Menu.styles.d.ts.map