@deephaven/components 0.72.1-beta.5 → 0.72.1-core-plugins.9

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 (263) hide show
  1. package/css/BaseStyleSheet.css.map +1 -1
  2. package/dist/BasicModal.js +2 -2
  3. package/dist/BasicModal.js.map +1 -1
  4. package/dist/Button.d.ts +1 -1
  5. package/dist/Button.d.ts.map +1 -1
  6. package/dist/Button.js +12 -2
  7. package/dist/Button.js.map +1 -1
  8. package/dist/Checkbox.js +2 -2
  9. package/dist/Checkbox.js.map +1 -1
  10. package/dist/ComboBox.css.map +1 -1
  11. package/dist/ComponentUtils.d.ts +34 -0
  12. package/dist/ComponentUtils.d.ts.map +1 -0
  13. package/dist/ComponentUtils.js +49 -0
  14. package/dist/ComponentUtils.js.map +1 -0
  15. package/dist/CustomTimeSelect.css.map +1 -1
  16. package/dist/DateTimeInput.d.ts +3 -3
  17. package/dist/DateTimeInput.d.ts.map +1 -1
  18. package/dist/DateTimeInput.js +1 -1
  19. package/dist/DateTimeInput.js.map +1 -1
  20. package/dist/DraggableItemList.css.map +1 -1
  21. package/dist/ErrorView.css +77 -0
  22. package/dist/ErrorView.css.map +1 -0
  23. package/dist/ErrorView.d.ts +16 -0
  24. package/dist/ErrorView.d.ts.map +1 -0
  25. package/dist/ErrorView.js +73 -0
  26. package/dist/ErrorView.js.map +1 -0
  27. package/dist/HierarchicalCheckboxMenu.css.map +1 -1
  28. package/dist/HierarchicalCheckboxMenu.js +1 -1
  29. package/dist/HierarchicalCheckboxMenu.js.map +1 -1
  30. package/dist/LoadingOverlay.css +2 -1
  31. package/dist/LoadingOverlay.css.map +1 -1
  32. package/dist/RadioGroup.js +2 -2
  33. package/dist/RadioGroup.js.map +1 -1
  34. package/dist/RadioItem.js +2 -2
  35. package/dist/RadioItem.js.map +1 -1
  36. package/dist/SearchInput.css.map +1 -1
  37. package/dist/SearchableCombobox.d.ts +2 -2
  38. package/dist/SearchableCombobox.d.ts.map +1 -1
  39. package/dist/SearchableCombobox.js.map +1 -1
  40. package/dist/Select.d.ts +1 -1
  41. package/dist/SocketedButton.d.ts.map +1 -1
  42. package/dist/SocketedButton.js +12 -2
  43. package/dist/SocketedButton.js.map +1 -1
  44. package/dist/{ButtonGroup.d.ts → SplitButtonGroup.d.ts} +5 -5
  45. package/dist/SplitButtonGroup.d.ts.map +1 -0
  46. package/dist/{ButtonGroup.js → SplitButtonGroup.js} +6 -6
  47. package/dist/SplitButtonGroup.js.map +1 -0
  48. package/dist/TimeSlider.css.map +1 -1
  49. package/dist/TimeSlider.module.css.map +1 -1
  50. package/dist/XComponent.d.ts +38 -0
  51. package/dist/XComponent.d.ts.map +1 -0
  52. package/dist/XComponent.js +70 -0
  53. package/dist/XComponent.js.map +1 -0
  54. package/dist/XComponentMap.d.ts +15 -0
  55. package/dist/XComponentMap.d.ts.map +1 -0
  56. package/dist/XComponentMap.js +20 -0
  57. package/dist/XComponentMap.js.map +1 -0
  58. package/dist/index.d.ts +7 -7
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +7 -7
  61. package/dist/index.js.map +1 -1
  62. package/dist/navigation/MenuItem.css.map +1 -1
  63. package/dist/navigation/NavTab.d.ts.map +1 -1
  64. package/dist/navigation/NavTab.js +28 -7
  65. package/dist/navigation/NavTab.js.map +1 -1
  66. package/dist/navigation/NavTabList.css.map +1 -1
  67. package/dist/navigation/NavTabList.d.ts +5 -0
  68. package/dist/navigation/NavTabList.d.ts.map +1 -1
  69. package/dist/navigation/NavTabList.js.map +1 -1
  70. package/dist/spectrum/ActionGroup.d.ts +14 -0
  71. package/dist/spectrum/ActionGroup.d.ts.map +1 -0
  72. package/dist/spectrum/ActionGroup.js +42 -0
  73. package/dist/spectrum/ActionGroup.js.map +1 -0
  74. package/dist/spectrum/ActionMenu.d.ts +15 -0
  75. package/dist/spectrum/ActionMenu.d.ts.map +1 -0
  76. package/dist/spectrum/ActionMenu.js +35 -0
  77. package/dist/spectrum/ActionMenu.js.map +1 -0
  78. package/dist/spectrum/Heading.d.ts +4 -1
  79. package/dist/spectrum/Heading.d.ts.map +1 -1
  80. package/dist/spectrum/Heading.js +5 -3
  81. package/dist/spectrum/Heading.js.map +1 -1
  82. package/dist/spectrum/ItemContent.d.ts +15 -0
  83. package/dist/spectrum/ItemContent.d.ts.map +1 -0
  84. package/dist/spectrum/{picker/PickerItemContent.js → ItemContent.js} +44 -19
  85. package/dist/spectrum/ItemContent.js.map +1 -0
  86. package/dist/spectrum/ItemTooltip.d.ts +12 -0
  87. package/dist/spectrum/ItemTooltip.d.ts.map +1 -0
  88. package/dist/spectrum/ItemTooltip.js +30 -0
  89. package/dist/spectrum/ItemTooltip.js.map +1 -0
  90. package/dist/spectrum/ListActionGroup.d.ts +19 -0
  91. package/dist/spectrum/ListActionGroup.d.ts.map +1 -0
  92. package/dist/spectrum/ListActionGroup.js +9 -0
  93. package/dist/spectrum/ListActionGroup.js.map +1 -0
  94. package/dist/spectrum/ListActionMenu.d.ts +19 -0
  95. package/dist/spectrum/ListActionMenu.d.ts.map +1 -0
  96. package/dist/spectrum/ListActionMenu.js +9 -0
  97. package/dist/spectrum/ListActionMenu.js.map +1 -0
  98. package/dist/spectrum/Text.d.ts +4 -1
  99. package/dist/spectrum/Text.d.ts.map +1 -1
  100. package/dist/spectrum/Text.js +5 -4
  101. package/dist/spectrum/Text.js.map +1 -1
  102. package/dist/spectrum/View.d.ts +20 -3
  103. package/dist/spectrum/View.d.ts.map +1 -1
  104. package/dist/spectrum/View.js +47 -10
  105. package/dist/spectrum/View.js.map +1 -1
  106. package/dist/spectrum/buttons.d.ts +1 -1
  107. package/dist/spectrum/buttons.d.ts.map +1 -1
  108. package/dist/spectrum/buttons.js +3 -1
  109. package/dist/spectrum/buttons.js.map +1 -1
  110. package/dist/spectrum/collections.d.ts +1 -1
  111. package/dist/spectrum/collections.d.ts.map +1 -1
  112. package/dist/spectrum/collections.js +12 -1
  113. package/dist/spectrum/collections.js.map +1 -1
  114. package/dist/spectrum/comboBox/ComboBox.d.ts +17 -0
  115. package/dist/spectrum/comboBox/ComboBox.d.ts.map +1 -0
  116. package/dist/spectrum/comboBox/ComboBox.js +44 -0
  117. package/dist/spectrum/comboBox/ComboBox.js.map +1 -0
  118. package/dist/spectrum/comboBox/ComboBoxNormalized.d.ts +15 -0
  119. package/dist/spectrum/comboBox/ComboBoxNormalized.d.ts.map +1 -0
  120. package/dist/spectrum/comboBox/ComboBoxNormalized.js +42 -0
  121. package/dist/spectrum/comboBox/ComboBoxNormalized.js.map +1 -0
  122. package/dist/spectrum/comboBox/index.d.ts +3 -0
  123. package/dist/spectrum/comboBox/index.d.ts.map +1 -0
  124. package/dist/spectrum/comboBox/index.js +3 -0
  125. package/dist/spectrum/comboBox/index.js.map +1 -0
  126. package/dist/spectrum/forms.d.ts +2 -1
  127. package/dist/spectrum/forms.d.ts.map +1 -1
  128. package/dist/spectrum/forms.js +1 -1
  129. package/dist/spectrum/forms.js.map +1 -1
  130. package/dist/spectrum/icons.d.ts +2 -0
  131. package/dist/spectrum/icons.d.ts.map +1 -0
  132. package/dist/spectrum/icons.js +3 -0
  133. package/dist/spectrum/icons.js.map +1 -0
  134. package/dist/spectrum/index.d.ts +9 -1
  135. package/dist/spectrum/index.d.ts.map +1 -1
  136. package/dist/spectrum/index.js +9 -1
  137. package/dist/spectrum/index.js.map +1 -1
  138. package/dist/spectrum/listView/ListView.d.ts +14 -0
  139. package/dist/spectrum/listView/ListView.d.ts.map +1 -0
  140. package/dist/spectrum/listView/ListView.js +43 -0
  141. package/dist/spectrum/listView/ListView.js.map +1 -0
  142. package/dist/spectrum/listView/ListViewNormalized.d.ts +23 -0
  143. package/dist/spectrum/listView/ListViewNormalized.d.ts.map +1 -0
  144. package/dist/spectrum/listView/ListViewNormalized.js +82 -0
  145. package/dist/spectrum/listView/ListViewNormalized.js.map +1 -0
  146. package/dist/spectrum/listView/ListViewWrapper.css +48 -0
  147. package/dist/spectrum/listView/ListViewWrapper.css.map +1 -0
  148. package/dist/spectrum/listView/ListViewWrapper.d.ts +21 -0
  149. package/dist/spectrum/listView/ListViewWrapper.d.ts.map +1 -0
  150. package/dist/spectrum/listView/ListViewWrapper.js +71 -0
  151. package/dist/spectrum/listView/ListViewWrapper.js.map +1 -0
  152. package/dist/spectrum/listView/index.d.ts +4 -0
  153. package/dist/spectrum/listView/index.d.ts.map +1 -0
  154. package/dist/spectrum/listView/index.js +4 -0
  155. package/dist/spectrum/listView/index.js.map +1 -0
  156. package/dist/spectrum/picker/Picker.d.ts +17 -31
  157. package/dist/spectrum/picker/Picker.d.ts.map +1 -1
  158. package/dist/spectrum/picker/Picker.js +31 -130
  159. package/dist/spectrum/picker/Picker.js.map +1 -1
  160. package/dist/spectrum/picker/PickerNormalized.d.ts +10 -0
  161. package/dist/spectrum/picker/PickerNormalized.d.ts.map +1 -0
  162. package/dist/spectrum/picker/PickerNormalized.js +37 -0
  163. package/dist/spectrum/picker/PickerNormalized.js.map +1 -0
  164. package/dist/spectrum/picker/PickerProps.d.ts +64 -0
  165. package/dist/spectrum/picker/PickerProps.d.ts.map +1 -0
  166. package/dist/spectrum/picker/PickerProps.js +2 -0
  167. package/dist/spectrum/picker/PickerProps.js.map +1 -0
  168. package/dist/spectrum/picker/index.d.ts +6 -1
  169. package/dist/spectrum/picker/index.d.ts.map +1 -1
  170. package/dist/spectrum/picker/index.js +6 -1
  171. package/dist/spectrum/picker/index.js.map +1 -1
  172. package/dist/spectrum/picker/useMultiRef.d.ts +9 -0
  173. package/dist/spectrum/picker/useMultiRef.d.ts.map +1 -0
  174. package/dist/spectrum/picker/useMultiRef.js +25 -0
  175. package/dist/spectrum/picker/useMultiRef.js.map +1 -0
  176. package/dist/spectrum/picker/usePickerItemScale.d.ts +9 -0
  177. package/dist/spectrum/picker/usePickerItemScale.d.ts.map +1 -0
  178. package/dist/spectrum/picker/usePickerItemScale.js +17 -0
  179. package/dist/spectrum/picker/usePickerItemScale.js.map +1 -0
  180. package/dist/spectrum/picker/usePickerNormalizedProps.d.ts +27 -0
  181. package/dist/spectrum/picker/usePickerNormalizedProps.d.ts.map +1 -0
  182. package/dist/spectrum/picker/usePickerNormalizedProps.js +101 -0
  183. package/dist/spectrum/picker/usePickerNormalizedProps.js.map +1 -0
  184. package/dist/spectrum/picker/usePickerProps.d.ts +28 -0
  185. package/dist/spectrum/picker/usePickerProps.d.ts.map +1 -0
  186. package/dist/spectrum/picker/usePickerProps.js +75 -0
  187. package/dist/spectrum/picker/usePickerProps.js.map +1 -0
  188. package/dist/spectrum/picker/usePickerScrollOnOpen.d.ts +22 -0
  189. package/dist/spectrum/picker/usePickerScrollOnOpen.d.ts.map +1 -0
  190. package/dist/spectrum/picker/usePickerScrollOnOpen.js +33 -0
  191. package/dist/spectrum/picker/usePickerScrollOnOpen.js.map +1 -0
  192. package/dist/spectrum/shared.d.ts +15 -9
  193. package/dist/spectrum/shared.d.ts.map +1 -1
  194. package/dist/spectrum/shared.js +16 -1
  195. package/dist/spectrum/shared.js.map +1 -1
  196. package/dist/spectrum/utils/index.d.ts +7 -0
  197. package/dist/spectrum/utils/index.d.ts.map +1 -1
  198. package/dist/spectrum/utils/index.js +7 -0
  199. package/dist/spectrum/utils/index.js.map +1 -1
  200. package/dist/spectrum/utils/itemUtils.d.ts +80 -27
  201. package/dist/spectrum/utils/itemUtils.d.ts.map +1 -1
  202. package/dist/spectrum/utils/itemUtils.js +106 -111
  203. package/dist/spectrum/utils/itemUtils.js.map +1 -1
  204. package/dist/spectrum/utils/itemWrapperUtils.d.ts +28 -0
  205. package/dist/spectrum/utils/itemWrapperUtils.d.ts.map +1 -0
  206. package/dist/spectrum/utils/itemWrapperUtils.js +111 -0
  207. package/dist/spectrum/utils/itemWrapperUtils.js.map +1 -0
  208. package/dist/spectrum/utils/propsUtils.d.ts +14 -0
  209. package/dist/spectrum/utils/propsUtils.d.ts.map +1 -0
  210. package/dist/spectrum/utils/propsUtils.js +93 -0
  211. package/dist/spectrum/utils/propsUtils.js.map +1 -0
  212. package/dist/spectrum/utils/useOnChangeTrackUncontrolled.d.ts +19 -0
  213. package/dist/spectrum/utils/useOnChangeTrackUncontrolled.d.ts.map +1 -0
  214. package/dist/spectrum/utils/useOnChangeTrackUncontrolled.js +31 -0
  215. package/dist/spectrum/utils/useOnChangeTrackUncontrolled.js.map +1 -0
  216. package/dist/spectrum/utils/useRenderNormalizedItem.d.ts +25 -0
  217. package/dist/spectrum/utils/useRenderNormalizedItem.d.ts.map +1 -0
  218. package/dist/spectrum/utils/useRenderNormalizedItem.js +87 -0
  219. package/dist/spectrum/utils/useRenderNormalizedItem.js.map +1 -0
  220. package/dist/spectrum/utils/useStaticItemInitialScrollPosition.d.ts +10 -0
  221. package/dist/spectrum/utils/useStaticItemInitialScrollPosition.d.ts.map +1 -0
  222. package/dist/spectrum/utils/useStaticItemInitialScrollPosition.js +27 -0
  223. package/dist/spectrum/utils/useStaticItemInitialScrollPosition.js.map +1 -0
  224. package/dist/spectrum/utils/useStringifiedMultiSelection.d.ts +43 -0
  225. package/dist/spectrum/utils/useStringifiedMultiSelection.d.ts.map +1 -0
  226. package/dist/spectrum/utils/useStringifiedMultiSelection.js +53 -0
  227. package/dist/spectrum/utils/useStringifiedMultiSelection.js.map +1 -0
  228. package/dist/spectrum/utils/useStringifiedSelection.d.ts +33 -0
  229. package/dist/spectrum/utils/useStringifiedSelection.d.ts.map +1 -0
  230. package/dist/spectrum/utils/useStringifiedSelection.js +50 -0
  231. package/dist/spectrum/utils/useStringifiedSelection.js.map +1 -0
  232. package/dist/theme/SpectrumThemeProvider.js +2 -2
  233. package/dist/theme/SpectrumThemeProvider.js.map +1 -1
  234. package/dist/theme/index.d.ts +1 -0
  235. package/dist/theme/index.d.ts.map +1 -1
  236. package/dist/theme/index.js +1 -0
  237. package/dist/theme/index.js.map +1 -1
  238. package/dist/theme/theme-spectrum/theme-spectrum-overrides.css +1 -1
  239. package/dist/theme/theme-spectrum/theme-spectrum-overrides.css.map +1 -1
  240. package/dist/theme/useSpectrumThemeProvider.d.ts +4 -0
  241. package/dist/theme/useSpectrumThemeProvider.d.ts.map +1 -0
  242. package/dist/theme/useSpectrumThemeProvider.js +4 -0
  243. package/dist/theme/useSpectrumThemeProvider.js.map +1 -0
  244. package/package.json +11 -10
  245. package/scss/new_variables.scss +1 -1
  246. package/scss/util.scss +4 -0
  247. package/dist/ButtonGroup.d.ts.map +0 -1
  248. package/dist/ButtonGroup.js.map +0 -1
  249. package/dist/ButtonOld.d.ts +0 -12
  250. package/dist/ButtonOld.d.ts.map +0 -1
  251. package/dist/ButtonOld.js +0 -43
  252. package/dist/ButtonOld.js.map +0 -1
  253. package/dist/ComboBox.d.ts +0 -120
  254. package/dist/ComboBox.d.ts.map +0 -1
  255. package/dist/ComboBox.js +0 -497
  256. package/dist/ComboBox.js.map +0 -1
  257. package/dist/spectrum/picker/PickerItemContent.d.ts +0 -11
  258. package/dist/spectrum/picker/PickerItemContent.d.ts.map +0 -1
  259. package/dist/spectrum/picker/PickerItemContent.js.map +0 -1
  260. package/dist/spectrum/pickers.d.ts +0 -2
  261. package/dist/spectrum/pickers.d.ts.map +0 -1
  262. package/dist/spectrum/pickers.js +0 -2
  263. package/dist/spectrum/pickers.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStaticItemInitialScrollPosition.js","names":["useCallback","useMemo","getPositionOfSelectedItemElement","isItemElementWithDescription","isSectionElement","useStaticItemInitialScrollPosition","_ref","itemHeight","selectedKey","topOffset","items","disableScrollOnOpen","some","item","getInitialScrollPosition","_asyncToGenerator"],"sources":["../../../src/spectrum/utils/useStaticItemInitialScrollPosition.ts"],"sourcesContent":["import { useCallback, useMemo } from 'react';\nimport {\n getPositionOfSelectedItemElement,\n isItemElementWithDescription,\n isSectionElement,\n ItemElement,\n ItemKey,\n SectionElement,\n} from './itemUtils';\n\nexport interface UseStaticItemInitialScrollPositionOptions {\n itemHeight: number;\n items: (ItemElement<unknown> | SectionElement<unknown>)[];\n selectedKey?: ItemKey | null;\n topOffset: number;\n}\n\nexport function useStaticItemInitialScrollPosition({\n itemHeight,\n selectedKey,\n topOffset,\n items,\n}: UseStaticItemInitialScrollPositionOptions): () => Promise<number | null> {\n // Item descriptions and Section elements introduce variable item heights.\n // This throws off scroll position calculations, so we disable auto scrolling\n // if either of these are found.\n const disableScrollOnOpen = useMemo(\n () =>\n items.some(\n item => isSectionElement(item) || isItemElementWithDescription(item)\n ),\n [items]\n );\n\n const getInitialScrollPosition = useCallback(\n async () =>\n disableScrollOnOpen\n ? topOffset\n : getPositionOfSelectedItemElement({\n items,\n itemHeight,\n selectedKey,\n topOffset,\n }),\n [disableScrollOnOpen, itemHeight, items, selectedKey, topOffset]\n );\n\n return getInitialScrollPosition;\n}\n\nexport default useStaticItemInitialScrollPosition;\n"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAAC,SAE3CC,gCAAgC,EAChCC,4BAA4B,EAC5BC,gBAAgB;AAalB,OAAO,SAASC,kCAAkCA,CAAAC,IAAA,EAK0B;EAAA,IALzB;IACjDC,UAAU;IACVC,WAAW;IACXC,SAAS;IACTC;EACyC,CAAC,GAAAJ,IAAA;EAC1C;EACA;EACA;EACA,IAAMK,mBAAmB,GAAGV,OAAO,CACjC,MACES,KAAK,CAACE,IAAI,CACRC,IAAI,IAAIT,gBAAgB,CAACS,IAAI,CAAC,IAAIV,4BAA4B,CAACU,IAAI,CACrE,CAAC,EACH,CAACH,KAAK,CACR,CAAC;EAED,IAAMI,wBAAwB,GAAGd,WAAW,eAAAe,iBAAA,CAC1C;IAAA,OACEJ,mBAAmB,GACfF,SAAS,GACTP,gCAAgC,CAAC;MAC/BQ,KAAK;MACLH,UAAU;MACVC,WAAW;MACXC;IACF,CAAC,CAAC;EAAA,IACR,CAACE,mBAAmB,EAAEJ,UAAU,EAAEG,KAAK,EAAEF,WAAW,EAAEC,SAAS,CACjE,CAAC;EAED,OAAOK,wBAAwB;AACjC;AAEA,eAAeT,kCAAkC"}
@@ -0,0 +1,43 @@
1
+ import { Key } from 'react';
2
+ import { ItemKey, ItemSelection, NormalizedItem } from './itemUtils';
3
+ export interface UseStringifiedMultiSelectionOptions {
4
+ normalizedItems: NormalizedItem[];
5
+ selectedKeys?: 'all' | Iterable<ItemKey>;
6
+ defaultSelectedKeys?: 'all' | Iterable<ItemKey>;
7
+ disabledKeys?: Iterable<ItemKey>;
8
+ /**
9
+ * Handler that is called when the selection change.
10
+ * Note that under the hood, this is just an alias for Spectrum's
11
+ * `onSelectionChange`. We are renaming for better consistency with other
12
+ * components.
13
+ */
14
+ onChange?: (keys: ItemSelection) => void;
15
+ }
16
+ export interface UseStringifiedMultiSelectionResult {
17
+ /** Stringified selection keys */
18
+ selectedStringKeys?: 'all' | Set<Key>;
19
+ /** Stringified default selection keys */
20
+ defaultSelectedStringKeys?: 'all' | Set<Key>;
21
+ /** Stringified disabled keys */
22
+ disabledStringKeys?: 'all' | Set<Key>;
23
+ /** Handler that is called when the string key selections change */
24
+ onStringSelectionChange: (keys: 'all' | Set<Key>) => void;
25
+ }
26
+ /**
27
+ * Spectrum collection components treat keys as strings if the `key` prop is
28
+ * explicitly set on `Item` elements. Since we do this in `useRenderNormalizedItem`,
29
+ * we need to ensure that keys are strings in order for selection to work. We
30
+ * then need to convert back to the original key types in the onChange handler.
31
+ * This hook encapsulates converting to and from strings so that keys can match
32
+ * the original key type.
33
+ * @param normalizedItems The normalized items to select from.
34
+ * @param selectedKeys The currently selected keys in the collection.
35
+ * @param defaultSelectedKeys The initial selected keys in the collection.
36
+ * @param disabledKeys The currently disabled keys in the collection.
37
+ * @param onChange Handler that is called when the selection changes.
38
+ * @returns UseStringifiedMultiSelectionResult with stringified key sets and
39
+ * string key selection change handler.
40
+ */
41
+ export declare function useStringifiedMultiSelection({ normalizedItems, defaultSelectedKeys, disabledKeys, selectedKeys, onChange, }: UseStringifiedMultiSelectionOptions): UseStringifiedMultiSelectionResult;
42
+ export default useStringifiedMultiSelection;
43
+ //# sourceMappingURL=useStringifiedMultiSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStringifiedMultiSelection.d.ts","sourceRoot":"","sources":["../../../src/spectrum/utils/useStringifiedMultiSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAwB,MAAM,OAAO,CAAC;AAClD,OAAO,EAEL,OAAO,EACP,aAAa,EAEb,cAAc,EACf,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,mCAAmC;IAClD,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,mBAAmB,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChD,YAAY,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAC;CAC1C;AAED,MAAM,WAAW,kCAAkC;IACjD,iCAAiC;IACjC,kBAAkB,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACtC,mEAAmE;IACnE,uBAAuB,EAAE,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;CAC3D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,YAAY,EACZ,QAAQ,GACT,EAAE,mCAAmC,GAAG,kCAAkC,CA8C1E;AAED,eAAe,4BAA4B,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { useCallback, useMemo } from 'react';
2
+ import { getItemKey, itemSelectionToStringSet } from "./itemUtils.js";
3
+ /**
4
+ * Spectrum collection components treat keys as strings if the `key` prop is
5
+ * explicitly set on `Item` elements. Since we do this in `useRenderNormalizedItem`,
6
+ * we need to ensure that keys are strings in order for selection to work. We
7
+ * then need to convert back to the original key types in the onChange handler.
8
+ * This hook encapsulates converting to and from strings so that keys can match
9
+ * the original key type.
10
+ * @param normalizedItems The normalized items to select from.
11
+ * @param selectedKeys The currently selected keys in the collection.
12
+ * @param defaultSelectedKeys The initial selected keys in the collection.
13
+ * @param disabledKeys The currently disabled keys in the collection.
14
+ * @param onChange Handler that is called when the selection changes.
15
+ * @returns UseStringifiedMultiSelectionResult with stringified key sets and
16
+ * string key selection change handler.
17
+ */
18
+ export function useStringifiedMultiSelection(_ref) {
19
+ var {
20
+ normalizedItems,
21
+ defaultSelectedKeys,
22
+ disabledKeys,
23
+ selectedKeys,
24
+ onChange
25
+ } = _ref;
26
+ var selectedStringKeys = useMemo(() => itemSelectionToStringSet(selectedKeys), [selectedKeys]);
27
+ var defaultSelectedStringKeys = useMemo(() => itemSelectionToStringSet(defaultSelectedKeys), [defaultSelectedKeys]);
28
+ var disabledStringKeys = useMemo(() => itemSelectionToStringSet(disabledKeys), [disabledKeys]);
29
+ var onStringSelectionChange = useCallback(keys => {
30
+ if (onChange == null) {
31
+ return;
32
+ }
33
+ if (keys === 'all') {
34
+ onChange('all');
35
+ return;
36
+ }
37
+ var actualKeys = new Set();
38
+ normalizedItems.forEach(item => {
39
+ if (keys.has(String(getItemKey(item)))) {
40
+ actualKeys.add(getItemKey(item));
41
+ }
42
+ });
43
+ onChange(actualKeys);
44
+ }, [normalizedItems, onChange]);
45
+ return {
46
+ selectedStringKeys,
47
+ defaultSelectedStringKeys,
48
+ disabledStringKeys,
49
+ onStringSelectionChange
50
+ };
51
+ }
52
+ export default useStringifiedMultiSelection;
53
+ //# sourceMappingURL=useStringifiedMultiSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStringifiedMultiSelection.js","names":["useCallback","useMemo","getItemKey","itemSelectionToStringSet","useStringifiedMultiSelection","_ref","normalizedItems","defaultSelectedKeys","disabledKeys","selectedKeys","onChange","selectedStringKeys","defaultSelectedStringKeys","disabledStringKeys","onStringSelectionChange","keys","actualKeys","Set","forEach","item","has","String","add"],"sources":["../../../src/spectrum/utils/useStringifiedMultiSelection.ts"],"sourcesContent":["import { Key, useCallback, useMemo } from 'react';\nimport {\n getItemKey,\n ItemKey,\n ItemSelection,\n itemSelectionToStringSet,\n NormalizedItem,\n} from './itemUtils';\n\nexport interface UseStringifiedMultiSelectionOptions {\n normalizedItems: NormalizedItem[];\n selectedKeys?: 'all' | Iterable<ItemKey>;\n defaultSelectedKeys?: 'all' | Iterable<ItemKey>;\n disabledKeys?: Iterable<ItemKey>;\n /**\n * Handler that is called when the selection change.\n * Note that under the hood, this is just an alias for Spectrum's\n * `onSelectionChange`. We are renaming for better consistency with other\n * components.\n */\n onChange?: (keys: ItemSelection) => void;\n}\n\nexport interface UseStringifiedMultiSelectionResult {\n /** Stringified selection keys */\n selectedStringKeys?: 'all' | Set<Key>;\n /** Stringified default selection keys */\n defaultSelectedStringKeys?: 'all' | Set<Key>;\n /** Stringified disabled keys */\n disabledStringKeys?: 'all' | Set<Key>;\n /** Handler that is called when the string key selections change */\n onStringSelectionChange: (keys: 'all' | Set<Key>) => void;\n}\n\n/**\n * Spectrum collection components treat keys as strings if the `key` prop is\n * explicitly set on `Item` elements. Since we do this in `useRenderNormalizedItem`,\n * we need to ensure that keys are strings in order for selection to work. We\n * then need to convert back to the original key types in the onChange handler.\n * This hook encapsulates converting to and from strings so that keys can match\n * the original key type.\n * @param normalizedItems The normalized items to select from.\n * @param selectedKeys The currently selected keys in the collection.\n * @param defaultSelectedKeys The initial selected keys in the collection.\n * @param disabledKeys The currently disabled keys in the collection.\n * @param onChange Handler that is called when the selection changes.\n * @returns UseStringifiedMultiSelectionResult with stringified key sets and\n * string key selection change handler.\n */\nexport function useStringifiedMultiSelection({\n normalizedItems,\n defaultSelectedKeys,\n disabledKeys,\n selectedKeys,\n onChange,\n}: UseStringifiedMultiSelectionOptions): UseStringifiedMultiSelectionResult {\n const selectedStringKeys = useMemo(\n () => itemSelectionToStringSet(selectedKeys),\n [selectedKeys]\n );\n\n const defaultSelectedStringKeys = useMemo(\n () => itemSelectionToStringSet(defaultSelectedKeys),\n [defaultSelectedKeys]\n );\n\n const disabledStringKeys = useMemo(\n () => itemSelectionToStringSet(disabledKeys),\n [disabledKeys]\n );\n\n const onStringSelectionChange = useCallback(\n (keys: 'all' | Set<Key>) => {\n if (onChange == null) {\n return;\n }\n\n if (keys === 'all') {\n onChange('all');\n return;\n }\n\n const actualKeys = new Set<ItemKey>();\n\n normalizedItems.forEach(item => {\n if (keys.has(String(getItemKey(item)))) {\n actualKeys.add(getItemKey(item));\n }\n });\n\n onChange(actualKeys);\n },\n [normalizedItems, onChange]\n );\n\n return {\n selectedStringKeys,\n defaultSelectedStringKeys,\n disabledStringKeys,\n onStringSelectionChange,\n };\n}\n\nexport default useStringifiedMultiSelection;\n"],"mappings":"AAAA,SAAcA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAAC,SAEhDC,UAAU,EAGVC,wBAAwB;AA6B1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,4BAA4BA,CAAAC,IAAA,EAMgC;EAAA,IAN/B;IAC3CC,eAAe;IACfC,mBAAmB;IACnBC,YAAY;IACZC,YAAY;IACZC;EACmC,CAAC,GAAAL,IAAA;EACpC,IAAMM,kBAAkB,GAAGV,OAAO,CAChC,MAAME,wBAAwB,CAACM,YAAY,CAAC,EAC5C,CAACA,YAAY,CACf,CAAC;EAED,IAAMG,yBAAyB,GAAGX,OAAO,CACvC,MAAME,wBAAwB,CAACI,mBAAmB,CAAC,EACnD,CAACA,mBAAmB,CACtB,CAAC;EAED,IAAMM,kBAAkB,GAAGZ,OAAO,CAChC,MAAME,wBAAwB,CAACK,YAAY,CAAC,EAC5C,CAACA,YAAY,CACf,CAAC;EAED,IAAMM,uBAAuB,GAAGd,WAAW,CACxCe,IAAsB,IAAK;IAC1B,IAAIL,QAAQ,IAAI,IAAI,EAAE;MACpB;IACF;IAEA,IAAIK,IAAI,KAAK,KAAK,EAAE;MAClBL,QAAQ,CAAC,KAAK,CAAC;MACf;IACF;IAEA,IAAMM,UAAU,GAAG,IAAIC,GAAG,CAAU,CAAC;IAErCX,eAAe,CAACY,OAAO,CAACC,IAAI,IAAI;MAC9B,IAAIJ,IAAI,CAACK,GAAG,CAACC,MAAM,CAACnB,UAAU,CAACiB,IAAI,CAAC,CAAC,CAAC,EAAE;QACtCH,UAAU,CAACM,GAAG,CAACpB,UAAU,CAACiB,IAAI,CAAC,CAAC;MAClC;IACF,CAAC,CAAC;IAEFT,QAAQ,CAACM,UAAU,CAAC;EACtB,CAAC,EACD,CAACV,eAAe,EAAEI,QAAQ,CAC5B,CAAC;EAED,OAAO;IACLC,kBAAkB;IAClBC,yBAAyB;IACzBC,kBAAkB;IAClBC;EACF,CAAC;AACH;AAEA,eAAeV,4BAA4B"}
@@ -0,0 +1,33 @@
1
+ import { Key } from 'react';
2
+ import { ItemKey, NormalizedItem, NormalizedSection } from './itemUtils';
3
+ export interface UseStringifiedSelectionOptions {
4
+ normalizedItems: (NormalizedItem | NormalizedSection)[];
5
+ selectedKey: ItemKey | null | undefined;
6
+ defaultSelectedKey: ItemKey | undefined;
7
+ disabledKeys: Iterable<ItemKey> | undefined;
8
+ onChange: ((key: ItemKey | null) => void) | undefined;
9
+ }
10
+ export interface UseStringifiedSelectionResult {
11
+ defaultSelectedStringKey?: Key;
12
+ selectedStringKey?: Key | null;
13
+ disabledStringKeys?: Set<Key>;
14
+ onStringSelectionChange: (key: Key | null) => void;
15
+ }
16
+ /**
17
+ * Spectrum collection components treat keys as strings if the `key` prop is
18
+ * explicitly set on `Item` elements. Since we do this in `useRenderNormalizedItem`,
19
+ * we need to ensure that keys are strings in order for selection to work. We
20
+ * then need to convert back to the original key types in the onChange handler.
21
+ * This hook encapsulates converting to and from strings so that keys can match
22
+ * the original key type.
23
+ * @param normalizedItems The normalized items to select from.
24
+ * @param selectedKey The currently selected key in the collection.
25
+ * @param defaultSelectedKey The initial selected key in the collection.
26
+ * @param disabledKeys The currently disabled keys in the collection.
27
+ * @param onChange Handler that is called when the selection changes.
28
+ * @returns UseStringifiedSelectionResult with stringified key sets and string
29
+ * key selection change handler.
30
+ */
31
+ export declare function useStringifiedSelection({ normalizedItems, defaultSelectedKey, selectedKey, disabledKeys, onChange, }: UseStringifiedSelectionOptions): UseStringifiedSelectionResult;
32
+ export default useStringifiedSelection;
33
+ //# sourceMappingURL=useStringifiedSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStringifiedSelection.d.ts","sourceRoot":"","sources":["../../../src/spectrum/utils/useStringifiedSelection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAwB,MAAM,OAAO,CAAC;AAClD,OAAO,EAEL,OAAO,EAEP,cAAc,EACd,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,8BAA8B;IAC7C,eAAe,EAAE,CAAC,cAAc,GAAG,iBAAiB,CAAC,EAAE,CAAC;IACxD,WAAW,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,kBAAkB,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACvD;AAED,MAAM,WAAW,6BAA6B;IAC5C,wBAAwB,CAAC,EAAE,GAAG,CAAC;IAC/B,iBAAiB,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;IAC/B,kBAAkB,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,uBAAuB,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,QAAQ,GACT,EAAE,8BAA8B,GAAG,6BAA6B,CA6ChE;AAED,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { useCallback, useMemo } from 'react';
2
+ import { getItemKey, itemSelectionToStringSet } from "./itemUtils.js";
3
+ /**
4
+ * Spectrum collection components treat keys as strings if the `key` prop is
5
+ * explicitly set on `Item` elements. Since we do this in `useRenderNormalizedItem`,
6
+ * we need to ensure that keys are strings in order for selection to work. We
7
+ * then need to convert back to the original key types in the onChange handler.
8
+ * This hook encapsulates converting to and from strings so that keys can match
9
+ * the original key type.
10
+ * @param normalizedItems The normalized items to select from.
11
+ * @param selectedKey The currently selected key in the collection.
12
+ * @param defaultSelectedKey The initial selected key in the collection.
13
+ * @param disabledKeys The currently disabled keys in the collection.
14
+ * @param onChange Handler that is called when the selection changes.
15
+ * @returns UseStringifiedSelectionResult with stringified key sets and string
16
+ * key selection change handler.
17
+ */
18
+ export function useStringifiedSelection(_ref) {
19
+ var {
20
+ normalizedItems,
21
+ defaultSelectedKey,
22
+ selectedKey,
23
+ disabledKeys,
24
+ onChange
25
+ } = _ref;
26
+ var selectedStringKey = useMemo(() => selectedKey == null ? selectedKey : String(selectedKey), [selectedKey]);
27
+ var defaultSelectedStringKey = useMemo(() => defaultSelectedKey == null ? defaultSelectedKey : String(defaultSelectedKey), [defaultSelectedKey]);
28
+ var disabledStringKeys = useMemo(() => itemSelectionToStringSet(disabledKeys), [disabledKeys]);
29
+ var onStringSelectionChange = useCallback(key => {
30
+ var _getItemKey;
31
+ if (onChange == null) {
32
+ return;
33
+ }
34
+
35
+ // The `key` arg will always be a string due to us setting the `Item` key
36
+ // prop in `renderItem`. We need to find the matching item to determine
37
+ // the actual key.
38
+ var selectedItem = normalizedItems.find(item => String(getItemKey(item)) === key);
39
+ var actualKey = (_getItemKey = getItemKey(selectedItem)) !== null && _getItemKey !== void 0 ? _getItemKey : key;
40
+ onChange(actualKey);
41
+ }, [normalizedItems, onChange]);
42
+ return {
43
+ selectedStringKey,
44
+ defaultSelectedStringKey,
45
+ disabledStringKeys,
46
+ onStringSelectionChange
47
+ };
48
+ }
49
+ export default useStringifiedSelection;
50
+ //# sourceMappingURL=useStringifiedSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useStringifiedSelection.js","names":["useCallback","useMemo","getItemKey","itemSelectionToStringSet","useStringifiedSelection","_ref","normalizedItems","defaultSelectedKey","selectedKey","disabledKeys","onChange","selectedStringKey","String","defaultSelectedStringKey","disabledStringKeys","onStringSelectionChange","key","_getItemKey","selectedItem","find","item","actualKey"],"sources":["../../../src/spectrum/utils/useStringifiedSelection.ts"],"sourcesContent":["import { Key, useCallback, useMemo } from 'react';\nimport {\n getItemKey,\n ItemKey,\n itemSelectionToStringSet,\n NormalizedItem,\n NormalizedSection,\n} from './itemUtils';\n\nexport interface UseStringifiedSelectionOptions {\n normalizedItems: (NormalizedItem | NormalizedSection)[];\n selectedKey: ItemKey | null | undefined;\n defaultSelectedKey: ItemKey | undefined;\n disabledKeys: Iterable<ItemKey> | undefined;\n onChange: ((key: ItemKey | null) => void) | undefined;\n}\n\nexport interface UseStringifiedSelectionResult {\n defaultSelectedStringKey?: Key;\n selectedStringKey?: Key | null;\n disabledStringKeys?: Set<Key>;\n onStringSelectionChange: (key: Key | null) => void;\n}\n\n/**\n * Spectrum collection components treat keys as strings if the `key` prop is\n * explicitly set on `Item` elements. Since we do this in `useRenderNormalizedItem`,\n * we need to ensure that keys are strings in order for selection to work. We\n * then need to convert back to the original key types in the onChange handler.\n * This hook encapsulates converting to and from strings so that keys can match\n * the original key type.\n * @param normalizedItems The normalized items to select from.\n * @param selectedKey The currently selected key in the collection.\n * @param defaultSelectedKey The initial selected key in the collection.\n * @param disabledKeys The currently disabled keys in the collection.\n * @param onChange Handler that is called when the selection changes.\n * @returns UseStringifiedSelectionResult with stringified key sets and string\n * key selection change handler.\n */\nexport function useStringifiedSelection({\n normalizedItems,\n defaultSelectedKey,\n selectedKey,\n disabledKeys,\n onChange,\n}: UseStringifiedSelectionOptions): UseStringifiedSelectionResult {\n const selectedStringKey = useMemo(\n () => (selectedKey == null ? selectedKey : String(selectedKey)),\n [selectedKey]\n );\n\n const defaultSelectedStringKey = useMemo(\n () =>\n defaultSelectedKey == null\n ? defaultSelectedKey\n : String(defaultSelectedKey),\n [defaultSelectedKey]\n );\n\n const disabledStringKeys = useMemo(\n () => itemSelectionToStringSet(disabledKeys),\n [disabledKeys]\n );\n\n const onStringSelectionChange = useCallback(\n (key: Key | null): void => {\n if (onChange == null) {\n return;\n }\n\n // The `key` arg will always be a string due to us setting the `Item` key\n // prop in `renderItem`. We need to find the matching item to determine\n // the actual key.\n const selectedItem = normalizedItems.find(\n item => String(getItemKey(item)) === key\n );\n\n const actualKey = getItemKey(selectedItem) ?? key;\n\n onChange(actualKey);\n },\n [normalizedItems, onChange]\n );\n\n return {\n selectedStringKey,\n defaultSelectedStringKey,\n disabledStringKeys,\n onStringSelectionChange,\n };\n}\n\nexport default useStringifiedSelection;\n"],"mappings":"AAAA,SAAcA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAAC,SAEhDC,UAAU,EAEVC,wBAAwB;AAoB1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,uBAAuBA,CAAAC,IAAA,EAM2B;EAAA,IAN1B;IACtCC,eAAe;IACfC,kBAAkB;IAClBC,WAAW;IACXC,YAAY;IACZC;EAC8B,CAAC,GAAAL,IAAA;EAC/B,IAAMM,iBAAiB,GAAGV,OAAO,CAC/B,MAAOO,WAAW,IAAI,IAAI,GAAGA,WAAW,GAAGI,MAAM,CAACJ,WAAW,CAAE,EAC/D,CAACA,WAAW,CACd,CAAC;EAED,IAAMK,wBAAwB,GAAGZ,OAAO,CACtC,MACEM,kBAAkB,IAAI,IAAI,GACtBA,kBAAkB,GAClBK,MAAM,CAACL,kBAAkB,CAAC,EAChC,CAACA,kBAAkB,CACrB,CAAC;EAED,IAAMO,kBAAkB,GAAGb,OAAO,CAChC,MAAME,wBAAwB,CAACM,YAAY,CAAC,EAC5C,CAACA,YAAY,CACf,CAAC;EAED,IAAMM,uBAAuB,GAAGf,WAAW,CACxCgB,GAAe,IAAW;IAAA,IAAAC,WAAA;IACzB,IAAIP,QAAQ,IAAI,IAAI,EAAE;MACpB;IACF;;IAEA;IACA;IACA;IACA,IAAMQ,YAAY,GAAGZ,eAAe,CAACa,IAAI,CACvCC,IAAI,IAAIR,MAAM,CAACV,UAAU,CAACkB,IAAI,CAAC,CAAC,KAAKJ,GACvC,CAAC;IAED,IAAMK,SAAS,IAAAJ,WAAA,GAAGf,UAAU,CAACgB,YAAY,CAAC,cAAAD,WAAA,cAAAA,WAAA,GAAID,GAAG;IAEjDN,QAAQ,CAACW,SAAS,CAAC;EACrB,CAAC,EACD,CAACf,eAAe,EAAEI,QAAQ,CAC5B,CAAC;EAED,OAAO;IACLC,iBAAiB;IACjBE,wBAAwB;IACxBC,kBAAkB;IAClBC;EACF,CAAC;AACH;AAEA,eAAeX,uBAAuB"}
@@ -1,6 +1,6 @@
1
1
  import { useState } from 'react';
2
2
  import { Provider } from '@adobe/react-spectrum';
3
- import shortid from 'shortid';
3
+ import { nanoid } from 'nanoid';
4
4
  import { themeDHDefault } from "../spectrum/utils/index.js";
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  /**
@@ -20,7 +20,7 @@ export function SpectrumThemeProvider(_ref) {
20
20
  // a unique ID is used per provider to force it to render the theme wrapper element inside portals
21
21
  // based on https://github.com/adobe/react-spectrum/issues/1697#issuecomment-999827266
22
22
  // won't be needed if https://github.com/adobe/react-spectrum/pull/2669 is merged
23
- var [id] = useState(isPortal ? shortid() : null);
23
+ var [id] = useState(isPortal ? nanoid() : null);
24
24
  return /*#__PURE__*/_jsx(Provider, {
25
25
  UNSAFE_className: "spectrum-theme-provider",
26
26
  theme: theme,
@@ -1 +1 @@
1
- {"version":3,"file":"SpectrumThemeProvider.js","names":["useState","Provider","shortid","themeDHDefault","jsx","_jsx","SpectrumThemeProvider","_ref","children","isPortal","theme","colorScheme","id","UNSAFE_className"],"sources":["../../src/theme/SpectrumThemeProvider.tsx"],"sourcesContent":["import { ReactNode, useState } from 'react';\nimport { Provider } from '@adobe/react-spectrum';\nimport type { Theme } from '@react-types/provider';\nimport shortid from 'shortid';\nimport { themeDHDefault } from '../spectrum/utils';\n\nexport interface SpectrumThemeProviderProps {\n children: ReactNode;\n isPortal?: boolean;\n theme?: Theme;\n colorScheme?: 'light' | 'dark';\n}\n\n/**\n * Wrapper around React Spectrum's theme Provider that provides DH mappings of\n * Spectrum's theme variables to DH's theme variables. Also exposes an optional\n * `isPortal` prop that if provided, adds a unique `data-unique-id` attribute to\n * the Provider. This is needed to force the Provider to render the theme wrapper\n * inside of portals.\n */\nexport function SpectrumThemeProvider({\n children,\n isPortal = false,\n theme = themeDHDefault,\n colorScheme,\n}: SpectrumThemeProviderProps): JSX.Element {\n // a unique ID is used per provider to force it to render the theme wrapper element inside portals\n // based on https://github.com/adobe/react-spectrum/issues/1697#issuecomment-999827266\n // won't be needed if https://github.com/adobe/react-spectrum/pull/2669 is merged\n const [id] = useState(isPortal ? shortid() : null);\n\n return (\n <Provider\n UNSAFE_className=\"spectrum-theme-provider\"\n theme={theme}\n colorScheme={colorScheme}\n data-unique-id={id}\n >\n {children}\n </Provider>\n );\n}\n"],"mappings":"AAAA,SAAoBA,QAAQ,QAAQ,OAAO;AAC3C,SAASC,QAAQ,QAAQ,uBAAuB;AAEhD,OAAOC,OAAO,MAAM,SAAS;AAAC,SACrBC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AASvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAAC,IAAA,EAKO;EAAA,IALN;IACpCC,QAAQ;IACRC,QAAQ,GAAG,KAAK;IAChBC,KAAK,GAAGP,cAAc;IACtBQ;EAC0B,CAAC,GAAAJ,IAAA;EAC3B;EACA;EACA;EACA,IAAM,CAACK,EAAE,CAAC,GAAGZ,QAAQ,CAACS,QAAQ,GAAGP,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;EAElD,oBACEG,IAAA,CAACJ,QAAQ;IACPY,gBAAgB,EAAC,yBAAyB;IAC1CH,KAAK,EAAEA,KAAM;IACbC,WAAW,EAAEA,WAAY;IACzB,kBAAgBC,EAAG;IAAAJ,QAAA,EAElBA;EAAQ,CACD,CAAC;AAEf"}
1
+ {"version":3,"file":"SpectrumThemeProvider.js","names":["useState","Provider","nanoid","themeDHDefault","jsx","_jsx","SpectrumThemeProvider","_ref","children","isPortal","theme","colorScheme","id","UNSAFE_className"],"sources":["../../src/theme/SpectrumThemeProvider.tsx"],"sourcesContent":["import { ReactNode, useState } from 'react';\nimport { Provider } from '@adobe/react-spectrum';\nimport type { Theme } from '@react-types/provider';\nimport { nanoid } from 'nanoid';\nimport { themeDHDefault } from '../spectrum/utils';\n\nexport interface SpectrumThemeProviderProps {\n children: ReactNode;\n isPortal?: boolean;\n theme?: Theme;\n colorScheme?: 'light' | 'dark';\n}\n\n/**\n * Wrapper around React Spectrum's theme Provider that provides DH mappings of\n * Spectrum's theme variables to DH's theme variables. Also exposes an optional\n * `isPortal` prop that if provided, adds a unique `data-unique-id` attribute to\n * the Provider. This is needed to force the Provider to render the theme wrapper\n * inside of portals.\n */\nexport function SpectrumThemeProvider({\n children,\n isPortal = false,\n theme = themeDHDefault,\n colorScheme,\n}: SpectrumThemeProviderProps): JSX.Element {\n // a unique ID is used per provider to force it to render the theme wrapper element inside portals\n // based on https://github.com/adobe/react-spectrum/issues/1697#issuecomment-999827266\n // won't be needed if https://github.com/adobe/react-spectrum/pull/2669 is merged\n const [id] = useState(isPortal ? nanoid() : null);\n\n return (\n <Provider\n UNSAFE_className=\"spectrum-theme-provider\"\n theme={theme}\n colorScheme={colorScheme}\n data-unique-id={id}\n >\n {children}\n </Provider>\n );\n}\n"],"mappings":"AAAA,SAAoBA,QAAQ,QAAQ,OAAO;AAC3C,SAASC,QAAQ,QAAQ,uBAAuB;AAEhD,SAASC,MAAM,QAAQ,QAAQ;AAAC,SACvBC,cAAc;AAAA,SAAAC,GAAA,IAAAC,IAAA;AASvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAAC,IAAA,EAKO;EAAA,IALN;IACpCC,QAAQ;IACRC,QAAQ,GAAG,KAAK;IAChBC,KAAK,GAAGP,cAAc;IACtBQ;EAC0B,CAAC,GAAAJ,IAAA;EAC3B;EACA;EACA;EACA,IAAM,CAACK,EAAE,CAAC,GAAGZ,QAAQ,CAACS,QAAQ,GAAGP,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;EAEjD,oBACEG,IAAA,CAACJ,QAAQ;IACPY,gBAAgB,EAAC,yBAAyB;IAC1CH,KAAK,EAAEA,KAAM;IACbC,WAAW,EAAEA,WAAY;IACzB,kBAAgBC,EAAG;IAAAJ,QAAA,EAElBA;EAAQ,CACD,CAAC;AAEf"}
@@ -7,4 +7,5 @@ export * from './ThemeUtils';
7
7
  export * from './useTheme';
8
8
  export * from './Logo';
9
9
  export * from './colorUtils';
10
+ export * from './useSpectrumThemeProvider';
10
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,4BAA4B,CAAC"}
@@ -7,4 +7,5 @@ export * from "./ThemeUtils.js";
7
7
  export * from "./useTheme.js";
8
8
  export * from "./Logo.js";
9
9
  export * from "./colorUtils.js";
10
+ export * from "./useSpectrumThemeProvider.js";
10
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../src/theme/index.ts"],"sourcesContent":["export * from './theme-dark';\nexport * from './theme-light';\nexport * from './ThemeModel';\nexport * from './ThemePicker';\nexport * from './ThemeProvider';\nexport * from './ThemeUtils';\nexport * from './useTheme';\nexport * from './Logo';\nexport * from './colorUtils';\n"],"mappings":""}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../src/theme/index.ts"],"sourcesContent":["export * from './theme-dark';\nexport * from './theme-light';\nexport * from './ThemeModel';\nexport * from './ThemePicker';\nexport * from './ThemeProvider';\nexport * from './ThemeUtils';\nexport * from './useTheme';\nexport * from './Logo';\nexport * from './colorUtils';\nexport * from './useSpectrumThemeProvider';\n"],"mappings":""}
@@ -1 +1 @@
1
- [class*=spectrum]{font-family:var(--font-family-sans-serif) !important}label[class*=spectrum-]{margin-bottom:0}svg[class*=spectrum-Textfield-validationIcon]{box-sizing:content-box}.svg-inline--fa[class*=spectrum-Icon--sizeS]{--spectrum-alias-workflow-icon-size: var(--dh-svg-inline-icon-size)}.action-button-icon-with-tooltip{padding-right:var(--spectrum-actionbutton-icon-padding-x, var(--spectrum-global-dimension-size-85))}[class*=spectrum-Table-headCell]{--dh-table-header-cell-background-color: transparent;background:var(--dh-table-header-cell-background-color)}[class*=spectrum-Table-row]{--spectrum-table-row-border-color-selected: var( --dh-color-item-list-selected-border )}[class*=spectrum-Table--quiet]{--spectrum-alias-background-color-default: transparent}[class*=spectrum-ListView]{--spectrum-listview-item-border-color-selected: var( --dh-color-item-list-selected-border )}button[class*=spectrum-Button]{--spectrum-button-primary-text-gap: var(--spectrum-global-dimension-size-75);padding-bottom:calc(var(--spectrum-global-dimension-size-50) - 1px);padding-top:calc(var(--spectrum-global-dimension-size-50))}button[class*=spectrum-Button] svg{padding-bottom:var(--spectrum-global-dimension-size-25)}span[class*=spectrum-Checkbox-label],span[class*=spectrum-Radio-label]{margin-top:var(--spectrum-global-dimension-size-85)}/*# sourceMappingURL=theme-spectrum-overrides.css.map */
1
+ [class*=spectrum]{font-family:var(--font-family-sans-serif) !important}label[class*=spectrum-]{margin-bottom:0}svg[class*=spectrum-Textfield-validationIcon]{box-sizing:content-box}.svg-inline--fa[class*=spectrum-Icon--sizeS]{--spectrum-alias-workflow-icon-size: var(--dh-svg-inline-icon-size)}.action-button-icon-with-tooltip{padding-right:var(--spectrum-actionbutton-icon-padding-x, var(--spectrum-global-dimension-size-85))}[class*=spectrum-Table-headCell]{--dh-table-header-cell-background-color: transparent;background:var(--dh-table-header-cell-background-color)}[class*=spectrum-Table-row]{--spectrum-table-row-border-color-selected: var( --dh-color-item-list-selected-border )}[class*=spectrum-Table--quiet]{--spectrum-alias-background-color-default: transparent}[class*=spectrum-ListView]{--spectrum-listview-item-border-color-selected: var( --dh-color-item-list-selected-border )}button[class*=spectrum-Button]:not(.btn):not(.btn-socketed){--spectrum-button-primary-text-gap: var(--spectrum-global-dimension-size-75);padding-bottom:calc(var(--spectrum-global-dimension-size-50) - 1px);padding-top:calc(var(--spectrum-global-dimension-size-50))}button[class*=spectrum-Button]:not(.btn):not(.btn-socketed) svg{padding-bottom:var(--spectrum-global-dimension-size-25)}span[class*=spectrum-Checkbox-label],span[class*=spectrum-Radio-label]{margin-top:var(--spectrum-global-dimension-size-85)}label[class*=spectrum-Radio]{--spectrum-radio-emphasized-circle-border-color-error: var( --dh-color-negative-bg );--spectrum-radio-emphasized-circle-border-color-error-hover: var( --dh-color-negative-hover-bg );--spectrum-radio-emphasized-circle-border-color-error-down: var( --dh-color-negative-down-bg );--spectrum-radio-circle-border-color-error-key-focus: var( --dh-color-negative-key-focus-bg );--spectrum-radio-circle-border-color-error-selected-key-focus: var( --dh-color-negative-key-focus-bg )}/*# sourceMappingURL=theme-spectrum-overrides.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/theme/theme-spectrum/theme-spectrum-overrides.css"],"names":[],"mappings":"AAAA,kBAGE,qDAIF,wBACE,gBAGF,8CAEE,uBAGF,6CAKE,oEAQF,iCACE,oGAOF,iCAME,qDAEA,wDAGF,4BAEE,wFAKF,+BAEE,uDAGF,2BAEE,4FAKF,+BAEE,6EAGA,oEACA,2DAGF,mCAEE,wDAGF,uEAKE","file":"theme-spectrum-overrides.css","sourcesContent":["[class*='spectrum'] {\n /* --font-family-sans-serif is defined in Bootstrap's _root.scss. We want\n Spectrum to use the same default font-family */\n font-family: var(--font-family-sans-serif) !important;\n}\n\n/* Override _reboot.scss */\nlabel[class*='spectrum-'] {\n margin-bottom: 0;\n}\n\nsvg[class*='spectrum-Textfield-validationIcon'] {\n /* set as border-box by reboot, but spectrum expects this to be content-box */\n box-sizing: content-box;\n}\n\n.svg-inline--fa[class*='spectrum-Icon--sizeS'] {\n /* \n Resize fontawesome icons used inside a spectrum icon wrapper to match\n our icon size. Spectrum icons are 18px by default, but our icons are built on a 16px grid.\n */\n --spectrum-alias-workflow-icon-size: var(--dh-svg-inline-icon-size);\n}\n\n/** \n * Spectrum action button icons only include right padding if the the icon is \n * the only child. In cases where we add a <Tooltip>, we have to manually add \n * the right padding ourselves to keep the icon centered.\n */\n.action-button-icon-with-tooltip {\n padding-right: var(\n --spectrum-actionbutton-icon-padding-x,\n var(--spectrum-global-dimension-size-85)\n );\n}\n\n/* Table */\n[class*='spectrum-Table-headCell'] {\n /* \n Tables are styled with the assumption that the header is the same color as the bg\n which means they look bad against any other background color, instead just inherit the bg.\n There is also no variable exposed for this, so we have to target the class directly.\n */\n --dh-table-header-cell-background-color: transparent;\n\n background: var(--dh-table-header-cell-background-color);\n}\n\n[class*='spectrum-Table-row'] {\n /* border of selected color is hard-coded as blue rather than accent color */\n --spectrum-table-row-border-color-selected: var(\n --dh-color-item-list-selected-border\n );\n}\n\n[class*='spectrum-Table--quiet'] {\n /* Quiet shouldn't assume a bg color */\n --spectrum-alias-background-color-default: transparent;\n}\n\n[class*='spectrum-ListView'] {\n /* border of selected color is hard-coded as blue rather than accent color */\n --spectrum-listview-item-border-color-selected: var(\n --dh-color-item-list-selected-border\n );\n}\n\nbutton[class*='spectrum-Button'] {\n /* make the icon closer to the text */\n --spectrum-button-primary-text-gap: var(--spectrum-global-dimension-size-75);\n\n /* Center the text vertically. We use a different font then spectrum so we require different custom centering */\n padding-bottom: calc(var(--spectrum-global-dimension-size-50) - 1px);\n padding-top: calc(var(--spectrum-global-dimension-size-50));\n}\n\nbutton[class*='spectrum-Button'] svg {\n /* our icons are smaller, center them too */\n padding-bottom: var(--spectrum-global-dimension-size-25);\n}\n\nspan[class*='spectrum-Checkbox-label'],\nspan[class*='spectrum-Radio-label'] {\n /* I have no idea why these spectrum labels aren't centered,\n but this fixes it. Maybe difference in font baselines.\n */\n margin-top: var(--spectrum-global-dimension-size-85);\n}\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/theme/theme-spectrum/theme-spectrum-overrides.css"],"names":[],"mappings":"AAAA,kBAGE,qDAIF,wBACE,gBAGF,8CAEE,uBAGF,6CAKE,oEAQF,iCACE,oGAOF,iCAME,qDAEA,wDAGF,4BAEE,wFAKF,+BAEE,uDAGF,2BAEE,4FAWF,4DAEE,6EAGA,oEACA,2DAEF,gEAKE,wDAGF,uEAKE,oDAEF,6BACE,qFAGA,iGAGA,+FAGA,8FAGA","file":"theme-spectrum-overrides.css","sourcesContent":["[class*='spectrum'] {\n /* --font-family-sans-serif is defined in Bootstrap's _root.scss. We want\n Spectrum to use the same default font-family */\n font-family: var(--font-family-sans-serif) !important;\n}\n\n/* Override _reboot.scss */\nlabel[class*='spectrum-'] {\n margin-bottom: 0;\n}\n\nsvg[class*='spectrum-Textfield-validationIcon'] {\n /* set as border-box by reboot, but spectrum expects this to be content-box */\n box-sizing: content-box;\n}\n\n.svg-inline--fa[class*='spectrum-Icon--sizeS'] {\n /* \n Resize fontawesome icons used inside a spectrum icon wrapper to match\n our icon size. Spectrum icons are 18px by default, but our icons are built on a 16px grid.\n */\n --spectrum-alias-workflow-icon-size: var(--dh-svg-inline-icon-size);\n}\n\n/** \n * Spectrum action button icons only include right padding if the the icon is \n * the only child. In cases where we add a <Tooltip>, we have to manually add \n * the right padding ourselves to keep the icon centered.\n */\n.action-button-icon-with-tooltip {\n padding-right: var(\n --spectrum-actionbutton-icon-padding-x,\n var(--spectrum-global-dimension-size-85)\n );\n}\n\n/* Table */\n[class*='spectrum-Table-headCell'] {\n /* \n Tables are styled with the assumption that the header is the same color as the bg\n which means they look bad against any other background color, instead just inherit the bg.\n There is also no variable exposed for this, so we have to target the class directly.\n */\n --dh-table-header-cell-background-color: transparent;\n\n background: var(--dh-table-header-cell-background-color);\n}\n\n[class*='spectrum-Table-row'] {\n /* border of selected color is hard-coded as blue rather than accent color */\n --spectrum-table-row-border-color-selected: var(\n --dh-color-item-list-selected-border\n );\n}\n\n[class*='spectrum-Table--quiet'] {\n /* Quiet shouldn't assume a bg color */\n --spectrum-alias-background-color-default: transparent;\n}\n\n[class*='spectrum-ListView'] {\n /* border of selected color is hard-coded as blue rather than accent color */\n --spectrum-listview-item-border-color-selected: var(\n --dh-color-item-list-selected-border\n );\n}\n\n/**\n Adjust Spectrum button text and icon alignment to account for DH using a\n different font and smaller icons. Spectrum `ButtonGroup` will add additional\n `-spectrum-ButtonGroup` classes to child buttons (including DH ones), so we\n explicitly exclude our buttons from the selector.\n */\nbutton[class*='spectrum-Button']:not(.btn):not(.btn-socketed) {\n /* make the icon closer to the text */\n --spectrum-button-primary-text-gap: var(--spectrum-global-dimension-size-75);\n\n /* Center the text vertically. We use a different font then spectrum so we require different custom centering */\n padding-bottom: calc(var(--spectrum-global-dimension-size-50) - 1px);\n padding-top: calc(var(--spectrum-global-dimension-size-50));\n}\nbutton[class*='spectrum-Button']:not(.btn):not(.btn-socketed) svg {\n /* \n We use smaller icons than Spectrum, so we need to adjust the padding to \n center when we use our icons inside of Spectrum buttons.\n */\n padding-bottom: var(--spectrum-global-dimension-size-25);\n}\n\nspan[class*='spectrum-Checkbox-label'],\nspan[class*='spectrum-Radio-label'] {\n /* I have no idea why these spectrum labels aren't centered,\n but this fixes it. Maybe difference in font baselines.\n */\n margin-top: var(--spectrum-global-dimension-size-85);\n}\nlabel[class*='spectrum-Radio'] {\n --spectrum-radio-emphasized-circle-border-color-error: var(\n --dh-color-negative-bg\n );\n --spectrum-radio-emphasized-circle-border-color-error-hover: var(\n --dh-color-negative-hover-bg\n );\n --spectrum-radio-emphasized-circle-border-color-error-down: var(\n --dh-color-negative-down-bg\n );\n --spectrum-radio-circle-border-color-error-key-focus: var(\n --dh-color-negative-key-focus-bg\n );\n --spectrum-radio-circle-border-color-error-selected-key-focus: var(\n --dh-color-negative-key-focus-bg\n );\n}\n"]}
@@ -0,0 +1,4 @@
1
+ import { useProvider } from '@adobe/react-spectrum';
2
+ export declare const useSpectrumThemeProvider: typeof useProvider;
3
+ export default useSpectrumThemeProvider;
4
+ //# sourceMappingURL=useSpectrumThemeProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpectrumThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/useSpectrumThemeProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,eAAO,MAAM,wBAAwB,oBAAc,CAAC;AAEpD,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { useProvider } from '@adobe/react-spectrum';
2
+ export var useSpectrumThemeProvider = useProvider;
3
+ export default useSpectrumThemeProvider;
4
+ //# sourceMappingURL=useSpectrumThemeProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSpectrumThemeProvider.js","names":["useProvider","useSpectrumThemeProvider"],"sources":["../../src/theme/useSpectrumThemeProvider.ts"],"sourcesContent":["import { useProvider } from '@adobe/react-spectrum';\n\nexport const useSpectrumThemeProvider = useProvider;\n\nexport default useSpectrumThemeProvider;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,uBAAuB;AAEnD,OAAO,IAAMC,wBAAwB,GAAGD,WAAW;AAEnD,eAAeC,wBAAwB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/components",
3
- "version": "0.72.1-beta.5+01c2a064",
3
+ "version": "0.72.1-core-plugins.9+2dd04edb",
4
4
  "description": "Deephaven React component library",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -24,15 +24,16 @@
24
24
  "build:theme": "sass --embed-sources --style=compressed --load-path=../../node_modules ./src/theme:./dist/theme"
25
25
  },
26
26
  "dependencies": {
27
- "@adobe/react-spectrum": "^3.34.1",
28
- "@deephaven/icons": "^0.72.1-beta.5+01c2a064",
29
- "@deephaven/log": "^0.72.1-beta.5+01c2a064",
30
- "@deephaven/react-hooks": "^0.72.1-beta.5+01c2a064",
31
- "@deephaven/utils": "^0.72.1-beta.5+01c2a064",
27
+ "@adobe/react-spectrum": "3.35.1",
28
+ "@deephaven/icons": "^0.72.1-core-plugins.9+2dd04edb",
29
+ "@deephaven/log": "^0.72.1-core-plugins.9+2dd04edb",
30
+ "@deephaven/react-hooks": "^0.72.1-core-plugins.9+2dd04edb",
31
+ "@deephaven/utils": "^0.72.1-core-plugins.9+2dd04edb",
32
32
  "@fortawesome/fontawesome-svg-core": "^6.2.1",
33
33
  "@fortawesome/react-fontawesome": "^0.2.0",
34
34
  "@react-spectrum/theme-default": "^3.5.1",
35
35
  "@react-spectrum/utils": "^3.11.5",
36
+ "@react-types/radio": "^3.8.1",
36
37
  "@react-types/shared": "^3.22.1",
37
38
  "@react-types/textfield": "^3.9.1",
38
39
  "bootstrap": "4.6.2",
@@ -42,20 +43,20 @@
42
43
  "lodash.debounce": "^4.0.8",
43
44
  "lodash.flatten": "^4.4.0",
44
45
  "memoizee": "^0.4.15",
46
+ "nanoid": "^5.0.7",
45
47
  "popper.js": "^1.16.1",
46
48
  "prop-types": "^15.7.2",
47
49
  "react-beautiful-dnd": "^13.1.0",
48
50
  "react-transition-group": "^4.4.2",
49
51
  "react-virtualized-auto-sizer": "1.0.6",
50
- "react-window": "^1.8.6",
51
- "shortid": "^2.2.16"
52
+ "react-window": "^1.8.6"
52
53
  },
53
54
  "peerDependencies": {
54
55
  "react": ">=16.8.0",
55
56
  "react-dom": ">=16.8.0"
56
57
  },
57
58
  "devDependencies": {
58
- "@deephaven/mocks": "^0.72.1-beta.5+01c2a064"
59
+ "@deephaven/mocks": "^0.72.1-core-plugins.9+2dd04edb"
59
60
  },
60
61
  "files": [
61
62
  "dist",
@@ -69,5 +70,5 @@
69
70
  "publishConfig": {
70
71
  "access": "public"
71
72
  },
72
- "gitHead": "01c2a064f287638382f0f7fe474098393b73b9ca"
73
+ "gitHead": "2dd04edb752fbc59cbcda20383bfcaabd393108b"
73
74
  }
@@ -54,4 +54,4 @@ $ant-thickness: 1px;
54
54
  $focus-bg-transparency: 12%;
55
55
  $hover-bg-transparency: 14%;
56
56
  $active-bg-transparency: 28%;
57
- $exception-transparency: 13%;
57
+ $exception-transparency: 28%;
package/scss/util.scss CHANGED
@@ -71,6 +71,10 @@
71
71
  @return color-mix-opacity('negative', $i);
72
72
  }
73
73
 
74
+ @function negative-down-bg-opacity($i: 100) {
75
+ @return color-mix-opacity('negative-down-bg', $i);
76
+ }
77
+
74
78
  @function black-opacity($i: 100) {
75
79
  @return color-mix-opacity('black', $i);
76
80
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../src/ButtonGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,UAAU,gBAAgB;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,iBAAS,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,GAAG,CAAC,OAAO,CAazD;kBAbQ,WAAW;;;;;;;;;;;;;;AA8BpB,eAAe,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonGroup.js","names":["React","classNames","PropTypes","jsx","_jsx","ButtonGroup","props","children","className","style","dataTestId","role","displayName","propTypes","node","isRequired","string","object","defaultProps","undefined"],"sources":["../src/ButtonGroup.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\ninterface ButtonGroupProps {\n children?: React.ReactNode;\n className?: string;\n style?: React.CSSProperties;\n 'data-testid'?: string;\n}\n\nfunction ButtonGroup(props: ButtonGroupProps): JSX.Element {\n const { children, className, style, 'data-testid': dataTestId } = props;\n\n return (\n <div\n className={classNames('btn-group', className)}\n style={style}\n role=\"group\"\n data-testid={dataTestId}\n >\n {children}\n </div>\n );\n}\n\nButtonGroup.displayName = 'ButtonGroup';\n\nButtonGroup.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n style: PropTypes.object,\n 'data-testid': PropTypes.string,\n};\n\nButtonGroup.defaultProps = {\n className: null,\n style: {},\n 'data-testid': undefined,\n};\n\nexport default ButtonGroup;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AASnC,SAASC,WAAWA,CAACC,KAAuB,EAAe;EACzD,IAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,KAAK;IAAE,aAAa,EAAEC;EAAW,CAAC,GAAGJ,KAAK;EAEvE,oBACEF,IAAA;IACEI,SAAS,EAAEP,UAAU,CAAC,WAAW,EAAEO,SAAS,CAAE;IAC9CC,KAAK,EAAEA,KAAM;IACbE,IAAI,EAAC,OAAO;IACZ,eAAaD,UAAW;IAAAH,QAAA,EAEvBA;EAAQ,CACN,CAAC;AAEV;AAEAF,WAAW,CAACO,WAAW,GAAG,aAAa;AAEvCP,WAAW,CAACQ,SAAS,GAAG;EACtBN,QAAQ,EAAEL,SAAS,CAACY,IAAI,CAACC,UAAU;EACnCP,SAAS,EAAEN,SAAS,CAACc,MAAM;EAC3BP,KAAK,EAAEP,SAAS,CAACe,MAAM;EACvB,aAAa,EAAEf,SAAS,CAACc;AAC3B,CAAC;AAEDX,WAAW,CAACa,YAAY,GAAG;EACzBV,SAAS,EAAE,IAAI;EACfC,KAAK,EAAE,CAAC,CAAC;EACT,aAAa,EAAEU;AACjB,CAAC;AAED,eAAed,WAAW"}
@@ -1,12 +0,0 @@
1
- import React, { MouseEventHandler } from 'react';
2
- interface ButtonProps {
3
- children?: React.ReactNode;
4
- className?: string;
5
- disabled?: boolean;
6
- onClick?: MouseEventHandler<HTMLButtonElement>;
7
- style?: React.CSSProperties;
8
- id?: string;
9
- }
10
- declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
11
- export default Button;
12
- //# sourceMappingURL=ButtonOld.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonOld.d.ts","sourceRoot":"","sources":["../src/ButtonOld.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAIjD,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AACD,QAAA,MAAM,MAAM,uFAiBX,CAAC;AAsBF,eAAe,MAAM,CAAC"}
package/dist/ButtonOld.js DELETED
@@ -1,43 +0,0 @@
1
- import React from 'react';
2
- import classNames from 'classnames';
3
- import PropTypes from 'prop-types';
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- var Button = /*#__PURE__*/React.forwardRef((props, ref) => {
6
- var {
7
- children,
8
- className,
9
- disabled,
10
- onClick,
11
- style,
12
- id
13
- } = props;
14
- return /*#__PURE__*/_jsx("button", {
15
- ref: ref,
16
- type: "button",
17
- className: classNames('btn', className),
18
- onClick: onClick,
19
- style: style,
20
- disabled: disabled,
21
- id: id,
22
- children: children
23
- });
24
- });
25
- Button.displayName = 'Button';
26
- Button.propTypes = {
27
- children: PropTypes.node,
28
- className: PropTypes.string,
29
- disabled: PropTypes.bool,
30
- onClick: PropTypes.func,
31
- style: PropTypes.shape({}),
32
- id: PropTypes.string
33
- };
34
- Button.defaultProps = {
35
- children: null,
36
- className: '',
37
- disabled: false,
38
- onClick: () => null,
39
- style: {},
40
- id: ''
41
- };
42
- export default Button;
43
- //# sourceMappingURL=ButtonOld.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ButtonOld.js","names":["React","classNames","PropTypes","jsx","_jsx","Button","forwardRef","props","ref","children","className","disabled","onClick","style","id","type","displayName","propTypes","node","string","bool","func","shape","defaultProps"],"sources":["../src/ButtonOld.tsx"],"sourcesContent":["import React, { MouseEventHandler } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\ninterface ButtonProps {\n children?: React.ReactNode;\n className?: string;\n disabled?: boolean;\n onClick?: MouseEventHandler<HTMLButtonElement>;\n style?: React.CSSProperties;\n id?: string;\n}\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props: ButtonProps, ref) => {\n const { children, className, disabled, onClick, style, id } = props;\n return (\n <button\n ref={ref}\n type=\"button\"\n className={classNames('btn', className)}\n onClick={onClick}\n style={style}\n disabled={disabled}\n id={id}\n >\n {children}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n\nButton.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func,\n style: PropTypes.shape({}),\n id: PropTypes.string,\n};\n\nButton.defaultProps = {\n children: null,\n className: '',\n disabled: false,\n onClick: () => null,\n style: {},\n id: '',\n};\n\nexport default Button;\n"],"mappings":"AAAA,OAAOA,KAAK,MAA6B,OAAO;AAChD,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUnC,IAAMC,MAAM,gBAAGL,KAAK,CAACM,UAAU,CAC7B,CAACC,KAAkB,EAAEC,GAAG,KAAK;EAC3B,IAAM;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,KAAK;IAAEC;EAAG,CAAC,GAAGP,KAAK;EACnE,oBACEH,IAAA;IACEI,GAAG,EAAEA,GAAI;IACTO,IAAI,EAAC,QAAQ;IACbL,SAAS,EAAET,UAAU,CAAC,KAAK,EAAES,SAAS,CAAE;IACxCE,OAAO,EAAEA,OAAQ;IACjBC,KAAK,EAAEA,KAAM;IACbF,QAAQ,EAAEA,QAAS;IACnBG,EAAE,EAAEA,EAAG;IAAAL,QAAA,EAENA;EAAQ,CACH,CAAC;AAEb,CACF,CAAC;AAEDJ,MAAM,CAACW,WAAW,GAAG,QAAQ;AAE7BX,MAAM,CAACY,SAAS,GAAG;EACjBR,QAAQ,EAAEP,SAAS,CAACgB,IAAI;EACxBR,SAAS,EAAER,SAAS,CAACiB,MAAM;EAC3BR,QAAQ,EAAET,SAAS,CAACkB,IAAI;EACxBR,OAAO,EAAEV,SAAS,CAACmB,IAAI;EACvBR,KAAK,EAAEX,SAAS,CAACoB,KAAK,CAAC,CAAC,CAAC,CAAC;EAC1BR,EAAE,EAAEZ,SAAS,CAACiB;AAChB,CAAC;AAEDd,MAAM,CAACkB,YAAY,GAAG;EACpBd,QAAQ,EAAE,IAAI;EACdC,SAAS,EAAE,EAAE;EACbC,QAAQ,EAAE,KAAK;EACfC,OAAO,EAAEA,CAAA,KAAM,IAAI;EACnBC,KAAK,EAAE,CAAC,CAAC;EACTC,EAAE,EAAE;AACN,CAAC;AAED,eAAeT,MAAM"}
@@ -1,120 +0,0 @@
1
- /**
2
- * Combobox that combines a input box with a searchable dropdown menu
3
- *
4
- * props:
5
- * @param {array} options :[{
6
- * title: 'option title for display',
7
- * value: 'option value' //option value
8
- * }]
9
- * @param {string} inputPlaceholder place holder for the input box
10
- * @param {string} searchPlaceholder place holder for the search box in drop down search box
11
- * @param {boolean} disabled disable both input & drop down
12
- *
13
- *
14
- */
15
- import React, { Component } from 'react';
16
- import PropTypes from 'prop-types';
17
- import memoize from 'memoizee';
18
- import { PopperOptions } from 'popper.js';
19
- import SearchInput from './SearchInput';
20
- import { Popper } from './popper';
21
- import './ComboBox.scss';
22
- interface ComboBoxOption {
23
- title: string;
24
- value: string;
25
- }
26
- interface ComboBoxProps {
27
- options: ComboBoxOption[];
28
- popperOptions: PopperOptions;
29
- onChange: (value: string) => void;
30
- inputPlaceholder: string;
31
- searchPlaceholder: string;
32
- disabled: boolean;
33
- className: string;
34
- defaultValue: string;
35
- spellCheck: boolean;
36
- onEnter: () => void;
37
- 'data-testid'?: string;
38
- }
39
- interface ComboBoxState {
40
- value: string;
41
- filter: string;
42
- filteredOptions: ComboBoxOption[];
43
- keyboardOptionIndex: number;
44
- menuIsOpen: boolean;
45
- inputWidth: number;
46
- }
47
- declare enum MENU_NAVIGATION_DIRECTION {
48
- UP = "UP",
49
- DOWN = "DOWN"
50
- }
51
- declare class ComboBox extends Component<ComboBoxProps, ComboBoxState> {
52
- static MENU_NAVIGATION_DIRECTION: typeof MENU_NAVIGATION_DIRECTION;
53
- static DROP_DOWN_MENU_HEIGHT: number;
54
- static propTypes: {
55
- options: PropTypes.Validator<(PropTypes.InferProps<{
56
- title: PropTypes.Validator<string>;
57
- value: PropTypes.Validator<string>;
58
- }> | null | undefined)[]>;
59
- popperOptions: PropTypes.Requireable<PropTypes.InferProps<{
60
- title: PropTypes.Validator<string>;
61
- value: PropTypes.Validator<string>;
62
- }>>;
63
- onChange: PropTypes.Requireable<(...args: any[]) => any>;
64
- inputPlaceholder: PropTypes.Requireable<string>;
65
- searchPlaceholder: PropTypes.Requireable<string>;
66
- disabled: PropTypes.Requireable<boolean>;
67
- className: PropTypes.Requireable<string>;
68
- defaultValue: PropTypes.Requireable<string>;
69
- spellCheck: PropTypes.Requireable<boolean>;
70
- onEnter: PropTypes.Requireable<(...args: any[]) => any>;
71
- 'data-testid': PropTypes.Requireable<string>;
72
- };
73
- static defaultProps: {
74
- onChange(): void;
75
- inputPlaceholder: string;
76
- searchPlaceholder: string;
77
- disabled: boolean;
78
- className: string;
79
- defaultValue: string;
80
- popperOptions: null;
81
- spellCheck: boolean;
82
- onEnter(): void;
83
- 'data-testid': undefined;
84
- };
85
- constructor(props: ComboBoxProps);
86
- componentDidUpdate(): void;
87
- popper: React.RefObject<Popper>;
88
- cbContainer: React.RefObject<HTMLDivElement>;
89
- toggleButton: React.RefObject<HTMLButtonElement>;
90
- menuContainer: React.RefObject<HTMLDivElement>;
91
- input: React.RefObject<HTMLInputElement>;
92
- searchInput: React.RefObject<SearchInput>;
93
- setInputWidth(): void;
94
- getCachedFilteredOptions: ((options: ComboBoxOption[], input: string) => ComboBoxOption[]) & memoize.Memoized<(options: ComboBoxOption[], input: string) => ComboBoxOption[]>;
95
- focus(): void;
96
- resetValue(): void;
97
- updateInputValue(value: string): void;
98
- handleResize(): void;
99
- handleMenuKeyDown(event: React.KeyboardEvent): void;
100
- handleMenuNavigation(direction: MENU_NAVIGATION_DIRECTION): void;
101
- handleInputKeyDown(event: React.KeyboardEvent): void;
102
- handleInputChange(event: React.ChangeEvent<HTMLInputElement>): void;
103
- handleOptionClick(event: React.MouseEvent<HTMLButtonElement>): void;
104
- handleOptionFocus(event: React.FocusEvent<HTMLButtonElement>): void;
105
- handleFilterChange(event: React.ChangeEvent<HTMLInputElement>): void;
106
- handleMenuBlur(event: React.FocusEvent): void;
107
- handleInputBlur(event: React.FocusEvent<HTMLInputElement>): void;
108
- handleMenuOpened(): void;
109
- handleMenuExited(): void;
110
- toggleMenu(event: React.MouseEvent<HTMLButtonElement>): void;
111
- openMenu(): void;
112
- closeMenu(focusInput?: boolean): void;
113
- updateKeyboardIndex(): void;
114
- scrollOptionIntoView(): void;
115
- renderMenuElement(): JSX.Element;
116
- renderOptions(): React.ReactNode;
117
- render(): JSX.Element;
118
- }
119
- export default ComboBox;
120
- //# sourceMappingURL=ComboBox.d.ts.map