@inkeep/agents-ui 0.1.0 → 0.14.9
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/LICENSE +64 -0
- package/README.md +1 -67
- package/dist/_virtual/index.cjs +1 -0
- package/dist/_virtual/index.js +4 -0
- package/dist/_virtual/use-sync-external-store-shim.development.cjs +1 -0
- package/dist/_virtual/use-sync-external-store-shim.development.js +5 -0
- package/dist/_virtual/use-sync-external-store-shim.production.cjs +1 -0
- package/dist/_virtual/use-sync-external-store-shim.production.js +5 -0
- package/dist/color-mode/index.cjs +1 -0
- package/dist/color-mode/index.js +170 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +5093 -0
- package/dist/index.d.ts +5093 -0
- package/dist/index.js +213 -0
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.cjs +9 -0
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +68 -0
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.cjs +9 -0
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.0.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +56 -0
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.0.0/node_modules/use-sync-external-store/shim/index.cjs +1 -0
- package/dist/node_modules/.pnpm/use-sync-external-store@1.5.0_react@19.0.0/node_modules/use-sync-external-store/shim/index.js +8 -0
- package/dist/primitives/atoms/avatars/ai.cjs +1 -0
- package/dist/primitives/atoms/avatars/ai.js +99 -0
- package/dist/primitives/atoms/avatars/user.cjs +1 -0
- package/dist/primitives/atoms/avatars/user.js +27 -0
- package/dist/primitives/atoms/cmdk/command-score.cjs +1 -0
- package/dist/primitives/atoms/cmdk/command-score.js +46 -0
- package/dist/primitives/atoms/cmdk/index.cjs +1 -0
- package/dist/primitives/atoms/cmdk/index.js +521 -0
- package/dist/primitives/atoms/codeblock/index.cjs +1 -0
- package/dist/primitives/atoms/codeblock/index.js +40 -0
- package/dist/primitives/atoms/custom-styles.cjs +1 -0
- package/dist/primitives/atoms/custom-styles.js +57 -0
- package/dist/primitives/atoms/dialog.cjs +1 -0
- package/dist/primitives/atoms/dialog.js +226 -0
- package/dist/primitives/atoms/error-boundary.cjs +1 -0
- package/dist/primitives/atoms/error-boundary.js +9 -0
- package/dist/primitives/atoms/icons/built-in-icon-renderer.cjs +1 -0
- package/dist/primitives/atoms/icons/built-in-icon-renderer.js +51 -0
- package/dist/primitives/atoms/icons/built-in-icons.cjs +1 -0
- package/dist/primitives/atoms/icons/built-in-icons.js +86 -0
- package/dist/primitives/atoms/icons/checkbox-icon.cjs +1 -0
- package/dist/primitives/atoms/icons/checkbox-icon.js +24 -0
- package/dist/primitives/atoms/icons/collections/bi.cjs +1 -0
- package/dist/primitives/atoms/icons/collections/bi.js +49 -0
- package/dist/primitives/atoms/icons/collections/fi.cjs +1 -0
- package/dist/primitives/atoms/icons/collections/fi.js +29 -0
- package/dist/primitives/atoms/icons/collections/gr.cjs +1 -0
- package/dist/primitives/atoms/icons/collections/gr.js +21 -0
- package/dist/primitives/atoms/icons/collections/io5.cjs +1 -0
- package/dist/primitives/atoms/icons/collections/io5.js +806 -0
- package/dist/primitives/atoms/icons/collections/pi.cjs +1 -0
- package/dist/primitives/atoms/icons/collections/pi.js +49 -0
- package/dist/primitives/atoms/icons/custom-icon.cjs +1 -0
- package/dist/primitives/atoms/icons/custom-icon.js +19 -0
- package/dist/primitives/atoms/icons/generate-icon.cjs +1 -0
- package/dist/primitives/atoms/icons/generate-icon.js +56 -0
- package/dist/primitives/atoms/icons/index.cjs +1 -0
- package/dist/primitives/atoms/icons/index.js +6 -0
- package/dist/primitives/atoms/icons/inkeep-default-icons.cjs +1 -0
- package/dist/primitives/atoms/icons/inkeep-default-icons.js +24 -0
- package/dist/primitives/atoms/link.cjs +1 -0
- package/dist/primitives/atoms/link.js +35 -0
- package/dist/primitives/atoms/markdown/components.cjs +1 -0
- package/dist/primitives/atoms/markdown/components.js +73 -0
- package/dist/primitives/atoms/markdown/index.cjs +1 -0
- package/dist/primitives/atoms/markdown/index.js +115 -0
- package/dist/primitives/atoms/markdown/rehype-inline-code-property.cjs +1 -0
- package/dist/primitives/atoms/markdown/rehype-inline-code-property.js +12 -0
- package/dist/primitives/atoms/portal-with-theme.cjs +1 -0
- package/dist/primitives/atoms/portal-with-theme.js +12 -0
- package/dist/primitives/atoms/portal.cjs +1 -0
- package/dist/primitives/atoms/portal.js +19 -0
- package/dist/primitives/atoms/select.cjs +1 -0
- package/dist/primitives/atoms/select.js +785 -0
- package/dist/primitives/atoms/shadow/context.cjs +1 -0
- package/dist/primitives/atoms/shadow/context.js +54 -0
- package/dist/primitives/atoms/shadow/create.cjs +1 -0
- package/dist/primitives/atoms/shadow/create.js +56 -0
- package/dist/primitives/atoms/shadow/root.cjs +1 -0
- package/dist/primitives/atoms/shadow/root.js +22 -0
- package/dist/primitives/atoms/shadow/use-ensured-forwarded-ref.cjs +1 -0
- package/dist/primitives/atoms/shadow/use-ensured-forwarded-ref.js +11 -0
- package/dist/primitives/atoms/shadow/utils.cjs +1 -0
- package/dist/primitives/atoms/shadow/utils.js +16 -0
- package/dist/primitives/components/chat-button.cjs +1 -0
- package/dist/primitives/components/chat-button.js +46 -0
- package/dist/primitives/components/embedded-chat/chat-provider.cjs +1 -0
- package/dist/primitives/components/embedded-chat/chat-provider.js +20 -0
- package/dist/primitives/components/embedded-chat/use-chat-action.cjs +1 -0
- package/dist/primitives/components/embedded-chat/use-chat-action.js +38 -0
- package/dist/primitives/components/embedded-chat/use-inkeep-chat.cjs +3 -0
- package/dist/primitives/components/embedded-chat/use-inkeep-chat.js +160 -0
- package/dist/primitives/components/embedded-chat/use-stream-processor.cjs +1 -0
- package/dist/primitives/components/embedded-chat/use-stream-processor.js +82 -0
- package/dist/primitives/components/embedded-chat.cjs +11 -0
- package/dist/primitives/components/embedded-chat.js +1898 -0
- package/dist/primitives/components/embedded-search/search-provider.cjs +1 -0
- package/dist/primitives/components/embedded-search/search-provider.js +26 -0
- package/dist/primitives/components/embedded-search/transform-results.cjs +1 -0
- package/dist/primitives/components/embedded-search/transform-results.js +47 -0
- package/dist/primitives/components/embedded-search/url-query.cjs +1 -0
- package/dist/primitives/components/embedded-search/url-query.js +12 -0
- package/dist/primitives/components/embedded-search/use-inkeep-search.cjs +1 -0
- package/dist/primitives/components/embedded-search/use-inkeep-search.js +35 -0
- package/dist/primitives/components/embedded-search/use-search-filter.cjs +1 -0
- package/dist/primitives/components/embedded-search/use-search-filter.js +77 -0
- package/dist/primitives/components/embedded-search.cjs +1 -0
- package/dist/primitives/components/embedded-search.js +628 -0
- package/dist/primitives/components/factory.cjs +1 -0
- package/dist/primitives/components/factory.js +39 -0
- package/dist/primitives/components/index.cjs +1 -0
- package/dist/primitives/components/index.js +27 -0
- package/dist/primitives/components/modal/modal-provider.cjs +1 -0
- package/dist/primitives/components/modal/modal-provider.js +8 -0
- package/dist/primitives/components/modal/use-inkeep-modal.cjs +1 -0
- package/dist/primitives/components/modal/use-inkeep-modal.js +45 -0
- package/dist/primitives/components/modal/widget-auto-focus.cjs +1 -0
- package/dist/primitives/components/modal/widget-auto-focus.js +16 -0
- package/dist/primitives/components/modal.cjs +1 -0
- package/dist/primitives/components/modal.js +40 -0
- package/dist/primitives/components/presence.cjs +1 -0
- package/dist/primitives/components/presence.js +26 -0
- package/dist/primitives/components/searchbar.cjs +1 -0
- package/dist/primitives/components/searchbar.js +54 -0
- package/dist/primitives/components/sidebar-chat/index.cjs +1 -0
- package/dist/primitives/components/sidebar-chat/index.js +86 -0
- package/dist/primitives/components/sidebar-chat/use-sidebar-chat-resizer.cjs +1 -0
- package/dist/primitives/components/sidebar-chat/use-sidebar-chat-resizer.js +34 -0
- package/dist/primitives/components/tagline-logo-icon.cjs +1 -0
- package/dist/primitives/components/tagline-logo-icon.js +26 -0
- package/dist/primitives/components/use-component-trigger.cjs +1 -0
- package/dist/primitives/components/use-component-trigger.js +16 -0
- package/dist/primitives/constants/search.cjs +1 -0
- package/dist/primitives/constants/search.js +5 -0
- package/dist/primitives/hooks/index.cjs +1 -0
- package/dist/primitives/hooks/index.js +24 -0
- package/dist/primitives/hooks/use-boolean.cjs +1 -0
- package/dist/primitives/hooks/use-boolean.js +17 -0
- package/dist/primitives/hooks/use-component-classnames.cjs +1 -0
- package/dist/primitives/hooks/use-component-classnames.js +14 -0
- package/dist/primitives/hooks/use-container-size.cjs +1 -0
- package/dist/primitives/hooks/use-container-size.js +18 -0
- package/dist/primitives/hooks/use-copy-to-clipboard.cjs +1 -0
- package/dist/primitives/hooks/use-copy-to-clipboard.js +24 -0
- package/dist/primitives/hooks/use-debounce.cjs +1 -0
- package/dist/primitives/hooks/use-debounce.js +16 -0
- package/dist/primitives/hooks/use-instant-update.cjs +1 -0
- package/dist/primitives/hooks/use-instant-update.js +16 -0
- package/dist/primitives/hooks/use-is-mounted.cjs +1 -0
- package/dist/primitives/hooks/use-is-mounted.js +11 -0
- package/dist/primitives/hooks/use-media-query.cjs +1 -0
- package/dist/primitives/hooks/use-media-query.js +14 -0
- package/dist/primitives/hooks/use-resize-observer.cjs +1 -0
- package/dist/primitives/hooks/use-resize-observer.js +32 -0
- package/dist/primitives/hooks/use-scroll-to-bottom.cjs +1 -0
- package/dist/primitives/hooks/use-scroll-to-bottom.js +52 -0
- package/dist/primitives/hooks/use-scrolling-fades.cjs +1 -0
- package/dist/primitives/hooks/use-scrolling-fades.js +18 -0
- package/dist/primitives/hooks/use-settle-action.cjs +1 -0
- package/dist/primitives/hooks/use-settle-action.js +11 -0
- package/dist/primitives/index.cjs +1 -0
- package/dist/primitives/index.js +155 -0
- package/dist/primitives/providers/attachment-item-provider.cjs +1 -0
- package/dist/primitives/providers/attachment-item-provider.js +13 -0
- package/dist/primitives/providers/attachments-bar-provider.cjs +1 -0
- package/dist/primitives/providers/attachments-bar-provider.js +57 -0
- package/dist/primitives/providers/base-events-provider.cjs +1 -0
- package/dist/primitives/providers/base-events-provider.js +37 -0
- package/dist/primitives/providers/chat-form-provider.cjs +1 -0
- package/dist/primitives/providers/chat-form-provider.js +109 -0
- package/dist/primitives/providers/config-provider.cjs +1 -0
- package/dist/primitives/providers/config-provider.js +38 -0
- package/dist/primitives/providers/feedback-item-provider.cjs +1 -0
- package/dist/primitives/providers/feedback-item-provider.js +16 -0
- package/dist/primitives/providers/feedback-provider.cjs +1 -0
- package/dist/primitives/providers/feedback-provider.js +83 -0
- package/dist/primitives/providers/form-field-provider.cjs +1 -0
- package/dist/primitives/providers/form-field-provider.js +17 -0
- package/dist/primitives/providers/help-menu-provider.cjs +1 -0
- package/dist/primitives/providers/help-menu-provider.js +19 -0
- package/dist/primitives/providers/hover-popover-provider.cjs +1 -0
- package/dist/primitives/providers/hover-popover-provider.js +13 -0
- package/dist/primitives/providers/index.cjs +1 -0
- package/dist/primitives/providers/index.js +57 -0
- package/dist/primitives/providers/markdown-provider.cjs +1 -0
- package/dist/primitives/providers/markdown-provider.js +8 -0
- package/dist/primitives/providers/message-attachments-provider.cjs +1 -0
- package/dist/primitives/providers/message-attachments-provider.js +27 -0
- package/dist/primitives/providers/message-provider.cjs +1 -0
- package/dist/primitives/providers/message-provider.js +14 -0
- package/dist/primitives/providers/root-provider.cjs +1 -0
- package/dist/primitives/providers/root-provider.js +21 -0
- package/dist/primitives/providers/search-events-provider.cjs +1 -0
- package/dist/primitives/providers/search-events-provider.js +17 -0
- package/dist/primitives/providers/sidebar-chat-provider.cjs +1 -0
- package/dist/primitives/providers/sidebar-chat-provider.js +41 -0
- package/dist/primitives/providers/source-item-provider.cjs +1 -0
- package/dist/primitives/providers/source-item-provider.js +13 -0
- package/dist/primitives/providers/theme-provider.cjs +3 -0
- package/dist/primitives/providers/theme-provider.js +79 -0
- package/dist/primitives/providers/widget-provider.cjs +1 -0
- package/dist/primitives/providers/widget-provider.js +8 -0
- package/dist/primitives/utils/component-ids.cjs +1 -0
- package/dist/primitives/utils/component-ids.js +309 -0
- package/dist/primitives/utils/compose-event-handlers.cjs +1 -0
- package/dist/primitives/utils/compose-event-handlers.js +10 -0
- package/dist/primitives/utils/compose-refs.cjs +1 -0
- package/dist/primitives/utils/compose-refs.js +30 -0
- package/dist/primitives/utils/default-settings.cjs +1 -0
- package/dist/primitives/utils/default-settings.js +50 -0
- package/dist/primitives/utils/form.cjs +1 -0
- package/dist/primitives/utils/form.js +17 -0
- package/dist/primitives/utils/generate-uid.cjs +1 -0
- package/dist/primitives/utils/generate-uid.js +14 -0
- package/dist/primitives/utils/get-source-icon.cjs +1 -0
- package/dist/primitives/utils/get-source-icon.js +11 -0
- package/dist/primitives/utils/highlight-emphasis.cjs +1 -0
- package/dist/primitives/utils/highlight-emphasis.js +15 -0
- package/dist/primitives/utils/merge-props.cjs +1 -0
- package/dist/primitives/utils/merge-props.js +41 -0
- package/dist/primitives/utils/misc.cjs +1 -0
- package/dist/primitives/utils/misc.js +31 -0
- package/dist/primitives/utils/split-props.cjs +1 -0
- package/dist/primitives/utils/split-props.js +10 -0
- package/dist/react/chat-button.cjs +1 -0
- package/dist/react/chat-button.js +60 -0
- package/dist/react/embedded-chat.cjs +1 -0
- package/dist/react/embedded-chat.js +380 -0
- package/dist/react/embedded-search-and-chat.cjs +1 -0
- package/dist/react/embedded-search-and-chat.impl.cjs +1 -0
- package/dist/react/embedded-search-and-chat.impl.js +43 -0
- package/dist/react/embedded-search-and-chat.js +66 -0
- package/dist/react/embedded-search.cjs +1 -0
- package/dist/react/embedded-search.js +181 -0
- package/dist/react/index.cjs +1 -0
- package/dist/react/index.js +213 -0
- package/dist/react/modal.chat.cjs +1 -0
- package/dist/react/modal.chat.js +21 -0
- package/dist/react/modal.cjs +1 -0
- package/dist/react/modal.js +27 -0
- package/dist/react/modal.search-and-chat.cjs +1 -0
- package/dist/react/modal.search-and-chat.js +27 -0
- package/dist/react/modal.search.cjs +1 -0
- package/dist/react/modal.search.js +21 -0
- package/dist/react/searchbar.cjs +1 -0
- package/dist/react/searchbar.js +68 -0
- package/dist/react/sidebar-chat.cjs +1 -0
- package/dist/react/sidebar-chat.js +49 -0
- package/dist/react/utils.cjs +1 -0
- package/dist/react/utils.js +20 -0
- package/dist/react/widget-toggle.cjs +1 -0
- package/dist/react/widget-toggle.js +65 -0
- package/dist/styled/components/chat-button.cjs +1 -0
- package/dist/styled/components/chat-button.js +56 -0
- package/dist/styled/components/data-summary-group.cjs +1 -0
- package/dist/styled/components/data-summary-group.js +76 -0
- package/dist/styled/components/embedded-chat.cjs +1 -0
- package/dist/styled/components/embedded-chat.js +1816 -0
- package/dist/styled/components/embedded-search/results-loading.cjs +1 -0
- package/dist/styled/components/embedded-search/results-loading.js +39 -0
- package/dist/styled/components/embedded-search.cjs +1 -0
- package/dist/styled/components/embedded-search.js +680 -0
- package/dist/styled/components/index.cjs +1 -0
- package/dist/styled/components/index.js +24 -0
- package/dist/styled/components/loading-indicator.cjs +1 -0
- package/dist/styled/components/loading-indicator.js +36 -0
- package/dist/styled/components/message.cjs +1 -0
- package/dist/styled/components/message.js +140 -0
- package/dist/styled/components/modal.cjs +1 -0
- package/dist/styled/components/modal.js +46 -0
- package/dist/styled/components/searchbar.cjs +1 -0
- package/dist/styled/components/searchbar.js +81 -0
- package/dist/styled/components/shadow.cjs +1 -0
- package/dist/styled/components/shadow.js +8 -0
- package/dist/styled/components/sidebar-chat.cjs +1 -0
- package/dist/styled/components/sidebar-chat.js +90 -0
- package/dist/styled/components/ui/markdown-styles.cjs +1 -0
- package/dist/styled/components/ui/markdown-styles.js +38 -0
- package/dist/styled/components/ui/recipes/ai-chat-page-wrapper.cjs +1 -0
- package/dist/styled/components/ui/recipes/ai-chat-page-wrapper.js +32 -0
- package/dist/styled/components/ui/recipes/attachment.cjs +1 -0
- package/dist/styled/components/ui/recipes/attachment.js +28 -0
- package/dist/styled/components/ui/recipes/button.cjs +1 -0
- package/dist/styled/components/ui/recipes/button.js +81 -0
- package/dist/styled/components/ui/recipes/checkbox.cjs +1 -0
- package/dist/styled/components/ui/recipes/checkbox.js +23 -0
- package/dist/styled/components/ui/recipes/citation.cjs +1 -0
- package/dist/styled/components/ui/recipes/citation.js +75 -0
- package/dist/styled/components/ui/recipes/icon.cjs +1 -0
- package/dist/styled/components/ui/recipes/icon.js +6 -0
- package/dist/styled/components/ui/recipes/index.cjs +1 -0
- package/dist/styled/components/ui/recipes/index.js +37 -0
- package/dist/styled/components/ui/recipes/input.cjs +1 -0
- package/dist/styled/components/ui/recipes/input.js +34 -0
- package/dist/styled/components/ui/recipes/link.cjs +1 -0
- package/dist/styled/components/ui/recipes/link.js +13 -0
- package/dist/styled/components/ui/recipes/markdown.cjs +1 -0
- package/dist/styled/components/ui/recipes/markdown.js +103 -0
- package/dist/styled/components/ui/recipes/modal.cjs +1 -0
- package/dist/styled/components/ui/recipes/modal.js +59 -0
- package/dist/styled/components/ui/recipes/popover.cjs +1 -0
- package/dist/styled/components/ui/recipes/popover.js +20 -0
- package/dist/styled/components/ui/recipes/scrollable.cjs +1 -0
- package/dist/styled/components/ui/recipes/scrollable.js +15 -0
- package/dist/styled/components/ui/recipes/select.cjs +1 -0
- package/dist/styled/components/ui/recipes/select.js +38 -0
- package/dist/styled/components/ui/recipes/skeleton.cjs +1 -0
- package/dist/styled/components/ui/recipes/skeleton.js +16 -0
- package/dist/styled/components/ui/recipes/widget-toggle.cjs +1 -0
- package/dist/styled/components/ui/recipes/widget-toggle.js +35 -0
- package/dist/styled/index.cjs +1 -0
- package/dist/styled/index.js +177 -0
- package/dist/styled/inkeep.css.cjs +4049 -0
- package/dist/styled/inkeep.css.js +4053 -0
- package/dist/styled/utils.cjs +1 -0
- package/dist/styled/utils.js +11 -0
- package/dist/theme/color-utils.cjs +1 -0
- package/dist/theme/color-utils.js +21 -0
- package/dist/theme/colors.cjs +1 -0
- package/dist/theme/colors.js +143 -0
- package/dist/theme/index.cjs +1 -0
- package/dist/theme/index.js +58 -0
- package/dist/theme/utils/create-css-variables.cjs +1 -0
- package/dist/theme/utils/create-css-variables.js +24 -0
- package/dist/theme/utils/generate-theme-variables.cjs +1 -0
- package/dist/theme/utils/generate-theme-variables.js +34 -0
- package/dist/types/message.cjs +1 -0
- package/dist/types/message.js +5 -0
- package/dist/types/types.d.cts +1754 -0
- package/dist/types/types.d.ts +1754 -0
- package/package.json +132 -39
- package/LICENSE.md +0 -51
- package/dist/assets/index-3anqgmEs.js +0 -49
- package/dist/assets/index-CF_BRP1w.css +0 -1
- package/dist/index.html +0 -14
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useState as g, useRef as z, useEffect as x } from "react";
|
|
3
|
+
import { useIsMounted as l } from "./use-is-mounted.js";
|
|
4
|
+
const w = {
|
|
5
|
+
width: void 0,
|
|
6
|
+
height: void 0
|
|
7
|
+
};
|
|
8
|
+
function B(t) {
|
|
9
|
+
const { ref: e, box: i = "content-box" } = t, [{ width: v, height: a }, b] = g(w), s = l(), n = z({ ...w }), r = z(void 0);
|
|
10
|
+
return r.current = t.onResize, x(() => {
|
|
11
|
+
if (!e.current || typeof window > "u" || !("ResizeObserver" in window)) return;
|
|
12
|
+
const u = new ResizeObserver(([d]) => {
|
|
13
|
+
const h = i === "border-box" ? "borderBoxSize" : i === "device-pixel-content-box" ? "devicePixelContentBoxSize" : "contentBoxSize", o = S(d, h, "inlineSize"), c = S(d, h, "blockSize");
|
|
14
|
+
if (n.current.width !== o || n.current.height !== c) {
|
|
15
|
+
const f = { width: o, height: c };
|
|
16
|
+
n.current.width = o, n.current.height = c, r.current ? r.current(f) : s() && b(f);
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
return u.observe(e.current, { box: i }), () => {
|
|
20
|
+
u.disconnect();
|
|
21
|
+
};
|
|
22
|
+
}, [i, e, s]), { width: v, height: a };
|
|
23
|
+
}
|
|
24
|
+
function S(t, e, i) {
|
|
25
|
+
return t[e] ? Array.isArray(t[e]) ? t[e][0][i] : (
|
|
26
|
+
// @ts-expect-error: TS doesn't know that box is a key of ResizeObserverEntry
|
|
27
|
+
t[e][i]
|
|
28
|
+
) : e === "contentBoxSize" ? t.contentRect[i === "inlineSize" ? "width" : "height"] : void 0;
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
B as useResizeObserver
|
|
32
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react");function d(h={}){const{threshold:i=150,interactionTimeout:a=150}=h,o=r.useRef(null),f=r.useRef(!0),u=r.useRef(!1),l=r.useCallback(()=>{const e=o.current;return e?e.scrollHeight-e.clientHeight-e.scrollTop<i:!1},[i]),n=r.useCallback((e=!1)=>{const t=o.current;!t||u.current||t.scrollTo({top:t.scrollHeight,behavior:e?"smooth":"auto"})},[]);return r.useEffect(()=>{const e=o.current;if(!e)return;let t;const s=()=>{u.current=!0,f.current=l(),window.clearTimeout(t),t=window.setTimeout(()=>{u.current=!1},a)};return e.addEventListener("scroll",s,{passive:!0}),()=>{e.removeEventListener("scroll",s),window.clearTimeout(t)}},[l,a]),r.useEffect(()=>{const e=o.current;if(!e)return;const t=new MutationObserver(s=>{s.some(c=>c.type==="childList"||c.type==="characterData"||c.type==="attributes"&&c.attributeName==="style")&&f.current&&n(!0)});return t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["style"],characterData:!0}),()=>t.disconnect()},[n]),r.useEffect(()=>{o.current&&n()},[n]),{containerRef:o,scrollToBottom:n,isNearBottom:l}}exports.useScrollToBottom=d;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useRef as u, useCallback as d, useEffect as i } from "react";
|
|
3
|
+
function v(m = {}) {
|
|
4
|
+
const { threshold: a = 150, interactionTimeout: f = 150 } = m, r = u(null), h = u(!0), s = u(!1), l = d(() => {
|
|
5
|
+
const t = r.current;
|
|
6
|
+
return t ? t.scrollHeight - t.clientHeight - t.scrollTop < a : !1;
|
|
7
|
+
}, [a]), o = d((t = !1) => {
|
|
8
|
+
const e = r.current;
|
|
9
|
+
!e || s.current || e.scrollTo({
|
|
10
|
+
top: e.scrollHeight,
|
|
11
|
+
behavior: t ? "smooth" : "auto"
|
|
12
|
+
});
|
|
13
|
+
}, []);
|
|
14
|
+
return i(() => {
|
|
15
|
+
const t = r.current;
|
|
16
|
+
if (!t) return;
|
|
17
|
+
let e;
|
|
18
|
+
const n = () => {
|
|
19
|
+
s.current = !0, h.current = l(), window.clearTimeout(e), e = window.setTimeout(() => {
|
|
20
|
+
s.current = !1;
|
|
21
|
+
}, f);
|
|
22
|
+
};
|
|
23
|
+
return t.addEventListener("scroll", n, { passive: !0 }), () => {
|
|
24
|
+
t.removeEventListener("scroll", n), window.clearTimeout(e);
|
|
25
|
+
};
|
|
26
|
+
}, [l, f]), i(() => {
|
|
27
|
+
const t = r.current;
|
|
28
|
+
if (!t) return;
|
|
29
|
+
const e = new MutationObserver((n) => {
|
|
30
|
+
n.some(
|
|
31
|
+
(c) => c.type === "childList" || c.type === "characterData" || c.type === "attributes" && c.attributeName === "style"
|
|
32
|
+
) && h.current && o(!0);
|
|
33
|
+
});
|
|
34
|
+
return e.observe(t, {
|
|
35
|
+
childList: !0,
|
|
36
|
+
subtree: !0,
|
|
37
|
+
attributes: !0,
|
|
38
|
+
attributeFilter: ["style"],
|
|
39
|
+
// Only watch style changes
|
|
40
|
+
characterData: !0
|
|
41
|
+
}), () => e.disconnect();
|
|
42
|
+
}, [o]), i(() => {
|
|
43
|
+
r.current && o();
|
|
44
|
+
}, [o]), {
|
|
45
|
+
containerRef: r,
|
|
46
|
+
scrollToBottom: o,
|
|
47
|
+
isNearBottom: l
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export {
|
|
51
|
+
v as useScrollToBottom
|
|
52
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react");function n(){const r=o.useRef(null),t=o.useCallback(()=>{const e=r.current;e&&(e.scrollTop===0?e.setAttribute("data-scroll-top",""):e.removeAttribute("data-scroll-top"),e.scrollTop+e.clientHeight>=e.scrollHeight-1?e.setAttribute("data-scroll-bottom",""):e.removeAttribute("data-scroll-bottom"))},[]);return o.useEffect(()=>{const e=r.current;if(e)return t(),e.addEventListener("scroll",t),window.addEventListener("resize",t),()=>{e.removeEventListener("scroll",t),window.removeEventListener("resize",t)}},[t]),r}exports.useScrollingFades=n;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useRef as o, useCallback as n, useEffect as s } from "react";
|
|
3
|
+
function i() {
|
|
4
|
+
const r = o(null), t = n(() => {
|
|
5
|
+
const e = r.current;
|
|
6
|
+
e && (e.scrollTop === 0 ? e.setAttribute("data-scroll-top", "") : e.removeAttribute("data-scroll-top"), e.scrollTop + e.clientHeight >= e.scrollHeight - 1 ? e.setAttribute("data-scroll-bottom", "") : e.removeAttribute("data-scroll-bottom"));
|
|
7
|
+
}, []);
|
|
8
|
+
return s(() => {
|
|
9
|
+
const e = r.current;
|
|
10
|
+
if (e)
|
|
11
|
+
return t(), e.addEventListener("scroll", t), window.addEventListener("resize", t), () => {
|
|
12
|
+
e.removeEventListener("scroll", t), window.removeEventListener("resize", t);
|
|
13
|
+
};
|
|
14
|
+
}, [t]), r;
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
i as useScrollingFades
|
|
18
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react");function l(){const[s,e]=t.useState(!1),u=t.useCallback(async()=>(e(!0),setTimeout(()=>{e(!1)},1e3),!0),[]);return[s,u]}exports.useSettleAction=l;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("./providers/attachment-item-provider.cjs"),c=require("./providers/attachments-bar-provider.cjs"),C=require("./providers/base-events-provider.cjs"),a=require("./providers/chat-form-provider.cjs"),n=require("./providers/config-provider.cjs"),h=require("./providers/feedback-item-provider.cjs"),l=require("./providers/feedback-provider.cjs"),v=require("./providers/form-field-provider.cjs"),i=require("./providers/help-menu-provider.cjs"),P=require("./providers/markdown-provider.cjs"),p=require("./providers/message-attachments-provider.cjs"),d=require("./providers/message-provider.cjs"),F=require("./providers/root-provider.cjs"),I=require("./providers/source-item-provider.cjs"),k=require("./providers/theme-provider.cjs"),S=require("./providers/widget-provider.cjs"),t=require("./providers/sidebar-chat-provider.cjs"),q=require("./components/factory.cjs"),B=require("./components/embedded-chat.cjs"),y=require("./components/sidebar-chat/index.cjs"),g=require("./components/embedded-chat/chat-provider.cjs"),A=require("./components/embedded-search.cjs"),u=require("./components/embedded-search/search-provider.cjs"),f=require("./components/modal.cjs"),b=require("./components/modal/modal-provider.cjs"),R=require("./components/chat-button.cjs"),w=require("./components/searchbar.cjs"),T=require("./hooks/use-boolean.cjs"),E=require("./hooks/use-component-classnames.cjs"),W=require("./hooks/use-container-size.cjs"),O=require("./hooks/use-copy-to-clipboard.cjs"),x=require("./hooks/use-instant-update.cjs"),z=require("./hooks/use-is-mounted.cjs"),D=require("./hooks/use-media-query.cjs"),H=require("./hooks/use-resize-observer.cjs"),L=require("./hooks/use-scrolling-fades.cjs"),j=require("./hooks/use-settle-action.cjs"),Q=require("./hooks/use-scroll-to-bottom.cjs"),o=require("./utils/misc.cjs"),r=require("./utils/component-ids.cjs"),M=require("./utils/compose-refs.cjs"),U=require("./utils/merge-props.cjs"),K=require("./atoms/portal.cjs"),N=require("./atoms/icons/custom-icon.cjs"),$=require("./atoms/icons/built-in-icon-renderer.cjs"),G=require("./atoms/portal-with-theme.cjs"),e=require("./atoms/cmdk/index.cjs"),J=require("./atoms/error-boundary.cjs"),s=require("./atoms/shadow/context.cjs");exports.AttachmentItemProvider=m.AttachmentItemProvider;exports.useAttachmentItem=m.useAttachmentItem;exports.AttachmentsBarProvider=c.AttachmentsBarProvider;exports.useAttachmentsBar=c.useAttachmentsBar;exports.BaseEventsProvider=C.BaseEventsProvider;exports.useBaseEvents=C.useBaseEvents;exports.ChatFormProvider=a.ChatFormProvider;exports.useChatForm=a.useChatForm;exports.useChatFormState=a.useChatFormState;exports.InkeepConfigProvider=n.InkeepConfigProvider;exports.WebWidgetInteractionType=n.WebWidgetInteractionType;exports.useInkeepConfig=n.useInkeepConfig;exports.FeedbackItemProvider=h.FeedbackItemProvider;exports.useFeedbackItem=h.useFeedbackItem;exports.FeedbackProvider=l.FeedbackProvider;exports.useMessageFeedback=l.useMessageFeedback;exports.FormFieldProvider=v.FormFieldProvider;exports.useFormField=v.useFormField;exports.HelpMenuProvider=i.HelpMenuProvider;exports.useHelpMenu=i.useHelpMenu;exports.useHelpMenuState=i.useHelpMenuState;exports.ChatMarkdownProvider=P.ChatMarkdownProvider;exports.useChatMarkdown=P.useChatMarkdown;exports.MessageAttachmentsProvider=p.MessageAttachmentsProvider;exports.useMessageAttachments=p.useMessageAttachments;exports.MessageProvider=d.MessageProvider;exports.useMessage=d.useMessage;exports.useOptionalMessage=d.useOptionalMessage;exports.RootProvider=F.RootProvider;exports.SourceItemProvider=I.SourceItemProvider;exports.useSourceItem=I.useSourceItem;exports.ThemeProvider=k.ThemeProvider;exports.WidgetProvider=S.WidgetProvider;exports.useWidget=S.useWidget;exports.SidebarChatProvider=t.SidebarChatProvider;exports.useInkeepSidebarChat=t.useInkeepSidebarChat;exports.useOptionalSidebarChat=t.useOptionalSidebarChat;exports.useSidebarChat=t.useSidebarChat;exports.ikp=q.ikp;exports.jsxFactory=q.jsxFactory;exports.EmbeddedChatPrimitive=B;exports.SidebarChatPrimitive=y;exports.ChatProvider=g.ChatProvider;exports.useChat=g.useChat;exports.EmbeddedSearchPrimitive=A;exports.SearchProvider=u.SearchProvider;exports.SearchProviderImpl=u.SearchProviderImpl;exports.useSearch=u.useSearch;exports.ModalPrimitive=f;exports.ModalProvider=b.ModalProvider;exports.useModal=b.useModal;exports.ChatButtonPrimitive=R;exports.SearchBarPrimitive=w;exports.useBoolean=T.useBoolean;exports.useComponentClassNames=E.useComponentClassNames;exports.useContainerSize=W.useContainerSize;exports.useCopyToClipboard=O.useCopyToClipboard;exports.useInstantUpdate=x.useInstantUpdate;exports.useIsMounted=z.useIsMounted;exports.useMediaQuery=D.useMediaQuery;exports.useResizeObserver=H.useResizeObserver;exports.useScrollingFades=L.useScrollingFades;exports.useSettleAction=j.useSettleAction;exports.useScrollToBottom=Q.useScrollToBottom;exports.callAll=o.callAll;exports.dataAttr=o.dataAttr;exports.getInitials=o.getInitials;exports.getMessageContent=o.getMessageContent;exports.isString=o.isString;exports.maybeRender=o.maybeRender;exports.toKebabCase=o.toKebabCase;exports.SearchBarComponentIds=r.SearchBarComponentIds;exports.SidebarChatComponentIds=r.SidebarChatComponentIds;exports.aiChatComponentIds=r.aiChatComponentIds;exports.aiSearchComponentIds=r.aiSearchComponentIds;exports.chatButtonComponentIds=r.chatButtonComponentIds;exports.componentIDs=r.componentIDs;exports.markDownComponentIds=r.markDownComponentIds;exports.miscellanousComponentIds=r.miscellanousComponentIds;exports.modalComponentIds=r.modalComponentIds;exports.composeRefs=M.composeRefs;exports.useComposedRefs=M.useComposedRefs;exports.mergeProps=U.mergeProps;exports.Portal=K.Portal;exports.CustomIcon=N.CustomIcon;exports.BuiltInIconRenderer=$.BuiltInIconRenderer;exports.PortalWithTheme=G.PortalWithTheme;exports.Command=e.Command;exports.CommandDialog=e.CommandDialog;exports.CommandEmpty=e.CommandEmpty;exports.CommandInput=e.CommandInput;exports.CommandItem=e.CommandItem;exports.CommandList=e.CommandList;exports.CommandLoading=e.CommandLoading;exports.CommandRoot=e.CommandRoot;exports.CommandSeparator=e.CommandSeparator;exports.defaultFilter=e.defaultFilter;exports.useCommandState=e.useCommandState;exports.useCommandStore=e.useCommandStore;exports.ErrorBoundary=J.ErrorBoundary;exports.InkeepShadow=s.InkeepShadow;exports.InkeepShadowProvider=s.InkeepShadowProvider;exports.ShadowContext=s.ShadowContext;exports.useShadow=s.useShadow;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { AttachmentItemProvider as p, useAttachmentItem as i } from "./providers/attachment-item-provider.js";
|
|
2
|
+
import { AttachmentsBarProvider as f, useAttachmentsBar as u } from "./providers/attachments-bar-provider.js";
|
|
3
|
+
import { BaseEventsProvider as C, useBaseEvents as h } from "./providers/base-events-provider.js";
|
|
4
|
+
import { ChatFormProvider as l, useChatForm as v, useChatFormState as P } from "./providers/chat-form-provider.js";
|
|
5
|
+
import { InkeepConfigProvider as S, WebWidgetInteractionType as b, useInkeepConfig as g } from "./providers/config-provider.js";
|
|
6
|
+
import { FeedbackItemProvider as F, useFeedbackItem as k } from "./providers/feedback-item-provider.js";
|
|
7
|
+
import { FeedbackProvider as A, useMessageFeedback as w } from "./providers/feedback-provider.js";
|
|
8
|
+
import { FormFieldProvider as R, useFormField as E } from "./providers/form-field-provider.js";
|
|
9
|
+
import { HelpMenuProvider as W, useHelpMenu as D, useHelpMenuState as H } from "./providers/help-menu-provider.js";
|
|
10
|
+
import { ChatMarkdownProvider as z, useChatMarkdown as L } from "./providers/markdown-provider.js";
|
|
11
|
+
import { MessageAttachmentsProvider as K, useMessageAttachments as N } from "./providers/message-attachments-provider.js";
|
|
12
|
+
import { MessageProvider as U, useMessage as q, useOptionalMessage as G } from "./providers/message-provider.js";
|
|
13
|
+
import { RootProvider as V } from "./providers/root-provider.js";
|
|
14
|
+
import { SourceItemProvider as Y, useSourceItem as Z } from "./providers/source-item-provider.js";
|
|
15
|
+
import { ThemeProvider as $ } from "./providers/theme-provider.js";
|
|
16
|
+
import { WidgetProvider as oe, useWidget as re } from "./providers/widget-provider.js";
|
|
17
|
+
import { SidebarChatProvider as me, useInkeepSidebarChat as ae, useOptionalSidebarChat as se, useSidebarChat as de } from "./providers/sidebar-chat-provider.js";
|
|
18
|
+
import { ikp as ie, jsxFactory as ne } from "./components/factory.js";
|
|
19
|
+
import * as e from "./components/embedded-chat.js";
|
|
20
|
+
import * as o from "./components/sidebar-chat/index.js";
|
|
21
|
+
import { ChatProvider as ue, useChat as xe } from "./components/embedded-chat/chat-provider.js";
|
|
22
|
+
import * as r from "./components/embedded-search.js";
|
|
23
|
+
import { SearchProvider as he, SearchProviderImpl as ce, useSearch as le } from "./components/embedded-search/search-provider.js";
|
|
24
|
+
import * as t from "./components/modal.js";
|
|
25
|
+
import { ModalProvider as Pe, useModal as Ie } from "./components/modal/modal-provider.js";
|
|
26
|
+
import * as m from "./components/chat-button.js";
|
|
27
|
+
import * as a from "./components/searchbar.js";
|
|
28
|
+
import { useBoolean as be } from "./hooks/use-boolean.js";
|
|
29
|
+
import { useComponentClassNames as Me } from "./hooks/use-component-classnames.js";
|
|
30
|
+
import { useContainerSize as ke } from "./hooks/use-container-size.js";
|
|
31
|
+
import { useCopyToClipboard as Ae } from "./hooks/use-copy-to-clipboard.js";
|
|
32
|
+
import { useInstantUpdate as ye } from "./hooks/use-instant-update.js";
|
|
33
|
+
import { useIsMounted as Ee } from "./hooks/use-is-mounted.js";
|
|
34
|
+
import { useMediaQuery as We } from "./hooks/use-media-query.js";
|
|
35
|
+
import { useResizeObserver as He } from "./hooks/use-resize-observer.js";
|
|
36
|
+
import { useScrollingFades as ze } from "./hooks/use-scrolling-fades.js";
|
|
37
|
+
import { useSettleAction as je } from "./hooks/use-settle-action.js";
|
|
38
|
+
import { useScrollToBottom as Ne } from "./hooks/use-scroll-to-bottom.js";
|
|
39
|
+
import { callAll as Ue, dataAttr as qe, getInitials as Ge, getMessageContent as Je, isString as Ve, maybeRender as Xe, toKebabCase as Ye } from "./utils/misc.js";
|
|
40
|
+
import { SearchBarComponentIds as _e, SidebarChatComponentIds as $e, aiChatComponentIds as eo, aiSearchComponentIds as oo, chatButtonComponentIds as ro, componentIDs as to, markDownComponentIds as mo, miscellanousComponentIds as ao, modalComponentIds as so } from "./utils/component-ids.js";
|
|
41
|
+
import { composeRefs as io, useComposedRefs as no } from "./utils/compose-refs.js";
|
|
42
|
+
import { mergeProps as uo } from "./utils/merge-props.js";
|
|
43
|
+
import { Portal as Co } from "./atoms/portal.js";
|
|
44
|
+
import { CustomIcon as co } from "./atoms/icons/custom-icon.js";
|
|
45
|
+
import { BuiltInIconRenderer as vo } from "./atoms/icons/built-in-icon-renderer.js";
|
|
46
|
+
import { PortalWithTheme as Io } from "./atoms/portal-with-theme.js";
|
|
47
|
+
import { Command as bo, CommandDialog as go, CommandEmpty as Mo, CommandInput as Fo, CommandItem as ko, CommandList as Bo, CommandLoading as Ao, CommandRoot as wo, CommandSeparator as yo, defaultFilter as Ro, useCommandState as Eo, useCommandStore as To } from "./atoms/cmdk/index.js";
|
|
48
|
+
import { ErrorBoundary as Do } from "./atoms/error-boundary.js";
|
|
49
|
+
import { InkeepShadow as Oo, InkeepShadowProvider as zo, ShadowContext as Lo, useShadow as jo } from "./atoms/shadow/context.js";
|
|
50
|
+
export {
|
|
51
|
+
p as AttachmentItemProvider,
|
|
52
|
+
f as AttachmentsBarProvider,
|
|
53
|
+
C as BaseEventsProvider,
|
|
54
|
+
vo as BuiltInIconRenderer,
|
|
55
|
+
m as ChatButtonPrimitive,
|
|
56
|
+
l as ChatFormProvider,
|
|
57
|
+
z as ChatMarkdownProvider,
|
|
58
|
+
ue as ChatProvider,
|
|
59
|
+
bo as Command,
|
|
60
|
+
go as CommandDialog,
|
|
61
|
+
Mo as CommandEmpty,
|
|
62
|
+
Fo as CommandInput,
|
|
63
|
+
ko as CommandItem,
|
|
64
|
+
Bo as CommandList,
|
|
65
|
+
Ao as CommandLoading,
|
|
66
|
+
wo as CommandRoot,
|
|
67
|
+
yo as CommandSeparator,
|
|
68
|
+
co as CustomIcon,
|
|
69
|
+
e as EmbeddedChatPrimitive,
|
|
70
|
+
r as EmbeddedSearchPrimitive,
|
|
71
|
+
Do as ErrorBoundary,
|
|
72
|
+
F as FeedbackItemProvider,
|
|
73
|
+
A as FeedbackProvider,
|
|
74
|
+
R as FormFieldProvider,
|
|
75
|
+
W as HelpMenuProvider,
|
|
76
|
+
S as InkeepConfigProvider,
|
|
77
|
+
Oo as InkeepShadow,
|
|
78
|
+
zo as InkeepShadowProvider,
|
|
79
|
+
K as MessageAttachmentsProvider,
|
|
80
|
+
U as MessageProvider,
|
|
81
|
+
t as ModalPrimitive,
|
|
82
|
+
Pe as ModalProvider,
|
|
83
|
+
Co as Portal,
|
|
84
|
+
Io as PortalWithTheme,
|
|
85
|
+
V as RootProvider,
|
|
86
|
+
_e as SearchBarComponentIds,
|
|
87
|
+
a as SearchBarPrimitive,
|
|
88
|
+
he as SearchProvider,
|
|
89
|
+
ce as SearchProviderImpl,
|
|
90
|
+
Lo as ShadowContext,
|
|
91
|
+
$e as SidebarChatComponentIds,
|
|
92
|
+
o as SidebarChatPrimitive,
|
|
93
|
+
me as SidebarChatProvider,
|
|
94
|
+
Y as SourceItemProvider,
|
|
95
|
+
$ as ThemeProvider,
|
|
96
|
+
b as WebWidgetInteractionType,
|
|
97
|
+
oe as WidgetProvider,
|
|
98
|
+
eo as aiChatComponentIds,
|
|
99
|
+
oo as aiSearchComponentIds,
|
|
100
|
+
Ue as callAll,
|
|
101
|
+
ro as chatButtonComponentIds,
|
|
102
|
+
to as componentIDs,
|
|
103
|
+
io as composeRefs,
|
|
104
|
+
qe as dataAttr,
|
|
105
|
+
Ro as defaultFilter,
|
|
106
|
+
Ge as getInitials,
|
|
107
|
+
Je as getMessageContent,
|
|
108
|
+
ie as ikp,
|
|
109
|
+
Ve as isString,
|
|
110
|
+
ne as jsxFactory,
|
|
111
|
+
mo as markDownComponentIds,
|
|
112
|
+
Xe as maybeRender,
|
|
113
|
+
uo as mergeProps,
|
|
114
|
+
ao as miscellanousComponentIds,
|
|
115
|
+
so as modalComponentIds,
|
|
116
|
+
Ye as toKebabCase,
|
|
117
|
+
i as useAttachmentItem,
|
|
118
|
+
u as useAttachmentsBar,
|
|
119
|
+
h as useBaseEvents,
|
|
120
|
+
be as useBoolean,
|
|
121
|
+
xe as useChat,
|
|
122
|
+
v as useChatForm,
|
|
123
|
+
P as useChatFormState,
|
|
124
|
+
L as useChatMarkdown,
|
|
125
|
+
Eo as useCommandState,
|
|
126
|
+
To as useCommandStore,
|
|
127
|
+
Me as useComponentClassNames,
|
|
128
|
+
no as useComposedRefs,
|
|
129
|
+
ke as useContainerSize,
|
|
130
|
+
Ae as useCopyToClipboard,
|
|
131
|
+
k as useFeedbackItem,
|
|
132
|
+
E as useFormField,
|
|
133
|
+
D as useHelpMenu,
|
|
134
|
+
H as useHelpMenuState,
|
|
135
|
+
g as useInkeepConfig,
|
|
136
|
+
ae as useInkeepSidebarChat,
|
|
137
|
+
ye as useInstantUpdate,
|
|
138
|
+
Ee as useIsMounted,
|
|
139
|
+
We as useMediaQuery,
|
|
140
|
+
q as useMessage,
|
|
141
|
+
N as useMessageAttachments,
|
|
142
|
+
w as useMessageFeedback,
|
|
143
|
+
Ie as useModal,
|
|
144
|
+
G as useOptionalMessage,
|
|
145
|
+
se as useOptionalSidebarChat,
|
|
146
|
+
He as useResizeObserver,
|
|
147
|
+
Ne as useScrollToBottom,
|
|
148
|
+
ze as useScrollingFades,
|
|
149
|
+
le as useSearch,
|
|
150
|
+
je as useSettleAction,
|
|
151
|
+
jo as useShadow,
|
|
152
|
+
de as useSidebarChat,
|
|
153
|
+
Z as useSourceItem,
|
|
154
|
+
re as useWidget
|
|
155
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),e=require("react"),n=e.createContext(void 0),c=({children:t,attachment:r})=>o.jsx(n.Provider,{value:{attachment:r},children:t}),m=()=>{const t=e.useContext(n);if(!t)throw new Error("useAttachmentItem must be used within a AttachmentItemProvider");return t};exports.AttachmentItemProvider=c;exports.useAttachmentItem=m;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
3
|
+
import { createContext as n, useContext as m } from "react";
|
|
4
|
+
const e = n(void 0), i = ({ children: t, attachment: r }) => /* @__PURE__ */ o(e.Provider, { value: { attachment: r }, children: t }), u = () => {
|
|
5
|
+
const t = m(e);
|
|
6
|
+
if (!t)
|
|
7
|
+
throw new Error("useAttachmentItem must be used within a AttachmentItemProvider");
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
i as AttachmentItemProvider,
|
|
12
|
+
u as useAttachmentItem
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("react/jsx-runtime"),n=require("react"),b=require("../hooks/use-boolean.cjs"),d=n.createContext(void 0);function B(){const[t,s]=n.useState(null),{value:m,setTrue:v,setFalse:c}=b.useBoolean(!1),[a,u]=n.useState({title:"",content:""}),[f,l]=n.useState({title:void 0,content:void 0}),o={data:a,errors:f,labels:{title:t?.workflowModalProps?.titleInputLabel||"Title",content:t?.contentType.contentInputLabel||"Content"},validate(){const e={};return a.title.trim()||(e.title=`${o.labels.title} is required`),a.content.trim()||(e.content=`${o.labels.content} is required`),e},onChange(e){const{name:r,value:i}=e.target;u(h=>({...h,[r]:i}))},onSubmit(e){if(e.preventDefault(),!t?.contentType)return;const r=o.validate();if(Object.values(r).some(i=>!!i)){l(r);return}c(),u({title:"",content:""}),l({title:void 0,content:void 0})}};return{selectedInput:t,selectInput:s,isOpen:m,onOpen:v,onClose:c,form:o}}function A({children:t}){const s=B();return p.jsx(d.Provider,{value:s,children:t})}const w=()=>{const t=n.useContext(d);if(!t)throw new Error("useAttachmentsBar must be used within a AttachmentsBarProvider");return t};exports.AttachmentsBarProvider=A;exports.useAttachmentsBar=w;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as h } from "react/jsx-runtime";
|
|
3
|
+
import { createContext as b, useContext as w, useState as i } from "react";
|
|
4
|
+
import { useBoolean as B } from "../hooks/use-boolean.js";
|
|
5
|
+
const m = b(void 0);
|
|
6
|
+
function C() {
|
|
7
|
+
const [t, r] = i(null), { value: d, setTrue: f, setFalse: c } = B(!1), [s, l] = i({ title: "", content: "" }), [v, u] = i({
|
|
8
|
+
title: void 0,
|
|
9
|
+
content: void 0
|
|
10
|
+
}), n = {
|
|
11
|
+
data: s,
|
|
12
|
+
errors: v,
|
|
13
|
+
labels: {
|
|
14
|
+
title: t?.workflowModalProps?.titleInputLabel || "Title",
|
|
15
|
+
content: t?.contentType.contentInputLabel || "Content"
|
|
16
|
+
},
|
|
17
|
+
validate() {
|
|
18
|
+
const e = {};
|
|
19
|
+
return s.title.trim() || (e.title = `${n.labels.title} is required`), s.content.trim() || (e.content = `${n.labels.content} is required`), e;
|
|
20
|
+
},
|
|
21
|
+
onChange(e) {
|
|
22
|
+
const { name: o, value: a } = e.target;
|
|
23
|
+
l((p) => ({ ...p, [o]: a }));
|
|
24
|
+
},
|
|
25
|
+
onSubmit(e) {
|
|
26
|
+
if (e.preventDefault(), !t?.contentType) return;
|
|
27
|
+
const o = n.validate();
|
|
28
|
+
if (Object.values(o).some((a) => !!a)) {
|
|
29
|
+
u(o);
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
c(), l({ title: "", content: "" }), u({ title: void 0, content: void 0 });
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
return {
|
|
36
|
+
selectedInput: t,
|
|
37
|
+
selectInput: r,
|
|
38
|
+
isOpen: d,
|
|
39
|
+
onOpen: f,
|
|
40
|
+
onClose: c,
|
|
41
|
+
form: n
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function I({ children: t }) {
|
|
45
|
+
const r = C();
|
|
46
|
+
return /* @__PURE__ */ h(m.Provider, { value: r, children: t });
|
|
47
|
+
}
|
|
48
|
+
const P = () => {
|
|
49
|
+
const t = w(m);
|
|
50
|
+
if (!t)
|
|
51
|
+
throw new Error("useAttachmentsBar must be used within a AttachmentsBarProvider");
|
|
52
|
+
return t;
|
|
53
|
+
};
|
|
54
|
+
export {
|
|
55
|
+
I as AttachmentsBarProvider,
|
|
56
|
+
P as useAttachmentsBar
|
|
57
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react/jsx-runtime"),t=require("react"),l=require("./config-provider.cjs"),a=t.createContext(void 0),p=({children:e})=>{const{baseSettings:s,componentType:n}=l.useInkeepConfig(),{tags:o,analyticsProperties:r}=s,i=t.useMemo(()=>({widgetLibraryVersion:"0.14.8",componentType:n,tags:o}),[n,o]),u={logEvent:t.useCallback(async c=>{const v={...i,...c.properties,...r},d={eventName:c.eventName,properties:v};return s.onEvent?.(d)},[s,i,r])};return E.jsx(a.Provider,{value:u,children:e})},g=()=>{const e=t.useContext(a);if(!e)throw new Error("useBaseEvents must be used within a BaseEventsProvider");return e};exports.BaseEventsProvider=p;exports.useBaseEvents=g;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as p } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo as u, useCallback as E, createContext as d, useContext as l } from "react";
|
|
4
|
+
import { useInkeepConfig as g } from "./config-provider.js";
|
|
5
|
+
const a = d(void 0), P = ({ children: e }) => {
|
|
6
|
+
const { baseSettings: t, componentType: o } = g(), { tags: s, analyticsProperties: n } = t, r = u(
|
|
7
|
+
() => ({
|
|
8
|
+
widgetLibraryVersion: "0.14.8",
|
|
9
|
+
componentType: o,
|
|
10
|
+
tags: s
|
|
11
|
+
}),
|
|
12
|
+
[o, s]
|
|
13
|
+
), c = { logEvent: E(
|
|
14
|
+
async (i) => {
|
|
15
|
+
const v = {
|
|
16
|
+
...r,
|
|
17
|
+
...i.properties,
|
|
18
|
+
...n
|
|
19
|
+
}, m = {
|
|
20
|
+
eventName: i.eventName,
|
|
21
|
+
properties: v
|
|
22
|
+
};
|
|
23
|
+
return t.onEvent?.(m);
|
|
24
|
+
},
|
|
25
|
+
[t, r, n]
|
|
26
|
+
) };
|
|
27
|
+
return /* @__PURE__ */ p(a.Provider, { value: c, children: e });
|
|
28
|
+
}, b = () => {
|
|
29
|
+
const e = l(a);
|
|
30
|
+
if (!e)
|
|
31
|
+
throw new Error("useBaseEvents must be used within a BaseEventsProvider");
|
|
32
|
+
return e;
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
P as BaseEventsProvider,
|
|
36
|
+
b as useBaseEvents
|
|
37
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("react/jsx-runtime"),s=require("react"),H=require("react-hook-form"),M=require("../components/modal/modal-provider.cjs"),I=require("../utils/form.cjs"),T=require("./base-events-provider.cjs"),j="root.serverError",E=s.createContext(void 0);function _(){const[e,u]=s.useState(null),[c,d]=s.useState(null),[y,f]=s.useState(!1),p=M.useModal(),{logEvent:b}=T.useBaseEvents(),w=s.useCallback((o,t)=>{u(o),d(t||null)},[]),l=s.useCallback(()=>{u(null),d(null),f(!1),e?.buttons.close?.action==="close_modal"&&p?.setOpen(!1)},[e?.buttons.close?.action,p]),r=s.useCallback(o=>e?.fields.map(t=>{if("_type"in t&&t._type==="include_chat_session"){const{_type:R,...i}=t;return{...i,inputType:"checkbox",isHidden:!o,defaultValue:i.defaultValue??!1}}return t}).filter(t=>!("_type"in t))||[],[e?.fields]),h=s.useMemo(()=>r(),[r]),n=s.useMemo(()=>I.getFormDefaultValues(h),[h]),{control:k,handleSubmit:C,formState:{errors:S,isSubmitting:x},setError:g,reset:v}=H.useForm({defaultValues:n});s.useEffect(()=>{n&&v(n)},[v,n]);const F=s.useCallback(o=>async t=>{const i=r(o?.id).find(a=>a.name&&e?.fields.some(m=>"_type"in m&&m._type==="include_chat_session"&&m.name===a.name)),V=o?.id&&i&&t[i.name];try{await e?.buttons.submit.onSubmit({values:t,conversation:V?o:void 0}),c&&b({eventName:"user_escalation_indicated",properties:{escalationType:"support_form",getHelpOptionName:c.name,conversationId:o?.id}}),f(!0),e?.successView||l()}catch(a){g(j,{message:a instanceof Error?a.message:"Something went wrong."})}},[r,e?.fields,e?.buttons.submit,e?.successView,c,b,g,l]),O=s.useCallback((o,t)=>C(F(t))(o),[C,F]),P=S?.root?.serverError;return{form:e,openForm:w,closeForm:l,handleSubmit:O,isSuccess:y,isSubmitting:x,formError:P,getFields:r,errors:S,control:k,defaultValues:n}}const N=({children:e})=>{const u=_();return q.jsx(E.Provider,{value:u,children:e})},G=()=>{const e=s.useContext(E);if(!e)throw new Error("useChatForm must be used within a ChatFormProvider");return e};exports.ChatFormProvider=N;exports.useChatForm=G;exports.useChatFormState=_;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as N } from "react/jsx-runtime";
|
|
3
|
+
import { useState as d, useCallback as a, useMemo as v, useEffect as P, createContext as T, useContext as k } from "react";
|
|
4
|
+
import { useForm as G } from "react-hook-form";
|
|
5
|
+
import { useModal as W } from "../components/modal/modal-provider.js";
|
|
6
|
+
import { getFormDefaultValues as j } from "../utils/form.js";
|
|
7
|
+
import { useBaseEvents as A } from "./base-events-provider.js";
|
|
8
|
+
const B = "root.serverError", y = T(void 0);
|
|
9
|
+
function D() {
|
|
10
|
+
const [e, c] = d(null), [u, f] = d(null), [w, p] = d(!1), h = W(), { logEvent: b } = A(), x = a(
|
|
11
|
+
(o, t) => {
|
|
12
|
+
c(o), f(t || null);
|
|
13
|
+
},
|
|
14
|
+
[]
|
|
15
|
+
), l = a(() => {
|
|
16
|
+
c(null), f(null), p(!1), e?.buttons.close?.action === "close_modal" && h?.setOpen(!1);
|
|
17
|
+
}, [e?.buttons.close?.action, h]), s = a(
|
|
18
|
+
(o) => e?.fields.map((t) => {
|
|
19
|
+
if ("_type" in t && t._type === "include_chat_session") {
|
|
20
|
+
const { _type: I, ...r } = t;
|
|
21
|
+
return {
|
|
22
|
+
...r,
|
|
23
|
+
inputType: "checkbox",
|
|
24
|
+
isHidden: !o,
|
|
25
|
+
defaultValue: r.defaultValue ?? !1
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return t;
|
|
29
|
+
}).filter((t) => !("_type" in t)) || [],
|
|
30
|
+
[e?.fields]
|
|
31
|
+
), g = v(() => s(), [s]), n = v(() => j(g), [g]), {
|
|
32
|
+
control: V,
|
|
33
|
+
handleSubmit: S,
|
|
34
|
+
formState: { errors: _, isSubmitting: O },
|
|
35
|
+
setError: C,
|
|
36
|
+
reset: E
|
|
37
|
+
} = G({
|
|
38
|
+
defaultValues: n
|
|
39
|
+
});
|
|
40
|
+
P(() => {
|
|
41
|
+
n && E(n);
|
|
42
|
+
}, [E, n]);
|
|
43
|
+
const F = a(
|
|
44
|
+
(o) => async (t) => {
|
|
45
|
+
const r = s(o?.id).find(
|
|
46
|
+
(i) => i.name && e?.fields.some(
|
|
47
|
+
(m) => "_type" in m && m._type === "include_chat_session" && m.name === i.name
|
|
48
|
+
)
|
|
49
|
+
), M = o?.id && r && t[r.name];
|
|
50
|
+
try {
|
|
51
|
+
await e?.buttons.submit.onSubmit({
|
|
52
|
+
values: t,
|
|
53
|
+
conversation: M ? o : void 0
|
|
54
|
+
}), u && b({
|
|
55
|
+
eventName: "user_escalation_indicated",
|
|
56
|
+
properties: {
|
|
57
|
+
escalationType: "support_form",
|
|
58
|
+
getHelpOptionName: u.name,
|
|
59
|
+
conversationId: o?.id
|
|
60
|
+
}
|
|
61
|
+
}), p(!0), e?.successView || l();
|
|
62
|
+
} catch (i) {
|
|
63
|
+
C(B, {
|
|
64
|
+
message: i instanceof Error ? i.message : "Something went wrong."
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
[
|
|
69
|
+
s,
|
|
70
|
+
e?.fields,
|
|
71
|
+
e?.buttons.submit,
|
|
72
|
+
e?.successView,
|
|
73
|
+
u,
|
|
74
|
+
b,
|
|
75
|
+
C,
|
|
76
|
+
l
|
|
77
|
+
]
|
|
78
|
+
), R = a(
|
|
79
|
+
(o, t) => S(F(t))(o),
|
|
80
|
+
[S, F]
|
|
81
|
+
), H = _?.root?.serverError;
|
|
82
|
+
return {
|
|
83
|
+
form: e,
|
|
84
|
+
openForm: x,
|
|
85
|
+
closeForm: l,
|
|
86
|
+
handleSubmit: R,
|
|
87
|
+
isSuccess: w,
|
|
88
|
+
isSubmitting: O,
|
|
89
|
+
formError: H,
|
|
90
|
+
getFields: s,
|
|
91
|
+
errors: _,
|
|
92
|
+
control: V,
|
|
93
|
+
defaultValues: n
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
const U = ({ children: e }) => {
|
|
97
|
+
const c = D();
|
|
98
|
+
return /* @__PURE__ */ N(y.Provider, { value: c, children: e });
|
|
99
|
+
}, X = () => {
|
|
100
|
+
const e = k(y);
|
|
101
|
+
if (!e)
|
|
102
|
+
throw new Error("useChatForm must be used within a ChatFormProvider");
|
|
103
|
+
return e;
|
|
104
|
+
};
|
|
105
|
+
export {
|
|
106
|
+
U as ChatFormProvider,
|
|
107
|
+
X as useChatForm,
|
|
108
|
+
D as useChatFormState
|
|
109
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const S=require("react/jsx-runtime"),m=require("merge-anything"),n=require("react"),t=require("../utils/default-settings.cjs"),f=require("../atoms/shadow/context.cjs"),s={ChatButton:"ChatButton",CustomTrigger:"CustomTrigger",SearchBar:"SearchBar",EmbeddedChat:"EmbeddedChat",EmbeddedSearch:"EmbeddedSearch",EmbeddedSearchAndChat:"EmbeddedSearchAndChat",IntelligentForm:"IntelligentForm",SidebarChat:"SidebarChat"},a={prefix:"ikp",aiChatSettings:t.defaultInkeepAIChatSettings,baseSettings:t.defaultInkeepBaseSettings,searchSettings:t.defaultInkeepSearchSettings,componentType:s.EmbeddedChat},d=n.createContext(a),p=({children:e,value:r})=>{const c=f.useShadow(),g=(o,i,C)=>["baseSettings","searchSettings","aiChatSettings"].includes(C)&&!i?o:i,u={baseSettings:c??{}},h=n.useMemo(()=>m.mergeAndCompare(g,a,u,r??{}),[r]);return S.jsx(d.Provider,{value:h,children:e})},b=()=>{const e=n.useContext(d);if(!e)throw new Error("useInkeepConfig must be used within a ConfigProvider");return e};exports.InkeepConfigProvider=p;exports.WebWidgetInteractionType=s;exports.useInkeepConfig=b;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as g } from "react/jsx-runtime";
|
|
3
|
+
import { mergeAndCompare as h } from "merge-anything";
|
|
4
|
+
import { useMemo as C, createContext as u, useContext as f } from "react";
|
|
5
|
+
import { defaultInkeepSearchSettings as p, defaultInkeepBaseSettings as S, defaultInkeepAIChatSettings as b } from "../utils/default-settings.js";
|
|
6
|
+
import { useShadow as I } from "../atoms/shadow/context.js";
|
|
7
|
+
const l = {
|
|
8
|
+
ChatButton: "ChatButton",
|
|
9
|
+
CustomTrigger: "CustomTrigger",
|
|
10
|
+
SearchBar: "SearchBar",
|
|
11
|
+
EmbeddedChat: "EmbeddedChat",
|
|
12
|
+
EmbeddedSearch: "EmbeddedSearch",
|
|
13
|
+
EmbeddedSearchAndChat: "EmbeddedSearchAndChat",
|
|
14
|
+
IntelligentForm: "IntelligentForm",
|
|
15
|
+
SidebarChat: "SidebarChat"
|
|
16
|
+
}, o = {
|
|
17
|
+
prefix: "ikp",
|
|
18
|
+
// Default prefix
|
|
19
|
+
aiChatSettings: b,
|
|
20
|
+
baseSettings: S,
|
|
21
|
+
searchSettings: p,
|
|
22
|
+
componentType: l.EmbeddedChat
|
|
23
|
+
}, i = u(o), A = ({ children: e, value: t }) => {
|
|
24
|
+
const a = I(), s = (n, r, m) => ["baseSettings", "searchSettings", "aiChatSettings"].includes(m) && !r ? n : r, d = {
|
|
25
|
+
baseSettings: a ?? {}
|
|
26
|
+
}, c = C(() => h(s, o, d, t ?? {}), [t]);
|
|
27
|
+
return /* @__PURE__ */ g(i.Provider, { value: c, children: e });
|
|
28
|
+
}, T = () => {
|
|
29
|
+
const e = f(i);
|
|
30
|
+
if (!e)
|
|
31
|
+
throw new Error("useInkeepConfig must be used within a ConfigProvider");
|
|
32
|
+
return e;
|
|
33
|
+
};
|
|
34
|
+
export {
|
|
35
|
+
A as InkeepConfigProvider,
|
|
36
|
+
l as WebWidgetInteractionType,
|
|
37
|
+
T as useInkeepConfig
|
|
38
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),t=require("react"),r=t.createContext(void 0),s=({children:e,name:o})=>{const c=t.useRef(null);return n.jsx(r.Provider,{value:{name:o,focusItem:c},children:e})},u=()=>{const e=t.useContext(r);if(!e)throw new Error("useFeedbackItem must be used within a FeedbackItemProvider");return e};exports.FeedbackItemProvider=s;exports.useFeedbackItem=u;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
3
|
+
import { useRef as c, createContext as s, useContext as u } from "react";
|
|
4
|
+
const t = s(void 0), i = ({ children: e, name: o }) => {
|
|
5
|
+
const r = c(null);
|
|
6
|
+
return /* @__PURE__ */ n(t.Provider, { value: { name: o, focusItem: r }, children: e });
|
|
7
|
+
}, a = () => {
|
|
8
|
+
const e = u(t);
|
|
9
|
+
if (!e)
|
|
10
|
+
throw new Error("useFeedbackItem must be used within a FeedbackItemProvider");
|
|
11
|
+
return e;
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
i as FeedbackItemProvider,
|
|
15
|
+
a as useFeedbackItem
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("react/jsx-runtime"),n=require("react"),g=require("../components/embedded-chat/chat-provider.cjs"),f=require("../utils/misc.cjs"),q=require("./config-provider.cjs"),x=require("./base-events-provider.cjs"),F=n.createContext(void 0);function M(){const{baseSettings:e}=q.useInkeepConfig(),[s,o]=n.useState(null),[k,p]=n.useState({}),{conversationId:u}=g.useChat(),{messages:a,selectedWorkflow:C}=g.useChat(),{analyticsProperties:P}=e,{logEvent:v}=x.useBaseEvents(),i=n.useCallback(async(t,c,r=[])=>{const d=await e.onFeedback?.({type:c,messageId:t,reasons:r,properties:P});d&&p(b=>({...b,[t]:{type:d.type,messageId:t,reasons:d.reasons}}));const l=a.findIndex(b=>b.id===t),w=a[l],y={conversationId:u,question:f.getMessageContent(a[l-1]),answer:f.getMessageContent(w),messageId:t,reasons:r,workflowId:C?.id};v({eventName:c==="positive"?"assistant_positive_feedback_submitted":"assistant_negative_feedback_submitted",properties:y}),c==="negative"&&v({eventName:"user_escalation_indicated",properties:{escalationType:"downvote",conversationId:u}})},[a,u]),m=n.useCallback(async t=>{i(t,"positive")},[i]),h=n.useCallback(async(t,c)=>{const r=j(c);i(t,"negative",r)},[i]);return{feedback:k,currentFeedback:s,setCurrentFeedback:o,submitPositiveFeedback:m,submitNegativeFeedback:h}}const S=({children:e})=>{const s=M();return _.jsx(F.Provider,{value:s,children:e})},E=()=>{const e=n.useContext(F);if(!e)throw new Error("useFeedback must be used within a FeedbackProvider");return e};function j(e){const s=[];for(const o in e)e[o]==="on"&&s.push({label:o,details:e[`${o}:description`]||""});return s.length>0?s:[]}exports.FeedbackProvider=S;exports.useMessageFeedback=E;
|