@xyo-network/react-property 2.81.10 → 2.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/dist/browser/index.d.ts +63 -2
  2. package/dist/browser/index.mjs +272 -0
  3. package/dist/browser/index.mjs.map +1 -0
  4. package/package.json +16 -32
  5. package/src/components/Actions.tsx +32 -25
  6. package/src/components/ActionsMenu.tsx +25 -23
  7. package/src/components/ActionsProps.ts +1 -1
  8. package/src/components/Group.tsx +18 -14
  9. package/src/components/IdenticonCorner.tsx +1 -1
  10. package/src/components/Property.tsx +25 -23
  11. package/src/components/PropertyBox.stories.tsx +3 -3
  12. package/src/components/PropertyPaper.stories.tsx +3 -3
  13. package/src/components/{Props.tsx → Props.ts} +2 -2
  14. package/src/components/Title.stories.tsx +3 -3
  15. package/src/components/Title.tsx +11 -9
  16. package/src/components/Value.stories.tsx +3 -3
  17. package/src/components/Value.tsx +14 -11
  18. package/src/components/index.ts +6 -6
  19. package/src/index.ts +1 -1
  20. package/xy.config.ts +12 -0
  21. package/dist/browser/components/Action.d.cts +0 -8
  22. package/dist/browser/components/Action.d.cts.map +0 -1
  23. package/dist/browser/components/Action.d.mts +0 -8
  24. package/dist/browser/components/Action.d.mts.map +0 -1
  25. package/dist/browser/components/Action.d.ts +0 -8
  26. package/dist/browser/components/Action.d.ts.map +0 -1
  27. package/dist/browser/components/Actions.d.cts +0 -3
  28. package/dist/browser/components/Actions.d.cts.map +0 -1
  29. package/dist/browser/components/Actions.d.mts +0 -3
  30. package/dist/browser/components/Actions.d.mts.map +0 -1
  31. package/dist/browser/components/Actions.d.ts +0 -3
  32. package/dist/browser/components/Actions.d.ts.map +0 -1
  33. package/dist/browser/components/ActionsMenu.d.cts +0 -3
  34. package/dist/browser/components/ActionsMenu.d.cts.map +0 -1
  35. package/dist/browser/components/ActionsMenu.d.mts +0 -3
  36. package/dist/browser/components/ActionsMenu.d.mts.map +0 -1
  37. package/dist/browser/components/ActionsMenu.d.ts +0 -3
  38. package/dist/browser/components/ActionsMenu.d.ts.map +0 -1
  39. package/dist/browser/components/ActionsProps.d.cts +0 -7
  40. package/dist/browser/components/ActionsProps.d.cts.map +0 -1
  41. package/dist/browser/components/ActionsProps.d.mts +0 -7
  42. package/dist/browser/components/ActionsProps.d.mts.map +0 -1
  43. package/dist/browser/components/ActionsProps.d.ts +0 -7
  44. package/dist/browser/components/ActionsProps.d.ts.map +0 -1
  45. package/dist/browser/components/Group.d.cts +0 -3
  46. package/dist/browser/components/Group.d.cts.map +0 -1
  47. package/dist/browser/components/Group.d.mts +0 -3
  48. package/dist/browser/components/Group.d.mts.map +0 -1
  49. package/dist/browser/components/Group.d.ts +0 -3
  50. package/dist/browser/components/Group.d.ts.map +0 -1
  51. package/dist/browser/components/IdenticonCorner.d.cts +0 -6
  52. package/dist/browser/components/IdenticonCorner.d.cts.map +0 -1
  53. package/dist/browser/components/IdenticonCorner.d.mts +0 -6
  54. package/dist/browser/components/IdenticonCorner.d.mts.map +0 -1
  55. package/dist/browser/components/IdenticonCorner.d.ts +0 -6
  56. package/dist/browser/components/IdenticonCorner.d.ts.map +0 -1
  57. package/dist/browser/components/Property.d.cts +0 -3
  58. package/dist/browser/components/Property.d.cts.map +0 -1
  59. package/dist/browser/components/Property.d.mts +0 -3
  60. package/dist/browser/components/Property.d.mts.map +0 -1
  61. package/dist/browser/components/Property.d.ts +0 -3
  62. package/dist/browser/components/Property.d.ts.map +0 -1
  63. package/dist/browser/components/Props.d.cts +0 -35
  64. package/dist/browser/components/Props.d.cts.map +0 -1
  65. package/dist/browser/components/Props.d.mts +0 -35
  66. package/dist/browser/components/Props.d.mts.map +0 -1
  67. package/dist/browser/components/Props.d.ts +0 -35
  68. package/dist/browser/components/Props.d.ts.map +0 -1
  69. package/dist/browser/components/Title.d.cts +0 -13
  70. package/dist/browser/components/Title.d.cts.map +0 -1
  71. package/dist/browser/components/Title.d.mts +0 -13
  72. package/dist/browser/components/Title.d.mts.map +0 -1
  73. package/dist/browser/components/Title.d.ts +0 -13
  74. package/dist/browser/components/Title.d.ts.map +0 -1
  75. package/dist/browser/components/Value.d.cts +0 -8
  76. package/dist/browser/components/Value.d.cts.map +0 -1
  77. package/dist/browser/components/Value.d.mts +0 -8
  78. package/dist/browser/components/Value.d.mts.map +0 -1
  79. package/dist/browser/components/Value.d.ts +0 -8
  80. package/dist/browser/components/Value.d.ts.map +0 -1
  81. package/dist/browser/components/index.d.cts +0 -7
  82. package/dist/browser/components/index.d.cts.map +0 -1
  83. package/dist/browser/components/index.d.mts +0 -7
  84. package/dist/browser/components/index.d.mts.map +0 -1
  85. package/dist/browser/components/index.d.ts +0 -7
  86. package/dist/browser/components/index.d.ts.map +0 -1
  87. package/dist/browser/index.cjs +0 -223
  88. package/dist/browser/index.cjs.map +0 -1
  89. package/dist/browser/index.d.cts +0 -2
  90. package/dist/browser/index.d.cts.map +0 -1
  91. package/dist/browser/index.d.mts +0 -2
  92. package/dist/browser/index.d.mts.map +0 -1
  93. package/dist/browser/index.d.ts.map +0 -1
  94. package/dist/browser/index.js +0 -200
  95. package/dist/browser/index.js.map +0 -1
  96. package/dist/neutral/components/Action.d.cts +0 -8
  97. package/dist/neutral/components/Action.d.cts.map +0 -1
  98. package/dist/neutral/components/Action.d.mts +0 -8
  99. package/dist/neutral/components/Action.d.mts.map +0 -1
  100. package/dist/neutral/components/Action.d.ts +0 -8
  101. package/dist/neutral/components/Action.d.ts.map +0 -1
  102. package/dist/neutral/components/Actions.d.cts +0 -3
  103. package/dist/neutral/components/Actions.d.cts.map +0 -1
  104. package/dist/neutral/components/Actions.d.mts +0 -3
  105. package/dist/neutral/components/Actions.d.mts.map +0 -1
  106. package/dist/neutral/components/Actions.d.ts +0 -3
  107. package/dist/neutral/components/Actions.d.ts.map +0 -1
  108. package/dist/neutral/components/ActionsMenu.d.cts +0 -3
  109. package/dist/neutral/components/ActionsMenu.d.cts.map +0 -1
  110. package/dist/neutral/components/ActionsMenu.d.mts +0 -3
  111. package/dist/neutral/components/ActionsMenu.d.mts.map +0 -1
  112. package/dist/neutral/components/ActionsMenu.d.ts +0 -3
  113. package/dist/neutral/components/ActionsMenu.d.ts.map +0 -1
  114. package/dist/neutral/components/ActionsProps.d.cts +0 -7
  115. package/dist/neutral/components/ActionsProps.d.cts.map +0 -1
  116. package/dist/neutral/components/ActionsProps.d.mts +0 -7
  117. package/dist/neutral/components/ActionsProps.d.mts.map +0 -1
  118. package/dist/neutral/components/ActionsProps.d.ts +0 -7
  119. package/dist/neutral/components/ActionsProps.d.ts.map +0 -1
  120. package/dist/neutral/components/Group.d.cts +0 -3
  121. package/dist/neutral/components/Group.d.cts.map +0 -1
  122. package/dist/neutral/components/Group.d.mts +0 -3
  123. package/dist/neutral/components/Group.d.mts.map +0 -1
  124. package/dist/neutral/components/Group.d.ts +0 -3
  125. package/dist/neutral/components/Group.d.ts.map +0 -1
  126. package/dist/neutral/components/IdenticonCorner.d.cts +0 -6
  127. package/dist/neutral/components/IdenticonCorner.d.cts.map +0 -1
  128. package/dist/neutral/components/IdenticonCorner.d.mts +0 -6
  129. package/dist/neutral/components/IdenticonCorner.d.mts.map +0 -1
  130. package/dist/neutral/components/IdenticonCorner.d.ts +0 -6
  131. package/dist/neutral/components/IdenticonCorner.d.ts.map +0 -1
  132. package/dist/neutral/components/Property.d.cts +0 -3
  133. package/dist/neutral/components/Property.d.cts.map +0 -1
  134. package/dist/neutral/components/Property.d.mts +0 -3
  135. package/dist/neutral/components/Property.d.mts.map +0 -1
  136. package/dist/neutral/components/Property.d.ts +0 -3
  137. package/dist/neutral/components/Property.d.ts.map +0 -1
  138. package/dist/neutral/components/Props.d.cts +0 -35
  139. package/dist/neutral/components/Props.d.cts.map +0 -1
  140. package/dist/neutral/components/Props.d.mts +0 -35
  141. package/dist/neutral/components/Props.d.mts.map +0 -1
  142. package/dist/neutral/components/Props.d.ts +0 -35
  143. package/dist/neutral/components/Props.d.ts.map +0 -1
  144. package/dist/neutral/components/Title.d.cts +0 -13
  145. package/dist/neutral/components/Title.d.cts.map +0 -1
  146. package/dist/neutral/components/Title.d.mts +0 -13
  147. package/dist/neutral/components/Title.d.mts.map +0 -1
  148. package/dist/neutral/components/Title.d.ts +0 -13
  149. package/dist/neutral/components/Title.d.ts.map +0 -1
  150. package/dist/neutral/components/Value.d.cts +0 -8
  151. package/dist/neutral/components/Value.d.cts.map +0 -1
  152. package/dist/neutral/components/Value.d.mts +0 -8
  153. package/dist/neutral/components/Value.d.mts.map +0 -1
  154. package/dist/neutral/components/Value.d.ts +0 -8
  155. package/dist/neutral/components/Value.d.ts.map +0 -1
  156. package/dist/neutral/components/index.d.cts +0 -7
  157. package/dist/neutral/components/index.d.cts.map +0 -1
  158. package/dist/neutral/components/index.d.mts +0 -7
  159. package/dist/neutral/components/index.d.mts.map +0 -1
  160. package/dist/neutral/components/index.d.ts +0 -7
  161. package/dist/neutral/components/index.d.ts.map +0 -1
  162. package/dist/neutral/index.cjs +0 -223
  163. package/dist/neutral/index.cjs.map +0 -1
  164. package/dist/neutral/index.d.cts +0 -2
  165. package/dist/neutral/index.d.cts.map +0 -1
  166. package/dist/neutral/index.d.mts +0 -2
  167. package/dist/neutral/index.d.mts.map +0 -1
  168. package/dist/neutral/index.d.ts +0 -2
  169. package/dist/neutral/index.d.ts.map +0 -1
  170. package/dist/neutral/index.js +0 -200
  171. package/dist/neutral/index.js.map +0 -1
  172. package/dist/node/components/Action.d.cts +0 -8
  173. package/dist/node/components/Action.d.cts.map +0 -1
  174. package/dist/node/components/Action.d.mts +0 -8
  175. package/dist/node/components/Action.d.mts.map +0 -1
  176. package/dist/node/components/Action.d.ts +0 -8
  177. package/dist/node/components/Action.d.ts.map +0 -1
  178. package/dist/node/components/Actions.d.cts +0 -3
  179. package/dist/node/components/Actions.d.cts.map +0 -1
  180. package/dist/node/components/Actions.d.mts +0 -3
  181. package/dist/node/components/Actions.d.mts.map +0 -1
  182. package/dist/node/components/Actions.d.ts +0 -3
  183. package/dist/node/components/Actions.d.ts.map +0 -1
  184. package/dist/node/components/ActionsMenu.d.cts +0 -3
  185. package/dist/node/components/ActionsMenu.d.cts.map +0 -1
  186. package/dist/node/components/ActionsMenu.d.mts +0 -3
  187. package/dist/node/components/ActionsMenu.d.mts.map +0 -1
  188. package/dist/node/components/ActionsMenu.d.ts +0 -3
  189. package/dist/node/components/ActionsMenu.d.ts.map +0 -1
  190. package/dist/node/components/ActionsProps.d.cts +0 -7
  191. package/dist/node/components/ActionsProps.d.cts.map +0 -1
  192. package/dist/node/components/ActionsProps.d.mts +0 -7
  193. package/dist/node/components/ActionsProps.d.mts.map +0 -1
  194. package/dist/node/components/ActionsProps.d.ts +0 -7
  195. package/dist/node/components/ActionsProps.d.ts.map +0 -1
  196. package/dist/node/components/Group.d.cts +0 -3
  197. package/dist/node/components/Group.d.cts.map +0 -1
  198. package/dist/node/components/Group.d.mts +0 -3
  199. package/dist/node/components/Group.d.mts.map +0 -1
  200. package/dist/node/components/Group.d.ts +0 -3
  201. package/dist/node/components/Group.d.ts.map +0 -1
  202. package/dist/node/components/IdenticonCorner.d.cts +0 -6
  203. package/dist/node/components/IdenticonCorner.d.cts.map +0 -1
  204. package/dist/node/components/IdenticonCorner.d.mts +0 -6
  205. package/dist/node/components/IdenticonCorner.d.mts.map +0 -1
  206. package/dist/node/components/IdenticonCorner.d.ts +0 -6
  207. package/dist/node/components/IdenticonCorner.d.ts.map +0 -1
  208. package/dist/node/components/Property.d.cts +0 -3
  209. package/dist/node/components/Property.d.cts.map +0 -1
  210. package/dist/node/components/Property.d.mts +0 -3
  211. package/dist/node/components/Property.d.mts.map +0 -1
  212. package/dist/node/components/Property.d.ts +0 -3
  213. package/dist/node/components/Property.d.ts.map +0 -1
  214. package/dist/node/components/Props.d.cts +0 -35
  215. package/dist/node/components/Props.d.cts.map +0 -1
  216. package/dist/node/components/Props.d.mts +0 -35
  217. package/dist/node/components/Props.d.mts.map +0 -1
  218. package/dist/node/components/Props.d.ts +0 -35
  219. package/dist/node/components/Props.d.ts.map +0 -1
  220. package/dist/node/components/Title.d.cts +0 -13
  221. package/dist/node/components/Title.d.cts.map +0 -1
  222. package/dist/node/components/Title.d.mts +0 -13
  223. package/dist/node/components/Title.d.mts.map +0 -1
  224. package/dist/node/components/Title.d.ts +0 -13
  225. package/dist/node/components/Title.d.ts.map +0 -1
  226. package/dist/node/components/Value.d.cts +0 -8
  227. package/dist/node/components/Value.d.cts.map +0 -1
  228. package/dist/node/components/Value.d.mts +0 -8
  229. package/dist/node/components/Value.d.mts.map +0 -1
  230. package/dist/node/components/Value.d.ts +0 -8
  231. package/dist/node/components/Value.d.ts.map +0 -1
  232. package/dist/node/components/index.d.cts +0 -7
  233. package/dist/node/components/index.d.cts.map +0 -1
  234. package/dist/node/components/index.d.mts +0 -7
  235. package/dist/node/components/index.d.mts.map +0 -1
  236. package/dist/node/components/index.d.ts +0 -7
  237. package/dist/node/components/index.d.ts.map +0 -1
  238. package/dist/node/index.cjs +0 -232
  239. package/dist/node/index.cjs.map +0 -1
  240. package/dist/node/index.d.cts +0 -2
  241. package/dist/node/index.d.cts.map +0 -1
  242. package/dist/node/index.d.mts +0 -2
  243. package/dist/node/index.d.mts.map +0 -1
  244. package/dist/node/index.d.ts +0 -2
  245. package/dist/node/index.d.ts.map +0 -1
  246. package/dist/node/index.js +0 -202
  247. package/dist/node/index.js.map +0 -1
@@ -1,2 +1,63 @@
1
- export * from './components/index.js';
2
- //# sourceMappingURL=index.d.ts.map
1
+ import React, { ReactNode } from 'react';
2
+ import { PaperProps } from '@mui/material';
3
+ import { FlexBoxProps } from '@xylabs/react-flexbox';
4
+ import { SizeProp, EllipsizeBoxProps } from '@xyo-network/react-shared';
5
+ import { Variant } from '@mui/material/styles/createTypography.js';
6
+
7
+ interface PropertyAction {
8
+ disabled?: boolean;
9
+ icon?: ReactNode;
10
+ name: string;
11
+ onClick?: () => void;
12
+ }
13
+
14
+ type TitleSizeProp = SizeProp | 'full';
15
+ interface PropertyTitleProps extends FlexBoxProps {
16
+ elevation?: number;
17
+ more?: ReactNode;
18
+ size?: TitleSizeProp;
19
+ tip?: ReactNode;
20
+ title?: string;
21
+ }
22
+ declare const PropertyTitle: React.FC<PropertyTitleProps>;
23
+
24
+ interface PropertyBaseProps {
25
+ paper?: boolean;
26
+ tip?: ReactNode;
27
+ title?: string;
28
+ titleProps?: PropertyTitleProps;
29
+ }
30
+ type PropertyFieldBaseProps = PropertyBaseProps & {
31
+ actions?: PropertyAction[];
32
+ badge?: boolean;
33
+ required?: boolean;
34
+ size?: SizeProp;
35
+ value?: string | number | boolean | null;
36
+ };
37
+ type PropertyBoxProps = PropertyFieldBaseProps & FlexBoxProps & {
38
+ paper?: false;
39
+ };
40
+ type PropertyPaperProps = PropertyFieldBaseProps & PaperProps & {
41
+ paper: true;
42
+ };
43
+ type PropertyProps = PropertyBoxProps | PropertyPaperProps;
44
+ type PropertyGroupBaseProps = PropertyBaseProps;
45
+ type PropertyGroupBoxProps = PropertyGroupBaseProps & FlexBoxProps & {
46
+ paper?: false;
47
+ };
48
+ type PropertyGroupPaperProps = PropertyGroupBaseProps & PaperProps & {
49
+ paper: true;
50
+ };
51
+ type PropertyGroupProps = PropertyGroupBoxProps | PropertyGroupPaperProps;
52
+
53
+ declare const PropertyGroup: React.FC<PropertyGroupProps>;
54
+
55
+ declare const Property: React.ForwardRefExoticComponent<(PropertyBoxProps | Omit<PropertyPaperProps, "ref">) & React.RefAttributes<HTMLDivElement>>;
56
+
57
+ interface PropertyValueProps extends Omit<EllipsizeBoxProps, 'ref'> {
58
+ typographyVariant?: Variant;
59
+ value?: string | number | boolean | null;
60
+ }
61
+ declare const PropertyValue: React.ForwardRefExoticComponent<PropertyValueProps & React.RefAttributes<HTMLDivElement>>;
62
+
63
+ export { Property, type PropertyAction, type PropertyBaseProps, type PropertyBoxProps, type PropertyFieldBaseProps, PropertyGroup, type PropertyGroupBaseProps, type PropertyGroupBoxProps, type PropertyGroupPaperProps, type PropertyGroupProps, type PropertyPaperProps, type PropertyProps, PropertyTitle, type PropertyTitleProps, PropertyValue, type PropertyValueProps, type TitleSizeProp };
@@ -0,0 +1,272 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
+
4
+ // src/components/Group.tsx
5
+ import { Paper, useTheme as useTheme2 } from "@mui/material";
6
+ import { FlexCol, FlexGrowRow, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
7
+ import { typeOf } from "@xyo-network/typeof";
8
+ import React2 from "react";
9
+
10
+ // src/components/Title.tsx
11
+ import { darken, lighten, Typography, useTheme } from "@mui/material";
12
+ import { FlexRow } from "@xylabs/react-flexbox";
13
+ import { QuickTipButton } from "@xylabs/react-quick-tip-button";
14
+ import React from "react";
15
+ var PropertyTitle = /* @__PURE__ */ __name(({ elevation = 1, size = "medium", tip, more, title, ...props }) => {
16
+ const sizeVariants = {
17
+ full: "caption",
18
+ large: "caption",
19
+ medium: "caption",
20
+ small: "caption"
21
+ };
22
+ const sizeTitleHeight = {
23
+ full: void 0,
24
+ large: 32,
25
+ medium: 20,
26
+ small: 16
27
+ };
28
+ const sizeFontSize = {
29
+ full: 16,
30
+ large: 16,
31
+ medium: 14,
32
+ small: 10
33
+ };
34
+ const quickTipSize = sizeFontSize[size] < 16 ? sizeFontSize[size] : 16;
35
+ const theme = useTheme();
36
+ return /* @__PURE__ */ React.createElement(FlexRow, {
37
+ bgcolor: theme.palette.mode === "dark" ? lighten(theme.palette.background.paper, 0.05 * elevation) : darken(theme.palette.background.paper, 0.025 * elevation),
38
+ alignItems: "center",
39
+ height: sizeTitleHeight[size],
40
+ justifyContent: "space-between",
41
+ ...props
42
+ }, /* @__PURE__ */ React.createElement(FlexRow, {
43
+ paddingX: 1,
44
+ paddingY: 0.5
45
+ }, /* @__PURE__ */ React.createElement(Typography, {
46
+ fontWeight: 500,
47
+ noWrap: true,
48
+ variant: sizeVariants[size],
49
+ fontSize: sizeFontSize[size]
50
+ }, /* @__PURE__ */ React.createElement("small", null, /* @__PURE__ */ React.createElement("strong", null, title))), tip ? /* @__PURE__ */ React.createElement(QuickTipButton, {
51
+ style: {
52
+ fontSize: quickTipSize
53
+ },
54
+ color: "inherit",
55
+ title: title ?? ""
56
+ }, tip) : null), more);
57
+ }, "PropertyTitle");
58
+
59
+ // src/components/Group.tsx
60
+ var PropertyGroupBox = /* @__PURE__ */ __name(({ titleProps, children, title, tip, ...props }) => {
61
+ const theme = useTheme2();
62
+ const childrenArray = typeOf(children) === "array" ? children : void 0;
63
+ return /* @__PURE__ */ React2.createElement(FlexCol, {
64
+ alignItems: "stretch",
65
+ overflow: "hidden",
66
+ ...props
67
+ }, /* @__PURE__ */ React2.createElement(FlexRow2, {
68
+ overflow: "hidden",
69
+ justifyContent: "stretch",
70
+ alignItems: "stretch"
71
+ }, /* @__PURE__ */ React2.createElement(PropertyTitle, {
72
+ alignItems: "flex-start",
73
+ size: "full",
74
+ title,
75
+ tip,
76
+ ...titleProps
77
+ }), childrenArray ? /* @__PURE__ */ React2.createElement(FlexGrowRow, null, childrenArray?.map((child, index) => {
78
+ return child ? /* @__PURE__ */ React2.createElement(FlexGrowRow, {
79
+ key: index,
80
+ borderLeft: 1,
81
+ borderColor: theme.palette.divider
82
+ }, child) : null;
83
+ })) : /* @__PURE__ */ React2.createElement(FlexGrowRow, {
84
+ overflow: "hidden"
85
+ }, children)));
86
+ }, "PropertyGroupBox");
87
+ var PropertyGroupPaper = /* @__PURE__ */ __name(({ style, variant, elevation, square, ...props }) => {
88
+ return /* @__PURE__ */ React2.createElement(Paper, {
89
+ style: {
90
+ minWidth: 0,
91
+ overflow: "hidden",
92
+ ...style
93
+ },
94
+ variant,
95
+ elevation,
96
+ square
97
+ }, /* @__PURE__ */ React2.createElement(PropertyGroupBox, {
98
+ ...props,
99
+ paper: false
100
+ }));
101
+ }, "PropertyGroupPaper");
102
+ var PropertyGroup = /* @__PURE__ */ __name((props) => {
103
+ return props.paper ? /* @__PURE__ */ React2.createElement(PropertyGroupPaper, props) : /* @__PURE__ */ React2.createElement(PropertyGroupBox, props);
104
+ }, "PropertyGroup");
105
+
106
+ // src/components/Property.tsx
107
+ import { CircularProgress, Paper as Paper2 } from "@mui/material";
108
+ import { FlexRow as FlexRow5 } from "@xylabs/react-flexbox";
109
+ import React6, { forwardRef as forwardRef2 } from "react";
110
+
111
+ // src/components/ActionsMenu.tsx
112
+ import { MoreHoriz as MoreHorizIcon } from "@mui/icons-material";
113
+ import { IconButton, Menu, MenuItem } from "@mui/material";
114
+ import { FlexRow as FlexRow3 } from "@xylabs/react-flexbox";
115
+ import React3, { useState } from "react";
116
+ var PropertyActionsMenu = /* @__PURE__ */ __name(({ actions, ...props }) => {
117
+ const [anchorEl, setAnchorEl] = useState(null);
118
+ const open = !!anchorEl;
119
+ const handleClick = /* @__PURE__ */ __name((event) => {
120
+ setAnchorEl(event.currentTarget);
121
+ }, "handleClick");
122
+ const handleClose = /* @__PURE__ */ __name(() => {
123
+ setAnchorEl(null);
124
+ }, "handleClose");
125
+ return actions && actions?.length > 0 ? /* @__PURE__ */ React3.createElement(FlexRow3, props, /* @__PURE__ */ React3.createElement(IconButton, {
126
+ size: "small",
127
+ color: "inherit",
128
+ onClick: handleClick
129
+ }, /* @__PURE__ */ React3.createElement(MoreHorizIcon, {
130
+ fontSize: "inherit"
131
+ })), /* @__PURE__ */ React3.createElement(Menu, {
132
+ anchorEl,
133
+ open,
134
+ onClose: handleClose
135
+ }, actions?.map((action) => {
136
+ return /* @__PURE__ */ React3.createElement(MenuItem, {
137
+ key: action.name,
138
+ onClick: /* @__PURE__ */ __name(() => {
139
+ action?.onClick?.();
140
+ handleClose();
141
+ }, "onClick")
142
+ }, action.name);
143
+ }))) : null;
144
+ }, "PropertyActionsMenu");
145
+
146
+ // src/components/IdenticonCorner.tsx
147
+ import { useTheme as useTheme3 } from "@mui/material";
148
+ import { FlexRow as FlexRow4 } from "@xylabs/react-flexbox";
149
+ import { Identicon } from "@xylabs/react-identicon";
150
+ import React4, { useEffect, useRef, useState as useState2 } from "react";
151
+ var IdenticonCorner = /* @__PURE__ */ __name(({ value, ...props }) => {
152
+ const theme = useTheme3();
153
+ const [parentHeight, setParentHeight] = useState2();
154
+ const ref = useRef(null);
155
+ useEffect(() => {
156
+ setParentHeight(ref.current?.parentElement?.parentElement?.clientHeight);
157
+ }, []);
158
+ const calculatedHeight = parentHeight ?? 0;
159
+ return /* @__PURE__ */ React4.createElement(FlexRow4, {
160
+ alignItems: "flex-start",
161
+ height: "100%"
162
+ }, /* @__PURE__ */ React4.createElement(FlexRow4, {
163
+ background: true,
164
+ height: calculatedHeight,
165
+ width: calculatedHeight,
166
+ borderLeft: `1px solid ${theme.palette.divider}`
167
+ }, /* @__PURE__ */ React4.createElement("div", {
168
+ ref
169
+ }, /* @__PURE__ */ React4.createElement(Identicon, {
170
+ size: calculatedHeight * 0.6,
171
+ value: `${value}`,
172
+ sx: {
173
+ padding: `${calculatedHeight * 0.2}px`
174
+ },
175
+ ...props
176
+ }))));
177
+ }, "IdenticonCorner");
178
+
179
+ // src/components/Value.tsx
180
+ import { EllipsizeBox } from "@xyo-network/react-shared";
181
+ import React5, { forwardRef } from "react";
182
+ var PropertyValue = /* @__PURE__ */ forwardRef(({ typographyVariant = "body1", value, ...props }, ref) => {
183
+ return value === void 0 ? null : /* @__PURE__ */ React5.createElement(EllipsizeBox, {
184
+ typographyProps: {
185
+ component: void 0,
186
+ title: value?.toString(),
187
+ variant: typographyVariant
188
+ },
189
+ width: "100%",
190
+ ref,
191
+ ...props
192
+ }, value);
193
+ });
194
+ PropertyValue.displayName = "PropertyValue";
195
+
196
+ // src/components/Property.tsx
197
+ var PropertyBox = /* @__PURE__ */ forwardRef2(({ titleProps, title, value, children, size = "medium", tip, actions, required, badge = false, ...props }, ref) => {
198
+ const sizeValueHeight = {
199
+ large: 48,
200
+ medium: 36,
201
+ small: 24
202
+ };
203
+ const sizeVariants = {
204
+ large: "h6",
205
+ medium: "body1",
206
+ small: "body2"
207
+ };
208
+ return /* @__PURE__ */ React6.createElement(FlexRow5, {
209
+ ref,
210
+ flexDirection: "column",
211
+ minWidth: 0,
212
+ alignItems: "stretch",
213
+ overflow: "hidden",
214
+ ...props
215
+ }, title === void 0 ? null : /* @__PURE__ */ React6.createElement(PropertyTitle, {
216
+ tip,
217
+ title: required ? `${title}*` : title,
218
+ size,
219
+ more: /* @__PURE__ */ React6.createElement(PropertyActionsMenu, {
220
+ actions
221
+ }),
222
+ ...titleProps
223
+ }), /* @__PURE__ */ React6.createElement(FlexRow5, {
224
+ pl: 1,
225
+ columnGap: 1,
226
+ justifyContent: value === void 0 ? "center" : "space-between",
227
+ overflow: "hidden",
228
+ height: sizeValueHeight[size]
229
+ }, children ?? value === void 0 ? /* @__PURE__ */ React6.createElement(CircularProgress, {
230
+ size: 16
231
+ }) : /* @__PURE__ */ React6.createElement(PropertyValue, {
232
+ value,
233
+ typographyVariant: sizeVariants[size]
234
+ }), value === void 0 ? null : badge ? /* @__PURE__ */ React6.createElement(IdenticonCorner, {
235
+ value
236
+ }) : null));
237
+ });
238
+ PropertyBox.displayName = "PropertyBox";
239
+ var PropertyPaper = /* @__PURE__ */ forwardRef2(({ style, variant, elevation = 2, square, ...props }, ref) => {
240
+ return /* @__PURE__ */ React6.createElement(Paper2, {
241
+ ref,
242
+ style: {
243
+ minWidth: 0,
244
+ overflow: "hidden",
245
+ ...style
246
+ },
247
+ variant,
248
+ elevation,
249
+ square
250
+ }, /* @__PURE__ */ React6.createElement(PropertyBox, {
251
+ ...props,
252
+ paper: false
253
+ }));
254
+ });
255
+ PropertyPaper.displayName = "PropertyPaper";
256
+ var Property = /* @__PURE__ */ forwardRef2((props, ref) => {
257
+ return props.paper ? /* @__PURE__ */ React6.createElement(PropertyPaper, {
258
+ ref,
259
+ ...props
260
+ }) : /* @__PURE__ */ React6.createElement(PropertyBox, {
261
+ ref,
262
+ ...props
263
+ });
264
+ });
265
+ Property.displayName = "Property";
266
+ export {
267
+ Property,
268
+ PropertyGroup,
269
+ PropertyTitle,
270
+ PropertyValue
271
+ };
272
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +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 { FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { typeOf } from '@xyo-network/typeof'\nimport React, { ReactElement } from 'react'\n\nimport { PropertyGroupBoxProps, PropertyGroupPaperProps, PropertyGroupProps } from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\n\nconst PropertyGroupBox: React.FC<PropertyGroupBoxProps> = ({ titleProps, children, title, tip, ...props }) => {\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.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> = ({ style, variant, elevation, square, ...props }) => {\n return (\n <Paper style={{ minWidth: 0, overflow: 'hidden', ...style }} variant={variant} elevation={elevation} square={square}>\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 { darken, lighten, Typography, TypographyVariant, useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { QuickTipButton } from '@xylabs/react-quick-tip-button'\nimport { SizeProp } from '@xyo-network/react-shared'\nimport React, { ReactNode } 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> = ({ elevation = 1, size = 'medium', tip, more, title, ...props }) => {\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 = sizeFontSize[size] < 16 ? sizeFontSize[size] : 16\n\n const theme = useTheme()\n\n return (\n <FlexRow\n bgcolor={\n theme.palette.mode === 'dark'\n ? lighten(theme.palette.background.paper, 0.05 * elevation)\n : darken(theme.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 { CircularProgress, Paper, TypographyVariant } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport { SizeProp } from '@xyo-network/react-shared'\nimport React, { forwardRef } from 'react'\n\nimport { PropertyActionsMenu } from './ActionsMenu.tsx'\nimport { IdenticonCorner } from './IdenticonCorner.tsx'\nimport { PropertyBoxProps, PropertyPaperProps, PropertyProps } from './Props.ts'\nimport { PropertyTitle } from './Title.tsx'\nimport { PropertyValue } from './Value.tsx'\n\nconst PropertyBox = forwardRef<HTMLDivElement, PropertyBoxProps>(\n ({ titleProps, title, value, children, size = 'medium', tip, actions, required, badge = false, ...props }, ref) => {\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 ref={ref} 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 },\n)\nPropertyBox.displayName = 'PropertyBox'\n\nconst PropertyPaper = forwardRef<HTMLDivElement, PropertyPaperProps>(({ style, variant, elevation = 2, square, ...props }, ref) => {\n return (\n <Paper ref={ref} style={{ minWidth: 0, overflow: 'hidden', ...style }} variant={variant} elevation={elevation} square={square}>\n <PropertyBox {...props} paper={false} />\n </Paper>\n )\n})\nPropertyPaper.displayName = 'PropertyPaper'\n\nexport const Property = forwardRef<HTMLDivElement, PropertyProps>((props, ref) => {\n return props.paper ? <PropertyPaper ref={ref} {...props} /> : <PropertyBox ref={ref} {...props} />\n})\nProperty.displayName = 'Property'\n","import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'\nimport { IconButton, Menu, MenuItem } from '@mui/material'\nimport { FlexRow } from '@xylabs/react-flexbox'\nimport React, { useState } from 'react'\n\nimport { 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 { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { Identicon } from '@xylabs/react-identicon'\nimport React, { useEffect, useRef, useState } 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 [parentHeight, setParentHeight] = useState<number>()\n const ref = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n setParentHeight(ref.current?.parentElement?.parentElement?.clientHeight)\n }, [])\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.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","// eslint-disable-next-line import/no-internal-modules\nimport { Variant } from '@mui/material/styles/createTypography.js'\nimport { EllipsizeBox, EllipsizeBoxProps } from '@xyo-network/react-shared'\nimport React, { forwardRef } from 'react'\n\nexport interface PropertyValueProps extends Omit<EllipsizeBoxProps, 'ref'> {\n typographyVariant?: Variant\n value?: string | number | boolean | null\n}\n\nexport const PropertyValue = forwardRef<HTMLDivElement, PropertyValueProps>(({ typographyVariant = 'body1', value, ...props }, ref) => {\n return value === undefined\n ? null\n : (\n <EllipsizeBox\n typographyProps={{ component: undefined, title: value?.toString(), variant: typographyVariant }}\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","darken","lighten","Typography","useTheme","FlexRow","QuickTipButton","React","PropertyTitle","elevation","size","tip","more","title","props","sizeVariants","full","large","medium","small","sizeTitleHeight","undefined","sizeFontSize","quickTipSize","theme","useTheme","FlexRow","bgcolor","palette","mode","lighten","background","paper","darken","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","palette","divider","PropertyGroupPaper","style","variant","elevation","square","Paper","minWidth","paper","PropertyGroup","CircularProgress","Paper","FlexRow","React","forwardRef","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","useEffect","useRef","useState","IdenticonCorner","value","props","theme","useTheme","parentHeight","setParentHeight","useState","ref","useRef","useEffect","current","parentElement","clientHeight","calculatedHeight","React","FlexRow","alignItems","height","background","width","borderLeft","palette","divider","div","Identicon","size","sx","padding","EllipsizeBox","React","forwardRef","PropertyValue","typographyVariant","value","props","ref","undefined","typographyProps","component","title","toString","variant","width","displayName","PropertyBox","forwardRef","titleProps","title","value","children","size","tip","actions","required","badge","props","ref","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","style","variant","elevation","square","Paper","paper","Property"]}
package/package.json CHANGED
@@ -10,12 +10,12 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-react-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/react-button": "^3.4.1",
14
- "@xylabs/react-flexbox": "^3.4.1",
15
- "@xylabs/react-identicon": "^3.4.1",
16
- "@xylabs/react-quick-tip-button": "^3.4.1",
17
- "@xyo-network/react-shared": "^2.81.10",
18
- "@xyo-network/typeof": "^2.110.9"
13
+ "@xylabs/react-button": "^3.4.2",
14
+ "@xylabs/react-flexbox": "^3.4.2",
15
+ "@xylabs/react-identicon": "^3.4.2",
16
+ "@xylabs/react-quick-tip-button": "^3.4.2",
17
+ "@xyo-network/react-shared": "^2.83.0",
18
+ "@xyo-network/typeof": "^2.111.3"
19
19
  },
20
20
  "peerDependencies": {
21
21
  "@mui/icons-material": "^5",
@@ -25,41 +25,25 @@
25
25
  "react-dom": "^18"
26
26
  },
27
27
  "devDependencies": {
28
- "@storybook/react": "^7.6.20",
29
- "@xylabs/ts-scripts-yarn3": "^3.12.4",
30
- "@xylabs/tsconfig-react": "^3.12.4",
28
+ "@storybook/react": "^8.2.7",
29
+ "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.7",
30
+ "@xylabs/tsconfig-react": "^4.0.0-rc.7",
31
31
  "typescript": "^5.5.4"
32
32
  },
33
33
  "description": "Common React library for all XYO projects that use React",
34
34
  "docs": "dist/docs.json",
35
35
  "exports": {
36
36
  ".": {
37
- "node": {
38
- "import": {
39
- "types": "./dist/node/index.d.mts",
40
- "default": "./dist/node/index.js"
41
- },
42
- "require": {
43
- "types": "./dist/node/index.d.cts",
44
- "default": "./dist/node/index.cjs"
45
- }
37
+ "import": {
38
+ "types": "./dist/browser/index.d.ts",
39
+ "default": "./dist/browser/index.mjs"
46
40
  },
47
- "browser": {
48
- "import": {
49
- "types": "./dist/browser/index.d.mts",
50
- "default": "./dist/browser/index.js"
51
- },
52
- "require": {
53
- "types": "./dist/browser/index.d.cts",
54
- "default": "./dist/browser/index.cjs"
55
- }
56
- },
57
- "default": "./dist/browser/index.js"
41
+ "types": "./dist/browser/index.d.ts",
42
+ "default": "./dist/browser/index.mjs"
58
43
  },
59
44
  "./package.json": "./package.json"
60
45
  },
61
- "main": "dist/browser/index.cjs",
62
- "module": "dist/browser/index.js",
46
+ "module": "dist/browser/index.mjs",
63
47
  "homepage": "https://xyo.network",
64
48
  "keywords": [
65
49
  "xyo",
@@ -81,6 +65,6 @@
81
65
  },
82
66
  "sideEffects": false,
83
67
  "types": "dist/browser/index.d.ts",
84
- "version": "2.81.10",
68
+ "version": "2.83.0",
85
69
  "type": "module"
86
70
  }
@@ -1,35 +1,42 @@
1
1
  import { IconButton } from '@mui/material'
2
2
  import { ButtonEx } from '@xylabs/react-button'
3
3
  import { FlexRow } from '@xylabs/react-flexbox'
4
+ import React from 'react'
4
5
 
5
- import { PropertyActionsProps } from './ActionsProps.js'
6
+ import { PropertyActionsProps } from './ActionsProps.ts'
6
7
 
7
8
  export const PropertyActions: React.FC<PropertyActionsProps> = ({ buttons = false, actions, ...props }) => {
8
9
  if (actions) {
9
- return (actions?.length ?? 0) > 0 ?
10
- <FlexRow gap={1} {...props}>
11
- {actions.map((action, index) => {
12
- return (
13
- action.icon ?
14
- <IconButton size="small" key={index} color="inherit" onClick={action.onClick}>
15
- {action.icon}
16
- </IconButton>
17
- : buttons ?
18
- <ButtonEx
19
- paddingY={0}
20
- color="primary"
21
- key={index}
22
- size="small"
23
- disabled={action.disabled}
24
- onClick={action.onClick}
25
- variant="contained"
26
- >
27
- {action.name}
28
- </ButtonEx>
29
- : null
30
- )
31
- })}
32
- </FlexRow>
10
+ return (actions?.length ?? 0) > 0
11
+ ? (
12
+ <FlexRow gap={1} {...props}>
13
+ {actions.map((action, index) => {
14
+ return (
15
+ action.icon
16
+ ? (
17
+ <IconButton size="small" key={index} color="inherit" onClick={action.onClick}>
18
+ {action.icon}
19
+ </IconButton>
20
+ )
21
+ : buttons
22
+ ? (
23
+ <ButtonEx
24
+ paddingY={0}
25
+ color="primary"
26
+ key={index}
27
+ size="small"
28
+ disabled={action.disabled}
29
+ onClick={action.onClick}
30
+ variant="contained"
31
+ >
32
+ {action.name}
33
+ </ButtonEx>
34
+ )
35
+ : null
36
+ )
37
+ })}
38
+ </FlexRow>
39
+ )
33
40
  : null
34
41
  }
35
42
  return null
@@ -1,9 +1,9 @@
1
1
  import { MoreHoriz as MoreHorizIcon } from '@mui/icons-material'
2
2
  import { IconButton, Menu, MenuItem } from '@mui/material'
3
3
  import { FlexRow } from '@xylabs/react-flexbox'
4
- import { useState } from 'react'
4
+ import React, { useState } from 'react'
5
5
 
6
- import { PropertyActionsProps } from './ActionsProps.js'
6
+ import { PropertyActionsProps } from './ActionsProps.ts'
7
7
 
8
8
  export const PropertyActionsMenu: React.FC<PropertyActionsProps> = ({ actions, ...props }) => {
9
9
  const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null)
@@ -16,26 +16,28 @@ export const PropertyActionsMenu: React.FC<PropertyActionsProps> = ({ actions, .
16
16
  setAnchorEl(null)
17
17
  }
18
18
 
19
- return actions && actions?.length > 0 ?
20
- <FlexRow {...props}>
21
- <IconButton size="small" color="inherit" onClick={handleClick}>
22
- <MoreHorizIcon fontSize="inherit" />
23
- </IconButton>
24
- <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>
25
- {actions?.map((action) => {
26
- return (
27
- <MenuItem
28
- key={action.name}
29
- onClick={() => {
30
- action?.onClick?.()
31
- handleClose()
32
- }}
33
- >
34
- {action.name}
35
- </MenuItem>
36
- )
37
- })}
38
- </Menu>
39
- </FlexRow>
19
+ return actions && actions?.length > 0
20
+ ? (
21
+ <FlexRow {...props}>
22
+ <IconButton size="small" color="inherit" onClick={handleClick}>
23
+ <MoreHorizIcon fontSize="inherit" />
24
+ </IconButton>
25
+ <Menu anchorEl={anchorEl} open={open} onClose={handleClose}>
26
+ {actions?.map((action) => {
27
+ return (
28
+ <MenuItem
29
+ key={action.name}
30
+ onClick={() => {
31
+ action?.onClick?.()
32
+ handleClose()
33
+ }}
34
+ >
35
+ {action.name}
36
+ </MenuItem>
37
+ )
38
+ })}
39
+ </Menu>
40
+ </FlexRow>
41
+ )
40
42
  : null
41
43
  }
@@ -1,6 +1,6 @@
1
1
  import { FlexBoxProps } from '@xylabs/react-flexbox'
2
2
 
3
- import { PropertyAction } from './Action.js'
3
+ import { PropertyAction } from './Action.ts'
4
4
 
5
5
  export interface PropertyActionsProps extends FlexBoxProps {
6
6
  actions?: PropertyAction[]
@@ -1,10 +1,10 @@
1
1
  import { Paper, useTheme } from '@mui/material'
2
2
  import { FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'
3
3
  import { typeOf } from '@xyo-network/typeof'
4
- import { ReactElement } from 'react'
4
+ import React, { ReactElement } from 'react'
5
5
 
6
- import { PropertyGroupBoxProps, PropertyGroupPaperProps, PropertyGroupProps } from './Props.js'
7
- import { PropertyTitle } from './Title.js'
6
+ import { PropertyGroupBoxProps, PropertyGroupPaperProps, PropertyGroupProps } from './Props.ts'
7
+ import { PropertyTitle } from './Title.tsx'
8
8
 
9
9
  const PropertyGroupBox: React.FC<PropertyGroupBoxProps> = ({ titleProps, children, title, tip, ...props }) => {
10
10
  const theme = useTheme()
@@ -13,17 +13,21 @@ const PropertyGroupBox: React.FC<PropertyGroupBoxProps> = ({ titleProps, childre
13
13
  <FlexCol alignItems="stretch" overflow="hidden" {...props}>
14
14
  <FlexRow overflow="hidden" justifyContent="stretch" alignItems="stretch">
15
15
  <PropertyTitle alignItems="flex-start" size="full" title={title} tip={tip} {...titleProps} />
16
- {childrenArray ?
17
- <FlexGrowRow>
18
- {childrenArray?.map((child, index) => {
19
- return child ?
20
- <FlexGrowRow key={index} borderLeft={1} borderColor={theme.palette.divider}>
21
- {child}
22
- </FlexGrowRow>
23
- : null
24
- })}
25
- </FlexGrowRow>
26
- : <FlexGrowRow overflow="hidden">{children}</FlexGrowRow>}
16
+ {childrenArray
17
+ ? (
18
+ <FlexGrowRow>
19
+ {childrenArray?.map((child, index) => {
20
+ return child
21
+ ? (
22
+ <FlexGrowRow key={index} borderLeft={1} borderColor={theme.palette.divider}>
23
+ {child}
24
+ </FlexGrowRow>
25
+ )
26
+ : null
27
+ })}
28
+ </FlexGrowRow>
29
+ )
30
+ : <FlexGrowRow overflow="hidden">{children}</FlexGrowRow>}
27
31
  </FlexRow>
28
32
  </FlexCol>
29
33
  )
@@ -1,7 +1,7 @@
1
1
  import { useTheme } from '@mui/material'
2
2
  import { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'
3
3
  import { Identicon } from '@xylabs/react-identicon'
4
- import { useEffect, useRef, useState } from 'react'
4
+ import React, { useEffect, useRef, useState } from 'react'
5
5
 
6
6
  export interface IdenticonCornerProps extends FlexBoxProps {
7
7
  value?: string | number | boolean | null