@f1studio/form-spec 5.0.0-alpha.107 → 5.0.0-alpha.108
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/FormSpec.FS/Components/HelloComponent.d.ts.map +1 -0
- package/FormSpec.FS/Designer.d.ts.map +1 -0
- package/FormSpec.FS/FormSpec.d.ts.map +1 -0
- package/FormSpec.FS/FormSpecHelpers.d.ts.map +1 -0
- package/FormSpec.FS/FormSpecValues.d.ts.map +1 -0
- package/FormSpec.FS/Helpers.d.ts.map +1 -0
- package/FormSpec.FS/Interfaces.d.ts.map +1 -0
- package/FormSpec.FS/Interop/FormSpec.Api.Helpers.d.ts.map +1 -0
- package/FormSpec.FS/Interop/FormSpec.Api.Option.d.ts.map +1 -0
- package/FormSpec.FS/Interop/FormSpec.Values.Api.Option.d.ts.map +1 -0
- package/FormSpec.FS/Logging/LogTypes.d.ts.map +1 -0
- package/FormSpec.FS/Migrator.d.ts.map +1 -0
- package/FormSpec.FS/PathwayDataExtractor.d.ts.map +1 -0
- package/FormSpec.FS/PathwayExecutor.d.ts.map +1 -0
- package/FormSpec.FS/PathwayValidator.d.ts.map +1 -0
- package/FormSpec.FS/PluginInterface.d.ts.map +1 -0
- package/FormSpec.FS/Prelude.d.ts.map +1 -0
- package/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.d.ts.map +1 -0
- package/FormSpec.FS/Renderers/MermaidRenderer.d.ts.map +1 -0
- package/FormSpec.FS/Renderers/PathwayRenderers.d.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Components/HelloComponent.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Components/HelloComponent.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Designer.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Designer.ts.map +1 -0
- package/FormSpec.TS/{FormSpec.js.map → FormSpec.FS/FormSpec.js.map} +1 -1
- package/FormSpec.TS/{FormSpec.ts.map → FormSpec.FS/FormSpec.ts.map} +1 -1
- package/FormSpec.TS/{FormSpecHelpers.js → FormSpec.FS/FormSpecHelpers.js} +1 -1
- package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/FormSpecValues.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/FormSpecValues.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Helpers.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Helpers.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Interfaces.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Interfaces.ts.map +1 -0
- package/FormSpec.TS/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Helpers.js +2 -2
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.ts.map +1 -0
- package/FormSpec.TS/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Option.js +2 -2
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.ts.map +1 -0
- package/FormSpec.TS/{Interop → FormSpec.FS/Interop}/FormSpec.Values.Api.Option.js +2 -2
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Values.Api.Option.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Values.Api.Option.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Logging/LogTypes.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Logging/LogTypes.ts.map +1 -0
- package/FormSpec.TS/{Migrator.js → FormSpec.FS/Migrator.js} +1 -1
- package/FormSpec.TS/FormSpec.FS/Migrator.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Migrator.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/PathwayDataExtractor.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/PathwayDataExtractor.ts.map +1 -0
- package/FormSpec.TS/{PathwayExecutor.js → FormSpec.FS/PathwayExecutor.js} +1 -1
- package/FormSpec.TS/FormSpec.FS/PathwayExecutor.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/PathwayExecutor.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/PathwayValidator.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/PathwayValidator.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/PluginInterface.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/PluginInterface.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Prelude.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Prelude.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Renderers/MermaidRenderer.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Renderers/MermaidRenderer.ts.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Renderers/PathwayRenderers.js.map +1 -0
- package/FormSpec.TS/FormSpec.FS/Renderers/PathwayRenderers.ts.map +1 -0
- package/FormSpec.TS/PathwayExecutor.withPlugins.js +28 -0
- package/FormSpec.TS/PathwayExecutor.withPlugins.js.map +1 -0
- package/FormSpec.TS/PluginRegistration.js +18 -0
- package/FormSpec.TS/PluginRegistration.js.map +1 -0
- package/FormSpec.TS/PluginRegistration.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs +47 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js +93 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs +49 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js +127 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs +52 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js +105 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs +54 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js +105 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs +48 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js +83 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Fable.Form.Simple.Bulma.fableproj +53 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs +132 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js +276 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs +537 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js +263 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs +361 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js +576 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs +52 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js +73 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs +246 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js +226 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs +52 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js +116 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs +56 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js +95 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs +46 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js +77 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs +51 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js +103 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs +49 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js +87 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs +60 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js +69 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs +79 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js +134 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs +44 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js +77 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs +49 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js +87 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs +59 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js +87 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs +44 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js +77 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs +143 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js +154 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs +36 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js +76 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs +49 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js +88 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs +67 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js +121 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs +70 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js +121 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs +76 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js +91 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/Fable.Form.Simple.Fields.Html.fableproj +45 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs +105 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js +161 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs +66 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js +110 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs +72 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js +108 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs +102 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js +157 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs +83 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js +164 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs +83 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js +119 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs +63 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js +110 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs +83 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js +164 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs +92 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js +149 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs +108 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js +161 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Colors.fs.js.map +1 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/DateParsing.fs +52 -0
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0/Interop.fs.js → Feliz.2.8.0/DateParsing.fs.js} +27 -37
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/DateParsing.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/DateParsing.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Feliz.fableproj +14 -3
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs +11 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs.js +25 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs +176 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs.js +179 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Interop.fs +29 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Interop.fs.js +19 -0
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Interop.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Key.fs.js.map +1 -1
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Length.fs +55 -1
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Properties.fs +5 -0
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Properties.fs.js.map +1 -1
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/React.fs +77 -239
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactDOM.fs.js.map +1 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/ReactInterop.fs +20 -0
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactInterop.js.map +1 -1
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactTypes.fs +3 -2
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactTypes.fs.js.map +1 -1
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/StyleTypes.fs +4 -0
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/StyleTypes.fs.js.map +1 -1
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Styles.fs +646 -8
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Svg.fs.js.map +1 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/TransitionTimingFunction.fs +62 -0
- package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Types.fs.js.map +1 -1
- package/FormSpec.TS/fable_modules/Feliz.2.8.0/Types.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Bulma.fs +990 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs +179 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.js +51 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Feliz.Bulma.fableproj +32 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs +1986 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.js +27 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs +7 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.js +31 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/PropertyBuilders.fs +8 -0
- package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Exports.fs +14 -0
- package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Glutinum.Feliz.ReactSignaturePadWrapper.fableproj +18 -0
- package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Interop.fs +6 -0
- package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/ReactSignaturePadWrapper.fs +32 -0
- package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs +3 -0
- package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js +7 -0
- package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js.map +1 -0
- package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.ts.map +1 -0
- package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.js.map +1 -1
- package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.ts.map +1 -1
- package/FormSpec.TS/fable_modules/project_cracked.json +1 -1
- package/FormSpec.TS/plugins/bmi/src/BMIField.js +823 -0
- package/FormSpec.TS/plugins/bmi/src/BMIField.js.map +1 -0
- package/FormSpec.TS/plugins/bmi/src/BMIField.ts.map +1 -0
- package/FormSpec.TS/plugins/likert/src/LikertField.js +638 -0
- package/FormSpec.TS/plugins/likert/src/LikertField.js.map +1 -0
- package/FormSpec.TS/plugins/likert/src/LikertField.ts.map +1 -0
- package/FormSpec.TS/plugins/signature/src/SignatureField.js +294 -0
- package/FormSpec.TS/plugins/signature/src/SignatureField.js.map +1 -0
- package/FormSpec.TS/plugins/signature/src/SignatureField.ts.map +1 -0
- package/FormSpec.TS/plugins/vitals/src/VitalsField.js +1150 -0
- package/FormSpec.TS/plugins/vitals/src/VitalsField.js.map +1 -0
- package/FormSpec.TS/plugins/vitals/src/VitalsField.ts.map +1 -0
- package/PathwayExecutor.withPlugins.d.ts +11 -0
- package/PathwayExecutor.withPlugins.d.ts.map +1 -0
- package/PluginRegistration.d.ts +2 -0
- package/PluginRegistration.d.ts.map +1 -0
- package/README.md +7 -7
- package/fable_modules/Fable.Form.3.0.0/Base.fs.d.ts +147 -0
- package/fable_modules/Fable.Form.3.0.0/Base.fs.d.ts.map +1 -0
- package/fable_modules/Fable.Form.3.0.0/Error.fs.d.ts +19 -0
- package/fable_modules/Fable.Form.3.0.0/Error.fs.d.ts.map +1 -0
- package/fable_modules/Fable.Form.3.0.0/Extensions.fs.d.ts +14 -0
- package/fable_modules/Fable.Form.3.0.0/Extensions.fs.d.ts.map +1 -0
- package/fable_modules/Fable.Form.3.0.0/Field.fs.d.ts +14 -0
- package/fable_modules/Fable.Form.3.0.0/Field.fs.d.ts.map +1 -0
- package/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.d.ts +113 -0
- package/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.d.ts.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.d.ts +17 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.d.ts.map +1 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.d.ts +41 -0
- package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.d.ts.map +1 -0
- package/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.d.ts +73 -0
- package/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.d.ts.map +1 -0
- package/fable_modules/Feliz.2.8.0/Colors.fs.d.ts +9 -0
- package/fable_modules/Feliz.2.8.0/Colors.fs.d.ts.map +1 -0
- package/fable_modules/Feliz.2.8.0/Interop.fs.d.ts +3 -0
- package/fable_modules/Feliz.2.8.0/Interop.fs.d.ts.map +1 -0
- package/fable_modules/Feliz.2.8.0/ReactInterop.d.ts +6 -0
- package/fable_modules/Feliz.2.8.0/ReactInterop.d.ts.map +1 -0
- package/fable_modules/Feliz.2.8.0/ReactTypes.fs.d.ts +36 -0
- package/fable_modules/Feliz.2.8.0/ReactTypes.fs.d.ts.map +1 -0
- package/fable_modules/Feliz.2.8.0/Types.fs.d.ts +7 -0
- package/fable_modules/Feliz.2.8.0/Types.fs.d.ts.map +1 -0
- package/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.d.ts +5 -0
- package/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.d.ts.map +1 -0
- package/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.d.ts +3 -0
- package/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.d.ts.map +1 -0
- package/package.json +15 -15
- package/plugins/bmi/src/BMIField.d.ts +52 -0
- package/plugins/bmi/src/BMIField.d.ts.map +1 -0
- package/plugins/likert/src/LikertField.d.ts +60 -0
- package/plugins/likert/src/LikertField.d.ts.map +1 -0
- package/plugins/signature/src/SignatureField.d.ts +34 -0
- package/plugins/signature/src/SignatureField.d.ts.map +1 -0
- package/plugins/vitals/src/VitalsField.d.ts +82 -0
- package/plugins/vitals/src/VitalsField.d.ts.map +1 -0
- package/src/{FormSpecHelpers.ts → FormSpec.FS/FormSpecHelpers.ts} +1 -1
- package/src/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Helpers.ts +4 -4
- package/src/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Option.ts +2 -2
- package/src/{Interop → FormSpec.FS/Interop}/FormSpec.Values.Api.Option.ts +2 -2
- package/src/{Migrator.ts → FormSpec.FS/Migrator.ts} +1 -1
- package/src/{PathwayExecutor.ts → FormSpec.FS/PathwayExecutor.ts} +1 -1
- package/src/PathwayExecutor.withPlugins.ts +10 -0
- package/src/PluginRegistration.ts +16 -0
- package/src/plugins/bmi/src/BMIField.ts +494 -0
- package/src/plugins/likert/src/LikertField.ts +420 -0
- package/src/plugins/signature/src/SignatureField.ts +185 -0
- package/src/plugins/vitals/src/VitalsField.ts +665 -0
- package/Components/HelloComponent.d.ts.map +0 -1
- package/Designer.d.ts.map +0 -1
- package/FormSpec.TS/Components/HelloComponent.js.map +0 -1
- package/FormSpec.TS/Components/HelloComponent.ts.map +0 -1
- package/FormSpec.TS/Designer.js.map +0 -1
- package/FormSpec.TS/Designer.ts.map +0 -1
- package/FormSpec.TS/FormSpecHelpers.js.map +0 -1
- package/FormSpec.TS/FormSpecHelpers.ts.map +0 -1
- package/FormSpec.TS/FormSpecValues.js.map +0 -1
- package/FormSpec.TS/FormSpecValues.ts.map +0 -1
- package/FormSpec.TS/Helpers.js.map +0 -1
- package/FormSpec.TS/Helpers.ts.map +0 -1
- package/FormSpec.TS/Interfaces.js.map +0 -1
- package/FormSpec.TS/Interfaces.ts.map +0 -1
- package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js.map +0 -1
- package/FormSpec.TS/Interop/FormSpec.Api.Helpers.ts.map +0 -1
- package/FormSpec.TS/Interop/FormSpec.Api.Option.js.map +0 -1
- package/FormSpec.TS/Interop/FormSpec.Api.Option.ts.map +0 -1
- package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js.map +0 -1
- package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.ts.map +0 -1
- package/FormSpec.TS/Logging/LogTypes.js.map +0 -1
- package/FormSpec.TS/Logging/LogTypes.ts.map +0 -1
- package/FormSpec.TS/Migrator.js.map +0 -1
- package/FormSpec.TS/Migrator.ts.map +0 -1
- package/FormSpec.TS/PathwayDataExtractor.js.map +0 -1
- package/FormSpec.TS/PathwayDataExtractor.ts.map +0 -1
- package/FormSpec.TS/PathwayExecutor.js.map +0 -1
- package/FormSpec.TS/PathwayExecutor.ts.map +0 -1
- package/FormSpec.TS/PathwayValidator.js.map +0 -1
- package/FormSpec.TS/PathwayValidator.ts.map +0 -1
- package/FormSpec.TS/PluginInterface.js.map +0 -1
- package/FormSpec.TS/PluginInterface.ts.map +0 -1
- package/FormSpec.TS/Prelude.js.map +0 -1
- package/FormSpec.TS/Prelude.ts.map +0 -1
- package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.js.map +0 -1
- package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.ts.map +0 -1
- package/FormSpec.TS/Renderers/MermaidRenderer.js.map +0 -1
- package/FormSpec.TS/Renderers/MermaidRenderer.ts.map +0 -1
- package/FormSpec.TS/Renderers/PathwayRenderers.js.map +0 -1
- package/FormSpec.TS/Renderers/PathwayRenderers.ts.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs +0 -83
- package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.ts.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.js +0 -561
- package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.js.map +0 -1
- package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.ts.map +0 -1
- package/FormSpec.d.ts.map +0 -1
- package/FormSpecHelpers.d.ts.map +0 -1
- package/FormSpecValues.d.ts.map +0 -1
- package/Helpers.d.ts.map +0 -1
- package/Interfaces.d.ts.map +0 -1
- package/Interop/FormSpec.Api.Helpers.d.ts.map +0 -1
- package/Interop/FormSpec.Api.Option.d.ts.map +0 -1
- package/Interop/FormSpec.Values.Api.Option.d.ts.map +0 -1
- package/Logging/LogTypes.d.ts.map +0 -1
- package/Migrator.d.ts.map +0 -1
- package/PathwayDataExtractor.d.ts.map +0 -1
- package/PathwayExecutor.d.ts.map +0 -1
- package/PathwayValidator.d.ts.map +0 -1
- package/PluginInterface.d.ts.map +0 -1
- package/Prelude.d.ts.map +0 -1
- package/Renderers/FormSpecMarkdownRenderer.d.ts.map +0 -1
- package/Renderers/MermaidRenderer.d.ts.map +0 -1
- package/Renderers/PathwayRenderers.d.ts.map +0 -1
- /package/{Components → FormSpec.FS/Components}/HelloComponent.d.ts +0 -0
- /package/{Designer.d.ts → FormSpec.FS/Designer.d.ts} +0 -0
- /package/{FormSpec.d.ts → FormSpec.FS/FormSpec.d.ts} +0 -0
- /package/{FormSpecHelpers.d.ts → FormSpec.FS/FormSpecHelpers.d.ts} +0 -0
- /package/{FormSpecValues.d.ts → FormSpec.FS/FormSpecValues.d.ts} +0 -0
- /package/{Helpers.d.ts → FormSpec.FS/Helpers.d.ts} +0 -0
- /package/{Interfaces.d.ts → FormSpec.FS/Interfaces.d.ts} +0 -0
- /package/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Helpers.d.ts +0 -0
- /package/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Option.d.ts +0 -0
- /package/{Interop → FormSpec.FS/Interop}/FormSpec.Values.Api.Option.d.ts +0 -0
- /package/{Logging → FormSpec.FS/Logging}/LogTypes.d.ts +0 -0
- /package/{Migrator.d.ts → FormSpec.FS/Migrator.d.ts} +0 -0
- /package/{PathwayDataExtractor.d.ts → FormSpec.FS/PathwayDataExtractor.d.ts} +0 -0
- /package/{PathwayExecutor.d.ts → FormSpec.FS/PathwayExecutor.d.ts} +0 -0
- /package/{PathwayValidator.d.ts → FormSpec.FS/PathwayValidator.d.ts} +0 -0
- /package/{PluginInterface.d.ts → FormSpec.FS/PluginInterface.d.ts} +0 -0
- /package/{Prelude.d.ts → FormSpec.FS/Prelude.d.ts} +0 -0
- /package/{Renderers → FormSpec.FS/Renderers}/FormSpecMarkdownRenderer.d.ts +0 -0
- /package/{Renderers → FormSpec.FS/Renderers}/MermaidRenderer.d.ts +0 -0
- /package/{Renderers → FormSpec.FS/Renderers}/PathwayRenderers.d.ts +0 -0
- /package/FormSpec.TS/{Components → FormSpec.FS/Components}/HelloComponent.js +0 -0
- /package/FormSpec.TS/{Designer.js → FormSpec.FS/Designer.js} +0 -0
- /package/FormSpec.TS/{FormSpec.js → FormSpec.FS/FormSpec.js} +0 -0
- /package/FormSpec.TS/{FormSpecValues.js → FormSpec.FS/FormSpecValues.js} +0 -0
- /package/FormSpec.TS/{Helpers.js → FormSpec.FS/Helpers.js} +0 -0
- /package/FormSpec.TS/{Interfaces.js → FormSpec.FS/Interfaces.js} +0 -0
- /package/FormSpec.TS/{Logging → FormSpec.FS/Logging}/LogTypes.js +0 -0
- /package/FormSpec.TS/{PathwayDataExtractor.js → FormSpec.FS/PathwayDataExtractor.js} +0 -0
- /package/FormSpec.TS/{PathwayValidator.js → FormSpec.FS/PathwayValidator.js} +0 -0
- /package/FormSpec.TS/{PluginInterface.js → FormSpec.FS/PluginInterface.js} +0 -0
- /package/FormSpec.TS/{Prelude.js → FormSpec.FS/Prelude.js} +0 -0
- /package/FormSpec.TS/{Renderers → FormSpec.FS/Renderers}/FormSpecMarkdownRenderer.js +0 -0
- /package/FormSpec.TS/{Renderers → FormSpec.FS/Renderers}/MermaidRenderer.js +0 -0
- /package/FormSpec.TS/{Renderers → FormSpec.FS/Renderers}/PathwayRenderers.js +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/BorderStyle.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Colors.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Colors.fs.js +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Colors.fs.ts.map +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Fonts.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/GridTypes.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Html.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0/ReactTypes.fs.ts.map → Feliz.2.8.0/Interop.fs.ts.map} +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Key.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Key.fs.js +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Key.fs.ts.map +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Locale.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Properties.fs.js +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Properties.fs.ts.map +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactDOM.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactDOM.fs.js +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactDOM.fs.ts.map +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactInterop.js +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactTypes.fs.js +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0/StyleTypes.fs.ts.map → Feliz.2.8.0/ReactTypes.fs.ts.map} +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/StyleTypes.fs.js +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0/Svg.fs.ts.map → Feliz.2.8.0/StyleTypes.fs.ts.map} +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Svg.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Svg.fs.js +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0/Types.fs.ts.map → Feliz.2.8.0/Svg.fs.ts.map} +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/TextDecorationLine.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/TextDecorationStyle.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Transform.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/TransformOrigin.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/TransitionProperty.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Types.fs +0 -0
- /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Types.fs.js +0 -0
- /package/src/{Components → FormSpec.FS/Components}/HelloComponent.ts +0 -0
- /package/src/{Designer.ts → FormSpec.FS/Designer.ts} +0 -0
- /package/src/{FormSpec.ts → FormSpec.FS/FormSpec.ts} +0 -0
- /package/src/{FormSpecValues.ts → FormSpec.FS/FormSpecValues.ts} +0 -0
- /package/src/{Helpers.ts → FormSpec.FS/Helpers.ts} +0 -0
- /package/src/{Interfaces.ts → FormSpec.FS/Interfaces.ts} +0 -0
- /package/src/{Logging → FormSpec.FS/Logging}/LogTypes.ts +0 -0
- /package/src/{PathwayDataExtractor.ts → FormSpec.FS/PathwayDataExtractor.ts} +0 -0
- /package/src/{PathwayValidator.ts → FormSpec.FS/PathwayValidator.ts} +0 -0
- /package/src/{PluginInterface.ts → FormSpec.FS/PluginInterface.ts} +0 -0
- /package/src/{Prelude.ts → FormSpec.FS/Prelude.ts} +0 -0
- /package/src/{Renderers → FormSpec.FS/Renderers}/FormSpecMarkdownRenderer.ts +0 -0
- /package/src/{Renderers → FormSpec.FS/Renderers}/MermaidRenderer.ts +0 -0
- /package/src/{Renderers → FormSpec.FS/Renderers}/PathwayRenderers.ts +0 -0
|
@@ -12,7 +12,7 @@ import { map as map_2, setItem, iterateIndexed, fill } from "@fable-org/fable-li
|
|
|
12
12
|
import { getBytesInt32 } from "@fable-org/fable-library-js/BitConverter.js";
|
|
13
13
|
import { arrayToGuid } from "@fable-org/fable-library-js/Guid.js";
|
|
14
14
|
import { printf, toText, isNullOrEmpty, isNullOrWhiteSpace, join } from "@fable-org/fable-library-js/String.js";
|
|
15
|
-
import { Auto_generateBoxedEncoder_437914C6, toString } from "
|
|
15
|
+
import { Auto_generateBoxedEncoder_437914C6, toString } from "../fable_modules/Thoth.Json.10.4.1/Encode.fs.js";
|
|
16
16
|
import { tryParse } from "@fable-org/fable-library-js/Double.js";
|
|
17
17
|
import { create, isMatch } from "@fable-org/fable-library-js/RegExp.js";
|
|
18
18
|
import { PluginValueRegistry_tryGet, IPluginValueConverter } from "./PluginInterface.js";
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PathwayExecutor entry point - loads plugin registration before re-exporting.
|
|
3
|
+
* Ensures PluginPropertyCondition works (Vitals, BMI, etc.) when using pathway execution.
|
|
4
|
+
*
|
|
5
|
+
* PROOF-OF-CONCEPT: This bundles Vitals + BMI plugins for immediate use.
|
|
6
|
+
* FUTURE: Plugins will be separate npm packages; developers install and register them.
|
|
7
|
+
* See docs/PLUGINS-FUTURE-PROOFING.md for migration path.
|
|
8
|
+
*/
|
|
9
|
+
import "./PluginRegistration.js";
|
|
10
|
+
export * from "./FormSpec.FS/PathwayExecutor.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { PluginValueRegistry_register } from "./FormSpec.FS/PluginInterface.js";
|
|
2
|
+
import { Form_enhancedVitalsConverter, Form_pluginConfig } from "./plugins/vitals/src/VitalsField.js";
|
|
3
|
+
import { Form_enhancedBMIConverter, Form_pluginConfig as Form_pluginConfig_1 } from "./plugins/bmi/src/BMIField.js";
|
|
4
|
+
import { Form_likertConverter, Form_pluginConfig as Form_pluginConfig_2 } from "./plugins/likert/src/LikertField.js";
|
|
5
|
+
import { Form_signatureConverter, Form_pluginConfig as Form_pluginConfig_3 } from "./plugins/signature/src/SignatureField.js";
|
|
6
|
+
|
|
7
|
+
function registerAllPlugins(): void {
|
|
8
|
+
PluginValueRegistry_register(Form_pluginConfig.PluginId, Form_enhancedVitalsConverter);
|
|
9
|
+
PluginValueRegistry_register(Form_pluginConfig_1.PluginId, Form_enhancedBMIConverter);
|
|
10
|
+
PluginValueRegistry_register(Form_pluginConfig_2.PluginId, Form_likertConverter);
|
|
11
|
+
PluginValueRegistry_register(Form_pluginConfig_3.PluginId, Form_signatureConverter);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
registerAllPlugins();
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=PluginRegistration.ts.map
|
|
@@ -0,0 +1,494 @@
|
|
|
1
|
+
import { FSharpRef, Record } from "@fable-org/fable-library-js/Types.js";
|
|
2
|
+
import { int32, float64 } from "@fable-org/fable-library-js/Int32.js";
|
|
3
|
+
import { some, bind, defaultArg, map, value as value_97, Option } from "@fable-org/fable-library-js/Option.js";
|
|
4
|
+
import { equals, createObj, IComparable, IEquatable } from "@fable-org/fable-library-js/Util.js";
|
|
5
|
+
import { class_type, record_type, string_type, option_type, float64_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
|
|
6
|
+
import { mapValues, Field$3, IAttributes } from "../../../fable_modules/Fable.Form.3.0.0/Field.fs.js";
|
|
7
|
+
import { Form$3, FieldConfig$4, field as field_1 } from "../../../fable_modules/Fable.Form.3.0.0/Base.fs.js";
|
|
8
|
+
import { join, interpolate, toText, split, isNullOrWhiteSpace, isNullOrEmpty } from "@fable-org/fable-library-js/String.js";
|
|
9
|
+
import { tryParse, parse } from "@fable-org/fable-library-js/Double.js";
|
|
10
|
+
import { item } from "@fable-org/fable-library-js/Array.js";
|
|
11
|
+
import { createElement } from "react";
|
|
12
|
+
import React from "react";
|
|
13
|
+
import { reactApi } from "../../../fable_modules/Feliz.2.8.0/Interop.fs.js";
|
|
14
|
+
import { withLabelAndError } from "../../../fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js";
|
|
15
|
+
import { empty, singleton, append, delay, toList } from "@fable-org/fable-library-js/Seq.js";
|
|
16
|
+
import { Helpers_combineClasses } from "../../../fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.js";
|
|
17
|
+
import { empty as empty_1, tryFind, FSharpList, ofArray, cons, singleton as singleton_1 } from "@fable-org/fable-library-js/List.js";
|
|
18
|
+
import { IReactProperty } from "../../../fable_modules/Feliz.2.8.0/Types.fs.js";
|
|
19
|
+
import { ReactElement } from "../../../fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.js";
|
|
20
|
+
import { IStandardField$3_$reflection, IStandardField$3, IField$1, StandardRenderFieldConfig$2 } from "../../../fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js";
|
|
21
|
+
import { Spec_FormField$1, Spec_FieldType_$union, Shared_FieldOption, Shared_FieldValue_$union, Shared_FieldKey, Shared_FieldValue_PluginData, Shared_PluginDataProperty, Shared_PluginPropertyKey, Spec_PluginFieldConfig } from "../../../FormSpec.FS/FormSpec.js";
|
|
22
|
+
import { FSharpResult$2_$union, FSharpResult$2_Error, FSharpResult$2_Ok } from "@fable-org/fable-library-js/Result.js";
|
|
23
|
+
import { IPluginValueConverter } from "../../../FormSpec.FS/PluginInterface.js";
|
|
24
|
+
import { RenderPreviewProps$1 } from "../../../FormSpec.FS/Interfaces.js";
|
|
25
|
+
import { FieldDetails } from "../../../FormSpec.FS/Designer.js";
|
|
26
|
+
|
|
27
|
+
export class BMIField_BMIData extends Record implements IEquatable<BMIField_BMIData>, IComparable<BMIField_BMIData> {
|
|
28
|
+
readonly Height: float64;
|
|
29
|
+
readonly Weight: float64;
|
|
30
|
+
readonly BMI: Option<float64>;
|
|
31
|
+
readonly Category: Option<string>;
|
|
32
|
+
constructor(Height: float64, Weight: float64, BMI: Option<float64>, Category: Option<string>) {
|
|
33
|
+
super();
|
|
34
|
+
this.Height = Height;
|
|
35
|
+
this.Weight = Weight;
|
|
36
|
+
this.BMI = BMI;
|
|
37
|
+
this.Category = Category;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function BMIField_BMIData_$reflection(): TypeInfo {
|
|
42
|
+
return record_type("Fable.Form.Simple.Bulma.Fields.BMIField.BMIField.BMIData", [], BMIField_BMIData, () => [["Height", float64_type], ["Weight", float64_type], ["BMI", option_type(float64_type)], ["Category", option_type(string_type)]]);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export class BMIField_Attributes extends Record implements IEquatable<BMIField_Attributes>, IComparable<BMIField_Attributes>, IAttributes {
|
|
46
|
+
readonly FieldId: string;
|
|
47
|
+
readonly Label: string;
|
|
48
|
+
constructor(FieldId: string, Label: string) {
|
|
49
|
+
super();
|
|
50
|
+
this.FieldId = FieldId;
|
|
51
|
+
this.Label = Label;
|
|
52
|
+
}
|
|
53
|
+
GetFieldId(): string {
|
|
54
|
+
const this$: BMIField_Attributes = this;
|
|
55
|
+
return this$.FieldId;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export function BMIField_Attributes_$reflection(): TypeInfo {
|
|
60
|
+
return record_type("Fable.Form.Simple.Bulma.Fields.BMIField.BMIField.Attributes", [], BMIField_Attributes, () => [["FieldId", string_type], ["Label", string_type]]);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function BMIField_form<Values, Field, Output>(): ((arg0: ((arg0: Field$3<BMIField_Attributes, string, Values>) => Field)) => ((arg0: FieldConfig$4<BMIField_Attributes, string, Values, Output>) => Form$3<Values, Output, Field>)) {
|
|
64
|
+
return (build: ((arg0: Field$3<BMIField_Attributes, string, Values>) => Field)): ((arg0: FieldConfig$4<BMIField_Attributes, string, Values, Output>) => Form$3<Values, Output, Field>) => ((config: FieldConfig$4<BMIField_Attributes, string, Values, Output>): Form$3<Values, Output, Field> => field_1<string, BMIField_Attributes, Values, Field, Output>(isNullOrEmpty, build, config));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export function BMIField_calculateBMI(height: float64, weight: float64): float64 {
|
|
68
|
+
if ((height > 0) && (weight > 0)) {
|
|
69
|
+
const heightInM: float64 = height / 100;
|
|
70
|
+
return weight / (heightInM * heightInM);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
return 0;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export function BMIField_getBMICategory(bmi: float64): string {
|
|
78
|
+
let bmi_2: float64, bmi_3: float64;
|
|
79
|
+
if (bmi < 18.5) {
|
|
80
|
+
return "Underweight";
|
|
81
|
+
}
|
|
82
|
+
else if ((bmi_2 = bmi, (bmi_2 >= 18.5) && (bmi_2 < 25))) {
|
|
83
|
+
return "Normal weight";
|
|
84
|
+
}
|
|
85
|
+
else if ((bmi_3 = bmi, (bmi_3 >= 25) && (bmi_3 < 30))) {
|
|
86
|
+
return "Overweight";
|
|
87
|
+
}
|
|
88
|
+
else if (bmi >= 30) {
|
|
89
|
+
return "Obese";
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
return "Invalid";
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export function BMIField_parseBMIData(value: string): BMIField_BMIData {
|
|
97
|
+
try {
|
|
98
|
+
if (isNullOrWhiteSpace(value)) {
|
|
99
|
+
return new BMIField_BMIData(0, 0, undefined, undefined);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
const parts: string[] = split(value, ["|"], undefined, 0);
|
|
103
|
+
if (parts.length >= 2) {
|
|
104
|
+
const height: float64 = parse(item(0, parts));
|
|
105
|
+
const weight: float64 = parse(item(1, parts));
|
|
106
|
+
const bmi: float64 = BMIField_calculateBMI(height, weight);
|
|
107
|
+
return new BMIField_BMIData(height, weight, bmi, (bmi > 0) ? BMIField_getBMICategory(bmi) : undefined);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
return new BMIField_BMIData(0, 0, undefined, undefined);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch (matchValue: any) {
|
|
115
|
+
return new BMIField_BMIData(0, 0, undefined, undefined);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export function BMIField_serializeBMIData(bmiData: BMIField_BMIData): string {
|
|
120
|
+
return toText(interpolate("%.1f%P()|%.1f%P()", [bmiData.Height, bmiData.Weight]));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export function BMIField_BMIFieldComponent(config: StandardRenderFieldConfig$2<string, BMIField_Attributes>): ReactElement {
|
|
124
|
+
let elems_12: Iterable<ReactElement>;
|
|
125
|
+
const bmiData: BMIField_BMIData = BMIField_parseBMIData(config.Value);
|
|
126
|
+
let patternInput: [string, ((arg0: string) => void)];
|
|
127
|
+
const initial: string = (bmiData.Height > 0) ? bmiData.Height.toString() : "";
|
|
128
|
+
patternInput = reactApi.useState<string, string>(initial);
|
|
129
|
+
const height: string = patternInput[0];
|
|
130
|
+
let patternInput_1: [string, ((arg0: string) => void)];
|
|
131
|
+
const initial_1: string = (bmiData.Weight > 0) ? bmiData.Weight.toString() : "";
|
|
132
|
+
patternInput_1 = reactApi.useState<string, string>(initial_1);
|
|
133
|
+
const weight: string = patternInput_1[0];
|
|
134
|
+
const dependencies: any[] = [height, weight];
|
|
135
|
+
reactApi.useEffect((): void => {
|
|
136
|
+
let heightVal: float64;
|
|
137
|
+
let matchValue: [boolean, float64];
|
|
138
|
+
let outArg = 0;
|
|
139
|
+
matchValue = ([tryParse(height, new FSharpRef<float64>((): float64 => outArg, (v: float64): void => {
|
|
140
|
+
outArg = v;
|
|
141
|
+
})), outArg] as [boolean, float64]);
|
|
142
|
+
let matchResult: int32;
|
|
143
|
+
if (matchValue[0]) {
|
|
144
|
+
if (matchValue[1] > 0) {
|
|
145
|
+
matchResult = 0;
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
matchResult = 1;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
matchResult = 1;
|
|
153
|
+
}
|
|
154
|
+
switch (matchResult) {
|
|
155
|
+
case 0: {
|
|
156
|
+
heightVal = matchValue[1];
|
|
157
|
+
break;
|
|
158
|
+
}
|
|
159
|
+
default:
|
|
160
|
+
heightVal = 0;
|
|
161
|
+
}
|
|
162
|
+
let weightVal: float64;
|
|
163
|
+
let matchValue_1: [boolean, float64];
|
|
164
|
+
let outArg_1 = 0;
|
|
165
|
+
matchValue_1 = ([tryParse(weight, new FSharpRef<float64>((): float64 => outArg_1, (v_3: float64): void => {
|
|
166
|
+
outArg_1 = v_3;
|
|
167
|
+
})), outArg_1] as [boolean, float64]);
|
|
168
|
+
let matchResult_1: int32;
|
|
169
|
+
if (matchValue_1[0]) {
|
|
170
|
+
if (matchValue_1[1] > 0) {
|
|
171
|
+
matchResult_1 = 0;
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
matchResult_1 = 1;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
matchResult_1 = 1;
|
|
179
|
+
}
|
|
180
|
+
switch (matchResult_1) {
|
|
181
|
+
case 0: {
|
|
182
|
+
weightVal = matchValue_1[1];
|
|
183
|
+
break;
|
|
184
|
+
}
|
|
185
|
+
default:
|
|
186
|
+
weightVal = 0;
|
|
187
|
+
}
|
|
188
|
+
config.OnChange(BMIField_serializeBMIData(new BMIField_BMIData(heightVal, weightVal, ((heightVal > 0) && (weightVal > 0)) ? BMIField_calculateBMI(heightVal, weightVal) : undefined, ((heightVal > 0) && (weightVal > 0)) ? BMIField_getBMICategory(BMIField_calculateBMI(heightVal, weightVal)) : undefined)));
|
|
189
|
+
}, dependencies);
|
|
190
|
+
let currentBMI: Option<[float64, string]>;
|
|
191
|
+
let matchValue_2: [boolean, float64];
|
|
192
|
+
let outArg_2 = 0;
|
|
193
|
+
matchValue_2 = ([tryParse(height, new FSharpRef<float64>((): float64 => outArg_2, (v_6: float64): void => {
|
|
194
|
+
outArg_2 = v_6;
|
|
195
|
+
})), outArg_2] as [boolean, float64]);
|
|
196
|
+
let matchValue_3: [boolean, float64];
|
|
197
|
+
let outArg_3 = 0;
|
|
198
|
+
matchValue_3 = ([tryParse(weight, new FSharpRef<float64>((): float64 => outArg_3, (v_7: float64): void => {
|
|
199
|
+
outArg_3 = v_7;
|
|
200
|
+
})), outArg_3] as [boolean, float64]);
|
|
201
|
+
let matchResult_2: int32;
|
|
202
|
+
if (matchValue_2[0]) {
|
|
203
|
+
if (matchValue_3[0]) {
|
|
204
|
+
if ((matchValue_2[1] > 0) && (matchValue_3[1] > 0)) {
|
|
205
|
+
matchResult_2 = 0;
|
|
206
|
+
}
|
|
207
|
+
else {
|
|
208
|
+
matchResult_2 = 1;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
matchResult_2 = 1;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
matchResult_2 = 1;
|
|
217
|
+
}
|
|
218
|
+
switch (matchResult_2) {
|
|
219
|
+
case 0: {
|
|
220
|
+
const bmi: float64 = BMIField_calculateBMI(matchValue_2[1], matchValue_3[1]);
|
|
221
|
+
currentBMI = ([bmi, BMIField_getBMICategory(bmi)] as [float64, string]);
|
|
222
|
+
break;
|
|
223
|
+
}
|
|
224
|
+
default:
|
|
225
|
+
currentBMI = undefined;
|
|
226
|
+
}
|
|
227
|
+
return withLabelAndError(config.Attributes.Label, config.ShowError, config.Error, createElement<any>("div", createObj(ofArray([["className", "bmi-calculator"] as [string, any], (elems_12 = toList<ReactElement>(delay<ReactElement>((): Iterable<ReactElement> => {
|
|
228
|
+
let children_5: Iterable<ReactElement>, children_4: Iterable<ReactElement>, elems_2: Iterable<ReactElement>, children_1: Iterable<ReactElement>, children: Iterable<ReactElement>, elems_5: Iterable<ReactElement>, children_3: Iterable<ReactElement>, children_2: Iterable<ReactElement>;
|
|
229
|
+
return append<ReactElement>(singleton<ReactElement>((children_5 = [(children_4 = [createElement<any>("div", createObj(Helpers_combineClasses("column", ofArray([["className", "is-half"] as [string, any], (elems_2 = [(children_1 = [createElement<any>("label", createObj(Helpers_combineClasses("label", singleton_1(["children", "Height (cm)"] as [string, any])))), (children = [createElement<any>("input", createObj(cons(["type", "number"] as [string, any], Helpers_combineClasses("input", toList<IReactProperty>(delay<IReactProperty>((): Iterable<IReactProperty> => append<IReactProperty>(singleton<IReactProperty>(["value", height] as [string, any]), delay<IReactProperty>((): Iterable<IReactProperty> => append<IReactProperty>(singleton<IReactProperty>(["placeholder", "Enter height in cm"] as [string, any]), delay<IReactProperty>((): Iterable<IReactProperty> => append<IReactProperty>(singleton<IReactProperty>(["disabled", config.Disabled ? true : config.IsReadOnly] as [string, any]), delay<IReactProperty>((): Iterable<IReactProperty> => append<IReactProperty>(singleton<IReactProperty>(["onChange", (ev: Event): void => {
|
|
230
|
+
patternInput[1](ev.target.value);
|
|
231
|
+
}] as [string, any]), delay<IReactProperty>((): Iterable<IReactProperty> => ((config.ShowError && (config.Error != null)) ? singleton<IReactProperty>(["className", "is-danger"] as [string, any]) : empty<IReactProperty>())))))))))))))))], createElement<any>("div", {
|
|
232
|
+
className: "control",
|
|
233
|
+
children: reactApi.Children.toArray(Array.from(children)),
|
|
234
|
+
}))], createElement<any>("div", {
|
|
235
|
+
className: "field",
|
|
236
|
+
children: reactApi.Children.toArray(Array.from(children_1)),
|
|
237
|
+
}))], ["children", reactApi.Children.toArray(Array.from(elems_2))] as [string, any])])))), createElement<any>("div", createObj(Helpers_combineClasses("column", ofArray([["className", "is-half"] as [string, any], (elems_5 = [(children_3 = [createElement<any>("label", createObj(Helpers_combineClasses("label", singleton_1(["children", "Weight (kg)"] as [string, any])))), (children_2 = [createElement<any>("input", createObj(cons(["type", "number"] as [string, any], Helpers_combineClasses("input", toList<IReactProperty>(delay<IReactProperty>((): Iterable<IReactProperty> => append<IReactProperty>(singleton<IReactProperty>(["value", weight] as [string, any]), delay<IReactProperty>((): Iterable<IReactProperty> => append<IReactProperty>(singleton<IReactProperty>(["placeholder", "Enter weight in kg"] as [string, any]), delay<IReactProperty>((): Iterable<IReactProperty> => append<IReactProperty>(singleton<IReactProperty>(["disabled", config.Disabled ? true : config.IsReadOnly] as [string, any]), delay<IReactProperty>((): Iterable<IReactProperty> => append<IReactProperty>(singleton<IReactProperty>(["onChange", (ev_1: Event): void => {
|
|
238
|
+
patternInput_1[1](ev_1.target.value);
|
|
239
|
+
}] as [string, any]), delay<IReactProperty>((): Iterable<IReactProperty> => ((config.ShowError && (config.Error != null)) ? singleton<IReactProperty>(["className", "is-danger"] as [string, any]) : empty<IReactProperty>())))))))))))))))], createElement<any>("div", {
|
|
240
|
+
className: "control",
|
|
241
|
+
children: reactApi.Children.toArray(Array.from(children_2)),
|
|
242
|
+
}))], createElement<any>("div", {
|
|
243
|
+
className: "field",
|
|
244
|
+
children: reactApi.Children.toArray(Array.from(children_3)),
|
|
245
|
+
}))], ["children", reactApi.Children.toArray(Array.from(elems_5))] as [string, any])]))))], createElement<any>("div", {
|
|
246
|
+
className: "columns",
|
|
247
|
+
children: reactApi.Children.toArray(Array.from(children_4)),
|
|
248
|
+
}))], createElement<any>("div", {
|
|
249
|
+
className: "field",
|
|
250
|
+
children: reactApi.Children.toArray(Array.from(children_5)),
|
|
251
|
+
}))), delay<ReactElement>((): Iterable<ReactElement> => {
|
|
252
|
+
let children_6: Iterable<ReactElement>, elems_10: Iterable<ReactElement>, elems_9: Iterable<ReactElement>, elems_8: Iterable<ReactElement>;
|
|
253
|
+
const matchValue_5: Option<[float64, string]> = currentBMI;
|
|
254
|
+
if (matchValue_5 == null) {
|
|
255
|
+
return singleton<ReactElement>(createElement<any>("div", {
|
|
256
|
+
className: "has-text-grey-light has-text-centered",
|
|
257
|
+
style: {
|
|
258
|
+
padding: 20,
|
|
259
|
+
},
|
|
260
|
+
children: "Enter height and weight to calculate BMI",
|
|
261
|
+
}));
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
const category: string = value_97(matchValue_5)[1];
|
|
265
|
+
const bmi_1: float64 = value_97(matchValue_5)[0];
|
|
266
|
+
return singleton<ReactElement>((children_6 = [createElement<any>("label", createObj(Helpers_combineClasses("label", singleton_1(["children", "BMI Result"] as [string, any])))), createElement<any>("div", createObj(Helpers_combineClasses("box", ofArray([["style", {
|
|
267
|
+
backgroundColor: "#f0f9ff",
|
|
268
|
+
border: (((1 + "px ") + "solid") + " ") + "#0ea5e9",
|
|
269
|
+
}] as [string, any], (elems_10 = [createElement<any>("div", createObj(ofArray([["className", "has-text-centered"] as [string, any], (elems_9 = [createElement<any>("p", {
|
|
270
|
+
className: "is-size-4 has-text-weight-bold",
|
|
271
|
+
style: {
|
|
272
|
+
color: "#0ea5e9",
|
|
273
|
+
},
|
|
274
|
+
children: toText(interpolate("BMI: %.1f%P()", [bmi_1])),
|
|
275
|
+
}), createElement<any>("p", {
|
|
276
|
+
className: "is-size-6",
|
|
277
|
+
children: `Category: ${category}`,
|
|
278
|
+
style: {
|
|
279
|
+
color: (category === "Underweight") ? "#f59e0b" : ((category === "Normal weight") ? "#10b981" : ((category === "Overweight") ? "#f59e0b" : ((category === "Obese") ? "#ef4444" : "#6b7280"))),
|
|
280
|
+
},
|
|
281
|
+
}), createElement<any>("hr", {}), createElement<any>("div", createObj(ofArray([["className", "is-size-7"] as [string, any], (elems_8 = [createElement<any>("p", {
|
|
282
|
+
children: "BMI Categories:",
|
|
283
|
+
}), createElement<any>("p", {
|
|
284
|
+
children: "• Underweight: < 18.5",
|
|
285
|
+
}), createElement<any>("p", {
|
|
286
|
+
children: "• Normal weight: 18.5-24.9",
|
|
287
|
+
}), createElement<any>("p", {
|
|
288
|
+
children: "• Overweight: 25.0-29.9",
|
|
289
|
+
}), createElement<any>("p", {
|
|
290
|
+
children: "• Obese: ≥ 30.0",
|
|
291
|
+
})], ["children", reactApi.Children.toArray(Array.from(elems_8))] as [string, any])])))], ["children", reactApi.Children.toArray(Array.from(elems_9))] as [string, any])])))], ["children", reactApi.Children.toArray(Array.from(elems_10))] as [string, any])]))))], createElement<any>("div", {
|
|
292
|
+
className: "field",
|
|
293
|
+
children: reactApi.Children.toArray(Array.from(children_6)),
|
|
294
|
+
})));
|
|
295
|
+
}
|
|
296
|
+
}));
|
|
297
|
+
})), ["children", reactApi.Children.toArray(Array.from(elems_12))] as [string, any])]))));
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
export class BMIField_Field$1<Values> extends IStandardField$3<Values, string, BMIField_Attributes> implements IField$1<Values> {
|
|
301
|
+
readonly innerField_1: Field$3<BMIField_Attributes, string, Values>;
|
|
302
|
+
constructor(innerField: Field$3<BMIField_Attributes, string, Values>) {
|
|
303
|
+
super(innerField);
|
|
304
|
+
this.innerField_1 = innerField;
|
|
305
|
+
}
|
|
306
|
+
"Fable.Form.Simple.Bulma.IStandardField`3.RenderFieldZ43FEF6DC"(config: StandardRenderFieldConfig$2<string, BMIField_Attributes>): ReactElement {
|
|
307
|
+
return createElement(BMIField_BMIFieldComponent, config);
|
|
308
|
+
}
|
|
309
|
+
MapFieldValues<NewValues>(update: ((arg0: Values) => $a)): IField$1<$a> {
|
|
310
|
+
const _: BMIField_Field$1<Values> = this;
|
|
311
|
+
return BMIField_Field$1_$ctor_Z1543D607<$a>(mapValues<Values, $a, BMIField_Attributes, string>(update, _.innerField_1));
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
export function BMIField_Field$1_$reflection(gen0: TypeInfo): TypeInfo {
|
|
316
|
+
return class_type("Fable.Form.Simple.Bulma.Fields.BMIField.BMIField.Field`1", [gen0], BMIField_Field$1, IStandardField$3_$reflection(gen0, string_type, BMIField_Attributes_$reflection()));
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
export function BMIField_Field$1_$ctor_Z1543D607<Values>(innerField: Field$3<BMIField_Attributes, string, Values>): BMIField_Field$1<Values> {
|
|
320
|
+
return new BMIField_Field$1(innerField);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
export function Form_bmiField<Values, Output>(config: FieldConfig$4<BMIField_Attributes, string, Values, Output>): Form$3<Values, Output, IField$1<Values>> {
|
|
324
|
+
return BMIField_form<Values, IField$1<Values>, Output>()(BMIField_Field$1_$ctor_Z1543D607)(config);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
export const Form_pluginConfig: Spec_PluginFieldConfig = new Spec_PluginFieldConfig("Fable.Form.Simple.Bulma.Fields.BMIField");
|
|
328
|
+
|
|
329
|
+
export const Form_PropertyKeys_Height: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("276106c7-09ce-44cf-9076-4a4985775a90");
|
|
330
|
+
|
|
331
|
+
export const Form_PropertyKeys_Weight: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("2b7fd0c7-08e1-4072-9dd9-73a4183eea40");
|
|
332
|
+
|
|
333
|
+
export const Form_PropertyKeys_BMI: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("6ca28396-8bea-4939-afb0-2fc7abf1cd5e");
|
|
334
|
+
|
|
335
|
+
export const Form_PropertyKeys_Category: Shared_PluginPropertyKey = new Shared_PluginPropertyKey("b26d5b2b-f1c9-4a56-8c41-8288fc9e1a84");
|
|
336
|
+
|
|
337
|
+
export const Form_enhancedBMIConverter: IPluginValueConverter = new IPluginValueConverter((fieldKey: Shared_FieldKey, pluginValue: any): Option<Shared_FieldValue_$union> => {
|
|
338
|
+
const bmiData: BMIField_BMIData = pluginValue;
|
|
339
|
+
let calculatedBMI: Option<float64>;
|
|
340
|
+
if ((bmiData.Height > 0) && (bmiData.Weight > 0)) {
|
|
341
|
+
const heightM: float64 = bmiData.Height / 100;
|
|
342
|
+
calculatedBMI = (bmiData.Weight / (heightM * heightM));
|
|
343
|
+
}
|
|
344
|
+
else {
|
|
345
|
+
calculatedBMI = undefined;
|
|
346
|
+
}
|
|
347
|
+
const calculatedCategory: Option<string> = map<float64, string>(BMIField_getBMICategory, calculatedBMI);
|
|
348
|
+
return Shared_FieldValue_PluginData(ofArray([new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", bmiData.Height.toString(), "Height", "cm", "Patient height in centimeters"), new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", bmiData.Weight.toString(), "Weight", "kg", "Patient weight in kilograms"), new Shared_PluginDataProperty(Form_PropertyKeys_BMI, "bmi", "float", defaultArg(map<float64, string>((value: float64): string => value.toString(), calculatedBMI), ""), "BMI Score", "kg/m²", "Body Mass Index: weight divided by height squared"), new Shared_PluginDataProperty(Form_PropertyKeys_Category, "category", "string", defaultArg(calculatedCategory, ""), "BMI Category", undefined, "WHO BMI classification (Underweight/Normal/Overweight/Obese)")]));
|
|
349
|
+
}, (fieldValue: Shared_FieldValue_$union): Option<any> => {
|
|
350
|
+
switch (fieldValue.tag) {
|
|
351
|
+
case /* PluginData */ 3: {
|
|
352
|
+
const properties: FSharpList<Shared_PluginDataProperty> = fieldValue.fields[0];
|
|
353
|
+
return some(new BMIField_BMIData(defaultArg(bind<[boolean, float64], float64>((tupledArg: [boolean, float64]): Option<float64> => {
|
|
354
|
+
if (tupledArg[0]) {
|
|
355
|
+
return tupledArg[1];
|
|
356
|
+
}
|
|
357
|
+
else {
|
|
358
|
+
return undefined;
|
|
359
|
+
}
|
|
360
|
+
}, map<Shared_PluginDataProperty, [boolean, float64]>((p_1: Shared_PluginDataProperty): [boolean, float64] => {
|
|
361
|
+
let outArg = 0;
|
|
362
|
+
return [tryParse(p_1.Value, new FSharpRef<float64>((): float64 => outArg, (v: float64): void => {
|
|
363
|
+
outArg = v;
|
|
364
|
+
})), outArg] as [boolean, float64];
|
|
365
|
+
}, tryFind<Shared_PluginDataProperty>((p: Shared_PluginDataProperty): boolean => (p.Name === "height"), properties))), 0), defaultArg(bind<[boolean, float64], float64>((tupledArg_1: [boolean, float64]): Option<float64> => {
|
|
366
|
+
if (tupledArg_1[0]) {
|
|
367
|
+
return tupledArg_1[1];
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
return undefined;
|
|
371
|
+
}
|
|
372
|
+
}, map<Shared_PluginDataProperty, [boolean, float64]>((p_3: Shared_PluginDataProperty): [boolean, float64] => {
|
|
373
|
+
let outArg_1 = 0;
|
|
374
|
+
return [tryParse(p_3.Value, new FSharpRef<float64>((): float64 => outArg_1, (v_1: float64): void => {
|
|
375
|
+
outArg_1 = v_1;
|
|
376
|
+
})), outArg_1] as [boolean, float64];
|
|
377
|
+
}, tryFind<Shared_PluginDataProperty>((p_2: Shared_PluginDataProperty): boolean => (p_2.Name === "weight"), properties))), 0), undefined, undefined));
|
|
378
|
+
}
|
|
379
|
+
case /* Single */ 0:
|
|
380
|
+
return some(BMIField_parseBMIData(fieldValue.fields[0].Value));
|
|
381
|
+
default:
|
|
382
|
+
return undefined;
|
|
383
|
+
}
|
|
384
|
+
}, (): Option<FSharpList<Shared_FieldOption>> => undefined, (): FSharpList<string> => ofArray(["height", "weight", "bmi", "category"]), (propertyName: string): Option<Shared_PluginDataProperty> => ((propertyName === "height") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", "", "Height", "cm", "Patient height in centimeters")) : ((propertyName === "weight") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", "", "Weight", "kg", "Patient weight in kilograms")) : ((propertyName === "bmi") ? (new Shared_PluginDataProperty(Form_PropertyKeys_BMI, "bmi", "float", "", "BMI Score", "kg/m²", "Body Mass Index calculation")) : ((propertyName === "category") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Category, "category", "string", "", "BMI Category", undefined, "BMI classification category")) : undefined)))), (propertyKey: Shared_PluginPropertyKey): Option<Shared_PluginDataProperty> => (equals(propertyKey, Form_PropertyKeys_Height) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", "", "Height", "cm", "Patient height in centimeters")) : (equals(propertyKey, Form_PropertyKeys_Weight) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", "", "Weight", "kg", "Patient weight in kilograms")) : (equals(propertyKey, Form_PropertyKeys_BMI) ? (new Shared_PluginDataProperty(Form_PropertyKeys_BMI, "bmi", "float", "", "BMI Score", "kg/m²", "Body Mass Index calculation")) : (equals(propertyKey, Form_PropertyKeys_Category) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Category, "category", "string", "", "BMI Category", undefined, "BMI classification category")) : undefined)))), (propertyName_1: string, fieldValue_1: Shared_FieldValue_$union): Option<Shared_PluginDataProperty> => {
|
|
385
|
+
switch (fieldValue_1.tag) {
|
|
386
|
+
case /* PluginData */ 3:
|
|
387
|
+
return tryFind<Shared_PluginDataProperty>((p_4: Shared_PluginDataProperty): boolean => (p_4.Name === propertyName_1), fieldValue_1.fields[0]);
|
|
388
|
+
case /* Single */ 0: {
|
|
389
|
+
const bmiData_1: BMIField_BMIData = BMIField_parseBMIData(fieldValue_1.fields[0].Value);
|
|
390
|
+
return (propertyName_1 === "height") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", bmiData_1.Height.toString(), "Height", "cm", "Patient height in centimeters")) : ((propertyName_1 === "weight") ? (new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", bmiData_1.Weight.toString(), "Weight", "kg", "Patient weight in kilograms")) : ((propertyName_1 === "bmi") ? map<float64, Shared_PluginDataProperty>((v_2: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_BMI, "bmi", "float", v_2.toString(), "BMI", "kg/m²", "Body Mass Index calculation")), bmiData_1.BMI) : ((propertyName_1 === "category") ? map<string, Shared_PluginDataProperty>((v_3: string): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Category, "category", "string", v_3, "Category", undefined, "BMI classification category")), bmiData_1.Category) : undefined)));
|
|
391
|
+
}
|
|
392
|
+
default:
|
|
393
|
+
return undefined;
|
|
394
|
+
}
|
|
395
|
+
}, (propertyKey_1: Shared_PluginPropertyKey, fieldValue_2: Shared_FieldValue_$union): Option<Shared_PluginDataProperty> => {
|
|
396
|
+
switch (fieldValue_2.tag) {
|
|
397
|
+
case /* PluginData */ 3:
|
|
398
|
+
return tryFind<Shared_PluginDataProperty>((p_5: Shared_PluginDataProperty): boolean => equals(p_5.PropertyKey, propertyKey_1), fieldValue_2.fields[0]);
|
|
399
|
+
case /* Single */ 0: {
|
|
400
|
+
const bmiData_2: BMIField_BMIData = BMIField_parseBMIData(fieldValue_2.fields[0].Value);
|
|
401
|
+
return equals(propertyKey_1, Form_PropertyKeys_Height) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", bmiData_2.Height.toString(), "Height", "cm", "Patient height in centimeters")) : (equals(propertyKey_1, Form_PropertyKeys_Weight) ? (new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", bmiData_2.Weight.toString(), "Weight", "kg", "Patient weight in kilograms")) : (equals(propertyKey_1, Form_PropertyKeys_BMI) ? map<float64, Shared_PluginDataProperty>((v_4: float64): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_BMI, "bmi", "float", v_4.toString(), "BMI", "kg/m²", "Body Mass Index calculation")), bmiData_2.BMI) : (equals(propertyKey_1, Form_PropertyKeys_Category) ? map<string, Shared_PluginDataProperty>((v_5: string): Shared_PluginDataProperty => (new Shared_PluginDataProperty(Form_PropertyKeys_Category, "category", "string", v_5, "Category", undefined, "BMI classification category")), bmiData_2.Category) : undefined)));
|
|
402
|
+
}
|
|
403
|
+
default:
|
|
404
|
+
return undefined;
|
|
405
|
+
}
|
|
406
|
+
}, (propertyName_2: string, value_7: string): FSharpResult$2_$union<void, string> => {
|
|
407
|
+
let v_7: float64, v_11: float64;
|
|
408
|
+
switch (propertyName_2) {
|
|
409
|
+
case "height": {
|
|
410
|
+
let matchValue: [boolean, float64];
|
|
411
|
+
let outArg_2 = 0;
|
|
412
|
+
matchValue = ([tryParse(value_7, new FSharpRef<float64>((): float64 => outArg_2, (v_6: float64): void => {
|
|
413
|
+
outArg_2 = v_6;
|
|
414
|
+
})), outArg_2] as [boolean, float64]);
|
|
415
|
+
return matchValue[0] ? (((v_7 = matchValue[1], (v_7 >= 50) && (v_7 <= 250))) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>(`Height must be between 50-250 cm, got ${matchValue[1]}`)) : FSharpResult$2_Error<void, string>("Height must be a valid number");
|
|
416
|
+
}
|
|
417
|
+
case "weight": {
|
|
418
|
+
let matchValue_1: [boolean, float64];
|
|
419
|
+
let outArg_3 = 0;
|
|
420
|
+
matchValue_1 = ([tryParse(value_7, new FSharpRef<float64>((): float64 => outArg_3, (v_10: float64): void => {
|
|
421
|
+
outArg_3 = v_10;
|
|
422
|
+
})), outArg_3] as [boolean, float64]);
|
|
423
|
+
return matchValue_1[0] ? (((v_11 = matchValue_1[1], (v_11 >= 1) && (v_11 <= 300))) ? FSharpResult$2_Ok<void, string>(undefined) : FSharpResult$2_Error<void, string>(`Weight must be between 1-300 kg, got ${matchValue_1[1]}`)) : FSharpResult$2_Error<void, string>("Weight must be a valid number");
|
|
424
|
+
}
|
|
425
|
+
case "bmi":
|
|
426
|
+
case "category":
|
|
427
|
+
return FSharpResult$2_Error<void, string>("BMI and category are calculated fields and cannot be set directly");
|
|
428
|
+
default:
|
|
429
|
+
return FSharpResult$2_Error<void, string>(`Unknown property: ${propertyName_2}`);
|
|
430
|
+
}
|
|
431
|
+
}, (fieldValue_3: Shared_FieldValue_$union): FSharpList<Shared_PluginDataProperty> => {
|
|
432
|
+
switch (fieldValue_3.tag) {
|
|
433
|
+
case /* PluginData */ 3:
|
|
434
|
+
return fieldValue_3.fields[0];
|
|
435
|
+
case /* Single */ 0: {
|
|
436
|
+
const bmiData_3: BMIField_BMIData = BMIField_parseBMIData(fieldValue_3.fields[0].Value);
|
|
437
|
+
return ofArray([new Shared_PluginDataProperty(Form_PropertyKeys_Height, "height", "float", bmiData_3.Height.toString(), "Height", "cm", "Patient height in centimeters"), new Shared_PluginDataProperty(Form_PropertyKeys_Weight, "weight", "float", bmiData_3.Weight.toString(), "Weight", "kg", "Patient weight in kilograms"), new Shared_PluginDataProperty(Form_PropertyKeys_BMI, "bmi", "float", defaultArg(map<float64, string>((value_8: float64): string => value_8.toString(), bmiData_3.BMI), ""), "BMI", "kg/m²", "Body Mass Index calculation"), new Shared_PluginDataProperty(Form_PropertyKeys_Category, "category", "string", defaultArg(bmiData_3.Category, ""), "Category", undefined, "BMI classification category")]);
|
|
438
|
+
}
|
|
439
|
+
default:
|
|
440
|
+
return empty_1<Shared_PluginDataProperty>();
|
|
441
|
+
}
|
|
442
|
+
});
|
|
443
|
+
|
|
444
|
+
export function Form_designerPreview(props: RenderPreviewProps$1<Spec_FieldType_$union>): ReactElement {
|
|
445
|
+
let elems_3: Iterable<ReactElement>, elems_2: Iterable<ReactElement>, elems: Iterable<ReactElement>, elems_1: Iterable<ReactElement>;
|
|
446
|
+
const children: Iterable<ReactElement> = [createElement<any>("div", createObj(Helpers_combineClasses("box", ofArray([["style", {
|
|
447
|
+
border: (((1 + "px ") + "dashed") + " ") + "hsl(0, 0%, 86%)",
|
|
448
|
+
backgroundColor: "hsl(0, 0%, 98%)",
|
|
449
|
+
textAlign: "center",
|
|
450
|
+
padding: 20,
|
|
451
|
+
}] as [string, any], (elems_3 = [createElement<any>("div", {
|
|
452
|
+
className: "has-text-weight-bold",
|
|
453
|
+
children: "📊 BMI Calculator",
|
|
454
|
+
style: {
|
|
455
|
+
marginBottom: 10,
|
|
456
|
+
},
|
|
457
|
+
}), createElement<any>("div", createObj(Helpers_combineClasses("columns", ofArray([["className", "is-gapless"] as [string, any], ["className", "is-mobile"] as [string, any], (elems_2 = [createElement<any>("div", createObj(Helpers_combineClasses("column", singleton_1((elems = [createElement<any>("input", createObj(cons(["type", "text"] as [string, any], Helpers_combineClasses("input", ofArray([["readOnly", true] as [string, any], ["placeholder", "Height (cm)"] as [string, any], ["style", {
|
|
458
|
+
fontSize: 12 + "px",
|
|
459
|
+
}] as [string, any]])))))], ["children", reactApi.Children.toArray(Array.from(elems))] as [string, any]))))), createElement<any>("div", createObj(Helpers_combineClasses("column", singleton_1((elems_1 = [createElement<any>("input", createObj(cons(["type", "text"] as [string, any], Helpers_combineClasses("input", ofArray([["readOnly", true] as [string, any], ["placeholder", "Weight (kg)"] as [string, any], ["style", {
|
|
460
|
+
fontSize: 12 + "px",
|
|
461
|
+
}] as [string, any]])))))], ["children", reactApi.Children.toArray(Array.from(elems_1))] as [string, any])))))], ["children", reactApi.Children.toArray(Array.from(elems_2))] as [string, any])])))), createElement<any>("div", {
|
|
462
|
+
style: {
|
|
463
|
+
fontSize: 10 + "px",
|
|
464
|
+
color: "hsl(0, 0%, 60%)",
|
|
465
|
+
marginTop: 5,
|
|
466
|
+
},
|
|
467
|
+
children: "Automatically calculates BMI and category",
|
|
468
|
+
})], ["children", reactApi.Children.toArray(Array.from(elems_3))] as [string, any])]))))];
|
|
469
|
+
return createElement<any>("div", {
|
|
470
|
+
className: "control",
|
|
471
|
+
children: reactApi.Children.toArray(Array.from(children)),
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
export function Form_markdownRenderer(field: Spec_FormField$1<Spec_FieldType_$union>, fieldDetails: FieldDetails): string {
|
|
476
|
+
let matchValue_1: string;
|
|
477
|
+
let value: string;
|
|
478
|
+
const matchValue: Shared_FieldValue_$union = fieldDetails.FieldValue;
|
|
479
|
+
value = ((matchValue.tag === /* Single */ 0) ? matchValue.fields[0].Value : "");
|
|
480
|
+
if (isNullOrWhiteSpace(value)) {
|
|
481
|
+
return `**${field.Label}:** *[No data entered]*`;
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
try {
|
|
485
|
+
const bmiData: BMIField_BMIData = BMIField_parseBMIData(value);
|
|
486
|
+
return ((((bmiData.Height > 0) && (bmiData.Weight > 0)) && (bmiData.BMI != null)) && (bmiData.Category != null)) ? join("\n", [`**${field.Label}** ${(matchValue_1 = value_97(bmiData.Category), (matchValue_1 === "Underweight") ? "⚖️" : ((matchValue_1 === "Normal weight") ? "✅" : ((matchValue_1 === "Overweight") ? "⚠️" : ((matchValue_1 === "Obese") ? "🚨" : "📊"))))}`, "", "| Metric | Value |", "|--------|-------|", `| **Height** | %P(F1) cm |`, `| **Weight** | %P(F1) kg |`, `| **BMI** | **%P(F1)** |`, `| **Category** | **${value_97(bmiData.Category)}** |`, "", "> 💡 *BMI is calculated as weight (kg) divided by height (m) squared*"]) : (`**${field.Label}:** *[Incomplete data: Height=%P(F1)cm, Weight=%P(F1)kg]*`);
|
|
487
|
+
}
|
|
488
|
+
catch (ex: any) {
|
|
489
|
+
return `**${field.Label}:** *[Error processing data: ${ex.message}]*`;
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
//# sourceMappingURL=BMIField.ts.map
|