@inkeep/cxkit-primitives 0.5.81 → 0.5.82

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 s=require("react"),p=require("@radix-ui/react-use-controllable-state"),d=require("../../providers/base-events-provider.cjs"),f=l=>{const{isOpen:t,onOpenChange:c,shortcutKey:o}=l??{},{logEvent:i}=d.useBaseEvents(),[r=!1,n]=p.useControllableState({prop:t,defaultProp:t,onChange:c}),a=s.useRef(!0);return s.useEffect(()=>{if(a.current){a.current=!1;return}i({eventName:r?"modal_opened":"modal_closed",properties:{}})},[r]),s.useEffect(()=>{const u=e=>{o&&(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===o.toLowerCase()&&(e.preventDefault(),e.stopPropagation(),n(!0)),e.key==="Escape"&&t&&(e.preventDefault(),n(!1))};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[o,n,t]),{isOpen:r,setOpen:n,shortcutKey:o}};exports.useInkeepModal=f;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react"),d=require("@radix-ui/react-use-controllable-state"),g=require("../../providers/base-events-provider.cjs"),f=require("../use-component-trigger.cjs"),m=i=>{const{isOpen:r,onOpenChange:l,shortcutKey:o,triggerSelector:c="[data-inkeep-modal-trigger]"}=i??{},{logEvent:p}=g.useBaseEvents(),[s=!1,t]=d.useControllableState({prop:r,defaultProp:r,onChange:l});f.useComponentTrigger({triggerSelector:c,onTriggerClick:()=>t(n=>!n)});const u=a.useRef(!0);return a.useEffect(()=>{if(u.current){u.current=!1;return}p({eventName:s?"modal_opened":"modal_closed",properties:{}})},[s]),a.useEffect(()=>{const n=e=>{o&&(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===o.toLowerCase()&&(e.preventDefault(),e.stopPropagation(),t(!0)),e.key==="Escape"&&r&&(e.preventDefault(),t(!1))};return document.addEventListener("keydown",n),()=>document.removeEventListener("keydown",n)},[o,t,r]),{isOpen:s,setOpen:t,shortcutKey:o}};exports.useInkeepModal=m;
@@ -1,33 +1,44 @@
1
1
  "use client";
2
- import { useRef as i, useEffect as p } from "react";
3
- import { useControllableState as f } from "@radix-ui/react-use-controllable-state";
4
- import { useBaseEvents as d } from "../../providers/base-events-provider.js";
5
- const k = (u) => {
6
- const { isOpen: o, onOpenChange: l, shortcutKey: t } = u ?? {}, { logEvent: c } = d(), [r = !1, n] = f({
7
- prop: o,
8
- defaultProp: o,
2
+ import { useRef as m, useEffect as p } from "react";
3
+ import { useControllableState as d } from "@radix-ui/react-use-controllable-state";
4
+ import { useBaseEvents as f } from "../../providers/base-events-provider.js";
5
+ import { useComponentTrigger as g } from "../use-component-trigger.js";
6
+ const w = (i) => {
7
+ const {
8
+ isOpen: t,
9
+ onOpenChange: l,
10
+ shortcutKey: r,
11
+ triggerSelector: u = "[data-inkeep-modal-trigger]"
12
+ } = i ?? {}, { logEvent: c } = f(), [s = !1, o] = d({
13
+ prop: t,
14
+ defaultProp: t,
9
15
  onChange: l
10
- }), s = i(!0);
16
+ });
17
+ g({
18
+ triggerSelector: u,
19
+ onTriggerClick: () => o((n) => !n)
20
+ });
21
+ const a = m(!0);
11
22
  return p(() => {
12
- if (s.current) {
13
- s.current = !1;
23
+ if (a.current) {
24
+ a.current = !1;
14
25
  return;
15
26
  }
16
27
  c({
17
- eventName: r ? "modal_opened" : "modal_closed",
28
+ eventName: s ? "modal_opened" : "modal_closed",
18
29
  properties: {}
19
30
  });
20
- }, [r]), p(() => {
21
- const a = (e) => {
22
- t && (e.metaKey || e.ctrlKey) && e.key.toLowerCase() === t.toLowerCase() && (e.preventDefault(), e.stopPropagation(), n(!0)), e.key === "Escape" && o && (e.preventDefault(), n(!1));
31
+ }, [s]), p(() => {
32
+ const n = (e) => {
33
+ r && (e.metaKey || e.ctrlKey) && e.key.toLowerCase() === r.toLowerCase() && (e.preventDefault(), e.stopPropagation(), o(!0)), e.key === "Escape" && t && (e.preventDefault(), o(!1));
23
34
  };
24
- return document.addEventListener("keydown", a), () => document.removeEventListener("keydown", a);
25
- }, [t, n, o]), {
26
- isOpen: r,
27
- setOpen: n,
28
- shortcutKey: t
35
+ return document.addEventListener("keydown", n), () => document.removeEventListener("keydown", n);
36
+ }, [r, o, t]), {
37
+ isOpen: s,
38
+ setOpen: o,
39
+ shortcutKey: r
29
40
  };
30
41
  };
31
42
  export {
32
- k as useInkeepModal
43
+ w as useInkeepModal
33
44
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("react"),c=require("../factory.cjs"),n=require("../../providers/sidebar-chat-provider.cjs"),p=require("./use-sidebar-chat-resizer.cjs"),b=require("./use-sidebar-chat-trigger.cjs"),R=require("../presence.cjs"),S=require("../../utils/misc.cjs"),l=require("../../utils/split-props.cjs"),g=c.ikp(R.Presence,{_id:"sidebarChat__Root"}),C=({triggerSelector:i})=>(b.useSidebarChatTrigger(i),null),P=["position","triggerSelector","minWidth","maxWidth","defaultWidth","defaultOpen","autoCloseThreshold"],u=d.forwardRef((i,r)=>{const[t,o]=l.splitProps(i,P),e=n.useInkeepSidebarChat(t);return s.jsxs(n.SidebarChatProvider,{value:e,children:[s.jsx(C,{triggerSelector:t.triggerSelector||"[data-inkeep-sidebar-chat-trigger]"}),s.jsx(g,{ref:r,present:e.isOpen,"data-sidebar":"","data-position":e.position,"data-open":S.dataAttr(e.isOpen),style:{"--width":`${e.width}px`},...o})]})}),m=c.ikp("div",{_id:"sidebarChat__Resizer"}),h=d.forwardRef((i,r)=>{const{position:t}=n.useSidebarChat(),{onMouseDown:o,resizerRef:e}=p.useSidebarChatResizer();return s.jsx(m,{ref:a=>{typeof r=="function"?r(a):r&&(r.current=a),e.current=a},"data-position":t,onMouseDown:o,...i})});exports.Resizer=h;exports.Root=u;exports.SidebarChatPrimitiveResizer=h;exports.SidebarChatPrimitiveRoot=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),d=require("react"),c=require("../factory.cjs"),s=require("../../providers/sidebar-chat-provider.cjs"),h=require("./use-sidebar-chat-resizer.cjs"),b=require("../use-component-trigger.cjs"),g=require("../presence.cjs"),l=require("../../utils/misc.cjs"),R=require("../../utils/split-props.cjs"),C=c.ikp(g.Presence,{_id:"sidebarChat__Root"}),S=({triggerSelector:i})=>{const{toggle:e}=s.useSidebarChat();return b.useComponentTrigger({triggerSelector:i,onTriggerClick:e}),null},P=["position","triggerSelector","minWidth","maxWidth","defaultWidth","defaultOpen","autoCloseThreshold"],u=d.forwardRef((i,e)=>{const[t,a]=R.splitProps(i,P),r=s.useInkeepSidebarChat(t);return o.jsxs(s.SidebarChatProvider,{value:r,children:[o.jsx(S,{triggerSelector:t.triggerSelector||"[data-inkeep-sidebar-chat-trigger]"}),o.jsx(C,{ref:e,present:r.isOpen,"data-sidebar":"","data-position":r.position,"data-open":l.dataAttr(r.isOpen),style:{"--width":`${r.width}px`},...a})]})}),m=c.ikp("div",{_id:"sidebarChat__Resizer"}),p=d.forwardRef((i,e)=>{const{position:t}=s.useSidebarChat(),{onMouseDown:a,resizerRef:r}=h.useSidebarChatResizer();return o.jsx(m,{ref:n=>{typeof e=="function"?e(n):e&&(e.current=n),r.current=n},"data-position":t,onMouseDown:a,...i})});exports.Resizer=p;exports.Root=u;exports.SidebarChatPrimitiveResizer=p;exports.SidebarChatPrimitiveRoot=u;
@@ -1,15 +1,21 @@
1
- import { jsxs as p, jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as d } from "react";
3
- import { ikp as n } from "../factory.js";
4
- import { useInkeepSidebarChat as m, SidebarChatProvider as c, useSidebarChat as h } from "../../providers/sidebar-chat-provider.js";
1
+ import { jsxs as m, jsx as a } from "react/jsx-runtime";
2
+ import { forwardRef as n } from "react";
3
+ import { ikp as d } from "../factory.js";
4
+ import { useInkeepSidebarChat as c, SidebarChatProvider as h, useSidebarChat as p } from "../../providers/sidebar-chat-provider.js";
5
5
  import { useSidebarChatResizer as f } from "./use-sidebar-chat-resizer.js";
6
- import { useSidebarChatTrigger as u } from "./use-sidebar-chat-trigger.js";
7
- import { Presence as b } from "../presence.js";
6
+ import { useComponentTrigger as g } from "../use-component-trigger.js";
7
+ import { Presence as u } from "../presence.js";
8
8
  import { dataAttr as l } from "../../utils/misc.js";
9
- import { splitProps as R } from "../../utils/split-props.js";
10
- const S = n(b, {
9
+ import { splitProps as b } from "../../utils/split-props.js";
10
+ const R = d(u, {
11
11
  _id: "sidebarChat__Root"
12
- }), g = ({ triggerSelector: e }) => (u(e), null), C = [
12
+ }), C = ({ triggerSelector: e }) => {
13
+ const { toggle: r } = p();
14
+ return g({
15
+ triggerSelector: e,
16
+ onTriggerClick: r
17
+ }), null;
18
+ }, S = [
13
19
  "position",
14
20
  "triggerSelector",
15
21
  "minWidth",
@@ -17,39 +23,39 @@ const S = n(b, {
17
23
  "defaultWidth",
18
24
  "defaultOpen",
19
25
  "autoCloseThreshold"
20
- ], j = d((e, t) => {
21
- const [i, o] = R(e, C), r = m(i);
22
- return /* @__PURE__ */ p(c, { value: r, children: [
26
+ ], j = n((e, r) => {
27
+ const [i, o] = b(e, S), t = c(i);
28
+ return /* @__PURE__ */ m(h, { value: t, children: [
23
29
  /* @__PURE__ */ a(
24
- g,
30
+ C,
25
31
  {
26
32
  triggerSelector: i.triggerSelector || "[data-inkeep-sidebar-chat-trigger]"
27
33
  }
28
34
  ),
29
35
  /* @__PURE__ */ a(
30
- S,
36
+ R,
31
37
  {
32
- ref: t,
33
- present: r.isOpen,
38
+ ref: r,
39
+ present: t.isOpen,
34
40
  "data-sidebar": "",
35
- "data-position": r.position,
36
- "data-open": l(r.isOpen),
41
+ "data-position": t.position,
42
+ "data-open": l(t.isOpen),
37
43
  style: {
38
- "--width": `${r.width}px`
44
+ "--width": `${t.width}px`
39
45
  },
40
46
  ...o
41
47
  }
42
48
  )
43
49
  ] });
44
- }), P = n("div", {
50
+ }), P = d("div", {
45
51
  _id: "sidebarChat__Resizer"
46
- }), y = d((e, t) => {
47
- const { position: i } = h(), { onMouseDown: o, resizerRef: r } = f();
52
+ }), y = n((e, r) => {
53
+ const { position: i } = p(), { onMouseDown: o, resizerRef: t } = f();
48
54
  return /* @__PURE__ */ a(
49
55
  P,
50
56
  {
51
57
  ref: (s) => {
52
- typeof t == "function" ? t(s) : t && (t.current = s), r.current = s;
58
+ typeof r == "function" ? r(s) : r && (r.current = s), t.current = s;
53
59
  },
54
60
  "data-position": i,
55
61
  onMouseDown: o,
@@ -0,0 +1 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react"),i=n=>{const{triggerSelector:e,onTriggerClick:t}=n;o.useEffect(()=>{const r=c=>{c.target?.matches?.(e)&&t?.()};return document.addEventListener("click",r),()=>{document.removeEventListener("click",r)}},[e,t])};exports.useComponentTrigger=i;
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ import { useEffect as o } from "react";
3
+ const s = (c) => {
4
+ const { triggerSelector: e, onTriggerClick: t } = c;
5
+ o(() => {
6
+ const r = (n) => {
7
+ n.target?.matches?.(e) && t?.();
8
+ };
9
+ return document.addEventListener("click", r), () => {
10
+ document.removeEventListener("click", r);
11
+ };
12
+ }, [e, t]);
13
+ };
14
+ export {
15
+ s as useComponentTrigger
16
+ };
@@ -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.81",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;
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.82",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.81",
10
+ widgetLibraryVersion: "0.5.82",
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.81",
3
+ "version": "0.5.82",
4
4
  "description": "",
5
5
  "license": "Inkeep, Inc. Customer License (IICL) v1.1",
6
6
  "homepage": "",
@@ -63,9 +63,9 @@
63
63
  "remark-gfm": "^4.0.1",
64
64
  "unist-util-visit": "^5.0.0",
65
65
  "use-sync-external-store": "^1.4.0",
66
- "@inkeep/cxkit-color-mode": "0.5.81",
67
- "@inkeep/cxkit-theme": "0.5.81",
68
- "@inkeep/cxkit-types": "0.5.81"
66
+ "@inkeep/cxkit-color-mode": "0.5.82",
67
+ "@inkeep/cxkit-theme": "0.5.82",
68
+ "@inkeep/cxkit-types": "0.5.82"
69
69
  },
70
70
  "devDependencies": {
71
71
  "@biomejs/biome": "1.9.4",
@@ -1 +0,0 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),a=require("../../providers/sidebar-chat-provider.cjs"),n=e=>{const{toggle:t}=a.useSidebarChat();c.useEffect(()=>{const r=i=>{i.target?.matches?.(e)&&t()};return document.addEventListener("click",r),()=>{document.removeEventListener("click",r)}},[e,t])};exports.useSidebarChatTrigger=n;
@@ -1,17 +0,0 @@
1
- "use client";
2
- import { useEffect as n } from "react";
3
- import { useSidebarChat as i } from "../../providers/sidebar-chat-provider.js";
4
- const m = (e) => {
5
- const { toggle: t } = i();
6
- n(() => {
7
- const r = (c) => {
8
- c.target?.matches?.(e) && t();
9
- };
10
- return document.addEventListener("click", r), () => {
11
- document.removeEventListener("click", r);
12
- };
13
- }, [e, t]);
14
- };
15
- export {
16
- m as useSidebarChatTrigger
17
- };