@flamingo-stack/openframe-frontend-core 0.0.847 → 0.0.849

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 (188) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{case-study-card-DJOHIHYU.cjs → case-study-card-X2HKPKT7.cjs} +5 -5
  3. package/dist/{chunk-CNMXP77I.cjs → chunk-36DUCHI7.cjs} +4 -4
  4. package/dist/{chunk-MPVOPSU6.cjs → chunk-36XWCVSM.cjs} +96 -96
  5. package/dist/{chunk-J2IXYCEH.cjs → chunk-3W4ASAXN.cjs} +15 -15
  6. package/dist/{chunk-6LDL3UZE.cjs → chunk-4YBS4HIO.cjs} +20 -20
  7. package/dist/{chunk-ABL5OBSF.cjs → chunk-533QK4R6.cjs} +296 -250
  8. package/dist/{chunk-QK2A334V.cjs → chunk-5CBI2ZYV.cjs} +12 -12
  9. package/dist/{chunk-D5DMWXF2.cjs → chunk-5PIR77V5.cjs} +4 -4
  10. package/dist/{chunk-HPXET3LH.cjs → chunk-6AJYGXXS.cjs} +27 -27
  11. package/dist/{chunk-4R4HAFXI.cjs → chunk-ALRYVZ3E.cjs} +6 -6
  12. package/dist/{chunk-FLW4WULE.cjs → chunk-BU2PSRAS.cjs} +17 -61
  13. package/dist/{chunk-HBDLJUI3.cjs → chunk-C3P7IUTU.cjs} +39 -14
  14. package/dist/{chunk-SSSI2RBV.cjs → chunk-FNQWL4W4.cjs} +14 -14
  15. package/dist/{chunk-TBOWFTEN.cjs → chunk-FRG724DU.cjs} +22 -22
  16. package/dist/{chunk-SIFRIUPW.cjs → chunk-FXLROQUT.cjs} +345 -356
  17. package/dist/{chunk-3V5JWG27.cjs → chunk-GG466XFQ.cjs} +2 -2
  18. package/dist/{chunk-XCVH5BCZ.cjs → chunk-GRCOEICK.cjs} +6 -6
  19. package/dist/{chunk-5GBLXY5F.cjs → chunk-HTYJUMFB.cjs} +7 -7
  20. package/dist/{chunk-URP6GYTD.cjs → chunk-IG6ROHPS.cjs} +56 -56
  21. package/dist/{chunk-DGQDGCQH.cjs → chunk-IHY7E4EX.cjs} +2 -2
  22. package/dist/{chunk-WCK5T3UD.cjs → chunk-IKOL6NJY.cjs} +101 -69
  23. package/dist/{chunk-RAJ5FYFL.cjs → chunk-IN3LA2FU.cjs} +14 -14
  24. package/dist/{chunk-ZTO7KNYV.cjs → chunk-KXBZCUDW.cjs} +35 -35
  25. package/dist/{chunk-57JYB3E2.cjs → chunk-MC3L525K.cjs} +3 -3
  26. package/dist/{chunk-BIOSHDXQ.cjs → chunk-MDLT6D46.cjs} +61 -61
  27. package/dist/{chunk-3TOWCFIK.cjs → chunk-PMUCEUFQ.cjs} +13 -1
  28. package/dist/{chunk-PV3NKXWS.cjs → chunk-PV2XQJ2R.cjs} +99 -178
  29. package/dist/{chunk-J2ZSGOUC.cjs → chunk-R5JPZ6TY.cjs} +27 -27
  30. package/dist/{chunk-744JXTDP.cjs → chunk-SA2NNWIJ.cjs} +23 -23
  31. package/dist/{chunk-DEEQSVLX.cjs → chunk-SHQY4GOE.cjs} +90 -90
  32. package/dist/{chunk-BHOVF4KP.cjs → chunk-SOSIXRQ3.cjs} +2 -2
  33. package/dist/{chunk-Y2OEC7UW.cjs → chunk-TEKN6TJ5.cjs} +40 -40
  34. package/dist/{chunk-PZNWIJRZ.cjs → chunk-TIVPOVIM.cjs} +2 -2
  35. package/dist/{chunk-BZZE4KIV.cjs → chunk-TX4NTH22.cjs} +155 -136
  36. package/dist/{chunk-NFNSPLGC.cjs → chunk-W7OFAROY.cjs} +14 -9
  37. package/dist/{chunk-N2A24FDF.cjs → chunk-YLETC7LP.cjs} +994 -953
  38. package/dist/{chunk-YC52LSPP.cjs → chunk-YYHQY3K6.cjs} +40 -40
  39. package/dist/{chunk-2FUTZKLB.cjs → chunk-Z5UCDEKZ.cjs} +6 -6
  40. package/dist/{chunk-SWF6TNZ3.cjs → chunk-ZGEWT3SF.cjs} +2 -2
  41. package/dist/{chunk-PQDCSZ3W.cjs → chunk-ZY34R37A.cjs} +85 -85
  42. package/dist/{chunk-5SZ4ILU3.cjs → chunk-ZZDFMUEU.cjs} +3 -3
  43. package/dist/{cloud-tenants-XEUUMABT.cjs → cloud-tenants-HKUUEUAY.cjs} +21 -21
  44. package/dist/components/case-studies/index.cjs +36 -36
  45. package/dist/components/chat/chat-composer.d.ts.map +1 -1
  46. package/dist/components/chat/chat-composer.js +4 -3
  47. package/dist/components/chat/chat-container.d.ts.map +1 -1
  48. package/dist/components/chat/chat-container.js +2 -2
  49. package/dist/components/chat/entity-cards/design-doc-card.d.ts.map +1 -1
  50. package/dist/components/chat/entity-cards/design-doc-card.js +5 -17
  51. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  52. package/dist/components/chat/entity-cards/dispatch.js +5 -7
  53. package/dist/components/chat/index.cjs +15 -15
  54. package/dist/components/contact/index.cjs +22 -22
  55. package/dist/components/docs/doc-viewer.d.ts +7 -7
  56. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  57. package/dist/components/docs/doc-viewer.js +29 -16
  58. package/dist/components/docs/docs-hub-page.d.ts +1 -1
  59. package/dist/components/docs/docs-hub-page.d.ts.map +1 -1
  60. package/dist/components/docs/docs-hub-page.js +4 -11
  61. package/dist/components/docs/index.cjs +25 -25
  62. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  63. package/dist/components/docs/use-document-tree.js +24 -24
  64. package/dist/components/embeds/claude-embed.d.ts +2 -2
  65. package/dist/components/embeds/claude-embed.d.ts.map +1 -1
  66. package/dist/components/embeds/claude-embed.js +3 -3
  67. package/dist/components/embeds/embed-iframe.d.ts +5 -3
  68. package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
  69. package/dist/components/embeds/embed-iframe.js +4 -3
  70. package/dist/components/embeds/embed-viewer-frame.d.ts +12 -9
  71. package/dist/components/embeds/embed-viewer-frame.d.ts.map +1 -1
  72. package/dist/components/embeds/embed-viewer-frame.js +21 -7
  73. package/dist/components/embeds/figma-embed.d.ts +4 -2
  74. package/dist/components/embeds/figma-embed.d.ts.map +1 -1
  75. package/dist/components/embeds/figma-embed.js +4 -3
  76. package/dist/components/embeds/file-download-card.d.ts +3 -1
  77. package/dist/components/embeds/file-download-card.d.ts.map +1 -1
  78. package/dist/components/embeds/file-download-card.js +18 -3
  79. package/dist/components/embeds/google-sheets-viewer.d.ts +3 -1
  80. package/dist/components/embeds/google-sheets-viewer.d.ts.map +1 -1
  81. package/dist/components/embeds/google-sheets-viewer.js +7 -4
  82. package/dist/components/embeds/index.cjs +22 -22
  83. package/dist/components/embeds/pdf-viewer.d.ts +3 -1
  84. package/dist/components/embeds/pdf-viewer.d.ts.map +1 -1
  85. package/dist/components/embeds/pdf-viewer.js +6 -2
  86. package/dist/components/faq/index.cjs +23 -23
  87. package/dist/components/features/index.cjs +21 -21
  88. package/dist/components/features/status-filter-component.d.ts +7 -1
  89. package/dist/components/features/status-filter-component.d.ts.map +1 -1
  90. package/dist/components/features/status-filter-component.js +9 -3
  91. package/dist/components/help-center-pages/index.cjs +140 -140
  92. package/dist/components/index.cjs +137 -135
  93. package/dist/components/layout/back-button.d.ts +7 -1
  94. package/dist/components/layout/back-button.d.ts.map +1 -1
  95. package/dist/components/layout/back-button.js +34 -2
  96. package/dist/components/loading/unified-skeleton.d.ts +6 -1
  97. package/dist/components/loading/unified-skeleton.d.ts.map +1 -1
  98. package/dist/components/loading/unified-skeleton.js +13 -1
  99. package/dist/components/meeting-scheduler/index.cjs +119 -119
  100. package/dist/components/navigation/index.cjs +24 -24
  101. package/dist/components/onboarding-guides/index.cjs +24 -24
  102. package/dist/components/product-demo/index.cjs +33 -33
  103. package/dist/components/related-content/index.cjs +11 -11
  104. package/dist/components/tickets/index.cjs +28 -28
  105. package/dist/components/ui/file-manager/file-manager-table.d.ts.map +1 -1
  106. package/dist/components/ui/file-manager/file-manager-table.js +59 -50
  107. package/dist/components/ui/file-manager/index.cjs +71 -62
  108. package/dist/components/ui/index.cjs +23 -21
  109. package/dist/components/ui/markdown/engine.d.ts +5 -4
  110. package/dist/components/ui/markdown/engine.d.ts.map +1 -1
  111. package/dist/components/ui/markdown/engine.js +15 -15
  112. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +1 -1
  113. package/dist/components/ui/markdown/rich/rich-markdown-renderer.js +7 -3
  114. package/dist/components/ui/people-cell.d.ts +9 -2
  115. package/dist/components/ui/people-cell.d.ts.map +1 -1
  116. package/dist/components/ui/people-cell.js +39 -23
  117. package/dist/components/ui/progress-bar.d.ts +6 -0
  118. package/dist/components/ui/progress-bar.d.ts.map +1 -1
  119. package/dist/components/ui/progress-bar.js +2 -0
  120. package/dist/components/ui/tag.d.ts +8 -0
  121. package/dist/components/ui/tag.d.ts.map +1 -1
  122. package/dist/components/ui/tag.js +5 -0
  123. package/dist/{devices-7YDIHVVP.cjs → devices-P7M4Z7VP.cjs} +22 -22
  124. package/dist/embed-shims/index.cjs +3 -3
  125. package/dist/embed-shims/next-image.cjs +3 -3
  126. package/dist/{embeddable-chat-Z3S37SSM.cjs → embeddable-chat-322NDFP5.cjs} +94 -94
  127. package/dist/hooks/index.cjs +6 -6
  128. package/dist/index.cjs +32 -30
  129. package/dist/{knowledge-SQVPQSKM.cjs → knowledge-TC7JLOWI.cjs} +22 -22
  130. package/dist/{logs-M5DFGUBC.cjs → logs-GPOYCP4B.cjs} +28 -28
  131. package/dist/{policies-T3VQEJUD.cjs → policies-ZUHOUMDD.cjs} +25 -25
  132. package/dist/{remote-session-EE6477O3.cjs → remote-session-NT4NG7EF.cjs} +10 -10
  133. package/dist/{scripts-JFRFJKPH.cjs → scripts-FOEVDGTH.cjs} +28 -28
  134. package/dist/{software-update-E7W3AAIY.cjs → software-update-XGTMNFST.cjs} +25 -25
  135. package/dist/{tickets-board-44HO3LR4.cjs → tickets-board-7FLGQEHF.cjs} +10 -10
  136. package/dist/types/design-doc.d.ts +45 -8
  137. package/dist/types/design-doc.d.ts.map +1 -1
  138. package/dist/types/doc-source.d.ts +2 -2
  139. package/dist/types/doc-source.d.ts.map +1 -1
  140. package/dist/utils/design-doc-readiness.d.ts +17 -15
  141. package/dist/utils/design-doc-readiness.d.ts.map +1 -1
  142. package/dist/utils/design-doc-readiness.js +5 -11
  143. package/dist/utils/doc-tree-nav.d.ts +7 -0
  144. package/dist/utils/doc-tree-nav.d.ts.map +1 -1
  145. package/dist/utils/doc-tree-nav.js +19 -0
  146. package/dist/utils/index.cjs +30 -13
  147. package/dist/utils/list-url.d.ts.map +1 -1
  148. package/dist/utils/list-url.js +2 -1
  149. package/dist/utils/source-grouping.d.ts +2 -2
  150. package/dist/utils/source-grouping.d.ts.map +1 -1
  151. package/dist/utils/source-grouping.js +1 -1
  152. package/dist/utils/source-icons.d.ts.map +1 -1
  153. package/dist/utils/source-icons.js +3 -0
  154. package/package.json +1 -1
  155. package/src/components/chat/chat-composer.tsx +10 -3
  156. package/src/components/chat/chat-container.tsx +6 -4
  157. package/src/components/chat/entity-cards/design-doc-card.tsx +12 -17
  158. package/src/components/chat/entity-cards/dispatch.tsx +10 -10
  159. package/src/components/docs/doc-viewer.tsx +56 -35
  160. package/src/components/docs/docs-hub-page.tsx +13 -37
  161. package/src/components/docs/use-document-tree.ts +33 -23
  162. package/src/components/embeds/claude-embed.tsx +4 -4
  163. package/src/components/embeds/embed-iframe.tsx +8 -5
  164. package/src/components/embeds/embed-viewer-frame.tsx +35 -15
  165. package/src/components/embeds/figma-embed.tsx +9 -4
  166. package/src/components/embeds/file-download-card.tsx +28 -4
  167. package/src/components/embeds/google-sheets-viewer.tsx +9 -3
  168. package/src/components/embeds/pdf-viewer.tsx +9 -2
  169. package/src/components/features/status-filter-component.tsx +15 -0
  170. package/src/components/layout/back-button.tsx +54 -2
  171. package/src/components/loading/unified-skeleton.tsx +18 -2
  172. package/src/components/ui/file-manager/file-manager-table.tsx +8 -3
  173. package/src/components/ui/markdown/engine.tsx +21 -30
  174. package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +4 -0
  175. package/src/components/ui/people-cell.tsx +53 -17
  176. package/src/components/ui/progress-bar.tsx +8 -0
  177. package/src/components/ui/tag.tsx +14 -0
  178. package/src/types/design-doc.ts +59 -10
  179. package/src/types/doc-source.ts +2 -2
  180. package/src/utils/design-doc-readiness.ts +22 -23
  181. package/src/utils/doc-tree-nav.ts +27 -0
  182. package/src/utils/list-url.ts +2 -1
  183. package/src/utils/source-grouping.ts +2 -2
  184. package/src/utils/source-icons.ts +3 -0
  185. package/dist/components/docs/skeletons.d.ts +0 -25
  186. package/dist/components/docs/skeletons.d.ts.map +0 -1
  187. package/dist/components/docs/skeletons.js +0 -83
  188. package/src/components/docs/skeletons.tsx +0 -131
@@ -5,16 +5,16 @@
5
5
 
6
6
 
7
7
 
8
- var _chunkSIFRIUPWcjs = require('./chunk-SIFRIUPW.cjs');
8
+ var _chunkFXLROQUTcjs = require('./chunk-FXLROQUT.cjs');
9
9
 
10
10
 
11
11
 
12
12
 
13
- var _chunkXCVH5BCZcjs = require('./chunk-XCVH5BCZ.cjs');
13
+ var _chunkGRCOEICKcjs = require('./chunk-GRCOEICK.cjs');
14
14
 
15
15
 
16
16
 
17
- var _chunkPZNWIJRZcjs = require('./chunk-PZNWIJRZ.cjs');
17
+ var _chunkTIVPOVIMcjs = require('./chunk-TIVPOVIM.cjs');
18
18
 
19
19
 
20
20
  var _chunkFX35L4Y6cjs = require('./chunk-FX35L4Y6.cjs');
@@ -35,7 +35,7 @@ var _jsxruntime = require('react/jsx-runtime');
35
35
  function DocSearchResultRow({ result, isHighlighted }) {
36
36
  const docType = _optionalChain([result, 'access', _ => _.metadata, 'optionalAccess', _2 => _2.documentType]) || void 0;
37
37
  const sourceRepo = _optionalChain([result, 'access', _3 => _3.metadata, 'optionalAccess', _4 => _4.sourceRepo]) || void 0;
38
- const { Icon: SourceIcon, label: iconLabel } = _chunkSIFRIUPWcjs.resolveSourceIcon.call(void 0, {
38
+ const { Icon: SourceIcon, label: iconLabel } = _chunkFXLROQUTcjs.resolveSourceIcon.call(void 0, {
39
39
  sourceRepo,
40
40
  documentType: docType
41
41
  });
@@ -65,7 +65,7 @@ function DocSearchBar({
65
65
  renderResult
66
66
  }) {
67
67
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
68
- _chunkSIFRIUPWcjs.SearchInput,
68
+ _chunkFXLROQUTcjs.SearchInput,
69
69
  {
70
70
  placeholder,
71
71
  value: query,
@@ -115,7 +115,7 @@ function mapDocSearchResults(docs) {
115
115
  results.push({
116
116
  id: `group-${entry.repo}`,
117
117
  // Same table label and count as the chat's grouped chip: one owner each.
118
- title: `${_chunkSIFRIUPWcjs.getSourceLabel.call(void 0, entry.repo)} ${_chunkSIFRIUPWcjs.recordCountLabel.call(void 0, rows.length)}`,
118
+ title: `${_chunkFXLROQUTcjs.getSourceLabel.call(void 0, entry.repo)} ${_chunkFXLROQUTcjs.recordCountLabel.call(void 0, rows.length)}`,
119
119
  path: rows[0].path,
120
120
  type: "file",
121
121
  metadata: {
@@ -171,9 +171,9 @@ function resolveSearchResultAction(result, source, runtime, composeContentUrl) {
171
171
  externalUrl,
172
172
  targetPlatform: _nullishCoalesce(targetPlatform, () => ( null))
173
173
  }) : null;
174
- const hostRoute = !!_optionalChain([composed, 'optionalAccess', _10 => _10.href]) && _chunkPZNWIJRZcjs.isRelativeHref.call(void 0, composed.href);
174
+ const hostRoute = !!_optionalChain([composed, 'optionalAccess', _10 => _10.href]) && _chunkTIVPOVIMcjs.isRelativeHref.call(void 0, composed.href);
175
175
  const actionPlatform = composed ? composed.targetPlatform : _nullishCoalesce(targetPlatform, () => ( null));
176
- const target = _chunkPZNWIJRZcjs.navLinkTarget.call(void 0, runtime, _optionalChain([composed, 'optionalAccess', _11 => _11.href]) || externalUrl, actionPlatform, { hostRoute });
176
+ const target = _chunkTIVPOVIMcjs.navLinkTarget.call(void 0, runtime, _optionalChain([composed, 'optionalAccess', _11 => _11.href]) || externalUrl, actionPlatform, { hostRoute });
177
177
  const kind = target.isNewTab ? "navigate-new-tab" : "navigate-same-tab";
178
178
  return hostRoute ? { kind, href: target.href, targetPlatform: actionPlatform, hostRoute } : { kind, href: target.href, targetPlatform: actionPlatform };
179
179
  }
@@ -239,7 +239,7 @@ function useDocSearch(config) {
239
239
  const [query, setQuery] = _react.useState.call(void 0, "");
240
240
  const [results, setResults] = _react.useState.call(void 0, NO_RESULTS);
241
241
  const [isFetching, setIsFetching] = _react.useState.call(void 0, false);
242
- const debouncedQuery = _chunkXCVH5BCZcjs.useDebounce.call(void 0, query, 300);
242
+ const debouncedQuery = _chunkGRCOEICKcjs.useDebounce.call(void 0, query, 300);
243
243
  const searchable = debouncedQuery.trim().length >= 2;
244
244
  const [wasSearchable, setWasSearchable] = _react.useState.call(void 0, searchable);
245
245
  if (wasSearchable !== searchable) {
@@ -297,13 +297,13 @@ function useDocSearch(config) {
297
297
  case "navigate-new-tab": {
298
298
  if (wantsNewTab) {
299
299
  setKeepOpen(true);
300
- _chunkXCVH5BCZcjs.executeNewTabNavigation.call(void 0, { runtime, href: action.href, targetPlatform: action.targetPlatform });
300
+ _chunkGRCOEICKcjs.executeNewTabNavigation.call(void 0, { runtime, href: action.href, targetPlatform: action.targetPlatform });
301
301
  return;
302
302
  }
303
303
  setKeepOpen(action.kind === "navigate-new-tab");
304
304
  const path = baseRoute && action.href.startsWith(`${baseRoute}/`) ? action.href.slice(baseRoute.length + 1) : null;
305
305
  if (action.kind === "navigate-same-tab" && path && _optionalChain([onInPageSwap, 'optionalCall', _15 => _15(path)])) return;
306
- _chunkXCVH5BCZcjs.executeNavigationImperative.call(void 0, {
306
+ _chunkGRCOEICKcjs.executeNavigationImperative.call(void 0, {
307
307
  runtime,
308
308
  href: action.href,
309
309
  path,
@@ -314,7 +314,7 @@ function useDocSearch(config) {
314
314
  }
315
315
  case "ask-ai":
316
316
  setKeepOpen(false);
317
- window.dispatchEvent(new CustomEvent(_chunkSIFRIUPWcjs.ASK_AI_OPEN_WITH_REF_EVENT, { detail: action.detail }));
317
+ window.dispatchEvent(new CustomEvent(_chunkFXLROQUTcjs.ASK_AI_OPEN_WITH_REF_EVENT, { detail: action.detail }));
318
318
  return;
319
319
  case "route":
320
320
  setKeepOpen(false);
@@ -1,10 +1,10 @@
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 _chunkBZZE4KIVcjs = require('./chunk-BZZE4KIV.cjs');
4
+ var _chunkTX4NTH22cjs = require('./chunk-TX4NTH22.cjs');
5
5
 
6
6
 
7
- var _chunkSIFRIUPWcjs = require('./chunk-SIFRIUPW.cjs');
7
+ var _chunkFXLROQUTcjs = require('./chunk-FXLROQUT.cjs');
8
8
 
9
9
 
10
10
  var _chunkGI3MMBP3cjs = require('./chunk-GI3MMBP3.cjs');
@@ -44,7 +44,7 @@ function isSummaryData(value) {
44
44
  }
45
45
  function TicketLiveProvider({ children, enabled = true }) {
46
46
  const runtime = _chunkUJ7AXHRZcjs.useChatRuntime.call(void 0, );
47
- const identity = _chunkSIFRIUPWcjs.useChatIdentity.call(void 0, enabled);
47
+ const identity = _chunkFXLROQUTcjs.useChatIdentity.call(void 0, enabled);
48
48
  const queryClient = _reactquery.useQueryClient.call(void 0, );
49
49
  const streamUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _ => _.endpoints, 'access', _2 => _2.ticketStreamUrl]), () => ( TICKET_STREAM_ENDPOINT));
50
50
  const readUrl = _nullishCoalesce(_optionalChain([runtime, 'optionalAccess', _3 => _3.endpoints, 'access', _4 => _4.ticketReadUrl]), () => ( TICKET_READ_ENDPOINT));
@@ -160,7 +160,7 @@ function TicketLiveProvider({ children, enabled = true }) {
160
160
  _react2.default.useEffect(() => {
161
161
  if (!streamEnabled) return void 0;
162
162
  if (typeof window === "undefined") return void 0;
163
- subscriptionRef.current = _chunkBZZE4KIVcjs.createSseSubscription.call(void 0, {
163
+ subscriptionRef.current = _chunkTX4NTH22cjs.createSseSubscription.call(void 0, {
164
164
  url: streamUrl,
165
165
  onEvent: (name, data) => handlersRef.current.onEvent(name, data),
166
166
  onStatusChange: (status) => handlersRef.current.onStatus(status),
@@ -1,12 +1,12 @@
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 _chunkSSSI2RBVcjs = require('./chunk-SSSI2RBV.cjs');
4
+ var _chunkFNQWL4W4cjs = require('./chunk-FNQWL4W4.cjs');
5
5
 
6
6
 
7
7
 
8
8
 
9
- var _chunkBZZE4KIVcjs = require('./chunk-BZZE4KIV.cjs');
9
+ var _chunkTX4NTH22cjs = require('./chunk-TX4NTH22.cjs');
10
10
 
11
11
 
12
12
  var _chunkSXGDKNVEcjs = require('./chunk-SXGDKNVE.cjs');
@@ -47,22 +47,22 @@ var _chunk5OG5ZTNMcjs = require('./chunk-5OG5ZTNM.cjs');
47
47
 
48
48
 
49
49
 
50
- var _chunkABL5OBSFcjs = require('./chunk-ABL5OBSF.cjs');
50
+ var _chunk533QK4R6cjs = require('./chunk-533QK4R6.cjs');
51
51
 
52
52
 
53
- var _chunkNFNSPLGCcjs = require('./chunk-NFNSPLGC.cjs');
53
+ var _chunkW7OFAROYcjs = require('./chunk-W7OFAROY.cjs');
54
54
 
55
55
 
56
- var _chunkBIOSHDXQcjs = require('./chunk-BIOSHDXQ.cjs');
56
+ var _chunkMDLT6D46cjs = require('./chunk-MDLT6D46.cjs');
57
57
 
58
58
 
59
59
  var _chunkJQCQCE6Ucjs = require('./chunk-JQCQCE6U.cjs');
60
60
 
61
61
 
62
- var _chunk3V5JWG27cjs = require('./chunk-3V5JWG27.cjs');
62
+ var _chunkGG466XFQcjs = require('./chunk-GG466XFQ.cjs');
63
63
 
64
64
 
65
- var _chunk3TOWCFIKcjs = require('./chunk-3TOWCFIK.cjs');
65
+ var _chunkPMUCEUFQcjs = require('./chunk-PMUCEUFQ.cjs');
66
66
 
67
67
 
68
68
  var _chunkFCZAUK4Dcjs = require('./chunk-FCZAUK4D.cjs');
@@ -172,31 +172,31 @@ CveLink.displayName = "CveLink";
172
172
  // src/components/platform/ShellTypeBadge.tsx
173
173
 
174
174
  var shellIconMap = {
175
- [_chunkBZZE4KIVcjs.ShellTypeValues.POWERSHELL]: {
175
+ [_chunkTX4NTH22cjs.ShellTypeValues.POWERSHELL]: {
176
176
  icon: _chunkMCQY746Mcjs.PowershellLogoGreyIcon,
177
177
  props: { size: 16, className: "text-ods-text-secondary" }
178
178
  },
179
- [_chunkBZZE4KIVcjs.ShellTypeValues.CMD]: {
179
+ [_chunkTX4NTH22cjs.ShellTypeValues.CMD]: {
180
180
  icon: _chunkUXUYT4WKcjs.CmdIcon,
181
181
  props: { size: 16, color: "var(--color-text-secondary)" }
182
182
  },
183
- [_chunkBZZE4KIVcjs.ShellTypeValues.BASH]: {
183
+ [_chunkTX4NTH22cjs.ShellTypeValues.BASH]: {
184
184
  icon: _chunk5OG5ZTNMcjs.BashIcon,
185
185
  props: { size: 16, color: "var(--color-text-secondary)" }
186
186
  },
187
- [_chunkBZZE4KIVcjs.ShellTypeValues.PYTHON]: {
187
+ [_chunkTX4NTH22cjs.ShellTypeValues.PYTHON]: {
188
188
  icon: _chunkBF77UKGDcjs.PythonLogoIcon,
189
189
  props: { size: 16, className: "text-ods-text-secondary" }
190
190
  },
191
- [_chunkBZZE4KIVcjs.ShellTypeValues.NUSHELL]: {
191
+ [_chunkTX4NTH22cjs.ShellTypeValues.NUSHELL]: {
192
192
  icon: _chunkG37H4CBTcjs.NushellIcon,
193
193
  props: { size: 16, color: "var(--color-text-secondary)" }
194
194
  },
195
- [_chunkBZZE4KIVcjs.ShellTypeValues.DENO]: {
195
+ [_chunkTX4NTH22cjs.ShellTypeValues.DENO]: {
196
196
  icon: _chunkHUL6SF5Acjs.DenoIcon,
197
197
  props: { size: 16, color: "var(--color-text-secondary)" }
198
198
  },
199
- [_chunkBZZE4KIVcjs.ShellTypeValues.SHELL]: {
199
+ [_chunkTX4NTH22cjs.ShellTypeValues.SHELL]: {
200
200
  icon: _chunk6RMATQNNcjs.ShellIcon,
201
201
  props: { size: 16, color: "var(--color-text-secondary)" }
202
202
  }
@@ -207,7 +207,7 @@ var defaultIconConfig = {
207
207
  };
208
208
  var ShellTypeBadge = ({ shellType, className, iconClassName }) => {
209
209
  const normalizedType = _optionalChain([shellType, 'optionalAccess', _ => _.toUpperCase, 'call', _2 => _2()]);
210
- const label = _chunkBZZE4KIVcjs.getShellLabel.call(void 0, normalizedType);
210
+ const label = _chunkTX4NTH22cjs.getShellLabel.call(void 0, normalizedType);
211
211
  const { icon: IconComponent, props: iconProps } = _nullishCoalesce(shellIconMap[normalizedType], () => ( defaultIconConfig));
212
212
  const defaultIconClassName = "className" in iconProps ? iconProps.className : void 0;
213
213
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex items-center gap-1", className), children: [
@@ -223,12 +223,12 @@ function formatSupportedPlatforms(platforms) {
223
223
  if (!platforms || platforms.length === 0) {
224
224
  return "All Platforms";
225
225
  }
226
- return platforms.map((platform) => _chunkBZZE4KIVcjs.getOSLabel.call(void 0, platform)).join(", ");
226
+ return platforms.map((platform) => _chunkTX4NTH22cjs.getOSLabel.call(void 0, platform)).join(", ");
227
227
  }
228
228
  function InfoCell({ label, value, avatar, className }) {
229
229
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex min-w-0 items-center gap-2", className), children: [
230
230
  avatar && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "relative size-8 shrink-0 overflow-hidden rounded-full border border-ods-border bg-ods-bg", children: avatar.photoUrl ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
231
- _chunk3V5JWG27cjs.next_image_default,
231
+ _chunkGG466XFQcjs.next_image_default,
232
232
  {
233
233
  src: avatar.photoUrl,
234
234
  alt: avatar.name,
@@ -237,7 +237,7 @@ function InfoCell({ label, value, avatar, className }) {
237
237
  sizes: _chunkJQCQCE6Ucjs.fixedImageSlot.call(void 0, "logo"),
238
238
  unoptimized: true
239
239
  }
240
- ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-full items-center justify-center text-ods-text-secondary text-h6", children: avatar.initials || _chunkNFNSPLGCcjs.nameInitials.call(void 0, avatar.name) }) }),
240
+ ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex size-full items-center justify-center text-ods-text-secondary text-h6", children: avatar.initials || _chunkW7OFAROYcjs.nameInitials.call(void 0, avatar.name) }) }),
241
241
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-col", children: [
242
242
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h4", title: value, children: value }),
243
243
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-secondary text-h6", children: label })
@@ -253,7 +253,7 @@ var ScriptInfoSection = ({
253
253
  author,
254
254
  className
255
255
  }) => {
256
- const shellLabel = _chunkBZZE4KIVcjs.getShellLabel.call(void 0, shellType);
256
+ const shellLabel = _chunkTX4NTH22cjs.getShellLabel.call(void 0, shellType);
257
257
  const platformsLabel = formatSupportedPlatforms(supportedPlatforms);
258
258
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "overflow-hidden rounded-[6px] border border-ods-border bg-ods-card", className), children: [
259
259
  /* @__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: [
@@ -301,7 +301,7 @@ function OnboardingStepCard({
301
301
  onSkip();
302
302
  };
303
303
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
304
- _chunkABL5OBSFcjs.InteractiveCard,
304
+ _chunk533QK4R6cjs.InteractiveCard,
305
305
  {
306
306
  clickable: false,
307
307
  className: _chunk63A4GZMBcjs.cn.call(void 0,
@@ -324,10 +324,10 @@ function OnboardingStepCard({
324
324
  className: "flex w-full shrink-0 items-center justify-start gap-2 md:w-auto md:justify-end",
325
325
  onClick: (e) => e.stopPropagation(),
326
326
  children: isCheckingCompletion ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
327
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.UnifiedSkeleton, { className: "h-[32px] w-[100px] rounded-[6px]" }),
328
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.UnifiedSkeleton, { className: "h-[32px] w-[120px] rounded-[6px]" })
327
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.UnifiedSkeleton, { className: "h-[32px] w-[100px] rounded-[6px]" }),
328
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.UnifiedSkeleton, { className: "h-[32px] w-[120px] rounded-[6px]" })
329
329
  ] }) : isCompleted ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
330
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIOSHDXQcjs.StatusBadge, { text: "COMPLETED", variant: "card", colorScheme: "success" }),
330
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMDLT6D46cjs.StatusBadge, { text: "COMPLETED", variant: "card", colorScheme: "success" }),
331
331
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
332
332
  _chunkFCZAUK4Dcjs.Button,
333
333
  {
@@ -338,7 +338,7 @@ function OnboardingStepCard({
338
338
  children: step.completedText
339
339
  }
340
340
  )
341
- ] }) : isSkipped ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIOSHDXQcjs.StatusBadge, { text: "SKIPPED", variant: "card", colorScheme: "default" }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
341
+ ] }) : isSkipped ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMDLT6D46cjs.StatusBadge, { text: "SKIPPED", variant: "card", colorScheme: "default" }) }) : /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
342
342
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", onClick: handleSkip, children: "Skip Step" }),
343
343
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", onClick: handleAction, disabled: isProcessing, leftIcon: step.actionIcon("black"), children: step.actionText })
344
344
  ] })
@@ -374,7 +374,7 @@ function OnboardingWalkthrough({
374
374
  isStepSkipped,
375
375
  allStepsComplete,
376
376
  markMultipleComplete
377
- } = _chunkSSSI2RBVcjs.useOnboardingState.call(void 0, storageKey);
377
+ } = _chunkFNQWL4W4cjs.useOnboardingState.call(void 0, storageKey);
378
378
  const hasAutoMarkedRef = _react.useRef.call(void 0, false);
379
379
  const autoMarkingInProgressRef = _react.useRef.call(void 0, false);
380
380
  const lastCompletionStatusRef = _react.useRef.call(void 0, null);
@@ -456,8 +456,8 @@ function OnboardingWalkthrough({
456
456
  const isAllComplete = allStepsComplete(steps);
457
457
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "w-full space-y-4", className), children: [
458
458
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-start justify-between gap-3 md:flex-row md:items-center md:gap-0", children: [
459
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: _chunkABL5OBSFcjs.SECTION_HEADING_CLASS, children: _chunkABL5OBSFcjs.accentSentenceMarks.call(void 0, title) }),
460
- isLoadingCompletion ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.UnifiedSkeleton, { className: "h-[48px] w-full rounded-[6px] md:w-[160px]" }) : isAllComplete ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", onClick: handleDismiss, className: "w-full md:w-auto", children: "Close Onboarding" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", onClick: handleDismiss, className: "w-full md:w-auto", children: "Skip Onboarding" })
459
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h2", { className: _chunk533QK4R6cjs.SECTION_HEADING_CLASS, children: _chunk533QK4R6cjs.accentSentenceMarks.call(void 0, title) }),
460
+ isLoadingCompletion ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.UnifiedSkeleton, { className: "h-[48px] w-full rounded-[6px] md:w-[160px]" }) : isAllComplete ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", onClick: handleDismiss, className: "w-full md:w-auto", children: "Close Onboarding" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", onClick: handleDismiss, className: "w-full md:w-auto", children: "Skip Onboarding" })
461
461
  ] }),
462
462
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, spacing), children: steps.map((step) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
463
463
  OnboardingStepCard,
@@ -1,10 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkPZNWIJRZcjs = require('./chunk-PZNWIJRZ.cjs');
4
+ var _chunkTIVPOVIMcjs = require('./chunk-TIVPOVIM.cjs');
5
5
 
6
6
 
7
- var _chunk3TOWCFIKcjs = require('./chunk-3TOWCFIK.cjs');
7
+ var _chunkPMUCEUFQcjs = require('./chunk-PMUCEUFQ.cjs');
8
8
 
9
9
 
10
10
  var _chunkFCZAUK4Dcjs = require('./chunk-FCZAUK4D.cjs');
@@ -49,7 +49,7 @@ function PaginationControl({
49
49
  );
50
50
  }
51
51
  const handleClick = (event) => {
52
- if (_chunkPZNWIJRZcjs.isModifierClick.call(void 0, event)) return;
52
+ if (_chunkTIVPOVIMcjs.isModifierClick.call(void 0, event)) return;
53
53
  event.preventDefault();
54
54
  onPageChange(page);
55
55
  };
@@ -169,9 +169,9 @@ function PaginationSkeleton({
169
169
  className
170
170
  }) {
171
171
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, PAGINATION_NAV_CLASS, className), "aria-hidden": true, inert: true, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "ul", { className: PAGINATION_LIST_CLASS, children: [
172
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.InteractiveSkeleton.Button, { className: NEIGHBOUR_CLASS }) }),
173
- paginationSlots(currentPage, Math.max(totalPages, 1)).map((page, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: page < 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PaginationEllipsisSlot, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.InteractiveSkeleton.Button, { className: PAGE_CLASS }) }, page < 0 ? `ellipsis-${index}` : page)),
174
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3TOWCFIKcjs.InteractiveSkeleton.Button, { className: NEIGHBOUR_CLASS }) })
172
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.InteractiveSkeleton.Button, { className: NEIGHBOUR_CLASS }) }),
173
+ paginationSlots(currentPage, Math.max(totalPages, 1)).map((page, index) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: page < 0 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PaginationEllipsisSlot, {}) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.InteractiveSkeleton.Button, { className: PAGE_CLASS }) }, page < 0 ? `ellipsis-${index}` : page)),
174
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "li", { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.InteractiveSkeleton.Button, { className: NEIGHBOUR_CLASS }) })
175
175
  ] }) });
176
176
  }
177
177
  var PaginationContent = _react.forwardRef.call(void 0,
@@ -2,14 +2,15 @@
2
2
 
3
3
 
4
4
 
5
- var _chunkABL5OBSFcjs = require('./chunk-ABL5OBSF.cjs');
6
5
 
6
+ var _chunk533QK4R6cjs = require('./chunk-533QK4R6.cjs');
7
7
 
8
8
 
9
- var _chunkNFNSPLGCcjs = require('./chunk-NFNSPLGC.cjs');
10
9
 
10
+ var _chunkW7OFAROYcjs = require('./chunk-W7OFAROY.cjs');
11
11
 
12
- var _chunkBIOSHDXQcjs = require('./chunk-BIOSHDXQ.cjs');
12
+
13
+ var _chunkMDLT6D46cjs = require('./chunk-MDLT6D46.cjs');
13
14
 
14
15
 
15
16
  var _chunkFX35L4Y6cjs = require('./chunk-FX35L4Y6.cjs');
@@ -18,7 +19,7 @@ var _chunkFX35L4Y6cjs = require('./chunk-FX35L4Y6.cjs');
18
19
  var _chunkJQCQCE6Ucjs = require('./chunk-JQCQCE6U.cjs');
19
20
 
20
21
 
21
- var _chunk3V5JWG27cjs = require('./chunk-3V5JWG27.cjs');
22
+ var _chunkGG466XFQcjs = require('./chunk-GG466XFQ.cjs');
22
23
 
23
24
 
24
25
  var _chunk63A4GZMBcjs = require('./chunk-63A4GZMB.cjs');
@@ -26,49 +27,8 @@ var _chunk63A4GZMBcjs = require('./chunk-63A4GZMB.cjs');
26
27
 
27
28
  var _chunkV45KLJQPcjs = require('./chunk-V45KLJQP.cjs');
28
29
 
29
- // src/utils/badge-palette.ts
30
- var BADGE_PALETTE = [
31
- "cyan",
32
- "cyanSoft",
33
- "pink",
34
- "pinkSoft",
35
- "openYellow",
36
- "warning",
37
- "green",
38
- "success",
39
- "red",
40
- "error"
41
- ];
42
- function isBadgePaletteKey(value) {
43
- return typeof value === "string" && BADGE_PALETTE.includes(value);
44
- }
45
- function pickBadgePaletteColor({
46
- avoid = [],
47
- random = Math.random
48
- } = {}) {
49
- const used = new Set(avoid);
50
- const free = BADGE_PALETTE.filter((key) => !used.has(key));
51
- const pool = free.length > 0 ? free : BADGE_PALETTE;
52
- return pool[Math.floor(random() * pool.length) % pool.length];
53
- }
54
-
55
- // src/components/ui/palette-badge.tsx
56
- var _jsxruntime = require('react/jsx-runtime');
57
- function PaletteBadge({ text, color, className, variant = "button" }) {
58
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
59
- _chunkBIOSHDXQcjs.StatusBadge,
60
- {
61
- text,
62
- colorScheme: isBadgePaletteKey(color) ? color : "default",
63
- variant,
64
- singleLine: true,
65
- className
66
- }
67
- );
68
- }
69
-
70
30
  // src/components/ui/department-badge.tsx
71
-
31
+ var _jsxruntime = require('react/jsx-runtime');
72
32
  function DepartmentBadge({
73
33
  department,
74
34
  emptyLabel = "No department",
@@ -76,7 +36,7 @@ function DepartmentBadge({
76
36
  variant
77
37
  }) {
78
38
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
79
- PaletteBadge,
39
+ _chunk533QK4R6cjs.PaletteBadge,
80
40
  {
81
41
  text: _optionalChain([department, 'optionalAccess', _ => _.name]) || emptyLabel,
82
42
  color: _optionalChain([department, 'optionalAccess', _2 => _2.name]) ? department.color : null,
@@ -145,12 +105,12 @@ var STATUS_BADGE_SCHEME = {
145
105
  abandoned: "default"
146
106
  };
147
107
  function EmployeeEntryBadge({ children }) {
148
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkBIOSHDXQcjs.StatusBadge, { text: children, colorScheme: "default", variant: "button", singleLine: true });
108
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkMDLT6D46cjs.StatusBadge, { text: children, colorScheme: "default", variant: "button", singleLine: true });
149
109
  }
150
110
  function EmployeeEntryCard(props) {
151
111
  if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || props.loading) {
152
112
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
153
- _chunkABL5OBSFcjs.AdminContentCard,
113
+ _chunk533QK4R6cjs.AdminContentCard,
154
114
  {
155
115
  loading: true,
156
116
  title: "",
@@ -172,9 +132,9 @@ function LoadedEmployeeEntryCard({
172
132
  anchorProps,
173
133
  className
174
134
  }) {
175
- const authorAvatar = _chunkABL5OBSFcjs.useProxiedImageUrl.call(void 0, _optionalChain([entry, 'access', _7 => _7.author, 'optionalAccess', _8 => _8.avatar_url]), { directHttps: false });
135
+ const authorAvatar = _chunk533QK4R6cjs.useProxiedImageUrl.call(void 0, _optionalChain([entry, 'access', _7 => _7.author, 'optionalAccess', _8 => _8.avatar_url]), { directHttps: false });
176
136
  const card = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
177
- _chunkABL5OBSFcjs.AdminContentCard,
137
+ _chunk533QK4R6cjs.AdminContentCard,
178
138
  {
179
139
  imageUrl: entry.featured_image || entry.main_video_thumbnail,
180
140
  placeholderUrl,
@@ -182,7 +142,7 @@ function LoadedEmployeeEntryCard({
182
142
  summary: (_nullishCoalesce(entry.summary, () => ( ""))).slice(0, 140) || "No description",
183
143
  badges: entry.status || extraBadges ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
184
144
  entry.status ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
185
- _chunkBIOSHDXQcjs.StatusBadge,
145
+ _chunkMDLT6D46cjs.StatusBadge,
186
146
  {
187
147
  text: entry.status,
188
148
  colorScheme: _nullishCoalesce(STATUS_BADGE_SCHEME[entry.status], () => ( "default")),
@@ -195,7 +155,7 @@ function LoadedEmployeeEntryCard({
195
155
  meta: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
196
156
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-2", children: [
197
157
  authorAvatar ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
198
- _chunk3V5JWG27cjs.next_image_default,
158
+ _chunkGG466XFQcjs.next_image_default,
199
159
  {
200
160
  src: authorAvatar,
201
161
  alt: "",
@@ -227,7 +187,7 @@ function WhatIShippedCard(props) {
227
187
  EmployeeEntryCard,
228
188
  {
229
189
  entry,
230
- dateLabel: _chunkNFNSPLGCcjs.formatEntryMonthUTC.call(void 0, entry.entry_month, "short"),
190
+ dateLabel: _chunkW7OFAROYcjs.formatEntryMonthUTC.call(void 0, entry.entry_month, "short"),
231
191
  placeholderUrl,
232
192
  actions,
233
193
  anchorProps,
@@ -248,7 +208,7 @@ function HowIWorkCard(props) {
248
208
  EmployeeEntryCard,
249
209
  {
250
210
  entry,
251
- dateLabel: entry.session_date ? _chunkNFNSPLGCcjs.formatDateUTC.call(void 0, entry.session_date, { fallback: "" }) || null : null,
211
+ dateLabel: entry.session_date ? _chunkW7OFAROYcjs.formatDateUTC.call(void 0, entry.session_date, { fallback: "" }) || null : null,
252
212
  extraBadges: entry.discipline ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmployeeEntryBadge, { children: disciplineLabel(entry.discipline) }) : null,
253
213
  untitledLabel: "Untitled session",
254
214
  placeholderUrl,
@@ -270,7 +230,7 @@ function AiPromptCard(props) {
270
230
  EmployeeEntryCard,
271
231
  {
272
232
  entry,
273
- dateLabel: entry.published_at ? _chunkNFNSPLGCcjs.formatDateUTC.call(void 0, entry.published_at, { fallback: "" }) || null : null,
233
+ dateLabel: entry.published_at ? _chunkW7OFAROYcjs.formatDateUTC.call(void 0, entry.published_at, { fallback: "" }) || null : null,
274
234
  extraBadges: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
275
235
  departmentName ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DepartmentBadge, { department: { name: departmentName, color: _nullishCoalesce(_optionalChain([entry, 'access', _15 => _15.department, 'optionalAccess', _16 => _16.color]), () => ( null)) } }) : null,
276
236
  steps > 1 ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EmployeeEntryBadge, { children: `${steps} steps` }) : null
@@ -381,8 +341,4 @@ function useSelfFetch(givenUrl, options) {
381
341
 
382
342
 
383
343
 
384
-
385
-
386
-
387
-
388
- exports.BADGE_PALETTE = BADGE_PALETTE; exports.isBadgePaletteKey = isBadgePaletteKey; exports.pickBadgePaletteColor = pickBadgePaletteColor; exports.PaletteBadge = PaletteBadge; exports.DepartmentBadge = DepartmentBadge; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.GROUP_PAGE_SIZE = GROUP_PAGE_SIZE; exports.buildSuggestionUrl = buildSuggestionUrl; exports.useSelfFetch = useSelfFetch; exports.EmployeeEntryBadge = EmployeeEntryBadge; exports.EmployeeEntryCard = EmployeeEntryCard; exports.WhatIShippedCard = WhatIShippedCard; exports.HowIWorkCard = HowIWorkCard; exports.AiPromptCard = AiPromptCard;
344
+ exports.DepartmentBadge = DepartmentBadge; exports.CONTENT_REF_GROUPS = CONTENT_REF_GROUPS; exports.getContentRefLabel = getContentRefLabel; exports.getContentRefLabelOrTitleCase = getContentRefLabelOrTitleCase; exports.orderContentRefTypes = orderContentRefTypes; exports.GROUP_PAGE_SIZE = GROUP_PAGE_SIZE; exports.buildSuggestionUrl = buildSuggestionUrl; exports.useSelfFetch = useSelfFetch; exports.EmployeeEntryBadge = EmployeeEntryBadge; exports.EmployeeEntryCard = EmployeeEntryCard; exports.WhatIShippedCard = WhatIShippedCard; exports.HowIWorkCard = HowIWorkCard; exports.AiPromptCard = AiPromptCard;
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkN2A24FDFcjs = require('./chunk-N2A24FDF.cjs');
4
+ var _chunkYLETC7LPcjs = require('./chunk-YLETC7LP.cjs');
5
5
 
6
6
 
7
7
  var _chunkCKR42OBKcjs = require('./chunk-CKR42OBK.cjs');
@@ -14,22 +14,42 @@ var _chunkM7ZSKWT3cjs = require('./chunk-M7ZSKWT3.cjs');
14
14
  var _chunkHLJXCOMAcjs = require('./chunk-HLJXCOMA.cjs');
15
15
 
16
16
 
17
- var _chunkNFNSPLGCcjs = require('./chunk-NFNSPLGC.cjs');
17
+ var _chunkW7OFAROYcjs = require('./chunk-W7OFAROY.cjs');
18
+
19
+
20
+
21
+ var _chunkPMUCEUFQcjs = require('./chunk-PMUCEUFQ.cjs');
18
22
 
19
23
 
20
24
  var _chunkFCZAUK4Dcjs = require('./chunk-FCZAUK4D.cjs');
21
25
 
26
+
27
+ var _chunk63A4GZMBcjs = require('./chunk-63A4GZMB.cjs');
28
+
22
29
  // src/components/embeds/file-download-card.tsx
23
30
  var _lucidereact = require('lucide-react');
24
31
  var _jsxruntime = require('react/jsx-runtime');
25
- function FileDownloadCard({ fileName, mimeType, fileSize, fileUrl }) {
26
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "flex flex-col items-center justify-center py-16", children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "w-full max-w-md space-y-4 rounded-xl border border-ods-border bg-ods-card p-8 text-center", children: [
27
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.FileText, { className: "mx-auto h-16 w-16 text-ods-text-secondary" }),
32
+ var FILE_CARD_OUTER_CLASS = "flex flex-col items-center justify-center py-16";
33
+ var FILE_CARD_CLASS = "w-full max-w-md space-y-4 rounded-xl border border-ods-border bg-ods-card p-8 text-center";
34
+ var FILE_ICON_CLASS = "mx-auto h-16 w-16 text-ods-text-secondary";
35
+ function FileDownloadCard({ fileName, mimeType, fileSize, fileUrl, loading = false }) {
36
+ if (_chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loading) {
37
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: FILE_CARD_OUTER_CLASS, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: FILE_CARD_CLASS, children: [
38
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.FileText, { className: FILE_ICON_CLASS }),
39
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
40
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h3", className: "mx-auto w-2/3" }),
41
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", className: "mx-auto mt-2 w-1/2" })
42
+ ] }),
43
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.InteractiveSkeleton.Button, { className: "mx-auto" })
44
+ ] }) });
45
+ }
46
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: FILE_CARD_OUTER_CLASS, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: FILE_CARD_CLASS, children: [
47
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.FileText, { className: FILE_ICON_CLASS }),
28
48
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
29
49
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "h3", { className: "text-ods-text-primary text-h3", children: fileName || "File" }),
30
50
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "mt-2 flex items-center justify-center gap-3 text-ods-text-secondary text-h6", children: [
31
51
  mimeType && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: mimeType }),
32
- typeof fileSize === "number" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _chunkNFNSPLGCcjs.formatFileSize.call(void 0, fileSize) })
52
+ typeof fileSize === "number" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { children: _chunkW7OFAROYcjs.formatFileSize.call(void 0, fileSize) })
33
53
  ] })
34
54
  ] }),
35
55
  fileUrl && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "accent", href: fileUrl, openInNewTab: true, leftIcon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _lucidereact.Download, { className: "h-4 w-4" }), children: "Download File" })
@@ -39,16 +59,17 @@ function FileDownloadCard({ fileName, mimeType, fileSize, fileUrl }) {
39
59
  // src/components/embeds/google-sheets-viewer.tsx
40
60
 
41
61
 
42
- function GoogleSheetsViewer({ externalUrl, fileName, height }) {
62
+ function GoogleSheetsViewer({ externalUrl, fileName, height, loading = false }) {
43
63
  const displayName = fileName || "Google Sheet";
44
- if (!externalUrl) {
64
+ const isLoading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loading;
65
+ if (!externalUrl && !isLoading) {
45
66
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [
46
67
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCKR42OBKcjs.GoogleSheetsIcon, { className: "mb-4 h-16 w-16 text-ods-text-secondary" }),
47
68
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: "Google Sheet URL not configured" })
48
69
  ] });
49
70
  }
50
71
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
51
- _chunkN2A24FDFcjs.EmbedViewerFrame,
72
+ _chunkYLETC7LPcjs.EmbedViewerFrame,
52
73
  {
53
74
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkCKR42OBKcjs.GoogleSheetsIcon, { className: "h-5 w-5 shrink-0" }),
54
75
  title: displayName,
@@ -65,8 +86,9 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
65
86
  children: "Open in Google Sheets"
66
87
  }
67
88
  ),
68
- src: _chunkHLJXCOMAcjs.toGoogleSheetsEmbedUrl.call(void 0, externalUrl),
69
- height
89
+ src: externalUrl ? _chunkHLJXCOMAcjs.toGoogleSheetsEmbedUrl.call(void 0, externalUrl) : null,
90
+ height,
91
+ loading
70
92
  }
71
93
  );
72
94
  }
@@ -74,16 +96,17 @@ function GoogleSheetsViewer({ externalUrl, fileName, height }) {
74
96
  // src/components/embeds/pdf-viewer.tsx
75
97
 
76
98
 
77
- function PdfViewer({ src, fileName, onPreview, onDownload, height }) {
99
+ function PdfViewer({ src, fileName, onPreview, onDownload, height, loading = false }) {
78
100
  const displayName = fileName || "PDF Document";
79
- if (!src) {
101
+ const isLoading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loading;
102
+ if (!src && !isLoading) {
80
103
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [
81
104
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7ZSKWT3cjs.AdobePdfIcon, { className: "mb-4 h-16 w-16 text-ods-text-secondary" }),
82
105
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "text-ods-text-secondary", children: "PDF file not available" })
83
106
  ] });
84
107
  }
85
108
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
86
- _chunkN2A24FDFcjs.EmbedViewerFrame,
109
+ _chunkYLETC7LPcjs.EmbedViewerFrame,
87
110
  {
88
111
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkM7ZSKWT3cjs.AdobePdfIcon, { className: "h-5 w-5 shrink-0" }),
89
112
  title: displayName,
@@ -116,6 +139,8 @@ function PdfViewer({ src, fileName, onPreview, onDownload, height }) {
116
139
  )
117
140
  ] }),
118
141
  src,
142
+ loadingActionCount: 2,
143
+ loading,
119
144
  height
120
145
  }
121
146
  );