@xyo-network/react-property 2.64.0-rc.6 → 2.64.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 (164) hide show
  1. package/dist/browser/components/Action.cjs +19 -0
  2. package/dist/browser/components/Action.cjs.map +1 -0
  3. package/dist/browser/components/Action.d.cts +8 -0
  4. package/dist/browser/components/Action.d.cts.map +1 -0
  5. package/dist/browser/components/Actions.cjs +38 -0
  6. package/dist/{node/components/Actions.mjs.map → browser/components/Actions.cjs.map} +1 -1
  7. package/dist/browser/components/Actions.d.cts +4 -0
  8. package/dist/browser/components/Actions.d.cts.map +1 -0
  9. package/dist/browser/components/ActionsMenu.cjs +57 -0
  10. package/dist/{node/components/ActionsMenu.mjs.map → browser/components/ActionsMenu.cjs.map} +1 -1
  11. package/dist/browser/components/ActionsMenu.d.cts +4 -0
  12. package/dist/browser/components/ActionsMenu.d.cts.map +1 -0
  13. package/dist/browser/components/ActionsProps.cjs +19 -0
  14. package/dist/browser/components/ActionsProps.cjs.map +1 -0
  15. package/dist/browser/components/ActionsProps.d.cts +7 -0
  16. package/dist/browser/components/ActionsProps.d.cts.map +1 -0
  17. package/dist/browser/components/Group.cjs +93 -0
  18. package/dist/browser/components/Group.cjs.map +1 -0
  19. package/dist/browser/components/Group.d.cts +4 -0
  20. package/dist/browser/components/Group.d.cts.map +1 -0
  21. package/dist/browser/components/IdenticonCorner.cjs +41 -0
  22. package/dist/{node/components/IdenticonCorner.mjs.map → browser/components/IdenticonCorner.cjs.map} +1 -1
  23. package/dist/browser/components/IdenticonCorner.d.cts +7 -0
  24. package/dist/browser/components/IdenticonCorner.d.cts.map +1 -0
  25. package/dist/browser/components/Property.cjs +185 -0
  26. package/dist/browser/components/Property.cjs.map +1 -0
  27. package/dist/browser/components/Property.d.cts +4 -0
  28. package/dist/browser/components/Property.d.cts.map +1 -0
  29. package/dist/browser/components/Props.cjs +19 -0
  30. package/dist/browser/components/Props.cjs.map +1 -0
  31. package/dist/browser/components/Props.d.cts +35 -0
  32. package/dist/browser/components/Props.d.cts.map +1 -0
  33. package/dist/browser/components/Title.cjs +69 -0
  34. package/dist/{node/components/Title.mjs.map → browser/components/Title.cjs.map} +1 -1
  35. package/dist/browser/components/Title.d.cts +13 -0
  36. package/dist/browser/components/Title.d.cts.map +1 -0
  37. package/dist/browser/components/Value.cjs +33 -0
  38. package/dist/browser/components/Value.cjs.map +1 -0
  39. package/dist/browser/components/Value.d.cts +9 -0
  40. package/dist/browser/components/Value.d.cts.map +1 -0
  41. package/dist/browser/components/index.cjs +214 -0
  42. package/dist/browser/components/index.cjs.map +1 -0
  43. package/dist/browser/components/index.d.cts +7 -0
  44. package/dist/browser/components/index.d.cts.map +1 -0
  45. package/dist/browser/index.cjs +214 -0
  46. package/dist/browser/index.cjs.map +1 -0
  47. package/dist/browser/index.d.cts +2 -0
  48. package/dist/browser/index.d.cts.map +1 -0
  49. package/dist/docs.json +48117 -0
  50. package/dist/node/components/Action.cjs +19 -0
  51. package/dist/node/components/Action.cjs.map +1 -0
  52. package/dist/node/components/Action.d.cts +8 -0
  53. package/dist/node/components/Action.d.cts.map +1 -0
  54. package/dist/node/components/Action.js +0 -16
  55. package/dist/node/components/Action.js.map +1 -1
  56. package/dist/node/components/Actions.cjs +42 -0
  57. package/dist/node/components/Actions.cjs.map +1 -0
  58. package/dist/node/components/Actions.d.cts +4 -0
  59. package/dist/node/components/Actions.d.cts.map +1 -0
  60. package/dist/node/components/Actions.js +10 -33
  61. package/dist/node/components/Actions.js.map +1 -1
  62. package/dist/node/components/ActionsMenu.cjs +62 -0
  63. package/dist/node/components/ActionsMenu.cjs.map +1 -0
  64. package/dist/node/components/ActionsMenu.d.cts +4 -0
  65. package/dist/node/components/ActionsMenu.d.cts.map +1 -0
  66. package/dist/node/components/ActionsMenu.js +17 -39
  67. package/dist/node/components/ActionsMenu.js.map +1 -1
  68. package/dist/node/components/ActionsProps.cjs +19 -0
  69. package/dist/node/components/ActionsProps.cjs.map +1 -0
  70. package/dist/node/components/ActionsProps.d.cts +7 -0
  71. package/dist/node/components/ActionsProps.d.cts.map +1 -0
  72. package/dist/node/components/ActionsProps.js +0 -16
  73. package/dist/node/components/ActionsProps.js.map +1 -1
  74. package/dist/node/components/Group.cjs +97 -0
  75. package/dist/node/components/Group.cjs.map +1 -0
  76. package/dist/node/components/Group.d.cts +4 -0
  77. package/dist/node/components/Group.d.cts.map +1 -0
  78. package/dist/node/components/Group.js +65 -42
  79. package/dist/node/components/Group.js.map +1 -1
  80. package/dist/node/components/IdenticonCorner.cjs +46 -0
  81. package/dist/node/components/IdenticonCorner.cjs.map +1 -0
  82. package/dist/node/components/IdenticonCorner.d.cts +7 -0
  83. package/dist/node/components/IdenticonCorner.d.cts.map +1 -0
  84. package/dist/node/components/IdenticonCorner.js +16 -38
  85. package/dist/node/components/IdenticonCorner.js.map +1 -1
  86. package/dist/node/components/Property.cjs +191 -0
  87. package/dist/node/components/Property.cjs.map +1 -0
  88. package/dist/node/components/Property.d.cts +4 -0
  89. package/dist/node/components/Property.d.cts.map +1 -0
  90. package/dist/node/components/Property.js +125 -44
  91. package/dist/node/components/Property.js.map +1 -1
  92. package/dist/node/components/Props.cjs +19 -0
  93. package/dist/node/components/Props.cjs.map +1 -0
  94. package/dist/node/components/Props.d.cts +35 -0
  95. package/dist/node/components/Props.d.cts.map +1 -0
  96. package/dist/node/components/Props.js +0 -16
  97. package/dist/node/components/Props.js.map +1 -1
  98. package/dist/node/components/Title.cjs +73 -0
  99. package/dist/node/components/Title.cjs.map +1 -0
  100. package/dist/node/components/Title.d.cts +13 -0
  101. package/dist/node/components/Title.d.cts.map +1 -0
  102. package/dist/node/components/Title.js +15 -38
  103. package/dist/node/components/Title.js.map +1 -1
  104. package/dist/node/components/{Title.stories.js → Value.cjs} +14 -30
  105. package/dist/node/components/{Value.mjs.map → Value.cjs.map} +1 -1
  106. package/dist/node/components/Value.d.cts +9 -0
  107. package/dist/node/components/Value.d.cts.map +1 -0
  108. package/dist/node/components/Value.js +8 -31
  109. package/dist/node/components/Value.js.map +1 -1
  110. package/dist/node/components/index.cjs +223 -0
  111. package/dist/node/components/index.cjs.map +1 -0
  112. package/dist/node/components/index.d.cts +7 -0
  113. package/dist/node/components/index.d.cts.map +1 -0
  114. package/dist/node/components/index.js +190 -30
  115. package/dist/node/components/index.js.map +1 -1
  116. package/dist/node/index.cjs +223 -0
  117. package/dist/node/index.cjs.map +1 -0
  118. package/dist/node/index.d.cts +2 -0
  119. package/dist/node/index.d.cts.map +1 -0
  120. package/dist/node/index.js +190 -20
  121. package/dist/node/index.js.map +1 -1
  122. package/package.json +21 -21
  123. package/dist/browser/components/PropertyBox.stories.js +0 -160
  124. package/dist/browser/components/PropertyBox.stories.js.map +0 -1
  125. package/dist/browser/components/PropertyPaper.stories.js +0 -178
  126. package/dist/browser/components/PropertyPaper.stories.js.map +0 -1
  127. package/dist/browser/components/Title.stories.js +0 -27
  128. package/dist/browser/components/Title.stories.js.map +0 -1
  129. package/dist/browser/components/Value.stories.js +0 -26
  130. package/dist/browser/components/Value.stories.js.map +0 -1
  131. package/dist/node/components/Action.mjs +0 -1
  132. package/dist/node/components/Action.mjs.map +0 -1
  133. package/dist/node/components/Actions.mjs +0 -16
  134. package/dist/node/components/ActionsMenu.mjs +0 -35
  135. package/dist/node/components/ActionsProps.mjs +0 -1
  136. package/dist/node/components/ActionsProps.mjs.map +0 -1
  137. package/dist/node/components/Group.mjs +0 -25
  138. package/dist/node/components/Group.mjs.map +0 -1
  139. package/dist/node/components/IdenticonCorner.mjs +0 -19
  140. package/dist/node/components/Property.mjs +0 -61
  141. package/dist/node/components/Property.mjs.map +0 -1
  142. package/dist/node/components/PropertyBox.stories.js +0 -197
  143. package/dist/node/components/PropertyBox.stories.js.map +0 -1
  144. package/dist/node/components/PropertyBox.stories.mjs +0 -160
  145. package/dist/node/components/PropertyBox.stories.mjs.map +0 -1
  146. package/dist/node/components/PropertyPaper.stories.js +0 -217
  147. package/dist/node/components/PropertyPaper.stories.js.map +0 -1
  148. package/dist/node/components/PropertyPaper.stories.mjs +0 -178
  149. package/dist/node/components/PropertyPaper.stories.mjs.map +0 -1
  150. package/dist/node/components/Props.mjs +0 -1
  151. package/dist/node/components/Props.mjs.map +0 -1
  152. package/dist/node/components/Title.mjs +0 -47
  153. package/dist/node/components/Title.stories.js.map +0 -1
  154. package/dist/node/components/Title.stories.mjs +0 -27
  155. package/dist/node/components/Title.stories.mjs.map +0 -1
  156. package/dist/node/components/Value.mjs +0 -11
  157. package/dist/node/components/Value.stories.js +0 -51
  158. package/dist/node/components/Value.stories.js.map +0 -1
  159. package/dist/node/components/Value.stories.mjs +0 -26
  160. package/dist/node/components/Value.stories.mjs.map +0 -1
  161. package/dist/node/components/index.mjs +0 -7
  162. package/dist/node/components/index.mjs.map +0 -1
  163. package/dist/node/index.mjs +0 -2
  164. package/dist/node/index.mjs.map +0 -1
@@ -1,35 +1,12 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var Value_exports = {};
20
- __export(Value_exports, {
21
- PropertyValue: () => PropertyValue
22
- });
23
- module.exports = __toCommonJS(Value_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
25
- var import_react_shared = require("@xyo-network/react-shared");
26
- var import_react = require("react");
27
- const PropertyValue = (0, import_react.forwardRef)(({ typographyVariant = "body1", value, ...props }, ref) => {
28
- return value !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_shared.EllipsizeBox, { typographyProps: { component: void 0, title: value?.toString(), variant: typographyVariant }, width: "100%", ref, ...props, children: value }) : null;
1
+ // src/components/Value.tsx
2
+ import { EllipsizeBox } from "@xyo-network/react-shared";
3
+ import { forwardRef } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ var PropertyValue = forwardRef(({ typographyVariant = "body1", value, ...props }, ref) => {
6
+ return value !== void 0 ? /* @__PURE__ */ jsx(EllipsizeBox, { typographyProps: { component: void 0, title: value == null ? void 0 : value.toString(), variant: typographyVariant }, width: "100%", ref, ...props, children: value }) : null;
29
7
  });
30
8
  PropertyValue.displayName = "PropertyValue";
31
- // Annotate the CommonJS export names for ESM import in node:
32
- 0 && (module.exports = {
9
+ export {
33
10
  PropertyValue
34
- });
11
+ };
35
12
  //# sourceMappingURL=Value.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/Value.tsx"],"sourcesContent":["import type { Variant } from '@mui/material/styles/createTypography'\nimport { EllipsizeBox, EllipsizeBoxProps } from '@xyo-network/react-shared'\nimport { 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 <EllipsizeBox typographyProps={{ component: undefined, title: value?.toString(), variant: typographyVariant }} width=\"100%\" ref={ref} {...props}>\n {value}\n </EllipsizeBox>\n ) : null\n})\n\nPropertyValue.displayName = 'PropertyValue'\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAWI;AAVJ,0BAAgD;AAChD,mBAA2B;AAOpB,MAAM,oBAAgB,yBAA+C,CAAC,EAAE,oBAAoB,SAAS,OAAO,GAAG,MAAM,GAAG,QAAQ;AACrI,SAAO,UAAU,SACf,4CAAC,oCAAa,iBAAiB,EAAE,WAAW,QAAW,OAAO,OAAO,SAAS,GAAG,SAAS,kBAAkB,GAAG,OAAM,QAAO,KAAW,GAAG,OACvI,iBACH,IACE;AACN,CAAC;AAED,cAAc,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/Value.tsx"],"sourcesContent":["import type { Variant } from '@mui/material/styles/createTypography'\nimport { EllipsizeBox, EllipsizeBoxProps } from '@xyo-network/react-shared'\nimport { 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 <EllipsizeBox typographyProps={{ component: undefined, title: value?.toString(), variant: typographyVariant }} width=\"100%\" ref={ref} {...props}>\n {value}\n </EllipsizeBox>\n ) : null\n})\n\nPropertyValue.displayName = 'PropertyValue'\n"],"mappings":";AACA,SAAS,oBAAuC;AAChD,SAAS,kBAAkB;AASvB;AAFG,IAAM,gBAAgB,WAA+C,CAAC,EAAE,oBAAoB,SAAS,OAAO,GAAG,MAAM,GAAG,QAAQ;AACrI,SAAO,UAAU,SACf,oBAAC,gBAAa,iBAAiB,EAAE,WAAW,QAAW,OAAO,+BAAO,YAAY,SAAS,kBAAkB,GAAG,OAAM,QAAO,KAAW,GAAG,OACvI,iBACH,IACE;AACN,CAAC;AAED,cAAc,cAAc;","names":[]}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/index.ts
21
+ var components_exports = {};
22
+ __export(components_exports, {
23
+ Property: () => Property,
24
+ PropertyGroup: () => PropertyGroup,
25
+ PropertyTitle: () => PropertyTitle,
26
+ PropertyValue: () => PropertyValue
27
+ });
28
+ module.exports = __toCommonJS(components_exports);
29
+
30
+ // src/components/Group.tsx
31
+ var import_material2 = require("@mui/material");
32
+ var import_react_flexbox2 = require("@xylabs/react-flexbox");
33
+ var import_typeof = require("@xyo-network/typeof");
34
+
35
+ // src/components/Title.tsx
36
+ var import_material = require("@mui/material");
37
+ var import_react_flexbox = require("@xylabs/react-flexbox");
38
+ var import_react_quick_tip_button = require("@xylabs/react-quick-tip-button");
39
+ var import_jsx_runtime = require("react/jsx-runtime");
40
+ var PropertyTitle = ({ elevation = 1, size = "medium", tip, more, title, ...props }) => {
41
+ const sizeVariants = {
42
+ full: "caption",
43
+ large: "caption",
44
+ medium: "caption",
45
+ small: "caption"
46
+ };
47
+ const sizeTitleHeight = {
48
+ full: void 0,
49
+ large: 32,
50
+ medium: 20,
51
+ small: 16
52
+ };
53
+ const sizeFontSize = {
54
+ full: 16,
55
+ large: 16,
56
+ medium: 14,
57
+ small: 10
58
+ };
59
+ const quickTipSize = sizeFontSize[size] < 16 ? sizeFontSize[size] : 16;
60
+ const theme = (0, import_material.useTheme)();
61
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
62
+ import_react_flexbox.FlexRow,
63
+ {
64
+ bgcolor: theme.palette.mode === "dark" ? (0, import_material.lighten)(theme.palette.background.paper, 0.05 * elevation) : (0, import_material.darken)(theme.palette.background.paper, 0.025 * elevation),
65
+ alignItems: "center",
66
+ height: sizeTitleHeight[size],
67
+ justifyContent: "space-between",
68
+ ...props,
69
+ children: [
70
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_react_flexbox.FlexRow, { paddingX: 1, paddingY: 0.5, children: [
71
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { fontWeight: 500, noWrap: true, variant: sizeVariants[size], fontSize: sizeFontSize[size], children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("small", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("strong", { children: title }) }) }),
72
+ tip ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_quick_tip_button.QuickTipButton, { style: { fontSize: quickTipSize }, color: "inherit", title: title ?? "", children: tip }) : null
73
+ ] }),
74
+ more
75
+ ]
76
+ }
77
+ );
78
+ };
79
+
80
+ // src/components/Group.tsx
81
+ var import_jsx_runtime2 = require("react/jsx-runtime");
82
+ var PropertyGroupBox = ({ titleProps, children, title, tip, ...props }) => {
83
+ const theme = (0, import_material2.useTheme)();
84
+ const childrenArray = (0, import_typeof.typeOf)(children) === "array" ? children : void 0;
85
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_flexbox2.FlexCol, { alignItems: "stretch", overflow: "hidden", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox2.FlexRow, { overflow: "hidden", justifyContent: "stretch", alignItems: "stretch", children: [
86
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PropertyTitle, { alignItems: "flex-start", size: "full", title, tip, ...titleProps }),
87
+ childrenArray ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_flexbox2.FlexGrowRow, { children: childrenArray == null ? void 0 : childrenArray.map((child, index) => {
88
+ return child ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_flexbox2.FlexGrowRow, { borderLeft: 1, borderColor: theme.palette.divider, children: child }, index) : null;
89
+ }) }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_flexbox2.FlexGrowRow, { overflow: "hidden", children })
90
+ ] }) });
91
+ };
92
+ var PropertyGroupPaper = ({ style, variant, elevation, square, ...props }) => {
93
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material2.Paper, { style: { minWidth: 0, overflow: "hidden", ...style }, variant, elevation, square, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PropertyGroupBox, { ...props, paper: false }) });
94
+ };
95
+ var PropertyGroup = (props) => {
96
+ return props.paper ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PropertyGroupPaper, { ...props }) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(PropertyGroupBox, { ...props });
97
+ };
98
+
99
+ // src/components/Property.tsx
100
+ var import_material5 = require("@mui/material");
101
+ var import_react_flexbox5 = require("@xylabs/react-flexbox");
102
+ var import_react4 = require("react");
103
+
104
+ // src/components/ActionsMenu.tsx
105
+ var import_icons_material = require("@mui/icons-material");
106
+ var import_material3 = require("@mui/material");
107
+ var import_react_flexbox3 = require("@xylabs/react-flexbox");
108
+ var import_react = require("react");
109
+ var import_jsx_runtime3 = require("react/jsx-runtime");
110
+ var PropertyActionsMenu = ({ actions, ...props }) => {
111
+ const [anchorEl, setAnchorEl] = (0, import_react.useState)(null);
112
+ const open = !!anchorEl;
113
+ const handleClick = (event) => {
114
+ setAnchorEl(event.currentTarget);
115
+ };
116
+ const handleClose = () => {
117
+ setAnchorEl(null);
118
+ };
119
+ return actions && (actions == null ? void 0 : actions.length) > 0 ? /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_react_flexbox3.FlexRow, { ...props, children: [
120
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.IconButton, { size: "small", color: "inherit", onClick: handleClick, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material.MoreHoriz, { fontSize: "inherit" }) }),
121
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Menu, { anchorEl, open, onClose: handleClose, children: actions == null ? void 0 : actions.map((action) => {
122
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
123
+ import_material3.MenuItem,
124
+ {
125
+ onClick: () => {
126
+ var _a;
127
+ (_a = action == null ? void 0 : action.onClick) == null ? void 0 : _a.call(action);
128
+ handleClose();
129
+ },
130
+ children: action.name
131
+ },
132
+ action.name
133
+ );
134
+ }) })
135
+ ] }) : null;
136
+ };
137
+
138
+ // src/components/IdenticonCorner.tsx
139
+ var import_material4 = require("@mui/material");
140
+ var import_react_flexbox4 = require("@xylabs/react-flexbox");
141
+ var import_react_identicon = require("@xylabs/react-identicon");
142
+ var import_react2 = require("react");
143
+ var import_jsx_runtime4 = require("react/jsx-runtime");
144
+ var IdenticonCorner = ({ value, ...props }) => {
145
+ const theme = (0, import_material4.useTheme)();
146
+ const [parentHeight, setParentHeight] = (0, import_react2.useState)();
147
+ const ref = (0, import_react2.useRef)(null);
148
+ (0, import_react2.useEffect)(() => {
149
+ var _a, _b, _c;
150
+ setParentHeight((_c = (_b = (_a = ref.current) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.parentElement) == null ? void 0 : _c.clientHeight);
151
+ }, []);
152
+ const calculatedHeight = parentHeight ?? 0;
153
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_flexbox4.FlexRow, { alignItems: "flex-start", height: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_flexbox4.FlexRow, { background: true, height: calculatedHeight, width: calculatedHeight, borderLeft: `1px solid ${theme.palette.divider}`, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { ref, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_identicon.Identicon, { size: calculatedHeight * 0.6, value: `${value}`, sx: { padding: `${calculatedHeight * 0.2}px` }, ...props }) }) }) });
154
+ };
155
+
156
+ // src/components/Value.tsx
157
+ var import_react_shared = require("@xyo-network/react-shared");
158
+ var import_react3 = require("react");
159
+ var import_jsx_runtime5 = require("react/jsx-runtime");
160
+ var PropertyValue = (0, import_react3.forwardRef)(({ typographyVariant = "body1", value, ...props }, ref) => {
161
+ return value !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_shared.EllipsizeBox, { typographyProps: { component: void 0, title: value == null ? void 0 : value.toString(), variant: typographyVariant }, width: "100%", ref, ...props, children: value }) : null;
162
+ });
163
+ PropertyValue.displayName = "PropertyValue";
164
+
165
+ // src/components/Property.tsx
166
+ var import_jsx_runtime6 = require("react/jsx-runtime");
167
+ var PropertyBox = (0, import_react4.forwardRef)(
168
+ ({ titleProps, title, value, children, size = "medium", tip, actions, required, badge = false, ...props }, ref) => {
169
+ const sizeValueHeight = {
170
+ large: 48,
171
+ medium: 36,
172
+ small: 24
173
+ };
174
+ const sizeVariants = {
175
+ large: "h6",
176
+ medium: "body1",
177
+ small: "body2"
178
+ };
179
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react_flexbox5.FlexRow, { ref, flexDirection: "column", minWidth: 0, alignItems: "stretch", overflow: "hidden", ...props, children: [
180
+ title !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
181
+ PropertyTitle,
182
+ {
183
+ tip,
184
+ title: required ? `${title}*` : title,
185
+ size,
186
+ more: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(PropertyActionsMenu, { actions }),
187
+ ...titleProps
188
+ }
189
+ ) : null,
190
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(
191
+ import_react_flexbox5.FlexRow,
192
+ {
193
+ pl: 1,
194
+ columnGap: 1,
195
+ justifyContent: value === void 0 ? "center" : "space-between",
196
+ overflow: "hidden",
197
+ height: sizeValueHeight[size],
198
+ children: [
199
+ children ? children : value !== void 0 ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(PropertyValue, { value, typographyVariant: sizeVariants[size] }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material5.CircularProgress, { size: 16 }),
200
+ value !== void 0 ? badge ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(IdenticonCorner, { value }) : null : null
201
+ ]
202
+ }
203
+ )
204
+ ] });
205
+ }
206
+ );
207
+ PropertyBox.displayName = "PropertyBox";
208
+ var PropertyPaper = (0, import_react4.forwardRef)(({ style, variant, elevation = 2, square, ...props }, ref) => {
209
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material5.Paper, { ref, style: { minWidth: 0, overflow: "hidden", ...style }, variant, elevation, square, children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(PropertyBox, { ...props, paper: false }) });
210
+ });
211
+ PropertyPaper.displayName = "PropertyPaper";
212
+ var Property = (0, import_react4.forwardRef)((props, ref) => {
213
+ return props.paper ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(PropertyPaper, { ref, ...props }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(PropertyBox, { ref, ...props });
214
+ });
215
+ Property.displayName = "Property";
216
+ // Annotate the CommonJS export names for ESM import in node:
217
+ 0 && (module.exports = {
218
+ Property,
219
+ PropertyGroup,
220
+ PropertyTitle,
221
+ PropertyValue
222
+ });
223
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/index.ts","../../../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":["export * from './Action'\nexport * from './Group'\nexport * from './Property'\nexport * from './Props'\nexport * from './Title'\nexport * from './Value'\n","import { Paper, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowRow, FlexRow } from '@xylabs/react-flexbox'\nimport { typeOf } from '@xyo-network/typeof'\nimport { ReactElement } from 'react'\n\nimport { PropertyGroupBoxProps, PropertyGroupPaperProps, PropertyGroupProps } from './Props'\nimport { PropertyTitle } from './Title'\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 <FlexGrowRow>\n {childrenArray?.map((child, index) => {\n return child ? (\n <FlexGrowRow key={index} borderLeft={1} borderColor={theme.palette.divider}>\n {child}\n </FlexGrowRow>\n ) : null\n })}\n </FlexGrowRow>\n ) : (\n <FlexGrowRow overflow=\"hidden\">{children}</FlexGrowRow>\n )}\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 { 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 <QuickTipButton style={{ fontSize: quickTipSize }} color=\"inherit\" title={title ?? ''}>\n {tip}\n </QuickTipButton>\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 { forwardRef } from 'react'\n\nimport { PropertyActionsMenu } from './ActionsMenu'\nimport { IdenticonCorner } from './IdenticonCorner'\nimport { PropertyBoxProps, PropertyPaperProps, PropertyProps } from './Props'\nimport { PropertyTitle } from './Title'\nimport { PropertyValue } from './Value'\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 <PropertyTitle\n tip={tip}\n title={required ? `${title}*` : title}\n size={size}\n more={<PropertyActionsMenu actions={actions} />}\n {...titleProps}\n />\n ) : null}\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 ? (\n children\n ) : value !== undefined ? (\n <PropertyValue value={value} typographyVariant={sizeVariants[size]} />\n ) : (\n <CircularProgress size={16} />\n )}\n {value !== undefined ? badge ? <IdenticonCorner value={value} /> : null : 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 { useState } from 'react'\n\nimport { PropertyActionsProps } from './ActionsProps'\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 <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 ) : null\n}\n","import { useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { Identicon } from '@xylabs/react-identicon'\nimport { 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","import type { Variant } from '@mui/material/styles/createTypography'\nimport { EllipsizeBox, EllipsizeBoxProps } from '@xyo-network/react-shared'\nimport { 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 <EllipsizeBox typographyProps={{ component: undefined, title: value?.toString(), variant: typographyVariant }} width=\"100%\" ref={ref} {...props}>\n {value}\n </EllipsizeBox>\n ) : null\n})\n\nPropertyValue.displayName = 'PropertyValue'\n"],"mappings":"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","names":["import_material","import_react_flexbox","import_jsx_runtime","import_material","import_react_flexbox","import_react","import_material","import_react_flexbox","import_jsx_runtime","MoreHorizIcon","import_material","import_react_flexbox","import_react","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime"]}
@@ -0,0 +1,7 @@
1
+ export * from './Action';
2
+ export * from './Group';
3
+ export * from './Property';
4
+ export * from './Props';
5
+ export * from './Title';
6
+ export * from './Value';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
@@ -1,33 +1,193 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
1
+ // src/components/Group.tsx
2
+ import { Paper, useTheme as useTheme2 } from "@mui/material";
3
+ import { FlexCol, FlexGrowRow, FlexRow as FlexRow2 } from "@xylabs/react-flexbox";
4
+ import { typeOf } from "@xyo-network/typeof";
5
+
6
+ // src/components/Title.tsx
7
+ import { darken, lighten, Typography, useTheme } from "@mui/material";
8
+ import { FlexRow } from "@xylabs/react-flexbox";
9
+ import { QuickTipButton } from "@xylabs/react-quick-tip-button";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ var PropertyTitle = ({ elevation = 1, size = "medium", tip, more, title, ...props }) => {
12
+ const sizeVariants = {
13
+ full: "caption",
14
+ large: "caption",
15
+ medium: "caption",
16
+ small: "caption"
17
+ };
18
+ const sizeTitleHeight = {
19
+ full: void 0,
20
+ large: 32,
21
+ medium: 20,
22
+ small: 16
23
+ };
24
+ const sizeFontSize = {
25
+ full: 16,
26
+ large: 16,
27
+ medium: 14,
28
+ small: 10
29
+ };
30
+ const quickTipSize = sizeFontSize[size] < 16 ? sizeFontSize[size] : 16;
31
+ const theme = useTheme();
32
+ return /* @__PURE__ */ jsxs(
33
+ FlexRow,
34
+ {
35
+ bgcolor: theme.palette.mode === "dark" ? lighten(theme.palette.background.paper, 0.05 * elevation) : darken(theme.palette.background.paper, 0.025 * elevation),
36
+ alignItems: "center",
37
+ height: sizeTitleHeight[size],
38
+ justifyContent: "space-between",
39
+ ...props,
40
+ children: [
41
+ /* @__PURE__ */ jsxs(FlexRow, { paddingX: 1, paddingY: 0.5, children: [
42
+ /* @__PURE__ */ jsx(Typography, { fontWeight: 500, noWrap: true, variant: sizeVariants[size], fontSize: sizeFontSize[size], children: /* @__PURE__ */ jsx("small", { children: /* @__PURE__ */ jsx("strong", { children: title }) }) }),
43
+ tip ? /* @__PURE__ */ jsx(QuickTipButton, { style: { fontSize: quickTipSize }, color: "inherit", title: title ?? "", children: tip }) : null
44
+ ] }),
45
+ more
46
+ ]
47
+ }
48
+ );
49
+ };
50
+
51
+ // src/components/Group.tsx
52
+ import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
53
+ var PropertyGroupBox = ({ titleProps, children, title, tip, ...props }) => {
54
+ const theme = useTheme2();
55
+ const childrenArray = typeOf(children) === "array" ? children : void 0;
56
+ return /* @__PURE__ */ jsx2(FlexCol, { alignItems: "stretch", overflow: "hidden", ...props, children: /* @__PURE__ */ jsxs2(FlexRow2, { overflow: "hidden", justifyContent: "stretch", alignItems: "stretch", children: [
57
+ /* @__PURE__ */ jsx2(PropertyTitle, { alignItems: "flex-start", size: "full", title, tip, ...titleProps }),
58
+ childrenArray ? /* @__PURE__ */ jsx2(FlexGrowRow, { children: childrenArray == null ? void 0 : childrenArray.map((child, index) => {
59
+ return child ? /* @__PURE__ */ jsx2(FlexGrowRow, { borderLeft: 1, borderColor: theme.palette.divider, children: child }, index) : null;
60
+ }) }) : /* @__PURE__ */ jsx2(FlexGrowRow, { overflow: "hidden", children })
61
+ ] }) });
62
+ };
63
+ var PropertyGroupPaper = ({ style, variant, elevation, square, ...props }) => {
64
+ return /* @__PURE__ */ jsx2(Paper, { style: { minWidth: 0, overflow: "hidden", ...style }, variant, elevation, square, children: /* @__PURE__ */ jsx2(PropertyGroupBox, { ...props, paper: false }) });
65
+ };
66
+ var PropertyGroup = (props) => {
67
+ return props.paper ? /* @__PURE__ */ jsx2(PropertyGroupPaper, { ...props }) : /* @__PURE__ */ jsx2(PropertyGroupBox, { ...props });
68
+ };
69
+
70
+ // src/components/Property.tsx
71
+ import { CircularProgress, Paper as Paper2 } from "@mui/material";
72
+ import { FlexRow as FlexRow5 } from "@xylabs/react-flexbox";
73
+ import { forwardRef as forwardRef2 } from "react";
74
+
75
+ // src/components/ActionsMenu.tsx
76
+ import { MoreHoriz as MoreHorizIcon } from "@mui/icons-material";
77
+ import { IconButton, Menu, MenuItem } from "@mui/material";
78
+ import { FlexRow as FlexRow3 } from "@xylabs/react-flexbox";
79
+ import { useState } from "react";
80
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
81
+ var PropertyActionsMenu = ({ actions, ...props }) => {
82
+ const [anchorEl, setAnchorEl] = useState(null);
83
+ const open = !!anchorEl;
84
+ const handleClick = (event) => {
85
+ setAnchorEl(event.currentTarget);
86
+ };
87
+ const handleClose = () => {
88
+ setAnchorEl(null);
89
+ };
90
+ return actions && (actions == null ? void 0 : actions.length) > 0 ? /* @__PURE__ */ jsxs3(FlexRow3, { ...props, children: [
91
+ /* @__PURE__ */ jsx3(IconButton, { size: "small", color: "inherit", onClick: handleClick, children: /* @__PURE__ */ jsx3(MoreHorizIcon, { fontSize: "inherit" }) }),
92
+ /* @__PURE__ */ jsx3(Menu, { anchorEl, open, onClose: handleClose, children: actions == null ? void 0 : actions.map((action) => {
93
+ return /* @__PURE__ */ jsx3(
94
+ MenuItem,
95
+ {
96
+ onClick: () => {
97
+ var _a;
98
+ (_a = action == null ? void 0 : action.onClick) == null ? void 0 : _a.call(action);
99
+ handleClose();
100
+ },
101
+ children: action.name
102
+ },
103
+ action.name
104
+ );
105
+ }) })
106
+ ] }) : null;
13
107
  };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var components_exports = {};
17
- module.exports = __toCommonJS(components_exports);
18
- __reExport(components_exports, require("./Action"), module.exports);
19
- __reExport(components_exports, require("./Group"), module.exports);
20
- __reExport(components_exports, require("./Property"), module.exports);
21
- __reExport(components_exports, require("./Props"), module.exports);
22
- __reExport(components_exports, require("./Title"), module.exports);
23
- __reExport(components_exports, require("./Value"), module.exports);
24
- // Annotate the CommonJS export names for ESM import in node:
25
- 0 && (module.exports = {
26
- ...require("./Action"),
27
- ...require("./Group"),
28
- ...require("./Property"),
29
- ...require("./Props"),
30
- ...require("./Title"),
31
- ...require("./Value")
108
+
109
+ // src/components/IdenticonCorner.tsx
110
+ import { useTheme as useTheme3 } from "@mui/material";
111
+ import { FlexRow as FlexRow4 } from "@xylabs/react-flexbox";
112
+ import { Identicon } from "@xylabs/react-identicon";
113
+ import { useEffect, useRef, useState as useState2 } from "react";
114
+ import { jsx as jsx4 } from "react/jsx-runtime";
115
+ var IdenticonCorner = ({ value, ...props }) => {
116
+ const theme = useTheme3();
117
+ const [parentHeight, setParentHeight] = useState2();
118
+ const ref = useRef(null);
119
+ useEffect(() => {
120
+ var _a, _b, _c;
121
+ setParentHeight((_c = (_b = (_a = ref.current) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.parentElement) == null ? void 0 : _c.clientHeight);
122
+ }, []);
123
+ const calculatedHeight = parentHeight ?? 0;
124
+ return /* @__PURE__ */ jsx4(FlexRow4, { alignItems: "flex-start", height: "100%", children: /* @__PURE__ */ jsx4(FlexRow4, { background: true, height: calculatedHeight, width: calculatedHeight, borderLeft: `1px solid ${theme.palette.divider}`, children: /* @__PURE__ */ jsx4("div", { ref, children: /* @__PURE__ */ jsx4(Identicon, { size: calculatedHeight * 0.6, value: `${value}`, sx: { padding: `${calculatedHeight * 0.2}px` }, ...props }) }) }) });
125
+ };
126
+
127
+ // src/components/Value.tsx
128
+ import { EllipsizeBox } from "@xyo-network/react-shared";
129
+ import { forwardRef } from "react";
130
+ import { jsx as jsx5 } from "react/jsx-runtime";
131
+ var PropertyValue = forwardRef(({ typographyVariant = "body1", value, ...props }, ref) => {
132
+ return value !== void 0 ? /* @__PURE__ */ jsx5(EllipsizeBox, { typographyProps: { component: void 0, title: value == null ? void 0 : value.toString(), variant: typographyVariant }, width: "100%", ref, ...props, children: value }) : null;
133
+ });
134
+ PropertyValue.displayName = "PropertyValue";
135
+
136
+ // src/components/Property.tsx
137
+ import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
138
+ var PropertyBox = forwardRef2(
139
+ ({ titleProps, title, value, children, size = "medium", tip, actions, required, badge = false, ...props }, ref) => {
140
+ const sizeValueHeight = {
141
+ large: 48,
142
+ medium: 36,
143
+ small: 24
144
+ };
145
+ const sizeVariants = {
146
+ large: "h6",
147
+ medium: "body1",
148
+ small: "body2"
149
+ };
150
+ return /* @__PURE__ */ jsxs4(FlexRow5, { ref, flexDirection: "column", minWidth: 0, alignItems: "stretch", overflow: "hidden", ...props, children: [
151
+ title !== void 0 ? /* @__PURE__ */ jsx6(
152
+ PropertyTitle,
153
+ {
154
+ tip,
155
+ title: required ? `${title}*` : title,
156
+ size,
157
+ more: /* @__PURE__ */ jsx6(PropertyActionsMenu, { actions }),
158
+ ...titleProps
159
+ }
160
+ ) : null,
161
+ /* @__PURE__ */ jsxs4(
162
+ FlexRow5,
163
+ {
164
+ pl: 1,
165
+ columnGap: 1,
166
+ justifyContent: value === void 0 ? "center" : "space-between",
167
+ overflow: "hidden",
168
+ height: sizeValueHeight[size],
169
+ children: [
170
+ children ? children : value !== void 0 ? /* @__PURE__ */ jsx6(PropertyValue, { value, typographyVariant: sizeVariants[size] }) : /* @__PURE__ */ jsx6(CircularProgress, { size: 16 }),
171
+ value !== void 0 ? badge ? /* @__PURE__ */ jsx6(IdenticonCorner, { value }) : null : null
172
+ ]
173
+ }
174
+ )
175
+ ] });
176
+ }
177
+ );
178
+ PropertyBox.displayName = "PropertyBox";
179
+ var PropertyPaper = forwardRef2(({ style, variant, elevation = 2, square, ...props }, ref) => {
180
+ return /* @__PURE__ */ jsx6(Paper2, { ref, style: { minWidth: 0, overflow: "hidden", ...style }, variant, elevation, square, children: /* @__PURE__ */ jsx6(PropertyBox, { ...props, paper: false }) });
32
181
  });
182
+ PropertyPaper.displayName = "PropertyPaper";
183
+ var Property = forwardRef2((props, ref) => {
184
+ return props.paper ? /* @__PURE__ */ jsx6(PropertyPaper, { ref, ...props }) : /* @__PURE__ */ jsx6(PropertyBox, { ref, ...props });
185
+ });
186
+ Property.displayName = "Property";
187
+ export {
188
+ Property,
189
+ PropertyGroup,
190
+ PropertyTitle,
191
+ PropertyValue
192
+ };
33
193
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/index.ts"],"sourcesContent":["export * from './Action'\nexport * from './Group'\nexport * from './Property'\nexport * from './Props'\nexport * from './Title'\nexport * from './Value'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,+BAAc,qBAAd;AACA,+BAAc,oBADd;AAEA,+BAAc,uBAFd;AAGA,+BAAc,oBAHd;AAIA,+BAAc,oBAJd;AAKA,+BAAc,oBALd;","names":[]}
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 { ReactElement } from 'react'\n\nimport { PropertyGroupBoxProps, PropertyGroupPaperProps, PropertyGroupProps } from './Props'\nimport { PropertyTitle } from './Title'\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 <FlexGrowRow>\n {childrenArray?.map((child, index) => {\n return child ? (\n <FlexGrowRow key={index} borderLeft={1} borderColor={theme.palette.divider}>\n {child}\n </FlexGrowRow>\n ) : null\n })}\n </FlexGrowRow>\n ) : (\n <FlexGrowRow overflow=\"hidden\">{children}</FlexGrowRow>\n )}\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 { 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 <QuickTipButton style={{ fontSize: quickTipSize }} color=\"inherit\" title={title ?? ''}>\n {tip}\n </QuickTipButton>\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 { forwardRef } from 'react'\n\nimport { PropertyActionsMenu } from './ActionsMenu'\nimport { IdenticonCorner } from './IdenticonCorner'\nimport { PropertyBoxProps, PropertyPaperProps, PropertyProps } from './Props'\nimport { PropertyTitle } from './Title'\nimport { PropertyValue } from './Value'\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 <PropertyTitle\n tip={tip}\n title={required ? `${title}*` : title}\n size={size}\n more={<PropertyActionsMenu actions={actions} />}\n {...titleProps}\n />\n ) : null}\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 ? (\n children\n ) : value !== undefined ? (\n <PropertyValue value={value} typographyVariant={sizeVariants[size]} />\n ) : (\n <CircularProgress size={16} />\n )}\n {value !== undefined ? badge ? <IdenticonCorner value={value} /> : null : 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 { useState } from 'react'\n\nimport { PropertyActionsProps } from './ActionsProps'\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 <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 ) : null\n}\n","import { useTheme } from '@mui/material'\nimport { FlexBoxProps, FlexRow } from '@xylabs/react-flexbox'\nimport { Identicon } from '@xylabs/react-identicon'\nimport { 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","import type { Variant } from '@mui/material/styles/createTypography'\nimport { EllipsizeBox, EllipsizeBoxProps } from '@xyo-network/react-shared'\nimport { 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 <EllipsizeBox typographyProps={{ component: undefined, title: value?.toString(), variant: typographyVariant }} width=\"100%\" ref={ref} {...props}>\n {value}\n </EllipsizeBox>\n ) : null\n})\n\nPropertyValue.displayName = 'PropertyValue'\n"],"mappings":"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","names":["useTheme","FlexRow","jsx","jsxs","useTheme","FlexRow","Paper","FlexRow","forwardRef","FlexRow","jsx","jsxs","useTheme","FlexRow","useState","jsx","jsx","jsx","jsxs","forwardRef","FlexRow","Paper"]}