@navikt/ds-react 6.13.0 → 6.15.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 (341) hide show
  1. package/cjs/accordion/AccordionContext.d.ts +0 -1
  2. package/cjs/collapsible/Collapsible.context.d.ts +0 -1
  3. package/cjs/date/context/useDateInputContext.d.ts +0 -1
  4. package/cjs/date/datepicker/parts/HeadRow.d.ts +0 -1
  5. package/cjs/date/datepicker/parts/HeadRow.js +2 -3
  6. package/cjs/date/datepicker/parts/HeadRow.js.map +1 -1
  7. package/cjs/date/datepicker/parts/Row.d.ts +0 -1
  8. package/cjs/date/datepicker/parts/TableHead.d.ts +0 -1
  9. package/cjs/date/datepicker/parts/WeekNumber.d.ts +0 -1
  10. package/cjs/date/datepicker/types.d.ts +0 -1
  11. package/cjs/date/monthpicker/types.d.ts +0 -1
  12. package/cjs/date/utils/check-dates.js +2 -2
  13. package/cjs/date/utils/check-dates.js.map +1 -1
  14. package/cjs/date/utils/get-initial-year.js +1 -2
  15. package/cjs/date/utils/get-initial-year.js.map +1 -1
  16. package/cjs/date/utils/get-month-weeks.js +2 -3
  17. package/cjs/date/utils/get-month-weeks.js.map +1 -1
  18. package/cjs/date/utils/is-match.js +2 -3
  19. package/cjs/date/utils/is-match.js.map +1 -1
  20. package/cjs/dropdown/Menu/index.d.ts +1 -1
  21. package/cjs/dropdown/context.d.ts +0 -1
  22. package/cjs/expansion-card/context.d.ts +0 -1
  23. package/cjs/form/checkbox/useCheckbox.d.ts +3 -3
  24. package/cjs/form/combobox/Combobox.d.ts +1 -1
  25. package/cjs/form/combobox/Combobox.js.map +1 -1
  26. package/cjs/form/combobox/ComboboxProvider.js +3 -1
  27. package/cjs/form/combobox/ComboboxProvider.js.map +1 -1
  28. package/cjs/form/combobox/FilteredOptions/AddNewOption.d.ts +3 -0
  29. package/cjs/form/combobox/FilteredOptions/AddNewOption.js +41 -0
  30. package/cjs/form/combobox/FilteredOptions/AddNewOption.js.map +1 -0
  31. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js +13 -57
  32. package/cjs/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  33. package/cjs/form/combobox/FilteredOptions/FilteredOptionsItem.d.ts +6 -0
  34. package/cjs/form/combobox/FilteredOptions/FilteredOptionsItem.js +43 -0
  35. package/cjs/form/combobox/FilteredOptions/FilteredOptionsItem.js.map +1 -0
  36. package/cjs/form/combobox/FilteredOptions/LoadingMessage.d.ts +3 -0
  37. package/cjs/form/combobox/FilteredOptions/LoadingMessage.js +16 -0
  38. package/cjs/form/combobox/FilteredOptions/LoadingMessage.js.map +1 -0
  39. package/cjs/form/combobox/FilteredOptions/MaxSelectedMessage.d.ts +3 -0
  40. package/cjs/form/combobox/FilteredOptions/MaxSelectedMessage.js +20 -0
  41. package/cjs/form/combobox/FilteredOptions/MaxSelectedMessage.js.map +1 -0
  42. package/cjs/form/combobox/FilteredOptions/NoSearchHitsMessage.d.ts +3 -0
  43. package/cjs/form/combobox/FilteredOptions/NoSearchHitsMessage.js +14 -0
  44. package/cjs/form/combobox/FilteredOptions/NoSearchHitsMessage.js.map +1 -0
  45. package/cjs/form/combobox/FilteredOptions/filtered-options-util.d.ts +1 -0
  46. package/cjs/form/combobox/FilteredOptions/filtered-options-util.js +6 -1
  47. package/cjs/form/combobox/FilteredOptions/filtered-options-util.js.map +1 -1
  48. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js +5 -5
  49. package/cjs/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  50. package/cjs/form/combobox/Input/Input.context.d.ts +20 -7
  51. package/cjs/form/combobox/Input/Input.context.js +6 -12
  52. package/cjs/form/combobox/Input/Input.context.js.map +1 -1
  53. package/cjs/form/combobox/Input/Input.d.ts +2 -1
  54. package/cjs/form/combobox/Input/Input.js +45 -20
  55. package/cjs/form/combobox/Input/Input.js.map +1 -1
  56. package/cjs/form/combobox/Input/InputController.d.ts +1 -1
  57. package/cjs/form/combobox/Input/InputController.js +1 -1
  58. package/cjs/form/combobox/Input/InputController.js.map +1 -1
  59. package/cjs/form/combobox/types.d.ts +8 -4
  60. package/cjs/form/fieldset/context.d.ts +0 -1
  61. package/cjs/form/fieldset/useFieldset.d.ts +1 -1
  62. package/cjs/form/file-upload/FileUpload.context.d.ts +0 -1
  63. package/cjs/form/file-upload/parts/dropzone/dropzone.types.d.ts +0 -1
  64. package/cjs/form/file-upload/parts/item/utils/format-file-size.js +1 -2
  65. package/cjs/form/file-upload/parts/item/utils/format-file-size.js.map +1 -1
  66. package/cjs/form/file-upload/useFileUpload.d.ts +1 -2
  67. package/cjs/form/file-upload/utils/is-accepted-file-type.js +1 -2
  68. package/cjs/form/file-upload/utils/is-accepted-file-type.js.map +1 -1
  69. package/cjs/form/file-upload/utils/is-accepted-size.js +1 -2
  70. package/cjs/form/file-upload/utils/is-accepted-size.js.map +1 -1
  71. package/cjs/form/radio/useRadio.d.ts +3 -3
  72. package/cjs/form/search/context.d.ts +0 -1
  73. package/cjs/layout/base/PrimitiveAsChildProps.d.ts +0 -1
  74. package/cjs/layout/grid/HGrid.js +4 -1
  75. package/cjs/layout/grid/HGrid.js.map +1 -1
  76. package/cjs/layout/stack/Stack.js +7 -2
  77. package/cjs/layout/stack/Stack.js.map +1 -1
  78. package/cjs/layout/utilities/css.js +2 -3
  79. package/cjs/layout/utilities/css.js.map +1 -1
  80. package/cjs/list/context.d.ts +0 -1
  81. package/cjs/list/types.d.ts +0 -1
  82. package/cjs/modal/ModalUtils.js +3 -3
  83. package/cjs/modal/ModalUtils.js.map +1 -1
  84. package/cjs/modal/types.d.ts +0 -1
  85. package/cjs/overlays/dismissablelayer/DismissableLayer.d.ts +1 -1
  86. package/cjs/overlays/dismissablelayer/util/dispatchCustomEvent.js +2 -2
  87. package/cjs/overlays/dismissablelayer/util/dispatchCustomEvent.js.map +1 -1
  88. package/cjs/overlays/dismissablelayer/util/useEscapeKeydown.js +1 -2
  89. package/cjs/overlays/dismissablelayer/util/useEscapeKeydown.js.map +1 -1
  90. package/cjs/overlays/dismissablelayer/util/useFocusOutside.js +1 -2
  91. package/cjs/overlays/dismissablelayer/util/useFocusOutside.js.map +1 -1
  92. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js +1 -2
  93. package/cjs/overlays/dismissablelayer/util/usePointerDownOutside.js.map +1 -1
  94. package/cjs/overlays/floating/Floating.utils.js +2 -3
  95. package/cjs/overlays/floating/Floating.utils.js.map +1 -1
  96. package/cjs/overlays/floating-menu/Menu.d.ts +106 -0
  97. package/cjs/overlays/floating-menu/Menu.js +593 -0
  98. package/cjs/overlays/floating-menu/Menu.js.map +1 -0
  99. package/cjs/overlays/floating-menu/parts/FocusScope.d.ts +22 -0
  100. package/cjs/overlays/floating-menu/parts/FocusScope.js +89 -0
  101. package/cjs/overlays/floating-menu/parts/FocusScope.js.map +1 -0
  102. package/cjs/overlays/floating-menu/parts/RovingFocus.d.ts +9 -0
  103. package/cjs/overlays/floating-menu/parts/RovingFocus.js +112 -0
  104. package/cjs/overlays/floating-menu/parts/RovingFocus.js.map +1 -0
  105. package/cjs/overlays/floating-menu/parts/SlottedDivElement.d.ts +7 -0
  106. package/cjs/overlays/floating-menu/parts/SlottedDivElement.js +46 -0
  107. package/cjs/overlays/floating-menu/parts/SlottedDivElement.js.map +1 -0
  108. package/cjs/slot/merge-props.js +1 -2
  109. package/cjs/slot/merge-props.js.map +1 -1
  110. package/cjs/stepper/context.d.ts +0 -1
  111. package/cjs/table/context.d.ts +0 -1
  112. package/cjs/tabs/Tabs.context.d.ts +1 -2
  113. package/cjs/tabs/parts/tab/useTab.d.ts +1 -2
  114. package/cjs/tabs/parts/tab/useTab.js +1 -2
  115. package/cjs/tabs/parts/tab/useTab.js.map +1 -1
  116. package/cjs/tabs/parts/tablist/useScrollButtons.d.ts +0 -1
  117. package/cjs/tabs/parts/tablist/useScrollButtons.js +1 -2
  118. package/cjs/tabs/parts/tablist/useScrollButtons.js.map +1 -1
  119. package/cjs/tabs/parts/tablist/useTabList.js +3 -3
  120. package/cjs/tabs/parts/tablist/useTabList.js.map +1 -1
  121. package/cjs/tabs/parts/tabpanel/useTabPanel.js +1 -2
  122. package/cjs/tabs/parts/tabpanel/useTabPanel.js.map +1 -1
  123. package/cjs/tabs/useTabs.d.ts +0 -1
  124. package/cjs/tabs/useTabs.js +1 -2
  125. package/cjs/tabs/useTabs.js.map +1 -1
  126. package/cjs/timeline/hooks/usePeriodContext.d.ts +0 -1
  127. package/cjs/timeline/hooks/useRowContext.d.ts +0 -1
  128. package/cjs/timeline/hooks/useTimelineContext.d.ts +0 -1
  129. package/cjs/timeline/period/types.d.ts +0 -1
  130. package/cjs/timeline/zoom/index.d.ts +1 -1
  131. package/cjs/toggle-group/ToggleGroup.context.d.ts +1 -2
  132. package/cjs/toggle-group/parts/useToggleItem.d.ts +1 -2
  133. package/cjs/toggle-group/parts/useToggleItem.js +3 -3
  134. package/cjs/toggle-group/parts/useToggleItem.js.map +1 -1
  135. package/cjs/toggle-group/useToggleGroup.d.ts +0 -1
  136. package/cjs/toggle-group/useToggleGroup.js +1 -2
  137. package/cjs/toggle-group/useToggleGroup.js.map +1 -1
  138. package/cjs/util/composeEventHandlers.d.ts +1 -2
  139. package/cjs/util/composeEventHandlers.js +1 -2
  140. package/cjs/util/composeEventHandlers.js.map +1 -1
  141. package/cjs/util/copy.js +1 -1
  142. package/cjs/util/copy.js.map +1 -1
  143. package/cjs/util/create-context.js +1 -2
  144. package/cjs/util/create-context.js.map +1 -1
  145. package/cjs/util/debounce.js +1 -1
  146. package/cjs/util/debounce.js.map +1 -1
  147. package/cjs/util/hooks/descendants/useDescendant.d.ts +1 -1
  148. package/cjs/util/hooks/descendants/useDescendant.js +1 -2
  149. package/cjs/util/hooks/descendants/useDescendant.js.map +1 -1
  150. package/cjs/util/hooks/descendants/utils.js +4 -4
  151. package/cjs/util/hooks/descendants/utils.js.map +1 -1
  152. package/cjs/util/hooks/useCallbackRef.d.ts +0 -1
  153. package/cjs/util/hooks/useCallbackRef.js +1 -2
  154. package/cjs/util/hooks/useCallbackRef.js.map +1 -1
  155. package/cjs/util/hooks/useControllableState.js +1 -2
  156. package/cjs/util/hooks/useControllableState.js.map +1 -1
  157. package/cjs/util/hooks/useId.js +1 -2
  158. package/cjs/util/hooks/useId.js.map +1 -1
  159. package/cjs/util/hooks/useMergeRefs.d.ts +1 -1
  160. package/cjs/util/hooks/useMergeRefs.js +2 -3
  161. package/cjs/util/hooks/useMergeRefs.js.map +1 -1
  162. package/cjs/util/i18n/get.js +1 -2
  163. package/cjs/util/i18n/get.js.map +1 -1
  164. package/cjs/util/i18n/i18n.context.d.ts +0 -1
  165. package/cjs/util/i18n/i18n.context.js +2 -2
  166. package/cjs/util/i18n/i18n.context.js.map +1 -1
  167. package/cjs/util/i18n/merge.js +1 -2
  168. package/cjs/util/i18n/merge.js.map +1 -1
  169. package/cjs/util/omit.js +1 -2
  170. package/cjs/util/omit.js.map +1 -1
  171. package/cjs/util/types/AsChild.d.ts +0 -1
  172. package/cjs/util/types/AsChildProps.d.ts +0 -1
  173. package/cjs/util/virtualfocus/Context.d.ts +43 -0
  174. package/cjs/util/virtualfocus/Context.js +9 -0
  175. package/cjs/util/virtualfocus/Context.js.map +1 -0
  176. package/cjs/util/virtualfocus/SlottedDivElement.d.ts +7 -0
  177. package/cjs/util/virtualfocus/SlottedDivElement.js +46 -0
  178. package/cjs/util/virtualfocus/SlottedDivElement.js.map +1 -0
  179. package/cjs/util/virtualfocus/VirtualFocus.d.ts +62 -0
  180. package/cjs/util/virtualfocus/VirtualFocus.js +90 -0
  181. package/cjs/util/virtualfocus/VirtualFocus.js.map +1 -0
  182. package/cjs/util/virtualfocus/parts/VirtualFocusAnchor.d.ts +33 -0
  183. package/cjs/util/virtualfocus/parts/VirtualFocusAnchor.js +80 -0
  184. package/cjs/util/virtualfocus/parts/VirtualFocusAnchor.js.map +1 -0
  185. package/cjs/util/virtualfocus/parts/VirtualFocusContent.d.ts +4 -0
  186. package/cjs/util/virtualfocus/parts/VirtualFocusContent.js +45 -0
  187. package/cjs/util/virtualfocus/parts/VirtualFocusContent.js.map +1 -0
  188. package/cjs/util/virtualfocus/parts/VirtualFocusItem.d.ts +18 -0
  189. package/cjs/util/virtualfocus/parts/VirtualFocusItem.js +64 -0
  190. package/cjs/util/virtualfocus/parts/VirtualFocusItem.js.map +1 -0
  191. package/esm/accordion/AccordionContext.d.ts +0 -1
  192. package/esm/collapsible/Collapsible.context.d.ts +0 -1
  193. package/esm/date/context/useDateInputContext.d.ts +0 -1
  194. package/esm/date/datepicker/parts/HeadRow.d.ts +0 -1
  195. package/esm/date/datepicker/parts/Row.d.ts +0 -1
  196. package/esm/date/datepicker/parts/TableHead.d.ts +0 -1
  197. package/esm/date/datepicker/parts/WeekNumber.d.ts +0 -1
  198. package/esm/date/datepicker/types.d.ts +0 -1
  199. package/esm/date/monthpicker/types.d.ts +0 -1
  200. package/esm/dropdown/Menu/index.d.ts +1 -1
  201. package/esm/dropdown/context.d.ts +0 -1
  202. package/esm/expansion-card/context.d.ts +0 -1
  203. package/esm/form/checkbox/useCheckbox.d.ts +3 -3
  204. package/esm/form/combobox/Combobox.d.ts +1 -1
  205. package/esm/form/combobox/Combobox.js.map +1 -1
  206. package/esm/form/combobox/ComboboxProvider.js +3 -1
  207. package/esm/form/combobox/ComboboxProvider.js.map +1 -1
  208. package/esm/form/combobox/FilteredOptions/AddNewOption.d.ts +3 -0
  209. package/esm/form/combobox/FilteredOptions/AddNewOption.js +36 -0
  210. package/esm/form/combobox/FilteredOptions/AddNewOption.js.map +1 -0
  211. package/esm/form/combobox/FilteredOptions/FilteredOptions.js +13 -57
  212. package/esm/form/combobox/FilteredOptions/FilteredOptions.js.map +1 -1
  213. package/esm/form/combobox/FilteredOptions/FilteredOptionsItem.d.ts +6 -0
  214. package/esm/form/combobox/FilteredOptions/FilteredOptionsItem.js +38 -0
  215. package/esm/form/combobox/FilteredOptions/FilteredOptionsItem.js.map +1 -0
  216. package/esm/form/combobox/FilteredOptions/LoadingMessage.d.ts +3 -0
  217. package/esm/form/combobox/FilteredOptions/LoadingMessage.js +11 -0
  218. package/esm/form/combobox/FilteredOptions/LoadingMessage.js.map +1 -0
  219. package/esm/form/combobox/FilteredOptions/MaxSelectedMessage.d.ts +3 -0
  220. package/esm/form/combobox/FilteredOptions/MaxSelectedMessage.js +15 -0
  221. package/esm/form/combobox/FilteredOptions/MaxSelectedMessage.js.map +1 -0
  222. package/esm/form/combobox/FilteredOptions/NoSearchHitsMessage.d.ts +3 -0
  223. package/esm/form/combobox/FilteredOptions/NoSearchHitsMessage.js +9 -0
  224. package/esm/form/combobox/FilteredOptions/NoSearchHitsMessage.js.map +1 -0
  225. package/esm/form/combobox/FilteredOptions/filtered-options-util.d.ts +1 -0
  226. package/esm/form/combobox/FilteredOptions/filtered-options-util.js +6 -1
  227. package/esm/form/combobox/FilteredOptions/filtered-options-util.js.map +1 -1
  228. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js +5 -5
  229. package/esm/form/combobox/FilteredOptions/filteredOptionsContext.js.map +1 -1
  230. package/esm/form/combobox/Input/Input.context.d.ts +20 -7
  231. package/esm/form/combobox/Input/Input.context.js +7 -13
  232. package/esm/form/combobox/Input/Input.context.js.map +1 -1
  233. package/esm/form/combobox/Input/Input.d.ts +2 -1
  234. package/esm/form/combobox/Input/Input.js +46 -21
  235. package/esm/form/combobox/Input/Input.js.map +1 -1
  236. package/esm/form/combobox/Input/InputController.d.ts +1 -1
  237. package/esm/form/combobox/Input/InputController.js +1 -1
  238. package/esm/form/combobox/Input/InputController.js.map +1 -1
  239. package/esm/form/combobox/types.d.ts +8 -4
  240. package/esm/form/fieldset/context.d.ts +0 -1
  241. package/esm/form/fieldset/useFieldset.d.ts +1 -1
  242. package/esm/form/file-upload/FileUpload.context.d.ts +0 -1
  243. package/esm/form/file-upload/parts/dropzone/dropzone.types.d.ts +0 -1
  244. package/esm/form/file-upload/useFileUpload.d.ts +1 -2
  245. package/esm/form/radio/useRadio.d.ts +3 -3
  246. package/esm/form/search/context.d.ts +0 -1
  247. package/esm/layout/base/PrimitiveAsChildProps.d.ts +0 -1
  248. package/esm/layout/grid/HGrid.js +4 -1
  249. package/esm/layout/grid/HGrid.js.map +1 -1
  250. package/esm/layout/stack/Stack.js +7 -2
  251. package/esm/layout/stack/Stack.js.map +1 -1
  252. package/esm/list/context.d.ts +0 -1
  253. package/esm/list/types.d.ts +0 -1
  254. package/esm/modal/types.d.ts +0 -1
  255. package/esm/overlays/dismissablelayer/DismissableLayer.d.ts +1 -1
  256. package/esm/overlays/floating-menu/Menu.d.ts +106 -0
  257. package/esm/overlays/floating-menu/Menu.js +551 -0
  258. package/esm/overlays/floating-menu/Menu.js.map +1 -0
  259. package/esm/overlays/floating-menu/parts/FocusScope.d.ts +22 -0
  260. package/esm/overlays/floating-menu/parts/FocusScope.js +63 -0
  261. package/esm/overlays/floating-menu/parts/FocusScope.js.map +1 -0
  262. package/esm/overlays/floating-menu/parts/RovingFocus.d.ts +9 -0
  263. package/esm/overlays/floating-menu/parts/RovingFocus.js +86 -0
  264. package/esm/overlays/floating-menu/parts/RovingFocus.js.map +1 -0
  265. package/esm/overlays/floating-menu/parts/SlottedDivElement.d.ts +7 -0
  266. package/esm/overlays/floating-menu/parts/SlottedDivElement.js +20 -0
  267. package/esm/overlays/floating-menu/parts/SlottedDivElement.js.map +1 -0
  268. package/esm/stepper/context.d.ts +0 -1
  269. package/esm/table/context.d.ts +0 -1
  270. package/esm/tabs/Tabs.context.d.ts +1 -2
  271. package/esm/tabs/parts/tab/useTab.d.ts +1 -2
  272. package/esm/tabs/parts/tablist/useScrollButtons.d.ts +0 -1
  273. package/esm/tabs/parts/tablist/useTabList.js +2 -1
  274. package/esm/tabs/parts/tablist/useTabList.js.map +1 -1
  275. package/esm/tabs/useTabs.d.ts +0 -1
  276. package/esm/timeline/hooks/usePeriodContext.d.ts +0 -1
  277. package/esm/timeline/hooks/useRowContext.d.ts +0 -1
  278. package/esm/timeline/hooks/useTimelineContext.d.ts +0 -1
  279. package/esm/timeline/period/types.d.ts +0 -1
  280. package/esm/timeline/zoom/index.d.ts +1 -1
  281. package/esm/toggle-group/ToggleGroup.context.d.ts +1 -2
  282. package/esm/toggle-group/parts/useToggleItem.d.ts +1 -2
  283. package/esm/toggle-group/parts/useToggleItem.js +2 -1
  284. package/esm/toggle-group/parts/useToggleItem.js.map +1 -1
  285. package/esm/toggle-group/useToggleGroup.d.ts +0 -1
  286. package/esm/util/composeEventHandlers.d.ts +1 -2
  287. package/esm/util/hooks/descendants/useDescendant.d.ts +1 -1
  288. package/esm/util/hooks/useCallbackRef.d.ts +0 -1
  289. package/esm/util/hooks/useMergeRefs.d.ts +1 -1
  290. package/esm/util/i18n/i18n.context.d.ts +0 -1
  291. package/esm/util/types/AsChild.d.ts +0 -1
  292. package/esm/util/types/AsChildProps.d.ts +0 -1
  293. package/esm/util/virtualfocus/Context.d.ts +43 -0
  294. package/esm/util/virtualfocus/Context.js +5 -0
  295. package/esm/util/virtualfocus/Context.js.map +1 -0
  296. package/esm/util/virtualfocus/SlottedDivElement.d.ts +7 -0
  297. package/esm/util/virtualfocus/SlottedDivElement.js +20 -0
  298. package/esm/util/virtualfocus/SlottedDivElement.js.map +1 -0
  299. package/esm/util/virtualfocus/VirtualFocus.d.ts +62 -0
  300. package/esm/util/virtualfocus/VirtualFocus.js +63 -0
  301. package/esm/util/virtualfocus/VirtualFocus.js.map +1 -0
  302. package/esm/util/virtualfocus/parts/VirtualFocusAnchor.d.ts +33 -0
  303. package/esm/util/virtualfocus/parts/VirtualFocusAnchor.js +54 -0
  304. package/esm/util/virtualfocus/parts/VirtualFocusAnchor.js.map +1 -0
  305. package/esm/util/virtualfocus/parts/VirtualFocusContent.d.ts +4 -0
  306. package/esm/util/virtualfocus/parts/VirtualFocusContent.js +19 -0
  307. package/esm/util/virtualfocus/parts/VirtualFocusContent.js.map +1 -0
  308. package/esm/util/virtualfocus/parts/VirtualFocusItem.d.ts +18 -0
  309. package/esm/util/virtualfocus/parts/VirtualFocusItem.js +38 -0
  310. package/esm/util/virtualfocus/parts/VirtualFocusItem.js.map +1 -0
  311. package/package.json +3 -3
  312. package/src/form/combobox/Combobox.tsx +4 -1
  313. package/src/form/combobox/ComboboxProvider.tsx +3 -0
  314. package/src/form/combobox/FilteredOptions/AddNewOption.tsx +63 -0
  315. package/src/form/combobox/FilteredOptions/FilteredOptions.tsx +11 -121
  316. package/src/form/combobox/FilteredOptions/FilteredOptionsItem.tsx +73 -0
  317. package/src/form/combobox/FilteredOptions/LoadingMessage.tsx +20 -0
  318. package/src/form/combobox/FilteredOptions/MaxSelectedMessage.tsx +27 -0
  319. package/src/form/combobox/FilteredOptions/NoSearchHitsMessage.tsx +19 -0
  320. package/src/form/combobox/FilteredOptions/filtered-options-util.ts +9 -1
  321. package/src/form/combobox/FilteredOptions/filteredOptionsContext.tsx +8 -5
  322. package/src/form/combobox/Input/Input.context.tsx +27 -25
  323. package/src/form/combobox/Input/Input.tsx +60 -29
  324. package/src/form/combobox/Input/InputController.tsx +2 -0
  325. package/src/form/combobox/__tests__/combobox.test.tsx +174 -66
  326. package/src/form/combobox/types.ts +11 -7
  327. package/src/layout/grid/HGrid.tsx +4 -1
  328. package/src/layout/stack/Stack.tsx +6 -2
  329. package/src/overlays/floating-menu/Menu.tsx +1177 -0
  330. package/src/overlays/floating-menu/parts/FocusScope.tsx +84 -0
  331. package/src/overlays/floating-menu/parts/RovingFocus.tsx +121 -0
  332. package/src/overlays/floating-menu/parts/SlottedDivElement.tsx +17 -0
  333. package/src/tabs/parts/tablist/useTabList.ts +4 -1
  334. package/src/toggle-group/parts/useToggleItem.ts +4 -1
  335. package/src/util/composeEventHandlers.ts +1 -1
  336. package/src/util/virtualfocus/Context.tsx +27 -0
  337. package/src/util/virtualfocus/SlottedDivElement.tsx +17 -0
  338. package/src/util/virtualfocus/VirtualFocus.tsx +89 -0
  339. package/src/util/virtualfocus/parts/VirtualFocusAnchor.tsx +102 -0
  340. package/src/util/virtualfocus/parts/VirtualFocusContent.tsx +17 -0
  341. package/src/util/virtualfocus/parts/VirtualFocusItem.tsx +60 -0
@@ -0,0 +1,63 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import * as React from "react";
13
+ import { forwardRef, useEffect, useState } from "react";
14
+ import { Slot } from "../../../slot/Slot.js";
15
+ import { useCallbackRef, useMergeRefs } from "../../../util/hooks/index.js";
16
+ const AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
17
+ const AUTOFOCUS_ON_UNMOUNT = "focusScope.autoFocusOnUnmount";
18
+ const EVENT_OPTIONS = { bubbles: false, cancelable: true };
19
+ /**
20
+ * FocusScope manages focus on mount and unmount of container.
21
+ * This is used to better handle autofocus of elements when mounted and unmounted.
22
+ * Example usage:
23
+ * - Focus first item in a list when mounted
24
+ * - Focus a button when unmounted
25
+ */
26
+ const FocusScope = forwardRef((_a, ref) => {
27
+ var { onMountHandler: onMountHandlerCallback, onUnmountHandler: onUnmountHandlerCallback } = _a, rest = __rest(_a, ["onMountHandler", "onUnmountHandler"]);
28
+ const [container, setContainer] = useState(null);
29
+ const onMountHandler = useCallbackRef(onMountHandlerCallback);
30
+ const onUnmountHandler = useCallbackRef(onUnmountHandlerCallback);
31
+ const composedRefs = useMergeRefs(ref, setContainer);
32
+ useEffect(() => {
33
+ var _a;
34
+ if (!container)
35
+ return;
36
+ const ownerDocument = (_a = container.ownerDocument) !== null && _a !== void 0 ? _a : globalThis === null || globalThis === void 0 ? void 0 : globalThis.document;
37
+ const hasFocus = container.contains(ownerDocument.activeElement);
38
+ if (!hasFocus) {
39
+ const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);
40
+ container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountHandler);
41
+ container.dispatchEvent(mountEvent);
42
+ }
43
+ return () => {
44
+ container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountHandler);
45
+ /**
46
+ * https://github.com/facebook/react/issues/17894
47
+ * As usual when dealing with focus and useEffect,
48
+ * we need to defer the focus to the next event-loop
49
+ * setTimeout makes sure the code is ran after the next render-cycle
50
+ */
51
+ setTimeout(() => {
52
+ const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);
53
+ container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountHandler);
54
+ container.dispatchEvent(unmountEvent);
55
+ // we need to remove the listener after we `dispatchEvent`
56
+ container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountHandler);
57
+ }, 0);
58
+ };
59
+ }, [container, onMountHandler, onUnmountHandler]);
60
+ return React.createElement(Slot, Object.assign({ tabIndex: -1 }, rest, { ref: composedRefs }));
61
+ });
62
+ export { FocusScope };
63
+ //# sourceMappingURL=FocusScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FocusScope.js","sourceRoot":"","sources":["../../../../src/overlays/floating-menu/parts/FocusScope.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnE,MAAM,kBAAkB,GAAG,6BAA6B,CAAC;AACzD,MAAM,oBAAoB,GAAG,+BAA+B,CAAC;AAC7D,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAe3D;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,UAAU,CAC3B,CACE,EAIC,EACD,GAAG,EACH,EAAE;QANF,EACE,cAAc,EAAE,sBAAsB,EACtC,gBAAgB,EAAE,wBAAwB,OAE3C,EADI,IAAI,cAHT,sCAIC,CADQ;IAIT,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,cAAc,CAAC,sBAAsB,CAAC,CAAC;IAC9D,MAAM,gBAAgB,GAAG,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAElE,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAErD,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,aAAa,GAAG,MAAA,SAAS,CAAC,aAAa,mCAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,QAAQ,CAAC;QACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,IAAI,WAAW,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;YACtE,SAAS,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAC/D,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;YAElE;;;;;eAKG;YACH,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,YAAY,GAAG,IAAI,WAAW,CAClC,oBAAoB,EACpB,aAAa,CACd,CAAC;gBACF,SAAS,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;gBACnE,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAEtC,0DAA0D;gBAC1D,SAAS,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;YACxE,CAAC,EAAE,CAAC,CAAC,CAAC;QACR,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAElD,OAAO,oBAAC,IAAI,kBAAC,QAAQ,EAAE,CAAC,CAAC,IAAM,IAAI,IAAE,GAAG,EAAE,YAAY,IAAI,CAAC;AAC7D,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,UAAU,EAAwB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { DescendantsManager } from "../../../util/hooks/descendants/descendant.js";
3
+ interface RovingFocusProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "tabIndex"> {
4
+ asChild?: boolean;
5
+ descendants: DescendantsManager<HTMLDivElement, object>;
6
+ onEntryFocus?: (event: Event) => void;
7
+ }
8
+ declare const RovingFocus: React.ForwardRefExoticComponent<RovingFocusProps & React.RefAttributes<HTMLDivElement>>;
9
+ export { RovingFocus, type RovingFocusProps };
@@ -0,0 +1,86 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { forwardRef, useCallback, useEffect, useRef } from "react";
13
+ import { Slot } from "../../../slot/Slot.js";
14
+ import { composeEventHandlers } from "../../../util/composeEventHandlers.js";
15
+ import { useCallbackRef, useMergeRefs } from "../../../util/hooks/index.js";
16
+ const ENTRY_FOCUS = "rovingFocusGroup.onEntryFocus";
17
+ const EVENT_OPTIONS = { bubbles: false, cancelable: true };
18
+ const RovingFocus = forwardRef((_a, ref) => {
19
+ var { children, asChild, descendants, onKeyDown, onEntryFocus, onMouseDown, onFocus } = _a, rest = __rest(_a, ["children", "asChild", "descendants", "onKeyDown", "onEntryFocus", "onMouseDown", "onFocus"]);
20
+ const _ref = React.useRef(null);
21
+ const composedRefs = useMergeRefs(ref, _ref);
22
+ const handleEntryFocus = useCallbackRef(onEntryFocus);
23
+ const isMouseFocusRef = useRef(false);
24
+ useEffect(() => {
25
+ const node = _ref.current;
26
+ if (node) {
27
+ node.addEventListener(ENTRY_FOCUS, handleEntryFocus);
28
+ return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);
29
+ }
30
+ }, [handleEntryFocus]);
31
+ const handleKeyDown = useCallback((event) => {
32
+ var _a, _b;
33
+ const loop = false;
34
+ const ownerDocument = (_b = (_a = _ref === null || _ref === void 0 ? void 0 : _ref.current) === null || _a === void 0 ? void 0 : _a.ownerDocument) !== null && _b !== void 0 ? _b : globalThis === null || globalThis === void 0 ? void 0 : globalThis.document;
35
+ const idx = descendants
36
+ .values()
37
+ .findIndex((x) => x.node.isSameNode(ownerDocument.activeElement));
38
+ const nextItem = () => {
39
+ var _a;
40
+ const next = descendants.nextEnabled(idx, loop);
41
+ next && ((_a = next.node) === null || _a === void 0 ? void 0 : _a.focus());
42
+ };
43
+ const prevItem = () => {
44
+ var _a;
45
+ const prev = descendants.prevEnabled(idx, loop);
46
+ prev && ((_a = prev.node) === null || _a === void 0 ? void 0 : _a.focus());
47
+ };
48
+ const firstItem = () => {
49
+ var _a;
50
+ const first = descendants.firstEnabled();
51
+ first && ((_a = first.node) === null || _a === void 0 ? void 0 : _a.focus());
52
+ };
53
+ const lastItem = () => {
54
+ var _a;
55
+ const last = descendants.lastEnabled();
56
+ last && ((_a = last.node) === null || _a === void 0 ? void 0 : _a.focus());
57
+ };
58
+ const keyMap = {
59
+ ArrowUp: prevItem,
60
+ ArrowDown: nextItem,
61
+ Home: firstItem,
62
+ End: lastItem,
63
+ };
64
+ const action = keyMap[event.key];
65
+ if (action) {
66
+ event.preventDefault();
67
+ action(event);
68
+ }
69
+ }, [descendants]);
70
+ const Comp = asChild ? Slot : "div";
71
+ return (React.createElement(Comp, Object.assign({ ref: composedRefs }, rest, { tabIndex: descendants.enabledCount() === 0 ? -1 : 0, style: Object.assign({ outline: "none" }, rest.style), onKeyDown: composeEventHandlers(onKeyDown, handleKeyDown), onMouseDown: composeEventHandlers(onMouseDown, () => {
72
+ isMouseFocusRef.current = true;
73
+ }), onFocus: composeEventHandlers(onFocus, (event) => {
74
+ var _a;
75
+ if (event.target === event.currentTarget) {
76
+ const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);
77
+ event.currentTarget.dispatchEvent(entryFocusEvent);
78
+ if (!entryFocusEvent.defaultPrevented) {
79
+ (_a = descendants.firstEnabled()) === null || _a === void 0 ? void 0 : _a.node.focus({ preventScroll: true });
80
+ }
81
+ }
82
+ isMouseFocusRef.current = false;
83
+ }) }), children));
84
+ });
85
+ export { RovingFocus };
86
+ //# sourceMappingURL=RovingFocus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RovingFocus.js","sourceRoot":"","sources":["../../../../src/overlays/floating-menu/parts/RovingFocus.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ interface SlottedDivProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ asChild?: boolean;
4
+ }
5
+ declare const SlottedDivElement: React.ForwardRefExoticComponent<SlottedDivProps & React.RefAttributes<HTMLDivElement>>;
6
+ type SlottedDivElementRef = React.ElementRef<typeof SlottedDivElement>;
7
+ export { SlottedDivElement, type SlottedDivElementRef, type SlottedDivProps };
@@ -0,0 +1,20 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { forwardRef } from "react";
13
+ import { Slot } from "../../../slot/Slot.js";
14
+ const SlottedDivElement = forwardRef((_a, forwardedRef) => {
15
+ var { asChild } = _a, rest = __rest(_a, ["asChild"]);
16
+ const Comp = asChild ? Slot : "div";
17
+ return React.createElement(Comp, Object.assign({}, rest, { ref: forwardedRef }));
18
+ });
19
+ export { SlottedDivElement };
20
+ //# sourceMappingURL=SlottedDivElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlottedDivElement.js","sourceRoot":"","sources":["../../../../src/overlays/floating-menu/parts/SlottedDivElement.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAM1C,MAAM,iBAAiB,GAAG,UAAU,CAClC,CAAC,EAAoB,EAAE,YAAY,EAAE,EAAE;QAAtC,EAAE,OAAO,OAAW,EAAN,IAAI,cAAlB,WAAoB,CAAF;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACpC,OAAO,oBAAC,IAAI,oBAAK,IAAI,IAAE,GAAG,EAAE,YAAY,IAAI,CAAC;AAC/C,CAAC,CACF,CAAC;AAIF,OAAO,EAAE,iBAAiB,EAAmD,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface StepperContextValue {
3
2
  onStepChange: (step: number) => void;
4
3
  lastIndex: number;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { SortState } from "./types.js";
3
2
  export interface TableContextProps {
4
3
  onSortChange?: (sortKey: string) => void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TabsProps } from "./Tabs.types.js";
3
2
  import { useTabs } from "./useTabs.js";
4
3
  export declare const TabsDescendantsProvider: import("react").Provider<import("../util/hooks/descendants/descendant.js").DescendantsManager<HTMLButtonElement, {
@@ -17,7 +16,7 @@ export declare const TabsDescendantsProvider: import("react").Provider<import(".
17
16
  }>;
18
17
  index: number;
19
18
  enabledIndex: number;
20
- register: (instance: HTMLButtonElement | null) => void;
19
+ register: (instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
21
20
  };
22
21
  type TabsProviderProps = ReturnType<typeof useTabs> & Pick<TabsProps, "selectionFollowsFocus" | "loop" | "size" | "iconPosition" | "fill">;
23
22
  export declare const TabsProvider: import("react").ForwardRefExoticComponent<{
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface UseTabProps {
3
2
  /**
4
3
  * If `true`, the `Tab` won't be toggleable
@@ -10,7 +9,7 @@ export interface UseTabProps {
10
9
  value: string;
11
10
  }
12
11
  export declare function useTab<P extends UseTabProps>({ value, disabled, onFocus: _onFocus, onClick }: P, ref: React.ForwardedRef<HTMLButtonElement>): {
13
- ref: (instance: HTMLButtonElement | null) => void;
12
+ ref: (instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
14
13
  isSelected: boolean;
15
14
  isFocused: boolean;
16
15
  id: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare function useScrollButtons(listRef: React.RefObject<HTMLDivElement>): {
3
2
  update: {
4
3
  (this: any, ...args: any[]): void;
@@ -44,8 +44,9 @@ export function useTabList() {
44
44
  Home: firstTab,
45
45
  End: lastTab,
46
46
  };
47
+ const hasModifiers = event.shiftKey || event.ctrlKey || event.altKey || event.metaKey;
47
48
  const action = keyMap[event.key];
48
- if (action) {
49
+ if (action && !hasModifiers) {
49
50
  event.preventDefault();
50
51
  action(event);
51
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useTabList.js","sourceRoot":"","sources":["../../../../src/tabs/parts/tablist/useTabList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/E;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,GAC1D,cAAc,EAAE,CAAC;IAEnB,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAEhD;;OAEG;IACH,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,KAA0B,EAAE,EAAE;QAC7B;;;WAGG;QACH,MAAM,GAAG,GAAG,WAAW;aACpB,MAAM,EAAE;aACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,GAAG,EAAE;;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,EAAE;;YACpB,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;YACzC,KAAK,KAAI,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,MAAM,GAA+C;YACzD,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,OAAO;YACnB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,OAAO;SACb,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAC/B;;;eAGG;YACH,aAAa,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,CAClE,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"useTabList.js","sourceRoot":"","sources":["../../../../src/tabs/parts/tablist/useTabList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/E;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,EAAE,GAC1D,cAAc,EAAE,CAAC;IAEnB,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAEhD;;OAEG;IACH,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,KAA0B,EAAE,EAAE;QAC7B;;;WAGG;QACH,MAAM,GAAG,GAAG,WAAW;aACpB,MAAM,EAAE;aACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;QAE9C,MAAM,OAAO,GAAG,GAAG,EAAE;;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAChD,IAAI,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,CAAC;QAC7B,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,EAAE;;YACpB,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC;YACzC,KAAK,KAAI,MAAA,KAAK,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,CAAC;QAC/B,CAAC,CAAC;QACF,MAAM,OAAO,GAAG,GAAG,EAAE;;YACnB,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,EAAE,CAAA,CAAC;QAC7B,CAAC,CAAC;QAEF,MAAM,MAAM,GAA+C;YACzD,SAAS,EAAE,OAAO;YAClB,UAAU,EAAE,OAAO;YACnB,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,OAAO;SACb,CAAC;QAEF,MAAM,YAAY,GAChB,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;QAEnE,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEjC,IAAI,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5B,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YAC/B;;;eAGG;YACH,aAAa,IAAI,UAAU,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,EACD,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,eAAe,CAAC,CAClE,CAAC;IAEF,OAAO,EAAE,SAAS,EAAE,CAAC;AACvB,CAAC"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { TabsProps } from "./Tabs.types.js";
3
2
  export declare function useTabs({ onChange, value, defaultValue, id, }: Pick<TabsProps, "onChange" | "value" | "defaultValue" | "id">): {
4
3
  id: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface PeriodContextProps {
3
2
  periodId: string;
4
3
  firstFocus: boolean;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { PositionedPeriod } from "../utils/types.internal.js";
3
2
  interface RowContextProps {
4
3
  periods: PositionedPeriod[];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface TimelineContextProps {
3
2
  startDate: Date;
4
3
  endDate: Date;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface PeriodProps {
3
2
  start: Date;
4
3
  end: Date;
@@ -7,5 +7,5 @@ export interface ZoomType<Props = ZoomProps> extends React.ForwardRefExoticCompo
7
7
  Button: ZoomButtonType;
8
8
  componentType: string;
9
9
  }
10
- export declare const Zoom: ZoomType<ZoomProps>;
10
+ export declare const Zoom: ZoomType;
11
11
  export default Zoom;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ToggleGroupProps } from "./ToggleGroup.types.js";
3
2
  import { useToggleGroup } from "./useToggleGroup.js";
4
3
  interface ToggleContextProps {
@@ -21,7 +20,7 @@ export declare const ToggleGroupDescendantsProvider: import("react").Provider<im
21
20
  }>;
22
21
  index: number;
23
22
  enabledIndex: number;
24
- register: (instance: HTMLButtonElement | null) => void;
23
+ register: (instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
25
24
  };
26
25
  type ToggleGroupProviderProps = ReturnType<typeof useToggleGroup> & Pick<ToggleGroupProps, "size">;
27
26
  export declare const ToggleGroupProvider: import("react").ForwardRefExoticComponent<{
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export interface UseToggleItemProps {
3
2
  /**
4
3
  * If `true`, the `ToggleItem` won't be toggleable
@@ -11,7 +10,7 @@ export interface UseToggleItemProps {
11
10
  value: string;
12
11
  }
13
12
  export declare function useToggleItem<P extends UseToggleItemProps>({ value, disabled, onFocus: _onFocus, onClick, onKeyDown: _onKeyDown, }: P, ref: React.ForwardedRef<HTMLButtonElement>): {
14
- ref: (instance: HTMLButtonElement | null) => void;
13
+ ref: (instance: HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
15
14
  isSelected: boolean;
16
15
  isFocused: boolean;
17
16
  onClick: (event: import("react").MouseEvent<Element, MouseEvent>) => void;
@@ -47,8 +47,9 @@ export function useToggleItem({ value, disabled = false, onFocus: _onFocus, onCl
47
47
  Home: firstTab,
48
48
  End: lastTab,
49
49
  };
50
+ const hasModifiers = event.shiftKey || event.ctrlKey || event.altKey || event.metaKey;
50
51
  const action = keyMap[event.key];
51
- if (action) {
52
+ if (action && !hasModifiers) {
52
53
  event.preventDefault();
53
54
  action(event);
54
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useToggleItem.js","sourceRoot":"","sources":["../../../src/toggle-group/parts/useToggleItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useToggleItem.js","sourceRoot":"","sources":["../../../src/toggle-group/parts/useToggleItem.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ToggleGroupProps } from "./ToggleGroup.types.js";
3
2
  export declare function useToggleGroup({ onChange, value, defaultValue, }: Pick<ToggleGroupProps, "onChange" | "value" | "defaultValue">): {
4
3
  selectedValue: string;
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * Utility to consistently call original eventhandler, often from props and internal eventhandler
4
3
  * @internal
5
4
  */
6
- export declare function composeEventHandlers<T extends React.SyntheticEvent>(originalEventHandler?: (event: T) => void, ourEventHandler?: (event: T) => void, { checkForDefaultPrevented }?: {
5
+ export declare function composeEventHandlers<T extends React.SyntheticEvent | Event>(originalEventHandler?: (event: T) => void, ourEventHandler?: (event: T) => void, { checkForDefaultPrevented }?: {
7
6
  checkForDefaultPrevented?: boolean | undefined;
8
7
  }): (event: T) => void;
@@ -10,5 +10,5 @@ export declare function createDescendantContext<T extends HTMLElement = HTMLElem
10
10
  descendants: DescendantsManager<T, K>;
11
11
  index: number;
12
12
  enabledIndex: number;
13
- register: (instance: T | null) => void;
13
+ register: (instance: T | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
14
14
  }];
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * A custom hook that converts a callback to a ref to avoid triggering re-renders when passed as a
4
3
  * prop or avoid re-executing effects when passed as a dependency
@@ -11,5 +11,5 @@ export declare function mergeRefs<T>(refs: PossibleRef<T>[]): React.RefCallback<
11
11
  * @param ...refs: React.Ref<T> | undefined
12
12
  * @returns React.useCallback(mergeRefs(refs), refs)
13
13
  */
14
- export declare function useMergeRefs<T>(...refs: PossibleRef<T>[]): (instance: T | null) => void;
14
+ export declare function useMergeRefs<T>(...refs: PossibleRef<T>[]): (instance: T | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
15
15
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Component, ComponentTranslation, TranslationDictionary } from "./i18n.types.js";
3
2
  import nb from "./locales/nb.js";
4
3
  export declare const I18nContext: import("react").Context<TranslationDictionary | TranslationDictionary[]>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export type AsChild = {
3
2
  children: React.ReactElement;
4
3
  /**
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export type AsChildProps = {
3
2
  children: React.ReactElement | false | null;
4
3
  /**
@@ -0,0 +1,43 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ export declare const VirtualFocusDescendantsProvider: import("react").Provider<import("../hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
3
+ handleOnSelect: () => void;
4
+ handleOnActive: () => void;
5
+ }>>, useVirtualFocusDescendantsContext: <S extends boolean = true>(strict?: S) => S extends true ? import("../hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
6
+ handleOnSelect: () => void;
7
+ handleOnActive: () => void;
8
+ }> : import("../hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
9
+ handleOnSelect: () => void;
10
+ handleOnActive: () => void;
11
+ }> | undefined, useVirtualFocusDescendantInitializer: () => import("../hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
12
+ handleOnSelect: () => void;
13
+ handleOnActive: () => void;
14
+ }>, useVirtualFocusDescendant: (options?: import("../hooks/descendants/descendant.js").DescendantOptions<{
15
+ handleOnSelect: () => void;
16
+ handleOnActive: () => void;
17
+ }> | undefined) => {
18
+ descendants: import("../hooks/descendants/descendant.js").DescendantsManager<HTMLDivElement, {
19
+ handleOnSelect: () => void;
20
+ handleOnActive: () => void;
21
+ }>;
22
+ index: number;
23
+ enabledIndex: number;
24
+ register: (instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
25
+ };
26
+ export declare const VirtualFocusInternalContextProvider: import("react").ForwardRefExoticComponent<{
27
+ virtualFocusIdx: number;
28
+ setVirtualFocusIdx: Dispatch<SetStateAction<number>>;
29
+ loop: boolean;
30
+ uniqueId: string;
31
+ } & {
32
+ children: import("react").ReactNode;
33
+ } & import("react").RefAttributes<unknown>>, useVirtualFocusInternalContext: <S extends boolean = true>(strict?: S) => S extends true ? {
34
+ virtualFocusIdx: number;
35
+ setVirtualFocusIdx: Dispatch<SetStateAction<number>>;
36
+ loop: boolean;
37
+ uniqueId: string;
38
+ } : {
39
+ virtualFocusIdx: number;
40
+ setVirtualFocusIdx: Dispatch<SetStateAction<number>>;
41
+ loop: boolean;
42
+ uniqueId: string;
43
+ } | undefined;
@@ -0,0 +1,5 @@
1
+ import { createContext } from "../create-context.js";
2
+ import { createDescendantContext } from "../hooks/descendants/useDescendant.js";
3
+ export const [VirtualFocusDescendantsProvider, useVirtualFocusDescendantsContext, useVirtualFocusDescendantInitializer, useVirtualFocusDescendant,] = createDescendantContext();
4
+ export const [VirtualFocusInternalContextProvider, useVirtualFocusInternalContext,] = createContext();
5
+ //# sourceMappingURL=Context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../src/util/virtualfocus/Context.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAG7E,MAAM,CAAC,MAAM,CACX,+BAA+B,EAC/B,iCAAiC,EACjC,oCAAoC,EACpC,yBAAyB,EAC1B,GAAG,uBAAuB,EAMxB,CAAC;AAEJ,MAAM,CAAC,MAAM,CACX,mCAAmC,EACnC,8BAA8B,EAC/B,GAAG,aAAa,EAKb,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ interface SlottedDivProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ asChild?: boolean;
4
+ }
5
+ declare const SlottedDivElement: React.ForwardRefExoticComponent<SlottedDivProps & React.RefAttributes<HTMLDivElement>>;
6
+ type SlottedDivElementRef = React.ElementRef<typeof SlottedDivElement>;
7
+ export { SlottedDivElement, type SlottedDivElementRef, type SlottedDivProps };
@@ -0,0 +1,20 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import React, { forwardRef } from "react";
13
+ import { Slot } from "../../slot/Slot.js";
14
+ const SlottedDivElement = forwardRef((_a, forwardedRef) => {
15
+ var { asChild } = _a, rest = __rest(_a, ["asChild"]);
16
+ const Comp = asChild ? Slot : "div";
17
+ return React.createElement(Comp, Object.assign({}, rest, { ref: forwardedRef }));
18
+ });
19
+ export { SlottedDivElement };
20
+ //# sourceMappingURL=SlottedDivElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SlottedDivElement.js","sourceRoot":"","sources":["../../../src/util/virtualfocus/SlottedDivElement.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAMvC,MAAM,iBAAiB,GAAG,UAAU,CAClC,CAAC,EAAoB,EAAE,YAAY,EAAE,EAAE;QAAtC,EAAE,OAAO,OAAW,EAAN,IAAI,cAAlB,WAAoB,CAAF;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACpC,OAAO,oBAAC,IAAI,oBAAK,IAAI,IAAE,GAAG,EAAE,YAAY,IAAI,CAAC;AAC/C,CAAC,CACF,CAAC;AAIF,OAAO,EAAE,iBAAiB,EAAmD,CAAC"}
@@ -0,0 +1,62 @@
1
+ import React from "react";
2
+ type VirtualFocusProps = {
3
+ children: React.ReactNode;
4
+ /**
5
+ * Whether to cause focus to loop around when it hits the first or last element
6
+ * @default false
7
+ **/
8
+ loop?: boolean;
9
+ };
10
+ /**
11
+ * A component that manages a virtual focus using the 'up' and 'down'
12
+ * arrow keys as well as selection with 'Return'.
13
+ *
14
+ * @see [📝 Documentation](https://aksel.nav.no/komponenter/core/virtualfocus)
15
+ * @see 🏷️ {@link AccordionProps}
16
+ *
17
+ * @example
18
+ * ```jsx
19
+ * <VirtualFocus>
20
+ * <VirtualFocus.Anchor
21
+ * role="combobox"
22
+ * onSelect={() => {
23
+ * console.log("you selected the anchor");
24
+ * }}
25
+ * onActive={() => {
26
+ * console.log("the anchor is now virtually focused");
27
+ * }}
28
+ * >
29
+ * <input type="text" />
30
+ * </VirtualFocus.Anchor>
31
+ * <VirtualFocus.Content>
32
+ * <VirtualFocus.Item
33
+ * onSelect={() => {
34
+ * console.log("you selected the item");
35
+ * }}
36
+ * onActive={() => {
37
+ * console.log("the item is now virtually focused");
38
+ * }}
39
+ * >
40
+ * <p>item 1</p>
41
+ * </VirtualFocus.Item>
42
+ * <VirtualFocus.Item
43
+ * onSelect={() => {
44
+ * console.log("you selected the item");
45
+ * }}
46
+ * onActive={() => {
47
+ * console.log("the item is now virtually focused");
48
+ * }}
49
+ * >
50
+ * <p>item 2</p>
51
+ * </VirtualFocus.Item>
52
+ * </VirtualFocus.Content>
53
+ * </VirtualFocus>
54
+ * ```
55
+ */
56
+ export declare const VirtualFocus: {
57
+ ({ children, loop }: VirtualFocusProps): React.JSX.Element;
58
+ Anchor: React.ForwardRefExoticComponent<import("./parts/VirtualFocusAnchor.js").VirtualFocusAnchorProps & React.RefAttributes<HTMLInputElement>>;
59
+ Item: React.ForwardRefExoticComponent<import("./parts/VirtualFocusItem.js").VirtualFocusItemProps & React.RefAttributes<HTMLElement>>;
60
+ Content: React.ForwardRefExoticComponent<import("./parts/VirtualFocusContent.js").VirtualFocusContentProps & React.RefAttributes<HTMLDivElement>>;
61
+ };
62
+ export default VirtualFocus;