@aivenio/aquarium 1.34.0 → 1.36.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.
- package/dist/_variables.scss +1 -1
- package/dist/_variables_timescale.scss +1 -1
- package/dist/atoms.cjs +2 -2
- package/dist/atoms.mjs +2 -2
- package/dist/src/atoms/Chip/Chip.js +2 -2
- package/dist/src/atoms/Section/Section.d.ts +9 -3
- package/dist/src/atoms/Section/Section.js +10 -7
- package/dist/src/icons/loading.js +1 -1
- package/dist/src/molecules/EmptyState/EmptyState.d.ts +37 -6
- package/dist/src/molecules/EmptyState/EmptyState.js +33 -18
- package/dist/src/molecules/Modal/Modal.d.ts +1 -1
- package/dist/src/molecules/Section/Section.d.ts +41 -5
- package/dist/src/molecules/Section/Section.js +72 -14
- package/dist/src/molecules/TagLabel/TagLabel.d.ts +6 -0
- package/dist/src/molecules/TagLabel/TagLabel.js +14 -3
- package/dist/src/utils/useMeasure.d.ts +7 -0
- package/dist/src/utils/useMeasure.js +27 -0
- package/dist/styles.css +23 -6
- package/dist/styles_timescaledb.css +23 -6
- package/dist/system.cjs +282 -171
- package/dist/system.mjs +279 -168
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +2 -2
package/dist/_variables.scss
CHANGED
package/dist/atoms.cjs
CHANGED
@@ -2364,7 +2364,7 @@ var require_loading = __commonJS({
|
|
2364
2364
|
"src/icons/loading.js"(exports) {
|
2365
2365
|
"use strict";
|
2366
2366
|
var data = {
|
2367
|
-
"body": '<g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-width="
|
2367
|
+
"body": '<g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-width="3" transform="translate(1 1)"><circle cx="18" cy="18" r="18" stroke-opacity=".5"/><path d="M36 18c0-9.94-8.06-18-18-18"><animateTransform attributeName="transform" dur="1s" from="0 18 18" repeatCount="indefinite" to="360 18 18" type="rotate"/></path></g>',
|
2368
2368
|
"left": 0,
|
2369
2369
|
"top": 0,
|
2370
2370
|
"width": 38,
|
@@ -7025,7 +7025,7 @@ var Container = import_react23.default.forwardRef(
|
|
7025
7025
|
ref,
|
7026
7026
|
className: classNames(
|
7027
7027
|
tw("inline-flex items-center rounded-sm transition whitespace-nowrap", {
|
7028
|
-
"typography-small py-2 px-3 gap-x-3": !dense,
|
7028
|
+
"typography-small py-2 px-3 gap-x-3 leading-tight": !dense,
|
7029
7029
|
"typography-caption py-1 px-2 gap-x-2": dense
|
7030
7030
|
}),
|
7031
7031
|
className
|
package/dist/atoms.mjs
CHANGED
@@ -2358,7 +2358,7 @@ var require_loading = __commonJS({
|
|
2358
2358
|
"src/icons/loading.js"(exports) {
|
2359
2359
|
"use strict";
|
2360
2360
|
var data = {
|
2361
|
-
"body": '<g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-width="
|
2361
|
+
"body": '<g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-width="3" transform="translate(1 1)"><circle cx="18" cy="18" r="18" stroke-opacity=".5"/><path d="M36 18c0-9.94-8.06-18-18-18"><animateTransform attributeName="transform" dur="1s" from="0 18 18" repeatCount="indefinite" to="360 18 18" type="rotate"/></path></g>',
|
2362
2362
|
"left": 0,
|
2363
2363
|
"top": 0,
|
2364
2364
|
"width": 38,
|
@@ -6987,7 +6987,7 @@ var Container = React19.forwardRef(
|
|
6987
6987
|
ref,
|
6988
6988
|
className: classNames(
|
6989
6989
|
tw("inline-flex items-center rounded-sm transition whitespace-nowrap", {
|
6990
|
-
"typography-small py-2 px-3 gap-x-3": !dense,
|
6990
|
+
"typography-small py-2 px-3 gap-x-3 leading-tight": !dense,
|
6991
6991
|
"typography-caption py-1 px-2 gap-x-2": dense
|
6992
6992
|
}),
|
6993
6993
|
className
|
@@ -14,11 +14,11 @@ import { classNames, tw } from '../../../src/utils/tailwind';
|
|
14
14
|
const Container = React.forwardRef((_a, ref) => {
|
15
15
|
var { dense = false, className, children } = _a, rest = __rest(_a, ["dense", "className", "children"]);
|
16
16
|
return (React.createElement("span", Object.assign({ ref: ref, className: classNames(tw('inline-flex items-center rounded-sm transition whitespace-nowrap', {
|
17
|
-
'typography-small py-2 px-3 gap-x-3': !dense,
|
17
|
+
'typography-small py-2 px-3 gap-x-3 leading-tight': !dense,
|
18
18
|
'typography-caption py-1 px-2 gap-x-2': dense,
|
19
19
|
}), className) }, rest), children));
|
20
20
|
});
|
21
21
|
export const Chip = {
|
22
22
|
Container,
|
23
23
|
};
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2hpcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdG9tcy9DaGlwL0NoaXAudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFTcEQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FDaEMsQ0FBQyxFQUErQyxFQUFFLEdBQUcsRUFBRSxFQUFFO1FBQXhELEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxPQUFXLEVBQU4sSUFBSSxjQUE3QyxrQ0FBK0MsQ0FBRjtJQUFZLE9BQUEsQ0FDeEQsNENBQ0UsR0FBRyxFQUFFLEdBQUcsRUFDUixTQUFTLEVBQUUsVUFBVSxDQUNuQixFQUFFLENBQUMsa0VBQWtFLEVBQUU7WUFDckUsa0RBQWtELEVBQUUsQ0FBQyxLQUFLO1lBQzFELHNDQUFzQyxFQUFFLEtBQUs7U0FDOUMsQ0FBQyxFQUNGLFNBQVMsQ0FDVixJQUNHLElBQUksR0FFUCxRQUFRLENBQ0osQ0FDUixDQUFBO0NBQUEsQ0FDRixDQUFDO0FBTUYsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFzQjtJQUNyQyxTQUFTO0NBQ1YsQ0FBQyJ9
|
@@ -1,12 +1,18 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { Box } from '../../../src/molecules/Box/Box';
|
3
|
+
import { Icon } from '../../../src/molecules/Icon/Icon';
|
3
4
|
import { Typography } from '../../../src/molecules/Typography/Typography';
|
4
5
|
declare type DivProps = React.HTMLProps<HTMLDivElement>;
|
5
6
|
declare type ComposedSectionProps = {
|
6
|
-
Header: React.FC<DivProps
|
7
|
-
|
7
|
+
Header: React.FC<DivProps & {
|
8
|
+
collapsible: boolean;
|
9
|
+
}>;
|
10
|
+
TitleContainer: React.FC<DivProps & {
|
11
|
+
collapsible: boolean;
|
12
|
+
}>;
|
13
|
+
Toggle: React.FC<Omit<React.ComponentProps<typeof Icon>, 'icon'>>;
|
8
14
|
Title: React.FC<React.ComponentProps<typeof Typography.Subheading>>;
|
9
|
-
Subtitle: React.FC<React.ComponentProps<typeof Typography.
|
15
|
+
Subtitle: React.FC<React.ComponentProps<typeof Typography.Small>>;
|
10
16
|
Actions: React.FC<DivProps>;
|
11
17
|
Body: React.FC<DivProps>;
|
12
18
|
};
|
@@ -11,28 +11,31 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
11
11
|
};
|
12
12
|
import React from 'react';
|
13
13
|
import { Box } from '../../../src/molecules/Box/Box';
|
14
|
+
import { Icon } from '../../../src/molecules/Icon/Icon';
|
14
15
|
import { Typography } from '../../../src/molecules/Typography/Typography';
|
15
16
|
import { Typography as BaseTypography } from '../../../src/atoms/Typography/Typography';
|
16
17
|
import { classNames, tw } from '../../../src/utils/tailwind';
|
18
|
+
import caretUp from '../../../src/icons/caretUp';
|
17
19
|
export const Section = (_a) => {
|
18
20
|
var { children } = _a, rest = __rest(_a, ["children"]);
|
19
21
|
return (React.createElement(Box, Object.assign({ borderColor: "grey-5", borderWidth: "1px" }, rest), children));
|
20
22
|
};
|
21
23
|
Section.Header = (_a) => {
|
22
|
-
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
23
|
-
return (React.createElement("div", Object.assign({}, rest, { className: classNames(tw('px-6 py-5 flex gap-5 justify-between items-center'), className) }), children));
|
24
|
+
var { children, className, collapsible } = _a, rest = __rest(_a, ["children", "className", "collapsible"]);
|
25
|
+
return (React.createElement("div", Object.assign({}, rest, { className: classNames(tw('px-6 py-5 flex gap-5 justify-between items-center', { 'bg-grey-0': collapsible }), className) }), children));
|
24
26
|
};
|
25
27
|
Section.TitleContainer = (_a) => {
|
26
|
-
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
27
|
-
return (React.createElement("div", Object.assign({}, rest, { className: classNames(tw('
|
28
|
+
var { children, className, collapsible } = _a, rest = __rest(_a, ["children", "className", "collapsible"]);
|
29
|
+
return (React.createElement("div", Object.assign({}, rest, { className: classNames(tw('grow grid grid-cols-[auto_1fr] gap-y-2 gap-x-3 items-center', { 'cursor-pointer': collapsible }), className) }), children));
|
28
30
|
};
|
31
|
+
Section.Toggle = (props) => React.createElement(Icon, Object.assign({}, props, { icon: caretUp, height: 22, width: 22 }));
|
29
32
|
Section.Title = (_a) => {
|
30
33
|
var { children } = _a, rest = __rest(_a, ["children"]);
|
31
|
-
return (React.createElement(Typography.
|
34
|
+
return (React.createElement(Typography.Large, Object.assign({}, rest, { color: "black", className: "flex gap-3 items-center" }), children));
|
32
35
|
};
|
33
36
|
Section.Subtitle = (_a) => {
|
34
37
|
var { children } = _a, rest = __rest(_a, ["children"]);
|
35
|
-
return (React.createElement(Typography.
|
38
|
+
return (React.createElement(Typography.Small, Object.assign({}, rest, { color: "grey-70" }), children));
|
36
39
|
};
|
37
40
|
Section.Actions = (_a) => {
|
38
41
|
var { children, className } = _a, rest = __rest(_a, ["children", "className"]);
|
@@ -43,4 +46,4 @@ Section.Body = (_a) => {
|
|
43
46
|
return (React.createElement("div", Object.assign({}, rest, { className: classNames(tw('p-6'), className) }),
|
44
47
|
React.createElement(BaseTypography, { htmlTag: "div", color: "grey-70" }, children)));
|
45
48
|
};
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdG9tcy9TZWN0aW9uL1NlY3Rpb24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRTFCLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxVQUFVLElBQUksY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0UsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxPQUFPLE9BQU8sTUFBTSxtQkFBbUIsQ0FBQztBQWN4QyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQXNFLENBQUMsRUFBcUIsRUFBRSxFQUFFO1FBQXpCLEVBQUUsUUFBUSxPQUFXLEVBQU4sSUFBSSxjQUFuQixZQUFxQixDQUFGO0lBQU8sT0FBQSxDQUNuSCxvQkFBQyxHQUFHLGtCQUFDLFdBQVcsRUFBQyxRQUFRLEVBQUMsV0FBVyxFQUFDLEtBQUssSUFBSyxJQUFJLEdBQ2pELFFBQVEsQ0FDTCxDQUNQLENBQUE7Q0FBQSxDQUFDO0FBRUYsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQTZDLEVBQUUsRUFBRTtRQUFqRCxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxPQUFXLEVBQU4sSUFBSSxjQUEzQyx3Q0FBNkMsQ0FBRjtJQUFPLE9BQUEsQ0FDbEUsNkNBQ00sSUFBSSxJQUNSLFNBQVMsRUFBRSxVQUFVLENBQ25CLEVBQUUsQ0FBQyxtREFBbUQsRUFBRSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUNyRixTQUFTLENBQ1YsS0FFQSxRQUFRLENBQ0wsQ0FDUCxDQUFBO0NBQUEsQ0FBQztBQUVGLE9BQU8sQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUE2QyxFQUFFLEVBQUU7UUFBakQsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsT0FBVyxFQUFOLElBQUksY0FBM0Msd0NBQTZDLENBQUY7SUFBTyxPQUFBLENBQzFFLDZDQUNNLElBQUksSUFDUixTQUFTLEVBQUUsVUFBVSxDQUNuQixFQUFFLENBQUMsNkRBQTZELEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUNwRyxTQUFTLENBQ1YsS0FFQSxRQUFRLENBQ0wsQ0FDUCxDQUFBO0NBQUEsQ0FBQztBQUVGLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLG9CQUFDLElBQUksb0JBQUssS0FBSyxJQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUM7QUFFdEYsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQXFCLEVBQUUsRUFBRTtRQUF6QixFQUFFLFFBQVEsT0FBVyxFQUFOLElBQUksY0FBbkIsWUFBcUIsQ0FBRjtJQUFPLE9BQUEsQ0FDekMsb0JBQUMsVUFBVSxDQUFDLEtBQUssb0JBQUssSUFBSSxJQUFFLEtBQUssRUFBQyxPQUFPLEVBQUMsU0FBUyxFQUFDLHlCQUF5QixLQUMxRSxRQUFRLENBQ1EsQ0FDcEIsQ0FBQTtDQUFBLENBQUM7QUFFRixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBcUIsRUFBRSxFQUFFO1FBQXpCLEVBQUUsUUFBUSxPQUFXLEVBQU4sSUFBSSxjQUFuQixZQUFxQixDQUFGO0lBQU8sT0FBQSxDQUM1QyxvQkFBQyxVQUFVLENBQUMsS0FBSyxvQkFBSyxJQUFJLElBQUUsS0FBSyxFQUFDLFNBQVMsS0FDeEMsUUFBUSxDQUNRLENBQ3BCLENBQUE7Q0FBQSxDQUFDO0FBRUYsT0FBTyxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQWdDLEVBQUUsRUFBRTtRQUFwQyxFQUFFLFFBQVEsRUFBRSxTQUFTLE9BQVcsRUFBTixJQUFJLGNBQTlCLHlCQUFnQyxDQUFGO0lBQU8sT0FBQSxDQUN0RCw2Q0FBUyxJQUFJLElBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxTQUFTLENBQUMsS0FDMUUsUUFBUSxDQUNMLENBQ1AsQ0FBQTtDQUFBLENBQUM7QUFFRixPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBZ0MsRUFBRSxFQUFFO1FBQXBDLEVBQUUsUUFBUSxFQUFFLFNBQVMsT0FBVyxFQUFOLElBQUksY0FBOUIseUJBQWdDLENBQUY7SUFBTyxPQUFBLENBQ25ELDZDQUFTLElBQUksSUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUM7UUFDeEQsb0JBQUMsY0FBYyxJQUFDLE9BQU8sRUFBQyxLQUFLLEVBQUMsS0FBSyxFQUFDLFNBQVMsSUFDMUMsUUFBUSxDQUNNLENBQ2IsQ0FDUCxDQUFBO0NBQUEsQ0FBQyJ9
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
const data = {
|
3
|
-
"body": "<g fill=\"none\" fill-rule=\"evenodd\" stroke=\"currentColor\" stroke-width=\"
|
3
|
+
"body": "<g fill=\"none\" fill-rule=\"evenodd\" stroke=\"currentColor\" stroke-width=\"3\" transform=\"translate(1 1)\"><circle cx=\"18\" cy=\"18\" r=\"18\" stroke-opacity=\".5\"/><path d=\"M36 18c0-9.94-8.06-18-18-18\"><animateTransform attributeName=\"transform\" dur=\"1s\" from=\"0 18 18\" repeatCount=\"indefinite\" to=\"360 18 18\" type=\"rotate\"/></path></g>",
|
4
4
|
"left": 0,
|
5
5
|
"top": 0,
|
6
6
|
"width": 38,
|
@@ -1,12 +1,47 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { type AsyncActionType, type LinkActionType } from '../../../types/ActionType';
|
3
3
|
export declare enum EmptyStateLayout {
|
4
|
+
Vertical = "vertical",
|
5
|
+
Horizontal = "horizontal",
|
6
|
+
/**
|
7
|
+
* @deprecated in favor of "Vertical" layout
|
8
|
+
*/
|
4
9
|
CenterVertical = "center-vertical",
|
10
|
+
/**
|
11
|
+
* @deprecated in favor of "Vertical" layout
|
12
|
+
*/
|
5
13
|
LeftVertical = "left-vertical",
|
14
|
+
/**
|
15
|
+
* @deprecated in favor of "Horizontal" layout
|
16
|
+
*/
|
6
17
|
CenterHorizontal = "center-horizontal",
|
18
|
+
/**
|
19
|
+
* @deprecated in favor of "Horizontal" layout
|
20
|
+
*/
|
7
21
|
LeftHorizontal = "left-horizontal"
|
8
22
|
}
|
9
|
-
|
23
|
+
declare type Vertical = {
|
24
|
+
/**
|
25
|
+
* Define horizontal/vertical layout of the whole component, item alignment inside the component, and text alignment based on variant of layout. Other values than `vertical` or `horizontal` are currently deprecated.
|
26
|
+
* @default 'vertical'.
|
27
|
+
*/
|
28
|
+
layout?: EmptyStateLayout.CenterVertical | EmptyStateLayout.Vertical;
|
29
|
+
/**
|
30
|
+
* Optional prop for controlling whether the component will occupy all the available height.
|
31
|
+
* @default true
|
32
|
+
*/
|
33
|
+
fullHeight?: boolean;
|
34
|
+
};
|
35
|
+
declare type Horizontal = {
|
36
|
+
/**
|
37
|
+
* Define horizontal/vertical layout of the whole component, item alignment inside the component, and text alignment based on variant of layout. Other values than `vertical` or `horizontal` are currently deprecated.
|
38
|
+
* @default 'vertical'
|
39
|
+
*/
|
40
|
+
layout?: Exclude<EmptyStateLayout, EmptyStateLayout.CenterVertical | EmptyStateLayout.Vertical>;
|
41
|
+
fullHeight?: never;
|
42
|
+
};
|
43
|
+
declare type LayoutProps = Horizontal | Vertical;
|
44
|
+
export declare type EmptyStateProps = LayoutProps & {
|
10
45
|
/**
|
11
46
|
* Provide a short and concise explanation.
|
12
47
|
*/
|
@@ -45,11 +80,6 @@ export declare type EmptyStateProps = {
|
|
45
80
|
* Use Typography component if possible. By default, this is wrapped by typography 'small' size.
|
46
81
|
*/
|
47
82
|
footer?: React.ReactNode;
|
48
|
-
/**
|
49
|
-
* Define horizontal/vertical layout of the whole component, item alignment inside the component, and text alignment based on variant of layout.
|
50
|
-
* Default value is 'center-vertical'.
|
51
|
-
*/
|
52
|
-
layout?: EmptyStateLayout;
|
53
83
|
/**
|
54
84
|
* Define a style of the border of the component.
|
55
85
|
* Default value is 'dashed' style.
|
@@ -63,3 +93,4 @@ export declare type EmptyStateProps = {
|
|
63
93
|
* @returns React.ReactElement
|
64
94
|
*/
|
65
95
|
export declare const EmptyState: React.FC<EmptyStateProps>;
|
96
|
+
export {};
|
@@ -2,16 +2,28 @@ import React from 'react';
|
|
2
2
|
import omit from 'lodash/omit';
|
3
3
|
import { Box } from '../../../src/molecules/Box/Box';
|
4
4
|
import { Button } from '../../../src/molecules/Button/Button';
|
5
|
-
import { Flexbox } from '../../../src/molecules/Flexbox/Flexbox';
|
6
|
-
import { FlexboxItem } from '../../../src/molecules/Flexbox/FlexboxItem';
|
7
5
|
import { Typography } from '../../../src/molecules/Typography/Typography';
|
8
6
|
import { isLink } from '../../../src/utils/link';
|
9
7
|
import { classNames, tw } from '../../../src/utils/tailwind';
|
10
8
|
export var EmptyStateLayout;
|
11
9
|
(function (EmptyStateLayout) {
|
10
|
+
EmptyStateLayout["Vertical"] = "vertical";
|
11
|
+
EmptyStateLayout["Horizontal"] = "horizontal";
|
12
|
+
/**
|
13
|
+
* @deprecated in favor of "Vertical" layout
|
14
|
+
*/
|
12
15
|
EmptyStateLayout["CenterVertical"] = "center-vertical";
|
16
|
+
/**
|
17
|
+
* @deprecated in favor of "Vertical" layout
|
18
|
+
*/
|
13
19
|
EmptyStateLayout["LeftVertical"] = "left-vertical";
|
20
|
+
/**
|
21
|
+
* @deprecated in favor of "Horizontal" layout
|
22
|
+
*/
|
14
23
|
EmptyStateLayout["CenterHorizontal"] = "center-horizontal";
|
24
|
+
/**
|
25
|
+
* @deprecated in favor of "Horizontal" layout
|
26
|
+
*/
|
15
27
|
EmptyStateLayout["LeftHorizontal"] = "left-horizontal";
|
16
28
|
})(EmptyStateLayout || (EmptyStateLayout = {}));
|
17
29
|
const layoutStyle = (layout) => {
|
@@ -23,6 +35,7 @@ const layoutStyle = (layout) => {
|
|
23
35
|
alignItems: 'flex-start',
|
24
36
|
};
|
25
37
|
case EmptyStateLayout.LeftHorizontal:
|
38
|
+
case EmptyStateLayout.Horizontal:
|
26
39
|
return {
|
27
40
|
layout: 'row',
|
28
41
|
justifyContent: 'flex-start',
|
@@ -35,6 +48,7 @@ const layoutStyle = (layout) => {
|
|
35
48
|
alignItems: 'flex-start',
|
36
49
|
};
|
37
50
|
case EmptyStateLayout.CenterVertical:
|
51
|
+
case EmptyStateLayout.Vertical:
|
38
52
|
default:
|
39
53
|
return {
|
40
54
|
layout: 'column',
|
@@ -43,37 +57,38 @@ const layoutStyle = (layout) => {
|
|
43
57
|
};
|
44
58
|
}
|
45
59
|
};
|
60
|
+
const isVerticalLayout = (layout) => layout === EmptyStateLayout.Vertical || layout === EmptyStateLayout.CenterVertical;
|
46
61
|
/**
|
47
62
|
* ## A EmptyState component to call extra attention to featured content or information, for example, an empty stage of a feature.
|
48
63
|
*
|
49
64
|
* @param props EmptyStateProps
|
50
65
|
* @returns React.ReactElement
|
51
66
|
*/
|
52
|
-
export const EmptyState = ({ title, image, imageAlt = '', imageWidth, description, children, primaryAction, secondaryAction, footer, layout = EmptyStateLayout.
|
67
|
+
export const EmptyState = ({ title, image, imageAlt = '', imageWidth, description, children, primaryAction, secondaryAction, footer, layout = EmptyStateLayout.Vertical, borderStyle = 'dashed', fullHeight = isVerticalLayout(layout) ? true : false, }) => {
|
53
68
|
const template = layoutStyle(layout);
|
54
|
-
return (React.createElement(Box, { className: classNames('Aquarium-EmptyState', tw('rounded', {
|
69
|
+
return (React.createElement(Box, { className: classNames('Aquarium-EmptyState', tw('rounded p-[56px]', {
|
55
70
|
'border border-dashed': borderStyle === 'dashed',
|
56
71
|
'border border-solid': borderStyle === 'solid',
|
57
|
-
'text-left': layout
|
58
|
-
'text-center': layout
|
59
|
-
|
60
|
-
|
72
|
+
'text-left': !isVerticalLayout(layout),
|
73
|
+
'text-center': isVerticalLayout(layout),
|
74
|
+
'h-full': fullHeight,
|
75
|
+
})), backgroundColor: "transparent", borderColor: "grey-10" },
|
76
|
+
React.createElement(Box.Flex, { style: { gap: '56px' }, flexDirection: template.layout, justifyContent: template.justifyContent,
|
61
77
|
// in case of horizontal layouts, the content inside the 2nd col should align center with image.
|
62
|
-
alignItems: template.layout === 'row' ? 'center' : template.alignItems,
|
63
|
-
image && (React.createElement(
|
64
|
-
|
65
|
-
|
66
|
-
React.createElement(Typography, { variant: "heading", htmlTag: "h2" }, title),
|
78
|
+
alignItems: template.layout === 'row' ? 'center' : template.alignItems, height: fullHeight ? 'full' : undefined },
|
79
|
+
image && (React.createElement("img", { src: image, alt: imageAlt, style: { width: imageWidth ? `${imageWidth}px` : undefined, height: 'auto' } })),
|
80
|
+
React.createElement(Box.Flex, { flexDirection: "column", justifyContent: template.justifyContent, alignItems: template.alignItems },
|
81
|
+
React.createElement(Typography.Heading, { htmlTag: "h2" }, title),
|
67
82
|
(description || children) && (React.createElement(Box, { marginTop: "5" },
|
68
|
-
React.createElement(Typography, {
|
69
|
-
(secondaryAction || primaryAction) && (React.createElement(
|
83
|
+
React.createElement(Typography.Default, { color: "grey-60" }, children || description))),
|
84
|
+
(secondaryAction || primaryAction) && (React.createElement(Box.Flex, { marginTop: "7", gap: "4", justifyContent: "center", alignItems: "center", wrap: "wrap" },
|
70
85
|
primaryAction && (React.createElement(React.Fragment, null,
|
71
86
|
!isLink(primaryAction) && (React.createElement(Button.Primary, Object.assign({}, omit(primaryAction, 'text')), primaryAction.text)),
|
72
87
|
isLink(primaryAction) && (React.createElement(Button.ExternalLink, Object.assign({ kind: "primary" }, omit(primaryAction, 'text')), primaryAction.text)))),
|
73
88
|
secondaryAction && (React.createElement(React.Fragment, null,
|
74
89
|
!isLink(secondaryAction) && (React.createElement(Button.Secondary, Object.assign({}, omit(secondaryAction, 'text')), secondaryAction.text)),
|
75
90
|
isLink(secondaryAction) && (React.createElement(Button.ExternalLink, Object.assign({ kind: "secondary" }, omit(secondaryAction, 'text')), secondaryAction.text)))))),
|
76
|
-
footer && (React.createElement(Box, { marginTop: "
|
77
|
-
React.createElement(Typography, {
|
91
|
+
footer && (React.createElement(Box, { marginTop: "5" },
|
92
|
+
React.createElement(Typography.Small, { color: "grey-60" }, footer)))))));
|
78
93
|
};
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW1wdHlTdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvRW1wdHlTdGF0ZS9FbXB0eVN0YXRlLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE1BQU0sQ0FBTixJQUFZLGdCQW1CWDtBQW5CRCxXQUFZLGdCQUFnQjtJQUMxQix5Q0FBcUIsQ0FBQTtJQUNyQiw2Q0FBeUIsQ0FBQTtJQUN6Qjs7T0FFRztJQUNILHNEQUFrQyxDQUFBO0lBQ2xDOztPQUVHO0lBQ0gsa0RBQThCLENBQUE7SUFDOUI7O09BRUc7SUFDSCwwREFBc0MsQ0FBQTtJQUN0Qzs7T0FFRztJQUNILHNEQUFrQyxDQUFBO0FBQ3BDLENBQUMsRUFuQlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQW1CM0I7QUF3RkQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxNQUF3QixFQUFvQixFQUFFO0lBQ2pFLFFBQVEsTUFBTSxFQUFFO1FBQ2QsS0FBSyxnQkFBZ0IsQ0FBQyxZQUFZO1lBQ2hDLE9BQU87Z0JBQ0wsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLGNBQWMsRUFBRSxZQUFZO2dCQUM1QixVQUFVLEVBQUUsWUFBWTthQUN6QixDQUFDO1FBQ0osS0FBSyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUM7UUFDckMsS0FBSyxnQkFBZ0IsQ0FB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
|
@@ -1,6 +1,33 @@
|
|
1
1
|
import React from 'react';
|
2
|
+
import { type StatusChipProps } from '../../../src/molecules/Chip/Chip';
|
3
|
+
import { type TagLabelProps } from '../../../src/molecules/TagLabel/TagLabel';
|
2
4
|
import { type AsyncActionType, type LinkActionType } from '../../../types/ActionType';
|
5
|
+
import { type AllOrNone } from '../../../types/utils';
|
6
|
+
declare type CollapsibleProps = AllOrNone<{
|
7
|
+
/**
|
8
|
+
* When true, section content can be toggled to be collapsed or expanded.
|
9
|
+
*/
|
10
|
+
collapsible: true;
|
11
|
+
/**
|
12
|
+
* Default value for expanded state for section.
|
13
|
+
* @default false.
|
14
|
+
*/
|
15
|
+
defaultCollapsed?: boolean;
|
16
|
+
/**
|
17
|
+
* Controlled value for expanded state for section.
|
18
|
+
*/
|
19
|
+
collapsed?: boolean;
|
20
|
+
/**
|
21
|
+
* Callback, that will get called whenever section is collapsed or expanded.
|
22
|
+
* @param collapsed True, if section was collapsed
|
23
|
+
*/
|
24
|
+
onCollapsedChange?: (collapsed: boolean) => void;
|
25
|
+
}>;
|
3
26
|
export declare type SectionProps = {
|
27
|
+
title?: never;
|
28
|
+
subtitle?: never;
|
29
|
+
actions?: never;
|
30
|
+
} | (CollapsibleProps & {
|
4
31
|
/** Section's title */
|
5
32
|
title: string;
|
6
33
|
/** Optional section's subtitle. */
|
@@ -10,9 +37,18 @@ export declare type SectionProps = {
|
|
10
37
|
* This can either be a callback function or a link.
|
11
38
|
*/
|
12
39
|
actions?: Array<AsyncActionType | LinkActionType> | AsyncActionType | LinkActionType;
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
40
|
+
/**
|
41
|
+
* Optional tag can have a "title"
|
42
|
+
*/
|
43
|
+
tag?: Pick<TagLabelProps, 'title' | 'variant'>;
|
44
|
+
/**
|
45
|
+
* Optional badge as number | string
|
46
|
+
*/
|
47
|
+
badge?: number | string;
|
48
|
+
/**
|
49
|
+
* Optional chip can have a "text" and a "status"
|
50
|
+
*/
|
51
|
+
chip?: Pick<StatusChipProps, 'status' | 'text'>;
|
52
|
+
});
|
18
53
|
export declare const Section: React.FC<React.PropsWithChildren<SectionProps>>;
|
54
|
+
export {};
|
@@ -1,20 +1,78 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
1
12
|
import React from 'react';
|
13
|
+
import { useId } from '@react-aria/utils';
|
14
|
+
import { animated, useSpring } from '@react-spring/web';
|
2
15
|
import castArray from 'lodash/castArray';
|
16
|
+
import isUndefined from 'lodash/isUndefined';
|
17
|
+
import noop from 'lodash/noop';
|
3
18
|
import omit from 'lodash/omit';
|
19
|
+
import partialTheme from '../../../tailwind.theme.json';
|
4
20
|
import { Button } from '../../../src/molecules/Button/Button';
|
5
|
-
import {
|
21
|
+
import { Chip, StatusChip } from '../../../src/molecules/Chip/Chip';
|
22
|
+
import { TagLabel } from '../../../src/molecules/TagLabel/TagLabel';
|
6
23
|
import { Section as BaseSection } from '../../../src/atoms/Section/Section';
|
7
24
|
import { isLink } from '../../../src/utils/link';
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
25
|
+
import { tw } from '../../../src/utils/tailwind';
|
26
|
+
import { useMeasure } from '../../../src/utils/useMeasure';
|
27
|
+
export const Section = (props) => {
|
28
|
+
var _a, _b, _c;
|
29
|
+
const { title, subtitle, actions, children } = props;
|
30
|
+
const _collapsible = title ? (_a = props.collapsible) !== null && _a !== void 0 ? _a : false : false;
|
31
|
+
const _collapsed = title ? props.collapsed : undefined;
|
32
|
+
// By default, section is always expanded
|
33
|
+
const _defaultCollapsed = title ? (_b = props.defaultCollapsed) !== null && _b !== void 0 ? _b : false : false;
|
34
|
+
const [isCollapsed, setCollapsed] = React.useState(_collapsed !== null && _collapsed !== void 0 ? _collapsed : _defaultCollapsed);
|
35
|
+
const [ref, { height }] = useMeasure();
|
36
|
+
// Figure out the correct callback for managing collapsed state.
|
37
|
+
const _onCollapsedChanged = title && props.collapsible ? (_c = props.onCollapsedChange) !== null && _c !== void 0 ? _c : setCollapsed : noop;
|
38
|
+
if (title && !isUndefined(props.collapsed) && props.collapsed !== isCollapsed) {
|
39
|
+
setCollapsed(props.collapsed);
|
40
|
+
}
|
41
|
+
const handleTitleClick = () => {
|
42
|
+
_onCollapsedChanged(!isCollapsed);
|
43
|
+
};
|
44
|
+
const targetHeight = isCollapsed ? '0px' : `${height !== null && height !== void 0 ? height : 0}px`;
|
45
|
+
const _d = useSpring({
|
46
|
+
height: height !== null ? targetHeight : undefined,
|
47
|
+
opacity: isCollapsed ? 0 : 1,
|
48
|
+
transform: `rotate(${isCollapsed ? 0 : 180}deg)`,
|
49
|
+
backgroundColor: isCollapsed ? partialTheme.backgroundColor['grey-0'] : partialTheme.backgroundColor['grey-5'],
|
50
|
+
config: {
|
51
|
+
duration: 150,
|
52
|
+
},
|
53
|
+
immediate: !_collapsible,
|
54
|
+
}), { transform, backgroundColor } = _d, spring = __rest(_d, ["transform", "backgroundColor"]);
|
55
|
+
const toggleId = useId();
|
56
|
+
const regionId = useId();
|
57
|
+
return (React.createElement(BaseSection, { className: "Aquarium-Section" },
|
58
|
+
title && (React.createElement(React.Fragment, null,
|
59
|
+
React.createElement(BaseSection.Header, { collapsible: _collapsible },
|
60
|
+
React.createElement(BaseSection.TitleContainer, { role: _collapsible ? 'button' : undefined, id: toggleId, collapsible: _collapsible, onClick: handleTitleClick, "aria-expanded": !isCollapsed, "aria-controls": regionId },
|
61
|
+
_collapsible && (React.createElement(animated.div, { style: { transform } },
|
62
|
+
React.createElement(BaseSection.Toggle, null))),
|
63
|
+
React.createElement(BaseSection.Title, null,
|
64
|
+
title,
|
65
|
+
props.tag && React.createElement(TagLabel, Object.assign({}, props.tag)),
|
66
|
+
props.badge && React.createElement(Chip, { text: props.badge }),
|
67
|
+
props.chip && React.createElement(StatusChip, Object.assign({}, props.chip))),
|
68
|
+
subtitle && (React.createElement(BaseSection.Subtitle, { className: tw('row-start-2', { 'col-start-2': _collapsible }) }, subtitle))),
|
69
|
+
React.createElement(BaseSection.Actions, null, actions &&
|
70
|
+
castArray(actions)
|
71
|
+
.filter(Boolean)
|
72
|
+
.map((action) => !isLink(action) ? (React.createElement(Button.Secondary, Object.assign({ key: action.text }, omit(action, 'text')), action.text)) : (React.createElement(Button.ExternalLink, Object.assign({ key: action.text, kind: "secondary" }, omit(action, 'text')), action.text))))),
|
73
|
+
React.createElement(animated.div, { className: tw(`h-[1px]`), style: { backgroundColor } }))),
|
74
|
+
React.createElement(animated.div, { id: regionId, role: "region", "aria-hidden": isCollapsed ? true : undefined, style: spring, className: tw({ 'overflow-hidden': _collapsible }) },
|
75
|
+
React.createElement("div", { ref: ref },
|
76
|
+
React.createElement(BaseSection.Body, null, children)))));
|
77
|
+
};
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvU2VjdGlvbi9TZWN0aW9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUN6QyxPQUFPLFdBQVcsTUFBTSxvQkFBb0IsQ0FBQztBQUM3QyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDO0FBQy9CLE9BQU8sWUFBWSxNQUFNLHFCQUFxQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBd0IsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsUUFBUSxFQUFzQixNQUFNLGlDQUFpQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxPQUFPLElBQUksV0FBVyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUErRGxELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBb0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTs7SUFDaEYsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNyRCxNQUFNLFlBQVksR0FBRyxL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
|
@@ -1,9 +1,15 @@
|
|
1
1
|
import React from 'react';
|
2
|
+
export declare type TagLabelVariant = 'danger' | 'primary' | 'success';
|
2
3
|
export interface TagLabelProps {
|
3
4
|
/**
|
4
5
|
* Tag label textual content.
|
5
6
|
*/
|
6
7
|
'title': number | string;
|
8
|
+
/**
|
9
|
+
* Variant of the tag label. Defaults to 'primary'.
|
10
|
+
* @default 'primary'
|
11
|
+
*/
|
12
|
+
'variant'?: TagLabelVariant;
|
7
13
|
/**
|
8
14
|
* If true, display dense version of the tag label.
|
9
15
|
*/
|
@@ -11,11 +11,22 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
11
11
|
};
|
12
12
|
import React from 'react';
|
13
13
|
import { classNames, tw } from '../../../src/utils/tailwind';
|
14
|
+
const getVariantClassNames = (variant = 'primary') => {
|
15
|
+
switch (variant) {
|
16
|
+
case 'danger':
|
17
|
+
return tw('bg-secondary-90');
|
18
|
+
case 'success':
|
19
|
+
return tw('bg-success-90');
|
20
|
+
case 'primary':
|
21
|
+
default:
|
22
|
+
return tw('bg-primary-90');
|
23
|
+
}
|
24
|
+
};
|
14
25
|
export const TagLabel = (_a) => {
|
15
|
-
var { title, dense = false } = _a, rest = __rest(_a, ["title", "dense"]);
|
16
|
-
return (React.createElement("span", Object.assign({}, rest, { className: classNames('Aquarium-TagLabel', tw('rounded-full text-white
|
26
|
+
var { title, dense = false, variant } = _a, rest = __rest(_a, ["title", "dense", "variant"]);
|
27
|
+
return (React.createElement("span", Object.assign({}, rest, { className: classNames('Aquarium-TagLabel', getVariantClassNames(variant), tw('rounded-full text-white', {
|
17
28
|
'py-2 px-4 typography-caption': !dense,
|
18
29
|
'py-2 px-3 typography-caption-small': dense,
|
19
30
|
})) }), title));
|
20
31
|
};
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGFnTGFiZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL1RhZ0xhYmVsL1RhZ0xhYmVsLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBMEJwRCxNQUFNLG9CQUFvQixHQUFHLENBQUMsVUFBMkIsU0FBUyxFQUFVLEVBQUU7SUFDNUUsUUFBUSxPQUFPLEVBQUU7UUFDZixLQUFLLFFBQVE7WUFDWCxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRS9CLEtBQUssU0FBUztZQUNaLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTdCLEtBQUssU0FBUyxDQUFDO1FBQ2Y7WUFDRSxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUM5QjtBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBNEIsQ0FBQyxFQUEwQyxFQUFFLEVBQUU7UUFBOUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxPQUFPLE9BQVcsRUFBTixJQUFJLGNBQXhDLDZCQUEwQyxDQUFGO0lBQU8sT0FBQSxDQUMvRiw4Q0FDTSxJQUFJLElBQ1IsU0FBUyxFQUFFLFVBQVUsQ0FDbkIsbUJBQW1CLEVBQ25CLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUM3QixFQUFFLENBQUMseUJBQXlCLEVBQUU7WUFDNUIsOEJBQThCLEVBQUUsQ0FBQyxLQUFLO1lBQ3RDLG9DQUFvQyxFQUFFLEtBQUs7U0FDNUMsQ0FBQyxDQUNILEtBRUEsS0FBSyxDQUNELENBQ1IsQ0FBQTtDQUFBLENBQUMifQ==
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
export function useMeasure() {
|
3
|
+
const ref = React.useRef(null);
|
4
|
+
const [rect, setRect] = React.useState({
|
5
|
+
width: null,
|
6
|
+
height: null,
|
7
|
+
});
|
8
|
+
React.useLayoutEffect(() => {
|
9
|
+
if (!ref.current || !window.ResizeObserver) {
|
10
|
+
return;
|
11
|
+
}
|
12
|
+
const observer = new window.ResizeObserver(([entry]) => {
|
13
|
+
if (entry === null || entry === void 0 ? void 0 : entry.contentRect) {
|
14
|
+
setRect({
|
15
|
+
width: entry.contentRect.width,
|
16
|
+
height: entry.contentRect.height,
|
17
|
+
});
|
18
|
+
}
|
19
|
+
});
|
20
|
+
observer.observe(ref.current);
|
21
|
+
return () => {
|
22
|
+
observer.disconnect();
|
23
|
+
};
|
24
|
+
}, []);
|
25
|
+
return [ref, rect];
|
26
|
+
}
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlTWVhc3VyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlscy91c2VNZWFzdXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQU8xQixNQUFNLFVBQVUsVUFBVTtJQUN4QixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFJLElBQUksQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBTztRQUMzQyxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJO0tBQ2IsQ0FBQyxDQUFDO0lBRUgsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUU7UUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFO1lBQzFDLE9BQU87U0FDUjtRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUNyRCxJQUFJLEtBQUssYUFBTCxLQUFLLHVCQUFMLEtBQUssQ0FBRSxXQUFXLEVBQUU7Z0JBQ3RCLE9BQU8sQ0FBQztvQkFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUFLO29CQUM5QixNQUFNLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNO2lCQUNqQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsT0FBTyxHQUFHLEVBQUU7WUFDVixRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDeEIsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRVAsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQVUsQ0FBQztBQUM5QixDQUFDIn0=
|