@flamingo-stack/openframe-frontend-core 0.0.854 → 0.0.855

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 (133) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/{case-study-card-WP5Z234Q.cjs → case-study-card-6VAMNHLU.cjs} +8 -8
  3. package/dist/{chunk-FBANHIAG.cjs → chunk-2JCA7BRK.cjs} +19 -19
  4. package/dist/{chunk-7MOBD44H.cjs → chunk-2MCPK6AX.cjs} +28 -28
  5. package/dist/{chunk-GVHCQRUE.cjs → chunk-2P72KAG5.cjs} +23 -23
  6. package/dist/{chunk-YY3WP2YQ.cjs → chunk-3GJ75OUL.cjs} +183 -183
  7. package/dist/{chunk-FJXSKMQJ.cjs → chunk-4H3J57AN.cjs} +25 -25
  8. package/dist/{chunk-6GWRPW6B.cjs → chunk-5NK3FUHY.cjs} +4 -4
  9. package/dist/{chunk-DLTPSP5F.cjs → chunk-5TYG5JNB.cjs} +2 -2
  10. package/dist/{chunk-63ZV3UGG.cjs → chunk-65NMKAPQ.cjs} +12 -12
  11. package/dist/{chunk-IGVAPIEW.cjs → chunk-6C4OR4MZ.cjs} +2 -2
  12. package/dist/{chunk-GG466XFQ.cjs → chunk-6DMH4GXN.cjs} +30 -5
  13. package/dist/{chunk-S5P6CF5R.cjs → chunk-6VVQJU76.cjs} +54 -54
  14. package/dist/{chunk-2IJMHBOK.cjs → chunk-77GX573I.cjs} +9 -9
  15. package/dist/{chunk-D2XGRWPW.cjs → chunk-AOOHJLXS.cjs} +90 -90
  16. package/dist/{chunk-O3EKOXFZ.cjs → chunk-AYMY2VNB.cjs} +37 -43
  17. package/dist/{chunk-RMI6O3AE.cjs → chunk-BSPIGZCC.cjs} +36 -36
  18. package/dist/{chunk-JKBNK5U6.cjs → chunk-D6GEMVHD.cjs} +3 -3
  19. package/dist/{chunk-7J5NSWJG.cjs → chunk-DPNFI5XM.cjs} +100 -100
  20. package/dist/{chunk-TMPLHUUU.cjs → chunk-DTZ6KASI.cjs} +6 -6
  21. package/dist/{chunk-SSKMGH5O.cjs → chunk-DXVGGWLG.cjs} +10 -10
  22. package/dist/{chunk-5TXE7BXT.cjs → chunk-EOUEUYCQ.cjs} +54 -54
  23. package/dist/{chunk-EIHMPQRQ.cjs → chunk-ESGE7CUX.cjs} +14 -14
  24. package/dist/{chunk-ETZFBB7O.cjs → chunk-EXQSIX2I.cjs} +4 -4
  25. package/dist/{chunk-3WXHPD6N.cjs → chunk-F33EAPD2.cjs} +124 -124
  26. package/dist/{chunk-4SSJ3T3N.cjs → chunk-GK577ZLJ.cjs} +3 -13
  27. package/dist/{chunk-BAA3YCLT.cjs → chunk-GZYRDLJW.cjs} +103 -103
  28. package/dist/{chunk-VMAOZA2V.cjs → chunk-HML3JUXF.cjs} +324 -322
  29. package/dist/{chunk-4O5N5CGK.cjs → chunk-J3CFRGZ2.cjs} +17 -17
  30. package/dist/{chunk-LQDAB5V5.cjs → chunk-KZAQPRTA.cjs} +9 -11
  31. package/dist/{chunk-6DCUGIGU.cjs → chunk-LSLRJJFP.cjs} +2 -2
  32. package/dist/{chunk-ETQNMR2K.cjs → chunk-MINFN3IG.cjs} +8 -8
  33. package/dist/{chunk-ONYANAMA.cjs → chunk-MX52LZ6M.cjs} +6 -6
  34. package/dist/{chunk-OH5TXFRR.cjs → chunk-O4CPT3RK.cjs} +7 -7
  35. package/dist/{chunk-ZDPPNHA2.cjs → chunk-OTHQ2KQW.cjs} +3 -3
  36. package/dist/{chunk-5HMENXSR.cjs → chunk-PCQ2HKU3.cjs} +5 -5
  37. package/dist/{chunk-6XU3RCK3.cjs → chunk-QPHXYE5P.cjs} +27 -27
  38. package/dist/{chunk-UPQ4MAR7.cjs → chunk-QZXCUY36.cjs} +53 -53
  39. package/dist/{chunk-5OENPMRU.cjs → chunk-RIJU4HZ2.cjs} +51 -55
  40. package/dist/{chunk-KKFDRCQF.cjs → chunk-RY7INTYU.cjs} +14 -1
  41. package/dist/{chunk-GI3MMBP3.cjs → chunk-SQ7YHWEP.cjs} +228 -15
  42. package/dist/{chunk-ACPOJE32.cjs → chunk-STV6VJ3U.cjs} +21 -21
  43. package/dist/{chunk-QD727QFI.cjs → chunk-T54I5ZZY.cjs} +7 -7
  44. package/dist/{chunk-4LTLEUY5.cjs → chunk-TW5Y4D5I.cjs} +7 -7
  45. package/dist/{chunk-FX35L4Y6.cjs → chunk-XCQ5I27Z.cjs} +3 -3
  46. package/dist/{chunk-AZEO7HBB.cjs → chunk-Y44EF4JW.cjs} +2 -2
  47. package/dist/{chunk-KA3L6D5N.cjs → chunk-YSXVRTGT.cjs} +9 -12
  48. package/dist/{chunk-PRJZMZ3X.cjs → chunk-ZUGJLCYP.cjs} +678 -678
  49. package/dist/{chunk-H3GBPYPS.cjs → chunk-ZYAVIRQV.cjs} +25 -25
  50. package/dist/{cloud-tenants-5RNK4ZAT.cjs → cloud-tenants-2XFIDDGU.cjs} +28 -29
  51. package/dist/components/case-studies/index.cjs +44 -45
  52. package/dist/components/chat/chat-message-row.d.ts +1 -1
  53. package/dist/components/chat/chat-message-row.d.ts.map +1 -1
  54. package/dist/components/chat/chat-message-row.js +4 -4
  55. package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts +7 -13
  56. package/dist/components/chat/entity-cards/use-cover-image-fallback.d.ts.map +1 -1
  57. package/dist/components/chat/entity-cards/use-cover-image-fallback.js +2 -8
  58. package/dist/components/chat/hooks/use-chat-attachment-image-gallery.d.ts.map +1 -1
  59. package/dist/components/chat/hooks/use-chat-attachment-image-gallery.js +8 -4
  60. package/dist/components/chat/index.cjs +22 -23
  61. package/dist/components/contact/index.cjs +29 -30
  62. package/dist/components/docs/index.cjs +32 -33
  63. package/dist/components/embeds/index.cjs +29 -30
  64. package/dist/components/faq/index.cjs +30 -31
  65. package/dist/components/features/index.cjs +28 -29
  66. package/dist/components/help-center-pages/index.cjs +134 -135
  67. package/dist/components/index.cjs +112 -113
  68. package/dist/components/meeting-scheduler/index.cjs +102 -103
  69. package/dist/components/navigation/index.cjs +31 -32
  70. package/dist/components/onboarding-guides/index.cjs +31 -32
  71. package/dist/components/product-demo/index.cjs +39 -40
  72. package/dist/components/related-content/index.cjs +16 -17
  73. package/dist/components/tickets/index.cjs +35 -36
  74. package/dist/components/ui/entity-image.d.ts +1 -2
  75. package/dist/components/ui/entity-image.d.ts.map +1 -1
  76. package/dist/components/ui/entity-image.js +4 -8
  77. package/dist/components/ui/index.cjs +28 -29
  78. package/dist/components/ui/markdown/base-components.d.ts +0 -13
  79. package/dist/components/ui/markdown/base-components.d.ts.map +1 -1
  80. package/dist/components/ui/markdown/base-components.js +7 -7
  81. package/dist/components/ui/square-avatar.d.ts.map +1 -1
  82. package/dist/components/ui/square-avatar.js +3 -8
  83. package/dist/{devices-44O5PZOW.cjs → devices-O3DYGIZB.cjs} +29 -30
  84. package/dist/embed-shims/index.cjs +3 -2
  85. package/dist/embed-shims/next-image.cjs +3 -2
  86. package/dist/embed-shims/next-image.d.ts +2 -0
  87. package/dist/embed-shims/next-image.d.ts.map +1 -1
  88. package/dist/embed-shims/next-image.js +14 -4
  89. package/dist/{embeddable-chat-W3CLMGC3.cjs → embeddable-chat-QD7NFD2H.cjs} +100 -101
  90. package/dist/hooks/index.cjs +23 -16
  91. package/dist/hooks/index.d.ts +1 -0
  92. package/dist/hooks/index.d.ts.map +1 -1
  93. package/dist/hooks/index.js +1 -0
  94. package/dist/hooks/use-authed-asset-src.d.ts +77 -2
  95. package/dist/hooks/use-authed-asset-src.d.ts.map +1 -1
  96. package/dist/hooks/use-authed-asset-src.js +185 -73
  97. package/dist/hooks/use-authed-image-src.d.ts +11 -4
  98. package/dist/hooks/use-authed-image-src.d.ts.map +1 -1
  99. package/dist/hooks/use-authed-image-src.js +6 -2
  100. package/dist/hooks/use-image-fallback.d.ts +16 -0
  101. package/dist/hooks/use-image-fallback.d.ts.map +1 -0
  102. package/dist/hooks/use-image-fallback.js +14 -0
  103. package/dist/index.cjs +40 -36
  104. package/dist/{knowledge-UUU3WVO3.cjs → knowledge-K7AFNZNO.cjs} +29 -30
  105. package/dist/{logs-DFHNSODA.cjs → logs-MZ3BR2FR.cjs} +35 -36
  106. package/dist/{policies-RGFUGDBP.cjs → policies-XVKQ2W7S.cjs} +32 -33
  107. package/dist/{remote-session-U3H77HKR.cjs → remote-session-VOZJXDM4.cjs} +13 -14
  108. package/dist/{scripts-KOVO5DHW.cjs → scripts-IBPMBS6G.cjs} +35 -36
  109. package/dist/{software-update-4EKHVV5W.cjs → software-update-PXTANMAO.cjs} +32 -33
  110. package/dist/{tickets-board-YIFOVMDX.cjs → tickets-board-POYZS7BW.cjs} +16 -17
  111. package/dist/utils/app-origins.d.ts +3 -6
  112. package/dist/utils/app-origins.d.ts.map +1 -1
  113. package/dist/utils/app-origins.js +8 -1
  114. package/dist/utils/embed-authed-fetch.d.ts +46 -26
  115. package/dist/utils/embed-authed-fetch.d.ts.map +1 -1
  116. package/dist/utils/embed-authed-fetch.js +24 -8
  117. package/dist/utils/index.cjs +4 -1
  118. package/dist/{video-file-player-XMOB234V.cjs → video-file-player-RIOT24NT.cjs} +3 -4
  119. package/package.json +1 -1
  120. package/src/components/chat/chat-message-row.tsx +8 -7
  121. package/src/components/chat/entity-cards/use-cover-image-fallback.ts +8 -28
  122. package/src/components/chat/hooks/use-chat-attachment-image-gallery.tsx +19 -8
  123. package/src/components/ui/entity-image.tsx +4 -12
  124. package/src/components/ui/markdown/base-components.tsx +15 -20
  125. package/src/components/ui/square-avatar.tsx +5 -8
  126. package/src/embed-shims/next-image.tsx +34 -3
  127. package/src/hooks/index.ts +1 -0
  128. package/src/hooks/use-authed-asset-src.ts +323 -107
  129. package/src/hooks/use-authed-image-src.ts +15 -5
  130. package/src/hooks/use-image-fallback.ts +31 -0
  131. package/src/utils/app-origins.ts +12 -7
  132. package/src/utils/embed-authed-fetch.ts +71 -32
  133. package/dist/chunk-YSDB6HGQ.cjs +0 -102
@@ -3,7 +3,7 @@
3
3
 
4
4
 
5
5
 
6
- var _chunk5HMENXSRcjs = require('./chunk-5HMENXSR.cjs');
6
+ var _chunkPCQ2HKU3cjs = require('./chunk-PCQ2HKU3.cjs');
7
7
 
8
8
 
9
9
 
@@ -13,7 +13,7 @@ var _chunk5HMENXSRcjs = require('./chunk-5HMENXSR.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkACPOJE32cjs = require('./chunk-ACPOJE32.cjs');
16
+ var _chunkSTV6VJ3Ucjs = require('./chunk-STV6VJ3U.cjs');
17
17
 
18
18
 
19
19
 
@@ -71,16 +71,16 @@ var _chunkSKI6NKOEcjs = require('./chunk-SKI6NKOE.cjs');
71
71
 
72
72
 
73
73
 
74
- var _chunkKA3L6D5Ncjs = require('./chunk-KA3L6D5N.cjs');
74
+ var _chunkYSXVRTGTcjs = require('./chunk-YSXVRTGT.cjs');
75
75
 
76
76
 
77
- var _chunkSSKMGH5Ocjs = require('./chunk-SSKMGH5O.cjs');
77
+ var _chunkDXVGGWLGcjs = require('./chunk-DXVGGWLG.cjs');
78
78
 
79
79
 
80
- var _chunk4SSJ3T3Ncjs = require('./chunk-4SSJ3T3N.cjs');
80
+ var _chunkGK577ZLJcjs = require('./chunk-GK577ZLJ.cjs');
81
81
 
82
82
 
83
- var _chunkYSDB6HGQcjs = require('./chunk-YSDB6HGQ.cjs');
83
+ var _chunkSQ7YHWEPcjs = require('./chunk-SQ7YHWEP.cjs');
84
84
 
85
85
 
86
86
 
@@ -137,7 +137,7 @@ function BoardColumnHeader({
137
137
  }) {
138
138
  const count = _nullishCoalesce(column.total, () => ( column.tickets.length));
139
139
  const tagStatus = _nullishCoalesce(column.statusKey, () => ( column.id));
140
- const useStatusVariant = _chunkACPOJE32cjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
140
+ const useStatusVariant = _chunkSTV6VJ3Ucjs.resolveTicketStatus.call(void 0, tagStatus) !== null;
141
141
  const actionClass = "h-8 w-8 p-0 content-md:h-8 content-md:w-8";
142
142
  if (collapsed) {
143
143
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-full flex-col items-center gap-[var(--spacing-system-xsf)]", children: [
@@ -153,7 +153,7 @@ function BoardColumnHeader({
153
153
  }
154
154
  ),
155
155
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
156
- _chunkACPOJE32cjs.TicketStatusTag,
156
+ _chunkSTV6VJ3Ucjs.TicketStatusTag,
157
157
  {
158
158
  status: tagStatus,
159
159
  label: column.label,
@@ -166,11 +166,11 @@ function BoardColumnHeader({
166
166
  }
167
167
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex items-center gap-[var(--spacing-system-xsf)]", children: [
168
168
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
169
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
169
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.TicketStatusTag, { status: tagStatus, label: column.label, color: useStatusVariant ? void 0 : column.color }),
170
170
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "text-h5", style: useStatusVariant ? void 0 : { color: column.color }, children: count })
171
171
  ] }),
172
172
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex shrink-0 items-center gap-[var(--spacing-system-xxs)]", children: [
173
- column.tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.TouchFriendlyTooltip, { content: column.tooltip, side: "bottom", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "transparent", size: "icon", className: actionClass, "aria-label": column.tooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRHC2FRVEcjs.InfoCircleIcon, { className: "h-6 w-6 text-ods-text-secondary" }) }) }),
173
+ column.tooltip && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.TouchFriendlyTooltip, { content: column.tooltip, side: "bottom", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "transparent", size: "icon", className: actionClass, "aria-label": column.tooltip, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkRHC2FRVEcjs.InfoCircleIcon, { className: "h-6 w-6 text-ods-text-secondary" }) }) }),
174
174
  onToggleCollapse && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
175
175
  _chunkFCZAUK4Dcjs.Button,
176
176
  {
@@ -224,7 +224,7 @@ var _react = require('react');
224
224
 
225
225
  function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
226
226
  const [expanded, setExpanded] = _react.useState.call(void 0, false);
227
- const { innerRef, containerStyle } = _chunkACPOJE32cjs.useCollapsible.call(void 0, { expanded });
227
+ const { innerRef, containerStyle } = _chunkSTV6VJ3Ucjs.useCollapsible.call(void 0, { expanded });
228
228
  const isAdmin = pendingApproval.approvalType === "ADMIN";
229
229
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "pointer-events-auto flex flex-col", children: [
230
230
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "row", type: "button", onClick: () => setExpanded((v) => !v), "aria-expanded": expanded, children: [
@@ -244,7 +244,7 @@ function BoardTicketApproval({ pendingApproval, onApprove, onReject }) {
244
244
  expanded ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3MRRIHC2cjs.Chevron02UpIcon, { className: "size-4 shrink-0 text-ods-text-secondary" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSKI6NKOEcjs.Chevron02DownIcon, { className: "size-4 shrink-0 text-ods-text-secondary" })
245
245
  ] }),
246
246
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { style: containerStyle, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: innerRef, className: "pt-[var(--spacing-system-xs)]", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
247
- _chunkACPOJE32cjs.ApprovalBatchMessage,
247
+ _chunkSTV6VJ3Ucjs.ApprovalBatchMessage,
248
248
  {
249
249
  className: "mb-0",
250
250
  data: {
@@ -313,7 +313,7 @@ function cardPositions(root) {
313
313
  }
314
314
  function useLaneScrollAnchor(scrollRef, tickets) {
315
315
  const positionsRef = _react.useRef.call(void 0, []);
316
- _chunkYSDB6HGQcjs.useIsomorphicLayoutEffect.call(void 0, () => {
316
+ _chunkSQ7YHWEPcjs.useIsomorphicLayoutEffect.call(void 0, () => {
317
317
  const root = scrollRef.current;
318
318
  if (!root) return;
319
319
  const previous = positionsRef.current;
@@ -419,7 +419,7 @@ function TicketCardBody({
419
419
  onLinkClick
420
420
  }) {
421
421
  const showNewMessage = !!ticket.hasNewMessage && !!columnColor;
422
- const newMessageTextColor = columnColor ? _chunkSSKMGH5Ocjs.getReadableTextColor.call(void 0, columnColor) : void 0;
422
+ const newMessageTextColor = columnColor ? _chunkDXVGGWLGcjs.getReadableTextColor.call(void 0, columnColor) : void 0;
423
423
  const showDeviceRow = !!(_optionalChain([ticket, 'access', _11 => _11.deviceHostnames, 'optionalAccess', _12 => _12.length]) || ticket.organizationName);
424
424
  const deviceText = [_optionalChain([ticket, 'access', _13 => _13.deviceHostnames, 'optionalAccess', _14 => _14.join, 'call', _15 => _15(", ")]), ticket.organizationName].filter(Boolean).join(", ");
425
425
  const hasRightSection = !!(ticket.priority || ticket.agent || _optionalChain([ticket, 'access', _16 => _16.assignees, 'optionalAccess', _17 => _17.length]) || renderAssignSlot);
@@ -437,7 +437,7 @@ function TicketCardBody({
437
437
  role: "img",
438
438
  "aria-label": `Owned by ${ticket.agent === "fae" ? "Fae" : "Mingo"}`,
439
439
  className: "flex size-8 shrink-0 items-center justify-center overflow-hidden rounded-full border border-ods-border bg-ods-bg",
440
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkACPOJE32cjs.AgentMark, { agent: ticket.agent, className: ticket.agent === "fae" ? "size-full" : "size-5" })
440
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkSTV6VJ3Ucjs.AgentMark, { agent: ticket.agent, className: ticket.agent === "fae" ? "size-full" : "size-5" })
441
441
  }
442
442
  ),
443
443
  renderAssignSlot ? renderAssignSlot(ticket) : _optionalChain([ticket, 'access', _18 => _18.assignees, 'optionalAccess', _19 => _19.length]) ? /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex -space-x-2", children: [
@@ -450,7 +450,7 @@ function TicketCardBody({
450
450
  },
451
451
  a.id
452
452
  ) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
453
- _chunkKA3L6D5Ncjs.SquareAvatar,
453
+ _chunkYSXVRTGTcjs.SquareAvatar,
454
454
  {
455
455
  src: a.avatarUrl,
456
456
  alt: _nullishCoalesce(_nullishCoalesce(a.name, () => ( a.initials)), () => ( a.id)),
@@ -467,8 +467,8 @@ function TicketCardBody({
467
467
  ] })
468
468
  ] }) : null
469
469
  ] }) : null;
470
- const timestampLabel = ticket.createdAt ? _chunkACPOJE32cjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
471
- const tooltipLabel = ticket.createdAt ? _chunkACPOJE32cjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
470
+ const timestampLabel = ticket.createdAt ? _chunkSTV6VJ3Ucjs.formatTicketRelativeTime.call(void 0, ticket.createdAt) : null;
471
+ const tooltipLabel = ticket.createdAt ? _chunkSTV6VJ3Ucjs.formatTicketFullTimestamp.call(void 0, ticket.createdAt) : null;
472
472
  const metaLabel = [ticket.ticketNumber || null, timestampLabel].filter(Boolean).join(" \u2022 ");
473
473
  const meta = href ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
474
474
  _chunkV45KLJQPcjs.next_link_default,
@@ -516,7 +516,7 @@ function TicketCardBody({
516
516
  }
517
517
  ),
518
518
  showNewMessage && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
519
- _chunkKA3L6D5Ncjs.Tag,
519
+ _chunkYSXVRTGTcjs.Tag,
520
520
  {
521
521
  label: "New Message",
522
522
  icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkJSIUVERGcjs.MessagesIcon, { size: 16, color: newMessageTextColor }),
@@ -744,8 +744,8 @@ function TicketTagRow({ tags }) {
744
744
  const visible = tags.slice(0, MAX_VISIBLE_TAGS);
745
745
  const hidden = tags.length - visible.length;
746
746
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex h-8 flex-wrap items-start gap-[var(--spacing-system-xxs)] overflow-clip", children: [
747
- visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.Tag, { variant: "outline", label: tag }, tag)),
748
- hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKA3L6D5Ncjs.Tag, { variant: "outline", label: `+${hidden}` })
747
+ visible.map((tag) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.Tag, { variant: "outline", label: tag }, tag)),
748
+ hidden > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYSXVRTGTcjs.Tag, { variant: "outline", label: `+${hidden}` })
749
749
  ] });
750
750
  }
751
751
  function TicketCardSkeleton({ className, ...props }) {
@@ -1079,7 +1079,7 @@ function EmptyState({ columnId, touchMode }) {
1079
1079
  // src/components/features/board/use-board-collapse.ts
1080
1080
 
1081
1081
  function useBoardCollapse(storageKey, initial) {
1082
- const [persisted, setPersisted] = _chunk5HMENXSRcjs.useLocalStorage.call(void 0, _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")), {});
1082
+ const [persisted, setPersisted] = _chunkPCQ2HKU3cjs.useLocalStorage.call(void 0, _nullishCoalesce(storageKey, () => ( "__board_collapse_unused__")), {});
1083
1083
  const [memory, setMemory] = _react.useState.call(void 0, _nullishCoalesce(initial, () => ( {})));
1084
1084
  const collapsed = storageKey ? persisted : memory;
1085
1085
  const setMap = storageKey ? setPersisted : setMemory;
@@ -1223,7 +1223,7 @@ var DROP_EASING = "cubic-bezier(0.2, 0, 0, 1)";
1223
1223
  var DRAG_PREVIEW_Z = 1200;
1224
1224
  var ARROW_KEYS = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"];
1225
1225
  function Board(props) {
1226
- const dragAndDropEnabled = _chunk4SSJ3T3Ncjs.useMediaQuery.call(void 0, _chunk5HMENXSRcjs.DRAG_AND_DROP_MEDIA_QUERY);
1226
+ const dragAndDropEnabled = _chunkGK577ZLJcjs.useMediaQuery.call(void 0, _chunkPCQ2HKU3cjs.DRAG_AND_DROP_MEDIA_QUERY);
1227
1227
  if (dragAndDropEnabled === void 0) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BoardShell, { ...props });
1228
1228
  return dragAndDropEnabled ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DragBoard, { ...props }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, TouchBoard, { ...props });
1229
1229
  }
@@ -1280,7 +1280,7 @@ function DragBoard({
1280
1280
  onThumbPointerMove,
1281
1281
  onThumbPointerUp,
1282
1282
  onThumbPointerCancel
1283
- } = _chunk5HMENXSRcjs.useHorizontalScrollbar.call(void 0, );
1283
+ } = _chunkPCQ2HKU3cjs.useHorizontalScrollbar.call(void 0, );
1284
1284
  const columnsRef = _react.useRef.call(void 0, columns);
1285
1285
  const onChangeRef = _react.useRef.call(void 0, onChange);
1286
1286
  const boardRef = _react.useRef.call(void 0, null);
@@ -1469,7 +1469,7 @@ function DragBoard({
1469
1469
  })
1470
1470
  );
1471
1471
  }, []);
1472
- _chunkYSDB6HGQcjs.useIsomorphicLayoutEffect.call(void 0, () => {
1472
+ _chunkSQ7YHWEPcjs.useIsomorphicLayoutEffect.call(void 0, () => {
1473
1473
  if (!landing) return void 0;
1474
1474
  const finish = () => {
1475
1475
  landingTimer.current = null;
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkDLTPSP5Fcjs = require('./chunk-DLTPSP5F.cjs');
4
+ var _chunk5TYG5JNBcjs = require('./chunk-5TYG5JNB.cjs');
5
5
 
6
6
 
7
7
 
@@ -184,14 +184,14 @@ function UnifiedPagination({
184
184
  }, 0);
185
185
  };
186
186
  if (loading) {
187
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDLTPSP5Fcjs.Pagination, { loading: true, currentPage, totalPages, onPageChange: handlePageChange }) });
187
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TYG5JNBcjs.Pagination, { loading: true, currentPage, totalPages, onPageChange: handlePageChange }) });
188
188
  }
189
189
  if (totalPages <= 1) {
190
- return reserveSpace ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none invisible", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkDLTPSP5Fcjs.Pagination, { currentPage: 1, totalPages: 1, onPageChange: () => {
190
+ return reserveSpace ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, "aria-hidden": "true", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "pointer-events-none invisible", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5TYG5JNBcjs.Pagination, { currentPage: 1, totalPages: 1, onPageChange: () => {
191
191
  } }) }) }) : null;
192
192
  }
193
193
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
194
- _chunkDLTPSP5Fcjs.Pagination,
194
+ _chunk5TYG5JNBcjs.Pagination,
195
195
  {
196
196
  currentPage,
197
197
  totalPages,
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkETZFBB7Ocjs = require('./chunk-ETZFBB7O.cjs');
4
+ var _chunkEXQSIX2Icjs = require('./chunk-EXQSIX2I.cjs');
5
5
 
6
6
 
7
7
  var _chunkPMUCEUFQcjs = require('./chunk-PMUCEUFQ.cjs');
@@ -49,7 +49,7 @@ function PaginationControl({
49
49
  );
50
50
  }
51
51
  const handleClick = (event) => {
52
- if (_chunkETZFBB7Ocjs.isModifierClick.call(void 0, event)) return;
52
+ if (_chunkEXQSIX2Icjs.isModifierClick.call(void 0, event)) return;
53
53
  event.preventDefault();
54
54
  onPageChange(page);
55
55
  };
@@ -7,28 +7,28 @@ var _chunk6CJIAC3Bcjs = require('./chunk-6CJIAC3B.cjs');
7
7
  var _chunkUYHKZN5Dcjs = require('./chunk-UYHKZN5D.cjs');
8
8
 
9
9
 
10
- var _chunkJKBNK5U6cjs = require('./chunk-JKBNK5U6.cjs');
10
+ var _chunkD6GEMVHDcjs = require('./chunk-D6GEMVHD.cjs');
11
11
 
12
12
 
13
13
  var _chunkWWUSFOJ7cjs = require('./chunk-WWUSFOJ7.cjs');
14
14
 
15
15
 
16
- var _chunk6DCUGIGUcjs = require('./chunk-6DCUGIGU.cjs');
16
+ var _chunkLSLRJJFPcjs = require('./chunk-LSLRJJFP.cjs');
17
17
 
18
18
 
19
19
 
20
20
 
21
21
 
22
- var _chunkKA3L6D5Ncjs = require('./chunk-KA3L6D5N.cjs');
22
+ var _chunkYSXVRTGTcjs = require('./chunk-YSXVRTGT.cjs');
23
23
 
24
24
 
25
25
  var _chunkRUHKTWGBcjs = require('./chunk-RUHKTWGB.cjs');
26
26
 
27
27
 
28
- var _chunkQD727QFIcjs = require('./chunk-QD727QFI.cjs');
28
+ var _chunkT54I5ZZYcjs = require('./chunk-T54I5ZZY.cjs');
29
29
 
30
30
 
31
- var _chunkKKFDRCQFcjs = require('./chunk-KKFDRCQF.cjs');
31
+ var _chunkRY7INTYUcjs = require('./chunk-RY7INTYU.cjs');
32
32
 
33
33
 
34
34
 
@@ -411,7 +411,7 @@ var Modal = _react.forwardRef.call(void 0,
411
411
  ),
412
412
  role: "dialog",
413
413
  "aria-modal": "true",
414
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ModalContext.Provider, { value: { onClose }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.CollisionBoundaryContext.Provider, { value: null, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkQD727QFIcjs.ViewportBreakpoints, { children }) }) }) })
414
+ children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ModalContext.Provider, { value: { onClose }, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.CollisionBoundaryContext.Provider, { value: null, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkT54I5ZZYcjs.ViewportBreakpoints, { children }) }) }) })
415
415
  }
416
416
  ),
417
417
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, className: "contents" })
@@ -638,13 +638,13 @@ var CHAT_LIST_ITEM_CLASS = _chunk63A4GZMBcjs.cn.call(void 0, _chunk63A4GZMBcjs.B
638
638
  var ChatListItem = _react.forwardRef.call(void 0,
639
639
  ({ className, title, subtitle, leading, trailing, active, loading: loadingProp = false, index = 0, ...props }, ref) => {
640
640
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
641
- const { ref: titleRef, enabled: titleTooltip } = _chunkJKBNK5U6cjs.useClippedLabelTooltip.call(void 0, title);
641
+ const { ref: titleRef, enabled: titleTooltip } = _chunkD6GEMVHDcjs.useClippedLabelTooltip.call(void 0, title);
642
642
  const content = /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
643
643
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 flex-1 flex-col", children: [
644
644
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "span", { className: "flex min-w-0 items-center gap-[var(--spacing-system-xxs)]", children: [
645
645
  leading && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "flex shrink-0 items-center [&_svg]:size-4", children: leading }),
646
646
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: SKELETON_TITLE_WIDTHS[index % SKELETON_TITLE_WIDTHS.length] }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
647
- _chunkKA3L6D5Ncjs.FloatingTooltip,
647
+ _chunkYSXVRTGTcjs.FloatingTooltip,
648
648
  {
649
649
  content: title,
650
650
  side: "top",
@@ -823,7 +823,7 @@ function SlashCommandSuggestions({
823
823
  className
824
824
  ),
825
825
  children: commands.map((cmd, idx) => {
826
- const Icon = _chunkKKFDRCQFcjs.resolveIcon.call(void 0, cmd.iconName);
826
+ const Icon = _chunkRY7INTYUcjs.resolveIcon.call(void 0, cmd.iconName);
827
827
  const legacyMeta = !cmd.iconName && cmd.primarySourceId && resolveSourceIcon ? resolveSourceIcon(cmd.primarySourceId) : void 0;
828
828
  const LegacyIcon = _optionalChain([legacyMeta, 'optionalAccess', _4 => _4.Icon]);
829
829
  const title = _nullishCoalesce(_nullishCoalesce(cmd.label, () => ( _optionalChain([legacyMeta, 'optionalAccess', _5 => _5.label]))), () => ( cmd.id));
@@ -919,7 +919,7 @@ function buildChipEl(token, label, icon) {
919
919
  span.className = "mx-0.5 inline-flex h-9 items-center select-none align-top";
920
920
  span.innerHTML = _server.renderToStaticMarkup.call(void 0,
921
921
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
922
- _chunkKA3L6D5Ncjs.Tag,
922
+ _chunkYSXVRTGTcjs.Tag,
923
923
  {
924
924
  as: "span",
925
925
  variant: "badge",
@@ -1311,7 +1311,7 @@ var ChatInput = _react.forwardRef.call(void 0, (allProps, ref) => {
1311
1311
  className: "flex min-h-11 w-full items-center justify-center gap-[var(--spacing-system-xs)] rounded-md border border-ods-border bg-ods-bg p-[var(--spacing-system-sf)] md:min-h-12",
1312
1312
  children: [
1313
1313
  awaitingTeam && awaitingTeam.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1314
- _chunk6DCUGIGUcjs.AvatarStack,
1314
+ _chunkLSLRJJFPcjs.AvatarStack,
1315
1315
  {
1316
1316
  people: awaitingTeam,
1317
1317
  total: awaitingTeamCount,
@@ -1471,7 +1471,7 @@ ChatInput.displayName = "ChatInput";
1471
1471
 
1472
1472
  // src/utils/format-date.ts
1473
1473
  var INVALID_DATE_PLACEHOLDER = "\u2014";
1474
- var render = (input, fields) => _chunkKA3L6D5Ncjs.formatDateWithTimezone.call(void 0, input, _chunkKA3L6D5Ncjs.VIEWER_TIMEZONE, fields, { viewerLocale: true }) || INVALID_DATE_PLACEHOLDER;
1474
+ var render = (input, fields) => _chunkYSXVRTGTcjs.formatDateWithTimezone.call(void 0, input, _chunkYSXVRTGTcjs.VIEWER_TIMEZONE, fields, { viewerLocale: true }) || INVALID_DATE_PLACEHOLDER;
1475
1475
  var formatDate = (input) => render(input, { dateStyle: "short" });
1476
1476
  var formatTime = (input) => render(input, { timeStyle: "short" });
1477
1477
 
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkKKFDRCQFcjs = require('./chunk-KKFDRCQF.cjs');
4
+ var _chunkRY7INTYUcjs = require('./chunk-RY7INTYU.cjs');
5
5
 
6
6
  // src/components/tool-icon.tsx
7
7
  var _react = require('react');
@@ -12,7 +12,7 @@ function toolIcon(toolType) {
12
12
  const words = toolType.toLowerCase().split("_").filter(Boolean);
13
13
  let icon = null;
14
14
  for (let count = words.length; count >= 1 && !icon; count -= 1) {
15
- icon = _chunkKKFDRCQFcjs.findIcon.call(void 0, `${words.slice(0, count).join("-")}-logo-grey`);
15
+ icon = _chunkRY7INTYUcjs.findIcon.call(void 0, `${words.slice(0, count).join("-")}-logo-grey`);
16
16
  }
17
17
  TOOL_ICONS.set(toolType, icon);
18
18
  return icon;
@@ -1,6 +1,10 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
2
 
3
3
 
4
+
5
+ var _chunkSQ7YHWEPcjs = require('./chunk-SQ7YHWEP.cjs');
6
+
7
+
4
8
  var _chunkPMUCEUFQcjs = require('./chunk-PMUCEUFQ.cjs');
5
9
 
6
10
 
@@ -10,6 +14,15 @@ var _chunk63A4GZMBcjs = require('./chunk-63A4GZMB.cjs');
10
14
  // src/embed-shims/next-image.tsx
11
15
  var _react = require('react'); var _react2 = _interopRequireDefault(_react);
12
16
 
17
+ // src/hooks/use-authed-image-src.ts
18
+ function useAuthedImage(src) {
19
+ return _chunkSQ7YHWEPcjs.useAuthedAsset.call(void 0, src, "image/*");
20
+ }
21
+ function useAuthedImageSrc(src) {
22
+ return useAuthedImage(src).src;
23
+ }
24
+ var clearAuthedImageCache = _chunkSQ7YHWEPcjs.clearAuthedAssetCache;
25
+
13
26
  // src/utils/fetch-priority.ts
14
27
 
15
28
  var REACT_MAJOR = parseInt((_react2.default.version || "0").split(".")[0], 10);
@@ -53,12 +66,15 @@ function HeldImage({ className, style, width, height, fill }) {
53
66
  }
54
67
  var Image = _react.forwardRef.call(void 0, function NextImageShim({ optimizedWidth, ...given }, ref) {
55
68
  const held = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
56
- if (held) return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeldImage, { ...given });
57
- const props = optimizedWidth && resizer && typeof given.src === "string" ? { ...given, src: resizer(given.src, optimizedWidth), unoptimized: true } : given;
69
+ const sized = optimizedWidth && resizer && typeof given.src === "string" ? { ...given, src: resizer(given.src, optimizedWidth), unoptimized: true } : given;
70
+ const asset = useAuthedImage(!held && typeof sized.src === "string" ? sized.src : void 0);
71
+ if (held || asset.status === "pending") return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, HeldImage, { ...given });
72
+ const props = typeof sized.src !== "string" ? sized : drawnAsset(sized, asset);
73
+ const key = asset.status === "failed" ? "failed" : void 0;
58
74
  const fetchPriority = _nullishCoalesce(props.fetchPriority, () => ( (props.priority ? "high" : void 0)));
59
75
  if (impl) {
60
76
  const Real = impl;
61
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Real, { ref, ...props, fetchPriority });
77
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, Real, { ref, ...props, fetchPriority }, key);
62
78
  }
63
79
  const {
64
80
  src,
@@ -98,9 +114,15 @@ var Image = _react.forwardRef.call(void 0, function NextImageShim({ optimizedWid
98
114
  onLoad: onLoadingComplete ? (e) => onLoadingComplete(e.currentTarget) : void 0,
99
115
  ...rest,
100
116
  ...fetchPriority ? fetchPriorityProp(fetchPriority) : {}
101
- }
117
+ },
118
+ key
102
119
  );
103
120
  });
121
+ function drawnAsset(props, asset) {
122
+ const src = asset.status === "failed" ? asset.url : asset.src;
123
+ if (asset.status !== "ready") return { ...props, src };
124
+ return { ...props, src, unoptimized: true, "data-asset-src": asset.url };
125
+ }
104
126
  var next_image_default = Image;
105
127
 
106
128
 
@@ -109,4 +131,7 @@ var next_image_default = Image;
109
131
 
110
132
 
111
133
 
112
- exports.fetchPriorityProp = fetchPriorityProp; exports.registerImage = registerImage; exports.registerImageResizer = registerImageResizer; exports.resizedImageUrl = resizedImageUrl; exports.next_image_default = next_image_default;
134
+
135
+
136
+
137
+ exports.useAuthedImage = useAuthedImage; exports.useAuthedImageSrc = useAuthedImageSrc; exports.clearAuthedImageCache = clearAuthedImageCache; exports.fetchPriorityProp = fetchPriorityProp; exports.registerImage = registerImage; exports.registerImageResizer = registerImageResizer; exports.resizedImageUrl = resizedImageUrl; exports.next_image_default = next_image_default;