@dnb/eufemia 10.50.0 → 10.51.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 (901) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/cjs/components/accordion/style/dnb-accordion.css +3 -3
  3. package/cjs/components/accordion/style/dnb-accordion.min.css +1 -1
  4. package/cjs/components/autocomplete/style/dnb-autocomplete.css +1 -1
  5. package/cjs/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  6. package/cjs/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  7. package/cjs/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  8. package/cjs/components/button/Button.d.ts +2 -2
  9. package/cjs/components/card/style/dnb-card.css +1 -1
  10. package/cjs/components/card/style/dnb-card.min.css +1 -1
  11. package/cjs/components/date-picker/DatePicker.d.ts +13 -4
  12. package/cjs/components/drawer/style/dnb-drawer.css +3 -3
  13. package/cjs/components/drawer/style/dnb-drawer.min.css +1 -1
  14. package/cjs/components/dropdown/style/dnb-dropdown.css +1 -1
  15. package/cjs/components/dropdown/style/dnb-dropdown.min.css +1 -1
  16. package/cjs/components/form-row/style/dnb-form-row.css +1 -1
  17. package/cjs/components/form-row/style/dnb-form-row.min.css +1 -1
  18. package/cjs/components/form-status/FormStatus.d.ts +1 -1
  19. package/cjs/components/grid/style/dnb-grid.css +6 -6
  20. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  21. package/cjs/components/input-masked/InputMasked.d.ts +1 -1
  22. package/cjs/components/input-masked/InputMaskedDocs.js +1 -1
  23. package/cjs/components/input-masked/InputMaskedDocs.js.map +1 -1
  24. package/cjs/components/number-format/NumberFormat.d.ts +14 -28
  25. package/cjs/components/number-format/NumberFormat.js +6 -2
  26. package/cjs/components/number-format/NumberFormat.js.map +1 -1
  27. package/cjs/components/number-format/NumberFormatDocs.d.ts +3 -0
  28. package/cjs/components/number-format/NumberFormatDocs.js +161 -0
  29. package/cjs/components/number-format/NumberFormatDocs.js.map +1 -0
  30. package/cjs/components/number-format/NumberUtils.d.ts +21 -1
  31. package/cjs/components/number-format/NumberUtils.js +33 -8
  32. package/cjs/components/number-format/NumberUtils.js.map +1 -1
  33. package/cjs/components/pagination/Pagination.d.ts +1 -1
  34. package/cjs/components/section/style/dnb-section.css +2 -2
  35. package/cjs/components/section/style/dnb-section.min.css +2 -2
  36. package/cjs/components/space/style/dnb-space.css +2 -2
  37. package/cjs/components/space/style/dnb-space.min.css +1 -1
  38. package/cjs/components/switch/Switch.d.ts +100 -91
  39. package/cjs/components/switch/Switch.js +167 -239
  40. package/cjs/components/switch/Switch.js.map +1 -1
  41. package/cjs/components/switch/SwitchDocs.d.ts +3 -0
  42. package/cjs/components/switch/SwitchDocs.js +93 -0
  43. package/cjs/components/switch/SwitchDocs.js.map +1 -0
  44. package/cjs/components/tabs/style/dnb-tabs.css +1 -0
  45. package/cjs/components/tabs/style/dnb-tabs.min.css +1 -1
  46. package/cjs/components/tabs/style/dnb-tabs.scss +1 -0
  47. package/cjs/components/toggle-button/style/dnb-toggle-button.css +1 -1
  48. package/cjs/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  49. package/cjs/extensions/forms/DataContext/At/At.js +1 -1
  50. package/cjs/extensions/forms/DataContext/At/At.js.map +1 -1
  51. package/cjs/extensions/forms/DataContext/Context.d.ts +20 -9
  52. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  53. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  54. package/cjs/extensions/forms/DataContext/Provider/Provider.js +105 -60
  55. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  56. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  57. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  58. package/cjs/extensions/forms/Field/Date/Date.d.ts +6 -0
  59. package/cjs/extensions/forms/Field/Date/Date.js +20 -4
  60. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  61. package/{extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → cjs/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
  62. package/cjs/extensions/forms/Field/Date/DateDocs.js +20 -0
  63. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -0
  64. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
  65. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  66. package/{es/extensions/forms/Form/FieldProps/FieldProps.d.ts → cjs/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
  67. package/cjs/extensions/forms/Field/Provider/FieldProvider.js +33 -0
  68. package/cjs/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
  69. package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.d.ts → Field/Provider/FieldProviderContext.d.ts} +3 -3
  70. package/cjs/extensions/forms/{Form/FieldProps/FieldPropsContext.js → Field/Provider/FieldProviderContext.js} +3 -3
  71. package/cjs/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
  72. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
  73. package/cjs/extensions/forms/{Form/FieldProps/FieldPropsDocs.js → Field/Provider/FieldProviderDocs.js} +4 -4
  74. package/cjs/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
  75. package/cjs/extensions/forms/Field/Provider/index.d.ts +2 -0
  76. package/cjs/extensions/forms/{Form/FieldProps → Field/Provider}/index.js +5 -5
  77. package/cjs/extensions/forms/Field/Provider/index.js.map +1 -0
  78. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
  79. package/cjs/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -34
  80. package/cjs/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
  81. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  82. package/cjs/extensions/forms/Field/index.js +7 -0
  83. package/cjs/extensions/forms/Field/index.js.map +1 -1
  84. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +12 -1
  85. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  86. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  87. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  88. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  89. package/cjs/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  90. package/cjs/extensions/forms/Form/Element/Element.js +4 -4
  91. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  92. package/cjs/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  93. package/cjs/extensions/forms/Form/Handler/Handler.js.map +1 -1
  94. package/cjs/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
  95. package/cjs/extensions/forms/Form/Isolation/Isolation.js +1 -1
  96. package/cjs/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  97. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  98. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  99. package/cjs/extensions/forms/Form/Section/Section.d.ts +2 -1
  100. package/cjs/extensions/forms/Form/Section/Section.js +2 -2
  101. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -1
  102. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
  103. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +153 -0
  104. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
  105. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
  106. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +30 -0
  107. package/cjs/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
  108. package/cjs/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
  109. package/cjs/extensions/forms/Form/SubmitConfirmation/index.js +27 -0
  110. package/cjs/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
  111. package/cjs/extensions/forms/Form/Visibility/Visibility.js +3 -3
  112. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  113. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
  114. package/cjs/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  115. package/cjs/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  116. package/cjs/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  117. package/cjs/extensions/forms/Form/data-context/getData.js +1 -1
  118. package/cjs/extensions/forms/Form/data-context/getData.js.map +1 -1
  119. package/cjs/extensions/forms/Form/data-context/useData.d.ts +3 -2
  120. package/cjs/extensions/forms/Form/data-context/useData.js +13 -15
  121. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  122. package/{es/extensions/forms/Form/data-context/useError.d.ts → cjs/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
  123. package/cjs/extensions/forms/Form/data-context/useValidation.js +60 -0
  124. package/cjs/extensions/forms/Form/data-context/useValidation.js.map +1 -0
  125. package/cjs/extensions/forms/Form/index.d.ts +13 -2
  126. package/cjs/extensions/forms/Form/index.js +19 -9
  127. package/cjs/extensions/forms/Form/index.js.map +1 -1
  128. package/cjs/extensions/forms/Iterate/Array/Array.js +4 -12
  129. package/cjs/extensions/forms/Iterate/Array/Array.js.map +1 -1
  130. package/cjs/extensions/forms/Iterate/Count/Count.js +1 -1
  131. package/cjs/extensions/forms/Iterate/Count/Count.js.map +1 -1
  132. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  133. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  134. package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
  135. package/cjs/extensions/forms/Tools/GenerateSchema.js +1 -1
  136. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  137. package/cjs/extensions/forms/Tools/ListAllProps.d.ts +1 -1
  138. package/cjs/extensions/forms/Tools/ListAllProps.js +1 -1
  139. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -1
  140. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
  141. package/cjs/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  142. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
  143. package/cjs/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  144. package/cjs/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
  145. package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js +28 -0
  146. package/cjs/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
  147. package/cjs/extensions/forms/Value/Date/Date.js +25 -16
  148. package/cjs/extensions/forms/Value/Date/Date.js.map +1 -1
  149. package/cjs/extensions/forms/Value/Number/NumberDocs.js +9 -2
  150. package/cjs/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
  151. package/cjs/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
  152. package/cjs/extensions/forms/Value/Provider/ValueProvider.js +27 -0
  153. package/cjs/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
  154. package/cjs/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
  155. package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js +15 -0
  156. package/cjs/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
  157. package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
  158. package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js +23 -0
  159. package/cjs/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
  160. package/cjs/extensions/forms/Value/Provider/index.d.ts +2 -0
  161. package/cjs/extensions/forms/Value/Provider/index.js +27 -0
  162. package/cjs/extensions/forms/Value/Provider/index.js.map +1 -0
  163. package/cjs/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
  164. package/cjs/extensions/forms/Value/Provider/useValueProvider.js +50 -0
  165. package/cjs/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
  166. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
  167. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
  168. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  169. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
  170. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js +37 -0
  171. package/cjs/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
  172. package/cjs/extensions/forms/Value/index.d.ts +3 -2
  173. package/cjs/extensions/forms/Value/index.js +9 -2
  174. package/cjs/extensions/forms/Value/index.js.map +1 -1
  175. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  176. package/cjs/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  177. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
  178. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  179. package/cjs/extensions/forms/Wizard/Step/Step.js +2 -2
  180. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  181. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
  182. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  183. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
  184. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
  185. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
  186. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  187. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
  188. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  189. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
  190. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
  191. package/cjs/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  192. package/cjs/extensions/forms/hooks/useDataValue.d.ts +1 -1
  193. package/cjs/extensions/forms/hooks/useDataValue.js +1 -1
  194. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -1
  195. package/cjs/extensions/forms/hooks/useExternalValue.js +1 -1
  196. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -1
  197. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  198. package/cjs/extensions/forms/hooks/useFieldProps.js +111 -56
  199. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  200. package/cjs/extensions/forms/hooks/usePath.js +7 -4
  201. package/cjs/extensions/forms/hooks/usePath.js.map +1 -1
  202. package/cjs/extensions/forms/hooks/useValueProps.d.ts +1 -1
  203. package/cjs/extensions/forms/hooks/useValueProps.js +7 -2
  204. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  205. package/cjs/extensions/forms/style/dnb-forms.css +10 -21
  206. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  207. package/cjs/extensions/forms/types.d.ts +7 -3
  208. package/cjs/extensions/forms/types.js.map +1 -1
  209. package/cjs/extensions/forms/utils/ajv.d.ts +2 -1
  210. package/cjs/extensions/forms/utils/ajv.js +1 -1
  211. package/cjs/extensions/forms/utils/ajv.js.map +1 -1
  212. package/cjs/extensions/forms/utils/index.d.ts +1 -0
  213. package/cjs/extensions/forms/utils/index.js +12 -0
  214. package/cjs/extensions/forms/utils/index.js.map +1 -1
  215. package/cjs/extensions/forms/utils/json-pointer/export.d.ts +1 -0
  216. package/cjs/extensions/forms/utils/json-pointer/export.js +17 -0
  217. package/cjs/extensions/forms/utils/json-pointer/export.js.map +1 -0
  218. package/cjs/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
  219. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js +139 -0
  220. package/cjs/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
  221. package/cjs/extensions/forms/utils/json-pointer.d.ts +3 -0
  222. package/cjs/extensions/forms/utils/json-pointer.js +24 -0
  223. package/cjs/extensions/forms/utils/json-pointer.js.map +1 -0
  224. package/cjs/shared/Context.d.ts +2 -0
  225. package/cjs/shared/Context.js +1 -1
  226. package/cjs/shared/Context.js.map +1 -1
  227. package/cjs/shared/Eufemia.d.ts +1 -1
  228. package/cjs/shared/Eufemia.js +2 -2
  229. package/cjs/shared/Eufemia.js.map +1 -1
  230. package/cjs/shared/MediaQueryUtils.d.ts +0 -1
  231. package/cjs/shared/MediaQueryUtils.js +17 -14
  232. package/cjs/shared/MediaQueryUtils.js.map +1 -1
  233. package/cjs/shared/helpers/extendPropsWithContext.js +3 -3
  234. package/cjs/shared/helpers/extendPropsWithContext.js.map +1 -1
  235. package/cjs/shared/helpers/withSnakeCaseProps.js.map +1 -1
  236. package/cjs/style/core/scopes.scss +1 -1
  237. package/cjs/style/core/utilities.scss +10 -5
  238. package/cjs/style/dnb-ui-basis.css +1 -1
  239. package/cjs/style/dnb-ui-basis.min.css +1 -1
  240. package/cjs/style/dnb-ui-body.css +1 -1
  241. package/cjs/style/dnb-ui-body.min.css +1 -1
  242. package/cjs/style/dnb-ui-components.css +35 -45
  243. package/cjs/style/dnb-ui-components.min.css +5 -5
  244. package/cjs/style/dnb-ui-core.css +1 -1
  245. package/cjs/style/dnb-ui-core.min.css +1 -1
  246. package/cjs/style/dnb-ui-elements.css +1 -1
  247. package/cjs/style/dnb-ui-elements.min.css +1 -1
  248. package/cjs/style/dnb-ui-extensions.css +10 -21
  249. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  250. package/cjs/style/dnb-ui-forms.css +10 -21
  251. package/cjs/style/dnb-ui-forms.min.css +1 -1
  252. package/cjs/style/dnb-ui-forms.scss +0 -1
  253. package/cjs/style/dnb-ui-fragments.css +2 -2
  254. package/cjs/style/dnb-ui-fragments.min.css +1 -1
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
  258. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  259. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  260. package/cjs/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  261. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
  262. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  263. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
  264. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  265. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  266. package/cjs/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  267. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
  268. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  269. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  270. package/cjs/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  271. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
  272. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  273. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
  274. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  275. package/cjs/style/themes/theme-ui/ui-theme-basis.css +1 -1
  276. package/cjs/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  277. package/cjs/style/themes/theme-ui/ui-theme-components.css +46 -67
  278. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  279. package/cjs/style/themes/theme-ui/ui-theme-elements.css +1 -1
  280. package/cjs/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  281. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +10 -21
  282. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  283. package/cjs/style/themes/theme-ui/ui-theme-forms.css +10 -21
  284. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  285. package/cjs/style/themes/theme-ui/ui-theme-tags.css +1 -1
  286. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  287. package/components/accordion/style/dnb-accordion.css +3 -3
  288. package/components/accordion/style/dnb-accordion.min.css +1 -1
  289. package/components/autocomplete/style/dnb-autocomplete.css +1 -1
  290. package/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  291. package/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  292. package/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  293. package/components/button/Button.d.ts +2 -2
  294. package/components/card/style/dnb-card.css +1 -1
  295. package/components/card/style/dnb-card.min.css +1 -1
  296. package/components/date-picker/DatePicker.d.ts +13 -4
  297. package/components/drawer/style/dnb-drawer.css +3 -3
  298. package/components/drawer/style/dnb-drawer.min.css +1 -1
  299. package/components/dropdown/style/dnb-dropdown.css +1 -1
  300. package/components/dropdown/style/dnb-dropdown.min.css +1 -1
  301. package/components/form-row/style/dnb-form-row.css +1 -1
  302. package/components/form-row/style/dnb-form-row.min.css +1 -1
  303. package/components/form-status/FormStatus.d.ts +1 -1
  304. package/components/grid/style/dnb-grid.css +6 -6
  305. package/components/grid/style/dnb-grid.min.css +1 -1
  306. package/components/input-masked/InputMasked.d.ts +1 -1
  307. package/components/input-masked/InputMaskedDocs.js +1 -1
  308. package/components/input-masked/InputMaskedDocs.js.map +1 -1
  309. package/components/number-format/NumberFormat.d.ts +14 -28
  310. package/components/number-format/NumberFormat.js +6 -2
  311. package/components/number-format/NumberFormat.js.map +1 -1
  312. package/components/number-format/NumberFormatDocs.d.ts +3 -0
  313. package/components/number-format/NumberFormatDocs.js +153 -0
  314. package/components/number-format/NumberFormatDocs.js.map +1 -0
  315. package/components/number-format/NumberUtils.d.ts +21 -1
  316. package/components/number-format/NumberUtils.js +32 -8
  317. package/components/number-format/NumberUtils.js.map +1 -1
  318. package/components/pagination/Pagination.d.ts +1 -1
  319. package/components/section/style/dnb-section.css +2 -2
  320. package/components/section/style/dnb-section.min.css +2 -2
  321. package/components/space/style/dnb-space.css +2 -2
  322. package/components/space/style/dnb-space.min.css +1 -1
  323. package/components/switch/Switch.d.ts +100 -91
  324. package/components/switch/Switch.js +165 -238
  325. package/components/switch/Switch.js.map +1 -1
  326. package/components/switch/SwitchDocs.d.ts +3 -0
  327. package/components/switch/SwitchDocs.js +85 -0
  328. package/components/switch/SwitchDocs.js.map +1 -0
  329. package/components/tabs/style/dnb-tabs.css +1 -0
  330. package/components/tabs/style/dnb-tabs.min.css +1 -1
  331. package/components/tabs/style/dnb-tabs.scss +1 -0
  332. package/components/toggle-button/style/dnb-toggle-button.css +1 -1
  333. package/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  334. package/es/components/accordion/style/dnb-accordion.css +3 -3
  335. package/es/components/accordion/style/dnb-accordion.min.css +1 -1
  336. package/es/components/autocomplete/style/dnb-autocomplete.css +1 -1
  337. package/es/components/autocomplete/style/dnb-autocomplete.min.css +1 -1
  338. package/es/components/breadcrumb/style/dnb-breadcrumb.css +1 -1
  339. package/es/components/breadcrumb/style/dnb-breadcrumb.min.css +1 -1
  340. package/es/components/button/Button.d.ts +2 -2
  341. package/es/components/card/style/dnb-card.css +1 -1
  342. package/es/components/card/style/dnb-card.min.css +1 -1
  343. package/es/components/date-picker/DatePicker.d.ts +13 -4
  344. package/es/components/drawer/style/dnb-drawer.css +3 -3
  345. package/es/components/drawer/style/dnb-drawer.min.css +1 -1
  346. package/es/components/dropdown/style/dnb-dropdown.css +1 -1
  347. package/es/components/dropdown/style/dnb-dropdown.min.css +1 -1
  348. package/es/components/form-row/style/dnb-form-row.css +1 -1
  349. package/es/components/form-row/style/dnb-form-row.min.css +1 -1
  350. package/es/components/form-status/FormStatus.d.ts +1 -1
  351. package/es/components/grid/style/dnb-grid.css +6 -6
  352. package/es/components/grid/style/dnb-grid.min.css +1 -1
  353. package/es/components/input-masked/InputMasked.d.ts +1 -1
  354. package/es/components/input-masked/InputMaskedDocs.js +1 -1
  355. package/es/components/input-masked/InputMaskedDocs.js.map +1 -1
  356. package/es/components/number-format/NumberFormat.d.ts +14 -28
  357. package/es/components/number-format/NumberFormat.js +6 -2
  358. package/es/components/number-format/NumberFormat.js.map +1 -1
  359. package/es/components/number-format/NumberFormatDocs.d.ts +3 -0
  360. package/es/components/number-format/NumberFormatDocs.js +150 -0
  361. package/es/components/number-format/NumberFormatDocs.js.map +1 -0
  362. package/es/components/number-format/NumberUtils.d.ts +21 -1
  363. package/es/components/number-format/NumberUtils.js +31 -7
  364. package/es/components/number-format/NumberUtils.js.map +1 -1
  365. package/es/components/pagination/Pagination.d.ts +1 -1
  366. package/es/components/section/style/dnb-section.css +2 -2
  367. package/es/components/section/style/dnb-section.min.css +2 -2
  368. package/es/components/space/style/dnb-space.css +2 -2
  369. package/es/components/space/style/dnb-space.min.css +1 -1
  370. package/es/components/switch/Switch.d.ts +100 -91
  371. package/es/components/switch/Switch.js +164 -238
  372. package/es/components/switch/Switch.js.map +1 -1
  373. package/es/components/switch/SwitchDocs.d.ts +3 -0
  374. package/es/components/switch/SwitchDocs.js +85 -0
  375. package/es/components/switch/SwitchDocs.js.map +1 -0
  376. package/es/components/tabs/style/dnb-tabs.css +1 -0
  377. package/es/components/tabs/style/dnb-tabs.min.css +1 -1
  378. package/es/components/tabs/style/dnb-tabs.scss +1 -0
  379. package/es/components/toggle-button/style/dnb-toggle-button.css +1 -1
  380. package/es/components/toggle-button/style/dnb-toggle-button.min.css +1 -1
  381. package/es/extensions/forms/DataContext/At/At.js +1 -1
  382. package/es/extensions/forms/DataContext/At/At.js.map +1 -1
  383. package/es/extensions/forms/DataContext/Context.d.ts +20 -9
  384. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  385. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  386. package/es/extensions/forms/DataContext/Provider/Provider.js +100 -58
  387. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  388. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  389. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  390. package/es/extensions/forms/Field/Date/Date.d.ts +6 -0
  391. package/es/extensions/forms/Field/Date/Date.js +20 -4
  392. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  393. package/{cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → es/extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
  394. package/es/extensions/forms/Field/Date/DateDocs.js +13 -0
  395. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -0
  396. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
  397. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  398. package/{extensions/forms/Form/FieldProps/FieldProps.d.ts → es/extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
  399. package/es/extensions/forms/Field/Provider/FieldProvider.js +24 -0
  400. package/es/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
  401. package/{extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → es/extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
  402. package/es/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
  403. package/es/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
  404. package/es/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
  405. package/{extensions/forms/Form/FieldProps/FieldPropsDocs.js → es/extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
  406. package/es/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
  407. package/es/extensions/forms/Field/Provider/index.d.ts +2 -0
  408. package/es/extensions/forms/Field/Provider/index.js +3 -0
  409. package/es/extensions/forms/Field/Provider/index.js.map +1 -0
  410. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
  411. package/es/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
  412. package/es/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
  413. package/es/extensions/forms/Field/index.d.ts +1 -0
  414. package/es/extensions/forms/Field/index.js +1 -0
  415. package/es/extensions/forms/Field/index.js.map +1 -1
  416. package/es/extensions/forms/FieldBlock/FieldBlock.js +12 -1
  417. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  418. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  419. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  420. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  421. package/es/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  422. package/es/extensions/forms/Form/Element/Element.js +4 -4
  423. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  424. package/es/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  425. package/es/extensions/forms/Form/Handler/Handler.js.map +1 -1
  426. package/es/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
  427. package/es/extensions/forms/Form/Isolation/Isolation.js +1 -1
  428. package/es/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  429. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  430. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  431. package/es/extensions/forms/Form/Section/Section.d.ts +2 -1
  432. package/es/extensions/forms/Form/Section/Section.js +1 -1
  433. package/es/extensions/forms/Form/Section/Section.js.map +1 -1
  434. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
  435. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +140 -0
  436. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
  437. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
  438. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
  439. package/es/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
  440. package/es/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
  441. package/es/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
  442. package/es/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
  443. package/es/extensions/forms/Form/Visibility/Visibility.js +3 -3
  444. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  445. package/es/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
  446. package/es/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  447. package/es/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  448. package/es/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  449. package/es/extensions/forms/Form/data-context/getData.js +1 -1
  450. package/es/extensions/forms/Form/data-context/getData.js.map +1 -1
  451. package/es/extensions/forms/Form/data-context/useData.d.ts +3 -2
  452. package/es/extensions/forms/Form/data-context/useData.js +13 -15
  453. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  454. package/{extensions/forms/Form/data-context/useError.d.ts → es/extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
  455. package/es/extensions/forms/Form/data-context/useValidation.js +52 -0
  456. package/es/extensions/forms/Form/data-context/useValidation.js.map +1 -0
  457. package/es/extensions/forms/Form/index.d.ts +13 -2
  458. package/es/extensions/forms/Form/index.js +5 -2
  459. package/es/extensions/forms/Form/index.js.map +1 -1
  460. package/es/extensions/forms/Iterate/Array/Array.js +4 -12
  461. package/es/extensions/forms/Iterate/Array/Array.js.map +1 -1
  462. package/es/extensions/forms/Iterate/Count/Count.js +1 -1
  463. package/es/extensions/forms/Iterate/Count/Count.js.map +1 -1
  464. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  465. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  466. package/es/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
  467. package/es/extensions/forms/Tools/GenerateSchema.js +1 -1
  468. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  469. package/es/extensions/forms/Tools/ListAllProps.d.ts +1 -1
  470. package/es/extensions/forms/Tools/ListAllProps.js +1 -1
  471. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -1
  472. package/es/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
  473. package/es/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  474. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
  475. package/es/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  476. package/es/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
  477. package/es/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
  478. package/es/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
  479. package/es/extensions/forms/Value/Date/Date.js +25 -16
  480. package/es/extensions/forms/Value/Date/Date.js.map +1 -1
  481. package/es/extensions/forms/Value/Number/NumberDocs.js +7 -2
  482. package/es/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
  483. package/es/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
  484. package/es/extensions/forms/Value/Provider/ValueProvider.js +18 -0
  485. package/es/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
  486. package/es/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
  487. package/es/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
  488. package/es/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
  489. package/es/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
  490. package/es/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
  491. package/es/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
  492. package/es/extensions/forms/Value/Provider/index.d.ts +2 -0
  493. package/es/extensions/forms/Value/Provider/index.js +3 -0
  494. package/es/extensions/forms/Value/Provider/index.js.map +1 -0
  495. package/es/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
  496. package/es/extensions/forms/Value/Provider/useValueProvider.js +40 -0
  497. package/es/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
  498. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
  499. package/es/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
  500. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  501. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
  502. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
  503. package/es/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
  504. package/es/extensions/forms/Value/index.d.ts +3 -2
  505. package/es/extensions/forms/Value/index.js +3 -2
  506. package/es/extensions/forms/Value/index.js.map +1 -1
  507. package/es/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  508. package/es/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  509. package/es/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
  510. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  511. package/es/extensions/forms/Wizard/Step/Step.js +2 -2
  512. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  513. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
  514. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  515. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
  516. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
  517. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
  518. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  519. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
  520. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  521. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
  522. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
  523. package/es/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  524. package/es/extensions/forms/hooks/useDataValue.d.ts +1 -1
  525. package/es/extensions/forms/hooks/useDataValue.js +1 -1
  526. package/es/extensions/forms/hooks/useDataValue.js.map +1 -1
  527. package/es/extensions/forms/hooks/useExternalValue.js +1 -1
  528. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -1
  529. package/es/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  530. package/es/extensions/forms/hooks/useFieldProps.js +111 -56
  531. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  532. package/es/extensions/forms/hooks/usePath.js +7 -4
  533. package/es/extensions/forms/hooks/usePath.js.map +1 -1
  534. package/es/extensions/forms/hooks/useValueProps.d.ts +1 -1
  535. package/es/extensions/forms/hooks/useValueProps.js +7 -2
  536. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  537. package/es/extensions/forms/style/dnb-forms.css +10 -21
  538. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  539. package/es/extensions/forms/types.d.ts +7 -3
  540. package/es/extensions/forms/types.js.map +1 -1
  541. package/es/extensions/forms/utils/ajv.d.ts +2 -1
  542. package/es/extensions/forms/utils/ajv.js +1 -1
  543. package/es/extensions/forms/utils/ajv.js.map +1 -1
  544. package/es/extensions/forms/utils/index.d.ts +1 -0
  545. package/es/extensions/forms/utils/index.js +1 -0
  546. package/es/extensions/forms/utils/index.js.map +1 -1
  547. package/es/extensions/forms/utils/json-pointer/export.d.ts +1 -0
  548. package/es/extensions/forms/utils/json-pointer/export.js +1 -0
  549. package/es/extensions/forms/utils/json-pointer/export.js.map +1 -0
  550. package/es/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
  551. package/es/extensions/forms/utils/json-pointer/json-pointer.js +122 -0
  552. package/es/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
  553. package/es/extensions/forms/utils/json-pointer.d.ts +3 -0
  554. package/es/extensions/forms/utils/json-pointer.js +4 -0
  555. package/es/extensions/forms/utils/json-pointer.js.map +1 -0
  556. package/es/shared/Context.d.ts +2 -0
  557. package/es/shared/Context.js +1 -1
  558. package/es/shared/Context.js.map +1 -1
  559. package/es/shared/Eufemia.d.ts +1 -1
  560. package/es/shared/Eufemia.js +2 -2
  561. package/es/shared/Eufemia.js.map +1 -1
  562. package/es/shared/MediaQueryUtils.d.ts +0 -1
  563. package/es/shared/MediaQueryUtils.js +17 -14
  564. package/es/shared/MediaQueryUtils.js.map +1 -1
  565. package/es/shared/helpers/extendPropsWithContext.js +3 -3
  566. package/es/shared/helpers/extendPropsWithContext.js.map +1 -1
  567. package/es/shared/helpers/withSnakeCaseProps.js.map +1 -1
  568. package/es/style/core/scopes.scss +1 -1
  569. package/es/style/core/utilities.scss +10 -5
  570. package/es/style/dnb-ui-basis.css +1 -1
  571. package/es/style/dnb-ui-basis.min.css +1 -1
  572. package/es/style/dnb-ui-body.css +1 -1
  573. package/es/style/dnb-ui-body.min.css +1 -1
  574. package/es/style/dnb-ui-components.css +35 -45
  575. package/es/style/dnb-ui-components.min.css +5 -5
  576. package/es/style/dnb-ui-core.css +1 -1
  577. package/es/style/dnb-ui-core.min.css +1 -1
  578. package/es/style/dnb-ui-elements.css +1 -1
  579. package/es/style/dnb-ui-elements.min.css +1 -1
  580. package/es/style/dnb-ui-extensions.css +10 -21
  581. package/es/style/dnb-ui-extensions.min.css +1 -1
  582. package/es/style/dnb-ui-forms.css +10 -21
  583. package/es/style/dnb-ui-forms.min.css +1 -1
  584. package/es/style/dnb-ui-forms.scss +0 -1
  585. package/es/style/dnb-ui-fragments.css +2 -2
  586. package/es/style/dnb-ui-fragments.min.css +1 -1
  587. package/es/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  588. package/es/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  589. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
  590. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  591. package/es/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  592. package/es/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  593. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
  594. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  595. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
  596. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  597. package/es/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  598. package/es/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  599. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
  600. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  601. package/es/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  602. package/es/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  603. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
  604. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  605. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
  606. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  607. package/es/style/themes/theme-ui/ui-theme-basis.css +1 -1
  608. package/es/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  609. package/es/style/themes/theme-ui/ui-theme-components.css +46 -67
  610. package/es/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  611. package/es/style/themes/theme-ui/ui-theme-elements.css +1 -1
  612. package/es/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  613. package/es/style/themes/theme-ui/ui-theme-extensions.css +10 -21
  614. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  615. package/es/style/themes/theme-ui/ui-theme-forms.css +10 -21
  616. package/es/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  617. package/es/style/themes/theme-ui/ui-theme-tags.css +1 -1
  618. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  619. package/esm/dnb-ui-basis.min.mjs +1 -1
  620. package/esm/dnb-ui-components.min.mjs +1 -1
  621. package/esm/dnb-ui-elements.min.mjs +1 -1
  622. package/esm/dnb-ui-extensions.min.mjs +5 -5
  623. package/esm/dnb-ui-lib.min.mjs +1 -1
  624. package/extensions/forms/DataContext/At/At.js +1 -1
  625. package/extensions/forms/DataContext/At/At.js.map +1 -1
  626. package/extensions/forms/DataContext/Context.d.ts +20 -9
  627. package/extensions/forms/DataContext/Context.js.map +1 -1
  628. package/extensions/forms/DataContext/Provider/Provider.d.ts +1 -1
  629. package/extensions/forms/DataContext/Provider/Provider.js +104 -59
  630. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  631. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +1 -1
  632. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  633. package/extensions/forms/Field/Date/Date.d.ts +6 -0
  634. package/extensions/forms/Field/Date/Date.js +20 -4
  635. package/extensions/forms/Field/Date/Date.js.map +1 -1
  636. package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.d.ts → extensions/forms/Field/Date/DateDocs.d.ts} +1 -1
  637. package/extensions/forms/Field/Date/DateDocs.js +13 -0
  638. package/extensions/forms/Field/Date/DateDocs.js.map +1 -0
  639. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +1 -1
  640. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  641. package/{cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts → extensions/forms/Field/Provider/FieldProvider.d.ts} +5 -7
  642. package/extensions/forms/Field/Provider/FieldProvider.js +24 -0
  643. package/extensions/forms/Field/Provider/FieldProvider.js.map +1 -0
  644. package/{es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts → extensions/forms/Field/Provider/FieldProviderContext.d.ts} +3 -3
  645. package/extensions/forms/Field/Provider/FieldProviderContext.js +7 -0
  646. package/extensions/forms/Field/Provider/FieldProviderContext.js.map +1 -0
  647. package/extensions/forms/Field/Provider/FieldProviderDocs.d.ts +2 -0
  648. package/{es/extensions/forms/Form/FieldProps/FieldPropsDocs.js → extensions/forms/Field/Provider/FieldProviderDocs.js} +2 -2
  649. package/extensions/forms/Field/Provider/FieldProviderDocs.js.map +1 -0
  650. package/extensions/forms/Field/Provider/index.d.ts +2 -0
  651. package/extensions/forms/Field/Provider/index.js +3 -0
  652. package/extensions/forms/Field/Provider/index.js.map +1 -0
  653. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +121 -0
  654. package/extensions/forms/{Form/FieldProps/FieldProps.js → Field/Provider/useFieldProvider.js} +34 -32
  655. package/extensions/forms/Field/Provider/useFieldProvider.js.map +1 -0
  656. package/extensions/forms/Field/index.d.ts +1 -0
  657. package/extensions/forms/Field/index.js +1 -0
  658. package/extensions/forms/Field/index.js.map +1 -1
  659. package/extensions/forms/FieldBlock/FieldBlock.js +12 -1
  660. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  661. package/extensions/forms/FieldBlock/style/dnb-field-block.css +3 -3
  662. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  663. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.css +1 -1
  664. package/extensions/forms/Form/ButtonRow/style/dnb-form-button-row.min.css +1 -1
  665. package/extensions/forms/Form/Element/Element.js +4 -4
  666. package/extensions/forms/Form/Element/Element.js.map +1 -1
  667. package/extensions/forms/Form/Handler/Handler.d.ts +1 -1
  668. package/extensions/forms/Form/Handler/Handler.js.map +1 -1
  669. package/extensions/forms/Form/Isolation/Isolation.d.ts +2 -2
  670. package/extensions/forms/Form/Isolation/Isolation.js +1 -1
  671. package/extensions/forms/Form/Isolation/Isolation.js.map +1 -1
  672. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +1 -1
  673. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  674. package/extensions/forms/Form/Section/Section.d.ts +2 -1
  675. package/extensions/forms/Form/Section/Section.js +1 -1
  676. package/extensions/forms/Form/Section/Section.js.map +1 -1
  677. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.d.ts +25 -0
  678. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js +142 -0
  679. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmation.js.map +1 -0
  680. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.d.ts +2 -0
  681. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js +23 -0
  682. package/extensions/forms/Form/SubmitConfirmation/SubmitConfirmationDocs.js.map +1 -0
  683. package/extensions/forms/Form/SubmitConfirmation/index.d.ts +2 -0
  684. package/extensions/forms/Form/SubmitConfirmation/index.js +3 -0
  685. package/extensions/forms/Form/SubmitConfirmation/index.js.map +1 -0
  686. package/extensions/forms/Form/Visibility/Visibility.js +3 -3
  687. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  688. package/extensions/forms/Form/Visibility/VisibilityContext.d.ts +1 -0
  689. package/extensions/forms/Form/Visibility/VisibilityContext.js.map +1 -1
  690. package/extensions/forms/Form/Visibility/useVisibility.js +1 -1
  691. package/extensions/forms/Form/Visibility/useVisibility.js.map +1 -1
  692. package/extensions/forms/Form/data-context/getData.js +1 -1
  693. package/extensions/forms/Form/data-context/getData.js.map +1 -1
  694. package/extensions/forms/Form/data-context/useData.d.ts +3 -2
  695. package/extensions/forms/Form/data-context/useData.js +13 -15
  696. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  697. package/{cjs/extensions/forms/Form/data-context/useError.d.ts → extensions/forms/Form/data-context/useValidation.d.ts} +3 -1
  698. package/extensions/forms/Form/data-context/useValidation.js +54 -0
  699. package/extensions/forms/Form/data-context/useValidation.js.map +1 -0
  700. package/extensions/forms/Form/index.d.ts +13 -2
  701. package/extensions/forms/Form/index.js +5 -2
  702. package/extensions/forms/Form/index.js.map +1 -1
  703. package/extensions/forms/Iterate/Array/Array.js +4 -12
  704. package/extensions/forms/Iterate/Array/Array.js.map +1 -1
  705. package/extensions/forms/Iterate/Count/Count.js +1 -1
  706. package/extensions/forms/Iterate/Count/Count.js.map +1 -1
  707. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js +2 -2
  708. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  709. package/extensions/forms/Tools/GenerateSchema.d.ts +1 -1
  710. package/extensions/forms/Tools/GenerateSchema.js +1 -1
  711. package/extensions/forms/Tools/GenerateSchema.js.map +1 -1
  712. package/extensions/forms/Tools/ListAllProps.d.ts +1 -1
  713. package/extensions/forms/Tools/ListAllProps.js +1 -1
  714. package/extensions/forms/Tools/ListAllProps.js.map +1 -1
  715. package/extensions/forms/Value/ArraySelection/ArraySelection.d.ts +3 -3
  716. package/extensions/forms/Value/ArraySelection/ArraySelection.js.map +1 -1
  717. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js +2 -2
  718. package/extensions/forms/Value/ArraySelection/ArraySelectionDocs.js.map +1 -1
  719. package/extensions/forms/Value/Currency/CurrencyDocs.d.ts +2 -0
  720. package/extensions/forms/Value/Currency/CurrencyDocs.js +19 -0
  721. package/extensions/forms/Value/Currency/CurrencyDocs.js.map +1 -0
  722. package/extensions/forms/Value/Date/Date.js +25 -16
  723. package/extensions/forms/Value/Date/Date.js.map +1 -1
  724. package/extensions/forms/Value/Number/NumberDocs.js +7 -2
  725. package/extensions/forms/Value/Number/NumberDocs.js.map +1 -1
  726. package/extensions/forms/Value/Provider/ValueProvider.d.ts +13 -0
  727. package/extensions/forms/Value/Provider/ValueProvider.js +18 -0
  728. package/extensions/forms/Value/Provider/ValueProvider.js.map +1 -0
  729. package/extensions/forms/Value/Provider/ValueProviderContext.d.ts +9 -0
  730. package/extensions/forms/Value/Provider/ValueProviderContext.js +7 -0
  731. package/extensions/forms/Value/Provider/ValueProviderContext.js.map +1 -0
  732. package/extensions/forms/Value/Provider/ValueProviderDocs.d.ts +3 -0
  733. package/extensions/forms/Value/Provider/ValueProviderDocs.js +13 -0
  734. package/extensions/forms/Value/Provider/ValueProviderDocs.js.map +1 -0
  735. package/extensions/forms/Value/Provider/index.d.ts +2 -0
  736. package/extensions/forms/Value/Provider/index.js +3 -0
  737. package/extensions/forms/Value/Provider/index.js.map +1 -0
  738. package/extensions/forms/Value/Provider/useValueProvider.d.ts +31 -0
  739. package/extensions/forms/Value/Provider/useValueProvider.js +40 -0
  740. package/extensions/forms/Value/Provider/useValueProvider.js.map +1 -0
  741. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +4 -1
  742. package/extensions/forms/Value/SummaryList/SummaryList.js +11 -3
  743. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  744. package/extensions/forms/Value/SummaryList/SummaryListDocs.d.ts +3 -0
  745. package/extensions/forms/Value/SummaryList/SummaryListDocs.js +29 -0
  746. package/extensions/forms/Value/SummaryList/SummaryListDocs.js.map +1 -0
  747. package/extensions/forms/Value/index.d.ts +3 -2
  748. package/extensions/forms/Value/index.js +3 -2
  749. package/extensions/forms/Value/index.js.map +1 -1
  750. package/extensions/forms/ValueBlock/style/dnb-value-block.css +2 -2
  751. package/extensions/forms/ValueBlock/style/dnb-value-block.min.css +1 -1
  752. package/extensions/forms/Wizard/Container/WizardContainer.js +2 -1
  753. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  754. package/extensions/forms/Wizard/Step/Step.js +2 -2
  755. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  756. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +2 -5
  757. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  758. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -4
  759. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.d.ts +1 -2
  760. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js +13 -15
  761. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAge.js.map +1 -1
  762. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js +0 -5
  763. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeDocs.js.map +1 -1
  764. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.d.ts +0 -2
  765. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js +0 -2
  766. package/extensions/forms/blocks/ChildrenWithAge/ChildrenWithAgeTranslations.js.map +1 -1
  767. package/extensions/forms/hooks/useDataValue.d.ts +1 -1
  768. package/extensions/forms/hooks/useDataValue.js +1 -1
  769. package/extensions/forms/hooks/useDataValue.js.map +1 -1
  770. package/extensions/forms/hooks/useExternalValue.js +1 -1
  771. package/extensions/forms/hooks/useExternalValue.js.map +1 -1
  772. package/extensions/forms/hooks/useFieldProps.d.ts +2 -1
  773. package/extensions/forms/hooks/useFieldProps.js +111 -56
  774. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  775. package/extensions/forms/hooks/usePath.js +7 -4
  776. package/extensions/forms/hooks/usePath.js.map +1 -1
  777. package/extensions/forms/hooks/useValueProps.d.ts +1 -1
  778. package/extensions/forms/hooks/useValueProps.js +7 -2
  779. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  780. package/extensions/forms/style/dnb-forms.css +10 -21
  781. package/extensions/forms/style/dnb-forms.min.css +1 -1
  782. package/extensions/forms/types.d.ts +7 -3
  783. package/extensions/forms/types.js.map +1 -1
  784. package/extensions/forms/utils/ajv.d.ts +2 -1
  785. package/extensions/forms/utils/ajv.js +1 -1
  786. package/extensions/forms/utils/ajv.js.map +1 -1
  787. package/extensions/forms/utils/index.d.ts +1 -0
  788. package/extensions/forms/utils/index.js +1 -0
  789. package/extensions/forms/utils/index.js.map +1 -1
  790. package/extensions/forms/utils/json-pointer/export.d.ts +1 -0
  791. package/extensions/forms/utils/json-pointer/export.js +1 -0
  792. package/extensions/forms/utils/json-pointer/export.js.map +1 -0
  793. package/extensions/forms/utils/json-pointer/json-pointer.d.ts +43 -0
  794. package/extensions/forms/utils/json-pointer/json-pointer.js +124 -0
  795. package/extensions/forms/utils/json-pointer/json-pointer.js.map +1 -0
  796. package/extensions/forms/utils/json-pointer.d.ts +3 -0
  797. package/extensions/forms/utils/json-pointer.js +4 -0
  798. package/extensions/forms/utils/json-pointer.js.map +1 -0
  799. package/package.json +1 -2
  800. package/shared/Context.d.ts +2 -0
  801. package/shared/Context.js +1 -1
  802. package/shared/Context.js.map +1 -1
  803. package/shared/Eufemia.d.ts +1 -1
  804. package/shared/Eufemia.js +2 -2
  805. package/shared/Eufemia.js.map +1 -1
  806. package/shared/MediaQueryUtils.d.ts +0 -1
  807. package/shared/MediaQueryUtils.js +17 -14
  808. package/shared/MediaQueryUtils.js.map +1 -1
  809. package/shared/helpers/extendPropsWithContext.js +3 -3
  810. package/shared/helpers/extendPropsWithContext.js.map +1 -1
  811. package/shared/helpers/withSnakeCaseProps.js.map +1 -1
  812. package/style/core/scopes.scss +1 -1
  813. package/style/core/utilities.scss +10 -5
  814. package/style/dnb-ui-basis.css +1 -1
  815. package/style/dnb-ui-basis.min.css +1 -1
  816. package/style/dnb-ui-body.css +1 -1
  817. package/style/dnb-ui-body.min.css +1 -1
  818. package/style/dnb-ui-components.css +35 -45
  819. package/style/dnb-ui-components.min.css +5 -5
  820. package/style/dnb-ui-core.css +1 -1
  821. package/style/dnb-ui-core.min.css +1 -1
  822. package/style/dnb-ui-elements.css +1 -1
  823. package/style/dnb-ui-elements.min.css +1 -1
  824. package/style/dnb-ui-extensions.css +10 -21
  825. package/style/dnb-ui-extensions.min.css +1 -1
  826. package/style/dnb-ui-forms.css +10 -21
  827. package/style/dnb-ui-forms.min.css +1 -1
  828. package/style/dnb-ui-forms.scss +0 -1
  829. package/style/dnb-ui-fragments.css +2 -2
  830. package/style/dnb-ui-fragments.min.css +1 -1
  831. package/style/themes/theme-eiendom/eiendom-theme-basis.css +1 -1
  832. package/style/themes/theme-eiendom/eiendom-theme-basis.min.css +1 -1
  833. package/style/themes/theme-eiendom/eiendom-theme-components.css +46 -67
  834. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +6 -6
  835. package/style/themes/theme-eiendom/eiendom-theme-elements.css +1 -1
  836. package/style/themes/theme-eiendom/eiendom-theme-elements.min.css +1 -1
  837. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +10 -21
  838. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +1 -1
  839. package/style/themes/theme-eiendom/eiendom-theme-forms.css +10 -21
  840. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +1 -1
  841. package/style/themes/theme-sbanken/sbanken-theme-basis.css +1 -1
  842. package/style/themes/theme-sbanken/sbanken-theme-basis.min.css +1 -1
  843. package/style/themes/theme-sbanken/sbanken-theme-components.css +46 -67
  844. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +7 -7
  845. package/style/themes/theme-sbanken/sbanken-theme-elements.css +1 -1
  846. package/style/themes/theme-sbanken/sbanken-theme-elements.min.css +1 -1
  847. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +10 -21
  848. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  849. package/style/themes/theme-sbanken/sbanken-theme-forms.css +10 -21
  850. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  851. package/style/themes/theme-ui/ui-theme-basis.css +1 -1
  852. package/style/themes/theme-ui/ui-theme-basis.min.css +1 -1
  853. package/style/themes/theme-ui/ui-theme-components.css +46 -67
  854. package/style/themes/theme-ui/ui-theme-components.min.css +6 -6
  855. package/style/themes/theme-ui/ui-theme-elements.css +1 -1
  856. package/style/themes/theme-ui/ui-theme-elements.min.css +1 -1
  857. package/style/themes/theme-ui/ui-theme-extensions.css +10 -21
  858. package/style/themes/theme-ui/ui-theme-extensions.min.css +1 -1
  859. package/style/themes/theme-ui/ui-theme-forms.css +10 -21
  860. package/style/themes/theme-ui/ui-theme-forms.min.css +1 -1
  861. package/style/themes/theme-ui/ui-theme-tags.css +1 -1
  862. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  863. package/umd/dnb-ui-basis.min.js +1 -1
  864. package/umd/dnb-ui-components.min.js +1 -1
  865. package/umd/dnb-ui-elements.min.js +1 -1
  866. package/umd/dnb-ui-extensions.min.js +5 -5
  867. package/umd/dnb-ui-lib.min.js +1 -1
  868. package/cjs/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
  869. package/cjs/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
  870. package/cjs/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
  871. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
  872. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
  873. package/cjs/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
  874. package/cjs/extensions/forms/Form/FieldProps/index.d.ts +0 -2
  875. package/cjs/extensions/forms/Form/FieldProps/index.js.map +0 -1
  876. package/cjs/extensions/forms/Form/data-context/useError.js +0 -33
  877. package/cjs/extensions/forms/Form/data-context/useError.js.map +0 -1
  878. package/es/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
  879. package/es/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
  880. package/es/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
  881. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
  882. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
  883. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
  884. package/es/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
  885. package/es/extensions/forms/Form/FieldProps/index.d.ts +0 -2
  886. package/es/extensions/forms/Form/FieldProps/index.js +0 -3
  887. package/es/extensions/forms/Form/FieldProps/index.js.map +0 -1
  888. package/es/extensions/forms/Form/data-context/useError.js +0 -26
  889. package/es/extensions/forms/Form/data-context/useError.js.map +0 -1
  890. package/extensions/forms/Form/Element/style/dnb-form-element.css +0 -7
  891. package/extensions/forms/Form/Element/style/dnb-form-element.min.css +0 -1
  892. package/extensions/forms/Form/Element/style/dnb-form-element.scss +0 -9
  893. package/extensions/forms/Form/FieldProps/FieldProps.js.map +0 -1
  894. package/extensions/forms/Form/FieldProps/FieldPropsContext.js +0 -7
  895. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +0 -1
  896. package/extensions/forms/Form/FieldProps/FieldPropsDocs.js.map +0 -1
  897. package/extensions/forms/Form/FieldProps/index.d.ts +0 -2
  898. package/extensions/forms/Form/FieldProps/index.js +0 -3
  899. package/extensions/forms/Form/FieldProps/index.js.map +0 -1
  900. package/extensions/forms/Form/data-context/useError.js +0 -27
  901. package/extensions/forms/Form/data-context/useError.js.map +0 -1
@@ -0,0 +1 @@
1
+ export * from './json-pointer';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _jsonPointer = require("./json-pointer");
7
+ Object.keys(_jsonPointer).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _jsonPointer[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _jsonPointer[key];
14
+ }
15
+ });
16
+ });
17
+ //# sourceMappingURL=export.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.js","names":["_jsonPointer","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../../../src/extensions/forms/utils/json-pointer/export.ts"],"sourcesContent":["export * from './json-pointer'\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
@@ -0,0 +1,43 @@
1
+ export type PointerPath = string | Array<string>;
2
+ export type JsonValue = any;
3
+ export type JsonObject = any;
4
+ /**
5
+ * Lookup a json pointer in an object
6
+ */
7
+ export declare function get<T = JsonObject>(obj: T, pointer: PointerPath): T;
8
+ /**
9
+ * Sets a value on an object
10
+ */
11
+ export declare function set<T = JsonObject>(obj: T, pointer: PointerPath, value: JsonValue): void;
12
+ /**
13
+ * Removes an attribute
14
+ */
15
+ export declare function remove<T = JsonObject>(obj: T, pointer: PointerPath): void;
16
+ /**
17
+ * Returns a (pointer -> value) dictionary for an object
18
+ */
19
+ export declare function dict<T = JsonObject>(obj: T, descend?: any): {};
20
+ /**
21
+ * Iterates over an object
22
+ */
23
+ export declare function walk<T = JsonObject>(obj: T, iterator: any, descend?: any): void;
24
+ /**
25
+ * Tests if an object has a value for a json pointer
26
+ */
27
+ export declare function has<T = JsonObject>(obj: T, pointer: PointerPath): boolean;
28
+ /**
29
+ * Escapes a reference token
30
+ */
31
+ export declare function escape(str: string): string;
32
+ /**
33
+ * Unescape a reference token
34
+ */
35
+ export declare function unescape(str: string): string;
36
+ /**
37
+ * Converts a json pointer into a array of reference tokens
38
+ */
39
+ export declare function parse(pointer: Extract<PointerPath, string>): PointerPath;
40
+ /**
41
+ * Builds a json pointer from a array of reference tokens
42
+ */
43
+ export declare function compile(refTokens: Extract<PointerPath, Array<string>>): string;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.compile = compile;
7
+ exports.dict = dict;
8
+ exports.escape = escape;
9
+ exports.get = get;
10
+ exports.has = has;
11
+ exports.parse = parse;
12
+ exports.remove = remove;
13
+ exports.set = set;
14
+ exports.unescape = unescape;
15
+ exports.walk = walk;
16
+ function get(obj, pointer) {
17
+ const refTokens = Array.isArray(pointer) ? pointer : parse(pointer);
18
+ for (let i = 0; i < refTokens.length; ++i) {
19
+ const tok = refTokens[i];
20
+ if (!(typeof obj == 'object' && tok in obj)) {
21
+ throw new Error('Invalid reference token: ' + tok);
22
+ }
23
+ obj = obj[tok];
24
+ }
25
+ return obj;
26
+ }
27
+ function set(obj, pointer, value) {
28
+ const refTokens = Array.isArray(pointer) ? pointer : parse(pointer);
29
+ let nextTok = refTokens[0];
30
+ if (refTokens.length === 0) {
31
+ throw Error('Can not set the root object');
32
+ }
33
+ for (let i = 0; i < refTokens.length - 1; ++i) {
34
+ let tok = refTokens[i];
35
+ if (typeof tok !== 'string' && typeof tok !== 'number') {
36
+ tok = String(tok);
37
+ }
38
+ if (tok === '__proto__' || tok === 'constructor' || tok === 'prototype') {
39
+ continue;
40
+ }
41
+ if (tok === '-' && Array.isArray(obj)) {
42
+ tok = obj.length;
43
+ }
44
+ nextTok = refTokens[i + 1];
45
+ if (!(tok in obj)) {
46
+ if (nextTok.match(/^(\d+|-)$/)) {
47
+ obj[tok] = [];
48
+ } else {
49
+ obj[tok] = {};
50
+ }
51
+ }
52
+ obj = obj[tok];
53
+ }
54
+ if (nextTok === '-' && Array.isArray(obj)) {
55
+ nextTok = obj.length;
56
+ }
57
+ obj[nextTok] = value;
58
+ }
59
+ function remove(obj, pointer) {
60
+ const refTokens = Array.isArray(pointer) ? pointer : parse(pointer);
61
+ const finalToken = refTokens[refTokens.length - 1];
62
+ if (finalToken === undefined) {
63
+ throw new Error('Invalid JSON pointer for remove: "' + pointer + '"');
64
+ }
65
+ const parent = get(obj, refTokens.slice(0, -1));
66
+ if (Array.isArray(parent)) {
67
+ const index = +finalToken;
68
+ if (finalToken === '' && isNaN(index)) {
69
+ throw new Error('Invalid array index: "' + finalToken + '"');
70
+ }
71
+ Array.prototype.splice.call(parent, index, 1);
72
+ } else {
73
+ delete parent[finalToken];
74
+ }
75
+ }
76
+ function dict(obj) {
77
+ let descend = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
78
+ const results = {};
79
+ walk(obj, function (value, pointer) {
80
+ results[pointer] = value;
81
+ }, descend);
82
+ return results;
83
+ }
84
+ function walk(obj, iterator) {
85
+ let descend = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
86
+ const refTokens = [];
87
+ descend = descend || function (value) {
88
+ const type = Object.prototype.toString.call(value);
89
+ return type === '[object Object]' || type === '[object Array]';
90
+ };
91
+ function next(cur) {
92
+ if (Array.isArray(cur)) {
93
+ cur = cur.reduce((acc, cur, i) => {
94
+ acc[i] = cur;
95
+ return acc;
96
+ }, {});
97
+ }
98
+ Object.keys(cur).forEach(key => {
99
+ refTokens.push(String(key));
100
+ if (descend(cur[key])) {
101
+ next(cur[key]);
102
+ } else {
103
+ iterator(cur[key], compile(refTokens));
104
+ }
105
+ refTokens.pop();
106
+ });
107
+ }
108
+ next(obj);
109
+ }
110
+ function has(obj, pointer) {
111
+ try {
112
+ get(obj, pointer);
113
+ } catch (e) {
114
+ return false;
115
+ }
116
+ return true;
117
+ }
118
+ function escape(str) {
119
+ return str.toString().replace(/~/g, '~0').replace(/\//g, '~1');
120
+ }
121
+ function unescape(str) {
122
+ return str.replace(/~1/g, '/').replace(/~0/g, '~');
123
+ }
124
+ function parse(pointer) {
125
+ if (pointer === '') {
126
+ return [];
127
+ }
128
+ if (pointer.charAt(0) !== '/') {
129
+ throw new Error('Invalid JSON pointer: ' + pointer);
130
+ }
131
+ return pointer.substring(1).split(/\//).map(unescape);
132
+ }
133
+ function compile(refTokens) {
134
+ if (refTokens.length === 0) {
135
+ return '';
136
+ }
137
+ return '/' + refTokens.map(escape).join('/');
138
+ }
139
+ //# sourceMappingURL=json-pointer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-pointer.js","names":["get","obj","pointer","refTokens","Array","isArray","parse","i","length","tok","Error","set","value","nextTok","String","match","remove","finalToken","undefined","parent","slice","index","isNaN","prototype","splice","call","dict","descend","arguments","results","walk","iterator","type","Object","toString","next","cur","reduce","acc","keys","forEach","key","push","compile","pop","has","e","escape","str","replace","unescape","charAt","substring","split","map","join"],"sources":["../../../../../../src/extensions/forms/utils/json-pointer/json-pointer.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type PointerPath = string | Array<string>\nexport type JsonValue = any\nexport type JsonObject = any\n\n/**\n * Lookup a json pointer in an object\n */\nexport function get<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n\n for (let i = 0; i < refTokens.length; ++i) {\n const tok = refTokens[i]\n if (!(typeof obj == 'object' && tok in obj)) {\n throw new Error('Invalid reference token: ' + tok)\n }\n obj = obj[tok] as T\n }\n\n return obj as T\n}\n\n/**\n * Sets a value on an object\n */\nexport function set<T = JsonObject>(\n obj: T,\n pointer: PointerPath,\n value: JsonValue\n) {\n const refTokens = (\n Array.isArray(pointer) ? pointer : parse(pointer)\n ) as Array<number | string>\n let nextTok = refTokens[0]\n\n if (refTokens.length === 0) {\n throw Error('Can not set the root object')\n }\n\n for (let i = 0; i < refTokens.length - 1; ++i) {\n let tok = refTokens[i]\n if (typeof tok !== 'string' && typeof tok !== 'number') {\n tok = String(tok)\n }\n if (\n tok === '__proto__' ||\n tok === 'constructor' ||\n tok === 'prototype'\n ) {\n continue\n }\n if (tok === '-' && Array.isArray(obj)) {\n tok = obj.length\n }\n nextTok = refTokens[i + 1] as string\n\n if (!(tok in (obj as JsonObject))) {\n if (nextTok.match(/^(\\d+|-)$/)) {\n obj[tok] = []\n } else {\n obj[tok] = {}\n }\n }\n obj = obj[tok] as T\n }\n\n if (nextTok === '-' && Array.isArray(obj)) {\n nextTok = obj.length\n }\n\n obj[nextTok] = value\n}\n\n/**\n * Removes an attribute\n */\nexport function remove<T = JsonObject>(obj: T, pointer: PointerPath) {\n const refTokens = Array.isArray(pointer) ? pointer : parse(pointer)\n const finalToken = refTokens[refTokens.length - 1]\n if (finalToken === undefined) {\n throw new Error('Invalid JSON pointer for remove: \"' + pointer + '\"')\n }\n\n const parent = get(obj, refTokens.slice(0, -1))\n if (Array.isArray(parent)) {\n const index = +finalToken\n if (finalToken === '' && isNaN(index)) {\n throw new Error('Invalid array index: \"' + finalToken + '\"')\n }\n\n Array.prototype.splice.call(parent, index, 1)\n } else {\n delete parent[finalToken]\n }\n}\n\n/**\n * Returns a (pointer -> value) dictionary for an object\n */\nexport function dict<T = JsonObject>(obj: T, descend = null) {\n const results = {}\n walk(\n obj,\n function (value, pointer: string) {\n results[pointer] = value\n },\n descend\n )\n return results\n}\n\n/**\n * Iterates over an object\n */\nexport function walk<T = JsonObject>(obj: T, iterator, descend = null) {\n const refTokens = []\n\n descend =\n descend ||\n function (value) {\n const type = Object.prototype.toString.call(value)\n return type === '[object Object]' || type === '[object Array]'\n }\n\n function next(cur) {\n if (Array.isArray(cur)) {\n cur = cur.reduce((acc, cur, i) => {\n acc[i] = cur\n return acc\n }, {})\n }\n\n Object.keys(cur).forEach((key) => {\n refTokens.push(String(key))\n if (descend(cur[key])) {\n next(cur[key])\n } else {\n iterator(cur[key], compile(refTokens))\n }\n refTokens.pop()\n })\n }\n\n next(obj)\n}\n\n/**\n * Tests if an object has a value for a json pointer\n */\nexport function has<T = JsonObject>(obj: T, pointer: PointerPath) {\n try {\n get<T>(obj, pointer)\n } catch (e) {\n return false\n }\n return true\n}\n\n/**\n * Escapes a reference token\n */\nexport function escape(str: string) {\n return str.toString().replace(/~/g, '~0').replace(/\\//g, '~1')\n}\n\n/**\n * Unescape a reference token\n */\nexport function unescape(str: string) {\n return str.replace(/~1/g, '/').replace(/~0/g, '~')\n}\n\n/**\n * Converts a json pointer into a array of reference tokens\n */\nexport function parse(pointer: Extract<PointerPath, string>): PointerPath {\n if (pointer === '') {\n return []\n }\n if (pointer.charAt(0) !== '/') {\n throw new Error('Invalid JSON pointer: ' + pointer)\n }\n return pointer.substring(1).split(/\\//).map(unescape)\n}\n\n/**\n * Builds a json pointer from a array of reference tokens\n */\nexport function compile(refTokens: Extract<PointerPath, Array<string>>) {\n if (refTokens.length === 0) {\n return ''\n }\n return '/' + refTokens.map(escape).join('/')\n}\n"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './json-pointer/json-pointer';
2
+ import * as _default from './json-pointer/export';
3
+ export { _default as default };
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {};
7
+ exports.default = void 0;
8
+ var _jsonPointer = require("./json-pointer/json-pointer");
9
+ Object.keys(_jsonPointer).forEach(function (key) {
10
+ if (key === "default" || key === "__esModule") return;
11
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
12
+ if (key in exports && exports[key] === _jsonPointer[key]) return;
13
+ Object.defineProperty(exports, key, {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _jsonPointer[key];
17
+ }
18
+ });
19
+ });
20
+ var _default = _interopRequireWildcard(require("./json-pointer/export"));
21
+ exports.default = _default;
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+ //# sourceMappingURL=json-pointer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-pointer.js","names":["_jsonPointer","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_default","_interopRequireWildcard","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","cache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","set"],"sources":["../../../../../src/extensions/forms/utils/json-pointer.ts"],"sourcesContent":["export * from './json-pointer/json-pointer'\n\n// For TypeScript compatibility we import and export it this way\nimport * as _default from './json-pointer/export'\nexport { _default as default }\n"],"mappings":";;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAb,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AAGA,IAAAS,QAAA,GAAAC,uBAAA,CAAAd,OAAA;AAAiDS,OAAA,CAAAM,OAAA,GAAAF,QAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAH,wBAAAO,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAN,OAAA,EAAAM,GAAA,UAAAE,KAAA,GAAAP,wBAAA,CAAAC,WAAA,OAAAM,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAH,GAAA,YAAAE,KAAA,CAAAX,GAAA,CAAAS,GAAA,SAAAI,MAAA,WAAAC,qBAAA,GAAAzB,MAAA,CAAAS,cAAA,IAAAT,MAAA,CAAA0B,wBAAA,WAAAvB,GAAA,IAAAiB,GAAA,QAAAjB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAc,GAAA,EAAAjB,GAAA,SAAAwB,IAAA,GAAAF,qBAAA,GAAAzB,MAAA,CAAA0B,wBAAA,CAAAN,GAAA,EAAAjB,GAAA,cAAAwB,IAAA,KAAAA,IAAA,CAAAhB,GAAA,IAAAgB,IAAA,CAAAC,GAAA,KAAA5B,MAAA,CAAAS,cAAA,CAAAe,MAAA,EAAArB,GAAA,EAAAwB,IAAA,YAAAH,MAAA,CAAArB,GAAA,IAAAiB,GAAA,CAAAjB,GAAA,SAAAqB,MAAA,CAAAV,OAAA,GAAAM,GAAA,MAAAE,KAAA,IAAAA,KAAA,CAAAM,GAAA,CAAAR,GAAA,EAAAI,MAAA,YAAAA,MAAA"}
@@ -41,6 +41,7 @@ import type { FormStatusProps } from '../components/FormStatus';
41
41
  import type { LogoProps } from '../components/Logo';
42
42
  import type { IconProps } from '../components/Icon';
43
43
  import type { IconPrimaryProps } from '../components/IconPrimary';
44
+ import { SwitchProps } from '../components/Switch';
44
45
  import type { FormElementProps } from './helpers/filterValidProps';
45
46
  import type { ThemeProps } from './Theme';
46
47
  import type { FormsTranslation } from '../extensions/forms/hooks/useTranslation';
@@ -81,6 +82,7 @@ export type ContextComponents = {
81
82
  Logo?: Partial<LogoProps>;
82
83
  Icon?: Partial<IconProps>;
83
84
  IconPrimary?: Partial<IconPrimaryProps>;
85
+ Switch?: Partial<SwitchProps>;
84
86
  NumberFormat?: Record<string, unknown>;
85
87
  Pagination?: Record<string, unknown>;
86
88
  /**
@@ -11,7 +11,7 @@ var _react = require("react");
11
11
  var _defaults = require("./defaults");
12
12
  var _locales = _interopRequireDefault(require("./locales"));
13
13
  var _componentHelper = require("./component-helper");
14
- var _jsonPointer = _interopRequireDefault(require("json-pointer"));
14
+ var _jsonPointer = _interopRequireDefault(require("../extensions/forms/utils/json-pointer"));
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
17
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["_react","require","_defaults","_locales","_interopRequireDefault","_componentHelper","_jsonPointer","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","prepareContext","_props","props","__context__","assign","translations","locales","extendDeep","defaultLocales","localeWithFallback","handleLocaleFallbacks","locale","LOCALE","destructFlatTranslation","translation","context","updateTranslation","newTranslations","getTranslation","localProps","lang","tr","split","Context","createContext","currency","CURRENCY","currency_display","CURRENCY_DISPLAY","_default","exports","hasFlatTr","destructed","k","includes","pointer","set","replace"],"sources":["../../../src/shared/Context.tsx"],"sourcesContent":["/**\n * Web Context Context\n *\n */\n\nimport { createContext } from 'react'\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from './defaults'\nimport defaultLocales from './locales'\nimport { extendDeep } from './component-helper'\nimport pointer from 'json-pointer'\n\n// All TypeScript based Eufemia elements\nimport type { ScrollViewProps } from '../fragments/scroll-view/ScrollView'\n\n// All TypeScript based Eufemia components\nimport type { AnchorProps } from '../components/Anchor'\nimport type { ButtonProps } from '../components/button/Button'\nimport type { AvatarProps } from '../components/avatar/Avatar'\nimport type { AvatarGroupProps } from '../components/avatar/AvatarGroup'\nimport type { BadgeProps } from '../components/badge/Badge'\nimport type { BreadcrumbProps } from '../components/breadcrumb/Breadcrumb'\nimport type { BreadcrumbItemProps } from '../components/breadcrumb/BreadcrumbItem'\nimport type { CheckboxProps } from '../components/Checkbox'\nimport type { InfoCardProps } from '../components/info-card/InfoCard'\nimport type { SliderProps } from '../components/slider/Slider'\nimport type { TagProps } from '../components/tag/Tag'\nimport type { TagGroupProps } from '../components/tag/TagGroup'\nimport type { TimelineProps } from '../components/timeline/Timeline'\nimport type { TimelineItemProps } from '../components/timeline/TimelineItem'\nimport type { VisuallyHiddenProps } from '../components/visually-hidden/VisuallyHidden'\nimport type { DrawerProps } from '../components/drawer/types'\nimport type { DialogProps } from '../components/dialog/types'\nimport type { TooltipProps } from '../components/tooltip/types'\nimport type { SectionProps } from '../components/section/Section'\nimport type { FormRowProps } from '../components/form-row/FormRowHelpers'\nimport type { UploadProps } from '../components/upload/types'\nimport type { SkeletonProps, SkeletonShow } from '../components/Skeleton'\nimport type { HelpButtonProps } from '../components/HelpButton'\nimport type { TableProps } from '../components/Table'\nimport type { GlobalErrorProps } from '../components/GlobalError'\nimport type { ModalProps } from '../components/modal/types'\nimport type { AccordionProps } from '../components/Accordion'\nimport type { StepIndicatorProps } from '../components/StepIndicator'\nimport type { FormLabelProps } from '../components/FormLabel'\nimport type { InputProps } from '../components/Input'\nimport type { NumberFormatCurrency } from '../components/NumberFormat'\nimport type { ProgressIndicatorProps } from '../components/progress-indicator/types'\nimport type { FormStatusProps } from '../components/FormStatus'\nimport type { LogoProps } from '../components/Logo'\nimport type { IconProps } from '../components/Icon'\nimport type { IconPrimaryProps } from '../components/IconPrimary'\n\nimport type { FormElementProps } from './helpers/filterValidProps'\nimport type { ThemeProps } from './Theme'\nimport type { FormsTranslation } from '../extensions/forms/hooks/useTranslation'\nimport type { DeepPartial } from './types'\n\nexport type ContextComponents = {\n Button?: Partial<ButtonProps>\n Anchor?: Partial<AnchorProps>\n Avatar?: Partial<AvatarProps>\n AvatarGroup?: Partial<AvatarGroupProps>\n Badge?: Partial<BadgeProps>\n Breadcrumb?: Partial<BreadcrumbProps>\n BreadcrumbItem?: Partial<BreadcrumbItemProps>\n Checkbox?: Partial<CheckboxProps>\n InfoCard?: Partial<InfoCardProps>\n Slider?: Partial<SliderProps>\n Tag?: Partial<TagProps>\n TagGroup?: Partial<TagGroupProps>\n Timeline?: Partial<TimelineProps>\n TimelineItem?: Partial<TimelineItemProps>\n VisuallyHidden?: Partial<VisuallyHiddenProps>\n Drawer?: Partial<DrawerProps>\n Dialog?: Partial<DialogProps>\n Tooltip?: Partial<TooltipProps>\n Section?: Partial<SectionProps>\n ScrollView?: Partial<ScrollViewProps>\n Upload?: Partial<UploadProps>\n Skeleton?: Partial<SkeletonProps>\n HelpButton?: Partial<HelpButtonProps>\n Table?: Partial<TableProps>\n GlobalError?: Partial<GlobalErrorProps>\n Modal?: Partial<ModalProps>\n Accordion?: Partial<AccordionProps>\n StepIndicator?: Partial<StepIndicatorProps>\n FormLabel?: Partial<FormLabelProps>\n Input?: Partial<InputProps>\n ProgressIndicator?: Partial<ProgressIndicatorProps>\n FormStatus?: Partial<FormStatusProps>\n Logo?: Partial<LogoProps>\n Icon?: Partial<IconProps>\n IconPrimary?: Partial<IconPrimaryProps>\n\n // -- TODO: Not converted yet --\n NumberFormat?: Record<string, unknown>\n Pagination?: Record<string, unknown>\n\n /**\n * @deprecated – can be removed in v11\n */\n FormRow?: FormRowProps\n\n // Common props\n formElement?: FormElementProps\n}\n\nexport type ContextProps = ContextComponents & {\n // -- All TypeScript based Eufemia components --\n\n // -- Global properties --\n\n /**\n * Contains theme related properties, such as a theme name\n */\n theme?: ThemeProps\n\n /**\n * Will enable all skeletons inside this provider/context scope\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what breakpoints should be used by the MediaQuery component and hook\n */\n breakpoints?: Record<string, string>\n\n /**\n * Defines the locale (internal translation) used by some components\n */\n locale?: InternalLocale\n\n /**\n * Internal translations used by the components and hooks\n */\n translation?: Translation\n\n /**\n * Defines the currency used by the NumberFormat component\n */\n currency?: NumberFormatCurrency\n\n /**\n * Defines the currencyDisplay used by the NumberFormat component\n */\n currency_display?: string\n\n /**\n * Update any given provider/context properties\n */\n update?: (props: ContextProps) => void\n\n /**\n * Update any given provider/context properties, but only for the particular scope\n */\n updateCurrent?: (props: ContextProps) => void\n\n /**\n * Update the used locale from within the context\n */\n setLocale?: (locale: InternalLocale) => void\n\n /**\n * Update the used locale from within the context, but only for the particular scope\n */\n setCurrentLocale?: (locale: InternalLocale) => void\n\n /**\n * Overwrite existing internal translation strings or define new strings via the Provider\n */\n translations?: Translations | TranslationCustomLocales\n\n /**\n * @deprecated Use `translations` instead\n */\n locales?: Translations | TranslationCustomLocales\n\n // -- For internal use --\n __context__?: Record<string, unknown>\n updateTranslation?: (\n locale: InternalLocale,\n translation: Translation\n ) => void\n getTranslation?: (props: GetTranslationProps) => Translation\n}\n\nexport type GetTranslationProps = Partial<{\n lang?: InternalLocale | HTMLElement['lang']\n locale?: InternalLocale\n}>\n\nexport type Locale = TranslationLocale | 'en-US'\nexport type AnyLocale = string\nexport type InternalLocale =\n | Locale\n // more strict type definitions than string breaks applications using React Intl.\n | AnyLocale\nexport type ComponentTranslationsName = keyof ContextComponents | string\nexport type ComponentTranslation = string\nexport type Translations =\n | Partial<Record<InternalLocale, Translation | TranslationFlat>>\n | Partial<Record<InternalLocale, FormsTranslation>>\nexport type TranslationDefaultLocales = typeof defaultLocales\nexport type TranslationLocale = keyof TranslationDefaultLocales\nexport type TranslationKeys =\n keyof TranslationDefaultLocales[TranslationLocale]\nexport type TranslationValues =\n TranslationDefaultLocales[TranslationLocale]\nexport type TranslationCustomLocales = Record<\n never,\n string | Record<string, string>\n>\n\n/**\n * E.g. \"HelpButton: { title: '...' }\"\n */\nexport type Translation = DeepPartial<TranslationValues>\n\n/**\n * E.g. \"HelpButton.title\"\n */\nexport type TranslationFlat = Record<\n ComponentTranslationsName,\n TranslationKeys | ComponentTranslation\n>\n\nexport type TranslationFlatToObject<T> = T extends Record<string, unknown>\n ? {\n // eslint-disable-next-line no-unused-vars\n [K in keyof T as K extends `${infer First}.${infer Rest}`\n ? First\n : // eslint-disable-next-line no-unused-vars\n K]: K extends `${infer First}.${infer Rest}`\n ? TranslationFlatToObject<Record<Rest, T[K]>>\n : T[K]\n }\n : T\n\nexport function prepareContext<Props>(\n props: ContextProps = {}\n): Props & ContextProps {\n if (props?.__context__) {\n props = Object.assign({}, props, props.__context__)\n delete props.__context__\n }\n\n const translations: Translations =\n props.translations || props.locales\n ? extendDeep({}, defaultLocales, props.translations || props.locales)\n : extendDeep({}, defaultLocales)\n\n const localeWithFallback = handleLocaleFallbacks(\n props.locale || LOCALE,\n props.translations || props.locales\n )\n\n /**\n * The code above adds support for strings, defined like:\n * {\n * \"Modal.close_title\": \"Lukk\",\n * }\n */\n for (const locale in translations) {\n translations[locale] = destructFlatTranslation(\n translations[locale] as TranslationFlat\n )\n }\n\n const translation =\n translations[localeWithFallback] || defaultLocales[LOCALE] || {}\n\n const context = {\n ...props,\n updateTranslation: (locale, newTranslations) => {\n context.translation =\n newTranslations[locale] || newTranslations[LOCALE]\n context.translations = newTranslations\n\n if (context.locales) {\n context.locales = context.translations\n }\n },\n getTranslation: (localProps) => {\n if (localProps) {\n const locale = localProps.lang || localProps.locale\n if (\n locale &&\n (context.translations || context.locales)[locale] &&\n locale !== localeWithFallback\n ) {\n const tr = context.translations || context.locales\n return tr[locale]\n }\n }\n return context.translation || defaultLocales[LOCALE]\n },\n\n /**\n * Make sure we set this after props, since we update this one!\n */\n locales: translations, // @deprecated – can be removed in v11\n translations,\n translation,\n } as Props & ContextProps\n\n return { ...context }\n}\n\nfunction handleLocaleFallbacks(\n locale: InternalLocale | AnyLocale,\n translations: Translations = {}\n) {\n if (locale === 'en' || String(locale).split('-')[0] === 'en') {\n return 'en-GB'\n }\n return translations[locale] ? locale : LOCALE\n}\n\n// If no provider is given, we use the default context from here\nconst Context = createContext<ContextProps>(\n prepareContext({\n locale: LOCALE,\n currency: CURRENCY,\n currency_display: CURRENCY_DISPLAY,\n })\n)\n\nexport default Context\n\nexport function destructFlatTranslation(source: TranslationFlat) {\n let hasFlatTr = false\n const destructed = {}\n\n for (const k in source) {\n if (String(k).includes('.')) {\n pointer.set(destructed, '/' + k.replace(/\\./g, '/'), source[k])\n hasFlatTr = true\n }\n }\n\n if (hasFlatTr) {\n return extendDeep({}, source, destructed)\n }\n\n return source\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Context.js","names":["_react","require","_defaults","_locales","_interopRequireDefault","_componentHelper","_jsonPointer","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","prepareContext","_props","props","__context__","assign","translations","locales","extendDeep","defaultLocales","localeWithFallback","handleLocaleFallbacks","locale","LOCALE","destructFlatTranslation","translation","context","updateTranslation","newTranslations","getTranslation","localProps","lang","tr","split","Context","createContext","currency","CURRENCY","currency_display","CURRENCY_DISPLAY","_default","exports","hasFlatTr","destructed","k","includes","pointer","set","replace"],"sources":["../../../src/shared/Context.tsx"],"sourcesContent":["/**\n * Web Context Context\n *\n */\n\nimport { createContext } from 'react'\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from './defaults'\nimport defaultLocales from './locales'\nimport { extendDeep } from './component-helper'\nimport pointer from '../extensions/forms/utils/json-pointer'\n\n// All TypeScript based Eufemia elements\nimport type { ScrollViewProps } from '../fragments/scroll-view/ScrollView'\n\n// All TypeScript based Eufemia components\nimport type { AnchorProps } from '../components/Anchor'\nimport type { ButtonProps } from '../components/button/Button'\nimport type { AvatarProps } from '../components/avatar/Avatar'\nimport type { AvatarGroupProps } from '../components/avatar/AvatarGroup'\nimport type { BadgeProps } from '../components/badge/Badge'\nimport type { BreadcrumbProps } from '../components/breadcrumb/Breadcrumb'\nimport type { BreadcrumbItemProps } from '../components/breadcrumb/BreadcrumbItem'\nimport type { CheckboxProps } from '../components/Checkbox'\nimport type { InfoCardProps } from '../components/info-card/InfoCard'\nimport type { SliderProps } from '../components/slider/Slider'\nimport type { TagProps } from '../components/tag/Tag'\nimport type { TagGroupProps } from '../components/tag/TagGroup'\nimport type { TimelineProps } from '../components/timeline/Timeline'\nimport type { TimelineItemProps } from '../components/timeline/TimelineItem'\nimport type { VisuallyHiddenProps } from '../components/visually-hidden/VisuallyHidden'\nimport type { DrawerProps } from '../components/drawer/types'\nimport type { DialogProps } from '../components/dialog/types'\nimport type { TooltipProps } from '../components/tooltip/types'\nimport type { SectionProps } from '../components/section/Section'\nimport type { FormRowProps } from '../components/form-row/FormRowHelpers'\nimport type { UploadProps } from '../components/upload/types'\nimport type { SkeletonProps, SkeletonShow } from '../components/Skeleton'\nimport type { HelpButtonProps } from '../components/HelpButton'\nimport type { TableProps } from '../components/Table'\nimport type { GlobalErrorProps } from '../components/GlobalError'\nimport type { ModalProps } from '../components/modal/types'\nimport type { AccordionProps } from '../components/Accordion'\nimport type { StepIndicatorProps } from '../components/StepIndicator'\nimport type { FormLabelProps } from '../components/FormLabel'\nimport type { InputProps } from '../components/Input'\nimport type { NumberFormatCurrency } from '../components/NumberFormat'\nimport type { ProgressIndicatorProps } from '../components/progress-indicator/types'\nimport type { FormStatusProps } from '../components/FormStatus'\nimport type { LogoProps } from '../components/Logo'\nimport type { IconProps } from '../components/Icon'\nimport type { IconPrimaryProps } from '../components/IconPrimary'\nimport { SwitchProps } from '../components/Switch'\n\nimport type { FormElementProps } from './helpers/filterValidProps'\nimport type { ThemeProps } from './Theme'\nimport type { FormsTranslation } from '../extensions/forms/hooks/useTranslation'\nimport type { DeepPartial } from './types'\n\nexport type ContextComponents = {\n Button?: Partial<ButtonProps>\n Anchor?: Partial<AnchorProps>\n Avatar?: Partial<AvatarProps>\n AvatarGroup?: Partial<AvatarGroupProps>\n Badge?: Partial<BadgeProps>\n Breadcrumb?: Partial<BreadcrumbProps>\n BreadcrumbItem?: Partial<BreadcrumbItemProps>\n Checkbox?: Partial<CheckboxProps>\n InfoCard?: Partial<InfoCardProps>\n Slider?: Partial<SliderProps>\n Tag?: Partial<TagProps>\n TagGroup?: Partial<TagGroupProps>\n Timeline?: Partial<TimelineProps>\n TimelineItem?: Partial<TimelineItemProps>\n VisuallyHidden?: Partial<VisuallyHiddenProps>\n Drawer?: Partial<DrawerProps>\n Dialog?: Partial<DialogProps>\n Tooltip?: Partial<TooltipProps>\n Section?: Partial<SectionProps>\n ScrollView?: Partial<ScrollViewProps>\n Upload?: Partial<UploadProps>\n Skeleton?: Partial<SkeletonProps>\n HelpButton?: Partial<HelpButtonProps>\n Table?: Partial<TableProps>\n GlobalError?: Partial<GlobalErrorProps>\n Modal?: Partial<ModalProps>\n Accordion?: Partial<AccordionProps>\n StepIndicator?: Partial<StepIndicatorProps>\n FormLabel?: Partial<FormLabelProps>\n Input?: Partial<InputProps>\n ProgressIndicator?: Partial<ProgressIndicatorProps>\n FormStatus?: Partial<FormStatusProps>\n Logo?: Partial<LogoProps>\n Icon?: Partial<IconProps>\n IconPrimary?: Partial<IconPrimaryProps>\n\n Switch?: Partial<SwitchProps>\n // -- TODO: Not converted yet --\n NumberFormat?: Record<string, unknown>\n Pagination?: Record<string, unknown>\n\n /**\n * @deprecated – can be removed in v11\n */\n FormRow?: FormRowProps\n\n // Common props\n formElement?: FormElementProps\n}\n\nexport type ContextProps = ContextComponents & {\n // -- All TypeScript based Eufemia components --\n\n // -- Global properties --\n\n /**\n * Contains theme related properties, such as a theme name\n */\n theme?: ThemeProps\n\n /**\n * Will enable all skeletons inside this provider/context scope\n */\n skeleton?: SkeletonShow\n\n /**\n * Define what breakpoints should be used by the MediaQuery component and hook\n */\n breakpoints?: Record<string, string>\n\n /**\n * Defines the locale (internal translation) used by some components\n */\n locale?: InternalLocale\n\n /**\n * Internal translations used by the components and hooks\n */\n translation?: Translation\n\n /**\n * Defines the currency used by the NumberFormat component\n */\n currency?: NumberFormatCurrency\n\n /**\n * Defines the currencyDisplay used by the NumberFormat component\n */\n currency_display?: string\n\n /**\n * Update any given provider/context properties\n */\n update?: (props: ContextProps) => void\n\n /**\n * Update any given provider/context properties, but only for the particular scope\n */\n updateCurrent?: (props: ContextProps) => void\n\n /**\n * Update the used locale from within the context\n */\n setLocale?: (locale: InternalLocale) => void\n\n /**\n * Update the used locale from within the context, but only for the particular scope\n */\n setCurrentLocale?: (locale: InternalLocale) => void\n\n /**\n * Overwrite existing internal translation strings or define new strings via the Provider\n */\n translations?: Translations | TranslationCustomLocales\n\n /**\n * @deprecated Use `translations` instead\n */\n locales?: Translations | TranslationCustomLocales\n\n // -- For internal use --\n __context__?: Record<string, unknown>\n updateTranslation?: (\n locale: InternalLocale,\n translation: Translation\n ) => void\n getTranslation?: (props: GetTranslationProps) => Translation\n}\n\nexport type GetTranslationProps = Partial<{\n lang?: InternalLocale | HTMLElement['lang']\n locale?: InternalLocale\n}>\n\nexport type Locale = TranslationLocale | 'en-US'\nexport type AnyLocale = string\nexport type InternalLocale =\n | Locale\n // more strict type definitions than string breaks applications using React Intl.\n | AnyLocale\nexport type ComponentTranslationsName = keyof ContextComponents | string\nexport type ComponentTranslation = string\nexport type Translations =\n | Partial<Record<InternalLocale, Translation | TranslationFlat>>\n | Partial<Record<InternalLocale, FormsTranslation>>\nexport type TranslationDefaultLocales = typeof defaultLocales\nexport type TranslationLocale = keyof TranslationDefaultLocales\nexport type TranslationKeys =\n keyof TranslationDefaultLocales[TranslationLocale]\nexport type TranslationValues =\n TranslationDefaultLocales[TranslationLocale]\nexport type TranslationCustomLocales = Record<\n never,\n string | Record<string, string>\n>\n\n/**\n * E.g. \"HelpButton: { title: '...' }\"\n */\nexport type Translation = DeepPartial<TranslationValues>\n\n/**\n * E.g. \"HelpButton.title\"\n */\nexport type TranslationFlat = Record<\n ComponentTranslationsName,\n TranslationKeys | ComponentTranslation\n>\n\nexport type TranslationFlatToObject<T> = T extends Record<string, unknown>\n ? {\n // eslint-disable-next-line\n [K in keyof T as K extends `${infer First}.${infer Rest}`\n ? First\n : // eslint-disable-next-line\n K]: K extends `${infer First}.${infer Rest}`\n ? TranslationFlatToObject<Record<Rest, T[K]>>\n : T[K]\n }\n : T\n\nexport function prepareContext<Props>(\n props: ContextProps = {}\n): Props & ContextProps {\n if (props?.__context__) {\n props = Object.assign({}, props, props.__context__)\n delete props.__context__\n }\n\n const translations: Translations =\n props.translations || props.locales\n ? extendDeep({}, defaultLocales, props.translations || props.locales)\n : extendDeep({}, defaultLocales)\n\n const localeWithFallback = handleLocaleFallbacks(\n props.locale || LOCALE,\n props.translations || props.locales\n )\n\n /**\n * The code above adds support for strings, defined like:\n * {\n * \"Modal.close_title\": \"Lukk\",\n * }\n */\n for (const locale in translations) {\n translations[locale] = destructFlatTranslation(\n translations[locale] as TranslationFlat\n )\n }\n\n const translation =\n translations[localeWithFallback] || defaultLocales[LOCALE] || {}\n\n const context = {\n ...props,\n updateTranslation: (locale, newTranslations) => {\n context.translation =\n newTranslations[locale] || newTranslations[LOCALE]\n context.translations = newTranslations\n\n if (context.locales) {\n context.locales = context.translations\n }\n },\n getTranslation: (localProps) => {\n if (localProps) {\n const locale = localProps.lang || localProps.locale\n if (\n locale &&\n (context.translations || context.locales)[locale] &&\n locale !== localeWithFallback\n ) {\n const tr = context.translations || context.locales\n return tr[locale]\n }\n }\n return context.translation || defaultLocales[LOCALE]\n },\n\n /**\n * Make sure we set this after props, since we update this one!\n */\n locales: translations, // @deprecated – can be removed in v11\n translations,\n translation,\n } as Props & ContextProps\n\n return { ...context }\n}\n\nfunction handleLocaleFallbacks(\n locale: InternalLocale | AnyLocale,\n translations: Translations = {}\n) {\n if (locale === 'en' || String(locale).split('-')[0] === 'en') {\n return 'en-GB'\n }\n return translations[locale] ? locale : LOCALE\n}\n\n// If no provider is given, we use the default context from here\nconst Context = createContext<ContextProps>(\n prepareContext({\n locale: LOCALE,\n currency: CURRENCY,\n currency_display: CURRENCY_DISPLAY,\n })\n)\n\nexport default Context\n\nexport function destructFlatTranslation(source: TranslationFlat) {\n let hasFlatTr = false\n const destructed = {}\n\n for (const k in source) {\n if (String(k).includes('.')) {\n pointer.set(destructed, '/' + k.replace(/\\./g, '/'), source[k])\n hasFlatTr = true\n }\n }\n\n if (hasFlatTr) {\n return extendDeep({}, source, destructed)\n }\n\n return source\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "10.50.0";
1
+ export declare const version = "10.51.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.50.0';
8
+ const version = '10.51.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.50.0';
14
+ return '10.51.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.50.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.50.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.51.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.51.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"}
@@ -9,7 +9,6 @@ export type MediaQueryCondition = {
9
9
  minWidth?: number | string | MediaQuerySizes;
10
10
  maxWidth?: number | string | MediaQuerySizes;
11
11
  orientation?: string;
12
- handheld?: boolean;
13
12
  not?: boolean;
14
13
  all?: boolean;
15
14
  monochrome?: boolean;
@@ -109,10 +109,10 @@ function buildQuery() {
109
109
  let listOfQueries = [];
110
110
  if (Array.isArray(when)) {
111
111
  listOfQueries = listOfQueries.concat(combineQueries(when, breakpoints, options));
112
- } else if (when && typeof when === 'object') {
113
- const query = convertToMediaQuery(when, breakpoints, options);
114
- if (query) {
115
- listOfQueries.push(query);
112
+ } else if (typeof when === 'object') {
113
+ const queryItem = convertToMediaQuery(when, breakpoints, options);
114
+ if (queryItem) {
115
+ listOfQueries.push(queryItem);
116
116
  }
117
117
  }
118
118
  if (listOfQueries.length > 0) {
@@ -142,14 +142,8 @@ function combineQueries(queries) {
142
142
  }
143
143
  const query = convertToMediaQuery(when, breakpoints, options);
144
144
  if (query) {
145
- switch (arr[i - 1]) {
146
- case 'and':
147
- listOfQueries.push('and');
148
- break;
149
- case 'or':
150
- default:
151
- listOfQueries.push(', ');
152
- break;
145
+ if (query !== 'and' && arr[i - 1] !== 'and') {
146
+ listOfQueries.push(', ');
153
147
  }
154
148
  listOfQueries.push(query);
155
149
  }
@@ -175,7 +169,10 @@ function convertToMediaQuery(query) {
175
169
  return query.reduce((acc, q, index) => {
176
170
  acc += objToMediaQuery(q, breakpoints, options);
177
171
  if (index < query.length - 1) {
178
- acc += ', ';
172
+ if (q !== 'and' && query[index + 1] !== 'and') {
173
+ acc += ',';
174
+ }
175
+ acc += ' ';
179
176
  }
180
177
  return acc;
181
178
  }, '');
@@ -185,6 +182,9 @@ function convertToMediaQuery(query) {
185
182
  function objToMediaQuery(obj) {
186
183
  let breakpoints = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
187
184
  let options = arguments.length > 2 ? arguments[2] : undefined;
185
+ if (typeof obj === 'string') {
186
+ return obj;
187
+ }
188
188
  let hasNot = false;
189
189
  let query = Object.keys(obj).reduce((acc, feature) => {
190
190
  let value = obj[feature];
@@ -193,6 +193,9 @@ function objToMediaQuery(obj) {
193
193
  hasNot = true;
194
194
  return acc;
195
195
  }
196
+ if (feature === 'monochrome') {
197
+ feature = `(${feature})`;
198
+ }
196
199
  if (feature === 'min' || feature === 'max') {
197
200
  feature = `${feature}-width`;
198
201
  }
@@ -220,7 +223,7 @@ function objToMediaQuery(obj) {
220
223
  if (options !== null && options !== void 0 && options.correctRange && /\(min-width: [0-9]+em\)/.test(query)) {
221
224
  const size = parseFloat(query.match(/\(min-width: ([0-9]+)em\)/)[1]) || 0;
222
225
  if (size > 0) {
223
- const correctedSize = (size * 16 + 1) / 16;
226
+ const correctedSize = (size * 16 + 0.1) / 16;
224
227
  query = query.replace(/(min-width: [0-9]+em)/, `min-width: ${correctedSize}em`);
225
228
  }
226
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MediaQueryUtils.js","names":["_componentHelper","require","_helpers","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","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","defaultBreakpoints","small","medium","large","exports","onMediaQueryChange","property","callback","runOnInit","query","when","not","mediaQueryList","makeMediaQueryList","matches","createMediaQueryListener","isMatchMediaSupported","window","matchMedia","breakpoints","options","isSupported","disabled","buildQuery","mediaQueryString","convertToMediaQuery","log","warn","listener","event","addEventListener","removeEventListener","split","listOfQueries","Array","isArray","concat","combineQueries","join","Boolean","replace","isTrue","reverseQuery","startsWith","test","queries","reduce","arr","mergeBreakpoints","entries","sort","a","b","acc","_ref","q","index","objToMediaQuery","hasNot","feature","toKebabCase","getValueByFeature","correctRange","size","parseFloat","match","correctedSize","types","prototype","hasOwnProperty"],"sources":["../../../src/shared/MediaQueryUtils.ts"],"sourcesContent":["import { isTrue, toKebabCase } from './component-helper'\nimport { warn } from './helpers'\n\nexport type MediaQuerySizes =\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\nexport type MediaQueryBreakpoints = Partial<\n Record<MediaQuerySizes, string>\n>\n\nexport const defaultBreakpoints: MediaQueryBreakpoints = {\n small: '40em',\n medium: '60em',\n large: '72em',\n 'x-large': '80em',\n 'xx-large': '90em',\n}\n\nexport type MediaQueryCondition =\n | {\n min?: number | string | MediaQuerySizes\n max?: number | string | MediaQuerySizes\n screen?: boolean\n minWidth?: number | string | MediaQuerySizes\n maxWidth?: number | string | MediaQuerySizes\n orientation?: string\n handheld?: boolean\n not?: boolean\n all?: boolean\n monochrome?: boolean\n aspectRatio?: string\n }\n | string\n\nexport type MediaQueryProperties = {\n /**\n * A MediaQuery as a string similar to the CSS API, but without `@media`.\n */\n query?: MediaQueryCondition\n\n /**\n * Define a list of sizes to match, given as an object `{ min: 'small', max: 'medium' }` or as an array `[{ min: 'small', max: 'medium' }, { min: 'medium', max: 'large' }]`.\n */\n when?: MediaQueryCondition | Array<MediaQueryCondition>\n\n /**\n * Reverts the defined queries as a whole.\n */\n not?: boolean\n} & MediaQueryCondition\n\nexport type MediaQueryOptions = {\n /**\n * If set to true, no MediaQuery will be used.\n */\n disabled?: boolean\n\n /**\n * Will correct the size of the media query ranges (e.g. medium will be from 40.0625em to 60em)\n * Default: true\n */\n correctRange?: boolean\n\n /**\n * For debugging\n */\n log?: boolean\n}\n\nexport type MediaQueryListener = () => void\n\nexport type MediaQueryProps = {\n /**\n * If set to true, it will match and return the given children during SSR.\n */\n matchOnSSR?: boolean\n\n children?: React.ReactNode\n} & MediaQueryProperties &\n MediaQueryOptions\n\nexport type MediaQueryState = {\n match?: boolean | null\n mediaQueryList?: { matches: boolean }\n}\n\n/**\n * Adds a listener to a given MediaQuery\n */\nexport function onMediaQueryChange(\n property: MediaQueryProperties | string,\n callback?: (matches: boolean, mediaQueryList: MediaQueryList) => void,\n { runOnInit = false } = {}\n): MediaQueryListener {\n let query = property\n let when = null\n let not = null\n\n if (property && typeof property === 'object') {\n query = null\n when = property.when || property\n not = property.not\n }\n\n const mediaQueryList = makeMediaQueryList({ query, when, not })\n\n if (runOnInit) {\n if (typeof callback === 'function') {\n callback(mediaQueryList?.matches, mediaQueryList)\n }\n }\n\n return createMediaQueryListener(mediaQueryList, callback)\n}\n\n/**\n * Returns a boolean for whether window.matchMedia is supported or not\n */\nexport const isMatchMediaSupported = (): boolean =>\n typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined'\n\n/**\n * Convert user defined media queries to an valid MediaQueryList we can assign a listener to\n */\nexport function makeMediaQueryList(\n { query, when, not = null }: MediaQueryProperties = {},\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): MediaQueryList {\n const isSupported = isMatchMediaSupported()\n\n if (options?.disabled || !isSupported) {\n return null\n }\n\n if (when) {\n query = buildQuery({ query, when, not }, breakpoints, options)\n }\n\n const mediaQueryString = convertToMediaQuery(query, breakpoints, options)\n const mediaQueryList = window.matchMedia(mediaQueryString)\n\n if (options?.log) {\n warn('MediaQuery:', mediaQueryString)\n }\n\n return mediaQueryList\n}\n\n/**\n * Adds a listener to the window.matchMedia Browser API\n */\nexport function createMediaQueryListener(\n mediaQueryList: MediaQueryList,\n callback: (matches: boolean, event: Partial<MediaQueryListEvent>) => void\n): MediaQueryListener {\n if (!mediaQueryList) {\n return () => null\n }\n\n const listener = (event: MediaQueryListEvent) => {\n if (typeof callback === 'function') {\n callback(event?.matches, event)\n }\n }\n if (mediaQueryList?.addEventListener) {\n mediaQueryList.addEventListener('change', listener)\n }\n\n return () => {\n if (mediaQueryList?.removeEventListener) {\n mediaQueryList.removeEventListener('change', listener)\n }\n }\n}\n\n/**\n * Builds a valid media query we can use on window.matchMedia(...)\n */\nexport function buildQuery(\n { query = null, when = null, not = null }: MediaQueryProperties = {},\n breakpoints?: MediaQueryBreakpoints,\n options?: MediaQueryOptions\n) {\n if (when) {\n if (typeof when === 'string') {\n when = when.split(/[ ,]/g)\n }\n\n let listOfQueries = []\n\n if (Array.isArray(when)) {\n listOfQueries = listOfQueries.concat(\n combineQueries(when, breakpoints, options)\n )\n } else if (when && typeof when === 'object') {\n const query = convertToMediaQuery(when, breakpoints, options)\n if (query) {\n listOfQueries.push(query)\n }\n }\n\n if (listOfQueries.length > 0) {\n query = [listOfQueries.join(' '), query || '']\n .filter(Boolean)\n .join(' and ')\n .replace(/ +/g, ' ')\n .replace(/ ,/g, ',')\n }\n }\n\n if (isTrue(not)) {\n query = reverseQuery(String(query))\n }\n\n return query || 'not'\n}\n\n/**\n * Reverses a media query\n */\nfunction reverseQuery(query: string) {\n if (query.startsWith('not')) {\n return query.replace(/^not +/, '')\n }\n if (!/^(screen|all|print|speech)/.test(query)) {\n query = `all and ${query}`\n }\n return `not ${query}`\n}\n\n/**\n * Builds a list of queries based on sizing types, like small, medium\n */\nfunction combineQueries(\n queries: Array<MediaQueryCondition>,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n) {\n return queries\n .reduce((listOfQueries, when, i, arr) => {\n if (breakpoints) {\n breakpoints = mergeBreakpoints(breakpoints)\n }\n\n const query = convertToMediaQuery(when, breakpoints, options)\n\n if (query) {\n switch (arr[i - 1]) {\n case 'and':\n listOfQueries.push('and')\n break\n\n case 'or':\n default:\n listOfQueries.push(', ')\n break\n }\n\n listOfQueries.push(query)\n }\n\n return listOfQueries\n }, [])\n .filter((query, i) => {\n return !(i === 0 && query.startsWith(', '))\n })\n}\n\n/**\n * If custom breakpoints are given, we order them by the value\n * and return again an object as before\n */\nfunction mergeBreakpoints(breakpoints: MediaQueryBreakpoints) {\n return Object.entries({\n ...defaultBreakpoints,\n ...breakpoints,\n })\n .sort((a, b) => (a[1] > b[1] ? 1 : -1))\n .reduce((acc, [key, value]) => {\n acc[key] = value\n return acc\n }, {})\n}\n\n/**\n * Convert a media query from various formats to a valid string based media query\n */\nexport function convertToMediaQuery(\n query: MediaQueryCondition | Array<MediaQueryCondition>,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): string {\n if (typeof query === 'string') {\n return query\n }\n\n // Handling array of media queries\n if (Array.isArray(query)) {\n return query.reduce((acc, q, index) => {\n acc += objToMediaQuery(q, breakpoints, options)\n if (index < query.length - 1) {\n acc += ', '\n }\n\n return acc\n }, '') as string\n }\n\n // Handling single media query\n return objToMediaQuery(query, breakpoints, options)\n}\n\n/**\n * Converts an object with PascalCase defined properties to string based media queries\n */\nfunction objToMediaQuery(\n obj: MediaQueryCondition,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): string {\n let hasNot = false\n let query: string | Array<null> = Object.keys(obj).reduce(\n (acc, feature) => {\n let value = obj[feature]\n feature = toKebabCase(feature)\n\n if (feature === 'not') {\n hasNot = true\n return acc\n }\n\n if (feature === 'min' || feature === 'max') {\n feature = `${feature}-width`\n }\n\n // Add em to dimension features\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = value + 'em'\n }\n\n if (value === true) {\n acc.push(feature)\n } else if (value === false) {\n acc.push('not ' + feature)\n } else {\n value = getValueByFeature(value, breakpoints)\n if (typeof value !== 'undefined') {\n acc.push(`(${feature}: ${value})`)\n }\n }\n\n return acc\n },\n []\n )\n\n if (Array.isArray(query)) {\n query = query.length > 0 ? query.join(' and ') : query.join('')\n }\n\n if (hasNot) {\n query = reverseQuery(query)\n }\n\n if (options?.correctRange && /\\(min-width: [0-9]+em\\)/.test(query)) {\n const size =\n parseFloat(query.match(/\\(min-width: ([0-9]+)em\\)/)[1]) || 0\n if (size > 0) {\n const correctedSize = (size * 16 + 1) / 16\n query = query.replace(\n /(min-width: [0-9]+em)/,\n `min-width: ${correctedSize}em`\n )\n }\n }\n\n return query\n}\n\n/**\n * Corrects breakpoint types\n */\nfunction getValueByFeature(\n value: string,\n types: MediaQueryBreakpoints = null\n) {\n types = types || defaultBreakpoints\n if (Object.prototype.hasOwnProperty.call(types, value)) {\n value = types[value]\n }\n return value\n}\n"],"mappings":";;;;;;;;;;;AAAA,IAAAA,gBAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAAgC,SAAAE,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,IAAAC,eAAA,CAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAO,gBAAAI,GAAA,EAAAL,GAAA,EAAAM,KAAA,IAAAN,GAAA,GAAAO,cAAA,CAAAP,GAAA,OAAAA,GAAA,IAAAK,GAAA,IAAArB,MAAA,CAAAoB,cAAA,CAAAC,GAAA,EAAAL,GAAA,IAAAM,KAAA,EAAAA,KAAA,EAAAhB,UAAA,QAAAkB,YAAA,QAAAC,QAAA,oBAAAJ,GAAA,CAAAL,GAAA,IAAAM,KAAA,WAAAD,GAAA;AAAA,SAAAE,eAAAG,GAAA,QAAAV,GAAA,GAAAW,YAAA,CAAAD,GAAA,2BAAAV,GAAA,gBAAAA,GAAA,GAAAY,MAAA,CAAAZ,GAAA;AAAA,SAAAW,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAYzB,MAAMU,kBAAyC,GAAG;EACvDC,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE,MAAM;EACdC,KAAK,EAAE,MAAM;EACb,SAAS,EAAE,MAAM;EACjB,UAAU,EAAE;AACd,CAAC;AAAAC,OAAA,CAAAJ,kBAAA,GAAAA,kBAAA;AAyEM,SAASK,kBAAkBA,CAChCC,QAAuC,EACvCC,QAAqE,EAEjD;EAAA,IADpB;IAAEC,SAAS,GAAG;EAAM,CAAC,GAAAnC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsB,SAAA,GAAAtB,SAAA,MAAG,CAAC,CAAC;EAE1B,IAAIoC,KAAK,GAAGH,QAAQ;EACpB,IAAII,IAAI,GAAG,IAAI;EACf,IAAIC,GAAG,GAAG,IAAI;EAEd,IAAIL,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE;IAC5CG,KAAK,GAAG,IAAI;IACZC,IAAI,GAAGJ,QAAQ,CAACI,IAAI,IAAIJ,QAAQ;IAChCK,GAAG,GAAGL,QAAQ,CAACK,GAAG;EACpB;EAEA,MAAMC,cAAc,GAAGC,kBAAkB,CAAC;IAAEJ,KAAK;IAAEC,IAAI;IAAEC;EAAI,CAAC,CAAC;EAE/D,IAAIH,SAAS,EAAE;IACb,IAAI,OAAOD,QAAQ,KAAK,UAAU,EAAE;MAClCA,QAAQ,CAACK,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEE,OAAO,EAAEF,cAAc,CAAC;IACnD;EACF;EAEA,OAAOG,wBAAwB,CAACH,cAAc,EAAEL,QAAQ,CAAC;AAC3D;AAKO,MAAMS,qBAAqB,GAAGA,CAAA,KACnC,OAAOC,MAAM,KAAK,WAAW,IAAI,OAAOA,MAAM,CAACC,UAAU,KAAK,WAAW;AAAAd,OAAA,CAAAY,qBAAA,GAAAA,qBAAA;AAKpE,SAASH,kBAAkBA,CAAA,EAIhB;EAAA,IAHhB;IAAEJ,KAAK;IAAEC,IAAI;IAAEC,GAAG,GAAG;EAA2B,CAAC,GAAAtC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsB,SAAA,GAAAtB,SAAA,MAAG,CAAC,CAAC;EAAA,IACtD8C,WAAkC,GAAA9C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsB,SAAA,GAAAtB,SAAA,MAAG,IAAI;EAAA,IACzC+C,OAA2B,GAAA/C,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsB,SAAA;EAE3B,MAAM0B,WAAW,GAAGL,qBAAqB,CAAC,CAAC;EAE3C,IAAII,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,QAAQ,IAAI,CAACD,WAAW,EAAE;IACrC,OAAO,IAAI;EACb;EAEA,IAAIX,IAAI,EAAE;IACRD,KAAK,GAAGc,UAAU,CAAC;MAAEd,KAAK;MAAEC,IAAI;MAAEC;IAAI,CAAC,EAAEQ,WAAW,EAAEC,OAAO,CAAC;EAChE;EAEA,MAAMI,gBAAgB,GAAGC,mBAAmB,CAAChB,KAAK,EAAEU,WAAW,EAAEC,OAAO,CAAC;EACzE,MAAMR,cAAc,GAAGK,MAAM,CAACC,UAAU,CAACM,gBAAgB,CAAC;EAE1D,IAAIJ,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEM,GAAG,EAAE;IAChB,IAAAC,aAAI,EAAC,aAAa,EAAEH,gBAAgB,CAAC;EACvC;EAEA,OAAOZ,cAAc;AACvB;AAKO,SAASG,wBAAwBA,CACtCH,cAA8B,EAC9BL,QAAyE,EACrD;EACpB,IAAI,CAACK,cAAc,EAAE;IACnB,OAAO,MAAM,IAAI;EACnB;EAEA,MAAMgB,QAAQ,GAAIC,KAA0B,IAAK;IAC/C,IAAI,OAAOtB,QAAQ,KAAK,UAAU,EAAE;MAClCA,QAAQ,CAACsB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEf,OAAO,EAAEe,KAAK,CAAC;IACjC;EACF,CAAC;EACD,IAAIjB,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEkB,gBAAgB,EAAE;IACpClB,cAAc,CAACkB,gBAAgB,CAAC,QAAQ,EAAEF,QAAQ,CAAC;EACrD;EAEA,OAAO,MAAM;IACX,IAAIhB,cAAc,aAAdA,cAAc,eAAdA,cAAc,CAAEmB,mBAAmB,EAAE;MACvCnB,cAAc,CAACmB,mBAAmB,CAAC,QAAQ,EAAEH,QAAQ,CAAC;IACxD;EACF,CAAC;AACH;AAKO,SAASL,UAAUA,CAAA,EAIxB;EAAA,IAHA;IAAEd,KAAK,GAAG,IAAI;IAAEC,IAAI,GAAG,IAAI;IAAEC,GAAG,GAAG;EAA2B,CAAC,GAAAtC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsB,SAAA,GAAAtB,SAAA,MAAG,CAAC,CAAC;EAAA,IACpE8C,WAAmC,GAAA9C,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsB,SAAA;EAAA,IACnCyB,OAA2B,GAAA/C,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsB,SAAA;EAE3B,IAAIe,IAAI,EAAE;IACR,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MAC5BA,IAAI,GAAGA,IAAI,CAACsB,KAAK,CAAC,OAAO,CAAC;IAC5B;IAEA,IAAIC,aAAa,GAAG,EAAE;IAEtB,IAAIC,KAAK,CAACC,OAAO,CAACzB,IAAI,CAAC,EAAE;MACvBuB,aAAa,GAAGA,aAAa,CAACG,MAAM,CAClCC,cAAc,CAAC3B,IAAI,EAAES,WAAW,EAAEC,OAAO,CAC3C,CAAC;IACH,CAAC,MAAM,IAAIV,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;MAC3C,MAAMD,KAAK,GAAGgB,mBAAmB,CAACf,IAAI,EAAES,WAAW,EAAEC,OAAO,CAAC;MAC7D,IAAIX,KAAK,EAAE;QACTwB,aAAa,CAACjE,IAAI,CAACyC,KAAK,CAAC;MAC3B;IACF;IAEA,IAAIwB,aAAa,CAAC3D,MAAM,GAAG,CAAC,EAAE;MAC5BmC,KAAK,GAAG,CAACwB,aAAa,CAACK,IAAI,CAAC,GAAG,CAAC,EAAE7B,KAAK,IAAI,EAAE,CAAC,CAC3C7C,MAAM,CAAC2E,OAAO,CAAC,CACfD,IAAI,CAAC,OAAO,CAAC,CACbE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CACnBA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;IACxB;EACF;EAEA,IAAI,IAAAC,uBAAM,EAAC9B,GAAG,CAAC,EAAE;IACfF,KAAK,GAAGiC,YAAY,CAACrD,MAAM,CAACoB,KAAK,CAAC,CAAC;EACrC;EAEA,OAAOA,KAAK,IAAI,KAAK;AACvB;AAKA,SAASiC,YAAYA,CAACjC,KAAa,EAAE;EACnC,IAAIA,KAAK,CAACkC,UAAU,CAAC,KAAK,CAAC,EAAE;IAC3B,OAAOlC,KAAK,CAAC+B,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;EACpC;EACA,IAAI,CAAC,4BAA4B,CAACI,IAAI,CAACnC,KAAK,CAAC,EAAE;IAC7CA,KAAK,GAAI,WAAUA,KAAM,EAAC;EAC5B;EACA,OAAQ,OAAMA,KAAM,EAAC;AACvB;AAKA,SAAS4B,cAAcA,CACrBQ,OAAmC,EAGnC;EAAA,IAFA1B,WAAkC,GAAA9C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsB,SAAA,GAAAtB,SAAA,MAAG,IAAI;EAAA,IACzC+C,OAA2B,GAAA/C,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsB,SAAA;EAE3B,OAAOkD,OAAO,CACXC,MAAM,CAAC,CAACb,aAAa,EAAEvB,IAAI,EAAEtC,CAAC,EAAE2E,GAAG,KAAK;IACvC,IAAI5B,WAAW,EAAE;MACfA,WAAW,GAAG6B,gBAAgB,CAAC7B,WAAW,CAAC;IAC7C;IAEA,MAAMV,KAAK,GAAGgB,mBAAmB,CAACf,IAAI,EAAES,WAAW,EAAEC,OAAO,CAAC;IAE7D,IAAIX,KAAK,EAAE;MACT,QAAQsC,GAAG,CAAC3E,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,KAAK;UACR6D,aAAa,CAACjE,IAAI,CAAC,KAAK,CAAC;UACzB;QAEF,KAAK,IAAI;QACT;UACEiE,aAAa,CAACjE,IAAI,CAAC,IAAI,CAAC;UACxB;MACJ;MAEAiE,aAAa,CAACjE,IAAI,CAACyC,KAAK,CAAC;IAC3B;IAEA,OAAOwB,aAAa;EACtB,CAAC,EAAE,EAAE,CAAC,CACLrE,MAAM,CAAC,CAAC6C,KAAK,EAAErC,CAAC,KAAK;IACpB,OAAO,EAAEA,CAAC,KAAK,CAAC,IAAIqC,KAAK,CAACkC,UAAU,CAAC,IAAI,CAAC,CAAC;EAC7C,CAAC,CAAC;AACN;AAMA,SAASK,gBAAgBA,CAAC7B,WAAkC,EAAE;EAC5D,OAAO1D,MAAM,CAACwF,OAAO,CAAA/E,aAAA,CAAAA,aAAA,KAChB8B,kBAAkB,GAClBmB,WAAW,CACf,CAAC,CACC+B,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAMD,CAAC,CAAC,CAAC,CAAC,GAAGC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAE,CAAC,CACtCN,MAAM,CAAC,CAACO,GAAG,EAAAC,IAAA,KAAmB;IAAA,IAAjB,CAAC7E,GAAG,EAAEM,KAAK,CAAC,GAAAuE,IAAA;IACxBD,GAAG,CAAC5E,GAAG,CAAC,GAAGM,KAAK;IAChB,OAAOsE,GAAG;EACZ,CAAC,EAAE,CAAC,CAAC,CAAC;AACV;AAKO,SAAS5B,mBAAmBA,CACjChB,KAAuD,EAG/C;EAAA,IAFRU,WAAkC,GAAA9C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsB,SAAA,GAAAtB,SAAA,MAAG,IAAI;EAAA,IACzC+C,OAA2B,GAAA/C,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsB,SAAA;EAE3B,IAAI,OAAOc,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOA,KAAK;EACd;EAGA,IAAIyB,KAAK,CAACC,OAAO,CAAC1B,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACqC,MAAM,CAAC,CAACO,GAAG,EAAEE,CAAC,EAAEC,KAAK,KAAK;MACrCH,GAAG,IAAII,eAAe,CAACF,CAAC,EAAEpC,WAAW,EAAEC,OAAO,CAAC;MAC/C,IAAIoC,KAAK,GAAG/C,KAAK,CAACnC,MAAM,GAAG,CAAC,EAAE;QAC5B+E,GAAG,IAAI,IAAI;MACb;MAEA,OAAOA,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC;EACR;EAGA,OAAOI,eAAe,CAAChD,KAAK,EAAEU,WAAW,EAAEC,OAAO,CAAC;AACrD;AAKA,SAASqC,eAAeA,CACtB3E,GAAwB,EAGhB;EAAA,IAFRqC,WAAkC,GAAA9C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsB,SAAA,GAAAtB,SAAA,MAAG,IAAI;EAAA,IACzC+C,OAA2B,GAAA/C,SAAA,CAAAC,MAAA,OAAAD,SAAA,MAAAsB,SAAA;EAE3B,IAAI+D,MAAM,GAAG,KAAK;EAClB,IAAIjD,KAA2B,GAAGhD,MAAM,CAACD,IAAI,CAACsB,GAAG,CAAC,CAACgE,MAAM,CACvD,CAACO,GAAG,EAAEM,OAAO,KAAK;IAChB,IAAI5E,KAAK,GAAGD,GAAG,CAAC6E,OAAO,CAAC;IACxBA,OAAO,GAAG,IAAAC,4BAAW,EAACD,OAAO,CAAC;IAE9B,IAAIA,OAAO,KAAK,KAAK,EAAE;MACrBD,MAAM,GAAG,IAAI;MACb,OAAOL,GAAG;IACZ;IAEA,IAAIM,OAAO,KAAK,KAAK,IAAIA,OAAO,KAAK,KAAK,EAAE;MAC1CA,OAAO,GAAI,GAAEA,OAAQ,QAAO;IAC9B;IAGA,IAAI,OAAO5E,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC6D,IAAI,CAACe,OAAO,CAAC,EAAE;MAChE5E,KAAK,GAAGA,KAAK,GAAG,IAAI;IACtB;IAEA,IAAIA,KAAK,KAAK,IAAI,EAAE;MAClBsE,GAAG,CAACrF,IAAI,CAAC2F,OAAO,CAAC;IACnB,CAAC,MAAM,IAAI5E,KAAK,KAAK,KAAK,EAAE;MAC1BsE,GAAG,CAACrF,IAAI,CAAC,MAAM,GAAG2F,OAAO,CAAC;IAC5B,CAAC,MAAM;MACL5E,KAAK,GAAG8E,iBAAiB,CAAC9E,KAAK,EAAEoC,WAAW,CAAC;MAC7C,IAAI,OAAOpC,KAAK,KAAK,WAAW,EAAE;QAChCsE,GAAG,CAACrF,IAAI,CAAE,IAAG2F,OAAQ,KAAI5E,KAAM,GAAE,CAAC;MACpC;IACF;IAEA,OAAOsE,GAAG;EACZ,CAAC,EACD,EACF,CAAC;EAED,IAAInB,KAAK,CAACC,OAAO,CAAC1B,KAAK,CAAC,EAAE;IACxBA,KAAK,GAAGA,KAAK,CAACnC,MAAM,GAAG,CAAC,GAAGmC,KAAK,CAAC6B,IAAI,CAAC,OAAO,CAAC,GAAG7B,KAAK,CAAC6B,IAAI,CAAC,EAAE,CAAC;EACjE;EAEA,IAAIoB,MAAM,EAAE;IACVjD,KAAK,GAAGiC,YAAY,CAACjC,KAAK,CAAC;EAC7B;EAEA,IAAIW,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE0C,YAAY,IAAI,yBAAyB,CAAClB,IAAI,CAACnC,KAAK,CAAC,EAAE;IAClE,MAAMsD,IAAI,GACRC,UAAU,CAACvD,KAAK,CAACwD,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,IAAIF,IAAI,GAAG,CAAC,EAAE;MACZ,MAAMG,aAAa,GAAG,CAACH,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE;MAC1CtD,KAAK,GAAGA,KAAK,CAAC+B,OAAO,CACnB,uBAAuB,EACtB,cAAa0B,aAAc,IAC9B,CAAC;IACH;EACF;EAEA,OAAOzD,KAAK;AACd;AAKA,SAASoD,iBAAiBA,CACxB9E,KAAa,EAEb;EAAA,IADAoF,KAA4B,GAAA9F,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAsB,SAAA,GAAAtB,SAAA,MAAG,IAAI;EAEnC8F,KAAK,GAAGA,KAAK,IAAInE,kBAAkB;EACnC,IAAIvC,MAAM,CAAC2G,SAAS,CAACC,cAAc,CAACxE,IAAI,CAACsE,KAAK,EAAEpF,KAAK,CAAC,EAAE;IACtDA,KAAK,GAAGoF,KAAK,CAACpF,KAAK,CAAC;EACtB;EACA,OAAOA,KAAK;AACd"}
1
+ {"version":3,"file":"MediaQueryUtils.js","names":["_componentHelper","require","_helpers","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","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","defaultBreakpoints","small","medium","large","exports","onMediaQueryChange","property","callback","runOnInit","query","when","not","mediaQueryList","makeMediaQueryList","matches","createMediaQueryListener","isMatchMediaSupported","window","matchMedia","breakpoints","options","isSupported","disabled","buildQuery","mediaQueryString","convertToMediaQuery","log","warn","listener","event","addEventListener","removeEventListener","split","listOfQueries","Array","isArray","concat","combineQueries","queryItem","join","Boolean","replace","isTrue","reverseQuery","startsWith","test","queries","reduce","arr","mergeBreakpoints","entries","sort","a","b","acc","_ref","q","index","objToMediaQuery","hasNot","feature","toKebabCase","getValueByFeature","correctRange","size","parseFloat","match","correctedSize","types","prototype","hasOwnProperty"],"sources":["../../../src/shared/MediaQueryUtils.ts"],"sourcesContent":["import { isTrue, toKebabCase } from './component-helper'\nimport { warn } from './helpers'\n\nexport type MediaQuerySizes =\n | 'small'\n | 'medium'\n | 'large'\n | 'x-large'\n | 'xx-large'\nexport type MediaQueryBreakpoints = Partial<\n Record<MediaQuerySizes, string>\n>\n\nexport const defaultBreakpoints: MediaQueryBreakpoints = {\n small: '40em',\n medium: '60em',\n large: '72em',\n 'x-large': '80em',\n 'xx-large': '90em',\n}\n\nexport type MediaQueryCondition =\n | {\n min?: number | string | MediaQuerySizes\n max?: number | string | MediaQuerySizes\n screen?: boolean\n minWidth?: number | string | MediaQuerySizes\n maxWidth?: number | string | MediaQuerySizes\n orientation?: string\n not?: boolean\n all?: boolean\n monochrome?: boolean\n aspectRatio?: string\n }\n | string\n\nexport type MediaQueryProperties = {\n /**\n * A MediaQuery as a string similar to the CSS API, but without `@media`.\n */\n query?: MediaQueryCondition\n\n /**\n * Define a list of sizes to match, given as an object `{ min: 'small', max: 'medium' }` or as an array `[{ min: 'small', max: 'medium' }, { min: 'medium', max: 'large' }]`.\n */\n when?: MediaQueryCondition | Array<MediaQueryCondition>\n\n /**\n * Reverts the defined queries as a whole.\n */\n not?: boolean\n} & MediaQueryCondition\n\nexport type MediaQueryOptions = {\n /**\n * If set to true, no MediaQuery will be used.\n */\n disabled?: boolean\n\n /**\n * Will correct the size of the media query ranges (e.g. medium will be from 40.0625em to 60em)\n * Default: true\n */\n correctRange?: boolean\n\n /**\n * For debugging\n */\n log?: boolean\n}\n\nexport type MediaQueryListener = () => void\n\nexport type MediaQueryProps = {\n /**\n * If set to true, it will match and return the given children during SSR.\n */\n matchOnSSR?: boolean\n\n children?: React.ReactNode\n} & MediaQueryProperties &\n MediaQueryOptions\n\nexport type MediaQueryState = {\n match?: boolean | null\n mediaQueryList?: { matches: boolean }\n}\n\n/**\n * Adds a listener to a given MediaQuery\n */\nexport function onMediaQueryChange(\n property: MediaQueryProperties | string,\n callback?: (matches: boolean, mediaQueryList: MediaQueryList) => void,\n { runOnInit = false } = {}\n): MediaQueryListener {\n let query = property\n let when = null\n let not = null\n\n if (property && typeof property === 'object') {\n query = null\n when = property.when || property\n not = property.not\n }\n\n const mediaQueryList = makeMediaQueryList({ query, when, not })\n\n if (runOnInit) {\n if (typeof callback === 'function') {\n callback(mediaQueryList?.matches, mediaQueryList)\n }\n }\n\n return createMediaQueryListener(mediaQueryList, callback)\n}\n\n/**\n * Returns a boolean for whether window.matchMedia is supported or not\n */\nexport const isMatchMediaSupported = (): boolean =>\n typeof window !== 'undefined' && typeof window.matchMedia !== 'undefined'\n\n/**\n * Convert user defined media queries to an valid MediaQueryList we can assign a listener to\n */\nexport function makeMediaQueryList(\n { query, when, not = null }: MediaQueryProperties = {},\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): MediaQueryList {\n const isSupported = isMatchMediaSupported()\n\n if (options?.disabled || !isSupported) {\n return null\n }\n\n if (when) {\n query = buildQuery({ query, when, not }, breakpoints, options)\n }\n\n const mediaQueryString = convertToMediaQuery(query, breakpoints, options)\n const mediaQueryList = window.matchMedia(mediaQueryString)\n\n if (options?.log) {\n warn('MediaQuery:', mediaQueryString)\n }\n\n return mediaQueryList\n}\n\n/**\n * Adds a listener to the window.matchMedia Browser API\n */\nexport function createMediaQueryListener(\n mediaQueryList: MediaQueryList,\n callback: (matches: boolean, event: Partial<MediaQueryListEvent>) => void\n): MediaQueryListener {\n if (!mediaQueryList) {\n return () => null\n }\n\n const listener = (event: MediaQueryListEvent) => {\n if (typeof callback === 'function') {\n callback(event?.matches, event)\n }\n }\n if (mediaQueryList?.addEventListener) {\n mediaQueryList.addEventListener('change', listener)\n }\n\n return () => {\n if (mediaQueryList?.removeEventListener) {\n mediaQueryList.removeEventListener('change', listener)\n }\n }\n}\n\n/**\n * Builds a valid media query we can use on window.matchMedia(...)\n */\nexport function buildQuery(\n { query = null, when = null, not = null }: MediaQueryProperties = {},\n breakpoints?: MediaQueryBreakpoints,\n options?: MediaQueryOptions\n) {\n if (when) {\n if (typeof when === 'string') {\n when = when.split(/[ ,]/g)\n }\n\n let listOfQueries = []\n\n if (Array.isArray(when)) {\n listOfQueries = listOfQueries.concat(\n combineQueries(when, breakpoints, options)\n )\n } else if (typeof when === 'object') {\n const queryItem = convertToMediaQuery(when, breakpoints, options)\n if (queryItem) {\n listOfQueries.push(queryItem)\n }\n }\n\n if (listOfQueries.length > 0) {\n query = [listOfQueries.join(' '), query || '']\n .filter(Boolean)\n .join(' and ')\n .replace(/ +/g, ' ')\n .replace(/ ,/g, ',')\n }\n }\n\n if (isTrue(not)) {\n query = reverseQuery(String(query))\n }\n\n return query || 'not'\n}\n\n/**\n * Reverses a media query\n */\nfunction reverseQuery(query: string) {\n if (query.startsWith('not')) {\n return query.replace(/^not +/, '')\n }\n if (!/^(screen|all|print|speech)/.test(query)) {\n query = `all and ${query}`\n }\n return `not ${query}`\n}\n\n/**\n * Builds a list of queries based on sizing types, like small, medium\n */\nfunction combineQueries(\n queries: Array<MediaQueryCondition>,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n) {\n return queries\n .reduce((listOfQueries, when, i, arr) => {\n if (breakpoints) {\n breakpoints = mergeBreakpoints(breakpoints)\n }\n\n const query = convertToMediaQuery(when, breakpoints, options)\n\n if (query) {\n if (query !== 'and' && arr[i - 1] !== 'and') {\n listOfQueries.push(', ')\n }\n\n listOfQueries.push(query)\n }\n\n return listOfQueries\n }, [])\n .filter((query, i) => {\n return !(i === 0 && query.startsWith(', '))\n })\n}\n\n/**\n * If custom breakpoints are given, we order them by the value\n * and return again an object as before\n */\nfunction mergeBreakpoints(breakpoints: MediaQueryBreakpoints) {\n return Object.entries({\n ...defaultBreakpoints,\n ...breakpoints,\n })\n .sort((a, b) => (a[1] > b[1] ? 1 : -1))\n .reduce((acc, [key, value]) => {\n acc[key] = value\n return acc\n }, {})\n}\n\n/**\n * Convert a media query from various formats to a valid string based media query\n */\nexport function convertToMediaQuery(\n query: MediaQueryCondition | Array<MediaQueryCondition>,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): string {\n if (typeof query === 'string') {\n return query\n }\n\n // Handling array of media queries\n if (Array.isArray(query)) {\n return query.reduce((acc, q, index) => {\n acc += objToMediaQuery(q, breakpoints, options)\n if (index < query.length - 1) {\n if (q !== 'and' && query[index + 1] !== 'and') {\n acc += ','\n }\n acc += ' '\n }\n return acc\n }, '') as string\n }\n\n // Handling single media query\n return objToMediaQuery(query, breakpoints, options)\n}\n\n/**\n * Converts an object with PascalCase defined properties to string based media queries\n */\nfunction objToMediaQuery(\n obj: MediaQueryCondition,\n breakpoints: MediaQueryBreakpoints = null,\n options?: MediaQueryOptions\n): string {\n if (typeof obj === 'string') {\n return obj\n }\n let hasNot = false\n let query: string | Array<null> = Object.keys(obj).reduce(\n (acc, feature) => {\n let value = obj[feature]\n feature = toKebabCase(feature)\n\n if (feature === 'not') {\n hasNot = true\n return acc\n }\n if (feature === 'monochrome') {\n feature = `(${feature})`\n }\n\n if (feature === 'min' || feature === 'max') {\n feature = `${feature}-width`\n }\n\n // Add em to dimension features\n if (typeof value === 'number' && /[height|width]$/.test(feature)) {\n value = value + 'em'\n }\n\n if (value === true) {\n acc.push(feature)\n } else if (value === false) {\n acc.push('not ' + feature)\n } else {\n value = getValueByFeature(value, breakpoints)\n if (typeof value !== 'undefined') {\n acc.push(`(${feature}: ${value})`)\n }\n }\n\n return acc\n },\n []\n )\n\n if (Array.isArray(query)) {\n query = query.length > 0 ? query.join(' and ') : query.join('')\n }\n\n if (hasNot) {\n query = reverseQuery(query)\n }\n\n if (options?.correctRange && /\\(min-width: [0-9]+em\\)/.test(query)) {\n const size =\n parseFloat(query.match(/\\(min-width: ([0-9]+)em\\)/)[1]) || 0\n if (size > 0) {\n const correctedSize = (size * 16 + 0.1) / 16 // add 0.1px to the minimum to avoid overlap with and equivalent maximum\n query = query.replace(\n /(min-width: [0-9]+em)/,\n `min-width: ${correctedSize}em`\n )\n }\n }\n\n return query\n}\n\n/**\n * Corrects breakpoint types\n */\nfunction getValueByFeature(\n value: string,\n types: MediaQueryBreakpoints = null\n) {\n types = types || defaultBreakpoints\n if (Object.prototype.hasOwnProperty.call(types, value)) {\n value = types[value]\n }\n return value\n}\n"],"mappings":"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"}