@dnb/eufemia 10.31.0 → 10.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/cjs/components/anchor/Anchor.d.ts +8 -1
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/card/Card.js +3 -2
  5. package/cjs/components/card/Card.js.map +1 -1
  6. package/cjs/components/card/style/dnb-card.css +1 -2
  7. package/cjs/components/card/style/dnb-card.min.css +1 -1
  8. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  9. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  10. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  11. package/cjs/components/checkbox/style/dnb-checkbox.css +2 -2
  12. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  13. package/cjs/components/checkbox/style/dnb-checkbox.scss +2 -3
  14. package/cjs/components/flex/Container.d.ts +4 -1
  15. package/cjs/components/flex/Container.js +10 -7
  16. package/cjs/components/flex/Container.js.map +1 -1
  17. package/cjs/components/flex/Stack.js +3 -3
  18. package/cjs/components/flex/Stack.js.map +1 -1
  19. package/cjs/components/flex/utils.js +7 -7
  20. package/cjs/components/flex/utils.js.map +1 -1
  21. package/cjs/components/skeleton/style/dnb-skeleton.css +4 -8
  22. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  23. package/cjs/components/space/SpacingUtils.d.ts +1 -1
  24. package/cjs/components/space/SpacingUtils.js +1 -1
  25. package/cjs/components/space/SpacingUtils.js.map +1 -1
  26. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  27. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  28. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  29. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  30. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  31. package/cjs/components/table/style/dnb-table.css +5 -10
  32. package/cjs/components/table/style/dnb-table.min.css +1 -1
  33. package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  34. package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  35. package/cjs/extensions/forms/DataContext/Context.d.ts +19 -9
  36. package/cjs/extensions/forms/DataContext/Context.js +2 -2
  37. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  38. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  39. package/cjs/extensions/forms/DataContext/Provider/Provider.js +68 -32
  40. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  41. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  42. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  43. package/cjs/extensions/forms/Field/Boolean/Boolean.js +2 -1
  44. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  45. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  46. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  47. package/cjs/extensions/forms/Field/Number/Number.js +3 -1
  48. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  49. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  50. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  51. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  52. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  53. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  54. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  55. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  56. package/cjs/extensions/forms/Form/Element/Element.js +1 -1
  57. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  58. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  59. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  60. package/cjs/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  61. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js +100 -0
  62. package/cjs/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  63. package/cjs/extensions/forms/Form/Tools/index.d.ts +1 -0
  64. package/cjs/extensions/forms/Form/Tools/index.js +14 -0
  65. package/cjs/extensions/forms/Form/Tools/index.js.map +1 -0
  66. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  67. package/cjs/extensions/forms/Form/Visibility/Visibility.js +41 -10
  68. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  69. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  70. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  71. package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
  72. package/cjs/extensions/forms/Form/data-context/useData.js +2 -2
  73. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  74. package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
  75. package/cjs/extensions/forms/Form/data-context/useError.js +5 -3
  76. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  77. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  78. package/cjs/extensions/forms/Form/index.js +5 -0
  79. package/cjs/extensions/forms/Form/index.js.map +1 -1
  80. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  81. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  82. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  83. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  84. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  85. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  86. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  87. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  88. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  89. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  90. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  91. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  92. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  93. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  94. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  95. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  96. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  97. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  98. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  99. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  100. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  101. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  102. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  103. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
  104. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  105. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  106. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  107. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +6 -1
  108. package/cjs/extensions/forms/Wizard/Step/Step.js +9 -5
  109. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  110. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  111. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  112. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  113. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  114. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  115. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  116. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  117. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  118. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  119. package/cjs/extensions/forms/hooks/useFieldProps.js +70 -31
  120. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  121. package/cjs/extensions/forms/style/dnb-forms.css +4 -5
  122. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  123. package/cjs/extensions/forms/types.d.ts +4 -0
  124. package/cjs/extensions/forms/types.js.map +1 -1
  125. package/cjs/fragments/drawer-list/DrawerListHelpers.js +5 -2
  126. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  127. package/cjs/shared/Eufemia.d.ts +1 -1
  128. package/cjs/shared/Eufemia.js +2 -2
  129. package/cjs/shared/Eufemia.js.map +1 -1
  130. package/cjs/shared/MediaQuery.js +19 -1
  131. package/cjs/shared/MediaQuery.js.map +1 -1
  132. package/cjs/shared/MediaQueryUtils.d.ts +12 -34
  133. package/cjs/shared/MediaQueryUtils.js +22 -12
  134. package/cjs/shared/MediaQueryUtils.js.map +1 -1
  135. package/cjs/shared/component-helper.d.ts +1 -1
  136. package/cjs/shared/component-helper.js +5 -1
  137. package/cjs/shared/component-helper.js.map +1 -1
  138. package/cjs/shared/useMedia.d.ts +7 -2
  139. package/cjs/shared/useMedia.js +16 -11
  140. package/cjs/shared/useMedia.js.map +1 -1
  141. package/cjs/shared/useMediaQuery.js +30 -9
  142. package/cjs/shared/useMediaQuery.js.map +1 -1
  143. package/cjs/style/core/scopes.scss +1 -1
  144. package/cjs/style/dnb-ui-basis.css +2 -3
  145. package/cjs/style/dnb-ui-basis.min.css +1 -1
  146. package/cjs/style/dnb-ui-body.css +1 -1
  147. package/cjs/style/dnb-ui-body.min.css +1 -1
  148. package/cjs/style/dnb-ui-components.css +17 -29
  149. package/cjs/style/dnb-ui-components.min.css +3 -3
  150. package/cjs/style/dnb-ui-core.css +2 -3
  151. package/cjs/style/dnb-ui-core.min.css +1 -1
  152. package/cjs/style/dnb-ui-extensions.css +4 -5
  153. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  154. package/cjs/style/dnb-ui-forms.css +4 -5
  155. package/cjs/style/dnb-ui-forms.min.css +1 -1
  156. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +26 -36
  157. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  158. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  159. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  160. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  161. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  162. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  163. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  164. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +99 -112
  165. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  166. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  167. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  168. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  169. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  170. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  171. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  172. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  173. package/cjs/style/themes/theme-ui/ui-theme-components.css +26 -36
  174. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  175. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  176. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  177. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  178. package/cjs/style/themes/theme-ui/ui-theme-forms.css +8 -5
  179. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  180. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  181. package/components/anchor/Anchor.d.ts +8 -1
  182. package/components/anchor/Anchor.js.map +1 -1
  183. package/components/card/Card.js +3 -2
  184. package/components/card/Card.js.map +1 -1
  185. package/components/card/style/dnb-card.css +1 -2
  186. package/components/card/style/dnb-card.min.css +1 -1
  187. package/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  188. package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  189. package/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  190. package/components/checkbox/style/dnb-checkbox.css +2 -2
  191. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  192. package/components/checkbox/style/dnb-checkbox.scss +2 -3
  193. package/components/flex/Container.d.ts +4 -1
  194. package/components/flex/Container.js +10 -7
  195. package/components/flex/Container.js.map +1 -1
  196. package/components/flex/Stack.js +3 -3
  197. package/components/flex/Stack.js.map +1 -1
  198. package/components/flex/utils.js +8 -8
  199. package/components/flex/utils.js.map +1 -1
  200. package/components/skeleton/style/dnb-skeleton.css +4 -8
  201. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  202. package/components/space/SpacingUtils.d.ts +1 -1
  203. package/components/space/SpacingUtils.js +1 -1
  204. package/components/space/SpacingUtils.js.map +1 -1
  205. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  206. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  207. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  208. package/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  209. package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  210. package/components/table/style/dnb-table.css +5 -10
  211. package/components/table/style/dnb-table.min.css +1 -1
  212. package/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  213. package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  214. package/es/components/anchor/Anchor.d.ts +8 -1
  215. package/es/components/anchor/Anchor.js.map +1 -1
  216. package/es/components/card/Card.js +3 -2
  217. package/es/components/card/Card.js.map +1 -1
  218. package/es/components/card/style/dnb-card.css +1 -2
  219. package/es/components/card/style/dnb-card.min.css +1 -1
  220. package/es/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  221. package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  222. package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  223. package/es/components/checkbox/style/dnb-checkbox.css +2 -2
  224. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  225. package/es/components/checkbox/style/dnb-checkbox.scss +2 -3
  226. package/es/components/flex/Container.d.ts +4 -1
  227. package/es/components/flex/Container.js +10 -7
  228. package/es/components/flex/Container.js.map +1 -1
  229. package/es/components/flex/Stack.js +3 -3
  230. package/es/components/flex/Stack.js.map +1 -1
  231. package/es/components/flex/utils.js +8 -8
  232. package/es/components/flex/utils.js.map +1 -1
  233. package/es/components/skeleton/style/dnb-skeleton.css +4 -8
  234. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  235. package/es/components/space/SpacingUtils.d.ts +1 -1
  236. package/es/components/space/SpacingUtils.js +1 -1
  237. package/es/components/space/SpacingUtils.js.map +1 -1
  238. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  239. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  240. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  241. package/es/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  242. package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  243. package/es/components/table/style/dnb-table.css +5 -10
  244. package/es/components/table/style/dnb-table.min.css +1 -1
  245. package/es/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  246. package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  247. package/es/extensions/forms/DataContext/Context.d.ts +19 -9
  248. package/es/extensions/forms/DataContext/Context.js +2 -2
  249. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  250. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  251. package/es/extensions/forms/DataContext/Provider/Provider.js +65 -30
  252. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  253. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  254. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  255. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -1
  256. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  257. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  258. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  259. package/es/extensions/forms/Field/Number/Number.js +3 -1
  260. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  261. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  262. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  263. package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  264. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  265. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  266. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  267. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  268. package/es/extensions/forms/Form/Element/Element.js +1 -1
  269. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  270. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  271. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  272. package/es/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  273. package/es/extensions/forms/Form/Tools/GenerateSchema.js +89 -0
  274. package/es/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  275. package/es/extensions/forms/Form/Tools/index.d.ts +1 -0
  276. package/es/extensions/forms/Form/Tools/index.js +1 -0
  277. package/es/extensions/forms/Form/Tools/index.js.map +1 -0
  278. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  279. package/es/extensions/forms/Form/Visibility/Visibility.js +41 -10
  280. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  281. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  282. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  283. package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
  284. package/es/extensions/forms/Form/data-context/useData.js +1 -2
  285. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  286. package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
  287. package/es/extensions/forms/Form/data-context/useError.js +5 -3
  288. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  289. package/es/extensions/forms/Form/index.d.ts +1 -0
  290. package/es/extensions/forms/Form/index.js +1 -0
  291. package/es/extensions/forms/Form/index.js.map +1 -1
  292. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  293. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  294. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  295. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  296. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  297. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  298. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  299. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  300. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  301. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  302. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  303. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  304. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  305. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  306. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  307. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  308. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  309. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  310. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  311. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  312. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  313. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  314. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  315. package/es/extensions/forms/Wizard/Container/WizardContainer.js +98 -32
  316. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  317. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  318. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  319. package/es/extensions/forms/Wizard/Step/Step.d.ts +6 -1
  320. package/es/extensions/forms/Wizard/Step/Step.js +9 -5
  321. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  322. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  323. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  324. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  325. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  326. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  327. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  328. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  329. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  330. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  331. package/es/extensions/forms/hooks/useFieldProps.js +67 -28
  332. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  333. package/es/extensions/forms/style/dnb-forms.css +4 -5
  334. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  335. package/es/extensions/forms/types.d.ts +4 -0
  336. package/es/extensions/forms/types.js.map +1 -1
  337. package/es/fragments/drawer-list/DrawerListHelpers.js +5 -2
  338. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  339. package/es/shared/Eufemia.d.ts +1 -1
  340. package/es/shared/Eufemia.js +2 -2
  341. package/es/shared/Eufemia.js.map +1 -1
  342. package/es/shared/MediaQuery.js +19 -1
  343. package/es/shared/MediaQuery.js.map +1 -1
  344. package/es/shared/MediaQueryUtils.d.ts +12 -34
  345. package/es/shared/MediaQueryUtils.js +22 -17
  346. package/es/shared/MediaQueryUtils.js.map +1 -1
  347. package/es/shared/component-helper.d.ts +1 -1
  348. package/es/shared/component-helper.js +5 -2
  349. package/es/shared/component-helper.js.map +1 -1
  350. package/es/shared/useMedia.d.ts +7 -2
  351. package/es/shared/useMedia.js +14 -11
  352. package/es/shared/useMedia.js.map +1 -1
  353. package/es/shared/useMediaQuery.js +28 -9
  354. package/es/shared/useMediaQuery.js.map +1 -1
  355. package/es/style/core/scopes.scss +1 -1
  356. package/es/style/dnb-ui-basis.css +2 -3
  357. package/es/style/dnb-ui-basis.min.css +1 -1
  358. package/es/style/dnb-ui-body.css +1 -1
  359. package/es/style/dnb-ui-body.min.css +1 -1
  360. package/es/style/dnb-ui-components.css +17 -29
  361. package/es/style/dnb-ui-components.min.css +3 -3
  362. package/es/style/dnb-ui-core.css +2 -3
  363. package/es/style/dnb-ui-core.min.css +1 -1
  364. package/es/style/dnb-ui-extensions.css +4 -5
  365. package/es/style/dnb-ui-extensions.min.css +1 -1
  366. package/es/style/dnb-ui-forms.css +4 -5
  367. package/es/style/dnb-ui-forms.min.css +1 -1
  368. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +26 -36
  369. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  370. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  371. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  372. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  373. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  374. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  375. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  376. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +99 -112
  377. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  378. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  379. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  380. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  381. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  382. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  383. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  384. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  385. package/es/style/themes/theme-ui/ui-theme-components.css +26 -36
  386. package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  387. package/es/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  388. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  389. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  390. package/es/style/themes/theme-ui/ui-theme-forms.css +8 -5
  391. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  392. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  393. package/esm/dnb-ui-basis.min.mjs +1 -1
  394. package/esm/dnb-ui-components.min.mjs +1 -1
  395. package/esm/dnb-ui-elements.min.mjs +1 -1
  396. package/esm/dnb-ui-extensions.min.mjs +2 -2
  397. package/esm/dnb-ui-lib.min.mjs +1 -1
  398. package/extensions/forms/DataContext/Context.d.ts +19 -9
  399. package/extensions/forms/DataContext/Context.js +2 -2
  400. package/extensions/forms/DataContext/Context.js.map +1 -1
  401. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  402. package/extensions/forms/DataContext/Provider/Provider.js +68 -32
  403. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  404. package/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  405. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  406. package/extensions/forms/Field/Boolean/Boolean.js +2 -1
  407. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  408. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  409. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  410. package/extensions/forms/Field/Number/Number.js +3 -1
  411. package/extensions/forms/Field/Number/Number.js.map +1 -1
  412. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  413. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  414. package/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  415. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  416. package/extensions/forms/FieldBlock/style/dnb-field-block.css +1 -3
  417. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  418. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +1 -2
  419. package/extensions/forms/Form/Element/Element.js +1 -1
  420. package/extensions/forms/Form/Element/Element.js.map +1 -1
  421. package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  422. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  423. package/extensions/forms/Form/Tools/GenerateSchema.d.ts +8 -0
  424. package/extensions/forms/Form/Tools/GenerateSchema.js +90 -0
  425. package/extensions/forms/Form/Tools/GenerateSchema.js.map +1 -0
  426. package/extensions/forms/Form/Tools/index.d.ts +1 -0
  427. package/extensions/forms/Form/Tools/index.js +1 -0
  428. package/extensions/forms/Form/Tools/index.js.map +1 -0
  429. package/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  430. package/extensions/forms/Form/Visibility/Visibility.js +41 -10
  431. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  432. package/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  433. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  434. package/extensions/forms/Form/data-context/useData.d.ts +1 -1
  435. package/extensions/forms/Form/data-context/useData.js +2 -2
  436. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  437. package/extensions/forms/Form/data-context/useError.d.ts +1 -0
  438. package/extensions/forms/Form/data-context/useError.js +5 -3
  439. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  440. package/extensions/forms/Form/index.d.ts +1 -0
  441. package/extensions/forms/Form/index.js +2 -0
  442. package/extensions/forms/Form/index.js.map +1 -1
  443. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  444. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  445. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  446. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  447. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  448. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  449. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  450. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  451. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  452. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  453. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  454. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  455. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  456. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  457. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  458. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  459. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  460. package/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  461. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  462. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  463. package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  464. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  465. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  466. package/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
  467. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  468. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  469. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  470. package/extensions/forms/Wizard/Step/Step.d.ts +6 -1
  471. package/extensions/forms/Wizard/Step/Step.js +9 -5
  472. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  473. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  474. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  475. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  476. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  477. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  478. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  479. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  480. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  481. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  482. package/extensions/forms/hooks/useFieldProps.js +70 -31
  483. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  484. package/extensions/forms/style/dnb-forms.css +4 -5
  485. package/extensions/forms/style/dnb-forms.min.css +1 -1
  486. package/extensions/forms/types.d.ts +4 -0
  487. package/extensions/forms/types.js.map +1 -1
  488. package/fragments/drawer-list/DrawerListHelpers.js +5 -2
  489. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  490. package/package.json +1 -1
  491. package/shared/Eufemia.d.ts +1 -1
  492. package/shared/Eufemia.js +2 -2
  493. package/shared/Eufemia.js.map +1 -1
  494. package/shared/MediaQuery.js +19 -1
  495. package/shared/MediaQuery.js.map +1 -1
  496. package/shared/MediaQueryUtils.d.ts +12 -34
  497. package/shared/MediaQueryUtils.js +22 -12
  498. package/shared/MediaQueryUtils.js.map +1 -1
  499. package/shared/component-helper.d.ts +1 -1
  500. package/shared/component-helper.js +5 -1
  501. package/shared/component-helper.js.map +1 -1
  502. package/shared/useMedia.d.ts +7 -2
  503. package/shared/useMedia.js +14 -11
  504. package/shared/useMedia.js.map +1 -1
  505. package/shared/useMediaQuery.js +28 -9
  506. package/shared/useMediaQuery.js.map +1 -1
  507. package/style/core/scopes.scss +1 -1
  508. package/style/dnb-ui-basis.css +2 -3
  509. package/style/dnb-ui-basis.min.css +1 -1
  510. package/style/dnb-ui-body.css +1 -1
  511. package/style/dnb-ui-body.min.css +1 -1
  512. package/style/dnb-ui-components.css +17 -29
  513. package/style/dnb-ui-components.min.css +3 -3
  514. package/style/dnb-ui-core.css +2 -3
  515. package/style/dnb-ui-core.min.css +1 -1
  516. package/style/dnb-ui-extensions.css +4 -5
  517. package/style/dnb-ui-extensions.min.css +1 -1
  518. package/style/dnb-ui-forms.css +4 -5
  519. package/style/dnb-ui-forms.min.css +1 -1
  520. package/style/themes/theme-eiendom/eiendom-theme-components.css +26 -36
  521. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  522. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +8 -5
  523. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  524. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  525. package/style/themes/theme-eiendom/eiendom-theme-forms.css +8 -5
  526. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  527. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  528. package/style/themes/theme-sbanken/sbanken-theme-components.css +99 -112
  529. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  530. package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  531. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +5 -5
  532. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  533. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  534. package/style/themes/theme-sbanken/sbanken-theme-forms.css +5 -5
  535. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  536. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  537. package/style/themes/theme-ui/ui-theme-components.css +26 -36
  538. package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  539. package/style/themes/theme-ui/ui-theme-extensions.css +8 -5
  540. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  541. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  542. package/style/themes/theme-ui/ui-theme-forms.css +8 -5
  543. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  544. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  545. package/umd/dnb-ui-basis.min.js +1 -1
  546. package/umd/dnb-ui-components.min.js +1 -1
  547. package/umd/dnb-ui-elements.min.js +1 -1
  548. package/umd/dnb-ui-extensions.min.js +2 -2
  549. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","exports","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from 'json-pointer'\nimport { AriaAttributes } from 'react'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersions =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<unknown>\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: string\n value?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: OnChangeValue<Value, EmptyValue>\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions\n validator?: (\n value: Value | EmptyValue,\n errorMessages?: ErrorMessages\n ) => Error | undefined | void | Promise<Error | undefined | void>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | void | Promise<Error | undefined | void>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (internal: Value | unknown) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value form the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: string\n }\n}\n\nexport interface ValueProps<Value>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n { resetForm, clearData }: OnSubmitParams\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = unknown> = (\n data: Data\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n\nexport type OnChangeValue<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = (\n value: Value | EmptyValue,\n additionalArgs?: AdditionalEventArgs\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":"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"}
1
+ {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","exports","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from 'json-pointer'\nimport { AriaAttributes } from 'react'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersions =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<unknown>\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: string\n value?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: OnChangeValue<Value, EmptyValue>\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions\n validator?: (\n value: Value | EmptyValue,\n errorMessages?: ErrorMessages\n ) => Error | undefined | void | Promise<Error | undefined | void>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | void | Promise<Error | undefined | void>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (internal: Value | unknown) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value form the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: string\n }\n}\n\nexport interface ValueProps<Value>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n { resetForm, clearData }: OnSubmitParams\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = unknown> = (\n data: Data\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n\nexport type OnChangeValue<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = (\n value: Value | EmptyValue,\n additionalArgs?: AdditionalEventArgs\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":"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"}
@@ -161,9 +161,12 @@ const parseContentTitle = function (dataItem) {
161
161
  }
162
162
  if (hasValue) {
163
163
  if (preferSelectedValue) {
164
- ret = String((0, _componentHelper.convertJsxToString)(dataItem.selected_value));
164
+ ret = String((0, _componentHelper.convertJsxToString)(dataItem.selected_value, separator, word => {
165
+ const shouldTransform = !word.props.children && word.type().props.children;
166
+ return shouldTransform ? word.type() : word;
167
+ }));
165
168
  } else if (!onlyNumericRegex.test(dataItem.selected_value)) {
166
- ret = String((0, _componentHelper.convertJsxToString)(dataItem.selected_value)) + separator + ret;
169
+ ret = String((0, _componentHelper.convertJsxToString)()) + separator + ret;
167
170
  }
168
171
  }
169
172
  if (Array.isArray(dataItem) && dataItem.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerListHelpers.js","names":["_react","_interopRequireDefault","require","_propTypes","_componentHelper","_SpacingHelper","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","drawerListPropTypes","id","PropTypes","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","func","node","wrapper_element","default_value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","class","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","content","prepared_data","array","raw_data","ignore_events","spacingPropTypes","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","exports","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","_dataItem","separator","removeNumericOnlyValues","preferSelectedValue","ret","onlyNumericRegex","Array","isArray","hasValue","reduce","acc","cur","convertJsxToString","found","match","join","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","React","isValidElement","normalizeData","props","list","type","map","item","__id","_item","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","isNaN","parseFloat","l","_data$i","_data$i2","getSelectedItemValue","state","_","current","getEventData","item_index","getCurrentData","find","_ref","prepareStartupState","selected_item","isTrue","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","dispatchCustomElementEvent","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.js"],"sourcesContent":["/**\n * Web DrawerList Helpers\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\n\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n prepared_data: PropTypes.array,\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n class: null,\n data: null,\n prepared_data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n options_render: null,\n}\n\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport const parseContentTitle = (\n dataItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n) => {\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n if (Array.isArray(dataItem) && dataItem.length > 0) {\n dataItem = { content: dataItem }\n }\n\n const hasValue = dataItem?.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n dataItem &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce((acc, cur) => {\n // check if we have React inside, with strings we can use\n cur = convertJsxToString(cur, ' ')\n if (cur === false) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && cur && cur.match(onlyNumericRegex)\n if (!(found && found[0].length === cur.length)) {\n acc.push(cur)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(\n (dataItem && dataItem.content) || dataItem,\n ' '\n )\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(convertJsxToString(dataItem.selected_value))\n } else if (!onlyNumericRegex.test(dataItem.selected_value)) {\n ret =\n String(convertJsxToString(dataItem.selected_value)) +\n separator +\n ret\n }\n }\n\n // make sure we don't return empty strings\n if (Array.isArray(dataItem) && dataItem.length === 0) {\n ret = null\n }\n\n if (ret && ret.length === 1 && ret[0].ignore_events) {\n return null\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport const preSelectData = (data) => {\n if (typeof data === 'string') {\n data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n// normalize data\nexport const normalizeData = (props) => {\n let data = preSelectData(props.data || props.children || props)\n\n if (data && typeof data === 'object' && !Array.isArray(data)) {\n const list = []\n for (const key in data) {\n list.push({\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return (data || []).map((item, __id) => {\n if (\n typeof item === 'number' ||\n typeof item === 'string' ||\n Array.isArray(item) ||\n React.isValidElement(item)\n ) {\n item = { content: item, __isTransformed: true }\n }\n\n return typeof item?.__id !== 'undefined' ? item : { ...item, __id }\n })\n}\n\nexport const getData = (props) => {\n if (props.prepared_data && Array.isArray(props.prepared_data)) {\n return props.prepared_data\n }\n\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n else if (selectedKeyExists()) {\n return data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n }\n // 3. if is numeric, handle it as a index.\n else if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n data = parseCurrentValue(data)\n }\n\n return data\n}\n\nexport const prepareStartupState = (props) => {\n const selected_item = null\n const raw_data = preSelectData(\n props.raw_data || props.data || props.children\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data, // to have a backup to look up what we got in the first place (array vs object)\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (props, state) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (\n typeof props.wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n const wrapper_element = document.querySelector(props.wrapper_element)\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(parseFloat(state.active_item) > -2) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (parseFloat(state.selected_item) > -1) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":"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"}
1
+ {"version":3,"file":"DrawerListHelpers.js","names":["_react","_interopRequireDefault","require","_propTypes","_componentHelper","_SpacingHelper","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","drawerListPropTypes","id","PropTypes","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","func","node","wrapper_element","default_value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","class","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","content","prepared_data","array","raw_data","ignore_events","spacingPropTypes","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","exports","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","_dataItem","separator","removeNumericOnlyValues","preferSelectedValue","ret","onlyNumericRegex","Array","isArray","hasValue","reduce","acc","cur","convertJsxToString","found","match","join","word","shouldTransform","props","type","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","React","isValidElement","normalizeData","list","map","item","__id","_item","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","isNaN","parseFloat","l","_data$i","_data$i2","getSelectedItemValue","state","_","current","getEventData","item_index","getCurrentData","find","_ref","prepareStartupState","selected_item","isTrue","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","dispatchCustomElementEvent","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.js"],"sourcesContent":["/**\n * Web DrawerList Helpers\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\n\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n prepared_data: PropTypes.array,\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n class: null,\n data: null,\n prepared_data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n options_render: null,\n}\n\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport const parseContentTitle = (\n dataItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n) => {\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n if (Array.isArray(dataItem) && dataItem.length > 0) {\n dataItem = { content: dataItem }\n }\n\n const hasValue = dataItem?.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n dataItem &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce((acc, cur) => {\n // check if we have React inside, with strings we can use\n cur = convertJsxToString(cur, ' ')\n if (cur === false) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && cur && cur.match(onlyNumericRegex)\n if (!(found && found[0].length === cur.length)) {\n acc.push(cur)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(\n (dataItem && dataItem.content) || dataItem,\n ' '\n )\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(\n convertJsxToString(dataItem.selected_value, separator, (word) => {\n const shouldTransform =\n !word.props.children && word.type().props.children\n\n return shouldTransform ? word.type() : word\n })\n )\n } else if (!onlyNumericRegex.test(dataItem.selected_value)) {\n ret = String(convertJsxToString()) + separator + ret\n }\n }\n\n // make sure we don't return empty strings\n if (Array.isArray(dataItem) && dataItem.length === 0) {\n ret = null\n }\n\n if (ret && ret.length === 1 && ret[0].ignore_events) {\n return null\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport const preSelectData = (data) => {\n if (typeof data === 'string') {\n data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n// normalize data\nexport const normalizeData = (props) => {\n let data = preSelectData(props.data || props.children || props)\n\n if (data && typeof data === 'object' && !Array.isArray(data)) {\n const list = []\n for (const key in data) {\n list.push({\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return (data || []).map((item, __id) => {\n if (\n typeof item === 'number' ||\n typeof item === 'string' ||\n Array.isArray(item) ||\n React.isValidElement(item)\n ) {\n item = { content: item, __isTransformed: true }\n }\n\n return typeof item?.__id !== 'undefined' ? item : { ...item, __id }\n })\n}\n\nexport const getData = (props) => {\n if (props.prepared_data && Array.isArray(props.prepared_data)) {\n return props.prepared_data\n }\n\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n else if (selectedKeyExists()) {\n return data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n }\n // 3. if is numeric, handle it as a index.\n else if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n data = parseCurrentValue(data)\n }\n\n return data\n}\n\nexport const prepareStartupState = (props) => {\n const selected_item = null\n const raw_data = preSelectData(\n props.raw_data || props.data || props.children\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data, // to have a backup to look up what we got in the first place (array vs object)\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (props, state) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (\n typeof props.wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n const wrapper_element = document.querySelector(props.wrapper_element)\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(parseFloat(state.active_item) > -2) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (parseFloat(state.selected_item) > -1) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "10.31.0";
1
+ export declare const version = "10.32.0";
2
2
  export declare function init(): void;
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.init = init;
7
7
  exports.version = void 0;
8
- const version = '10.31.0';
8
+ const version = '10.32.0';
9
9
  exports.version = version;
10
10
  function init() {
11
11
  if (typeof window !== 'undefined') {
12
12
  class Eufemia {
13
13
  get version() {
14
- return '10.31.0';
14
+ return '10.32.0';
15
15
  }
16
16
  }
17
17
  window.Eufemia = new Eufemia();
@@ -1 +1 @@
1
- {"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.31.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.31.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,SAAS;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAEzB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
1
+ {"version":3,"file":"Eufemia.js","names":["version","exports","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.32.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.32.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":";;;;;;;AAAO,MAAMA,OAAO,GAAG,SAAS;AAAAC,OAAA,CAAAD,OAAA,GAAAA,OAAA;AAEzB,SAASE,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIJ,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAG,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
@@ -43,7 +43,25 @@ class MediaQuery extends _react.default.PureComponent {
43
43
  }
44
44
  if ((0, _MediaQueryUtils.isMatchMediaSupported)()) {
45
45
  var _this$state$mediaQuer;
46
- this.state.mediaQueryList = (0, _MediaQueryUtils.makeMediaQueryList)(props, context === null || context === void 0 ? void 0 : context.breakpoints);
46
+ const {
47
+ query,
48
+ when,
49
+ not
50
+ } = props;
51
+ const {
52
+ disabled,
53
+ correctRange = true,
54
+ log
55
+ } = props;
56
+ this.state.mediaQueryList = (0, _MediaQueryUtils.makeMediaQueryList)({
57
+ query,
58
+ when,
59
+ not
60
+ }, context === null || context === void 0 ? void 0 : context.breakpoints, {
61
+ disabled,
62
+ correctRange,
63
+ log
64
+ });
47
65
  if ((_this$state$mediaQuer = this.state.mediaQueryList) !== null && _this$state$mediaQuer !== void 0 && _this$state$mediaQuer.matches) {
48
66
  this.state.match = true;
49
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MediaQuery.js","names":["_react","_interopRequireDefault","require","_componentHelper","_Context","_MediaQueryUtils","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","MediaQuery","React","PureComponent","constructor","props","context","match","mediaQueryList","componentWillUnmount","state","listener","createMediaQueryListener","setState","isMatchMediaSupported","isTrue","matchOnSSR","_this$state$mediaQuer","makeMediaQueryList","breakpoints","matches","componentDidMount","bindListener","componentDidUpdate","query","when","not","render","children","createElement","Fragment","exports","Context"],"sources":["../../../src/shared/MediaQuery.tsx"],"sourcesContent":["import React from 'react'\nimport { isTrue } from './component-helper'\nimport Context, { ContextProps } from './Context'\nimport {\n makeMediaQueryList,\n createMediaQueryListener,\n onMediaQueryChange,\n isMatchMediaSupported,\n} from './MediaQueryUtils'\nimport type {\n MediaQueryProps,\n MediaQueryState,\n MediaQueryListener,\n} from './MediaQueryUtils'\n\nexport type { MediaQueryProps }\n\nexport { onMediaQueryChange }\n\nexport default class MediaQuery extends React.PureComponent<\n MediaQueryProps,\n MediaQueryState\n> {\n static contextType = Context\n listener: MediaQueryListener\n context: ContextProps\n\n state = {\n match: null,\n mediaQueryList: null,\n }\n\n constructor(props: MediaQueryProps, context?: ContextProps) {\n super(props)\n\n if (!isMatchMediaSupported() && isTrue(props.matchOnSSR)) {\n this.state.match = true\n }\n\n if (isMatchMediaSupported()) {\n this.state.mediaQueryList = makeMediaQueryList(\n props,\n context?.breakpoints\n )\n\n if (this.state.mediaQueryList?.matches) {\n this.state.match = true\n }\n }\n }\n\n componentDidMount() {\n if (isMatchMediaSupported()) {\n this.bindListener()\n }\n }\n\n componentWillUnmount() {\n if (this.listener) {\n this.listener()\n this.listener = null\n }\n }\n\n componentDidUpdate(props) {\n if (\n this.props.query !== props.query ||\n this.props.when !== props.when ||\n this.props.not !== props.not\n ) {\n const mediaQueryList = makeMediaQueryList(\n this.props,\n this.context.breakpoints\n )\n this.setState(\n {\n match: mediaQueryList?.matches,\n mediaQueryList,\n },\n this.bindListener\n )\n }\n }\n\n bindListener = () => {\n this.componentWillUnmount()\n if (this.state.mediaQueryList) {\n this.listener = createMediaQueryListener(\n this.state.mediaQueryList,\n (match) => {\n this.setState({ match })\n }\n )\n }\n }\n\n render() {\n const { children } = this.props\n return <>{this.state.match ? children : null}</>\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"MediaQuery.js","names":["_react","_interopRequireDefault","require","_componentHelper","_Context","_MediaQueryUtils","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","MediaQuery","React","PureComponent","constructor","props","context","match","mediaQueryList","componentWillUnmount","state","listener","createMediaQueryListener","setState","isMatchMediaSupported","isTrue","matchOnSSR","_this$state$mediaQuer","query","when","not","disabled","correctRange","log","makeMediaQueryList","breakpoints","matches","componentDidMount","bindListener","componentDidUpdate","render","children","createElement","Fragment","exports","Context"],"sources":["../../../src/shared/MediaQuery.tsx"],"sourcesContent":["import React from 'react'\nimport { isTrue } from './component-helper'\nimport Context, { ContextProps } from './Context'\nimport {\n makeMediaQueryList,\n createMediaQueryListener,\n onMediaQueryChange,\n isMatchMediaSupported,\n} from './MediaQueryUtils'\nimport type {\n MediaQueryProps,\n MediaQueryState,\n MediaQueryListener,\n} from './MediaQueryUtils'\n\nexport type { MediaQueryProps }\n\nexport { onMediaQueryChange }\n\nexport default class MediaQuery extends React.PureComponent<\n MediaQueryProps,\n MediaQueryState\n> {\n static contextType = Context\n listener: MediaQueryListener\n context: ContextProps\n\n state = {\n match: null,\n mediaQueryList: null,\n }\n\n constructor(props: MediaQueryProps, context?: ContextProps) {\n super(props)\n\n if (!isMatchMediaSupported() && isTrue(props.matchOnSSR)) {\n this.state.match = true\n }\n\n if (isMatchMediaSupported()) {\n const { query, when, not } = props\n const { disabled, correctRange = true, log } = props\n this.state.mediaQueryList = makeMediaQueryList(\n { query, when, not },\n context?.breakpoints,\n { disabled, correctRange, log }\n )\n\n if (this.state.mediaQueryList?.matches) {\n this.state.match = true\n }\n }\n }\n\n componentDidMount() {\n if (isMatchMediaSupported()) {\n this.bindListener()\n }\n }\n\n componentWillUnmount() {\n if (this.listener) {\n this.listener()\n this.listener = null\n }\n }\n\n componentDidUpdate(props) {\n if (\n this.props.query !== props.query ||\n this.props.when !== props.when ||\n this.props.not !== props.not\n ) {\n const mediaQueryList = makeMediaQueryList(\n this.props,\n this.context.breakpoints\n )\n this.setState(\n {\n match: mediaQueryList?.matches,\n mediaQueryList,\n },\n this.bindListener\n )\n }\n }\n\n bindListener = () => {\n this.componentWillUnmount()\n if (this.state.mediaQueryList) {\n this.listener = createMediaQueryListener(\n this.state.mediaQueryList,\n (match) => {\n this.setState({ match })\n }\n )\n }\n }\n\n render() {\n const { children } = this.props\n return <>{this.state.match ? children : null}</>\n }\n}\n"],"mappings":"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"}
@@ -28,15 +28,22 @@ export type MediaQueryProperties = {
28
28
  * Reverts the defined queries as a whole.
29
29
  */
30
30
  not?: boolean;
31
+ } & MediaQueryCondition;
32
+ export type MediaQueryOptions = {
31
33
  /**
32
34
  * If set to true, no MediaQuery will be used.
33
35
  */
34
36
  disabled?: boolean;
37
+ /**
38
+ * Will correct the size of the media query ranges (e.g. medium will be from 40.0625em to 60em)
39
+ * Default: true
40
+ */
41
+ correctRange?: boolean;
35
42
  /**
36
43
  * For debugging
37
44
  */
38
45
  log?: boolean;
39
- } & MediaQueryCondition;
46
+ };
40
47
  export type MediaQueryListener = () => void;
41
48
  export type MediaQueryProps = {
42
49
  /**
@@ -44,7 +51,7 @@ export type MediaQueryProps = {
44
51
  */
45
52
  matchOnSSR?: boolean;
46
53
  children?: React.ReactNode;
47
- } & MediaQueryProperties;
54
+ } & MediaQueryProperties & MediaQueryOptions;
48
55
  export type MediaQueryState = {
49
56
  match?: boolean | null;
50
57
  mediaQueryList?: {
@@ -53,56 +60,27 @@ export type MediaQueryState = {
53
60
  };
54
61
  /**
55
62
  * Adds a listener to a given MediaQuery
56
- *
57
- * @type {object} string or object { when: { min: 'small' } } that describes the media query
58
- * @property {string} query - media queries
59
- * @property {object} when - media queries
60
- * @property {boolean} not - reverses a media query
61
- * @param {function} callback function that gets emitted when the given media query
62
- * @returns function to remove listeners when called
63
63
  */
64
64
  export declare function onMediaQueryChange(property: MediaQueryProperties | string, callback?: (matches: boolean, mediaQueryList: MediaQueryList) => void, { runOnInit }?: {
65
65
  runOnInit?: boolean;
66
66
  }): MediaQueryListener;
67
67
  /**
68
68
  * Returns a boolean for whether window.matchMedia is supported or not
69
- *
70
- * @returns boolean
71
69
  */
72
70
  export declare const isMatchMediaSupported: () => boolean;
73
71
  /**
74
72
  * Convert user defined media queries to an valid MediaQueryList we can assign a listener to
75
- *
76
- * @type {object} object that contains either a query, a when or not
77
- * @property {string} query - media queries
78
- * @property {object} when - media queries
79
- * @property {boolean} not - reverses a media query
80
- * @property {boolean} log - print used query to console
81
- * @returns MediaQueryList type
82
73
  */
83
- export declare function makeMediaQueryList({ query, when, not, log, disabled, }?: MediaQueryProperties, breakpoints?: MediaQueryBreakpoints): MediaQueryList;
74
+ export declare function makeMediaQueryList({ query, when, not }?: MediaQueryProperties, breakpoints?: MediaQueryBreakpoints, options?: MediaQueryOptions): MediaQueryList;
84
75
  /**
85
76
  * Adds a listener to the window.matchMedia Browser API
86
- *
87
- * @param {MatchMediaList} mediaQueryList a DOM MatchMediaList object
88
- * @param {function} callback callback function
89
- * @returns function to remove listeners when called
90
77
  */
91
78
  export declare function createMediaQueryListener(mediaQueryList: MediaQueryList, callback: (matches: boolean, event: Partial<MediaQueryListEvent>) => void): MediaQueryListener;
92
79
  /**
93
80
  * Builds a valid media query we can use on window.matchMedia(...)
94
- *
95
- * @type {object} object that contains either a query, a when or not
96
- * @property {string} query - media queries
97
- * @property {object} when - media queries
98
- * @property {boolean} not - reverses a media query
99
- * @returns media queries as a string
100
81
  */
101
- export declare function buildQuery({ query, when, not }?: MediaQueryProperties, breakpoints?: MediaQueryBreakpoints): MediaQueryCondition;
82
+ export declare function buildQuery({ query, when, not }?: MediaQueryProperties, breakpoints?: MediaQueryBreakpoints, options?: MediaQueryOptions): MediaQueryCondition;
102
83
  /**
103
84
  * Convert a media query from various formats to a valid string based media query
104
- *
105
- * @param {array|object|string} query media query definitions
106
- * @returns media query string
107
85
  */
108
- export declare function convertToMediaQuery(query: MediaQueryCondition | Array<MediaQueryCondition>, breakpoints?: MediaQueryBreakpoints): string;
86
+ export declare function convertToMediaQuery(query: MediaQueryCondition | Array<MediaQueryCondition>, breakpoints?: MediaQueryBreakpoints, options?: MediaQueryOptions): string;
@@ -54,13 +54,12 @@ function makeMediaQueryList() {
54
54
  let {
55
55
  query,
56
56
  when,
57
- not = null,
58
- log = false,
59
- disabled = false
57
+ not = null
60
58
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
61
59
  let breakpoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
60
+ let options = arguments.length > 2 ? arguments[2] : undefined;
62
61
  const isSupported = isMatchMediaSupported();
63
- if (disabled || !isSupported) {
62
+ if (options !== null && options !== void 0 && options.disabled || !isSupported) {
64
63
  return null;
65
64
  }
66
65
  if (when) {
@@ -68,11 +67,11 @@ function makeMediaQueryList() {
68
67
  query,
69
68
  when,
70
69
  not
71
- }, breakpoints);
70
+ }, breakpoints, options);
72
71
  }
73
- const mediaQueryString = convertToMediaQuery(query, breakpoints);
72
+ const mediaQueryString = convertToMediaQuery(query, breakpoints, options);
74
73
  const mediaQueryList = window.matchMedia(mediaQueryString);
75
- if (log) {
74
+ if (options !== null && options !== void 0 && options.log) {
76
75
  (0, _helpers.warn)('MediaQuery:', mediaQueryString);
77
76
  }
78
77
  return mediaQueryList;
@@ -102,15 +101,16 @@ function buildQuery() {
102
101
  not = null
103
102
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
104
103
  let breakpoints = arguments.length > 1 ? arguments[1] : undefined;
104
+ let options = arguments.length > 2 ? arguments[2] : undefined;
105
105
  if (when) {
106
106
  if (typeof when === 'string') {
107
107
  when = when.split(/[ ,]/g);
108
108
  }
109
109
  let listOfQueries = [];
110
110
  if (Array.isArray(when)) {
111
- listOfQueries = listOfQueries.concat(combineQueries(when, breakpoints));
111
+ listOfQueries = listOfQueries.concat(combineQueries(when, breakpoints, options));
112
112
  } else if (when && typeof when === 'object') {
113
- const query = convertToMediaQuery(when, breakpoints);
113
+ const query = convertToMediaQuery(when, breakpoints, options);
114
114
  if (query) {
115
115
  listOfQueries.push(query);
116
116
  }
@@ -135,11 +135,12 @@ function reverseQuery(query) {
135
135
  }
136
136
  function combineQueries(queries) {
137
137
  let breakpoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
138
+ let options = arguments.length > 2 ? arguments[2] : undefined;
138
139
  return queries.reduce((listOfQueries, when, i, arr) => {
139
140
  if (breakpoints) {
140
141
  breakpoints = mergeBreakpoints(breakpoints);
141
142
  }
142
- const query = convertToMediaQuery(when, breakpoints);
143
+ const query = convertToMediaQuery(when, breakpoints, options);
143
144
  if (query) {
144
145
  switch (arr[i - 1]) {
145
146
  case 'and':
@@ -166,22 +167,24 @@ function mergeBreakpoints(breakpoints) {
166
167
  }
167
168
  function convertToMediaQuery(query) {
168
169
  let breakpoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
170
+ let options = arguments.length > 2 ? arguments[2] : undefined;
169
171
  if (typeof query === 'string') {
170
172
  return query;
171
173
  }
172
174
  if (Array.isArray(query)) {
173
175
  return query.reduce((acc, q, index) => {
174
- acc += objToMediaQuery(q, breakpoints);
176
+ acc += objToMediaQuery(q, breakpoints, options);
175
177
  if (index < query.length - 1) {
176
178
  acc += ', ';
177
179
  }
178
180
  return acc;
179
181
  }, '');
180
182
  }
181
- return objToMediaQuery(query, breakpoints);
183
+ return objToMediaQuery(query, breakpoints, options);
182
184
  }
183
185
  function objToMediaQuery(obj) {
184
186
  let breakpoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
187
+ let options = arguments.length > 2 ? arguments[2] : undefined;
185
188
  let hasNot = false;
186
189
  let query = Object.keys(obj).reduce((acc, feature) => {
187
190
  let value = obj[feature];
@@ -214,6 +217,13 @@ function objToMediaQuery(obj) {
214
217
  if (hasNot) {
215
218
  query = reverseQuery(query);
216
219
  }
220
+ if (options !== null && options !== void 0 && options.correctRange && /\(min-width: [0-9]+em\)/.test(query)) {
221
+ const size = parseFloat(query.match(/\(min-width: ([0-9]+)em\)/)[1]) || 0;
222
+ if (size > 0) {
223
+ const correctedSize = (size * 16 + 1) / 16;
224
+ query = query.replace(/(min-width: [0-9]+em)/, `min-width: ${correctedSize}em`);
225
+ }
226
+ }
217
227
  return query;
218
228
  }
219
229
  function getValueByFeature(value) {