formanitor 0.2.2 → 0.2.4

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 (118) hide show
  1. package/dist/BpeChartWidget-HATASHAC.mjs +7 -0
  2. package/dist/BpeChartWidget-HATASHAC.mjs.map +1 -0
  3. package/dist/BpeChartWidget-VZRH7M7L.cjs +28 -0
  4. package/dist/BpeChartWidget-VZRH7M7L.cjs.map +1 -0
  5. package/dist/{DateTimeWidget-3AUBZYYK.mjs → DateTimeWidget-KRX4O6OD.mjs} +5 -4
  6. package/dist/DateTimeWidget-KRX4O6OD.mjs.map +1 -0
  7. package/dist/{DateTimeWidget-OS7ER5F6.cjs → DateTimeWidget-RJ7SATVA.cjs} +6 -5
  8. package/dist/DateTimeWidget-RJ7SATVA.cjs.map +1 -0
  9. package/dist/{DateWidget-KCTE6N5G.mjs → DateWidget-JEKDKPNS.mjs} +4 -3
  10. package/dist/DateWidget-JEKDKPNS.mjs.map +1 -0
  11. package/dist/{DateWidget-UNLX544Z.cjs → DateWidget-T7IQUWEA.cjs} +8 -7
  12. package/dist/DateWidget-T7IQUWEA.cjs.map +1 -0
  13. package/dist/DentalChartWidget-LYLOFWZU.cjs +21 -0
  14. package/dist/DentalChartWidget-LYLOFWZU.cjs.map +1 -0
  15. package/dist/DentalChartWidget-P2YPKAMO.mjs +8 -0
  16. package/dist/DentalChartWidget-P2YPKAMO.mjs.map +1 -0
  17. package/dist/{EditableTable-VQ72UEFF.cjs → EditableTable-OW5LC6OC.cjs} +6 -5
  18. package/dist/EditableTable-OW5LC6OC.cjs.map +1 -0
  19. package/dist/{EditableTable-XFCPKSUY.mjs → EditableTable-VZ66IXYI.mjs} +5 -4
  20. package/dist/EditableTable-VZ66IXYI.mjs.map +1 -0
  21. package/dist/ExtraOralExamWidget-JVKJ4ZWC.mjs +438 -0
  22. package/dist/ExtraOralExamWidget-JVKJ4ZWC.mjs.map +1 -0
  23. package/dist/ExtraOralExamWidget-ZIOSKMIO.cjs +440 -0
  24. package/dist/ExtraOralExamWidget-ZIOSKMIO.cjs.map +1 -0
  25. package/dist/{FollowupWidget-MAYTHM2E.cjs → FollowupWidget-2STSJSDY.cjs} +8 -7
  26. package/dist/FollowupWidget-2STSJSDY.cjs.map +1 -0
  27. package/dist/{FollowupWidget-BFZ6P2JE.mjs → FollowupWidget-GCGPWZVY.mjs} +4 -3
  28. package/dist/FollowupWidget-GCGPWZVY.mjs.map +1 -0
  29. package/dist/{OBGPathwayWidget-X67XKRIH.mjs → OBGPathwayWidget-QJNWUIEM.mjs} +4 -3
  30. package/dist/OBGPathwayWidget-QJNWUIEM.mjs.map +1 -0
  31. package/dist/{OBGPathwayWidget-XGN3HEWS.cjs → OBGPathwayWidget-YRU36UL7.cjs} +13 -12
  32. package/dist/OBGPathwayWidget-YRU36UL7.cjs.map +1 -0
  33. package/dist/{ObstetricHistoryWidget-Z4VAXH3E.mjs → ObstetricHistoryWidget-EW6JLNQ7.mjs} +4 -3
  34. package/dist/ObstetricHistoryWidget-EW6JLNQ7.mjs.map +1 -0
  35. package/dist/{ObstetricHistoryWidget-RP7NY4PV.cjs → ObstetricHistoryWidget-OOWCVFRB.cjs} +10 -9
  36. package/dist/ObstetricHistoryWidget-OOWCVFRB.cjs.map +1 -0
  37. package/dist/PregnancyStatusWidget-QTTVFBOE.cjs +96 -0
  38. package/dist/PregnancyStatusWidget-QTTVFBOE.cjs.map +1 -0
  39. package/dist/PregnancyStatusWidget-U2BEJGBJ.mjs +94 -0
  40. package/dist/PregnancyStatusWidget-U2BEJGBJ.mjs.map +1 -0
  41. package/dist/{SuggestionTextareaWidget-DY6M5JPO.cjs → SuggestionTextareaWidget-FWRZ46MV.cjs} +5 -5
  42. package/dist/{SuggestionTextareaWidget-DY6M5JPO.cjs.map → SuggestionTextareaWidget-FWRZ46MV.cjs.map} +1 -1
  43. package/dist/{SuggestionTextareaWidget-GQTWCFBG.mjs → SuggestionTextareaWidget-UNL3FZRI.mjs} +3 -3
  44. package/dist/{SuggestionTextareaWidget-GQTWCFBG.mjs.map → SuggestionTextareaWidget-UNL3FZRI.mjs.map} +1 -1
  45. package/dist/TreatmentPlanWidget-665HLKYV.mjs +317 -0
  46. package/dist/TreatmentPlanWidget-665HLKYV.mjs.map +1 -0
  47. package/dist/TreatmentPlanWidget-TATWSPLY.cjs +319 -0
  48. package/dist/TreatmentPlanWidget-TATWSPLY.cjs.map +1 -0
  49. package/dist/{chunk-4PMNVBJD.mjs → chunk-2OMQV2ZB.mjs} +4 -3
  50. package/dist/chunk-2OMQV2ZB.mjs.map +1 -0
  51. package/dist/chunk-5RT3S67O.cjs +30 -0
  52. package/dist/chunk-5RT3S67O.cjs.map +1 -0
  53. package/dist/chunk-6YUVILN5.mjs +42 -0
  54. package/dist/chunk-6YUVILN5.mjs.map +1 -0
  55. package/dist/{chunk-YEFM2ERQ.cjs → chunk-7OQFO6TM.cjs} +8 -7
  56. package/dist/chunk-7OQFO6TM.cjs.map +1 -0
  57. package/dist/chunk-BBD3Y37O.cjs +220 -0
  58. package/dist/chunk-BBD3Y37O.cjs.map +1 -0
  59. package/dist/chunk-EJ7MKHER.mjs +45 -0
  60. package/dist/chunk-EJ7MKHER.mjs.map +1 -0
  61. package/dist/{chunk-XN2QLBLT.mjs → chunk-G6Y4UJPN.mjs} +5 -4
  62. package/dist/chunk-G6Y4UJPN.mjs.map +1 -0
  63. package/dist/{chunk-AZSAPO2V.cjs → chunk-HXY3IX3G.cjs} +3 -44
  64. package/dist/chunk-HXY3IX3G.cjs.map +1 -0
  65. package/dist/{chunk-BMNY7F6H.mjs → chunk-JM7WNDNT.mjs} +4 -21
  66. package/dist/chunk-JM7WNDNT.mjs.map +1 -0
  67. package/dist/chunk-MQHZ7HD2.mjs +215 -0
  68. package/dist/chunk-MQHZ7HD2.mjs.map +1 -0
  69. package/dist/{chunk-ML47UEDU.cjs → chunk-O4FSJPU3.cjs} +2 -27
  70. package/dist/chunk-O4FSJPU3.cjs.map +1 -0
  71. package/dist/chunk-Q66LXMRR.mjs +28 -0
  72. package/dist/chunk-Q66LXMRR.mjs.map +1 -0
  73. package/dist/chunk-RILRMRXB.cjs +50 -0
  74. package/dist/chunk-RILRMRXB.cjs.map +1 -0
  75. package/dist/chunk-SQ2KNAUD.cjs +64 -0
  76. package/dist/chunk-SQ2KNAUD.cjs.map +1 -0
  77. package/dist/{chunk-TVFUWRTE.cjs → chunk-TCQQUJCL.cjs} +5 -4
  78. package/dist/chunk-TCQQUJCL.cjs.map +1 -0
  79. package/dist/chunk-UKSP3B3W.mjs +600 -0
  80. package/dist/chunk-UKSP3B3W.mjs.map +1 -0
  81. package/dist/chunk-X4AJCTON.cjs +607 -0
  82. package/dist/chunk-X4AJCTON.cjs.map +1 -0
  83. package/dist/chunk-ZZX3IG2T.mjs +25 -0
  84. package/dist/chunk-ZZX3IG2T.mjs.map +1 -0
  85. package/dist/index.cjs +107 -47
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.d.cts +69 -3
  88. package/dist/index.d.ts +69 -3
  89. package/dist/index.mjs +73 -43
  90. package/dist/index.mjs.map +1 -1
  91. package/dist/read-only-table.d.cts +1 -1
  92. package/dist/read-only-table.d.ts +1 -1
  93. package/dist/smart.d.cts +1 -1
  94. package/dist/smart.d.ts +1 -1
  95. package/dist/{types-CYtJk8H9.d.ts → types-BbOnd5IN.d.cts} +53 -3
  96. package/dist/{types-CYtJk8H9.d.cts → types-BbOnd5IN.d.ts} +53 -3
  97. package/package.json +1 -1
  98. package/dist/DateTimeWidget-3AUBZYYK.mjs.map +0 -1
  99. package/dist/DateTimeWidget-OS7ER5F6.cjs.map +0 -1
  100. package/dist/DateWidget-KCTE6N5G.mjs.map +0 -1
  101. package/dist/DateWidget-UNLX544Z.cjs.map +0 -1
  102. package/dist/EditableTable-VQ72UEFF.cjs.map +0 -1
  103. package/dist/EditableTable-XFCPKSUY.mjs.map +0 -1
  104. package/dist/FollowupWidget-BFZ6P2JE.mjs.map +0 -1
  105. package/dist/FollowupWidget-MAYTHM2E.cjs.map +0 -1
  106. package/dist/OBGPathwayWidget-X67XKRIH.mjs.map +0 -1
  107. package/dist/OBGPathwayWidget-XGN3HEWS.cjs.map +0 -1
  108. package/dist/ObstetricHistoryWidget-RP7NY4PV.cjs.map +0 -1
  109. package/dist/ObstetricHistoryWidget-Z4VAXH3E.mjs.map +0 -1
  110. package/dist/chunk-4HDMR2LX.mjs +0 -69
  111. package/dist/chunk-4HDMR2LX.mjs.map +0 -1
  112. package/dist/chunk-4PMNVBJD.mjs.map +0 -1
  113. package/dist/chunk-AZSAPO2V.cjs.map +0 -1
  114. package/dist/chunk-BMNY7F6H.mjs.map +0 -1
  115. package/dist/chunk-ML47UEDU.cjs.map +0 -1
  116. package/dist/chunk-TVFUWRTE.cjs.map +0 -1
  117. package/dist/chunk-XN2QLBLT.mjs.map +0 -1
  118. package/dist/chunk-YEFM2ERQ.cjs.map +0 -1
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as FormValues, I as FormDef, K as FormState, F as FieldDef, aK as WorkflowTransition, ak as Rule, r as DoctorFrequentItems, o as DiagnosticPackage, B as BaseFieldDef, a1 as MedicationFrequentItem, V as InvestigationFrequentItem } from './types-CYtJk8H9.cjs';
2
- export { a as BiometryIolWorkupFieldDef, b as BiometryIolWorkupValue, c as BiometryMethod, C as CampDateOption, d as CampDateSelection, e as CampDatesFieldDef, f as CampTimeSlotOption, g as CampTimeSlotsFieldDef, h as CheckboxFieldDef, i as ColumnLayout, j as Computation, k as Condition, D as DataSource, l as DiagnosisGradeSelection, m as DiagnosisTextareaFieldDef, n as DiagnosisTextareaValue, p as DiagnosticPackageTest, q as DifferentialDiagnosisFieldDef, E as EditableTableColumnDef, s as EditableTableFieldDef, t as EventDefinition, u as ExtractedKeywordMatch, v as FieldPrefill, w as FieldState, x as FieldStyleClassNames, y as FieldStyleConfig, z as FieldType, A as FileUploadFieldDef, G as FollowupFieldDef, H as FollowupValue, J as FormErrors, M as FormulaComputation, N as FormulaExpr, O as FunctionalImpairmentDimension, P as FunctionalImpairmentScoreFieldDef, Q as FunctionalImpairmentScoreValue, R as GeneralSurgeryExaminationFieldDef, S as GeneralSurgeryGradingFieldDef, T as GeneralSurgerySmartHistoryFieldDef, U as ImageUploadFieldDef, W as InvestigationsFieldDef, X as LayoutNode, Y as LensAssessmentFieldDef, Z as LensAssessmentValue, _ as LocsGrades, $ as MatchedCondition, a0 as MediaUploadFieldDef, a2 as MedicationsFieldDef, a3 as MultiStepLayoutNode, a4 as MultiStepNode, a5 as NumberFieldDef, a6 as OBGExaminationFieldDef, a7 as OBGPathwayFieldDef, a8 as OtpInputFieldDef, a9 as OtpVerifiedValue, aa as PainScaleFlagsFieldDef, ab as Permission, ac as PhoneInputFieldDef, ad as ProcedureFrequentItem, ae as ProceduresFieldDef, af as RadioFieldDef, ag as ReferralFieldDef, ah as ReferralItem, ai as RepeatableFieldDef, aj as RichTextFieldDef, al as RuleAction, am as ScoreComputation, an as ScoreRange, ao as Section, ap as SectionChild, aq as SelectFieldDef, ar as SelectOption, as as SignatureFieldDef, at as SliderFieldDef, au as SmartTextareaFieldDef, av as SmartTextareaValue, aw as StaticTextFieldDef, ax as SuggestionTextareaFieldDef, ay as SumComputation, az as SurgicalRiskFlagsFieldDef, aA as SurgicalRiskFlagsValue, aB as TextFieldDef, aC as ToggleFieldDef, aD as UrologyExaminationFieldDef, aE as UrologyPathwayFieldDef, aF as UrologySmartHistoryFieldDef, aG as ValidationRule, aH as VitalsFieldDef, aI as WebhookDef, aJ as Workflow } from './types-CYtJk8H9.cjs';
1
+ import { O as FormValues, L as FormDef, N as FormState, F as FieldDef, aT as WorkflowTransition, ap as Rule, u as DoctorFrequentItems, r as DiagnosticPackage, B as BaseFieldDef, a4 as MedicationFrequentItem, Y as InvestigationFrequentItem, m as DentalChartData, aJ as ToothCondition } from './types-BbOnd5IN.cjs';
2
+ export { a as BiometryIolWorkupFieldDef, b as BiometryIolWorkupValue, c as BiometryMethod, d as BpeChartFieldDef, C as CampDateOption, e as CampDateSelection, f as CampDatesFieldDef, g as CampTimeSlotOption, h as CampTimeSlotsFieldDef, i as CheckboxFieldDef, j as ColumnLayout, k as Computation, l as Condition, D as DataSource, n as DentalChartFieldDef, o as DiagnosisGradeSelection, p as DiagnosisTextareaFieldDef, q as DiagnosisTextareaValue, s as DiagnosticPackageTest, t as DifferentialDiagnosisFieldDef, E as EditableTableColumnDef, v as EditableTableFieldDef, w as EventDefinition, x as ExtractedKeywordMatch, y as FieldPrefill, z as FieldState, A as FieldStyleClassNames, G as FieldStyleConfig, H as FieldType, I as FileUploadFieldDef, J as FollowupFieldDef, K as FollowupValue, M as FormErrors, P as FormulaComputation, Q as FormulaExpr, R as FunctionalImpairmentDimension, S as FunctionalImpairmentScoreFieldDef, T as FunctionalImpairmentScoreValue, U as GeneralSurgeryExaminationFieldDef, V as GeneralSurgeryGradingFieldDef, W as GeneralSurgerySmartHistoryFieldDef, X as ImageUploadFieldDef, Z as InvestigationsFieldDef, _ as LayoutNode, $ as LensAssessmentFieldDef, a0 as LensAssessmentValue, a1 as LocsGrades, a2 as MatchedCondition, a3 as MediaUploadFieldDef, a5 as MedicationsFieldDef, a6 as MultiStepLayoutNode, a7 as MultiStepNode, a8 as NumberFieldDef, a9 as OBGExaminationFieldDef, aa as OBGPathwayFieldDef, ab as OtpInputFieldDef, ac as OtpVerifiedValue, ad as PainScaleFlagsFieldDef, ae as Permission, af as PhoneInputFieldDef, ag as PregnancyStatusFieldDef, ah as PregnancyStatusValue, ai as ProcedureFrequentItem, aj as ProceduresFieldDef, ak as RadioFieldDef, al as ReferralFieldDef, am as ReferralItem, an as RepeatableFieldDef, ao as RichTextFieldDef, aq as RuleAction, ar as ScoreComputation, as as ScoreRange, at as Section, au as SectionChild, av as SelectFieldDef, aw as SelectOption, ax as SignatureFieldDef, ay as SliderFieldDef, az as SmartTextareaFieldDef, aA as SmartTextareaValue, aB as SocialHistoryFieldDef, aC as StaticTextFieldDef, aD as SuggestionTextareaFieldDef, aE as SumComputation, aF as SurgicalRiskFlagsFieldDef, aG as SurgicalRiskFlagsValue, aH as TextFieldDef, aI as ToggleFieldDef, aK as ToothEntry, aL as TreatmentPlanFieldDef, aM as UrologyExaminationFieldDef, aN as UrologyPathwayFieldDef, aO as UrologySmartHistoryFieldDef, aP as ValidationRule, aQ as VitalsFieldDef, aR as WebhookDef, aS as Workflow } from './types-BbOnd5IN.cjs';
3
3
  import React from 'react';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  export { r as richTextHtmlClassName } from './richTextClassName--8wkuHkW.cjs';
@@ -44,6 +44,8 @@ interface CampBookingConfig {
44
44
  * If omitted, all values except `campDateFieldId` and `slotFieldId` are included.
45
45
  */
46
46
  bookingFormDataFields?: string[];
47
+ /** Optional loyalty entitlement sent as `entitlement_id` in the booking payload. */
48
+ entitlementId?: number;
47
49
  }
48
50
  /**
49
51
  * Persistence provider that submits form values to the camp booking endpoint:
@@ -676,4 +678,68 @@ type DifferentialDiagnosisProps = {
676
678
  */
677
679
  declare const DifferentialDiagnosis: React.FC<DifferentialDiagnosisProps>;
678
680
 
679
- export { type AIDifferentialDiagnosisItem, AddInvestigationField, type AddInvestigationFieldProps, AddMedicationField, type AddMedicationFieldProps, BaseFieldDef, type CampBookingConfig, CampBookingPersistenceProvider, type CreateUploadHandlerOptions, DiagnosticPackage, DifferentialDiagnosis, type DifferentialDiagnosisItem, type DifferentialDiagnosisProps, DoctorFrequentItems, DynamicForm, DynamicFormV2, type DynamicFormV2Props, type DynamicFormV2SectionMode, EMAIL_REGEX, FieldDef, type FieldHandler, type FieldHandlersMap, FieldRenderer, FieldRequiredIndicator, FormControls, type FormControlsProps, FormDef, FormFileUploadWidget, FormProvider, FormState, FormStore, FormValues, ImageUploadWidget, type Investigation, InvestigationFrequentItem, type InvestigationSearchResult, MAR_MEDICATION_ORDERS_META_KEY, MediaUploadWidget, type Medication, MedicationFrequentItem, type MedicationSearchResult, MultiStepForm, type MultiStepFormProps, type PresignedUploadResponse, ReadOnlyForm, ReadOnlyImageUpload, ReadOnlyMediaUpload, ReadOnlySignature, Rule, type RuleResult, SignatureUploadWidget, SmartForm, type SmartFormProps, type StoreAuthConfig, type StoreCampsConfig, type StoreConfig, type SubmissionData, Upload, type UploadProps, WorkflowTransition, createUploadHandler, evaluateRules, fieldControlClass, fieldDescriptionClass, fieldErrorClass, fieldLabelClass, fieldMetaRequestsMarMedicationOrdersButton, fieldWrapperClass, isLabelVisible, useField, useFieldHandlers, useForm, useFormStore, useFrequentItems, usePackages, validateField, validateForm };
681
+ declare function DentalChartReadOnly({ data, className, }: {
682
+ data: DentalChartData;
683
+ className?: string;
684
+ }): react_jsx_runtime.JSX.Element;
685
+
686
+ declare const CONDITION_CONFIG: Record<ToothCondition, {
687
+ label: string;
688
+ color: string;
689
+ }>;
690
+ /** FDI quadrant tooth numbers, ordered from midline outward */
691
+ declare const QUADRANTS: {
692
+ upperRight: readonly [11, 12, 13, 14, 15, 16, 17, 18];
693
+ upperLeft: readonly [21, 22, 23, 24, 25, 26, 27, 28];
694
+ lowerLeft: readonly [31, 32, 33, 34, 35, 36, 37, 38];
695
+ lowerRight: readonly [41, 42, 43, 44, 45, 46, 47, 48];
696
+ };
697
+ declare function toothLabel(id: number): string;
698
+ /** Coerces an unknown value into a valid `DentalChartData` shape. */
699
+ declare function normalizeDentalChart(value: unknown): DentalChartData;
700
+
701
+ declare const BPE_SCORES: readonly ["0", "1", "2", "3", "4", "*"];
702
+ type BpeScore = (typeof BPE_SCORES)[number];
703
+ declare const SEXTANTS: readonly [{
704
+ readonly key: "upper_right";
705
+ readonly label: "UR";
706
+ readonly arch: "upper";
707
+ readonly teeth: "17–14";
708
+ }, {
709
+ readonly key: "upper_anterior";
710
+ readonly label: "UA";
711
+ readonly arch: "upper";
712
+ readonly teeth: "13–23";
713
+ }, {
714
+ readonly key: "upper_left";
715
+ readonly label: "UL";
716
+ readonly arch: "upper";
717
+ readonly teeth: "24–27";
718
+ }, {
719
+ readonly key: "lower_right";
720
+ readonly label: "LR";
721
+ readonly arch: "lower";
722
+ readonly teeth: "44–47";
723
+ }, {
724
+ readonly key: "lower_anterior";
725
+ readonly label: "LA";
726
+ readonly arch: "lower";
727
+ readonly teeth: "33–43";
728
+ }, {
729
+ readonly key: "lower_left";
730
+ readonly label: "LL";
731
+ readonly arch: "lower";
732
+ readonly teeth: "34–37";
733
+ }];
734
+ type SextantKey = (typeof SEXTANTS)[number]['key'];
735
+ type BpeChartData = {
736
+ scores: Partial<Record<SextantKey, BpeScore>>;
737
+ bleeding: Partial<Record<SextantKey, boolean>>;
738
+ };
739
+ declare function BpeChartReadOnly({ data: rawData, label, className, }: {
740
+ data: unknown;
741
+ label?: string;
742
+ className?: string;
743
+ }): react_jsx_runtime.JSX.Element;
744
+
745
+ export { type AIDifferentialDiagnosisItem, AddInvestigationField, type AddInvestigationFieldProps, AddMedicationField, type AddMedicationFieldProps, BPE_SCORES, BaseFieldDef, type BpeChartData, BpeChartReadOnly, type BpeScore, type CampBookingConfig, CampBookingPersistenceProvider, type CreateUploadHandlerOptions, CONDITION_CONFIG as DENTAL_CONDITION_CONFIG, QUADRANTS as DENTAL_QUADRANTS, DentalChartData, DentalChartReadOnly, DiagnosticPackage, DifferentialDiagnosis, type DifferentialDiagnosisItem, type DifferentialDiagnosisProps, DoctorFrequentItems, DynamicForm, DynamicFormV2, type DynamicFormV2Props, type DynamicFormV2SectionMode, EMAIL_REGEX, FieldDef, type FieldHandler, type FieldHandlersMap, FieldRenderer, FieldRequiredIndicator, FormControls, type FormControlsProps, FormDef, FormFileUploadWidget, FormProvider, FormState, FormStore, FormValues, ImageUploadWidget, type Investigation, InvestigationFrequentItem, type InvestigationSearchResult, MAR_MEDICATION_ORDERS_META_KEY, MediaUploadWidget, type Medication, MedicationFrequentItem, type MedicationSearchResult, MultiStepForm, type MultiStepFormProps, type PresignedUploadResponse, ReadOnlyForm, ReadOnlyImageUpload, ReadOnlyMediaUpload, ReadOnlySignature, Rule, type RuleResult, SEXTANTS, type SextantKey, SignatureUploadWidget, SmartForm, type SmartFormProps, type StoreAuthConfig, type StoreCampsConfig, type StoreConfig, type SubmissionData, ToothCondition, Upload, type UploadProps, WorkflowTransition, createUploadHandler, evaluateRules, fieldControlClass, fieldDescriptionClass, fieldErrorClass, fieldLabelClass, fieldMetaRequestsMarMedicationOrdersButton, fieldWrapperClass, isLabelVisible, normalizeDentalChart, toothLabel, useField, useFieldHandlers, useForm, useFormStore, useFrequentItems, usePackages, validateField, validateForm };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { L as FormValues, I as FormDef, K as FormState, F as FieldDef, aK as WorkflowTransition, ak as Rule, r as DoctorFrequentItems, o as DiagnosticPackage, B as BaseFieldDef, a1 as MedicationFrequentItem, V as InvestigationFrequentItem } from './types-CYtJk8H9.js';
2
- export { a as BiometryIolWorkupFieldDef, b as BiometryIolWorkupValue, c as BiometryMethod, C as CampDateOption, d as CampDateSelection, e as CampDatesFieldDef, f as CampTimeSlotOption, g as CampTimeSlotsFieldDef, h as CheckboxFieldDef, i as ColumnLayout, j as Computation, k as Condition, D as DataSource, l as DiagnosisGradeSelection, m as DiagnosisTextareaFieldDef, n as DiagnosisTextareaValue, p as DiagnosticPackageTest, q as DifferentialDiagnosisFieldDef, E as EditableTableColumnDef, s as EditableTableFieldDef, t as EventDefinition, u as ExtractedKeywordMatch, v as FieldPrefill, w as FieldState, x as FieldStyleClassNames, y as FieldStyleConfig, z as FieldType, A as FileUploadFieldDef, G as FollowupFieldDef, H as FollowupValue, J as FormErrors, M as FormulaComputation, N as FormulaExpr, O as FunctionalImpairmentDimension, P as FunctionalImpairmentScoreFieldDef, Q as FunctionalImpairmentScoreValue, R as GeneralSurgeryExaminationFieldDef, S as GeneralSurgeryGradingFieldDef, T as GeneralSurgerySmartHistoryFieldDef, U as ImageUploadFieldDef, W as InvestigationsFieldDef, X as LayoutNode, Y as LensAssessmentFieldDef, Z as LensAssessmentValue, _ as LocsGrades, $ as MatchedCondition, a0 as MediaUploadFieldDef, a2 as MedicationsFieldDef, a3 as MultiStepLayoutNode, a4 as MultiStepNode, a5 as NumberFieldDef, a6 as OBGExaminationFieldDef, a7 as OBGPathwayFieldDef, a8 as OtpInputFieldDef, a9 as OtpVerifiedValue, aa as PainScaleFlagsFieldDef, ab as Permission, ac as PhoneInputFieldDef, ad as ProcedureFrequentItem, ae as ProceduresFieldDef, af as RadioFieldDef, ag as ReferralFieldDef, ah as ReferralItem, ai as RepeatableFieldDef, aj as RichTextFieldDef, al as RuleAction, am as ScoreComputation, an as ScoreRange, ao as Section, ap as SectionChild, aq as SelectFieldDef, ar as SelectOption, as as SignatureFieldDef, at as SliderFieldDef, au as SmartTextareaFieldDef, av as SmartTextareaValue, aw as StaticTextFieldDef, ax as SuggestionTextareaFieldDef, ay as SumComputation, az as SurgicalRiskFlagsFieldDef, aA as SurgicalRiskFlagsValue, aB as TextFieldDef, aC as ToggleFieldDef, aD as UrologyExaminationFieldDef, aE as UrologyPathwayFieldDef, aF as UrologySmartHistoryFieldDef, aG as ValidationRule, aH as VitalsFieldDef, aI as WebhookDef, aJ as Workflow } from './types-CYtJk8H9.js';
1
+ import { O as FormValues, L as FormDef, N as FormState, F as FieldDef, aT as WorkflowTransition, ap as Rule, u as DoctorFrequentItems, r as DiagnosticPackage, B as BaseFieldDef, a4 as MedicationFrequentItem, Y as InvestigationFrequentItem, m as DentalChartData, aJ as ToothCondition } from './types-BbOnd5IN.js';
2
+ export { a as BiometryIolWorkupFieldDef, b as BiometryIolWorkupValue, c as BiometryMethod, d as BpeChartFieldDef, C as CampDateOption, e as CampDateSelection, f as CampDatesFieldDef, g as CampTimeSlotOption, h as CampTimeSlotsFieldDef, i as CheckboxFieldDef, j as ColumnLayout, k as Computation, l as Condition, D as DataSource, n as DentalChartFieldDef, o as DiagnosisGradeSelection, p as DiagnosisTextareaFieldDef, q as DiagnosisTextareaValue, s as DiagnosticPackageTest, t as DifferentialDiagnosisFieldDef, E as EditableTableColumnDef, v as EditableTableFieldDef, w as EventDefinition, x as ExtractedKeywordMatch, y as FieldPrefill, z as FieldState, A as FieldStyleClassNames, G as FieldStyleConfig, H as FieldType, I as FileUploadFieldDef, J as FollowupFieldDef, K as FollowupValue, M as FormErrors, P as FormulaComputation, Q as FormulaExpr, R as FunctionalImpairmentDimension, S as FunctionalImpairmentScoreFieldDef, T as FunctionalImpairmentScoreValue, U as GeneralSurgeryExaminationFieldDef, V as GeneralSurgeryGradingFieldDef, W as GeneralSurgerySmartHistoryFieldDef, X as ImageUploadFieldDef, Z as InvestigationsFieldDef, _ as LayoutNode, $ as LensAssessmentFieldDef, a0 as LensAssessmentValue, a1 as LocsGrades, a2 as MatchedCondition, a3 as MediaUploadFieldDef, a5 as MedicationsFieldDef, a6 as MultiStepLayoutNode, a7 as MultiStepNode, a8 as NumberFieldDef, a9 as OBGExaminationFieldDef, aa as OBGPathwayFieldDef, ab as OtpInputFieldDef, ac as OtpVerifiedValue, ad as PainScaleFlagsFieldDef, ae as Permission, af as PhoneInputFieldDef, ag as PregnancyStatusFieldDef, ah as PregnancyStatusValue, ai as ProcedureFrequentItem, aj as ProceduresFieldDef, ak as RadioFieldDef, al as ReferralFieldDef, am as ReferralItem, an as RepeatableFieldDef, ao as RichTextFieldDef, aq as RuleAction, ar as ScoreComputation, as as ScoreRange, at as Section, au as SectionChild, av as SelectFieldDef, aw as SelectOption, ax as SignatureFieldDef, ay as SliderFieldDef, az as SmartTextareaFieldDef, aA as SmartTextareaValue, aB as SocialHistoryFieldDef, aC as StaticTextFieldDef, aD as SuggestionTextareaFieldDef, aE as SumComputation, aF as SurgicalRiskFlagsFieldDef, aG as SurgicalRiskFlagsValue, aH as TextFieldDef, aI as ToggleFieldDef, aK as ToothEntry, aL as TreatmentPlanFieldDef, aM as UrologyExaminationFieldDef, aN as UrologyPathwayFieldDef, aO as UrologySmartHistoryFieldDef, aP as ValidationRule, aQ as VitalsFieldDef, aR as WebhookDef, aS as Workflow } from './types-BbOnd5IN.js';
3
3
  import React from 'react';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  export { r as richTextHtmlClassName } from './richTextClassName--8wkuHkW.js';
@@ -44,6 +44,8 @@ interface CampBookingConfig {
44
44
  * If omitted, all values except `campDateFieldId` and `slotFieldId` are included.
45
45
  */
46
46
  bookingFormDataFields?: string[];
47
+ /** Optional loyalty entitlement sent as `entitlement_id` in the booking payload. */
48
+ entitlementId?: number;
47
49
  }
48
50
  /**
49
51
  * Persistence provider that submits form values to the camp booking endpoint:
@@ -676,4 +678,68 @@ type DifferentialDiagnosisProps = {
676
678
  */
677
679
  declare const DifferentialDiagnosis: React.FC<DifferentialDiagnosisProps>;
678
680
 
679
- export { type AIDifferentialDiagnosisItem, AddInvestigationField, type AddInvestigationFieldProps, AddMedicationField, type AddMedicationFieldProps, BaseFieldDef, type CampBookingConfig, CampBookingPersistenceProvider, type CreateUploadHandlerOptions, DiagnosticPackage, DifferentialDiagnosis, type DifferentialDiagnosisItem, type DifferentialDiagnosisProps, DoctorFrequentItems, DynamicForm, DynamicFormV2, type DynamicFormV2Props, type DynamicFormV2SectionMode, EMAIL_REGEX, FieldDef, type FieldHandler, type FieldHandlersMap, FieldRenderer, FieldRequiredIndicator, FormControls, type FormControlsProps, FormDef, FormFileUploadWidget, FormProvider, FormState, FormStore, FormValues, ImageUploadWidget, type Investigation, InvestigationFrequentItem, type InvestigationSearchResult, MAR_MEDICATION_ORDERS_META_KEY, MediaUploadWidget, type Medication, MedicationFrequentItem, type MedicationSearchResult, MultiStepForm, type MultiStepFormProps, type PresignedUploadResponse, ReadOnlyForm, ReadOnlyImageUpload, ReadOnlyMediaUpload, ReadOnlySignature, Rule, type RuleResult, SignatureUploadWidget, SmartForm, type SmartFormProps, type StoreAuthConfig, type StoreCampsConfig, type StoreConfig, type SubmissionData, Upload, type UploadProps, WorkflowTransition, createUploadHandler, evaluateRules, fieldControlClass, fieldDescriptionClass, fieldErrorClass, fieldLabelClass, fieldMetaRequestsMarMedicationOrdersButton, fieldWrapperClass, isLabelVisible, useField, useFieldHandlers, useForm, useFormStore, useFrequentItems, usePackages, validateField, validateForm };
681
+ declare function DentalChartReadOnly({ data, className, }: {
682
+ data: DentalChartData;
683
+ className?: string;
684
+ }): react_jsx_runtime.JSX.Element;
685
+
686
+ declare const CONDITION_CONFIG: Record<ToothCondition, {
687
+ label: string;
688
+ color: string;
689
+ }>;
690
+ /** FDI quadrant tooth numbers, ordered from midline outward */
691
+ declare const QUADRANTS: {
692
+ upperRight: readonly [11, 12, 13, 14, 15, 16, 17, 18];
693
+ upperLeft: readonly [21, 22, 23, 24, 25, 26, 27, 28];
694
+ lowerLeft: readonly [31, 32, 33, 34, 35, 36, 37, 38];
695
+ lowerRight: readonly [41, 42, 43, 44, 45, 46, 47, 48];
696
+ };
697
+ declare function toothLabel(id: number): string;
698
+ /** Coerces an unknown value into a valid `DentalChartData` shape. */
699
+ declare function normalizeDentalChart(value: unknown): DentalChartData;
700
+
701
+ declare const BPE_SCORES: readonly ["0", "1", "2", "3", "4", "*"];
702
+ type BpeScore = (typeof BPE_SCORES)[number];
703
+ declare const SEXTANTS: readonly [{
704
+ readonly key: "upper_right";
705
+ readonly label: "UR";
706
+ readonly arch: "upper";
707
+ readonly teeth: "17–14";
708
+ }, {
709
+ readonly key: "upper_anterior";
710
+ readonly label: "UA";
711
+ readonly arch: "upper";
712
+ readonly teeth: "13–23";
713
+ }, {
714
+ readonly key: "upper_left";
715
+ readonly label: "UL";
716
+ readonly arch: "upper";
717
+ readonly teeth: "24–27";
718
+ }, {
719
+ readonly key: "lower_right";
720
+ readonly label: "LR";
721
+ readonly arch: "lower";
722
+ readonly teeth: "44–47";
723
+ }, {
724
+ readonly key: "lower_anterior";
725
+ readonly label: "LA";
726
+ readonly arch: "lower";
727
+ readonly teeth: "33–43";
728
+ }, {
729
+ readonly key: "lower_left";
730
+ readonly label: "LL";
731
+ readonly arch: "lower";
732
+ readonly teeth: "34–37";
733
+ }];
734
+ type SextantKey = (typeof SEXTANTS)[number]['key'];
735
+ type BpeChartData = {
736
+ scores: Partial<Record<SextantKey, BpeScore>>;
737
+ bleeding: Partial<Record<SextantKey, boolean>>;
738
+ };
739
+ declare function BpeChartReadOnly({ data: rawData, label, className, }: {
740
+ data: unknown;
741
+ label?: string;
742
+ className?: string;
743
+ }): react_jsx_runtime.JSX.Element;
744
+
745
+ export { type AIDifferentialDiagnosisItem, AddInvestigationField, type AddInvestigationFieldProps, AddMedicationField, type AddMedicationFieldProps, BPE_SCORES, BaseFieldDef, type BpeChartData, BpeChartReadOnly, type BpeScore, type CampBookingConfig, CampBookingPersistenceProvider, type CreateUploadHandlerOptions, CONDITION_CONFIG as DENTAL_CONDITION_CONFIG, QUADRANTS as DENTAL_QUADRANTS, DentalChartData, DentalChartReadOnly, DiagnosticPackage, DifferentialDiagnosis, type DifferentialDiagnosisItem, type DifferentialDiagnosisProps, DoctorFrequentItems, DynamicForm, DynamicFormV2, type DynamicFormV2Props, type DynamicFormV2SectionMode, EMAIL_REGEX, FieldDef, type FieldHandler, type FieldHandlersMap, FieldRenderer, FieldRequiredIndicator, FormControls, type FormControlsProps, FormDef, FormFileUploadWidget, FormProvider, FormState, FormStore, FormValues, ImageUploadWidget, type Investigation, InvestigationFrequentItem, type InvestigationSearchResult, MAR_MEDICATION_ORDERS_META_KEY, MediaUploadWidget, type Medication, MedicationFrequentItem, type MedicationSearchResult, MultiStepForm, type MultiStepFormProps, type PresignedUploadResponse, ReadOnlyForm, ReadOnlyImageUpload, ReadOnlyMediaUpload, ReadOnlySignature, Rule, type RuleResult, SEXTANTS, type SextantKey, SignatureUploadWidget, SmartForm, type SmartFormProps, type StoreAuthConfig, type StoreCampsConfig, type StoreConfig, type SubmissionData, ToothCondition, Upload, type UploadProps, WorkflowTransition, createUploadHandler, evaluateRules, fieldControlClass, fieldDescriptionClass, fieldErrorClass, fieldLabelClass, fieldMetaRequestsMarMedicationOrdersButton, fieldWrapperClass, isLabelVisible, normalizeDentalChart, toothLabel, useField, useFieldHandlers, useForm, useFormStore, useFrequentItems, usePackages, validateField, validateForm };
package/dist/index.mjs CHANGED
@@ -1,4 +1,9 @@
1
- import { SelectWidget, TextWidget } from './chunk-XN2QLBLT.mjs';
1
+ import { Switch } from './chunk-6YUVILN5.mjs';
2
+ import { BpeChartReadOnly } from './chunk-MQHZ7HD2.mjs';
3
+ export { BPE_SCORES, BpeChartReadOnly, SEXTANTS } from './chunk-MQHZ7HD2.mjs';
4
+ import { normalizeDentalChart, DentalChartReadOnly } from './chunk-UKSP3B3W.mjs';
5
+ export { CONDITION_CONFIG as DENTAL_CONDITION_CONFIG, QUADRANTS as DENTAL_QUADRANTS, DentalChartReadOnly, normalizeDentalChart, toothLabel } from './chunk-UKSP3B3W.mjs';
6
+ import { TextWidget, SelectWidget } from './chunk-G6Y4UJPN.mjs';
2
7
  import { parseFunctionalImpairmentScore, functionalImpairmentTotal } from './chunk-LQYWMYEC.mjs';
3
8
  import { normalizeObgPathway } from './chunk-IKAKE7TR.mjs';
4
9
  import { Checkbox } from './chunk-GNZWSVTB.mjs';
@@ -20,6 +25,7 @@ import { useForm } from './chunk-T3UHPMFX.mjs';
20
25
  export { useForm } from './chunk-T3UHPMFX.mjs';
21
26
  import { Table, TableHeader, TableRow, TableHead, TableBody, TableCell } from './chunk-UULLSS4O.mjs';
22
27
  import { Input } from './chunk-VNFBUAZD.mjs';
28
+ import './chunk-ZZX3IG2T.mjs';
23
29
  import './chunk-AZHTIUOL.mjs';
24
30
  import { Button } from './chunk-GXXWMHAA.mjs';
25
31
  import { useField, useFormStore, parseCampDateValue, normalizeGeneralSurgerySmartHistory, normalizeUrologySmartHistory, normalizePainScaleFlags, campDateSelectionFromOption, MOCK_CAMP_TIME_SLOTS, MOCK_CAMP_DATES } from './chunk-2BGJZ44Q.mjs';
@@ -46,6 +52,7 @@ var CampBookingPersistenceProvider = class {
46
52
  baseUrl,
47
53
  authToken,
48
54
  patientId,
55
+ entitlementId,
49
56
  campDateFieldId = "camp_date",
50
57
  slotFieldId = "camp_time_slot",
51
58
  bookingFormDataFields
@@ -72,7 +79,8 @@ var CampBookingPersistenceProvider = class {
72
79
  primary_slot_id: primarySlotId,
73
80
  patient_id: patientId,
74
81
  booking_form_data: bookingFormData,
75
- idempotency_key: idempotencyKey
82
+ idempotency_key: idempotencyKey,
83
+ ...entitlementId != null ? { entitlement_id: entitlementId } : {}
76
84
  };
77
85
  const headers = { "Content-Type": "application/json" };
78
86
  if (authToken) headers["Authorization"] = `Bearer ${authToken}`;
@@ -2161,47 +2169,13 @@ var CampTimeSlotsWidget = ({ fieldId }) => {
2161
2169
  showError ? /* @__PURE__ */ jsx("p", { className: fieldErrorClass(fieldDef, "text-xs text-red-500"), children: error }) : null
2162
2170
  ] });
2163
2171
  };
2164
- var Switch = React6.forwardRef(
2165
- ({ className, checked, onCheckedChange, disabled, ...props }, ref) => {
2166
- return /* @__PURE__ */ jsx(
2167
- "button",
2168
- {
2169
- type: "button",
2170
- role: "switch",
2171
- "aria-checked": checked,
2172
- "data-state": checked ? "checked" : "unchecked",
2173
- disabled,
2174
- ref,
2175
- onClick: () => {
2176
- if (!disabled && onCheckedChange) {
2177
- onCheckedChange(!checked);
2178
- }
2179
- },
2180
- className: cn(
2181
- "peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
2182
- className
2183
- ),
2184
- ...props,
2185
- children: /* @__PURE__ */ jsx(
2186
- "span",
2187
- {
2188
- "data-state": checked ? "checked" : "unchecked",
2189
- className: "pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform",
2190
- style: { transform: checked ? "translateX(1rem)" : "translateX(0)" }
2191
- }
2192
- )
2193
- }
2194
- );
2195
- }
2196
- );
2197
- Switch.displayName = "Switch";
2198
2172
  function lazyNamed(loader, name) {
2199
2173
  return React6__default.lazy(async () => ({ default: (await loader())[name] }));
2200
2174
  }
2201
2175
  var RichTextWidget = lazyNamed(() => import('./RichTextWidget-ZBX554ZJ.mjs'), "RichTextWidget");
2202
- var DateWidget = lazyNamed(() => import('./DateWidget-KCTE6N5G.mjs'), "DateWidget");
2203
- var DateTimeWidget = lazyNamed(() => import('./DateTimeWidget-3AUBZYYK.mjs'), "DateTimeWidget");
2204
- var EditableTableWidget = lazyNamed(() => import('./EditableTable-XFCPKSUY.mjs'), "EditableTableWidget");
2176
+ var DateWidget = lazyNamed(() => import('./DateWidget-JEKDKPNS.mjs'), "DateWidget");
2177
+ var DateTimeWidget = lazyNamed(() => import('./DateTimeWidget-KRX4O6OD.mjs'), "DateTimeWidget");
2178
+ var EditableTableWidget = lazyNamed(() => import('./EditableTable-VZ66IXYI.mjs'), "EditableTableWidget");
2205
2179
  var AddMedicationWidget = lazyNamed(() => import('./AddMedicationWidget-B5RXRYBK.mjs'), "AddMedicationWidget");
2206
2180
  var DischargeMedicationOrdersWidget = lazyNamed(() => import('./DischargeMedicationOrdersWidget-KA3HANHE.mjs'), "DischargeMedicationOrdersWidget");
2207
2181
  var AddInvestigationWidget = lazyNamed(() => import('./AddInvestigationWidget-FABXZDEZ.mjs'), "AddInvestigationWidget");
@@ -2210,15 +2184,15 @@ var DifferentialDiagnosisWidget = lazyNamed(() => import('./DifferentialDiagnosi
2210
2184
  var VitalsWidget = lazyNamed(() => import('./VitalsWidget-63HTXK2M.mjs'), "VitalsWidget");
2211
2185
  var HiddenVitalsWidget = lazyNamed(() => import('./HiddenVitalsWidget-CIE3KERT.mjs'), "HiddenVitalsWidget");
2212
2186
  var ReferralWidget = lazyNamed(() => import('./ReferralWidget-GU3JYED2.mjs'), "ReferralWidget");
2213
- var FollowupWidget = lazyNamed(() => import('./FollowupWidget-BFZ6P2JE.mjs'), "FollowupWidget");
2187
+ var FollowupWidget = lazyNamed(() => import('./FollowupWidget-GCGPWZVY.mjs'), "FollowupWidget");
2214
2188
  var SmartTextareaWidget = lazyNamed(() => import('./SmartTextarea-LQDXFCYT.mjs'), "SmartTextareaWidget");
2215
2189
  var DiagnosisTextareaWidget = lazyNamed(() => import('./DiagnosisTextareaWidget-6UCYCCSB.mjs'), "DiagnosisTextareaWidget");
2216
- var ObstetricHistoryWidget = lazyNamed(() => import('./ObstetricHistoryWidget-Z4VAXH3E.mjs'), "ObstetricHistoryWidget");
2190
+ var ObstetricHistoryWidget = lazyNamed(() => import('./ObstetricHistoryWidget-EW6JLNQ7.mjs'), "ObstetricHistoryWidget");
2217
2191
  var OphthalmologyWidget = lazyNamed(() => import('./OphthalmologyWidget-27ZN2E3F.mjs'), "OphthalmologyWidget");
2218
2192
  var OphthalDiagnosisWidget = lazyNamed(() => import('./OphthalDiagnosisWidget-MZYBQTFV.mjs'), "OphthalDiagnosisWidget");
2219
2193
  var OrthopedicExamWidget = lazyNamed(() => import('./OrthopedicExamWidget-WM55M3Y4.mjs'), "OrthopedicExamWidget");
2220
2194
  var MarMedicationOrdersWidget = lazyNamed(() => import('./MarMedicationOrdersWidget-LG3WOXN7.mjs'), "MarMedicationOrdersWidget");
2221
- var SuggestionTextareaWidget = lazyNamed(() => import('./SuggestionTextareaWidget-GQTWCFBG.mjs'), "SuggestionTextareaWidget");
2195
+ var SuggestionTextareaWidget = lazyNamed(() => import('./SuggestionTextareaWidget-UNL3FZRI.mjs'), "SuggestionTextareaWidget");
2222
2196
  var LensAssessmentWidget = lazyNamed(() => import('./LensAssessmentWidget-B4OMHTOE.mjs'), "LensAssessmentWidget");
2223
2197
  var FunctionalImpairmentScoreWidget = lazyNamed(() => import('./FunctionalImpairmentScoreWidget-TKS6KE7K.mjs'), "FunctionalImpairmentScoreWidget");
2224
2198
  var BiometryIolWorkupWidget = lazyNamed(() => import('./BiometryIolWorkupWidget-5RZP34FF.mjs'), "BiometryIolWorkupWidget");
@@ -2231,7 +2205,12 @@ var UrologySmartHistoryWidget = lazyNamed(() => import('./UrologySmartHistoryWid
2231
2205
  var UrologyExaminationWidget = lazyNamed(() => import('./UrologyExaminationWidget-GRBL2SDG.mjs'), "UrologyExaminationWidget");
2232
2206
  var UrologyPathwayWidget = lazyNamed(() => import('./UrologyPathwayWidget-PEO5BVQX.mjs'), "UrologyPathwayWidget");
2233
2207
  var OBGExaminationWidget = lazyNamed(() => import('./OBGExaminationWidget-HQKTHSOZ.mjs'), "OBGExaminationWidget");
2234
- var OBGPathwayWidget = lazyNamed(() => import('./OBGPathwayWidget-X67XKRIH.mjs'), "OBGPathwayWidget");
2208
+ var OBGPathwayWidget = lazyNamed(() => import('./OBGPathwayWidget-QJNWUIEM.mjs'), "OBGPathwayWidget");
2209
+ var DentalChartWidget = lazyNamed(() => import('./DentalChartWidget-P2YPKAMO.mjs'), "DentalChartWidget");
2210
+ var TreatmentPlanWidget = lazyNamed(() => import('./TreatmentPlanWidget-665HLKYV.mjs'), "TreatmentPlanWidget");
2211
+ var PregnancyStatusWidget = lazyNamed(() => import('./PregnancyStatusWidget-U2BEJGBJ.mjs'), "PregnancyStatusWidget");
2212
+ var BpeChartWidget = lazyNamed(() => import('./BpeChartWidget-HATASHAC.mjs'), "BpeChartWidget");
2213
+ var ExtraOralExamWidget = lazyNamed(() => import('./ExtraOralExamWidget-JVKJ4ZWC.mjs'), "ExtraOralExamWidget");
2235
2214
  function lazyWidget(node) {
2236
2215
  return /* @__PURE__ */ jsx(React6__default.Suspense, { fallback: null, children: node });
2237
2216
  }
@@ -2328,6 +2307,18 @@ function renderWidget(fieldId, fieldDef) {
2328
2307
  return lazyWidget(/* @__PURE__ */ jsx(OBGExaminationWidget, { fieldId }));
2329
2308
  case "obg_pathway":
2330
2309
  return lazyWidget(/* @__PURE__ */ jsx(OBGPathwayWidget, { fieldId }));
2310
+ case "dental_chart":
2311
+ return lazyWidget(/* @__PURE__ */ jsx(DentalChartWidget, { fieldId }));
2312
+ case "bpe_chart":
2313
+ return lazyWidget(/* @__PURE__ */ jsx(BpeChartWidget, { fieldId }));
2314
+ case "extra_oral_exam":
2315
+ return lazyWidget(/* @__PURE__ */ jsx(ExtraOralExamWidget, { fieldId }));
2316
+ case "social_history":
2317
+ return /* @__PURE__ */ jsx(TextWidget, { fieldId });
2318
+ case "treatment_plan":
2319
+ return lazyWidget(/* @__PURE__ */ jsx(TreatmentPlanWidget, { fieldId }));
2320
+ case "pregnancy_status":
2321
+ return lazyWidget(/* @__PURE__ */ jsx(PregnancyStatusWidget, { fieldId }));
2331
2322
  case "phone_input":
2332
2323
  return /* @__PURE__ */ jsx(PhoneInputWidget, { fieldId });
2333
2324
  case "otp_input":
@@ -3614,6 +3605,45 @@ var ReadOnlyFieldRenderer = ({
3614
3605
  ] }) : null
3615
3606
  ] });
3616
3607
  }
3608
+ case "bpe_chart":
3609
+ return /* @__PURE__ */ jsx(
3610
+ BpeChartReadOnly,
3611
+ {
3612
+ data: value && typeof value === "object" && !Array.isArray(value) ? value : {},
3613
+ label: fieldDef.label
3614
+ }
3615
+ );
3616
+ case "social_history":
3617
+ return /* @__PURE__ */ jsx(ReadOnlyText, { fieldDef, value });
3618
+ case "treatment_plan": {
3619
+ const items = Array.isArray(value) ? value.filter((v) => typeof v === "string") : typeof value === "string" && value ? [value] : [];
3620
+ return /* @__PURE__ */ jsx(
3621
+ ReadOnlyText,
3622
+ {
3623
+ fieldDef,
3624
+ value: items.length > 0 ? items.join(", ") : "\u2014"
3625
+ }
3626
+ );
3627
+ }
3628
+ case "pregnancy_status": {
3629
+ const ps = value && typeof value === "object" && !Array.isArray(value) ? value : { is_pregnant: false, is_breastfeeding: false };
3630
+ const parts = [];
3631
+ if (ps.is_pregnant) parts.push("Pregnant");
3632
+ if (ps.is_breastfeeding) parts.push("Breastfeeding");
3633
+ return /* @__PURE__ */ jsx(
3634
+ ReadOnlyText,
3635
+ {
3636
+ fieldDef,
3637
+ value: parts.length > 0 ? parts.join(", ") : "No"
3638
+ }
3639
+ );
3640
+ }
3641
+ case "dental_chart": {
3642
+ const safe = normalizeDentalChart(value);
3643
+ const hasFindings = Object.keys(safe.teeth).length > 0;
3644
+ if (!hasFindings) return /* @__PURE__ */ jsx(ReadOnlyText, { fieldDef, value: "No dental findings recorded" });
3645
+ return /* @__PURE__ */ jsx(DentalChartReadOnly, { data: safe });
3646
+ }
3617
3647
  case "static_text": {
3618
3648
  const def = fieldDef;
3619
3649
  const size = def.size ?? "regular";