formanitor 0.1.11 → 0.2.1

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 (289) hide show
  1. package/dist/AddInvestigationWidget-7UGZQYI5.mjs +30 -0
  2. package/dist/AddInvestigationWidget-7UGZQYI5.mjs.map +1 -0
  3. package/dist/AddInvestigationWidget-RY62UCPM.cjs +32 -0
  4. package/dist/AddInvestigationWidget-RY62UCPM.cjs.map +1 -0
  5. package/dist/AddMedicationWidget-UG26VMUX.mjs +30 -0
  6. package/dist/AddMedicationWidget-UG26VMUX.mjs.map +1 -0
  7. package/dist/AddMedicationWidget-WPI32WAP.cjs +32 -0
  8. package/dist/AddMedicationWidget-WPI32WAP.cjs.map +1 -0
  9. package/dist/AddProcedureWidget-SF6MTRBV.cjs +278 -0
  10. package/dist/AddProcedureWidget-SF6MTRBV.cjs.map +1 -0
  11. package/dist/AddProcedureWidget-SQJUKKMK.mjs +276 -0
  12. package/dist/AddProcedureWidget-SQJUKKMK.mjs.map +1 -0
  13. package/dist/BiometryIolWorkupWidget-I5AJOYB2.cjs +300 -0
  14. package/dist/BiometryIolWorkupWidget-I5AJOYB2.cjs.map +1 -0
  15. package/dist/BiometryIolWorkupWidget-NL2M7ZAA.mjs +298 -0
  16. package/dist/BiometryIolWorkupWidget-NL2M7ZAA.mjs.map +1 -0
  17. package/dist/DateTimeWidget-DIDVF2EB.cjs +61 -0
  18. package/dist/DateTimeWidget-DIDVF2EB.cjs.map +1 -0
  19. package/dist/DateTimeWidget-LFBB6HOP.mjs +59 -0
  20. package/dist/DateTimeWidget-LFBB6HOP.mjs.map +1 -0
  21. package/dist/DateWidget-4ND5TKP2.mjs +72 -0
  22. package/dist/DateWidget-4ND5TKP2.mjs.map +1 -0
  23. package/dist/DateWidget-BCVR5GDK.cjs +74 -0
  24. package/dist/DateWidget-BCVR5GDK.cjs.map +1 -0
  25. package/dist/DiagnosisTextareaWidget-E7OQRUMX.cjs +190 -0
  26. package/dist/DiagnosisTextareaWidget-E7OQRUMX.cjs.map +1 -0
  27. package/dist/DiagnosisTextareaWidget-MAOXCXEZ.mjs +184 -0
  28. package/dist/DiagnosisTextareaWidget-MAOXCXEZ.mjs.map +1 -0
  29. package/dist/DifferentialDiagnosisWidget-ANALLNKL.cjs +17 -0
  30. package/dist/DifferentialDiagnosisWidget-ANALLNKL.cjs.map +1 -0
  31. package/dist/DifferentialDiagnosisWidget-LCY2SA2I.mjs +15 -0
  32. package/dist/DifferentialDiagnosisWidget-LCY2SA2I.mjs.map +1 -0
  33. package/dist/DischargeMedicationOrdersWidget-GYT35W7J.mjs +161 -0
  34. package/dist/DischargeMedicationOrdersWidget-GYT35W7J.mjs.map +1 -0
  35. package/dist/DischargeMedicationOrdersWidget-ILWNZ7VM.cjs +163 -0
  36. package/dist/DischargeMedicationOrdersWidget-ILWNZ7VM.cjs.map +1 -0
  37. package/dist/EditableTable-TGCVUBLO.mjs +279 -0
  38. package/dist/EditableTable-TGCVUBLO.mjs.map +1 -0
  39. package/dist/EditableTable-VCUNJZEX.cjs +281 -0
  40. package/dist/EditableTable-VCUNJZEX.cjs.map +1 -0
  41. package/dist/FollowupWidget-F6FRZO4T.mjs +283 -0
  42. package/dist/FollowupWidget-F6FRZO4T.mjs.map +1 -0
  43. package/dist/FollowupWidget-NBTOV2ML.cjs +285 -0
  44. package/dist/FollowupWidget-NBTOV2ML.cjs.map +1 -0
  45. package/dist/FunctionalImpairmentScoreWidget-5V5SNLTF.cjs +93 -0
  46. package/dist/FunctionalImpairmentScoreWidget-5V5SNLTF.cjs.map +1 -0
  47. package/dist/FunctionalImpairmentScoreWidget-QKIZE7KT.mjs +91 -0
  48. package/dist/FunctionalImpairmentScoreWidget-QKIZE7KT.mjs.map +1 -0
  49. package/dist/GsExaminationWidget-57SL4BCI.cjs +528 -0
  50. package/dist/GsExaminationWidget-57SL4BCI.cjs.map +1 -0
  51. package/dist/GsExaminationWidget-J4VABGY6.mjs +526 -0
  52. package/dist/GsExaminationWidget-J4VABGY6.mjs.map +1 -0
  53. package/dist/GsGradingWidget-3WTLIP33.mjs +90 -0
  54. package/dist/GsGradingWidget-3WTLIP33.mjs.map +1 -0
  55. package/dist/GsGradingWidget-CIXE36HF.cjs +92 -0
  56. package/dist/GsGradingWidget-CIXE36HF.cjs.map +1 -0
  57. package/dist/GsSmartHistoryWidget-6Q2IIGDG.cjs +398 -0
  58. package/dist/GsSmartHistoryWidget-6Q2IIGDG.cjs.map +1 -0
  59. package/dist/GsSmartHistoryWidget-IOGZ6GNS.mjs +396 -0
  60. package/dist/GsSmartHistoryWidget-IOGZ6GNS.mjs.map +1 -0
  61. package/dist/HiddenVitalsWidget-HBK7PBPR.cjs +55 -0
  62. package/dist/HiddenVitalsWidget-HBK7PBPR.cjs.map +1 -0
  63. package/dist/HiddenVitalsWidget-JH3NRZLM.mjs +53 -0
  64. package/dist/HiddenVitalsWidget-JH3NRZLM.mjs.map +1 -0
  65. package/dist/LensAssessmentWidget-7WMULFS2.mjs +232 -0
  66. package/dist/LensAssessmentWidget-7WMULFS2.mjs.map +1 -0
  67. package/dist/LensAssessmentWidget-GSOOD7BX.cjs +234 -0
  68. package/dist/LensAssessmentWidget-GSOOD7BX.cjs.map +1 -0
  69. package/dist/MarMedicationOrdersWidget-3E6GFOR6.cjs +76 -0
  70. package/dist/MarMedicationOrdersWidget-3E6GFOR6.cjs.map +1 -0
  71. package/dist/MarMedicationOrdersWidget-QZUVSEB5.mjs +74 -0
  72. package/dist/MarMedicationOrdersWidget-QZUVSEB5.mjs.map +1 -0
  73. package/dist/OBGExaminationWidget-F2ZNSP2M.cjs +215 -0
  74. package/dist/OBGExaminationWidget-F2ZNSP2M.cjs.map +1 -0
  75. package/dist/OBGExaminationWidget-POVLALMA.mjs +213 -0
  76. package/dist/OBGExaminationWidget-POVLALMA.mjs.map +1 -0
  77. package/dist/OBGPathwayWidget-CGT7Q4T2.mjs +517 -0
  78. package/dist/OBGPathwayWidget-CGT7Q4T2.mjs.map +1 -0
  79. package/dist/OBGPathwayWidget-WCIQENMO.cjs +519 -0
  80. package/dist/OBGPathwayWidget-WCIQENMO.cjs.map +1 -0
  81. package/dist/ObstetricHistoryWidget-EGVLL4X2.mjs +1113 -0
  82. package/dist/ObstetricHistoryWidget-EGVLL4X2.mjs.map +1 -0
  83. package/dist/ObstetricHistoryWidget-XU6R7IPP.cjs +1115 -0
  84. package/dist/ObstetricHistoryWidget-XU6R7IPP.cjs.map +1 -0
  85. package/dist/OphthalDiagnosisWidget-G5RCC2QZ.mjs +89 -0
  86. package/dist/OphthalDiagnosisWidget-G5RCC2QZ.mjs.map +1 -0
  87. package/dist/OphthalDiagnosisWidget-OQPTHJ7E.cjs +91 -0
  88. package/dist/OphthalDiagnosisWidget-OQPTHJ7E.cjs.map +1 -0
  89. package/dist/OphthalmologyWidget-I3BKWOI2.cjs +1331 -0
  90. package/dist/OphthalmologyWidget-I3BKWOI2.cjs.map +1 -0
  91. package/dist/OphthalmologyWidget-RG2AI6WA.mjs +1329 -0
  92. package/dist/OphthalmologyWidget-RG2AI6WA.mjs.map +1 -0
  93. package/dist/OrthopedicExamWidget-BBZP6NVT.mjs +366 -0
  94. package/dist/OrthopedicExamWidget-BBZP6NVT.mjs.map +1 -0
  95. package/dist/OrthopedicExamWidget-M4KKU5RC.cjs +368 -0
  96. package/dist/OrthopedicExamWidget-M4KKU5RC.cjs.map +1 -0
  97. package/dist/PainScaleFlagsWidget-E576R6QB.mjs +151 -0
  98. package/dist/PainScaleFlagsWidget-E576R6QB.mjs.map +1 -0
  99. package/dist/PainScaleFlagsWidget-QHGESXNE.cjs +153 -0
  100. package/dist/PainScaleFlagsWidget-QHGESXNE.cjs.map +1 -0
  101. package/dist/ReadOnlyTable-4Y2XW4MX.mjs +6 -0
  102. package/dist/ReadOnlyTable-4Y2XW4MX.mjs.map +1 -0
  103. package/dist/ReadOnlyTable-L7G6GWEJ.cjs +15 -0
  104. package/dist/ReadOnlyTable-L7G6GWEJ.cjs.map +1 -0
  105. package/dist/ReferralWidget-J2PWYFDT.cjs +171 -0
  106. package/dist/ReferralWidget-J2PWYFDT.cjs.map +1 -0
  107. package/dist/ReferralWidget-UPYWEO5R.mjs +169 -0
  108. package/dist/ReferralWidget-UPYWEO5R.mjs.map +1 -0
  109. package/dist/RichTextWidget-BBCNJPMH.mjs +11 -0
  110. package/dist/RichTextWidget-BBCNJPMH.mjs.map +1 -0
  111. package/dist/RichTextWidget-CRQHNVJR.cjs +24 -0
  112. package/dist/RichTextWidget-CRQHNVJR.cjs.map +1 -0
  113. package/dist/SmartTextarea-DKWV4R6H.cjs +19 -0
  114. package/dist/SmartTextarea-DKWV4R6H.cjs.map +1 -0
  115. package/dist/SmartTextarea-ZTQIW6O2.mjs +10 -0
  116. package/dist/SmartTextarea-ZTQIW6O2.mjs.map +1 -0
  117. package/dist/SuggestionTextareaWidget-22NR3JWM.mjs +215 -0
  118. package/dist/SuggestionTextareaWidget-22NR3JWM.mjs.map +1 -0
  119. package/dist/SuggestionTextareaWidget-WCTPWW2E.cjs +226 -0
  120. package/dist/SuggestionTextareaWidget-WCTPWW2E.cjs.map +1 -0
  121. package/dist/SurgicalRiskFlagsWidget-Q5FTWB3M.cjs +146 -0
  122. package/dist/SurgicalRiskFlagsWidget-Q5FTWB3M.cjs.map +1 -0
  123. package/dist/SurgicalRiskFlagsWidget-WCAHZKKG.mjs +144 -0
  124. package/dist/SurgicalRiskFlagsWidget-WCAHZKKG.mjs.map +1 -0
  125. package/dist/UrologyExaminationWidget-JYUGZ5CG.cjs +273 -0
  126. package/dist/UrologyExaminationWidget-JYUGZ5CG.cjs.map +1 -0
  127. package/dist/UrologyExaminationWidget-QDTD3FJX.mjs +271 -0
  128. package/dist/UrologyExaminationWidget-QDTD3FJX.mjs.map +1 -0
  129. package/dist/UrologyPathwayWidget-QTFKUIM7.mjs +153 -0
  130. package/dist/UrologyPathwayWidget-QTFKUIM7.mjs.map +1 -0
  131. package/dist/UrologyPathwayWidget-TXZQNGP4.cjs +155 -0
  132. package/dist/UrologyPathwayWidget-TXZQNGP4.cjs.map +1 -0
  133. package/dist/UrologySmartHistoryWidget-53NATEO3.cjs +471 -0
  134. package/dist/UrologySmartHistoryWidget-53NATEO3.cjs.map +1 -0
  135. package/dist/UrologySmartHistoryWidget-PBU4QXQJ.mjs +469 -0
  136. package/dist/UrologySmartHistoryWidget-PBU4QXQJ.mjs.map +1 -0
  137. package/dist/VitalsWidget-BRFUKGNO.mjs +187 -0
  138. package/dist/VitalsWidget-BRFUKGNO.mjs.map +1 -0
  139. package/dist/VitalsWidget-PDCYXNBM.cjs +208 -0
  140. package/dist/VitalsWidget-PDCYXNBM.cjs.map +1 -0
  141. package/dist/chunk-3KRDT7TX.mjs +137 -0
  142. package/dist/chunk-3KRDT7TX.mjs.map +1 -0
  143. package/dist/chunk-4BAKQIPJ.mjs +27 -0
  144. package/dist/chunk-4BAKQIPJ.mjs.map +1 -0
  145. package/dist/chunk-4KSZUIJE.cjs +143 -0
  146. package/dist/chunk-4KSZUIJE.cjs.map +1 -0
  147. package/dist/chunk-4PMNVBJD.mjs +121 -0
  148. package/dist/chunk-4PMNVBJD.mjs.map +1 -0
  149. package/dist/chunk-5E3APMY6.cjs +54 -0
  150. package/dist/chunk-5E3APMY6.cjs.map +1 -0
  151. package/dist/chunk-5I2RC47Y.mjs +75 -0
  152. package/dist/chunk-5I2RC47Y.mjs.map +1 -0
  153. package/dist/chunk-6YX37XBM.cjs +32 -0
  154. package/dist/chunk-6YX37XBM.cjs.map +1 -0
  155. package/dist/chunk-7L2JOWGA.mjs +30 -0
  156. package/dist/chunk-7L2JOWGA.mjs.map +1 -0
  157. package/dist/chunk-AIZ3XYEZ.cjs +551 -0
  158. package/dist/chunk-AIZ3XYEZ.cjs.map +1 -0
  159. package/dist/chunk-AZHTIUOL.mjs +116 -0
  160. package/dist/chunk-AZHTIUOL.mjs.map +1 -0
  161. package/dist/chunk-AZSAPO2V.cjs +174 -0
  162. package/dist/chunk-AZSAPO2V.cjs.map +1 -0
  163. package/dist/chunk-B3GBIAHZ.mjs +285 -0
  164. package/dist/chunk-B3GBIAHZ.mjs.map +1 -0
  165. package/dist/chunk-BMNY7F6H.mjs +148 -0
  166. package/dist/chunk-BMNY7F6H.mjs.map +1 -0
  167. package/dist/chunk-BOBX45NY.cjs +77 -0
  168. package/dist/chunk-BOBX45NY.cjs.map +1 -0
  169. package/dist/chunk-BU4ZEAAP.mjs +102 -0
  170. package/dist/chunk-BU4ZEAAP.mjs.map +1 -0
  171. package/dist/chunk-DZYV47QC.mjs +54 -0
  172. package/dist/chunk-DZYV47QC.mjs.map +1 -0
  173. package/dist/chunk-E7WUDHSA.cjs +127 -0
  174. package/dist/chunk-E7WUDHSA.cjs.map +1 -0
  175. package/dist/chunk-FHHISVCH.cjs +13 -0
  176. package/dist/chunk-FHHISVCH.cjs.map +1 -0
  177. package/dist/chunk-GNZWSVTB.mjs +29 -0
  178. package/dist/chunk-GNZWSVTB.mjs.map +1 -0
  179. package/dist/chunk-GPU5P3FB.cjs +236 -0
  180. package/dist/chunk-GPU5P3FB.cjs.map +1 -0
  181. package/dist/chunk-GXXWMHAA.mjs +49 -0
  182. package/dist/chunk-GXXWMHAA.mjs.map +1 -0
  183. package/dist/chunk-GZPCYSJK.mjs +104 -0
  184. package/dist/chunk-GZPCYSJK.mjs.map +1 -0
  185. package/dist/chunk-HEFZA2AH.mjs +22 -0
  186. package/dist/chunk-HEFZA2AH.mjs.map +1 -0
  187. package/dist/chunk-I4AV6BQF.mjs +10 -0
  188. package/dist/chunk-I4AV6BQF.mjs.map +1 -0
  189. package/dist/chunk-I7TJVWYV.cjs +73 -0
  190. package/dist/chunk-I7TJVWYV.cjs.map +1 -0
  191. package/dist/chunk-IFMQKLNW.mjs +39 -0
  192. package/dist/chunk-IFMQKLNW.mjs.map +1 -0
  193. package/dist/chunk-IFSKLIS2.cjs +12 -0
  194. package/dist/chunk-IFSKLIS2.cjs.map +1 -0
  195. package/dist/chunk-IKAKE7TR.mjs +527 -0
  196. package/dist/chunk-IKAKE7TR.mjs.map +1 -0
  197. package/dist/chunk-JE6VXRWW.cjs +86 -0
  198. package/dist/chunk-JE6VXRWW.cjs.map +1 -0
  199. package/dist/chunk-JMGUUFOJ.cjs +45 -0
  200. package/dist/chunk-JMGUUFOJ.cjs.map +1 -0
  201. package/dist/chunk-KJA5BLGX.cjs +31 -0
  202. package/dist/chunk-KJA5BLGX.cjs.map +1 -0
  203. package/dist/chunk-KMJOTMUQ.cjs +109 -0
  204. package/dist/chunk-KMJOTMUQ.cjs.map +1 -0
  205. package/dist/chunk-L4CIIT4U.cjs +388 -0
  206. package/dist/chunk-L4CIIT4U.cjs.map +1 -0
  207. package/dist/chunk-LBWB7MYU.cjs +287 -0
  208. package/dist/chunk-LBWB7MYU.cjs.map +1 -0
  209. package/dist/chunk-LGGOBIEA.mjs +61 -0
  210. package/dist/chunk-LGGOBIEA.mjs.map +1 -0
  211. package/dist/chunk-LQYWMYEC.mjs +28 -0
  212. package/dist/chunk-LQYWMYEC.mjs.map +1 -0
  213. package/dist/chunk-MQ2JV7HL.cjs +140 -0
  214. package/dist/chunk-MQ2JV7HL.cjs.map +1 -0
  215. package/dist/chunk-N4L76SHJ.cjs +65 -0
  216. package/dist/chunk-N4L76SHJ.cjs.map +1 -0
  217. package/dist/chunk-O3VQBPEW.cjs +72 -0
  218. package/dist/chunk-O3VQBPEW.cjs.map +1 -0
  219. package/dist/chunk-P62377LB.cjs +27 -0
  220. package/dist/chunk-P62377LB.cjs.map +1 -0
  221. package/dist/chunk-PHADAQSH.cjs +49 -0
  222. package/dist/chunk-PHADAQSH.cjs.map +1 -0
  223. package/dist/chunk-PZBJYPWW.cjs +52 -0
  224. package/dist/chunk-PZBJYPWW.cjs.map +1 -0
  225. package/dist/chunk-QKJ7BQSR.cjs +538 -0
  226. package/dist/chunk-QKJ7BQSR.cjs.map +1 -0
  227. package/dist/chunk-QS6WG2XJ.cjs +56 -0
  228. package/dist/chunk-QS6WG2XJ.cjs.map +1 -0
  229. package/dist/chunk-S7EMPE2D.cjs +104 -0
  230. package/dist/chunk-S7EMPE2D.cjs.map +1 -0
  231. package/dist/chunk-SCMXLRX5.mjs +42 -0
  232. package/dist/chunk-SCMXLRX5.mjs.map +1 -0
  233. package/dist/chunk-SHQHDSA4.cjs +1959 -0
  234. package/dist/chunk-SHQHDSA4.cjs.map +1 -0
  235. package/dist/chunk-TJHG5WHX.cjs +47 -0
  236. package/dist/chunk-TJHG5WHX.cjs.map +1 -0
  237. package/dist/chunk-UGGUIXUS.cjs +41 -0
  238. package/dist/chunk-UGGUIXUS.cjs.map +1 -0
  239. package/dist/chunk-ULMK3TUI.mjs +69 -0
  240. package/dist/chunk-ULMK3TUI.mjs.map +1 -0
  241. package/dist/chunk-UULLSS4O.mjs +82 -0
  242. package/dist/chunk-UULLSS4O.mjs.map +1 -0
  243. package/dist/chunk-VNFBUAZD.mjs +25 -0
  244. package/dist/chunk-VNFBUAZD.mjs.map +1 -0
  245. package/dist/chunk-VPU66PI6.mjs +11 -0
  246. package/dist/chunk-VPU66PI6.mjs.map +1 -0
  247. package/dist/chunk-VZT5YNCD.mjs +228 -0
  248. package/dist/chunk-VZT5YNCD.mjs.map +1 -0
  249. package/dist/chunk-WYVXXEZI.mjs +46 -0
  250. package/dist/chunk-WYVXXEZI.mjs.map +1 -0
  251. package/dist/chunk-XDUVO3IZ.mjs +547 -0
  252. package/dist/chunk-XDUVO3IZ.mjs.map +1 -0
  253. package/dist/chunk-Y7TIWH4I.mjs +25 -0
  254. package/dist/chunk-Y7TIWH4I.mjs.map +1 -0
  255. package/dist/chunk-YEFM2ERQ.cjs +143 -0
  256. package/dist/chunk-YEFM2ERQ.cjs.map +1 -0
  257. package/dist/chunk-YHNI5NIX.mjs +361 -0
  258. package/dist/chunk-YHNI5NIX.mjs.map +1 -0
  259. package/dist/chunk-ZTT5XJR7.mjs +1921 -0
  260. package/dist/chunk-ZTT5XJR7.mjs.map +1 -0
  261. package/dist/index.cjs +2091 -14564
  262. package/dist/index.cjs.map +1 -1
  263. package/dist/index.d.cts +62 -767
  264. package/dist/index.d.ts +62 -767
  265. package/dist/index.mjs +1873 -14394
  266. package/dist/index.mjs.map +1 -1
  267. package/dist/read-only-table.cjs +15 -0
  268. package/dist/read-only-table.cjs.map +1 -0
  269. package/dist/read-only-table.d.cts +10 -0
  270. package/dist/read-only-table.d.ts +10 -0
  271. package/dist/read-only-table.mjs +6 -0
  272. package/dist/read-only-table.mjs.map +1 -0
  273. package/dist/rich-text.cjs +24 -0
  274. package/dist/rich-text.cjs.map +1 -0
  275. package/dist/rich-text.d.cts +8 -0
  276. package/dist/rich-text.d.ts +8 -0
  277. package/dist/rich-text.mjs +11 -0
  278. package/dist/rich-text.mjs.map +1 -0
  279. package/dist/richTextClassName--8wkuHkW.d.cts +10 -0
  280. package/dist/richTextClassName--8wkuHkW.d.ts +10 -0
  281. package/dist/smart.cjs +23 -0
  282. package/dist/smart.cjs.map +1 -0
  283. package/dist/smart.d.cts +23 -0
  284. package/dist/smart.d.ts +23 -0
  285. package/dist/smart.mjs +10 -0
  286. package/dist/smart.mjs.map +1 -0
  287. package/dist/types-CYtJk8H9.d.cts +782 -0
  288. package/dist/types-CYtJk8H9.d.ts +782 -0
  289. package/package.json +20 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/widgets/BiometryIolWorkupWidget.tsx"],"names":["jsx","useField","useForm","jsxs"],"mappings":"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","file":"BiometryIolWorkupWidget-I5AJOYB2.cjs","sourcesContent":["import React from 'react';\nimport { useField } from '../../react/useField';\nimport { useForm } from '../../react/useForm';\nimport type { BiometryIolWorkupFieldDef, BiometryIolWorkupValue, BiometryMethod } from '../../core/types';\n\nconst FORMULA_OPTIONS = [\n 'SRK/T',\n 'Barrett Universal II',\n 'Hoffer Q',\n 'Haigis',\n 'Holladay 1',\n 'Holladay 2',\n 'Kane',\n] as const;\n\nconst METHODS: { value: BiometryMethod; label: string }[] = [\n { value: 'optical_biometry', label: 'Optical biometry (IOL Master)' },\n { value: 'ascan_immersion', label: 'A-scan (immersion)' },\n { value: 'ascan_contact', label: 'A-scan (contact)' },\n];\n\nconst EMPTY: BiometryIolWorkupValue = {\n axialLengthOD: '',\n axialLengthOS: '',\n k1k2AxisOD: '',\n k1k2AxisOS: '',\n anteriorChamberDepthOD: '',\n anteriorChamberDepthOS: '',\n iolPowerOD: '',\n iolPowerOS: '',\n targetRefractionOD: '',\n targetRefractionOS: '',\n formula: 'SRK/T',\n method: 'optical_biometry',\n cornealTopoUploaded: false,\n specularMicroscopyDone: false,\n endothelialCount: '',\n};\n\nfunction str(x: unknown): string {\n return typeof x === 'string' ? x : '';\n}\n\nfunction parseValue(raw: unknown): BiometryIolWorkupValue {\n if (!raw || typeof raw !== 'object' || Array.isArray(raw)) return { ...EMPTY };\n const o = raw as Record<string, unknown>;\n const m = o.method;\n const method: BiometryMethod =\n m === 'ascan_immersion' || m === 'ascan_contact' || m === 'optical_biometry' ? m : 'optical_biometry';\n const formula = str(o.formula);\n return {\n ...EMPTY,\n axialLengthOD: str(o.axialLengthOD),\n axialLengthOS: str(o.axialLengthOS),\n k1k2AxisOD: str(o.k1k2AxisOD),\n k1k2AxisOS: str(o.k1k2AxisOS),\n anteriorChamberDepthOD: str(o.anteriorChamberDepthOD),\n anteriorChamberDepthOS: str(o.anteriorChamberDepthOS),\n iolPowerOD: str(o.iolPowerOD),\n iolPowerOS: str(o.iolPowerOS),\n targetRefractionOD: str(o.targetRefractionOD),\n targetRefractionOS: str(o.targetRefractionOS),\n formula: formula || 'SRK/T',\n method,\n cornealTopoUploaded: o.cornealTopoUploaded === true,\n specularMicroscopyDone: o.specularMicroscopyDone === true,\n endothelialCount: str(o.endothelialCount),\n };\n}\n\n/** Row padding — use the same `py-*` on paramCell, eyeTh, eye `td`s, and colspan `td`s (Tailwind must see literals; not from index.css). */\nconst paramCell =\n 'emr-biometry-param text-[11px] font-semibold leading-snug text-foreground sm:text-xs py-2';\nconst eyeTh =\n 'emr-biometry-eye text-center text-[11px] font-semibold sm:text-xs py-2';\n\nfunction Inp({\n value,\n onChange,\n disabled,\n placeholder,\n}: {\n value: string;\n onChange: (s: string) => void;\n disabled?: boolean;\n placeholder?: string;\n}) {\n return (\n <input\n value={value}\n disabled={disabled}\n placeholder={placeholder}\n onChange={(e) => onChange(e.target.value)}\n className=\"box-border w-full min-w-0 rounded border border-input bg-background px-2 py-1 text-[11px] sm:text-xs\"\n />\n );\n}\n\nconst DEFAULT_TITLE = 'Biometry & IOL Workup (Stage 7)';\n\nexport const BiometryIolWorkupWidget: React.FC<{ fieldId: string }> = ({ fieldId }) => {\n const { fieldDef, value, setValue, error, disabled, touched } = useField(fieldId);\n const { state } = useForm();\n const showError = !!error && (touched || state.submitAttempted);\n\n if (!fieldDef || fieldDef.type !== 'biometry_iol_workup') {\n return null;\n }\n\n const def = fieldDef as BiometryIolWorkupFieldDef;\n const v = parseValue(value);\n const title =\n (def.meta?.cardTitle as string | undefined)?.trim() ||\n (def.label?.trim() ? def.label : DEFAULT_TITLE);\n\n const patch = (p: Partial<BiometryIolWorkupValue>) => setValue({ ...v, ...p });\n\n return (\n <div\n id={`biometry-iol-${fieldId}`}\n className=\"w-full min-w-0 max-w-full self-stretch rounded-lg border border-border bg-card p-3 text-card-foreground shadow-sm\"\n >\n <h3 className=\"mb-2.5 text-sm font-semibold leading-tight text-foreground\">{title}</h3>\n\n <div className=\"w-full min-w-0 overflow-x-auto\">\n <table className=\"emr-table emr-table--biometry min-w-full\">\n <colgroup>\n <col style={{ width: '32%' }} />\n <col style={{ width: '34%' }} />\n <col style={{ width: '34%' }} />\n </colgroup>\n <thead>\n <tr>\n <th scope=\"col\" className={paramCell}>\n Parameter\n </th>\n <th scope=\"col\" className={eyeTh}>\n Right Eye\n </th>\n <th scope=\"col\" className={eyeTh}>\n Left Eye\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td className={paramCell}>Axial Length (mm)</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.axialLengthOD}\n disabled={disabled}\n placeholder=\"e.g. 23.45\"\n onChange={(s) => patch({ axialLengthOD: s })}\n />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.axialLengthOS}\n disabled={disabled}\n placeholder=\"e.g. 23.45\"\n onChange={(s) => patch({ axialLengthOS: s })}\n />\n </td>\n </tr>\n <tr>\n <td className={paramCell}>K1 / K2 / Axis</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.k1k2AxisOD}\n disabled={disabled}\n placeholder=\"44.0 / 44.5 / 90\"\n onChange={(s) => patch({ k1k2AxisOD: s })}\n />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.k1k2AxisOS}\n disabled={disabled}\n placeholder=\"44.0 / 44.5 / 90\"\n onChange={(s) => patch({ k1k2AxisOS: s })}\n />\n </td>\n </tr>\n <tr>\n <td className={`${paramCell} whitespace-nowrap`}>Anterior Chamber Depth (mm)</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.anteriorChamberDepthOD}\n disabled={disabled}\n onChange={(s) => patch({ anteriorChamberDepthOD: s })}\n />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.anteriorChamberDepthOS}\n disabled={disabled}\n onChange={(s) => patch({ anteriorChamberDepthOS: s })}\n />\n </td>\n </tr>\n <tr>\n <td className={paramCell}>IOL Power (D)</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp value={v.iolPowerOD} disabled={disabled} onChange={(s) => patch({ iolPowerOD: s })} />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp value={v.iolPowerOS} disabled={disabled} onChange={(s) => patch({ iolPowerOS: s })} />\n </td>\n </tr>\n <tr>\n <td className={paramCell}>Target Refraction (D)</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.targetRefractionOD}\n disabled={disabled}\n placeholder=\"e.g. -0.25\"\n onChange={(s) => patch({ targetRefractionOD: s })}\n />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.targetRefractionOS}\n disabled={disabled}\n placeholder=\"e.g. -0.25\"\n onChange={(s) => patch({ targetRefractionOS: s })}\n />\n </td>\n </tr>\n <tr>\n <td className={paramCell}>Formula</td>\n <td className=\"min-w-0 px-2 py-2 align-middle\" colSpan={2}>\n <select\n value={v.formula}\n disabled={disabled}\n onChange={(e) => patch({ formula: e.target.value })}\n className=\"box-border w-full min-w-0 rounded border border-input bg-background px-2 py-1 text-[11px] sm:text-xs\"\n >\n {FORMULA_OPTIONS.map((opt) => (\n <option key={opt} value={opt}>\n {opt}\n </option>\n ))}\n </select>\n </td>\n </tr>\n <tr>\n <td className={`${paramCell} align-top`}>Method</td>\n <td className=\"min-w-0 px-2 py-2 align-middle\" colSpan={2}>\n <div\n role=\"radiogroup\"\n aria-label=\"Biometry method\"\n className=\"flex w-full flex-wrap items-center justify-center gap-x-3 gap-y-2 text-[11px] sm:gap-x-4 sm:text-xs\"\n >\n {METHODS.map(({ value: mv, label }) => (\n <label key={mv} className=\"flex min-w-0 shrink-0 cursor-pointer items-center gap-1.5\">\n <input\n type=\"radio\"\n name={`${fieldId}-biom-method`}\n value={mv}\n checked={v.method === mv}\n disabled={disabled}\n onChange={() => patch({ method: mv })}\n className=\"shrink-0\"\n />\n <span className=\"min-w-0 whitespace-nowrap leading-tight\">{label}</span>\n </label>\n ))}\n </div>\n </td>\n </tr>\n <tr>\n <td className={`${paramCell} align-top text-muted-foreground`}>Optional workup</td>\n <td className=\"min-w-0 px-2 py-2 align-middle\" colSpan={2}>\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap items-center justify-center gap-x-4 gap-y-2 sm:justify-between\">\n <label className=\"inline-flex min-w-0 cursor-pointer items-center gap-1.5 text-[11px] leading-snug sm:text-xs\">\n <input\n type=\"checkbox\"\n className=\"shrink-0\"\n checked={v.cornealTopoUploaded}\n disabled={disabled}\n onChange={(e) => patch({ cornealTopoUploaded: e.target.checked })}\n />\n <span>Corneal topography uploaded</span>\n </label>\n <label className=\"inline-flex min-w-0 cursor-pointer items-center gap-1.5 text-[11px] leading-snug sm:text-xs\">\n <input\n type=\"checkbox\"\n className=\"shrink-0\"\n checked={v.specularMicroscopyDone}\n disabled={disabled}\n onChange={(e) => patch({ specularMicroscopyDone: e.target.checked })}\n />\n <span>Specular microscopy done</span>\n </label>\n </div>\n <div className=\"flex flex-wrap items-center justify-end gap-2 text-[11px] sm:text-xs\">\n <span className=\"shrink-0 text-muted-foreground\">Endothelial count:</span>\n <input\n value={v.endothelialCount}\n disabled={disabled}\n placeholder=\"cells/mm²\"\n onChange={(e) => patch({ endothelialCount: e.target.value })}\n className=\"box-border w-[5.5rem] min-w-0 shrink-0 rounded border border-input bg-background px-2 py-1 text-[11px] sm:text-xs\"\n />\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n {def.description && <p className=\"mt-2 text-xs text-muted-foreground\">{def.description}</p>}\n\n {showError && <p className=\"mt-2 text-xs text-red-500\">{error}</p>}\n </div>\n );\n};\n"]}
@@ -0,0 +1,298 @@
1
+ import { useForm } from './chunk-7L2JOWGA.mjs';
2
+ import { useField } from './chunk-ZTT5XJR7.mjs';
3
+ import 'react';
4
+ import { jsxs, jsx } from 'react/jsx-runtime';
5
+
6
+ var FORMULA_OPTIONS = [
7
+ "SRK/T",
8
+ "Barrett Universal II",
9
+ "Hoffer Q",
10
+ "Haigis",
11
+ "Holladay 1",
12
+ "Holladay 2",
13
+ "Kane"
14
+ ];
15
+ var METHODS = [
16
+ { value: "optical_biometry", label: "Optical biometry (IOL Master)" },
17
+ { value: "ascan_immersion", label: "A-scan (immersion)" },
18
+ { value: "ascan_contact", label: "A-scan (contact)" }
19
+ ];
20
+ var EMPTY = {
21
+ axialLengthOD: "",
22
+ axialLengthOS: "",
23
+ k1k2AxisOD: "",
24
+ k1k2AxisOS: "",
25
+ anteriorChamberDepthOD: "",
26
+ anteriorChamberDepthOS: "",
27
+ iolPowerOD: "",
28
+ iolPowerOS: "",
29
+ targetRefractionOD: "",
30
+ targetRefractionOS: "",
31
+ formula: "SRK/T",
32
+ method: "optical_biometry",
33
+ cornealTopoUploaded: false,
34
+ specularMicroscopyDone: false,
35
+ endothelialCount: ""
36
+ };
37
+ function str(x) {
38
+ return typeof x === "string" ? x : "";
39
+ }
40
+ function parseValue(raw) {
41
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return { ...EMPTY };
42
+ const o = raw;
43
+ const m = o.method;
44
+ const method = m === "ascan_immersion" || m === "ascan_contact" || m === "optical_biometry" ? m : "optical_biometry";
45
+ const formula = str(o.formula);
46
+ return {
47
+ ...EMPTY,
48
+ axialLengthOD: str(o.axialLengthOD),
49
+ axialLengthOS: str(o.axialLengthOS),
50
+ k1k2AxisOD: str(o.k1k2AxisOD),
51
+ k1k2AxisOS: str(o.k1k2AxisOS),
52
+ anteriorChamberDepthOD: str(o.anteriorChamberDepthOD),
53
+ anteriorChamberDepthOS: str(o.anteriorChamberDepthOS),
54
+ iolPowerOD: str(o.iolPowerOD),
55
+ iolPowerOS: str(o.iolPowerOS),
56
+ targetRefractionOD: str(o.targetRefractionOD),
57
+ targetRefractionOS: str(o.targetRefractionOS),
58
+ formula: formula || "SRK/T",
59
+ method,
60
+ cornealTopoUploaded: o.cornealTopoUploaded === true,
61
+ specularMicroscopyDone: o.specularMicroscopyDone === true,
62
+ endothelialCount: str(o.endothelialCount)
63
+ };
64
+ }
65
+ var paramCell = "emr-biometry-param text-[11px] font-semibold leading-snug text-foreground sm:text-xs py-2";
66
+ var eyeTh = "emr-biometry-eye text-center text-[11px] font-semibold sm:text-xs py-2";
67
+ function Inp({
68
+ value,
69
+ onChange,
70
+ disabled,
71
+ placeholder
72
+ }) {
73
+ return /* @__PURE__ */ jsx(
74
+ "input",
75
+ {
76
+ value,
77
+ disabled,
78
+ placeholder,
79
+ onChange: (e) => onChange(e.target.value),
80
+ className: "box-border w-full min-w-0 rounded border border-input bg-background px-2 py-1 text-[11px] sm:text-xs"
81
+ }
82
+ );
83
+ }
84
+ var DEFAULT_TITLE = "Biometry & IOL Workup (Stage 7)";
85
+ var BiometryIolWorkupWidget = ({ fieldId }) => {
86
+ const { fieldDef, value, setValue, error, disabled, touched } = useField(fieldId);
87
+ const { state } = useForm();
88
+ const showError = !!error && (touched || state.submitAttempted);
89
+ if (!fieldDef || fieldDef.type !== "biometry_iol_workup") {
90
+ return null;
91
+ }
92
+ const def = fieldDef;
93
+ const v = parseValue(value);
94
+ const title = def.meta?.cardTitle?.trim() || (def.label?.trim() ? def.label : DEFAULT_TITLE);
95
+ const patch = (p) => setValue({ ...v, ...p });
96
+ return /* @__PURE__ */ jsxs(
97
+ "div",
98
+ {
99
+ id: `biometry-iol-${fieldId}`,
100
+ className: "w-full min-w-0 max-w-full self-stretch rounded-lg border border-border bg-card p-3 text-card-foreground shadow-sm",
101
+ children: [
102
+ /* @__PURE__ */ jsx("h3", { className: "mb-2.5 text-sm font-semibold leading-tight text-foreground", children: title }),
103
+ /* @__PURE__ */ jsx("div", { className: "w-full min-w-0 overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "emr-table emr-table--biometry min-w-full", children: [
104
+ /* @__PURE__ */ jsxs("colgroup", { children: [
105
+ /* @__PURE__ */ jsx("col", { style: { width: "32%" } }),
106
+ /* @__PURE__ */ jsx("col", { style: { width: "34%" } }),
107
+ /* @__PURE__ */ jsx("col", { style: { width: "34%" } })
108
+ ] }),
109
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
110
+ /* @__PURE__ */ jsx("th", { scope: "col", className: paramCell, children: "Parameter" }),
111
+ /* @__PURE__ */ jsx("th", { scope: "col", className: eyeTh, children: "Right Eye" }),
112
+ /* @__PURE__ */ jsx("th", { scope: "col", className: eyeTh, children: "Left Eye" })
113
+ ] }) }),
114
+ /* @__PURE__ */ jsxs("tbody", { children: [
115
+ /* @__PURE__ */ jsxs("tr", { children: [
116
+ /* @__PURE__ */ jsx("td", { className: paramCell, children: "Axial Length (mm)" }),
117
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(
118
+ Inp,
119
+ {
120
+ value: v.axialLengthOD,
121
+ disabled,
122
+ placeholder: "e.g. 23.45",
123
+ onChange: (s) => patch({ axialLengthOD: s })
124
+ }
125
+ ) }),
126
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(
127
+ Inp,
128
+ {
129
+ value: v.axialLengthOS,
130
+ disabled,
131
+ placeholder: "e.g. 23.45",
132
+ onChange: (s) => patch({ axialLengthOS: s })
133
+ }
134
+ ) })
135
+ ] }),
136
+ /* @__PURE__ */ jsxs("tr", { children: [
137
+ /* @__PURE__ */ jsx("td", { className: paramCell, children: "K1 / K2 / Axis" }),
138
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(
139
+ Inp,
140
+ {
141
+ value: v.k1k2AxisOD,
142
+ disabled,
143
+ placeholder: "44.0 / 44.5 / 90",
144
+ onChange: (s) => patch({ k1k2AxisOD: s })
145
+ }
146
+ ) }),
147
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(
148
+ Inp,
149
+ {
150
+ value: v.k1k2AxisOS,
151
+ disabled,
152
+ placeholder: "44.0 / 44.5 / 90",
153
+ onChange: (s) => patch({ k1k2AxisOS: s })
154
+ }
155
+ ) })
156
+ ] }),
157
+ /* @__PURE__ */ jsxs("tr", { children: [
158
+ /* @__PURE__ */ jsx("td", { className: `${paramCell} whitespace-nowrap`, children: "Anterior Chamber Depth (mm)" }),
159
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(
160
+ Inp,
161
+ {
162
+ value: v.anteriorChamberDepthOD,
163
+ disabled,
164
+ onChange: (s) => patch({ anteriorChamberDepthOD: s })
165
+ }
166
+ ) }),
167
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(
168
+ Inp,
169
+ {
170
+ value: v.anteriorChamberDepthOS,
171
+ disabled,
172
+ onChange: (s) => patch({ anteriorChamberDepthOS: s })
173
+ }
174
+ ) })
175
+ ] }),
176
+ /* @__PURE__ */ jsxs("tr", { children: [
177
+ /* @__PURE__ */ jsx("td", { className: paramCell, children: "IOL Power (D)" }),
178
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(Inp, { value: v.iolPowerOD, disabled, onChange: (s) => patch({ iolPowerOD: s }) }) }),
179
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(Inp, { value: v.iolPowerOS, disabled, onChange: (s) => patch({ iolPowerOS: s }) }) })
180
+ ] }),
181
+ /* @__PURE__ */ jsxs("tr", { children: [
182
+ /* @__PURE__ */ jsx("td", { className: paramCell, children: "Target Refraction (D)" }),
183
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(
184
+ Inp,
185
+ {
186
+ value: v.targetRefractionOD,
187
+ disabled,
188
+ placeholder: "e.g. -0.25",
189
+ onChange: (s) => patch({ targetRefractionOD: s })
190
+ }
191
+ ) }),
192
+ /* @__PURE__ */ jsx("td", { className: "emr-biometry-eye min-w-0 px-2 py-2", children: /* @__PURE__ */ jsx(
193
+ Inp,
194
+ {
195
+ value: v.targetRefractionOS,
196
+ disabled,
197
+ placeholder: "e.g. -0.25",
198
+ onChange: (s) => patch({ targetRefractionOS: s })
199
+ }
200
+ ) })
201
+ ] }),
202
+ /* @__PURE__ */ jsxs("tr", { children: [
203
+ /* @__PURE__ */ jsx("td", { className: paramCell, children: "Formula" }),
204
+ /* @__PURE__ */ jsx("td", { className: "min-w-0 px-2 py-2 align-middle", colSpan: 2, children: /* @__PURE__ */ jsx(
205
+ "select",
206
+ {
207
+ value: v.formula,
208
+ disabled,
209
+ onChange: (e) => patch({ formula: e.target.value }),
210
+ className: "box-border w-full min-w-0 rounded border border-input bg-background px-2 py-1 text-[11px] sm:text-xs",
211
+ children: FORMULA_OPTIONS.map((opt) => /* @__PURE__ */ jsx("option", { value: opt, children: opt }, opt))
212
+ }
213
+ ) })
214
+ ] }),
215
+ /* @__PURE__ */ jsxs("tr", { children: [
216
+ /* @__PURE__ */ jsx("td", { className: `${paramCell} align-top`, children: "Method" }),
217
+ /* @__PURE__ */ jsx("td", { className: "min-w-0 px-2 py-2 align-middle", colSpan: 2, children: /* @__PURE__ */ jsx(
218
+ "div",
219
+ {
220
+ role: "radiogroup",
221
+ "aria-label": "Biometry method",
222
+ className: "flex w-full flex-wrap items-center justify-center gap-x-3 gap-y-2 text-[11px] sm:gap-x-4 sm:text-xs",
223
+ children: METHODS.map(({ value: mv, label }) => /* @__PURE__ */ jsxs("label", { className: "flex min-w-0 shrink-0 cursor-pointer items-center gap-1.5", children: [
224
+ /* @__PURE__ */ jsx(
225
+ "input",
226
+ {
227
+ type: "radio",
228
+ name: `${fieldId}-biom-method`,
229
+ value: mv,
230
+ checked: v.method === mv,
231
+ disabled,
232
+ onChange: () => patch({ method: mv }),
233
+ className: "shrink-0"
234
+ }
235
+ ),
236
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 whitespace-nowrap leading-tight", children: label })
237
+ ] }, mv))
238
+ }
239
+ ) })
240
+ ] }),
241
+ /* @__PURE__ */ jsxs("tr", { children: [
242
+ /* @__PURE__ */ jsx("td", { className: `${paramCell} align-top text-muted-foreground`, children: "Optional workup" }),
243
+ /* @__PURE__ */ jsx("td", { className: "min-w-0 px-2 py-2 align-middle", colSpan: 2, children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
244
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-center gap-x-4 gap-y-2 sm:justify-between", children: [
245
+ /* @__PURE__ */ jsxs("label", { className: "inline-flex min-w-0 cursor-pointer items-center gap-1.5 text-[11px] leading-snug sm:text-xs", children: [
246
+ /* @__PURE__ */ jsx(
247
+ "input",
248
+ {
249
+ type: "checkbox",
250
+ className: "shrink-0",
251
+ checked: v.cornealTopoUploaded,
252
+ disabled,
253
+ onChange: (e) => patch({ cornealTopoUploaded: e.target.checked })
254
+ }
255
+ ),
256
+ /* @__PURE__ */ jsx("span", { children: "Corneal topography uploaded" })
257
+ ] }),
258
+ /* @__PURE__ */ jsxs("label", { className: "inline-flex min-w-0 cursor-pointer items-center gap-1.5 text-[11px] leading-snug sm:text-xs", children: [
259
+ /* @__PURE__ */ jsx(
260
+ "input",
261
+ {
262
+ type: "checkbox",
263
+ className: "shrink-0",
264
+ checked: v.specularMicroscopyDone,
265
+ disabled,
266
+ onChange: (e) => patch({ specularMicroscopyDone: e.target.checked })
267
+ }
268
+ ),
269
+ /* @__PURE__ */ jsx("span", { children: "Specular microscopy done" })
270
+ ] })
271
+ ] }),
272
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-end gap-2 text-[11px] sm:text-xs", children: [
273
+ /* @__PURE__ */ jsx("span", { className: "shrink-0 text-muted-foreground", children: "Endothelial count:" }),
274
+ /* @__PURE__ */ jsx(
275
+ "input",
276
+ {
277
+ value: v.endothelialCount,
278
+ disabled,
279
+ placeholder: "cells/mm\xB2",
280
+ onChange: (e) => patch({ endothelialCount: e.target.value }),
281
+ className: "box-border w-[5.5rem] min-w-0 shrink-0 rounded border border-input bg-background px-2 py-1 text-[11px] sm:text-xs"
282
+ }
283
+ )
284
+ ] })
285
+ ] }) })
286
+ ] })
287
+ ] })
288
+ ] }) }),
289
+ def.description && /* @__PURE__ */ jsx("p", { className: "mt-2 text-xs text-muted-foreground", children: def.description }),
290
+ showError && /* @__PURE__ */ jsx("p", { className: "mt-2 text-xs text-red-500", children: error })
291
+ ]
292
+ }
293
+ );
294
+ };
295
+
296
+ export { BiometryIolWorkupWidget };
297
+ //# sourceMappingURL=BiometryIolWorkupWidget-NL2M7ZAA.mjs.map
298
+ //# sourceMappingURL=BiometryIolWorkupWidget-NL2M7ZAA.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/widgets/BiometryIolWorkupWidget.tsx"],"names":[],"mappings":"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","file":"BiometryIolWorkupWidget-NL2M7ZAA.mjs","sourcesContent":["import React from 'react';\nimport { useField } from '../../react/useField';\nimport { useForm } from '../../react/useForm';\nimport type { BiometryIolWorkupFieldDef, BiometryIolWorkupValue, BiometryMethod } from '../../core/types';\n\nconst FORMULA_OPTIONS = [\n 'SRK/T',\n 'Barrett Universal II',\n 'Hoffer Q',\n 'Haigis',\n 'Holladay 1',\n 'Holladay 2',\n 'Kane',\n] as const;\n\nconst METHODS: { value: BiometryMethod; label: string }[] = [\n { value: 'optical_biometry', label: 'Optical biometry (IOL Master)' },\n { value: 'ascan_immersion', label: 'A-scan (immersion)' },\n { value: 'ascan_contact', label: 'A-scan (contact)' },\n];\n\nconst EMPTY: BiometryIolWorkupValue = {\n axialLengthOD: '',\n axialLengthOS: '',\n k1k2AxisOD: '',\n k1k2AxisOS: '',\n anteriorChamberDepthOD: '',\n anteriorChamberDepthOS: '',\n iolPowerOD: '',\n iolPowerOS: '',\n targetRefractionOD: '',\n targetRefractionOS: '',\n formula: 'SRK/T',\n method: 'optical_biometry',\n cornealTopoUploaded: false,\n specularMicroscopyDone: false,\n endothelialCount: '',\n};\n\nfunction str(x: unknown): string {\n return typeof x === 'string' ? x : '';\n}\n\nfunction parseValue(raw: unknown): BiometryIolWorkupValue {\n if (!raw || typeof raw !== 'object' || Array.isArray(raw)) return { ...EMPTY };\n const o = raw as Record<string, unknown>;\n const m = o.method;\n const method: BiometryMethod =\n m === 'ascan_immersion' || m === 'ascan_contact' || m === 'optical_biometry' ? m : 'optical_biometry';\n const formula = str(o.formula);\n return {\n ...EMPTY,\n axialLengthOD: str(o.axialLengthOD),\n axialLengthOS: str(o.axialLengthOS),\n k1k2AxisOD: str(o.k1k2AxisOD),\n k1k2AxisOS: str(o.k1k2AxisOS),\n anteriorChamberDepthOD: str(o.anteriorChamberDepthOD),\n anteriorChamberDepthOS: str(o.anteriorChamberDepthOS),\n iolPowerOD: str(o.iolPowerOD),\n iolPowerOS: str(o.iolPowerOS),\n targetRefractionOD: str(o.targetRefractionOD),\n targetRefractionOS: str(o.targetRefractionOS),\n formula: formula || 'SRK/T',\n method,\n cornealTopoUploaded: o.cornealTopoUploaded === true,\n specularMicroscopyDone: o.specularMicroscopyDone === true,\n endothelialCount: str(o.endothelialCount),\n };\n}\n\n/** Row padding — use the same `py-*` on paramCell, eyeTh, eye `td`s, and colspan `td`s (Tailwind must see literals; not from index.css). */\nconst paramCell =\n 'emr-biometry-param text-[11px] font-semibold leading-snug text-foreground sm:text-xs py-2';\nconst eyeTh =\n 'emr-biometry-eye text-center text-[11px] font-semibold sm:text-xs py-2';\n\nfunction Inp({\n value,\n onChange,\n disabled,\n placeholder,\n}: {\n value: string;\n onChange: (s: string) => void;\n disabled?: boolean;\n placeholder?: string;\n}) {\n return (\n <input\n value={value}\n disabled={disabled}\n placeholder={placeholder}\n onChange={(e) => onChange(e.target.value)}\n className=\"box-border w-full min-w-0 rounded border border-input bg-background px-2 py-1 text-[11px] sm:text-xs\"\n />\n );\n}\n\nconst DEFAULT_TITLE = 'Biometry & IOL Workup (Stage 7)';\n\nexport const BiometryIolWorkupWidget: React.FC<{ fieldId: string }> = ({ fieldId }) => {\n const { fieldDef, value, setValue, error, disabled, touched } = useField(fieldId);\n const { state } = useForm();\n const showError = !!error && (touched || state.submitAttempted);\n\n if (!fieldDef || fieldDef.type !== 'biometry_iol_workup') {\n return null;\n }\n\n const def = fieldDef as BiometryIolWorkupFieldDef;\n const v = parseValue(value);\n const title =\n (def.meta?.cardTitle as string | undefined)?.trim() ||\n (def.label?.trim() ? def.label : DEFAULT_TITLE);\n\n const patch = (p: Partial<BiometryIolWorkupValue>) => setValue({ ...v, ...p });\n\n return (\n <div\n id={`biometry-iol-${fieldId}`}\n className=\"w-full min-w-0 max-w-full self-stretch rounded-lg border border-border bg-card p-3 text-card-foreground shadow-sm\"\n >\n <h3 className=\"mb-2.5 text-sm font-semibold leading-tight text-foreground\">{title}</h3>\n\n <div className=\"w-full min-w-0 overflow-x-auto\">\n <table className=\"emr-table emr-table--biometry min-w-full\">\n <colgroup>\n <col style={{ width: '32%' }} />\n <col style={{ width: '34%' }} />\n <col style={{ width: '34%' }} />\n </colgroup>\n <thead>\n <tr>\n <th scope=\"col\" className={paramCell}>\n Parameter\n </th>\n <th scope=\"col\" className={eyeTh}>\n Right Eye\n </th>\n <th scope=\"col\" className={eyeTh}>\n Left Eye\n </th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td className={paramCell}>Axial Length (mm)</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.axialLengthOD}\n disabled={disabled}\n placeholder=\"e.g. 23.45\"\n onChange={(s) => patch({ axialLengthOD: s })}\n />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.axialLengthOS}\n disabled={disabled}\n placeholder=\"e.g. 23.45\"\n onChange={(s) => patch({ axialLengthOS: s })}\n />\n </td>\n </tr>\n <tr>\n <td className={paramCell}>K1 / K2 / Axis</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.k1k2AxisOD}\n disabled={disabled}\n placeholder=\"44.0 / 44.5 / 90\"\n onChange={(s) => patch({ k1k2AxisOD: s })}\n />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.k1k2AxisOS}\n disabled={disabled}\n placeholder=\"44.0 / 44.5 / 90\"\n onChange={(s) => patch({ k1k2AxisOS: s })}\n />\n </td>\n </tr>\n <tr>\n <td className={`${paramCell} whitespace-nowrap`}>Anterior Chamber Depth (mm)</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.anteriorChamberDepthOD}\n disabled={disabled}\n onChange={(s) => patch({ anteriorChamberDepthOD: s })}\n />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.anteriorChamberDepthOS}\n disabled={disabled}\n onChange={(s) => patch({ anteriorChamberDepthOS: s })}\n />\n </td>\n </tr>\n <tr>\n <td className={paramCell}>IOL Power (D)</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp value={v.iolPowerOD} disabled={disabled} onChange={(s) => patch({ iolPowerOD: s })} />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp value={v.iolPowerOS} disabled={disabled} onChange={(s) => patch({ iolPowerOS: s })} />\n </td>\n </tr>\n <tr>\n <td className={paramCell}>Target Refraction (D)</td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.targetRefractionOD}\n disabled={disabled}\n placeholder=\"e.g. -0.25\"\n onChange={(s) => patch({ targetRefractionOD: s })}\n />\n </td>\n <td className=\"emr-biometry-eye min-w-0 px-2 py-2\">\n <Inp\n value={v.targetRefractionOS}\n disabled={disabled}\n placeholder=\"e.g. -0.25\"\n onChange={(s) => patch({ targetRefractionOS: s })}\n />\n </td>\n </tr>\n <tr>\n <td className={paramCell}>Formula</td>\n <td className=\"min-w-0 px-2 py-2 align-middle\" colSpan={2}>\n <select\n value={v.formula}\n disabled={disabled}\n onChange={(e) => patch({ formula: e.target.value })}\n className=\"box-border w-full min-w-0 rounded border border-input bg-background px-2 py-1 text-[11px] sm:text-xs\"\n >\n {FORMULA_OPTIONS.map((opt) => (\n <option key={opt} value={opt}>\n {opt}\n </option>\n ))}\n </select>\n </td>\n </tr>\n <tr>\n <td className={`${paramCell} align-top`}>Method</td>\n <td className=\"min-w-0 px-2 py-2 align-middle\" colSpan={2}>\n <div\n role=\"radiogroup\"\n aria-label=\"Biometry method\"\n className=\"flex w-full flex-wrap items-center justify-center gap-x-3 gap-y-2 text-[11px] sm:gap-x-4 sm:text-xs\"\n >\n {METHODS.map(({ value: mv, label }) => (\n <label key={mv} className=\"flex min-w-0 shrink-0 cursor-pointer items-center gap-1.5\">\n <input\n type=\"radio\"\n name={`${fieldId}-biom-method`}\n value={mv}\n checked={v.method === mv}\n disabled={disabled}\n onChange={() => patch({ method: mv })}\n className=\"shrink-0\"\n />\n <span className=\"min-w-0 whitespace-nowrap leading-tight\">{label}</span>\n </label>\n ))}\n </div>\n </td>\n </tr>\n <tr>\n <td className={`${paramCell} align-top text-muted-foreground`}>Optional workup</td>\n <td className=\"min-w-0 px-2 py-2 align-middle\" colSpan={2}>\n <div className=\"flex flex-col gap-2\">\n <div className=\"flex flex-wrap items-center justify-center gap-x-4 gap-y-2 sm:justify-between\">\n <label className=\"inline-flex min-w-0 cursor-pointer items-center gap-1.5 text-[11px] leading-snug sm:text-xs\">\n <input\n type=\"checkbox\"\n className=\"shrink-0\"\n checked={v.cornealTopoUploaded}\n disabled={disabled}\n onChange={(e) => patch({ cornealTopoUploaded: e.target.checked })}\n />\n <span>Corneal topography uploaded</span>\n </label>\n <label className=\"inline-flex min-w-0 cursor-pointer items-center gap-1.5 text-[11px] leading-snug sm:text-xs\">\n <input\n type=\"checkbox\"\n className=\"shrink-0\"\n checked={v.specularMicroscopyDone}\n disabled={disabled}\n onChange={(e) => patch({ specularMicroscopyDone: e.target.checked })}\n />\n <span>Specular microscopy done</span>\n </label>\n </div>\n <div className=\"flex flex-wrap items-center justify-end gap-2 text-[11px] sm:text-xs\">\n <span className=\"shrink-0 text-muted-foreground\">Endothelial count:</span>\n <input\n value={v.endothelialCount}\n disabled={disabled}\n placeholder=\"cells/mm²\"\n onChange={(e) => patch({ endothelialCount: e.target.value })}\n className=\"box-border w-[5.5rem] min-w-0 shrink-0 rounded border border-input bg-background px-2 py-1 text-[11px] sm:text-xs\"\n />\n </div>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n\n {def.description && <p className=\"mt-2 text-xs text-muted-foreground\">{def.description}</p>}\n\n {showError && <p className=\"mt-2 text-xs text-red-500\">{error}</p>}\n </div>\n );\n};\n"]}
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+
3
+ var chunk5E3APMY6_cjs = require('./chunk-5E3APMY6.cjs');
4
+ var chunk6YX37XBM_cjs = require('./chunk-6YX37XBM.cjs');
5
+ var chunkYEFM2ERQ_cjs = require('./chunk-YEFM2ERQ.cjs');
6
+ require('./chunk-TJHG5WHX.cjs');
7
+ require('./chunk-AZSAPO2V.cjs');
8
+ require('./chunk-4KSZUIJE.cjs');
9
+ require('./chunk-O3VQBPEW.cjs');
10
+ var chunkSHQHDSA4_cjs = require('./chunk-SHQHDSA4.cjs');
11
+ var chunkJMGUUFOJ_cjs = require('./chunk-JMGUUFOJ.cjs');
12
+ require('./chunk-FHHISVCH.cjs');
13
+ require('react');
14
+ var jsxRuntime = require('react/jsx-runtime');
15
+
16
+ var DateTimeWidget = ({ fieldId }) => {
17
+ const { fieldDef, value, setValue, setTouched, error, disabled, touched } = chunkSHQHDSA4_cjs.useField(fieldId);
18
+ const { state } = chunk6YX37XBM_cjs.useForm();
19
+ const showError = !!error && (touched || state.submitAttempted);
20
+ if (!fieldDef) return null;
21
+ const currentDate = value ? new Date(value) : void 0;
22
+ const showLabel = chunk5E3APMY6_cjs.isLabelVisible(fieldDef);
23
+ const handleChange = (date) => {
24
+ if (!date) {
25
+ setValue(void 0);
26
+ return;
27
+ }
28
+ setValue(date.toISOString());
29
+ };
30
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunk5E3APMY6_cjs.fieldWrapperClass(fieldDef, "space-y-2"), children: [
31
+ showLabel ? /* @__PURE__ */ jsxRuntime.jsxs(chunkJMGUUFOJ_cjs.Label, { htmlFor: fieldId, className: chunk5E3APMY6_cjs.fieldLabelClass(fieldDef), children: [
32
+ fieldDef.label,
33
+ " ",
34
+ /* @__PURE__ */ jsxRuntime.jsx(chunk5E3APMY6_cjs.FieldRequiredIndicator, { fieldDef })
35
+ ] }) : null,
36
+ /* @__PURE__ */ jsxRuntime.jsx(
37
+ "div",
38
+ {
39
+ onBlur: () => setTouched(),
40
+ className: disabled ? "opacity-60 pointer-events-none" : void 0,
41
+ children: /* @__PURE__ */ jsxRuntime.jsx(
42
+ chunkYEFM2ERQ_cjs.DateTimePicker,
43
+ {
44
+ dateTime: currentDate,
45
+ setDateTime: handleChange,
46
+ placeholder: fieldDef.placeholder,
47
+ className: chunk5E3APMY6_cjs.fieldControlClass(
48
+ fieldDef,
49
+ showError ? "border-red-500 w-full" : "w-full"
50
+ )
51
+ }
52
+ )
53
+ }
54
+ ),
55
+ showError && /* @__PURE__ */ jsxRuntime.jsx("p", { className: chunk5E3APMY6_cjs.fieldErrorClass(fieldDef, "text-xs text-red-500"), children: error })
56
+ ] });
57
+ };
58
+
59
+ exports.DateTimeWidget = DateTimeWidget;
60
+ //# sourceMappingURL=DateTimeWidget-DIDVF2EB.cjs.map
61
+ //# sourceMappingURL=DateTimeWidget-DIDVF2EB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/widgets/DateTimeWidget.tsx"],"names":["useField","useForm","isLabelVisible","fieldWrapperClass","Label","fieldLabelClass","jsx","FieldRequiredIndicator","DateTimePicker","fieldControlClass","fieldErrorClass"],"mappings":";;;;;;;;;;;;;;;AAcO,IAAM,cAAA,GAAgD,CAAC,EAAE,OAAA,EAAQ,KAAM;AAC5E,EAAA,MAAM,EAAE,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,UAAA,EAAY,OAAO,QAAA,EAAU,OAAA,EAAQ,GAAIA,0BAAA,CAAS,OAAO,CAAA;AAC5F,EAAA,MAAM,EAAE,KAAA,EAAM,GAAIC,yBAAA,EAAQ;AAC1B,EAAA,MAAM,SAAA,GAAY,CAAC,CAAC,KAAA,KAAU,WAAW,KAAA,CAAM,eAAA,CAAA;AAE/C,EAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AAEtB,EAAA,MAAM,WAAA,GAAc,KAAA,GAAQ,IAAI,IAAA,CAAK,KAAK,CAAA,GAAI,MAAA;AAC9C,EAAA,MAAM,SAAA,GAAYC,iCAAe,QAAQ,CAAA;AAEzC,EAAA,MAAM,YAAA,GAAe,CAAC,IAAA,KAA2B;AAC/C,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,QAAA,CAAS,MAAS,CAAA;AAClB,MAAA;AAAA,IACF;AACA,IAAA,QAAA,CAAS,IAAA,CAAK,aAAa,CAAA;AAAA,EAC7B,CAAA;AAEA,EAAA,uCACG,KAAA,EAAA,EAAI,SAAA,EAAWC,mCAAA,CAAkB,QAAA,EAAU,WAAW,CAAA,EACpD,QAAA,EAAA;AAAA,IAAA,SAAA,mCACEC,uBAAA,EAAA,EAAM,OAAA,EAAS,SAAS,SAAA,EAAWC,iCAAA,CAAgB,QAAQ,CAAA,EACzD,QAAA,EAAA;AAAA,MAAA,QAAA,CAAS,KAAA;AAAA,MAAO,GAAA;AAAA,sBACjBC,cAAA,CAACC,4CAAuB,QAAA,EAAoB;AAAA,KAAA,EAC9C,CAAA,GACE,IAAA;AAAA,oBACJD,cAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,MAAM,UAAA,EAAW;AAAA,QACzB,SAAA,EAAW,WAAW,gCAAA,GAAmC,MAAA;AAAA,QAEzD,QAAA,kBAAAA,cAAA;AAAA,UAACE,gCAAA;AAAA,UAAA;AAAA,YACC,QAAA,EAAU,WAAA;AAAA,YACV,WAAA,EAAa,YAAA;AAAA,YACb,aAAa,QAAA,CAAS,WAAA;AAAA,YACtB,SAAA,EAAWC,mCAAA;AAAA,cACT,QAAA;AAAA,cACA,YAAY,uBAAA,GAA0B;AAAA;AACxC;AAAA;AACF;AAAA,KACF;AAAA,IACC,SAAA,mCACE,GAAA,EAAA,EAAE,SAAA,EAAWC,kCAAgB,QAAA,EAAU,sBAAsB,GAAI,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAE5E,CAAA;AAEJ","file":"DateTimeWidget-DIDVF2EB.cjs","sourcesContent":["import React from 'react';\nimport { useField } from '../../react/useField';\nimport { useForm } from '../../react/useForm';\nimport { DateTimePicker } from '../shadcn/datetime-picker';\nimport { Label } from '../shadcn/label';\nimport {\n FieldRequiredIndicator,\n fieldControlClass,\n fieldErrorClass,\n fieldLabelClass,\n fieldWrapperClass,\n isLabelVisible,\n} from '../../react/fieldStyle';\n\nexport const DateTimeWidget: React.FC<{ fieldId: string }> = ({ fieldId }) => {\n const { fieldDef, value, setValue, setTouched, error, disabled, touched } = useField(fieldId);\n const { state } = useForm();\n const showError = !!error && (touched || state.submitAttempted);\n\n if (!fieldDef) return null;\n\n const currentDate = value ? new Date(value) : undefined;\n const showLabel = isLabelVisible(fieldDef);\n\n const handleChange = (date: Date | undefined) => {\n if (!date) {\n setValue(undefined);\n return;\n }\n setValue(date.toISOString());\n };\n\n return (\n <div className={fieldWrapperClass(fieldDef, 'space-y-2')}>\n {showLabel ? (\n <Label htmlFor={fieldId} className={fieldLabelClass(fieldDef)}>\n {fieldDef.label}{' '}\n <FieldRequiredIndicator fieldDef={fieldDef} />\n </Label>\n ) : null}\n <div\n onBlur={() => setTouched()}\n className={disabled ? 'opacity-60 pointer-events-none' : undefined}\n >\n <DateTimePicker\n dateTime={currentDate}\n setDateTime={handleChange}\n placeholder={fieldDef.placeholder}\n className={fieldControlClass(\n fieldDef,\n showError ? 'border-red-500 w-full' : 'w-full',\n )}\n />\n </div>\n {showError && (\n <p className={fieldErrorClass(fieldDef, 'text-xs text-red-500')}>{error}</p>\n )}\n </div>\n );\n};\n\n"]}
@@ -0,0 +1,59 @@
1
+ import { isLabelVisible, FieldRequiredIndicator, fieldLabelClass, fieldControlClass, fieldErrorClass, fieldWrapperClass } from './chunk-WYVXXEZI.mjs';
2
+ import { useForm } from './chunk-7L2JOWGA.mjs';
3
+ import { DateTimePicker } from './chunk-4PMNVBJD.mjs';
4
+ import './chunk-VNFBUAZD.mjs';
5
+ import './chunk-BMNY7F6H.mjs';
6
+ import './chunk-AZHTIUOL.mjs';
7
+ import './chunk-GXXWMHAA.mjs';
8
+ import { useField } from './chunk-ZTT5XJR7.mjs';
9
+ import { Label } from './chunk-HEFZA2AH.mjs';
10
+ import './chunk-VPU66PI6.mjs';
11
+ import 'react';
12
+ import { jsxs, jsx } from 'react/jsx-runtime';
13
+
14
+ var DateTimeWidget = ({ fieldId }) => {
15
+ const { fieldDef, value, setValue, setTouched, error, disabled, touched } = useField(fieldId);
16
+ const { state } = useForm();
17
+ const showError = !!error && (touched || state.submitAttempted);
18
+ if (!fieldDef) return null;
19
+ const currentDate = value ? new Date(value) : void 0;
20
+ const showLabel = isLabelVisible(fieldDef);
21
+ const handleChange = (date) => {
22
+ if (!date) {
23
+ setValue(void 0);
24
+ return;
25
+ }
26
+ setValue(date.toISOString());
27
+ };
28
+ return /* @__PURE__ */ jsxs("div", { className: fieldWrapperClass(fieldDef, "space-y-2"), children: [
29
+ showLabel ? /* @__PURE__ */ jsxs(Label, { htmlFor: fieldId, className: fieldLabelClass(fieldDef), children: [
30
+ fieldDef.label,
31
+ " ",
32
+ /* @__PURE__ */ jsx(FieldRequiredIndicator, { fieldDef })
33
+ ] }) : null,
34
+ /* @__PURE__ */ jsx(
35
+ "div",
36
+ {
37
+ onBlur: () => setTouched(),
38
+ className: disabled ? "opacity-60 pointer-events-none" : void 0,
39
+ children: /* @__PURE__ */ jsx(
40
+ DateTimePicker,
41
+ {
42
+ dateTime: currentDate,
43
+ setDateTime: handleChange,
44
+ placeholder: fieldDef.placeholder,
45
+ className: fieldControlClass(
46
+ fieldDef,
47
+ showError ? "border-red-500 w-full" : "w-full"
48
+ )
49
+ }
50
+ )
51
+ }
52
+ ),
53
+ showError && /* @__PURE__ */ jsx("p", { className: fieldErrorClass(fieldDef, "text-xs text-red-500"), children: error })
54
+ ] });
55
+ };
56
+
57
+ export { DateTimeWidget };
58
+ //# sourceMappingURL=DateTimeWidget-LFBB6HOP.mjs.map
59
+ //# sourceMappingURL=DateTimeWidget-LFBB6HOP.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/widgets/DateTimeWidget.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAcO,IAAM,cAAA,GAAgD,CAAC,EAAE,OAAA,EAAQ,KAAM;AAC5E,EAAA,MAAM,EAAE,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,UAAA,EAAY,OAAO,QAAA,EAAU,OAAA,EAAQ,GAAI,QAAA,CAAS,OAAO,CAAA;AAC5F,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,OAAA,EAAQ;AAC1B,EAAA,MAAM,SAAA,GAAY,CAAC,CAAC,KAAA,KAAU,WAAW,KAAA,CAAM,eAAA,CAAA;AAE/C,EAAA,IAAI,CAAC,UAAU,OAAO,IAAA;AAEtB,EAAA,MAAM,WAAA,GAAc,KAAA,GAAQ,IAAI,IAAA,CAAK,KAAK,CAAA,GAAI,MAAA;AAC9C,EAAA,MAAM,SAAA,GAAY,eAAe,QAAQ,CAAA;AAEzC,EAAA,MAAM,YAAA,GAAe,CAAC,IAAA,KAA2B;AAC/C,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,QAAA,CAAS,MAAS,CAAA;AAClB,MAAA;AAAA,IACF;AACA,IAAA,QAAA,CAAS,IAAA,CAAK,aAAa,CAAA;AAAA,EAC7B,CAAA;AAEA,EAAA,4BACG,KAAA,EAAA,EAAI,SAAA,EAAW,iBAAA,CAAkB,QAAA,EAAU,WAAW,CAAA,EACpD,QAAA,EAAA;AAAA,IAAA,SAAA,wBACE,KAAA,EAAA,EAAM,OAAA,EAAS,SAAS,SAAA,EAAW,eAAA,CAAgB,QAAQ,CAAA,EACzD,QAAA,EAAA;AAAA,MAAA,QAAA,CAAS,KAAA;AAAA,MAAO,GAAA;AAAA,sBACjB,GAAA,CAAC,0BAAuB,QAAA,EAAoB;AAAA,KAAA,EAC9C,CAAA,GACE,IAAA;AAAA,oBACJ,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,MAAA,EAAQ,MAAM,UAAA,EAAW;AAAA,QACzB,SAAA,EAAW,WAAW,gCAAA,GAAmC,MAAA;AAAA,QAEzD,QAAA,kBAAA,GAAA;AAAA,UAAC,cAAA;AAAA,UAAA;AAAA,YACC,QAAA,EAAU,WAAA;AAAA,YACV,WAAA,EAAa,YAAA;AAAA,YACb,aAAa,QAAA,CAAS,WAAA;AAAA,YACtB,SAAA,EAAW,iBAAA;AAAA,cACT,QAAA;AAAA,cACA,YAAY,uBAAA,GAA0B;AAAA;AACxC;AAAA;AACF;AAAA,KACF;AAAA,IACC,SAAA,wBACE,GAAA,EAAA,EAAE,SAAA,EAAW,gBAAgB,QAAA,EAAU,sBAAsB,GAAI,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EAE5E,CAAA;AAEJ","file":"DateTimeWidget-LFBB6HOP.mjs","sourcesContent":["import React from 'react';\nimport { useField } from '../../react/useField';\nimport { useForm } from '../../react/useForm';\nimport { DateTimePicker } from '../shadcn/datetime-picker';\nimport { Label } from '../shadcn/label';\nimport {\n FieldRequiredIndicator,\n fieldControlClass,\n fieldErrorClass,\n fieldLabelClass,\n fieldWrapperClass,\n isLabelVisible,\n} from '../../react/fieldStyle';\n\nexport const DateTimeWidget: React.FC<{ fieldId: string }> = ({ fieldId }) => {\n const { fieldDef, value, setValue, setTouched, error, disabled, touched } = useField(fieldId);\n const { state } = useForm();\n const showError = !!error && (touched || state.submitAttempted);\n\n if (!fieldDef) return null;\n\n const currentDate = value ? new Date(value) : undefined;\n const showLabel = isLabelVisible(fieldDef);\n\n const handleChange = (date: Date | undefined) => {\n if (!date) {\n setValue(undefined);\n return;\n }\n setValue(date.toISOString());\n };\n\n return (\n <div className={fieldWrapperClass(fieldDef, 'space-y-2')}>\n {showLabel ? (\n <Label htmlFor={fieldId} className={fieldLabelClass(fieldDef)}>\n {fieldDef.label}{' '}\n <FieldRequiredIndicator fieldDef={fieldDef} />\n </Label>\n ) : null}\n <div\n onBlur={() => setTouched()}\n className={disabled ? 'opacity-60 pointer-events-none' : undefined}\n >\n <DateTimePicker\n dateTime={currentDate}\n setDateTime={handleChange}\n placeholder={fieldDef.placeholder}\n className={fieldControlClass(\n fieldDef,\n showError ? 'border-red-500 w-full' : 'w-full',\n )}\n />\n </div>\n {showError && (\n <p className={fieldErrorClass(fieldDef, 'text-xs text-red-500')}>{error}</p>\n )}\n </div>\n );\n};\n\n"]}
@@ -0,0 +1,72 @@
1
+ import { isLabelVisible, FieldRequiredIndicator, fieldLabelClass, fieldControlClass, fieldErrorClass, fieldWrapperClass } from './chunk-WYVXXEZI.mjs';
2
+ import { useForm } from './chunk-7L2JOWGA.mjs';
3
+ import { Popover, PopoverTrigger, PopoverContent, Calendar as Calendar$1 } from './chunk-BMNY7F6H.mjs';
4
+ import './chunk-AZHTIUOL.mjs';
5
+ import { Button } from './chunk-GXXWMHAA.mjs';
6
+ import { useField } from './chunk-ZTT5XJR7.mjs';
7
+ import { Label } from './chunk-HEFZA2AH.mjs';
8
+ import { cn } from './chunk-VPU66PI6.mjs';
9
+ import 'react';
10
+ import { format } from 'date-fns';
11
+ import { Calendar } from 'lucide-react';
12
+ import { jsxs, jsx } from 'react/jsx-runtime';
13
+
14
+ function DatePicker({ date, setDate, className, placeholder = "Pick a date" }) {
15
+ return /* @__PURE__ */ jsxs(Popover, { children: [
16
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
17
+ Button,
18
+ {
19
+ variant: "outline",
20
+ className: cn(
21
+ "w-[280px] justify-start text-left font-normal",
22
+ !date && "text-muted-foreground",
23
+ className
24
+ ),
25
+ children: [
26
+ /* @__PURE__ */ jsx(Calendar, { className: "mr-2 h-4 w-4" }),
27
+ date ? format(date, "PPP") : /* @__PURE__ */ jsx("span", { children: placeholder })
28
+ ]
29
+ }
30
+ ) }),
31
+ /* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0", children: /* @__PURE__ */ jsx(
32
+ Calendar$1,
33
+ {
34
+ mode: "single",
35
+ selected: date,
36
+ onSelect: setDate,
37
+ initialFocus: true
38
+ }
39
+ ) })
40
+ ] });
41
+ }
42
+ var DateWidget = ({ fieldId }) => {
43
+ const { fieldDef, value, setValue, setTouched, error, touched } = useField(fieldId);
44
+ const { state } = useForm();
45
+ const showError = !!error && (touched || state.submitAttempted);
46
+ if (!fieldDef) return null;
47
+ const showLabel = isLabelVisible(fieldDef);
48
+ return /* @__PURE__ */ jsxs("div", { className: fieldWrapperClass(fieldDef, "space-y-2"), children: [
49
+ showLabel ? /* @__PURE__ */ jsxs(Label, { htmlFor: fieldId, className: fieldLabelClass(fieldDef), children: [
50
+ fieldDef.label,
51
+ " ",
52
+ /* @__PURE__ */ jsx(FieldRequiredIndicator, { fieldDef })
53
+ ] }) : null,
54
+ /* @__PURE__ */ jsx("div", { onBlur: () => setTouched(), children: /* @__PURE__ */ jsx(
55
+ DatePicker,
56
+ {
57
+ date: value ? new Date(value) : void 0,
58
+ setDate: (date) => setValue(date ? date.toISOString() : void 0),
59
+ placeholder: fieldDef.placeholder,
60
+ className: fieldControlClass(
61
+ fieldDef,
62
+ showError ? "border-red-500 w-full" : "w-full"
63
+ )
64
+ }
65
+ ) }),
66
+ showError && /* @__PURE__ */ jsx("p", { className: fieldErrorClass(fieldDef, "text-xs text-red-500"), children: error })
67
+ ] });
68
+ };
69
+
70
+ export { DateWidget };
71
+ //# sourceMappingURL=DateWidget-4ND5TKP2.mjs.map
72
+ //# sourceMappingURL=DateWidget-4ND5TKP2.mjs.map