@flamingo-stack/openframe-frontend-core 0.0.849 → 0.0.851

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 (140) hide show
  1. package/dist/build/export-map.json +1 -1
  2. package/dist/chat-protocol/events.d.ts +4 -1
  3. package/dist/chat-protocol/events.d.ts.map +1 -1
  4. package/dist/chat-protocol/index.cjs +90 -40
  5. package/dist/chat-protocol/nats-decoder.d.ts.map +1 -1
  6. package/dist/chat-protocol/nats-decoder.js +5 -1
  7. package/dist/chat-protocol/policy-review.d.ts +18 -0
  8. package/dist/chat-protocol/policy-review.d.ts.map +1 -0
  9. package/dist/chat-protocol/policy-review.js +55 -0
  10. package/dist/{chunk-C3P7IUTU.cjs → chunk-2NGW73T2.cjs} +5 -4
  11. package/dist/{chunk-SHQY4GOE.cjs → chunk-2WZHNMQY.cjs} +67 -67
  12. package/dist/{chunk-R5JPZ6TY.cjs → chunk-5SEJEBAB.cjs} +8 -8
  13. package/dist/{chunk-TX4NTH22.cjs → chunk-B6D4WWKD.cjs} +36 -36
  14. package/dist/{chunk-FXLROQUT.cjs → chunk-CDW6JTAQ.cjs} +442 -459
  15. package/dist/{chunk-5PIR77V5.cjs → chunk-DN227KZH.cjs} +4 -4
  16. package/dist/{chunk-MC3L525K.cjs → chunk-FGSN5UNY.cjs} +3 -3
  17. package/dist/{chunk-ZGEWT3SF.cjs → chunk-HXURNKXI.cjs} +3 -3
  18. package/dist/{chunk-FRG724DU.cjs → chunk-KRTTH3ET.cjs} +4 -4
  19. package/dist/{chunk-YJZ7R3W5.cjs → chunk-KXFIYO4O.cjs} +8 -8
  20. package/dist/{chunk-4YBS4HIO.cjs → chunk-LM7EL3UQ.cjs} +444 -27
  21. package/dist/{chunk-YYHQY3K6.cjs → chunk-NQEPLUUW.cjs} +21 -21
  22. package/dist/{chunk-KXBZCUDW.cjs → chunk-ODMZSAIY.cjs} +36 -36
  23. package/dist/{chunk-36XWCVSM.cjs → chunk-OUP7L3U5.cjs} +50 -50
  24. package/dist/{chunk-5CBI2ZYV.cjs → chunk-PJNEBSP5.cjs} +5 -5
  25. package/dist/{chunk-6AJYGXXS.cjs → chunk-PPCRLSVR.cjs} +11 -11
  26. package/dist/{chunk-SA2NNWIJ.cjs → chunk-QCSA7GIX.cjs} +17 -62
  27. package/dist/{chunk-PV2XQJ2R.cjs → chunk-SPKAXETT.cjs} +42 -42
  28. package/dist/{chunk-IKOL6NJY.cjs → chunk-U4RTWH5D.cjs} +53 -43
  29. package/dist/{chunk-IHY7E4EX.cjs → chunk-UFGPLXH6.cjs} +4 -4
  30. package/dist/{chunk-TEKN6TJ5.cjs → chunk-UQK6J3ZS.cjs} +13 -13
  31. package/dist/{chunk-S3QXLD4X.cjs → chunk-VCFQHPOO.cjs} +37 -3
  32. package/dist/{chunk-Z5UCDEKZ.cjs → chunk-VU6N3NZS.cjs} +6 -6
  33. package/dist/{chunk-ZY34R37A.cjs → chunk-VXIZCUNZ.cjs} +61 -61
  34. package/dist/{chunk-3W4ASAXN.cjs → chunk-WYROOMUZ.cjs} +2 -2
  35. package/dist/{chunk-YLETC7LP.cjs → chunk-ZEPEFKHA.cjs} +893 -973
  36. package/dist/{cloud-tenants-HKUUEUAY.cjs → cloud-tenants-XH6GV4EI.cjs} +12 -13
  37. package/dist/components/case-studies/index.cjs +24 -25
  38. package/dist/components/chat/approval-batch-message.d.ts +5 -0
  39. package/dist/components/chat/approval-batch-message.d.ts.map +1 -1
  40. package/dist/components/chat/approval-batch-message.js +36 -10
  41. package/dist/components/chat/index.cjs +8 -9
  42. package/dist/components/chat/policy-review.d.ts +27 -0
  43. package/dist/components/chat/policy-review.d.ts.map +1 -0
  44. package/dist/components/chat/policy-review.js +67 -0
  45. package/dist/components/chat/stream/message-mutations.d.ts.map +1 -1
  46. package/dist/components/chat/stream/message-mutations.js +4 -1
  47. package/dist/components/chat/tool-execution-display.d.ts.map +1 -1
  48. package/dist/components/chat/tool-execution-display.js +16 -5
  49. package/dist/components/chat/types/message.types.d.ts +40 -2
  50. package/dist/components/chat/types/message.types.d.ts.map +1 -1
  51. package/dist/components/chat/utils/extract-incomplete-message-state.d.ts.map +1 -1
  52. package/dist/components/chat/utils/extract-incomplete-message-state.js +2 -0
  53. package/dist/components/chat/utils/message-segment-accumulator.d.ts.map +1 -1
  54. package/dist/components/chat/utils/message-segment-accumulator.js +3 -0
  55. package/dist/components/chat/utils/process-historical-messages.d.ts +2 -2
  56. package/dist/components/chat/utils/process-historical-messages.d.ts.map +1 -1
  57. package/dist/components/chat/utils/process-historical-messages.js +7 -1
  58. package/dist/components/contact/index.cjs +13 -14
  59. package/dist/components/docs/index.cjs +16 -17
  60. package/dist/components/embeds/embed-viewer-frame.d.ts +2 -0
  61. package/dist/components/embeds/embed-viewer-frame.d.ts.map +1 -1
  62. package/dist/components/embeds/embed-viewer-frame.js +12 -2
  63. package/dist/components/embeds/index.cjs +13 -14
  64. package/dist/components/embeds/pdf-viewer.d.ts.map +1 -1
  65. package/dist/components/embeds/pdf-viewer.js +2 -1
  66. package/dist/components/faq/index.cjs +14 -15
  67. package/dist/components/features/approval-level.d.ts +6 -12
  68. package/dist/components/features/approval-level.d.ts.map +1 -1
  69. package/dist/components/features/approval-level.js +45 -55
  70. package/dist/components/features/index.cjs +17 -15
  71. package/dist/components/features/notifications/approval-request-notification-tile.d.ts.map +1 -1
  72. package/dist/components/features/notifications/approval-request-notification-tile.js +71 -48
  73. package/dist/components/features/notifications/types.d.ts +2 -0
  74. package/dist/components/features/notifications/types.d.ts.map +1 -1
  75. package/dist/components/features/notifications/types.js +3 -1
  76. package/dist/components/features/policy-configuration-panel.d.ts.map +1 -1
  77. package/dist/components/features/policy-configuration-panel.js +75 -64
  78. package/dist/components/features/software/index.d.ts +1 -1
  79. package/dist/components/features/software/index.d.ts.map +1 -1
  80. package/dist/components/features/software/index.js +2 -0
  81. package/dist/components/features/software/software-action-copy.d.ts.map +1 -1
  82. package/dist/components/features/software/software-action-copy.js +6 -12
  83. package/dist/components/features/software/software-action-form.d.ts +7 -1
  84. package/dist/components/features/software/software-action-form.d.ts.map +1 -1
  85. package/dist/components/features/software/software-action-form.js +11 -3
  86. package/dist/components/features/software/update-settings-fields.d.ts +12 -1
  87. package/dist/components/features/software/update-settings-fields.d.ts.map +1 -1
  88. package/dist/components/features/software/update-settings-fields.js +57 -29
  89. package/dist/components/help-center-pages/index.cjs +78 -79
  90. package/dist/components/index.cjs +58 -58
  91. package/dist/components/meeting-scheduler/index.cjs +61 -61
  92. package/dist/components/navigation/index.cjs +15 -16
  93. package/dist/components/onboarding-guides/index.cjs +14 -15
  94. package/dist/components/product-demo/index.cjs +23 -24
  95. package/dist/components/tickets/index.cjs +17 -18
  96. package/dist/components/ui/file-manager/index.cjs +8 -9
  97. package/dist/components/ui/index.cjs +16 -18
  98. package/dist/components/ui/page-actions.d.ts.map +1 -1
  99. package/dist/components/ui/page-actions.js +11 -1
  100. package/dist/components/ui/radio-group.d.ts.map +1 -1
  101. package/dist/components/ui/radio-group.js +8 -2
  102. package/dist/components/ui/tab-selector.d.ts +7 -1
  103. package/dist/components/ui/tab-selector.d.ts.map +1 -1
  104. package/dist/components/ui/tab-selector.js +22 -3
  105. package/dist/{devices-P7M4Z7VP.cjs → devices-7PT6MPJI.cjs} +13 -14
  106. package/dist/{embeddable-chat-322NDFP5.cjs → embeddable-chat-5NY76K7K.cjs} +84 -85
  107. package/dist/index.cjs +24 -24
  108. package/dist/{knowledge-TC7JLOWI.cjs → knowledge-J6N7IEVI.cjs} +13 -14
  109. package/dist/{logs-GPOYCP4B.cjs → logs-D6KQP2BX.cjs} +19 -20
  110. package/dist/{policies-ZUHOUMDD.cjs → policies-J7MCOL3C.cjs} +16 -17
  111. package/dist/{remote-session-NT4NG7EF.cjs → remote-session-PXHA5KFK.cjs} +8 -9
  112. package/dist/{scripts-FOEVDGTH.cjs → scripts-VURXIHVS.cjs} +19 -20
  113. package/dist/{software-update-XGTMNFST.cjs → software-update-6SHUBDIE.cjs} +16 -17
  114. package/dist/{tickets-board-7FLGQEHF.cjs → tickets-board-NLCN7WNX.cjs} +9 -9
  115. package/package.json +1 -1
  116. package/src/chat-protocol/events.ts +4 -1
  117. package/src/chat-protocol/nats-decoder.ts +4 -0
  118. package/src/chat-protocol/policy-review.ts +71 -0
  119. package/src/components/chat/approval-batch-message.tsx +47 -10
  120. package/src/components/chat/policy-review.tsx +90 -0
  121. package/src/components/chat/stream/message-mutations.ts +4 -0
  122. package/src/components/chat/tool-execution-display.tsx +23 -4
  123. package/src/components/chat/types/message.types.ts +42 -2
  124. package/src/components/chat/utils/extract-incomplete-message-state.ts +2 -0
  125. package/src/components/chat/utils/message-segment-accumulator.ts +3 -0
  126. package/src/components/chat/utils/process-historical-messages.ts +14 -3
  127. package/src/components/embeds/embed-viewer-frame.tsx +10 -2
  128. package/src/components/embeds/pdf-viewer.tsx +4 -1
  129. package/src/components/features/approval-level.tsx +74 -78
  130. package/src/components/features/notifications/approval-request-notification-tile.tsx +75 -50
  131. package/src/components/features/notifications/types.ts +4 -0
  132. package/src/components/features/policy-configuration-panel.tsx +100 -83
  133. package/src/components/features/software/index.ts +1 -0
  134. package/src/components/features/software/software-action-copy.ts +19 -12
  135. package/src/components/features/software/software-action-form.tsx +16 -3
  136. package/src/components/features/software/update-settings-fields.tsx +104 -32
  137. package/src/components/ui/page-actions.tsx +19 -2
  138. package/src/components/ui/radio-group.tsx +20 -2
  139. package/src/components/ui/tab-selector.tsx +26 -3
  140. package/dist/chunk-N3MBQRCQ.cjs +0 -41
@@ -12,14 +12,14 @@ var _chunkOT6P57ZScjs = require('./chunk-OT6P57ZS.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunk3W4ASAXNcjs = require('./chunk-3W4ASAXN.cjs');
15
+ var _chunkWYROOMUZcjs = require('./chunk-WYROOMUZ.cjs');
16
16
 
17
17
 
18
18
 
19
19
 
20
20
 
21
21
 
22
- var _chunkYJZ7R3W5cjs = require('./chunk-YJZ7R3W5.cjs');
22
+ var _chunkKXFIYO4Ocjs = require('./chunk-KXFIYO4O.cjs');
23
23
 
24
24
 
25
25
  var _chunk2NETL2MScjs = require('./chunk-2NETL2MS.cjs');
@@ -127,14 +127,14 @@ var _chunkGG466XFQcjs = require('./chunk-GG466XFQ.cjs');
127
127
 
128
128
 
129
129
 
130
- var _chunkZGEWT3SFcjs = require('./chunk-ZGEWT3SF.cjs');
130
+ var _chunkHXURNKXIcjs = require('./chunk-HXURNKXI.cjs');
131
131
 
132
132
 
133
133
 
134
134
 
135
135
 
136
136
 
137
- var _chunkS3QXLD4Xcjs = require('./chunk-S3QXLD4X.cjs');
137
+ var _chunkVCFQHPOOcjs = require('./chunk-VCFQHPOO.cjs');
138
138
 
139
139
 
140
140
  var _chunk2XCORRJVcjs = require('./chunk-2XCORRJV.cjs');
@@ -281,7 +281,7 @@ var AUTOCOMPLETE_OPTION_ROW_CLASS = "flex min-h-11 items-center border-b border-
281
281
  var AUTOCOMPLETE_LOADING_ROWS = 5;
282
282
  var AUTOCOMPLETE_ANCHOR_SHAPE_CLASS = "rounded-[6px]";
283
283
  function AutocompleteSkeleton({ label, labelVariant, className }) {
284
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGEWT3SFcjs.FieldWrapper, { label, labelVariant, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.UnifiedSkeleton, { className: _chunk63A4GZMBcjs.cn.call(void 0, "w-full", AUTOCOMPLETE_ANCHOR_SHAPE_CLASS, AUTOCOMPLETE_ANCHOR_HEIGHT_CLASS) }) });
284
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXURNKXIcjs.FieldWrapper, { label, labelVariant, className, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.UnifiedSkeleton, { className: _chunk63A4GZMBcjs.cn.call(void 0, "w-full", AUTOCOMPLETE_ANCHOR_SHAPE_CLASS, AUTOCOMPLETE_ANCHOR_HEIGHT_CLASS) }) });
285
285
  }
286
286
  function AutocompleteInner(props, ref) {
287
287
  const inScope = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, );
@@ -780,7 +780,7 @@ function AutocompleteInner(props, ref) {
780
780
  if (inScope || fieldLoading)
781
781
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AutocompleteSkeleton, { label, labelVariant, className });
782
782
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
783
- _chunkZGEWT3SFcjs.FieldWrapper,
783
+ _chunkHXURNKXIcjs.FieldWrapper,
784
784
  {
785
785
  label,
786
786
  labelVariant,
@@ -790,7 +790,7 @@ function AutocompleteInner(props, ref) {
790
790
  children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "relative", ref: containerRef, children: [
791
791
  popover,
792
792
  multiple && showHiddenTags && hiddenTagsCount > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
793
- _chunk3W4ASAXNcjs.HiddenTagsPopup,
793
+ _chunkWYROOMUZcjs.HiddenTagsPopup,
794
794
  {
795
795
  ref: hiddenTagsPopupRef,
796
796
  items: hiddenTags,
@@ -869,7 +869,7 @@ var SelectTrigger = _react.forwardRef.call(void 0, (allProps, ref) => {
869
869
  ),
870
870
  ...props,
871
871
  children: [
872
- inScope ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGEWT3SFcjs.FieldValueSkeleton, {}) : children,
872
+ inScope ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXURNKXIcjs.FieldValueSkeleton, {}) : children,
873
873
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
874
874
  _chunkSKI6NKOEcjs.Chevron02DownIcon,
875
875
  {
@@ -883,7 +883,7 @@ var SelectTrigger = _react.forwardRef.call(void 0, (allProps, ref) => {
883
883
  ]
884
884
  }
885
885
  );
886
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZGEWT3SFcjs.FieldWrapper, { label, labelVariant, error, errorSlot, children: trigger });
886
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkHXURNKXIcjs.FieldWrapper, { label, labelVariant, error, errorSlot, children: trigger });
887
887
  });
888
888
  SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
889
889
  var SelectScrollUpButton = _react.forwardRef.call(void 0, ({ className, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -907,7 +907,7 @@ var SelectScrollDownButton = _react.forwardRef.call(void 0, ({ className, ...pro
907
907
  ));
908
908
  SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
909
909
  var SelectContent = _react.forwardRef.call(void 0, ({ className, children, position = "popper", ...props }, ref) => {
910
- const container = _chunkS3QXLD4Xcjs.usePortalContainer.call(void 0, );
910
+ const container = _chunkVCFQHPOOcjs.usePortalContainer.call(void 0, );
911
911
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SelectPrimitive.Portal, { container: _nullishCoalesce(container, () => ( void 0)), children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
912
912
  SelectPrimitive.Content,
913
913
  {
@@ -1076,9 +1076,9 @@ function renderActionButton(action, opts = {}) {
1076
1076
  }
1077
1077
  const button = renderRawActionButton(action, opts);
1078
1078
  if (!action.tooltip) return button;
1079
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJZ7R3W5cjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkYJZ7R3W5cjs.Tooltip, { children: [
1080
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJZ7R3W5cjs.TooltipTrigger, { asChild: true, children: button }),
1081
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJZ7R3W5cjs.TooltipContent, { children: action.tooltip })
1079
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKXFIYO4Ocjs.TooltipProvider, { delayDuration: 0, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkKXFIYO4Ocjs.Tooltip, { children: [
1080
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKXFIYO4Ocjs.TooltipTrigger, { asChild: true, children: button }),
1081
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKXFIYO4Ocjs.TooltipContent, { children: action.tooltip })
1082
1082
  ] }) });
1083
1083
  }
1084
1084
  function renderRawActionButton(action, opts = {}) {
@@ -1102,7 +1102,7 @@ function renderRawActionButton(action, opts = {}) {
1102
1102
  }
1103
1103
  if (action.submenu && action.submenu.length > 0) {
1104
1104
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
1105
- _chunkYJZ7R3W5cjs.ActionsMenuDropdown,
1105
+ _chunkKXFIYO4Ocjs.ActionsMenuDropdown,
1106
1106
  {
1107
1107
  groups: [{ items: action.submenu }],
1108
1108
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -1221,9 +1221,9 @@ function IconButtonsVariant({
1221
1221
  selector,
1222
1222
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action, { inert: loading }) }, actionKey(action, idx))),
1223
1223
  unknownSet && desktopActions.length === 0 && !hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" }),
1224
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJZ7R3W5cjs.ActionsMenuDropdown, { groups: menuActions, loading })
1224
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKXFIYO4Ocjs.ActionsMenuDropdown, { groups: menuActions, loading })
1225
1225
  ] }),
1226
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex content-md:hidden", className), children: useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true, inert: loading }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJZ7R3W5cjs.ActionsMenuDropdown, { groups: mobileMenuGroups, loading }) : unknownSet ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" }) : null })
1226
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "flex content-md:hidden", className), children: useSingleActionMobile && singleAction ? renderActionButton(singleAction, { iconOnly: true, inert: loading }) : hasMobileMenuItems ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKXFIYO4Ocjs.ActionsMenuDropdown, { groups: mobileMenuGroups, loading }) : unknownSet ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" }) : null })
1227
1227
  ] });
1228
1228
  }
1229
1229
  function PrimaryButtonsVariant({
@@ -1267,7 +1267,7 @@ function MenuPrimaryVariant({
1267
1267
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1268
1268
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: _chunk63A4GZMBcjs.cn.call(void 0, "hidden items-center content-md:flex", ACTIONS_GAP, className), children: [
1269
1269
  selector,
1270
- hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJZ7R3W5cjs.ActionsMenuDropdown, { groups: menuActions, loading }),
1270
+ hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKXFIYO4Ocjs.ActionsMenuDropdown, { groups: menuActions, loading }),
1271
1271
  desktopActions.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton({ ...action, variant: action.variant || "accent" }, { inert: loading }) }, `desktop-${actionKey(action, idx)}`)),
1272
1272
  unknownSet && desktopActions.length === 0 && !hasMenuActions && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" })
1273
1273
  ] }),
@@ -1275,7 +1275,7 @@ function MenuPrimaryVariant({
1275
1275
  // The selector rides into the menu as its header row: on mobile the
1276
1276
  // title row has no room for it, and hiding it entirely (what
1277
1277
  // `icon-buttons` does) would leave no way to switch views at all.
1278
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJZ7R3W5cjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector, loading })
1278
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKXFIYO4Ocjs.ActionsMenuDropdown, { groups: mobileMenuGroups, header: selector, loading })
1279
1279
  ) : unknownSet ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UnknownActionSkeleton, { shape: "icon" }) : null })
1280
1280
  ] });
1281
1281
  }
@@ -1285,12 +1285,22 @@ function CompactPrimaryActions({ actions, loading: loadingProp }) {
1285
1285
  const fold = foldable.length > 1;
1286
1286
  const inline = fold ? actions.filter((action) => !foldable.includes(action)) : actions;
1287
1287
  return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment, { children: [
1288
- fold && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJZ7R3W5cjs.ActionsMenuDropdown, { groups: [{ items: foldable.flatMap(actionToMenuItems) }], loading }),
1288
+ fold && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKXFIYO4Ocjs.ActionsMenuDropdown, { groups: [{ items: foldable.flatMap(actionToMenuItems) }], loading }),
1289
1289
  inline.map((action, idx) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _react2.default.Fragment, { children: renderActionButton(action, { inert: loading }) }, `compact-${actionKey(action, idx)}`))
1290
1290
  ] });
1291
1291
  }
1292
+ var subscribeNothing = () => () => {
1293
+ };
1294
+ function useHydrated() {
1295
+ return _react2.default.useSyncExternalStore(
1296
+ subscribeNothing,
1297
+ () => true,
1298
+ () => false
1299
+ );
1300
+ }
1292
1301
  function MobileBottomActions({ actions, loading: loadingProp }) {
1293
1302
  const loading = _chunk63A4GZMBcjs.useLoadingScope.call(void 0, ) || loadingProp;
1303
+ const hydrated = useHydrated();
1294
1304
  const dockHeight = _chunkOT6P57ZScjs.useComposerDockHeight.call(void 0, );
1295
1305
  const barRef = _react2.default.useRef(null);
1296
1306
  _chunkOT6P57ZScjs.useReportMobileActionBar.call(void 0, barRef);
@@ -1301,7 +1311,7 @@ function MobileBottomActions({ actions, loading: loadingProp }) {
1301
1311
  {
1302
1312
  ref: barRef,
1303
1313
  "data-testid": "mobile-action-bar",
1304
- style: dockHeight > 0 ? { bottom: dockHeight } : void 0,
1314
+ style: hydrated && dockHeight > 0 ? { bottom: dockHeight } : void 0,
1305
1315
  className: _chunk63A4GZMBcjs.cn.call(void 0,
1306
1316
  "fixed bottom-0 left-0 right-0 z-50 md:hidden",
1307
1317
  "border-t border-ods-border bg-ods-card",
@@ -1653,9 +1663,9 @@ function RemoteSessionViewers({ viewers, max = 4, className }) {
1653
1663
  const faces = ordered.slice(0, max);
1654
1664
  const overflow = ordered.length - faces.length;
1655
1665
  const Chevron = open ? _chunk3MRRIHC2cjs.Chevron02UpIcon : _chunkSKI6NKOEcjs.Chevron02DownIcon;
1656
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkS3QXLD4Xcjs.DropdownMenu, { open, onOpenChange: setOpen, children: [
1666
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkVCFQHPOOcjs.DropdownMenu, { open, onOpenChange: setOpen, children: [
1657
1667
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1658
- _chunkS3QXLD4Xcjs.DropdownMenuTrigger,
1668
+ _chunkVCFQHPOOcjs.DropdownMenuTrigger,
1659
1669
  {
1660
1670
  "aria-label": `In this session: ${ordered.map(viewerLabel).join(", ")}`,
1661
1671
  className: _chunk63A4GZMBcjs.cn.call(void 0,
@@ -1691,8 +1701,8 @@ function RemoteSessionViewers({ viewers, max = 4, className }) {
1691
1701
  ]
1692
1702
  }
1693
1703
  ),
1694
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkS3QXLD4Xcjs.DropdownMenuContent, { align: "end", className: "w-[280px] p-0", children: ordered.map((viewer) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1695
- _chunkS3QXLD4Xcjs.DropdownMenuItem,
1704
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkVCFQHPOOcjs.DropdownMenuContent, { align: "end", className: "w-[280px] p-0", children: ordered.map((viewer) => /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
1705
+ _chunkVCFQHPOOcjs.DropdownMenuItem,
1696
1706
  {
1697
1707
  className: _chunk63A4GZMBcjs.cn.call(void 0,
1698
1708
  "gap-[var(--spacing-system-xsf)] rounded-none border-b border-ods-border bg-ods-bg last:border-b-0",
@@ -2235,7 +2245,7 @@ function RemoteDesktopChatMessageRow({
2235
2245
  ),
2236
2246
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h6", as: "span", className: "w-12 shrink-0" }) : (
2237
2247
  // The time is in the viewer's zone, which a server render cannot know.
2238
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { suppressHydrationWarning: true, className: "shrink-0 text-ods-text-secondary text-h6", children: _chunk3W4ASAXNcjs.formatTime.call(void 0, sentAt) })
2248
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { suppressHydrationWarning: true, className: "shrink-0 text-ods-text-secondary text-h6", children: _chunkWYROOMUZcjs.formatTime.call(void 0, sentAt) })
2239
2249
  )
2240
2250
  ] }),
2241
2251
  loading ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkPMUCEUFQcjs.TextLineSkeleton, { type: "h4", className: "w-3/4" }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "whitespace-pre-wrap text-ods-text-primary text-h4", children: body })
@@ -2301,7 +2311,7 @@ function RemoteDesktopChatPanel({
2301
2311
  message.id
2302
2312
  )) }) }),
2303
2313
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2304
- _chunk3W4ASAXNcjs.ChatInput,
2314
+ _chunkWYROOMUZcjs.ChatInput,
2305
2315
  {
2306
2316
  placeholder: "Enter your Message...",
2307
2317
  onSend,
@@ -2345,7 +2355,7 @@ function RemoteDesktopFullscreenToolbar({
2345
2355
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex min-w-0 flex-1 items-center gap-[var(--spacing-system-xsf)]", children: [
2346
2356
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "truncate text-ods-text-primary text-h6", children: deviceName }),
2347
2357
  displayMenuGroups.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2348
- _chunkYJZ7R3W5cjs.ActionsMenuDropdown,
2358
+ _chunkKXFIYO4Ocjs.ActionsMenuDropdown,
2349
2359
  {
2350
2360
  groups: displayMenuGroups,
2351
2361
  customTrigger: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkFCZAUK4Dcjs.Button, { variant: "outline", size: "small", type: "button", "aria-label": "Switch display", className: "shrink-0", children: [
@@ -2368,7 +2378,7 @@ function RemoteDesktopFullscreenToolbar({
2368
2378
  }
2369
2379
  ),
2370
2380
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2371
- _chunkYJZ7R3W5cjs.ActionsMenuDropdown,
2381
+ _chunkKXFIYO4Ocjs.ActionsMenuDropdown,
2372
2382
  {
2373
2383
  groups: actionsMenuGroups,
2374
2384
  customTrigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2473,7 +2483,7 @@ function RemoteDesktopView({
2473
2483
  children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "span", { className: "sr-only content-md:not-sr-only", children: chatOpen ? "Close Chat" : "Open Chat" })
2474
2484
  }
2475
2485
  ),
2476
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYJZ7R3W5cjs.ActionsMenuDropdown, { groups: actionsMenuGroups, triggerAriaLabel: "Actions" }),
2486
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkKXFIYO4Ocjs.ActionsMenuDropdown, { groups: actionsMenuGroups, triggerAriaLabel: "Actions" }),
2477
2487
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2478
2488
  _chunkFCZAUK4Dcjs.Button,
2479
2489
  {
@@ -2497,7 +2507,7 @@ function RemoteDesktopView({
2497
2507
  ] })
2498
2508
  ] }),
2499
2509
  displayMenuGroups.length > 0 && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "border-t border-ods-border", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2500
- _chunkYJZ7R3W5cjs.ActionsMenuDropdown,
2510
+ _chunkKXFIYO4Ocjs.ActionsMenuDropdown,
2501
2511
  {
2502
2512
  groups: displayMenuGroups,
2503
2513
  align: "start",
@@ -2644,9 +2654,9 @@ function KeepRecordingModal({
2644
2654
  if (!canKeep || isPending) return;
2645
2655
  onConfirm({ reason, description: reason === "OTHER" ? trimmed : null });
2646
2656
  };
2647
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3W4ASAXNcjs.Modal, { isOpen, onClose: isPending ? () => {
2657
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWYROOMUZcjs.Modal, { isOpen, onClose: isPending ? () => {
2648
2658
  } : onClose, className: "text-left md:max-w-[600px]", children: [
2649
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3W4ASAXNcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3W4ASAXNcjs.ModalTitle, { children: "Keep this recording" }) }),
2659
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYROOMUZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYROOMUZcjs.ModalTitle, { children: "Keep this recording" }) }),
2650
2660
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
2651
2661
  KeepNotice,
2652
2662
  {
@@ -2673,7 +2683,7 @@ function KeepRecordingModal({
2673
2683
  }
2674
2684
  ),
2675
2685
  reason === "OTHER" && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2676
- _chunkZGEWT3SFcjs.Input,
2686
+ _chunkHXURNKXIcjs.Input,
2677
2687
  {
2678
2688
  "aria-label": "Reason description",
2679
2689
  value: description,
@@ -2684,7 +2694,7 @@ function KeepRecordingModal({
2684
2694
  }
2685
2695
  )
2686
2696
  ] }),
2687
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3W4ASAXNcjs.ModalFooter, { children: [
2697
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWYROOMUZcjs.ModalFooter, { children: [
2688
2698
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
2689
2699
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
2690
2700
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2714,9 +2724,9 @@ function ReleaseKeepingModal({
2714
2724
  isPending = false,
2715
2725
  onConfirm
2716
2726
  }) {
2717
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3W4ASAXNcjs.Modal, { isOpen, onClose: isPending ? () => {
2727
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWYROOMUZcjs.Modal, { isOpen, onClose: isPending ? () => {
2718
2728
  } : onClose, className: "text-left md:max-w-[600px]", children: [
2719
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3W4ASAXNcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3W4ASAXNcjs.ModalTitle, { children: "Release Keeping" }) }),
2729
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYROOMUZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYROOMUZcjs.ModalTitle, { children: "Release Keeping" }) }),
2720
2730
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "flex w-full flex-col gap-[var(--spacing-system-xsf)] break-words text-ods-text-primary text-h4", children: [
2721
2731
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "p", { children: [
2722
2732
  "Kept by ",
@@ -2733,7 +2743,7 @@ function ReleaseKeepingModal({
2733
2743
  ] })
2734
2744
  ] }),
2735
2745
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, KeepNotice, { icon: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkILWSAV64cjs.HourglassIcon, { size: 24, color: "currentColor" }), title: `It will expire on ${expiresOn}`, children: dueOn ? `It was due to expire on ${dueOn}. Releasing gives it 3 days' grace, and it shows amber until then. Whoever placed the Keep is reminded the day before it goes. Nothing is deleted now.` : "Nothing is deleted now." }),
2736
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3W4ASAXNcjs.ModalFooter, { children: [
2746
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWYROOMUZcjs.ModalFooter, { children: [
2737
2747
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
2738
2748
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
2739
2749
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "accent", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Release Keeping" })
@@ -2775,9 +2785,9 @@ function AssignTicketModal({
2775
2785
  if (ticketIds.length === 0 || isPending) return;
2776
2786
  onConfirm(ticketIds);
2777
2787
  };
2778
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3W4ASAXNcjs.Modal, { isOpen, onClose: isPending ? () => {
2788
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWYROOMUZcjs.Modal, { isOpen, onClose: isPending ? () => {
2779
2789
  } : onClose, className: "text-left md:max-w-[600px]", children: [
2780
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3W4ASAXNcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3W4ASAXNcjs.ModalTitle, { children: "Assign Ticket" }) }),
2790
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYROOMUZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYROOMUZcjs.ModalTitle, { children: "Assign Ticket" }) }),
2781
2791
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
2782
2792
  Autocomplete,
2783
2793
  {
@@ -2796,7 +2806,7 @@ function AssignTicketModal({
2796
2806
  disabled: isPending
2797
2807
  }
2798
2808
  ),
2799
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3W4ASAXNcjs.ModalFooter, { children: [
2809
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWYROOMUZcjs.ModalFooter, { children: [
2800
2810
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
2801
2811
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
2802
2812
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
@@ -2815,11 +2825,11 @@ function AssignTicketModal({
2815
2825
  ] });
2816
2826
  }
2817
2827
  function UnassignTicketModal({ isOpen, onClose, isPending = false, onConfirm }) {
2818
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3W4ASAXNcjs.Modal, { isOpen, onClose: isPending ? () => {
2828
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWYROOMUZcjs.Modal, { isOpen, onClose: isPending ? () => {
2819
2829
  } : onClose, className: "text-left md:max-w-[600px]", children: [
2820
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3W4ASAXNcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk3W4ASAXNcjs.ModalTitle, { children: "Unassign Ticket" }) }),
2830
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYROOMUZcjs.ModalHeader, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkWYROOMUZcjs.ModalTitle, { children: "Unassign Ticket" }) }),
2821
2831
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "p", { className: "w-full text-ods-text-primary text-h4", children: "This Ticket will no longer be linked to this remote session. The ticket itself stays as it is, and you can assign it again anytime." }),
2822
- /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunk3W4ASAXNcjs.ModalFooter, { children: [
2832
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _chunkWYROOMUZcjs.ModalFooter, { children: [
2823
2833
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "outline", onClick: onClose, disabled: isPending, className: "flex-1 md:hidden", children: "Cancel" }),
2824
2834
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "hidden flex-1 md:block" }),
2825
2835
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkFCZAUK4Dcjs.Button, { type: "button", variant: "destructive", onClick: onConfirm, loading: isPending, className: "flex-1", children: "Unassign" })
@@ -4,7 +4,7 @@
4
4
  var _chunk24I6RFVUcjs = require('./chunk-24I6RFVU.cjs');
5
5
 
6
6
 
7
- var _chunkFXLROQUTcjs = require('./chunk-FXLROQUT.cjs');
7
+ var _chunkCDW6JTAQcjs = require('./chunk-CDW6JTAQ.cjs');
8
8
 
9
9
 
10
10
  var _chunkUAI4VMEFcjs = require('./chunk-UAI4VMEF.cjs');
@@ -20,7 +20,7 @@ var _chunkGI3MMBP3cjs = require('./chunk-GI3MMBP3.cjs');
20
20
 
21
21
 
22
22
 
23
- var _chunkS3QXLD4Xcjs = require('./chunk-S3QXLD4X.cjs');
23
+ var _chunkVCFQHPOOcjs = require('./chunk-VCFQHPOO.cjs');
24
24
 
25
25
 
26
26
  var _chunkFCZAUK4Dcjs = require('./chunk-FCZAUK4D.cjs');
@@ -272,7 +272,7 @@ var DrawerContent = _react.forwardRef.call(void 0,
272
272
  ...props,
273
273
  children: [
274
274
  applyInlineSize ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
275
- _chunkFXLROQUTcjs.PanelResizeHandle,
275
+ _chunkCDW6JTAQcjs.PanelResizeHandle,
276
276
  {
277
277
  variant: "overlay",
278
278
  side: resolvedSide,
@@ -291,7 +291,7 @@ var DrawerContent = _react.forwardRef.call(void 0,
291
291
  ref: panelRef,
292
292
  className: _chunk63A4GZMBcjs.cn.call(void 0, drawerPanelVariants({ side, flush, size }), className, panelClassName),
293
293
  style: { ...sizeStyle, ...panelStyle },
294
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkS3QXLD4Xcjs.PortalContainerContext.Provider, { value: portalHost, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkS3QXLD4Xcjs.CollisionBoundaryContext.Provider, { value: null, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkUAI4VMEFcjs.ViewportBreakpoints, { children }) }) })
294
+ 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, _chunkUAI4VMEFcjs.ViewportBreakpoints, { children }) }) })
295
295
  }
296
296
  ),
297
297
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { ref: setPortalHost, className: "contents" })
@@ -4,7 +4,7 @@
4
4
  var _chunk36DUCHI7cjs = require('./chunk-36DUCHI7.cjs');
5
5
 
6
6
 
7
- var _chunkR5JPZ6TYcjs = require('./chunk-R5JPZ6TY.cjs');
7
+ var _chunk5SEJEBABcjs = require('./chunk-5SEJEBAB.cjs');
8
8
 
9
9
 
10
10
 
@@ -13,16 +13,16 @@ var _chunkHEVW75L3cjs = require('./chunk-HEVW75L3.cjs');
13
13
 
14
14
 
15
15
 
16
- var _chunkYLETC7LPcjs = require('./chunk-YLETC7LP.cjs');
16
+ var _chunkZEPEFKHAcjs = require('./chunk-ZEPEFKHA.cjs');
17
17
 
18
18
 
19
- var _chunkIKOL6NJYcjs = require('./chunk-IKOL6NJY.cjs');
19
+ var _chunkU4RTWH5Dcjs = require('./chunk-U4RTWH5D.cjs');
20
20
 
21
21
 
22
- var _chunkTX4NTH22cjs = require('./chunk-TX4NTH22.cjs');
22
+ var _chunkB6D4WWKDcjs = require('./chunk-B6D4WWKD.cjs');
23
23
 
24
24
 
25
- var _chunkFXLROQUTcjs = require('./chunk-FXLROQUT.cjs');
25
+ var _chunkCDW6JTAQcjs = require('./chunk-CDW6JTAQ.cjs');
26
26
 
27
27
 
28
28
 
@@ -106,7 +106,7 @@ function PageDataSyncProvider({
106
106
  function PageDataSyncRow({ inline = false }) {
107
107
  const context = _react.useContext.call(void 0, PageDataSyncContext);
108
108
  if (!context) return null;
109
- const line = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLETC7LPcjs.DataSyncLine, { sync: context.state.sync, loading: context.state.loading, stated: context.stated, inline });
109
+ const line = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZEPEFKHAcjs.DataSyncLine, { sync: context.state.sync, loading: context.state.loading, stated: context.stated, inline });
110
110
  return context.stated ? line : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "contents", "data-loading-optional": "", children: line });
111
111
  }
112
112
  function usePageDataSync(sync, loading) {
@@ -125,7 +125,7 @@ function usePageDataSync(sync, loading) {
125
125
  // src/components/shared/dev-section/dev-section-view.tsx
126
126
 
127
127
  function DevSectionView({ sectionKey, preControls, children, showHeading = true }) {
128
- const section = _chunkTX4NTH22cjs.OPENFRAME_DEV_SECTIONS[sectionKey];
128
+ const section = _chunkB6D4WWKDcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
129
129
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
130
130
  const pathname = _chunk7DNL734Scjs.usePathname.call(void 0, );
131
131
  const searchParams = _chunk7DNL734Scjs.useSearchParams.call(void 0, );
@@ -167,7 +167,7 @@ function DevSectionView({ sectionKey, preControls, children, showHeading = true
167
167
  preControls,
168
168
  (search || filter) && /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { className: "space-y-4", children: [
169
169
  search && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
170
- _chunkFXLROQUTcjs.SearchInput,
170
+ _chunkCDW6JTAQcjs.SearchInput,
171
171
  {
172
172
  showDropdown: false,
173
173
  placeholder: search.placeholder,
@@ -177,7 +177,7 @@ function DevSectionView({ sectionKey, preControls, children, showHeading = true
177
177
  }
178
178
  ),
179
179
  filter && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
180
- _chunkYLETC7LPcjs.StatusFilterComponent,
180
+ _chunkZEPEFKHAcjs.StatusFilterComponent,
181
181
  {
182
182
  selectedStatus: currentFilterValue,
183
183
  onStatusChange: handleFilterChange,
@@ -201,7 +201,7 @@ function DevSectionPage({
201
201
  shell = true
202
202
  }) {
203
203
  const router = _chunk7DNL734Scjs.useRouter.call(void 0, );
204
- const section = _chunkTX4NTH22cjs.OPENFRAME_DEV_SECTIONS[sectionKey];
204
+ const section = _chunkB6D4WWKDcjs.OPENFRAME_DEV_SECTIONS[sectionKey];
205
205
  const backCfg = backButton === false ? void 0 : {
206
206
  label: _nullishCoalesce((backButton ? backButton.label : void 0), () => ( "Back to home")),
207
207
  onClick: () => router.push(_nullishCoalesce((backButton ? backButton.href : void 0), () => ( "/")))
@@ -214,7 +214,7 @@ function DevSectionPage({
214
214
  // duplicate title. (The hero icon is intentionally dropped: TitleBlock is
215
215
  // frozen and renders title-only.)
216
216
  /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
217
- _chunkIKOL6NJYcjs.PageLayout,
217
+ _chunkU4RTWH5Dcjs.PageLayout,
218
218
  {
219
219
  title: _nullishCoalesce(title, () => ( section.hero.title)),
220
220
  subtitle: _nullishCoalesce(subtitle, () => ( section.hero.description)),
@@ -223,12 +223,12 @@ function DevSectionPage({
223
223
  backButton: backCfg,
224
224
  children: [
225
225
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0, DevSectionView, { sectionKey, showHeading: false, preControls, children }),
226
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkR5JPZ6TYcjs.SharedPageFaq, {})
226
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunk5SEJEBABcjs.SharedPageFaq, {})
227
227
  ]
228
228
  }
229
229
  )
230
230
  );
231
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLETC7LPcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
231
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZEPEFKHAcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
232
232
  }
233
233
 
234
234
  // src/components/shared/dev-section/dev-card-row.tsx
@@ -3,8 +3,41 @@
3
3
 
4
4
  var _chunk63A4GZMBcjs = require('./chunk-63A4GZMB.cjs');
5
5
 
6
- // src/components/ui/portal-container.tsx
6
+ // src/components/ui/label.tsx
7
+ var _reactlabel = require('@radix-ui/react-label'); var LabelPrimitive = _interopRequireWildcard(_reactlabel);
8
+ var _classvarianceauthority = require('class-variance-authority');
7
9
  var _react = require('react');
10
+ var _jsxruntime = require('react/jsx-runtime');
11
+ var LABEL_TEXT_CLASS = "block text-ods-text-primary text-h6";
12
+ var labelVariants = _classvarianceauthority.cva.call(void 0, "", {
13
+ variants: {
14
+ variant: {
15
+ default: LABEL_TEXT_CLASS,
16
+ /** @deprecated alias of `default` — the three small scales converged on text-h6. */
17
+ small: LABEL_TEXT_CLASS,
18
+ /** @deprecated alias of `default`. */
19
+ medium: LABEL_TEXT_CLASS,
20
+ large: _chunk63A4GZMBcjs.cn.call(void 0, LABEL_TEXT_CLASS, "text-h4"),
21
+ /** A click surface that labels its control: no typography, the site's `className` is its look. */
22
+ surface: ""
23
+ },
24
+ spacing: {
25
+ none: "",
26
+ tight: "mb-0.5",
27
+ normal: "mb-2",
28
+ loose: "mb-3"
29
+ }
30
+ },
31
+ defaultVariants: {
32
+ variant: "default",
33
+ spacing: "none"
34
+ }
35
+ });
36
+ var Label = _react.forwardRef.call(void 0, ({ className, variant, spacing, ...props }, ref) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LabelPrimitive.Root, { ref, className: _chunk63A4GZMBcjs.cn.call(void 0, labelVariants({ variant, spacing }), className), ...props }));
37
+ Label.displayName = LabelPrimitive.Root.displayName;
38
+
39
+ // src/components/ui/portal-container.tsx
40
+
8
41
  var PortalContainerContext = _react.createContext.call(void 0, null);
9
42
  function usePortalContainer() {
10
43
  return _react.useContext.call(void 0, PortalContainerContext);
@@ -19,7 +52,7 @@ var COLLISION_PADDING_PX = 8;
19
52
  var _reactdropdownmenu = require('@radix-ui/react-dropdown-menu'); var DropdownMenuPrimitive = _interopRequireWildcard(_reactdropdownmenu);
20
53
  var _lucidereact = require('lucide-react');
21
54
 
22
- var _jsxruntime = require('react/jsx-runtime');
55
+
23
56
  var DropdownMenu = DropdownMenuPrimitive.Root;
24
57
  var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
25
58
  var DropdownMenuGroup = DropdownMenuPrimitive.Group;
@@ -170,4 +203,5 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
170
203
 
171
204
 
172
205
 
173
- exports.PortalContainerContext = PortalContainerContext; exports.usePortalContainer = usePortalContainer; exports.CollisionBoundaryContext = CollisionBoundaryContext; exports.useCollisionBoundary = useCollisionBoundary; exports.COLLISION_PADDING_PX = COLLISION_PADDING_PX; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut;
206
+
207
+ exports.Label = Label; exports.PortalContainerContext = PortalContainerContext; exports.usePortalContainer = usePortalContainer; exports.CollisionBoundaryContext = CollisionBoundaryContext; exports.useCollisionBoundary = useCollisionBoundary; exports.COLLISION_PADDING_PX = COLLISION_PADDING_PX; exports.DropdownMenu = DropdownMenu; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut;
@@ -1,13 +1,13 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); 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
- var _chunkR5JPZ6TYcjs = require('./chunk-R5JPZ6TY.cjs');
4
+ var _chunk5SEJEBABcjs = require('./chunk-5SEJEBAB.cjs');
5
5
 
6
6
 
7
- var _chunkYLETC7LPcjs = require('./chunk-YLETC7LP.cjs');
7
+ var _chunkZEPEFKHAcjs = require('./chunk-ZEPEFKHA.cjs');
8
8
 
9
9
 
10
- var _chunkIKOL6NJYcjs = require('./chunk-IKOL6NJY.cjs');
10
+ var _chunkU4RTWH5Dcjs = require('./chunk-U4RTWH5D.cjs');
11
11
 
12
12
 
13
13
  var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
@@ -35,8 +35,8 @@ function FaqDocumentPage({
35
35
  label: _nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _ => _.label]), () => ( "Back to home")),
36
36
  onClick: () => router.push(_nullishCoalesce(_optionalChain([backButton, 'optionalAccess', _2 => _2.href]), () => ( "/")))
37
37
  };
38
- const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkIKOL6NJYcjs.PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39
- _chunkR5JPZ6TYcjs.FaqSection,
38
+ const inner = /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkU4RTWH5Dcjs.PageLayout, { title, subtitle, backButton: backCfg, titleSize: "h1", titleWrap: true, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
39
+ _chunk5SEJEBABcjs.FaqSection,
40
40
  {
41
41
  initialFaqs,
42
42
  heading: null,
@@ -51,7 +51,7 @@ function FaqDocumentPage({
51
51
  skeletonNav
52
52
  }
53
53
  ) });
54
- return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkYLETC7LPcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
54
+ return shell ? /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _chunkZEPEFKHAcjs.PageShell, { children: inner }) : /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "page-shell-content", children: inner });
55
55
  }
56
56
 
57
57