@xyo-network/react-card 2.64.0-rc.7 → 2.64.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (189) hide show
  1. package/dist/browser/components/CardContentEx.cjs +56 -0
  2. package/dist/{node/components/CardContentEx.mjs.map → browser/components/CardContentEx.cjs.map} +1 -1
  3. package/dist/browser/components/CardContentEx.d.cts +11 -0
  4. package/dist/browser/components/CardContentEx.d.cts.map +1 -0
  5. package/dist/browser/components/CardContentEx.js +5 -4
  6. package/dist/browser/components/CardContentEx.js.map +1 -1
  7. package/dist/browser/components/CardEx.cjs +48 -0
  8. package/dist/{node/components/CardEx.mjs.map → browser/components/CardEx.cjs.map} +1 -1
  9. package/dist/browser/components/CardEx.d.cts +8 -0
  10. package/dist/browser/components/CardEx.d.cts.map +1 -0
  11. package/dist/browser/components/CardEx.js +4 -3
  12. package/dist/browser/components/CardEx.js.map +1 -1
  13. package/dist/browser/components/FullWidthCard/FullWidthCard.cjs +93 -0
  14. package/dist/{node/components/FullWidthCard/FullWidthCard.mjs.map → browser/components/FullWidthCard/FullWidthCard.cjs.map} +1 -1
  15. package/dist/browser/components/FullWidthCard/FullWidthCard.d.cts +15 -0
  16. package/dist/browser/components/FullWidthCard/FullWidthCard.d.cts.map +1 -0
  17. package/dist/browser/components/FullWidthCard/FullWidthCard.js +3 -2
  18. package/dist/browser/components/FullWidthCard/FullWidthCard.js.map +1 -1
  19. package/dist/browser/components/FullWidthCard/index.cjs +95 -0
  20. package/dist/browser/components/FullWidthCard/index.cjs.map +1 -0
  21. package/dist/browser/components/FullWidthCard/index.d.cts +2 -0
  22. package/dist/browser/components/FullWidthCard/index.d.cts.map +1 -0
  23. package/dist/browser/components/FullWidthCard/index.js +71 -1
  24. package/dist/browser/components/FullWidthCard/index.js.map +1 -1
  25. package/dist/browser/components/PageCard.cjs +71 -0
  26. package/dist/browser/components/PageCard.cjs.map +1 -0
  27. package/dist/browser/components/PageCard.d.cts +10 -0
  28. package/dist/browser/components/PageCard.d.cts.map +1 -0
  29. package/dist/browser/components/PageCard.js +33 -8
  30. package/dist/browser/components/PageCard.js.map +1 -1
  31. package/dist/browser/components/SimpleCard/SimpleCard.cjs +120 -0
  32. package/dist/browser/components/SimpleCard/SimpleCard.cjs.map +1 -0
  33. package/dist/browser/components/SimpleCard/SimpleCard.d.cts +16 -0
  34. package/dist/browser/components/SimpleCard/SimpleCard.d.cts.map +1 -0
  35. package/dist/browser/components/SimpleCard/SimpleCard.js +36 -11
  36. package/dist/browser/components/SimpleCard/SimpleCard.js.map +1 -1
  37. package/dist/browser/components/SimpleCard/index.cjs +122 -0
  38. package/dist/browser/components/SimpleCard/index.cjs.map +1 -0
  39. package/dist/browser/components/SimpleCard/index.d.cts +2 -0
  40. package/dist/browser/components/SimpleCard/index.d.cts.map +1 -0
  41. package/dist/browser/components/SimpleCard/index.js +98 -1
  42. package/dist/browser/components/SimpleCard/index.js.map +1 -1
  43. package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.cjs +129 -0
  44. package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.cjs.map +1 -0
  45. package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.d.cts +8 -0
  46. package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.d.cts.map +1 -0
  47. package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.js +102 -4
  48. package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.js.map +1 -1
  49. package/dist/browser/components/SimpleCardGrid/index.cjs +131 -0
  50. package/dist/browser/components/SimpleCardGrid/index.cjs.map +1 -0
  51. package/dist/browser/components/SimpleCardGrid/index.d.cts +2 -0
  52. package/dist/browser/components/SimpleCardGrid/index.d.cts.map +1 -0
  53. package/dist/browser/components/SimpleCardGrid/index.js +107 -1
  54. package/dist/browser/components/SimpleCardGrid/index.js.map +1 -1
  55. package/dist/browser/components/index.cjs +248 -0
  56. package/dist/browser/components/index.cjs.map +1 -0
  57. package/dist/browser/components/index.d.cts +6 -0
  58. package/dist/browser/components/index.d.cts.map +1 -0
  59. package/dist/browser/components/index.js +224 -5
  60. package/dist/browser/components/index.js.map +1 -1
  61. package/dist/browser/index.cjs +248 -0
  62. package/dist/browser/index.cjs.map +1 -0
  63. package/dist/browser/index.d.cts +2 -0
  64. package/dist/browser/index.d.cts.map +1 -0
  65. package/dist/browser/index.js +224 -1
  66. package/dist/browser/index.js.map +1 -1
  67. package/dist/browser/types/images.d.cjs +2 -0
  68. package/dist/docs.json +1998 -0
  69. package/dist/node/components/CardContentEx.cjs +62 -0
  70. package/dist/node/components/CardContentEx.cjs.map +1 -0
  71. package/dist/node/components/CardContentEx.d.cts +11 -0
  72. package/dist/node/components/CardContentEx.d.cts.map +1 -0
  73. package/dist/node/components/CardContentEx.js +15 -38
  74. package/dist/node/components/CardContentEx.js.map +1 -1
  75. package/dist/node/components/CardEx.cjs +53 -0
  76. package/dist/node/components/CardEx.cjs.map +1 -0
  77. package/dist/node/components/CardEx.d.cts +8 -0
  78. package/dist/node/components/CardEx.d.cts.map +1 -0
  79. package/dist/node/components/CardEx.js +12 -36
  80. package/dist/node/components/CardEx.js.map +1 -1
  81. package/dist/node/components/FullWidthCard/FullWidthCard.cjs +97 -0
  82. package/dist/node/components/FullWidthCard/FullWidthCard.cjs.map +1 -0
  83. package/dist/node/components/FullWidthCard/FullWidthCard.d.cts +15 -0
  84. package/dist/node/components/FullWidthCard/FullWidthCard.d.cts.map +1 -0
  85. package/dist/node/components/FullWidthCard/FullWidthCard.js +28 -51
  86. package/dist/node/components/FullWidthCard/FullWidthCard.js.map +1 -1
  87. package/dist/node/components/FullWidthCard/index.cjs +99 -0
  88. package/dist/node/components/FullWidthCard/index.cjs.map +1 -0
  89. package/dist/node/components/FullWidthCard/index.d.cts +2 -0
  90. package/dist/node/components/FullWidthCard/index.d.cts.map +1 -0
  91. package/dist/node/components/FullWidthCard/index.js +70 -21
  92. package/dist/node/components/FullWidthCard/index.js.map +1 -1
  93. package/dist/node/components/PageCard.cjs +75 -0
  94. package/dist/node/components/PageCard.cjs.map +1 -0
  95. package/dist/node/components/PageCard.d.cts +10 -0
  96. package/dist/node/components/PageCard.d.cts.map +1 -0
  97. package/dist/node/components/PageCard.js +40 -39
  98. package/dist/node/components/PageCard.js.map +1 -1
  99. package/dist/node/components/SimpleCard/SimpleCard.cjs +124 -0
  100. package/dist/node/components/SimpleCard/SimpleCard.cjs.map +1 -0
  101. package/dist/node/components/SimpleCard/SimpleCard.d.cts +16 -0
  102. package/dist/node/components/SimpleCard/SimpleCard.d.cts.map +1 -0
  103. package/dist/node/components/SimpleCard/SimpleCard.js +51 -50
  104. package/dist/node/components/SimpleCard/SimpleCard.js.map +1 -1
  105. package/dist/node/components/SimpleCard/index.cjs +126 -0
  106. package/dist/node/components/SimpleCard/index.cjs.map +1 -0
  107. package/dist/node/components/SimpleCard/index.d.cts +2 -0
  108. package/dist/node/components/SimpleCard/index.d.cts.map +1 -0
  109. package/dist/node/components/SimpleCard/index.js +97 -21
  110. package/dist/node/components/SimpleCard/index.js.map +1 -1
  111. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.cjs +133 -0
  112. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.cjs.map +1 -0
  113. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.d.cts +8 -0
  114. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.d.cts.map +1 -0
  115. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.js +104 -30
  116. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.js.map +1 -1
  117. package/dist/node/components/SimpleCardGrid/index.cjs +135 -0
  118. package/dist/node/components/SimpleCardGrid/index.cjs.map +1 -0
  119. package/dist/node/components/SimpleCardGrid/index.d.cts +2 -0
  120. package/dist/node/components/SimpleCardGrid/index.d.cts.map +1 -0
  121. package/dist/node/components/SimpleCardGrid/index.js +106 -21
  122. package/dist/node/components/SimpleCardGrid/index.js.map +1 -1
  123. package/dist/node/components/index.cjs +259 -0
  124. package/dist/node/components/index.cjs.map +1 -0
  125. package/dist/node/components/index.d.cts +6 -0
  126. package/dist/node/components/index.d.cts.map +1 -0
  127. package/dist/node/components/index.js +222 -27
  128. package/dist/node/components/index.js.map +1 -1
  129. package/dist/node/index.cjs +259 -0
  130. package/dist/node/index.cjs.map +1 -0
  131. package/dist/node/index.d.cts +2 -0
  132. package/dist/node/index.d.cts.map +1 -0
  133. package/dist/node/index.js +222 -19
  134. package/dist/node/index.js.map +1 -1
  135. package/dist/node/types/images.d.cjs +2 -0
  136. package/dist/node/types/images.d.cjs.map +1 -0
  137. package/dist/node/types/images.d.js +0 -1
  138. package/package.json +16 -16
  139. package/dist/browser/components/CardContentEx.stories.js +0 -51
  140. package/dist/browser/components/CardContentEx.stories.js.map +0 -1
  141. package/dist/browser/components/FullWidthCard/FullWidthCard.stories.js +0 -27
  142. package/dist/browser/components/FullWidthCard/FullWidthCard.stories.js.map +0 -1
  143. package/dist/browser/components/PageCard.stories.js +0 -54
  144. package/dist/browser/components/PageCard.stories.js.map +0 -1
  145. package/dist/browser/components/SimpleCard/SimpleCard.stories.js +0 -76
  146. package/dist/browser/components/SimpleCard/SimpleCard.stories.js.map +0 -1
  147. package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.stories.js +0 -68
  148. package/dist/browser/components/SimpleCardGrid/SimpleCardGrid.stories.js.map +0 -1
  149. package/dist/node/components/CardContentEx.mjs +0 -34
  150. package/dist/node/components/CardContentEx.stories.js +0 -77
  151. package/dist/node/components/CardContentEx.stories.js.map +0 -1
  152. package/dist/node/components/CardContentEx.stories.mjs +0 -51
  153. package/dist/node/components/CardContentEx.stories.mjs.map +0 -1
  154. package/dist/node/components/CardEx.mjs +0 -26
  155. package/dist/node/components/FullWidthCard/FullWidthCard.mjs +0 -71
  156. package/dist/node/components/FullWidthCard/FullWidthCard.stories.js +0 -51
  157. package/dist/node/components/FullWidthCard/FullWidthCard.stories.js.map +0 -1
  158. package/dist/node/components/FullWidthCard/FullWidthCard.stories.mjs +0 -27
  159. package/dist/node/components/FullWidthCard/FullWidthCard.stories.mjs.map +0 -1
  160. package/dist/node/components/FullWidthCard/index.mjs +0 -2
  161. package/dist/node/components/FullWidthCard/index.mjs.map +0 -1
  162. package/dist/node/components/PageCard.mjs +0 -25
  163. package/dist/node/components/PageCard.mjs.map +0 -1
  164. package/dist/node/components/PageCard.stories.js +0 -80
  165. package/dist/node/components/PageCard.stories.js.map +0 -1
  166. package/dist/node/components/PageCard.stories.mjs +0 -54
  167. package/dist/node/components/PageCard.stories.mjs.map +0 -1
  168. package/dist/node/components/SimpleCard/SimpleCard.mjs +0 -74
  169. package/dist/node/components/SimpleCard/SimpleCard.mjs.map +0 -1
  170. package/dist/node/components/SimpleCard/SimpleCard.stories.js +0 -115
  171. package/dist/node/components/SimpleCard/SimpleCard.stories.js.map +0 -1
  172. package/dist/node/components/SimpleCard/SimpleCard.stories.mjs +0 -76
  173. package/dist/node/components/SimpleCard/SimpleCard.stories.mjs.map +0 -1
  174. package/dist/node/components/SimpleCard/index.mjs +0 -2
  175. package/dist/node/components/SimpleCard/index.mjs.map +0 -1
  176. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.mjs +0 -10
  177. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.mjs.map +0 -1
  178. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.stories.js +0 -102
  179. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.stories.js.map +0 -1
  180. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.stories.mjs +0 -68
  181. package/dist/node/components/SimpleCardGrid/SimpleCardGrid.stories.mjs.map +0 -1
  182. package/dist/node/components/SimpleCardGrid/index.mjs +0 -2
  183. package/dist/node/components/SimpleCardGrid/index.mjs.map +0 -1
  184. package/dist/node/components/index.mjs +0 -6
  185. package/dist/node/components/index.mjs.map +0 -1
  186. package/dist/node/index.mjs +0 -2
  187. package/dist/node/index.mjs.map +0 -1
  188. package/dist/node/types/images.d.mjs +0 -1
  189. /package/dist/{node/types/images.d.mjs.map → browser/types/images.d.cjs.map} +0 -0
@@ -0,0 +1,259 @@
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/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ CardContentEx: () => CardContentEx,
24
+ CardContentExWithRef: () => CardContentExWithRef,
25
+ CardEx: () => CardEx,
26
+ CardExWithRef: () => CardExWithRef,
27
+ FullWidthCard: () => FullWidthCard,
28
+ PageCard: () => PageCard,
29
+ SimpleCard: () => SimpleCard
30
+ });
31
+ module.exports = __toCommonJS(src_exports);
32
+
33
+ // src/components/CardContentEx.tsx
34
+ var import_material = require("@mui/material");
35
+ var import_react_shared = require("@xyo-network/react-shared");
36
+ var import_react = require("react");
37
+ var import_jsx_runtime = require("react/jsx-runtime");
38
+ var CardContentExRoot = (0, import_material.styled)(import_material.CardContent, {
39
+ name: "CardContentEx",
40
+ shouldForwardProp: (prop) => !["variant", "removePadding"].includes(prop),
41
+ slot: "Root"
42
+ })(({ variant, removePadding }) => ({
43
+ ...(variant === "scrollable" || removePadding) && {
44
+ [":last-child"]: {
45
+ paddingBottom: 0
46
+ },
47
+ overflow: "auto",
48
+ paddingTop: 0,
49
+ ...removePadding && { padding: 0 }
50
+ }
51
+ }));
52
+ var CardContentExWithRef = (0, import_react.forwardRef)(({ scrollToTop = 0, refreshRef = 0, ...props }, ref) => {
53
+ const sharedRef = (0, import_react_shared.useShareForwardedRef)(ref, refreshRef);
54
+ (0, import_react.useEffect)(() => {
55
+ var _a;
56
+ if (sharedRef && scrollToTop) {
57
+ (_a = sharedRef.current) == null ? void 0 : _a.scroll({ behavior: "smooth", top: 0 });
58
+ }
59
+ }, [sharedRef, scrollToTop]);
60
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CardContentExRoot, { ref: sharedRef, ...props });
61
+ });
62
+ CardContentExWithRef.displayName = "CardContentEx";
63
+ var CardContentEx = CardContentExWithRef;
64
+
65
+ // src/components/CardEx.tsx
66
+ var import_material2 = require("@mui/material");
67
+ var import_react_shared2 = require("@xyo-network/react-shared");
68
+ var import_react2 = require("react");
69
+ var import_jsx_runtime2 = require("react/jsx-runtime");
70
+ var CardExWithRef = (0, import_react2.forwardRef)(({ style, gradient, ...props }, ref) => {
71
+ const { styles } = (0, import_react_shared2.useGradientStyles)();
72
+ const gradientStyle = gradient === "border" ? styles.border : gradient === "background" ? styles.background : {};
73
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
74
+ import_material2.Card,
75
+ {
76
+ style: {
77
+ ...gradientStyle,
78
+ ...style
79
+ },
80
+ ref,
81
+ ...props
82
+ }
83
+ );
84
+ });
85
+ CardExWithRef.displayName = "CardEx";
86
+ var CardEx = CardExWithRef;
87
+
88
+ // src/components/FullWidthCard/FullWidthCard.tsx
89
+ var import_icons_material = require("@mui/icons-material");
90
+ var import_material3 = require("@mui/material");
91
+ var import_react_flexbox = require("@xylabs/react-flexbox");
92
+ var import_react_shared3 = require("@xyo-network/react-shared");
93
+ var import_react3 = require("react");
94
+ var import_react_router_dom = require("react-router-dom");
95
+ var import_jsx_runtime3 = require("react/jsx-runtime");
96
+ var FullWidthCard = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {
97
+ const theme = (0, import_material3.useTheme)();
98
+ const [raised, setRaised] = (0, import_react3.useState)(false);
99
+ const navigate = (0, import_react_router_dom.useNavigate)();
100
+ const isMobile = (0, import_react_shared3.useIsMobile)();
101
+ const localRouteChange = (to2) => {
102
+ to2 ? navigate(to2) : navigate("/404");
103
+ };
104
+ const externalRouteChange = (href2) => {
105
+ href2 ? window.open(href2) : navigate("/404");
106
+ };
107
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
108
+ import_material3.Card,
109
+ {
110
+ elevation: raised ? 3 : 0,
111
+ style: { height: "100%", width: "100%" },
112
+ ...props,
113
+ sx: {
114
+ "&:hover": {
115
+ cursor: "pointer"
116
+ },
117
+ backgroundColor: (0, import_material3.alpha)(theme.palette.primary.light, 0.05)
118
+ },
119
+ onMouseEnter: () => isMobile ? null : cardIsButton ? setRaised(true) : null,
120
+ onMouseLeave: () => isMobile ? null : cardIsButton ? setRaised(false) : null,
121
+ onClick: () => cardIsButton ? href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404") : null,
122
+ children: [
123
+ media ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.CardMedia, { component: "img", height: "100", image: media, alt: "" }) : null,
124
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.CardContent, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_material3.Grid, { container: true, alignItems: "center", paddingY: 2, paddingX: 2, children: [
125
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Grid, { item: true, xs: 12, md: 6, children: typeof name === "string" ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Typography, { fontWeight: 700, variant: "h2", textAlign: "left", paddingBottom: 1, children: name }) : name }),
126
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Grid, { item: true, xs: 12, md: 5, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Typography, { variant: "body1", fontWeight: 400, textAlign: "left", children: desc }) }),
127
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Grid, { item: true, xs: 1, display: isMobile ? "none" : "flex", justifyContent: "center", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.Zoom, { in: raised, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
128
+ import_material3.IconButton,
129
+ {
130
+ color: "primary",
131
+ size: small ? "small" : "medium",
132
+ onClick: () => href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404"),
133
+ disableFocusRipple: true,
134
+ disableRipple: true,
135
+ disableTouchRipple: true,
136
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material.ArrowForwardRounded, { fontSize: small ? "small" : "medium" })
137
+ }
138
+ ) }) })
139
+ ] }) }),
140
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_material3.CardActions, { sx: { display: { md: isMobile ? "flex" : "none" } }, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_flexbox.FlexGrowCol, { alignItems: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
141
+ import_material3.IconButton,
142
+ {
143
+ color: "primary",
144
+ size: small ? "small" : "medium",
145
+ onClick: () => href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404"),
146
+ disableFocusRipple: true,
147
+ disableRipple: true,
148
+ disableTouchRipple: true,
149
+ children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_icons_material.ArrowForwardRounded, { fontSize: small ? "small" : "medium" })
150
+ }
151
+ ) }) })
152
+ ]
153
+ }
154
+ );
155
+ };
156
+
157
+ // src/components/PageCard.tsx
158
+ var import_icons_material2 = require("@mui/icons-material");
159
+ var import_material4 = require("@mui/material");
160
+ var import_react_shared4 = require("@xyo-network/react-shared");
161
+ var import_react4 = require("react");
162
+ var import_jsx_runtime4 = require("react/jsx-runtime");
163
+ var PageCardWithRef = (0, import_react4.forwardRef)(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {
164
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(CardEx, { style: { backgroundColor: "transparent", position: "relative", ...style }, elevation: 0, ref, ...props, children: [
165
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
166
+ import_material4.CardHeader,
167
+ {
168
+ title: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_shared4.TypographyEx, { variant: "h5", gutterBottom: true, children: title }),
169
+ subheader: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_shared4.TypographyEx, { variant: "subtitle1", children: subheader }),
170
+ action: action ? action : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, { children: onRefresh ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material4.IconButton, { onClick: () => onRefresh == null ? void 0 : onRefresh(), children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_icons_material2.Refresh, {}) }) : null })
171
+ }
172
+ ),
173
+ children
174
+ ] });
175
+ });
176
+ PageCardWithRef.displayName = "PageCard";
177
+ var PageCard = PageCardWithRef;
178
+
179
+ // src/components/SimpleCard/SimpleCard.tsx
180
+ var import_icons_material3 = require("@mui/icons-material");
181
+ var import_material5 = require("@mui/material");
182
+ var import_react_flexbox2 = require("@xylabs/react-flexbox");
183
+ var import_react_shared5 = require("@xyo-network/react-shared");
184
+ var import_react5 = require("react");
185
+ var import_react_router_dom2 = require("react-router-dom");
186
+ var import_jsx_runtime5 = require("react/jsx-runtime");
187
+ var SimpleCard = ({
188
+ desc,
189
+ iconImage,
190
+ interactionVariant = "card",
191
+ headline,
192
+ href,
193
+ media,
194
+ small,
195
+ subtitle,
196
+ sx,
197
+ to,
198
+ ...props
199
+ }) => {
200
+ const theme = (0, import_material5.useTheme)();
201
+ const [raised, setRaised] = (0, import_react5.useState)(false);
202
+ const navigate = (0, import_react_router_dom2.useNavigate)();
203
+ const isMobile = (0, import_react_shared5.useIsMobile)();
204
+ const localRouteChange = (to2) => {
205
+ to2 ? navigate(to2) : navigate("/404");
206
+ };
207
+ const externalRouteChange = (href2) => {
208
+ href2 ? window.open(href2) : navigate("/404");
209
+ };
210
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
211
+ CardEx,
212
+ {
213
+ elevation: raised ? 3 : 0,
214
+ sx: {
215
+ "&:hover": {
216
+ cursor: interactionVariant == "button" ? "pointer" : null
217
+ },
218
+ backgroundColor: (0, import_material5.alpha)(theme.palette.primary.light, 0.05),
219
+ ...sx
220
+ },
221
+ onMouseEnter: () => isMobile ? null : interactionVariant == "button" ? setRaised(true) : null,
222
+ onMouseLeave: () => isMobile ? null : interactionVariant == "button" ? setRaised(false) : null,
223
+ onClick: () => interactionVariant == "button" ? href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404") : null,
224
+ ...props,
225
+ children: [
226
+ media ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.CardMedia, { component: "img", height: "100", image: media, alt: "" }) : null,
227
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.CardContent, { sx: { height: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_react_flexbox2.FlexCol, { width: "100%", alignItems: "flex-start", children: [
228
+ iconImage ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("img", { src: iconImage, height: "40px", style: { paddingBottom: "8px" } }) : null,
229
+ typeof headline === "string" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.Typography, { variant: small ? "body1" : "h6", textAlign: "left", gutterBottom: true, children: headline }) : headline,
230
+ subtitle ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.Typography, { variant: "subtitle2", textAlign: "left", gutterBottom: true, children: subtitle }) : null,
231
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.Typography, { variant: small ? "caption" : "body1", textAlign: "left", gutterBottom: true, children: desc })
232
+ ] }) }),
233
+ interactionVariant == "button" ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material5.CardActions, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_flexbox2.FlexGrowCol, { alignItems: "flex-end", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
234
+ import_material5.IconButton,
235
+ {
236
+ color: raised ? "secondary" : "primary",
237
+ size: small ? "small" : "medium",
238
+ onClick: () => href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404"),
239
+ disableFocusRipple: true,
240
+ disableRipple: true,
241
+ disableTouchRipple: true,
242
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_icons_material3.ArrowForwardRounded, { fontSize: small ? "small" : "medium" })
243
+ }
244
+ ) }) }) : null
245
+ ]
246
+ }
247
+ );
248
+ };
249
+ // Annotate the CommonJS export names for ESM import in node:
250
+ 0 && (module.exports = {
251
+ CardContentEx,
252
+ CardContentExWithRef,
253
+ CardEx,
254
+ CardExWithRef,
255
+ FullWidthCard,
256
+ PageCard,
257
+ SimpleCard
258
+ });
259
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts","../../src/components/CardContentEx.tsx","../../src/components/CardEx.tsx","../../src/components/FullWidthCard/FullWidthCard.tsx","../../src/components/PageCard.tsx","../../src/components/SimpleCard/SimpleCard.tsx"],"sourcesContent":["export * from './components'\n","import { CardContent, CardContentProps, styled } from '@mui/material'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport { forwardRef, useEffect } from 'react'\n\nconst CardContentExRoot = styled(CardContent, {\n name: 'CardContentEx',\n shouldForwardProp: (prop: string) => !['variant', 'removePadding'].includes(prop),\n slot: 'Root',\n})<CardContentExProps>(({ variant, removePadding }) => ({\n ...((variant === 'scrollable' || removePadding) && {\n [':last-child']: {\n paddingBottom: 0,\n },\n overflow: 'auto',\n paddingTop: 0,\n ...(removePadding && { padding: 0 }),\n }),\n}))\n\nexport type CardContentExProps = CardContentProps & {\n refreshRef?: number\n removePadding?: boolean\n scrollToTop?: number\n variant?: 'scrollable' | 'normal'\n}\n\nexport const CardContentExWithRef = forwardRef<HTMLDivElement | null, CardContentExProps>(({ scrollToTop = 0, refreshRef = 0, ...props }, ref) => {\n const sharedRef = useShareForwardedRef<HTMLDivElement>(ref, refreshRef)\n\n useEffect(() => {\n if (sharedRef && scrollToTop) {\n sharedRef.current?.scroll({ behavior: 'smooth', top: 0 })\n }\n }, [sharedRef, scrollToTop])\n\n return <CardContentExRoot ref={sharedRef} {...props} />\n})\n\nCardContentExWithRef.displayName = 'CardContentEx'\n\nexport const CardContentEx = CardContentExWithRef\n","import { Card, CardProps } from '@mui/material'\nimport { useGradientStyles } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ? (\n action\n ) : (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["import_material","import_react_shared","import_react","import_jsx_runtime","import_material","import_react_shared","import_react","import_jsx_runtime","to","href","ArrowForwardRoundedIcon","import_icons_material","import_material","import_react_shared","import_react","import_jsx_runtime","RefreshIcon","import_icons_material","import_material","import_react_flexbox","import_react_shared","import_react","import_react_router_dom","import_jsx_runtime","to","href","ArrowForwardRoundedIcon"]}
@@ -0,0 +1,2 @@
1
+ export * from './components';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -1,23 +1,226 @@
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 });
1
+ // src/components/CardContentEx.tsx
2
+ import { CardContent, styled } from "@mui/material";
3
+ import { useShareForwardedRef } from "@xyo-network/react-shared";
4
+ import { forwardRef, useEffect } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var CardContentExRoot = styled(CardContent, {
7
+ name: "CardContentEx",
8
+ shouldForwardProp: (prop) => !["variant", "removePadding"].includes(prop),
9
+ slot: "Root"
10
+ })(({ variant, removePadding }) => ({
11
+ ...(variant === "scrollable" || removePadding) && {
12
+ [":last-child"]: {
13
+ paddingBottom: 0
14
+ },
15
+ overflow: "auto",
16
+ paddingTop: 0,
17
+ ...removePadding && { padding: 0 }
11
18
  }
12
- return to;
19
+ }));
20
+ var CardContentExWithRef = forwardRef(({ scrollToTop = 0, refreshRef = 0, ...props }, ref) => {
21
+ const sharedRef = useShareForwardedRef(ref, refreshRef);
22
+ useEffect(() => {
23
+ var _a;
24
+ if (sharedRef && scrollToTop) {
25
+ (_a = sharedRef.current) == null ? void 0 : _a.scroll({ behavior: "smooth", top: 0 });
26
+ }
27
+ }, [sharedRef, scrollToTop]);
28
+ return /* @__PURE__ */ jsx(CardContentExRoot, { ref: sharedRef, ...props });
29
+ });
30
+ CardContentExWithRef.displayName = "CardContentEx";
31
+ var CardContentEx = CardContentExWithRef;
32
+
33
+ // src/components/CardEx.tsx
34
+ import { Card } from "@mui/material";
35
+ import { useGradientStyles } from "@xyo-network/react-shared";
36
+ import { forwardRef as forwardRef2 } from "react";
37
+ import { jsx as jsx2 } from "react/jsx-runtime";
38
+ var CardExWithRef = forwardRef2(({ style, gradient, ...props }, ref) => {
39
+ const { styles } = useGradientStyles();
40
+ const gradientStyle = gradient === "border" ? styles.border : gradient === "background" ? styles.background : {};
41
+ return /* @__PURE__ */ jsx2(
42
+ Card,
43
+ {
44
+ style: {
45
+ ...gradientStyle,
46
+ ...style
47
+ },
48
+ ref,
49
+ ...props
50
+ }
51
+ );
52
+ });
53
+ CardExWithRef.displayName = "CardEx";
54
+ var CardEx = CardExWithRef;
55
+
56
+ // src/components/FullWidthCard/FullWidthCard.tsx
57
+ import { ArrowForwardRounded as ArrowForwardRoundedIcon } from "@mui/icons-material";
58
+ import { alpha, Card as Card2, CardActions, CardContent as CardContent2, CardMedia, Grid, IconButton, Typography, useTheme, Zoom } from "@mui/material";
59
+ import { FlexGrowCol } from "@xylabs/react-flexbox";
60
+ import { useIsMobile } from "@xyo-network/react-shared";
61
+ import { useState } from "react";
62
+ import { useNavigate } from "react-router-dom";
63
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
64
+ var FullWidthCard = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {
65
+ const theme = useTheme();
66
+ const [raised, setRaised] = useState(false);
67
+ const navigate = useNavigate();
68
+ const isMobile = useIsMobile();
69
+ const localRouteChange = (to2) => {
70
+ to2 ? navigate(to2) : navigate("/404");
71
+ };
72
+ const externalRouteChange = (href2) => {
73
+ href2 ? window.open(href2) : navigate("/404");
74
+ };
75
+ return /* @__PURE__ */ jsxs(
76
+ Card2,
77
+ {
78
+ elevation: raised ? 3 : 0,
79
+ style: { height: "100%", width: "100%" },
80
+ ...props,
81
+ sx: {
82
+ "&:hover": {
83
+ cursor: "pointer"
84
+ },
85
+ backgroundColor: alpha(theme.palette.primary.light, 0.05)
86
+ },
87
+ onMouseEnter: () => isMobile ? null : cardIsButton ? setRaised(true) : null,
88
+ onMouseLeave: () => isMobile ? null : cardIsButton ? setRaised(false) : null,
89
+ onClick: () => cardIsButton ? href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404") : null,
90
+ children: [
91
+ media ? /* @__PURE__ */ jsx3(CardMedia, { component: "img", height: "100", image: media, alt: "" }) : null,
92
+ /* @__PURE__ */ jsx3(CardContent2, { children: /* @__PURE__ */ jsxs(Grid, { container: true, alignItems: "center", paddingY: 2, paddingX: 2, children: [
93
+ /* @__PURE__ */ jsx3(Grid, { item: true, xs: 12, md: 6, children: typeof name === "string" ? /* @__PURE__ */ jsx3(Typography, { fontWeight: 700, variant: "h2", textAlign: "left", paddingBottom: 1, children: name }) : name }),
94
+ /* @__PURE__ */ jsx3(Grid, { item: true, xs: 12, md: 5, children: /* @__PURE__ */ jsx3(Typography, { variant: "body1", fontWeight: 400, textAlign: "left", children: desc }) }),
95
+ /* @__PURE__ */ jsx3(Grid, { item: true, xs: 1, display: isMobile ? "none" : "flex", justifyContent: "center", children: /* @__PURE__ */ jsx3(Zoom, { in: raised, children: /* @__PURE__ */ jsx3(
96
+ IconButton,
97
+ {
98
+ color: "primary",
99
+ size: small ? "small" : "medium",
100
+ onClick: () => href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404"),
101
+ disableFocusRipple: true,
102
+ disableRipple: true,
103
+ disableTouchRipple: true,
104
+ children: /* @__PURE__ */ jsx3(ArrowForwardRoundedIcon, { fontSize: small ? "small" : "medium" })
105
+ }
106
+ ) }) })
107
+ ] }) }),
108
+ /* @__PURE__ */ jsx3(CardActions, { sx: { display: { md: isMobile ? "flex" : "none" } }, children: /* @__PURE__ */ jsx3(FlexGrowCol, { alignItems: "flex-end", children: /* @__PURE__ */ jsx3(
109
+ IconButton,
110
+ {
111
+ color: "primary",
112
+ size: small ? "small" : "medium",
113
+ onClick: () => href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404"),
114
+ disableFocusRipple: true,
115
+ disableRipple: true,
116
+ disableTouchRipple: true,
117
+ children: /* @__PURE__ */ jsx3(ArrowForwardRoundedIcon, { fontSize: small ? "small" : "medium" })
118
+ }
119
+ ) }) })
120
+ ]
121
+ }
122
+ );
13
123
  };
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 src_exports = {};
17
- module.exports = __toCommonJS(src_exports);
18
- __reExport(src_exports, require("./components"), module.exports);
19
- // Annotate the CommonJS export names for ESM import in node:
20
- 0 && (module.exports = {
21
- ...require("./components")
124
+
125
+ // src/components/PageCard.tsx
126
+ import { Refresh as RefreshIcon } from "@mui/icons-material";
127
+ import { CardHeader, IconButton as IconButton2 } from "@mui/material";
128
+ import { TypographyEx } from "@xyo-network/react-shared";
129
+ import { forwardRef as forwardRef3 } from "react";
130
+ import { Fragment, jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
131
+ var PageCardWithRef = forwardRef3(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {
132
+ return /* @__PURE__ */ jsxs2(CardEx, { style: { backgroundColor: "transparent", position: "relative", ...style }, elevation: 0, ref, ...props, children: [
133
+ /* @__PURE__ */ jsx4(
134
+ CardHeader,
135
+ {
136
+ title: /* @__PURE__ */ jsx4(TypographyEx, { variant: "h5", gutterBottom: true, children: title }),
137
+ subheader: /* @__PURE__ */ jsx4(TypographyEx, { variant: "subtitle1", children: subheader }),
138
+ action: action ? action : /* @__PURE__ */ jsx4(Fragment, { children: onRefresh ? /* @__PURE__ */ jsx4(IconButton2, { onClick: () => onRefresh == null ? void 0 : onRefresh(), children: /* @__PURE__ */ jsx4(RefreshIcon, {}) }) : null })
139
+ }
140
+ ),
141
+ children
142
+ ] });
22
143
  });
144
+ PageCardWithRef.displayName = "PageCard";
145
+ var PageCard = PageCardWithRef;
146
+
147
+ // src/components/SimpleCard/SimpleCard.tsx
148
+ import { ArrowForwardRounded as ArrowForwardRoundedIcon2 } from "@mui/icons-material";
149
+ import { alpha as alpha2, CardActions as CardActions2, CardContent as CardContent3, CardMedia as CardMedia2, IconButton as IconButton3, Typography as Typography2, useTheme as useTheme2 } from "@mui/material";
150
+ import { FlexCol, FlexGrowCol as FlexGrowCol2 } from "@xylabs/react-flexbox";
151
+ import { useIsMobile as useIsMobile2 } from "@xyo-network/react-shared";
152
+ import { useState as useState2 } from "react";
153
+ import { useNavigate as useNavigate2 } from "react-router-dom";
154
+ import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
155
+ var SimpleCard = ({
156
+ desc,
157
+ iconImage,
158
+ interactionVariant = "card",
159
+ headline,
160
+ href,
161
+ media,
162
+ small,
163
+ subtitle,
164
+ sx,
165
+ to,
166
+ ...props
167
+ }) => {
168
+ const theme = useTheme2();
169
+ const [raised, setRaised] = useState2(false);
170
+ const navigate = useNavigate2();
171
+ const isMobile = useIsMobile2();
172
+ const localRouteChange = (to2) => {
173
+ to2 ? navigate(to2) : navigate("/404");
174
+ };
175
+ const externalRouteChange = (href2) => {
176
+ href2 ? window.open(href2) : navigate("/404");
177
+ };
178
+ return /* @__PURE__ */ jsxs3(
179
+ CardEx,
180
+ {
181
+ elevation: raised ? 3 : 0,
182
+ sx: {
183
+ "&:hover": {
184
+ cursor: interactionVariant == "button" ? "pointer" : null
185
+ },
186
+ backgroundColor: alpha2(theme.palette.primary.light, 0.05),
187
+ ...sx
188
+ },
189
+ onMouseEnter: () => isMobile ? null : interactionVariant == "button" ? setRaised(true) : null,
190
+ onMouseLeave: () => isMobile ? null : interactionVariant == "button" ? setRaised(false) : null,
191
+ onClick: () => interactionVariant == "button" ? href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404") : null,
192
+ ...props,
193
+ children: [
194
+ media ? /* @__PURE__ */ jsx5(CardMedia2, { component: "img", height: "100", image: media, alt: "" }) : null,
195
+ /* @__PURE__ */ jsx5(CardContent3, { sx: { height: "100%" }, children: /* @__PURE__ */ jsxs3(FlexCol, { width: "100%", alignItems: "flex-start", children: [
196
+ iconImage ? /* @__PURE__ */ jsx5("img", { src: iconImage, height: "40px", style: { paddingBottom: "8px" } }) : null,
197
+ typeof headline === "string" ? /* @__PURE__ */ jsx5(Typography2, { variant: small ? "body1" : "h6", textAlign: "left", gutterBottom: true, children: headline }) : headline,
198
+ subtitle ? /* @__PURE__ */ jsx5(Typography2, { variant: "subtitle2", textAlign: "left", gutterBottom: true, children: subtitle }) : null,
199
+ /* @__PURE__ */ jsx5(Typography2, { variant: small ? "caption" : "body1", textAlign: "left", gutterBottom: true, children: desc })
200
+ ] }) }),
201
+ interactionVariant == "button" ? /* @__PURE__ */ jsx5(CardActions2, { children: /* @__PURE__ */ jsx5(FlexGrowCol2, { alignItems: "flex-end", children: /* @__PURE__ */ jsx5(
202
+ IconButton3,
203
+ {
204
+ color: raised ? "secondary" : "primary",
205
+ size: small ? "small" : "medium",
206
+ onClick: () => href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate("/404"),
207
+ disableFocusRipple: true,
208
+ disableRipple: true,
209
+ disableTouchRipple: true,
210
+ children: /* @__PURE__ */ jsx5(ArrowForwardRoundedIcon2, { fontSize: small ? "small" : "medium" })
211
+ }
212
+ ) }) }) : null
213
+ ]
214
+ }
215
+ );
216
+ };
217
+ export {
218
+ CardContentEx,
219
+ CardContentExWithRef,
220
+ CardEx,
221
+ CardExWithRef,
222
+ FullWidthCard,
223
+ PageCard,
224
+ SimpleCard
225
+ };
23
226
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './components'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,yBAAd;","names":[]}
1
+ {"version":3,"sources":["../../src/components/CardContentEx.tsx","../../src/components/CardEx.tsx","../../src/components/FullWidthCard/FullWidthCard.tsx","../../src/components/PageCard.tsx","../../src/components/SimpleCard/SimpleCard.tsx"],"sourcesContent":["import { CardContent, CardContentProps, styled } from '@mui/material'\nimport { useShareForwardedRef } from '@xyo-network/react-shared'\nimport { forwardRef, useEffect } from 'react'\n\nconst CardContentExRoot = styled(CardContent, {\n name: 'CardContentEx',\n shouldForwardProp: (prop: string) => !['variant', 'removePadding'].includes(prop),\n slot: 'Root',\n})<CardContentExProps>(({ variant, removePadding }) => ({\n ...((variant === 'scrollable' || removePadding) && {\n [':last-child']: {\n paddingBottom: 0,\n },\n overflow: 'auto',\n paddingTop: 0,\n ...(removePadding && { padding: 0 }),\n }),\n}))\n\nexport type CardContentExProps = CardContentProps & {\n refreshRef?: number\n removePadding?: boolean\n scrollToTop?: number\n variant?: 'scrollable' | 'normal'\n}\n\nexport const CardContentExWithRef = forwardRef<HTMLDivElement | null, CardContentExProps>(({ scrollToTop = 0, refreshRef = 0, ...props }, ref) => {\n const sharedRef = useShareForwardedRef<HTMLDivElement>(ref, refreshRef)\n\n useEffect(() => {\n if (sharedRef && scrollToTop) {\n sharedRef.current?.scroll({ behavior: 'smooth', top: 0 })\n }\n }, [sharedRef, scrollToTop])\n\n return <CardContentExRoot ref={sharedRef} {...props} />\n})\n\nCardContentExWithRef.displayName = 'CardContentEx'\n\nexport const CardContentEx = CardContentExWithRef\n","import { Card, CardProps } from '@mui/material'\nimport { useGradientStyles } from '@xyo-network/react-shared'\nimport { forwardRef } from 'react'\n\nexport type CardExProps = CardProps & {\n gradient?: 'border' | 'background'\n}\n\nexport const CardExWithRef: React.FC<CardExProps> = forwardRef(({ style, gradient, ...props }, ref) => {\n const { styles } = useGradientStyles()\n const gradientStyle = gradient === 'border' ? styles.border : gradient === 'background' ? styles.background : {}\n return (\n <Card\n style={{\n ...gradientStyle,\n ...style,\n }}\n ref={ref}\n {...props}\n />\n )\n})\n\nCardExWithRef.displayName = 'CardEx'\n\nexport const CardEx = CardExWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, Card, CardActions, CardContent, CardMedia, CardProps, Grid, IconButton, Typography, useTheme, Zoom } from '@mui/material'\nimport { FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nexport interface FullWidthCardProps extends CardProps {\n cardIsButton?: boolean\n desc?: ReactNode\n href?: string\n linkText?: string\n media?: string\n name: ReactNode\n small?: boolean\n to?: To\n}\n\nexport const FullWidthCard: React.FC<FullWidthCardProps> = ({ cardIsButton, desc, href, media, name, small, to, ...props }) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n\n return (\n <Card\n elevation={raised ? 3 : 0}\n style={{ height: '100%', width: '100%' }}\n {...props}\n sx={{\n '&:hover': {\n cursor: 'pointer',\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n }}\n onMouseEnter={() => (isMobile ? null : cardIsButton ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : cardIsButton ? setRaised(false) : null)}\n onClick={() => (cardIsButton ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent>\n <Grid container alignItems=\"center\" paddingY={2} paddingX={2}>\n <Grid item xs={12} md={6}>\n {typeof name === 'string' ? (\n <Typography fontWeight={700} variant=\"h2\" textAlign=\"left\" paddingBottom={1}>\n {name}\n </Typography>\n ) : (\n name\n )}\n </Grid>\n <Grid item xs={12} md={5}>\n <Typography variant=\"body1\" fontWeight={400} textAlign=\"left\">\n {desc}\n </Typography>\n </Grid>\n <Grid item xs={1} display={isMobile ? 'none' : 'flex'} justifyContent=\"center\">\n <Zoom in={raised}>\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </Zoom>\n </Grid>\n </Grid>\n </CardContent>\n <CardActions sx={{ display: { md: isMobile ? 'flex' : 'none' } }}>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color=\"primary\"\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n </Card>\n )\n}\n","import { Refresh as RefreshIcon } from '@mui/icons-material'\nimport { CardHeader, CardHeaderProps, IconButton } from '@mui/material'\nimport { TypographyEx } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\n\nimport { CardEx, CardExProps } from './CardEx'\n\nexport interface PageCardProps extends CardExProps {\n action?: ReactNode\n onRefresh?: () => void\n subheader?: CardHeaderProps['subheader']\n}\n\nconst PageCardWithRef: React.FC<PageCardProps> = forwardRef(({ subheader, title, onRefresh, children, action, style, ...props }, ref) => {\n return (\n <CardEx style={{ backgroundColor: 'transparent', position: 'relative', ...style }} elevation={0} ref={ref} {...props}>\n <CardHeader\n title={\n <TypographyEx variant=\"h5\" gutterBottom>\n {title}\n </TypographyEx>\n }\n subheader={<TypographyEx variant=\"subtitle1\">{subheader}</TypographyEx>}\n action={\n action ? (\n action\n ) : (\n <>\n {onRefresh ? (\n <IconButton onClick={() => onRefresh?.()}>\n <RefreshIcon />\n </IconButton>\n ) : null}\n </>\n )\n }\n />\n {children}\n </CardEx>\n )\n})\n\nPageCardWithRef.displayName = 'PageCard'\n\nexport const PageCard = PageCardWithRef\n","import { ArrowForwardRounded as ArrowForwardRoundedIcon } from '@mui/icons-material'\nimport { alpha, CardActions, CardContent, CardMedia, IconButton, Typography, useTheme } from '@mui/material'\nimport { FlexCol, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useIsMobile } from '@xyo-network/react-shared'\nimport { ReactNode, useState } from 'react'\nimport { To, useNavigate } from 'react-router-dom'\n\nimport { CardEx, CardExProps } from '../CardEx'\n\nexport interface SimpleCardProps extends CardExProps {\n desc?: ReactNode\n headline?: ReactNode\n href?: string\n iconImage?: string\n interactionVariant?: 'button' | 'card'\n media?: string\n small?: boolean\n subtitle?: string\n to?: To\n}\n\nexport const SimpleCard: React.FC<SimpleCardProps> = ({\n desc,\n iconImage,\n interactionVariant = 'card',\n headline,\n href,\n media,\n small,\n subtitle,\n sx,\n to,\n ...props\n}) => {\n const theme = useTheme()\n const [raised, setRaised] = useState(false)\n const navigate = useNavigate()\n const isMobile = useIsMobile()\n const localRouteChange = (to: To | undefined) => {\n to ? navigate(to) : navigate('/404')\n }\n const externalRouteChange = (href: string | undefined) => {\n href ? window.open(href) : navigate('/404')\n }\n return (\n <CardEx\n elevation={raised ? 3 : 0}\n sx={{\n '&:hover': {\n cursor: interactionVariant == 'button' ? 'pointer' : null,\n },\n backgroundColor: alpha(theme.palette.primary.light, 0.05),\n ...sx,\n }}\n onMouseEnter={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(true) : null)}\n onMouseLeave={() => (isMobile ? null : interactionVariant == 'button' ? setRaised(false) : null)}\n onClick={() => (interactionVariant == 'button' ? (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404')) : null)}\n {...props}\n >\n {media ? <CardMedia component=\"img\" height=\"100\" image={media} alt=\"\" /> : null}\n\n <CardContent sx={{ height: '100%' }}>\n <FlexCol width=\"100%\" alignItems=\"flex-start\">\n {iconImage ? <img src={iconImage} height=\"40px\" style={{ paddingBottom: '8px' }} /> : null}\n {typeof headline === 'string' ? (\n <Typography variant={small ? 'body1' : 'h6'} textAlign=\"left\" gutterBottom>\n {headline}\n </Typography>\n ) : (\n headline\n )}\n {subtitle ? (\n <Typography variant=\"subtitle2\" textAlign=\"left\" gutterBottom>\n {subtitle}\n </Typography>\n ) : null}\n <Typography variant={small ? 'caption' : 'body1'} textAlign=\"left\" gutterBottom>\n {desc}\n </Typography>\n </FlexCol>\n </CardContent>\n {interactionVariant == 'button' ? (\n <CardActions>\n <FlexGrowCol alignItems=\"flex-end\">\n <IconButton\n color={raised ? 'secondary' : 'primary'}\n size={small ? 'small' : 'medium'}\n onClick={() => (href ? externalRouteChange(href) : to ? localRouteChange(to) : navigate('/404'))}\n disableFocusRipple\n disableRipple\n disableTouchRipple\n >\n <ArrowForwardRoundedIcon fontSize={small ? 'small' : 'medium'} />\n </IconButton>\n </FlexGrowCol>\n </CardActions>\n ) : null}\n </CardEx>\n )\n}\n"],"mappings":"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","names":["forwardRef","jsx","Card","CardContent","jsx","to","href","IconButton","forwardRef","jsx","jsxs","forwardRef","IconButton","ArrowForwardRoundedIcon","alpha","CardActions","CardContent","CardMedia","IconButton","Typography","useTheme","FlexGrowCol","useIsMobile","useState","useNavigate","jsx","jsxs","useTheme","useState","useNavigate","useIsMobile","to","href","alpha","CardMedia","CardContent","Typography","CardActions","FlexGrowCol","IconButton","ArrowForwardRoundedIcon"]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=images.d.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,2 +1 @@
1
- "use strict";
2
1
  //# sourceMappingURL=images.d.js.map