@flamingo-stack/openframe-frontend-core 0.0.743 → 0.0.745

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 (84) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-ZP5DFF3Q.cjs → chunk-3LX5AGZO.cjs} +9 -9
  3. package/dist/{chunk-MLZKPDPZ.cjs → chunk-6IQDQQ56.cjs} +25 -25
  4. package/dist/{chunk-NGUJVM6O.cjs → chunk-75BF7YJR.cjs} +7 -7
  5. package/dist/{chunk-6XCQXGQA.cjs → chunk-7KHQHYXL.cjs} +11 -11
  6. package/dist/{chunk-IRWJKVVZ.cjs → chunk-7PQOZLVP.cjs} +9 -9
  7. package/dist/{chunk-7YDF3QBN.cjs → chunk-DJO7YMT3.cjs} +126 -13
  8. package/dist/{chunk-YDFKFLDQ.cjs → chunk-FNIFUCXU.cjs} +3 -3
  9. package/dist/{chunk-YWMUZLU2.cjs → chunk-GEEKJ7SH.cjs} +37 -37
  10. package/dist/{chunk-BM6JZRVD.cjs → chunk-GOTEXQZN.cjs} +40 -16
  11. package/dist/{chunk-TKASH5YC.cjs → chunk-GQ2TRIOV.cjs} +33 -33
  12. package/dist/{chunk-UL6ZZSL4.cjs → chunk-HMSCUL4R.cjs} +4 -4
  13. package/dist/{chunk-MT7ELGCV.cjs → chunk-HVR7DPAY.cjs} +4 -4
  14. package/dist/{chunk-SQHTX5XP.cjs → chunk-M4FKV2U5.cjs} +6 -6
  15. package/dist/{chunk-Y2FN3E32.cjs → chunk-NFINQ7IZ.cjs} +4 -4
  16. package/dist/{chunk-XJO5ZHO6.cjs → chunk-PM5ELQBL.cjs} +17 -17
  17. package/dist/{chunk-WCY35GB5.cjs → chunk-QES5NV4T.cjs} +716 -532
  18. package/dist/{chunk-BNTELSHZ.cjs → chunk-RIGSZEXS.cjs} +66 -66
  19. package/dist/{cloud-tenants-DZC3ACG6.cjs → cloud-tenants-DECPWIYQ.cjs} +4 -4
  20. package/dist/components/case-studies/index.cjs +14 -14
  21. package/dist/components/chat/index.cjs +3 -3
  22. package/dist/components/chat/utils/history-merge.d.ts.map +1 -1
  23. package/dist/components/chat/utils/history-merge.js +25 -1
  24. package/dist/components/contact/index.cjs +5 -5
  25. package/dist/components/docs/index.cjs +8 -8
  26. package/dist/components/embeds/index.cjs +5 -5
  27. package/dist/components/embeds/reddit-embed-client.d.ts +3 -1
  28. package/dist/components/embeds/reddit-embed-client.d.ts.map +1 -1
  29. package/dist/components/embeds/reddit-embed-client.js +5 -3
  30. package/dist/components/embeds/twitter-embed-client.d.ts +3 -1
  31. package/dist/components/embeds/twitter-embed-client.d.ts.map +1 -1
  32. package/dist/components/embeds/twitter-embed-client.js +5 -3
  33. package/dist/components/faq/index.cjs +6 -6
  34. package/dist/components/features/index.cjs +4 -4
  35. package/dist/components/help-center-pages/index.cjs +74 -74
  36. package/dist/components/index.cjs +41 -37
  37. package/dist/components/meeting-scheduler/index.cjs +22 -22
  38. package/dist/components/navigation/index.cjs +7 -7
  39. package/dist/components/onboarding-guides/index.cjs +6 -6
  40. package/dist/components/product-demo/index.cjs +7 -7
  41. package/dist/components/tickets/index.cjs +9 -9
  42. package/dist/components/ui/index.cjs +8 -4
  43. package/dist/components/ui/index.d.ts +1 -0
  44. package/dist/components/ui/index.d.ts.map +1 -1
  45. package/dist/components/ui/index.js +1 -0
  46. package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
  47. package/dist/components/ui/markdown/base-components.js +3 -2
  48. package/dist/components/ui/markdown/rich/embed-overrides.d.ts.map +1 -1
  49. package/dist/components/ui/markdown/rich/embed-overrides.js +11 -8
  50. package/dist/components/ui/markdown-editor.d.ts.map +1 -1
  51. package/dist/components/ui/markdown-editor.js +4 -0
  52. package/dist/components/ui/markdown-link-command.d.ts +37 -0
  53. package/dist/components/ui/markdown-link-command.d.ts.map +1 -0
  54. package/dist/components/ui/markdown-link-command.js +180 -0
  55. package/dist/{devices-MFGE2JQV.cjs → devices-HJKDRWQX.cjs} +5 -5
  56. package/dist/{embeddable-chat-7ZEGCDVF.cjs → embeddable-chat-3SKFBO2P.cjs} +64 -64
  57. package/dist/index.cjs +24 -8
  58. package/dist/{knowledge-7VPS2ZBU.cjs → knowledge-NH2CGY2C.cjs} +5 -5
  59. package/dist/{logs-M3QPAUH7.cjs → logs-KZYIDYQK.cjs} +12 -12
  60. package/dist/{policies-UAVE6X62.cjs → policies-UAVTPIKM.cjs} +8 -8
  61. package/dist/{scripts-EDQ3IQKW.cjs → scripts-FRPY43KU.cjs} +9 -9
  62. package/dist/{software-update-B2MZVNPK.cjs → software-update-AEJJNLX5.cjs} +7 -7
  63. package/dist/utils/index.cjs +119 -4
  64. package/dist/utils/index.d.ts +1 -0
  65. package/dist/utils/index.d.ts.map +1 -1
  66. package/dist/utils/index.js +1 -0
  67. package/dist/utils/markdown-link.d.ts +44 -0
  68. package/dist/utils/markdown-link.d.ts.map +1 -0
  69. package/dist/utils/markdown-link.js +83 -0
  70. package/dist/utils/markdown-to-plain.d.ts +3 -16
  71. package/dist/utils/markdown-to-plain.d.ts.map +1 -1
  72. package/dist/utils/markdown-to-plain.js +33 -3
  73. package/package.json +3 -1
  74. package/src/components/chat/utils/history-merge.ts +46 -1
  75. package/src/components/embeds/reddit-embed-client.tsx +7 -3
  76. package/src/components/embeds/twitter-embed-client.tsx +7 -3
  77. package/src/components/ui/index.ts +1 -0
  78. package/src/components/ui/markdown/base-components.tsx +5 -2
  79. package/src/components/ui/markdown/rich/embed-overrides.tsx +12 -9
  80. package/src/components/ui/markdown-editor.tsx +6 -0
  81. package/src/components/ui/markdown-link-command.tsx +252 -0
  82. package/src/utils/index.ts +1 -0
  83. package/src/utils/markdown-link.ts +148 -0
  84. package/src/utils/markdown-to-plain.ts +64 -22
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkWCY35GB5cjs = require('./chunk-WCY35GB5.cjs');
5
+ var _chunkQES5NV4Tcjs = require('./chunk-QES5NV4T.cjs');
6
6
 
7
7
 
8
8
 
@@ -17,12 +17,12 @@ var _chunkU2O5YQRPcjs = require('./chunk-U2O5YQRP.cjs');
17
17
  var _chunk4FWURR3Wcjs = require('./chunk-4FWURR3W.cjs');
18
18
 
19
19
 
20
- var _chunkBM6JZRVDcjs = require('./chunk-BM6JZRVD.cjs');
20
+ var _chunkGOTEXQZNcjs = require('./chunk-GOTEXQZN.cjs');
21
21
 
22
22
 
23
23
 
24
24
 
25
- var _chunk7YDF3QBNcjs = require('./chunk-7YDF3QBN.cjs');
25
+ var _chunkDJO7YMT3cjs = require('./chunk-DJO7YMT3.cjs');
26
26
 
27
27
 
28
28
 
@@ -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 = _chunk7YDF3QBNcjs.useChatAttachments.call(void 0, );
122
+ const attachments = _chunkDJO7YMT3cjs.useChatAttachments.call(void 0, );
123
123
  const builtInSubmission = _chunk4FWURR3Wcjs.useContactSubmission.call(void 0, {
124
124
  userId,
125
125
  successRedirectUrl,
@@ -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
- ..._chunkBM6JZRVDcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
206
+ ..._chunkGOTEXQZNcjs.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, _chunkWCY35GB5cjs.HoneypotField, { ...honeypotInputProps }),
212
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.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
- _chunkWCY35GB5cjs.Textarea,
337
+ _chunkQES5NV4Tcjs.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
- _chunk7YDF3QBNcjs.ChatAttachmentChipStrip,
352
+ _chunkDJO7YMT3cjs.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
- _chunk7YDF3QBNcjs.ChatAttachmentAddButton,
361
+ _chunkDJO7YMT3cjs.ChatAttachmentAddButton,
362
362
  {
363
363
  attachmentsEnabled: true,
364
364
  attachmentsCount: attachments.attachments.length,
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _chunkUL6ZZSL4cjs = require('./chunk-UL6ZZSL4.cjs');
4
+ var _chunkHMSCUL4Rcjs = require('./chunk-HMSCUL4R.cjs');
5
5
 
6
6
 
7
7
 
@@ -12,7 +12,7 @@ var _chunkUL6ZZSL4cjs = require('./chunk-UL6ZZSL4.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkWCY35GB5cjs = require('./chunk-WCY35GB5.cjs');
15
+ var _chunkQES5NV4Tcjs = require('./chunk-QES5NV4T.cjs');
16
16
 
17
17
 
18
18
  var _chunkNTGIQP7Ocjs = require('./chunk-NTGIQP7O.cjs');
@@ -32,10 +32,10 @@ var _chunk24I6RFVUcjs = require('./chunk-24I6RFVU.cjs');
32
32
 
33
33
 
34
34
 
35
- var _chunkBM6JZRVDcjs = require('./chunk-BM6JZRVD.cjs');
35
+ var _chunkGOTEXQZNcjs = require('./chunk-GOTEXQZN.cjs');
36
36
 
37
37
 
38
- var _chunk7YDF3QBNcjs = require('./chunk-7YDF3QBN.cjs');
38
+ var _chunkDJO7YMT3cjs = require('./chunk-DJO7YMT3.cjs');
39
39
 
40
40
 
41
41
  var _chunkOWGLRE74cjs = require('./chunk-OWGLRE74.cjs');
@@ -181,7 +181,7 @@ function NavItemRow({
181
181
  className
182
182
  }) {
183
183
  const label = navLinkLabel(link);
184
- const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCY35GB5cjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
184
+ const counter = badge ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.UnreadCountBadge, { count: badge, className: "static shrink-0" }) : null;
185
185
  const singleLine = !link.description && !link.builtOn;
186
186
  const rowClassName = _chunk3ATAYP36cjs.cn.call(void 0,
187
187
  ROW_CLASSES[variant],
@@ -569,7 +569,7 @@ function SiteHeader({
569
569
  leading: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
570
570
  leading,
571
571
  mobile && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
572
- _chunkWCY35GB5cjs.HeaderButton,
572
+ _chunkQES5NV4Tcjs.HeaderButton,
573
573
  {
574
574
  className: "border-r border-ods-border lg:hidden",
575
575
  onClick: mobile.onToggle,
@@ -595,7 +595,7 @@ function SiteHeader({
595
595
  centerClassName: "justify-start pl-[var(--spacing-system-xlf)]",
596
596
  cta: hasRight ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
597
597
  mingo && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
598
- _chunkBM6JZRVDcjs.MingoAiButton,
598
+ _chunkGOTEXQZNcjs.MingoAiButton,
599
599
  {
600
600
  source: mingo.source,
601
601
  icon: mingo.icon,
@@ -697,7 +697,7 @@ function MobileNavSheetBody({
697
697
  ] }),
698
698
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "min-h-0 flex-1 overflow-y-auto overflow-x-hidden overscroll-contain px-5", children: [
699
699
  askAI && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
700
- _chunkBM6JZRVDcjs.MingoAiButton,
700
+ _chunkGOTEXQZNcjs.MingoAiButton,
701
701
  {
702
702
  variant: "field",
703
703
  source: askAI.source,
@@ -875,7 +875,7 @@ function SiteFooter({
875
875
  const columns = nav.footerColumns;
876
876
  const accordion = columns.length > ACCORDION_OVER;
877
877
  const socialRow = _nullishCoalesce(social, () => ( (nav.brand.social.length > 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
878
- _chunkWCY35GB5cjs.SocialIconRow,
878
+ _chunkQES5NV4Tcjs.SocialIconRow,
879
879
  {
880
880
  compact: true,
881
881
  links: nav.brand.social.map((link) => ({
@@ -978,7 +978,7 @@ var _framermotion = require('framer-motion');
978
978
 
979
979
  function SlidingSidebar({ config }) {
980
980
  const [expandedItems, setExpandedItems] = _react.useState.call(void 0, /* @__PURE__ */ new Set());
981
- const mounted = _chunk7YDF3QBNcjs.useIsHydrated.call(void 0, );
981
+ const mounted = _chunkDJO7YMT3cjs.useIsHydrated.call(void 0, );
982
982
  const headerHeight = _chunk24I6RFVUcjs.useHeaderHeight.call(void 0, );
983
983
  const asideRef = _react.useRef.call(void 0, null);
984
984
  const prefersReducedMotion = _framermotion.useReducedMotion.call(void 0, );
@@ -1251,7 +1251,7 @@ var NavigationSidebarItemButton = _react.memo.call(void 0, function NavigationSi
1251
1251
  _react.cloneElement.call(void 0, item.icon, {
1252
1252
  color: isActive && !disabled ? "text-ods-accent" : "text-ods-text-secondary"
1253
1253
  }),
1254
- hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCY35GB5cjs.UnreadDot, { size: "fixed" })
1254
+ hasUnread && !showLabel && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.UnreadDot, { size: "fixed" })
1255
1255
  ] }),
1256
1256
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1257
1257
  "span",
@@ -1352,7 +1352,7 @@ function NavigationSidebar({ config, disabled = false, pushOnTablet = false }) {
1352
1352
  setTabletFor(isTablet);
1353
1353
  if (isTablet) setTabletMinimized(true);
1354
1354
  }
1355
- const hydrated = _chunk7YDF3QBNcjs.useIsHydrated.call(void 0, );
1355
+ const hydrated = _chunkDJO7YMT3cjs.useIsHydrated.call(void 0, );
1356
1356
  const minimized = hydrated ? isTablet ? tabletMinimized : desktopMinimized : _nullishCoalesce(config.minimized, () => ( false));
1357
1357
  const [transitionsEnabled, setTransitionsEnabled] = _react.useState.call(void 0, false);
1358
1358
  const isOverlayOpen = isTablet && !minimized;
@@ -1544,7 +1544,7 @@ function HeaderGlobalSearch({
1544
1544
  "form",
1545
1545
  {
1546
1546
  onSubmit: handleSubmit,
1547
- ..._chunkBM6JZRVDcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1547
+ ..._chunkGOTEXQZNcjs.HUBSPOT_DO_NOT_COLLECT_FORM_PROPS,
1548
1548
  className: _chunk3ATAYP36cjs.cn.call(void 0,
1549
1549
  "flex h-full flex-1 items-center gap-2 px-3",
1550
1550
  // Transparent so the cell inherits the bar's background
@@ -1669,16 +1669,16 @@ function HeaderOrganizationFilter({
1669
1669
  // src/components/navigation/ticket-alerts-button.tsx
1670
1670
 
1671
1671
  function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1672
- const live = _chunkUL6ZZSL4cjs.useOptionalTicketLive.call(void 0, );
1672
+ const live = _chunkHMSCUL4Rcjs.useOptionalTicketLive.call(void 0, );
1673
1673
  if (!live || !live.authed || live.unreadTotal === 0) return null;
1674
1674
  const targetId = live.nextUnreadTicketId;
1675
- const target = targetId ? _chunkBM6JZRVDcjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1675
+ const target = targetId ? _chunkGOTEXQZNcjs.buildTicketOpenHref.call(void 0, href, targetId) : href;
1676
1676
  const handleClick = () => {
1677
1677
  if (onNavigate) onNavigate(target);
1678
1678
  else window.location.assign(target);
1679
1679
  };
1680
1680
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1681
- _chunkWCY35GB5cjs.HeaderButton,
1681
+ _chunkQES5NV4Tcjs.HeaderButton,
1682
1682
  {
1683
1683
  icon: (
1684
1684
  // Glyph inherits HeaderButton's standard cell coloring (secondary at
@@ -1688,7 +1688,7 @@ function TicketAlertsButton({ href, onNavigate, disabled, className }) {
1688
1688
  // existing while updates are unread — never by tinting the glyph.
1689
1689
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "relative inline-flex", children: [
1690
1690
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk365ZKGGOcjs.LifeBuoyIcon, { className: "h-6 w-6" }),
1691
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCY35GB5cjs.UnreadCountBadge, { count: live.unreadTotal })
1691
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.UnreadCountBadge, { count: live.unreadTotal })
1692
1692
  ] })
1693
1693
  ),
1694
1694
  "aria-label": `Support tickets \u2014 ${live.unreadTotal} unread ${live.unreadTotal === 1 ? "update" : "updates"}`,
@@ -1764,7 +1764,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1764
1764
  leading: (
1765
1765
  // Mobile: Burger Menu Button
1766
1766
  !isMdUp && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1767
- _chunkWCY35GB5cjs.HeaderButton,
1767
+ _chunkQES5NV4Tcjs.HeaderButton,
1768
1768
  {
1769
1769
  onClick: onToggleMobileMenu,
1770
1770
  isActive: isMobileMenuOpen,
@@ -1790,7 +1790,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1790
1790
  center: showSearch ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeaderGlobalSearch, { onSubmit: onSearch, className: _chunk3ATAYP36cjs.cn.call(void 0, "w-full", dimmedClass) }) : void 0,
1791
1791
  sideActions: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1792
1792
  showSearch && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1793
- _chunkWCY35GB5cjs.HeaderButton,
1793
+ _chunkQES5NV4Tcjs.HeaderButton,
1794
1794
  {
1795
1795
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZ74QE57Tcjs.SearchIcon, { className: "h-6 w-6" }),
1796
1796
  "aria-label": "Search",
@@ -1807,7 +1807,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1807
1807
  className: _chunk3ATAYP36cjs.cn.call(void 0, "hidden lg:flex", dimmedClass)
1808
1808
  }
1809
1809
  ),
1810
- showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCY35GB5cjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1810
+ showTimeTracker && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.TimeTrackerHeaderButton, { disabled, className: _chunk3ATAYP36cjs.cn.call(void 0, cellDivider, dimmedClass) }),
1811
1811
  showNotifications && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1812
1812
  NotificationsHeaderButton,
1813
1813
  {
@@ -1827,7 +1827,7 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1827
1827
  ),
1828
1828
  isMdUp && showUser && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkL2RMTGOKcjs.DropdownMenu, { children: [
1829
1829
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkL2RMTGOKcjs.DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1830
- _chunkWCY35GB5cjs.HeaderButton,
1830
+ _chunkQES5NV4Tcjs.HeaderButton,
1831
1831
  {
1832
1832
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1833
1833
  _chunkABLUMGCIcjs.SquareAvatar,
@@ -1912,12 +1912,12 @@ var AppHeader = _react2.default.memo(function AppHeaderImpl({
1912
1912
  );
1913
1913
  });
1914
1914
  function NotificationsHeaderButton({ fallbackUnreadCount, disabled, dimmedClass }) {
1915
- const ctx = _chunkWCY35GB5cjs.useOptionalNotifications.call(void 0, );
1915
+ const ctx = _chunkQES5NV4Tcjs.useOptionalNotifications.call(void 0, );
1916
1916
  const hasUnread = (_nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _52 => _52.unreadCount]), () => ( fallbackUnreadCount))) > 0;
1917
1917
  const isActive = _nullishCoalesce(_optionalChain([ctx, 'optionalAccess', _53 => _53.isOpen]), () => ( false));
1918
1918
  const onClick = _optionalChain([ctx, 'optionalAccess', _54 => _54.toggle]);
1919
1919
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1920
- _chunkWCY35GB5cjs.HeaderButton,
1920
+ _chunkQES5NV4Tcjs.HeaderButton,
1921
1921
  {
1922
1922
  icon: isActive ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWWUSFOJ7cjs.XmarkIcon, { className: "h-6 w-6" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCON36SEJcjs.BellIcon, { className: "h-6 w-6" }),
1923
1923
  showUnreadDot: !isActive && hasUnread,
@@ -2590,7 +2590,7 @@ function AppLayout({
2590
2590
  }),
2591
2591
  []
2592
2592
  );
2593
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCY35GB5cjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCY35GB5cjs.AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-screen flex-col bg-ods-bg", className), children: [
2593
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.AppLayoutDrawerContainerContext.Provider, { value: drawerContainer, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.AppLayoutDrawerCoordinationContext.Provider, { value: drawerCoordination, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex h-screen flex-col bg-ods-bg", className), children: [
2594
2594
  topBar,
2595
2595
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative flex min-h-0 flex-1", children: [
2596
2596
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, NavigationSidebar, { config: sidebarConfig, disabled, pushOnTablet: hasSidePanel }),
@@ -2614,7 +2614,7 @@ function AppLayout({
2614
2614
  disabled
2615
2615
  }
2616
2616
  ),
2617
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCY35GB5cjs.NotificationDrawer, {}),
2617
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.NotificationDrawer, {}),
2618
2618
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2619
2619
  "div",
2620
2620
  {
@@ -5,12 +5,12 @@ var _chunk4FWURR3Wcjs = require('./chunk-4FWURR3W.cjs');
5
5
 
6
6
 
7
7
 
8
- var _chunkBM6JZRVDcjs = require('./chunk-BM6JZRVD.cjs');
8
+ var _chunkGOTEXQZNcjs = require('./chunk-GOTEXQZN.cjs');
9
9
 
10
10
 
11
11
 
12
12
 
13
- var _chunk7YDF3QBNcjs = require('./chunk-7YDF3QBN.cjs');
13
+ var _chunkDJO7YMT3cjs = require('./chunk-DJO7YMT3.cjs');
14
14
 
15
15
 
16
16
 
@@ -57,7 +57,7 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
57
57
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
58
58
  "div",
59
59
  {
60
- id: _chunk7YDF3QBNcjs.faqItemAnchor.call(void 0, item.id),
60
+ id: _chunkDJO7YMT3cjs.faqItemAnchor.call(void 0, item.id),
61
61
  className: "scroll-mt-24 transition-colors hover:bg-ods-bg-hover",
62
62
  children: [
63
63
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
@@ -110,14 +110,14 @@ function FaqAccordion({ items, defaultOpenIds = [] }) {
110
110
 
111
111
  var PICK_ROOT_MARGIN = "600px";
112
112
  function faqAskCardShown(assistant) {
113
- return _chunkBM6JZRVDcjs.assistantAvailable.call(void 0, assistant) && !!assistant.name;
113
+ return _chunkGOTEXQZNcjs.assistantAvailable.call(void 0, assistant) && !!assistant.name;
114
114
  }
115
115
  function FaqAskCard({ topic, exclude, count, title, description, onOpen }) {
116
116
  const { ref, inView } = _chunkCSJO7ZGNcjs.useInView.call(void 0, { rootMargin: PICK_ROOT_MARGIN });
117
117
  const [reached, setReached] = _react.useState.call(void 0, false);
118
118
  if (inView && !reached) setReached(true);
119
119
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
120
- _chunkBM6JZRVDcjs.AssistantAskPrompts,
120
+ _chunkGOTEXQZNcjs.AssistantAskPrompts,
121
121
  {
122
122
  variant: "card",
123
123
  topic,
@@ -191,7 +191,7 @@ function groupFaqsBySection(faqs) {
191
191
  }
192
192
  let group = byName.get(name);
193
193
  if (!group) {
194
- group = { section: name, slug: _chunk7YDF3QBNcjs.faqSectionSlug.call(void 0, name), items: [] };
194
+ group = { section: name, slug: _chunkDJO7YMT3cjs.faqSectionSlug.call(void 0, name), items: [] };
195
195
  byName.set(name, group);
196
196
  }
197
197
  group.items.push(item);
@@ -246,7 +246,7 @@ function GroupedFaqList({
246
246
  }, [slugKey]);
247
247
  const [hashTarget, setHashTarget] = _react.useState.call(void 0, null);
248
248
  _react.useEffect.call(void 0, () => {
249
- const refresh = () => setHashTarget(_chunk7YDF3QBNcjs.parseFaqHash.call(void 0, window.location.hash));
249
+ const refresh = () => setHashTarget(_chunkDJO7YMT3cjs.parseFaqHash.call(void 0, window.location.hash));
250
250
  refresh();
251
251
  window.addEventListener("hashchange", refresh);
252
252
  return () => window.removeEventListener("hashchange", refresh);
@@ -6,7 +6,7 @@ var _chunk4FWURR3Wcjs = require('./chunk-4FWURR3W.cjs');
6
6
 
7
7
 
8
8
 
9
- var _chunkBM6JZRVDcjs = require('./chunk-BM6JZRVD.cjs');
9
+ var _chunkGOTEXQZNcjs = require('./chunk-GOTEXQZN.cjs');
10
10
 
11
11
 
12
12
  var _chunkSXGDKNVEcjs = require('./chunk-SXGDKNVE.cjs');
@@ -162,31 +162,31 @@ CveLink.displayName = "CveLink";
162
162
  // src/components/platform/ShellTypeBadge.tsx
163
163
 
164
164
  var shellIconMap = {
165
- [_chunkBM6JZRVDcjs.ShellTypeValues.POWERSHELL]: {
165
+ [_chunkGOTEXQZNcjs.ShellTypeValues.POWERSHELL]: {
166
166
  icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon,
167
167
  props: { size: 16, className: "text-ods-text-secondary" }
168
168
  },
169
- [_chunkBM6JZRVDcjs.ShellTypeValues.CMD]: {
169
+ [_chunkGOTEXQZNcjs.ShellTypeValues.CMD]: {
170
170
  icon: _chunkUXUYT4WKcjs.CmdIcon,
171
171
  props: { size: 16, color: "var(--color-text-secondary)" }
172
172
  },
173
- [_chunkBM6JZRVDcjs.ShellTypeValues.BASH]: {
173
+ [_chunkGOTEXQZNcjs.ShellTypeValues.BASH]: {
174
174
  icon: _chunk5OG5ZTNMcjs.BashIcon,
175
175
  props: { size: 16, color: "var(--color-text-secondary)" }
176
176
  },
177
- [_chunkBM6JZRVDcjs.ShellTypeValues.PYTHON]: {
177
+ [_chunkGOTEXQZNcjs.ShellTypeValues.PYTHON]: {
178
178
  icon: _chunkBF77UKGDcjs.PythonLogoIcon,
179
179
  props: { size: 16, className: "text-ods-text-secondary" }
180
180
  },
181
- [_chunkBM6JZRVDcjs.ShellTypeValues.NUSHELL]: {
181
+ [_chunkGOTEXQZNcjs.ShellTypeValues.NUSHELL]: {
182
182
  icon: _chunkG37H4CBTcjs.NushellIcon,
183
183
  props: { size: 16, color: "var(--color-text-secondary)" }
184
184
  },
185
- [_chunkBM6JZRVDcjs.ShellTypeValues.DENO]: {
185
+ [_chunkGOTEXQZNcjs.ShellTypeValues.DENO]: {
186
186
  icon: _chunkHUL6SF5Acjs.DenoIcon,
187
187
  props: { size: 16, color: "var(--color-text-secondary)" }
188
188
  },
189
- [_chunkBM6JZRVDcjs.ShellTypeValues.SHELL]: {
189
+ [_chunkGOTEXQZNcjs.ShellTypeValues.SHELL]: {
190
190
  icon: _chunk6RMATQNNcjs.ShellIcon,
191
191
  props: { size: 16, color: "var(--color-text-secondary)" }
192
192
  }
@@ -197,7 +197,7 @@ var defaultIconConfig = {
197
197
  };
198
198
  var ShellTypeBadge = ({ shellType, className, iconClassName }) => {
199
199
  const normalizedType = _optionalChain([shellType, 'optionalAccess', _ => _.toUpperCase, 'call', _2 => _2()]);
200
- const label = _chunkBM6JZRVDcjs.getShellLabel.call(void 0, normalizedType);
200
+ const label = _chunkGOTEXQZNcjs.getShellLabel.call(void 0, normalizedType);
201
201
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
202
202
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
203
203
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex items-center gap-1", className), children: [
@@ -213,7 +213,7 @@ function formatSupportedPlatforms(platforms) {
213
213
  if (!platforms || platforms.length === 0) {
214
214
  return "All Platforms";
215
215
  }
216
- return platforms.map((platform) => _chunkBM6JZRVDcjs.getOSLabel.call(void 0, platform)).join(", ");
216
+ return platforms.map((platform) => _chunkGOTEXQZNcjs.getOSLabel.call(void 0, platform)).join(", ");
217
217
  }
218
218
  function InfoCell({ label, value, avatar, className }) {
219
219
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
@@ -233,7 +233,7 @@ var ScriptInfoSection = ({
233
233
  author,
234
234
  className
235
235
  }) => {
236
- const shellLabel = _chunkBM6JZRVDcjs.getShellLabel.call(void 0, shellType);
236
+ const shellLabel = _chunkGOTEXQZNcjs.getShellLabel.call(void 0, shellType);
237
237
  const platformsLabel = formatSupportedPlatforms(supportedPlatforms);
238
238
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk3ATAYP36cjs.cn.call(void 0, "overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", className), children: [
239
239
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-b border-ods-border p-4", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col gap-1", children: [
@@ -5,7 +5,7 @@ var _chunk4N7KGOBScjs = require('./chunk-4N7KGOBS.cjs');
5
5
 
6
6
 
7
7
 
8
- var _chunkNGUJVM6Ocjs = require('./chunk-NGUJVM6O.cjs');
8
+ var _chunk75BF7YJRcjs = require('./chunk-75BF7YJR.cjs');
9
9
 
10
10
 
11
11
 
@@ -14,13 +14,13 @@ var _chunkHEVW75L3cjs = require('./chunk-HEVW75L3.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkWCY35GB5cjs = require('./chunk-WCY35GB5.cjs');
17
+ var _chunkQES5NV4Tcjs = require('./chunk-QES5NV4T.cjs');
18
18
 
19
19
 
20
20
  var _chunkU2O5YQRPcjs = require('./chunk-U2O5YQRP.cjs');
21
21
 
22
22
 
23
- var _chunkBM6JZRVDcjs = require('./chunk-BM6JZRVD.cjs');
23
+ var _chunkGOTEXQZNcjs = require('./chunk-GOTEXQZN.cjs');
24
24
 
25
25
 
26
26
 
@@ -75,7 +75,7 @@ function ListEmptyState({ isFiltered, filtered, onClearFilters, empty }) {
75
75
  var _react = require('react');
76
76
 
77
77
  function DevSectionView({ sectionKey, hero, preControls, children, showHeading = true }) {
78
- const section = _chunkBM6JZRVDcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
78
+ const section = _chunkGOTEXQZNcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
79
79
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
80
80
  const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
81
81
  const searchParams = _chunk7DNL734Scjs.useSearchParams.call(void 0, );
@@ -126,7 +126,7 @@ function DevSectionView({ sectionKey, hero, preControls, children, showHeading =
126
126
  preControls,
127
127
  (search || filter) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
128
128
  search && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
129
- _chunkWCY35GB5cjs.SearchInput,
129
+ _chunkQES5NV4Tcjs.SearchInput,
130
130
  {
131
131
  showDropdown: false,
132
132
  placeholder: search.placeholder,
@@ -136,7 +136,7 @@ function DevSectionView({ sectionKey, hero, preControls, children, showHeading =
136
136
  }
137
137
  ),
138
138
  filter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
139
- _chunkWCY35GB5cjs.StatusFilterComponent,
139
+ _chunkQES5NV4Tcjs.StatusFilterComponent,
140
140
  {
141
141
  selectedStatus: currentFilterValue,
142
142
  onStatusChange: handleFilterChange,
@@ -161,7 +161,7 @@ function DevSectionPage({
161
161
  shell = true
162
162
  }) {
163
163
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
164
- const section = _chunkBM6JZRVDcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
164
+ const section = _chunkGOTEXQZNcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
165
165
  const backCfg = backButton === false ? void 0 : {
166
166
  label: _nullishCoalesce((backButton ? backButton.label : void 0), () => ( "Back to home")),
167
167
  onClick: () => router.push(_nullishCoalesce((backButton ? backButton.href : void 0), () => ( "/")))
@@ -183,12 +183,12 @@ function DevSectionPage({
183
183
  backButton: backCfg,
184
184
  children: [
185
185
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DevSectionView, { sectionKey, showHeading: false, preControls, children }),
186
- faq && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkNGUJVM6Ocjs.FaqSection, { ..._chunkNGUJVM6Ocjs.pageFaqProps.call(void 0, faq) })
186
+ faq && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk75BF7YJRcjs.FaqSection, { ..._chunk75BF7YJRcjs.pageFaqProps.call(void 0, faq) })
187
187
  ]
188
188
  }
189
189
  )
190
190
  );
191
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWCY35GB5cjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
191
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQES5NV4Tcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
192
192
  }
193
193
 
194
194
  // src/components/shared/dev-section/dev-card-row.tsx