@xyo-network/react-property 7.5.8 → 7.5.12
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/browser/components/Group.d.ts.map +1 -1
- package/dist/browser/components/IdenticonCorner.d.ts.map +1 -1
- package/dist/browser/components/Title.d.ts.map +1 -1
- package/dist/browser/index.mjs +205 -189
- package/dist/browser/index.mjs.map +1 -1
- package/package.json +95 -32
- package/src/components/Action.ts +0 -8
- package/src/components/Actions.tsx +0 -45
- package/src/components/ActionsMenu.tsx +0 -45
- package/src/components/ActionsProps.ts +0 -8
- package/src/components/Group.tsx +0 -62
- package/src/components/IdenticonCorner.tsx +0 -28
- package/src/components/Property.tsx +0 -86
- package/src/components/PropertyBox.stories.tsx +0 -173
- package/src/components/PropertyPaper.stories.tsx +0 -191
- package/src/components/Props.ts +0 -48
- package/src/components/Title.stories.tsx +0 -30
- package/src/components/Title.tsx +0 -82
- package/src/components/Value.stories.tsx +0 -24
- package/src/components/Value.tsx +0 -30
- package/src/components/index.ts +0 -6
- package/src/global.d.ts +0 -1
- package/src/index.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../src/components/Group.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EACsC,kBAAkB,EACnE,MAAM,YAAY,CAAA;AAiDnB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"Group.d.ts","sourceRoot":"","sources":["../../../src/components/Group.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EACsC,kBAAkB,EACnE,MAAM,YAAY,CAAA;AAiDnB,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAGtD,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IdenticonCorner.d.ts","sourceRoot":"","sources":["../../../src/components/IdenticonCorner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGzD,OAAO,
|
|
1
|
+
{"version":3,"file":"IdenticonCorner.d.ts","sourceRoot":"","sources":["../../../src/components/IdenticonCorner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGzD,OAAO,KAEN,MAAM,OAAO,CAAA;AAEd,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;CACzC;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAoB1D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Title.d.ts","sourceRoot":"","sources":["../../../src/components/Title.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Title.d.ts","sourceRoot":"","sources":["../../../src/components/Title.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAA;AAE7C,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,IAAI,CAAC,EAAE,aAAa,CAAA;IACpB,GAAG,CAAC,EAAE,SAAS,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0DtD,CAAA"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
-
|
|
4
1
|
// src/components/Group.tsx
|
|
5
2
|
import { Paper, useTheme as useTheme2 } from "@mui/material";
|
|
6
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
FlexCol,
|
|
5
|
+
FlexGrowRow,
|
|
6
|
+
FlexRow as FlexRow2
|
|
7
|
+
} from "@xylabs/react-flexbox";
|
|
7
8
|
import { typeOf } from "@xyo-network/typeof";
|
|
8
|
-
import React2 from "react";
|
|
9
9
|
|
|
10
10
|
// src/components/Title.tsx
|
|
11
|
-
import { Typography,
|
|
11
|
+
import { Typography, useTheme } from "@mui/material";
|
|
12
12
|
import { FlexRow } from "@xylabs/react-flexbox";
|
|
13
13
|
import { QuickTipButton } from "@xylabs/react-quick-tip-button";
|
|
14
14
|
import { darkenCss, useIsDark } from "@xylabs/react-theme";
|
|
15
|
-
import
|
|
16
|
-
var PropertyTitle =
|
|
15
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
16
|
+
var PropertyTitle = ({
|
|
17
|
+
elevation = 1,
|
|
18
|
+
size = "medium",
|
|
19
|
+
tip,
|
|
20
|
+
more,
|
|
21
|
+
title,
|
|
22
|
+
...props
|
|
23
|
+
}) => {
|
|
17
24
|
const sizeVariants = {
|
|
18
25
|
full: "caption",
|
|
19
26
|
large: "caption",
|
|
@@ -34,169 +41,172 @@ var PropertyTitle = /* @__PURE__ */ __name(({ elevation = 1, size = "medium", ti
|
|
|
34
41
|
};
|
|
35
42
|
const quickTipSize = Math.min(sizeFontSize[size], 16);
|
|
36
43
|
const theme = useTheme();
|
|
37
|
-
const {} = useColorScheme();
|
|
38
44
|
const isDark = useIsDark();
|
|
39
|
-
return /* @__PURE__ */
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
color: "inherit",
|
|
58
|
-
title: title ?? ""
|
|
59
|
-
}, tip) : null), more);
|
|
60
|
-
}, "PropertyTitle");
|
|
45
|
+
return /* @__PURE__ */ jsxs(
|
|
46
|
+
FlexRow,
|
|
47
|
+
{
|
|
48
|
+
bgcolor: isDark ? darkenCss(theme.vars.palette.background.paper, 0.75 * elevation) : darkenCss(theme.vars.palette.background.paper, 0.025 * elevation),
|
|
49
|
+
alignItems: "center",
|
|
50
|
+
height: sizeTitleHeight[size],
|
|
51
|
+
justifyContent: "space-between",
|
|
52
|
+
...props,
|
|
53
|
+
children: [
|
|
54
|
+
/* @__PURE__ */ jsxs(FlexRow, { paddingX: 1, paddingY: 0.5, children: [
|
|
55
|
+
/* @__PURE__ */ jsx(Typography, { fontWeight: 500, noWrap: true, variant: sizeVariants[size], fontSize: sizeFontSize[size], children: /* @__PURE__ */ jsx("small", { children: /* @__PURE__ */ jsx("strong", { children: title }) }) }),
|
|
56
|
+
tip ? /* @__PURE__ */ jsx(QuickTipButton, { style: { fontSize: quickTipSize }, color: "inherit", title: title ?? "", children: tip }) : null
|
|
57
|
+
] }),
|
|
58
|
+
more
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
);
|
|
62
|
+
};
|
|
61
63
|
|
|
62
64
|
// src/components/Group.tsx
|
|
63
|
-
|
|
65
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
66
|
+
var PropertyGroupBox = ({
|
|
67
|
+
titleProps,
|
|
68
|
+
children,
|
|
69
|
+
title,
|
|
70
|
+
tip,
|
|
71
|
+
...props
|
|
72
|
+
}) => {
|
|
64
73
|
const theme = useTheme2();
|
|
65
74
|
const childrenArray = typeOf(children) === "array" ? children : void 0;
|
|
66
|
-
return /* @__PURE__ */
|
|
67
|
-
alignItems: "
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
elevation,
|
|
99
|
-
square
|
|
100
|
-
}, /* @__PURE__ */ React2.createElement(PropertyGroupBox, {
|
|
101
|
-
...props,
|
|
102
|
-
paper: false
|
|
103
|
-
}));
|
|
104
|
-
}, "PropertyGroupPaper");
|
|
105
|
-
var PropertyGroup = /* @__PURE__ */ __name((props) => {
|
|
106
|
-
return props.paper ? /* @__PURE__ */ React2.createElement(PropertyGroupPaper, props) : /* @__PURE__ */ React2.createElement(PropertyGroupBox, props);
|
|
107
|
-
}, "PropertyGroup");
|
|
75
|
+
return /* @__PURE__ */ jsx2(FlexCol, { alignItems: "stretch", overflow: "hidden", ...props, children: /* @__PURE__ */ jsxs2(FlexRow2, { overflow: "hidden", justifyContent: "stretch", alignItems: "stretch", children: [
|
|
76
|
+
/* @__PURE__ */ jsx2(PropertyTitle, { alignItems: "flex-start", size: "full", title, tip, ...titleProps }),
|
|
77
|
+
childrenArray ? /* @__PURE__ */ jsx2(FlexGrowRow, { children: childrenArray?.map((child, index) => {
|
|
78
|
+
return child ? /* @__PURE__ */ jsx2(FlexGrowRow, { borderLeft: 1, borderColor: theme.vars.palette.divider, children: child }, child.key ?? `group-child-${index}`) : null;
|
|
79
|
+
}) }) : /* @__PURE__ */ jsx2(FlexGrowRow, { overflow: "hidden", children })
|
|
80
|
+
] }) });
|
|
81
|
+
};
|
|
82
|
+
var PropertyGroupPaper = ({
|
|
83
|
+
style,
|
|
84
|
+
variant,
|
|
85
|
+
elevation,
|
|
86
|
+
square,
|
|
87
|
+
...props
|
|
88
|
+
}) => {
|
|
89
|
+
return /* @__PURE__ */ jsx2(
|
|
90
|
+
Paper,
|
|
91
|
+
{
|
|
92
|
+
style: {
|
|
93
|
+
minWidth: 0,
|
|
94
|
+
overflow: "hidden",
|
|
95
|
+
...style
|
|
96
|
+
},
|
|
97
|
+
variant,
|
|
98
|
+
elevation,
|
|
99
|
+
square,
|
|
100
|
+
children: /* @__PURE__ */ jsx2(PropertyGroupBox, { ...props, paper: false })
|
|
101
|
+
}
|
|
102
|
+
);
|
|
103
|
+
};
|
|
104
|
+
var PropertyGroup = (props) => {
|
|
105
|
+
return props.paper ? /* @__PURE__ */ jsx2(PropertyGroupPaper, { ...props }) : /* @__PURE__ */ jsx2(PropertyGroupBox, { ...props });
|
|
106
|
+
};
|
|
108
107
|
|
|
109
108
|
// src/components/Property.tsx
|
|
110
109
|
import { CircularProgress, Paper as Paper2 } from "@mui/material";
|
|
111
110
|
import { FlexRow as FlexRow5 } from "@xylabs/react-flexbox";
|
|
112
|
-
import React6 from "react";
|
|
113
111
|
|
|
114
112
|
// src/components/ActionsMenu.tsx
|
|
115
113
|
import { MoreHoriz as MoreHorizIcon } from "@mui/icons-material";
|
|
116
|
-
import {
|
|
114
|
+
import {
|
|
115
|
+
IconButton,
|
|
116
|
+
Menu,
|
|
117
|
+
MenuItem
|
|
118
|
+
} from "@mui/material";
|
|
117
119
|
import { FlexRow as FlexRow3 } from "@xylabs/react-flexbox";
|
|
118
|
-
import
|
|
119
|
-
|
|
120
|
+
import { useState } from "react";
|
|
121
|
+
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
122
|
+
var PropertyActionsMenu = ({ actions, ...props }) => {
|
|
120
123
|
const [anchorEl, setAnchorEl] = useState(null);
|
|
121
124
|
const open = !!anchorEl;
|
|
122
|
-
const handleClick =
|
|
125
|
+
const handleClick = (event) => {
|
|
123
126
|
setAnchorEl(event.currentTarget);
|
|
124
|
-
}
|
|
125
|
-
const handleClose =
|
|
127
|
+
};
|
|
128
|
+
const handleClose = () => {
|
|
126
129
|
setAnchorEl(null);
|
|
127
|
-
}
|
|
128
|
-
return actions && actions?.length > 0 ? /* @__PURE__ */
|
|
129
|
-
size: "small",
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}, action.name);
|
|
146
|
-
}))) : null;
|
|
147
|
-
}, "PropertyActionsMenu");
|
|
130
|
+
};
|
|
131
|
+
return actions && actions?.length > 0 ? /* @__PURE__ */ jsxs3(FlexRow3, { ...props, children: [
|
|
132
|
+
/* @__PURE__ */ jsx3(IconButton, { size: "small", color: "inherit", onClick: handleClick, children: /* @__PURE__ */ jsx3(MoreHorizIcon, { fontSize: "inherit" }) }),
|
|
133
|
+
/* @__PURE__ */ jsx3(Menu, { anchorEl, open, onClose: handleClose, children: actions?.map((action) => {
|
|
134
|
+
return /* @__PURE__ */ jsx3(
|
|
135
|
+
MenuItem,
|
|
136
|
+
{
|
|
137
|
+
onClick: () => {
|
|
138
|
+
action?.onClick?.();
|
|
139
|
+
handleClose();
|
|
140
|
+
},
|
|
141
|
+
children: action.name
|
|
142
|
+
},
|
|
143
|
+
action.name
|
|
144
|
+
);
|
|
145
|
+
}) })
|
|
146
|
+
] }) : null;
|
|
147
|
+
};
|
|
148
148
|
|
|
149
149
|
// src/components/IdenticonCorner.tsx
|
|
150
150
|
import { useTheme as useTheme3 } from "@mui/material";
|
|
151
151
|
import { FlexRow as FlexRow4 } from "@xylabs/react-flexbox";
|
|
152
152
|
import { Identicon } from "@xylabs/react-identicon";
|
|
153
|
-
import
|
|
154
|
-
|
|
153
|
+
import {
|
|
154
|
+
useLayoutEffect,
|
|
155
|
+
useRef,
|
|
156
|
+
useState as useState2
|
|
157
|
+
} from "react";
|
|
158
|
+
import { jsx as jsx4 } from "react/jsx-runtime";
|
|
159
|
+
var IdenticonCorner = ({ value, ...props }) => {
|
|
155
160
|
const theme = useTheme3();
|
|
156
161
|
const ref = useRef(null);
|
|
157
|
-
const
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}, /* @__PURE__ */ React4.createElement(FlexRow4, {
|
|
165
|
-
background: true,
|
|
166
|
-
height: calculatedHeight,
|
|
167
|
-
width: calculatedHeight,
|
|
168
|
-
borderLeft: `1px solid ${theme.vars.palette.divider}`
|
|
169
|
-
}, /* @__PURE__ */ React4.createElement("div", {
|
|
170
|
-
ref
|
|
171
|
-
}, /* @__PURE__ */ React4.createElement(Identicon, {
|
|
172
|
-
size: calculatedHeight * 0.6,
|
|
173
|
-
value: `${value}`,
|
|
174
|
-
sx: {
|
|
175
|
-
padding: `${calculatedHeight * 0.2}px`
|
|
176
|
-
},
|
|
177
|
-
...props
|
|
178
|
-
}))));
|
|
179
|
-
}, "IdenticonCorner");
|
|
162
|
+
const [calculatedHeight, setCalculatedHeight] = useState2(0);
|
|
163
|
+
useLayoutEffect(() => {
|
|
164
|
+
const height = ref.current?.parentElement?.parentElement?.clientHeight ?? 0;
|
|
165
|
+
setCalculatedHeight(height);
|
|
166
|
+
}, []);
|
|
167
|
+
return /* @__PURE__ */ jsx4(FlexRow4, { alignItems: "flex-start", height: "100%", children: /* @__PURE__ */ jsx4(FlexRow4, { background: true, height: calculatedHeight, width: calculatedHeight, borderLeft: `1px solid ${theme.vars.palette.divider}`, children: /* @__PURE__ */ jsx4("div", { ref, children: /* @__PURE__ */ jsx4(Identicon, { size: calculatedHeight * 0.6, value: `${value}`, sx: { padding: `${calculatedHeight * 0.2}px` }, ...props }) }) }) });
|
|
168
|
+
};
|
|
180
169
|
|
|
181
170
|
// src/components/Value.tsx
|
|
182
171
|
import { EllipsizeBox } from "@xyo-network/react-shared";
|
|
183
|
-
import
|
|
184
|
-
var PropertyValue =
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
172
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
173
|
+
var PropertyValue = ({
|
|
174
|
+
ref,
|
|
175
|
+
typographyVariant = "body1",
|
|
176
|
+
value,
|
|
177
|
+
...props
|
|
178
|
+
}) => {
|
|
179
|
+
return value === void 0 ? null : /* @__PURE__ */ jsx5(
|
|
180
|
+
EllipsizeBox,
|
|
181
|
+
{
|
|
182
|
+
typographyProps: {
|
|
183
|
+
component: void 0,
|
|
184
|
+
title: value?.toString(),
|
|
185
|
+
variant: typographyVariant
|
|
186
|
+
},
|
|
187
|
+
width: "100%",
|
|
188
|
+
ref,
|
|
189
|
+
...props,
|
|
190
|
+
children: value
|
|
191
|
+
}
|
|
192
|
+
);
|
|
193
|
+
};
|
|
196
194
|
PropertyValue.displayName = "PropertyValue";
|
|
197
195
|
|
|
198
196
|
// src/components/Property.tsx
|
|
199
|
-
|
|
197
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
198
|
+
var PropertyBox = ({
|
|
199
|
+
titleProps,
|
|
200
|
+
title,
|
|
201
|
+
value,
|
|
202
|
+
children,
|
|
203
|
+
size = "medium",
|
|
204
|
+
tip,
|
|
205
|
+
actions,
|
|
206
|
+
required,
|
|
207
|
+
badge = false,
|
|
208
|
+
...props
|
|
209
|
+
}) => {
|
|
200
210
|
const sizeValueHeight = {
|
|
201
211
|
large: 48,
|
|
202
212
|
medium: 36,
|
|
@@ -207,56 +217,62 @@ var PropertyBox = /* @__PURE__ */ __name(({ titleProps, title, value, children,
|
|
|
207
217
|
medium: "body1",
|
|
208
218
|
small: "body2"
|
|
209
219
|
};
|
|
210
|
-
return /* @__PURE__ */
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
})
|
|
236
|
-
|
|
237
|
-
}) : null));
|
|
238
|
-
}, "PropertyBox");
|
|
220
|
+
return /* @__PURE__ */ jsxs4(FlexRow5, { flexDirection: "column", minWidth: 0, alignItems: "stretch", overflow: "hidden", ...props, children: [
|
|
221
|
+
title === void 0 ? null : /* @__PURE__ */ jsx6(
|
|
222
|
+
PropertyTitle,
|
|
223
|
+
{
|
|
224
|
+
tip,
|
|
225
|
+
title: required ? `${title}*` : title,
|
|
226
|
+
size,
|
|
227
|
+
more: /* @__PURE__ */ jsx6(PropertyActionsMenu, { actions }),
|
|
228
|
+
...titleProps
|
|
229
|
+
}
|
|
230
|
+
),
|
|
231
|
+
/* @__PURE__ */ jsxs4(
|
|
232
|
+
FlexRow5,
|
|
233
|
+
{
|
|
234
|
+
pl: 1,
|
|
235
|
+
columnGap: 1,
|
|
236
|
+
justifyContent: value === void 0 ? "center" : "space-between",
|
|
237
|
+
overflow: "hidden",
|
|
238
|
+
height: sizeValueHeight[size],
|
|
239
|
+
children: [
|
|
240
|
+
children ?? (value === void 0 ? /* @__PURE__ */ jsx6(CircularProgress, { size: 16 }) : /* @__PURE__ */ jsx6(PropertyValue, { value, typographyVariant: sizeVariants[size] })),
|
|
241
|
+
value === void 0 ? null : badge ? /* @__PURE__ */ jsx6(IdenticonCorner, { value }) : null
|
|
242
|
+
]
|
|
243
|
+
}
|
|
244
|
+
)
|
|
245
|
+
] });
|
|
246
|
+
};
|
|
239
247
|
PropertyBox.displayName = "PropertyBox";
|
|
240
|
-
var PropertyPaper =
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
248
|
+
var PropertyPaper = ({
|
|
249
|
+
ref,
|
|
250
|
+
style,
|
|
251
|
+
variant,
|
|
252
|
+
elevation = 2,
|
|
253
|
+
square,
|
|
254
|
+
...props
|
|
255
|
+
}) => {
|
|
256
|
+
return /* @__PURE__ */ jsx6(
|
|
257
|
+
Paper2,
|
|
258
|
+
{
|
|
259
|
+
ref,
|
|
260
|
+
style: {
|
|
261
|
+
minWidth: 0,
|
|
262
|
+
overflow: "hidden",
|
|
263
|
+
...style
|
|
264
|
+
},
|
|
265
|
+
variant,
|
|
266
|
+
elevation,
|
|
267
|
+
square,
|
|
268
|
+
children: /* @__PURE__ */ jsx6(PropertyBox, { ...props, paper: false })
|
|
269
|
+
}
|
|
270
|
+
);
|
|
271
|
+
};
|
|
256
272
|
PropertyPaper.displayName = "PropertyPaper";
|
|
257
|
-
var Property =
|
|
258
|
-
return props.paper ? /* @__PURE__ */
|
|
259
|
-
}
|
|
273
|
+
var Property = ({ ...props }) => {
|
|
274
|
+
return props.paper ? /* @__PURE__ */ jsx6(PropertyPaper, { ...props }) : /* @__PURE__ */ jsx6(PropertyBox, { ...props });
|
|
275
|
+
};
|
|
260
276
|
Property.displayName = "Property";
|
|
261
277
|
export {
|
|
262
278
|
Property,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/components/Group.tsx","../../src/components/Title.tsx","../../src/components/Property.tsx","../../src/components/ActionsMenu.tsx","../../src/components/IdenticonCorner.tsx","../../src/components/Value.tsx"],"sourcesContent":["import { Paper, useTheme } from '@mui/material'\nimport {\n FlexCol, FlexGrowRow, FlexRow,\n} from '@xylabs/react-flexbox'\nimport { typeOf } from '@xyo-network/typeof'\nimport type { ReactElement } from 'react'\nimport React from 'react'\n\nimport type {\n PropertyGroupBoxProps, PropertyGroupPaperProps, PropertyGroupProps,\n} from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\n\nconst PropertyGroupBox: React.FC<PropertyGroupBoxProps> = ({\n titleProps, children, title, tip, ...props\n}) => {\n const theme = useTheme()\n const childrenArray = typeOf(children) === 'array' ? (children as ReactElement[]) : undefined\n return (\n <FlexCol alignItems=\"stretch\" overflow=\"hidden\" {...props}>\n <FlexRow overflow=\"hidden\" justifyContent=\"stretch\" alignItems=\"stretch\">\n <PropertyTitle alignItems=\"flex-start\" size=\"full\" title={title} tip={tip} {...titleProps} />\n {childrenArray\n ? (\n <FlexGrowRow>\n {childrenArray?.map((child, index) => {\n return child\n ? (\n <FlexGrowRow key={index} borderLeft={1} borderColor={theme.vars.palette.divider}>\n {child}\n </FlexGrowRow>\n )\n : null\n })}\n </FlexGrowRow>\n )\n : <FlexGrowRow overflow=\"hidden\">{children}</FlexGrowRow>}\n </FlexRow>\n </FlexCol>\n )\n}\n\nconst PropertyGroupPaper: React.FC<PropertyGroupPaperProps> = ({\n style, variant, elevation, square, ...props\n}) => {\n return (\n <Paper\n style={{\n minWidth: 0, overflow: 'hidden', ...style,\n }}\n variant={variant}\n elevation={elevation}\n square={square}\n >\n <PropertyGroupBox {...props} paper={false} />\n </Paper>\n )\n}\n\nexport const PropertyGroup: React.FC<PropertyGroupProps> = (props) => {\n return props.paper ? <PropertyGroupPaper {...props} /> : <PropertyGroupBox {...props} />\n}\n","import type { TypographyVariant } from '@mui/material'\nimport {\n Typography, useColorScheme, useTheme,\n} from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { darkenCss, useIsDark } from '@xylabs/react-theme'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nexport type TitleSizeProp = SizeProp | 'full'\n\nexport interface PropertyTitleProps extends FlexBoxProps {\n elevation?: number\n more?: ReactNode\n size?: TitleSizeProp\n tip?: ReactNode\n title?: string\n}\n\nexport const PropertyTitle: React.FC<PropertyTitleProps> = ({\n elevation = 1, size = 'medium', tip, more, title, ...props\n}) => {\n const sizeVariants: Record<TitleSizeProp, TypographyVariant> = {\n full: 'caption',\n large: 'caption',\n medium: 'caption',\n small: 'caption',\n }\n\n const sizeTitleHeight: Record<TitleSizeProp, number | undefined> = {\n full: undefined,\n large: 32,\n medium: 20,\n small: 16,\n }\n\n const sizeFontSize: Record<TitleSizeProp, number> = {\n full: 16,\n large: 16,\n medium: 14,\n small: 10,\n }\n\n const quickTipSize = Math.min(sizeFontSize[size], 16)\n\n const theme = useTheme()\n const {} = useColorScheme()\n const isDark = useIsDark()\n\n return (\n <FlexRow\n bgcolor={\n isDark\n ? darkenCss(theme.vars.palette.background.paper, 0.75 * elevation)\n : darkenCss(theme.vars.palette.background.paper, 0.025 * elevation)\n }\n alignItems=\"center\"\n height={sizeTitleHeight[size]}\n justifyContent=\"space-between\"\n {...props}\n >\n <FlexRow paddingX={1} paddingY={0.5}>\n <Typography fontWeight={500} noWrap variant={sizeVariants[size]} fontSize={sizeFontSize[size]}>\n <small>\n <strong>{title}</strong>\n </small>\n </Typography>\n {tip\n ? (\n <QuickTipButton style={{ fontSize: quickTipSize }} color=\"inherit\" title={title ?? ''}>\n {tip}\n </QuickTipButton>\n )\n : null}\n </FlexRow>\n {more}\n </FlexRow>\n )\n}\n","import type { TypographyVariant } from '@mui/material'\nimport { CircularProgress, Paper } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { PropertyActionsMenu } from './ActionsMenu.tsx'\nimport { IdenticonCorner } from './IdenticonCorner.tsx'\nimport type {\n PropertyBoxProps, PropertyPaperProps, PropertyProps,\n} from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\nimport { PropertyValue } from './Value.tsx'\n\nconst PropertyBox: React.FC<PropertyBoxProps> = ({\n titleProps, title, value, children, size = 'medium', tip, actions, required, badge = false, ...props\n}) => {\n const sizeValueHeight: Record<SizeProp, number> = {\n large: 48,\n medium: 36,\n small: 24,\n }\n\n const sizeVariants: Record<SizeProp, TypographyVariant> = {\n large: 'h6',\n medium: 'body1',\n small: 'body2',\n }\n\n return (\n <FlexRow flexDirection=\"column\" minWidth={0} alignItems=\"stretch\" overflow=\"hidden\" {...props}>\n {title === undefined\n ? null\n : (\n <PropertyTitle\n tip={tip}\n title={required ? `${title}*` : title}\n size={size}\n more={<PropertyActionsMenu actions={actions} />}\n {...titleProps}\n />\n )}\n <FlexRow\n pl={1}\n columnGap={1}\n justifyContent={value === undefined ? 'center' : 'space-between'}\n overflow=\"hidden\"\n height={sizeValueHeight[size]}\n >\n {children ?? ((value === undefined)\n ? <CircularProgress size={16} />\n : <PropertyValue value={value} typographyVariant={sizeVariants[size]} />)}\n {value === undefined\n ? null\n : badge\n ? <IdenticonCorner value={value} />\n : null}\n </FlexRow>\n </FlexRow>\n )\n}\nPropertyBox.displayName = 'PropertyBox'\n\nconst PropertyPaper: React.FC<PropertyPaperProps> = ({\n ref, style, variant, elevation = 2, square, ...props\n}) => {\n return (\n <Paper\n ref={ref}\n style={{\n minWidth: 0, overflow: 'hidden', ...style,\n }}\n variant={variant}\n elevation={elevation}\n square={square}\n >\n <PropertyBox {...props} paper={false} />\n </Paper>\n )\n}\nPropertyPaper.displayName = 'PropertyPaper'\n\nexport const Property: React.FC<PropertyProps> = ({ ...props }) => {\n return props.paper ? <PropertyPaper {...props} /> : <PropertyBox {...props} />\n}\nProperty.displayName = 'Property'\n","import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport {\n IconButton, Menu, MenuItem,\n} from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport type { PropertyActionsProps } from './ActionsProps.ts'\n\nexport const PropertyActionsMenu: React.FC<PropertyActionsProps> = ({ actions, ...props }) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = !!anchorEl\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return actions && actions?.length > 0\n ? (\n <FlexRow {...props}>\n <IconButton size=\"small\" color=\"inherit\" onClick={handleClick}>\n <MoreHorizIcon fontSize=\"inherit\" />\n </IconButton>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>\n {actions?.map((action) => {\n return (\n <MenuItem\n key={action.name}\n onClick={() => {\n action?.onClick?.()\n handleClose()\n }}\n >\n {action.name}\n </MenuItem>\n )\n })}\n </Menu>\n </FlexRow>\n )\n : null\n}\n","import { useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Identicon } from '@xylabs/react-identicon'\nimport React, { useMemo, useRef } from 'react'\n\nexport interface IdenticonCornerProps extends FlexBoxProps {\n value?: string | number | boolean | null\n}\n\nexport const IdenticonCorner: React.FC<IdenticonCornerProps> = ({ value, ...props }) => {\n const theme = useTheme()\n const ref = useRef<HTMLDivElement>(null)\n\n const parentHeight = useMemo(() => ref.current?.parentElement?.parentElement?.clientHeight, [ref.current])\n\n const calculatedHeight = parentHeight ?? 0\n\n return (\n <FlexRow alignItems=\"flex-start\" height=\"100%\">\n <FlexRow background height={calculatedHeight} width={calculatedHeight} borderLeft={`1px solid ${theme.vars.palette.divider}`}>\n <div ref={ref}>\n <Identicon size={calculatedHeight * 0.6} value={`${value}`} sx={{ padding: `${calculatedHeight * 0.2}px` }} {...props} />\n </div>\n </FlexRow>\n </FlexRow>\n )\n}\n","import type { TypographyVariant } from '@mui/material'\nimport type { EllipsizeBoxProps } from '@xyo-network/react-shared'\nimport { EllipsizeBox } from '@xyo-network/react-shared'\nimport React from 'react'\n\nexport interface PropertyValueProps extends EllipsizeBoxProps {\n typographyVariant?: TypographyVariant\n value?: string | number | boolean | null\n}\n\nexport const PropertyValue = ({\n ref, typographyVariant = 'body1', value, ...props\n}: PropertyValueProps) => {\n return value === undefined\n ? null\n : (\n <EllipsizeBox\n typographyProps={{\n component: undefined, title: value?.toString(), variant: typographyVariant,\n }}\n width=\"100%\"\n ref={ref}\n {...props}\n >\n {value}\n </EllipsizeBox>\n )\n}\n\nPropertyValue.displayName = 'PropertyValue'\n"],"mappings":"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","names":["Paper","useTheme","FlexCol","FlexGrowRow","FlexRow","typeOf","React","Typography","useColorScheme","useTheme","FlexRow","QuickTipButton","darkenCss","useIsDark","React","PropertyTitle","elevation","size","tip","more","title","props","sizeVariants","full","large","medium","small","sizeTitleHeight","undefined","sizeFontSize","quickTipSize","Math","min","theme","useTheme","useColorScheme","isDark","useIsDark","FlexRow","bgcolor","darkenCss","vars","palette","background","paper","alignItems","height","justifyContent","paddingX","paddingY","Typography","fontWeight","noWrap","variant","fontSize","strong","QuickTipButton","style","color","PropertyGroupBox","titleProps","children","title","tip","props","theme","useTheme","childrenArray","typeOf","undefined","React","FlexCol","alignItems","overflow","FlexRow","justifyContent","PropertyTitle","size","FlexGrowRow","map","child","index","key","borderLeft","borderColor","vars","palette","divider","PropertyGroupPaper","style","variant","elevation","square","Paper","minWidth","paper","PropertyGroup","CircularProgress","Paper","FlexRow","React","MoreHoriz","MoreHorizIcon","IconButton","Menu","MenuItem","FlexRow","React","useState","PropertyActionsMenu","actions","props","anchorEl","setAnchorEl","useState","open","handleClick","event","currentTarget","handleClose","length","React","FlexRow","IconButton","size","color","onClick","MoreHorizIcon","fontSize","Menu","onClose","map","action","MenuItem","key","name","useTheme","FlexRow","Identicon","React","useMemo","useRef","IdenticonCorner","value","props","theme","useTheme","ref","useRef","parentHeight","useMemo","current","parentElement","clientHeight","calculatedHeight","React","FlexRow","alignItems","height","background","width","borderLeft","vars","palette","divider","div","Identicon","size","sx","padding","EllipsizeBox","React","PropertyValue","ref","typographyVariant","value","props","undefined","React","EllipsizeBox","typographyProps","component","title","toString","variant","width","displayName","PropertyBox","titleProps","title","value","children","size","tip","actions","required","badge","props","sizeValueHeight","large","medium","small","sizeVariants","React","FlexRow","flexDirection","minWidth","alignItems","overflow","undefined","PropertyTitle","more","PropertyActionsMenu","pl","columnGap","justifyContent","height","CircularProgress","PropertyValue","typographyVariant","IdenticonCorner","displayName","PropertyPaper","ref","style","variant","elevation","square","Paper","paper","Property"]}
|
|
1
|
+
{"version":3,"sources":["../../src/components/Group.tsx","../../src/components/Title.tsx","../../src/components/Property.tsx","../../src/components/ActionsMenu.tsx","../../src/components/IdenticonCorner.tsx","../../src/components/Value.tsx"],"sourcesContent":["import { Paper, useTheme } from '@mui/material'\nimport {\n FlexCol, FlexGrowRow, FlexRow,\n} from '@xylabs/react-flexbox'\nimport { typeOf } from '@xyo-network/typeof'\nimport type { ReactElement } from 'react'\nimport React from 'react'\n\nimport type {\n PropertyGroupBoxProps, PropertyGroupPaperProps, PropertyGroupProps,\n} from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\n\nconst PropertyGroupBox: React.FC<PropertyGroupBoxProps> = ({\n titleProps, children, title, tip, ...props\n}) => {\n const theme = useTheme()\n const childrenArray = typeOf(children) === 'array' ? (children as ReactElement[]) : undefined\n return (\n <FlexCol alignItems=\"stretch\" overflow=\"hidden\" {...props}>\n <FlexRow overflow=\"hidden\" justifyContent=\"stretch\" alignItems=\"stretch\">\n <PropertyTitle alignItems=\"flex-start\" size=\"full\" title={title} tip={tip} {...titleProps} />\n {childrenArray\n ? (\n <FlexGrowRow>\n {childrenArray?.map((child, index) => {\n return child\n ? (\n <FlexGrowRow key={child.key ?? `group-child-${index}`} borderLeft={1} borderColor={theme.vars.palette.divider}>\n {child}\n </FlexGrowRow>\n )\n : null\n })}\n </FlexGrowRow>\n )\n : <FlexGrowRow overflow=\"hidden\">{children}</FlexGrowRow>}\n </FlexRow>\n </FlexCol>\n )\n}\n\nconst PropertyGroupPaper: React.FC<PropertyGroupPaperProps> = ({\n style, variant, elevation, square, ...props\n}) => {\n return (\n <Paper\n style={{\n minWidth: 0, overflow: 'hidden', ...style,\n }}\n variant={variant}\n elevation={elevation}\n square={square}\n >\n <PropertyGroupBox {...props} paper={false} />\n </Paper>\n )\n}\n\nexport const PropertyGroup: React.FC<PropertyGroupProps> = (props) => {\n // eslint-disable-next-line react-x/prefer-destructuring-assignment\n return props.paper ? <PropertyGroupPaper {...props} /> : <PropertyGroupBox {...props} />\n}\n","import type { TypographyVariant } from '@mui/material'\nimport { Typography, useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { darkenCss, useIsDark } from '@xylabs/react-theme'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport type { ReactNode } from 'react'\nimport React from 'react'\n\nexport type TitleSizeProp = SizeProp | 'full'\n\nexport interface PropertyTitleProps extends FlexBoxProps {\n elevation?: number\n more?: ReactNode\n size?: TitleSizeProp\n tip?: ReactNode\n title?: string\n}\n\nexport const PropertyTitle: React.FC<PropertyTitleProps> = ({\n elevation = 1, size = 'medium', tip, more, title, ...props\n}) => {\n const sizeVariants: Record<TitleSizeProp, TypographyVariant> = {\n full: 'caption',\n large: 'caption',\n medium: 'caption',\n small: 'caption',\n }\n\n const sizeTitleHeight: Record<TitleSizeProp, number | undefined> = {\n full: undefined,\n large: 32,\n medium: 20,\n small: 16,\n }\n\n const sizeFontSize: Record<TitleSizeProp, number> = {\n full: 16,\n large: 16,\n medium: 14,\n small: 10,\n }\n\n const quickTipSize = Math.min(sizeFontSize[size], 16)\n\n const theme = useTheme()\n const isDark = useIsDark()\n\n return (\n <FlexRow\n bgcolor={\n isDark\n ? darkenCss(theme.vars.palette.background.paper, 0.75 * elevation)\n : darkenCss(theme.vars.palette.background.paper, 0.025 * elevation)\n }\n alignItems=\"center\"\n height={sizeTitleHeight[size]}\n justifyContent=\"space-between\"\n {...props}\n >\n <FlexRow paddingX={1} paddingY={0.5}>\n <Typography fontWeight={500} noWrap variant={sizeVariants[size]} fontSize={sizeFontSize[size]}>\n <small>\n <strong>{title}</strong>\n </small>\n </Typography>\n {tip\n ? (\n <QuickTipButton style={{ fontSize: quickTipSize }} color=\"inherit\" title={title ?? ''}>\n {tip}\n </QuickTipButton>\n )\n : null}\n </FlexRow>\n {more}\n </FlexRow>\n )\n}\n","import type { TypographyVariant } from '@mui/material'\nimport { CircularProgress, Paper } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport type { SizeProp } from '@xyo-network/react-shared'\nimport React from 'react'\n\nimport { PropertyActionsMenu } from './ActionsMenu.tsx'\nimport { IdenticonCorner } from './IdenticonCorner.tsx'\nimport type {\n PropertyBoxProps, PropertyPaperProps, PropertyProps,\n} from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\nimport { PropertyValue } from './Value.tsx'\n\nconst PropertyBox: React.FC<PropertyBoxProps> = ({\n titleProps, title, value, children, size = 'medium', tip, actions, required, badge = false, ...props\n}) => {\n const sizeValueHeight: Record<SizeProp, number> = {\n large: 48,\n medium: 36,\n small: 24,\n }\n\n const sizeVariants: Record<SizeProp, TypographyVariant> = {\n large: 'h6',\n medium: 'body1',\n small: 'body2',\n }\n\n return (\n <FlexRow flexDirection=\"column\" minWidth={0} alignItems=\"stretch\" overflow=\"hidden\" {...props}>\n {title === undefined\n ? null\n : (\n <PropertyTitle\n tip={tip}\n title={required ? `${title}*` : title}\n size={size}\n more={<PropertyActionsMenu actions={actions} />}\n {...titleProps}\n />\n )}\n <FlexRow\n pl={1}\n columnGap={1}\n justifyContent={value === undefined ? 'center' : 'space-between'}\n overflow=\"hidden\"\n height={sizeValueHeight[size]}\n >\n {children ?? ((value === undefined)\n ? <CircularProgress size={16} />\n : <PropertyValue value={value} typographyVariant={sizeVariants[size]} />)}\n {value === undefined\n ? null\n : badge\n ? <IdenticonCorner value={value} />\n : null}\n </FlexRow>\n </FlexRow>\n )\n}\nPropertyBox.displayName = 'PropertyBox'\n\nconst PropertyPaper: React.FC<PropertyPaperProps> = ({\n ref, style, variant, elevation = 2, square, ...props\n}) => {\n return (\n <Paper\n ref={ref}\n style={{\n minWidth: 0, overflow: 'hidden', ...style,\n }}\n variant={variant}\n elevation={elevation}\n square={square}\n >\n <PropertyBox {...props} paper={false} />\n </Paper>\n )\n}\nPropertyPaper.displayName = 'PropertyPaper'\n\nexport const Property: React.FC<PropertyProps> = ({ ...props }) => {\n return props.paper ? <PropertyPaper {...props} /> : <PropertyBox {...props} />\n}\nProperty.displayName = 'Property'\n","import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport {\n IconButton, Menu, MenuItem,\n} from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport type { PropertyActionsProps } from './ActionsProps.ts'\n\nexport const PropertyActionsMenu: React.FC<PropertyActionsProps> = ({ actions, ...props }) => {\n const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)\n const open = !!anchorEl\n\n const handleClick = (event: React.MouseEvent<HTMLElement>) => {\n setAnchorEl(event.currentTarget)\n }\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return actions && actions?.length > 0\n ? (\n <FlexRow {...props}>\n <IconButton size=\"small\" color=\"inherit\" onClick={handleClick}>\n <MoreHorizIcon fontSize=\"inherit\" />\n </IconButton>\n <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>\n {actions?.map((action) => {\n return (\n <MenuItem\n key={action.name}\n onClick={() => {\n action?.onClick?.()\n handleClose()\n }}\n >\n {action.name}\n </MenuItem>\n )\n })}\n </Menu>\n </FlexRow>\n )\n : null\n}\n","import { useTheme } from '@mui/material'\nimport type { FlexBoxProps } from '@xylabs/react-flexbox'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { Identicon } from '@xylabs/react-identicon'\nimport React, {\n useLayoutEffect, useRef, useState,\n} from 'react'\n\nexport interface IdenticonCornerProps extends FlexBoxProps {\n value?: string | number | boolean | null\n}\n\nexport const IdenticonCorner: React.FC<IdenticonCornerProps> = ({ value, ...props }) => {\n const theme = useTheme()\n const ref = useRef<HTMLDivElement>(null)\n const [calculatedHeight, setCalculatedHeight] = useState(0)\n\n useLayoutEffect(() => {\n const height = ref.current?.parentElement?.parentElement?.clientHeight ?? 0\n // eslint-disable-next-line react-x/set-state-in-effect\n setCalculatedHeight(height)\n }, [])\n\n return (\n <FlexRow alignItems=\"flex-start\" height=\"100%\">\n <FlexRow background height={calculatedHeight} width={calculatedHeight} borderLeft={`1px solid ${theme.vars.palette.divider}`}>\n <div ref={ref}>\n <Identicon size={calculatedHeight * 0.6} value={`${value}`} sx={{ padding: `${calculatedHeight * 0.2}px` }} {...props} />\n </div>\n </FlexRow>\n </FlexRow>\n )\n}\n","import type { TypographyVariant } from '@mui/material'\nimport type { EllipsizeBoxProps } from '@xyo-network/react-shared'\nimport { EllipsizeBox } from '@xyo-network/react-shared'\nimport React from 'react'\n\nexport interface PropertyValueProps extends EllipsizeBoxProps {\n typographyVariant?: TypographyVariant\n value?: string | number | boolean | null\n}\n\nexport const PropertyValue = ({\n ref, typographyVariant = 'body1', value, ...props\n}: PropertyValueProps) => {\n return value === undefined\n ? null\n : (\n <EllipsizeBox\n typographyProps={{\n component: undefined, title: value?.toString(), variant: typographyVariant,\n }}\n width=\"100%\"\n ref={ref}\n {...props}\n >\n {value}\n </EllipsizeBox>\n )\n}\n\nPropertyValue.displayName = 'PropertyValue'\n"],"mappings":"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","names":["useTheme","FlexRow","jsx","jsxs","useTheme","FlexRow","Paper","FlexRow","FlexRow","jsx","jsxs","useTheme","FlexRow","useState","jsx","jsx","jsx","jsxs","FlexRow","Paper"]}
|