@xyo-network/react-webapp 2.81.10 → 2.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/browser/index.d.ts +44 -2
  2. package/dist/browser/index.mjs +258 -0
  3. package/dist/browser/index.mjs.map +1 -0
  4. package/package.json +28 -44
  5. package/src/components/Body.tsx +8 -6
  6. package/src/components/Chrome.stories.tsx +10 -10
  7. package/src/components/Chrome.tsx +21 -17
  8. package/src/components/ErrorPage.tsx +2 -1
  9. package/src/components/NotFoundPage/Page.stories.tsx +1 -1
  10. package/src/components/NotFoundPage/Page.tsx +2 -1
  11. package/src/components/NotFoundPage/index.ts +1 -1
  12. package/src/components/Page.tsx +34 -31
  13. package/src/components/index.ts +5 -5
  14. package/src/components/lib/index.ts +1 -1
  15. package/src/index.ts +1 -1
  16. package/xy.config.ts +12 -0
  17. package/dist/browser/components/Body.d.cts +0 -12
  18. package/dist/browser/components/Body.d.cts.map +0 -1
  19. package/dist/browser/components/Body.d.mts +0 -12
  20. package/dist/browser/components/Body.d.mts.map +0 -1
  21. package/dist/browser/components/Body.d.ts +0 -12
  22. package/dist/browser/components/Body.d.ts.map +0 -1
  23. package/dist/browser/components/Chrome.d.cts +0 -15
  24. package/dist/browser/components/Chrome.d.cts.map +0 -1
  25. package/dist/browser/components/Chrome.d.mts +0 -15
  26. package/dist/browser/components/Chrome.d.mts.map +0 -1
  27. package/dist/browser/components/Chrome.d.ts +0 -15
  28. package/dist/browser/components/Chrome.d.ts.map +0 -1
  29. package/dist/browser/components/ErrorPage.d.cts +0 -7
  30. package/dist/browser/components/ErrorPage.d.cts.map +0 -1
  31. package/dist/browser/components/ErrorPage.d.mts +0 -7
  32. package/dist/browser/components/ErrorPage.d.mts.map +0 -1
  33. package/dist/browser/components/ErrorPage.d.ts +0 -7
  34. package/dist/browser/components/ErrorPage.d.ts.map +0 -1
  35. package/dist/browser/components/NotFoundPage/Page.d.cts +0 -4
  36. package/dist/browser/components/NotFoundPage/Page.d.cts.map +0 -1
  37. package/dist/browser/components/NotFoundPage/Page.d.mts +0 -4
  38. package/dist/browser/components/NotFoundPage/Page.d.mts.map +0 -1
  39. package/dist/browser/components/NotFoundPage/Page.d.ts +0 -4
  40. package/dist/browser/components/NotFoundPage/Page.d.ts.map +0 -1
  41. package/dist/browser/components/NotFoundPage/index.d.cts +0 -2
  42. package/dist/browser/components/NotFoundPage/index.d.cts.map +0 -1
  43. package/dist/browser/components/NotFoundPage/index.d.mts +0 -2
  44. package/dist/browser/components/NotFoundPage/index.d.mts.map +0 -1
  45. package/dist/browser/components/NotFoundPage/index.d.ts +0 -2
  46. package/dist/browser/components/NotFoundPage/index.d.ts.map +0 -1
  47. package/dist/browser/components/Page.d.cts +0 -11
  48. package/dist/browser/components/Page.d.cts.map +0 -1
  49. package/dist/browser/components/Page.d.mts +0 -11
  50. package/dist/browser/components/Page.d.mts.map +0 -1
  51. package/dist/browser/components/Page.d.ts +0 -11
  52. package/dist/browser/components/Page.d.ts.map +0 -1
  53. package/dist/browser/components/index.d.cts +0 -6
  54. package/dist/browser/components/index.d.cts.map +0 -1
  55. package/dist/browser/components/index.d.mts +0 -6
  56. package/dist/browser/components/index.d.mts.map +0 -1
  57. package/dist/browser/components/index.d.ts +0 -6
  58. package/dist/browser/components/index.d.ts.map +0 -1
  59. package/dist/browser/components/lib/cssValues.d.cts +0 -6
  60. package/dist/browser/components/lib/cssValues.d.cts.map +0 -1
  61. package/dist/browser/components/lib/cssValues.d.mts +0 -6
  62. package/dist/browser/components/lib/cssValues.d.mts.map +0 -1
  63. package/dist/browser/components/lib/cssValues.d.ts +0 -6
  64. package/dist/browser/components/lib/cssValues.d.ts.map +0 -1
  65. package/dist/browser/components/lib/index.d.cts +0 -2
  66. package/dist/browser/components/lib/index.d.cts.map +0 -1
  67. package/dist/browser/components/lib/index.d.mts +0 -2
  68. package/dist/browser/components/lib/index.d.mts.map +0 -1
  69. package/dist/browser/components/lib/index.d.ts +0 -2
  70. package/dist/browser/components/lib/index.d.ts.map +0 -1
  71. package/dist/browser/index.cjs +0 -261
  72. package/dist/browser/index.cjs.map +0 -1
  73. package/dist/browser/index.d.cts +0 -2
  74. package/dist/browser/index.d.cts.map +0 -1
  75. package/dist/browser/index.d.mts +0 -2
  76. package/dist/browser/index.d.mts.map +0 -1
  77. package/dist/browser/index.d.ts.map +0 -1
  78. package/dist/browser/index.js +0 -238
  79. package/dist/browser/index.js.map +0 -1
  80. package/dist/neutral/components/Body.d.cts +0 -12
  81. package/dist/neutral/components/Body.d.cts.map +0 -1
  82. package/dist/neutral/components/Body.d.mts +0 -12
  83. package/dist/neutral/components/Body.d.mts.map +0 -1
  84. package/dist/neutral/components/Body.d.ts +0 -12
  85. package/dist/neutral/components/Body.d.ts.map +0 -1
  86. package/dist/neutral/components/Chrome.d.cts +0 -15
  87. package/dist/neutral/components/Chrome.d.cts.map +0 -1
  88. package/dist/neutral/components/Chrome.d.mts +0 -15
  89. package/dist/neutral/components/Chrome.d.mts.map +0 -1
  90. package/dist/neutral/components/Chrome.d.ts +0 -15
  91. package/dist/neutral/components/Chrome.d.ts.map +0 -1
  92. package/dist/neutral/components/ErrorPage.d.cts +0 -7
  93. package/dist/neutral/components/ErrorPage.d.cts.map +0 -1
  94. package/dist/neutral/components/ErrorPage.d.mts +0 -7
  95. package/dist/neutral/components/ErrorPage.d.mts.map +0 -1
  96. package/dist/neutral/components/ErrorPage.d.ts +0 -7
  97. package/dist/neutral/components/ErrorPage.d.ts.map +0 -1
  98. package/dist/neutral/components/NotFoundPage/Page.d.cts +0 -4
  99. package/dist/neutral/components/NotFoundPage/Page.d.cts.map +0 -1
  100. package/dist/neutral/components/NotFoundPage/Page.d.mts +0 -4
  101. package/dist/neutral/components/NotFoundPage/Page.d.mts.map +0 -1
  102. package/dist/neutral/components/NotFoundPage/Page.d.ts +0 -4
  103. package/dist/neutral/components/NotFoundPage/Page.d.ts.map +0 -1
  104. package/dist/neutral/components/NotFoundPage/index.d.cts +0 -2
  105. package/dist/neutral/components/NotFoundPage/index.d.cts.map +0 -1
  106. package/dist/neutral/components/NotFoundPage/index.d.mts +0 -2
  107. package/dist/neutral/components/NotFoundPage/index.d.mts.map +0 -1
  108. package/dist/neutral/components/NotFoundPage/index.d.ts +0 -2
  109. package/dist/neutral/components/NotFoundPage/index.d.ts.map +0 -1
  110. package/dist/neutral/components/Page.d.cts +0 -11
  111. package/dist/neutral/components/Page.d.cts.map +0 -1
  112. package/dist/neutral/components/Page.d.mts +0 -11
  113. package/dist/neutral/components/Page.d.mts.map +0 -1
  114. package/dist/neutral/components/Page.d.ts +0 -11
  115. package/dist/neutral/components/Page.d.ts.map +0 -1
  116. package/dist/neutral/components/index.d.cts +0 -6
  117. package/dist/neutral/components/index.d.cts.map +0 -1
  118. package/dist/neutral/components/index.d.mts +0 -6
  119. package/dist/neutral/components/index.d.mts.map +0 -1
  120. package/dist/neutral/components/index.d.ts +0 -6
  121. package/dist/neutral/components/index.d.ts.map +0 -1
  122. package/dist/neutral/components/lib/cssValues.d.cts +0 -6
  123. package/dist/neutral/components/lib/cssValues.d.cts.map +0 -1
  124. package/dist/neutral/components/lib/cssValues.d.mts +0 -6
  125. package/dist/neutral/components/lib/cssValues.d.mts.map +0 -1
  126. package/dist/neutral/components/lib/cssValues.d.ts +0 -6
  127. package/dist/neutral/components/lib/cssValues.d.ts.map +0 -1
  128. package/dist/neutral/components/lib/index.d.cts +0 -2
  129. package/dist/neutral/components/lib/index.d.cts.map +0 -1
  130. package/dist/neutral/components/lib/index.d.mts +0 -2
  131. package/dist/neutral/components/lib/index.d.mts.map +0 -1
  132. package/dist/neutral/components/lib/index.d.ts +0 -2
  133. package/dist/neutral/components/lib/index.d.ts.map +0 -1
  134. package/dist/neutral/index.cjs +0 -261
  135. package/dist/neutral/index.cjs.map +0 -1
  136. package/dist/neutral/index.d.cts +0 -2
  137. package/dist/neutral/index.d.cts.map +0 -1
  138. package/dist/neutral/index.d.mts +0 -2
  139. package/dist/neutral/index.d.mts.map +0 -1
  140. package/dist/neutral/index.d.ts +0 -2
  141. package/dist/neutral/index.d.ts.map +0 -1
  142. package/dist/neutral/index.js +0 -238
  143. package/dist/neutral/index.js.map +0 -1
  144. package/dist/node/components/Body.d.cts +0 -12
  145. package/dist/node/components/Body.d.cts.map +0 -1
  146. package/dist/node/components/Body.d.mts +0 -12
  147. package/dist/node/components/Body.d.mts.map +0 -1
  148. package/dist/node/components/Body.d.ts +0 -12
  149. package/dist/node/components/Body.d.ts.map +0 -1
  150. package/dist/node/components/Chrome.d.cts +0 -15
  151. package/dist/node/components/Chrome.d.cts.map +0 -1
  152. package/dist/node/components/Chrome.d.mts +0 -15
  153. package/dist/node/components/Chrome.d.mts.map +0 -1
  154. package/dist/node/components/Chrome.d.ts +0 -15
  155. package/dist/node/components/Chrome.d.ts.map +0 -1
  156. package/dist/node/components/ErrorPage.d.cts +0 -7
  157. package/dist/node/components/ErrorPage.d.cts.map +0 -1
  158. package/dist/node/components/ErrorPage.d.mts +0 -7
  159. package/dist/node/components/ErrorPage.d.mts.map +0 -1
  160. package/dist/node/components/ErrorPage.d.ts +0 -7
  161. package/dist/node/components/ErrorPage.d.ts.map +0 -1
  162. package/dist/node/components/NotFoundPage/Page.d.cts +0 -4
  163. package/dist/node/components/NotFoundPage/Page.d.cts.map +0 -1
  164. package/dist/node/components/NotFoundPage/Page.d.mts +0 -4
  165. package/dist/node/components/NotFoundPage/Page.d.mts.map +0 -1
  166. package/dist/node/components/NotFoundPage/Page.d.ts +0 -4
  167. package/dist/node/components/NotFoundPage/Page.d.ts.map +0 -1
  168. package/dist/node/components/NotFoundPage/index.d.cts +0 -2
  169. package/dist/node/components/NotFoundPage/index.d.cts.map +0 -1
  170. package/dist/node/components/NotFoundPage/index.d.mts +0 -2
  171. package/dist/node/components/NotFoundPage/index.d.mts.map +0 -1
  172. package/dist/node/components/NotFoundPage/index.d.ts +0 -2
  173. package/dist/node/components/NotFoundPage/index.d.ts.map +0 -1
  174. package/dist/node/components/Page.d.cts +0 -11
  175. package/dist/node/components/Page.d.cts.map +0 -1
  176. package/dist/node/components/Page.d.mts +0 -11
  177. package/dist/node/components/Page.d.mts.map +0 -1
  178. package/dist/node/components/Page.d.ts +0 -11
  179. package/dist/node/components/Page.d.ts.map +0 -1
  180. package/dist/node/components/index.d.cts +0 -6
  181. package/dist/node/components/index.d.cts.map +0 -1
  182. package/dist/node/components/index.d.mts +0 -6
  183. package/dist/node/components/index.d.mts.map +0 -1
  184. package/dist/node/components/index.d.ts +0 -6
  185. package/dist/node/components/index.d.ts.map +0 -1
  186. package/dist/node/components/lib/cssValues.d.cts +0 -6
  187. package/dist/node/components/lib/cssValues.d.cts.map +0 -1
  188. package/dist/node/components/lib/cssValues.d.mts +0 -6
  189. package/dist/node/components/lib/cssValues.d.mts.map +0 -1
  190. package/dist/node/components/lib/cssValues.d.ts +0 -6
  191. package/dist/node/components/lib/cssValues.d.ts.map +0 -1
  192. package/dist/node/components/lib/index.d.cts +0 -2
  193. package/dist/node/components/lib/index.d.cts.map +0 -1
  194. package/dist/node/components/lib/index.d.mts +0 -2
  195. package/dist/node/components/lib/index.d.mts.map +0 -1
  196. package/dist/node/components/lib/index.d.ts +0 -2
  197. package/dist/node/components/lib/index.d.ts.map +0 -1
  198. package/dist/node/index.cjs +0 -272
  199. package/dist/node/index.cjs.map +0 -1
  200. package/dist/node/index.d.cts +0 -2
  201. package/dist/node/index.d.cts.map +0 -1
  202. package/dist/node/index.d.mts +0 -2
  203. package/dist/node/index.d.mts.map +0 -1
  204. package/dist/node/index.d.ts +0 -2
  205. package/dist/node/index.d.ts.map +0 -1
  206. package/dist/node/index.js +0 -238
  207. package/dist/node/index.js.map +0 -1
@@ -1,2 +0,0 @@
1
- export * from './cssValues.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './cssValues.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1,272 +0,0 @@
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
- ErrorPage: () => ErrorPage,
24
- FlexPage: () => FlexPage,
25
- NotFoundPage: () => NotFoundPage,
26
- WebAppBody: () => WebAppBody,
27
- WebAppChrome: () => WebAppChrome,
28
- WebAppErrorPage: () => WebAppErrorPage,
29
- WebAppNotFoundPage: () => WebAppNotFoundPage,
30
- WebAppPage: () => WebAppPage
31
- });
32
- module.exports = __toCommonJS(src_exports);
33
-
34
- // src/components/Body.tsx
35
- var import_material = require("@mui/material");
36
- var import_react_flexbox = require("@xylabs/react-flexbox");
37
-
38
- // src/components/lib/cssValues.ts
39
- var scrollableWrap = {
40
- inset: 0,
41
- position: "absolute"
42
- };
43
- var fixedWrap = {
44
- inset: "unset",
45
- position: "relative"
46
- };
47
- var scrollableContent = {
48
- ...fixedWrap
49
- };
50
- var fixedContent = {
51
- ...scrollableWrap
52
- };
53
-
54
- // src/components/Body.tsx
55
- var import_jsx_runtime = require("react/jsx-runtime");
56
- var WebAppBodyName = "WebAppBody";
57
- var propsNotForwarded = /* @__PURE__ */ new Set(["mobileScrollingBreakpoint", "variant", "spacing", "disableBreadcrumbGutter"]);
58
- var defaultStyledOptions = {
59
- shouldForwardProp: (prop) => !propsNotForwarded.has(prop)
60
- };
61
- var WebAppBodyRoot = (0, import_material.styled)(import_react_flexbox.FlexGrowCol, {
62
- ...defaultStyledOptions,
63
- name: WebAppBodyName,
64
- slot: "Root"
65
- })(({ spacing, theme, mobileScrollingBreakpoint = "sm", variant }) => {
66
- const scrollable = variant === "scrollable";
67
- return theme.unstable_sx({
68
- alignItems: "stretch",
69
- gap: 1,
70
- justifyContent: "flex-start",
71
- overflowX: "visible",
72
- overflowY: scrollable ? "scroll" : "hidden",
73
- paddingY: spacing,
74
- [theme.breakpoints.down(mobileScrollingBreakpoint)]: {
75
- overflowY: "scroll"
76
- }
77
- });
78
- });
79
- var WebAppBodyBreadcrumb = (0, import_material.styled)(import_react_flexbox.FlexRow, {
80
- ...defaultStyledOptions,
81
- name: WebAppBodyName,
82
- slot: "Breadcrumb"
83
- })(
84
- ({ theme, disableBreadcrumbGutter, spacing }) => theme.unstable_sx({
85
- justifyContent: "start",
86
- marginX: disableBreadcrumbGutter ? 0 : spacing
87
- })
88
- );
89
- var WebAppBodyScrollableWrapper = (0, import_material.styled)(import_react_flexbox.FlexGrowCol, {
90
- name: WebAppBodyName,
91
- slot: "ScrollableWrapper"
92
- })(() => ({
93
- alignItems: "stretch"
94
- }));
95
- var WebAppBodyScrollable = (0, import_material.styled)(import_react_flexbox.FlexGrowCol, {
96
- ...defaultStyledOptions,
97
- name: WebAppBodyName,
98
- slot: "Scrollable"
99
- })(({ theme, mobileScrollingBreakpoint = "sm", variant }) => {
100
- const props = variant === "scrollable" ? scrollableContent : fixedContent;
101
- return {
102
- ...props,
103
- alignItems: "stretch",
104
- justifyContent: "start",
105
- [theme.breakpoints.down(mobileScrollingBreakpoint)]: {
106
- inset: "unset",
107
- position: "relative"
108
- }
109
- };
110
- });
111
- var WebAppBody = ({
112
- children,
113
- breadcrumbs,
114
- disableBreadcrumbGutter,
115
- mobileScrollingBreakpoint,
116
- spacing = 1,
117
- variant,
118
- ...props
119
- }) => {
120
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(WebAppBodyRoot, { mobileScrollingBreakpoint, spacing, variant, ...props, children: [
121
- breadcrumbs ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(WebAppBodyBreadcrumb, { disableBreadcrumbGutter, spacing, children: breadcrumbs }) : null,
122
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(WebAppBodyScrollableWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(WebAppBodyScrollable, { mobileScrollingBreakpoint, variant, children }) })
123
- ] });
124
- };
125
-
126
- // src/components/Chrome.tsx
127
- var import_material3 = require("@mui/material");
128
- var import_react_flexbox3 = require("@xylabs/react-flexbox");
129
- var import_react_appbar = require("@xyo-network/react-appbar");
130
- var import_react_footer = require("@xyo-network/react-footer");
131
- var import_react_shared = require("@xyo-network/react-shared");
132
- var import_react = require("react");
133
- var import_react_helmet2 = require("react-helmet");
134
-
135
- // src/components/ErrorPage.tsx
136
- var import_react_button = require("@xylabs/react-button");
137
-
138
- // src/components/Page.tsx
139
- var import_material2 = require("@mui/material");
140
- var import_react_async_effect = require("@xylabs/react-async-effect");
141
- var import_react_flexbox2 = require("@xylabs/react-flexbox");
142
- var import_react_pixel = require("@xylabs/react-pixel");
143
- var import_react_helmet = require("react-helmet");
144
- var import_react_router_dom = require("react-router-dom");
145
- var import_jsx_runtime2 = require("react/jsx-runtime");
146
- var WebAppPageRoot = (0, import_material2.styled)(import_react_flexbox2.FlexGrowCol, {
147
- name: "WebAppPage",
148
- shouldForwardProp: (propName) => propName !== "mobileScrollingBreakpoint" && propName !== "variant",
149
- slot: "Root"
150
- })(({ theme, mobileScrollingBreakpoint = "sm", variant }) => {
151
- const props = variant === "scrollable" ? scrollableWrap : fixedWrap;
152
- return {
153
- ...props,
154
- alignItems: "stretch",
155
- justifyContent: "start",
156
- maxWidth: "100vw",
157
- [theme.breakpoints.down(mobileScrollingBreakpoint)]: {
158
- inset: 0,
159
- position: "absolute"
160
- }
161
- };
162
- });
163
- var WebAppPage = ({
164
- disableGutters,
165
- disableBreadcrumbGutter,
166
- title,
167
- container,
168
- children,
169
- breadcrumbs,
170
- mobileScrollingBreakpoint,
171
- variant = "scrollable",
172
- ...props
173
- }) => {
174
- const userEvents = (0, import_react_pixel.useUserEvents)();
175
- const { pathname } = (0, import_react_router_dom.useLocation)();
176
- (0, import_react_async_effect.useAsyncEffect)(
177
- // eslint-disable-next-line react-hooks/exhaustive-deps
178
- async () => {
179
- await (userEvents == null ? void 0 : userEvents.viewContent({ name: title ?? "NodeBasePage", path: location.pathname }));
180
- },
181
- [pathname, title, userEvents]
182
- );
183
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(WebAppPageRoot, { mobileScrollingBreakpoint, variant, ...props, children: [
184
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_helmet.Helmet, { title }),
185
- container && container !== "none" ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
186
- import_material2.Container,
187
- {
188
- disableGutters,
189
- style: { alignItems: "stretch", display: "flex", flexDirection: "column", flexGrow: 1, justifyContent: "flex-start" },
190
- maxWidth: container,
191
- children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
192
- WebAppBody,
193
- {
194
- disableBreadcrumbGutter,
195
- breadcrumbs,
196
- mobileScrollingBreakpoint,
197
- variant,
198
- ...props,
199
- children
200
- }
201
- )
202
- }
203
- ) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
204
- WebAppBody,
205
- {
206
- disableBreadcrumbGutter,
207
- breadcrumbs,
208
- mobileScrollingBreakpoint,
209
- paddingX: disableGutters ? 0 : 1,
210
- variant,
211
- ...props,
212
- children
213
- }
214
- )
215
- ] });
216
- };
217
- var FlexPage = WebAppPage;
218
-
219
- // src/components/ErrorPage.tsx
220
- var import_jsx_runtime3 = require("react/jsx-runtime");
221
- var WebAppErrorPage = ({ error, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(WebAppPage, { title: "Oops! Something went wrong", ...props, children: [
222
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("h1", { children: "Oops! Something went wrong!" }),
223
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("p", { children: `${error}` }),
224
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_button.ButtonEx, { href: "/", variant: "contained", children: "Homepage" })
225
- ] });
226
- var ErrorPage = WebAppErrorPage;
227
-
228
- // src/components/Chrome.tsx
229
- var import_jsx_runtime4 = require("react/jsx-runtime");
230
- var WebAppChrome = (0, import_react.forwardRef)(
231
- ({ appName, appbar, children, errorBoundary, errorPage, footer, footerElevation = 4, menuItems, navigationType = "menu", ...props }, ref) => {
232
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react_flexbox3.FlexCol, { id: "web-chrome-flex", alignItems: "stretch", overflow: "hidden", height: "100vh", ref, ...props, children: [
233
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_helmet2.Helmet, { defaultTitle: appName, titleTemplate: `%s | ${appName}`, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("meta", { content: "website", property: "og:type" }) }),
234
- appbar ?? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_appbar.ApplicationAppBar, { systemToolbar: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_appbar.SystemToolbar, { menuItems: navigationType === "menu" ? menuItems : void 0 }) }),
235
- /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react_flexbox3.FlexGrowRow, { id: "sidebar-nav-flex", overflow: "hidden", alignItems: "stretch", children: [
236
- navigationType === "menu" ? null : /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_jsx_runtime4.Fragment, { children: [
237
- menuItems,
238
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material3.Divider, { orientation: "vertical" })
239
- ] }),
240
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_flexbox3.FlexGrowCol, { id: "main-flex", justifyContent: "flex-start", alignItems: "stretch", children: errorBoundary ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
241
- import_react_shared.ErrorBoundary,
242
- {
243
- fallbackWithError: (error) => {
244
- return errorPage ?? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(WebAppErrorPage, { error });
245
- },
246
- children
247
- }
248
- ) : children })
249
- ] }),
250
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_flexbox3.FlexCol, { id: "footer-flex", alignItems: "stretch", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material3.Paper, { elevation: footerElevation, square: true, children: footer ?? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_footer.Footer, { dynamicHeight: true }) }) })
251
- ] });
252
- }
253
- );
254
- WebAppChrome.displayName = "WebAppChrome";
255
-
256
- // src/components/NotFoundPage/Page.tsx
257
- var import_react_shared2 = require("@xyo-network/react-shared");
258
- var import_jsx_runtime5 = require("react/jsx-runtime");
259
- var WebAppNotFoundPage = ({ title, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(WebAppPage, { title: title ?? "Sorry! Page Not Found", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_shared2.NotFound, {}) });
260
- var NotFoundPage = WebAppNotFoundPage;
261
- // Annotate the CommonJS export names for ESM import in node:
262
- 0 && (module.exports = {
263
- ErrorPage,
264
- FlexPage,
265
- NotFoundPage,
266
- WebAppBody,
267
- WebAppChrome,
268
- WebAppErrorPage,
269
- WebAppNotFoundPage,
270
- WebAppPage
271
- });
272
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts","../../src/components/Body.tsx","../../src/components/lib/cssValues.ts","../../src/components/Chrome.tsx","../../src/components/ErrorPage.tsx","../../src/components/Page.tsx","../../src/components/NotFoundPage/Page.tsx"],"sourcesContent":["export * from './components/index.js'\n","import { Breakpoint, styled } from '@mui/material'\nimport { FlexBoxProps, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport React, { ReactNode } from 'react'\n\nimport { fixedContent, scrollableContent } from './lib/index.js'\n\nconst WebAppBodyName = 'WebAppBody'\nconst propsNotForwarded = new Set(['mobileScrollingBreakpoint', 'variant', 'spacing', 'disableBreadcrumbGutter'])\nconst defaultStyledOptions = {\n shouldForwardProp: (prop: string) => !propsNotForwarded.has(prop),\n}\n\nconst WebAppBodyRoot = styled(FlexGrowCol, {\n ...defaultStyledOptions,\n name: WebAppBodyName,\n slot: 'Root',\n})<WebAppBodyProps>(({ spacing, theme, mobileScrollingBreakpoint = 'sm', variant }) => {\n const scrollable = variant === 'scrollable'\n return theme.unstable_sx({\n alignItems: 'stretch',\n gap: 1,\n justifyContent: 'flex-start',\n overflowX: 'visible',\n overflowY: scrollable ? 'scroll' : 'hidden',\n paddingY: spacing,\n [theme.breakpoints.down(mobileScrollingBreakpoint)]: {\n overflowY: 'scroll',\n },\n })\n})\n\nconst WebAppBodyBreadcrumb = styled(FlexRow, {\n ...defaultStyledOptions,\n name: WebAppBodyName,\n slot: 'Breadcrumb',\n})<WebAppBodyProps>(({ theme, disableBreadcrumbGutter, spacing }) =>\n theme.unstable_sx({\n justifyContent: 'start',\n marginX: disableBreadcrumbGutter ? 0 : spacing,\n }),\n)\n\nconst WebAppBodyScrollableWrapper = styled(FlexGrowCol, {\n name: WebAppBodyName,\n slot: 'ScrollableWrapper',\n})<WebAppBodyProps>(() => ({\n alignItems: 'stretch',\n}))\n\nconst WebAppBodyScrollable = styled(FlexGrowCol, {\n ...defaultStyledOptions,\n name: WebAppBodyName,\n slot: 'Scrollable',\n})<WebAppBodyProps>(({ theme, mobileScrollingBreakpoint = 'sm', variant }) => {\n const props = variant === 'scrollable' ? scrollableContent : fixedContent\n return {\n ...props,\n alignItems: 'stretch',\n justifyContent: 'start',\n [theme.breakpoints.down(mobileScrollingBreakpoint)]: {\n inset: 'unset',\n position: 'relative',\n },\n }\n})\n\nexport interface WebAppBodyProps extends FlexBoxProps {\n breadcrumbs?: ReactNode\n disableBreadcrumbGutter?: boolean\n mobileScrollingBreakpoint?: Breakpoint\n spacing?: string | number\n variant?: 'scrollable' | 'fixed'\n}\n\nexport const WebAppBody: React.FC<WebAppBodyProps> = ({\n children,\n breadcrumbs,\n disableBreadcrumbGutter,\n mobileScrollingBreakpoint,\n spacing = 1,\n variant,\n ...props\n}) => {\n return (\n <WebAppBodyRoot mobileScrollingBreakpoint={mobileScrollingBreakpoint} spacing={spacing} variant={variant} {...props}>\n {breadcrumbs ?\n <WebAppBodyBreadcrumb disableBreadcrumbGutter={disableBreadcrumbGutter} spacing={spacing}>\n {breadcrumbs}\n </WebAppBodyBreadcrumb>\n : null}\n <WebAppBodyScrollableWrapper>\n <WebAppBodyScrollable mobileScrollingBreakpoint={mobileScrollingBreakpoint} variant={variant}>\n {children}\n </WebAppBodyScrollable>\n </WebAppBodyScrollableWrapper>\n </WebAppBodyRoot>\n )\n}\n","import { CSSProperties } from 'react'\n\nexport const scrollableWrap: CSSProperties = {\n inset: 0,\n position: 'absolute',\n} as const\n\nexport const fixedWrap: CSSProperties = {\n inset: 'unset',\n position: 'relative',\n} as const\n\n// Making a scrollable vs fixed wrapper and content is an inversion of the wrap and content styles\nexport const scrollableContent: CSSProperties = {\n ...fixedWrap,\n} as const\n\nexport const fixedContent: CSSProperties = {\n ...scrollableWrap,\n} as const\n","import { Divider, Paper } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowCol, FlexGrowRow } from '@xylabs/react-flexbox'\nimport { WebAppNavigationType } from '@xyo-network/react-app-settings'\nimport { ApplicationAppBar, SystemToolbar } from '@xyo-network/react-appbar'\nimport { Footer } from '@xyo-network/react-footer'\nimport { ErrorBoundary } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\nimport { Helmet } from 'react-helmet'\n\nimport { WebAppErrorPage } from './ErrorPage.js'\n\nexport interface WebAppChromeProps extends FlexBoxProps {\n appName: string\n appbar?: ReactNode\n errorBoundary?: boolean\n errorPage?: ReactNode\n footer?: ReactNode\n footerElevation?: number\n menuItems?: ReactNode\n navigationType?: WebAppNavigationType\n}\n\nexport const WebAppChrome = forwardRef<HTMLDivElement, WebAppChromeProps>(\n ({ appName, appbar, children, errorBoundary, errorPage, footer, footerElevation = 4, menuItems, navigationType = 'menu', ...props }, ref) => {\n return (\n <FlexCol id=\"web-chrome-flex\" alignItems=\"stretch\" overflow=\"hidden\" height=\"100vh\" ref={ref} {...props}>\n <Helmet defaultTitle={appName} titleTemplate={`%s | ${appName}`}>\n <meta content=\"website\" property=\"og:type\" />\n </Helmet>\n {appbar ?? <ApplicationAppBar systemToolbar={<SystemToolbar menuItems={navigationType === 'menu' ? menuItems : undefined} />} />}\n <FlexGrowRow id=\"sidebar-nav-flex\" overflow=\"hidden\" alignItems=\"stretch\">\n {navigationType === 'menu' ? null : (\n <>\n {menuItems}\n <Divider orientation=\"vertical\" />\n </>\n )}\n <FlexGrowCol id=\"main-flex\" justifyContent=\"flex-start\" alignItems=\"stretch\">\n {errorBoundary ?\n <ErrorBoundary\n fallbackWithError={(error) => {\n return errorPage ?? <WebAppErrorPage error={error} />\n }}\n >\n {children}\n </ErrorBoundary>\n : children}\n </FlexGrowCol>\n </FlexGrowRow>\n <FlexCol id=\"footer-flex\" alignItems=\"stretch\">\n <Paper elevation={footerElevation} square>\n {footer ?? <Footer dynamicHeight />}\n </Paper>\n </FlexCol>\n </FlexCol>\n )\n },\n)\n\nWebAppChrome.displayName = 'WebAppChrome'\n","import { ButtonEx } from '@xylabs/react-button'\n\nimport { WebAppPage, WebAppPageProps } from './Page.js'\n\nexport interface WebAppErrorPageProps extends WebAppPageProps {\n error?: Error\n}\n\nexport const WebAppErrorPage: React.FC<WebAppErrorPageProps> = ({ error, ...props }) => (\n <WebAppPage title=\"Oops! Something went wrong\" {...props}>\n <h1>Oops! Something went wrong!</h1>\n <p>{`${error}`}</p>\n <ButtonEx href=\"/\" variant=\"contained\">\n Homepage\n </ButtonEx>\n </WebAppPage>\n)\n\n/** @deprecated use WebAppErrorPage instead */\nexport const ErrorPage = WebAppErrorPage\n","import { Container, ContainerProps, styled } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexBoxProps, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useUserEvents } from '@xylabs/react-pixel'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { Helmet } from 'react-helmet'\nimport { useLocation } from 'react-router-dom'\n\nimport { WebAppBody, WebAppBodyProps } from './Body.js'\nimport { fixedWrap, scrollableWrap } from './lib/index.js'\n\nconst WebAppPageRoot = styled(FlexGrowCol, {\n name: 'WebAppPage',\n shouldForwardProp: (propName) => propName !== 'mobileScrollingBreakpoint' && propName !== 'variant',\n slot: 'Root',\n})<WebAppPageProps>(({ theme, mobileScrollingBreakpoint = 'sm', variant }) => {\n const props = variant === 'scrollable' ? scrollableWrap : fixedWrap\n return {\n ...props,\n alignItems: 'stretch',\n justifyContent: 'start',\n maxWidth: '100vw',\n [theme.breakpoints.down(mobileScrollingBreakpoint)]: {\n inset: 0,\n position: 'absolute',\n },\n }\n})\n\nexport interface WebAppPageProps extends WebAppBodyProps, FlexBoxProps {\n container?: ContainerProps['maxWidth'] | 'none'\n disableGutters?: boolean\n}\n\nexport const WebAppPage: React.FC<WithChildren<WebAppPageProps>> = ({\n disableGutters,\n disableBreadcrumbGutter,\n title,\n container,\n children,\n breadcrumbs,\n mobileScrollingBreakpoint,\n variant = 'scrollable',\n ...props\n}) => {\n const userEvents = useUserEvents()\n const { pathname } = useLocation()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n await userEvents?.viewContent({ name: title ?? 'NodeBasePage', path: location.pathname })\n },\n [pathname, title, userEvents],\n )\n\n return (\n <WebAppPageRoot mobileScrollingBreakpoint={mobileScrollingBreakpoint} variant={variant} {...props}>\n <Helmet title={title} />\n {container && container !== 'none' ?\n <Container\n disableGutters={disableGutters}\n style={{ alignItems: 'stretch', display: 'flex', flexDirection: 'column', flexGrow: 1, justifyContent: 'flex-start' }}\n maxWidth={container}\n >\n <WebAppBody\n disableBreadcrumbGutter={disableBreadcrumbGutter}\n breadcrumbs={breadcrumbs}\n mobileScrollingBreakpoint={mobileScrollingBreakpoint}\n variant={variant}\n {...props}\n >\n {children}\n </WebAppBody>\n </Container>\n : <WebAppBody\n disableBreadcrumbGutter={disableBreadcrumbGutter}\n breadcrumbs={breadcrumbs}\n mobileScrollingBreakpoint={mobileScrollingBreakpoint}\n paddingX={disableGutters ? 0 : 1}\n variant={variant}\n {...props}\n >\n {children}\n </WebAppBody>\n }\n </WebAppPageRoot>\n )\n}\n\n/** @deprecated use WebAppPagePage instead */\nexport const FlexPage = WebAppPage\n","import { NotFound } from '@xyo-network/react-shared'\n\nimport { WebAppPage, WebAppPageProps } from '../Page.js'\n\nexport const WebAppNotFoundPage: React.FC<WebAppPageProps> = ({ title, ...props }) => (\n <WebAppPage title={title ?? 'Sorry! Page Not Found'} {...props}>\n <NotFound />\n </WebAppPage>\n)\n\n/** @deprecated use WebAppNotFoundPage instead */\nexport const NotFoundPage = WebAppNotFoundPage\n"],"mappings":"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","names":["import_material","import_react_flexbox","import_react_helmet","import_material","import_react_flexbox","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_react_shared","import_jsx_runtime"]}
@@ -1,2 +0,0 @@
1
- export * from './components/index.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './components/index.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -1,2 +0,0 @@
1
- export * from './components/index.js';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
@@ -1,238 +0,0 @@
1
- // src/components/Body.tsx
2
- import { styled } from "@mui/material";
3
- import { FlexGrowCol, FlexRow } from "@xylabs/react-flexbox";
4
-
5
- // src/components/lib/cssValues.ts
6
- var scrollableWrap = {
7
- inset: 0,
8
- position: "absolute"
9
- };
10
- var fixedWrap = {
11
- inset: "unset",
12
- position: "relative"
13
- };
14
- var scrollableContent = {
15
- ...fixedWrap
16
- };
17
- var fixedContent = {
18
- ...scrollableWrap
19
- };
20
-
21
- // src/components/Body.tsx
22
- import { jsx, jsxs } from "react/jsx-runtime";
23
- var WebAppBodyName = "WebAppBody";
24
- var propsNotForwarded = /* @__PURE__ */ new Set(["mobileScrollingBreakpoint", "variant", "spacing", "disableBreadcrumbGutter"]);
25
- var defaultStyledOptions = {
26
- shouldForwardProp: (prop) => !propsNotForwarded.has(prop)
27
- };
28
- var WebAppBodyRoot = styled(FlexGrowCol, {
29
- ...defaultStyledOptions,
30
- name: WebAppBodyName,
31
- slot: "Root"
32
- })(({ spacing, theme, mobileScrollingBreakpoint = "sm", variant }) => {
33
- const scrollable = variant === "scrollable";
34
- return theme.unstable_sx({
35
- alignItems: "stretch",
36
- gap: 1,
37
- justifyContent: "flex-start",
38
- overflowX: "visible",
39
- overflowY: scrollable ? "scroll" : "hidden",
40
- paddingY: spacing,
41
- [theme.breakpoints.down(mobileScrollingBreakpoint)]: {
42
- overflowY: "scroll"
43
- }
44
- });
45
- });
46
- var WebAppBodyBreadcrumb = styled(FlexRow, {
47
- ...defaultStyledOptions,
48
- name: WebAppBodyName,
49
- slot: "Breadcrumb"
50
- })(
51
- ({ theme, disableBreadcrumbGutter, spacing }) => theme.unstable_sx({
52
- justifyContent: "start",
53
- marginX: disableBreadcrumbGutter ? 0 : spacing
54
- })
55
- );
56
- var WebAppBodyScrollableWrapper = styled(FlexGrowCol, {
57
- name: WebAppBodyName,
58
- slot: "ScrollableWrapper"
59
- })(() => ({
60
- alignItems: "stretch"
61
- }));
62
- var WebAppBodyScrollable = styled(FlexGrowCol, {
63
- ...defaultStyledOptions,
64
- name: WebAppBodyName,
65
- slot: "Scrollable"
66
- })(({ theme, mobileScrollingBreakpoint = "sm", variant }) => {
67
- const props = variant === "scrollable" ? scrollableContent : fixedContent;
68
- return {
69
- ...props,
70
- alignItems: "stretch",
71
- justifyContent: "start",
72
- [theme.breakpoints.down(mobileScrollingBreakpoint)]: {
73
- inset: "unset",
74
- position: "relative"
75
- }
76
- };
77
- });
78
- var WebAppBody = ({
79
- children,
80
- breadcrumbs,
81
- disableBreadcrumbGutter,
82
- mobileScrollingBreakpoint,
83
- spacing = 1,
84
- variant,
85
- ...props
86
- }) => {
87
- return /* @__PURE__ */ jsxs(WebAppBodyRoot, { mobileScrollingBreakpoint, spacing, variant, ...props, children: [
88
- breadcrumbs ? /* @__PURE__ */ jsx(WebAppBodyBreadcrumb, { disableBreadcrumbGutter, spacing, children: breadcrumbs }) : null,
89
- /* @__PURE__ */ jsx(WebAppBodyScrollableWrapper, { children: /* @__PURE__ */ jsx(WebAppBodyScrollable, { mobileScrollingBreakpoint, variant, children }) })
90
- ] });
91
- };
92
-
93
- // src/components/Chrome.tsx
94
- import { Divider, Paper } from "@mui/material";
95
- import { FlexCol, FlexGrowCol as FlexGrowCol3, FlexGrowRow } from "@xylabs/react-flexbox";
96
- import { ApplicationAppBar, SystemToolbar } from "@xyo-network/react-appbar";
97
- import { Footer } from "@xyo-network/react-footer";
98
- import { ErrorBoundary } from "@xyo-network/react-shared";
99
- import { forwardRef } from "react";
100
- import { Helmet as Helmet2 } from "react-helmet";
101
-
102
- // src/components/ErrorPage.tsx
103
- import { ButtonEx } from "@xylabs/react-button";
104
-
105
- // src/components/Page.tsx
106
- import { Container, styled as styled2 } from "@mui/material";
107
- import { useAsyncEffect } from "@xylabs/react-async-effect";
108
- import { FlexGrowCol as FlexGrowCol2 } from "@xylabs/react-flexbox";
109
- import { useUserEvents } from "@xylabs/react-pixel";
110
- import { Helmet } from "react-helmet";
111
- import { useLocation } from "react-router-dom";
112
- import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
113
- var WebAppPageRoot = styled2(FlexGrowCol2, {
114
- name: "WebAppPage",
115
- shouldForwardProp: (propName) => propName !== "mobileScrollingBreakpoint" && propName !== "variant",
116
- slot: "Root"
117
- })(({ theme, mobileScrollingBreakpoint = "sm", variant }) => {
118
- const props = variant === "scrollable" ? scrollableWrap : fixedWrap;
119
- return {
120
- ...props,
121
- alignItems: "stretch",
122
- justifyContent: "start",
123
- maxWidth: "100vw",
124
- [theme.breakpoints.down(mobileScrollingBreakpoint)]: {
125
- inset: 0,
126
- position: "absolute"
127
- }
128
- };
129
- });
130
- var WebAppPage = ({
131
- disableGutters,
132
- disableBreadcrumbGutter,
133
- title,
134
- container,
135
- children,
136
- breadcrumbs,
137
- mobileScrollingBreakpoint,
138
- variant = "scrollable",
139
- ...props
140
- }) => {
141
- const userEvents = useUserEvents();
142
- const { pathname } = useLocation();
143
- useAsyncEffect(
144
- // eslint-disable-next-line react-hooks/exhaustive-deps
145
- async () => {
146
- await (userEvents == null ? void 0 : userEvents.viewContent({ name: title ?? "NodeBasePage", path: location.pathname }));
147
- },
148
- [pathname, title, userEvents]
149
- );
150
- return /* @__PURE__ */ jsxs2(WebAppPageRoot, { mobileScrollingBreakpoint, variant, ...props, children: [
151
- /* @__PURE__ */ jsx2(Helmet, { title }),
152
- container && container !== "none" ? /* @__PURE__ */ jsx2(
153
- Container,
154
- {
155
- disableGutters,
156
- style: { alignItems: "stretch", display: "flex", flexDirection: "column", flexGrow: 1, justifyContent: "flex-start" },
157
- maxWidth: container,
158
- children: /* @__PURE__ */ jsx2(
159
- WebAppBody,
160
- {
161
- disableBreadcrumbGutter,
162
- breadcrumbs,
163
- mobileScrollingBreakpoint,
164
- variant,
165
- ...props,
166
- children
167
- }
168
- )
169
- }
170
- ) : /* @__PURE__ */ jsx2(
171
- WebAppBody,
172
- {
173
- disableBreadcrumbGutter,
174
- breadcrumbs,
175
- mobileScrollingBreakpoint,
176
- paddingX: disableGutters ? 0 : 1,
177
- variant,
178
- ...props,
179
- children
180
- }
181
- )
182
- ] });
183
- };
184
- var FlexPage = WebAppPage;
185
-
186
- // src/components/ErrorPage.tsx
187
- import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
188
- var WebAppErrorPage = ({ error, ...props }) => /* @__PURE__ */ jsxs3(WebAppPage, { title: "Oops! Something went wrong", ...props, children: [
189
- /* @__PURE__ */ jsx3("h1", { children: "Oops! Something went wrong!" }),
190
- /* @__PURE__ */ jsx3("p", { children: `${error}` }),
191
- /* @__PURE__ */ jsx3(ButtonEx, { href: "/", variant: "contained", children: "Homepage" })
192
- ] });
193
- var ErrorPage = WebAppErrorPage;
194
-
195
- // src/components/Chrome.tsx
196
- import { Fragment, jsx as jsx4, jsxs as jsxs4 } from "react/jsx-runtime";
197
- var WebAppChrome = forwardRef(
198
- ({ appName, appbar, children, errorBoundary, errorPage, footer, footerElevation = 4, menuItems, navigationType = "menu", ...props }, ref) => {
199
- return /* @__PURE__ */ jsxs4(FlexCol, { id: "web-chrome-flex", alignItems: "stretch", overflow: "hidden", height: "100vh", ref, ...props, children: [
200
- /* @__PURE__ */ jsx4(Helmet2, { defaultTitle: appName, titleTemplate: `%s | ${appName}`, children: /* @__PURE__ */ jsx4("meta", { content: "website", property: "og:type" }) }),
201
- appbar ?? /* @__PURE__ */ jsx4(ApplicationAppBar, { systemToolbar: /* @__PURE__ */ jsx4(SystemToolbar, { menuItems: navigationType === "menu" ? menuItems : void 0 }) }),
202
- /* @__PURE__ */ jsxs4(FlexGrowRow, { id: "sidebar-nav-flex", overflow: "hidden", alignItems: "stretch", children: [
203
- navigationType === "menu" ? null : /* @__PURE__ */ jsxs4(Fragment, { children: [
204
- menuItems,
205
- /* @__PURE__ */ jsx4(Divider, { orientation: "vertical" })
206
- ] }),
207
- /* @__PURE__ */ jsx4(FlexGrowCol3, { id: "main-flex", justifyContent: "flex-start", alignItems: "stretch", children: errorBoundary ? /* @__PURE__ */ jsx4(
208
- ErrorBoundary,
209
- {
210
- fallbackWithError: (error) => {
211
- return errorPage ?? /* @__PURE__ */ jsx4(WebAppErrorPage, { error });
212
- },
213
- children
214
- }
215
- ) : children })
216
- ] }),
217
- /* @__PURE__ */ jsx4(FlexCol, { id: "footer-flex", alignItems: "stretch", children: /* @__PURE__ */ jsx4(Paper, { elevation: footerElevation, square: true, children: footer ?? /* @__PURE__ */ jsx4(Footer, { dynamicHeight: true }) }) })
218
- ] });
219
- }
220
- );
221
- WebAppChrome.displayName = "WebAppChrome";
222
-
223
- // src/components/NotFoundPage/Page.tsx
224
- import { NotFound } from "@xyo-network/react-shared";
225
- import { jsx as jsx5 } from "react/jsx-runtime";
226
- var WebAppNotFoundPage = ({ title, ...props }) => /* @__PURE__ */ jsx5(WebAppPage, { title: title ?? "Sorry! Page Not Found", ...props, children: /* @__PURE__ */ jsx5(NotFound, {}) });
227
- var NotFoundPage = WebAppNotFoundPage;
228
- export {
229
- ErrorPage,
230
- FlexPage,
231
- NotFoundPage,
232
- WebAppBody,
233
- WebAppChrome,
234
- WebAppErrorPage,
235
- WebAppNotFoundPage,
236
- WebAppPage
237
- };
238
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/components/Body.tsx","../../src/components/lib/cssValues.ts","../../src/components/Chrome.tsx","../../src/components/ErrorPage.tsx","../../src/components/Page.tsx","../../src/components/NotFoundPage/Page.tsx"],"sourcesContent":["import { Breakpoint, styled } from '@mui/material'\nimport { FlexBoxProps, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport React, { ReactNode } from 'react'\n\nimport { fixedContent, scrollableContent } from './lib/index.js'\n\nconst WebAppBodyName = 'WebAppBody'\nconst propsNotForwarded = new Set(['mobileScrollingBreakpoint', 'variant', 'spacing', 'disableBreadcrumbGutter'])\nconst defaultStyledOptions = {\n shouldForwardProp: (prop: string) => !propsNotForwarded.has(prop),\n}\n\nconst WebAppBodyRoot = styled(FlexGrowCol, {\n ...defaultStyledOptions,\n name: WebAppBodyName,\n slot: 'Root',\n})<WebAppBodyProps>(({ spacing, theme, mobileScrollingBreakpoint = 'sm', variant }) => {\n const scrollable = variant === 'scrollable'\n return theme.unstable_sx({\n alignItems: 'stretch',\n gap: 1,\n justifyContent: 'flex-start',\n overflowX: 'visible',\n overflowY: scrollable ? 'scroll' : 'hidden',\n paddingY: spacing,\n [theme.breakpoints.down(mobileScrollingBreakpoint)]: {\n overflowY: 'scroll',\n },\n })\n})\n\nconst WebAppBodyBreadcrumb = styled(FlexRow, {\n ...defaultStyledOptions,\n name: WebAppBodyName,\n slot: 'Breadcrumb',\n})<WebAppBodyProps>(({ theme, disableBreadcrumbGutter, spacing }) =>\n theme.unstable_sx({\n justifyContent: 'start',\n marginX: disableBreadcrumbGutter ? 0 : spacing,\n }),\n)\n\nconst WebAppBodyScrollableWrapper = styled(FlexGrowCol, {\n name: WebAppBodyName,\n slot: 'ScrollableWrapper',\n})<WebAppBodyProps>(() => ({\n alignItems: 'stretch',\n}))\n\nconst WebAppBodyScrollable = styled(FlexGrowCol, {\n ...defaultStyledOptions,\n name: WebAppBodyName,\n slot: 'Scrollable',\n})<WebAppBodyProps>(({ theme, mobileScrollingBreakpoint = 'sm', variant }) => {\n const props = variant === 'scrollable' ? scrollableContent : fixedContent\n return {\n ...props,\n alignItems: 'stretch',\n justifyContent: 'start',\n [theme.breakpoints.down(mobileScrollingBreakpoint)]: {\n inset: 'unset',\n position: 'relative',\n },\n }\n})\n\nexport interface WebAppBodyProps extends FlexBoxProps {\n breadcrumbs?: ReactNode\n disableBreadcrumbGutter?: boolean\n mobileScrollingBreakpoint?: Breakpoint\n spacing?: string | number\n variant?: 'scrollable' | 'fixed'\n}\n\nexport const WebAppBody: React.FC<WebAppBodyProps> = ({\n children,\n breadcrumbs,\n disableBreadcrumbGutter,\n mobileScrollingBreakpoint,\n spacing = 1,\n variant,\n ...props\n}) => {\n return (\n <WebAppBodyRoot mobileScrollingBreakpoint={mobileScrollingBreakpoint} spacing={spacing} variant={variant} {...props}>\n {breadcrumbs ?\n <WebAppBodyBreadcrumb disableBreadcrumbGutter={disableBreadcrumbGutter} spacing={spacing}>\n {breadcrumbs}\n </WebAppBodyBreadcrumb>\n : null}\n <WebAppBodyScrollableWrapper>\n <WebAppBodyScrollable mobileScrollingBreakpoint={mobileScrollingBreakpoint} variant={variant}>\n {children}\n </WebAppBodyScrollable>\n </WebAppBodyScrollableWrapper>\n </WebAppBodyRoot>\n )\n}\n","import { CSSProperties } from 'react'\n\nexport const scrollableWrap: CSSProperties = {\n inset: 0,\n position: 'absolute',\n} as const\n\nexport const fixedWrap: CSSProperties = {\n inset: 'unset',\n position: 'relative',\n} as const\n\n// Making a scrollable vs fixed wrapper and content is an inversion of the wrap and content styles\nexport const scrollableContent: CSSProperties = {\n ...fixedWrap,\n} as const\n\nexport const fixedContent: CSSProperties = {\n ...scrollableWrap,\n} as const\n","import { Divider, Paper } from '@mui/material'\nimport { FlexBoxProps, FlexCol, FlexGrowCol, FlexGrowRow } from '@xylabs/react-flexbox'\nimport { WebAppNavigationType } from '@xyo-network/react-app-settings'\nimport { ApplicationAppBar, SystemToolbar } from '@xyo-network/react-appbar'\nimport { Footer } from '@xyo-network/react-footer'\nimport { ErrorBoundary } from '@xyo-network/react-shared'\nimport { forwardRef, ReactNode } from 'react'\nimport { Helmet } from 'react-helmet'\n\nimport { WebAppErrorPage } from './ErrorPage.js'\n\nexport interface WebAppChromeProps extends FlexBoxProps {\n appName: string\n appbar?: ReactNode\n errorBoundary?: boolean\n errorPage?: ReactNode\n footer?: ReactNode\n footerElevation?: number\n menuItems?: ReactNode\n navigationType?: WebAppNavigationType\n}\n\nexport const WebAppChrome = forwardRef<HTMLDivElement, WebAppChromeProps>(\n ({ appName, appbar, children, errorBoundary, errorPage, footer, footerElevation = 4, menuItems, navigationType = 'menu', ...props }, ref) => {\n return (\n <FlexCol id=\"web-chrome-flex\" alignItems=\"stretch\" overflow=\"hidden\" height=\"100vh\" ref={ref} {...props}>\n <Helmet defaultTitle={appName} titleTemplate={`%s | ${appName}`}>\n <meta content=\"website\" property=\"og:type\" />\n </Helmet>\n {appbar ?? <ApplicationAppBar systemToolbar={<SystemToolbar menuItems={navigationType === 'menu' ? menuItems : undefined} />} />}\n <FlexGrowRow id=\"sidebar-nav-flex\" overflow=\"hidden\" alignItems=\"stretch\">\n {navigationType === 'menu' ? null : (\n <>\n {menuItems}\n <Divider orientation=\"vertical\" />\n </>\n )}\n <FlexGrowCol id=\"main-flex\" justifyContent=\"flex-start\" alignItems=\"stretch\">\n {errorBoundary ?\n <ErrorBoundary\n fallbackWithError={(error) => {\n return errorPage ?? <WebAppErrorPage error={error} />\n }}\n >\n {children}\n </ErrorBoundary>\n : children}\n </FlexGrowCol>\n </FlexGrowRow>\n <FlexCol id=\"footer-flex\" alignItems=\"stretch\">\n <Paper elevation={footerElevation} square>\n {footer ?? <Footer dynamicHeight />}\n </Paper>\n </FlexCol>\n </FlexCol>\n )\n },\n)\n\nWebAppChrome.displayName = 'WebAppChrome'\n","import { ButtonEx } from '@xylabs/react-button'\n\nimport { WebAppPage, WebAppPageProps } from './Page.js'\n\nexport interface WebAppErrorPageProps extends WebAppPageProps {\n error?: Error\n}\n\nexport const WebAppErrorPage: React.FC<WebAppErrorPageProps> = ({ error, ...props }) => (\n <WebAppPage title=\"Oops! Something went wrong\" {...props}>\n <h1>Oops! Something went wrong!</h1>\n <p>{`${error}`}</p>\n <ButtonEx href=\"/\" variant=\"contained\">\n Homepage\n </ButtonEx>\n </WebAppPage>\n)\n\n/** @deprecated use WebAppErrorPage instead */\nexport const ErrorPage = WebAppErrorPage\n","import { Container, ContainerProps, styled } from '@mui/material'\nimport { useAsyncEffect } from '@xylabs/react-async-effect'\nimport { FlexBoxProps, FlexGrowCol } from '@xylabs/react-flexbox'\nimport { useUserEvents } from '@xylabs/react-pixel'\nimport { WithChildren } from '@xylabs/react-shared'\nimport { Helmet } from 'react-helmet'\nimport { useLocation } from 'react-router-dom'\n\nimport { WebAppBody, WebAppBodyProps } from './Body.js'\nimport { fixedWrap, scrollableWrap } from './lib/index.js'\n\nconst WebAppPageRoot = styled(FlexGrowCol, {\n name: 'WebAppPage',\n shouldForwardProp: (propName) => propName !== 'mobileScrollingBreakpoint' && propName !== 'variant',\n slot: 'Root',\n})<WebAppPageProps>(({ theme, mobileScrollingBreakpoint = 'sm', variant }) => {\n const props = variant === 'scrollable' ? scrollableWrap : fixedWrap\n return {\n ...props,\n alignItems: 'stretch',\n justifyContent: 'start',\n maxWidth: '100vw',\n [theme.breakpoints.down(mobileScrollingBreakpoint)]: {\n inset: 0,\n position: 'absolute',\n },\n }\n})\n\nexport interface WebAppPageProps extends WebAppBodyProps, FlexBoxProps {\n container?: ContainerProps['maxWidth'] | 'none'\n disableGutters?: boolean\n}\n\nexport const WebAppPage: React.FC<WithChildren<WebAppPageProps>> = ({\n disableGutters,\n disableBreadcrumbGutter,\n title,\n container,\n children,\n breadcrumbs,\n mobileScrollingBreakpoint,\n variant = 'scrollable',\n ...props\n}) => {\n const userEvents = useUserEvents()\n const { pathname } = useLocation()\n\n useAsyncEffect(\n // eslint-disable-next-line react-hooks/exhaustive-deps\n async () => {\n await userEvents?.viewContent({ name: title ?? 'NodeBasePage', path: location.pathname })\n },\n [pathname, title, userEvents],\n )\n\n return (\n <WebAppPageRoot mobileScrollingBreakpoint={mobileScrollingBreakpoint} variant={variant} {...props}>\n <Helmet title={title} />\n {container && container !== 'none' ?\n <Container\n disableGutters={disableGutters}\n style={{ alignItems: 'stretch', display: 'flex', flexDirection: 'column', flexGrow: 1, justifyContent: 'flex-start' }}\n maxWidth={container}\n >\n <WebAppBody\n disableBreadcrumbGutter={disableBreadcrumbGutter}\n breadcrumbs={breadcrumbs}\n mobileScrollingBreakpoint={mobileScrollingBreakpoint}\n variant={variant}\n {...props}\n >\n {children}\n </WebAppBody>\n </Container>\n : <WebAppBody\n disableBreadcrumbGutter={disableBreadcrumbGutter}\n breadcrumbs={breadcrumbs}\n mobileScrollingBreakpoint={mobileScrollingBreakpoint}\n paddingX={disableGutters ? 0 : 1}\n variant={variant}\n {...props}\n >\n {children}\n </WebAppBody>\n }\n </WebAppPageRoot>\n )\n}\n\n/** @deprecated use WebAppPagePage instead */\nexport const FlexPage = WebAppPage\n","import { NotFound } from '@xyo-network/react-shared'\n\nimport { WebAppPage, WebAppPageProps } from '../Page.js'\n\nexport const WebAppNotFoundPage: React.FC<WebAppPageProps> = ({ title, ...props }) => (\n <WebAppPage title={title ?? 'Sorry! Page Not Found'} {...props}>\n <NotFound />\n </WebAppPage>\n)\n\n/** @deprecated use WebAppNotFoundPage instead */\nexport const NotFoundPage = WebAppNotFoundPage\n"],"mappings":"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","names":["FlexGrowCol","Helmet","styled","FlexGrowCol","jsx","jsxs","styled","FlexGrowCol","jsx","jsxs","jsx","jsxs","Helmet","FlexGrowCol","jsx"]}