@xyo-network/react-webapp 2.64.0 → 2.64.1
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.
- package/dist/browser/components/Body.js +28 -10
- package/dist/browser/components/Body.js.map +1 -1
- package/dist/browser/components/Chrome.js +200 -13
- package/dist/browser/components/Chrome.js.map +1 -1
- package/dist/browser/components/ErrorPage.js +183 -7
- package/dist/browser/components/ErrorPage.js.map +1 -1
- package/dist/browser/components/NotFoundPage/Page.js +180 -4
- package/dist/browser/components/NotFoundPage/Page.js.map +1 -1
- package/dist/browser/components/NotFoundPage/index.js +185 -1
- package/dist/browser/components/NotFoundPage/index.js.map +1 -1
- package/dist/browser/components/Page.js +106 -13
- package/dist/browser/components/Page.js.map +1 -1
- package/dist/browser/components/index.js +237 -5
- package/dist/browser/components/index.js.map +1 -1
- package/dist/browser/components/lib/cssValues.js +5 -4
- package/dist/browser/components/lib/cssValues.js.map +1 -1
- package/dist/browser/components/lib/index.js +21 -1
- package/dist/browser/components/lib/index.js.map +1 -1
- package/dist/browser/index.js +237 -1
- package/dist/browser/index.js.map +1 -1
- package/dist/docs.json +39 -39
- package/package.json +13 -13
|
@@ -1,8 +1,184 @@
|
|
|
1
|
-
|
|
1
|
+
// src/components/NotFoundPage/Page.tsx
|
|
2
2
|
import { NotFound } from "@xyo-network/react-shared";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
|
|
4
|
+
// src/components/Page.tsx
|
|
5
|
+
import { Container, styled as styled2 } from "@mui/material";
|
|
6
|
+
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
7
|
+
import { FlexGrowCol as FlexGrowCol2 } from "@xylabs/react-flexbox";
|
|
8
|
+
import { useUserEvents } from "@xylabs/react-pixel";
|
|
9
|
+
import { Helmet } from "react-helmet";
|
|
10
|
+
import { useLocation } from "react-router-dom";
|
|
11
|
+
|
|
12
|
+
// src/components/Body.tsx
|
|
13
|
+
import { styled } from "@mui/material";
|
|
14
|
+
import { FlexGrowCol, FlexRow } from "@xylabs/react-flexbox";
|
|
15
|
+
|
|
16
|
+
// src/components/lib/cssValues.ts
|
|
17
|
+
var scrollableWrap = {
|
|
18
|
+
inset: 0,
|
|
19
|
+
position: "absolute"
|
|
20
|
+
};
|
|
21
|
+
var fixedWrap = {
|
|
22
|
+
inset: "unset",
|
|
23
|
+
position: "relative"
|
|
24
|
+
};
|
|
25
|
+
var scrollableContent = {
|
|
26
|
+
...fixedWrap
|
|
27
|
+
};
|
|
28
|
+
var fixedContent = {
|
|
29
|
+
...scrollableWrap
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
// src/components/Body.tsx
|
|
33
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
34
|
+
var WebAppBodyName = "WebAppBody";
|
|
35
|
+
var propsNotForwarded = ["mobileScrollingBreakpoint", "variant", "spacing", "disableBreadcrumbGutter"];
|
|
36
|
+
var defaultStyledOptions = {
|
|
37
|
+
shouldForwardProp: (prop) => !propsNotForwarded.includes(prop)
|
|
38
|
+
};
|
|
39
|
+
var WebAppBodyRoot = styled(FlexGrowCol, {
|
|
40
|
+
...defaultStyledOptions,
|
|
41
|
+
name: WebAppBodyName,
|
|
42
|
+
slot: "Root"
|
|
43
|
+
})(({ spacing, theme, mobileScrollingBreakpoint = "sm", variant }) => {
|
|
44
|
+
const scrollable = variant === "scrollable";
|
|
45
|
+
return theme.unstable_sx({
|
|
46
|
+
alignItems: "stretch",
|
|
47
|
+
gap: 1,
|
|
48
|
+
justifyContent: "flex-start",
|
|
49
|
+
overflowX: "visible",
|
|
50
|
+
overflowY: scrollable ? "scroll" : "hidden",
|
|
51
|
+
paddingY: spacing,
|
|
52
|
+
[theme.breakpoints.down(mobileScrollingBreakpoint)]: {
|
|
53
|
+
overflowY: "scroll"
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
var WebAppBodyBreadcrumb = styled(FlexRow, {
|
|
58
|
+
...defaultStyledOptions,
|
|
59
|
+
name: WebAppBodyName,
|
|
60
|
+
slot: "Breadcrumb"
|
|
61
|
+
})(
|
|
62
|
+
({ theme, disableBreadcrumbGutter, spacing }) => theme.unstable_sx({
|
|
63
|
+
justifyContent: "start",
|
|
64
|
+
marginX: disableBreadcrumbGutter ? 0 : spacing
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
var WebAppBodyScrollableWrapper = styled(FlexGrowCol, {
|
|
68
|
+
name: WebAppBodyName,
|
|
69
|
+
slot: "ScrollableWrapper"
|
|
70
|
+
})(() => ({
|
|
71
|
+
alignItems: "stretch"
|
|
72
|
+
}));
|
|
73
|
+
var WebAppBodyScrollable = styled(FlexGrowCol, {
|
|
74
|
+
...defaultStyledOptions,
|
|
75
|
+
name: WebAppBodyName,
|
|
76
|
+
slot: "Scrollable"
|
|
77
|
+
})(({ theme, mobileScrollingBreakpoint = "sm", variant }) => {
|
|
78
|
+
const props = variant === "scrollable" ? scrollableContent : fixedContent;
|
|
79
|
+
return {
|
|
80
|
+
...props,
|
|
81
|
+
alignItems: "stretch",
|
|
82
|
+
justifyContent: "start",
|
|
83
|
+
[theme.breakpoints.down(mobileScrollingBreakpoint)]: {
|
|
84
|
+
inset: "unset",
|
|
85
|
+
position: "relative"
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
var WebAppBody = ({
|
|
90
|
+
children,
|
|
91
|
+
breadcrumbs,
|
|
92
|
+
disableBreadcrumbGutter,
|
|
93
|
+
mobileScrollingBreakpoint,
|
|
94
|
+
spacing = 1,
|
|
95
|
+
variant,
|
|
96
|
+
...props
|
|
97
|
+
}) => {
|
|
98
|
+
return /* @__PURE__ */ jsxs(WebAppBodyRoot, { mobileScrollingBreakpoint, spacing, variant, ...props, children: [
|
|
99
|
+
breadcrumbs ? /* @__PURE__ */ jsx(WebAppBodyBreadcrumb, { disableBreadcrumbGutter, spacing, children: breadcrumbs }) : null,
|
|
100
|
+
/* @__PURE__ */ jsx(WebAppBodyScrollableWrapper, { children: /* @__PURE__ */ jsx(WebAppBodyScrollable, { mobileScrollingBreakpoint, variant, children }) })
|
|
101
|
+
] });
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
// src/components/Page.tsx
|
|
105
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
106
|
+
var WebAppPageRoot = styled2(FlexGrowCol2, {
|
|
107
|
+
name: "WebAppPage",
|
|
108
|
+
shouldForwardProp: (propName) => propName !== "mobileScrollingBreakpoint" && propName !== "variant",
|
|
109
|
+
slot: "Root"
|
|
110
|
+
})(({ theme, mobileScrollingBreakpoint = "sm", variant }) => {
|
|
111
|
+
const props = variant === "scrollable" ? scrollableWrap : fixedWrap;
|
|
112
|
+
return {
|
|
113
|
+
...props,
|
|
114
|
+
alignItems: "stretch",
|
|
115
|
+
justifyContent: "start",
|
|
116
|
+
maxWidth: "100vw",
|
|
117
|
+
[theme.breakpoints.down(mobileScrollingBreakpoint)]: {
|
|
118
|
+
inset: 0,
|
|
119
|
+
position: "absolute"
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
});
|
|
123
|
+
var WebAppPage = ({
|
|
124
|
+
disableGutters,
|
|
125
|
+
disableBreadcrumbGutter,
|
|
126
|
+
title,
|
|
127
|
+
container,
|
|
128
|
+
children,
|
|
129
|
+
breadcrumbs,
|
|
130
|
+
mobileScrollingBreakpoint,
|
|
131
|
+
variant = "scrollable",
|
|
132
|
+
...props
|
|
133
|
+
}) => {
|
|
134
|
+
const userEvents = useUserEvents();
|
|
135
|
+
const { pathname } = useLocation();
|
|
136
|
+
useAsyncEffect(
|
|
137
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
138
|
+
async () => {
|
|
139
|
+
await userEvents?.viewContent({ name: title ?? "NodeBasePage", path: location.pathname });
|
|
140
|
+
},
|
|
141
|
+
[pathname, title, userEvents]
|
|
142
|
+
);
|
|
143
|
+
return /* @__PURE__ */ jsxs2(WebAppPageRoot, { mobileScrollingBreakpoint, variant, ...props, children: [
|
|
144
|
+
/* @__PURE__ */ jsx2(Helmet, { title }),
|
|
145
|
+
container && container !== "none" ? /* @__PURE__ */ jsx2(
|
|
146
|
+
Container,
|
|
147
|
+
{
|
|
148
|
+
disableGutters,
|
|
149
|
+
style: { alignItems: "stretch", display: "flex", flexDirection: "column", flexGrow: 1, justifyContent: "flex-start" },
|
|
150
|
+
maxWidth: container,
|
|
151
|
+
children: /* @__PURE__ */ jsx2(
|
|
152
|
+
WebAppBody,
|
|
153
|
+
{
|
|
154
|
+
disableBreadcrumbGutter,
|
|
155
|
+
breadcrumbs,
|
|
156
|
+
mobileScrollingBreakpoint,
|
|
157
|
+
variant,
|
|
158
|
+
...props,
|
|
159
|
+
children
|
|
160
|
+
}
|
|
161
|
+
)
|
|
162
|
+
}
|
|
163
|
+
) : /* @__PURE__ */ jsx2(
|
|
164
|
+
WebAppBody,
|
|
165
|
+
{
|
|
166
|
+
disableBreadcrumbGutter,
|
|
167
|
+
breadcrumbs,
|
|
168
|
+
mobileScrollingBreakpoint,
|
|
169
|
+
paddingX: disableGutters ? 0 : 1,
|
|
170
|
+
variant,
|
|
171
|
+
...props,
|
|
172
|
+
children
|
|
173
|
+
}
|
|
174
|
+
)
|
|
175
|
+
] });
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
// src/components/NotFoundPage/Page.tsx
|
|
179
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
180
|
+
var WebAppNotFoundPage = ({ title, ...props }) => /* @__PURE__ */ jsx3(WebAppPage, { title: title ?? "Sorry! Page Not Found", ...props, children: /* @__PURE__ */ jsx3(NotFound, {}) });
|
|
181
|
+
var NotFoundPage = WebAppNotFoundPage;
|
|
6
182
|
export {
|
|
7
183
|
NotFoundPage,
|
|
8
184
|
WebAppNotFoundPage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/NotFoundPage/Page.tsx"],"sourcesContent":["import { NotFound } from '@xyo-network/react-shared'\n\nimport { WebAppPage, WebAppPageProps } from '../Page'\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":"AAMI;AANJ,SAAS,gBAAgB;AAEzB,SAAS,kBAAmC;AAErC,MAAM,qBAAgD,CAAC,EAAE,OAAO,GAAG,MAAM,MAC9E,oBAAC,cAAW,OAAO,SAAS,yBAA0B,GAAG,OACvD,8BAAC,YAAS,GACZ;AAIK,MAAM,eAAe;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/NotFoundPage/Page.tsx","../../../../src/components/Page.tsx","../../../../src/components/Body.tsx","../../../../src/components/lib/cssValues.ts"],"sourcesContent":["import { NotFound } from '@xyo-network/react-shared'\n\nimport { WebAppPage, WebAppPageProps } from '../Page'\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","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'\nimport { fixedWrap, scrollableWrap } from './lib'\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 ) : (\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 { Breakpoint, styled } from '@mui/material'\nimport { FlexBoxProps, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport React, { ReactNode } from 'react'\n\nimport { fixedContent, scrollableContent } from './lib'\n\nconst WebAppBodyName = 'WebAppBody'\nconst propsNotForwarded = ['mobileScrollingBreakpoint', 'variant', 'spacing', 'disableBreadcrumbGutter']\nconst defaultStyledOptions = {\n shouldForwardProp: (prop: string) => !propsNotForwarded.includes(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"],"mappings":"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","names":["styled","FlexGrowCol","jsx","jsxs","styled","FlexGrowCol","jsx"]}
|
|
@@ -1,2 +1,186 @@
|
|
|
1
|
-
|
|
1
|
+
// src/components/NotFoundPage/Page.tsx
|
|
2
|
+
import { NotFound } from "@xyo-network/react-shared";
|
|
3
|
+
|
|
4
|
+
// src/components/Page.tsx
|
|
5
|
+
import { Container, styled as styled2 } from "@mui/material";
|
|
6
|
+
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
7
|
+
import { FlexGrowCol as FlexGrowCol2 } from "@xylabs/react-flexbox";
|
|
8
|
+
import { useUserEvents } from "@xylabs/react-pixel";
|
|
9
|
+
import { Helmet } from "react-helmet";
|
|
10
|
+
import { useLocation } from "react-router-dom";
|
|
11
|
+
|
|
12
|
+
// src/components/Body.tsx
|
|
13
|
+
import { styled } from "@mui/material";
|
|
14
|
+
import { FlexGrowCol, FlexRow } from "@xylabs/react-flexbox";
|
|
15
|
+
|
|
16
|
+
// src/components/lib/cssValues.ts
|
|
17
|
+
var scrollableWrap = {
|
|
18
|
+
inset: 0,
|
|
19
|
+
position: "absolute"
|
|
20
|
+
};
|
|
21
|
+
var fixedWrap = {
|
|
22
|
+
inset: "unset",
|
|
23
|
+
position: "relative"
|
|
24
|
+
};
|
|
25
|
+
var scrollableContent = {
|
|
26
|
+
...fixedWrap
|
|
27
|
+
};
|
|
28
|
+
var fixedContent = {
|
|
29
|
+
...scrollableWrap
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
// src/components/Body.tsx
|
|
33
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
34
|
+
var WebAppBodyName = "WebAppBody";
|
|
35
|
+
var propsNotForwarded = ["mobileScrollingBreakpoint", "variant", "spacing", "disableBreadcrumbGutter"];
|
|
36
|
+
var defaultStyledOptions = {
|
|
37
|
+
shouldForwardProp: (prop) => !propsNotForwarded.includes(prop)
|
|
38
|
+
};
|
|
39
|
+
var WebAppBodyRoot = styled(FlexGrowCol, {
|
|
40
|
+
...defaultStyledOptions,
|
|
41
|
+
name: WebAppBodyName,
|
|
42
|
+
slot: "Root"
|
|
43
|
+
})(({ spacing, theme, mobileScrollingBreakpoint = "sm", variant }) => {
|
|
44
|
+
const scrollable = variant === "scrollable";
|
|
45
|
+
return theme.unstable_sx({
|
|
46
|
+
alignItems: "stretch",
|
|
47
|
+
gap: 1,
|
|
48
|
+
justifyContent: "flex-start",
|
|
49
|
+
overflowX: "visible",
|
|
50
|
+
overflowY: scrollable ? "scroll" : "hidden",
|
|
51
|
+
paddingY: spacing,
|
|
52
|
+
[theme.breakpoints.down(mobileScrollingBreakpoint)]: {
|
|
53
|
+
overflowY: "scroll"
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
var WebAppBodyBreadcrumb = styled(FlexRow, {
|
|
58
|
+
...defaultStyledOptions,
|
|
59
|
+
name: WebAppBodyName,
|
|
60
|
+
slot: "Breadcrumb"
|
|
61
|
+
})(
|
|
62
|
+
({ theme, disableBreadcrumbGutter, spacing }) => theme.unstable_sx({
|
|
63
|
+
justifyContent: "start",
|
|
64
|
+
marginX: disableBreadcrumbGutter ? 0 : spacing
|
|
65
|
+
})
|
|
66
|
+
);
|
|
67
|
+
var WebAppBodyScrollableWrapper = styled(FlexGrowCol, {
|
|
68
|
+
name: WebAppBodyName,
|
|
69
|
+
slot: "ScrollableWrapper"
|
|
70
|
+
})(() => ({
|
|
71
|
+
alignItems: "stretch"
|
|
72
|
+
}));
|
|
73
|
+
var WebAppBodyScrollable = styled(FlexGrowCol, {
|
|
74
|
+
...defaultStyledOptions,
|
|
75
|
+
name: WebAppBodyName,
|
|
76
|
+
slot: "Scrollable"
|
|
77
|
+
})(({ theme, mobileScrollingBreakpoint = "sm", variant }) => {
|
|
78
|
+
const props = variant === "scrollable" ? scrollableContent : fixedContent;
|
|
79
|
+
return {
|
|
80
|
+
...props,
|
|
81
|
+
alignItems: "stretch",
|
|
82
|
+
justifyContent: "start",
|
|
83
|
+
[theme.breakpoints.down(mobileScrollingBreakpoint)]: {
|
|
84
|
+
inset: "unset",
|
|
85
|
+
position: "relative"
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
});
|
|
89
|
+
var WebAppBody = ({
|
|
90
|
+
children,
|
|
91
|
+
breadcrumbs,
|
|
92
|
+
disableBreadcrumbGutter,
|
|
93
|
+
mobileScrollingBreakpoint,
|
|
94
|
+
spacing = 1,
|
|
95
|
+
variant,
|
|
96
|
+
...props
|
|
97
|
+
}) => {
|
|
98
|
+
return /* @__PURE__ */ jsxs(WebAppBodyRoot, { mobileScrollingBreakpoint, spacing, variant, ...props, children: [
|
|
99
|
+
breadcrumbs ? /* @__PURE__ */ jsx(WebAppBodyBreadcrumb, { disableBreadcrumbGutter, spacing, children: breadcrumbs }) : null,
|
|
100
|
+
/* @__PURE__ */ jsx(WebAppBodyScrollableWrapper, { children: /* @__PURE__ */ jsx(WebAppBodyScrollable, { mobileScrollingBreakpoint, variant, children }) })
|
|
101
|
+
] });
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
// src/components/Page.tsx
|
|
105
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
106
|
+
var WebAppPageRoot = styled2(FlexGrowCol2, {
|
|
107
|
+
name: "WebAppPage",
|
|
108
|
+
shouldForwardProp: (propName) => propName !== "mobileScrollingBreakpoint" && propName !== "variant",
|
|
109
|
+
slot: "Root"
|
|
110
|
+
})(({ theme, mobileScrollingBreakpoint = "sm", variant }) => {
|
|
111
|
+
const props = variant === "scrollable" ? scrollableWrap : fixedWrap;
|
|
112
|
+
return {
|
|
113
|
+
...props,
|
|
114
|
+
alignItems: "stretch",
|
|
115
|
+
justifyContent: "start",
|
|
116
|
+
maxWidth: "100vw",
|
|
117
|
+
[theme.breakpoints.down(mobileScrollingBreakpoint)]: {
|
|
118
|
+
inset: 0,
|
|
119
|
+
position: "absolute"
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
});
|
|
123
|
+
var WebAppPage = ({
|
|
124
|
+
disableGutters,
|
|
125
|
+
disableBreadcrumbGutter,
|
|
126
|
+
title,
|
|
127
|
+
container,
|
|
128
|
+
children,
|
|
129
|
+
breadcrumbs,
|
|
130
|
+
mobileScrollingBreakpoint,
|
|
131
|
+
variant = "scrollable",
|
|
132
|
+
...props
|
|
133
|
+
}) => {
|
|
134
|
+
const userEvents = useUserEvents();
|
|
135
|
+
const { pathname } = useLocation();
|
|
136
|
+
useAsyncEffect(
|
|
137
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
138
|
+
async () => {
|
|
139
|
+
await userEvents?.viewContent({ name: title ?? "NodeBasePage", path: location.pathname });
|
|
140
|
+
},
|
|
141
|
+
[pathname, title, userEvents]
|
|
142
|
+
);
|
|
143
|
+
return /* @__PURE__ */ jsxs2(WebAppPageRoot, { mobileScrollingBreakpoint, variant, ...props, children: [
|
|
144
|
+
/* @__PURE__ */ jsx2(Helmet, { title }),
|
|
145
|
+
container && container !== "none" ? /* @__PURE__ */ jsx2(
|
|
146
|
+
Container,
|
|
147
|
+
{
|
|
148
|
+
disableGutters,
|
|
149
|
+
style: { alignItems: "stretch", display: "flex", flexDirection: "column", flexGrow: 1, justifyContent: "flex-start" },
|
|
150
|
+
maxWidth: container,
|
|
151
|
+
children: /* @__PURE__ */ jsx2(
|
|
152
|
+
WebAppBody,
|
|
153
|
+
{
|
|
154
|
+
disableBreadcrumbGutter,
|
|
155
|
+
breadcrumbs,
|
|
156
|
+
mobileScrollingBreakpoint,
|
|
157
|
+
variant,
|
|
158
|
+
...props,
|
|
159
|
+
children
|
|
160
|
+
}
|
|
161
|
+
)
|
|
162
|
+
}
|
|
163
|
+
) : /* @__PURE__ */ jsx2(
|
|
164
|
+
WebAppBody,
|
|
165
|
+
{
|
|
166
|
+
disableBreadcrumbGutter,
|
|
167
|
+
breadcrumbs,
|
|
168
|
+
mobileScrollingBreakpoint,
|
|
169
|
+
paddingX: disableGutters ? 0 : 1,
|
|
170
|
+
variant,
|
|
171
|
+
...props,
|
|
172
|
+
children
|
|
173
|
+
}
|
|
174
|
+
)
|
|
175
|
+
] });
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
// src/components/NotFoundPage/Page.tsx
|
|
179
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
180
|
+
var WebAppNotFoundPage = ({ title, ...props }) => /* @__PURE__ */ jsx3(WebAppPage, { title: title ?? "Sorry! Page Not Found", ...props, children: /* @__PURE__ */ jsx3(NotFound, {}) });
|
|
181
|
+
var NotFoundPage = WebAppNotFoundPage;
|
|
182
|
+
export {
|
|
183
|
+
NotFoundPage,
|
|
184
|
+
WebAppNotFoundPage
|
|
185
|
+
};
|
|
2
186
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/NotFoundPage/index.ts"],"sourcesContent":["export * from './Page'\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/NotFoundPage/Page.tsx","../../../../src/components/Page.tsx","../../../../src/components/Body.tsx","../../../../src/components/lib/cssValues.ts"],"sourcesContent":["import { NotFound } from '@xyo-network/react-shared'\n\nimport { WebAppPage, WebAppPageProps } from '../Page'\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","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'\nimport { fixedWrap, scrollableWrap } from './lib'\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 ) : (\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 { Breakpoint, styled } from '@mui/material'\nimport { FlexBoxProps, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport React, { ReactNode } from 'react'\n\nimport { fixedContent, scrollableContent } from './lib'\n\nconst WebAppBodyName = 'WebAppBody'\nconst propsNotForwarded = ['mobileScrollingBreakpoint', 'variant', 'spacing', 'disableBreadcrumbGutter']\nconst defaultStyledOptions = {\n shouldForwardProp: (prop: string) => !propsNotForwarded.includes(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"],"mappings":"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","names":["styled","FlexGrowCol","jsx","jsxs","styled","FlexGrowCol","jsx"]}
|
|
@@ -1,13 +1,106 @@
|
|
|
1
|
-
|
|
2
|
-
import { Container, styled } from "@mui/material";
|
|
1
|
+
// src/components/Page.tsx
|
|
2
|
+
import { Container, styled as styled2 } from "@mui/material";
|
|
3
3
|
import { useAsyncEffect } from "@xylabs/react-async-effect";
|
|
4
|
-
import { FlexGrowCol } from "@xylabs/react-flexbox";
|
|
4
|
+
import { FlexGrowCol as FlexGrowCol2 } from "@xylabs/react-flexbox";
|
|
5
5
|
import { useUserEvents } from "@xylabs/react-pixel";
|
|
6
6
|
import { Helmet } from "react-helmet";
|
|
7
7
|
import { useLocation } from "react-router-dom";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
|
|
9
|
+
// src/components/Body.tsx
|
|
10
|
+
import { styled } from "@mui/material";
|
|
11
|
+
import { FlexGrowCol, FlexRow } from "@xylabs/react-flexbox";
|
|
12
|
+
|
|
13
|
+
// src/components/lib/cssValues.ts
|
|
14
|
+
var scrollableWrap = {
|
|
15
|
+
inset: 0,
|
|
16
|
+
position: "absolute"
|
|
17
|
+
};
|
|
18
|
+
var fixedWrap = {
|
|
19
|
+
inset: "unset",
|
|
20
|
+
position: "relative"
|
|
21
|
+
};
|
|
22
|
+
var scrollableContent = {
|
|
23
|
+
...fixedWrap
|
|
24
|
+
};
|
|
25
|
+
var fixedContent = {
|
|
26
|
+
...scrollableWrap
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/components/Body.tsx
|
|
30
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
31
|
+
var WebAppBodyName = "WebAppBody";
|
|
32
|
+
var propsNotForwarded = ["mobileScrollingBreakpoint", "variant", "spacing", "disableBreadcrumbGutter"];
|
|
33
|
+
var defaultStyledOptions = {
|
|
34
|
+
shouldForwardProp: (prop) => !propsNotForwarded.includes(prop)
|
|
35
|
+
};
|
|
36
|
+
var WebAppBodyRoot = styled(FlexGrowCol, {
|
|
37
|
+
...defaultStyledOptions,
|
|
38
|
+
name: WebAppBodyName,
|
|
39
|
+
slot: "Root"
|
|
40
|
+
})(({ spacing, theme, mobileScrollingBreakpoint = "sm", variant }) => {
|
|
41
|
+
const scrollable = variant === "scrollable";
|
|
42
|
+
return theme.unstable_sx({
|
|
43
|
+
alignItems: "stretch",
|
|
44
|
+
gap: 1,
|
|
45
|
+
justifyContent: "flex-start",
|
|
46
|
+
overflowX: "visible",
|
|
47
|
+
overflowY: scrollable ? "scroll" : "hidden",
|
|
48
|
+
paddingY: spacing,
|
|
49
|
+
[theme.breakpoints.down(mobileScrollingBreakpoint)]: {
|
|
50
|
+
overflowY: "scroll"
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
var WebAppBodyBreadcrumb = styled(FlexRow, {
|
|
55
|
+
...defaultStyledOptions,
|
|
56
|
+
name: WebAppBodyName,
|
|
57
|
+
slot: "Breadcrumb"
|
|
58
|
+
})(
|
|
59
|
+
({ theme, disableBreadcrumbGutter, spacing }) => theme.unstable_sx({
|
|
60
|
+
justifyContent: "start",
|
|
61
|
+
marginX: disableBreadcrumbGutter ? 0 : spacing
|
|
62
|
+
})
|
|
63
|
+
);
|
|
64
|
+
var WebAppBodyScrollableWrapper = styled(FlexGrowCol, {
|
|
65
|
+
name: WebAppBodyName,
|
|
66
|
+
slot: "ScrollableWrapper"
|
|
67
|
+
})(() => ({
|
|
68
|
+
alignItems: "stretch"
|
|
69
|
+
}));
|
|
70
|
+
var WebAppBodyScrollable = styled(FlexGrowCol, {
|
|
71
|
+
...defaultStyledOptions,
|
|
72
|
+
name: WebAppBodyName,
|
|
73
|
+
slot: "Scrollable"
|
|
74
|
+
})(({ theme, mobileScrollingBreakpoint = "sm", variant }) => {
|
|
75
|
+
const props = variant === "scrollable" ? scrollableContent : fixedContent;
|
|
76
|
+
return {
|
|
77
|
+
...props,
|
|
78
|
+
alignItems: "stretch",
|
|
79
|
+
justifyContent: "start",
|
|
80
|
+
[theme.breakpoints.down(mobileScrollingBreakpoint)]: {
|
|
81
|
+
inset: "unset",
|
|
82
|
+
position: "relative"
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
});
|
|
86
|
+
var WebAppBody = ({
|
|
87
|
+
children,
|
|
88
|
+
breadcrumbs,
|
|
89
|
+
disableBreadcrumbGutter,
|
|
90
|
+
mobileScrollingBreakpoint,
|
|
91
|
+
spacing = 1,
|
|
92
|
+
variant,
|
|
93
|
+
...props
|
|
94
|
+
}) => {
|
|
95
|
+
return /* @__PURE__ */ jsxs(WebAppBodyRoot, { mobileScrollingBreakpoint, spacing, variant, ...props, children: [
|
|
96
|
+
breadcrumbs ? /* @__PURE__ */ jsx(WebAppBodyBreadcrumb, { disableBreadcrumbGutter, spacing, children: breadcrumbs }) : null,
|
|
97
|
+
/* @__PURE__ */ jsx(WebAppBodyScrollableWrapper, { children: /* @__PURE__ */ jsx(WebAppBodyScrollable, { mobileScrollingBreakpoint, variant, children }) })
|
|
98
|
+
] });
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
// src/components/Page.tsx
|
|
102
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
103
|
+
var WebAppPageRoot = styled2(FlexGrowCol2, {
|
|
11
104
|
name: "WebAppPage",
|
|
12
105
|
shouldForwardProp: (propName) => propName !== "mobileScrollingBreakpoint" && propName !== "variant",
|
|
13
106
|
slot: "Root"
|
|
@@ -24,7 +117,7 @@ const WebAppPageRoot = styled(FlexGrowCol, {
|
|
|
24
117
|
}
|
|
25
118
|
};
|
|
26
119
|
});
|
|
27
|
-
|
|
120
|
+
var WebAppPage = ({
|
|
28
121
|
disableGutters,
|
|
29
122
|
disableBreadcrumbGutter,
|
|
30
123
|
title,
|
|
@@ -44,15 +137,15 @@ const WebAppPage = ({
|
|
|
44
137
|
},
|
|
45
138
|
[pathname, title, userEvents]
|
|
46
139
|
);
|
|
47
|
-
return /* @__PURE__ */
|
|
48
|
-
/* @__PURE__ */
|
|
49
|
-
container && container !== "none" ? /* @__PURE__ */
|
|
140
|
+
return /* @__PURE__ */ jsxs2(WebAppPageRoot, { mobileScrollingBreakpoint, variant, ...props, children: [
|
|
141
|
+
/* @__PURE__ */ jsx2(Helmet, { title }),
|
|
142
|
+
container && container !== "none" ? /* @__PURE__ */ jsx2(
|
|
50
143
|
Container,
|
|
51
144
|
{
|
|
52
145
|
disableGutters,
|
|
53
146
|
style: { alignItems: "stretch", display: "flex", flexDirection: "column", flexGrow: 1, justifyContent: "flex-start" },
|
|
54
147
|
maxWidth: container,
|
|
55
|
-
children: /* @__PURE__ */
|
|
148
|
+
children: /* @__PURE__ */ jsx2(
|
|
56
149
|
WebAppBody,
|
|
57
150
|
{
|
|
58
151
|
disableBreadcrumbGutter,
|
|
@@ -64,7 +157,7 @@ const WebAppPage = ({
|
|
|
64
157
|
}
|
|
65
158
|
)
|
|
66
159
|
}
|
|
67
|
-
) : /* @__PURE__ */
|
|
160
|
+
) : /* @__PURE__ */ jsx2(
|
|
68
161
|
WebAppBody,
|
|
69
162
|
{
|
|
70
163
|
disableBreadcrumbGutter,
|
|
@@ -78,7 +171,7 @@ const WebAppPage = ({
|
|
|
78
171
|
)
|
|
79
172
|
] });
|
|
80
173
|
};
|
|
81
|
-
|
|
174
|
+
var FlexPage = WebAppPage;
|
|
82
175
|
export {
|
|
83
176
|
FlexPage,
|
|
84
177
|
WebAppPage
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/Page.tsx"],"sourcesContent":["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'\nimport { fixedWrap, scrollableWrap } from './lib'\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 ) : (\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"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/components/Page.tsx","../../../src/components/Body.tsx","../../../src/components/lib/cssValues.ts"],"sourcesContent":["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'\nimport { fixedWrap, scrollableWrap } from './lib'\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 ) : (\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 { Breakpoint, styled } from '@mui/material'\nimport { FlexBoxProps, FlexGrowCol, FlexRow } from '@xylabs/react-flexbox'\nimport React, { ReactNode } from 'react'\n\nimport { fixedContent, scrollableContent } from './lib'\n\nconst WebAppBodyName = 'WebAppBody'\nconst propsNotForwarded = ['mobileScrollingBreakpoint', 'variant', 'spacing', 'disableBreadcrumbGutter']\nconst defaultStyledOptions = {\n shouldForwardProp: (prop: string) => !propsNotForwarded.includes(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"],"mappings":";AAAA,SAAS,WAA2B,UAAAA,eAAc;AAClD,SAAS,sBAAsB;AAC/B,SAAuB,eAAAC,oBAAmB;AAC1C,SAAS,qBAAqB;AAE9B,SAAS,cAAc;AACvB,SAAS,mBAAmB;;;ACN5B,SAAqB,cAAc;AACnC,SAAuB,aAAa,eAAe;;;ACC5C,IAAM,iBAAgC;AAAA,EAC3C,OAAO;AAAA,EACP,UAAU;AACZ;AAEO,IAAM,YAA2B;AAAA,EACtC,OAAO;AAAA,EACP,UAAU;AACZ;AAGO,IAAM,oBAAmC;AAAA,EAC9C,GAAG;AACL;AAEO,IAAM,eAA8B;AAAA,EACzC,GAAG;AACL;;;ADiEI,SAEI,KAFJ;AA9EJ,IAAM,iBAAiB;AACvB,IAAM,oBAAoB,CAAC,6BAA6B,WAAW,WAAW,yBAAyB;AACvG,IAAM,uBAAuB;AAAA,EAC3B,mBAAmB,CAAC,SAAiB,CAAC,kBAAkB,SAAS,IAAI;AACvE;AAEA,IAAM,iBAAiB,OAAO,aAAa;AAAA,EACzC,GAAG;AAAA,EACH,MAAM;AAAA,EACN,MAAM;AACR,CAAC,EAAmB,CAAC,EAAE,SAAS,OAAO,4BAA4B,MAAM,QAAQ,MAAM;AACrF,QAAM,aAAa,YAAY;AAC/B,SAAO,MAAM,YAAY;AAAA,IACvB,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,gBAAgB;AAAA,IAChB,WAAW;AAAA,IACX,WAAW,aAAa,WAAW;AAAA,IACnC,UAAU;AAAA,IACV,CAAC,MAAM,YAAY,KAAK,yBAAyB,CAAC,GAAG;AAAA,MACnD,WAAW;AAAA,IACb;AAAA,EACF,CAAC;AACH,CAAC;AAED,IAAM,uBAAuB,OAAO,SAAS;AAAA,EAC3C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,MAAM;AACR,CAAC;AAAA,EAAmB,CAAC,EAAE,OAAO,yBAAyB,QAAQ,MAC7D,MAAM,YAAY;AAAA,IAChB,gBAAgB;AAAA,IAChB,SAAS,0BAA0B,IAAI;AAAA,EACzC,CAAC;AACH;AAEA,IAAM,8BAA8B,OAAO,aAAa;AAAA,EACtD,MAAM;AAAA,EACN,MAAM;AACR,CAAC,EAAmB,OAAO;AAAA,EACzB,YAAY;AACd,EAAE;AAEF,IAAM,uBAAuB,OAAO,aAAa;AAAA,EAC/C,GAAG;AAAA,EACH,MAAM;AAAA,EACN,MAAM;AACR,CAAC,EAAmB,CAAC,EAAE,OAAO,4BAA4B,MAAM,QAAQ,MAAM;AAC5E,QAAM,QAAQ,YAAY,eAAe,oBAAoB;AAC7D,SAAO;AAAA,IACL,GAAG;AAAA,IACH,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,CAAC,MAAM,YAAY,KAAK,yBAAyB,CAAC,GAAG;AAAA,MACnD,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAUM,IAAM,aAAwC,CAAC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE,qBAAC,kBAAe,2BAAsD,SAAkB,SAAmB,GAAG,OAC3G;AAAA,kBACC,oBAAC,wBAAqB,yBAAkD,SACrE,uBACH,IACE;AAAA,IACJ,oBAAC,+BACC,8BAAC,wBAAqB,2BAAsD,SACzE,UACH,GACF;AAAA,KACF;AAEJ;;;ADxCI,SACE,OAAAC,MADF,QAAAC,aAAA;AA9CJ,IAAM,iBAAiBC,QAAOC,cAAa;AAAA,EACzC,MAAM;AAAA,EACN,mBAAmB,CAAC,aAAa,aAAa,+BAA+B,aAAa;AAAA,EAC1F,MAAM;AACR,CAAC,EAAmB,CAAC,EAAE,OAAO,4BAA4B,MAAM,QAAQ,MAAM;AAC5E,QAAM,QAAQ,YAAY,eAAe,iBAAiB;AAC1D,SAAO;AAAA,IACL,GAAG;AAAA,IACH,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,CAAC,MAAM,YAAY,KAAK,yBAAyB,CAAC,GAAG;AAAA,MACnD,OAAO;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,EACF;AACF,CAAC;AAOM,IAAM,aAAsD,CAAC;AAAA,EAClE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,GAAG;AACL,MAAM;AACJ,QAAM,aAAa,cAAc;AACjC,QAAM,EAAE,SAAS,IAAI,YAAY;AAEjC;AAAA;AAAA,IAEE,YAAY;AACV,YAAM,YAAY,YAAY,EAAE,MAAM,SAAS,gBAAgB,MAAM,SAAS,SAAS,CAAC;AAAA,IAC1F;AAAA,IACA,CAAC,UAAU,OAAO,UAAU;AAAA,EAC9B;AAEA,SACE,gBAAAF,MAAC,kBAAe,2BAAsD,SAAmB,GAAG,OAC1F;AAAA,oBAAAD,KAAC,UAAO,OAAc;AAAA,IACrB,aAAa,cAAc,SAC1B,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,OAAO,EAAE,YAAY,WAAW,SAAS,QAAQ,eAAe,UAAU,UAAU,GAAG,gBAAgB,aAAa;AAAA,QACpH,UAAU;AAAA,QAEV,0BAAAA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACC,GAAG;AAAA,YAEH;AAAA;AAAA,QACH;AAAA;AAAA,IACF,IAEA,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,iBAAiB,IAAI;AAAA,QAC/B;AAAA,QACC,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,KAEJ;AAEJ;AAGO,IAAM,WAAW;","names":["styled","FlexGrowCol","jsx","jsxs","styled","FlexGrowCol"]}
|