@sonordev/site-kit 6.1.1 → 6.1.3
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.
- package/agent-manifest.json +1 -1
- package/dist/{AnalyticsProvider-5G5AFHZN.js → AnalyticsProvider-QK6XBDEJ.js} +10 -10
- package/dist/{AnalyticsProvider-5G5AFHZN.js.map → AnalyticsProvider-QK6XBDEJ.js.map} +1 -1
- package/dist/{AnalyticsProvider-33L4E6LO.mjs → AnalyticsProvider-TIJWTISP.mjs} +6 -6
- package/dist/{AnalyticsProvider-33L4E6LO.mjs.map → AnalyticsProvider-TIJWTISP.mjs.map} +1 -1
- package/dist/{ArticleViewTracker-U2KFUSZF.js → ArticleViewTracker-ALE672ZR.js} +6 -6
- package/dist/{ArticleViewTracker-U2KFUSZF.js.map → ArticleViewTracker-ALE672ZR.js.map} +1 -1
- package/dist/{ArticleViewTracker-VZRMPK4S.mjs → ArticleViewTracker-I66RBWDK.mjs} +5 -5
- package/dist/{ArticleViewTracker-VZRMPK4S.mjs.map → ArticleViewTracker-I66RBWDK.mjs.map} +1 -1
- package/dist/ChatWidget-566CQUN6.js +26 -0
- package/dist/{ChatWidget-RUCQMCMN.js.map → ChatWidget-566CQUN6.js.map} +1 -1
- package/dist/ChatWidget-LNOY4TUZ.mjs +17 -0
- package/dist/{ChatWidget-LH3QZYKR.mjs.map → ChatWidget-LNOY4TUZ.mjs.map} +1 -1
- package/dist/EngageWidget-DF47YUHQ.js +21 -0
- package/dist/{EngageWidget-X2CBW7DV.js.map → EngageWidget-DF47YUHQ.js.map} +1 -1
- package/dist/EngageWidget-IGF7SC3R.mjs +12 -0
- package/dist/{EngageWidget-34BQXU7K.mjs.map → EngageWidget-IGF7SC3R.mjs.map} +1 -1
- package/dist/{FileField-REUU36RJ.mjs → FileField-AG63W2BC.mjs} +5 -5
- package/dist/{FileField-REUU36RJ.mjs.map → FileField-AG63W2BC.mjs.map} +1 -1
- package/dist/{FileField-2MMV53BG.js → FileField-IK6E5IOC.js} +6 -6
- package/dist/{FileField-2MMV53BG.js.map → FileField-IK6E5IOC.js.map} +1 -1
- package/dist/{FormSpotlight-Y27TPQ4G.js → FormSpotlight-6MUDJWW5.js} +9 -9
- package/dist/{FormSpotlight-Y27TPQ4G.js.map → FormSpotlight-6MUDJWW5.js.map} +1 -1
- package/dist/{FormSpotlight-ZV3IS66K.mjs → FormSpotlight-H7V4GBXG.mjs} +3 -3
- package/dist/{FormSpotlight-ZV3IS66K.mjs.map → FormSpotlight-H7V4GBXG.mjs.map} +1 -1
- package/dist/{FormStage-6NUGCDJR.mjs → FormStage-ACETL7SD.mjs} +3 -3
- package/dist/{FormStage-6NUGCDJR.mjs.map → FormStage-ACETL7SD.mjs.map} +1 -1
- package/dist/{FormStage-K7Z6IEPM.js → FormStage-ZXZRZ2LS.js} +9 -9
- package/dist/{FormStage-K7Z6IEPM.js.map → FormStage-ZXZRZ2LS.js.map} +1 -1
- package/dist/ManagedForm-4U54NPW2.js +25 -0
- package/dist/{ManagedForm-O67ILXN7.js.map → ManagedForm-4U54NPW2.js.map} +1 -1
- package/dist/ManagedForm-MOBWSG4D.mjs +16 -0
- package/dist/{ManagedForm-EUDKMS5G.mjs.map → ManagedForm-MOBWSG4D.mjs.map} +1 -1
- package/dist/{ManagedNewsletterForm-QBJODAIA.js → ManagedNewsletterForm-5LBGBE2F.js} +8 -8
- package/dist/{ManagedNewsletterForm-QBJODAIA.js.map → ManagedNewsletterForm-5LBGBE2F.js.map} +1 -1
- package/dist/{ManagedNewsletterForm-IGWTZW7X.mjs → ManagedNewsletterForm-OV3OEMUP.mjs} +7 -7
- package/dist/{ManagedNewsletterForm-IGWTZW7X.mjs.map → ManagedNewsletterForm-OV3OEMUP.mjs.map} +1 -1
- package/dist/{SignalCore-KQDRH44V.js → SignalCore-QCVR7TZV.js} +11 -11
- package/dist/{SignalCore-KQDRH44V.js.map → SignalCore-QCVR7TZV.js.map} +1 -1
- package/dist/{SignalCore-UR4KVU5X.mjs → SignalCore-XM2MHEGR.mjs} +5 -5
- package/dist/{SignalCore-UR4KVU5X.mjs.map → SignalCore-XM2MHEGR.mjs.map} +1 -1
- package/dist/SitemapSync-74EVNOFQ.mjs +9 -0
- package/dist/{SitemapSync-QYV3X5LH.mjs.map → SitemapSync-74EVNOFQ.mjs.map} +1 -1
- package/dist/SitemapSync-BQFZAE3X.js +18 -0
- package/dist/{SitemapSync-DQALPBTR.js.map → SitemapSync-BQFZAE3X.js.map} +1 -1
- package/dist/analytics/index.js +9 -9
- package/dist/analytics/index.mjs +4 -4
- package/dist/articles/index.js +1 -1
- package/dist/articles/index.mjs +1 -1
- package/dist/articles/server-ui.js +1 -1
- package/dist/articles/server-ui.mjs +1 -1
- package/dist/brand/extract-brand-profile.d.ts +2 -7
- package/dist/brand/extract-brand-profile.d.ts.map +1 -1
- package/dist/{chunk-WWJQGMMN.js → chunk-2SLA2LOD.js} +12 -12
- package/dist/{chunk-WWJQGMMN.js.map → chunk-2SLA2LOD.js.map} +1 -1
- package/dist/{chunk-7PCXI25T.mjs → chunk-3MLVI5DH.mjs} +3 -3
- package/dist/{chunk-7PCXI25T.mjs.map → chunk-3MLVI5DH.mjs.map} +1 -1
- package/dist/{chunk-U3SQBAUQ.mjs → chunk-3RISRHOK.mjs} +8 -8
- package/dist/{chunk-U3SQBAUQ.mjs.map → chunk-3RISRHOK.mjs.map} +1 -1
- package/dist/chunk-5FBALULE.mjs +6 -0
- package/dist/{chunk-HQWPCX3N.mjs.map → chunk-5FBALULE.mjs.map} +1 -1
- package/dist/{chunk-22KPMJIQ.mjs → chunk-5IQOPL7T.mjs} +3 -3
- package/dist/{chunk-22KPMJIQ.mjs.map → chunk-5IQOPL7T.mjs.map} +1 -1
- package/dist/{chunk-D6VMDDQR.js → chunk-5OUOVPXC.js} +8 -8
- package/dist/{chunk-D6VMDDQR.js.map → chunk-5OUOVPXC.js.map} +1 -1
- package/dist/{chunk-YZMI7QQ2.mjs → chunk-6FIIA6ME.mjs} +4 -4
- package/dist/{chunk-YZMI7QQ2.mjs.map → chunk-6FIIA6ME.mjs.map} +1 -1
- package/dist/{chunk-JOYMIGR2.mjs → chunk-7K6L33BX.mjs} +22 -22
- package/dist/{chunk-7IM7VG4E.js → chunk-7VRK3DWU.js} +6 -6
- package/dist/{chunk-7IM7VG4E.js.map → chunk-7VRK3DWU.js.map} +1 -1
- package/dist/{chunk-Y4A4G5XJ.js → chunk-AGEE4CGH.js} +5 -5
- package/dist/{chunk-Y4A4G5XJ.js.map → chunk-AGEE4CGH.js.map} +1 -1
- package/dist/{chunk-JS75ORH7.js → chunk-ATPQ6264.js} +24 -24
- package/dist/{chunk-IPGIFBRN.js → chunk-BGBP4UN4.js} +4 -4
- package/dist/{chunk-IPGIFBRN.js.map → chunk-BGBP4UN4.js.map} +1 -1
- package/dist/{chunk-6ZMEJSNX.mjs → chunk-CI7T4ZRP.mjs} +4 -4
- package/dist/{chunk-6ZMEJSNX.mjs.map → chunk-CI7T4ZRP.mjs.map} +1 -1
- package/dist/{chunk-BRED7YSL.js → chunk-CTAYH725.js} +11 -11
- package/dist/{chunk-BRED7YSL.js.map → chunk-CTAYH725.js.map} +1 -1
- package/dist/{chunk-DGWFHL35.mjs → chunk-D5KKVWZK.mjs} +3 -3
- package/dist/{chunk-DGWFHL35.mjs.map → chunk-D5KKVWZK.mjs.map} +1 -1
- package/dist/{chunk-U577PJLH.mjs → chunk-DVZ4BMXX.mjs} +7 -7
- package/dist/{chunk-U577PJLH.mjs.map → chunk-DVZ4BMXX.mjs.map} +1 -1
- package/dist/{chunk-OP42HO3Z.mjs → chunk-ESPOINPT.mjs} +3 -3
- package/dist/{chunk-OP42HO3Z.mjs.map → chunk-ESPOINPT.mjs.map} +1 -1
- package/dist/{chunk-VPZUQXZV.mjs → chunk-EVETX2XF.mjs} +4 -4
- package/dist/{chunk-VPZUQXZV.mjs.map → chunk-EVETX2XF.mjs.map} +1 -1
- package/dist/{chunk-6K3YRSYN.js → chunk-EVKP4SOM.js} +10 -10
- package/dist/{chunk-6K3YRSYN.js.map → chunk-EVKP4SOM.js.map} +1 -1
- package/dist/{chunk-R2BHRDPZ.mjs → chunk-EXVHO3CZ.mjs} +3 -3
- package/dist/{chunk-R2BHRDPZ.mjs.map → chunk-EXVHO3CZ.mjs.map} +1 -1
- package/dist/{chunk-YCA4KCRF.mjs → chunk-GYKFHQSZ.mjs} +3 -3
- package/dist/{chunk-YCA4KCRF.mjs.map → chunk-GYKFHQSZ.mjs.map} +1 -1
- package/dist/{chunk-U2DWXE2A.mjs → chunk-I4PUQYBI.mjs} +3 -3
- package/dist/{chunk-U2DWXE2A.mjs.map → chunk-I4PUQYBI.mjs.map} +1 -1
- package/dist/{chunk-46GMNQWN.js → chunk-I7KIVKVW.js} +3 -3
- package/dist/{chunk-46GMNQWN.js.map → chunk-I7KIVKVW.js.map} +1 -1
- package/dist/{chunk-GZLMMX76.mjs → chunk-IUNFAKOS.mjs} +3 -3
- package/dist/{chunk-GZLMMX76.mjs.map → chunk-IUNFAKOS.mjs.map} +1 -1
- package/dist/{chunk-VNJTU6LG.js → chunk-IWHAJBYL.js} +15 -15
- package/dist/{chunk-VNJTU6LG.js.map → chunk-IWHAJBYL.js.map} +1 -1
- package/dist/{chunk-EF7QCYLF.js → chunk-IZRVSIOK.js} +4 -4
- package/dist/{chunk-EF7QCYLF.js.map → chunk-IZRVSIOK.js.map} +1 -1
- package/dist/{chunk-NJSD5QY6.js → chunk-JAA42HR7.js} +7 -7
- package/dist/{chunk-NJSD5QY6.js.map → chunk-JAA42HR7.js.map} +1 -1
- package/dist/{chunk-HH5EMIXK.js → chunk-JSM4AYSZ.js} +14 -14
- package/dist/{chunk-HH5EMIXK.js.map → chunk-JSM4AYSZ.js.map} +1 -1
- package/dist/{chunk-NK7ZWPAO.js → chunk-KDLN2MR5.js} +18 -18
- package/dist/{chunk-NK7ZWPAO.js.map → chunk-KDLN2MR5.js.map} +1 -1
- package/dist/{chunk-ME5636V6.js → chunk-KEEZX6Q4.js} +3 -3
- package/dist/{chunk-ME5636V6.js.map → chunk-KEEZX6Q4.js.map} +1 -1
- package/dist/{chunk-AG7MWWGP.mjs → chunk-LXBPTKYT.mjs} +4 -4
- package/dist/{chunk-AG7MWWGP.mjs.map → chunk-LXBPTKYT.mjs.map} +1 -1
- package/dist/chunk-M2N7NY3V.js +103 -0
- package/dist/chunk-M2N7NY3V.js.map +1 -0
- package/dist/{chunk-OTCJRVFJ.js → chunk-MQEVQ5YB.js} +3 -3
- package/dist/{chunk-OTCJRVFJ.js.map → chunk-MQEVQ5YB.js.map} +1 -1
- package/dist/{chunk-S24WZNFP.js → chunk-MTHMOXZF.js} +6 -6
- package/dist/{chunk-S24WZNFP.js.map → chunk-MTHMOXZF.js.map} +1 -1
- package/dist/{chunk-3E7ZXPOB.mjs → chunk-NRT7MOEO.mjs} +4 -4
- package/dist/{chunk-3E7ZXPOB.mjs.map → chunk-NRT7MOEO.mjs.map} +1 -1
- package/dist/chunk-NYXENHD2.mjs +96 -0
- package/dist/chunk-NYXENHD2.mjs.map +1 -0
- package/dist/chunk-OI3FCJSP.js +8 -0
- package/dist/{chunk-QWUDHOUE.js.map → chunk-OI3FCJSP.js.map} +1 -1
- package/dist/{chunk-MWX6QO7A.mjs → chunk-OUP6UL74.mjs} +3 -3
- package/dist/{chunk-MWX6QO7A.mjs.map → chunk-OUP6UL74.mjs.map} +1 -1
- package/dist/{chunk-VNSV5SY7.mjs → chunk-OWEJXMKY.mjs} +3 -3
- package/dist/{chunk-VNSV5SY7.mjs.map → chunk-OWEJXMKY.mjs.map} +1 -1
- package/dist/{chunk-QYRJ4IQD.js → chunk-OZTVJSFX.js} +98 -47
- package/dist/chunk-OZTVJSFX.js.map +1 -0
- package/dist/{chunk-MJTHYT3D.js → chunk-P4J3WG6C.js} +4 -4
- package/dist/{chunk-MJTHYT3D.js.map → chunk-P4J3WG6C.js.map} +1 -1
- package/dist/{chunk-3SHAY7PK.mjs → chunk-PTQHPWEK.mjs} +88 -37
- package/dist/chunk-PTQHPWEK.mjs.map +1 -0
- package/dist/{chunk-7DMAVD7W.mjs → chunk-QSN2QST7.mjs} +3 -3
- package/dist/{chunk-7DMAVD7W.mjs.map → chunk-QSN2QST7.mjs.map} +1 -1
- package/dist/{chunk-MSSFRRXJ.mjs → chunk-RGXYE2ZI.mjs} +4 -4
- package/dist/{chunk-MSSFRRXJ.mjs.map → chunk-RGXYE2ZI.mjs.map} +1 -1
- package/dist/{chunk-NNZDWY3L.mjs → chunk-RH4XEXTK.mjs} +3 -3
- package/dist/{chunk-OUZQL5PV.js → chunk-RQG7I6O4.js} +4 -4
- package/dist/{chunk-OUZQL5PV.js.map → chunk-RQG7I6O4.js.map} +1 -1
- package/dist/{chunk-OB7K6EFK.js → chunk-S6CMQTVZ.js} +5 -5
- package/dist/{chunk-OB7K6EFK.js.map → chunk-S6CMQTVZ.js.map} +1 -1
- package/dist/{chunk-5YA6SI4Z.mjs → chunk-TIFVAASU.mjs} +2 -2
- package/dist/{chunk-JZCG25XK.js → chunk-VDGCZVUF.js} +14 -14
- package/dist/{chunk-JZCG25XK.js.map → chunk-VDGCZVUF.js.map} +1 -1
- package/dist/{chunk-3H3DTYFQ.js → chunk-XCOMBHLF.js} +8 -8
- package/dist/{chunk-3H3DTYFQ.js.map → chunk-XCOMBHLF.js.map} +1 -1
- package/dist/{chunk-I7AZC5ZQ.js → chunk-XXSSUCJB.js} +2 -2
- package/dist/{chunk-WVNUOUQI.mjs → chunk-YEHC7VMW.mjs} +3 -3
- package/dist/{chunk-WVNUOUQI.mjs.map → chunk-YEHC7VMW.mjs.map} +1 -1
- package/dist/{chunk-CJ5YPYAE.mjs → chunk-YK7SEUFJ.mjs} +4 -4
- package/dist/{chunk-CJ5YPYAE.mjs.map → chunk-YK7SEUFJ.mjs.map} +1 -1
- package/dist/{chunk-NN2YE5WT.js → chunk-ZUQSVCMD.js} +3 -3
- package/dist/cli/index.js +211 -211
- package/dist/cli/index.mjs +151 -151
- package/dist/client/index.js +4 -4
- package/dist/client/index.mjs +3 -3
- package/dist/commerce/index.js +57 -57
- package/dist/commerce/index.mjs +5 -5
- package/dist/cta-bar/CtaBar.d.ts +15 -4
- package/dist/cta-bar/CtaBar.d.ts.map +1 -1
- package/dist/cta-bar/index.js +6 -12
- package/dist/cta-bar/index.js.map +1 -1
- package/dist/cta-bar/index.mjs +6 -12
- package/dist/cta-bar/index.mjs.map +1 -1
- package/dist/engage/ChatWidget.d.ts.map +1 -1
- package/dist/engage/EchoUiActions.d.ts +5 -2
- package/dist/engage/EchoUiActions.d.ts.map +1 -1
- package/dist/engage/brand-color.d.ts +37 -0
- package/dist/engage/brand-color.d.ts.map +1 -0
- package/dist/engage/index.js +11 -10
- package/dist/engage/index.js.map +1 -1
- package/dist/engage/index.mjs +8 -7
- package/dist/engage/index.mjs.map +1 -1
- package/dist/fleet/index.js +8 -8
- package/dist/fleet/index.mjs +4 -4
- package/dist/forms/index.js +16 -16
- package/dist/forms/index.mjs +9 -9
- package/dist/forms/server.js +10 -10
- package/dist/forms/server.mjs +8 -8
- package/dist/forms/static.js +7 -7
- package/dist/forms/static.mjs +6 -6
- package/dist/images/index.js +11 -11
- package/dist/images/index.mjs +4 -4
- package/dist/index.js +63 -63
- package/dist/index.mjs +9 -9
- package/dist/layout/client.js +8 -8
- package/dist/layout/client.mjs +7 -7
- package/dist/layout/index.js +10 -10
- package/dist/layout/index.mjs +8 -8
- package/dist/{lib-6HOOMENJ.js → lib-6GWWPDJR.js} +7 -7
- package/dist/lib-BD4KKQBI.mjs +4 -0
- package/dist/{lib-R7IQ4ZHE.mjs → lib-N5PD6JNJ.mjs} +2 -2
- package/dist/{lib-BGAWCSUH.js → lib-WFB5RLEQ.js} +8 -8
- package/dist/maps/index.js +5 -5
- package/dist/maps/index.mjs +3 -3
- package/dist/search/index.js +4 -4
- package/dist/search/index.mjs +3 -3
- package/dist/seo/client.js +5 -5
- package/dist/seo/client.mjs +4 -4
- package/dist/seo/index.js +5 -5
- package/dist/seo/index.mjs +4 -4
- package/dist/seo/register-sitemap-cli.js +12 -93
- package/dist/seo/register-sitemap-cli.mjs +2 -83
- package/dist/server/index.js +3 -3
- package/dist/server/index.mjs +2 -2
- package/dist/shared/color.d.ts +39 -0
- package/dist/shared/color.d.ts.map +1 -0
- package/dist/shared/version.d.ts +1 -1
- package/dist/signal/index.js +11 -11
- package/dist/signal/index.mjs +2 -2
- package/dist/sync/index.js +17 -17
- package/dist/sync/index.mjs +4 -4
- package/dist/{web-vitals.attribution-7LKLZ5GR.mjs → web-vitals.attribution-CHXXWO72.mjs} +3 -3
- package/dist/web-vitals.attribution-CHXXWO72.mjs.map +1 -0
- package/dist/{web-vitals.attribution-ONVYQNRB.js → web-vitals.attribution-SQVZNHN3.js} +3 -3
- package/dist/web-vitals.attribution-SQVZNHN3.js.map +1 -0
- package/package.json +1 -1
- package/dist/ChatWidget-LH3QZYKR.mjs +0 -16
- package/dist/ChatWidget-RUCQMCMN.js +0 -25
- package/dist/EngageWidget-34BQXU7K.mjs +0 -12
- package/dist/EngageWidget-X2CBW7DV.js +0 -21
- package/dist/ManagedForm-EUDKMS5G.mjs +0 -16
- package/dist/ManagedForm-O67ILXN7.js +0 -25
- package/dist/SitemapSync-DQALPBTR.js +0 -18
- package/dist/SitemapSync-QYV3X5LH.mjs +0 -9
- package/dist/chunk-3SHAY7PK.mjs.map +0 -1
- package/dist/chunk-HQWPCX3N.mjs +0 -6
- package/dist/chunk-QWUDHOUE.js +0 -8
- package/dist/chunk-QYRJ4IQD.js.map +0 -1
- package/dist/lib-RSDMEKDQ.mjs +0 -4
- package/dist/web-vitals.attribution-7LKLZ5GR.mjs.map +0 -1
- package/dist/web-vitals.attribution-ONVYQNRB.js.map +0 -1
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
var chunkESP5RMB7_js = require('./chunk-ESP5RMB7.js');
|
|
5
5
|
var chunkNBOBOYMT_js = require('./chunk-NBOBOYMT.js');
|
|
6
|
-
var
|
|
7
|
-
var
|
|
6
|
+
var chunk2SLA2LOD_js = require('./chunk-2SLA2LOD.js');
|
|
7
|
+
var chunkM2N7NY3V_js = require('./chunk-M2N7NY3V.js');
|
|
8
|
+
var chunkIWHAJBYL_js = require('./chunk-IWHAJBYL.js');
|
|
8
9
|
var react = require('react');
|
|
9
10
|
var ReactMarkdown = require('react-markdown');
|
|
10
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -13,6 +14,58 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
|
13
14
|
|
|
14
15
|
var ReactMarkdown__default = /*#__PURE__*/_interopDefault(ReactMarkdown);
|
|
15
16
|
|
|
17
|
+
// src/engage/brand-color.ts
|
|
18
|
+
var TEXT_CONTRAST = 4.5;
|
|
19
|
+
var RESTING_TINT = 0.082;
|
|
20
|
+
var UNREADABLE_BRAND_SHARE = 40;
|
|
21
|
+
var WHITE = { r: 255, g: 255, b: 255 };
|
|
22
|
+
var BLACK = { r: 0, g: 0, b: 0 };
|
|
23
|
+
function mix(a, b, share) {
|
|
24
|
+
return {
|
|
25
|
+
r: a.r * share + b.r * (1 - share),
|
|
26
|
+
g: a.g * share + b.g * (1 - share),
|
|
27
|
+
b: a.b * share + b.b * (1 - share)
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function round({ r, g, b }) {
|
|
31
|
+
const c = (v) => Math.round(Math.min(255, Math.max(0, v)));
|
|
32
|
+
return { r: c(r), g: c(g), b: c(b) };
|
|
33
|
+
}
|
|
34
|
+
function toHex(rgb) {
|
|
35
|
+
const { r, g, b } = round(rgb);
|
|
36
|
+
return `#${[r, g, b].map((c) => c.toString(16).padStart(2, "0")).join("")}`;
|
|
37
|
+
}
|
|
38
|
+
function isLightColor(color) {
|
|
39
|
+
const rgb = chunkM2N7NY3V_js.parseColor(color);
|
|
40
|
+
if (!rgb) return false;
|
|
41
|
+
return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1e3 > 160;
|
|
42
|
+
}
|
|
43
|
+
function onBrandColor(brand) {
|
|
44
|
+
return isLightColor(brand) ? "#1a1a1a" : "white";
|
|
45
|
+
}
|
|
46
|
+
function rgbTriplet(color, fallback = "37, 99, 235") {
|
|
47
|
+
const rgb = chunkM2N7NY3V_js.parseColor(color);
|
|
48
|
+
if (!rgb) return fallback;
|
|
49
|
+
const { r, g, b } = round(rgb);
|
|
50
|
+
return `${r}, ${g}, ${b}`;
|
|
51
|
+
}
|
|
52
|
+
function brandTextColor(brand, panelTint) {
|
|
53
|
+
const tint = panelTint && chunkM2N7NY3V_js.parseColor(panelTint) || WHITE;
|
|
54
|
+
const pole = chunkM2N7NY3V_js.relativeLuminance(tint) < chunkM2N7NY3V_js.DARK_LUMINANCE ? WHITE : BLACK;
|
|
55
|
+
const rgb = chunkM2N7NY3V_js.parseColor(brand);
|
|
56
|
+
if (!rgb) return `color-mix(in srgb, ${brand} ${UNREADABLE_BRAND_SHARE}%, ${toHex(pole)})`;
|
|
57
|
+
const surface = chunkM2N7NY3V_js.relativeLuminance(mix(rgb, tint, RESTING_TINT));
|
|
58
|
+
const reads = (c) => chunkM2N7NY3V_js.contrastRatio(chunkM2N7NY3V_js.relativeLuminance(c), surface) >= TEXT_CONTRAST;
|
|
59
|
+
if (reads(rgb)) return brand;
|
|
60
|
+
let lo = 0;
|
|
61
|
+
let hi = 1;
|
|
62
|
+
for (let i = 0; i < 12; i++) {
|
|
63
|
+
const share = (lo + hi) / 2;
|
|
64
|
+
if (reads(round(mix(rgb, pole, share)))) lo = share;
|
|
65
|
+
else hi = share;
|
|
66
|
+
}
|
|
67
|
+
return toHex(mix(rgb, pole, lo));
|
|
68
|
+
}
|
|
16
69
|
function alpha(rgb, a) {
|
|
17
70
|
return `rgba(var(--sk-primary-rgb, ${rgb}), ${a})`;
|
|
18
71
|
}
|
|
@@ -39,7 +92,7 @@ function InlineManagedForm({ slug, prefill, primaryColor, primaryRgb }) {
|
|
|
39
92
|
submit,
|
|
40
93
|
isSubmitting,
|
|
41
94
|
isComplete
|
|
42
|
-
} =
|
|
95
|
+
} = chunk2SLA2LOD_js.useForm(slug, { initialValues: prefill || {} });
|
|
43
96
|
const cardStyle = {
|
|
44
97
|
marginTop: 8,
|
|
45
98
|
padding: 12,
|
|
@@ -198,7 +251,7 @@ function InlineManagedForm({ slug, prefill, primaryColor, primaryRgb }) {
|
|
|
198
251
|
borderRadius: 8,
|
|
199
252
|
border: "none",
|
|
200
253
|
backgroundColor: primaryColor,
|
|
201
|
-
color:
|
|
254
|
+
color: onBrandColor(primaryColor),
|
|
202
255
|
fontSize: 13.5,
|
|
203
256
|
fontWeight: 600,
|
|
204
257
|
cursor: isSubmitting ? "default" : "pointer",
|
|
@@ -211,7 +264,7 @@ function InlineManagedForm({ slug, prefill, primaryColor, primaryRgb }) {
|
|
|
211
264
|
}
|
|
212
265
|
);
|
|
213
266
|
}
|
|
214
|
-
function SuggestActionChip({ action, message, primaryColor, primaryRgb, onSuggest }) {
|
|
267
|
+
function SuggestActionChip({ action, message, primaryColor, primaryRgb, brandText, onSuggest }) {
|
|
215
268
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
216
269
|
"button",
|
|
217
270
|
{
|
|
@@ -222,7 +275,7 @@ function SuggestActionChip({ action, message, primaryColor, primaryRgb, onSugges
|
|
|
222
275
|
borderRadius: 16,
|
|
223
276
|
border: `1px solid ${primaryColor}`,
|
|
224
277
|
backgroundColor: alpha(primaryRgb, 0.063),
|
|
225
|
-
color:
|
|
278
|
+
color: brandText,
|
|
226
279
|
fontSize: 13,
|
|
227
280
|
cursor: "pointer"
|
|
228
281
|
},
|
|
@@ -230,7 +283,7 @@ function SuggestActionChip({ action, message, primaryColor, primaryRgb, onSugges
|
|
|
230
283
|
}
|
|
231
284
|
);
|
|
232
285
|
}
|
|
233
|
-
function EchoUiActions({ actions, primaryColor, primaryRgb, onSuggest }) {
|
|
286
|
+
function EchoUiActions({ actions, primaryColor, primaryRgb, brandText, onSuggest }) {
|
|
234
287
|
if (!actions?.length) return null;
|
|
235
288
|
const chips = actions.filter((a) => a?.type === "suggest_action");
|
|
236
289
|
const forms = actions.filter((a) => a?.type === "show_form");
|
|
@@ -262,6 +315,7 @@ function EchoUiActions({ actions, primaryColor, primaryRgb, onSuggest }) {
|
|
|
262
315
|
message: label,
|
|
263
316
|
primaryColor,
|
|
264
317
|
primaryRgb,
|
|
318
|
+
brandText,
|
|
265
319
|
onSuggest
|
|
266
320
|
},
|
|
267
321
|
`chip-${i}`
|
|
@@ -315,21 +369,9 @@ var ECHO_CSS = `
|
|
|
315
369
|
[data-sk-echo-panel] { animation: none !important; }
|
|
316
370
|
}
|
|
317
371
|
`;
|
|
318
|
-
function isLightColor(hex) {
|
|
319
|
-
const num = parseInt(hex.replace("#", ""), 16);
|
|
320
|
-
const r = num >> 16;
|
|
321
|
-
const g = num >> 8 & 255;
|
|
322
|
-
const b = num & 255;
|
|
323
|
-
return (r * 299 + g * 587 + b * 114) / 1e3 > 160;
|
|
324
|
-
}
|
|
325
372
|
function staticPrimaryColor(apiFallback, hardDefault) {
|
|
326
373
|
return apiFallback || hardDefault;
|
|
327
374
|
}
|
|
328
|
-
function hexToRgbString(hex, fallback = "37, 99, 235") {
|
|
329
|
-
const match = hex.replace("#", "").match(/^([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i);
|
|
330
|
-
if (!match) return fallback;
|
|
331
|
-
return `${parseInt(match[1], 16)}, ${parseInt(match[2], 16)}, ${parseInt(match[3], 16)}`;
|
|
332
|
-
}
|
|
333
375
|
function hexAlpha(rgbVar, alpha2, fallbackRgb = "37, 99, 235") {
|
|
334
376
|
return `rgba(var(${rgbVar}, ${fallbackRgb}), ${alpha2})`;
|
|
335
377
|
}
|
|
@@ -382,11 +424,19 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
382
424
|
const primaryFallback = staticPrimaryColor(widgetConfig?.brand_primary || config?.buttonColor, "#2563eb");
|
|
383
425
|
const [primaryFromCssVar, setPrimaryFromCssVar] = react.useState(null);
|
|
384
426
|
const primaryColor = primaryFromCssVar ?? primaryFallback;
|
|
385
|
-
const primaryRgb =
|
|
427
|
+
const primaryRgb = rgbTriplet(primaryColor);
|
|
386
428
|
react.useEffect(() => {
|
|
387
429
|
const cssValue = getComputedStyle(document.documentElement).getPropertyValue("--sk-primary").trim();
|
|
388
430
|
setPrimaryFromCssVar(cssValue || null);
|
|
389
431
|
}, []);
|
|
432
|
+
const onBrand = onBrandColor(primaryColor);
|
|
433
|
+
const panelRef = react.useRef(null);
|
|
434
|
+
const [panelTint, setPanelTint] = react.useState(null);
|
|
435
|
+
react.useLayoutEffect(() => {
|
|
436
|
+
if (!isOpen || !panelRef.current) return;
|
|
437
|
+
setPanelTint(getComputedStyle(panelRef.current).getPropertyValue("--sk-glass-t").trim() || null);
|
|
438
|
+
}, [isOpen]);
|
|
439
|
+
const brandText = brandTextColor(primaryColor, panelTint);
|
|
390
440
|
const businessName = propAssistantName || widgetConfig?.project_name || widgetConfig?.business_info?.name || "Chat with us";
|
|
391
441
|
const logoUrl = propAssistantAvatar || widgetConfig?.logo_url || null;
|
|
392
442
|
const welcomeEnabled = widgetConfig?.welcome_screen_enabled !== false;
|
|
@@ -402,7 +452,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
402
452
|
const { apiKey } = getApiConfig();
|
|
403
453
|
if (!apiKey) return;
|
|
404
454
|
let cancelled = false;
|
|
405
|
-
|
|
455
|
+
chunkIWHAJBYL_js.sonorFetch(`${baseUrl}/api/public/seo/project-info`, {}, { apiKey, retries: 0 }).then((res) => res.ok ? res.json() : null).then((data) => {
|
|
406
456
|
if (cancelled || !data?.valid || !data?.project_id) return;
|
|
407
457
|
setResolvedProjectId(data.project_id);
|
|
408
458
|
}).catch(() => {
|
|
@@ -416,7 +466,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
416
466
|
const apiKey = ensureApiKey();
|
|
417
467
|
if (!apiKey) return;
|
|
418
468
|
try {
|
|
419
|
-
const response = await
|
|
469
|
+
const response = await chunkIWHAJBYL_js.sonorFetch(`${baseUrl}/engage/widget/config?projectId=${projectId}`, {}, { apiKey, retries: 0 });
|
|
420
470
|
if (response.ok) {
|
|
421
471
|
const { data } = await response.json();
|
|
422
472
|
setWidgetConfig(data ?? null);
|
|
@@ -432,7 +482,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
432
482
|
const apiKey = ensureApiKey();
|
|
433
483
|
if (!apiKey) return null;
|
|
434
484
|
try {
|
|
435
|
-
const response = await
|
|
485
|
+
const response = await chunkIWHAJBYL_js.sonorFetch(`${baseUrl}/engage/widget/availability?projectId=${projectId}`, {}, { apiKey, retries: 0 });
|
|
436
486
|
if (response.ok) {
|
|
437
487
|
const { data } = await response.json();
|
|
438
488
|
setAvailability(data);
|
|
@@ -449,7 +499,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
449
499
|
const apiKey = ensureApiKey();
|
|
450
500
|
if (!apiKey) return null;
|
|
451
501
|
try {
|
|
452
|
-
const response = await
|
|
502
|
+
const response = await chunkIWHAJBYL_js.sonorFetch(`${baseUrl}/engage/widget/session`, {
|
|
453
503
|
method: "POST",
|
|
454
504
|
headers: { "Content-Type": "application/json" },
|
|
455
505
|
body: JSON.stringify({
|
|
@@ -510,7 +560,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
510
560
|
pageUrl: typeof window !== "undefined" ? window.location.href : void 0,
|
|
511
561
|
...siteContext ? { siteContext } : {}
|
|
512
562
|
};
|
|
513
|
-
const res = await
|
|
563
|
+
const res = await chunkIWHAJBYL_js.sonorFetch(url, {
|
|
514
564
|
method: "POST",
|
|
515
565
|
headers: {
|
|
516
566
|
"Content-Type": "application/json"
|
|
@@ -621,7 +671,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
621
671
|
if (currentSessionId) {
|
|
622
672
|
const apiKey = ensureApiKey();
|
|
623
673
|
if (apiKey) {
|
|
624
|
-
|
|
674
|
+
chunkIWHAJBYL_js.sonorFetch(`${baseUrl}/engage/widget/messages?sessionId=${currentSessionId}`, {}, { apiKey, retries: 0 }).then((res) => res.ok ? res.json() : null).then((json) => {
|
|
625
675
|
const data = json?.data ?? json;
|
|
626
676
|
if (Array.isArray(data) && data.length) {
|
|
627
677
|
setMessages((prev) => {
|
|
@@ -684,7 +734,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
684
734
|
try {
|
|
685
735
|
const apiKey = ensureApiKey();
|
|
686
736
|
if (!apiKey) return;
|
|
687
|
-
const response = await
|
|
737
|
+
const response = await chunkIWHAJBYL_js.sonorFetch(`${baseUrl}/engage/widget/messages?sessionId=${currentSessionId}`, {}, { apiKey, retries: 0 });
|
|
688
738
|
if (response.ok) {
|
|
689
739
|
const { data } = await response.json();
|
|
690
740
|
setMessages((prev) => {
|
|
@@ -837,7 +887,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
837
887
|
form.append("file", file);
|
|
838
888
|
form.append("sessionId", sessionId);
|
|
839
889
|
form.append("visitorId", visitorId);
|
|
840
|
-
const res = await
|
|
890
|
+
const res = await chunkIWHAJBYL_js.sonorFetch(`${baseUrl}/engage/widget/upload`, {
|
|
841
891
|
method: "POST",
|
|
842
892
|
body: form
|
|
843
893
|
}, { apiKey, retries: 0 });
|
|
@@ -984,7 +1034,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
984
1034
|
if (!apiKey) return;
|
|
985
1035
|
setCheckingHandoff(true);
|
|
986
1036
|
try {
|
|
987
|
-
const res = await
|
|
1037
|
+
const res = await chunkIWHAJBYL_js.sonorFetch(`${baseUrl}/engage/widget/handoff`, {
|
|
988
1038
|
method: "POST",
|
|
989
1039
|
headers: { "Content-Type": "application/json" },
|
|
990
1040
|
body: JSON.stringify({ sessionId })
|
|
@@ -1023,7 +1073,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1023
1073
|
setIsLoading(true);
|
|
1024
1074
|
setOfflineError(null);
|
|
1025
1075
|
try {
|
|
1026
|
-
const response = await
|
|
1076
|
+
const response = await chunkIWHAJBYL_js.sonorFetch(`${baseUrl}/engage/widget/offline-form`, {
|
|
1027
1077
|
method: "POST",
|
|
1028
1078
|
headers: { "Content-Type": "application/json" },
|
|
1029
1079
|
body: JSON.stringify({
|
|
@@ -1072,7 +1122,6 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1072
1122
|
if (availability && availability.agentsOnline > 0) return { dot: "#22c55e", text: "Online" };
|
|
1073
1123
|
return { dot: "var(--sk-text-tertiary, #9ca3af)", text: "We'll respond soon" };
|
|
1074
1124
|
})();
|
|
1075
|
-
const launcherIcon = isLightColor(primaryColor) ? "#1a1a1a" : "white";
|
|
1076
1125
|
const ChatButton = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1077
1126
|
"button",
|
|
1078
1127
|
{
|
|
@@ -1101,10 +1150,10 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1101
1150
|
onMouseLeave: (e) => {
|
|
1102
1151
|
e.currentTarget.style.transform = "scale(1)";
|
|
1103
1152
|
},
|
|
1104
|
-
children: isOpen ? /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke:
|
|
1153
|
+
children: isOpen ? /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: onBrand, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
1105
1154
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }),
|
|
1106
1155
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })
|
|
1107
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke:
|
|
1156
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: onBrand, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z" }) })
|
|
1108
1157
|
}
|
|
1109
1158
|
);
|
|
1110
1159
|
const Header = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
@@ -1128,7 +1177,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1128
1177
|
height: 40,
|
|
1129
1178
|
borderRadius: "50%",
|
|
1130
1179
|
backgroundColor: primaryColor,
|
|
1131
|
-
color:
|
|
1180
|
+
color: onBrand,
|
|
1132
1181
|
boxShadow: "inset 0 1px 0 color-mix(in srgb, #ffffff 30%, transparent), 0 2px 6px rgba(0, 0, 0, 0.12)",
|
|
1133
1182
|
display: "flex",
|
|
1134
1183
|
alignItems: "center",
|
|
@@ -1165,7 +1214,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1165
1214
|
borderRadius: 12,
|
|
1166
1215
|
border: `1px solid ${hexAlpha("--sk-primary-rgb", 0.2, primaryRgb)}`,
|
|
1167
1216
|
backgroundColor: hexAlpha("--sk-primary-rgb", 0.031, primaryRgb),
|
|
1168
|
-
color:
|
|
1217
|
+
color: brandText,
|
|
1169
1218
|
fontSize: 14,
|
|
1170
1219
|
cursor: "pointer",
|
|
1171
1220
|
textAlign: "left",
|
|
@@ -1194,7 +1243,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1194
1243
|
borderRadius: 12,
|
|
1195
1244
|
border: "none",
|
|
1196
1245
|
backgroundColor: primaryColor,
|
|
1197
|
-
color:
|
|
1246
|
+
color: onBrand,
|
|
1198
1247
|
fontSize: 14,
|
|
1199
1248
|
fontWeight: 600,
|
|
1200
1249
|
cursor: "pointer",
|
|
@@ -1206,11 +1255,11 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1206
1255
|
widgetConfig?.business_info?.phone && /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { textAlign: "center", fontSize: 13, color: "var(--sk-text-secondary, #6b7280)" }, children: [
|
|
1207
1256
|
"Or call us at",
|
|
1208
1257
|
" ",
|
|
1209
|
-
/* @__PURE__ */ jsxRuntime.jsx("a", { href: `tel:${widgetConfig.business_info.phone}`, style: { color:
|
|
1258
|
+
/* @__PURE__ */ jsxRuntime.jsx("a", { href: `tel:${widgetConfig.business_info.phone}`, style: { color: brandText, textDecoration: "none", fontWeight: 500 }, children: widgetConfig.business_info.phone })
|
|
1210
1259
|
] })
|
|
1211
1260
|
] });
|
|
1212
1261
|
const OfflineFormView = /* @__PURE__ */ jsxRuntime.jsx("div", { style: { padding: 20, flex: 1, overflowY: "auto" }, children: offlineSubmitted ? /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { textAlign: "center", padding: 20 }, children: [
|
|
1213
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: 56, height: 56, borderRadius: "50%", backgroundColor: hexAlpha("--sk-primary-rgb", 0.082, primaryRgb), display: "flex", alignItems: "center", justifyContent: "center", margin: "0 auto 16px" }, children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke:
|
|
1262
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { style: { width: 56, height: 56, borderRadius: "50%", backgroundColor: hexAlpha("--sk-primary-rgb", 0.082, primaryRgb), display: "flex", alignItems: "center", justifyContent: "center", margin: "0 auto 16px" }, children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "28", height: "28", viewBox: "0 0 24 24", fill: "none", stroke: brandText, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "20 6 9 17 4 12" }) }) }),
|
|
1214
1263
|
/* @__PURE__ */ jsxRuntime.jsx("h3", { style: { margin: "0 0 8px", fontSize: 18, fontWeight: 600, color: "var(--sk-text-primary, #111827)" }, children: "Message Sent!" }),
|
|
1215
1264
|
/* @__PURE__ */ jsxRuntime.jsx("p", { style: { margin: 0, color: "var(--sk-text-secondary, #6b7280)", fontSize: 14 }, children: offlineSubheading })
|
|
1216
1265
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleOfflineSubmit, children: [
|
|
@@ -1257,7 +1306,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1257
1306
|
borderRadius: 8,
|
|
1258
1307
|
border: "none",
|
|
1259
1308
|
backgroundColor: primaryColor,
|
|
1260
|
-
color:
|
|
1309
|
+
color: onBrand,
|
|
1261
1310
|
fontSize: 14,
|
|
1262
1311
|
fontWeight: 600,
|
|
1263
1312
|
cursor: isLoading ? "wait" : "pointer",
|
|
@@ -1305,7 +1354,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1305
1354
|
alignItems: "center",
|
|
1306
1355
|
justifyContent: "center"
|
|
1307
1356
|
},
|
|
1308
|
-
children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke:
|
|
1357
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("svg", { width: "18", height: "18", viewBox: "0 0 24 24", fill: "none", stroke: onBrand, strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
|
|
1309
1358
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2" }),
|
|
1310
1359
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "8.5", cy: "7", r: "4" }),
|
|
1311
1360
|
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "20", y1: "8", x2: "20", y2: "14" }),
|
|
@@ -1354,7 +1403,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1354
1403
|
// Bubbles on glass stay near-opaque: the glass behind them
|
|
1355
1404
|
// is for depth, never for the text to read against.
|
|
1356
1405
|
backgroundColor: message.role === "user" ? primaryColor : message.role === "system" ? "color-mix(in srgb, var(--sk-text-primary, #111827) 7%, transparent)" : BUBBLE_BG,
|
|
1357
|
-
color: message.role === "user" ?
|
|
1406
|
+
color: message.role === "user" ? onBrand : message.role === "system" ? "var(--sk-text-secondary, #6b7280)" : "var(--sk-text-primary, #111827)",
|
|
1358
1407
|
border: message.role === "user" || message.role === "system" ? "none" : HAIRLINE,
|
|
1359
1408
|
boxShadow: message.role === "system" ? "none" : message.role === "user" ? "inset 0 1px 0 color-mix(in srgb, #ffffff 22%, transparent), 0 1px 2px rgba(0,0,0,0.10)" : "0 1px 2px rgba(0,0,0,0.06)",
|
|
1360
1409
|
fontSize: message.role === "system" ? 13 : 14,
|
|
@@ -1390,7 +1439,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1390
1439
|
padding: "8px 14px",
|
|
1391
1440
|
borderRadius: 8,
|
|
1392
1441
|
backgroundColor: hexAlpha("--sk-primary-rgb", 0.082, primaryRgb),
|
|
1393
|
-
color:
|
|
1442
|
+
color: brandText,
|
|
1394
1443
|
fontWeight: 600,
|
|
1395
1444
|
fontSize: 13,
|
|
1396
1445
|
textDecoration: "none",
|
|
@@ -1436,7 +1485,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1436
1485
|
borderRadius: 16,
|
|
1437
1486
|
border: `1px solid ${primaryColor}`,
|
|
1438
1487
|
backgroundColor: hexAlpha("--sk-primary-rgb", 0.063, primaryRgb),
|
|
1439
|
-
color:
|
|
1488
|
+
color: brandText,
|
|
1440
1489
|
fontSize: 13,
|
|
1441
1490
|
cursor: "pointer"
|
|
1442
1491
|
},
|
|
@@ -1450,6 +1499,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1450
1499
|
actions: message.uiActions,
|
|
1451
1500
|
primaryColor,
|
|
1452
1501
|
primaryRgb,
|
|
1502
|
+
brandText,
|
|
1453
1503
|
onSuggest: handleSuggestAction
|
|
1454
1504
|
}
|
|
1455
1505
|
) : null,
|
|
@@ -1473,7 +1523,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1473
1523
|
borderRadius: 6,
|
|
1474
1524
|
border: `1px solid ${primaryColor}`,
|
|
1475
1525
|
backgroundColor: "transparent",
|
|
1476
|
-
color:
|
|
1526
|
+
color: brandText,
|
|
1477
1527
|
fontSize: 13,
|
|
1478
1528
|
cursor: "pointer"
|
|
1479
1529
|
},
|
|
@@ -1555,7 +1605,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1555
1605
|
borderRadius: "50%",
|
|
1556
1606
|
border: "none",
|
|
1557
1607
|
backgroundColor: (inputValue.trim() || pendingFiles.length) && !isLoading ? primaryColor : "var(--sk-border, #e5e7eb)",
|
|
1558
|
-
color: (inputValue.trim() || pendingFiles.length) && !isLoading
|
|
1608
|
+
color: (inputValue.trim() || pendingFiles.length) && !isLoading ? onBrand : "white",
|
|
1559
1609
|
cursor: inputValue.trim() && !isLoading ? "pointer" : "not-allowed",
|
|
1560
1610
|
display: "flex",
|
|
1561
1611
|
alignItems: "center",
|
|
@@ -1571,6 +1621,7 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1571
1621
|
const ChatPopup = isOpen && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1572
1622
|
"div",
|
|
1573
1623
|
{
|
|
1624
|
+
ref: panelRef,
|
|
1574
1625
|
"data-sk-echo-panel": true,
|
|
1575
1626
|
className: "sk-glass sk-glass--panel",
|
|
1576
1627
|
style: {
|
|
@@ -1634,5 +1685,5 @@ function ChatWidget({ projectId: propProjectId, config, apiUrl: propApiUrl, sign
|
|
|
1634
1685
|
}
|
|
1635
1686
|
|
|
1636
1687
|
exports.ChatWidget = ChatWidget;
|
|
1637
|
-
//# sourceMappingURL=chunk-
|
|
1638
|
-
//# sourceMappingURL=chunk-
|
|
1688
|
+
//# sourceMappingURL=chunk-OZTVJSFX.js.map
|
|
1689
|
+
//# sourceMappingURL=chunk-OZTVJSFX.js.map
|