@cossistant/react 0.0.4 → 0.0.6

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 (321) hide show
  1. package/README.md +27 -0
  2. package/_virtual/rolldown_runtime.js +19 -0
  3. package/conversation.d.ts +23 -0
  4. package/conversation.d.ts.map +1 -1
  5. package/hooks/index.d.ts +5 -3
  6. package/hooks/index.js +7 -5
  7. package/hooks/private/store/use-conversations-store.d.ts +8 -0
  8. package/hooks/private/store/use-conversations-store.d.ts.map +1 -1
  9. package/hooks/private/store/use-conversations-store.js +8 -0
  10. package/hooks/private/store/use-conversations-store.js.map +1 -1
  11. package/hooks/private/store/use-store-selector.d.ts +4 -0
  12. package/hooks/private/store/use-store-selector.d.ts.map +1 -1
  13. package/hooks/private/store/use-store-selector.js +5 -2
  14. package/hooks/private/store/use-store-selector.js.map +1 -1
  15. package/hooks/private/store/use-website-store.d.ts +4 -0
  16. package/hooks/private/store/use-website-store.d.ts.map +1 -1
  17. package/hooks/private/store/use-website-store.js +6 -3
  18. package/hooks/private/store/use-website-store.js.map +1 -1
  19. package/hooks/private/typing.d.ts +35 -0
  20. package/hooks/private/typing.d.ts.map +1 -0
  21. package/hooks/private/typing.js +49 -0
  22. package/hooks/private/typing.js.map +1 -0
  23. package/hooks/private/use-client-query.d.ts +5 -0
  24. package/hooks/private/use-client-query.d.ts.map +1 -1
  25. package/hooks/private/use-client-query.js +5 -0
  26. package/hooks/private/use-client-query.js.map +1 -1
  27. package/hooks/private/use-grouped-messages.d.ts +10 -4
  28. package/hooks/private/use-grouped-messages.d.ts.map +1 -1
  29. package/hooks/private/use-grouped-messages.js +24 -4
  30. package/hooks/private/use-grouped-messages.js.map +1 -1
  31. package/hooks/private/use-multimodal-input.d.ts.map +1 -1
  32. package/hooks/private/use-rest-client.d.ts.map +1 -1
  33. package/hooks/private/use-visitor-typing-reporter.d.ts +6 -0
  34. package/hooks/private/use-visitor-typing-reporter.d.ts.map +1 -1
  35. package/hooks/private/use-visitor-typing-reporter.js +6 -0
  36. package/hooks/private/use-visitor-typing-reporter.js.map +1 -1
  37. package/hooks/use-composer-refocus.d.ts.map +1 -1
  38. package/hooks/use-conversation-auto-seen.d.ts +9 -0
  39. package/hooks/use-conversation-auto-seen.d.ts.map +1 -1
  40. package/hooks/use-conversation-auto-seen.js +44 -3
  41. package/hooks/use-conversation-auto-seen.js.map +1 -1
  42. package/hooks/use-conversation-history-page.d.ts.map +1 -1
  43. package/hooks/use-conversation-history-page.js +16 -18
  44. package/hooks/use-conversation-history-page.js.map +1 -1
  45. package/hooks/use-conversation-lifecycle.d.ts.map +1 -1
  46. package/hooks/use-conversation-lifecycle.js +2 -4
  47. package/hooks/use-conversation-lifecycle.js.map +1 -1
  48. package/hooks/use-conversation-page.d.ts +6 -0
  49. package/hooks/use-conversation-page.d.ts.map +1 -1
  50. package/hooks/use-conversation-page.js +41 -3
  51. package/hooks/use-conversation-page.js.map +1 -1
  52. package/hooks/use-conversation-preview.d.ts +61 -0
  53. package/hooks/use-conversation-preview.d.ts.map +1 -0
  54. package/hooks/use-conversation-preview.js +173 -0
  55. package/hooks/use-conversation-preview.js.map +1 -0
  56. package/hooks/use-conversation-seen.d.ts +4 -0
  57. package/hooks/use-conversation-seen.d.ts.map +1 -1
  58. package/hooks/use-conversation-seen.js +4 -0
  59. package/hooks/use-conversation-seen.js.map +1 -1
  60. package/hooks/use-conversation-timeline-items.d.ts +4 -0
  61. package/hooks/use-conversation-timeline-items.d.ts.map +1 -1
  62. package/hooks/use-conversation-timeline-items.js +4 -0
  63. package/hooks/use-conversation-timeline-items.js.map +1 -1
  64. package/hooks/use-conversation-timeline.d.ts +32 -0
  65. package/hooks/use-conversation-timeline.d.ts.map +1 -0
  66. package/hooks/use-conversation-timeline.js +41 -0
  67. package/hooks/use-conversation-timeline.js.map +1 -0
  68. package/hooks/use-conversation-typing.d.ts +4 -0
  69. package/hooks/use-conversation-typing.d.ts.map +1 -1
  70. package/hooks/use-conversation-typing.js +4 -0
  71. package/hooks/use-conversation-typing.js.map +1 -1
  72. package/hooks/use-conversation.d.ts +11 -0
  73. package/hooks/use-conversation.d.ts.map +1 -1
  74. package/hooks/use-conversation.js +11 -0
  75. package/hooks/use-conversation.js.map +1 -1
  76. package/hooks/use-conversations.d.ts +12 -0
  77. package/hooks/use-conversations.d.ts.map +1 -1
  78. package/hooks/use-conversations.js +12 -0
  79. package/hooks/use-conversations.js.map +1 -1
  80. package/hooks/use-create-conversation.d.ts +5 -0
  81. package/hooks/use-create-conversation.d.ts.map +1 -1
  82. package/hooks/use-create-conversation.js +12 -9
  83. package/hooks/use-create-conversation.js.map +1 -1
  84. package/hooks/use-home-page.d.ts.map +1 -1
  85. package/hooks/use-home-page.js +6 -4
  86. package/hooks/use-home-page.js.map +1 -1
  87. package/hooks/use-message-composer.d.ts.map +1 -1
  88. package/hooks/use-realtime-support.d.ts.map +1 -1
  89. package/hooks/use-send-message.d.ts +9 -0
  90. package/hooks/use-send-message.d.ts.map +1 -1
  91. package/hooks/use-send-message.js +15 -13
  92. package/hooks/use-send-message.js.map +1 -1
  93. package/hooks/use-visitor.d.ts.map +1 -1
  94. package/hooks/use-visitor.js +28 -30
  95. package/hooks/use-visitor.js.map +1 -1
  96. package/hooks/use-window-visibility-focus.d.ts +4 -0
  97. package/hooks/use-window-visibility-focus.d.ts.map +1 -1
  98. package/hooks/use-window-visibility-focus.js +5 -2
  99. package/hooks/use-window-visibility-focus.js.map +1 -1
  100. package/identify-visitor.d.ts +12 -3
  101. package/identify-visitor.d.ts.map +1 -1
  102. package/identify-visitor.js +58 -9
  103. package/identify-visitor.js.map +1 -1
  104. package/index.d.ts +10 -7
  105. package/index.js +10 -9
  106. package/package.json +12 -16
  107. package/primitives/avatar/avatar.d.ts.map +1 -1
  108. package/primitives/avatar/fallback.d.ts.map +1 -1
  109. package/primitives/avatar/fallback.js +1 -3
  110. package/primitives/avatar/fallback.js.map +1 -1
  111. package/primitives/avatar/image.d.ts.map +1 -1
  112. package/primitives/avatar/index.d.ts +1 -0
  113. package/primitives/bubble.d.ts +2 -0
  114. package/primitives/bubble.d.ts.map +1 -1
  115. package/primitives/bubble.js +8 -2
  116. package/primitives/bubble.js.map +1 -1
  117. package/primitives/button.d.ts.map +1 -1
  118. package/primitives/conversation-timeline.d.ts.map +1 -1
  119. package/primitives/conversation-timeline.js +58 -5
  120. package/primitives/conversation-timeline.js.map +1 -1
  121. package/primitives/index.d.ts +1 -0
  122. package/primitives/index.parts.d.ts +1 -0
  123. package/primitives/multimodal-input.d.ts.map +1 -1
  124. package/primitives/timeline-item-group.d.ts +7 -7
  125. package/primitives/timeline-item-group.d.ts.map +1 -1
  126. package/primitives/timeline-item-group.js.map +1 -1
  127. package/primitives/timeline-item.d.ts +1 -1
  128. package/primitives/timeline-item.d.ts.map +1 -1
  129. package/primitives/timeline-item.js +7 -1
  130. package/primitives/timeline-item.js.map +1 -1
  131. package/primitives/window.d.ts +1 -1
  132. package/primitives/window.d.ts.map +1 -1
  133. package/primitives/window.js +4 -4
  134. package/primitives/window.js.map +1 -1
  135. package/provider.d.ts +23 -43
  136. package/provider.d.ts.map +1 -1
  137. package/provider.js +152 -49
  138. package/provider.js.map +1 -1
  139. package/realtime/event-filter.d.ts +4 -0
  140. package/realtime/event-filter.d.ts.map +1 -1
  141. package/realtime/event-filter.js +4 -0
  142. package/realtime/event-filter.js.map +1 -1
  143. package/realtime/index.js +1 -1
  144. package/realtime/provider.d.ts +7 -2
  145. package/realtime/provider.d.ts.map +1 -1
  146. package/realtime/provider.js +23 -1
  147. package/realtime/provider.js.map +1 -1
  148. package/realtime/seen-store.d.ts +13 -0
  149. package/realtime/seen-store.d.ts.map +1 -1
  150. package/realtime/seen-store.js +14 -2
  151. package/realtime/seen-store.js.map +1 -1
  152. package/realtime/support-provider.d.ts +1 -2
  153. package/realtime/support-provider.d.ts.map +1 -1
  154. package/realtime/support-provider.js +19 -20
  155. package/realtime/support-provider.js.map +1 -1
  156. package/realtime/typing-store.d.ts +18 -0
  157. package/realtime/typing-store.d.ts.map +1 -1
  158. package/realtime/typing-store.js +19 -2
  159. package/realtime/typing-store.js.map +1 -1
  160. package/realtime/use-realtime.d.ts +8 -4
  161. package/realtime/use-realtime.d.ts.map +1 -1
  162. package/realtime/use-realtime.js +4 -0
  163. package/realtime/use-realtime.js.map +1 -1
  164. package/realtime-events.d.ts +15 -1
  165. package/realtime-events.d.ts.map +1 -1
  166. package/schemas.d.ts +6 -0
  167. package/schemas.d.ts.map +1 -1
  168. package/support/components/avatar-stack.d.ts +8 -4
  169. package/support/components/avatar-stack.d.ts.map +1 -1
  170. package/support/components/avatar-stack.js +4 -0
  171. package/support/components/avatar-stack.js.map +1 -1
  172. package/support/components/avatar.d.ts +11 -6
  173. package/support/components/avatar.d.ts.map +1 -1
  174. package/support/components/avatar.js +4 -0
  175. package/support/components/avatar.js.map +1 -1
  176. package/support/components/bubble.d.ts.map +1 -1
  177. package/support/components/bubble.js +29 -6
  178. package/support/components/bubble.js.map +1 -1
  179. package/support/components/button.d.ts +8 -5
  180. package/support/components/button.d.ts.map +1 -1
  181. package/support/components/button.js +5 -1
  182. package/support/components/button.js.map +1 -1
  183. package/support/components/container.d.ts +0 -1
  184. package/support/components/container.d.ts.map +1 -1
  185. package/support/components/container.js +2 -8
  186. package/support/components/container.js.map +1 -1
  187. package/support/components/conversation-button-link.d.ts +8 -21
  188. package/support/components/conversation-button-link.d.ts.map +1 -1
  189. package/support/components/conversation-button-link.js +62 -178
  190. package/support/components/conversation-button-link.js.map +1 -1
  191. package/support/components/conversation-event.d.ts.map +1 -1
  192. package/support/components/conversation-event.js +4 -0
  193. package/support/components/conversation-event.js.map +1 -1
  194. package/support/components/conversation-timeline.d.ts +10 -1
  195. package/support/components/conversation-timeline.d.ts.map +1 -1
  196. package/support/components/conversation-timeline.js +63 -57
  197. package/support/components/conversation-timeline.js.map +1 -1
  198. package/support/components/cossistant-branding.d.ts +5 -2
  199. package/support/components/cossistant-branding.d.ts.map +1 -1
  200. package/support/components/cossistant-branding.js +3 -0
  201. package/support/components/cossistant-branding.js.map +1 -1
  202. package/support/components/header.d.ts.map +1 -1
  203. package/support/components/header.js +2 -2
  204. package/support/components/header.js.map +1 -1
  205. package/support/components/icons.d.ts.map +1 -1
  206. package/support/components/multimodal-input.d.ts.map +1 -1
  207. package/support/components/multimodal-input.js +5 -24
  208. package/support/components/multimodal-input.js.map +1 -1
  209. package/support/components/navigation-tab.d.ts +7 -2
  210. package/support/components/navigation-tab.d.ts.map +1 -1
  211. package/support/components/navigation-tab.js +4 -0
  212. package/support/components/navigation-tab.js.map +1 -1
  213. package/support/components/support-content.d.ts +1 -1
  214. package/support/components/support-content.d.ts.map +1 -1
  215. package/support/components/support-content.js +7 -10
  216. package/support/components/support-content.js.map +1 -1
  217. package/support/components/text-effect.d.ts +5 -2
  218. package/support/components/text-effect.d.ts.map +1 -1
  219. package/support/components/text-effect.js +4 -0
  220. package/support/components/text-effect.js.map +1 -1
  221. package/support/components/timeline-identification-tool.d.ts +7 -0
  222. package/support/components/timeline-identification-tool.d.ts.map +1 -0
  223. package/support/components/timeline-identification-tool.js +139 -0
  224. package/support/components/timeline-identification-tool.js.map +1 -0
  225. package/support/components/timeline-message-group.d.ts +2 -1
  226. package/support/components/timeline-message-group.d.ts.map +1 -1
  227. package/support/components/timeline-message-group.js +4 -19
  228. package/support/components/timeline-message-group.js.map +1 -1
  229. package/support/components/timeline-message-item.d.ts +6 -2
  230. package/support/components/timeline-message-item.d.ts.map +1 -1
  231. package/support/components/timeline-message-item.js +8 -4
  232. package/support/components/timeline-message-item.js.map +1 -1
  233. package/support/components/typing-indicator.d.ts +5 -2
  234. package/support/components/typing-indicator.d.ts.map +1 -1
  235. package/support/components/typing-indicator.js +4 -4
  236. package/support/components/typing-indicator.js.map +1 -1
  237. package/support/components/watermark.d.ts.map +1 -1
  238. package/support/context/websocket.d.ts +8 -0
  239. package/support/context/websocket.d.ts.map +1 -1
  240. package/support/context/websocket.js +12 -6
  241. package/support/context/websocket.js.map +1 -1
  242. package/support/index.d.ts +8 -8
  243. package/support/index.d.ts.map +1 -1
  244. package/support/index.js +18 -18
  245. package/support/index.js.map +1 -1
  246. package/support/pages/conversation-history.js +46 -54
  247. package/support/pages/conversation-history.js.map +1 -1
  248. package/support/pages/conversation.d.ts +3 -6
  249. package/support/pages/conversation.d.ts.map +1 -1
  250. package/support/pages/conversation.js +19 -9
  251. package/support/pages/conversation.js.map +1 -1
  252. package/support/pages/home.d.ts +2 -2
  253. package/support/pages/home.d.ts.map +1 -1
  254. package/support/pages/home.js +64 -77
  255. package/support/pages/home.js.map +1 -1
  256. package/support/store/support-store.d.ts +18 -2
  257. package/support/store/support-store.d.ts.map +1 -1
  258. package/support/store/support-store.js +20 -5
  259. package/support/store/support-store.js.map +1 -1
  260. package/support/{support-CMoDLQoC.css → support-Ck4jy29i.css} +1 -2
  261. package/support/support-Ck4jy29i.css.map +1 -0
  262. package/support/text/index.d.ts +15 -2
  263. package/support/text/index.d.ts.map +1 -1
  264. package/support/text/index.js +15 -2
  265. package/support/text/index.js.map +1 -1
  266. package/support/text/locales/en.js +22 -4
  267. package/support/text/locales/en.js.map +1 -1
  268. package/support/text/locales/es.js +18 -0
  269. package/support/text/locales/es.js.map +1 -1
  270. package/support/text/locales/fr.js +18 -0
  271. package/support/text/locales/fr.js.map +1 -1
  272. package/support/text/locales/keys.d.ts +69 -9
  273. package/support/text/locales/keys.d.ts.map +1 -1
  274. package/support/text/locales/keys.js +18 -0
  275. package/support/text/locales/keys.js.map +1 -1
  276. package/support/text/runtime.d.ts +21 -0
  277. package/support/text/runtime.d.ts.map +1 -1
  278. package/support/text/runtime.js +21 -0
  279. package/support/text/runtime.js.map +1 -1
  280. package/support/utils/index.d.ts +4 -0
  281. package/support/utils/index.d.ts.map +1 -1
  282. package/support/utils/index.js +4 -1
  283. package/support/utils/index.js.map +1 -1
  284. package/support/utils/time.d.ts +3 -0
  285. package/support/utils/time.d.ts.map +1 -1
  286. package/support/utils/time.js +3 -0
  287. package/support/utils/time.js.map +1 -1
  288. package/support-config.d.ts +2 -1
  289. package/support-config.d.ts.map +1 -1
  290. package/support-config.js.map +1 -1
  291. package/support.css +2 -2
  292. package/tailwind.css +404 -0
  293. package/timeline-item.d.ts +10 -0
  294. package/timeline-item.d.ts.map +1 -1
  295. package/utils/conversation.d.ts +7 -0
  296. package/utils/conversation.d.ts.map +1 -0
  297. package/utils/conversation.js +18 -0
  298. package/utils/conversation.js.map +1 -0
  299. package/utils/id.d.ts +3 -0
  300. package/utils/id.d.ts.map +1 -1
  301. package/utils/id.js +3 -0
  302. package/utils/id.js.map +1 -1
  303. package/utils/index.d.ts +2 -1
  304. package/utils/index.js +2 -1
  305. package/utils/metadata-hash.d.ts +12 -0
  306. package/utils/metadata-hash.d.ts.map +1 -0
  307. package/utils/metadata-hash.js +26 -0
  308. package/utils/metadata-hash.js.map +1 -0
  309. package/utils/text.d.ts +3 -0
  310. package/utils/text.d.ts.map +1 -1
  311. package/utils/text.js +3 -0
  312. package/utils/text.js.map +1 -1
  313. package/utils/use-render-element.d.ts +3 -0
  314. package/utils/use-render-element.d.ts.map +1 -1
  315. package/utils/use-render-element.js +3 -0
  316. package/utils/use-render-element.js.map +1 -1
  317. package/support/context/config.d.ts +0 -32
  318. package/support/context/config.d.ts.map +0 -1
  319. package/support/context/config.js +0 -27
  320. package/support/context/config.js.map +0 -1
  321. package/support/support-CMoDLQoC.css.map +0 -1
@@ -0,0 +1,12 @@
1
+ //#region src/utils/metadata-hash.d.ts
2
+ /**
3
+ * Computes a deterministic hash from metadata object.
4
+ * This is used to check if metadata has changed without comparing the entire object.
5
+ * Returns a short hash string (first 8 characters of SHA256).
6
+ *
7
+ * Note: This uses SubtleCrypto API in the browser and crypto module in Node.js
8
+ */
9
+ declare function computeMetadataHash(metadata: Record<string, unknown> | null | undefined): Promise<string>;
10
+ //#endregion
11
+ export { computeMetadataHash };
12
+ //# sourceMappingURL=metadata-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-hash.d.ts","names":[],"sources":["../../src/utils/metadata-hash.ts"],"sourcesContent":[],"mappings":";;AAOA;;;;;;iBAAsB,mBAAA,WACX,6CACR"}
@@ -0,0 +1,26 @@
1
+ //#region src/utils/metadata-hash.ts
2
+ /**
3
+ * Computes a deterministic hash from metadata object.
4
+ * This is used to check if metadata has changed without comparing the entire object.
5
+ * Returns a short hash string (first 8 characters of SHA256).
6
+ *
7
+ * Note: This uses SubtleCrypto API in the browser and crypto module in Node.js
8
+ */
9
+ async function computeMetadataHash(metadata) {
10
+ if (!metadata || Object.keys(metadata).length === 0) return "";
11
+ const sortedMetadata = Object.keys(metadata).sort().reduce((acc, key) => {
12
+ acc[key] = metadata[key];
13
+ return acc;
14
+ }, {});
15
+ const metadataString = JSON.stringify(sortedMetadata);
16
+ if (typeof window !== "undefined" && window.crypto?.subtle) {
17
+ const data = new TextEncoder().encode(metadataString);
18
+ const hashBuffer = await window.crypto.subtle.digest("SHA-256", data);
19
+ return Array.from(new Uint8Array(hashBuffer)).map((b) => b.toString(16).padStart(2, "0")).join("").slice(0, 8);
20
+ }
21
+ return (await import("node:crypto")).createHash("sha256").update(metadataString).digest("hex").slice(0, 8);
22
+ }
23
+
24
+ //#endregion
25
+ export { computeMetadataHash };
26
+ //# sourceMappingURL=metadata-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-hash.js","names":[],"sources":["../../src/utils/metadata-hash.ts"],"sourcesContent":["/**\n * Computes a deterministic hash from metadata object.\n * This is used to check if metadata has changed without comparing the entire object.\n * Returns a short hash string (first 8 characters of SHA256).\n *\n * Note: This uses SubtleCrypto API in the browser and crypto module in Node.js\n */\nexport async function computeMetadataHash(\n\tmetadata: Record<string, unknown> | null | undefined\n): Promise<string> {\n\tif (!metadata || Object.keys(metadata).length === 0) {\n\t\treturn \"\";\n\t}\n\n\t// Sort keys to ensure deterministic output\n\tconst sortedKeys = Object.keys(metadata).sort();\n\tconst sortedMetadata = sortedKeys.reduce(\n\t\t(acc, key) => {\n\t\t\tacc[key] = metadata[key];\n\t\t\treturn acc;\n\t\t},\n\t\t{} as Record<string, unknown>\n\t);\n\n\t// Create a stable string representation\n\tconst metadataString = JSON.stringify(sortedMetadata);\n\n\t// Use SubtleCrypto in browser, crypto module in Node.js\n\tif (typeof window !== \"undefined\" && window.crypto?.subtle) {\n\t\t// Browser environment\n\t\tconst encoder = new TextEncoder();\n\t\tconst data = encoder.encode(metadataString);\n\t\tconst hashBuffer = await window.crypto.subtle.digest(\"SHA-256\", data);\n\t\tconst hashArray = Array.from(new Uint8Array(hashBuffer));\n\t\tconst hashHex = hashArray\n\t\t\t.map((b) => b.toString(16).padStart(2, \"0\"))\n\t\t\t.join(\"\");\n\t\treturn hashHex.slice(0, 8);\n\t}\n\n\t// Node.js environment (for SSR)\n\tconst crypto = await import(\"node:crypto\");\n\treturn crypto\n\t\t.createHash(\"sha256\")\n\t\t.update(metadataString)\n\t\t.digest(\"hex\")\n\t\t.slice(0, 8);\n}\n"],"mappings":";;;;;;;;AAOA,eAAsB,oBACrB,UACkB;AAClB,KAAI,CAAC,YAAY,OAAO,KAAK,SAAS,CAAC,WAAW,EACjD,QAAO;CAKR,MAAM,iBADa,OAAO,KAAK,SAAS,CAAC,MAAM,CACb,QAChC,KAAK,QAAQ;AACb,MAAI,OAAO,SAAS;AACpB,SAAO;IAER,EAAE,CACF;CAGD,MAAM,iBAAiB,KAAK,UAAU,eAAe;AAGrD,KAAI,OAAO,WAAW,eAAe,OAAO,QAAQ,QAAQ;EAG3D,MAAM,OADU,IAAI,aAAa,CACZ,OAAO,eAAe;EAC3C,MAAM,aAAa,MAAM,OAAO,OAAO,OAAO,OAAO,WAAW,KAAK;AAKrE,SAJkB,MAAM,KAAK,IAAI,WAAW,WAAW,CAAC,CAEtD,KAAK,MAAM,EAAE,SAAS,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,CAC3C,KAAK,GAAG,CACK,MAAM,GAAG,EAAE;;AAK3B,SADe,MAAM,OAAO,gBAE1B,WAAW,SAAS,CACpB,OAAO,eAAe,CACtB,OAAO,MAAM,CACb,MAAM,GAAG,EAAE"}
package/utils/text.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  //#region src/utils/text.d.ts
2
+ /**
3
+ * Capitalizes the leading character of helper text snippets.
4
+ */
2
5
  declare function capitalizeFirstLetter(text: string | undefined): string;
3
6
  //#endregion
4
7
  export { capitalizeFirstLetter };
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","names":[],"sources":["../../src/utils/text.ts"],"sourcesContent":[],"mappings":";iBAAgB,qBAAA"}
1
+ {"version":3,"file":"text.d.ts","names":[],"sources":["../../src/utils/text.ts"],"sourcesContent":[],"mappings":";;AAGA;;iBAAgB,qBAAA"}
package/utils/text.js CHANGED
@@ -1,4 +1,7 @@
1
1
  //#region src/utils/text.ts
2
+ /**
3
+ * Capitalizes the leading character of helper text snippets.
4
+ */
2
5
  function capitalizeFirstLetter(text) {
3
6
  if (!text) return "";
4
7
  return text.charAt(0).toUpperCase() + text.slice(1);
package/utils/text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","names":[],"sources":["../../src/utils/text.ts"],"sourcesContent":["export function capitalizeFirstLetter(text: string | undefined) {\n\tif (!text) {\n\t\treturn \"\";\n\t}\n\n\treturn text.charAt(0).toUpperCase() + text.slice(1);\n}\n"],"mappings":";AAAA,SAAgB,sBAAsB,MAA0B;AAC/D,KAAI,CAAC,KACJ,QAAO;AAGR,QAAO,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE"}
1
+ {"version":3,"file":"text.js","names":[],"sources":["../../src/utils/text.ts"],"sourcesContent":["/**\n * Capitalizes the leading character of helper text snippets.\n */\nexport function capitalizeFirstLetter(text: string | undefined) {\n\tif (!text) {\n\t\treturn \"\";\n\t}\n\n\treturn text.charAt(0).toUpperCase() + text.slice(1);\n}\n"],"mappings":";;;;AAGA,SAAgB,sBAAsB,MAA0B;AAC/D,KAAI,CAAC,KACJ,QAAO;AAGR,QAAO,KAAK,OAAO,EAAE,CAAC,aAAa,GAAG,KAAK,MAAM,EAAE"}
@@ -16,6 +16,9 @@ type RenderParams<State, Tag extends IntrinsicTag> = {
16
16
  props?: Partial<JSX.IntrinsicElements[Tag]>;
17
17
  enabled?: boolean;
18
18
  };
19
+ /**
20
+ * Utility hook to support slot-style component overrides.
21
+ */
19
22
  declare function useRenderElement<State extends Record<string, any>, Tag extends IntrinsicTag>(tag: Tag, componentProps: RenderProps<State, Tag>, params?: RenderParams<State, Tag>): React$1.ReactElement | null;
20
23
  //#endregion
21
24
  export { useRenderElement };
@@ -1 +1 @@
1
- {"version":3,"file":"use-render-element.d.ts","names":[],"sources":["../../src/utils/use-render-element.tsx"],"sourcesContent":[],"mappings":";;;;AAI+B,KAE1B,YAAA,GAAY,MAAS,GAAA,CAAI,iBAAA;AAAiB,KAE1C,SAAA,CAAA,KAAS,CAAA,GAAA,MAA4B,GAAK,CAAA,CAAA,KAAA,EAAL,KAAK,EAAA,GAAA,MAAA,CAAA;AAAA,KAE1C,QAAA,CAAA,KAAQ,EAAA,KAAA,CAAA,GAAA,CAAA,KAAA,EACL,KADK,EAAA,KAAA,EAEL,KAFK,EAAA,GAGR,OAAA,CAAM,YAHE;KAKR,WALQ,CAAA,KAAA,EAAA,YAKuB,YALvB,CAAA,GAAA;QACL,CAAA,EAKE,OAAA,CAAM,YALR,GAKuB,QALvB,CAKgC,GAAA,CAAI,iBALpC,CAKsD,GALtD,CAAA,EAK4D,KAL5D,CAAA;WACA,CAAA,EAKK,SALL,CAKe,KALf,CAAA;SACH,CAAA,EAAA,OAAM;CAAY;AAAA,KAQlB,YANA,CAAW,KAAA,EAAA,YAMqB,YANrB,CAAA,GAAA;EAAA,KAAA,CAAA,EAOP,KAPO;KAAoB,CAAA,EAQ7B,OAAA,CAAM,GARuB,CAAA,GAAA,CAAA;OAC1B,CAAA,EAQD,OARO,CAQC,GAAA,CAAI,iBARL,CAQuB,GARvB,CAAA,CAAA;SAA4B,CAAA,EAAA,OAAA;;AAAwB,iBA2BpD,gBA3BoD,CAAA,cA4BrD,MA5BqD,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,YA6BvD,YA7BuD,CAAA,CAAA,GAAA,EA+B9D,GA/B8D,EAAA,cAAA,EAgCnD,WAhCmD,CAgCvC,KAhCuC,EAgChC,GAhCgC,CAAA,EAAA,MAAA,CAAA,EAiC1D,YAjC0D,CAiC7C,KAjC6C,EAiCtC,GAjCsC,CAAA,CAAA,EAkCjE,OAAA,CAAM,YAlC2D,GAAA,IAAA"}
1
+ {"version":3,"file":"use-render-element.d.ts","names":[],"sources":["../../src/utils/use-render-element.tsx"],"sourcesContent":[],"mappings":";;;;AAI+B,KAE1B,YAAA,GAAY,MAAS,GAAA,CAAI,iBAAA;AAAiB,KAE1C,SAAA,CAAA,KAAS,CAAA,GAAA,MAAA,GAA4B,CAAA,CAAA,KAAK,EAAL,KAAK,EAAA,GAAA,MAAA,CAAA;AAAA,KAE1C,QAAA,CAAA,KAAQ,EAAA,KAAA,CAAA,GAAA,CAAA,KAAA,EACL,KADK,EAAA,KAAA,EAEL,KAFK,EAAA,GAGR,OAAA,CAAM,YAHE;KAKR,WAJG,CAAA,KAAA,EAAA,YAI4B,YAJ5B,CAAA,GAAA;EACA,MAAA,CAAA,EAIE,OAAA,CAAM,YAJR,GAIuB,QAJvB,CAIgC,GAAA,CAAI,iBAJpC,CAIsD,GAJtD,CAAA,EAI4D,KAJ5D,CAAA;EACH,SAAM,CAAA,EAIE,SAJF,CAIY,KAJZ,CAAA;EAAY,OAAA,CAAA,EAAA,OAAA;AAAA,CAAA;KAQlB,YAN+B,CAAA,KAAA,EAAA,YAMC,YAND,CAAA,GAAA;EAC1B,KAAM,CAAA,EAMP,KANO;EAAwB,GAAI,CAAA,EAOrC,OAAA,CAAM,GAP+B,CAAA,GAAA,CAAA;EAAkB,KAAA,CAAA,EAQrD,OARqD,CAQ7C,GAAA,CAAI,iBARyC,CAQvB,GARuB,CAAA,CAAA;EAAM,OAAA,CAAA,EAAA,OAAA;CAArC;;;;AAK1B,iBAyBW,gBAzBC,CAAA,cA0BF,MA1BE,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,YA2BJ,YA3BI,CAAA,CAAA,GAAA,EA6BX,GA7BW,EAAA,cAAA,EA8BA,WA9BA,CA8BY,KA9BZ,EA8BmB,GA9BnB,CAAA,EAAA,MAAA,CAAA,EA+BP,YA/BO,CA+BM,KA/BN,EA+Ba,GA/Bb,CAAA,CAAA,EAgCd,OAAA,CAAM,YAhCQ,GAAA,IAAA"}
@@ -8,6 +8,9 @@ function Slot({ children,...props }) {
8
8
  className: [children.props.className, props.className].filter(Boolean).join(" ")
9
9
  });
10
10
  }
11
+ /**
12
+ * Utility hook to support slot-style component overrides.
13
+ */
11
14
  function useRenderElement(tag, componentProps, params) {
12
15
  const { render, className: classNameProp, asChild = false } = componentProps;
13
16
  const { state = {}, ref, props = {}, enabled = true } = params || {};
@@ -1 +1 @@
1
- {"version":3,"file":"use-render-element.js","names":["React"],"sources":["../../src/utils/use-render-element.tsx"],"sourcesContent":["/** biome-ignore-all lint/suspicious/noExplicitAny: works well here */\n/** biome-ignore-all lint/nursery/noUnnecessaryConditions: ok */\n\nimport type { JSX } from \"react\";\nimport * as React from \"react\";\n\ntype IntrinsicTag = keyof JSX.IntrinsicElements;\n\ntype ClassName<State> = string | ((state: State) => string);\n\ntype RenderFn<Props, State> = (\n\tprops: Props,\n\tstate: State\n) => React.ReactElement;\n\ntype RenderProps<State, Tag extends IntrinsicTag> = {\n\trender?: React.ReactElement | RenderFn<JSX.IntrinsicElements[Tag], State>;\n\tclassName?: ClassName<State>;\n\tasChild?: boolean;\n};\n\ntype RenderParams<State, Tag extends IntrinsicTag> = {\n\tstate?: State;\n\tref?: React.Ref<any>;\n\tprops?: Partial<JSX.IntrinsicElements[Tag]>;\n\tenabled?: boolean;\n};\n\nfunction Slot({\n\tchildren,\n\t...props\n}: {\n\tchildren: React.ReactElement;\n\t[key: string]: any;\n}) {\n\treturn React.cloneElement(children, {\n\t\t...props,\n\t\tclassName: [(children.props as any).className, props.className]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \"),\n\t} as any);\n}\n\nexport function useRenderElement<\n\tState extends Record<string, any>,\n\tTag extends IntrinsicTag,\n>(\n\ttag: Tag,\n\tcomponentProps: RenderProps<State, Tag>,\n\tparams?: RenderParams<State, Tag>\n): React.ReactElement | null {\n\tconst { render, className: classNameProp, asChild = false } = componentProps;\n\n\tconst {\n\t\tstate = {} as State,\n\t\tref,\n\t\tprops = {} as Partial<JSX.IntrinsicElements[Tag]>,\n\t\tenabled = true,\n\t} = params || {};\n\n\tif (!enabled) {\n\t\treturn null;\n\t}\n\n\tconst computedClassName =\n\t\ttypeof classNameProp === \"function\" ? classNameProp(state) : classNameProp;\n\n\tconst mergedProps = {\n\t\t...props,\n\t\tclassName: [props.className, computedClassName].filter(Boolean).join(\" \"),\n\t\tref,\n\t};\n\n\tif (typeof render === \"function\") {\n\t\treturn render(mergedProps as JSX.IntrinsicElements[Tag], state);\n\t}\n\n\tif (React.isValidElement(render)) {\n\t\treturn React.cloneElement(render, {\n\t\t\t...mergedProps,\n\t\t\tref: (render as any).ref || ref,\n\t\t});\n\t}\n\n\tif (asChild && React.isValidElement(props.children)) {\n\t\treturn <Slot {...mergedProps}>{props.children}</Slot>;\n\t}\n\n\treturn React.createElement(tag, mergedProps as any);\n}\n"],"mappings":";;;;AA4BA,SAAS,KAAK,EACb,SACA,GAAG,SAID;AACF,QAAOA,QAAM,aAAa,UAAU;EACnC,GAAG;EACH,WAAW,CAAE,SAAS,MAAc,WAAW,MAAM,UAAU,CAC7D,OAAO,QAAQ,CACf,KAAK,IAAI;EACX,CAAQ;;AAGV,SAAgB,iBAIf,KACA,gBACA,QAC4B;CAC5B,MAAM,EAAE,QAAQ,WAAW,eAAe,UAAU,UAAU;CAE9D,MAAM,EACL,QAAQ,EAAE,EACV,KACA,QAAQ,EAAE,EACV,UAAU,SACP,UAAU,EAAE;AAEhB,KAAI,CAAC,QACJ,QAAO;CAGR,MAAM,oBACL,OAAO,kBAAkB,aAAa,cAAc,MAAM,GAAG;CAE9D,MAAM,cAAc;EACnB,GAAG;EACH,WAAW,CAAC,MAAM,WAAW,kBAAkB,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EACzE;EACA;AAED,KAAI,OAAO,WAAW,WACrB,QAAO,OAAO,aAA2C,MAAM;AAGhE,KAAIA,QAAM,eAAe,OAAO,CAC/B,QAAOA,QAAM,aAAa,QAAQ;EACjC,GAAG;EACH,KAAM,OAAe,OAAO;EAC5B,CAAC;AAGH,KAAI,WAAWA,QAAM,eAAe,MAAM,SAAS,CAClD,QAAO,oBAAC;EAAK,GAAI;YAAc,MAAM;GAAgB;AAGtD,QAAOA,QAAM,cAAc,KAAK,YAAmB"}
1
+ {"version":3,"file":"use-render-element.js","names":["React"],"sources":["../../src/utils/use-render-element.tsx"],"sourcesContent":["/** biome-ignore-all lint/suspicious/noExplicitAny: works well here */\n/** biome-ignore-all lint/nursery/noUnnecessaryConditions: ok */\n\nimport type { JSX } from \"react\";\nimport * as React from \"react\";\n\ntype IntrinsicTag = keyof JSX.IntrinsicElements;\n\ntype ClassName<State> = string | ((state: State) => string);\n\ntype RenderFn<Props, State> = (\n\tprops: Props,\n\tstate: State\n) => React.ReactElement;\n\ntype RenderProps<State, Tag extends IntrinsicTag> = {\n\trender?: React.ReactElement | RenderFn<JSX.IntrinsicElements[Tag], State>;\n\tclassName?: ClassName<State>;\n\tasChild?: boolean;\n};\n\ntype RenderParams<State, Tag extends IntrinsicTag> = {\n\tstate?: State;\n\tref?: React.Ref<any>;\n\tprops?: Partial<JSX.IntrinsicElements[Tag]>;\n\tenabled?: boolean;\n};\n\nfunction Slot({\n\tchildren,\n\t...props\n}: {\n\tchildren: React.ReactElement;\n\t[key: string]: any;\n}) {\n\treturn React.cloneElement(children, {\n\t\t...props,\n\t\tclassName: [(children.props as any).className, props.className]\n\t\t\t.filter(Boolean)\n\t\t\t.join(\" \"),\n\t} as any);\n}\n\n/**\n * Utility hook to support slot-style component overrides.\n */\nexport function useRenderElement<\n\tState extends Record<string, any>,\n\tTag extends IntrinsicTag,\n>(\n\ttag: Tag,\n\tcomponentProps: RenderProps<State, Tag>,\n\tparams?: RenderParams<State, Tag>\n): React.ReactElement | null {\n\tconst { render, className: classNameProp, asChild = false } = componentProps;\n\n\tconst {\n\t\tstate = {} as State,\n\t\tref,\n\t\tprops = {} as Partial<JSX.IntrinsicElements[Tag]>,\n\t\tenabled = true,\n\t} = params || {};\n\n\tif (!enabled) {\n\t\treturn null;\n\t}\n\n\tconst computedClassName =\n\t\ttypeof classNameProp === \"function\" ? classNameProp(state) : classNameProp;\n\n\tconst mergedProps = {\n\t\t...props,\n\t\tclassName: [props.className, computedClassName].filter(Boolean).join(\" \"),\n\t\tref,\n\t};\n\n\tif (typeof render === \"function\") {\n\t\treturn render(mergedProps as JSX.IntrinsicElements[Tag], state);\n\t}\n\n\tif (React.isValidElement(render)) {\n\t\treturn React.cloneElement(render, {\n\t\t\t...mergedProps,\n\t\t\tref: (render as any).ref || ref,\n\t\t});\n\t}\n\n\tif (asChild && React.isValidElement(props.children)) {\n\t\treturn <Slot {...mergedProps}>{props.children}</Slot>;\n\t}\n\n\treturn React.createElement(tag, mergedProps as any);\n}\n"],"mappings":";;;;AA4BA,SAAS,KAAK,EACb,SACA,GAAG,SAID;AACF,QAAOA,QAAM,aAAa,UAAU;EACnC,GAAG;EACH,WAAW,CAAE,SAAS,MAAc,WAAW,MAAM,UAAU,CAC7D,OAAO,QAAQ,CACf,KAAK,IAAI;EACX,CAAQ;;;;;AAMV,SAAgB,iBAIf,KACA,gBACA,QAC4B;CAC5B,MAAM,EAAE,QAAQ,WAAW,eAAe,UAAU,UAAU;CAE9D,MAAM,EACL,QAAQ,EAAE,EACV,KACA,QAAQ,EAAE,EACV,UAAU,SACP,UAAU,EAAE;AAEhB,KAAI,CAAC,QACJ,QAAO;CAGR,MAAM,oBACL,OAAO,kBAAkB,aAAa,cAAc,MAAM,GAAG;CAE9D,MAAM,cAAc;EACnB,GAAG;EACH,WAAW,CAAC,MAAM,WAAW,kBAAkB,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;EACzE;EACA;AAED,KAAI,OAAO,WAAW,WACrB,QAAO,OAAO,aAA2C,MAAM;AAGhE,KAAIA,QAAM,eAAe,OAAO,CAC/B,QAAOA,QAAM,aAAa,QAAQ;EACjC,GAAG;EACH,KAAM,OAAe,OAAO;EAC5B,CAAC;AAGH,KAAI,WAAWA,QAAM,eAAe,MAAM,SAAS,CAClD,QAAO,oBAAC;EAAK,GAAI;YAAc,MAAM;GAAgB;AAGtD,QAAOA,QAAM,cAAc,KAAK,YAAmB"}
@@ -1,32 +0,0 @@
1
- import React from "react";
2
-
3
- //#region src/support/context/config.d.ts
4
- type SupportConfigSetters = {
5
- open: () => void;
6
- close: () => void;
7
- toggle: () => void;
8
- };
9
- declare const useSupportConfig: () => {
10
- open: () => void;
11
- close: () => void;
12
- toggle: () => void;
13
- mode: "floating" | "responsive";
14
- size: "normal" | "larger";
15
- isOpen: boolean;
16
- content: {
17
- home?: {
18
- header?: string;
19
- subheader?: string;
20
- ctaLabel?: string;
21
- };
22
- };
23
- };
24
- declare const SupportConfigProvider: React.FC<{
25
- children: React.ReactNode;
26
- mode?: "floating" | "responsive";
27
- size?: "normal" | "larger";
28
- defaultOpen?: boolean;
29
- }>;
30
- //#endregion
31
- export { SupportConfigProvider, SupportConfigSetters, useSupportConfig };
32
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","names":[],"sources":["../../../src/support/context/config.tsx"],"sourcesContent":[],"mappings":";;;KASY,oBAAA;;EAAA,KAAA,EAAA,GAAA,GAAA,IAAA;EAMC,MAAA,EAAA,GAAA,GAAA,IAAA;AAEb,CAAA;AAgBC,cAlBY,gBAkBZ,EAAA,GAAA,GAAA;MAfU,EAAA,GAAM,GAAA,IAAA;OADmB,EAAA,GAAM,GAAA,IAAA;EAAE,MAAA,EAAA,GAAA,GAAA,IAAA;;;;;;;;;;;;cAA/B,uBAAuB,KAAA,CAAM;YAC/B,KAAA,CAAM"}
@@ -1,27 +0,0 @@
1
- "use client";
2
-
3
-
4
- import { initializeSupportStore, useSupportConfig as useSupportConfig$1 } from "../store/support-store.js";
5
- import { useEffect } from "react";
6
- import { Fragment, jsx } from "react/jsx-runtime";
7
-
8
- //#region src/support/context/config.tsx
9
- const useSupportConfig = useSupportConfig$1;
10
- const SupportConfigProvider = ({ children, mode = "floating", size = "normal", defaultOpen = false }) => {
11
- useEffect(() => {
12
- initializeSupportStore({
13
- mode,
14
- size,
15
- defaultOpen
16
- });
17
- }, [
18
- mode,
19
- size,
20
- defaultOpen
21
- ]);
22
- return /* @__PURE__ */ jsx(Fragment, { children });
23
- };
24
-
25
- //#endregion
26
- export { SupportConfigProvider, useSupportConfig };
27
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","names":["useSupportConfigStore","SupportConfigProvider: React.FC<{\n\tchildren: React.ReactNode;\n\tmode?: \"floating\" | \"responsive\";\n\tsize?: \"normal\" | \"larger\";\n\tdefaultOpen?: boolean;\n}>"],"sources":["../../../src/support/context/config.tsx"],"sourcesContent":["\"use client\";\n\nimport type React from \"react\";\nimport { useEffect } from \"react\";\nimport {\n\tinitializeSupportStore,\n\tuseSupportConfig as useSupportConfigStore,\n} from \"../store/support-store\";\n\nexport type SupportConfigSetters = {\n\topen: () => void;\n\tclose: () => void;\n\ttoggle: () => void;\n};\n\nexport const useSupportConfig = useSupportConfigStore;\n\nexport const SupportConfigProvider: React.FC<{\n\tchildren: React.ReactNode;\n\tmode?: \"floating\" | \"responsive\";\n\tsize?: \"normal\" | \"larger\";\n\tdefaultOpen?: boolean;\n}> = ({\n\tchildren,\n\tmode = \"floating\",\n\tsize = \"normal\",\n\tdefaultOpen = false,\n}) => {\n\tuseEffect(() => {\n\t\tinitializeSupportStore({ mode, size, defaultOpen });\n\t}, [mode, size, defaultOpen]);\n\n\treturn <>{children}</>;\n};\n"],"mappings":";;;;;;;;AAeA,MAAa,mBAAmBA;AAEhC,MAAaC,yBAKP,EACL,UACA,OAAO,YACP,OAAO,UACP,cAAc,YACT;AACL,iBAAgB;AACf,yBAAuB;GAAE;GAAM;GAAM;GAAa,CAAC;IACjD;EAAC;EAAM;EAAM;EAAY,CAAC;AAE7B,QAAO,gCAAG,WAAY"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"support-CMoDLQoC.css","names":[],"sources":["../../src/support/support.css"],"sourcesContent":["@import \"tailwindcss\";\n\n@custom-variant dark (&:is(.dark *));\n\n@layer base {\n\t.cossistant {\n\t\t@apply border-co-border;\n\t\t@apply scroll-smooth;\n\n\t\tcolor-scheme: inherit;\n\n\t\t/* Typeface tokens */\n\t\t--co-font-sans: var(\n\t\t\t--co-theme-font-sans,\n\t\t\tvar(--font-sans, \"Geist\", \"Inter\", sans-serif)\n\t\t);\n\t\t--co-font-mono: var(\n\t\t\t--co-theme-font-mono,\n\t\t\tvar(--font-mono, \"Geist Mono\", \"Inter Mono\", monospace)\n\t\t);\n\n\t\t--co-border-color: var(\n\t\t\t--co-theme-border-color,\n\t\t\tvar(--color-border, oklch(92.2% 0 0))\n\t\t);\n\n\t\t/* Core surfaces */\n\t\t--co-radius: var(--co-theme-radius, var(--radius, 0.625rem));\n\t\t--co-background-base: var(\n\t\t\t--co-theme-background,\n\t\t\tvar(--background, oklch(99% 0 0))\n\t\t);\n\t\t--co-foreground-base: var(\n\t\t\t--co-theme-foreground,\n\t\t\tvar(--foreground, oklch(14.5% 0 0))\n\t\t);\n\t\t--co-popover-base: var(\n\t\t\t--co-theme-popover,\n\t\t\tvar(--popover, var(--co-background-base))\n\t\t);\n\t\t--co-popover-foreground-base: var(\n\t\t\t--co-theme-popover-foreground,\n\t\t\tvar(--popover-foreground, var(--co-foreground-base))\n\t\t);\n\t\t--co-primary-base: var(\n\t\t\t--co-theme-primary,\n\t\t\tvar(--primary, oklch(20.5% 0 0))\n\t\t);\n\t\t--co-primary-foreground-base: var(\n\t\t\t--co-theme-primary-foreground,\n\t\t\tvar(--primary-foreground, oklch(98.5% 0 0))\n\t\t);\n\t\t--co-secondary-base: var(\n\t\t\t--co-theme-secondary,\n\t\t\tvar(--secondary, oklch(97% 0 0))\n\t\t);\n\t\t--co-secondary-foreground-base: var(\n\t\t\t--co-theme-secondary-foreground,\n\t\t\tvar(--secondary-foreground, oklch(20.5% 0 0))\n\t\t);\n\t\t--co-border-base: var(--co-theme-border, var(--border, oklch(92.2% 0 0)));\n\t\t--co-input-base: var(--co-theme-input, var(--input, oklch(92.2% 0 0)));\n\t\t--co-ring-base: var(--co-theme-ring, var(--ring, var(--co-primary-base)));\n\t\t--co-accent-base: var(\n\t\t\t--co-theme-accent,\n\t\t\tvar(--accent, var(--co-primary-base))\n\t\t);\n\t\t--co-accent-foreground-base: var(\n\t\t\t--co-theme-accent-foreground,\n\t\t\tvar(--accent-foreground, var(--co-primary-foreground-base))\n\t\t);\n\n\t\t/* Neutral shades derived from the background */\n\t\t--co-background-50-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 98%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-100-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 97%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-200-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 96%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-300-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 95%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-400-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 94%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-500-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 93%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-600-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 92%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\n\t\t/* Muted tones */\n\t\t--co-muted-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 85%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-muted-foreground-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-foreground-base) 70%,\n\t\t\twhite\n\t\t);\n\n\t\t/* Public tokens consumed by Tailwind theme */\n\t\t--co-background: var(--co-background-base);\n\t\t--co-background-50: var(\n\t\t\t--co-theme-background-50,\n\t\t\tvar(--co-background-50-mix, oklch(92% 0 0))\n\t\t);\n\t\t--co-background-100: var(\n\t\t\t--co-theme-background-100,\n\t\t\tvar(--co-background-100-mix, oklch(93% 0 0))\n\t\t);\n\t\t--co-background-200: var(\n\t\t\t--co-theme-background-200,\n\t\t\tvar(--co-background-200-mix, oklch(94% 0 0))\n\t\t);\n\t\t--co-background-300: var(\n\t\t\t--co-theme-background-300,\n\t\t\tvar(--co-background-300-mix, oklch(95% 0 0))\n\t\t);\n\t\t--co-background-400: var(\n\t\t\t--co-theme-background-400,\n\t\t\tvar(--co-background-400-mix, oklch(96% 0 0))\n\t\t);\n\t\t--co-background-500: var(\n\t\t\t--co-theme-background-500,\n\t\t\tvar(--co-background-500-mix, oklch(97% 0 0))\n\t\t);\n\t\t--co-background-600: var(\n\t\t\t--co-theme-background-600,\n\t\t\tvar(--co-background-600-mix, oklch(98% 0 0))\n\t\t);\n\n\t\t--co-foreground: var(--co-foreground-base);\n\t\t--co-popover: var(--co-popover-base);\n\t\t--co-popover-foreground: var(--co-popover-foreground-base);\n\t\t--co-primary: var(--co-primary-base);\n\t\t--co-primary-foreground: var(--co-primary-foreground-base);\n\t\t--co-secondary: var(--co-secondary-base);\n\t\t--co-secondary-foreground: var(--co-secondary-foreground-base);\n\t\t--co-muted: var(\n\t\t\t--co-theme-muted,\n\t\t\tvar(--muted, var(--co-muted-mix, oklch(97% 0 0)))\n\t\t);\n\t\t--co-muted-foreground: var(\n\t\t\t--co-theme-muted-foreground,\n\t\t\tvar(--muted-foreground, var(--co-muted-foreground-mix, oklch(55.6% 0 0)))\n\t\t);\n\t\t--co-border: var(--co-border-base);\n\t\t--co-input: var(--co-input-base);\n\t\t--co-ring: var(--co-ring-base);\n\t\t--co-accent: var(--co-accent-base);\n\t\t--co-accent-foreground: var(--co-accent-foreground-base);\n\n\t\t/* Accent palette */\n\t\t--co-pink: var(--co-theme-pink, oklch(76.3% 0.152 354));\n\t\t--co-yellow: var(--co-theme-yellow, oklch(86.4% 0.144 99));\n\t\t--co-blue: var(--co-theme-blue, oklch(72.5% 0.132 241));\n\t\t--co-orange: var(--co-theme-orange, oklch(74.5% 0.166 50));\n\n\t\t/* Status colors */\n\t\t--co-destructive: var(--co-theme-destructive, oklch(57.7% 0.245 27.325));\n\t\t--co-destructive-foreground: var(\n\t\t\t--co-theme-destructive-foreground,\n\t\t\toklch(57.7% 0.245 27.325)\n\t\t);\n\t\t--co-success: var(--co-theme-success, oklch(71.7% 0.18 142));\n\t\t--co-success-foreground: var(\n\t\t\t--co-theme-success-foreground,\n\t\t\toklch(26.5% 0.052 142.7)\n\t\t);\n\t\t--co-neutral: var(--co-theme-neutral, oklch(60.8% 0 0));\n\t\t--co-neutral-foreground: var(\n\t\t\t--co-theme-neutral-foreground,\n\t\t\toklch(25.6% 0 0)\n\t\t);\n\t\t--co-warning: var(--co-theme-warning, oklch(86.4% 0.144 99));\n\t\t--co-warning-foreground: var(\n\t\t\t--co-theme-warning-foreground,\n\t\t\toklch(41.4% 0.071 99)\n\t\t);\n\t}\n\n\t.dark .cossistant,\n\t.cossistant[data-color-scheme=\"dark\"] {\n\t\t/* Provide dark defaults without overriding host tokens */\n\t\t--co-background-base: var(\n\t\t\t--co-theme-background,\n\t\t\tvar(--background, oklch(15.5% 0 0))\n\t\t);\n\t\t--co-foreground-base: var(\n\t\t\t--co-theme-foreground,\n\t\t\tvar(--foreground, oklch(98.5% 0 0))\n\t\t);\n\t\t--co-border-color: var(\n\t\t\t--co-theme-border-color,\n\t\t\tvar(--color-border, oklch(26.9% 0 0))\n\t\t);\n\t\t--co-popover-base: var(\n\t\t\t--co-theme-popover,\n\t\t\tvar(--popover, oklch(14.5% 0 0))\n\t\t);\n\t\t--co-popover-foreground-base: var(\n\t\t\t--co-theme-popover-foreground,\n\t\t\tvar(--popover-foreground, oklch(98.5% 0 0))\n\t\t);\n\t\t--co-primary-base: var(\n\t\t\t--co-theme-primary,\n\t\t\tvar(--primary, oklch(98.5% 0 0))\n\t\t);\n\t\t--co-primary-foreground-base: var(\n\t\t\t--co-theme-primary-foreground,\n\t\t\tvar(--primary-foreground, oklch(20.5% 0 0))\n\t\t);\n\t\t--co-secondary-base: var(\n\t\t\t--co-theme-secondary,\n\t\t\tvar(--secondary, oklch(26.9% 0 0))\n\t\t);\n\t\t--co-secondary-foreground-base: var(\n\t\t\t--co-theme-secondary-foreground,\n\t\t\tvar(--secondary-foreground, oklch(98.5% 0 0))\n\t\t);\n\t\t--co-border-base: var(--co-theme-border, var(--border, oklch(26.9% 0 0)));\n\t\t--co-input-base: var(--co-theme-input, var(--input, oklch(26.9% 0 0)));\n\t\t--co-ring-base: var(--co-theme-ring, var(--ring, var(--co-primary-base)));\n\t\t--co-accent-base: var(\n\t\t\t--co-theme-accent,\n\t\t\tvar(--accent, var(--co-primary-base))\n\t\t);\n\t\t--co-accent-foreground-base: var(\n\t\t\t--co-theme-accent-foreground,\n\t\t\tvar(--accent-foreground, var(--co-primary-foreground-base))\n\t\t);\n\n\t\t--co-muted-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 55%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-muted-foreground-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-foreground-base) 65%,\n\t\t\twhite\n\t\t);\n\n\t\t--co-background-50-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 98%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-100-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 96%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-200-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 94%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-300-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 92%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-400-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 90%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-500-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 88%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\t\t--co-background-600-mix: color-mix(\n\t\t\tin oklch,\n\t\t\tvar(--co-background-base) 86%,\n\t\t\tvar(--co-foreground-base)\n\t\t);\n\n\t\t--co-pink: var(--co-theme-pink, oklch(84.2% 0.109 354));\n\t\t--co-yellow: var(--co-theme-yellow, oklch(90.3% 0.111 99));\n\t\t--co-blue: var(--co-theme-blue, oklch(79.8% 0.089 241));\n\t\t--co-orange: var(--co-theme-orange, oklch(68.2% 0.194 50));\n\n\t\t--co-destructive: var(--co-theme-destructive, oklch(39.6% 0.141 25.723));\n\t\t--co-destructive-foreground: var(\n\t\t\t--co-theme-destructive-foreground,\n\t\t\toklch(63.7% 0.237 25.331)\n\t\t);\n\t\t--co-success: var(--co-theme-success, oklch(60% 0.15 142));\n\t\t--co-success-foreground: var(\n\t\t\t--co-theme-success-foreground,\n\t\t\toklch(85% 0.12 142)\n\t\t);\n\t\t--co-neutral: var(--co-theme-neutral, oklch(50% 0 0));\n\t\t--co-neutral-foreground: var(--co-theme-neutral-foreground, oklch(85% 0 0));\n\t\t--co-warning: var(--co-theme-warning, oklch(90.3% 0.111 99));\n\t\t--co-warning-foreground: var(\n\t\t\t--co-theme-warning-foreground,\n\t\t\toklch(85% 0.1 99)\n\t\t);\n\t}\n}\n\n@theme inline {\n\t--font-co-sans: var(--co-font-sans);\n\t--font-co-mono: var(--co-font-mono);\n\t--color-co-background: var(--co-background);\n\t--color-co-background-50: var(--co-background-50);\n\t--color-co-background-100: var(--co-background-100);\n\t--color-co-background-200: var(--co-background-200);\n\t--color-co-background-300: var(--co-background-300);\n\t--color-co-background-400: var(--co-background-400);\n\t--color-co-background-500: var(--co-background-500);\n\t--color-co-background-600: var(--co-background-600);\n\n\t--color-co-foreground: var(--co-foreground);\n\n\t--color-co-primary: var(--co-primary);\n\t--color-co-primary-foreground: var(--co-primary-foreground);\n\t--color-co-secondary: var(--co-secondary);\n\t--color-co-secondary-foreground: var(--co-secondary-foreground);\n\t--color-co-muted: var(--co-muted);\n\t--color-co-muted-foreground: var(--co-muted-foreground);\n\t--color-co-border: var(--co-border);\n\t--color-co-input: var(--co-input);\n\t--color-co-ring: var(--co-ring);\n\t--radius-co: var(--co-radius);\n\n\t/* custom colors */\n\t--color-co-pink: var(--co-pink);\n\t--color-co-yellow: var(--co-yellow);\n\t--color-co-blue: var(--co-blue);\n\t--color-co-orange: var(--co-orange);\n\n\t/* status colors */\n\t--color-co-destructive: var(--co-destructive);\n\t--color-co-destructive-foreground: var(--co-destructive-foreground);\n\t--color-co-success: var(--co-success);\n\t--color-co-success-foreground: var(--co-success-foreground);\n\t--color-co-neutral: var(--co-neutral);\n\t--color-co-neutral-foreground: var(--co-neutral-foreground);\n\t--color-co-warning: var(--co-warning);\n\t--color-co-warning-foreground: var(--co-warning-foreground);\n}\n\n@layer utilities {\n\t.cossistant {\n\t\t.animation-delay-0 {\n\t\t\tanimation-delay: 0ms;\n\t\t}\n\t\t.animation-delay-200 {\n\t\t\tanimation-delay: 200ms;\n\t\t}\n\t\t.animation-delay-400 {\n\t\t\tanimation-delay: 400ms;\n\t\t}\n\n\t\t@keyframes bounce-dot {\n\t\t\t0%,\n\t\t\t80%,\n\t\t\t100% {\n\t\t\t\ttransform: translateY(0);\n\t\t\t}\n\t\t\t40% {\n\t\t\t\ttransform: translateY(-6px);\n\t\t\t}\n\t\t}\n\n\t\t.dot-bounce-1 {\n\t\t\tanimation: bounce-dot 1.4s infinite;\n\t\t\tanimation-delay: 0s;\n\t\t}\n\n\t\t.dot-bounce-2 {\n\t\t\tanimation: bounce-dot 1.4s infinite;\n\t\t\tanimation-delay: 0.16s;\n\t\t}\n\n\t\t.dot-bounce-3 {\n\t\t\tanimation: bounce-dot 1.4s infinite;\n\t\t\tanimation-delay: 0.32s;\n\t\t}\n\t}\n}\n"],"mappings":";AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA"}