@aws/mynah-ui 4.35.3 → 4.35.5

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 (197) hide show
  1. package/Dockerfile +34 -0
  2. package/README.md +1 -0
  3. package/dist/components/chat-item/chat-prompt-input.d.ts +16 -1
  4. package/dist/components/chat-item/chat-wrapper.d.ts +5 -1
  5. package/dist/components/chat-item/prompt-input/prompt-text-input.d.ts +2 -1
  6. package/dist/components/chat-item/prompt-input/prompt-top-bar/prompt-top-bar.d.ts +47 -0
  7. package/dist/components/chat-item/prompt-input/prompt-top-bar/top-bar-button.d.ts +32 -0
  8. package/dist/components/detailed-list/detailed-list.d.ts +14 -2
  9. package/dist/components/icon.d.ts +1 -0
  10. package/dist/components/overlay.d.ts +7 -0
  11. package/dist/helper/quick-pick-data-handler.d.ts +1 -1
  12. package/dist/helper/test-ids.d.ts +7 -0
  13. package/dist/main.d.ts +8 -0
  14. package/dist/main.js +1 -1
  15. package/dist/main.js.map +1 -1
  16. package/dist/static.d.ts +18 -1
  17. package/docs/DATAMODEL.md +86 -0
  18. package/docs/DEVELOPER.md +2 -1
  19. package/docs/PROPERTIES.md +68 -3
  20. package/docs/TESTING.md +73 -0
  21. package/docs/USAGE.md +58 -1
  22. package/docs/img/data-model/tabStore/promptTopBarButton.png +0 -0
  23. package/docs/img/data-model/tabStore/promptTopBarContextItems.png +0 -0
  24. package/docs/img/data-model/tabStore/promptTopBarTitle.png +0 -0
  25. package/docs/img/topBarButtonOverlay.png +0 -0
  26. package/package.json +12 -5
  27. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Context-selector-should-close-the-context-selector-by-clicking-outside/Open-MynahUI-Context-selector-should-close-the-context-selector-by-clicking-outside-1.png +0 -0
  28. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Context-selector-should-close-the-context-selector-by-pressing-escape/Open-MynahUI-Context-selector-should-close-the-context-selector-by-pressing-escape-1.png +0 -0
  29. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Context-selector-should-filter-context-selector-list/Open-MynahUI-Context-selector-should-filter-context-selector-list-1.png +0 -0
  30. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Context-selector-should-render-the-context-selector/Open-MynahUI-Context-selector-should-render-the-context-selector-1.png +0 -0
  31. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Context-selector-should-select-context-selector-item-by-clicking/Open-MynahUI-Context-selector-should-select-context-selector-item-by-clicking-1.png +0 -0
  32. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Context-selector-should-select-context-selector-item-with-enter/Open-MynahUI-Context-selector-should-select-context-selector-item-with-enter-1.png +0 -0
  33. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Context-selector-should-select-context-selector-item-with-space/Open-MynahUI-Context-selector-should-select-context-selector-item-with-space-1.png +0 -0
  34. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Context-selector-should-select-context-selector-item-with-tab/Open-MynahUI-Context-selector-should-select-context-selector-item-with-tab-1.png +0 -0
  35. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Feedback-form-should-cancel-feedback-form/Open-MynahUI-Feedback-form-should-cancel-feedback-form-1.png +0 -0
  36. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Feedback-form-should-render-downvote-results/Open-MynahUI-Feedback-form-should-render-downvote-results-1.png +0 -0
  37. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Feedback-form-should-render-feedback-form/Open-MynahUI-Feedback-form-should-render-feedback-form-1.png +0 -0
  38. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Feedback-form-should-render-upvote-results/Open-MynahUI-Feedback-form-should-render-upvote-results-1.png +0 -0
  39. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Feedback-form-should-render-vote-buttons/Open-MynahUI-Feedback-form-should-render-vote-buttons-1.png +0 -0
  40. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Feedback-form-should-submit-feedback-form/Open-MynahUI-Feedback-form-should-submit-feedback-form-1.png +0 -0
  41. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders-1.png +0 -0
  42. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders-2.png +0 -0
  43. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders-3.png +0 -0
  44. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-render-file-appearance-based-on-its-details/Open-MynahUI-File-tree-should-render-file-appearance-based-on-its-details-1.png +0 -0
  45. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-show-file-tree/Open-MynahUI-File-tree-should-show-file-tree-1.png +0 -0
  46. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-show-tooltip-with-file-description-on-hover/Open-MynahUI-File-tree-should-show-tooltip-with-file-description-on-hover-1.png +0 -0
  47. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-show-tooltip-with-file-description-on-hover/Open-MynahUI-File-tree-should-show-tooltip-with-file-description-on-hover-2.png +0 -0
  48. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click-1.png +0 -0
  49. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click-2.png +0 -0
  50. package/ui-tests/__snapshots__/chromium/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click-3.png +0 -0
  51. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Forms-should-disable-forms-on-submit/Open-MynahUI-Forms-should-disable-forms-on-submit-1.png +0 -0
  52. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Forms-should-remove-form-card-when-canceled/Open-MynahUI-Forms-should-remove-form-card-when-canceled-1.png +0 -0
  53. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Forms-should-render-form-elements-correctly/Open-MynahUI-Forms-should-render-form-elements-correctly-1.png +0 -0
  54. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-manage-context-items-correctly/Open-MynahUI-Prompt-Top-Bar-should-manage-context-items-correctly-1.png +0 -0
  55. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-manage-context-items-correctly/Open-MynahUI-Prompt-Top-Bar-should-manage-context-items-correctly-2.png +0 -0
  56. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-1.png +0 -0
  57. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-2.png +0 -0
  58. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-3.png +0 -0
  59. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-4.png +0 -0
  60. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-5.png +0 -0
  61. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-6.png +0 -0
  62. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-show-overlay-when-clicking-top-bar-button/Open-MynahUI-Prompt-Top-Bar-should-show-overlay-when-clicking-top-bar-button-1.png +0 -0
  63. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-show-overlay-when-clicking-top-bar-button/Open-MynahUI-Prompt-Top-Bar-should-show-overlay-when-clicking-top-bar-button-2.png +0 -0
  64. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-Top-Bar-should-show-tooltip-when-hovering-over-pinned-context-items/Open-MynahUI-Prompt-Top-Bar-should-show-tooltip-when-hovering-over-pinned-context-items-1.png +0 -0
  65. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-navigation-should-navigate-back-to-current-prompt/Open-MynahUI-Prompt-navigation-should-navigate-back-to-current-prompt-1.png +0 -0
  66. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-navigation-should-navigate-back-to-current-prompt-with-code-attachment/Open-MynahUI-Prompt-navigation-should-navigate-back-to-current-prompt-with-code-attachment-1.png +0 -0
  67. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-navigation-should-navigate-down-to-current-empty-prompt/Open-MynahUI-Prompt-navigation-should-navigate-down-to-current-empty-prompt-1.png +0 -0
  68. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-navigation-should-navigate-down-to-next-prompt/Open-MynahUI-Prompt-navigation-should-navigate-down-to-next-prompt-1.png +0 -0
  69. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-navigation-should-navigate-up-to-previous-prompt/Open-MynahUI-Prompt-navigation-should-navigate-up-to-previous-prompt-1.png +0 -0
  70. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Prompt-navigation-should-stay-on-current-prompt/Open-MynahUI-Prompt-navigation-should-stay-on-current-prompt-1.png +0 -0
  71. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Quick-command-selector-should-close-the-quick-command-selector-by-clicking-outside/Open-MynahUI-Quick-command-selector-should-close-the-quick-command-selector-by-clicking-outside-1.png +0 -0
  72. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Quick-command-selector-should-close-the-quick-command-selector-by-pressing-escape/Open-MynahUI-Quick-command-selector-should-close-the-quick-command-selector-by-pressing-escape-1.png +0 -0
  73. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Quick-command-selector-should-filter-quick-command-selector-list/Open-MynahUI-Quick-command-selector-should-filter-quick-command-selector-list-1.png +0 -0
  74. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Quick-command-selector-should-render-the-quick-command-selector/Open-MynahUI-Quick-command-selector-should-render-the-quick-command-selector-1.png +0 -0
  75. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-by-clicking/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-by-clicking-1.png +0 -0
  76. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-enter/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-enter-1.png +0 -0
  77. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-space/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-space-1.png +0 -0
  78. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-tab/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-tab-1.png +0 -0
  79. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Tabs-should-close-the-tab/Open-MynahUI-Tabs-should-close-the-tab-1.png +0 -0
  80. package/ui-tests/__snapshots__/chromium/Open-MynahUI-Tabs-should-open-a-new-tab/Open-MynahUI-Tabs-should-open-a-new-tab-1.png +0 -0
  81. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-keep-the-content-inside-window-boundaries/Open-MynahUI-should-keep-the-content-inside-window-boundaries-1.png +0 -0
  82. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-keep-the-content-inside-window-boundaries/Open-MynahUI-should-keep-the-content-inside-window-boundaries-2.png +0 -0
  83. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-keep-the-content-inside-window-boundaries/Open-MynahUI-should-keep-the-content-inside-window-boundaries-3.png +0 -0
  84. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-parse-markdown/Open-MynahUI-should-parse-markdown-1.png +0 -0
  85. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-and-remove-dismissible-cards/Open-MynahUI-should-render-and-remove-dismissible-cards-1.png +0 -0
  86. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-buttons-on-cards-correctly/Open-MynahUI-should-render-buttons-on-cards-correctly-1.png +0 -0
  87. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-buttons-on-cards-correctly/Open-MynahUI-should-render-buttons-on-cards-correctly-2.png +0 -0
  88. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-card-headers-correctly/Open-MynahUI-should-render-card-headers-correctly-1.png +0 -0
  89. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-card-headers-correctly/Open-MynahUI-should-render-card-headers-correctly-2.png +0 -0
  90. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-card-headers-correctly/Open-MynahUI-should-render-card-headers-correctly-3.png +0 -0
  91. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-character-limit-counter/Open-MynahUI-should-render-character-limit-counter-1.png +0 -0
  92. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-custom-icons-correctly/Open-MynahUI-should-render-custom-icons-correctly-1.png +0 -0
  93. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-custom-icons-correctly/Open-MynahUI-should-render-custom-icons-correctly-2.png +0 -0
  94. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-information-cards-correctly/Open-MynahUI-should-render-information-cards-correctly-1.png +0 -0
  95. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-initial-data/Open-MynahUI-should-render-initial-data-1.png +0 -0
  96. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-muted-cards-correctly/Open-MynahUI-should-render-muted-cards-correctly-1.png +0 -0
  97. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-muted-cards-correctly/Open-MynahUI-should-render-muted-cards-correctly-2.png +0 -0
  98. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-new-card-when-followup-click/Open-MynahUI-should-render-new-card-when-followup-click-1.png +0 -0
  99. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-tabbed-cards-correctly/Open-MynahUI-should-render-tabbed-cards-correctly-1.png +0 -0
  100. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-tabbed-cards-correctly/Open-MynahUI-should-render-tabbed-cards-correctly-2.png +0 -0
  101. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-user-prompt/Open-MynahUI-should-render-user-prompt-1.png +0 -0
  102. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-welcome-structure/Open-MynahUI-should-render-welcome-structure-1.png +0 -0
  103. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-render-welcome-structure/Open-MynahUI-should-render-welcome-structure-2.png +0 -0
  104. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover-1.png +0 -0
  105. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover-2.png +0 -0
  106. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover-3.png +0 -0
  107. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-show-progress-indicator/Open-MynahUI-should-show-progress-indicator-1.png +0 -0
  108. package/ui-tests/__snapshots__/chromium/Open-MynahUI-should-show-prompt-options/Open-MynahUI-should-show-prompt-options-1.png +0 -0
  109. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Context-selector-should-close-the-context-selector-by-clicking-outside/Open-MynahUI-Context-selector-should-close-the-context-selector-by-clicking-outside-1.png +0 -0
  110. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Context-selector-should-close-the-context-selector-by-pressing-escape/Open-MynahUI-Context-selector-should-close-the-context-selector-by-pressing-escape-1.png +0 -0
  111. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Context-selector-should-filter-context-selector-list/Open-MynahUI-Context-selector-should-filter-context-selector-list-1.png +0 -0
  112. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Context-selector-should-render-the-context-selector/Open-MynahUI-Context-selector-should-render-the-context-selector-1.png +0 -0
  113. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Context-selector-should-select-context-selector-item-by-clicking/Open-MynahUI-Context-selector-should-select-context-selector-item-by-clicking-1.png +0 -0
  114. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Context-selector-should-select-context-selector-item-with-enter/Open-MynahUI-Context-selector-should-select-context-selector-item-with-enter-1.png +0 -0
  115. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Context-selector-should-select-context-selector-item-with-space/Open-MynahUI-Context-selector-should-select-context-selector-item-with-space-1.png +0 -0
  116. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Context-selector-should-select-context-selector-item-with-tab/Open-MynahUI-Context-selector-should-select-context-selector-item-with-tab-1.png +0 -0
  117. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Feedback-form-should-cancel-feedback-form/Open-MynahUI-Feedback-form-should-cancel-feedback-form-1.png +0 -0
  118. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Feedback-form-should-render-downvote-results/Open-MynahUI-Feedback-form-should-render-downvote-results-1.png +0 -0
  119. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Feedback-form-should-render-feedback-form/Open-MynahUI-Feedback-form-should-render-feedback-form-1.png +0 -0
  120. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Feedback-form-should-render-upvote-results/Open-MynahUI-Feedback-form-should-render-upvote-results-1.png +0 -0
  121. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Feedback-form-should-render-vote-buttons/Open-MynahUI-Feedback-form-should-render-vote-buttons-1.png +0 -0
  122. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Feedback-form-should-submit-feedback-form/Open-MynahUI-Feedback-form-should-submit-feedback-form-1.png +0 -0
  123. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders-1.png +0 -0
  124. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders-2.png +0 -0
  125. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders/Open-MynahUI-File-tree-should-collapse-and-expand-file-in-folders-3.png +0 -0
  126. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-render-file-appearance-based-on-its-details/Open-MynahUI-File-tree-should-render-file-appearance-based-on-its-details-1.png +0 -0
  127. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-show-file-tree/Open-MynahUI-File-tree-should-show-file-tree-1.png +0 -0
  128. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-show-tooltip-with-file-description-on-hover/Open-MynahUI-File-tree-should-show-tooltip-with-file-description-on-hover-1.png +0 -0
  129. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-show-tooltip-with-file-description-on-hover/Open-MynahUI-File-tree-should-show-tooltip-with-file-description-on-hover-2.png +0 -0
  130. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click-1.png +0 -0
  131. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click-2.png +0 -0
  132. package/ui-tests/__snapshots__/webkit/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click/Open-MynahUI-File-tree-should-trigger-default-or-sub-action-on-click-3.png +0 -0
  133. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Forms-should-disable-forms-on-submit/Open-MynahUI-Forms-should-disable-forms-on-submit-1.png +0 -0
  134. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Forms-should-remove-form-card-when-canceled/Open-MynahUI-Forms-should-remove-form-card-when-canceled-1.png +0 -0
  135. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Forms-should-render-form-elements-correctly/Open-MynahUI-Forms-should-render-form-elements-correctly-1.png +0 -0
  136. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-manage-context-items-correctly/Open-MynahUI-Prompt-Top-Bar-should-manage-context-items-correctly-1.png +0 -0
  137. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-manage-context-items-correctly/Open-MynahUI-Prompt-Top-Bar-should-manage-context-items-correctly-2.png +0 -0
  138. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-1.png +0 -0
  139. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-2.png +0 -0
  140. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-3.png +0 -0
  141. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-4.png +0 -0
  142. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-5.png +0 -0
  143. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button/Open-MynahUI-Prompt-Top-Bar-should-render-prompt-top-bar-with-title-context-items-and-button-6.png +0 -0
  144. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-show-overlay-when-clicking-top-bar-button/Open-MynahUI-Prompt-Top-Bar-should-show-overlay-when-clicking-top-bar-button-1.png +0 -0
  145. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-show-overlay-when-clicking-top-bar-button/Open-MynahUI-Prompt-Top-Bar-should-show-overlay-when-clicking-top-bar-button-2.png +0 -0
  146. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-Top-Bar-should-show-tooltip-when-hovering-over-pinned-context-items/Open-MynahUI-Prompt-Top-Bar-should-show-tooltip-when-hovering-over-pinned-context-items-1.png +0 -0
  147. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-navigation-should-navigate-back-to-current-prompt/Open-MynahUI-Prompt-navigation-should-navigate-back-to-current-prompt-1.png +0 -0
  148. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-navigation-should-navigate-back-to-current-prompt-with-code-attachment/Open-MynahUI-Prompt-navigation-should-navigate-back-to-current-prompt-with-code-attachment-1.png +0 -0
  149. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-navigation-should-navigate-down-to-current-empty-prompt/Open-MynahUI-Prompt-navigation-should-navigate-down-to-current-empty-prompt-1.png +0 -0
  150. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-navigation-should-navigate-down-to-next-prompt/Open-MynahUI-Prompt-navigation-should-navigate-down-to-next-prompt-1.png +0 -0
  151. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-navigation-should-navigate-up-to-previous-prompt/Open-MynahUI-Prompt-navigation-should-navigate-up-to-previous-prompt-1.png +0 -0
  152. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Prompt-navigation-should-stay-on-current-prompt/Open-MynahUI-Prompt-navigation-should-stay-on-current-prompt-1.png +0 -0
  153. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Quick-command-selector-should-close-the-quick-command-selector-by-clicking-outside/Open-MynahUI-Quick-command-selector-should-close-the-quick-command-selector-by-clicking-outside-1.png +0 -0
  154. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Quick-command-selector-should-close-the-quick-command-selector-by-pressing-escape/Open-MynahUI-Quick-command-selector-should-close-the-quick-command-selector-by-pressing-escape-1.png +0 -0
  155. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Quick-command-selector-should-filter-quick-command-selector-list/Open-MynahUI-Quick-command-selector-should-filter-quick-command-selector-list-1.png +0 -0
  156. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Quick-command-selector-should-render-the-quick-command-selector/Open-MynahUI-Quick-command-selector-should-render-the-quick-command-selector-1.png +0 -0
  157. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-by-clicking/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-by-clicking-1.png +0 -0
  158. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-enter/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-enter-1.png +0 -0
  159. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-space/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-space-1.png +0 -0
  160. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-tab/Open-MynahUI-Quick-command-selector-should-select-quick-command-selector-item-with-tab-1.png +0 -0
  161. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Tabs-should-close-the-tab/Open-MynahUI-Tabs-should-close-the-tab-1.png +0 -0
  162. package/ui-tests/__snapshots__/webkit/Open-MynahUI-Tabs-should-open-a-new-tab/Open-MynahUI-Tabs-should-open-a-new-tab-1.png +0 -0
  163. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-keep-the-content-inside-window-boundaries/Open-MynahUI-should-keep-the-content-inside-window-boundaries-1.png +0 -0
  164. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-keep-the-content-inside-window-boundaries/Open-MynahUI-should-keep-the-content-inside-window-boundaries-2.png +0 -0
  165. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-keep-the-content-inside-window-boundaries/Open-MynahUI-should-keep-the-content-inside-window-boundaries-3.png +0 -0
  166. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-parse-markdown/Open-MynahUI-should-parse-markdown-1.png +0 -0
  167. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-and-remove-dismissible-cards/Open-MynahUI-should-render-and-remove-dismissible-cards-1.png +0 -0
  168. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-buttons-on-cards-correctly/Open-MynahUI-should-render-buttons-on-cards-correctly-1.png +0 -0
  169. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-buttons-on-cards-correctly/Open-MynahUI-should-render-buttons-on-cards-correctly-2.png +0 -0
  170. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-card-headers-correctly/Open-MynahUI-should-render-card-headers-correctly-1.png +0 -0
  171. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-card-headers-correctly/Open-MynahUI-should-render-card-headers-correctly-2.png +0 -0
  172. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-card-headers-correctly/Open-MynahUI-should-render-card-headers-correctly-3.png +0 -0
  173. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-character-limit-counter/Open-MynahUI-should-render-character-limit-counter-1.png +0 -0
  174. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-custom-icons-correctly/Open-MynahUI-should-render-custom-icons-correctly-1.png +0 -0
  175. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-custom-icons-correctly/Open-MynahUI-should-render-custom-icons-correctly-2.png +0 -0
  176. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-information-cards-correctly/Open-MynahUI-should-render-information-cards-correctly-1.png +0 -0
  177. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-initial-data/Open-MynahUI-should-render-initial-data-1.png +0 -0
  178. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-muted-cards-correctly/Open-MynahUI-should-render-muted-cards-correctly-1.png +0 -0
  179. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-muted-cards-correctly/Open-MynahUI-should-render-muted-cards-correctly-2.png +0 -0
  180. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-new-card-when-followup-click/Open-MynahUI-should-render-new-card-when-followup-click-1.png +0 -0
  181. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-tabbed-cards-correctly/Open-MynahUI-should-render-tabbed-cards-correctly-1.png +0 -0
  182. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-tabbed-cards-correctly/Open-MynahUI-should-render-tabbed-cards-correctly-2.png +0 -0
  183. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-user-prompt/Open-MynahUI-should-render-user-prompt-1.png +0 -0
  184. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-welcome-structure/Open-MynahUI-should-render-welcome-structure-1.png +0 -0
  185. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-render-welcome-structure/Open-MynahUI-should-render-welcome-structure-2.png +0 -0
  186. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover-1.png +0 -0
  187. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover-2.png +0 -0
  188. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover/Open-MynahUI-should-show-link-preview-in-tooltip-on-link-hover-3.png +0 -0
  189. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-show-progress-indicator/Open-MynahUI-should-show-progress-indicator-1.png +0 -0
  190. package/ui-tests/__snapshots__/webkit/Open-MynahUI-should-show-prompt-options/Open-MynahUI-should-show-prompt-options-1.png +0 -0
  191. package/ui-tests/package.json +10 -11
  192. package/ui-tests/playwright.config.ts +35 -0
  193. package/ui-tests/jest.chromium.config.js +0 -22
  194. package/ui-tests/jest.config.js +0 -22
  195. package/ui-tests/jest.webkit.config.js +0 -22
  196. package/ui-tests/run-browser-tests.ts +0 -30
  197. package/ui-tests/test-results/.last-run.json +0 -4
package/Dockerfile ADDED
@@ -0,0 +1,34 @@
1
+ # Use the official Playwright image which includes browsers
2
+ FROM mcr.microsoft.com/playwright:v1.53.0
3
+
4
+ # Set working directory
5
+ WORKDIR /app
6
+
7
+ # Copy the src from the root
8
+ COPY ./src /app/src
9
+
10
+ # Copy config files from root
11
+ COPY ./package.json /app
12
+ COPY ./package-lock.json /app
13
+ COPY ./postinstall.js /app
14
+ COPY ./webpack.config.js /app
15
+ COPY ./tsconfig.json /app
16
+
17
+ # Copy required files from ui-tests
18
+ COPY ./ui-tests/package.json /app/ui-tests/
19
+ COPY ./ui-tests/playwright.config.ts /app/ui-tests/
20
+ COPY ./ui-tests/tsconfig.json /app/ui-tests/
21
+ COPY ./ui-tests/webpack.config.js /app/ui-tests/
22
+
23
+ # Copy the directories from ui-tests
24
+ COPY ./ui-tests/__test__ /app/ui-tests/__test__
25
+ COPY ./ui-tests/src /app/ui-tests/src
26
+ COPY ./ui-tests/__snapshots__ /app/ui-tests/__snapshots__
27
+
28
+ # Install dependencies and build MynahUI
29
+ RUN npm install
30
+ RUN npm run build
31
+ RUN cd ./ui-tests && npm install && npm run prepare
32
+
33
+ # Default command to run the tests
34
+ CMD ["sh", "-c", "cd ./ui-tests && npm run e2e${BROWSER:+:$BROWSER}"]
package/README.md CHANGED
@@ -51,6 +51,7 @@ Please refer to the following guides:
51
51
  * [Data model](./docs/DATAMODEL.md)
52
52
  * [Usage](./docs/USAGE.md)
53
53
  * [Styling](./docs/STYLING.md)
54
+ * [Testing](./docs/TESTING.md)
54
55
  * [Developer guidelines (contribution)](./docs/DEVELOPER.md)
55
56
 
56
57
  #### Preview
@@ -3,7 +3,8 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { ExtendedHTMLElement } from '../../helper/dom';
6
- import { PromptAttachmentType } from '../../static';
6
+ import { DetailedList, PromptAttachmentType } from '../../static';
7
+ import { TopBarButtonOverlayProps } from './prompt-input/prompt-top-bar/top-bar-button';
7
8
  export declare const MAX_USER_INPUT_THRESHOLD = 96;
8
9
  export declare const MAX_USER_INPUT: () => number;
9
10
  export declare const INPUT_LENGTH_WARNING_THRESHOLD: () => number;
@@ -23,13 +24,22 @@ export declare class ChatPromptInput {
23
24
  private readonly progressIndicator;
24
25
  private readonly promptAttachment;
25
26
  private readonly promptOptions;
27
+ private readonly promptTopBar;
26
28
  private readonly chatPrompt;
27
29
  private quickPickItemsSelectorContainer;
28
30
  private promptTextInputLabel;
29
31
  private remainingCharsOverlay;
32
+ /**
33
+ * Preserves cursor position when `@` key is pressed
34
+ */
30
35
  private quickPickTriggerIndex;
36
+ /**
37
+ * Preserves selection range when `@` key is pressed
38
+ */
39
+ private quickPickTriggerRange?;
31
40
  private quickPickType;
32
41
  private quickPickItemGroups;
42
+ private topBarTitleClicked;
33
43
  private filteredQuickPickItemGroups;
34
44
  private searchTerm;
35
45
  private quickPick;
@@ -40,8 +50,10 @@ export declare class ChatPromptInput {
40
50
  private lastUnsentUserPrompt;
41
51
  private readonly markerRemovalRegex;
42
52
  constructor(props: ChatPromptInputProps);
53
+ private readonly onContextSelectorButtonClick;
43
54
  private readonly updateAvailableCharactersIndicator;
44
55
  private readonly handleInputKeydown;
56
+ private readonly tabBarTitleOverlayKeyPressHandler;
45
57
  private readonly openQuickPick;
46
58
  private readonly handleInputFocus;
47
59
  private readonly getQuickPickItemGroups;
@@ -51,4 +63,7 @@ export declare class ChatPromptInput {
51
63
  private readonly getPromptInputTextLabel;
52
64
  readonly clearTextArea: (keepAttachment?: boolean) => void;
53
65
  readonly addAttachment: (attachmentContent: string, type?: PromptAttachmentType) => void;
66
+ readonly openTopBarButtonItemOverlay: (data: TopBarButtonOverlayProps) => void;
67
+ readonly updateTopBarButtonItemOverlay: (data: DetailedList) => void;
68
+ readonly closeTopBarButtonItemOverlay: () => void;
54
69
  }
@@ -3,7 +3,8 @@
3
3
  * SPDX-License-Identifier: Apache-2.0
4
4
  */
5
5
  import { ExtendedHTMLElement } from '../../helper/dom';
6
- import { CardRenderDetails, ChatItem, PromptAttachmentType } from '../../static';
6
+ import { CardRenderDetails, ChatItem, DetailedList, PromptAttachmentType } from '../../static';
7
+ import { TopBarButtonOverlayProps } from './prompt-input/prompt-top-bar/top-bar-button';
7
8
  export declare const CONTAINER_GAP = 12;
8
9
  export interface ChatWrapperProps {
9
10
  onStopChatResponse?: (tabId: string) => void;
@@ -42,4 +43,7 @@ export declare class ChatWrapper {
42
43
  endStreamWithMessageId: (messageId: string, updateWith: Partial<ChatItem>) => void;
43
44
  updateChatAnswerWithMessageId: (messageId: string, updateWith: Partial<ChatItem>) => void;
44
45
  addAttachmentToPrompt: (textToAdd: string, type?: PromptAttachmentType) => void;
46
+ openTopBarButtonItemOverlay: (data: TopBarButtonOverlayProps) => void;
47
+ updateTopBarButtonItemOverlay: (data: DetailedList) => void;
48
+ closeTopBarButtonItemOverlay: () => void;
45
49
  }
@@ -21,6 +21,7 @@ export declare class PromptTextInput {
21
21
  private contextTooltip;
22
22
  private contextTooltipTimeout;
23
23
  constructor(props: PromptTextInputProps);
24
+ readonly restoreRange: (range: Range) => void;
24
25
  private readonly updateCursorPos;
25
26
  private readonly checkIsEmpty;
26
27
  private readonly removeContextPlaceholderOverlay;
@@ -28,7 +29,7 @@ export declare class PromptTextInput {
28
29
  private readonly moveCursorToEnd;
29
30
  private readonly showContextTooltip;
30
31
  private readonly hideContextTooltip;
31
- readonly insertContextItem: (contextItem: QuickActionCommand, position: number) => void;
32
+ readonly insertContextItem: (contextItem: QuickActionCommand, position: number, topBarHidden?: boolean) => void;
32
33
  readonly getCursorPos: () => number;
33
34
  readonly clear: () => void;
34
35
  readonly focus: () => void;
@@ -0,0 +1,47 @@
1
+ import { ExtendedHTMLElement } from '../../../../helper/dom';
2
+ import { ChatItemButton, DetailedList, DetailedListItemGroup, QuickActionCommand } from '../../../../static';
3
+ import { DetailedListWrapper } from '../../../detailed-list/detailed-list';
4
+ import { Overlay } from '../../../overlay';
5
+ import { TopBarButton } from './top-bar-button';
6
+ export interface PromptTopBarProps {
7
+ classNames?: string[];
8
+ tabId: string;
9
+ contextItems?: QuickActionCommand[];
10
+ title?: string;
11
+ onTopBarTitleClick?: () => void;
12
+ onContextItemAdd?: (contextItems: QuickActionCommand) => void;
13
+ onContextItemRemove?: (contextItems: QuickActionCommand) => void;
14
+ topBarButton?: ChatItemButton;
15
+ onTopBarButtonClick?: (action: ChatItemButton) => void;
16
+ }
17
+ export declare class PromptTopBar {
18
+ render: ExtendedHTMLElement;
19
+ visibleCount: number;
20
+ overflowOverlay?: Overlay;
21
+ topBarButton: TopBarButton;
22
+ overflowListContainer: DetailedListWrapper;
23
+ private contextTooltip;
24
+ private contextTooltipTimeout;
25
+ private readonly props;
26
+ private titleButton;
27
+ private overflowButton;
28
+ constructor(props: PromptTopBarProps);
29
+ update(newProps?: Partial<PromptTopBarProps>): void;
30
+ updateTopBarButtonOverlay(topBarButtonOverlay: DetailedList): void;
31
+ isHidden(): boolean;
32
+ generateTitle(): ExtendedHTMLElement | string;
33
+ getVisibleContextItems(): QuickActionCommand[];
34
+ getOverflowContextItems(): QuickActionCommand[];
35
+ generateContextPills(): Array<ExtendedHTMLElement | string>;
36
+ private readonly showContextTooltip;
37
+ private readonly hideContextTooltip;
38
+ removeContextPill(id: string): void;
39
+ addContextPill(contextItem: QuickActionCommand): void;
40
+ getOverflowCount(): number;
41
+ generateOverflowPill(): ExtendedHTMLElement | string;
42
+ showOverflowOverlay(e: Event): void;
43
+ generateOverflowOverlayChildren(): ExtendedHTMLElement;
44
+ getOverflowItemsAsDetailedListGroup(): DetailedListItemGroup[];
45
+ private setupResizeObserver;
46
+ private recalculateVisibleItems;
47
+ }
@@ -0,0 +1,32 @@
1
+ import { ExtendedHTMLElement } from '../../../../helper/dom';
2
+ import { DetailedList, DetailedListItem, ChatItemButton } from '../../../../static';
3
+ export interface TopBarButtonOverlayProps {
4
+ tabId: string;
5
+ topBarButtonOverlay: DetailedList;
6
+ events?: {
7
+ onKeyPress?: (e: KeyboardEvent) => void;
8
+ onGroupClick?: (groupName: string) => void;
9
+ onItemClick?: (detailedListItem: DetailedListItem) => void;
10
+ onClose?: () => void;
11
+ };
12
+ }
13
+ export interface TopBarButtonProps {
14
+ topBarButton?: ChatItemButton;
15
+ onTopBarButtonClick?: (action: ChatItemButton) => void;
16
+ }
17
+ export declare class TopBarButton {
18
+ render: ExtendedHTMLElement;
19
+ private readonly props;
20
+ private overlay?;
21
+ private checklistSelectorContainer;
22
+ private overlayData;
23
+ private topBarButton;
24
+ private keyPressHandler;
25
+ constructor(props: TopBarButtonProps);
26
+ update(newProps: TopBarButtonProps): void;
27
+ closeOverlay(): void;
28
+ showOverlay(topBarButtonOverlay: TopBarButtonOverlayProps): void;
29
+ getTopBarButtonChildren(): Array<string | ExtendedHTMLElement>;
30
+ private readonly getItemGroups;
31
+ onTopBarButtonOverlayChanged(topBarButtonOverlay: DetailedList): void;
32
+ }
@@ -4,7 +4,8 @@ export interface DetailedListWrapperProps {
4
4
  detailedList: DetailedList;
5
5
  descriptionTextDirection?: 'ltr' | 'rtl';
6
6
  onFilterValueChange?: (filterValues: Record<string, any>, isValid: boolean) => void;
7
- onGroupActionClick?: (action: ChatItemButton) => void;
7
+ onGroupActionClick?: (action: ChatItemButton, groupName?: string) => void;
8
+ onGroupClick?: (groupName: string) => void;
8
9
  onItemSelect?: (detailedListItem: DetailedListItem) => void;
9
10
  onItemClick?: (detailedListItem: DetailedListItem) => void;
10
11
  onItemActionClick?: (action: ChatItemButton, detailedListItem?: DetailedListItem) => void;
@@ -22,6 +23,17 @@ export declare class DetailedListWrapper {
22
23
  private activeTargetElementIndex;
23
24
  private allSelectableDetailedListElements;
24
25
  constructor(props: DetailedListWrapperProps);
26
+ /**
27
+ * Handles scroll events to implement virtualization for the detailed list:
28
+ *
29
+ * 1. Initially creating empty placeholder blocks with appropriate height for each chunk of list items
30
+ * 2. On scroll, determining which blocks are visible in the viewport (or near it)
31
+ * 3. Dynamically rendering content only for visible blocks by:
32
+ * - Adding DOM elements for blocks entering the viewport
33
+ * - Removing DOM elements for blocks that are no longer visible
34
+ *
35
+ */
36
+ private readonly handleScroll;
25
37
  private readonly getHeader;
26
38
  private readonly getFilters;
27
39
  private readonly getFilterActions;
@@ -29,5 +41,5 @@ export declare class DetailedListWrapper {
29
41
  private readonly getDetailedListItemElements;
30
42
  readonly changeTarget: (direction: 'up' | 'down', snapOnLastAndFirst?: boolean, scrollIntoView?: boolean) => void;
31
43
  readonly getTargetElement: () => DetailedListItem | null;
32
- readonly update: (detailedList: DetailedList) => void;
44
+ readonly update: (detailedList: DetailedList, preserveScrollPosition?: boolean) => void;
33
45
  }
@@ -14,6 +14,7 @@ export declare enum MynahIcons {
14
14
  SEARCH = "search",
15
15
  PLUS = "plus",
16
16
  PAPER_CLIP = "paper-clip",
17
+ PIN = "pin",
17
18
  LIST_ADD = "list-add",
18
19
  TABS = "tabs",
19
20
  CHAT = "chat",
@@ -79,6 +79,13 @@ export declare class Overlay {
79
79
  private readonly guid;
80
80
  private readonly onClose;
81
81
  constructor(props: OverlayProps);
82
+ /**
83
+ * Applying a transform with a fractional pixel value causes bluriness on certain displays.
84
+ *
85
+ * Since transform uses --overlayTopPos which is a percentage of the overlay's height, and the height can be a fractional
86
+ * pixel value if line-height is fractional, this function rounds --overlayTopPos to an integer pixel value to prevent bluriness.
87
+ */
88
+ private readonly preventTransformBlur;
82
89
  close: () => void;
83
90
  private readonly windowBlurHandler;
84
91
  private readonly getCalculatedLeft;
@@ -1,5 +1,5 @@
1
1
  import { DetailedListItem, DetailedListItemGroup, QuickActionCommand, QuickActionCommandGroup } from '../static';
2
- export declare const filterQuickPickItems: (commands: QuickActionCommandGroup[], searchTerm: string) => QuickActionCommandGroup[];
2
+ export declare const filterQuickPickItems: (commands: QuickActionCommandGroup[], searchTerm: string, hideSearchGroup?: boolean) => QuickActionCommandGroup[];
3
3
  export declare const MARK_OPEN = "<mark>";
4
4
  export declare const MARK_CLOSE = "</mark>";
5
5
  export declare const convertDetailedListGroupsToQuickActionCommandGroups: (detailedListItemGroups: DetailedListItemGroup[]) => QuickActionCommandGroup[];
@@ -21,6 +21,13 @@ declare const _default: {
21
21
  stickyCard: string;
22
22
  progress: string;
23
23
  label: string;
24
+ topBar: string;
25
+ topBarButton: string;
26
+ topBarContextPill: string;
27
+ topBarContextTooltip: string;
28
+ tobBarOverflowPill: string;
29
+ tobBarOverflowOverlay: string;
30
+ tobBarActionOverlay: string;
24
31
  };
25
32
  chat: {
26
33
  wrapper: string;
package/dist/main.d.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  import { RelevancyVoteType, FeedbackPayload, MynahUIDataModel, NotificationType, ChatItem, ChatItemAction, ChatPrompt, MynahUITabStoreModel, MynahUITabStoreTab, ConfigModel, ReferenceTrackerInformation, CodeSelectionType, Engagement, ChatItemFormItem, ChatItemButton, CardRenderDetails, PromptAttachmentType, QuickActionCommand, DetailedList, TreeNodeDetails, Action } from './static';
6
6
  import { DetailedListSheetProps } from './components/detailed-list/detailed-list-sheet';
7
7
  import { MynahUIDataStore } from './helper/store';
8
+ import { TopBarButtonOverlayProps } from './components/chat-item/prompt-input/prompt-top-bar/top-bar-button';
8
9
  export { generateUID } from './helper/guid';
9
10
  export { ChatItemBodyRenderer, } from './helper/dom';
10
11
  export { AllowedAttributesInCustomRenderer, AllowedTagsInCustomRenderer } from './helper/sanitize';
@@ -82,6 +83,9 @@ export interface MynahUIProps {
82
83
  }, eventId?: string) => void;
83
84
  onPromptInputOptionChange?: (tabId: string, optionsValues: Record<string, string>, eventId?: string) => void;
84
85
  onPromptInputButtonClick?: (tabId: string, buttonId: string, eventId?: string) => void;
86
+ onPromptTopBarItemAdded?: (tabId: string, item: QuickActionCommand, eventId?: string) => void;
87
+ onPromptTopBarItemRemoved?: (tabId: string, item: QuickActionCommand, eventId?: string) => void;
88
+ onPromptTopBarButtonClick?: (tabId: string, button: ChatItemButton, eventId?: string) => void;
85
89
  /**
86
90
  * @deprecated since version 4.6.3. Will be dropped after version 5.x.x. Use {@link onFileClick} instead
87
91
  */
@@ -211,6 +215,10 @@ export declare class MynahUI {
211
215
  * Simply creates and shows a custom form
212
216
  */
213
217
  showCustomForm: (tabId: string, formItems?: ChatItemFormItem[], buttons?: ChatItemButton[], title?: string, description?: string) => void;
218
+ openTopBarButtonOverlay: (data: TopBarButtonOverlayProps) => {
219
+ update: (data: DetailedList) => void;
220
+ close: () => void;
221
+ };
214
222
  openDetailedList: (data: DetailedListSheetProps, showBackButton?: boolean) => {
215
223
  update: (data: DetailedList, showBackButton?: boolean) => void;
216
224
  close: () => void;