@flamingo-stack/openframe-frontend-core 0.0.280 → 0.0.281-snapshot.20260617191933

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 (59) hide show
  1. package/dist/{chunk-CBVCOXC5.cjs → chunk-2OW3PADG.cjs} +25 -25
  2. package/dist/{chunk-CBVCOXC5.cjs.map → chunk-2OW3PADG.cjs.map} +1 -1
  3. package/dist/{chunk-PE5AMPHQ.js → chunk-ACCHFWQ4.js} +2 -2
  4. package/dist/{chunk-IIS4LQEO.cjs → chunk-E74J226M.cjs} +34 -34
  5. package/dist/{chunk-IIS4LQEO.cjs.map → chunk-E74J226M.cjs.map} +1 -1
  6. package/dist/{chunk-Y2ZFRZ5Q.js → chunk-FHHNA6WC.js} +2 -2
  7. package/dist/{chunk-U72ACGRR.cjs → chunk-GEKA6JTQ.cjs} +6 -6
  8. package/dist/{chunk-U72ACGRR.cjs.map → chunk-GEKA6JTQ.cjs.map} +1 -1
  9. package/dist/{chunk-23DPR7HU.cjs → chunk-I4WZC4GQ.cjs} +10 -10
  10. package/dist/{chunk-23DPR7HU.cjs.map → chunk-I4WZC4GQ.cjs.map} +1 -1
  11. package/dist/{chunk-ADJKXYCZ.cjs → chunk-JDJOO3KD.cjs} +53 -4
  12. package/dist/chunk-JDJOO3KD.cjs.map +1 -0
  13. package/dist/{chunk-QHTJTSHT.js → chunk-S7HJ3IRR.js} +52 -3
  14. package/dist/chunk-S7HJ3IRR.js.map +1 -0
  15. package/dist/{chunk-KLBB2J7W.js → chunk-X53VKNLW.js} +2 -2
  16. package/dist/{chunk-5ZOWHCFN.js → chunk-YRXG2UK7.js} +2 -2
  17. package/dist/components/chat/chat-ticket-list.d.ts +4 -0
  18. package/dist/components/chat/chat-ticket-list.d.ts.map +1 -1
  19. package/dist/components/chat/entity-cards/chat-ticket-item.d.ts +4 -1
  20. package/dist/components/chat/entity-cards/chat-ticket-item.d.ts.map +1 -1
  21. package/dist/components/chat/index.cjs +4 -2
  22. package/dist/components/chat/index.cjs.map +1 -1
  23. package/dist/components/chat/index.js +3 -1
  24. package/dist/components/chat/model-display.d.ts +15 -1
  25. package/dist/components/chat/model-display.d.ts.map +1 -1
  26. package/dist/components/contact/index.cjs +3 -3
  27. package/dist/components/contact/index.js +2 -2
  28. package/dist/components/faq/index.cjs +3 -3
  29. package/dist/components/faq/index.js +2 -2
  30. package/dist/components/features/index.cjs +2 -2
  31. package/dist/components/features/index.js +1 -1
  32. package/dist/components/index.cjs +55 -53
  33. package/dist/components/index.cjs.map +1 -1
  34. package/dist/components/index.js +6 -4
  35. package/dist/components/index.js.map +1 -1
  36. package/dist/components/navigation/index.cjs +2 -2
  37. package/dist/components/navigation/index.js +1 -1
  38. package/dist/components/related-content/index.cjs +3 -3
  39. package/dist/components/related-content/index.js +2 -2
  40. package/dist/components/tickets/index.cjs +52 -52
  41. package/dist/components/tickets/index.js +3 -3
  42. package/dist/components/ui/index.cjs +4 -2
  43. package/dist/components/ui/index.cjs.map +1 -1
  44. package/dist/components/ui/index.js +3 -1
  45. package/dist/index.cjs +4 -2
  46. package/dist/index.cjs.map +1 -1
  47. package/dist/index.js +3 -1
  48. package/package.json +1 -1
  49. package/src/components/chat/chat-ticket-list.tsx +19 -1
  50. package/src/components/chat/entity-cards/chat-ticket-item.tsx +32 -2
  51. package/src/components/chat/model-display.tsx +36 -1
  52. package/src/stories/ChatContainer.stories.tsx +30 -0
  53. package/src/stories/ChatTicketList.stories.tsx +9 -0
  54. package/dist/chunk-ADJKXYCZ.cjs.map +0 -1
  55. package/dist/chunk-QHTJTSHT.js.map +0 -1
  56. /package/dist/{chunk-PE5AMPHQ.js.map → chunk-ACCHFWQ4.js.map} +0 -0
  57. /package/dist/{chunk-Y2ZFRZ5Q.js.map → chunk-FHHNA6WC.js.map} +0 -0
  58. /package/dist/{chunk-KLBB2J7W.js.map → chunk-X53VKNLW.js.map} +0 -0
  59. /package/dist/{chunk-5ZOWHCFN.js.map → chunk-YRXG2UK7.js.map} +0 -0
@@ -3425,7 +3425,29 @@ import * as React6 from "react";
3425
3425
  import { ChevronRight as ChevronRight2 } from "lucide-react";
3426
3426
  import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
3427
3427
  var ChatTicketItem = React6.forwardRef(
3428
- ({ className, ticket, onClick, ...props }, ref) => {
3428
+ ({ className, ticket, onClick, isLoading = false, ...props }, ref) => {
3429
+ if (isLoading) {
3430
+ return /* @__PURE__ */ jsxs22(
3431
+ "div",
3432
+ {
3433
+ "aria-hidden": true,
3434
+ className: cn(
3435
+ "flex items-center gap-4 w-full h-20 px-4",
3436
+ "bg-ods-card border-b border-ods-border",
3437
+ className
3438
+ ),
3439
+ children: [
3440
+ /* @__PURE__ */ jsxs22("div", { className: "flex flex-col justify-center flex-1 min-w-0 gap-1", children: [
3441
+ /* @__PURE__ */ jsx26(Skeleton, { className: "h-5 w-1/2" }),
3442
+ /* @__PURE__ */ jsx26(Skeleton, { className: "h-4 w-1/3" })
3443
+ ] }),
3444
+ /* @__PURE__ */ jsx26(Skeleton, { className: "h-8 w-20 rounded-r-md shrink-0" }),
3445
+ /* @__PURE__ */ jsx26(Skeleton, { className: "size-12 rounded-md shrink-0" })
3446
+ ]
3447
+ }
3448
+ );
3449
+ }
3450
+ if (!ticket) return null;
3429
3451
  const statusTagProps = resolveStatusTagProps({
3430
3452
  status: ticket.status,
3431
3453
  statusKind: ticket.statusKind,
@@ -3496,7 +3518,7 @@ function getMask(top, bottom) {
3496
3518
  return "none";
3497
3519
  }
3498
3520
  var ChatTicketList = React7.forwardRef(
3499
- ({ className, tickets, onTicketClick, ...props }, ref) => {
3521
+ ({ className, tickets, onTicketClick, isLoading = false, skeletonCount = 5, ...props }, ref) => {
3500
3522
  const scrollRef = React7.useRef(null);
3501
3523
  const [fadeTop, setFadeTop] = React7.useState(false);
3502
3524
  const [fadeBottom, setFadeBottom] = React7.useState(false);
@@ -3510,6 +3532,15 @@ var ChatTicketList = React7.forwardRef(
3510
3532
  React7.useLayoutEffect(() => {
3511
3533
  updateFade();
3512
3534
  }, [ticketCount, updateFade]);
3535
+ if (isLoading) {
3536
+ return /* @__PURE__ */ jsxs23("div", { ref, className: cn("flex flex-col gap-2 min-h-0", className), ...props, children: [
3537
+ /* @__PURE__ */ jsx27("p", { className: "text-h5 text-ods-text-secondary shrink-0", children: "Your Chats:" }),
3538
+ /* @__PURE__ */ jsx27("div", { className: "border border-ods-border rounded-md flex-1 min-h-0 overflow-hidden", children: Array.from({ length: skeletonCount }).map((_, i) => (
3539
+ // eslint-disable-next-line react/no-array-index-key
3540
+ /* @__PURE__ */ jsx27(ChatTicketItem, { isLoading: true }, i)
3541
+ )) })
3542
+ ] });
3543
+ }
3513
3544
  if (tickets.length === 0) return null;
3514
3545
  const mask = getMask(fadeTop, fadeBottom);
3515
3546
  return /* @__PURE__ */ jsxs23("div", { ref, className: cn("flex flex-col gap-2 min-h-0", className), ...props, children: [
@@ -5170,6 +5201,23 @@ function BreakdownRow({
5170
5201
  ] });
5171
5202
  }
5172
5203
  ModelDisplay.displayName = "ModelDisplay";
5204
+ var ModelDisplaySkeleton = React16.forwardRef(
5205
+ ({ className, showTokens = false, ...props }, ref) => /* @__PURE__ */ jsxs34(
5206
+ "div",
5207
+ {
5208
+ ref,
5209
+ "aria-hidden": true,
5210
+ className: cn("flex items-center gap-1 text-sm", className),
5211
+ ...props,
5212
+ children: [
5213
+ /* @__PURE__ */ jsx41(Skeleton, { className: "w-4 h-5 rounded-sm shrink-0" }),
5214
+ /* @__PURE__ */ jsx41(Skeleton, { className: "h-5 w-24" }),
5215
+ showTokens && /* @__PURE__ */ jsx41(Skeleton, { className: "h-3 w-32 ml-auto" })
5216
+ ]
5217
+ }
5218
+ )
5219
+ );
5220
+ ModelDisplaySkeleton.displayName = "ModelDisplaySkeleton";
5173
5221
 
5174
5222
  // src/components/chat/chat-composer.tsx
5175
5223
  import { jsx as jsx42, jsxs as jsxs35 } from "react/jsx-runtime";
@@ -39791,6 +39839,7 @@ export {
39791
39839
  HoverCardTrigger,
39792
39840
  HoverCardContent,
39793
39841
  ModelDisplay,
39842
+ ModelDisplaySkeleton,
39794
39843
  ChatComposer,
39795
39844
  ChatArchivePage,
39796
39845
  DialogListItem,
@@ -40249,4 +40298,4 @@ export {
40249
40298
  LogsList,
40250
40299
  assets
40251
40300
  };
40252
- //# sourceMappingURL=chunk-QHTJTSHT.js.map
40301
+ //# sourceMappingURL=chunk-S7HJ3IRR.js.map