@navikt/ds-react 6.1.1 → 6.3.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 (438) hide show
  1. package/cjs/accordion/Accordion.d.ts +4 -4
  2. package/cjs/alert/Alert.d.ts +12 -10
  3. package/cjs/alert/Alert.js.map +1 -1
  4. package/cjs/button/Button.d.ts +9 -8
  5. package/cjs/button/Button.js.map +1 -1
  6. package/cjs/chat/Chat.d.ts +6 -6
  7. package/cjs/chips/Chips.d.ts +2 -2
  8. package/cjs/copybutton/CopyButton.d.ts +14 -12
  9. package/cjs/copybutton/CopyButton.js.map +1 -1
  10. package/cjs/date/datepicker/types.d.ts +7 -6
  11. package/cjs/date/hooks/useDatepicker.d.ts +4 -3
  12. package/cjs/date/hooks/useDatepicker.js.map +1 -1
  13. package/cjs/date/hooks/useMonthPicker.d.ts +4 -3
  14. package/cjs/date/hooks/useMonthPicker.js.map +1 -1
  15. package/cjs/date/monthpicker/types.d.ts +2 -1
  16. package/cjs/date/parts/DateInput.d.ts +1 -1
  17. package/cjs/expansion-card/ExpansionCardTitle.d.ts +1 -1
  18. package/cjs/form/checkbox/CheckboxGroup.d.ts +3 -3
  19. package/cjs/form/checkbox/types.d.ts +4 -4
  20. package/cjs/form/combobox/ComboboxProvider.js +5 -1
  21. package/cjs/form/combobox/ComboboxProvider.js.map +1 -1
  22. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +14 -12
  23. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  24. package/cjs/form/combobox/FilteredOptions/filtered-options-util.d.ts +3 -3
  25. package/cjs/form/combobox/FilteredOptions/filtered-options-util.js +1 -3
  26. package/cjs/form/combobox/FilteredOptions/filtered-options-util.js.map +1 -1
  27. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.d.ts +8 -5
  28. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +8 -13
  29. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  30. package/cjs/form/combobox/Input/Input.js +9 -7
  31. package/cjs/form/combobox/Input/Input.js.map +1 -1
  32. package/cjs/form/combobox/SelectedOptions/SelectedOptions.d.ts +2 -1
  33. package/cjs/form/combobox/SelectedOptions/SelectedOptions.js +3 -3
  34. package/cjs/form/combobox/SelectedOptions/SelectedOptions.js.map +1 -1
  35. package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.d.ts +10 -7
  36. package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.js +6 -8
  37. package/cjs/form/combobox/SelectedOptions/selectedOptionsContext.js.map +1 -1
  38. package/cjs/form/combobox/combobox-utils.d.ts +10 -0
  39. package/cjs/form/combobox/combobox-utils.js +27 -0
  40. package/cjs/form/combobox/combobox-utils.js.map +1 -0
  41. package/cjs/form/combobox/customOptionsContext.d.ts +5 -4
  42. package/cjs/form/combobox/customOptionsContext.js +1 -1
  43. package/cjs/form/combobox/customOptionsContext.js.map +1 -1
  44. package/cjs/form/combobox/types.d.ts +33 -22
  45. package/cjs/form/error-summary/ErrorSummary.d.ts +5 -5
  46. package/cjs/form/file-upload/FileUpload.context.d.ts +8 -0
  47. package/cjs/form/file-upload/FileUpload.context.js +7 -0
  48. package/cjs/form/file-upload/FileUpload.context.js.map +1 -0
  49. package/cjs/form/file-upload/FileUpload.d.ts +118 -0
  50. package/cjs/form/file-upload/FileUpload.js +73 -0
  51. package/cjs/form/file-upload/FileUpload.js.map +1 -0
  52. package/cjs/form/file-upload/FileUpload.types.d.ts +55 -0
  53. package/cjs/form/file-upload/FileUpload.types.js +8 -0
  54. package/cjs/form/file-upload/FileUpload.types.js.map +1 -0
  55. package/cjs/form/file-upload/i18n/get.d.ts +2 -0
  56. package/cjs/form/file-upload/i18n/get.js +38 -0
  57. package/cjs/form/file-upload/i18n/get.js.map +1 -0
  58. package/cjs/form/file-upload/i18n/i18n.context.d.ts +11 -0
  59. package/cjs/form/file-upload/i18n/i18n.context.js +39 -0
  60. package/cjs/form/file-upload/i18n/i18n.context.js.map +1 -0
  61. package/cjs/form/file-upload/i18n/i18n.types.d.ts +13 -0
  62. package/cjs/form/file-upload/i18n/i18n.types.js +3 -0
  63. package/cjs/form/file-upload/i18n/i18n.types.js.map +1 -0
  64. package/cjs/form/file-upload/i18n/locales/nb.json +20 -0
  65. package/cjs/form/file-upload/i18n/merge.d.ts +2 -0
  66. package/cjs/form/file-upload/i18n/merge.js +29 -0
  67. package/cjs/form/file-upload/i18n/merge.js.map +1 -0
  68. package/cjs/form/file-upload/index.d.ts +7 -0
  69. package/cjs/form/file-upload/index.js +16 -0
  70. package/cjs/form/file-upload/index.js.map +1 -0
  71. package/cjs/form/file-upload/parts/Trigger.d.ts +7 -0
  72. package/cjs/form/file-upload/parts/Trigger.js +43 -0
  73. package/cjs/form/file-upload/parts/Trigger.js.map +1 -0
  74. package/cjs/form/file-upload/parts/dropzone/Dropzone.d.ts +4 -0
  75. package/cjs/form/file-upload/parts/dropzone/Dropzone.js +106 -0
  76. package/cjs/form/file-upload/parts/dropzone/Dropzone.js.map +1 -0
  77. package/cjs/form/file-upload/parts/dropzone/dropzone.types.d.ts +18 -0
  78. package/cjs/form/file-upload/parts/dropzone/dropzone.types.js +3 -0
  79. package/cjs/form/file-upload/parts/dropzone/dropzone.types.js.map +1 -0
  80. package/cjs/form/file-upload/parts/dropzone/useDropzone.d.ts +13 -0
  81. package/cjs/form/file-upload/parts/dropzone/useDropzone.js +34 -0
  82. package/cjs/form/file-upload/parts/dropzone/useDropzone.js.map +1 -0
  83. package/cjs/form/file-upload/parts/item/Item.d.ts +55 -0
  84. package/cjs/form/file-upload/parts/item/Item.js +79 -0
  85. package/cjs/form/file-upload/parts/item/Item.js.map +1 -0
  86. package/cjs/form/file-upload/parts/item/Item.types.d.ts +5 -0
  87. package/cjs/form/file-upload/parts/item/Item.types.js +3 -0
  88. package/cjs/form/file-upload/parts/item/Item.types.js.map +1 -0
  89. package/cjs/form/file-upload/parts/item/ItemButton.d.ts +12 -0
  90. package/cjs/form/file-upload/parts/item/ItemButton.js +22 -0
  91. package/cjs/form/file-upload/parts/item/ItemButton.js.map +1 -0
  92. package/cjs/form/file-upload/parts/item/ItemIcon.d.ts +9 -0
  93. package/cjs/form/file-upload/parts/item/ItemIcon.js +51 -0
  94. package/cjs/form/file-upload/parts/item/ItemIcon.js.map +1 -0
  95. package/cjs/form/file-upload/parts/item/ItemName.d.ts +9 -0
  96. package/cjs/form/file-upload/parts/item/ItemName.js +32 -0
  97. package/cjs/form/file-upload/parts/item/ItemName.js.map +1 -0
  98. package/cjs/form/file-upload/parts/item/utils/download-file.d.ts +1 -0
  99. package/cjs/form/file-upload/parts/item/utils/download-file.js +13 -0
  100. package/cjs/form/file-upload/parts/item/utils/download-file.js.map +1 -0
  101. package/cjs/form/file-upload/parts/item/utils/file-type-checker.d.ts +2 -0
  102. package/cjs/form/file-upload/parts/item/utils/file-type-checker.js +6 -0
  103. package/cjs/form/file-upload/parts/item/utils/file-type-checker.js.map +1 -0
  104. package/cjs/form/file-upload/parts/item/utils/format-file-size.d.ts +2 -0
  105. package/cjs/form/file-upload/parts/item/utils/format-file-size.js +24 -0
  106. package/cjs/form/file-upload/parts/item/utils/format-file-size.js.map +1 -0
  107. package/cjs/form/file-upload/useFileUpload.d.ts +12 -0
  108. package/cjs/form/file-upload/useFileUpload.js +33 -0
  109. package/cjs/form/file-upload/useFileUpload.js.map +1 -0
  110. package/cjs/form/file-upload/utils/is-accepted-file-type.d.ts +1 -0
  111. package/cjs/form/file-upload/utils/is-accepted-file-type.js +26 -0
  112. package/cjs/form/file-upload/utils/is-accepted-file-type.js.map +1 -0
  113. package/cjs/form/file-upload/utils/is-accepted-size.d.ts +1 -0
  114. package/cjs/form/file-upload/utils/is-accepted-size.js +11 -0
  115. package/cjs/form/file-upload/utils/is-accepted-size.js.map +1 -0
  116. package/cjs/form/file-upload/utils/validate-files.d.ts +8 -0
  117. package/cjs/form/file-upload/utils/validate-files.js +48 -0
  118. package/cjs/form/file-upload/utils/validate-files.js.map +1 -0
  119. package/cjs/form/radio/RadioGroup.d.ts +1 -1
  120. package/cjs/form/search/Search.d.ts +3 -2
  121. package/cjs/form/search/Search.js.map +1 -1
  122. package/cjs/form/select/Select.d.ts +9 -9
  123. package/cjs/form/switch/Switch.d.ts +5 -5
  124. package/cjs/form/textarea/Textarea.d.ts +5 -4
  125. package/cjs/form/textarea/Textarea.js.map +1 -1
  126. package/cjs/form/useFormField.d.ts +10 -8
  127. package/cjs/form/useFormField.js.map +1 -1
  128. package/cjs/index.d.ts +1 -0
  129. package/cjs/index.js +3 -1
  130. package/cjs/index.js.map +1 -1
  131. package/cjs/layout/bleed/Bleed.d.ts +9 -1
  132. package/cjs/layout/bleed/Bleed.js.map +1 -1
  133. package/cjs/layout/box/Box.d.ts +5 -5
  134. package/cjs/layout/grid/HGrid.d.ts +1 -3
  135. package/cjs/layout/grid/HGrid.js.map +1 -1
  136. package/cjs/layout/page/Page.d.ts +2 -2
  137. package/cjs/layout/responsive/Responsive.d.ts +2 -4
  138. package/cjs/layout/responsive/Responsive.js.map +1 -1
  139. package/cjs/layout/stack/Stack.d.ts +18 -4
  140. package/cjs/layout/stack/Stack.js.map +1 -1
  141. package/cjs/list/types.d.ts +1 -1
  142. package/cjs/loader/Loader.d.ts +0 -6
  143. package/cjs/loader/Loader.js.map +1 -1
  144. package/cjs/modal/Modal.js +2 -2
  145. package/cjs/modal/types.d.ts +8 -8
  146. package/cjs/pagination/Pagination.d.ts +3 -2
  147. package/cjs/pagination/Pagination.js.map +1 -1
  148. package/cjs/pagination/PaginationItem.d.ts +1 -1
  149. package/cjs/popover/Popover.d.ts +2 -1
  150. package/cjs/popover/Popover.js.map +1 -1
  151. package/cjs/read-more/ReadMore.d.ts +7 -7
  152. package/cjs/stepper/Step.d.ts +4 -4
  153. package/cjs/stepper/Stepper.d.ts +7 -5
  154. package/cjs/stepper/Stepper.js.map +1 -1
  155. package/cjs/table/AnimateHeight.d.ts +1 -1
  156. package/cjs/table/DataCell.d.ts +1 -3
  157. package/cjs/table/DataCell.js.map +1 -1
  158. package/cjs/tabs/TabList.d.ts +1 -1
  159. package/cjs/tabs/Tabs.d.ts +7 -7
  160. package/cjs/timeline/Timeline.d.ts +6 -3
  161. package/cjs/timeline/Timeline.js +2 -1
  162. package/cjs/timeline/Timeline.js.map +1 -1
  163. package/cjs/timeline/period/index.d.ts +3 -2
  164. package/cjs/timeline/period/index.js.map +1 -1
  165. package/cjs/tooltip/Tooltip.d.ts +19 -12
  166. package/cjs/tooltip/Tooltip.js.map +1 -1
  167. package/cjs/util/create-context.d.ts +1 -0
  168. package/cjs/util/create-context.js.map +1 -1
  169. package/cjs/util/hooks/useEventListener.d.ts +1 -1
  170. package/cjs/util/hooks/useMergeRefs.d.ts +1 -1
  171. package/esm/accordion/Accordion.d.ts +4 -4
  172. package/esm/alert/Alert.d.ts +12 -10
  173. package/esm/alert/Alert.js.map +1 -1
  174. package/esm/button/Button.d.ts +9 -8
  175. package/esm/button/Button.js.map +1 -1
  176. package/esm/chat/Chat.d.ts +6 -6
  177. package/esm/chips/Chips.d.ts +2 -2
  178. package/esm/copybutton/CopyButton.d.ts +14 -12
  179. package/esm/copybutton/CopyButton.js.map +1 -1
  180. package/esm/date/datepicker/types.d.ts +7 -6
  181. package/esm/date/hooks/useDatepicker.d.ts +4 -3
  182. package/esm/date/hooks/useDatepicker.js.map +1 -1
  183. package/esm/date/hooks/useMonthPicker.d.ts +4 -3
  184. package/esm/date/hooks/useMonthPicker.js.map +1 -1
  185. package/esm/date/monthpicker/types.d.ts +2 -1
  186. package/esm/date/parts/DateInput.d.ts +1 -1
  187. package/esm/expansion-card/ExpansionCardTitle.d.ts +1 -1
  188. package/esm/form/checkbox/CheckboxGroup.d.ts +3 -3
  189. package/esm/form/checkbox/types.d.ts +4 -4
  190. package/esm/form/combobox/ComboboxProvider.js +5 -1
  191. package/esm/form/combobox/ComboboxProvider.js.map +1 -1
  192. package/esm/form/combobox/FilteredOptions/FilteredOptions.js +14 -12
  193. package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  194. package/esm/form/combobox/FilteredOptions/filtered-options-util.d.ts +3 -3
  195. package/esm/form/combobox/FilteredOptions/filtered-options-util.js +1 -3
  196. package/esm/form/combobox/FilteredOptions/filtered-options-util.js.map +1 -1
  197. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.d.ts +8 -5
  198. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +8 -13
  199. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  200. package/esm/form/combobox/Input/Input.js +9 -7
  201. package/esm/form/combobox/Input/Input.js.map +1 -1
  202. package/esm/form/combobox/SelectedOptions/SelectedOptions.d.ts +2 -1
  203. package/esm/form/combobox/SelectedOptions/SelectedOptions.js +3 -3
  204. package/esm/form/combobox/SelectedOptions/SelectedOptions.js.map +1 -1
  205. package/esm/form/combobox/SelectedOptions/selectedOptionsContext.d.ts +10 -7
  206. package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js +6 -8
  207. package/esm/form/combobox/SelectedOptions/selectedOptionsContext.js.map +1 -1
  208. package/esm/form/combobox/combobox-utils.d.ts +10 -0
  209. package/esm/form/combobox/combobox-utils.js +22 -0
  210. package/esm/form/combobox/combobox-utils.js.map +1 -0
  211. package/esm/form/combobox/customOptionsContext.d.ts +5 -4
  212. package/esm/form/combobox/customOptionsContext.js +1 -1
  213. package/esm/form/combobox/customOptionsContext.js.map +1 -1
  214. package/esm/form/combobox/types.d.ts +33 -22
  215. package/esm/form/error-summary/ErrorSummary.d.ts +5 -5
  216. package/esm/form/file-upload/FileUpload.context.d.ts +8 -0
  217. package/esm/form/file-upload/FileUpload.context.js +3 -0
  218. package/esm/form/file-upload/FileUpload.context.js.map +1 -0
  219. package/esm/form/file-upload/FileUpload.d.ts +118 -0
  220. package/esm/form/file-upload/FileUpload.js +44 -0
  221. package/esm/form/file-upload/FileUpload.js.map +1 -0
  222. package/esm/form/file-upload/FileUpload.types.d.ts +55 -0
  223. package/esm/form/file-upload/FileUpload.types.js +5 -0
  224. package/esm/form/file-upload/FileUpload.types.js.map +1 -0
  225. package/esm/form/file-upload/i18n/get.d.ts +2 -0
  226. package/esm/form/file-upload/i18n/get.js +34 -0
  227. package/esm/form/file-upload/i18n/get.js.map +1 -0
  228. package/esm/form/file-upload/i18n/i18n.context.d.ts +11 -0
  229. package/esm/form/file-upload/i18n/i18n.context.js +32 -0
  230. package/esm/form/file-upload/i18n/i18n.context.js.map +1 -0
  231. package/esm/form/file-upload/i18n/i18n.types.d.ts +13 -0
  232. package/esm/form/file-upload/i18n/i18n.types.js +2 -0
  233. package/esm/form/file-upload/i18n/i18n.types.js.map +1 -0
  234. package/esm/form/file-upload/i18n/locales/nb.json +20 -0
  235. package/esm/form/file-upload/i18n/merge.d.ts +2 -0
  236. package/esm/form/file-upload/i18n/merge.js +25 -0
  237. package/esm/form/file-upload/i18n/merge.js.map +1 -0
  238. package/esm/form/file-upload/index.d.ts +7 -0
  239. package/esm/form/file-upload/index.js +6 -0
  240. package/esm/form/file-upload/index.js.map +1 -0
  241. package/esm/form/file-upload/parts/Trigger.d.ts +7 -0
  242. package/esm/form/file-upload/parts/Trigger.js +18 -0
  243. package/esm/form/file-upload/parts/Trigger.js.map +1 -0
  244. package/esm/form/file-upload/parts/dropzone/Dropzone.d.ts +4 -0
  245. package/esm/form/file-upload/parts/dropzone/Dropzone.js +78 -0
  246. package/esm/form/file-upload/parts/dropzone/Dropzone.js.map +1 -0
  247. package/esm/form/file-upload/parts/dropzone/dropzone.types.d.ts +18 -0
  248. package/esm/form/file-upload/parts/dropzone/dropzone.types.js +2 -0
  249. package/esm/form/file-upload/parts/dropzone/dropzone.types.js.map +1 -0
  250. package/esm/form/file-upload/parts/dropzone/useDropzone.d.ts +13 -0
  251. package/esm/form/file-upload/parts/dropzone/useDropzone.js +30 -0
  252. package/esm/form/file-upload/parts/dropzone/useDropzone.js.map +1 -0
  253. package/esm/form/file-upload/parts/item/Item.d.ts +55 -0
  254. package/esm/form/file-upload/parts/item/Item.js +50 -0
  255. package/esm/form/file-upload/parts/item/Item.js.map +1 -0
  256. package/esm/form/file-upload/parts/item/Item.types.d.ts +5 -0
  257. package/esm/form/file-upload/parts/item/Item.types.js +2 -0
  258. package/esm/form/file-upload/parts/item/Item.types.js.map +1 -0
  259. package/esm/form/file-upload/parts/item/ItemButton.d.ts +12 -0
  260. package/esm/form/file-upload/parts/item/ItemButton.js +17 -0
  261. package/esm/form/file-upload/parts/item/ItemButton.js.map +1 -0
  262. package/esm/form/file-upload/parts/item/ItemIcon.d.ts +9 -0
  263. package/esm/form/file-upload/parts/item/ItemIcon.js +46 -0
  264. package/esm/form/file-upload/parts/item/ItemIcon.js.map +1 -0
  265. package/esm/form/file-upload/parts/item/ItemName.d.ts +9 -0
  266. package/esm/form/file-upload/parts/item/ItemName.js +27 -0
  267. package/esm/form/file-upload/parts/item/ItemName.js.map +1 -0
  268. package/esm/form/file-upload/parts/item/utils/download-file.d.ts +1 -0
  269. package/esm/form/file-upload/parts/item/utils/download-file.js +9 -0
  270. package/esm/form/file-upload/parts/item/utils/download-file.js.map +1 -0
  271. package/esm/form/file-upload/parts/item/utils/file-type-checker.d.ts +2 -0
  272. package/esm/form/file-upload/parts/item/utils/file-type-checker.js +2 -0
  273. package/esm/form/file-upload/parts/item/utils/file-type-checker.js.map +1 -0
  274. package/esm/form/file-upload/parts/item/utils/format-file-size.d.ts +2 -0
  275. package/esm/form/file-upload/parts/item/utils/format-file-size.js +20 -0
  276. package/esm/form/file-upload/parts/item/utils/format-file-size.js.map +1 -0
  277. package/esm/form/file-upload/useFileUpload.d.ts +12 -0
  278. package/esm/form/file-upload/useFileUpload.js +29 -0
  279. package/esm/form/file-upload/useFileUpload.js.map +1 -0
  280. package/esm/form/file-upload/utils/is-accepted-file-type.d.ts +1 -0
  281. package/esm/form/file-upload/utils/is-accepted-file-type.js +22 -0
  282. package/esm/form/file-upload/utils/is-accepted-file-type.js.map +1 -0
  283. package/esm/form/file-upload/utils/is-accepted-size.d.ts +1 -0
  284. package/esm/form/file-upload/utils/is-accepted-size.js +7 -0
  285. package/esm/form/file-upload/utils/is-accepted-size.js.map +1 -0
  286. package/esm/form/file-upload/utils/validate-files.d.ts +8 -0
  287. package/esm/form/file-upload/utils/validate-files.js +44 -0
  288. package/esm/form/file-upload/utils/validate-files.js.map +1 -0
  289. package/esm/form/radio/RadioGroup.d.ts +1 -1
  290. package/esm/form/search/Search.d.ts +3 -2
  291. package/esm/form/search/Search.js.map +1 -1
  292. package/esm/form/select/Select.d.ts +9 -9
  293. package/esm/form/switch/Switch.d.ts +5 -5
  294. package/esm/form/textarea/Textarea.d.ts +5 -4
  295. package/esm/form/textarea/Textarea.js.map +1 -1
  296. package/esm/form/useFormField.d.ts +10 -8
  297. package/esm/form/useFormField.js.map +1 -1
  298. package/esm/index.d.ts +1 -0
  299. package/esm/index.js +1 -0
  300. package/esm/index.js.map +1 -1
  301. package/esm/layout/bleed/Bleed.d.ts +9 -1
  302. package/esm/layout/bleed/Bleed.js.map +1 -1
  303. package/esm/layout/box/Box.d.ts +5 -5
  304. package/esm/layout/grid/HGrid.d.ts +1 -3
  305. package/esm/layout/grid/HGrid.js.map +1 -1
  306. package/esm/layout/page/Page.d.ts +2 -2
  307. package/esm/layout/responsive/Responsive.d.ts +2 -4
  308. package/esm/layout/responsive/Responsive.js.map +1 -1
  309. package/esm/layout/stack/Stack.d.ts +18 -4
  310. package/esm/layout/stack/Stack.js.map +1 -1
  311. package/esm/list/types.d.ts +1 -1
  312. package/esm/loader/Loader.d.ts +0 -6
  313. package/esm/loader/Loader.js.map +1 -1
  314. package/esm/modal/Modal.js +2 -2
  315. package/esm/modal/types.d.ts +8 -8
  316. package/esm/pagination/Pagination.d.ts +3 -2
  317. package/esm/pagination/Pagination.js.map +1 -1
  318. package/esm/pagination/PaginationItem.d.ts +1 -1
  319. package/esm/popover/Popover.d.ts +2 -1
  320. package/esm/popover/Popover.js.map +1 -1
  321. package/esm/read-more/ReadMore.d.ts +7 -7
  322. package/esm/stepper/Step.d.ts +4 -4
  323. package/esm/stepper/Stepper.d.ts +7 -5
  324. package/esm/stepper/Stepper.js.map +1 -1
  325. package/esm/table/AnimateHeight.d.ts +1 -1
  326. package/esm/table/DataCell.d.ts +1 -3
  327. package/esm/table/DataCell.js.map +1 -1
  328. package/esm/tabs/TabList.d.ts +1 -1
  329. package/esm/tabs/Tabs.d.ts +7 -7
  330. package/esm/timeline/Timeline.d.ts +6 -3
  331. package/esm/timeline/Timeline.js +2 -1
  332. package/esm/timeline/Timeline.js.map +1 -1
  333. package/esm/timeline/period/index.d.ts +3 -2
  334. package/esm/timeline/period/index.js.map +1 -1
  335. package/esm/tooltip/Tooltip.d.ts +19 -12
  336. package/esm/tooltip/Tooltip.js.map +1 -1
  337. package/esm/util/create-context.d.ts +1 -0
  338. package/esm/util/create-context.js.map +1 -1
  339. package/esm/util/hooks/useEventListener.d.ts +1 -1
  340. package/esm/util/hooks/useMergeRefs.d.ts +1 -1
  341. package/package.json +13 -3
  342. package/src/accordion/Accordion.tsx +4 -4
  343. package/src/accordion/accordion.stories.tsx +0 -2
  344. package/src/alert/Alert.tsx +12 -10
  345. package/src/button/Button.tsx +9 -8
  346. package/src/chat/Chat.tsx +6 -6
  347. package/src/chips/Chips.tsx +2 -2
  348. package/src/copybutton/CopyButton.tsx +14 -12
  349. package/src/date/datepicker/datepicker.stories.tsx +0 -1
  350. package/src/date/datepicker/types.ts +7 -6
  351. package/src/date/hooks/useDatepicker.tsx +4 -3
  352. package/src/date/hooks/useMonthPicker.tsx +4 -3
  353. package/src/date/monthpicker/types.ts +2 -1
  354. package/src/date/parts/DateInput.tsx +1 -1
  355. package/src/expansion-card/ExpansionCardTitle.tsx +1 -1
  356. package/src/form/checkbox/CheckboxGroup.tsx +3 -3
  357. package/src/form/checkbox/types.ts +4 -4
  358. package/src/form/combobox/ComboboxProvider.tsx +7 -3
  359. package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +22 -15
  360. package/src/form/combobox/FilteredOptions/filtered-options-util.ts +5 -10
  361. package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +19 -29
  362. package/src/form/combobox/Input/Input.tsx +14 -8
  363. package/src/form/combobox/SelectedOptions/SelectedOptions.tsx +8 -5
  364. package/src/form/combobox/SelectedOptions/selectedOptionsContext.tsx +24 -25
  365. package/src/form/combobox/combobox-utils.test.ts +67 -0
  366. package/src/form/combobox/combobox-utils.ts +32 -0
  367. package/src/form/combobox/combobox.stories.tsx +67 -32
  368. package/src/form/combobox/combobox.test.tsx +32 -1
  369. package/src/form/combobox/customOptionsContext.tsx +9 -8
  370. package/src/form/combobox/types.ts +34 -22
  371. package/src/form/error-summary/ErrorSummary.tsx +5 -5
  372. package/src/form/file-upload/FileUpload.context.tsx +9 -0
  373. package/src/form/file-upload/FileUpload.tsx +142 -0
  374. package/src/form/file-upload/FileUpload.types.ts +57 -0
  375. package/src/form/file-upload/file-upload-dropzone.stories.tsx +123 -0
  376. package/src/form/file-upload/file-upload-item.stories.tsx +136 -0
  377. package/src/form/file-upload/file-upload.stories.tsx +236 -0
  378. package/src/form/file-upload/i18n/get.ts +48 -0
  379. package/src/form/file-upload/i18n/i18n.context.test.tsx +92 -0
  380. package/src/form/file-upload/i18n/i18n.context.ts +67 -0
  381. package/src/form/file-upload/i18n/i18n.types.ts +20 -0
  382. package/src/form/file-upload/i18n/locales/nb.json +20 -0
  383. package/src/form/file-upload/i18n/merge.ts +35 -0
  384. package/src/form/file-upload/index.ts +21 -0
  385. package/src/form/file-upload/parts/Trigger.tsx +48 -0
  386. package/src/form/file-upload/parts/dropzone/Dropzone.tsx +180 -0
  387. package/src/form/file-upload/parts/dropzone/dropzone.types.ts +22 -0
  388. package/src/form/file-upload/parts/dropzone/useDropzone.ts +43 -0
  389. package/src/form/file-upload/parts/item/Item.tsx +165 -0
  390. package/src/form/file-upload/parts/item/Item.types.ts +6 -0
  391. package/src/form/file-upload/parts/item/ItemButton.tsx +52 -0
  392. package/src/form/file-upload/parts/item/ItemIcon.tsx +74 -0
  393. package/src/form/file-upload/parts/item/ItemName.tsx +58 -0
  394. package/src/form/file-upload/parts/item/utils/download-file.ts +9 -0
  395. package/src/form/file-upload/parts/item/utils/file-type-checker.ts +4 -0
  396. package/src/form/file-upload/parts/item/utils/format-file-size.test.ts +76 -0
  397. package/src/form/file-upload/parts/item/utils/format-file-size.ts +25 -0
  398. package/src/form/file-upload/useFileUpload.ts +54 -0
  399. package/src/form/file-upload/utils/is-accepted-file-type.test.ts +69 -0
  400. package/src/form/file-upload/utils/is-accepted-file-type.ts +25 -0
  401. package/src/form/file-upload/utils/is-accepted-size.test.ts +26 -0
  402. package/src/form/file-upload/utils/is-accepted-size.ts +7 -0
  403. package/src/form/file-upload/utils/validate-files.test.ts +132 -0
  404. package/src/form/file-upload/utils/validate-files.ts +62 -0
  405. package/src/form/radio/RadioGroup.tsx +1 -1
  406. package/src/form/search/Search.tsx +3 -2
  407. package/src/form/select/Select.tsx +9 -9
  408. package/src/form/select/select.stories.tsx +32 -37
  409. package/src/form/switch/Switch.tsx +5 -5
  410. package/src/form/textarea/Textarea.tsx +5 -4
  411. package/src/form/useFormField.ts +10 -8
  412. package/src/index.ts +14 -0
  413. package/src/internal-header/header.stories.tsx +8 -5
  414. package/src/layout/bleed/Bleed.tsx +9 -1
  415. package/src/layout/box/Box.tsx +5 -5
  416. package/src/layout/grid/HGrid.tsx +1 -3
  417. package/src/layout/page/Page.tsx +2 -2
  418. package/src/layout/responsive/Responsive.tsx +2 -4
  419. package/src/layout/stack/Stack.tsx +18 -4
  420. package/src/list/types.ts +1 -1
  421. package/src/loader/Loader.tsx +0 -6
  422. package/src/modal/Modal.tsx +2 -2
  423. package/src/modal/types.ts +8 -8
  424. package/src/pagination/Pagination.tsx +3 -2
  425. package/src/pagination/PaginationItem.tsx +1 -1
  426. package/src/popover/Popover.tsx +2 -1
  427. package/src/read-more/ReadMore.tsx +7 -7
  428. package/src/stepper/Step.tsx +4 -4
  429. package/src/stepper/Stepper.tsx +7 -5
  430. package/src/table/AnimateHeight.tsx +1 -1
  431. package/src/table/DataCell.tsx +1 -6
  432. package/src/tabs/TabList.tsx +1 -1
  433. package/src/tabs/Tabs.tsx +7 -7
  434. package/src/timeline/Timeline.tsx +6 -3
  435. package/src/timeline/period/index.tsx +3 -2
  436. package/src/tooltip/Tooltip.tsx +19 -12
  437. package/src/util/create-context.tsx +1 -0
  438. package/src/util/hooks/useMergeRefs.ts +1 -1
@@ -1,7 +1,6 @@
1
1
  const normalizeText = (text) => typeof text === "string" ? text.toLocaleLowerCase().trim() : "";
2
2
  const isPartOfText = (value, text) => normalizeText(text).startsWith(normalizeText(value !== null && value !== void 0 ? value : ""));
3
- const isValueInList = (value, list) => list === null || list === void 0 ? void 0 : list.find((listItem) => normalizeText(value) === normalizeText(listItem));
4
- const getMatchingValuesFromList = (value, list, alwaysIncluded) => list === null || list === void 0 ? void 0 : list.filter((listItem) => isPartOfText(value, listItem) || alwaysIncluded.includes(listItem));
3
+ const getMatchingValuesFromList = (value, list) => list.filter((listItem) => isPartOfText(value, listItem.label));
5
4
  const getFilteredOptionsId = (comboboxId) => `${comboboxId}-filtered-options`;
6
5
  const getOptionId = (comboboxId, option) => `${comboboxId.toLocaleLowerCase()}-option-${option
7
6
  .replace(" ", "-")
@@ -13,7 +12,6 @@ const getMaxSelectedOptionsId = (comboboxId) => `${comboboxId}-max-selected-opti
13
12
  export default {
14
13
  normalizeText,
15
14
  isPartOfText,
16
- isValueInList,
17
15
  getMatchingValuesFromList,
18
16
  getFilteredOptionsId,
19
17
  getAddNewOptionId,
@@ -1 +1 @@
1
- {"version":3,"file":"filtered-options-util.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filtered-options-util.ts"],"names":[],"mappings":"AAAA,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAC7C,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAElE,MAAM,YAAY,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACnC,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,CAAC;AAE7D,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CACpC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;AAE7E,MAAM,yBAAyB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,CAChE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CACV,CAAC,QAAQ,EAAE,EAAE,CACX,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CACrE,CAAC;AAEJ,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAClD,GAAG,UAAU,mBAAmB,CAAC;AAEnC,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,MAAc,EAAE,EAAE,CACzD,GAAG,UAAU,CAAC,iBAAiB,EAAE,WAAW,MAAM;KAC/C,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;KACjB,iBAAiB,EAAE,EAAE,CAAC;AAE3B,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAC/C,GAAG,UAAU,sBAAsB,CAAC;AAEtC,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,GAAG,UAAU,aAAa,CAAC;AAE1E,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,GAAG,UAAU,UAAU,CAAC;AAEpE,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAE,EAAE,CACrD,GAAG,UAAU,uBAAuB,CAAC;AAEvC,eAAe;IACb,aAAa;IACb,YAAY;IACZ,aAAa;IACb,yBAAyB;IACzB,oBAAoB;IACpB,iBAAiB;IACjB,WAAW;IACX,cAAc;IACd,WAAW;IACX,uBAAuB;CACxB,CAAC"}
1
+ {"version":3,"file":"filtered-options-util.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filtered-options-util.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,CAAC,IAAY,EAAU,EAAE,CAC7C,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAElE,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,EAAE,CACnD,aAAa,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC,CAAC,CAAC;AAE7D,MAAM,yBAAyB,GAAG,CAAC,KAAa,EAAE,IAAsB,EAAE,EAAE,CAC1E,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAEjE,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAClD,GAAG,UAAU,mBAAmB,CAAC;AAEnC,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,MAAc,EAAE,EAAE,CACzD,GAAG,UAAU,CAAC,iBAAiB,EAAE,WAAW,MAAM;KAC/C,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;KACjB,iBAAiB,EAAE,EAAE,CAAC;AAE3B,MAAM,iBAAiB,GAAG,CAAC,UAAkB,EAAE,EAAE,CAC/C,GAAG,UAAU,sBAAsB,CAAC;AAEtC,MAAM,cAAc,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,GAAG,UAAU,aAAa,CAAC;AAE1E,MAAM,WAAW,GAAG,CAAC,UAAkB,EAAE,EAAE,CAAC,GAAG,UAAU,UAAU,CAAC;AAEpE,MAAM,uBAAuB,GAAG,CAAC,UAAkB,EAAE,EAAE,CACrD,GAAG,UAAU,uBAAuB,CAAC;AAEvC,eAAe;IACb,aAAa;IACb,YAAY;IACZ,yBAAyB;IACzB,oBAAoB;IACpB,iBAAiB;IACjB,WAAW;IACX,cAAc;IACd,WAAW;IACX,uBAAuB;CACxB,CAAC"}
@@ -1,9 +1,12 @@
1
1
  import React, { SetStateAction } from "react";
2
- import { ComboboxProps } from "../types.js";
2
+ import { ComboboxOption, ComboboxProps } from "../types.js";
3
3
  import { VirtualFocusType } from "./useVirtualFocus.js";
4
4
  type FilteredOptionsProps = {
5
- children: any;
6
- value: Pick<ComboboxProps, "allowNewValues" | "filteredOptions" | "isListOpen" | "isLoading" | "options">;
5
+ children: React.ReactNode;
6
+ value: Pick<ComboboxProps, "allowNewValues" | "isListOpen" | "isLoading"> & {
7
+ filteredOptions?: ComboboxOption[];
8
+ options: ComboboxOption[];
9
+ };
7
10
  };
8
11
  type FilteredOptionsContextType = {
9
12
  activeDecendantId?: string;
@@ -12,12 +15,12 @@ type FilteredOptionsContextType = {
12
15
  setFilteredOptionsRef: React.Dispatch<React.SetStateAction<HTMLUListElement | null>>;
13
16
  isListOpen: boolean;
14
17
  isLoading?: boolean;
15
- filteredOptions: string[];
18
+ filteredOptions: ComboboxOption[];
16
19
  isMouseLastUsedInputDevice: boolean;
17
20
  setIsMouseLastUsedInputDevice: React.Dispatch<SetStateAction<boolean>>;
18
21
  isValueNew: boolean;
19
22
  toggleIsListOpen: (newState?: boolean) => void;
20
- currentOption?: string;
23
+ currentOption?: ComboboxOption;
21
24
  shouldAutocomplete?: boolean;
22
25
  virtualFocus: VirtualFocusType;
23
26
  };
@@ -3,6 +3,7 @@ import React, { createContext, useCallback, useContext, useMemo, useState, } fro
3
3
  import { useClientLayoutEffect, usePrevious } from "../../../util/hooks/index.js";
4
4
  import { useInputContext } from "../Input/inputContext.js";
5
5
  import { useSelectedOptionsContext } from "../SelectedOptions/selectedOptionsContext.js";
6
+ import { toComboboxOption } from "../combobox-utils.js";
6
7
  import { useCustomOptionsContext } from "../customOptionsContext.js";
7
8
  import filteredOptionsUtils from "./filtered-options-util.js";
8
9
  import useVirtualFocus from "./useVirtualFocus.js";
@@ -12,7 +13,7 @@ export const FilteredOptionsProvider = ({ children, value: props, }) => {
12
13
  const [filteredOptionsRef, setFilteredOptionsRef] = useState(null);
13
14
  const virtualFocus = useVirtualFocus(filteredOptionsRef);
14
15
  const { inputProps: { "aria-describedby": partialAriaDescribedBy, id }, value, searchTerm, setValue, setSearchTerm, shouldAutocomplete, } = useInputContext();
15
- const { selectedOptions, maxSelected } = useSelectedOptionsContext();
16
+ const { maxSelected } = useSelectedOptionsContext();
16
17
  const [isInternalListOpen, setInternalListOpen] = useState(false);
17
18
  const { customOptions } = useCustomOptionsContext();
18
19
  const filteredOptions = useMemo(() => {
@@ -20,19 +21,13 @@ export const FilteredOptionsProvider = ({ children, value: props, }) => {
20
21
  return externalFilteredOptions;
21
22
  }
22
23
  const opts = [...customOptions, ...options];
23
- return filteredOptionsUtils.getMatchingValuesFromList(searchTerm, opts, selectedOptions);
24
- }, [
25
- customOptions,
26
- externalFilteredOptions,
27
- options,
28
- searchTerm,
29
- selectedOptions,
30
- ]);
24
+ return filteredOptionsUtils.getMatchingValuesFromList(searchTerm, opts);
25
+ }, [customOptions, externalFilteredOptions, options, searchTerm]);
31
26
  const previousSearchTerm = usePrevious(searchTerm);
32
27
  const [isMouseLastUsedInputDevice, setIsMouseLastUsedInputDevice] = useState(false);
33
- const filteredOptionsMap = useMemo(() => options.reduce((map, _option) => (Object.assign(Object.assign({}, map), { [filteredOptionsUtils.getOptionId(id, _option)]: _option })), {
28
+ const filteredOptionsMap = useMemo(() => options.reduce((map, _option) => (Object.assign(Object.assign({}, map), { [filteredOptionsUtils.getOptionId(id, _option.label)]: _option })), {
34
29
  [filteredOptionsUtils.getAddNewOptionId(id)]: allowNewValues
35
- ? value
30
+ ? toComboboxOption(value)
36
31
  : undefined,
37
32
  }), [allowNewValues, id, options, value]);
38
33
  useClientLayoutEffect(() => {
@@ -40,7 +35,7 @@ export const FilteredOptionsProvider = ({ children, value: props, }) => {
40
35
  filteredOptionsUtils.normalizeText(searchTerm) !== "" &&
41
36
  ((previousSearchTerm === null || previousSearchTerm === void 0 ? void 0 : previousSearchTerm.length) || 0) < searchTerm.length &&
42
37
  filteredOptions.length > 0) {
43
- setValue(`${searchTerm}${filteredOptions[0].substring(searchTerm.length)}`);
38
+ setValue(`${searchTerm}${filteredOptions[0].label.substring(searchTerm.length)}`);
44
39
  setSearchTerm(searchTerm);
45
40
  }
46
41
  }, [
@@ -67,7 +62,7 @@ export const FilteredOptionsProvider = ({ children, value: props, }) => {
67
62
  }
68
63
  else if ((value && value !== "") || isLoading) {
69
64
  if (shouldAutocomplete && filteredOptions[0]) {
70
- activeOption = filteredOptionsUtils.getOptionId(id, filteredOptions[0]);
65
+ activeOption = filteredOptionsUtils.getOptionId(id, filteredOptions[0].label);
71
66
  }
72
67
  else if (isListOpen && isLoading) {
73
68
  activeOption = filteredOptionsUtils.getIsLoadingId(id);
@@ -1 +1 @@
1
- {"version":3,"file":"filteredOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filteredOptionsContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filteredOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/FilteredOptions/filteredOptionsContext.tsx"],"names":[],"mappings":"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"}
@@ -22,14 +22,12 @@ const Input = forwardRef((_a, ref) => {
22
22
  const { selectedOptions, removeSelectedOption, toggleOption, isMultiSelect, } = useSelectedOptionsContext();
23
23
  const { activeDecendantId, allowNewValues, currentOption, filteredOptions, isValueNew, toggleIsListOpen, isListOpen, ariaDescribedBy, setIsMouseLastUsedInputDevice, shouldAutocomplete, virtualFocus, } = useFilteredOptionsContext();
24
24
  const onEnter = useCallback((event) => {
25
- const isTextInSelectedOptions = (text) => {
26
- return selectedOptions.find((item) => item.toLocaleLowerCase() === text.toLocaleLowerCase());
27
- };
25
+ const isTextInSelectedOptions = (text) => selectedOptions.some((option) => option.label.toLocaleLowerCase() === text.toLocaleLowerCase());
28
26
  if (currentOption) {
29
27
  event.preventDefault();
30
28
  // Selecting a value from the dropdown / FilteredOptions
31
29
  toggleOption(currentOption, event);
32
- if (!isMultiSelect && !isTextInSelectedOptions(currentOption)) {
30
+ if (!isMultiSelect && !isTextInSelectedOptions(currentOption.label)) {
33
31
  toggleIsListOpen(false);
34
32
  }
35
33
  }
@@ -41,10 +39,12 @@ const Input = forwardRef((_a, ref) => {
41
39
  else if ((allowNewValues || shouldAutocomplete) && value !== "") {
42
40
  event.preventDefault();
43
41
  // Autocompleting or adding a new value
44
- const selectedValue = allowNewValues && isValueNew ? value : filteredOptions[0];
42
+ const selectedValue = allowNewValues && isValueNew
43
+ ? { label: value, value }
44
+ : filteredOptions[0];
45
45
  toggleOption(selectedValue, event);
46
46
  if (!isMultiSelect &&
47
- !isTextInSelectedOptions(filteredOptions[0] || selectedValue)) {
47
+ !isTextInSelectedOptions(filteredOptions[0].label || selectedValue.label)) {
48
48
  toggleIsListOpen(false);
49
49
  }
50
50
  }
@@ -89,7 +89,9 @@ const Input = forwardRef((_a, ref) => {
89
89
  if (e.key === "Backspace") {
90
90
  if (value === "") {
91
91
  const lastSelectedOption = selectedOptions[selectedOptions.length - 1];
92
- removeSelectedOption(lastSelectedOption);
92
+ if (lastSelectedOption) {
93
+ removeSelectedOption(lastSelectedOption);
94
+ }
93
95
  }
94
96
  }
95
97
  else if (e.key === "ArrowDown") {
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/Input.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/form/combobox/Input/Input.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
+ import { ComboboxOption } from "../types.js";
2
3
  interface SelectedOptionsProps {
3
- selectedOptions?: string[];
4
+ selectedOptions?: ComboboxOption[];
4
5
  size?: "medium" | "small";
5
6
  children: React.ReactNode;
6
7
  }
@@ -11,14 +11,14 @@ const Option = ({ option }) => {
11
11
  focusInput();
12
12
  };
13
13
  if (!isMultiSelect) {
14
- return (React.createElement("div", { className: "navds-combobox__selected-options--no-bg" }, option));
14
+ return (React.createElement("div", { className: "navds-combobox__selected-options--no-bg" }, option.label));
15
15
  }
16
- return React.createElement(Chips.Removable, { onClick: onClick }, option);
16
+ return React.createElement(Chips.Removable, { onClick: onClick }, option.label);
17
17
  };
18
18
  const SelectedOptions = ({ selectedOptions = [], size, children, }) => {
19
19
  return (React.createElement(Chips, { className: "navds-combobox__selected-options", size: size },
20
20
  selectedOptions.length
21
- ? selectedOptions.map((option, i) => (React.createElement(Option, { key: option + i, option: option })))
21
+ ? selectedOptions.map((option, i) => (React.createElement(Option, { key: option.label + i, option: option })))
22
22
  : [],
23
23
  children));
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SelectedOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/SelectedOptions/SelectedOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAQrE,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,EAAsB,EAAE,EAAE;IAChD,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAC5E,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7B,UAAU,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CACL,6BAAK,SAAS,EAAC,yCAAyC,IAAE,MAAM,CAAO,CACxE,CAAC;IACJ,CAAC;IAED,OAAO,oBAAC,KAAK,CAAC,SAAS,IAAC,OAAO,EAAE,OAAO,IAAG,MAAM,CAAmB,CAAC;AACvE,CAAC,CAAC;AAEF,MAAM,eAAe,GAAmC,CAAC,EACvD,eAAe,GAAG,EAAE,EACpB,IAAI,EACJ,QAAQ,GACT,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,KAAK,IAAC,SAAS,EAAC,kCAAkC,EAAC,IAAI,EAAE,IAAI;QAC3D,eAAe,CAAC,MAAM;YACrB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CACjC,oBAAC,MAAM,IAAC,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAI,CAC5C,CAAC;YACJ,CAAC,CAAC,EAAE;QACL,QAAQ,CACH,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"SelectedOptions.js","sourceRoot":"","sources":["../../../../src/form/combobox/SelectedOptions/SelectedOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAQrE,MAAM,MAAM,GAAG,CAAC,EAAE,MAAM,EAA8B,EAAE,EAAE;IACxD,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAC5E,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,EAAE;QACpB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC7B,UAAU,EAAE,CAAC;IACf,CAAC,CAAC;IAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CACL,6BAAK,SAAS,EAAC,yCAAyC,IACrD,MAAM,CAAC,KAAK,CACT,CACP,CAAC;IACJ,CAAC;IAED,OAAO,oBAAC,KAAK,CAAC,SAAS,IAAC,OAAO,EAAE,OAAO,IAAG,MAAM,CAAC,KAAK,CAAmB,CAAC;AAC7E,CAAC,CAAC;AAEF,MAAM,eAAe,GAAmC,CAAC,EACvD,eAAe,GAAG,EAAE,EACpB,IAAI,EACJ,QAAQ,GACT,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,KAAK,IAAC,SAAS,EAAC,kCAAkC,EAAC,IAAI,EAAE,IAAI;QAC3D,eAAe,CAAC,MAAM;YACrB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CACjC,oBAAC,MAAM,IAAC,GAAG,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,GAAI,CAClD,CAAC;YACJ,CAAC,CAAC,EAAE;QACL,QAAQ,CACH,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,20 +1,23 @@
1
1
  import React from "react";
2
- import { ComboboxProps, MaxSelected } from "../types.js";
2
+ import { ComboboxOption, ComboboxProps, MaxSelected } from "../types.js";
3
3
  type SelectedOptionsContextType = {
4
- addSelectedOption: (option: string) => void;
4
+ addSelectedOption: (option: ComboboxOption) => void;
5
5
  isMultiSelect?: boolean;
6
- removeSelectedOption: (option: string) => void;
7
- prevSelectedOptions?: string[];
8
- selectedOptions: string[];
6
+ removeSelectedOption: (option: ComboboxOption) => void;
7
+ prevSelectedOptions?: ComboboxOption[];
8
+ selectedOptions: ComboboxOption[];
9
9
  maxSelected?: MaxSelected & {
10
10
  isLimitReached: boolean;
11
11
  };
12
12
  setSelectedOptions: (any: any) => void;
13
- toggleOption: (option: string, event: React.KeyboardEvent | React.PointerEvent) => void;
13
+ toggleOption: (option: ComboboxOption, event: React.KeyboardEvent | React.PointerEvent) => void;
14
14
  };
15
15
  export declare const SelectedOptionsProvider: ({ children, value, }: {
16
16
  children: any;
17
- value: Pick<ComboboxProps, "allowNewValues" | "isMultiSelect" | "options" | "selectedOptions" | "onToggleSelected" | "maxSelected">;
17
+ value: Pick<ComboboxProps, "allowNewValues" | "isMultiSelect" | "onToggleSelected" | "maxSelected"> & {
18
+ options: ComboboxOption[];
19
+ selectedOptions?: ComboboxOption[];
20
+ };
18
21
  }) => React.JSX.Element;
19
22
  export declare const useSelectedOptionsContext: () => SelectedOptionsContextType;
20
23
  export {};
@@ -1,6 +1,7 @@
1
1
  import React, { createContext, useCallback, useContext, useMemo, useState, } from "react";
2
2
  import { usePrevious } from "../../../util/hooks/index.js";
3
3
  import { useInputContext } from "../Input/inputContext.js";
4
+ import { isInList } from "../combobox-utils.js";
4
5
  import { useCustomOptionsContext } from "../customOptionsContext.js";
5
6
  const SelectedOptionsContext = createContext({});
6
7
  export const SelectedOptionsProvider = ({ children, value, }) => {
@@ -10,10 +11,7 @@ export const SelectedOptionsProvider = ({ children, value, }) => {
10
11
  const [internalSelectedOptions, setSelectedOptions] = useState([]);
11
12
  const selectedOptions = useMemo(() => externalSelectedOptions !== null && externalSelectedOptions !== void 0 ? externalSelectedOptions : [...customOptions, ...internalSelectedOptions], [customOptions, externalSelectedOptions, internalSelectedOptions]);
12
13
  const addSelectedOption = useCallback((option) => {
13
- var _a;
14
- const isCustomOption = !options
15
- .map((opt) => opt.toLowerCase())
16
- .includes((_a = option === null || option === void 0 ? void 0 : option.toLowerCase) === null || _a === void 0 ? void 0 : _a.call(option));
14
+ const isCustomOption = !isInList(option, options);
17
15
  if (isCustomOption) {
18
16
  allowNewValues && addCustomOption(option);
19
17
  !isMultiSelect && setSelectedOptions([]);
@@ -28,7 +26,7 @@ export const SelectedOptionsProvider = ({ children, value, }) => {
28
26
  setSelectedOptions([option]);
29
27
  setCustomOptions([]);
30
28
  }
31
- onToggleSelected === null || onToggleSelected === void 0 ? void 0 : onToggleSelected(option, true, isCustomOption);
29
+ onToggleSelected === null || onToggleSelected === void 0 ? void 0 : onToggleSelected(option.value, true, isCustomOption);
32
30
  }, [
33
31
  addCustomOption,
34
32
  allowNewValues,
@@ -38,17 +36,17 @@ export const SelectedOptionsProvider = ({ children, value, }) => {
38
36
  setCustomOptions,
39
37
  ]);
40
38
  const removeSelectedOption = useCallback((option) => {
41
- const isCustomOption = customOptions.includes(option);
39
+ const isCustomOption = isInList(option, customOptions);
42
40
  if (isCustomOption) {
43
41
  removeCustomOption(option);
44
42
  }
45
43
  else {
46
44
  setSelectedOptions((oldSelectedOptions) => oldSelectedOptions.filter((selectedOption) => selectedOption !== option));
47
45
  }
48
- onToggleSelected === null || onToggleSelected === void 0 ? void 0 : onToggleSelected(option, false, isCustomOption);
46
+ onToggleSelected === null || onToggleSelected === void 0 ? void 0 : onToggleSelected(option.value, false, isCustomOption);
49
47
  }, [customOptions, onToggleSelected, removeCustomOption]);
50
48
  const toggleOption = useCallback((option, event) => {
51
- if (selectedOptions.includes(option)) {
49
+ if (isInList(option.value, selectedOptions)) {
52
50
  removeSelectedOption(option);
53
51
  }
54
52
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"selectedOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/SelectedOptions/selectedOptionsContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectedOptionsContext.js","sourceRoot":"","sources":["../../../../src/form/combobox/SelectedOptions/selectedOptionsContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ComboboxOption } from "./types.js";
2
+ /**
3
+ *
4
+ * @param option ComboboxOption will be compared by both label and value, while a string option is checked if it matches either the label or value in the list.
5
+ * @param list
6
+ */
7
+ declare const isInList: (option: ComboboxOption | string, list: ComboboxOption[]) => boolean;
8
+ declare const toComboboxOption: (value: string) => ComboboxOption;
9
+ declare const mapToComboboxOptionArray: (options?: string[] | ComboboxOption[]) => ComboboxOption[] | undefined;
10
+ export { isInList, mapToComboboxOptionArray, toComboboxOption };
@@ -0,0 +1,22 @@
1
+ /**
2
+ *
3
+ * @param option ComboboxOption will be compared by both label and value, while a string option is checked if it matches either the label or value in the list.
4
+ * @param list
5
+ */
6
+ const isInList = (option, list) => {
7
+ if (typeof option === "string") {
8
+ return list.some((listItem) => listItem.label === option || listItem.value === option);
9
+ }
10
+ else {
11
+ return list.some((listItem) => listItem.label === option.label && listItem.value === option.value);
12
+ }
13
+ };
14
+ const toComboboxOption = (value) => ({
15
+ label: value,
16
+ value,
17
+ });
18
+ const mapToComboboxOptionArray = (options) => {
19
+ return options === null || options === void 0 ? void 0 : options.map((option) => typeof option === "string" ? toComboboxOption(option) : option);
20
+ };
21
+ export { isInList, mapToComboboxOptionArray, toComboboxOption };
22
+ //# sourceMappingURL=combobox-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox-utils.js","sourceRoot":"","sources":["../../../src/form/combobox/combobox-utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,IAAsB,EAAE,EAAE;IAC3E,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,CACrE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,IAAI,CACd,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CACrE,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAkB,EAAE,CAAC,CAAC;IAC3D,KAAK,EAAE,KAAK;IACZ,KAAK;CACN,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,OAAqC,EAAE,EAAE;IACzE,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,CAAC,MAA+B,EAAE,EAAE,CACtD,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAC/D,CAAC;AACJ,CAAC,CAAC;AAEF,OAAO,EAAE,QAAQ,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
+ import { ComboboxOption } from "./types.js";
2
3
  type CustomOptionsContextType = {
3
- customOptions: string[];
4
- removeCustomOption: (option: string) => void;
5
- addCustomOption: (option: string) => void;
6
- setCustomOptions: React.Dispatch<React.SetStateAction<string[]>>;
4
+ customOptions: ComboboxOption[];
5
+ removeCustomOption: (option: ComboboxOption) => void;
6
+ addCustomOption: (option: ComboboxOption) => void;
7
+ setCustomOptions: React.Dispatch<React.SetStateAction<ComboboxOption[]>>;
7
8
  };
8
9
  export declare const CustomOptionsProvider: ({ children, value, }: {
9
10
  children: any;
@@ -6,7 +6,7 @@ export const CustomOptionsProvider = ({ children, value, }) => {
6
6
  const { focusInput } = useInputContext();
7
7
  const { isMultiSelect } = value;
8
8
  const removeCustomOption = useCallback((option) => {
9
- setCustomOptions((prevCustomOptions) => prevCustomOptions.filter((o) => o !== option));
9
+ setCustomOptions((prevCustomOptions) => prevCustomOptions.filter((o) => o.label !== option.label));
10
10
  focusInput();
11
11
  }, [focusInput, setCustomOptions]);
12
12
  const addCustomOption = useCallback((option) => {
@@ -1 +1 @@
1
- {"version":3,"file":"customOptionsContext.js","sourceRoot":"","sources":["../../../src/form/combobox/customOptionsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AASvD,MAAM,oBAAoB,GAAG,aAAa,CACxC,EAA8B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,KAAK,GAIN,EAAE,EAAE;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAEhC,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAAc,EAAE,EAAE;QACjB,gBAAgB,CAAC,CAAC,iBAAiB,EAAE,EAAE,CACrC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAC9C,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC,EACD,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAC/B,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,MAAc,EAAE,EAAE;QACjB,IAAI,aAAa,EAAE,CAAC;YAClB,gBAAgB,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,UAAU,EAAE,CAAC;IACf,CAAC,EACD,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAC9C,CAAC;IAEF,MAAM,kBAAkB,GAAG;QACzB,aAAa;QACb,kBAAkB;QAClB,eAAe;QACf,gBAAgB;KACjB,CAAC;IAEF,OAAO,CACL,oBAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB,IACrD,QAAQ,CACqB,CACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"customOptionsContext.js","sourceRoot":"","sources":["../../../src/form/combobox/customOptionsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAUvD,MAAM,oBAAoB,GAAG,aAAa,CACxC,EAA8B,CAC/B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,EACpC,QAAQ,EACR,KAAK,GAIN,EAAE,EAAE;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IACzE,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAEhC,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,MAAsB,EAAE,EAAE;QACzB,gBAAgB,CAAC,CAAC,iBAAiB,EAAE,EAAE,CACrC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,CAC1D,CAAC;QACF,UAAU,EAAE,CAAC;IACf,CAAC,EACD,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAC/B,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,MAAsB,EAAE,EAAE;QACzB,IAAI,aAAa,EAAE,CAAC;YAClB,gBAAgB,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,UAAU,EAAE,CAAC;IACf,CAAC,EACD,CAAC,UAAU,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAC9C,CAAC;IAEF,MAAM,kBAAkB,GAAG;QACzB,aAAa;QACb,kBAAkB;QAClB,eAAe;QACf,gBAAgB;KACjB,CAAC;IAEF,OAAO,CACL,oBAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,kBAAkB,IACrD,QAAQ,CACqB,CACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,5 +1,19 @@
1
1
  import React, { ChangeEvent, InputHTMLAttributes } from "react";
2
2
  import { FormFieldProps } from "../useFormField.js";
3
+ /**
4
+ * A more complex version of options for the Combobox.
5
+ * Used for separating the label and the value of the option.
6
+ */
7
+ export type ComboboxOption = {
8
+ /**
9
+ * The label to display in the dropdown list
10
+ */
11
+ label: string;
12
+ /**
13
+ * The programmatic value of the option, for use internally. Will be returned from onToggleSelected.
14
+ */
15
+ value: string;
16
+ };
3
17
  export type MaxSelected = {
4
18
  /**
5
19
  * The limit for maximum selected options
@@ -12,23 +26,23 @@ export type MaxSelected = {
12
26
  };
13
27
  export interface ComboboxProps extends FormFieldProps, Omit<InputHTMLAttributes<HTMLInputElement>, "size" | "onChange" | "value"> {
14
28
  /**
15
- * Combobox label
29
+ * Combobox label.
16
30
  */
17
31
  label: React.ReactNode;
18
32
  /**
19
- * List of options to use for autocompletion
33
+ * List of options
20
34
  */
21
- options: string[];
35
+ options: string[] | ComboboxOption[];
22
36
  /**
23
37
  * If enabled, adds an option to add the value of the input as an option whenever there are no options matching the value.
24
38
  */
25
39
  allowNewValues?: boolean;
26
40
  /**
27
- * If "true" adds a button to clear the value in the input field
41
+ * If `true` adds a button to clear the value in the input field
28
42
  */
29
43
  clearButton?: boolean;
30
44
  /**
31
- * Custom name for the clear button. Requires "clearButton" to be "true".
45
+ * Custom name for the clear button. Requires `clearButton` to be `true`.
32
46
  *
33
47
  * @default "Tøm"
34
48
  */
@@ -38,7 +52,7 @@ export interface ComboboxProps extends FormFieldProps, Omit<InputHTMLAttributes<
38
52
  * If provided, this overrides the internal search logic in the component.
39
53
  * Useful for e.g. searching on a server or when overriding the search algorithm to search for synonyms or similar.
40
54
  */
41
- filteredOptions?: string[];
55
+ filteredOptions?: string[] | ComboboxOption[];
42
56
  /**
43
57
  * Optionally hide the label visually.
44
58
  * Not recommended, but can be considered for e.g. search fields in the top menu.
@@ -55,13 +69,13 @@ export interface ComboboxProps extends FormFieldProps, Omit<InputHTMLAttributes<
55
69
  */
56
70
  isListOpen?: boolean;
57
71
  /**
58
- * Set to "true" when doing an async search and waiting for new filteredOptions.
72
+ * Set to `true` when doing an async search and waiting for new filteredOptions.
59
73
  *
60
74
  * Will show a spinner in the dropdown and announce to screen readers that it is loading.
61
75
  */
62
76
  isLoading?: boolean;
63
77
  /**
64
- * Set to "true" to allow multiple selections
78
+ * Set to `true` to allow multiple selections.
65
79
  *
66
80
  * This will display selected values as a list of Chips in front of the input field, instead of a selection replacing the value of the input.
67
81
  *
@@ -71,56 +85,53 @@ export interface ComboboxProps extends FormFieldProps, Omit<InputHTMLAttributes<
71
85
  * Callback function triggered whenever the value of the input field is triggered.
72
86
  *
73
87
  * @param event
74
- * @returns
75
88
  */
76
89
  onChange?: (event: ChangeEvent<HTMLInputElement> | null, value?: string) => void;
77
90
  /**
78
- * Callback function triggered whenever the input field is cleared
91
+ * Callback function triggered whenever the input field is cleared.
79
92
  *
80
93
  * @param event
81
- * @returns
82
94
  */
83
95
  onClear?: (event: React.PointerEvent | React.KeyboardEvent) => void;
84
96
  /**
85
- * Callback function triggered whenever an option is selected or de-selected
97
+ * Callback function triggered whenever an option is selected or de-selected.
86
98
  *
87
- * @param option
88
- * @param isSelected - Whether the option has been selected or unselected
89
- * @param isCustomOption - Whether the option comes from user input, instead of from the list
90
- * @returns
99
+ * @param option The option value
100
+ * @param isSelected Whether the option has been selected or unselected
101
+ * @param isCustomOption Whether the option comes from user input, instead of from the list
91
102
  */
92
- onToggleSelected?: (option: string, isSelected: boolean, isCustomOption: boolean) => void;
103
+ onToggleSelected?: (option: ComboboxOption["value"], isSelected: boolean, isCustomOption: boolean) => void;
93
104
  /**
94
105
  * List of selected options.
95
106
  *
96
107
  * Use this prop when controlling the selected state outside for the component,
97
108
  * e.g. for a filter, where options can be toggled elsewhere/programmatically.
98
109
  */
99
- selectedOptions?: string[];
110
+ selectedOptions?: string[] | ComboboxOption[];
100
111
  /**
101
112
  * Options for the maximum number of selected options.
102
113
  */
103
114
  maxSelected?: MaxSelected;
104
115
  /**
105
- * Set to "true" to enable inline autocomplete.
116
+ * Set to `true` to enable inline autocomplete.
106
117
  *
107
118
  * @default false
108
119
  */
109
120
  shouldAutocomplete?: boolean;
110
121
  /**
111
- * When set to "true" displays selected options as Chips before the input field
122
+ * When set to `true` displays selected options as Chips before the input field
112
123
  *
113
124
  * @default true
114
125
  */
115
126
  shouldShowSelectedOptions?: boolean;
116
127
  /**
117
- * When set to "true" displays the toggle button for opening/closing the dropdown list
128
+ * When set to `true` displays the toggle button for opening/closing the dropdown list
118
129
  *
119
130
  * @default true
120
131
  */
121
132
  toggleListButton?: boolean;
122
133
  /**
123
- * Custom name for the toggle list-button. Requires "toggleListButton" to be "true".
134
+ * Custom name for the toggle list-button. Requires "toggleListButton" to be `true`.
124
135
  *
125
136
  * @default "Alternativer"
126
137
  */
@@ -2,27 +2,27 @@ import React, { HTMLAttributes } from "react";
2
2
  import { ErrorSummaryItemType } from "./ErrorSummaryItem.js";
3
3
  export interface ErrorSummaryProps extends HTMLAttributes<HTMLDivElement> {
4
4
  /**
5
- * Collectipn of ErrorSummary.Item
5
+ * Collection of `ErrorSummary.Item`.
6
6
  */
7
7
  children: React.ReactNode;
8
8
  /**
9
- * Changes padding and font-sizes
9
+ * Changes padding and font-sizes.
10
10
  * @default "medium"
11
11
  */
12
12
  size?: "medium" | "small";
13
13
  /**
14
- * Heading above links
14
+ * Heading above links.
15
15
  */
16
16
  heading?: React.ReactNode;
17
17
  /**
18
- * Allows setting a different HTML h-tag
18
+ * Allows setting a different HTML h-tag.
19
19
  * @default "h2"
20
20
  */
21
21
  headingTag?: React.ElementType<any>;
22
22
  }
23
23
  interface ErrorSummaryComponent extends React.ForwardRefExoticComponent<ErrorSummaryProps & React.RefAttributes<HTMLDivElement>> {
24
24
  /**
25
- * Link to error
25
+ * Link to error.
26
26
  *
27
27
  * @see [🤖 OverridableComponent](https://aksel.nav.no/grunnleggende/kode/overridablecomponent) support
28
28
  *
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { ComponentTranslation } from "./i18n/i18n.types.js";
3
+ export type FileUploadLocaleContextProps = {
4
+ translations?: ComponentTranslation<"FileUpload">;
5
+ };
6
+ export declare const FileUploadLocaleContextProvider: import("react").ForwardRefExoticComponent<FileUploadLocaleContextProps & {
7
+ children: import("react").ReactNode;
8
+ } & import("react").RefAttributes<unknown>>, useFileUploadTranslation: <S extends boolean = true>(strict?: S) => S extends true ? FileUploadLocaleContextProps : FileUploadLocaleContextProps | undefined;
@@ -0,0 +1,3 @@
1
+ import { createContext } from "../../util/create-context.js";
2
+ export const [FileUploadLocaleContextProvider, useFileUploadTranslation] = createContext();
3
+ //# sourceMappingURL=FileUpload.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileUpload.context.js","sourceRoot":"","sources":["../../../src/form/file-upload/FileUpload.context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO1D,MAAM,CAAC,MAAM,CAAC,+BAA+B,EAAE,wBAAwB,CAAC,GACtE,aAAa,EAAgC,CAAC"}