@sproutsocial/seeds-react-menu 1.10.7 → 1.10.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.
- package/.turbo/turbo-build.log +10 -10
- package/CHANGELOG.md +22 -0
- package/dist/esm/index.js +47 -24
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +37 -14
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/MenuGroup/MenuGroup.tsx +16 -3
- package/src/MenuGroup/__tests__/MenuGroup.test.tsx +19 -0
- package/src/MenuItem/MenuItem.tsx +21 -10
- package/src/MenuItem/__tests__/MenuItem.test.tsx +19 -0
- package/src/MenuSearchInput/MenuSearchInput.tsx +2 -0
- package/src/MenuSearchInput/__tests__/MenuSearchInput.test.tsx +23 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -8,22 +8,22 @@ $ tsup --dts
|
|
|
8
8
|
[34mCLI[39m Cleaning output folder
|
|
9
9
|
[34mCJS[39m Build start
|
|
10
10
|
[34mESM[39m Build start
|
|
11
|
-
[32mCJS[39m [1mdist/index.js [22m[
|
|
11
|
+
[32mCJS[39m [1mdist/index.js [22m[32m92.62 KB[39m
|
|
12
12
|
[32mCJS[39m [1mdist/v2/index.js [22m[32m73.13 KB[39m
|
|
13
|
-
[32mCJS[39m [1mdist/index.js.map [22m[
|
|
13
|
+
[32mCJS[39m [1mdist/index.js.map [22m[32m180.20 KB[39m
|
|
14
14
|
[32mCJS[39m [1mdist/v2/index.js.map [22m[32m152.10 KB[39m
|
|
15
|
-
[32mCJS[39m ⚡️ Build success in
|
|
16
|
-
[32mESM[39m [1mdist/esm/index.js [22m[
|
|
15
|
+
[32mCJS[39m ⚡️ Build success in 56ms
|
|
16
|
+
[32mESM[39m [1mdist/esm/index.js [22m[32m73.57 KB[39m
|
|
17
17
|
[32mESM[39m [1mdist/esm/chunk-ROQATIB7.js [22m[32m9.15 KB[39m
|
|
18
18
|
[32mESM[39m [1mdist/esm/v2/index.js [22m[32m62.59 KB[39m
|
|
19
|
-
[32mESM[39m [1mdist/esm/index.js.map [22m[
|
|
19
|
+
[32mESM[39m [1mdist/esm/index.js.map [22m[32m156.22 KB[39m
|
|
20
20
|
[32mESM[39m [1mdist/esm/chunk-ROQATIB7.js.map [22m[32m22.93 KB[39m
|
|
21
21
|
[32mESM[39m [1mdist/esm/v2/index.js.map [22m[32m132.48 KB[39m
|
|
22
|
-
[32mESM[39m ⚡️ Build success in
|
|
22
|
+
[32mESM[39m ⚡️ Build success in 56ms
|
|
23
23
|
[34mDTS[39m Build start
|
|
24
|
-
[32mDTS[39m ⚡️ Build success in
|
|
25
|
-
[32mDTS[39m [1mdist/index.d.ts [22m[32m39.
|
|
24
|
+
[32mDTS[39m ⚡️ Build success in 4990ms
|
|
25
|
+
[32mDTS[39m [1mdist/index.d.ts [22m[32m39.09 KB[39m
|
|
26
26
|
[32mDTS[39m [1mdist/v2/index.d.ts [22m[32m5.55 KB[39m
|
|
27
|
-
[32mDTS[39m [1mdist/index.d.mts [22m[32m39.
|
|
27
|
+
[32mDTS[39m [1mdist/index.d.mts [22m[32m39.09 KB[39m
|
|
28
28
|
[32mDTS[39m [1mdist/v2/index.d.mts [22m[32m5.55 KB[39m
|
|
29
|
-
Done in
|
|
29
|
+
Done in 5.69s.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @sproutsocial/seeds-react-menu
|
|
2
2
|
|
|
3
|
+
## 1.10.9
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 31b0eb1: [DS-4271] Fix invalid ARIA emitted by `MenuGroup` and `MenuItem`.
|
|
8
|
+
|
|
9
|
+
- `MenuGroup` no longer sets `role="group"` on its outer `<li>` (axe
|
|
10
|
+
`aria-allowed-role`). The group role and `aria-labelledby` now live on
|
|
11
|
+
the inner `<ul>`, which also resolves the axe `list` and
|
|
12
|
+
`aria-required-parent` violations.
|
|
13
|
+
- `MenuItem` strips `aria-selected` from the props returned by
|
|
14
|
+
downshift's `getItemProps` when used as a `menuitem` (ActionMenu).
|
|
15
|
+
`aria-selected` is only valid on `role="option"`; for menu items it
|
|
16
|
+
failed axe `aria-allowed-attr`. Listbox menus (`SingleSelectMenu`,
|
|
17
|
+
`MultiSelectMenu`) are unchanged.
|
|
18
|
+
|
|
19
|
+
## 1.10.8
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- 1f8fc73: [ENTCAP-961] Call passed in onChange within filtering
|
|
24
|
+
|
|
3
25
|
## 1.10.7
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
package/dist/esm/index.js
CHANGED
|
@@ -144,22 +144,26 @@ var MenuItem = ({
|
|
|
144
144
|
});
|
|
145
145
|
const item = itemsMap[id] || { index: 0, id };
|
|
146
146
|
const highlighted = highlightedIndex === item?.index;
|
|
147
|
+
const downshiftItemProps = getItemProps?.({
|
|
148
|
+
...isListbox ? {} : { role: "menuitem" },
|
|
149
|
+
item,
|
|
150
|
+
index: item.index,
|
|
151
|
+
// The disabled prop no longer supported in downshift. Use isItemDisabled instead.
|
|
152
|
+
// disabled,
|
|
153
|
+
onClick,
|
|
154
|
+
onKeyDown,
|
|
155
|
+
ref: innerRef
|
|
156
|
+
}) ?? {};
|
|
157
|
+
if (!isListbox && "aria-selected" in downshiftItemProps) {
|
|
158
|
+
delete downshiftItemProps["aria-selected"];
|
|
159
|
+
}
|
|
147
160
|
return hiddenItemsMap[item.id] ? /* @__PURE__ */ jsx2(Fragment, {}) : /* @__PURE__ */ jsx2(MenuItemContainer, { role: "none", children: /* @__PURE__ */ jsx2(
|
|
148
161
|
StyledMenuItem,
|
|
149
162
|
{
|
|
150
163
|
id,
|
|
151
164
|
$highlighted: highlighted,
|
|
152
165
|
$active: active,
|
|
153
|
-
...
|
|
154
|
-
...isListbox ? {} : { role: "menuitem" },
|
|
155
|
-
item,
|
|
156
|
-
index: item.index,
|
|
157
|
-
// The disabled prop no longer supported in downshift. Use isItemDisabled instead.
|
|
158
|
-
// disabled,
|
|
159
|
-
onClick,
|
|
160
|
-
onKeyDown,
|
|
161
|
-
ref: innerRef
|
|
162
|
-
}),
|
|
166
|
+
...downshiftItemProps,
|
|
163
167
|
as: isListbox ? void 0 : href ? "a" : "button",
|
|
164
168
|
type: href ? void 0 : "button",
|
|
165
169
|
href,
|
|
@@ -599,20 +603,37 @@ var MenuGroup = ({
|
|
|
599
603
|
if (!children) {
|
|
600
604
|
return null;
|
|
601
605
|
}
|
|
602
|
-
return
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
606
|
+
return (
|
|
607
|
+
// role="none" on the outer <li>: this wrapper is purely visual (it exists
|
|
608
|
+
// for the border-bottom divider between groups in the parent menu <ul>).
|
|
609
|
+
// The ARIA group semantics live on the inner <ul> below — axe rejects
|
|
610
|
+
// role="group" on <li>, and a native <ul> here would trigger the `list`
|
|
611
|
+
// rule because its children are <li role="none"> menuitem wrappers.
|
|
612
|
+
//
|
|
613
|
+
// TODO(DS-4273): drop the list-based DOM entirely (MenuContent/MenuGroup
|
|
614
|
+
// as <div>, no <ul>/<li>, no role="none" wrappers). This is the followup
|
|
615
|
+
// to DS-4271's minimal ARIA patch.
|
|
616
|
+
/* @__PURE__ */ jsxs3(
|
|
617
|
+
StyledMenuGroup,
|
|
618
|
+
{
|
|
619
|
+
role: "none",
|
|
620
|
+
id,
|
|
621
|
+
isSingleSelect,
|
|
622
|
+
color: color3,
|
|
623
|
+
...rest,
|
|
624
|
+
children: [
|
|
625
|
+
title && /* @__PURE__ */ jsx8(StyledTitle, { role: "heading", as: titleAs, id: titleId, children: title }),
|
|
626
|
+
/* @__PURE__ */ jsx8(
|
|
627
|
+
StyledMenuGroupUl,
|
|
628
|
+
{
|
|
629
|
+
role: "group",
|
|
630
|
+
"aria-labelledby": title ? titleId : void 0,
|
|
631
|
+
children
|
|
632
|
+
}
|
|
633
|
+
)
|
|
634
|
+
]
|
|
635
|
+
}
|
|
636
|
+
)
|
|
616
637
|
);
|
|
617
638
|
};
|
|
618
639
|
MenuGroup.__MENU_PRIMITIVE_TYPE = "MenuGroup";
|
|
@@ -851,6 +872,7 @@ import { jsx as jsx11 } from "react/jsx-runtime";
|
|
|
851
872
|
var MenuSearchInput = ({
|
|
852
873
|
getIsItemVisible,
|
|
853
874
|
inputProps,
|
|
875
|
+
onChange,
|
|
854
876
|
...restInputProps
|
|
855
877
|
}) => {
|
|
856
878
|
const {
|
|
@@ -882,6 +904,7 @@ var MenuSearchInput = ({
|
|
|
882
904
|
{
|
|
883
905
|
onChange: (e, value) => {
|
|
884
906
|
updateFilteredItems({ inputValue: value });
|
|
907
|
+
onChange?.(e, value);
|
|
885
908
|
},
|
|
886
909
|
onKeyDown: handleKeyDown,
|
|
887
910
|
autoComplete: false,
|