@mongodb-js/compass-components 1.10.0 → 1.12.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 (155) hide show
  1. package/lib/components/bson-value.d.ts +0 -22
  2. package/lib/components/bson-value.d.ts.map +1 -1
  3. package/lib/components/bson-value.js +33 -36
  4. package/lib/components/bson-value.js.map +1 -1
  5. package/lib/components/collapsible-field-set.js +1 -1
  6. package/lib/components/collapsible-field-set.js.map +1 -1
  7. package/lib/components/combobox/Chip.js +2 -4
  8. package/lib/components/combobox/Chip.js.map +1 -1
  9. package/lib/components/combobox/Combobox.d.ts +1 -1
  10. package/lib/components/combobox/Combobox.d.ts.map +1 -1
  11. package/lib/components/combobox/Combobox.js +42 -55
  12. package/lib/components/combobox/Combobox.js.map +1 -1
  13. package/lib/components/combobox/Combobox.styles.js +1 -2
  14. package/lib/components/combobox/Combobox.styles.js.map +1 -1
  15. package/lib/components/combobox/Combobox.types.d.ts +2 -2
  16. package/lib/components/combobox/Combobox.types.d.ts.map +1 -1
  17. package/lib/components/combobox/Combobox.types.js.map +1 -1
  18. package/lib/components/combobox/ComboboxOption.d.ts +1 -1
  19. package/lib/components/combobox/ComboboxOption.d.ts.map +1 -1
  20. package/lib/components/combobox/ComboboxOption.js.map +1 -1
  21. package/lib/components/combobox/utils/OptionObjectUtils.js +3 -4
  22. package/lib/components/combobox/utils/OptionObjectUtils.js.map +1 -1
  23. package/lib/components/combobox/utils/getNameAndValue.js +2 -3
  24. package/lib/components/combobox/utils/getNameAndValue.js.map +1 -1
  25. package/lib/components/combobox/utils/wrapJSX.js +1 -2
  26. package/lib/components/combobox/utils/wrapJSX.js.map +1 -1
  27. package/lib/components/combobox-with-custom-option.d.ts.map +1 -1
  28. package/lib/components/combobox-with-custom-option.js +23 -20
  29. package/lib/components/combobox-with-custom-option.js.map +1 -1
  30. package/lib/components/document-list/document-actions-group.d.ts +2 -0
  31. package/lib/components/document-list/document-actions-group.d.ts.map +1 -1
  32. package/lib/components/document-list/document-actions-group.js +32 -15
  33. package/lib/components/document-list/document-actions-group.js.map +1 -1
  34. package/lib/components/document-list/document-edit-actions-footer.js +2 -2
  35. package/lib/components/document-list/document-edit-actions-footer.js.map +1 -1
  36. package/lib/components/document-list/document.js +2 -3
  37. package/lib/components/document-list/document.js.map +1 -1
  38. package/lib/components/document-list/element-actions.js +1 -1
  39. package/lib/components/document-list/element-actions.js.map +1 -1
  40. package/lib/components/document-list/element.d.ts.map +1 -1
  41. package/lib/components/document-list/element.js +15 -14
  42. package/lib/components/document-list/element.js.map +1 -1
  43. package/lib/components/error-boundary.js +1 -2
  44. package/lib/components/error-boundary.js.map +1 -1
  45. package/lib/components/feedback-popover.d.ts +11 -0
  46. package/lib/components/feedback-popover.d.ts.map +1 -0
  47. package/lib/components/feedback-popover.js +73 -0
  48. package/lib/components/feedback-popover.js.map +1 -0
  49. package/lib/components/file-input.js +7 -10
  50. package/lib/components/file-input.js.map +1 -1
  51. package/lib/components/generative-ai/ai-experience-entry.d.ts +12 -0
  52. package/lib/components/generative-ai/ai-experience-entry.d.ts.map +1 -0
  53. package/lib/components/generative-ai/ai-experience-entry.js +84 -0
  54. package/lib/components/generative-ai/ai-experience-entry.js.map +1 -0
  55. package/lib/components/generative-ai/ai-feedback.d.ts +7 -0
  56. package/lib/components/generative-ai/ai-feedback.d.ts.map +1 -0
  57. package/lib/components/generative-ai/ai-feedback.js +124 -0
  58. package/lib/components/generative-ai/ai-feedback.js.map +1 -0
  59. package/lib/components/generative-ai/generative-ai-input.d.ts +17 -0
  60. package/lib/components/generative-ai/generative-ai-input.d.ts.map +1 -0
  61. package/lib/components/generative-ai/generative-ai-input.js +191 -0
  62. package/lib/components/generative-ai/generative-ai-input.js.map +1 -0
  63. package/lib/components/generative-ai/index.d.ts +3 -0
  64. package/lib/components/generative-ai/index.d.ts.map +1 -0
  65. package/lib/components/generative-ai/index.js +9 -0
  66. package/lib/components/generative-ai/index.js.map +1 -0
  67. package/lib/components/generative-ai/robot-svg.d.ts +12 -0
  68. package/lib/components/generative-ai/robot-svg.d.ts.map +1 -0
  69. package/lib/components/generative-ai/robot-svg.js +55 -0
  70. package/lib/components/generative-ai/robot-svg.js.map +1 -0
  71. package/lib/components/guide-cue/guide-cue-exceptions.d.ts +18 -0
  72. package/lib/components/guide-cue/guide-cue-exceptions.d.ts.map +1 -0
  73. package/lib/components/guide-cue/guide-cue-exceptions.js +32 -0
  74. package/lib/components/guide-cue/guide-cue-exceptions.js.map +1 -0
  75. package/lib/components/guide-cue/guide-cue-groups.d.ts +8 -0
  76. package/lib/components/guide-cue/guide-cue-groups.d.ts.map +1 -0
  77. package/lib/components/guide-cue/guide-cue-groups.js +6 -0
  78. package/lib/components/guide-cue/guide-cue-groups.js.map +1 -0
  79. package/lib/components/guide-cue/guide-cue-service.d.ts +46 -0
  80. package/lib/components/guide-cue/guide-cue-service.d.ts.map +1 -0
  81. package/lib/components/guide-cue/guide-cue-service.js +174 -0
  82. package/lib/components/guide-cue/guide-cue-service.js.map +1 -0
  83. package/lib/components/guide-cue/guide-cue-storage.d.ts +19 -0
  84. package/lib/components/guide-cue/guide-cue-storage.d.ts.map +1 -0
  85. package/lib/components/guide-cue/guide-cue-storage.js +33 -0
  86. package/lib/components/guide-cue/guide-cue-storage.js.map +1 -0
  87. package/lib/components/guide-cue/guide-cue.d.ts +36 -0
  88. package/lib/components/guide-cue/guide-cue.d.ts.map +1 -0
  89. package/lib/components/guide-cue/guide-cue.js +167 -0
  90. package/lib/components/guide-cue/guide-cue.js.map +1 -0
  91. package/lib/components/index-keys-badge.d.ts.map +1 -1
  92. package/lib/components/index-keys-badge.js +1 -0
  93. package/lib/components/index-keys-badge.js.map +1 -1
  94. package/lib/components/interactive-popover.d.ts +9 -6
  95. package/lib/components/interactive-popover.d.ts.map +1 -1
  96. package/lib/components/interactive-popover.js +19 -16
  97. package/lib/components/interactive-popover.js.map +1 -1
  98. package/lib/components/item-action-controls.d.ts +11 -6
  99. package/lib/components/item-action-controls.d.ts.map +1 -1
  100. package/lib/components/item-action-controls.js +24 -10
  101. package/lib/components/item-action-controls.js.map +1 -1
  102. package/lib/components/list-editor.js +7 -10
  103. package/lib/components/list-editor.js.map +1 -1
  104. package/lib/components/loader.js +1 -2
  105. package/lib/components/loader.js.map +1 -1
  106. package/lib/components/more-options-toggle.js +1 -2
  107. package/lib/components/more-options-toggle.js.map +1 -1
  108. package/lib/components/placeholder.js +1 -2
  109. package/lib/components/placeholder.js.map +1 -1
  110. package/lib/components/signal-popover.d.ts +30 -0
  111. package/lib/components/signal-popover.d.ts.map +1 -0
  112. package/lib/components/signal-popover.js +356 -0
  113. package/lib/components/signal-popover.js.map +1 -0
  114. package/lib/components/signals.d.ts +87 -0
  115. package/lib/components/signals.d.ts.map +1 -0
  116. package/lib/components/signals.js +117 -0
  117. package/lib/components/signals.js.map +1 -0
  118. package/lib/components/store-connector.js +1 -2
  119. package/lib/components/store-connector.js.map +1 -1
  120. package/lib/components/tab-nav-bar.d.ts +1 -2
  121. package/lib/components/tab-nav-bar.d.ts.map +1 -1
  122. package/lib/components/tab-nav-bar.js +2 -2
  123. package/lib/components/tab-nav-bar.js.map +1 -1
  124. package/lib/components/tooltip.d.ts +4 -3
  125. package/lib/components/tooltip.d.ts.map +1 -1
  126. package/lib/components/tooltip.js.map +1 -1
  127. package/lib/components/virtual-grid.js +10 -12
  128. package/lib/components/virtual-grid.js.map +1 -1
  129. package/lib/components/workspace-tabs/workspace-tabs.js +1 -2
  130. package/lib/components/workspace-tabs/workspace-tabs.js.map +1 -1
  131. package/lib/hooks/use-confirmation.d.ts +1 -1
  132. package/lib/hooks/use-confirmation.d.ts.map +1 -1
  133. package/lib/hooks/use-confirmation.js +3 -6
  134. package/lib/hooks/use-confirmation.js.map +1 -1
  135. package/lib/hooks/use-dom-rect.js +2 -4
  136. package/lib/hooks/use-dom-rect.js.map +1 -1
  137. package/lib/hooks/use-focus-hover.d.ts +5 -1
  138. package/lib/hooks/use-focus-hover.d.ts.map +1 -1
  139. package/lib/hooks/use-focus-hover.js +1 -1
  140. package/lib/hooks/use-focus-hover.js.map +1 -1
  141. package/lib/hooks/use-hotkeys.d.ts.map +1 -1
  142. package/lib/hooks/use-hotkeys.js +5 -2
  143. package/lib/hooks/use-hotkeys.js.map +1 -1
  144. package/lib/hooks/use-sort.js +6 -8
  145. package/lib/hooks/use-sort.js.map +1 -1
  146. package/lib/hooks/use-toast.d.ts.map +1 -1
  147. package/lib/hooks/use-toast.js +6 -5
  148. package/lib/hooks/use-toast.js.map +1 -1
  149. package/lib/hooks/use-virtual-grid.js +5 -6
  150. package/lib/hooks/use-virtual-grid.js.map +1 -1
  151. package/lib/index.d.ts +9 -3
  152. package/lib/index.d.ts.map +1 -1
  153. package/lib/index.js +17 -5
  154. package/lib/index.js.map +1 -1
  155. package/package.json +8 -8
@@ -22,16 +22,13 @@ const itemContentStyles = (0, emotion_1.css)({
22
22
  flexGrow: 1,
23
23
  });
24
24
  function ListEditor({ disableAddButton, disableRemoveButton, items, renderItem, onAddItem, onRemoveItem, addButtonTestId, removeButtonTestId, className, itemTestId, itemKey, }) {
25
- return (react_1.default.createElement("div", { className: (0, emotion_1.cx)(listEditorStyles, className) }, items.map((item, itemIndex) => {
26
- var _a;
27
- return (react_1.default.createElement("div", { "data-testid": itemTestId === null || itemTestId === void 0 ? void 0 : itemTestId(itemIndex), className: listItemStyles, key: (_a = itemKey === null || itemKey === void 0 ? void 0 : itemKey(item)) !== null && _a !== void 0 ? _a : itemIndex },
28
- react_1.default.createElement("div", { className: itemContentStyles }, renderItem(item, itemIndex)),
29
- !(disableAddButton === null || disableAddButton === void 0 ? void 0 : disableAddButton(item, itemIndex, items)) ? (react_1.default.createElement(leafygreen_1.IconButton, { "aria-label": "Add", type: "button", "data-testid": addButtonTestId, disabled: disableAddButton === null || disableAddButton === void 0 ? void 0 : disableAddButton(item, itemIndex, items), onClick: () => onAddItem(itemIndex) },
30
- react_1.default.createElement(leafygreen_1.Icon, { glyph: "Plus" }))) : null,
31
- !(disableRemoveButton === null || disableRemoveButton === void 0 ? void 0 : disableRemoveButton(item, itemIndex, items)) &&
32
- items.length !== 1 ? (react_1.default.createElement(leafygreen_1.IconButton, { "aria-label": "Remove", type: "button", "data-testid": removeButtonTestId, disabled: disableRemoveButton === null || disableRemoveButton === void 0 ? void 0 : disableRemoveButton(item, itemIndex, items), onClick: () => onRemoveItem(itemIndex) },
33
- react_1.default.createElement(leafygreen_1.Icon, { glyph: "Minus" }))) : null));
34
- })));
25
+ return (react_1.default.createElement("div", { className: (0, emotion_1.cx)(listEditorStyles, className) }, items.map((item, itemIndex) => (react_1.default.createElement("div", { "data-testid": itemTestId?.(itemIndex), className: listItemStyles, key: itemKey?.(item) ?? itemIndex },
26
+ react_1.default.createElement("div", { className: itemContentStyles }, renderItem(item, itemIndex)),
27
+ !disableAddButton?.(item, itemIndex, items) ? (react_1.default.createElement(leafygreen_1.IconButton, { "aria-label": "Add", type: "button", "data-testid": addButtonTestId, disabled: disableAddButton?.(item, itemIndex, items), onClick: () => onAddItem(itemIndex) },
28
+ react_1.default.createElement(leafygreen_1.Icon, { glyph: "Plus" }))) : null,
29
+ !disableRemoveButton?.(item, itemIndex, items) &&
30
+ items.length !== 1 ? (react_1.default.createElement(leafygreen_1.IconButton, { "aria-label": "Remove", type: "button", "data-testid": removeButtonTestId, disabled: disableRemoveButton?.(item, itemIndex, items), onClick: () => onRemoveItem(itemIndex) },
31
+ react_1.default.createElement(leafygreen_1.Icon, { glyph: "Minus" }))) : null)))));
35
32
  }
36
33
  exports.ListEditor = ListEditor;
37
34
  //# sourceMappingURL=list-editor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"list-editor.js","sourceRoot":"","sources":["../../src/components/list-editor.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,kDAAgD;AAChD,oDAAiD;AACjD,6CAAgD;AAEhD,MAAM,gBAAgB,GAAG,IAAA,aAAG,EAAC;IAC3B,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,gBAAO,CAAC,CAAC,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAA,aAAG,EAAC;IACzB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,gBAAO,CAAC,CAAC,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAA,aAAG,EAAC;IAC5B,QAAQ,EAAE,CAAC;CACZ,CAAC,CAAC;AA8BH,SAAS,UAAU,CAAW,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,OAAO,GACmB;IAC1B,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,YAAE,EAAC,gBAAgB,EAAE,SAAS,CAAC,IAC5C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE;;QAAC,OAAA,CAC9B,sDACe,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,SAAS,CAAC,EACpC,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAG,IAAI,CAAC,mCAAI,SAAS;YAEjC,uCAAK,SAAS,EAAE,iBAAiB,IAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAO;YACrE,CAAC,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA,CAAC,CAAC,CAAC,CAC7C,8BAAC,uBAAU,kBACE,KAAK,EAChB,IAAI,EAAC,QAAQ,iBACA,eAAe,EAC5B,QAAQ,EAAE,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAG,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EACpD,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;gBAEnC,8BAAC,iBAAI,IAAC,KAAK,EAAC,MAAM,GAAG,CACV,CACd,CAAC,CAAC,CAAC,IAAI;YACP,CAAC,CAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAA;gBAC/C,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,8BAAC,uBAAU,kBACE,QAAQ,EACnB,IAAI,EAAC,QAAQ,iBACA,kBAAkB,EAC/B,QAAQ,EAAE,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAG,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EACvD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;gBAEtC,8BAAC,iBAAI,IAAC,KAAK,EAAC,OAAO,GAAG,CACX,CACd,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAA;KAAA,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAEQ,gCAAU"}
1
+ {"version":3,"file":"list-editor.js","sourceRoot":"","sources":["../../src/components/list-editor.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,kDAAgD;AAChD,oDAAiD;AACjD,6CAAgD;AAEhD,MAAM,gBAAgB,GAAG,IAAA,aAAG,EAAC;IAC3B,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,gBAAO,CAAC,CAAC,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAA,aAAG,EAAC;IACzB,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,gBAAO,CAAC,CAAC,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,IAAA,aAAG,EAAC;IAC5B,QAAQ,EAAE,CAAC;CACZ,CAAC,CAAC;AA8BH,SAAS,UAAU,CAAW,EAC5B,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,EACL,UAAU,EACV,SAAS,EACT,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,SAAS,EACT,UAAU,EACV,OAAO,GACmB;IAC1B,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,YAAE,EAAC,gBAAgB,EAAE,SAAS,CAAC,IAC5C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,CAC9B,sDACe,UAAU,EAAE,CAAC,SAAS,CAAC,EACpC,SAAS,EAAE,cAAc,EACzB,GAAG,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,SAAS;QAEjC,uCAAK,SAAS,EAAE,iBAAiB,IAAG,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAO;QACrE,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAC7C,8BAAC,uBAAU,kBACE,KAAK,EAChB,IAAI,EAAC,QAAQ,iBACA,eAAe,EAC5B,QAAQ,EAAE,gBAAgB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EACpD,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC;YAEnC,8BAAC,iBAAI,IAAC,KAAK,EAAC,MAAM,GAAG,CACV,CACd,CAAC,CAAC,CAAC,IAAI;QACP,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC;YAC/C,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACnB,8BAAC,uBAAU,kBACE,QAAQ,EACnB,IAAI,EAAC,QAAQ,iBACA,kBAAkB,EAC/B,QAAQ,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EACvD,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC;YAEtC,8BAAC,iBAAI,IAAC,KAAK,EAAC,OAAO,GAAG,CACX,CACd,CAAC,CAAC,CAAC,IAAI,CACJ,CACP,CAAC,CACE,CACP,CAAC;AACJ,CAAC;AAEQ,gCAAU"}
@@ -62,9 +62,8 @@ function SpinLoaderWithLabel({ className, progressText, ['data-testid']: dataTes
62
62
  }
63
63
  exports.SpinLoaderWithLabel = SpinLoaderWithLabel;
64
64
  function CancelLoader({ cancelText = 'Cancel', onCancel, ...props }) {
65
- var _a;
66
65
  return (react_1.default.createElement(SpinLoaderWithLabel, { ...props },
67
- react_1.default.createElement(leafygreen_1.Button, { variant: "primaryOutline", onClick: onCancel, "data-testid": `${(_a = props['data-testid']) !== null && _a !== void 0 ? _a : 'spin-loader'}-button` }, cancelText)));
66
+ react_1.default.createElement(leafygreen_1.Button, { variant: "primaryOutline", onClick: onCancel, "data-testid": `${props['data-testid'] ?? 'spin-loader'}-button` }, cancelText)));
68
67
  }
69
68
  exports.CancelLoader = CancelLoader;
70
69
  //# sourceMappingURL=loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/components/loader.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oDAAiD;AACjD,kDAAgD;AAChD,oDAA4D;AAC5D,kDAAiD;AACjD,6CAAgD;AAEhD,MAAM,eAAe,GAAG,IAAA,aAAG,EAAC;IAC1B,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,gBAAO,CAAC,CAAC,CAAC;IACf,aAAa,EAAE,QAAQ;IACvB,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,gBAAO,CAAC,CAAC,CAAC,GAAG,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC;IACrB,KAAK,EAAE,iBAAO,CAAC,KAAK,CAAC,KAAK;IAC1B,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAA,aAAG,EAAC;IACzB,KAAK,EAAE,iBAAO,CAAC,KAAK,CAAC,MAAM;CAC5B,CAAC,CAAC;AAoBH,MAAM,eAAe,GAAG,IAAA,mBAAS,EAAA;;;CAGhC,CAAC;AAEF,MAAM,eAAe,GAAG,IAAA,aAAG,EAAA;;;;;;;;eAQZ,eAAe;CAC7B,CAAC;AACF,MAAM,WAAW,GAAG,IAAA,aAAG,EAAC;IACtB,SAAS,EAAE,aAAa,iBAAO,CAAC,IAAI,CAAC,KAAK,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC;IACrB,SAAS,EAAE,aAAa,iBAAO,CAAC,IAAI,CAAC,MAAM,EAAE;CAC9C,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,EAClB,IAAI,GAAG,EAAE,EACT,KAAK,EACL,QAAQ,EAAE,SAAS,GACH;IAChB,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,SAAS,CAAC,CAAC;IAExC,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,YAAE,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,EACnE,KAAK,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACb,EACD,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC;AAyC6B,gCAAU;AAvCxC,SAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,YAAY,EACZ,CAAC,aAAa,CAAC,EAAE,UAAU,EAC3B,QAAQ,EACR,QAAQ,EAAE,SAAS,EACnB,GAAG,KAAK,EACiB;IACzB,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,SAAS,CAAC,CAAC;IAExC,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,YAAE,EAAC,eAAe,EAAE,SAAS,CAAC,iBAAe,UAAU;QACrE,8BAAC,UAAU,IAAC,IAAI,EAAE,gBAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,KAAM,KAAK,GAAe;QAC1E,8BAAC,qBAAQ,IAAC,SAAS,EAAE,IAAA,YAAE,EAAC,UAAU,EAAE,QAAQ,IAAI,cAAc,CAAC,IAC5D,YAAY,CACJ;QACV,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AAoBQ,kDAAmB;AAlB5B,SAAS,YAAY,CAAC,EACpB,UAAU,GAAG,QAAQ,EACrB,QAAQ,EACR,GAAG,KAAK,EACU;;IAClB,OAAO,CACL,8BAAC,mBAAmB,OAAK,KAAK;QAC5B,8BAAC,mBAAM,IACL,OAAO,EAAC,gBAAgB,EACxB,OAAO,EAAE,QAAQ,iBACJ,GAAG,MAAA,KAAK,CAAC,aAAa,CAAC,mCAAI,aAAa,SAAS,IAE7D,UAAU,CACJ,CACW,CACvB,CAAC;AACJ,CAAC;AAEyC,oCAAY"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/components/loader.tsx"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,oDAAiD;AACjD,kDAAgD;AAChD,oDAA4D;AAC5D,kDAAiD;AACjD,6CAAgD;AAEhD,MAAM,eAAe,GAAG,IAAA,aAAG,EAAC;IAC1B,OAAO,EAAE,MAAM;IACf,GAAG,EAAE,gBAAO,CAAC,CAAC,CAAC;IACf,aAAa,EAAE,QAAQ;IACvB,cAAc,EAAE,QAAQ;IACxB,UAAU,EAAE,QAAQ;IACpB,QAAQ,EAAE,gBAAO,CAAC,CAAC,CAAC,GAAG,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC;IACrB,KAAK,EAAE,iBAAO,CAAC,KAAK,CAAC,KAAK;IAC1B,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAA,aAAG,EAAC;IACzB,KAAK,EAAE,iBAAO,CAAC,KAAK,CAAC,MAAM;CAC5B,CAAC,CAAC;AAoBH,MAAM,eAAe,GAAG,IAAA,mBAAS,EAAA;;;CAGhC,CAAC;AAEF,MAAM,eAAe,GAAG,IAAA,aAAG,EAAA;;;;;;;;eAQZ,eAAe;CAC7B,CAAC;AACF,MAAM,WAAW,GAAG,IAAA,aAAG,EAAC;IACtB,SAAS,EAAE,aAAa,iBAAO,CAAC,IAAI,CAAC,KAAK,EAAE;CAC7C,CAAC,CAAC;AAEH,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC;IACrB,SAAS,EAAE,aAAa,iBAAO,CAAC,IAAI,CAAC,MAAM,EAAE;CAC9C,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,EAClB,IAAI,GAAG,EAAE,EACT,KAAK,EACL,QAAQ,EAAE,SAAS,GACH;IAChB,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,SAAS,CAAC,CAAC;IAExC,OAAO,CACL,uCACE,SAAS,EAAE,IAAA,YAAE,EAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,EACnE,KAAK,EAAE;YACL,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,IAAI;SACb,EACD,KAAK,EAAE,KAAK,GACZ,CACH,CAAC;AACJ,CAAC;AAyC6B,gCAAU;AAvCxC,SAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,YAAY,EACZ,CAAC,aAAa,CAAC,EAAE,UAAU,EAC3B,QAAQ,EACR,QAAQ,EAAE,SAAS,EACnB,GAAG,KAAK,EACiB;IACzB,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,SAAS,CAAC,CAAC;IAExC,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,YAAE,EAAC,eAAe,EAAE,SAAS,CAAC,iBAAe,UAAU;QACrE,8BAAC,UAAU,IAAC,IAAI,EAAE,gBAAO,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,KAAM,KAAK,GAAe;QAC1E,8BAAC,qBAAQ,IAAC,SAAS,EAAE,IAAA,YAAE,EAAC,UAAU,EAAE,QAAQ,IAAI,cAAc,CAAC,IAC5D,YAAY,CACJ;QACV,QAAQ,CACL,CACP,CAAC;AACJ,CAAC;AAoBQ,kDAAmB;AAlB5B,SAAS,YAAY,CAAC,EACpB,UAAU,GAAG,QAAQ,EACrB,QAAQ,EACR,GAAG,KAAK,EACU;IAClB,OAAO,CACL,8BAAC,mBAAmB,OAAK,KAAK;QAC5B,8BAAC,mBAAM,IACL,OAAO,EAAC,gBAAgB,EACxB,OAAO,EAAE,QAAQ,iBACJ,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,aAAa,SAAS,IAE7D,UAAU,CACJ,CACW,CACvB,CAAC;AACJ,CAAC;AAEyC,oCAAY"}
@@ -48,7 +48,6 @@ const optionStyles = (0, emotion_1.css)({
48
48
  const MoreOptionsToggle = ({ 'aria-controls': ariaControls, isExpanded, id, 'data-testid': dataTestId, onToggleOptions, label = (expanded) => {
49
49
  return expanded ? 'Fewer Options' : 'More Options';
50
50
  }, 'aria-label': ariaLabel, }) => {
51
- var _a;
52
51
  const optionsIcon = (0, react_1.useMemo)(() => (isExpanded ? 'CaretDown' : 'CaretRight'), [isExpanded]);
53
52
  const optionsLabel = label(isExpanded);
54
53
  const labelStyle = (0, react_1.useMemo)(() => {
@@ -57,7 +56,7 @@ const MoreOptionsToggle = ({ 'aria-controls': ariaControls, isExpanded, id, 'dat
57
56
  width: `calc(${maxLabelLength}ch + ${tokens_1.spacing[3]}px + ${tokens_1.spacing[2]}px)`,
58
57
  };
59
58
  }, [label]);
60
- const optionsAriaLabel = (_a = ariaLabel === null || ariaLabel === void 0 ? void 0 : ariaLabel(isExpanded)) !== null && _a !== void 0 ? _a : optionsLabel;
59
+ const optionsAriaLabel = ariaLabel?.(isExpanded) ?? optionsLabel;
61
60
  const focusRingProps = (0, use_focus_ring_1.useFocusRing)();
62
61
  const buttonProps = (0, merge_props_1.mergeProps)({ className: optionsButtonStyles }, focusRingProps);
63
62
  const onClick = (0, react_1.useCallback)(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"more-options-toggle.js","sourceRoot":"","sources":["../../src/components/more-options-toggle.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,oDAA6C;AAC7C,kDAAgD;AAEhD,4DAAuD;AACvD,6CAA0C;AAC1C,sDAAkD;AAElD,MAAM,qBAAqB,GAAG,IAAA,aAAG,EAAC;IAChC,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAA,aAAG,EAAC;IAE9B,eAAe,EAAE,aAAa;IAC9B,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,gBAAO,CAAC,CAAC,CAAC;IACtB,aAAa,EAAE,gBAAO,CAAC,CAAC,CAAC;IACzB,WAAW,EAAE,gBAAO,CAAC,CAAC,CAAC;IACvB,YAAY,EAAE,gBAAO,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,IAAA,aAAG,EAAC;IACvB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAC;AAYI,MAAM,iBAAiB,GAE1B,CAAC,EACH,eAAe,EAAE,YAAY,EAC7B,UAAU,EACV,EAAE,EACF,aAAa,EAAE,UAAU,EACzB,eAAe,EACf,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE;IACnB,OAAO,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;AACrD,CAAC,EACD,YAAY,EAAE,SAAS,GACxB,EAAE,EAAE;;IACH,MAAM,WAAW,GAAG,IAAA,eAAO,EACzB,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,EAC/C,CAAC,UAAU,CAAC,CACb,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QACzE,OAAO;YAEL,KAAK,EAAE,QAAQ,cAAc,QAAQ,gBAAO,CAAC,CAAC,CAAC,QAAQ,gBAAO,CAAC,CAAC,CAAC,KAAK;SACvE,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,MAAM,gBAAgB,GAAG,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,UAAU,CAAC,mCAAI,YAAY,CAAC;IACjE,MAAM,cAAc,GAAG,IAAA,6BAAY,GAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAA,wBAAU,EAC5B,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAClC,cAAc,CAEoD,CAAC;IACrE,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC/B,eAAe,EAAE,CAAC;IACpB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,CACL,uCAAK,SAAS,EAAE,qBAAqB,EAAE,KAAK,EAAE,UAAU;QACtD,8BAAC,iBAAI,kBACS,gBAAgB,mBACb,UAAU,mBACV,YAAY,EAC3B,EAAE,EAAC,QAAQ,EACX,IAAI,EAAC,QAAQ,EACb,gBAAgB,EAAE,IAAI,iBACT,UAAU,EACvB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,KACZ,WAAW;YAEf,uCAAK,SAAS,EAAE,YAAY;gBACzB,YAAY;gBACb,8BAAC,iBAAI,IAAC,KAAK,EAAE,WAAW,GAAI,CACxB,CACD,CACH,CACP,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,iBAAiB,qBAyD5B"}
1
+ {"version":3,"file":"more-options-toggle.js","sourceRoot":"","sources":["../../src/components/more-options-toggle.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAoD;AACpD,oDAA6C;AAC7C,kDAAgD;AAEhD,4DAAuD;AACvD,6CAA0C;AAC1C,sDAAkD;AAElD,MAAM,qBAAqB,GAAG,IAAA,aAAG,EAAC;IAChC,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAA,aAAG,EAAC;IAE9B,eAAe,EAAE,aAAa;IAC9B,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,gBAAO,CAAC,CAAC,CAAC;IACtB,aAAa,EAAE,gBAAO,CAAC,CAAC,CAAC;IACzB,WAAW,EAAE,gBAAO,CAAC,CAAC,CAAC;IACvB,YAAY,EAAE,gBAAO,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,IAAA,aAAG,EAAC;IACvB,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;CACrB,CAAC,CAAC;AAYI,MAAM,iBAAiB,GAE1B,CAAC,EACH,eAAe,EAAE,YAAY,EAC7B,UAAU,EACV,EAAE,EACF,aAAa,EAAE,UAAU,EACzB,eAAe,EACf,KAAK,GAAG,CAAC,QAAQ,EAAE,EAAE;IACnB,OAAO,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;AACrD,CAAC,EACD,YAAY,EAAE,SAAS,GACxB,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,IAAA,eAAO,EACzB,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,EAC/C,CAAC,UAAU,CAAC,CACb,CAAC;IACF,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;QACzE,OAAO;YAEL,KAAK,EAAE,QAAQ,cAAc,QAAQ,gBAAO,CAAC,CAAC,CAAC,QAAQ,gBAAO,CAAC,CAAC,CAAC,KAAK;SACvE,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACZ,MAAM,gBAAgB,GAAG,SAAS,EAAE,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC;IACjE,MAAM,cAAc,GAAG,IAAA,6BAAY,GAAE,CAAC;IACtC,MAAM,WAAW,GAAG,IAAA,wBAAU,EAC5B,EAAE,SAAS,EAAE,mBAAmB,EAAE,EAClC,cAAc,CAEoD,CAAC;IACrE,MAAM,OAAO,GAAG,IAAA,mBAAW,EAAC,GAAG,EAAE;QAC/B,eAAe,EAAE,CAAC;IACpB,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,OAAO,CACL,uCAAK,SAAS,EAAE,qBAAqB,EAAE,KAAK,EAAE,UAAU;QACtD,8BAAC,iBAAI,kBACS,gBAAgB,mBACb,UAAU,mBACV,YAAY,EAC3B,EAAE,EAAC,QAAQ,EACX,IAAI,EAAC,QAAQ,EACb,gBAAgB,EAAE,IAAI,iBACT,UAAU,EACvB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,KACZ,WAAW;YAEf,uCAAK,SAAS,EAAE,YAAY;gBACzB,YAAY;gBACb,8BAAC,iBAAI,IAAC,KAAK,EAAE,WAAW,GAAI,CACxB,CACD,CACH,CACP,CAAC;AACJ,CAAC,CAAC;AAzDW,QAAA,iBAAiB,qBAyD5B"}
@@ -65,12 +65,11 @@ function getBoundRandom(min, max) {
65
65
  return Math.random() * (max - min) + min;
66
66
  }
67
67
  const Placeholder = ({ className, minChar = 5, maxChar = 15, width: propsWidth, height: propsHeight = tokens_1.spacing[3], ...props }) => {
68
- var _a;
69
68
  const darkMode = (0, use_theme_1.useDarkMode)();
70
69
  const width = (0, react_1.useMemo)(() => {
71
70
  return propsWidth || `${Math.round(getBoundRandom(minChar, maxChar))}ch`;
72
71
  }, [minChar, maxChar, propsWidth]);
73
- return (react_1.default.createElement("div", { ...props, role: "presentation", "data-testid": (_a = props['data-testid']) !== null && _a !== void 0 ? _a : 'placeholder', className: (0, emotion_1.cx)(placeholder, className, darkMode && placeholderDarkMode), style: { width, height: propsHeight } }));
72
+ return (react_1.default.createElement("div", { ...props, role: "presentation", "data-testid": props['data-testid'] ?? 'placeholder', className: (0, emotion_1.cx)(placeholder, className, darkMode && placeholderDarkMode), style: { width, height: propsHeight } }));
74
73
  };
75
74
  exports.Placeholder = Placeholder;
76
75
  //# sourceMappingURL=placeholder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../src/components/placeholder.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+CAAuC;AACvC,oDAA4D;AAC5D,kDAAgD;AAChD,oDAAiD;AACjD,kDAAiD;AAGjD,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAEtE,MAAM,IAAI,GAAG,IAAA,mBAAS,EAAC;IACrB,IAAI,EAAE;QACJ,kBAAkB,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI;KAC1C;IACD,EAAE,EAAE;QACF,kBAAkB,EAAE,KAAK;KAC1B;CACF,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAA,aAAG,EAAC;IACtB,kBAAkB,EAAE,iBAAO,CAAC,IAAI,CAAC,MAAM;IACvC,gBAAgB,EAAE,iBAAO,CAAC,IAAI,CAAC,MAAM;IACrC,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,uBAAuB;IACxC,eAAe,EAAE;;;8BAGW,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gCACpB,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;;MAE5C;IACJ,cAAc,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO;IACxC,kBAAkB,EAAE,KAAK;IACzB,SAAS,EAAE,GAAG,IAAI,IAAI,KAAK,mBAAmB;CAC/C,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAA,aAAG,EAAC;IAC9B,kBAAkB,EAAE,iBAAO,CAAC,IAAI,CAAC,KAAK;IACtC,gBAAgB,EAAE,iBAAO,CAAC,IAAI,CAAC,KAAK;CACrC,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,GAAW,EAAE,GAAW;IAC9C,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3C,CAAC;AAED,MAAM,WAAW,GAWb,CAAC,EACH,SAAS,EACT,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,EAAE,EACZ,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,GAAG,gBAAO,CAAC,CAAC,CAAC,EAChC,GAAG,KAAK,EACT,EAAE,EAAE;;IACH,MAAM,QAAQ,GAAG,IAAA,uBAAW,GAAE,CAAC;IAE/B,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACzB,OAAO,UAAU,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnC,OAAO,CACL,0CACM,KAAK,EACT,IAAI,EAAC,cAAc,iBACN,MAAA,KAAK,CAAC,aAAa,CAAC,mCAAI,aAAa,EAClD,SAAS,EAAE,IAAA,YAAE,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,IAAI,mBAAmB,CAAC,EACtE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAChC,CACR,CAAC;AACJ,CAAC,CAAC;AAEO,kCAAW"}
1
+ {"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../src/components/placeholder.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+CAAuC;AACvC,oDAA4D;AAC5D,kDAAgD;AAChD,oDAAiD;AACjD,kDAAiD;AAGjD,MAAM,KAAK,GAAG,CAAC,CAAC;AAEhB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;AAEtE,MAAM,IAAI,GAAG,IAAA,mBAAS,EAAC;IACrB,IAAI,EAAE;QACJ,kBAAkB,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI;KAC1C;IACD,EAAE,EAAE;QACF,kBAAkB,EAAE,KAAK;KAC1B;CACF,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAA,aAAG,EAAC;IACtB,kBAAkB,EAAE,iBAAO,CAAC,IAAI,CAAC,MAAM;IACvC,gBAAgB,EAAE,iBAAO,CAAC,IAAI,CAAC,MAAM;IACrC,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE,CAAC;IACf,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE,uBAAuB;IACxC,eAAe,EAAE;;;8BAGW,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;gCACpB,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;;MAE5C;IACJ,cAAc,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO;IACxC,kBAAkB,EAAE,KAAK;IACzB,SAAS,EAAE,GAAG,IAAI,IAAI,KAAK,mBAAmB;CAC/C,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAA,aAAG,EAAC;IAC9B,kBAAkB,EAAE,iBAAO,CAAC,IAAI,CAAC,KAAK;IACtC,gBAAgB,EAAE,iBAAO,CAAC,IAAI,CAAC,KAAK;CACrC,CAAC,CAAC;AAEH,SAAS,cAAc,CAAC,GAAW,EAAE,GAAW;IAC9C,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;AAC3C,CAAC;AAED,MAAM,WAAW,GAWb,CAAC,EACH,SAAS,EACT,OAAO,GAAG,CAAC,EACX,OAAO,GAAG,EAAE,EACZ,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,GAAG,gBAAO,CAAC,CAAC,CAAC,EAChC,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAA,uBAAW,GAAE,CAAC;IAE/B,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QACzB,OAAO,UAAU,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC3E,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAEnC,OAAO,CACL,0CACM,KAAK,EACT,IAAI,EAAC,cAAc,iBACN,KAAK,CAAC,aAAa,CAAC,IAAI,aAAa,EAClD,SAAS,EAAE,IAAA,YAAE,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,IAAI,mBAAmB,CAAC,EACtE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAChC,CACR,CAAC;AACJ,CAAC,CAAC;AAEO,kCAAW"}
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ type SignalTrackingHooks = {
3
+ onSignalMount(id: string): void;
4
+ onSignalOpen(id: string): void;
5
+ onSignalLinkClick(id: string): void;
6
+ onSignalPrimaryActionClick(id: string): void;
7
+ onSignalClose(id: string): void;
8
+ };
9
+ declare const SignalHooksProvider: React.FunctionComponent<Partial<SignalTrackingHooks>>;
10
+ export type Signal = {
11
+ id: string;
12
+ title: React.ReactNode;
13
+ description: React.ReactNode;
14
+ learnMoreLink: string;
15
+ learnMoreLabel?: string;
16
+ primaryActionButtonLabel?: string;
17
+ primaryActionButtonIcon?: string;
18
+ primaryActionButtonVariant?: 'primaryOutline' | 'dangerOutline';
19
+ primaryActionButtonLink?: string;
20
+ onPrimaryActionButtonClick?: React.MouseEventHandler;
21
+ };
22
+ type SignalPopoverProps = {
23
+ signals: Signal | Signal[];
24
+ darkMode?: boolean;
25
+ onPopoverOpenChange?: (open: boolean) => void;
26
+ className?: string;
27
+ };
28
+ declare const SignalPopover: React.FunctionComponent<SignalPopoverProps>;
29
+ export { SignalPopover, SignalHooksProvider };
30
+ //# sourceMappingURL=signal-popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal-popover.d.ts","sourceRoot":"","sources":["../../src/components/signal-popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAON,MAAM,OAAO,CAAC;AAaf,KAAK,mBAAmB,GAAG;IACzB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,0BAA0B,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAoBF,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,iBAAiB,CAChD,OAAO,CAAC,mBAAmB,CAAC,CA6B7B,CAAC;AAIF,MAAM,MAAM,MAAM,GAAG;IAMnB,EAAE,EAAE,MAAM,CAAC;IAEX,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IAEvB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B,aAAa,EAAE,MAAM,CAAC;IAKtB,cAAc,CAAC,EAAE,MAAM,CAAC;IAKxB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,0BAA0B,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAAC;IAKhE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAMjC,0BAA0B,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC;CACtD,CAAC;AAEF,KAAK,kBAAkB,GAAG;IAExB,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAwTF,QAAA,MAAM,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,CA+N9D,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,356 @@
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.SignalHooksProvider = exports.SignalPopover = void 0;
27
+ const react_1 = __importStar(require("react"));
28
+ const use_focus_hover_1 = require("../hooks/use-focus-hover");
29
+ const leafygreen_1 = require("./leafygreen");
30
+ const interactive_popover_1 = require("./interactive-popover");
31
+ const merge_props_1 = require("../utils/merge-props");
32
+ const emotion_1 = require("@leafygreen-ui/emotion");
33
+ const palette_1 = require("@leafygreen-ui/palette");
34
+ const use_theme_1 = require("../hooks/use-theme");
35
+ const tokens_1 = require("@leafygreen-ui/tokens");
36
+ const guide_cue_1 = require("./guide-cue/guide-cue");
37
+ const use_effect_on_change_1 = require("../hooks/use-effect-on-change");
38
+ const rafraf_1 = require("../utils/rafraf");
39
+ const TrackingHooksContext = react_1.default.createContext({
40
+ onSignalMount() {
41
+ },
42
+ onSignalOpen() {
43
+ },
44
+ onSignalLinkClick() {
45
+ },
46
+ onSignalPrimaryActionClick() {
47
+ },
48
+ onSignalClose() {
49
+ },
50
+ });
51
+ const SignalHooksProvider = ({ children, ..._hooks }) => {
52
+ const hooksRef = (0, react_1.useRef)(_hooks);
53
+ hooksRef.current = _hooks;
54
+ const hooks = (0, react_1.useMemo)(() => {
55
+ return {
56
+ onSignalMount(id) {
57
+ hooksRef.current.onSignalMount?.(id);
58
+ },
59
+ onSignalOpen(id) {
60
+ hooksRef.current.onSignalOpen?.(id);
61
+ },
62
+ onSignalLinkClick(id) {
63
+ hooksRef.current.onSignalLinkClick?.(id);
64
+ },
65
+ onSignalPrimaryActionClick(id) {
66
+ hooksRef.current.onSignalPrimaryActionClick?.(id);
67
+ },
68
+ onSignalClose(id) {
69
+ hooksRef.current.onSignalClose?.(id);
70
+ },
71
+ };
72
+ }, []);
73
+ return (react_1.default.createElement(TrackingHooksContext.Provider, { value: hooks }, children));
74
+ };
75
+ exports.SignalHooksProvider = SignalHooksProvider;
76
+ const TRANSITION_DURATION_MS = 150;
77
+ const signalCardContentStyles = (0, emotion_1.css)({
78
+ '--signalCardBackgroundColor': palette_1.palette.white,
79
+ width: '100%',
80
+ display: 'grid',
81
+ gridTemplateColumns: '1fr',
82
+ gridTemplateRows: 'auto 1fr auto',
83
+ paddingTop: tokens_1.spacing[4],
84
+ paddingBottom: tokens_1.spacing[4],
85
+ paddingLeft: tokens_1.spacing[4],
86
+ paddingRight: tokens_1.spacing[4],
87
+ backgroundColor: 'var(--signalCardBackgroundColor)',
88
+ });
89
+ const CLOSE_BTN_TOP_WITH_MULTI_SIGNALS = 5;
90
+ const CLOSE_BTN_RIGHT_WITH_MULTI_SIGNALS = 5;
91
+ const CLOSE_BTN_TOP = 18;
92
+ const CLOSE_BTN_RIGHT = 18;
93
+ const signalCardContentDarkModeStyles = (0, emotion_1.css)({
94
+ '--signalCardBackgroundColor': palette_1.palette.gray.dark4,
95
+ });
96
+ const signalCardTitleStyles = (0, emotion_1.css)({
97
+ marginBottom: tokens_1.spacing[2],
98
+ fontSize: tokens_1.spacing[3],
99
+ });
100
+ const signalCardTitleStylesWithOneSignal = (0, emotion_1.css)({
101
+ paddingRight: CLOSE_BTN_RIGHT,
102
+ });
103
+ const signalCardDescriptionStyles = (0, emotion_1.css)({
104
+ marginBottom: tokens_1.spacing[3],
105
+ });
106
+ const signalCardActionGroupStyles = (0, emotion_1.css)({
107
+ display: 'flex',
108
+ justifyContent: 'space-between',
109
+ });
110
+ const signalCardActionButtonStyles = (0, emotion_1.css)({
111
+ flex: 'none',
112
+ });
113
+ const signalCardLearnMoreLinkStyles = (0, emotion_1.css)({
114
+ flex: 'none',
115
+ });
116
+ const SignalCard = ({ id, title, description, learnMoreLink, learnMoreLabel, primaryActionButtonLabel, primaryActionButtonIcon, primaryActionButtonVariant, primaryActionButtonLink, darkMode: _darkMode, onPrimaryActionButtonClick, hasMultiSignals, }) => {
117
+ const darkMode = (0, use_theme_1.useDarkMode)(_darkMode);
118
+ const hooks = (0, react_1.useContext)(TrackingHooksContext);
119
+ return (react_1.default.createElement("div", { className: (0, emotion_1.cx)(signalCardContentStyles, darkMode && signalCardContentDarkModeStyles), "data-testid": "insight-signal-card", "data-signal-id": id },
120
+ react_1.default.createElement("strong", { className: (0, emotion_1.cx)(signalCardTitleStyles, {
121
+ [signalCardTitleStylesWithOneSignal]: !hasMultiSignals,
122
+ }) }, title),
123
+ react_1.default.createElement(leafygreen_1.Body, { as: "div", baseFontSize: 13, className: signalCardDescriptionStyles }, description),
124
+ react_1.default.createElement("div", { className: signalCardActionGroupStyles },
125
+ primaryActionButtonLabel && (react_1.default.createElement(leafygreen_1.Button, { size: "small", as: primaryActionButtonLink ? 'a' : 'button', target: primaryActionButtonLink ? '_blank' : undefined, href: primaryActionButtonLink, "data-testid": "insight-signal-primary-action", variant: primaryActionButtonVariant ?? 'primaryOutline', className: signalCardActionButtonStyles, leftGlyph: primaryActionButtonIcon ? (react_1.default.createElement(leafygreen_1.Icon, { glyph: primaryActionButtonIcon })) : undefined, onClick: (evt) => {
126
+ hooks.onSignalPrimaryActionClick(id);
127
+ onPrimaryActionButtonClick?.(evt);
128
+ } }, primaryActionButtonLabel)),
129
+ react_1.default.createElement(leafygreen_1.Link, { "data-testid": "insight-signal-link", className: signalCardLearnMoreLinkStyles, href: learnMoreLink, target: "_blank", onClick: () => {
130
+ hooks.onSignalLinkClick(id);
131
+ } }, learnMoreLabel ?? 'Learn more'))));
132
+ };
133
+ const multiSignalHeaderContainerStyles = (0, emotion_1.css)({
134
+ '--multiSignalHeaderBorderColor': palette_1.palette.gray.light2,
135
+ '--multiSignalHeaderBackgroundColor': palette_1.palette.gray.light3,
136
+ display: 'flex',
137
+ alignItems: 'center',
138
+ paddingTop: tokens_1.spacing[1],
139
+ paddingBottom: tokens_1.spacing[1],
140
+ paddingLeft: tokens_1.spacing[2],
141
+ paddingRight: tokens_1.spacing[4],
142
+ gap: tokens_1.spacing[1],
143
+ backgroundColor: 'var(--multiSignalHeaderBackgroundColor)',
144
+ boxShadow: `inset 0 -1px 0 var(--multiSignalHeaderBorderColor)`,
145
+ fontVariantNumeric: 'tabular-nums',
146
+ });
147
+ const multiSignalHeaderContainerDarkModeStyles = (0, emotion_1.css)({
148
+ '--multiSignalHeaderBorderColor': palette_1.palette.gray.dark2,
149
+ '--multiSignalHeaderBackgroundColor': palette_1.palette.gray.dark3,
150
+ });
151
+ const MultiSignalHeader = ({ currentIndex, total, onIndexChange, darkMode: _darkMode }) => {
152
+ const darkMode = (0, use_theme_1.useDarkMode)(_darkMode);
153
+ return (react_1.default.createElement("div", { className: (0, emotion_1.cx)(multiSignalHeaderContainerStyles, darkMode && multiSignalHeaderContainerDarkModeStyles) },
154
+ react_1.default.createElement(leafygreen_1.IconButton, { "data-testid": "insight-signal-show-prev-button", "aria-label": "Show previous insight", title: "Show previous insight", onClick: (e) => {
155
+ e.stopPropagation();
156
+ onIndexChange(currentIndex - 1);
157
+ }, disabled: currentIndex === 0 },
158
+ react_1.default.createElement(leafygreen_1.Icon, { glyph: "ChevronLeft" })),
159
+ react_1.default.createElement("span", null,
160
+ "Insight ",
161
+ react_1.default.createElement("strong", null, currentIndex + 1),
162
+ " of ",
163
+ react_1.default.createElement("strong", null, total)),
164
+ react_1.default.createElement(leafygreen_1.IconButton, { "data-testid": "insight-signal-show-next-button", "aria-label": "Show next insight", title: "Show next insight", onClick: (e) => {
165
+ e.stopPropagation();
166
+ onIndexChange(currentIndex + 1);
167
+ }, disabled: currentIndex === total - 1 },
168
+ react_1.default.createElement(leafygreen_1.Icon, { glyph: "ChevronRight" }))));
169
+ };
170
+ const popoverStyles = (0, emotion_1.css)({
171
+ width: 315,
172
+ });
173
+ const popoverHiddenStyles = (0, emotion_1.css)({
174
+ display: 'none !important',
175
+ opacity: '0 !important',
176
+ transition: 'none !important',
177
+ });
178
+ const popoverContentContainerStyles = (0, emotion_1.css)({
179
+ display: 'block',
180
+ });
181
+ const transitionStyles = (0, emotion_1.css)({
182
+ transitionProperty: 'opacity, width, border-radius, color, box-shadow, background-color',
183
+ transitionTimingFunction: 'linear',
184
+ transitionDuration: `${TRANSITION_DURATION_MS}ms`,
185
+ });
186
+ const badgeStyles = (0, emotion_1.css)({
187
+ padding: 0,
188
+ border: 'none',
189
+ background: 'none',
190
+ }, {
191
+ position: 'relative',
192
+ display: 'block',
193
+ width: 18,
194
+ height: 18,
195
+ color: 'var(--badgeColor)',
196
+ backgroundColor: 'var(--badgeBackgroundColor)',
197
+ boxShadow: `inset 0 0 0 1px var(--badgeBorderColor)`,
198
+ borderRadius: '9px',
199
+ fontSize: '12px',
200
+ lineHeight: '14px',
201
+ fontWeight: 700,
202
+ overflow: 'hidden',
203
+ cursor: 'pointer',
204
+ }, transitionStyles);
205
+ const badgeLightModeStyles = (0, emotion_1.css)({
206
+ '--badgeBackgroundColor': palette_1.palette.blue.light3,
207
+ '--badgeBorderColor': palette_1.palette.blue.light2,
208
+ '--badgeColor': palette_1.palette.blue.dark1,
209
+ });
210
+ const badgeDarkModeStyles = (0, emotion_1.css)({
211
+ '--badgeBackgroundColor': palette_1.palette.blue.dark2,
212
+ '--badgeBorderColor': palette_1.palette.blue.dark1,
213
+ '--badgeColor': palette_1.palette.blue.light2,
214
+ });
215
+ const badgeHoveredStyles = (0, emotion_1.css)({
216
+ borderRadius: 5,
217
+ });
218
+ const badgeHoveredLightModeStyles = (0, emotion_1.css)({
219
+ '--badgeBackgroundColor': palette_1.palette.blue.light1,
220
+ '--badgeBorderColor': palette_1.palette.blue.dark1,
221
+ '--badgeColor': palette_1.palette.white,
222
+ borderRadius: 5,
223
+ });
224
+ const badgeHoveredDarkModeStyles = (0, emotion_1.css)({
225
+ '--badgeBackgroundColor': palette_1.palette.blue.dark1,
226
+ '--badgeBorderColor': palette_1.palette.blue.base,
227
+ '--badgeColor': palette_1.palette.blue.light3,
228
+ });
229
+ const badgeIconStyles = (0, emotion_1.css)({});
230
+ const badgeIconCollapsedStyles = (0, emotion_1.css)({
231
+ position: 'absolute',
232
+ top: 2,
233
+ left: 2,
234
+ }, transitionStyles);
235
+ const badgeLabelStyles = (0, emotion_1.css)({
236
+ position: 'absolute',
237
+ display: 'flex',
238
+ alignItems: 'center',
239
+ justifyContent: 'center',
240
+ textTransform: 'uppercase',
241
+ top: 2,
242
+ }, transitionStyles);
243
+ const singleInsightBadge = (0, emotion_1.css)({
244
+ justifyContent: 'flex-start',
245
+ paddingLeft: 2,
246
+ });
247
+ const closeButtonStyles = (0, emotion_1.css)({
248
+ top: CLOSE_BTN_TOP,
249
+ right: CLOSE_BTN_RIGHT,
250
+ });
251
+ const closeButtonMultiSignalStyles = (0, emotion_1.css)({
252
+ top: CLOSE_BTN_TOP_WITH_MULTI_SIGNALS,
253
+ right: CLOSE_BTN_RIGHT_WITH_MULTI_SIGNALS,
254
+ });
255
+ const SignalPopover = ({ signals: _signals, darkMode: _darkMode, onPopoverOpenChange: _onPopoverOpenChange, className, }) => {
256
+ const hooks = (0, react_1.useContext)(TrackingHooksContext);
257
+ const darkMode = (0, use_theme_1.useDarkMode)(_darkMode);
258
+ const [triggerVisible, setTriggerVisible] = (0, react_1.useState)(true);
259
+ const [popoverOpen, setPopoverOpen] = (0, react_1.useState)(false);
260
+ const [hoverProps, isHovered, setHovered] = (0, use_focus_hover_1.useHoverState)();
261
+ const [currentSignalIndex, setCurrentSignalIndex] = (0, react_1.useState)(0);
262
+ const signals = Array.isArray(_signals) ? _signals : [_signals];
263
+ const currentSignal = signals[currentSignalIndex];
264
+ const multiSignals = signals.length > 1;
265
+ const isActive = isHovered || popoverOpen;
266
+ const triggerRef = (0, react_1.useRef)(null);
267
+ const mountedSignalsRef = (0, react_1.useRef)(new Set());
268
+ signals.forEach(({ id }) => {
269
+ if (!mountedSignalsRef.current.has(id)) {
270
+ hooks.onSignalMount(id);
271
+ mountedSignalsRef.current.add(id);
272
+ }
273
+ });
274
+ (0, use_effect_on_change_1.useEffectOnChange)(() => {
275
+ if (popoverOpen) {
276
+ hooks.onSignalOpen(currentSignal.id);
277
+ }
278
+ else {
279
+ hooks.onSignalClose(currentSignal.id);
280
+ }
281
+ }, [currentSignal.id, popoverOpen]);
282
+ (0, react_1.useLayoutEffect)(() => {
283
+ if (!triggerRef.current) {
284
+ return;
285
+ }
286
+ const observer = new IntersectionObserver((entries) => {
287
+ const isVisible = entries[0].isIntersecting;
288
+ setTriggerVisible(isVisible);
289
+ if (!isVisible) {
290
+ setPopoverOpen(false);
291
+ }
292
+ });
293
+ observer.observe(triggerRef.current);
294
+ return observer.disconnect.bind(observer);
295
+ }, []);
296
+ const onPopoverOpenChange = (0, react_1.useCallback)((newStatus) => {
297
+ setPopoverOpen(newStatus);
298
+ _onPopoverOpenChange?.(newStatus);
299
+ if (newStatus === true) {
300
+ setCurrentSignalIndex(0);
301
+ }
302
+ }, [_onPopoverOpenChange]);
303
+ const badgeLabel = multiSignals ? (react_1.default.createElement(react_1.default.Fragment, null,
304
+ signals.length,
305
+ "\u00A0insights")) : (react_1.default.createElement(react_1.default.Fragment, null,
306
+ react_1.default.createElement(leafygreen_1.Icon, { glyph: "Bulb", size: "small" }),
307
+ "\u00A0insight"));
308
+ const activeBadgeWidth = multiSignals
309
+ ?
310
+ `${`${signals.length} insights`.length}ch`
311
+ :
312
+ `calc(14px + ${' insight'.length}ch)`;
313
+ return (react_1.default.createElement(interactive_popover_1.InteractivePopover, { className: (0, emotion_1.cx)(popoverStyles, !triggerVisible && popoverHiddenStyles), containerClassName: (0, emotion_1.cx)(popoverContentContainerStyles), closeButtonClassName: multiSignals ? closeButtonMultiSignalStyles : closeButtonStyles, open: popoverOpen, setOpen: onPopoverOpenChange, spacing: tokens_1.spacing[2], trigger: ({ children, ...triggerProps }) => {
314
+ const onTriggerClick = (evt) => {
315
+ evt.stopPropagation();
316
+ triggerProps.onClick(evt);
317
+ };
318
+ return (react_1.default.createElement(guide_cue_1.GuideCue, { cueId: "insights", title: "Introducing insights", description: "Across Compass, you may now see icons like this to clue you in on potential areas of improvement for your data.", buttonText: "See insights in action", onPrimaryButtonClick: () => {
319
+ setHovered(true);
320
+ setTimeout(() => {
321
+ (0, rafraf_1.rafraf)(() => {
322
+ triggerRef.current?.click();
323
+ });
324
+ }, TRANSITION_DURATION_MS);
325
+ }, trigger: ({ ref: guideCueRef }) => {
326
+ const props = (0, merge_props_1.mergeProps)(hoverProps, triggerProps, {
327
+ className: (0, emotion_1.cx)(badgeStyles, isActive && badgeHoveredStyles, ...(darkMode
328
+ ? [
329
+ badgeDarkModeStyles,
330
+ isActive && badgeHoveredDarkModeStyles,
331
+ ]
332
+ : [
333
+ badgeLightModeStyles,
334
+ isActive && badgeHoveredLightModeStyles,
335
+ ]), className),
336
+ style: { width: isActive ? activeBadgeWidth : 18 },
337
+ ref: triggerRef,
338
+ }, { ref: guideCueRef });
339
+ return (react_1.default.createElement(react_1.default.Fragment, null,
340
+ react_1.default.createElement("button", { ...props, onClick: onTriggerClick, "data-testid": "insight-badge-button", type: "button" },
341
+ react_1.default.createElement(leafygreen_1.Icon, { glyph: "Bulb", size: "small", className: (0, emotion_1.cx)(badgeIconStyles, badgeIconCollapsedStyles), style: { opacity: isActive ? 0 : 1 } }),
342
+ react_1.default.createElement("strong", { className: (0, emotion_1.cx)(badgeLabelStyles, !multiSignals && singleInsightBadge), style: {
343
+ width: activeBadgeWidth,
344
+ opacity: isActive ? 1 : 0,
345
+ } }, badgeLabel)),
346
+ children));
347
+ } }));
348
+ } },
349
+ react_1.default.createElement("div", { onMouseDown: (event) => {
350
+ event.stopPropagation();
351
+ } },
352
+ multiSignals && (react_1.default.createElement(MultiSignalHeader, { currentIndex: currentSignalIndex, total: signals.length, onIndexChange: setCurrentSignalIndex, darkMode: darkMode })),
353
+ react_1.default.createElement(SignalCard, { ...currentSignal, darkMode: darkMode, hasMultiSignals: multiSignals }))));
354
+ };
355
+ exports.SignalPopover = SignalPopover;
356
+ //# sourceMappingURL=signal-popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signal-popover.js","sourceRoot":"","sources":["../../src/components/signal-popover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /// <reference types="react" />
2
+ import type { Signal } from './signal-popover';
3
+ declare const SIGNALS: readonly [{
4
+ readonly id: "aggregation-executed-without-index";
5
+ readonly title: "Aggregation executed without index";
6
+ readonly description: JSX.Element;
7
+ readonly learnMoreLink: "https://www.mongodb.com/docs/v6.0/core/data-model-operations/#indexes";
8
+ readonly primaryActionButtonLabel: "Create index";
9
+ readonly primaryActionButtonIcon: "Plus";
10
+ }, {
11
+ readonly id: "atlas-text-regex-usage-in-view";
12
+ readonly title: "Alternate text search options available";
13
+ readonly description: "In many cases, Atlas Search is MongoDB's most efficient full text search option. Convert your view’s query to $search for a wider range of functionality.";
14
+ readonly learnMoreLink: "https://www.mongodb.com/docs/atlas/atlas-search/best-practices/";
15
+ readonly primaryActionButtonLink: "https://www.mongodb.com/cloud/atlas/lp/search-1";
16
+ readonly primaryActionButtonLabel: "Try Atlas Search";
17
+ }, {
18
+ readonly id: "non-atlas-text-regex-usage-in-view";
19
+ readonly title: "Alternate text search options available";
20
+ readonly description: "In many cases, Atlas Search is MongoDB's most efficient full text search option. Connect with Atlas to explore the power of Atlas Search.";
21
+ readonly learnMoreLink: "https://www.mongodb.com/docs/atlas/atlas-search/best-practices/";
22
+ readonly primaryActionButtonLink: "https://www.mongodb.com/cloud/atlas/lp/search-1";
23
+ readonly primaryActionButtonLabel: "Try Atlas Search";
24
+ }, {
25
+ readonly id: "lookup-in-view";
26
+ readonly title: "$lookup usage";
27
+ readonly description: "$lookup operations can be resource-intensive because they perform operations on two collections instead of one. In certain situations, embedding documents or arrays can enhance read performance.";
28
+ readonly learnMoreLink: "https://www.mongodb.com/docs/atlas/schema-suggestions/reduce-lookup-operations/#std-label-anti-pattern-denormalization";
29
+ }, {
30
+ readonly id: "atlas-text-regex-usage-in-stage";
31
+ readonly title: "Alternate text search options available";
32
+ readonly description: "In many cases, Atlas Search is MongoDB's most efficient full text search option. Convert your query to $search for a wider range of functionality.";
33
+ readonly learnMoreLink: "https://www.mongodb.com/docs/atlas/atlas-search/best-practices/";
34
+ readonly primaryActionButtonLink: "https://www.mongodb.com/cloud/atlas/lp/search-1";
35
+ readonly primaryActionButtonLabel: "Try Atlas Search";
36
+ }, {
37
+ readonly id: "non-atlas-text-regex-usage-in-stage";
38
+ readonly title: "Alternate text search options available";
39
+ readonly description: "In many cases, Atlas Search is MongoDB's most efficient full text search option. Connect with Atlas to explore the power of Atlas Search.";
40
+ readonly learnMoreLink: "https://www.mongodb.com/docs/atlas/atlas-search/best-practices/";
41
+ readonly primaryActionButtonLink: "https://www.mongodb.com/cloud/atlas/lp/search-1";
42
+ readonly primaryActionButtonLabel: "Try Atlas Search";
43
+ }, {
44
+ readonly id: "lookup-in-stage";
45
+ readonly title: "$lookup usage";
46
+ readonly description: "$lookup operations can be resource-intensive because they perform operations on two collections instead of one. In certain situations, embedding documents or arrays can enhance read performance.";
47
+ readonly learnMoreLink: "https://www.mongodb.com/docs/atlas/schema-suggestions/reduce-lookup-operations/#std-label-anti-pattern-denormalization";
48
+ }, {
49
+ readonly id: "query-executed-without-index";
50
+ readonly title: "Query executed without index";
51
+ readonly description: JSX.Element;
52
+ readonly learnMoreLink: "https://www.mongodb.com/docs/v6.0/core/data-model-operations/#indexes";
53
+ readonly primaryActionButtonLabel: "Create index";
54
+ readonly primaryActionButtonIcon: "Plus";
55
+ }, {
56
+ readonly id: "bloated-document";
57
+ readonly title: "Possibly bloated document";
58
+ readonly description: "Large documents can slow down queries by decreasing the number of documents that can be stored in RAM. Consider breaking up your data into more collections with smaller documents, and using references to consolidate the data you need.";
59
+ readonly learnMoreLink: "https://www.mongodb.com/docs/atlas/schema-suggestions/reduce-document-size/";
60
+ }, {
61
+ readonly id: "explain-plan-without-index";
62
+ readonly title: "Query executed without index";
63
+ readonly description: JSX.Element;
64
+ readonly learnMoreLink: "https://www.mongodb.com/docs/v6.0/core/data-model-operations/#indexes";
65
+ readonly primaryActionButtonLabel: "Create index";
66
+ readonly primaryActionButtonIcon: "Plus";
67
+ }, {
68
+ readonly id: "too-many-indexes";
69
+ readonly title: "High number of indexes on collection";
70
+ readonly description: "Consider reviewing your indexes to remove any that are unnecessary. Learn more about this anti-pattern";
71
+ readonly learnMoreLink: "https://www.mongodb.com/docs/manual/core/data-model-operations/#indexes";
72
+ }, {
73
+ readonly id: "too-many-collections";
74
+ readonly title: "Databases with too many collections";
75
+ readonly description: "An excessive number of collections and their associated indexes can drain resources and impact your database's performance. In general, try to limit your replica set to 10,000 collections.";
76
+ readonly learnMoreLink: "https://www.mongodb.com/docs/v6.0/core/data-model-operations/#large-number-of-collections";
77
+ }, {
78
+ readonly id: "unbound-array";
79
+ readonly title: "Large array detected";
80
+ readonly description: "As arrays get larger, queries and indexes on that array field become less efficient. Ensure your arrays are bounded to maintain optimal query performance.";
81
+ readonly learnMoreLink: "https://www.mongodb.com/docs/atlas/schema-suggestions/avoid-unbounded-arrays/";
82
+ }];
83
+ export declare const PerformanceSignals: {
84
+ get(key: (typeof SIGNALS)[number]['id']): Pick<Signal, keyof (typeof SIGNALS)[number]>;
85
+ };
86
+ export {};
87
+ //# sourceMappingURL=signals.d.ts.map