@vector-im/compound-web 8.3.5 → 8.4.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 (48) hide show
  1. package/dist/components/Form/Controls/Checkbox/Checkbox.js +1 -1
  2. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.cjs +3 -3
  3. package/dist/components/Form/Controls/Checkbox/Checkbox.module.css.js +3 -3
  4. package/dist/components/Form/Controls/EditInPlace/EditInPlace.cjs.map +1 -1
  5. package/dist/components/Form/Controls/EditInPlace/EditInPlace.js.map +1 -1
  6. package/dist/components/Form/Controls/Radio/Radio.module.css.cjs +3 -3
  7. package/dist/components/Form/Controls/Radio/Radio.module.css.js +3 -3
  8. package/dist/components/Form/Controls/SettingsToggle/SettingsToggle.js +1 -1
  9. package/dist/components/Form/index.cjs +14 -14
  10. package/dist/components/Form/index.js +5 -5
  11. package/dist/components/Menu/ContextMenu.cjs +1 -2
  12. package/dist/components/Menu/ContextMenu.cjs.map +1 -1
  13. package/dist/components/Menu/ContextMenu.d.ts.map +1 -1
  14. package/dist/components/Menu/ContextMenu.js +1 -2
  15. package/dist/components/Menu/ContextMenu.js.map +1 -1
  16. package/dist/components/Menu/FloatingMenu.cjs.map +1 -1
  17. package/dist/components/Menu/FloatingMenu.d.ts.map +1 -1
  18. package/dist/components/Menu/FloatingMenu.js.map +1 -1
  19. package/dist/components/Menu/FloatingMenu.module.css.cjs +2 -2
  20. package/dist/components/Menu/FloatingMenu.module.css.js +2 -2
  21. package/dist/components/Menu/Menu.cjs +10 -1
  22. package/dist/components/Menu/Menu.cjs.map +1 -1
  23. package/dist/components/Menu/Menu.d.ts +4 -0
  24. package/dist/components/Menu/Menu.d.ts.map +1 -1
  25. package/dist/components/Menu/Menu.js +10 -1
  26. package/dist/components/Menu/Menu.js.map +1 -1
  27. package/dist/components/ReleaseAnnouncement/ReleaseAnnouncementContext.d.ts.map +1 -1
  28. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.d.ts.map +1 -1
  29. package/dist/components/ReleaseAnnouncement/useReleaseAnnouncement.js +1 -1
  30. package/dist/components/Tooltip/TooltipContext.d.ts.map +1 -1
  31. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  32. package/dist/components/Tooltip/useTooltip.js +1 -1
  33. package/dist/index.cjs +59 -59
  34. package/dist/index.js +22 -22
  35. package/dist/style.css +346 -359
  36. package/package.json +7 -7
  37. package/src/components/Form/Controls/Checkbox/Checkbox.module.css +4 -0
  38. package/src/components/Form/Controls/EditInPlace/EditInPlace.tsx +1 -1
  39. package/src/components/Form/Controls/Radio/Radio.module.css +4 -0
  40. package/src/components/Menu/ContextMenu.tsx +1 -2
  41. package/src/components/Menu/FloatingMenu.module.css +0 -11
  42. package/src/components/Menu/FloatingMenu.tsx +1 -0
  43. package/src/components/Menu/Menu.tsx +11 -1
  44. package/dist/components/Menu/ContextMenu.module.css.cjs +0 -9
  45. package/dist/components/Menu/ContextMenu.module.css.cjs.map +0 -1
  46. package/dist/components/Menu/ContextMenu.module.css.js +0 -9
  47. package/dist/components/Menu/ContextMenu.module.css.js.map +0 -1
  48. package/src/components/Menu/ContextMenu.module.css +0 -10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vector-im/compound-web",
3
- "version": "8.3.5",
3
+ "version": "8.4.0",
4
4
  "description": "Compound components for the Web",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -56,7 +56,7 @@
56
56
  "@fontsource/inter": "^5.0.8",
57
57
  "@playwright/test": "^1.41.1",
58
58
  "@storybook/addon-a11y": "^10.0.0",
59
- "@storybook/addon-designs": "11.1.1",
59
+ "@storybook/addon-designs": "11.1.2",
60
60
  "@storybook/addon-docs": "^10.0.0",
61
61
  "@storybook/addon-links": "^10.0.0",
62
62
  "@storybook/addon-themes": "^10.0.0",
@@ -65,7 +65,7 @@
65
65
  "@testing-library/jest-dom": "^6.1.3",
66
66
  "@testing-library/react": "^16.0.0",
67
67
  "@testing-library/user-event": "^14.5.1",
68
- "@tsconfig/node22": "^22.0.0",
68
+ "@tsconfig/node24": "^24.0.0",
69
69
  "@tsconfig/vite-react": "^7.0.0",
70
70
  "@types/eslint": "^9.0.0",
71
71
  "@types/node": "^24.0.0",
@@ -82,16 +82,16 @@
82
82
  "eslint-plugin-prettier": "^5.0.0",
83
83
  "eslint-plugin-react": "^7.33.2",
84
84
  "eslint-plugin-storybook": "^10.0.0",
85
- "jsdom": "^27.0.0",
86
- "prettier": "3.7.4",
85
+ "jsdom": "^28.0.0",
86
+ "prettier": "3.8.1",
87
87
  "react": "^19.1.0",
88
88
  "react-dom": "^19.1.0",
89
89
  "resize-observer-polyfill": "^1.5.1",
90
90
  "rimraf": "^6.0.0",
91
91
  "serve": "^14.2.1",
92
92
  "storybook": "^10.0.0",
93
- "stylelint": "^16.13.2",
94
- "stylelint-config-standard": "^39.0.0",
93
+ "stylelint": "^17.0.0",
94
+ "stylelint-config-standard": "^40.0.0",
95
95
  "stylelint-plugin-defensive-css": "^1.0.0",
96
96
  "stylelint-use-logical": "^2.1.0",
97
97
  "stylelint-value-no-unknown-custom-properties": "^6.0.0",
@@ -61,6 +61,10 @@ Please see LICENSE files in the repository root for full details.
61
61
  outline-offset: 1px;
62
62
  }
63
63
 
64
+ .input[disabled] {
65
+ cursor: not-allowed;
66
+ }
67
+
64
68
  .input[disabled] + .ui {
65
69
  border-color: var(--cpd-color-border-disabled);
66
70
  background: var(--cpd-color-bg-canvas-disabled);
@@ -236,7 +236,7 @@ export const EditInPlace = forwardRef<HTMLInputElement, Props>(
236
236
  );
237
237
 
238
238
  const onInputHandler = useCallback(
239
- (e: React.ChangeEvent<HTMLInputElement>) => {
239
+ (e: React.InputEvent<HTMLInputElement>) => {
240
240
  dispatch(Event.Touch);
241
241
  onInput?.(e);
242
242
  },
@@ -80,6 +80,10 @@ Please see LICENSE files in the repository root for full details.
80
80
  background: var(--cpd-color-bg-subtle-secondary);
81
81
  }
82
82
 
83
+ .input[disabled] {
84
+ cursor: not-allowed;
85
+ }
86
+
83
87
  .input[disabled] + .ui {
84
88
  border-color: var(--cpd-color-border-disabled);
85
89
  background: var(--cpd-color-bg-canvas-disabled);
@@ -23,7 +23,6 @@ import { FloatingMenu } from "./FloatingMenu";
23
23
  import { Drawer } from "vaul";
24
24
  import classnames from "classnames";
25
25
  import drawerStyles from "./DrawerMenu.module.css";
26
- import contextStyles from "./ContextMenu.module.css";
27
26
  import {
28
27
  MenuContext,
29
28
  type MenuData,
@@ -141,7 +140,7 @@ export const ContextMenu: FC<Props> = ({
141
140
  <Root onOpenChange={onOpenChange}>
142
141
  {trigger}
143
142
  <Portal>
144
- <Content asChild className={classnames(contextStyles.content)}>
143
+ <Content asChild>
145
144
  <FloatingMenu showTitle={showTitle} title={title}>
146
145
  {children}
147
146
  </FloatingMenu>
@@ -34,21 +34,10 @@ Please see LICENSE files in the repository root for full details.
34
34
  }
35
35
  }
36
36
 
37
- @keyframes slide-out {
38
- to {
39
- opacity: 0;
40
- transform: translate(0, var(--cpd-space-2x));
41
- }
42
- }
43
-
44
37
  .menu[data-state="open"] {
45
38
  animation: slide-in 180ms;
46
39
  }
47
40
 
48
- .menu[data-state="closed"] {
49
- animation: slide-out 110ms;
50
- }
51
-
52
41
  @keyframes fade-in {
53
42
  from {
54
43
  opacity: 0;
@@ -42,6 +42,7 @@ interface Props extends ComponentPropsWithoutRef<"div"> {
42
42
  export const FloatingMenu = forwardRef<HTMLDivElement, Props>(
43
43
  ({ title, showTitle = true, className, children, ...props }, ref) => {
44
44
  const titleId = useId();
45
+
45
46
  return (
46
47
  <div
47
48
  role="menu"
@@ -26,6 +26,11 @@ import { DrawerMenu } from "./DrawerMenu";
26
26
  import { getPlatform } from "../../utils/platform";
27
27
 
28
28
  interface Props {
29
+ /**
30
+ * CSS classes for the menu.
31
+ */
32
+ className?: string;
33
+
29
34
  /**
30
35
  * The menu title. This can be hidden with `showTitle={false}` in which case it will only
31
36
  * be a label for screen readers.
@@ -83,6 +88,7 @@ const DropdownMenuItemWrapper: FC<MenuItemWrapperProps> = ({
83
88
  * A menu opened by pressing a button.
84
89
  */
85
90
  export const Menu: FC<Props> = ({
91
+ className,
86
92
  title,
87
93
  showTitle = true,
88
94
  open,
@@ -122,7 +128,11 @@ export const Menu: FC<Props> = ({
122
128
  <Trigger asChild>{trigger}</Trigger>
123
129
  <Portal>
124
130
  <Content asChild side={side} align={align} sideOffset={8}>
125
- <FloatingMenu title={title} showTitle={showTitle}>
131
+ <FloatingMenu
132
+ className={className}
133
+ title={title}
134
+ showTitle={showTitle}
135
+ >
126
136
  {children}
127
137
  </FloatingMenu>
128
138
  </Content>
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const content = "_content_vnv5k_8";
4
- const contextStyles = {
5
- content
6
- };
7
- exports.content = content;
8
- exports.default = contextStyles;
9
- //# sourceMappingURL=ContextMenu.module.css.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextMenu.module.css.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
@@ -1,9 +0,0 @@
1
- const content = "_content_vnv5k_8";
2
- const contextStyles = {
3
- content
4
- };
5
- export {
6
- content,
7
- contextStyles as default
8
- };
9
- //# sourceMappingURL=ContextMenu.module.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ContextMenu.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -1,10 +0,0 @@
1
- /*
2
- * Copyright 2025 New Vector Ltd
3
- *
4
- * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
5
- * Please see LICENSE files in the repository root for full details.
6
- */
7
-
8
- .content[data-state="closed"] {
9
- animation: none;
10
- }