@xyo-network/react-webapp 2.81.9 → 2.82.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 (165) hide show
  1. package/dist/browser/components/Body.d.cts.map +1 -1
  2. package/dist/browser/components/Body.d.mts.map +1 -1
  3. package/dist/browser/components/Body.d.ts.map +1 -1
  4. package/dist/browser/components/Chrome.d.cts +2 -2
  5. package/dist/browser/components/Chrome.d.cts.map +1 -1
  6. package/dist/browser/components/Chrome.d.mts +2 -2
  7. package/dist/browser/components/Chrome.d.mts.map +1 -1
  8. package/dist/browser/components/Chrome.d.ts +2 -2
  9. package/dist/browser/components/Chrome.d.ts.map +1 -1
  10. package/dist/browser/components/ErrorPage.d.cts +3 -2
  11. package/dist/browser/components/ErrorPage.d.cts.map +1 -1
  12. package/dist/browser/components/ErrorPage.d.mts +3 -2
  13. package/dist/browser/components/ErrorPage.d.mts.map +1 -1
  14. package/dist/browser/components/ErrorPage.d.ts +3 -2
  15. package/dist/browser/components/ErrorPage.d.ts.map +1 -1
  16. package/dist/browser/components/NotFoundPage/Page.d.cts +3 -2
  17. package/dist/browser/components/NotFoundPage/Page.d.cts.map +1 -1
  18. package/dist/browser/components/NotFoundPage/Page.d.mts +3 -2
  19. package/dist/browser/components/NotFoundPage/Page.d.mts.map +1 -1
  20. package/dist/browser/components/NotFoundPage/Page.d.ts +3 -2
  21. package/dist/browser/components/NotFoundPage/Page.d.ts.map +1 -1
  22. package/dist/browser/components/NotFoundPage/index.d.cts +1 -1
  23. package/dist/browser/components/NotFoundPage/index.d.cts.map +1 -1
  24. package/dist/browser/components/NotFoundPage/index.d.mts +1 -1
  25. package/dist/browser/components/NotFoundPage/index.d.mts.map +1 -1
  26. package/dist/browser/components/NotFoundPage/index.d.ts +1 -1
  27. package/dist/browser/components/NotFoundPage/index.d.ts.map +1 -1
  28. package/dist/browser/components/Page.d.cts +3 -2
  29. package/dist/browser/components/Page.d.cts.map +1 -1
  30. package/dist/browser/components/Page.d.mts +3 -2
  31. package/dist/browser/components/Page.d.mts.map +1 -1
  32. package/dist/browser/components/Page.d.ts +3 -2
  33. package/dist/browser/components/Page.d.ts.map +1 -1
  34. package/dist/browser/components/index.d.cts +5 -5
  35. package/dist/browser/components/index.d.cts.map +1 -1
  36. package/dist/browser/components/index.d.mts +5 -5
  37. package/dist/browser/components/index.d.mts.map +1 -1
  38. package/dist/browser/components/index.d.ts +5 -5
  39. package/dist/browser/components/index.d.ts.map +1 -1
  40. package/dist/browser/components/lib/index.d.cts +1 -1
  41. package/dist/browser/components/lib/index.d.mts +1 -1
  42. package/dist/browser/components/lib/index.d.ts +1 -1
  43. package/dist/browser/index.cjs +138 -110
  44. package/dist/browser/index.cjs.map +1 -1
  45. package/dist/browser/index.d.cts +1 -1
  46. package/dist/browser/index.d.mts +1 -1
  47. package/dist/browser/index.d.ts +1 -1
  48. package/dist/browser/index.mjs +258 -0
  49. package/dist/browser/index.mjs.map +1 -0
  50. package/dist/neutral/components/Body.d.cts.map +1 -1
  51. package/dist/neutral/components/Body.d.mts.map +1 -1
  52. package/dist/neutral/components/Body.d.ts.map +1 -1
  53. package/dist/neutral/components/Chrome.d.cts +2 -2
  54. package/dist/neutral/components/Chrome.d.cts.map +1 -1
  55. package/dist/neutral/components/Chrome.d.mts +2 -2
  56. package/dist/neutral/components/Chrome.d.mts.map +1 -1
  57. package/dist/neutral/components/Chrome.d.ts +2 -2
  58. package/dist/neutral/components/Chrome.d.ts.map +1 -1
  59. package/dist/neutral/components/ErrorPage.d.cts +3 -2
  60. package/dist/neutral/components/ErrorPage.d.cts.map +1 -1
  61. package/dist/neutral/components/ErrorPage.d.mts +3 -2
  62. package/dist/neutral/components/ErrorPage.d.mts.map +1 -1
  63. package/dist/neutral/components/ErrorPage.d.ts +3 -2
  64. package/dist/neutral/components/ErrorPage.d.ts.map +1 -1
  65. package/dist/neutral/components/NotFoundPage/Page.d.cts +3 -2
  66. package/dist/neutral/components/NotFoundPage/Page.d.cts.map +1 -1
  67. package/dist/neutral/components/NotFoundPage/Page.d.mts +3 -2
  68. package/dist/neutral/components/NotFoundPage/Page.d.mts.map +1 -1
  69. package/dist/neutral/components/NotFoundPage/Page.d.ts +3 -2
  70. package/dist/neutral/components/NotFoundPage/Page.d.ts.map +1 -1
  71. package/dist/neutral/components/NotFoundPage/index.d.cts +1 -1
  72. package/dist/neutral/components/NotFoundPage/index.d.cts.map +1 -1
  73. package/dist/neutral/components/NotFoundPage/index.d.mts +1 -1
  74. package/dist/neutral/components/NotFoundPage/index.d.mts.map +1 -1
  75. package/dist/neutral/components/NotFoundPage/index.d.ts +1 -1
  76. package/dist/neutral/components/NotFoundPage/index.d.ts.map +1 -1
  77. package/dist/neutral/components/Page.d.cts +3 -2
  78. package/dist/neutral/components/Page.d.cts.map +1 -1
  79. package/dist/neutral/components/Page.d.mts +3 -2
  80. package/dist/neutral/components/Page.d.mts.map +1 -1
  81. package/dist/neutral/components/Page.d.ts +3 -2
  82. package/dist/neutral/components/Page.d.ts.map +1 -1
  83. package/dist/neutral/components/index.d.cts +5 -5
  84. package/dist/neutral/components/index.d.cts.map +1 -1
  85. package/dist/neutral/components/index.d.mts +5 -5
  86. package/dist/neutral/components/index.d.mts.map +1 -1
  87. package/dist/neutral/components/index.d.ts +5 -5
  88. package/dist/neutral/components/index.d.ts.map +1 -1
  89. package/dist/neutral/components/lib/index.d.cts +1 -1
  90. package/dist/neutral/components/lib/index.d.mts +1 -1
  91. package/dist/neutral/components/lib/index.d.ts +1 -1
  92. package/dist/neutral/index.cjs +138 -110
  93. package/dist/neutral/index.cjs.map +1 -1
  94. package/dist/neutral/index.d.cts +1 -1
  95. package/dist/neutral/index.d.mts +1 -1
  96. package/dist/neutral/index.d.ts +1 -1
  97. package/dist/neutral/index.mjs +258 -0
  98. package/dist/neutral/index.mjs.map +1 -0
  99. package/dist/node/components/Body.d.cts.map +1 -1
  100. package/dist/node/components/Body.d.mts.map +1 -1
  101. package/dist/node/components/Body.d.ts.map +1 -1
  102. package/dist/node/components/Chrome.d.cts +2 -2
  103. package/dist/node/components/Chrome.d.cts.map +1 -1
  104. package/dist/node/components/Chrome.d.mts +2 -2
  105. package/dist/node/components/Chrome.d.mts.map +1 -1
  106. package/dist/node/components/Chrome.d.ts +2 -2
  107. package/dist/node/components/Chrome.d.ts.map +1 -1
  108. package/dist/node/components/ErrorPage.d.cts +3 -2
  109. package/dist/node/components/ErrorPage.d.cts.map +1 -1
  110. package/dist/node/components/ErrorPage.d.mts +3 -2
  111. package/dist/node/components/ErrorPage.d.mts.map +1 -1
  112. package/dist/node/components/ErrorPage.d.ts +3 -2
  113. package/dist/node/components/ErrorPage.d.ts.map +1 -1
  114. package/dist/node/components/NotFoundPage/Page.d.cts +3 -2
  115. package/dist/node/components/NotFoundPage/Page.d.cts.map +1 -1
  116. package/dist/node/components/NotFoundPage/Page.d.mts +3 -2
  117. package/dist/node/components/NotFoundPage/Page.d.mts.map +1 -1
  118. package/dist/node/components/NotFoundPage/Page.d.ts +3 -2
  119. package/dist/node/components/NotFoundPage/Page.d.ts.map +1 -1
  120. package/dist/node/components/NotFoundPage/index.d.cts +1 -1
  121. package/dist/node/components/NotFoundPage/index.d.cts.map +1 -1
  122. package/dist/node/components/NotFoundPage/index.d.mts +1 -1
  123. package/dist/node/components/NotFoundPage/index.d.mts.map +1 -1
  124. package/dist/node/components/NotFoundPage/index.d.ts +1 -1
  125. package/dist/node/components/NotFoundPage/index.d.ts.map +1 -1
  126. package/dist/node/components/Page.d.cts +3 -2
  127. package/dist/node/components/Page.d.cts.map +1 -1
  128. package/dist/node/components/Page.d.mts +3 -2
  129. package/dist/node/components/Page.d.mts.map +1 -1
  130. package/dist/node/components/Page.d.ts +3 -2
  131. package/dist/node/components/Page.d.ts.map +1 -1
  132. package/dist/node/components/index.d.cts +5 -5
  133. package/dist/node/components/index.d.cts.map +1 -1
  134. package/dist/node/components/index.d.mts +5 -5
  135. package/dist/node/components/index.d.mts.map +1 -1
  136. package/dist/node/components/index.d.ts +5 -5
  137. package/dist/node/components/index.d.ts.map +1 -1
  138. package/dist/node/components/lib/index.d.cts +1 -1
  139. package/dist/node/components/lib/index.d.mts +1 -1
  140. package/dist/node/components/lib/index.d.ts +1 -1
  141. package/dist/node/index.cjs +138 -110
  142. package/dist/node/index.cjs.map +1 -1
  143. package/dist/node/index.d.cts +1 -1
  144. package/dist/node/index.d.mts +1 -1
  145. package/dist/node/index.d.ts +1 -1
  146. package/dist/node/index.mjs +258 -0
  147. package/dist/node/index.mjs.map +1 -0
  148. package/package.json +26 -26
  149. package/src/components/Body.tsx +8 -6
  150. package/src/components/Chrome.stories.tsx +10 -10
  151. package/src/components/Chrome.tsx +21 -17
  152. package/src/components/ErrorPage.tsx +2 -1
  153. package/src/components/NotFoundPage/Page.stories.tsx +1 -1
  154. package/src/components/NotFoundPage/Page.tsx +2 -1
  155. package/src/components/NotFoundPage/index.ts +1 -1
  156. package/src/components/Page.tsx +34 -31
  157. package/src/components/index.ts +5 -5
  158. package/src/components/lib/index.ts +1 -1
  159. package/src/index.ts +1 -1
  160. package/dist/browser/index.js +0 -238
  161. package/dist/browser/index.js.map +0 -1
  162. package/dist/neutral/index.js +0 -238
  163. package/dist/neutral/index.js.map +0 -1
  164. package/dist/node/index.js +0 -238
  165. package/dist/node/index.js.map +0 -1
@@ -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"]}