@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
@@ -7,21 +7,22 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
7
7
  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; }
8
8
  import React, { useMemo, useCallback } from 'react';
9
9
  import classnames from 'classnames';
10
- import { makeUniqueId } from '../../../../shared/component-helper';
11
- import { ToggleButton, Dropdown, Radio, HelpButton, Autocomplete } from '../../../../components';
10
+ import { convertJsxToString, makeUniqueId } from '../../../../shared/component-helper';
11
+ import { ToggleButton, Dropdown, Radio, Autocomplete, HelpButton } from '../../../../components';
12
12
  import OptionField from '../Option';
13
13
  import { useFieldProps } from '../../hooks';
14
+ import { checkForError } from '../../hooks/useFieldProps';
14
15
  import { pickSpacingProps } from '../../../../components/flex/utils';
15
16
  import FieldBlock from '../../FieldBlock';
16
17
  import { convertCamelCaseProps } from '../../../../shared/helpers/withCamelCaseProps';
17
18
  import useDataValue from '../../hooks/useDataValue';
18
- import { FormError } from '../../utils';
19
19
  function Selection(props) {
20
20
  const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, []);
21
21
  const {
22
22
  id,
23
23
  className,
24
24
  variant = 'dropdown',
25
+ layout = 'vertical',
25
26
  optionsLayout = 'vertical',
26
27
  placeholder,
27
28
  path,
@@ -31,7 +32,6 @@ function Selection(props) {
31
32
  error,
32
33
  hasError,
33
34
  disabled,
34
- help,
35
35
  emptyValue,
36
36
  width = 'large',
37
37
  htmlAttributes,
@@ -76,7 +76,7 @@ function Selection(props) {
76
76
  } = _ref4;
77
77
  setHasFocus(false, data === null || data === void 0 ? void 0 : data.selectedKey);
78
78
  }, [setHasFocus]);
79
- const cn = classnames(`dnb-forms-field-selection dnb-forms-field-selection__variant--${variant} dnb-forms-field-selection__options-layout--${optionsLayout}`, className);
79
+ const cn = classnames(`dnb-forms-field-selection dnb-forms-field-selection__variant--${variant} dnb-forms-field-selection--layout-${layout} dnb-forms-field-selection--options-layout--${optionsLayout}`, className);
80
80
  const fieldBlockProps = _objectSpread({
81
81
  forId: id,
82
82
  className: cn,
@@ -122,7 +122,6 @@ function Selection(props) {
122
122
  case 'dropdown':
123
123
  {
124
124
  var _data$find;
125
- const status = getStatus(error, info, warning);
126
125
  const data = renderDropdownItems(dataList).concat(makeOptions(children)).filter(Boolean);
127
126
  const displayValue = (_data$find = data.find(item => item.selectedKey === value)) === null || _data$find === void 0 ? void 0 : _data$find.content;
128
127
  setDisplayValue(path, displayValue);
@@ -132,28 +131,26 @@ function Selection(props) {
132
131
  portal_class: 'dnb-forms-field-selection__portal',
133
132
  title: placeholder,
134
133
  value: String(value !== null && value !== void 0 ? value : ''),
135
- status: (hasError || status) && 'error',
134
+ status: (hasError || checkForError([error, info, warning])) && 'error',
136
135
  disabled
137
136
  }, htmlAttributes), {}, {
138
137
  data,
139
- suffix: help ? React.createElement(HelpButton, {
140
- title: help.title
141
- }, help.content) : undefined,
142
138
  on_change: handleDropdownChange,
143
139
  on_show: handleShow,
144
140
  on_hide: handleHide,
145
141
  stretch: true
146
142
  });
147
- return React.createElement(FieldBlock, _extends({}, fieldBlockProps, {
148
- width: width
149
- }), variant === 'autocomplete' ? React.createElement(Autocomplete, _extends({}, sharedProps, autocompleteProps ? convertCamelCaseProps(autocompleteProps) : null)) : React.createElement(Dropdown, _extends({}, sharedProps, dropdownProps ? convertCamelCaseProps(dropdownProps) : null)));
143
+ const specificFieldBlockProps = {
144
+ width
145
+ };
146
+ if (layout === 'horizontal') {
147
+ specificFieldBlockProps.width = undefined;
148
+ specificFieldBlockProps.contentWidth = width;
149
+ }
150
+ return React.createElement(FieldBlock, _extends({}, fieldBlockProps, specificFieldBlockProps), variant === 'autocomplete' ? React.createElement(Autocomplete, _extends({}, sharedProps, autocompleteProps ? convertCamelCaseProps(autocompleteProps) : null)) : React.createElement(Dropdown, _extends({}, sharedProps, dropdownProps ? convertCamelCaseProps(dropdownProps) : null)));
150
151
  }
151
152
  }
152
153
  }
153
- export function getStatus(error, info, warning) {
154
- var _error$message;
155
- return (_error$message = error === null || error === void 0 ? void 0 : error.message) !== null && _error$message !== void 0 ? _error$message : warning instanceof Error && warning.message || warning instanceof FormError && warning.message || (warning === null || warning === void 0 ? void 0 : warning.toString()) || info instanceof Error && info.message || info instanceof FormError && info.message || (info === null || info === void 0 ? void 0 : info.toString());
156
- }
157
154
  function renderRadioItems(_ref6) {
158
155
  let {
159
156
  id,
@@ -179,10 +176,9 @@ function renderRadioItems(_ref6) {
179
176
  } = props,
180
177
  rest = _objectWithoutProperties(props, _excluded);
181
178
  const label = title !== null && title !== void 0 ? title : children;
182
- const status = getStatus(error, info, warning);
183
179
  const suffix = help ? React.createElement(HelpButton, {
184
180
  size: "small",
185
- title: help.title
181
+ title: convertJsxToString(help.title)
186
182
  }, help.content) : undefined;
187
183
  iterateOverItems === null || iterateOverItems === void 0 ? void 0 : iterateOverItems({
188
184
  value,
@@ -195,7 +191,7 @@ function renderRadioItems(_ref6) {
195
191
  label: variant === 'radio' ? label : undefined,
196
192
  text: variant === 'button' ? label : undefined,
197
193
  value: String((_ref7 = value !== null && value !== void 0 ? value : valueProp) !== null && _ref7 !== void 0 ? _ref7 : ''),
198
- status: (hasError || status) && 'error',
194
+ status: (hasError || checkForError([error, info, warning])) && 'error',
199
195
  suffix: suffix
200
196
  }, htmlAttributes, rest));
201
197
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Selection.js","names":["React","useMemo","useCallback","classnames","makeUniqueId","ToggleButton","Dropdown","Radio","HelpButton","Autocomplete","OptionField","useFieldProps","pickSpacingProps","FieldBlock","convertCamelCaseProps","useDataValue","FormError","Selection","props","clearValue","id","className","variant","optionsLayout","placeholder","path","value","info","warning","error","hasError","disabled","help","emptyValue","width","htmlAttributes","setHasFocus","handleChange","setDisplayValue","data","dataPath","children","autocompleteProps","dropdownProps","getValueByPath","dataList","handleDropdownChange","_ref","selectedKey","onChangeHandler","_ref2","undefined","handleShow","_ref3","handleHide","_ref4","cn","fieldBlockProps","_objectSpread","forId","disableStatusSummary","Component","items","renderRadioItems","iterateOverItems","_ref5","v","label","createElement","_extends","labelHeight","asFieldset","Children","count","Group","layout_direction","on_change","String","_data$find","status","getStatus","renderDropdownItems","concat","makeOptions","filter","Boolean","displayValue","find","item","content","sharedProps","list_class","portal_class","title","suffix","on_show","on_hide","stretch","_error$message","message","Error","toString","_ref6","valueProp","optionsCount","length","createOption","i","_ref7","rest","_objectWithoutProperties","_excluded","size","key","text","map","mapOptions","_ref8","child","isValidElement","type","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref9","_props$children","_props$value","_em","_ref10","_em2","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport { makeUniqueId } from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n HelpButton,\n Autocomplete,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { FieldProps, FieldHelpProps, Path } from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpButtonProps } from '../../../../components/HelpButton'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n convertCamelCaseProps,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n}>\n\nexport type Props = FieldHelpProps &\n FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n }\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n optionsLayout = 'vertical',\n placeholder,\n path,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n help,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n setDisplayValue,\n data,\n dataPath,\n children,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDropdownChange = useCallback(\n ({ data }) => {\n const selectedKey = data?.selectedKey\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection__options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems: ({ value: v, label }) => {\n if (v === value) {\n setDisplayValue(path, label)\n }\n },\n })\n\n return (\n <FieldBlock\n {...fieldBlockProps}\n labelHeight=\"small\"\n asFieldset={React.Children.count(items) > 1}\n >\n <Component.Group\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const status = getStatus(error, info, warning)\n const data = renderDropdownItems(dataList)\n .concat(makeOptions(children))\n .filter(Boolean)\n const displayValue = data.find((item) => item.selectedKey === value)\n ?.content\n setDisplayValue(path, displayValue)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status: (hasError || status) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n suffix: help ? (\n <HelpButton title={help.title}>{help.content}</HelpButton>\n ) : undefined,\n on_change: handleDropdownChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n return (\n <FieldBlock {...fieldBlockProps} width={width}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCaseProps(\n autocompleteProps\n ) as AutocompleteAllProps)\n : null)}\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCaseProps(\n dropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\nexport function getStatus(\n error: Error | FormError | undefined,\n info: React.ReactNode,\n warning: React.ReactNode\n) {\n return (\n error?.message ??\n ((warning instanceof Error && warning.message) ||\n (warning instanceof FormError && warning.message) ||\n warning?.toString() ||\n (info instanceof Error && info.message) ||\n (info instanceof FormError && info.message) ||\n info?.toString())\n )\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value?: Props['value']\n error?: Error | FormError | undefined\n title: React.ReactNode\n help?: HelpButtonProps\n children?: React.ReactNode\n }>\n>\n\nfunction renderRadioItems({\n id,\n value: valueProp,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n iterateOverItems?: (item: {\n value: Props['value']\n label: Props['children']\n }) => void\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const createOption = (props: OptionProps, i: number) => {\n const { value, title, children, error, help, ...rest } = props\n\n const label = title ?? children\n const status = getStatus(error, info, warning)\n const suffix = help ? (\n <HelpButton size=\"small\" title={help.title}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n iterateOverItems?.({ value, label })\n\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${id}`}\n label={variant === 'radio' ? label : undefined}\n text={variant === 'button' ? label : undefined}\n value={String(value ?? valueProp ?? '')}\n status={(hasError || status) && 'error'}\n suffix={suffix}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props, i)\n }),\n ...(mapOptions(children, { createOption }) || []),\n ].filter(Boolean)\n}\n\nexport function mapOptions(children: React.ReactNode, { createOption }) {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children, {\n createOption,\n })\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.children ?? props.title ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selectedKey = String(props.value ?? '')\n\n return { selectedKey, content }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(data: Data) {\n return (\n data?.map(({ value, title, text }) => {\n return {\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n }\n }) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
1
+ {"version":3,"file":"Selection.js","names":["React","useMemo","useCallback","classnames","convertJsxToString","makeUniqueId","ToggleButton","Dropdown","Radio","Autocomplete","HelpButton","OptionField","useFieldProps","checkForError","pickSpacingProps","FieldBlock","convertCamelCaseProps","useDataValue","Selection","props","clearValue","id","className","variant","layout","optionsLayout","placeholder","path","value","info","warning","error","hasError","disabled","emptyValue","width","htmlAttributes","setHasFocus","handleChange","setDisplayValue","data","dataPath","children","autocompleteProps","dropdownProps","getValueByPath","dataList","handleDropdownChange","_ref","selectedKey","onChangeHandler","_ref2","undefined","handleShow","_ref3","handleHide","_ref4","cn","fieldBlockProps","_objectSpread","forId","disableStatusSummary","Component","items","renderRadioItems","iterateOverItems","_ref5","v","label","createElement","_extends","labelHeight","asFieldset","Children","count","Group","layout_direction","on_change","String","_data$find","renderDropdownItems","concat","makeOptions","filter","Boolean","displayValue","find","item","content","sharedProps","list_class","portal_class","title","status","on_show","on_hide","stretch","specificFieldBlockProps","contentWidth","_ref6","valueProp","optionsCount","length","createOption","i","_ref7","help","rest","_objectWithoutProperties","_excluded","suffix","size","key","text","map","mapOptions","_ref8","child","isValidElement","type","nestedChildren","cloneElement","_child","_child$props","_child$props$children","_ref9","_props$children","_props$value","_em","_ref10","_em2","_supportsSpacingProps"],"sources":["../../../../../../src/extensions/forms/Field/Selection/Selection.tsx"],"sourcesContent":["import React, { useMemo, useCallback } from 'react'\nimport classnames from 'classnames'\nimport {\n convertJsxToString,\n makeUniqueId,\n} from '../../../../shared/component-helper'\nimport {\n ToggleButton,\n Dropdown,\n Radio,\n Autocomplete,\n HelpButton,\n} from '../../../../components'\nimport OptionField, { Props as OptionFieldProps } from '../Option'\nimport { useFieldProps } from '../../hooks'\nimport { checkForError, ReturnAdditional } from '../../hooks/useFieldProps'\nimport { pickSpacingProps } from '../../../../components/flex/utils'\nimport FieldBlock, {\n Props as FieldBlockProps,\n FieldBlockWidth,\n} from '../../FieldBlock'\nimport { FieldProps, Path } from '../../types'\nimport type { FormStatusText } from '../../../../components/FormStatus'\nimport type { AutocompleteAllProps } from '../../../../components/Autocomplete'\nimport type { DropdownAllProps } from '../../../../components/Dropdown'\nimport { HelpProps } from '../../../../components/help-button/HelpButtonInline'\nimport { DrawerListProps } from '../../../../fragments/DrawerList'\nimport {\n convertCamelCaseProps,\n ToCamelCase,\n} from '../../../../shared/helpers/withCamelCaseProps'\nimport useDataValue from '../../hooks/useDataValue'\nimport { FormError } from '../../utils'\n\ntype IOption = {\n title: string | React.ReactNode\n value: number | string\n status: FormStatusText\n}\nexport type Data = Array<{\n value: string\n title: React.ReactNode\n text?: React.ReactNode\n}>\n\nexport type Props = FieldProps<IOption['value']> & {\n /**\n * Defines the variant of the component.\n * Default: dropdown\n */\n variant?: 'dropdown' | 'autocomplete' | 'radio' | 'button'\n\n /**\n * The width of the component.\n * Default: large\n */\n width?: FieldBlockWidth\n\n /**\n * Defines the layout of the options for radio and button variants.\n */\n optionsLayout?: 'horizontal' | 'vertical'\n\n /**\n * The path to the context data (Form.Handler).\n * The context data object needs to have a `value` and a `title` property.\n */\n dataPath?: Path\n\n /**\n * Data to be used for the component. The object needs to have a `value` and a `title` property.\n * The generated options will be placed above given JSX based children.\n */\n data?: Data\n\n /**\n * Autocomplete specific props\n */\n autocompleteProps?: ToCamelCase<AutocompleteAllProps>\n\n /**\n * Dropdown specific props\n */\n dropdownProps?: ToCamelCase<DropdownAllProps>\n\n /**\n * The content of the component.\n */\n children?: React.ReactNode\n}\n\nfunction Selection(props: Props) {\n const clearValue = useMemo(() => `clear-option-${makeUniqueId()}`, [])\n\n const {\n id,\n className,\n variant = 'dropdown',\n layout = 'vertical',\n optionsLayout = 'vertical',\n placeholder,\n path,\n value,\n info,\n warning,\n error,\n hasError,\n disabled,\n emptyValue,\n width = 'large',\n htmlAttributes,\n setHasFocus,\n handleChange,\n setDisplayValue,\n data,\n dataPath,\n children,\n\n // - Autocomplete and Dropdown specific props\n autocompleteProps,\n dropdownProps,\n } = useFieldProps(props)\n\n const { getValueByPath } = useDataValue()\n let dataList = data\n if (dataPath) {\n dataList = getValueByPath(dataPath)\n }\n\n const handleDropdownChange = useCallback(\n ({ data }) => {\n const selectedKey = data?.selectedKey\n handleChange?.(\n !selectedKey || selectedKey === clearValue\n ? emptyValue\n : selectedKey\n )\n },\n [handleChange, emptyValue, clearValue]\n )\n\n const onChangeHandler = useCallback(\n ({ value }) => {\n handleChange?.(value === undefined ? emptyValue : value)\n },\n [handleChange, emptyValue]\n )\n\n // Specific handleShow and handleHide because Dropdown preserve the initially received callbacks, so changes\n // due to `useCallback` usage will have no effect, leading to useFieldPropss handleFocus and handleBlur sending out old\n // copies of value as arguments.\n const handleShow = useCallback(\n ({ data }) => {\n setHasFocus(true, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const handleHide = useCallback(\n ({ data }) => {\n setHasFocus(false, data?.selectedKey)\n },\n [setHasFocus]\n )\n\n const cn = classnames(\n 'dnb-forms-field-selection',\n `dnb-forms-field-selection__variant--${variant}`,\n `dnb-forms-field-selection--layout-${layout}`,\n `dnb-forms-field-selection--options-layout--${optionsLayout}`,\n className\n )\n\n const fieldBlockProps: FieldBlockProps = {\n forId: id,\n className: cn,\n disableStatusSummary: true,\n ...pickSpacingProps(props),\n }\n\n switch (variant) {\n case 'radio':\n case 'button': {\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n const items = renderRadioItems({\n id,\n value,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems: ({ value: v, label }) => {\n if (v === value) {\n setDisplayValue(path, label)\n }\n },\n })\n\n return (\n <FieldBlock\n {...fieldBlockProps}\n labelHeight=\"small\"\n asFieldset={React.Children.count(items) > 1}\n >\n <Component.Group\n className={cn}\n layout_direction={\n optionsLayout === 'horizontal' ? 'row' : 'column'\n }\n disabled={disabled}\n on_change={onChangeHandler}\n value={String(value ?? '')}\n >\n {items}\n </Component.Group>\n </FieldBlock>\n )\n }\n\n case 'autocomplete':\n case 'dropdown': {\n const data = renderDropdownItems(dataList)\n .concat(makeOptions(children))\n .filter(Boolean)\n const displayValue = data.find((item) => item.selectedKey === value)\n ?.content\n setDisplayValue(path, displayValue)\n\n const sharedProps: AutocompleteAllProps & DropdownAllProps = {\n id,\n list_class: 'dnb-forms-field-selection__list',\n portal_class: 'dnb-forms-field-selection__portal',\n title: placeholder,\n value: String(value ?? ''),\n status:\n (hasError || checkForError([error, info, warning])) && 'error',\n disabled,\n ...htmlAttributes,\n data,\n on_change: handleDropdownChange,\n on_show: handleShow,\n on_hide: handleHide,\n stretch: true,\n }\n\n const specificFieldBlockProps: FieldBlockProps = {\n width,\n }\n if (layout === 'horizontal') {\n specificFieldBlockProps.width = undefined\n specificFieldBlockProps.contentWidth = width\n }\n\n return (\n <FieldBlock {...fieldBlockProps} {...specificFieldBlockProps}>\n {variant === 'autocomplete' ? (\n <Autocomplete\n {...sharedProps}\n {...(autocompleteProps\n ? (convertCamelCaseProps(\n autocompleteProps\n ) as AutocompleteAllProps)\n : null)}\n />\n ) : (\n <Dropdown\n {...sharedProps}\n {...(dropdownProps\n ? (convertCamelCaseProps(\n dropdownProps\n ) as DropdownAllProps)\n : null)}\n />\n )}\n </FieldBlock>\n )\n }\n }\n}\n\ntype OptionProps = React.ComponentProps<\n React.FC<{\n value: Props['value']\n error: Error | FormError | undefined\n help: HelpProps\n title: React.ReactNode\n children: React.ReactNode\n }>\n>\n\nfunction renderRadioItems({\n id,\n value: valueProp,\n variant,\n info,\n warning,\n htmlAttributes,\n children,\n dataList,\n hasError,\n iterateOverItems,\n}: {\n id: string\n value: Props['value']\n variant: Props['variant']\n info: Props['info']\n warning: Props['warning']\n htmlAttributes: Props['htmlAttributes']\n children: Props['children']\n dataList: Data\n hasError: ReturnAdditional<Props['value']>['hasError']\n iterateOverItems?: (item: {\n value: Props['value']\n label: Props['children']\n }) => void\n}) {\n const optionsCount =\n React.Children.count(children) + (dataList?.length || 0)\n\n const createOption = (props: OptionProps, i: number) => {\n const { value, title, children, error, help, ...rest } = props\n\n const label = title ?? children\n const suffix = help ? (\n <HelpButton size=\"small\" title={convertJsxToString(help.title)}>\n {help.content}\n </HelpButton>\n ) : undefined\n\n iterateOverItems?.({ value, label })\n\n const Component = (\n variant === 'radio' ? Radio : ToggleButton\n ) as typeof Radio & typeof ToggleButton\n\n return (\n <Component\n id={optionsCount === 1 ? id : undefined}\n key={`option-${i}-${id}`}\n label={variant === 'radio' ? label : undefined}\n text={variant === 'button' ? label : undefined}\n value={String(value ?? valueProp ?? '')}\n status={\n (hasError || checkForError([error, info, warning])) && 'error'\n }\n suffix={suffix}\n {...htmlAttributes}\n {...rest}\n />\n )\n }\n\n return [\n ...(dataList || []).map((props, i) => {\n return createOption(props as OptionProps, i)\n }),\n ...(mapOptions(children, { createOption }) || []),\n ].filter(Boolean)\n}\n\nexport function mapOptions(children: React.ReactNode, { createOption }) {\n return React.Children.map(\n children,\n (child: React.ReactElement<OptionProps>, i) => {\n if (React.isValidElement(child)) {\n if (child.type === OptionField) {\n return createOption(child.props, i)\n }\n\n if (child.props.children) {\n const nestedChildren = mapOptions(child.props.children, {\n createOption,\n })\n return React.cloneElement(child, child.props, nestedChildren)\n }\n }\n\n return child\n }\n )\n}\n\nexport function makeOptions<T = DrawerListProps['data']>(\n children: React.ReactNode\n): T {\n return React.Children.map(children, (child) => {\n if (child?.['props']?.children?.type === OptionField) {\n child = child['props'].children\n }\n\n if (React.isValidElement(child) && child.type === OptionField) {\n const props = child.props as OptionFieldProps\n const title = props.children ?? props.title ?? <em>Untitled</em>\n const content = props.text ? [title, props.text] : title\n const selectedKey = String(props.value ?? '')\n\n return { selectedKey, content }\n }\n\n // For other children, just show them as content\n if (child) {\n return {\n content: child,\n }\n }\n }) as T\n}\n\nfunction renderDropdownItems(data: Data) {\n return (\n data?.map(({ value, title, text }) => {\n return {\n selectedKey: value,\n content: (text ? [title, text] : title) || <em>Untitled</em>,\n }\n }) || []\n )\n}\n\nSelection._supportsSpacingProps = true\nexport default Selection\n"],"mappings":"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"}
@@ -19,11 +19,6 @@ export const SelectionProperties = {
19
19
  type: ['string', 'false'],
20
20
  status: 'optional'
21
21
  },
22
- help: {
23
- doc: 'Provide a help button. Object consisting of `title` and `content`.',
24
- type: 'object',
25
- status: 'optional'
26
- },
27
22
  data: {
28
23
  doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',
29
24
  type: 'array',
@@ -45,7 +40,7 @@ export const SelectionProperties = {
45
40
  status: 'optional'
46
41
  },
47
42
  children: {
48
- doc: 'For providing Option components.',
43
+ doc: 'For providing Option components, and other children.',
49
44
  type: 'React.Node',
50
45
  status: 'optional'
51
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionDocs.js","names":["SelectionProperties","variant","doc","type","status","value","optionsLayout","width","help","data","dataPath","autocompleteProps","dropdownProps","children"],"sources":["../../../../../../src/extensions/forms/Field/Selection/SelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SelectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Choice of UI feature. Can be: `dropdown`, `autocomplete`, `radio` or `button`.',\n type: 'string',\n status: 'optional',\n },\n value: {\n doc: 'Defines the `value`. When using variant `radio` or `button`, value has to be a `string`.',\n type: ['number', 'string'],\n status: 'optional',\n },\n optionsLayout: {\n doc: 'Layout for the list of options. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`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 data: {\n doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',\n type: 'array',\n status: 'optional',\n },\n dataPath: {\n doc: 'The path to the context data (Form.Handler). The context data object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',\n type: 'string',\n status: 'optional',\n },\n autocompleteProps: {\n doc: 'Forward any additional props (camelCase) to the [Autocomplete](/uilib/components/autocomplete/) component.',\n type: 'object',\n status: 'optional',\n },\n dropdownProps: {\n doc: 'Forward any additional props (camelCase) to the [Dropdown](/uilib/components/dropdown/) component.',\n type: 'object',\n status: 'optional',\n },\n children: {\n doc: 'For providing Option components.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,mBAAyC,GAAG;EACvDC,OAAO,EAAE;IACPC,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDE,aAAa,EAAE;IACbJ,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDK,IAAI,EAAE;IACJP,GAAG,EAAE,iRAAiR;IACtRC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE;EACV,CAAC;EACDM,QAAQ,EAAE;IACRR,GAAG,EAAE,2LAA2L;IAChMC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,iBAAiB,EAAE;IACjBT,GAAG,EAAE,4GAA4G;IACjHC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,aAAa,EAAE;IACbV,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDS,QAAQ,EAAE;IACRX,GAAG,EAAE,kCAAkC;IACvCC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC"}
1
+ {"version":3,"file":"SelectionDocs.js","names":["SelectionProperties","variant","doc","type","status","value","optionsLayout","width","data","dataPath","autocompleteProps","dropdownProps","children"],"sources":["../../../../../../src/extensions/forms/Field/Selection/SelectionDocs.ts"],"sourcesContent":["import { PropertiesTableProps } from '../../../../shared/types'\n\nexport const SelectionProperties: PropertiesTableProps = {\n variant: {\n doc: 'Choice of UI feature. Can be: `dropdown`, `autocomplete`, `radio` or `button`.',\n type: 'string',\n status: 'optional',\n },\n value: {\n doc: 'Defines the `value`. When using variant `radio` or `button`, value has to be a `string`.',\n type: ['number', 'string'],\n status: 'optional',\n },\n optionsLayout: {\n doc: 'Layout for the list of options. Can be `horizontal` or `vertical`.',\n type: 'string',\n status: 'optional',\n },\n width: {\n doc: '`small`, `medium` or `large` for predefined standard widths, `stretch` for fill available width.',\n type: ['string', 'false'],\n status: 'optional',\n },\n data: {\n doc: 'Data to be used for the component. The object needs to have a `value` and a `title` property. Provide the Dropdown or Autocomplete data in the format documented here: [Dropdown](/uilib/components/dropdown) and [Autocomplete](/uilib/components/autocomplete) documentation.',\n type: 'array',\n status: 'optional',\n },\n dataPath: {\n doc: 'The path to the context data (Form.Handler). The context data object needs to have a `value` and a `title` property. The generated options will be placed above given JSX based children.',\n type: 'string',\n status: 'optional',\n },\n autocompleteProps: {\n doc: 'Forward any additional props (camelCase) to the [Autocomplete](/uilib/components/autocomplete/) component.',\n type: 'object',\n status: 'optional',\n },\n dropdownProps: {\n doc: 'Forward any additional props (camelCase) to the [Dropdown](/uilib/components/dropdown/) component.',\n type: 'object',\n status: 'optional',\n },\n children: {\n doc: 'For providing Option components, and other children.',\n type: 'React.Node',\n status: 'optional',\n },\n}\n"],"mappings":"AAEA,OAAO,MAAMA,mBAAyC,GAAG;EACvDC,OAAO,EAAE;IACPC,GAAG,EAAE,gFAAgF;IACrFC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDC,KAAK,EAAE;IACLH,GAAG,EAAE,0FAA0F;IAC/FC,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1BC,MAAM,EAAE;EACV,CAAC;EACDE,aAAa,EAAE;IACbJ,GAAG,EAAE,oEAAoE;IACzEC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDG,KAAK,EAAE;IACLL,GAAG,EAAE,kGAAkG;IACvGC,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;IACzBC,MAAM,EAAE;EACV,CAAC;EACDI,IAAI,EAAE;IACJN,GAAG,EAAE,iRAAiR;IACtRC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE;EACV,CAAC;EACDK,QAAQ,EAAE;IACRP,GAAG,EAAE,2LAA2L;IAChMC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDM,iBAAiB,EAAE;IACjBR,GAAG,EAAE,4GAA4G;IACjHC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDO,aAAa,EAAE;IACbT,GAAG,EAAE,oGAAoG;IACzGC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE;EACV,CAAC;EACDQ,QAAQ,EAAE;IACRV,GAAG,EAAE,sDAAsD;IAC3DC,IAAI,EAAE,YAAY;IAClBC,MAAM,EAAE;EACV;AACF,CAAC"}
@@ -4,6 +4,9 @@
4
4
  .dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label, .dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label {
5
5
  margin-bottom: 0;
6
6
  }
7
+ .dnb-forms-field-selection--options-layout--vertical.dnb-forms-field-selection--layout-horizontal .dnb-forms-field-block__label {
8
+ align-items: flex-start;
9
+ }
7
10
  .dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label {
8
11
  line-height: 2.5rem;
9
12
  }
@@ -1 +1 @@
1
- .dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}
1
+ .dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{align-self:center}.dnb-forms-field-selection__options-layout--horizontal .dnb-forms-field-block--layout-horizontal .dnb-form-label,.dnb-forms-field-selection__variant--dropdown .dnb-forms-field-block--layout-horizontal .dnb-form-label{margin-bottom:0}.dnb-forms-field-selection--options-layout--vertical.dnb-forms-field-selection--layout-horizontal .dnb-forms-field-block__label{align-items:flex-start}.dnb-forms-field-selection__variant--button .dnb-forms-field-block--layout-horizontal .dnb-form-label{line-height:2.5rem}.dnb-forms-field-selection .dnb-forms-field-block__contents{display:flex}.dnb-forms-field-selection .dnb-radio-group .dnb-height-animation,.dnb-forms-field-selection .dnb-radio-group>.dnb-flex-container,.dnb-forms-field-selection .dnb-toggle-button-group .dnb-height-animation,.dnb-forms-field-selection .dnb-toggle-button-group>.dnb-flex-container{flex-grow:1;width:100%}
@@ -14,6 +14,11 @@
14
14
  }
15
15
  }
16
16
  }
17
+ &--options-layout--vertical#{&}--layout-horizontal {
18
+ .dnb-forms-field-block__label {
19
+ align-items: flex-start;
20
+ }
21
+ }
17
22
  &__variant--button {
18
23
  .dnb-forms-field-block {
19
24
  &--layout-horizontal .dnb-form-label {
@@ -1,12 +1,12 @@
1
1
  import React from 'react';
2
2
  import { FieldBlockWidth } from '../../FieldBlock';
3
- import { FieldHelpProps, FieldProps, Path } from '../../types';
3
+ import { FieldProps, Path } from '../../types';
4
4
  import { SliderProps } from '../../../../components/Slider';
5
5
  export type SliderVisibilityEvent = React.MouseEvent<HTMLButtonElement> & {
6
6
  value: string;
7
7
  };
8
8
  export type SliderValue = number | Array<number>;
9
- export type Props = FieldHelpProps & FieldProps<SliderValue> & {
9
+ export type Props = FieldProps<SliderValue> & {
10
10
  /**
11
11
  * Define an array with JSON Pointers for multiple thumb buttons.
12
12
  */
@@ -9,7 +9,6 @@ import { useFieldProps } from '../../hooks';
9
9
  import { getFormattedNumber } from '../../../../components/slider/SliderHelpers';
10
10
  import Slider from '../../../../components/Slider';
11
11
  import { pickSpacingProps } from '../../../../components/flex/utils';
12
- import { HelpButton } from '../../../../components';
13
12
  import DataContext from '../../DataContext/Context';
14
13
  import useDataValue from '../../hooks/useDataValue';
15
14
  function SliderComponent(props) {
@@ -38,7 +37,6 @@ function SliderComponent(props) {
38
37
  min = 0,
39
38
  max = 100,
40
39
  width = 'stretch',
41
- help,
42
40
  hasError,
43
41
  disabled,
44
42
  vertical,
@@ -89,9 +87,6 @@ function SliderComponent(props) {
89
87
  max,
90
88
  disabled,
91
89
  status: hasError ? 'error' : undefined,
92
- suffix: help ? React.createElement(HelpButton, {
93
- title: help.title
94
- }, help.content) : undefined,
95
90
  on_change: handleLocalChange,
96
91
  on_drag_start: handleFocus,
97
92
  on_drag_end: handleBlur,
@@ -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","_ref2","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","_ref2","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":";;;;;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,UAAU,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AACvE,OAAOC,UAAU,MAGV,kBAAkB;AACzB,SAASC,aAAa,QAAQ,aAAa;AAE3C,SAASC,kBAAkB,QAAQ,6CAA6C;AAChF,OAAOC,MAAM,MAAuB,+BAA+B;AACnE,SAASC,gBAAgB,QAAQ,mCAAmC;AACpE,OAAOC,WAAW,MAAwB,2BAA2B;AACrE,OAAOC,YAAY,MAAM,0BAA0B;AA+BnD,SAASC,eAAeA,CAACC,KAAY,EAAE;EAAA,IAAAC,IAAA,EAAAC,YAAA;EACrC,MAAMC,cAAc,GAAGZ,MAAM,CAAe,CAAC;EAC7CY,cAAc,CAACC,OAAO,GAAGf,UAAU,CAAeQ,WAAW,CAAC;EAE9D,MAAM;IAAEQ;EAAe,CAAC,GAAGP,YAAY,CAAC,CAAC;EACzC,MAAMQ,SAAS,GAAGlB,WAAW,CAC1BmB,MAAwC,IAAK;IAC5C,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,EAAE;MACzB,OAAOA,MAAM,CAACG,GAAG,CAAEC,CAAC,IAAKN,cAAc,CAACM,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD;IAEA,OAAON,cAAc,CAACE,MAAM,CAAC,IAAI,CAAC;EACpC,CAAC,EACD,CAACF,cAAc,CACjB,CAAC;EAED,MAAMO,KAAK,GAAGN,SAAS,EAAAL,IAAA,IAAAC,YAAA,GAACF,KAAK,CAACa,KAAK,cAAAX,YAAA,cAAAA,YAAA,GAAIF,KAAK,CAACc,IAAI,cAAAb,IAAA,cAAAA,IAAA,GAAID,KAAK,CAACY,KAAK,CAAC;EACjE,MAAMG,aAAa,GAAAC,aAAA,CAAAA,aAAA,KACdhB,KAAK;IACRiB,IAAI,EAAEZ,cAAc,CAACL,KAAK,CAACiB,IAAI,CAAC;IAChCC,GAAG,EAAEb,cAAc,CAACL,KAAK,CAACkB,GAAG,CAAC;IAC9BC,GAAG,EAAEd,cAAc,CAACL,KAAK,CAACmB,GAAG;EAAC,EAC/B;EAED,MAAM;IACJC,EAAE;IACFN,IAAI;IACJG,IAAI,GAAG,CAAC;IACRC,GAAG,GAAG,CAAC;IACPC,GAAG,GAAG,GAAG;IACTE,KAAK,GAAG,SAAS;IACjBC,QAAQ;IACRC,QAAQ;IACRC,QAAQ;IACRC,OAAO;IACPC,WAAW;IACXC,kBAAkB;IAClBC,UAAU;IACVC,aAAa;IACbC,QAAQ;IACRC,YAAY;IACZC,OAAO;IACPC,iBAAiB;IACjBC,UAAU;IACVC,YAAY;IACZC,WAAW;IACXC,UAAU;IACVC;EACF,CAAC,GAAG7C,aAAa,CAACsB,aAAa,EAAE;IAC/BwB,uBAAuB,EAAE;EAC3B,CAAC,CAAC;EAEFjD,OAAO,CAAC,MAAM;IACZ,IAAIwB,IAAI,IAAIiB,YAAY,EAAE;MACxB,MAAM;QAAES;MAAO,CAAC,GAAG9C,kBAAkB,CAACkB,KAAK,EAAEmB,YAAY,CAAC;MAC1DO,eAAe,CAACxB,IAAI,EAAE0B,MAAM,CAAC;IAC/B;EACF,CAAC,EAAE,CAACT,YAAY,EAAEjB,IAAI,EAAEwB,eAAe,EAAE1B,KAAK,CAAC,CAAC;EAEhD,MAAM6B,iBAAiB,GAAGrD,WAAW,CACnCsD,KAAA,IAA6C;IAAA,IAA5C;MAAE9B;IAAoC,CAAC,GAAA8B,KAAA;IACtC,IAAIlC,KAAK,CAACC,OAAO,CAACT,KAAK,CAACa,KAAK,CAAC,IAAIL,KAAK,CAACC,OAAO,CAACG,KAAK,CAAC,EAAE;MACtDA,KAAK,CAAC+B,OAAO,CAAC,CAAC/B,KAAK,EAAEgC,CAAC,KAAK;QAC1BzC,cAAc,CAACC,OAAO,CAACyC,eAAe,CAAC7C,KAAK,CAACa,KAAK,CAAC+B,CAAC,CAAC,EAAEhC,KAAK,CAAC;MAC/D,CAAC,CAAC;IACJ;IAEAuB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAGvB,KAAK,CAAC;EACvB,CAAC,EACD,CAACuB,YAAY,EAAEnC,KAAK,CAACa,KAAK,CAC5B,CAAC;EAED,MAAMiC,eAAgC,GAAA9B,aAAA;IACpC+B,KAAK,EAAE3B,EAAE;IACTC;EAAK,GACFzB,gBAAgB,CAACI,KAAK,CAAC,CAC3B;EAED,MAAMgD,WAAwB,GAAG;IAC/BpC,KAAK;IACLK,IAAI;IACJC,GAAG;IACHC,GAAG;IACHI,QAAQ;IACR0B,MAAM,EAAE3B,QAAQ,GAAG,OAAO,GAAG4B,SAAS;IACtCC,SAAS,EAAEV,iBAAiB;IAC5BW,aAAa,EAAEhB,WAAW;IAC1BiB,WAAW,EAAEhB,UAAU;IACvBb,QAAQ;IACRC,OAAO;IACPC,WAAW;IACXC,kBAAkB;IAClBC,UAAU;IACVC,aAAa;IACbC,QAAQ;IACRC,YAAY;IACZC,OAAO;IACPC,iBAAiB;IACjBC,UAAU;IACVoB,OAAO,EAAE;EACX,CAAC;EAED,OACEnE,KAAA,CAAAoE,aAAA,CAAC/D,UAAU,EAAKsD,eAAe,EAC7B3D,KAAA,CAAAoE,aAAA,CAAC5D,MAAM,EAAKqD,WAAc,CAChB,CAAC;AAEjB;AAEA,eAAejD,eAAe;AAE9BA,eAAe,CAACyD,qBAAqB,GAAG,IAAI"}
@@ -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,
@@ -137,9 +136,6 @@ function StringComponent(props) {
137
136
  inputMode,
138
137
  className: cn,
139
138
  placeholder,
140
- suffix: help ? React.createElement(HelpButton, {
141
- title: help.title
142
- }, help.content) : undefined,
143
139
  on_focus: handleFocus,
144
140
  on_blur: handleBlur,
145
141
  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","_ref","_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","_ref","_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
+ }