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.
- package/dist/AddInvestigationWidget-7UGZQYI5.mjs +30 -0
- package/dist/AddInvestigationWidget-7UGZQYI5.mjs.map +1 -0
- package/dist/AddInvestigationWidget-RY62UCPM.cjs +32 -0
- package/dist/AddInvestigationWidget-RY62UCPM.cjs.map +1 -0
- package/dist/AddMedicationWidget-UG26VMUX.mjs +30 -0
- package/dist/AddMedicationWidget-UG26VMUX.mjs.map +1 -0
- package/dist/AddMedicationWidget-WPI32WAP.cjs +32 -0
- package/dist/AddMedicationWidget-WPI32WAP.cjs.map +1 -0
- package/dist/AddProcedureWidget-SF6MTRBV.cjs +278 -0
- package/dist/AddProcedureWidget-SF6MTRBV.cjs.map +1 -0
- package/dist/AddProcedureWidget-SQJUKKMK.mjs +276 -0
- package/dist/AddProcedureWidget-SQJUKKMK.mjs.map +1 -0
- package/dist/BiometryIolWorkupWidget-I5AJOYB2.cjs +300 -0
- package/dist/BiometryIolWorkupWidget-I5AJOYB2.cjs.map +1 -0
- package/dist/BiometryIolWorkupWidget-NL2M7ZAA.mjs +298 -0
- package/dist/BiometryIolWorkupWidget-NL2M7ZAA.mjs.map +1 -0
- package/dist/DateTimeWidget-DIDVF2EB.cjs +61 -0
- package/dist/DateTimeWidget-DIDVF2EB.cjs.map +1 -0
- package/dist/DateTimeWidget-LFBB6HOP.mjs +59 -0
- package/dist/DateTimeWidget-LFBB6HOP.mjs.map +1 -0
- package/dist/DateWidget-4ND5TKP2.mjs +72 -0
- package/dist/DateWidget-4ND5TKP2.mjs.map +1 -0
- package/dist/DateWidget-BCVR5GDK.cjs +74 -0
- package/dist/DateWidget-BCVR5GDK.cjs.map +1 -0
- package/dist/DiagnosisTextareaWidget-E7OQRUMX.cjs +190 -0
- package/dist/DiagnosisTextareaWidget-E7OQRUMX.cjs.map +1 -0
- package/dist/DiagnosisTextareaWidget-MAOXCXEZ.mjs +184 -0
- package/dist/DiagnosisTextareaWidget-MAOXCXEZ.mjs.map +1 -0
- package/dist/DifferentialDiagnosisWidget-ANALLNKL.cjs +17 -0
- package/dist/DifferentialDiagnosisWidget-ANALLNKL.cjs.map +1 -0
- package/dist/DifferentialDiagnosisWidget-LCY2SA2I.mjs +15 -0
- package/dist/DifferentialDiagnosisWidget-LCY2SA2I.mjs.map +1 -0
- package/dist/DischargeMedicationOrdersWidget-GYT35W7J.mjs +161 -0
- package/dist/DischargeMedicationOrdersWidget-GYT35W7J.mjs.map +1 -0
- package/dist/DischargeMedicationOrdersWidget-ILWNZ7VM.cjs +163 -0
- package/dist/DischargeMedicationOrdersWidget-ILWNZ7VM.cjs.map +1 -0
- package/dist/EditableTable-TGCVUBLO.mjs +279 -0
- package/dist/EditableTable-TGCVUBLO.mjs.map +1 -0
- package/dist/EditableTable-VCUNJZEX.cjs +281 -0
- package/dist/EditableTable-VCUNJZEX.cjs.map +1 -0
- package/dist/FollowupWidget-F6FRZO4T.mjs +283 -0
- package/dist/FollowupWidget-F6FRZO4T.mjs.map +1 -0
- package/dist/FollowupWidget-NBTOV2ML.cjs +285 -0
- package/dist/FollowupWidget-NBTOV2ML.cjs.map +1 -0
- package/dist/FunctionalImpairmentScoreWidget-5V5SNLTF.cjs +93 -0
- package/dist/FunctionalImpairmentScoreWidget-5V5SNLTF.cjs.map +1 -0
- package/dist/FunctionalImpairmentScoreWidget-QKIZE7KT.mjs +91 -0
- package/dist/FunctionalImpairmentScoreWidget-QKIZE7KT.mjs.map +1 -0
- package/dist/GsExaminationWidget-57SL4BCI.cjs +528 -0
- package/dist/GsExaminationWidget-57SL4BCI.cjs.map +1 -0
- package/dist/GsExaminationWidget-J4VABGY6.mjs +526 -0
- package/dist/GsExaminationWidget-J4VABGY6.mjs.map +1 -0
- package/dist/GsGradingWidget-3WTLIP33.mjs +90 -0
- package/dist/GsGradingWidget-3WTLIP33.mjs.map +1 -0
- package/dist/GsGradingWidget-CIXE36HF.cjs +92 -0
- package/dist/GsGradingWidget-CIXE36HF.cjs.map +1 -0
- package/dist/GsSmartHistoryWidget-6Q2IIGDG.cjs +398 -0
- package/dist/GsSmartHistoryWidget-6Q2IIGDG.cjs.map +1 -0
- package/dist/GsSmartHistoryWidget-IOGZ6GNS.mjs +396 -0
- package/dist/GsSmartHistoryWidget-IOGZ6GNS.mjs.map +1 -0
- package/dist/HiddenVitalsWidget-HBK7PBPR.cjs +55 -0
- package/dist/HiddenVitalsWidget-HBK7PBPR.cjs.map +1 -0
- package/dist/HiddenVitalsWidget-JH3NRZLM.mjs +53 -0
- package/dist/HiddenVitalsWidget-JH3NRZLM.mjs.map +1 -0
- package/dist/LensAssessmentWidget-7WMULFS2.mjs +232 -0
- package/dist/LensAssessmentWidget-7WMULFS2.mjs.map +1 -0
- package/dist/LensAssessmentWidget-GSOOD7BX.cjs +234 -0
- package/dist/LensAssessmentWidget-GSOOD7BX.cjs.map +1 -0
- package/dist/MarMedicationOrdersWidget-3E6GFOR6.cjs +76 -0
- package/dist/MarMedicationOrdersWidget-3E6GFOR6.cjs.map +1 -0
- package/dist/MarMedicationOrdersWidget-QZUVSEB5.mjs +74 -0
- package/dist/MarMedicationOrdersWidget-QZUVSEB5.mjs.map +1 -0
- package/dist/OBGExaminationWidget-F2ZNSP2M.cjs +215 -0
- package/dist/OBGExaminationWidget-F2ZNSP2M.cjs.map +1 -0
- package/dist/OBGExaminationWidget-POVLALMA.mjs +213 -0
- package/dist/OBGExaminationWidget-POVLALMA.mjs.map +1 -0
- package/dist/OBGPathwayWidget-CGT7Q4T2.mjs +517 -0
- package/dist/OBGPathwayWidget-CGT7Q4T2.mjs.map +1 -0
- package/dist/OBGPathwayWidget-WCIQENMO.cjs +519 -0
- package/dist/OBGPathwayWidget-WCIQENMO.cjs.map +1 -0
- package/dist/ObstetricHistoryWidget-EGVLL4X2.mjs +1113 -0
- package/dist/ObstetricHistoryWidget-EGVLL4X2.mjs.map +1 -0
- package/dist/ObstetricHistoryWidget-XU6R7IPP.cjs +1115 -0
- package/dist/ObstetricHistoryWidget-XU6R7IPP.cjs.map +1 -0
- package/dist/OphthalDiagnosisWidget-G5RCC2QZ.mjs +89 -0
- package/dist/OphthalDiagnosisWidget-G5RCC2QZ.mjs.map +1 -0
- package/dist/OphthalDiagnosisWidget-OQPTHJ7E.cjs +91 -0
- package/dist/OphthalDiagnosisWidget-OQPTHJ7E.cjs.map +1 -0
- package/dist/OphthalmologyWidget-I3BKWOI2.cjs +1331 -0
- package/dist/OphthalmologyWidget-I3BKWOI2.cjs.map +1 -0
- package/dist/OphthalmologyWidget-RG2AI6WA.mjs +1329 -0
- package/dist/OphthalmologyWidget-RG2AI6WA.mjs.map +1 -0
- package/dist/OrthopedicExamWidget-BBZP6NVT.mjs +366 -0
- package/dist/OrthopedicExamWidget-BBZP6NVT.mjs.map +1 -0
- package/dist/OrthopedicExamWidget-M4KKU5RC.cjs +368 -0
- package/dist/OrthopedicExamWidget-M4KKU5RC.cjs.map +1 -0
- package/dist/PainScaleFlagsWidget-E576R6QB.mjs +151 -0
- package/dist/PainScaleFlagsWidget-E576R6QB.mjs.map +1 -0
- package/dist/PainScaleFlagsWidget-QHGESXNE.cjs +153 -0
- package/dist/PainScaleFlagsWidget-QHGESXNE.cjs.map +1 -0
- package/dist/ReadOnlyTable-4Y2XW4MX.mjs +6 -0
- package/dist/ReadOnlyTable-4Y2XW4MX.mjs.map +1 -0
- package/dist/ReadOnlyTable-L7G6GWEJ.cjs +15 -0
- package/dist/ReadOnlyTable-L7G6GWEJ.cjs.map +1 -0
- package/dist/ReferralWidget-J2PWYFDT.cjs +171 -0
- package/dist/ReferralWidget-J2PWYFDT.cjs.map +1 -0
- package/dist/ReferralWidget-UPYWEO5R.mjs +169 -0
- package/dist/ReferralWidget-UPYWEO5R.mjs.map +1 -0
- package/dist/RichTextWidget-BBCNJPMH.mjs +11 -0
- package/dist/RichTextWidget-BBCNJPMH.mjs.map +1 -0
- package/dist/RichTextWidget-CRQHNVJR.cjs +24 -0
- package/dist/RichTextWidget-CRQHNVJR.cjs.map +1 -0
- package/dist/SmartTextarea-DKWV4R6H.cjs +19 -0
- package/dist/SmartTextarea-DKWV4R6H.cjs.map +1 -0
- package/dist/SmartTextarea-ZTQIW6O2.mjs +10 -0
- package/dist/SmartTextarea-ZTQIW6O2.mjs.map +1 -0
- package/dist/SuggestionTextareaWidget-22NR3JWM.mjs +215 -0
- package/dist/SuggestionTextareaWidget-22NR3JWM.mjs.map +1 -0
- package/dist/SuggestionTextareaWidget-WCTPWW2E.cjs +226 -0
- package/dist/SuggestionTextareaWidget-WCTPWW2E.cjs.map +1 -0
- package/dist/SurgicalRiskFlagsWidget-Q5FTWB3M.cjs +146 -0
- package/dist/SurgicalRiskFlagsWidget-Q5FTWB3M.cjs.map +1 -0
- package/dist/SurgicalRiskFlagsWidget-WCAHZKKG.mjs +144 -0
- package/dist/SurgicalRiskFlagsWidget-WCAHZKKG.mjs.map +1 -0
- package/dist/UrologyExaminationWidget-JYUGZ5CG.cjs +273 -0
- package/dist/UrologyExaminationWidget-JYUGZ5CG.cjs.map +1 -0
- package/dist/UrologyExaminationWidget-QDTD3FJX.mjs +271 -0
- package/dist/UrologyExaminationWidget-QDTD3FJX.mjs.map +1 -0
- package/dist/UrologyPathwayWidget-QTFKUIM7.mjs +153 -0
- package/dist/UrologyPathwayWidget-QTFKUIM7.mjs.map +1 -0
- package/dist/UrologyPathwayWidget-TXZQNGP4.cjs +155 -0
- package/dist/UrologyPathwayWidget-TXZQNGP4.cjs.map +1 -0
- package/dist/UrologySmartHistoryWidget-53NATEO3.cjs +471 -0
- package/dist/UrologySmartHistoryWidget-53NATEO3.cjs.map +1 -0
- package/dist/UrologySmartHistoryWidget-PBU4QXQJ.mjs +469 -0
- package/dist/UrologySmartHistoryWidget-PBU4QXQJ.mjs.map +1 -0
- package/dist/VitalsWidget-BRFUKGNO.mjs +187 -0
- package/dist/VitalsWidget-BRFUKGNO.mjs.map +1 -0
- package/dist/VitalsWidget-PDCYXNBM.cjs +208 -0
- package/dist/VitalsWidget-PDCYXNBM.cjs.map +1 -0
- package/dist/chunk-3KRDT7TX.mjs +137 -0
- package/dist/chunk-3KRDT7TX.mjs.map +1 -0
- package/dist/chunk-4BAKQIPJ.mjs +27 -0
- package/dist/chunk-4BAKQIPJ.mjs.map +1 -0
- package/dist/chunk-4KSZUIJE.cjs +143 -0
- package/dist/chunk-4KSZUIJE.cjs.map +1 -0
- package/dist/chunk-4PMNVBJD.mjs +121 -0
- package/dist/chunk-4PMNVBJD.mjs.map +1 -0
- package/dist/chunk-5E3APMY6.cjs +54 -0
- package/dist/chunk-5E3APMY6.cjs.map +1 -0
- package/dist/chunk-5I2RC47Y.mjs +75 -0
- package/dist/chunk-5I2RC47Y.mjs.map +1 -0
- package/dist/chunk-6YX37XBM.cjs +32 -0
- package/dist/chunk-6YX37XBM.cjs.map +1 -0
- package/dist/chunk-7L2JOWGA.mjs +30 -0
- package/dist/chunk-7L2JOWGA.mjs.map +1 -0
- package/dist/chunk-AIZ3XYEZ.cjs +551 -0
- package/dist/chunk-AIZ3XYEZ.cjs.map +1 -0
- package/dist/chunk-AZHTIUOL.mjs +116 -0
- package/dist/chunk-AZHTIUOL.mjs.map +1 -0
- package/dist/chunk-AZSAPO2V.cjs +174 -0
- package/dist/chunk-AZSAPO2V.cjs.map +1 -0
- package/dist/chunk-B3GBIAHZ.mjs +285 -0
- package/dist/chunk-B3GBIAHZ.mjs.map +1 -0
- package/dist/chunk-BMNY7F6H.mjs +148 -0
- package/dist/chunk-BMNY7F6H.mjs.map +1 -0
- package/dist/chunk-BOBX45NY.cjs +77 -0
- package/dist/chunk-BOBX45NY.cjs.map +1 -0
- package/dist/chunk-BU4ZEAAP.mjs +102 -0
- package/dist/chunk-BU4ZEAAP.mjs.map +1 -0
- package/dist/chunk-DZYV47QC.mjs +54 -0
- package/dist/chunk-DZYV47QC.mjs.map +1 -0
- package/dist/chunk-E7WUDHSA.cjs +127 -0
- package/dist/chunk-E7WUDHSA.cjs.map +1 -0
- package/dist/chunk-FHHISVCH.cjs +13 -0
- package/dist/chunk-FHHISVCH.cjs.map +1 -0
- package/dist/chunk-GNZWSVTB.mjs +29 -0
- package/dist/chunk-GNZWSVTB.mjs.map +1 -0
- package/dist/chunk-GPU5P3FB.cjs +236 -0
- package/dist/chunk-GPU5P3FB.cjs.map +1 -0
- package/dist/chunk-GXXWMHAA.mjs +49 -0
- package/dist/chunk-GXXWMHAA.mjs.map +1 -0
- package/dist/chunk-GZPCYSJK.mjs +104 -0
- package/dist/chunk-GZPCYSJK.mjs.map +1 -0
- package/dist/chunk-HEFZA2AH.mjs +22 -0
- package/dist/chunk-HEFZA2AH.mjs.map +1 -0
- package/dist/chunk-I4AV6BQF.mjs +10 -0
- package/dist/chunk-I4AV6BQF.mjs.map +1 -0
- package/dist/chunk-I7TJVWYV.cjs +73 -0
- package/dist/chunk-I7TJVWYV.cjs.map +1 -0
- package/dist/chunk-IFMQKLNW.mjs +39 -0
- package/dist/chunk-IFMQKLNW.mjs.map +1 -0
- package/dist/chunk-IFSKLIS2.cjs +12 -0
- package/dist/chunk-IFSKLIS2.cjs.map +1 -0
- package/dist/chunk-IKAKE7TR.mjs +527 -0
- package/dist/chunk-IKAKE7TR.mjs.map +1 -0
- package/dist/chunk-JE6VXRWW.cjs +86 -0
- package/dist/chunk-JE6VXRWW.cjs.map +1 -0
- package/dist/chunk-JMGUUFOJ.cjs +45 -0
- package/dist/chunk-JMGUUFOJ.cjs.map +1 -0
- package/dist/chunk-KJA5BLGX.cjs +31 -0
- package/dist/chunk-KJA5BLGX.cjs.map +1 -0
- package/dist/chunk-KMJOTMUQ.cjs +109 -0
- package/dist/chunk-KMJOTMUQ.cjs.map +1 -0
- package/dist/chunk-L4CIIT4U.cjs +388 -0
- package/dist/chunk-L4CIIT4U.cjs.map +1 -0
- package/dist/chunk-LBWB7MYU.cjs +287 -0
- package/dist/chunk-LBWB7MYU.cjs.map +1 -0
- package/dist/chunk-LGGOBIEA.mjs +61 -0
- package/dist/chunk-LGGOBIEA.mjs.map +1 -0
- package/dist/chunk-LQYWMYEC.mjs +28 -0
- package/dist/chunk-LQYWMYEC.mjs.map +1 -0
- package/dist/chunk-MQ2JV7HL.cjs +140 -0
- package/dist/chunk-MQ2JV7HL.cjs.map +1 -0
- package/dist/chunk-N4L76SHJ.cjs +65 -0
- package/dist/chunk-N4L76SHJ.cjs.map +1 -0
- package/dist/chunk-O3VQBPEW.cjs +72 -0
- package/dist/chunk-O3VQBPEW.cjs.map +1 -0
- package/dist/chunk-P62377LB.cjs +27 -0
- package/dist/chunk-P62377LB.cjs.map +1 -0
- package/dist/chunk-PHADAQSH.cjs +49 -0
- package/dist/chunk-PHADAQSH.cjs.map +1 -0
- package/dist/chunk-PZBJYPWW.cjs +52 -0
- package/dist/chunk-PZBJYPWW.cjs.map +1 -0
- package/dist/chunk-QKJ7BQSR.cjs +538 -0
- package/dist/chunk-QKJ7BQSR.cjs.map +1 -0
- package/dist/chunk-QS6WG2XJ.cjs +56 -0
- package/dist/chunk-QS6WG2XJ.cjs.map +1 -0
- package/dist/chunk-S7EMPE2D.cjs +104 -0
- package/dist/chunk-S7EMPE2D.cjs.map +1 -0
- package/dist/chunk-SCMXLRX5.mjs +42 -0
- package/dist/chunk-SCMXLRX5.mjs.map +1 -0
- package/dist/chunk-SHQHDSA4.cjs +1959 -0
- package/dist/chunk-SHQHDSA4.cjs.map +1 -0
- package/dist/chunk-TJHG5WHX.cjs +47 -0
- package/dist/chunk-TJHG5WHX.cjs.map +1 -0
- package/dist/chunk-UGGUIXUS.cjs +41 -0
- package/dist/chunk-UGGUIXUS.cjs.map +1 -0
- package/dist/chunk-ULMK3TUI.mjs +69 -0
- package/dist/chunk-ULMK3TUI.mjs.map +1 -0
- package/dist/chunk-UULLSS4O.mjs +82 -0
- package/dist/chunk-UULLSS4O.mjs.map +1 -0
- package/dist/chunk-VNFBUAZD.mjs +25 -0
- package/dist/chunk-VNFBUAZD.mjs.map +1 -0
- package/dist/chunk-VPU66PI6.mjs +11 -0
- package/dist/chunk-VPU66PI6.mjs.map +1 -0
- package/dist/chunk-VZT5YNCD.mjs +228 -0
- package/dist/chunk-VZT5YNCD.mjs.map +1 -0
- package/dist/chunk-WYVXXEZI.mjs +46 -0
- package/dist/chunk-WYVXXEZI.mjs.map +1 -0
- package/dist/chunk-XDUVO3IZ.mjs +547 -0
- package/dist/chunk-XDUVO3IZ.mjs.map +1 -0
- package/dist/chunk-Y7TIWH4I.mjs +25 -0
- package/dist/chunk-Y7TIWH4I.mjs.map +1 -0
- package/dist/chunk-YEFM2ERQ.cjs +143 -0
- package/dist/chunk-YEFM2ERQ.cjs.map +1 -0
- package/dist/chunk-YHNI5NIX.mjs +361 -0
- package/dist/chunk-YHNI5NIX.mjs.map +1 -0
- package/dist/chunk-ZTT5XJR7.mjs +1921 -0
- package/dist/chunk-ZTT5XJR7.mjs.map +1 -0
- package/dist/index.cjs +2091 -14564
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +62 -767
- package/dist/index.d.ts +62 -767
- package/dist/index.mjs +1873 -14394
- package/dist/index.mjs.map +1 -1
- package/dist/read-only-table.cjs +15 -0
- package/dist/read-only-table.cjs.map +1 -0
- package/dist/read-only-table.d.cts +10 -0
- package/dist/read-only-table.d.ts +10 -0
- package/dist/read-only-table.mjs +6 -0
- package/dist/read-only-table.mjs.map +1 -0
- package/dist/rich-text.cjs +24 -0
- package/dist/rich-text.cjs.map +1 -0
- package/dist/rich-text.d.cts +8 -0
- package/dist/rich-text.d.ts +8 -0
- package/dist/rich-text.mjs +11 -0
- package/dist/rich-text.mjs.map +1 -0
- package/dist/richTextClassName--8wkuHkW.d.cts +10 -0
- package/dist/richTextClassName--8wkuHkW.d.ts +10 -0
- package/dist/smart.cjs +23 -0
- package/dist/smart.cjs.map +1 -0
- package/dist/smart.d.cts +23 -0
- package/dist/smart.d.ts +23 -0
- package/dist/smart.mjs +10 -0
- package/dist/smart.mjs.map +1 -0
- package/dist/types-CYtJk8H9.d.cts +782 -0
- package/dist/types-CYtJk8H9.d.ts +782 -0
- package/package.json +20 -2
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkKMJOTMUQ_cjs = require('./chunk-KMJOTMUQ.cjs');
|
|
4
|
+
var chunkJMGUUFOJ_cjs = require('./chunk-JMGUUFOJ.cjs');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var reactTable = require('@tanstack/react-table');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
var ReadOnlyTable = ({
|
|
10
|
+
fieldDef,
|
|
11
|
+
value
|
|
12
|
+
}) => {
|
|
13
|
+
const tableData = react.useMemo(() => {
|
|
14
|
+
if (value && typeof value === "object" && "columns" in value && "rows" in value && Array.isArray(value.columns) && Array.isArray(value.rows)) {
|
|
15
|
+
return value;
|
|
16
|
+
}
|
|
17
|
+
return { columns: [], rows: [] };
|
|
18
|
+
}, [value]);
|
|
19
|
+
const columns = react.useMemo(() => {
|
|
20
|
+
return tableData.columns.map((col) => ({
|
|
21
|
+
accessorKey: col.id,
|
|
22
|
+
header: col.label,
|
|
23
|
+
cell: (info) => info.getValue() ?? ""
|
|
24
|
+
}));
|
|
25
|
+
}, [tableData.columns]);
|
|
26
|
+
const table = reactTable.useReactTable({
|
|
27
|
+
data: tableData.rows,
|
|
28
|
+
columns,
|
|
29
|
+
getCoreRowModel: reactTable.getCoreRowModel()
|
|
30
|
+
});
|
|
31
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
|
|
32
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkJMGUUFOJ_cjs.Label, { children: fieldDef.label }),
|
|
33
|
+
fieldDef.description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: fieldDef.description }),
|
|
34
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border", children: /* @__PURE__ */ jsxRuntime.jsxs(chunkKMJOTMUQ_cjs.Table, { children: [
|
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKMJOTMUQ_cjs.TableHeader, { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ jsxRuntime.jsx(chunkKMJOTMUQ_cjs.TableRow, { children: headerGroup.headers.map((header) => /* @__PURE__ */ jsxRuntime.jsx(chunkKMJOTMUQ_cjs.TableHead, { children: header.isPlaceholder ? null : reactTable.flexRender(
|
|
36
|
+
header.column.columnDef.header,
|
|
37
|
+
header.getContext()
|
|
38
|
+
) }, header.id)) }, headerGroup.id)) }),
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkKMJOTMUQ_cjs.TableBody, { children: table.getRowModel().rows?.length ? table.getRowModel().rows.map((row) => /* @__PURE__ */ jsxRuntime.jsx(chunkKMJOTMUQ_cjs.TableRow, { children: row.getVisibleCells().map((cell) => /* @__PURE__ */ jsxRuntime.jsx(chunkKMJOTMUQ_cjs.TableCell, { className: "p-2", children: reactTable.flexRender(
|
|
40
|
+
cell.column.columnDef.cell,
|
|
41
|
+
cell.getContext()
|
|
42
|
+
) }, cell.id)) }, row.id)) : /* @__PURE__ */ jsxRuntime.jsx(chunkKMJOTMUQ_cjs.TableRow, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
43
|
+
chunkKMJOTMUQ_cjs.TableCell,
|
|
44
|
+
{
|
|
45
|
+
colSpan: columns.length,
|
|
46
|
+
className: "h-16 text-center text-muted-foreground",
|
|
47
|
+
children: "No data"
|
|
48
|
+
}
|
|
49
|
+
) }) })
|
|
50
|
+
] }) })
|
|
51
|
+
] });
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
exports.ReadOnlyTable = ReadOnlyTable;
|
|
55
|
+
//# sourceMappingURL=chunk-QS6WG2XJ.cjs.map
|
|
56
|
+
//# sourceMappingURL=chunk-QS6WG2XJ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/widgets/ReadOnlyTable.tsx"],"names":["useMemo","useReactTable","getCoreRowModel","jsxs","jsx","Label","Table","TableHeader","TableRow","TableHead","flexRender","TableBody","TableCell"],"mappings":"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","file":"chunk-QS6WG2XJ.cjs","sourcesContent":["import React, { useMemo } from \"react\";\nimport {\n useReactTable,\n getCoreRowModel,\n flexRender,\n type ColumnDef,\n} from \"@tanstack/react-table\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"../shadcn/table\";\nimport { Label } from \"../shadcn/label\";\nimport type { BaseFieldDef } from \"../../core/types\";\n\ninterface TableColumn {\n id: string;\n label: string;\n}\n\ninterface TableData {\n columns: TableColumn[];\n rows: Record<string, string>[];\n}\n\ninterface ReadOnlyTableProps {\n fieldDef: BaseFieldDef;\n // Value may be the stored table data { columns, rows } or undefined\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: any;\n}\n\nexport const ReadOnlyTable: React.FC<ReadOnlyTableProps> = ({\n fieldDef,\n value,\n}) => {\n const tableData: TableData = useMemo(() => {\n if (\n value &&\n typeof value === \"object\" &&\n \"columns\" in value &&\n \"rows\" in value &&\n Array.isArray(value.columns) &&\n Array.isArray(value.rows)\n ) {\n return value as TableData;\n }\n return { columns: [], rows: [] };\n }, [value]);\n\n const columns = useMemo<ColumnDef<Record<string, string>>[]>(() => {\n return tableData.columns.map((col) => ({\n accessorKey: col.id,\n header: col.label,\n cell: (info: { getValue: () => unknown }) =>\n (info.getValue() as string) ?? \"\",\n }));\n }, [tableData.columns]);\n\n const table = useReactTable({\n data: tableData.rows,\n columns,\n getCoreRowModel: getCoreRowModel(),\n });\n\n return (\n <div className=\"space-y-2\">\n <Label>{fieldDef.label}</Label>\n {fieldDef.description && (\n <p className=\"text-sm text-muted-foreground\">{fieldDef.description}</p>\n )}\n\n <div className=\"rounded-md border\">\n <Table>\n <TableHeader>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead key={header.id}>\n {header.isPlaceholder\n ? null\n : flexRender(\n header.column.columnDef.header,\n header.getContext()\n )}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow key={row.id}>\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id} className=\"p-2\">\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext()\n )}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell\n colSpan={columns.length}\n className=\"h-16 text-center text-muted-foreground\"\n >\n No data\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkFHHISVCH_cjs = require('./chunk-FHHISVCH.cjs');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var lucideReact = require('lucide-react');
|
|
6
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
+
|
|
8
|
+
function getStatusBasedClass(status) {
|
|
9
|
+
switch ((status || "").toLowerCase()) {
|
|
10
|
+
case "high":
|
|
11
|
+
return "bg-red-100 text-red-500";
|
|
12
|
+
case "medium":
|
|
13
|
+
return "bg-yellow-100 text-yellow-600";
|
|
14
|
+
case "low":
|
|
15
|
+
return "bg-green-100 text-green-600";
|
|
16
|
+
default:
|
|
17
|
+
return "bg-gray-200 text-gray-600";
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function DiagnosisCard({ item, defaultOpen = false }) {
|
|
21
|
+
const [open, setOpen] = react.useState(defaultOpen);
|
|
22
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border border-gray-200 rounded-lg bg-[#F2F2F2] mb-2 last:mb-0 overflow-hidden", children: [
|
|
23
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
24
|
+
"button",
|
|
25
|
+
{
|
|
26
|
+
type: "button",
|
|
27
|
+
onClick: () => setOpen((o) => !o),
|
|
28
|
+
className: chunkFHHISVCH_cjs.cn(
|
|
29
|
+
"w-full text-left flex items-center gap-2 py-2 px-3 rounded-lg",
|
|
30
|
+
"cursor-pointer hover:bg-gray-200/60 transition-colors"
|
|
31
|
+
),
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
34
|
+
lucideReact.ChevronRight,
|
|
35
|
+
{
|
|
36
|
+
className: chunkFHHISVCH_cjs.cn("h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform", open && "rotate-90")
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
40
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs text-gray-500 font-medium", children: item.category.charAt(0).toUpperCase() + item.category.slice(1) }),
|
|
41
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-black font-semibold mt-0.5 leading-tight", children: item.condition })
|
|
42
|
+
] })
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
),
|
|
46
|
+
open && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-2 px-3 pb-3 pt-0 pl-9", children: [
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between text-xs font-semibold text-gray-500", children: [
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "LIKELIHOOD" }),
|
|
49
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "SEVERITY" }),
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { children: "TREATABILITY" })
|
|
51
|
+
] }),
|
|
52
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between gap-2", children: [
|
|
53
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkFHHISVCH_cjs.cn("px-2.5 py-0.5 rounded-full text-xs font-bold shrink-0", getStatusBasedClass(item.likelihood)), children: item.likelihood }),
|
|
54
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkFHHISVCH_cjs.cn("px-2.5 py-0.5 rounded-full text-xs font-bold shrink-0", getStatusBasedClass(item.severity)), children: item.severity }),
|
|
55
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkFHHISVCH_cjs.cn("px-2.5 py-0.5 rounded-full text-xs font-bold shrink-0", getStatusBasedClass(item.treatability)), children: item.treatability })
|
|
56
|
+
] }),
|
|
57
|
+
item.keyFeatures && item.keyFeatures.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-1", children: [
|
|
58
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-semibold text-gray-500 mb-0.5 uppercase tracking-wider", children: "Key Features" }),
|
|
59
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "list-disc pl-4 text-xs text-gray-700 space-y-0.5", children: item.keyFeatures.map((feature, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: feature }, i)) })
|
|
60
|
+
] }),
|
|
61
|
+
item.nextSteps && item.nextSteps.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "pt-1", children: [
|
|
62
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs font-semibold text-gray-500 mb-0.5 uppercase tracking-wider", children: "Next Steps" }),
|
|
63
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "list-disc pl-4 text-xs text-gray-700 space-y-0.5", children: item.nextSteps.map((step, i) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: step }, i)) })
|
|
64
|
+
] })
|
|
65
|
+
] })
|
|
66
|
+
] });
|
|
67
|
+
}
|
|
68
|
+
var DifferentialDiagnosis = ({
|
|
69
|
+
differentialDiagnosis,
|
|
70
|
+
className = "",
|
|
71
|
+
height = "300px"
|
|
72
|
+
}) => {
|
|
73
|
+
const hasItems = Array.isArray(differentialDiagnosis) && differentialDiagnosis.length > 0;
|
|
74
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
className: chunkFHHISVCH_cjs.cn(
|
|
78
|
+
"rounded-md overflow-hidden flex flex-col border border-[#D0D0D0]",
|
|
79
|
+
className
|
|
80
|
+
),
|
|
81
|
+
children: [
|
|
82
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-t-md bg-[#FEE8EC] px-3 py-1.5 text-xs shrink-0 z-[1] text-slate-600 flex items-center font-semibold", children: /* @__PURE__ */ jsxRuntime.jsx("span", { children: "Differential Diagnosis" }) }),
|
|
83
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
84
|
+
"div",
|
|
85
|
+
{
|
|
86
|
+
className: chunkFHHISVCH_cjs.cn(
|
|
87
|
+
"relative bg-white rounded-b-md border-t border-[#D0D0D0] overflow-y-auto p-3",
|
|
88
|
+
"focus-visible:outline-none"
|
|
89
|
+
),
|
|
90
|
+
style: { minHeight: height, maxHeight: height },
|
|
91
|
+
children: [
|
|
92
|
+
hasItems ? differentialDiagnosis.map((item, idx) => /* @__PURE__ */ jsxRuntime.jsx(DiagnosisCard, { item, defaultOpen: idx === 0 }, idx)) : /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs text-muted-foreground", children: "No differential diagnosis yet." }),
|
|
93
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-x-0 bottom-0 h-[30%] bg-gradient-to-t from-white via-white/80 to-transparent" })
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
)
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
);
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
exports.DifferentialDiagnosis = DifferentialDiagnosis;
|
|
103
|
+
//# sourceMappingURL=chunk-S7EMPE2D.cjs.map
|
|
104
|
+
//# sourceMappingURL=chunk-S7EMPE2D.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/widgets/DifferentialDiagnosis.tsx"],"names":["useState","jsxs","cn","jsx","ChevronRight"],"mappings":"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","file":"chunk-S7EMPE2D.cjs","sourcesContent":["import React, { useState } from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { cn } from '../../core/utils';\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport type DifferentialDiagnosisItem = {\n category: string;\n condition: string;\n likelihood: string;\n severity: string;\n treatability: string;\n keyFeatures?: string[];\n nextSteps?: string[];\n};\n\nexport type DifferentialDiagnosisProps = {\n differentialDiagnosis: DifferentialDiagnosisItem[];\n className?: string;\n height?: string;\n};\n\n// ─── Helpers ────────────────────────────────────────────────────────────────────\n\nfunction getStatusBasedClass(status: string): string {\n switch ((status || '').toLowerCase()) {\n case 'high':\n return 'bg-red-100 text-red-500';\n case 'medium':\n return 'bg-yellow-100 text-yellow-600';\n case 'low':\n return 'bg-green-100 text-green-600';\n default:\n return 'bg-gray-200 text-gray-600';\n }\n}\n\n// ─── Diagnosis card (accordion) ─────────────────────────────────────────────────\n\nfunction DiagnosisCard({ item, defaultOpen = false }: { item: DifferentialDiagnosisItem; defaultOpen?: boolean }) {\n const [open, setOpen] = useState(defaultOpen);\n\n return (\n <div className=\"border border-gray-200 rounded-lg bg-[#F2F2F2] mb-2 last:mb-0 overflow-hidden\">\n <button\n type=\"button\"\n onClick={() => setOpen((o) => !o)}\n className={cn(\n 'w-full text-left flex items-center gap-2 py-2 px-3 rounded-lg',\n 'cursor-pointer hover:bg-gray-200/60 transition-colors'\n )}\n >\n <ChevronRight\n className={cn('h-3.5 w-3.5 shrink-0 text-muted-foreground transition-transform', open && 'rotate-90')}\n />\n <div className=\"flex-1 min-w-0\">\n <div className=\"text-xs text-gray-500 font-medium\">\n {item.category.charAt(0).toUpperCase() + item.category.slice(1)}\n </div>\n <div className=\"text-sm text-black font-semibold mt-0.5 leading-tight\">{item.condition}</div>\n </div>\n </button>\n\n {open && (\n <div className=\"flex flex-col gap-2 px-3 pb-3 pt-0 pl-9\">\n <div className=\"flex justify-between text-xs font-semibold text-gray-500\">\n <span>LIKELIHOOD</span>\n <span>SEVERITY</span>\n <span>TREATABILITY</span>\n </div>\n <div className=\"flex justify-between gap-2\">\n <span className={cn('px-2.5 py-0.5 rounded-full text-xs font-bold shrink-0', getStatusBasedClass(item.likelihood))}>\n {item.likelihood}\n </span>\n <span className={cn('px-2.5 py-0.5 rounded-full text-xs font-bold shrink-0', getStatusBasedClass(item.severity))}>\n {item.severity}\n </span>\n <span className={cn('px-2.5 py-0.5 rounded-full text-xs font-bold shrink-0', getStatusBasedClass(item.treatability))}>\n {item.treatability}\n </span>\n </div>\n\n {item.keyFeatures && item.keyFeatures.length > 0 && (\n <div className=\"pt-1\">\n <div className=\"text-xs font-semibold text-gray-500 mb-0.5 uppercase tracking-wider\">Key Features</div>\n <ul className=\"list-disc pl-4 text-xs text-gray-700 space-y-0.5\">\n {item.keyFeatures.map((feature, i) => (\n <li key={i}>{feature}</li>\n ))}\n </ul>\n </div>\n )}\n\n {item.nextSteps && item.nextSteps.length > 0 && (\n <div className=\"pt-1\">\n <div className=\"text-xs font-semibold text-gray-500 mb-0.5 uppercase tracking-wider\">Next Steps</div>\n <ul className=\"list-disc pl-4 text-xs text-gray-700 space-y-0.5\">\n {item.nextSteps.map((step, i) => (\n <li key={i}>{step}</li>\n ))}\n </ul>\n </div>\n )}\n </div>\n )}\n </div>\n );\n}\n\n// ─── Main component ───────────────────────────────────────────────────────────\n\n/**\n * - Outer: rounded border [#D0D0D0], highlight label strip (#FEE8EC)\n * - Body: scrollable list of diagnosis cards with accordion expand/collapse\n */\nexport const DifferentialDiagnosis: React.FC<DifferentialDiagnosisProps> = ({\n differentialDiagnosis,\n className = '',\n height = '300px',\n}) => {\n const hasItems = Array.isArray(differentialDiagnosis) && differentialDiagnosis.length > 0;\n\n return (\n <div\n className={cn(\n 'rounded-md overflow-hidden flex flex-col border border-[#D0D0D0]',\n className\n )}\n >\n {/* Header: highlight-label style */}\n <div className=\"rounded-t-md bg-[#FEE8EC] px-3 py-1.5 text-xs shrink-0 z-[1] text-slate-600 flex items-center font-semibold\">\n <span>Differential Diagnosis</span>\n </div>\n\n {/* Body: scrollable list */}\n <div\n className={cn(\n 'relative bg-white rounded-b-md border-t border-[#D0D0D0] overflow-y-auto p-3',\n 'focus-visible:outline-none'\n )}\n style={{ minHeight: height, maxHeight: height }}\n >\n {hasItems ? (\n differentialDiagnosis.map((item, idx) => (\n <DiagnosisCard key={idx} item={item} defaultOpen={idx === 0} />\n ))\n ) : (\n <p className=\"text-xs text-muted-foreground\">No differential diagnosis yet.</p>\n )}\n\n {/* Progressive blur-style overlay at bottom (30% height) */}\n <div className=\"pointer-events-none absolute inset-x-0 bottom-0 h-[30%] bg-gradient-to-t from-white via-white/80 to-transparent\" />\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { cn } from './chunk-VPU66PI6.mjs';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import * as SliderPrimitive from '@radix-ui/react-slider';
|
|
4
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
var Slider = React.forwardRef(({ className, trackClassName, thumbClassName, ...props }, ref) => /* @__PURE__ */ jsxs(
|
|
7
|
+
SliderPrimitive.Root,
|
|
8
|
+
{
|
|
9
|
+
ref,
|
|
10
|
+
className: cn(
|
|
11
|
+
"relative flex w-full touch-none select-none items-center",
|
|
12
|
+
className
|
|
13
|
+
),
|
|
14
|
+
...props,
|
|
15
|
+
children: [
|
|
16
|
+
/* @__PURE__ */ jsx(
|
|
17
|
+
SliderPrimitive.Track,
|
|
18
|
+
{
|
|
19
|
+
className: cn(
|
|
20
|
+
"relative h-2 w-full grow overflow-hidden rounded-full bg-gray-200",
|
|
21
|
+
trackClassName
|
|
22
|
+
),
|
|
23
|
+
children: /* @__PURE__ */ jsx(SliderPrimitive.Range, { className: "absolute h-full bg-primary" })
|
|
24
|
+
}
|
|
25
|
+
),
|
|
26
|
+
/* @__PURE__ */ jsx(
|
|
27
|
+
SliderPrimitive.Thumb,
|
|
28
|
+
{
|
|
29
|
+
className: cn(
|
|
30
|
+
"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
31
|
+
thumbClassName
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
]
|
|
36
|
+
}
|
|
37
|
+
));
|
|
38
|
+
Slider.displayName = SliderPrimitive.Root.displayName;
|
|
39
|
+
|
|
40
|
+
export { Slider };
|
|
41
|
+
//# sourceMappingURL=chunk-SCMXLRX5.mjs.map
|
|
42
|
+
//# sourceMappingURL=chunk-SCMXLRX5.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ui/shadcn/slider.tsx"],"names":[],"mappings":";;;;;AAUA,IAAM,MAAA,GAAe,KAAA,CAAA,UAAA,CAGnB,CAAC,EAAE,SAAA,EAAW,gBAAgB,cAAA,EAAgB,GAAG,KAAA,EAAM,EAAG,GAAA,qBAC1D,IAAA;AAAA,EAAiB,eAAA,CAAA,IAAA;AAAA,EAAhB;AAAA,IACC,GAAA;AAAA,IACA,SAAA,EAAW,EAAA;AAAA,MACT,0DAAA;AAAA,MACA;AAAA,KACF;AAAA,IACC,GAAG,KAAA;AAAA,IAEJ,QAAA,EAAA;AAAA,sBAAA,GAAA;AAAA,QAAiB,eAAA,CAAA,KAAA;AAAA,QAAhB;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,mEAAA;AAAA,YACA;AAAA,WACF;AAAA,UAEA,QAAA,kBAAA,GAAA,CAAiB,eAAA,CAAA,KAAA,EAAhB,EAAsB,SAAA,EAAU,4BAAA,EAA6B;AAAA;AAAA,OAChE;AAAA,sBACA,GAAA;AAAA,QAAiB,eAAA,CAAA,KAAA;AAAA,QAAhB;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,gQAAA;AAAA,YACA;AAAA;AACF;AAAA;AACF;AAAA;AACF,CACD;AACD,MAAA,CAAO,cAA8B,eAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-SCMXLRX5.mjs","sourcesContent":["import * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\n\nimport { cn } from \"../../core/utils\"\n\ntype SliderProps = React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root> & {\n trackClassName?: string;\n thumbClassName?: string;\n};\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n SliderProps\n>(({ className, trackClassName, thumbClassName, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex w-full touch-none select-none items-center\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track\n className={cn(\n \"relative h-2 w-full grow overflow-hidden rounded-full bg-gray-200\",\n trackClassName\n )}\n >\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb\n className={cn(\n \"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n thumbClassName\n )}\n />\n </SliderPrimitive.Root>\n))\nSlider.displayName = SliderPrimitive.Root.displayName\n\nexport { Slider }\n\n"]}
|