@k2b/ui 0.33.0 → 0.34.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.
- package/dist/base.css +14 -1
- package/dist/browser/actions/ContextMenu.js +13 -0
- package/dist/browser/actions/ContextMenu.js.map +1 -1
- package/dist/browser/actions/Dropdown.js +15 -4
- package/dist/browser/actions/Dropdown.js.map +1 -1
- package/dist/browser/actions/SelectionToolbar.js +129 -0
- package/dist/browser/actions/SelectionToolbar.js.map +1 -0
- package/dist/browser/actions/index.js +1 -0
- package/dist/browser/actions/index.js.map +1 -1
- package/dist/browser/charts.js +6 -0
- package/dist/browser/charts.js.map +1 -0
- package/dist/browser/chat/ChatComposer.js +525 -407
- package/dist/browser/chat/ChatComposer.js.map +1 -1
- package/dist/browser/chat/chat-messages.js +4 -0
- package/dist/browser/chat/chat-messages.js.map +1 -1
- package/dist/browser/chat/composer-document.js +19 -0
- package/dist/browser/chat/composer-document.js.map +1 -1
- package/dist/browser/chat/index.js.map +1 -1
- package/dist/browser/content/Chart.js +8 -0
- package/dist/browser/content/Chart.js.map +1 -1
- package/dist/browser/content/FileGrid.js +231 -9
- package/dist/browser/content/FileGrid.js.map +1 -1
- package/dist/browser/content/FileTypeIcon.js +15 -0
- package/dist/browser/content/FileTypeIcon.js.map +1 -1
- package/dist/browser/content/FileView.js +11 -4
- package/dist/browser/content/FileView.js.map +1 -1
- package/dist/browser/content/MessageRow.js +73 -53
- package/dist/browser/content/MessageRow.js.map +1 -1
- package/dist/browser/content/ReactionBar.js +3 -1
- package/dist/browser/content/ReactionBar.js.map +1 -1
- package/dist/browser/content/calendar-day-scroll.js +4 -3
- package/dist/browser/content/calendar-day-scroll.js.map +1 -1
- package/dist/browser/content/chart-bar.js +476 -0
- package/dist/browser/content/chart-bar.js.map +1 -0
- package/dist/browser/content/file-list-messages.js +52 -0
- package/dist/browser/content/file-list-messages.js.map +1 -0
- package/dist/browser/content/index.js +1 -1
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/feedback/Tooltip.js +31 -14
- package/dist/browser/feedback/Tooltip.js.map +1 -1
- package/dist/browser/inputs/ChoiceList.js +178 -0
- package/dist/browser/inputs/ChoiceList.js.map +1 -0
- package/dist/browser/inputs/ChoiceSlider.js +314 -0
- package/dist/browser/inputs/ChoiceSlider.js.map +1 -0
- package/dist/browser/inputs/ChoiceTiles.js +135 -0
- package/dist/browser/inputs/ChoiceTiles.js.map +1 -0
- package/dist/browser/inputs/ColorChoices.js +120 -0
- package/dist/browser/inputs/ColorChoices.js.map +1 -0
- package/dist/browser/inputs/QrScanner.js +95 -13
- package/dist/browser/inputs/QrScanner.js.map +1 -1
- package/dist/browser/inputs/TextInput.js +15 -13
- package/dist/browser/inputs/TextInput.js.map +1 -1
- package/dist/browser/inputs/index.js +4 -0
- package/dist/browser/inputs/index.js.map +1 -1
- package/dist/browser/inputs/qr-messages.js +2 -0
- package/dist/browser/inputs/qr-messages.js.map +1 -1
- package/dist/browser/internal/radio-keys.js +13 -0
- package/dist/browser/internal/radio-keys.js.map +1 -0
- package/dist/browser/layout/AnchoredPopover.js +180 -0
- package/dist/browser/layout/AnchoredPopover.js.map +1 -0
- package/dist/browser/layout/AppWorkspace.js +155 -20
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/DetailPanel.js +443 -333
- package/dist/browser/layout/DetailPanel.js.map +1 -1
- package/dist/browser/layout/MobileShell.js +21 -7
- package/dist/browser/layout/MobileShell.js.map +1 -1
- package/dist/browser/layout/Settings.js +283 -175
- package/dist/browser/layout/Settings.js.map +1 -1
- package/dist/browser/layout/SidebarRailHint.js +79 -0
- package/dist/browser/layout/SidebarRailHint.js.map +1 -0
- package/dist/browser/layout/SidebarSwitcher.js +79 -66
- package/dist/browser/layout/SidebarSwitcher.js.map +1 -1
- package/dist/browser/layout/TabBar.js +18 -4
- package/dist/browser/layout/TabBar.js.map +1 -1
- package/dist/browser/layout/app-workspace-controller.js +11 -4
- package/dist/browser/layout/app-workspace-controller.js.map +1 -1
- package/dist/browser/layout/detail-panel-messages.js +4 -2
- package/dist/browser/layout/detail-panel-messages.js.map +1 -1
- package/dist/browser/layout/index.js +2 -1
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/layout/settings-messages.js +26 -2
- package/dist/browser/layout/settings-messages.js.map +1 -1
- package/dist/browser/surfaces/Avatar.js +2 -14
- package/dist/browser/surfaces/Avatar.js.map +1 -1
- package/dist/browser/surfaces/DotStrip.js +70 -0
- package/dist/browser/surfaces/DotStrip.js.map +1 -0
- package/dist/browser/surfaces/ProgressRing.js +3 -0
- package/dist/browser/surfaces/ProgressRing.js.map +1 -1
- package/dist/browser/surfaces/ResourceCard.js +125 -68
- package/dist/browser/surfaces/ResourceCard.js.map +1 -1
- package/dist/browser/surfaces/index.js +2 -0
- package/dist/browser/surfaces/index.js.map +1 -1
- package/dist/browser/surfaces/person-color.js +18 -0
- package/dist/browser/surfaces/person-color.js.map +1 -0
- package/dist/browser/surfaces/resource-messages.js +6 -2
- package/dist/browser/surfaces/resource-messages.js.map +1 -1
- package/dist/browser/widgets/Widget.js +3 -2
- package/dist/browser/widgets/Widget.js.map +1 -1
- package/dist/ssr/actions/ContextMenu.js +9 -0
- package/dist/ssr/actions/ContextMenu.js.map +1 -1
- package/dist/ssr/actions/Dropdown.js +14 -4
- package/dist/ssr/actions/Dropdown.js.map +1 -1
- package/dist/ssr/actions/SelectionToolbar.js +104 -0
- package/dist/ssr/actions/SelectionToolbar.js.map +1 -0
- package/dist/ssr/actions/index.js +1 -0
- package/dist/ssr/actions/index.js.map +1 -1
- package/dist/ssr/charts.js +6 -0
- package/dist/ssr/charts.js.map +1 -0
- package/dist/ssr/chat/ChatComposer.js +132 -53
- package/dist/ssr/chat/ChatComposer.js.map +1 -1
- package/dist/ssr/chat/chat-messages.js +4 -0
- package/dist/ssr/chat/chat-messages.js.map +1 -1
- package/dist/ssr/chat/composer-document.js +19 -0
- package/dist/ssr/chat/composer-document.js.map +1 -1
- package/dist/ssr/chat/index.js.map +1 -1
- package/dist/ssr/content/Chart.js +8 -0
- package/dist/ssr/content/Chart.js.map +1 -1
- package/dist/ssr/content/FileGrid.js +132 -5
- package/dist/ssr/content/FileGrid.js.map +1 -1
- package/dist/ssr/content/FileTypeIcon.js +15 -0
- package/dist/ssr/content/FileTypeIcon.js.map +1 -1
- package/dist/ssr/content/FileView.js +11 -4
- package/dist/ssr/content/FileView.js.map +1 -1
- package/dist/ssr/content/MessageRow.js +16 -6
- package/dist/ssr/content/MessageRow.js.map +1 -1
- package/dist/ssr/content/ReactionBar.js +3 -1
- package/dist/ssr/content/ReactionBar.js.map +1 -1
- package/dist/ssr/content/calendar-day-scroll.js +4 -3
- package/dist/ssr/content/calendar-day-scroll.js.map +1 -1
- package/dist/ssr/content/chart-bar.js +476 -0
- package/dist/ssr/content/chart-bar.js.map +1 -0
- package/dist/ssr/content/file-list-messages.js +52 -0
- package/dist/ssr/content/file-list-messages.js.map +1 -0
- package/dist/ssr/content/index.js +1 -1
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/feedback/Tooltip.js +31 -14
- package/dist/ssr/feedback/Tooltip.js.map +1 -1
- package/dist/ssr/inputs/ChoiceList.js +95 -0
- package/dist/ssr/inputs/ChoiceList.js.map +1 -0
- package/dist/ssr/inputs/ChoiceSlider.js +191 -0
- package/dist/ssr/inputs/ChoiceSlider.js.map +1 -0
- package/dist/ssr/inputs/ChoiceTiles.js +61 -0
- package/dist/ssr/inputs/ChoiceTiles.js.map +1 -0
- package/dist/ssr/inputs/ColorChoices.js +60 -0
- package/dist/ssr/inputs/ColorChoices.js.map +1 -0
- package/dist/ssr/inputs/QrScanner.js +89 -10
- package/dist/ssr/inputs/QrScanner.js.map +1 -1
- package/dist/ssr/inputs/TextInput.js +13 -1
- package/dist/ssr/inputs/TextInput.js.map +1 -1
- package/dist/ssr/inputs/index.js +4 -0
- package/dist/ssr/inputs/index.js.map +1 -1
- package/dist/ssr/inputs/qr-messages.js +2 -0
- package/dist/ssr/inputs/qr-messages.js.map +1 -1
- package/dist/ssr/internal/radio-keys.js +13 -0
- package/dist/ssr/internal/radio-keys.js.map +1 -0
- package/dist/ssr/layout/AnchoredPopover.js +142 -0
- package/dist/ssr/layout/AnchoredPopover.js.map +1 -0
- package/dist/ssr/layout/AppWorkspace.js +154 -20
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/DetailPanel.js +181 -108
- package/dist/ssr/layout/DetailPanel.js.map +1 -1
- package/dist/ssr/layout/MobileShell.js +20 -6
- package/dist/ssr/layout/MobileShell.js.map +1 -1
- package/dist/ssr/layout/Settings.js +122 -45
- package/dist/ssr/layout/Settings.js.map +1 -1
- package/dist/ssr/layout/SidebarRailHint.js +79 -0
- package/dist/ssr/layout/SidebarRailHint.js.map +1 -0
- package/dist/ssr/layout/SidebarSwitcher.js +13 -3
- package/dist/ssr/layout/SidebarSwitcher.js.map +1 -1
- package/dist/ssr/layout/TabBar.js +11 -3
- package/dist/ssr/layout/TabBar.js.map +1 -1
- package/dist/ssr/layout/app-workspace-controller.js +11 -4
- package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
- package/dist/ssr/layout/detail-panel-messages.js +4 -2
- package/dist/ssr/layout/detail-panel-messages.js.map +1 -1
- package/dist/ssr/layout/index.js +2 -1
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/layout/settings-messages.js +26 -2
- package/dist/ssr/layout/settings-messages.js.map +1 -1
- package/dist/ssr/surfaces/Avatar.js +2 -14
- package/dist/ssr/surfaces/Avatar.js.map +1 -1
- package/dist/ssr/surfaces/DotStrip.js +31 -0
- package/dist/ssr/surfaces/DotStrip.js.map +1 -0
- package/dist/ssr/surfaces/ProgressRing.js +3 -0
- package/dist/ssr/surfaces/ProgressRing.js.map +1 -1
- package/dist/ssr/surfaces/ResourceCard.js +40 -15
- package/dist/ssr/surfaces/ResourceCard.js.map +1 -1
- package/dist/ssr/surfaces/index.js +2 -0
- package/dist/ssr/surfaces/index.js.map +1 -1
- package/dist/ssr/surfaces/person-color.js +18 -0
- package/dist/ssr/surfaces/person-color.js.map +1 -0
- package/dist/ssr/surfaces/resource-messages.js +6 -2
- package/dist/ssr/surfaces/resource-messages.js.map +1 -1
- package/dist/ssr/widgets/Widget.js +3 -2
- package/dist/ssr/widgets/Widget.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/types/actions/ContextMenu.d.ts +5 -0
- package/dist/types/actions/Dropdown.d.ts +5 -0
- package/dist/types/actions/SelectionToolbar.d.ts +38 -0
- package/dist/types/actions/index.d.ts +2 -0
- package/dist/types/charts.d.ts +5 -0
- package/dist/types/chat/ChatComposer.d.ts +15 -0
- package/dist/types/chat/chat-messages.d.ts +2 -0
- package/dist/types/chat/composer-document.d.ts +5 -0
- package/dist/types/chat/index.d.ts +1 -1
- package/dist/types/content/Chart.d.ts +2 -1
- package/dist/types/content/FileGrid.d.ts +43 -3
- package/dist/types/content/FileTypeIcon.d.ts +10 -0
- package/dist/types/content/FileView.d.ts +5 -1
- package/dist/types/content/MessageRow.d.ts +2 -0
- package/dist/types/content/calendar-day-scroll.d.ts +2 -1
- package/dist/types/content/chart-bar.d.ts +60 -0
- package/dist/types/content/file-list-messages.d.ts +24 -0
- package/dist/types/content/index.d.ts +2 -2
- package/dist/types/feedback/Tooltip.d.ts +8 -2
- package/dist/types/inputs/ChoiceList.d.ts +28 -0
- package/dist/types/inputs/ChoiceSlider.d.ts +36 -0
- package/dist/types/inputs/ChoiceTiles.d.ts +25 -0
- package/dist/types/inputs/ColorChoices.d.ts +19 -0
- package/dist/types/inputs/index.d.ts +8 -0
- package/dist/types/inputs/qr-messages.d.ts +1 -0
- package/dist/types/internal/radio-keys.d.ts +5 -0
- package/dist/types/layout/AnchoredPopover.d.ts +31 -0
- package/dist/types/layout/AppWorkspace.d.ts +10 -0
- package/dist/types/layout/DetailPanel.d.ts +17 -0
- package/dist/types/layout/MobileShell.d.ts +5 -2
- package/dist/types/layout/Settings.d.ts +22 -0
- package/dist/types/layout/SidebarRailHint.d.ts +26 -0
- package/dist/types/layout/TabBar.d.ts +5 -0
- package/dist/types/layout/detail-panel-messages.d.ts +1 -0
- package/dist/types/layout/index.d.ts +3 -2
- package/dist/types/layout/settings-messages.d.ts +12 -0
- package/dist/types/surfaces/DotStrip.d.ts +22 -0
- package/dist/types/surfaces/ProgressRing.d.ts +2 -1
- package/dist/types/surfaces/ResourceCard.d.ts +9 -0
- package/dist/types/surfaces/index.d.ts +4 -1
- package/dist/types/surfaces/person-color.d.ts +10 -0
- package/dist/types/surfaces/resource-messages.d.ts +2 -0
- package/dist/types/widgets/Widget.d.ts +3 -2
- package/package.json +6 -1
|
@@ -38,7 +38,7 @@ var _tmpl$ = /*#__PURE__*/_$template(`<span><strong>`),
|
|
|
38
38
|
_tmpl$21 = /*#__PURE__*/_$template(`<div role=status><i class="ti ti-alert-circle"></i> <!$><!/>`),
|
|
39
39
|
_tmpl$22 = /*#__PURE__*/_$template(`<div role=status>`),
|
|
40
40
|
_tmpl$23 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer-accessory data-commands><!$><!/><div class=k2b-chat-composer__commands role=listbox><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`),
|
|
41
|
-
_tmpl$24 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer-slot><div></div
|
|
41
|
+
_tmpl$24 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer-slot><div></div><!$><!/><!$><!/><!$><!/>`),
|
|
42
42
|
_tmpl$25 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__hint aria-live=polite>`),
|
|
43
43
|
_tmpl$26 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__attachments role=list tabindex=0>`),
|
|
44
44
|
_tmpl$27 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__error role=alert><i class="ti ti-alert-circle"aria-hidden=true></i><!$><!/>`),
|
|
@@ -46,26 +46,27 @@ var _tmpl$ = /*#__PURE__*/_$template(`<span><strong>`),
|
|
|
46
46
|
_tmpl$29 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer-shell><!$><!/><section role=group><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/></section><div class=k2b-sr-only role=status aria-live=polite></div><div class=k2b-chat-composer__status role=status><!$><!/><!$><!/>`),
|
|
47
47
|
_tmpl$30 = /*#__PURE__*/_$template(`<button type=button role=option tabindex=-1><span class=k2b-chat-composer__emoji-glyph aria-hidden=true></span><strong></strong><!$><!/>`),
|
|
48
48
|
_tmpl$31 = /*#__PURE__*/_$template(`<small>:<!$><!/>:`),
|
|
49
|
-
_tmpl$32 = /*#__PURE__*/_$template(`<
|
|
50
|
-
_tmpl$33 = /*#__PURE__*/_$template(`<
|
|
51
|
-
_tmpl$34 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__command-
|
|
52
|
-
_tmpl$35 = /*#__PURE__*/_$template(`<
|
|
53
|
-
_tmpl$36 = /*#__PURE__*/_$template(`<span class=k2b-chat-
|
|
54
|
-
_tmpl$37 = /*#__PURE__*/_$template(`<
|
|
55
|
-
_tmpl$38 = /*#__PURE__*/_$template(`<
|
|
56
|
-
_tmpl$39 = /*#__PURE__*/_$template(`<div class=k2b-
|
|
57
|
-
_tmpl$40 = /*#__PURE__*/_$template(`<
|
|
58
|
-
_tmpl$41 = /*#__PURE__*/_$template(`<button type=button class=k2b-
|
|
59
|
-
_tmpl$42 = /*#__PURE__*/_$template(`<
|
|
60
|
-
_tmpl$43 = /*#__PURE__*/_$template(`<
|
|
61
|
-
_tmpl$44 = /*#__PURE__*/_$template(`<
|
|
62
|
-
_tmpl$45 = /*#__PURE__*/_$template(`<
|
|
63
|
-
_tmpl$46 = /*#__PURE__*/_$template(`<
|
|
64
|
-
_tmpl$47 = /*#__PURE__*/_$template(`<
|
|
65
|
-
_tmpl$48 = /*#__PURE__*/_$template(`<
|
|
66
|
-
_tmpl$49 = /*#__PURE__*/_$template(`<div class=k2b-chat-
|
|
67
|
-
_tmpl$50 = /*#__PURE__*/_$template(`<div class=k2b-chat-
|
|
68
|
-
_tmpl$51 = /*#__PURE__*/_$template(`<
|
|
49
|
+
_tmpl$32 = /*#__PURE__*/_$template(`<button type=button role=option tabindex=-1><i aria-hidden=true></i><strong></strong><!$><!/>`),
|
|
50
|
+
_tmpl$33 = /*#__PURE__*/_$template(`<i class="ti ti-loader-2 k2b-spin"aria-hidden=true>`),
|
|
51
|
+
_tmpl$34 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__command-group role=group><div class=k2b-chat-composer__command-heading role=presentation><span></span><!$><!/></div><!$><!/><!$><!/>`),
|
|
52
|
+
_tmpl$35 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__command-placeholder aria-hidden=true><span></span><span><span></span><span>`),
|
|
53
|
+
_tmpl$36 = /*#__PURE__*/_$template(`<span class=k2b-chat-composer__hint-text>`),
|
|
54
|
+
_tmpl$37 = /*#__PURE__*/_$template(`<span class=k2b-chat-composer__dictation><i aria-hidden=true></i><span>`),
|
|
55
|
+
_tmpl$38 = /*#__PURE__*/_$template(`<button type=button class=k2b-chat-composer__hint-action>`),
|
|
56
|
+
_tmpl$39 = /*#__PURE__*/_$template(`<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>`),
|
|
57
|
+
_tmpl$40 = /*#__PURE__*/_$template(`<div class=k2b-message-row__quote>`),
|
|
58
|
+
_tmpl$41 = /*#__PURE__*/_$template(`<button type=button class=k2b-message-row__quote>`),
|
|
59
|
+
_tmpl$42 = /*#__PURE__*/_$template(`<button type=button class=k2b-chat-composer__attachment-remove><i class="ti ti-x"aria-hidden=true>`),
|
|
60
|
+
_tmpl$43 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__attachment role=listitem><div class=k2b-chat-composer__attachment-content><!$><!/><!$><!/></div><!$><!/>`),
|
|
61
|
+
_tmpl$44 = /*#__PURE__*/_$template(`<img>`),
|
|
62
|
+
_tmpl$45 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__attachment-identity><!$><!/><!$><!/>`),
|
|
63
|
+
_tmpl$46 = /*#__PURE__*/_$template(`<a class=k2b-chat-composer__attachment-link target=_blank rel="noopener noreferrer"><!$><!/><!$><!/>`),
|
|
64
|
+
_tmpl$47 = /*#__PURE__*/_$template(`<button type=button class=k2b-chat-composer__attachment-action><!$><!/><!$><!/>`),
|
|
65
|
+
_tmpl$48 = /*#__PURE__*/_$template(`<footer class=k2b-chat-composer__footer>`),
|
|
66
|
+
_tmpl$49 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__tools><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`),
|
|
67
|
+
_tmpl$50 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__submit><!$><!/><!$><!/><!$><!/><!$><!/><!$><!/>`),
|
|
68
|
+
_tmpl$51 = /*#__PURE__*/_$template(`<div class=k2b-chat-composer__status-line><i aria-hidden=true></i><span>`),
|
|
69
|
+
_tmpl$52 = /*#__PURE__*/_$template(`<span class=k2b-sr-only>`);
|
|
69
70
|
import { batch, children, createEffect, createMemo, createSignal, createUniqueId, For, Index, on, onCleanup, onMount, Show, untrack } from "solid-js";
|
|
70
71
|
import { Dropdown } from "../actions/Dropdown";
|
|
71
72
|
import { dialogHistorySettled, holdDialogHistory } from "../feedback/dialog-core";
|
|
@@ -84,7 +85,7 @@ import { ChatContextUsage as ContextUsage } from "./ChatPrimitives";
|
|
|
84
85
|
import { chatCommandKey, conversationEnterAction, executeChatAction, nextChatCommandIndex, reportChatFailure, runChatSubmission } from "./chat-behavior";
|
|
85
86
|
import { useChatMessages } from "./chat-messages";
|
|
86
87
|
import { chatCommandListModel, parseChatCommandQuery } from "./command-search";
|
|
87
|
-
import { chatCommandQuery, chatMentionSegments, reconcileChatMentions } from "./composer-document";
|
|
88
|
+
import { chatCommandQuery, chatMentionSegments, chatPeopleQuery, reconcileChatMentions } from "./composer-document";
|
|
88
89
|
const composerMaxInputHeight = 309;
|
|
89
90
|
const commandDoneMs = 3_000;
|
|
90
91
|
/** Emoji suggestions for a `:shortcode`, as many as fit the list without scrolling on a phone. */
|
|
@@ -110,6 +111,10 @@ const composerUndoBudgetChars = 1_000_000;
|
|
|
110
111
|
|
|
111
112
|
/** Passed as the third argument to `searchCommands`. */
|
|
112
113
|
|
|
114
|
+
/** A person `@` can mention: a member of the conversation, a person or an agent. */
|
|
115
|
+
|
|
116
|
+
/** Suggests people for `@`; the composer inserts the chosen one as a mention named "@Name". */
|
|
117
|
+
|
|
113
118
|
/** The row stays short: what a chat message needs. Other Markdown, typed by hand, keeps working. */
|
|
114
119
|
const formatTools = [{
|
|
115
120
|
id: "bold",
|
|
@@ -307,6 +312,32 @@ export function ChatComposer(props) {
|
|
|
307
312
|
return token && index ? suggestEmoji(index, token.query, emojiSuggestionLimit) : [];
|
|
308
313
|
});
|
|
309
314
|
const emojiOpen = () => emojiMatches().length > 0;
|
|
315
|
+
// People for `@name`: each change of the query asks again and gives up the previous question.
|
|
316
|
+
const peopleQuery = createMemo(() => !props.people || dismissed() || composing() ? null : chatPeopleQuery(props.value, caret(), selectionEnd(), mentions()));
|
|
317
|
+
// Results belong to the query they answer; while a newer query is asked, the older results show nothing to pick.
|
|
318
|
+
const [peopleResults, setPeopleResults] = createSignal();
|
|
319
|
+
const peopleMatches = () => {
|
|
320
|
+
const results = peopleResults();
|
|
321
|
+
return results && results.query === peopleQuery()?.query ? results.people : [];
|
|
322
|
+
};
|
|
323
|
+
const setPeopleMatches = (people, query = peopleQuery()?.query ?? "") => setPeopleResults({
|
|
324
|
+
query,
|
|
325
|
+
people
|
|
326
|
+
});
|
|
327
|
+
createEffect(on(() => [peopleQuery()?.start, peopleQuery()?.query], ([start, query]) => {
|
|
328
|
+
if (start === undefined || query === undefined || !props.people) {
|
|
329
|
+
setPeopleMatches([]);
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
const abort = new AbortController();
|
|
333
|
+
onCleanup(() => abort.abort());
|
|
334
|
+
props.people.search(query, abort.signal).then(found => {
|
|
335
|
+
if (!abort.signal.aborted) setPeopleMatches(found.slice(0, 8), query);
|
|
336
|
+
}, () => {
|
|
337
|
+
if (!abort.signal.aborted) setPeopleMatches([], query);
|
|
338
|
+
});
|
|
339
|
+
}));
|
|
340
|
+
const peopleOpen = () => !emojiOpen() && Boolean(peopleQuery()) && peopleMatches().length > 0;
|
|
310
341
|
// From "+", the search field's text is the query of an empty token at the field's stored caret.
|
|
311
342
|
const caretCommandToken = createMemo(() => {
|
|
312
343
|
const search = addSearch();
|
|
@@ -401,7 +432,7 @@ export function ChatComposer(props) {
|
|
|
401
432
|
currentCommandQuery();
|
|
402
433
|
setCommandMoved(false);
|
|
403
434
|
});
|
|
404
|
-
const commandsOpen = () => Boolean(!emojiOpen() && commandQuery() && (localCommands().length || props.searchCommands || commandFallbackRow()));
|
|
435
|
+
const commandsOpen = () => Boolean(!emojiOpen() && !peopleOpen() && commandQuery() && (localCommands().length || props.searchCommands || commandFallbackRow()));
|
|
405
436
|
// Rows that arrive for a pending section never move a visible row of the overview: until the person types, the list
|
|
406
437
|
// keeps the height it had with its placeholders and scrolls what does not fit. A list below its maximum height grows
|
|
407
438
|
// upward from the field, so a change of height alone would move its first row. While searching, the rows arrive
|
|
@@ -471,7 +502,7 @@ export function ChatComposer(props) {
|
|
|
471
502
|
if (!commandSheetHeld()) return;
|
|
472
503
|
onCleanup(holdDialogHistory(() => closeCommandList()));
|
|
473
504
|
});
|
|
474
|
-
const suggestionsOpen = () => commandsOpen() || emojiOpen();
|
|
505
|
+
const suggestionsOpen = () => commandsOpen() || emojiOpen() || peopleOpen();
|
|
475
506
|
const fieldOwnsList = () => suggestionsOpen() && !addSearch();
|
|
476
507
|
// From "+", the panel keeps the height it opened with while the person types or rows arrive, so neither the search
|
|
477
508
|
// field nor the first row moves; what does not fit scrolls. The space above the field still bounds it.
|
|
@@ -786,7 +817,7 @@ export function ChatComposer(props) {
|
|
|
786
817
|
const editBlocked = () => conversation() ? busy() : blocked();
|
|
787
818
|
const hasDraft = () => Boolean(props.value.trim() || !running() && attachments().length > 0);
|
|
788
819
|
/** The draft may go out now, apart from a submission that is already on its way. */
|
|
789
|
-
const submittable = () => !busy() && hasDraft() && !(running() && runningSubmitIntent() === "steer" && mentions().length);
|
|
820
|
+
const submittable = () => !busy() && !props.submitDisabled && hasDraft() && !(running() && runningSubmitIntent() === "steer" && mentions().length);
|
|
790
821
|
const canSubmit = () => !submitting() && submittable();
|
|
791
822
|
const canSelectFiles = () => Boolean(props.fileSelection && !props.fileSelection.disabled && !running() && !blocked());
|
|
792
823
|
const hasAddMenu = () => Boolean(props.fileSelection || props.menuActions?.length);
|
|
@@ -856,11 +887,12 @@ export function ChatComposer(props) {
|
|
|
856
887
|
});
|
|
857
888
|
createEffect(() => {
|
|
858
889
|
emojiMatches();
|
|
890
|
+
peopleMatches();
|
|
859
891
|
setSelectedCommandIndex(0);
|
|
860
892
|
});
|
|
861
893
|
createEffect(() => {
|
|
862
894
|
const command = selectedCommand();
|
|
863
|
-
const id = emojiOpen() ? `${commandListId}-${selectedCommandIndex()}` : command ? commandOptionId(command) : undefined;
|
|
895
|
+
const id = emojiOpen() || peopleOpen() ? `${commandListId}-${selectedCommandIndex()}` : command ? commandOptionId(command) : undefined;
|
|
864
896
|
queueMicrotask(() => {
|
|
865
897
|
const list = commandListRef;
|
|
866
898
|
const item = id ? list?.querySelector(`[id="${id}"]`) : undefined;
|
|
@@ -1313,6 +1345,32 @@ export function ChatComposer(props) {
|
|
|
1313
1345
|
syncCaret();
|
|
1314
1346
|
reportChatFailure(() => props.emoji?.onPick?.(emoji), props.onError);
|
|
1315
1347
|
};
|
|
1348
|
+
/** Replaces `@query` with "@Name" as a mention and a space, as one edit the person can undo. */
|
|
1349
|
+
const pickPersonSuggestion = position => {
|
|
1350
|
+
const token = peopleQuery();
|
|
1351
|
+
const person = peopleMatches()[position];
|
|
1352
|
+
if (!token || !person || !textareaRef || editBlocked()) return;
|
|
1353
|
+
const text = `@${person.name}`;
|
|
1354
|
+
const nextValue = `${props.value.slice(0, token.start)}${text} ${props.value.slice(token.end)}`;
|
|
1355
|
+
const nextMentions = reconcileChatMentions(props.value, nextValue, mentions());
|
|
1356
|
+
nextMentions.push({
|
|
1357
|
+
start: token.start,
|
|
1358
|
+
end: token.start + text.length,
|
|
1359
|
+
attachment: {
|
|
1360
|
+
id: person.id,
|
|
1361
|
+
name: text,
|
|
1362
|
+
kind: "resource",
|
|
1363
|
+
icon: person.agent ? "ti ti-robot" : "ti ti-user"
|
|
1364
|
+
}
|
|
1365
|
+
});
|
|
1366
|
+
edit(nextValue, nextMentions);
|
|
1367
|
+
setPeopleMatches([]);
|
|
1368
|
+
const after = token.start + text.length + 1;
|
|
1369
|
+
queueMicrotask(() => {
|
|
1370
|
+
textareaRef?.setSelectionRange(after, after);
|
|
1371
|
+
syncCaret();
|
|
1372
|
+
});
|
|
1373
|
+
};
|
|
1316
1374
|
const pickEmojiSuggestion = position => {
|
|
1317
1375
|
const token = emojiQuery();
|
|
1318
1376
|
const entry = emojiMatches()[position];
|
|
@@ -1411,17 +1469,18 @@ export function ChatComposer(props) {
|
|
|
1411
1469
|
restoreHistory(event.shiftKey ? 1 : -1);
|
|
1412
1470
|
return;
|
|
1413
1471
|
}
|
|
1414
|
-
if (emojiOpen()) {
|
|
1472
|
+
if (emojiOpen() || peopleOpen()) {
|
|
1473
|
+
const count = emojiOpen() ? emojiMatches().length : peopleMatches().length;
|
|
1415
1474
|
if (event.key === "ArrowUp" || event.key === "ArrowDown") {
|
|
1416
1475
|
event.preventDefault();
|
|
1417
|
-
setSelectedCommandIndex(index => nextChatCommandIndex(index,
|
|
1476
|
+
setSelectedCommandIndex(index => nextChatCommandIndex(index, count, event.key === "ArrowUp" ? -1 : 1));
|
|
1418
1477
|
return;
|
|
1419
1478
|
}
|
|
1420
1479
|
// Only a plain Enter or Tab picks: Shift+Enter still breaks the line, Shift+Tab still moves the focus back.
|
|
1421
1480
|
const plain = !event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey;
|
|
1422
1481
|
if (plain && (event.key === "Enter" || event.key === "Tab")) {
|
|
1423
1482
|
event.preventDefault();
|
|
1424
|
-
pickEmojiSuggestion(selectedCommandIndex());
|
|
1483
|
+
if (emojiOpen()) pickEmojiSuggestion(selectedCommandIndex());else pickPersonSuggestion(selectedCommandIndex());
|
|
1425
1484
|
return;
|
|
1426
1485
|
}
|
|
1427
1486
|
if (event.key === "Escape") {
|
|
@@ -2022,7 +2081,7 @@ export function ChatComposer(props) {
|
|
|
2022
2081
|
_v$1 = fieldOwnsList() ? "list" : undefined,
|
|
2023
2082
|
_v$10 = fieldOwnsList() ? commandListId : undefined,
|
|
2024
2083
|
_v$11 = fieldOwnsList() ? "true" : undefined,
|
|
2025
|
-
_v$12 = !fieldOwnsList() ? undefined : emojiOpen() ? `${commandListId}-${selectedCommandIndex()}` : selectedCommand() ? commandOptionId(selectedCommand()) : undefined;
|
|
2084
|
+
_v$12 = !fieldOwnsList() ? undefined : emojiOpen() || peopleOpen() ? `${commandListId}-${selectedCommandIndex()}` : selectedCommand() ? commandOptionId(selectedCommand()) : undefined;
|
|
2026
2085
|
_v$3 !== _p$.e && _$setAttribute(_el$18, "aria-label", _p$.e = _v$3);
|
|
2027
2086
|
_v$4 !== _p$.t && _el$23.classList.toggle("k2b-chat-composer__textarea--highlighted", _p$.t = _v$4);
|
|
2028
2087
|
_v$5 !== _p$.a && _$setProperty(_el$23, "disabled", _p$.a = _v$5);
|
|
@@ -2192,25 +2251,25 @@ export function ChatComposer(props) {
|
|
|
2192
2251
|
})()];
|
|
2193
2252
|
return (() => {
|
|
2194
2253
|
var _el$57 = _$getNextElement(_tmpl$29),
|
|
2195
|
-
_el$
|
|
2196
|
-
[_el$
|
|
2197
|
-
_el$
|
|
2198
|
-
_el$
|
|
2199
|
-
[_el$
|
|
2200
|
-
_el$118 = _el$117.nextSibling,
|
|
2201
|
-
[_el$119, _co$27] = _$getNextMarker(_el$118.nextSibling),
|
|
2202
|
-
_el$120 = _el$119.nextSibling,
|
|
2203
|
-
[_el$121, _co$28] = _$getNextMarker(_el$120.nextSibling),
|
|
2254
|
+
_el$136 = _el$57.firstChild,
|
|
2255
|
+
[_el$137, _co$34] = _$getNextMarker(_el$136.nextSibling),
|
|
2256
|
+
_el$96 = _el$137.nextSibling,
|
|
2257
|
+
_el$120 = _el$96.firstChild,
|
|
2258
|
+
[_el$121, _co$27] = _$getNextMarker(_el$120.nextSibling),
|
|
2204
2259
|
_el$122 = _el$121.nextSibling,
|
|
2205
|
-
[_el$123, _co$
|
|
2260
|
+
[_el$123, _co$28] = _$getNextMarker(_el$122.nextSibling),
|
|
2206
2261
|
_el$124 = _el$123.nextSibling,
|
|
2207
|
-
[_el$125, _co$
|
|
2208
|
-
_el$126 = _el$
|
|
2209
|
-
_el$127 = _el$126.nextSibling,
|
|
2210
|
-
_el$128 = _el$127.
|
|
2262
|
+
[_el$125, _co$29] = _$getNextMarker(_el$124.nextSibling),
|
|
2263
|
+
_el$126 = _el$125.nextSibling,
|
|
2264
|
+
[_el$127, _co$30] = _$getNextMarker(_el$126.nextSibling),
|
|
2265
|
+
_el$128 = _el$127.nextSibling,
|
|
2211
2266
|
[_el$129, _co$31] = _$getNextMarker(_el$128.nextSibling),
|
|
2212
|
-
_el$130 = _el$
|
|
2213
|
-
|
|
2267
|
+
_el$130 = _el$96.nextSibling,
|
|
2268
|
+
_el$131 = _el$130.nextSibling,
|
|
2269
|
+
_el$132 = _el$131.firstChild,
|
|
2270
|
+
[_el$133, _co$32] = _$getNextMarker(_el$132.nextSibling),
|
|
2271
|
+
_el$134 = _el$133.nextSibling,
|
|
2272
|
+
[_el$135, _co$33] = _$getNextMarker(_el$134.nextSibling);
|
|
2214
2273
|
var _ref$7 = shellRef;
|
|
2215
2274
|
typeof _ref$7 === "function" ? _$use(_ref$7, _el$57) : shellRef = _el$57;
|
|
2216
2275
|
_$insert(_el$57, _$createComponent(Show, {
|
|
@@ -2220,10 +2279,12 @@ export function ChatComposer(props) {
|
|
|
2220
2279
|
get children() {
|
|
2221
2280
|
var _el$58 = _$getNextElement(_tmpl$24),
|
|
2222
2281
|
_el$59 = _el$58.firstChild,
|
|
2223
|
-
_el$
|
|
2224
|
-
[_el$
|
|
2225
|
-
_el$
|
|
2226
|
-
[_el$
|
|
2282
|
+
_el$90 = _el$59.nextSibling,
|
|
2283
|
+
[_el$91, _co$16] = _$getNextMarker(_el$90.nextSibling),
|
|
2284
|
+
_el$92 = _el$91.nextSibling,
|
|
2285
|
+
[_el$93, _co$17] = _$getNextMarker(_el$92.nextSibling),
|
|
2286
|
+
_el$94 = _el$93.nextSibling,
|
|
2287
|
+
[_el$95, _co$18] = _$getNextMarker(_el$94.nextSibling);
|
|
2227
2288
|
_$insert(_el$59, accessory);
|
|
2228
2289
|
_$insert(_el$58, _$createComponent(Show, {
|
|
2229
2290
|
get when() {
|
|
@@ -2240,38 +2301,38 @@ export function ChatComposer(props) {
|
|
|
2240
2301
|
return emojiMatches();
|
|
2241
2302
|
},
|
|
2242
2303
|
children: (entry, index) => (() => {
|
|
2243
|
-
var _el$
|
|
2244
|
-
_el$
|
|
2245
|
-
_el$
|
|
2246
|
-
_el$
|
|
2247
|
-
[_el$
|
|
2248
|
-
_el$
|
|
2249
|
-
_el$
|
|
2250
|
-
_$insert(_el$
|
|
2251
|
-
_$insert(_el$
|
|
2252
|
-
_$insert(_el$
|
|
2304
|
+
var _el$138 = _$getNextElement(_tmpl$30),
|
|
2305
|
+
_el$139 = _el$138.firstChild,
|
|
2306
|
+
_el$140 = _el$139.nextSibling,
|
|
2307
|
+
_el$141 = _el$140.nextSibling,
|
|
2308
|
+
[_el$142, _co$35] = _$getNextMarker(_el$141.nextSibling);
|
|
2309
|
+
_el$138.$$click = () => pickEmojiSuggestion(index());
|
|
2310
|
+
_el$138.$$mousedown = keepFieldFocus;
|
|
2311
|
+
_$insert(_el$139, () => emojiInTone(entry, props.emoji?.skinTone ?? 0));
|
|
2312
|
+
_$insert(_el$140, () => emojiName(entry, locale()));
|
|
2313
|
+
_$insert(_el$138, _$createComponent(Show, {
|
|
2253
2314
|
get when() {
|
|
2254
2315
|
return entry.shortcodes[0];
|
|
2255
2316
|
},
|
|
2256
2317
|
children: code => (() => {
|
|
2257
|
-
var _el$
|
|
2258
|
-
_el$
|
|
2259
|
-
_el$
|
|
2260
|
-
[_el$
|
|
2261
|
-
_el$
|
|
2262
|
-
_$insert(_el$
|
|
2263
|
-
return _el$
|
|
2318
|
+
var _el$143 = _$getNextElement(_tmpl$31),
|
|
2319
|
+
_el$144 = _el$143.firstChild,
|
|
2320
|
+
_el$146 = _el$144.nextSibling,
|
|
2321
|
+
[_el$147, _co$36] = _$getNextMarker(_el$146.nextSibling),
|
|
2322
|
+
_el$145 = _el$147.nextSibling;
|
|
2323
|
+
_$insert(_el$143, code, _el$147, _co$36);
|
|
2324
|
+
return _el$143;
|
|
2264
2325
|
})()
|
|
2265
|
-
}), _el$
|
|
2326
|
+
}), _el$142, _co$35);
|
|
2266
2327
|
_$effect(_p$ => {
|
|
2267
2328
|
var _v$38 = `${commandListId}-${index()}`,
|
|
2268
2329
|
_v$39 = index() === selectedCommandIndex(),
|
|
2269
2330
|
_v$40 = emojiName(entry, locale()),
|
|
2270
2331
|
_v$41 = index() === selectedCommandIndex() ? "true" : undefined;
|
|
2271
|
-
_v$38 !== _p$.e && _$setAttribute(_el$
|
|
2272
|
-
_v$39 !== _p$.t && _$setAttribute(_el$
|
|
2273
|
-
_v$40 !== _p$.a && _$setAttribute(_el$
|
|
2274
|
-
_v$41 !== _p$.o && _$setAttribute(_el$
|
|
2332
|
+
_v$38 !== _p$.e && _$setAttribute(_el$138, "id", _p$.e = _v$38);
|
|
2333
|
+
_v$39 !== _p$.t && _$setAttribute(_el$138, "aria-selected", _p$.t = _v$39);
|
|
2334
|
+
_v$40 !== _p$.a && _$setAttribute(_el$138, "aria-label", _p$.a = _v$40);
|
|
2335
|
+
_v$41 !== _p$.o && _$setAttribute(_el$138, "data-active", _p$.o = _v$41);
|
|
2275
2336
|
return _p$;
|
|
2276
2337
|
}, {
|
|
2277
2338
|
e: undefined,
|
|
@@ -2280,44 +2341,101 @@ export function ChatComposer(props) {
|
|
|
2280
2341
|
o: undefined
|
|
2281
2342
|
});
|
|
2282
2343
|
_$runHydrationEvents();
|
|
2283
|
-
return _el$
|
|
2344
|
+
return _el$138;
|
|
2284
2345
|
})()
|
|
2285
2346
|
}));
|
|
2286
2347
|
_$effect(() => _$setAttribute(_el$61, "aria-label", chatMessages().emojiSuggestions));
|
|
2287
2348
|
return _el$60;
|
|
2288
2349
|
}
|
|
2289
|
-
}), _el$
|
|
2350
|
+
}), _el$91, _co$16);
|
|
2351
|
+
_$insert(_el$58, _$createComponent(Show, {
|
|
2352
|
+
get when() {
|
|
2353
|
+
return peopleOpen();
|
|
2354
|
+
},
|
|
2355
|
+
get children() {
|
|
2356
|
+
var _el$62 = _$getNextElement(_tmpl$18),
|
|
2357
|
+
_el$63 = _el$62.firstChild;
|
|
2358
|
+
var _ref$9 = commandListRef;
|
|
2359
|
+
typeof _ref$9 === "function" ? _$use(_ref$9, _el$63) : commandListRef = _el$63;
|
|
2360
|
+
_$setAttribute(_el$63, "id", commandListId);
|
|
2361
|
+
_$insert(_el$63, _$createComponent(For, {
|
|
2362
|
+
get each() {
|
|
2363
|
+
return peopleMatches();
|
|
2364
|
+
},
|
|
2365
|
+
children: (person, index) => (() => {
|
|
2366
|
+
var _el$148 = _$getNextElement(_tmpl$32),
|
|
2367
|
+
_el$149 = _el$148.firstChild,
|
|
2368
|
+
_el$150 = _el$149.nextSibling,
|
|
2369
|
+
_el$152 = _el$150.nextSibling,
|
|
2370
|
+
[_el$153, _co$37] = _$getNextMarker(_el$152.nextSibling);
|
|
2371
|
+
_el$148.$$click = () => pickPersonSuggestion(index());
|
|
2372
|
+
_el$148.$$mousedown = keepFieldFocus;
|
|
2373
|
+
_$insert(_el$150, () => person.name);
|
|
2374
|
+
_$insert(_el$148, _$createComponent(Show, {
|
|
2375
|
+
get when() {
|
|
2376
|
+
return person.agent;
|
|
2377
|
+
},
|
|
2378
|
+
get children() {
|
|
2379
|
+
var _el$151 = _$getNextElement(_tmpl$15);
|
|
2380
|
+
_$insert(_el$151, () => chatMessages().agentLabel);
|
|
2381
|
+
return _el$151;
|
|
2382
|
+
}
|
|
2383
|
+
}), _el$153, _co$37);
|
|
2384
|
+
_$effect(_p$ => {
|
|
2385
|
+
var _v$42 = `${commandListId}-${index()}`,
|
|
2386
|
+
_v$43 = index() === selectedCommandIndex(),
|
|
2387
|
+
_v$44 = index() === selectedCommandIndex() ? "true" : undefined,
|
|
2388
|
+
_v$45 = person.agent ? "ti ti-robot" : "ti ti-user";
|
|
2389
|
+
_v$42 !== _p$.e && _$setAttribute(_el$148, "id", _p$.e = _v$42);
|
|
2390
|
+
_v$43 !== _p$.t && _$setAttribute(_el$148, "aria-selected", _p$.t = _v$43);
|
|
2391
|
+
_v$44 !== _p$.a && _$setAttribute(_el$148, "data-active", _p$.a = _v$44);
|
|
2392
|
+
_v$45 !== _p$.o && _$className(_el$149, _p$.o = _v$45);
|
|
2393
|
+
return _p$;
|
|
2394
|
+
}, {
|
|
2395
|
+
e: undefined,
|
|
2396
|
+
t: undefined,
|
|
2397
|
+
a: undefined,
|
|
2398
|
+
o: undefined
|
|
2399
|
+
});
|
|
2400
|
+
_$runHydrationEvents();
|
|
2401
|
+
return _el$148;
|
|
2402
|
+
})()
|
|
2403
|
+
}));
|
|
2404
|
+
_$effect(() => _$setAttribute(_el$63, "aria-label", chatMessages().peopleSuggestions));
|
|
2405
|
+
return _el$62;
|
|
2406
|
+
}
|
|
2407
|
+
}), _el$93, _co$17);
|
|
2290
2408
|
_$insert(_el$58, _$createComponent(Show, {
|
|
2291
2409
|
get when() {
|
|
2292
2410
|
return commandsOpen();
|
|
2293
2411
|
},
|
|
2294
2412
|
get children() {
|
|
2295
|
-
var _el$
|
|
2296
|
-
_el$
|
|
2297
|
-
[_el$
|
|
2298
|
-
_el$
|
|
2299
|
-
_el$
|
|
2300
|
-
[_el$
|
|
2301
|
-
_el$78 = _el$77.nextSibling,
|
|
2302
|
-
[_el$79, _co$11] = _$getNextMarker(_el$78.nextSibling),
|
|
2413
|
+
var _el$64 = _$getNextElement(_tmpl$23),
|
|
2414
|
+
_el$88 = _el$64.firstChild,
|
|
2415
|
+
[_el$89, _co$15] = _$getNextMarker(_el$88.nextSibling),
|
|
2416
|
+
_el$68 = _el$89.nextSibling,
|
|
2417
|
+
_el$78 = _el$68.firstChild,
|
|
2418
|
+
[_el$79, _co$10] = _$getNextMarker(_el$78.nextSibling),
|
|
2303
2419
|
_el$80 = _el$79.nextSibling,
|
|
2304
|
-
[_el$81, _co$
|
|
2420
|
+
[_el$81, _co$11] = _$getNextMarker(_el$80.nextSibling),
|
|
2305
2421
|
_el$82 = _el$81.nextSibling,
|
|
2306
|
-
[_el$83, _co$
|
|
2422
|
+
[_el$83, _co$12] = _$getNextMarker(_el$82.nextSibling),
|
|
2307
2423
|
_el$84 = _el$83.nextSibling,
|
|
2308
|
-
[_el$85, _co$
|
|
2309
|
-
|
|
2424
|
+
[_el$85, _co$13] = _$getNextMarker(_el$84.nextSibling),
|
|
2425
|
+
_el$86 = _el$85.nextSibling,
|
|
2426
|
+
[_el$87, _co$14] = _$getNextMarker(_el$86.nextSibling);
|
|
2427
|
+
_el$64.$$mousedown = event => {
|
|
2310
2428
|
if (addSearch() && event.target !== addSearchRef) event.preventDefault();
|
|
2311
2429
|
};
|
|
2312
|
-
_$insert(_el$
|
|
2430
|
+
_$insert(_el$64, _$createComponent(Show, {
|
|
2313
2431
|
get when() {
|
|
2314
2432
|
return addSearch();
|
|
2315
2433
|
},
|
|
2316
2434
|
get children() {
|
|
2317
|
-
var _el$
|
|
2318
|
-
_el$
|
|
2319
|
-
_el$
|
|
2320
|
-
_el$
|
|
2435
|
+
var _el$65 = _$getNextElement(_tmpl$19),
|
|
2436
|
+
_el$66 = _el$65.firstChild,
|
|
2437
|
+
_el$67 = _el$66.nextSibling;
|
|
2438
|
+
_el$67.$$focusout = event => {
|
|
2321
2439
|
const next = event.relatedTarget;
|
|
2322
2440
|
if (next instanceof Node && commandListRef?.parentElement?.contains(next)) return;
|
|
2323
2441
|
// Focus that leaves another way, such as with Shift+Tab, closes the list and stays where it went.
|
|
@@ -2325,27 +2443,27 @@ export function ChatComposer(props) {
|
|
|
2325
2443
|
if (addSearch() && document.activeElement !== addSearchRef) endAddSearch(false);
|
|
2326
2444
|
});
|
|
2327
2445
|
};
|
|
2328
|
-
_el$
|
|
2446
|
+
_el$67.addEventListener("compositionend", () => {
|
|
2329
2447
|
addComposing = false;
|
|
2330
2448
|
});
|
|
2331
|
-
_el$
|
|
2449
|
+
_el$67.addEventListener("compositionstart", () => {
|
|
2332
2450
|
addComposing = true;
|
|
2333
2451
|
});
|
|
2334
|
-
_el$
|
|
2335
|
-
_el$
|
|
2336
|
-
var _ref$
|
|
2337
|
-
typeof _ref$
|
|
2338
|
-
_$setAttribute(_el$
|
|
2339
|
-
_$setAttribute(_el$
|
|
2452
|
+
_el$67.$$keydown = onAddSearchKeyDown;
|
|
2453
|
+
_el$67.$$input = event => setAddQuery(event.currentTarget.value);
|
|
2454
|
+
var _ref$0 = addSearchRef;
|
|
2455
|
+
typeof _ref$0 === "function" ? _$use(_ref$0, _el$67) : addSearchRef = _el$67;
|
|
2456
|
+
_$setAttribute(_el$67, "aria-controls", commandListId);
|
|
2457
|
+
_$setAttribute(_el$67, "spellcheck", false);
|
|
2340
2458
|
_$effect(_p$ => {
|
|
2341
2459
|
var _v$24 = chatMessages().commandSearch,
|
|
2342
2460
|
_v$25 = chatMessages().commandSearchLabel,
|
|
2343
2461
|
_v$26 = selectedCommand() ? commandOptionId(selectedCommand()) : undefined,
|
|
2344
2462
|
_v$27 = openingRow() !== undefined;
|
|
2345
|
-
_v$24 !== _p$.e && _$setAttribute(_el$
|
|
2346
|
-
_v$25 !== _p$.t && _$setAttribute(_el$
|
|
2347
|
-
_v$26 !== _p$.a && _$setAttribute(_el$
|
|
2348
|
-
_v$27 !== _p$.o && _$setProperty(_el$
|
|
2463
|
+
_v$24 !== _p$.e && _$setAttribute(_el$67, "placeholder", _p$.e = _v$24);
|
|
2464
|
+
_v$25 !== _p$.t && _$setAttribute(_el$67, "aria-label", _p$.t = _v$25);
|
|
2465
|
+
_v$26 !== _p$.a && _$setAttribute(_el$67, "aria-activedescendant", _p$.a = _v$26);
|
|
2466
|
+
_v$27 !== _p$.o && _$setProperty(_el$67, "readOnly", _p$.o = _v$27);
|
|
2349
2467
|
return _p$;
|
|
2350
2468
|
}, {
|
|
2351
2469
|
e: undefined,
|
|
@@ -2353,15 +2471,15 @@ export function ChatComposer(props) {
|
|
|
2353
2471
|
a: undefined,
|
|
2354
2472
|
o: undefined
|
|
2355
2473
|
});
|
|
2356
|
-
_$effect(() => _$setProperty(_el$
|
|
2474
|
+
_$effect(() => _$setProperty(_el$67, "value", addQuery()));
|
|
2357
2475
|
_$runHydrationEvents();
|
|
2358
|
-
return _el$
|
|
2476
|
+
return _el$65;
|
|
2359
2477
|
}
|
|
2360
|
-
}), _el$
|
|
2361
|
-
var _ref$
|
|
2362
|
-
typeof _ref$
|
|
2363
|
-
_$setAttribute(_el$
|
|
2364
|
-
_$insert(_el$
|
|
2478
|
+
}), _el$89, _co$15);
|
|
2479
|
+
var _ref$1 = commandListRef;
|
|
2480
|
+
typeof _ref$1 === "function" ? _$use(_ref$1, _el$68) : commandListRef = _el$68;
|
|
2481
|
+
_$setAttribute(_el$68, "id", commandListId);
|
|
2482
|
+
_$insert(_el$68, _$createComponent(For, {
|
|
2365
2483
|
get each() {
|
|
2366
2484
|
return commandModel().groups.map(commandGroupKey);
|
|
2367
2485
|
},
|
|
@@ -2380,108 +2498,108 @@ export function ChatComposer(props) {
|
|
|
2380
2498
|
});
|
|
2381
2499
|
},
|
|
2382
2500
|
get children() {
|
|
2383
|
-
var _el$
|
|
2384
|
-
_el$
|
|
2385
|
-
_el$
|
|
2386
|
-
_el$
|
|
2387
|
-
[_el$
|
|
2388
|
-
_el$
|
|
2389
|
-
[_el$
|
|
2390
|
-
_el$
|
|
2391
|
-
[_el$
|
|
2392
|
-
_$insert(_el$
|
|
2393
|
-
_$insert(_el$
|
|
2501
|
+
var _el$154 = _$getNextElement(_tmpl$34),
|
|
2502
|
+
_el$155 = _el$154.firstChild,
|
|
2503
|
+
_el$156 = _el$155.firstChild,
|
|
2504
|
+
_el$158 = _el$156.nextSibling,
|
|
2505
|
+
[_el$159, _co$38] = _$getNextMarker(_el$158.nextSibling),
|
|
2506
|
+
_el$160 = _el$155.nextSibling,
|
|
2507
|
+
[_el$161, _co$39] = _$getNextMarker(_el$160.nextSibling),
|
|
2508
|
+
_el$162 = _el$161.nextSibling,
|
|
2509
|
+
[_el$163, _co$40] = _$getNextMarker(_el$162.nextSibling);
|
|
2510
|
+
_$insert(_el$156, () => group()?.scopeTitle ?? group()?.section?.label);
|
|
2511
|
+
_$insert(_el$155, _$createComponent(Show, {
|
|
2394
2512
|
get when() {
|
|
2395
2513
|
return group()?.loading;
|
|
2396
2514
|
},
|
|
2397
2515
|
get children() {
|
|
2398
|
-
return _$getNextElement(_tmpl$
|
|
2516
|
+
return _$getNextElement(_tmpl$33);
|
|
2399
2517
|
}
|
|
2400
|
-
}), _el$
|
|
2401
|
-
_$insert(_el$
|
|
2518
|
+
}), _el$159, _co$38);
|
|
2519
|
+
_$insert(_el$154, _$createComponent(For, {
|
|
2402
2520
|
get each() {
|
|
2403
2521
|
return rows();
|
|
2404
2522
|
},
|
|
2405
2523
|
children: renderCommandRow
|
|
2406
|
-
}), _el$
|
|
2407
|
-
_$insert(_el$
|
|
2524
|
+
}), _el$161, _co$39);
|
|
2525
|
+
_$insert(_el$154, _$createComponent(Index, {
|
|
2408
2526
|
get each() {
|
|
2409
2527
|
return Array.from({
|
|
2410
2528
|
length: Math.max(group()?.placeholder ? 1 : 0, group()?.pendingRows ?? 0)
|
|
2411
2529
|
});
|
|
2412
2530
|
},
|
|
2413
|
-
children: () => _$getNextElement(_tmpl$
|
|
2414
|
-
}), _el$
|
|
2531
|
+
children: () => _$getNextElement(_tmpl$35)
|
|
2532
|
+
}), _el$163, _co$40);
|
|
2415
2533
|
_$effect(_p$ => {
|
|
2416
|
-
var _v$
|
|
2417
|
-
_v$
|
|
2418
|
-
_v$
|
|
2419
|
-
_v$
|
|
2534
|
+
var _v$46 = headingId(),
|
|
2535
|
+
_v$47 = headingId();
|
|
2536
|
+
_v$46 !== _p$.e && _$setAttribute(_el$154, "aria-labelledby", _p$.e = _v$46);
|
|
2537
|
+
_v$47 !== _p$.t && _$setAttribute(_el$155, "id", _p$.t = _v$47);
|
|
2420
2538
|
return _p$;
|
|
2421
2539
|
}, {
|
|
2422
2540
|
e: undefined,
|
|
2423
2541
|
t: undefined
|
|
2424
2542
|
});
|
|
2425
|
-
return _el$
|
|
2543
|
+
return _el$154;
|
|
2426
2544
|
}
|
|
2427
2545
|
});
|
|
2428
2546
|
}
|
|
2429
|
-
}), _el$
|
|
2430
|
-
_$insert(_el$
|
|
2547
|
+
}), _el$79, _co$10);
|
|
2548
|
+
_$insert(_el$68, _$createComponent(Show, {
|
|
2431
2549
|
get when() {
|
|
2432
2550
|
return _$memo(() => !!(searching() && foundCommandCount() === 0))() && !commandModel().groups.some(group => group.section || group.scopeTitle);
|
|
2433
2551
|
},
|
|
2434
2552
|
get children() {
|
|
2435
|
-
var _el$
|
|
2436
|
-
_el$
|
|
2437
|
-
_el$
|
|
2438
|
-
_$insert(_el$
|
|
2439
|
-
return _el$
|
|
2553
|
+
var _el$69 = _$getNextElement(_tmpl$20),
|
|
2554
|
+
_el$70 = _el$69.firstChild,
|
|
2555
|
+
_el$71 = _el$70.nextSibling;
|
|
2556
|
+
_$insert(_el$71, () => messages().loading);
|
|
2557
|
+
return _el$69;
|
|
2440
2558
|
}
|
|
2441
|
-
}), _el$
|
|
2442
|
-
_$insert(_el$
|
|
2559
|
+
}), _el$81, _co$11);
|
|
2560
|
+
_$insert(_el$68, _$createComponent(Show, {
|
|
2443
2561
|
get when() {
|
|
2444
2562
|
return searchError();
|
|
2445
2563
|
},
|
|
2446
2564
|
get children() {
|
|
2447
|
-
var _el$
|
|
2448
|
-
_el$
|
|
2449
|
-
_el$
|
|
2450
|
-
_el$
|
|
2451
|
-
[_el$
|
|
2452
|
-
_$insert(_el$
|
|
2453
|
-
return _el$
|
|
2565
|
+
var _el$72 = _$getNextElement(_tmpl$21),
|
|
2566
|
+
_el$73 = _el$72.firstChild,
|
|
2567
|
+
_el$74 = _el$73.nextSibling,
|
|
2568
|
+
_el$75 = _el$74.nextSibling,
|
|
2569
|
+
[_el$76, _co$1] = _$getNextMarker(_el$75.nextSibling);
|
|
2570
|
+
_$insert(_el$72, () => messages().error, _el$76, _co$1);
|
|
2571
|
+
return _el$72;
|
|
2454
2572
|
}
|
|
2455
|
-
}), _el$
|
|
2456
|
-
_$insert(_el$
|
|
2573
|
+
}), _el$83, _co$12);
|
|
2574
|
+
_$insert(_el$68, _$createComponent(Show, {
|
|
2457
2575
|
get when() {
|
|
2458
2576
|
return _$memo(() => !!(!searching() && !searchError() && foundCommandCount() === 0))() && !commandModel().groups.some(group => group.pendingRows);
|
|
2459
2577
|
},
|
|
2460
2578
|
get children() {
|
|
2461
|
-
var _el$
|
|
2462
|
-
_$insert(_el$
|
|
2579
|
+
var _el$77 = _$getNextElement(_tmpl$22);
|
|
2580
|
+
_$insert(_el$77, (() => {
|
|
2463
2581
|
var _c$ = _$memo(() => !!!parsedCommandQuery().query.trim());
|
|
2464
2582
|
return () => _c$() ? messages().noResults : chatMessages().commandsNothingFound({
|
|
2465
2583
|
query: parsedCommandQuery().query.trim()
|
|
2466
2584
|
});
|
|
2467
2585
|
})());
|
|
2468
|
-
return _el$
|
|
2586
|
+
return _el$77;
|
|
2469
2587
|
}
|
|
2470
|
-
}), _el$
|
|
2471
|
-
_$insert(_el$
|
|
2588
|
+
}), _el$85, _co$13);
|
|
2589
|
+
_$insert(_el$68, _$createComponent(Show, {
|
|
2472
2590
|
get when() {
|
|
2473
2591
|
return commandModel().fallback?.command;
|
|
2474
2592
|
},
|
|
2475
2593
|
keyed: true,
|
|
2476
2594
|
children: command => renderCommandRow(command)
|
|
2477
|
-
}), _el$
|
|
2595
|
+
}), _el$87, _co$14);
|
|
2478
2596
|
_$effect(_p$ => {
|
|
2479
2597
|
var _v$28 = addSearch() ? "" : undefined,
|
|
2480
2598
|
_v$29 = chatMessages().commands,
|
|
2481
2599
|
_v$30 = searching() ? "true" : undefined;
|
|
2482
|
-
_v$28 !== _p$.e && _$setAttribute(_el$
|
|
2483
|
-
_v$29 !== _p$.t && _$setAttribute(_el$
|
|
2484
|
-
_v$30 !== _p$.a && _$setAttribute(_el$
|
|
2600
|
+
_v$28 !== _p$.e && _$setAttribute(_el$64, "data-search", _p$.e = _v$28);
|
|
2601
|
+
_v$29 !== _p$.t && _$setAttribute(_el$68, "aria-label", _p$.t = _v$29);
|
|
2602
|
+
_v$30 !== _p$.a && _$setAttribute(_el$68, "aria-busy", _p$.a = _v$30);
|
|
2485
2603
|
return _p$;
|
|
2486
2604
|
}, {
|
|
2487
2605
|
e: undefined,
|
|
@@ -2489,9 +2607,9 @@ export function ChatComposer(props) {
|
|
|
2489
2607
|
a: undefined
|
|
2490
2608
|
});
|
|
2491
2609
|
_$runHydrationEvents();
|
|
2492
|
-
return _el$
|
|
2610
|
+
return _el$64;
|
|
2493
2611
|
}
|
|
2494
|
-
}), _el$
|
|
2612
|
+
}), _el$95, _co$18);
|
|
2495
2613
|
_$effect(_p$ => {
|
|
2496
2614
|
var _v$31 = hasAccessory() ? undefined : "true",
|
|
2497
2615
|
_v$32 = suggestionsOpen() ? "hidden" : undefined,
|
|
@@ -2507,271 +2625,271 @@ export function ChatComposer(props) {
|
|
|
2507
2625
|
});
|
|
2508
2626
|
return _el$58;
|
|
2509
2627
|
}
|
|
2510
|
-
}), _el$
|
|
2511
|
-
var _ref$
|
|
2512
|
-
typeof _ref$
|
|
2513
|
-
_$insert(_el$
|
|
2628
|
+
}), _el$137, _co$34);
|
|
2629
|
+
var _ref$10 = composerRef;
|
|
2630
|
+
typeof _ref$10 === "function" ? _$use(_ref$10, _el$96) : composerRef = _el$96;
|
|
2631
|
+
_$insert(_el$96, _$createComponent(Show, {
|
|
2514
2632
|
get when() {
|
|
2515
2633
|
return showHint();
|
|
2516
2634
|
},
|
|
2517
2635
|
get children() {
|
|
2518
|
-
var _el$
|
|
2519
|
-
_$insert(_el$
|
|
2636
|
+
var _el$97 = _$getNextElement(_tmpl$25);
|
|
2637
|
+
_$insert(_el$97, _$createComponent(Show, {
|
|
2520
2638
|
get when() {
|
|
2521
2639
|
return dictationStatus();
|
|
2522
2640
|
},
|
|
2523
2641
|
get fallback() {
|
|
2524
2642
|
return (() => {
|
|
2525
|
-
var _el$
|
|
2526
|
-
_$insert(_el$
|
|
2527
|
-
return _el$
|
|
2643
|
+
var _el$165 = _$getNextElement(_tmpl$36);
|
|
2644
|
+
_$insert(_el$165, hint);
|
|
2645
|
+
return _el$165;
|
|
2528
2646
|
})();
|
|
2529
2647
|
},
|
|
2530
2648
|
children: status => [(() => {
|
|
2531
|
-
var _el$
|
|
2532
|
-
_el$
|
|
2533
|
-
_el$
|
|
2534
|
-
_$insert(_el$
|
|
2649
|
+
var _el$166 = _$getNextElement(_tmpl$37),
|
|
2650
|
+
_el$167 = _el$166.firstChild,
|
|
2651
|
+
_el$168 = _el$167.nextSibling;
|
|
2652
|
+
_$insert(_el$168, () => status().text);
|
|
2535
2653
|
_$effect(_p$ => {
|
|
2536
|
-
var _v$
|
|
2537
|
-
_v$
|
|
2538
|
-
_v$
|
|
2539
|
-
_v$
|
|
2654
|
+
var _v$48 = dictation() ?? undefined,
|
|
2655
|
+
_v$49 = status().icon;
|
|
2656
|
+
_v$48 !== _p$.e && _$setAttribute(_el$166, "data-state", _p$.e = _v$48);
|
|
2657
|
+
_v$49 !== _p$.t && _$className(_el$167, _p$.t = _v$49);
|
|
2540
2658
|
return _p$;
|
|
2541
2659
|
}, {
|
|
2542
2660
|
e: undefined,
|
|
2543
2661
|
t: undefined
|
|
2544
2662
|
});
|
|
2545
|
-
return _el$
|
|
2663
|
+
return _el$166;
|
|
2546
2664
|
})(), _$createComponent(Show, {
|
|
2547
2665
|
get when() {
|
|
2548
2666
|
return _$memo(() => dictation() === "refined")() ? props.microphone?.onRestoreOriginal : undefined;
|
|
2549
2667
|
},
|
|
2550
2668
|
children: restore => (() => {
|
|
2551
|
-
var _el$
|
|
2552
|
-
_el$
|
|
2553
|
-
_el$
|
|
2554
|
-
_$insert(_el$
|
|
2555
|
-
_$effect(() => _$setProperty(_el$
|
|
2669
|
+
var _el$169 = _$getNextElement(_tmpl$38);
|
|
2670
|
+
_el$169.$$click = () => reportChatFailure(restore(), props.onError);
|
|
2671
|
+
_el$169.$$mousedown = keepFieldFocus;
|
|
2672
|
+
_$insert(_el$169, () => chatMessages().restoreOriginal);
|
|
2673
|
+
_$effect(() => _$setProperty(_el$169, "disabled", microphoneDisabled()));
|
|
2556
2674
|
_$runHydrationEvents();
|
|
2557
|
-
return _el$
|
|
2675
|
+
return _el$169;
|
|
2558
2676
|
})()
|
|
2559
2677
|
})]
|
|
2560
2678
|
}));
|
|
2561
|
-
return _el$
|
|
2679
|
+
return _el$97;
|
|
2562
2680
|
}
|
|
2563
|
-
}), _el$
|
|
2564
|
-
_$insert(_el$
|
|
2681
|
+
}), _el$121, _co$27);
|
|
2682
|
+
_$insert(_el$96, _$createComponent(Show, {
|
|
2565
2683
|
get when() {
|
|
2566
2684
|
return props.reply;
|
|
2567
2685
|
},
|
|
2568
2686
|
children: reply => (() => {
|
|
2569
|
-
var _el$
|
|
2570
|
-
_el$
|
|
2571
|
-
[_el$
|
|
2572
|
-
_el$
|
|
2573
|
-
_$insert(_el$
|
|
2687
|
+
var _el$170 = _$getNextElement(_tmpl$39),
|
|
2688
|
+
_el$172 = _el$170.firstChild,
|
|
2689
|
+
[_el$173, _co$41] = _$getNextMarker(_el$172.nextSibling),
|
|
2690
|
+
_el$171 = _el$173.nextSibling;
|
|
2691
|
+
_$insert(_el$170, _$createComponent(Show, {
|
|
2574
2692
|
get when() {
|
|
2575
2693
|
return reply().onSelect;
|
|
2576
2694
|
},
|
|
2577
2695
|
get fallback() {
|
|
2578
2696
|
return (() => {
|
|
2579
|
-
var _el$
|
|
2580
|
-
_$insert(_el$
|
|
2581
|
-
return _el$
|
|
2697
|
+
var _el$174 = _$getNextElement(_tmpl$40);
|
|
2698
|
+
_$insert(_el$174, () => replyQuote(reply()));
|
|
2699
|
+
return _el$174;
|
|
2582
2700
|
})();
|
|
2583
2701
|
},
|
|
2584
2702
|
children: select => (() => {
|
|
2585
|
-
var _el$
|
|
2586
|
-
_el$
|
|
2587
|
-
_$insert(_el$
|
|
2703
|
+
var _el$175 = _$getNextElement(_tmpl$41);
|
|
2704
|
+
_el$175.$$click = () => select()();
|
|
2705
|
+
_$insert(_el$175, () => replyQuote(reply()));
|
|
2588
2706
|
_$runHydrationEvents();
|
|
2589
|
-
return _el$
|
|
2707
|
+
return _el$175;
|
|
2590
2708
|
})()
|
|
2591
|
-
}), _el$
|
|
2592
|
-
_el$
|
|
2593
|
-
_el$
|
|
2709
|
+
}), _el$173, _co$41);
|
|
2710
|
+
_el$171.$$click = () => reply().onCancel();
|
|
2711
|
+
_el$171.$$mousedown = keepFieldFocus;
|
|
2594
2712
|
_$effect(_p$ => {
|
|
2595
|
-
var _v$
|
|
2596
|
-
_v$
|
|
2597
|
-
_v$
|
|
2598
|
-
_v$
|
|
2713
|
+
var _v$50 = chatMessages().cancelReply,
|
|
2714
|
+
_v$51 = chatMessages().cancelReply;
|
|
2715
|
+
_v$50 !== _p$.e && _$setAttribute(_el$171, "aria-label", _p$.e = _v$50);
|
|
2716
|
+
_v$51 !== _p$.t && _$setAttribute(_el$171, "title", _p$.t = _v$51);
|
|
2599
2717
|
return _p$;
|
|
2600
2718
|
}, {
|
|
2601
2719
|
e: undefined,
|
|
2602
2720
|
t: undefined
|
|
2603
2721
|
});
|
|
2604
2722
|
_$runHydrationEvents();
|
|
2605
|
-
return _el$
|
|
2723
|
+
return _el$170;
|
|
2606
2724
|
})()
|
|
2607
|
-
}), _el$
|
|
2608
|
-
_$insert(_el$
|
|
2725
|
+
}), _el$123, _co$28);
|
|
2726
|
+
_$insert(_el$96, _$createComponent(Show, {
|
|
2609
2727
|
get when() {
|
|
2610
2728
|
return attachments().length > 0;
|
|
2611
2729
|
},
|
|
2612
2730
|
get children() {
|
|
2613
|
-
var _el$
|
|
2614
|
-
_$insert(_el$
|
|
2731
|
+
var _el$98 = _$getNextElement(_tmpl$26);
|
|
2732
|
+
_$insert(_el$98, _$createComponent(For, {
|
|
2615
2733
|
get each() {
|
|
2616
2734
|
return attachments();
|
|
2617
2735
|
},
|
|
2618
2736
|
children: attachment => (() => {
|
|
2619
|
-
var _el$
|
|
2620
|
-
_el$
|
|
2621
|
-
_el$
|
|
2622
|
-
[_el$
|
|
2623
|
-
_el$
|
|
2624
|
-
[_el$
|
|
2625
|
-
_el$
|
|
2626
|
-
[_el$
|
|
2627
|
-
_$insert(_el$
|
|
2737
|
+
var _el$176 = _$getNextElement(_tmpl$43),
|
|
2738
|
+
_el$177 = _el$176.firstChild,
|
|
2739
|
+
_el$178 = _el$177.firstChild,
|
|
2740
|
+
[_el$179, _co$42] = _$getNextMarker(_el$178.nextSibling),
|
|
2741
|
+
_el$180 = _el$179.nextSibling,
|
|
2742
|
+
[_el$181, _co$43] = _$getNextMarker(_el$180.nextSibling),
|
|
2743
|
+
_el$183 = _el$177.nextSibling,
|
|
2744
|
+
[_el$184, _co$44] = _$getNextMarker(_el$183.nextSibling);
|
|
2745
|
+
_$insert(_el$177, _$createComponent(Show, {
|
|
2628
2746
|
get when() {
|
|
2629
2747
|
return attachment.href;
|
|
2630
2748
|
},
|
|
2631
2749
|
get fallback() {
|
|
2632
2750
|
return (() => {
|
|
2633
|
-
var _el$
|
|
2634
|
-
_el$
|
|
2635
|
-
[_el$
|
|
2636
|
-
_el$
|
|
2637
|
-
[_el$
|
|
2638
|
-
_$insert(_el$
|
|
2751
|
+
var _el$185 = _$getNextElement(_tmpl$45),
|
|
2752
|
+
_el$187 = _el$185.firstChild,
|
|
2753
|
+
[_el$188, _co$45] = _$getNextMarker(_el$187.nextSibling),
|
|
2754
|
+
_el$189 = _el$188.nextSibling,
|
|
2755
|
+
[_el$190, _co$46] = _$getNextMarker(_el$189.nextSibling);
|
|
2756
|
+
_$insert(_el$185, _$createComponent(Show, {
|
|
2639
2757
|
get when() {
|
|
2640
2758
|
return _$memo(() => attachment.kind === "image")() && attachment.previewUrl;
|
|
2641
2759
|
},
|
|
2642
2760
|
get fallback() {
|
|
2643
2761
|
return (() => {
|
|
2644
|
-
var _el$
|
|
2645
|
-
_$effect(() => _$className(_el$
|
|
2646
|
-
return _el$
|
|
2762
|
+
var _el$191 = _$getNextElement(_tmpl$3);
|
|
2763
|
+
_$effect(() => _$className(_el$191, attachmentIcon(attachment)));
|
|
2764
|
+
return _el$191;
|
|
2647
2765
|
})();
|
|
2648
2766
|
},
|
|
2649
2767
|
get children() {
|
|
2650
|
-
var _el$
|
|
2768
|
+
var _el$186 = _$getNextElement(_tmpl$44);
|
|
2651
2769
|
_$effect(_p$ => {
|
|
2652
|
-
var _v$
|
|
2653
|
-
_v$
|
|
2654
|
-
_v$
|
|
2655
|
-
_v$
|
|
2770
|
+
var _v$54 = attachment.previewUrl,
|
|
2771
|
+
_v$55 = attachment.alt ?? "";
|
|
2772
|
+
_v$54 !== _p$.e && _$setAttribute(_el$186, "src", _p$.e = _v$54);
|
|
2773
|
+
_v$55 !== _p$.t && _$setAttribute(_el$186, "alt", _p$.t = _v$55);
|
|
2656
2774
|
return _p$;
|
|
2657
2775
|
}, {
|
|
2658
2776
|
e: undefined,
|
|
2659
2777
|
t: undefined
|
|
2660
2778
|
});
|
|
2661
|
-
return _el$
|
|
2779
|
+
return _el$186;
|
|
2662
2780
|
}
|
|
2663
|
-
}), _el$
|
|
2664
|
-
_$insert(_el$
|
|
2665
|
-
return _el$
|
|
2781
|
+
}), _el$188, _co$45);
|
|
2782
|
+
_$insert(_el$185, () => renderAttachmentCopy(attachment), _el$190, _co$46);
|
|
2783
|
+
return _el$185;
|
|
2666
2784
|
})();
|
|
2667
2785
|
},
|
|
2668
2786
|
children: href => (() => {
|
|
2669
|
-
var _el$
|
|
2670
|
-
_el$
|
|
2671
|
-
[_el$
|
|
2672
|
-
_el$
|
|
2673
|
-
[_el$
|
|
2674
|
-
_$insert(_el$
|
|
2787
|
+
var _el$192 = _$getNextElement(_tmpl$46),
|
|
2788
|
+
_el$194 = _el$192.firstChild,
|
|
2789
|
+
[_el$195, _co$47] = _$getNextMarker(_el$194.nextSibling),
|
|
2790
|
+
_el$196 = _el$195.nextSibling,
|
|
2791
|
+
[_el$197, _co$48] = _$getNextMarker(_el$196.nextSibling);
|
|
2792
|
+
_$insert(_el$192, _$createComponent(Show, {
|
|
2675
2793
|
get when() {
|
|
2676
2794
|
return _$memo(() => attachment.kind === "image")() && attachment.previewUrl;
|
|
2677
2795
|
},
|
|
2678
2796
|
get fallback() {
|
|
2679
2797
|
return (() => {
|
|
2680
|
-
var _el$
|
|
2681
|
-
_$effect(() => _$className(_el$
|
|
2682
|
-
return _el$
|
|
2798
|
+
var _el$198 = _$getNextElement(_tmpl$3);
|
|
2799
|
+
_$effect(() => _$className(_el$198, attachmentIcon(attachment)));
|
|
2800
|
+
return _el$198;
|
|
2683
2801
|
})();
|
|
2684
2802
|
},
|
|
2685
2803
|
get children() {
|
|
2686
|
-
var _el$
|
|
2804
|
+
var _el$193 = _$getNextElement(_tmpl$44);
|
|
2687
2805
|
_$effect(_p$ => {
|
|
2688
|
-
var _v$
|
|
2689
|
-
_v$
|
|
2690
|
-
_v$
|
|
2691
|
-
_v$
|
|
2806
|
+
var _v$56 = attachment.previewUrl,
|
|
2807
|
+
_v$57 = attachment.alt ?? "";
|
|
2808
|
+
_v$56 !== _p$.e && _$setAttribute(_el$193, "src", _p$.e = _v$56);
|
|
2809
|
+
_v$57 !== _p$.t && _$setAttribute(_el$193, "alt", _p$.t = _v$57);
|
|
2692
2810
|
return _p$;
|
|
2693
2811
|
}, {
|
|
2694
2812
|
e: undefined,
|
|
2695
2813
|
t: undefined
|
|
2696
2814
|
});
|
|
2697
|
-
return _el$
|
|
2815
|
+
return _el$193;
|
|
2698
2816
|
}
|
|
2699
|
-
}), _el$
|
|
2700
|
-
_$insert(_el$
|
|
2817
|
+
}), _el$195, _co$47);
|
|
2818
|
+
_$insert(_el$192, () => renderAttachmentCopy(attachment), _el$197, _co$48);
|
|
2701
2819
|
_$effect(_p$ => {
|
|
2702
|
-
var _v$
|
|
2703
|
-
_v$
|
|
2820
|
+
var _v$58 = href(),
|
|
2821
|
+
_v$59 = chatMessages().openInNewTab({
|
|
2704
2822
|
name: attachment.name
|
|
2705
2823
|
});
|
|
2706
|
-
_v$
|
|
2707
|
-
_v$
|
|
2824
|
+
_v$58 !== _p$.e && _$setAttribute(_el$192, "href", _p$.e = _v$58);
|
|
2825
|
+
_v$59 !== _p$.t && _$setAttribute(_el$192, "aria-label", _p$.t = _v$59);
|
|
2708
2826
|
return _p$;
|
|
2709
2827
|
}, {
|
|
2710
2828
|
e: undefined,
|
|
2711
2829
|
t: undefined
|
|
2712
2830
|
});
|
|
2713
|
-
return _el$
|
|
2831
|
+
return _el$192;
|
|
2714
2832
|
})()
|
|
2715
|
-
}), _el$
|
|
2716
|
-
_$insert(_el$
|
|
2833
|
+
}), _el$179, _co$42);
|
|
2834
|
+
_$insert(_el$177, _$createComponent(Show, {
|
|
2717
2835
|
get when() {
|
|
2718
2836
|
return attachment.action;
|
|
2719
2837
|
},
|
|
2720
2838
|
children: action => (() => {
|
|
2721
|
-
var _el$
|
|
2722
|
-
_el$
|
|
2723
|
-
[_el$
|
|
2724
|
-
_el$
|
|
2725
|
-
[_el$
|
|
2726
|
-
_el$
|
|
2727
|
-
_$insert(_el$
|
|
2839
|
+
var _el$199 = _$getNextElement(_tmpl$47),
|
|
2840
|
+
_el$200 = _el$199.firstChild,
|
|
2841
|
+
[_el$201, _co$49] = _$getNextMarker(_el$200.nextSibling),
|
|
2842
|
+
_el$202 = _el$201.nextSibling,
|
|
2843
|
+
[_el$203, _co$50] = _$getNextMarker(_el$202.nextSibling);
|
|
2844
|
+
_el$199.$$click = () => reportChatFailure(() => executeChatAction(action()), props.onError);
|
|
2845
|
+
_$insert(_el$199, _$createComponent(Show, {
|
|
2728
2846
|
get when() {
|
|
2729
2847
|
return action().icon;
|
|
2730
2848
|
},
|
|
2731
2849
|
children: icon => (() => {
|
|
2732
|
-
var _el$
|
|
2733
|
-
_$effect(() => _$className(_el$
|
|
2734
|
-
return _el$
|
|
2850
|
+
var _el$204 = _$getNextElement(_tmpl$3);
|
|
2851
|
+
_$effect(() => _$className(_el$204, icon()));
|
|
2852
|
+
return _el$204;
|
|
2735
2853
|
})()
|
|
2736
|
-
}), _el$
|
|
2737
|
-
_$insert(_el$
|
|
2738
|
-
_$effect(() => _$setProperty(_el$
|
|
2854
|
+
}), _el$201, _co$49);
|
|
2855
|
+
_$insert(_el$199, () => action().label, _el$203, _co$50);
|
|
2856
|
+
_$effect(() => _$setProperty(_el$199, "disabled", blocked() || action().disabled));
|
|
2739
2857
|
_$runHydrationEvents();
|
|
2740
|
-
return _el$
|
|
2858
|
+
return _el$199;
|
|
2741
2859
|
})()
|
|
2742
|
-
}), _el$
|
|
2743
|
-
_$insert(_el$
|
|
2860
|
+
}), _el$181, _co$43);
|
|
2861
|
+
_$insert(_el$176, _$createComponent(Show, {
|
|
2744
2862
|
get when() {
|
|
2745
2863
|
return props.onAttachmentsChange;
|
|
2746
2864
|
},
|
|
2747
2865
|
get children() {
|
|
2748
|
-
var _el$
|
|
2749
|
-
_el$
|
|
2866
|
+
var _el$182 = _$getNextElement(_tmpl$42);
|
|
2867
|
+
_el$182.$$click = () => setAttachments(attachments().filter(candidate => candidate.id !== attachment.id));
|
|
2750
2868
|
_$effect(_p$ => {
|
|
2751
|
-
var _v$
|
|
2869
|
+
var _v$52 = selectMessages().removeNamed({
|
|
2752
2870
|
name: attachment.name
|
|
2753
2871
|
}),
|
|
2754
|
-
_v$
|
|
2755
|
-
_v$
|
|
2756
|
-
_v$
|
|
2872
|
+
_v$53 = blocked();
|
|
2873
|
+
_v$52 !== _p$.e && _$setAttribute(_el$182, "aria-label", _p$.e = _v$52);
|
|
2874
|
+
_v$53 !== _p$.t && _$setProperty(_el$182, "disabled", _p$.t = _v$53);
|
|
2757
2875
|
return _p$;
|
|
2758
2876
|
}, {
|
|
2759
2877
|
e: undefined,
|
|
2760
2878
|
t: undefined
|
|
2761
2879
|
});
|
|
2762
2880
|
_$runHydrationEvents();
|
|
2763
|
-
return _el$
|
|
2881
|
+
return _el$182;
|
|
2764
2882
|
}
|
|
2765
|
-
}), _el$
|
|
2766
|
-
_$effect(() => _el$
|
|
2767
|
-
return _el$
|
|
2883
|
+
}), _el$184, _co$44);
|
|
2884
|
+
_$effect(() => _el$177.classList.toggle("k2b-chat-composer__attachment-content--action", !!Boolean(attachment.action)));
|
|
2885
|
+
return _el$176;
|
|
2768
2886
|
})()
|
|
2769
2887
|
}));
|
|
2770
|
-
_$effect(() => _$setAttribute(_el$
|
|
2771
|
-
return _el$
|
|
2888
|
+
_$effect(() => _$setAttribute(_el$98, "aria-label", chatMessages().attachments));
|
|
2889
|
+
return _el$98;
|
|
2772
2890
|
}
|
|
2773
|
-
}), _el$
|
|
2774
|
-
_$insert(_el$
|
|
2891
|
+
}), _el$125, _co$29);
|
|
2892
|
+
_$insert(_el$96, _$createComponent(Show, {
|
|
2775
2893
|
get when() {
|
|
2776
2894
|
return conversation();
|
|
2777
2895
|
},
|
|
@@ -2781,38 +2899,38 @@ export function ChatComposer(props) {
|
|
|
2781
2899
|
return props.error;
|
|
2782
2900
|
},
|
|
2783
2901
|
get children() {
|
|
2784
|
-
var _el$
|
|
2785
|
-
_el$
|
|
2786
|
-
_el$
|
|
2787
|
-
[_el$
|
|
2788
|
-
_$insert(_el$
|
|
2789
|
-
return _el$
|
|
2902
|
+
var _el$205 = _$getNextElement(_tmpl$27),
|
|
2903
|
+
_el$206 = _el$205.firstChild,
|
|
2904
|
+
_el$207 = _el$206.nextSibling,
|
|
2905
|
+
[_el$208, _co$51] = _$getNextMarker(_el$207.nextSibling);
|
|
2906
|
+
_$insert(_el$205, () => props.error, _el$208, _co$51);
|
|
2907
|
+
return _el$205;
|
|
2790
2908
|
}
|
|
2791
2909
|
}), _$memo(formatRow), (() => {
|
|
2792
|
-
var _el$
|
|
2793
|
-
_$insert(_el$
|
|
2910
|
+
var _el$209 = _$getNextElement(_tmpl$48);
|
|
2911
|
+
_$insert(_el$209, _$createComponent(Show, {
|
|
2794
2912
|
get when() {
|
|
2795
2913
|
return footer();
|
|
2796
2914
|
},
|
|
2797
2915
|
get fallback() {
|
|
2798
2916
|
return [(() => {
|
|
2799
|
-
var _el$
|
|
2800
|
-
_el$
|
|
2801
|
-
[_el$
|
|
2802
|
-
_el$203 = _el$202.nextSibling,
|
|
2803
|
-
[_el$204, _co$51] = _$getNextMarker(_el$203.nextSibling),
|
|
2804
|
-
_el$205 = _el$204.nextSibling,
|
|
2805
|
-
[_el$206, _co$52] = _$getNextMarker(_el$205.nextSibling),
|
|
2806
|
-
_el$207 = _el$206.nextSibling,
|
|
2807
|
-
[_el$208, _co$53] = _$getNextMarker(_el$207.nextSibling),
|
|
2808
|
-
_el$209 = _el$208.nextSibling,
|
|
2809
|
-
[_el$210, _co$54] = _$getNextMarker(_el$209.nextSibling),
|
|
2810
|
-
_el$211 = _el$210.nextSibling,
|
|
2811
|
-
[_el$212, _co$55] = _$getNextMarker(_el$211.nextSibling),
|
|
2917
|
+
var _el$210 = _$getNextElement(_tmpl$49),
|
|
2918
|
+
_el$211 = _el$210.firstChild,
|
|
2919
|
+
[_el$212, _co$52] = _$getNextMarker(_el$211.nextSibling),
|
|
2812
2920
|
_el$213 = _el$212.nextSibling,
|
|
2813
|
-
[_el$214, _co$
|
|
2814
|
-
|
|
2815
|
-
|
|
2921
|
+
[_el$214, _co$53] = _$getNextMarker(_el$213.nextSibling),
|
|
2922
|
+
_el$215 = _el$214.nextSibling,
|
|
2923
|
+
[_el$216, _co$54] = _$getNextMarker(_el$215.nextSibling),
|
|
2924
|
+
_el$217 = _el$216.nextSibling,
|
|
2925
|
+
[_el$218, _co$55] = _$getNextMarker(_el$217.nextSibling),
|
|
2926
|
+
_el$219 = _el$218.nextSibling,
|
|
2927
|
+
[_el$220, _co$56] = _$getNextMarker(_el$219.nextSibling),
|
|
2928
|
+
_el$221 = _el$220.nextSibling,
|
|
2929
|
+
[_el$222, _co$57] = _$getNextMarker(_el$221.nextSibling),
|
|
2930
|
+
_el$223 = _el$222.nextSibling,
|
|
2931
|
+
[_el$224, _co$58] = _$getNextMarker(_el$223.nextSibling);
|
|
2932
|
+
_$insert(_el$210, () => props.footerTools, _el$212, _co$52);
|
|
2933
|
+
_$insert(_el$210, _$createComponent(Show, {
|
|
2816
2934
|
get when() {
|
|
2817
2935
|
return addOpensCommands();
|
|
2818
2936
|
},
|
|
@@ -2829,11 +2947,11 @@ export function ChatComposer(props) {
|
|
|
2829
2947
|
get children() {
|
|
2830
2948
|
return addSearchButton();
|
|
2831
2949
|
}
|
|
2832
|
-
}), _el$
|
|
2833
|
-
_$insert(_el$
|
|
2834
|
-
_$insert(_el$
|
|
2835
|
-
_$insert(_el$
|
|
2836
|
-
_$insert(_el$
|
|
2950
|
+
}), _el$214, _co$53);
|
|
2951
|
+
_$insert(_el$210, fileInput, _el$216, _co$54);
|
|
2952
|
+
_$insert(_el$210, formatToggle, _el$218, _co$55);
|
|
2953
|
+
_$insert(_el$210, emojiButton, _el$220, _co$56);
|
|
2954
|
+
_$insert(_el$210, _$createComponent(Show, {
|
|
2837
2955
|
get when() {
|
|
2838
2956
|
return (props.models?.length ?? 0) > 0;
|
|
2839
2957
|
},
|
|
@@ -2879,22 +2997,22 @@ export function ChatComposer(props) {
|
|
|
2879
2997
|
}
|
|
2880
2998
|
});
|
|
2881
2999
|
}
|
|
2882
|
-
}), _el$
|
|
2883
|
-
_$insert(_el$
|
|
2884
|
-
return _el$
|
|
3000
|
+
}), _el$222, _co$57);
|
|
3001
|
+
_$insert(_el$210, () => props.modelDetails, _el$224, _co$58);
|
|
3002
|
+
return _el$210;
|
|
2885
3003
|
})(), (() => {
|
|
2886
|
-
var _el$
|
|
2887
|
-
_el$
|
|
2888
|
-
[_el$
|
|
2889
|
-
_el$
|
|
2890
|
-
[_el$
|
|
2891
|
-
_el$
|
|
2892
|
-
[_el$
|
|
2893
|
-
_el$
|
|
2894
|
-
[_el$
|
|
2895
|
-
_el$
|
|
2896
|
-
[_el$
|
|
2897
|
-
_$insert(_el$
|
|
3004
|
+
var _el$225 = _$getNextElement(_tmpl$50),
|
|
3005
|
+
_el$226 = _el$225.firstChild,
|
|
3006
|
+
[_el$227, _co$59] = _$getNextMarker(_el$226.nextSibling),
|
|
3007
|
+
_el$228 = _el$227.nextSibling,
|
|
3008
|
+
[_el$229, _co$60] = _$getNextMarker(_el$228.nextSibling),
|
|
3009
|
+
_el$230 = _el$229.nextSibling,
|
|
3010
|
+
[_el$231, _co$61] = _$getNextMarker(_el$230.nextSibling),
|
|
3011
|
+
_el$232 = _el$231.nextSibling,
|
|
3012
|
+
[_el$233, _co$62] = _$getNextMarker(_el$232.nextSibling),
|
|
3013
|
+
_el$234 = _el$233.nextSibling,
|
|
3014
|
+
[_el$235, _co$63] = _$getNextMarker(_el$234.nextSibling);
|
|
3015
|
+
_$insert(_el$225, _$createComponent(For, {
|
|
2898
3016
|
get each() {
|
|
2899
3017
|
return props.contextActions;
|
|
2900
3018
|
},
|
|
@@ -2918,13 +3036,13 @@ export function ChatComposer(props) {
|
|
|
2918
3036
|
},
|
|
2919
3037
|
onClick: () => reportChatFailure(() => executeChatAction(action), props.onError),
|
|
2920
3038
|
get children() {
|
|
2921
|
-
var _el$
|
|
2922
|
-
_$effect(() => _$className(_el$
|
|
2923
|
-
return _el$
|
|
3039
|
+
var _el$236 = _$getNextElement(_tmpl$3);
|
|
3040
|
+
_$effect(() => _$className(_el$236, action.icon ?? "ti ti-dots"));
|
|
3041
|
+
return _el$236;
|
|
2924
3042
|
}
|
|
2925
3043
|
})
|
|
2926
|
-
}), _el$
|
|
2927
|
-
_$insert(_el$
|
|
3044
|
+
}), _el$227, _co$59);
|
|
3045
|
+
_$insert(_el$225, _$createComponent(Show, {
|
|
2928
3046
|
get when() {
|
|
2929
3047
|
return _$memo(() => !!hasContextUsage())() ? props.contextUsage ?? {} : undefined;
|
|
2930
3048
|
},
|
|
@@ -2936,18 +3054,18 @@ export function ChatComposer(props) {
|
|
|
2936
3054
|
return props.onError;
|
|
2937
3055
|
}
|
|
2938
3056
|
}))
|
|
2939
|
-
}), _el$
|
|
2940
|
-
_$insert(_el$
|
|
2941
|
-
_$insert(_el$
|
|
2942
|
-
_$insert(_el$
|
|
2943
|
-
return _el$
|
|
3057
|
+
}), _el$229, _co$60);
|
|
3058
|
+
_$insert(_el$225, () => props.submitTools, _el$231, _co$61);
|
|
3059
|
+
_$insert(_el$225, microphoneControl, _el$233, _co$62);
|
|
3060
|
+
_$insert(_el$225, sendControl, _el$235, _co$63);
|
|
3061
|
+
return _el$225;
|
|
2944
3062
|
})()];
|
|
2945
3063
|
},
|
|
2946
3064
|
get children() {
|
|
2947
3065
|
return footer();
|
|
2948
3066
|
}
|
|
2949
3067
|
}));
|
|
2950
|
-
return _el$
|
|
3068
|
+
return _el$209;
|
|
2951
3069
|
})()];
|
|
2952
3070
|
},
|
|
2953
3071
|
get children() {
|
|
@@ -2956,43 +3074,43 @@ export function ChatComposer(props) {
|
|
|
2956
3074
|
return props.error;
|
|
2957
3075
|
},
|
|
2958
3076
|
get children() {
|
|
2959
|
-
var _el$
|
|
2960
|
-
_el$
|
|
2961
|
-
_el$
|
|
2962
|
-
[_el$
|
|
2963
|
-
_$insert(_el$
|
|
2964
|
-
return _el$
|
|
3077
|
+
var _el$99 = _$getNextElement(_tmpl$27),
|
|
3078
|
+
_el$100 = _el$99.firstChild,
|
|
3079
|
+
_el$101 = _el$100.nextSibling,
|
|
3080
|
+
[_el$102, _co$19] = _$getNextMarker(_el$101.nextSibling);
|
|
3081
|
+
_$insert(_el$99, () => props.error, _el$102, _co$19);
|
|
3082
|
+
return _el$99;
|
|
2965
3083
|
}
|
|
2966
3084
|
}), _$memo(() => formatRow()), (() => {
|
|
2967
|
-
var _el$
|
|
2968
|
-
_el$
|
|
2969
|
-
[_el$
|
|
2970
|
-
_el$
|
|
2971
|
-
[_el$
|
|
2972
|
-
_el$
|
|
2973
|
-
_el$
|
|
2974
|
-
[_el$
|
|
2975
|
-
_el$
|
|
2976
|
-
_el$
|
|
2977
|
-
[_el$
|
|
2978
|
-
_el$
|
|
2979
|
-
[_el$
|
|
2980
|
-
_el$
|
|
2981
|
-
[_el$
|
|
2982
|
-
_el$
|
|
2983
|
-
[_el$
|
|
2984
|
-
_$insert(_el$
|
|
2985
|
-
_$insert(_el$
|
|
2986
|
-
_$insert(_el$
|
|
2987
|
-
_$insert(_el$
|
|
2988
|
-
_$insert(_el$
|
|
2989
|
-
_$insert(_el$
|
|
2990
|
-
_$insert(_el$
|
|
2991
|
-
return _el$
|
|
3085
|
+
var _el$103 = _$getNextElement(_tmpl$28),
|
|
3086
|
+
_el$114 = _el$103.firstChild,
|
|
3087
|
+
[_el$115, _co$24] = _$getNextMarker(_el$114.nextSibling),
|
|
3088
|
+
_el$116 = _el$115.nextSibling,
|
|
3089
|
+
[_el$117, _co$25] = _$getNextMarker(_el$116.nextSibling),
|
|
3090
|
+
_el$104 = _el$117.nextSibling,
|
|
3091
|
+
_el$112 = _el$104.firstChild,
|
|
3092
|
+
[_el$113, _co$23] = _$getNextMarker(_el$112.nextSibling),
|
|
3093
|
+
_el$105 = _el$113.nextSibling,
|
|
3094
|
+
_el$106 = _el$105.firstChild,
|
|
3095
|
+
[_el$107, _co$20] = _$getNextMarker(_el$106.nextSibling),
|
|
3096
|
+
_el$108 = _el$107.nextSibling,
|
|
3097
|
+
[_el$109, _co$21] = _$getNextMarker(_el$108.nextSibling),
|
|
3098
|
+
_el$110 = _el$109.nextSibling,
|
|
3099
|
+
[_el$111, _co$22] = _$getNextMarker(_el$110.nextSibling),
|
|
3100
|
+
_el$118 = _el$104.nextSibling,
|
|
3101
|
+
[_el$119, _co$26] = _$getNextMarker(_el$118.nextSibling);
|
|
3102
|
+
_$insert(_el$103, attachControl, _el$115, _co$24);
|
|
3103
|
+
_$insert(_el$103, fileInput, _el$117, _co$25);
|
|
3104
|
+
_$insert(_el$104, field, _el$113, _co$23);
|
|
3105
|
+
_$insert(_el$105, formatToggle, _el$107, _co$20);
|
|
3106
|
+
_$insert(_el$105, emojiButton, _el$109, _co$21);
|
|
3107
|
+
_$insert(_el$105, microphoneControl, _el$111, _co$22);
|
|
3108
|
+
_$insert(_el$103, sendControl, _el$119, _co$26);
|
|
3109
|
+
return _el$103;
|
|
2992
3110
|
})()];
|
|
2993
3111
|
}
|
|
2994
|
-
}), _el$
|
|
2995
|
-
_$insert(_el$
|
|
3112
|
+
}), _el$127, _co$30);
|
|
3113
|
+
_$insert(_el$96, _$createComponent(Show, {
|
|
2996
3114
|
get when() {
|
|
2997
3115
|
return props.fileSelection;
|
|
2998
3116
|
},
|
|
@@ -3011,60 +3129,60 @@ export function ChatComposer(props) {
|
|
|
3011
3129
|
},
|
|
3012
3130
|
onDrop: files => void runFiles(files)
|
|
3013
3131
|
})
|
|
3014
|
-
}), _el$
|
|
3015
|
-
_$insert(_el$
|
|
3132
|
+
}), _el$129, _co$31);
|
|
3133
|
+
_$insert(_el$130, _$createComponent(Show, {
|
|
3016
3134
|
get when() {
|
|
3017
3135
|
return suggestionAnnouncement();
|
|
3018
3136
|
},
|
|
3019
3137
|
keyed: true,
|
|
3020
3138
|
children: announced => (() => {
|
|
3021
|
-
var _el$
|
|
3022
|
-
_$insert(_el$
|
|
3023
|
-
return _el$
|
|
3139
|
+
var _el$237 = _$getNextElement(_tmpl$10);
|
|
3140
|
+
_$insert(_el$237, () => announced.text);
|
|
3141
|
+
return _el$237;
|
|
3024
3142
|
})()
|
|
3025
3143
|
}));
|
|
3026
|
-
_$insert(_el$
|
|
3144
|
+
_$insert(_el$131, _$createComponent(Show, {
|
|
3027
3145
|
get when() {
|
|
3028
3146
|
return _$memo(() => !!!suggestionsOpen())() && commandStatus();
|
|
3029
3147
|
},
|
|
3030
3148
|
children: status => (() => {
|
|
3031
|
-
var _el$
|
|
3032
|
-
_el$
|
|
3033
|
-
_el$
|
|
3034
|
-
_$insert(_el$
|
|
3149
|
+
var _el$238 = _$getNextElement(_tmpl$51),
|
|
3150
|
+
_el$239 = _el$238.firstChild,
|
|
3151
|
+
_el$240 = _el$239.nextSibling;
|
|
3152
|
+
_$insert(_el$240, () => status().text);
|
|
3035
3153
|
_$effect(_p$ => {
|
|
3036
|
-
var _v$
|
|
3037
|
-
_v$
|
|
3038
|
-
_v$
|
|
3039
|
-
_v$
|
|
3154
|
+
var _v$60 = status().tone,
|
|
3155
|
+
_v$61 = status().tone === "busy" ? "ti ti-loader-2 k2b-spin" : status().tone === "done" ? "ti ti-check" : "ti ti-alert-circle";
|
|
3156
|
+
_v$60 !== _p$.e && _$setAttribute(_el$238, "data-tone", _p$.e = _v$60);
|
|
3157
|
+
_v$61 !== _p$.t && _$className(_el$239, _p$.t = _v$61);
|
|
3040
3158
|
return _p$;
|
|
3041
3159
|
}, {
|
|
3042
3160
|
e: undefined,
|
|
3043
3161
|
t: undefined
|
|
3044
3162
|
});
|
|
3045
|
-
return _el$
|
|
3163
|
+
return _el$238;
|
|
3046
3164
|
})()
|
|
3047
|
-
}), _el$
|
|
3048
|
-
_$insert(_el$
|
|
3165
|
+
}), _el$133, _co$32);
|
|
3166
|
+
_$insert(_el$131, _$createComponent(Show, {
|
|
3049
3167
|
get when() {
|
|
3050
3168
|
return _$memo(() => !!suggestionsOpen())() && announcement();
|
|
3051
3169
|
},
|
|
3052
3170
|
keyed: true,
|
|
3053
3171
|
children: announced => (() => {
|
|
3054
|
-
var _el$
|
|
3055
|
-
_$insert(_el$
|
|
3056
|
-
return _el$
|
|
3172
|
+
var _el$241 = _$getNextElement(_tmpl$52);
|
|
3173
|
+
_$insert(_el$241, () => announced.text);
|
|
3174
|
+
return _el$241;
|
|
3057
3175
|
})()
|
|
3058
|
-
}), _el$
|
|
3176
|
+
}), _el$135, _co$33);
|
|
3059
3177
|
_$effect(_p$ => {
|
|
3060
3178
|
var _v$34 = `k2b-chat-composer ${props.class ?? ""}`,
|
|
3061
3179
|
_v$35 = running() ? "true" : undefined,
|
|
3062
3180
|
_v$36 = conversation() ? "conversation" : undefined,
|
|
3063
3181
|
_v$37 = props.label ?? chatMessages().messageComposer;
|
|
3064
|
-
_v$34 !== _p$.e && _$className(_el$
|
|
3065
|
-
_v$35 !== _p$.t && _$setAttribute(_el$
|
|
3066
|
-
_v$36 !== _p$.a && _$setAttribute(_el$
|
|
3067
|
-
_v$37 !== _p$.o && _$setAttribute(_el$
|
|
3182
|
+
_v$34 !== _p$.e && _$className(_el$96, _p$.e = _v$34);
|
|
3183
|
+
_v$35 !== _p$.t && _$setAttribute(_el$96, "data-running", _p$.t = _v$35);
|
|
3184
|
+
_v$36 !== _p$.a && _$setAttribute(_el$96, "data-variant", _p$.a = _v$36);
|
|
3185
|
+
_v$37 !== _p$.o && _$setAttribute(_el$96, "aria-label", _p$.o = _v$37);
|
|
3068
3186
|
return _p$;
|
|
3069
3187
|
}, {
|
|
3070
3188
|
e: undefined,
|