@mieweb/ui 0.9.0 → 0.10.0-dev.0

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 (121) hide show
  1. package/MIGRATION.md +112 -0
  2. package/dist/{Animated-Cs-naa2g.d.cts → Animated-XmH6k8pZ.d.cts} +16 -3
  3. package/dist/{Animated-Cs-naa2g.d.ts → Animated-XmH6k8pZ.d.ts} +16 -3
  4. package/dist/{chunk-XUVEF2RQ.js → chunk-24SEAAOH.js} +2 -2
  5. package/dist/{chunk-XUVEF2RQ.js.map → chunk-24SEAAOH.js.map} +1 -1
  6. package/dist/{chunk-FUFBRKOG.cjs → chunk-2WBPNXO2.cjs} +21 -21
  7. package/dist/{chunk-FUFBRKOG.cjs.map → chunk-2WBPNXO2.cjs.map} +1 -1
  8. package/dist/{chunk-IUDY6S7I.cjs → chunk-37UZHCLM.cjs} +35 -14
  9. package/dist/chunk-37UZHCLM.cjs.map +1 -0
  10. package/dist/{chunk-L52N6BEN.cjs → chunk-AUOTJQGO.cjs} +7 -7
  11. package/dist/{chunk-L52N6BEN.cjs.map → chunk-AUOTJQGO.cjs.map} +1 -1
  12. package/dist/{chunk-6XDPJWSC.cjs → chunk-E7G22IQM.cjs} +32 -28
  13. package/dist/chunk-E7G22IQM.cjs.map +1 -0
  14. package/dist/chunk-IIFQ6BSJ.js +1888 -0
  15. package/dist/chunk-IIFQ6BSJ.js.map +1 -0
  16. package/dist/{chunk-ONNY7UO4.js → chunk-JDJQTKTX.js} +3 -3
  17. package/dist/{chunk-ONNY7UO4.js.map → chunk-JDJQTKTX.js.map} +1 -1
  18. package/dist/{chunk-BJKAVWED.js → chunk-MBWF36DJ.js} +35 -14
  19. package/dist/chunk-MBWF36DJ.js.map +1 -0
  20. package/dist/chunk-NV2CWBI2.cjs +290 -0
  21. package/dist/chunk-NV2CWBI2.cjs.map +1 -0
  22. package/dist/{chunk-FQBTGS3E.cjs → chunk-OFUKTVBN.cjs} +363 -285
  23. package/dist/chunk-OFUKTVBN.cjs.map +1 -0
  24. package/dist/{chunk-7KN6J7XV.cjs → chunk-OMAACCFW.cjs} +7 -7
  25. package/dist/{chunk-7KN6J7XV.cjs.map → chunk-OMAACCFW.cjs.map} +1 -1
  26. package/dist/chunk-OYQ7GYAA.cjs +1921 -0
  27. package/dist/chunk-OYQ7GYAA.cjs.map +1 -0
  28. package/dist/{chunk-YJP6DUFO.cjs → chunk-PKD3JLS2.cjs} +6 -6
  29. package/dist/{chunk-YJP6DUFO.cjs.map → chunk-PKD3JLS2.cjs.map} +1 -1
  30. package/dist/{chunk-CXDMZT45.cjs → chunk-PY7XAG4D.cjs} +27 -4
  31. package/dist/chunk-PY7XAG4D.cjs.map +1 -0
  32. package/dist/{chunk-5H7SAEQO.js → chunk-QKFJDQEK.js} +3 -3
  33. package/dist/{chunk-5H7SAEQO.js.map → chunk-QKFJDQEK.js.map} +1 -1
  34. package/dist/{chunk-XJTFZLWH.cjs → chunk-QO6PRHDX.cjs} +2 -2
  35. package/dist/{chunk-XJTFZLWH.cjs.map → chunk-QO6PRHDX.cjs.map} +1 -1
  36. package/dist/{chunk-OHDIJOGG.js → chunk-RD3JDFYJ.js} +3 -3
  37. package/dist/{chunk-OHDIJOGG.js.map → chunk-RD3JDFYJ.js.map} +1 -1
  38. package/dist/{chunk-4SM3I7WE.cjs → chunk-RXPEZXAB.cjs} +67 -38
  39. package/dist/chunk-RXPEZXAB.cjs.map +1 -0
  40. package/dist/{chunk-VTR2KGLY.cjs → chunk-S3BCHPXT.cjs} +9 -9
  41. package/dist/{chunk-VTR2KGLY.cjs.map → chunk-S3BCHPXT.cjs.map} +1 -1
  42. package/dist/{chunk-KU3XRHWA.js → chunk-TZX76ZNZ.js} +67 -38
  43. package/dist/chunk-TZX76ZNZ.js.map +1 -0
  44. package/dist/{chunk-MXQ7J4BB.js → chunk-VSVGMMNO.js} +361 -284
  45. package/dist/chunk-VSVGMMNO.js.map +1 -0
  46. package/dist/{chunk-Q7G56ZIO.js → chunk-WUBMDOTG.js} +3 -3
  47. package/dist/{chunk-Q7G56ZIO.js.map → chunk-WUBMDOTG.js.map} +1 -1
  48. package/dist/{chunk-DGRXAIWK.js → chunk-X5YM3KXY.js} +27 -4
  49. package/dist/chunk-X5YM3KXY.js.map +1 -0
  50. package/dist/chunk-XCP454Q6.js +263 -0
  51. package/dist/chunk-XCP454Q6.js.map +1 -0
  52. package/dist/{chunk-I3DQXUSC.js → chunk-Y6DFMDMH.js} +3 -3
  53. package/dist/{chunk-I3DQXUSC.js.map → chunk-Y6DFMDMH.js.map} +1 -1
  54. package/dist/{chunk-ODYQYLO2.js → chunk-YSEMAI4I.js} +8 -4
  55. package/dist/chunk-YSEMAI4I.js.map +1 -0
  56. package/dist/components/AlertDialog/index.cjs +4 -4
  57. package/dist/components/AlertDialog/index.js +3 -3
  58. package/dist/components/Collapsible/index.cjs +6 -4
  59. package/dist/components/Collapsible/index.js +3 -1
  60. package/dist/components/Dropdown/index.cjs +9 -8
  61. package/dist/components/Dropdown/index.js +2 -1
  62. package/dist/components/KeyboardShortcutsOverlay/index.cjs +5 -5
  63. package/dist/components/KeyboardShortcutsOverlay/index.js +3 -3
  64. package/dist/components/MediaEditor/index.cjs +8 -8
  65. package/dist/components/MediaEditor/index.js +3 -3
  66. package/dist/components/Modal/index.cjs +10 -10
  67. package/dist/components/Modal/index.js +2 -2
  68. package/dist/components/RichTextEditor/index.cjs +6 -5
  69. package/dist/components/RichTextEditor/index.js +3 -2
  70. package/dist/components/SuperChat/index.cjs +40 -17
  71. package/dist/components/SuperChat/index.cjs.map +1 -1
  72. package/dist/components/SuperChat/index.d.cts +20 -7
  73. package/dist/components/SuperChat/index.d.ts +20 -7
  74. package/dist/components/SuperChat/index.js +35 -12
  75. package/dist/components/SuperChat/index.js.map +1 -1
  76. package/dist/components/SuperChat/plugins/index.cjs +10 -3
  77. package/dist/components/SuperChat/plugins/index.cjs.map +1 -1
  78. package/dist/components/SuperChat/plugins/index.d.cts +3 -3
  79. package/dist/components/SuperChat/plugins/index.d.ts +3 -3
  80. package/dist/components/SuperChat/plugins/index.js +9 -2
  81. package/dist/components/SuperChat/plugins/index.js.map +1 -1
  82. package/dist/esheet.cjs +6 -6
  83. package/dist/esheet.js +3 -3
  84. package/dist/hooks/index.cjs +13 -13
  85. package/dist/hooks/index.js +1 -1
  86. package/dist/index.cjs +720 -1671
  87. package/dist/index.cjs.map +1 -1
  88. package/dist/index.d.cts +347 -347
  89. package/dist/index.d.ts +347 -347
  90. package/dist/index.js +459 -1405
  91. package/dist/index.js.map +1 -1
  92. package/dist/motion.cjs +7 -7
  93. package/dist/motion.d.cts +1 -1
  94. package/dist/motion.d.ts +1 -1
  95. package/dist/motion.js +2 -2
  96. package/dist/styles.css +1 -1
  97. package/dist/tailwind-preset.cjs +4 -4
  98. package/dist/tailwind-preset.js +1 -1
  99. package/dist/{types-DZDroUW8.d.cts → types-B97JNRNQ.d.cts} +1 -1
  100. package/dist/{types-B2RLmdVd.d.ts → types-CnPEwzlp.d.cts} +6 -2
  101. package/dist/{types-B2RLmdVd.d.cts → types-CnPEwzlp.d.ts} +6 -2
  102. package/dist/{types-9vK_YdEb.d.ts → types-gZXrfLj6.d.ts} +1 -1
  103. package/package.json +2 -1
  104. package/dist/chunk-4SM3I7WE.cjs.map +0 -1
  105. package/dist/chunk-5BVFVXHN.cjs +0 -1244
  106. package/dist/chunk-5BVFVXHN.cjs.map +0 -1
  107. package/dist/chunk-6XDPJWSC.cjs.map +0 -1
  108. package/dist/chunk-BJKAVWED.js.map +0 -1
  109. package/dist/chunk-BN75TLUN.cjs +0 -163
  110. package/dist/chunk-BN75TLUN.cjs.map +0 -1
  111. package/dist/chunk-CXDMZT45.cjs.map +0 -1
  112. package/dist/chunk-DGRXAIWK.js.map +0 -1
  113. package/dist/chunk-FQBTGS3E.cjs.map +0 -1
  114. package/dist/chunk-IUDY6S7I.cjs.map +0 -1
  115. package/dist/chunk-KU3XRHWA.js.map +0 -1
  116. package/dist/chunk-MXQ7J4BB.js.map +0 -1
  117. package/dist/chunk-O6GJ4IYS.js +0 -1210
  118. package/dist/chunk-O6GJ4IYS.js.map +0 -1
  119. package/dist/chunk-ODYQYLO2.js.map +0 -1
  120. package/dist/chunk-WYMO3IIK.js +0 -136
  121. package/dist/chunk-WYMO3IIK.js.map +0 -1
package/dist/index.cjs CHANGED
@@ -23,10 +23,10 @@ var chunkXTHMC76F_cjs = require('./chunk-XTHMC76F.cjs');
23
23
  var chunk7RV6CAP6_cjs = require('./chunk-7RV6CAP6.cjs');
24
24
  var chunkXXVUHLQN_cjs = require('./chunk-XXVUHLQN.cjs');
25
25
  var chunkWIAQQNFU_cjs = require('./chunk-WIAQQNFU.cjs');
26
- var chunkFQBTGS3E_cjs = require('./chunk-FQBTGS3E.cjs');
27
- var chunk5BVFVXHN_cjs = require('./chunk-5BVFVXHN.cjs');
26
+ var chunkOFUKTVBN_cjs = require('./chunk-OFUKTVBN.cjs');
27
+ var chunkOYQ7GYAA_cjs = require('./chunk-OYQ7GYAA.cjs');
28
28
  var chunkJTSKPDPH_cjs = require('./chunk-JTSKPDPH.cjs');
29
- var chunk7KN6J7XV_cjs = require('./chunk-7KN6J7XV.cjs');
29
+ var chunkOMAACCFW_cjs = require('./chunk-OMAACCFW.cjs');
30
30
  var chunk3SZQRMHM_cjs = require('./chunk-3SZQRMHM.cjs');
31
31
  var chunkOZOSWBSI_cjs = require('./chunk-OZOSWBSI.cjs');
32
32
  var chunk3LHICE4I_cjs = require('./chunk-3LHICE4I.cjs');
@@ -38,24 +38,24 @@ var chunkXWZEECEX_cjs = require('./chunk-XWZEECEX.cjs');
38
38
  var chunk5MXO6PEV_cjs = require('./chunk-5MXO6PEV.cjs');
39
39
  var chunk3TXOFAXP_cjs = require('./chunk-3TXOFAXP.cjs');
40
40
  var chunkH4AVMUOC_cjs = require('./chunk-H4AVMUOC.cjs');
41
- var chunkVTR2KGLY_cjs = require('./chunk-VTR2KGLY.cjs');
41
+ var chunkS3BCHPXT_cjs = require('./chunk-S3BCHPXT.cjs');
42
42
  var chunkO7XHHTTP_cjs = require('./chunk-O7XHHTTP.cjs');
43
43
  var chunkAHINB2TP_cjs = require('./chunk-AHINB2TP.cjs');
44
44
  var chunkIB54SKWB_cjs = require('./chunk-IB54SKWB.cjs');
45
45
  var chunkRSCA5AZW_cjs = require('./chunk-RSCA5AZW.cjs');
46
46
  var chunk5Z6UPVGC_cjs = require('./chunk-5Z6UPVGC.cjs');
47
47
  var chunk6QKMMKRY_cjs = require('./chunk-6QKMMKRY.cjs');
48
- var chunkFUFBRKOG_cjs = require('./chunk-FUFBRKOG.cjs');
48
+ var chunk2WBPNXO2_cjs = require('./chunk-2WBPNXO2.cjs');
49
49
  var chunkMYAU2ZUC_cjs = require('./chunk-MYAU2ZUC.cjs');
50
50
  require('./chunk-GLXTVCHN.cjs');
51
51
  var chunkIFDC4TXM_cjs = require('./chunk-IFDC4TXM.cjs');
52
- var chunkIUDY6S7I_cjs = require('./chunk-IUDY6S7I.cjs');
52
+ var chunk37UZHCLM_cjs = require('./chunk-37UZHCLM.cjs');
53
53
  var chunkNGSDBWKA_cjs = require('./chunk-NGSDBWKA.cjs');
54
54
  var chunkX5QRRMGB_cjs = require('./chunk-X5QRRMGB.cjs');
55
55
  var chunkQKAYRHWP_cjs = require('./chunk-QKAYRHWP.cjs');
56
56
  var chunkPLMXN23Q_cjs = require('./chunk-PLMXN23Q.cjs');
57
57
  var chunkC3DUS2VE_cjs = require('./chunk-C3DUS2VE.cjs');
58
- var chunk4SM3I7WE_cjs = require('./chunk-4SM3I7WE.cjs');
58
+ var chunkRXPEZXAB_cjs = require('./chunk-RXPEZXAB.cjs');
59
59
  var chunkZO4L6C2Y_cjs = require('./chunk-ZO4L6C2Y.cjs');
60
60
  var chunkBZAGP5W6_cjs = require('./chunk-BZAGP5W6.cjs');
61
61
  var chunkJEIW7BSV_cjs = require('./chunk-JEIW7BSV.cjs');
@@ -68,15 +68,15 @@ var chunkX4LBUPJO_cjs = require('./chunk-X4LBUPJO.cjs');
68
68
  require('./chunk-AT732HC6.cjs');
69
69
  var chunkC7RVKV25_cjs = require('./chunk-C7RVKV25.cjs');
70
70
  var chunkL7YQBSEL_cjs = require('./chunk-L7YQBSEL.cjs');
71
- var chunkCXDMZT45_cjs = require('./chunk-CXDMZT45.cjs');
71
+ var chunkPY7XAG4D_cjs = require('./chunk-PY7XAG4D.cjs');
72
72
  var chunkVROIMIHB_cjs = require('./chunk-VROIMIHB.cjs');
73
73
  var chunkNYJIXR4Y_cjs = require('./chunk-NYJIXR4Y.cjs');
74
- var chunkYJP6DUFO_cjs = require('./chunk-YJP6DUFO.cjs');
74
+ var chunkPKD3JLS2_cjs = require('./chunk-PKD3JLS2.cjs');
75
75
  var chunkPJ6CC53R_cjs = require('./chunk-PJ6CC53R.cjs');
76
76
  var chunkW4Q4UEXA_cjs = require('./chunk-W4Q4UEXA.cjs');
77
77
  var chunkOCV33S5Q_cjs = require('./chunk-OCV33S5Q.cjs');
78
78
  var chunkRI56YPED_cjs = require('./chunk-RI56YPED.cjs');
79
- var chunk6XDPJWSC_cjs = require('./chunk-6XDPJWSC.cjs');
79
+ var chunkE7G22IQM_cjs = require('./chunk-E7G22IQM.cjs');
80
80
  var chunkBSDBI6H7_cjs = require('./chunk-BSDBI6H7.cjs');
81
81
  var chunkBVMABVC4_cjs = require('./chunk-BVMABVC4.cjs');
82
82
  var chunkG7EQ3JPX_cjs = require('./chunk-G7EQ3JPX.cjs');
@@ -85,15 +85,15 @@ var chunkXEEVDZDK_cjs = require('./chunk-XEEVDZDK.cjs');
85
85
  var chunkSRA2L3SQ_cjs = require('./chunk-SRA2L3SQ.cjs');
86
86
  var chunkMJWFNV3L_cjs = require('./chunk-MJWFNV3L.cjs');
87
87
  var chunkCW75IKA6_cjs = require('./chunk-CW75IKA6.cjs');
88
- var chunkL52N6BEN_cjs = require('./chunk-L52N6BEN.cjs');
88
+ var chunkAUOTJQGO_cjs = require('./chunk-AUOTJQGO.cjs');
89
89
  require('./chunk-I44YNYI6.cjs');
90
90
  var chunkZ5S5JEJD_cjs = require('./chunk-Z5S5JEJD.cjs');
91
91
  var chunkL7L5S2HO_cjs = require('./chunk-L7L5S2HO.cjs');
92
92
  var chunkYVL3XATO_cjs = require('./chunk-YVL3XATO.cjs');
93
93
  var chunkIINZWUGK_cjs = require('./chunk-IINZWUGK.cjs');
94
- var chunkBN75TLUN_cjs = require('./chunk-BN75TLUN.cjs');
94
+ var chunkNV2CWBI2_cjs = require('./chunk-NV2CWBI2.cjs');
95
95
  var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
96
- var chunkXJTFZLWH_cjs = require('./chunk-XJTFZLWH.cjs');
96
+ var chunkQO6PRHDX_cjs = require('./chunk-QO6PRHDX.cjs');
97
97
  var chunk2O7D6F67_cjs = require('./chunk-2O7D6F67.cjs');
98
98
  var chunk7IKLGH3Z_cjs = require('./chunk-7IKLGH3Z.cjs');
99
99
  var chunkNPKPCYAT_cjs = require('./chunk-NPKPCYAT.cjs');
@@ -235,10 +235,10 @@ function AddContactModal({
235
235
  }
236
236
  };
237
237
  const isEditing = !!contact?.id;
238
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.Modal, { open, onOpenChange, children: [
239
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: isEditing ? "Edit Contact" : title }) }),
238
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.Modal, { open, onOpenChange, children: [
239
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: isEditing ? "Edit Contact" : title }) }),
240
240
  /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
241
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: chunkS5RVSXDV_cjs.cn("space-y-4", className), children: [
241
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: chunkS5RVSXDV_cjs.cn("space-y-4", className), children: [
242
242
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-3", children: [
243
243
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
244
244
  /* @__PURE__ */ jsxRuntime.jsxs(
@@ -500,7 +500,7 @@ function AddContactModal({
500
500
  (!formData.customFields || formData.customFields.length === 0) && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: 'No custom fields added. Click "Add Field" to add custom information.' })
501
501
  ] })
502
502
  ] }),
503
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
503
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
504
504
  /* @__PURE__ */ jsxRuntime.jsx(
505
505
  chunkIINZWUGK_cjs.Button,
506
506
  {
@@ -1412,7 +1412,7 @@ function AIEmptyState({
1412
1412
  /* @__PURE__ */ jsxRuntime.jsx(SuggestedActions, { actions: suggestions, onSelect: onSuggestionSelect })
1413
1413
  ] }) : void 0;
1414
1414
  return /* @__PURE__ */ jsxRuntime.jsx(
1415
- chunkFQBTGS3E_cjs.EmptyState,
1415
+ chunkOFUKTVBN_cjs.EmptyState,
1416
1416
  {
1417
1417
  title,
1418
1418
  description,
@@ -1443,6 +1443,7 @@ var chatVariants = classVarianceAuthority.cva("flex flex-col", {
1443
1443
  size: "full"
1444
1444
  }
1445
1445
  });
1446
+ var normalizeLegacySlot = (node) => node || void 0;
1446
1447
  function AIChat({
1447
1448
  session,
1448
1449
  messages: messagesProp,
@@ -1472,6 +1473,9 @@ function AIChat({
1472
1473
  renderMessageFooter
1473
1474
  }) {
1474
1475
  const messagesContainerRef = React13__namespace.useRef(null);
1476
+ React13__namespace.useEffect(() => {
1477
+ chunkOYQ7GYAA_cjs.notifyComposerMigrationOnce("AIChat");
1478
+ }, []);
1475
1479
  const messages = React13__namespace.useMemo(
1476
1480
  () => session?.messages || messagesProp || [],
1477
1481
  [session?.messages, messagesProp]
@@ -1481,11 +1485,64 @@ function AIChat({
1481
1485
  const container = messagesContainerRef.current;
1482
1486
  if (container) container.scrollTop = container.scrollHeight;
1483
1487
  }, [messages]);
1484
- const handleSend = async (message) => {
1485
- if (message.content.trim() && onSendMessage) {
1486
- onSendMessage(message.content.trim());
1488
+ const {
1489
+ showAttachmentPicker,
1490
+ inputTrailing,
1491
+ onTypingStart,
1492
+ onTypingStop,
1493
+ value: hostValue,
1494
+ onValueChange: hostOnValueChange,
1495
+ onSend: hostOnSend,
1496
+ micSlot: hostMicSlot,
1497
+ ...composerRest
1498
+ } = composerProps ?? {};
1499
+ delete composerRest.showCameraButton;
1500
+ delete composerRest.variant;
1501
+ const hasInputTrailing = !!composerProps && "inputTrailing" in composerProps;
1502
+ const legacyAttachments = !!composerProps && "showAttachmentPicker" in composerProps ? showAttachmentPicker ?? true : false;
1503
+ const [draft, setDraft] = React13__namespace.useState("");
1504
+ const draftEpochRef = React13__namespace.useRef(0);
1505
+ const composerValue = hostValue ?? draft;
1506
+ const isHostControlled = hostValue !== void 0;
1507
+ const handleComposerValueChange = React13__namespace.useCallback(
1508
+ (value) => {
1509
+ draftEpochRef.current += 1;
1510
+ setDraft(value);
1511
+ if (isHostControlled) hostOnValueChange?.(value);
1512
+ },
1513
+ [isHostControlled, hostOnValueChange]
1514
+ );
1515
+ const { stopTyping } = chunkOFUKTVBN_cjs.useTypingEmulation({
1516
+ value: composerValue,
1517
+ onTypingStart,
1518
+ onTypingStop
1519
+ });
1520
+ const sendWithRestore = async (message, send) => {
1521
+ stopTyping();
1522
+ const epoch = draftEpochRef.current;
1523
+ try {
1524
+ await Promise.resolve(send(message));
1525
+ } catch (error) {
1526
+ if (draftEpochRef.current === epoch) {
1527
+ setDraft(message.content);
1528
+ if (isHostControlled) hostOnValueChange?.(message.content);
1529
+ }
1530
+ throw error;
1487
1531
  }
1488
1532
  };
1533
+ const handleSend = async (message) => {
1534
+ if (!onSendMessage) return;
1535
+ const content = message.content.trim();
1536
+ const attachments = message.attachments?.length ? message.attachments : void 0;
1537
+ if (!content && !attachments) return;
1538
+ await sendWithRestore(
1539
+ message,
1540
+ () => (
1541
+ // Keep the exact legacy call shape for text-only sends.
1542
+ attachments ? onSendMessage(content, attachments) : onSendMessage(content)
1543
+ )
1544
+ );
1545
+ };
1489
1546
  const handleSuggestionSelect = (action) => {
1490
1547
  if (onSuggestedAction) {
1491
1548
  onSuggestedAction(action);
@@ -1604,18 +1661,14 @@ function AIChat({
1604
1661
  onSelect: handleSuggestionSelect
1605
1662
  }
1606
1663
  ) }),
1607
- /* @__PURE__ */ jsxRuntime.jsx(
1608
- chunk5BVFVXHN_cjs.MessageComposer,
1664
+ /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "ai-chat-composer", className: "p-3", children: /* @__PURE__ */ jsxRuntime.jsx(
1665
+ chunkOYQ7GYAA_cjs.ChatComposer,
1609
1666
  {
1610
- onSend: handleSend,
1667
+ onSend: hostOnSend ? (message) => sendWithRestore(message, hostOnSend) : handleSend,
1611
1668
  placeholder: inputPlaceholder,
1612
1669
  disabled: isGenerating,
1613
1670
  isSending: isGenerating,
1614
- showAttachmentPicker: false,
1615
- showCameraButton: false,
1616
- showCharacterCount: false,
1617
- variant: "minimal",
1618
- inputTrailing: talkToText ? /* @__PURE__ */ jsxRuntime.jsx(
1671
+ micSlot: hostMicSlot !== void 0 ? hostMicSlot : hasInputTrailing ? normalizeLegacySlot(inputTrailing) : talkToText ? /* @__PURE__ */ jsxRuntime.jsx(
1619
1672
  chunkJTSKPDPH_cjs.RecordButton,
1620
1673
  {
1621
1674
  variant: "ghost",
@@ -1627,9 +1680,16 @@ function AIChat({
1627
1680
  onRecordingComplete
1628
1681
  }
1629
1682
  ) : void 0,
1630
- ...composerProps
1683
+ ...composerRest,
1684
+ allowAttachments: composerRest.allowAttachments ?? legacyAttachments,
1685
+ maxLength: composerRest.maxLength ?? 1600,
1686
+ inputLabel: composerRest.inputLabel ?? "Message",
1687
+ acceptedFileTypes: composerRest.acceptedFileTypes ?? (legacyAttachments ? chunkOYQ7GYAA_cjs.DEFAULT_ACCEPTED_FILE_TYPES : void 0),
1688
+ maxFileSize: composerRest.maxFileSize ?? (legacyAttachments ? chunkOYQ7GYAA_cjs.DEFAULT_MAX_FILE_SIZE : void 0),
1689
+ value: composerValue,
1690
+ onValueChange: handleComposerValueChange
1631
1691
  }
1632
- )
1692
+ ) })
1633
1693
  ]
1634
1694
  }
1635
1695
  )
@@ -1888,7 +1948,6 @@ function Toast({
1888
1948
  className: chunkS5RVSXDV_cjs.cn(
1889
1949
  "flex items-start gap-3 rounded-lg border p-4 shadow-lg",
1890
1950
  "max-w-[420px] min-w-[300px]",
1891
- "animate-slide-in-right rtl:animate-slide-in-left",
1892
1951
  styles.container
1893
1952
  ),
1894
1953
  children: [
@@ -1933,17 +1992,27 @@ var positionStyles = {
1933
1992
  "bottom-left": "bottom-4 start-4 items-start",
1934
1993
  "bottom-right": "bottom-4 end-4 items-end"
1935
1994
  };
1995
+ function toastEdge(position, isRtl) {
1996
+ if (position === "top-center") return "top";
1997
+ if (position === "bottom-center") return "bottom";
1998
+ const isStart = position.endsWith("-start") || position.endsWith("-left");
1999
+ return isStart === isRtl ? "right" : "left";
2000
+ }
2001
+ var TOAST_FALLBACK_ANIMATION = "animate-slide-in-right rtl:animate-slide-in-left";
1936
2002
  function ToastContainer({
1937
2003
  toasts,
1938
2004
  position,
1939
2005
  onDismiss
1940
2006
  }) {
1941
2007
  const context = useOptionalToast();
2008
+ const containerRef = React13__namespace.default.useRef(null);
2009
+ const isRtl = chunkQO6PRHDX_cjs.useDirection(containerRef) === "rtl";
1942
2010
  const resolvedPosition = position ?? context?.position ?? "bottom-end";
1943
- if (toasts.length === 0) return null;
2011
+ const edge = toastEdge(resolvedPosition, isRtl);
1944
2012
  return /* @__PURE__ */ jsxRuntime.jsx(
1945
2013
  "div",
1946
2014
  {
2015
+ ref: containerRef,
1947
2016
  "data-slot": "toast-container",
1948
2017
  className: chunkS5RVSXDV_cjs.cn(
1949
2018
  "pointer-events-none fixed z-50 flex flex-col gap-2",
@@ -1951,533 +2020,21 @@ function ToastContainer({
1951
2020
  ),
1952
2021
  "aria-live": "polite",
1953
2022
  "aria-atomic": "true",
1954
- children: toasts.map((toast) => /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-auto", children: /* @__PURE__ */ jsxRuntime.jsx(Toast, { ...toast, onClose: () => onDismiss(toast.id) }) }, toast.id))
2023
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkNV2CWBI2_cjs.AnimatedPresence, { children: toasts.map((toast) => /* @__PURE__ */ jsxRuntime.jsx(
2024
+ chunkNV2CWBI2_cjs.Animated,
2025
+ {
2026
+ preset: "toast",
2027
+ mode: "presence",
2028
+ custom: edge,
2029
+ className: "pointer-events-auto",
2030
+ fallbackClassName: TOAST_FALLBACK_ANIMATION,
2031
+ children: /* @__PURE__ */ jsxRuntime.jsx(Toast, { ...toast, onClose: () => onDismiss(toast.id) })
2032
+ },
2033
+ toast.id
2034
+ )) })
1955
2035
  }
1956
2036
  );
1957
2037
  }
1958
- var MENU_OFFSET_PX = 6;
1959
- var MENU_MAX_HEIGHT_PX = 320;
1960
- function optionKey(option) {
1961
- return `${option.provider}\0${option.model}`;
1962
- }
1963
- function renderedOptionKey(option, index) {
1964
- return `${option.id ?? optionKey(option)}\0${index}`;
1965
- }
1966
- function groupByProvider(models) {
1967
- const groups = /* @__PURE__ */ new Map();
1968
- for (const model of models) {
1969
- const group = groups.get(model.provider);
1970
- if (group) {
1971
- group.push(model);
1972
- } else {
1973
- groups.set(model.provider, [model]);
1974
- }
1975
- }
1976
- return Array.from(groups, ([provider, options]) => ({ provider, options }));
1977
- }
1978
- function getProviderLabel(models, provider) {
1979
- return models.find((model) => model.provider === provider && model.providerLabel)?.providerLabel ?? provider;
1980
- }
1981
- function ComposerModelSelector({
1982
- models,
1983
- value,
1984
- providerFilter,
1985
- onProviderFilterChange,
1986
- onChange,
1987
- disabled = false,
1988
- variant = "default",
1989
- className,
1990
- boundaryRef,
1991
- placeholder = "Model",
1992
- anyLabel = "Any",
1993
- emptyLabel = "No models",
1994
- ariaLabel = "Model",
1995
- effortOptions,
1996
- effort = null,
1997
- defaultEffort,
1998
- onEffortChange,
1999
- effortLabel = "Effort",
2000
- effortHint,
2001
- defaultBadgeLabel = "Default",
2002
- backLabel = "Back"
2003
- }) {
2004
- const [open, setOpen] = React13__namespace.useState(false);
2005
- const [view, setView] = React13__namespace.useState("models");
2006
- const [effortHighlight, setEffortHighlight] = React13__namespace.useState(0);
2007
- const [internalProviderFilter, setInternalProviderFilter] = React13__namespace.useState(null);
2008
- const [highlightedIndex, setHighlightedIndex] = React13__namespace.useState(0);
2009
- const listRef = React13__namespace.useRef(null);
2010
- const effortListRef = React13__namespace.useRef(null);
2011
- const menuId = React13__namespace.useId();
2012
- const {
2013
- anchorRef: triggerRef,
2014
- floatingRef: menuRef,
2015
- style: menuStyle
2016
- } = chunkAOHJILLU_cjs.useAnchoredPosition({
2017
- open,
2018
- placement: "top-start",
2019
- offset: MENU_OFFSET_PX,
2020
- matchMinWidth: true,
2021
- maxHeight: MENU_MAX_HEIGHT_PX,
2022
- allowFlip: false,
2023
- boundaryRef
2024
- });
2025
- const activeProviderFilter = providerFilter === void 0 ? internalProviderFilter : providerFilter;
2026
- const selectedKey = value ? optionKey(value) : null;
2027
- const selectedOption = models.find(
2028
- (model) => optionKey(model) === selectedKey
2029
- );
2030
- const providers = React13__namespace.useMemo(
2031
- () => Array.from(new Set(models.map((model) => model.provider))),
2032
- [models]
2033
- );
2034
- const providerLabels = React13__namespace.useMemo(
2035
- () => new Map(
2036
- providers.map((provider) => [
2037
- provider,
2038
- getProviderLabel(models, provider)
2039
- ])
2040
- ),
2041
- [models, providers]
2042
- );
2043
- const filteredModels = React13__namespace.useMemo(
2044
- () => activeProviderFilter === null ? models : models.filter((model) => model.provider === activeProviderFilter),
2045
- [activeProviderFilter, models]
2046
- );
2047
- const groupedModels = React13__namespace.useMemo(
2048
- () => groupByProvider(filteredModels),
2049
- [filteredModels]
2050
- );
2051
- const groupedRenderedModels = React13__namespace.useMemo(() => {
2052
- let index = 0;
2053
- return groupedModels.map((group) => ({
2054
- provider: group.provider,
2055
- options: group.options.map((option) => {
2056
- const rendered = {
2057
- option,
2058
- index,
2059
- key: renderedOptionKey(option, index)
2060
- };
2061
- index += 1;
2062
- return rendered;
2063
- })
2064
- }));
2065
- }, [groupedModels]);
2066
- const renderedModels = React13__namespace.useMemo(
2067
- () => groupedRenderedModels.flatMap((group) => group.options),
2068
- [groupedRenderedModels]
2069
- );
2070
- const getOptionId = React13__namespace.useCallback(
2071
- (index) => `${menuId}-option-${index}`,
2072
- [menuId]
2073
- );
2074
- const getEffortOptionId = React13__namespace.useCallback(
2075
- (index) => `${menuId}-effort-option-${index}`,
2076
- [menuId]
2077
- );
2078
- const activeOptionId = open && renderedModels[highlightedIndex] ? getOptionId(highlightedIndex) : void 0;
2079
- const selectedRenderedIndex = React13__namespace.useMemo(
2080
- () => selectedKey ? renderedModels.findIndex(
2081
- (renderedModel) => optionKey(renderedModel.option) === selectedKey
2082
- ) : -1,
2083
- [renderedModels, selectedKey]
2084
- );
2085
- const setProvider = React13__namespace.useCallback(
2086
- (provider) => {
2087
- if (providerFilter === void 0) {
2088
- setInternalProviderFilter(provider);
2089
- }
2090
- onProviderFilterChange?.(provider);
2091
- },
2092
- [onProviderFilterChange, providerFilter]
2093
- );
2094
- const close = React13__namespace.useCallback(
2095
- (restoreFocus = true) => {
2096
- setOpen(false);
2097
- if (restoreFocus) {
2098
- triggerRef.current?.focus({ preventScroll: true });
2099
- }
2100
- },
2101
- [triggerRef]
2102
- );
2103
- const selectModel = React13__namespace.useCallback(
2104
- (model) => {
2105
- onChange({ provider: model.provider, model: model.model });
2106
- close();
2107
- },
2108
- [close, onChange]
2109
- );
2110
- const efforts = React13__namespace.useMemo(() => effortOptions ?? [], [effortOptions]);
2111
- const activeEffortOptionId = open && efforts[effortHighlight] ? getEffortOptionId(effortHighlight) : void 0;
2112
- const selectedEffortOption = efforts.find(
2113
- (option) => option.value === effort
2114
- );
2115
- const selectEffort = React13__namespace.useCallback(
2116
- (value2) => {
2117
- onEffortChange?.(value2);
2118
- close();
2119
- },
2120
- [close, onEffortChange]
2121
- );
2122
- const handleEffortKeyDown = (event) => {
2123
- if (efforts.length === 0) return;
2124
- if (event.key === "ArrowDown") {
2125
- event.preventDefault();
2126
- setEffortHighlight((current) => (current + 1) % efforts.length);
2127
- }
2128
- if (event.key === "ArrowUp") {
2129
- event.preventDefault();
2130
- setEffortHighlight(
2131
- (current) => (current - 1 + efforts.length) % efforts.length
2132
- );
2133
- }
2134
- if (event.key === "Home") {
2135
- event.preventDefault();
2136
- setEffortHighlight(0);
2137
- }
2138
- if (event.key === "End") {
2139
- event.preventDefault();
2140
- setEffortHighlight(efforts.length - 1);
2141
- }
2142
- if (event.key === "ArrowLeft" || event.key === "Backspace") {
2143
- event.preventDefault();
2144
- setView("models");
2145
- }
2146
- if (event.key === "Enter" || event.key === " ") {
2147
- event.preventDefault();
2148
- const highlighted = efforts[effortHighlight];
2149
- if (highlighted) selectEffort(highlighted.value);
2150
- }
2151
- };
2152
- const outsideRefs = React13__namespace.useMemo(
2153
- () => [triggerRef, menuRef],
2154
- [triggerRef, menuRef]
2155
- );
2156
- chunkFSGEDDF2_cjs.useClickOutside(outsideRefs, () => close(false), open);
2157
- chunkFHY3K6PL_cjs.useEscapeKey(close, open);
2158
- React13__namespace.useEffect(() => {
2159
- if (!open) return;
2160
- setHighlightedIndex(selectedRenderedIndex >= 0 ? selectedRenderedIndex : 0);
2161
- }, [activeProviderFilter, open, selectedRenderedIndex]);
2162
- React13__namespace.useEffect(() => {
2163
- if (!open) return;
2164
- setView("models");
2165
- }, [open]);
2166
- React13__namespace.useEffect(() => {
2167
- if (!open) return;
2168
- const current = efforts.findIndex((option) => option.value === effort);
2169
- setEffortHighlight(current >= 0 ? current : 0);
2170
- }, [effort, efforts, open]);
2171
- React13__namespace.useEffect(() => {
2172
- if (!open) return;
2173
- setHighlightedIndex(
2174
- (current) => Math.min(current, Math.max(renderedModels.length - 1, 0))
2175
- );
2176
- }, [open, renderedModels.length]);
2177
- React13__namespace.useEffect(() => {
2178
- if (!open) return;
2179
- requestAnimationFrame(() => {
2180
- const target = view === "effort" ? effortListRef.current : listRef.current;
2181
- target?.focus({ preventScroll: true });
2182
- });
2183
- }, [open, view]);
2184
- const handleTriggerKeyDown = (event) => {
2185
- if (event.key === "ArrowDown" || event.key === "ArrowUp") {
2186
- event.preventDefault();
2187
- setOpen(true);
2188
- }
2189
- };
2190
- const handleMenuKeyDown = (event) => {
2191
- if (renderedModels.length === 0) return;
2192
- if (event.key === "ArrowDown") {
2193
- event.preventDefault();
2194
- setHighlightedIndex((current) => (current + 1) % renderedModels.length);
2195
- }
2196
- if (event.key === "ArrowUp") {
2197
- event.preventDefault();
2198
- setHighlightedIndex(
2199
- (current) => (current - 1 + renderedModels.length) % renderedModels.length
2200
- );
2201
- }
2202
- if (event.key === "Home") {
2203
- event.preventDefault();
2204
- setHighlightedIndex(0);
2205
- }
2206
- if (event.key === "End") {
2207
- event.preventDefault();
2208
- setHighlightedIndex(renderedModels.length - 1);
2209
- }
2210
- if (event.key === "Enter" || event.key === " ") {
2211
- event.preventDefault();
2212
- const highlightedModel = renderedModels[highlightedIndex]?.option;
2213
- if (highlightedModel) {
2214
- selectModel(highlightedModel);
2215
- }
2216
- }
2217
- };
2218
- return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2219
- /* @__PURE__ */ jsxRuntime.jsxs(
2220
- "button",
2221
- {
2222
- ref: triggerRef,
2223
- type: "button",
2224
- disabled,
2225
- "aria-haspopup": "listbox",
2226
- "aria-expanded": open,
2227
- "aria-controls": open ? menuId : void 0,
2228
- onClick: () => setOpen((current) => !current),
2229
- onKeyDown: handleTriggerKeyDown,
2230
- "data-slot": "composer-model-selector-trigger",
2231
- className: chunkS5RVSXDV_cjs.cn(
2232
- variant === "ghost" ? [
2233
- "inline-flex max-w-full min-w-0 items-center gap-1 rounded-md px-2 py-1 text-xs",
2234
- "text-neutral-600 dark:text-neutral-400",
2235
- "transition-colors duration-150",
2236
- "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-700 dark:hover:text-white",
2237
- "focus-visible:ring-primary-500 focus-visible:ring-2 focus-visible:outline-none",
2238
- "disabled:pointer-events-none disabled:opacity-40"
2239
- ] : [
2240
- "inline-flex h-8 max-w-full items-center gap-1.5 rounded-full border px-2.5 text-sm font-medium",
2241
- "border-border bg-background text-foreground shadow-sm",
2242
- "hover:bg-muted/50",
2243
- "focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
2244
- "disabled:cursor-not-allowed disabled:opacity-50"
2245
- ],
2246
- className
2247
- ),
2248
- children: [
2249
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: selectedOption?.label ?? selectedOption?.model ?? placeholder }),
2250
- selectedEffortOption && /* @__PURE__ */ jsxRuntime.jsx(
2251
- "span",
2252
- {
2253
- "data-slot": "composer-model-selector-trigger-effort",
2254
- className: "text-muted-foreground min-w-0 truncate font-normal",
2255
- children: selectedEffortOption.label
2256
- }
2257
- ),
2258
- /* @__PURE__ */ jsxRuntime.jsx(
2259
- lucideReact.ChevronUp,
2260
- {
2261
- "aria-hidden": "true",
2262
- className: chunkS5RVSXDV_cjs.cn(
2263
- "shrink-0",
2264
- variant === "ghost" ? "h-3 w-3" : "h-3.5 w-3.5"
2265
- )
2266
- }
2267
- )
2268
- ]
2269
- }
2270
- ),
2271
- open && ReactDOM.createPortal(
2272
- /* @__PURE__ */ jsxRuntime.jsxs(
2273
- "div",
2274
- {
2275
- ref: menuRef,
2276
- style: menuStyle,
2277
- "data-slot": "composer-model-selector-menu",
2278
- className: chunkS5RVSXDV_cjs.cn(
2279
- "border-border bg-card text-card-foreground flex w-80 max-w-full flex-col rounded-lg border shadow-lg",
2280
- "animate-in fade-in overflow-hidden duration-100"
2281
- ),
2282
- children: [
2283
- view === "models" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2284
- /* @__PURE__ */ jsxRuntime.jsx(
2285
- "div",
2286
- {
2287
- "data-slot": "composer-model-selector-provider-filter",
2288
- className: "border-border flex min-h-9 items-center gap-1 overflow-x-auto overflow-y-hidden border-b p-2",
2289
- children: [null, ...providers].map((provider) => {
2290
- const selected = activeProviderFilter === provider;
2291
- return /* @__PURE__ */ jsxRuntime.jsx(
2292
- "button",
2293
- {
2294
- type: "button",
2295
- "aria-pressed": selected,
2296
- onMouseDown: (event) => event.preventDefault(),
2297
- onClick: () => setProvider(provider),
2298
- className: chunkS5RVSXDV_cjs.cn(
2299
- "inline-flex h-6 shrink-0 items-center justify-center rounded-full px-2.5 text-xs font-medium whitespace-nowrap transition-colors",
2300
- "focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none",
2301
- selected ? "bg-primary text-primary-foreground" : "text-muted-foreground hover:bg-muted hover:text-foreground"
2302
- ),
2303
- children: provider === null ? anyLabel : providerLabels.get(provider) ?? provider
2304
- },
2305
- provider ?? "all-providers"
2306
- );
2307
- })
2308
- }
2309
- ),
2310
- /* @__PURE__ */ jsxRuntime.jsx(
2311
- "div",
2312
- {
2313
- ref: listRef,
2314
- id: menuId,
2315
- role: "listbox",
2316
- "aria-label": ariaLabel,
2317
- "aria-activedescendant": activeOptionId,
2318
- tabIndex: -1,
2319
- onKeyDown: handleMenuKeyDown,
2320
- className: "min-h-0 flex-1 overflow-y-auto p-1",
2321
- children: groupedModels.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground px-3 py-4 text-center text-sm", children: emptyLabel }) : groupedRenderedModels.map((group) => /* @__PURE__ */ jsxRuntime.jsxs(
2322
- "div",
2323
- {
2324
- role: "group",
2325
- "aria-label": providerLabels.get(group.provider) ?? group.provider,
2326
- children: [
2327
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-muted-foreground px-3 py-1.5 text-xs font-semibold uppercase", children: providerLabels.get(group.provider) ?? group.provider }),
2328
- group.options.map((renderedModel) => {
2329
- const { index, key, option: model } = renderedModel;
2330
- const selected = optionKey(model) === selectedKey;
2331
- const highlighted = index === highlightedIndex;
2332
- return /* @__PURE__ */ jsxRuntime.jsxs(
2333
- "button",
2334
- {
2335
- id: getOptionId(index),
2336
- type: "button",
2337
- role: "option",
2338
- "aria-selected": selected,
2339
- onMouseDown: (event) => event.preventDefault(),
2340
- onClick: () => selectModel(model),
2341
- onMouseEnter: () => setHighlightedIndex(index),
2342
- className: chunkS5RVSXDV_cjs.cn(
2343
- "flex w-full items-center gap-2 rounded-md px-3 py-2 text-start text-sm",
2344
- "focus-visible:ring-ring transition-colors focus-visible:ring-2 focus-visible:outline-none",
2345
- highlighted && "bg-muted",
2346
- selected && "bg-primary/10 text-primary"
2347
- ),
2348
- children: [
2349
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate", children: model.label ?? model.model }),
2350
- selected && /* @__PURE__ */ jsxRuntime.jsx(
2351
- lucideReact.Check,
2352
- {
2353
- "aria-hidden": "true",
2354
- className: "text-primary h-4 w-4 shrink-0"
2355
- }
2356
- )
2357
- ]
2358
- },
2359
- key
2360
- );
2361
- })
2362
- ]
2363
- },
2364
- group.provider
2365
- ))
2366
- }
2367
- ),
2368
- efforts.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-border border-t p-1", children: /* @__PURE__ */ jsxRuntime.jsxs(
2369
- "button",
2370
- {
2371
- type: "button",
2372
- "data-slot": "composer-model-selector-effort-row",
2373
- "aria-haspopup": "listbox",
2374
- onMouseDown: (event) => event.preventDefault(),
2375
- onClick: () => setView("effort"),
2376
- className: chunkS5RVSXDV_cjs.cn(
2377
- "flex w-full items-center gap-2 rounded-md px-3 py-2 text-start text-sm",
2378
- "hover:bg-muted transition-colors",
2379
- "focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none"
2380
- ),
2381
- children: [
2382
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 flex-1 truncate", children: effortLabel }),
2383
- selectedEffortOption && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground min-w-0 truncate", children: selectedEffortOption.label }),
2384
- /* @__PURE__ */ jsxRuntime.jsx(
2385
- lucideReact.ChevronRight,
2386
- {
2387
- "aria-hidden": "true",
2388
- className: "text-muted-foreground h-4 w-4 shrink-0 rtl:-scale-x-100"
2389
- }
2390
- )
2391
- ]
2392
- }
2393
- ) })
2394
- ] }),
2395
- view === "effort" && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2396
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-border flex items-center gap-1 border-b p-2", children: /* @__PURE__ */ jsxRuntime.jsxs(
2397
- "button",
2398
- {
2399
- type: "button",
2400
- "data-slot": "composer-model-selector-effort-back",
2401
- "aria-label": backLabel,
2402
- onMouseDown: (event) => event.preventDefault(),
2403
- onClick: () => setView("models"),
2404
- className: chunkS5RVSXDV_cjs.cn(
2405
- "inline-flex h-6 shrink-0 items-center gap-1 rounded-full px-2 text-xs font-medium",
2406
- "text-muted-foreground hover:bg-muted hover:text-foreground transition-colors",
2407
- "focus-visible:ring-ring focus-visible:ring-2 focus-visible:outline-none"
2408
- ),
2409
- children: [
2410
- /* @__PURE__ */ jsxRuntime.jsx(
2411
- lucideReact.ChevronLeft,
2412
- {
2413
- "aria-hidden": "true",
2414
- className: "h-3.5 w-3.5 rtl:-scale-x-100"
2415
- }
2416
- ),
2417
- effortLabel
2418
- ]
2419
- }
2420
- ) }),
2421
- effortHint && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground px-3 pt-2 text-xs", children: effortHint }),
2422
- /* @__PURE__ */ jsxRuntime.jsx(
2423
- "div",
2424
- {
2425
- ref: effortListRef,
2426
- id: menuId,
2427
- role: "listbox",
2428
- "aria-label": effortLabel,
2429
- "aria-activedescendant": activeEffortOptionId,
2430
- tabIndex: -1,
2431
- onKeyDown: handleEffortKeyDown,
2432
- className: "min-h-0 flex-1 overflow-y-auto p-1",
2433
- children: efforts.map((option, index) => {
2434
- const selected = option.value === effort;
2435
- const highlighted = index === effortHighlight;
2436
- return /* @__PURE__ */ jsxRuntime.jsxs(
2437
- "button",
2438
- {
2439
- id: getEffortOptionId(index),
2440
- type: "button",
2441
- role: "option",
2442
- "aria-selected": selected,
2443
- onMouseDown: (event) => event.preventDefault(),
2444
- onClick: () => selectEffort(option.value),
2445
- onMouseEnter: () => setEffortHighlight(index),
2446
- className: chunkS5RVSXDV_cjs.cn(
2447
- "flex w-full items-center gap-2 rounded-md px-3 py-2 text-start text-sm",
2448
- "focus-visible:ring-ring transition-colors focus-visible:ring-2 focus-visible:outline-none",
2449
- highlighted && "bg-muted",
2450
- selected && "bg-primary/10 text-primary"
2451
- ),
2452
- children: [
2453
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0 flex-1", children: [
2454
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate", children: option.label }),
2455
- option.description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground block truncate text-xs", children: option.description })
2456
- ] }),
2457
- option.value === defaultEffort && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "bg-muted text-muted-foreground shrink-0 rounded px-1.5 py-0.5 text-xs", children: defaultBadgeLabel }),
2458
- selected && /* @__PURE__ */ jsxRuntime.jsx(
2459
- lucideReact.Check,
2460
- {
2461
- "aria-hidden": "true",
2462
- className: "text-primary h-4 w-4 shrink-0"
2463
- }
2464
- )
2465
- ]
2466
- },
2467
- option.value
2468
- );
2469
- })
2470
- }
2471
- )
2472
- ] })
2473
- ]
2474
- }
2475
- ),
2476
- document.body
2477
- )
2478
- ] });
2479
- }
2480
- ComposerModelSelector.displayName = "ComposerModelSelector";
2481
2038
  var THINKING_OPTIONS = [
2482
2039
  {
2483
2040
  value: "never",
@@ -2598,20 +2155,17 @@ function OzwellChat({
2598
2155
  });
2599
2156
  setMessagesMenuOpen(false);
2600
2157
  };
2601
- const modelSelector = showModelSelector && models ? /* @__PURE__ */ jsxRuntime.jsx(
2602
- ComposerModelSelector,
2603
- {
2604
- models: models.options,
2605
- value: models.value,
2606
- onChange: models.onChange,
2607
- ...models.providerFilter !== void 0 ? {
2608
- providerFilter: models.providerFilter,
2609
- onProviderFilterChange: models.onProviderFilterChange
2610
- } : { onProviderFilterChange: models.onProviderFilterChange },
2611
- boundaryRef: shellRef,
2612
- className: "border-border bg-card text-foreground max-w-[min(142px,38vw)] shadow-sm"
2613
- }
2614
- ) : void 0;
2158
+ const modelSelectorProps = showModelSelector && models ? {
2159
+ models: models.options,
2160
+ value: models.value,
2161
+ onChange: models.onChange,
2162
+ ...models.providerFilter !== void 0 ? {
2163
+ providerFilter: models.providerFilter,
2164
+ onProviderFilterChange: models.onProviderFilterChange
2165
+ } : { onProviderFilterChange: models.onProviderFilterChange },
2166
+ boundaryRef: shellRef,
2167
+ className: "max-w-[min(160px,44vw)]"
2168
+ } : void 0;
2615
2169
  const startQueuedMessageEdit = () => {
2616
2170
  setQueuedMessageDraft(queuedMessage ?? "");
2617
2171
  setIsEditingQueuedMessage(true);
@@ -2712,7 +2266,7 @@ function OzwellChat({
2712
2266
  children: [
2713
2267
  (thinking?.enabled || showMessagesNav) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-border bg-card text-foreground flex items-center justify-between gap-2 border-b px-2.5 py-[7px] text-xs font-semibold", children: [
2714
2268
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-w-0 items-center gap-1.5", children: thinking?.enabled && /* @__PURE__ */ jsxRuntime.jsx(
2715
- chunk4SM3I7WE_cjs.Dropdown,
2269
+ chunkRXPEZXAB_cjs.Dropdown,
2716
2270
  {
2717
2271
  open: thinkingMenuOpen,
2718
2272
  onOpenChange: setThinkingMenuOpen,
@@ -2733,8 +2287,8 @@ function OzwellChat({
2733
2287
  ]
2734
2288
  }
2735
2289
  ),
2736
- children: /* @__PURE__ */ jsxRuntime.jsx(chunk4SM3I7WE_cjs.DropdownContent, { className: "p-1.5", children: THINKING_OPTIONS.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
2737
- chunk4SM3I7WE_cjs.DropdownItem,
2290
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkRXPEZXAB_cjs.DropdownContent, { className: "p-1.5", children: THINKING_OPTIONS.map((option) => /* @__PURE__ */ jsxRuntime.jsx(
2291
+ chunkRXPEZXAB_cjs.DropdownItem,
2738
2292
  {
2739
2293
  searchText: `${option.label} ${option.description}`,
2740
2294
  onClick: () => {
@@ -2774,7 +2328,7 @@ function OzwellChat({
2774
2328
  }
2775
2329
  ) }),
2776
2330
  showMessagesNav && /* @__PURE__ */ jsxRuntime.jsx(
2777
- chunk4SM3I7WE_cjs.Dropdown,
2331
+ chunkRXPEZXAB_cjs.Dropdown,
2778
2332
  {
2779
2333
  open: messagesMenuOpen,
2780
2334
  onOpenChange: setMessagesMenuOpen,
@@ -2794,8 +2348,8 @@ function OzwellChat({
2794
2348
  children: "Messages"
2795
2349
  }
2796
2350
  ),
2797
- children: /* @__PURE__ */ jsxRuntime.jsx(chunk4SM3I7WE_cjs.DropdownContent, { className: "max-h-60 overflow-y-auto p-1.5", children: userMessageItems.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
2798
- chunk4SM3I7WE_cjs.DropdownItem,
2351
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkRXPEZXAB_cjs.DropdownContent, { className: "max-h-60 overflow-y-auto p-1.5", children: userMessageItems.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(
2352
+ chunkRXPEZXAB_cjs.DropdownItem,
2799
2353
  {
2800
2354
  searchText: item.text,
2801
2355
  onClick: () => scrollToMessage(item.chatIndex),
@@ -2825,7 +2379,6 @@ function OzwellChat({
2825
2379
  {
2826
2380
  messages: chatMessages,
2827
2381
  isGenerating,
2828
- className: showModelSelector ? '[&_[data-slot="composer-input"]]:pe-[min(160px,44vw)]' : void 0,
2829
2382
  showHeader: false,
2830
2383
  height: "100%",
2831
2384
  variant: "embedded",
@@ -2835,9 +2388,9 @@ function OzwellChat({
2835
2388
  renderTextContent: renderMessageTextContent,
2836
2389
  renderMessageFooter: renderQueuedMessageFooter,
2837
2390
  composerProps: {
2838
- inputTrailing: modelSelector,
2839
2391
  disabled: false,
2840
- isSending: false
2392
+ isSending: false,
2393
+ ...modelSelectorProps ? { showModelSelector: true, modelSelectorProps } : {}
2841
2394
  }
2842
2395
  }
2843
2396
  ),
@@ -3309,7 +2862,7 @@ function OzwellSettingsMenu({
3309
2862
  fn?.();
3310
2863
  };
3311
2864
  return /* @__PURE__ */ jsxRuntime.jsxs(
3312
- chunk4SM3I7WE_cjs.Dropdown,
2865
+ chunkRXPEZXAB_cjs.Dropdown,
3313
2866
  {
3314
2867
  trigger,
3315
2868
  open,
@@ -3326,8 +2879,8 @@ function OzwellSettingsMenu({
3326
2879
  onScroll: updateHasMore,
3327
2880
  className: "max-h-[392px] overflow-x-hidden overflow-y-auto",
3328
2881
  children: [
3329
- /* @__PURE__ */ jsxRuntime.jsx(chunk4SM3I7WE_cjs.DropdownHeader, { title: "\u2699 Ozwell settings" }),
3330
- onManageVoices && /* @__PURE__ */ jsxRuntime.jsx(chunk4SM3I7WE_cjs.DropdownItem, { onClick: act(onManageVoices), children: /* @__PURE__ */ jsxRuntime.jsx(
2882
+ /* @__PURE__ */ jsxRuntime.jsx(chunkRXPEZXAB_cjs.DropdownHeader, { title: "\u2699 Ozwell settings" }),
2883
+ onManageVoices && /* @__PURE__ */ jsxRuntime.jsx(chunkRXPEZXAB_cjs.DropdownItem, { onClick: act(onManageVoices), children: /* @__PURE__ */ jsxRuntime.jsx(
3331
2884
  ItemLabel,
3332
2885
  {
3333
2886
  label: "Your voice",
@@ -6146,7 +5699,7 @@ function VoiceManager({ logoSrc }) {
6146
5699
  ] }),
6147
5700
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground mt-[26px] text-[12.5px]", children: "Voiceprints stay on your device \u2014 they\u2019re never uploaded." }),
6148
5701
  confirm && /* @__PURE__ */ jsxRuntime.jsx(
6149
- chunkYJP6DUFO_cjs.AlertDialog,
5702
+ chunkPKD3JLS2_cjs.AlertDialog,
6150
5703
  {
6151
5704
  open: true,
6152
5705
  onOpenChange: (o) => {
@@ -6224,9 +5777,9 @@ function HandsFreeChat({
6224
5777
  // Controlled input (value/onValueChange) comes from the hook — it fills the box with the live
6225
5778
  // caption while dictating, else the typed text. We only add the mic button here.
6226
5779
  ...oz.chatProps.composerProps,
6227
- // The composer's OWN mic button, driven by our shared stream (controlled mode disables its
5780
+ // The composer's OWN mic slot, driven by our shared stream (controlled mode disables its
6228
5781
  // internal recorder). So the built-in mic and "hey ozwell" both do the same thing — one mic.
6229
- inputTrailing: /* @__PURE__ */ jsxRuntime.jsx(
5782
+ micSlot: /* @__PURE__ */ jsxRuntime.jsx(
6230
5783
  "span",
6231
5784
  {
6232
5785
  onClickCapture: () => {
@@ -6251,12 +5804,12 @@ function HandsFreeChat({
6251
5804
  }
6252
5805
  )
6253
5806
  ] }),
6254
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.Modal, { open: voicesOpen, onOpenChange: setVoicesOpen, size: "lg", children: [
6255
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
6256
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Your voice" }),
6257
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
5807
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.Modal, { open: voicesOpen, onOpenChange: setVoicesOpen, size: "lg", children: [
5808
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
5809
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Your voice" }),
5810
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
6258
5811
  ] }),
6259
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsx(VoiceManager, { logoSrc }) })
5812
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsx(VoiceManager, { logoSrc }) })
6260
5813
  ] })
6261
5814
  ] });
6262
5815
  }
@@ -7356,12 +6909,12 @@ function AIReconciliationPanel({
7356
6909
  'AIReconciliationPanel: `onOpenChange` is required when `variant="modal"`.'
7357
6910
  );
7358
6911
  }
7359
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.Modal, { open: Boolean(open), onOpenChange, size: "2xl", children: [
7360
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
7361
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: title }),
7362
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
6912
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.Modal, { open: Boolean(open), onOpenChange, size: "2xl", children: [
6913
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
6914
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: title }),
6915
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
7363
6916
  ] }),
7364
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { className: "px-0 py-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
6917
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { className: "px-0 py-0", children: /* @__PURE__ */ jsxRuntime.jsxs(
7365
6918
  "div",
7366
6919
  {
7367
6920
  ref: containerRef,
@@ -7382,7 +6935,7 @@ function AIReconciliationPanel({
7382
6935
  ]
7383
6936
  }
7384
6937
  ) }),
7385
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalFooter, { children: effective.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { onClick: () => onOpenChange(false), children: "Close" }) : footerButtons })
6938
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalFooter, { children: effective.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { onClick: () => onOpenChange(false), children: "Close" }) : footerButtons })
7386
6939
  ] });
7387
6940
  }
7388
6941
  if (effective.length === 0) return null;
@@ -8008,8 +7561,8 @@ function ConcernRow({
8008
7561
  ]
8009
7562
  }
8010
7563
  ),
8011
- !readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunk6XDPJWSC_cjs.RowActionToolbar, { label: `Actions for ${current.text}`, align: "top", children: visibleActions.map((action) => /* @__PURE__ */ jsxRuntime.jsx(
8012
- chunk6XDPJWSC_cjs.RowIconButton,
7564
+ !readOnly && /* @__PURE__ */ jsxRuntime.jsx(chunkE7G22IQM_cjs.RowActionToolbar, { label: `Actions for ${current.text}`, align: "top", children: visibleActions.map((action) => /* @__PURE__ */ jsxRuntime.jsx(
7565
+ chunkE7G22IQM_cjs.RowIconButton,
8013
7566
  {
8014
7567
  label: ACTION_META[action].label,
8015
7568
  icon: ACTION_META[action].icon,
@@ -8378,11 +7931,11 @@ function OrderRow({
8378
7931
  "aria-label": `Edit order ${order.display}`,
8379
7932
  className: "flex flex-1 flex-wrap items-center gap-1.5",
8380
7933
  children: [
8381
- /* @__PURE__ */ jsxRuntime.jsx(
8382
- "input",
7934
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-40 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
7935
+ chunkZ5S5JEJD_cjs.Input,
8383
7936
  {
8384
- type: "text",
8385
7937
  autoFocus: true,
7938
+ size: "sm",
8386
7939
  value: editing.display,
8387
7940
  onChange: (e) => setEditing(
8388
7941
  (prev) => prev ? { ...prev, display: e.target.value } : prev
@@ -8392,17 +7945,13 @@ function OrderRow({
8392
7945
  else if (e.key === "Escape") setEditing(null);
8393
7946
  },
8394
7947
  "aria-label": "Order description",
8395
- className: chunkS5RVSXDV_cjs.cn(
8396
- "border-border bg-background text-foreground",
8397
- "h-7 min-w-40 flex-1 rounded-md border px-2 text-sm",
8398
- "focus:ring-ring focus:ring-2 focus:outline-none"
8399
- )
7948
+ className: "h-7"
8400
7949
  }
8401
- ),
8402
- /* @__PURE__ */ jsxRuntime.jsx(
8403
- "input",
7950
+ ) }),
7951
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-40", children: /* @__PURE__ */ jsxRuntime.jsx(
7952
+ chunkZ5S5JEJD_cjs.Input,
8404
7953
  {
8405
- type: "text",
7954
+ size: "sm",
8406
7955
  value: editing.detail,
8407
7956
  onChange: (e) => setEditing(
8408
7957
  (prev) => prev ? { ...prev, detail: e.target.value } : prev
@@ -8413,13 +7962,9 @@ function OrderRow({
8413
7962
  },
8414
7963
  placeholder: "detail (sig, timing\u2026)",
8415
7964
  "aria-label": "Order detail",
8416
- className: chunkS5RVSXDV_cjs.cn(
8417
- "border-border bg-background text-foreground placeholder:text-muted-foreground",
8418
- "h-7 w-40 rounded-md border px-2 text-xs",
8419
- "focus:ring-ring focus:ring-2 focus:outline-none"
8420
- )
7965
+ className: "h-7 text-xs"
8421
7966
  }
8422
- ),
7967
+ ) }),
8423
7968
  /* @__PURE__ */ jsxRuntime.jsx(
8424
7969
  chunkIINZWUGK_cjs.Button,
8425
7970
  {
@@ -8446,13 +7991,13 @@ function OrderRow({
8446
7991
  ) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8447
7992
  /* @__PURE__ */ jsxRuntime.jsx(OrderContent, { order }),
8448
7993
  interactive && /* @__PURE__ */ jsxRuntime.jsxs(
8449
- chunk6XDPJWSC_cjs.RowActionToolbar,
7994
+ chunkE7G22IQM_cjs.RowActionToolbar,
8450
7995
  {
8451
7996
  label: `Actions for ${order.display}`,
8452
7997
  group: "order",
8453
7998
  children: [
8454
7999
  canEdit && /* @__PURE__ */ jsxRuntime.jsx(
8455
- chunk6XDPJWSC_cjs.RowIconButton,
8000
+ chunkE7G22IQM_cjs.RowIconButton,
8456
8001
  {
8457
8002
  label: "Edit",
8458
8003
  icon: chunkL7L5S2HO_cjs.Pencil,
@@ -8463,7 +8008,7 @@ function OrderRow({
8463
8008
  (controls?.moveWithin || controls?.moveToProblem && controls.targets.some(
8464
8009
  (t) => t.concernId !== order.concernId
8465
8010
  )) && /* @__PURE__ */ jsxRuntime.jsxs(
8466
- chunk4SM3I7WE_cjs.Dropdown,
8011
+ chunkRXPEZXAB_cjs.Dropdown,
8467
8012
  {
8468
8013
  open: menuOpen,
8469
8014
  onOpenChange: setMenuOpen,
@@ -8481,7 +8026,7 @@ function OrderRow({
8481
8026
  children: [
8482
8027
  controls?.moveWithin && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8483
8028
  /* @__PURE__ */ jsxRuntime.jsx(
8484
- chunk4SM3I7WE_cjs.DropdownItem,
8029
+ chunkRXPEZXAB_cjs.DropdownItem,
8485
8030
  {
8486
8031
  icon: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.ChevronUp, { size: 14 }),
8487
8032
  onClick: pick(() => controls.moveWithin?.(order, -1)),
@@ -8489,7 +8034,7 @@ function OrderRow({
8489
8034
  }
8490
8035
  ),
8491
8036
  /* @__PURE__ */ jsxRuntime.jsx(
8492
- chunk4SM3I7WE_cjs.DropdownItem,
8037
+ chunkRXPEZXAB_cjs.DropdownItem,
8493
8038
  {
8494
8039
  icon: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.ChevronDown, { size: 14 }),
8495
8040
  onClick: pick(() => controls.moveWithin?.(order, 1)),
@@ -8500,9 +8045,9 @@ function OrderRow({
8500
8045
  controls?.moveToProblem && controls.targets.some(
8501
8046
  (t) => t.concernId !== order.concernId
8502
8047
  ) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8503
- controls.moveWithin && /* @__PURE__ */ jsxRuntime.jsx(chunk4SM3I7WE_cjs.DropdownSeparator, {}),
8048
+ controls.moveWithin && /* @__PURE__ */ jsxRuntime.jsx(chunkRXPEZXAB_cjs.DropdownSeparator, {}),
8504
8049
  controls.targets.filter((t) => t.concernId !== order.concernId).map((t) => /* @__PURE__ */ jsxRuntime.jsxs(
8505
- chunk4SM3I7WE_cjs.DropdownItem,
8050
+ chunkRXPEZXAB_cjs.DropdownItem,
8506
8051
  {
8507
8052
  icon: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Link, { size: 14 }),
8508
8053
  onClick: pick(
@@ -8520,7 +8065,7 @@ function OrderRow({
8520
8065
  }
8521
8066
  ),
8522
8067
  controls?.remove && /* @__PURE__ */ jsxRuntime.jsx(
8523
- chunk6XDPJWSC_cjs.RowIconButton,
8068
+ chunkE7G22IQM_cjs.RowIconButton,
8524
8069
  {
8525
8070
  label: "Remove",
8526
8071
  icon: chunkL7L5S2HO_cjs.Trash2,
@@ -8538,6 +8083,7 @@ function OrderRow({
8538
8083
  );
8539
8084
  }
8540
8085
  function AddOrderForm({
8086
+ id,
8541
8087
  problemText,
8542
8088
  onSubmit,
8543
8089
  onCancel,
@@ -8572,6 +8118,7 @@ function AddOrderForm({
8572
8118
  return /* @__PURE__ */ jsxRuntime.jsxs(
8573
8119
  "div",
8574
8120
  {
8121
+ id,
8575
8122
  role: "form",
8576
8123
  "aria-label": `Add order for ${problemText}`,
8577
8124
  className: "border-border bg-muted/40 ms-2.5 mt-1.5 flex flex-wrap items-center gap-1.5 rounded-md border border-dashed p-2",
@@ -8610,12 +8157,11 @@ function AddOrderForm({
8610
8157
  });
8611
8158
  }
8612
8159
  }) }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
8613
- /* @__PURE__ */ jsxRuntime.jsx(
8614
- "input",
8160
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-48 flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(
8161
+ chunkZ5S5JEJD_cjs.Input,
8615
8162
  {
8616
8163
  ref: inputRef,
8617
- type: "text",
8618
- "data-slot": "input",
8164
+ size: "sm",
8619
8165
  value: display,
8620
8166
  onChange: (e) => setDisplay(e.target.value),
8621
8167
  onKeyDown: (e) => {
@@ -8623,14 +8169,9 @@ function AddOrderForm({
8623
8169
  else if (e.key === "Escape") onCancel();
8624
8170
  },
8625
8171
  placeholder: "e.g. lisinopril 10 mg tablet \u2014 1 po daily",
8626
- "aria-label": "Order description",
8627
- className: chunkS5RVSXDV_cjs.cn(
8628
- "border-border bg-background text-foreground placeholder:text-muted-foreground",
8629
- "h-8 min-w-48 flex-1 rounded-md border px-2.5 text-sm",
8630
- "focus:ring-ring focus:ring-2 focus:outline-none"
8631
- )
8172
+ "aria-label": "Order description"
8632
8173
  }
8633
- ),
8174
+ ) }),
8634
8175
  /* @__PURE__ */ jsxRuntime.jsx(
8635
8176
  chunkIINZWUGK_cjs.Button,
8636
8177
  {
@@ -8667,6 +8208,7 @@ var Assessment = React13__namespace.forwardRef(
8667
8208
  showPlan = true,
8668
8209
  onShowPlanChange,
8669
8210
  onAction,
8211
+ onRemoveAssessment,
8670
8212
  onAddOrder,
8671
8213
  onAddAssessment,
8672
8214
  onLinkOrder,
@@ -8683,6 +8225,7 @@ var Assessment = React13__namespace.forwardRef(
8683
8225
  "data-testid": dataTestId,
8684
8226
  ...props
8685
8227
  }, ref) => {
8228
+ const instanceId = React13__namespace.useId();
8686
8229
  const [addingFor, setAddingFor] = React13__namespace.useState(null);
8687
8230
  const [addMode, setAddMode] = React13__namespace.useState(
8688
8231
  defaultAddMode
@@ -8691,7 +8234,7 @@ var Assessment = React13__namespace.forwardRef(
8691
8234
  null
8692
8235
  );
8693
8236
  const [announcement, setAnnouncement] = chunkYVPC65ZJ_cjs.useLiveAnnouncement();
8694
- const ambientCodeLookup = chunk6XDPJWSC_cjs.useCodeLookupConfig();
8237
+ const ambientCodeLookup = chunkE7G22IQM_cjs.useCodeLookupConfig();
8695
8238
  const effectiveRenderOrderSearch = renderOrderSearch === false ? void 0 : renderOrderSearch ?? (ambientCodeLookup ? contextOrderSearch(ambientCodeLookup) : void 0);
8696
8239
  const concernById = React13__namespace.useMemo(
8697
8240
  () => new Map(concerns.map((c) => [c.concernId, c])),
@@ -8883,18 +8426,15 @@ var Assessment = React13__namespace.forwardRef(
8883
8426
  children: [
8884
8427
  title !== null && /* @__PURE__ */ jsxRuntime.jsxs(chunkMJWFNV3L_cjs.CardHeader, { className: "border-border bg-muted/50 flex flex-row items-center justify-between border-b px-4 py-3", children: [
8885
8428
  /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-foreground text-sm font-semibold tracking-wide uppercase", children: title }),
8886
- onShowPlanChange && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "text-muted-foreground flex items-center gap-1.5 text-xs font-medium", children: [
8887
- /* @__PURE__ */ jsxRuntime.jsx(
8888
- "input",
8889
- {
8890
- type: "checkbox",
8891
- checked: showPlan,
8892
- onChange: (e) => onShowPlanChange(e.target.checked),
8893
- className: "accent-primary-600 h-3.5 w-3.5"
8894
- }
8895
- ),
8896
- "Show plan"
8897
- ] })
8429
+ onShowPlanChange && /* @__PURE__ */ jsxRuntime.jsx(
8430
+ chunk7AECNMYV_cjs.Checkbox,
8431
+ {
8432
+ size: "sm",
8433
+ checked: showPlan,
8434
+ onChange: (e) => onShowPlanChange(e.target.checked),
8435
+ label: "Show plan"
8436
+ }
8437
+ )
8898
8438
  ] }),
8899
8439
  /* @__PURE__ */ jsxRuntime.jsxs(chunkMJWFNV3L_cjs.CardContent, { className: "space-y-4 px-4 py-4", children: [
8900
8440
  items.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "No problems assessed this visit." }),
@@ -8906,6 +8446,7 @@ var Assessment = React13__namespace.forwardRef(
8906
8446
  );
8907
8447
  const bp = blockProps(item.concernId);
8908
8448
  const formOpen = addingFor === item.concernId;
8449
+ const addOrderFormId = `${instanceId}-add-order-${item.concernId}`;
8909
8450
  return /* @__PURE__ */ jsxRuntime.jsxs(
8910
8451
  "li",
8911
8452
  {
@@ -8946,36 +8487,62 @@ var Assessment = React13__namespace.forwardRef(
8946
8487
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground font-medium", children: assertion.text }),
8947
8488
  assertion.verificationStatus !== "confirmed" && /* @__PURE__ */ jsxRuntime.jsx(chunkYVL3XATO_cjs.Badge, { variant: "warning", size: "sm", children: assertion.verificationStatus }),
8948
8489
  /* @__PURE__ */ jsxRuntime.jsx(CodingChips, { coding: assertion.coding }),
8949
- !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
8950
- chunk6XDPJWSC_cjs.RowActionToolbar,
8490
+ !readOnly && (onAction || onAddOrder || onRemoveAssessment) && /* @__PURE__ */ jsxRuntime.jsxs(
8491
+ chunkE7G22IQM_cjs.RowActionToolbar,
8951
8492
  {
8952
8493
  label: `Actions for ${assertion.text}`,
8953
8494
  align: "top",
8954
- children: Object.keys(ACTION_META2).map(
8955
- (action) => {
8956
- const meta = ACTION_META2[action];
8957
- if (action === "add-order" && !onAddOrder && !onAction)
8958
- return null;
8959
- return /* @__PURE__ */ jsxRuntime.jsx(
8960
- chunk6XDPJWSC_cjs.RowIconButton,
8961
- {
8962
- label: meta.label,
8963
- icon: meta.icon,
8964
- size: "sm",
8965
- onClick: () => {
8966
- if (action === "add-order" && onAddOrder) {
8967
- setAddingFor(
8968
- (prev) => prev === item.concernId ? null : item.concernId
8969
- );
8970
- } else {
8971
- onAction?.(item, action);
8495
+ className: chunkS5RVSXDV_cjs.cn(
8496
+ "pointer-fine:group-has-[[data-order-id]:hover]:pointer-events-none",
8497
+ "pointer-fine:group-has-[[data-order-id]:hover]:opacity-0",
8498
+ "pointer-fine:group-has-[[data-order-id]:focus-within]:pointer-events-none",
8499
+ "pointer-fine:group-has-[[data-order-id]:focus-within]:opacity-0"
8500
+ ),
8501
+ children: [
8502
+ Object.keys(ACTION_META2).map(
8503
+ (action) => {
8504
+ const meta = ACTION_META2[action];
8505
+ if (action !== "add-order" && !onAction)
8506
+ return null;
8507
+ if (action === "add-order" && !onAddOrder && !onAction)
8508
+ return null;
8509
+ return /* @__PURE__ */ jsxRuntime.jsx(
8510
+ chunkE7G22IQM_cjs.RowIconButton,
8511
+ {
8512
+ label: meta.label,
8513
+ icon: meta.icon,
8514
+ size: "sm",
8515
+ expanded: action === "add-order" && onAddOrder ? addingFor === item.concernId : void 0,
8516
+ controls: action === "add-order" && onAddOrder ? addOrderFormId : void 0,
8517
+ onClick: () => {
8518
+ if (action === "add-order" && onAddOrder) {
8519
+ setAddingFor(
8520
+ (prev) => prev === item.concernId ? null : item.concernId
8521
+ );
8522
+ } else {
8523
+ onAction?.(item, action);
8524
+ }
8972
8525
  }
8973
- }
8974
- },
8975
- action
8976
- );
8977
- }
8978
- )
8526
+ },
8527
+ action
8528
+ );
8529
+ }
8530
+ ),
8531
+ onRemoveAssessment && /* @__PURE__ */ jsxRuntime.jsx(
8532
+ chunkE7G22IQM_cjs.RowIconButton,
8533
+ {
8534
+ label: `Remove ${assertion.text} from assessment`,
8535
+ icon: chunkL7L5S2HO_cjs.Trash2,
8536
+ size: "sm",
8537
+ onClick: () => {
8538
+ onRemoveAssessment(item);
8539
+ setAnnouncement(
8540
+ `${assertion.text} removed from assessment`
8541
+ );
8542
+ }
8543
+ }
8544
+ )
8545
+ ]
8979
8546
  }
8980
8547
  )
8981
8548
  ]
@@ -9001,8 +8568,15 @@ var Assessment = React13__namespace.forwardRef(
9001
8568
  !readOnly && onAddOrder && addingFor === item.concernId && /* @__PURE__ */ jsxRuntime.jsx(
9002
8569
  AddOrderForm,
9003
8570
  {
8571
+ id: addOrderFormId,
9004
8572
  problemText: assertion.text,
9005
- onSubmit: (order) => onAddOrder(item, order),
8573
+ onSubmit: (order) => {
8574
+ onAddOrder(item, order);
8575
+ setAnnouncement(
8576
+ `${order.display} added to ${assertion.text}`
8577
+ );
8578
+ setAddingFor(null);
8579
+ },
9006
8580
  onCancel: () => setAddingFor(null),
9007
8581
  renderSearch: effectiveRenderOrderSearch
9008
8582
  }
@@ -11714,7 +11288,7 @@ function BusinessHoursDaysEditor({
11714
11288
  ),
11715
11289
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
11716
11290
  hours.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
11717
- chunk4SM3I7WE_cjs.Dropdown,
11291
+ chunkRXPEZXAB_cjs.Dropdown,
11718
11292
  {
11719
11293
  placement: "bottom-end",
11720
11294
  trigger: /* @__PURE__ */ jsxRuntime.jsxs(
@@ -11733,7 +11307,7 @@ function BusinessHoursDaysEditor({
11733
11307
  ),
11734
11308
  children: [
11735
11309
  /* @__PURE__ */ jsxRuntime.jsx(
11736
- chunk4SM3I7WE_cjs.DropdownItem,
11310
+ chunkRXPEZXAB_cjs.DropdownItem,
11737
11311
  {
11738
11312
  onClick: () => handleCopyToAll(dayIndex),
11739
11313
  disabled,
@@ -11741,7 +11315,7 @@ function BusinessHoursDaysEditor({
11741
11315
  }
11742
11316
  ),
11743
11317
  /* @__PURE__ */ jsxRuntime.jsx(
11744
- chunk4SM3I7WE_cjs.DropdownItem,
11318
+ chunkRXPEZXAB_cjs.DropdownItem,
11745
11319
  {
11746
11320
  onClick: () => handleCopyToWeekdays(dayIndex),
11747
11321
  disabled,
@@ -12478,599 +12052,6 @@ var CaseManagementHeader = React13__namespace.forwardRef(
12478
12052
  }
12479
12053
  );
12480
12054
  CaseManagementHeader.displayName = "CaseManagementHeader";
12481
- var iconButtonClasses = chunkS5RVSXDV_cjs.cn(
12482
- "flex h-8 w-8 shrink-0 items-center justify-center rounded-lg",
12483
- "text-neutral-500 dark:text-neutral-400",
12484
- "transition-colors duration-150",
12485
- "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-700 dark:hover:text-white",
12486
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
12487
- "disabled:pointer-events-none disabled:opacity-40"
12488
- );
12489
- var selectorTriggerClasses = chunkS5RVSXDV_cjs.cn(
12490
- "flex min-w-0 items-center gap-1 rounded-md px-2 py-1 text-xs",
12491
- "text-neutral-600 dark:text-neutral-400",
12492
- "transition-colors duration-150",
12493
- "hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-700 dark:hover:text-white",
12494
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary-500",
12495
- "disabled:pointer-events-none disabled:opacity-40"
12496
- );
12497
- var MAX_INPUT_HEIGHT = 160;
12498
- var ChatComposer = React13__namespace.forwardRef(function ChatComposer2({
12499
- onSend,
12500
- value: controlledValue,
12501
- onValueChange,
12502
- placeholder = "Type a message\u2026",
12503
- disabled = false,
12504
- isSending = false,
12505
- autoFocus = false,
12506
- maxLength,
12507
- showCharacterCount = false,
12508
- canSendWhenEmpty = false,
12509
- maxHeight = MAX_INPUT_HEIGHT,
12510
- textareaProps,
12511
- addMenuItems,
12512
- allowAttachments = true,
12513
- acceptedFileTypes,
12514
- maxFileSize,
12515
- maxAttachments = 10,
12516
- mentionOptions,
12517
- showMic = false,
12518
- onMicClick,
12519
- micSlot,
12520
- micBehavior = "always",
12521
- isStreaming = false,
12522
- onStop,
12523
- showAgentSelector = false,
12524
- agents = [],
12525
- selectedAgent = null,
12526
- onAgentChange,
12527
- showModelSelector = false,
12528
- modelSelectorProps,
12529
- readOnly = false,
12530
- readOnlyMessage = "You have read-only access and cannot send messages.",
12531
- onError,
12532
- attachmentLimitLabel,
12533
- sendFailedLabel = "Failed to send message",
12534
- sendingLabel = "Sending message\u2026",
12535
- inputLabel = "Message input",
12536
- addMenuLabel = "Add to message",
12537
- attachFilesLabel = "Attach files",
12538
- micLabel = "Start voice input",
12539
- sendLabel = "Send message",
12540
- stopLabel = "Stop generating",
12541
- agentSelectorLabel = "Select agent",
12542
- mentionListLabel = "Mention",
12543
- dropFilesLabel = "Drop files here",
12544
- className
12545
- }, ref) {
12546
- const [internalValue, setInternalValue] = React13__namespace.useState("");
12547
- const isControlled = controlledValue !== void 0;
12548
- const value = isControlled ? controlledValue : internalValue;
12549
- const [attachments, setAttachments] = React13__namespace.useState([]);
12550
- const attachmentsRef = React13__namespace.useRef(attachments);
12551
- attachmentsRef.current = attachments;
12552
- const textareaRef = React13__namespace.useRef(null);
12553
- const fileInputRef = React13__namespace.useRef(null);
12554
- const [addMenuOpen, setAddMenuOpen] = React13__namespace.useState(false);
12555
- const [agentMenuOpen, setAgentMenuOpen] = React13__namespace.useState(false);
12556
- const hasText = value.trim().length > 0;
12557
- const hasContent = hasText || attachments.length > 0;
12558
- const isOverLimit = maxLength !== void 0 && value.length > maxLength;
12559
- const canSend = (hasContent || canSendWhenEmpty) && onSend !== void 0 && !disabled && !isSending && !isStreaming && !isOverLimit;
12560
- const setValue = React13__namespace.useCallback(
12561
- (next) => {
12562
- if (!isControlled) setInternalValue(next);
12563
- onValueChange?.(next);
12564
- },
12565
- [isControlled, onValueChange]
12566
- );
12567
- const mention = chunk5BVFVXHN_cjs.useMentionAutocomplete({
12568
- options: mentionOptions,
12569
- value,
12570
- setValue,
12571
- textareaRef
12572
- });
12573
- const resizeTextarea = React13__namespace.useCallback(() => {
12574
- const textarea = textareaRef.current;
12575
- if (!textarea) return;
12576
- textarea.style.height = "auto";
12577
- if (textarea.scrollHeight === 0) return;
12578
- textarea.style.height = `${textarea.scrollHeight}px`;
12579
- }, []);
12580
- React13__namespace.useLayoutEffect(resizeTextarea, [resizeTextarea, value]);
12581
- React13__namespace.useEffect(() => {
12582
- const textarea = textareaRef.current;
12583
- if (!textarea || typeof ResizeObserver === "undefined") return;
12584
- let frame = 0;
12585
- const observer = new ResizeObserver(() => {
12586
- cancelAnimationFrame(frame);
12587
- frame = requestAnimationFrame(resizeTextarea);
12588
- });
12589
- observer.observe(textarea);
12590
- return () => {
12591
- cancelAnimationFrame(frame);
12592
- observer.disconnect();
12593
- };
12594
- }, [resizeTextarea]);
12595
- const addFiles = React13__namespace.useCallback(
12596
- (files) => {
12597
- if (!allowAttachments || files.length === 0) return;
12598
- const limitMessage = attachmentLimitLabel ?? `Attachment limit reached (max ${maxAttachments})`;
12599
- const room = maxAttachments - attachmentsRef.current.length;
12600
- if (files.length > room) {
12601
- onError?.(limitMessage, { reason: "attachment-limit" });
12602
- if (room <= 0) return;
12603
- }
12604
- const staged = [];
12605
- for (const file of files.slice(0, Math.max(room, 0))) {
12606
- const typeCheck = chunk5BVFVXHN_cjs.validateFile(file, acceptedFileTypes, void 0);
12607
- if (!typeCheck.valid) {
12608
- onError?.(`${file.name}: ${typeCheck.error}`, {
12609
- reason: "file-type",
12610
- file
12611
- });
12612
- continue;
12613
- }
12614
- const sizeCheck = chunk5BVFVXHN_cjs.validateFile(file, void 0, maxFileSize);
12615
- if (!sizeCheck.valid) {
12616
- onError?.(`${file.name}: ${sizeCheck.error}`, {
12617
- reason: "file-size",
12618
- file
12619
- });
12620
- continue;
12621
- }
12622
- const type = chunk5BVFVXHN_cjs.getFileType(file.type);
12623
- staged.push({
12624
- id: chunk5BVFVXHN_cjs.generateAttachmentId(),
12625
- file,
12626
- type,
12627
- previewUrl: type === "image" || type === "video" ? URL.createObjectURL(file) : void 0
12628
- });
12629
- }
12630
- if (staged.length > 0) {
12631
- attachmentsRef.current = [...attachmentsRef.current, ...staged];
12632
- setAttachments((current) => [...current, ...staged]);
12633
- }
12634
- },
12635
- [
12636
- allowAttachments,
12637
- maxAttachments,
12638
- acceptedFileTypes,
12639
- maxFileSize,
12640
- onError,
12641
- attachmentLimitLabel
12642
- ]
12643
- );
12644
- const removeAttachment = React13__namespace.useCallback((id) => {
12645
- const target = attachmentsRef.current.find(
12646
- (attachment) => attachment.id === id
12647
- );
12648
- if (target?.previewUrl) URL.revokeObjectURL(target.previewUrl);
12649
- attachmentsRef.current = attachmentsRef.current.filter(
12650
- (attachment) => attachment.id !== id
12651
- );
12652
- setAttachments(
12653
- (current) => current.filter((attachment) => attachment.id !== id)
12654
- );
12655
- }, []);
12656
- React13__namespace.useEffect(() => {
12657
- return () => {
12658
- for (const attachment of attachmentsRef.current) {
12659
- if (attachment.previewUrl) URL.revokeObjectURL(attachment.previewUrl);
12660
- }
12661
- };
12662
- }, []);
12663
- const handleFileInputChange = (event) => {
12664
- const files = Array.from(event.target.files ?? []);
12665
- addFiles(files);
12666
- event.target.value = "";
12667
- };
12668
- const handlePaste = (event) => {
12669
- if (!allowAttachments) return;
12670
- const files = Array.from(event.clipboardData.files);
12671
- if (files.length > 0) {
12672
- event.preventDefault();
12673
- addFiles(files);
12674
- }
12675
- };
12676
- React13__namespace.useImperativeHandle(
12677
- ref,
12678
- () => ({
12679
- addFiles,
12680
- focus: () => textareaRef.current?.focus(),
12681
- getTextarea: () => textareaRef.current
12682
- }),
12683
- [addFiles]
12684
- );
12685
- const handleSend = () => {
12686
- if (!canSend || !onSend) return;
12687
- const message = {
12688
- content: value.trim(),
12689
- attachments: attachments.map((attachment) => attachment.file)
12690
- };
12691
- for (const attachment of attachments) {
12692
- if (attachment.previewUrl) URL.revokeObjectURL(attachment.previewUrl);
12693
- }
12694
- attachmentsRef.current = [];
12695
- setAttachments([]);
12696
- setValue("");
12697
- try {
12698
- Promise.resolve(onSend(message)).catch(() => {
12699
- onError?.(sendFailedLabel, { reason: "send-failed" });
12700
- });
12701
- } catch {
12702
- onError?.(sendFailedLabel, { reason: "send-failed" });
12703
- }
12704
- textareaRef.current?.focus();
12705
- };
12706
- const handleKeyDown = (event) => {
12707
- if (mention.handleKeyDown(event)) return;
12708
- if (event.key === "Enter" && !event.shiftKey) {
12709
- event.preventDefault();
12710
- handleSend();
12711
- }
12712
- };
12713
- if (readOnly) {
12714
- return /* @__PURE__ */ jsxRuntime.jsxs(
12715
- "div",
12716
- {
12717
- "data-slot": "chat-composer",
12718
- role: "status",
12719
- className: chunkS5RVSXDV_cjs.cn(
12720
- "flex items-center gap-2 rounded-xl border px-4 py-3 text-sm",
12721
- "border-amber-300 bg-amber-50 text-amber-900",
12722
- "dark:border-amber-700 dark:bg-amber-950 dark:text-amber-200",
12723
- className
12724
- ),
12725
- children: [
12726
- /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.AlertTriangle, { className: "h-4 w-4 shrink-0", "aria-hidden": "true" }),
12727
- /* @__PURE__ */ jsxRuntime.jsx("span", { "data-slot": "chat-composer-readonly", children: readOnlyMessage })
12728
- ]
12729
- }
12730
- );
12731
- }
12732
- const showAddMenu = allowAttachments || addMenuItems && addMenuItems.length > 0;
12733
- const micVisible = (showMic || onMicClick !== void 0 || micSlot !== void 0) && (micBehavior === "always" || !hasContent);
12734
- const showSelectorRow = showAgentSelector || showModelSelector;
12735
- const selectedAgentOption = agents.find((agent) => agent.id === selectedAgent) ?? null;
12736
- const cells = {
12737
- input: "col-span-3 col-start-1 row-start-1 px-1 pt-1 md:col-span-1 md:col-start-2 md:self-end md:px-0 md:py-1.5",
12738
- textarea: "px-2 pt-2 pb-1 md:py-1.5",
12739
- add: "col-start-1 row-start-2 pb-2 ps-2 md:row-start-1 md:self-end md:p-1.5 md:pe-0.5",
12740
- actions: "col-start-3 row-start-2 flex items-center gap-1 pb-2 pe-2 md:row-start-1 md:self-end md:gap-0.5 md:p-1.5 md:ps-0.5"
12741
- };
12742
- const composerCard = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
12743
- attachments.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
12744
- "div",
12745
- {
12746
- "data-slot": "chat-composer-attachments",
12747
- className: "flex flex-wrap gap-2 px-3 pt-3",
12748
- children: attachments.map((attachment) => /* @__PURE__ */ jsxRuntime.jsx(
12749
- chunk5BVFVXHN_cjs.AttachmentPreviewItem,
12750
- {
12751
- attachment: { ...attachment, state: "pending" },
12752
- onRemove: () => removeAttachment(attachment.id),
12753
- disabled
12754
- },
12755
- attachment.id
12756
- ))
12757
- }
12758
- ),
12759
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[auto_minmax(0,1fr)_auto]", children: [
12760
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cells.input, ref: mention.anchorRef, children: [
12761
- /* @__PURE__ */ jsxRuntime.jsx(
12762
- chunk5BVFVXHN_cjs.MentionMenu,
12763
- {
12764
- mention,
12765
- label: mentionListLabel,
12766
- dataSlot: "chat-composer-mention-list"
12767
- }
12768
- ),
12769
- /* @__PURE__ */ jsxRuntime.jsx(
12770
- "textarea",
12771
- {
12772
- ...textareaProps,
12773
- ref: textareaRef,
12774
- "data-slot": "chat-composer-input",
12775
- value,
12776
- onChange: (event) => {
12777
- textareaProps?.onChange?.(event);
12778
- setValue(event.target.value);
12779
- mention.sync(
12780
- event.target.value,
12781
- event.target.selectionStart ?? event.target.value.length
12782
- );
12783
- },
12784
- onKeyDown: (event) => {
12785
- textareaProps?.onKeyDown?.(event);
12786
- if (event.defaultPrevented) return;
12787
- handleKeyDown(event);
12788
- },
12789
- onClick: (event) => {
12790
- textareaProps?.onClick?.(event);
12791
- if (event.defaultPrevented) return;
12792
- const el = event.currentTarget;
12793
- mention.sync(el.value, el.selectionStart ?? el.value.length);
12794
- },
12795
- onPaste: (event) => {
12796
- textareaProps?.onPaste?.(event);
12797
- if (event.defaultPrevented) return;
12798
- handlePaste(event);
12799
- },
12800
- placeholder,
12801
- disabled,
12802
- autoFocus,
12803
- rows: 1,
12804
- "aria-label": inputLabel,
12805
- ...mention.inputProps,
12806
- style: {
12807
- ...textareaProps?.style,
12808
- maxHeight: typeof maxHeight === "number" ? `${maxHeight}px` : maxHeight
12809
- },
12810
- className: chunkS5RVSXDV_cjs.cn(
12811
- "block w-full resize-none bg-transparent",
12812
- "rounded-lg text-sm",
12813
- cells.textarea,
12814
- "text-neutral-900 placeholder:text-neutral-400 dark:text-white dark:placeholder:text-neutral-500",
12815
- // Ring the input itself on focus rather than the whole shell.
12816
- "focus:ring-primary-500 focus:ring-1 focus:outline-none",
12817
- "disabled:cursor-not-allowed",
12818
- textareaProps?.className
12819
- )
12820
- }
12821
- )
12822
- ] }),
12823
- showAddMenu && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cells.add, children: /* @__PURE__ */ jsxRuntime.jsxs(
12824
- chunk4SM3I7WE_cjs.Dropdown,
12825
- {
12826
- placement: "top-start",
12827
- open: addMenuOpen,
12828
- onOpenChange: setAddMenuOpen,
12829
- trigger: /* @__PURE__ */ jsxRuntime.jsx(
12830
- "button",
12831
- {
12832
- type: "button",
12833
- "data-slot": "chat-composer-add-button",
12834
- "aria-label": addMenuLabel,
12835
- disabled,
12836
- className: iconButtonClasses,
12837
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Plus, { className: "h-4 w-4", "aria-hidden": "true" })
12838
- }
12839
- ),
12840
- children: [
12841
- allowAttachments && /* @__PURE__ */ jsxRuntime.jsx(
12842
- chunk4SM3I7WE_cjs.DropdownItem,
12843
- {
12844
- icon: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Paperclip, { className: "h-4 w-4", "aria-hidden": "true" }),
12845
- onClick: () => {
12846
- setAddMenuOpen(false);
12847
- fileInputRef.current?.click();
12848
- },
12849
- children: attachFilesLabel
12850
- }
12851
- ),
12852
- allowAttachments && addMenuItems && addMenuItems.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(chunk4SM3I7WE_cjs.DropdownSeparator, {}),
12853
- addMenuItems?.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
12854
- chunk4SM3I7WE_cjs.DropdownItem,
12855
- {
12856
- icon: item.icon,
12857
- disabled: item.disabled,
12858
- variant: item.variant,
12859
- checked: item.checked,
12860
- onClick: () => {
12861
- setAddMenuOpen(false);
12862
- item.onSelect?.();
12863
- },
12864
- children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: item.label })
12865
- },
12866
- item.id
12867
- ))
12868
- ]
12869
- }
12870
- ) }),
12871
- allowAttachments && /* @__PURE__ */ jsxRuntime.jsx(
12872
- "input",
12873
- {
12874
- ref: fileInputRef,
12875
- type: "file",
12876
- multiple: true,
12877
- accept: acceptedFileTypes?.join(","),
12878
- onChange: handleFileInputChange,
12879
- className: "hidden",
12880
- "aria-hidden": "true",
12881
- tabIndex: -1
12882
- }
12883
- ),
12884
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cells.actions, children: [
12885
- showCharacterCount && maxLength !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs(
12886
- "span",
12887
- {
12888
- "data-slot": "chat-composer-char-count",
12889
- "aria-live": "polite",
12890
- className: chunkS5RVSXDV_cjs.cn(
12891
- "pe-1 text-xs tabular-nums",
12892
- isOverLimit ? "font-medium text-red-700 dark:text-red-400" : "text-neutral-500 dark:text-neutral-400"
12893
- ),
12894
- children: [
12895
- value.length,
12896
- "/",
12897
- maxLength
12898
- ]
12899
- }
12900
- ),
12901
- micVisible && (micSlot != null ? (
12902
- // Normalize slot content (e.g. a RecordButton) to the 32px
12903
- // control row: taller content overflow-centers instead of
12904
- // inflating the pill and pushing the other cells apart. A div
12905
- // so block-level slot content stays valid HTML.
12906
- /* @__PURE__ */ jsxRuntime.jsx(
12907
- "div",
12908
- {
12909
- "data-slot": "chat-composer-mic-slot",
12910
- className: "flex h-8 shrink-0 items-center",
12911
- children: micSlot
12912
- }
12913
- )
12914
- ) : /* @__PURE__ */ jsxRuntime.jsx(
12915
- "button",
12916
- {
12917
- type: "button",
12918
- "data-slot": "chat-composer-mic-button",
12919
- "aria-label": micLabel,
12920
- disabled,
12921
- onClick: onMicClick,
12922
- className: iconButtonClasses,
12923
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Mic, { className: "h-4 w-4", "aria-hidden": "true" })
12924
- }
12925
- )),
12926
- isStreaming && onStop ? /* @__PURE__ */ jsxRuntime.jsx(
12927
- "button",
12928
- {
12929
- type: "button",
12930
- "data-slot": "chat-composer-stop-button",
12931
- "aria-label": stopLabel,
12932
- disabled,
12933
- onClick: onStop,
12934
- className: chunkS5RVSXDV_cjs.cn(
12935
- iconButtonClasses,
12936
- "text-neutral-700 dark:text-neutral-200"
12937
- ),
12938
- children: /* @__PURE__ */ jsxRuntime.jsx(
12939
- chunkL7L5S2HO_cjs.Square,
12940
- {
12941
- className: "h-3.5 w-3.5 fill-current",
12942
- "aria-hidden": "true"
12943
- }
12944
- )
12945
- }
12946
- ) : /* @__PURE__ */ jsxRuntime.jsx(
12947
- "button",
12948
- {
12949
- type: "button",
12950
- "data-slot": "chat-composer-send-button",
12951
- "aria-label": isSending ? sendingLabel : sendLabel,
12952
- "aria-busy": isSending || void 0,
12953
- disabled: !canSend,
12954
- onClick: handleSend,
12955
- className: chunkS5RVSXDV_cjs.cn(
12956
- iconButtonClasses,
12957
- canSend && "bg-primary-800 hover:bg-primary-700 dark:bg-primary-600 dark:hover:bg-primary-500 text-white hover:text-white dark:hover:text-white"
12958
- ),
12959
- children: isSending ? /* @__PURE__ */ jsxRuntime.jsx(
12960
- chunkL7L5S2HO_cjs.Loader2,
12961
- {
12962
- className: "h-4 w-4 animate-spin",
12963
- "aria-hidden": "true"
12964
- }
12965
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.ArrowUp, { className: "h-4 w-4", "aria-hidden": "true" })
12966
- }
12967
- )
12968
- ] })
12969
- ] })
12970
- ] });
12971
- const selectorsRow = showSelectorRow && /* @__PURE__ */ jsxRuntime.jsxs(
12972
- "div",
12973
- {
12974
- "data-slot": "chat-composer-selectors",
12975
- className: "flex items-center justify-between gap-2 px-2 pt-1",
12976
- children: [
12977
- showAgentSelector ? /* @__PURE__ */ jsxRuntime.jsx(
12978
- chunk4SM3I7WE_cjs.Dropdown,
12979
- {
12980
- placement: "top-start",
12981
- open: agentMenuOpen,
12982
- onOpenChange: setAgentMenuOpen,
12983
- trigger: /* @__PURE__ */ jsxRuntime.jsxs(
12984
- "button",
12985
- {
12986
- type: "button",
12987
- "data-slot": "chat-composer-agent-trigger",
12988
- "aria-label": selectedAgentOption ? `${agentSelectorLabel}: ${selectedAgentOption.label}` : agentSelectorLabel,
12989
- disabled,
12990
- className: selectorTriggerClasses,
12991
- children: [
12992
- selectedAgentOption?.icon ?? /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Bot, { className: "h-3.5 w-3.5", "aria-hidden": "true" }),
12993
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "min-w-0 truncate", children: selectedAgentOption?.label ?? agentSelectorLabel }),
12994
- /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.ChevronUp, { className: "h-3 w-3 shrink-0", "aria-hidden": "true" })
12995
- ]
12996
- }
12997
- ),
12998
- children: agents.map((agent) => /* @__PURE__ */ jsxRuntime.jsx(
12999
- chunk4SM3I7WE_cjs.DropdownItem,
13000
- {
13001
- icon: agent.icon,
13002
- role: "menuitemradio",
13003
- "aria-checked": agent.id === selectedAgent,
13004
- onClick: () => {
13005
- setAgentMenuOpen(false);
13006
- onAgentChange?.(agent.id);
13007
- },
13008
- children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex w-full items-center justify-between gap-2", children: [
13009
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "min-w-0", children: [
13010
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate", children: agent.label }),
13011
- agent.description && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block truncate text-xs text-neutral-500 dark:text-neutral-400", children: agent.description })
13012
- ] }),
13013
- agent.id === selectedAgent && /* @__PURE__ */ jsxRuntime.jsx(
13014
- chunkL7L5S2HO_cjs.Check,
13015
- {
13016
- className: "text-primary-600 dark:text-primary-400 h-4 w-4 shrink-0",
13017
- "aria-hidden": "true"
13018
- }
13019
- )
13020
- ] })
13021
- },
13022
- agent.id
13023
- ))
13024
- }
13025
- ) : /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true" }),
13026
- showModelSelector && modelSelectorProps && /* @__PURE__ */ jsxRuntime.jsx(
13027
- ComposerModelSelector,
13028
- {
13029
- variant: "ghost",
13030
- ...modelSelectorProps,
13031
- disabled: disabled || modelSelectorProps.disabled
13032
- }
13033
- )
13034
- ]
13035
- }
13036
- );
13037
- const card = /* @__PURE__ */ jsxRuntime.jsx(
13038
- "div",
13039
- {
13040
- "data-slot": "chat-composer-card",
13041
- className: chunkS5RVSXDV_cjs.cn(
13042
- "rounded-2xl border border-neutral-200 bg-white shadow-sm",
13043
- "dark:border-[#2e2e30] dark:bg-[#1c1c1e]"
13044
- ),
13045
- children: composerCard
13046
- }
13047
- );
13048
- return /* @__PURE__ */ jsxRuntime.jsxs(
13049
- "div",
13050
- {
13051
- "data-slot": "chat-composer",
13052
- className: chunkS5RVSXDV_cjs.cn(
13053
- "flex w-full flex-col",
13054
- disabled && "opacity-60",
13055
- className
13056
- ),
13057
- children: [
13058
- allowAttachments ? /* @__PURE__ */ jsxRuntime.jsx(
13059
- chunk5BVFVXHN_cjs.DragDropZone,
13060
- {
13061
- onFilesDropped: addFiles,
13062
- maxFiles: Number.MAX_SAFE_INTEGER,
13063
- disabled,
13064
- overlayLabel: dropFilesLabel,
13065
- children: card
13066
- }
13067
- ) : card,
13068
- selectorsRow
13069
- ]
13070
- }
13071
- );
13072
- });
13073
- ChatComposer.displayName = "ChatComposer";
13074
12055
  var MODE_META = {
13075
12056
  add: { title: "Add problem", changeType: void 0 },
13076
12057
  observe: { title: "Progress observation", changeType: void 0 },
@@ -13093,13 +12074,24 @@ var RELATIONSHIP_OPTIONS = [
13093
12074
  ];
13094
12075
  var SEVERITIES = ["mild", "moderate", "severe"];
13095
12076
  var CONFIDENCES = ["low", "medium", "high"];
13096
- function systemForCodetype(codetype) {
12077
+ function normalizeConditionCodingSystem(codetype) {
13097
12078
  const ct = codetype.toUpperCase().replace(/[^A-Z0-9]/g, "");
13098
12079
  if (ct === "ICD10" || ct === "ICD10CM") return "ICD-10-CM";
13099
12080
  if (ct === "ICD11") return "ICD-11";
13100
- if (ct === "SNOMED" || ct === "SNOMEDCT") return "SNOMED";
12081
+ if (ct === "SNOMED" || ct === "SNOMEDCT" || ct === "SNOMEDUS") {
12082
+ return "SNOMED";
12083
+ }
13101
12084
  return codetype;
13102
12085
  }
12086
+ function withSinglePrimary(coding) {
12087
+ if (coding.length === 0) return coding;
12088
+ const primaryIndex = coding.findIndex((entry) => entry.primary);
12089
+ const selectedIndex = primaryIndex >= 0 ? primaryIndex : 0;
12090
+ return coding.map((entry, index) => ({
12091
+ ...entry,
12092
+ primary: index === selectedIndex
12093
+ }));
12094
+ }
13103
12095
  function contextConditionCodeSearch(ctx) {
13104
12096
  const ContextConditionCodeSearch = ({
13105
12097
  placeholder,
@@ -13153,7 +12145,7 @@ function FieldFlag({
13153
12145
  ),
13154
12146
  className: chunkS5RVSXDV_cjs.cn(
13155
12147
  "rounded-full border px-2 py-0.5 text-[11px] font-medium transition-colors",
13156
- unknown ? "border-amber-400 bg-amber-100 text-amber-900 dark:border-amber-600 dark:bg-amber-950 dark:text-amber-200" : "border-border text-muted-foreground hover:text-foreground"
12148
+ unknown ? "border-warning/50 bg-warning/10 text-warning-800 dark:text-warning-200" : "border-border text-muted-foreground hover:text-foreground"
13157
12149
  ),
13158
12150
  children: "Unknown"
13159
12151
  }
@@ -13209,7 +12201,7 @@ function ConditionEditor({
13209
12201
  "data-testid": dataTestId
13210
12202
  }) {
13211
12203
  const prior = concern ? currentAssertion(concern) : void 0;
13212
- const ambientCodeLookup = chunk6XDPJWSC_cjs.useCodeLookupConfig();
12204
+ const ambientCodeLookup = chunkE7G22IQM_cjs.useCodeLookupConfig();
13213
12205
  const effectiveRenderCodeSearch = renderCodeSearch === false ? void 0 : renderCodeSearch ?? (ambientCodeLookup ? contextConditionCodeSearch(ambientCodeLookup) : void 0);
13214
12206
  const [text, setText] = React13__namespace.useState("");
13215
12207
  const [coding, setCoding] = React13__namespace.useState([]);
@@ -13226,13 +12218,14 @@ function ConditionEditor({
13226
12218
  React13__namespace.useEffect(() => {
13227
12219
  if (!open) return;
13228
12220
  setText(prior?.text ?? "");
13229
- setCoding(prior?.coding ?? []);
12221
+ setCoding(withSinglePrimary(prior?.coding ?? []));
13230
12222
  setVerification(
13231
12223
  mode === "add" ? "unconfirmed" : prior?.verificationStatus ?? "confirmed"
13232
12224
  );
13233
12225
  setSeverity(prior?.severity);
13234
- setOnsetDate(prior?.onset?.date ?? "");
13235
- setOnsetFuzzy(prior?.onset?.fuzzy ?? "");
12226
+ const priorOnsetDate = prior?.onset?.date;
12227
+ setOnsetDate(priorOnsetDate ? chunkCW75IKA6_cjs.dateToDisplayFormat(priorOnsetDate) : "");
12228
+ setOnsetFuzzy(priorOnsetDate ? "" : prior?.onset?.fuzzy ?? "");
13236
12229
  setNote("");
13237
12230
  setProgression(false);
13238
12231
  setFields(prior?.uncertainty?.fields ?? {});
@@ -13248,18 +12241,14 @@ function ConditionEditor({
13248
12241
  });
13249
12242
  const updateCoding = (i, patch) => setCoding((prev) => prev.map((c, j) => j === i ? { ...c, ...patch } : c));
13250
12243
  const codingUnknown = fields.coding?.known === false;
12244
+ const hasInvalidOnsetDate = fields.onset?.known !== false && Boolean(onsetDate) && !chunkCW75IKA6_cjs.isValidDate(onsetDate);
13251
12245
  const handleCodePick = (pick) => {
13252
- const system = systemForCodetype(pick.codetype);
12246
+ const system = normalizeConditionCodingSystem(pick.codetype);
13253
12247
  setCoding(
13254
- (prev) => prev.some((c) => c.system === system && c.code === pick.fullcode) ? prev : [
12248
+ (prev) => prev.some((c) => c.system === system && c.code === pick.fullcode) ? prev : withSinglePrimary([
13255
12249
  ...prev,
13256
- {
13257
- system,
13258
- code: pick.fullcode,
13259
- display: pick.label,
13260
- primary: prev.length === 0
13261
- }
13262
- ]
12250
+ { system, code: pick.fullcode, display: pick.label }
12251
+ ])
13263
12252
  );
13264
12253
  setText((prev) => prev || pick.label);
13265
12254
  setFields((prev) => {
@@ -13282,7 +12271,7 @@ function ConditionEditor({
13282
12271
  onOpenChange(false);
13283
12272
  return;
13284
12273
  }
13285
- if (!text.trim()) return;
12274
+ if (!text.trim() || hasInvalidOnsetDate) return;
13286
12275
  if (observation.trim()) onAddObservation?.(observation.trim());
13287
12276
  const uncertainty = Object.keys(fields).length > 0 ? { fields } : void 0;
13288
12277
  onSave?.({
@@ -13291,41 +12280,46 @@ function ConditionEditor({
13291
12280
  // checks downstream. A field marked explicitly unknown must not carry a
13292
12281
  // value (e.g. one seeded from the prior assertion): value + "unknown"
13293
12282
  // would be contradictory, so unknown wins and the value is dropped.
13294
- coding: fields.coding?.known === false ? [] : coding.filter((c) => c.code.trim()).map((c) => ({
13295
- ...c,
13296
- code: c.code.trim(),
13297
- display: c.display?.trim() || void 0,
13298
- mappedFrom: c.mappedFrom?.trim() || void 0
13299
- })),
12283
+ coding: fields.coding?.known === false ? [] : withSinglePrimary(
12284
+ coding.filter((c) => c.code.trim()).map((c) => ({
12285
+ ...c,
12286
+ code: c.code.trim(),
12287
+ display: c.display?.trim() || void 0,
12288
+ mappedFrom: c.mappedFrom?.trim() || void 0
12289
+ }))
12290
+ ),
13300
12291
  verificationStatus: verification,
13301
12292
  changeType: mode === "refine" ? progression ? "progression" : "refinement" : MODE_META[mode].changeType,
13302
12293
  supersedes: prior?.id,
13303
12294
  severity: fields.severity?.known === false ? void 0 : severity,
13304
- onset: fields.onset?.known === false ? void 0 : onsetDate || onsetFuzzy ? { date: onsetDate || void 0, fuzzy: onsetFuzzy || void 0 } : void 0,
12295
+ onset: fields.onset?.known === false ? void 0 : onsetDate || onsetFuzzy ? {
12296
+ date: onsetDate ? chunkCW75IKA6_cjs.displayFormatToDateString(onsetDate) : void 0,
12297
+ fuzzy: onsetFuzzy || void 0
12298
+ } : void 0,
13305
12299
  uncertainty,
13306
12300
  note: note.trim() || void 0
13307
12301
  });
13308
12302
  onOpenChange(false);
13309
12303
  };
13310
- const saveDisabled = mode === "relate" ? !relTarget : mode === "observe" ? !observation.trim() : !text.trim();
12304
+ const saveDisabled = mode === "relate" ? !relTarget : mode === "observe" ? !observation.trim() : !text.trim() || hasInvalidOnsetDate;
13311
12305
  return /* @__PURE__ */ jsxRuntime.jsxs(
13312
- chunkL52N6BEN_cjs.Modal,
12306
+ chunkAUOTJQGO_cjs.Modal,
13313
12307
  {
13314
12308
  open,
13315
12309
  onOpenChange,
13316
- size: "lg",
12310
+ size: "2xl",
13317
12311
  className,
13318
12312
  children: [
13319
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalTitle, { children: [
12313
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalTitle, { children: [
13320
12314
  MODE_META[mode].title,
13321
12315
  prior ? ` \u2014 ${prior.text}` : ""
13322
12316
  ] }) }),
13323
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { "data-testid": dataTestId, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
12317
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { "data-testid": dataTestId, className: "space-y-5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
13324
12318
  mode === "revise" && /* @__PURE__ */ jsxRuntime.jsxs(
13325
12319
  "div",
13326
12320
  {
13327
12321
  role: "alert",
13328
- className: "flex items-start gap-2 rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-sm text-amber-900 dark:border-amber-700 dark:bg-amber-950 dark:text-amber-200",
12322
+ className: "border-warning/30 bg-warning/10 text-warning-800 dark:text-warning-200 flex items-start gap-2 rounded-md border px-3 py-2 text-sm",
13329
12323
  children: [
13330
12324
  /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.AlertTriangle, { size: 16 }),
13331
12325
  /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
@@ -13398,21 +12392,19 @@ function ConditionEditor({
13398
12392
  placeholder: "e.g. Type 1 diabetes mellitus with neuropathy"
13399
12393
  }
13400
12394
  ),
13401
- mode === "refine" && /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-2 text-sm", children: [
13402
- /* @__PURE__ */ jsxRuntime.jsx(
13403
- "input",
13404
- {
13405
- type: "checkbox",
13406
- checked: progression,
13407
- onChange: (e) => setProgression(e.target.checked),
13408
- className: "accent-primary-600 h-4 w-4"
13409
- }
13410
- ),
13411
- "Disease progressed (e.g. new complication) rather than a more specific diagnosis"
13412
- ] }),
13413
- /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "space-y-2", children: [
13414
- /* @__PURE__ */ jsxRuntime.jsxs("legend", { className: "flex w-full items-center justify-between text-sm font-medium", children: [
13415
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2", children: [
12395
+ mode === "refine" && /* @__PURE__ */ jsxRuntime.jsx(
12396
+ chunk7AECNMYV_cjs.Checkbox,
12397
+ {
12398
+ size: "sm",
12399
+ checked: progression,
12400
+ onChange: (e) => setProgression(e.target.checked),
12401
+ label: "Disease progressed (e.g. new complication) rather than a more specific diagnosis"
12402
+ }
12403
+ ),
12404
+ /* @__PURE__ */ jsxRuntime.jsxs("fieldset", { className: "space-y-3", children: [
12405
+ /* @__PURE__ */ jsxRuntime.jsx("legend", { className: "sr-only", children: "Coding" }),
12406
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center justify-between gap-2", children: [
12407
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex flex-wrap items-center gap-2 text-sm font-medium", children: [
13416
12408
  "Coding",
13417
12409
  /* @__PURE__ */ jsxRuntime.jsx(
13418
12410
  FieldFlag,
@@ -13439,82 +12431,136 @@ function ConditionEditor({
13439
12431
  }
13440
12432
  ]),
13441
12433
  leftIcon: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Plus, { size: 12 }),
13442
- className: "h-7 text-xs",
12434
+ className: "h-8 shrink-0 text-xs",
13443
12435
  children: "Add code"
13444
12436
  }
13445
12437
  )
13446
12438
  ] }),
13447
- effectiveRenderCodeSearch && !(mode === "add" && !text.trim()) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-md", children: effectiveRenderCodeSearch({
12439
+ effectiveRenderCodeSearch && !(mode === "add" && !text.trim()) && /* @__PURE__ */ jsxRuntime.jsx("div", { children: effectiveRenderCodeSearch({
13448
12440
  placeholder: "Search codes \u2014 ICD-10-CM / SNOMED\u2026",
13449
12441
  onPick: handleCodePick,
13450
12442
  onFreeText: (t) => setText((prev) => prev || t)
13451
12443
  }) }),
13452
12444
  coding.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-xs", children: "Optional \u2014 a name-only problem is valid. Codes can be added any time." }),
13453
- coding.map((c, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
13454
- /* @__PURE__ */ jsxRuntime.jsx(
13455
- chunkXEEVDZDK_cjs.Select,
13456
- {
13457
- "aria-label": `Coding system ${i + 1}`,
13458
- options: CODING_SYSTEMS.map((s) => ({
13459
- value: s,
13460
- label: s
13461
- })),
13462
- value: c.system,
13463
- onValueChange: (v) => updateCoding(i, { system: v }),
13464
- disabled: codingUnknown,
13465
- className: "w-32"
13466
- }
13467
- ),
13468
- /* @__PURE__ */ jsxRuntime.jsx(
13469
- chunkZ5S5JEJD_cjs.Input,
13470
- {
13471
- "aria-label": `Code ${i + 1}`,
13472
- value: c.code,
13473
- onChange: (e) => updateCoding(i, { code: e.target.value }),
13474
- placeholder: "Code",
13475
- disabled: codingUnknown,
13476
- className: "w-28 font-mono"
13477
- }
13478
- ),
13479
- /* @__PURE__ */ jsxRuntime.jsx(
13480
- chunkZ5S5JEJD_cjs.Input,
13481
- {
13482
- "aria-label": `Display ${i + 1}`,
13483
- value: c.display ?? "",
13484
- onChange: (e) => updateCoding(i, { display: e.target.value }),
13485
- placeholder: "Display",
13486
- disabled: codingUnknown,
13487
- className: "min-w-32 flex-1"
13488
- }
13489
- ),
13490
- /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex items-center gap-1 text-xs", children: [
13491
- /* @__PURE__ */ jsxRuntime.jsx(
13492
- "input",
13493
- {
13494
- type: "radio",
13495
- name: "primary-coding",
13496
- checked: Boolean(c.primary),
13497
- disabled: codingUnknown,
13498
- onChange: () => setCoding(
13499
- (prev) => prev.map((cc, j) => ({ ...cc, primary: j === i }))
13500
- ),
13501
- className: "accent-primary-600"
13502
- }
12445
+ coding.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(
12446
+ "div",
12447
+ {
12448
+ "aria-hidden": "true",
12449
+ "data-slot": "condition-coding-header",
12450
+ className: "text-muted-foreground hidden grid-cols-[minmax(8rem,1.1fr)_minmax(7rem,0.9fr)_minmax(10rem,1.5fr)_5.5rem_2.5rem] items-center gap-2 px-1 text-xs font-medium sm:!grid",
12451
+ children: [
12452
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "System" }),
12453
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Code" }),
12454
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Display" }),
12455
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-center", children: "Primary code" }),
12456
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Actions" })
12457
+ ]
12458
+ }
12459
+ ),
12460
+ coding.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
12461
+ chunkG7EQ3JPX_cjs.RadioGroup,
12462
+ {
12463
+ name: "primary-coding",
12464
+ label: "Primary display code",
12465
+ value: String(
12466
+ Math.max(
12467
+ 0,
12468
+ coding.findIndex((entry) => entry.primary)
12469
+ )
13503
12470
  ),
13504
- "primary"
13505
- ] }),
13506
- /* @__PURE__ */ jsxRuntime.jsx(
13507
- chunkIINZWUGK_cjs.Button,
13508
- {
13509
- variant: "ghost",
13510
- size: "icon",
13511
- "aria-label": `Remove code ${i + 1}`,
13512
- onClick: () => setCoding((prev) => prev.filter((_, j) => j !== i)),
13513
- className: "h-7 w-7",
13514
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Trash2, { size: 14 })
13515
- }
13516
- )
13517
- ] }, i))
12471
+ onValueChange: (value) => {
12472
+ const selectedIndex = Number(value);
12473
+ setCoding(
12474
+ (prev) => prev.map((entry, index) => ({
12475
+ ...entry,
12476
+ primary: index === selectedIndex
12477
+ }))
12478
+ );
12479
+ },
12480
+ size: "sm",
12481
+ className: "gap-2 [&_[data-slot=radio-group-items]]:gap-2 sm:[&_[data-slot=radio-group-legend]]:sr-only",
12482
+ children: coding.map((c, i) => /* @__PURE__ */ jsxRuntime.jsxs(
12483
+ "div",
12484
+ {
12485
+ "data-slot": "condition-coding-row",
12486
+ className: "border-border/70 grid grid-cols-1 gap-2 rounded-md border p-2 sm:grid-cols-[minmax(8rem,1.1fr)_minmax(7rem,0.9fr)_minmax(10rem,1.5fr)_5.5rem_2.5rem] sm:items-center sm:border-0 sm:p-0",
12487
+ children: [
12488
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
12489
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs sm:hidden", children: "System" }),
12490
+ /* @__PURE__ */ jsxRuntime.jsx(
12491
+ chunkXEEVDZDK_cjs.Select,
12492
+ {
12493
+ "aria-label": `Coding system ${i + 1}`,
12494
+ options: CODING_SYSTEMS.map((s) => ({
12495
+ value: s,
12496
+ label: s
12497
+ })),
12498
+ value: c.system,
12499
+ onValueChange: (v) => updateCoding(i, { system: v }),
12500
+ disabled: codingUnknown
12501
+ }
12502
+ )
12503
+ ] }),
12504
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
12505
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs sm:hidden", children: "Code" }),
12506
+ /* @__PURE__ */ jsxRuntime.jsx(
12507
+ chunkZ5S5JEJD_cjs.Input,
12508
+ {
12509
+ "aria-label": `Code ${i + 1}`,
12510
+ value: c.code,
12511
+ onChange: (e) => updateCoding(i, { code: e.target.value }),
12512
+ placeholder: "Code",
12513
+ disabled: codingUnknown,
12514
+ className: "font-mono"
12515
+ }
12516
+ )
12517
+ ] }),
12518
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
12519
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs sm:hidden", children: "Display" }),
12520
+ /* @__PURE__ */ jsxRuntime.jsx(
12521
+ chunkZ5S5JEJD_cjs.Input,
12522
+ {
12523
+ "aria-label": `Display ${i + 1}`,
12524
+ value: c.display ?? "",
12525
+ onChange: (e) => updateCoding(i, { display: e.target.value }),
12526
+ placeholder: "Display",
12527
+ disabled: codingUnknown
12528
+ }
12529
+ )
12530
+ ] }),
12531
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-10 items-center gap-1.5 text-xs sm:justify-center", children: [
12532
+ /* @__PURE__ */ jsxRuntime.jsx(
12533
+ chunkG7EQ3JPX_cjs.Radio,
12534
+ {
12535
+ value: String(i),
12536
+ "aria-label": `Primary code: ${c.system} ${c.code || `row ${i + 1}`}`,
12537
+ disabled: codingUnknown
12538
+ }
12539
+ ),
12540
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sm:sr-only", children: "Primary code" })
12541
+ ] }),
12542
+ /* @__PURE__ */ jsxRuntime.jsx(
12543
+ chunkIINZWUGK_cjs.Button,
12544
+ {
12545
+ variant: "ghost",
12546
+ size: "icon",
12547
+ "aria-label": `Remove code ${i + 1}`,
12548
+ disabled: codingUnknown,
12549
+ onClick: () => setCoding(
12550
+ (prev) => withSinglePrimary(
12551
+ prev.filter((_, index) => index !== i)
12552
+ )
12553
+ ),
12554
+ className: "h-10 w-10 justify-self-start sm:justify-self-center",
12555
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Trash2, { size: 14 })
12556
+ }
12557
+ )
12558
+ ]
12559
+ },
12560
+ i
12561
+ ))
12562
+ }
12563
+ )
13518
12564
  ] }),
13519
12565
  /* @__PURE__ */ jsxRuntime.jsx(
13520
12566
  chunkXEEVDZDK_cjs.Select,
@@ -13525,9 +12571,39 @@ function ConditionEditor({
13525
12571
  onValueChange: (v) => setVerification(v)
13526
12572
  }
13527
12573
  ),
13528
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
13529
- /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2 text-sm font-medium", children: [
13530
- "Severity",
12574
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-end gap-x-4 gap-y-2", children: [
12575
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
12576
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-sm font-medium", children: "Severity" }),
12577
+ /* @__PURE__ */ jsxRuntime.jsx(
12578
+ "div",
12579
+ {
12580
+ role: "group",
12581
+ "aria-label": "Severity",
12582
+ className: "border-border inline-flex items-center overflow-hidden rounded-md border",
12583
+ children: SEVERITIES.map((s) => {
12584
+ const active = severity === s;
12585
+ return /* @__PURE__ */ jsxRuntime.jsx(
12586
+ "button",
12587
+ {
12588
+ type: "button",
12589
+ "aria-pressed": active,
12590
+ disabled: fields.severity?.known === false,
12591
+ onClick: () => setSeverity(active ? void 0 : s),
12592
+ className: chunkS5RVSXDV_cjs.cn(
12593
+ "border-border border-s px-2.5 py-1 text-xs font-medium capitalize transition-colors first:border-s-0",
12594
+ "disabled:opacity-40",
12595
+ active ? "bg-primary-600 text-white" : "bg-background text-muted-foreground hover:text-foreground"
12596
+ ),
12597
+ children: s
12598
+ },
12599
+ s
12600
+ );
12601
+ })
12602
+ }
12603
+ )
12604
+ ] }),
12605
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
12606
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "block text-sm font-medium", children: "Certainty" }),
13531
12607
  /* @__PURE__ */ jsxRuntime.jsx(
13532
12608
  FieldFlag,
13533
12609
  {
@@ -13537,34 +12613,7 @@ function ConditionEditor({
13537
12613
  hasValue: Boolean(severity)
13538
12614
  }
13539
12615
  )
13540
- ] }),
13541
- /* @__PURE__ */ jsxRuntime.jsx(
13542
- "div",
13543
- {
13544
- role: "group",
13545
- "aria-label": "Severity",
13546
- className: "border-border inline-flex items-center overflow-hidden rounded-md border",
13547
- children: SEVERITIES.map((s) => {
13548
- const active = severity === s;
13549
- return /* @__PURE__ */ jsxRuntime.jsx(
13550
- "button",
13551
- {
13552
- type: "button",
13553
- "aria-pressed": active,
13554
- disabled: fields.severity?.known === false,
13555
- onClick: () => setSeverity(active ? void 0 : s),
13556
- className: chunkS5RVSXDV_cjs.cn(
13557
- "border-border border-s px-2.5 py-1 text-xs font-medium capitalize transition-colors first:border-s-0",
13558
- "disabled:opacity-40",
13559
- active ? "bg-primary-600 text-white" : "bg-background text-muted-foreground hover:text-foreground"
13560
- ),
13561
- children: s
13562
- },
13563
- s
13564
- );
13565
- })
13566
- }
13567
- )
12616
+ ] })
13568
12617
  ] }),
13569
12618
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1", children: [
13570
12619
  /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-2 text-sm font-medium", children: [
@@ -13579,28 +12628,33 @@ function ConditionEditor({
13579
12628
  }
13580
12629
  )
13581
12630
  ] }),
13582
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5", children: [
12631
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-end gap-2 sm:grid-cols-[minmax(10rem,0.8fr)_auto_minmax(14rem,1.2fr)]", children: [
13583
12632
  /* @__PURE__ */ jsxRuntime.jsx(
13584
- chunkZ5S5JEJD_cjs.Input,
12633
+ chunkSRA2L3SQ_cjs.DateInput,
13585
12634
  {
13586
- type: "date",
13587
12635
  "aria-label": "Onset date (exact)",
13588
12636
  value: onsetDate,
13589
- onChange: (e) => setOnsetDate(e.target.value),
12637
+ onChange: (value) => {
12638
+ setOnsetDate(value);
12639
+ if (value) setOnsetFuzzy("");
12640
+ },
13590
12641
  disabled: fields.onset?.known === false,
13591
- className: "w-40"
12642
+ validateOnBlur: true,
12643
+ width: "full"
13592
12644
  }
13593
12645
  ),
13594
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground text-xs", children: "or" }),
12646
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-muted-foreground pb-3 text-center text-xs", children: "or" }),
13595
12647
  /* @__PURE__ */ jsxRuntime.jsx(
13596
12648
  chunkZ5S5JEJD_cjs.Input,
13597
12649
  {
13598
12650
  "aria-label": "Onset (fuzzy)",
13599
12651
  value: onsetFuzzy,
13600
- onChange: (e) => setOnsetFuzzy(e.target.value),
12652
+ onChange: (e) => {
12653
+ setOnsetFuzzy(e.target.value);
12654
+ if (e.target.value) setOnsetDate("");
12655
+ },
13601
12656
  disabled: fields.onset?.known === false,
13602
- placeholder: 'Fuzzy \u2014 "since her twenties", "~3 months ago"',
13603
- className: "min-w-48 flex-1"
12657
+ placeholder: 'Fuzzy \u2014 "since her twenties", "~3 months ago"'
13604
12658
  }
13605
12659
  )
13606
12660
  ] })
@@ -13621,13 +12675,13 @@ function ConditionEditor({
13621
12675
  "Uncertainty recorded:",
13622
12676
  " ",
13623
12677
  Object.entries(fields).map(
13624
- ([k, f]) => f?.known === false ? `${k} unknown` : `${k} ${f?.confidence ?? "soft"}`
12678
+ ([k, f]) => f?.known === false ? `${k} unknown` : `${f?.confidence ?? "unspecified"} confidence in ${k}`
13625
12679
  ).join(", ")
13626
12680
  ] })
13627
12681
  ] })
13628
12682
  ] })
13629
12683
  ] }) }),
13630
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
12684
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
13631
12685
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { variant: "secondary", onClick: () => onOpenChange(false), children: "Cancel" }),
13632
12686
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { onClick: handleSave, disabled: saveDisabled, children: mode === "relate" ? "Relate" : mode === "observe" ? "Add observation" : "Save" }),
13633
12687
  mode !== "relate" && mode !== "observe" && !text.trim() && /* @__PURE__ */ jsxRuntime.jsx(chunkYVL3XATO_cjs.Badge, { variant: "outline", size: "sm", className: "text-muted-foreground", children: "name required" })
@@ -14166,13 +13220,13 @@ function CheckrIntegration({
14166
13220
  ]
14167
13221
  }
14168
13222
  ),
14169
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.Modal, { open: showInviteModal, onOpenChange: setShowInviteModal, size: "md", children: [
14170
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
14171
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: inviteCandidate }),
14172
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
13223
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.Modal, { open: showInviteModal, onOpenChange: setShowInviteModal, size: "md", children: [
13224
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
13225
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: inviteCandidate }),
13226
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
14173
13227
  ] }),
14174
13228
  /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleInviteSubmit, children: [
14175
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
13229
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
14176
13230
  /* @__PURE__ */ jsxRuntime.jsx(
14177
13231
  chunkZ5S5JEJD_cjs.Input,
14178
13232
  {
@@ -14211,7 +13265,7 @@ function CheckrIntegration({
14211
13265
  }
14212
13266
  )
14213
13267
  ] }) }),
14214
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
13268
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
14215
13269
  /* @__PURE__ */ jsxRuntime.jsx(
14216
13270
  chunkIINZWUGK_cjs.Button,
14217
13271
  {
@@ -14261,7 +13315,7 @@ function CommandPaletteProvider({
14261
13315
  open();
14262
13316
  }
14263
13317
  }, [isOpen, open, close]);
14264
- chunkXJTFZLWH_cjs.useCommandK(toggle, enableShortcut);
13318
+ chunkQO6PRHDX_cjs.useCommandK(toggle, enableShortcut);
14265
13319
  React13__namespace.default.useEffect(() => {
14266
13320
  if (!customEventName) return;
14267
13321
  const handler = () => open();
@@ -15791,7 +14845,7 @@ var CountBadge = React13__namespace.forwardRef(
15791
14845
  }
15792
14846
  ),
15793
14847
  /* @__PURE__ */ jsxRuntime.jsxs(
15794
- chunkL52N6BEN_cjs.Modal,
14848
+ chunkAUOTJQGO_cjs.Modal,
15795
14849
  {
15796
14850
  open: !!deleteTarget,
15797
14851
  onOpenChange: (isOpen) => {
@@ -15799,20 +14853,20 @@ var CountBadge = React13__namespace.forwardRef(
15799
14853
  },
15800
14854
  size: "sm",
15801
14855
  children: [
15802
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
15803
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalTitle, { children: [
14856
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
14857
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalTitle, { children: [
15804
14858
  "Delete ",
15805
14859
  entityLabel
15806
14860
  ] }),
15807
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
14861
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
15808
14862
  ] }),
15809
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground", children: [
14863
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground", children: [
15810
14864
  "Are you sure you want to delete",
15811
14865
  " ",
15812
14866
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-foreground font-medium", children: deleteTarget?.label }),
15813
14867
  "? This action cannot be undone."
15814
14868
  ] }) }),
15815
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
14869
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
15816
14870
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { variant: "secondary", onClick: () => setDeleteTarget(null), children: "Cancel" }),
15817
14871
  /* @__PURE__ */ jsxRuntime.jsx(
15818
14872
  chunkIINZWUGK_cjs.Button,
@@ -15832,7 +14886,7 @@ var CountBadge = React13__namespace.forwardRef(
15832
14886
  }
15833
14887
  ),
15834
14888
  /* @__PURE__ */ jsxRuntime.jsxs(
15835
- chunkL52N6BEN_cjs.Modal,
14889
+ chunkAUOTJQGO_cjs.Modal,
15836
14890
  {
15837
14891
  open: !!editTarget,
15838
14892
  onOpenChange: (isOpen) => {
@@ -15843,15 +14897,15 @@ var CountBadge = React13__namespace.forwardRef(
15843
14897
  },
15844
14898
  size: "md",
15845
14899
  children: [
15846
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
15847
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalTitle, { children: [
14900
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
14901
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalTitle, { children: [
15848
14902
  label,
15849
14903
  ": ",
15850
14904
  editTarget?.label
15851
14905
  ] }),
15852
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
14906
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
15853
14907
  ] }),
15854
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-4", onSubmit: (e) => e.preventDefault(), children: [
14908
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-4", onSubmit: (e) => e.preventDefault(), children: [
15855
14909
  /* @__PURE__ */ jsxRuntime.jsx(
15856
14910
  chunkZ5S5JEJD_cjs.Input,
15857
14911
  {
@@ -15963,7 +15017,7 @@ var CountBadge = React13__namespace.forwardRef(
15963
15017
  )
15964
15018
  ] })
15965
15019
  ] }) }),
15966
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
15020
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
15967
15021
  /* @__PURE__ */ jsxRuntime.jsx(
15968
15022
  chunkIINZWUGK_cjs.Button,
15969
15023
  {
@@ -15993,7 +15047,7 @@ var CountBadge = React13__namespace.forwardRef(
15993
15047
  }
15994
15048
  ),
15995
15049
  /* @__PURE__ */ jsxRuntime.jsxs(
15996
- chunkL52N6BEN_cjs.Modal,
15050
+ chunkAUOTJQGO_cjs.Modal,
15997
15051
  {
15998
15052
  open: !!viewTarget,
15999
15053
  onOpenChange: (isOpen) => {
@@ -16001,15 +15055,15 @@ var CountBadge = React13__namespace.forwardRef(
16001
15055
  },
16002
15056
  size: "md",
16003
15057
  children: [
16004
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
16005
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalTitle, { children: [
15058
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
15059
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalTitle, { children: [
16006
15060
  label,
16007
15061
  ": ",
16008
15062
  viewTarget?.label
16009
15063
  ] }),
16010
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
15064
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
16011
15065
  ] }),
16012
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { children: [
15066
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { children: [
16013
15067
  /* @__PURE__ */ jsxRuntime.jsx(ViewModalActions, { viewTarget }),
16014
15068
  /* @__PURE__ */ jsxRuntime.jsxs("dl", { className: "space-y-3 text-sm", children: [
16015
15069
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between", children: [
@@ -16089,7 +15143,7 @@ var CountBadge = React13__namespace.forwardRef(
16089
15143
  ] })
16090
15144
  ] })
16091
15145
  ] }),
16092
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
15146
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
16093
15147
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { variant: "secondary", onClick: () => setViewTarget(null), children: "Close" }),
16094
15148
  onEdit && /* @__PURE__ */ jsxRuntime.jsx(
16095
15149
  chunkIINZWUGK_cjs.Button,
@@ -18027,7 +17081,7 @@ function DateRangeFilter({
18027
17081
  onChange(range, presetKey);
18028
17082
  };
18029
17083
  return /* @__PURE__ */ jsxRuntime.jsx(
18030
- chunk4SM3I7WE_cjs.Dropdown,
17084
+ chunkRXPEZXAB_cjs.Dropdown,
18031
17085
  {
18032
17086
  trigger: /* @__PURE__ */ jsxRuntime.jsxs(chunkIINZWUGK_cjs.Button, { variant, size: "md", className, children: [
18033
17087
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Calendar, { className: "me-2 h-4 w-4" }),
@@ -18037,7 +17091,7 @@ function DateRangeFilter({
18037
17091
  className: "w-56",
18038
17092
  "data-slot": "date-range-filter",
18039
17093
  children: finalPresets.map((preset) => /* @__PURE__ */ jsxRuntime.jsx(
18040
- chunk4SM3I7WE_cjs.DropdownItem,
17094
+ chunkRXPEZXAB_cjs.DropdownItem,
18041
17095
  {
18042
17096
  onClick: () => handlePresetSelect(preset.key),
18043
17097
  className: chunkS5RVSXDV_cjs.cn(
@@ -19166,19 +18220,19 @@ function WebcamModal({
19166
18220
  ] });
19167
18221
  };
19168
18222
  return /* @__PURE__ */ jsxRuntime.jsxs(
19169
- chunkL52N6BEN_cjs.Modal,
18223
+ chunkAUOTJQGO_cjs.Modal,
19170
18224
  {
19171
18225
  open,
19172
18226
  onOpenChange: handleClose,
19173
18227
  size: "lg",
19174
18228
  "aria-label": "Webcam capture",
19175
18229
  children: [
19176
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
19177
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Take a Photo" }),
19178
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
18230
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
18231
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Take a Photo" }),
18232
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
19179
18233
  ] }),
19180
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { children: renderContent() }),
19181
- permission !== "denied" && permission !== "unavailable" && !capturedFile && /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { variant: "secondary", onClick: handleClose, children: "Cancel" }) })
18234
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { children: renderContent() }),
18235
+ permission !== "denied" && permission !== "unavailable" && !capturedFile && /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { variant: "secondary", onClick: handleClose, children: "Cancel" }) })
19182
18236
  ]
19183
18237
  }
19184
18238
  );
@@ -19186,7 +18240,7 @@ function WebcamModal({
19186
18240
  WebcamModal.displayName = "WebcamModal";
19187
18241
 
19188
18242
  // src/components/DocumentScanner/types.ts
19189
- var DEFAULT_ACCEPTED_FILE_TYPES = [
18243
+ var DEFAULT_ACCEPTED_FILE_TYPES2 = [
19190
18244
  "image/jpeg",
19191
18245
  "image/jpg",
19192
18246
  "image/png",
@@ -19222,7 +18276,7 @@ function createPreviewUrl(file) {
19222
18276
  return URL.createObjectURL(file);
19223
18277
  }
19224
18278
  function useFileUpload({
19225
- acceptedFileTypes = [...DEFAULT_ACCEPTED_FILE_TYPES],
18279
+ acceptedFileTypes = [...DEFAULT_ACCEPTED_FILE_TYPES2],
19226
18280
  maxFileSizeMb = DEFAULT_MAX_FILE_SIZE_MB,
19227
18281
  multiple = false,
19228
18282
  onValidationError
@@ -19305,7 +18359,7 @@ function DocumentScanner({
19305
18359
  onScan,
19306
18360
  onResult,
19307
18361
  multiple = false,
19308
- acceptedFileTypes = [...DEFAULT_ACCEPTED_FILE_TYPES],
18362
+ acceptedFileTypes = [...DEFAULT_ACCEPTED_FILE_TYPES2],
19309
18363
  maxFileSizeMb = DEFAULT_MAX_FILE_SIZE_MB,
19310
18364
  disabled = false,
19311
18365
  enableWebcam = true,
@@ -19320,7 +18374,7 @@ function DocumentScanner({
19320
18374
  const [error, setError] = React13__namespace.useState(null);
19321
18375
  const [isWebcamOpen, setIsWebcamOpen] = React13__namespace.useState(false);
19322
18376
  const [validationErrors, setValidationErrors] = React13__namespace.useState([]);
19323
- const isMobile = chunkXJTFZLWH_cjs.useIsMobile();
18377
+ const isMobile = chunkQO6PRHDX_cjs.useIsMobile();
19324
18378
  const cameraInputRef = React13__namespace.useRef(null);
19325
18379
  const {
19326
18380
  files,
@@ -20435,14 +19489,14 @@ function CreateInvoiceModal({
20435
19489
  value: emp.id,
20436
19490
  label: emp.name
20437
19491
  }));
20438
- return /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { "data-slot": "invoice-modal", onSubmit: handleSubmit, children: [
20439
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(
19492
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { "data-slot": "invoice-modal", onSubmit: handleSubmit, children: [
19493
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(
20440
19494
  "div",
20441
19495
  {
20442
19496
  "data-slot": "invoice-modal-header",
20443
19497
  className: "flex items-center gap-3",
20444
19498
  children: [
20445
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Create Invoice" }),
19499
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Create Invoice" }),
20446
19500
  /* @__PURE__ */ jsxRuntime.jsxs(chunkYVL3XATO_cjs.Badge, { variant: "secondary", children: [
20447
19501
  "Step ",
20448
19502
  step,
@@ -20451,7 +19505,7 @@ function CreateInvoiceModal({
20451
19505
  ]
20452
19506
  }
20453
19507
  ) }),
20454
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-4", children: [
19508
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-4", children: [
20455
19509
  errorMessage && /* @__PURE__ */ jsxRuntime.jsx(
20456
19510
  "div",
20457
19511
  {
@@ -20712,7 +19766,7 @@ function CreateInvoiceModal({
20712
19766
  )
20713
19767
  ] })
20714
19768
  ] }),
20715
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsxs(
19769
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsxs(
20716
19770
  "div",
20717
19771
  {
20718
19772
  "data-slot": "invoice-modal-footer",
@@ -20841,9 +19895,9 @@ function CreateReferralModal({
20841
19895
  });
20842
19896
  };
20843
19897
  const isValid = employee && selectedServices.size > 0;
20844
- return /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { "data-slot": "referral-modal", onSubmit: handleSubmit, children: [
20845
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Create Referral" }) }),
20846
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-4", children: [
19898
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { "data-slot": "referral-modal", onSubmit: handleSubmit, children: [
19899
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Create Referral" }) }),
19900
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-4", children: [
20847
19901
  errorMessage && /* @__PURE__ */ jsxRuntime.jsx(
20848
19902
  "div",
20849
19903
  {
@@ -21056,7 +20110,7 @@ function CreateReferralModal({
21056
20110
  }
21057
20111
  )
21058
20112
  ] }),
21059
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
20113
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
21060
20114
  /* @__PURE__ */ jsxRuntime.jsx(
21061
20115
  chunkIINZWUGK_cjs.Button,
21062
20116
  {
@@ -21131,9 +20185,9 @@ function EditUserRoleModal({
21131
20185
  if (!user || !selectedRoleId || !onSave) return;
21132
20186
  onSave({ userId: user.id, roleId: selectedRoleId });
21133
20187
  };
21134
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.Modal, { open, onOpenChange, size: "md", children: [
21135
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Edit User Role" }) }),
21136
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-4", children: [
20188
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.Modal, { open, onOpenChange, size: "md", children: [
20189
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Edit User Role" }) }),
20190
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-4", children: [
21137
20191
  user && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "bg-muted rounded-lg p-3", children: [
21138
20192
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-foreground font-medium", children: user.name }),
21139
20193
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-foreground/70 text-sm", children: user.email })
@@ -21193,7 +20247,7 @@ function EditUserRoleModal({
21193
20247
  )) })
21194
20248
  ] })
21195
20249
  ] }),
21196
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
20250
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
21197
20251
  /* @__PURE__ */ jsxRuntime.jsx(
21198
20252
  chunkIINZWUGK_cjs.Button,
21199
20253
  {
@@ -22947,12 +22001,12 @@ function EmployerServiceModal({
22947
22001
  if (!onSave) return;
22948
22002
  onSave(config);
22949
22003
  };
22950
- return /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
22951
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalTitle, { children: [
22004
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
22005
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalTitle, { children: [
22952
22006
  "Configure Service for ",
22953
22007
  employer?.name || "Employer"
22954
22008
  ] }) }),
22955
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-4", "data-slot": "employer-service-body", children: [
22009
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-4", "data-slot": "employer-service-body", children: [
22956
22010
  errorMessage && /* @__PURE__ */ jsxRuntime.jsx(
22957
22011
  "div",
22958
22012
  {
@@ -23205,7 +22259,7 @@ function EmployerServiceModal({
23205
22259
  )
23206
22260
  ] })
23207
22261
  ] }),
23208
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
22262
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
23209
22263
  /* @__PURE__ */ jsxRuntime.jsx(
23210
22264
  chunkIINZWUGK_cjs.Button,
23211
22265
  {
@@ -25286,7 +24340,7 @@ function InventoryManager({
25286
24340
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm", children: "No inventory changes recorded yet." })
25287
24341
  ] }),
25288
24342
  /* @__PURE__ */ jsxRuntime.jsxs(
25289
- chunkL52N6BEN_cjs.Modal,
24343
+ chunkAUOTJQGO_cjs.Modal,
25290
24344
  {
25291
24345
  open: showUpdateModal,
25292
24346
  onOpenChange: (open) => {
@@ -25296,8 +24350,8 @@ function InventoryManager({
25296
24350
  },
25297
24351
  size: "lg",
25298
24352
  children: [
25299
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Inventory Manager" }) }),
25300
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-4", children: [
24353
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Inventory Manager" }) }),
24354
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-4", children: [
25301
24355
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-foreground text-lg font-semibold", children: serviceName }) }),
25302
24356
  /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("h4", { className: "text-muted-foreground mb-2 text-sm font-medium", children: "Update Inventory" }) }),
25303
24357
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-0", children: [
@@ -25412,7 +24466,7 @@ function InventoryManager({
25412
24466
  ] })
25413
24467
  ] })
25414
24468
  ] }),
25415
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
24469
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
25416
24470
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { variant: "outline", onClick: onUpdateModalClose, children: "Cancel" }),
25417
24471
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { onClick: handleSubmit, disabled: !updateAmount || isLoading, children: isLoading ? "Saving..." : "Save" })
25418
24472
  ] })
@@ -25459,9 +24513,9 @@ function InviteUserModal({
25459
24513
  });
25460
24514
  };
25461
24515
  const isValid = email && roleId;
25462
- return /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
25463
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Invite User" }) }),
25464
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-4", "data-slot": "invite-user-body", children: [
24516
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
24517
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Invite User" }) }),
24518
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-4", "data-slot": "invite-user-body", children: [
25465
24519
  entityDisplayName && /* @__PURE__ */ jsxRuntime.jsx(
25466
24520
  "div",
25467
24521
  {
@@ -25619,7 +24673,7 @@ function InviteUserModal({
25619
24673
  }
25620
24674
  )
25621
24675
  ] }),
25622
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
24676
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
25623
24677
  /* @__PURE__ */ jsxRuntime.jsx(
25624
24678
  chunkIINZWUGK_cjs.Button,
25625
24679
  {
@@ -29034,7 +28088,7 @@ var defaultOrderTabs = [
29034
28088
  { id: "rejected", label: "Rejected", statuses: ["rejected", "cancelled"] }
29035
28089
  ];
29036
28090
  function orderToMedication(order) {
29037
- const sig = order.detail ? chunk6XDPJWSC_cjs.parseSig(order.detail) : void 0;
28091
+ const sig = order.detail ? chunkE7G22IQM_cjs.parseSig(order.detail) : void 0;
29038
28092
  return {
29039
28093
  id: order.orderId,
29040
28094
  name: order.display,
@@ -29042,7 +28096,7 @@ function orderToMedication(order) {
29042
28096
  status: "unreconciled",
29043
28097
  indication: order.indication,
29044
28098
  pharmacyNotes: order.notes,
29045
- ...chunk6XDPJWSC_cjs.labelToMedicationFields(order.display),
28099
+ ...chunkE7G22IQM_cjs.labelToMedicationFields(order.display),
29046
28100
  ...sig && {
29047
28101
  route: sig.route,
29048
28102
  frequency: sig.frequency,
@@ -29113,7 +28167,7 @@ function BaseOrderEditor({
29113
28167
  onSave
29114
28168
  }) {
29115
28169
  const config = TYPE_CONFIG[type];
29116
- const ambientCodeLookup = chunk6XDPJWSC_cjs.useCodeLookupConfig();
28170
+ const ambientCodeLookup = chunkE7G22IQM_cjs.useCodeLookupConfig();
29117
28171
  const effectiveCodeLookup = codeLookup === false ? void 0 : codeLookup ?? ambientCodeLookup ?? void 0;
29118
28172
  const [draft, setDraft] = React13__namespace.useState(
29119
28173
  () => order ?? {
@@ -29130,12 +28184,12 @@ function BaseOrderEditor({
29130
28184
  const patch = (p) => setDraft((prev) => ({ ...prev, ...p }));
29131
28185
  const canSave = draft.display.trim().length > 0;
29132
28186
  if (!open) return null;
29133
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.Modal, { open: true, onOpenChange: (o) => !o && onClose(), size: "lg", children: [
29134
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
29135
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: order ? `Correct ${config.noun}` : `Add ${config.noun}` }),
29136
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
28187
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.Modal, { open: true, onOpenChange: (o) => !o && onClose(), size: "lg", children: [
28188
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
28189
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: order ? `Correct ${config.noun}` : `Add ${config.noun}` }),
28190
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
29137
28191
  ] }),
29138
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: bodyRef, className: "contents", children: [
28192
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-5", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: bodyRef, className: "contents", children: [
29139
28193
  /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "space-y-3", "aria-label": "Order", children: [
29140
28194
  effectiveCodeLookup ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-1.5", children: [
29141
28195
  /* @__PURE__ */ jsxRuntime.jsx(chunkAIJAFPGJ_cjs.Label, { htmlFor: "ord-search", children: "Order" }),
@@ -29268,7 +28322,7 @@ function BaseOrderEditor({
29268
28322
  ] })
29269
28323
  ] })
29270
28324
  ] }) }),
29271
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
28325
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
29272
28326
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { variant: "secondary", onClick: onClose, children: "Cancel" }),
29273
28327
  /* @__PURE__ */ jsxRuntime.jsx(
29274
28328
  chunkIINZWUGK_cjs.Button,
@@ -29312,7 +28366,7 @@ function OrderEditor({
29312
28366
  display: ""
29313
28367
  };
29314
28368
  return /* @__PURE__ */ jsxRuntime.jsx(
29315
- chunk6XDPJWSC_cjs.MedicationEditor,
28369
+ chunkE7G22IQM_cjs.MedicationEditor,
29316
28370
  {
29317
28371
  open,
29318
28372
  medication: order ? orderToMedication(order) : void 0,
@@ -30294,7 +29348,7 @@ var PatientHeader = React13__namespace.forwardRef(
30294
29348
  (flag) => flag.charAt(0).toUpperCase() + flag.slice(1).toLowerCase()
30295
29349
  ).join(" \xB7 ") }),
30296
29350
  /* @__PURE__ */ jsxRuntime.jsxs(
30297
- chunkL52N6BEN_cjs.Modal,
29351
+ chunkAUOTJQGO_cjs.Modal,
30298
29352
  {
30299
29353
  open: contactModalOpen,
30300
29354
  onOpenChange: (isOpen) => {
@@ -30302,11 +29356,11 @@ var PatientHeader = React13__namespace.forwardRef(
30302
29356
  },
30303
29357
  size: "sm",
30304
29358
  children: [
30305
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
30306
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Contact Information" }),
30307
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
29359
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
29360
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Contact Information" }),
29361
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
30308
29362
  ] }),
30309
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
29363
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4", children: [
30310
29364
  patient.email && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
30311
29365
  /* @__PURE__ */ jsxRuntime.jsx(
30312
29366
  chunkL7L5S2HO_cjs.Mail,
@@ -30335,7 +29389,7 @@ var PatientHeader = React13__namespace.forwardRef(
30335
29389
  ] }),
30336
29390
  !patient.email && !patient.phone && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground text-sm", children: "No contact information available." })
30337
29391
  ] }) }),
30338
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
29392
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalFooter, { children: /* @__PURE__ */ jsxRuntime.jsx(
30339
29393
  chunkIINZWUGK_cjs.Button,
30340
29394
  {
30341
29395
  variant: "secondary",
@@ -30347,7 +29401,7 @@ var PatientHeader = React13__namespace.forwardRef(
30347
29401
  }
30348
29402
  ),
30349
29403
  /* @__PURE__ */ jsxRuntime.jsxs(
30350
- chunkL52N6BEN_cjs.Modal,
29404
+ chunkAUOTJQGO_cjs.Modal,
30351
29405
  {
30352
29406
  open: !!addModalType,
30353
29407
  onOpenChange: (isOpen) => {
@@ -30358,14 +29412,14 @@ var PatientHeader = React13__namespace.forwardRef(
30358
29412
  },
30359
29413
  size: "md",
30360
29414
  children: [
30361
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
30362
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalTitle, { children: [
29415
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
29416
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalTitle, { children: [
30363
29417
  "Add ",
30364
29418
  addEntityLabel
30365
29419
  ] }),
30366
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
29420
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
30367
29421
  ] }),
30368
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-4", onSubmit: (e) => e.preventDefault(), children: [
29422
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-4", onSubmit: (e) => e.preventDefault(), children: [
30369
29423
  /* @__PURE__ */ jsxRuntime.jsx(
30370
29424
  chunkZ5S5JEJD_cjs.Input,
30371
29425
  {
@@ -30478,7 +29532,7 @@ var PatientHeader = React13__namespace.forwardRef(
30478
29532
  )
30479
29533
  ] })
30480
29534
  ] }) }),
30481
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
29535
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
30482
29536
  /* @__PURE__ */ jsxRuntime.jsx(
30483
29537
  chunkIINZWUGK_cjs.Button,
30484
29538
  {
@@ -30511,7 +29565,7 @@ var PatientHeader = React13__namespace.forwardRef(
30511
29565
  }
30512
29566
  ),
30513
29567
  /* @__PURE__ */ jsxRuntime.jsxs(
30514
- chunkL52N6BEN_cjs.Modal,
29568
+ chunkAUOTJQGO_cjs.Modal,
30515
29569
  {
30516
29570
  open: editPatientOpen,
30517
29571
  onOpenChange: (isOpen) => {
@@ -30522,11 +29576,11 @@ var PatientHeader = React13__namespace.forwardRef(
30522
29576
  },
30523
29577
  size: "2xl",
30524
29578
  children: [
30525
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
30526
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Edit Patient" }),
30527
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
29579
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
29580
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Edit Patient" }),
29581
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
30528
29582
  ] }),
30529
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-4", onSubmit: (e) => e.preventDefault(), children: [
29583
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { children: /* @__PURE__ */ jsxRuntime.jsxs("form", { className: "space-y-4", onSubmit: (e) => e.preventDefault(), children: [
30530
29584
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 gap-4 sm:grid-cols-4", children: [
30531
29585
  /* @__PURE__ */ jsxRuntime.jsx(
30532
29586
  chunkZ5S5JEJD_cjs.Input,
@@ -30707,7 +29761,7 @@ var PatientHeader = React13__namespace.forwardRef(
30707
29761
  }
30708
29762
  )
30709
29763
  ] }) }),
30710
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
29764
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
30711
29765
  /* @__PURE__ */ jsxRuntime.jsx(
30712
29766
  chunkIINZWUGK_cjs.Button,
30713
29767
  {
@@ -31968,7 +31022,7 @@ function RelevanceControl({
31968
31022
  {
31969
31023
  role: "toolbar",
31970
31024
  "aria-label": `Relevance for ${labelPrefix}`,
31971
- onKeyDown: chunk6XDPJWSC_cjs.toolbarKeyNav,
31025
+ onKeyDown: chunkE7G22IQM_cjs.toolbarKeyNav,
31972
31026
  className: "border-border flex shrink-0 items-center overflow-hidden rounded-md border",
31973
31027
  children: RELEVANCE_ORDER.map((relevance) => {
31974
31028
  const active = value === relevance;
@@ -36390,7 +35444,7 @@ function RowActionsMenu({
36390
35444
  const showRemove = onRemove && !isCurrentUser;
36391
35445
  const needsSeparator = (showResend || onEditRole) && showRemove;
36392
35446
  return /* @__PURE__ */ jsxRuntime.jsxs(
36393
- chunk4SM3I7WE_cjs.Dropdown,
35447
+ chunkRXPEZXAB_cjs.Dropdown,
36394
35448
  {
36395
35449
  trigger: /* @__PURE__ */ jsxRuntime.jsx(
36396
35450
  chunkIINZWUGK_cjs.Button,
@@ -36406,7 +35460,7 @@ function RowActionsMenu({
36406
35460
  placement: "bottom-end",
36407
35461
  children: [
36408
35462
  showResend && /* @__PURE__ */ jsxRuntime.jsx(
36409
- chunk4SM3I7WE_cjs.DropdownItem,
35463
+ chunkRXPEZXAB_cjs.DropdownItem,
36410
35464
  {
36411
35465
  icon: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Send, { size: 14 }),
36412
35466
  onClick: () => onResendInvite?.(user),
@@ -36414,16 +35468,16 @@ function RowActionsMenu({
36414
35468
  }
36415
35469
  ),
36416
35470
  onEditRole && /* @__PURE__ */ jsxRuntime.jsx(
36417
- chunk4SM3I7WE_cjs.DropdownItem,
35471
+ chunkRXPEZXAB_cjs.DropdownItem,
36418
35472
  {
36419
35473
  icon: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Pencil, { size: 14 }),
36420
35474
  onClick: () => onEditRole(user),
36421
35475
  children: "Edit Role"
36422
35476
  }
36423
35477
  ),
36424
- needsSeparator && /* @__PURE__ */ jsxRuntime.jsx(chunk4SM3I7WE_cjs.DropdownSeparator, {}),
35478
+ needsSeparator && /* @__PURE__ */ jsxRuntime.jsx(chunkRXPEZXAB_cjs.DropdownSeparator, {}),
36425
35479
  showRemove && /* @__PURE__ */ jsxRuntime.jsx(
36426
- chunk4SM3I7WE_cjs.DropdownItem,
35480
+ chunkRXPEZXAB_cjs.DropdownItem,
36427
35481
  {
36428
35482
  variant: "danger",
36429
35483
  icon: /* @__PURE__ */ jsxRuntime.jsx(chunkL7L5S2HO_cjs.Trash2, { size: 14 }),
@@ -37177,9 +36231,9 @@ function RejectionModal({
37177
36231
  details: details.trim() || void 0
37178
36232
  });
37179
36233
  };
37180
- return /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.Modal, { open, onOpenChange, size: "md", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
37181
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: title }) }),
37182
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-4", children: [
36234
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.Modal, { open, onOpenChange, size: "md", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
36235
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: title }) }),
36236
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-4", children: [
37183
36237
  (description || itemDescription) && /* @__PURE__ */ jsxRuntime.jsxs(
37184
36238
  "div",
37185
36239
  {
@@ -37268,7 +36322,7 @@ function RejectionModal({
37268
36322
  needsDetails && !details.trim() && selectedReasonId && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-destructive mt-1 text-xs", children: "Please provide additional details for this rejection reason." })
37269
36323
  ] })
37270
36324
  ] }),
37271
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
36325
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
37272
36326
  /* @__PURE__ */ jsxRuntime.jsx(
37273
36327
  chunkIINZWUGK_cjs.Button,
37274
36328
  {
@@ -37992,9 +37046,9 @@ function ResultsEntryModal({
37992
37046
  const handleSubmitClick = () => {
37993
37047
  formRef.current?.submit();
37994
37048
  };
37995
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.Modal, { open, onOpenChange, size: "2xl", children: [
37996
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: serviceName }) }),
37997
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { children: [
37049
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.Modal, { open, onOpenChange, size: "2xl", children: [
37050
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: serviceName }) }),
37051
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { children: [
37998
37052
  employeeName && /* @__PURE__ */ jsxRuntime.jsx(
37999
37053
  "div",
38000
37054
  {
@@ -38026,7 +37080,7 @@ function ResultsEntryModal({
38026
37080
  }
38027
37081
  )
38028
37082
  ] }),
38029
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
37083
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
38030
37084
  /* @__PURE__ */ jsxRuntime.jsx(
38031
37085
  chunkIINZWUGK_cjs.Button,
38032
37086
  {
@@ -40718,13 +39772,13 @@ function ServicePricingManager({
40718
39772
  ] }) })
40719
39773
  ] }) }),
40720
39774
  /* @__PURE__ */ jsxRuntime.jsxs(
40721
- chunkL52N6BEN_cjs.Modal,
39775
+ chunkAUOTJQGO_cjs.Modal,
40722
39776
  {
40723
39777
  open: !!editingService,
40724
39778
  onOpenChange: () => setEditingService(null),
40725
39779
  children: [
40726
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Edit Service Price" }) }),
40727
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-4", children: [
39780
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Edit Service Price" }) }),
39781
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-4", children: [
40728
39782
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-medium text-gray-900 dark:text-white", children: editingService?.serviceName }),
40729
39783
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
40730
39784
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -40770,16 +39824,16 @@ function ServicePricingManager({
40770
39824
  )
40771
39825
  ] })
40772
39826
  ] }),
40773
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
39827
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
40774
39828
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { variant: "ghost", onClick: () => setEditingService(null), children: "Cancel" }),
40775
39829
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { onClick: handleSaveEdit, disabled: isSaving, children: isSaving ? "Saving..." : "Save Changes" })
40776
39830
  ] })
40777
39831
  ]
40778
39832
  }
40779
39833
  ),
40780
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.Modal, { open: showBulkModal, onOpenChange: setShowBulkModal, children: [
40781
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: "Bulk Price Adjustment" }) }),
40782
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "space-y-4", children: [
39834
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.Modal, { open: showBulkModal, onOpenChange: setShowBulkModal, children: [
39835
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: "Bulk Price Adjustment" }) }),
39836
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "space-y-4", children: [
40783
39837
  /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-muted-foreground text-sm", children: [
40784
39838
  "Apply adjustment to ",
40785
39839
  filteredServices.length,
@@ -40820,7 +39874,7 @@ function ServicePricingManager({
40820
39874
  /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground mt-1 text-xs", children: "Use negative values to decrease prices" })
40821
39875
  ] })
40822
39876
  ] }),
40823
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
39877
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
40824
39878
  /* @__PURE__ */ jsxRuntime.jsx(chunkIINZWUGK_cjs.Button, { variant: "ghost", onClick: () => setShowBulkModal(false), children: "Cancel" }),
40825
39879
  /* @__PURE__ */ jsxRuntime.jsx(
40826
39880
  chunkIINZWUGK_cjs.Button,
@@ -41149,9 +40203,9 @@ function SetupServiceModal({
41149
40203
  onSave(formData);
41150
40204
  };
41151
40205
  const isValid = formData.name.trim() && formData.price >= 0;
41152
- return /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
41153
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: title }) }),
41154
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalBody, { className: "min-w-[320px] space-y-4", children: [
40206
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.Modal, { open, onOpenChange, size: "lg", children: /* @__PURE__ */ jsxRuntime.jsxs("form", { onSubmit: handleSubmit, children: [
40207
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: title }) }),
40208
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalBody, { className: "min-w-[320px] space-y-4", children: [
41155
40209
  errorMessage && /* @__PURE__ */ jsxRuntime.jsx(
41156
40210
  "div",
41157
40211
  {
@@ -41350,7 +40404,7 @@ function SetupServiceModal({
41350
40404
  )
41351
40405
  ] })
41352
40406
  ] }),
41353
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalFooter, { children: [
40407
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalFooter, { children: [
41354
40408
  /* @__PURE__ */ jsxRuntime.jsx(
41355
40409
  chunkIINZWUGK_cjs.Button,
41356
40410
  {
@@ -41406,7 +40460,7 @@ function SidebarProvider({
41406
40460
  defaultExpandedGroup = null,
41407
40461
  mobileBreakpoint = "(max-width: 1023px)"
41408
40462
  }) {
41409
- const isMobileViewport = chunkXJTFZLWH_cjs.useMediaQuery(mobileBreakpoint);
40463
+ const isMobileViewport = chunkQO6PRHDX_cjs.useMediaQuery(mobileBreakpoint);
41410
40464
  const [isCollapsed, setIsCollapsed] = React13.useState(() => {
41411
40465
  if (typeof window !== "undefined" && persistCollapsed) {
41412
40466
  const stored = localStorage.getItem(storageKey);
@@ -41587,11 +40641,11 @@ function Sidebar({
41587
40641
  }) {
41588
40642
  const { isCollapsed, isMobileOpen, closeMobile, isMobileViewport } = useSidebar();
41589
40643
  const navRef = React13.useRef(null);
41590
- const isRtl = chunkXJTFZLWH_cjs.useDirection(navRef) === "rtl";
40644
+ const isRtl = chunkQO6PRHDX_cjs.useDirection(navRef) === "rtl";
41591
40645
  const width = isMobileViewport ? expandedWidth : isCollapsed ? collapsedWidth : expandedWidth;
41592
40646
  return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
41593
- isMobileViewport && /* @__PURE__ */ jsxRuntime.jsx(chunkBN75TLUN_cjs.AnimatedPresence, { children: isMobileOpen && /* @__PURE__ */ jsxRuntime.jsx(
41594
- chunkBN75TLUN_cjs.Animated,
40647
+ isMobileViewport && /* @__PURE__ */ jsxRuntime.jsx(chunkNV2CWBI2_cjs.AnimatedPresence, { children: isMobileOpen && /* @__PURE__ */ jsxRuntime.jsx(
40648
+ chunkNV2CWBI2_cjs.Animated,
41595
40649
  {
41596
40650
  preset: "overlay",
41597
40651
  mode: "presence",
@@ -41603,7 +40657,7 @@ function Sidebar({
41603
40657
  "sidebar-backdrop"
41604
40658
  ) }),
41605
40659
  /* @__PURE__ */ jsxRuntime.jsx(
41606
- chunkBN75TLUN_cjs.Animated,
40660
+ chunkNV2CWBI2_cjs.Animated,
41607
40661
  {
41608
40662
  ref: navRef,
41609
40663
  as: "nav",
@@ -41763,9 +40817,9 @@ function SidebarNavGroup({
41763
40817
  children: icon
41764
40818
  }
41765
40819
  ),
41766
- /* @__PURE__ */ jsxRuntime.jsxs(chunkBN75TLUN_cjs.AnimatedPresence, { initial: false, children: [
40820
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkNV2CWBI2_cjs.AnimatedPresence, { initial: false, children: [
41767
40821
  !showCollapsed && /* @__PURE__ */ jsxRuntime.jsx(
41768
- chunkBN75TLUN_cjs.Animated,
40822
+ chunkNV2CWBI2_cjs.Animated,
41769
40823
  {
41770
40824
  as: "span",
41771
40825
  preset: "sidebarLabel",
@@ -41776,7 +40830,7 @@ function SidebarNavGroup({
41776
40830
  "label"
41777
40831
  ),
41778
40832
  !showCollapsed && /* @__PURE__ */ jsxRuntime.jsx(
41779
- chunkBN75TLUN_cjs.Animated,
40833
+ chunkNV2CWBI2_cjs.Animated,
41780
40834
  {
41781
40835
  as: "span",
41782
40836
  preset: "sidebarLabel",
@@ -41837,9 +40891,9 @@ function SidebarNavItem({
41837
40891
  children: icon
41838
40892
  }
41839
40893
  ),
41840
- /* @__PURE__ */ jsxRuntime.jsxs(chunkBN75TLUN_cjs.AnimatedPresence, { initial: false, children: [
40894
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkNV2CWBI2_cjs.AnimatedPresence, { initial: false, children: [
41841
40895
  !showCollapsed && /* @__PURE__ */ jsxRuntime.jsx(
41842
- chunkBN75TLUN_cjs.Animated,
40896
+ chunkNV2CWBI2_cjs.Animated,
41843
40897
  {
41844
40898
  as: "span",
41845
40899
  preset: "sidebarLabel",
@@ -41850,7 +40904,7 @@ function SidebarNavItem({
41850
40904
  "label"
41851
40905
  ),
41852
40906
  !showCollapsed && badge && /* @__PURE__ */ jsxRuntime.jsx(
41853
- chunkBN75TLUN_cjs.Animated,
40907
+ chunkNV2CWBI2_cjs.Animated,
41854
40908
  {
41855
40909
  as: "span",
41856
40910
  preset: "sidebarLabel",
@@ -44813,7 +43867,7 @@ function WebChartReportViewer({
44813
43867
  }
44814
43868
  ),
44815
43869
  /* @__PURE__ */ jsxRuntime.jsxs(
44816
- chunkL52N6BEN_cjs.Modal,
43870
+ chunkAUOTJQGO_cjs.Modal,
44817
43871
  {
44818
43872
  open: modalOpen,
44819
43873
  onOpenChange: (open) => {
@@ -44823,19 +43877,19 @@ function WebChartReportViewer({
44823
43877
  },
44824
43878
  size: "4xl",
44825
43879
  children: [
44826
- /* @__PURE__ */ jsxRuntime.jsxs(chunkL52N6BEN_cjs.ModalHeader, { children: [
43880
+ /* @__PURE__ */ jsxRuntime.jsxs(chunkAUOTJQGO_cjs.ModalHeader, { children: [
44827
43881
  /* @__PURE__ */ jsxRuntime.jsxs(
44828
43882
  "div",
44829
43883
  {
44830
43884
  "data-slot": "report-modal-header",
44831
43885
  className: "flex items-center gap-3",
44832
43886
  children: [
44833
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalTitle, { children: currentReport?.name || "Report Results" }),
43887
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalTitle, { children: currentReport?.name || "Report Results" }),
44834
43888
  reportResult?.error ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "h-5 w-5 text-yellow-500" }) : reportResult?.success ? /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-5 w-5 text-green-500" }) : null
44835
43889
  ]
44836
43890
  }
44837
43891
  ),
44838
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalClose, {})
43892
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalClose, {})
44839
43893
  ] }),
44840
43894
  /* @__PURE__ */ jsxRuntime.jsxs(
44841
43895
  "div",
@@ -44886,7 +43940,7 @@ function WebChartReportViewer({
44886
43940
  ]
44887
43941
  }
44888
43942
  ),
44889
- /* @__PURE__ */ jsxRuntime.jsx(chunkL52N6BEN_cjs.ModalBody, { className: "max-h-[60vh] overflow-auto", children: loadingReport ? /* @__PURE__ */ jsxRuntime.jsxs(
43943
+ /* @__PURE__ */ jsxRuntime.jsx(chunkAUOTJQGO_cjs.ModalBody, { className: "max-h-[60vh] overflow-auto", children: loadingReport ? /* @__PURE__ */ jsxRuntime.jsxs(
44890
43944
  "div",
44891
43945
  {
44892
43946
  "data-slot": "report-loading",
@@ -45559,163 +44613,159 @@ Object.defineProperty(exports, "getToolIcon", {
45559
44613
  });
45560
44614
  Object.defineProperty(exports, "AttachmentPreview", {
45561
44615
  enumerable: true,
45562
- get: function () { return chunkFQBTGS3E_cjs.AttachmentPreview; }
44616
+ get: function () { return chunkOFUKTVBN_cjs.AttachmentPreview; }
45563
44617
  });
45564
44618
  Object.defineProperty(exports, "ConversationHeader", {
45565
44619
  enumerable: true,
45566
- get: function () { return chunkFQBTGS3E_cjs.ConversationHeader; }
44620
+ get: function () { return chunkOFUKTVBN_cjs.ConversationHeader; }
45567
44621
  });
45568
44622
  Object.defineProperty(exports, "ConversationListItem", {
45569
44623
  enumerable: true,
45570
- get: function () { return chunkFQBTGS3E_cjs.ConversationListItem; }
44624
+ get: function () { return chunkOFUKTVBN_cjs.ConversationListItem; }
45571
44625
  });
45572
44626
  Object.defineProperty(exports, "ConversationListSkeleton", {
45573
44627
  enumerable: true,
45574
- get: function () { return chunkFQBTGS3E_cjs.ConversationListSkeleton; }
44628
+ get: function () { return chunkOFUKTVBN_cjs.ConversationListSkeleton; }
45575
44629
  });
45576
44630
  Object.defineProperty(exports, "DateSeparator", {
45577
44631
  enumerable: true,
45578
- get: function () { return chunkFQBTGS3E_cjs.DateSeparator; }
44632
+ get: function () { return chunkOFUKTVBN_cjs.DateSeparator; }
45579
44633
  });
45580
44634
  Object.defineProperty(exports, "EmptyState", {
45581
44635
  enumerable: true,
45582
- get: function () { return chunkFQBTGS3E_cjs.EmptyState; }
44636
+ get: function () { return chunkOFUKTVBN_cjs.EmptyState; }
45583
44637
  });
45584
44638
  Object.defineProperty(exports, "LightboxModal", {
45585
44639
  enumerable: true,
45586
- get: function () { return chunkFQBTGS3E_cjs.LightboxModal; }
44640
+ get: function () { return chunkOFUKTVBN_cjs.LightboxModal; }
45587
44641
  });
45588
44642
  Object.defineProperty(exports, "LoadMoreButton", {
45589
44643
  enumerable: true,
45590
- get: function () { return chunkFQBTGS3E_cjs.LoadMoreButton; }
44644
+ get: function () { return chunkOFUKTVBN_cjs.LoadMoreButton; }
45591
44645
  });
45592
44646
  Object.defineProperty(exports, "MessageBubble", {
45593
44647
  enumerable: true,
45594
- get: function () { return chunkFQBTGS3E_cjs.MessageBubble; }
44648
+ get: function () { return chunkOFUKTVBN_cjs.MessageBubble; }
45595
44649
  });
45596
44650
  Object.defineProperty(exports, "MessageList", {
45597
44651
  enumerable: true,
45598
- get: function () { return chunkFQBTGS3E_cjs.MessageList; }
44652
+ get: function () { return chunkOFUKTVBN_cjs.MessageList; }
45599
44653
  });
45600
44654
  Object.defineProperty(exports, "MessageStatusIcon", {
45601
44655
  enumerable: true,
45602
- get: function () { return chunkFQBTGS3E_cjs.MessageStatusIcon; }
44656
+ get: function () { return chunkOFUKTVBN_cjs.MessageStatusIcon; }
45603
44657
  });
45604
44658
  Object.defineProperty(exports, "MessageThread", {
45605
44659
  enumerable: true,
45606
- get: function () { return chunkFQBTGS3E_cjs.MessageThread; }
44660
+ get: function () { return chunkOFUKTVBN_cjs.MessageThread; }
45607
44661
  });
45608
44662
  Object.defineProperty(exports, "MessagingSplitView", {
45609
44663
  enumerable: true,
45610
- get: function () { return chunkFQBTGS3E_cjs.MessagingSplitView; }
44664
+ get: function () { return chunkOFUKTVBN_cjs.MessagingSplitView; }
45611
44665
  });
45612
44666
  Object.defineProperty(exports, "ReadReceiptIndicator", {
45613
44667
  enumerable: true,
45614
- get: function () { return chunkFQBTGS3E_cjs.ReadReceiptIndicator; }
44668
+ get: function () { return chunkOFUKTVBN_cjs.ReadReceiptIndicator; }
45615
44669
  });
45616
44670
  Object.defineProperty(exports, "SkeletonMessage", {
45617
44671
  enumerable: true,
45618
- get: function () { return chunkFQBTGS3E_cjs.SkeletonMessage; }
44672
+ get: function () { return chunkOFUKTVBN_cjs.SkeletonMessage; }
45619
44673
  });
45620
44674
  Object.defineProperty(exports, "TypingIndicator", {
45621
44675
  enumerable: true,
45622
- get: function () { return chunkFQBTGS3E_cjs.TypingIndicator; }
44676
+ get: function () { return chunkOFUKTVBN_cjs.TypingIndicator; }
45623
44677
  });
45624
44678
  Object.defineProperty(exports, "bubbleVariants", {
45625
44679
  enumerable: true,
45626
- get: function () { return chunkFQBTGS3E_cjs.bubbleVariants; }
44680
+ get: function () { return chunkOFUKTVBN_cjs.bubbleVariants; }
45627
44681
  });
45628
44682
  Object.defineProperty(exports, "formatDateLabel", {
45629
44683
  enumerable: true,
45630
- get: function () { return chunkFQBTGS3E_cjs.formatDateLabel; }
44684
+ get: function () { return chunkOFUKTVBN_cjs.formatDateLabel; }
45631
44685
  });
45632
44686
  Object.defineProperty(exports, "formatFileSize", {
45633
44687
  enumerable: true,
45634
- get: function () { return chunkFQBTGS3E_cjs.formatFileSize; }
44688
+ get: function () { return chunkOFUKTVBN_cjs.formatFileSize; }
45635
44689
  });
45636
44690
  Object.defineProperty(exports, "formatLastSeen", {
45637
44691
  enumerable: true,
45638
- get: function () { return chunkFQBTGS3E_cjs.formatLastSeen; }
44692
+ get: function () { return chunkOFUKTVBN_cjs.formatLastSeen; }
45639
44693
  });
45640
44694
  Object.defineProperty(exports, "getConversationSubtitle", {
45641
44695
  enumerable: true,
45642
- get: function () { return chunkFQBTGS3E_cjs.getConversationSubtitle; }
44696
+ get: function () { return chunkOFUKTVBN_cjs.getConversationSubtitle; }
45643
44697
  });
45644
44698
  Object.defineProperty(exports, "getConversationTitle", {
45645
44699
  enumerable: true,
45646
- get: function () { return chunkFQBTGS3E_cjs.getConversationTitle; }
44700
+ get: function () { return chunkOFUKTVBN_cjs.getConversationTitle; }
45647
44701
  });
45648
44702
  Object.defineProperty(exports, "groupMessagesByDate", {
45649
44703
  enumerable: true,
45650
- get: function () { return chunkFQBTGS3E_cjs.groupMessagesByDate; }
44704
+ get: function () { return chunkOFUKTVBN_cjs.groupMessagesByDate; }
45651
44705
  });
45652
44706
  Object.defineProperty(exports, "headerVariants", {
45653
44707
  enumerable: true,
45654
- get: function () { return chunkFQBTGS3E_cjs.headerVariants; }
44708
+ get: function () { return chunkOFUKTVBN_cjs.headerVariants; }
45655
44709
  });
45656
44710
  Object.defineProperty(exports, "isSameSenderGroup", {
45657
44711
  enumerable: true,
45658
- get: function () { return chunkFQBTGS3E_cjs.isSameSenderGroup; }
44712
+ get: function () { return chunkOFUKTVBN_cjs.isSameSenderGroup; }
45659
44713
  });
45660
44714
  Object.defineProperty(exports, "useMessageScroll", {
45661
44715
  enumerable: true,
45662
- get: function () { return chunkFQBTGS3E_cjs.useMessageScroll; }
44716
+ get: function () { return chunkOFUKTVBN_cjs.useMessageScroll; }
45663
44717
  });
45664
44718
  Object.defineProperty(exports, "useMessages", {
45665
44719
  enumerable: true,
45666
- get: function () { return chunkFQBTGS3E_cjs.useMessages; }
44720
+ get: function () { return chunkOFUKTVBN_cjs.useMessages; }
45667
44721
  });
45668
44722
  Object.defineProperty(exports, "useReadReceipts", {
45669
44723
  enumerable: true,
45670
- get: function () { return chunkFQBTGS3E_cjs.useReadReceipts; }
44724
+ get: function () { return chunkOFUKTVBN_cjs.useReadReceipts; }
44725
+ });
44726
+ Object.defineProperty(exports, "useTypingEmulation", {
44727
+ enumerable: true,
44728
+ get: function () { return chunkOFUKTVBN_cjs.useTypingEmulation; }
45671
44729
  });
45672
44730
  Object.defineProperty(exports, "useTypingIndicator", {
45673
44731
  enumerable: true,
45674
- get: function () { return chunkFQBTGS3E_cjs.useTypingIndicator; }
44732
+ get: function () { return chunkOFUKTVBN_cjs.useTypingIndicator; }
45675
44733
  });
45676
44734
  Object.defineProperty(exports, "AttachmentPicker", {
45677
44735
  enumerable: true,
45678
- get: function () { return chunk5BVFVXHN_cjs.AttachmentPicker; }
44736
+ get: function () { return chunkOYQ7GYAA_cjs.AttachmentPicker; }
45679
44737
  });
45680
44738
  Object.defineProperty(exports, "AttachmentPreviewItem", {
45681
44739
  enumerable: true,
45682
- get: function () { return chunk5BVFVXHN_cjs.AttachmentPreviewItem; }
44740
+ get: function () { return chunkOYQ7GYAA_cjs.AttachmentPreviewItem; }
45683
44741
  });
45684
44742
  Object.defineProperty(exports, "CameraButton", {
45685
44743
  enumerable: true,
45686
- get: function () { return chunk5BVFVXHN_cjs.CameraButton; }
44744
+ get: function () { return chunkOYQ7GYAA_cjs.CameraButton; }
45687
44745
  });
45688
- Object.defineProperty(exports, "CharacterCounter", {
44746
+ Object.defineProperty(exports, "ChatComposer", {
45689
44747
  enumerable: true,
45690
- get: function () { return chunk5BVFVXHN_cjs.CharacterCounter; }
44748
+ get: function () { return chunkOYQ7GYAA_cjs.ChatComposer; }
45691
44749
  });
45692
- Object.defineProperty(exports, "DragDropZone", {
45693
- enumerable: true,
45694
- get: function () { return chunk5BVFVXHN_cjs.DragDropZone; }
45695
- });
45696
- Object.defineProperty(exports, "MessageComposer", {
44750
+ Object.defineProperty(exports, "ComposerModelSelector", {
45697
44751
  enumerable: true,
45698
- get: function () { return chunk5BVFVXHN_cjs.MessageComposer; }
44752
+ get: function () { return chunkOYQ7GYAA_cjs.ComposerModelSelector; }
45699
44753
  });
45700
- Object.defineProperty(exports, "SendButton", {
44754
+ Object.defineProperty(exports, "DragDropZone", {
45701
44755
  enumerable: true,
45702
- get: function () { return chunk5BVFVXHN_cjs.SendButton; }
44756
+ get: function () { return chunkOYQ7GYAA_cjs.DragDropZone; }
45703
44757
  });
45704
44758
  Object.defineProperty(exports, "generateAttachmentId", {
45705
44759
  enumerable: true,
45706
- get: function () { return chunk5BVFVXHN_cjs.generateAttachmentId; }
44760
+ get: function () { return chunkOYQ7GYAA_cjs.generateAttachmentId; }
45707
44761
  });
45708
44762
  Object.defineProperty(exports, "getFileType", {
45709
44763
  enumerable: true,
45710
- get: function () { return chunk5BVFVXHN_cjs.getFileType; }
45711
- });
45712
- Object.defineProperty(exports, "sendButtonVariants", {
45713
- enumerable: true,
45714
- get: function () { return chunk5BVFVXHN_cjs.sendButtonVariants; }
44764
+ get: function () { return chunkOYQ7GYAA_cjs.getFileType; }
45715
44765
  });
45716
44766
  Object.defineProperty(exports, "validateFile", {
45717
44767
  enumerable: true,
45718
- get: function () { return chunk5BVFVXHN_cjs.validateFile; }
44768
+ get: function () { return chunkOYQ7GYAA_cjs.validateFile; }
45719
44769
  });
45720
44770
  Object.defineProperty(exports, "RecordButton", {
45721
44771
  enumerable: true,
@@ -45731,15 +44781,15 @@ Object.defineProperty(exports, "recordButtonVariants", {
45731
44781
  });
45732
44782
  Object.defineProperty(exports, "RichTextEditor", {
45733
44783
  enumerable: true,
45734
- get: function () { return chunk7KN6J7XV_cjs.RichTextEditor; }
44784
+ get: function () { return chunkOMAACCFW_cjs.RichTextEditor; }
45735
44785
  });
45736
44786
  Object.defineProperty(exports, "convertAngleBracketsToMustache", {
45737
44787
  enumerable: true,
45738
- get: function () { return chunk7KN6J7XV_cjs.convertAngleBracketsToMustache; }
44788
+ get: function () { return chunkOMAACCFW_cjs.convertAngleBracketsToMustache; }
45739
44789
  });
45740
44790
  Object.defineProperty(exports, "processDictation", {
45741
44791
  enumerable: true,
45742
- get: function () { return chunk7KN6J7XV_cjs.processDictation; }
44792
+ get: function () { return chunkOMAACCFW_cjs.processDictation; }
45743
44793
  });
45744
44794
  Object.defineProperty(exports, "DateButton", {
45745
44795
  enumerable: true,
@@ -45883,11 +44933,11 @@ Object.defineProperty(exports, "GlossaryTooltip", {
45883
44933
  });
45884
44934
  Object.defineProperty(exports, "Kbd", {
45885
44935
  enumerable: true,
45886
- get: function () { return chunkVTR2KGLY_cjs.Kbd; }
44936
+ get: function () { return chunkS3BCHPXT_cjs.Kbd; }
45887
44937
  });
45888
44938
  Object.defineProperty(exports, "KeyboardShortcutsOverlay", {
45889
44939
  enumerable: true,
45890
- get: function () { return chunkVTR2KGLY_cjs.KeyboardShortcutsOverlay; }
44940
+ get: function () { return chunkS3BCHPXT_cjs.KeyboardShortcutsOverlay; }
45891
44941
  });
45892
44942
  Object.defineProperty(exports, "CodeBlock", {
45893
44943
  enumerable: true,
@@ -45927,23 +44977,23 @@ Object.defineProperty(exports, "FenceBlock", {
45927
44977
  });
45928
44978
  Object.defineProperty(exports, "FillerWordsModal", {
45929
44979
  enumerable: true,
45930
- get: function () { return chunkFUFBRKOG_cjs.FillerWordsModal; }
44980
+ get: function () { return chunk2WBPNXO2_cjs.FillerWordsModal; }
45931
44981
  });
45932
44982
  Object.defineProperty(exports, "MediaEditor", {
45933
44983
  enumerable: true,
45934
- get: function () { return chunkFUFBRKOG_cjs.MediaEditor; }
44984
+ get: function () { return chunk2WBPNXO2_cjs.MediaEditor; }
45935
44985
  });
45936
44986
  Object.defineProperty(exports, "SilenceSettingsModal", {
45937
44987
  enumerable: true,
45938
- get: function () { return chunkFUFBRKOG_cjs.SilenceSettingsModal; }
44988
+ get: function () { return chunk2WBPNXO2_cjs.SilenceSettingsModal; }
45939
44989
  });
45940
44990
  Object.defineProperty(exports, "SpeedMarkerMenu", {
45941
44991
  enumerable: true,
45942
- get: function () { return chunkFUFBRKOG_cjs.SpeedMarkerMenu; }
44992
+ get: function () { return chunk2WBPNXO2_cjs.SpeedMarkerMenu; }
45943
44993
  });
45944
44994
  Object.defineProperty(exports, "WordEditorModal", {
45945
44995
  enumerable: true,
45946
- get: function () { return chunkFUFBRKOG_cjs.WordEditorModal; }
44996
+ get: function () { return chunk2WBPNXO2_cjs.WordEditorModal; }
45947
44997
  });
45948
44998
  Object.defineProperty(exports, "Slider", {
45949
44999
  enumerable: true,
@@ -45975,15 +45025,15 @@ Object.defineProperty(exports, "mediaPlayerVariants", {
45975
45025
  });
45976
45026
  Object.defineProperty(exports, "Collapsible", {
45977
45027
  enumerable: true,
45978
- get: function () { return chunkIUDY6S7I_cjs.Collapsible; }
45028
+ get: function () { return chunk37UZHCLM_cjs.Collapsible; }
45979
45029
  });
45980
45030
  Object.defineProperty(exports, "CollapsibleContent", {
45981
45031
  enumerable: true,
45982
- get: function () { return chunkIUDY6S7I_cjs.CollapsibleContent; }
45032
+ get: function () { return chunk37UZHCLM_cjs.CollapsibleContent; }
45983
45033
  });
45984
45034
  Object.defineProperty(exports, "CollapsibleTrigger", {
45985
45035
  enumerable: true,
45986
- get: function () { return chunkIUDY6S7I_cjs.CollapsibleTrigger; }
45036
+ get: function () { return chunk37UZHCLM_cjs.CollapsibleTrigger; }
45987
45037
  });
45988
45038
  Object.defineProperty(exports, "CopyButton", {
45989
45039
  enumerable: true,
@@ -46079,31 +45129,31 @@ Object.defineProperty(exports, "sheetOverlayVariants", {
46079
45129
  });
46080
45130
  Object.defineProperty(exports, "Dropdown", {
46081
45131
  enumerable: true,
46082
- get: function () { return chunk4SM3I7WE_cjs.Dropdown; }
45132
+ get: function () { return chunkRXPEZXAB_cjs.Dropdown; }
46083
45133
  });
46084
45134
  Object.defineProperty(exports, "DropdownContent", {
46085
45135
  enumerable: true,
46086
- get: function () { return chunk4SM3I7WE_cjs.DropdownContent; }
45136
+ get: function () { return chunkRXPEZXAB_cjs.DropdownContent; }
46087
45137
  });
46088
45138
  Object.defineProperty(exports, "DropdownHeader", {
46089
45139
  enumerable: true,
46090
- get: function () { return chunk4SM3I7WE_cjs.DropdownHeader; }
45140
+ get: function () { return chunkRXPEZXAB_cjs.DropdownHeader; }
46091
45141
  });
46092
45142
  Object.defineProperty(exports, "DropdownItem", {
46093
45143
  enumerable: true,
46094
- get: function () { return chunk4SM3I7WE_cjs.DropdownItem; }
45144
+ get: function () { return chunkRXPEZXAB_cjs.DropdownItem; }
46095
45145
  });
46096
45146
  Object.defineProperty(exports, "DropdownLabel", {
46097
45147
  enumerable: true,
46098
- get: function () { return chunk4SM3I7WE_cjs.DropdownLabel; }
45148
+ get: function () { return chunkRXPEZXAB_cjs.DropdownLabel; }
46099
45149
  });
46100
45150
  Object.defineProperty(exports, "DropdownSeparator", {
46101
45151
  enumerable: true,
46102
- get: function () { return chunk4SM3I7WE_cjs.DropdownSeparator; }
45152
+ get: function () { return chunkRXPEZXAB_cjs.DropdownSeparator; }
46103
45153
  });
46104
45154
  Object.defineProperty(exports, "DropdownSubmenu", {
46105
45155
  enumerable: true,
46106
- get: function () { return chunk4SM3I7WE_cjs.DropdownSubmenu; }
45156
+ get: function () { return chunkRXPEZXAB_cjs.DropdownSubmenu; }
46107
45157
  });
46108
45158
  Object.defineProperty(exports, "FilterSummaryBar", {
46109
45159
  enumerable: true,
@@ -46195,11 +45245,11 @@ Object.defineProperty(exports, "unformatPhoneNumber", {
46195
45245
  });
46196
45246
  Object.defineProperty(exports, "miewebUIPreset", {
46197
45247
  enumerable: true,
46198
- get: function () { return chunkCXDMZT45_cjs.miewebUIPreset; }
45248
+ get: function () { return chunkPY7XAG4D_cjs.miewebUIPreset; }
46199
45249
  });
46200
45250
  Object.defineProperty(exports, "miewebUISafelist", {
46201
45251
  enumerable: true,
46202
- get: function () { return chunkCXDMZT45_cjs.miewebUISafelist; }
45252
+ get: function () { return chunkPY7XAG4D_cjs.miewebUISafelist; }
46203
45253
  });
46204
45254
  Object.defineProperty(exports, "Accordion", {
46205
45255
  enumerable: true,
@@ -46223,7 +45273,7 @@ Object.defineProperty(exports, "alertVariants", {
46223
45273
  });
46224
45274
  Object.defineProperty(exports, "AlertDialog", {
46225
45275
  enumerable: true,
46226
- get: function () { return chunkYJP6DUFO_cjs.AlertDialog; }
45276
+ get: function () { return chunkPKD3JLS2_cjs.AlertDialog; }
46227
45277
  });
46228
45278
  Object.defineProperty(exports, "AudioPlayer", {
46229
45279
  enumerable: true,
@@ -46295,67 +45345,67 @@ Object.defineProperty(exports, "isApplicable", {
46295
45345
  });
46296
45346
  Object.defineProperty(exports, "ALLERGY_TYPE_LABELS", {
46297
45347
  enumerable: true,
46298
- get: function () { return chunk6XDPJWSC_cjs.ALLERGY_TYPE_LABELS; }
45348
+ get: function () { return chunkE7G22IQM_cjs.ALLERGY_TYPE_LABELS; }
46299
45349
  });
46300
45350
  Object.defineProperty(exports, "AllergyList", {
46301
45351
  enumerable: true,
46302
- get: function () { return chunk6XDPJWSC_cjs.AllergyList; }
45352
+ get: function () { return chunkE7G22IQM_cjs.AllergyList; }
46303
45353
  });
46304
45354
  Object.defineProperty(exports, "AllergyManager", {
46305
45355
  enumerable: true,
46306
- get: function () { return chunk6XDPJWSC_cjs.AllergyManager; }
45356
+ get: function () { return chunkE7G22IQM_cjs.AllergyManager; }
46307
45357
  });
46308
45358
  Object.defineProperty(exports, "CodeLookupProvider", {
46309
45359
  enumerable: true,
46310
- get: function () { return chunk6XDPJWSC_cjs.CodeLookupProvider; }
45360
+ get: function () { return chunkE7G22IQM_cjs.CodeLookupProvider; }
46311
45361
  });
46312
45362
  Object.defineProperty(exports, "MEDICATION_STATUS_LABELS", {
46313
45363
  enumerable: true,
46314
- get: function () { return chunk6XDPJWSC_cjs.MEDICATION_STATUS_LABELS; }
45364
+ get: function () { return chunkE7G22IQM_cjs.MEDICATION_STATUS_LABELS; }
46315
45365
  });
46316
45366
  Object.defineProperty(exports, "MedicationEditor", {
46317
45367
  enumerable: true,
46318
- get: function () { return chunk6XDPJWSC_cjs.MedicationEditor; }
45368
+ get: function () { return chunkE7G22IQM_cjs.MedicationEditor; }
46319
45369
  });
46320
45370
  Object.defineProperty(exports, "MedicationList", {
46321
45371
  enumerable: true,
46322
- get: function () { return chunk6XDPJWSC_cjs.MedicationList; }
45372
+ get: function () { return chunkE7G22IQM_cjs.MedicationList; }
46323
45373
  });
46324
45374
  Object.defineProperty(exports, "MedicationReconciliation", {
46325
45375
  enumerable: true,
46326
- get: function () { return chunk6XDPJWSC_cjs.MedicationReconciliation; }
45376
+ get: function () { return chunkE7G22IQM_cjs.MedicationReconciliation; }
46327
45377
  });
46328
45378
  Object.defineProperty(exports, "RowActionToolbar", {
46329
45379
  enumerable: true,
46330
- get: function () { return chunk6XDPJWSC_cjs.RowActionToolbar; }
45380
+ get: function () { return chunkE7G22IQM_cjs.RowActionToolbar; }
46331
45381
  });
46332
45382
  Object.defineProperty(exports, "RowIconButton", {
46333
45383
  enumerable: true,
46334
- get: function () { return chunk6XDPJWSC_cjs.RowIconButton; }
45384
+ get: function () { return chunkE7G22IQM_cjs.RowIconButton; }
46335
45385
  });
46336
45386
  Object.defineProperty(exports, "labelToMedicationFields", {
46337
45387
  enumerable: true,
46338
- get: function () { return chunk6XDPJWSC_cjs.labelToMedicationFields; }
45388
+ get: function () { return chunkE7G22IQM_cjs.labelToMedicationFields; }
46339
45389
  });
46340
45390
  Object.defineProperty(exports, "lookupToMedicationFields", {
46341
45391
  enumerable: true,
46342
- get: function () { return chunk6XDPJWSC_cjs.lookupToMedicationFields; }
45392
+ get: function () { return chunkE7G22IQM_cjs.lookupToMedicationFields; }
46343
45393
  });
46344
45394
  Object.defineProperty(exports, "parseMedicationLabel", {
46345
45395
  enumerable: true,
46346
- get: function () { return chunk6XDPJWSC_cjs.parseMedicationLabel; }
45396
+ get: function () { return chunkE7G22IQM_cjs.parseMedicationLabel; }
46347
45397
  });
46348
45398
  Object.defineProperty(exports, "parseSig", {
46349
45399
  enumerable: true,
46350
- get: function () { return chunk6XDPJWSC_cjs.parseSig; }
45400
+ get: function () { return chunkE7G22IQM_cjs.parseSig; }
46351
45401
  });
46352
45402
  Object.defineProperty(exports, "toolbarKeyNav", {
46353
45403
  enumerable: true,
46354
- get: function () { return chunk6XDPJWSC_cjs.toolbarKeyNav; }
45404
+ get: function () { return chunkE7G22IQM_cjs.toolbarKeyNav; }
46355
45405
  });
46356
45406
  Object.defineProperty(exports, "useCodeLookupConfig", {
46357
45407
  enumerable: true,
46358
- get: function () { return chunk6XDPJWSC_cjs.useCodeLookupConfig; }
45408
+ get: function () { return chunkE7G22IQM_cjs.useCodeLookupConfig; }
46359
45409
  });
46360
45410
  Object.defineProperty(exports, "Textarea", {
46361
45411
  enumerable: true,
@@ -46499,35 +45549,35 @@ Object.defineProperty(exports, "parseDateValue", {
46499
45549
  });
46500
45550
  Object.defineProperty(exports, "Modal", {
46501
45551
  enumerable: true,
46502
- get: function () { return chunkL52N6BEN_cjs.Modal; }
45552
+ get: function () { return chunkAUOTJQGO_cjs.Modal; }
46503
45553
  });
46504
45554
  Object.defineProperty(exports, "ModalBody", {
46505
45555
  enumerable: true,
46506
- get: function () { return chunkL52N6BEN_cjs.ModalBody; }
45556
+ get: function () { return chunkAUOTJQGO_cjs.ModalBody; }
46507
45557
  });
46508
45558
  Object.defineProperty(exports, "ModalClose", {
46509
45559
  enumerable: true,
46510
- get: function () { return chunkL52N6BEN_cjs.ModalClose; }
45560
+ get: function () { return chunkAUOTJQGO_cjs.ModalClose; }
46511
45561
  });
46512
45562
  Object.defineProperty(exports, "ModalFooter", {
46513
45563
  enumerable: true,
46514
- get: function () { return chunkL52N6BEN_cjs.ModalFooter; }
45564
+ get: function () { return chunkAUOTJQGO_cjs.ModalFooter; }
46515
45565
  });
46516
45566
  Object.defineProperty(exports, "ModalHeader", {
46517
45567
  enumerable: true,
46518
- get: function () { return chunkL52N6BEN_cjs.ModalHeader; }
45568
+ get: function () { return chunkAUOTJQGO_cjs.ModalHeader; }
46519
45569
  });
46520
45570
  Object.defineProperty(exports, "ModalTitle", {
46521
45571
  enumerable: true,
46522
- get: function () { return chunkL52N6BEN_cjs.ModalTitle; }
45572
+ get: function () { return chunkAUOTJQGO_cjs.ModalTitle; }
46523
45573
  });
46524
45574
  Object.defineProperty(exports, "modalContentVariants", {
46525
45575
  enumerable: true,
46526
- get: function () { return chunkL52N6BEN_cjs.modalContentVariants; }
45576
+ get: function () { return chunkAUOTJQGO_cjs.modalContentVariants; }
46527
45577
  });
46528
45578
  Object.defineProperty(exports, "modalOverlayVariants", {
46529
45579
  enumerable: true,
46530
- get: function () { return chunkL52N6BEN_cjs.modalOverlayVariants; }
45580
+ get: function () { return chunkAUOTJQGO_cjs.modalOverlayVariants; }
46531
45581
  });
46532
45582
  Object.defineProperty(exports, "Input", {
46533
45583
  enumerable: true,
@@ -47307,19 +46357,19 @@ Object.defineProperty(exports, "buttonVariants", {
47307
46357
  });
47308
46358
  Object.defineProperty(exports, "Animated", {
47309
46359
  enumerable: true,
47310
- get: function () { return chunkBN75TLUN_cjs.Animated; }
46360
+ get: function () { return chunkNV2CWBI2_cjs.Animated; }
47311
46361
  });
47312
46362
  Object.defineProperty(exports, "AnimatedPresence", {
47313
46363
  enumerable: true,
47314
- get: function () { return chunkBN75TLUN_cjs.AnimatedPresence; }
46364
+ get: function () { return chunkNV2CWBI2_cjs.AnimatedPresence; }
47315
46365
  });
47316
46366
  Object.defineProperty(exports, "motionPresets", {
47317
46367
  enumerable: true,
47318
- get: function () { return chunkBN75TLUN_cjs.motionPresets; }
46368
+ get: function () { return chunkNV2CWBI2_cjs.motionPresets; }
47319
46369
  });
47320
46370
  Object.defineProperty(exports, "useMotionRuntime", {
47321
46371
  enumerable: true,
47322
- get: function () { return chunkBN75TLUN_cjs.useMotionRuntime; }
46372
+ get: function () { return chunkNV2CWBI2_cjs.useMotionRuntime; }
47323
46373
  });
47324
46374
  Object.defineProperty(exports, "cn", {
47325
46375
  enumerable: true,
@@ -47331,51 +46381,51 @@ Object.defineProperty(exports, "miewebUITwMergeConflicts", {
47331
46381
  });
47332
46382
  Object.defineProperty(exports, "RTL_LOCALES", {
47333
46383
  enumerable: true,
47334
- get: function () { return chunkXJTFZLWH_cjs.RTL_LOCALES; }
46384
+ get: function () { return chunkQO6PRHDX_cjs.RTL_LOCALES; }
47335
46385
  });
47336
46386
  Object.defineProperty(exports, "isRtlLocale", {
47337
46387
  enumerable: true,
47338
- get: function () { return chunkXJTFZLWH_cjs.isRtlLocale; }
46388
+ get: function () { return chunkQO6PRHDX_cjs.isRtlLocale; }
47339
46389
  });
47340
46390
  Object.defineProperty(exports, "useCommandK", {
47341
46391
  enumerable: true,
47342
- get: function () { return chunkXJTFZLWH_cjs.useCommandK; }
46392
+ get: function () { return chunkQO6PRHDX_cjs.useCommandK; }
47343
46393
  });
47344
46394
  Object.defineProperty(exports, "useDirection", {
47345
46395
  enumerable: true,
47346
- get: function () { return chunkXJTFZLWH_cjs.useDirection; }
46396
+ get: function () { return chunkQO6PRHDX_cjs.useDirection; }
47347
46397
  });
47348
46398
  Object.defineProperty(exports, "useIsDesktop", {
47349
46399
  enumerable: true,
47350
- get: function () { return chunkXJTFZLWH_cjs.useIsDesktop; }
46400
+ get: function () { return chunkQO6PRHDX_cjs.useIsDesktop; }
47351
46401
  });
47352
46402
  Object.defineProperty(exports, "useIsLargeDesktop", {
47353
46403
  enumerable: true,
47354
- get: function () { return chunkXJTFZLWH_cjs.useIsLargeDesktop; }
46404
+ get: function () { return chunkQO6PRHDX_cjs.useIsLargeDesktop; }
47355
46405
  });
47356
46406
  Object.defineProperty(exports, "useIsMobile", {
47357
46407
  enumerable: true,
47358
- get: function () { return chunkXJTFZLWH_cjs.useIsMobile; }
46408
+ get: function () { return chunkQO6PRHDX_cjs.useIsMobile; }
47359
46409
  });
47360
46410
  Object.defineProperty(exports, "useIsMobileOrTablet", {
47361
46411
  enumerable: true,
47362
- get: function () { return chunkXJTFZLWH_cjs.useIsMobileOrTablet; }
46412
+ get: function () { return chunkQO6PRHDX_cjs.useIsMobileOrTablet; }
47363
46413
  });
47364
46414
  Object.defineProperty(exports, "useIsSmallTablet", {
47365
46415
  enumerable: true,
47366
- get: function () { return chunkXJTFZLWH_cjs.useIsSmallTablet; }
46416
+ get: function () { return chunkQO6PRHDX_cjs.useIsSmallTablet; }
47367
46417
  });
47368
46418
  Object.defineProperty(exports, "useIsTablet", {
47369
46419
  enumerable: true,
47370
- get: function () { return chunkXJTFZLWH_cjs.useIsTablet; }
46420
+ get: function () { return chunkQO6PRHDX_cjs.useIsTablet; }
47371
46421
  });
47372
46422
  Object.defineProperty(exports, "useKeyboardShortcut", {
47373
46423
  enumerable: true,
47374
- get: function () { return chunkXJTFZLWH_cjs.useKeyboardShortcut; }
46424
+ get: function () { return chunkQO6PRHDX_cjs.useKeyboardShortcut; }
47375
46425
  });
47376
46426
  Object.defineProperty(exports, "useMediaQuery", {
47377
46427
  enumerable: true,
47378
- get: function () { return chunkXJTFZLWH_cjs.useMediaQuery; }
46428
+ get: function () { return chunkQO6PRHDX_cjs.useMediaQuery; }
47379
46429
  });
47380
46430
  Object.defineProperty(exports, "useTheme", {
47381
46431
  enumerable: true,
@@ -47514,7 +46564,6 @@ exports.CSVFileUpload = CSVFileUpload;
47514
46564
  exports.CardSkeleton = CardSkeleton;
47515
46565
  exports.CaseContextBar = CaseContextBar;
47516
46566
  exports.CaseManagementHeader = CaseManagementHeader;
47517
- exports.ChatComposer = ChatComposer;
47518
46567
  exports.CheckrIntegration = CheckrIntegration;
47519
46568
  exports.ClaimListingButton = ClaimListingButton;
47520
46569
  exports.ClaimProviderForm = ClaimProviderForm;
@@ -47527,7 +46576,6 @@ exports.CompactFilterBar = CompactFilterBar;
47527
46576
  exports.CompactHeader = CompactHeader;
47528
46577
  exports.CompactHours = CompactHours;
47529
46578
  exports.CompactProviderHeader = CompactProviderHeader;
47530
- exports.ComposerModelSelector = ComposerModelSelector;
47531
46579
  exports.ConditionEditor = ConditionEditor;
47532
46580
  exports.ConnectionStatusBadge = ConnectionStatusBadge;
47533
46581
  exports.ConnectionStatusBar = ConnectionStatusBar;
@@ -47774,6 +46822,7 @@ exports.labelClusters = labelClusters;
47774
46822
  exports.loadWhatPrints = loadWhatPrints;
47775
46823
  exports.medicationToOrder = medicationToOrder;
47776
46824
  exports.mergeTurns = mergeTurns;
46825
+ exports.normalizeConditionCodingSystem = normalizeConditionCodingSystem;
47777
46826
  exports.openRollingRecorder = openRollingRecorder;
47778
46827
  exports.orderToMedication = orderToMedication;
47779
46828
  exports.orderTypeForCodetype = orderTypeForCodetype;