@flamingo-stack/openframe-frontend-core 0.0.516 → 0.0.517-1651.4264.1

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 (98) hide show
  1. package/dist/{chunk-NG7ZMEYW.cjs → chunk-2LMIHPQH.cjs} +4 -4
  2. package/dist/{chunk-NG7ZMEYW.cjs.map → chunk-2LMIHPQH.cjs.map} +1 -1
  3. package/dist/{chunk-SIMZ3VS2.js → chunk-45TSVW73.js} +2 -2
  4. package/dist/{chunk-3XHAX6MO.cjs → chunk-476N4NBC.cjs} +26 -26
  5. package/dist/{chunk-3XHAX6MO.cjs.map → chunk-476N4NBC.cjs.map} +1 -1
  6. package/dist/{chunk-ARTBN7XU.js → chunk-A5WEANTA.js} +2 -2
  7. package/dist/{chunk-BVBY7UMD.cjs → chunk-ARB3MVHH.cjs} +47 -3
  8. package/dist/chunk-ARB3MVHH.cjs.map +1 -0
  9. package/dist/{chunk-KXB6PGWV.js → chunk-CJ55TI4A.js} +4 -4
  10. package/dist/{chunk-UIIMQTTL.cjs → chunk-CV4IMEEH.cjs} +37 -37
  11. package/dist/{chunk-UIIMQTTL.cjs.map → chunk-CV4IMEEH.cjs.map} +1 -1
  12. package/dist/{chunk-FMZX2FOK.cjs → chunk-GWS2J3VC.cjs} +31 -31
  13. package/dist/{chunk-FMZX2FOK.cjs.map → chunk-GWS2J3VC.cjs.map} +1 -1
  14. package/dist/{chunk-FLI5RMO4.js → chunk-GXSKS5RO.js} +2 -2
  15. package/dist/{chunk-ZWTIHBXS.cjs → chunk-HNWJSFEV.cjs} +3 -3
  16. package/dist/{chunk-ZWTIHBXS.cjs.map → chunk-HNWJSFEV.cjs.map} +1 -1
  17. package/dist/{chunk-CALVHRRU.cjs → chunk-HOPPNUGS.cjs} +5 -5
  18. package/dist/{chunk-CALVHRRU.cjs.map → chunk-HOPPNUGS.cjs.map} +1 -1
  19. package/dist/{chunk-W5TUW7US.js → chunk-I75L6RSN.js} +2 -2
  20. package/dist/{chunk-5JLSIN72.cjs → chunk-J4C4IY2F.cjs} +9 -9
  21. package/dist/{chunk-5JLSIN72.cjs.map → chunk-J4C4IY2F.cjs.map} +1 -1
  22. package/dist/{chunk-SIFO7F7J.js → chunk-J6TFTLXF.js} +2 -2
  23. package/dist/{chunk-2T356SFJ.cjs → chunk-KG52CG6Y.cjs} +14 -14
  24. package/dist/{chunk-2T356SFJ.cjs.map → chunk-KG52CG6Y.cjs.map} +1 -1
  25. package/dist/{chunk-4GSNSWXD.cjs → chunk-N2LZPULX.cjs} +11 -11
  26. package/dist/{chunk-4GSNSWXD.cjs.map → chunk-N2LZPULX.cjs.map} +1 -1
  27. package/dist/{chunk-4XFAIQMV.js → chunk-O3CJ6IWP.js} +2 -2
  28. package/dist/{chunk-6IQKCE6Q.js → chunk-OCNHD5XM.js} +6 -6
  29. package/dist/{chunk-YR3YLAGA.js → chunk-QRAGH5CS.js} +2 -2
  30. package/dist/{chunk-XNC2JU6D.cjs → chunk-R7JZC5RX.cjs} +7 -7
  31. package/dist/{chunk-XNC2JU6D.cjs.map → chunk-R7JZC5RX.cjs.map} +1 -1
  32. package/dist/{chunk-CI2NKT45.cjs → chunk-SXWPJHP7.cjs} +26 -26
  33. package/dist/{chunk-CI2NKT45.cjs.map → chunk-SXWPJHP7.cjs.map} +1 -1
  34. package/dist/{chunk-FTA3OFFU.cjs → chunk-U5ZE22FV.cjs} +61 -61
  35. package/dist/{chunk-FTA3OFFU.cjs.map → chunk-U5ZE22FV.cjs.map} +1 -1
  36. package/dist/{chunk-5UZZ5UTH.js → chunk-UL7QF323.js} +2 -2
  37. package/dist/{chunk-XBL4OPPW.js → chunk-V6FISTDB.js} +2 -2
  38. package/dist/{chunk-5JMFC6DQ.js → chunk-VGK6CXYG.js} +5 -5
  39. package/dist/{chunk-MAWBYVGA.cjs → chunk-VSUGMXAV.cjs} +87 -87
  40. package/dist/{chunk-MAWBYVGA.cjs.map → chunk-VSUGMXAV.cjs.map} +1 -1
  41. package/dist/{chunk-5MJBM4AT.js → chunk-VXMKRJYN.js} +46 -2
  42. package/dist/{chunk-5MJBM4AT.js.map → chunk-VXMKRJYN.js.map} +1 -1
  43. package/dist/{chunk-YUYDBVBF.js → chunk-YXF4JKKQ.js} +4 -4
  44. package/dist/components/case-studies/index.cjs +8 -8
  45. package/dist/components/case-studies/index.js +2 -2
  46. package/dist/components/chat/index.cjs +2 -2
  47. package/dist/components/chat/index.js +1 -1
  48. package/dist/components/contact/index.cjs +3 -3
  49. package/dist/components/contact/index.js +2 -2
  50. package/dist/components/docs/index.cjs +5 -5
  51. package/dist/components/docs/index.js +4 -4
  52. package/dist/components/embeds/index.cjs +3 -3
  53. package/dist/components/embeds/index.js +2 -2
  54. package/dist/components/faq/index.cjs +3 -3
  55. package/dist/components/faq/index.js +2 -2
  56. package/dist/components/features/index.cjs +2 -2
  57. package/dist/components/features/index.js +1 -1
  58. package/dist/components/help-center-pages/index.cjs +22 -22
  59. package/dist/components/help-center-pages/index.js +13 -13
  60. package/dist/components/index.cjs +136 -132
  61. package/dist/components/index.cjs.map +1 -1
  62. package/dist/components/index.js +15 -11
  63. package/dist/components/index.js.map +1 -1
  64. package/dist/components/meeting-scheduler/index.cjs +34 -34
  65. package/dist/components/meeting-scheduler/index.js +3 -3
  66. package/dist/components/navigation/index.cjs +2 -2
  67. package/dist/components/navigation/index.js +1 -1
  68. package/dist/components/onboarding-guides/index.cjs +5 -5
  69. package/dist/components/onboarding-guides/index.js +4 -4
  70. package/dist/components/related-content/index.cjs +3 -3
  71. package/dist/components/related-content/index.js +2 -2
  72. package/dist/components/tickets/index.cjs +6 -6
  73. package/dist/components/tickets/index.js +5 -5
  74. package/dist/components/ui/index.cjs +6 -2
  75. package/dist/components/ui/index.cjs.map +1 -1
  76. package/dist/components/ui/index.js +5 -1
  77. package/dist/components/ui/test-run.d.ts +13 -0
  78. package/dist/components/ui/test-run.d.ts.map +1 -1
  79. package/dist/index.cjs +6 -2
  80. package/dist/index.cjs.map +1 -1
  81. package/dist/index.js +5 -1
  82. package/package.json +1 -1
  83. package/src/components/ui/test-run.tsx +59 -6
  84. package/src/stories/TestRun.stories.tsx +20 -2
  85. package/dist/chunk-BVBY7UMD.cjs.map +0 -1
  86. /package/dist/{chunk-SIMZ3VS2.js.map → chunk-45TSVW73.js.map} +0 -0
  87. /package/dist/{chunk-ARTBN7XU.js.map → chunk-A5WEANTA.js.map} +0 -0
  88. /package/dist/{chunk-KXB6PGWV.js.map → chunk-CJ55TI4A.js.map} +0 -0
  89. /package/dist/{chunk-FLI5RMO4.js.map → chunk-GXSKS5RO.js.map} +0 -0
  90. /package/dist/{chunk-W5TUW7US.js.map → chunk-I75L6RSN.js.map} +0 -0
  91. /package/dist/{chunk-SIFO7F7J.js.map → chunk-J6TFTLXF.js.map} +0 -0
  92. /package/dist/{chunk-4XFAIQMV.js.map → chunk-O3CJ6IWP.js.map} +0 -0
  93. /package/dist/{chunk-6IQKCE6Q.js.map → chunk-OCNHD5XM.js.map} +0 -0
  94. /package/dist/{chunk-YR3YLAGA.js.map → chunk-QRAGH5CS.js.map} +0 -0
  95. /package/dist/{chunk-5UZZ5UTH.js.map → chunk-UL7QF323.js.map} +0 -0
  96. /package/dist/{chunk-XBL4OPPW.js.map → chunk-V6FISTDB.js.map} +0 -0
  97. /package/dist/{chunk-5JMFC6DQ.js.map → chunk-VGK6CXYG.js.map} +0 -0
  98. /package/dist/{chunk-YUYDBVBF.js.map → chunk-YXF4JKKQ.js.map} +0 -0
@@ -47451,9 +47451,37 @@ function TestResultsTable({ rows, loading }) {
47451
47451
  /* @__PURE__ */ jsx359(DataTable.Body, { loading: false })
47452
47452
  ] }) }) });
47453
47453
  }
47454
+ function TestRunErrorBanner({ error, className }) {
47455
+ const { copy } = useCopyToClipboard({ successDescription: "Error message copied to clipboard" });
47456
+ return /* @__PURE__ */ jsxs284(
47457
+ "div",
47458
+ {
47459
+ role: "alert",
47460
+ className: cn(
47461
+ "flex items-center justify-between gap-[var(--spacing-system-s)]",
47462
+ "rounded-[6px] border border-ods-error bg-ods-error-secondary",
47463
+ "px-[var(--spacing-system-mf)] py-[var(--spacing-system-s)]",
47464
+ className
47465
+ ),
47466
+ children: [
47467
+ /* @__PURE__ */ jsx359("p", { className: "text-h4 text-ods-error min-w-0 break-words", children: error }),
47468
+ /* @__PURE__ */ jsx359(
47469
+ "button",
47470
+ {
47471
+ type: "button",
47472
+ "aria-label": "Copy error message",
47473
+ onClick: () => copy(error),
47474
+ className: "shrink-0 text-ods-error hover:opacity-80 transition-opacity focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ods-focus rounded-sm",
47475
+ children: /* @__PURE__ */ jsx359(Copy02Icon, { className: "size-5" })
47476
+ }
47477
+ )
47478
+ ]
47479
+ }
47480
+ );
47481
+ }
47454
47482
  function TestRunResults({ isActive, displayRows, firstError, className }) {
47455
47483
  return /* @__PURE__ */ jsxs284("div", { className: cn("flex flex-col gap-[var(--spacing-system-xsf)]", className), children: [
47456
- firstError && /* @__PURE__ */ jsx359("p", { role: "alert", className: "text-h6 text-ods-error", children: firstError }),
47484
+ firstError && /* @__PURE__ */ jsx359(TestRunErrorBanner, { error: firstError }),
47457
47485
  !isActive && displayRows.length === 0 ? (
47458
47486
  // With zero rows the error line alone explains the outcome; a
47459
47487
  // "No results returned" empty state next to it would mislead.
@@ -47470,6 +47498,18 @@ function TimingStat({ value, label, className }) {
47470
47498
  /* @__PURE__ */ jsx359("span", { className: "text-h6 text-ods-text-secondary truncate", children: label })
47471
47499
  ] });
47472
47500
  }
47501
+ var TEST_RUN_STATUS_TAGS = {
47502
+ running: { label: "IN PROCESS", variant: "warning" },
47503
+ success: { label: "SUCCESS", variant: "success" },
47504
+ error: { label: "ERROR", variant: "error" }
47505
+ };
47506
+ function TestRunStatusStat({ status, className }) {
47507
+ const tag = status === "idle" ? null : TEST_RUN_STATUS_TAGS[status];
47508
+ return /* @__PURE__ */ jsxs284("div", { className: cn("flex flex-col justify-center items-start min-w-0 gap-[var(--spacing-system-xxs)]", className), children: [
47509
+ tag ? /* @__PURE__ */ jsx359(Tag, { label: tag.label, variant: tag.variant, className: "pointer-events-none" }) : /* @__PURE__ */ jsx359("span", { className: "text-h4 text-ods-text-secondary truncate", children: "-" }),
47510
+ /* @__PURE__ */ jsx359("span", { className: "text-h6 text-ods-text-secondary truncate", children: "Status" })
47511
+ ] });
47512
+ }
47473
47513
  function useTestRunState(campaign) {
47474
47514
  const [hasRun, setHasRun] = React137.useState(false);
47475
47515
  const [isStarting, setIsStarting] = React137.useState(false);
@@ -47511,6 +47551,7 @@ function useTestRunState(campaign) {
47511
47551
  const isFinished = campaign.campaignStatus === "finished";
47512
47552
  const showResults = isActive || hasRun && isFinished;
47513
47553
  const firstError = isFinished && campaign.errors.length > 0 ? campaign.errors[0].error : null;
47554
+ const status = isActive ? "running" : hasRun && isFinished ? firstError ? "error" : "success" : "idle";
47514
47555
  const showTiming = hasRun && campaign.startedAt !== null && (campaign.isRunning || isFinished);
47515
47556
  const startedLabel = showTiming && campaign.startedAt ? formatTime(campaign.startedAt) : "00:00 PM";
47516
47557
  const durationLabel = showTiming ? formatTestRunDuration(durationMs) : "00:00:00";
@@ -47525,6 +47566,7 @@ function useTestRunState(campaign) {
47525
47566
  isActive,
47526
47567
  isFinished,
47527
47568
  showResults,
47569
+ status,
47528
47570
  firstError,
47529
47571
  startedLabel,
47530
47572
  durationLabel,
@@ -60999,8 +61041,10 @@ export {
60999
61041
  formatTestRunDuration,
61000
61042
  TestResultsSkeleton,
61001
61043
  TestResultsTable,
61044
+ TestRunErrorBanner,
61002
61045
  TestRunResults,
61003
61046
  TimingStat,
61047
+ TestRunStatusStat,
61004
61048
  useTestRunState,
61005
61049
  TicketDetailSection,
61006
61050
  TicketAttachmentsList,
@@ -61051,4 +61095,4 @@ export {
61051
61095
  LogsList,
61052
61096
  assets
61053
61097
  };
61054
- //# sourceMappingURL=chunk-5MJBM4AT.js.map
61098
+ //# sourceMappingURL=chunk-VXMKRJYN.js.map