@mongodb-js/compass-components 0.17.0 → 1.0.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 (66) hide show
  1. package/lib/components/editor.d.ts +2 -1
  2. package/lib/components/editor.d.ts.map +1 -1
  3. package/lib/components/editor.js +34 -5
  4. package/lib/components/editor.js.map +1 -1
  5. package/lib/components/leafy-green/combobox/chip.d.ts +4 -0
  6. package/lib/components/leafy-green/combobox/chip.d.ts.map +1 -0
  7. package/lib/components/leafy-green/combobox/chip.js +182 -0
  8. package/lib/components/leafy-green/combobox/chip.js.map +1 -0
  9. package/lib/components/leafy-green/combobox/combobox-context.d.ts +15 -0
  10. package/lib/components/leafy-green/combobox/combobox-context.d.ts.map +1 -0
  11. package/lib/components/leafy-green/combobox/combobox-context.js +12 -0
  12. package/lib/components/leafy-green/combobox/combobox-context.js.map +1 -0
  13. package/lib/components/leafy-green/combobox/combobox-group.d.ts +9 -0
  14. package/lib/components/leafy-green/combobox/combobox-group.d.ts.map +1 -0
  15. package/lib/components/leafy-green/combobox/combobox-group.js +69 -0
  16. package/lib/components/leafy-green/combobox/combobox-group.js.map +1 -0
  17. package/lib/components/leafy-green/combobox/combobox-option.d.ts +10 -0
  18. package/lib/components/leafy-green/combobox/combobox-option.d.ts.map +1 -0
  19. package/lib/components/leafy-green/combobox/combobox-option.js +142 -0
  20. package/lib/components/leafy-green/combobox/combobox-option.js.map +1 -0
  21. package/lib/components/leafy-green/combobox/combobox-types.d.ts +94 -0
  22. package/lib/components/leafy-green/combobox/combobox-types.d.ts.map +1 -0
  23. package/lib/components/leafy-green/combobox/combobox-types.js +36 -0
  24. package/lib/components/leafy-green/combobox/combobox-types.js.map +1 -0
  25. package/lib/components/leafy-green/combobox/combobox.d.ts +4 -0
  26. package/lib/components/leafy-green/combobox/combobox.d.ts.map +1 -0
  27. package/lib/components/leafy-green/combobox/combobox.js +725 -0
  28. package/lib/components/leafy-green/combobox/combobox.js.map +1 -0
  29. package/lib/components/leafy-green/combobox/combobox.styles.d.ts +38 -0
  30. package/lib/components/leafy-green/combobox/combobox.styles.d.ts.map +1 -0
  31. package/lib/components/leafy-green/combobox/combobox.styles.js +292 -0
  32. package/lib/components/leafy-green/combobox/combobox.styles.js.map +1 -0
  33. package/lib/components/leafy-green/combobox/index.d.ts +4 -0
  34. package/lib/components/leafy-green/combobox/index.d.ts.map +1 -0
  35. package/lib/components/leafy-green/combobox/index.js +13 -0
  36. package/lib/components/leafy-green/combobox/index.js.map +1 -0
  37. package/lib/components/leafy-green/combobox/util.d.ts +27 -0
  38. package/lib/components/leafy-green/combobox/util.d.ts.map +1 -0
  39. package/lib/components/leafy-green/combobox/util.js +65 -0
  40. package/lib/components/leafy-green/combobox/util.js.map +1 -0
  41. package/lib/components/more-options-toggle.d.ts.map +1 -1
  42. package/lib/components/more-options-toggle.js +1 -1
  43. package/lib/components/more-options-toggle.js.map +1 -1
  44. package/lib/components/placeholder.d.ts +5 -4
  45. package/lib/components/placeholder.d.ts.map +1 -1
  46. package/lib/components/placeholder.js +3 -1
  47. package/lib/components/placeholder.js.map +1 -1
  48. package/lib/components/resizeable-sidebar.d.ts +8 -0
  49. package/lib/components/resizeable-sidebar.d.ts.map +1 -0
  50. package/lib/components/resizeable-sidebar.js +84 -0
  51. package/lib/components/resizeable-sidebar.js.map +1 -0
  52. package/lib/components/spin-loader.d.ts +2 -1
  53. package/lib/components/spin-loader.d.ts.map +1 -1
  54. package/lib/components/spin-loader.js +2 -2
  55. package/lib/components/spin-loader.js.map +1 -1
  56. package/lib/constants/mongodb-ace-theme-query.d.ts +1 -1
  57. package/lib/constants/mongodb-ace-theme-query.js +2 -2
  58. package/lib/hooks/use-theme.d.ts +2 -1
  59. package/lib/hooks/use-theme.d.ts.map +1 -1
  60. package/lib/hooks/use-theme.js +2 -1
  61. package/lib/hooks/use-theme.js.map +1 -1
  62. package/lib/index.d.ts +5 -2
  63. package/lib/index.d.ts.map +1 -1
  64. package/lib/index.js +10 -2
  65. package/lib/index.js.map +1 -1
  66. package/package.json +19 -12
@@ -22,13 +22,14 @@ declare const EditorVariant: {
22
22
  declare type EditorProps = {
23
23
  variant: keyof typeof EditorVariant;
24
24
  text?: string;
25
+ id?: string;
25
26
  options?: Omit<IAceOptions, 'readOnly'>;
26
27
  readOnly?: boolean;
27
28
  completer?: unknown;
28
29
  'data-testid'?: string;
29
30
  onChangeText?: (text: string, event?: any) => void;
30
31
  } & Omit<IAceEditorProps, 'onChange' | 'value'>;
31
- declare function Editor({ text, variant, options, readOnly, onChangeText, completer, onFocus, 'data-testid': dataTestId, ...aceProps }: EditorProps): React.ReactElement;
32
+ declare function Editor({ text, variant, options, readOnly, id, onChangeText, completer, onFocus, 'data-testid': dataTestId, ...aceProps }: EditorProps): React.ReactElement;
32
33
  declare function setEditorValue(element: HTMLElement, value: string): void;
33
34
  declare const EditorTextCompleter: any;
34
35
  export { Editor, EditorVariant, EditorTextCompleter, setEditorValue };
@@ -1 +1 @@
1
- {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/components/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,8CAA8C,CAAC;AACtD,OAAO,2CAA2C,CAAC;AACnD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,oCAAoC,CAAC;AAE5C,OAAO,kBAAkB,CAAC;AAC1B,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAiB9C,QAAA,MAAM,aAAa;;;;CAIT,CAAC;AAEX,aAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,OAAO,aAAa,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACpD,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC;AAEhD,iBAAS,MAAM,CAAC,EACd,IAAI,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,OAAO,EACP,aAAa,EAAE,UAAU,EACzB,GAAG,QAAQ,EACZ,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CA4ClC;AAUD,iBAAS,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMjE;AAED,QAAA,MAAM,mBAAmB,KAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"editor.d.ts","sourceRoot":"","sources":["../../src/components/editor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkC,MAAM,OAAO,CAAC;AAYvD,OAAO,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE9D,OAAO,8CAA8C,CAAC;AACtD,OAAO,2CAA2C,CAAC;AACnD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,qCAAqC,CAAC;AAC7C,OAAO,uCAAuC,CAAC;AAC/C,OAAO,oCAAoC,CAAC;AAE5C,OAAO,kBAAkB,CAAC;AAC1B,OAAO,gCAAgC,CAAC;AACxC,OAAO,sCAAsC,CAAC;AAiB9C,QAAA,MAAM,aAAa;;;;CAIT,CAAC;AAEX,aAAK,WAAW,GAAG;IACjB,OAAO,EAAE,MAAM,OAAO,aAAa,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CACpD,GAAG,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC;AAEhD,iBAAS,MAAM,CAAC,EACd,IAAI,EACJ,OAAO,EACP,OAAO,EACP,QAAQ,EACR,EAAE,EACF,YAAY,EACZ,SAAS,EACT,OAAO,EACP,aAAa,EAAE,UAAU,EACzB,GAAG,QAAQ,EACZ,EAAE,WAAW,GAAG,KAAK,CAAC,YAAY,CAuDlC;AAUD,iBAAS,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAMjE;AAED,QAAA,MAAM,mBAAmB,KAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,mBAAmB,EAAE,cAAc,EAAE,CAAC"}
@@ -1,10 +1,33 @@
1
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
+ };
2
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
27
  };
5
28
  Object.defineProperty(exports, "__esModule", { value: true });
6
29
  exports.setEditorValue = exports.EditorTextCompleter = exports.EditorVariant = exports.Editor = void 0;
7
- const react_1 = __importDefault(require("react"));
30
+ const react_1 = __importStar(require("react"));
8
31
  const utils_1 = require("@react-aria/utils");
9
32
  if (typeof window === 'undefined' && typeof globalThis !== 'undefined') {
10
33
  globalThis.window = {};
@@ -42,7 +65,7 @@ const EditorVariant = {
42
65
  Generic: 'Generic',
43
66
  };
44
67
  exports.EditorVariant = EditorVariant;
45
- function Editor({ text, variant, options, readOnly, onChangeText, completer, onFocus, 'data-testid': dataTestId, ...aceProps }) {
68
+ function Editor({ text, variant, options, readOnly, id, onChangeText, completer, onFocus, 'data-testid': dataTestId, ...aceProps }) {
46
69
  var _a;
47
70
  const setOptions = {
48
71
  ...DEFAULT_OPTIONS,
@@ -51,12 +74,18 @@ function Editor({ text, variant, options, readOnly, onChangeText, completer, onF
51
74
  ...(variant === 'Shell' && { mode: 'ace/mode/mongodb' }),
52
75
  ...(!!completer && { enableLiveAutocompletion: true }),
53
76
  };
54
- const editorId = (0, utils_1.useId)();
55
- const editor = (react_1.default.createElement(react_ace_1.default, { mode: variant === 'Generic'
77
+ const editorRef = (0, react_1.useRef)(null);
78
+ (0, react_1.useLayoutEffect)(() => {
79
+ if (id && editorRef.current) {
80
+ editorRef.current.editor.textInput.getElement().id = id;
81
+ }
82
+ }, [id]);
83
+ const editorName = (0, utils_1.useId)();
84
+ const editor = (react_1.default.createElement(react_ace_1.default, { ref: (ref) => (editorRef.current = ref), mode: variant === 'Generic'
56
85
  ? undefined
57
86
  : variant === 'EJSON'
58
87
  ? 'json'
59
- : 'javascript', theme: "mongodb", width: "100%", value: text, onChange: onChangeText, editorProps: { $blockScrolling: Infinity }, setOptions: setOptions, readOnly: readOnly, commands: ext_beautify_1.default.commands, name: (_a = aceProps.name) !== null && _a !== void 0 ? _a : editorId, ...aceProps, onFocus: (ev) => {
88
+ : 'javascript', theme: "mongodb", width: "100%", value: text, onChange: onChangeText, editorProps: { $blockScrolling: Infinity }, setOptions: setOptions, readOnly: readOnly, commands: ext_beautify_1.default.commands, name: (_a = aceProps.name) !== null && _a !== void 0 ? _a : editorName, ...aceProps, onFocus: (ev) => {
60
89
  if (completer) {
61
90
  ext_language_tools_1.default.setCompleters([completer]);
62
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/components/editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../src/components/editor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { ChipProps } from './combobox-types';
3
+ export declare const Chip: React.ForwardRefExoticComponent<ChipProps & React.RefAttributes<HTMLSpanElement>>;
4
+ //# sourceMappingURL=chip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../../../src/components/leafy-green/combobox/chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiD,MAAM,OAAO,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,EAAgB,MAAM,kBAAkB,CAAC;AAmGhE,eAAO,MAAM,IAAI,mFAyHhB,CAAC"}
@@ -0,0 +1,182 @@
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.Chip = void 0;
30
+ const react_1 = __importStar(require("react"));
31
+ const icon_1 = __importDefault(require("@leafygreen-ui/icon"));
32
+ const combobox_context_1 = require("./combobox-context");
33
+ const emotion_1 = require("@leafygreen-ui/emotion");
34
+ const palette_1 = require("@leafygreen-ui/palette");
35
+ const inline_definition_1 = __importDefault(require("@leafygreen-ui/inline-definition"));
36
+ const lib_1 = require("@leafygreen-ui/lib");
37
+ const util_1 = require("./util");
38
+ const chipWrapperStyle = ({ darkMode, size, }) => {
39
+ let chipModeStyle, chipSizeStyle;
40
+ if (darkMode) {
41
+ chipModeStyle = (0, emotion_1.css) ``;
42
+ }
43
+ else {
44
+ chipModeStyle = (0, emotion_1.css) `
45
+ --lg-combobox-chip-text-color: ${palette_1.uiColors.gray.dark3};
46
+ --lg-combobox-chip-icon-color: ${palette_1.uiColors.gray.dark2};
47
+ --lg-combobox-chip-background-color: ${palette_1.uiColors.gray.light2};
48
+ --lg-combobox-chip-hover-color: ${palette_1.uiColors.gray.light1};
49
+ --lg-combobox-chip-focus-color: ${palette_1.uiColors.blue.light2};
50
+ `;
51
+ }
52
+ switch (size) {
53
+ case 'default':
54
+ chipSizeStyle = (0, emotion_1.css) `
55
+ --lg-combobox-chip-height: 24px;
56
+ --lg-combobox-chip-border-radius: 4px;
57
+ --lg-combobox-chip-font-size: 14px;
58
+ --lg-combobox-chip-line-height: 20px;
59
+ --lg-combobox-chip-padding-x: 6px;
60
+ `;
61
+ break;
62
+ }
63
+ return (0, emotion_1.cx)(chipModeStyle, chipSizeStyle, (0, emotion_1.css) `
64
+ display: inline-flex;
65
+ align-items: center;
66
+ overflow: hidden;
67
+ white-space: nowrap;
68
+ height: var(--lg-combobox-chip-height);
69
+ font-size: var(--lg-combobox-chip-font-size);
70
+ line-height: var(--lg-combobox-chip-line-height);
71
+ border-radius: var(--lg-combobox-chip-border-radius);
72
+ color: var(--lg-combobox-chip-text-color);
73
+ background-color: var(--lg-combobox-chip-background-color);
74
+
75
+ // TODO - refine these styles
76
+ /* &:focus, */
77
+ &:focus-within {
78
+ background-color: var(--lg-combobox-chip-focus-color);
79
+ }
80
+ `);
81
+ };
82
+ const chipText = (0, emotion_1.css) `
83
+ padding-inline: var(--lg-combobox-chip-padding-x);
84
+ `;
85
+ const chipButton = (0, emotion_1.css) `
86
+ position: relative;
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ height: 100%;
91
+ width: 100%;
92
+ outline: none;
93
+ border: none;
94
+ background-color: transparent;
95
+ color: var(--lg-combobox-chip-icon-color);
96
+ cursor: pointer;
97
+ transition: background-color 100ms ease-in-out;
98
+
99
+ &:before {
100
+ content: '';
101
+ position: absolute;
102
+ top: 0;
103
+ left: 0;
104
+ height: 100%;
105
+ width: 1px;
106
+ background-color: var(--lg-combobox-chip-hover-color);
107
+ }
108
+
109
+ &:hover {
110
+ background-color: var(--lg-combobox-chip-hover-color);
111
+ }
112
+ `;
113
+ exports.Chip = react_1.default.forwardRef(({ displayName, isFocused, onRemove, onFocus }, forwardedRef) => {
114
+ const { darkMode, size, disabled, chipTruncationLocation, chipCharacterLimit = 12, } = (0, react_1.useContext)(combobox_context_1.ComboboxContext);
115
+ const isTruncated = !!chipCharacterLimit &&
116
+ !!chipTruncationLocation &&
117
+ chipTruncationLocation !== 'none' &&
118
+ displayName.length > chipCharacterLimit;
119
+ const buttonRef = (0, react_1.useRef)(null);
120
+ const truncatedName = (0, react_1.useMemo)(() => {
121
+ if (isTruncated) {
122
+ const ellipsis = '…';
123
+ const chars = chipCharacterLimit - 3;
124
+ switch (chipTruncationLocation) {
125
+ case 'start': {
126
+ const end = displayName
127
+ .substring(displayName.length - chars)
128
+ .trim();
129
+ return ellipsis + end;
130
+ }
131
+ case 'middle': {
132
+ const start = displayName.substring(0, chars / 2).trim();
133
+ const end = displayName
134
+ .substring(displayName.length - chars / 2)
135
+ .trim();
136
+ return start + ellipsis + end;
137
+ }
138
+ case 'end': {
139
+ const start = displayName.substring(0, chars).trim();
140
+ return start + ellipsis;
141
+ }
142
+ default: {
143
+ return displayName;
144
+ }
145
+ }
146
+ }
147
+ return false;
148
+ }, [chipCharacterLimit, chipTruncationLocation, displayName, isTruncated]);
149
+ (0, react_1.useEffect)(() => {
150
+ var _a;
151
+ if (isFocused && !disabled) {
152
+ (_a = buttonRef === null || buttonRef === void 0 ? void 0 : buttonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
153
+ }
154
+ }, [disabled, forwardedRef, isFocused]);
155
+ const handleKeyDown = (e) => {
156
+ if (!disabled &&
157
+ (e.keyCode === util_1.keyMap.Delete ||
158
+ e.keyCode === util_1.keyMap.Backspace ||
159
+ e.keyCode === util_1.keyMap.Enter ||
160
+ e.keyCode === util_1.keyMap.Space)) {
161
+ onRemove();
162
+ }
163
+ };
164
+ const handleChipClick = (e) => {
165
+ var _a;
166
+ if (!((_a = buttonRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
167
+ onFocus();
168
+ }
169
+ };
170
+ const handleButtonClick = () => {
171
+ if (!disabled) {
172
+ onRemove();
173
+ }
174
+ };
175
+ const dataProp = (0, lib_1.createDataProp)('combobox-chip');
176
+ return (react_1.default.createElement("span", { role: "option", "aria-selected": isFocused, "data-test-id": "lg-combobox-chip", ...dataProp.prop, ref: forwardedRef, className: chipWrapperStyle({ darkMode, size }), onClick: handleChipClick, tabIndex: -1 },
177
+ react_1.default.createElement("span", { className: chipText }, truncatedName ? (react_1.default.createElement(inline_definition_1.default, { definition: displayName, align: "bottom" }, truncatedName)) : (displayName)),
178
+ react_1.default.createElement("button", { "aria-label": `Deselect ${displayName}`, "aria-disabled": disabled, disabled: disabled, ref: buttonRef, className: chipButton, onClick: handleButtonClick, onKeyDown: handleKeyDown },
179
+ react_1.default.createElement(icon_1.default, { glyph: "X" }))));
180
+ });
181
+ exports.Chip.displayName = 'Chip';
182
+ //# sourceMappingURL=chip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chip.js","sourceRoot":"","sources":["../../../../src/components/leafy-green/combobox/chip.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /// <reference types="react" />
2
+ import type { ComboboxSize, TrunctationLocation } from './combobox-types';
3
+ interface ComboboxData {
4
+ multiselect: boolean;
5
+ darkMode: boolean;
6
+ size: keyof typeof ComboboxSize;
7
+ withIcons: boolean;
8
+ disabled: boolean;
9
+ chipTruncationLocation?: TrunctationLocation;
10
+ chipCharacterLimit?: number;
11
+ inputValue?: string;
12
+ }
13
+ export declare const ComboboxContext: import("react").Context<ComboboxData>;
14
+ export {};
15
+ //# sourceMappingURL=combobox-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-context.d.ts","sourceRoot":"","sources":["../../../../src/components/leafy-green/combobox/combobox-context.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,UAAU,YAAY;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,OAAO,YAAY,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,sBAAsB,CAAC,EAAE,mBAAmB,CAAC;IAC7C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,eAAe,uCAM1B,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComboboxContext = void 0;
4
+ const react_1 = require("react");
5
+ exports.ComboboxContext = (0, react_1.createContext)({
6
+ multiselect: false,
7
+ darkMode: false,
8
+ size: 'default',
9
+ withIcons: false,
10
+ disabled: false,
11
+ });
12
+ //# sourceMappingURL=combobox-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-context.js","sourceRoot":"","sources":["../../../../src/components/leafy-green/combobox/combobox-context.tsx"],"names":[],"mappings":";;;AAAA,iCAAsC;AAczB,QAAA,eAAe,GAAG,IAAA,qBAAa,EAAe;IACzD,WAAW,EAAE,KAAK;IAClB,QAAQ,EAAE,KAAK;IACf,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,KAAK;CAChB,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import type { ComboboxGroupProps } from './combobox-types';
3
+ export declare function InternalComboboxGroup({ label, className, children, }: ComboboxGroupProps): JSX.Element;
4
+ declare function ComboboxGroup(): JSX.Element;
5
+ declare namespace ComboboxGroup {
6
+ var displayName: string;
7
+ }
8
+ export default ComboboxGroup;
9
+ //# sourceMappingURL=combobox-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-group.d.ts","sourceRoot":"","sources":["../../../../src/components/leafy-green/combobox/combobox-group.tsx"],"names":[],"mappings":";AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AA4B3D,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,QAAQ,GACT,EAAE,kBAAkB,GAAG,GAAG,CAAC,OAAO,CAkBlC;AAID,iBAAwB,aAAa,IAAI,GAAG,CAAC,OAAO,CAEnD;kBAFuB,aAAa;;;eAAb,aAAa"}
@@ -0,0 +1,69 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.InternalComboboxGroup = void 0;
27
+ const emotion_1 = require("@leafygreen-ui/emotion");
28
+ const hooks_1 = require("@leafygreen-ui/hooks");
29
+ const palette_1 = require("@leafygreen-ui/palette");
30
+ const react_1 = __importStar(require("react"));
31
+ const combobox_context_1 = require("./combobox-context");
32
+ const comboboxGroupStyle = (darkMode) => (0, emotion_1.css) `
33
+ --lg-combobox-group-label-color: ${darkMode
34
+ ? palette_1.uiColors.gray.light1
35
+ : palette_1.uiColors.gray.dark1};
36
+ --lg-combobox-group-border-color: ${darkMode
37
+ ? palette_1.uiColors.gray.dark1
38
+ : palette_1.uiColors.gray.light1};
39
+ padding-top: 8px;
40
+ border-bottom: 1px solid var(--lg-combobox-group-border-color);
41
+ `;
42
+ const comboboxGroupLabel = (0, emotion_1.css) `
43
+ cursor: default;
44
+ width: 100%;
45
+ padding: 0 12px 2px;
46
+ outline: none;
47
+ overflow-wrap: anywhere;
48
+ font-size: 12px;
49
+ line-height: 16px;
50
+ font-weight: bold;
51
+ text-transform: uppercase;
52
+ letter-spacing: 0.4px;
53
+ color: var(--lg-combobox-group-label-color);
54
+ `;
55
+ function InternalComboboxGroup({ label, className, children, }) {
56
+ const { darkMode } = (0, react_1.useContext)(combobox_context_1.ComboboxContext);
57
+ const groupId = (0, hooks_1.useIdAllocator)({ prefix: 'combobox-group' });
58
+ const childCount = react_1.default.Children.count(children);
59
+ return childCount > 0 ? (react_1.default.createElement("div", { className: (0, emotion_1.cx)(comboboxGroupStyle(darkMode), className) },
60
+ react_1.default.createElement("div", { className: comboboxGroupLabel, id: groupId }, label),
61
+ react_1.default.createElement("div", { role: "group", "aria-labelledby": groupId }, children))) : (react_1.default.createElement(react_1.default.Fragment, null));
62
+ }
63
+ exports.InternalComboboxGroup = InternalComboboxGroup;
64
+ ComboboxGroup.displayName = 'ComboboxGroup';
65
+ function ComboboxGroup() {
66
+ throw Error('`ComboboxGroup` must be a child of a `Combobox` instance');
67
+ }
68
+ exports.default = ComboboxGroup;
69
+ //# sourceMappingURL=combobox-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-group.js","sourceRoot":"","sources":["../../../../src/components/leafy-green/combobox/combobox-group.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAiD;AACjD,gDAAsD;AACtD,oDAAkD;AAClD,+CAA0C;AAE1C,yDAAqD;AAErD,MAAM,kBAAkB,GAAG,CAAC,QAAiB,EAAE,EAAE,CAAC,IAAA,aAAG,EAAA;qCAChB,QAAQ;IACzC,CAAC,CAAC,kBAAQ,CAAC,IAAI,CAAC,MAAM;IACtB,CAAC,CAAC,kBAAQ,CAAC,IAAI,CAAC,KAAK;sCACa,QAAQ;IAC1C,CAAC,CAAC,kBAAQ,CAAC,IAAI,CAAC,KAAK;IACrB,CAAC,CAAC,kBAAQ,CAAC,IAAI,CAAC,MAAM;;;CAGzB,CAAC;AAEF,MAAM,kBAAkB,GAAG,IAAA,aAAG,EAAA;;;;;;;;;;;;CAY7B,CAAC;AAEF,SAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,QAAQ,GACW;IACnB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,kBAAU,EAAC,kCAAe,CAAC,CAAC;IAEjD,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,QAAQ,CAAC,EAAE,SAAS,CAAC;QACzD,uCAAK,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,IAC5C,KAAK,CACF;QACN,uCAAK,IAAI,EAAC,OAAO,qBAAkB,OAAO,IACvC,QAAQ,CACL,CACF,CACP,CAAC,CAAC,CAAC,CACF,6DAAK,CACN,CAAC;AACJ,CAAC;AAtBD,sDAsBC;AAED,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC;AAE5C,SAAwB,aAAa;IACnC,MAAM,KAAK,CAAC,0DAA0D,CAAC,CAAC;AAC1E,CAAC;AAFD,gCAEC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { InternalComboboxOptionProps } from './combobox-types';
3
+ declare const InternalComboboxOption: React.ForwardRefExoticComponent<InternalComboboxOptionProps & React.RefAttributes<HTMLLIElement>>;
4
+ export { InternalComboboxOption };
5
+ declare function ComboboxOption(): JSX.Element;
6
+ declare namespace ComboboxOption {
7
+ var displayName: string;
8
+ }
9
+ export default ComboboxOption;
10
+ //# sourceMappingURL=combobox-option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-option.d.ts","sourceRoot":"","sources":["../../../../src/components/leafy-green/combobox/combobox-option.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAMhE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AA+DpE,QAAA,MAAM,sBAAsB,mGAwH3B,CAAC;AAGF,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAClC,iBAAwB,cAAc,IAAI,GAAG,CAAC,OAAO,CAEpD;kBAFuB,cAAc;;;eAAd,cAAc"}
@@ -0,0 +1,142 @@
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.InternalComboboxOption = void 0;
30
+ const emotion_1 = require("@leafygreen-ui/emotion");
31
+ const react_1 = __importStar(require("react"));
32
+ const palette_1 = require("@leafygreen-ui/palette");
33
+ const lib_1 = require("@leafygreen-ui/lib");
34
+ const hooks_1 = require("@leafygreen-ui/hooks");
35
+ const checkbox_1 = __importDefault(require("@leafygreen-ui/checkbox"));
36
+ const icon_1 = __importStar(require("@leafygreen-ui/icon"));
37
+ const combobox_context_1 = require("./combobox-context");
38
+ const util_1 = require("./util");
39
+ const comboboxOptionStyle = () => (0, emotion_1.css) `
40
+ position: relative;
41
+ display: flex;
42
+ align-items: center;
43
+ justify-content: space-between;
44
+ list-style: none;
45
+ color: inherit;
46
+ cursor: pointer;
47
+ overflow: hidden;
48
+ font-size: var(--lg-combobox-item-font-size);
49
+ line-height: var(--lg-combobox-item-line-height);
50
+ padding: var(--lg-combobox-item-padding-y) var(--lg-combobox-item-padding-x);
51
+
52
+ &:before {
53
+ content: '';
54
+ position: absolute;
55
+ left: 0;
56
+ width: 3px;
57
+ height: var(--lg-combobox-item-wedge-height);
58
+ background-color: transparent;
59
+ border-radius: 0 2px 2px 0;
60
+ transform: scaleY(0.3);
61
+ transition: 150ms ease-in-out;
62
+ transition-property: transform, background-color;
63
+ }
64
+
65
+ &:hover {
66
+ outline: none;
67
+ background-color: var(--lg-combobox-item-hover-color);
68
+ }
69
+
70
+ &[aria-selected='true'] {
71
+ outline: none;
72
+ background-color: var(--lg-combobox-item-active-color);
73
+
74
+ &:before {
75
+ background-color: var(--lg-combobox-item-wedge-color);
76
+ transform: scaleY(1);
77
+ }
78
+ }
79
+ `;
80
+ const flexSpan = (0, emotion_1.css) `
81
+ display: inline-flex;
82
+ gap: 8px;
83
+ justify-content: start;
84
+ align-items: inherit;
85
+ `;
86
+ const displayNameStyle = (isSelected) => (0, emotion_1.css) `
87
+ font-weight: ${isSelected ? 'bold' : 'normal'};
88
+ `;
89
+ const InternalComboboxOption = react_1.default.forwardRef(({ displayName, glyph, isSelected, isFocused, setSelected, className, }, forwardedRef) => {
90
+ const { multiselect, darkMode, withIcons, inputValue } = (0, react_1.useContext)(combobox_context_1.ComboboxContext);
91
+ const optionTextId = (0, hooks_1.useIdAllocator)({ prefix: 'combobox-option-text' });
92
+ const optionRef = (0, hooks_1.useForwardedRef)(forwardedRef, null);
93
+ const handleOptionClick = (0, react_1.useCallback)((e) => {
94
+ e.stopPropagation();
95
+ if (e.target === optionRef.current ||
96
+ e.target.tagName === 'INPUT' ||
97
+ e.target.tagName === 'SPAN') {
98
+ setSelected();
99
+ }
100
+ }, [optionRef, setSelected]);
101
+ const renderedIcon = (0, react_1.useMemo)(() => {
102
+ if (glyph) {
103
+ if ((0, icon_1.isComponentGlyph)(glyph) || (0, lib_1.isComponentType)(glyph, 'Icon')) {
104
+ return glyph;
105
+ }
106
+ console.error('`ComboboxOption` instance did not render icon because it is not a known glyph element.', glyph);
107
+ }
108
+ }, [glyph]);
109
+ const renderedChildren = (0, react_1.useMemo)(() => {
110
+ if (multiselect) {
111
+ const checkbox = (react_1.default.createElement(checkbox_1.default, { label: "", "aria-labelledby": optionTextId, checked: isSelected, tabIndex: -1, animate: false }));
112
+ return (react_1.default.createElement(react_1.default.Fragment, null,
113
+ react_1.default.createElement("span", { className: flexSpan },
114
+ withIcons ? renderedIcon : checkbox,
115
+ react_1.default.createElement("span", { id: optionTextId, className: displayNameStyle(isSelected) }, (0, util_1.wrapJSX)(displayName, inputValue, 'strong'))),
116
+ withIcons && checkbox));
117
+ }
118
+ return (react_1.default.createElement(react_1.default.Fragment, null,
119
+ react_1.default.createElement("span", { className: flexSpan },
120
+ renderedIcon,
121
+ react_1.default.createElement("span", { className: displayNameStyle(isSelected) }, (0, util_1.wrapJSX)(displayName, inputValue, 'strong'))),
122
+ isSelected && (react_1.default.createElement(icon_1.default, { glyph: "Checkmark", color: darkMode ? palette_1.uiColors.blue.light1 : palette_1.uiColors.blue.base }))));
123
+ }, [
124
+ multiselect,
125
+ renderedIcon,
126
+ isSelected,
127
+ displayName,
128
+ inputValue,
129
+ darkMode,
130
+ optionTextId,
131
+ withIcons,
132
+ ]);
133
+ return (react_1.default.createElement("li", { ref: optionRef, role: "option", "aria-selected": isFocused, "aria-label": displayName, tabIndex: -1, className: (0, emotion_1.cx)(comboboxOptionStyle(), className), onClick: handleOptionClick, onKeyPress: handleOptionClick }, renderedChildren));
134
+ });
135
+ exports.InternalComboboxOption = InternalComboboxOption;
136
+ InternalComboboxOption.displayName = 'ComboboxOption';
137
+ function ComboboxOption() {
138
+ throw Error('`ComboboxOption` must be a child of a `Combobox` instance');
139
+ }
140
+ exports.default = ComboboxOption;
141
+ ComboboxOption.displayName = 'ComboboxOption';
142
+ //# sourceMappingURL=combobox-option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-option.js","sourceRoot":"","sources":["../../../../src/components/leafy-green/combobox/combobox-option.tsx"],"names":[],"mappings":"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"}