@workday/canvas-kit-react 9.0.0-alpha.419-next.21 → 9.0.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 (255) hide show
  1. package/breadcrumbs/lib/BreadcrumbsItem.tsx +1 -1
  2. package/collection/index.ts +2 -0
  3. package/collection/lib/ListBox.tsx +12 -10
  4. package/collection/lib/useBaseListModel.tsx +6 -4
  5. package/collection/lib/useCursorListModel.tsx +1 -1
  6. package/collection/lib/useListActiveDescendant.ts +24 -0
  7. package/collection/lib/useListItemAllowChildStrings.ts +2 -1
  8. package/collection/lib/useListItemRegister.tsx +10 -3
  9. package/collection/lib/useListItemSelect.tsx +1 -1
  10. package/collection/lib/useListKeyboardHandler.ts +28 -0
  11. package/collection/lib/useListLoader.ts +116 -54
  12. package/collection/lib/useOverflowListItemMeasure.tsx +2 -2
  13. package/collection/lib/useOverflowListMeasure.ts +11 -13
  14. package/collection/lib/useOverflowListTarget.tsx +28 -30
  15. package/collection/lib/useSelectionListModel.tsx +1 -0
  16. package/combobox/LICENSE +52 -0
  17. package/combobox/README.md +7 -0
  18. package/combobox/index.ts +8 -0
  19. package/combobox/lib/Combobox.tsx +32 -0
  20. package/combobox/lib/ComboboxCard.tsx +33 -0
  21. package/combobox/lib/ComboboxInput.tsx +104 -0
  22. package/combobox/lib/ComboboxMenu.tsx +67 -0
  23. package/combobox/lib/ComboboxMenuItem.tsx +74 -0
  24. package/combobox/lib/ComboboxMenuList.tsx +45 -0
  25. package/combobox/lib/useComboboxInputOpenWithArrowKeys.ts +21 -0
  26. package/combobox/lib/useComboboxLoader.ts +72 -0
  27. package/combobox/lib/useComboboxModel.tsx +85 -0
  28. package/combobox/package.json +6 -0
  29. package/common/lib/utils/components.ts +15 -16
  30. package/common/lib/utils/models.ts +2 -2
  31. package/dist/commonjs/action-bar/lib/ActionBar.d.ts +2 -2
  32. package/dist/commonjs/action-bar/lib/ActionBarList.d.ts +1 -1
  33. package/dist/commonjs/action-bar/lib/useActionBarModel.d.ts +2 -2
  34. package/dist/commonjs/breadcrumbs/lib/Breadcrumbs.d.ts +2 -2
  35. package/dist/commonjs/breadcrumbs/lib/BreadcrumbsMenu.d.ts +1 -1
  36. package/dist/commonjs/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +2 -2
  37. package/dist/commonjs/collection/index.d.ts +2 -0
  38. package/dist/commonjs/collection/index.d.ts.map +1 -1
  39. package/dist/commonjs/collection/index.js +2 -0
  40. package/dist/commonjs/collection/lib/ListBox.d.ts +7 -6
  41. package/dist/commonjs/collection/lib/ListBox.d.ts.map +1 -1
  42. package/dist/commonjs/collection/lib/ListBox.js +5 -3
  43. package/dist/commonjs/collection/lib/useBaseListModel.d.ts.map +1 -1
  44. package/dist/commonjs/collection/lib/useBaseListModel.js +4 -4
  45. package/dist/commonjs/collection/lib/useCursorListModel.d.ts +0 -34
  46. package/dist/commonjs/collection/lib/useCursorListModel.d.ts.map +1 -1
  47. package/dist/commonjs/collection/lib/useCursorListModel.js +1 -1
  48. package/dist/commonjs/collection/lib/useListActiveDescendant.d.ts +68 -0
  49. package/dist/commonjs/collection/lib/useListActiveDescendant.d.ts.map +1 -0
  50. package/dist/commonjs/collection/lib/useListActiveDescendant.js +25 -0
  51. package/dist/commonjs/collection/lib/useListItemAllowChildStrings.d.ts +2 -1
  52. package/dist/commonjs/collection/lib/useListItemAllowChildStrings.d.ts.map +1 -1
  53. package/dist/commonjs/collection/lib/useListItemAllowChildStrings.js +2 -1
  54. package/dist/commonjs/collection/lib/useListItemRegister.d.ts.map +1 -1
  55. package/dist/commonjs/collection/lib/useListItemRegister.js +5 -1
  56. package/dist/commonjs/collection/lib/useListKeyboardHandler.d.ts +66 -0
  57. package/dist/commonjs/collection/lib/useListKeyboardHandler.d.ts.map +1 -0
  58. package/dist/commonjs/collection/lib/useListKeyboardHandler.js +27 -0
  59. package/dist/commonjs/collection/lib/useListLoader.d.ts +46 -7
  60. package/dist/commonjs/collection/lib/useListLoader.d.ts.map +1 -1
  61. package/dist/commonjs/collection/lib/useListLoader.js +61 -35
  62. package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts +1 -1
  63. package/dist/commonjs/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
  64. package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts +5 -2
  65. package/dist/commonjs/collection/lib/useOverflowListTarget.d.ts.map +1 -1
  66. package/dist/commonjs/collection/lib/useOverflowListTarget.js +1 -1
  67. package/dist/commonjs/collection/lib/useSelectionListModel.d.ts.map +1 -1
  68. package/dist/commonjs/collection/lib/useSelectionListModel.js +1 -0
  69. package/dist/commonjs/combobox/index.d.ts +9 -0
  70. package/dist/commonjs/combobox/index.d.ts.map +1 -0
  71. package/dist/commonjs/combobox/index.js +19 -0
  72. package/dist/commonjs/combobox/lib/Combobox.d.ts +2075 -0
  73. package/dist/commonjs/combobox/lib/Combobox.d.ts.map +1 -0
  74. package/dist/commonjs/combobox/lib/Combobox.js +29 -0
  75. package/dist/commonjs/combobox/lib/ComboboxCard.d.ts +166 -0
  76. package/dist/commonjs/combobox/lib/ComboboxCard.d.ts.map +1 -0
  77. package/dist/commonjs/combobox/lib/ComboboxCard.js +25 -0
  78. package/dist/commonjs/combobox/lib/ComboboxInput.d.ts +186 -0
  79. package/dist/commonjs/combobox/lib/ComboboxInput.d.ts.map +1 -0
  80. package/dist/commonjs/combobox/lib/ComboboxInput.js +84 -0
  81. package/dist/commonjs/combobox/lib/ComboboxMenu.d.ts +428 -0
  82. package/dist/commonjs/combobox/lib/ComboboxMenu.d.ts.map +1 -0
  83. package/dist/commonjs/combobox/lib/ComboboxMenu.js +63 -0
  84. package/dist/commonjs/combobox/lib/ComboboxMenuItem.d.ts +178 -0
  85. package/dist/commonjs/combobox/lib/ComboboxMenuItem.d.ts.map +1 -0
  86. package/dist/commonjs/combobox/lib/ComboboxMenuItem.js +50 -0
  87. package/dist/commonjs/combobox/lib/ComboboxMenuList.d.ts +164 -0
  88. package/dist/commonjs/combobox/lib/ComboboxMenuList.d.ts.map +1 -0
  89. package/dist/commonjs/combobox/lib/ComboboxMenuList.js +31 -0
  90. package/dist/commonjs/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts +84 -0
  91. package/dist/commonjs/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts.map +1 -0
  92. package/dist/commonjs/combobox/lib/useComboboxInputOpenWithArrowKeys.js +20 -0
  93. package/dist/commonjs/combobox/lib/useComboboxLoader.d.ts +28 -0
  94. package/dist/commonjs/combobox/lib/useComboboxLoader.d.ts.map +1 -0
  95. package/dist/commonjs/combobox/lib/useComboboxLoader.js +65 -0
  96. package/dist/commonjs/combobox/lib/useComboboxModel.d.ts +1998 -0
  97. package/dist/commonjs/combobox/lib/useComboboxModel.d.ts.map +1 -0
  98. package/dist/commonjs/combobox/lib/useComboboxModel.js +82 -0
  99. package/dist/commonjs/common/lib/utils/components.d.ts +9 -23
  100. package/dist/commonjs/common/lib/utils/components.d.ts.map +1 -1
  101. package/dist/commonjs/common/lib/utils/components.js +2 -2
  102. package/dist/commonjs/common/lib/utils/models.js +2 -2
  103. package/dist/commonjs/index.d.ts +1 -0
  104. package/dist/commonjs/index.d.ts.map +1 -1
  105. package/dist/commonjs/index.js +1 -0
  106. package/dist/commonjs/menu/index.d.ts +1 -1
  107. package/dist/commonjs/menu/index.d.ts.map +1 -1
  108. package/dist/commonjs/menu/index.js +2 -1
  109. package/dist/commonjs/menu/lib/Menu.d.ts +7 -5
  110. package/dist/commonjs/menu/lib/Menu.d.ts.map +1 -1
  111. package/dist/commonjs/menu/lib/Menu.js +6 -4
  112. package/dist/commonjs/menu/lib/MenuContextTarget.d.ts +2 -2
  113. package/dist/commonjs/menu/lib/MenuItem.d.ts +7 -1
  114. package/dist/commonjs/menu/lib/MenuItem.d.ts.map +1 -1
  115. package/dist/commonjs/menu/lib/MenuItem.js +9 -11
  116. package/dist/commonjs/menu/lib/MenuList.d.ts +3 -3
  117. package/dist/commonjs/menu/lib/MenuList.d.ts.map +1 -1
  118. package/dist/commonjs/menu/lib/MenuList.js +3 -2
  119. package/dist/commonjs/menu/lib/MenuPopper.d.ts +1 -1
  120. package/dist/commonjs/menu/lib/MenuTarget.d.ts +2 -2
  121. package/dist/commonjs/menu/lib/useMenuModel.d.ts +2 -2
  122. package/dist/commonjs/menu/lib/useMenuModel.d.ts.map +1 -1
  123. package/dist/commonjs/menu/lib/useMenuModel.js +3 -5
  124. package/dist/commonjs/popup/lib/hooks/usePopupPopper.d.ts +1 -1
  125. package/dist/commonjs/popup/lib/hooks/usePopupTarget.d.ts +1 -1
  126. package/dist/commonjs/popup/lib/hooks/usePopupTargetContext.d.ts +1 -1
  127. package/dist/commonjs/tabs/lib/Tabs.d.ts +18 -120
  128. package/dist/commonjs/tabs/lib/Tabs.d.ts.map +1 -1
  129. package/dist/commonjs/tabs/lib/TabsItem.d.ts +0 -1
  130. package/dist/commonjs/tabs/lib/TabsItem.d.ts.map +1 -1
  131. package/dist/commonjs/tabs/lib/TabsItem.js +0 -1
  132. package/dist/commonjs/tabs/lib/TabsList.d.ts +1 -1
  133. package/dist/commonjs/tabs/lib/TabsMenuPopper.d.ts +1 -1
  134. package/dist/commonjs/tabs/lib/TabsPanel.d.ts.map +1 -1
  135. package/dist/commonjs/tabs/lib/useTabsModel.d.ts +8 -20
  136. package/dist/commonjs/tabs/lib/useTabsModel.d.ts.map +1 -1
  137. package/dist/commonjs/tabs/lib/useTabsModel.js +1 -0
  138. package/dist/es6/action-bar/lib/ActionBar.d.ts +2 -2
  139. package/dist/es6/action-bar/lib/ActionBarList.d.ts +1 -1
  140. package/dist/es6/action-bar/lib/useActionBarModel.d.ts +2 -2
  141. package/dist/es6/breadcrumbs/lib/Breadcrumbs.d.ts +2 -2
  142. package/dist/es6/breadcrumbs/lib/BreadcrumbsMenu.d.ts +1 -1
  143. package/dist/es6/breadcrumbs/lib/hooks/useBreadcrumbsModel.d.ts +2 -2
  144. package/dist/es6/collection/index.d.ts +2 -0
  145. package/dist/es6/collection/index.d.ts.map +1 -1
  146. package/dist/es6/collection/index.js +2 -0
  147. package/dist/es6/collection/lib/ListBox.d.ts +7 -6
  148. package/dist/es6/collection/lib/ListBox.d.ts.map +1 -1
  149. package/dist/es6/collection/lib/ListBox.js +6 -4
  150. package/dist/es6/collection/lib/useBaseListModel.d.ts.map +1 -1
  151. package/dist/es6/collection/lib/useBaseListModel.js +4 -4
  152. package/dist/es6/collection/lib/useCursorListModel.d.ts +0 -34
  153. package/dist/es6/collection/lib/useCursorListModel.d.ts.map +1 -1
  154. package/dist/es6/collection/lib/useCursorListModel.js +1 -1
  155. package/dist/es6/collection/lib/useListActiveDescendant.d.ts +68 -0
  156. package/dist/es6/collection/lib/useListActiveDescendant.d.ts.map +1 -0
  157. package/dist/es6/collection/lib/useListActiveDescendant.js +22 -0
  158. package/dist/es6/collection/lib/useListItemAllowChildStrings.d.ts +2 -1
  159. package/dist/es6/collection/lib/useListItemAllowChildStrings.d.ts.map +1 -1
  160. package/dist/es6/collection/lib/useListItemAllowChildStrings.js +2 -1
  161. package/dist/es6/collection/lib/useListItemRegister.d.ts.map +1 -1
  162. package/dist/es6/collection/lib/useListItemRegister.js +5 -1
  163. package/dist/es6/collection/lib/useListKeyboardHandler.d.ts +66 -0
  164. package/dist/es6/collection/lib/useListKeyboardHandler.d.ts.map +1 -0
  165. package/dist/es6/collection/lib/useListKeyboardHandler.js +24 -0
  166. package/dist/es6/collection/lib/useListLoader.d.ts +46 -7
  167. package/dist/es6/collection/lib/useListLoader.d.ts.map +1 -1
  168. package/dist/es6/collection/lib/useListLoader.js +61 -35
  169. package/dist/es6/collection/lib/useOverflowListMeasure.d.ts +1 -1
  170. package/dist/es6/collection/lib/useOverflowListMeasure.d.ts.map +1 -1
  171. package/dist/es6/collection/lib/useOverflowListTarget.d.ts +5 -2
  172. package/dist/es6/collection/lib/useOverflowListTarget.d.ts.map +1 -1
  173. package/dist/es6/collection/lib/useOverflowListTarget.js +1 -1
  174. package/dist/es6/collection/lib/useSelectionListModel.d.ts.map +1 -1
  175. package/dist/es6/collection/lib/useSelectionListModel.js +1 -0
  176. package/dist/es6/combobox/index.d.ts +9 -0
  177. package/dist/es6/combobox/index.d.ts.map +1 -0
  178. package/dist/es6/combobox/index.js +8 -0
  179. package/dist/es6/combobox/lib/Combobox.d.ts +2075 -0
  180. package/dist/es6/combobox/lib/Combobox.d.ts.map +1 -0
  181. package/dist/es6/combobox/lib/Combobox.js +23 -0
  182. package/dist/es6/combobox/lib/ComboboxCard.d.ts +166 -0
  183. package/dist/es6/combobox/lib/ComboboxCard.d.ts.map +1 -0
  184. package/dist/es6/combobox/lib/ComboboxCard.js +19 -0
  185. package/dist/es6/combobox/lib/ComboboxInput.d.ts +186 -0
  186. package/dist/es6/combobox/lib/ComboboxInput.d.ts.map +1 -0
  187. package/dist/es6/combobox/lib/ComboboxInput.js +78 -0
  188. package/dist/es6/combobox/lib/ComboboxMenu.d.ts +428 -0
  189. package/dist/es6/combobox/lib/ComboboxMenu.d.ts.map +1 -0
  190. package/dist/es6/combobox/lib/ComboboxMenu.js +57 -0
  191. package/dist/es6/combobox/lib/ComboboxMenuItem.d.ts +178 -0
  192. package/dist/es6/combobox/lib/ComboboxMenuItem.d.ts.map +1 -0
  193. package/dist/es6/combobox/lib/ComboboxMenuItem.js +44 -0
  194. package/dist/es6/combobox/lib/ComboboxMenuList.d.ts +164 -0
  195. package/dist/es6/combobox/lib/ComboboxMenuList.d.ts.map +1 -0
  196. package/dist/es6/combobox/lib/ComboboxMenuList.js +25 -0
  197. package/dist/es6/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts +84 -0
  198. package/dist/es6/combobox/lib/useComboboxInputOpenWithArrowKeys.d.ts.map +1 -0
  199. package/dist/es6/combobox/lib/useComboboxInputOpenWithArrowKeys.js +17 -0
  200. package/dist/es6/combobox/lib/useComboboxLoader.d.ts +28 -0
  201. package/dist/es6/combobox/lib/useComboboxLoader.d.ts.map +1 -0
  202. package/dist/es6/combobox/lib/useComboboxLoader.js +58 -0
  203. package/dist/es6/combobox/lib/useComboboxModel.d.ts +1998 -0
  204. package/dist/es6/combobox/lib/useComboboxModel.d.ts.map +1 -0
  205. package/dist/es6/combobox/lib/useComboboxModel.js +76 -0
  206. package/dist/es6/common/lib/utils/components.d.ts +9 -23
  207. package/dist/es6/common/lib/utils/components.d.ts.map +1 -1
  208. package/dist/es6/common/lib/utils/components.js +2 -2
  209. package/dist/es6/common/lib/utils/models.js +2 -2
  210. package/dist/es6/index.d.ts +1 -0
  211. package/dist/es6/index.d.ts.map +1 -1
  212. package/dist/es6/index.js +1 -0
  213. package/dist/es6/menu/index.d.ts +1 -1
  214. package/dist/es6/menu/index.d.ts.map +1 -1
  215. package/dist/es6/menu/index.js +1 -1
  216. package/dist/es6/menu/lib/Menu.d.ts +7 -5
  217. package/dist/es6/menu/lib/Menu.d.ts.map +1 -1
  218. package/dist/es6/menu/lib/Menu.js +6 -4
  219. package/dist/es6/menu/lib/MenuContextTarget.d.ts +2 -2
  220. package/dist/es6/menu/lib/MenuItem.d.ts +7 -1
  221. package/dist/es6/menu/lib/MenuItem.d.ts.map +1 -1
  222. package/dist/es6/menu/lib/MenuItem.js +8 -10
  223. package/dist/es6/menu/lib/MenuList.d.ts +3 -3
  224. package/dist/es6/menu/lib/MenuList.d.ts.map +1 -1
  225. package/dist/es6/menu/lib/MenuList.js +4 -3
  226. package/dist/es6/menu/lib/MenuPopper.d.ts +1 -1
  227. package/dist/es6/menu/lib/MenuTarget.d.ts +2 -2
  228. package/dist/es6/menu/lib/useMenuModel.d.ts +2 -2
  229. package/dist/es6/menu/lib/useMenuModel.d.ts.map +1 -1
  230. package/dist/es6/menu/lib/useMenuModel.js +4 -6
  231. package/dist/es6/popup/lib/hooks/usePopupPopper.d.ts +1 -1
  232. package/dist/es6/popup/lib/hooks/usePopupTarget.d.ts +1 -1
  233. package/dist/es6/popup/lib/hooks/usePopupTargetContext.d.ts +1 -1
  234. package/dist/es6/tabs/lib/Tabs.d.ts +18 -120
  235. package/dist/es6/tabs/lib/Tabs.d.ts.map +1 -1
  236. package/dist/es6/tabs/lib/TabsItem.d.ts +0 -1
  237. package/dist/es6/tabs/lib/TabsItem.d.ts.map +1 -1
  238. package/dist/es6/tabs/lib/TabsItem.js +0 -1
  239. package/dist/es6/tabs/lib/TabsList.d.ts +1 -1
  240. package/dist/es6/tabs/lib/TabsMenuPopper.d.ts +1 -1
  241. package/dist/es6/tabs/lib/TabsPanel.d.ts.map +1 -1
  242. package/dist/es6/tabs/lib/useTabsModel.d.ts +8 -20
  243. package/dist/es6/tabs/lib/useTabsModel.d.ts.map +1 -1
  244. package/dist/es6/tabs/lib/useTabsModel.js +1 -0
  245. package/index.ts +1 -0
  246. package/menu/index.ts +1 -1
  247. package/menu/lib/Menu.tsx +6 -4
  248. package/menu/lib/MenuItem.tsx +9 -12
  249. package/menu/lib/MenuList.tsx +16 -10
  250. package/menu/lib/useMenuModel.tsx +4 -7
  251. package/modal/lib/hooks/useModalHeading.ts +2 -2
  252. package/package.json +3 -3
  253. package/tabs/lib/TabsItem.tsx +10 -13
  254. package/tabs/lib/TabsPanel.tsx +1 -5
  255. package/tabs/lib/useTabsModel.tsx +1 -0
@@ -54,7 +54,11 @@ exports.useListItemRegister = common_1.createElemPropsHook(useListModel_1.useLis
54
54
  item: {
55
55
  id: itemId,
56
56
  },
57
- textValue: typeof elemProps.children === 'string' ? elemProps.children : '',
57
+ textValue: elemProps['data-text']
58
+ ? elemProps['data-text']
59
+ : typeof elemProps.children === 'string'
60
+ ? elemProps.children
61
+ : '',
58
62
  });
59
63
  setLocalId(itemId);
60
64
  return () => {
@@ -0,0 +1,66 @@
1
+ import React from 'react';
2
+ /**
3
+ * This elemProps hook is used to attach keyboard events to handle keyboard navigation
4
+ *
5
+ * ```ts
6
+ * const useMyItem = composeHooks(
7
+ * useListKeyboardHandler, // adds keyboard support support
8
+ * useListItemRegister
9
+ * );
10
+ ```
11
+ */
12
+ export declare const useListKeyboardHandler: import("@workday/canvas-kit-react/common").BehaviorHook<{
13
+ state: {
14
+ cursorId: string;
15
+ columnCount: number;
16
+ pageSizeRef: React.MutableRefObject<number>;
17
+ cursorIndexRef: {
18
+ readonly current: number;
19
+ };
20
+ UNSTABLE_virtual: {
21
+ virtualItems: import("./react-virtual").VirtualItem[];
22
+ totalSize: number;
23
+ scrollToOffset: (index: number, options?: import("./react-virtual").ScrollToOffsetOptions | undefined) => void;
24
+ scrollToIndex: (index: number, options?: import("./react-virtual").ScrollToIndexOptions | undefined) => void;
25
+ measure: () => void;
26
+ };
27
+ UNSTABLE_defaultItemHeight: number;
28
+ containerRef: React.RefObject<HTMLDivElement>;
29
+ id: string;
30
+ orientation: "horizontal" | "vertical";
31
+ indexRef: React.MutableRefObject<number>;
32
+ nonInteractiveIds: string[];
33
+ isVirtualized: boolean;
34
+ items: import("./useBaseListModel").Item<any>[];
35
+ };
36
+ events: {
37
+ goTo(data: {
38
+ id: string;
39
+ }): void;
40
+ goToNext(): void;
41
+ goToPrevious(): void;
42
+ goToPreviousRow(): void;
43
+ goToNextRow(): void;
44
+ goToFirst(): void;
45
+ goToLast(): void;
46
+ goToFirstOfRow(): void;
47
+ goToLastOfRow(): void;
48
+ goToNextPage(): void;
49
+ goToPreviousPage(): void;
50
+ registerItem(data: {
51
+ item: any;
52
+ textValue: string;
53
+ }): void;
54
+ unregisterItem(data: {
55
+ id: string;
56
+ }): void;
57
+ updateItemHeight(data: {
58
+ value: number;
59
+ }): void;
60
+ };
61
+ navigation: import("./useCursorListModel").NavigationManager;
62
+ getId: (item: any) => string;
63
+ }, {
64
+ onKeyDown(event: React.KeyboardEvent): void;
65
+ }>;
66
+ //# sourceMappingURL=useListKeyboardHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useListKeyboardHandler.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useListKeyboardHandler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAId,mBAAmB;EAOtC,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useListKeyboardHandler = void 0;
4
+ const common_1 = require("@workday/canvas-kit-react/common");
5
+ const useCursorListModel_1 = require("./useCursorListModel");
6
+ const keyUtils_1 = require("./keyUtils");
7
+ /**
8
+ * This elemProps hook is used to attach keyboard events to handle keyboard navigation
9
+ *
10
+ * ```ts
11
+ * const useMyItem = composeHooks(
12
+ * useListKeyboardHandler, // adds keyboard support support
13
+ * useListItemRegister
14
+ * );
15
+ ```
16
+ */
17
+ exports.useListKeyboardHandler = common_1.createElemPropsHook(useCursorListModel_1.useCursorListModel)(model => {
18
+ const isRTL = common_1.useIsRTL();
19
+ return {
20
+ onKeyDown(event) {
21
+ const handled = keyUtils_1.keyboardEventToCursorEvents(event, model, isRTL);
22
+ if (handled) {
23
+ event.preventDefault();
24
+ }
25
+ },
26
+ };
27
+ });
@@ -1,3 +1,4 @@
1
+ import { Model } from '@workday/canvas-kit-react/common';
1
2
  import { useListModel } from './useListModel';
2
3
  export interface LoadReturn<T> {
3
4
  items: T[];
@@ -9,9 +10,45 @@ export interface LoadParams {
9
10
  filter: CollectionLoader['filter'];
10
11
  sorter: CollectionLoader['sorter'];
11
12
  }
12
- export interface AsyncCollectionConfig<T> {
13
+ export interface AsyncCollectionConfig<T, M extends Model<any, any>> {
14
+ /**
15
+ * The desired results per page.
16
+ */
13
17
  pageSize: number;
14
- total: number;
18
+ /**
19
+ * The total items in the collection. If you do not have this information before making an API
20
+ * call, leave it blank and it will default to `0` and be updated when `load` comes back with
21
+ * results.
22
+ * @default 0
23
+ */
24
+ total?: number;
25
+ /**
26
+ * This function acts like a guard similar to model events. If you provide this function and it
27
+ * returns `false`, the `load` call from the loader will be cancelled. Be aware, this function can
28
+ * cause a loader to not function properly. You will need to call `loader.load(pageNumber)` on
29
+ * your own if a valid load event is cancelled. An example of using this function is in
30
+ * {@link useComboboxLoader} where the load calls are only allowed when the menu is open.
31
+ */
32
+ shouldLoad?(
33
+ /**
34
+ * Parameters that are being sent to the `load` function
35
+ */
36
+ params: LoadParams,
37
+ /**
38
+ * State coming from the model
39
+ */
40
+ prevState: M['state']): boolean;
41
+ /**
42
+ * A `load` callback function provides an easier way to hook up loader requests for data to an
43
+ * API. It will be called when the user is ready for more of the virtual data set. The `load`
44
+ * function will be called when:
45
+ * - The list UI initially loads. It will request as many pages as necessary to render enough
46
+ * items in the viewport
47
+ * - The user is scrolling the list and has run out of cached data
48
+ * - The user is using the keyboard to navigate the list and has run out of cached data
49
+ * - A filter or sorter value has changed and the cached data is now invalid
50
+ * - `loader.load` was called by the developer, manually requesting a page number
51
+ */
15
52
  load(params: LoadParams): LoadReturn<T> | Promise<LoadReturn<T>>;
16
53
  }
17
54
  export interface CollectionLoader {
@@ -20,6 +57,7 @@ export interface CollectionLoader {
20
57
  sorter: string | Record<string, string>;
21
58
  updateSorter(value: string): void;
22
59
  isLoading: boolean;
60
+ load(pageNumber?: number): void;
23
61
  }
24
62
  export declare function getPageNumber(index: number, pageSize: number): number;
25
63
  /**
@@ -34,11 +72,12 @@ export declare function getPageNumber(index: number, pageSize: number): number;
34
72
  */
35
73
  export declare function getPagesToLoad<T>(start: number, end: number, pageSize: number, items: T[], overScan?: number): number[];
36
74
  /**
37
- * Create a data loader and a model. The model should be passed to a collection component. The
38
- * loader can be used to manipulate filters, sorters, and clear cache.
75
+ * Create a data loader and a model. The list loader should be used on virtual data sets with
76
+ * possibly large amounts of data. The model should be passed to a collection component. The loader
77
+ * can be used to manipulate filters, sorters, and clear cache.
39
78
  *
40
- * A simple loader using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
41
- * could look like the following:
79
+ * A simple loader using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) could
80
+ * look like the following:
42
81
  *
43
82
  * ```ts
44
83
  * const {model, loader} = useListLoader(
@@ -60,7 +99,7 @@ export declare function getPagesToLoad<T>(start: number, end: number, pageSize:
60
99
  * @param config Config that contains the loader config and the model config
61
100
  * @param modelHook A model hook that describes which model should be returned.
62
101
  */
63
- export declare function useListLoader<T, M extends ((...args: any[]) => any) & Omit<typeof useListModel, 'TConfig' | 'Context'>>(config: AsyncCollectionConfig<T> & typeof useListModel.TConfig, modelHook: M): {
102
+ export declare function useListLoader<T, M extends ((...args: any[]) => any) & Omit<typeof useListModel, 'Context'>>(config: AsyncCollectionConfig<T, ReturnType<M>> & M['TConfig'], modelHook: M): {
64
103
  model: ReturnType<M>;
65
104
  loader: CollectionLoader;
66
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useListLoader.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useListLoader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CACpC;AACD,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;CACpB;AA8CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAM5D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,SAAI,GACX,MAAM,EAAE,CAkBV;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAED,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC,EAEtF,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,YAAY,CAAC,OAAO,EAC9D,SAAS,EAAE,CAAC,GACX;IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAC,CA2JlD"}
1
+ {"version":3,"file":"useListLoader.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useListLoader.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,KAAK,EAAC,MAAM,kCAAkC,CAAC;AAEvD,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;CACpC;AACD,MAAM,WAAW,qBAAqB,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;IACjE;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;OAMG;IACH,UAAU,CAAC;IACT;;OAEG;IACH,MAAM,EAAE,UAAU;IAClB;;OAEG;IACH,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,GACpB,OAAO,CAAC;IACX;;;;;;;;;;OAUG;IACH,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AA8CD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAM5D;AAMD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,CAAC,EAAE,EACV,QAAQ,SAAI,GACX,MAAM,EAAE,CAkBV;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAED,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,YAAY,EAAE,SAAS,CAAC,EAE1E,MAAM,EAAE,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,EAC9D,SAAS,EAAE,CAAC,GACX;IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAC,CAgLlD"}
@@ -73,11 +73,12 @@ function getPagesToLoad(start, end, pageSize, items, overScan = 3) {
73
73
  exports.getPagesToLoad = getPagesToLoad;
74
74
  const resetItems = (total) => Array(total).fill(undefined);
75
75
  /**
76
- * Create a data loader and a model. The model should be passed to a collection component. The
77
- * loader can be used to manipulate filters, sorters, and clear cache.
76
+ * Create a data loader and a model. The list loader should be used on virtual data sets with
77
+ * possibly large amounts of data. The model should be passed to a collection component. The loader
78
+ * can be used to manipulate filters, sorters, and clear cache.
78
79
  *
79
- * A simple loader using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)
80
- * could look like the following:
80
+ * A simple loader using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) could
81
+ * look like the following:
81
82
  *
82
83
  * ```ts
83
84
  * const {model, loader} = useListLoader(
@@ -100,9 +101,9 @@ const resetItems = (total) => Array(total).fill(undefined);
100
101
  * @param modelHook A model hook that describes which model should be returned.
101
102
  */
102
103
  function useListLoader(config, modelHook) {
103
- const [total, setTotal] = react_1.default.useState(config.total);
104
+ const [total, setTotal] = react_1.default.useState(config.total || 0);
104
105
  const [items, setItems] = react_1.default.useState(() => {
105
- return resetItems(config.total);
106
+ return resetItems(config.total || 0);
106
107
  });
107
108
  // keep track of pages that are currently loading
108
109
  const loadingRef = react_1.default.useRef({});
@@ -119,44 +120,29 @@ function useListLoader(config, modelHook) {
119
120
  }
120
121
  setItems(updater);
121
122
  }, [total]);
122
- const updateFilter = (filter) => {
123
- loadingRef.current = {};
124
- setFilter(filter);
125
- const params = {
126
- pageNumber: 1,
127
- pageSize: config.pageSize,
128
- filter,
129
- sorter,
130
- };
131
- load(params, loadRef.current, loadingRef.current).then(updateItems);
132
- };
133
- const updateSorter = (sorter) => {
134
- loadingRef.current = {};
135
- setSorter(sorter);
136
- load({
137
- pageNumber: 1,
138
- pageSize: config.pageSize,
139
- filter,
140
- sorter,
141
- }, loadRef.current, loadingRef.current).then(updateItems);
142
- };
143
123
  // Our `useEffect` functions use `config.load`, but we don't want to rerun the effects if the user
144
124
  // sends a different load function every render
145
125
  const loadRef = react_1.default.useRef(config.load);
146
126
  loadRef.current = config.load;
147
127
  const itemsRef = react_1.default.useRef(items);
148
128
  itemsRef.current = items;
129
+ const shouldLoadRef = react_1.default.useRef(config.shouldLoad);
130
+ shouldLoadRef.current = config.shouldLoad;
149
131
  const requestAnimationFrameRef = react_1.default.useRef(0);
150
132
  const shouldLoadIndex = (navigationMethod, eventKey) => {
151
- return (data) => {
133
+ return (data, prevState) => {
152
134
  const index = model.navigation[navigationMethod](model.state.cursorIndexRef.current, model);
135
+ const params = {
136
+ pageNumber: Math.floor(index / config.pageSize) + 1,
137
+ pageSize: config.pageSize,
138
+ filter,
139
+ sorter,
140
+ };
153
141
  if (!items[index]) {
154
- load({
155
- pageNumber: Math.floor(index / config.pageSize) + 1,
156
- pageSize: config.pageSize,
157
- filter,
158
- sorter,
159
- }, loadRef.current, loadingRef.current)
142
+ if (config.shouldLoad && !config.shouldLoad(params, prevState)) {
143
+ return false;
144
+ }
145
+ load(params, loadRef.current, loadingRef.current)
160
146
  .then(updateItems)
161
147
  .then(() => {
162
148
  cancelAnimationFrame(requestAnimationFrameRef.current);
@@ -179,6 +165,37 @@ function useListLoader(config, modelHook) {
179
165
  shouldGoToPreviousPage: shouldLoadIndex('getPreviousPage', 'goToPreviousPage'),
180
166
  }));
181
167
  const { virtualItems } = model.state.UNSTABLE_virtual;
168
+ const { state } = model;
169
+ const stateRef = react_1.default.useRef(state);
170
+ stateRef.current = state;
171
+ const updateFilter = (filter) => {
172
+ loadingRef.current = {};
173
+ setFilter(filter);
174
+ const params = {
175
+ pageNumber: 1,
176
+ pageSize: config.pageSize,
177
+ filter,
178
+ sorter,
179
+ };
180
+ if (config.shouldLoad && !config.shouldLoad(params, state)) {
181
+ return;
182
+ }
183
+ load(params, loadRef.current, loadingRef.current).then(updateItems);
184
+ };
185
+ const updateSorter = (sorter) => {
186
+ loadingRef.current = {};
187
+ setSorter(sorter);
188
+ const params = {
189
+ pageNumber: 1,
190
+ pageSize: config.pageSize,
191
+ filter,
192
+ sorter,
193
+ };
194
+ if (config.shouldLoad && !config.shouldLoad(params, state)) {
195
+ return;
196
+ }
197
+ load(params, loadRef.current, loadingRef.current).then(updateItems);
198
+ };
182
199
  // Our only signal to trigger loading is if our virtual indexes are too close to boundaries.
183
200
  react_1.default.useEffect(() => {
184
201
  if (!virtualItems.length) {
@@ -188,12 +205,20 @@ function useListLoader(config, modelHook) {
188
205
  const lastItem = virtualItems[virtualItems.length - 1];
189
206
  const pagesToLoad = getPagesToLoad(firstItem.index, lastItem.index, config.pageSize, itemsRef.current, loadingBuffer);
190
207
  pagesToLoad.forEach(pageNumber => {
191
- load({ pageNumber, pageSize: config.pageSize, filter, sorter }, loadRef.current, loadingRef.current).then(updateItems);
208
+ const params = { pageNumber, pageSize: config.pageSize, filter, sorter };
209
+ const shouldLoad = shouldLoadRef.current;
210
+ if (shouldLoad && !shouldLoad(params, stateRef.current)) {
211
+ return;
212
+ }
213
+ load(params, loadRef.current, loadingRef.current).then(updateItems);
192
214
  });
193
215
  return () => {
194
216
  cancelAnimationFrame(requestAnimationFrameRef.current);
195
217
  };
196
218
  }, [virtualItems, config.pageSize, filter, sorter, updateItems]);
219
+ const loaderLoad = (pageNumber = 1) => {
220
+ return load({ pageNumber, pageSize: config.pageSize, filter, sorter }, loadRef.current, loadingRef.current).then(updateItems);
221
+ };
197
222
  // Typescript won't allow me to say the included model extends `useListModel` for some reason, so
198
223
  // we have no way to type check it. Without the constraint, Typescript doesn't know how type it
199
224
  // properly, so we have an `as any`.
@@ -207,6 +232,7 @@ function useListLoader(config, modelHook) {
207
232
  // we reduce the ref instead of a state variable because the loader mutates this ref and
208
233
  // triggers state changes when loading is finished.
209
234
  isLoading: Object.values(loadingRef.current).reduce((loading, result) => loading || result, false),
235
+ load: loaderLoad,
210
236
  },
211
237
  };
212
238
  }
@@ -86,6 +86,6 @@ export declare const useOverflowListMeasure: import("@workday/canvas-kit-react/c
86
86
  navigation: import("./useCursorListModel").NavigationManager;
87
87
  getId: (item: any) => string;
88
88
  }, {
89
- ref: (instance: HTMLElement | null) => void;
89
+ ref: (instance: unknown) => void;
90
90
  }>;
91
91
  //# sourceMappingURL=useOverflowListMeasure.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOverflowListMeasure.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useOverflowListMeasure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAalC,CAAC"}
1
+ {"version":3,"file":"useOverflowListMeasure.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useOverflowListMeasure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWjC,CAAC"}
@@ -86,9 +86,12 @@ export declare const useOverflowListTarget: import("@workday/canvas-kit-react/co
86
86
  navigation: import("./useCursorListModel").NavigationManager;
87
87
  getId: (item: any) => string;
88
88
  }, {
89
- ref: (instance: HTMLButtonElement | null) => void;
89
+ ref: (instance: HTMLElement | null) => void;
90
90
  'aria-hidden': boolean;
91
91
  tabIndex: number;
92
- style: {};
92
+ style: {
93
+ position: string;
94
+ left: number;
95
+ } | undefined;
93
96
  }>;
94
97
  //# sourceMappingURL=useOverflowListTarget.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useOverflowListTarget.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useOverflowListTarget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BjC,CAAC"}
1
+ {"version":3,"file":"useOverflowListTarget.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useOverflowListTarget.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B;;;GAGG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BhC,CAAC"}
@@ -36,6 +36,6 @@ exports.useOverflowListTarget = common_1.createElemPropsHook(useOverflowListMode
36
36
  ref: elementRef,
37
37
  'aria-hidden': isHidden,
38
38
  tabIndex: isHidden ? -1 : 0,
39
- style: isHidden ? hiddenStyle : {},
39
+ style: isHidden ? hiddenStyle : undefined,
40
40
  };
41
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectionListModel.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useSelectionListModel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,oBAAY,WAAW,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC;AAE3C,oBAAY,SAAS,GAAG;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;CACrD;AAED,eAAO,MAAM,UAAU,OAAQ,MAAM,kCAAgC,SAAS,YAK7E,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAIpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAmBnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;YAoBZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QADxB,gDAAgD;qBACnC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAC;QAKzB;;;WAGG;;QAIH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAfH,gDAAgD;iBACnC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC;IAKzB;;;OAGG;;IAIH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAfH,gDAAgD;qBACnC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAC;QAKzB;;;WAGG;;QAIH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOL,CAAC"}
1
+ {"version":3,"file":"useSelectionListModel.d.ts","sourceRoot":"","sources":["../../../../collection/lib/useSelectionListModel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,oBAAY,WAAW,GAAG,KAAK,GAAG,MAAM,EAAE,CAAC;AAE3C,oBAAY,SAAS,GAAG;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,CAAC;CACrD;AAED,eAAO,MAAM,UAAU,OAAQ,MAAM,kCAAgC,SAAS,YAK7E,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,gBAIpC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,gBAmBnC,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;YAqBZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAAN,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QADxB,gDAAgD;qBACnC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAC;QAKzB;;;WAGG;;QAIH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAfH,gDAAgD;iBACnC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC;IAKzB;;;OAGG;;IAIH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAfH,gDAAgD;qBACnC;YAAC,EAAE,EAAE,MAAM,CAAA;SAAC;QAKzB;;;WAGG;;QAIH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOL,CAAC"}
@@ -48,6 +48,7 @@ exports.useSelectionListModel = common_1.createModelHook({
48
48
  selection: exports.singleSelectionManager,
49
49
  },
50
50
  requiredConfig: useCursorListModel_1.useCursorListModel.requiredConfig,
51
+ contextOverride: useCursorListModel_1.useCursorListModel.Context,
51
52
  })(config => {
52
53
  const cursor = useCursorListModel_1.useCursorListModel(config);
53
54
  const [selectedIds, setSelectedIds] = react_1.default.useState(config.initialSelectedIds);
@@ -0,0 +1,9 @@
1
+ export { Combobox } from './lib/Combobox';
2
+ export { useComboboxCard } from './lib/ComboboxCard';
3
+ export { useComboboxMenuItem } from './lib/ComboboxMenuItem';
4
+ export { useComboboxMenuList } from './lib/ComboboxMenuList';
5
+ export { useComboboxInput } from './lib/ComboboxInput';
6
+ export { useComboboxLoader } from './lib/useComboboxLoader';
7
+ export { useComboboxModel } from './lib/useComboboxModel';
8
+ export { useComboboxInputOpenWithArrowKeys as useComboboxOpenWithArrowKeys } from './lib/useComboboxInputOpenWithArrowKeys';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../combobox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAC,iCAAiC,IAAI,4BAA4B,EAAC,MAAM,yCAAyC,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useComboboxOpenWithArrowKeys = exports.useComboboxModel = exports.useComboboxLoader = exports.useComboboxInput = exports.useComboboxMenuList = exports.useComboboxMenuItem = exports.useComboboxCard = exports.Combobox = void 0;
4
+ var Combobox_1 = require("./lib/Combobox");
5
+ Object.defineProperty(exports, "Combobox", { enumerable: true, get: function () { return Combobox_1.Combobox; } });
6
+ var ComboboxCard_1 = require("./lib/ComboboxCard");
7
+ Object.defineProperty(exports, "useComboboxCard", { enumerable: true, get: function () { return ComboboxCard_1.useComboboxCard; } });
8
+ var ComboboxMenuItem_1 = require("./lib/ComboboxMenuItem");
9
+ Object.defineProperty(exports, "useComboboxMenuItem", { enumerable: true, get: function () { return ComboboxMenuItem_1.useComboboxMenuItem; } });
10
+ var ComboboxMenuList_1 = require("./lib/ComboboxMenuList");
11
+ Object.defineProperty(exports, "useComboboxMenuList", { enumerable: true, get: function () { return ComboboxMenuList_1.useComboboxMenuList; } });
12
+ var ComboboxInput_1 = require("./lib/ComboboxInput");
13
+ Object.defineProperty(exports, "useComboboxInput", { enumerable: true, get: function () { return ComboboxInput_1.useComboboxInput; } });
14
+ var useComboboxLoader_1 = require("./lib/useComboboxLoader");
15
+ Object.defineProperty(exports, "useComboboxLoader", { enumerable: true, get: function () { return useComboboxLoader_1.useComboboxLoader; } });
16
+ var useComboboxModel_1 = require("./lib/useComboboxModel");
17
+ Object.defineProperty(exports, "useComboboxModel", { enumerable: true, get: function () { return useComboboxModel_1.useComboboxModel; } });
18
+ var useComboboxInputOpenWithArrowKeys_1 = require("./lib/useComboboxInputOpenWithArrowKeys");
19
+ Object.defineProperty(exports, "useComboboxOpenWithArrowKeys", { enumerable: true, get: function () { return useComboboxInputOpenWithArrowKeys_1.useComboboxInputOpenWithArrowKeys; } });