@flamingo-stack/openframe-frontend-core 0.0.766 → 0.0.767

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 (64) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-NJMZ3N7Q.cjs → chunk-7TJVYRHR.cjs} +5 -5
  3. package/dist/{chunk-X7ECVSVN.cjs → chunk-7ZU3AVEX.cjs} +11 -11
  4. package/dist/{chunk-F7R3U5EN.cjs → chunk-BXMDLQUA.cjs} +2 -2
  5. package/dist/{chunk-VRDHAR3X.cjs → chunk-FVH53QZJ.cjs} +100 -88
  6. package/dist/{chunk-7XFVUUVZ.cjs → chunk-GJ5DHDFQ.cjs} +2 -2
  7. package/dist/{chunk-JKQVKWLB.cjs → chunk-GQ7RGD4Y.cjs} +43 -43
  8. package/dist/{chunk-K3IHNXR4.cjs → chunk-I7A5MPXA.cjs} +3 -3
  9. package/dist/{chunk-VYYLYZUC.cjs → chunk-IKXUJUXC.cjs} +2 -2
  10. package/dist/{chunk-7VI7TOGI.cjs → chunk-JBJVUQVH.cjs} +134 -96
  11. package/dist/{chunk-JGWN6GH5.cjs → chunk-KHISVNNH.cjs} +4 -4
  12. package/dist/{chunk-WO3XO27C.cjs → chunk-M2UU3CWX.cjs} +3 -3
  13. package/dist/{chunk-INI4ADPT.cjs → chunk-MNIMYGFR.cjs} +13 -13
  14. package/dist/{chunk-NF3PBWDJ.cjs → chunk-NO2DEFAP.cjs} +43 -43
  15. package/dist/{chunk-UW7UWUZU.cjs → chunk-TPOLNGOW.cjs} +35 -35
  16. package/dist/{chunk-HNQRY6RU.cjs → chunk-UHDBMKJB.cjs} +3 -3
  17. package/dist/{chunk-7U3ELNGC.cjs → chunk-WEPIWJGR.cjs} +10 -10
  18. package/dist/{chunk-RTBYQWAV.cjs → chunk-XIXR6BHI.cjs} +27 -27
  19. package/dist/{cloud-tenants-U2KMEIO7.cjs → cloud-tenants-WXK5RDSY.cjs} +3 -3
  20. package/dist/components/case-studies/index.cjs +13 -13
  21. package/dist/components/chat/index.cjs +2 -2
  22. package/dist/components/chat/index.d.ts.map +1 -1
  23. package/dist/components/chat/index.js +18 -4
  24. package/dist/components/contact/index.cjs +4 -4
  25. package/dist/components/docs/index.cjs +7 -7
  26. package/dist/components/embeds/index.cjs +4 -4
  27. package/dist/components/embeds/rich-markdown-runtime.d.ts +4 -1
  28. package/dist/components/embeds/rich-markdown-runtime.d.ts.map +1 -1
  29. package/dist/components/embeds/rich-markdown-runtime.js +6 -5
  30. package/dist/components/faq/index.cjs +5 -5
  31. package/dist/components/features/index.cjs +3 -3
  32. package/dist/components/features/walkthrough-video.d.ts.map +1 -1
  33. package/dist/components/features/walkthrough-video.js +3 -1
  34. package/dist/components/help-center-pages/index.cjs +58 -58
  35. package/dist/components/index.cjs +33 -33
  36. package/dist/components/meeting-scheduler/index.cjs +24 -24
  37. package/dist/components/navigation/index.cjs +6 -6
  38. package/dist/components/onboarding-guides/index.cjs +5 -5
  39. package/dist/components/product-demo/index.cjs +12 -12
  40. package/dist/components/tickets/index.cjs +8 -8
  41. package/dist/components/ui/index.cjs +3 -3
  42. package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +1 -1
  43. package/dist/components/ui/markdown/rich/embed-overrides.js +10 -1
  44. package/dist/{devices-2D3XSIIE.cjs → devices-UHHHTCJF.cjs} +4 -4
  45. package/dist/index.cjs +9 -7
  46. package/dist/{knowledge-AJ36PMK2.cjs → knowledge-TJKHM7W4.cjs} +3 -3
  47. package/dist/{logs-DNE44ACE.cjs → logs-B3KCCMPE.cjs} +11 -11
  48. package/dist/{policies-AJHSP6ZY.cjs → policies-ZTUIXSYZ.cjs} +7 -7
  49. package/dist/{scripts-4YO2QL36.cjs → scripts-FIFAHBS6.cjs} +8 -8
  50. package/dist/{software-update-KMI2EOO3.cjs → software-update-62PLASQU.cjs} +6 -6
  51. package/dist/utils/after-page-load.d.ts +8 -0
  52. package/dist/utils/after-page-load.d.ts.map +1 -0
  53. package/dist/utils/after-page-load.js +24 -0
  54. package/dist/utils/index.cjs +24 -0
  55. package/dist/utils/index.d.ts +1 -0
  56. package/dist/utils/index.d.ts.map +1 -1
  57. package/dist/utils/index.js +1 -0
  58. package/package.json +1 -1
  59. package/src/components/chat/index.ts +22 -5
  60. package/src/components/embeds/rich-markdown-runtime.tsx +10 -6
  61. package/src/components/features/walkthrough-video.tsx +8 -1
  62. package/src/components/ui/markdown/rich/embed-overrides.tsx +11 -1
  63. package/src/utils/after-page-load.ts +30 -0
  64. package/src/utils/index.ts +1 -0
@@ -116,7 +116,7 @@ var _chunkC42WIUH6cjs = require('./chunk-C42WIUH6.cjs');
116
116
 
117
117
 
118
118
 
119
- var _chunk7VI7TOGIcjs = require('./chunk-7VI7TOGI.cjs');
119
+ var _chunkJBJVUQVHcjs = require('./chunk-JBJVUQVH.cjs');
120
120
 
121
121
 
122
122
 
@@ -502,6 +502,7 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
502
502
 
503
503
 
504
504
 
505
+
505
506
  var _chunkDGNBXZXTcjs = require('./chunk-DGNBXZXT.cjs');
506
507
 
507
508
 
@@ -4507,7 +4508,7 @@ function AdminFormDrawer({
4507
4508
  "form",
4508
4509
  {
4509
4510
  id: formId,
4510
- ..._chunk7VI7TOGIcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4511
+ ..._chunkJBJVUQVHcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4511
4512
  className: "flex flex-col gap-[var(--spacing-system-lf)]",
4512
4513
  onSubmit: (e) => {
4513
4514
  e.preventDefault();
@@ -4614,7 +4615,7 @@ function AdminFormModal({
4614
4615
  "form",
4615
4616
  {
4616
4617
  id: formId,
4617
- ..._chunk7VI7TOGIcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4618
+ ..._chunkJBJVUQVHcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
4618
4619
  className: "flex min-h-0 flex-1 flex-col",
4619
4620
  onSubmit: (e) => {
4620
4621
  e.preventDefault();
@@ -5884,14 +5885,15 @@ function RichMarkdownRuntimeProvider({
5884
5885
  transformImageSrc,
5885
5886
  children
5886
5887
  }) {
5888
+ const outer = _react.useContext.call(void 0, RichMarkdownRuntimeContext);
5887
5889
  const value = _react.useMemo.call(void 0,
5888
5890
  () => ({
5889
- redditProxyUrl: _nullishCoalesce(redditProxyUrl, () => ( DEFAULT_RUNTIME.redditProxyUrl)),
5890
- twitterProxyUrl: _nullishCoalesce(twitterProxyUrl, () => ( DEFAULT_RUNTIME.twitterProxyUrl)),
5891
- ogScraperUrl: _nullishCoalesce(ogScraperUrl, () => ( DEFAULT_RUNTIME.ogScraperUrl)),
5892
- transformImageSrc: _nullishCoalesce(transformImageSrc, () => ( DEFAULT_RUNTIME.transformImageSrc))
5891
+ redditProxyUrl: _nullishCoalesce(redditProxyUrl, () => ( outer.redditProxyUrl)),
5892
+ twitterProxyUrl: _nullishCoalesce(twitterProxyUrl, () => ( outer.twitterProxyUrl)),
5893
+ ogScraperUrl: _nullishCoalesce(ogScraperUrl, () => ( outer.ogScraperUrl)),
5894
+ transformImageSrc: _nullishCoalesce(transformImageSrc, () => ( outer.transformImageSrc))
5893
5895
  }),
5894
- [redditProxyUrl, twitterProxyUrl, ogScraperUrl, transformImageSrc]
5896
+ [redditProxyUrl, twitterProxyUrl, ogScraperUrl, transformImageSrc, outer]
5895
5897
  );
5896
5898
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, RichMarkdownRuntimeContext.Provider, { value, children });
5897
5899
  }
@@ -6003,7 +6005,7 @@ function EmbedViewerFrame({
6003
6005
  const controllerRef = _react.useRef.call(void 0, null);
6004
6006
  _react.useEffect.call(void 0, () => {
6005
6007
  if (!fullscreenControl) return void 0;
6006
- const controller = new (0, _chunk7VI7TOGIcjs.FullscreenSwitchController)({
6008
+ const controller = new (0, _chunkJBJVUQVHcjs.FullscreenSwitchController)({
6007
6009
  target: () => frameRef.current,
6008
6010
  onFullscreenChange: setIsFullscreen
6009
6011
  });
@@ -7915,6 +7917,15 @@ function buildRichEmbedOverrides({
7915
7917
  if (!_chunkYL6ZB2SRcjs.hasRenderableSrc.call(void 0, src)) return null;
7916
7918
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownImage, { src: src.trim(), alt });
7917
7919
  },
7920
+ // Raw <iframe> tags in stored content (a pasted YouTube embed). A YouTube one becomes the same click-to-play
7921
+ // facade as the `youtube-embed` fence: the raw iframe loaded YouTube's whole player (about 470 KB of script) with
7922
+ // the page, on every post that carried one (CU-17tkuw5xp4q). Any other iframe loads when it nears the screen.
7923
+ iframe: ({ node: _node, src, ...rest }) => {
7924
+ if (!_chunkYL6ZB2SRcjs.hasRenderableSrc.call(void 0, src)) return null;
7925
+ const url = src.trim();
7926
+ if (_chunkDGNBXZXTcjs.extractYouTubeId.call(void 0, url)) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDGNBXZXTcjs.Video, { kind: "youtube", url });
7927
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "iframe", { ...rest, src: url, loading: "lazy" });
7928
+ },
7918
7929
  // Raw <video> tags in stored content (blog publisher injection) route
7919
7930
  // to the <Video> SSOT (MuxPlayer) so HLS manifests play everywhere.
7920
7931
  video: ({ src, poster, className }) => {
@@ -8027,7 +8038,7 @@ var processShortcodes = (content) => {
8027
8038
  try {
8028
8039
  const urlObj = new URL(url);
8029
8040
  const hostname = urlObj.hostname.toLowerCase();
8030
- const hostIs = (domain) => _chunk7VI7TOGIcjs.hostMatches.call(void 0, hostname, domain);
8041
+ const hostIs = (domain) => _chunkJBJVUQVHcjs.hostMatches.call(void 0, hostname, domain);
8031
8042
  const isYouTubeVideo = hostIs("youtube.com") && urlObj.searchParams.has("v") || hostIs("youtu.be");
8032
8043
  if (isYouTubeVideo || hostIs("reddit.com") || hostIs("twitter.com") || hostIs("x.com") || hostIs("figma.com")) {
8033
8044
  return match;
@@ -10402,10 +10413,10 @@ var OSTypeBadge = ({
10402
10413
  if (!osType) {
10403
10414
  return labelOnly ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk65VVJSQZcjs.cn.call(void 0, "text-ods-text-secondary", className), children: "Unknown" }) : null;
10404
10415
  }
10405
- const normalized = _chunk7VI7TOGIcjs.normalizeOSType.call(void 0, osType);
10416
+ const normalized = _chunkJBJVUQVHcjs.normalizeOSType.call(void 0, osType);
10406
10417
  if (!normalized && !labelOnly) return null;
10407
- const label = _chunk7VI7TOGIcjs.getOSLabel.call(void 0, osType);
10408
- const IconComponent = _chunk7VI7TOGIcjs.getOSIcon.call(void 0, osType);
10418
+ const label = _chunkJBJVUQVHcjs.getOSLabel.call(void 0, osType);
10419
+ const IconComponent = _chunkJBJVUQVHcjs.getOSIcon.call(void 0, osType);
10409
10420
  if (iconOnly && IconComponent) {
10410
10421
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IconComponent, { className: _chunk65VVJSQZcjs.cn.call(void 0, iconSize, "text-ods-text-secondary", className) });
10411
10422
  }
@@ -10690,7 +10701,7 @@ function ComplianceLogo({
10690
10701
  fallback = null,
10691
10702
  className
10692
10703
  }) {
10693
- const standard = _chunk7VI7TOGIcjs.complianceStandardForName.call(void 0, ...names);
10704
+ const standard = _chunkJBJVUQVHcjs.complianceStandardForName.call(void 0, ...names);
10694
10705
  if (!standard) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: fallback });
10695
10706
  const Official = standard.logo ? COMPLIANCE_LOGOS[standard.logo] : null;
10696
10707
  return Official ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -12484,7 +12495,7 @@ function TableHeader({
12484
12495
  onFilterChange
12485
12496
  }
12486
12497
  ),
12487
- column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7VI7TOGIcjs.InfoHint, { label: column.label, children: column.hint }) : null
12498
+ column.hint ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJBJVUQVHcjs.InfoHint, { label: column.label, children: column.hint }) : null
12488
12499
  ] })
12489
12500
  ) : (
12490
12501
  /* Non-filterable column — regular label with optional sort */
@@ -12510,7 +12521,7 @@ function TableHeader({
12510
12521
  hint exists, so a hint-less header keeps its DOM. */
12511
12522
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
12512
12523
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
12513
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7VI7TOGIcjs.InfoHint, { label: column.label, children: column.hint })
12524
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJBJVUQVHcjs.InfoHint, { label: column.label, children: column.hint })
12514
12525
  ] })
12515
12526
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: TABLE_HEADER_LABEL_CLASS, children: column.label }),
12516
12527
  getSortIcon(column)
@@ -12620,7 +12631,7 @@ function TableRow({
12620
12631
  const Row = animate && motionDiv ? motionDiv : "div";
12621
12632
  const motionProps = animate ? { layout: "position", transition: { layout: { duration: 0.35, ease: [0.22, 1, 0.36, 1] } } } : {};
12622
12633
  const handleRowClick = (e) => {
12623
- if (!_chunk7VI7TOGIcjs.isOwnClick.call(void 0, e.target, e.currentTarget)) return;
12634
+ if (!_chunkJBJVUQVHcjs.isOwnClick.call(void 0, e.target, e.currentTarget)) return;
12624
12635
  if (onClick) {
12625
12636
  onClick(item);
12626
12637
  }
@@ -13398,7 +13409,7 @@ function DataTableRowImpl({
13398
13409
  const containerRef = _react.useRef.call(void 0, null);
13399
13410
  const handleClick = _react.useCallback.call(void 0,
13400
13411
  (e) => {
13401
- if (!_chunk7VI7TOGIcjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
13412
+ if (!_chunkJBJVUQVHcjs.isOwnClick.call(void 0, e.target, containerRef.current)) {
13402
13413
  if (isLinkMode) e.preventDefault();
13403
13414
  return;
13404
13415
  }
@@ -13848,7 +13859,7 @@ function HeaderCell({ header, sort, onSortChange }) {
13848
13859
  // child of the cell.
13849
13860
  _optionalChain([meta, 'optionalAccess', _232 => _232.hint]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-start gap-[var(--spacing-system-xxs)]", children: [
13850
13861
  filterTrigger,
13851
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7VI7TOGIcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13862
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJBJVUQVHcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13852
13863
  ] }) : filterTrigger
13853
13864
  ) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
13854
13865
  "div",
@@ -13873,7 +13884,7 @@ function HeaderCell({ header, sort, onSortChange }) {
13873
13884
  // centred on the row.
13874
13885
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-start gap-[var(--spacing-system-xxs)]", children: [
13875
13886
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
13876
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7VI7TOGIcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13887
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJBJVUQVHcjs.InfoHint, { label: resolveHeaderLabel(header), children: meta.hint })
13877
13888
  ] })
13878
13889
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderLabel, { header }),
13879
13890
  canSort && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SortIcon, { sorted: sortDir })
@@ -14105,7 +14116,7 @@ function PhoneInput({
14105
14116
  placeholder = "Phone Number (optional)",
14106
14117
  onKeyDown
14107
14118
  }) {
14108
- const { priority, others } = _react.useMemo.call(void 0, () => _chunk7VI7TOGIcjs.getCountryPhoneData.call(void 0, ), []);
14119
+ const { priority, others } = _react.useMemo.call(void 0, () => _chunkJBJVUQVHcjs.getCountryPhoneData.call(void 0, ), []);
14109
14120
  const selectedCountry = _react.useMemo.call(void 0,
14110
14121
  () => [...priority, ...others].find((c) => c.code === countryCode),
14111
14122
  [countryCode, priority, others]
@@ -14120,7 +14131,7 @@ function PhoneInput({
14120
14131
  _optionalChain([onValidationChange, 'optionalCall', _246 => _246(false)]);
14121
14132
  return;
14122
14133
  }
14123
- const invalid = !_chunk7VI7TOGIcjs.validatePhoneNumber.call(void 0, phone, countryCode);
14134
+ const invalid = !_chunkJBJVUQVHcjs.validatePhoneNumber.call(void 0, phone, countryCode);
14124
14135
  setIsInvalid(invalid);
14125
14136
  _optionalChain([onValidationChange, 'optionalCall', _247 => _247(invalid)]);
14126
14137
  },
@@ -17941,7 +17952,7 @@ var TRIAL_TERM_ICONS = {
17941
17952
  };
17942
17953
  var DEFAULT_TRIAL_TERMS = ["cancel", "length", "noContract"];
17943
17954
  function trialBenefits(trialDays, terms = DEFAULT_TRIAL_TERMS) {
17944
- const labels = _chunk7VI7TOGIcjs.trialLabels.call(void 0, trialDays);
17955
+ const labels = _chunkJBJVUQVHcjs.trialLabels.call(void 0, trialDays);
17945
17956
  return terms.flatMap((term) => {
17946
17957
  const label = labels[term];
17947
17958
  return label ? [{ icon: TRIAL_TERM_ICONS[term], label }] : [];
@@ -22290,7 +22301,7 @@ var MODEL_TOKEN_RATES_COPY = {
22290
22301
  empty: "No token rates are in effect right now."
22291
22302
  };
22292
22303
  function providerMark(providerType, stated, className) {
22293
- const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0, _chunk7VI7TOGIcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
22304
+ const Mark = _chunk5P4TDV7Vcjs.findIcon.call(void 0, _chunkJBJVUQVHcjs.aiProvider.call(void 0, providerType, { icon: stated }).icon);
22294
22305
  return Mark ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Mark, { className }) : void 0;
22295
22306
  }
22296
22307
  var PAD_X = "px-[var(--spacing-system-s)]";
@@ -22308,7 +22319,7 @@ var UNIT_LINE_CLASS = _chunk65VVJSQZcjs.cn.call(void 0,
22308
22319
  var TABS_ROW_CLASS = _chunk65VVJSQZcjs.cn.call(void 0, "shrink-0 border-b border-ods-border py-[var(--spacing-system-xs)]", PAD_X);
22309
22320
  var NUMBER_CELL = "w-16 shrink-0 whitespace-nowrap text-right tabular-nums";
22310
22321
  function useProviderGroup(rates) {
22311
- const groups = _chunk7VI7TOGIcjs.groupTokenRatesByProvider.call(void 0, rates);
22322
+ const groups = _chunkJBJVUQVHcjs.groupTokenRatesByProvider.call(void 0, rates);
22312
22323
  const [picked, setPicked] = _react.useState.call(void 0, null);
22313
22324
  return { groups, group: _nullishCoalesce(groups.find((candidate) => candidate.providerType === picked), () => ( groups[0])), setPicked };
22314
22325
  }
@@ -22327,7 +22338,7 @@ function ProviderTabs({
22327
22338
  onValueChange,
22328
22339
  items: groups.map((candidate) => ({
22329
22340
  id: candidate.providerType,
22330
- label: _chunk7VI7TOGIcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _447 => _447.rates, 'access', _448 => _448[0], 'optionalAccess', _449 => _449.providerLabel])),
22341
+ label: _chunkJBJVUQVHcjs.tokenRateProviderLabel.call(void 0, candidate.providerType, _optionalChain([candidate, 'access', _447 => _447.rates, 'access', _448 => _448[0], 'optionalAccess', _449 => _449.providerLabel])),
22331
22342
  icon: providerMark(candidate.providerType, _optionalChain([candidate, 'access', _450 => _450.rates, 'access', _451 => _451[0], 'optionalAccess', _452 => _452.providerIcon]), "size-full")
22332
22343
  })),
22333
22344
  className
@@ -22405,8 +22416,8 @@ function ModelTokenRatesTable({ rates }) {
22405
22416
  ] }),
22406
22417
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { role: "rowgroup", className: "min-h-0 flex-1 overflow-y-auto", children: group.rates.map((rate) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { role: "row", className: BODY_ROW_CLASS, children: [
22407
22418
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "rowheader", className: "min-w-0 flex-1 truncate", children: rate.displayName || rate.modelName }),
22408
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunk7VI7TOGIcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
22409
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunk7VI7TOGIcjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
22419
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkJBJVUQVHcjs.formatTokenRate.call(void 0, rate.inputTokenRate) }),
22420
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { role: "cell", className: NUMBER_CELL, children: _chunkJBJVUQVHcjs.formatTokenRate.call(void 0, rate.outputTokenRate) })
22410
22421
  ] }, rate.modelName)) })
22411
22422
  ] }),
22412
22423
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: UNIT_LINE_CLASS, children: MODEL_TOKEN_RATES_COPY.unit })
@@ -22456,7 +22467,7 @@ function modelOption(rate) {
22456
22467
  return {
22457
22468
  label: rate.displayName || rate.modelName,
22458
22469
  value: rate.modelName,
22459
- description: _chunk7VI7TOGIcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
22470
+ description: _chunkJBJVUQVHcjs.tokenRateProviderLabel.call(void 0, rate.providerType, rate.providerLabel),
22460
22471
  icon: providerMark(rate.providerType, rate.providerIcon, "size-full text-ods-text-secondary")
22461
22472
  };
22462
22473
  }
@@ -22510,8 +22521,8 @@ function ModelTokenExchange({
22510
22521
  const [chosen, setChosen] = _react.useState.call(void 0, null);
22511
22522
  const balance = _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(chosen, () => ( defaultAmount)), () => ( _optionalChain([tokenPrice, 'optionalAccess', _453 => _453.tokens]))), () => ( MODEL_TOKEN_EXCHANGE_BALANCE));
22512
22523
  const max = Math.max(amountRange.max, balance, ...presets.map((preset) => preset.tokens));
22513
- const tokens = _chunk7VI7TOGIcjs.formatTokenAmount.call(void 0, balance);
22514
- const cost = _chunk7VI7TOGIcjs.tokenCost.call(void 0, balance, tokenPrice);
22524
+ const tokens = _chunkJBJVUQVHcjs.formatTokenAmount.call(void 0, balance);
22525
+ const cost = _chunkJBJVUQVHcjs.tokenCost.call(void 0, balance, tokenPrice);
22515
22526
  const balancePrice = cost === null ? null : _chunkJTSUAHDLcjs.formatPrice.call(void 0, cost);
22516
22527
  const model = rate ? rate.displayName || rate.modelName : "";
22517
22528
  const options = models.map(modelOption);
@@ -22553,7 +22564,7 @@ function ModelTokenExchange({
22553
22564
  variant: preset.tokens === balance ? "accent" : "outline",
22554
22565
  size: "small",
22555
22566
  onClick: () => setChosen(preset.tokens),
22556
- children: copy.buy.preset(_chunk7VI7TOGIcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
22567
+ children: copy.buy.preset(_chunkJBJVUQVHcjs.formatTokenAmount.call(void 0, preset.tokens), preset.label)
22557
22568
  },
22558
22569
  preset.label
22559
22570
  )) })
@@ -22570,7 +22581,7 @@ function ModelTokenExchange({
22570
22581
  const stated = _nullishCoalesce(models.find((option) => option.providerType === providerType), () => ( (_optionalChain([rate, 'optionalAccess', _454 => _454.providerType]) === providerType ? rate : null)));
22571
22582
  return {
22572
22583
  id: providerType,
22573
- name: _chunk7VI7TOGIcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _455 => _455.providerLabel])),
22584
+ name: _chunkJBJVUQVHcjs.tokenRateProviderLabel.call(void 0, providerType, _optionalChain([stated, 'optionalAccess', _455 => _455.providerLabel])),
22574
22585
  icon: providerMark(providerType, _optionalChain([stated, 'optionalAccess', _456 => _456.providerIcon]), "size-8 text-ods-text-secondary")
22575
22586
  };
22576
22587
  }),
@@ -22609,7 +22620,7 @@ function ModelTokenExchange({
22609
22620
  {
22610
22621
  size: "plain",
22611
22622
  loading,
22612
- figure: _chunk7VI7TOGIcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _461 => _461.inputTokenRate])),
22623
+ figure: _chunkJBJVUQVHcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _461 => _461.inputTokenRate])),
22613
22624
  words: copy.charge.input
22614
22625
  }
22615
22626
  ),
@@ -22618,7 +22629,7 @@ function ModelTokenExchange({
22618
22629
  {
22619
22630
  size: "plain",
22620
22631
  loading,
22621
- figure: _chunk7VI7TOGIcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _462 => _462.outputTokenRate])),
22632
+ figure: _chunkJBJVUQVHcjs.formatTokenRate.call(void 0, _optionalChain([rate, 'optionalAccess', _462 => _462.outputTokenRate])),
22622
22633
  words: copy.charge.output
22623
22634
  }
22624
22635
  )
@@ -22630,9 +22641,9 @@ function ModelTokenExchange({
22630
22641
  className: "mt-auto flex flex-col rounded-md border border-ods-accent bg-ods-bg p-[var(--spacing-system-mf)]",
22631
22642
  children: [
22632
22643
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[2lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-full max-w-xs" }) : copy.charge.so(_nullishCoalesce(balancePrice, () => ( copy.buy.tokens(tokens))), model) }),
22633
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] whitespace-nowrap tabular-nums text-ods-text-primary text-h1", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunk7VI7TOGIcjs.formatTokenAmount.call(void 0, _chunk7VI7TOGIcjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
22644
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] whitespace-nowrap tabular-nums text-ods-text-primary text-h1", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-40" }) : _chunkJBJVUQVHcjs.formatTokenAmount.call(void 0, _chunkJBJVUQVHcjs.tokensForBalance.call(void 0, balance, rate.inputTokenRate)) }),
22634
22645
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-primary text-h3", children: copy.charge.read }),
22635
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunk7VI7TOGIcjs.formatTokenAmount.call(void 0, _chunk7VI7TOGIcjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
22646
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "min-h-[1lh] text-ods-text-secondary text-h4", children: loading || !rate ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXFRBEXQNcjs.TextLineSkeleton, { type: "inherit", as: "span", className: "w-48" }) : copy.charge.orWritten(_chunkJBJVUQVHcjs.formatTokenAmount.call(void 0, _chunkJBJVUQVHcjs.tokensForBalance.call(void 0, balance, rate.outputTokenRate))) })
22636
22647
  ]
22637
22648
  }
22638
22649
  )
@@ -23171,14 +23182,14 @@ var ConfidenceBadge = ({
23171
23182
  size = "sm",
23172
23183
  className
23173
23184
  }) => {
23174
- const level = _chunk7VI7TOGIcjs.getConfidenceLevel.call(void 0, confidence);
23185
+ const level = _chunkJBJVUQVHcjs.getConfidenceLevel.call(void 0, confidence);
23175
23186
  if (level === "none") {
23176
23187
  return null;
23177
23188
  }
23178
- const label = _chunk7VI7TOGIcjs.getConfidenceLabel.call(void 0, confidence);
23179
- const borderClass = _chunk7VI7TOGIcjs.getConfidenceBorderClass.call(void 0, confidence);
23180
- const textClass = _chunk7VI7TOGIcjs.getConfidenceTextClass.call(void 0, confidence);
23181
- const bgClass = _chunk7VI7TOGIcjs.getConfidenceBgClass.call(void 0, confidence);
23189
+ const label = _chunkJBJVUQVHcjs.getConfidenceLabel.call(void 0, confidence);
23190
+ const borderClass = _chunkJBJVUQVHcjs.getConfidenceBorderClass.call(void 0, confidence);
23191
+ const textClass = _chunkJBJVUQVHcjs.getConfidenceTextClass.call(void 0, confidence);
23192
+ const bgClass = _chunkJBJVUQVHcjs.getConfidenceBgClass.call(void 0, confidence);
23182
23193
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
23183
23194
  "span",
23184
23195
  {
@@ -23229,9 +23240,9 @@ function SEOEditorPreview({
23229
23240
  const [isUploading, setIsUploading] = _react.useState.call(void 0, false);
23230
23241
  const [fileInputRef, setFileInputRef] = _react.useState.call(void 0, null);
23231
23242
  const seoTitleLength = (seoTitle || "").length;
23232
- const seoTitleTooLong = seoTitleLength > _chunk7VI7TOGIcjs.SEO_TITLE_MAX_LENGTH;
23243
+ const seoTitleTooLong = seoTitleLength > _chunkJBJVUQVHcjs.SEO_TITLE_MAX_LENGTH;
23233
23244
  const seoDescriptionLength = (seoDescription || "").length;
23234
- const seoDescriptionTooLong = seoDescriptionLength > _chunk7VI7TOGIcjs.SEO_DESCRIPTION_MAX_LENGTH;
23245
+ const seoDescriptionTooLong = seoDescriptionLength > _chunkJBJVUQVHcjs.SEO_DESCRIPTION_MAX_LENGTH;
23235
23246
  const displayTitle = seoTitle.trim() || title || "Untitled";
23236
23247
  const displayDescription = seoDescription.trim() || summary || "No description";
23237
23248
  const hasOgImage = ogImageUrl.trim();
@@ -23256,10 +23267,10 @@ function SEOEditorPreview({
23256
23267
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
23257
23268
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23258
23269
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23259
- _chunk7VI7TOGIcjs.Field,
23270
+ _chunkJBJVUQVHcjs.Field,
23260
23271
  {
23261
23272
  label: "SEO Title",
23262
- error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunk7VI7TOGIcjs.SEO_TITLE_MAX_LENGTH})` : null,
23273
+ error: seoTitleTooLong ? `Too long: search engines may truncate this title (keep it under ${_chunkJBJVUQVHcjs.SEO_TITLE_MAX_LENGTH})` : null,
23263
23274
  labelExtras: aiConfidenceSeoTitle !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
23264
23275
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
23265
23276
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ConfidenceBadge, { confidence: aiConfidenceSeoTitle, showLabel: true, showPercentage: true, size: "sm" })
@@ -23274,7 +23285,7 @@ function SEOEditorPreview({
23274
23285
  children: [
23275
23286
  seoTitleLength,
23276
23287
  "/",
23277
- _chunk7VI7TOGIcjs.SEO_TITLE_MAX_LENGTH
23288
+ _chunkJBJVUQVHcjs.SEO_TITLE_MAX_LENGTH
23278
23289
  ]
23279
23290
  }
23280
23291
  ),
@@ -23285,7 +23296,7 @@ function SEOEditorPreview({
23285
23296
  value: seoTitle || "",
23286
23297
  onChange: (e) => onSeoTitleChange(e.target.value),
23287
23298
  disabled,
23288
- maxLength: _chunk7VI7TOGIcjs.SEO_TITLE_MAX_LENGTH,
23299
+ maxLength: _chunkJBJVUQVHcjs.SEO_TITLE_MAX_LENGTH,
23289
23300
  invalid: seoTitleTooLong,
23290
23301
  placeholder: "Enter SEO meta title...",
23291
23302
  className: "border-ods-border bg-ods-bg text-ods-text-primary"
@@ -23296,7 +23307,7 @@ function SEOEditorPreview({
23296
23307
  !seoTitle && title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-accent text-h6", children: "Auto-populated from title" })
23297
23308
  ] }),
23298
23309
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23299
- _chunk7VI7TOGIcjs.Field,
23310
+ _chunkJBJVUQVHcjs.Field,
23300
23311
  {
23301
23312
  label: "SEO Keywords",
23302
23313
  labelExtras: aiConfidenceSeoKeywords !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
@@ -23328,10 +23339,10 @@ function SEOEditorPreview({
23328
23339
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-lg:grid-cols-2", children: [
23329
23340
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-2", children: [
23330
23341
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
23331
- _chunk7VI7TOGIcjs.Field,
23342
+ _chunkJBJVUQVHcjs.Field,
23332
23343
  {
23333
23344
  label: "SEO Description",
23334
- error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunk7VI7TOGIcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
23345
+ error: seoDescriptionTooLong ? `Too long: search engines may truncate this description (keep it under ${_chunkJBJVUQVHcjs.SEO_DESCRIPTION_MAX_LENGTH})` : null,
23335
23346
  labelExtras: aiConfidenceSeoDescription !== void 0 ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
23336
23347
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AIGeneratedBadge, {}),
23337
23348
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -23354,7 +23365,7 @@ function SEOEditorPreview({
23354
23365
  children: [
23355
23366
  seoDescriptionLength,
23356
23367
  "/",
23357
- _chunk7VI7TOGIcjs.SEO_DESCRIPTION_MAX_LENGTH
23368
+ _chunkJBJVUQVHcjs.SEO_DESCRIPTION_MAX_LENGTH
23358
23369
  ]
23359
23370
  }
23360
23371
  ),
@@ -23365,7 +23376,7 @@ function SEOEditorPreview({
23365
23376
  value: seoDescription || "",
23366
23377
  onChange: (e) => onSeoDescriptionChange(e.target.value),
23367
23378
  disabled,
23368
- maxLength: _chunk7VI7TOGIcjs.SEO_DESCRIPTION_MAX_LENGTH,
23379
+ maxLength: _chunkJBJVUQVHcjs.SEO_DESCRIPTION_MAX_LENGTH,
23369
23380
  invalid: seoDescriptionTooLong,
23370
23381
  placeholder: "Enter SEO meta description...",
23371
23382
  className: _chunk65VVJSQZcjs.cn.call(void 0, "resize-none border-ods-border bg-ods-bg text-ods-text-primary", SEO_MEDIA_BOX_HEIGHT)
@@ -23518,7 +23529,7 @@ function socialIcon(platform) {
23518
23529
  return _nullishCoalesce(_chunk5P4TDV7Vcjs.iconOf.call(void 0, SOCIAL_ICONS[platform]), () => ( void 0));
23519
23530
  }
23520
23531
  function renderSocialIcon(platform) {
23521
- const key = _nullishCoalesce(_chunk7VI7TOGIcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
23532
+ const key = _nullishCoalesce(_chunkJBJVUQVHcjs.normalizeSocialPlatform.call(void 0, platform), () => ( "website"));
23522
23533
  const icon = _nullishCoalesce(socialIcon(key), () => ( socialIcon("website")));
23523
23534
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5" }) : null;
23524
23535
  }
@@ -23605,7 +23616,7 @@ function SocialLinksManager({
23605
23616
  };
23606
23617
  const getIcon = (link, platform) => {
23607
23618
  const iconKey = _optionalChain([platform, 'optionalAccess', _472 => _472.icon_name]) || link.platform;
23608
- const key = _chunk7VI7TOGIcjs.normalizeSocialPlatform.call(void 0, iconKey);
23619
+ const key = _chunkJBJVUQVHcjs.normalizeSocialPlatform.call(void 0, iconKey);
23609
23620
  if (!key) return null;
23610
23621
  const icon = socialIcon(key);
23611
23622
  return icon ? _react.createElement.call(void 0, icon, { className: "h-5 w-5 text-ods-text-secondary" }) : null;
@@ -24079,6 +24090,7 @@ function VideoBitesDisplay({
24079
24090
 
24080
24091
 
24081
24092
 
24093
+ var CARD_POSTER_WIDTH_PX = 640;
24082
24094
  var INLINE_CARD_BOX_CLASS = `${_chunkXFRBEXQNcjs.MEDIA_ASPECT.video} w-full rounded-md border border-ods-border`;
24083
24095
  var FIRST_INTERACTION_EVENTS = ["scroll", "pointerdown", "keydown"];
24084
24096
  var isAtEnd = (duration, time) => duration > 0 && duration - time < 1;
@@ -24101,7 +24113,7 @@ function WalkthroughVideo({
24101
24113
  onOpenChange,
24102
24114
  defaultOpen,
24103
24115
  defaultOpenPaused,
24104
- deepLinkParam = _chunk7VI7TOGIcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
24116
+ deepLinkParam = _chunkJBJVUQVHcjs.WALKTHROUGH_OPEN_QUERY_PARAM,
24105
24117
  autoPlayCard = false,
24106
24118
  label = "Play Demo Video",
24107
24119
  placement,
@@ -24118,7 +24130,7 @@ function WalkthroughVideo({
24118
24130
  const inline = placement === "inline";
24119
24131
  const inScope = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
24120
24132
  const dismissEnabled = dismissal !== false;
24121
- const storageKey = dismissEnabled && dismissal.storageKey || _chunk7VI7TOGIcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
24133
+ const storageKey = dismissEnabled && dismissal.storageKey || _chunkJBJVUQVHcjs.WALKTHROUGH_VIDEO_DISMISS_KEY;
24122
24134
  const dismissalId = _optionalChain([video, 'optionalAccess', _478 => _478.id]) != null ? String(video.id) : "dismissed";
24123
24135
  const [mounted, setMounted] = _react.useState.call(void 0, false);
24124
24136
  const [dismissed, setDismissed] = _react.useState.call(void 0, false);
@@ -24130,7 +24142,7 @@ function WalkthroughVideo({
24130
24142
  let delayElapsed = false;
24131
24143
  let interacted = inline;
24132
24144
  const reveal = () => {
24133
- if (dismissEnabled && _chunk7VI7TOGIcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
24145
+ if (dismissEnabled && _chunkJBJVUQVHcjs.isWalkthroughDismissed.call(void 0, storageKey, dismissalId)) {
24134
24146
  setDismissed(true);
24135
24147
  return;
24136
24148
  }
@@ -24417,7 +24429,7 @@ function WalkthroughVideo({
24417
24429
  (e) => {
24418
24430
  e.stopPropagation();
24419
24431
  pausePreviewNow();
24420
- if (dismissEnabled) _chunk7VI7TOGIcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
24432
+ if (dismissEnabled) _chunkJBJVUQVHcjs.dismissWalkthrough.call(void 0, storageKey, dismissalId);
24421
24433
  setDismissed(true);
24422
24434
  },
24423
24435
  [dismissEnabled, storageKey, dismissalId, pausePreviewNow]
@@ -24571,7 +24583,7 @@ function WalkthroughVideo({
24571
24583
  _chunkDGNBXZXTcjs.VideoHoverPreviewSurface,
24572
24584
  {
24573
24585
  url: video.mainVideoUrl || "",
24574
- posterUrl: video.posterUrl,
24586
+ posterUrl: video.posterUrl ? _chunkE76ONBKFcjs.resizedImageUrl.call(void 0, video.posterUrl, CARD_POSTER_WIDTH_PX) : video.posterUrl,
24575
24587
  active: cardActive,
24576
24588
  isClone: false,
24577
24589
  badge: "play",
@@ -25513,7 +25525,7 @@ function HighlightConfigSection({
25513
25525
  disabled = false,
25514
25526
  className = ""
25515
25527
  }) {
25516
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7VI7TOGIcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25528
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: `space-y-3 rounded-lg border border-ods-border bg-ods-card p-4 ${className}`, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex items-center gap-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex-1", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJBJVUQVHcjs.Field, { label: "Target Duration", children: (f) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
25517
25529
  _chunkZV45VS6Kcjs.Select,
25518
25530
  {
25519
25531
  value: targetDurationSeconds.toString(),
@@ -25614,7 +25626,7 @@ var AIStatusIndicator = ({
25614
25626
  }) => {
25615
25627
  const config = statusConfig[status];
25616
25628
  const displayText = message || config.label;
25617
- const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunk7VI7TOGIcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
25629
+ const confidenceLabel = showConfidence && confidence !== void 0 ? `${_chunkJBJVUQVHcjs.getConfidenceLabel.call(void 0, confidence)} (${confidence}%)` : null;
25618
25630
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk65VVJSQZcjs.cn.call(void 0, "inline-flex items-center gap-2 rounded-lg px-3 py-1.5", config.bgColor, className), children: [
25619
25631
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
25620
25632
  _chunkUNFCRSYIcjs.SparklesIcon,
@@ -25622,7 +25634,7 @@ var AIStatusIndicator = ({
25622
25634
  size: 16,
25623
25635
  className: _chunk65VVJSQZcjs.cn.call(void 0,
25624
25636
  status === "loading" && _chunkXFRBEXQNcjs.LIVE_PULSE_CLASS,
25625
- confidence !== void 0 && status === "success" ? _chunk7VI7TOGIcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
25637
+ confidence !== void 0 && status === "success" ? _chunkJBJVUQVHcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
25626
25638
  )
25627
25639
  }
25628
25640
  ),
@@ -25631,7 +25643,7 @@ var AIStatusIndicator = ({
25631
25643
  {
25632
25644
  className: _chunk65VVJSQZcjs.cn.call(void 0,
25633
25645
  "text-h6",
25634
- confidence !== void 0 && status === "success" ? _chunk7VI7TOGIcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
25646
+ confidence !== void 0 && status === "success" ? _chunkJBJVUQVHcjs.getConfidenceTextClass.call(void 0, confidence) : config.color
25635
25647
  ),
25636
25648
  children: displayText
25637
25649
  }
@@ -25641,8 +25653,8 @@ var AIStatusIndicator = ({
25641
25653
  {
25642
25654
  className: _chunk65VVJSQZcjs.cn.call(void 0,
25643
25655
  "rounded-full border px-2 py-0.5 text-h6",
25644
- _chunk7VI7TOGIcjs.getConfidenceBorderClass.call(void 0, confidence),
25645
- _chunk7VI7TOGIcjs.getConfidenceTextClass.call(void 0, confidence)
25656
+ _chunkJBJVUQVHcjs.getConfidenceBorderClass.call(void 0, confidence),
25657
+ _chunkJBJVUQVHcjs.getConfidenceTextClass.call(void 0, confidence)
25646
25658
  ),
25647
25659
  children: confidenceLabel
25648
25660
  }
@@ -26569,7 +26581,7 @@ function PoliciesTable({
26569
26581
  cell: ({ row }) => row.original.href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26570
26582
  _chunkTF5D5MNOcjs.Button,
26571
26583
  {
26572
- onClick: _chunk7VI7TOGIcjs.openInNewTab.call(void 0, row.original.href),
26584
+ onClick: _chunkJBJVUQVHcjs.openInNewTab.call(void 0, row.original.href),
26573
26585
  variant: "outline",
26574
26586
  size: "icon",
26575
26587
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -26895,7 +26907,7 @@ function TenantsTableView({
26895
26907
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
26896
26908
  _chunkTF5D5MNOcjs.Button,
26897
26909
  {
26898
- onClick: _chunk7VI7TOGIcjs.openInNewTab.call(void 0, getHref(row.original)),
26910
+ onClick: _chunkJBJVUQVHcjs.openInNewTab.call(void 0, getHref(row.original)),
26899
26911
  variant: "outline",
26900
26912
  size: "icon",
26901
26913
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -26991,7 +27003,7 @@ function WaitlistForm({
26991
27003
  _react.useEffect.call(void 0, () => {
26992
27004
  rescue.track({ email, phone }, null);
26993
27005
  }, [email, phone, rescue]);
26994
- const isMailDomainGeneric = _chunk7VI7TOGIcjs.hasGenericEmailDomain.call(void 0, email);
27006
+ const isMailDomainGeneric = _chunkJBJVUQVHcjs.hasGenericEmailDomain.call(void 0, email);
26995
27007
  const [syncedDefaultEmail, setSyncedDefaultEmail] = _react.useState.call(void 0, defaultEmail);
26996
27008
  if (syncedDefaultEmail !== defaultEmail) {
26997
27009
  setSyncedDefaultEmail(defaultEmail);
@@ -27025,7 +27037,7 @@ function WaitlistForm({
27025
27037
  setShowConsentError(true);
27026
27038
  return;
27027
27039
  }
27028
- const finalPhone = phone ? _chunk7VI7TOGIcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
27040
+ const finalPhone = phone ? _chunkJBJVUQVHcjs.formatPhoneE164.call(void 0, phone, countryCode) : void 0;
27029
27041
  try {
27030
27042
  await onRegister(email, finalPhone, getSignals(), rescue.submitFields());
27031
27043
  rescue.complete();
@@ -29164,7 +29176,7 @@ function getDeviceStatusConfig(status) {
29164
29176
  }
29165
29177
  }
29166
29178
  function getDeviceOperatingSystem(osType) {
29167
- return _chunk7VI7TOGIcjs.getOSPlatformId.call(void 0, osType);
29179
+ return _chunkJBJVUQVHcjs.getOSPlatformId.call(void 0, osType);
29168
29180
  }
29169
29181
 
29170
29182
  // src/components/features/devices/device-statuses.ts
@@ -31302,7 +31314,7 @@ var ToolBadge = ({
31302
31314
  iconClassName
31303
31315
  }) => {
31304
31316
  const loading = _chunkXFRBEXQNcjs.useLoadingScope.call(void 0, );
31305
- const text = _nullishCoalesce(label, () => ( (toolType ? _chunk7VI7TOGIcjs.getToolLabel.call(void 0, toolType) : "")));
31317
+ const text = _nullishCoalesce(label, () => ( (toolType ? _chunkJBJVUQVHcjs.getToolLabel.call(void 0, toolType) : "")));
31306
31318
  const mark = _nullishCoalesce(icon, () => ( (toolType ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk57B5RUYDcjs.ToolIcon, { toolType, className: iconClassName, size: 16 }) : null)));
31307
31319
  if (loading) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ToolBadgeSkeleton, { variant, icon: !!mark, className });
31308
31320
  const linked = (node, linkClassName) => href && targetPlatform ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -31418,7 +31430,7 @@ function LogsTableView({
31418
31430
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31419
31431
  ToolBadge,
31420
31432
  {
31421
- toolType: _chunk7VI7TOGIcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
31433
+ toolType: _chunkJBJVUQVHcjs.normalizeToolTypeWithFallback.call(void 0, row.original.source.toolType),
31422
31434
  iconClassName: "h-4 w-4 content-md:h-6 content-md:w-6"
31423
31435
  }
31424
31436
  ),
@@ -31430,7 +31442,7 @@ function LogsTableView({
31430
31442
  filter: {
31431
31443
  options: _nullishCoalesce(_optionalChain([facets, 'optionalAccess', _667 => _667.toolTypes, 'access', _668 => _668.map, 'call', _669 => _669((toolType) => ({
31432
31444
  id: toolType,
31433
- label: _chunk7VI7TOGIcjs.toToolLabel.call(void 0, toolType),
31445
+ label: _chunkJBJVUQVHcjs.toToolLabel.call(void 0, toolType),
31434
31446
  value: toolType
31435
31447
  }))]), () => ( []))
31436
31448
  }
@@ -31488,7 +31500,7 @@ function LogsTableView({
31488
31500
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31489
31501
  _chunkTF5D5MNOcjs.Button,
31490
31502
  {
31491
- onClick: getLogHref ? _chunk7VI7TOGIcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
31503
+ onClick: getLogHref ? _chunkJBJVUQVHcjs.openInNewTab.call(void 0, getLogHref(row.original)) : void 0,
31492
31504
  variant: "outline",
31493
31505
  size: "icon",
31494
31506
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -31863,7 +31875,7 @@ function OpenInNewTabCell({ href }) {
31863
31875
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
31864
31876
  _chunkTF5D5MNOcjs.Button,
31865
31877
  {
31866
- onClick: _chunk7VI7TOGIcjs.openInNewTab.call(void 0, href),
31878
+ onClick: _chunkJBJVUQVHcjs.openInNewTab.call(void 0, href),
31867
31879
  variant: "outline",
31868
31880
  size: "icon",
31869
31881
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -32012,9 +32024,9 @@ function ScriptSchedulesTable({
32012
32024
 
32013
32025
  // src/components/features/scripts/shell-types.ts
32014
32026
  var SCRIPT_SHELL_TYPES = [
32015
- { id: _chunk7VI7TOGIcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
32016
- { id: _chunk7VI7TOGIcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
32017
- { id: _chunk7VI7TOGIcjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
32027
+ { id: _chunkJBJVUQVHcjs.ShellTypeValues.POWERSHELL, label: "PowerShell", value: "powershell", icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon },
32028
+ { id: _chunkJBJVUQVHcjs.ShellTypeValues.CMD, label: "CMD", value: "cmd", icon: _chunkNIVJEJSGcjs.TerminalSquareIcon },
32029
+ { id: _chunkJBJVUQVHcjs.ShellTypeValues.BASH, label: "Bash", value: "bash", icon: _chunkTRUW6DDAcjs.TerminalIcon }
32018
32030
  ];
32019
32031
  function scriptShellType(value) {
32020
32032
  return SCRIPT_SHELL_TYPES.find((shell) => shell.value === value);
@@ -33447,7 +33459,7 @@ function ScheduleFormFields({
33447
33459
  disabled = false,
33448
33460
  renderScriptSearch,
33449
33461
  timeReferenceGate = "off",
33450
- platforms = _chunk7VI7TOGIcjs.OS_PLATFORMS,
33462
+ platforms = _chunkJBJVUQVHcjs.OS_PLATFORMS,
33451
33463
  comingSoonPlatforms = [],
33452
33464
  getTimeSlots,
33453
33465
  nameLayout = "stacked",
@@ -33593,7 +33605,7 @@ function ScheduleFormFields({
33593
33605
  // src/components/features/scripts/schedule-form/schedule-script-search-field.tsx
33594
33606
 
33595
33607
  function ScriptPlatformIcons({ platforms }) {
33596
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunk7VI7TOGIcjs.OS_PLATFORMS.filter((p) => platforms.includes(p.id)).map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, p.icon, { className: "h-3.5 w-3.5 text-ods-text-secondary opacity-60" }, p.id)) });
33608
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "inline-flex shrink-0 items-center gap-0.5", children: _chunkJBJVUQVHcjs.OS_PLATFORMS.filter((p) => platforms.includes(p.id)).map((p) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, p.icon, { className: "h-3.5 w-3.5 text-ods-text-secondary opacity-60" }, p.id)) });
33597
33609
  }
33598
33610
  function ScheduleScriptSearchField({
33599
33611
  scriptId,
@@ -33666,7 +33678,7 @@ function getKnowledgeBaseOpenColumn(getHref) {
33666
33678
  cell: ({ row }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { "data-no-row-click": true, className: "pointer-events-auto flex items-center justify-end", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
33667
33679
  _chunkTF5D5MNOcjs.Button,
33668
33680
  {
33669
- onClick: _chunk7VI7TOGIcjs.openInNewTab.call(void 0, getHref(row.original)),
33681
+ onClick: _chunkJBJVUQVHcjs.openInNewTab.call(void 0, getHref(row.original)),
33670
33682
  variant: "outline",
33671
33683
  size: "icon",
33672
33684
  leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkANTDIQKKcjs.ArrowRightUpIcon, { className: "h-5 w-5" }),
@@ -33956,7 +33968,7 @@ function ConversationCard({
33956
33968
  style: tint,
33957
33969
  onClick: selection && ((event) => {
33958
33970
  if (event.button !== 0 || _optionalChain([window, 'access', _733 => _733.getSelection, 'call', _734 => _734(), 'optionalAccess', _735 => _735.toString, 'call', _736 => _736()])) return;
33959
- if (!_chunk7VI7TOGIcjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
33971
+ if (!_chunkJBJVUQVHcjs.isOwnClick.call(void 0, event.target, event.currentTarget, { controls: true })) return;
33960
33972
  selection.onToggle();
33961
33973
  }),
33962
33974
  children: [
@@ -33979,7 +33991,7 @@ function ConversationCard({
33979
33991
  children: selection.pressed ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkXIBCMGBWcjs.CheckIcon, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkX4UZ62MYcjs.PlusIcon, {})
33980
33992
  }
33981
33993
  ),
33982
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7VI7TOGIcjs.ChatTurn, { avatar: requester.avatar, name: requester.name, meta: requester.meta, time: requester.time, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33994
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJBJVUQVHcjs.ChatTurn, { avatar: requester.avatar, name: requester.name, meta: requester.meta, time: requester.time, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
33983
33995
  "p",
33984
33996
  {
33985
33997
  id: requestId,
@@ -33998,7 +34010,7 @@ function ConversationCard({
33998
34010
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: CONTEXT_TEXT_CLASS, style: partLinesStyle(_optionalChain([lines, 'optionalAccess', _737 => _737.context])), children: context.text })
33999
34011
  ] }),
34000
34012
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
34001
- _chunk7VI7TOGIcjs.ChatTurn,
34013
+ _chunkJBJVUQVHcjs.ChatTurn,
34002
34014
  {
34003
34015
  avatar: responder.avatar,
34004
34016
  name: responder.name,
@@ -34021,10 +34033,10 @@ function ConversationCard({
34021
34033
  );
34022
34034
  }
34023
34035
  function TurnSkeleton({ avatarPx, meta, children }) {
34024
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk7VI7TOGIcjs.TURN_ROW_CLASS, children: [
34036
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkJBJVUQVHcjs.TURN_ROW_CLASS, children: [
34025
34037
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJTSUAHDLcjs.SquareAvatarSkeleton, { sizePx: avatarPx }),
34026
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk7VI7TOGIcjs.TURN_BODY_CLASS, children: [
34027
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk7VI7TOGIcjs.ChatTurnNameSkeleton, { meta, time: true }),
34038
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunkJBJVUQVHcjs.TURN_BODY_CLASS, children: [
34039
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJBJVUQVHcjs.ChatTurnNameSkeleton, { meta, time: true }),
34028
34040
  children
34029
34041
  ] })
34030
34042
  ] });