@flamingo-stack/openframe-frontend-core 0.0.742 → 0.0.744

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 (94) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-54EA4RLX.cjs → chunk-2JRCJV3M.cjs} +3 -3
  3. package/dist/{chunk-ZIFYSLIM.cjs → chunk-2UBR53AN.cjs} +4 -4
  4. package/dist/{chunk-Z2DQYKZA.cjs → chunk-35IQLGV3.cjs} +69 -69
  5. package/dist/{chunk-WIHHA54J.cjs → chunk-4A6OF4HI.cjs} +44 -44
  6. package/dist/{chunk-OBODY7F3.cjs → chunk-4N7KGOBS.cjs} +3 -3
  7. package/dist/{chunk-HIRVNBX5.cjs → chunk-65LJNDR2.cjs} +16 -16
  8. package/dist/{chunk-32Q7K5OP.cjs → chunk-7YDF3QBN.cjs} +116 -115
  9. package/dist/{chunk-DNFSMVXJ.cjs → chunk-AT6ZI4CO.cjs} +12 -12
  10. package/dist/{chunk-UWHCRIQQ.cjs → chunk-FTYQS6VI.cjs} +13 -13
  11. package/dist/{chunk-YQGDXH3M.cjs → chunk-GAGNKWOC.cjs} +2 -2
  12. package/dist/{chunk-L34TKFTS.cjs → chunk-H62FNZGG.cjs} +16 -16
  13. package/dist/{chunk-T433HSL6.cjs → chunk-HHL23RFC.cjs} +33 -33
  14. package/dist/{chunk-4PKORVOX.cjs → chunk-HJ4KGA2M.cjs} +441 -406
  15. package/dist/{chunk-4LDU32OB.cjs → chunk-HMSUYWSB.cjs} +4 -4
  16. package/dist/{chunk-UZLRSFGG.cjs → chunk-HTQJYN47.cjs} +30 -30
  17. package/dist/{chunk-XAA5EZ5T.cjs → chunk-JGZEHBBD.cjs} +6 -6
  18. package/dist/{chunk-5MH6BRPY.cjs → chunk-LJ46XYYP.cjs} +24 -12
  19. package/dist/{chunk-ISJXKKYW.cjs → chunk-NURAL5HD.cjs} +11 -11
  20. package/dist/{chunk-PS6T65KA.cjs → chunk-OC2LBQQJ.cjs} +90 -66
  21. package/dist/{chunk-HDBY2URA.cjs → chunk-PYWHDPVC.cjs} +31 -31
  22. package/dist/{chunk-R6SCSV2I.cjs → chunk-QSO56JZ2.cjs} +81 -81
  23. package/dist/{chunk-3LW43GIJ.cjs → chunk-QZYF2YQ3.cjs} +4 -4
  24. package/dist/{chunk-BI3XBCQX.cjs → chunk-YIOWV7LS.cjs} +2 -2
  25. package/dist/{chunk-H3UA7UY5.cjs → chunk-YJRMCFX3.cjs} +2 -2
  26. package/dist/{cloud-tenants-6ICAL3HO.cjs → cloud-tenants-JPXAXSPE.cjs} +7 -7
  27. package/dist/components/case-studies/index.cjs +19 -19
  28. package/dist/components/chat/entity-cards/onboarding-guide-card.d.ts.map +1 -1
  29. package/dist/components/chat/entity-cards/onboarding-guide-card.js +22 -12
  30. package/dist/components/chat/index.cjs +5 -5
  31. package/dist/components/chat/tool-execution-display.d.ts.map +1 -1
  32. package/dist/components/chat/tool-execution-display.js +5 -4
  33. package/dist/components/chat/utils/history-merge.d.ts.map +1 -1
  34. package/dist/components/chat/utils/history-merge.js +25 -1
  35. package/dist/components/contact/index.cjs +8 -8
  36. package/dist/components/docs/index.cjs +11 -11
  37. package/dist/components/embeds/index.cjs +8 -8
  38. package/dist/components/faq/index.cjs +9 -9
  39. package/dist/components/features/index.cjs +7 -7
  40. package/dist/components/features/scripts/schedule-form/schedule-interval-input.d.ts +1 -1
  41. package/dist/components/features/scripts/schedule-form/schedule-interval-input.d.ts.map +1 -1
  42. package/dist/components/features/scripts/schedule-form/schedule-interval-input.js +15 -13
  43. package/dist/components/features/scripts/schedule-form/schedule-offline-fields.d.ts.map +1 -1
  44. package/dist/components/features/scripts/schedule-form/schedule-offline-fields.js +9 -7
  45. package/dist/components/help-center-pages/index.cjs +101 -101
  46. package/dist/components/index.cjs +59 -57
  47. package/dist/components/meeting-scheduler/booking-form.d.ts +11 -1
  48. package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
  49. package/dist/components/meeting-scheduler/booking-form.js +15 -3
  50. package/dist/components/meeting-scheduler/index.cjs +408 -114
  51. package/dist/components/meeting-scheduler/index.d.ts +16 -1
  52. package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
  53. package/dist/components/meeting-scheduler/index.js +157 -5
  54. package/dist/components/meeting-scheduler/modal-header.d.ts +27 -0
  55. package/dist/components/meeting-scheduler/modal-header.d.ts.map +1 -0
  56. package/dist/components/meeting-scheduler/modal-header.js +104 -0
  57. package/dist/components/meeting-scheduler/slot-picker.d.ts +13 -2
  58. package/dist/components/meeting-scheduler/slot-picker.d.ts.map +1 -1
  59. package/dist/components/meeting-scheduler/slot-picker.js +112 -73
  60. package/dist/components/navigation/index.cjs +10 -10
  61. package/dist/components/onboarding-guides/index.cjs +10 -10
  62. package/dist/components/product-demo/index.cjs +7 -7
  63. package/dist/components/related-content/index.cjs +5 -5
  64. package/dist/components/shared/product-release/product-release-card.d.ts.map +1 -1
  65. package/dist/components/shared/product-release/product-release-card.js +2 -0
  66. package/dist/components/tickets/index.cjs +13 -13
  67. package/dist/components/ui/index.cjs +9 -7
  68. package/dist/components/ui/radio-group.d.ts +6 -0
  69. package/dist/components/ui/radio-group.d.ts.map +1 -1
  70. package/dist/components/ui/radio-group.js +65 -58
  71. package/dist/components/ui/tab-navigation.d.ts +19 -1
  72. package/dist/components/ui/tab-navigation.d.ts.map +1 -1
  73. package/dist/components/ui/tab-navigation.js +32 -8
  74. package/dist/{devices-OFP2IBKN.cjs → devices-ONC4JOVH.cjs} +8 -8
  75. package/dist/{embeddable-chat-4C22MGNC.cjs → embeddable-chat-7ZEGCDVF.cjs} +71 -71
  76. package/dist/index.cjs +13 -11
  77. package/dist/{knowledge-KKBCSNUA.cjs → knowledge-G7XU5YST.cjs} +8 -8
  78. package/dist/{logs-X2GRNO57.cjs → logs-5B7NY4G6.cjs} +15 -15
  79. package/dist/{policies-35BXKB6P.cjs → policies-OYR3SLJN.cjs} +11 -11
  80. package/dist/{scripts-KQYVQOLU.cjs → scripts-6CWHTY6U.cjs} +12 -12
  81. package/dist/{software-update-ED33WSKT.cjs → software-update-AJPIY4SQ.cjs} +10 -10
  82. package/package.json +1 -1
  83. package/src/components/chat/entity-cards/onboarding-guide-card.tsx +8 -1
  84. package/src/components/chat/tool-execution-display.tsx +21 -10
  85. package/src/components/chat/utils/history-merge.ts +46 -1
  86. package/src/components/features/scripts/schedule-form/schedule-interval-input.tsx +20 -13
  87. package/src/components/features/scripts/schedule-form/schedule-offline-fields.tsx +9 -5
  88. package/src/components/meeting-scheduler/booking-form.tsx +29 -3
  89. package/src/components/meeting-scheduler/index.tsx +224 -3
  90. package/src/components/meeting-scheduler/modal-header.tsx +145 -0
  91. package/src/components/meeting-scheduler/slot-picker.tsx +72 -8
  92. package/src/components/shared/product-release/product-release-card.tsx +2 -0
  93. package/src/components/ui/radio-group.tsx +51 -36
  94. package/src/components/ui/tab-navigation.tsx +54 -5
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
- var _chunkPS6T65KAcjs = require('./chunk-PS6T65KA.cjs');
4
+ var _chunkOC2LBQQJcjs = require('./chunk-OC2LBQQJ.cjs');
5
5
 
6
6
 
7
- var _chunk32Q7K5OPcjs = require('./chunk-32Q7K5OP.cjs');
7
+ var _chunk7YDF3QBNcjs = require('./chunk-7YDF3QBN.cjs');
8
8
 
9
9
 
10
10
 
@@ -47,7 +47,7 @@ function HorizontalSectionNav({
47
47
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "nav", { ref: navRef, "aria-label": label, className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-14 items-stretch gap-6 bg-ods-bg", className), children: [
48
48
  brand && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden shrink-0 items-center gap-2.5 border-r border-ods-border pr-6 text-ods-text-primary text-h4 content-lg:flex", children: brand }),
49
49
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
50
- _chunk32Q7K5OPcjs.ScrollShadow,
50
+ _chunk7YDF3QBNcjs.ScrollShadow,
51
51
  {
52
52
  axis: "horizontal",
53
53
  className: "min-w-0 flex-1",
@@ -332,7 +332,7 @@ function useScrollSpy(sections, options = {}) {
332
332
  // src/components/navigation/multi-level-navigation.tsx
333
333
  var _lucidereact = require('lucide-react');
334
334
 
335
- var DEFAULT_FOLDER_INDEX_FILE2 = _chunkPS6T65KAcjs.DEFAULT_FOLDER_INDEX_FILE;
335
+ var DEFAULT_FOLDER_INDEX_FILE2 = _chunkOC2LBQQJcjs.DEFAULT_FOLDER_INDEX_FILE;
336
336
  function isNodeVisuallySelected(node, selectedPath, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE2) {
337
337
  const FOLDER_INDEX_FILE = folderIndexFile.toLowerCase();
338
338
  if (selectedPath === node.path) {
@@ -2,29 +2,29 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkH3UA7UY5cjs = require('./chunk-H3UA7UY5.cjs');
5
+ var _chunkYJRMCFX3cjs = require('./chunk-YJRMCFX3.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkDNFSMVXJcjs = require('./chunk-DNFSMVXJ.cjs');
9
+ var _chunkAT6ZI4COcjs = require('./chunk-AT6ZI4CO.cjs');
10
10
 
11
11
 
12
12
 
13
13
 
14
14
 
15
15
 
16
- var _chunk4PKORVOXcjs = require('./chunk-4PKORVOX.cjs');
16
+ var _chunkHJ4KGA2Mcjs = require('./chunk-HJ4KGA2M.cjs');
17
17
 
18
18
 
19
19
  var _chunkU2O5YQRPcjs = require('./chunk-U2O5YQRP.cjs');
20
20
 
21
21
 
22
- var _chunkPS6T65KAcjs = require('./chunk-PS6T65KA.cjs');
22
+ var _chunkOC2LBQQJcjs = require('./chunk-OC2LBQQJ.cjs');
23
23
 
24
24
 
25
25
 
26
26
 
27
- var _chunk32Q7K5OPcjs = require('./chunk-32Q7K5OP.cjs');
27
+ var _chunk7YDF3QBNcjs = require('./chunk-7YDF3QBN.cjs');
28
28
 
29
29
 
30
30
  var _chunk3RFQPQ7Zcjs = require('./chunk-3RFQPQ7Z.cjs');
@@ -34,13 +34,13 @@ var _chunk3RFQPQ7Zcjs = require('./chunk-3RFQPQ7Z.cjs');
34
34
  var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
35
35
 
36
36
 
37
- var _chunkXAA5EZ5Tcjs = require('./chunk-XAA5EZ5T.cjs');
37
+ var _chunkJGZEHBBDcjs = require('./chunk-JGZEHBBD.cjs');
38
38
 
39
39
 
40
40
 
41
41
 
42
42
 
43
- var _chunk5MH6BRPYcjs = require('./chunk-5MH6BRPY.cjs');
43
+ var _chunkLJ46XYYPcjs = require('./chunk-LJ46XYYP.cjs');
44
44
 
45
45
 
46
46
  var _chunkI5MSCD57cjs = require('./chunk-I5MSCD57.cjs');
@@ -68,7 +68,7 @@ function OnboardingGuidesCatalogSkeleton() {
68
68
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-6 w-40 rounded bg-ods-border/70" }),
69
69
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "h-5 w-8 rounded-full bg-ods-text-secondary/20" })
70
70
  ] }),
71
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "flex flex-col gap-4", children: Array.from({ length: cardCount }).map((_, cardIdx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MH6BRPYcjs.OnboardingGuideCardSkeleton, { size: "catalog" }) }, cardIdx)) })
71
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "ul", { className: "flex flex-col gap-4", children: Array.from({ length: cardCount }).map((_, cardIdx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.OnboardingGuideCardSkeleton, { size: "catalog" }) }, cardIdx)) })
72
72
  ] }, sectionIdx)) })
73
73
  ] });
74
74
  }
@@ -92,10 +92,10 @@ function OnboardingGuidesCatalogView({
92
92
  const sectionValue = selfFetch ? _nullishCoalesce(searchParams.get("section"), () => ( "")) : initialSection;
93
93
  const activeSection = sectionValue || "all";
94
94
  const guidesQs = sectionValue ? `?section=${encodeURIComponent(sectionValue)}` : "";
95
- const guidesRes = _chunkXAA5EZ5Tcjs.useSelfFetch.call(void 0,
95
+ const guidesRes = _chunkJGZEHBBDcjs.useSelfFetch.call(void 0,
96
96
  selfFetch && guidesEndpoint ? `${guidesEndpoint}${guidesQs}` : null
97
97
  );
98
- const sectionsRes = _chunkXAA5EZ5Tcjs.useSelfFetch.call(void 0, selfFetch && sectionsEndpoint ? sectionsEndpoint : null);
98
+ const sectionsRes = _chunkJGZEHBBDcjs.useSelfFetch.call(void 0, selfFetch && sectionsEndpoint ? sectionsEndpoint : null);
99
99
  const guides = _react.useMemo.call(void 0, () => _nullishCoalesce(_nullishCoalesce(initialGuides, () => ( _optionalChain([guidesRes, 'access', _2 => _2.data, 'optionalAccess', _3 => _3.data]))), () => ( [])), [initialGuides, _optionalChain([guidesRes, 'access', _4 => _4.data, 'optionalAccess', _5 => _5.data])]);
100
100
  const sections = _react.useMemo.call(void 0,
101
101
  () => _nullishCoalesce(initialSections, () => ( (Array.isArray(sectionsRes.data) ? sectionsRes.data : []))),
@@ -138,25 +138,25 @@ function OnboardingGuidesCatalogView({
138
138
  });
139
139
  };
140
140
  const source = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _6 => _6.source]), () => ( "openframe"));
141
- const docSearch = _chunkDNFSMVXJcjs.useDocSearch.call(void 0, {
141
+ const docSearch = _chunkAT6ZI4COcjs.useDocSearch.call(void 0, {
142
142
  source,
143
143
  baseRoute: basePath,
144
144
  onNavigate: (path) => router.push(path),
145
145
  tableIds: ["onboarding-guides"]
146
146
  });
147
147
  const defaultRenderCard = (guide) => {
148
- const cta = _chunkPS6T65KAcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
148
+ const cta = _chunkOC2LBQQJcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _7 => _7.composeContentUrl]), {
149
149
  type: "onboarding_guide",
150
150
  slug: guide.slug,
151
151
  basePath,
152
152
  platforms: guide.onboarding_guide_platforms
153
153
  });
154
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MH6BRPYcjs.OnboardingGuideCard, { guide, href: cta.href, targetPlatform: cta.targetPlatform, size: "catalog" });
154
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.OnboardingGuideCard, { guide, href: cta.href, targetPlatform: cta.targetPlatform, size: "catalog" });
155
155
  };
156
156
  const renderCardFn = _nullishCoalesce(renderCard, () => ( defaultRenderCard));
157
157
  const preControls = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
158
158
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
159
- _chunkDNFSMVXJcjs.DocSearchBar,
159
+ _chunkAT6ZI4COcjs.DocSearchBar,
160
160
  {
161
161
  placeholder: "Search onboarding guides, releases, case studies\u2026",
162
162
  query: docSearch.query,
@@ -168,7 +168,7 @@ function OnboardingGuidesCatalogView({
168
168
  }
169
169
  ),
170
170
  sections.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
171
- _chunk4PKORVOXcjs.FilterPillRow,
171
+ _chunkHJ4KGA2Mcjs.FilterPillRow,
172
172
  {
173
173
  label: "Section",
174
174
  selectedValue: activeSection,
@@ -178,7 +178,7 @@ function OnboardingGuidesCatalogView({
178
178
  )
179
179
  ] });
180
180
  if (selfFetch && guidesRes.error) {
181
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4PKORVOXcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
181
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.LoadError, { message: "Failed to load onboarding guides.", onRetry: guidesRes.reload });
182
182
  }
183
183
  if (selfFetch && guidesRes.data == null && isLoading) {
184
184
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, OnboardingGuidesCatalogSkeleton, {});
@@ -210,7 +210,7 @@ function OnboardingGuideDetailView({
210
210
  slug,
211
211
  guideEndpoint,
212
212
  related = [],
213
- MarkdownRenderer = _chunk4PKORVOXcjs.RichMarkdownRenderer,
213
+ MarkdownRenderer = _chunkHJ4KGA2Mcjs.RichMarkdownRenderer,
214
214
  renderRelatedCard,
215
215
  backHref,
216
216
  backLabel = "Back to Getting Started",
@@ -220,23 +220,23 @@ function OnboardingGuideDetailView({
220
220
  }) {
221
221
  const resolvedBackHref = _nullishCoalesce(backHref, () => ( basePath));
222
222
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
223
- const captions = _chunk32Q7K5OPcjs.useCaptions.call(void 0, );
223
+ const captions = _chunk7YDF3QBNcjs.useCaptions.call(void 0, );
224
224
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
225
- const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4PKORVOXcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
225
+ const renderShell = (node) => shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.PageShell, { children: node }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: node });
226
226
  const url = initialData ? null : slug && guideEndpoint ? guideEndpoint(slug) : null;
227
- const { data: guide, isLoading, error, reload } = _chunkXAA5EZ5Tcjs.useSelfFetch.call(void 0, url, { initialData });
227
+ const { data: guide, isLoading, error, reload } = _chunkJGZEHBBDcjs.useSelfFetch.call(void 0, url, { initialData });
228
228
  const { ref: videoWarmupRef } = _chunk3RFQPQ7Zcjs.useVideoWarmup.call(void 0, {
229
229
  videoUrl: _optionalChain([guide, 'optionalAccess', _8 => _8.main_video_url]),
230
230
  supabaseStorageOrigin: _optionalChain([runtime, 'optionalAccess', _9 => _9.endpoints, 'access', _10 => _10.supabaseStorageOrigin])
231
231
  });
232
232
  if (error || !guide && !isLoading) {
233
- return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4PKORVOXcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
233
+ return renderShell(/* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.LoadError, { message: "Guide not found.", onRetry: reload }));
234
234
  }
235
235
  if (!guide) {
236
236
  return renderShell(
237
237
  // Match the loaded page's top offset (TitleBlock's
238
238
  // `pt-[var(--spacing-system-l)]`) so content doesn't jump on load.
239
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkH3UA7UY5cjs.DetailPageSkeleton, { bare: true, showImageGallery: false }) })
239
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJRMCFX3cjs.DetailPageSkeleton, { bare: true, showImageGallery: false }) })
240
240
  );
241
241
  }
242
242
  const { captionsUrl, highlightCaptionsUrl } = captions.forEntity("onboarding_guide", guide);
@@ -244,13 +244,13 @@ function OnboardingGuideDetailView({
244
244
  // worst), so it's the terminal fallback — no trailing `|| undefined` needed.
245
245
  _chunkI5MSCD57cjs.buildOgPlaceholderUrl.call(void 0, _optionalChain([runtime, 'optionalAccess', _11 => _11.endpoints]), guide.title, { aspect: "wide" });
246
246
  const defaultRenderRelatedCard = (g) => {
247
- const cta = _chunkPS6T65KAcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
247
+ const cta = _chunkOC2LBQQJcjs.resolveContentHref.call(void 0, _optionalChain([runtime, 'optionalAccess', _12 => _12.composeContentUrl]), {
248
248
  type: "onboarding_guide",
249
249
  slug: g.slug,
250
250
  basePath,
251
251
  platforms: g.onboarding_guide_platforms
252
252
  });
253
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MH6BRPYcjs.OnboardingGuideCard, { guide: g, href: cta.href, targetPlatform: cta.targetPlatform });
253
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.OnboardingGuideCard, { guide: g, href: cta.href, targetPlatform: cta.targetPlatform });
254
254
  };
255
255
  const renderRelatedCardFn = _nullishCoalesce(renderRelatedCard, () => ( defaultRenderRelatedCard));
256
256
  return renderShell(
@@ -262,9 +262,9 @@ function OnboardingGuideDetailView({
262
262
  titleWrap: true,
263
263
  backButton: { label: backLabel, onClick: () => router.push(resolvedBackHref) },
264
264
  children: [
265
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4PKORVOXcjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
265
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.EntityTagBadges, { tags: guide.onboarding_guide_tags }),
266
266
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
267
- _chunk5MH6BRPYcjs.EntityAuthorCard,
267
+ _chunkLJ46XYYPcjs.EntityAuthorCard,
268
268
  {
269
269
  author: guide.author,
270
270
  authorHref,
@@ -279,7 +279,7 @@ function OnboardingGuideDetailView({
279
279
  }
280
280
  ),
281
281
  (guide.main_video_url || guide.youtube_url) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: videoWarmupRef, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
282
- _chunk32Q7K5OPcjs.EntityVideoSection,
282
+ _chunk7YDF3QBNcjs.EntityVideoSection,
283
283
  {
284
284
  mainVideoUrl: guide.main_video_url,
285
285
  youtubeUrl: guide.youtube_url || void 0,
@@ -296,17 +296,17 @@ function OnboardingGuideDetailView({
296
296
  ) }),
297
297
  guide.content && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "space-y-4", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, MarkdownRenderer, { content: guide.content }) }),
298
298
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
299
- _chunk32Q7K5OPcjs.VideoBitesStrip,
299
+ _chunk7YDF3QBNcjs.VideoBitesStrip,
300
300
  {
301
301
  bites: _nullishCoalesce(guide.video_bites, () => ( [])),
302
302
  filterPublished: true,
303
303
  showTitle: false,
304
- profile: _chunk5MH6BRPYcjs.toStripProfile.call(void 0, guide.author),
304
+ profile: _chunkLJ46XYYPcjs.toStripProfile.call(void 0, guide.author),
305
305
  href: `/onboarding-guides/${guide.slug}`
306
306
  }
307
307
  ),
308
308
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
309
- _chunkH3UA7UY5cjs.ArticleAuthorByline,
309
+ _chunkYJRMCFX3cjs.ArticleAuthorByline,
310
310
  {
311
311
  author: _nullishCoalesce(_optionalChain([guide, 'access', _13 => _13.author, 'optionalAccess', _14 => _14.full_name]), () => ( null)),
312
312
  avatar: _optionalChain([guide, 'access', _15 => _15.author, 'optionalAccess', _16 => _16.avatar_url]),
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunk5MH6BRPYcjs = require('./chunk-5MH6BRPY.cjs');
6
+ var _chunkLJ46XYYPcjs = require('./chunk-LJ46XYYP.cjs');
7
7
 
8
8
 
9
9
 
@@ -51,7 +51,7 @@ function pickBadgePaletteColor({
51
51
  var _jsxruntime = require('react/jsx-runtime');
52
52
  function PaletteBadge({ text, color, className, variant = "button" }) {
53
53
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
54
- _chunk5MH6BRPYcjs.StatusBadge,
54
+ _chunkLJ46XYYPcjs.StatusBadge,
55
55
  {
56
56
  text,
57
57
  colorScheme: isBadgePaletteKey(color) ? color : "default",
@@ -204,7 +204,7 @@ var STATUS_BADGE_SCHEME = {
204
204
  abandoned: "default"
205
205
  };
206
206
  function EmployeeEntryBadge({ children }) {
207
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5MH6BRPYcjs.StatusBadge, { text: children, colorScheme: "default", variant: "button", singleLine: true });
207
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkLJ46XYYPcjs.StatusBadge, { text: children, colorScheme: "default", variant: "button", singleLine: true });
208
208
  }
209
209
  function EmployeeEntryCard({
210
210
  entry,
@@ -217,7 +217,7 @@ function EmployeeEntryCard({
217
217
  className
218
218
  }) {
219
219
  const card = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
220
- _chunk5MH6BRPYcjs.AdminContentCard,
220
+ _chunkLJ46XYYPcjs.AdminContentCard,
221
221
  {
222
222
  imageUrl: entry.featured_image || entry.main_video_thumbnail,
223
223
  placeholderUrl,
@@ -225,7 +225,7 @@ function EmployeeEntryCard({
225
225
  summary: (_nullishCoalesce(entry.summary, () => ( ""))).slice(0, 140) || "No description",
226
226
  badges: entry.status || extraBadges ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
227
227
  entry.status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
228
- _chunk5MH6BRPYcjs.StatusBadge,
228
+ _chunkLJ46XYYPcjs.StatusBadge,
229
229
  {
230
230
  text: entry.status,
231
231
  colorScheme: _nullishCoalesce(STATUS_BADGE_SCHEME[entry.status], () => ( "default")),
@@ -240,7 +240,7 @@ function EmployeeEntryCard({
240
240
  _optionalChain([entry, 'access', _8 => _8.author, 'optionalAccess', _9 => _9.avatar_url]) ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
241
241
  _chunkHOTM4UM6cjs.next_image_default,
242
242
  {
243
- src: _nullishCoalesce(_chunk5MH6BRPYcjs.getProxiedImageUrl2.call(void 0, entry.author.avatar_url), () => ( entry.author.avatar_url)),
243
+ src: _nullishCoalesce(_chunkLJ46XYYPcjs.getProxiedImageUrl2.call(void 0, entry.author.avatar_url), () => ( entry.author.avatar_url)),
244
244
  alt: "",
245
245
  className: "h-[1lh] w-[1lh] shrink-0 rounded-full object-cover",
246
246
  width: 20,
@@ -2239,6 +2239,8 @@ function ProductReleaseCard({
2239
2239
  // affordance, so explicit ring styles match the `<span role>` form.
2240
2240
  "my-1.5 flex w-full items-start gap-3 p-2",
2241
2241
  "rounded-lg border border-ods-border bg-ods-card no-underline",
2242
+ // The play mark on a video cover shows on the card's hover.
2243
+ "group",
2242
2244
  isInteractive ? "cursor-pointer transition-colors hover:border-ods-text-secondary/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-accent focus-visible:ring-offset-1 focus-visible:ring-offset-ods-card" : "cursor-default",
2243
2245
  className
2244
2246
  );
@@ -3386,18 +3388,28 @@ function OnboardingGuideCard({
3386
3388
  const subtitleParts = [`Step ${guide.step_order}`, guide.section, author].filter(
3387
3389
  (s) => typeof s === "string" && s.length > 0
3388
3390
  );
3389
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkV45KLJQPcjs.next_link_default, { href, target, rel, prefetch: false, className: _chunk3ATAYP36cjs.cn.call(void 0, COMPACT_CARD_OUTER, className), children: [
3390
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
3391
- compactCover ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHOTM4UM6cjs.next_image_default, { src: compactCover, alt: guide.title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.GraduationCap, { className: "h-4 w-4" }) }),
3392
- hasVideoCover && compactCover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63N4FN5Vcjs.CardHoverPlay, { size: "sm" })
3393
- ] }),
3394
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
3395
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, COMPACT_CARD_TITLE, "font-heading"), children: guide.title }) }),
3396
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-accent text-h6", children: subtitleParts.join(" \xB7 ") }) }),
3397
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: summary2 || COMPACT_CARD_ROW_FILLER }) })
3398
- ] }),
3399
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) })
3400
- ] });
3391
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
3392
+ _chunkV45KLJQPcjs.next_link_default,
3393
+ {
3394
+ href,
3395
+ target,
3396
+ rel,
3397
+ prefetch: false,
3398
+ className: _chunk3ATAYP36cjs.cn.call(void 0, COMPACT_CARD_OUTER, "group", className),
3399
+ children: [
3400
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_IMAGE_SLOT, children: [
3401
+ compactCover ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHOTM4UM6cjs.next_image_default, { src: compactCover, alt: guide.title, fill: true, sizes: "56px", className: "object-contain", unoptimized: true }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-full w-full items-center justify-center text-ods-accent", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.GraduationCap, { className: "h-4 w-4" }) }),
3402
+ hasVideoCover && compactCover && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk63N4FN5Vcjs.CardHoverPlay, { size: "sm" })
3403
+ ] }),
3404
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: COMPACT_CARD_TEXT_COL, children: [
3405
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_TITLE_ROW, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: _chunk3ATAYP36cjs.cn.call(void 0, COMPACT_CARD_TITLE, "font-heading"), children: guide.title }) }),
3406
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-accent text-h6", children: subtitleParts.join(" \xB7 ") }) }),
3407
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_META_ROW_BOX, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: COMPACT_CARD_SUMMARY, children: summary2 || COMPACT_CARD_ROW_FILLER }) })
3408
+ ] }),
3409
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex h-5 shrink-0 items-center self-start text-ods-text-secondary", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.ExternalLink, { className: "h-3.5 w-3.5" }) })
3410
+ ]
3411
+ }
3412
+ );
3401
3413
  }
3402
3414
  const t = HORIZONTAL_SIZE_TOKENS.default;
3403
3415
  const summary = stripMarkdownPreview(guide.video_summary || guide.content || "");
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunk4PKORVOXcjs = require('./chunk-4PKORVOX.cjs');
5
+ var _chunkHJ4KGA2Mcjs = require('./chunk-HJ4KGA2M.cjs');
6
6
 
7
7
 
8
8
 
@@ -17,16 +17,16 @@ var _chunkU2O5YQRPcjs = require('./chunk-U2O5YQRP.cjs');
17
17
  var _chunk4FWURR3Wcjs = require('./chunk-4FWURR3W.cjs');
18
18
 
19
19
 
20
- var _chunkPS6T65KAcjs = require('./chunk-PS6T65KA.cjs');
20
+ var _chunkOC2LBQQJcjs = require('./chunk-OC2LBQQJ.cjs');
21
21
 
22
22
 
23
23
 
24
24
 
25
- var _chunk32Q7K5OPcjs = require('./chunk-32Q7K5OP.cjs');
25
+ var _chunk7YDF3QBNcjs = require('./chunk-7YDF3QBN.cjs');
26
26
 
27
27
 
28
28
 
29
- var _chunk5MH6BRPYcjs = require('./chunk-5MH6BRPY.cjs');
29
+ var _chunkLJ46XYYPcjs = require('./chunk-LJ46XYYP.cjs');
30
30
 
31
31
 
32
32
 
@@ -119,7 +119,7 @@ function ContactForm({
119
119
  successToastMessage = "Redirecting you to join our community...",
120
120
  rescue: rescueForm = null
121
121
  } = {}) {
122
- const attachments = _chunk32Q7K5OPcjs.useChatAttachments.call(void 0, );
122
+ const attachments = _chunk7YDF3QBNcjs.useChatAttachments.call(void 0, );
123
123
  const builtInSubmission = _chunk4FWURR3Wcjs.useContactSubmission.call(void 0, {
124
124
  userId,
125
125
  successRedirectUrl,
@@ -190,7 +190,7 @@ function ContactForm({
190
190
  className: `flex h-full flex-col ${!noBorder ? "rounded-2xl border border-ods-border content-md:rounded-3xl" : ""} ${!noPadding ? "p-6 content-md:p-8 content-lg:p-10" : ""}`,
191
191
  children: [
192
192
  (title || subtitle) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mb-6 content-md:mb-8", children: [
193
- title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunk5MH6BRPYcjs.SECTION_HEADING_CLASS} mb-3 content-md:mb-4`, children: _chunk5MH6BRPYcjs.accentSentenceMarks.call(void 0, title) }),
193
+ title && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: `${_chunkLJ46XYYPcjs.SECTION_HEADING_CLASS} mb-3 content-md:mb-4`, children: _chunkLJ46XYYPcjs.accentSentenceMarks.call(void 0, title) }),
194
194
  subtitle && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-primary text-h4", children: subtitle })
195
195
  ] }),
196
196
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -203,13 +203,13 @@ function ContactForm({
203
203
  );
204
204
  }),
205
205
  className: "flex flex-grow flex-col space-y-4 content-md:space-y-6",
206
- ..._chunkPS6T65KAcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
206
+ ..._chunkOC2LBQQJcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
207
207
  children: [
208
208
  !showName && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("name") }),
209
209
  !showEmail && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("email") }),
210
210
  !showHelpCategory && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("helpCategory") }),
211
211
  !showMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "input", { type: "hidden", ...register("message") }),
212
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk4PKORVOXcjs.HoneypotField, { ...honeypotInputProps }),
212
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHJ4KGA2Mcjs.HoneypotField, { ...honeypotInputProps }),
213
213
  extraTopField,
214
214
  showNameEmailRow && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "grid grid-cols-1 gap-4 content-md:grid-cols-2 content-md:gap-6", children: [
215
215
  showName && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col", children: [
@@ -334,7 +334,7 @@ function ContactForm({
334
334
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHTRILBJDcjs.RequiredMark, {})
335
335
  ] }),
336
336
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
337
- _chunk4PKORVOXcjs.Textarea,
337
+ _chunkHJ4KGA2Mcjs.Textarea,
338
338
  {
339
339
  id: "message",
340
340
  ...register("message"),
@@ -349,7 +349,7 @@ function ContactForm({
349
349
  ] }),
350
350
  attachmentsEnabled && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-2", children: [
351
351
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
352
- _chunk32Q7K5OPcjs.ChatAttachmentChipStrip,
352
+ _chunk7YDF3QBNcjs.ChatAttachmentChipStrip,
353
353
  {
354
354
  attachments: attachments.attachments,
355
355
  onRemove: attachments.removeAttachment,
@@ -358,7 +358,7 @@ function ContactForm({
358
358
  ),
359
359
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-2", children: [
360
360
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
361
- _chunk32Q7K5OPcjs.ChatAttachmentAddButton,
361
+ _chunk7YDF3QBNcjs.ChatAttachmentAddButton,
362
362
  {
363
363
  attachmentsEnabled: true,
364
364
  attachmentsCount: attachments.attachments.length,