@a-type/ui 6.1.13 → 6.1.14

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.
@@ -9,7 +9,7 @@ declare const meta: {
9
9
  Content: (props: import("@base-ui/react").AlertDialogPopupProps) => import("react/jsx-runtime").JSX.Element;
10
10
  Image: import("react").FunctionComponent<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>>;
11
11
  Root: typeof import("@base-ui/react").DialogRoot;
12
- Trigger: import("react").FunctionComponent<import("@base-ui/react").AlertDialogTriggerProps<unknown> & import("react").RefAttributes<HTMLElement>>;
12
+ Trigger: import("react").FunctionComponent<import("@base-ui/react").DialogTriggerProps<unknown> & import("react").RefAttributes<HTMLElement>>;
13
13
  Close: (props: import("@base-ui/react").AlertDialogCloseProps) => import("react/jsx-runtime").JSX.Element;
14
14
  Title: () => import("react/jsx-runtime").JSX.Element;
15
15
  Portal: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react").AlertDialogPortalProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
@@ -1,7 +1,7 @@
1
1
  import { DialogPopupProps, DialogRootProps } from '@base-ui/react/dialog';
2
2
  import { RefObject } from 'react';
3
3
  import { ButtonProps } from '../button/Button.js';
4
- export declare const QuickActionRoot: ({ children, onOpenChange, ...props }: Omit<DialogRootProps, "children"> & {
4
+ export declare const QuickActionRoot: ({ children, ...props }: Omit<DialogRootProps, "children"> & {
5
5
  children?: React.ReactNode;
6
6
  }) => import("react/jsx-runtime").JSX.Element;
7
7
  export type QuickActionTriggerProps = ButtonProps;
@@ -11,7 +11,7 @@ interface QuickActionContentProps extends DialogPopupProps {
11
11
  align?: 'center' | 'start' | 'end';
12
12
  ref?: RefObject<HTMLDivElement>;
13
13
  }
14
- export declare const QuickAction: (({ children, onOpenChange, ...props }: Omit<DialogRootProps, "children"> & {
14
+ export declare const QuickAction: (({ children, ...props }: Omit<DialogRootProps, "children"> & {
15
15
  children?: React.ReactNode;
16
16
  }) => import("react/jsx-runtime").JSX.Element) & {
17
17
  Trigger: ({ className, emphasis, children, ref, ...props }: QuickActionTriggerProps) => import("react/jsx-runtime").JSX.Element;
@@ -12,50 +12,19 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { Dialog, } from '@base-ui/react/dialog';
14
14
  import clsx from 'clsx';
15
- import { createContext, useCallback, useContext, useEffect, useId, useRef, } from 'react';
16
- import useMergedRef from '../../hooks/useMergedRef.js';
17
- import { useMonitor, useValueMonitor, ValueMonitor, } from '../../systems/ValueMonitor.js';
15
+ import { createContext, useContext, useId } from 'react';
18
16
  import { Button } from '../button/Button.js';
19
17
  import cls from './QuickAction.module.css';
20
18
  const QuickActionIdContext = createContext('qab');
21
- const TriggerSizeContext = createContext({
22
- monitor: new ValueMonitor({ width: 0, height: 0 }),
23
- onRemeasure: () => () => { },
24
- });
25
19
  export const QuickActionRoot = (_a) => {
26
- var { children, onOpenChange } = _a, props = __rest(_a, ["children", "onOpenChange"]);
20
+ var { children } = _a, props = __rest(_a, ["children"]);
27
21
  const id = useId();
28
- const triggerSizeMonitor = useValueMonitor({ width: 0, height: 0 });
29
- const remeasureListener = useRef(() => { });
30
- const onRemeasure = useCallback((cb) => {
31
- remeasureListener.current = cb;
32
- return () => {
33
- remeasureListener.current = () => { };
34
- };
35
- }, []);
36
- return (_jsx(TriggerSizeContext.Provider, { value: {
37
- monitor: triggerSizeMonitor,
38
- onRemeasure,
39
- }, children: _jsx(Dialog.Root, Object.assign({ onOpenChange: (open, details) => {
40
- remeasureListener.current();
41
- onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(open, details);
42
- } }, props, { children: _jsx(QuickActionIdContext.Provider, { value: id.replace(/:/g, ''), children: children }) })) }));
22
+ return (_jsx(Dialog.Root, Object.assign({}, props, { children: _jsx(QuickActionIdContext.Provider, { value: id.replace(/:/g, ''), children: children }) })));
43
23
  };
44
24
  const QuickActionTrigger = (_a) => {
45
25
  var { className, emphasis = 'primary', children, ref } = _a, props = __rest(_a, ["className", "emphasis", "children", "ref"]);
46
26
  const layoutId = useContext(QuickActionIdContext);
47
- const { monitor: sizeMonitor, onRemeasure } = useContext(TriggerSizeContext);
48
- const measureRef = useRef(null);
49
- useEffect(() => onRemeasure(() => {
50
- const el = measureRef.current;
51
- if (el) {
52
- console.log('remeasuring trigger size', el.getBoundingClientRect());
53
- const rect = el.getBoundingClientRect();
54
- sizeMonitor.set({ width: rect.width, height: rect.height });
55
- }
56
- }), [onRemeasure, sizeMonitor]);
57
- const finalRef = useMergedRef(ref, measureRef);
58
- return (_jsx(Dialog.Trigger, Object.assign({}, props, { ref: finalRef, render: (_a) => {
27
+ return (_jsx(Dialog.Trigger, Object.assign({}, props, { ref: ref, render: (_a) => {
59
28
  var { color: _ } = _a, composed = __rest(_a, ["color"]);
60
29
  return (_jsx(Button, Object.assign({ color: props.color, emphasis: emphasis }, composed, { className: clsx(cls.trigger, className), style: {
61
30
  // @ts-ignore
@@ -65,18 +34,8 @@ const QuickActionTrigger = (_a) => {
65
34
  };
66
35
  const QuickActionContent = (_a) => {
67
36
  var { children, className, align = 'center', ref, style } = _a, rest = __rest(_a, ["children", "className", "align", "ref", "style"]);
68
- const innerRef = useRef(null);
69
- const finalRef = useMergedRef(innerRef, ref);
70
37
  const layoutId = useContext(QuickActionIdContext);
71
- const { monitor: triggerSizeMonitor } = useContext(TriggerSizeContext);
72
- useMonitor(triggerSizeMonitor, (size) => {
73
- if (innerRef.current) {
74
- const style = innerRef.current.style;
75
- style.setProperty('--trigger-width', `${size.width}px`);
76
- style.setProperty('--trigger-height', `${size.height}px`);
77
- }
78
- });
79
- return (_jsx(Dialog.Portal, { children: _jsx(Dialog.Popup, Object.assign({ ref: finalRef, className: clsx(cls.popup, className), "data-align": align, style: Object.assign({ positionAnchor: `--${layoutId}`, '--trigger-width': triggerSizeMonitor.get().width + 'px', '--trigger-height': triggerSizeMonitor.get().height + 'px' }, style) }, rest, { children: children })) }));
38
+ return (_jsx(Dialog.Portal, { children: _jsx(Dialog.Popup, Object.assign({ ref: ref, className: clsx(cls.popup, className), "data-align": align, style: Object.assign({ positionAnchor: `--${layoutId}` }, style) }, rest, { children: children })) }));
80
39
  };
81
40
  export const QuickAction = Object.assign(QuickActionRoot, {
82
41
  Trigger: QuickActionTrigger,
@@ -1 +1 @@
1
- {"version":3,"file":"QuickAction.js","sourceRoot":"","sources":["../../../src/components/quickAction/QuickAction.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuickAction.js","sourceRoot":"","sources":["../../../src/components/quickAction/QuickAction.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACN,MAAM,GAGN,MAAM,uBAAuB,CAAC;AAC/B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAa,UAAU,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAC1D,OAAO,GAAG,MAAM,0BAA0B,CAAC;AAE3C,MAAM,oBAAoB,GAAG,aAAa,CAAS,KAAK,CAAC,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAK/B,EAAE,EAAE;QAL2B,EAC/B,QAAQ,OAIR,EAHG,KAAK,cAFuB,YAG/B,CADQ;IAIR,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC;IACnB,OAAO,CACN,KAAC,MAAM,CAAC,IAAI,oBAAK,KAAK,cACrB,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,YACxD,QAAQ,GACsB,IACnB,CACd,CAAC;AACH,CAAC,CAAC;AAGF,MAAM,kBAAkB,GAAG,CAAC,EAMF,EAAE,EAAE;QANF,EAC3B,SAAS,EACT,QAAQ,GAAG,SAAS,EACpB,QAAQ,EACR,GAAG,OAEsB,EADtB,KAAK,cALmB,4CAM3B,CADQ;IAER,MAAM,QAAQ,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAClD,OAAO,CACN,KAAC,MAAM,CAAC,OAAO,oBACV,KAAK,IACT,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,CAAC,EAAyB,EAAE,EAAE;gBAA7B,EAAE,KAAK,EAAE,CAAC,OAAe,EAAV,QAAQ,cAAvB,SAAyB,CAAF;YAAO,OAAA,CACtC,KAAC,MAAM,kBACN,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,QAAQ,IACd,QAAQ,IACZ,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,EACvC,KAAK,EAAE;oBACN,aAAa;oBACb,UAAU,EAAE,KAAK,QAAQ,EAAE;iBAC3B,IACA,CACF,CAAA;SAAA,YAEA,QAAQ,IACO,CACjB,CAAC;AACH,CAAC,CAAC;AAQF,MAAM,kBAAkB,GAAG,CAAC,EAOF,EAAE,EAAE;QAPF,EAC3B,QAAQ,EACR,SAAS,EACT,KAAK,GAAG,QAAQ,EAChB,GAAG,EACH,KAAK,OAEoB,EADtB,IAAI,cANoB,kDAO3B,CADO;IAEP,MAAM,QAAQ,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAElD,OAAO,CACN,KAAC,MAAM,CAAC,MAAM,cACb,KAAC,MAAM,CAAC,KAAK,kBACZ,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,gBACzB,KAAK,EACjB,KAAK,EACJ,gBACC,cAAc,EAAE,KAAK,QAAQ,EAAE,IAC5B,KAAK,CACD,IAEL,IAAI,cAEP,QAAQ,IACK,GACA,CAChB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE;IACzD,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,kBAAkB;CAC3B,CAAC,CAAC"}
@@ -18,6 +18,8 @@
18
18
  padding: 0;
19
19
 
20
20
  clip-path: inset(-50px -50px -50px -50px);
21
+ transform: translate(0px, 0px) scale(1);
22
+ will-change: transform;
21
23
 
22
24
  bottom: anchor(bottom);
23
25
  &[data-align='center'] {
@@ -32,24 +34,15 @@
32
34
 
33
35
  &[data-starting-style],
34
36
  &[data-ending-style] {
37
+ clip-path: inset(200px 200px 200px 200px);
35
38
  &[data-align='center'] {
36
- clip-path: inset(
37
- calc(100% - var(--trigger-height, 0px))
38
- calc((100% - var(--trigger-width, 0px)) / 2) 0
39
- calc((100% - var(--trigger-width, 0px)) / 2) round 200px
40
- );
39
+ transform: translate(0px, 60px) scale(0.8);
41
40
  }
42
41
  &[data-align='start'] {
43
- clip-path: inset(
44
- calc(100% - var(--trigger-height, 0px))
45
- calc(100% - var(--trigger-width, 0px)) 0 0 round 200px
46
- );
42
+ transform: translate(-60px, 60px) scale(0.8);
47
43
  }
48
44
  &[data-align='end'] {
49
- clip-path: inset(
50
- calc(100% - var(--trigger-height, 0px)) 0 0
51
- calc(100% - var(--trigger-width, 0px)) round 200px
52
- );
45
+ transform: translate(60px, 60px) scale(0.8);
53
46
  }
54
47
  }
55
48
 
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Autocomplete } from '../autocomplete/Autocomplete.js';
3
3
  import clsx from 'clsx';
4
+ import { NavBar, NavBarItem, NavBarItemIcon, NavBarItemText, PageNav, } from '../../index.js';
4
5
  import { Box } from '../box/Box.js';
5
6
  import { Icon } from '../icon/Icon.js';
6
7
  import { PageContent } from '../layouts/PageContent.js';
@@ -44,11 +45,11 @@ const GroupedAutocomplete = Autocomplete.createGrouped();
44
45
  const ActionContent = () => (_jsx(GroupedAutocomplete, { items: groupedItems, children: _jsxs(Box, { p: true, col: true, children: [_jsx(GroupedAutocomplete.List, { children: (group) => (_jsxs(GroupedAutocomplete.Group, { children: [_jsx(GroupedAutocomplete.GroupLabel, { children: group.category }), _jsx(GroupedAutocomplete.GroupList, { children: group.items.map((item) => (_jsx(GroupedAutocomplete.Item, { value: item.id, children: item.label }, item.id))) })] }, group.category)) }), _jsx(GroupedAutocomplete.Empty, { children: "No results found." }), _jsx(GroupedAutocomplete.Input, { disableCaret: true, style: { width: '100%' } })] }) }));
45
46
  export const Default = {
46
47
  render(args) {
47
- return (_jsx(PageRoot, { children: _jsx(PageContent, { children: _jsx(PageNowPlaying, { className: clsx({
48
- 'items-center': args.align === 'center',
49
- 'items-start': args.align === 'start',
50
- 'items-end': args.align === 'end',
51
- }), style: { display: 'flex', flexDirection: 'column' }, children: _jsxs(QuickAction, Object.assign({}, args, { children: [_jsx(QuickAction.Trigger, { children: _jsx(Icon, { name: "plus" }) }), _jsx(QuickAction.Content, { style: { width: '95vw' }, align: args.align, children: _jsx(ActionContent, {}) })] })) }) }) }));
48
+ return (_jsxs(PageRoot, { children: [_jsx(PageContent, { children: _jsx(PageNowPlaying, { className: clsx({
49
+ 'items-center': args.align === 'center',
50
+ 'items-start': args.align === 'start',
51
+ 'items-end': args.align === 'end',
52
+ }), style: { display: 'flex', flexDirection: 'column' }, children: _jsxs(QuickAction, Object.assign({}, args, { children: [_jsx(QuickAction.Trigger, { children: _jsx(Icon, { name: "plus" }) }), _jsx(QuickAction.Content, { style: { width: '95vw' }, align: args.align, children: _jsx(ActionContent, {}) })] })) }) }), _jsx(PageNav, { children: _jsx(NavBar, { children: _jsxs(NavBarItem, { children: [_jsx(NavBarItemIcon, { name: "home" }), _jsx(NavBarItemText, { children: "Home" })] }) }) })] }));
52
53
  },
53
54
  };
54
55
  //# sourceMappingURL=QuickAction.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"QuickAction.stories.js","sourceRoot":"","sources":["../../../src/components/quickAction/QuickAction.stories.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuickAction.stories.js","sourceRoot":"","sources":["../../../src/components/quickAction/QuickAction.stories.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a-type/ui",
3
- "version": "6.1.13",
3
+ "version": "6.1.14",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "url": "https://github.com/a-type/ui"
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "dependencies": {
44
44
  "@a-type/utils": "^1.1.9",
45
- "@base-ui/react": "^1.4.1",
45
+ "@base-ui/react": "^1.6.0",
46
46
  "@use-gesture/react": "^10.3.1",
47
47
  "browser-image-resizer": "^2.4.1",
48
48
  "calendar-blocks": "^0.4.0",
@@ -18,6 +18,8 @@
18
18
  padding: 0;
19
19
 
20
20
  clip-path: inset(-50px -50px -50px -50px);
21
+ transform: translate(0px, 0px) scale(1);
22
+ will-change: transform;
21
23
 
22
24
  bottom: anchor(bottom);
23
25
  &[data-align='center'] {
@@ -32,24 +34,15 @@
32
34
 
33
35
  &[data-starting-style],
34
36
  &[data-ending-style] {
37
+ clip-path: inset(200px 200px 200px 200px);
35
38
  &[data-align='center'] {
36
- clip-path: inset(
37
- calc(100% - var(--trigger-height, 0px))
38
- calc((100% - var(--trigger-width, 0px)) / 2) 0
39
- calc((100% - var(--trigger-width, 0px)) / 2) round 200px
40
- );
39
+ transform: translate(0px, 60px) scale(0.8);
41
40
  }
42
41
  &[data-align='start'] {
43
- clip-path: inset(
44
- calc(100% - var(--trigger-height, 0px))
45
- calc(100% - var(--trigger-width, 0px)) 0 0 round 200px
46
- );
42
+ transform: translate(-60px, 60px) scale(0.8);
47
43
  }
48
44
  &[data-align='end'] {
49
- clip-path: inset(
50
- calc(100% - var(--trigger-height, 0px)) 0 0
51
- calc(100% - var(--trigger-width, 0px)) round 200px
52
- );
45
+ transform: translate(60px, 60px) scale(0.8);
53
46
  }
54
47
  }
55
48
 
@@ -2,6 +2,13 @@ import type { Meta, StoryObj } from '@storybook/react-vite';
2
2
  import { Autocomplete } from '../autocomplete/Autocomplete.js';
3
3
 
4
4
  import clsx from 'clsx';
5
+ import {
6
+ NavBar,
7
+ NavBarItem,
8
+ NavBarItemIcon,
9
+ NavBarItemText,
10
+ PageNav,
11
+ } from '../../index.js';
5
12
  import { Box } from '../box/Box.js';
6
13
  import { Icon } from '../icon/Icon.js';
7
14
  import { PageContent } from '../layouts/PageContent.js';
@@ -101,6 +108,14 @@ export const Default: Story = {
101
108
  </QuickAction>
102
109
  </PageNowPlaying>
103
110
  </PageContent>
111
+ <PageNav>
112
+ <NavBar>
113
+ <NavBarItem>
114
+ <NavBarItemIcon name="home" />
115
+ <NavBarItemText>Home</NavBarItemText>
116
+ </NavBarItem>
117
+ </NavBar>
118
+ </PageNav>
104
119
  </PageRoot>
105
120
  );
106
121
  },
@@ -4,69 +4,25 @@ import {
4
4
  DialogRootProps,
5
5
  } from '@base-ui/react/dialog';
6
6
  import clsx from 'clsx';
7
- import {
8
- createContext,
9
- RefObject,
10
- useCallback,
11
- useContext,
12
- useEffect,
13
- useId,
14
- useRef,
15
- } from 'react';
16
- import useMergedRef from '../../hooks/useMergedRef.js';
17
- import {
18
- useMonitor,
19
- useValueMonitor,
20
- ValueMonitor,
21
- } from '../../systems/ValueMonitor.js';
7
+ import { createContext, RefObject, useContext, useId } from 'react';
22
8
  import { Button, ButtonProps } from '../button/Button.js';
23
9
  import cls from './QuickAction.module.css';
24
10
 
25
11
  const QuickActionIdContext = createContext<string>('qab');
26
12
 
27
- const TriggerSizeContext = createContext<{
28
- monitor: ValueMonitor<{ width: number; height: number }>;
29
- onRemeasure: (cb: () => void) => () => void;
30
- }>({
31
- monitor: new ValueMonitor({ width: 0, height: 0 }),
32
- onRemeasure: () => () => {},
33
- });
34
-
35
13
  export const QuickActionRoot = ({
36
14
  children,
37
- onOpenChange,
38
15
  ...props
39
16
  }: Omit<DialogRootProps, 'children'> & {
40
17
  children?: React.ReactNode;
41
18
  }) => {
42
19
  const id = useId();
43
- const triggerSizeMonitor = useValueMonitor({ width: 0, height: 0 });
44
- const remeasureListener = useRef<() => void>(() => {});
45
- const onRemeasure = useCallback((cb: () => void) => {
46
- remeasureListener.current = cb;
47
- return () => {
48
- remeasureListener.current = () => {};
49
- };
50
- }, []);
51
20
  return (
52
- <TriggerSizeContext.Provider
53
- value={{
54
- monitor: triggerSizeMonitor,
55
- onRemeasure,
56
- }}
57
- >
58
- <Dialog.Root
59
- onOpenChange={(open, details) => {
60
- remeasureListener.current();
61
- onOpenChange?.(open, details);
62
- }}
63
- {...props}
64
- >
65
- <QuickActionIdContext.Provider value={id.replace(/:/g, '')}>
66
- {children}
67
- </QuickActionIdContext.Provider>
68
- </Dialog.Root>
69
- </TriggerSizeContext.Provider>
21
+ <Dialog.Root {...props}>
22
+ <QuickActionIdContext.Provider value={id.replace(/:/g, '')}>
23
+ {children}
24
+ </QuickActionIdContext.Provider>
25
+ </Dialog.Root>
70
26
  );
71
27
  };
72
28
 
@@ -79,25 +35,10 @@ const QuickActionTrigger = ({
79
35
  ...props
80
36
  }: QuickActionTriggerProps) => {
81
37
  const layoutId = useContext(QuickActionIdContext);
82
- const { monitor: sizeMonitor, onRemeasure } = useContext(TriggerSizeContext);
83
- const measureRef = useRef<HTMLButtonElement>(null);
84
- useEffect(
85
- () =>
86
- onRemeasure(() => {
87
- const el = measureRef.current;
88
- if (el) {
89
- console.log('remeasuring trigger size', el.getBoundingClientRect());
90
- const rect = el.getBoundingClientRect();
91
- sizeMonitor.set({ width: rect.width, height: rect.height });
92
- }
93
- }),
94
- [onRemeasure, sizeMonitor],
95
- );
96
- const finalRef = useMergedRef(ref, measureRef);
97
38
  return (
98
39
  <Dialog.Trigger
99
40
  {...props}
100
- ref={finalRef}
41
+ ref={ref}
101
42
  render={({ color: _, ...composed }) => (
102
43
  <Button
103
44
  color={props.color}
@@ -130,29 +71,17 @@ const QuickActionContent = ({
130
71
  style,
131
72
  ...rest
132
73
  }: QuickActionContentProps) => {
133
- const innerRef = useRef<HTMLDivElement>(null);
134
- const finalRef = useMergedRef(innerRef, ref);
135
74
  const layoutId = useContext(QuickActionIdContext);
136
- const { monitor: triggerSizeMonitor } = useContext(TriggerSizeContext);
137
- useMonitor(triggerSizeMonitor, (size) => {
138
- if (innerRef.current) {
139
- const style = innerRef.current.style;
140
- style.setProperty('--trigger-width', `${size.width}px`);
141
- style.setProperty('--trigger-height', `${size.height}px`);
142
- }
143
- });
144
75
 
145
76
  return (
146
77
  <Dialog.Portal>
147
78
  <Dialog.Popup
148
- ref={finalRef}
79
+ ref={ref}
149
80
  className={clsx(cls.popup, className)}
150
81
  data-align={align}
151
82
  style={
152
83
  {
153
84
  positionAnchor: `--${layoutId}`,
154
- '--trigger-width': triggerSizeMonitor.get().width + 'px',
155
- '--trigger-height': triggerSizeMonitor.get().height + 'px',
156
85
  ...style,
157
86
  } as any
158
87
  }