@dnb/eufemia 10.31.0 → 10.33.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 (846) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/cjs/components/anchor/Anchor.d.ts +8 -1
  3. package/cjs/components/anchor/Anchor.js.map +1 -1
  4. package/cjs/components/card/Card.js +3 -2
  5. package/cjs/components/card/Card.js.map +1 -1
  6. package/cjs/components/card/style/dnb-card.css +1 -2
  7. package/cjs/components/card/style/dnb-card.min.css +1 -1
  8. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  9. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  10. package/cjs/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  11. package/cjs/components/checkbox/style/dnb-checkbox.css +2 -2
  12. package/cjs/components/checkbox/style/dnb-checkbox.min.css +1 -1
  13. package/cjs/components/checkbox/style/dnb-checkbox.scss +2 -3
  14. package/cjs/components/flex/Container.d.ts +4 -1
  15. package/cjs/components/flex/Container.js +8 -5
  16. package/cjs/components/flex/Container.js.map +1 -1
  17. package/cjs/components/flex/Stack.js +3 -3
  18. package/cjs/components/flex/Stack.js.map +1 -1
  19. package/cjs/components/flex/utils.js +7 -7
  20. package/cjs/components/flex/utils.js.map +1 -1
  21. package/cjs/components/grid/Container.d.ts +2 -2
  22. package/cjs/components/grid/Container.js.map +1 -1
  23. package/cjs/components/grid/ContainerDocs.d.ts +2 -0
  24. package/cjs/components/grid/ContainerDocs.js +30 -0
  25. package/cjs/components/grid/ContainerDocs.js.map +1 -0
  26. package/cjs/components/grid/style/dnb-grid.css +6 -0
  27. package/cjs/components/grid/style/dnb-grid.min.css +1 -1
  28. package/cjs/components/grid/style/grid-container.scss +6 -0
  29. package/cjs/components/skeleton/style/dnb-skeleton.css +4 -8
  30. package/cjs/components/skeleton/style/dnb-skeleton.min.css +1 -1
  31. package/cjs/components/slider/SliderDocs.d.ts +3 -0
  32. package/cjs/components/slider/SliderDocs.js +158 -0
  33. package/cjs/components/slider/SliderDocs.js.map +1 -0
  34. package/cjs/components/space/SpacingUtils.d.ts +1 -1
  35. package/cjs/components/space/SpacingUtils.js +1 -1
  36. package/cjs/components/space/SpacingUtils.js.map +1 -1
  37. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  38. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  39. package/cjs/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  40. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  41. package/cjs/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  42. package/cjs/components/table/style/dnb-table.css +5 -10
  43. package/cjs/components/table/style/dnb-table.min.css +1 -1
  44. package/cjs/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  45. package/cjs/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  46. package/cjs/extensions/forms/DataContext/Context.d.ts +26 -14
  47. package/cjs/extensions/forms/DataContext/Context.js +2 -3
  48. package/cjs/extensions/forms/DataContext/Context.js.map +1 -1
  49. package/cjs/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  50. package/cjs/extensions/forms/DataContext/Provider/Provider.js +81 -35
  51. package/cjs/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  52. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  53. package/cjs/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  54. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  55. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  56. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  57. package/cjs/extensions/forms/Field/Boolean/Boolean.js +2 -1
  58. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  59. package/cjs/extensions/forms/Field/Composition/Composition.d.ts +2 -2
  60. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
  61. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  62. package/cjs/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  63. package/cjs/extensions/forms/Field/Number/Number.js +6 -4
  64. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  65. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  66. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  67. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  68. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
  69. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  70. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  71. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  72. package/cjs/extensions/forms/Field/Selection/Selection.js +3 -3
  73. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  74. package/cjs/extensions/forms/Field/Slider/Slider.d.ts +34 -0
  75. package/cjs/extensions/forms/Field/Slider/Slider.js +115 -0
  76. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -0
  77. package/cjs/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
  78. package/cjs/extensions/forms/Field/Slider/SliderDocs.js +34 -0
  79. package/cjs/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
  80. package/cjs/extensions/forms/Field/Slider/index.d.ts +2 -0
  81. package/cjs/extensions/forms/Field/Slider/index.js +27 -0
  82. package/cjs/extensions/forms/Field/Slider/index.js.map +1 -0
  83. package/cjs/extensions/forms/Field/String/String.js +2 -2
  84. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  85. package/cjs/extensions/forms/Field/Toggle/Toggle.js +7 -7
  86. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  87. package/cjs/extensions/forms/Field/index.d.ts +1 -0
  88. package/cjs/extensions/forms/Field/index.js +7 -0
  89. package/cjs/extensions/forms/Field/index.js.map +1 -1
  90. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  91. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  92. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  93. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -3
  94. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  95. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -2
  96. package/cjs/extensions/forms/Form/Element/Element.js +1 -1
  97. package/cjs/extensions/forms/Form/Element/Element.js.map +1 -1
  98. package/cjs/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
  99. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js +52 -21
  100. package/cjs/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  101. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
  102. package/cjs/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
  103. package/cjs/extensions/forms/Form/Section/Section.d.ts +44 -0
  104. package/cjs/extensions/forms/Form/Section/Section.js +67 -0
  105. package/cjs/extensions/forms/Form/Section/Section.js.map +1 -0
  106. package/cjs/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
  107. package/cjs/extensions/forms/Form/Section/SectionContext.js +12 -0
  108. package/cjs/extensions/forms/Form/Section/SectionContext.js.map +1 -0
  109. package/cjs/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
  110. package/cjs/extensions/forms/Form/Section/SectionDocs.js +43 -0
  111. package/cjs/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
  112. package/cjs/extensions/forms/Form/Section/index.d.ts +2 -0
  113. package/cjs/extensions/forms/Form/Section/index.js +27 -0
  114. package/cjs/extensions/forms/Form/Section/index.js.map +1 -0
  115. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  116. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  117. package/cjs/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  118. package/cjs/extensions/forms/Form/Visibility/Visibility.js +47 -10
  119. package/cjs/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  120. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  121. package/cjs/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  122. package/cjs/extensions/forms/Form/data-context/useData.d.ts +1 -1
  123. package/cjs/extensions/forms/Form/data-context/useData.js +8 -4
  124. package/cjs/extensions/forms/Form/data-context/useData.js.map +1 -1
  125. package/cjs/extensions/forms/Form/data-context/useError.d.ts +1 -0
  126. package/cjs/extensions/forms/Form/data-context/useError.js +5 -3
  127. package/cjs/extensions/forms/Form/data-context/useError.js.map +1 -1
  128. package/cjs/extensions/forms/Form/index.d.ts +1 -0
  129. package/cjs/extensions/forms/Form/index.js +7 -0
  130. package/cjs/extensions/forms/Form/index.js.map +1 -1
  131. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  132. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  133. package/cjs/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  134. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  135. package/cjs/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  136. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  137. package/cjs/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  138. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  139. package/cjs/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  140. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  141. package/cjs/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  142. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  143. package/cjs/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  144. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  145. package/cjs/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  146. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  147. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  148. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  149. package/cjs/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  150. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  151. package/cjs/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  152. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  153. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  154. package/cjs/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  155. package/cjs/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
  156. package/cjs/extensions/forms/Tools/GenerateSchema.js +143 -0
  157. package/cjs/extensions/forms/Tools/GenerateSchema.js.map +1 -0
  158. package/cjs/extensions/forms/Tools/ListAllProps.d.ts +15 -0
  159. package/cjs/extensions/forms/Tools/ListAllProps.js +73 -0
  160. package/cjs/extensions/forms/Tools/ListAllProps.js.map +1 -0
  161. package/cjs/extensions/forms/Tools/index.d.ts +2 -0
  162. package/cjs/extensions/forms/Tools/index.js +21 -0
  163. package/cjs/extensions/forms/Tools/index.js.map +1 -0
  164. package/cjs/extensions/forms/Value/Number/Number.js +4 -2
  165. package/cjs/extensions/forms/Value/Number/Number.js.map +1 -1
  166. package/cjs/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  167. package/cjs/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  168. package/cjs/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  169. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
  170. package/cjs/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  171. package/cjs/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  172. package/cjs/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  173. package/cjs/extensions/forms/Wizard/Step/Step.d.ts +6 -1
  174. package/cjs/extensions/forms/Wizard/Step/Step.js +9 -5
  175. package/cjs/extensions/forms/Wizard/Step/Step.js.map +1 -1
  176. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  177. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  178. package/cjs/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  179. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  180. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  181. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  182. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  183. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  184. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  185. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +2 -0
  186. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +46 -0
  187. package/cjs/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +1 -0
  188. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.d.ts +2 -0
  189. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.js +27 -0
  190. package/cjs/extensions/forms/blocks/Category/FirstBlock/index.js.map +1 -0
  191. package/cjs/extensions/forms/blocks/Category/index.d.ts +1 -0
  192. package/cjs/extensions/forms/blocks/Category/index.js +14 -0
  193. package/cjs/extensions/forms/blocks/Category/index.js.map +1 -0
  194. package/cjs/extensions/forms/blocks/index.d.ts +1 -0
  195. package/cjs/extensions/forms/blocks/index.js +11 -0
  196. package/cjs/extensions/forms/blocks/index.js.map +1 -0
  197. package/cjs/extensions/forms/hooks/index.d.ts +2 -5
  198. package/cjs/extensions/forms/hooks/index.js +12 -4
  199. package/cjs/extensions/forms/hooks/index.js.map +1 -1
  200. package/cjs/extensions/forms/hooks/useDataValue.d.ts +9 -0
  201. package/cjs/extensions/forms/hooks/useDataValue.js +39 -0
  202. package/cjs/extensions/forms/hooks/useDataValue.js.map +1 -0
  203. package/cjs/extensions/forms/hooks/useExternalValue.d.ts +12 -0
  204. package/cjs/extensions/forms/hooks/useExternalValue.js +47 -0
  205. package/cjs/extensions/forms/hooks/useExternalValue.js.map +1 -0
  206. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -10
  207. package/cjs/extensions/forms/hooks/useFieldProps.js +126 -108
  208. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  209. package/cjs/extensions/forms/hooks/usePath.d.ts +14 -0
  210. package/cjs/extensions/forms/hooks/usePath.js +72 -0
  211. package/cjs/extensions/forms/hooks/usePath.js.map +1 -0
  212. package/cjs/extensions/forms/hooks/useValueProps.js +17 -4
  213. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  214. package/cjs/extensions/forms/index.d.ts +2 -0
  215. package/cjs/extensions/forms/index.js +4 -1
  216. package/cjs/extensions/forms/index.js.map +1 -1
  217. package/cjs/extensions/forms/style/dnb-forms.css +3 -5
  218. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  219. package/cjs/extensions/forms/types.d.ts +10 -3
  220. package/cjs/extensions/forms/types.js.map +1 -1
  221. package/cjs/fragments/drawer-list/DrawerListHelpers.js +6 -2
  222. package/cjs/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  223. package/cjs/shared/Context.d.ts +3 -3
  224. package/cjs/shared/Context.js +8 -8
  225. package/cjs/shared/Context.js.map +1 -1
  226. package/cjs/shared/Eufemia.d.ts +1 -1
  227. package/cjs/shared/Eufemia.js +2 -2
  228. package/cjs/shared/Eufemia.js.map +1 -1
  229. package/cjs/shared/MediaQuery.js +19 -1
  230. package/cjs/shared/MediaQuery.js.map +1 -1
  231. package/cjs/shared/MediaQueryUtils.d.ts +12 -34
  232. package/cjs/shared/MediaQueryUtils.js +22 -12
  233. package/cjs/shared/MediaQueryUtils.js.map +1 -1
  234. package/cjs/shared/component-helper.d.ts +1 -1
  235. package/cjs/shared/component-helper.js +5 -1
  236. package/cjs/shared/component-helper.js.map +1 -1
  237. package/cjs/shared/useMedia.d.ts +7 -2
  238. package/cjs/shared/useMedia.js +16 -11
  239. package/cjs/shared/useMedia.js.map +1 -1
  240. package/cjs/shared/useMediaQuery.js +30 -9
  241. package/cjs/shared/useMediaQuery.js.map +1 -1
  242. package/cjs/style/core/scopes.scss +1 -1
  243. package/cjs/style/dnb-ui-basis.css +2 -3
  244. package/cjs/style/dnb-ui-basis.min.css +1 -1
  245. package/cjs/style/dnb-ui-body.css +1 -1
  246. package/cjs/style/dnb-ui-body.min.css +1 -1
  247. package/cjs/style/dnb-ui-components.css +22 -29
  248. package/cjs/style/dnb-ui-components.min.css +3 -3
  249. package/cjs/style/dnb-ui-core.css +2 -3
  250. package/cjs/style/dnb-ui-core.min.css +1 -1
  251. package/cjs/style/dnb-ui-extensions.css +3 -5
  252. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  253. package/cjs/style/dnb-ui-forms.css +3 -5
  254. package/cjs/style/dnb-ui-forms.min.css +1 -1
  255. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +30 -36
  256. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  257. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -5
  258. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  259. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  260. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -5
  261. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  262. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  263. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +103 -112
  264. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  265. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  266. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -5
  267. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  268. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  269. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -5
  270. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  271. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  272. package/cjs/style/themes/theme-ui/ui-theme-components.css +30 -36
  273. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  274. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +7 -5
  275. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  276. package/cjs/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  277. package/cjs/style/themes/theme-ui/ui-theme-forms.css +7 -5
  278. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  279. package/cjs/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  280. package/components/anchor/Anchor.d.ts +8 -1
  281. package/components/anchor/Anchor.js.map +1 -1
  282. package/components/card/Card.js +3 -2
  283. package/components/card/Card.js.map +1 -1
  284. package/components/card/style/dnb-card.css +1 -2
  285. package/components/card/style/dnb-card.min.css +1 -1
  286. package/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  287. package/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  288. package/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  289. package/components/checkbox/style/dnb-checkbox.css +2 -2
  290. package/components/checkbox/style/dnb-checkbox.min.css +1 -1
  291. package/components/checkbox/style/dnb-checkbox.scss +2 -3
  292. package/components/flex/Container.d.ts +4 -1
  293. package/components/flex/Container.js +8 -5
  294. package/components/flex/Container.js.map +1 -1
  295. package/components/flex/Stack.js +3 -3
  296. package/components/flex/Stack.js.map +1 -1
  297. package/components/flex/utils.js +8 -8
  298. package/components/flex/utils.js.map +1 -1
  299. package/components/grid/Container.d.ts +2 -2
  300. package/components/grid/Container.js.map +1 -1
  301. package/components/grid/ContainerDocs.d.ts +2 -0
  302. package/components/grid/ContainerDocs.js +23 -0
  303. package/components/grid/ContainerDocs.js.map +1 -0
  304. package/components/grid/style/dnb-grid.css +6 -0
  305. package/components/grid/style/dnb-grid.min.css +1 -1
  306. package/components/grid/style/grid-container.scss +6 -0
  307. package/components/skeleton/style/dnb-skeleton.css +4 -8
  308. package/components/skeleton/style/dnb-skeleton.min.css +1 -1
  309. package/components/slider/SliderDocs.d.ts +3 -0
  310. package/components/slider/SliderDocs.js +150 -0
  311. package/components/slider/SliderDocs.js.map +1 -0
  312. package/components/space/SpacingUtils.d.ts +1 -1
  313. package/components/space/SpacingUtils.js +1 -1
  314. package/components/space/SpacingUtils.js.map +1 -1
  315. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  316. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  317. package/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  318. package/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  319. package/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  320. package/components/table/style/dnb-table.css +5 -10
  321. package/components/table/style/dnb-table.min.css +1 -1
  322. package/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  323. package/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  324. package/es/components/anchor/Anchor.d.ts +8 -1
  325. package/es/components/anchor/Anchor.js.map +1 -1
  326. package/es/components/card/Card.js +3 -2
  327. package/es/components/card/Card.js.map +1 -1
  328. package/es/components/card/style/dnb-card.css +1 -2
  329. package/es/components/card/style/dnb-card.min.css +1 -1
  330. package/es/components/card/style/themes/dnb-card-theme-sbanken.css +5 -0
  331. package/es/components/card/style/themes/dnb-card-theme-sbanken.min.css +1 -0
  332. package/es/components/card/style/themes/dnb-card-theme-sbanken.scss +7 -0
  333. package/es/components/checkbox/style/dnb-checkbox.css +2 -2
  334. package/es/components/checkbox/style/dnb-checkbox.min.css +1 -1
  335. package/es/components/checkbox/style/dnb-checkbox.scss +2 -3
  336. package/es/components/flex/Container.d.ts +4 -1
  337. package/es/components/flex/Container.js +8 -5
  338. package/es/components/flex/Container.js.map +1 -1
  339. package/es/components/flex/Stack.js +3 -3
  340. package/es/components/flex/Stack.js.map +1 -1
  341. package/es/components/flex/utils.js +8 -8
  342. package/es/components/flex/utils.js.map +1 -1
  343. package/es/components/grid/Container.d.ts +2 -2
  344. package/es/components/grid/Container.js.map +1 -1
  345. package/es/components/grid/ContainerDocs.d.ts +2 -0
  346. package/es/components/grid/ContainerDocs.js +23 -0
  347. package/es/components/grid/ContainerDocs.js.map +1 -0
  348. package/es/components/grid/style/dnb-grid.css +6 -0
  349. package/es/components/grid/style/dnb-grid.min.css +1 -1
  350. package/es/components/grid/style/grid-container.scss +6 -0
  351. package/es/components/skeleton/style/dnb-skeleton.css +4 -8
  352. package/es/components/skeleton/style/dnb-skeleton.min.css +1 -1
  353. package/es/components/slider/SliderDocs.d.ts +3 -0
  354. package/es/components/slider/SliderDocs.js +150 -0
  355. package/es/components/slider/SliderDocs.js.map +1 -0
  356. package/es/components/space/SpacingUtils.d.ts +1 -1
  357. package/es/components/space/SpacingUtils.js +1 -1
  358. package/es/components/space/SpacingUtils.js.map +1 -1
  359. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.css +70 -0
  360. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.min.css +1 -0
  361. package/es/components/step-indicator/style/themes/dnb-step-indicator-theme-sbanken.scss +97 -0
  362. package/es/components/switch/style/themes/dnb-switch-theme-ui.css +1 -2
  363. package/es/components/switch/style/themes/dnb-switch-theme-ui.min.css +1 -1
  364. package/es/components/table/style/dnb-table.css +5 -10
  365. package/es/components/table/style/dnb-table.min.css +1 -1
  366. package/es/components/visually-hidden/style/dnb-visually-hidden.css +1 -2
  367. package/es/components/visually-hidden/style/dnb-visually-hidden.min.css +1 -1
  368. package/es/extensions/forms/DataContext/Context.d.ts +26 -14
  369. package/es/extensions/forms/DataContext/Context.js +2 -3
  370. package/es/extensions/forms/DataContext/Context.js.map +1 -1
  371. package/es/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  372. package/es/extensions/forms/DataContext/Provider/Provider.js +79 -34
  373. package/es/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  374. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  375. package/es/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  376. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  377. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  378. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  379. package/es/extensions/forms/Field/Boolean/Boolean.js +2 -1
  380. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  381. package/es/extensions/forms/Field/Composition/Composition.d.ts +2 -2
  382. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
  383. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  384. package/es/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  385. package/es/extensions/forms/Field/Number/Number.js +6 -4
  386. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  387. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  388. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  389. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  390. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
  391. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  392. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  393. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  394. package/es/extensions/forms/Field/Selection/Selection.js +3 -3
  395. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  396. package/es/extensions/forms/Field/Slider/Slider.d.ts +34 -0
  397. package/es/extensions/forms/Field/Slider/Slider.js +103 -0
  398. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -0
  399. package/es/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
  400. package/es/extensions/forms/Field/Slider/SliderDocs.js +26 -0
  401. package/es/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
  402. package/es/extensions/forms/Field/Slider/index.d.ts +2 -0
  403. package/es/extensions/forms/Field/Slider/index.js +3 -0
  404. package/es/extensions/forms/Field/Slider/index.js.map +1 -0
  405. package/es/extensions/forms/Field/String/String.js +2 -2
  406. package/es/extensions/forms/Field/String/String.js.map +1 -1
  407. package/es/extensions/forms/Field/Toggle/Toggle.js +7 -7
  408. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  409. package/es/extensions/forms/Field/index.d.ts +1 -0
  410. package/es/extensions/forms/Field/index.js +1 -0
  411. package/es/extensions/forms/Field/index.js.map +1 -1
  412. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  413. package/es/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  414. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  415. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -3
  416. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  417. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -2
  418. package/es/extensions/forms/Form/Element/Element.js +1 -1
  419. package/es/extensions/forms/Form/Element/Element.js.map +1 -1
  420. package/es/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
  421. package/es/extensions/forms/Form/FieldProps/FieldProps.js +49 -21
  422. package/es/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  423. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
  424. package/es/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
  425. package/es/extensions/forms/Form/Section/Section.d.ts +44 -0
  426. package/es/extensions/forms/Form/Section/Section.js +56 -0
  427. package/es/extensions/forms/Form/Section/Section.js.map +1 -0
  428. package/es/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
  429. package/es/extensions/forms/Form/Section/SectionContext.js +4 -0
  430. package/es/extensions/forms/Form/Section/SectionContext.js.map +1 -0
  431. package/es/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
  432. package/es/extensions/forms/Form/Section/SectionDocs.js +35 -0
  433. package/es/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
  434. package/es/extensions/forms/Form/Section/index.d.ts +2 -0
  435. package/es/extensions/forms/Form/Section/index.js +3 -0
  436. package/es/extensions/forms/Form/Section/index.js.map +1 -0
  437. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  438. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  439. package/es/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  440. package/es/extensions/forms/Form/Visibility/Visibility.js +48 -11
  441. package/es/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  442. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  443. package/es/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  444. package/es/extensions/forms/Form/data-context/useData.d.ts +1 -1
  445. package/es/extensions/forms/Form/data-context/useData.js +7 -4
  446. package/es/extensions/forms/Form/data-context/useData.js.map +1 -1
  447. package/es/extensions/forms/Form/data-context/useError.d.ts +1 -0
  448. package/es/extensions/forms/Form/data-context/useError.js +5 -3
  449. package/es/extensions/forms/Form/data-context/useError.js.map +1 -1
  450. package/es/extensions/forms/Form/index.d.ts +1 -0
  451. package/es/extensions/forms/Form/index.js +1 -0
  452. package/es/extensions/forms/Form/index.js.map +1 -1
  453. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  454. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  455. package/es/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  456. package/es/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  457. package/es/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  458. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  459. package/es/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  460. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  461. package/es/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  462. package/es/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  463. package/es/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  464. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  465. package/es/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  466. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  467. package/es/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  468. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  469. package/es/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  470. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  471. package/es/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  472. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  473. package/es/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  474. package/es/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  475. package/es/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  476. package/es/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  477. package/es/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
  478. package/es/extensions/forms/Tools/GenerateSchema.js +130 -0
  479. package/es/extensions/forms/Tools/GenerateSchema.js.map +1 -0
  480. package/es/extensions/forms/Tools/ListAllProps.d.ts +15 -0
  481. package/es/extensions/forms/Tools/ListAllProps.js +65 -0
  482. package/es/extensions/forms/Tools/ListAllProps.js.map +1 -0
  483. package/es/extensions/forms/Tools/index.d.ts +2 -0
  484. package/es/extensions/forms/Tools/index.js +3 -0
  485. package/es/extensions/forms/Tools/index.js.map +1 -0
  486. package/es/extensions/forms/Value/Number/Number.js +4 -2
  487. package/es/extensions/forms/Value/Number/Number.js.map +1 -1
  488. package/es/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  489. package/es/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  490. package/es/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  491. package/es/extensions/forms/Wizard/Container/WizardContainer.js +98 -32
  492. package/es/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  493. package/es/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  494. package/es/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  495. package/es/extensions/forms/Wizard/Step/Step.d.ts +6 -1
  496. package/es/extensions/forms/Wizard/Step/Step.js +9 -5
  497. package/es/extensions/forms/Wizard/Step/Step.js.map +1 -1
  498. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  499. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  500. package/es/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  501. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  502. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  503. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  504. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  505. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  506. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  507. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +2 -0
  508. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +39 -0
  509. package/es/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +1 -0
  510. package/es/extensions/forms/blocks/Category/FirstBlock/index.d.ts +2 -0
  511. package/es/extensions/forms/blocks/Category/FirstBlock/index.js +3 -0
  512. package/es/extensions/forms/blocks/Category/FirstBlock/index.js.map +1 -0
  513. package/es/extensions/forms/blocks/Category/index.d.ts +1 -0
  514. package/es/extensions/forms/blocks/Category/index.js +1 -0
  515. package/es/extensions/forms/blocks/Category/index.js.map +1 -0
  516. package/es/extensions/forms/blocks/index.d.ts +1 -0
  517. package/es/extensions/forms/blocks/index.js +1 -0
  518. package/es/extensions/forms/blocks/index.js.map +1 -0
  519. package/es/extensions/forms/hooks/index.d.ts +2 -5
  520. package/es/extensions/forms/hooks/index.js +2 -1
  521. package/es/extensions/forms/hooks/index.js.map +1 -1
  522. package/es/extensions/forms/hooks/useDataValue.d.ts +9 -0
  523. package/es/extensions/forms/hooks/useDataValue.js +32 -0
  524. package/es/extensions/forms/hooks/useDataValue.js.map +1 -0
  525. package/es/extensions/forms/hooks/useExternalValue.d.ts +12 -0
  526. package/es/extensions/forms/hooks/useExternalValue.js +41 -0
  527. package/es/extensions/forms/hooks/useExternalValue.js.map +1 -0
  528. package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -10
  529. package/es/extensions/forms/hooks/useFieldProps.js +122 -102
  530. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  531. package/es/extensions/forms/hooks/usePath.d.ts +14 -0
  532. package/es/extensions/forms/hooks/usePath.js +64 -0
  533. package/es/extensions/forms/hooks/usePath.js.map +1 -0
  534. package/es/extensions/forms/hooks/useValueProps.js +16 -4
  535. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  536. package/es/extensions/forms/index.d.ts +2 -0
  537. package/es/extensions/forms/index.js +1 -0
  538. package/es/extensions/forms/index.js.map +1 -1
  539. package/es/extensions/forms/style/dnb-forms.css +3 -5
  540. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  541. package/es/extensions/forms/types.d.ts +10 -3
  542. package/es/extensions/forms/types.js.map +1 -1
  543. package/es/fragments/drawer-list/DrawerListHelpers.js +6 -2
  544. package/es/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  545. package/es/shared/Context.d.ts +3 -3
  546. package/es/shared/Context.js +8 -8
  547. package/es/shared/Context.js.map +1 -1
  548. package/es/shared/Eufemia.d.ts +1 -1
  549. package/es/shared/Eufemia.js +2 -2
  550. package/es/shared/Eufemia.js.map +1 -1
  551. package/es/shared/MediaQuery.js +19 -1
  552. package/es/shared/MediaQuery.js.map +1 -1
  553. package/es/shared/MediaQueryUtils.d.ts +12 -34
  554. package/es/shared/MediaQueryUtils.js +22 -17
  555. package/es/shared/MediaQueryUtils.js.map +1 -1
  556. package/es/shared/component-helper.d.ts +1 -1
  557. package/es/shared/component-helper.js +5 -2
  558. package/es/shared/component-helper.js.map +1 -1
  559. package/es/shared/useMedia.d.ts +7 -2
  560. package/es/shared/useMedia.js +14 -11
  561. package/es/shared/useMedia.js.map +1 -1
  562. package/es/shared/useMediaQuery.js +28 -9
  563. package/es/shared/useMediaQuery.js.map +1 -1
  564. package/es/style/core/scopes.scss +1 -1
  565. package/es/style/dnb-ui-basis.css +2 -3
  566. package/es/style/dnb-ui-basis.min.css +1 -1
  567. package/es/style/dnb-ui-body.css +1 -1
  568. package/es/style/dnb-ui-body.min.css +1 -1
  569. package/es/style/dnb-ui-components.css +22 -29
  570. package/es/style/dnb-ui-components.min.css +3 -3
  571. package/es/style/dnb-ui-core.css +2 -3
  572. package/es/style/dnb-ui-core.min.css +1 -1
  573. package/es/style/dnb-ui-extensions.css +3 -5
  574. package/es/style/dnb-ui-extensions.min.css +1 -1
  575. package/es/style/dnb-ui-forms.css +3 -5
  576. package/es/style/dnb-ui-forms.min.css +1 -1
  577. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +30 -36
  578. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  579. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -5
  580. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  581. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  582. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -5
  583. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  584. package/es/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  585. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +103 -112
  586. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  587. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  588. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -5
  589. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  590. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  591. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -5
  592. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  593. package/es/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  594. package/es/style/themes/theme-ui/ui-theme-components.css +30 -36
  595. package/es/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  596. package/es/style/themes/theme-ui/ui-theme-extensions.css +7 -5
  597. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  598. package/es/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  599. package/es/style/themes/theme-ui/ui-theme-forms.css +7 -5
  600. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  601. package/es/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  602. package/esm/dnb-ui-basis.min.mjs +1 -1
  603. package/esm/dnb-ui-components.min.mjs +1 -1
  604. package/esm/dnb-ui-elements.min.mjs +1 -1
  605. package/esm/dnb-ui-extensions.min.mjs +3 -3
  606. package/esm/dnb-ui-lib.min.mjs +1 -1
  607. package/extensions/forms/DataContext/Context.d.ts +26 -14
  608. package/extensions/forms/DataContext/Context.js +2 -3
  609. package/extensions/forms/DataContext/Context.js.map +1 -1
  610. package/extensions/forms/DataContext/Provider/Provider.d.ts +3 -3
  611. package/extensions/forms/DataContext/Provider/Provider.js +82 -36
  612. package/extensions/forms/DataContext/Provider/Provider.js.map +1 -1
  613. package/extensions/forms/DataContext/Provider/ProviderDocs.js +3 -3
  614. package/extensions/forms/DataContext/Provider/ProviderDocs.js.map +1 -1
  615. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +1 -1
  616. package/extensions/forms/Field/ArraySelection/ArraySelection.js +3 -3
  617. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  618. package/extensions/forms/Field/Boolean/Boolean.js +2 -1
  619. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  620. package/extensions/forms/Field/Composition/Composition.d.ts +2 -2
  621. package/extensions/forms/Field/Composition/Composition.js.map +1 -1
  622. package/extensions/forms/Field/Indeterminate/useDependencePaths.js +7 -7
  623. package/extensions/forms/Field/Indeterminate/useDependencePaths.js.map +1 -1
  624. package/extensions/forms/Field/Number/Number.js +6 -4
  625. package/extensions/forms/Field/Number/Number.js.map +1 -1
  626. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +1 -1
  627. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  628. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +2 -2
  629. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +2 -2
  630. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  631. package/extensions/forms/Field/SelectCountry/SelectCountry.js +4 -4
  632. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  633. package/extensions/forms/Field/Selection/Selection.js +3 -3
  634. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  635. package/extensions/forms/Field/Slider/Slider.d.ts +34 -0
  636. package/extensions/forms/Field/Slider/Slider.js +104 -0
  637. package/extensions/forms/Field/Slider/Slider.js.map +1 -0
  638. package/extensions/forms/Field/Slider/SliderDocs.d.ts +3 -0
  639. package/extensions/forms/Field/Slider/SliderDocs.js +26 -0
  640. package/extensions/forms/Field/Slider/SliderDocs.js.map +1 -0
  641. package/extensions/forms/Field/Slider/index.d.ts +2 -0
  642. package/extensions/forms/Field/Slider/index.js +3 -0
  643. package/extensions/forms/Field/Slider/index.js.map +1 -0
  644. package/extensions/forms/Field/String/String.js +2 -2
  645. package/extensions/forms/Field/String/String.js.map +1 -1
  646. package/extensions/forms/Field/Toggle/Toggle.js +7 -7
  647. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  648. package/extensions/forms/Field/index.d.ts +1 -0
  649. package/extensions/forms/Field/index.js +1 -0
  650. package/extensions/forms/Field/index.js.map +1 -1
  651. package/extensions/forms/FieldBlock/FieldBlock.d.ts +1 -1
  652. package/extensions/forms/FieldBlock/FieldBlock.js +5 -0
  653. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  654. package/extensions/forms/FieldBlock/style/dnb-field-block.css +0 -3
  655. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  656. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +0 -2
  657. package/extensions/forms/Form/Element/Element.js +1 -1
  658. package/extensions/forms/Form/Element/Element.js.map +1 -1
  659. package/extensions/forms/Form/FieldProps/FieldProps.d.ts +19 -5
  660. package/extensions/forms/Form/FieldProps/FieldProps.js +50 -21
  661. package/extensions/forms/Form/FieldProps/FieldProps.js.map +1 -1
  662. package/extensions/forms/Form/FieldProps/FieldPropsContext.d.ts +1 -0
  663. package/extensions/forms/Form/FieldProps/FieldPropsContext.js.map +1 -1
  664. package/extensions/forms/Form/Section/Section.d.ts +44 -0
  665. package/extensions/forms/Form/Section/Section.js +56 -0
  666. package/extensions/forms/Form/Section/Section.js.map +1 -0
  667. package/extensions/forms/Form/Section/SectionContext.d.ts +11 -0
  668. package/extensions/forms/Form/Section/SectionContext.js +4 -0
  669. package/extensions/forms/Form/Section/SectionContext.js.map +1 -0
  670. package/extensions/forms/Form/Section/SectionDocs.d.ts +3 -0
  671. package/extensions/forms/Form/Section/SectionDocs.js +35 -0
  672. package/extensions/forms/Form/Section/SectionDocs.js.map +1 -0
  673. package/extensions/forms/Form/Section/index.d.ts +2 -0
  674. package/extensions/forms/Form/Section/index.js +3 -0
  675. package/extensions/forms/Form/Section/index.js.map +1 -0
  676. package/extensions/forms/Form/SubmitButton/SubmitButton.js +3 -3
  677. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  678. package/extensions/forms/Form/Visibility/Visibility.d.ts +19 -5
  679. package/extensions/forms/Form/Visibility/Visibility.js +48 -11
  680. package/extensions/forms/Form/Visibility/Visibility.js.map +1 -1
  681. package/extensions/forms/Form/Visibility/VisibilityDocs.js +11 -6
  682. package/extensions/forms/Form/Visibility/VisibilityDocs.js.map +1 -1
  683. package/extensions/forms/Form/data-context/useData.d.ts +1 -1
  684. package/extensions/forms/Form/data-context/useData.js +8 -4
  685. package/extensions/forms/Form/data-context/useData.js.map +1 -1
  686. package/extensions/forms/Form/data-context/useError.d.ts +1 -0
  687. package/extensions/forms/Form/data-context/useError.js +5 -3
  688. package/extensions/forms/Form/data-context/useError.js.map +1 -1
  689. package/extensions/forms/Form/index.d.ts +1 -0
  690. package/extensions/forms/Form/index.js +1 -0
  691. package/extensions/forms/Form/index.js.map +1 -1
  692. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.d.ts +8 -1
  693. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js +4 -3
  694. package/extensions/forms/Iterate/AnimatedContainer/ElementBlock.js.map +1 -1
  695. package/extensions/forms/Iterate/EditContainer/EditContainer.d.ts +2 -1
  696. package/extensions/forms/Iterate/EditContainer/EditContainer.js.map +1 -1
  697. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js +5 -0
  698. package/extensions/forms/Iterate/EditContainer/EditContainerDocs.js.map +1 -1
  699. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js +1 -1
  700. package/extensions/forms/Iterate/EditContainer/EditToolbarTools.js.map +1 -1
  701. package/extensions/forms/Iterate/PushButton/PushButton.js +1 -1
  702. package/extensions/forms/Iterate/PushButton/PushButton.js.map +1 -1
  703. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js +1 -1
  704. package/extensions/forms/Iterate/RemoveButton/RemoveButton.js.map +1 -1
  705. package/extensions/forms/Iterate/Toolbar/Toolbar.js +1 -1
  706. package/extensions/forms/Iterate/Toolbar/Toolbar.js.map +1 -1
  707. package/extensions/forms/Iterate/ViewContainer/ViewContainer.d.ts +2 -1
  708. package/extensions/forms/Iterate/ViewContainer/ViewContainer.js.map +1 -1
  709. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js +5 -0
  710. package/extensions/forms/Iterate/ViewContainer/ViewContainerDocs.js.map +1 -1
  711. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js +1 -1
  712. package/extensions/forms/Iterate/ViewContainer/ViewToolbarTools.js.map +1 -1
  713. package/extensions/forms/Iterate/style/dnb-form-iterate.css +3 -1
  714. package/extensions/forms/Iterate/style/dnb-form-iterate.min.css +1 -1
  715. package/extensions/forms/Iterate/style/dnb-form-iterate.scss +4 -1
  716. package/extensions/forms/Tools/GenerateSchema.d.ts +19 -0
  717. package/extensions/forms/Tools/GenerateSchema.js +133 -0
  718. package/extensions/forms/Tools/GenerateSchema.js.map +1 -0
  719. package/extensions/forms/Tools/ListAllProps.d.ts +15 -0
  720. package/extensions/forms/Tools/ListAllProps.js +67 -0
  721. package/extensions/forms/Tools/ListAllProps.js.map +1 -0
  722. package/extensions/forms/Tools/index.d.ts +2 -0
  723. package/extensions/forms/Tools/index.js +3 -0
  724. package/extensions/forms/Tools/index.js.map +1 -0
  725. package/extensions/forms/Value/Number/Number.js +4 -2
  726. package/extensions/forms/Value/Number/Number.js.map +1 -1
  727. package/extensions/forms/ValueBlock/ValueBlock.js +4 -2
  728. package/extensions/forms/ValueBlock/ValueBlock.js.map +1 -1
  729. package/extensions/forms/Wizard/Container/WizardContainer.d.ts +31 -2
  730. package/extensions/forms/Wizard/Container/WizardContainer.js +102 -32
  731. package/extensions/forms/Wizard/Container/WizardContainer.js.map +1 -1
  732. package/extensions/forms/Wizard/Context/WizardContext.d.ts +4 -0
  733. package/extensions/forms/Wizard/Context/WizardContext.js.map +1 -1
  734. package/extensions/forms/Wizard/Step/Step.d.ts +6 -1
  735. package/extensions/forms/Wizard/Step/Step.js +9 -5
  736. package/extensions/forms/Wizard/Step/Step.js.map +1 -1
  737. package/extensions/forms/Wizard/style/dnb-wizard-layout.css +0 -1
  738. package/extensions/forms/Wizard/style/dnb-wizard-layout.min.css +1 -1
  739. package/extensions/forms/Wizard/style/dnb-wizard-layout.scss +0 -1
  740. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.css +1 -0
  741. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.min.css +0 -0
  742. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-sbanken.scss +1 -0
  743. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +3 -0
  744. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -0
  745. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +7 -0
  746. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.d.ts +2 -0
  747. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js +39 -0
  748. package/extensions/forms/blocks/Category/FirstBlock/FirstBlock.js.map +1 -0
  749. package/extensions/forms/blocks/Category/FirstBlock/index.d.ts +2 -0
  750. package/extensions/forms/blocks/Category/FirstBlock/index.js +3 -0
  751. package/extensions/forms/blocks/Category/FirstBlock/index.js.map +1 -0
  752. package/extensions/forms/blocks/Category/index.d.ts +1 -0
  753. package/extensions/forms/blocks/Category/index.js +1 -0
  754. package/extensions/forms/blocks/Category/index.js.map +1 -0
  755. package/extensions/forms/blocks/index.d.ts +1 -0
  756. package/extensions/forms/blocks/index.js +3 -0
  757. package/extensions/forms/blocks/index.js.map +1 -0
  758. package/extensions/forms/hooks/index.d.ts +2 -5
  759. package/extensions/forms/hooks/index.js +2 -1
  760. package/extensions/forms/hooks/index.js.map +1 -1
  761. package/extensions/forms/hooks/useDataValue.d.ts +9 -0
  762. package/extensions/forms/hooks/useDataValue.js +33 -0
  763. package/extensions/forms/hooks/useDataValue.js.map +1 -0
  764. package/extensions/forms/hooks/useExternalValue.d.ts +12 -0
  765. package/extensions/forms/hooks/useExternalValue.js +41 -0
  766. package/extensions/forms/hooks/useExternalValue.js.map +1 -0
  767. package/extensions/forms/hooks/useFieldProps.d.ts +1 -10
  768. package/extensions/forms/hooks/useFieldProps.js +125 -106
  769. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  770. package/extensions/forms/hooks/usePath.d.ts +14 -0
  771. package/extensions/forms/hooks/usePath.js +66 -0
  772. package/extensions/forms/hooks/usePath.js.map +1 -0
  773. package/extensions/forms/hooks/useValueProps.js +16 -4
  774. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  775. package/extensions/forms/index.d.ts +2 -0
  776. package/extensions/forms/index.js +2 -0
  777. package/extensions/forms/index.js.map +1 -1
  778. package/extensions/forms/style/dnb-forms.css +3 -5
  779. package/extensions/forms/style/dnb-forms.min.css +1 -1
  780. package/extensions/forms/types.d.ts +10 -3
  781. package/extensions/forms/types.js.map +1 -1
  782. package/fragments/drawer-list/DrawerListHelpers.js +6 -2
  783. package/fragments/drawer-list/DrawerListHelpers.js.map +1 -1
  784. package/package.json +1 -1
  785. package/shared/Context.d.ts +3 -3
  786. package/shared/Context.js +8 -8
  787. package/shared/Context.js.map +1 -1
  788. package/shared/Eufemia.d.ts +1 -1
  789. package/shared/Eufemia.js +2 -2
  790. package/shared/Eufemia.js.map +1 -1
  791. package/shared/MediaQuery.js +19 -1
  792. package/shared/MediaQuery.js.map +1 -1
  793. package/shared/MediaQueryUtils.d.ts +12 -34
  794. package/shared/MediaQueryUtils.js +22 -12
  795. package/shared/MediaQueryUtils.js.map +1 -1
  796. package/shared/component-helper.d.ts +1 -1
  797. package/shared/component-helper.js +5 -1
  798. package/shared/component-helper.js.map +1 -1
  799. package/shared/useMedia.d.ts +7 -2
  800. package/shared/useMedia.js +14 -11
  801. package/shared/useMedia.js.map +1 -1
  802. package/shared/useMediaQuery.js +28 -9
  803. package/shared/useMediaQuery.js.map +1 -1
  804. package/style/core/scopes.scss +1 -1
  805. package/style/dnb-ui-basis.css +2 -3
  806. package/style/dnb-ui-basis.min.css +1 -1
  807. package/style/dnb-ui-body.css +1 -1
  808. package/style/dnb-ui-body.min.css +1 -1
  809. package/style/dnb-ui-components.css +22 -29
  810. package/style/dnb-ui-components.min.css +3 -3
  811. package/style/dnb-ui-core.css +2 -3
  812. package/style/dnb-ui-core.min.css +1 -1
  813. package/style/dnb-ui-extensions.css +3 -5
  814. package/style/dnb-ui-extensions.min.css +1 -1
  815. package/style/dnb-ui-forms.css +3 -5
  816. package/style/dnb-ui-forms.min.css +1 -1
  817. package/style/themes/theme-eiendom/eiendom-theme-components.css +30 -36
  818. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +5 -5
  819. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +7 -5
  820. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  821. package/style/themes/theme-eiendom/eiendom-theme-extensions.scss +1 -0
  822. package/style/themes/theme-eiendom/eiendom-theme-forms.css +7 -5
  823. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  824. package/style/themes/theme-eiendom/eiendom-theme-forms.scss +1 -0
  825. package/style/themes/theme-sbanken/sbanken-theme-components.css +103 -112
  826. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +6 -6
  827. package/style/themes/theme-sbanken/sbanken-theme-components.scss +2 -2
  828. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +4 -5
  829. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +1 -1
  830. package/style/themes/theme-sbanken/sbanken-theme-extensions.scss +1 -0
  831. package/style/themes/theme-sbanken/sbanken-theme-forms.css +4 -5
  832. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +1 -1
  833. package/style/themes/theme-sbanken/sbanken-theme-forms.scss +1 -0
  834. package/style/themes/theme-ui/ui-theme-components.css +30 -36
  835. package/style/themes/theme-ui/ui-theme-components.min.css +5 -5
  836. package/style/themes/theme-ui/ui-theme-extensions.css +7 -5
  837. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  838. package/style/themes/theme-ui/ui-theme-extensions.scss +1 -0
  839. package/style/themes/theme-ui/ui-theme-forms.css +7 -5
  840. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  841. package/style/themes/theme-ui/ui-theme-forms.scss +1 -0
  842. package/umd/dnb-ui-basis.min.js +1 -1
  843. package/umd/dnb-ui-components.min.js +1 -1
  844. package/umd/dnb-ui-elements.min.js +1 -1
  845. package/umd/dnb-ui-extensions.min.js +3 -3
  846. package/umd/dnb-ui-lib.min.js +1 -1
@@ -1 +1 @@
1
- @charset "UTF-8";.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--spacing-x-small)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block{width:100%}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}:root{--forms-card-max-width:36.5rem}.dnb-forms-form .dnb-card{max-width:var(--forms-card-max-width)}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-iterate-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-iterate-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-iterate-block__inner{flex:1;margin-bottom:var(--space);padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem;box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-iterate-block.dnb-height-animation--is-visible .dnb-forms-iterate-block__inner{transform:translateY(-.5rem)}.dnb-forms-iterate-block.dnb-height-animation--parallax .dnb-forms-iterate-block__inner{transform:translateY(0)}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}.dnb-forms-summary-list.dnb-dl .dnb-dt,.dnb-forms-summary-list.dnb-dl:not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid{row-gap:var(--spacing-medium)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{--border-color:var(--color-pistachio);max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
1
+ @charset "UTF-8";.dnb-forms-field-array-selection--options-layout-vertical .dnb-forms-field-array-selection__options{display:flex;flex-flow:column;row-gap:var(--spacing-x-small)}.dnb-forms-field-array-selection--options-layout-vertical.dnb-forms-field-array-selection--layout-horizontal .dnb-forms-field-array-selection__options{row-gap:0}.dnb-forms-field-array-selection--options-layout-horizontal .dnb-forms-field-array-selection__options{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row wrap;row-gap:var(--spacing-x-small)}@media screen and (min-width:40em){.dnb-forms-field-array-selection .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem;margin-bottom:0}}.dnb-forms-field-expiry .dnb-multi-input-mask{width:var(--forms-field-width--small)}.dnb-forms-field-expiry .dnb-multi-input-mask .dnb-input__shell{justify-content:center}.dnb-forms-field-number{--number-control-button-border-color:#000;--number-control-button-border-color--hover:#a9a9a9;--number-control-button-border-color--focus:#a9a9a9;--number-control-button-border-width--focus:0.125rem;--number-control-button-background-color--hover:grey;--number-control-button-color--hover:#000;--number-control-button-background-color--active:#000;--number-control-button-color--active:#d3d3d3;--number-control-button--error:red;--number-control-button--error-contrast:#fff;--number-control-button-width--small:2rem;--number-control-button-width--medium:2.5rem;--number-control-button-width--large:3rem;--forms-field-block--number-control-buttons-width--small:calc(var(--number-control-button-width--small)*2);--forms-field-block--number-control-buttons-width--medium:calc(var(--number-control-button-width--medium)*2);--forms-field-block--number-control-buttons-width--large:calc(var(--number-control-button-width--large)*2)}.dnb-forms-field-number__contents{display:flex}.dnb-forms-field-number__contents--has-controls .dnb-input__input{align-items:center}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border{border-radius:0}.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within,.dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:hover,html[data-whatinput=keyboard] .dnb-forms-field-number__contents--has-controls .dnb-input .dnb-input__border:focus-within{box-shadow:none}.dnb-forms-field-number__contents--has-controls>.dnb-input__border--root{--input-border-inset: ;--input-border-inset--hover: ;--input-border-inset--active: ;--input-border-inset--focus: ;--input-border-inset--disabled: }html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button-background-color--hover);color:var(--number-control-button-color--hover)}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button-background-color--active);color:var(--number-control-button-color--active)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before{color:var(--number-control-button--error)}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover[disabled]{cursor:not-allowed}html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:hover:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:hover:not([disabled]){background-color:var(--number-control-button--error-contrast);color:var(--number-control-button--error)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active[disabled],html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active[disabled]{cursor:not-allowed}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after:active:not([disabled]),html:not([data-whatintent=touch]) .dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before:active:not([disabled]){background-color:var(--number-control-button--error);color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input__status--error .dnb-button--control-before[disabled]{color:var(--number-control-button--error-contrast)}.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-after[disabled],.dnb-forms-field-number__contents--has-controls.dnb-input--disabled .dnb-button--control-before[disabled]{background-color:var(--color-black-3);color:var(--color-black-20)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small{width:calc(var(--forms-field-width--small) + var(--forms-field-block--number-control-buttons-width--small))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-small .dnb-button--control-before{width:var(--number-control-button-width--small)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium{width:calc(var(--forms-field-width--medium) + var(--forms-field-block--number-control-buttons-width--medium))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-medium .dnb-button--control-before{width:var(--number-control-button-width--medium)}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large{width:calc(var(--forms-field-width--large) + var(--forms-field-block--number-control-buttons-width--large))}.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-after,.dnb-forms-field-number__contents--has-controls.dnb-forms-field-block__contents--width-large .dnb-button--control-before{width:var(--number-control-button-width--large)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button{color:var(--color-fire-red)}.dnb-forms-field-password .dnb-input__status--error .dnb-input__submit-button__button:hover{color:var(--color-white)}.dnb-forms-field-phone-number__country-code,.dnb-forms-field-phone-number__country-code .dnb-autocomplete__shell{width:calc(var(--forms-field-width--medium) - 2rem)}.dnb-forms-field-phone-number__number{flex:1}.dnb-forms-field-phone-number .dnb-form-label{max-width:14ch}.dnb-forms-field-postal-code-and-city__postal-code{flex:0 5rem}.dnb-forms-field-postal-code-and-city__city{flex:1}.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}:root{--forms-field-width--small:5rem;--forms-field-width--medium:11rem;--forms-field-width--large:21rem}@media screen and (max-width:15em){.dnb-forms-field-number .dnb-input__shell,.dnb-forms-field-string .dnb-input__shell{width:90%}}fieldset.dnb-forms-field-block{border:none;padding:0}fieldset.dnb-forms-field-block:not([class*=space__top]){margin-top:0}fieldset.dnb-forms-field-block:not([class*=space__right]){margin-right:0}fieldset.dnb-forms-field-block:not([class*=space__bottom]){margin-bottom:0}fieldset.dnb-forms-field-block:not([class*=space__left]){margin-left:0}.dnb-forms-field-block__grid{display:grid}@media screen and (max-width:40em){.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid{flex-wrap:wrap}.dnb-forms-field-block--layout-vertical .dnb-forms-field-block__grid>.dnb-form-label{margin-bottom:.5rem;margin-top:.5rem}}.dnb-forms-field-block--layout-vertical{grid-template-areas:"label" "contents" "status";grid-template-columns:auto}.dnb-forms-field-block--layout-horizontal{grid-template-areas:"label contents" "status status";grid-template-columns:fit-content(100%) auto}.dnb-forms-field-block--width-stretch{flex-grow:1}@media screen and (min-width:25em){.dnb-forms-field-block--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__label{align-items:center;display:flex;flex-flow:row;grid-area:label;justify-content:space-between}.dnb-forms-field-block__label-description{margin-left:.3em}.dnb-forms-field-block__status{grid-area:status}.dnb-forms-field-block__status .dnb-form-status__shell{margin-top:.5rem}@media screen and (max-width:15em){.dnb-forms-field-block__status{width:90%}}.dnb-forms-field-block__contents{grid-area:contents;width:100%}.dnb-forms-field-block__contents--width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-field-block__contents--width-small{width:var(--forms-field-width--small)}.dnb-forms-field-block__contents--width-medium{width:var(--forms-field-width--medium)}.dnb-forms-field-block__contents--width-large{width:var(--forms-field-width--large)}}.dnb-forms-field-block__contents__composition--vertical{display:flex;flex-flow:column;row-gap:var(--spacing-small)}.dnb-forms-field-block__contents__composition--horizontal{-moz-column-gap:var(--spacing-small);column-gap:var(--spacing-small);display:flex;flex-flow:row}@media screen and (min-width:25em){.dnb-forms-field-block__contents__composition--horizontal{align-items:flex-end}}@media screen and (max-width:25em){.dnb-forms-field-block__contents__composition--horizontal{flex-flow:column;row-gap:var(--spacing-x-small)}}.dnb-forms-button-row{display:flex;flex-flow:row;flex-wrap:wrap;gap:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]),.dnb-card+.dnb-forms-button-row:not([class*=space__top]){margin-top:var(--spacing-small)}.dnb-card+.dnb-button--primary:not([class*=space__top]) .dnb-button[class*=space__top],.dnb-card+.dnb-forms-button-row:not([class*=space__top]) .dnb-button[class*=space__top]{margin-top:0}@media screen and (min-width:40em){.dnb-card+.dnb-button--primary:not([class*=space__left]),.dnb-card+.dnb-forms-button-row:not([class*=space__left]){margin-left:var(--spacing-medium)}}:root{--forms-card-max-width:36.5rem}.dnb-forms-form .dnb-card{max-width:var(--forms-card-max-width)}.dnb-spacing .dnb-forms-main-heading.dnb-h--large:not([class*=space__]){margin:0}@media screen and (min-width:40em){.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__left]){margin-left:var(--spacing-medium)}}.dnb-forms-main-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-spacing .dnb-forms-sub-heading.dnb-h--medium:not([class*=space__]){margin:0}.dnb-forms-sub-heading:has(+.dnb-flex-stack>.dnb-card,+.dnb-card):not([class*=space__bottom]){margin-bottom:var(--spacing-small)}.dnb-forms-submit-indicator{--padding-left:0.5em;display:inline}.dnb-forms-submit-indicator__content{font-size:0;line-height:1em;transition:font-size .8s var(--easing-default);will-change:font-size}.dnb-forms-submit-indicator__content b{animation-delay:.2s;animation-duration:1.3s;animation-iteration-count:infinite;animation-name:submit-indicator-dot;color:var(--dots-color,currentColor);opacity:.2;padding-left:.125em}.dnb-forms-submit-indicator__content b:first-of-type{animation-delay:50ms;padding-left:var(--padding-left)}.dnb-forms-submit-indicator__content b:nth-of-type(2){animation-delay:.2s}.dnb-forms-submit-indicator__content b:nth-of-type(3){animation-delay:.4s}html[data-visual-test] .dnb-forms-submit-indicator__content b{animation:none}.dnb-forms-submit-indicator--state-pending .dnb-forms-submit-indicator__content{font-size:1em;font-weight:var(--font-weight-bold)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon{color:var(--color-success-green);padding-left:var(--padding-left)}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content .dnb-icon--default{font-size:1em}.dnb-forms-submit-indicator--state-success .dnb-forms-submit-indicator__content__label{font-size:var(--font-size-small);padding-left:calc(var(--padding-left)*2)}.dnb-forms-submit-indicator--inline-wrap .dnb-forms-submit-indicator__content{--padding-left:0.25em;display:flex}@keyframes submit-indicator-dot{0%{opacity:.2}15%{opacity:1}50%{opacity:1}60%{opacity:.3}to{opacity:.2}}@keyframes submit-indicator-success{0%{font-size:1em;opacity:.2}20%{font-size:1em;opacity:1}80%{opacity:1}85%{font-size:1em;opacity:.3}90%{opacity:0}to{font-size:0;opacity:0}}.dnb-forms-iterate-block{--block-outline-color:var(--outline-color,var(--color-lavender))}.dnb-forms-iterate-block--error:has(.dnb-form-status--error){--block-outline-color:var(--color-fire-red)}.dnb-forms-iterate-block:not(.dnb-height-animation--hidden){display:flex;flex-direction:column}.dnb-forms-iterate-block__inner{flex:1;margin-bottom:var(--space);padding:var(--padding,1rem);transform:translateY(-2.5rem);transition:transform .4s var(--easing-default) 50ms,box-shadow .8s var(--easing-default)}.dnb-forms-iterate-block__inner:not([class*=dnb-flex-container--spacing]){--padding:0}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{border-radius:.375rem}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-small{--space:var(--spacing-small)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-medium{--space:var(--spacing-medium)}.dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing].dnb-flex-container--spacing-large{--space:var(--spacing-large)}.dnb-forms-iterate-block--variant-outline .dnb-forms-iterate-block__inner[class*=dnb-flex-container--spacing]{box-shadow:inset 0 0 0 2px var(--block-outline-color)}.dnb-forms-iterate-block__inner .dnb-dl .dnb-dd{margin-bottom:0}.dnb-forms-iterate-block.dnb-height-animation--is-visible .dnb-forms-iterate-block__inner{transform:translateY(-.5rem)}.dnb-forms-iterate-block.dnb-height-animation--parallax .dnb-forms-iterate-block__inner{transform:translateY(0)}.dnb-forms-iterate__element{outline:none}.dnb-forms-iterate>.dnb-forms-iterate__element:has(.dnb-forms-iterate-block){margin-top:0}.dnb-forms-summary-list.dnb-dl .dnb-dt,.dnb-forms-summary-list.dnb-dl:not([class*=dnb-space])>.dnb-dd>.dnb-dl,.dnb-forms-summary-list.dnb-dl>.dnb-dd>.dnb-dl{margin:0}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd{margin-bottom:var(--spacing-medium)}.dnb-forms-summary-list.dnb-dl:not(.dnb-dl__layout--grid)>.dnb-dd:last-of-type{margin-bottom:0}.dnb-forms-summary-list.dnb-dl.dnb-dl__layout--grid{row-gap:var(--spacing-medium)}.dnb-forms-value-block{display:block;font-size:var(--font-size-basis)}.dnb-forms-value-block--inline:not([class*=__composition]){display:inline-block;font-size:inherit}.dnb-forms-value-block--inline:not([class*=__composition]):after,.dnb-forms-value-block--inline:not([class*=__composition]):before{content:" "}.dnb-forms-value-block+.dnb-forms-value-block--inline:not([class*=__composition]):before{content:none}.dnb-forms-value-block__label,.dnb-forms-value-block__label strong{font-weight:var(--font-weight-medium)}.dnb-forms-value-block__placeholder{color:var(--color-black-80)}.dnb-forms-value-block--max-width-stretch{width:100%}@media screen and (min-width:25em){.dnb-forms-value-block--max-width-small{max-width:var(--forms-field-width--small)}.dnb-forms-value-block--max-width-medium{max-width:var(--forms-field-width--medium)}.dnb-forms-value-block--max-width-large{max-width:var(--forms-field-width--large)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{-moz-column-gap:var(--column-gap,0);column-gap:var(--column-gap,0);display:flex;flex-flow:row;row-gap:var(--row-gap,var(--spacing-medium))}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-xx-small{--column-gap:var(--spacing-xx-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-x-small{--column-gap:var(--spacing-x-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-small{--column-gap:var(--spacing-small)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-medium{--column-gap:var(--spacing-medium)}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content--gap-large{--column-gap:var(--spacing-large)}@media screen and (min-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{align-items:flex-start}}@media screen and (max-width:25em){.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content{flex-flow:column}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not(:has(.dnb-forms-value-block__label)){--row-gap:var(--spacing-x-small)}}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content:not([class*=dnb-space])>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dd,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl,.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dt{margin:0}.dnb-forms-value-block__composition--horizontal .dnb-forms-value-block__content>.dnb-dl>.dnb-dd{margin-bottom:0}.dnb-forms-wizard-layout{-moz-column-gap:var(--spacing-medium);column-gap:var(--spacing-medium);display:flex;flex-flow:row wrap}.dnb-forms-wizard-layout--drawer{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__sidebar{flex:0;margin-bottom:2rem}.dnb-forms-wizard-layout__contents{flex:1}.dnb-forms-wizard-layout__contents .dnb-forms-step{outline:none}.dnb-forms-wizard-layout__contents .dnb-card{max-width:var(--forms-card-max-width)}.dnb-forms-wizard-layout__contents .dnb-forms-button-row>.appear-fx,.dnb-forms-wizard-layout__contents .dnb-forms-step>.appear-fx{--appear-opacity:0;--appear-offset:-0.25rem;animation:appear .6s var(--easing-default) forwards;animation-delay:calc(var(--element-index, 0)*30ms);opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}@keyframes appear{0%{opacity:var(--appear-opacity);transform:translate3d(var(--appear-offset),0,0)}80%{opacity:1}to{opacity:1;transform:translateZ(0)}}@media screen and (min-width:40em){.dnb-forms-wizard-layout+.dnb-form-status+.dnb-form-status:not([class*=space__left]),.dnb-forms-wizard-layout+.dnb-form-status:not([class*=space__left]){margin-left:var(--spacing-medium)}}@media screen and (max-width:60em){.dnb-forms-wizard-layout{align-items:stretch;flex-direction:column;justify-content:stretch}.dnb-forms-wizard-layout__contents{flex-basis:auto}}.dnb-forms-wizard-layout .dnb-step-indicator__sidebar{margin-right:0}@media screen and (min-width:60em){.dnb-forms-form:has(.dnb-forms-wizard-layout--sidebar) .dnb-forms-status{margin-left:23rem}}.dnb-forms-test-element{border:1px dashed grey;border-radius:.5rem;color:#909090;padding:.5rem 1rem}
@@ -69,7 +69,7 @@ export type ComponentProps = SpacingProps & {
69
69
  export type AdditionalEventArgs = Record<string, unknown>;
70
70
  export type DataValueReadComponentProps<Value = unknown> = ComponentProps & DataValueReadProps<Value>;
71
71
  export type DataValueReadWriteComponentProps<Value = unknown, EmptyValue = undefined | unknown> = ComponentProps & DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>;
72
- export type FieldBlockProps = {
72
+ export type FieldSectionProps = {
73
73
  /**
74
74
  * The layout of the field block
75
75
  */
@@ -87,6 +87,9 @@ export type FieldBlockProps = {
87
87
  */
88
88
  placeholder?: React.ReactNode;
89
89
  };
90
+ /**
91
+ * The width of a field block
92
+ */
90
93
  export type FieldBlockWidth = false | 'small' | 'medium' | 'large' | 'stretch';
91
94
  export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown, ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages> extends DataValueReadWriteComponentProps<Value, EmptyValue>, AriaAttributes {
92
95
  /**
@@ -164,15 +167,19 @@ export interface UseFieldProps<Value = unknown, EmptyValue = undefined | unknown
164
167
  * Transforms the given props `value` before any other step gets entered.
165
168
  */
166
169
  fromExternal?: (external: Value) => Value;
170
+ /**
171
+ * For internal use only.
172
+ */
173
+ valueType?: string | number | boolean | Array<string | number | boolean>;
167
174
  }
168
- export type FieldProps<Value = unknown, EmptyValue = undefined | unknown, ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps;
175
+ export type FieldProps<Value = unknown, EmptyValue = undefined | unknown, ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldSectionProps;
169
176
  export interface FieldHelpProps {
170
177
  help?: {
171
178
  title?: string;
172
179
  content?: string;
173
180
  };
174
181
  }
175
- export interface ValueProps<Value> extends DataValueReadComponentProps<Value> {
182
+ export interface ValueProps<Value = unknown> extends DataValueReadComponentProps<Value> {
176
183
  /**
177
184
  * Field label to show above the data value.
178
185
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from 'json-pointer'\nimport { AriaAttributes } from 'react'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersions =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<unknown>\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: string\n value?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: OnChangeValue<Value, EmptyValue>\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldBlockProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions\n validator?: (\n value: Value | EmptyValue,\n errorMessages?: ErrorMessages\n ) => Error | undefined | void | Promise<Error | undefined | void>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | void | Promise<Error | undefined | void>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (internal: Value | unknown) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value form the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldBlockProps\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: string\n }\n}\n\nexport interface ValueProps<Value>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n { resetForm, clearData }: OnSubmitParams\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = unknown> = (\n data: Data\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n\nexport type OnChangeValue<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = (\n value: Value | EmptyValue,\n additionalArgs?: AdditionalEventArgs\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":"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"}
1
+ {"version":3,"file":"types.js","names":["FormError","Error","constructor","message","options","_defineProperty","key","dataValueReadProps","pickDataValueReadProps","props","Object","fromEntries","entries","filter","_ref","includes","omitDataValueReadProps","_ref2","dataValueWriteProps","pickDataValueWriteProps","_ref3","omitDataValueWriteProps","_ref4","pickDataValueReadWriteProps","_ref5","omitDataValueReadWriteProps","_ref6"],"sources":["../../../../src/extensions/forms/types.ts"],"sourcesContent":["import type { SpacingProps } from '../../components/space/types'\nimport type { JSONSchema4, JSONSchema6, JSONSchema7 } from 'json-schema'\nimport type { JSONSchemaType } from 'ajv/dist/2020'\nimport { JsonObject } from 'json-pointer'\nimport { AriaAttributes } from 'react'\n\nexport type * from 'json-schema'\nexport type JSONSchema = JSONSchema7\nexport type AllJSONSchemaVersions =\n | JSONSchema4\n | JSONSchema6\n | JSONSchema7\n | JSONSchemaType<unknown>\nexport { JSONSchemaType }\n\ntype ValidationRule = 'type' | 'pattern' | 'required' | string\ntype MessageValues = Record<string, string>\n\ninterface IFormErrorOptions {\n validationRule?: ValidationRule\n messageValues?: MessageValues\n}\n\n/**\n * Standard error object for Eufemia Forms, extending the built-in error with additional information for data handling\n */\nexport class FormError extends Error {\n /**\n * What validation rule did the error occur based on? (i.e: minLength, required or maximum)\n */\n validationRule?: ValidationRule\n\n /**\n * Replacement values relevant for this error.\n * @example { minLength: 3 } to be able to replace values in a message like \"Minimum {minLength} characters\"\n */\n messageValues?: MessageValues\n\n constructor(message: string, options?: IFormErrorOptions) {\n super(message)\n\n if (options) {\n for (const key in options) {\n this[key] = options[key]\n }\n }\n }\n}\n\n/**\n * Accept any key, so custom message keys can be used\n */\nexport type CustomErrorMessages = Record<string, string>\n\n/**\n * Accept any key, so custom message keys can be used\n * including the path to the field the message is for\n */\nexport type CustomErrorMessagesWithPaths =\n | CustomErrorMessages\n | {\n // eslint-disable-next-line no-unused-vars\n [K in `/${string}`]?: CustomErrorMessages\n }\n\nexport interface DefaultErrorMessages {\n required?: string\n pattern?: string\n}\n\nexport interface DataValueReadProps<Value = unknown> {\n /** JSON Pointer for where the data for this field is located in the source dataset */\n path?: string\n /** JSON Pointer for where the data for this field is located in the source iterate loop element */\n itemPath?: string\n value?: Value\n}\n\nconst dataValueReadProps = ['path', 'itemPath', 'value']\n\nexport function pickDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): DataValueReadProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueReadProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadProps<Props extends DataValueReadProps>(\n props: Props\n): Omit<DataValueReadProps, keyof DataValueReadProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueReadProps.includes(key)\n )\n )\n}\n\nexport interface DataValueWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> {\n emptyValue?: EmptyValue\n onFocus?: (value: Value | EmptyValue) => void\n onBlur?: (value: Value | EmptyValue) => void\n onChange?: OnChangeValue<Value, EmptyValue>\n}\n\nconst dataValueWriteProps = ['emptyValue', 'onFocus', 'onBlur', 'onChange']\n\nexport function pickDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): DataValueWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(([key]) =>\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueWriteProps<Props extends DataValueWriteProps>(\n props: Props\n): Omit<DataValueWriteProps, keyof DataValueWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) => !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type DataValueReadWriteProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = DataValueReadProps<Value> & DataValueWriteProps<Value, EmptyValue>\n\nexport function pickDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(props: Props): DataValueReadWriteProps {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n dataValueReadProps.includes(key) ||\n dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport function omitDataValueReadWriteProps<\n Props extends DataValueReadWriteProps,\n>(\n props: Props\n): Omit<DataValueReadWriteProps, keyof DataValueReadWriteProps> {\n return Object.fromEntries(\n Object.entries(props ?? {}).filter(\n ([key]) =>\n !dataValueReadProps.includes(key) &&\n !dataValueWriteProps.includes(key)\n )\n )\n}\n\nexport type ComponentProps = SpacingProps & {\n className?: string\n}\n\nexport type AdditionalEventArgs = Record<string, unknown>\n\nexport type DataValueReadComponentProps<Value = unknown> = ComponentProps &\n DataValueReadProps<Value>\n\nexport type DataValueReadWriteComponentProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = ComponentProps &\n DataValueReadProps<Value> &\n DataValueWriteProps<Value, EmptyValue>\n\nexport type FieldSectionProps = {\n /**\n * The layout of the field block\n */\n layout?: 'horizontal' | 'vertical'\n /**\n * Main label text for the field\n */\n label?: React.ReactNode\n /**\n * A more discreet text displayed beside the label\n */\n labelDescription?: React.ReactNode\n /**\n * Text showing in place of the value if no value is given\n */\n placeholder?: React.ReactNode\n}\n\n/**\n * The width of a field block\n */\nexport type FieldBlockWidth =\n | false\n | 'small'\n | 'medium'\n | 'large'\n | 'stretch'\n\nexport interface UseFieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> extends DataValueReadWriteComponentProps<Value, EmptyValue>,\n AriaAttributes {\n // - HTML Element Attributes\n /**\n * ID added to the actual field component, and linked to the label via for-attribute\n */\n id?: Identifier\n name?: string\n disabled?: boolean\n readOnly?: boolean\n autoComplete?:\n | HTMLInputElement['autocomplete']\n | HTMLTextAreaElement['autocomplete']\n\n /**\n * NB: Undocumented for now.\n * Forwards all possible props to the underlying component.\n */\n htmlAttributes?: Record<string, unknown>\n\n // - Used by useFieldProps and FieldBlock\n info?: React.ReactNode\n warning?: React.ReactNode\n error?: Error | FormError\n\n // - Validation\n required?: boolean\n schema?: AllJSONSchemaVersions\n validator?: (\n value: Value | EmptyValue,\n errorMessages?: ErrorMessages\n ) => Error | undefined | void | Promise<Error | undefined | void>\n onBlurValidator?: (\n value: Value | EmptyValue\n ) => Error | undefined | void | Promise<Error | undefined | void>\n validateRequired?: (\n internal: Value,\n {\n emptyValue,\n required,\n isChanged,\n error,\n }: {\n emptyValue: EmptyValue\n required: boolean\n isChanged: boolean\n error: FormError | undefined\n }\n ) => FormError | undefined\n /**\n * Should error messages based on validation be shown initially (from given value-prop or source data)\n * before the user interacts with the field?\n * @default false\n */\n validateInitially?: boolean\n /**\n * Should error messages be shown when touching (like focusing a field and blurring) without having changed\n * the value? So the user did not introduce a new error, but it was invalid based on validation initially.\n */\n validateUnchanged?: boolean\n /**\n * Should validation be done while writing, not just when blurring the field?\n */\n continuousValidation?: boolean\n /**\n * Provide custom error messages for the field\n */\n errorMessages?: ErrorMessages\n\n // - Derivatives\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets forwarded to the form data object or returned as the onChange value parameter.\n * Public API. Should not be used internally.\n */\n transformOut?: (internal: Value | unknown) => Value\n\n /**\n * Transforms the value given by `handleChange` after `fromInput` and before `updateValue` and `toEvent`. The second parameter returns the current value.\n */\n transformValue?: (value: Value, currentValue?: Value) => Value\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the internal value before it gets returned by even callbacks such as `onChange`, `onFocus` and `onBlur`. The second parameter returns the event type: `onChange`, `onFocus`, `onBlur` or `onBlurValidator`.\n */\n toEvent?: (\n internal: Value,\n type: 'onChange' | 'onFocus' | 'onBlur' | 'onBlurValidator'\n ) => Value\n\n /**\n * Transforms the value given by `handleChange` before it is used in the further process flow. Use it to destruct the value form the original event object.\n */\n fromInput?: (external: Value | unknown) => Value\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n\n /**\n * For internal use only.\n */\n valueType?: string | number | boolean | Array<string | number | boolean>\n}\n\nexport type FieldProps<\n Value = unknown,\n EmptyValue = undefined | unknown,\n ErrorMessages extends DefaultErrorMessages = DefaultErrorMessages,\n> = UseFieldProps<Value, EmptyValue, ErrorMessages> & FieldSectionProps\n\nexport interface FieldHelpProps {\n help?: {\n title?: string\n content?: string\n }\n}\n\nexport interface ValueProps<Value = unknown>\n extends DataValueReadComponentProps<Value> {\n /**\n * Field label to show above the data value.\n */\n label?: React.ReactNode\n\n /**\n * Shows the value even if it is empty.\n */\n showEmpty?: boolean\n\n /**\n * Text showing in place of the value if no value is given.\n */\n placeholder?: React.ReactNode\n\n /**\n * For showing the value inline (not as a block element)\n */\n inline?: boolean\n\n /** The max-width of a value block. Defaults to large */\n maxWidth?: 'small' | 'medium' | 'large' | 'auto'\n\n /**\n * Transforms the `value` before its displayed in the field (e.g. input).\n * Public API. Should not be used internally.\n */\n transformIn?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the value before it gets returned as the `value`.\n */\n toInput?: (external: Value | unknown) => Value | unknown\n\n /**\n * Transforms the given props `value` before any other step gets entered.\n */\n fromExternal?: (external: Value) => Value\n}\n\nexport type Path = string\nexport type Identifier = string\n\nexport type SubmitState =\n | 'pending' // Used for async operations\n | 'complete' // Used to hide the submit indicator\n | 'success' // Used for fields\n | 'error' // Used when error is shown\n | 'abort' // Used to abort the state regardless (step change)\n\n/**\n * Provide a error that shows in the FormStatus of a field.\n */\ntype EventStateObjectError = Error\n/**\n * Provide a warning that shows in the FormStatus of a field.\n */\ntype EventStateObjectWarning = React.ReactNode\n/**\n * Provide an info that shows in the FormStatus of a field.\n */\ntype EventStateObjectInfo = React.ReactNode\n\n/**\n * Provide a status that will enforce the form to stay in pending state\n */\ntype EventStateObjectStatus = 'pending'\n\n/**\n * Provide a success state that will show an indicator on the related field label\n */\ntype EventStateObjectSuccess = 'saved'\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventStateObjectOr = {\n error?: EventStateObjectError\n warning?: EventStateObjectWarning\n info?: EventStateObjectInfo\n pending?: EventStateObjectStatus\n}\n\nexport type EventStateObjectEitherOr =\n | { error: EventStateObjectError }\n | { warning: EventStateObjectWarning }\n | { info: EventStateObjectInfo }\n | { status: EventStateObjectStatus }\n\nexport type EventStateObject = EventStateObjectOr &\n EventStateObjectEitherOr\n\n/**\n * Provide 'saved' to indicate the data has been saved successfully. Can not be combined with `error`.\n */\nexport type EventStateObjectWithSuccess = EventStateObjectOr & {\n success?: EventStateObjectSuccess\n} & (EventStateObjectEitherOr | { success: EventStateObjectSuccess })\n\n/**\n * Provide an error or status messages that shows in the FormStatus of a field\n */\nexport type EventReturnWithStateObject = Error | EventStateObject\n\nexport type EventReturnWithStateObjectAndSuccess =\n | Error\n | EventStateObjectWithSuccess\n\nexport type OnSubmitParams = {\n /** Will remove browser-side stored autocomplete data */\n resetForm: () => void\n\n /** Will empty the whole internal data set of the form */\n clearData: () => void\n}\n\nexport type OnSubmit<Data = JsonObject> = (\n data: Data,\n { resetForm, clearData }: OnSubmitParams\n) =>\n | EventReturnWithStateObject\n | void\n | Promise<EventReturnWithStateObject | void>\n\nexport type OnChange<Data = unknown> = (\n data: Data\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n\nexport type OnChangeValue<\n Value = unknown,\n EmptyValue = undefined | unknown,\n> = (\n value: Value | EmptyValue,\n additionalArgs?: AdditionalEventArgs\n) =>\n | EventReturnWithStateObjectAndSuccess\n | void\n | Promise<EventReturnWithStateObjectAndSuccess | void>\n"],"mappings":"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"}
@@ -148,9 +148,13 @@ export const parseContentTitle = function (dataItem) {
148
148
  }
149
149
  if (hasValue) {
150
150
  if (preferSelectedValue) {
151
- ret = String(convertJsxToString(dataItem.selected_value));
151
+ ret = String(convertJsxToString(dataItem.selected_value, separator, word => {
152
+ var _word$type, _nestedChildren$props;
153
+ const nestedChildren = !word.props.children && (word === null || word === void 0 ? void 0 : (_word$type = word.type) === null || _word$type === void 0 ? void 0 : _word$type.call(word));
154
+ return nestedChildren !== null && nestedChildren !== void 0 && (_nestedChildren$props = nestedChildren.props) !== null && _nestedChildren$props !== void 0 && _nestedChildren$props.children ? nestedChildren : word;
155
+ }));
152
156
  } else if (!onlyNumericRegex.test(dataItem.selected_value)) {
153
- ret = String(convertJsxToString(dataItem.selected_value)) + separator + ret;
157
+ ret = String(convertJsxToString()) + separator + ret;
154
158
  }
155
159
  }
156
160
  if (Array.isArray(dataItem) && dataItem.length === 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","class","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","content","prepared_data","array","raw_data","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","_dataItem","separator","removeNumericOnlyValues","preferSelectedValue","arguments","length","undefined","ret","onlyNumericRegex","Array","isArray","hasValue","reduce","acc","cur","found","match","push","join","String","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","isValidElement","normalizeData","props","list","key","type","map","item","__id","_item","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","isNaN","parseFloat","i","l","_data$i","_data$i2","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","_ref","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.js"],"sourcesContent":["/**\n * Web DrawerList Helpers\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\n\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n prepared_data: PropTypes.array,\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n class: null,\n data: null,\n prepared_data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n options_render: null,\n}\n\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport const parseContentTitle = (\n dataItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n) => {\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n if (Array.isArray(dataItem) && dataItem.length > 0) {\n dataItem = { content: dataItem }\n }\n\n const hasValue = dataItem?.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n dataItem &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce((acc, cur) => {\n // check if we have React inside, with strings we can use\n cur = convertJsxToString(cur, ' ')\n if (cur === false) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && cur && cur.match(onlyNumericRegex)\n if (!(found && found[0].length === cur.length)) {\n acc.push(cur)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(\n (dataItem && dataItem.content) || dataItem,\n ' '\n )\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(convertJsxToString(dataItem.selected_value))\n } else if (!onlyNumericRegex.test(dataItem.selected_value)) {\n ret =\n String(convertJsxToString(dataItem.selected_value)) +\n separator +\n ret\n }\n }\n\n // make sure we don't return empty strings\n if (Array.isArray(dataItem) && dataItem.length === 0) {\n ret = null\n }\n\n if (ret && ret.length === 1 && ret[0].ignore_events) {\n return null\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport const preSelectData = (data) => {\n if (typeof data === 'string') {\n data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n// normalize data\nexport const normalizeData = (props) => {\n let data = preSelectData(props.data || props.children || props)\n\n if (data && typeof data === 'object' && !Array.isArray(data)) {\n const list = []\n for (const key in data) {\n list.push({\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return (data || []).map((item, __id) => {\n if (\n typeof item === 'number' ||\n typeof item === 'string' ||\n Array.isArray(item) ||\n React.isValidElement(item)\n ) {\n item = { content: item, __isTransformed: true }\n }\n\n return typeof item?.__id !== 'undefined' ? item : { ...item, __id }\n })\n}\n\nexport const getData = (props) => {\n if (props.prepared_data && Array.isArray(props.prepared_data)) {\n return props.prepared_data\n }\n\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n else if (selectedKeyExists()) {\n return data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n }\n // 3. if is numeric, handle it as a index.\n else if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n data = parseCurrentValue(data)\n }\n\n return data\n}\n\nexport const prepareStartupState = (props) => {\n const selected_item = null\n const raw_data = preSelectData(\n props.raw_data || props.data || props.children\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data, // to have a backup to look up what we got in the first place (array vs object)\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (props, state) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (\n typeof props.wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n const wrapper_element = document.querySelector(props.wrapper_element)\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(parseFloat(state.active_item) > -2) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (parseFloat(state.selected_item) > -1) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":"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"}
1
+ {"version":3,"file":"DrawerListHelpers.js","names":["React","PropTypes","isTrue","dispatchCustomElementEvent","convertJsxToString","spacingPropTypes","drawerListPropTypes","_objectSpread","id","string","role","cache_hash","triangle_position","scrollable","oneOfType","bool","focusable","direction","oneOf","size","max_height","number","no_animation","no_scroll_animation","prevent_selection","action_menu","is_popup","align_drawer","options_render","object","func","node","wrapper_element","default_value","value","skip_portal","portal_class","list_class","prevent_close","independent_width","fixed_position","keep_open","prevent_focus","skip_keysearch","opened","class","data","arrayOf","shape","selectedKey","selected_key","selected_value","suffix_value","content","prepared_data","array","raw_data","ignore_events","className","children","on_show","on_hide","handle_dismiss_focus","on_change","on_pre_change","on_resize","on_select","on_state_update","drawerListDefaultProps","drawerListProviderPropTypes","enable_body_lock","page_offset","observer_element","min_height","drawerListProviderDefaultProps","parseContentTitle","dataItem","_dataItem","separator","removeNumericOnlyValues","preferSelectedValue","arguments","length","undefined","ret","onlyNumericRegex","Array","isArray","hasValue","reduce","acc","cur","found","match","push","join","String","word","_word$type","_nestedChildren$props","nestedChildren","props","type","call","test","hasObjectKeyAsValue","_data","preSelectData","JSON","parse","isValidElement","normalizeData","list","key","map","item","__id","_item","__isTransformed","getData","getCurrentIndex","findIndex","parseCurrentValue","selectedKeyExists","isNaN","parseFloat","i","l","_data$i","_data$i2","getSelectedItemValue","state","filter","_","current","getEventData","item_index","getCurrentData","find","_ref","prepareStartupState","selected_item","original_data","active_item","_value","prepareDerivedState","Date","now","usePortal","document","querySelector","current_title","getCurrentDataTitle","currentData","findClosest","arr","val","Math","max","apply","v"],"sources":["../../../../src/fragments/drawer-list/DrawerListHelpers.js"],"sourcesContent":["/**\n * Web DrawerList Helpers\n *\n * This is a legacy component.\n * For refferencing while developing new features, please use a Functional component.\n */\n\nimport React from 'react'\nimport PropTypes from 'prop-types'\nimport {\n isTrue,\n dispatchCustomElementEvent,\n convertJsxToString,\n} from '../../shared/component-helper'\nimport { spacingPropTypes } from '../../components/space/SpacingHelper'\n\nexport const drawerListPropTypes = {\n id: PropTypes.string,\n role: PropTypes.string,\n cache_hash: PropTypes.string,\n triangle_position: PropTypes.string,\n scrollable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n focusable: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n direction: PropTypes.oneOf(['auto', 'top', 'bottom']),\n size: PropTypes.oneOf(['default', 'small', 'medium', 'large']),\n max_height: PropTypes.number,\n no_animation: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n no_scroll_animation: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n\n prevent_selection: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n action_menu: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n is_popup: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n align_drawer: PropTypes.oneOf(['left', 'right']),\n options_render: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n wrapper_element: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n PropTypes.node,\n ]),\n default_value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n skip_portal: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n portal_class: PropTypes.string,\n list_class: PropTypes.string,\n prevent_close: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n independent_width: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.bool,\n ]),\n fixed_position: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n keep_open: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n prevent_focus: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n skip_keysearch: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n opened: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n class: PropTypes.string,\n data: PropTypes.oneOfType([\n PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n ]),\n PropTypes.arrayOf(\n PropTypes.oneOfType([\n PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n PropTypes.shape({\n selectedKey: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_key: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n selected_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n suffix_value: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n content: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n PropTypes.arrayOf(PropTypes.string),\n ]),\n }),\n ])\n ),\n ]),\n prepared_data: PropTypes.array,\n raw_data: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.object,\n PropTypes.func,\n ]),\n ignore_events: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n\n ...spacingPropTypes,\n\n className: PropTypes.string,\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.func,\n PropTypes.node,\n PropTypes.object,\n PropTypes.array,\n ]),\n\n on_show: PropTypes.func,\n on_hide: PropTypes.func,\n handle_dismiss_focus: PropTypes.func,\n on_change: PropTypes.func,\n on_pre_change: PropTypes.func,\n on_resize: PropTypes.func,\n on_select: PropTypes.func,\n on_state_update: PropTypes.func,\n}\n\nexport const drawerListDefaultProps = {\n id: null,\n role: 'listbox',\n cache_hash: null,\n triangle_position: 'left',\n scrollable: true,\n focusable: false,\n max_height: null,\n direction: 'auto',\n size: 'default',\n no_animation: false,\n no_scroll_animation: false,\n prevent_selection: false,\n action_menu: false,\n is_popup: false,\n align_drawer: 'left',\n wrapper_element: null,\n default_value: null,\n value: 'initval',\n portal_class: null,\n list_class: null,\n skip_portal: null,\n prevent_close: false,\n keep_open: false,\n prevent_focus: false,\n fixed_position: false,\n independent_width: false,\n skip_keysearch: false,\n opened: null,\n class: null,\n data: null,\n prepared_data: null,\n raw_data: null,\n ignore_events: null,\n\n className: null,\n children: null,\n\n on_show: null,\n on_hide: null,\n handle_dismiss_focus: null,\n on_change: null,\n on_pre_change: null,\n on_resize: null,\n on_select: null,\n on_state_update: null,\n options_render: null,\n}\n\nexport const drawerListProviderPropTypes = {\n enable_body_lock: PropTypes.bool,\n page_offset: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n observer_element: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.node,\n ]),\n min_height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n}\n\nexport const drawerListProviderDefaultProps = {\n enable_body_lock: false,\n page_offset: null,\n observer_element: null,\n min_height: 10, // 10rem = 10x16=160,\n}\n\nexport const parseContentTitle = (\n dataItem,\n {\n separator = '\\n',\n removeNumericOnlyValues = false,\n preferSelectedValue = false,\n } = {}\n) => {\n let ret = ''\n const onlyNumericRegex = /[0-9.,-\\s]+/\n if (Array.isArray(dataItem) && dataItem.length > 0) {\n dataItem = { content: dataItem }\n }\n\n const hasValue = dataItem?.selected_value\n\n if (\n !(preferSelectedValue && hasValue) &&\n dataItem &&\n Array.isArray(dataItem.content)\n ) {\n ret = dataItem.content\n .reduce((acc, cur) => {\n // check if we have React inside, with strings we can use\n cur = convertJsxToString(cur, ' ')\n if (cur === false) {\n return acc\n }\n // remove only numbers\n const found =\n removeNumericOnlyValues && cur && cur.match(onlyNumericRegex)\n if (!(found && found[0].length === cur.length)) {\n acc.push(cur)\n }\n return acc\n }, [])\n .join(separator)\n } else {\n ret = convertJsxToString(\n (dataItem && dataItem.content) || dataItem,\n ' '\n )\n }\n\n if (hasValue) {\n if (preferSelectedValue) {\n ret = String(\n convertJsxToString(dataItem.selected_value, separator, (word) => {\n const nestedChildren = !word.props.children && word?.type?.()\n return nestedChildren?.props?.children ? nestedChildren : word\n })\n )\n } else if (!onlyNumericRegex.test(dataItem.selected_value)) {\n ret = String(convertJsxToString()) + separator + ret\n }\n }\n\n // make sure we don't return empty strings\n if (Array.isArray(dataItem) && dataItem.length === 0) {\n ret = null\n }\n\n if (ret && ret.length === 1 && ret[0].ignore_events) {\n return null\n }\n\n return ret\n}\n\nexport const hasObjectKeyAsValue = (data) => {\n data = data?.raw_data || data\n return data && typeof data === 'object' && !Array.isArray(data)\n}\n\nexport const preSelectData = (data) => {\n if (typeof data === 'string') {\n data = data[0] === '{' || data[0] === '[' ? JSON.parse(data) : null\n } else if (data && React.isValidElement(data)) {\n data = []\n } else if (typeof data === 'function') {\n data = data()\n }\n\n return data\n}\n\n// normalize data\nexport const normalizeData = (props) => {\n let data = preSelectData(props.data || props.children || props)\n\n if (data && typeof data === 'object' && !Array.isArray(data)) {\n const list = []\n for (const key in data) {\n list.push({\n selected_key: key,\n value: key,\n content: data[key],\n type: 'object',\n })\n }\n data = list\n }\n\n return (data || []).map((item, __id) => {\n if (\n typeof item === 'number' ||\n typeof item === 'string' ||\n Array.isArray(item) ||\n React.isValidElement(item)\n ) {\n item = { content: item, __isTransformed: true }\n }\n\n return typeof item?.__id !== 'undefined' ? item : { ...item, __id }\n })\n}\n\nexport const getData = (props) => {\n if (props.prepared_data && Array.isArray(props.prepared_data)) {\n return props.prepared_data\n }\n\n return normalizeData(props)\n}\n\nexport const getCurrentIndex = (value, data) => {\n // 1. if a non-numeric value is given\n if (/[^0-9]/.test(String(value))) {\n return data?.findIndex((cur) => parseCurrentValue(cur) === value)\n }\n // 2. if \"selectedKey\" is given in data, we now handle it as a value, and not an index.\n else if (selectedKeyExists()) {\n return data?.findIndex(\n (cur) => String(parseCurrentValue(cur)) === String(value)\n )\n }\n // 3. if is numeric, handle it as a index.\n else if (!isNaN(parseFloat(value))) {\n return value\n }\n\n return null\n\n function selectedKeyExists() {\n for (let i = 0, l = data?.length; i < l; i++) {\n if (i > 10) {\n return false\n }\n if (\n typeof data[i]?.selectedKey !== 'undefined' ||\n data[i]?.type === 'object'\n ) {\n return true\n }\n }\n }\n}\n\nexport const getSelectedItemValue = (value, state) => {\n if (hasObjectKeyAsValue(state)) {\n return parseCurrentValue(\n state.data.filter((_, i) => i === parseFloat(value))[0]\n )\n }\n\n return value\n}\n\nexport const parseCurrentValue = (current) => {\n if (typeof current?.selectedKey !== 'undefined') {\n return current?.selectedKey\n }\n if (typeof current?.selected_key !== 'undefined') {\n return current?.selected_key\n }\n if (typeof current?.content !== 'undefined') {\n return current?.content\n }\n return current\n}\n\nexport const getEventData = (item_index, data) => {\n data = getCurrentData(item_index, data)\n\n // cleanup\n if (data && data.__id) {\n data = { ...data }\n delete data.__id\n delete data.__isTransformed\n }\n\n return data\n}\n\nexport const getCurrentData = (item_index, data) => {\n if (typeof data === 'function') {\n data = normalizeData(data)\n }\n\n data = (data && data.find(({ __id }) => __id == item_index)) || null\n\n if (data && data.__isTransformed) {\n data = parseCurrentValue(data)\n }\n\n return data\n}\n\nexport const prepareStartupState = (props) => {\n const selected_item = null\n const raw_data = preSelectData(\n props.raw_data || props.data || props.children\n )\n const data = getData(props)\n const opened = props.opened !== null ? isTrue(props.opened) : null\n\n const state = {\n opened,\n data,\n original_data: data, // used to reset in case we reorder data etc.\n raw_data, // to have a backup to look up what we got in the first place (array vs object)\n direction: props.direction,\n max_height: props.max_height,\n selected_item,\n active_item: selected_item,\n on_hide: props.on_hide,\n on_show: props.on_show,\n on_change: props.on_change,\n on_select: props.on_select,\n }\n\n if (\n props.value !== null &&\n typeof props.value !== 'undefined' &&\n props.value !== 'initval'\n ) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.value,\n data\n )\n } else if (props.default_value !== null) {\n state.selected_item = state.active_item = getCurrentIndex(\n props.default_value,\n data\n )\n state._value = props.value\n }\n\n return state\n}\n\nexport const prepareDerivedState = (props, state) => {\n if (state.opened && !state.data && typeof props.data === 'function') {\n state.data = getData(props)\n }\n\n if (props.data && props.data !== state._data) {\n if (state._data) {\n state.cache_hash = state.cache_hash + Date.now()\n }\n state.data = getData(props)\n state.original_data = getData(props)\n }\n\n state.usePortal =\n props.skip_portal !== null ? !isTrue(props.skip_portal) : true\n\n if (\n typeof props.wrapper_element === 'string' &&\n typeof document !== 'undefined'\n ) {\n const wrapper_element = document.querySelector(props.wrapper_element)\n if (wrapper_element) {\n state.wrapper_element = wrapper_element\n }\n } else if (props.wrapper_element) {\n state.wrapper_element = props.wrapper_element\n }\n\n if (\n state.selected_item !== props.value &&\n (state._value !== props.value || isTrue(props.prevent_selection))\n ) {\n if (props.value === 'initval') {\n state.selected_item = null\n } else {\n state.selected_item = getCurrentIndex(\n props.value,\n state.original_data\n )\n }\n\n if (typeof props.on_state_update === 'function') {\n dispatchCustomElementEvent({ props }, 'on_state_update', {\n selected_item: state.selected_item,\n value: getSelectedItemValue(state.selected_item, state),\n data: getEventData(state.selected_item, state.data),\n })\n }\n }\n\n // active_item can be -1, so we check for -2\n if (\n !(parseFloat(state.active_item) > -2) ||\n state._value !== props.value\n ) {\n state.active_item = state.selected_item\n }\n\n if (props.direction !== 'auto' && props.direction !== state.direction) {\n state.direction = props.direction\n }\n\n if (parseFloat(state.selected_item) > -1) {\n state.current_title = getCurrentDataTitle(\n state.selected_item,\n state.data\n )\n }\n\n state._data = props.data\n state._value = props.value\n\n return state\n}\n\nexport const getCurrentDataTitle = (selected_item, data) => {\n const currentData = getCurrentData(selected_item, data)\n return parseContentTitle(currentData, {\n separator: ' ',\n preferSelectedValue: true,\n })\n}\n\nexport const findClosest = (arr, val) =>\n Math.max.apply(\n null,\n arr.filter((v) => v <= val)\n )\n"],"mappings":";;;AAOA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SACEC,MAAM,EACNC,0BAA0B,EAC1BC,kBAAkB,QACb,+BAA+B;AACtC,SAASC,gBAAgB,QAAQ,sCAAsC;AAEvE,OAAO,MAAMC,mBAAmB,GAAAC,aAAA,CAAAA,aAAA;EAC9BC,EAAE,EAAEP,SAAS,CAACQ,MAAM;EACpBC,IAAI,EAAET,SAAS,CAACQ,MAAM;EACtBE,UAAU,EAAEV,SAAS,CAACQ,MAAM;EAC5BG,iBAAiB,EAAEX,SAAS,CAACQ,MAAM;EACnCI,UAAU,EAAEZ,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACnEC,SAAS,EAAEf,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EAClEE,SAAS,EAAEhB,SAAS,CAACiB,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EACrDC,IAAI,EAAElB,SAAS,CAACiB,KAAK,CAAC,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;EAC9DE,UAAU,EAAEnB,SAAS,CAACoB,MAAM;EAC5BC,YAAY,EAAErB,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACrEQ,mBAAmB,EAAEtB,SAAS,CAACa,SAAS,CAAC,CACvCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACc,IAAI,CACf,CAAC;EAEFS,iBAAiB,EAAEvB,SAAS,CAACa,SAAS,CAAC,CACrCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACc,IAAI,CACf,CAAC;EACFU,WAAW,EAAExB,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACpEW,QAAQ,EAAEzB,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACjEY,YAAY,EAAE1B,SAAS,CAACiB,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAChDU,cAAc,EAAE3B,SAAS,CAACa,SAAS,CAAC,CAClCb,SAAS,CAAC4B,MAAM,EAChB5B,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,IAAI,CACf,CAAC;EACFC,eAAe,EAAE/B,SAAS,CAACa,SAAS,CAAC,CACnCb,SAAS,CAAC4B,MAAM,EAChB5B,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,IAAI,CACf,CAAC;EACFE,aAAa,EAAEhC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACoB,MAAM,CAAC,CAAC;EACxEa,KAAK,EAAEjC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACoB,MAAM,CAAC,CAAC;EAChEc,WAAW,EAAElC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACpEqB,YAAY,EAAEnC,SAAS,CAACQ,MAAM;EAC9B4B,UAAU,EAAEpC,SAAS,CAACQ,MAAM;EAC5B6B,aAAa,EAAErC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACtEwB,iBAAiB,EAAEtC,SAAS,CAACa,SAAS,CAAC,CACrCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACc,IAAI,CACf,CAAC;EACFyB,cAAc,EAAEvC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACvE0B,SAAS,EAAExC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EAClE2B,aAAa,EAAEzC,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACtE4B,cAAc,EAAE1C,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EACvE6B,MAAM,EAAE3C,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC,CAAC;EAC/D8B,KAAK,EAAE5C,SAAS,CAACQ,MAAM;EACvBqC,IAAI,EAAE7C,SAAS,CAACa,SAAS,CAAC,CACxBb,SAAS,CAACa,SAAS,CAAC,CAClBb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC4B,MAAM,CACjB,CAAC,EACF5B,SAAS,CAAC8C,OAAO,CACf9C,SAAS,CAACa,SAAS,CAAC,CAClBb,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAAC8B,IAAI,CAAC,CAAC,EACvD9B,SAAS,CAAC+C,KAAK,CAAC;IACdC,WAAW,EAAEhD,SAAS,CAACa,SAAS,CAAC,CAC/Bb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACoB,MAAM,CACjB,CAAC;IACF6B,YAAY,EAAEjD,SAAS,CAACa,SAAS,CAAC,CAChCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAACoB,MAAM,CACjB,CAAC;IACF8B,cAAc,EAAElD,SAAS,CAACa,SAAS,CAAC,CAClCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC8B,IAAI,CACf,CAAC;IACFqB,YAAY,EAAEnD,SAAS,CAACa,SAAS,CAAC,CAChCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC8B,IAAI,CACf,CAAC;IACFsB,OAAO,EAAEpD,SAAS,CAACa,SAAS,CAAC,CAC3Bb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC8C,OAAO,CAAC9C,SAAS,CAACQ,MAAM,CAAC,CACpC;EACH,CAAC,CAAC,CACH,CACH,CAAC,CACF,CAAC;EACF6C,aAAa,EAAErD,SAAS,CAACsD,KAAK;EAC9BC,QAAQ,EAAEvD,SAAS,CAACa,SAAS,CAAC,CAC5Bb,SAAS,CAACsD,KAAK,EACftD,SAAS,CAAC4B,MAAM,EAChB5B,SAAS,CAAC6B,IAAI,CACf,CAAC;EACF2B,aAAa,EAAExD,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACc,IAAI,CAAC;AAAC,GAEnEV,gBAAgB;EAEnBqD,SAAS,EAAEzD,SAAS,CAACQ,MAAM;EAC3BkD,QAAQ,EAAE1D,SAAS,CAACa,SAAS,CAAC,CAC5Bb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC6B,IAAI,EACd7B,SAAS,CAAC8B,IAAI,EACd9B,SAAS,CAAC4B,MAAM,EAChB5B,SAAS,CAACsD,KAAK,CAChB,CAAC;EAEFK,OAAO,EAAE3D,SAAS,CAAC6B,IAAI;EACvB+B,OAAO,EAAE5D,SAAS,CAAC6B,IAAI;EACvBgC,oBAAoB,EAAE7D,SAAS,CAAC6B,IAAI;EACpCiC,SAAS,EAAE9D,SAAS,CAAC6B,IAAI;EACzBkC,aAAa,EAAE/D,SAAS,CAAC6B,IAAI;EAC7BmC,SAAS,EAAEhE,SAAS,CAAC6B,IAAI;EACzBoC,SAAS,EAAEjE,SAAS,CAAC6B,IAAI;EACzBqC,eAAe,EAAElE,SAAS,CAAC6B;AAAI,EAChC;AAED,OAAO,MAAMsC,sBAAsB,GAAG;EACpC5D,EAAE,EAAE,IAAI;EACRE,IAAI,EAAE,SAAS;EACfC,UAAU,EAAE,IAAI;EAChBC,iBAAiB,EAAE,MAAM;EACzBC,UAAU,EAAE,IAAI;EAChBG,SAAS,EAAE,KAAK;EAChBI,UAAU,EAAE,IAAI;EAChBH,SAAS,EAAE,MAAM;EACjBE,IAAI,EAAE,SAAS;EACfG,YAAY,EAAE,KAAK;EACnBC,mBAAmB,EAAE,KAAK;EAC1BC,iBAAiB,EAAE,KAAK;EACxBC,WAAW,EAAE,KAAK;EAClBC,QAAQ,EAAE,KAAK;EACfC,YAAY,EAAE,MAAM;EACpBK,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBC,KAAK,EAAE,SAAS;EAChBE,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAE,IAAI;EAChBF,WAAW,EAAE,IAAI;EACjBG,aAAa,EAAE,KAAK;EACpBG,SAAS,EAAE,KAAK;EAChBC,aAAa,EAAE,KAAK;EACpBF,cAAc,EAAE,KAAK;EACrBD,iBAAiB,EAAE,KAAK;EACxBI,cAAc,EAAE,KAAK;EACrBC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,IAAI;EACXC,IAAI,EAAE,IAAI;EACVQ,aAAa,EAAE,IAAI;EACnBE,QAAQ,EAAE,IAAI;EACdC,aAAa,EAAE,IAAI;EAEnBC,SAAS,EAAE,IAAI;EACfC,QAAQ,EAAE,IAAI;EAEdC,OAAO,EAAE,IAAI;EACbC,OAAO,EAAE,IAAI;EACbC,oBAAoB,EAAE,IAAI;EAC1BC,SAAS,EAAE,IAAI;EACfC,aAAa,EAAE,IAAI;EACnBC,SAAS,EAAE,IAAI;EACfC,SAAS,EAAE,IAAI;EACfC,eAAe,EAAE,IAAI;EACrBvC,cAAc,EAAE;AAClB,CAAC;AAED,OAAO,MAAMyC,2BAA2B,GAAG;EACzCC,gBAAgB,EAAErE,SAAS,CAACc,IAAI;EAChCwD,WAAW,EAAEtE,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACoB,MAAM,CAAC,CAAC;EACtEmD,gBAAgB,EAAEvE,SAAS,CAACa,SAAS,CAAC,CACpCb,SAAS,CAACQ,MAAM,EAChBR,SAAS,CAAC8B,IAAI,CACf,CAAC;EACF0C,UAAU,EAAExE,SAAS,CAACa,SAAS,CAAC,CAACb,SAAS,CAACQ,MAAM,EAAER,SAAS,CAACoB,MAAM,CAAC;AACtE,CAAC;AAED,OAAO,MAAMqD,8BAA8B,GAAG;EAC5CJ,gBAAgB,EAAE,KAAK;EACvBC,WAAW,EAAE,IAAI;EACjBC,gBAAgB,EAAE,IAAI;EACtBC,UAAU,EAAE;AACd,CAAC;AAED,OAAO,MAAME,iBAAiB,GAAG,SAAAA,CAC/BC,QAAQ,EAML;EAAA,IAAAC,SAAA;EAAA,IALH;IACEC,SAAS,GAAG,IAAI;IAChBC,uBAAuB,GAAG,KAAK;IAC/BC,mBAAmB,GAAG;EACxB,CAAC,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAEN,IAAIG,GAAG,GAAG,EAAE;EACZ,MAAMC,gBAAgB,GAAG,aAAa;EACtC,IAAIC,KAAK,CAACC,OAAO,CAACX,QAAQ,CAAC,IAAIA,QAAQ,CAACM,MAAM,GAAG,CAAC,EAAE;IAClDN,QAAQ,GAAG;MAAEvB,OAAO,EAAEuB;IAAS,CAAC;EAClC;EAEA,MAAMY,QAAQ,IAAAX,SAAA,GAAGD,QAAQ,cAAAC,SAAA,uBAARA,SAAA,CAAU1B,cAAc;EAEzC,IACE,EAAE6B,mBAAmB,IAAIQ,QAAQ,CAAC,IAClCZ,QAAQ,IACRU,KAAK,CAACC,OAAO,CAACX,QAAQ,CAACvB,OAAO,CAAC,EAC/B;IACA+B,GAAG,GAAGR,QAAQ,CAACvB,OAAO,CACnBoC,MAAM,CAAC,CAACC,GAAG,EAAEC,GAAG,KAAK;MAEpBA,GAAG,GAAGvF,kBAAkB,CAACuF,GAAG,EAAE,GAAG,CAAC;MAClC,IAAIA,GAAG,KAAK,KAAK,EAAE;QACjB,OAAOD,GAAG;MACZ;MAEA,MAAME,KAAK,GACTb,uBAAuB,IAAIY,GAAG,IAAIA,GAAG,CAACE,KAAK,CAACR,gBAAgB,CAAC;MAC/D,IAAI,EAAEO,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,CAACV,MAAM,KAAKS,GAAG,CAACT,MAAM,CAAC,EAAE;QAC9CQ,GAAG,CAACI,IAAI,CAACH,GAAG,CAAC;MACf;MACA,OAAOD,GAAG;IACZ,CAAC,EAAE,EAAE,CAAC,CACLK,IAAI,CAACjB,SAAS,CAAC;EACpB,CAAC,MAAM;IACLM,GAAG,GAAGhF,kBAAkB,CACrBwE,QAAQ,IAAIA,QAAQ,CAACvB,OAAO,IAAKuB,QAAQ,EAC1C,GACF,CAAC;EACH;EAEA,IAAIY,QAAQ,EAAE;IACZ,IAAIR,mBAAmB,EAAE;MACvBI,GAAG,GAAGY,MAAM,CACV5F,kBAAkB,CAACwE,QAAQ,CAACzB,cAAc,EAAE2B,SAAS,EAAGmB,IAAI,IAAK;QAAA,IAAAC,UAAA,EAAAC,qBAAA;QAC/D,MAAMC,cAAc,GAAG,CAACH,IAAI,CAACI,KAAK,CAAC1C,QAAQ,KAAIsC,IAAI,aAAJA,IAAI,wBAAAC,UAAA,GAAJD,IAAI,CAAEK,IAAI,cAAAJ,UAAA,uBAAVA,UAAA,CAAAK,IAAA,CAAAN,IAAa,CAAC;QAC7D,OAAOG,cAAc,aAAdA,cAAc,gBAAAD,qBAAA,GAAdC,cAAc,CAAEC,KAAK,cAAAF,qBAAA,eAArBA,qBAAA,CAAuBxC,QAAQ,GAAGyC,cAAc,GAAGH,IAAI;MAChE,CAAC,CACH,CAAC;IACH,CAAC,MAAM,IAAI,CAACZ,gBAAgB,CAACmB,IAAI,CAAC5B,QAAQ,CAACzB,cAAc,CAAC,EAAE;MAC1DiC,GAAG,GAAGY,MAAM,CAAC5F,kBAAkB,CAAC,CAAC,CAAC,GAAG0E,SAAS,GAAGM,GAAG;IACtD;EACF;EAGA,IAAIE,KAAK,CAACC,OAAO,CAACX,QAAQ,CAAC,IAAIA,QAAQ,CAACM,MAAM,KAAK,CAAC,EAAE;IACpDE,GAAG,GAAG,IAAI;EACZ;EAEA,IAAIA,GAAG,IAAIA,GAAG,CAACF,MAAM,KAAK,CAAC,IAAIE,GAAG,CAAC,CAAC,CAAC,CAAC3B,aAAa,EAAE;IACnD,OAAO,IAAI;EACb;EAEA,OAAO2B,GAAG;AACZ,CAAC;AAED,OAAO,MAAMqB,mBAAmB,GAAI3D,IAAI,IAAK;EAAA,IAAA4D,KAAA;EAC3C5D,IAAI,GAAG,EAAA4D,KAAA,GAAA5D,IAAI,cAAA4D,KAAA,uBAAJA,KAAA,CAAMlD,QAAQ,KAAIV,IAAI;EAC7B,OAAOA,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,CAACwC,KAAK,CAACC,OAAO,CAACzC,IAAI,CAAC;AACjE,CAAC;AAED,OAAO,MAAM6D,aAAa,GAAI7D,IAAI,IAAK;EACrC,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5BA,IAAI,GAAGA,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAIA,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG8D,IAAI,CAACC,KAAK,CAAC/D,IAAI,CAAC,GAAG,IAAI;EACrE,CAAC,MAAM,IAAIA,IAAI,IAAI9C,KAAK,CAAC8G,cAAc,CAAChE,IAAI,CAAC,EAAE;IAC7CA,IAAI,GAAG,EAAE;EACX,CAAC,MAAM,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IACrCA,IAAI,GAAGA,IAAI,CAAC,CAAC;EACf;EAEA,OAAOA,IAAI;AACb,CAAC;AAGD,OAAO,MAAMiE,aAAa,GAAIV,KAAK,IAAK;EACtC,IAAIvD,IAAI,GAAG6D,aAAa,CAACN,KAAK,CAACvD,IAAI,IAAIuD,KAAK,CAAC1C,QAAQ,IAAI0C,KAAK,CAAC;EAE/D,IAAIvD,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,CAACwC,KAAK,CAACC,OAAO,CAACzC,IAAI,CAAC,EAAE;IAC5D,MAAMkE,IAAI,GAAG,EAAE;IACf,KAAK,MAAMC,GAAG,IAAInE,IAAI,EAAE;MACtBkE,IAAI,CAAClB,IAAI,CAAC;QACR5C,YAAY,EAAE+D,GAAG;QACjB/E,KAAK,EAAE+E,GAAG;QACV5D,OAAO,EAAEP,IAAI,CAACmE,GAAG,CAAC;QAClBX,IAAI,EAAE;MACR,CAAC,CAAC;IACJ;IACAxD,IAAI,GAAGkE,IAAI;EACb;EAEA,OAAO,CAAClE,IAAI,IAAI,EAAE,EAAEoE,GAAG,CAAC,CAACC,IAAI,EAAEC,IAAI,KAAK;IAAA,IAAAC,KAAA;IACtC,IACE,OAAOF,IAAI,KAAK,QAAQ,IACxB,OAAOA,IAAI,KAAK,QAAQ,IACxB7B,KAAK,CAACC,OAAO,CAAC4B,IAAI,CAAC,IACnBnH,KAAK,CAAC8G,cAAc,CAACK,IAAI,CAAC,EAC1B;MACAA,IAAI,GAAG;QAAE9D,OAAO,EAAE8D,IAAI;QAAEG,eAAe,EAAE;MAAK,CAAC;IACjD;IAEA,OAAO,SAAAD,KAAA,GAAOF,IAAI,cAAAE,KAAA,uBAAJA,KAAA,CAAMD,IAAI,MAAK,WAAW,GAAGD,IAAI,GAAA5G,aAAA,CAAAA,aAAA,KAAQ4G,IAAI;MAAEC;IAAI,EAAE;EACrE,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAMG,OAAO,GAAIlB,KAAK,IAAK;EAChC,IAAIA,KAAK,CAAC/C,aAAa,IAAIgC,KAAK,CAACC,OAAO,CAACc,KAAK,CAAC/C,aAAa,CAAC,EAAE;IAC7D,OAAO+C,KAAK,CAAC/C,aAAa;EAC5B;EAEA,OAAOyD,aAAa,CAACV,KAAK,CAAC;AAC7B,CAAC;AAED,OAAO,MAAMmB,eAAe,GAAGA,CAACtF,KAAK,EAAEY,IAAI,KAAK;EAE9C,IAAI,QAAQ,CAAC0D,IAAI,CAACR,MAAM,CAAC9D,KAAK,CAAC,CAAC,EAAE;IAChC,OAAOY,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2E,SAAS,CAAE9B,GAAG,IAAK+B,iBAAiB,CAAC/B,GAAG,CAAC,KAAKzD,KAAK,CAAC;EACnE,CAAC,MAEI,IAAIyF,iBAAiB,CAAC,CAAC,EAAE;IAC5B,OAAO7E,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2E,SAAS,CACnB9B,GAAG,IAAKK,MAAM,CAAC0B,iBAAiB,CAAC/B,GAAG,CAAC,CAAC,KAAKK,MAAM,CAAC9D,KAAK,CAC1D,CAAC;EACH,CAAC,MAEI,IAAI,CAAC0F,KAAK,CAACC,UAAU,CAAC3F,KAAK,CAAC,CAAC,EAAE;IAClC,OAAOA,KAAK;EACd;EAEA,OAAO,IAAI;EAEX,SAASyF,iBAAiBA,CAAA,EAAG;IAC3B,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEC,CAAC,GAAGjF,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEoC,MAAM,EAAE4C,CAAC,GAAGC,CAAC,EAAED,CAAC,EAAE,EAAE;MAAA,IAAAE,OAAA,EAAAC,QAAA;MAC5C,IAAIH,CAAC,GAAG,EAAE,EAAE;QACV,OAAO,KAAK;MACd;MACA,IACE,SAAAE,OAAA,GAAOlF,IAAI,CAACgF,CAAC,CAAC,cAAAE,OAAA,uBAAPA,OAAA,CAAS/E,WAAW,MAAK,WAAW,IAC3C,EAAAgF,QAAA,GAAAnF,IAAI,CAACgF,CAAC,CAAC,cAAAG,QAAA,uBAAPA,QAAA,CAAS3B,IAAI,MAAK,QAAQ,EAC1B;QACA,OAAO,IAAI;MACb;IACF;EACF;AACF,CAAC;AAED,OAAO,MAAM4B,oBAAoB,GAAGA,CAAChG,KAAK,EAAEiG,KAAK,KAAK;EACpD,IAAI1B,mBAAmB,CAAC0B,KAAK,CAAC,EAAE;IAC9B,OAAOT,iBAAiB,CACtBS,KAAK,CAACrF,IAAI,CAACsF,MAAM,CAAC,CAACC,CAAC,EAAEP,CAAC,KAAKA,CAAC,KAAKD,UAAU,CAAC3F,KAAK,CAAC,CAAC,CAAC,CAAC,CACxD,CAAC;EACH;EAEA,OAAOA,KAAK;AACd,CAAC;AAED,OAAO,MAAMwF,iBAAiB,GAAIY,OAAO,IAAK;EAC5C,IAAI,QAAOA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAErF,WAAW,MAAK,WAAW,EAAE;IAC/C,OAAOqF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAErF,WAAW;EAC7B;EACA,IAAI,QAAOqF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpF,YAAY,MAAK,WAAW,EAAE;IAChD,OAAOoF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEpF,YAAY;EAC9B;EACA,IAAI,QAAOoF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjF,OAAO,MAAK,WAAW,EAAE;IAC3C,OAAOiF,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjF,OAAO;EACzB;EACA,OAAOiF,OAAO;AAChB,CAAC;AAED,OAAO,MAAMC,YAAY,GAAGA,CAACC,UAAU,EAAE1F,IAAI,KAAK;EAChDA,IAAI,GAAG2F,cAAc,CAACD,UAAU,EAAE1F,IAAI,CAAC;EAGvC,IAAIA,IAAI,IAAIA,IAAI,CAACsE,IAAI,EAAE;IACrBtE,IAAI,GAAAvC,aAAA,KAAQuC,IAAI,CAAE;IAClB,OAAOA,IAAI,CAACsE,IAAI;IAChB,OAAOtE,IAAI,CAACwE,eAAe;EAC7B;EAEA,OAAOxE,IAAI;AACb,CAAC;AAED,OAAO,MAAM2F,cAAc,GAAGA,CAACD,UAAU,EAAE1F,IAAI,KAAK;EAClD,IAAI,OAAOA,IAAI,KAAK,UAAU,EAAE;IAC9BA,IAAI,GAAGiE,aAAa,CAACjE,IAAI,CAAC;EAC5B;EAEAA,IAAI,GAAIA,IAAI,IAAIA,IAAI,CAAC4F,IAAI,CAACC,IAAA;IAAA,IAAC;MAAEvB;IAAK,CAAC,GAAAuB,IAAA;IAAA,OAAKvB,IAAI,IAAIoB,UAAU;EAAA,EAAC,IAAK,IAAI;EAEpE,IAAI1F,IAAI,IAAIA,IAAI,CAACwE,eAAe,EAAE;IAChCxE,IAAI,GAAG4E,iBAAiB,CAAC5E,IAAI,CAAC;EAChC;EAEA,OAAOA,IAAI;AACb,CAAC;AAED,OAAO,MAAM8F,mBAAmB,GAAIvC,KAAK,IAAK;EAC5C,MAAMwC,aAAa,GAAG,IAAI;EAC1B,MAAMrF,QAAQ,GAAGmD,aAAa,CAC5BN,KAAK,CAAC7C,QAAQ,IAAI6C,KAAK,CAACvD,IAAI,IAAIuD,KAAK,CAAC1C,QACxC,CAAC;EACD,MAAMb,IAAI,GAAGyE,OAAO,CAAClB,KAAK,CAAC;EAC3B,MAAMzD,MAAM,GAAGyD,KAAK,CAACzD,MAAM,KAAK,IAAI,GAAG1C,MAAM,CAACmG,KAAK,CAACzD,MAAM,CAAC,GAAG,IAAI;EAElE,MAAMuF,KAAK,GAAG;IACZvF,MAAM;IACNE,IAAI;IACJgG,aAAa,EAAEhG,IAAI;IACnBU,QAAQ;IACRvC,SAAS,EAAEoF,KAAK,CAACpF,SAAS;IAC1BG,UAAU,EAAEiF,KAAK,CAACjF,UAAU;IAC5ByH,aAAa;IACbE,WAAW,EAAEF,aAAa;IAC1BhF,OAAO,EAAEwC,KAAK,CAACxC,OAAO;IACtBD,OAAO,EAAEyC,KAAK,CAACzC,OAAO;IACtBG,SAAS,EAAEsC,KAAK,CAACtC,SAAS;IAC1BG,SAAS,EAAEmC,KAAK,CAACnC;EACnB,CAAC;EAED,IACEmC,KAAK,CAACnE,KAAK,KAAK,IAAI,IACpB,OAAOmE,KAAK,CAACnE,KAAK,KAAK,WAAW,IAClCmE,KAAK,CAACnE,KAAK,KAAK,SAAS,EACzB;IACAiG,KAAK,CAACU,aAAa,GAAGV,KAAK,CAACY,WAAW,GAAGvB,eAAe,CACvDnB,KAAK,CAACnE,KAAK,EACXY,IACF,CAAC;EACH,CAAC,MAAM,IAAIuD,KAAK,CAACpE,aAAa,KAAK,IAAI,EAAE;IACvCkG,KAAK,CAACU,aAAa,GAAGV,KAAK,CAACY,WAAW,GAAGvB,eAAe,CACvDnB,KAAK,CAACpE,aAAa,EACnBa,IACF,CAAC;IACDqF,KAAK,CAACa,MAAM,GAAG3C,KAAK,CAACnE,KAAK;EAC5B;EAEA,OAAOiG,KAAK;AACd,CAAC;AAED,OAAO,MAAMc,mBAAmB,GAAGA,CAAC5C,KAAK,EAAE8B,KAAK,KAAK;EACnD,IAAIA,KAAK,CAACvF,MAAM,IAAI,CAACuF,KAAK,CAACrF,IAAI,IAAI,OAAOuD,KAAK,CAACvD,IAAI,KAAK,UAAU,EAAE;IACnEqF,KAAK,CAACrF,IAAI,GAAGyE,OAAO,CAAClB,KAAK,CAAC;EAC7B;EAEA,IAAIA,KAAK,CAACvD,IAAI,IAAIuD,KAAK,CAACvD,IAAI,KAAKqF,KAAK,CAACzB,KAAK,EAAE;IAC5C,IAAIyB,KAAK,CAACzB,KAAK,EAAE;MACfyB,KAAK,CAACxH,UAAU,GAAGwH,KAAK,CAACxH,UAAU,GAAGuI,IAAI,CAACC,GAAG,CAAC,CAAC;IAClD;IACAhB,KAAK,CAACrF,IAAI,GAAGyE,OAAO,CAAClB,KAAK,CAAC;IAC3B8B,KAAK,CAACW,aAAa,GAAGvB,OAAO,CAAClB,KAAK,CAAC;EACtC;EAEA8B,KAAK,CAACiB,SAAS,GACb/C,KAAK,CAAClE,WAAW,KAAK,IAAI,GAAG,CAACjC,MAAM,CAACmG,KAAK,CAAClE,WAAW,CAAC,GAAG,IAAI;EAEhE,IACE,OAAOkE,KAAK,CAACrE,eAAe,KAAK,QAAQ,IACzC,OAAOqH,QAAQ,KAAK,WAAW,EAC/B;IACA,MAAMrH,eAAe,GAAGqH,QAAQ,CAACC,aAAa,CAACjD,KAAK,CAACrE,eAAe,CAAC;IACrE,IAAIA,eAAe,EAAE;MACnBmG,KAAK,CAACnG,eAAe,GAAGA,eAAe;IACzC;EACF,CAAC,MAAM,IAAIqE,KAAK,CAACrE,eAAe,EAAE;IAChCmG,KAAK,CAACnG,eAAe,GAAGqE,KAAK,CAACrE,eAAe;EAC/C;EAEA,IACEmG,KAAK,CAACU,aAAa,KAAKxC,KAAK,CAACnE,KAAK,KAClCiG,KAAK,CAACa,MAAM,KAAK3C,KAAK,CAACnE,KAAK,IAAIhC,MAAM,CAACmG,KAAK,CAAC7E,iBAAiB,CAAC,CAAC,EACjE;IACA,IAAI6E,KAAK,CAACnE,KAAK,KAAK,SAAS,EAAE;MAC7BiG,KAAK,CAACU,aAAa,GAAG,IAAI;IAC5B,CAAC,MAAM;MACLV,KAAK,CAACU,aAAa,GAAGrB,eAAe,CACnCnB,KAAK,CAACnE,KAAK,EACXiG,KAAK,CAACW,aACR,CAAC;IACH;IAEA,IAAI,OAAOzC,KAAK,CAAClC,eAAe,KAAK,UAAU,EAAE;MAC/ChE,0BAA0B,CAAC;QAAEkG;MAAM,CAAC,EAAE,iBAAiB,EAAE;QACvDwC,aAAa,EAAEV,KAAK,CAACU,aAAa;QAClC3G,KAAK,EAAEgG,oBAAoB,CAACC,KAAK,CAACU,aAAa,EAAEV,KAAK,CAAC;QACvDrF,IAAI,EAAEyF,YAAY,CAACJ,KAAK,CAACU,aAAa,EAAEV,KAAK,CAACrF,IAAI;MACpD,CAAC,CAAC;IACJ;EACF;EAGA,IACE,EAAE+E,UAAU,CAACM,KAAK,CAACY,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IACrCZ,KAAK,CAACa,MAAM,KAAK3C,KAAK,CAACnE,KAAK,EAC5B;IACAiG,KAAK,CAACY,WAAW,GAAGZ,KAAK,CAACU,aAAa;EACzC;EAEA,IAAIxC,KAAK,CAACpF,SAAS,KAAK,MAAM,IAAIoF,KAAK,CAACpF,SAAS,KAAKkH,KAAK,CAAClH,SAAS,EAAE;IACrEkH,KAAK,CAAClH,SAAS,GAAGoF,KAAK,CAACpF,SAAS;EACnC;EAEA,IAAI4G,UAAU,CAACM,KAAK,CAACU,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE;IACxCV,KAAK,CAACoB,aAAa,GAAGC,mBAAmB,CACvCrB,KAAK,CAACU,aAAa,EACnBV,KAAK,CAACrF,IACR,CAAC;EACH;EAEAqF,KAAK,CAACzB,KAAK,GAAGL,KAAK,CAACvD,IAAI;EACxBqF,KAAK,CAACa,MAAM,GAAG3C,KAAK,CAACnE,KAAK;EAE1B,OAAOiG,KAAK;AACd,CAAC;AAED,OAAO,MAAMqB,mBAAmB,GAAGA,CAACX,aAAa,EAAE/F,IAAI,KAAK;EAC1D,MAAM2G,WAAW,GAAGhB,cAAc,CAACI,aAAa,EAAE/F,IAAI,CAAC;EACvD,OAAO6B,iBAAiB,CAAC8E,WAAW,EAAE;IACpC3E,SAAS,EAAE,GAAG;IACdE,mBAAmB,EAAE;EACvB,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,MAAM0E,WAAW,GAAGA,CAACC,GAAG,EAAEC,GAAG,KAClCC,IAAI,CAACC,GAAG,CAACC,KAAK,CACZ,IAAI,EACJJ,GAAG,CAACvB,MAAM,CAAE4B,CAAC,IAAKA,CAAC,IAAIJ,GAAG,CAC5B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dnb/eufemia",
3
- "version": "10.31.0",
3
+ "version": "10.33.0",
4
4
  "description": "DNB Eufemia Design System UI Library",
5
5
  "license": "SEE LICENSE IN LICENSE FILE",
6
6
  "author": "DNB Team & Tobias Høegh",
@@ -131,11 +131,11 @@ export type ContextProps = ContextComponents & {
131
131
  /**
132
132
  * Overwrite existing internal translation strings or define new strings via the Provider
133
133
  */
134
- translations?: Locales | TranslationCustomLocales;
134
+ translations?: Translations | TranslationCustomLocales;
135
135
  /**
136
136
  * @deprecated Use `translations` instead
137
137
  */
138
- locales?: Locales | TranslationCustomLocales;
138
+ locales?: Translations | TranslationCustomLocales;
139
139
  __context__?: Record<string, unknown>;
140
140
  updateTranslation?: (locale: InternalLocale, translation: Translation) => void;
141
141
  getTranslation?: (props: GetTranslationProps) => Translation;
@@ -149,7 +149,7 @@ export type AnyLocale = string;
149
149
  export type InternalLocale = Locale | AnyLocale;
150
150
  export type ComponentTranslationsName = keyof ContextComponents | string;
151
151
  export type ComponentTranslation = string;
152
- export type Locales = Partial<Record<InternalLocale, Translation | TranslationFlat>> | Partial<Record<InternalLocale, FormsTranslation>>;
152
+ export type Translations = Partial<Record<InternalLocale, Translation | TranslationFlat>> | Partial<Record<InternalLocale, FormsTranslation>>;
153
153
  export type TranslationDefaultLocales = typeof defaultLocales;
154
154
  export type TranslationLocale = keyof TranslationDefaultLocales;
155
155
  export type TranslationKeys = keyof TranslationDefaultLocales[TranslationLocale];
package/shared/Context.js CHANGED
@@ -7,15 +7,15 @@ import defaultLocales from './locales';
7
7
  import { extend } from './component-helper';
8
8
  export function prepareContext() {
9
9
  let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
10
- const locales = props.translations || props.locales ? extend(defaultLocales, props.translations || props.locales) : defaultLocales;
10
+ const translations = props.translations || props.locales ? extend(defaultLocales, props.translations || props.locales) : defaultLocales;
11
11
  if (props.__context__) {
12
12
  Object.assign(props, props.__context__);
13
13
  delete props.__context__;
14
14
  }
15
- const key = handleLocaleFallbacks(props.locale || LOCALE, locales);
16
- const translation = locales[key] || defaultLocales[LOCALE] || {};
17
- if (locales[key]) {
18
- locales[key] = destruct(locales[key], translation);
15
+ const key = handleLocaleFallbacks(props.locale || LOCALE, translations);
16
+ const translation = translations[key] || defaultLocales[LOCALE] || {};
17
+ if (translations[key]) {
18
+ translations[key] = destruct(translations[key], translation);
19
19
  }
20
20
  const context = _objectSpread(_objectSpread({
21
21
  updateTranslation: (locale, translation) => {
@@ -30,7 +30,7 @@ export function prepareContext() {
30
30
  }
31
31
  return context.translation;
32
32
  },
33
- locales,
33
+ translations,
34
34
  locale: null,
35
35
  breakpoints: null,
36
36
  skeleton: null
@@ -39,8 +39,8 @@ export function prepareContext() {
39
39
  });
40
40
  return context;
41
41
  }
42
- function handleLocaleFallbacks(locale, locales) {
43
- if (!locales[locale]) {
42
+ function handleLocaleFallbacks(locale, translations) {
43
+ if (!translations[locale]) {
44
44
  if (locale === 'en' || locale.split('-')[0] === 'en') {
45
45
  return 'en-GB';
46
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Context.js","names":["React","LOCALE","CURRENCY","CURRENCY_DISPLAY","defaultLocales","extend","prepareContext","props","arguments","length","undefined","locales","translations","__context__","Object","assign","key","handleLocaleFallbacks","locale","translation","destruct","context","_objectSpread","updateTranslation","getTranslation","lang","breakpoints","skeleton","split","Context","createContext","currency","currency_display","source","validKeys","k","String","includes","list","val","last","forEach","i"],"sources":["../../../src/shared/Context.tsx"],"sourcesContent":["/**\n * Web Context Context\n *\n */\n\nimport React from 'react'\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from './defaults'\nimport defaultLocales from './locales'\nimport { extend } from './component-helper'\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'\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\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 * Provide your own translations. Use the same format as defined in the translation files\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?: Locales | TranslationCustomLocales\n\n /**\n * @deprecated Use `translations` instead\n */\n locales?: Locales | 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 Locales =\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] & {\n Forms?: Record<string, unknown>\n }\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 function prepareContext<Props>(\n props: ContextProps = {}\n): Props & ContextProps {\n const locales: Locales =\n props.translations || props.locales\n ? extend(defaultLocales, props.translations || props.locales)\n : defaultLocales\n\n if (props.__context__) {\n Object.assign(props, props.__context__)\n delete props.__context__\n }\n\n const key = handleLocaleFallbacks(props.locale || LOCALE, locales)\n const translation = locales[key] || defaultLocales[LOCALE] || {} // here we could use Object.freeze\n\n /**\n * The code above adds support for strings, defined like:\n * {\n * \"Modal.close_title\": \"Lukk\",\n * }\n */\n if (locales[key]) {\n locales[key] = destruct(locales[key] as TranslationFlat, translation)\n }\n\n const context = {\n // We may use that in future\n updateTranslation: (locale, translation) => {\n context.translation = (context.translations || context.locales)[\n locale\n ] = translation\n },\n getTranslation: (props) => {\n if (props) {\n const lang = props.lang || props.locale\n if (\n lang &&\n (context.translations || context.locales)[lang] &&\n lang !== key\n ) {\n return (context.translations || context.locales)[lang]\n }\n }\n return context.translation\n },\n\n locales,\n locale: null,\n breakpoints: null,\n skeleton: null,\n\n ...props,\n\n /**\n * Make sure we set this after props, since we update this one!\n */\n translation,\n } as Props & ContextProps\n\n return context\n}\n\nfunction handleLocaleFallbacks(\n locale: InternalLocale | AnyLocale,\n locales: Locales\n) {\n if (!locales[locale]) {\n if (locale === 'en' || locale.split('-')[0] === 'en') {\n return 'en-GB'\n }\n }\n return locale\n}\n\n// If no provider is given, we use the default context from here\nconst Context = React.createContext<ContextProps>(\n prepareContext({\n locale: LOCALE,\n currency: CURRENCY,\n currency_display: CURRENCY_DISPLAY,\n })\n)\n\nexport default Context\n\nfunction destruct(\n source: TranslationFlat,\n validKeys: Record<string, unknown>\n): TranslationFlat {\n for (const k in source) {\n if (String(k).includes('.')) {\n const list = k.split('.')\n\n if (validKeys[list[0]]) {\n const val = source[k]\n const last = list.length - 1\n\n list.forEach((k, i) => {\n source[k] = i === last ? val : source[k]\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n source = source[k] || {}\n })\n }\n }\n }\n\n return source\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Context.js","names":["React","LOCALE","CURRENCY","CURRENCY_DISPLAY","defaultLocales","extend","prepareContext","props","arguments","length","undefined","translations","locales","__context__","Object","assign","key","handleLocaleFallbacks","locale","translation","destruct","context","_objectSpread","updateTranslation","getTranslation","lang","breakpoints","skeleton","split","Context","createContext","currency","currency_display","source","validKeys","k","String","includes","list","val","last","forEach","i"],"sources":["../../../src/shared/Context.tsx"],"sourcesContent":["/**\n * Web Context Context\n *\n */\n\nimport React from 'react'\nimport { LOCALE, CURRENCY, CURRENCY_DISPLAY } from './defaults'\nimport defaultLocales from './locales'\nimport { extend } from './component-helper'\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'\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\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 * Provide your own translations. Use the same format as defined in the translation files\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] & {\n Forms?: Record<string, unknown>\n }\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 function prepareContext<Props>(\n props: ContextProps = {}\n): Props & ContextProps {\n const translations: Translations =\n props.translations || props.locales\n ? extend(defaultLocales, props.translations || props.locales)\n : defaultLocales\n\n if (props.__context__) {\n Object.assign(props, props.__context__)\n delete props.__context__\n }\n\n const key = handleLocaleFallbacks(props.locale || LOCALE, translations)\n const translation = translations[key] || defaultLocales[LOCALE] || {} // here we could use Object.freeze\n\n /**\n * The code above adds support for strings, defined like:\n * {\n * \"Modal.close_title\": \"Lukk\",\n * }\n */\n if (translations[key]) {\n translations[key] = destruct(\n translations[key] as TranslationFlat,\n translation\n )\n }\n\n const context = {\n // We may use that in future\n updateTranslation: (locale, translation) => {\n context.translation = (context.translations || context.locales)[\n locale\n ] = translation\n },\n getTranslation: (props) => {\n if (props) {\n const lang = props.lang || props.locale\n if (\n lang &&\n (context.translations || context.locales)[lang] &&\n lang !== key\n ) {\n return (context.translations || context.locales)[lang]\n }\n }\n return context.translation\n },\n\n translations,\n locale: null,\n breakpoints: null,\n skeleton: null,\n\n ...props,\n\n /**\n * Make sure we set this after props, since we update this one!\n */\n translation,\n } as Props & ContextProps\n\n return context\n}\n\nfunction handleLocaleFallbacks(\n locale: InternalLocale | AnyLocale,\n translations: Translations\n) {\n if (!translations[locale]) {\n if (locale === 'en' || locale.split('-')[0] === 'en') {\n return 'en-GB'\n }\n }\n return locale\n}\n\n// If no provider is given, we use the default context from here\nconst Context = React.createContext<ContextProps>(\n prepareContext({\n locale: LOCALE,\n currency: CURRENCY,\n currency_display: CURRENCY_DISPLAY,\n })\n)\n\nexport default Context\n\nfunction destruct(\n source: TranslationFlat,\n validKeys: Record<string, unknown>\n): TranslationFlat {\n for (const k in source) {\n if (String(k).includes('.')) {\n const list = k.split('.')\n\n if (validKeys[list[0]]) {\n const val = source[k]\n const last = list.length - 1\n\n list.forEach((k, i) => {\n source[k] = i === last ? val : source[k]\n\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n source = source[k] || {}\n })\n }\n }\n }\n\n return source\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const version = "10.31.0";
1
+ export declare const version = "10.33.0";
2
2
  export declare function init(): void;
package/shared/Eufemia.js CHANGED
@@ -1,9 +1,9 @@
1
- export const version = '10.31.0';
1
+ export const version = '10.33.0';
2
2
  export function init() {
3
3
  if (typeof window !== 'undefined') {
4
4
  class Eufemia {
5
5
  get version() {
6
- return '10.31.0';
6
+ return '10.33.0';
7
7
  }
8
8
  }
9
9
  window.Eufemia = new Eufemia();
@@ -1 +1 @@
1
- {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.31.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.31.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,SAAS;AAEhC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}
1
+ {"version":3,"file":"Eufemia.js","names":["version","init","window","Eufemia"],"sources":["../../../src/shared/Eufemia.ts"],"sourcesContent":["export const version = '10.33.0'\n\nexport function init() {\n if (typeof window !== 'undefined') {\n class Eufemia {\n get version() {\n return '10.33.0'\n }\n }\n\n window.Eufemia = new Eufemia()\n }\n}\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG,SAAS;AAEhC,OAAO,SAASC,IAAIA,CAAA,EAAG;EACrB,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE;IACjC,MAAMC,OAAO,CAAC;MACZ,IAAIH,OAAOA,CAAA,EAAG;QACZ,OAAO,SAAS;MAClB;IACF;IAEAE,MAAM,CAACC,OAAO,GAAG,IAAIA,OAAO,CAAC,CAAC;EAChC;AACF"}