@wix/web5-core 1.63.42 → 1.63.44

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 (48) hide show
  1. package/dist/cjs/client/applyThemeOverrides.js +41 -9
  2. package/dist/cjs/client/applyThemeOverrides.js.map +1 -1
  3. package/dist/cjs/client/themeDebug.js +15 -6
  4. package/dist/cjs/client/themeDebug.js.map +1 -1
  5. package/dist/cjs/components/ui/AiDisclosure.js +17 -19
  6. package/dist/cjs/components/ui/AiDisclosure.js.map +1 -1
  7. package/dist/cjs/components/ui/SearchSection.js +44 -36
  8. package/dist/cjs/components/ui/SearchSection.js.map +1 -1
  9. package/dist/cjs/index.js +21 -5
  10. package/dist/cjs/index.js.map +1 -1
  11. package/dist/cjs/lib/assistant.js +58 -0
  12. package/dist/cjs/lib/assistant.js.map +1 -0
  13. package/dist/cjs/theme/themeScheme.js +375 -0
  14. package/dist/cjs/theme/themeScheme.js.map +1 -0
  15. package/dist/cjs/theme/tokenContract.js +8 -1
  16. package/dist/cjs/theme/tokenContract.js.map +1 -1
  17. package/dist/esm/client/applyThemeOverrides.js +42 -10
  18. package/dist/esm/client/applyThemeOverrides.js.map +1 -1
  19. package/dist/esm/client/themeDebug.js +15 -6
  20. package/dist/esm/client/themeDebug.js.map +1 -1
  21. package/dist/esm/components/ui/AiDisclosure.js +7 -8
  22. package/dist/esm/components/ui/AiDisclosure.js.map +1 -1
  23. package/dist/esm/components/ui/SearchSection.js +10 -1
  24. package/dist/esm/components/ui/SearchSection.js.map +1 -1
  25. package/dist/esm/index.js +4 -2
  26. package/dist/esm/index.js.map +1 -1
  27. package/dist/esm/lib/assistant.js +52 -0
  28. package/dist/esm/lib/assistant.js.map +1 -0
  29. package/dist/esm/theme/themeScheme.js +372 -0
  30. package/dist/esm/theme/themeScheme.js.map +1 -0
  31. package/dist/esm/theme/tokenContract.js +7 -0
  32. package/dist/esm/theme/tokenContract.js.map +1 -1
  33. package/dist/types/client/applyThemeOverrides.d.ts +1 -1
  34. package/dist/types/client/applyThemeOverrides.d.ts.map +1 -1
  35. package/dist/types/client/themeDebug.d.ts +2 -2
  36. package/dist/types/client/themeDebug.d.ts.map +1 -1
  37. package/dist/types/components/ui/AiDisclosure.d.ts +7 -5
  38. package/dist/types/components/ui/AiDisclosure.d.ts.map +1 -1
  39. package/dist/types/components/ui/SearchSection.d.ts.map +1 -1
  40. package/dist/types/index.d.ts +4 -2
  41. package/dist/types/index.d.ts.map +1 -1
  42. package/dist/types/lib/assistant.d.ts +39 -0
  43. package/dist/types/lib/assistant.d.ts.map +1 -0
  44. package/dist/types/theme/themeScheme.d.ts +79 -0
  45. package/dist/types/theme/themeScheme.d.ts.map +1 -0
  46. package/dist/types/theme/tokenContract.d.ts +6 -0
  47. package/dist/types/theme/tokenContract.d.ts.map +1 -1
  48. package/package.json +2 -2
@@ -6,9 +6,17 @@ exports.SearchSection = void 0;
6
6
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _utils = require("../../lib/utils");
9
+ var _assistant = require("../../lib/assistant");
9
10
  var _linkTypes = require("../../types/link-types");
10
11
  var _jsxFileName = "/home/builduser/work/c2b6ca0b3fa984ee/packages/web5-core/dist/cjs/components/ui/SearchSection.tsx";
11
12
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
+ /**
14
+ * Fallback for a bare `<SearchSection />` — the product default with no store
15
+ * name to resolve against, so "Ask AI...". Hosts that know the store (the
16
+ * full-page app, the embed widget) resolve the token themselves and pass the
17
+ * branded string in; this only covers the component used on its own.
18
+ */
19
+ const UNBRANDED_PLACEHOLDER = (0, _assistant.resolveAssistantPlaceholder)(_assistant.DEFAULT_PROMPT_PLACEHOLDER);
12
20
  const ArrowDownIcon = () => /*#__PURE__*/_react.default.createElement("svg", {
13
21
  xmlns: "http://www.w3.org/2000/svg",
14
22
  width: "24",
@@ -23,7 +31,7 @@ const ArrowDownIcon = () => /*#__PURE__*/_react.default.createElement("svg", {
23
31
  __self: void 0,
24
32
  __source: {
25
33
  fileName: _jsxFileName,
26
- lineNumber: 51,
34
+ lineNumber: 65,
27
35
  columnNumber: 3
28
36
  }
29
37
  }, /*#__PURE__*/_react.default.createElement("path", {
@@ -31,7 +39,7 @@ const ArrowDownIcon = () => /*#__PURE__*/_react.default.createElement("svg", {
31
39
  __self: void 0,
32
40
  __source: {
33
41
  fileName: _jsxFileName,
34
- lineNumber: 63,
42
+ lineNumber: 77,
35
43
  columnNumber: 5
36
44
  }
37
45
  }), /*#__PURE__*/_react.default.createElement("path", {
@@ -39,7 +47,7 @@ const ArrowDownIcon = () => /*#__PURE__*/_react.default.createElement("svg", {
39
47
  __self: void 0,
40
48
  __source: {
41
49
  fileName: _jsxFileName,
42
- lineNumber: 64,
50
+ lineNumber: 78,
43
51
  columnNumber: 5
44
52
  }
45
53
  }));
@@ -55,7 +63,7 @@ const MicrophoneIcon = props => /*#__PURE__*/_react.default.createElement("svg",
55
63
  __self: void 0,
56
64
  __source: {
57
65
  fileName: _jsxFileName,
58
- lineNumber: 69,
66
+ lineNumber: 83,
59
67
  columnNumber: 3
60
68
  }
61
69
  }), /*#__PURE__*/_react.default.createElement("path", {
@@ -63,7 +71,7 @@ const MicrophoneIcon = props => /*#__PURE__*/_react.default.createElement("svg",
63
71
  __self: void 0,
64
72
  __source: {
65
73
  fileName: _jsxFileName,
66
- lineNumber: 79,
74
+ lineNumber: 93,
67
75
  columnNumber: 5
68
76
  }
69
77
  }), /*#__PURE__*/_react.default.createElement("path", {
@@ -75,7 +83,7 @@ const MicrophoneIcon = props => /*#__PURE__*/_react.default.createElement("svg",
75
83
  __self: void 0,
76
84
  __source: {
77
85
  fileName: _jsxFileName,
78
- lineNumber: 80,
86
+ lineNumber: 94,
79
87
  columnNumber: 5
80
88
  }
81
89
  }));
@@ -94,7 +102,7 @@ const ArrowRightIcon = props => /*#__PURE__*/_react.default.createElement("svg",
94
102
  __self: void 0,
95
103
  __source: {
96
104
  fileName: _jsxFileName,
97
- lineNumber: 91,
105
+ lineNumber: 105,
98
106
  columnNumber: 3
99
107
  }
100
108
  }), /*#__PURE__*/_react.default.createElement("path", {
@@ -102,7 +110,7 @@ const ArrowRightIcon = props => /*#__PURE__*/_react.default.createElement("svg",
102
110
  __self: void 0,
103
111
  __source: {
104
112
  fileName: _jsxFileName,
105
- lineNumber: 104,
113
+ lineNumber: 118,
106
114
  columnNumber: 5
107
115
  }
108
116
  }), /*#__PURE__*/_react.default.createElement("path", {
@@ -110,7 +118,7 @@ const ArrowRightIcon = props => /*#__PURE__*/_react.default.createElement("svg",
110
118
  __self: void 0,
111
119
  __source: {
112
120
  fileName: _jsxFileName,
113
- lineNumber: 105,
121
+ lineNumber: 119,
114
122
  columnNumber: 5
115
123
  }
116
124
  }));
@@ -125,7 +133,7 @@ const PromptSendIcon = props => /*#__PURE__*/_react.default.createElement("svg",
125
133
  __self: void 0,
126
134
  __source: {
127
135
  fileName: _jsxFileName,
128
- lineNumber: 110,
136
+ lineNumber: 124,
129
137
  columnNumber: 3
130
138
  }
131
139
  }), /*#__PURE__*/_react.default.createElement("path", {
@@ -134,13 +142,13 @@ const PromptSendIcon = props => /*#__PURE__*/_react.default.createElement("svg",
134
142
  __self: void 0,
135
143
  __source: {
136
144
  fileName: _jsxFileName,
137
- lineNumber: 119,
145
+ lineNumber: 133,
138
146
  columnNumber: 5
139
147
  }
140
148
  }));
141
149
  const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef)(function SearchSection({
142
150
  onSubmit,
143
- placeholder = 'Talk to us',
151
+ placeholder = UNBRANDED_PLACEHOLDER,
144
152
  submitLabel,
145
153
  collapsedLabel,
146
154
  onCollapsedChange,
@@ -287,7 +295,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
287
295
  __self: this,
288
296
  __source: {
289
297
  fileName: _jsxFileName,
290
- lineNumber: 307,
298
+ lineNumber: 321,
291
299
  columnNumber: 7
292
300
  }
293
301
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -296,14 +304,14 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
296
304
  __self: this,
297
305
  __source: {
298
306
  fileName: _jsxFileName,
299
- lineNumber: 313,
307
+ lineNumber: 327,
300
308
  columnNumber: 9
301
309
  }
302
310
  }, /*#__PURE__*/_react.default.createElement(ArrowDownIcon, {
303
311
  __self: this,
304
312
  __source: {
305
313
  fileName: _jsxFileName,
306
- lineNumber: 314,
314
+ lineNumber: 328,
307
315
  columnNumber: 11
308
316
  }
309
317
  })), /*#__PURE__*/_react.default.createElement("div", {
@@ -311,7 +319,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
311
319
  __self: this,
312
320
  __source: {
313
321
  fileName: _jsxFileName,
314
- lineNumber: 316,
322
+ lineNumber: 330,
315
323
  columnNumber: 9
316
324
  }
317
325
  }, progressMessage));
@@ -323,7 +331,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
323
331
  __self: this,
324
332
  __source: {
325
333
  fileName: _jsxFileName,
326
- lineNumber: 324,
334
+ lineNumber: 338,
327
335
  columnNumber: 7
328
336
  }
329
337
  }, chips.map(chip => /*#__PURE__*/_react.default.createElement("a", {
@@ -345,7 +353,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
345
353
  __self: this,
346
354
  __source: {
347
355
  fileName: _jsxFileName,
348
- lineNumber: 337,
356
+ lineNumber: 351,
349
357
  columnNumber: 11
350
358
  }
351
359
  }, chip.label, /*#__PURE__*/_react.default.createElement(PromptSendIcon, {
@@ -354,7 +362,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
354
362
  __self: this,
355
363
  __source: {
356
364
  fileName: _jsxFileName,
357
- lineNumber: 353,
365
+ lineNumber: 367,
358
366
  columnNumber: 13
359
367
  }
360
368
  })))) : null;
@@ -370,7 +378,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
370
378
  __self: this,
371
379
  __source: {
372
380
  fileName: _jsxFileName,
373
- lineNumber: 368,
381
+ lineNumber: 382,
374
382
  columnNumber: 5
375
383
  }
376
384
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -378,7 +386,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
378
386
  __self: this,
379
387
  __source: {
380
388
  fileName: _jsxFileName,
381
- lineNumber: 379,
389
+ lineNumber: 393,
382
390
  columnNumber: 7
383
391
  }
384
392
  }, /*#__PURE__*/_react.default.createElement("button", {
@@ -391,7 +399,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
391
399
  __self: this,
392
400
  __source: {
393
401
  fileName: _jsxFileName,
394
- lineNumber: 380,
402
+ lineNumber: 394,
395
403
  columnNumber: 9
396
404
  }
397
405
  }, effectiveCollapsedLabel), /*#__PURE__*/_react.default.createElement("div", {
@@ -402,7 +410,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
402
410
  __self: this,
403
411
  __source: {
404
412
  fileName: _jsxFileName,
405
- lineNumber: 391,
413
+ lineNumber: 405,
406
414
  columnNumber: 9
407
415
  }
408
416
  }, contextBanner, /*#__PURE__*/_react.default.createElement("div", {
@@ -410,7 +418,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
410
418
  __self: this,
411
419
  __source: {
412
420
  fileName: _jsxFileName,
413
- lineNumber: 398,
421
+ lineNumber: 412,
414
422
  columnNumber: 11
415
423
  }
416
424
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -418,7 +426,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
418
426
  __self: this,
419
427
  __source: {
420
428
  fileName: _jsxFileName,
421
- lineNumber: 399,
429
+ lineNumber: 413,
422
430
  columnNumber: 13
423
431
  }
424
432
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -427,7 +435,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
427
435
  __self: this,
428
436
  __source: {
429
437
  fileName: _jsxFileName,
430
- lineNumber: 405,
438
+ lineNumber: 419,
431
439
  columnNumber: 15
432
440
  }
433
441
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -435,7 +443,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
435
443
  __self: this,
436
444
  __source: {
437
445
  fileName: _jsxFileName,
438
- lineNumber: 406,
446
+ lineNumber: 420,
439
447
  columnNumber: 17
440
448
  }
441
449
  }, /*#__PURE__*/_react.default.createElement("div", {
@@ -443,7 +451,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
443
451
  __self: this,
444
452
  __source: {
445
453
  fileName: _jsxFileName,
446
- lineNumber: 407,
454
+ lineNumber: 421,
447
455
  columnNumber: 19
448
456
  }
449
457
  }, /*#__PURE__*/_react.default.createElement("textarea", {
@@ -462,7 +470,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
462
470
  __self: this,
463
471
  __source: {
464
472
  fileName: _jsxFileName,
465
- lineNumber: 414,
473
+ lineNumber: 428,
466
474
  columnNumber: 21
467
475
  }
468
476
  }), /*#__PURE__*/_react.default.createElement("div", {
@@ -470,7 +478,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
470
478
  __self: this,
471
479
  __source: {
472
480
  fileName: _jsxFileName,
473
- lineNumber: 429,
481
+ lineNumber: 443,
474
482
  columnNumber: 21
475
483
  }
476
484
  }, onVoiceInput && /*#__PURE__*/_react.default.createElement("button", {
@@ -482,14 +490,14 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
482
490
  __self: this,
483
491
  __source: {
484
492
  fileName: _jsxFileName,
485
- lineNumber: 431,
493
+ lineNumber: 445,
486
494
  columnNumber: 25
487
495
  }
488
496
  }, /*#__PURE__*/_react.default.createElement(MicrophoneIcon, {
489
497
  __self: this,
490
498
  __source: {
491
499
  fileName: _jsxFileName,
492
- lineNumber: 438,
500
+ lineNumber: 452,
493
501
  columnNumber: 27
494
502
  }
495
503
  })), /*#__PURE__*/_react.default.createElement("button", {
@@ -502,7 +510,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
502
510
  __self: this,
503
511
  __source: {
504
512
  fileName: _jsxFileName,
505
- lineNumber: 441,
513
+ lineNumber: 455,
506
514
  columnNumber: 23
507
515
  }
508
516
  }, submitLabel ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
@@ -510,7 +518,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
510
518
  __self: this,
511
519
  __source: {
512
520
  fileName: _jsxFileName,
513
- lineNumber: 455,
521
+ lineNumber: 469,
514
522
  columnNumber: 29
515
523
  }
516
524
  }, submitLabel), /*#__PURE__*/_react.default.createElement(ArrowRightIcon, {
@@ -519,7 +527,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
519
527
  __self: this,
520
528
  __source: {
521
529
  fileName: _jsxFileName,
522
- lineNumber: 458,
530
+ lineNumber: 472,
523
531
  columnNumber: 29
524
532
  }
525
533
  })) : /*#__PURE__*/_react.default.createElement(PromptSendIcon, {
@@ -528,7 +536,7 @@ const SearchSection = exports.SearchSection = /*#__PURE__*/(0, _react.forwardRef
528
536
  __self: this,
529
537
  __source: {
530
538
  fileName: _jsxFileName,
531
- lineNumber: 464,
539
+ lineNumber: 478,
532
540
  columnNumber: 27
533
541
  }
534
542
  })))))), chipsMarkup)))));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_utils","_linkTypes","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ArrowDownIcon","createElement","xmlns","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","__self","__source","fileName","lineNumber","columnNumber","d","MicrophoneIcon","props","_extends2","ArrowRightIcon","PromptSendIcon","SearchSection","exports","forwardRef","onSubmit","placeholder","submitLabel","collapsedLabel","onCollapsedChange","chips","chipDisplayMode","chipPosition","onVoiceInput","progressMessage","className","contextBanner","hasContext","canSubmitEmpty","hasContent","isBottomZoneVisible","onChipClick","onFocusChange","ref","inputValue","setInputValue","useState","isFocused","setIsFocused","hasFocusInside","setHasFocusInside","isMultiline","setIsMultiline","isCollapsed","setIsCollapsed","inputRef","useRef","hasExpandedWhileZoneVisibleRef","previouslyFocusedElementRef","showChips","length","effectiveCollapsedLabel","replace","handleSubmit","useCallback","trimmedValue","trim","useLayoutEffect","element","current","computedStyles","window","getComputedStyle","lineHeight","Number","parseFloat","hasValue","style","nextHeight","Math","min","max","scrollHeight","useEffect","hasFocusInsideRef","onFocusChangeRef","focusInput","active","document","activeElement","HTMLElement","body","requestAnimationFrame","_inputRef$current","focus","_inputRef$current2","blurInput","_inputRef$current3","blur","useImperativeHandle","handleKeyDown","key","_inputRef$current4","preventDefault","prev","shiftKey","handleInputChange","target","value","handleInputFocus","relatedTarget","handleContentFocus","handleContentBlur","next","currentTarget","contains","cn","role","canSubmit","chipsMarkup","map","chip","label","href","isWeb5Url","onMouseDown","onClick","_inputRef$current5","tabIndex","handleExpandClick","type","onFocus","onBlur","rows","onChange","onKeyDown","undefined","disabled","Fragment"],"sources":["../../../../src/components/ui/SearchSection.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n useRef,\n useCallback,\n useLayoutEffect,\n} from 'react';\nimport { cn } from '../../lib/utils';\nimport { isWeb5Url } from '../../types/link-types';\n\nexport interface ScrollChip {\n label: string;\n href: string;\n iconHint?: string;\n}\n\nexport interface SearchSectionProps {\n onSubmit?: (value: string) => void;\n placeholder?: string;\n /**\n * When set, the submit control renders as a labeled CTA button (text +\n * right arrow) instead of the icon-only send button. Used by the empty\n * state (e.g. \"Find Your Pair\").\n */\n submitLabel?: string;\n collapsedLabel?: string;\n onCollapsedChange?: (isCollapsed: boolean) => void;\n chips?: ScrollChip[];\n chipDisplayMode?: 'focus' | 'always';\n chipPosition?: 'top' | 'bottom';\n onVoiceInput?: () => void;\n progressMessage?: string;\n className?: string;\n contextBanner?: React.ReactNode;\n hasContext?: boolean;\n canSubmitEmpty?: boolean;\n hasContent?: boolean;\n isBottomZoneVisible?: boolean;\n onChipClick?: (e: React.MouseEvent<HTMLAnchorElement>, href: string) => void;\n onFocusChange?: (focused: boolean) => void;\n}\n\nexport interface SearchSectionHandle {\n focusInput: () => void;\n blurInput: () => void;\n}\n\nconst ArrowDownIcon: React.FC = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 5v14\" />\n <path d=\"m19 12-7 7-7-7\" />\n </svg>\n);\n\nconst MicrophoneIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"none\"\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\" />\n <path\n d=\"M19 10v2a7 7 0 0 1-14 0v-2M12 19v3\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n fill=\"none\"\n />\n </svg>\n);\n\nconst ArrowRightIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M5 12h14\" />\n <path d=\"m12 5 7 7-7 7\" />\n </svg>\n);\n\nconst PromptSendIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n {...props}\n >\n <path\n d=\"M13.0306 7.53114C12.9609 7.60106 12.8781 7.65654 12.787 7.69439C12.6958 7.73224 12.5981 7.75173 12.4993 7.75173C12.4006 7.75173 12.3029 7.73224 12.2117 7.69439C12.1206 7.65654 12.0378 7.60106 11.9681 7.53114L8.74997 4.31301V13.5005C8.74997 13.6994 8.67095 13.8902 8.5303 14.0308C8.38965 14.1715 8.19888 14.2505 7.99997 14.2505C7.80106 14.2505 7.61029 14.1715 7.46964 14.0308C7.32899 13.8902 7.24997 13.6994 7.24997 13.5005V4.31301L4.0306 7.53114C3.8897 7.67203 3.69861 7.75119 3.49935 7.75119C3.30009 7.75119 3.10899 7.67203 2.9681 7.53114C2.8272 7.39024 2.74805 7.19915 2.74805 6.99989C2.74805 6.80063 2.8272 6.60953 2.9681 6.46864L7.4681 1.96864C7.53778 1.89872 7.62057 1.84324 7.71173 1.80539C7.8029 1.76753 7.90064 1.74805 7.99935 1.74805C8.09806 1.74805 8.1958 1.76753 8.28696 1.80539C8.37813 1.84324 8.46092 1.89872 8.5306 1.96864L13.0306 6.46864C13.1005 6.53832 13.156 6.62111 13.1938 6.71227C13.2317 6.80344 13.2512 6.90118 13.2512 6.99989C13.2512 7.0986 13.2317 7.19634 13.1938 7.2875C13.156 7.37867 13.1005 7.46146 13.0306 7.53114Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const SearchSection = forwardRef<\n SearchSectionHandle,\n SearchSectionProps\n>(function SearchSection(\n {\n onSubmit,\n placeholder = 'Talk to us',\n submitLabel,\n collapsedLabel,\n onCollapsedChange,\n chips = [],\n chipDisplayMode = 'focus',\n chipPosition = 'top',\n onVoiceInput,\n progressMessage,\n className = '',\n contextBanner,\n hasContext,\n canSubmitEmpty = false,\n hasContent = false,\n isBottomZoneVisible = false,\n onChipClick,\n onFocusChange,\n },\n ref,\n) {\n const [inputValue, setInputValue] = useState('');\n const [isFocused, setIsFocused] = useState(false);\n const [hasFocusInside, setHasFocusInside] = useState(false);\n const [isMultiline, setIsMultiline] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n const inputRef = useRef<HTMLTextAreaElement>(null);\n const hasExpandedWhileZoneVisibleRef = useRef(false);\n const previouslyFocusedElementRef = useRef<HTMLElement | null>(null);\n const showChips =\n chips.length > 0 &&\n !hasContext &&\n (chipDisplayMode === 'always' || hasFocusInside);\n const effectiveCollapsedLabel =\n collapsedLabel ?? placeholder.replace(/\\.\\.\\.$/, '');\n\n const handleSubmit = useCallback(() => {\n const trimmedValue = inputValue.trim();\n if (trimmedValue || canSubmitEmpty) {\n onSubmit?.(trimmedValue);\n setInputValue('');\n }\n }, [canSubmitEmpty, inputValue, onSubmit]);\n\n useLayoutEffect(() => {\n const element = inputRef.current;\n if (!element) {\n return;\n }\n\n const computedStyles = window.getComputedStyle(element);\n const lineHeight = Number.parseFloat(computedStyles.lineHeight) || 32;\n\n const hasValue = inputValue.trim().length > 0;\n element.style.height = 'auto';\n const nextHeight = hasValue\n ? Math.min(Math.max(element.scrollHeight, lineHeight), 175)\n : lineHeight;\n element.style.height = `${nextHeight}px`;\n setIsMultiline(hasValue && nextHeight > lineHeight);\n }, [inputValue]);\n\n useEffect(() => {\n if (progressMessage || !hasContent) {\n setIsCollapsed(false);\n hasExpandedWhileZoneVisibleRef.current = false;\n return;\n }\n\n if (!isBottomZoneVisible) {\n hasExpandedWhileZoneVisibleRef.current = false;\n setIsCollapsed(false);\n return;\n }\n\n if (!hasExpandedWhileZoneVisibleRef.current) {\n setIsCollapsed(true);\n }\n }, [hasContent, isBottomZoneVisible, progressMessage]);\n\n useEffect(() => {\n onCollapsedChange?.(isCollapsed);\n }, [isCollapsed, onCollapsedChange]);\n\n const hasFocusInsideRef = useRef(hasFocusInside);\n hasFocusInsideRef.current = hasFocusInside;\n const onFocusChangeRef = useRef(onFocusChange);\n onFocusChangeRef.current = onFocusChange;\n\n useEffect(() => {\n onFocusChange?.(hasFocusInside);\n }, [hasFocusInside, onFocusChange]);\n\n useEffect(() => {\n return () => {\n if (hasFocusInsideRef.current) {\n onFocusChangeRef.current?.(false);\n }\n };\n }, []);\n\n const focusInput = useCallback(() => {\n const active = document.activeElement;\n if (\n active instanceof HTMLElement &&\n active !== inputRef.current &&\n active !== document.body\n ) {\n previouslyFocusedElementRef.current = active;\n }\n if (isCollapsed) {\n hasExpandedWhileZoneVisibleRef.current = true;\n setIsCollapsed(false);\n window.requestAnimationFrame(() => {\n inputRef.current?.focus();\n });\n } else {\n inputRef.current?.focus();\n }\n }, [isCollapsed]);\n\n const blurInput = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focusInput, blurInput }), [\n focusInput,\n blurInput,\n ]);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n const prev = previouslyFocusedElementRef.current;\n previouslyFocusedElementRef.current = null;\n inputRef.current?.blur();\n prev?.focus?.();\n return;\n }\n if (\n e.key === 'Enter' &&\n !e.shiftKey &&\n (inputValue.trim() || canSubmitEmpty)\n ) {\n e.preventDefault();\n handleSubmit();\n }\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setInputValue(e.target.value);\n };\n\n const handleInputFocus = (e: React.FocusEvent<HTMLTextAreaElement>) => {\n setIsFocused(true);\n if (\n e.relatedTarget instanceof HTMLElement &&\n e.relatedTarget !== inputRef.current\n ) {\n previouslyFocusedElementRef.current = e.relatedTarget;\n }\n };\n\n const handleContentFocus = () => {\n setHasFocusInside(true);\n };\n\n const handleContentBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n const next = e.relatedTarget as Node | null;\n if (!next || !e.currentTarget.contains(next)) {\n setHasFocusInside(false);\n }\n };\n\n if (progressMessage) {\n return (\n <div\n className={cn('web5-prompt-progress', className)}\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n <div className=\"web5-prompt-progress__indicator\" aria-hidden=\"true\">\n <ArrowDownIcon />\n </div>\n <div className=\"web5-prompt-progress__message\">{progressMessage}</div>\n </div>\n );\n }\n\n const canSubmit = inputValue.trim().length > 0 || canSubmitEmpty;\n const chipsMarkup =\n chips.length > 0 ? (\n <div\n className={cn(\n 'web5-prompt-shell__chips',\n chipPosition === 'bottom'\n ? 'web5-prompt-shell__chips--bottom'\n : 'web5-prompt-shell__chips--top',\n showChips\n ? 'web5-prompt-shell__chips--visible'\n : 'web5-prompt-shell__chips--hidden',\n )}\n aria-hidden={isCollapsed || !showChips}\n >\n {chips.map((chip) => (\n <a\n key={chip.label}\n href={isWeb5Url(chip.href) ? '#' : chip.href}\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e) => {\n e.preventDefault();\n onChipClick?.(e, chip.href);\n setInputValue('');\n inputRef.current?.blur();\n }}\n tabIndex={!isCollapsed && showChips ? 0 : -1}\n // `has-custom-focus` opts out of Wix Thunderbolt's global keyboard focus ring\n // so our inset :focus-visible ring isn't overwritten when embedded in a Wix site.\n className=\"web5-prompt-chip has-custom-focus\"\n >\n {chip.label}\n <PromptSendIcon\n aria-hidden=\"true\"\n className=\"web5-prompt-send-icon\"\n />\n </a>\n ))}\n </div>\n ) : null;\n\n const handleExpandClick = () => {\n focusInput();\n };\n\n\n return (\n <div\n className={cn(\n 'web5-prompt-shell',\n isCollapsed && 'web5-prompt-shell--collapsed',\n // Widens the pill while the field or a chip holds focus. Driven by\n // `hasFocusInside` rather than `isFocused` so clicking a chip (which\n // preventDefaults its mousedown) doesn't collapse the width mid-click.\n hasFocusInside && !isCollapsed && 'web5-prompt-shell--focused',\n className,\n )}\n >\n <div className=\"web5-prompt-shell__stage\">\n <button\n type=\"button\"\n className=\"web5-prompt-shell__collapsed-button has-custom-focus\"\n onClick={handleExpandClick}\n aria-label={effectiveCollapsedLabel}\n aria-hidden={!isCollapsed}\n tabIndex={isCollapsed ? 0 : -1}\n >\n {effectiveCollapsedLabel}\n </button>\n\n <div\n className=\"web5-prompt-shell__content\"\n aria-hidden={isCollapsed}\n onFocus={handleContentFocus}\n onBlur={handleContentBlur}\n >\n {contextBanner}\n <div className=\"web5-prompt-shell__panel\">\n <div\n className={cn(\n 'web5-prompt-shell__stack',\n chipPosition === 'top' && 'web5-prompt-shell__stack--chips-top',\n )}\n >\n <div className=\"web5-prompt-search\" role=\"search\">\n <div className=\"web5-prompt-search__inner\">\n <div\n className={cn(\n 'web5-prompt-field',\n isFocused && 'web5-prompt-field--focused',\n isMultiline && 'web5-prompt-field--multiline',\n )}\n >\n <textarea\n ref={inputRef}\n rows={1}\n value={inputValue}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n onFocus={handleInputFocus}\n onBlur={() => setIsFocused(false)}\n placeholder={placeholder}\n aria-label=\"Search or ask a question\"\n aria-keyshortcuts=\"/ Control+K\"\n className=\"web5-prompt-input has-custom-focus placeholder:text-search-input-hint\"\n tabIndex={isCollapsed ? -1 : undefined}\n />\n\n <div className=\"web5-prompt-actions\">\n {onVoiceInput && (\n <button\n type=\"button\"\n onClick={onVoiceInput}\n className=\"web5-prompt-voice\"\n aria-label=\"Voice input\"\n tabIndex={isCollapsed ? -1 : undefined}\n >\n <MicrophoneIcon />\n </button>\n )}\n <button\n type=\"button\"\n onClick={handleSubmit}\n className={cn(\n 'web5-prompt-submit',\n submitLabel && 'web5-prompt-submit--labeled',\n canSubmit && 'web5-prompt-submit--active',\n )}\n aria-label={submitLabel ?? 'Submit'}\n disabled={!canSubmit || isCollapsed}\n tabIndex={isCollapsed ? -1 : undefined}\n >\n {submitLabel ? (\n <>\n <span className=\"web5-prompt-submit__label\">\n {submitLabel}\n </span>\n <ArrowRightIcon\n aria-hidden=\"true\"\n className=\"web5-prompt-send-icon\"\n />\n </>\n ) : (\n <PromptSendIcon\n aria-hidden=\"true\"\n className=\"web5-prompt-send-icon\"\n />\n )}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {chipsMarkup}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_utils","_assistant","_linkTypes","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","UNBRANDED_PLACEHOLDER","resolveAssistantPlaceholder","DEFAULT_PROMPT_PLACEHOLDER","ArrowDownIcon","createElement","xmlns","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","__self","__source","fileName","lineNumber","columnNumber","d","MicrophoneIcon","props","_extends2","ArrowRightIcon","PromptSendIcon","SearchSection","exports","forwardRef","onSubmit","placeholder","submitLabel","collapsedLabel","onCollapsedChange","chips","chipDisplayMode","chipPosition","onVoiceInput","progressMessage","className","contextBanner","hasContext","canSubmitEmpty","hasContent","isBottomZoneVisible","onChipClick","onFocusChange","ref","inputValue","setInputValue","useState","isFocused","setIsFocused","hasFocusInside","setHasFocusInside","isMultiline","setIsMultiline","isCollapsed","setIsCollapsed","inputRef","useRef","hasExpandedWhileZoneVisibleRef","previouslyFocusedElementRef","showChips","length","effectiveCollapsedLabel","replace","handleSubmit","useCallback","trimmedValue","trim","useLayoutEffect","element","current","computedStyles","window","getComputedStyle","lineHeight","Number","parseFloat","hasValue","style","nextHeight","Math","min","max","scrollHeight","useEffect","hasFocusInsideRef","onFocusChangeRef","focusInput","active","document","activeElement","HTMLElement","body","requestAnimationFrame","_inputRef$current","focus","_inputRef$current2","blurInput","_inputRef$current3","blur","useImperativeHandle","handleKeyDown","key","_inputRef$current4","preventDefault","prev","shiftKey","handleInputChange","target","value","handleInputFocus","relatedTarget","handleContentFocus","handleContentBlur","next","currentTarget","contains","cn","role","canSubmit","chipsMarkup","map","chip","label","href","isWeb5Url","onMouseDown","onClick","_inputRef$current5","tabIndex","handleExpandClick","type","onFocus","onBlur","rows","onChange","onKeyDown","undefined","disabled","Fragment"],"sources":["../../../../src/components/ui/SearchSection.tsx"],"sourcesContent":["import React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n useRef,\n useCallback,\n useLayoutEffect,\n} from 'react';\nimport { cn } from '../../lib/utils';\nimport {\n DEFAULT_PROMPT_PLACEHOLDER,\n resolveAssistantPlaceholder,\n} from '../../lib/assistant';\nimport { isWeb5Url } from '../../types/link-types';\n\n/**\n * Fallback for a bare `<SearchSection />` — the product default with no store\n * name to resolve against, so \"Ask AI...\". Hosts that know the store (the\n * full-page app, the embed widget) resolve the token themselves and pass the\n * branded string in; this only covers the component used on its own.\n */\nconst UNBRANDED_PLACEHOLDER = resolveAssistantPlaceholder(\n DEFAULT_PROMPT_PLACEHOLDER,\n);\n\nexport interface ScrollChip {\n label: string;\n href: string;\n iconHint?: string;\n}\n\nexport interface SearchSectionProps {\n onSubmit?: (value: string) => void;\n placeholder?: string;\n /**\n * When set, the submit control renders as a labeled CTA button (text +\n * right arrow) instead of the icon-only send button. Used by the empty\n * state (e.g. \"Find Your Pair\").\n */\n submitLabel?: string;\n collapsedLabel?: string;\n onCollapsedChange?: (isCollapsed: boolean) => void;\n chips?: ScrollChip[];\n chipDisplayMode?: 'focus' | 'always';\n chipPosition?: 'top' | 'bottom';\n onVoiceInput?: () => void;\n progressMessage?: string;\n className?: string;\n contextBanner?: React.ReactNode;\n hasContext?: boolean;\n canSubmitEmpty?: boolean;\n hasContent?: boolean;\n isBottomZoneVisible?: boolean;\n onChipClick?: (e: React.MouseEvent<HTMLAnchorElement>, href: string) => void;\n onFocusChange?: (focused: boolean) => void;\n}\n\nexport interface SearchSectionHandle {\n focusInput: () => void;\n blurInput: () => void;\n}\n\nconst ArrowDownIcon: React.FC = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M12 5v14\" />\n <path d=\"m19 12-7 7-7-7\" />\n </svg>\n);\n\nconst MicrophoneIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"currentColor\"\n stroke=\"none\"\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M12 2a3 3 0 0 0-3 3v7a3 3 0 0 0 6 0V5a3 3 0 0 0-3-3Z\" />\n <path\n d=\"M19 10v2a7 7 0 0 1-14 0v-2M12 19v3\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n fill=\"none\"\n />\n </svg>\n);\n\nconst ArrowRightIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n {...props}\n >\n <path d=\"M5 12h14\" />\n <path d=\"m12 5 7 7-7 7\" />\n </svg>\n);\n\nconst PromptSendIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n aria-hidden=\"true\"\n {...props}\n >\n <path\n d=\"M13.0306 7.53114C12.9609 7.60106 12.8781 7.65654 12.787 7.69439C12.6958 7.73224 12.5981 7.75173 12.4993 7.75173C12.4006 7.75173 12.3029 7.73224 12.2117 7.69439C12.1206 7.65654 12.0378 7.60106 11.9681 7.53114L8.74997 4.31301V13.5005C8.74997 13.6994 8.67095 13.8902 8.5303 14.0308C8.38965 14.1715 8.19888 14.2505 7.99997 14.2505C7.80106 14.2505 7.61029 14.1715 7.46964 14.0308C7.32899 13.8902 7.24997 13.6994 7.24997 13.5005V4.31301L4.0306 7.53114C3.8897 7.67203 3.69861 7.75119 3.49935 7.75119C3.30009 7.75119 3.10899 7.67203 2.9681 7.53114C2.8272 7.39024 2.74805 7.19915 2.74805 6.99989C2.74805 6.80063 2.8272 6.60953 2.9681 6.46864L7.4681 1.96864C7.53778 1.89872 7.62057 1.84324 7.71173 1.80539C7.8029 1.76753 7.90064 1.74805 7.99935 1.74805C8.09806 1.74805 8.1958 1.76753 8.28696 1.80539C8.37813 1.84324 8.46092 1.89872 8.5306 1.96864L13.0306 6.46864C13.1005 6.53832 13.156 6.62111 13.1938 6.71227C13.2317 6.80344 13.2512 6.90118 13.2512 6.99989C13.2512 7.0986 13.2317 7.19634 13.1938 7.2875C13.156 7.37867 13.1005 7.46146 13.0306 7.53114Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\nexport const SearchSection = forwardRef<\n SearchSectionHandle,\n SearchSectionProps\n>(function SearchSection(\n {\n onSubmit,\n placeholder = UNBRANDED_PLACEHOLDER,\n submitLabel,\n collapsedLabel,\n onCollapsedChange,\n chips = [],\n chipDisplayMode = 'focus',\n chipPosition = 'top',\n onVoiceInput,\n progressMessage,\n className = '',\n contextBanner,\n hasContext,\n canSubmitEmpty = false,\n hasContent = false,\n isBottomZoneVisible = false,\n onChipClick,\n onFocusChange,\n },\n ref,\n) {\n const [inputValue, setInputValue] = useState('');\n const [isFocused, setIsFocused] = useState(false);\n const [hasFocusInside, setHasFocusInside] = useState(false);\n const [isMultiline, setIsMultiline] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n const inputRef = useRef<HTMLTextAreaElement>(null);\n const hasExpandedWhileZoneVisibleRef = useRef(false);\n const previouslyFocusedElementRef = useRef<HTMLElement | null>(null);\n const showChips =\n chips.length > 0 &&\n !hasContext &&\n (chipDisplayMode === 'always' || hasFocusInside);\n const effectiveCollapsedLabel =\n collapsedLabel ?? placeholder.replace(/\\.\\.\\.$/, '');\n\n const handleSubmit = useCallback(() => {\n const trimmedValue = inputValue.trim();\n if (trimmedValue || canSubmitEmpty) {\n onSubmit?.(trimmedValue);\n setInputValue('');\n }\n }, [canSubmitEmpty, inputValue, onSubmit]);\n\n useLayoutEffect(() => {\n const element = inputRef.current;\n if (!element) {\n return;\n }\n\n const computedStyles = window.getComputedStyle(element);\n const lineHeight = Number.parseFloat(computedStyles.lineHeight) || 32;\n\n const hasValue = inputValue.trim().length > 0;\n element.style.height = 'auto';\n const nextHeight = hasValue\n ? Math.min(Math.max(element.scrollHeight, lineHeight), 175)\n : lineHeight;\n element.style.height = `${nextHeight}px`;\n setIsMultiline(hasValue && nextHeight > lineHeight);\n }, [inputValue]);\n\n useEffect(() => {\n if (progressMessage || !hasContent) {\n setIsCollapsed(false);\n hasExpandedWhileZoneVisibleRef.current = false;\n return;\n }\n\n if (!isBottomZoneVisible) {\n hasExpandedWhileZoneVisibleRef.current = false;\n setIsCollapsed(false);\n return;\n }\n\n if (!hasExpandedWhileZoneVisibleRef.current) {\n setIsCollapsed(true);\n }\n }, [hasContent, isBottomZoneVisible, progressMessage]);\n\n useEffect(() => {\n onCollapsedChange?.(isCollapsed);\n }, [isCollapsed, onCollapsedChange]);\n\n const hasFocusInsideRef = useRef(hasFocusInside);\n hasFocusInsideRef.current = hasFocusInside;\n const onFocusChangeRef = useRef(onFocusChange);\n onFocusChangeRef.current = onFocusChange;\n\n useEffect(() => {\n onFocusChange?.(hasFocusInside);\n }, [hasFocusInside, onFocusChange]);\n\n useEffect(() => {\n return () => {\n if (hasFocusInsideRef.current) {\n onFocusChangeRef.current?.(false);\n }\n };\n }, []);\n\n const focusInput = useCallback(() => {\n const active = document.activeElement;\n if (\n active instanceof HTMLElement &&\n active !== inputRef.current &&\n active !== document.body\n ) {\n previouslyFocusedElementRef.current = active;\n }\n if (isCollapsed) {\n hasExpandedWhileZoneVisibleRef.current = true;\n setIsCollapsed(false);\n window.requestAnimationFrame(() => {\n inputRef.current?.focus();\n });\n } else {\n inputRef.current?.focus();\n }\n }, [isCollapsed]);\n\n const blurInput = useCallback(() => {\n inputRef.current?.blur();\n }, []);\n\n useImperativeHandle(ref, () => ({ focusInput, blurInput }), [\n focusInput,\n blurInput,\n ]);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n const prev = previouslyFocusedElementRef.current;\n previouslyFocusedElementRef.current = null;\n inputRef.current?.blur();\n prev?.focus?.();\n return;\n }\n if (\n e.key === 'Enter' &&\n !e.shiftKey &&\n (inputValue.trim() || canSubmitEmpty)\n ) {\n e.preventDefault();\n handleSubmit();\n }\n };\n\n const handleInputChange = (e: React.ChangeEvent<HTMLTextAreaElement>) => {\n setInputValue(e.target.value);\n };\n\n const handleInputFocus = (e: React.FocusEvent<HTMLTextAreaElement>) => {\n setIsFocused(true);\n if (\n e.relatedTarget instanceof HTMLElement &&\n e.relatedTarget !== inputRef.current\n ) {\n previouslyFocusedElementRef.current = e.relatedTarget;\n }\n };\n\n const handleContentFocus = () => {\n setHasFocusInside(true);\n };\n\n const handleContentBlur = (e: React.FocusEvent<HTMLDivElement>) => {\n const next = e.relatedTarget as Node | null;\n if (!next || !e.currentTarget.contains(next)) {\n setHasFocusInside(false);\n }\n };\n\n if (progressMessage) {\n return (\n <div\n className={cn('web5-prompt-progress', className)}\n role=\"status\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n <div className=\"web5-prompt-progress__indicator\" aria-hidden=\"true\">\n <ArrowDownIcon />\n </div>\n <div className=\"web5-prompt-progress__message\">{progressMessage}</div>\n </div>\n );\n }\n\n const canSubmit = inputValue.trim().length > 0 || canSubmitEmpty;\n const chipsMarkup =\n chips.length > 0 ? (\n <div\n className={cn(\n 'web5-prompt-shell__chips',\n chipPosition === 'bottom'\n ? 'web5-prompt-shell__chips--bottom'\n : 'web5-prompt-shell__chips--top',\n showChips\n ? 'web5-prompt-shell__chips--visible'\n : 'web5-prompt-shell__chips--hidden',\n )}\n aria-hidden={isCollapsed || !showChips}\n >\n {chips.map((chip) => (\n <a\n key={chip.label}\n href={isWeb5Url(chip.href) ? '#' : chip.href}\n onMouseDown={(e) => e.preventDefault()}\n onClick={(e) => {\n e.preventDefault();\n onChipClick?.(e, chip.href);\n setInputValue('');\n inputRef.current?.blur();\n }}\n tabIndex={!isCollapsed && showChips ? 0 : -1}\n // `has-custom-focus` opts out of Wix Thunderbolt's global keyboard focus ring\n // so our inset :focus-visible ring isn't overwritten when embedded in a Wix site.\n className=\"web5-prompt-chip has-custom-focus\"\n >\n {chip.label}\n <PromptSendIcon\n aria-hidden=\"true\"\n className=\"web5-prompt-send-icon\"\n />\n </a>\n ))}\n </div>\n ) : null;\n\n const handleExpandClick = () => {\n focusInput();\n };\n\n\n return (\n <div\n className={cn(\n 'web5-prompt-shell',\n isCollapsed && 'web5-prompt-shell--collapsed',\n // Widens the pill while the field or a chip holds focus. Driven by\n // `hasFocusInside` rather than `isFocused` so clicking a chip (which\n // preventDefaults its mousedown) doesn't collapse the width mid-click.\n hasFocusInside && !isCollapsed && 'web5-prompt-shell--focused',\n className,\n )}\n >\n <div className=\"web5-prompt-shell__stage\">\n <button\n type=\"button\"\n className=\"web5-prompt-shell__collapsed-button has-custom-focus\"\n onClick={handleExpandClick}\n aria-label={effectiveCollapsedLabel}\n aria-hidden={!isCollapsed}\n tabIndex={isCollapsed ? 0 : -1}\n >\n {effectiveCollapsedLabel}\n </button>\n\n <div\n className=\"web5-prompt-shell__content\"\n aria-hidden={isCollapsed}\n onFocus={handleContentFocus}\n onBlur={handleContentBlur}\n >\n {contextBanner}\n <div className=\"web5-prompt-shell__panel\">\n <div\n className={cn(\n 'web5-prompt-shell__stack',\n chipPosition === 'top' && 'web5-prompt-shell__stack--chips-top',\n )}\n >\n <div className=\"web5-prompt-search\" role=\"search\">\n <div className=\"web5-prompt-search__inner\">\n <div\n className={cn(\n 'web5-prompt-field',\n isFocused && 'web5-prompt-field--focused',\n isMultiline && 'web5-prompt-field--multiline',\n )}\n >\n <textarea\n ref={inputRef}\n rows={1}\n value={inputValue}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n onFocus={handleInputFocus}\n onBlur={() => setIsFocused(false)}\n placeholder={placeholder}\n aria-label=\"Search or ask a question\"\n aria-keyshortcuts=\"/ Control+K\"\n className=\"web5-prompt-input has-custom-focus placeholder:text-search-input-hint\"\n tabIndex={isCollapsed ? -1 : undefined}\n />\n\n <div className=\"web5-prompt-actions\">\n {onVoiceInput && (\n <button\n type=\"button\"\n onClick={onVoiceInput}\n className=\"web5-prompt-voice\"\n aria-label=\"Voice input\"\n tabIndex={isCollapsed ? -1 : undefined}\n >\n <MicrophoneIcon />\n </button>\n )}\n <button\n type=\"button\"\n onClick={handleSubmit}\n className={cn(\n 'web5-prompt-submit',\n submitLabel && 'web5-prompt-submit--labeled',\n canSubmit && 'web5-prompt-submit--active',\n )}\n aria-label={submitLabel ?? 'Submit'}\n disabled={!canSubmit || isCollapsed}\n tabIndex={isCollapsed ? -1 : undefined}\n >\n {submitLabel ? (\n <>\n <span className=\"web5-prompt-submit__label\">\n {submitLabel}\n </span>\n <ArrowRightIcon\n aria-hidden=\"true\"\n className=\"web5-prompt-send-icon\"\n />\n </>\n ) : (\n <PromptSendIcon\n aria-hidden=\"true\"\n className=\"web5-prompt-send-icon\"\n />\n )}\n </button>\n </div>\n </div>\n </div>\n </div>\n\n {chipsMarkup}\n </div>\n </div>\n </div>\n </div>\n </div>\n );\n});\n"],"mappings":"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","ignoreList":[]}
package/dist/cjs/index.js CHANGED
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.WEB5_ANSWER_UPDATED_EVENT = exports.WEB5_ANSWER_SETTLED_EVENT = exports.UserQueryProvider = exports.UserQuery = exports.UnifiedMarkdownParser = exports.UnifiedLink = exports.UNKNOWN_CONSENT = exports.TextBlockSectionDefinition = exports.TableRow = exports.TableHeader = exports.TableHead = exports.TableFooter = exports.TableCell = exports.TableCaption = exports.TableBody = exports.Table = exports.TOKEN_NAME_PATTERN = exports.THEME_TOKEN_CONTRACT = exports.THEME_OVERRIDE_TOKENS = exports.THEME_DEBUG_QUERY_PARAM = exports.THEME_DEBUG_KEY = exports.TEMPLATES_MANIFEST_URL = exports.TEMPLATES_CDN_BASE = exports.SmartIcon = exports.SkipNodesSectionDefinition = exports.ShopifyStorefrontClient = exports.SectionsRuntimeProvider = exports.SectionSkeleton = exports.SectionRuntimeProvider = exports.SearchSectionDefinition = exports.SearchSection = exports.STREAMING_TIMEOUT_MS = exports.REFRESH_PROMPTS_WINDOW_MS = exports.REFRESH_PROMPTS_UNTIL_KEY = exports.PromptEntryEmptyState = exports.PoweredByBadge = exports.PlacementSmoothHeight = exports.PlacementResponseRenderer = exports.PlacementPayloadProvider = exports.PlacementLoader = exports.PRODUCT_BY_HANDLE_QUERY = exports.PRODUCT_BACK_SESSION_KEY = exports.PLATFORM_ENTITY_TYPES = exports.OptimizedImage = exports.NextStepsSectionDefinition = exports.MetricsSectionDefinition = exports.MarkdownText = exports.MATCH_DEBUG_QUERY_PARAM = exports.MATCH_DEBUG_KEY = exports.Loader = exports.ListItemsSectionDefinition = exports.LinkType = exports.LIST_ITEMS_ENDPOINT = exports.KpiSectionDefinition = exports.ImageSlotProvider = exports.ImageSearchFilterToken = exports.HtmlCommentSectionDefinition = exports.HeroSectionDefinition = exports.HeroEntitySectionDefinition = exports.HOST_CONSENT_GLOBAL = exports.FeedbackBar = exports.FeatureToggleProvider = exports.FeatureSection9PlusDefinition = exports.FeatureCardsSectionDefinition = exports.FallbackSectionDefinition = exports.ErrorSectionDefinition = exports.EntitySectionDefinition = exports.EntityCollectionSectionDefinition = exports.EXPERIMENT_IDS = exports.ERROR_MARKDOWN = exports.EDITABLE_TOKENS = exports.DiagnosticsCollector = exports.DROP_SECTION = exports.DIAGNOSTIC_TYPES = exports.DEFAULT_POWERED_BY_HREF = exports.DEFAULT_ERROR_TEMPLATES = exports.DEFAULT_BACKEND_ENVIRONMENT = exports.DEFAULT_AI_DISCLOSURE_TEXT = exports.CtaBannerSectionDefinition = exports.ComponentTracking = exports.ComponentRegistry = exports.ComponentDependenciesProvider = exports.ComparisonSectionDefinition = exports.ChipsProvider = exports.CalloutSectionDefinition = exports.CalloutBlock = exports.CONSENT_OVERRIDE_QUERY_PARAM = exports.CONSENT_OVERRIDE_KEY = exports.COLLECTION_BY_HANDLE_QUERY = exports.CLIENT_IDS = exports.CALLOUT_SEMANTICS = exports.CALLOUT_KINDS = exports.BottomContainer = exports.BRAND_TOKENS = exports.BACKEND_ENVIRONMENT_QUERY_PARAM = exports.BACKEND_ENVIRONMENT_KEY = exports.AiIcon = exports.AiDisclosure = exports.ASSISTANT_TOKEN = exports.ARTICLE_BY_HANDLE_QUERY = void 0;
5
- exports.isHtmlComment = exports.isHslTriplet = exports.isEntityLink = exports.isDocumentFamilyEntityType = exports.installConsentProvider = exports.initConsentGate = exports.hslTripletToHex = exports.hslToRgb = exports.hostAliasFor = exports.hexToHslTriplet = exports.hasImage = exports.hasHostSuppliedConsent = exports.hasAnalyticsConsent = exports.getTemplateOverride = exports.getSessionId = exports.getResizedImageUrl = exports.getRefreshPromptsExpiry = exports.getPartsByType = exports.getPartByRole = exports.getOrCreateSessionId = exports.getLinks = exports.getIntentFromMarkdown = exports.getInstalledProviderName = exports.getImages = exports.getHeading = exports.getGateView = exports.getForwardStack = exports.getErrorTypeFromStatus = exports.getEntityExtractor = exports.getContextualImageFilename = exports.getConsentSnapshot = exports.getConsentOverride = exports.getConsentGateStats = exports.getClientBundleOverride = exports.getChatId = exports.getBackendEnvironment = exports.getAllByRole = exports.generateSectionId = exports.generateId = exports.formatProductPriceLabel = exports.formatPriceField = exports.formatMoney = exports.fixMalformedLinks = exports.findKeywordsInContent = exports.findInvalidWeb5Links = exports.findImageInNode = exports.findImageInChildren = exports.fetchProductsByHandlesMap = exports.fetchProductsByHandles = exports.fetchEntityListData = exports.extractProtocol = exports.extractLinkMetadata = exports.extractIntentFromMarkdown = exports.extractContentMarkdown = exports.extractContent = exports.escapeWeb5Links = exports.entityPayloadFromItems = exports.entityHref = exports.ensureMinLightness = exports.enrichEntitiesFromPayload = exports.enableRefreshPrompts = exports.disableRefreshPrompts = exports.detectLinkType = exports.detectConsentProvider = exports.deriveRole = exports.deriveLightColor = exports.deriveDarkGradient = exports.deriveDarkColor = exports.defaultExtractor = exports.decodeLinkText = exports.createWixAuthFetch = exports.createShopifyConsentProvider = exports.createSdkRegistry = exports.createPageSection = exports.createOneTrustConsentProvider = exports.createHostSuppliedConsentProvider = exports.createFeatureToggleReader = exports.createErrorMarkdown = exports.convertToBlockElementsWithMapping = exports.convertToBlockElements = exports.computeContentBBox = exports.composeSemantic = exports.cn = exports.clearForwardStack = exports.buildProbeUrl = exports.buildPlacementDependencies = exports.buildImageSearchFilter = exports.bucketOf = exports.backgroundFilter = exports.applyThemeOverrides = exports.analyzeBackdrop = exports.addToCart = exports.Web5UrlType = exports.WEB5_USER_QUERY_EVENT = exports.WEB5_SCOPES = exports.WEB5_SCOPE = exports.WEB5_ROOT_ID = exports.WEB5_ROOT_CLASS = exports.WEB5_REDIRECT_EVENT = exports.WEB5_GLOBAL_TOKENS = void 0;
6
- exports.useImageSlotCollector = exports.useImageSlot = exports.useFeatureToggles = exports.useFeatureToggle = exports.useEntityTransforms = exports.useDebugImageContext = exports.useCurrentSectionOptions = exports.useCurrentSectionId = exports.useConversation = exports.useComponentDependencies = exports.useChips = exports.unlockOnUserAction = exports.tryParseComponent = exports.trimTrailingWhitespace = exports.transmit = exports.transformToSolutionEntityData = exports.transformToGenericEntityData = exports.transformToBlogPostEntityData = exports.transformShopifyProduct = exports.transformShopifyEntityToItemData = exports.transformShopifyCollection = exports.transformShopifyArticle = exports.transformSSProductToEntityItemData = exports.toRgb = exports.toMatchedOptions = exports.toCatalogPath = exports.subscribeToConsent = exports.stripMarkdown = exports.startNewChatId = exports.shouldRefreshPrompts = exports.setMatchDebug = exports.setForwardStack = exports.setConsentOverride = exports.setConsentBufferLimit = exports.setChatId = exports.setBackendEnvironment = exports.rgbToHsl = exports.resolveShopifyEntity = exports.resolveShopifyConfig = exports.resolveErrorTemplate = exports.resolveEntityTypeConfig = exports.resolveClientBundleUrl = exports.resetMatchDebugCache = exports.resetConsentGateForTests = exports.resetChatIdForTests = exports.registerEntityExtractor = exports.readProductBackHandoff = exports.readCurrencyCode = exports.pushToForwardStack = exports.pushPromptSubmit = exports.pushLinkClick = exports.pushExit = exports.pushEvent = exports.pushError = exports.pushEntityFiltered = exports.publishHostConsent = exports.preprocessMarkdown = exports.popFromForwardStack = exports.parseWeb5Url = exports.parseMarkdownToComponents = exports.parseMarkdownToAst = exports.parseEntityLink = exports.parseAstToMarkdown = exports.normalizeImageUrl = exports.normalizeIconUrls = exports.normalizeEntityItem = exports.nodesToParts = exports.mergeSectionsWithStableReferences = exports.mergeEntityData = exports.mergeClientConfig = exports.mayTransmit = exports.mayPersistIdentity = exports.matchMarkdown = exports.matchAllSections = exports.logMatchDebug = exports.loadImagePixels = exports.loadClientBundle = exports.loadBackdropAnalysis = exports.listEntityItems = exports.isWeb5Url = exports.isWeb5SearchUrl = exports.isWeb5ImageUrl = exports.isWeb5IconUrl = exports.isWeb5EntityUrl = exports.isWeb5AskUrl = exports.isWeb5ActionUrl = exports.isValidWeb5Url = exports.isValidTemplateId = exports.isValidLinkUrl = exports.isUserEngaged = exports.isTrustedBundleHost = exports.isThemeDebugEnabled = exports.isTemplatePickerRequested = exports.isSimulationTraffic = exports.isShopifyHost = exports.isProductFamilyEntityType = exports.isOneTrustHost = exports.isNavigableUrl = exports.isMatchDebugEnabled = exports.isLegacyUrl = void 0;
7
- exports.writeProductBackHandoff = exports.validatePatternWithBlocks = exports.validatePatternSyntax = exports.validatePattern = exports.validateLinkUrl = exports.usesStagingBackend = exports.useWeb5Link = exports.useUserQuery = exports.useResolvedImageSources = exports.useResolveShopifyEntityData = exports.useResolveSearchSpringEntityData = exports.useResolveGenericEntityData = exports.usePlacementPayload = exports.useMarkdownUtils = void 0;
4
+ exports.UNKNOWN_CONSENT = exports.UNBRANDED_ASSISTANT_NAME = exports.TextBlockSectionDefinition = exports.TableRow = exports.TableHeader = exports.TableHead = exports.TableFooter = exports.TableCell = exports.TableCaption = exports.TableBody = exports.Table = exports.TOKEN_NAME_PATTERN = exports.THEME_TOKEN_CONTRACT = exports.THEME_OVERRIDE_TOKENS = exports.THEME_OVERRIDE_KEY_PATTERN = exports.THEME_DEBUG_QUERY_PARAM = exports.THEME_DEBUG_KEY = exports.TEMPLATES_MANIFEST_URL = exports.TEMPLATES_CDN_BASE = exports.SmartIcon = exports.SkipNodesSectionDefinition = exports.ShopifyStorefrontClient = exports.SectionsRuntimeProvider = exports.SectionSkeleton = exports.SectionRuntimeProvider = exports.SearchSectionDefinition = exports.SearchSection = exports.STREAMING_TIMEOUT_MS = exports.SCHEME_COLOR_TOKENS = exports.SCHEME_ANCHOR_TOKENS = exports.REFRESH_PROMPTS_WINDOW_MS = exports.REFRESH_PROMPTS_UNTIL_KEY = exports.PromptEntryEmptyState = exports.PoweredByBadge = exports.PlacementSmoothHeight = exports.PlacementResponseRenderer = exports.PlacementPayloadProvider = exports.PlacementLoader = exports.PRODUCT_BY_HANDLE_QUERY = exports.PRODUCT_BACK_SESSION_KEY = exports.PLATFORM_ENTITY_TYPES = exports.OptimizedImage = exports.NextStepsSectionDefinition = exports.MetricsSectionDefinition = exports.MarkdownText = exports.MAX_THEME_SCHEMES = exports.MATCH_DEBUG_QUERY_PARAM = exports.MATCH_DEBUG_KEY = exports.Loader = exports.ListItemsSectionDefinition = exports.LinkType = exports.LIST_ITEMS_ENDPOINT = exports.KpiSectionDefinition = exports.ImageSlotProvider = exports.ImageSearchFilterToken = exports.HtmlCommentSectionDefinition = exports.HeroSectionDefinition = exports.HeroEntitySectionDefinition = exports.HOST_CONSENT_GLOBAL = exports.FeedbackBar = exports.FeatureToggleProvider = exports.FeatureSection9PlusDefinition = exports.FeatureCardsSectionDefinition = exports.FallbackSectionDefinition = exports.ErrorSectionDefinition = exports.EntitySectionDefinition = exports.EntityCollectionSectionDefinition = exports.EXPERIMENT_IDS = exports.ERROR_MARKDOWN = exports.EDITABLE_TOKENS = exports.DiagnosticsCollector = exports.DROP_SECTION = exports.DIAGNOSTIC_TYPES = exports.DEFAULT_PROMPT_PLACEHOLDER = exports.DEFAULT_POWERED_BY_HREF = exports.DEFAULT_ERROR_TEMPLATES = exports.DEFAULT_BACKEND_ENVIRONMENT = exports.DEFAULT_AI_DISCLOSURE_TEXT = exports.CtaBannerSectionDefinition = exports.ComponentTracking = exports.ComponentRegistry = exports.ComponentDependenciesProvider = exports.ComparisonSectionDefinition = exports.ChipsProvider = exports.CalloutSectionDefinition = exports.CalloutBlock = exports.CONSENT_OVERRIDE_QUERY_PARAM = exports.CONSENT_OVERRIDE_KEY = exports.COLLECTION_BY_HANDLE_QUERY = exports.CLIENT_IDS = exports.CALLOUT_SEMANTICS = exports.CALLOUT_KINDS = exports.BottomContainer = exports.BRAND_TOKENS = exports.BACKEND_ENVIRONMENT_QUERY_PARAM = exports.BACKEND_ENVIRONMENT_KEY = exports.AiIcon = exports.AiDisclosure = exports.ASSISTANT_TOKEN = exports.ARTICLE_BY_HANDLE_QUERY = void 0;
5
+ exports.hostAliasFor = exports.hexToHslTriplet = exports.hasImage = exports.hasHostSuppliedConsent = exports.hasAnalyticsConsent = exports.getTemplateOverride = exports.getSessionId = exports.getResizedImageUrl = exports.getRefreshPromptsExpiry = exports.getPartsByType = exports.getPartByRole = exports.getOrCreateSessionId = exports.getLinks = exports.getIntentFromMarkdown = exports.getInstalledProviderName = exports.getImages = exports.getHeading = exports.getGateView = exports.getForwardStack = exports.getErrorTypeFromStatus = exports.getEntityExtractor = exports.getContextualImageFilename = exports.getConsentSnapshot = exports.getConsentOverride = exports.getConsentGateStats = exports.getClientBundleOverride = exports.getChatId = exports.getBackendEnvironment = exports.getAllByRole = exports.generateSectionId = exports.generateId = exports.formatProductPriceLabel = exports.formatPriceField = exports.formatMoney = exports.fixMalformedLinks = exports.findKeywordsInContent = exports.findInvalidWeb5Links = exports.findImageInNode = exports.findImageInChildren = exports.fetchProductsByHandlesMap = exports.fetchProductsByHandles = exports.fetchEntityListData = exports.extractProtocol = exports.extractLinkMetadata = exports.extractIntentFromMarkdown = exports.extractContentMarkdown = exports.extractContent = exports.escapeWeb5Links = exports.entityPayloadFromItems = exports.entityHref = exports.ensureMinLightness = exports.enrichEntitiesFromPayload = exports.enableRefreshPrompts = exports.disableRefreshPrompts = exports.detectLinkType = exports.detectConsentProvider = exports.deriveRole = exports.deriveLightColor = exports.deriveDarkGradient = exports.deriveDarkColor = exports.defaultExtractor = exports.decodeLinkText = exports.createWixAuthFetch = exports.createShopifyConsentProvider = exports.createSdkRegistry = exports.createPageSection = exports.createOneTrustConsentProvider = exports.createHostSuppliedConsentProvider = exports.createFeatureToggleReader = exports.createErrorMarkdown = exports.convertToBlockElementsWithMapping = exports.convertToBlockElements = exports.computeContentBBox = exports.composeSemantic = exports.completeScheme = exports.cn = exports.clearForwardStack = exports.buildProbeUrl = exports.buildPlacementDependencies = exports.buildImageSearchFilter = exports.bucketOf = exports.backgroundFilter = exports.assistantName = exports.applyThemeOverrides = exports.analyzeBackdrop = exports.addToCart = exports.Web5UrlType = exports.WEB5_USER_QUERY_EVENT = exports.WEB5_SCOPES = exports.WEB5_SCOPE = exports.WEB5_ROOT_ID = exports.WEB5_ROOT_CLASS = exports.WEB5_REDIRECT_EVENT = exports.WEB5_GLOBAL_TOKENS = exports.WEB5_ANSWER_UPDATED_EVENT = exports.WEB5_ANSWER_SETTLED_EVENT = exports.UserQueryProvider = exports.UserQuery = exports.UnifiedMarkdownParser = exports.UnifiedLink = void 0;
6
+ exports.transmit = exports.transformToSolutionEntityData = exports.transformToGenericEntityData = exports.transformToBlogPostEntityData = exports.transformShopifyProduct = exports.transformShopifyEntityToItemData = exports.transformShopifyCollection = exports.transformShopifyArticle = exports.transformSSProductToEntityItemData = exports.toRgb = exports.toMatchedOptions = exports.toCatalogPath = exports.subscribeToConsent = exports.stripMarkdown = exports.startNewChatId = exports.shouldRefreshPrompts = exports.setMatchDebug = exports.setForwardStack = exports.setConsentOverride = exports.setConsentBufferLimit = exports.setChatId = exports.setBackendEnvironment = exports.schemeDisplayName = exports.rgbToHsl = exports.resolveShopifyEntity = exports.resolveShopifyConfig = exports.resolveErrorTemplate = exports.resolveEntityTypeConfig = exports.resolveClientBundleUrl = exports.resolveAssistantPlaceholder = exports.resolveActiveScheme = exports.resetMatchDebugCache = exports.resetConsentGateForTests = exports.resetChatIdForTests = exports.registerEntityExtractor = exports.readProductBackHandoff = exports.readCurrencyCode = exports.pushToForwardStack = exports.pushPromptSubmit = exports.pushLinkClick = exports.pushExit = exports.pushEvent = exports.pushError = exports.pushEntityFiltered = exports.publishHostConsent = exports.preprocessMarkdown = exports.popFromForwardStack = exports.parseWeb5Url = exports.parseMarkdownToComponents = exports.parseMarkdownToAst = exports.parseEntityLink = exports.parseAstToMarkdown = exports.normalizeImageUrl = exports.normalizeIconUrls = exports.normalizeEntityItem = exports.nodesToParts = exports.nextOwnerSchemeId = exports.mergeSectionsWithStableReferences = exports.mergeEntityData = exports.mergeClientConfig = exports.mayTransmit = exports.mayPersistIdentity = exports.matchMarkdown = exports.matchAllSections = exports.logMatchDebug = exports.loadImagePixels = exports.loadClientBundle = exports.loadBackdropAnalysis = exports.listEntityItems = exports.isWeb5Url = exports.isWeb5SearchUrl = exports.isWeb5ImageUrl = exports.isWeb5IconUrl = exports.isWeb5EntityUrl = exports.isWeb5AskUrl = exports.isWeb5ActionUrl = exports.isValidWeb5Url = exports.isValidTemplateId = exports.isValidLinkUrl = exports.isUserEngaged = exports.isTrustedBundleHost = exports.isThemeScheme = exports.isThemeDebugEnabled = exports.isTemplatePickerRequested = exports.isSimulationTraffic = exports.isShopifyHost = exports.isSchemeTokenEntry = exports.isProductFamilyEntityType = exports.isOneTrustHost = exports.isNavigableUrl = exports.isMatchDebugEnabled = exports.isLegacyUrl = exports.isHtmlComment = exports.isHslTriplet = exports.isEntityLink = exports.isDocumentFamilyEntityType = exports.installConsentProvider = exports.initConsentGate = exports.hslTripletToHex = exports.hslToRgb = void 0;
7
+ exports.writeProductBackHandoff = exports.validatePatternWithBlocks = exports.validatePatternSyntax = exports.validatePattern = exports.validateLinkUrl = exports.usesStagingBackend = exports.useWeb5Link = exports.useUserQuery = exports.useResolvedImageSources = exports.useResolveShopifyEntityData = exports.useResolveSearchSpringEntityData = exports.useResolveGenericEntityData = exports.usePlacementPayload = exports.useMarkdownUtils = exports.useImageSlotCollector = exports.useImageSlot = exports.useFeatureToggles = exports.useFeatureToggle = exports.useEntityTransforms = exports.useDebugImageContext = exports.useCurrentSectionOptions = exports.useCurrentSectionId = exports.useConversation = exports.useComponentDependencies = exports.useChips = exports.unlockOnUserAction = exports.tryParseComponent = exports.trimTrailingWhitespace = void 0;
8
8
  var _clients = require("./clients");
9
9
  exports.CLIENT_IDS = _clients.CLIENT_IDS;
10
10
  exports.EXPERIMENT_IDS = _clients.EXPERIMENT_IDS;
@@ -260,8 +260,13 @@ var _FeedbackBar = require("./components/ui/FeedbackBar");
260
260
  exports.FeedbackBar = _FeedbackBar.FeedbackBar;
261
261
  var _AiDisclosure = require("./components/ui/AiDisclosure");
262
262
  exports.AiDisclosure = _AiDisclosure.AiDisclosure;
263
- exports.ASSISTANT_TOKEN = _AiDisclosure.ASSISTANT_TOKEN;
264
263
  exports.DEFAULT_AI_DISCLOSURE_TEXT = _AiDisclosure.DEFAULT_AI_DISCLOSURE_TEXT;
264
+ var _assistant = require("./lib/assistant");
265
+ exports.ASSISTANT_TOKEN = _assistant.ASSISTANT_TOKEN;
266
+ exports.UNBRANDED_ASSISTANT_NAME = _assistant.UNBRANDED_ASSISTANT_NAME;
267
+ exports.DEFAULT_PROMPT_PLACEHOLDER = _assistant.DEFAULT_PROMPT_PLACEHOLDER;
268
+ exports.assistantName = _assistant.assistantName;
269
+ exports.resolveAssistantPlaceholder = _assistant.resolveAssistantPlaceholder;
265
270
  var _AiIcon = require("./components/ui/icons/AiIcon");
266
271
  exports.AiIcon = _AiIcon.AiIcon;
267
272
  var _PoweredByBadge = require("./components/ui/PoweredByBadge");
@@ -326,8 +331,19 @@ exports.THEME_TOKEN_CONTRACT = _tokenContract.THEME_TOKEN_CONTRACT;
326
331
  exports.BRAND_TOKENS = _tokenContract.BRAND_TOKENS;
327
332
  exports.EDITABLE_TOKENS = _tokenContract.EDITABLE_TOKENS;
328
333
  exports.TOKEN_NAME_PATTERN = _tokenContract.TOKEN_NAME_PATTERN;
334
+ exports.THEME_OVERRIDE_KEY_PATTERN = _tokenContract.THEME_OVERRIDE_KEY_PATTERN;
329
335
  exports.bucketOf = _tokenContract.bucketOf;
330
336
  exports.hostAliasFor = _tokenContract.hostAliasFor;
337
+ var _themeScheme = require("./theme/themeScheme");
338
+ exports.SCHEME_COLOR_TOKENS = _themeScheme.SCHEME_COLOR_TOKENS;
339
+ exports.MAX_THEME_SCHEMES = _themeScheme.MAX_THEME_SCHEMES;
340
+ exports.SCHEME_ANCHOR_TOKENS = _themeScheme.SCHEME_ANCHOR_TOKENS;
341
+ exports.completeScheme = _themeScheme.completeScheme;
342
+ exports.isThemeScheme = _themeScheme.isThemeScheme;
343
+ exports.isSchemeTokenEntry = _themeScheme.isSchemeTokenEntry;
344
+ exports.nextOwnerSchemeId = _themeScheme.nextOwnerSchemeId;
345
+ exports.resolveActiveScheme = _themeScheme.resolveActiveScheme;
346
+ exports.schemeDisplayName = _themeScheme.schemeDisplayName;
331
347
  var _themeDebug = require("./client/themeDebug");
332
348
  exports.isThemeDebugEnabled = _themeDebug.isThemeDebugEnabled;
333
349
  exports.THEME_DEBUG_KEY = _themeDebug.THEME_DEBUG_KEY;