@flamingo-stack/openframe-frontend-core 0.0.848 → 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 (117) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{chunk-Y4BG7SPX.cjs → chunk-36XWCVSM.cjs} +63 -63
  3. package/dist/{chunk-YXKAHQYS.cjs → chunk-533QK4R6.cjs} +2 -1
  4. package/dist/{chunk-5HOWR4TG.cjs → chunk-5CBI2ZYV.cjs} +5 -5
  5. package/dist/{chunk-NYT6IBIX.cjs → chunk-5PIR77V5.cjs} +4 -4
  6. package/dist/{chunk-IIUZE73M.cjs → chunk-6AJYGXXS.cjs} +14 -14
  7. package/dist/{chunk-U7UBYJEZ.cjs → chunk-BU2PSRAS.cjs} +5 -5
  8. package/dist/{chunk-I3YRYS23.cjs → chunk-C3P7IUTU.cjs} +37 -12
  9. package/dist/{chunk-O4BXHCMK.cjs → chunk-FRG724DU.cjs} +2 -2
  10. package/dist/{chunk-YAW7CHLV.cjs → chunk-FXLROQUT.cjs} +41 -38
  11. package/dist/{chunk-7YJQTQPV.cjs → chunk-IG6ROHPS.cjs} +46 -46
  12. package/dist/{chunk-INA2FX2N.cjs → chunk-IHY7E4EX.cjs} +2 -2
  13. package/dist/{chunk-Y2ZWWIUA.cjs → chunk-IN3LA2FU.cjs} +2 -2
  14. package/dist/{chunk-7LE4HWHA.cjs → chunk-KXBZCUDW.cjs} +11 -11
  15. package/dist/{chunk-C3WZXOZJ.cjs → chunk-MC3L525K.cjs} +3 -3
  16. package/dist/{chunk-7DW3LZ52.cjs → chunk-PV2XQJ2R.cjs} +92 -171
  17. package/dist/{chunk-GASFYPGH.cjs → chunk-R5JPZ6TY.cjs} +14 -14
  18. package/dist/{chunk-MWYEROAP.cjs → chunk-SHQY4GOE.cjs} +55 -55
  19. package/dist/{chunk-VW4446JR.cjs → chunk-TEKN6TJ5.cjs} +14 -14
  20. package/dist/{chunk-QUSCSYHJ.cjs → chunk-TX4NTH22.cjs} +45 -26
  21. package/dist/{chunk-2V6FCVUL.cjs → chunk-YLETC7LP.cjs} +187 -169
  22. package/dist/{chunk-OCJXOSIH.cjs → chunk-YYHQY3K6.cjs} +30 -30
  23. package/dist/{chunk-74Z34I2C.cjs → chunk-Z5UCDEKZ.cjs} +4 -4
  24. package/dist/{chunk-IUZVOQXP.cjs → chunk-ZY34R37A.cjs} +45 -45
  25. package/dist/{cloud-tenants-YAZHLPOQ.cjs → cloud-tenants-HKUUEUAY.cjs} +7 -7
  26. package/dist/components/case-studies/index.cjs +21 -21
  27. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  28. package/dist/components/chat/entity-cards/dispatch.js +1 -0
  29. package/dist/components/chat/index.cjs +5 -5
  30. package/dist/components/contact/index.cjs +8 -8
  31. package/dist/components/docs/doc-viewer.d.ts +7 -7
  32. package/dist/components/docs/doc-viewer.d.ts.map +1 -1
  33. package/dist/components/docs/doc-viewer.js +29 -16
  34. package/dist/components/docs/docs-hub-page.d.ts +1 -1
  35. package/dist/components/docs/docs-hub-page.d.ts.map +1 -1
  36. package/dist/components/docs/docs-hub-page.js +4 -11
  37. package/dist/components/docs/index.cjs +11 -11
  38. package/dist/components/docs/use-document-tree.d.ts.map +1 -1
  39. package/dist/components/docs/use-document-tree.js +24 -24
  40. package/dist/components/embeds/claude-embed.d.ts +2 -2
  41. package/dist/components/embeds/claude-embed.d.ts.map +1 -1
  42. package/dist/components/embeds/claude-embed.js +3 -3
  43. package/dist/components/embeds/embed-iframe.d.ts +5 -3
  44. package/dist/components/embeds/embed-iframe.d.ts.map +1 -1
  45. package/dist/components/embeds/embed-iframe.js +4 -3
  46. package/dist/components/embeds/embed-viewer-frame.d.ts +12 -9
  47. package/dist/components/embeds/embed-viewer-frame.d.ts.map +1 -1
  48. package/dist/components/embeds/embed-viewer-frame.js +21 -7
  49. package/dist/components/embeds/figma-embed.d.ts +4 -2
  50. package/dist/components/embeds/figma-embed.d.ts.map +1 -1
  51. package/dist/components/embeds/figma-embed.js +4 -3
  52. package/dist/components/embeds/file-download-card.d.ts +3 -1
  53. package/dist/components/embeds/file-download-card.d.ts.map +1 -1
  54. package/dist/components/embeds/file-download-card.js +18 -3
  55. package/dist/components/embeds/google-sheets-viewer.d.ts +3 -1
  56. package/dist/components/embeds/google-sheets-viewer.d.ts.map +1 -1
  57. package/dist/components/embeds/google-sheets-viewer.js +7 -4
  58. package/dist/components/embeds/index.cjs +8 -8
  59. package/dist/components/embeds/pdf-viewer.d.ts +3 -1
  60. package/dist/components/embeds/pdf-viewer.d.ts.map +1 -1
  61. package/dist/components/embeds/pdf-viewer.js +6 -2
  62. package/dist/components/faq/index.cjs +9 -9
  63. package/dist/components/features/index.cjs +7 -7
  64. package/dist/components/help-center-pages/index.cjs +81 -81
  65. package/dist/components/index.cjs +49 -49
  66. package/dist/components/meeting-scheduler/index.cjs +32 -32
  67. package/dist/components/navigation/index.cjs +10 -10
  68. package/dist/components/onboarding-guides/index.cjs +10 -10
  69. package/dist/components/product-demo/index.cjs +16 -16
  70. package/dist/components/related-content/index.cjs +4 -4
  71. package/dist/components/tickets/index.cjs +12 -12
  72. package/dist/components/ui/index.cjs +7 -7
  73. package/dist/components/ui/markdown/rich/rich-markdown-renderer.d.ts.map +1 -1
  74. package/dist/components/ui/markdown/rich/rich-markdown-renderer.js +7 -3
  75. package/dist/{devices-IZROCLFK.cjs → devices-P7M4Z7VP.cjs} +8 -8
  76. package/dist/{embeddable-chat-ETW6S22E.cjs → embeddable-chat-322NDFP5.cjs} +74 -74
  77. package/dist/index.cjs +15 -11
  78. package/dist/{knowledge-4IRWLTNW.cjs → knowledge-TC7JLOWI.cjs} +8 -8
  79. package/dist/{logs-EFDGY5IO.cjs → logs-GPOYCP4B.cjs} +14 -14
  80. package/dist/{policies-3KEXZ5BP.cjs → policies-ZUHOUMDD.cjs} +11 -11
  81. package/dist/{scripts-PCGTZLZL.cjs → scripts-FOEVDGTH.cjs} +12 -12
  82. package/dist/{software-update-YCDNVFJE.cjs → software-update-XGTMNFST.cjs} +10 -10
  83. package/dist/types/doc-source.d.ts +2 -2
  84. package/dist/types/doc-source.d.ts.map +1 -1
  85. package/dist/utils/doc-tree-nav.d.ts +7 -0
  86. package/dist/utils/doc-tree-nav.d.ts.map +1 -1
  87. package/dist/utils/doc-tree-nav.js +19 -0
  88. package/dist/utils/index.cjs +25 -2
  89. package/dist/utils/list-url.d.ts.map +1 -1
  90. package/dist/utils/list-url.js +2 -1
  91. package/dist/utils/source-grouping.d.ts +2 -2
  92. package/dist/utils/source-grouping.d.ts.map +1 -1
  93. package/dist/utils/source-grouping.js +1 -1
  94. package/dist/utils/source-icons.d.ts.map +1 -1
  95. package/dist/utils/source-icons.js +3 -0
  96. package/package.json +1 -1
  97. package/src/components/chat/entity-cards/dispatch.tsx +3 -0
  98. package/src/components/docs/doc-viewer.tsx +56 -35
  99. package/src/components/docs/docs-hub-page.tsx +13 -37
  100. package/src/components/docs/use-document-tree.ts +33 -23
  101. package/src/components/embeds/claude-embed.tsx +4 -4
  102. package/src/components/embeds/embed-iframe.tsx +8 -5
  103. package/src/components/embeds/embed-viewer-frame.tsx +35 -15
  104. package/src/components/embeds/figma-embed.tsx +9 -4
  105. package/src/components/embeds/file-download-card.tsx +28 -4
  106. package/src/components/embeds/google-sheets-viewer.tsx +9 -3
  107. package/src/components/embeds/pdf-viewer.tsx +9 -2
  108. package/src/components/ui/markdown/rich/rich-markdown-renderer.tsx +4 -0
  109. package/src/types/doc-source.ts +2 -2
  110. package/src/utils/doc-tree-nav.ts +27 -0
  111. package/src/utils/list-url.ts +2 -1
  112. package/src/utils/source-grouping.ts +2 -2
  113. package/src/utils/source-icons.ts +3 -0
  114. package/dist/components/docs/skeletons.d.ts +0 -25
  115. package/dist/components/docs/skeletons.d.ts.map +0 -1
  116. package/dist/components/docs/skeletons.js +0 -83
  117. package/src/components/docs/skeletons.tsx +0 -131
@@ -8,10 +8,10 @@ var _chunkLHV2R6QUcjs = require('./chunk-LHV2R6QU.cjs');
8
8
  var _chunkFDZOE5TLcjs = require('./chunk-FDZOE5TL.cjs');
9
9
 
10
10
 
11
- var _chunk2V6FCVULcjs = require('./chunk-2V6FCVUL.cjs');
11
+ var _chunkYLETC7LPcjs = require('./chunk-YLETC7LP.cjs');
12
12
  require('./chunk-IKOL6NJY.cjs');
13
13
  require('./chunk-SA2NNWIJ.cjs');
14
- require('./chunk-INA2FX2N.cjs');
14
+ require('./chunk-IHY7E4EX.cjs');
15
15
  require('./chunk-HQQE74RO.cjs');
16
16
  require('./chunk-DEY6XXGO.cjs');
17
17
  require('./chunk-FNQWL4W4.cjs');
@@ -19,11 +19,11 @@ require('./chunk-IUDBG3HJ.cjs');
19
19
  require('./chunk-24I6RFVU.cjs');
20
20
  require('./chunk-MZ4KBSH7.cjs');
21
21
  require('./chunk-ZZDFMUEU.cjs');
22
- require('./chunk-QUSCSYHJ.cjs');
22
+ require('./chunk-TX4NTH22.cjs');
23
23
  require('./chunk-OT6P57ZS.cjs');
24
24
 
25
25
 
26
- var _chunkYAW7CHLVcjs = require('./chunk-YAW7CHLV.cjs');
26
+ var _chunkFXLROQUTcjs = require('./chunk-FXLROQUT.cjs');
27
27
  require('./chunk-3W4ASAXN.cjs');
28
28
  require('./chunk-4YBS4HIO.cjs');
29
29
  require('./chunk-YJZ7R3W5.cjs');
@@ -1827,8 +1827,8 @@ require('./chunk-SKI6NKOE.cjs');
1827
1827
  require('./chunk-EWPR7662.cjs');
1828
1828
  require('./chunk-IX2E3AN7.cjs');
1829
1829
  require('./chunk-7DNL734S.cjs');
1830
- require('./chunk-U7UBYJEZ.cjs');
1831
- require('./chunk-YXKAHQYS.cjs');
1830
+ require('./chunk-BU2PSRAS.cjs');
1831
+ require('./chunk-533QK4R6.cjs');
1832
1832
  require('./chunk-HTYJUMFB.cjs');
1833
1833
  require('./chunk-W7OFAROY.cjs');
1834
1834
  require('./chunk-MDLT6D46.cjs');
@@ -1908,10 +1908,10 @@ function KnowledgeScreen(_props) {
1908
1908
  const cast = _chunkLHV2R6QUcjs.useProductDemoCast.call(void 0, );
1909
1909
  const fixture = _react.useMemo.call(void 0, () => buildKnowledgeFixture(cast), [cast]);
1910
1910
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1911
- _chunk2V6FCVULcjs.KnowledgeBaseArticleView,
1911
+ _chunkYLETC7LPcjs.KnowledgeBaseArticleView,
1912
1912
  {
1913
1913
  ...fixture.article,
1914
- content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYAW7CHLVcjs.SimpleMarkdownRenderer, { content: fixture.content, textSize: "compact" })
1914
+ content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFXLROQUTcjs.SimpleMarkdownRenderer, { content: fixture.content, textSize: "compact" })
1915
1915
  }
1916
1916
  ) });
1917
1917
  }
@@ -15,10 +15,10 @@ var _chunkFDZOE5TLcjs = require('./chunk-FDZOE5TL.cjs');
15
15
 
16
16
 
17
17
 
18
- var _chunk2V6FCVULcjs = require('./chunk-2V6FCVUL.cjs');
18
+ var _chunkYLETC7LPcjs = require('./chunk-YLETC7LP.cjs');
19
19
  require('./chunk-IKOL6NJY.cjs');
20
20
  require('./chunk-SA2NNWIJ.cjs');
21
- require('./chunk-INA2FX2N.cjs');
21
+ require('./chunk-IHY7E4EX.cjs');
22
22
  require('./chunk-HQQE74RO.cjs');
23
23
  require('./chunk-DEY6XXGO.cjs');
24
24
  require('./chunk-FNQWL4W4.cjs');
@@ -28,11 +28,11 @@ require('./chunk-MZ4KBSH7.cjs');
28
28
  require('./chunk-ZZDFMUEU.cjs');
29
29
 
30
30
 
31
- var _chunkQUSCSYHJcjs = require('./chunk-QUSCSYHJ.cjs');
31
+ var _chunkTX4NTH22cjs = require('./chunk-TX4NTH22.cjs');
32
32
 
33
33
 
34
34
  var _chunkOT6P57ZScjs = require('./chunk-OT6P57ZS.cjs');
35
- require('./chunk-YAW7CHLV.cjs');
35
+ require('./chunk-FXLROQUT.cjs');
36
36
  require('./chunk-3W4ASAXN.cjs');
37
37
  require('./chunk-4YBS4HIO.cjs');
38
38
  require('./chunk-YJZ7R3W5.cjs');
@@ -1836,8 +1836,8 @@ require('./chunk-SKI6NKOE.cjs');
1836
1836
  require('./chunk-EWPR7662.cjs');
1837
1837
  require('./chunk-IX2E3AN7.cjs');
1838
1838
  require('./chunk-7DNL734S.cjs');
1839
- require('./chunk-U7UBYJEZ.cjs');
1840
- require('./chunk-YXKAHQYS.cjs');
1839
+ require('./chunk-BU2PSRAS.cjs');
1840
+ require('./chunk-533QK4R6.cjs');
1841
1841
  require('./chunk-HTYJUMFB.cjs');
1842
1842
  require('./chunk-W7OFAROY.cjs');
1843
1843
  require('./chunk-MDLT6D46.cjs');
@@ -1890,7 +1890,7 @@ function entry(logId, minutesAgo, severity, toolType, device2, summary) {
1890
1890
  id: logId,
1891
1891
  logId,
1892
1892
  timestamp: displayTime(_chunkFDZOE5TLcjs.demoMinutesAgo.call(void 0, minutesAgo)),
1893
- status: { label: severity, variant: _chunk2V6FCVULcjs.logSeverityVariant.call(void 0, severity) },
1893
+ status: { label: severity, variant: _chunkYLETC7LPcjs.logSeverityVariant.call(void 0, severity) },
1894
1894
  source: { name: toolType, toolType },
1895
1895
  device: device2,
1896
1896
  description: { title: summary }
@@ -1962,13 +1962,13 @@ var NO_FILTERS = {};
1962
1962
  var ACTION_COLUMNS = ["copy", "quickView", "open"];
1963
1963
  var BESIDE_DRAWER_HIDDEN = [...ACTION_COLUMNS, "tool", "source"];
1964
1964
  var logHref = () => "#";
1965
- var copyAction = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2V6FCVULcjs.LogCopyIconButton, {});
1965
+ var copyAction = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLETC7LPcjs.LogCopyIconButton, {});
1966
1966
  function LogsScreen({ compact = false }) {
1967
1967
  const [dock, setDock] = _react.useState.call(void 0, null);
1968
1968
  const selected = LOGS_FIXTURE_SELECTED;
1969
1969
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full bg-ods-bg", children: [
1970
1970
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 overflow-clip", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1971
- _chunk2V6FCVULcjs.LogsPageView,
1971
+ _chunkYLETC7LPcjs.LogsPageView,
1972
1972
  {
1973
1973
  showHeader: false,
1974
1974
  className: "p-[var(--spacing-system-l)]",
@@ -1976,7 +1976,7 @@ function LogsScreen({ compact = false }) {
1976
1976
  onSearchChange: noop,
1977
1977
  onOpenFilters: noop,
1978
1978
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1979
- _chunk2V6FCVULcjs.LogsTableView,
1979
+ _chunkYLETC7LPcjs.LogsTableView,
1980
1980
  {
1981
1981
  logs: LOGS_FIXTURE_ENTRIES,
1982
1982
  facets: LOGS_FIXTURE_FACETS,
@@ -1991,7 +1991,7 @@ function LogsScreen({ compact = false }) {
1991
1991
  }
1992
1992
  ) }),
1993
1993
  !compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setDock, className: "relative w-[calc(400px+var(--spacing-system-m))] shrink-0", children: dock && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOT6P57ZScjs.AppLayoutDrawerContainerContext.Provider, { value: dock, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1994
- _chunk2V6FCVULcjs.LogDrawer,
1994
+ _chunkYLETC7LPcjs.LogDrawer,
1995
1995
  {
1996
1996
  docked: true,
1997
1997
  isOpen: true,
@@ -2003,12 +2003,12 @@ function LogsScreen({ compact = false }) {
2003
2003
  { label: "Log ID", value: selected.logId },
2004
2004
  {
2005
2005
  label: "Source",
2006
- value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2V6FCVULcjs.ToolBadge, { toolType: _chunkQUSCSYHJcjs.normalizeToolTypeWithFallback.call(void 0, selected.source.toolType) })
2006
+ value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLETC7LPcjs.ToolBadge, { toolType: _chunkTX4NTH22cjs.normalizeToolTypeWithFallback.call(void 0, selected.source.toolType) })
2007
2007
  },
2008
- { label: "Device", value: _chunk2V6FCVULcjs.logSourceLabels.call(void 0, selected.device).deviceName }
2008
+ { label: "Device", value: _chunkYLETC7LPcjs.logSourceLabels.call(void 0, selected.device).deviceName }
2009
2009
  ],
2010
2010
  deviceCard: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2011
- _chunk2V6FCVULcjs.DeviceCard,
2011
+ _chunkYLETC7LPcjs.DeviceCard,
2012
2012
  {
2013
2013
  ...LOGS_FIXTURE_DEVICE,
2014
2014
  actions: {
@@ -10,10 +10,10 @@ var _chunkFDZOE5TLcjs = require('./chunk-FDZOE5TL.cjs');
10
10
 
11
11
 
12
12
 
13
- var _chunk2V6FCVULcjs = require('./chunk-2V6FCVUL.cjs');
13
+ var _chunkYLETC7LPcjs = require('./chunk-YLETC7LP.cjs');
14
14
  require('./chunk-IKOL6NJY.cjs');
15
15
  require('./chunk-SA2NNWIJ.cjs');
16
- require('./chunk-INA2FX2N.cjs');
16
+ require('./chunk-IHY7E4EX.cjs');
17
17
  require('./chunk-HQQE74RO.cjs');
18
18
  require('./chunk-DEY6XXGO.cjs');
19
19
  require('./chunk-FNQWL4W4.cjs');
@@ -21,9 +21,9 @@ require('./chunk-IUDBG3HJ.cjs');
21
21
  require('./chunk-24I6RFVU.cjs');
22
22
  require('./chunk-MZ4KBSH7.cjs');
23
23
  require('./chunk-ZZDFMUEU.cjs');
24
- require('./chunk-QUSCSYHJ.cjs');
24
+ require('./chunk-TX4NTH22.cjs');
25
25
  require('./chunk-OT6P57ZS.cjs');
26
- require('./chunk-YAW7CHLV.cjs');
26
+ require('./chunk-FXLROQUT.cjs');
27
27
  require('./chunk-3W4ASAXN.cjs');
28
28
  require('./chunk-4YBS4HIO.cjs');
29
29
  require('./chunk-YJZ7R3W5.cjs');
@@ -1827,8 +1827,8 @@ require('./chunk-SKI6NKOE.cjs');
1827
1827
  require('./chunk-EWPR7662.cjs');
1828
1828
  require('./chunk-IX2E3AN7.cjs');
1829
1829
  require('./chunk-7DNL734S.cjs');
1830
- require('./chunk-U7UBYJEZ.cjs');
1831
- require('./chunk-YXKAHQYS.cjs');
1830
+ require('./chunk-BU2PSRAS.cjs');
1831
+ require('./chunk-533QK4R6.cjs');
1832
1832
  require('./chunk-HTYJUMFB.cjs');
1833
1833
  require('./chunk-W7OFAROY.cjs');
1834
1834
  require('./chunk-MDLT6D46.cjs');
@@ -1894,14 +1894,14 @@ var POLICIES = [
1894
1894
  policy("policy-local-admins", "No local admins", "No everyday account is a local administrator.", false, 0)
1895
1895
  ];
1896
1896
  var POLICIES_FIXTURE = {
1897
- summary: _chunk2V6FCVULcjs.computePolicySummary.call(void 0, POLICIES),
1897
+ summary: _chunkYLETC7LPcjs.computePolicySummary.call(void 0, POLICIES),
1898
1898
  rows: POLICIES.map((item) => ({
1899
1899
  id: item.id,
1900
1900
  name: item.name,
1901
1901
  description: item.description,
1902
1902
  critical: item.critical,
1903
1903
  severityLabel: item.critical ? "Critical" : "Low",
1904
- status: _chunk2V6FCVULcjs.getPolicyTableStatus.call(void 0, item),
1904
+ status: _chunkYLETC7LPcjs.getPolicyTableStatus.call(void 0, item),
1905
1905
  actions: [
1906
1906
  { label: "Policy Details", onClick: noop },
1907
1907
  { label: "Delete Policy", onClick: noop }
@@ -1915,16 +1915,16 @@ var POLICIES_FIXTURE = {
1915
1915
  var _jsxruntime = require('react/jsx-runtime');
1916
1916
  function PoliciesScreen({ compact = false }) {
1917
1917
  const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1918
- _chunk2V6FCVULcjs.PoliciesTable,
1918
+ _chunkYLETC7LPcjs.PoliciesTable,
1919
1919
  {
1920
1920
  rows: POLICIES_FIXTURE.rows,
1921
1921
  rowAsLink: true,
1922
- rightSlot: compact ? void 0 : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2V6FCVULcjs.DataTable.RowCount, {}),
1922
+ rightSlot: compact ? void 0 : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLETC7LPcjs.DataTable.RowCount, {}),
1923
1923
  emptyMessage: "No policies found."
1924
1924
  }
1925
1925
  );
1926
1926
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col gap-[var(--spacing-system-l)] bg-ods-bg p-[var(--spacing-system-l)]", children: [
1927
- !compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2V6FCVULcjs.PolicySummaryCards, { summary: POLICIES_FIXTURE.summary, now: POLICIES_FIXTURE.now }),
1927
+ !compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLETC7LPcjs.PolicySummaryCards, { summary: POLICIES_FIXTURE.summary, now: POLICIES_FIXTURE.now }),
1928
1928
  table
1929
1929
  ] });
1930
1930
  }
@@ -13,12 +13,12 @@ var _chunkFDZOE5TLcjs = require('./chunk-FDZOE5TL.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunk2V6FCVULcjs = require('./chunk-2V6FCVUL.cjs');
16
+ var _chunkYLETC7LPcjs = require('./chunk-YLETC7LP.cjs');
17
17
 
18
18
 
19
19
  var _chunkIKOL6NJYcjs = require('./chunk-IKOL6NJY.cjs');
20
20
  require('./chunk-SA2NNWIJ.cjs');
21
- require('./chunk-INA2FX2N.cjs');
21
+ require('./chunk-IHY7E4EX.cjs');
22
22
  require('./chunk-HQQE74RO.cjs');
23
23
  require('./chunk-DEY6XXGO.cjs');
24
24
  require('./chunk-FNQWL4W4.cjs');
@@ -26,9 +26,9 @@ require('./chunk-IUDBG3HJ.cjs');
26
26
  require('./chunk-24I6RFVU.cjs');
27
27
  require('./chunk-MZ4KBSH7.cjs');
28
28
  require('./chunk-ZZDFMUEU.cjs');
29
- require('./chunk-QUSCSYHJ.cjs');
29
+ require('./chunk-TX4NTH22.cjs');
30
30
  require('./chunk-OT6P57ZS.cjs');
31
- require('./chunk-YAW7CHLV.cjs');
31
+ require('./chunk-FXLROQUT.cjs');
32
32
  require('./chunk-3W4ASAXN.cjs');
33
33
  require('./chunk-4YBS4HIO.cjs');
34
34
  require('./chunk-YJZ7R3W5.cjs');
@@ -1834,8 +1834,8 @@ require('./chunk-SKI6NKOE.cjs');
1834
1834
  require('./chunk-EWPR7662.cjs');
1835
1835
  require('./chunk-IX2E3AN7.cjs');
1836
1836
  require('./chunk-7DNL734S.cjs');
1837
- require('./chunk-U7UBYJEZ.cjs');
1838
- require('./chunk-YXKAHQYS.cjs');
1837
+ require('./chunk-BU2PSRAS.cjs');
1838
+ require('./chunk-533QK4R6.cjs');
1839
1839
  require('./chunk-HTYJUMFB.cjs');
1840
1840
  require('./chunk-W7OFAROY.cjs');
1841
1841
  require('./chunk-MDLT6D46.cjs');
@@ -1998,8 +1998,8 @@ function buildScriptsFixture(cast) {
1998
1998
  var _jsxruntime = require('react/jsx-runtime');
1999
1999
  var WIDE_HIDDEN_COLUMNS = ["result", "open"];
2000
2000
  var COMPACT_COLUMNS = [
2001
- { ..._chunk2V6FCVULcjs.EXECUTION_COLUMNS.machineId, width: "flex-1 min-w-0", hideAt: void 0 },
2002
- _chunk2V6FCVULcjs.EXECUTION_COLUMNS.status
2001
+ { ..._chunkYLETC7LPcjs.EXECUTION_COLUMNS.machineId, width: "flex-1 min-w-0", hideAt: void 0 },
2002
+ _chunkYLETC7LPcjs.EXECUTION_COLUMNS.status
2003
2003
  ];
2004
2004
  var COMPACT_ROWS = 4;
2005
2005
  var TOKEN_CLASS = {
@@ -2058,7 +2058,7 @@ function ScriptCodePicture({ script }) {
2058
2058
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center justify-between gap-[var(--spacing-system-m)]", children: [
2059
2059
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKOL6NJYcjs.TruncateText, { variant: "h6", tone: "secondary", children: `Written by ${provenance.author} \xB7 approved by ${provenance.approver}` }),
2060
2060
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2061
- _chunk2V6FCVULcjs.ScriptShellBadge,
2061
+ _chunkYLETC7LPcjs.ScriptShellBadge,
2062
2062
  {
2063
2063
  value: script.shellType,
2064
2064
  className: "shrink-0 text-ods-text-secondary text-h6",
@@ -2082,7 +2082,7 @@ function ScriptsScreen({ compact = false }) {
2082
2082
  return (
2083
2083
  // Four runs of the card's row height fill the frame; the padding is what is left round them.
2084
2084
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full overflow-hidden bg-ods-bg p-[var(--spacing-system-xsf)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2085
- _chunk2V6FCVULcjs.ScriptExecutionsTable,
2085
+ _chunkYLETC7LPcjs.ScriptExecutionsTable,
2086
2086
  {
2087
2087
  rows: fixture.executions.slice(0, COMPACT_ROWS),
2088
2088
  columns: COMPACT_COLUMNS,
@@ -2092,13 +2092,13 @@ function ScriptsScreen({ compact = false }) {
2092
2092
  ) })
2093
2093
  );
2094
2094
  }
2095
- const renderOutput = (row) => row.id === fixture.openExecutionId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk2V6FCVULcjs.ScriptExecutionResult, { result: row.result, empty: "\u2014" }) : null;
2095
+ const renderOutput = (row) => row.id === fixture.openExecutionId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLETC7LPcjs.ScriptExecutionResult, { result: row.result, empty: "\u2014" }) : null;
2096
2096
  return (
2097
2097
  // The frame's tighter padding and no header row: the output opened under a run needs the height.
2098
2098
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full gap-[var(--spacing-system-m)] overflow-hidden bg-ods-bg p-[var(--spacing-system-m)]", children: [
2099
2099
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[39%] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScriptCodePicture, { script: fixture.script }) }),
2100
2100
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2101
- _chunk2V6FCVULcjs.ScriptExecutionsTable,
2101
+ _chunkYLETC7LPcjs.ScriptExecutionsTable,
2102
2102
  {
2103
2103
  rows: fixture.executions,
2104
2104
  hideColumns: WIDE_HIDDEN_COLUMNS,
@@ -15,12 +15,12 @@ var _chunkFDZOE5TLcjs = require('./chunk-FDZOE5TL.cjs');
15
15
 
16
16
 
17
17
 
18
- var _chunk2V6FCVULcjs = require('./chunk-2V6FCVUL.cjs');
18
+ var _chunkYLETC7LPcjs = require('./chunk-YLETC7LP.cjs');
19
19
 
20
20
 
21
21
  var _chunkIKOL6NJYcjs = require('./chunk-IKOL6NJY.cjs');
22
22
  require('./chunk-SA2NNWIJ.cjs');
23
- require('./chunk-INA2FX2N.cjs');
23
+ require('./chunk-IHY7E4EX.cjs');
24
24
  require('./chunk-HQQE74RO.cjs');
25
25
  require('./chunk-DEY6XXGO.cjs');
26
26
  require('./chunk-FNQWL4W4.cjs');
@@ -28,9 +28,9 @@ require('./chunk-IUDBG3HJ.cjs');
28
28
  require('./chunk-24I6RFVU.cjs');
29
29
  require('./chunk-MZ4KBSH7.cjs');
30
30
  require('./chunk-ZZDFMUEU.cjs');
31
- require('./chunk-QUSCSYHJ.cjs');
31
+ require('./chunk-TX4NTH22.cjs');
32
32
  require('./chunk-OT6P57ZS.cjs');
33
- require('./chunk-YAW7CHLV.cjs');
33
+ require('./chunk-FXLROQUT.cjs');
34
34
  require('./chunk-3W4ASAXN.cjs');
35
35
  require('./chunk-4YBS4HIO.cjs');
36
36
  require('./chunk-YJZ7R3W5.cjs');
@@ -1834,8 +1834,8 @@ require('./chunk-SKI6NKOE.cjs');
1834
1834
  require('./chunk-EWPR7662.cjs');
1835
1835
  require('./chunk-IX2E3AN7.cjs');
1836
1836
  require('./chunk-7DNL734S.cjs');
1837
- require('./chunk-U7UBYJEZ.cjs');
1838
- require('./chunk-YXKAHQYS.cjs');
1837
+ require('./chunk-BU2PSRAS.cjs');
1838
+ require('./chunk-533QK4R6.cjs');
1839
1839
  require('./chunk-HTYJUMFB.cjs');
1840
1840
  require('./chunk-W7OFAROY.cjs');
1841
1841
  require('./chunk-MDLT6D46.cjs');
@@ -1925,12 +1925,12 @@ function StaticPackageField({ value }) {
1925
1925
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1926
1926
  _chunkIKOL6NJYcjs.Autocomplete,
1927
1927
  {
1928
- label: _chunk2V6FCVULcjs.PACKAGE_SEARCH_LABEL,
1928
+ label: _chunkYLETC7LPcjs.PACKAGE_SEARCH_LABEL,
1929
1929
  labelVariant: "large",
1930
1930
  options: value ? [{ value: value.id, label: value.name, description: _nullishCoalesce(value.description, () => ( void 0)) }] : [],
1931
1931
  value: _nullishCoalesce(_optionalChain([value, 'optionalAccess', _ => _.id]), () => ( null)),
1932
1932
  onChange: noop,
1933
- placeholder: _chunk2V6FCVULcjs.PACKAGE_SEARCH_PLACEHOLDER
1933
+ placeholder: _chunkYLETC7LPcjs.PACKAGE_SEARCH_PLACEHOLDER
1934
1934
  }
1935
1935
  );
1936
1936
  }
@@ -1944,7 +1944,7 @@ function SoftwareUpdateScreen({ compact = false }) {
1944
1944
  [fixture.devices, fixture.selectedIds]
1945
1945
  );
1946
1946
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg pt-[var(--spacing-system-l)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1947
- _chunk2V6FCVULcjs.SoftwareActionForm,
1947
+ _chunkYLETC7LPcjs.SoftwareActionForm,
1948
1948
  {
1949
1949
  action: fixture.action,
1950
1950
  showHeader: false,
@@ -1956,7 +1956,7 @@ function SoftwareUpdateScreen({ compact = false }) {
1956
1956
  initialValues: fixture.initialValues,
1957
1957
  renderPackageSearch,
1958
1958
  renderDevicePicker: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1959
- _chunk2V6FCVULcjs.DeviceSelector,
1959
+ _chunkYLETC7LPcjs.DeviceSelector,
1960
1960
  {
1961
1961
  devices: selected,
1962
1962
  loading: false,
@@ -72,12 +72,12 @@ export interface DocSourceDal<Client = unknown> {
72
72
  * Doc-source registry id. The lib's `<DocViewer>` is generic over this union
73
73
  * — the hub's `DOC_SOURCES` registry defines the actual ids. Listed here as a
74
74
  * type-only union so the lib can flow the id into `DocRenderHandlers.sourceId`
75
- * without callers having to cast `string` → `'openframe-docs' | 'data-room-docs'`.
75
+ * without callers having to cast `string` to the union.
76
76
  *
77
77
  * Adding a new source = add the id here AND register it in the hub. The lib
78
78
  * never reaches into the registry — this is purely a type-narrowing handle.
79
79
  */
80
- export type DocSourceId = 'openframe-docs' | 'data-room-docs';
80
+ export type DocSourceId = 'openframe-docs' | 'data-room-docs' | 'company-policies';
81
81
  /**
82
82
  * Result returned by the resolve-link endpoint. Discriminator-style: `success`
83
83
  * + `type` jointly decide what the renderer does (navigate, expand folder,
@@ -1 +1 @@
1
- {"version":3,"file":"doc-source.d.ts","sourceRoot":"","sources":["../../src/types/doc-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;IACtE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAEvC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;mFAC+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;sCACkC;IAClC,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,OAAO;IAC5C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;CACtE;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9G,WAAW,EAAE,MAAM,CAAC;IACpB;uFACmF;IACnF,QAAQ,EAAE,WAAW,CAAC;IACtB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACnF"}
1
+ {"version":3,"file":"doc-source.d.ts","sourceRoot":"","sources":["../../src/types/doc-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C;;;;;;GAMG;AAEH;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,cAAc,GAAG,OAAO,GAAG,MAAM,CAAC;IACtE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;AAEhE;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAEvC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;mFAC+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;sCACkC;IAClC,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY,CAAC,MAAM,GAAG,OAAO;IAC5C,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;CACtE;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9G,WAAW,EAAE,MAAM,CAAC;IACpB;uFACmF;IACnF,QAAQ,EAAE,WAAW,CAAC;IACtB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACnF"}
@@ -32,4 +32,11 @@ export declare function getInitialExpandedNodeIds(cleanInitialPath: string): str
32
32
  * folder that does. Matches the historical knowledge-base default.
33
33
  */
34
34
  export declare function getDocSourceDefaultPath(structure: DocNode[], folderIndexFile?: string): string | null;
35
+ /** The first document under a folder (its own files first, then each subfolder's, in order), never a diagram source. */
36
+ export declare function findFirstDocPath(folder: DocNode): string | null;
37
+ /**
38
+ * The document a source's root shows: its folder index when the tree has one, else its first document (the rule a
39
+ * folder with no README follows), else null (a tree with no document at all).
40
+ */
41
+ export declare function rootDocumentPath(structure: DocNode[], folderIndexFile?: string): string | null;
35
42
  //# sourceMappingURL=doc-tree-nav.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doc-tree-nav.d.ts","sourceRoot":"","sources":["../../src/utils/doc-tree-nav.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAKrD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,GAAE,MAA6B,GAAG,MAAM,CAK7G;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CAShF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAShE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,OAAO,EAAE,EACpB,eAAe,GAAE,MAA6B,GAC7C,MAAM,GAAG,IAAI,CAaf;AAED,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAO5E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,OAAO,EAAE,EACpB,eAAe,GAAE,MAA6B,GAC7C,MAAM,GAAG,IAAI,CASf"}
1
+ {"version":3,"file":"doc-tree-nav.d.ts","sourceRoot":"","sources":["../../src/utils/doc-tree-nav.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,cAAc,CAAC;AAKrD;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,GAAE,MAA6B,GAAG,MAAM,CAK7G;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,IAAI,CAShF;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAShE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,OAAO,EAAE,EACpB,eAAe,GAAE,MAA6B,GAC7C,MAAM,GAAG,IAAI,CAaf;AAED,wBAAgB,yBAAyB,CAAC,gBAAgB,EAAE,MAAM,GAAG,MAAM,EAAE,CAO5E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,OAAO,EAAE,EACpB,eAAe,GAAE,MAA6B,GAC7C,MAAM,GAAG,IAAI,CASf;AAED,wHAAwH;AACxH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAY/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,OAAO,EAAE,EACpB,eAAe,GAAE,MAAkC,GAClD,MAAM,GAAG,IAAI,CAGf"}
@@ -53,12 +53,31 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
53
53
  const firstFolderWithReadme = structure.find((node) => node.type === "folder" && node.hasReadme && !!node.path);
54
54
  return firstFolderWithReadme?.path ?? null;
55
55
  }
56
+ function findFirstDocPath(folder) {
57
+ const children = folder.children ?? [];
58
+ for (const child of children) {
59
+ if (child.type === "file" && !child.path.toLowerCase().endsWith(".mmd")) return child.path;
60
+ }
61
+ for (const child of children) {
62
+ if (child.type === "folder") {
63
+ const nested = findFirstDocPath(child);
64
+ if (nested) return nested;
65
+ }
66
+ }
67
+ return null;
68
+ }
69
+ function rootDocumentPath(structure, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
70
+ if (structure.some((node) => node.type === "file" && node.path === folderIndexFile)) return folderIndexFile;
71
+ return findFirstDocPath({ id: "", name: "", slug: "", path: "", type: "folder", children: structure });
72
+ }
56
73
  export {
57
74
  DEFAULT_FOLDER_INDEX_FILE,
58
75
  findDocNodeByPath,
76
+ findFirstDocPath,
59
77
  getDocAncestorNodeIds,
60
78
  getDocSourceDefaultPath,
61
79
  getInitialExpandedNodeIds,
62
80
  resolveContentFetchPath,
81
+ rootDocumentPath,
63
82
  stripFolderIndexFromPath
64
83
  };
@@ -83115,6 +83115,7 @@ var SOURCE_ICON_NAMES = {
83115
83115
  // Doc tables
83116
83116
  "openframe-docs": "openframe",
83117
83117
  "data-room-docs": "shield",
83118
+ "company-policies": "book-open",
83118
83119
  // CMS / programs
83119
83120
  "blog-posts": "newspaper",
83120
83121
  "product-releases": "rocket",
@@ -83194,6 +83195,7 @@ var SOURCE_LABELS_BY_TABLE = {
83194
83195
  // Doc tables
83195
83196
  "openframe-docs": "OpenFrame Docs",
83196
83197
  "data-room-docs": "Data Room",
83198
+ "company-policies": "Company Policies",
83197
83199
  // CMS / programs
83198
83200
  "blog-posts": "Blog Posts",
83199
83201
  "product-releases": "Product Releases",
@@ -83264,6 +83266,7 @@ var DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
83264
83266
  // Doc tables
83265
83267
  markdown: "openframe-docs",
83266
83268
  data_room_doc: "data-room-docs",
83269
+ policy_doc: "company-policies",
83267
83270
  // CMS / programs
83268
83271
  blog_post: "blog-posts",
83269
83272
  product_release: "product-releases",
@@ -83329,7 +83332,7 @@ function defaultDocumentTypeForTableId(tableId) {
83329
83332
  }
83330
83333
 
83331
83334
  // src/utils/source-grouping.ts
83332
- var DOC_TABLE_TYPES = ["markdown", "data_room_doc"];
83335
+ var DOC_TABLE_TYPES = ["markdown", "data_room_doc", "policy_doc"];
83333
83336
  function groupsByTable(documentType) {
83334
83337
  return !DOC_TABLE_TYPES.includes(documentType ?? "");
83335
83338
  }
@@ -84862,7 +84865,8 @@ var BUILDERS = {
84862
84865
  slack_message: (ids, b) => `${b}/api/slack-community/messages?ids=${ids.join(",")}`,
84863
84866
  hubspot_ticket: (ids, b) => `${b}/api/tickets/internal?ids=${ids.join(",")}`,
84864
84867
  hubspot_ticket_anon: (ids, b) => `${b}/api/tickets/known-issues?ids=${ids.join(",")}`,
84865
- data_room_doc: (ids, b) => `${b}/api/data-room/documents?ids=${ids.join(",")}`,
84868
+ data_room_doc: (ids, b) => `${b}/api/libraries/data-room/documents?ids=${ids.join(",")}`,
84869
+ policy_doc: (ids, b) => `${b}/api/libraries/company-policies/documents?ids=${ids.join(",")}`,
84866
84870
  markdown: (ids, b) => `${b}/api/docs/pages?ids=${ids.join(",")}`,
84867
84871
  financial_kpi: (ids, b) => `${b}/api/financials/kpis?ids=${ids.join(",")}`,
84868
84872
  cap_table: (ids, b) => `${b}/api/financials/cap-table?ids=${ids.join(",")}`,
@@ -85487,6 +85491,23 @@ function getDocSourceDefaultPath(structure, folderIndexFile = DEFAULT_FOLDER_IND
85487
85491
  const firstFolderWithReadme = structure.find((node) => node.type === "folder" && node.hasReadme && !!node.path);
85488
85492
  return firstFolderWithReadme?.path ?? null;
85489
85493
  }
85494
+ function findFirstDocPath(folder) {
85495
+ const children = folder.children ?? [];
85496
+ for (const child of children) {
85497
+ if (child.type === "file" && !child.path.toLowerCase().endsWith(".mmd")) return child.path;
85498
+ }
85499
+ for (const child of children) {
85500
+ if (child.type === "folder") {
85501
+ const nested = findFirstDocPath(child);
85502
+ if (nested) return nested;
85503
+ }
85504
+ }
85505
+ return null;
85506
+ }
85507
+ function rootDocumentPath(structure, folderIndexFile = DEFAULT_FOLDER_INDEX_FILE) {
85508
+ if (structure.some((node) => node.type === "file" && node.path === folderIndexFile)) return folderIndexFile;
85509
+ return findFirstDocPath({ children: structure });
85510
+ }
85490
85511
 
85491
85512
  // src/utils/doc-path-utils.ts
85492
85513
  function toDocSlug(name) {
@@ -86484,6 +86505,7 @@ exports.fileMediaType = fileMediaType;
86484
86505
  exports.filledRescueFields = filledRescueFields;
86485
86506
  exports.findAnchorElementByNormalizedId = findAnchorElementByNormalizedId;
86486
86507
  exports.findDocNodeByPath = findDocNodeByPath;
86508
+ exports.findFirstDocPath = findFirstDocPath;
86487
86509
  exports.findHoneypotCopySource = findHoneypotCopySource;
86488
86510
  exports.findMarkdownLinkAt = findMarkdownLinkAt;
86489
86511
  exports.firstParamValue = firstParamValue;
@@ -86717,6 +86739,7 @@ exports.resolveMobileStoreUrl = resolveMobileStoreUrl;
86717
86739
  exports.resolveRedirectTarget = resolveRedirectTarget;
86718
86740
  exports.resolveReleaseCover = resolveReleaseCover;
86719
86741
  exports.rgbToHex = rgbToHex;
86742
+ exports.rootDocumentPath = rootDocumentPath;
86720
86743
  exports.sanitizeLandingUrl = sanitizeLandingUrl;
86721
86744
  exports.sanitizeRescueFieldName = sanitizeRescueFieldName;
86722
86745
  exports.sanitizeRescueValues = sanitizeRescueValues;
@@ -1 +1 @@
1
- {"version":3,"file":"list-url.d.ts","sourceRoot":"","sources":["../../src/utils/list-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAaH;;;;iEAIiE;AACjE,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAKtE;AA2FD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,SAAK,GAAG,MAAM,GAAG,IAAI,CAa5F"}
1
+ {"version":3,"file":"list-url.d.ts","sourceRoot":"","sources":["../../src/utils/list-url.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAaH;;;;iEAIiE;AACjE,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAKtE;AA4FD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,IAAI,SAAK,GAAG,MAAM,GAAG,IAAI,CAa5F"}
@@ -36,7 +36,8 @@ const BUILDERS = {
36
36
  slack_message: (ids, b) => `${b}/api/slack-community/messages?ids=${ids.join(",")}`,
37
37
  hubspot_ticket: (ids, b) => `${b}/api/tickets/internal?ids=${ids.join(",")}`,
38
38
  hubspot_ticket_anon: (ids, b) => `${b}/api/tickets/known-issues?ids=${ids.join(",")}`,
39
- data_room_doc: (ids, b) => `${b}/api/data-room/documents?ids=${ids.join(",")}`,
39
+ data_room_doc: (ids, b) => `${b}/api/libraries/data-room/documents?ids=${ids.join(",")}`,
40
+ policy_doc: (ids, b) => `${b}/api/libraries/company-policies/documents?ids=${ids.join(",")}`,
40
41
  markdown: (ids, b) => `${b}/api/docs/pages?ids=${ids.join(",")}`,
41
42
  financial_kpi: (ids, b) => `${b}/api/financials/kpis?ids=${ids.join(",")}`,
42
43
  cap_table: (ids, b) => `${b}/api/financials/cap-table?ids=${ids.join(",")}`,
@@ -24,13 +24,13 @@
24
24
  import type { ChatSource } from '../components/chat/types/message.types';
25
25
  /**
26
26
  * Doc-table documentTypes: whole documents with their own viewer (markdown =
27
- * product docs, data_room_doc = data room). They carry an in-app `path` (handed
27
+ * product docs, data_room_doc = data room, policy_doc = company policies). They carry an in-app `path` (handed
28
28
  * to the host's composer as the slug), and a server never folds them
29
29
  * into one citation (`groupsByTable`); the strip still draws them as one chip
30
30
  * per table. The hub's per-source contract test pins this list to its
31
31
  * doc-table configs.
32
32
  */
33
- export declare const DOC_TABLE_TYPES: readonly ["markdown", "data_room_doc"];
33
+ export declare const DOC_TABLE_TYPES: readonly ["markdown", "data_room_doc", "policy_doc"];
34
34
  /**
35
35
  * Which tables a SERVER folds into one citation: rows of a knowledge table
36
36
  * share one number (and reach the model as one table) unless they are whole
@@ -1 +1 @@
1
- {"version":3,"file":"source-grouping.d.ts","sourceRoot":"","sources":["../../src/utils/source-grouping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAGzE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,wCAAyC,CAAC;AAEtE;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE9E;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,KAAK,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;2EAC2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,UAAU,CAcb;AA0DD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAqCvE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAU/D"}
1
+ {"version":3,"file":"source-grouping.d.ts","sourceRoot":"","sources":["../../src/utils/source-grouping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAGzE;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,sDAAuD,CAAC;AAEpF;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAE9E;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED,KAAK,WAAW,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5D;2EAC2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;AAE3C;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,gBAAgB,EAAE,CAAC;IACzB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,GAAG,UAAU,CAcb;AA0DD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE,CAqCvE;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAU/D"}
@@ -1,5 +1,5 @@
1
1
  import { defaultDocumentTypeForTableId, getSourceLabel } from "./source-icons.js";
2
- const DOC_TABLE_TYPES = ["markdown", "data_room_doc"];
2
+ const DOC_TABLE_TYPES = ["markdown", "data_room_doc", "policy_doc"];
3
3
  function groupsByTable(documentType) {
4
4
  return !DOC_TABLE_TYPES.includes(documentType ?? "");
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"source-icons.d.ts","sourceRoot":"","sources":["../../src/utils/source-icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqFpD,CAAC;AAEF;;6DAE6D;AAC7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGxF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4EzD,CAAC;AAEF;;kEAEkE;AAClE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsEpE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5E"}
1
+ {"version":3,"file":"source-icons.d.ts","sourceRoot":"","sources":["../../src/utils/source-icons.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,6EAA6E;AAC7E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsFpD,CAAC;AAEF;;6DAE6D;AAC7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGxF;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA6EzD,CAAC;AAEF;;kEAEkE;AAClE,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAuEpE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjF;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK5E"}
@@ -2,6 +2,7 @@ const SOURCE_ICON_NAMES = {
2
2
  // Doc tables
3
3
  "openframe-docs": "openframe",
4
4
  "data-room-docs": "shield",
5
+ "company-policies": "book-open",
5
6
  // CMS / programs
6
7
  "blog-posts": "newspaper",
7
8
  "product-releases": "rocket",
@@ -81,6 +82,7 @@ const SOURCE_LABELS_BY_TABLE = {
81
82
  // Doc tables
82
83
  "openframe-docs": "OpenFrame Docs",
83
84
  "data-room-docs": "Data Room",
85
+ "company-policies": "Company Policies",
84
86
  // CMS / programs
85
87
  "blog-posts": "Blog Posts",
86
88
  "product-releases": "Product Releases",
@@ -151,6 +153,7 @@ const DEFAULT_DOCUMENT_TYPE_TO_TABLE_ID = {
151
153
  // Doc tables
152
154
  markdown: "openframe-docs",
153
155
  data_room_doc: "data-room-docs",
156
+ policy_doc: "company-policies",
154
157
  // CMS / programs
155
158
  blog_post: "blog-posts",
156
159
  product_release: "product-releases",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flamingo-stack/openframe-frontend-core",
3
- "version": "0.0.848",
3
+ "version": "0.0.849",
4
4
  "description": "Shared design system and components for all Flamingo platforms",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -1735,6 +1735,9 @@ export const CHAT_CARD_REGISTRY: Record<string, ChatCardRegistryEntry> = {
1735
1735
  data_room_doc: refHydratedEntry('data_room_doc', 'Data-room doc', (displayRef, opts) => (
1736
1736
  <DataRoomDocChatCard chatRef={displayRef} isNewTab={opts.isNewTab} discuss={opts.discuss} />
1737
1737
  )),
1738
+ policy_doc: refHydratedEntry('policy_doc', 'Company policy', (displayRef, opts) => (
1739
+ <DataRoomDocChatCard chatRef={displayRef} isNewTab={opts.isNewTab} discuss={opts.discuss} />
1740
+ )),
1738
1741
  markdown: refHydratedEntry('markdown', 'Doc page (markdown)', (displayRef, opts) => (
1739
1742
  <DataRoomDocChatCard chatRef={displayRef} isNewTab={opts.isNewTab} discuss={opts.discuss} />
1740
1743
  )),