@bikdotai/bik-component-library 0.0.862 → 0.0.863-beta.1

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.
Files changed (92) hide show
  1. package/dist/cjs/components/bik-copilot/BIKCopilot.js +2 -0
  2. package/dist/cjs/components/bik-copilot/BIKCopilot.js.map +1 -0
  3. package/dist/cjs/components/bik-copilot/ControlledCopilot.js +2 -0
  4. package/dist/cjs/components/bik-copilot/ControlledCopilot.js.map +1 -0
  5. package/dist/cjs/components/bik-copilot/ControlledCopilot.styled.js +27 -0
  6. package/dist/cjs/components/bik-copilot/ControlledCopilot.styled.js.map +1 -0
  7. package/dist/cjs/components/bik-copilot/CopilotBall.js +2 -0
  8. package/dist/cjs/components/bik-copilot/CopilotBall.js.map +1 -0
  9. package/dist/cjs/components/bik-copilot/CopilotBall.styled.js +42 -0
  10. package/dist/cjs/components/bik-copilot/CopilotBall.styled.js.map +1 -0
  11. package/dist/cjs/components/bik-copilot/CopilotPanel.js +2 -0
  12. package/dist/cjs/components/bik-copilot/CopilotPanel.js.map +1 -0
  13. package/dist/cjs/components/bik-copilot/CopilotPanel.styled.js +460 -0
  14. package/dist/cjs/components/bik-copilot/CopilotPanel.styled.js.map +1 -0
  15. package/dist/cjs/components/bik-copilot/copilotPlacement.js +2 -0
  16. package/dist/cjs/components/bik-copilot/copilotPlacement.js.map +1 -0
  17. package/dist/cjs/components/bik-copilot/services/copilotDb.js +2 -0
  18. package/dist/cjs/components/bik-copilot/services/copilotDb.js.map +1 -0
  19. package/dist/cjs/components/bik-copilot/services/copilotIcebreakersClient.js +2 -0
  20. package/dist/cjs/components/bik-copilot/services/copilotIcebreakersClient.js.map +1 -0
  21. package/dist/cjs/components/bik-copilot/services/copilotMessagesClient.js +2 -0
  22. package/dist/cjs/components/bik-copilot/services/copilotMessagesClient.js.map +1 -0
  23. package/dist/cjs/components/bik-copilot/services/copilotPageSession.js +2 -0
  24. package/dist/cjs/components/bik-copilot/services/copilotPageSession.js.map +1 -0
  25. package/dist/cjs/components/bik-copilot/services/copilotSseParser.js +7 -0
  26. package/dist/cjs/components/bik-copilot/services/copilotSseParser.js.map +1 -0
  27. package/dist/cjs/components/bik-copilot/services/copilotStreamClient.js +2 -0
  28. package/dist/cjs/components/bik-copilot/services/copilotStreamClient.js.map +1 -0
  29. package/dist/cjs/components/bik-copilot/useCopilotIcebreakers.js +2 -0
  30. package/dist/cjs/components/bik-copilot/useCopilotIcebreakers.js.map +1 -0
  31. package/dist/cjs/components/bik-copilot/useCopilotStreamChat.js +2 -0
  32. package/dist/cjs/components/bik-copilot/useCopilotStreamChat.js.map +1 -0
  33. package/dist/cjs/components/bik-copilot/useDraggableFloater.js +2 -0
  34. package/dist/cjs/components/bik-copilot/useDraggableFloater.js.map +1 -0
  35. package/dist/cjs/index.js +1 -1
  36. package/dist/esm/components/bik-copilot/BIKCopilot.d.ts +32 -0
  37. package/dist/esm/components/bik-copilot/BIKCopilot.js +114 -0
  38. package/dist/esm/components/bik-copilot/BIKCopilot.js.map +1 -0
  39. package/dist/esm/components/bik-copilot/ControlledCopilot.d.ts +14 -0
  40. package/dist/esm/components/bik-copilot/ControlledCopilot.js +170 -0
  41. package/dist/esm/components/bik-copilot/ControlledCopilot.js.map +1 -0
  42. package/dist/esm/components/bik-copilot/ControlledCopilot.styled.d.ts +7 -0
  43. package/dist/esm/components/bik-copilot/ControlledCopilot.styled.js +31 -0
  44. package/dist/esm/components/bik-copilot/ControlledCopilot.styled.js.map +1 -0
  45. package/dist/esm/components/bik-copilot/CopilotBall.d.ts +13 -0
  46. package/dist/esm/components/bik-copilot/CopilotBall.js +50 -0
  47. package/dist/esm/components/bik-copilot/CopilotBall.js.map +1 -0
  48. package/dist/esm/components/bik-copilot/CopilotBall.styled.d.ts +9 -0
  49. package/dist/esm/components/bik-copilot/CopilotBall.styled.js +46 -0
  50. package/dist/esm/components/bik-copilot/CopilotBall.styled.js.map +1 -0
  51. package/dist/esm/components/bik-copilot/CopilotPanel.d.ts +9 -0
  52. package/dist/esm/components/bik-copilot/CopilotPanel.js +379 -0
  53. package/dist/esm/components/bik-copilot/CopilotPanel.js.map +1 -0
  54. package/dist/esm/components/bik-copilot/CopilotPanel.styled.d.ts +64 -0
  55. package/dist/esm/components/bik-copilot/CopilotPanel.styled.js +496 -0
  56. package/dist/esm/components/bik-copilot/CopilotPanel.styled.js.map +1 -0
  57. package/dist/esm/components/bik-copilot/copilotPlacement.d.ts +24 -0
  58. package/dist/esm/components/bik-copilot/copilotPlacement.js +38 -0
  59. package/dist/esm/components/bik-copilot/copilotPlacement.js.map +1 -0
  60. package/dist/esm/components/bik-copilot/index.d.ts +16 -0
  61. package/dist/esm/components/bik-copilot/model.d.ts +674 -0
  62. package/dist/esm/components/bik-copilot/services/copilotDb.d.ts +90 -0
  63. package/dist/esm/components/bik-copilot/services/copilotDb.js +96 -0
  64. package/dist/esm/components/bik-copilot/services/copilotDb.js.map +1 -0
  65. package/dist/esm/components/bik-copilot/services/copilotIcebreakersClient.d.ts +11 -0
  66. package/dist/esm/components/bik-copilot/services/copilotIcebreakersClient.js +54 -0
  67. package/dist/esm/components/bik-copilot/services/copilotIcebreakersClient.js.map +1 -0
  68. package/dist/esm/components/bik-copilot/services/copilotMessagesClient.d.ts +23 -0
  69. package/dist/esm/components/bik-copilot/services/copilotMessagesClient.js +78 -0
  70. package/dist/esm/components/bik-copilot/services/copilotMessagesClient.js.map +1 -0
  71. package/dist/esm/components/bik-copilot/services/copilotPageSession.d.ts +37 -0
  72. package/dist/esm/components/bik-copilot/services/copilotPageSession.js +35 -0
  73. package/dist/esm/components/bik-copilot/services/copilotPageSession.js.map +1 -0
  74. package/dist/esm/components/bik-copilot/services/copilotSseParser.d.ts +22 -0
  75. package/dist/esm/components/bik-copilot/services/copilotSseParser.js +52 -0
  76. package/dist/esm/components/bik-copilot/services/copilotSseParser.js.map +1 -0
  77. package/dist/esm/components/bik-copilot/services/copilotStreamClient.d.ts +31 -0
  78. package/dist/esm/components/bik-copilot/services/copilotStreamClient.js +103 -0
  79. package/dist/esm/components/bik-copilot/services/copilotStreamClient.js.map +1 -0
  80. package/dist/esm/components/bik-copilot/useCopilotIcebreakers.d.ts +17 -0
  81. package/dist/esm/components/bik-copilot/useCopilotIcebreakers.js +60 -0
  82. package/dist/esm/components/bik-copilot/useCopilotIcebreakers.js.map +1 -0
  83. package/dist/esm/components/bik-copilot/useCopilotStreamChat.d.ts +20 -0
  84. package/dist/esm/components/bik-copilot/useCopilotStreamChat.js +333 -0
  85. package/dist/esm/components/bik-copilot/useCopilotStreamChat.js.map +1 -0
  86. package/dist/esm/components/bik-copilot/useDraggableFloater.d.ts +9 -0
  87. package/dist/esm/components/bik-copilot/useDraggableFloater.js +118 -0
  88. package/dist/esm/components/bik-copilot/useDraggableFloater.js.map +1 -0
  89. package/dist/esm/index.d.ts +1 -0
  90. package/dist/esm/index.js +832 -782
  91. package/dist/esm/index.js.map +1 -1
  92. package/package.json +1 -1
@@ -0,0 +1,118 @@
1
+ import { useState as P, useRef as Y, useEffect as H, useCallback as m, useMemo as _ } from "react";
2
+ const b = 4, c = 8, l = () => typeof window > "u" ? { width: 0, height: 0 } : { width: window.innerWidth, height: window.innerHeight }, p = (e, i, n) => {
3
+ if (!n.width || !n.height)
4
+ return e;
5
+ const a = Math.max(
6
+ c,
7
+ n.width - i - c
8
+ ), s = Math.max(
9
+ c,
10
+ n.height - i - c
11
+ );
12
+ return {
13
+ x: Math.min(Math.max(e.x, c), a),
14
+ y: Math.min(Math.max(e.y, c), s)
15
+ };
16
+ }, k = (e, i, n, a) => {
17
+ const s = a.width - i - n, h = a.height - i - n;
18
+ switch (e) {
19
+ case "top-left":
20
+ return { x: n, y: n };
21
+ case "top-right":
22
+ return { x: s, y: n };
23
+ case "bottom-left":
24
+ return { x: n, y: h };
25
+ default:
26
+ return { x: s, y: h };
27
+ }
28
+ }, L = ({
29
+ size: e,
30
+ corner: i,
31
+ offset: n,
32
+ enabled: a,
33
+ snapToEdge: s,
34
+ initialPosition: h,
35
+ onPositionChange: M
36
+ }) => {
37
+ const [C, D] = P(l), [u, x] = P(() => {
38
+ const t = l();
39
+ return p(
40
+ h ?? k(i, e, n, t),
41
+ e,
42
+ t
43
+ );
44
+ }), [V, y] = P(!1), g = Y(null), w = Y(!1);
45
+ H(() => {
46
+ const t = () => {
47
+ const r = l();
48
+ D(r), x((o) => p(o, e, r));
49
+ };
50
+ return window.addEventListener("resize", t), () => window.removeEventListener("resize", t);
51
+ }, [e]);
52
+ const X = m(
53
+ (t) => {
54
+ w.current = !1, !(!a || t.button !== 0) && (t.currentTarget.setPointerCapture(t.pointerId), g.current = {
55
+ pointerId: t.pointerId,
56
+ startX: t.clientX,
57
+ startY: t.clientY,
58
+ originX: u.x,
59
+ originY: u.y,
60
+ moved: !1,
61
+ latest: u
62
+ });
63
+ },
64
+ [a, u]
65
+ ), f = m(
66
+ (t) => {
67
+ const r = g.current;
68
+ if (!r || r.pointerId !== t.pointerId)
69
+ return;
70
+ const o = t.clientX - r.startX, d = t.clientY - r.startY;
71
+ if (!r.moved) {
72
+ if (Math.abs(o) < b && Math.abs(d) < b)
73
+ return;
74
+ r.moved = !0, y(!0);
75
+ }
76
+ const R = p(
77
+ { x: r.originX + o, y: r.originY + d },
78
+ e,
79
+ l()
80
+ );
81
+ r.latest = R, x(R);
82
+ },
83
+ [e]
84
+ ), I = m(
85
+ (t) => {
86
+ const r = g.current;
87
+ if (!r || r.pointerId !== t.pointerId || (g.current = null, t.currentTarget.hasPointerCapture(t.pointerId) && t.currentTarget.releasePointerCapture(t.pointerId), !r.moved))
88
+ return;
89
+ w.current = !0, y(!1);
90
+ const o = l(), d = s ? p(
91
+ {
92
+ x: r.latest.x + e / 2 < o.width / 2 ? n : o.width - e - n,
93
+ y: r.latest.y
94
+ },
95
+ e,
96
+ o
97
+ ) : r.latest;
98
+ x(d), M?.(d);
99
+ },
100
+ [n, M, e, s]
101
+ ), E = m(() => {
102
+ const t = w.current;
103
+ return w.current = !1, t;
104
+ }, []), T = _(
105
+ () => ({
106
+ onPointerDown: X,
107
+ onPointerMove: f,
108
+ onPointerUp: I,
109
+ onPointerCancel: I
110
+ }),
111
+ [I, X, f]
112
+ );
113
+ return { position: u, isDragging: V, viewport: C, dragHandlers: T, shouldIgnoreClick: E };
114
+ };
115
+ export {
116
+ L as useDraggableFloater
117
+ };
118
+ //# sourceMappingURL=useDraggableFloater.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDraggableFloater.js","sources":["../../../../src/components/bik-copilot/useDraggableFloater.ts"],"sourcesContent":["import {\n\tPointerEvent as ReactPointerEvent,\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseState,\n} from 'react';\nimport {\n\tCopilotBallPosition,\n\tCopilotCorner,\n\tCopilotViewport,\n\tUseDraggableFloaterOptions,\n\tUseDraggableFloaterResult,\n} from './model';\n\n/** Movement (px) a gesture must cover before it counts as a drag, not a tap. */\nconst DRAG_THRESHOLD_PX = 4;\n\n/** Smallest gap kept between the dragged element and the viewport edges. */\nconst VIEWPORT_MARGIN_PX = 8;\n\nconst getViewport = (): CopilotViewport =>\n\ttypeof window === 'undefined'\n\t\t? { width: 0, height: 0 }\n\t\t: { width: window.innerWidth, height: window.innerHeight };\n\nconst clampToViewport = (\n\tposition: CopilotBallPosition,\n\tsize: number,\n\tviewport: CopilotViewport,\n): CopilotBallPosition => {\n\tif (!viewport.width || !viewport.height) {\n\t\treturn position;\n\t}\n\tconst maxX = Math.max(\n\t\tVIEWPORT_MARGIN_PX,\n\t\tviewport.width - size - VIEWPORT_MARGIN_PX,\n\t);\n\tconst maxY = Math.max(\n\t\tVIEWPORT_MARGIN_PX,\n\t\tviewport.height - size - VIEWPORT_MARGIN_PX,\n\t);\n\treturn {\n\t\tx: Math.min(Math.max(position.x, VIEWPORT_MARGIN_PX), maxX),\n\t\ty: Math.min(Math.max(position.y, VIEWPORT_MARGIN_PX), maxY),\n\t};\n};\n\nconst getCornerPosition = (\n\tcorner: CopilotCorner,\n\tsize: number,\n\toffset: number,\n\tviewport: CopilotViewport,\n): CopilotBallPosition => {\n\tconst rightEdge = viewport.width - size - offset;\n\tconst bottomEdge = viewport.height - size - offset;\n\tswitch (corner) {\n\t\tcase 'top-left':\n\t\t\treturn { x: offset, y: offset };\n\t\tcase 'top-right':\n\t\t\treturn { x: rightEdge, y: offset };\n\t\tcase 'bottom-left':\n\t\t\treturn { x: offset, y: bottomEdge };\n\t\tcase 'bottom-right':\n\t\tdefault:\n\t\t\treturn { x: rightEdge, y: bottomEdge };\n\t}\n};\n\ninterface DragGesture {\n\tpointerId: number;\n\tstartX: number;\n\tstartY: number;\n\toriginX: number;\n\toriginY: number;\n\tmoved: boolean;\n\tlatest: CopilotBallPosition;\n}\n\n/**\n * Drives a fixed-position element the user can drag anywhere in the viewport.\n *\n * The hook owns the element's coordinates, keeps them inside the viewport as the\n * window resizes, and separates a tap from a drag so the same element can both\n * be dragged and clicked.\n */\nexport const useDraggableFloater = ({\n\tsize,\n\tcorner,\n\toffset,\n\tenabled,\n\tsnapToEdge,\n\tinitialPosition,\n\tonPositionChange,\n}: UseDraggableFloaterOptions): UseDraggableFloaterResult => {\n\tconst [viewport, setViewport] = useState<CopilotViewport>(getViewport);\n\tconst [position, setPosition] = useState<CopilotBallPosition>(() => {\n\t\tconst initialViewport = getViewport();\n\t\treturn clampToViewport(\n\t\t\tinitialPosition ??\n\t\t\t\tgetCornerPosition(corner, size, offset, initialViewport),\n\t\t\tsize,\n\t\t\tinitialViewport,\n\t\t);\n\t});\n\tconst [isDragging, setIsDragging] = useState(false);\n\n\tconst gestureRef = useRef<DragGesture | null>(null);\n\tconst ignoreNextClickRef = useRef(false);\n\n\t// Keep the element reachable when the window is resized around it.\n\tuseEffect(() => {\n\t\tconst handleResize = () => {\n\t\t\tconst nextViewport = getViewport();\n\t\t\tsetViewport(nextViewport);\n\t\t\tsetPosition((previous) => clampToViewport(previous, size, nextViewport));\n\t\t};\n\t\twindow.addEventListener('resize', handleResize);\n\t\treturn () => window.removeEventListener('resize', handleResize);\n\t}, [size]);\n\n\tconst handlePointerDown = useCallback(\n\t\t(event: ReactPointerEvent<HTMLElement>) => {\n\t\t\t// A stale flag would otherwise swallow the next legitimate click.\n\t\t\tignoreNextClickRef.current = false;\n\t\t\tif (!enabled || event.button !== 0) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.currentTarget.setPointerCapture(event.pointerId);\n\t\t\tgestureRef.current = {\n\t\t\t\tpointerId: event.pointerId,\n\t\t\t\tstartX: event.clientX,\n\t\t\t\tstartY: event.clientY,\n\t\t\t\toriginX: position.x,\n\t\t\t\toriginY: position.y,\n\t\t\t\tmoved: false,\n\t\t\t\tlatest: position,\n\t\t\t};\n\t\t},\n\t\t[enabled, position],\n\t);\n\n\tconst handlePointerMove = useCallback(\n\t\t(event: ReactPointerEvent<HTMLElement>) => {\n\t\t\tconst gesture = gestureRef.current;\n\t\t\tif (!gesture || gesture.pointerId !== event.pointerId) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst deltaX = event.clientX - gesture.startX;\n\t\t\tconst deltaY = event.clientY - gesture.startY;\n\n\t\t\tif (!gesture.moved) {\n\t\t\t\tif (\n\t\t\t\t\tMath.abs(deltaX) < DRAG_THRESHOLD_PX &&\n\t\t\t\t\tMath.abs(deltaY) < DRAG_THRESHOLD_PX\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tgesture.moved = true;\n\t\t\t\tsetIsDragging(true);\n\t\t\t}\n\n\t\t\tconst next = clampToViewport(\n\t\t\t\t{ x: gesture.originX + deltaX, y: gesture.originY + deltaY },\n\t\t\t\tsize,\n\t\t\t\tgetViewport(),\n\t\t\t);\n\t\t\tgesture.latest = next;\n\t\t\tsetPosition(next);\n\t\t},\n\t\t[size],\n\t);\n\n\tconst endGesture = useCallback(\n\t\t(event: ReactPointerEvent<HTMLElement>) => {\n\t\t\tconst gesture = gestureRef.current;\n\t\t\tif (!gesture || gesture.pointerId !== event.pointerId) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tgestureRef.current = null;\n\t\t\tif (event.currentTarget.hasPointerCapture(event.pointerId)) {\n\t\t\t\tevent.currentTarget.releasePointerCapture(event.pointerId);\n\t\t\t}\n\t\t\tif (!gesture.moved) {\n\t\t\t\t// A tap: let the click handler run untouched.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tignoreNextClickRef.current = true;\n\t\t\tsetIsDragging(false);\n\n\t\t\tconst currentViewport = getViewport();\n\t\t\tconst settled = snapToEdge\n\t\t\t\t? clampToViewport(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tx:\n\t\t\t\t\t\t\t\tgesture.latest.x + size / 2 < currentViewport.width / 2\n\t\t\t\t\t\t\t\t\t? offset\n\t\t\t\t\t\t\t\t\t: currentViewport.width - size - offset,\n\t\t\t\t\t\t\ty: gesture.latest.y,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\tcurrentViewport,\n\t\t\t\t )\n\t\t\t\t: gesture.latest;\n\n\t\t\tsetPosition(settled);\n\t\t\tonPositionChange?.(settled);\n\t\t},\n\t\t[offset, onPositionChange, size, snapToEdge],\n\t);\n\n\tconst shouldIgnoreClick = useCallback(() => {\n\t\tconst ignore = ignoreNextClickRef.current;\n\t\tignoreNextClickRef.current = false;\n\t\treturn ignore;\n\t}, []);\n\n\tconst dragHandlers = useMemo(\n\t\t() => ({\n\t\t\tonPointerDown: handlePointerDown,\n\t\t\tonPointerMove: handlePointerMove,\n\t\t\tonPointerUp: endGesture,\n\t\t\tonPointerCancel: endGesture,\n\t\t}),\n\t\t[endGesture, handlePointerDown, handlePointerMove],\n\t);\n\n\treturn { position, isDragging, viewport, dragHandlers, shouldIgnoreClick };\n};\n"],"names":["DRAG_THRESHOLD_PX","VIEWPORT_MARGIN_PX","getViewport","clampToViewport","position","size","viewport","maxX","maxY","getCornerPosition","corner","offset","rightEdge","bottomEdge","useDraggableFloater","enabled","snapToEdge","initialPosition","onPositionChange","setViewport","useState","setPosition","initialViewport","isDragging","setIsDragging","gestureRef","useRef","ignoreNextClickRef","useEffect","handleResize","nextViewport","previous","handlePointerDown","useCallback","event","handlePointerMove","gesture","deltaX","deltaY","next","endGesture","currentViewport","settled","shouldIgnoreClick","ignore","dragHandlers","useMemo"],"mappings":";AAiBA,MAAMA,IAAoB,GAGpBC,IAAqB,GAErBC,IAAc,MACnB,OAAO,SAAW,MACf,EAAE,OAAO,GAAG,QAAQ,EAAA,IACpB,EAAE,OAAO,OAAO,YAAY,QAAQ,OAAO,YAAA,GAEzCC,IAAkB,CACvBC,GACAC,GACAC,MACyB;AACzB,MAAI,CAACA,EAAS,SAAS,CAACA,EAAS;AAChC,WAAOF;AAER,QAAMG,IAAO,KAAK;AAAA,IACjBN;AAAA,IACAK,EAAS,QAAQD,IAAOJ;AAAA,EAAA,GAEnBO,IAAO,KAAK;AAAA,IACjBP;AAAA,IACAK,EAAS,SAASD,IAAOJ;AAAA,EAAA;AAE1B,SAAO;AAAA,IACN,GAAG,KAAK,IAAI,KAAK,IAAIG,EAAS,GAAGH,CAAkB,GAAGM,CAAI;AAAA,IAC1D,GAAG,KAAK,IAAI,KAAK,IAAIH,EAAS,GAAGH,CAAkB,GAAGO,CAAI;AAAA,EAAA;AAE5D,GAEMC,IAAoB,CACzBC,GACAL,GACAM,GACAL,MACyB;AACzB,QAAMM,IAAYN,EAAS,QAAQD,IAAOM,GACpCE,IAAaP,EAAS,SAASD,IAAOM;AAC5C,UAAQD,GAAA;AAAA,IACP,KAAK;AACJ,aAAO,EAAE,GAAGC,GAAQ,GAAGA,EAAA;AAAA,IACxB,KAAK;AACJ,aAAO,EAAE,GAAGC,GAAW,GAAGD,EAAA;AAAA,IAC3B,KAAK;AACJ,aAAO,EAAE,GAAGA,GAAQ,GAAGE,EAAA;AAAA,IAExB;AACC,aAAO,EAAE,GAAGD,GAAW,GAAGC,EAAA;AAAA,EAAW;AAExC,GAmBaC,IAAsB,CAAC;AAAA,EACnC,MAAAT;AAAA,EACA,QAAAK;AAAA,EACA,QAAAC;AAAA,EACA,SAAAI;AAAA,EACA,YAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,kBAAAC;AACD,MAA6D;AAC5D,QAAM,CAACZ,GAAUa,CAAW,IAAIC,EAA0BlB,CAAW,GAC/D,CAACE,GAAUiB,CAAW,IAAID,EAA8B,MAAM;AACnE,UAAME,IAAkBpB,EAAA;AACxB,WAAOC;AAAA,MACNc,KACCR,EAAkBC,GAAQL,GAAMM,GAAQW,CAAe;AAAA,MACxDjB;AAAA,MACAiB;AAAA,IAAA;AAAA,EAEF,CAAC,GACK,CAACC,GAAYC,CAAa,IAAIJ,EAAS,EAAK,GAE5CK,IAAaC,EAA2B,IAAI,GAC5CC,IAAqBD,EAAO,EAAK;AAGvC,EAAAE,EAAU,MAAM;AACf,UAAMC,IAAe,MAAM;AAC1B,YAAMC,IAAe5B,EAAA;AACrB,MAAAiB,EAAYW,CAAY,GACxBT,EAAY,CAACU,MAAa5B,EAAgB4B,GAAU1B,GAAMyB,CAAY,CAAC;AAAA,IACxE;AACA,kBAAO,iBAAiB,UAAUD,CAAY,GACvC,MAAM,OAAO,oBAAoB,UAAUA,CAAY;AAAA,EAC/D,GAAG,CAACxB,CAAI,CAAC;AAET,QAAM2B,IAAoBC;AAAA,IACzB,CAACC,MAA0C;AAG1C,MADAP,EAAmB,UAAU,IACzB,GAACZ,KAAWmB,EAAM,WAAW,OAGjCA,EAAM,cAAc,kBAAkBA,EAAM,SAAS,GACrDT,EAAW,UAAU;AAAA,QACpB,WAAWS,EAAM;AAAA,QACjB,QAAQA,EAAM;AAAA,QACd,QAAQA,EAAM;AAAA,QACd,SAAS9B,EAAS;AAAA,QAClB,SAASA,EAAS;AAAA,QAClB,OAAO;AAAA,QACP,QAAQA;AAAA,MAAA;AAAA,IAEV;AAAA,IACA,CAACW,GAASX,CAAQ;AAAA,EAAA,GAGb+B,IAAoBF;AAAA,IACzB,CAACC,MAA0C;AAC1C,YAAME,IAAUX,EAAW;AAC3B,UAAI,CAACW,KAAWA,EAAQ,cAAcF,EAAM;AAC3C;AAED,YAAMG,IAASH,EAAM,UAAUE,EAAQ,QACjCE,IAASJ,EAAM,UAAUE,EAAQ;AAEvC,UAAI,CAACA,EAAQ,OAAO;AACnB,YACC,KAAK,IAAIC,CAAM,IAAIrC,KACnB,KAAK,IAAIsC,CAAM,IAAItC;AAEnB;AAED,QAAAoC,EAAQ,QAAQ,IAChBZ,EAAc,EAAI;AAAA,MACnB;AAEA,YAAMe,IAAOpC;AAAA,QACZ,EAAE,GAAGiC,EAAQ,UAAUC,GAAQ,GAAGD,EAAQ,UAAUE,EAAA;AAAA,QACpDjC;AAAA,QACAH,EAAA;AAAA,MAAY;AAEb,MAAAkC,EAAQ,SAASG,GACjBlB,EAAYkB,CAAI;AAAA,IACjB;AAAA,IACA,CAAClC,CAAI;AAAA,EAAA,GAGAmC,IAAaP;AAAA,IAClB,CAACC,MAA0C;AAC1C,YAAME,IAAUX,EAAW;AAQ3B,UAPI,CAACW,KAAWA,EAAQ,cAAcF,EAAM,cAG5CT,EAAW,UAAU,MACjBS,EAAM,cAAc,kBAAkBA,EAAM,SAAS,KACxDA,EAAM,cAAc,sBAAsBA,EAAM,SAAS,GAEtD,CAACE,EAAQ;AAEZ;AAGD,MAAAT,EAAmB,UAAU,IAC7BH,EAAc,EAAK;AAEnB,YAAMiB,IAAkBvC,EAAA,GAClBwC,IAAU1B,IACbb;AAAA,QACA;AAAA,UACC,GACCiC,EAAQ,OAAO,IAAI/B,IAAO,IAAIoC,EAAgB,QAAQ,IACnD9B,IACA8B,EAAgB,QAAQpC,IAAOM;AAAA,UACnC,GAAGyB,EAAQ,OAAO;AAAA,QAAA;AAAA,QAEnB/B;AAAA,QACAoC;AAAA,MAAA,IAEAL,EAAQ;AAEX,MAAAf,EAAYqB,CAAO,GACnBxB,IAAmBwB,CAAO;AAAA,IAC3B;AAAA,IACA,CAAC/B,GAAQO,GAAkBb,GAAMW,CAAU;AAAA,EAAA,GAGtC2B,IAAoBV,EAAY,MAAM;AAC3C,UAAMW,IAASjB,EAAmB;AAClC,WAAAA,EAAmB,UAAU,IACtBiB;AAAA,EACR,GAAG,CAAA,CAAE,GAECC,IAAeC;AAAA,IACpB,OAAO;AAAA,MACN,eAAed;AAAA,MACf,eAAeG;AAAA,MACf,aAAaK;AAAA,MACb,iBAAiBA;AAAA,IAAA;AAAA,IAElB,CAACA,GAAYR,GAAmBG,CAAiB;AAAA,EAAA;AAGlD,SAAO,EAAE,UAAA/B,GAAU,YAAAmB,GAAY,UAAAjB,GAAU,cAAAuC,GAAc,mBAAAF,EAAA;AACxD;"}
@@ -102,6 +102,7 @@ export * from './components/data-source-panel/model';
102
102
  export * from './components/text-picker';
103
103
  export * from './components/dot-pulse';
104
104
  export * from './components/bik-chatbot';
105
+ export * from './components/bik-copilot';
105
106
  export * from './components/adbanner';
106
107
  export * from './components/feature-announcements';
107
108
  export * from './components/post-live-checklist-item';