@inkeep/cxkit-primitives 0.5.111 → 0.5.112
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react");function
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react");function b(h={}){const{threshold:a=150,interactionTimeout:f=150}=h,o=r.useRef(null),l=r.useRef(!0),s=r.useRef(!1),i=r.useCallback(()=>{const e=o.current;return e?e.scrollHeight-e.clientHeight-e.scrollTop<a:!1},[a]),n=r.useCallback((e=!1)=>{const t=o.current;!t||s.current||t.scrollTo({top:t.scrollHeight,behavior:e?"smooth":"auto"})},[]);return r.useEffect(()=>{const e=o.current;if(!e)return;let t;const c=()=>{s.current=!0,l.current=i(),window.clearTimeout(t),t=window.setTimeout(()=>{s.current=!1},f)};return e.addEventListener("scroll",c,{passive:!0}),()=>{e.removeEventListener("scroll",c),window.clearTimeout(t)}},[i,f]),r.useEffect(()=>{const e=o.current;if(!e)return;const t=new MutationObserver(c=>{c.some(u=>u.type==="childList"||u.type==="characterData"||u.type==="attributes"&&u.attributeName==="style")&&l.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]),r.useEffect(()=>{const e=o.current;if(!e)return;const t=new ResizeObserver(()=>{l.current&&(s.current=!1,n(!1))});return t.observe(e),()=>t.disconnect()},[n]),{containerRef:o,scrollToBottom:n,isNearBottom:i}}exports.useScrollToBottom=b;
|
|
@@ -1,52 +1,59 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useRef as
|
|
3
|
-
function
|
|
4
|
-
const { threshold:
|
|
5
|
-
const t = r.current;
|
|
6
|
-
return t ? t.scrollHeight - t.clientHeight - t.scrollTop < a : !1;
|
|
7
|
-
}, [a]), o = d((t = !1) => {
|
|
2
|
+
import { useRef as a, useCallback as d, useEffect as u } from "react";
|
|
3
|
+
function T(b = {}) {
|
|
4
|
+
const { threshold: f = 150, interactionTimeout: h = 150 } = b, r = a(null), i = a(!0), o = a(!1), l = d(() => {
|
|
8
5
|
const e = r.current;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
return e ? e.scrollHeight - e.clientHeight - e.scrollTop < f : !1;
|
|
7
|
+
}, [f]), n = d((e = !1) => {
|
|
8
|
+
const t = r.current;
|
|
9
|
+
!t || o.current || t.scrollTo({
|
|
10
|
+
top: t.scrollHeight,
|
|
11
|
+
behavior: e ? "smooth" : "auto"
|
|
12
12
|
});
|
|
13
13
|
}, []);
|
|
14
|
-
return
|
|
15
|
-
const
|
|
16
|
-
if (!
|
|
17
|
-
let
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
},
|
|
14
|
+
return u(() => {
|
|
15
|
+
const e = r.current;
|
|
16
|
+
if (!e) return;
|
|
17
|
+
let t;
|
|
18
|
+
const s = () => {
|
|
19
|
+
o.current = !0, i.current = l(), window.clearTimeout(t), t = window.setTimeout(() => {
|
|
20
|
+
o.current = !1;
|
|
21
|
+
}, h);
|
|
22
22
|
};
|
|
23
|
-
return
|
|
24
|
-
|
|
23
|
+
return e.addEventListener("scroll", s, { passive: !0 }), () => {
|
|
24
|
+
e.removeEventListener("scroll", s), window.clearTimeout(t);
|
|
25
25
|
};
|
|
26
|
-
}, [l,
|
|
27
|
-
const
|
|
28
|
-
if (!
|
|
29
|
-
const
|
|
30
|
-
|
|
26
|
+
}, [l, h]), u(() => {
|
|
27
|
+
const e = r.current;
|
|
28
|
+
if (!e) return;
|
|
29
|
+
const t = new MutationObserver((s) => {
|
|
30
|
+
s.some(
|
|
31
31
|
(c) => c.type === "childList" || c.type === "characterData" || c.type === "attributes" && c.attributeName === "style"
|
|
32
|
-
) &&
|
|
32
|
+
) && i.current && n(!0);
|
|
33
33
|
});
|
|
34
|
-
return
|
|
34
|
+
return t.observe(e, {
|
|
35
35
|
childList: !0,
|
|
36
36
|
subtree: !0,
|
|
37
37
|
attributes: !0,
|
|
38
38
|
attributeFilter: ["style"],
|
|
39
39
|
// Only watch style changes
|
|
40
40
|
characterData: !0
|
|
41
|
-
}), () =>
|
|
42
|
-
}, [
|
|
43
|
-
r.current &&
|
|
44
|
-
}, [
|
|
41
|
+
}), () => t.disconnect();
|
|
42
|
+
}, [n]), u(() => {
|
|
43
|
+
r.current && n();
|
|
44
|
+
}, [n]), u(() => {
|
|
45
|
+
const e = r.current;
|
|
46
|
+
if (!e) return;
|
|
47
|
+
const t = new ResizeObserver(() => {
|
|
48
|
+
i.current && (o.current = !1, n(!1));
|
|
49
|
+
});
|
|
50
|
+
return t.observe(e), () => t.disconnect();
|
|
51
|
+
}, [n]), {
|
|
45
52
|
containerRef: r,
|
|
46
|
-
scrollToBottom:
|
|
53
|
+
scrollToBottom: n,
|
|
47
54
|
isNearBottom: l
|
|
48
55
|
};
|
|
49
56
|
}
|
|
50
57
|
export {
|
|
51
|
-
|
|
58
|
+
T as useScrollToBottom
|
|
52
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("react/jsx-runtime"),t=require("react"),f=require("../atoms/api/analytics/events.cjs"),b=require("./config-provider.cjs"),x=require("./user-provider.cjs"),E=t.createContext(void 0),q=({children:e})=>{const{baseSettings:s,componentType:r}=b.useInkeepConfig(),{apiKey:i,analyticsApiBaseUrl:c,tags:a,privacyPreferences:m,env:g,analyticsProperties:v}=s,{userProperties:u}=x.useUser(),l=t.useMemo(()=>({widgetLibraryVersion:"0.5.
|
|
1
|
+
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B=require("react/jsx-runtime"),t=require("react"),f=require("../atoms/api/analytics/events.cjs"),b=require("./config-provider.cjs"),x=require("./user-provider.cjs"),E=t.createContext(void 0),q=({children:e})=>{const{baseSettings:s,componentType:r}=b.useInkeepConfig(),{apiKey:i,analyticsApiBaseUrl:c,tags:a,privacyPreferences:m,env:g,analyticsProperties:v}=s,{userProperties:u}=x.useUser(),l=t.useMemo(()=>({widgetLibraryVersion:"0.5.112",componentType:r,tags:a}),[r,a]),d=!m.optOutAllAnalytics&&g!=="development",P={logEvent:t.useCallback(async n=>{const o={...l,...n.properties,...v},p={eventName:n.eventName,properties:o,userProperties:u},y=["modal_opened","modal_closed"].includes(n.eventName);if(d&&!y){if("conversation"in o&&!o.conversation?.id)return;f.logEvent(p,i,c)}s.onEvent?.(p)},[d,s,i,c,u,l,v])};return B.jsx(E.Provider,{value:P,children:e})},C=()=>{const e=t.useContext(E);if(!e)throw new Error("useBaseEvents must be used within a BaseEventsProvider");return e};exports.BaseEventsProvider=q;exports.useBaseEvents=C;
|
|
@@ -7,7 +7,7 @@ import { useUser as A } from "./user-provider.js";
|
|
|
7
7
|
const u = B(void 0), $ = ({ children: e }) => {
|
|
8
8
|
const { baseSettings: t, componentType: s } = w(), { apiKey: r, analyticsApiBaseUrl: i, tags: a, privacyPreferences: d, env: E, analyticsProperties: c } = t, { userProperties: v } = A(), p = P(
|
|
9
9
|
() => ({
|
|
10
|
-
widgetLibraryVersion: "0.5.
|
|
10
|
+
widgetLibraryVersion: "0.5.112",
|
|
11
11
|
componentType: s,
|
|
12
12
|
tags: a
|
|
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.112",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "Inkeep, Inc. Customer License (IICL) v1.1",
|
|
6
6
|
"homepage": "",
|
|
@@ -67,9 +67,9 @@
|
|
|
67
67
|
"remark-gfm": "^4.0.1",
|
|
68
68
|
"unist-util-visit": "^5.0.0",
|
|
69
69
|
"use-sync-external-store": "^1.4.0",
|
|
70
|
-
"@inkeep/cxkit-color-mode": "^0.5.
|
|
71
|
-
"@inkeep/cxkit-theme": "0.5.
|
|
72
|
-
"@inkeep/cxkit-types": "0.5.
|
|
70
|
+
"@inkeep/cxkit-color-mode": "^0.5.112",
|
|
71
|
+
"@inkeep/cxkit-theme": "0.5.112",
|
|
72
|
+
"@inkeep/cxkit-types": "0.5.112"
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
75
|
"@biomejs/biome": "1.9.4",
|