@flamingo-stack/openframe-frontend-core 0.0.777 → 0.0.780

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 (68) hide show
  1. package/dist/{case-study-card-FMH622O5.cjs → case-study-card-WXMWYGSW.cjs} +2 -2
  2. package/dist/{chunk-JMFF3L3T.cjs → chunk-2JO5HNEF.cjs} +23 -23
  3. package/dist/{chunk-SDZG7VV7.cjs → chunk-2W3VDE4D.cjs} +2 -2
  4. package/dist/{chunk-4JZDJ34E.cjs → chunk-4BBOHZM3.cjs} +4 -4
  5. package/dist/{chunk-QIATO42V.cjs → chunk-4NRVV3KO.cjs} +3 -3
  6. package/dist/{chunk-BDDOC425.cjs → chunk-AQXEM7GI.cjs} +3 -3
  7. package/dist/{chunk-ALA4KHTE.cjs → chunk-DQALLDTZ.cjs} +4 -4
  8. package/dist/{chunk-LU2DGST4.cjs → chunk-F3BASIMT.cjs} +78 -78
  9. package/dist/{chunk-Y6MQBLTZ.cjs → chunk-HUPDPANN.cjs} +4 -4
  10. package/dist/{chunk-3PCSEZNZ.cjs → chunk-I4IC3BRC.cjs} +39 -39
  11. package/dist/{chunk-7LJSGOWS.cjs → chunk-IE3QCYBT.cjs} +13 -13
  12. package/dist/{chunk-VY3NGJRH.cjs → chunk-ILRQXZBA.cjs} +52 -52
  13. package/dist/{chunk-T47VAUYR.cjs → chunk-KA3VQ6X2.cjs} +69 -69
  14. package/dist/{chunk-WCSWWVPF.cjs → chunk-MLX6Z7TU.cjs} +2 -2
  15. package/dist/{chunk-MQPTOJMF.cjs → chunk-OH5LAH3X.cjs} +3 -51
  16. package/dist/{chunk-G2N7INFT.cjs → chunk-OMHQZXCD.cjs} +11 -11
  17. package/dist/{chunk-TZP7PSPG.cjs → chunk-OWQVDWTK.cjs} +109 -103
  18. package/dist/{chunk-XVAVQ4BK.cjs → chunk-PQBGSVZE.cjs} +38 -38
  19. package/dist/{chunk-LGNJTSKB.cjs → chunk-QEFDGI3Z.cjs} +29 -29
  20. package/dist/{chunk-WMZIBRTR.cjs → chunk-QIQYD75I.cjs} +2 -2
  21. package/dist/{chunk-T7NDPPLF.cjs → chunk-TVDQMG7I.cjs} +18 -18
  22. package/dist/{chunk-HXLOCZMG.cjs → chunk-UPAE4IV5.cjs} +167 -167
  23. package/dist/{chunk-DOM5CUEY.cjs → chunk-WR7KJML6.cjs} +30 -30
  24. package/dist/{chunk-CGQ7CL62.cjs → chunk-YG72MEHY.cjs} +98 -98
  25. package/dist/{chunk-U5VQFKRZ.cjs → chunk-YNECNYQF.cjs} +4 -4
  26. package/dist/{chunk-S3YDUX2I.cjs → chunk-YWQ3VXPL.cjs} +75 -75
  27. package/dist/{chunk-UW6AOF42.cjs → chunk-ZGWS3NJR.cjs} +13 -13
  28. package/dist/{cloud-tenants-EUH42CCL.cjs → cloud-tenants-2ZLGCSGK.cjs} +8 -8
  29. package/dist/components/case-studies/index.cjs +24 -24
  30. package/dist/components/chat/chat-message-enhanced.d.ts.map +1 -1
  31. package/dist/components/chat/chat-message-enhanced.js +8 -4
  32. package/dist/components/chat/chat-message-list.d.ts.map +1 -1
  33. package/dist/components/chat/chat-message-list.js +2 -0
  34. package/dist/components/chat/index.cjs +6 -6
  35. package/dist/components/chat/types/component.types.d.ts +9 -0
  36. package/dist/components/chat/types/component.types.d.ts.map +1 -1
  37. package/dist/components/contact/index.cjs +9 -9
  38. package/dist/components/docs/index.cjs +12 -12
  39. package/dist/components/embeds/index.cjs +9 -9
  40. package/dist/components/faq/index.cjs +10 -10
  41. package/dist/components/features/index.cjs +8 -8
  42. package/dist/components/features/video-hover-preview.d.ts.map +1 -1
  43. package/dist/components/features/video-hover-preview.js +2 -5
  44. package/dist/components/features/video.d.ts.map +1 -1
  45. package/dist/components/features/video.js +1 -44
  46. package/dist/components/help-center-pages/index.cjs +84 -84
  47. package/dist/components/index.cjs +56 -56
  48. package/dist/components/meeting-scheduler/index.cjs +38 -38
  49. package/dist/components/navigation/index.cjs +11 -11
  50. package/dist/components/onboarding-guides/index.cjs +11 -11
  51. package/dist/components/product-demo/index.cjs +17 -17
  52. package/dist/components/related-content/index.cjs +6 -6
  53. package/dist/components/tickets/index.cjs +14 -14
  54. package/dist/components/ui/index.cjs +8 -8
  55. package/dist/{devices-WL3I23EE.cjs → devices-UOBQFPV3.cjs} +9 -9
  56. package/dist/{embeddable-chat-KEWUGQIF.cjs → embeddable-chat-SFQWRUIV.cjs} +74 -74
  57. package/dist/index.cjs +12 -12
  58. package/dist/{knowledge-O3PXUX73.cjs → knowledge-5K3LTHGB.cjs} +9 -9
  59. package/dist/{logs-XODCXWYI.cjs → logs-WU3N6ESS.cjs} +16 -16
  60. package/dist/{policies-CQACBIKK.cjs → policies-2IYASCQO.cjs} +12 -12
  61. package/dist/{scripts-QMM6SEB5.cjs → scripts-IQBKOQEY.cjs} +13 -13
  62. package/dist/{software-update-CCCKS4ZE.cjs → software-update-GJLDO5X5.cjs} +11 -11
  63. package/package.json +1 -1
  64. package/src/components/chat/chat-message-enhanced.tsx +13 -4
  65. package/src/components/chat/chat-message-list.tsx +2 -0
  66. package/src/components/chat/types/component.types.ts +9 -0
  67. package/src/components/features/video-hover-preview.tsx +37 -46
  68. package/src/components/features/video.tsx +1 -61
@@ -8,7 +8,7 @@ var _chunkSTEJZPIOcjs = require('./chunk-STEJZPIO.cjs');
8
8
  var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
9
9
 
10
10
 
11
- var _chunkHXLOCZMGcjs = require('./chunk-HXLOCZMG.cjs');
11
+ var _chunkUPAE4IV5cjs = require('./chunk-UPAE4IV5.cjs');
12
12
  require('./chunk-KLTUTZBO.cjs');
13
13
  require('./chunk-R6BKQKIF.cjs');
14
14
  require('./chunk-SIDDZZKL.cjs');
@@ -19,12 +19,12 @@ require('./chunk-VXAKQRV7.cjs');
19
19
  require('./chunk-24I6RFVU.cjs');
20
20
  require('./chunk-A6P6DHEZ.cjs');
21
21
  require('./chunk-MZ4KBSH7.cjs');
22
- require('./chunk-WCSWWVPF.cjs');
22
+ require('./chunk-MLX6Z7TU.cjs');
23
23
  require('./chunk-C42WIUH6.cjs');
24
- require('./chunk-S3YDUX2I.cjs');
24
+ require('./chunk-YWQ3VXPL.cjs');
25
25
 
26
26
 
27
- var _chunkTZP7PSPGcjs = require('./chunk-TZP7PSPG.cjs');
27
+ var _chunkOWQVDWTKcjs = require('./chunk-OWQVDWTK.cjs');
28
28
  require('./chunk-LBGAHB6X.cjs');
29
29
  require('./chunk-KKAY6GPU.cjs');
30
30
  require('./chunk-XEYL6AFZ.cjs');
@@ -1825,9 +1825,9 @@ require('./chunk-7DNL734S.cjs');
1825
1825
  require('./chunk-WWUSFOJ7.cjs');
1826
1826
  require('./chunk-SKI6NKOE.cjs');
1827
1827
  require('./chunk-EWPR7662.cjs');
1828
- require('./chunk-LGNJTSKB.cjs');
1829
- require('./chunk-CGQ7CL62.cjs');
1830
- require('./chunk-MQPTOJMF.cjs');
1828
+ require('./chunk-QEFDGI3Z.cjs');
1829
+ require('./chunk-YG72MEHY.cjs');
1830
+ require('./chunk-OH5LAH3X.cjs');
1831
1831
  require('./chunk-3ZLPYEL5.cjs');
1832
1832
  require('./chunk-SETFUCZA.cjs');
1833
1833
  require('./chunk-BEMGJDXI.cjs');
@@ -1906,10 +1906,10 @@ function KnowledgeScreen(_props) {
1906
1906
  const cast = _chunkSTEJZPIOcjs.useProductDemoCast.call(void 0, );
1907
1907
  const fixture = _react.useMemo.call(void 0, () => buildKnowledgeFixture(cast), [cast]);
1908
1908
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "h-full bg-ods-bg", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1909
- _chunkHXLOCZMGcjs.KnowledgeBaseArticleView,
1909
+ _chunkUPAE4IV5cjs.KnowledgeBaseArticleView,
1910
1910
  {
1911
1911
  ...fixture.article,
1912
- content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkTZP7PSPGcjs.SimpleMarkdownRenderer, { content: fixture.content, textSize: "compact" })
1912
+ content: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkOWQVDWTKcjs.SimpleMarkdownRenderer, { content: fixture.content, textSize: "compact" })
1913
1913
  }
1914
1914
  ) });
1915
1915
  }
@@ -16,7 +16,7 @@ var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
16
16
 
17
17
 
18
18
 
19
- var _chunkHXLOCZMGcjs = require('./chunk-HXLOCZMG.cjs');
19
+ var _chunkUPAE4IV5cjs = require('./chunk-UPAE4IV5.cjs');
20
20
  require('./chunk-KLTUTZBO.cjs');
21
21
  require('./chunk-R6BKQKIF.cjs');
22
22
  require('./chunk-SIDDZZKL.cjs');
@@ -27,12 +27,12 @@ require('./chunk-VXAKQRV7.cjs');
27
27
  require('./chunk-24I6RFVU.cjs');
28
28
  require('./chunk-A6P6DHEZ.cjs');
29
29
  require('./chunk-MZ4KBSH7.cjs');
30
- require('./chunk-WCSWWVPF.cjs');
30
+ require('./chunk-MLX6Z7TU.cjs');
31
31
  require('./chunk-C42WIUH6.cjs');
32
32
 
33
33
 
34
- var _chunkS3YDUX2Icjs = require('./chunk-S3YDUX2I.cjs');
35
- require('./chunk-TZP7PSPG.cjs');
34
+ var _chunkYWQ3VXPLcjs = require('./chunk-YWQ3VXPL.cjs');
35
+ require('./chunk-OWQVDWTK.cjs');
36
36
  require('./chunk-LBGAHB6X.cjs');
37
37
  require('./chunk-KKAY6GPU.cjs');
38
38
  require('./chunk-XEYL6AFZ.cjs');
@@ -1833,9 +1833,9 @@ require('./chunk-7DNL734S.cjs');
1833
1833
  require('./chunk-WWUSFOJ7.cjs');
1834
1834
  require('./chunk-SKI6NKOE.cjs');
1835
1835
  require('./chunk-EWPR7662.cjs');
1836
- require('./chunk-LGNJTSKB.cjs');
1837
- require('./chunk-CGQ7CL62.cjs');
1838
- require('./chunk-MQPTOJMF.cjs');
1836
+ require('./chunk-QEFDGI3Z.cjs');
1837
+ require('./chunk-YG72MEHY.cjs');
1838
+ require('./chunk-OH5LAH3X.cjs');
1839
1839
  require('./chunk-3ZLPYEL5.cjs');
1840
1840
  require('./chunk-SETFUCZA.cjs');
1841
1841
  require('./chunk-BEMGJDXI.cjs');
@@ -1887,7 +1887,7 @@ function entry(logId, minutesAgo, severity, toolType, device2, summary) {
1887
1887
  id: logId,
1888
1888
  logId,
1889
1889
  timestamp: displayTime(_chunkDKOLQPE7cjs.demoMinutesAgo.call(void 0, minutesAgo)),
1890
- status: { label: severity, variant: _chunkHXLOCZMGcjs.logSeverityVariant.call(void 0, severity) },
1890
+ status: { label: severity, variant: _chunkUPAE4IV5cjs.logSeverityVariant.call(void 0, severity) },
1891
1891
  source: { name: toolType, toolType },
1892
1892
  device: device2,
1893
1893
  description: { title: summary }
@@ -1959,13 +1959,13 @@ var NO_FILTERS = {};
1959
1959
  var ACTION_COLUMNS = ["copy", "quickView", "open"];
1960
1960
  var BESIDE_DRAWER_HIDDEN = [...ACTION_COLUMNS, "tool", "source"];
1961
1961
  var logHref = () => "#";
1962
- var copyAction = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.LogCopyIconButton, {});
1962
+ var copyAction = () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUPAE4IV5cjs.LogCopyIconButton, {});
1963
1963
  function LogsScreen({ compact = false }) {
1964
1964
  const [dock, setDock] = _react.useState.call(void 0, null);
1965
1965
  const selected = LOGS_FIXTURE_SELECTED;
1966
1966
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full bg-ods-bg", children: [
1967
1967
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 overflow-clip", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1968
- _chunkHXLOCZMGcjs.LogsPageView,
1968
+ _chunkUPAE4IV5cjs.LogsPageView,
1969
1969
  {
1970
1970
  showHeader: false,
1971
1971
  className: "p-[var(--spacing-system-l)]",
@@ -1973,7 +1973,7 @@ function LogsScreen({ compact = false }) {
1973
1973
  onSearchChange: noop,
1974
1974
  onOpenFilters: noop,
1975
1975
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1976
- _chunkHXLOCZMGcjs.LogsTableView,
1976
+ _chunkUPAE4IV5cjs.LogsTableView,
1977
1977
  {
1978
1978
  logs: LOGS_FIXTURE_ENTRIES,
1979
1979
  facets: LOGS_FIXTURE_FACETS,
@@ -1987,8 +1987,8 @@ function LogsScreen({ compact = false }) {
1987
1987
  )
1988
1988
  }
1989
1989
  ) }),
1990
- !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, _chunkHXLOCZMGcjs.AppLayoutDrawerContainerContext.Provider, { value: dock, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1991
- _chunkHXLOCZMGcjs.LogDrawer,
1990
+ !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, _chunkUPAE4IV5cjs.AppLayoutDrawerContainerContext.Provider, { value: dock, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1991
+ _chunkUPAE4IV5cjs.LogDrawer,
1992
1992
  {
1993
1993
  docked: true,
1994
1994
  isOpen: true,
@@ -2000,12 +2000,12 @@ function LogsScreen({ compact = false }) {
2000
2000
  { label: "Log ID", value: selected.logId },
2001
2001
  {
2002
2002
  label: "Source",
2003
- value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.ToolBadge, { toolType: _chunkS3YDUX2Icjs.normalizeToolTypeWithFallback.call(void 0, selected.source.toolType) })
2003
+ value: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUPAE4IV5cjs.ToolBadge, { toolType: _chunkYWQ3VXPLcjs.normalizeToolTypeWithFallback.call(void 0, selected.source.toolType) })
2004
2004
  },
2005
- { label: "Device", value: _chunkHXLOCZMGcjs.logSourceLabels.call(void 0, selected.device).deviceName }
2005
+ { label: "Device", value: _chunkUPAE4IV5cjs.logSourceLabels.call(void 0, selected.device).deviceName }
2006
2006
  ],
2007
2007
  deviceCard: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2008
- _chunkHXLOCZMGcjs.DeviceCard,
2008
+ _chunkUPAE4IV5cjs.DeviceCard,
2009
2009
  {
2010
2010
  ...LOGS_FIXTURE_DEVICE,
2011
2011
  actions: {
@@ -10,7 +10,7 @@ var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
10
10
 
11
11
 
12
12
 
13
- var _chunkHXLOCZMGcjs = require('./chunk-HXLOCZMG.cjs');
13
+ var _chunkUPAE4IV5cjs = require('./chunk-UPAE4IV5.cjs');
14
14
  require('./chunk-KLTUTZBO.cjs');
15
15
  require('./chunk-R6BKQKIF.cjs');
16
16
  require('./chunk-SIDDZZKL.cjs');
@@ -21,10 +21,10 @@ require('./chunk-VXAKQRV7.cjs');
21
21
  require('./chunk-24I6RFVU.cjs');
22
22
  require('./chunk-A6P6DHEZ.cjs');
23
23
  require('./chunk-MZ4KBSH7.cjs');
24
- require('./chunk-WCSWWVPF.cjs');
24
+ require('./chunk-MLX6Z7TU.cjs');
25
25
  require('./chunk-C42WIUH6.cjs');
26
- require('./chunk-S3YDUX2I.cjs');
27
- require('./chunk-TZP7PSPG.cjs');
26
+ require('./chunk-YWQ3VXPL.cjs');
27
+ require('./chunk-OWQVDWTK.cjs');
28
28
  require('./chunk-LBGAHB6X.cjs');
29
29
  require('./chunk-KKAY6GPU.cjs');
30
30
  require('./chunk-XEYL6AFZ.cjs');
@@ -1825,9 +1825,9 @@ require('./chunk-7DNL734S.cjs');
1825
1825
  require('./chunk-WWUSFOJ7.cjs');
1826
1826
  require('./chunk-SKI6NKOE.cjs');
1827
1827
  require('./chunk-EWPR7662.cjs');
1828
- require('./chunk-LGNJTSKB.cjs');
1829
- require('./chunk-CGQ7CL62.cjs');
1830
- require('./chunk-MQPTOJMF.cjs');
1828
+ require('./chunk-QEFDGI3Z.cjs');
1829
+ require('./chunk-YG72MEHY.cjs');
1830
+ require('./chunk-OH5LAH3X.cjs');
1831
1831
  require('./chunk-3ZLPYEL5.cjs');
1832
1832
  require('./chunk-SETFUCZA.cjs');
1833
1833
  require('./chunk-BEMGJDXI.cjs');
@@ -1892,14 +1892,14 @@ var POLICIES = [
1892
1892
  policy("policy-local-admins", "No local admins", "No everyday account is a local administrator.", false, 0)
1893
1893
  ];
1894
1894
  var POLICIES_FIXTURE = {
1895
- summary: _chunkHXLOCZMGcjs.computePolicySummary.call(void 0, POLICIES),
1895
+ summary: _chunkUPAE4IV5cjs.computePolicySummary.call(void 0, POLICIES),
1896
1896
  rows: POLICIES.map((item) => ({
1897
1897
  id: item.id,
1898
1898
  name: item.name,
1899
1899
  description: item.description,
1900
1900
  critical: item.critical,
1901
1901
  severityLabel: item.critical ? "Critical" : "Low",
1902
- status: _chunkHXLOCZMGcjs.getPolicyTableStatus.call(void 0, item),
1902
+ status: _chunkUPAE4IV5cjs.getPolicyTableStatus.call(void 0, item),
1903
1903
  actions: [
1904
1904
  { label: "Policy Details", onClick: noop },
1905
1905
  { label: "Delete Policy", onClick: noop }
@@ -1913,16 +1913,16 @@ var POLICIES_FIXTURE = {
1913
1913
  var _jsxruntime = require('react/jsx-runtime');
1914
1914
  function PoliciesScreen({ compact = false }) {
1915
1915
  const table = /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1916
- _chunkHXLOCZMGcjs.PoliciesTable,
1916
+ _chunkUPAE4IV5cjs.PoliciesTable,
1917
1917
  {
1918
1918
  rows: POLICIES_FIXTURE.rows,
1919
1919
  rowAsLink: true,
1920
- rightSlot: compact ? void 0 : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.DataTable.RowCount, {}),
1920
+ rightSlot: compact ? void 0 : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUPAE4IV5cjs.DataTable.RowCount, {}),
1921
1921
  emptyMessage: "No policies found."
1922
1922
  }
1923
1923
  );
1924
1924
  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: [
1925
- !compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.PolicySummaryCards, { summary: POLICIES_FIXTURE.summary, now: POLICIES_FIXTURE.now }),
1925
+ !compact && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUPAE4IV5cjs.PolicySummaryCards, { summary: POLICIES_FIXTURE.summary, now: POLICIES_FIXTURE.now }),
1926
1926
  table
1927
1927
  ] });
1928
1928
  }
@@ -13,7 +13,7 @@ var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkHXLOCZMGcjs = require('./chunk-HXLOCZMG.cjs');
16
+ var _chunkUPAE4IV5cjs = require('./chunk-UPAE4IV5.cjs');
17
17
  require('./chunk-KLTUTZBO.cjs');
18
18
  require('./chunk-R6BKQKIF.cjs');
19
19
 
@@ -26,10 +26,10 @@ require('./chunk-VXAKQRV7.cjs');
26
26
  require('./chunk-24I6RFVU.cjs');
27
27
  require('./chunk-A6P6DHEZ.cjs');
28
28
  require('./chunk-MZ4KBSH7.cjs');
29
- require('./chunk-WCSWWVPF.cjs');
29
+ require('./chunk-MLX6Z7TU.cjs');
30
30
  require('./chunk-C42WIUH6.cjs');
31
- require('./chunk-S3YDUX2I.cjs');
32
- require('./chunk-TZP7PSPG.cjs');
31
+ require('./chunk-YWQ3VXPL.cjs');
32
+ require('./chunk-OWQVDWTK.cjs');
33
33
  require('./chunk-LBGAHB6X.cjs');
34
34
  require('./chunk-KKAY6GPU.cjs');
35
35
  require('./chunk-XEYL6AFZ.cjs');
@@ -1832,9 +1832,9 @@ require('./chunk-7DNL734S.cjs');
1832
1832
  require('./chunk-WWUSFOJ7.cjs');
1833
1833
  require('./chunk-SKI6NKOE.cjs');
1834
1834
  require('./chunk-EWPR7662.cjs');
1835
- require('./chunk-LGNJTSKB.cjs');
1836
- require('./chunk-CGQ7CL62.cjs');
1837
- require('./chunk-MQPTOJMF.cjs');
1835
+ require('./chunk-QEFDGI3Z.cjs');
1836
+ require('./chunk-YG72MEHY.cjs');
1837
+ require('./chunk-OH5LAH3X.cjs');
1838
1838
  require('./chunk-3ZLPYEL5.cjs');
1839
1839
  require('./chunk-SETFUCZA.cjs');
1840
1840
  require('./chunk-BEMGJDXI.cjs');
@@ -1996,8 +1996,8 @@ function buildScriptsFixture(cast) {
1996
1996
  var _jsxruntime = require('react/jsx-runtime');
1997
1997
  var WIDE_HIDDEN_COLUMNS = ["result", "open"];
1998
1998
  var COMPACT_COLUMNS = [
1999
- { ..._chunkHXLOCZMGcjs.EXECUTION_COLUMNS.machineId, width: "flex-1 min-w-0", hideAt: void 0 },
2000
- _chunkHXLOCZMGcjs.EXECUTION_COLUMNS.status
1999
+ { ..._chunkUPAE4IV5cjs.EXECUTION_COLUMNS.machineId, width: "flex-1 min-w-0", hideAt: void 0 },
2000
+ _chunkUPAE4IV5cjs.EXECUTION_COLUMNS.status
2001
2001
  ];
2002
2002
  var COMPACT_ROWS = 4;
2003
2003
  var TOKEN_CLASS = {
@@ -2056,7 +2056,7 @@ function ScriptCodePicture({ script }) {
2056
2056
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 items-center justify-between gap-[var(--spacing-system-m)]", children: [
2057
2057
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSIDDZZKLcjs.TruncateText, { variant: "h6", tone: "secondary", children: `Written by ${provenance.author} \xB7 approved by ${provenance.approver}` }),
2058
2058
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2059
- _chunkHXLOCZMGcjs.ScriptShellBadge,
2059
+ _chunkUPAE4IV5cjs.ScriptShellBadge,
2060
2060
  {
2061
2061
  value: script.shellType,
2062
2062
  className: "shrink-0 text-ods-text-secondary text-h6",
@@ -2080,7 +2080,7 @@ function ScriptsScreen({ compact = false }) {
2080
2080
  return (
2081
2081
  // Four runs of the card's row height fill the frame; the padding is what is left round them.
2082
2082
  /* @__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,
2083
- _chunkHXLOCZMGcjs.ScriptExecutionsTable,
2083
+ _chunkUPAE4IV5cjs.ScriptExecutionsTable,
2084
2084
  {
2085
2085
  rows: fixture.executions.slice(0, COMPACT_ROWS),
2086
2086
  columns: COMPACT_COLUMNS,
@@ -2090,13 +2090,13 @@ function ScriptsScreen({ compact = false }) {
2090
2090
  ) })
2091
2091
  );
2092
2092
  }
2093
- const renderOutput = (row) => row.id === fixture.openExecutionId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXLOCZMGcjs.ScriptExecutionResult, { result: row.result, empty: "\u2014" }) : null;
2093
+ const renderOutput = (row) => row.id === fixture.openExecutionId ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUPAE4IV5cjs.ScriptExecutionResult, { result: row.result, empty: "\u2014" }) : null;
2094
2094
  return (
2095
2095
  // The frame's tighter padding and no header row: the output opened under a run needs the height.
2096
2096
  /* @__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: [
2097
2097
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "w-[39%] shrink-0", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ScriptCodePicture, { script: fixture.script }) }),
2098
2098
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "min-w-0 flex-1 overflow-hidden", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2099
- _chunkHXLOCZMGcjs.ScriptExecutionsTable,
2099
+ _chunkUPAE4IV5cjs.ScriptExecutionsTable,
2100
2100
  {
2101
2101
  rows: fixture.executions,
2102
2102
  hideColumns: WIDE_HIDDEN_COLUMNS,
@@ -15,7 +15,7 @@ var _chunkDKOLQPE7cjs = require('./chunk-DKOLQPE7.cjs');
15
15
 
16
16
 
17
17
 
18
- var _chunkHXLOCZMGcjs = require('./chunk-HXLOCZMG.cjs');
18
+ var _chunkUPAE4IV5cjs = require('./chunk-UPAE4IV5.cjs');
19
19
  require('./chunk-KLTUTZBO.cjs');
20
20
  require('./chunk-R6BKQKIF.cjs');
21
21
 
@@ -28,10 +28,10 @@ require('./chunk-VXAKQRV7.cjs');
28
28
  require('./chunk-24I6RFVU.cjs');
29
29
  require('./chunk-A6P6DHEZ.cjs');
30
30
  require('./chunk-MZ4KBSH7.cjs');
31
- require('./chunk-WCSWWVPF.cjs');
31
+ require('./chunk-MLX6Z7TU.cjs');
32
32
  require('./chunk-C42WIUH6.cjs');
33
- require('./chunk-S3YDUX2I.cjs');
34
- require('./chunk-TZP7PSPG.cjs');
33
+ require('./chunk-YWQ3VXPL.cjs');
34
+ require('./chunk-OWQVDWTK.cjs');
35
35
  require('./chunk-LBGAHB6X.cjs');
36
36
  require('./chunk-KKAY6GPU.cjs');
37
37
  require('./chunk-XEYL6AFZ.cjs');
@@ -1832,9 +1832,9 @@ require('./chunk-7DNL734S.cjs');
1832
1832
  require('./chunk-WWUSFOJ7.cjs');
1833
1833
  require('./chunk-SKI6NKOE.cjs');
1834
1834
  require('./chunk-EWPR7662.cjs');
1835
- require('./chunk-LGNJTSKB.cjs');
1836
- require('./chunk-CGQ7CL62.cjs');
1837
- require('./chunk-MQPTOJMF.cjs');
1835
+ require('./chunk-QEFDGI3Z.cjs');
1836
+ require('./chunk-YG72MEHY.cjs');
1837
+ require('./chunk-OH5LAH3X.cjs');
1838
1838
  require('./chunk-3ZLPYEL5.cjs');
1839
1839
  require('./chunk-SETFUCZA.cjs');
1840
1840
  require('./chunk-BEMGJDXI.cjs');
@@ -1923,12 +1923,12 @@ function StaticPackageField({ value }) {
1923
1923
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1924
1924
  _chunkSIDDZZKLcjs.Autocomplete,
1925
1925
  {
1926
- label: _chunkHXLOCZMGcjs.PACKAGE_SEARCH_LABEL,
1926
+ label: _chunkUPAE4IV5cjs.PACKAGE_SEARCH_LABEL,
1927
1927
  labelVariant: "large",
1928
1928
  options: value ? [{ value: value.id, label: value.name, description: _nullishCoalesce(value.description, () => ( void 0)) }] : [],
1929
1929
  value: _nullishCoalesce(_optionalChain([value, 'optionalAccess', _ => _.id]), () => ( null)),
1930
1930
  onChange: noop,
1931
- placeholder: _chunkHXLOCZMGcjs.PACKAGE_SEARCH_PLACEHOLDER
1931
+ placeholder: _chunkUPAE4IV5cjs.PACKAGE_SEARCH_PLACEHOLDER
1932
1932
  }
1933
1933
  );
1934
1934
  }
@@ -1942,7 +1942,7 @@ function SoftwareUpdateScreen({ compact = false }) {
1942
1942
  [fixture.devices, fixture.selectedIds]
1943
1943
  );
1944
1944
  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,
1945
- _chunkHXLOCZMGcjs.SoftwareActionForm,
1945
+ _chunkUPAE4IV5cjs.SoftwareActionForm,
1946
1946
  {
1947
1947
  action: fixture.action,
1948
1948
  showHeader: false,
@@ -1954,7 +1954,7 @@ function SoftwareUpdateScreen({ compact = false }) {
1954
1954
  initialValues: fixture.initialValues,
1955
1955
  renderPackageSearch,
1956
1956
  renderDevicePicker: () => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1957
- _chunkHXLOCZMGcjs.DeviceSelector,
1957
+ _chunkUPAE4IV5cjs.DeviceSelector,
1958
1958
  {
1959
1959
  devices: selected,
1960
1960
  loading: false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flamingo-stack/openframe-frontend-core",
3
- "version": "0.0.777",
3
+ "version": "0.0.780",
4
4
  "description": "Shared design system and components for all Flamingo platforms",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -103,6 +103,7 @@ const ChatMessageEnhanced = forwardRef<HTMLDivElement, ChatMessageEnhancedProps>
103
103
  appearance: appearanceProp,
104
104
  authorType: authorTypeProp,
105
105
  selfAuthorType,
106
+ nameEveryTurn = false,
106
107
  assistantIcon,
107
108
  contextItems,
108
109
  resolveContextIcon,
@@ -535,9 +536,15 @@ const ChatMessageEnhanced = forwardRef<HTMLDivElement, ChatMessageEnhancedProps>
535
536
  // system line and another person answering (a technician in the end
536
537
  // user's thread). Mingo sends the admin's own turns as `admin` too; those
537
538
  // are the user's words and draw as such. Every face carries its name for
538
- // assistive tech and on hover.
539
- const showName = isSystem || isOtherPerson || (authorType === 'admin' && !isUser);
539
+ // assistive tech and on hover. A thread of several parties names every
540
+ // turn (`nameEveryTurn`: a ticket, where an end user, the agent and any
541
+ // number of technicians write): the agent's turn as an incoming one, the
542
+ // viewer's own bubble with the name beside the face, on the bubble's side.
543
+ const showName =
544
+ isSystem || isOtherPerson || (authorType === 'admin' && !isUser) || (nameEveryTurn && role === 'assistant');
545
+ const showSelfName = nameEveryTurn && isUser && !isSystem;
540
546
  const displayName = name || (isHuman ? 'User' : assistantType === 'mingo' ? 'Mingo' : 'Fae');
547
+ const nameLabel = <span className="min-w-0 truncate text-ods-open-yellow text-h6">{displayName}</span>;
541
548
  const faceBox = 'h-5 w-5 flex-shrink-0';
542
549
  const face: ReactNode =
543
550
  !showAvatar || isSystem ? null : !isHuman && !avatar && assistantIcon ? (
@@ -603,10 +610,11 @@ const ChatMessageEnhanced = forwardRef<HTMLDivElement, ChatMessageEnhancedProps>
603
610
  vs ~9ms as grid (Chrome: ~2ms either way). Same gap and stretch,
604
611
  no margin collapsing — visually identical. */}
605
612
  <div className="grid min-w-0 grid-cols-1 gap-[var(--spacing-system-xxs)]">
606
- {(face || showName) && (
613
+ {(face || showName || showSelfName) && (
607
614
  <div className={cn('flex items-center gap-[var(--spacing-system-xs)]', isUser && 'justify-end')}>
615
+ {showSelfName && nameLabel}
608
616
  {face}
609
- {showName && <span className="min-w-0 truncate text-ods-open-yellow text-h6">{displayName}</span>}
617
+ {showName && nameLabel}
610
618
  {showName && timestamp && (
611
619
  <span className="ml-auto shrink-0 whitespace-nowrap text-ods-text-secondary text-h6">
612
620
  {formatMessageTimestamp(timestamp)}
@@ -765,6 +773,7 @@ const MemoizedChatMessageEnhanced = memo(ChatMessageEnhanced, (prevProps, nextPr
765
773
  prevProps.appearance === nextProps.appearance &&
766
774
  prevProps.authorType === nextProps.authorType &&
767
775
  prevProps.selfAuthorType === nextProps.selfAuthorType &&
776
+ prevProps.nameEveryTurn === nextProps.nameEveryTurn &&
768
777
  prevProps.assistantIcon === nextProps.assistantIcon &&
769
778
  prevProps.className === nextProps.className &&
770
779
  // Reference equality — the host re-uses the same array instance per
@@ -141,6 +141,7 @@ const ChatMessageList = forwardRef<HTMLDivElement, ChatMessageListProps>(
141
141
  assistantType,
142
142
  approvalVariant,
143
143
  selfAuthorType,
144
+ nameEveryTurn,
144
145
  appearance = CHAT_APPEARANCE.CLASSIC,
145
146
  assistantIcon,
146
147
  pendingApprovals,
@@ -1049,6 +1050,7 @@ const ChatMessageList = forwardRef<HTMLDivElement, ChatMessageListProps>(
1049
1050
  approvalVariant={approvalVariant}
1050
1051
  authorType={message.authorType}
1051
1052
  selfAuthorType={selfAuthorType}
1053
+ nameEveryTurn={nameEveryTurn}
1052
1054
  assistantIcon={message.role !== 'user' ? assistantIcon : undefined}
1053
1055
  contextItems={message.contextItems}
1054
1056
  resolveContextIcon={resolveContextIcon}
@@ -142,6 +142,9 @@ export interface ChatMessageEnhancedProps extends Omit<HTMLAttributes<HTMLDivEle
142
142
  * write (`ChatMessageList.selfAuthorType`). Omit and every `user` turn is
143
143
  * the viewer's own. */
144
144
  selfAuthorType?: AuthorType;
145
+ /** Write the speaker's name on the agent's turn and the viewer's own bubble
146
+ * too (`ChatMessageList.nameEveryTurn`). Default false. */
147
+ nameEveryTurn?: boolean;
145
148
  /** Viewer variant for approval blocks in this message's segments.
146
149
  * `'admin'` (default) = full command block; `'client'` = end-client
147
150
  * (Fae desktop app) title-only card. Forwarded to
@@ -305,6 +308,12 @@ export interface ChatMessageListProps extends HTMLAttributes<HTMLDivElement> {
305
308
  * is the viewer's (Mingo: the admin's own turns arrive as `admin`); the Fae
306
309
  * client passes `'user'`, so a technician (`admin`) answers from the left. */
307
310
  selfAuthorType?: AuthorType;
311
+ /** Write the speaker's name on every turn: the agent's and the viewer's own
312
+ * bubbles too, not only another person's. For a thread of several parties
313
+ * — a ticket, where the end user, the agent and any number of technicians
314
+ * (all `admin`) write — so who said what is information. Default false: a
315
+ * two-party thread (Mingo, the Fae client) is told apart by its faces. */
316
+ nameEveryTurn?: boolean;
308
317
  /** Visual generation of the whole thread, blocks included. Default
309
318
  * `classic`; the Fae client passes `v2`. See `ChatAppearance`. */
310
319
  appearance?: ChatAppearance;
@@ -125,13 +125,6 @@ export function VideoHoverPreviewSurface({
125
125
  }, [gateControlled]);
126
126
  // Continuation forces the media + player on regardless of hover/viewport gate.
127
127
  const showMedia = continuation || (gateControlled ? playerMounted : isNear);
128
- // The hover player (and its script, the Mux player and hls.js: the largest a page can load) mounts on the first
129
- // hover, never before: a card that is near the screen but never hovered shows its poster and costs nothing more.
130
- // A widget pinned to the screen is always "near", so mounting on proximity loaded that script on every page view
131
- // (CU-17tkuw5xp4q). Once mounted it stays, so the next hover plays at once.
132
- const [engaged, setEngaged] = useState(false);
133
- if ((active || continuation) && !engaged) setEngaged(true);
134
- const showPlayer = continuation || engaged;
135
128
 
136
129
  // Poster resolution — the shared entity-card cover fallback chain: the real
137
130
  // thumbnail, dropped on load error. Null → first-frame facade (unless the
@@ -166,45 +159,43 @@ export function VideoHoverPreviewSurface({
166
159
 
167
160
  {badge === 'play' && !active && !continuation && <VideoPlayBadge className="absolute inset-0 z-10 m-auto" />}
168
161
 
169
- {showPlayer ? (
170
- <div
171
- className="absolute inset-0"
172
- style={{ '--media-background-color': 'transparent' } as React.CSSProperties}
173
- >
174
- <Video
175
- // Remount between modes: `startTime` + autoplay are LOAD-TIME
176
- // props (playback-core binds them to one-shot durationchange /
177
- // loadstart handlers), so re-propping an already-loaded element
178
- // silently drops the seek. Only a Mux preview rewrite changed
179
- // `src` before, which is why HLS resumed and plain MP4 did not.
180
- key={continuation ? 'continuation' : 'preview'}
181
- kind="file"
182
- // Rendition-capped in BOTH modes: the cap was only skipped
183
- // because changing `src` used to be the sole trigger for the
184
- // seek; the explicit key handles that now, and a 320px mini
185
- // player should never pull the uncapped manifest.
186
- url={previewUrl}
187
- poster={posterUrl}
188
- {...(continuation
189
- ? {
190
- startTime,
191
- autoPlay: autoPlay && startMuted,
192
- startMuted,
193
- autoPlayUnmuted: autoPlay && !startMuted,
194
- }
195
- : { playWhenHovered: active })}
196
- chromeless
197
- layout="fill"
198
- fit={fit}
199
- preload={preload}
200
- mutedIntent={mutedIntent}
201
- hideMutedBadge={hideMutedBadge}
202
- onMutedFallbackChange={onMutedFallbackChange}
203
- onEnded={onEnded}
204
- playerHandleRef={previewHandleRef}
205
- />
206
- </div>
207
- ) : null}
162
+ <div
163
+ className="absolute inset-0"
164
+ style={{ '--media-background-color': 'transparent' } as React.CSSProperties}
165
+ >
166
+ <Video
167
+ // Remount between modes: `startTime` + autoplay are LOAD-TIME
168
+ // props (playback-core binds them to one-shot durationchange /
169
+ // loadstart handlers), so re-propping an already-loaded element
170
+ // silently drops the seek. Only a Mux preview rewrite changed
171
+ // `src` before, which is why HLS resumed and plain MP4 did not.
172
+ key={continuation ? 'continuation' : 'preview'}
173
+ kind="file"
174
+ // Rendition-capped in BOTH modes: the cap was only skipped
175
+ // because changing `src` used to be the sole trigger for the
176
+ // seek; the explicit key handles that now, and a 320px mini
177
+ // player should never pull the uncapped manifest.
178
+ url={previewUrl}
179
+ poster={posterUrl}
180
+ {...(continuation
181
+ ? {
182
+ startTime,
183
+ autoPlay: autoPlay && startMuted,
184
+ startMuted,
185
+ autoPlayUnmuted: autoPlay && !startMuted,
186
+ }
187
+ : { playWhenHovered: active })}
188
+ chromeless
189
+ layout="fill"
190
+ fit={fit}
191
+ preload={preload}
192
+ mutedIntent={mutedIntent}
193
+ hideMutedBadge={hideMutedBadge}
194
+ onMutedFallbackChange={onMutedFallbackChange}
195
+ onEnded={onEnded}
196
+ playerHandleRef={previewHandleRef}
197
+ />
198
+ </div>
208
199
  </>
209
200
  ) : (
210
201
  <div className="absolute inset-0 bg-ods-card" />