@bikdotai/bik-component-library 0.0.868-beta.6 → 0.0.868-beta.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.
Files changed (218) hide show
  1. package/README.md +3 -0
  2. package/dist/cjs/components/agent-builder/constants/tools.js +1 -1
  3. package/dist/cjs/components/agent-builder/constants/tools.js.map +1 -1
  4. package/dist/cjs/components/button/themes.js +2 -2
  5. package/dist/cjs/components/button/themes.js.map +1 -1
  6. package/dist/cjs/components/chip-selector/ChipSelector.js +2 -0
  7. package/dist/cjs/components/chip-selector/ChipSelector.js.map +1 -0
  8. package/dist/cjs/components/chip-selector/ChipSelector.styled.js +36 -0
  9. package/dist/cjs/components/chip-selector/ChipSelector.styled.js.map +1 -0
  10. package/dist/cjs/components/chip-selector/ChipSelectorGroup.js +2 -0
  11. package/dist/cjs/components/chip-selector/ChipSelectorGroup.js.map +1 -0
  12. package/dist/cjs/components/combo-box/ComboBox.js +2 -0
  13. package/dist/cjs/components/combo-box/ComboBox.js.map +1 -0
  14. package/dist/cjs/components/combo-box/ComboBox.styled.js +33 -0
  15. package/dist/cjs/components/combo-box/ComboBox.styled.js.map +1 -0
  16. package/dist/cjs/components/datePicker/DatePickerWrapper.js +1 -1
  17. package/dist/cjs/components/datePicker/DatePickerWrapper.js.map +1 -1
  18. package/dist/cjs/components/schedule-builder/RefreshSegmentToggle.js +2 -0
  19. package/dist/cjs/components/schedule-builder/RefreshSegmentToggle.js.map +1 -0
  20. package/dist/cjs/components/schedule-builder/ScheduleBuilder.js +2 -0
  21. package/dist/cjs/components/schedule-builder/ScheduleBuilder.js.map +1 -0
  22. package/dist/cjs/components/schedule-builder/ScheduleBuilder.styled.js +138 -0
  23. package/dist/cjs/components/schedule-builder/ScheduleBuilder.styled.js.map +1 -0
  24. package/dist/cjs/components/schedule-builder/ScheduleEndPicker.js +2 -0
  25. package/dist/cjs/components/schedule-builder/ScheduleEndPicker.js.map +1 -0
  26. package/dist/cjs/components/schedule-builder/ScheduleFrequencyPicker.js +2 -0
  27. package/dist/cjs/components/schedule-builder/ScheduleFrequencyPicker.js.map +1 -0
  28. package/dist/cjs/components/schedule-builder/ScheduleHelper.js +2 -0
  29. package/dist/cjs/components/schedule-builder/ScheduleHelper.js.map +1 -0
  30. package/dist/cjs/components/schedule-builder/SendModeSelector.js +2 -0
  31. package/dist/cjs/components/schedule-builder/SendModeSelector.js.map +1 -0
  32. package/dist/cjs/components/schedule-builder/StartDateTimePicker.js +2 -0
  33. package/dist/cjs/components/schedule-builder/StartDateTimePicker.js.map +1 -0
  34. package/dist/cjs/components/schedule-builder/UpcomingRunsPreview.js +2 -0
  35. package/dist/cjs/components/schedule-builder/UpcomingRunsPreview.js.map +1 -0
  36. package/dist/cjs/components/schedule-builder/model.js +2 -0
  37. package/dist/cjs/components/schedule-builder/model.js.map +1 -0
  38. package/dist/cjs/index.js +1 -1
  39. package/dist/esm/components/agent-builder/constants/tools.d.ts +0 -1
  40. package/dist/esm/components/agent-builder/constants/tools.js +18 -18
  41. package/dist/esm/components/agent-builder/constants/tools.js.map +1 -1
  42. package/dist/esm/components/button/themes.js +2 -1
  43. package/dist/esm/components/button/themes.js.map +1 -1
  44. package/dist/esm/components/chip-selector/ChipSelector.d.ts +9 -0
  45. package/dist/esm/components/chip-selector/ChipSelector.js +27 -0
  46. package/dist/esm/components/chip-selector/ChipSelector.js.map +1 -0
  47. package/dist/esm/components/chip-selector/ChipSelector.styled.d.ts +10 -0
  48. package/dist/esm/components/chip-selector/ChipSelector.styled.js +48 -0
  49. package/dist/esm/components/chip-selector/ChipSelector.styled.js.map +1 -0
  50. package/dist/esm/components/chip-selector/ChipSelectorGroup.d.ts +10 -0
  51. package/dist/esm/components/chip-selector/ChipSelectorGroup.js +48 -0
  52. package/dist/esm/components/chip-selector/ChipSelectorGroup.js.map +1 -0
  53. package/dist/esm/components/chip-selector/index.d.ts +4 -0
  54. package/dist/esm/components/chip-selector/model.d.ts +106 -0
  55. package/dist/esm/components/combo-box/ComboBox.d.ts +15 -0
  56. package/dist/esm/components/combo-box/ComboBox.js +118 -0
  57. package/dist/esm/components/combo-box/ComboBox.js.map +1 -0
  58. package/dist/esm/components/combo-box/ComboBox.styled.d.ts +12 -0
  59. package/dist/esm/components/combo-box/ComboBox.styled.js +40 -0
  60. package/dist/esm/components/combo-box/ComboBox.styled.js.map +1 -0
  61. package/dist/esm/components/combo-box/index.d.ts +3 -0
  62. package/dist/esm/components/combo-box/model.d.ts +55 -0
  63. package/dist/esm/components/datePicker/DatePickerWrapper.d.ts +7 -0
  64. package/dist/esm/components/datePicker/DatePickerWrapper.js +66 -64
  65. package/dist/esm/components/datePicker/DatePickerWrapper.js.map +1 -1
  66. package/dist/esm/components/datePicker/index.d.ts +1 -0
  67. package/dist/esm/components/schedule-builder/RefreshSegmentToggle.d.ts +22 -0
  68. package/dist/esm/components/schedule-builder/RefreshSegmentToggle.js +31 -0
  69. package/dist/esm/components/schedule-builder/RefreshSegmentToggle.js.map +1 -0
  70. package/dist/esm/components/schedule-builder/ScheduleBuilder.d.ts +88 -0
  71. package/dist/esm/components/schedule-builder/ScheduleBuilder.js +105 -0
  72. package/dist/esm/components/schedule-builder/ScheduleBuilder.js.map +1 -0
  73. package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.d.ts +81 -0
  74. package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.js +168 -0
  75. package/dist/esm/components/schedule-builder/ScheduleBuilder.styled.js.map +1 -0
  76. package/dist/esm/components/schedule-builder/ScheduleEndPicker.d.ts +17 -0
  77. package/dist/esm/components/schedule-builder/ScheduleEndPicker.js +105 -0
  78. package/dist/esm/components/schedule-builder/ScheduleEndPicker.js.map +1 -0
  79. package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.d.ts +21 -0
  80. package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.js +136 -0
  81. package/dist/esm/components/schedule-builder/ScheduleFrequencyPicker.js.map +1 -0
  82. package/dist/esm/components/schedule-builder/ScheduleHelper.d.ts +110 -0
  83. package/dist/esm/components/schedule-builder/ScheduleHelper.js +196 -0
  84. package/dist/esm/components/schedule-builder/ScheduleHelper.js.map +1 -0
  85. package/dist/esm/components/schedule-builder/SendModeSelector.d.ts +29 -0
  86. package/dist/esm/components/schedule-builder/SendModeSelector.js +41 -0
  87. package/dist/esm/components/schedule-builder/SendModeSelector.js.map +1 -0
  88. package/dist/esm/components/schedule-builder/StartDateTimePicker.d.ts +51 -0
  89. package/dist/esm/components/schedule-builder/StartDateTimePicker.js +120 -0
  90. package/dist/esm/components/schedule-builder/StartDateTimePicker.js.map +1 -0
  91. package/dist/esm/components/schedule-builder/UpcomingRunsPreview.d.ts +19 -0
  92. package/dist/esm/components/schedule-builder/UpcomingRunsPreview.js +44 -0
  93. package/dist/esm/components/schedule-builder/UpcomingRunsPreview.js.map +1 -0
  94. package/dist/esm/components/schedule-builder/index.d.ts +18 -0
  95. package/dist/esm/components/schedule-builder/model.d.ts +69 -0
  96. package/dist/esm/components/schedule-builder/model.js +8 -0
  97. package/dist/esm/components/schedule-builder/model.js.map +1 -0
  98. package/dist/esm/index.d.ts +3 -1
  99. package/dist/esm/index.js +828 -844
  100. package/dist/esm/index.js.map +1 -1
  101. package/package.json +1 -1
  102. package/dist/cjs/components/bik-copilot/BIKCopilot.js +0 -2
  103. package/dist/cjs/components/bik-copilot/BIKCopilot.js.map +0 -1
  104. package/dist/cjs/components/bik-copilot/ControlledCopilot.js +0 -2
  105. package/dist/cjs/components/bik-copilot/ControlledCopilot.js.map +0 -1
  106. package/dist/cjs/components/bik-copilot/ControlledCopilot.styled.js +0 -27
  107. package/dist/cjs/components/bik-copilot/ControlledCopilot.styled.js.map +0 -1
  108. package/dist/cjs/components/bik-copilot/CopilotBall.js +0 -2
  109. package/dist/cjs/components/bik-copilot/CopilotBall.js.map +0 -1
  110. package/dist/cjs/components/bik-copilot/CopilotBall.styled.js +0 -42
  111. package/dist/cjs/components/bik-copilot/CopilotBall.styled.js.map +0 -1
  112. package/dist/cjs/components/bik-copilot/CopilotFeedbackModal.js +0 -2
  113. package/dist/cjs/components/bik-copilot/CopilotFeedbackModal.js.map +0 -1
  114. package/dist/cjs/components/bik-copilot/CopilotFeedbackModal.styled.js +0 -108
  115. package/dist/cjs/components/bik-copilot/CopilotFeedbackModal.styled.js.map +0 -1
  116. package/dist/cjs/components/bik-copilot/CopilotPanel.js +0 -2
  117. package/dist/cjs/components/bik-copilot/CopilotPanel.js.map +0 -1
  118. package/dist/cjs/components/bik-copilot/CopilotPanel.styled.js +0 -534
  119. package/dist/cjs/components/bik-copilot/CopilotPanel.styled.js.map +0 -1
  120. package/dist/cjs/components/bik-copilot/copilotPlacement.js +0 -2
  121. package/dist/cjs/components/bik-copilot/copilotPlacement.js.map +0 -1
  122. package/dist/cjs/components/bik-copilot/copilotRegenerate.js +0 -2
  123. package/dist/cjs/components/bik-copilot/copilotRegenerate.js.map +0 -1
  124. package/dist/cjs/components/bik-copilot/services/copilotDb.js +0 -2
  125. package/dist/cjs/components/bik-copilot/services/copilotDb.js.map +0 -1
  126. package/dist/cjs/components/bik-copilot/services/copilotFeedbackClient.js +0 -2
  127. package/dist/cjs/components/bik-copilot/services/copilotFeedbackClient.js.map +0 -1
  128. package/dist/cjs/components/bik-copilot/services/copilotIcebreakersClient.js +0 -2
  129. package/dist/cjs/components/bik-copilot/services/copilotIcebreakersClient.js.map +0 -1
  130. package/dist/cjs/components/bik-copilot/services/copilotMessagesClient.js +0 -2
  131. package/dist/cjs/components/bik-copilot/services/copilotMessagesClient.js.map +0 -1
  132. package/dist/cjs/components/bik-copilot/services/copilotPageSession.js +0 -2
  133. package/dist/cjs/components/bik-copilot/services/copilotPageSession.js.map +0 -1
  134. package/dist/cjs/components/bik-copilot/services/copilotSseParser.js +0 -7
  135. package/dist/cjs/components/bik-copilot/services/copilotSseParser.js.map +0 -1
  136. package/dist/cjs/components/bik-copilot/services/copilotStreamClient.js +0 -2
  137. package/dist/cjs/components/bik-copilot/services/copilotStreamClient.js.map +0 -1
  138. package/dist/cjs/components/bik-copilot/useCopilotIcebreakers.js +0 -2
  139. package/dist/cjs/components/bik-copilot/useCopilotIcebreakers.js.map +0 -1
  140. package/dist/cjs/components/bik-copilot/useCopilotStreamChat.js +0 -2
  141. package/dist/cjs/components/bik-copilot/useCopilotStreamChat.js.map +0 -1
  142. package/dist/cjs/components/bik-copilot/useDraggableFloater.js +0 -2
  143. package/dist/cjs/components/bik-copilot/useDraggableFloater.js.map +0 -1
  144. package/dist/cjs/components/bik-copilot/utils/markdown.js +0 -4
  145. package/dist/cjs/components/bik-copilot/utils/markdown.js.map +0 -1
  146. package/dist/cjs/components/bik-copilot/utils/toolCtas.js +0 -2
  147. package/dist/cjs/components/bik-copilot/utils/toolCtas.js.map +0 -1
  148. package/dist/esm/components/bik-copilot/BIKCopilot.d.ts +0 -31
  149. package/dist/esm/components/bik-copilot/BIKCopilot.js +0 -118
  150. package/dist/esm/components/bik-copilot/BIKCopilot.js.map +0 -1
  151. package/dist/esm/components/bik-copilot/ControlledCopilot.d.ts +0 -14
  152. package/dist/esm/components/bik-copilot/ControlledCopilot.js +0 -174
  153. package/dist/esm/components/bik-copilot/ControlledCopilot.js.map +0 -1
  154. package/dist/esm/components/bik-copilot/ControlledCopilot.styled.d.ts +0 -7
  155. package/dist/esm/components/bik-copilot/ControlledCopilot.styled.js +0 -31
  156. package/dist/esm/components/bik-copilot/ControlledCopilot.styled.js.map +0 -1
  157. package/dist/esm/components/bik-copilot/CopilotBall.d.ts +0 -13
  158. package/dist/esm/components/bik-copilot/CopilotBall.js +0 -50
  159. package/dist/esm/components/bik-copilot/CopilotBall.js.map +0 -1
  160. package/dist/esm/components/bik-copilot/CopilotBall.styled.d.ts +0 -9
  161. package/dist/esm/components/bik-copilot/CopilotBall.styled.js +0 -46
  162. package/dist/esm/components/bik-copilot/CopilotBall.styled.js.map +0 -1
  163. package/dist/esm/components/bik-copilot/CopilotFeedbackModal.d.ts +0 -29
  164. package/dist/esm/components/bik-copilot/CopilotFeedbackModal.js +0 -73
  165. package/dist/esm/components/bik-copilot/CopilotFeedbackModal.js.map +0 -1
  166. package/dist/esm/components/bik-copilot/CopilotFeedbackModal.styled.d.ts +0 -12
  167. package/dist/esm/components/bik-copilot/CopilotFeedbackModal.styled.js +0 -122
  168. package/dist/esm/components/bik-copilot/CopilotFeedbackModal.styled.js.map +0 -1
  169. package/dist/esm/components/bik-copilot/CopilotPanel.d.ts +0 -9
  170. package/dist/esm/components/bik-copilot/CopilotPanel.js +0 -536
  171. package/dist/esm/components/bik-copilot/CopilotPanel.js.map +0 -1
  172. package/dist/esm/components/bik-copilot/CopilotPanel.styled.d.ts +0 -67
  173. package/dist/esm/components/bik-copilot/CopilotPanel.styled.js +0 -573
  174. package/dist/esm/components/bik-copilot/CopilotPanel.styled.js.map +0 -1
  175. package/dist/esm/components/bik-copilot/copilotPlacement.d.ts +0 -24
  176. package/dist/esm/components/bik-copilot/copilotPlacement.js +0 -38
  177. package/dist/esm/components/bik-copilot/copilotPlacement.js.map +0 -1
  178. package/dist/esm/components/bik-copilot/copilotRegenerate.d.ts +0 -22
  179. package/dist/esm/components/bik-copilot/copilotRegenerate.js +0 -6
  180. package/dist/esm/components/bik-copilot/copilotRegenerate.js.map +0 -1
  181. package/dist/esm/components/bik-copilot/index.d.ts +0 -19
  182. package/dist/esm/components/bik-copilot/model.d.ts +0 -804
  183. package/dist/esm/components/bik-copilot/services/copilotDb.d.ts +0 -90
  184. package/dist/esm/components/bik-copilot/services/copilotDb.js +0 -96
  185. package/dist/esm/components/bik-copilot/services/copilotDb.js.map +0 -1
  186. package/dist/esm/components/bik-copilot/services/copilotFeedbackClient.d.ts +0 -15
  187. package/dist/esm/components/bik-copilot/services/copilotFeedbackClient.js +0 -55
  188. package/dist/esm/components/bik-copilot/services/copilotFeedbackClient.js.map +0 -1
  189. package/dist/esm/components/bik-copilot/services/copilotIcebreakersClient.d.ts +0 -11
  190. package/dist/esm/components/bik-copilot/services/copilotIcebreakersClient.js +0 -54
  191. package/dist/esm/components/bik-copilot/services/copilotIcebreakersClient.js.map +0 -1
  192. package/dist/esm/components/bik-copilot/services/copilotMessagesClient.d.ts +0 -23
  193. package/dist/esm/components/bik-copilot/services/copilotMessagesClient.js +0 -78
  194. package/dist/esm/components/bik-copilot/services/copilotMessagesClient.js.map +0 -1
  195. package/dist/esm/components/bik-copilot/services/copilotPageSession.d.ts +0 -37
  196. package/dist/esm/components/bik-copilot/services/copilotPageSession.js +0 -35
  197. package/dist/esm/components/bik-copilot/services/copilotPageSession.js.map +0 -1
  198. package/dist/esm/components/bik-copilot/services/copilotSseParser.d.ts +0 -22
  199. package/dist/esm/components/bik-copilot/services/copilotSseParser.js +0 -52
  200. package/dist/esm/components/bik-copilot/services/copilotSseParser.js.map +0 -1
  201. package/dist/esm/components/bik-copilot/services/copilotStreamClient.d.ts +0 -35
  202. package/dist/esm/components/bik-copilot/services/copilotStreamClient.js +0 -110
  203. package/dist/esm/components/bik-copilot/services/copilotStreamClient.js.map +0 -1
  204. package/dist/esm/components/bik-copilot/useCopilotIcebreakers.d.ts +0 -17
  205. package/dist/esm/components/bik-copilot/useCopilotIcebreakers.js +0 -60
  206. package/dist/esm/components/bik-copilot/useCopilotIcebreakers.js.map +0 -1
  207. package/dist/esm/components/bik-copilot/useCopilotStreamChat.d.ts +0 -20
  208. package/dist/esm/components/bik-copilot/useCopilotStreamChat.js +0 -377
  209. package/dist/esm/components/bik-copilot/useCopilotStreamChat.js.map +0 -1
  210. package/dist/esm/components/bik-copilot/useDraggableFloater.d.ts +0 -9
  211. package/dist/esm/components/bik-copilot/useDraggableFloater.js +0 -118
  212. package/dist/esm/components/bik-copilot/useDraggableFloater.js.map +0 -1
  213. package/dist/esm/components/bik-copilot/utils/markdown.d.ts +0 -1
  214. package/dist/esm/components/bik-copilot/utils/markdown.js +0 -48
  215. package/dist/esm/components/bik-copilot/utils/markdown.js.map +0 -1
  216. package/dist/esm/components/bik-copilot/utils/toolCtas.d.ts +0 -6
  217. package/dist/esm/components/bik-copilot/utils/toolCtas.js +0 -27
  218. package/dist/esm/components/bik-copilot/utils/toolCtas.js.map +0 -1
@@ -1,174 +0,0 @@
1
- import { jsxs as ue, Fragment as ge, jsx as a } from "react/jsx-runtime";
2
- import { useState as he, useRef as Ce, useCallback as C, useEffect as v } from "react";
3
- import { COLORS as ve } from "../../constants/Theme.js";
4
- import { PanelPositioner as we } from "./ControlledCopilot.styled.js";
5
- import { CopilotBall as Le, COPILOT_BALL_ATTRIBUTE as Pe } from "./CopilotBall.js";
6
- import { CopilotPanel as Ee } from "./CopilotPanel.js";
7
- import { getCopilotPanelPlacement as ke } from "./copilotPlacement.js";
8
- import { useDraggableFloater as $e } from "./useDraggableFloater.js";
9
- const xe = ({
10
- // Conversation
11
- messages: w,
12
- onSendMessage: L,
13
- isThinking: P = !1,
14
- thinkingLabel: E,
15
- isStreaming: k = !1,
16
- onStop: $,
17
- interruptedLabel: b,
18
- followUpsLabel: I,
19
- hasMoreHistory: O = !1,
20
- isLoadingHistory: T = !1,
21
- onLoadOlderMessages: y,
22
- historyLoadingLabel: B,
23
- errorMessage: D,
24
- // Ball
25
- ballSize: r = 56,
26
- corner: R = "bottom-right",
27
- offset: x = 24,
28
- initialPosition: j,
29
- draggable: f = !0,
30
- snapToEdge: A = !0,
31
- onPositionChange: F,
32
- ballIcon: U,
33
- ballOpenIcon: _,
34
- ballColor: z = ve.background.brand,
35
- zIndex: c = 1200,
36
- ballAriaLabel: H,
37
- // Panel
38
- panelWidth: K = 400,
39
- panelHeight: S = 700,
40
- panelGap: q = 12,
41
- title: G = "Copilot",
42
- badge: J,
43
- subtitle: M,
44
- avatar: N,
45
- placeholder: Q,
46
- disclaimer: V,
47
- emptyStateTitle: W,
48
- emptyStateSubtitle: X,
49
- suggestions: Y,
50
- onSuggestionClick: Z,
51
- showRefresh: ee = !0,
52
- onRefresh: oe,
53
- onRegenerate: te,
54
- onFeedback: ne,
55
- inputDisabled: re = !1,
56
- // Open state
57
- open: d,
58
- defaultOpen: ie = !1,
59
- onOpenChange: p,
60
- closeOnClickOutside: m = !1,
61
- className: le,
62
- style: se
63
- }) => {
64
- const [ae, fe] = he(ie), u = Ce(null), i = d !== void 0, e = i ? d : ae, t = C(
65
- (o) => {
66
- i || fe(o), p?.(o);
67
- },
68
- [i, p]
69
- ), { position: g, isDragging: ce, viewport: de, dragHandlers: pe, shouldIgnoreClick: h } = $e({
70
- size: r,
71
- corner: R,
72
- offset: x,
73
- enabled: f,
74
- snapToEdge: A,
75
- initialPosition: j,
76
- onPositionChange: F
77
- }), me = C(() => {
78
- h() || t(!e);
79
- }, [e, t, h]);
80
- v(() => {
81
- if (!e)
82
- return;
83
- const o = (l) => {
84
- l.key === "Escape" && t(!1);
85
- };
86
- return document.addEventListener("keydown", o), () => document.removeEventListener("keydown", o);
87
- }, [e, t]), v(() => {
88
- if (!e || !m)
89
- return;
90
- const o = (l) => {
91
- const s = l.target;
92
- s && (u.current?.contains(s) || s.closest(`[${Pe}]`) || t(!1));
93
- };
94
- return document.addEventListener("pointerdown", o), () => document.removeEventListener("pointerdown", o);
95
- }, [m, e, t]);
96
- const n = ke({
97
- ballPosition: g,
98
- ballSize: r,
99
- panelWidth: K,
100
- panelHeight: S,
101
- gap: q,
102
- viewport: de
103
- });
104
- return /* @__PURE__ */ ue(ge, { children: [
105
- e && /* @__PURE__ */ a(
106
- we,
107
- {
108
- ref: u,
109
- $left: n.left,
110
- $top: n.top,
111
- $width: n.width,
112
- $height: n.height,
113
- $zIndex: c,
114
- children: /* @__PURE__ */ a(
115
- Ee,
116
- {
117
- messages: w,
118
- onSend: L,
119
- onClose: () => t(!1),
120
- title: G,
121
- badge: J,
122
- subtitle: M,
123
- avatar: N,
124
- placeholder: Q,
125
- disclaimer: V,
126
- emptyStateTitle: W,
127
- emptyStateSubtitle: X,
128
- suggestions: Y,
129
- onSuggestionClick: Z,
130
- showRefresh: ee,
131
- onRefresh: oe,
132
- onRegenerate: te,
133
- onFeedback: ne,
134
- isThinking: P,
135
- thinkingLabel: E,
136
- isStreaming: k,
137
- onStop: $,
138
- interruptedLabel: b,
139
- followUpsLabel: I,
140
- hasMoreHistory: O,
141
- isLoadingHistory: T,
142
- onLoadOlderMessages: y,
143
- historyLoadingLabel: B,
144
- inputDisabled: re,
145
- errorMessage: D,
146
- className: le,
147
- style: se
148
- }
149
- )
150
- }
151
- ),
152
- /* @__PURE__ */ a(
153
- Le,
154
- {
155
- isOpen: e,
156
- onToggle: me,
157
- position: g,
158
- size: r,
159
- isDragging: ce,
160
- draggable: f,
161
- color: z,
162
- zIndex: c + 1,
163
- icon: U,
164
- openIcon: _,
165
- ariaLabel: H,
166
- ...pe
167
- }
168
- )
169
- ] });
170
- };
171
- export {
172
- xe as ControlledCopilot
173
- };
174
- //# sourceMappingURL=ControlledCopilot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ControlledCopilot.js","sources":["../../../../src/components/bik-copilot/ControlledCopilot.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { COLORS } from '@src/constants/Theme';\nimport { PanelPositioner } from './ControlledCopilot.styled';\nimport { COPILOT_BALL_ATTRIBUTE, CopilotBall } from './CopilotBall';\nimport { CopilotPanel } from './CopilotPanel';\nimport { getCopilotPanelPlacement } from './copilotPlacement';\nimport { ControlledCopilotProps } from './model';\nimport { useDraggableFloater } from './useDraggableFloater';\n\n/**\n * The presentational half of the copilot: a draggable floating ball that opens a\n * chat panel beside it.\n *\n * Fully controlled — it renders the `messages` it is handed and reports every\n * user action through callbacks, so it carries no backend knowledge. **Use\n * `BIKCopilot` instead** unless you are wiring a backend other than\n * `/bik-ai/copilot-bikchatbot`; `BIKCopilot` is this component plus the streaming\n * transport, IndexedDB history and route-aware ice breakers.\n */\nexport const ControlledCopilot: React.FC<ControlledCopilotProps> = ({\n\t// Conversation\n\tmessages,\n\tonSendMessage,\n\tisThinking = false,\n\tthinkingLabel,\n\tisStreaming = false,\n\tonStop,\n\tinterruptedLabel,\n\tfollowUpsLabel,\n\thasMoreHistory = false,\n\tisLoadingHistory = false,\n\tonLoadOlderMessages,\n\thistoryLoadingLabel,\n\terrorMessage,\n\t// Ball\n\tballSize = 56,\n\tcorner = 'bottom-right',\n\toffset = 24,\n\tinitialPosition,\n\tdraggable = true,\n\tsnapToEdge = true,\n\tonPositionChange,\n\tballIcon,\n\tballOpenIcon,\n\tballColor = COLORS.background.brand,\n\tzIndex = 1200,\n\tballAriaLabel,\n\t// Panel\n\tpanelWidth = 400,\n\tpanelHeight = 700,\n\tpanelGap = 12,\n\ttitle = 'Copilot',\n\tbadge,\n\tsubtitle,\n\tavatar,\n\tplaceholder,\n\tdisclaimer,\n\temptyStateTitle,\n\temptyStateSubtitle,\n\tsuggestions,\n\tonSuggestionClick,\n\tshowRefresh = true,\n\tonRefresh,\n\tonRegenerate,\n\tonFeedback,\n\tinputDisabled = false,\n\t// Open state\n\topen,\n\tdefaultOpen = false,\n\tonOpenChange,\n\tcloseOnClickOutside = false,\n\tclassName,\n\tstyle,\n}) => {\n\tconst [uncontrolledOpen, setUncontrolledOpen] = useState(defaultOpen);\n\tconst panelRef = useRef<HTMLDivElement>(null);\n\n\tconst isControlled = open !== undefined;\n\tconst isOpen = isControlled ? open : uncontrolledOpen;\n\n\tconst setOpen = useCallback(\n\t\t(next: boolean) => {\n\t\t\tif (!isControlled) {\n\t\t\t\tsetUncontrolledOpen(next);\n\t\t\t}\n\t\t\tonOpenChange?.(next);\n\t\t},\n\t\t[isControlled, onOpenChange],\n\t);\n\n\tconst { position, isDragging, viewport, dragHandlers, shouldIgnoreClick } =\n\t\tuseDraggableFloater({\n\t\t\tsize: ballSize,\n\t\t\tcorner,\n\t\t\toffset,\n\t\t\tenabled: draggable,\n\t\t\tsnapToEdge,\n\t\t\tinitialPosition,\n\t\t\tonPositionChange,\n\t\t});\n\n\tconst handleBallClick = useCallback(() => {\n\t\t// The click that ends a drag gesture must not toggle the panel.\n\t\tif (shouldIgnoreClick()) {\n\t\t\treturn;\n\t\t}\n\t\tsetOpen(!isOpen);\n\t}, [isOpen, setOpen, shouldIgnoreClick]);\n\n\t// Escape closes the panel.\n\tuseEffect(() => {\n\t\tif (!isOpen) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tsetOpen(false);\n\t\t\t}\n\t\t};\n\t\tdocument.addEventListener('keydown', handleKeyDown);\n\t\treturn () => document.removeEventListener('keydown', handleKeyDown);\n\t}, [isOpen, setOpen]);\n\n\tuseEffect(() => {\n\t\tif (!isOpen || !closeOnClickOutside) {\n\t\t\treturn undefined;\n\t\t}\n\t\tconst handlePointerDown = (event: PointerEvent) => {\n\t\t\tconst target = event.target as HTMLElement | null;\n\t\t\tif (!target) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (panelRef.current?.contains(target)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (target.closest(`[${COPILOT_BALL_ATTRIBUTE}]`)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetOpen(false);\n\t\t};\n\t\tdocument.addEventListener('pointerdown', handlePointerDown);\n\t\treturn () => document.removeEventListener('pointerdown', handlePointerDown);\n\t}, [closeOnClickOutside, isOpen, setOpen]);\n\n\tconst placement = getCopilotPanelPlacement({\n\t\tballPosition: position,\n\t\tballSize,\n\t\tpanelWidth,\n\t\tpanelHeight,\n\t\tgap: panelGap,\n\t\tviewport,\n\t});\n\n\treturn (\n\t\t<>\n\t\t\t{isOpen && (\n\t\t\t\t<PanelPositioner\n\t\t\t\t\tref={panelRef}\n\t\t\t\t\t$left={placement.left}\n\t\t\t\t\t$top={placement.top}\n\t\t\t\t\t$width={placement.width}\n\t\t\t\t\t$height={placement.height}\n\t\t\t\t\t$zIndex={zIndex}\n\t\t\t\t>\n\t\t\t\t\t<CopilotPanel\n\t\t\t\t\t\tmessages={messages}\n\t\t\t\t\t\tonSend={onSendMessage}\n\t\t\t\t\t\tonClose={() => setOpen(false)}\n\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\tbadge={badge}\n\t\t\t\t\t\tsubtitle={subtitle}\n\t\t\t\t\t\tavatar={avatar}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\tdisclaimer={disclaimer}\n\t\t\t\t\t\temptyStateTitle={emptyStateTitle}\n\t\t\t\t\t\temptyStateSubtitle={emptyStateSubtitle}\n\t\t\t\t\t\tsuggestions={suggestions}\n\t\t\t\t\t\tonSuggestionClick={onSuggestionClick}\n\t\t\t\t\t\tshowRefresh={showRefresh}\n\t\t\t\t\t\tonRefresh={onRefresh}\n\t\t\t\t\t\tonRegenerate={onRegenerate}\n\t\t\t\t\t\tonFeedback={onFeedback}\n\t\t\t\t\t\tisThinking={isThinking}\n\t\t\t\t\t\tthinkingLabel={thinkingLabel}\n\t\t\t\t\t\tisStreaming={isStreaming}\n\t\t\t\t\t\tonStop={onStop}\n\t\t\t\t\t\tinterruptedLabel={interruptedLabel}\n\t\t\t\t\t\tfollowUpsLabel={followUpsLabel}\n\t\t\t\t\t\thasMoreHistory={hasMoreHistory}\n\t\t\t\t\t\tisLoadingHistory={isLoadingHistory}\n\t\t\t\t\t\tonLoadOlderMessages={onLoadOlderMessages}\n\t\t\t\t\t\thistoryLoadingLabel={historyLoadingLabel}\n\t\t\t\t\t\tinputDisabled={inputDisabled}\n\t\t\t\t\t\terrorMessage={errorMessage}\n\t\t\t\t\t\tclassName={className}\n\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t/>\n\t\t\t\t</PanelPositioner>\n\t\t\t)}\n\n\t\t\t<CopilotBall\n\t\t\t\tisOpen={isOpen}\n\t\t\t\tonToggle={handleBallClick}\n\t\t\t\tposition={position}\n\t\t\t\tsize={ballSize}\n\t\t\t\tisDragging={isDragging}\n\t\t\t\tdraggable={draggable}\n\t\t\t\tcolor={ballColor}\n\t\t\t\tzIndex={zIndex + 1}\n\t\t\t\ticon={ballIcon}\n\t\t\t\topenIcon={ballOpenIcon}\n\t\t\t\tariaLabel={ballAriaLabel}\n\t\t\t\t{...dragHandlers}\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default ControlledCopilot;\n"],"names":["ControlledCopilot","messages","onSendMessage","isThinking","thinkingLabel","isStreaming","onStop","interruptedLabel","followUpsLabel","hasMoreHistory","isLoadingHistory","onLoadOlderMessages","historyLoadingLabel","errorMessage","ballSize","corner","offset","initialPosition","draggable","snapToEdge","onPositionChange","ballIcon","ballOpenIcon","ballColor","COLORS","zIndex","ballAriaLabel","panelWidth","panelHeight","panelGap","title","badge","subtitle","avatar","placeholder","disclaimer","emptyStateTitle","emptyStateSubtitle","suggestions","onSuggestionClick","showRefresh","onRefresh","onRegenerate","onFeedback","inputDisabled","open","defaultOpen","onOpenChange","closeOnClickOutside","className","style","uncontrolledOpen","setUncontrolledOpen","useState","panelRef","useRef","isControlled","isOpen","setOpen","useCallback","next","position","isDragging","viewport","dragHandlers","shouldIgnoreClick","useDraggableFloater","handleBallClick","useEffect","handleKeyDown","event","handlePointerDown","target","COPILOT_BALL_ATTRIBUTE","placement","getCopilotPanelPlacement","jsxs","Fragment","jsx","PanelPositioner","CopilotPanel","CopilotBall"],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export declare const PanelPositioner: import('styled-components').StyledComponent<"div", any, {
2
- $left: number;
3
- $top: number;
4
- $width: number;
5
- $height: number;
6
- $zIndex: number;
7
- }, never>;
@@ -1,31 +0,0 @@
1
- import e from "styled-components";
2
- const o = e.div`
3
- position: fixed;
4
- left: ${(t) => t.$left}px;
5
- top: ${(t) => t.$top}px;
6
- width: ${(t) => t.$width}px;
7
- height: ${(t) => t.$height}px;
8
- z-index: ${(t) => t.$zIndex};
9
- display: flex;
10
- animation: bikCopilotPanelIn 0.16s ease-out;
11
-
12
- > * {
13
- flex: 1;
14
- min-width: 0;
15
- }
16
-
17
- @keyframes bikCopilotPanelIn {
18
- from {
19
- opacity: 0;
20
- transform: translateY(6px) scale(0.98);
21
- }
22
- to {
23
- opacity: 1;
24
- transform: translateY(0) scale(1);
25
- }
26
- }
27
- `;
28
- export {
29
- o as PanelPositioner
30
- };
31
- //# sourceMappingURL=ControlledCopilot.styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ControlledCopilot.styled.js","sources":["../../../../src/components/bik-copilot/ControlledCopilot.styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const PanelPositioner = styled.div<{\n\t$left: number;\n\t$top: number;\n\t$width: number;\n\t$height: number;\n\t$zIndex: number;\n}>`\n\tposition: fixed;\n\tleft: ${(props) => props.$left}px;\n\ttop: ${(props) => props.$top}px;\n\twidth: ${(props) => props.$width}px;\n\theight: ${(props) => props.$height}px;\n\tz-index: ${(props) => props.$zIndex};\n\tdisplay: flex;\n\tanimation: bikCopilotPanelIn 0.16s ease-out;\n\n\t> * {\n\t\tflex: 1;\n\t\tmin-width: 0;\n\t}\n\n\t@keyframes bikCopilotPanelIn {\n\t\tfrom {\n\t\t\topacity: 0;\n\t\t\ttransform: translateY(6px) scale(0.98);\n\t\t}\n\t\tto {\n\t\t\topacity: 1;\n\t\t\ttransform: translateY(0) scale(1);\n\t\t}\n\t}\n`;\n"],"names":["PanelPositioner","styled","props"],"mappings":";AAEO,MAAMA,IAAkBC,EAAO;AAAA;AAAA,SAQ7B,CAACC,MAAUA,EAAM,KAAK;AAAA,QACvB,CAACA,MAAUA,EAAM,IAAI;AAAA,UACnB,CAACA,MAAUA,EAAM,MAAM;AAAA,WACtB,CAACA,MAAUA,EAAM,OAAO;AAAA,YACvB,CAACA,MAAUA,EAAM,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,13 +0,0 @@
1
- import { default as React } from 'react';
2
- import { CopilotBallProps } from './model';
3
- /**
4
- * Marks the ball in the DOM so an outside-click handler can tell the ball apart
5
- * from the rest of the page and not fight the ball's own toggle.
6
- */
7
- export declare const COPILOT_BALL_ATTRIBUTE = "data-bik-copilot-ball";
8
- /**
9
- * The floating ball that opens the copilot panel. Purely presentational — the
10
- * drag gesture lives in `useDraggableFloater` and is passed in as handlers.
11
- */
12
- export declare const CopilotBall: React.FC<CopilotBallProps>;
13
- export default CopilotBall;
@@ -1,50 +0,0 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import b from "../../assets/icons/bik_ai_stars_icon.svg.js";
3
- import s from "../../assets/icons/chevronDown.svg.js";
4
- import { BallButton as x } from "./CopilotBall.styled.js";
5
- const C = "data-bik-copilot-ball", w = ({
6
- isOpen: t,
7
- onToggle: n,
8
- position: i,
9
- size: a,
10
- isDragging: e,
11
- draggable: c,
12
- color: d,
13
- zIndex: g,
14
- icon: h,
15
- openIcon: m,
16
- ariaLabel: p,
17
- onPointerDown: $,
18
- onPointerMove: f,
19
- onPointerUp: u,
20
- onPointerCancel: B
21
- }) => {
22
- const o = Math.round(a * 0.42), l = t ? /* @__PURE__ */ r(s, { width: o, height: o }) : /* @__PURE__ */ r(b, { width: o, height: o }), I = t ? m ?? l : h ?? l;
23
- return /* @__PURE__ */ r(
24
- x,
25
- {
26
- type: "button",
27
- [C]: "true",
28
- $size: a,
29
- $left: i.x,
30
- $top: i.y,
31
- $color: d,
32
- $zIndex: g,
33
- $isDragging: e,
34
- $draggable: c,
35
- "aria-label": p || "Copilot",
36
- "aria-expanded": t,
37
- onClick: n,
38
- onPointerDown: $,
39
- onPointerMove: f,
40
- onPointerUp: u,
41
- onPointerCancel: B,
42
- children: I
43
- }
44
- );
45
- };
46
- export {
47
- C as COPILOT_BALL_ATTRIBUTE,
48
- w as CopilotBall
49
- };
50
- //# sourceMappingURL=CopilotBall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopilotBall.js","sources":["../../../../src/components/bik-copilot/CopilotBall.tsx"],"sourcesContent":["import AiStarsIcon from '@src/assets/icons/bik_ai_stars_icon.svg';\nimport ChevronDownIcon from '@src/assets/icons/chevronDown.svg';\nimport React from 'react';\nimport { BallButton } from './CopilotBall.styled';\nimport { CopilotBallProps } from './model';\n\n/**\n * Marks the ball in the DOM so an outside-click handler can tell the ball apart\n * from the rest of the page and not fight the ball's own toggle.\n */\nexport const COPILOT_BALL_ATTRIBUTE = 'data-bik-copilot-ball';\n\n/**\n * The floating ball that opens the copilot panel. Purely presentational — the\n * drag gesture lives in `useDraggableFloater` and is passed in as handlers.\n */\nexport const CopilotBall: React.FC<CopilotBallProps> = ({\n\tisOpen,\n\tonToggle,\n\tposition,\n\tsize,\n\tisDragging,\n\tdraggable,\n\tcolor,\n\tzIndex,\n\ticon,\n\topenIcon,\n\tariaLabel,\n\tonPointerDown,\n\tonPointerMove,\n\tonPointerUp,\n\tonPointerCancel,\n}) => {\n\tconst iconSize = Math.round(size * 0.42);\n\tconst defaultIcon = isOpen ? (\n\t\t<ChevronDownIcon width={iconSize} height={iconSize} />\n\t) : (\n\t\t<AiStarsIcon width={iconSize} height={iconSize} />\n\t);\n\tconst activeIcon = isOpen ? openIcon ?? defaultIcon : icon ?? defaultIcon;\n\n\treturn (\n\t\t<BallButton\n\t\t\ttype=\"button\"\n\t\t\t{...{ [COPILOT_BALL_ATTRIBUTE]: 'true' }}\n\t\t\t$size={size}\n\t\t\t$left={position.x}\n\t\t\t$top={position.y}\n\t\t\t$color={color}\n\t\t\t$zIndex={zIndex}\n\t\t\t$isDragging={isDragging}\n\t\t\t$draggable={draggable}\n\t\t\t/* A disclosure button keeps a stable name and reports its state through\n\t\t\t aria-expanded, so this must not become \"Open/Close copilot\" — that\n\t\t\t would also collide with the panel's own close button. */\n\t\t\taria-label={ariaLabel || 'Copilot'}\n\t\t\taria-expanded={isOpen}\n\t\t\tonClick={onToggle}\n\t\t\tonPointerDown={onPointerDown}\n\t\t\tonPointerMove={onPointerMove}\n\t\t\tonPointerUp={onPointerUp}\n\t\t\tonPointerCancel={onPointerCancel}\n\t\t>\n\t\t\t{activeIcon}\n\t\t</BallButton>\n\t);\n};\n\nexport default CopilotBall;\n"],"names":["COPILOT_BALL_ATTRIBUTE","CopilotBall","isOpen","onToggle","position","size","isDragging","draggable","color","zIndex","icon","openIcon","ariaLabel","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","iconSize","defaultIcon","jsx","ChevronDownIcon","AiStarsIcon","activeIcon","BallButton"],"mappings":";;;;AAUO,MAAMA,IAAyB,yBAMzBC,IAA0C,CAAC;AAAA,EACvD,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,eAAAC;AAAA,EACA,aAAAC;AAAA,EACA,iBAAAC;AACD,MAAM;AACL,QAAMC,IAAW,KAAK,MAAMZ,IAAO,IAAI,GACjCa,IAAchB,IACnB,gBAAAiB,EAACC,GAAA,EAAgB,OAAOH,GAAU,QAAQA,EAAA,CAAU,IAEpD,gBAAAE,EAACE,GAAA,EAAY,OAAOJ,GAAU,QAAQA,GAAU,GAE3CK,IAAapB,IAASS,KAAYO,IAAcR,KAAQQ;AAE9D,SACC,gBAAAC;AAAA,IAACI;AAAA,IAAA;AAAA,MACA,MAAK;AAAA,MACC,CAACvB,CAAsB,GAAG;AAAA,MAChC,OAAOK;AAAA,MACP,OAAOD,EAAS;AAAA,MAChB,MAAMA,EAAS;AAAA,MACf,QAAQI;AAAA,MACR,SAASC;AAAA,MACT,aAAaH;AAAA,MACb,YAAYC;AAAA,MAIZ,cAAYK,KAAa;AAAA,MACzB,iBAAeV;AAAA,MACf,SAASC;AAAA,MACT,eAAAU;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,iBAAAC;AAAA,MAEC,UAAAM;AAAA,IAAA;AAAA,EAAA;AAGJ;"}
@@ -1,9 +0,0 @@
1
- export declare const BallButton: import('styled-components').StyledComponent<"button", any, {
2
- $size: number;
3
- $left: number;
4
- $top: number;
5
- $color: string;
6
- $zIndex: number;
7
- $isDragging: boolean;
8
- $draggable: boolean;
9
- }, never>;
@@ -1,46 +0,0 @@
1
- import s from "styled-components";
2
- const t = s.button`
3
- position: fixed;
4
- left: ${(e) => e.$left}px;
5
- top: ${(e) => e.$top}px;
6
- width: ${(e) => e.$size}px;
7
- height: ${(e) => e.$size}px;
8
- z-index: ${(e) => e.$zIndex};
9
-
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
- padding: 0;
14
- border: none;
15
- border-radius: 50%;
16
- background: ${(e) => e.$color};
17
- color: #ffffff;
18
- box-shadow: ${(e) => e.$isDragging ? "0 12px 32px rgba(40, 3, 78, 0.36)" : "0 6px 20px rgba(40, 3, 78, 0.24)"};
19
-
20
- cursor: ${(e) => e.$isDragging ? "grabbing" : e.$draggable ? "grab" : "pointer"};
21
- touch-action: none;
22
- user-select: none;
23
- -webkit-user-select: none;
24
-
25
- /* Position changes animate on release but must track the pointer 1:1 while
26
- the user is dragging. */
27
- transition: ${(e) => e.$isDragging ? "box-shadow 0.15s ease, transform 0.15s ease" : "left 0.22s ease, top 0.22s ease, box-shadow 0.15s ease, transform 0.15s ease"};
28
- transform: ${(e) => e.$isDragging ? "scale(1.06)" : "scale(1)"};
29
-
30
- &:hover {
31
- transform: scale(1.06);
32
- }
33
-
34
- &:focus-visible {
35
- outline: 2px solid #ffffff;
36
- outline-offset: 2px;
37
- }
38
-
39
- svg {
40
- pointer-events: none;
41
- }
42
- `;
43
- export {
44
- t as BallButton
45
- };
46
- //# sourceMappingURL=CopilotBall.styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopilotBall.styled.js","sources":["../../../../src/components/bik-copilot/CopilotBall.styled.ts"],"sourcesContent":["import styled from 'styled-components';\n\nexport const BallButton = styled.button<{\n\t$size: number;\n\t$left: number;\n\t$top: number;\n\t$color: string;\n\t$zIndex: number;\n\t$isDragging: boolean;\n\t$draggable: boolean;\n}>`\n\tposition: fixed;\n\tleft: ${(props) => props.$left}px;\n\ttop: ${(props) => props.$top}px;\n\twidth: ${(props) => props.$size}px;\n\theight: ${(props) => props.$size}px;\n\tz-index: ${(props) => props.$zIndex};\n\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tpadding: 0;\n\tborder: none;\n\tborder-radius: 50%;\n\tbackground: ${(props) => props.$color};\n\tcolor: #ffffff;\n\tbox-shadow: ${(props) =>\n\t\tprops.$isDragging\n\t\t\t? '0 12px 32px rgba(40, 3, 78, 0.36)'\n\t\t\t: '0 6px 20px rgba(40, 3, 78, 0.24)'};\n\n\tcursor: ${(props) =>\n\t\tprops.$isDragging ? 'grabbing' : props.$draggable ? 'grab' : 'pointer'};\n\ttouch-action: none;\n\tuser-select: none;\n\t-webkit-user-select: none;\n\n\t/* Position changes animate on release but must track the pointer 1:1 while\n\t the user is dragging. */\n\ttransition: ${(props) =>\n\t\tprops.$isDragging\n\t\t\t? 'box-shadow 0.15s ease, transform 0.15s ease'\n\t\t\t: 'left 0.22s ease, top 0.22s ease, box-shadow 0.15s ease, transform 0.15s ease'};\n\ttransform: ${(props) => (props.$isDragging ? 'scale(1.06)' : 'scale(1)')};\n\n\t&:hover {\n\t\ttransform: scale(1.06);\n\t}\n\n\t&:focus-visible {\n\t\toutline: 2px solid #ffffff;\n\t\toutline-offset: 2px;\n\t}\n\n\tsvg {\n\t\tpointer-events: none;\n\t}\n`;\n"],"names":["BallButton","styled","props"],"mappings":";AAEO,MAAMA,IAAaC,EAAO;AAAA;AAAA,SAUxB,CAACC,MAAUA,EAAM,KAAK;AAAA,QACvB,CAACA,MAAUA,EAAM,IAAI;AAAA,UACnB,CAACA,MAAUA,EAAM,KAAK;AAAA,WACrB,CAACA,MAAUA,EAAM,KAAK;AAAA,YACrB,CAACA,MAAUA,EAAM,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAQrB,CAACA,MAAUA,EAAM,MAAM;AAAA;AAAA,eAEvB,CAACA,MACdA,EAAM,cACH,sCACA,kCAAkC;AAAA;AAAA,WAE5B,CAACA,MACVA,EAAM,cAAc,aAAaA,EAAM,aAAa,SAAS,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAOzD,CAACA,MACdA,EAAM,cACH,gDACA,8EAA8E;AAAA,cACrE,CAACA,MAAWA,EAAM,cAAc,gBAAgB,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,29 +0,0 @@
1
- import { default as React } from 'react';
2
- import { CopilotFeedbackDetail, CopilotFeedbackReasonOption } from './model';
3
- /** The chips the modal offers, in the order they are shown. */
4
- export declare const COPILOT_FEEDBACK_REASONS: CopilotFeedbackReasonOption[];
5
- export interface CopilotFeedbackModalProps {
6
- title?: string;
7
- subtitle?: string;
8
- reasons?: CopilotFeedbackReasonOption[];
9
- notePlaceholder?: string;
10
- submitLabel?: string;
11
- /**
12
- * The detail the reader chose to share. Called once, on submit.
13
- */
14
- onSubmit: (detail: CopilotFeedbackDetail) => void;
15
- /**
16
- * Dismissed without sharing. The rating itself is the host's business — see
17
- * `CopilotPanel`, which records the thumbs-down either way.
18
- */
19
- onDismiss: () => void;
20
- className?: string;
21
- }
22
- /**
23
- * Asks what was wrong with a reply that was just rated down.
24
- *
25
- * Chips plus an optional note, and nothing is required: a reader who only wants
26
- * to press the thumb can dismiss this and the rating still stands. Every string
27
- * is overridable so a host can reword or localise it.
28
- */
29
- export declare const CopilotFeedbackModal: React.FC<CopilotFeedbackModalProps>;
@@ -1,73 +0,0 @@
1
- import { jsxs as n, jsx as l } from "react/jsx-runtime";
2
- import { useState as r } from "react";
3
- import { ModalCard as M, ModalHeader as N, ModalHeading as S, ModalTitle as k, ModalSubtitle as v, ModalClose as E, ReasonList as O, ReasonChip as _, NoteInput as R, SubmitButton as f } from "./CopilotFeedbackModal.styled.js";
4
- const L = [
5
- { value: "TOO_SLOW", label: "Too slow" },
6
- { value: "DIDNT_REMEMBER", label: "Didn't remember something" },
7
- { value: "WRONG_RESULT", label: "Wrong result" },
8
- { value: "COULDNT_FIND_DATA", label: "Couldn't find data" },
9
- { value: "DIDNT_UNDERSTAND_CONTEXT", label: "Didn't understand context" }
10
- ], A = () => /* @__PURE__ */ l("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", children: /* @__PURE__ */ l(
11
- "path",
12
- {
13
- d: "M9 3L3 9M3 3l6 6",
14
- stroke: "currentColor",
15
- strokeWidth: "1.3",
16
- strokeLinecap: "round"
17
- }
18
- ) }), W = ({
19
- title: a = "What went wrong?",
20
- subtitle: d,
21
- reasons: c = L,
22
- notePlaceholder: s = "Add a quick note...",
23
- submitLabel: u = "Share feedback",
24
- onSubmit: h,
25
- onDismiss: b,
26
- className: C
27
- }) => {
28
- const [t, m] = r([]), [i, p] = r(""), D = (e) => {
29
- m(
30
- (o) => o.includes(e) ? o.filter((g) => g !== e) : [...o, e]
31
- );
32
- }, T = () => {
33
- const e = i.trim();
34
- h({
35
- reasons: t,
36
- ...e ? { comment: e } : {}
37
- });
38
- };
39
- return /* @__PURE__ */ n(M, { className: C, role: "dialog", "aria-label": a, children: [
40
- /* @__PURE__ */ n(N, { children: [
41
- /* @__PURE__ */ n(S, { children: [
42
- /* @__PURE__ */ l(k, { children: a }),
43
- d ? /* @__PURE__ */ l(v, { children: d }) : null
44
- ] }),
45
- /* @__PURE__ */ l(E, { type: "button", onClick: b, "aria-label": "Close", children: /* @__PURE__ */ l(A, {}) })
46
- ] }),
47
- /* @__PURE__ */ l(O, { children: c.map((e) => /* @__PURE__ */ l(
48
- _,
49
- {
50
- type: "button",
51
- $selected: t.includes(e.value),
52
- "aria-pressed": t.includes(e.value),
53
- onClick: () => D(e.value),
54
- children: e.label
55
- },
56
- e.value
57
- )) }),
58
- /* @__PURE__ */ l(
59
- R,
60
- {
61
- value: i,
62
- placeholder: s,
63
- onChange: (e) => p(e.target.value)
64
- }
65
- ),
66
- /* @__PURE__ */ l(f, { type: "button", onClick: T, children: u })
67
- ] });
68
- };
69
- export {
70
- L as COPILOT_FEEDBACK_REASONS,
71
- W as CopilotFeedbackModal
72
- };
73
- //# sourceMappingURL=CopilotFeedbackModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopilotFeedbackModal.js","sources":["../../../../src/components/bik-copilot/CopilotFeedbackModal.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport {\n\tModalCard,\n\tModalClose,\n\tModalHeader,\n\tModalHeading,\n\tModalSubtitle,\n\tModalTitle,\n\tNoteInput,\n\tReasonChip,\n\tReasonList,\n\tSubmitButton,\n} from './CopilotFeedbackModal.styled';\nimport { CopilotFeedbackDetail, CopilotFeedbackReasonOption } from './model';\n\n/** The chips the modal offers, in the order they are shown. */\nexport const COPILOT_FEEDBACK_REASONS: CopilotFeedbackReasonOption[] = [\n\t{ value: 'TOO_SLOW', label: 'Too slow' },\n\t{ value: 'DIDNT_REMEMBER', label: \"Didn't remember something\" },\n\t{ value: 'WRONG_RESULT', label: 'Wrong result' },\n\t{ value: 'COULDNT_FIND_DATA', label: \"Couldn't find data\" },\n\t{ value: 'DIDNT_UNDERSTAND_CONTEXT', label: \"Didn't understand context\" },\n];\n\nconst CloseIcon = () => (\n\t<svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n\t\t<path\n\t\t\td=\"M9 3L3 9M3 3l6 6\"\n\t\t\tstroke=\"currentColor\"\n\t\t\tstrokeWidth=\"1.3\"\n\t\t\tstrokeLinecap=\"round\"\n\t\t/>\n\t</svg>\n);\n\nexport interface CopilotFeedbackModalProps {\n\ttitle?: string;\n\tsubtitle?: string;\n\treasons?: CopilotFeedbackReasonOption[];\n\tnotePlaceholder?: string;\n\tsubmitLabel?: string;\n\t/**\n\t * The detail the reader chose to share. Called once, on submit.\n\t */\n\tonSubmit: (detail: CopilotFeedbackDetail) => void;\n\t/**\n\t * Dismissed without sharing. The rating itself is the host's business — see\n\t * `CopilotPanel`, which records the thumbs-down either way.\n\t */\n\tonDismiss: () => void;\n\tclassName?: string;\n}\n\n/**\n * Asks what was wrong with a reply that was just rated down.\n *\n * Chips plus an optional note, and nothing is required: a reader who only wants\n * to press the thumb can dismiss this and the rating still stands. Every string\n * is overridable so a host can reword or localise it.\n */\nexport const CopilotFeedbackModal: React.FC<CopilotFeedbackModalProps> = ({\n\ttitle = 'What went wrong?',\n\tsubtitle,\n\treasons = COPILOT_FEEDBACK_REASONS,\n\tnotePlaceholder = 'Add a quick note...',\n\tsubmitLabel = 'Share feedback',\n\tonSubmit,\n\tonDismiss,\n\tclassName,\n}) => {\n\tconst [selected, setSelected] = useState<string[]>([]);\n\tconst [note, setNote] = useState('');\n\n\tconst toggle = (value: string) => {\n\t\tsetSelected((previous) =>\n\t\t\tprevious.includes(value)\n\t\t\t\t? previous.filter((item) => item !== value)\n\t\t\t\t: [...previous, value],\n\t\t);\n\t};\n\n\tconst submit = () => {\n\t\tconst comment = note.trim();\n\t\tonSubmit({\n\t\t\treasons: selected,\n\t\t\t...(comment ? { comment } : {}),\n\t\t});\n\t};\n\n\treturn (\n\t\t<ModalCard className={className} role=\"dialog\" aria-label={title}>\n\t\t\t<ModalHeader>\n\t\t\t\t<ModalHeading>\n\t\t\t\t\t<ModalTitle>{title}</ModalTitle>\n\t\t\t\t\t{subtitle ? <ModalSubtitle>{subtitle}</ModalSubtitle> : null}\n\t\t\t\t</ModalHeading>\n\t\t\t\t<ModalClose type=\"button\" onClick={onDismiss} aria-label=\"Close\">\n\t\t\t\t\t<CloseIcon />\n\t\t\t\t</ModalClose>\n\t\t\t</ModalHeader>\n\n\t\t\t<ReasonList>\n\t\t\t\t{reasons.map((reason) => (\n\t\t\t\t\t<ReasonChip\n\t\t\t\t\t\tkey={reason.value}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t$selected={selected.includes(reason.value)}\n\t\t\t\t\t\taria-pressed={selected.includes(reason.value)}\n\t\t\t\t\t\tonClick={() => toggle(reason.value)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{reason.label}\n\t\t\t\t\t</ReasonChip>\n\t\t\t\t))}\n\t\t\t</ReasonList>\n\n\t\t\t<NoteInput\n\t\t\t\tvalue={note}\n\t\t\t\tplaceholder={notePlaceholder}\n\t\t\t\tonChange={(event) => setNote(event.target.value)}\n\t\t\t/>\n\n\t\t\t<SubmitButton type=\"button\" onClick={submit}>\n\t\t\t\t{submitLabel}\n\t\t\t</SubmitButton>\n\t\t</ModalCard>\n\t);\n};\n"],"names":["COPILOT_FEEDBACK_REASONS","CloseIcon","jsx","CopilotFeedbackModal","title","subtitle","reasons","notePlaceholder","submitLabel","onSubmit","onDismiss","className","selected","setSelected","useState","note","setNote","toggle","value","previous","item","submit","comment","ModalCard","jsxs","ModalHeader","ModalHeading","ModalTitle","ModalSubtitle","ModalClose","ReasonList","reason","ReasonChip","NoteInput","event","SubmitButton"],"mappings":";;;AAgBO,MAAMA,IAA0D;AAAA,EACtE,EAAE,OAAO,YAAY,OAAO,WAAA;AAAA,EAC5B,EAAE,OAAO,kBAAkB,OAAO,4BAAA;AAAA,EAClC,EAAE,OAAO,gBAAgB,OAAO,eAAA;AAAA,EAChC,EAAE,OAAO,qBAAqB,OAAO,qBAAA;AAAA,EACrC,EAAE,OAAO,4BAA4B,OAAO,4BAAA;AAC7C,GAEMC,IAAY,MACjB,gBAAAC,EAAC,OAAA,EAAI,OAAM,MAAK,QAAO,MAAK,SAAQ,aAAY,MAAK,QACpD,UAAA,gBAAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACA,GAAE;AAAA,IACF,QAAO;AAAA,IACP,aAAY;AAAA,IACZ,eAAc;AAAA,EAAA;AACf,GACD,GA4BYC,IAA4D,CAAC;AAAA,EACzE,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,SAAAC,IAAUN;AAAA,EACV,iBAAAO,IAAkB;AAAA,EAClB,aAAAC,IAAc;AAAA,EACd,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AACD,MAAM;AACL,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAmB,CAAA,CAAE,GAC/C,CAACC,GAAMC,CAAO,IAAIF,EAAS,EAAE,GAE7BG,IAAS,CAACC,MAAkB;AACjC,IAAAL;AAAA,MAAY,CAACM,MACZA,EAAS,SAASD,CAAK,IACpBC,EAAS,OAAO,CAACC,MAASA,MAASF,CAAK,IACxC,CAAC,GAAGC,GAAUD,CAAK;AAAA,IAAA;AAAA,EAExB,GAEMG,IAAS,MAAM;AACpB,UAAMC,IAAUP,EAAK,KAAA;AACrB,IAAAN,EAAS;AAAA,MACR,SAASG;AAAA,MACT,GAAIU,IAAU,EAAE,SAAAA,MAAY,CAAA;AAAA,IAAC,CAC7B;AAAA,EACF;AAEA,2BACEC,GAAA,EAAU,WAAAZ,GAAsB,MAAK,UAAS,cAAYP,GAC1D,UAAA;AAAA,IAAA,gBAAAoB,EAACC,GAAA,EACA,UAAA;AAAA,MAAA,gBAAAD,EAACE,GAAA,EACA,UAAA;AAAA,QAAA,gBAAAxB,EAACyB,KAAY,UAAAvB,EAAA,CAAM;AAAA,QAClBC,IAAW,gBAAAH,EAAC0B,GAAA,EAAe,UAAAvB,EAAA,CAAS,IAAmB;AAAA,MAAA,GACzD;AAAA,MACA,gBAAAH,EAAC2B,GAAA,EAAW,MAAK,UAAS,SAASnB,GAAW,cAAW,SACxD,UAAA,gBAAAR,EAACD,GAAA,CAAA,CAAU,EAAA,CACZ;AAAA,IAAA,GACD;AAAA,IAEA,gBAAAC,EAAC4B,GAAA,EACC,UAAAxB,EAAQ,IAAI,CAACyB,MACb,gBAAA7B;AAAA,MAAC8B;AAAA,MAAA;AAAA,QAEA,MAAK;AAAA,QACL,WAAWpB,EAAS,SAASmB,EAAO,KAAK;AAAA,QACzC,gBAAcnB,EAAS,SAASmB,EAAO,KAAK;AAAA,QAC5C,SAAS,MAAMd,EAAOc,EAAO,KAAK;AAAA,QAEjC,UAAAA,EAAO;AAAA,MAAA;AAAA,MANHA,EAAO;AAAA,IAAA,CAQb,GACF;AAAA,IAEA,gBAAA7B;AAAA,MAAC+B;AAAA,MAAA;AAAA,QACA,OAAOlB;AAAA,QACP,aAAaR;AAAA,QACb,UAAU,CAAC2B,MAAUlB,EAAQkB,EAAM,OAAO,KAAK;AAAA,MAAA;AAAA,IAAA;AAAA,sBAG/CC,GAAA,EAAa,MAAK,UAAS,SAASd,GACnC,UAAAb,EAAA,CACF;AAAA,EAAA,GACD;AAEF;"}
@@ -1,12 +0,0 @@
1
- export declare const ModalCard: import('styled-components').StyledComponent<"div", any, {}, never>;
2
- export declare const ModalHeader: import('styled-components').StyledComponent<"div", any, {}, never>;
3
- export declare const ModalHeading: import('styled-components').StyledComponent<"div", any, {}, never>;
4
- export declare const ModalTitle: import('styled-components').StyledComponent<"span", any, {}, never>;
5
- export declare const ModalSubtitle: import('styled-components').StyledComponent<"span", any, {}, never>;
6
- export declare const ModalClose: import('styled-components').StyledComponent<"button", any, {}, never>;
7
- export declare const ReasonList: import('styled-components').StyledComponent<"div", any, {}, never>;
8
- export declare const ReasonChip: import('styled-components').StyledComponent<"button", any, {
9
- $selected: boolean;
10
- }, never>;
11
- export declare const NoteInput: import('styled-components').StyledComponent<"textarea", any, {}, never>;
12
- export declare const SubmitButton: import('styled-components').StyledComponent<"button", any, {}, never>;
@@ -1,122 +0,0 @@
1
- import r from "styled-components";
2
- import { COLORS as o } from "../../constants/Theme.js";
3
- const a = r.div`
4
- display: flex;
5
- flex-direction: column;
6
- gap: 10px;
7
- width: 220px;
8
- padding: 14px;
9
- background: ${o.surface.standard};
10
- border: 1px solid ${o.stroke.primary};
11
- border-radius: 12px;
12
- box-shadow: 0 12px 32px rgba(40, 3, 78, 0.16);
13
- `, i = r.div`
14
- display: flex;
15
- align-items: flex-start;
16
- justify-content: space-between;
17
- gap: 8px;
18
- `, d = r.div`
19
- display: flex;
20
- flex-direction: column;
21
- gap: 2px;
22
- `, s = r.span`
23
- font-family: Inter;
24
- font-size: 13px;
25
- font-weight: 600;
26
- line-height: 18px;
27
- color: ${o.content.primary};
28
- `, p = r.span`
29
- font-family: Inter;
30
- font-size: 11px;
31
- line-height: 16px;
32
- color: ${o.content.placeholder};
33
- `, c = r.button`
34
- display: inline-flex;
35
- align-items: center;
36
- justify-content: center;
37
- width: 20px;
38
- height: 20px;
39
- flex-shrink: 0;
40
- padding: 0;
41
- border: none;
42
- border-radius: 4px;
43
- background: transparent;
44
- color: ${o.content.placeholder};
45
- cursor: pointer;
46
- transition: background 0.15s ease, color 0.15s ease;
47
-
48
- &:hover {
49
- background: ${o.surface.hovered};
50
- color: ${o.content.primary};
51
- }
52
- `, l = r.div`
53
- display: flex;
54
- flex-wrap: wrap;
55
- gap: 6px;
56
- `, x = r.button`
57
- padding: 4px 8px;
58
- border-radius: 6px;
59
- border: 1px solid
60
- ${({ $selected: e }) => e ? o.stroke.brand : o.stroke.primary};
61
- background: ${({ $selected: e }) => e ? o.background.brandVeryLight : o.surface.standard};
62
- color: ${({ $selected: e }) => e ? o.content.brand : o.content.secondary};
63
- font-family: Inter;
64
- font-size: 11px;
65
- line-height: 16px;
66
- text-align: left;
67
- cursor: pointer;
68
- transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
69
-
70
- &:hover {
71
- background: ${({ $selected: e }) => e ? o.background.brandVeryLight : o.surface.hovered};
72
- }
73
- `, b = r.textarea`
74
- min-height: 64px;
75
- padding: 8px;
76
- border: 1px solid ${o.stroke.primary};
77
- border-radius: 8px;
78
- background: ${o.surface.standard};
79
- color: ${o.content.primary};
80
- font-family: Inter;
81
- font-size: 11px;
82
- line-height: 16px;
83
- resize: none;
84
- outline: none;
85
-
86
- &::placeholder {
87
- color: ${o.content.placeholder};
88
- }
89
-
90
- &:focus {
91
- border-color: ${o.stroke.brand};
92
- }
93
- `, u = r.button`
94
- padding: 8px;
95
- border: none;
96
- border-radius: 8px;
97
- background: ${o.background.brand};
98
- color: ${o.content.primaryInverse};
99
- font-family: Inter;
100
- font-size: 12px;
101
- font-weight: 600;
102
- line-height: 16px;
103
- cursor: pointer;
104
- transition: background 0.15s ease;
105
-
106
- &:hover {
107
- background: ${o.background.brandHovered};
108
- }
109
- `;
110
- export {
111
- a as ModalCard,
112
- c as ModalClose,
113
- i as ModalHeader,
114
- d as ModalHeading,
115
- p as ModalSubtitle,
116
- s as ModalTitle,
117
- b as NoteInput,
118
- x as ReasonChip,
119
- l as ReasonList,
120
- u as SubmitButton
121
- };
122
- //# sourceMappingURL=CopilotFeedbackModal.styled.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CopilotFeedbackModal.styled.js","sources":["../../../../src/components/bik-copilot/CopilotFeedbackModal.styled.ts"],"sourcesContent":["import styled from 'styled-components';\nimport { COLORS } from '@src/constants/Theme';\n\nexport const ModalCard = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 10px;\n\twidth: 220px;\n\tpadding: 14px;\n\tbackground: ${COLORS.surface.standard};\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 12px;\n\tbox-shadow: 0 12px 32px rgba(40, 3, 78, 0.16);\n`;\n\nexport const ModalHeader = styled.div`\n\tdisplay: flex;\n\talign-items: flex-start;\n\tjustify-content: space-between;\n\tgap: 8px;\n`;\n\nexport const ModalHeading = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 2px;\n`;\n\nexport const ModalTitle = styled.span`\n\tfont-family: Inter;\n\tfont-size: 13px;\n\tfont-weight: 600;\n\tline-height: 18px;\n\tcolor: ${COLORS.content.primary};\n`;\n\nexport const ModalSubtitle = styled.span`\n\tfont-family: Inter;\n\tfont-size: 11px;\n\tline-height: 16px;\n\tcolor: ${COLORS.content.placeholder};\n`;\n\nexport const ModalClose = styled.button`\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 20px;\n\theight: 20px;\n\tflex-shrink: 0;\n\tpadding: 0;\n\tborder: none;\n\tborder-radius: 4px;\n\tbackground: transparent;\n\tcolor: ${COLORS.content.placeholder};\n\tcursor: pointer;\n\ttransition: background 0.15s ease, color 0.15s ease;\n\n\t&:hover {\n\t\tbackground: ${COLORS.surface.hovered};\n\t\tcolor: ${COLORS.content.primary};\n\t}\n`;\n\nexport const ReasonList = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tgap: 6px;\n`;\n\n/* A toggle, not a radio: more than one thing can be wrong with one reply. */\nexport const ReasonChip = styled.button<{ $selected: boolean }>`\n\tpadding: 4px 8px;\n\tborder-radius: 6px;\n\tborder: 1px solid\n\t\t${({ $selected }) =>\n\t\t\t$selected ? COLORS.stroke.brand : COLORS.stroke.primary};\n\tbackground: ${({ $selected }) =>\n\t\t$selected ? COLORS.background.brandVeryLight : COLORS.surface.standard};\n\tcolor: ${({ $selected }) =>\n\t\t$selected ? COLORS.content.brand : COLORS.content.secondary};\n\tfont-family: Inter;\n\tfont-size: 11px;\n\tline-height: 16px;\n\ttext-align: left;\n\tcursor: pointer;\n\ttransition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;\n\n\t&:hover {\n\t\tbackground: ${({ $selected }) =>\n\t\t\t$selected ? COLORS.background.brandVeryLight : COLORS.surface.hovered};\n\t}\n`;\n\nexport const NoteInput = styled.textarea`\n\tmin-height: 64px;\n\tpadding: 8px;\n\tborder: 1px solid ${COLORS.stroke.primary};\n\tborder-radius: 8px;\n\tbackground: ${COLORS.surface.standard};\n\tcolor: ${COLORS.content.primary};\n\tfont-family: Inter;\n\tfont-size: 11px;\n\tline-height: 16px;\n\tresize: none;\n\toutline: none;\n\n\t&::placeholder {\n\t\tcolor: ${COLORS.content.placeholder};\n\t}\n\n\t&:focus {\n\t\tborder-color: ${COLORS.stroke.brand};\n\t}\n`;\n\nexport const SubmitButton = styled.button`\n\tpadding: 8px;\n\tborder: none;\n\tborder-radius: 8px;\n\tbackground: ${COLORS.background.brand};\n\tcolor: ${COLORS.content.primaryInverse};\n\tfont-family: Inter;\n\tfont-size: 12px;\n\tfont-weight: 600;\n\tline-height: 16px;\n\tcursor: pointer;\n\ttransition: background 0.15s ease;\n\n\t&:hover {\n\t\tbackground: ${COLORS.background.brandHovered};\n\t}\n`;\n"],"names":["ModalCard","styled","COLORS","ModalHeader","ModalHeading","ModalTitle","ModalSubtitle","ModalClose","ReasonList","ReasonChip","$selected","NoteInput","SubmitButton"],"mappings":";;AAGO,MAAMA,IAAYC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAMjBC,EAAO,QAAQ,QAAQ;AAAA,qBACjBA,EAAO,OAAO,OAAO;AAAA;AAAA;AAAA,GAK7BC,IAAcF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,GAOrBG,IAAeH,EAAO;AAAA;AAAA;AAAA;AAAA,GAMtBI,IAAaJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,UAKvBC,EAAO,QAAQ,OAAO;AAAA,GAGnBI,IAAgBL,EAAO;AAAA;AAAA;AAAA;AAAA,UAI1BC,EAAO,QAAQ,WAAW;AAAA,GAGvBK,IAAaN,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAWvBC,EAAO,QAAQ,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,gBAKpBA,EAAO,QAAQ,OAAO;AAAA,WAC3BA,EAAO,QAAQ,OAAO;AAAA;AAAA,GAIpBM,IAAaP,EAAO;AAAA;AAAA;AAAA;AAAA,GAOpBQ,IAAaR,EAAO;AAAA;AAAA;AAAA;AAAA,IAI7B,CAAC,EAAE,WAAAS,EAAA,MACJA,IAAYR,EAAO,OAAO,QAAQA,EAAO,OAAO,OAAO;AAAA,eAC3C,CAAC,EAAE,WAAAQ,EAAA,MAChBA,IAAYR,EAAO,WAAW,iBAAiBA,EAAO,QAAQ,QAAQ;AAAA,UAC9D,CAAC,EAAE,WAAAQ,EAAA,MACXA,IAAYR,EAAO,QAAQ,QAAQA,EAAO,QAAQ,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAS7C,CAAC,EAAE,WAAAQ,EAAA,MAChBA,IAAYR,EAAO,WAAW,iBAAiBA,EAAO,QAAQ,OAAO;AAAA;AAAA,GAI3DS,IAAYV,EAAO;AAAA;AAAA;AAAA,qBAGXC,EAAO,OAAO,OAAO;AAAA;AAAA,eAE3BA,EAAO,QAAQ,QAAQ;AAAA,UAC5BA,EAAO,QAAQ,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAQrBA,EAAO,QAAQ,WAAW;AAAA;AAAA;AAAA;AAAA,kBAInBA,EAAO,OAAO,KAAK;AAAA;AAAA,GAIxBU,IAAeX,EAAO;AAAA;AAAA;AAAA;AAAA,eAIpBC,EAAO,WAAW,KAAK;AAAA,UAC5BA,EAAO,QAAQ,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBASvBA,EAAO,WAAW,YAAY;AAAA;AAAA;"}
@@ -1,9 +0,0 @@
1
- import { default as React } from 'react';
2
- import { CopilotPanelProps } from './model';
3
- /**
4
- * Chat panel used by the copilot. Fully presentational: it renders the
5
- * transcript it is given and reports user intent through callbacks, so it works
6
- * against any backend.
7
- */
8
- export declare const CopilotPanel: React.FC<CopilotPanelProps>;
9
- export default CopilotPanel;