@dnb/eufemia 10.55.0 → 10.56.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 (939) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/cjs/components/accordion/Accordion.d.ts +2 -2
  3. package/cjs/components/accordion/Accordion.js.map +1 -1
  4. package/cjs/components/accordion/AccordionDocs.js +1 -1
  5. package/cjs/components/accordion/AccordionDocs.js.map +1 -1
  6. package/cjs/components/anchor/style/anchor-mixins.scss +3 -3
  7. package/cjs/components/anchor/style/dnb-anchor.css +6 -6
  8. package/cjs/components/anchor/style/dnb-anchor.min.css +1 -1
  9. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
  10. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  11. package/cjs/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
  12. package/cjs/components/button/style/themes/button-mixins.scss +2 -0
  13. package/cjs/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
  14. package/cjs/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
  15. package/cjs/components/button/style/themes/dnb-button-theme-ui.css +4 -0
  16. package/cjs/components/card/style/dnb-card.css +15 -0
  17. package/cjs/components/card/style/dnb-card.min.css +1 -1
  18. package/cjs/components/card/style/dnb-card.scss +17 -0
  19. package/cjs/components/card/style/themes/dnb-card-theme-ui.css +2 -1
  20. package/cjs/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  21. package/cjs/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
  22. package/cjs/components/date-picker/DatePicker.d.ts +248 -65
  23. package/cjs/components/date-picker/DatePicker.js +125 -135
  24. package/cjs/components/date-picker/DatePicker.js.map +1 -1
  25. package/cjs/components/date-picker/DatePickerAddon.js.map +1 -1
  26. package/cjs/components/date-picker/DatePickerCalc.d.ts +2 -2
  27. package/cjs/components/date-picker/DatePickerCalc.js +6 -6
  28. package/cjs/components/date-picker/DatePickerCalc.js.map +1 -1
  29. package/cjs/components/date-picker/DatePickerCalendar.d.ts +1 -1
  30. package/cjs/components/date-picker/DatePickerCalendar.js +9 -9
  31. package/cjs/components/date-picker/DatePickerCalendar.js.map +1 -1
  32. package/cjs/components/date-picker/DatePickerContext.d.ts +2 -2
  33. package/cjs/components/date-picker/DatePickerContext.js.map +1 -1
  34. package/cjs/components/date-picker/DatePickerDocs.d.ts +3 -0
  35. package/cjs/components/date-picker/DatePickerDocs.js +284 -0
  36. package/cjs/components/date-picker/DatePickerDocs.js.map +1 -0
  37. package/cjs/components/date-picker/DatePickerFooter.js +18 -18
  38. package/cjs/components/date-picker/DatePickerFooter.js.map +1 -1
  39. package/cjs/components/date-picker/DatePickerInput.d.ts +3 -3
  40. package/cjs/components/date-picker/DatePickerInput.js +18 -18
  41. package/cjs/components/date-picker/DatePickerInput.js.map +1 -1
  42. package/cjs/components/date-picker/DatePickerProvider.d.ts +2 -2
  43. package/cjs/components/date-picker/DatePickerProvider.js +25 -25
  44. package/cjs/components/date-picker/DatePickerProvider.js.map +1 -1
  45. package/cjs/components/date-picker/hooks/useDates.js +8 -8
  46. package/cjs/components/date-picker/hooks/useDates.js.map +1 -1
  47. package/cjs/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
  48. package/cjs/components/form-label/FormLabel.js +26 -3
  49. package/cjs/components/form-label/FormLabel.js.map +1 -1
  50. package/cjs/components/help-button/HelpButtonInline.d.ts +37 -0
  51. package/cjs/components/help-button/HelpButtonInline.js +184 -0
  52. package/cjs/components/help-button/HelpButtonInline.js.map +1 -0
  53. package/cjs/components/help-button/style/dnb-help-button-inline.css +98 -0
  54. package/cjs/components/help-button/style/dnb-help-button-inline.min.css +1 -0
  55. package/cjs/components/help-button/style/dnb-help-button-inline.scss +128 -0
  56. package/cjs/components/help-button/style/dnb-help-button.css +104 -1
  57. package/cjs/components/help-button/style/dnb-help-button.min.css +1 -1
  58. package/cjs/components/help-button/style/dnb-help-button.scss +3 -2
  59. package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
  60. package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
  61. package/cjs/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
  62. package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
  63. package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
  64. package/cjs/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
  65. package/cjs/components/list-format/ListFormat.d.ts +6 -4
  66. package/cjs/components/list-format/ListFormat.js +16 -9
  67. package/cjs/components/list-format/ListFormat.js.map +1 -1
  68. package/cjs/components/list-format/ListFormatDocs.js +18 -4
  69. package/cjs/components/list-format/ListFormatDocs.js.map +1 -1
  70. package/cjs/components/modal/ModalContent.js +4 -2
  71. package/cjs/components/modal/ModalContent.js.map +1 -1
  72. package/cjs/components/table/style/dnb-table.css +8 -0
  73. package/cjs/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
  74. package/cjs/components/tabs/style/dnb-tabs.css +2 -0
  75. package/cjs/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
  76. package/cjs/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
  77. package/cjs/components/tag/style/dnb-tag.css +2 -0
  78. package/cjs/components/textarea/Textarea.js +1 -1
  79. package/cjs/components/textarea/Textarea.js.map +1 -1
  80. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  81. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  82. package/cjs/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
  83. package/cjs/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
  84. package/cjs/components/upload/style/dnb-upload.css +3 -2
  85. package/cjs/components/upload/style/dnb-upload.min.css +1 -1
  86. package/cjs/components/upload/style/dnb-upload.scss +3 -2
  87. package/cjs/elements/ElementDocs.d.ts +1 -0
  88. package/cjs/elements/ElementDocs.js +20 -12
  89. package/cjs/elements/ElementDocs.js.map +1 -1
  90. package/cjs/elements/lib.d.ts +4 -7
  91. package/cjs/elements/lists/Dl.d.ts +1 -1
  92. package/cjs/elements/lists/Dl.js.map +1 -1
  93. package/cjs/elements/lists/DlDocs.js +1 -1
  94. package/cjs/elements/lists/DlDocs.js.map +1 -1
  95. package/cjs/elements/lists/Li.d.ts +1 -1
  96. package/cjs/elements/lists/Li.js +4 -4
  97. package/cjs/elements/lists/Li.js.map +1 -1
  98. package/cjs/elements/lists/Ol.d.ts +2 -2
  99. package/cjs/elements/lists/Ol.js +3 -3
  100. package/cjs/elements/lists/Ol.js.map +1 -1
  101. package/cjs/elements/lists/OlDocs.js +1 -1
  102. package/cjs/elements/lists/OlDocs.js.map +1 -1
  103. package/cjs/elements/lists/Ul.d.ts +2 -2
  104. package/cjs/elements/lists/Ul.js +3 -3
  105. package/cjs/elements/lists/Ul.js.map +1 -1
  106. package/cjs/elements/lists/UlDocs.js +1 -1
  107. package/cjs/elements/lists/UlDocs.js.map +1 -1
  108. package/cjs/elements/typography/P.d.ts +9 -5
  109. package/cjs/elements/typography/P.js +24 -13
  110. package/cjs/elements/typography/P.js.map +1 -1
  111. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  112. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
  113. package/cjs/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  114. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
  115. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  116. package/cjs/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  117. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
  118. package/cjs/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  119. package/cjs/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  120. package/cjs/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  121. package/cjs/extensions/forms/Field/Composition/Composition.d.ts +1 -1
  122. package/cjs/extensions/forms/Field/Composition/Composition.js.map +1 -1
  123. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js +16 -9
  124. package/cjs/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  125. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
  126. package/cjs/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  127. package/cjs/extensions/forms/Field/Date/Date.d.ts +17 -4
  128. package/cjs/extensions/forms/Field/Date/Date.js +62 -34
  129. package/cjs/extensions/forms/Field/Date/Date.js.map +1 -1
  130. package/cjs/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
  131. package/cjs/extensions/forms/Field/Date/DateDocs.js +52 -13
  132. package/cjs/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  133. package/cjs/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
  134. package/cjs/extensions/forms/Field/Expiry/Expiry.js +2 -7
  135. package/cjs/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  136. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
  137. package/cjs/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  138. package/cjs/extensions/forms/Field/Number/Number.d.ts +2 -2
  139. package/cjs/extensions/forms/Field/Number/Number.js +2 -9
  140. package/cjs/extensions/forms/Field/Number/Number.js.map +1 -1
  141. package/cjs/extensions/forms/Field/Number/NumberDocs.js +0 -5
  142. package/cjs/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  143. package/cjs/extensions/forms/Field/Number/style/dnb-number.css +5 -0
  144. package/cjs/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  145. package/cjs/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
  146. package/cjs/extensions/forms/Field/Option/Option.d.ts +2 -2
  147. package/cjs/extensions/forms/Field/Option/Option.js.map +1 -1
  148. package/cjs/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
  149. package/cjs/extensions/forms/Field/Option/OptionDocs.js +32 -0
  150. package/cjs/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
  151. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
  152. package/cjs/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  153. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  154. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
  155. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  156. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
  157. package/cjs/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  158. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
  159. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -3
  160. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  161. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
  162. package/cjs/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  163. package/cjs/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -1
  164. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  165. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js +0 -4
  166. package/cjs/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  167. package/cjs/extensions/forms/Field/Selection/Selection.d.ts +2 -4
  168. package/cjs/extensions/forms/Field/Selection/Selection.js +14 -19
  169. package/cjs/extensions/forms/Field/Selection/Selection.js.map +1 -1
  170. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
  171. package/cjs/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  172. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
  173. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  174. package/cjs/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
  175. package/cjs/extensions/forms/Field/Slider/Slider.d.ts +2 -2
  176. package/cjs/extensions/forms/Field/Slider/Slider.js +0 -5
  177. package/cjs/extensions/forms/Field/Slider/Slider.js.map +1 -1
  178. package/cjs/extensions/forms/Field/String/String.d.ts +2 -2
  179. package/cjs/extensions/forms/Field/String/String.js +0 -4
  180. package/cjs/extensions/forms/Field/String/String.js.map +1 -1
  181. package/cjs/extensions/forms/Field/String/StringDocs.js +0 -5
  182. package/cjs/extensions/forms/Field/String/StringDocs.js.map +1 -1
  183. package/cjs/extensions/forms/Field/String/style/dnb-string.css +11 -0
  184. package/cjs/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
  185. package/cjs/extensions/forms/Field/String/style/dnb-string.scss +17 -0
  186. package/cjs/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  187. package/cjs/extensions/forms/Field/Toggle/Toggle.js +1 -14
  188. package/cjs/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  189. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
  190. package/cjs/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  191. package/cjs/extensions/forms/Field/Upload/Upload.d.ts +5 -3
  192. package/cjs/extensions/forms/Field/Upload/Upload.js +57 -28
  193. package/cjs/extensions/forms/Field/Upload/Upload.js.map +1 -1
  194. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
  195. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
  196. package/cjs/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
  197. package/cjs/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  198. package/cjs/extensions/forms/FieldBlock/FieldBlock.js +35 -28
  199. package/cjs/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  200. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  201. package/cjs/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  202. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.css +66 -36
  203. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  204. package/cjs/extensions/forms/FieldBlock/style/dnb-field-block.scss +100 -54
  205. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
  206. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
  207. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
  208. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
  209. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
  210. package/cjs/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
  211. package/cjs/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
  212. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js +19 -4
  213. package/cjs/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  214. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
  215. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  216. package/cjs/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
  217. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  218. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  219. package/cjs/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
  220. package/cjs/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
  221. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js +19 -4
  222. package/cjs/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  223. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
  224. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  225. package/cjs/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
  226. package/cjs/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  227. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +20 -7
  228. package/cjs/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  229. package/cjs/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
  230. package/cjs/extensions/forms/Value/SummaryList/SummaryList.d.ts +3 -1
  231. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js +11 -1
  232. package/cjs/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  233. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +1 -0
  234. package/cjs/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -1
  235. package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +14 -0
  236. package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.js +47 -0
  237. package/cjs/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -0
  238. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
  239. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
  240. package/cjs/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
  241. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
  242. package/cjs/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  243. package/cjs/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  244. package/cjs/extensions/forms/hooks/useFieldProps.js +12 -1
  245. package/cjs/extensions/forms/hooks/useFieldProps.js.map +1 -1
  246. package/cjs/extensions/forms/hooks/useValueProps.js +5 -0
  247. package/cjs/extensions/forms/hooks/useValueProps.js.map +1 -1
  248. package/cjs/extensions/forms/style/dnb-forms.css +105 -47
  249. package/cjs/extensions/forms/style/dnb-forms.min.css +1 -1
  250. package/cjs/extensions/forms/types.d.ts +1 -7
  251. package/cjs/extensions/forms/types.js.map +1 -1
  252. package/cjs/shared/Context.d.ts +2 -2
  253. package/cjs/shared/Context.js.map +1 -1
  254. package/cjs/shared/Eufemia.d.ts +1 -1
  255. package/cjs/shared/Eufemia.js +2 -2
  256. package/cjs/shared/Eufemia.js.map +1 -1
  257. package/cjs/shared/component-helper.js.map +1 -1
  258. package/cjs/shared/locales/en-GB.d.ts +16 -16
  259. package/cjs/shared/locales/en-GB.js +16 -16
  260. package/cjs/shared/locales/en-GB.js.map +1 -1
  261. package/cjs/shared/locales/en-US.d.ts +17 -17
  262. package/cjs/shared/locales/en-US.js +3 -3
  263. package/cjs/shared/locales/en-US.js.map +1 -1
  264. package/cjs/shared/locales/index.d.ts +34 -32
  265. package/cjs/shared/locales/index.js.map +1 -1
  266. package/cjs/shared/locales/nb-NO.d.ts +16 -16
  267. package/cjs/shared/locales/nb-NO.js +16 -16
  268. package/cjs/shared/locales/nb-NO.js.map +1 -1
  269. package/cjs/style/core/scopes.scss +1 -1
  270. package/cjs/style/dnb-ui-basis.css +1 -1
  271. package/cjs/style/dnb-ui-basis.min.css +1 -1
  272. package/cjs/style/dnb-ui-body.css +1 -1
  273. package/cjs/style/dnb-ui-body.min.css +1 -1
  274. package/cjs/style/dnb-ui-components.css +344 -56
  275. package/cjs/style/dnb-ui-components.min.css +3 -3
  276. package/cjs/style/dnb-ui-components.scss +1 -0
  277. package/cjs/style/dnb-ui-core.css +1 -1
  278. package/cjs/style/dnb-ui-core.min.css +1 -1
  279. package/cjs/style/dnb-ui-extensions.css +105 -47
  280. package/cjs/style/dnb-ui-extensions.min.css +1 -1
  281. package/cjs/style/dnb-ui-forms.css +105 -47
  282. package/cjs/style/dnb-ui-forms.min.css +1 -1
  283. package/cjs/style/dnb-ui-forms.scss +2 -0
  284. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.css +467 -108
  285. package/cjs/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
  286. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -49
  287. package/cjs/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  288. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -49
  289. package/cjs/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  290. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.css +480 -120
  291. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  292. package/cjs/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  293. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.css +106 -48
  294. package/cjs/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  295. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.css +106 -48
  296. package/cjs/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  297. package/cjs/style/themes/theme-ui/ui-theme-components.css +467 -108
  298. package/cjs/style/themes/theme-ui/ui-theme-components.min.css +7 -7
  299. package/cjs/style/themes/theme-ui/ui-theme-extensions.css +107 -49
  300. package/cjs/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  301. package/cjs/style/themes/theme-ui/ui-theme-forms.css +107 -49
  302. package/cjs/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  303. package/cjs/style/themes/theme-ui/ui-theme-tags.css +3 -3
  304. package/cjs/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  305. package/components/accordion/Accordion.d.ts +2 -2
  306. package/components/accordion/Accordion.js.map +1 -1
  307. package/components/accordion/AccordionDocs.js +1 -1
  308. package/components/accordion/AccordionDocs.js.map +1 -1
  309. package/components/anchor/style/anchor-mixins.scss +3 -3
  310. package/components/anchor/style/dnb-anchor.css +6 -6
  311. package/components/anchor/style/dnb-anchor.min.css +1 -1
  312. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
  313. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  314. package/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
  315. package/components/button/style/themes/button-mixins.scss +2 -0
  316. package/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
  317. package/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
  318. package/components/button/style/themes/dnb-button-theme-ui.css +4 -0
  319. package/components/card/style/dnb-card.css +15 -0
  320. package/components/card/style/dnb-card.min.css +1 -1
  321. package/components/card/style/dnb-card.scss +17 -0
  322. package/components/card/style/themes/dnb-card-theme-ui.css +2 -1
  323. package/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  324. package/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
  325. package/components/date-picker/DatePicker.d.ts +248 -65
  326. package/components/date-picker/DatePicker.js +126 -136
  327. package/components/date-picker/DatePicker.js.map +1 -1
  328. package/components/date-picker/DatePickerAddon.js.map +1 -1
  329. package/components/date-picker/DatePickerCalc.d.ts +2 -2
  330. package/components/date-picker/DatePickerCalc.js +6 -6
  331. package/components/date-picker/DatePickerCalc.js.map +1 -1
  332. package/components/date-picker/DatePickerCalendar.d.ts +1 -1
  333. package/components/date-picker/DatePickerCalendar.js +9 -9
  334. package/components/date-picker/DatePickerCalendar.js.map +1 -1
  335. package/components/date-picker/DatePickerContext.d.ts +2 -2
  336. package/components/date-picker/DatePickerContext.js.map +1 -1
  337. package/components/date-picker/DatePickerDocs.d.ts +3 -0
  338. package/components/date-picker/DatePickerDocs.js +276 -0
  339. package/components/date-picker/DatePickerDocs.js.map +1 -0
  340. package/components/date-picker/DatePickerFooter.js +18 -18
  341. package/components/date-picker/DatePickerFooter.js.map +1 -1
  342. package/components/date-picker/DatePickerInput.d.ts +3 -3
  343. package/components/date-picker/DatePickerInput.js +18 -18
  344. package/components/date-picker/DatePickerInput.js.map +1 -1
  345. package/components/date-picker/DatePickerProvider.d.ts +2 -2
  346. package/components/date-picker/DatePickerProvider.js +25 -25
  347. package/components/date-picker/DatePickerProvider.js.map +1 -1
  348. package/components/date-picker/hooks/useDates.js +8 -8
  349. package/components/date-picker/hooks/useDates.js.map +1 -1
  350. package/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
  351. package/components/form-label/FormLabel.js +26 -3
  352. package/components/form-label/FormLabel.js.map +1 -1
  353. package/components/help-button/HelpButtonInline.d.ts +37 -0
  354. package/components/help-button/HelpButtonInline.js +174 -0
  355. package/components/help-button/HelpButtonInline.js.map +1 -0
  356. package/components/help-button/style/dnb-help-button-inline.css +98 -0
  357. package/components/help-button/style/dnb-help-button-inline.min.css +1 -0
  358. package/components/help-button/style/dnb-help-button-inline.scss +128 -0
  359. package/components/help-button/style/dnb-help-button.css +104 -1
  360. package/components/help-button/style/dnb-help-button.min.css +1 -1
  361. package/components/help-button/style/dnb-help-button.scss +3 -2
  362. package/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
  363. package/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
  364. package/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
  365. package/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
  366. package/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
  367. package/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
  368. package/components/list-format/ListFormat.d.ts +6 -4
  369. package/components/list-format/ListFormat.js +15 -9
  370. package/components/list-format/ListFormat.js.map +1 -1
  371. package/components/list-format/ListFormatDocs.js +15 -4
  372. package/components/list-format/ListFormatDocs.js.map +1 -1
  373. package/components/modal/ModalContent.js +4 -2
  374. package/components/modal/ModalContent.js.map +1 -1
  375. package/components/table/style/dnb-table.css +8 -0
  376. package/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
  377. package/components/tabs/style/dnb-tabs.css +2 -0
  378. package/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
  379. package/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
  380. package/components/tag/style/dnb-tag.css +2 -0
  381. package/components/textarea/Textarea.js +1 -1
  382. package/components/textarea/Textarea.js.map +1 -1
  383. package/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  384. package/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  385. package/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
  386. package/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
  387. package/components/upload/style/dnb-upload.css +3 -2
  388. package/components/upload/style/dnb-upload.min.css +1 -1
  389. package/components/upload/style/dnb-upload.scss +3 -2
  390. package/elements/ElementDocs.d.ts +1 -0
  391. package/elements/ElementDocs.js +16 -11
  392. package/elements/ElementDocs.js.map +1 -1
  393. package/elements/lib.d.ts +4 -7
  394. package/elements/lists/Dl.d.ts +1 -1
  395. package/elements/lists/Dl.js.map +1 -1
  396. package/elements/lists/DlDocs.js +2 -2
  397. package/elements/lists/DlDocs.js.map +1 -1
  398. package/elements/lists/Li.d.ts +1 -1
  399. package/elements/lists/Li.js +4 -4
  400. package/elements/lists/Li.js.map +1 -1
  401. package/elements/lists/Ol.d.ts +2 -2
  402. package/elements/lists/Ol.js +3 -3
  403. package/elements/lists/Ol.js.map +1 -1
  404. package/elements/lists/OlDocs.js +2 -2
  405. package/elements/lists/OlDocs.js.map +1 -1
  406. package/elements/lists/Ul.d.ts +2 -2
  407. package/elements/lists/Ul.js +3 -3
  408. package/elements/lists/Ul.js.map +1 -1
  409. package/elements/lists/UlDocs.js +2 -2
  410. package/elements/lists/UlDocs.js.map +1 -1
  411. package/elements/typography/P.d.ts +9 -5
  412. package/elements/typography/P.js +21 -12
  413. package/elements/typography/P.js.map +1 -1
  414. package/es/components/accordion/Accordion.d.ts +2 -2
  415. package/es/components/accordion/Accordion.js.map +1 -1
  416. package/es/components/accordion/AccordionDocs.js +1 -1
  417. package/es/components/accordion/AccordionDocs.js.map +1 -1
  418. package/es/components/anchor/style/anchor-mixins.scss +3 -3
  419. package/es/components/anchor/style/dnb-anchor.css +6 -6
  420. package/es/components/anchor/style/dnb-anchor.min.css +1 -1
  421. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.css +12 -12
  422. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.min.css +1 -1
  423. package/es/components/anchor/style/themes/dnb-anchor-theme-sbanken.scss +3 -3
  424. package/es/components/button/style/themes/button-mixins.scss +2 -0
  425. package/es/components/button/style/themes/dnb-button-theme-eiendom.css +4 -0
  426. package/es/components/button/style/themes/dnb-button-theme-sbanken.css +4 -0
  427. package/es/components/button/style/themes/dnb-button-theme-ui.css +4 -0
  428. package/es/components/card/style/dnb-card.css +15 -0
  429. package/es/components/card/style/dnb-card.min.css +1 -1
  430. package/es/components/card/style/dnb-card.scss +17 -0
  431. package/es/components/card/style/themes/dnb-card-theme-ui.css +2 -1
  432. package/es/components/card/style/themes/dnb-card-theme-ui.min.css +1 -1
  433. package/es/components/card/style/themes/dnb-card-theme-ui.scss +3 -1
  434. package/es/components/date-picker/DatePicker.d.ts +248 -65
  435. package/es/components/date-picker/DatePicker.js +126 -136
  436. package/es/components/date-picker/DatePicker.js.map +1 -1
  437. package/es/components/date-picker/DatePickerAddon.js.map +1 -1
  438. package/es/components/date-picker/DatePickerCalc.d.ts +2 -2
  439. package/es/components/date-picker/DatePickerCalc.js +6 -6
  440. package/es/components/date-picker/DatePickerCalc.js.map +1 -1
  441. package/es/components/date-picker/DatePickerCalendar.d.ts +1 -1
  442. package/es/components/date-picker/DatePickerCalendar.js +9 -9
  443. package/es/components/date-picker/DatePickerCalendar.js.map +1 -1
  444. package/es/components/date-picker/DatePickerContext.d.ts +2 -2
  445. package/es/components/date-picker/DatePickerContext.js.map +1 -1
  446. package/es/components/date-picker/DatePickerDocs.d.ts +3 -0
  447. package/es/components/date-picker/DatePickerDocs.js +276 -0
  448. package/es/components/date-picker/DatePickerDocs.js.map +1 -0
  449. package/es/components/date-picker/DatePickerFooter.js +18 -18
  450. package/es/components/date-picker/DatePickerFooter.js.map +1 -1
  451. package/es/components/date-picker/DatePickerInput.d.ts +3 -3
  452. package/es/components/date-picker/DatePickerInput.js +18 -18
  453. package/es/components/date-picker/DatePickerInput.js.map +1 -1
  454. package/es/components/date-picker/DatePickerProvider.d.ts +2 -2
  455. package/es/components/date-picker/DatePickerProvider.js +25 -25
  456. package/es/components/date-picker/DatePickerProvider.js.map +1 -1
  457. package/es/components/date-picker/hooks/useDates.js +8 -8
  458. package/es/components/date-picker/hooks/useDates.js.map +1 -1
  459. package/es/components/dropdown/style/themes/dnb-dropdown-theme-sbanken.css +2 -0
  460. package/es/components/form-label/FormLabel.js +26 -3
  461. package/es/components/form-label/FormLabel.js.map +1 -1
  462. package/es/components/help-button/HelpButtonInline.d.ts +37 -0
  463. package/es/components/help-button/HelpButtonInline.js +173 -0
  464. package/es/components/help-button/HelpButtonInline.js.map +1 -0
  465. package/es/components/help-button/style/dnb-help-button-inline.css +98 -0
  466. package/es/components/help-button/style/dnb-help-button-inline.min.css +1 -0
  467. package/es/components/help-button/style/dnb-help-button-inline.scss +128 -0
  468. package/es/components/help-button/style/dnb-help-button.css +104 -1
  469. package/es/components/help-button/style/dnb-help-button.min.css +1 -1
  470. package/es/components/help-button/style/dnb-help-button.scss +3 -2
  471. package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.css +7 -0
  472. package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.min.css +1 -0
  473. package/es/components/help-button/style/themes/dnb-help-button-theme-sbanken.scss +10 -0
  474. package/es/components/help-button/style/themes/dnb-help-button-theme-ui.css +5 -2
  475. package/es/components/help-button/style/themes/dnb-help-button-theme-ui.min.css +1 -0
  476. package/es/components/help-button/style/themes/dnb-help-button-theme-ui.scss +7 -1
  477. package/es/components/list-format/ListFormat.d.ts +6 -4
  478. package/es/components/list-format/ListFormat.js +15 -9
  479. package/es/components/list-format/ListFormat.js.map +1 -1
  480. package/es/components/list-format/ListFormatDocs.js +15 -4
  481. package/es/components/list-format/ListFormatDocs.js.map +1 -1
  482. package/es/components/modal/ModalContent.js +4 -2
  483. package/es/components/modal/ModalContent.js.map +1 -1
  484. package/es/components/table/style/dnb-table.css +8 -0
  485. package/es/components/table/style/themes/dnb-table-theme-sbanken.css +2 -0
  486. package/es/components/tabs/style/dnb-tabs.css +2 -0
  487. package/es/components/tabs/style/themes/dnb-tabs-theme-eiendom.css +2 -0
  488. package/es/components/tabs/style/themes/dnb-tabs-theme-ui.css +2 -0
  489. package/es/components/tag/style/dnb-tag.css +2 -0
  490. package/es/components/textarea/Textarea.js +1 -1
  491. package/es/components/textarea/Textarea.js.map +1 -1
  492. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.css +1 -1
  493. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.min.css +1 -1
  494. package/es/components/textarea/style/themes/dnb-textarea-theme-ui.scss +2 -1
  495. package/es/components/timeline/style/themes/dnb-timeline-theme-ui.css +2 -0
  496. package/es/components/upload/style/dnb-upload.css +3 -2
  497. package/es/components/upload/style/dnb-upload.min.css +1 -1
  498. package/es/components/upload/style/dnb-upload.scss +3 -2
  499. package/es/elements/ElementDocs.d.ts +1 -0
  500. package/es/elements/ElementDocs.js +16 -11
  501. package/es/elements/ElementDocs.js.map +1 -1
  502. package/es/elements/lib.d.ts +4 -7
  503. package/es/elements/lists/Dl.d.ts +1 -1
  504. package/es/elements/lists/Dl.js.map +1 -1
  505. package/es/elements/lists/DlDocs.js +2 -2
  506. package/es/elements/lists/DlDocs.js.map +1 -1
  507. package/es/elements/lists/Li.d.ts +1 -1
  508. package/es/elements/lists/Li.js +4 -4
  509. package/es/elements/lists/Li.js.map +1 -1
  510. package/es/elements/lists/Ol.d.ts +2 -2
  511. package/es/elements/lists/Ol.js +3 -3
  512. package/es/elements/lists/Ol.js.map +1 -1
  513. package/es/elements/lists/OlDocs.js +2 -2
  514. package/es/elements/lists/OlDocs.js.map +1 -1
  515. package/es/elements/lists/Ul.d.ts +2 -2
  516. package/es/elements/lists/Ul.js +3 -3
  517. package/es/elements/lists/Ul.js.map +1 -1
  518. package/es/elements/lists/UlDocs.js +2 -2
  519. package/es/elements/lists/UlDocs.js.map +1 -1
  520. package/es/elements/typography/P.d.ts +9 -5
  521. package/es/elements/typography/P.js +21 -12
  522. package/es/elements/typography/P.js.map +1 -1
  523. package/es/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  524. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
  525. package/es/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  526. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
  527. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  528. package/es/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  529. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
  530. package/es/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  531. package/es/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  532. package/es/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  533. package/es/extensions/forms/Field/Composition/Composition.d.ts +1 -1
  534. package/es/extensions/forms/Field/Composition/Composition.js.map +1 -1
  535. package/es/extensions/forms/Field/Composition/CompositionDocs.js +16 -7
  536. package/es/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  537. package/es/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
  538. package/es/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  539. package/es/extensions/forms/Field/Date/Date.d.ts +17 -4
  540. package/es/extensions/forms/Field/Date/Date.js +62 -35
  541. package/es/extensions/forms/Field/Date/Date.js.map +1 -1
  542. package/es/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
  543. package/es/extensions/forms/Field/Date/DateDocs.js +47 -12
  544. package/es/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  545. package/es/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
  546. package/es/extensions/forms/Field/Expiry/Expiry.js +2 -7
  547. package/es/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  548. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
  549. package/es/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  550. package/es/extensions/forms/Field/Number/Number.d.ts +2 -2
  551. package/es/extensions/forms/Field/Number/Number.js +3 -10
  552. package/es/extensions/forms/Field/Number/Number.js.map +1 -1
  553. package/es/extensions/forms/Field/Number/NumberDocs.js +0 -5
  554. package/es/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  555. package/es/extensions/forms/Field/Number/style/dnb-number.css +5 -0
  556. package/es/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  557. package/es/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
  558. package/es/extensions/forms/Field/Option/Option.d.ts +2 -2
  559. package/es/extensions/forms/Field/Option/Option.js.map +1 -1
  560. package/es/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
  561. package/es/extensions/forms/Field/Option/OptionDocs.js +25 -0
  562. package/es/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
  563. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
  564. package/es/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  565. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  566. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
  567. package/es/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  568. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
  569. package/es/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  570. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
  571. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -3
  572. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  573. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
  574. package/es/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  575. package/es/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -1
  576. package/es/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  577. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -5
  578. package/es/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  579. package/es/extensions/forms/Field/Selection/Selection.d.ts +2 -4
  580. package/es/extensions/forms/Field/Selection/Selection.js +16 -20
  581. package/es/extensions/forms/Field/Selection/Selection.js.map +1 -1
  582. package/es/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
  583. package/es/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  584. package/es/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
  585. package/es/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  586. package/es/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
  587. package/es/extensions/forms/Field/Slider/Slider.d.ts +2 -2
  588. package/es/extensions/forms/Field/Slider/Slider.js +0 -5
  589. package/es/extensions/forms/Field/Slider/Slider.js.map +1 -1
  590. package/es/extensions/forms/Field/String/String.d.ts +2 -2
  591. package/es/extensions/forms/Field/String/String.js +1 -5
  592. package/es/extensions/forms/Field/String/String.js.map +1 -1
  593. package/es/extensions/forms/Field/String/StringDocs.js +0 -5
  594. package/es/extensions/forms/Field/String/StringDocs.js.map +1 -1
  595. package/es/extensions/forms/Field/String/style/dnb-string.css +11 -0
  596. package/es/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
  597. package/es/extensions/forms/Field/String/style/dnb-string.scss +17 -0
  598. package/es/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  599. package/es/extensions/forms/Field/Toggle/Toggle.js +2 -15
  600. package/es/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  601. package/es/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
  602. package/es/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  603. package/es/extensions/forms/Field/Upload/Upload.d.ts +5 -3
  604. package/es/extensions/forms/Field/Upload/Upload.js +56 -27
  605. package/es/extensions/forms/Field/Upload/Upload.js.map +1 -1
  606. package/es/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
  607. package/es/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
  608. package/es/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
  609. package/es/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  610. package/es/extensions/forms/FieldBlock/FieldBlock.js +36 -28
  611. package/es/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  612. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  613. package/es/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  614. package/es/extensions/forms/FieldBlock/style/dnb-field-block.css +66 -36
  615. package/es/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  616. package/es/extensions/forms/FieldBlock/style/dnb-field-block.scss +100 -54
  617. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
  618. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
  619. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
  620. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
  621. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
  622. package/es/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
  623. package/es/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
  624. package/es/extensions/forms/Form/MainHeading/MainHeading.js +17 -4
  625. package/es/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  626. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
  627. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  628. package/es/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
  629. package/es/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  630. package/es/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  631. package/es/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
  632. package/es/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
  633. package/es/extensions/forms/Form/SubHeading/SubHeading.js +17 -4
  634. package/es/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  635. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
  636. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  637. package/es/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
  638. package/es/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  639. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +21 -8
  640. package/es/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  641. package/es/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
  642. package/es/extensions/forms/Value/SummaryList/SummaryList.d.ts +3 -1
  643. package/es/extensions/forms/Value/SummaryList/SummaryList.js +11 -1
  644. package/es/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  645. package/es/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +1 -0
  646. package/es/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -1
  647. package/es/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +14 -0
  648. package/es/extensions/forms/Value/SummaryList/useVerifyChildren.js +38 -0
  649. package/es/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -0
  650. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
  651. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
  652. package/es/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
  653. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
  654. package/es/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  655. package/es/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  656. package/es/extensions/forms/hooks/useFieldProps.js +11 -1
  657. package/es/extensions/forms/hooks/useFieldProps.js.map +1 -1
  658. package/es/extensions/forms/hooks/useValueProps.js +5 -0
  659. package/es/extensions/forms/hooks/useValueProps.js.map +1 -1
  660. package/es/extensions/forms/style/dnb-forms.css +105 -47
  661. package/es/extensions/forms/style/dnb-forms.min.css +1 -1
  662. package/es/extensions/forms/types.d.ts +1 -7
  663. package/es/extensions/forms/types.js.map +1 -1
  664. package/es/shared/Context.d.ts +2 -2
  665. package/es/shared/Context.js.map +1 -1
  666. package/es/shared/Eufemia.d.ts +1 -1
  667. package/es/shared/Eufemia.js +2 -2
  668. package/es/shared/Eufemia.js.map +1 -1
  669. package/es/shared/component-helper.js.map +1 -1
  670. package/es/shared/locales/en-GB.d.ts +16 -16
  671. package/es/shared/locales/en-GB.js +16 -16
  672. package/es/shared/locales/en-GB.js.map +1 -1
  673. package/es/shared/locales/en-US.d.ts +17 -17
  674. package/es/shared/locales/en-US.js +3 -3
  675. package/es/shared/locales/en-US.js.map +1 -1
  676. package/es/shared/locales/index.d.ts +34 -32
  677. package/es/shared/locales/index.js.map +1 -1
  678. package/es/shared/locales/nb-NO.d.ts +16 -16
  679. package/es/shared/locales/nb-NO.js +16 -16
  680. package/es/shared/locales/nb-NO.js.map +1 -1
  681. package/es/style/core/scopes.scss +1 -1
  682. package/es/style/dnb-ui-basis.css +1 -1
  683. package/es/style/dnb-ui-basis.min.css +1 -1
  684. package/es/style/dnb-ui-body.css +1 -1
  685. package/es/style/dnb-ui-body.min.css +1 -1
  686. package/es/style/dnb-ui-components.css +344 -56
  687. package/es/style/dnb-ui-components.min.css +3 -3
  688. package/es/style/dnb-ui-components.scss +1 -0
  689. package/es/style/dnb-ui-core.css +1 -1
  690. package/es/style/dnb-ui-core.min.css +1 -1
  691. package/es/style/dnb-ui-extensions.css +105 -47
  692. package/es/style/dnb-ui-extensions.min.css +1 -1
  693. package/es/style/dnb-ui-forms.css +105 -47
  694. package/es/style/dnb-ui-forms.min.css +1 -1
  695. package/es/style/dnb-ui-forms.scss +2 -0
  696. package/es/style/themes/theme-eiendom/eiendom-theme-components.css +467 -108
  697. package/es/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
  698. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -49
  699. package/es/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  700. package/es/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -49
  701. package/es/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  702. package/es/style/themes/theme-sbanken/sbanken-theme-components.css +480 -120
  703. package/es/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  704. package/es/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  705. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.css +106 -48
  706. package/es/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  707. package/es/style/themes/theme-sbanken/sbanken-theme-forms.css +106 -48
  708. package/es/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  709. package/es/style/themes/theme-ui/ui-theme-components.css +467 -108
  710. package/es/style/themes/theme-ui/ui-theme-components.min.css +7 -7
  711. package/es/style/themes/theme-ui/ui-theme-extensions.css +107 -49
  712. package/es/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  713. package/es/style/themes/theme-ui/ui-theme-forms.css +107 -49
  714. package/es/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  715. package/es/style/themes/theme-ui/ui-theme-tags.css +3 -3
  716. package/es/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  717. package/esm/dnb-ui-basis.min.mjs +1 -1
  718. package/esm/dnb-ui-components.min.mjs +1 -1
  719. package/esm/dnb-ui-elements.min.mjs +1 -1
  720. package/esm/dnb-ui-extensions.min.mjs +2 -2
  721. package/esm/dnb-ui-lib.min.mjs +1 -1
  722. package/extensions/forms/Field/ArraySelection/ArraySelection.d.ts +2 -2
  723. package/extensions/forms/Field/ArraySelection/ArraySelection.js +11 -20
  724. package/extensions/forms/Field/ArraySelection/ArraySelection.js.map +1 -1
  725. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.css +4 -4
  726. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.min.css +1 -1
  727. package/extensions/forms/Field/ArraySelection/style/dnb-array-selection.scss +4 -4
  728. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js +0 -5
  729. package/extensions/forms/Field/BankAccountNumber/BankAccountNumberDocs.js.map +1 -1
  730. package/extensions/forms/Field/Boolean/Boolean.d.ts +2 -2
  731. package/extensions/forms/Field/Boolean/Boolean.js.map +1 -1
  732. package/extensions/forms/Field/Composition/Composition.d.ts +1 -1
  733. package/extensions/forms/Field/Composition/Composition.js.map +1 -1
  734. package/extensions/forms/Field/Composition/CompositionDocs.js +16 -7
  735. package/extensions/forms/Field/Composition/CompositionDocs.js.map +1 -1
  736. package/extensions/forms/Field/Currency/CurrencyDocs.js +0 -5
  737. package/extensions/forms/Field/Currency/CurrencyDocs.js.map +1 -1
  738. package/extensions/forms/Field/Date/Date.d.ts +17 -4
  739. package/extensions/forms/Field/Date/Date.js +62 -35
  740. package/extensions/forms/Field/Date/Date.js.map +1 -1
  741. package/extensions/forms/Field/Date/DateDocs.d.ts +8 -0
  742. package/extensions/forms/Field/Date/DateDocs.js +47 -12
  743. package/extensions/forms/Field/Date/DateDocs.js.map +1 -1
  744. package/extensions/forms/Field/Expiry/Expiry.d.ts +2 -2
  745. package/extensions/forms/Field/Expiry/Expiry.js +2 -7
  746. package/extensions/forms/Field/Expiry/Expiry.js.map +1 -1
  747. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js +0 -5
  748. package/extensions/forms/Field/NationalIdentityNumber/NationalIdentityNumberDocs.js.map +1 -1
  749. package/extensions/forms/Field/Number/Number.d.ts +2 -2
  750. package/extensions/forms/Field/Number/Number.js +3 -10
  751. package/extensions/forms/Field/Number/Number.js.map +1 -1
  752. package/extensions/forms/Field/Number/NumberDocs.js +0 -5
  753. package/extensions/forms/Field/Number/NumberDocs.js.map +1 -1
  754. package/extensions/forms/Field/Number/style/dnb-number.css +5 -0
  755. package/extensions/forms/Field/Number/style/dnb-number.min.css +1 -1
  756. package/extensions/forms/Field/Number/style/dnb-number.scss +7 -0
  757. package/extensions/forms/Field/Option/Option.d.ts +2 -2
  758. package/extensions/forms/Field/Option/Option.js.map +1 -1
  759. package/extensions/forms/Field/Option/OptionDocs.d.ts +2 -0
  760. package/extensions/forms/Field/Option/OptionDocs.js +25 -0
  761. package/extensions/forms/Field/Option/OptionDocs.js.map +1 -0
  762. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js +0 -5
  763. package/extensions/forms/Field/OrganizationNumber/OrganizationNumberDocs.js.map +1 -1
  764. package/extensions/forms/Field/PhoneNumber/PhoneNumber.d.ts +2 -2
  765. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js +5 -2
  766. package/extensions/forms/Field/PhoneNumber/PhoneNumber.js.map +1 -1
  767. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js +0 -5
  768. package/extensions/forms/Field/PhoneNumber/PhoneNumberDocs.js.map +1 -1
  769. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.d.ts +4 -2
  770. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js +4 -3
  771. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCity.js.map +1 -1
  772. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js +2 -5
  773. package/extensions/forms/Field/PostalCodeAndCity/PostalCodeAndCityDocs.js.map +1 -1
  774. package/extensions/forms/Field/Provider/useFieldProvider.d.ts +2 -1
  775. package/extensions/forms/Field/SelectCountry/SelectCountry.d.ts +2 -2
  776. package/extensions/forms/Field/SelectCountry/SelectCountry.js +1 -5
  777. package/extensions/forms/Field/SelectCountry/SelectCountry.js.map +1 -1
  778. package/extensions/forms/Field/Selection/Selection.d.ts +2 -4
  779. package/extensions/forms/Field/Selection/Selection.js +16 -20
  780. package/extensions/forms/Field/Selection/Selection.js.map +1 -1
  781. package/extensions/forms/Field/Selection/SelectionDocs.js +1 -6
  782. package/extensions/forms/Field/Selection/SelectionDocs.js.map +1 -1
  783. package/extensions/forms/Field/Selection/style/dnb-selection.css +3 -0
  784. package/extensions/forms/Field/Selection/style/dnb-selection.min.css +1 -1
  785. package/extensions/forms/Field/Selection/style/dnb-selection.scss +5 -0
  786. package/extensions/forms/Field/Slider/Slider.d.ts +2 -2
  787. package/extensions/forms/Field/Slider/Slider.js +0 -5
  788. package/extensions/forms/Field/Slider/Slider.js.map +1 -1
  789. package/extensions/forms/Field/String/String.d.ts +2 -2
  790. package/extensions/forms/Field/String/String.js +1 -5
  791. package/extensions/forms/Field/String/String.js.map +1 -1
  792. package/extensions/forms/Field/String/StringDocs.js +0 -5
  793. package/extensions/forms/Field/String/StringDocs.js.map +1 -1
  794. package/extensions/forms/Field/String/style/dnb-string.css +11 -0
  795. package/extensions/forms/Field/String/style/dnb-string.min.css +1 -0
  796. package/extensions/forms/Field/String/style/dnb-string.scss +17 -0
  797. package/extensions/forms/Field/Toggle/Toggle.d.ts +2 -2
  798. package/extensions/forms/Field/Toggle/Toggle.js +2 -15
  799. package/extensions/forms/Field/Toggle/Toggle.js.map +1 -1
  800. package/extensions/forms/Field/Toggle/ToggleDocs.js +0 -5
  801. package/extensions/forms/Field/Toggle/ToggleDocs.js.map +1 -1
  802. package/extensions/forms/Field/Upload/Upload.d.ts +5 -3
  803. package/extensions/forms/Field/Upload/Upload.js +57 -28
  804. package/extensions/forms/Field/Upload/Upload.js.map +1 -1
  805. package/extensions/forms/Field/Upload/style/dnb-upload.css +4 -0
  806. package/extensions/forms/Field/Upload/style/dnb-upload.min.css +1 -0
  807. package/extensions/forms/Field/Upload/style/dnb-upload.scss +8 -0
  808. package/extensions/forms/FieldBlock/FieldBlock.d.ts +5 -0
  809. package/extensions/forms/FieldBlock/FieldBlock.js +36 -29
  810. package/extensions/forms/FieldBlock/FieldBlock.js.map +1 -1
  811. package/extensions/forms/FieldBlock/FieldBlockDocs.js +5 -0
  812. package/extensions/forms/FieldBlock/FieldBlockDocs.js.map +1 -1
  813. package/extensions/forms/FieldBlock/style/dnb-field-block.css +66 -36
  814. package/extensions/forms/FieldBlock/style/dnb-field-block.min.css +1 -1
  815. package/extensions/forms/FieldBlock/style/dnb-field-block.scss +100 -54
  816. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.css +1 -1
  817. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.min.css +1 -1
  818. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-sbanken.scss +1 -1
  819. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.css +1 -1
  820. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.min.css +1 -1
  821. package/extensions/forms/FieldBlock/style/themes/dnb-field-block-theme-ui.scss +1 -1
  822. package/extensions/forms/Form/MainHeading/MainHeading.d.ts +2 -0
  823. package/extensions/forms/Form/MainHeading/MainHeading.js +17 -4
  824. package/extensions/forms/Form/MainHeading/MainHeading.js.map +1 -1
  825. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.css +3 -7
  826. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.min.css +1 -1
  827. package/extensions/forms/Form/MainHeading/style/dnb-form-main-heading.scss +4 -10
  828. package/extensions/forms/Form/Section/style/dnb-form-section.css +3 -0
  829. package/extensions/forms/Form/Section/style/dnb-form-section.min.css +1 -1
  830. package/extensions/forms/Form/Section/style/dnb-form-section.scss +3 -0
  831. package/extensions/forms/Form/SubHeading/SubHeading.d.ts +2 -0
  832. package/extensions/forms/Form/SubHeading/SubHeading.js +17 -4
  833. package/extensions/forms/Form/SubHeading/SubHeading.js.map +1 -1
  834. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.css +4 -0
  835. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.min.css +1 -1
  836. package/extensions/forms/Form/SubHeading/style/dnb-form-sub-heading.scss +6 -0
  837. package/extensions/forms/Form/SubmitButton/SubmitButton.js.map +1 -1
  838. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js +21 -8
  839. package/extensions/forms/Form/SubmitIndicator/SubmitIndicator.js.map +1 -1
  840. package/extensions/forms/Form/SubmitIndicator/style/dnb-form-submit-indicator.scss +0 -6
  841. package/extensions/forms/Value/SummaryList/SummaryList.d.ts +3 -1
  842. package/extensions/forms/Value/SummaryList/SummaryList.js +11 -1
  843. package/extensions/forms/Value/SummaryList/SummaryList.js.map +1 -1
  844. package/extensions/forms/Value/SummaryList/SummaryListContext.d.ts +1 -0
  845. package/extensions/forms/Value/SummaryList/SummaryListContext.js.map +1 -1
  846. package/extensions/forms/Value/SummaryList/useVerifyChildren.d.ts +14 -0
  847. package/extensions/forms/Value/SummaryList/useVerifyChildren.js +40 -0
  848. package/extensions/forms/Value/SummaryList/useVerifyChildren.js.map +1 -0
  849. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.css +1 -1
  850. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.min.css +1 -1
  851. package/extensions/forms/Wizard/style/themes/dnb-wizard-layout-theme-ui.scss +1 -1
  852. package/extensions/forms/hooks/DataValueWritePropsDocs.js +3 -3
  853. package/extensions/forms/hooks/DataValueWritePropsDocs.js.map +1 -1
  854. package/extensions/forms/hooks/useFieldProps.d.ts +1 -0
  855. package/extensions/forms/hooks/useFieldProps.js +11 -1
  856. package/extensions/forms/hooks/useFieldProps.js.map +1 -1
  857. package/extensions/forms/hooks/useValueProps.js +5 -0
  858. package/extensions/forms/hooks/useValueProps.js.map +1 -1
  859. package/extensions/forms/style/dnb-forms.css +105 -47
  860. package/extensions/forms/style/dnb-forms.min.css +1 -1
  861. package/extensions/forms/types.d.ts +1 -7
  862. package/extensions/forms/types.js.map +1 -1
  863. package/package.json +1 -1
  864. package/shared/Context.d.ts +2 -2
  865. package/shared/Context.js.map +1 -1
  866. package/shared/Eufemia.d.ts +1 -1
  867. package/shared/Eufemia.js +2 -2
  868. package/shared/Eufemia.js.map +1 -1
  869. package/shared/component-helper.js.map +1 -1
  870. package/shared/locales/en-GB.d.ts +16 -16
  871. package/shared/locales/en-GB.js +16 -16
  872. package/shared/locales/en-GB.js.map +1 -1
  873. package/shared/locales/en-US.d.ts +17 -17
  874. package/shared/locales/en-US.js +3 -3
  875. package/shared/locales/en-US.js.map +1 -1
  876. package/shared/locales/index.d.ts +34 -32
  877. package/shared/locales/index.js.map +1 -1
  878. package/shared/locales/nb-NO.d.ts +16 -16
  879. package/shared/locales/nb-NO.js +16 -16
  880. package/shared/locales/nb-NO.js.map +1 -1
  881. package/style/core/scopes.scss +1 -1
  882. package/style/dnb-ui-basis.css +1 -1
  883. package/style/dnb-ui-basis.min.css +1 -1
  884. package/style/dnb-ui-body.css +1 -1
  885. package/style/dnb-ui-body.min.css +1 -1
  886. package/style/dnb-ui-components.css +344 -56
  887. package/style/dnb-ui-components.min.css +3 -3
  888. package/style/dnb-ui-components.scss +1 -0
  889. package/style/dnb-ui-core.css +1 -1
  890. package/style/dnb-ui-core.min.css +1 -1
  891. package/style/dnb-ui-extensions.css +105 -47
  892. package/style/dnb-ui-extensions.min.css +1 -1
  893. package/style/dnb-ui-forms.css +105 -47
  894. package/style/dnb-ui-forms.min.css +1 -1
  895. package/style/dnb-ui-forms.scss +2 -0
  896. package/style/themes/theme-eiendom/eiendom-theme-components.css +467 -108
  897. package/style/themes/theme-eiendom/eiendom-theme-components.min.css +7 -7
  898. package/style/themes/theme-eiendom/eiendom-theme-extensions.css +107 -49
  899. package/style/themes/theme-eiendom/eiendom-theme-extensions.min.css +2 -2
  900. package/style/themes/theme-eiendom/eiendom-theme-forms.css +107 -49
  901. package/style/themes/theme-eiendom/eiendom-theme-forms.min.css +2 -2
  902. package/style/themes/theme-sbanken/sbanken-theme-components.css +480 -120
  903. package/style/themes/theme-sbanken/sbanken-theme-components.min.css +5 -5
  904. package/style/themes/theme-sbanken/sbanken-theme-components.scss +1 -1
  905. package/style/themes/theme-sbanken/sbanken-theme-extensions.css +106 -48
  906. package/style/themes/theme-sbanken/sbanken-theme-extensions.min.css +2 -2
  907. package/style/themes/theme-sbanken/sbanken-theme-forms.css +106 -48
  908. package/style/themes/theme-sbanken/sbanken-theme-forms.min.css +2 -2
  909. package/style/themes/theme-ui/ui-theme-components.css +467 -108
  910. package/style/themes/theme-ui/ui-theme-components.min.css +7 -7
  911. package/style/themes/theme-ui/ui-theme-extensions.css +107 -49
  912. package/style/themes/theme-ui/ui-theme-extensions.min.css +2 -2
  913. package/style/themes/theme-ui/ui-theme-forms.css +107 -49
  914. package/style/themes/theme-ui/ui-theme-forms.min.css +2 -2
  915. package/style/themes/theme-ui/ui-theme-tags.css +3 -3
  916. package/style/themes/theme-ui/ui-theme-tags.min.css +1 -1
  917. package/umd/dnb-ui-basis.min.js +1 -1
  918. package/umd/dnb-ui-components.min.js +1 -1
  919. package/umd/dnb-ui-elements.min.js +1 -1
  920. package/umd/dnb-ui-extensions.min.js +2 -2
  921. package/umd/dnb-ui-lib.min.js +1 -1
  922. package/cjs/components/date-picker/DatePickerOld.d.ts +0 -334
  923. package/cjs/components/date-picker/DatePickerOld.js +0 -538
  924. package/cjs/components/date-picker/DatePickerOld.js.map +0 -1
  925. package/cjs/extensions/style/index.d.ts +0 -5
  926. package/cjs/extensions/style/index.js +0 -6
  927. package/cjs/extensions/style/index.js.map +0 -1
  928. package/components/date-picker/DatePickerOld.d.ts +0 -334
  929. package/components/date-picker/DatePickerOld.js +0 -528
  930. package/components/date-picker/DatePickerOld.js.map +0 -1
  931. package/es/components/date-picker/DatePickerOld.d.ts +0 -334
  932. package/es/components/date-picker/DatePickerOld.js +0 -528
  933. package/es/components/date-picker/DatePickerOld.js.map +0 -1
  934. package/es/extensions/style/index.d.ts +0 -5
  935. package/es/extensions/style/index.js +0 -4
  936. package/es/extensions/style/index.js.map +0 -1
  937. package/extensions/style/index.d.ts +0 -5
  938. package/extensions/style/index.js +0 -4
  939. package/extensions/style/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","names":["React","useCallback","useContext","useMemo","useRef","FieldBlock","useFieldProps","getFormattedNumber","Slider","pickSpacingProps","HelpButton","DataContext","useDataValue","SliderComponent","props","_ref","_props$paths","dataContextRef","current","getSourceValue","getValues","source","Array","isArray","map","s","value","paths","path","preparedProps","_objectSpread","step","min","max","id","width","help","hasError","disabled","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","subtractTitle","addTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","handleChange","handleFocus","handleBlur","setDisplayValue","omitMultiplePathWarning","number","handleLocalChange","forEach","i","updateDataValue","fieldBlockProps","forId","sliderProps","status","undefined","suffix","createElement","title","content","on_change","on_drag_start","on_drag_end","stretch","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldHelpProps, FieldProps, Path } from '../../types'\nimport { getFormattedNumber } from '../../../../components/slider/SliderHelpers'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { HelpButton } from '../../../../components'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type SliderVisibilityEvent = React.MouseEvent<HTMLButtonElement> & {\n value: string\n}\n\nexport type SliderValue = number | Array<number>\nexport type Props = FieldHelpProps &\n FieldProps<SliderValue> & {\n /**\n * Define an array with JSON Pointers for multiple thumb buttons.\n */\n paths?: Array<Path>\n step?: SliderProps['step'] | Path\n min?: SliderProps['min'] | Path\n max?: SliderProps['max'] | Path\n vertical?: SliderProps['vertical']\n reverse?: SliderProps['reverse']\n hideButtons?: SliderProps['hideButtons']\n multiThumbBehavior?: SliderProps['multiThumbBehavior']\n thumbTitle?: SliderProps['thumbTitle']\n subtractTitle?: SliderProps['subtractTitle']\n addTitle?: SliderProps['addTitle']\n numberFormat?: SliderProps['numberFormat']\n tooltip?: SliderProps['tooltip']\n alwaysShowTooltip?: SliderProps['alwaysShowTooltip']\n extensions?: SliderProps['extensions']\n\n /** Styling */\n width?: FieldBlockWidth\n }\n\nfunction SliderComponent(props: Props) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n\n const { getSourceValue } = useDataValue()\n const getValues = useCallback(\n (source: SliderValue | Path | Array<Path>) => {\n if (Array.isArray(source)) {\n return source.map((s) => getSourceValue(s) || 0)\n }\n\n return getSourceValue(source) || 0\n },\n [getSourceValue]\n )\n\n const value = getValues(props.paths ?? props.path ?? props.value)\n const preparedProps = {\n ...props,\n step: getSourceValue(props.step),\n min: getSourceValue(props.min),\n max: getSourceValue(props.max),\n }\n\n const {\n id,\n path,\n step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n help,\n hasError,\n disabled,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n handleChange,\n handleFocus,\n handleBlur,\n setDisplayValue,\n } = useFieldProps(preparedProps, {\n omitMultiplePathWarning: true,\n })\n\n useMemo(() => {\n if (path && numberFormat) {\n const { number } = getFormattedNumber(value, numberFormat)\n setDisplayValue(path, number)\n }\n }, [numberFormat, path, setDisplayValue, value])\n\n const handleLocalChange = useCallback(\n ({ value }: { value: number | number[] }) => {\n if (Array.isArray(props.paths) && Array.isArray(value)) {\n value.forEach((value, i) => {\n dataContextRef.current.updateDataValue(props.paths[i], value)\n })\n }\n\n handleChange?.(value)\n },\n [handleChange, props.paths]\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n width,\n ...pickSpacingProps(props),\n }\n\n const sliderProps: SliderProps = {\n value,\n step,\n min,\n max,\n disabled,\n status: hasError ? 'error' : undefined,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Slider {...sliderProps} />\n </FieldBlock>\n )\n}\n\nexport default SliderComponent\n\nSliderComponent._supportsSpacingProps = true\n"],"mappings":"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"}
1
+ {"version":3,"file":"Slider.js","names":["React","useCallback","useContext","useMemo","useRef","FieldBlock","useFieldProps","getFormattedNumber","Slider","pickSpacingProps","DataContext","useDataValue","SliderComponent","props","_ref","_props$paths","dataContextRef","current","getSourceValue","getValues","source","Array","isArray","map","s","value","paths","path","preparedProps","_objectSpread","step","min","max","id","width","hasError","disabled","vertical","reverse","hideButtons","multiThumbBehavior","thumbTitle","subtractTitle","addTitle","numberFormat","tooltip","alwaysShowTooltip","extensions","handleChange","handleFocus","handleBlur","setDisplayValue","omitMultiplePathWarning","number","handleLocalChange","forEach","i","updateDataValue","fieldBlockProps","forId","sliderProps","status","undefined","on_change","on_drag_start","on_drag_end","stretch","createElement","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Slider/Slider.tsx"],"sourcesContent":["import React, { useCallback, useContext, useMemo, useRef } from 'react'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps, Path } from '../../types'\nimport { getFormattedNumber } from '../../../../components/slider/SliderHelpers'\nimport Slider, { SliderProps } from '../../../../components/Slider'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport DataContext, { ContextState } from '../../DataContext/Context'\nimport useDataValue from '../../hooks/useDataValue'\n\nexport type SliderVisibilityEvent = React.MouseEvent<HTMLButtonElement> & {\n value: string\n}\n\nexport type SliderValue = number | Array<number>\nexport type Props = FieldProps<SliderValue> & {\n /**\n * Define an array with JSON Pointers for multiple thumb buttons.\n */\n paths?: Array<Path>\n step?: SliderProps['step'] | Path\n min?: SliderProps['min'] | Path\n max?: SliderProps['max'] | Path\n vertical?: SliderProps['vertical']\n reverse?: SliderProps['reverse']\n hideButtons?: SliderProps['hideButtons']\n multiThumbBehavior?: SliderProps['multiThumbBehavior']\n thumbTitle?: SliderProps['thumbTitle']\n subtractTitle?: SliderProps['subtractTitle']\n addTitle?: SliderProps['addTitle']\n numberFormat?: SliderProps['numberFormat']\n tooltip?: SliderProps['tooltip']\n alwaysShowTooltip?: SliderProps['alwaysShowTooltip']\n extensions?: SliderProps['extensions']\n\n /** Styling */\n width?: FieldBlockWidth\n}\n\nfunction SliderComponent(props: Props) {\n const dataContextRef = useRef<ContextState>()\n dataContextRef.current = useContext<ContextState>(DataContext)\n\n const { getSourceValue } = useDataValue()\n const getValues = useCallback(\n (source: SliderValue | Path | Array<Path>) => {\n if (Array.isArray(source)) {\n return source.map((s) => getSourceValue(s) || 0)\n }\n\n return getSourceValue(source) || 0\n },\n [getSourceValue]\n )\n\n const value = getValues(props.paths ?? props.path ?? props.value)\n const preparedProps = {\n ...props,\n step: getSourceValue(props.step),\n min: getSourceValue(props.min),\n max: getSourceValue(props.max),\n }\n\n const {\n id,\n path,\n step = 1,\n min = 0,\n max = 100,\n width = 'stretch',\n hasError,\n disabled,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n handleChange,\n handleFocus,\n handleBlur,\n setDisplayValue,\n } = useFieldProps(preparedProps, {\n omitMultiplePathWarning: true,\n })\n\n useMemo(() => {\n if (path && numberFormat) {\n const { number } = getFormattedNumber(value, numberFormat)\n setDisplayValue(path, number)\n }\n }, [numberFormat, path, setDisplayValue, value])\n\n const handleLocalChange = useCallback(\n ({ value }: { value: number | number[] }) => {\n if (Array.isArray(props.paths) && Array.isArray(value)) {\n value.forEach((value, i) => {\n dataContextRef.current.updateDataValue(props.paths[i], value)\n })\n }\n\n handleChange?.(value)\n },\n [handleChange, props.paths]\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n width,\n ...pickSpacingProps(props),\n }\n\n const sliderProps: SliderProps = {\n value,\n step,\n min,\n max,\n disabled,\n status: hasError ? 'error' : undefined,\n on_change: handleLocalChange,\n on_drag_start: handleFocus,\n on_drag_end: handleBlur,\n vertical,\n reverse,\n hideButtons,\n multiThumbBehavior,\n thumbTitle,\n subtractTitle,\n addTitle,\n numberFormat,\n tooltip,\n alwaysShowTooltip,\n extensions,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n <Slider {...sliderProps} />\n </FieldBlock>\n )\n}\n\nexport default SliderComponent\n\nSliderComponent._supportsSpacingProps = true\n"],"mappings":"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"}
@@ -4,8 +4,8 @@ import { InputMaskedProps } from '../../../../components/InputMasked';
4
4
  import { TextareaProps } from '../../../../components/Textarea';
5
5
  import { FieldBlockWidth } from '../../FieldBlock';
6
6
  import type { TextCounterProps } from '../../../../fragments/TextCounter';
7
- import type { FieldProps, FieldHelpProps } from '../../types';
8
- export type Props = FieldHelpProps & FieldProps<string, undefined | string> & {
7
+ import type { FieldProps } from '../../types';
8
+ export type Props = FieldProps<string, undefined | string> & {
9
9
  multiline?: boolean;
10
10
  inputClassName?: string;
11
11
  innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>;
@@ -6,7 +6,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
6
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
7
  import React, { useContext, useMemo, useCallback, useEffect, useRef } from 'react';
8
8
  import classnames from 'classnames';
9
- import { HelpButton, Input, Textarea } from '../../../../components';
9
+ import { Input, Textarea } from '../../../../components';
10
10
  import InputMasked from '../../../../components/InputMasked';
11
11
  import DataContext from '../../DataContext/Context';
12
12
  import FieldBlockContext from '../../FieldBlock/FieldBlockContext';
@@ -75,7 +75,6 @@ function StringComponent(props) {
75
75
  value,
76
76
  hasError,
77
77
  disabled,
78
- help,
79
78
  multiline,
80
79
  mask,
81
80
  leftIcon,
@@ -136,9 +135,6 @@ function StringComponent(props) {
136
135
  inputMode,
137
136
  className: cn,
138
137
  placeholder,
139
- suffix: help ? React.createElement(HelpButton, {
140
- title: help.title
141
- }, help.content) : undefined,
142
138
  on_focus: handleFocus,
143
139
  on_blur: handleBlur,
144
140
  on_change: handleChange,
@@ -1 +1 @@
1
- {"version":3,"file":"String.js","names":["React","useContext","useMemo","useCallback","useEffect","useRef","classnames","HelpButton","Input","Textarea","InputMasked","DataContext","FieldBlockContext","FieldBlock","useFieldProps","pickSpacingProps","toCapitalized","StringComponent","props","_props$width","_props$innerRef","_dataContext$props2","_value$toString","dataContext","fieldBlockContext","schema","_props$schema","type","minLength","maxLength","pattern","fromInput","event","_event","_event$cleanedValue","_event2","_event3","value","emptyValue","cleanedValue","toEvent","trim","spaces","RegExp","test","replace","handleChange","transform","transformValue","capitalize","String","ref","preparedProps","_objectSpread","width","composition","innerRef","id","name","className","inputClassName","placeholder","hasError","disabled","help","multiline","mask","leftIcon","rightIcon","htmlAttributes","submitElement","clear","align","size","selectall","keepPlaceholder","rows","autoresizeMaxRows","autoresize","characterCounter","autoComplete","inputMode","autoCorrect","spellCheck","autoFocus","autoCapitalize","handleFocus","handleBlur","setDisplayValue","onKeyDown","_innerRef$current","path","current","transformInstantly","handleSubmit","handleKeyDown","_dataContext$props","isolate","key","_event$preventDefault","preventDefault","call","cn","sharedProps","suffix","createElement","title","content","undefined","on_focus","on_blur","on_change","on_key_down","stretch","Boolean","inner_ref","status","toString","textareaProps","autoresize_max_rows","inputProps","icon","icon_position","submit_element","keep_placeholder","fieldBlockProps","forId","contentWidth","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, {\n useContext,\n useMemo,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { HelpButton, Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport { TextareaProps } from '../../../../components/Textarea'\nimport DataContext from '../../DataContext/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { toCapitalized } from '../../../../shared/component-helper'\nimport type { TextCounterProps } from '../../../../fragments/TextCounter'\nimport type {\n FieldProps,\n FieldHelpProps,\n AllJSONSchemaVersions,\n} from '../../types'\n\nexport type Props = FieldHelpProps &\n FieldProps<string, undefined | string> & {\n // - Shared props\n multiline?: boolean\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n width?: FieldBlockWidth\n size?: InputProps['size'] | TextareaProps['size']\n keepPlaceholder?: InputProps['keep_placeholder']\n\n // - Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n\n // - Input props\n type?: InputProps['type']\n align?: InputProps['align']\n selectall?: InputProps['selectall']\n clear?: boolean\n mask?: InputMaskedProps['mask']\n leftIcon?: string\n rightIcon?: string\n submitElement?: InputProps['submit_element']\n capitalize?: boolean\n trim?: boolean\n\n // - Textarea props\n rows?: TextareaProps['rows']\n autoresizeMaxRows?: TextareaProps['autoresize_max_rows']\n autoresize?: TextareaProps['autoresize']\n characterCounter?: Omit<TextCounterProps, 'text'> | number\n\n // - Html props\n autoComplete?: HTMLInputElement['autocomplete']\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode']\n autoCorrect?: React.HTMLAttributes<HTMLInputElement>['autoCorrect']\n spellCheck?: React.HTMLAttributes<HTMLInputElement>['spellCheck']\n autoFocus?: React.HTMLAttributes<HTMLInputElement>['autoFocus']\n autoCapitalize?: React.HTMLAttributes<HTMLInputElement>['autoCapitalize']\n\n // - Events\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>\n }\n\nfunction StringComponent(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n (event: { value: string; cleanedValue?: string }) => {\n if (typeof event === 'string') {\n event = { value: event }\n }\n if (event?.value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return event?.cleanedValue ?? event?.value\n },\n [props.emptyValue]\n )\n const toEvent = useCallback(\n (value: string, type: string) => {\n if (props.trim && type === 'onBlur') {\n const spaces = '[\\\\s ]'\n if (new RegExp(`^${spaces}|${spaces}$`).test(value)) {\n value = value.replace(\n new RegExp(`^${spaces}+|${spaces}+$`, 'g'),\n ''\n )\n handleChange(value)\n }\n }\n return value\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.trim]\n )\n const transform = props.transformValue\n const transformValue = useCallback(\n (value: string) => {\n if (props.capitalize) {\n value = toCapitalized(String(value || ''))\n }\n return transform?.(value) || value\n },\n [props.capitalize, transform]\n )\n\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n schema,\n fromInput,\n toEvent,\n transformValue,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'large'),\n innerRef: props.innerRef ?? ref,\n }\n\n const {\n id,\n name,\n className,\n innerRef,\n inputClassName,\n placeholder,\n value,\n hasError,\n disabled,\n help,\n multiline,\n mask,\n leftIcon,\n rightIcon,\n width,\n htmlAttributes,\n submitElement,\n\n // - Input props\n type,\n clear,\n align,\n size,\n selectall,\n keepPlaceholder,\n\n // - Textarea props\n rows,\n autoresizeMaxRows = 6,\n autoresize = true,\n characterCounter,\n\n // - Html props\n autoComplete,\n inputMode,\n autoCorrect,\n spellCheck,\n autoFocus,\n autoCapitalize,\n\n // - Events\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n onKeyDown,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n setDisplayValue(props.path, innerRef.current?.value)\n }, [innerRef, props.path, setDisplayValue, value])\n\n const transformInstantly = useCallback(\n (value: string) => (props.capitalize ? toCapitalized(value) : value),\n [props.capitalize]\n )\n\n const { handleSubmit } = dataContext ?? {}\n const handleKeyDown = useCallback(\n ({ event }: { event: React.KeyboardEvent<HTMLInputElement> }) => {\n if (\n !multiline &&\n dataContext?.props?.isolate &&\n event.key === 'Enter'\n ) {\n handleSubmit() // So we commit the data to the outer context\n event.preventDefault?.() // And prevent the default form submit\n }\n\n onKeyDown?.(event)\n },\n [handleSubmit, dataContext?.props?.isolate, multiline, onKeyDown]\n )\n\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps: InputProps & TextareaProps = {\n id,\n name,\n autoComplete,\n autoCorrect,\n spellCheck,\n autoFocus,\n autoCapitalize,\n inputMode,\n className: cn,\n placeholder,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n on_key_down: handleKeyDown,\n disabled,\n ...htmlAttributes,\n stretch: Boolean(width),\n inner_ref: innerRef,\n status: hasError ? 'error' : undefined,\n value: transformInstantly(value?.toString() ?? ''),\n }\n\n const textareaProps: TextareaProps = {\n keepPlaceholder,\n rows,\n autoresize_max_rows: autoresizeMaxRows,\n autoresize,\n characterCounter,\n }\n\n const inputProps: InputProps = {\n type,\n clear,\n size,\n align,\n selectall,\n icon: leftIcon ?? rightIcon,\n icon_position: rightIcon && !leftIcon ? 'right' : undefined,\n submit_element: submitElement,\n keep_placeholder: keepPlaceholder,\n }\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames('dnb-forms-field-string', className),\n width:\n width === 'stretch' || fieldBlockContext?.composition\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n {multiline ? (\n <Textarea {...sharedProps} {...textareaProps} />\n ) : mask ? (\n <InputMasked {...sharedProps} {...inputProps} mask={mask} />\n ) : (\n <Input {...sharedProps} {...inputProps} />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
1
+ {"version":3,"file":"String.js","names":["React","useContext","useMemo","useCallback","useEffect","useRef","classnames","Input","Textarea","InputMasked","DataContext","FieldBlockContext","FieldBlock","useFieldProps","pickSpacingProps","toCapitalized","StringComponent","props","_props$width","_props$innerRef","_dataContext$props2","_value$toString","dataContext","fieldBlockContext","schema","_props$schema","type","minLength","maxLength","pattern","fromInput","event","_event","_event$cleanedValue","_event2","_event3","value","emptyValue","cleanedValue","toEvent","trim","spaces","RegExp","test","replace","handleChange","transform","transformValue","capitalize","String","ref","preparedProps","_objectSpread","width","composition","innerRef","id","name","className","inputClassName","placeholder","hasError","disabled","multiline","mask","leftIcon","rightIcon","htmlAttributes","submitElement","clear","align","size","selectall","keepPlaceholder","rows","autoresizeMaxRows","autoresize","characterCounter","autoComplete","inputMode","autoCorrect","spellCheck","autoFocus","autoCapitalize","handleFocus","handleBlur","setDisplayValue","onKeyDown","_innerRef$current","path","current","transformInstantly","handleSubmit","handleKeyDown","_dataContext$props","isolate","key","_event$preventDefault","preventDefault","call","cn","sharedProps","on_focus","on_blur","on_change","on_key_down","stretch","Boolean","inner_ref","status","undefined","toString","textareaProps","autoresize_max_rows","inputProps","icon","icon_position","submit_element","keep_placeholder","fieldBlockProps","forId","contentWidth","createElement","_extends","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/String/String.tsx"],"sourcesContent":["import React, {\n useContext,\n useMemo,\n useCallback,\n useEffect,\n useRef,\n} from 'react'\nimport classnames from 'classnames'\nimport { Input, Textarea } from '../../../../components'\nimport { InputProps } from '../../../../components/input/Input'\nimport InputMasked, {\n InputMaskedProps,\n} from '../../../../components/InputMasked'\nimport { TextareaProps } from '../../../../components/Textarea'\nimport DataContext from '../../DataContext/Context'\nimport FieldBlockContext from '../../FieldBlock/FieldBlockContext'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport { toCapitalized } from '../../../../shared/component-helper'\nimport type { TextCounterProps } from '../../../../fragments/TextCounter'\nimport type { FieldProps, AllJSONSchemaVersions } from '../../types'\n\nexport type Props = FieldProps<string, undefined | string> & {\n // - Shared props\n multiline?: boolean\n inputClassName?: string\n innerRef?: React.RefObject<HTMLInputElement | HTMLTextAreaElement>\n width?: FieldBlockWidth\n size?: InputProps['size'] | TextareaProps['size']\n keepPlaceholder?: InputProps['keep_placeholder']\n\n // - Validation\n minLength?: number\n maxLength?: number\n pattern?: string\n\n // - Input props\n type?: InputProps['type']\n align?: InputProps['align']\n selectall?: InputProps['selectall']\n clear?: boolean\n mask?: InputMaskedProps['mask']\n leftIcon?: string\n rightIcon?: string\n submitElement?: InputProps['submit_element']\n capitalize?: boolean\n trim?: boolean\n\n // - Textarea props\n rows?: TextareaProps['rows']\n autoresizeMaxRows?: TextareaProps['autoresize_max_rows']\n autoresize?: TextareaProps['autoresize']\n characterCounter?: Omit<TextCounterProps, 'text'> | number\n\n // - Html props\n autoComplete?: HTMLInputElement['autocomplete']\n inputMode?: React.HTMLAttributes<HTMLInputElement>['inputMode']\n autoCorrect?: React.HTMLAttributes<HTMLInputElement>['autoCorrect']\n spellCheck?: React.HTMLAttributes<HTMLInputElement>['spellCheck']\n autoFocus?: React.HTMLAttributes<HTMLInputElement>['autoFocus']\n autoCapitalize?: React.HTMLAttributes<HTMLInputElement>['autoCapitalize']\n\n // - Events\n onKeyDown?: React.KeyboardEventHandler<HTMLInputElement>\n}\n\nfunction StringComponent(props: Props) {\n const dataContext = useContext(DataContext)\n const fieldBlockContext = useContext(FieldBlockContext)\n\n const schema = useMemo<AllJSONSchemaVersions>(\n () =>\n props.schema ?? {\n type: 'string',\n minLength: props.minLength,\n maxLength: props.maxLength,\n pattern: props.pattern,\n },\n [props.schema, props.minLength, props.maxLength, props.pattern]\n )\n const fromInput = useCallback(\n (event: { value: string; cleanedValue?: string }) => {\n if (typeof event === 'string') {\n event = { value: event }\n }\n if (event?.value === '') {\n return props.emptyValue\n }\n // Cleaned value for masked\n return event?.cleanedValue ?? event?.value\n },\n [props.emptyValue]\n )\n const toEvent = useCallback(\n (value: string, type: string) => {\n if (props.trim && type === 'onBlur') {\n const spaces = '[\\\\s ]'\n if (new RegExp(`^${spaces}|${spaces}$`).test(value)) {\n value = value.replace(\n new RegExp(`^${spaces}+|${spaces}+$`, 'g'),\n ''\n )\n handleChange(value)\n }\n }\n return value\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [props.trim]\n )\n const transform = props.transformValue\n const transformValue = useCallback(\n (value: string) => {\n if (props.capitalize) {\n value = toCapitalized(String(value || ''))\n }\n return transform?.(value) || value\n },\n [props.capitalize, transform]\n )\n\n const ref = useRef<HTMLInputElement>()\n const preparedProps: Props = {\n ...props,\n schema,\n fromInput,\n toEvent,\n transformValue,\n width:\n props.width ??\n (fieldBlockContext?.composition ? 'stretch' : 'large'),\n innerRef: props.innerRef ?? ref,\n }\n\n const {\n id,\n name,\n className,\n innerRef,\n inputClassName,\n placeholder,\n value,\n hasError,\n disabled,\n multiline,\n mask,\n leftIcon,\n rightIcon,\n width,\n htmlAttributes,\n submitElement,\n\n // - Input props\n type,\n clear,\n align,\n size,\n selectall,\n keepPlaceholder,\n\n // - Textarea props\n rows,\n autoresizeMaxRows = 6,\n autoresize = true,\n characterCounter,\n\n // - Html props\n autoComplete,\n inputMode,\n autoCorrect,\n spellCheck,\n autoFocus,\n autoCapitalize,\n\n // - Events\n handleFocus,\n handleBlur,\n handleChange,\n setDisplayValue,\n onKeyDown,\n } = useFieldProps(preparedProps)\n\n useEffect(() => {\n setDisplayValue(props.path, innerRef.current?.value)\n }, [innerRef, props.path, setDisplayValue, value])\n\n const transformInstantly = useCallback(\n (value: string) => (props.capitalize ? toCapitalized(value) : value),\n [props.capitalize]\n )\n\n const { handleSubmit } = dataContext ?? {}\n const handleKeyDown = useCallback(\n ({ event }: { event: React.KeyboardEvent<HTMLInputElement> }) => {\n if (\n !multiline &&\n dataContext?.props?.isolate &&\n event.key === 'Enter'\n ) {\n handleSubmit() // So we commit the data to the outer context\n event.preventDefault?.() // And prevent the default form submit\n }\n\n onKeyDown?.(event)\n },\n [handleSubmit, dataContext?.props?.isolate, multiline, onKeyDown]\n )\n\n const cn = classnames('dnb-forms-field-string__input', inputClassName)\n\n const sharedProps: InputProps & TextareaProps = {\n id,\n name,\n autoComplete,\n autoCorrect,\n spellCheck,\n autoFocus,\n autoCapitalize,\n inputMode,\n className: cn,\n placeholder,\n on_focus: handleFocus,\n on_blur: handleBlur,\n on_change: handleChange,\n on_key_down: handleKeyDown,\n disabled,\n ...htmlAttributes,\n stretch: Boolean(width),\n inner_ref: innerRef,\n status: hasError ? 'error' : undefined,\n value: transformInstantly(value?.toString() ?? ''),\n }\n\n const textareaProps: TextareaProps = {\n keepPlaceholder,\n rows,\n autoresize_max_rows: autoresizeMaxRows,\n autoresize,\n characterCounter,\n }\n\n const inputProps: InputProps = {\n type,\n clear,\n size,\n align,\n selectall,\n icon: leftIcon ?? rightIcon,\n icon_position: rightIcon && !leftIcon ? 'right' : undefined,\n submit_element: submitElement,\n keep_placeholder: keepPlaceholder,\n }\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: classnames('dnb-forms-field-string', className),\n width:\n width === 'stretch' || fieldBlockContext?.composition\n ? width\n : undefined,\n contentWidth: width !== false ? width : undefined,\n ...pickSpacingProps(props),\n }\n\n return (\n <FieldBlock {...fieldBlockProps}>\n {multiline ? (\n <Textarea {...sharedProps} {...textareaProps} />\n ) : mask ? (\n <InputMasked {...sharedProps} {...inputProps} mask={mask} />\n ) : (\n <Input {...sharedProps} {...inputProps} />\n )}\n </FieldBlock>\n )\n}\n\nStringComponent._supportsSpacingProps = true\nexport default StringComponent\n"],"mappings":"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"}
@@ -55,11 +55,6 @@ export const stringProperties = {
55
55
  type: ['string', 'false'],
56
56
  status: 'optional'
57
57
  },
58
- help: {
59
- doc: 'Provide a help button. Object consisting of title and content.',
60
- type: 'object',
61
- status: 'optional'
62
- },
63
58
  size: inputProperties.size,
64
59
  align: inputProperties.align,
65
60
  selectall: inputProperties.selectall,
@@ -1 +1 @@
1
- {"version":3,"file":"StringDocs.js","names":["inputProperties","stringProperties","multiline","doc","type","status","leftIcon","rightIcon","capitalize","trim","inputMode","autoComplete","minLength","maxLength","pattern","width","help","size","align","selectall","clear","keepPlaceholder","keep_placeholder","rows","autoresizeMaxRows","characterCounter","autoresize","inputClassName","innerRef","submitElement"],"sources":["../../../../../../src/extensions/forms/Field/String/StringDocs.ts"],"sourcesContent":["import { inputProperties } from '../../../../components/input/InputDocs'\nimport { PropertiesTableProps } from '../../../../shared/types'\n\nexport const stringProperties: PropertiesTableProps = {\n multiline: {\n doc: 'True to be able to write in multiple lines (switching from input-element to textarea-element).',\n type: 'boolean',\n status: 'optional',\n },\n leftIcon: {\n doc: 'For icon at the left side of the text input.',\n type: 'string',\n status: 'optional',\n },\n rightIcon: {\n doc: 'For icon at the right side of the text input.',\n type: 'string',\n status: 'optional',\n },\n capitalize: {\n doc: 'When set to true, it will capitalize the first letter of every word, transforming the rest to lowercase.',\n type: 'boolean',\n status: 'optional',\n },\n trim: {\n doc: 'When true, it will trim leading and trailing whitespaces on blur, triggering onChange if the value changes.',\n type: 'boolean',\n status: 'optional',\n },\n inputMode: {\n doc: 'Define an [inputmode](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode).',\n type: 'string',\n status: 'optional',\n },\n autoComplete: {\n doc: 'For HTML [autocomplete](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) attributes.',\n type: ['on', 'string'],\n status: 'optional',\n },\n minLength: {\n doc: 'Validation for minimum length of the text (number of characters).',\n type: 'number',\n status: 'optional',\n },\n maxLength: {\n doc: 'Validation for maximum length of the text (number of characters).',\n type: 'number',\n status: 'optional',\n },\n pattern: {\n doc: 'Validation based on regex pattern.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`false` for no width (use browser default), small, medium or large for predefined standard widths, stretch for fill available width.',\n type: ['string', 'false'],\n status: 'optional',\n },\n help: {\n doc: 'Provide a help button. Object consisting of title and content.',\n type: 'object',\n status: 'optional',\n },\n\n // - Input props\n size: inputProperties.size,\n align: inputProperties.align,\n selectall: inputProperties.selectall,\n clear: inputProperties.clear,\n keepPlaceholder: inputProperties.keep_placeholder,\n\n // - Textarea props\n rows: {\n doc: 'For multiline, set how many rows of text can be shown by default. Defaults to 2.',\n type: 'number',\n status: 'optional',\n },\n autoresizeMaxRows: {\n doc: 'For multiline, set how many rows of text can be shown at max. Defaults to 6',\n type: 'number',\n status: 'optional',\n },\n characterCounter: {\n doc: \"For multiline, use a number to define the displayed max length e.g. `40` or `{ max: 40, variant: 'down' }`.\",\n type: ['number', 'object'],\n status: 'optional',\n },\n autoresize: {\n doc: 'For multiline, set true to expand when writing longer texts. Defaults to true.',\n type: 'boolean',\n status: 'optional',\n },\n\n // - Additional props\n inputClassName: {\n doc: 'Class name set on the <input> DOM element.',\n type: 'string',\n status: 'optional',\n },\n innerRef: {\n doc: 'By providing a React.Ref we can get the internally used input element (DOM).',\n type: 'React.Ref',\n status: 'optional',\n },\n submitElement: {\n doc: 'Accepts a React element which will show up like the \"submit button\" would do on type=\"search\".',\n type: 'React.Element',\n status: 'optional',\n },\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,wCAAwC;AAGxE,OAAO,MAAMC,gBAAsC,GAAG;EACpDC,SAAS,EAAE;IACTC,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,8CAA8C;IACnDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,SAAS,EAAE;IACTJ,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,UAAU,EAAE;IACVL,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,6GAA6G;IAClHC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,uGAAuG;IAC5GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,YAAY,EAAE;IACZR,GAAG,EAAE,gHAAgH;IACrHC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;IACtBC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,mEAAmE;IACxEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,mEAAmE;IACxEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,oCAAoC;IACzCC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDU,KAAK,EAAE;IACLZ,GAAG,EAAE,sIAAsI;IAC3IC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDW,IAAI,EAAE;IACJb,GAAG,EAAE,gEAAgE;IACrEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EAGDY,IAAI,EAAEjB,eAAe,CAACiB,IAAI;EAC1BC,KAAK,EAAElB,eAAe,CAACkB,KAAK;EAC5BC,SAAS,EAAEnB,eAAe,CAACmB,SAAS;EACpCC,KAAK,EAAEpB,eAAe,CAACoB,KAAK;EAC5BC,eAAe,EAAErB,eAAe,CAACsB,gBAAgB;EAGjDC,IAAI,EAAE;IACJpB,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDmB,iBAAiB,EAAE;IACjBrB,GAAG,EAAE,6EAA6E;IAClFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDoB,gBAAgB,EAAE;IAChBtB,GAAG,EAAE,6GAA6G;IAClHC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDqB,UAAU,EAAE;IACVvB,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EAGDsB,cAAc,EAAE;IACdxB,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDuB,QAAQ,EAAE;IACRzB,GAAG,EAAE,8EAA8E;IACnFC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACDwB,aAAa,EAAE;IACb1B,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,eAAe;IACrBC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"StringDocs.js","names":["inputProperties","stringProperties","multiline","doc","type","status","leftIcon","rightIcon","capitalize","trim","inputMode","autoComplete","minLength","maxLength","pattern","width","size","align","selectall","clear","keepPlaceholder","keep_placeholder","rows","autoresizeMaxRows","characterCounter","autoresize","inputClassName","innerRef","submitElement"],"sources":["../../../../../../src/extensions/forms/Field/String/StringDocs.ts"],"sourcesContent":["import { inputProperties } from '../../../../components/input/InputDocs'\nimport { PropertiesTableProps } from '../../../../shared/types'\n\nexport const stringProperties: PropertiesTableProps = {\n multiline: {\n doc: 'True to be able to write in multiple lines (switching from input-element to textarea-element).',\n type: 'boolean',\n status: 'optional',\n },\n leftIcon: {\n doc: 'For icon at the left side of the text input.',\n type: 'string',\n status: 'optional',\n },\n rightIcon: {\n doc: 'For icon at the right side of the text input.',\n type: 'string',\n status: 'optional',\n },\n capitalize: {\n doc: 'When set to true, it will capitalize the first letter of every word, transforming the rest to lowercase.',\n type: 'boolean',\n status: 'optional',\n },\n trim: {\n doc: 'When true, it will trim leading and trailing whitespaces on blur, triggering onChange if the value changes.',\n type: 'boolean',\n status: 'optional',\n },\n inputMode: {\n doc: 'Define an [inputmode](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode).',\n type: 'string',\n status: 'optional',\n },\n autoComplete: {\n doc: 'For HTML [autocomplete](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) attributes.',\n type: ['on', 'string'],\n status: 'optional',\n },\n minLength: {\n doc: 'Validation for minimum length of the text (number of characters).',\n type: 'number',\n status: 'optional',\n },\n maxLength: {\n doc: 'Validation for maximum length of the text (number of characters).',\n type: 'number',\n status: 'optional',\n },\n pattern: {\n doc: 'Validation based on regex pattern.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`false` for no width (use browser default), small, medium or large for predefined standard widths, stretch for fill available width.',\n type: ['string', 'false'],\n status: 'optional',\n },\n\n // - Input props\n size: inputProperties.size,\n align: inputProperties.align,\n selectall: inputProperties.selectall,\n clear: inputProperties.clear,\n keepPlaceholder: inputProperties.keep_placeholder,\n\n // - Textarea props\n rows: {\n doc: 'For multiline, set how many rows of text can be shown by default. Defaults to 2.',\n type: 'number',\n status: 'optional',\n },\n autoresizeMaxRows: {\n doc: 'For multiline, set how many rows of text can be shown at max. Defaults to 6',\n type: 'number',\n status: 'optional',\n },\n characterCounter: {\n doc: \"For multiline, use a number to define the displayed max length e.g. `40` or `{ max: 40, variant: 'down' }`.\",\n type: ['number', 'object'],\n status: 'optional',\n },\n autoresize: {\n doc: 'For multiline, set true to expand when writing longer texts. Defaults to true.',\n type: 'boolean',\n status: 'optional',\n },\n\n // - Additional props\n inputClassName: {\n doc: 'Class name set on the <input> DOM element.',\n type: 'string',\n status: 'optional',\n },\n innerRef: {\n doc: 'By providing a React.Ref we can get the internally used input element (DOM).',\n type: 'React.Ref',\n status: 'optional',\n },\n submitElement: {\n doc: 'Accepts a React element which will show up like the \"submit button\" would do on type=\"search\".',\n type: 'React.Element',\n status: 'optional',\n },\n}\n"],"mappings":"AAAA,SAASA,eAAe,QAAQ,wCAAwC;AAGxE,OAAO,MAAMC,gBAAsC,GAAG;EACpDC,SAAS,EAAE;IACTC,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,8CAA8C;IACnDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDE,SAAS,EAAE;IACTJ,GAAG,EAAE,+CAA+C;IACpDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,UAAU,EAAE;IACVL,GAAG,EAAE,0GAA0G;IAC/GC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,6GAA6G;IAClHC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EACDK,SAAS,EAAE;IACTP,GAAG,EAAE,uGAAuG;IAC5GC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,YAAY,EAAE;IACZR,GAAG,EAAE,gHAAgH;IACrHC,IAAI,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC;IACtBC,MAAM,EAAE;EACV,CAAC;EACDO,SAAS,EAAE;IACTT,GAAG,EAAE,mEAAmE;IACxEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,SAAS,EAAE;IACTV,GAAG,EAAE,mEAAmE;IACxEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,OAAO,EAAE;IACPX,GAAG,EAAE,oCAAoC;IACzCC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDU,KAAK,EAAE;IACLZ,GAAG,EAAE,sIAAsI;IAC3IC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EAGDW,IAAI,EAAEhB,eAAe,CAACgB,IAAI;EAC1BC,KAAK,EAAEjB,eAAe,CAACiB,KAAK;EAC5BC,SAAS,EAAElB,eAAe,CAACkB,SAAS;EACpCC,KAAK,EAAEnB,eAAe,CAACmB,KAAK;EAC5BC,eAAe,EAAEpB,eAAe,CAACqB,gBAAgB;EAGjDC,IAAI,EAAE;IACJnB,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDkB,iBAAiB,EAAE;IACjBpB,GAAG,EAAE,6EAA6E;IAClFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDmB,gBAAgB,EAAE;IAChBrB,GAAG,EAAE,6GAA6G;IAClHC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDoB,UAAU,EAAE;IACVtB,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,SAAS;IACfC,MAAM,EAAE;EACV,CAAC;EAGDqB,cAAc,EAAE;IACdvB,GAAG,EAAE,4CAA4C;IACjDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDsB,QAAQ,EAAE;IACRxB,GAAG,EAAE,8EAA8E;IACnFC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE;EACV,CAAC;EACDuB,aAAa,EAAE;IACbzB,GAAG,EAAE,gGAAgG;IACrGC,IAAI,EAAE,eAAe;IACrBC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -0,0 +1,11 @@
1
+ /*
2
+ * Utilities
3
+ */
4
+ .dnb-forms-field-string .dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label.dnb-form-label {
5
+ align-items: baseline;
6
+ }
7
+ @media screen and (max-width: xx-small0) {
8
+ .dnb-forms-field-string .dnb-input__shell {
9
+ width: 90%;
10
+ }
11
+ }
@@ -0,0 +1 @@
1
+ .dnb-forms-field-string .dnb-forms-field-block--layout-horizontal .dnb-forms-field-block__label.dnb-form-label{align-items:baseline}@media screen and (max-width:xx-small0){.dnb-forms-field-string .dnb-input__shell{width:90%}}
@@ -0,0 +1,17 @@
1
+ @import '../../../../../style/core/utilities.scss';
2
+
3
+ .dnb-forms-field-string {
4
+ .dnb-forms-field-block--layout-horizontal {
5
+ .dnb-forms-field-block__label.dnb-form-label {
6
+ // Multiline label placement
7
+ align-items: baseline;
8
+ }
9
+ }
10
+
11
+ // Ensure inputs to not overflow on xx-small (defined above), but exclude e.g. Autocomplete
12
+ @include allBelow(xx-small) {
13
+ .dnb-input__shell {
14
+ width: 90%;
15
+ }
16
+ }
17
+ }
@@ -1,4 +1,4 @@
1
- import { FieldHelpProps, FieldProps } from '../../types';
1
+ import { FieldProps } from '../../types';
2
2
  export type ToggleProps = {
3
3
  valueOn: unknown;
4
4
  valueOff: unknown;
@@ -6,7 +6,7 @@ export type ToggleProps = {
6
6
  textOn?: string;
7
7
  textOff?: string;
8
8
  };
9
- export type Props = FieldHelpProps & Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> & ToggleProps;
9
+ export type Props = Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> & ToggleProps;
10
10
  declare function Toggle(props: Props): import("react/jsx-runtime").JSX.Element;
11
11
  declare namespace Toggle {
12
12
  var _supportsSpacingProps: boolean;
@@ -4,7 +4,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
4
4
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
5
5
  import React, { useCallback, useMemo } from 'react';
6
6
  import classnames from 'classnames';
7
- import { Checkbox, HelpButton, ToggleButton } from '../../../../components';
7
+ import { Checkbox, ToggleButton } from '../../../../components';
8
8
  import ButtonRow from '../../Form/ButtonRow';
9
9
  import FieldBlock from '../../FieldBlock';
10
10
  import { useFieldProps } from '../../hooks';
@@ -24,11 +24,9 @@ function Toggle(props) {
24
24
  variant,
25
25
  disabled,
26
26
  label,
27
- labelDescription,
28
27
  textOn,
29
28
  textOff,
30
29
  value,
31
- help,
32
30
  hasError,
33
31
  htmlAttributes,
34
32
  handleChange,
@@ -50,9 +48,6 @@ function Toggle(props) {
50
48
  className: cn,
51
49
  disabled
52
50
  }, pickSpacingProps(props));
53
- const suffix = help ? React.createElement(HelpButton, {
54
- title: help.title
55
- }, help.content) : undefined;
56
51
  const isOn = value === valueOn;
57
52
  const isOff = value === valueOff;
58
53
  useMemo(() => {
@@ -73,7 +68,6 @@ function Toggle(props) {
73
68
  checked: isOn,
74
69
  disabled: disabled,
75
70
  status: hasError ? 'error' : undefined,
76
- suffix: suffix,
77
71
  onChange: handleCheckboxChange
78
72
  }, htmlAttributes)));
79
73
  case 'button':
@@ -83,18 +77,12 @@ function Toggle(props) {
83
77
  checked: isOn,
84
78
  disabled: disabled,
85
79
  status: hasError ? 'error' : undefined,
86
- suffix: suffix,
87
80
  value: value ? 'true' : 'false',
88
81
  on_change: handleCheckboxChange
89
82
  }, htmlAttributes)));
90
83
  case 'buttons':
91
84
  return React.createElement(FieldBlock, _extends({}, fieldBlockProps, {
92
- asFieldset: true,
93
- labelDescription: React.createElement(React.Fragment, null, labelDescription, help ? React.createElement(HelpButton, {
94
- size: "small",
95
- left: labelDescription ? 'x-small' : false,
96
- title: help.title
97
- }, help.content) : undefined)
85
+ asFieldset: true
98
86
  }), React.createElement(ButtonRow, {
99
87
  bottom: "x-small"
100
88
  }, React.createElement(ToggleButtonGroupContext.Provider, {
@@ -119,7 +107,6 @@ function Toggle(props) {
119
107
  checked: isOn,
120
108
  disabled: disabled,
121
109
  status: hasError ? 'error' : undefined,
122
- suffix: suffix,
123
110
  value: value ? 'true' : 'false',
124
111
  on_change: handleCheckboxChange
125
112
  }, htmlAttributes)));
@@ -1 +1 @@
1
- {"version":3,"file":"Toggle.js","names":["React","useCallback","useMemo","classnames","Checkbox","HelpButton","ToggleButton","ButtonRow","FieldBlock","useFieldProps","pickSpacingProps","ToggleButtonGroupContext","useTranslation","Toggle","props","translations","ToggleField","preparedProps","_objectSpread","errorMessages","id","className","valueOn","valueOff","variant","disabled","label","labelDescription","textOn","textOff","value","help","hasError","htmlAttributes","handleChange","setDisplayValue","handleCheckboxChange","checked","handleToggleChange","cn","fieldBlockProps","forId","suffix","createElement","title","content","undefined","isOn","isOff","text","path","_extends","yes","no","status","onChange","on_change","asFieldset","Fragment","size","left","bottom","Provider","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Checkbox, HelpButton, ToggleButton } from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldHelpProps, FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type ToggleProps = {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nexport type Props = FieldHelpProps &\n Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> &\n ToggleProps\n\nfunction Toggle(props: Props) {\n const translations = useTranslation().ToggleField\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n variant,\n disabled,\n label,\n labelDescription,\n textOn,\n textOff,\n value,\n help,\n hasError,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n } = useFieldProps(preparedProps)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disabled,\n ...pickSpacingProps(props),\n }\n\n const suffix = help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n useMemo(() => {\n const text = isOn ? textOn : textOff\n if (text) {\n setDisplayValue(props.path, text)\n }\n }, [isOn, props.path, setDisplayValue, textOff, textOn])\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps} label={undefined}>\n <Checkbox\n id={id}\n className={cn}\n label={\n label ??\n (isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no)\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n suffix={suffix}\n onChange={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n suffix={suffix}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock\n {...fieldBlockProps}\n asFieldset\n labelDescription={\n <>\n {labelDescription}\n {help ? (\n <HelpButton\n size=\"small\"\n left={labelDescription ? 'x-small' : false}\n title={help.title}\n >\n {help.content}\n </HelpButton>\n ) : undefined}\n </>\n }\n >\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={textOn ?? translations.yes}\n value=\"on\"\n {...htmlAttributes}\n />\n <ToggleButton\n text={textOff ?? translations.no}\n value=\"off\"\n {...htmlAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n suffix={suffix}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
1
+ {"version":3,"file":"Toggle.js","names":["React","useCallback","useMemo","classnames","Checkbox","ToggleButton","ButtonRow","FieldBlock","useFieldProps","pickSpacingProps","ToggleButtonGroupContext","useTranslation","Toggle","props","translations","ToggleField","preparedProps","_objectSpread","errorMessages","id","className","valueOn","valueOff","variant","disabled","label","textOn","textOff","value","hasError","htmlAttributes","handleChange","setDisplayValue","handleCheckboxChange","checked","handleToggleChange","cn","fieldBlockProps","forId","isOn","isOff","text","path","createElement","_extends","undefined","yes","no","status","onChange","on_change","asFieldset","bottom","Provider","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/Toggle.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react'\nimport classnames from 'classnames'\nimport { Checkbox, ToggleButton } from '../../../../components'\nimport ButtonRow from '../../Form/ButtonRow'\nimport FieldBlock, { Props as FieldBlockProps } from '../../FieldBlock'\nimport { useFieldProps } from '../../hooks'\nimport { FieldProps } from '../../types'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport ToggleButtonGroupContext from '../../../../components/toggle-button/ToggleButtonGroupContext'\nimport useTranslation from '../../hooks/useTranslation'\n\nexport type ToggleProps = {\n valueOn: unknown\n valueOff: unknown\n variant?: 'checkbox' | 'checkbox-button' | 'button' | 'buttons'\n textOn?: string\n textOff?: string\n}\n\nexport type Props = Omit<FieldProps<unknown>, 'layout' | 'layoutOptions'> &\n ToggleProps\n\nfunction Toggle(props: Props) {\n const translations = useTranslation().ToggleField\n\n const preparedProps: Props = {\n ...props,\n errorMessages: props.errorMessages,\n }\n\n const {\n id,\n className,\n valueOn,\n valueOff,\n variant,\n disabled,\n label,\n textOn,\n textOff,\n value,\n hasError,\n htmlAttributes,\n handleChange,\n setDisplayValue,\n } = useFieldProps(preparedProps)\n\n const handleCheckboxChange = useCallback(\n ({ checked }) => {\n handleChange?.(checked ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n const handleToggleChange = useCallback(\n ({ value }) => {\n handleChange?.(value === 'on' ? valueOn : valueOff)\n },\n [handleChange, valueOn, valueOff]\n )\n\n const cn = classnames('dnb-forms-field-toggle', className)\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disabled,\n ...pickSpacingProps(props),\n }\n\n const isOn = value === valueOn\n const isOff = value === valueOff\n\n useMemo(() => {\n const text = isOn ? textOn : textOff\n if (text) {\n setDisplayValue(props.path, text)\n }\n }, [isOn, props.path, setDisplayValue, textOff, textOn])\n\n switch (variant) {\n default:\n case 'checkbox':\n return (\n <FieldBlock {...fieldBlockProps} label={undefined}>\n <Checkbox\n id={id}\n className={cn}\n label={\n label ??\n (isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no)\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n onChange={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n case 'buttons':\n return (\n <FieldBlock {...fieldBlockProps} asFieldset>\n <ButtonRow bottom=\"x-small\">\n <ToggleButtonGroupContext.Provider\n value={{\n value: isOn ? 'on' : isOff ? 'off' : null, // use \"null\" to reset the value\n onChange: handleToggleChange,\n status: hasError ? 'error' : undefined,\n disabled,\n }}\n >\n <ToggleButton\n text={textOn ?? translations.yes}\n value=\"on\"\n {...htmlAttributes}\n />\n <ToggleButton\n text={textOff ?? translations.no}\n value=\"off\"\n {...htmlAttributes}\n />\n </ToggleButtonGroupContext.Provider>\n </ButtonRow>\n </FieldBlock>\n )\n case 'checkbox-button':\n return (\n <FieldBlock {...fieldBlockProps}>\n <ToggleButton\n id={id}\n variant=\"checkbox\"\n text={\n isOn\n ? textOn ?? translations.yes\n : textOff ?? translations.no\n }\n checked={isOn}\n disabled={disabled}\n status={hasError ? 'error' : undefined}\n value={value ? 'true' : 'false'}\n on_change={handleCheckboxChange}\n {...htmlAttributes}\n />\n </FieldBlock>\n )\n }\n}\n\nToggle._supportsSpacingProps = true\nexport default Toggle\n"],"mappings":"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"}
@@ -23,11 +23,6 @@ export const ToggleProperties = {
23
23
  doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',
24
24
  type: 'string',
25
25
  status: 'optional'
26
- },
27
- help: {
28
- doc: 'Provide a help button. Object consisting of `title` and `content`.',
29
- type: 'object',
30
- status: 'optional'
31
26
  }
32
27
  };
33
28
  //# sourceMappingURL=ToggleDocs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleDocs.js","names":["ToggleProperties","valueOn","doc","type","status","valueOff","textOn","textOff","variant","help"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/ToggleDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ToggleProperties: PropertiesTableProps = {\n valueOn: {\n doc: 'Source data value when the toggle is in the \"on-state\" (varies based on UI variant).',\n type: ['string', 'number', 'boolean'],\n status: 'required',\n },\n valueOff: {\n doc: 'Source data value when the toggle is in the \"off-state\".',\n type: ['string', 'number', 'boolean'],\n status: 'required',\n },\n textOn: {\n doc: 'Text to show in the UI when in the \"on-state\".',\n type: 'string',\n status: 'optional',\n },\n textOff: {\n doc: 'Text to show in the UI when in the \"off-state\".',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',\n type: 'string',\n status: 'optional',\n },\n help: {\n doc: 'Provide a help button. Object consisting of `title` and `content`.',\n type: 'object',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAsC,GAAG;EACpDC,OAAO,EAAE;IACPC,GAAG,EAAE,sFAAsF;IAC3FC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IACrCC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IACrCC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,gDAAgD;IACrDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACPN,GAAG,EAAE,wFAAwF;IAC7FC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"ToggleDocs.js","names":["ToggleProperties","valueOn","doc","type","status","valueOff","textOn","textOff","variant"],"sources":["../../../../../../src/extensions/forms/Field/Toggle/ToggleDocs.tsx"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const ToggleProperties: PropertiesTableProps = {\n valueOn: {\n doc: 'Source data value when the toggle is in the \"on-state\" (varies based on UI variant).',\n type: ['string', 'number', 'boolean'],\n status: 'required',\n },\n valueOff: {\n doc: 'Source data value when the toggle is in the \"off-state\".',\n type: ['string', 'number', 'boolean'],\n status: 'required',\n },\n textOn: {\n doc: 'Text to show in the UI when in the \"on-state\".',\n type: 'string',\n status: 'optional',\n },\n textOff: {\n doc: 'Text to show in the UI when in the \"off-state\".',\n type: 'string',\n status: 'optional',\n },\n variant: {\n doc: 'Choice of input feature. Can be: `checkbox`, `button`, `checkbox-button` or `buttons`.',\n type: 'string',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAsC,GAAG;EACpDC,OAAO,EAAE;IACPC,GAAG,EAAE,sFAAsF;IAC3FC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IACrCC,MAAM,EAAE;EACV,CAAC;EACDC,QAAQ,EAAE;IACRH,GAAG,EAAE,0DAA0D;IAC/DC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;IACrCC,MAAM,EAAE;EACV,CAAC;EACDE,MAAM,EAAE;IACNJ,GAAG,EAAE,gDAAgD;IACrDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,OAAO,EAAE;IACPL,GAAG,EAAE,iDAAiD;IACtDC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDI,OAAO,EAAE;IACPN,GAAG,EAAE,wFAAwF;IAC7FC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -1,11 +1,13 @@
1
1
  import { FieldBlockWidth } from '../../FieldBlock';
2
- import { FieldHelpProps, FieldProps } from '../../types';
2
+ import { FieldProps } from '../../types';
3
3
  import { UploadFile, UploadFileNative, UploadProps } from '../../../../components/Upload';
4
4
  import { SpacingProps } from '../../../../shared/types';
5
5
  export type UploadValue = Array<UploadFile | UploadFileNative>;
6
- export type Props = FieldHelpProps & Omit<FieldProps<UploadValue, UploadValue | undefined>, 'name'> & SpacingProps & {
6
+ export type Props = Omit<FieldProps<UploadValue, UploadValue | undefined>, 'name'> & SpacingProps & {
7
7
  width?: Omit<FieldBlockWidth, 'medium' | 'small'>;
8
- } & Pick<Partial<UploadProps>, 'title' | 'text' | 'acceptedFileTypes' | 'filesAmountLimit' | 'fileMaxSize' | 'onFileDelete' | 'skeleton'>;
8
+ } & Pick<Partial<UploadProps>, 'title' | 'text' | 'acceptedFileTypes' | 'filesAmountLimit' | 'fileMaxSize' | 'onFileDelete' | 'skeleton'> & {
9
+ asyncFileHandler?: (newFiles: UploadValue) => Promise<UploadValue>;
10
+ };
9
11
  declare function UploadComponent(props: Props): import("react/jsx-runtime").JSX.Element;
10
12
  declare namespace UploadComponent {
11
13
  var _supportsSpacingProps: boolean;
@@ -3,33 +3,40 @@
3
3
  import _extends from "@babel/runtime/helpers/esm/extends";
4
4
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
6
- const _excluded = ["id", "className", "width", "value", "label", "labelDescription", "help", "htmlAttributes", "handleChange", "handleFocus", "handleBlur"];
6
+ const _excluded = ["id", "className", "width", "value", "label", "labelDescription", "help", "htmlAttributes", "handleChange", "handleFocus", "handleBlur", "asyncFileHandler"];
7
7
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
8
8
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
9
9
  import React, { useCallback, useEffect, useMemo } from 'react';
10
+ import classnames from 'classnames';
10
11
  import FieldBlock from '../../FieldBlock';
11
12
  import { useFieldProps, useTranslation as useFormsTranslation } from '../../hooks';
12
13
  import Upload from '../../../../components/Upload';
13
14
  import useUpload from '../../../../components/upload/useUpload';
14
15
  import { pickSpacingProps } from '../../../../components/flex/utils';
15
- import { HelpButton } from '../../../../components';
16
+ import HelpButtonInline, { HelpButtonInlineContent } from '../../../../components/help-button/HelpButtonInline';
16
17
  import { useTranslation as useSharedTranslation } from '../../../../shared';
17
18
  import { FormError } from '../../utils';
19
+ const validateRequired = (value, {
20
+ required,
21
+ isChanged,
22
+ error
23
+ }) => {
24
+ const hasError = value === null || value === void 0 ? void 0 : value.some(file => file.errorMessage);
25
+ if (hasError) {
26
+ return new FormError('Upload.errorInvalidFiles');
27
+ }
28
+ const hasFiles = (value === null || value === void 0 ? void 0 : value.length) > 0;
29
+ if (required && (!isChanged && !hasFiles || !hasFiles)) {
30
+ return error;
31
+ }
32
+ return undefined;
33
+ };
34
+ const updateFileLoadingState = (files, isLoading) => {
35
+ return files.map(file => _objectSpread(_objectSpread({}, file), {}, {
36
+ isLoading
37
+ }));
38
+ };
18
39
  function UploadComponent(props) {
19
- const validateRequired = useCallback((value, {
20
- required,
21
- isChanged,
22
- error
23
- }) => {
24
- const hasError = value === null || value === void 0 ? void 0 : value.some(file => file.errorMessage);
25
- if (hasError) {
26
- return new FormError('Upload.errorInvalidFiles');
27
- }
28
- if (required && (!isChanged || !(value.length > 0))) {
29
- return error;
30
- }
31
- return undefined;
32
- }, []);
33
40
  const sharedTr = useSharedTranslation().Upload;
34
41
  const formsTr = useFormsTranslation().Upload;
35
42
  const errorMessages = useMemo(() => ({
@@ -53,7 +60,8 @@ function UploadComponent(props) {
53
60
  htmlAttributes,
54
61
  handleChange,
55
62
  handleFocus,
56
- handleBlur
63
+ handleBlur,
64
+ asyncFileHandler
57
65
  } = _useFieldProps,
58
66
  rest = _objectWithoutProperties(_useFieldProps, _excluded);
59
67
  const {
@@ -66,25 +74,42 @@ function UploadComponent(props) {
66
74
  onFileDelete
67
75
  } = rest;
68
76
  const {
77
+ files: fileContext,
69
78
  setFiles
70
79
  } = useUpload(id);
71
80
  useEffect(() => {
72
81
  setFiles(value);
73
- }, [handleBlur, setFiles, value]);
82
+ }, [setFiles, value]);
83
+ const handleChangeAsync = useCallback(async files => {
84
+ const existingFileIds = (fileContext === null || fileContext === void 0 ? void 0 : fileContext.map(file => file.id)) || [];
85
+ const newFiles = files.filter(file => !existingFileIds.includes(file.id));
86
+ if (newFiles.length > 0) {
87
+ setFiles([...fileContext, ...updateFileLoadingState(newFiles, true)]);
88
+ const uploadedFiles = updateFileLoadingState(await asyncFileHandler(newFiles), false);
89
+ handleChange([...fileContext, ...uploadedFiles]);
90
+ } else {
91
+ handleChange(files);
92
+ }
93
+ }, [fileContext, asyncFileHandler, setFiles, updateFileLoadingState]);
74
94
  const changeHandler = useCallback(({
75
95
  files
76
96
  }) => {
77
97
  handleBlur();
78
98
  handleFocus();
79
- handleChange(files);
80
- }, [handleBlur, handleChange, handleFocus]);
99
+ if (asyncFileHandler) {
100
+ handleChangeAsync(files);
101
+ } else {
102
+ handleChange(files);
103
+ }
104
+ }, [handleBlur, handleChange, handleFocus, asyncFileHandler, fileContext]);
81
105
  const width = widthProp;
82
106
  const fieldBlockProps = _objectSpread({
83
107
  id,
84
- forId: id,
108
+ forId: `${id}-input`,
85
109
  labelSrOnly: true,
86
- className,
87
- width
110
+ className: classnames('dnb-forms-field-upload', className),
111
+ width,
112
+ help: undefined
88
113
  }, pickSpacingProps(props));
89
114
  return React.createElement(FieldBlock, fieldBlockProps, React.createElement(Upload, _extends({
90
115
  id: id,
@@ -95,11 +120,15 @@ function UploadComponent(props) {
95
120
  onChange: changeHandler,
96
121
  onFileDelete: onFileDelete,
97
122
  title: label !== null && label !== void 0 ? label : title,
98
- text: help ? React.createElement(React.Fragment, null, labelDescription !== null && labelDescription !== void 0 ? labelDescription : text, React.createElement(HelpButton, {
123
+ text: help ? React.createElement(React.Fragment, null, labelDescription !== null && labelDescription !== void 0 ? labelDescription : text, React.createElement(HelpButtonInline, {
124
+ contentId: `${id}-help`,
99
125
  left: text ? 'x-small' : false,
100
- title: help.title
101
- }, help.content)) : labelDescription !== null && labelDescription !== void 0 ? labelDescription : text
102
- }, htmlAttributes)));
126
+ help: help
127
+ })) : labelDescription !== null && labelDescription !== void 0 ? labelDescription : text
128
+ }, htmlAttributes), help && React.createElement(HelpButtonInlineContent, {
129
+ contentId: `${id}-help`,
130
+ help: help
131
+ })));
103
132
  }
104
133
  export default UploadComponent;
105
134
  UploadComponent._supportsSpacingProps = true;