@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.
Files changed (493) hide show
  1. package/FormSpec.FS/Components/HelloComponent.d.ts.map +1 -0
  2. package/FormSpec.FS/Designer.d.ts.map +1 -0
  3. package/FormSpec.FS/FormSpec.d.ts.map +1 -0
  4. package/FormSpec.FS/FormSpecHelpers.d.ts.map +1 -0
  5. package/FormSpec.FS/FormSpecValues.d.ts.map +1 -0
  6. package/FormSpec.FS/Helpers.d.ts.map +1 -0
  7. package/FormSpec.FS/Interfaces.d.ts.map +1 -0
  8. package/FormSpec.FS/Interop/FormSpec.Api.Helpers.d.ts.map +1 -0
  9. package/FormSpec.FS/Interop/FormSpec.Api.Option.d.ts.map +1 -0
  10. package/FormSpec.FS/Interop/FormSpec.Values.Api.Option.d.ts.map +1 -0
  11. package/FormSpec.FS/Logging/LogTypes.d.ts.map +1 -0
  12. package/FormSpec.FS/Migrator.d.ts.map +1 -0
  13. package/FormSpec.FS/PathwayDataExtractor.d.ts.map +1 -0
  14. package/FormSpec.FS/PathwayExecutor.d.ts.map +1 -0
  15. package/FormSpec.FS/PathwayValidator.d.ts.map +1 -0
  16. package/FormSpec.FS/PluginInterface.d.ts.map +1 -0
  17. package/FormSpec.FS/Prelude.d.ts.map +1 -0
  18. package/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.d.ts.map +1 -0
  19. package/FormSpec.FS/Renderers/MermaidRenderer.d.ts.map +1 -0
  20. package/FormSpec.FS/Renderers/PathwayRenderers.d.ts.map +1 -0
  21. package/FormSpec.TS/FormSpec.FS/Components/HelloComponent.js.map +1 -0
  22. package/FormSpec.TS/FormSpec.FS/Components/HelloComponent.ts.map +1 -0
  23. package/FormSpec.TS/FormSpec.FS/Designer.js.map +1 -0
  24. package/FormSpec.TS/FormSpec.FS/Designer.ts.map +1 -0
  25. package/FormSpec.TS/{FormSpec.js.map → FormSpec.FS/FormSpec.js.map} +1 -1
  26. package/FormSpec.TS/{FormSpec.ts.map → FormSpec.FS/FormSpec.ts.map} +1 -1
  27. package/FormSpec.TS/{FormSpecHelpers.js → FormSpec.FS/FormSpecHelpers.js} +1 -1
  28. package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.js.map +1 -0
  29. package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.ts.map +1 -0
  30. package/FormSpec.TS/FormSpec.FS/FormSpecValues.js.map +1 -0
  31. package/FormSpec.TS/FormSpec.FS/FormSpecValues.ts.map +1 -0
  32. package/FormSpec.TS/FormSpec.FS/Helpers.js.map +1 -0
  33. package/FormSpec.TS/FormSpec.FS/Helpers.ts.map +1 -0
  34. package/FormSpec.TS/FormSpec.FS/Interfaces.js.map +1 -0
  35. package/FormSpec.TS/FormSpec.FS/Interfaces.ts.map +1 -0
  36. package/FormSpec.TS/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Helpers.js +2 -2
  37. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.js.map +1 -0
  38. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.ts.map +1 -0
  39. package/FormSpec.TS/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Option.js +2 -2
  40. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.js.map +1 -0
  41. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.ts.map +1 -0
  42. package/FormSpec.TS/{Interop → FormSpec.FS/Interop}/FormSpec.Values.Api.Option.js +2 -2
  43. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Values.Api.Option.js.map +1 -0
  44. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Values.Api.Option.ts.map +1 -0
  45. package/FormSpec.TS/FormSpec.FS/Logging/LogTypes.js.map +1 -0
  46. package/FormSpec.TS/FormSpec.FS/Logging/LogTypes.ts.map +1 -0
  47. package/FormSpec.TS/{Migrator.js → FormSpec.FS/Migrator.js} +1 -1
  48. package/FormSpec.TS/FormSpec.FS/Migrator.js.map +1 -0
  49. package/FormSpec.TS/FormSpec.FS/Migrator.ts.map +1 -0
  50. package/FormSpec.TS/FormSpec.FS/PathwayDataExtractor.js.map +1 -0
  51. package/FormSpec.TS/FormSpec.FS/PathwayDataExtractor.ts.map +1 -0
  52. package/FormSpec.TS/{PathwayExecutor.js → FormSpec.FS/PathwayExecutor.js} +1 -1
  53. package/FormSpec.TS/FormSpec.FS/PathwayExecutor.js.map +1 -0
  54. package/FormSpec.TS/FormSpec.FS/PathwayExecutor.ts.map +1 -0
  55. package/FormSpec.TS/FormSpec.FS/PathwayValidator.js.map +1 -0
  56. package/FormSpec.TS/FormSpec.FS/PathwayValidator.ts.map +1 -0
  57. package/FormSpec.TS/FormSpec.FS/PluginInterface.js.map +1 -0
  58. package/FormSpec.TS/FormSpec.FS/PluginInterface.ts.map +1 -0
  59. package/FormSpec.TS/FormSpec.FS/Prelude.js.map +1 -0
  60. package/FormSpec.TS/FormSpec.FS/Prelude.ts.map +1 -0
  61. package/FormSpec.TS/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.js.map +1 -0
  62. package/FormSpec.TS/FormSpec.FS/Renderers/FormSpecMarkdownRenderer.ts.map +1 -0
  63. package/FormSpec.TS/FormSpec.FS/Renderers/MermaidRenderer.js.map +1 -0
  64. package/FormSpec.TS/FormSpec.FS/Renderers/MermaidRenderer.ts.map +1 -0
  65. package/FormSpec.TS/FormSpec.FS/Renderers/PathwayRenderers.js.map +1 -0
  66. package/FormSpec.TS/FormSpec.FS/Renderers/PathwayRenderers.ts.map +1 -0
  67. package/FormSpec.TS/PathwayExecutor.withPlugins.js +28 -0
  68. package/FormSpec.TS/PathwayExecutor.withPlugins.js.map +1 -0
  69. package/FormSpec.TS/PluginRegistration.js +18 -0
  70. package/FormSpec.TS/PluginRegistration.js.map +1 -0
  71. package/FormSpec.TS/PluginRegistration.ts.map +1 -0
  72. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs +47 -0
  73. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js +93 -0
  74. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.js.map +1 -0
  75. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/CheckboxField.fs.ts.map +1 -0
  76. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs +49 -0
  77. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js +127 -0
  78. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.js.map +1 -0
  79. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/ColorField.fs.ts.map +1 -0
  80. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs +52 -0
  81. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js +105 -0
  82. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.js.map +1 -0
  83. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateField.fs.ts.map +1 -0
  84. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs +54 -0
  85. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js +105 -0
  86. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.js.map +1 -0
  87. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/DateTimeLocalField.fs.ts.map +1 -0
  88. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs +48 -0
  89. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js +83 -0
  90. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.js.map +1 -0
  91. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/EmailField.fs.ts.map +1 -0
  92. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Fable.Form.Simple.Bulma.fableproj +53 -0
  93. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs +132 -0
  94. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js +276 -0
  95. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.js.map +1 -0
  96. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FileField.fs.ts.map +1 -0
  97. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs +537 -0
  98. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js +263 -0
  99. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.js.map +1 -0
  100. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Form.fs.ts.map +1 -0
  101. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs +361 -0
  102. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js +576 -0
  103. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.js.map +1 -0
  104. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/FormList.fs.ts.map +1 -0
  105. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs +52 -0
  106. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js +73 -0
  107. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.js.map +1 -0
  108. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Group.fs.ts.map +1 -0
  109. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs +246 -0
  110. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js +226 -0
  111. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.js.map +1 -0
  112. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.ts.map +1 -0
  113. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs +52 -0
  114. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js +116 -0
  115. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.js.map +1 -0
  116. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/InputField.fs.ts.map +1 -0
  117. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs +56 -0
  118. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js +95 -0
  119. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.js.map +1 -0
  120. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/NumberField.fs.ts.map +1 -0
  121. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs +46 -0
  122. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js +77 -0
  123. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.js.map +1 -0
  124. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/PasswordField.fs.ts.map +1 -0
  125. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs +51 -0
  126. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js +103 -0
  127. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.js.map +1 -0
  128. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/RadioField.fs.ts.map +1 -0
  129. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs +49 -0
  130. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js +87 -0
  131. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.js.map +1 -0
  132. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SearchField.fs.ts.map +1 -0
  133. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs +60 -0
  134. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js +69 -0
  135. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.js.map +1 -0
  136. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Section.fs.ts.map +1 -0
  137. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs +79 -0
  138. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js +134 -0
  139. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.js.map +1 -0
  140. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/SelectField.fs.ts.map +1 -0
  141. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs +44 -0
  142. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js +77 -0
  143. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.js.map +1 -0
  144. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TelField.fs.ts.map +1 -0
  145. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs +49 -0
  146. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js +87 -0
  147. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.js.map +1 -0
  148. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextField.fs.ts.map +1 -0
  149. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs +59 -0
  150. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js +87 -0
  151. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.js.map +1 -0
  152. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TextareaField.fs.ts.map +1 -0
  153. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs +44 -0
  154. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js +77 -0
  155. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.js.map +1 -0
  156. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/TimeField.fs.ts.map +1 -0
  157. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs +143 -0
  158. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js +154 -0
  159. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.js.map +1 -0
  160. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.ts.map +1 -0
  161. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs +36 -0
  162. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js +76 -0
  163. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.js.map +1 -0
  164. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/CheckboxField.fs.ts.map +1 -0
  165. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs +49 -0
  166. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js +88 -0
  167. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.js.map +1 -0
  168. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/ColorField.fs.ts.map +1 -0
  169. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs +67 -0
  170. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js +121 -0
  171. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.js.map +1 -0
  172. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateField.fs.ts.map +1 -0
  173. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs +70 -0
  174. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js +121 -0
  175. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.js.map +1 -0
  176. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/DateTimeLocalField.fs.ts.map +1 -0
  177. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs +76 -0
  178. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js +91 -0
  179. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.js.map +1 -0
  180. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/EmailField.fs.ts.map +1 -0
  181. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/Fable.Form.Simple.Fields.Html.fableproj +45 -0
  182. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs +105 -0
  183. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js +161 -0
  184. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.js.map +1 -0
  185. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/NumberField.fs.ts.map +1 -0
  186. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs +66 -0
  187. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js +110 -0
  188. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.js.map +1 -0
  189. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/PasswordField.fs.ts.map +1 -0
  190. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs +72 -0
  191. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js +108 -0
  192. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.js.map +1 -0
  193. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RadioField.fs.ts.map +1 -0
  194. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs +102 -0
  195. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js +157 -0
  196. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.js.map +1 -0
  197. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/RangeField.fs.ts.map +1 -0
  198. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs +83 -0
  199. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js +164 -0
  200. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.js.map +1 -0
  201. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SearchField.fs.ts.map +1 -0
  202. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs +83 -0
  203. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js +119 -0
  204. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.js.map +1 -0
  205. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/SelectField.fs.ts.map +1 -0
  206. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs +63 -0
  207. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js +110 -0
  208. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.js.map +1 -0
  209. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TelField.fs.ts.map +1 -0
  210. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs +83 -0
  211. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js +164 -0
  212. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.js.map +1 -0
  213. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextField.fs.ts.map +1 -0
  214. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs +92 -0
  215. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js +149 -0
  216. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.js.map +1 -0
  217. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TextareaField.fs.ts.map +1 -0
  218. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs +108 -0
  219. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js +161 -0
  220. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.js.map +1 -0
  221. package/FormSpec.TS/fable_modules/Fable.Form.Simple.Fields.Html.1.0.1/TimeField.fs.ts.map +1 -0
  222. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Colors.fs.js.map +1 -1
  223. package/FormSpec.TS/fable_modules/Feliz.2.8.0/DateParsing.fs +52 -0
  224. package/FormSpec.TS/fable_modules/{Feliz.2.7.0/Interop.fs.js → Feliz.2.8.0/DateParsing.fs.js} +27 -37
  225. package/FormSpec.TS/fable_modules/Feliz.2.8.0/DateParsing.fs.js.map +1 -0
  226. package/FormSpec.TS/fable_modules/Feliz.2.8.0/DateParsing.fs.ts.map +1 -0
  227. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Feliz.fableproj +14 -3
  228. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs +11 -0
  229. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs.js +25 -0
  230. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs.js.map +1 -0
  231. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Helpers.fs.ts.map +1 -0
  232. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs +176 -0
  233. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs.js +179 -0
  234. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs.js.map +1 -0
  235. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Internal.fs.ts.map +1 -0
  236. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Interop.fs +29 -0
  237. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Interop.fs.js +19 -0
  238. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Interop.fs.js.map +1 -0
  239. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Key.fs.js.map +1 -1
  240. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Length.fs +55 -1
  241. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Properties.fs +5 -0
  242. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Properties.fs.js.map +1 -1
  243. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/React.fs +77 -239
  244. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactDOM.fs.js.map +1 -1
  245. package/FormSpec.TS/fable_modules/Feliz.2.8.0/ReactInterop.fs +20 -0
  246. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactInterop.js.map +1 -1
  247. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactTypes.fs +3 -2
  248. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactTypes.fs.js.map +1 -1
  249. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/StyleTypes.fs +4 -0
  250. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/StyleTypes.fs.js.map +1 -1
  251. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Styles.fs +646 -8
  252. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Svg.fs.js.map +1 -1
  253. package/FormSpec.TS/fable_modules/Feliz.2.8.0/TransitionTimingFunction.fs +62 -0
  254. package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Types.fs.js.map +1 -1
  255. package/FormSpec.TS/fable_modules/Feliz.2.8.0/Types.fs.ts.map +1 -0
  256. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Bulma.fs +990 -0
  257. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs +179 -0
  258. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.js +51 -0
  259. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.js.map +1 -0
  260. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.ts.map +1 -0
  261. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Feliz.Bulma.fableproj +32 -0
  262. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs +1986 -0
  263. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.js +27 -0
  264. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.js.map +1 -0
  265. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Modifiers.fs.ts.map +1 -0
  266. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs +7 -0
  267. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.js +31 -0
  268. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.js.map +1 -0
  269. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/Operators.fs.ts.map +1 -0
  270. package/FormSpec.TS/fable_modules/Feliz.Bulma.3.0.0/PropertyBuilders.fs +8 -0
  271. package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Exports.fs +14 -0
  272. package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Glutinum.Feliz.ReactSignaturePadWrapper.fableproj +18 -0
  273. package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Interop.fs +6 -0
  274. package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/ReactSignaturePadWrapper.fs +32 -0
  275. package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs +3 -0
  276. package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js +7 -0
  277. package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.js.map +1 -0
  278. package/FormSpec.TS/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.ts.map +1 -0
  279. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.js.map +1 -1
  280. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.ts.map +1 -1
  281. package/FormSpec.TS/fable_modules/project_cracked.json +1 -1
  282. package/FormSpec.TS/plugins/bmi/src/BMIField.js +823 -0
  283. package/FormSpec.TS/plugins/bmi/src/BMIField.js.map +1 -0
  284. package/FormSpec.TS/plugins/bmi/src/BMIField.ts.map +1 -0
  285. package/FormSpec.TS/plugins/likert/src/LikertField.js +638 -0
  286. package/FormSpec.TS/plugins/likert/src/LikertField.js.map +1 -0
  287. package/FormSpec.TS/plugins/likert/src/LikertField.ts.map +1 -0
  288. package/FormSpec.TS/plugins/signature/src/SignatureField.js +294 -0
  289. package/FormSpec.TS/plugins/signature/src/SignatureField.js.map +1 -0
  290. package/FormSpec.TS/plugins/signature/src/SignatureField.ts.map +1 -0
  291. package/FormSpec.TS/plugins/vitals/src/VitalsField.js +1150 -0
  292. package/FormSpec.TS/plugins/vitals/src/VitalsField.js.map +1 -0
  293. package/FormSpec.TS/plugins/vitals/src/VitalsField.ts.map +1 -0
  294. package/PathwayExecutor.withPlugins.d.ts +11 -0
  295. package/PathwayExecutor.withPlugins.d.ts.map +1 -0
  296. package/PluginRegistration.d.ts +2 -0
  297. package/PluginRegistration.d.ts.map +1 -0
  298. package/README.md +7 -7
  299. package/fable_modules/Fable.Form.3.0.0/Base.fs.d.ts +147 -0
  300. package/fable_modules/Fable.Form.3.0.0/Base.fs.d.ts.map +1 -0
  301. package/fable_modules/Fable.Form.3.0.0/Error.fs.d.ts +19 -0
  302. package/fable_modules/Fable.Form.3.0.0/Error.fs.d.ts.map +1 -0
  303. package/fable_modules/Fable.Form.3.0.0/Extensions.fs.d.ts +14 -0
  304. package/fable_modules/Fable.Form.3.0.0/Extensions.fs.d.ts.map +1 -0
  305. package/fable_modules/Fable.Form.3.0.0/Field.fs.d.ts +14 -0
  306. package/fable_modules/Fable.Form.3.0.0/Field.fs.d.ts.map +1 -0
  307. package/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.d.ts +113 -0
  308. package/fable_modules/Fable.Form.Simple.5.0.1/Form.fs.d.ts.map +1 -0
  309. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.d.ts +17 -0
  310. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Html.View.fs.d.ts.map +1 -0
  311. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.d.ts +41 -0
  312. package/fable_modules/Fable.Form.Simple.Bulma.5.0.1/Types.fs.d.ts.map +1 -0
  313. package/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.d.ts +73 -0
  314. package/fable_modules/Fable.React.Types.18.3.0/Fable.React.fs.d.ts.map +1 -0
  315. package/fable_modules/Feliz.2.8.0/Colors.fs.d.ts +9 -0
  316. package/fable_modules/Feliz.2.8.0/Colors.fs.d.ts.map +1 -0
  317. package/fable_modules/Feliz.2.8.0/Interop.fs.d.ts +3 -0
  318. package/fable_modules/Feliz.2.8.0/Interop.fs.d.ts.map +1 -0
  319. package/fable_modules/Feliz.2.8.0/ReactInterop.d.ts +6 -0
  320. package/fable_modules/Feliz.2.8.0/ReactInterop.d.ts.map +1 -0
  321. package/fable_modules/Feliz.2.8.0/ReactTypes.fs.d.ts +36 -0
  322. package/fable_modules/Feliz.2.8.0/ReactTypes.fs.d.ts.map +1 -0
  323. package/fable_modules/Feliz.2.8.0/Types.fs.d.ts +7 -0
  324. package/fable_modules/Feliz.2.8.0/Types.fs.d.ts.map +1 -0
  325. package/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.d.ts +5 -0
  326. package/fable_modules/Feliz.Bulma.3.0.0/ElementBuilders.fs.d.ts.map +1 -0
  327. package/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.d.ts +3 -0
  328. package/fable_modules/Glutinum.Feliz.ReactSignaturePadWrapper.1.0.2/Types.fs.d.ts.map +1 -0
  329. package/package.json +15 -15
  330. package/plugins/bmi/src/BMIField.d.ts +52 -0
  331. package/plugins/bmi/src/BMIField.d.ts.map +1 -0
  332. package/plugins/likert/src/LikertField.d.ts +60 -0
  333. package/plugins/likert/src/LikertField.d.ts.map +1 -0
  334. package/plugins/signature/src/SignatureField.d.ts +34 -0
  335. package/plugins/signature/src/SignatureField.d.ts.map +1 -0
  336. package/plugins/vitals/src/VitalsField.d.ts +82 -0
  337. package/plugins/vitals/src/VitalsField.d.ts.map +1 -0
  338. package/src/{FormSpecHelpers.ts → FormSpec.FS/FormSpecHelpers.ts} +1 -1
  339. package/src/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Helpers.ts +4 -4
  340. package/src/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Option.ts +2 -2
  341. package/src/{Interop → FormSpec.FS/Interop}/FormSpec.Values.Api.Option.ts +2 -2
  342. package/src/{Migrator.ts → FormSpec.FS/Migrator.ts} +1 -1
  343. package/src/{PathwayExecutor.ts → FormSpec.FS/PathwayExecutor.ts} +1 -1
  344. package/src/PathwayExecutor.withPlugins.ts +10 -0
  345. package/src/PluginRegistration.ts +16 -0
  346. package/src/plugins/bmi/src/BMIField.ts +494 -0
  347. package/src/plugins/likert/src/LikertField.ts +420 -0
  348. package/src/plugins/signature/src/SignatureField.ts +185 -0
  349. package/src/plugins/vitals/src/VitalsField.ts +665 -0
  350. package/Components/HelloComponent.d.ts.map +0 -1
  351. package/Designer.d.ts.map +0 -1
  352. package/FormSpec.TS/Components/HelloComponent.js.map +0 -1
  353. package/FormSpec.TS/Components/HelloComponent.ts.map +0 -1
  354. package/FormSpec.TS/Designer.js.map +0 -1
  355. package/FormSpec.TS/Designer.ts.map +0 -1
  356. package/FormSpec.TS/FormSpecHelpers.js.map +0 -1
  357. package/FormSpec.TS/FormSpecHelpers.ts.map +0 -1
  358. package/FormSpec.TS/FormSpecValues.js.map +0 -1
  359. package/FormSpec.TS/FormSpecValues.ts.map +0 -1
  360. package/FormSpec.TS/Helpers.js.map +0 -1
  361. package/FormSpec.TS/Helpers.ts.map +0 -1
  362. package/FormSpec.TS/Interfaces.js.map +0 -1
  363. package/FormSpec.TS/Interfaces.ts.map +0 -1
  364. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.js.map +0 -1
  365. package/FormSpec.TS/Interop/FormSpec.Api.Helpers.ts.map +0 -1
  366. package/FormSpec.TS/Interop/FormSpec.Api.Option.js.map +0 -1
  367. package/FormSpec.TS/Interop/FormSpec.Api.Option.ts.map +0 -1
  368. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.js.map +0 -1
  369. package/FormSpec.TS/Interop/FormSpec.Values.Api.Option.ts.map +0 -1
  370. package/FormSpec.TS/Logging/LogTypes.js.map +0 -1
  371. package/FormSpec.TS/Logging/LogTypes.ts.map +0 -1
  372. package/FormSpec.TS/Migrator.js.map +0 -1
  373. package/FormSpec.TS/Migrator.ts.map +0 -1
  374. package/FormSpec.TS/PathwayDataExtractor.js.map +0 -1
  375. package/FormSpec.TS/PathwayDataExtractor.ts.map +0 -1
  376. package/FormSpec.TS/PathwayExecutor.js.map +0 -1
  377. package/FormSpec.TS/PathwayExecutor.ts.map +0 -1
  378. package/FormSpec.TS/PathwayValidator.js.map +0 -1
  379. package/FormSpec.TS/PathwayValidator.ts.map +0 -1
  380. package/FormSpec.TS/PluginInterface.js.map +0 -1
  381. package/FormSpec.TS/PluginInterface.ts.map +0 -1
  382. package/FormSpec.TS/Prelude.js.map +0 -1
  383. package/FormSpec.TS/Prelude.ts.map +0 -1
  384. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.js.map +0 -1
  385. package/FormSpec.TS/Renderers/FormSpecMarkdownRenderer.ts.map +0 -1
  386. package/FormSpec.TS/Renderers/MermaidRenderer.js.map +0 -1
  387. package/FormSpec.TS/Renderers/MermaidRenderer.ts.map +0 -1
  388. package/FormSpec.TS/Renderers/PathwayRenderers.js.map +0 -1
  389. package/FormSpec.TS/Renderers/PathwayRenderers.ts.map +0 -1
  390. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs +0 -83
  391. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.js.map +0 -1
  392. package/FormSpec.TS/fable_modules/Feliz.2.7.0/Interop.fs.ts.map +0 -1
  393. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.js +0 -561
  394. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.js.map +0 -1
  395. package/FormSpec.TS/fable_modules/Feliz.2.7.0/React.fs.ts.map +0 -1
  396. package/FormSpec.d.ts.map +0 -1
  397. package/FormSpecHelpers.d.ts.map +0 -1
  398. package/FormSpecValues.d.ts.map +0 -1
  399. package/Helpers.d.ts.map +0 -1
  400. package/Interfaces.d.ts.map +0 -1
  401. package/Interop/FormSpec.Api.Helpers.d.ts.map +0 -1
  402. package/Interop/FormSpec.Api.Option.d.ts.map +0 -1
  403. package/Interop/FormSpec.Values.Api.Option.d.ts.map +0 -1
  404. package/Logging/LogTypes.d.ts.map +0 -1
  405. package/Migrator.d.ts.map +0 -1
  406. package/PathwayDataExtractor.d.ts.map +0 -1
  407. package/PathwayExecutor.d.ts.map +0 -1
  408. package/PathwayValidator.d.ts.map +0 -1
  409. package/PluginInterface.d.ts.map +0 -1
  410. package/Prelude.d.ts.map +0 -1
  411. package/Renderers/FormSpecMarkdownRenderer.d.ts.map +0 -1
  412. package/Renderers/MermaidRenderer.d.ts.map +0 -1
  413. package/Renderers/PathwayRenderers.d.ts.map +0 -1
  414. /package/{Components → FormSpec.FS/Components}/HelloComponent.d.ts +0 -0
  415. /package/{Designer.d.ts → FormSpec.FS/Designer.d.ts} +0 -0
  416. /package/{FormSpec.d.ts → FormSpec.FS/FormSpec.d.ts} +0 -0
  417. /package/{FormSpecHelpers.d.ts → FormSpec.FS/FormSpecHelpers.d.ts} +0 -0
  418. /package/{FormSpecValues.d.ts → FormSpec.FS/FormSpecValues.d.ts} +0 -0
  419. /package/{Helpers.d.ts → FormSpec.FS/Helpers.d.ts} +0 -0
  420. /package/{Interfaces.d.ts → FormSpec.FS/Interfaces.d.ts} +0 -0
  421. /package/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Helpers.d.ts +0 -0
  422. /package/{Interop → FormSpec.FS/Interop}/FormSpec.Api.Option.d.ts +0 -0
  423. /package/{Interop → FormSpec.FS/Interop}/FormSpec.Values.Api.Option.d.ts +0 -0
  424. /package/{Logging → FormSpec.FS/Logging}/LogTypes.d.ts +0 -0
  425. /package/{Migrator.d.ts → FormSpec.FS/Migrator.d.ts} +0 -0
  426. /package/{PathwayDataExtractor.d.ts → FormSpec.FS/PathwayDataExtractor.d.ts} +0 -0
  427. /package/{PathwayExecutor.d.ts → FormSpec.FS/PathwayExecutor.d.ts} +0 -0
  428. /package/{PathwayValidator.d.ts → FormSpec.FS/PathwayValidator.d.ts} +0 -0
  429. /package/{PluginInterface.d.ts → FormSpec.FS/PluginInterface.d.ts} +0 -0
  430. /package/{Prelude.d.ts → FormSpec.FS/Prelude.d.ts} +0 -0
  431. /package/{Renderers → FormSpec.FS/Renderers}/FormSpecMarkdownRenderer.d.ts +0 -0
  432. /package/{Renderers → FormSpec.FS/Renderers}/MermaidRenderer.d.ts +0 -0
  433. /package/{Renderers → FormSpec.FS/Renderers}/PathwayRenderers.d.ts +0 -0
  434. /package/FormSpec.TS/{Components → FormSpec.FS/Components}/HelloComponent.js +0 -0
  435. /package/FormSpec.TS/{Designer.js → FormSpec.FS/Designer.js} +0 -0
  436. /package/FormSpec.TS/{FormSpec.js → FormSpec.FS/FormSpec.js} +0 -0
  437. /package/FormSpec.TS/{FormSpecValues.js → FormSpec.FS/FormSpecValues.js} +0 -0
  438. /package/FormSpec.TS/{Helpers.js → FormSpec.FS/Helpers.js} +0 -0
  439. /package/FormSpec.TS/{Interfaces.js → FormSpec.FS/Interfaces.js} +0 -0
  440. /package/FormSpec.TS/{Logging → FormSpec.FS/Logging}/LogTypes.js +0 -0
  441. /package/FormSpec.TS/{PathwayDataExtractor.js → FormSpec.FS/PathwayDataExtractor.js} +0 -0
  442. /package/FormSpec.TS/{PathwayValidator.js → FormSpec.FS/PathwayValidator.js} +0 -0
  443. /package/FormSpec.TS/{PluginInterface.js → FormSpec.FS/PluginInterface.js} +0 -0
  444. /package/FormSpec.TS/{Prelude.js → FormSpec.FS/Prelude.js} +0 -0
  445. /package/FormSpec.TS/{Renderers → FormSpec.FS/Renderers}/FormSpecMarkdownRenderer.js +0 -0
  446. /package/FormSpec.TS/{Renderers → FormSpec.FS/Renderers}/MermaidRenderer.js +0 -0
  447. /package/FormSpec.TS/{Renderers → FormSpec.FS/Renderers}/PathwayRenderers.js +0 -0
  448. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/BorderStyle.fs +0 -0
  449. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Colors.fs +0 -0
  450. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Colors.fs.js +0 -0
  451. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Colors.fs.ts.map +0 -0
  452. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Fonts.fs +0 -0
  453. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/GridTypes.fs +0 -0
  454. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Html.fs +0 -0
  455. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0/ReactTypes.fs.ts.map → Feliz.2.8.0/Interop.fs.ts.map} +0 -0
  456. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Key.fs +0 -0
  457. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Key.fs.js +0 -0
  458. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Key.fs.ts.map +0 -0
  459. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Locale.fs +0 -0
  460. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Properties.fs.js +0 -0
  461. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Properties.fs.ts.map +0 -0
  462. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactDOM.fs +0 -0
  463. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactDOM.fs.js +0 -0
  464. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactDOM.fs.ts.map +0 -0
  465. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactInterop.js +0 -0
  466. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/ReactTypes.fs.js +0 -0
  467. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0/StyleTypes.fs.ts.map → Feliz.2.8.0/ReactTypes.fs.ts.map} +0 -0
  468. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/StyleTypes.fs.js +0 -0
  469. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0/Svg.fs.ts.map → Feliz.2.8.0/StyleTypes.fs.ts.map} +0 -0
  470. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Svg.fs +0 -0
  471. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Svg.fs.js +0 -0
  472. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0/Types.fs.ts.map → Feliz.2.8.0/Svg.fs.ts.map} +0 -0
  473. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/TextDecorationLine.fs +0 -0
  474. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/TextDecorationStyle.fs +0 -0
  475. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Transform.fs +0 -0
  476. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/TransformOrigin.fs +0 -0
  477. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/TransitionProperty.fs +0 -0
  478. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Types.fs +0 -0
  479. /package/FormSpec.TS/fable_modules/{Feliz.2.7.0 → Feliz.2.8.0}/Types.fs.js +0 -0
  480. /package/src/{Components → FormSpec.FS/Components}/HelloComponent.ts +0 -0
  481. /package/src/{Designer.ts → FormSpec.FS/Designer.ts} +0 -0
  482. /package/src/{FormSpec.ts → FormSpec.FS/FormSpec.ts} +0 -0
  483. /package/src/{FormSpecValues.ts → FormSpec.FS/FormSpecValues.ts} +0 -0
  484. /package/src/{Helpers.ts → FormSpec.FS/Helpers.ts} +0 -0
  485. /package/src/{Interfaces.ts → FormSpec.FS/Interfaces.ts} +0 -0
  486. /package/src/{Logging → FormSpec.FS/Logging}/LogTypes.ts +0 -0
  487. /package/src/{PathwayDataExtractor.ts → FormSpec.FS/PathwayDataExtractor.ts} +0 -0
  488. /package/src/{PathwayValidator.ts → FormSpec.FS/PathwayValidator.ts} +0 -0
  489. /package/src/{PluginInterface.ts → FormSpec.FS/PluginInterface.ts} +0 -0
  490. /package/src/{Prelude.ts → FormSpec.FS/Prelude.ts} +0 -0
  491. /package/src/{Renderers → FormSpec.FS/Renderers}/FormSpecMarkdownRenderer.ts +0 -0
  492. /package/src/{Renderers → FormSpec.FS/Renderers}/MermaidRenderer.ts +0 -0
  493. /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 "./fable_modules/Thoth.Json.10.4.1/Encode.fs.js";
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