@sproutsocial/seeds-react-menu 0.5.0 → 1.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.
- package/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +72 -0
- package/dist/esm/index.js +1529 -440
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +275 -92
- package/dist/index.d.ts +275 -92
- package/dist/index.js +1558 -444
- package/dist/index.js.map +1 -1
- package/package.json +15 -12
- package/src/ActionMenu/ActionMenu.stories.tsx +422 -0
- package/src/ActionMenu/ActionMenu.tsx +24 -27
- package/src/ActionMenu/ActionMenuTypes.ts +8 -7
- package/src/ActionMenu/__tests__/ActionMenu.test.tsx +17 -8
- package/src/ActionMenu/__tests__/ActionMenu.typetest.tsx +8 -8
- package/src/Autocomplete/Autocomplete.stories.tsx +38 -3
- package/src/Autocomplete/Autocomplete.tsx +15 -80
- package/src/Autocomplete/AutocompleteInput.tsx +18 -27
- package/src/Autocomplete/AutocompleteTokenInput.tsx +50 -0
- package/src/Autocomplete/AutocompleteTypes.ts +25 -12
- package/src/Autocomplete/MultiAutocomplete.tsx +188 -0
- package/src/Autocomplete/SingleAutocomplete.tsx +74 -0
- package/src/Autocomplete/__tests__/Autocomplete.test.tsx +207 -3
- package/src/Autocomplete/__tests__/Autocomplete.typetest.tsx +90 -8
- package/src/MenuContent/MenuContent.stories.tsx +164 -0
- package/src/MenuContent/MenuContent.tsx +28 -12
- package/src/MenuContent/MenuContentTypes.ts +6 -4
- package/src/MenuContent/__tests__/MenuContent.typetest.tsx +8 -8
- package/src/MenuContext.tsx +192 -37
- package/src/MenuFooter/MenuFooter.stories.tsx +202 -0
- package/src/MenuFooter/__tests__/MenuFooter.test.tsx +16 -11
- package/src/MenuFooter/styles.tsx +1 -1
- package/src/MenuGroup/MenuGroup.feature +16 -16
- package/src/MenuGroup/MenuGroup.stories.tsx +248 -0
- package/src/MenuGroup/MenuGroup.tsx +12 -7
- package/src/MenuGroup/MenuGroupTypes.ts +6 -2
- package/src/MenuGroup/__tests__/MenuGroup.test.tsx +6 -6
- package/src/MenuGroup/__tests__/MenuGroup.typetest.tsx +7 -7
- package/src/MenuGroup/styles.tsx +4 -2
- package/src/MenuHeader/MenuHeader.stories.tsx +276 -0
- package/src/MenuHeader/MenuHeader.tsx +12 -7
- package/src/MenuHeader/__tests__/MenuHeader.test.tsx +23 -13
- package/src/MenuHeader/styles.tsx +22 -14
- package/src/MenuItem/MenuItem.stories.tsx +507 -0
- package/src/MenuItem/MenuItem.tsx +23 -9
- package/src/MenuItem/MenuItemTypes.ts +9 -4
- package/src/MenuItem/__tests__/MenuItem.test.tsx +6 -6
- package/src/MenuItem/styles.tsx +23 -5
- package/src/MenuItem/useOptionProps.tsx +11 -9
- package/src/MenuLabel.tsx +2 -2
- package/src/MenuRoot/MenuRoot.tsx +52 -24
- package/src/MenuRoot/__tests__/MenuRoot.test.tsx +59 -32
- package/src/MenuSearchInput/MenuSearchInput.tsx +85 -0
- package/src/MenuSearchInput/__tests__/MenuSearchInput.test.tsx +157 -0
- package/src/MenuSearchInput/__tests__/MenuSearchInput.typetest.tsx +31 -0
- package/src/MenuSearchInput/index.ts +1 -0
- package/src/MenuSearchTokenInput/MenuSearchTokenInput.tsx +108 -0
- package/src/MenuSearchTokenInput/__tests__/MenuSearchTokenInput.test.tsx +247 -0
- package/src/MenuSearchTokenInput/__tests__/MenuSearchTokenInput.typetest.tsx +33 -0
- package/src/MenuSearchTokenInput/index.ts +1 -0
- package/src/MenuToggleButton/MenuToggleButton.stories.tsx +72 -0
- package/src/{MenuToggleButton.tsx → MenuToggleButton/MenuToggleButton.tsx} +6 -5
- package/src/MenuToggleButton/index.ts +1 -0
- package/src/MenuTokenInput.tsx +104 -0
- package/src/MultiSelectMenu/MultiSelectMenu.stories.tsx +222 -0
- package/src/MultiSelectMenu/MultiSelectMenu.tsx +38 -68
- package/src/MultiSelectMenu/MultiSelectMenuTypes.ts +8 -6
- package/src/MultiSelectMenu/__tests__/MultiSelectMenu.test.tsx +46 -17
- package/src/MultiSelectMenu/__tests__/MultiSelectMenu.typetest.tsx +6 -6
- package/src/NestedMenu/NestedMenu.feature +109 -0
- package/src/NestedMenu/NestedMenu.stories.tsx +157 -0
- package/src/NestedMenu/NestedMenu.tsx +102 -0
- package/src/NestedMenu/NestedMenuContent.tsx +75 -0
- package/src/NestedMenu/NestedMenuContext.tsx +56 -0
- package/src/NestedMenu/NestedMenuHeader.tsx +25 -0
- package/src/NestedMenu/NestedMenuItem.tsx +41 -0
- package/src/NestedMenu/NestedMenuTypes.ts +47 -0
- package/src/NestedMenu/__tests__/NestedMenu.test.tsx +31 -0
- package/src/NestedMenu/__tests__/NestedMenu.typetest.tsx +134 -0
- package/src/NestedMenu/index.ts +5 -0
- package/src/SingleSelectMenu/SingleSelectMenu.stories.tsx +233 -0
- package/src/SingleSelectMenu/SingleSelectMenu.tsx +23 -26
- package/src/SingleSelectMenu/SingleSelectMenuTypes.ts +7 -5
- package/src/SingleSelectMenu/__tests__/SingleSelectMenu.typetest.tsx +6 -6
- package/src/SubmenuItem/SubmenuItem.feature +82 -0
- package/src/SubmenuItem/SubmenuItem.stories.tsx +163 -0
- package/src/SubmenuItem/SubmenuItem.tsx +258 -0
- package/src/SubmenuItem/SubmenuItemTypes.ts +24 -0
- package/src/SubmenuItem/__tests__/SubmenuItem.test.tsx +3 -0
- package/src/SubmenuItem/__tests__/SubmenuItem.typetest.tsx +112 -0
- package/src/SubmenuItem/index.ts +2 -0
- package/src/hooks/useDownshiftDefaults.tsx +117 -0
- package/src/hooks/useItemFiltering.tsx +68 -0
- package/src/hooks/useMenuChildren.tsx +205 -131
- package/src/index.ts +6 -0
- package/src/menuTestingUtils.tsx +21 -10
- package/src/reducers/nestedMenuStateReducer.tsx +23 -0
- package/src/reducers/useComboboxStateReducer.tsx +26 -8
- package/src/reducers/useSelectStateReducer.tsx +24 -6
- package/src/storybookUtilities/menu-storybook-components.tsx +5 -3
- package/src/types.ts +38 -30
- package/src/utils/downshiftDefaults.ts +9 -0
- package/src/utils/getMultiSelectOverrides.ts +21 -0
- package/src/utils/reduceReducers.ts +19 -0
- package/src/utils/itemToString.ts +0 -5
package/.turbo/turbo-build.log
CHANGED
|
@@ -8,14 +8,14 @@ CLI Target: es2022
|
|
|
8
8
|
CLI Cleaning output folder
|
|
9
9
|
CJS Build start
|
|
10
10
|
ESM Build start
|
|
11
|
-
CJS dist/index.js
|
|
12
|
-
CJS dist/index.js.map
|
|
13
|
-
CJS ⚡️ Build success in
|
|
14
|
-
ESM dist/esm/index.js
|
|
15
|
-
ESM dist/esm/index.js.map
|
|
16
|
-
ESM ⚡️ Build success in
|
|
11
|
+
CJS dist/index.js 127.24 KB
|
|
12
|
+
CJS dist/index.js.map 338.99 KB
|
|
13
|
+
CJS ⚡️ Build success in 552ms
|
|
14
|
+
ESM dist/esm/index.js 119.14 KB
|
|
15
|
+
ESM dist/esm/index.js.map 337.77 KB
|
|
16
|
+
ESM ⚡️ Build success in 565ms
|
|
17
17
|
DTS Build start
|
|
18
|
-
DTS ⚡️ Build success in
|
|
19
|
-
DTS dist/index.d.ts
|
|
20
|
-
DTS dist/index.d.mts
|
|
21
|
-
Done in
|
|
18
|
+
DTS ⚡️ Build success in 11080ms
|
|
19
|
+
DTS dist/index.d.ts 30.02 KB
|
|
20
|
+
DTS dist/index.d.mts 30.02 KB
|
|
21
|
+
Done in 14.90s.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,77 @@
|
|
|
1
1
|
# @sproutsocial/seeds-react-menu
|
|
2
2
|
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- 686f09d: Here's the initial stable version of the new Menu package!
|
|
8
|
+
The documentation for these new components is still a work in progress, but you can checkout examples of its usage in [our latest storybook instance](https://seeds-storybook-vite.netlify.app).
|
|
9
|
+
|
|
10
|
+
## Ready for use
|
|
11
|
+
|
|
12
|
+
These components have been tested and their APIs stable and ready for initial use.
|
|
13
|
+
|
|
14
|
+
- Primitives
|
|
15
|
+
- `MenuHeader` - a stylized region for the header of the menu
|
|
16
|
+
- `MenuContent` - the element used to wrap the list of options in the menu
|
|
17
|
+
- `MenuGroup` - a group element to wrap a list of items inside the content with an optional title
|
|
18
|
+
- `MenuItem` - to be used to compose each menu item in the list
|
|
19
|
+
- `MenuFooter` - a stylized region for the footer of the menu
|
|
20
|
+
- `MenuSearchInput` - a text search input for filtering the menu items
|
|
21
|
+
- `MenuSearchTokenInput` - a token input for searching and selecting items in a multiple select menu
|
|
22
|
+
- `MenuToggleButton` - an accessible button to handle opening and closing the menu
|
|
23
|
+
- `MenuLabel` - an accessible label to go along with a toggle button or autocomplete input
|
|
24
|
+
- Menus
|
|
25
|
+
- `ActionMenu` - perform an action using a dropdown with no selection state
|
|
26
|
+
- `SingleSelectMenu` - use a selection menu where only one item can be selected
|
|
27
|
+
- `MultiSelectMenu` - use a selection menu where multiple items may be selected
|
|
28
|
+
- `Autocomplete` - use a dropdown to perform autocomplete on an input
|
|
29
|
+
- `AutocompleteInput` - a custom toggle element for text inputs with autocomplete
|
|
30
|
+
- `AutcompleteTokenInput` - a custom toggle element for multiple selection with autocomplete
|
|
31
|
+
|
|
32
|
+
## Still Experimental
|
|
33
|
+
|
|
34
|
+
These components and utilities are stable enough to support the ready for use components, but may not be fully stable enough for individual use. Use with caution!
|
|
35
|
+
Future updates will stabilize these components for wider use.
|
|
36
|
+
|
|
37
|
+
- Primitives
|
|
38
|
+
- `MenuRoot` - the root of most of the menus which handles the Popout logic and initializing the menu's context data
|
|
39
|
+
- This currently includes the Popout but could go through API changes depending on if we keep the Popout embedded here
|
|
40
|
+
- The type for this may change, but should not affect the API of the Menus consuming it
|
|
41
|
+
- `useMenu`/`MenuContext` - used to drive and share data between the menu primitives
|
|
42
|
+
- This shared logic has the potential to change in order to resolve bugs, data inconsistency or performance concerns
|
|
43
|
+
- `SubmenuItem` - a menu item that can be used to open another menu, allowing for the use of submenus
|
|
44
|
+
- There are still a couple of outstanding bugs for this component
|
|
45
|
+
- This should be stable enough to start using, with bug fixes coming soon
|
|
46
|
+
- Menus
|
|
47
|
+
- `NestedMenu` - a nested menu with sliding panels similar to what currently exists in the web app
|
|
48
|
+
- We are still massaging the animation added to this component, but it will be ready soon
|
|
49
|
+
|
|
50
|
+
## Up Next
|
|
51
|
+
|
|
52
|
+
Here's what's coming soon but wasn't urgent for v1!
|
|
53
|
+
|
|
54
|
+
- Comprehensive seeds documentation as well as descriptive tsdocs for inline documentation
|
|
55
|
+
- Finishing off stable versions of the `SubmenuItem` and `NestedMenu`
|
|
56
|
+
- A `NestedFilterMenu` that can search all the items in a `NestedMenu`
|
|
57
|
+
- An `AutocompleteSelect` toggle element that can be used to create a searchable `Select` input
|
|
58
|
+
- Additional accessibility improvements and bug fixes
|
|
59
|
+
|
|
60
|
+
## 0.6.0
|
|
61
|
+
|
|
62
|
+
### Minor Changes
|
|
63
|
+
|
|
64
|
+
- bb01698: Add NestedMenu component
|
|
65
|
+
|
|
66
|
+
### Patch Changes
|
|
67
|
+
|
|
68
|
+
- Updated dependencies [bb01698]
|
|
69
|
+
- Updated dependencies [bb01698]
|
|
70
|
+
- Updated dependencies [bb01698]
|
|
71
|
+
- @sproutsocial/seeds-react-input@1.4.1
|
|
72
|
+
- @sproutsocial/seeds-react-radio@1.3.0
|
|
73
|
+
- @sproutsocial/seeds-react-utilities@4.2.0
|
|
74
|
+
|
|
3
75
|
## 0.5.0
|
|
4
76
|
|
|
5
77
|
### Minor Changes
|