formanitor 0.1.11 → 0.2.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 (289) hide show
  1. package/dist/AddInvestigationWidget-G7NPTSFY.cjs +32 -0
  2. package/dist/AddInvestigationWidget-G7NPTSFY.cjs.map +1 -0
  3. package/dist/AddInvestigationWidget-TQUKTGAW.mjs +30 -0
  4. package/dist/AddInvestigationWidget-TQUKTGAW.mjs.map +1 -0
  5. package/dist/AddMedicationWidget-26RHKIA6.cjs +32 -0
  6. package/dist/AddMedicationWidget-26RHKIA6.cjs.map +1 -0
  7. package/dist/AddMedicationWidget-I5UIT3WG.mjs +30 -0
  8. package/dist/AddMedicationWidget-I5UIT3WG.mjs.map +1 -0
  9. package/dist/AddProcedureWidget-B6OUF3BM.cjs +278 -0
  10. package/dist/AddProcedureWidget-B6OUF3BM.cjs.map +1 -0
  11. package/dist/AddProcedureWidget-NB46COB6.mjs +276 -0
  12. package/dist/AddProcedureWidget-NB46COB6.mjs.map +1 -0
  13. package/dist/BiometryIolWorkupWidget-F7HRYMOJ.mjs +298 -0
  14. package/dist/BiometryIolWorkupWidget-F7HRYMOJ.mjs.map +1 -0
  15. package/dist/BiometryIolWorkupWidget-TCU4MMVI.cjs +300 -0
  16. package/dist/BiometryIolWorkupWidget-TCU4MMVI.cjs.map +1 -0
  17. package/dist/DateTimeWidget-72YUK7PX.cjs +61 -0
  18. package/dist/DateTimeWidget-72YUK7PX.cjs.map +1 -0
  19. package/dist/DateTimeWidget-WKQIEQSA.mjs +59 -0
  20. package/dist/DateTimeWidget-WKQIEQSA.mjs.map +1 -0
  21. package/dist/DateWidget-K2TVTZ7Z.mjs +72 -0
  22. package/dist/DateWidget-K2TVTZ7Z.mjs.map +1 -0
  23. package/dist/DateWidget-SYDMSGWO.cjs +74 -0
  24. package/dist/DateWidget-SYDMSGWO.cjs.map +1 -0
  25. package/dist/DiagnosisTextareaWidget-RD65PGDY.mjs +184 -0
  26. package/dist/DiagnosisTextareaWidget-RD65PGDY.mjs.map +1 -0
  27. package/dist/DiagnosisTextareaWidget-UKWLE2SQ.cjs +190 -0
  28. package/dist/DiagnosisTextareaWidget-UKWLE2SQ.cjs.map +1 -0
  29. package/dist/DifferentialDiagnosisWidget-FENJP245.mjs +15 -0
  30. package/dist/DifferentialDiagnosisWidget-FENJP245.mjs.map +1 -0
  31. package/dist/DifferentialDiagnosisWidget-ZGFXP2BH.cjs +17 -0
  32. package/dist/DifferentialDiagnosisWidget-ZGFXP2BH.cjs.map +1 -0
  33. package/dist/DischargeMedicationOrdersWidget-26ALTGJM.mjs +161 -0
  34. package/dist/DischargeMedicationOrdersWidget-26ALTGJM.mjs.map +1 -0
  35. package/dist/DischargeMedicationOrdersWidget-B4CJQ3QS.cjs +163 -0
  36. package/dist/DischargeMedicationOrdersWidget-B4CJQ3QS.cjs.map +1 -0
  37. package/dist/EditableTable-LPAYCK36.mjs +279 -0
  38. package/dist/EditableTable-LPAYCK36.mjs.map +1 -0
  39. package/dist/EditableTable-YB4IC3ZK.cjs +281 -0
  40. package/dist/EditableTable-YB4IC3ZK.cjs.map +1 -0
  41. package/dist/FollowupWidget-EEKOI2TW.cjs +285 -0
  42. package/dist/FollowupWidget-EEKOI2TW.cjs.map +1 -0
  43. package/dist/FollowupWidget-NJ4QDBOG.mjs +283 -0
  44. package/dist/FollowupWidget-NJ4QDBOG.mjs.map +1 -0
  45. package/dist/FunctionalImpairmentScoreWidget-HAAPCMIS.cjs +93 -0
  46. package/dist/FunctionalImpairmentScoreWidget-HAAPCMIS.cjs.map +1 -0
  47. package/dist/FunctionalImpairmentScoreWidget-ZNLKKBYN.mjs +91 -0
  48. package/dist/FunctionalImpairmentScoreWidget-ZNLKKBYN.mjs.map +1 -0
  49. package/dist/GsExaminationWidget-EX6C3EF5.cjs +528 -0
  50. package/dist/GsExaminationWidget-EX6C3EF5.cjs.map +1 -0
  51. package/dist/GsExaminationWidget-MEIUHRQQ.mjs +526 -0
  52. package/dist/GsExaminationWidget-MEIUHRQQ.mjs.map +1 -0
  53. package/dist/GsGradingWidget-4UPOEYNL.mjs +90 -0
  54. package/dist/GsGradingWidget-4UPOEYNL.mjs.map +1 -0
  55. package/dist/GsGradingWidget-IV3UF63W.cjs +92 -0
  56. package/dist/GsGradingWidget-IV3UF63W.cjs.map +1 -0
  57. package/dist/GsSmartHistoryWidget-7QNJZEI4.cjs +398 -0
  58. package/dist/GsSmartHistoryWidget-7QNJZEI4.cjs.map +1 -0
  59. package/dist/GsSmartHistoryWidget-LGN7W2AV.mjs +396 -0
  60. package/dist/GsSmartHistoryWidget-LGN7W2AV.mjs.map +1 -0
  61. package/dist/HiddenVitalsWidget-AMH32HT2.cjs +55 -0
  62. package/dist/HiddenVitalsWidget-AMH32HT2.cjs.map +1 -0
  63. package/dist/HiddenVitalsWidget-W23IFSEF.mjs +53 -0
  64. package/dist/HiddenVitalsWidget-W23IFSEF.mjs.map +1 -0
  65. package/dist/LensAssessmentWidget-LSHBUTT5.cjs +234 -0
  66. package/dist/LensAssessmentWidget-LSHBUTT5.cjs.map +1 -0
  67. package/dist/LensAssessmentWidget-SJ6YUTSN.mjs +232 -0
  68. package/dist/LensAssessmentWidget-SJ6YUTSN.mjs.map +1 -0
  69. package/dist/MarMedicationOrdersWidget-IKMAFPRG.mjs +74 -0
  70. package/dist/MarMedicationOrdersWidget-IKMAFPRG.mjs.map +1 -0
  71. package/dist/MarMedicationOrdersWidget-ZKZLSZRN.cjs +76 -0
  72. package/dist/MarMedicationOrdersWidget-ZKZLSZRN.cjs.map +1 -0
  73. package/dist/OBGExaminationWidget-BK4ERETW.mjs +213 -0
  74. package/dist/OBGExaminationWidget-BK4ERETW.mjs.map +1 -0
  75. package/dist/OBGExaminationWidget-SMFZ2WCL.cjs +215 -0
  76. package/dist/OBGExaminationWidget-SMFZ2WCL.cjs.map +1 -0
  77. package/dist/OBGPathwayWidget-5YTUDBEH.cjs +519 -0
  78. package/dist/OBGPathwayWidget-5YTUDBEH.cjs.map +1 -0
  79. package/dist/OBGPathwayWidget-U5BCAESB.mjs +517 -0
  80. package/dist/OBGPathwayWidget-U5BCAESB.mjs.map +1 -0
  81. package/dist/ObstetricHistoryWidget-GC63CB3U.cjs +1115 -0
  82. package/dist/ObstetricHistoryWidget-GC63CB3U.cjs.map +1 -0
  83. package/dist/ObstetricHistoryWidget-WD572Q7H.mjs +1113 -0
  84. package/dist/ObstetricHistoryWidget-WD572Q7H.mjs.map +1 -0
  85. package/dist/OphthalDiagnosisWidget-QXFK446I.cjs +91 -0
  86. package/dist/OphthalDiagnosisWidget-QXFK446I.cjs.map +1 -0
  87. package/dist/OphthalDiagnosisWidget-Y3AHD6AG.mjs +89 -0
  88. package/dist/OphthalDiagnosisWidget-Y3AHD6AG.mjs.map +1 -0
  89. package/dist/OphthalmologyWidget-CRQMN5QU.mjs +1329 -0
  90. package/dist/OphthalmologyWidget-CRQMN5QU.mjs.map +1 -0
  91. package/dist/OphthalmologyWidget-U2HQMZ4J.cjs +1331 -0
  92. package/dist/OphthalmologyWidget-U2HQMZ4J.cjs.map +1 -0
  93. package/dist/OrthopedicExamWidget-LP7VN3W5.cjs +368 -0
  94. package/dist/OrthopedicExamWidget-LP7VN3W5.cjs.map +1 -0
  95. package/dist/OrthopedicExamWidget-PAOIVU6Z.mjs +366 -0
  96. package/dist/OrthopedicExamWidget-PAOIVU6Z.mjs.map +1 -0
  97. package/dist/PainScaleFlagsWidget-IBNGVVHD.cjs +153 -0
  98. package/dist/PainScaleFlagsWidget-IBNGVVHD.cjs.map +1 -0
  99. package/dist/PainScaleFlagsWidget-MRMQ7HPJ.mjs +151 -0
  100. package/dist/PainScaleFlagsWidget-MRMQ7HPJ.mjs.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-IYTS32TS.mjs +169 -0
  106. package/dist/ReferralWidget-IYTS32TS.mjs.map +1 -0
  107. package/dist/ReferralWidget-PDNEKHFO.cjs +171 -0
  108. package/dist/ReferralWidget-PDNEKHFO.cjs.map +1 -0
  109. package/dist/RichTextWidget-5OOJ2LJN.mjs +11 -0
  110. package/dist/RichTextWidget-5OOJ2LJN.mjs.map +1 -0
  111. package/dist/RichTextWidget-XWLOHKLE.cjs +24 -0
  112. package/dist/RichTextWidget-XWLOHKLE.cjs.map +1 -0
  113. package/dist/SmartTextarea-L7Q4CORK.cjs +19 -0
  114. package/dist/SmartTextarea-L7Q4CORK.cjs.map +1 -0
  115. package/dist/SmartTextarea-ZCXGMZLG.mjs +10 -0
  116. package/dist/SmartTextarea-ZCXGMZLG.mjs.map +1 -0
  117. package/dist/SuggestionTextareaWidget-2TEITBPF.cjs +226 -0
  118. package/dist/SuggestionTextareaWidget-2TEITBPF.cjs.map +1 -0
  119. package/dist/SuggestionTextareaWidget-RN5LZYFC.mjs +215 -0
  120. package/dist/SuggestionTextareaWidget-RN5LZYFC.mjs.map +1 -0
  121. package/dist/SurgicalRiskFlagsWidget-DBICX4MB.mjs +144 -0
  122. package/dist/SurgicalRiskFlagsWidget-DBICX4MB.mjs.map +1 -0
  123. package/dist/SurgicalRiskFlagsWidget-JCSL3GWS.cjs +146 -0
  124. package/dist/SurgicalRiskFlagsWidget-JCSL3GWS.cjs.map +1 -0
  125. package/dist/UrologyExaminationWidget-74L3IN2X.cjs +273 -0
  126. package/dist/UrologyExaminationWidget-74L3IN2X.cjs.map +1 -0
  127. package/dist/UrologyExaminationWidget-IQEBP6CI.mjs +271 -0
  128. package/dist/UrologyExaminationWidget-IQEBP6CI.mjs.map +1 -0
  129. package/dist/UrologyPathwayWidget-S4QY6RD6.mjs +153 -0
  130. package/dist/UrologyPathwayWidget-S4QY6RD6.mjs.map +1 -0
  131. package/dist/UrologyPathwayWidget-UJY5EW2G.cjs +155 -0
  132. package/dist/UrologyPathwayWidget-UJY5EW2G.cjs.map +1 -0
  133. package/dist/UrologySmartHistoryWidget-NFTHHK6A.mjs +469 -0
  134. package/dist/UrologySmartHistoryWidget-NFTHHK6A.mjs.map +1 -0
  135. package/dist/UrologySmartHistoryWidget-XKZF63BV.cjs +471 -0
  136. package/dist/UrologySmartHistoryWidget-XKZF63BV.cjs.map +1 -0
  137. package/dist/VitalsWidget-44UWQGIF.cjs +208 -0
  138. package/dist/VitalsWidget-44UWQGIF.cjs.map +1 -0
  139. package/dist/VitalsWidget-MBYDGC7U.mjs +187 -0
  140. package/dist/VitalsWidget-MBYDGC7U.mjs.map +1 -0
  141. package/dist/chunk-4BAKQIPJ.mjs +27 -0
  142. package/dist/chunk-4BAKQIPJ.mjs.map +1 -0
  143. package/dist/chunk-4KSZUIJE.cjs +143 -0
  144. package/dist/chunk-4KSZUIJE.cjs.map +1 -0
  145. package/dist/chunk-4PMNVBJD.mjs +121 -0
  146. package/dist/chunk-4PMNVBJD.mjs.map +1 -0
  147. package/dist/chunk-5E3APMY6.cjs +54 -0
  148. package/dist/chunk-5E3APMY6.cjs.map +1 -0
  149. package/dist/chunk-AIZ3XYEZ.cjs +551 -0
  150. package/dist/chunk-AIZ3XYEZ.cjs.map +1 -0
  151. package/dist/chunk-AZHTIUOL.mjs +116 -0
  152. package/dist/chunk-AZHTIUOL.mjs.map +1 -0
  153. package/dist/chunk-AZSAPO2V.cjs +174 -0
  154. package/dist/chunk-AZSAPO2V.cjs.map +1 -0
  155. package/dist/chunk-AZVJU7NZ.mjs +137 -0
  156. package/dist/chunk-AZVJU7NZ.mjs.map +1 -0
  157. package/dist/chunk-B3GBIAHZ.mjs +285 -0
  158. package/dist/chunk-B3GBIAHZ.mjs.map +1 -0
  159. package/dist/chunk-BMNY7F6H.mjs +148 -0
  160. package/dist/chunk-BMNY7F6H.mjs.map +1 -0
  161. package/dist/chunk-BU4ZEAAP.mjs +102 -0
  162. package/dist/chunk-BU4ZEAAP.mjs.map +1 -0
  163. package/dist/chunk-CTW65YW2.cjs +388 -0
  164. package/dist/chunk-CTW65YW2.cjs.map +1 -0
  165. package/dist/chunk-DE7VZVKR.cjs +140 -0
  166. package/dist/chunk-DE7VZVKR.cjs.map +1 -0
  167. package/dist/chunk-DZYV47QC.mjs +54 -0
  168. package/dist/chunk-DZYV47QC.mjs.map +1 -0
  169. package/dist/chunk-E7WUDHSA.cjs +127 -0
  170. package/dist/chunk-E7WUDHSA.cjs.map +1 -0
  171. package/dist/chunk-FHHISVCH.cjs +13 -0
  172. package/dist/chunk-FHHISVCH.cjs.map +1 -0
  173. package/dist/chunk-FZEEWRW3.cjs +77 -0
  174. package/dist/chunk-FZEEWRW3.cjs.map +1 -0
  175. package/dist/chunk-GFDE2KZC.mjs +228 -0
  176. package/dist/chunk-GFDE2KZC.mjs.map +1 -0
  177. package/dist/chunk-GNZWSVTB.mjs +29 -0
  178. package/dist/chunk-GNZWSVTB.mjs.map +1 -0
  179. package/dist/chunk-GXXWMHAA.mjs +49 -0
  180. package/dist/chunk-GXXWMHAA.mjs.map +1 -0
  181. package/dist/chunk-GZPCYSJK.mjs +104 -0
  182. package/dist/chunk-GZPCYSJK.mjs.map +1 -0
  183. package/dist/chunk-HEFZA2AH.mjs +22 -0
  184. package/dist/chunk-HEFZA2AH.mjs.map +1 -0
  185. package/dist/chunk-I4AV6BQF.mjs +10 -0
  186. package/dist/chunk-I4AV6BQF.mjs.map +1 -0
  187. package/dist/chunk-IDSBJOFY.cjs +1885 -0
  188. package/dist/chunk-IDSBJOFY.cjs.map +1 -0
  189. package/dist/chunk-IFMQKLNW.mjs +39 -0
  190. package/dist/chunk-IFMQKLNW.mjs.map +1 -0
  191. package/dist/chunk-IFSKLIS2.cjs +12 -0
  192. package/dist/chunk-IFSKLIS2.cjs.map +1 -0
  193. package/dist/chunk-IKAKE7TR.mjs +527 -0
  194. package/dist/chunk-IKAKE7TR.mjs.map +1 -0
  195. package/dist/chunk-JE6VXRWW.cjs +86 -0
  196. package/dist/chunk-JE6VXRWW.cjs.map +1 -0
  197. package/dist/chunk-JMGUUFOJ.cjs +45 -0
  198. package/dist/chunk-JMGUUFOJ.cjs.map +1 -0
  199. package/dist/chunk-JNVSA77L.cjs +236 -0
  200. package/dist/chunk-JNVSA77L.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-KPGTPJDH.cjs +32 -0
  206. package/dist/chunk-KPGTPJDH.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-MIUUO4CI.mjs +361 -0
  214. package/dist/chunk-MIUUO4CI.mjs.map +1 -0
  215. package/dist/chunk-N4L76SHJ.cjs +65 -0
  216. package/dist/chunk-N4L76SHJ.cjs.map +1 -0
  217. package/dist/chunk-NJJTIL3U.cjs +73 -0
  218. package/dist/chunk-NJJTIL3U.cjs.map +1 -0
  219. package/dist/chunk-O3VQBPEW.cjs +72 -0
  220. package/dist/chunk-O3VQBPEW.cjs.map +1 -0
  221. package/dist/chunk-P62377LB.cjs +27 -0
  222. package/dist/chunk-P62377LB.cjs.map +1 -0
  223. package/dist/chunk-PHADAQSH.cjs +49 -0
  224. package/dist/chunk-PHADAQSH.cjs.map +1 -0
  225. package/dist/chunk-PZBJYPWW.cjs +52 -0
  226. package/dist/chunk-PZBJYPWW.cjs.map +1 -0
  227. package/dist/chunk-QKJ7BQSR.cjs +538 -0
  228. package/dist/chunk-QKJ7BQSR.cjs.map +1 -0
  229. package/dist/chunk-QS6WG2XJ.cjs +56 -0
  230. package/dist/chunk-QS6WG2XJ.cjs.map +1 -0
  231. package/dist/chunk-S7EMPE2D.cjs +104 -0
  232. package/dist/chunk-S7EMPE2D.cjs.map +1 -0
  233. package/dist/chunk-SCMXLRX5.mjs +42 -0
  234. package/dist/chunk-SCMXLRX5.mjs.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-UULLSS4O.mjs +82 -0
  240. package/dist/chunk-UULLSS4O.mjs.map +1 -0
  241. package/dist/chunk-VNFBUAZD.mjs +25 -0
  242. package/dist/chunk-VNFBUAZD.mjs.map +1 -0
  243. package/dist/chunk-VPU66PI6.mjs +11 -0
  244. package/dist/chunk-VPU66PI6.mjs.map +1 -0
  245. package/dist/chunk-WYVXXEZI.mjs +46 -0
  246. package/dist/chunk-WYVXXEZI.mjs.map +1 -0
  247. package/dist/chunk-XDUVO3IZ.mjs +547 -0
  248. package/dist/chunk-XDUVO3IZ.mjs.map +1 -0
  249. package/dist/chunk-XR2ZM654.mjs +30 -0
  250. package/dist/chunk-XR2ZM654.mjs.map +1 -0
  251. package/dist/chunk-Y7TIWH4I.mjs +25 -0
  252. package/dist/chunk-Y7TIWH4I.mjs.map +1 -0
  253. package/dist/chunk-YEFM2ERQ.cjs +143 -0
  254. package/dist/chunk-YEFM2ERQ.cjs.map +1 -0
  255. package/dist/chunk-YYPMIUDW.mjs +69 -0
  256. package/dist/chunk-YYPMIUDW.mjs.map +1 -0
  257. package/dist/chunk-ZGPHTPAN.mjs +1851 -0
  258. package/dist/chunk-ZGPHTPAN.mjs.map +1 -0
  259. package/dist/chunk-ZSOIQVB3.mjs +75 -0
  260. package/dist/chunk-ZSOIQVB3.mjs.map +1 -0
  261. package/dist/index.cjs +1596 -14540
  262. package/dist/index.cjs.map +1 -1
  263. package/dist/index.d.cts +4 -767
  264. package/dist/index.d.ts +4 -767
  265. package/dist/index.mjs +1358 -14349
  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-D0iYXUOo.d.cts +736 -0
  288. package/dist/types-D0iYXUOo.d.ts +736 -0
  289. package/package.json +20 -2
@@ -0,0 +1,27 @@
1
+ 'use strict';
2
+
3
+ // src/ui/themes/textareaThemes.ts
4
+ var textareaThemes = {
5
+ "highlight-label": {
6
+ wrapperClassName: "rounded-md overflow-hidden flex flex-col border border-[#D0D0D0]",
7
+ labelClassName: "rounded-t-md bg-[#FEE8EC] px-3 py-1 text-sm shrink-0 z-[1] text-slate-600",
8
+ inputClassName: "rounded-t-none rounded-b-md border-0 border-t border-[#D0D0D0] text-xs resize-none -mt-1 min-w-0 bg-white text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50"
9
+ }
10
+ };
11
+
12
+ // src/ui/themes/index.ts
13
+ var themeRegistries = {
14
+ textarea: textareaThemes,
15
+ text: textareaThemes
16
+ // same themes can apply to single-line text if desired
17
+ };
18
+ function getThemeConfig(fieldType, themeName) {
19
+ if (!themeName) return void 0;
20
+ const registry = themeRegistries[fieldType];
21
+ if (!registry) return void 0;
22
+ return registry[themeName];
23
+ }
24
+
25
+ exports.getThemeConfig = getThemeConfig;
26
+ //# sourceMappingURL=chunk-P62377LB.cjs.map
27
+ //# sourceMappingURL=chunk-P62377LB.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/themes/textareaThemes.ts","../src/ui/themes/index.ts"],"names":[],"mappings":";;;AAQO,IAAM,cAAA,GAAuD;AAAA,EAClE,iBAAA,EAAmB;AAAA,IACjB,gBAAA,EAAkB,kEAAA;AAAA,IAClB,cAAA,EACE,2EAAA;AAAA,IACF,cAAA,EACE;AAAA;AAEN,CAAA;;;ACbA,IAAM,eAAA,GAA4F;AAAA,EAChG,QAAA,EAAU,cAAA;AAAA,EACV,IAAA,EAAM;AAAA;AACR,CAAA;AAMO,SAAS,cAAA,CACd,WACA,SAAA,EACkC;AAClC,EAAA,IAAI,CAAC,WAAW,OAAO,MAAA;AACvB,EAAA,MAAM,QAAA,GAAW,gBAAgB,SAAS,CAAA;AAC1C,EAAA,IAAI,CAAC,UAAU,OAAO,MAAA;AACtB,EAAA,OAAO,SAAS,SAAS,CAAA;AAC3B","file":"chunk-P62377LB.cjs","sourcesContent":["import type { ComponentThemeConfig } from './types';\n\n/**\n * Textarea theme: label in a colored block overlapping the textarea.\n * Label has light pink background (#FEE8EC), rounded top corners only, border;\n * label overlaps the textarea so the textarea's top border radius is hidden.\n * Textarea has white background, rounded bottom corners only, border.\n */\nexport const textareaThemes: Record<string, ComponentThemeConfig> = {\n 'highlight-label': {\n wrapperClassName: 'rounded-md overflow-hidden flex flex-col border border-[#D0D0D0]',\n labelClassName:\n 'rounded-t-md bg-[#FEE8EC] px-3 py-1 text-sm shrink-0 z-[1] text-slate-600',\n inputClassName:\n 'rounded-t-none rounded-b-md border-0 border-t border-[#D0D0D0] text-xs resize-none -mt-1 min-w-0 bg-white text-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-0 focus-visible:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50',\n },\n};\n","import type { ComponentThemeConfig, FieldTypeForTheme } from './types';\nimport { textareaThemes } from './textareaThemes';\n\nconst themeRegistries: Partial<Record<FieldTypeForTheme, Record<string, ComponentThemeConfig>>> = {\n textarea: textareaThemes,\n text: textareaThemes, // same themes can apply to single-line text if desired\n};\n\n/**\n * Returns theme config for a field type and theme name.\n * Returns undefined if theme is not set or not found (no theme applied).\n */\nexport function getThemeConfig(\n fieldType: FieldTypeForTheme,\n themeName: string | undefined\n): ComponentThemeConfig | undefined {\n if (!themeName) return undefined;\n const registry = themeRegistries[fieldType];\n if (!registry) return undefined;\n return registry[themeName];\n}\n\nexport { textareaThemes } from './textareaThemes';\nexport type { ComponentThemeConfig, FieldTypeForTheme } from './types';\n"]}
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ var chunkFHHISVCH_cjs = require('./chunk-FHHISVCH.cjs');
4
+ var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
26
+
27
+ var Textarea = React__namespace.forwardRef(
28
+ ({ className, height, style, ...props }, ref) => {
29
+ return /* @__PURE__ */ jsxRuntime.jsx(
30
+ "textarea",
31
+ {
32
+ spellCheck: false,
33
+ className: chunkFHHISVCH_cjs.cn(
34
+ "flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50",
35
+ height == null && "min-h-[80px]",
36
+ className
37
+ ),
38
+ ref,
39
+ style: height != null ? { ...style, height: `${height}px` } : style,
40
+ ...props
41
+ }
42
+ );
43
+ }
44
+ );
45
+ Textarea.displayName = "Textarea";
46
+
47
+ exports.Textarea = Textarea;
48
+ //# sourceMappingURL=chunk-PHADAQSH.cjs.map
49
+ //# sourceMappingURL=chunk-PHADAQSH.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/shadcn/textarea.tsx"],"names":["React","jsx","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAM,QAAA,GAAiBA,gBAAA,CAAA,UAAA;AAAA,EACrB,CAAC,EAAE,SAAA,EAAW,MAAA,EAAQ,OAAO,GAAG,KAAA,IAAS,GAAA,KAAQ;AAC/C,IAAA,uBACEC,cAAA;AAAA,MAAC,UAAA;AAAA,MAAA;AAAA,QACC,UAAA,EAAY,KAAA;AAAA,QACZ,SAAA,EAAWC,oBAAA;AAAA,UACT,yLAAA;AAAA,UACA,UAAU,IAAA,IAAQ,cAAA;AAAA,UAClB;AAAA,SACF;AAAA,QACA,GAAA;AAAA,QACA,KAAA,EAAO,MAAA,IAAU,IAAA,GAAO,EAAE,GAAG,OAAO,MAAA,EAAQ,CAAA,EAAG,MAAM,CAAA,EAAA,CAAA,EAAK,GAAI,KAAA;AAAA,QAC7D,GAAG;AAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-PHADAQSH.cjs","sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"../../core/utils\";\n\nexport type TextareaProps = React.TextareaHTMLAttributes<HTMLTextAreaElement> & {\n /** Height in pixels. If not provided, uses default min height (80px). */\n height?: number;\n};\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, height, style, ...props }, ref) => {\n return (\n <textarea\n spellCheck={false}\n className={cn(\n \"flex w-full rounded-md border border-input bg-background px-3 py-2 text-sm placeholder:text-muted-foreground focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50\",\n height == null && \"min-h-[80px]\",\n className\n )}\n ref={ref}\n style={height != null ? { ...style, height: `${height}px` } : style}\n {...props}\n />\n );\n }\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n"]}
@@ -0,0 +1,52 @@
1
+ 'use strict';
2
+
3
+ var chunkFHHISVCH_cjs = require('./chunk-FHHISVCH.cjs');
4
+ var React = require('react');
5
+ var CheckboxPrimitive = require('@radix-ui/react-checkbox');
6
+ var lucideReact = require('lucide-react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+ var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
29
+
30
+ var Checkbox = React__namespace.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
31
+ CheckboxPrimitive__namespace.Root,
32
+ {
33
+ ref,
34
+ className: chunkFHHISVCH_cjs.cn(
35
+ "peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
36
+ className
37
+ ),
38
+ ...props,
39
+ children: /* @__PURE__ */ jsxRuntime.jsx(
40
+ CheckboxPrimitive__namespace.Indicator,
41
+ {
42
+ className: chunkFHHISVCH_cjs.cn("flex items-center justify-center text-current"),
43
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Check, { className: "h-4 w-4" })
44
+ }
45
+ )
46
+ }
47
+ ));
48
+ Checkbox.displayName = CheckboxPrimitive__namespace.Root.displayName;
49
+
50
+ exports.Checkbox = Checkbox;
51
+ //# sourceMappingURL=chunk-PZBJYPWW.cjs.map
52
+ //# sourceMappingURL=chunk-PZBJYPWW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/shadcn/checkbox.tsx"],"names":["React","jsx","CheckboxPrimitive","cn","Check"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,IAAM,QAAA,GAAiBA,4BAGrB,CAAC,EAAE,WAAW,GAAG,KAAA,IAAS,GAAA,qBAC1BC,cAAA;AAAA,EAAmBC,4BAAA,CAAA,IAAA;AAAA,EAAlB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAWC,oBAAA;AAAA,MACT,gTAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEJ,QAAA,kBAAAF,cAAA;AAAA,MAAmBC,4BAAA,CAAA,SAAA;AAAA,MAAlB;AAAA,QACC,SAAA,EAAWC,qBAAG,+CAA+C,CAAA;AAAA,QAE7D,QAAA,kBAAAF,cAAA,CAACG,iBAAA,EAAA,EAAM,SAAA,EAAU,SAAA,EAAU;AAAA;AAAA;AAC7B;AACF,CACD;AACD,QAAA,CAAS,cAAgCF,4BAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-PZBJYPWW.cjs","sourcesContent":["import * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { Check } from \"lucide-react\"\n\nimport { cn } from \"../../core/utils\"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n\n"]}
@@ -0,0 +1,538 @@
1
+ 'use strict';
2
+
3
+ // src/core/obgPathway.ts
4
+ var UTERUS_SIZES = ["", "Normal", "Bulky", "Enlarged"];
5
+ function bool(x) {
6
+ return x === true;
7
+ }
8
+ function str(x) {
9
+ return typeof x === "string" ? x : "";
10
+ }
11
+ function defaultObgExamination() {
12
+ return {
13
+ general: {
14
+ pallor: false,
15
+ oedema: false,
16
+ thyroid: false,
17
+ hirsutism: false,
18
+ acanthosis: false
19
+ },
20
+ abdomen: { surgicalScars: false, massTenderness: false },
21
+ breast: { lump: false, nippleDischarge: false, skinChanges: false, axillaryNodes: false },
22
+ pelvic: {
23
+ speculumDone: false,
24
+ discharge: false,
25
+ cervicalErosion: false,
26
+ cervicalGrowth: false,
27
+ activeBleeding: false,
28
+ bimanualDone: false,
29
+ adnexalMass: false,
30
+ cmt: false
31
+ },
32
+ uterusSize: "",
33
+ examinationNotes: ""
34
+ };
35
+ }
36
+ function normalizeObgExamination(raw) {
37
+ const base = defaultObgExamination();
38
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return base;
39
+ const o = raw;
40
+ const g = o.general && typeof o.general === "object" ? o.general : {};
41
+ const a = o.abdomen && typeof o.abdomen === "object" ? o.abdomen : {};
42
+ const b = o.breast && typeof o.breast === "object" ? o.breast : {};
43
+ const p = o.pelvic && typeof o.pelvic === "object" ? o.pelvic : {};
44
+ const us = str(o.uterusSize);
45
+ return {
46
+ general: {
47
+ pallor: bool(g.pallor),
48
+ oedema: bool(g.oedema),
49
+ thyroid: bool(g.thyroid),
50
+ hirsutism: bool(g.hirsutism),
51
+ acanthosis: bool(g.acanthosis)
52
+ },
53
+ abdomen: {
54
+ surgicalScars: bool(a.surgicalScars),
55
+ massTenderness: bool(a.massTenderness)
56
+ },
57
+ breast: {
58
+ lump: bool(b.lump),
59
+ nippleDischarge: bool(b.nippleDischarge),
60
+ skinChanges: bool(b.skinChanges),
61
+ axillaryNodes: bool(b.axillaryNodes)
62
+ },
63
+ pelvic: {
64
+ speculumDone: bool(p.speculumDone),
65
+ discharge: bool(p.discharge),
66
+ cervicalErosion: bool(p.cervicalErosion),
67
+ cervicalGrowth: bool(p.cervicalGrowth),
68
+ activeBleeding: bool(p.activeBleeding),
69
+ bimanualDone: bool(p.bimanualDone),
70
+ adnexalMass: bool(p.adnexalMass),
71
+ cmt: bool(p.cmt)
72
+ },
73
+ uterusSize: UTERUS_SIZES.includes(us) ? us : "",
74
+ examinationNotes: str(o.examinationNotes)
75
+ };
76
+ }
77
+ var GENERAL_LABELS = {
78
+ pallor: "Pallor",
79
+ oedema: "Oedema",
80
+ thyroid: "Thyroid",
81
+ hirsutism: "Hirsutism",
82
+ acanthosis: "Acanthosis"
83
+ };
84
+ var ABDOMEN_LABELS = {
85
+ surgicalScars: "Surgical scars",
86
+ massTenderness: "Mass / tenderness"
87
+ };
88
+ var BREAST_LABELS = {
89
+ lump: "Lump",
90
+ nippleDischarge: "Nipple discharge",
91
+ skinChanges: "Skin changes",
92
+ axillaryNodes: "Axillary nodes"
93
+ };
94
+ var PELVIC_LABELS = {
95
+ speculumDone: "Speculum done",
96
+ discharge: "Discharge",
97
+ cervicalErosion: "Cervical erosion",
98
+ cervicalGrowth: "Cervical growth",
99
+ activeBleeding: "Active bleeding",
100
+ bimanualDone: "Bimanual done",
101
+ adnexalMass: "Adnexal mass",
102
+ cmt: "Cervical motion tenderness"
103
+ };
104
+ var UTERUS_CHIP_LABELS = {
105
+ Normal: "Uterus normal",
106
+ Bulky: "Uterus bulky",
107
+ Enlarged: "Uterus enlarged"
108
+ };
109
+ var OBG_EXAM_LABEL_TO_INFO = (() => {
110
+ const m = {};
111
+ Object.keys(GENERAL_LABELS).forEach((k) => {
112
+ m[GENERAL_LABELS[k]] = { kind: "general", key: k };
113
+ });
114
+ Object.keys(ABDOMEN_LABELS).forEach((k) => {
115
+ m[ABDOMEN_LABELS[k]] = { kind: "abdomen", key: k };
116
+ });
117
+ Object.keys(BREAST_LABELS).forEach((k) => {
118
+ m[BREAST_LABELS[k]] = { kind: "breast", key: k };
119
+ });
120
+ Object.keys(PELVIC_LABELS).forEach((k) => {
121
+ m[PELVIC_LABELS[k]] = { kind: "pelvic", key: k };
122
+ });
123
+ Object.keys(UTERUS_CHIP_LABELS).forEach((s) => {
124
+ m[UTERUS_CHIP_LABELS[s]] = { kind: "uterus", size: s };
125
+ });
126
+ return m;
127
+ })();
128
+ var OBG_EXAM_ALLOWED_CHIP_LABELS = new Set(
129
+ Object.keys(OBG_EXAM_LABEL_TO_INFO)
130
+ );
131
+ function obgExaminationChipLabels(v) {
132
+ const out = [];
133
+ Object.keys(GENERAL_LABELS).forEach((k) => {
134
+ if (v.general[k]) out.push(GENERAL_LABELS[k]);
135
+ });
136
+ Object.keys(ABDOMEN_LABELS).forEach((k) => {
137
+ if (v.abdomen[k]) out.push(ABDOMEN_LABELS[k]);
138
+ });
139
+ Object.keys(BREAST_LABELS).forEach((k) => {
140
+ if (v.breast[k]) out.push(BREAST_LABELS[k]);
141
+ });
142
+ Object.keys(PELVIC_LABELS).forEach((k) => {
143
+ if (v.pelvic[k]) out.push(PELVIC_LABELS[k]);
144
+ });
145
+ if (v.pelvic.bimanualDone && v.uterusSize) {
146
+ out.push(UTERUS_CHIP_LABELS[v.uterusSize]);
147
+ }
148
+ return out;
149
+ }
150
+ function obgExaminationFromChipLabels(labels, prevNotes = "") {
151
+ const out = defaultObgExamination();
152
+ out.examinationNotes = prevNotes;
153
+ for (const raw of labels) {
154
+ const info = OBG_EXAM_LABEL_TO_INFO[raw];
155
+ if (!info) continue;
156
+ switch (info.kind) {
157
+ case "general":
158
+ out.general[info.key] = true;
159
+ break;
160
+ case "abdomen":
161
+ out.abdomen[info.key] = true;
162
+ break;
163
+ case "breast":
164
+ out.breast[info.key] = true;
165
+ break;
166
+ case "pelvic":
167
+ out.pelvic[info.key] = true;
168
+ break;
169
+ case "uterus":
170
+ out.pelvic.bimanualDone = true;
171
+ out.uterusSize = info.size;
172
+ break;
173
+ }
174
+ }
175
+ return out;
176
+ }
177
+ var OBG_ZONE_ORDER = [
178
+ "menstrual_reproductive",
179
+ "antenatal",
180
+ "gynaecological",
181
+ "infertility",
182
+ "postoperative"
183
+ ];
184
+ var OBG_ZONE_SET = new Set(OBG_ZONE_ORDER);
185
+ function coerceZones(raw) {
186
+ const list = [];
187
+ const push = (x) => {
188
+ if (typeof x === "string" && OBG_ZONE_SET.has(x) && !list.includes(x)) {
189
+ list.push(x);
190
+ }
191
+ };
192
+ if (Array.isArray(raw)) raw.forEach(push);
193
+ else push(raw);
194
+ return list.sort((a, b) => OBG_ZONE_ORDER.indexOf(a) - OBG_ZONE_ORDER.indexOf(b));
195
+ }
196
+ function num(x, fallback = 0) {
197
+ const n = Number(x);
198
+ return Number.isFinite(n) ? n : fallback;
199
+ }
200
+ function clampDysmenorrhea(x) {
201
+ const n = Math.round(num(x, 0));
202
+ if (n <= 0) return 0;
203
+ if (n >= 3) return 3;
204
+ return n;
205
+ }
206
+ function defaultObgPathway() {
207
+ return {
208
+ zones: [],
209
+ menstrual: {
210
+ menarcheAge: 13,
211
+ cycleLength: 28,
212
+ flowDays: 4,
213
+ cycleRegular: true,
214
+ dysmenorrhea: 0,
215
+ amount: "",
216
+ lmp: "",
217
+ menopauseStatus: ""
218
+ },
219
+ antenatal: {
220
+ gravida: 0,
221
+ gaWeeksLmp: 0,
222
+ gaDaysLmp: 0,
223
+ gaWeeksUsg: 0,
224
+ gaDaysUsg: 0,
225
+ edd: "",
226
+ riskCategory: "",
227
+ symptoms: {
228
+ nauseaVomiting: false,
229
+ bleedingPV: false,
230
+ painAbdomen: false,
231
+ decreasedFetalMovements: false
232
+ },
233
+ exam: {
234
+ weightKg: 0,
235
+ heightCm: 0,
236
+ bmi: 0,
237
+ bp: "",
238
+ pallor: false,
239
+ oedema: false,
240
+ fundalHeightCm: 0,
241
+ fhrBpm: 0,
242
+ presentation: "",
243
+ lie: ""
244
+ },
245
+ investigations: {
246
+ bloodGroup: "",
247
+ cbc: "",
248
+ tsh: "",
249
+ rbsOgtt: "",
250
+ serology: "",
251
+ urine: "",
252
+ usg: ""
253
+ }
254
+ },
255
+ gynae: {
256
+ symptoms: {
257
+ aub: false,
258
+ whiteDischarge: false,
259
+ pelvicPain: false,
260
+ dyspareunia: false,
261
+ urinaryComplaints: false,
262
+ prolapse: false
263
+ }
264
+ },
265
+ infertility: {
266
+ type: "",
267
+ durationMonths: 0,
268
+ previousTreatments: "",
269
+ female: { ovulation: "", pcosFeatures: false, endometriosisSuspicion: false },
270
+ male: { age: 0, semenAnalysis: "" },
271
+ investigations: { amh: "", fshLh: "", prolactin: "", tsh: "", tvs: "", hsg: "" }
272
+ },
273
+ postop: {
274
+ surgeryDate: "",
275
+ procedure: "",
276
+ histopathology: "",
277
+ woundStatus: "",
278
+ painScore: 0,
279
+ complications: ""
280
+ }
281
+ };
282
+ }
283
+ function normalizeObgPathway(raw) {
284
+ const base = defaultObgPathway();
285
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return base;
286
+ const o = raw;
287
+ const zones = coerceZones(o.zones ?? o.zone);
288
+ const m = o.menstrual && typeof o.menstrual === "object" ? o.menstrual : {};
289
+ const a = o.antenatal && typeof o.antenatal === "object" ? o.antenatal : {};
290
+ const aSym = a.symptoms && typeof a.symptoms === "object" ? a.symptoms : {};
291
+ const aExam = a.exam && typeof a.exam === "object" ? a.exam : {};
292
+ const aInv = a.investigations && typeof a.investigations === "object" ? a.investigations : {};
293
+ const g = o.gynae && typeof o.gynae === "object" ? o.gynae : {};
294
+ const gSym = g.symptoms && typeof g.symptoms === "object" ? g.symptoms : {};
295
+ const inf = o.infertility && typeof o.infertility === "object" ? o.infertility : {};
296
+ const infF = inf.female && typeof inf.female === "object" ? inf.female : {};
297
+ const infM = inf.male && typeof inf.male === "object" ? inf.male : {};
298
+ const infInv = inf.investigations && typeof inf.investigations === "object" ? inf.investigations : {};
299
+ const po = o.postop && typeof o.postop === "object" ? o.postop : {};
300
+ return {
301
+ zones,
302
+ menstrual: {
303
+ menarcheAge: num(m.menarcheAge, base.menstrual.menarcheAge),
304
+ cycleLength: num(m.cycleLength, base.menstrual.cycleLength),
305
+ flowDays: num(m.flowDays, base.menstrual.flowDays),
306
+ cycleRegular: m.cycleRegular === void 0 ? base.menstrual.cycleRegular : bool(m.cycleRegular),
307
+ dysmenorrhea: clampDysmenorrhea(m.dysmenorrhea),
308
+ amount: ["", "Scanty", "Normal", "Heavy"].includes(str(m.amount)) ? str(m.amount) : "",
309
+ lmp: str(m.lmp),
310
+ menopauseStatus: ["", "Pre", "Peri", "Post"].includes(str(m.menopauseStatus)) ? str(m.menopauseStatus) : ""
311
+ },
312
+ antenatal: {
313
+ gravida: num(a.gravida),
314
+ gaWeeksLmp: num(a.gaWeeksLmp),
315
+ gaDaysLmp: num(a.gaDaysLmp),
316
+ gaWeeksUsg: num(a.gaWeeksUsg),
317
+ gaDaysUsg: num(a.gaDaysUsg),
318
+ edd: str(a.edd),
319
+ riskCategory: ["", "Low", "High"].includes(str(a.riskCategory)) ? str(a.riskCategory) : "",
320
+ symptoms: {
321
+ nauseaVomiting: bool(aSym.nauseaVomiting),
322
+ bleedingPV: bool(aSym.bleedingPV),
323
+ painAbdomen: bool(aSym.painAbdomen),
324
+ decreasedFetalMovements: bool(aSym.decreasedFetalMovements)
325
+ },
326
+ exam: {
327
+ weightKg: num(aExam.weightKg),
328
+ heightCm: num(aExam.heightCm),
329
+ bmi: num(aExam.bmi),
330
+ bp: str(aExam.bp),
331
+ pallor: bool(aExam.pallor),
332
+ oedema: bool(aExam.oedema),
333
+ fundalHeightCm: num(aExam.fundalHeightCm),
334
+ fhrBpm: num(aExam.fhrBpm),
335
+ presentation: ["", "Cephalic", "Breech", "Other"].includes(str(aExam.presentation)) ? str(aExam.presentation) : "",
336
+ lie: ["", "Longitudinal", "Transverse", "Oblique"].includes(str(aExam.lie)) ? str(aExam.lie) : ""
337
+ },
338
+ investigations: {
339
+ bloodGroup: str(aInv.bloodGroup),
340
+ cbc: ["", "Done", "Pending", "Abnormal"].includes(str(aInv.cbc)) ? str(aInv.cbc) : "",
341
+ tsh: ["", "Done", "Pending", "Abnormal"].includes(str(aInv.tsh)) ? str(aInv.tsh) : "",
342
+ rbsOgtt: ["", "Done", "Pending", "Abnormal"].includes(str(aInv.rbsOgtt)) ? str(aInv.rbsOgtt) : "",
343
+ serology: ["", "Done", "Pending", "Abnormal"].includes(str(aInv.serology)) ? str(aInv.serology) : "",
344
+ urine: ["", "Done", "Pending", "Abnormal"].includes(str(aInv.urine)) ? str(aInv.urine) : "",
345
+ usg: ["", "Dating", "NT", "Anomaly", "Growth", "Pending"].includes(str(aInv.usg)) ? str(aInv.usg) : ""
346
+ }
347
+ },
348
+ gynae: {
349
+ symptoms: {
350
+ aub: bool(gSym.aub),
351
+ whiteDischarge: bool(gSym.whiteDischarge),
352
+ pelvicPain: bool(gSym.pelvicPain),
353
+ dyspareunia: bool(gSym.dyspareunia),
354
+ urinaryComplaints: bool(gSym.urinaryComplaints),
355
+ prolapse: bool(gSym.prolapse)
356
+ }
357
+ },
358
+ infertility: {
359
+ type: ["", "Primary", "Secondary"].includes(str(inf.type)) ? str(inf.type) : "",
360
+ durationMonths: num(inf.durationMonths),
361
+ previousTreatments: str(inf.previousTreatments),
362
+ female: {
363
+ ovulation: ["", "Ovulatory", "Anovulatory", "Unknown"].includes(str(infF.ovulation)) ? str(infF.ovulation) : "",
364
+ pcosFeatures: bool(infF.pcosFeatures),
365
+ endometriosisSuspicion: bool(infF.endometriosisSuspicion)
366
+ },
367
+ male: {
368
+ age: num(infM.age),
369
+ semenAnalysis: ["", "Normal", "Abnormal", "Pending"].includes(str(infM.semenAnalysis)) ? str(infM.semenAnalysis) : ""
370
+ },
371
+ investigations: {
372
+ amh: str(infInv.amh),
373
+ fshLh: str(infInv.fshLh),
374
+ prolactin: str(infInv.prolactin),
375
+ tsh: str(infInv.tsh),
376
+ tvs: str(infInv.tvs),
377
+ hsg: str(infInv.hsg)
378
+ }
379
+ },
380
+ postop: {
381
+ surgeryDate: str(po.surgeryDate),
382
+ procedure: str(po.procedure),
383
+ histopathology: str(po.histopathology),
384
+ woundStatus: ["", "Healthy", "Erythema", "Discharge", "Dehisced"].includes(str(po.woundStatus)) ? str(po.woundStatus) : "",
385
+ painScore: Math.max(0, Math.min(10, num(po.painScore))),
386
+ complications: str(po.complications)
387
+ }
388
+ };
389
+ }
390
+ var ZONE_LABELS = {
391
+ menstrual_reproductive: "Menstrual & reproductive",
392
+ antenatal: "Antenatal",
393
+ gynaecological: "Gynaecological",
394
+ infertility: "Infertility",
395
+ postoperative: "Post-operative"
396
+ };
397
+ function obgZoneLabel(zone) {
398
+ return ZONE_LABELS[zone];
399
+ }
400
+ function nonEmpty(parts) {
401
+ return parts.map((s) => (s ?? "").trim()).filter(Boolean);
402
+ }
403
+ function formatMenstrualBlock(m) {
404
+ const bits = nonEmpty([
405
+ m.menarcheAge ? `menarche ${m.menarcheAge}y` : "",
406
+ m.cycleLength ? `cycle ${m.cycleLength}d` : "",
407
+ m.flowDays ? `flow ${m.flowDays}d` : "",
408
+ m.cycleRegular ? "regular" : "irregular",
409
+ m.amount ? `flow ${m.amount.toLowerCase()}` : "",
410
+ m.dysmenorrhea ? `dysmenorrhea grade ${m.dysmenorrhea}` : "",
411
+ m.lmp ? `LMP ${m.lmp}` : "",
412
+ m.menopauseStatus ? `${m.menopauseStatus.toLowerCase()}menopausal` : ""
413
+ ]);
414
+ return bits.length ? `Menstrual: ${bits.join(", ")}` : "";
415
+ }
416
+ function formatAntenatalBlock(a) {
417
+ const lines = [];
418
+ const head = nonEmpty([
419
+ a.gravida ? `G${a.gravida}` : "",
420
+ a.gaWeeksLmp || a.gaDaysLmp ? `GA(LMP) ${a.gaWeeksLmp}w ${a.gaDaysLmp}d` : "",
421
+ a.gaWeeksUsg || a.gaDaysUsg ? `GA(USG) ${a.gaWeeksUsg}w ${a.gaDaysUsg}d` : "",
422
+ a.edd ? `EDD ${a.edd}` : "",
423
+ a.riskCategory ? `${a.riskCategory} risk` : ""
424
+ ]);
425
+ if (head.length) lines.push(`Antenatal: ${head.join(", ")}`);
426
+ const sym = nonEmpty([
427
+ a.symptoms.nauseaVomiting ? "nausea/vomiting" : "",
428
+ a.symptoms.bleedingPV ? "bleeding PV" : "",
429
+ a.symptoms.painAbdomen ? "pain abdomen" : "",
430
+ a.symptoms.decreasedFetalMovements ? "decreased fetal movements" : ""
431
+ ]);
432
+ if (sym.length) lines.push(`Antenatal symptoms: ${sym.join(", ")}`);
433
+ const exam = nonEmpty([
434
+ a.exam.weightKg ? `wt ${a.exam.weightKg}kg` : "",
435
+ a.exam.heightCm ? `ht ${a.exam.heightCm}cm` : "",
436
+ a.exam.bmi ? `BMI ${a.exam.bmi}` : "",
437
+ a.exam.bp ? `BP ${a.exam.bp}` : "",
438
+ a.exam.pallor ? "pallor" : "",
439
+ a.exam.oedema ? "oedema" : "",
440
+ a.exam.fundalHeightCm ? `fundal ht ${a.exam.fundalHeightCm}cm` : "",
441
+ a.exam.fhrBpm ? `FHR ${a.exam.fhrBpm}bpm` : "",
442
+ a.exam.presentation ? a.exam.presentation.toLowerCase() : "",
443
+ a.exam.lie ? `${a.exam.lie.toLowerCase()} lie` : ""
444
+ ]);
445
+ if (exam.length) lines.push(`Antenatal exam: ${exam.join(", ")}`);
446
+ const i = a.investigations;
447
+ const inv = nonEmpty([
448
+ i.bloodGroup ? `BG ${i.bloodGroup}` : "",
449
+ i.cbc ? `CBC ${i.cbc.toLowerCase()}` : "",
450
+ i.tsh ? `TSH ${i.tsh.toLowerCase()}` : "",
451
+ i.rbsOgtt ? `RBS/OGTT ${i.rbsOgtt.toLowerCase()}` : "",
452
+ i.serology ? `serology ${i.serology.toLowerCase()}` : "",
453
+ i.urine ? `urine ${i.urine.toLowerCase()}` : "",
454
+ i.usg ? `USG ${i.usg.toLowerCase()}` : ""
455
+ ]);
456
+ if (inv.length) lines.push(`Antenatal Ix: ${inv.join(", ")}`);
457
+ return lines.join("\n");
458
+ }
459
+ function formatGynaeBlock(g) {
460
+ const sym = nonEmpty([
461
+ g.symptoms.aub ? "AUB" : "",
462
+ g.symptoms.whiteDischarge ? "white discharge" : "",
463
+ g.symptoms.pelvicPain ? "pelvic pain" : "",
464
+ g.symptoms.dyspareunia ? "dyspareunia" : "",
465
+ g.symptoms.urinaryComplaints ? "urinary complaints" : "",
466
+ g.symptoms.prolapse ? "prolapse" : ""
467
+ ]);
468
+ return sym.length ? `Gynae symptoms: ${sym.join(", ")}` : "";
469
+ }
470
+ function formatInfertilityBlock(i) {
471
+ const bits = nonEmpty([
472
+ i.type ? `${i.type} infertility` : "",
473
+ i.durationMonths ? `${i.durationMonths} months` : "",
474
+ i.female.pcosFeatures ? "PCOS features" : "",
475
+ i.female.endometriosisSuspicion ? "endometriosis suspicion" : "",
476
+ i.female.ovulation ? `ovulation: ${i.female.ovulation}` : "",
477
+ i.male.semenAnalysis ? `semen: ${i.male.semenAnalysis}` : ""
478
+ ]);
479
+ return bits.length ? `Infertility: ${bits.join(", ")}` : "";
480
+ }
481
+ function formatPostOpBlock(p) {
482
+ const bits = nonEmpty([
483
+ p.surgeryDate ? `op ${p.surgeryDate}` : "",
484
+ p.procedure || "",
485
+ p.woundStatus ? `wound ${p.woundStatus.toLowerCase()}` : "",
486
+ p.painScore ? `pain ${p.painScore}/10` : "",
487
+ p.complications ? `complications: ${p.complications}` : ""
488
+ ]);
489
+ return bits.length ? `Post-op: ${bits.join(", ")}` : "";
490
+ }
491
+ var ZONE_FORMATTERS = {
492
+ menstrual_reproductive: (v) => formatMenstrualBlock(v.menstrual),
493
+ antenatal: (v) => formatAntenatalBlock(v.antenatal),
494
+ gynaecological: (v) => formatGynaeBlock(v.gynae),
495
+ infertility: (v) => formatInfertilityBlock(v.infertility),
496
+ postoperative: (v) => formatPostOpBlock(v.postop)
497
+ };
498
+ function formatObgPathwayProse(v) {
499
+ if (!v.zones.length) return "";
500
+ const blocks = [];
501
+ for (const z of v.zones) {
502
+ const block = ZONE_FORMATTERS[z](v).trim();
503
+ if (block) blocks.push(block);
504
+ }
505
+ return blocks.join("\n\n");
506
+ }
507
+ var OBG_ZONE_LABEL_TO_ZONE = (() => {
508
+ const m = {};
509
+ for (const z of OBG_ZONE_ORDER) m[obgZoneLabel(z)] = z;
510
+ return m;
511
+ })();
512
+ var OBG_ZONE_ALLOWED_CHIP_LABELS = new Set(
513
+ Object.keys(OBG_ZONE_LABEL_TO_ZONE)
514
+ );
515
+ function obgZonesFromChipLabels(labels) {
516
+ const out = [];
517
+ const seen = /* @__PURE__ */ new Set();
518
+ for (const raw of labels) {
519
+ const z = OBG_ZONE_LABEL_TO_ZONE[raw];
520
+ if (!z || seen.has(z)) continue;
521
+ seen.add(z);
522
+ out.push(z);
523
+ }
524
+ return out.sort((a, b) => OBG_ZONE_ORDER.indexOf(a) - OBG_ZONE_ORDER.indexOf(b));
525
+ }
526
+
527
+ exports.OBG_EXAM_ALLOWED_CHIP_LABELS = OBG_EXAM_ALLOWED_CHIP_LABELS;
528
+ exports.OBG_ZONE_ALLOWED_CHIP_LABELS = OBG_ZONE_ALLOWED_CHIP_LABELS;
529
+ exports.OBG_ZONE_ORDER = OBG_ZONE_ORDER;
530
+ exports.formatObgPathwayProse = formatObgPathwayProse;
531
+ exports.normalizeObgExamination = normalizeObgExamination;
532
+ exports.normalizeObgPathway = normalizeObgPathway;
533
+ exports.obgExaminationChipLabels = obgExaminationChipLabels;
534
+ exports.obgExaminationFromChipLabels = obgExaminationFromChipLabels;
535
+ exports.obgZoneLabel = obgZoneLabel;
536
+ exports.obgZonesFromChipLabels = obgZonesFromChipLabels;
537
+ //# sourceMappingURL=chunk-QKJ7BQSR.cjs.map
538
+ //# sourceMappingURL=chunk-QKJ7BQSR.cjs.map