formanitor 0.1.10 → 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 (290) 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 -14537
  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 -14346
  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
  290. package/src/styles/index.css +35 -2
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/shadcn/select.tsx"],"names":["SelectPrimitive","React","jsxs","cn","jsx","ChevronDown","ChevronUp","Check"],"mappings":"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","file":"chunk-4KSZUIJE.cjs","sourcesContent":["import * as React from \"react\";\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\n\nimport { cn } from \"../../core/utils\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-52 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n"]}
@@ -0,0 +1,121 @@
1
+ import { Input } from './chunk-VNFBUAZD.mjs';
2
+ import { Popover, PopoverTrigger, PopoverContent, Calendar as Calendar$1 } from './chunk-BMNY7F6H.mjs';
3
+ import { Button } from './chunk-GXXWMHAA.mjs';
4
+ import { cn } from './chunk-VPU66PI6.mjs';
5
+ import * as React from 'react';
6
+ import { format } from 'date-fns';
7
+ import { Calendar, Clock } from 'lucide-react';
8
+ import { jsxs, jsx } from 'react/jsx-runtime';
9
+
10
+ function parseTimeString(value) {
11
+ if (!value) return null;
12
+ const [h, m] = value.split(":").map((v) => Number(v));
13
+ if (Number.isNaN(h) || Number.isNaN(m) || h < 0 || h > 23 || m < 0 || m > 59) {
14
+ return null;
15
+ }
16
+ return { hours: h, minutes: m };
17
+ }
18
+ function DateTimePicker({
19
+ dateTime,
20
+ setDateTime,
21
+ className,
22
+ placeholder = "Pick date & time"
23
+ }) {
24
+ const [internalDate, setInternalDate] = React.useState(dateTime);
25
+ const [timeString, setTimeString] = React.useState(() => {
26
+ if (!dateTime) return "";
27
+ const hours = dateTime.getHours().toString().padStart(2, "0");
28
+ const minutes = dateTime.getMinutes().toString().padStart(2, "0");
29
+ return `${hours}:${minutes}`;
30
+ });
31
+ React.useEffect(() => {
32
+ setInternalDate(dateTime);
33
+ if (!dateTime) {
34
+ setTimeString("");
35
+ } else {
36
+ const hours = dateTime.getHours().toString().padStart(2, "0");
37
+ const minutes = dateTime.getMinutes().toString().padStart(2, "0");
38
+ setTimeString(`${hours}:${minutes}`);
39
+ }
40
+ }, [dateTime]);
41
+ const handleDateSelect = (date) => {
42
+ setInternalDate(date);
43
+ if (!setDateTime) return;
44
+ if (!date) {
45
+ setDateTime(void 0);
46
+ return;
47
+ }
48
+ const parsed = parseTimeString(timeString);
49
+ const next = new Date(date);
50
+ if (parsed) {
51
+ next.setHours(parsed.hours, parsed.minutes, 0, 0);
52
+ }
53
+ setDateTime(next);
54
+ };
55
+ const handleTimeChange = (e) => {
56
+ const value = e.target.value;
57
+ setTimeString(value);
58
+ if (!setDateTime) return;
59
+ const parsed = parseTimeString(value);
60
+ if (!parsed) {
61
+ return;
62
+ }
63
+ const base = internalDate ?? /* @__PURE__ */ new Date();
64
+ const next = new Date(base);
65
+ next.setHours(parsed.hours, parsed.minutes, 0, 0);
66
+ setInternalDate(next);
67
+ setDateTime(next);
68
+ };
69
+ const hasValue = !!dateTime;
70
+ return /* @__PURE__ */ jsxs(Popover, { children: [
71
+ /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
72
+ Button,
73
+ {
74
+ variant: "outline",
75
+ className: cn(
76
+ "w-[280px] justify-start text-left font-normal",
77
+ !hasValue && "text-muted-foreground",
78
+ className
79
+ ),
80
+ children: [
81
+ /* @__PURE__ */ jsx(Calendar, { className: "mr-2 h-4 w-4" }),
82
+ hasValue ? /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
83
+ format(dateTime, "PPP"),
84
+ /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: "\u2022" }),
85
+ /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1", children: [
86
+ /* @__PURE__ */ jsx(Clock, { className: "h-3 w-3" }),
87
+ format(dateTime, "HH:mm")
88
+ ] })
89
+ ] }) : /* @__PURE__ */ jsx("span", { children: placeholder })
90
+ ]
91
+ }
92
+ ) }),
93
+ /* @__PURE__ */ jsx(PopoverContent, { className: "w-auto p-0", children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col md:flex-row", children: [
94
+ /* @__PURE__ */ jsx(
95
+ Calendar$1,
96
+ {
97
+ mode: "single",
98
+ selected: internalDate,
99
+ onSelect: handleDateSelect,
100
+ initialFocus: true
101
+ }
102
+ ),
103
+ /* @__PURE__ */ jsxs("div", { className: "border-t md:border-t-0 md:border-l p-3 flex flex-col gap-2 min-w-[220px]", children: [
104
+ /* @__PURE__ */ jsx("label", { className: "text-xs font-medium text-muted-foreground", children: "Time (24h)" }),
105
+ /* @__PURE__ */ jsx(
106
+ Input,
107
+ {
108
+ type: "time",
109
+ value: timeString,
110
+ onChange: handleTimeChange,
111
+ className: "w-full"
112
+ }
113
+ )
114
+ ] })
115
+ ] }) })
116
+ ] });
117
+ }
118
+
119
+ export { DateTimePicker };
120
+ //# sourceMappingURL=chunk-4PMNVBJD.mjs.map
121
+ //# sourceMappingURL=chunk-4PMNVBJD.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/shadcn/datetime-picker.tsx"],"names":["CalendarIcon","Calendar"],"mappings":"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","file":"chunk-4PMNVBJD.mjs","sourcesContent":["import * as React from \"react\"\nimport { format } from \"date-fns\"\nimport { Calendar as CalendarIcon, Clock } from \"lucide-react\"\n\nimport { cn } from \"../../core/utils\"\nimport { Button } from \"./button\"\nimport { Calendar } from \"./calendar\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"./popover\"\nimport { Input } from \"./input\"\n\nexport interface DateTimePickerProps {\n /**\n * The current value as a Date object.\n */\n dateTime?: Date\n /**\n * Setter for the value. Use undefined to clear.\n */\n setDateTime?: (value: Date | undefined) => void\n className?: string\n placeholder?: string\n}\n\nfunction parseTimeString(value: string): { hours: number; minutes: number } | null {\n if (!value) return null\n const [h, m] = value.split(\":\").map((v) => Number(v))\n if (\n Number.isNaN(h) ||\n Number.isNaN(m) ||\n h < 0 ||\n h > 23 ||\n m < 0 ||\n m > 59\n ) {\n return null\n }\n return { hours: h, minutes: m }\n}\n\nexport function DateTimePicker({\n dateTime,\n setDateTime,\n className,\n placeholder = \"Pick date & time\",\n}: DateTimePickerProps) {\n const [internalDate, setInternalDate] = React.useState<Date | undefined>(dateTime)\n const [timeString, setTimeString] = React.useState<string>(() => {\n if (!dateTime) return \"\"\n const hours = dateTime.getHours().toString().padStart(2, \"0\")\n const minutes = dateTime.getMinutes().toString().padStart(2, \"0\")\n return `${hours}:${minutes}`\n })\n\n React.useEffect(() => {\n setInternalDate(dateTime)\n if (!dateTime) {\n setTimeString(\"\")\n } else {\n const hours = dateTime.getHours().toString().padStart(2, \"0\")\n const minutes = dateTime.getMinutes().toString().padStart(2, \"0\")\n setTimeString(`${hours}:${minutes}`)\n }\n }, [dateTime])\n\n const handleDateSelect = (date: Date | undefined) => {\n setInternalDate(date)\n if (!setDateTime) return\n if (!date) {\n setDateTime(undefined)\n return\n }\n\n const parsed = parseTimeString(timeString)\n const next = new Date(date)\n if (parsed) {\n next.setHours(parsed.hours, parsed.minutes, 0, 0)\n }\n setDateTime(next)\n }\n\n const handleTimeChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n const value = e.target.value\n setTimeString(value)\n if (!setDateTime) return\n\n const parsed = parseTimeString(value)\n if (!parsed) {\n // Don't propagate invalid time, just keep local string\n return\n }\n\n const base = internalDate ?? new Date()\n const next = new Date(base)\n next.setHours(parsed.hours, parsed.minutes, 0, 0)\n setInternalDate(next)\n setDateTime(next)\n }\n\n const hasValue = !!dateTime\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant={\"outline\"}\n className={cn(\n \"w-[280px] justify-start text-left font-normal\",\n !hasValue && \"text-muted-foreground\",\n className\n )}\n >\n <CalendarIcon className=\"mr-2 h-4 w-4\" />\n {hasValue ? (\n <span className=\"flex items-center gap-1\">\n {format(dateTime as Date, \"PPP\")}\n <span className=\"text-muted-foreground\">•</span>\n <span className=\"inline-flex items-center gap-1\">\n <Clock className=\"h-3 w-3\" />\n {format(dateTime as Date, \"HH:mm\")}\n </span>\n </span>\n ) : (\n <span>{placeholder}</span>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\">\n <div className=\"flex flex-col md:flex-row\">\n <Calendar\n mode=\"single\"\n selected={internalDate}\n onSelect={handleDateSelect}\n initialFocus\n />\n <div className=\"border-t md:border-t-0 md:border-l p-3 flex flex-col gap-2 min-w-[220px]\">\n <label className=\"text-xs font-medium text-muted-foreground\">\n Time (24h)\n </label>\n <Input\n type=\"time\"\n value={timeString}\n onChange={handleTimeChange}\n className=\"w-full\"\n />\n </div>\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n\n"]}
@@ -0,0 +1,54 @@
1
+ 'use strict';
2
+
3
+ var chunkFHHISVCH_cjs = require('./chunk-FHHISVCH.cjs');
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+
6
+ function isLabelVisible(fieldDef) {
7
+ return fieldDef.style?.labelVisible !== false;
8
+ }
9
+ function FieldRequiredIndicator({
10
+ fieldDef
11
+ }) {
12
+ if (!fieldDef.required) return null;
13
+ if (fieldDef.style?.showRequiredAsterisk === false) return null;
14
+ return /* @__PURE__ */ jsxRuntime.jsx(
15
+ "span",
16
+ {
17
+ className: chunkFHHISVCH_cjs.cn(
18
+ "text-red-500",
19
+ fieldDef.style?.classNames?.requiredIndicator
20
+ ),
21
+ "aria-hidden": true,
22
+ children: "*"
23
+ }
24
+ );
25
+ }
26
+ function fieldWrapperClass(fieldDef, ...defaults) {
27
+ return chunkFHHISVCH_cjs.cn(...defaults, fieldDef.style?.classNames?.wrapper);
28
+ }
29
+ function fieldLabelClass(fieldDef, ...defaults) {
30
+ return chunkFHHISVCH_cjs.cn(...defaults, fieldDef.style?.classNames?.label);
31
+ }
32
+ function fieldControlClass(fieldDef, ...defaults) {
33
+ const controlClass = fieldDef.style?.classNames?.control;
34
+ if (fieldDef.style?.fullControl && controlClass) {
35
+ return chunkFHHISVCH_cjs.cn(controlClass);
36
+ }
37
+ return chunkFHHISVCH_cjs.cn(...defaults, fieldDef.style?.classNames?.control);
38
+ }
39
+ function fieldDescriptionClass(fieldDef, ...defaults) {
40
+ return chunkFHHISVCH_cjs.cn(...defaults, fieldDef.style?.classNames?.description);
41
+ }
42
+ function fieldErrorClass(fieldDef, ...defaults) {
43
+ return chunkFHHISVCH_cjs.cn(...defaults, fieldDef.style?.classNames?.error);
44
+ }
45
+
46
+ exports.FieldRequiredIndicator = FieldRequiredIndicator;
47
+ exports.fieldControlClass = fieldControlClass;
48
+ exports.fieldDescriptionClass = fieldDescriptionClass;
49
+ exports.fieldErrorClass = fieldErrorClass;
50
+ exports.fieldLabelClass = fieldLabelClass;
51
+ exports.fieldWrapperClass = fieldWrapperClass;
52
+ exports.isLabelVisible = isLabelVisible;
53
+ //# sourceMappingURL=chunk-5E3APMY6.cjs.map
54
+ //# sourceMappingURL=chunk-5E3APMY6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/react/fieldStyle.tsx"],"names":["jsx","cn"],"mappings":";;;;;AAIO,SAAS,eAAe,QAAA,EAAgD;AAC7E,EAAA,OAAO,QAAA,CAAS,OAAO,YAAA,KAAiB,KAAA;AAC1C;AAEO,SAAS,sBAAA,CAAuB;AAAA,EACrC;AACF,CAAA,EAEG;AACD,EAAA,IAAI,CAAC,QAAA,CAAS,QAAA,EAAU,OAAO,IAAA;AAC/B,EAAA,IAAI,QAAA,CAAS,KAAA,EAAO,oBAAA,KAAyB,KAAA,EAAO,OAAO,IAAA;AAC3D,EAAA,uBACEA,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,oBAAA;AAAA,QACT,cAAA;AAAA,QACA,QAAA,CAAS,OAAO,UAAA,EAAY;AAAA,OAC9B;AAAA,MACA,aAAA,EAAW,IAAA;AAAA,MACZ,QAAA,EAAA;AAAA;AAAA,GAED;AAEJ;AAEO,SAAS,iBAAA,CACd,aACG,QAAA,EACK;AACR,EAAA,OAAOA,qBAAG,GAAG,QAAA,EAAU,QAAA,CAAS,KAAA,EAAO,YAAY,OAAO,CAAA;AAC5D;AAEO,SAAS,eAAA,CACd,aACG,QAAA,EACK;AACR,EAAA,OAAOA,qBAAG,GAAG,QAAA,EAAU,QAAA,CAAS,KAAA,EAAO,YAAY,KAAK,CAAA;AAC1D;AAEO,SAAS,iBAAA,CACd,aACG,QAAA,EACK;AACR,EAAA,MAAM,YAAA,GAAe,QAAA,CAAS,KAAA,EAAO,UAAA,EAAY,OAAA;AACjD,EAAA,IAAI,QAAA,CAAS,KAAA,EAAO,WAAA,IAAe,YAAA,EAAc;AAC/C,IAAA,OAAOA,qBAAG,YAAY,CAAA;AAAA,EACxB;AACA,EAAA,OAAOA,qBAAG,GAAG,QAAA,EAAU,QAAA,CAAS,KAAA,EAAO,YAAY,OAAO,CAAA;AAC5D;AAEO,SAAS,qBAAA,CACd,aACG,QAAA,EACK;AACR,EAAA,OAAOA,qBAAG,GAAG,QAAA,EAAU,QAAA,CAAS,KAAA,EAAO,YAAY,WAAW,CAAA;AAChE;AAEO,SAAS,eAAA,CACd,aACG,QAAA,EACK;AACR,EAAA,OAAOA,qBAAG,GAAG,QAAA,EAAU,QAAA,CAAS,KAAA,EAAO,YAAY,KAAK,CAAA;AAC1D","file":"chunk-5E3APMY6.cjs","sourcesContent":["/* eslint-disable react-refresh/only-export-components -- shared field presentation helpers and indicator */\nimport type { BaseFieldDef } from \"../core/types\";\nimport { cn } from \"../core/utils\";\n\nexport function isLabelVisible(fieldDef: Pick<BaseFieldDef, \"style\">): boolean {\n return fieldDef.style?.labelVisible !== false;\n}\n\nexport function FieldRequiredIndicator({\n fieldDef,\n}: {\n fieldDef: Pick<BaseFieldDef, \"required\" | \"style\">;\n}) {\n if (!fieldDef.required) return null;\n if (fieldDef.style?.showRequiredAsterisk === false) return null;\n return (\n <span\n className={cn(\n \"text-red-500\",\n fieldDef.style?.classNames?.requiredIndicator,\n )}\n aria-hidden\n >\n *\n </span>\n );\n}\n\nexport function fieldWrapperClass(\n fieldDef: Pick<BaseFieldDef, \"style\">,\n ...defaults: (string | undefined)[]\n): string {\n return cn(...defaults, fieldDef.style?.classNames?.wrapper);\n}\n\nexport function fieldLabelClass(\n fieldDef: Pick<BaseFieldDef, \"style\">,\n ...defaults: (string | undefined)[]\n): string {\n return cn(...defaults, fieldDef.style?.classNames?.label);\n}\n\nexport function fieldControlClass(\n fieldDef: Pick<BaseFieldDef, \"style\">,\n ...defaults: (string | undefined)[]\n): string {\n const controlClass = fieldDef.style?.classNames?.control;\n if (fieldDef.style?.fullControl && controlClass) {\n return cn(controlClass);\n }\n return cn(...defaults, fieldDef.style?.classNames?.control);\n}\n\nexport function fieldDescriptionClass(\n fieldDef: Pick<BaseFieldDef, \"style\">,\n ...defaults: (string | undefined)[]\n): string {\n return cn(...defaults, fieldDef.style?.classNames?.description);\n}\n\nexport function fieldErrorClass(\n fieldDef: Pick<BaseFieldDef, \"style\">,\n ...defaults: (string | undefined)[]\n): string {\n return cn(...defaults, fieldDef.style?.classNames?.error);\n}\n"]}