@sproutsocial/seeds-react-menu 1.10.8 → 1.11.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 (50) hide show
  1. package/.turbo/turbo-build.log +21 -15
  2. package/CHANGELOG.md +22 -0
  3. package/dist/esm/index.js +45 -24
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/v2/index.js +1 -1
  6. package/dist/esm/v2/index.js.map +1 -1
  7. package/dist/esm/v3/index.js +800 -0
  8. package/dist/esm/v3/index.js.map +1 -0
  9. package/dist/index.d.mts +22 -22
  10. package/dist/index.d.ts +22 -22
  11. package/dist/index.js +35 -14
  12. package/dist/index.js.map +1 -1
  13. package/dist/v2/index.js +1 -1
  14. package/dist/v2/index.js.map +1 -1
  15. package/dist/v3/index.d.mts +295 -0
  16. package/dist/v3/index.d.ts +295 -0
  17. package/dist/v3/index.js +868 -0
  18. package/dist/v3/index.js.map +1 -0
  19. package/package.json +7 -1
  20. package/src/MenuGroup/MenuGroup.tsx +16 -3
  21. package/src/MenuGroup/__tests__/MenuGroup.test.tsx +19 -0
  22. package/src/MenuItem/MenuItem.tsx +21 -10
  23. package/src/MenuItem/__tests__/MenuItem.test.tsx +19 -0
  24. package/src/v2/Common-V2/ComboboxContent.tsx +1 -1
  25. package/src/v3/Common/ComboboxItem.tsx +82 -0
  26. package/src/v3/Common/ComboboxStyles.tsx +475 -0
  27. package/src/v3/Common/SelectGroup.tsx +28 -0
  28. package/src/v3/Common/SelectIcons.tsx +26 -0
  29. package/src/v3/Common/SelectItem.tsx +108 -0
  30. package/src/v3/Common/SelectStyles.tsx +126 -0
  31. package/src/v3/Common/VirtualizedComboboxList.tsx +200 -0
  32. package/src/v3/Common/groupItems.ts +12 -0
  33. package/src/v3/Common/types.ts +3 -0
  34. package/src/v3/ModalStories.stories.tsx +181 -0
  35. package/src/v3/MultiCombobox.stories.tsx +322 -0
  36. package/src/v3/MultiCombobox.tsx +562 -0
  37. package/src/v3/MultiSearchableSelect.stories.tsx +389 -0
  38. package/src/v3/MultiSearchableSelect.tsx +545 -0
  39. package/src/v3/MultiSelect.stories.tsx +300 -0
  40. package/src/v3/MultiSelect.tsx +498 -0
  41. package/src/v3/SeedsPortal.tsx +35 -0
  42. package/src/v3/SingleCombobox.stories.tsx +169 -0
  43. package/src/v3/SingleCombobox.tsx +304 -0
  44. package/src/v3/SingleSearchableSelect.stories.tsx +239 -0
  45. package/src/v3/SingleSearchableSelect.tsx +319 -0
  46. package/src/v3/SingleSelect.stories.tsx +227 -0
  47. package/src/v3/SingleSelect.tsx +245 -0
  48. package/src/v3/index.ts +7 -0
  49. package/src/v3/storyData.tsx +117 -0
  50. package/tsup.config.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  yarn run v1.22.22
2
2
  $ tsup --dts
3
- CLI Building entry: {"index":"src/index.ts","v2/index":"src/v2/index.ts"}
3
+ CLI Building entry: {"index":"src/index.ts","v2/index":"src/v2/index.ts","v3/index":"src/v3/index.ts"}
4
4
  CLI Using tsconfig: tsconfig.json
5
5
  CLI tsup v8.5.0
6
6
  CLI Using tsup config: /home/runner/_work/seeds/seeds/seeds-react/seeds-react-menu/tsup.config.ts
@@ -8,22 +8,28 @@ $ tsup --dts
8
8
  CLI Cleaning output folder
9
9
  CJS Build start
10
10
  ESM Build start
11
- CJS dist/index.js 91.85 KB
12
- CJS dist/v2/index.js 73.13 KB
13
- CJS dist/index.js.map 178.96 KB
14
- CJS dist/v2/index.js.map 152.10 KB
15
- CJS ⚡️ Build success in 61ms
16
- ESM dist/esm/index.js 72.73 KB
11
+ CJS dist/v3/index.js 29.22 KB
12
+ CJS dist/index.js 92.62 KB
13
+ CJS dist/v2/index.js 73.18 KB
14
+ CJS dist/v3/index.js.map 133.01 KB
15
+ CJS dist/index.js.map 180.20 KB
16
+ CJS dist/v2/index.js.map 152.19 KB
17
+ CJS ⚡️ Build success in 67ms
18
+ ESM dist/esm/v3/index.js 23.19 KB
17
19
  ESM dist/esm/chunk-ROQATIB7.js 9.15 KB
18
- ESM dist/esm/v2/index.js 62.59 KB
19
- ESM dist/esm/index.js.map 154.97 KB
20
+ ESM dist/esm/index.js 73.57 KB
21
+ ESM dist/esm/v2/index.js 62.63 KB
20
22
  ESM dist/esm/chunk-ROQATIB7.js.map 22.93 KB
21
- ESM dist/esm/v2/index.js.map 132.48 KB
22
- ESM ⚡️ Build success in 62ms
23
+ ESM dist/esm/v3/index.js.map 131.96 KB
24
+ ESM dist/esm/index.js.map 156.22 KB
25
+ ESM dist/esm/v2/index.js.map 132.57 KB
26
+ ESM ⚡️ Build success in 67ms
23
27
  DTS Build start
24
- DTS ⚡️ Build success in 5339ms
25
- DTS dist/index.d.ts 39.09 KB
28
+ DTS ⚡️ Build success in 6626ms
29
+ DTS dist/index.d.ts 39.08 KB
26
30
  DTS dist/v2/index.d.ts 5.55 KB
27
- DTS dist/index.d.mts 39.09 KB
31
+ DTS dist/v3/index.d.ts 16.64 KB
32
+ DTS dist/index.d.mts 39.08 KB
28
33
  DTS dist/v2/index.d.mts 5.55 KB
29
- Done in 6.05s.
34
+ DTS dist/v3/index.d.mts 16.64 KB
35
+ Done in 7.36s.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,27 @@
1
1
  # @sproutsocial/seeds-react-menu
2
2
 
3
+ ## 1.11.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 2f3fa65: Add new base-ui combobox
8
+
9
+ ## 1.10.9
10
+
11
+ ### Patch Changes
12
+
13
+ - 31b0eb1: [DS-4271] Fix invalid ARIA emitted by `MenuGroup` and `MenuItem`.
14
+
15
+ - `MenuGroup` no longer sets `role="group"` on its outer `<li>` (axe
16
+ `aria-allowed-role`). The group role and `aria-labelledby` now live on
17
+ the inner `<ul>`, which also resolves the axe `list` and
18
+ `aria-required-parent` violations.
19
+ - `MenuItem` strips `aria-selected` from the props returned by
20
+ downshift's `getItemProps` when used as a `menuitem` (ActionMenu).
21
+ `aria-selected` is only valid on `role="option"`; for menu items it
22
+ failed axe `aria-allowed-attr`. Listbox menus (`SingleSelectMenu`,
23
+ `MultiSelectMenu`) are unchanged.
24
+
3
25
  ## 1.10.8
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
- ...getItemProps?.({
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 /* @__PURE__ */ jsxs3(
603
- StyledMenuGroup,
604
- {
605
- role: "group",
606
- id,
607
- isSingleSelect,
608
- "aria-labelledby": title ? titleId : void 0,
609
- color: color3,
610
- ...rest,
611
- children: [
612
- title && /* @__PURE__ */ jsx8(StyledTitle, { role: "heading", as: titleAs, id: titleId, children: title }),
613
- /* @__PURE__ */ jsx8(StyledMenuGroupUl, { children })
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";