@inkeep/cxkit-primitives 0.5.34 → 0.5.36
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/components/embedded-chat.cjs +1 -1
- package/dist/components/embedded-chat.js +305 -303
- package/dist/components/embedded-search/use-inkeep-search.cjs +1 -1
- package/dist/components/embedded-search/use-inkeep-search.js +23 -23
- package/dist/providers/base-events-provider.cjs +1 -1
- package/dist/providers/base-events-provider.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),te=require("../../providers/config-provider.cjs"),se=require("../../hooks/use-media-query.cjs"),re=require("./search-query.graphql.cjs"),ne=require("./transform-results.cjs"),ce=require("../../providers/search-events-provider.cjs"),
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react"),te=require("../../providers/config-provider.cjs"),se=require("../../hooks/use-media-query.cjs"),re=require("./search-query.graphql.cjs"),ne=require("./transform-results.cjs"),ce=require("../../providers/search-events-provider.cjs"),ue=require("../../hooks/use-instant-update.cjs"),ae=require("../../utils/graphql-client.cjs"),oe=()=>{const{baseSettings:B,searchSettings:H}=te.useInkeepConfig(),{apiKey:Q,aiApiBaseUrl:$,userAuthToken:h,filters:T}=B,{maxResults:q,placeholder:w,defaultQuery:z,debounceTimeMs:C,onQueryChange:D,searchFunctionsRef:K,tabs:a,filters:k}=H,{logEvent:v}=ce.useSearchEvents(),[n,E]=t.useState(z),M=t.useRef(null),[I,f]=t.useState(!1),[W,d]=t.useState(null),[G,o]=t.useState("NONE"),J=t.useCallback(e=>{o(e)},[]),[y,b]=t.useState([]),s=ne.useTransformResults(y,n),A=a?.length?typeof a[0]=="string"?a[0]:a[0][0]:"All",[m,P]=t.useState(A),{disableTransition:U,disabled:V}=ue.useInstantUpdate(),X=t.useCallback(e=>{U(),P(e);const r=s[e][0]?s[e][0]?.id:void 0;o(r)},[s,U]);t.useEffect(()=>{let e=m in s?m:Object.keys(s)[0];if(!s[e]?.length){const u=Object.keys(s).find(i=>s[i]?.length);u?e=u:e=A}if(!e)return;P(e);const r=s[e]?.[0];r&&o(r.id)},[s]);const g=se.useMediaQuery("(max-width: 768px)"),l=t.useRef({}),S=t.useRef(null),p=t.useRef(null);t.useImperativeHandle(K,()=>({updateQuery(e){E(e)},focusInput:()=>{M.current?.focus()}}));const _=`${$}/graphql`,j=t.useMemo(()=>({Authorization:`Bearer ${Q}`,"Content-Type":"application/json",...h?{"User-Token":h}:{}}),[Q,h]),F=t.useCallback(async e=>{const r=new AbortController;S.current=r;try{d(null);const i=(await ae.graphqlRequest(_,re.default,{searchInput:e},j,r.signal))?.search.searchHits;l.current[e.searchQuery]=i,b(i)}catch(u){if(u.name==="AbortError")return;d("Failed to fetch search results. Please try again.")}finally{f(!1)}},[_,j]),L=t.useCallback(e=>{const r=l.current[e.searchQuery];v({eventName:"search_query_response_received",properties:{searchQuery:e.searchQuery,totalResults:r?.length}})},[]),N=()=>{S.current&&(S.current.abort(),f(!1))},O=t.useCallback(e=>{if(p.current&&window.clearTimeout(p.current),!e.searchQuery){N(),b([]),d(null);return}p.current=window.setTimeout(()=>{N(),v({eventName:"search_query_submitted",properties:{searchQuery:e.searchQuery}}),l.current[e.searchQuery]?(b(l.current[e.searchQuery]),L(e)):(f(!0),F(e).then(()=>{L(e)}))},C)},[C,F]),R=t.useMemo(()=>({searchQuery:n,filters:{...T,...k,limit:q}}),[n,q,T,k]);t.useEffect(()=>{D?.(R.searchQuery),O(R)},[O,R]);const c=t.useRef(null),[Y,x]=t.useState(!1);t.useEffect(()=>(c.current!==null&&window.clearTimeout(c.current),n?c.current=window.setTimeout(()=>{x(!0)},400):x(!1),()=>{c.current!==null&&window.clearTimeout(c.current)}),[n]);const Z=t.useCallback(e=>E(e.target.value),[]),ee=t.useMemo(()=>w||(g?"Search...":"Search for anything..."),[w,g]);return{results:s,resultsList:y,hasContent:Y&&(y.length>0||I),loading:I,error:W,query:n,onInput:Z,placeholder:ee,tab:m,onTabChange:X,selectedItem:G,setSelectedItem:o,onSelectedItemChange:J,transitionsDisabled:V,inputRef:M,isMobile:g}};exports.useInkeepSearch=oe;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useState as s, useRef as l, useCallback as o, useEffect as
|
|
2
|
+
import { useState as s, useRef as l, useCallback as o, useEffect as w, useImperativeHandle as oe, useMemo as v } from "react";
|
|
3
3
|
import { useInkeepConfig as ce } from "../../providers/config-provider.js";
|
|
4
4
|
import { useMediaQuery as ae } from "../../hooks/use-media-query.js";
|
|
5
5
|
import le from "./search-query.graphql.js";
|
|
@@ -7,8 +7,8 @@ import { useTransformResults as ue } from "./transform-results.js";
|
|
|
7
7
|
import { useSearchEvents as ie } from "../../providers/search-events-provider.js";
|
|
8
8
|
import { useInstantUpdate as he } from "../../hooks/use-instant-update.js";
|
|
9
9
|
import { graphqlRequest as fe } from "../../utils/graphql-client.js";
|
|
10
|
-
const
|
|
11
|
-
const { baseSettings: D, searchSettings: K } = ce(), { apiKey:
|
|
10
|
+
const Te = () => {
|
|
11
|
+
const { baseSettings: D, searchSettings: K } = ce(), { apiKey: C, aiApiBaseUrl: W, userAuthToken: m, filters: k } = D, {
|
|
12
12
|
maxResults: q,
|
|
13
13
|
placeholder: A,
|
|
14
14
|
defaultQuery: G,
|
|
@@ -22,12 +22,12 @@ const Re = () => {
|
|
|
22
22
|
}, []), [p, b] = s([]), t = ue(p, n), M = u?.length ? typeof u[0] == "string" ? u[0] : u[0][0] : "All", [g, N] = s(M), { disableTransition: U, disabled: ee } = he(), te = o(
|
|
23
23
|
(e) => {
|
|
24
24
|
U(), N(e);
|
|
25
|
-
const r = t[e][0]
|
|
25
|
+
const r = t[e][0] ? t[e][0]?.id : void 0;
|
|
26
26
|
i(r);
|
|
27
27
|
},
|
|
28
28
|
[t, U]
|
|
29
29
|
);
|
|
30
|
-
|
|
30
|
+
w(() => {
|
|
31
31
|
let e = g in t ? g : Object.keys(t)[0];
|
|
32
32
|
if (!t[e]?.length) {
|
|
33
33
|
const a = Object.keys(t).find((f) => t[f]?.length);
|
|
@@ -38,7 +38,7 @@ const Re = () => {
|
|
|
38
38
|
const r = t[e]?.[0];
|
|
39
39
|
r && i(r.id);
|
|
40
40
|
}, [t]);
|
|
41
|
-
const
|
|
41
|
+
const Q = ae("(max-width: 768px)"), h = l({}), R = l(null), T = l(null);
|
|
42
42
|
oe(V, () => ({
|
|
43
43
|
updateQuery(e) {
|
|
44
44
|
x(e);
|
|
@@ -47,17 +47,17 @@ const Re = () => {
|
|
|
47
47
|
F.current?.focus();
|
|
48
48
|
}
|
|
49
49
|
}));
|
|
50
|
-
const j = `${W}/graphql`, O =
|
|
50
|
+
const j = `${W}/graphql`, O = v(
|
|
51
51
|
() => ({
|
|
52
|
-
Authorization: `Bearer ${
|
|
52
|
+
Authorization: `Bearer ${C}`,
|
|
53
53
|
"Content-Type": "application/json",
|
|
54
54
|
...m ? { "User-Token": m } : {}
|
|
55
55
|
}),
|
|
56
|
-
[
|
|
56
|
+
[C, m]
|
|
57
57
|
), B = o(
|
|
58
58
|
async (e) => {
|
|
59
59
|
const r = new AbortController();
|
|
60
|
-
|
|
60
|
+
R.current = r;
|
|
61
61
|
try {
|
|
62
62
|
y(null);
|
|
63
63
|
const f = (await fe(
|
|
@@ -87,14 +87,14 @@ const Re = () => {
|
|
|
87
87
|
}
|
|
88
88
|
});
|
|
89
89
|
}, []), P = () => {
|
|
90
|
-
|
|
90
|
+
R.current && (R.current.abort(), d(!1));
|
|
91
91
|
}, $ = o(
|
|
92
92
|
(e) => {
|
|
93
|
-
if (
|
|
93
|
+
if (T.current && window.clearTimeout(T.current), !e.searchQuery) {
|
|
94
94
|
P(), b([]), y(null);
|
|
95
95
|
return;
|
|
96
96
|
}
|
|
97
|
-
|
|
97
|
+
T.current = window.setTimeout(() => {
|
|
98
98
|
P(), _({
|
|
99
99
|
eventName: "search_query_submitted",
|
|
100
100
|
properties: {
|
|
@@ -106,7 +106,7 @@ const Re = () => {
|
|
|
106
106
|
}, E);
|
|
107
107
|
},
|
|
108
108
|
[E, B]
|
|
109
|
-
),
|
|
109
|
+
), S = v(
|
|
110
110
|
() => ({
|
|
111
111
|
searchQuery: n,
|
|
112
112
|
filters: {
|
|
@@ -117,11 +117,11 @@ const Re = () => {
|
|
|
117
117
|
}),
|
|
118
118
|
[n, q, k, I]
|
|
119
119
|
);
|
|
120
|
-
|
|
121
|
-
J?.(
|
|
122
|
-
}, [$,
|
|
120
|
+
w(() => {
|
|
121
|
+
J?.(S.searchQuery), $(S);
|
|
122
|
+
}, [$, S]);
|
|
123
123
|
const c = l(null), [re, z] = s(!1);
|
|
124
|
-
|
|
124
|
+
w(() => (c.current !== null && window.clearTimeout(c.current), n ? c.current = window.setTimeout(() => {
|
|
125
125
|
z(!0);
|
|
126
126
|
}, 400) : z(!1), () => {
|
|
127
127
|
c.current !== null && window.clearTimeout(c.current);
|
|
@@ -129,9 +129,9 @@ const Re = () => {
|
|
|
129
129
|
const se = o(
|
|
130
130
|
(e) => x(e.target.value),
|
|
131
131
|
[]
|
|
132
|
-
), ne =
|
|
133
|
-
() => A || (
|
|
134
|
-
[A,
|
|
132
|
+
), ne = v(
|
|
133
|
+
() => A || (Q ? "Search..." : "Search for anything..."),
|
|
134
|
+
[A, Q]
|
|
135
135
|
);
|
|
136
136
|
return {
|
|
137
137
|
results: t,
|
|
@@ -149,9 +149,9 @@ const Re = () => {
|
|
|
149
149
|
onSelectedItemChange: Z,
|
|
150
150
|
transitionsDisabled: ee,
|
|
151
151
|
inputRef: F,
|
|
152
|
-
isMobile:
|
|
152
|
+
isMobile: Q
|
|
153
153
|
};
|
|
154
154
|
};
|
|
155
155
|
export {
|
|
156
|
-
|
|
156
|
+
Te as useInkeepSearch
|
|
157
157
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react/jsx-runtime"),t=require("react"),y=require("../atoms/api/analytics/events.cjs"),B=require("./config-provider.cjs"),b=require("./user-provider.cjs"),p=t.createContext(void 0),f=({children:e})=>{const{baseSettings:s,componentType:n}=B.useInkeepConfig(),{apiKey:o,analyticsApiBaseUrl:r,tags:i,privacyPreferences:d,env:E}=s,{userProperties:c}=b.useUser(),a=t.useMemo(()=>({widgetLibraryVersion:"0.5.
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("react/jsx-runtime"),t=require("react"),y=require("../atoms/api/analytics/events.cjs"),B=require("./config-provider.cjs"),b=require("./user-provider.cjs"),p=t.createContext(void 0),f=({children:e})=>{const{baseSettings:s,componentType:n}=B.useInkeepConfig(),{apiKey:o,analyticsApiBaseUrl:r,tags:i,privacyPreferences:d,env:E}=s,{userProperties:c}=b.useUser(),a=t.useMemo(()=>({widgetLibraryVersion:"0.5.36",componentType:n,tags:i}),[n,i]),u=!d.optOutAllAnalytics&&E!=="development",g={logEvent:t.useCallback(async v=>{const m={...a,...v.properties},l={eventName:v.eventName,properties:m,userProperties:c};u&&y.logEvent(l,o,r),s.onEvent?.(l)},[u,s,o,r,c,a])};return P.jsx(p.Provider,{value:g,children:e})},x=()=>{const e=t.useContext(p);if(!e)throw new Error("useBaseEvents must be used within a BaseEventsProvider");return e};exports.BaseEventsProvider=f;exports.useBaseEvents=x;
|
|
@@ -7,7 +7,7 @@ import { useUser as b } from "./user-provider.js";
|
|
|
7
7
|
const m = x(void 0), U = ({ children: e }) => {
|
|
8
8
|
const { baseSettings: t, componentType: o } = C(), { apiKey: n, analyticsApiBaseUrl: s, tags: r, privacyPreferences: u, env: l } = t, { userProperties: i } = b(), a = d(
|
|
9
9
|
() => ({
|
|
10
|
-
widgetLibraryVersion: "0.5.
|
|
10
|
+
widgetLibraryVersion: "0.5.36",
|
|
11
11
|
componentType: o,
|
|
12
12
|
tags: r
|
|
13
13
|
}),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/cxkit-primitives",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.36",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "Inkeep, Inc. Customer License (IICL) v1.1",
|
|
6
6
|
"homepage": "",
|
|
@@ -59,9 +59,9 @@
|
|
|
59
59
|
"remark-gfm": "^4.0.1",
|
|
60
60
|
"unist-util-visit": "^5.0.0",
|
|
61
61
|
"use-sync-external-store": "^1.4.0",
|
|
62
|
-
"@inkeep/cxkit-color-mode": "0.5.
|
|
63
|
-
"@inkeep/cxkit-theme": "0.5.
|
|
64
|
-
"@inkeep/cxkit-types": "0.5.
|
|
62
|
+
"@inkeep/cxkit-color-mode": "0.5.36",
|
|
63
|
+
"@inkeep/cxkit-theme": "0.5.36",
|
|
64
|
+
"@inkeep/cxkit-types": "0.5.36"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@biomejs/biome": "1.9.4",
|