@k2b/ui 0.31.0 → 0.33.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 (209) hide show
  1. package/dist/base.css +2 -0
  2. package/dist/browser/actions/Dropdown.js +159 -99
  3. package/dist/browser/actions/Dropdown.js.map +1 -1
  4. package/dist/browser/actions/FilterChip.js +113 -56
  5. package/dist/browser/actions/FilterChip.js.map +1 -1
  6. package/dist/browser/actions/ViewTabs.js +8 -0
  7. package/dist/browser/actions/ViewTabs.js.map +1 -1
  8. package/dist/browser/actions/filter-messages.js +26 -2
  9. package/dist/browser/actions/filter-messages.js.map +1 -1
  10. package/dist/browser/actions/menu-rows.js +23 -3
  11. package/dist/browser/actions/menu-rows.js.map +1 -1
  12. package/dist/browser/actions/menu-sheet.js +2 -7
  13. package/dist/browser/actions/menu-sheet.js.map +1 -1
  14. package/dist/browser/chat/ChatComposer.js +480 -403
  15. package/dist/browser/chat/ChatComposer.js.map +1 -1
  16. package/dist/browser/chat/chat-messages.js +14 -0
  17. package/dist/browser/chat/chat-messages.js.map +1 -1
  18. package/dist/browser/chat/index.js.map +1 -1
  19. package/dist/browser/content/Calendar.js +39 -29
  20. package/dist/browser/content/Calendar.js.map +1 -1
  21. package/dist/browser/content/CalendarDayView.js +159 -165
  22. package/dist/browser/content/CalendarDayView.js.map +1 -1
  23. package/dist/browser/content/Chart.js +104 -55
  24. package/dist/browser/content/Chart.js.map +1 -1
  25. package/dist/browser/content/ChartExplorer.js +5 -3
  26. package/dist/browser/content/ChartExplorer.js.map +1 -1
  27. package/dist/browser/content/MapView.js +4 -4
  28. package/dist/browser/content/MapView.js.map +1 -1
  29. package/dist/browser/content/MessageRow.js +607 -343
  30. package/dist/browser/content/MessageRow.js.map +1 -1
  31. package/dist/browser/content/ReactionBar.js +17 -0
  32. package/dist/browser/content/ReactionBar.js.map +1 -1
  33. package/dist/browser/content/chart-inspection-core.js +4 -1
  34. package/dist/browser/content/chart-inspection-core.js.map +1 -1
  35. package/dist/browser/content/code-highlight.js +66 -0
  36. package/dist/browser/content/code-highlight.js.map +1 -1
  37. package/dist/browser/content/index.js +2 -1
  38. package/dist/browser/content/index.js.map +1 -1
  39. package/dist/browser/content/map-view-live.js +47 -10
  40. package/dist/browser/content/map-view-live.js.map +1 -1
  41. package/dist/browser/content/map-view-types.js.map +1 -1
  42. package/dist/browser/feedback/dialog-core.js +6 -0
  43. package/dist/browser/feedback/dialog-core.js.map +1 -1
  44. package/dist/browser/inputs/AutocompleteEditor.js +167 -104
  45. package/dist/browser/inputs/AutocompleteEditor.js.map +1 -1
  46. package/dist/browser/inputs/RichSelect.js +1474 -0
  47. package/dist/browser/inputs/RichSelect.js.map +1 -0
  48. package/dist/browser/inputs/TextInput.js +99 -61
  49. package/dist/browser/inputs/TextInput.js.map +1 -1
  50. package/dist/browser/inputs/choice.js +19 -8
  51. package/dist/browser/inputs/choice.js.map +1 -1
  52. package/dist/browser/inputs/index.js +1 -0
  53. package/dist/browser/inputs/index.js.map +1 -1
  54. package/dist/browser/inputs/rich-select-messages.js +46 -0
  55. package/dist/browser/inputs/rich-select-messages.js.map +1 -0
  56. package/dist/browser/intl/shortcut-messages.js +4 -0
  57. package/dist/browser/intl/shortcut-messages.js.map +1 -1
  58. package/dist/browser/intl/shortcut.js +4 -0
  59. package/dist/browser/intl/shortcut.js.map +1 -1
  60. package/dist/browser/layout/AppWorkspace.js +624 -565
  61. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  62. package/dist/browser/layout/DetailPanel.js +10 -1
  63. package/dist/browser/layout/DetailPanel.js.map +1 -1
  64. package/dist/browser/layout/MobileShell.js +213 -38
  65. package/dist/browser/layout/MobileShell.js.map +1 -1
  66. package/dist/browser/layout/Navigation.js +14 -5
  67. package/dist/browser/layout/Navigation.js.map +1 -1
  68. package/dist/browser/layout/PageTitle.js +9 -3
  69. package/dist/browser/layout/PageTitle.js.map +1 -1
  70. package/dist/browser/layout/ResizeSeparator.js +8 -2
  71. package/dist/browser/layout/ResizeSeparator.js.map +1 -1
  72. package/dist/browser/layout/app-workspace-controller.js +192 -31
  73. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  74. package/dist/browser/layout/index.js +1 -0
  75. package/dist/browser/layout/index.js.map +1 -1
  76. package/dist/browser/layout/navigation-model.js.map +1 -1
  77. package/dist/browser/layout/resize-separator.js +25 -1
  78. package/dist/browser/layout/resize-separator.js.map +1 -1
  79. package/dist/browser/layout/scroll-fade.js +32 -5
  80. package/dist/browser/layout/scroll-fade.js.map +1 -1
  81. package/dist/browser/surfaces/NoticeCard.js +46 -30
  82. package/dist/browser/surfaces/NoticeCard.js.map +1 -1
  83. package/dist/browser/surfaces/Skeleton.js +14 -0
  84. package/dist/browser/surfaces/Skeleton.js.map +1 -0
  85. package/dist/browser/surfaces/index.js +1 -0
  86. package/dist/browser/surfaces/index.js.map +1 -1
  87. package/dist/browser/surfaces/resource-messages.js +2 -2
  88. package/dist/browser/surfaces/resource-messages.js.map +1 -1
  89. package/dist/ssr/actions/Dropdown.js +51 -27
  90. package/dist/ssr/actions/Dropdown.js.map +1 -1
  91. package/dist/ssr/actions/FilterChip.js +67 -16
  92. package/dist/ssr/actions/FilterChip.js.map +1 -1
  93. package/dist/ssr/actions/ViewTabs.js +8 -0
  94. package/dist/ssr/actions/ViewTabs.js.map +1 -1
  95. package/dist/ssr/actions/filter-messages.js +26 -2
  96. package/dist/ssr/actions/filter-messages.js.map +1 -1
  97. package/dist/ssr/actions/menu-rows.js +23 -3
  98. package/dist/ssr/actions/menu-rows.js.map +1 -1
  99. package/dist/ssr/actions/menu-sheet.js +2 -7
  100. package/dist/ssr/actions/menu-sheet.js.map +1 -1
  101. package/dist/ssr/chat/ChatComposer.js +96 -67
  102. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  103. package/dist/ssr/chat/chat-messages.js +14 -0
  104. package/dist/ssr/chat/chat-messages.js.map +1 -1
  105. package/dist/ssr/chat/index.js.map +1 -1
  106. package/dist/ssr/content/Calendar.js +40 -31
  107. package/dist/ssr/content/Calendar.js.map +1 -1
  108. package/dist/ssr/content/CalendarDayView.js +40 -48
  109. package/dist/ssr/content/CalendarDayView.js.map +1 -1
  110. package/dist/ssr/content/Chart.js +27 -7
  111. package/dist/ssr/content/Chart.js.map +1 -1
  112. package/dist/ssr/content/ChartExplorer.js +5 -3
  113. package/dist/ssr/content/ChartExplorer.js.map +1 -1
  114. package/dist/ssr/content/MapView.js +4 -4
  115. package/dist/ssr/content/MapView.js.map +1 -1
  116. package/dist/ssr/content/MessageRow.js +264 -91
  117. package/dist/ssr/content/MessageRow.js.map +1 -1
  118. package/dist/ssr/content/ReactionBar.js +17 -0
  119. package/dist/ssr/content/ReactionBar.js.map +1 -1
  120. package/dist/ssr/content/chart-inspection-core.js +4 -1
  121. package/dist/ssr/content/chart-inspection-core.js.map +1 -1
  122. package/dist/ssr/content/code-highlight.js +66 -0
  123. package/dist/ssr/content/code-highlight.js.map +1 -1
  124. package/dist/ssr/content/index.js +2 -1
  125. package/dist/ssr/content/index.js.map +1 -1
  126. package/dist/ssr/content/map-view-types.js.map +1 -1
  127. package/dist/ssr/feedback/dialog-core.js +6 -0
  128. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  129. package/dist/ssr/inputs/AutocompleteEditor.js +64 -24
  130. package/dist/ssr/inputs/AutocompleteEditor.js.map +1 -1
  131. package/dist/ssr/inputs/RichSelect.js +950 -0
  132. package/dist/ssr/inputs/RichSelect.js.map +1 -0
  133. package/dist/ssr/inputs/TextInput.js +44 -17
  134. package/dist/ssr/inputs/TextInput.js.map +1 -1
  135. package/dist/ssr/inputs/choice.js +19 -8
  136. package/dist/ssr/inputs/choice.js.map +1 -1
  137. package/dist/ssr/inputs/index.js +1 -0
  138. package/dist/ssr/inputs/index.js.map +1 -1
  139. package/dist/ssr/inputs/rich-select-messages.js +46 -0
  140. package/dist/ssr/inputs/rich-select-messages.js.map +1 -0
  141. package/dist/ssr/intl/shortcut-messages.js +4 -0
  142. package/dist/ssr/intl/shortcut-messages.js.map +1 -1
  143. package/dist/ssr/intl/shortcut.js +4 -0
  144. package/dist/ssr/intl/shortcut.js.map +1 -1
  145. package/dist/ssr/layout/AppWorkspace.js +166 -125
  146. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  147. package/dist/ssr/layout/DetailPanel.js +1 -1
  148. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  149. package/dist/ssr/layout/MobileShell.js +100 -20
  150. package/dist/ssr/layout/MobileShell.js.map +1 -1
  151. package/dist/ssr/layout/Navigation.js +1 -1
  152. package/dist/ssr/layout/Navigation.js.map +1 -1
  153. package/dist/ssr/layout/PageTitle.js +9 -3
  154. package/dist/ssr/layout/PageTitle.js.map +1 -1
  155. package/dist/ssr/layout/ResizeSeparator.js +4 -1
  156. package/dist/ssr/layout/ResizeSeparator.js.map +1 -1
  157. package/dist/ssr/layout/app-workspace-controller.js +192 -31
  158. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  159. package/dist/ssr/layout/index.js +1 -0
  160. package/dist/ssr/layout/index.js.map +1 -1
  161. package/dist/ssr/layout/navigation-model.js.map +1 -1
  162. package/dist/ssr/layout/resize-separator.js +25 -1
  163. package/dist/ssr/layout/resize-separator.js.map +1 -1
  164. package/dist/ssr/layout/scroll-fade.js +32 -5
  165. package/dist/ssr/layout/scroll-fade.js.map +1 -1
  166. package/dist/ssr/surfaces/NoticeCard.js +21 -12
  167. package/dist/ssr/surfaces/NoticeCard.js.map +1 -1
  168. package/dist/ssr/surfaces/Skeleton.js +8 -0
  169. package/dist/ssr/surfaces/Skeleton.js.map +1 -0
  170. package/dist/ssr/surfaces/index.js +1 -0
  171. package/dist/ssr/surfaces/index.js.map +1 -1
  172. package/dist/ssr/surfaces/resource-messages.js +2 -2
  173. package/dist/ssr/surfaces/resource-messages.js.map +1 -1
  174. package/dist/styles.css +1 -1
  175. package/dist/types/actions/Dropdown.d.ts +14 -0
  176. package/dist/types/actions/FilterChip.d.ts +11 -0
  177. package/dist/types/actions/filter-messages.d.ts +12 -0
  178. package/dist/types/actions/menu-rows.d.ts +7 -2
  179. package/dist/types/chat/ChatComposer.d.ts +13 -0
  180. package/dist/types/chat/chat-messages.d.ts +7 -0
  181. package/dist/types/chat/index.d.ts +1 -1
  182. package/dist/types/content/Calendar.d.ts +7 -0
  183. package/dist/types/content/Chart.d.ts +4 -2
  184. package/dist/types/content/ChartExplorer.d.ts +0 -1
  185. package/dist/types/content/MessageRow.d.ts +64 -2
  186. package/dist/types/content/code-highlight.d.ts +3 -1
  187. package/dist/types/content/index.d.ts +3 -2
  188. package/dist/types/content/map-view-live.d.ts +1 -1
  189. package/dist/types/content/map-view-types.d.ts +2 -0
  190. package/dist/types/feedback/dialog-core.d.ts +3 -0
  191. package/dist/types/inputs/AutocompleteEditor.d.ts +6 -1
  192. package/dist/types/inputs/RichSelect.d.ts +93 -0
  193. package/dist/types/inputs/TextInput.d.ts +5 -2
  194. package/dist/types/inputs/choice.d.ts +24 -4
  195. package/dist/types/inputs/index.d.ts +2 -0
  196. package/dist/types/inputs/rich-select-messages.d.ts +21 -0
  197. package/dist/types/intl/shortcut-messages.d.ts +2 -0
  198. package/dist/types/layout/AppWorkspace.d.ts +9 -0
  199. package/dist/types/layout/DetailPanel.d.ts +2 -0
  200. package/dist/types/layout/MobileShell.d.ts +52 -5
  201. package/dist/types/layout/app-workspace-controller.d.ts +2 -0
  202. package/dist/types/layout/index.d.ts +2 -1
  203. package/dist/types/layout/navigation-model.d.ts +2 -0
  204. package/dist/types/layout/resize-separator.d.ts +1 -0
  205. package/dist/types/layout/scroll-fade.d.ts +5 -0
  206. package/dist/types/surfaces/NoticeCard.d.ts +3 -0
  207. package/dist/types/surfaces/Skeleton.d.ts +6 -0
  208. package/dist/types/surfaces/index.d.ts +1 -0
  209. package/package.json +4 -4
@@ -22,38 +22,43 @@ var _tmpl$ = ["<span><strong", ">", "</strong></span>"],
22
22
  _tmpl$13 = ["<button class=\"k2b-chat-composer__command\"", " type=\"button\" role=\"option\" tabindex=\"-1\"", "><i", " aria-hidden=\"true\"></i><span class=\"k2b-chat-composer__command-text\"><strong>", "</strong>", "</span>", "</button>"],
23
23
  _tmpl$14 = ["<b>", "</b>"],
24
24
  _tmpl$15 = ["<small", ">", "</small>"],
25
- _tmpl$16 = ["<div class=\"k2b-chat-composer-accessory\"><div", " class=\"k2b-chat-composer__commands\" role=\"listbox\"", ">", "</div></div>"],
26
- _tmpl$17 = ["<label class=\"k2b-chat-composer__command-search\"><i class=\"ti ti-search\" aria-hidden=\"true\"></i><input type=\"text\" role=\"combobox\"", " aria-autocomplete=\"list\"", " aria-expanded=\"true\"", " autocomplete=\"off\" autocapitalize=\"off\" spellcheck=\"false\"", "></label>"],
27
- _tmpl$18 = ["<div role=\"status\" class=\"k2b-chat-composer__loading\"><i class=\"ti ti-loader-2 k2b-spin\" aria-hidden=\"true\"></i><strong>", "</strong></div>"],
28
- _tmpl$19 = ["<div role=\"status\"><i class=\"ti ti-alert-circle\"></i> ", "</div>"],
29
- _tmpl$20 = ["<div role=\"status\">", "</div>"],
30
- _tmpl$21 = ["<div class=\"k2b-chat-composer-accessory\" data-commands", ">", "<div", " class=\"k2b-chat-composer__commands\" role=\"listbox\"", ">", "", "", "", "", "</div></div>"],
31
- _tmpl$22 = ["<div class=\"k2b-chat-composer-slot\"", "><div style=\"", "\"", ">", "</div>", "", "</div>"],
32
- _tmpl$23 = ["<div class=\"k2b-chat-composer__hint\" aria-live=\"polite\">", "</div>"],
33
- _tmpl$24 = ["<div class=\"k2b-chat-composer__attachments\" role=\"list\"", " tabindex=\"0\">", "</div>"],
34
- _tmpl$25 = ["<div class=\"k2b-chat-composer__error\" role=\"alert\"><i class=\"ti ti-alert-circle\" aria-hidden=\"true\"></i>", "</div>"],
35
- _tmpl$26 = ["<div class=\"k2b-chat-composer__row\">", "", "<div class=\"k2b-chat-composer__field\">", "<div class=\"k2b-chat-composer__field-tools\">", "", "", "</div></div>", "</div>"],
36
- _tmpl$27 = ["<div class=\"k2b-chat-composer-shell\">", "<section class=\"", "\"", " role=\"group\"", ">", "", "", "", "</section><div class=\"k2b-sr-only\" role=\"status\" aria-live=\"polite\">", "</div><div class=\"k2b-chat-composer__status\" role=\"status\">", "", "</div></div>"],
37
- _tmpl$28 = ["<button id=\"", "\" type=\"button\" role=\"option\" tabindex=\"-1\"", "><span class=\"k2b-chat-composer__emoji-glyph\" aria-hidden=\"true\">", "</span><strong>", "</strong>", "</button>"],
38
- _tmpl$29 = ["<small>:", ":</small>"],
39
- _tmpl$30 = "<i class=\"ti ti-loader-2 k2b-spin\" aria-hidden=\"true\"></i>",
40
- _tmpl$31 = ["<div class=\"k2b-chat-composer__command-group\" role=\"group\"", "><div class=\"k2b-chat-composer__command-heading\"", " role=\"presentation\"><span>", "</span>", "</div>", "", "</div>"],
41
- _tmpl$32 = "<div class=\"k2b-chat-composer__command-placeholder\" aria-hidden=\"true\"><span></span><span><span></span><span></span></span></div>",
42
- _tmpl$33 = ["<span class=\"k2b-chat-composer__hint-text\">", "</span>"],
43
- _tmpl$34 = ["<span class=\"k2b-chat-composer__dictation\"", "><i", " aria-hidden=\"true\"></i><span>", "</span></span>"],
44
- _tmpl$35 = ["<button type=\"button\" class=\"k2b-chat-composer__hint-action\"", ">", "</button>"],
45
- _tmpl$36 = ["<button type=\"button\" class=\"k2b-chat-composer__attachment-remove\"", "", "><i class=\"ti ti-x\" aria-hidden=\"true\"></i></button>"],
46
- _tmpl$37 = ["<div class=\"k2b-chat-composer__attachment\" role=\"listitem\"><div class=\"", "\">", "", "</div>", "</div>"],
47
- _tmpl$38 = ["<img", ">"],
48
- _tmpl$39 = ["<div class=\"k2b-chat-composer__attachment-identity\">", "", "</div>"],
49
- _tmpl$40 = ["<a class=\"k2b-chat-composer__attachment-link\"", " target=\"_blank\" rel=\"noopener noreferrer\"", ">", "", "</a>"],
50
- _tmpl$41 = ["<button type=\"button\" class=\"k2b-chat-composer__attachment-action\"", ">", "", "</button>"],
51
- _tmpl$42 = ["<footer class=\"k2b-chat-composer__footer\">", "</footer>"],
52
- _tmpl$43 = ["<div class=\"k2b-chat-composer__tools\">", "", "", "", "", "", "", "</div>"],
53
- _tmpl$44 = ["<div class=\"k2b-chat-composer__submit\">", "", "", "", "", "</div>"],
54
- _tmpl$45 = ["<span>", "</span>"],
55
- _tmpl$46 = ["<div class=\"k2b-chat-composer__status-line\"", "><i aria-hidden=\"true\"", "></i><span>", "</span></div>"],
56
- _tmpl$47 = ["<span class=\"k2b-sr-only\">", "</span>"];
25
+ _tmpl$16 = ["<span class=\"k2b-message-row__quote-author\"><span class=\"k2b-sr-only\">", " </span>", "</span>"],
26
+ _tmpl$17 = ["<span class=\"k2b-message-row__quote-text\">", "</span>"],
27
+ _tmpl$18 = ["<div class=\"k2b-chat-composer-accessory\"><div", " class=\"k2b-chat-composer__commands\" role=\"listbox\"", ">", "</div></div>"],
28
+ _tmpl$19 = ["<label class=\"k2b-chat-composer__command-search\"><i class=\"ti ti-search\" aria-hidden=\"true\"></i><input type=\"text\" role=\"combobox\"", " aria-autocomplete=\"list\"", " aria-expanded=\"true\"", " autocomplete=\"off\" autocapitalize=\"off\" spellcheck=\"false\"", "></label>"],
29
+ _tmpl$20 = ["<div role=\"status\" class=\"k2b-chat-composer__loading\"><i class=\"ti ti-loader-2 k2b-spin\" aria-hidden=\"true\"></i><strong>", "</strong></div>"],
30
+ _tmpl$21 = ["<div role=\"status\"><i class=\"ti ti-alert-circle\"></i> ", "</div>"],
31
+ _tmpl$22 = ["<div role=\"status\">", "</div>"],
32
+ _tmpl$23 = ["<div class=\"k2b-chat-composer-accessory\" data-commands", ">", "<div", " class=\"k2b-chat-composer__commands\" role=\"listbox\"", ">", "", "", "", "", "</div></div>"],
33
+ _tmpl$24 = ["<div class=\"k2b-chat-composer-slot\"", "><div style=\"", "\"", ">", "</div>", "", "</div>"],
34
+ _tmpl$25 = ["<div class=\"k2b-chat-composer__hint\" aria-live=\"polite\">", "</div>"],
35
+ _tmpl$26 = ["<div class=\"k2b-chat-composer__attachments\" role=\"list\"", " tabindex=\"0\">", "</div>"],
36
+ _tmpl$27 = ["<div class=\"k2b-chat-composer__error\" role=\"alert\"><i class=\"ti ti-alert-circle\" aria-hidden=\"true\"></i>", "</div>"],
37
+ _tmpl$28 = ["<div class=\"k2b-chat-composer__row\">", "", "<div class=\"k2b-chat-composer__field\">", "<div class=\"k2b-chat-composer__field-tools\">", "", "", "</div></div>", "</div>"],
38
+ _tmpl$29 = ["<div class=\"k2b-chat-composer-shell\">", "<section class=\"", "\"", " role=\"group\"", ">", "", "", "", "", "</section><div class=\"k2b-sr-only\" role=\"status\" aria-live=\"polite\">", "</div><div class=\"k2b-chat-composer__status\" role=\"status\">", "", "</div></div>"],
39
+ _tmpl$30 = ["<button id=\"", "\" type=\"button\" role=\"option\" tabindex=\"-1\"", "><span class=\"k2b-chat-composer__emoji-glyph\" aria-hidden=\"true\">", "</span><strong>", "</strong>", "</button>"],
40
+ _tmpl$31 = ["<small>:", ":</small>"],
41
+ _tmpl$32 = "<i class=\"ti ti-loader-2 k2b-spin\" aria-hidden=\"true\"></i>",
42
+ _tmpl$33 = ["<div class=\"k2b-chat-composer__command-group\" role=\"group\"", "><div class=\"k2b-chat-composer__command-heading\"", " role=\"presentation\"><span>", "</span>", "</div>", "", "</div>"],
43
+ _tmpl$34 = "<div class=\"k2b-chat-composer__command-placeholder\" aria-hidden=\"true\"><span></span><span><span></span><span></span></span></div>",
44
+ _tmpl$35 = ["<span class=\"k2b-chat-composer__hint-text\">", "</span>"],
45
+ _tmpl$36 = ["<span class=\"k2b-chat-composer__dictation\"", "><i", " aria-hidden=\"true\"></i><span>", "</span></span>"],
46
+ _tmpl$37 = ["<button type=\"button\" class=\"k2b-chat-composer__hint-action\"", ">", "</button>"],
47
+ _tmpl$38 = ["<div class=\"k2b-chat-composer__reply\">", "<button type=\"button\" class=\"k2b-chat-composer__icon-action k2b-chat-composer__reply-cancel\"", "><i class=\"ti ti-x\" aria-hidden=\"true\"></i></button></div>"],
48
+ _tmpl$39 = ["<div class=\"k2b-message-row__quote\">", "</div>"],
49
+ _tmpl$40 = ["<button type=\"button\" class=\"k2b-message-row__quote\">", "</button>"],
50
+ _tmpl$41 = ["<button type=\"button\" class=\"k2b-chat-composer__attachment-remove\"", "", "><i class=\"ti ti-x\" aria-hidden=\"true\"></i></button>"],
51
+ _tmpl$42 = ["<div class=\"k2b-chat-composer__attachment\" role=\"listitem\"><div class=\"", "\">", "", "</div>", "</div>"],
52
+ _tmpl$43 = ["<img", ">"],
53
+ _tmpl$44 = ["<div class=\"k2b-chat-composer__attachment-identity\">", "", "</div>"],
54
+ _tmpl$45 = ["<a class=\"k2b-chat-composer__attachment-link\"", " target=\"_blank\" rel=\"noopener noreferrer\"", ">", "", "</a>"],
55
+ _tmpl$46 = ["<button type=\"button\" class=\"k2b-chat-composer__attachment-action\"", ">", "", "</button>"],
56
+ _tmpl$47 = ["<footer class=\"k2b-chat-composer__footer\">", "</footer>"],
57
+ _tmpl$48 = ["<div class=\"k2b-chat-composer__tools\">", "", "", "", "", "", "", "</div>"],
58
+ _tmpl$49 = ["<div class=\"k2b-chat-composer__submit\">", "", "", "", "", "</div>"],
59
+ _tmpl$50 = ["<span>", "</span>"],
60
+ _tmpl$51 = ["<div class=\"k2b-chat-composer__status-line\"", "><i aria-hidden=\"true\"", "></i><span>", "</span></div>"],
61
+ _tmpl$52 = ["<span class=\"k2b-sr-only\">", "</span>"];
57
62
  import { batch, children, createEffect, createMemo, createSignal, createUniqueId, For, Index, on, onCleanup, onMount, Show, untrack } from "solid-js";
58
63
  import { Dropdown } from "../actions/Dropdown";
59
64
  import { dialogHistorySettled, holdDialogHistory } from "../feedback/dialog-core";
@@ -804,7 +809,16 @@ export function ChatComposer(props) {
804
809
  label: action.label,
805
810
  variant: action.variant,
806
811
  disabled: action.disabled,
807
- action: () => reportChatFailure(() => executeChatAction(action), props.onError)
812
+ action: () => reportChatFailure(async () => {
813
+ await executeChatAction(action);
814
+ // Like attaching files, an add action returns to the field when the focus is still on this composer's add
815
+ // button or nowhere; focus the action moved somewhere on purpose stays there.
816
+ queueMicrotask(() => {
817
+ const active = textareaRef?.ownerDocument.activeElement;
818
+ const root = textareaRef?.closest(".k2b-chat-composer");
819
+ if (!active || active === active.ownerDocument.body || root?.contains(active) && active.matches("[data-chat-composer-add]")) focus();
820
+ });
821
+ }, props.onError)
808
822
  });
809
823
  }
810
824
  return items;
@@ -1517,6 +1531,7 @@ export function ChatComposer(props) {
1517
1531
  return _$createComponent(Dropdown.Trigger, {
1518
1532
  appearance: "plain",
1519
1533
  "class": `k2b-chat-composer__icon-action${extraClass}`,
1534
+ "data-chat-composer-add": "",
1520
1535
  get label() {
1521
1536
  return chatMessages().addToChat;
1522
1537
  },
@@ -1902,25 +1917,26 @@ export function ChatComposer(props) {
1902
1917
  }
1903
1918
  })));
1904
1919
  };
1905
- return _$ssr(_tmpl$27, _$escape(_$createComponent(Show, {
1920
+ const replyQuote = reply => [_$ssr(_tmpl$16, _$escape(chatMessages().replyingTo), _$escape(reply.author)), _$ssr(_tmpl$17, _$escape(reply.text))];
1921
+ return _$ssr(_tmpl$29, _$escape(_$createComponent(Show, {
1906
1922
  get when() {
1907
1923
  return suggestionsOpen() || hasAccessory();
1908
1924
  },
1909
1925
  get children() {
1910
- return _$ssr(_tmpl$22, _$ssrAttribute("data-overlay", hasAccessory() ? _$escape(undefined, true) : "true", false), _$ssrStyleProperty("visibility:", suggestionsOpen() ? "hidden" : _$escape(undefined, true)), _$ssrAttribute("inert", suggestionsOpen(), true), _$escape(accessory()), _$escape(_$createComponent(Show, {
1926
+ return _$ssr(_tmpl$24, _$ssrAttribute("data-overlay", hasAccessory() ? _$escape(undefined, true) : "true", false), _$ssrStyleProperty("visibility:", suggestionsOpen() ? "hidden" : _$escape(undefined, true)), _$ssrAttribute("inert", suggestionsOpen(), true), _$escape(accessory()), _$escape(_$createComponent(Show, {
1911
1927
  get when() {
1912
1928
  return emojiOpen();
1913
1929
  },
1914
1930
  get children() {
1915
- return _$ssr(_tmpl$16, _$ssrAttribute("id", _$escape(commandListId, true), false), _$ssrAttribute("aria-label", _$escape(chatMessages().emojiSuggestions, true), false), _$escape(_$createComponent(For, {
1931
+ return _$ssr(_tmpl$18, _$ssrAttribute("id", _$escape(commandListId, true), false), _$ssrAttribute("aria-label", _$escape(chatMessages().emojiSuggestions, true), false), _$escape(_$createComponent(For, {
1916
1932
  get each() {
1917
1933
  return emojiMatches();
1918
1934
  },
1919
- children: (entry, index) => _$ssr(_tmpl$28, `${_$escape(commandListId, true)}-${_$escape(index(), true)}`, _$ssrAttribute("aria-selected", _$escape(index(), true) === _$escape(selectedCommandIndex(), true), false) + _$ssrAttribute("aria-label", _$escape(emojiName(entry, locale()), true), false) + _$ssrAttribute("data-active", index() === selectedCommandIndex() ? "true" : _$escape(undefined, true), false), _$escape(emojiInTone(entry, props.emoji?.skinTone ?? 0)), _$escape(emojiName(entry, locale())), _$escape(_$createComponent(Show, {
1935
+ children: (entry, index) => _$ssr(_tmpl$30, `${_$escape(commandListId, true)}-${_$escape(index(), true)}`, _$ssrAttribute("aria-selected", _$escape(index(), true) === _$escape(selectedCommandIndex(), true), false) + _$ssrAttribute("aria-label", _$escape(emojiName(entry, locale()), true), false) + _$ssrAttribute("data-active", index() === selectedCommandIndex() ? "true" : _$escape(undefined, true), false), _$escape(emojiInTone(entry, props.emoji?.skinTone ?? 0)), _$escape(emojiName(entry, locale())), _$escape(_$createComponent(Show, {
1920
1936
  get when() {
1921
1937
  return entry.shortcodes[0];
1922
1938
  },
1923
- children: code => _$ssr(_tmpl$29, _$escape(code()))
1939
+ children: code => _$ssr(_tmpl$31, _$escape(code()))
1924
1940
  })))
1925
1941
  })));
1926
1942
  }
@@ -1929,12 +1945,12 @@ export function ChatComposer(props) {
1929
1945
  return commandsOpen();
1930
1946
  },
1931
1947
  get children() {
1932
- return _$ssr(_tmpl$21, _$ssrAttribute("data-search", addSearch() ? "" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
1948
+ return _$ssr(_tmpl$23, _$ssrAttribute("data-search", addSearch() ? "" : _$escape(undefined, true), false), _$escape(_$createComponent(Show, {
1933
1949
  get when() {
1934
1950
  return addSearch();
1935
1951
  },
1936
1952
  get children() {
1937
- return _$ssr(_tmpl$17, _$ssrAttribute("value", _$escape(addQuery(), true), false) + _$ssrAttribute("placeholder", _$escape(chatMessages().commandSearch, true), false) + _$ssrAttribute("aria-label", _$escape(chatMessages().commandSearchLabel, true), false), _$ssrAttribute("aria-controls", _$escape(commandListId, true), false), _$ssrAttribute("aria-activedescendant", selectedCommand() ? _$escape(commandOptionId(selectedCommand()), true) : _$escape(undefined, true), false), _$ssrAttribute("readonly", _$escape(openingRow(), true) !== _$escape(undefined, true), false));
1953
+ return _$ssr(_tmpl$19, _$ssrAttribute("value", _$escape(addQuery(), true), false) + _$ssrAttribute("placeholder", _$escape(chatMessages().commandSearch, true), false) + _$ssrAttribute("aria-label", _$escape(chatMessages().commandSearchLabel, true), false), _$ssrAttribute("aria-controls", _$escape(commandListId, true), false), _$ssrAttribute("aria-activedescendant", selectedCommand() ? _$escape(commandOptionId(selectedCommand()), true) : _$escape(undefined, true), false), _$ssrAttribute("readonly", _$escape(openingRow(), true) !== _$escape(undefined, true), false));
1938
1954
  }
1939
1955
  })), _$ssrAttribute("id", _$escape(commandListId, true), false), _$ssrAttribute("aria-label", _$escape(chatMessages().commands, true), false) + _$ssrAttribute("aria-busy", searching() ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(For, {
1940
1956
  get each() {
@@ -1955,12 +1971,12 @@ export function ChatComposer(props) {
1955
1971
  });
1956
1972
  },
1957
1973
  get children() {
1958
- return _$ssr(_tmpl$31, _$ssrAttribute("aria-labelledby", _$escape(headingId(), true), false), _$ssrAttribute("id", _$escape(headingId(), true), false), _$escape(group()?.scopeTitle ?? group()?.section?.label), _$escape(_$createComponent(Show, {
1974
+ return _$ssr(_tmpl$33, _$ssrAttribute("aria-labelledby", _$escape(headingId(), true), false), _$ssrAttribute("id", _$escape(headingId(), true), false), _$escape(group()?.scopeTitle ?? group()?.section?.label), _$escape(_$createComponent(Show, {
1959
1975
  get when() {
1960
1976
  return group()?.loading;
1961
1977
  },
1962
1978
  get children() {
1963
- return _$ssr(_tmpl$30);
1979
+ return _$ssr(_tmpl$32);
1964
1980
  }
1965
1981
  })), _$escape(_$createComponent(For, {
1966
1982
  get each() {
@@ -1973,7 +1989,7 @@ export function ChatComposer(props) {
1973
1989
  length: Math.max(group()?.placeholder ? 1 : 0, group()?.pendingRows ?? 0)
1974
1990
  });
1975
1991
  },
1976
- children: () => _$ssr(_tmpl$32)
1992
+ children: () => _$ssr(_tmpl$34)
1977
1993
  })));
1978
1994
  }
1979
1995
  });
@@ -1983,21 +1999,21 @@ export function ChatComposer(props) {
1983
1999
  return _$memo(() => !!(searching() && foundCommandCount() === 0))() && !commandModel().groups.some(group => group.section || group.scopeTitle);
1984
2000
  },
1985
2001
  get children() {
1986
- return _$ssr(_tmpl$18, _$escape(messages().loading));
2002
+ return _$ssr(_tmpl$20, _$escape(messages().loading));
1987
2003
  }
1988
2004
  })), _$escape(_$createComponent(Show, {
1989
2005
  get when() {
1990
2006
  return searchError();
1991
2007
  },
1992
2008
  get children() {
1993
- return _$ssr(_tmpl$19, _$escape(messages().error));
2009
+ return _$ssr(_tmpl$21, _$escape(messages().error));
1994
2010
  }
1995
2011
  })), _$escape(_$createComponent(Show, {
1996
2012
  get when() {
1997
2013
  return _$memo(() => !!(!searching() && !searchError() && foundCommandCount() === 0))() && !commandModel().groups.some(group => group.pendingRows);
1998
2014
  },
1999
2015
  get children() {
2000
- return _$ssr(_tmpl$20, !parsedCommandQuery().query.trim() ? _$escape(messages().noResults) : _$escape(chatMessages().commandsNothingFound({
2016
+ return _$ssr(_tmpl$22, !parsedCommandQuery().query.trim() ? _$escape(messages().noResults) : _$escape(chatMessages().commandsNothingFound({
2001
2017
  query: parsedCommandQuery().query.trim()
2002
2018
  })));
2003
2019
  }
@@ -2016,36 +2032,49 @@ export function ChatComposer(props) {
2016
2032
  return showHint();
2017
2033
  },
2018
2034
  get children() {
2019
- return _$ssr(_tmpl$23, _$escape(_$createComponent(Show, {
2035
+ return _$ssr(_tmpl$25, _$escape(_$createComponent(Show, {
2020
2036
  get when() {
2021
2037
  return dictationStatus();
2022
2038
  },
2023
2039
  get fallback() {
2024
- return _$ssr(_tmpl$33, _$escape(hint()));
2040
+ return _$ssr(_tmpl$35, _$escape(hint()));
2025
2041
  },
2026
- children: status => [_$ssr(_tmpl$34, _$ssrAttribute("data-state", _$escape(dictation() ?? undefined, true), false), _$ssrAttribute("class", _$escape(status().icon, true), false), _$escape(status().text)), _$createComponent(Show, {
2042
+ children: status => [_$ssr(_tmpl$36, _$ssrAttribute("data-state", _$escape(dictation() ?? undefined, true), false), _$ssrAttribute("class", _$escape(status().icon, true), false), _$escape(status().text)), _$createComponent(Show, {
2027
2043
  get when() {
2028
2044
  return _$memo(() => dictation() === "refined")() ? props.microphone?.onRestoreOriginal : undefined;
2029
2045
  },
2030
- children: restore => _$ssr(_tmpl$35, _$ssrAttribute("disabled", microphoneDisabled(), true), _$escape(chatMessages().restoreOriginal))
2046
+ children: restore => _$ssr(_tmpl$37, _$ssrAttribute("disabled", microphoneDisabled(), true), _$escape(chatMessages().restoreOriginal))
2031
2047
  })]
2032
2048
  })));
2033
2049
  }
2050
+ })), _$escape(_$createComponent(Show, {
2051
+ get when() {
2052
+ return props.reply;
2053
+ },
2054
+ children: reply => _$ssr(_tmpl$38, _$escape(_$createComponent(Show, {
2055
+ get when() {
2056
+ return reply().onSelect;
2057
+ },
2058
+ get fallback() {
2059
+ return _$ssr(_tmpl$39, _$escape(replyQuote(reply())));
2060
+ },
2061
+ children: select => _$ssr(_tmpl$40, _$escape(replyQuote(reply())))
2062
+ })), _$ssrAttribute("aria-label", _$escape(chatMessages().cancelReply, true), false) + _$ssrAttribute("title", _$escape(chatMessages().cancelReply, true), false))
2034
2063
  })), _$escape(_$createComponent(Show, {
2035
2064
  get when() {
2036
2065
  return attachments().length > 0;
2037
2066
  },
2038
2067
  get children() {
2039
- return _$ssr(_tmpl$24, _$ssrAttribute("aria-label", _$escape(chatMessages().attachments, true), false), _$escape(_$createComponent(For, {
2068
+ return _$ssr(_tmpl$26, _$ssrAttribute("aria-label", _$escape(chatMessages().attachments, true), false), _$escape(_$createComponent(For, {
2040
2069
  get each() {
2041
2070
  return attachments();
2042
2071
  },
2043
- children: attachment => _$ssr(_tmpl$37, `k2b-chat-composer__attachment-content ${Boolean(attachment.action) ? "k2b-chat-composer__attachment-content--action" : ""}`, _$escape(_$createComponent(Show, {
2072
+ children: attachment => _$ssr(_tmpl$42, `k2b-chat-composer__attachment-content ${Boolean(attachment.action) ? "k2b-chat-composer__attachment-content--action" : ""}`, _$escape(_$createComponent(Show, {
2044
2073
  get when() {
2045
2074
  return attachment.href;
2046
2075
  },
2047
2076
  get fallback() {
2048
- return _$ssr(_tmpl$39, _$escape(_$createComponent(Show, {
2077
+ return _$ssr(_tmpl$44, _$escape(_$createComponent(Show, {
2049
2078
  get when() {
2050
2079
  return _$memo(() => attachment.kind === "image")() && attachment.previewUrl;
2051
2080
  },
@@ -2053,11 +2082,11 @@ export function ChatComposer(props) {
2053
2082
  return _$ssr(_tmpl$3, _$ssrAttribute("class", _$escape(attachmentIcon(attachment), true), false));
2054
2083
  },
2055
2084
  get children() {
2056
- return _$ssr(_tmpl$38, _$ssrAttribute("src", _$escape(attachment.previewUrl, true), false) + _$ssrAttribute("alt", _$escape(attachment.alt ?? "", true), false));
2085
+ return _$ssr(_tmpl$43, _$ssrAttribute("src", _$escape(attachment.previewUrl, true), false) + _$ssrAttribute("alt", _$escape(attachment.alt ?? "", true), false));
2057
2086
  }
2058
2087
  })), _$escape(renderAttachmentCopy(attachment)));
2059
2088
  },
2060
- children: href => _$ssr(_tmpl$40, _$ssrAttribute("href", _$escape(href(), true), false), _$ssrAttribute("aria-label", _$escape(chatMessages().openInNewTab({
2089
+ children: href => _$ssr(_tmpl$45, _$ssrAttribute("href", _$escape(href(), true), false), _$ssrAttribute("aria-label", _$escape(chatMessages().openInNewTab({
2061
2090
  name: attachment.name
2062
2091
  }), true), false), _$escape(_$createComponent(Show, {
2063
2092
  get when() {
@@ -2067,14 +2096,14 @@ export function ChatComposer(props) {
2067
2096
  return _$ssr(_tmpl$3, _$ssrAttribute("class", _$escape(attachmentIcon(attachment), true), false));
2068
2097
  },
2069
2098
  get children() {
2070
- return _$ssr(_tmpl$38, _$ssrAttribute("src", _$escape(attachment.previewUrl, true), false) + _$ssrAttribute("alt", _$escape(attachment.alt ?? "", true), false));
2099
+ return _$ssr(_tmpl$43, _$ssrAttribute("src", _$escape(attachment.previewUrl, true), false) + _$ssrAttribute("alt", _$escape(attachment.alt ?? "", true), false));
2071
2100
  }
2072
2101
  })), _$escape(renderAttachmentCopy(attachment)))
2073
2102
  })), _$escape(_$createComponent(Show, {
2074
2103
  get when() {
2075
2104
  return attachment.action;
2076
2105
  },
2077
- children: action => _$ssr(_tmpl$41, _$ssrAttribute("disabled", blocked() || action().disabled, true), _$escape(_$createComponent(Show, {
2106
+ children: action => _$ssr(_tmpl$46, _$ssrAttribute("disabled", blocked() || action().disabled, true), _$escape(_$createComponent(Show, {
2078
2107
  get when() {
2079
2108
  return action().icon;
2080
2109
  },
@@ -2085,7 +2114,7 @@ export function ChatComposer(props) {
2085
2114
  return props.onAttachmentsChange;
2086
2115
  },
2087
2116
  get children() {
2088
- return _$ssr(_tmpl$36, _$ssrAttribute("aria-label", _$escape(selectMessages().removeNamed({
2117
+ return _$ssr(_tmpl$41, _$ssrAttribute("aria-label", _$escape(selectMessages().removeNamed({
2089
2118
  name: attachment.name
2090
2119
  }), true), false), _$ssrAttribute("disabled", blocked(), true));
2091
2120
  }
@@ -2102,14 +2131,14 @@ export function ChatComposer(props) {
2102
2131
  return props.error;
2103
2132
  },
2104
2133
  get children() {
2105
- return _$ssr(_tmpl$25, _$escape(props.error));
2134
+ return _$ssr(_tmpl$27, _$escape(props.error));
2106
2135
  }
2107
- }), formatRow(), _$ssr(_tmpl$42, _$escape(_$createComponent(Show, {
2136
+ }), formatRow(), _$ssr(_tmpl$47, _$escape(_$createComponent(Show, {
2108
2137
  get when() {
2109
2138
  return footer();
2110
2139
  },
2111
2140
  get fallback() {
2112
- return [_$ssr(_tmpl$43, _$escape(props.footerTools), _$escape(_$createComponent(Show, {
2141
+ return [_$ssr(_tmpl$48, _$escape(props.footerTools), _$escape(_$createComponent(Show, {
2113
2142
  get when() {
2114
2143
  return addOpensCommands();
2115
2144
  },
@@ -2172,7 +2201,7 @@ export function ChatComposer(props) {
2172
2201
  }
2173
2202
  });
2174
2203
  }
2175
- })), _$escape(props.modelDetails)), _$ssr(_tmpl$44, _$escape(_$createComponent(For, {
2204
+ })), _$escape(props.modelDetails)), _$ssr(_tmpl$49, _$escape(_$createComponent(For, {
2176
2205
  get each() {
2177
2206
  return props.contextActions;
2178
2207
  },
@@ -2224,9 +2253,9 @@ export function ChatComposer(props) {
2224
2253
  return props.error;
2225
2254
  },
2226
2255
  get children() {
2227
- return _$ssr(_tmpl$25, _$escape(props.error));
2256
+ return _$ssr(_tmpl$27, _$escape(props.error));
2228
2257
  }
2229
- }), formatRow(), _$ssr(_tmpl$26, _$escape(attachControl()), _$escape(fileInput()), _$escape(field()), _$escape(formatToggle()), _$escape(emojiButton()), _$escape(microphoneControl()), _$escape(sendControl()))];
2258
+ }), formatRow(), _$ssr(_tmpl$28, _$escape(attachControl()), _$escape(fileInput()), _$escape(field()), _$escape(formatToggle()), _$escape(emojiButton()), _$escape(microphoneControl()), _$escape(sendControl()))];
2230
2259
  }
2231
2260
  })), _$escape(_$createComponent(Show, {
2232
2261
  get when() {
@@ -2252,18 +2281,18 @@ export function ChatComposer(props) {
2252
2281
  return suggestionAnnouncement();
2253
2282
  },
2254
2283
  keyed: true,
2255
- children: announced => _$ssr(_tmpl$45, _$escape(announced.text))
2284
+ children: announced => _$ssr(_tmpl$50, _$escape(announced.text))
2256
2285
  })), _$escape(_$createComponent(Show, {
2257
2286
  get when() {
2258
2287
  return _$memo(() => !!!suggestionsOpen())() && commandStatus();
2259
2288
  },
2260
- children: status => _$ssr(_tmpl$46, _$ssrAttribute("data-tone", _$escape(status().tone, true), false), _$ssrAttribute("class", status().tone === "busy" ? "ti ti-loader-2 k2b-spin" : status().tone === "done" ? "ti ti-check" : "ti ti-alert-circle", false), _$escape(status().text))
2289
+ children: status => _$ssr(_tmpl$51, _$ssrAttribute("data-tone", _$escape(status().tone, true), false), _$ssrAttribute("class", status().tone === "busy" ? "ti ti-loader-2 k2b-spin" : status().tone === "done" ? "ti ti-check" : "ti ti-alert-circle", false), _$escape(status().text))
2261
2290
  })), _$escape(_$createComponent(Show, {
2262
2291
  get when() {
2263
2292
  return _$memo(() => !!suggestionsOpen())() && announcement();
2264
2293
  },
2265
2294
  keyed: true,
2266
- children: announced => _$ssr(_tmpl$47, _$escape(announced.text))
2295
+ children: announced => _$ssr(_tmpl$52, _$escape(announced.text))
2267
2296
  })));
2268
2297
  }
2269
2298
  //# sourceMappingURL=ChatComposer.js.map