@spaced-out/ui-design-system 0.6.35-beta.0 → 0.6.35-beta.1

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 (35) hide show
  1. package/.cspell/custom-words.txt +0 -9
  2. package/CHANGELOG.md +7 -0
  3. package/lib/components/Menu/Menu.d.ts +1 -71
  4. package/lib/components/Menu/Menu.d.ts.map +1 -1
  5. package/lib/components/Menu/Menu.js +221 -1035
  6. package/lib/components/Menu/Menu.module.css +27 -148
  7. package/lib/components/Menu/MenuOptionButton.d.ts +2 -23
  8. package/lib/components/Menu/MenuOptionButton.d.ts.map +1 -1
  9. package/lib/components/Menu/MenuOptionButton.js +38 -87
  10. package/lib/components/Menu/index.d.ts +0 -2
  11. package/lib/components/Menu/index.d.ts.map +1 -1
  12. package/lib/components/Menu/index.js +0 -22
  13. package/lib/hooks/index.d.ts +0 -1
  14. package/lib/hooks/index.d.ts.map +1 -1
  15. package/lib/hooks/index.js +0 -11
  16. package/lib/utils/click-away/click-away.d.ts +0 -3
  17. package/lib/utils/click-away/click-away.d.ts.map +1 -1
  18. package/lib/utils/click-away/click-away.js +0 -49
  19. package/mcp/package.json +1 -1
  20. package/package.json +1 -1
  21. package/lib/components/Menu/menuOptionId.d.ts +0 -12
  22. package/lib/components/Menu/menuOptionId.d.ts.map +0 -1
  23. package/lib/components/Menu/menuOptionId.js +0 -18
  24. package/lib/components/Menu/useMenuKeyboardNavigation.d.ts +0 -93
  25. package/lib/components/Menu/useMenuKeyboardNavigation.d.ts.map +0 -1
  26. package/lib/components/Menu/useMenuKeyboardNavigation.js +0 -471
  27. package/lib/components/Menu/useMenuTrigger.d.ts +0 -183
  28. package/lib/components/Menu/useMenuTrigger.d.ts.map +0 -1
  29. package/lib/components/Menu/useMenuTrigger.js +0 -347
  30. package/lib/hooks/useInteractionModality/index.d.ts +0 -2
  31. package/lib/hooks/useInteractionModality/index.d.ts.map +0 -1
  32. package/lib/hooks/useInteractionModality/index.js +0 -16
  33. package/lib/hooks/useInteractionModality/useInteractionModality.d.ts +0 -15
  34. package/lib/hooks/useInteractionModality/useInteractionModality.d.ts.map +0 -1
  35. package/lib/hooks/useInteractionModality/useInteractionModality.js +0 -103
@@ -163,12 +163,3 @@ Yuzhno
163
163
  yxxx
164
164
  normalised
165
165
  analyse
166
- activedescendant
167
- focusable
168
- focusables
169
- tabbable
170
- tabbables
171
- idref
172
- stylesheet
173
- haspopup
174
- labelledby
package/CHANGELOG.md CHANGED
@@ -2,6 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.6.35-beta.1](https://github.com/spaced-out/ui-design-system/compare/v0.6.35-beta.0...v0.6.35-beta.1) (2026-09-22)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **menu:** never cap the card below its furniture plus the first row ([#510](https://github.com/spaced-out/ui-design-system/issues/510)) ([b0597b0](https://github.com/spaced-out/ui-design-system/commit/b0597b0439a2e3e38671e7a44de854e53e4e6763))
11
+
5
12
  ### [0.6.35-beta.0](https://github.com/spaced-out/ui-design-system/compare/v0.6.34...v0.6.35-beta.0) (2026-09-18)
6
13
 
7
14
 
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import type { Flow } from 'flow-to-typescript-codemod';
3
- import { FixedSizeList, VariableSizeList } from 'react-window';
4
3
  import type { MenuClassNames, MenuLabelTooltip } from '../../types/menu';
5
4
  import type { IconType } from '../../components/Icon/Icon';
6
5
  type ClassNames = MenuClassNames;
@@ -22,13 +21,9 @@ export type Virtualization = Readonly<{
22
21
  * (e.g. taller custom title nodes).
23
22
  */
24
23
  groupTitleHeight?: number | ((groupTitle: React.ReactNode, groupIndex: number) => number);
24
+ /** Max height of the whole card in px, search/header/footer included; never below the first row. */
25
25
  menuHeight?: number;
26
26
  }>;
27
- /**
28
- * Either react-window list Menu may render. Both expose the `scrollToItem`
29
- * used to keep the keyboard's active option mounted.
30
- */
31
- type VirtualList = FixedSizeList | VariableSizeList;
32
27
  export interface MenuOption {
33
28
  key: string;
34
29
  classNames?: OptionClassNames;
@@ -57,12 +52,6 @@ export interface BaseMenuProps {
57
52
  menuDisabled?: boolean;
58
53
  isFluid?: boolean;
59
54
  onTabOut?: () => unknown;
60
- /**
61
- * Combobox consumers only: return focus to the trigger input (menu stays open)
62
- * when Tab/Shift+Tab moves off a header/footer control back toward the input.
63
- * The input lives outside the menu DOM, so it is the centre of the tab order.
64
- */
65
- onReturnFocusToInput?: () => void;
66
55
  allowSearch?: boolean;
67
56
  resolveLabel?: (option: MenuOption) => string | React.ReactNode;
68
57
  resolveSecondaryLabel?: (option: MenuOption) => string | React.ReactNode;
@@ -77,46 +66,6 @@ export interface BaseMenuProps {
77
66
  };
78
67
  showLabelTooltip?: MenuLabelTooltip;
79
68
  allowWrap?: boolean;
80
- /**
81
- * id applied to the option `listbox` — the element a trigger's `aria-controls`
82
- * should reference — and the prefix for the per-option ids that
83
- * `aria-activedescendant` points at. Falls back to a generated id. It is not
84
- * on the outer card.
85
- */
86
- menuId?: string;
87
- /**
88
- * Accessible name for the popup, linked to the trigger that opens it.
89
- */
90
- ariaLabelledBy?: string;
91
- /**
92
- * Literal accessible name for the listbox, used only when `ariaLabelledBy` is
93
- * not supplied. Defaults to `'Options'` so the listbox is never unnamed — pass
94
- * something specific to the content wherever you can.
95
- */
96
- ariaLabel?: string;
97
- /**
98
- * Marks the Menu as a popup that should auto-focus on open. When provided,
99
- * Menu moves focus to the search input (or the active option) once it mounts
100
- * and writes that element into the ref. Omit it for inline Menus (and for
101
- * combobox triggers using `externalKeyboardNav`) so focus is never stolen.
102
- */
103
- initialFocusRef?: React.RefObject<HTMLElement | null>;
104
- /**
105
- * Controlled active option, honoured only with `externalKeyboardNav`: the
106
- * trigger outside the menu owns the highlight and reports it here. Without
107
- * `externalKeyboardNav` Menu manages its own active option (the roving tab
108
- * stop, or the search field's active descendant) and this prop is ignored.
109
- */
110
- activeOptionKey?: string | null;
111
- /**
112
- * When true the Menu is driven by an external combobox input (e.g. Dropdown /
113
- * Typeahead): focus stays on that input, the Menu does not run its own
114
- * keyboard navigation or move focus into itself, and `activeOptionKey` is a
115
- * controlled prop reflecting the input's aria-activedescendant.
116
- */
117
- externalKeyboardNav?: boolean;
118
- /** Report active-option changes when `externalKeyboardNav` is set. */
119
- onActiveOptionKeyChange?: (key: string | null) => void;
120
69
  testId?: string;
121
70
  }
122
71
  export interface MenuOptionTypes {
@@ -135,26 +84,7 @@ export interface MenuProps extends BaseMenuProps, MenuOptionTypes {
135
84
  }
136
85
  export interface RenderOptionProps extends Omit<MenuProps, 'searchText'> {
137
86
  searchText?: string;
138
- /** Pointer-activation handler threaded down to each MenuOptionButton. */
139
- onPointerActivate?: (key: string, el: HTMLElement, clientX: number, clientY: number) => void;
140
- /** Handle on the virtual list, so Menu can scroll the active option into view. */
141
- listRef?: React.RefCallback<VirtualList>;
142
- /** Key the pointer most recently highlighted — keeps the focus ring off it. */
143
- pointerActiveKey?: string | null;
144
- /** Withhold the opening highlight until the user drives the menu themselves. */
145
- suppressInitialHighlight?: boolean;
146
87
  }
147
- /**
148
- * Flatten the active option source (options | compose | groups) into one list.
149
- * Exported because a combobox trigger drives the highlight from outside Menu
150
- * and needs the same list Menu itself navigates — see `useMenuTrigger`.
151
- */
152
- export declare const getFlatOptions: (props: MenuProps) => MenuOption[];
153
- /**
154
- * Key of the option that should own the roving tab stop when the menu opens:
155
- * the selected option if present, otherwise the first enabled option.
156
- */
157
- export declare const getInitialActiveOptionKey: (props: MenuProps) => string | null;
158
88
  export declare const Menu: Flow.AbstractComponent<MenuProps, HTMLDivElement>;
159
89
  export {};
160
90
  //# sourceMappingURL=Menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,4BAA4B,CAAC;AACrD,OAAO,EACL,aAAa,EAEb,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAGtB,OAAO,KAAK,EAAC,cAAc,EAAE,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAarE,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAUvD,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,gBAAgB,GAAG,QAAQ,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IACpC,MAAM,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IACtE;;;;OAIG;IACH,gBAAgB,CAAC,EACb,MAAM,GACN,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH;;;GAGG;AACH,KAAK,WAAW,GAAG,aAAa,GAAG,gBAAgB,CAAC;AAEpD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,CACT,MAAM,EAAE,UAAU,EAClB,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,KACxD,OAAO,CAAC;IACb,cAAc,CAAC,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/C,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,YAAY,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IACzB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAChE,qBAAqB,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IACzE,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACtD;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,sEAAsE;IACtE,uBAAuB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5B,cAAc,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAC1C,iBAAiB,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAC;AAC/C,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,SAAU,SAAQ,aAAa,EAAE,eAAe;CAAG;AAEpE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,CAClB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;IACV,kFAAkF;IAClF,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IACzC,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gFAAgF;IAChF,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AA0sBD;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,SAAS,KAAG,UAAU,EAY3D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,GAAI,OAAO,SAAS,KAAG,MAAM,GAAG,IAWrE,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,cAAc,CA4sB/D,CAAC"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/components/Menu/Menu.tsx"],"names":[],"mappings":"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"}