@flamingo-stack/openframe-frontend-core 0.0.311 → 0.0.312-snapshot.20260623175551

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 (87) hide show
  1. package/dist/{chunk-NS2WLRTI.js → chunk-66JU4VP2.js} +30 -12
  2. package/dist/chunk-66JU4VP2.js.map +1 -0
  3. package/dist/{chunk-DXOGAFXQ.js → chunk-6FZD5KFP.js} +2 -2
  4. package/dist/{chunk-GAKX3IB4.cjs → chunk-BFNTSETG.cjs} +14 -14
  5. package/dist/{chunk-GAKX3IB4.cjs.map → chunk-BFNTSETG.cjs.map} +1 -1
  6. package/dist/{chunk-BZA3APSK.cjs → chunk-BFSKFC6S.cjs} +30 -30
  7. package/dist/{chunk-BZA3APSK.cjs.map → chunk-BFSKFC6S.cjs.map} +1 -1
  8. package/dist/{chunk-DH2R5ZMA.js → chunk-BVDHLEP2.js} +2 -2
  9. package/dist/{chunk-YVTTTQKF.cjs → chunk-DDLJTRF4.cjs} +26 -26
  10. package/dist/{chunk-YVTTTQKF.cjs.map → chunk-DDLJTRF4.cjs.map} +1 -1
  11. package/dist/{chunk-WLW35D5O.cjs → chunk-DE2BQKQV.cjs} +9 -9
  12. package/dist/{chunk-WLW35D5O.cjs.map → chunk-DE2BQKQV.cjs.map} +1 -1
  13. package/dist/{chunk-HLQQN2H2.js → chunk-E6BHNYTA.js} +40 -20
  14. package/dist/chunk-E6BHNYTA.js.map +1 -0
  15. package/dist/{chunk-RUJCGYDL.js → chunk-FXTT7K3A.js} +2 -2
  16. package/dist/{chunk-2EILUSCY.cjs → chunk-GHK2FCIM.cjs} +37 -37
  17. package/dist/{chunk-2EILUSCY.cjs.map → chunk-GHK2FCIM.cjs.map} +1 -1
  18. package/dist/{chunk-PYKMJPWX.js → chunk-OZYAAJHM.js} +4 -4
  19. package/dist/{chunk-L4ND4ZAB.cjs → chunk-REHUG3RH.cjs} +50 -30
  20. package/dist/chunk-REHUG3RH.cjs.map +1 -0
  21. package/dist/{chunk-KYQGJD2Q.js → chunk-RM3M3SZ6.js} +2 -2
  22. package/dist/{chunk-3JT6LRGB.js → chunk-SPFGSUNE.js} +2 -2
  23. package/dist/{chunk-KNUY2CAL.cjs → chunk-SQQXCVZZ.cjs} +30 -12
  24. package/dist/chunk-SQQXCVZZ.cjs.map +1 -0
  25. package/dist/{chunk-CKNJYFLB.cjs → chunk-XHGE5XBH.cjs} +5 -5
  26. package/dist/{chunk-CKNJYFLB.cjs.map → chunk-XHGE5XBH.cjs.map} +1 -1
  27. package/dist/{chunk-ZRUQRXCP.js → chunk-YI2ACYRX.js} +2 -2
  28. package/dist/{chunk-P5QS2625.cjs → chunk-YSMKPNYZ.cjs} +7 -7
  29. package/dist/{chunk-P5QS2625.cjs.map → chunk-YSMKPNYZ.cjs.map} +1 -1
  30. package/dist/components/case-studies/index.cjs +8 -8
  31. package/dist/components/case-studies/index.js +2 -2
  32. package/dist/components/chart.d.ts +1 -1
  33. package/dist/components/chat/index.cjs +2 -2
  34. package/dist/components/chat/index.js +1 -1
  35. package/dist/components/chat/utils/execute-navigation.d.ts.map +1 -1
  36. package/dist/components/contact/index.cjs +3 -3
  37. package/dist/components/contact/index.js +2 -2
  38. package/dist/components/docs/index.cjs +5 -5
  39. package/dist/components/docs/index.js +4 -4
  40. package/dist/components/embeds/index.cjs +3 -3
  41. package/dist/components/embeds/index.js +2 -2
  42. package/dist/components/faq/faq-document-page.d.ts +39 -3
  43. package/dist/components/faq/faq-document-page.d.ts.map +1 -1
  44. package/dist/components/faq/faq-section.d.ts.map +1 -1
  45. package/dist/components/faq/index.cjs +3 -3
  46. package/dist/components/faq/index.js +2 -2
  47. package/dist/components/features/index.cjs +2 -2
  48. package/dist/components/features/index.js +1 -1
  49. package/dist/components/features/time-tracker/time-tracker-panel.d.ts +1 -1
  50. package/dist/components/features/time-tracker/time-tracker-panel.d.ts.map +1 -1
  51. package/dist/components/features/time-tracker/types.d.ts +2 -2
  52. package/dist/components/features/time-tracker/types.d.ts.map +1 -1
  53. package/dist/components/index.cjs +172 -172
  54. package/dist/components/index.js +8 -8
  55. package/dist/components/navigation/index.cjs +2 -2
  56. package/dist/components/navigation/index.js +1 -1
  57. package/dist/components/onboarding-guides/index.cjs +23 -23
  58. package/dist/components/onboarding-guides/index.js +3 -3
  59. package/dist/components/related-content/index.cjs +3 -3
  60. package/dist/components/related-content/index.js +2 -2
  61. package/dist/components/tickets/index.cjs +60 -60
  62. package/dist/components/tickets/index.js +3 -3
  63. package/dist/components/ui/dashboard-info-card.d.ts +3 -1
  64. package/dist/components/ui/dashboard-info-card.d.ts.map +1 -1
  65. package/dist/components/ui/index.cjs +2 -2
  66. package/dist/components/ui/index.js +1 -1
  67. package/dist/index.cjs +2 -2
  68. package/dist/index.js +1 -1
  69. package/package.json +1 -1
  70. package/src/components/chat/utils/execute-navigation.ts +15 -1
  71. package/src/components/faq/faq-document-page.tsx +78 -19
  72. package/src/components/faq/faq-section.tsx +23 -8
  73. package/src/components/features/time-tracker/time-tracker-panel.tsx +27 -9
  74. package/src/components/features/time-tracker/types.ts +2 -2
  75. package/src/components/ui/dashboard-info-card.tsx +9 -1
  76. package/src/stories/TimeTracker.stories.tsx +10 -10
  77. package/dist/chunk-HLQQN2H2.js.map +0 -1
  78. package/dist/chunk-KNUY2CAL.cjs.map +0 -1
  79. package/dist/chunk-L4ND4ZAB.cjs.map +0 -1
  80. package/dist/chunk-NS2WLRTI.js.map +0 -1
  81. /package/dist/{chunk-DXOGAFXQ.js.map → chunk-6FZD5KFP.js.map} +0 -0
  82. /package/dist/{chunk-DH2R5ZMA.js.map → chunk-BVDHLEP2.js.map} +0 -0
  83. /package/dist/{chunk-RUJCGYDL.js.map → chunk-FXTT7K3A.js.map} +0 -0
  84. /package/dist/{chunk-PYKMJPWX.js.map → chunk-OZYAAJHM.js.map} +0 -0
  85. /package/dist/{chunk-KYQGJD2Q.js.map → chunk-RM3M3SZ6.js.map} +0 -0
  86. /package/dist/{chunk-3JT6LRGB.js.map → chunk-SPFGSUNE.js.map} +0 -0
  87. /package/dist/{chunk-ZRUQRXCP.js.map → chunk-YI2ACYRX.js.map} +0 -0
@@ -1,10 +1,12 @@
1
1
  "use client";
2
2
  import {
3
+ STICKY_HEADER_OFFSET_PX,
3
4
  ToolIcon,
4
5
  dotColorByVariant,
5
6
  embedAuthedFetch,
6
7
  getEmbedProxyAuth,
7
8
  getSmallPlatformIcon,
9
+ navigateSamePageHash,
8
10
  progressColorByVariant,
9
11
  scrollElementIntoView,
10
12
  toolLabels,
@@ -8024,9 +8026,12 @@ function runNavigation(runtime, href, path, targetPlatform, fallbackNavigate) {
8024
8026
  else window.open(href, "_blank", NEW_TAB_FEATURES);
8025
8027
  return;
8026
8028
  }
8029
+ const target = stripSameOriginToPath(href);
8030
+ if (target.includes("#") && navigateSamePageHash(target, { headerOffset: STICKY_HEADER_OFFSET_PX })) {
8031
+ return;
8032
+ }
8027
8033
  const handled = runtime?.navigation.navigate?.({ href, path, targetPlatform }) ?? false;
8028
8034
  if (!handled) {
8029
- const target = stripSameOriginToPath(href);
8030
8035
  if (fallbackNavigate) fallbackNavigate(target);
8031
8036
  else window.location.assign(target);
8032
8037
  }
@@ -21529,7 +21534,8 @@ function DashboardInfoCard({
21529
21534
  className,
21530
21535
  href,
21531
21536
  tooltip,
21532
- valueClassName
21537
+ valueClassName,
21538
+ subValue
21533
21539
  }) {
21534
21540
  const formattedValue = typeof value === "number" ? value.toLocaleString() : value;
21535
21541
  const cardContent = /* @__PURE__ */ jsxs120(Fragment28, { children: [
@@ -21537,6 +21543,7 @@ function DashboardInfoCard({
21537
21543
  titleSlot ?? /* @__PURE__ */ jsx152("p", { className: "text-h5 text-ods-text-secondary", children: title }),
21538
21544
  /* @__PURE__ */ jsxs120("div", { className: "flex items-center gap-[var(--spacing-system-xs)]", children: [
21539
21545
  /* @__PURE__ */ jsx152("p", { className: cn("text-h2 text-ods-text-primary", valueClassName), children: formattedValue }),
21546
+ subValue && /* @__PURE__ */ jsx152("p", { className: "text-h6 text-ods-text-secondary", children: subValue }),
21540
21547
  percentage !== void 0 && (progressVariant === "warning" || progressVariant === "error" ? /* @__PURE__ */ jsx152(Tag, { variant: progressVariant, label: `${percentage}%` }) : /* @__PURE__ */ jsxs120("p", { className: "text-h4 text-ods-text-secondary", children: [
21541
21548
  "(",
21542
21549
  percentage,
@@ -29138,8 +29145,8 @@ function TimeTrackerPanel({
29138
29145
  runningSince,
29139
29146
  accumulatedMs,
29140
29147
  ticketOptions,
29141
- selectedTicketIds,
29142
- onSelectedTicketsChange,
29148
+ selectedTicketId,
29149
+ onSelectedTicketChange,
29143
29150
  onTicketSearch,
29144
29151
  ticketsLoading,
29145
29152
  notes,
@@ -29163,7 +29170,7 @@ function TimeTrackerPanel({
29163
29170
  const [showValidationError, setShowValidationError] = useState70(false);
29164
29171
  const isRunning = status === "tracking";
29165
29172
  const isActive = status !== "ready";
29166
- const hasContent = selectedTicketIds.length > 0 || notes.trim() !== "";
29173
+ const hasContent = selectedTicketId != null || notes.trim() !== "";
29167
29174
  const showFieldError = isActive && showValidationError && !hasContent;
29168
29175
  useEffect52(() => {
29169
29176
  if (status === "ready") setShowValidationError(false);
@@ -29175,6 +29182,18 @@ function TimeTrackerPanel({
29175
29182
  }
29176
29183
  onSubmit();
29177
29184
  };
29185
+ const handleManualEntry = onManualEntry ? () => {
29186
+ onClose();
29187
+ onManualEntry();
29188
+ } : void 0;
29189
+ const handleEntryClick = onEntryClick ? (entry) => {
29190
+ onClose();
29191
+ onEntryClick(entry);
29192
+ } : void 0;
29193
+ const handleOpenMyTime = onOpenMyTime ? () => {
29194
+ onClose();
29195
+ onOpenMyTime();
29196
+ } : void 0;
29178
29197
  const ticketAutocompleteOptions = ticketOptions.map((t) => ({
29179
29198
  label: t.label,
29180
29199
  value: t.id
@@ -29251,9 +29270,8 @@ function TimeTrackerPanel({
29251
29270
  /* @__PURE__ */ jsx222(
29252
29271
  Autocomplete,
29253
29272
  {
29254
- multiple: true,
29255
- value: selectedTicketIds,
29256
- onChange: onSelectedTicketsChange,
29273
+ value: selectedTicketId,
29274
+ onChange: onSelectedTicketChange,
29257
29275
  options: ticketAutocompleteOptions,
29258
29276
  placeholder: "Assign Ticket",
29259
29277
  loading: ticketsLoading,
@@ -29280,7 +29298,7 @@ function TimeTrackerPanel({
29280
29298
  /* @__PURE__ */ jsxs173("div", { className: "flex flex-col gap-[var(--spacing-system-m)]", children: [
29281
29299
  /* @__PURE__ */ jsxs173("div", { className: "flex flex-col gap-[var(--spacing-system-xs)]", children: [
29282
29300
  /* @__PURE__ */ jsx222("p", { className: "font-mono text-h6 uppercase tracking-wide text-ods-text-secondary", children: "Last Entries" }),
29283
- /* @__PURE__ */ jsx222("div", { className: "overflow-hidden rounded-md border border-ods-border bg-ods-card", children: visibleEntries.length === 0 ? /* @__PURE__ */ jsx222("div", { className: "flex items-center justify-center px-[var(--spacing-system-m)] py-[var(--spacing-system-l)]", children: /* @__PURE__ */ jsx222("p", { className: "text-h6 text-ods-text-secondary", children: "No tracked sessions yet" }) }) : visibleEntries.map((entry) => /* @__PURE__ */ jsx222(LastEntryRow, { entry, onClick: onEntryClick }, entry.id)) })
29301
+ /* @__PURE__ */ jsx222("div", { className: "overflow-hidden rounded-md border border-ods-border bg-ods-card", children: visibleEntries.length === 0 ? /* @__PURE__ */ jsx222("div", { className: "flex items-center justify-center px-[var(--spacing-system-m)] py-[var(--spacing-system-l)]", children: /* @__PURE__ */ jsx222("p", { className: "text-h6 text-ods-text-secondary", children: "No tracked sessions yet" }) }) : visibleEntries.map((entry) => /* @__PURE__ */ jsx222(LastEntryRow, { entry, onClick: handleEntryClick }, entry.id)) })
29284
29302
  ] }),
29285
29303
  /* @__PURE__ */ jsxs173("div", { className: "flex w-full flex-wrap gap-[var(--spacing-system-m)]", children: [
29286
29304
  /* @__PURE__ */ jsx222(
@@ -29288,7 +29306,7 @@ function TimeTrackerPanel({
29288
29306
  {
29289
29307
  variant: "outline",
29290
29308
  className: "min-w-0 flex-1",
29291
- onClick: onManualEntry,
29309
+ onClick: handleManualEntry,
29292
29310
  disabled: !onManualEntry,
29293
29311
  leftIcon: /* @__PURE__ */ jsx222(PlusCircleIcon, { className: "text-ods-text-secondary" }),
29294
29312
  children: "Manual Entry"
@@ -29298,7 +29316,7 @@ function TimeTrackerPanel({
29298
29316
  SplitButton,
29299
29317
  {
29300
29318
  variant: "outline",
29301
- onClick: onOpenMyTime,
29319
+ onClick: handleOpenMyTime,
29302
29320
  disabled: !onOpenMyTime && !onOpenMyTimeMenu,
29303
29321
  mainDisabled: !onOpenMyTime,
29304
29322
  groupAriaLabel: "Open my time",
@@ -49047,4 +49065,4 @@ export {
49047
49065
  LogsList,
49048
49066
  assets
49049
49067
  };
49050
- //# sourceMappingURL=chunk-NS2WLRTI.js.map
49068
+ //# sourceMappingURL=chunk-66JU4VP2.js.map