@mongodb-js/compass-components 1.32.1 → 1.32.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 (169) hide show
  1. package/lib/components/actions/action-glyph.d.ts +11 -0
  2. package/lib/components/actions/action-glyph.d.ts.map +1 -0
  3. package/lib/components/actions/action-glyph.js +19 -0
  4. package/lib/components/actions/action-glyph.js.map +1 -0
  5. package/lib/components/actions/constants.d.ts +7 -0
  6. package/lib/components/actions/constants.d.ts.map +1 -0
  7. package/lib/components/actions/constants.js +9 -0
  8. package/lib/components/actions/constants.js.map +1 -0
  9. package/lib/components/actions/dropdown-menu-button.d.ts +19 -0
  10. package/lib/components/actions/dropdown-menu-button.d.ts.map +1 -0
  11. package/lib/components/actions/dropdown-menu-button.js +75 -0
  12. package/lib/components/actions/dropdown-menu-button.js.map +1 -0
  13. package/lib/components/actions/item-action-button.d.ts +4 -0
  14. package/lib/components/actions/item-action-button.d.ts.map +1 -0
  15. package/lib/components/actions/item-action-button.js +22 -0
  16. package/lib/components/actions/item-action-button.js.map +1 -0
  17. package/lib/components/actions/item-action-controls.d.ts +20 -0
  18. package/lib/components/actions/item-action-controls.d.ts.map +1 -0
  19. package/lib/components/actions/item-action-controls.js +85 -0
  20. package/lib/components/actions/item-action-controls.js.map +1 -0
  21. package/lib/components/actions/item-action-group.d.ts +19 -0
  22. package/lib/components/actions/item-action-group.d.ts.map +1 -0
  23. package/lib/components/actions/item-action-group.js +69 -0
  24. package/lib/components/actions/item-action-group.js.map +1 -0
  25. package/lib/components/actions/item-action-menu.d.ts +20 -0
  26. package/lib/components/actions/item-action-menu.d.ts.map +1 -0
  27. package/lib/components/actions/item-action-menu.js +89 -0
  28. package/lib/components/actions/item-action-menu.js.map +1 -0
  29. package/lib/components/actions/small-icon-button.d.ts +11 -0
  30. package/lib/components/actions/small-icon-button.d.ts.map +1 -0
  31. package/lib/components/actions/small-icon-button.js +66 -0
  32. package/lib/components/actions/small-icon-button.js.map +1 -0
  33. package/lib/components/actions/types.d.ts +32 -0
  34. package/lib/components/actions/types.d.ts.map +1 -0
  35. package/lib/components/actions/types.js +3 -0
  36. package/lib/components/actions/types.js.map +1 -0
  37. package/lib/components/actions/utils.d.ts +2 -0
  38. package/lib/components/actions/utils.d.ts.map +1 -0
  39. package/lib/components/actions/utils.js +8 -0
  40. package/lib/components/actions/utils.js.map +1 -0
  41. package/lib/components/combobox-with-custom-option.d.ts +1 -1
  42. package/lib/components/combobox-with-custom-option.d.ts.map +1 -1
  43. package/lib/components/combobox-with-custom-option.js +3 -3
  44. package/lib/components/combobox-with-custom-option.js.map +1 -1
  45. package/lib/components/document-list/element-actions.d.ts.map +1 -1
  46. package/lib/components/document-list/element-actions.js +1 -1
  47. package/lib/components/document-list/element-actions.js.map +1 -1
  48. package/lib/components/document-list/element-editors.d.ts.map +1 -1
  49. package/lib/components/document-list/element-editors.js +12 -5
  50. package/lib/components/document-list/element-editors.js.map +1 -1
  51. package/lib/components/document-list/element.d.ts.map +1 -1
  52. package/lib/components/document-list/element.js +10 -3
  53. package/lib/components/document-list/element.js.map +1 -1
  54. package/lib/components/feedback-popover.d.ts +2 -5
  55. package/lib/components/feedback-popover.d.ts.map +1 -1
  56. package/lib/components/feedback-popover.js +1 -5
  57. package/lib/components/feedback-popover.js.map +1 -1
  58. package/lib/components/file-input.js +3 -3
  59. package/lib/components/file-input.js.map +1 -1
  60. package/lib/components/guide-cue/guide-cue.d.ts +1 -2
  61. package/lib/components/guide-cue/guide-cue.d.ts.map +1 -1
  62. package/lib/components/guide-cue/guide-cue.js +1 -3
  63. package/lib/components/guide-cue/guide-cue.js.map +1 -1
  64. package/lib/components/interactive-popover.d.ts +4 -4
  65. package/lib/components/interactive-popover.d.ts.map +1 -1
  66. package/lib/components/interactive-popover.js +1 -1
  67. package/lib/components/interactive-popover.js.map +1 -1
  68. package/lib/components/leafygreen.d.ts +4 -54
  69. package/lib/components/leafygreen.d.ts.map +1 -1
  70. package/lib/components/leafygreen.js +7 -6
  71. package/lib/components/leafygreen.js.map +1 -1
  72. package/lib/components/links/link.d.ts +7 -7
  73. package/lib/components/tab-nav-bar.d.ts.map +1 -1
  74. package/lib/components/tab-nav-bar.js +8 -1
  75. package/lib/components/tab-nav-bar.js.map +1 -1
  76. package/lib/components/virtual-list.d.ts +3 -5
  77. package/lib/components/virtual-list.d.ts.map +1 -1
  78. package/lib/components/virtual-list.js +2 -2
  79. package/lib/components/virtual-list.js.map +1 -1
  80. package/lib/components/workspace-tabs/tab.d.ts +2 -3
  81. package/lib/components/workspace-tabs/tab.d.ts.map +1 -1
  82. package/lib/components/workspace-tabs/tab.js.map +1 -1
  83. package/lib/components/workspace-tabs/workspace-tabs.d.ts +2 -2
  84. package/lib/components/workspace-tabs/workspace-tabs.d.ts.map +1 -1
  85. package/lib/hooks/use-confirmation.d.ts +0 -1
  86. package/lib/hooks/use-confirmation.d.ts.map +1 -1
  87. package/lib/hooks/use-confirmation.js +0 -1
  88. package/lib/hooks/use-confirmation.js.map +1 -1
  89. package/lib/hooks/use-stacked-component.d.ts +1 -6
  90. package/lib/hooks/use-stacked-component.d.ts.map +1 -1
  91. package/lib/hooks/use-stacked-component.js +9 -28
  92. package/lib/hooks/use-stacked-component.js.map +1 -1
  93. package/lib/hooks/use-virtual-list-item-observer.d.ts +2 -4
  94. package/lib/hooks/use-virtual-list-item-observer.d.ts.map +1 -1
  95. package/lib/hooks/use-virtual-list-item-observer.js +1 -1
  96. package/lib/hooks/use-virtual-list-item-observer.js.map +1 -1
  97. package/lib/index.d.ts +9 -6
  98. package/lib/index.d.ts.map +1 -1
  99. package/lib/index.js +8 -9
  100. package/lib/index.js.map +1 -1
  101. package/package.json +47 -49
  102. package/lib/components/combobox/Chip.d.ts +0 -4
  103. package/lib/components/combobox/Chip.d.ts.map +0 -1
  104. package/lib/components/combobox/Chip.js +0 -230
  105. package/lib/components/combobox/Chip.js.map +0 -1
  106. package/lib/components/combobox/Combobox.d.ts +0 -48
  107. package/lib/components/combobox/Combobox.d.ts.map +0 -1
  108. package/lib/components/combobox/Combobox.js +0 -1029
  109. package/lib/components/combobox/Combobox.js.map +0 -1
  110. package/lib/components/combobox/Combobox.styles.d.ts +0 -53
  111. package/lib/components/combobox/Combobox.styles.d.ts.map +0 -1
  112. package/lib/components/combobox/Combobox.styles.js +0 -294
  113. package/lib/components/combobox/Combobox.styles.js.map +0 -1
  114. package/lib/components/combobox/Combobox.types.d.ts +0 -295
  115. package/lib/components/combobox/Combobox.types.d.ts.map +0 -1
  116. package/lib/components/combobox/Combobox.types.js +0 -66
  117. package/lib/components/combobox/Combobox.types.js.map +0 -1
  118. package/lib/components/combobox/ComboboxContext.d.ts +0 -21
  119. package/lib/components/combobox/ComboboxContext.d.ts.map +0 -1
  120. package/lib/components/combobox/ComboboxContext.js +0 -19
  121. package/lib/components/combobox/ComboboxContext.js.map +0 -1
  122. package/lib/components/combobox/ComboboxGroup.d.ts +0 -15
  123. package/lib/components/combobox/ComboboxGroup.d.ts.map +0 -1
  124. package/lib/components/combobox/ComboboxGroup.js +0 -84
  125. package/lib/components/combobox/ComboboxGroup.js.map +0 -1
  126. package/lib/components/combobox/ComboboxMenu/ComboboxMenu.d.ts +0 -9
  127. package/lib/components/combobox/ComboboxMenu/ComboboxMenu.d.ts.map +0 -1
  128. package/lib/components/combobox/ComboboxMenu/ComboboxMenu.js +0 -91
  129. package/lib/components/combobox/ComboboxMenu/ComboboxMenu.js.map +0 -1
  130. package/lib/components/combobox/ComboboxMenu/Menu.styles.d.ts +0 -26
  131. package/lib/components/combobox/ComboboxMenu/Menu.styles.d.ts.map +0 -1
  132. package/lib/components/combobox/ComboboxMenu/Menu.styles.js +0 -119
  133. package/lib/components/combobox/ComboboxMenu/Menu.styles.js.map +0 -1
  134. package/lib/components/combobox/ComboboxOption.d.ts +0 -20
  135. package/lib/components/combobox/ComboboxOption.d.ts.map +0 -1
  136. package/lib/components/combobox/ComboboxOption.js +0 -272
  137. package/lib/components/combobox/ComboboxOption.js.map +0 -1
  138. package/lib/components/combobox/Menu.styles.d.ts +0 -22
  139. package/lib/components/combobox/Menu.styles.d.ts.map +0 -1
  140. package/lib/components/combobox/Menu.styles.js +0 -102
  141. package/lib/components/combobox/Menu.styles.js.map +0 -1
  142. package/lib/components/combobox/index.d.ts +0 -6
  143. package/lib/components/combobox/index.d.ts.map +0 -1
  144. package/lib/components/combobox/index.js +0 -15
  145. package/lib/components/combobox/index.js.map +0 -1
  146. package/lib/components/combobox/utils/OptionObjectUtils.d.ts +0 -23
  147. package/lib/components/combobox/utils/OptionObjectUtils.d.ts.map +0 -1
  148. package/lib/components/combobox/utils/OptionObjectUtils.js +0 -40
  149. package/lib/components/combobox/utils/OptionObjectUtils.js.map +0 -1
  150. package/lib/components/combobox/utils/flattenChildren.d.ts +0 -12
  151. package/lib/components/combobox/utils/flattenChildren.d.ts.map +0 -1
  152. package/lib/components/combobox/utils/flattenChildren.js +0 -47
  153. package/lib/components/combobox/utils/flattenChildren.js.map +0 -1
  154. package/lib/components/combobox/utils/getNameAndValue.d.ts +0 -15
  155. package/lib/components/combobox/utils/getNameAndValue.d.ts.map +0 -1
  156. package/lib/components/combobox/utils/getNameAndValue.js +0 -24
  157. package/lib/components/combobox/utils/getNameAndValue.js.map +0 -1
  158. package/lib/components/combobox/utils/index.d.ts +0 -5
  159. package/lib/components/combobox/utils/index.d.ts.map +0 -1
  160. package/lib/components/combobox/utils/index.js +0 -14
  161. package/lib/components/combobox/utils/index.js.map +0 -1
  162. package/lib/components/combobox/utils/wrapJSX.d.ts +0 -15
  163. package/lib/components/combobox/utils/wrapJSX.d.ts.map +0 -1
  164. package/lib/components/combobox/utils/wrapJSX.js +0 -53
  165. package/lib/components/combobox/utils/wrapJSX.js.map +0 -1
  166. package/lib/components/item-action-controls.d.ts +0 -87
  167. package/lib/components/item-action-controls.d.ts.map +0 -1
  168. package/lib/components/item-action-controls.js +0 -239
  169. package/lib/components/item-action-controls.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionObjectUtils.d.ts","sourceRoot":"","sources":["../../../../src/components/combobox/utils/OptionObjectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,UAC5B,MAAM,GAAG,IAAI,WACX,MAAM,YAAY,CAAC,KAC3B,YAAY,GAAG,SAEjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,UAC1B,MAAM,GAAG,IAAI,WACX,MAAM,YAAY,CAAC,KAC3B,MAIF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,gBACpB,MAAM,GAAG,IAAI,WACjB,MAAM,YAAY,CAAC,KAC3B,MAKF,CAAC"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getValueForDisplayName = exports.getDisplayNameForValue = exports.getOptionObjectFromValue = void 0;
4
- /**
5
- *
6
- * @param value
7
- * @param options
8
- * @internal
9
- */
10
- const getOptionObjectFromValue = (value, options) => {
11
- if (value)
12
- return options.find((opt) => opt.value === value);
13
- };
14
- exports.getOptionObjectFromValue = getOptionObjectFromValue;
15
- /**
16
- *
17
- * @param value
18
- * @param options
19
- * @internal
20
- */
21
- const getDisplayNameForValue = (value, options) => {
22
- return value
23
- ? (0, exports.getOptionObjectFromValue)(value, options)?.displayName ?? value
24
- : '';
25
- };
26
- exports.getDisplayNameForValue = getDisplayNameForValue;
27
- /**
28
- *
29
- * @param value
30
- * @param options
31
- * @internal
32
- */
33
- const getValueForDisplayName = (displayName, options) => {
34
- return displayName
35
- ? options.find((opt) => opt.displayName === displayName)?.value ??
36
- displayName
37
- : '';
38
- };
39
- exports.getValueForDisplayName = getValueForDisplayName;
40
- //# sourceMappingURL=OptionObjectUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"OptionObjectUtils.js","sourceRoot":"","sources":["../../../../src/components/combobox/utils/OptionObjectUtils.ts"],"names":[],"mappings":";;;AACA;;;;;GAKG;AACI,MAAM,wBAAwB,GAAG,CACtC,KAAoB,EACpB,OAA4B,EACF,EAAE;IAC5B,IAAI,KAAK;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC/D,CAAC,CAAC;AALW,QAAA,wBAAwB,4BAKnC;AAEF;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CACpC,KAAoB,EACpB,OAA4B,EACpB,EAAE;IACV,OAAO,KAAK;QACV,CAAC,CAAC,IAAA,gCAAwB,EAAC,KAAK,EAAE,OAAO,CAAC,EAAE,WAAW,IAAI,KAAK;QAChE,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AAPW,QAAA,sBAAsB,0BAOjC;AAEF;;;;;GAKG;AACI,MAAM,sBAAsB,GAAG,CACpC,WAA0B,EAC1B,OAA4B,EACpB,EAAE;IACV,OAAO,WAAW;QAChB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,KAAK,WAAW,CAAC,EAAE,KAAK;YAC3D,WAAW;QACf,CAAC,CAAC,EAAE,CAAC;AACT,CAAC,CAAC;AARW,QAAA,sBAAsB,0BAQjC"}
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import { OptionObject } from '../Combobox.types';
3
- /**
4
- *
5
- * Flattens multiple nested ComboboxOptions into a 1D array
6
- *
7
- * @param _children
8
- * @returns `Array<OptionObject>`
9
- * @internal
10
- */
11
- export declare const flattenChildren: (_children: React.ReactNode) => Array<OptionObject>;
12
- //# sourceMappingURL=flattenChildren.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flattenChildren.d.ts","sourceRoot":"","sources":["../../../../src/components/combobox/utils/flattenChildren.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAIjD;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,cACf,MAAM,SAAS,KACzB,MAAM,YAAY,CAiCpB,CAAC"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.flattenChildren = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const lib_1 = require("@leafygreen-ui/lib");
9
- const getNameAndValue_1 = require("./getNameAndValue");
10
- /**
11
- *
12
- * Flattens multiple nested ComboboxOptions into a 1D array
13
- *
14
- * @param _children
15
- * @returns `Array<OptionObject>`
16
- * @internal
17
- */
18
- const flattenChildren = (_children) => {
19
- // TS doesn't like .reduce
20
- // @ts-expect-error
21
- return react_1.default.Children.toArray(_children).reduce(
22
- // @ts-expect-error
23
- (acc, child) => {
24
- if ((0, lib_1.isComponentType)(child, 'ComboboxOption')) {
25
- const { value, displayName } = (0, getNameAndValue_1.getNameAndValue)(child.props);
26
- const { glyph, disabled, description } = child.props;
27
- return [
28
- ...acc,
29
- {
30
- value,
31
- displayName,
32
- isDisabled: !!disabled,
33
- hasGlyph: !!glyph,
34
- description,
35
- },
36
- ];
37
- }
38
- else if ((0, lib_1.isComponentType)(child, 'ComboboxGroup')) {
39
- const { children } = child.props;
40
- if (children) {
41
- return [...acc, ...(0, exports.flattenChildren)(children)];
42
- }
43
- }
44
- }, []);
45
- };
46
- exports.flattenChildren = flattenChildren;
47
- //# sourceMappingURL=flattenChildren.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flattenChildren.js","sourceRoot":"","sources":["../../../../src/components/combobox/utils/flattenChildren.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,4CAAwE;AAIxE,uDAAoD;AAEpD;;;;;;;GAOG;AACI,MAAM,eAAe,GAAG,CAC7B,SAA0B,EACL,EAAE;IACvB,0BAA0B;IAC1B,mBAAmB;IACnB,OAAO,eAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM;IAC7C,mBAAmB;IACnB,CACE,GAAwB,EACxB,KAAsB,EACW,EAAE;QACnC,IAAI,IAAA,qBAAe,EAAC,KAAK,EAAE,gBAAgB,CAAC,EAAE;YAC5C,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,iCAAe,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;YAErD,OAAO;gBACL,GAAG,GAAG;gBACN;oBACE,KAAK;oBACL,WAAW;oBACX,UAAU,EAAE,CAAC,CAAC,QAAQ;oBACtB,QAAQ,EAAE,CAAC,CAAC,KAAK;oBACjB,WAAW;iBACZ;aACF,CAAC;SACH;aAAM,IAAI,IAAA,qBAAe,EAAC,KAAK,EAAE,eAAe,CAAC,EAAE;YAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;YAEjC,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,IAAA,uBAAe,EAAC,QAAQ,CAAC,CAAC,CAAC;aAC/C;SACF;IACH,CAAC,EACD,EAAyB,CAC1B,CAAC;AACJ,CAAC,CAAC;AAnCW,QAAA,eAAe,mBAmC1B"}
@@ -1,15 +0,0 @@
1
- import { ComboboxOptionProps } from '../Combobox.types';
2
- /**
3
- *
4
- * Returns an object with properties `value` & `displayName`
5
- * based on the props provided
6
- *
7
- * @property value: string
8
- * @property displayName: string
9
- * @internal
10
- */
11
- export declare const getNameAndValue: ({ value: valProp, displayName: nameProp, }: ComboboxOptionProps) => {
12
- value: string;
13
- displayName: string;
14
- };
15
- //# sourceMappingURL=getNameAndValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNameAndValue.d.ts","sourceRoot":"","sources":["../../../../src/components/combobox/utils/getNameAndValue.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,+CAGzB,mBAAmB,KAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CAMrB,CAAC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getNameAndValue = void 0;
7
- const kebabCase_1 = __importDefault(require("lodash/kebabCase"));
8
- /**
9
- *
10
- * Returns an object with properties `value` & `displayName`
11
- * based on the props provided
12
- *
13
- * @property value: string
14
- * @property displayName: string
15
- * @internal
16
- */
17
- const getNameAndValue = ({ value: valProp, displayName: nameProp, }) => {
18
- return {
19
- value: valProp ?? (0, kebabCase_1.default)(nameProp),
20
- displayName: nameProp ?? valProp ?? '', // TODO consider adding a prop to customize displayName => startCase(valProp),
21
- };
22
- };
23
- exports.getNameAndValue = getNameAndValue;
24
- //# sourceMappingURL=getNameAndValue.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNameAndValue.js","sourceRoot":"","sources":["../../../../src/components/combobox/utils/getNameAndValue.ts"],"names":[],"mappings":";;;;;;AAAA,iEAAyC;AAIzC;;;;;;;;GAQG;AACI,MAAM,eAAe,GAAG,CAAC,EAC9B,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,QAAQ,GACD,EAGpB,EAAE;IACF,OAAO;QACL,KAAK,EAAE,OAAO,IAAI,IAAA,mBAAS,EAAC,QAAQ,CAAC;QACrC,WAAW,EAAE,QAAQ,IAAI,OAAO,IAAI,EAAE,EAAE,8EAA8E;KACvH,CAAC;AACJ,CAAC,CAAC;AAXW,QAAA,eAAe,mBAW1B"}
@@ -1,5 +0,0 @@
1
- export { flattenChildren } from './flattenChildren';
2
- export { getNameAndValue } from './getNameAndValue';
3
- export { getDisplayNameForValue, getOptionObjectFromValue, getValueForDisplayName, } from './OptionObjectUtils';
4
- export { wrapJSX } from './wrapJSX';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/combobox/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.wrapJSX = exports.getValueForDisplayName = exports.getOptionObjectFromValue = exports.getDisplayNameForValue = exports.getNameAndValue = exports.flattenChildren = void 0;
4
- var flattenChildren_1 = require("./flattenChildren");
5
- Object.defineProperty(exports, "flattenChildren", { enumerable: true, get: function () { return flattenChildren_1.flattenChildren; } });
6
- var getNameAndValue_1 = require("./getNameAndValue");
7
- Object.defineProperty(exports, "getNameAndValue", { enumerable: true, get: function () { return getNameAndValue_1.getNameAndValue; } });
8
- var OptionObjectUtils_1 = require("./OptionObjectUtils");
9
- Object.defineProperty(exports, "getDisplayNameForValue", { enumerable: true, get: function () { return OptionObjectUtils_1.getDisplayNameForValue; } });
10
- Object.defineProperty(exports, "getOptionObjectFromValue", { enumerable: true, get: function () { return OptionObjectUtils_1.getOptionObjectFromValue; } });
11
- Object.defineProperty(exports, "getValueForDisplayName", { enumerable: true, get: function () { return OptionObjectUtils_1.getValueForDisplayName; } });
12
- var wrapJSX_1 = require("./wrapJSX");
13
- Object.defineProperty(exports, "wrapJSX", { enumerable: true, get: function () { return wrapJSX_1.wrapJSX; } });
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/combobox/utils/index.ts"],"names":[],"mappings":";;;AAAA,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,yDAI6B;AAH3B,2HAAA,sBAAsB,OAAA;AACtB,6HAAA,wBAAwB,OAAA;AACxB,2HAAA,sBAAsB,OAAA;AAExB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
@@ -1,15 +0,0 @@
1
- /// <reference types="react" />
2
- /**
3
- *
4
- * Wraps every instance of `wrap` found in `str` in the provided `element`.
5
- *
6
- * E.g. `wrapJSX('Apple', 'ap', 'em') => <em>Ap</em>ple`
7
- *
8
- * @param str
9
- * @param wrap
10
- * @param element
11
- * @returns `JSX.Element`
12
- * @internal
13
- */
14
- export declare const wrapJSX: (str: string, wrap?: string, element?: keyof HTMLElementTagNameMap) => JSX.Element;
15
- //# sourceMappingURL=wrapJSX.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrapJSX.d.ts","sourceRoot":"","sources":["../../../../src/components/combobox/utils/wrapJSX.tsx"],"names":[],"mappings":";AAGA;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,OAAO,QACb,MAAM,SACJ,MAAM,YACH,MAAM,qBAAqB,KACpC,WAqCF,CAAC"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.wrapJSX = void 0;
7
- const react_1 = __importDefault(require("react"));
8
- const escapeRegExp_1 = __importDefault(require("lodash/escapeRegExp"));
9
- /**
10
- *
11
- * Wraps every instance of `wrap` found in `str` in the provided `element`.
12
- *
13
- * E.g. `wrapJSX('Apple', 'ap', 'em') => <em>Ap</em>ple`
14
- *
15
- * @param str
16
- * @param wrap
17
- * @param element
18
- * @returns `JSX.Element`
19
- * @internal
20
- */
21
- const wrapJSX = (str, wrap, element) => {
22
- if (wrap && element) {
23
- const cleanWrap = (0, escapeRegExp_1.default)(wrap);
24
- const regex = new RegExp(cleanWrap, 'gi');
25
- const matches = str.matchAll(regex);
26
- if (matches) {
27
- const outArray = str.split('');
28
- /**
29
- * For every match, splice it into the "string",
30
- * wrapped in the React element
31
- */
32
- // Consider adding --downlevelIteration TS flag so we don't need Array.from
33
- for (const match of Array.from(matches)) {
34
- const matchIndex = match.index ?? -1;
35
- const matchContent = match[0];
36
- const matchLength = matchContent.length;
37
- const key = matchIndex + matchContent + matchLength;
38
- // We create a replacement array that's
39
- // the same length as the match we're deleting,
40
- // in order to keep the matchIndexes aligned
41
- // with the indexes of the output array
42
- const replacement = new Array(matchLength).fill('');
43
- replacement[0] = react_1.default.createElement(element, { key }, matchContent);
44
- outArray.splice(matchIndex, matchLength, ...replacement);
45
- }
46
- return react_1.default.createElement(react_1.default.Fragment, null, outArray);
47
- }
48
- return react_1.default.createElement(react_1.default.Fragment, null, str);
49
- }
50
- return react_1.default.createElement(react_1.default.Fragment, null, str);
51
- };
52
- exports.wrapJSX = wrapJSX;
53
- //# sourceMappingURL=wrapJSX.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wrapJSX.js","sourceRoot":"","sources":["../../../../src/components/combobox/utils/wrapJSX.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0C;AAC1C,uEAA+C;AAE/C;;;;;;;;;;;GAWG;AACI,MAAM,OAAO,GAAG,CACrB,GAAW,EACX,IAAa,EACb,OAAqC,EACxB,EAAE;IACf,IAAI,IAAI,IAAI,OAAO,EAAE;QACnB,MAAM,SAAS,GAAG,IAAA,sBAAY,EAAC,IAAI,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEpC,IAAI,OAAO,EAAE;YACX,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAsB,CAAC;YAEpD;;;eAGG;YACH,2EAA2E;YAC3E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACvC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBACrC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC9B,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC;gBACxC,MAAM,GAAG,GAAG,UAAU,GAAG,YAAY,GAAG,WAAW,CAAC;gBAEpD,uCAAuC;gBACvC,+CAA+C;gBAC/C,4CAA4C;gBAC5C,uCAAuC;gBACvC,MAAM,WAAW,GAAG,IAAI,KAAK,CAAa,WAAW,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChE,WAAW,CAAC,CAAC,CAAC,GAAG,eAAK,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;gBAErE,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,CAAC;aAC1D;YAED,OAAO,8DAAG,QAAQ,CAAI,CAAC;SACxB;QAED,OAAO,8DAAG,GAAG,CAAI,CAAC;KACnB;IAED,OAAO,8DAAG,GAAG,CAAI,CAAC;AACpB,CAAC,CAAC;AAzCW,QAAA,OAAO,WAyClB"}
@@ -1,87 +0,0 @@
1
- import React from 'react';
2
- import { Tooltip } from './leafygreen';
3
- import type { ButtonProps } from '@leafygreen-ui/button';
4
- import type { glyphs } from '@leafygreen-ui/icon';
5
- export type ItemAction<Action extends string> = {
6
- action: Action;
7
- label: string;
8
- icon: keyof typeof glyphs | React.ReactElement;
9
- variant?: 'default' | 'destructive';
10
- isDisabled?: boolean;
11
- disabledDescription?: string;
12
- tooltip?: string;
13
- actionButtonClassName?: string;
14
- /** How to show the item when not collapsed into the menu */
15
- expandedPresentation?: 'icon' | 'button';
16
- };
17
- export type ItemSeparator = {
18
- separator: true;
19
- };
20
- export type GroupedItemAction<Action extends string> = ItemAction<Action> & {
21
- tooltip?: string;
22
- tooltipProps?: Parameters<typeof Tooltip>;
23
- };
24
- export type MenuAction<Action extends string> = {
25
- action: Action;
26
- label: string;
27
- icon?: React.ReactChild;
28
- variant?: 'default' | 'destructive';
29
- isDisabled?: boolean;
30
- disabledDescription?: string;
31
- } | ItemSeparator;
32
- declare const ItemActionButtonSize: {
33
- readonly XSmall: "xsmall";
34
- readonly Small: "small";
35
- readonly Default: "default";
36
- };
37
- type ItemActionButtonSize = typeof ItemActionButtonSize[keyof typeof ItemActionButtonSize];
38
- export declare function ItemActionMenu<Action extends string>({ isVisible, actions, onAction, className, menuClassName, usePortal, iconClassName, iconStyle, iconSize, 'data-testid': dataTestId, }: {
39
- actions: MenuAction<Action>[];
40
- onAction(actionName: Action): void;
41
- className?: string;
42
- menuClassName?: string;
43
- usePortal?: boolean;
44
- iconClassName?: string;
45
- iconStyle?: React.CSSProperties;
46
- iconSize?: ItemActionButtonSize;
47
- isVisible?: boolean;
48
- 'data-testid'?: string;
49
- }): React.JSX.Element | null;
50
- export declare function ItemActionGroup<Action extends string>({ actions, onAction, className, iconClassName, iconStyle, iconSize, isVisible, 'data-testid': dataTestId, }: {
51
- actions: (GroupedItemAction<Action> | ItemSeparator)[];
52
- onAction(actionName: Action): void;
53
- className?: string;
54
- iconClassName?: string;
55
- iconStyle?: React.CSSProperties;
56
- iconSize?: ItemActionButtonSize;
57
- isVisible?: boolean;
58
- 'data-testid'?: string;
59
- }): React.JSX.Element | null;
60
- export declare function ItemActionControls<Action extends string>({ isVisible, actions, onAction, className, menuClassName, iconClassName, iconStyle, iconSize, usePortal, collapseAfter, collapseToMenuThreshold, 'data-testid': dataTestId, }: {
61
- isVisible?: boolean;
62
- actions: (ItemAction<Action> | ItemSeparator)[];
63
- onAction(actionName: Action): void;
64
- className?: string;
65
- menuClassName?: string;
66
- iconSize?: ItemActionButtonSize;
67
- iconClassName?: string;
68
- iconStyle?: React.CSSProperties;
69
- collapseAfter?: number;
70
- collapseToMenuThreshold?: number;
71
- usePortal?: boolean;
72
- 'data-testid'?: string;
73
- }): React.JSX.Element | null;
74
- export declare function DropdownMenuButton<Action extends string>({ isVisible, actions, onAction, usePortal, activeAction, buttonText, buttonProps, iconSize, 'data-testid': dataTestId, hideOnNarrow, }: {
75
- actions: MenuAction<Action>[];
76
- onAction(actionName: Action): void;
77
- usePortal?: boolean;
78
- iconSize?: ItemActionButtonSize;
79
- isVisible?: boolean;
80
- activeAction?: Action;
81
- 'data-testid'?: string;
82
- buttonText: string;
83
- buttonProps: ButtonProps;
84
- hideOnNarrow?: boolean;
85
- }): React.JSX.Element | null;
86
- export {};
87
- //# sourceMappingURL=item-action-controls.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"item-action-controls.d.ts","sourceRoot":"","sources":["../../src/components/item-action-controls.tsx"],"names":[],"mappings":"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"}
@@ -1,239 +0,0 @@
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.DropdownMenuButton = exports.ItemActionControls = exports.ItemActionGroup = exports.ItemActionMenu = void 0;
27
- const react_1 = __importStar(require("react"));
28
- const leafygreen_1 = require("./leafygreen");
29
- const tokens_1 = require("@leafygreen-ui/tokens");
30
- const emotion_1 = require("@leafygreen-ui/emotion");
31
- const workspace_container_1 = require("./workspace-container");
32
- function isSeparatorMenuAction(menuAction) {
33
- return menuAction.separator;
34
- }
35
- const ItemActionButtonSize = {
36
- XSmall: 'xsmall',
37
- Small: 'small',
38
- Default: 'default',
39
- };
40
- const actionControlsStyle = (0, emotion_1.css)({
41
- flex: 'none',
42
- marginLeft: 'auto',
43
- alignItems: 'center',
44
- display: 'flex',
45
- });
46
- const actionGroupButtonStyle = (0, emotion_1.css)({
47
- '&:not(:first-child)': {
48
- marginLeft: tokens_1.spacing[100],
49
- },
50
- });
51
- // Action buttons are rendered 4px apart from each other. With this we keep the
52
- // same spacing also when action buttons are rendered alongside action menu
53
- // (happens when collapseAfter prop is specified)
54
- const actionMenuWithActionControlsStyles = (0, emotion_1.css)({
55
- marginLeft: tokens_1.spacing[100],
56
- });
57
- const iconContainerStyle = (0, emotion_1.css)({
58
- display: 'block',
59
- flex: 'none',
60
- fontSize: 0,
61
- lineHeight: 0,
62
- });
63
- // Using important here because leafygreen / emotion applies styles in the order
64
- // that doesn't allow our styles override theirs
65
- const buttonSizeStyle = {
66
- default: undefined,
67
- small: (0, emotion_1.css)({
68
- flex: 'none',
69
- width: `${tokens_1.spacing[4]}px !important`,
70
- height: `${tokens_1.spacing[4]}px !important`,
71
- }),
72
- xsmall: (0, emotion_1.css)({
73
- flex: 'none',
74
- // aligns with other xsmall components
75
- width: `${20}px !important`,
76
- height: `${20}px !important`,
77
- }),
78
- };
79
- function actionTestId(dataTestId, action) {
80
- return dataTestId ? `${dataTestId}-${action}-action` : undefined;
81
- }
82
- const ActionGlyph = ({ glyph, size, ...props }) => {
83
- if (typeof glyph === 'string') {
84
- return react_1.default.createElement(leafygreen_1.Icon, { size: size, glyph: glyph, ...props });
85
- }
86
- if (react_1.default.isValidElement(glyph)) {
87
- return glyph;
88
- }
89
- return null;
90
- };
91
- const ItemActionButton = (0, react_1.forwardRef)(function IconButtonSmall({ glyph, size, label, onClick, children, title, className, ...rest }, ref) {
92
- return (react_1.default.createElement(leafygreen_1.IconButton
93
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
94
- // @ts-expect-error leafygreen confuses TS a lot here
95
- , {
96
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
97
- // @ts-expect-error leafygreen confuses TS a lot here
98
- ref: ref, className: (0, emotion_1.cx)(buttonSizeStyle[size], className), "aria-label": label, title: title, onClick: onClick, ...rest },
99
- react_1.default.createElement("span", { role: "presentation", className: iconContainerStyle },
100
- react_1.default.createElement(ActionGlyph, { glyph: glyph, size: size })),
101
- children));
102
- });
103
- function ItemActionMenu({ isVisible = true, actions, onAction, className, menuClassName, usePortal, iconClassName, iconStyle, iconSize = ItemActionButtonSize.Default, 'data-testid': dataTestId, }) {
104
- // this ref is used by the Menu component to calculate the height and position
105
- // of the menu, and by us to give back the focus to the trigger when the menu
106
- // is closed (https://jira.mongodb.org/browse/PD-1674).
107
- const menuTriggerRef = (0, react_1.useRef)(null);
108
- const [isMenuOpen, setIsMenuOpen] = (0, react_1.useState)(false);
109
- const onClick = (0, react_1.useCallback)((evt) => {
110
- evt.stopPropagation();
111
- if (evt.currentTarget.dataset.menuitem) {
112
- setIsMenuOpen(false);
113
- // Workaround for https://jira.mongodb.org/browse/PD-1674
114
- menuTriggerRef.current?.focus();
115
- }
116
- onAction(evt.currentTarget.dataset.action);
117
- }, [onAction]);
118
- const shouldRender = isMenuOpen || (isVisible && actions.length > 0);
119
- if (!shouldRender) {
120
- return null;
121
- }
122
- return (react_1.default.createElement("div", { className: (0, emotion_1.cx)(actionControlsStyle, className) },
123
- react_1.default.createElement(leafygreen_1.Menu, { className: menuClassName, open: isMenuOpen, setOpen: setIsMenuOpen, refEl: menuTriggerRef, usePortal: usePortal, "data-testid": dataTestId, trigger: ({ onClick, children, }) => {
124
- return (react_1.default.createElement(ItemActionButton, { ref: menuTriggerRef, size: iconSize, glyph: "Ellipsis", label: "Show actions", title: "Show actions", "data-testid": dataTestId ? `${dataTestId}-show-actions` : undefined, onClick: (evt) => {
125
- evt.stopPropagation();
126
- onClick && onClick(evt);
127
- }, className: (0, emotion_1.cx)(actionGroupButtonStyle, iconClassName), style: iconStyle }, children));
128
- } }, actions.map((menuAction, idx) => {
129
- if (isSeparatorMenuAction(menuAction)) {
130
- return react_1.default.createElement(leafygreen_1.MenuSeparator, { key: `separator-${idx}` });
131
- }
132
- const { action, label, icon, variant, isDisabled, disabledDescription, } = menuAction;
133
- return (react_1.default.createElement(leafygreen_1.MenuItem, { key: action, "data-testid": actionTestId(dataTestId, action), "data-action": action, "data-menuitem": true, glyph: react_1.default.createElement(ActionGlyph, { glyph: icon, size: iconSize }), onClick: onClick, variant: variant || 'default', disabled: isDisabled, description: isDisabled ? disabledDescription : '' }, label));
134
- }))));
135
- }
136
- exports.ItemActionMenu = ItemActionMenu;
137
- function ItemActionGroup({ actions, onAction, className, iconClassName, iconStyle, iconSize = ItemActionButtonSize.Default, isVisible = true, 'data-testid': dataTestId, }) {
138
- const onClick = (0, react_1.useCallback)((evt) => {
139
- evt.stopPropagation();
140
- onAction(evt.currentTarget.dataset.action);
141
- }, [onAction]);
142
- const shouldRender = isVisible && actions.length > 0;
143
- if (!shouldRender) {
144
- return null;
145
- }
146
- return (react_1.default.createElement("div", { className: (0, emotion_1.cx)(actionControlsStyle, className), "data-testid": dataTestId }, actions.map((menuItem, idx) => {
147
- if (isSeparatorMenuAction(menuItem)) {
148
- return react_1.default.createElement(leafygreen_1.MenuSeparator, { key: `separator-${idx}` });
149
- }
150
- const { action, icon, label, isDisabled, tooltip, tooltipProps, actionButtonClassName, expandedPresentation = 'icon', } = menuItem;
151
- const button = expandedPresentation === 'icon' ? (react_1.default.createElement(ItemActionButton, { key: action, glyph: icon, label: label, title: !tooltip ? label : undefined, size: iconSize, "data-action": action, "data-testid": actionTestId(dataTestId, action), onClick: onClick, className: (0, emotion_1.cx)(actionGroupButtonStyle, iconClassName, actionButtonClassName), style: iconStyle, disabled: isDisabled })) : (react_1.default.createElement(leafygreen_1.Button, { key: action, title: !tooltip ? label : undefined, size: iconSize, "data-action": action, "data-testid": actionTestId(dataTestId, action), onClick: onClick, className: actionButtonClassName, style: iconStyle, disabled: isDisabled }, label));
152
- if (tooltip) {
153
- return (react_1.default.createElement(leafygreen_1.Tooltip, { key: action, ...tooltipProps, trigger: react_1.default.createElement("div", { className: actionGroupButtonStyle, style: { display: 'inherit' } }, button) }, tooltip));
154
- }
155
- return button;
156
- })));
157
- }
158
- exports.ItemActionGroup = ItemActionGroup;
159
- function ItemActionControls({ isVisible = true, actions, onAction, className, menuClassName, iconClassName, iconStyle, iconSize = ItemActionButtonSize.Default, usePortal, collapseAfter = 0, collapseToMenuThreshold = 2, 'data-testid': dataTestId, }) {
160
- const sharedProps = (0, react_1.useMemo)(() => ({
161
- isVisible,
162
- onAction,
163
- className: (0, emotion_1.cx)('item-action-controls', className),
164
- iconClassName,
165
- iconStyle,
166
- iconSize,
167
- 'data-testid': dataTestId,
168
- }), [
169
- isVisible,
170
- onAction,
171
- className,
172
- iconClassName,
173
- iconStyle,
174
- iconSize,
175
- dataTestId,
176
- ]);
177
- const sharedMenuProps = (0, react_1.useMemo)(() => ({
178
- menuClassName,
179
- usePortal,
180
- }), [menuClassName, usePortal]);
181
- if (actions.length === 0) {
182
- return null;
183
- }
184
- // When user wants to show a few actions and collapse the rest into a menu
185
- if (collapseAfter > 0) {
186
- const visibleActions = actions.slice(0, collapseAfter);
187
- const collapsedActions = actions.slice(collapseAfter);
188
- return (react_1.default.createElement("div", { className: actionControlsStyle },
189
- react_1.default.createElement(ItemActionGroup, { actions: visibleActions, ...sharedProps }),
190
- react_1.default.createElement(ItemActionMenu, { actions: collapsedActions, ...sharedProps, ...sharedMenuProps, className: (0, emotion_1.cx)(actionMenuWithActionControlsStyles, sharedProps.className) })));
191
- }
192
- const shouldShowMenu = actions.length >= collapseToMenuThreshold;
193
- if (shouldShowMenu) {
194
- return (react_1.default.createElement(ItemActionMenu, { actions: actions, ...sharedProps, ...sharedMenuProps }));
195
- }
196
- return react_1.default.createElement(ItemActionGroup, { actions: actions, ...sharedProps });
197
- }
198
- exports.ItemActionControls = ItemActionControls;
199
- const hiddenOnNarrowStyles = (0, emotion_1.css)({
200
- [`@container ${workspace_container_1.WorkspaceContainer.toolbarContainerQueryName} (width < 900px)`]: {
201
- display: 'none',
202
- },
203
- });
204
- function DropdownMenuButton({ isVisible = true, actions, onAction, usePortal, activeAction, buttonText, buttonProps, iconSize = ItemActionButtonSize.Default, 'data-testid': dataTestId, hideOnNarrow = true, }) {
205
- // this ref is used by the Menu component to calculate the height and position
206
- // of the menu, and by us to give back the focus to the trigger when the menu
207
- // is closed (https://jira.mongodb.org/browse/PD-1674).
208
- const menuTriggerRef = (0, react_1.useRef)(null);
209
- const [isMenuOpen, setIsMenuOpen] = (0, react_1.useState)(false);
210
- const onClick = (0, react_1.useCallback)((evt) => {
211
- evt.stopPropagation();
212
- if (evt.currentTarget.dataset.menuitem) {
213
- setIsMenuOpen(false);
214
- // Workaround for https://jira.mongodb.org/browse/PD-1674
215
- menuTriggerRef.current?.focus();
216
- }
217
- onAction(evt.currentTarget.dataset.action);
218
- }, [onAction]);
219
- const shouldRender = isMenuOpen || (isVisible && actions.length > 0);
220
- if (!shouldRender) {
221
- return null;
222
- }
223
- return (react_1.default.createElement(leafygreen_1.Menu, { open: isMenuOpen, setOpen: setIsMenuOpen, justify: "start", refEl: menuTriggerRef, usePortal: usePortal, "data-testid": dataTestId, trigger: ({ onClick, children, }) => {
224
- return (react_1.default.createElement(leafygreen_1.Button, { ...buttonProps, ref: menuTriggerRef, "data-testid": dataTestId ? `${dataTestId}-show-actions` : undefined, onClick: (evt) => {
225
- evt.stopPropagation();
226
- onClick && onClick(evt);
227
- }, rightGlyph: react_1.default.createElement(leafygreen_1.Icon, { glyph: 'CaretDown' }), title: buttonText },
228
- react_1.default.createElement("span", { className: hideOnNarrow ? hiddenOnNarrowStyles : undefined }, buttonText),
229
- children));
230
- } }, actions.map((menuAction, idx) => {
231
- if (isSeparatorMenuAction(menuAction)) {
232
- return react_1.default.createElement(leafygreen_1.MenuSeparator, { key: `separator-${idx}` });
233
- }
234
- const { action, label, icon } = menuAction;
235
- return (react_1.default.createElement(leafygreen_1.MenuItem, { active: activeAction === action, key: action, "data-testid": actionTestId(dataTestId, action), "data-action": action, "data-menuitem": true, glyph: react_1.default.createElement(ActionGlyph, { glyph: icon, size: iconSize }), onClick: onClick }, label));
236
- })));
237
- }
238
- exports.DropdownMenuButton = DropdownMenuButton;
239
- //# sourceMappingURL=item-action-controls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"item-action-controls.js","sourceRoot":"","sources":["../../src/components/item-action-controls.tsx"],"names":[],"mappings":"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"}