@kirill.konshin/utils 0.0.19 → 0.0.21
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/README.md +6 -0
- package/dist/bootstrap/index.d.ts +1 -12
- package/dist/bootstrap/index.d.ts.map +1 -1
- package/dist/bootstrap/index.js +2 -35
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +2 -0
- package/dist/core/index.d.ts +1 -9
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -35
- package/dist/electron/index.d.ts +1 -2
- package/dist/electron/index.d.ts.map +1 -1
- package/dist/electron/index.js +2 -9
- package/dist/electron-builder/index.d.ts +1 -2
- package/dist/electron-builder/index.d.ts.map +1 -1
- package/dist/electron-builder/index.js +2 -7
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/mui/index.d.ts +1 -4
- package/dist/mui/index.d.ts.map +1 -1
- package/dist/mui/index.js +2 -11
- package/dist/next/index.d.ts +1 -5
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +2 -15
- package/dist/node/index.d.ts +2 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +2 -0
- package/dist/react/index.d.ts +1 -5
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +2 -26
- package/dist/react-native/index.d.ts +1 -3
- package/dist/react-native/index.d.ts.map +1 -1
- package/dist/react-native/index.js +2 -9
- package/dist/tailwind/index.d.ts +1 -2
- package/dist/tailwind/index.d.ts.map +1 -1
- package/dist/tailwind/index.js +2 -7
- package/dist/worker/index.d.ts +2 -0
- package/dist/worker/index.d.ts.map +1 -0
- package/dist/worker/index.js +2 -0
- package/package.json +51 -99
- package/.ctirc +0 -11
- package/.storybook/main.ts +0 -21
- package/.storybook/preview.ts +0 -17
- package/.turbo/turbo-build.log +0 -72
- package/.turbo/turbo-test.log +0 -171
- package/CHANGELOG.md +0 -116
- package/builders/.swcrc +0 -18
- package/builders/build.config.ts +0 -11
- package/builders/bun.build.js +0 -23
- package/builders/package.json +0 -209
- package/builders/perf.mjs +0 -63
- package/builders/rollup.config.mjs +0 -50
- package/builders/rslib.config.ts +0 -26
- package/builders/tsconfig.json +0 -21
- package/builders/tsup.config.ts +0 -20
- package/builders/turbo.json +0 -24
- package/builders/vite.config.ts +0 -37
- package/demo/worker-demo.ts +0 -73
- package/dist/bootstrap/adaptiveContainer.d.ts +0 -4
- package/dist/bootstrap/adaptiveContainer.d.ts.map +0 -1
- package/dist/bootstrap/adaptiveContainer.js +0 -11
- package/dist/bootstrap/adaptiveContainer.js.map +0 -1
- package/dist/bootstrap/controls.d.ts +0 -38
- package/dist/bootstrap/controls.d.ts.map +0 -1
- package/dist/bootstrap/controls.js +0 -78
- package/dist/bootstrap/controls.js.map +0 -1
- package/dist/bootstrap/controls.stories.d.ts +0 -9
- package/dist/bootstrap/controls.stories.d.ts.map +0 -1
- package/dist/bootstrap/error.d.ts +0 -9
- package/dist/bootstrap/error.d.ts.map +0 -1
- package/dist/bootstrap/error.js +0 -27
- package/dist/bootstrap/error.js.map +0 -1
- package/dist/bootstrap/error.stories.d.ts +0 -8
- package/dist/bootstrap/error.stories.d.ts.map +0 -1
- package/dist/bootstrap/field.d.ts +0 -11
- package/dist/bootstrap/field.d.ts.map +0 -1
- package/dist/bootstrap/field.js +0 -29
- package/dist/bootstrap/field.js.map +0 -1
- package/dist/bootstrap/field.stories.d.ts +0 -8
- package/dist/bootstrap/field.stories.d.ts.map +0 -1
- package/dist/bootstrap/footer.d.ts +0 -10
- package/dist/bootstrap/footer.d.ts.map +0 -1
- package/dist/bootstrap/footer.js +0 -45
- package/dist/bootstrap/footer.js.map +0 -1
- package/dist/bootstrap/globalLoading.d.ts +0 -6
- package/dist/bootstrap/globalLoading.d.ts.map +0 -1
- package/dist/bootstrap/globalLoading.js +0 -10
- package/dist/bootstrap/globalLoading.js.map +0 -1
- package/dist/bootstrap/globalLoading.stories.d.ts +0 -7
- package/dist/bootstrap/globalLoading.stories.d.ts.map +0 -1
- package/dist/bootstrap/index.js.map +0 -1
- package/dist/bootstrap/loading.d.ts +0 -10
- package/dist/bootstrap/loading.d.ts.map +0 -1
- package/dist/bootstrap/loading.js +0 -19
- package/dist/bootstrap/loading.js.map +0 -1
- package/dist/bootstrap/loading.stories.d.ts +0 -9
- package/dist/bootstrap/loading.stories.d.ts.map +0 -1
- package/dist/bootstrap/responsiveHelper.d.ts +0 -8
- package/dist/bootstrap/responsiveHelper.d.ts.map +0 -1
- package/dist/bootstrap/responsiveHelper.js +0 -46
- package/dist/bootstrap/responsiveHelper.js.map +0 -1
- package/dist/bootstrap/screen.d.ts +0 -22
- package/dist/bootstrap/screen.d.ts.map +0 -1
- package/dist/bootstrap/screen.js +0 -80
- package/dist/bootstrap/screen.js.map +0 -1
- package/dist/bootstrap/screen.stories.d.ts +0 -14
- package/dist/bootstrap/screen.stories.d.ts.map +0 -1
- package/dist/bootstrap/toaster.d.ts +0 -11
- package/dist/bootstrap/toaster.d.ts.map +0 -1
- package/dist/bootstrap/toaster.js +0 -34
- package/dist/bootstrap/toaster.js.map +0 -1
- package/dist/bootstrap/toaster.stories.d.ts +0 -8
- package/dist/bootstrap/toaster.stories.d.ts.map +0 -1
- package/dist/bootstrap/useModal.d.ts +0 -23
- package/dist/bootstrap/useModal.d.ts.map +0 -1
- package/dist/bootstrap/useModal.js +0 -50
- package/dist/bootstrap/useModal.js.map +0 -1
- package/dist/bootstrap/useModal.stories.d.ts +0 -9
- package/dist/bootstrap/useModal.stories.d.ts.map +0 -1
- package/dist/bootstrap/useWrappedForm.d.ts +0 -14
- package/dist/bootstrap/useWrappedForm.d.ts.map +0 -1
- package/dist/bootstrap/useWrappedForm.js +0 -32
- package/dist/bootstrap/useWrappedForm.js.map +0 -1
- package/dist/core/cache.d.ts +0 -120
- package/dist/core/cache.d.ts.map +0 -1
- package/dist/core/cache.js +0 -107
- package/dist/core/cache.js.map +0 -1
- package/dist/core/cache.test.d.ts +0 -2
- package/dist/core/cache.test.d.ts.map +0 -1
- package/dist/core/errors.d.ts +0 -2
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -15
- package/dist/core/errors.js.map +0 -1
- package/dist/core/files.d.ts +0 -4
- package/dist/core/files.d.ts.map +0 -1
- package/dist/core/files.js +0 -31
- package/dist/core/files.js.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/core/ls.d.ts +0 -6
- package/dist/core/ls.d.ts.map +0 -1
- package/dist/core/ls.js +0 -12
- package/dist/core/ls.js.map +0 -1
- package/dist/core/measure.d.ts +0 -35
- package/dist/core/measure.d.ts.map +0 -1
- package/dist/core/measure.js +0 -60
- package/dist/core/measure.js.map +0 -1
- package/dist/core/mutex.d.ts +0 -6
- package/dist/core/mutex.d.ts.map +0 -1
- package/dist/core/mutex.js +0 -26
- package/dist/core/mutex.js.map +0 -1
- package/dist/core/worker.d.ts +0 -98
- package/dist/core/worker.d.ts.map +0 -1
- package/dist/core/worker.js +0 -240
- package/dist/core/worker.js.map +0 -1
- package/dist/core/worker.test.d.ts +0 -2
- package/dist/core/worker.test.d.ts.map +0 -1
- package/dist/core/workerUtils.d.ts +0 -3
- package/dist/core/workerUtils.d.ts.map +0 -1
- package/dist/core/workerUtils.js +0 -31
- package/dist/core/workerUtils.js.map +0 -1
- package/dist/core/wrpc.d.ts +0 -45
- package/dist/core/wrpc.d.ts.map +0 -1
- package/dist/core/wrpc.fixture.d.ts +0 -26
- package/dist/core/wrpc.fixture.d.ts.map +0 -1
- package/dist/core/wrpc.js +0 -242
- package/dist/core/wrpc.js.map +0 -1
- package/dist/core/wrpc.test.d.ts +0 -1
- package/dist/core/wrpc.test.d.ts.map +0 -1
- package/dist/electron/createWindow.d.ts +0 -23
- package/dist/electron/createWindow.d.ts.map +0 -1
- package/dist/electron/createWindow.js +0 -160
- package/dist/electron/createWindow.js.map +0 -1
- package/dist/electron/index.js.map +0 -1
- package/dist/electron/updater.d.ts +0 -2
- package/dist/electron/updater.d.ts.map +0 -1
- package/dist/electron/updater.js +0 -47
- package/dist/electron/updater.js.map +0 -1
- package/dist/electron-builder/builder.d.ts +0 -8
- package/dist/electron-builder/builder.d.ts.map +0 -1
- package/dist/electron-builder/builder.js +0 -130
- package/dist/electron-builder/builder.js.map +0 -1
- package/dist/electron-builder/images.d.ts +0 -7
- package/dist/electron-builder/images.d.ts.map +0 -1
- package/dist/electron-builder/images.js +0 -25
- package/dist/electron-builder/images.js.map +0 -1
- package/dist/electron-builder/index.js.map +0 -1
- package/dist/mui/formControlFieldset.d.ts +0 -5
- package/dist/mui/formControlFieldset.d.ts.map +0 -1
- package/dist/mui/formControlFieldset.js +0 -28
- package/dist/mui/formControlFieldset.js.map +0 -1
- package/dist/mui/formControlFieldset.stories.d.ts +0 -7
- package/dist/mui/formControlFieldset.stories.d.ts.map +0 -1
- package/dist/mui/formLabelLegend.d.ts +0 -4
- package/dist/mui/formLabelLegend.d.ts.map +0 -1
- package/dist/mui/formLabelLegend.js +0 -12
- package/dist/mui/formLabelLegend.js.map +0 -1
- package/dist/mui/genericControl.d.ts +0 -7
- package/dist/mui/genericControl.d.ts.map +0 -1
- package/dist/mui/genericControl.js +0 -21
- package/dist/mui/genericControl.js.map +0 -1
- package/dist/mui/index.js.map +0 -1
- package/dist/mui/readOnly.d.ts +0 -6
- package/dist/mui/readOnly.d.ts.map +0 -1
- package/dist/mui/readOnly.js +0 -7
- package/dist/mui/readOnly.js.map +0 -1
- package/dist/next/appLink.d.ts +0 -8
- package/dist/next/appLink.d.ts.map +0 -1
- package/dist/next/appLink.js +0 -34
- package/dist/next/appLink.js.map +0 -1
- package/dist/next/index.js.map +0 -1
- package/dist/next/measure.d.ts +0 -15
- package/dist/next/measure.d.ts.map +0 -1
- package/dist/next/measure.js +0 -9
- package/dist/next/measure.js.map +0 -1
- package/dist/next/noSSR.d.ts +0 -29
- package/dist/next/noSSR.d.ts.map +0 -1
- package/dist/next/noSSR.js +0 -13
- package/dist/next/noSSR.js.map +0 -1
- package/dist/next/redirect.d.ts +0 -6
- package/dist/next/redirect.d.ts.map +0 -1
- package/dist/next/useIsInner.d.ts +0 -3
- package/dist/next/useIsInner.d.ts.map +0 -1
- package/dist/next/useIsInner.js +0 -15
- package/dist/next/useIsInner.js.map +0 -1
- package/dist/react/apiCall.d.ts +0 -6
- package/dist/react/apiCall.d.ts.map +0 -1
- package/dist/react/apiCall.js +0 -24
- package/dist/react/apiCall.js.map +0 -1
- package/dist/react/form/client.d.ts +0 -7
- package/dist/react/form/client.d.ts.map +0 -1
- package/dist/react/form/client.js +0 -46
- package/dist/react/form/client.js.map +0 -1
- package/dist/react/form/form.d.ts +0 -59
- package/dist/react/form/form.d.ts.map +0 -1
- package/dist/react/form/form.js +0 -89
- package/dist/react/form/form.js.map +0 -1
- package/dist/react/form/index.d.ts +0 -3
- package/dist/react/form/index.d.ts.map +0 -1
- package/dist/react/index.js.map +0 -1
- package/dist/react/keyboard.d.ts +0 -10
- package/dist/react/keyboard.d.ts.map +0 -1
- package/dist/react/keyboard.js +0 -38
- package/dist/react/keyboard.js.map +0 -1
- package/dist/react/useFetch.d.ts +0 -2
- package/dist/react/useFetch.d.ts.map +0 -1
- package/dist/react/useFetch.js +0 -20
- package/dist/react/useFetch.js.map +0 -1
- package/dist/react/useFetcher.d.ts +0 -10
- package/dist/react/useFetcher.d.ts.map +0 -1
- package/dist/react/useFetcher.js +0 -43
- package/dist/react/useFetcher.js.map +0 -1
- package/dist/react-native/index.js.map +0 -1
- package/dist/react-native/share.d.ts +0 -9
- package/dist/react-native/share.d.ts.map +0 -1
- package/dist/react-native/share.js +0 -23
- package/dist/react-native/share.js.map +0 -1
- package/dist/react-native/update.d.ts +0 -3
- package/dist/react-native/update.d.ts.map +0 -1
- package/dist/react-native/update.js +0 -40
- package/dist/react-native/update.js.map +0 -1
- package/dist/react-native/useAppState.d.ts +0 -2
- package/dist/react-native/useAppState.d.ts.map +0 -1
- package/dist/react-native/useAppState.js +0 -18
- package/dist/react-native/useAppState.js.map +0 -1
- package/dist/tailwind/fullpage.d.ts +0 -3
- package/dist/tailwind/fullpage.d.ts.map +0 -1
- package/dist/tailwind/fullpage.js +0 -14
- package/dist/tailwind/fullpage.js.map +0 -1
- package/dist/tailwind/index.js.map +0 -1
- package/dist/tailwind/responsiveHelper.d.ts +0 -3
- package/dist/tailwind/responsiveHelper.d.ts.map +0 -1
- package/dist/tailwind/responsiveHelper.js +0 -16
- package/dist/tailwind/responsiveHelper.js.map +0 -1
- package/src/bootstrap/adaptiveContainer.tsx +0 -12
- package/src/bootstrap/controls.stories.tsx +0 -62
- package/src/bootstrap/controls.tsx +0 -119
- package/src/bootstrap/error.stories.tsx +0 -34
- package/src/bootstrap/error.tsx +0 -37
- package/src/bootstrap/field.stories.tsx +0 -42
- package/src/bootstrap/field.tsx +0 -37
- package/src/bootstrap/footer.tsx +0 -61
- package/src/bootstrap/globalLoading.stories.tsx +0 -25
- package/src/bootstrap/globalLoading.tsx +0 -19
- package/src/bootstrap/index.ts +0 -12
- package/src/bootstrap/loading.stories.tsx +0 -35
- package/src/bootstrap/loading.tsx +0 -24
- package/src/bootstrap/main.scss +0 -86
- package/src/bootstrap/responsiveHelper.tsx +0 -55
- package/src/bootstrap/screen.stories.tsx +0 -160
- package/src/bootstrap/screen.tsx +0 -146
- package/src/bootstrap/toaster.stories.tsx +0 -32
- package/src/bootstrap/toaster.tsx +0 -40
- package/src/bootstrap/useModal.stories.tsx +0 -51
- package/src/bootstrap/useModal.tsx +0 -93
- package/src/bootstrap/useWrappedForm.ts +0 -42
- package/src/core/README.md +0 -91
- package/src/core/cache.test.ts +0 -121
- package/src/core/cache.ts +0 -246
- package/src/core/errors.ts +0 -17
- package/src/core/files.ts +0 -29
- package/src/core/index.ts +0 -9
- package/src/core/ls.ts +0 -15
- package/src/core/measure.ts +0 -109
- package/src/core/mutex.ts +0 -22
- package/src/core/worker.test.ts +0 -197
- package/src/core/worker.ts +0 -347
- package/src/core/workerUtils.ts +0 -32
- package/src/core/wrpc.fixture.ts +0 -106
- package/src/core/wrpc.test.ts +0 -225
- package/src/core/wrpc.ts +0 -377
- package/src/electron/README.md +0 -13
- package/src/electron/createWindow.ts +0 -234
- package/src/electron/index.ts +0 -2
- package/src/electron/updater.ts +0 -54
- package/src/electron-builder/builder.ts +0 -150
- package/src/electron-builder/images.ts +0 -33
- package/src/electron-builder/index.ts +0 -2
- package/src/mui/README.md +0 -3
- package/src/mui/formControlFieldset.stories.tsx +0 -71
- package/src/mui/formControlFieldset.tsx +0 -26
- package/src/mui/formLabelLegend.tsx +0 -11
- package/src/mui/genericControl.tsx +0 -20
- package/src/mui/index.ts +0 -4
- package/src/mui/readOnly.tsx +0 -6
- package/src/next/appLink.tsx +0 -40
- package/src/next/index.ts +0 -5
- package/src/next/measure.ts +0 -24
- package/src/next/noSSR.tsx +0 -36
- package/src/next/redirect.tsx +0 -13
- package/src/next/useIsInner.ts +0 -13
- package/src/react/apiCall.ts +0 -25
- package/src/react/form/client.tsx +0 -73
- package/src/react/form/form.tsx +0 -178
- package/src/react/form/index.ts +0 -2
- package/src/react/index.ts +0 -5
- package/src/react/keyboard.tsx +0 -54
- package/src/react/useFetch.ts +0 -29
- package/src/react/useFetcher.ts +0 -54
- package/src/react-native/index.ts +0 -3
- package/src/react-native/share.ts +0 -31
- package/src/react-native/update.tsx +0 -40
- package/src/react-native/useAppState.ts +0 -18
- package/src/tailwind/README.md +0 -8
- package/src/tailwind/fullpage.tsx +0 -11
- package/src/tailwind/index.ts +0 -2
- package/src/tailwind/responsiveHelper.tsx +0 -16
- package/src-todo/auth0.tsx +0 -177
- package/tsconfig.json +0 -23
- package/turbo.json +0 -10
- package/vite.config.ts +0 -56
- package/vite.exports.ts +0 -121
package/dist/bootstrap/footer.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Nav, Navbar } from "react-bootstrap";
|
|
3
|
-
import { useBreakpoint } from "./responsiveHelper.js";
|
|
4
|
-
import { AdaptiveContainer } from "./adaptiveContainer.js";
|
|
5
|
-
const FooterNavItem = function FooterNavItem2({
|
|
6
|
-
href,
|
|
7
|
-
icon,
|
|
8
|
-
active = false,
|
|
9
|
-
children = ""
|
|
10
|
-
}) {
|
|
11
|
-
const isFilepath = icon.includes(".");
|
|
12
|
-
let iconElement;
|
|
13
|
-
if (isFilepath) {
|
|
14
|
-
iconElement = /* @__PURE__ */ jsx("img", { src: icon, alt: "icon", className: "me-lg-2" });
|
|
15
|
-
} else {
|
|
16
|
-
iconElement = /* @__PURE__ */ jsx("span", { className: `lead me-lg-2 ${icon}` });
|
|
17
|
-
}
|
|
18
|
-
const link = /* @__PURE__ */ jsxs(
|
|
19
|
-
Nav.Link,
|
|
20
|
-
{
|
|
21
|
-
href,
|
|
22
|
-
className: `px-0 px-lg-3 d-flex align-items-center flex-column flex-lg-row ${active ? "text-primary" : ""}`,
|
|
23
|
-
children: [
|
|
24
|
-
iconElement,
|
|
25
|
-
children
|
|
26
|
-
]
|
|
27
|
-
}
|
|
28
|
-
);
|
|
29
|
-
return /* @__PURE__ */ jsx(Nav.Item, { style: { flex: 1 }, children: link });
|
|
30
|
-
};
|
|
31
|
-
const Footer = function Footer2({ children }) {
|
|
32
|
-
const { isDesktop } = useBreakpoint();
|
|
33
|
-
return (
|
|
34
|
-
// border-bottom
|
|
35
|
-
/* @__PURE__ */ jsx("div", { className: isDesktop ? "" : "border-top", children: /* @__PURE__ */ jsx(Navbar, { className: isDesktop ? "" : "py-0", children: /* @__PURE__ */ jsxs(AdaptiveContainer, { children: [
|
|
36
|
-
isDesktop && /* @__PURE__ */ jsx(Navbar.Brand, { href: "/", children: "Le Brand" }),
|
|
37
|
-
/* @__PURE__ */ jsx(Nav, { className: isDesktop ? "me-auto" : "justify-content-center flex-nowrap w-100", children })
|
|
38
|
-
] }) }) })
|
|
39
|
-
);
|
|
40
|
-
};
|
|
41
|
-
export {
|
|
42
|
-
Footer,
|
|
43
|
-
FooterNavItem
|
|
44
|
-
};
|
|
45
|
-
//# sourceMappingURL=footer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sources":["../../src/bootstrap/footer.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Nav, Navbar } from 'react-bootstrap';\nimport { useBreakpoint } from './responsiveHelper';\nimport { AdaptiveContainer } from './adaptiveContainer';\n\nexport type FooterNavItemProps = {\n href: any;\n icon: any;\n active?: boolean | undefined;\n children?: string | undefined;\n};\n\nexport const FooterNavItem: FC<FooterNavItemProps> = function FooterNavItem({\n href,\n icon,\n active = false,\n children = '',\n}) {\n // const pathname = usePathname();\n\n const isFilepath = icon.includes('.');\n let iconElement;\n\n if (isFilepath) {\n iconElement = <img src={icon} alt=\"icon\" className=\"me-lg-2\" />;\n } else {\n iconElement = <span className={`lead me-lg-2 ${icon}`} />;\n }\n\n // const active = isActivePath(href, pathname);\n\n const link = (\n <Nav.Link\n // as={Link}\n href={href}\n // active={active} // has no effect when not pills or tabs\n className={`px-0 px-lg-3 d-flex align-items-center flex-column flex-lg-row ${active ? 'text-primary' : ''}`}\n >\n {iconElement}\n {children}\n </Nav.Link>\n );\n\n return <Nav.Item style={{ flex: 1 }}>{link}</Nav.Item>;\n};\n\nexport const Footer: FC<any> = function Footer({ children }) {\n const { isDesktop } = useBreakpoint();\n\n return (\n // border-bottom\n <div className={isDesktop ? '' : 'border-top'}>\n <Navbar className={isDesktop ? '' : 'py-0'}>\n <AdaptiveContainer>\n {isDesktop && <Navbar.Brand href=\"/\">Le Brand</Navbar.Brand>}\n <Nav className={isDesktop ? 'me-auto' : 'justify-content-center flex-nowrap w-100'}>{children}</Nav>\n </AdaptiveContainer>\n </Navbar>\n </div>\n );\n};\n"],"names":["FooterNavItem","Footer"],"mappings":";;;;AAYa,MAAA,gBAAwC,SAASA,eAAc;AAAA,EACxE;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AACf,GAAG;AAGO,QAAA,aAAa,KAAK,SAAS,GAAG;AAChC,MAAA;AAEJ,MAAI,YAAY;AACZ,sCAAe,OAAI,EAAA,KAAK,MAAM,KAAI,QAAO,WAAU,WAAU;AAAA,EAAA,OAC1D;AACH,kBAAe,oBAAA,QAAA,EAAK,WAAW,gBAAgB,IAAI,IAAI;AAAA,EAAA;AAK3D,QAAM,OACF;AAAA,IAAC,IAAI;AAAA,IAAJ;AAAA,MAEG;AAAA,MAEA,WAAW,kEAAkE,SAAS,iBAAiB,EAAE;AAAA,MAExG,UAAA;AAAA,QAAA;AAAA,QACA;AAAA,MAAA;AAAA,IAAA;AAAA,EACL;AAGG,SAAA,oBAAC,IAAI,MAAJ,EAAS,OAAO,EAAE,MAAM,EAAE,GAAI,UAAK,MAAA;AAC/C;AAEO,MAAM,SAAkB,SAASC,QAAO,EAAE,YAAY;AACnD,QAAA,EAAE,UAAU,IAAI,cAAc;AAEpC;AAAA;AAAA,IAEK,oBAAA,OAAA,EAAI,WAAW,YAAY,KAAK,cAC7B,UAAC,oBAAA,QAAA,EAAO,WAAW,YAAY,KAAK,QAChC,+BAAC,mBACI,EAAA,UAAA;AAAA,MAAA,iCAAc,OAAO,OAAP,EAAa,MAAK,KAAI,UAAQ,YAAA;AAAA,0BAC5C,KAAI,EAAA,WAAW,YAAY,YAAY,4CAA6C,SAAS,CAAA;AAAA,IAAA,EAClG,CAAA,EACJ,CAAA,EACJ,CAAA;AAAA;AAER;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"globalLoading.d.ts","sourceRoot":"","sources":["../../src/bootstrap/globalLoading.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAIlC,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAYhD,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Loading } from "./loading.js";
|
|
3
|
-
const GlobalLoading = function GlobalLoading2({ loading }) {
|
|
4
|
-
if (!loading) return null;
|
|
5
|
-
return /* @__PURE__ */ jsx("div", { className: "bg-white position-absolute top-0 start-0 w-100 h-100 z-3 d-flex align-items-center justify-content-center", children: /* @__PURE__ */ jsx(Loading, {}) });
|
|
6
|
-
};
|
|
7
|
-
export {
|
|
8
|
-
GlobalLoading
|
|
9
|
-
};
|
|
10
|
-
//# sourceMappingURL=globalLoading.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"globalLoading.js","sources":["../../src/bootstrap/globalLoading.tsx"],"sourcesContent":["import React, { FC } from 'react';\n// import { useLoading, useLoadingTimeout } from '../redux/loadingSlice';\nimport { Loading } from './loading';\n\nexport type GlobalLoadingProps = { loading: boolean };\n\nexport const GlobalLoading: FC<GlobalLoadingProps> = function GlobalLoading({ loading }) {\n // const { loading } = useLoading();\n\n // useLoadingTimeout(15000); // escape latch if something is stuck\n\n if (!loading) return null;\n\n return (\n <div className=\"bg-white position-absolute top-0 start-0 w-100 h-100 z-3 d-flex align-items-center justify-content-center\">\n <Loading />\n </div>\n );\n};\n"],"names":["GlobalLoading"],"mappings":";;AAMO,MAAM,gBAAwC,SAASA,eAAc,EAAE,WAAW;AAKjF,MAAA,CAAC,QAAgB,QAAA;AAErB,6BACK,OAAI,EAAA,WAAU,6GACX,UAAA,oBAAC,UAAQ,CAAA,GACb;AAER;"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { GlobalLoading } from './globalLoading';
|
|
3
|
-
declare const meta: Meta<typeof GlobalLoading>;
|
|
4
|
-
export default meta;
|
|
5
|
-
type Story = StoryObj<typeof meta>;
|
|
6
|
-
export declare const Default: Story;
|
|
7
|
-
//# sourceMappingURL=globalLoading.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"globalLoading.stories.d.ts","sourceRoot":"","sources":["../../src/bootstrap/globalLoading.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,aAAa,CAUpC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { SpinnerProps } from 'react-bootstrap';
|
|
2
|
-
import { FC } from 'react';
|
|
3
|
-
export type LoadingProps = {
|
|
4
|
-
children?: any;
|
|
5
|
-
show?: boolean;
|
|
6
|
-
className?: string;
|
|
7
|
-
size?: SpinnerProps['size'];
|
|
8
|
-
};
|
|
9
|
-
export declare const Loading: FC<LoadingProps>;
|
|
10
|
-
//# sourceMappingURL=loading.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../../src/bootstrap/loading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAS,MAAM,iBAAiB,CAAC;AAC/D,OAAc,EAAE,EAAE,EAAQ,MAAM,OAAO,CAAC;AAExC,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAanC,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Stack, Spinner } from "react-bootstrap";
|
|
3
|
-
import { memo } from "react";
|
|
4
|
-
const Loading = memo(function Loading2({
|
|
5
|
-
children = "Loading...",
|
|
6
|
-
show = true,
|
|
7
|
-
className = "",
|
|
8
|
-
size
|
|
9
|
-
}) {
|
|
10
|
-
if (!show) return null;
|
|
11
|
-
return /* @__PURE__ */ jsxs(Stack, { direction: "horizontal", gap: 3, className: `align-self-auto ${className}`, children: [
|
|
12
|
-
/* @__PURE__ */ jsx(Spinner, { animation: "border", role: "status", size }),
|
|
13
|
-
/* @__PURE__ */ jsx("span", { children })
|
|
14
|
-
] });
|
|
15
|
-
});
|
|
16
|
-
export {
|
|
17
|
-
Loading
|
|
18
|
-
};
|
|
19
|
-
//# sourceMappingURL=loading.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loading.js","sources":["../../src/bootstrap/loading.tsx"],"sourcesContent":["import { Spinner, SpinnerProps, Stack } from 'react-bootstrap';\nimport React, { FC, memo } from 'react';\n\nexport type LoadingProps = {\n children?: any;\n show?: boolean;\n className?: string;\n size?: SpinnerProps['size'];\n};\n\nexport const Loading: FC<LoadingProps> = memo(function Loading({\n children = 'Loading...' as any,\n show = true,\n className = '',\n size,\n}) {\n if (!show) return null;\n return (\n <Stack direction=\"horizontal\" gap={3} className={`align-self-auto ${className}`}>\n <Spinner animation=\"border\" role=\"status\" size={size as any} />\n <span>{children}</span>\n </Stack>\n );\n});\n"],"names":["Loading"],"mappings":";;;AAUa,MAAA,UAA4B,KAAK,SAASA,SAAQ;AAAA,EAC3D,WAAW;AAAA,EACX,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AACJ,GAAG;AACK,MAAA,CAAC,KAAa,QAAA;AAEd,SAAA,qBAAC,SAAM,WAAU,cAAa,KAAK,GAAG,WAAW,mBAAmB,SAAS,IACzE,UAAA;AAAA,IAAA,oBAAC,SAAQ,EAAA,WAAU,UAAS,MAAK,UAAS,MAAmB;AAAA,IAC7D,oBAAC,UAAM,SAAS,CAAA;AAAA,EAAA,GACpB;AAER,CAAC;"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { Loading } from './loading';
|
|
3
|
-
declare const meta: Meta<typeof Loading>;
|
|
4
|
-
export default meta;
|
|
5
|
-
type Story = StoryObj<typeof meta>;
|
|
6
|
-
export declare const Default: Story;
|
|
7
|
-
export declare const Children: Story;
|
|
8
|
-
export declare const Size: Story;
|
|
9
|
-
//# sourceMappingURL=loading.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loading.stories.d.ts","sourceRoot":"","sources":["../../src/bootstrap/loading.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAY9B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,QAAQ,EAAE,KAItB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAIlB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveHelper.d.ts","sourceRoot":"","sources":["../../src/bootstrap/responsiveHelper.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,EAAE,EAAuB,MAAM,OAAO,CAAC;AAEvD,wBAAgB,aAAa,IAAI;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACtB,CAiCA;AAED,eAAO,MAAM,kBAAkB,EAAE,EAWhC,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useState, useEffect } from "react";
|
|
4
|
-
function useBreakpoint() {
|
|
5
|
-
const [breakpoint, setBreakpoint] = useState("xs");
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
const updateBreakpoint = () => {
|
|
8
|
-
const width = window.innerWidth;
|
|
9
|
-
if (width < 576) {
|
|
10
|
-
setBreakpoint("xs");
|
|
11
|
-
} else if (width < 768) {
|
|
12
|
-
setBreakpoint("sm");
|
|
13
|
-
} else if (width < 992) {
|
|
14
|
-
setBreakpoint("md");
|
|
15
|
-
} else if (width < 1200) {
|
|
16
|
-
setBreakpoint("lg");
|
|
17
|
-
} else if (width < 1400) {
|
|
18
|
-
setBreakpoint("xl");
|
|
19
|
-
} else {
|
|
20
|
-
setBreakpoint("xxl");
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
updateBreakpoint();
|
|
24
|
-
window.addEventListener("resize", updateBreakpoint);
|
|
25
|
-
return () => {
|
|
26
|
-
window.removeEventListener("resize", updateBreakpoint);
|
|
27
|
-
};
|
|
28
|
-
}, []);
|
|
29
|
-
const isMobile = ["xs", "sm", "md"].includes(breakpoint);
|
|
30
|
-
return { breakpoint, isMobile, isDesktop: !isMobile };
|
|
31
|
-
}
|
|
32
|
-
const ResponsiveHelperBS = function ResponsiveHelperBS2() {
|
|
33
|
-
return /* @__PURE__ */ jsxs("span", { className: "small position-fixed bottom-0 z-3", style: { fontSize: "9px", right: 1, lineHeight: 1 }, children: [
|
|
34
|
-
/* @__PURE__ */ jsx("small", { className: "d-block d-sm-none", children: "XS" }),
|
|
35
|
-
/* @__PURE__ */ jsx("small", { className: "d-none d-sm-block d-md-none", children: "SM" }),
|
|
36
|
-
/* @__PURE__ */ jsx("small", { className: "d-none d-md-block d-lg-none", children: "MD" }),
|
|
37
|
-
/* @__PURE__ */ jsx("small", { className: "d-none d-lg-block d-xl-none", children: "LG" }),
|
|
38
|
-
/* @__PURE__ */ jsx("small", { className: "d-none d-xl-block d-xxl-none", children: "XL" }),
|
|
39
|
-
/* @__PURE__ */ jsx("small", { className: "d-none d-xxl-block", children: "XXL" })
|
|
40
|
-
] });
|
|
41
|
-
};
|
|
42
|
-
export {
|
|
43
|
-
ResponsiveHelperBS,
|
|
44
|
-
useBreakpoint
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=responsiveHelper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveHelper.js","sources":["../../src/bootstrap/responsiveHelper.tsx"],"sourcesContent":["'use client';\n\nimport React, { FC, useEffect, useState } from 'react';\n\nexport function useBreakpoint(): {\n breakpoint: string;\n isMobile: boolean;\n isDesktop: boolean;\n} {\n const [breakpoint, setBreakpoint] = useState('xs');\n\n useEffect(() => {\n const updateBreakpoint = () => {\n const width = window.innerWidth;\n if (width < 576) {\n setBreakpoint('xs');\n } else if (width < 768) {\n setBreakpoint('sm');\n } else if (width < 992) {\n setBreakpoint('md');\n } else if (width < 1200) {\n setBreakpoint('lg');\n } else if (width < 1400) {\n setBreakpoint('xl');\n } else {\n setBreakpoint('xxl');\n }\n };\n\n updateBreakpoint();\n\n window.addEventListener('resize', updateBreakpoint);\n\n return () => {\n window.removeEventListener('resize', updateBreakpoint);\n };\n }, []);\n\n const isMobile = ['xs', 'sm', 'md'].includes(breakpoint);\n\n return { breakpoint, isMobile, isDesktop: !isMobile };\n}\n\nexport const ResponsiveHelperBS: FC = function ResponsiveHelperBS() {\n return (\n <span className=\"small position-fixed bottom-0 z-3\" style={{ fontSize: '9px', right: 1, lineHeight: 1 }}>\n <small className=\"d-block d-sm-none\">XS</small>\n <small className=\"d-none d-sm-block d-md-none\">SM</small>\n <small className=\"d-none d-md-block d-lg-none\">MD</small>\n <small className=\"d-none d-lg-block d-xl-none\">LG</small>\n <small className=\"d-none d-xl-block d-xxl-none\">XL</small>\n <small className=\"d-none d-xxl-block\">XXL</small>\n </span>\n );\n};\n"],"names":["ResponsiveHelperBS"],"mappings":";;;AAIO,SAAS,gBAId;AACE,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,IAAI;AAEjD,YAAU,MAAM;AACZ,UAAM,mBAAmB,MAAM;AAC3B,YAAM,QAAQ,OAAO;AACrB,UAAI,QAAQ,KAAK;AACb,sBAAc,IAAI;AAAA,MAAA,WACX,QAAQ,KAAK;AACpB,sBAAc,IAAI;AAAA,MAAA,WACX,QAAQ,KAAK;AACpB,sBAAc,IAAI;AAAA,MAAA,WACX,QAAQ,MAAM;AACrB,sBAAc,IAAI;AAAA,MAAA,WACX,QAAQ,MAAM;AACrB,sBAAc,IAAI;AAAA,MAAA,OACf;AACH,sBAAc,KAAK;AAAA,MAAA;AAAA,IAE3B;AAEiB,qBAAA;AAEV,WAAA,iBAAiB,UAAU,gBAAgB;AAElD,WAAO,MAAM;AACF,aAAA,oBAAoB,UAAU,gBAAgB;AAAA,IACzD;AAAA,EACJ,GAAG,EAAE;AAEL,QAAM,WAAW,CAAC,MAAM,MAAM,IAAI,EAAE,SAAS,UAAU;AAEvD,SAAO,EAAE,YAAY,UAAU,WAAW,CAAC,SAAS;AACxD;AAEa,MAAA,qBAAyB,SAASA,sBAAqB;AAChE,SACK,qBAAA,QAAA,EAAK,WAAU,qCAAoC,OAAO,EAAE,UAAU,OAAO,OAAO,GAAG,YAAY,EAAA,GAChG,UAAA;AAAA,IAAC,oBAAA,SAAA,EAAM,WAAU,qBAAoB,UAAE,MAAA;AAAA,IACtC,oBAAA,SAAA,EAAM,WAAU,+BAA8B,UAAE,MAAA;AAAA,IAChD,oBAAA,SAAA,EAAM,WAAU,+BAA8B,UAAE,MAAA;AAAA,IAChD,oBAAA,SAAA,EAAM,WAAU,+BAA8B,UAAE,MAAA;AAAA,IAChD,oBAAA,SAAA,EAAM,WAAU,gCAA+B,UAAE,MAAA;AAAA,IACjD,oBAAA,SAAA,EAAM,WAAU,sBAAqB,UAAG,MAAA,CAAA;AAAA,EAAA,GAC7C;AAER;"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
export type ScreenProps = {
|
|
3
|
-
backBtn?: any;
|
|
4
|
-
backCb?: any;
|
|
5
|
-
backIcon?: any;
|
|
6
|
-
forwardBtn?: any;
|
|
7
|
-
forwardIcon?: any;
|
|
8
|
-
forwardCb?: any;
|
|
9
|
-
children: any;
|
|
10
|
-
contentClassName?: string;
|
|
11
|
-
noContentPadding?: boolean;
|
|
12
|
-
header?: any;
|
|
13
|
-
footer?: any;
|
|
14
|
-
menu?: any;
|
|
15
|
-
title?: any;
|
|
16
|
-
centerContent?: boolean;
|
|
17
|
-
noHeader?: boolean;
|
|
18
|
-
noFooter?: boolean;
|
|
19
|
-
noMenu?: boolean;
|
|
20
|
-
};
|
|
21
|
-
export declare const Screen: FC<ScreenProps>;
|
|
22
|
-
//# sourceMappingURL=screen.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../src/bootstrap/screen.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAQ,MAAM,OAAO,CAAC;AAKxC,MAAM,MAAM,WAAW,GAAG;IACtB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAEpB,CAAC;AAGF,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CAsHjC,CAAC"}
|
package/dist/bootstrap/screen.js
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from "react";
|
|
3
|
-
import { Navbar, Nav, Stack, Button } from "react-bootstrap";
|
|
4
|
-
import { useBreakpoint } from "./responsiveHelper.js";
|
|
5
|
-
import { AdaptiveContainer } from "./adaptiveContainer.js";
|
|
6
|
-
const Screen = memo(function Screen2({
|
|
7
|
-
backBtn,
|
|
8
|
-
backCb,
|
|
9
|
-
backIcon,
|
|
10
|
-
forwardBtn,
|
|
11
|
-
forwardIcon,
|
|
12
|
-
forwardCb,
|
|
13
|
-
footer,
|
|
14
|
-
menu,
|
|
15
|
-
header,
|
|
16
|
-
children,
|
|
17
|
-
noContentPadding = false,
|
|
18
|
-
contentClassName = "",
|
|
19
|
-
title = "",
|
|
20
|
-
centerContent = false,
|
|
21
|
-
noHeader = false,
|
|
22
|
-
noFooter = false,
|
|
23
|
-
noMenu = false
|
|
24
|
-
// noFolders = false,
|
|
25
|
-
}) {
|
|
26
|
-
backBtn = backBtn || (backCb ? (
|
|
27
|
-
// backCb === true ? () => router.back() : backCb
|
|
28
|
-
/* @__PURE__ */ jsx(Button, { onClick: backCb, variant: "nav", children: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
29
|
-
/* @__PURE__ */ jsx("span", { className: backIcon || "bi-chevron-left icon-thick" }),
|
|
30
|
-
/* @__PURE__ */ jsx("span", { className: "d-none d-lg-inline ms-2", children: "Back" })
|
|
31
|
-
] }) })
|
|
32
|
-
) : null);
|
|
33
|
-
forwardBtn = forwardBtn || (forwardCb ? /* @__PURE__ */ jsx(Button, { onClick: forwardCb, children: forwardIcon ? /* @__PURE__ */ jsx("span", { className: forwardIcon }) : "Next" }) : null);
|
|
34
|
-
const { isMobile, isDesktop } = useBreakpoint();
|
|
35
|
-
return /* @__PURE__ */ jsxs("div", { className: `d-flex flex-column flex-grow-1 flex-lg-grow-0 ${isMobile ? "vh-100" : ""}`, "data-id": "screen", children: [
|
|
36
|
-
!noHeader && /* @__PURE__ */ jsxs("header", { className: isDesktop ? "" : "shadow-sm border-bottom", "data-id": "header", children: [
|
|
37
|
-
isDesktop && !noMenu && menu,
|
|
38
|
-
title && // (isDesktop ? 'border-bottom' : '')
|
|
39
|
-
/* @__PURE__ */ jsx(Navbar, { expand: true, className: "main-nav", children: /* @__PURE__ */ jsxs(AdaptiveContainer, { className: "gap-2", children: [
|
|
40
|
-
backBtn && /* @__PURE__ */ jsx(Nav, { className: "hstack gap-3", children: backBtn }),
|
|
41
|
-
/* @__PURE__ */ jsx(Navbar.Brand, { className: "me-auto", children: title }),
|
|
42
|
-
forwardBtn && /* @__PURE__ */ jsx(Nav, { className: "hstack gap-3", children: forwardBtn })
|
|
43
|
-
] }) }),
|
|
44
|
-
header
|
|
45
|
-
] }),
|
|
46
|
-
/* @__PURE__ */ jsxs(
|
|
47
|
-
AdaptiveContainer,
|
|
48
|
-
{
|
|
49
|
-
as: "main",
|
|
50
|
-
className: [
|
|
51
|
-
isMobile ? "overflow-y-auto overflow-x-hidden" : "gap-3",
|
|
52
|
-
`flex-grow-1 d-flex flex-column`,
|
|
53
|
-
centerContent ? "align-items-center justify-content-center" : "justify-content-start",
|
|
54
|
-
contentClassName,
|
|
55
|
-
noContentPadding ? "p-0" : "py-3"
|
|
56
|
-
].filter(Boolean).join(" "),
|
|
57
|
-
"data-id": "content",
|
|
58
|
-
children: [
|
|
59
|
-
children,
|
|
60
|
-
isDesktop && !noFooter && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
61
|
-
footer,
|
|
62
|
-
(forwardBtn || backBtn) && // Navbar screws up the popper
|
|
63
|
-
/* @__PURE__ */ jsxs(Stack, { gap: 3, direction: "horizontal", children: [
|
|
64
|
-
backBtn && /* @__PURE__ */ jsx(Nav, { className: "hstack gap-3", children: backBtn }),
|
|
65
|
-
forwardBtn && /* @__PURE__ */ jsx(Nav, { className: "hstack gap-3 flex-grow-1", children: forwardBtn })
|
|
66
|
-
] })
|
|
67
|
-
] })
|
|
68
|
-
]
|
|
69
|
-
}
|
|
70
|
-
),
|
|
71
|
-
!noMenu && !noFooter && /* @__PURE__ */ jsxs("footer", { className: "shadow-lg border-top d-block d-lg-none", "data-id": "footer", children: [
|
|
72
|
-
!noFooter && footer,
|
|
73
|
-
!noMenu && menu
|
|
74
|
-
] })
|
|
75
|
-
] });
|
|
76
|
-
});
|
|
77
|
-
export {
|
|
78
|
-
Screen
|
|
79
|
-
};
|
|
80
|
-
//# sourceMappingURL=screen.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screen.js","sources":["../../src/bootstrap/screen.tsx"],"sourcesContent":["import React, { FC, memo } from 'react';\nimport { Button, Navbar, Nav, Stack } from 'react-bootstrap';\nimport { useBreakpoint } from './responsiveHelper';\nimport { AdaptiveContainer } from './adaptiveContainer';\n\nexport type ScreenProps = {\n backBtn?: any;\n backCb?: any;\n backIcon?: any;\n forwardBtn?: any;\n forwardIcon?: any;\n forwardCb?: any;\n children: any;\n contentClassName?: string;\n noContentPadding?: boolean;\n header?: any; // resides on top panel in mobile, does not scroll, before content on desktop\n footer?: any; // resides on bottom menu panel in mobile, does not scroll, or after content on desktop\n menu?: any;\n title?: any;\n centerContent?: boolean;\n noHeader?: boolean;\n noFooter?: boolean;\n noMenu?: boolean;\n // noFolders?: boolean;\n};\n\n//TODO Footer -> menu\nexport const Screen: FC<ScreenProps> = memo(function Screen({\n backBtn,\n backCb,\n backIcon,\n forwardBtn,\n forwardIcon,\n forwardCb,\n footer,\n menu,\n header,\n children,\n noContentPadding = false,\n contentClassName = '',\n title = '',\n centerContent = false,\n noHeader = false,\n noFooter = false,\n noMenu = false,\n // noFolders = false,\n}) {\n // const router = useRouter();\n\n backBtn =\n backBtn ||\n (backCb ? (\n // backCb === true ? () => router.back() : backCb\n <Button onClick={backCb} variant=\"nav\">\n {\n <>\n <span className={backIcon || 'bi-chevron-left icon-thick'} />\n <span className=\"d-none d-lg-inline ms-2\">Back</span>\n </>\n }\n </Button>\n ) : null);\n\n forwardBtn =\n forwardBtn ||\n (forwardCb ? (\n <Button onClick={forwardCb}>{forwardIcon ? <span className={forwardIcon}></span> : 'Next'}</Button>\n ) : null);\n\n const { isMobile, isDesktop } = useBreakpoint();\n\n // useLoadingTimeout(1000); // less jerky UI\n\n return (\n <div className={`d-flex flex-column flex-grow-1 flex-lg-grow-0 ${isMobile ? 'vh-100' : ''}`} data-id=\"screen\">\n {/* HEADER */}\n\n {/* FIXME postition fixed does not assign z-index automatically https://getbootstrap.com/docs/4.0/layout/overview/#z-index*/}\n {!noHeader && (\n <header className={isDesktop ? '' : 'shadow-sm border-bottom'} data-id=\"header\">\n {/* {!noFolders && <FolderBar />} */}\n\n {/* {isDesktop && !noFooter && <Footer />} */}\n {isDesktop && !noMenu && menu}\n\n {title && (\n // (isDesktop ? 'border-bottom' : '')\n <Navbar expand className=\"main-nav\">\n <AdaptiveContainer className=\"gap-2\">\n {backBtn && <Nav className=\"hstack gap-3\">{backBtn}</Nav>}\n <Navbar.Brand className=\"me-auto\">{title}</Navbar.Brand>\n {forwardBtn && <Nav className=\"hstack gap-3\">{forwardBtn}</Nav>}\n </AdaptiveContainer>\n </Navbar>\n )}\n\n {header}\n </header>\n )}\n\n {/* CONTENT */}\n\n <AdaptiveContainer\n as=\"main\"\n className={[\n isMobile ? 'overflow-y-auto overflow-x-hidden' : 'gap-3',\n `flex-grow-1 d-flex flex-column`,\n centerContent ? 'align-items-center justify-content-center' : 'justify-content-start',\n contentClassName,\n noContentPadding ? 'p-0' : 'py-3',\n ]\n .filter(Boolean)\n .join(' ')}\n data-id=\"content\"\n >\n {children}\n\n {/* Repeat screen buttons at the bottom on desktop */}\n {isDesktop && !noFooter && (\n <>\n {footer}\n\n {/* TODO Possibly introduce a prop desktopFooterBeforeButtons */}\n {(forwardBtn || backBtn) && (\n // Navbar screws up the popper\n <Stack gap={3} direction=\"horizontal\">\n {/* No container since already in container */}\n {backBtn && <Nav className=\"hstack gap-3\">{backBtn}</Nav>}\n {forwardBtn && <Nav className=\"hstack gap-3 flex-grow-1\">{forwardBtn}</Nav>}\n </Stack>\n )}\n </>\n )}\n </AdaptiveContainer>\n\n {/* FOOTER */}\n\n {!noMenu && !noFooter && (\n <footer className=\"shadow-lg border-top d-block d-lg-none\" data-id=\"footer\">\n {!noFooter && footer}\n {!noMenu && menu}\n </footer>\n )}\n </div>\n );\n});\n"],"names":["Screen"],"mappings":";;;;;AA2Ba,MAAA,SAA0B,KAAK,SAASA,QAAO;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,WAAW;AAAA,EACX,SAAS;AAAA;AAEb,GAAG;AAGC,YACI,YACC;AAAA;AAAA,wBAEI,QAAO,EAAA,SAAS,QAAQ,SAAQ,OAEzB,UACI,qBAAA,UAAA,EAAA,UAAA;AAAA,MAAC,oBAAA,QAAA,EAAK,WAAW,YAAY,6BAA8B,CAAA;AAAA,MAC1D,oBAAA,QAAA,EAAK,WAAU,2BAA0B,UAAI,OAAA,CAAA;AAAA,IAAA,EAAA,CAClD,EAER,CAAA;AAAA,MACA;AAER,eACI,eACC,YACI,oBAAA,QAAA,EAAO,SAAS,WAAY,UAAc,cAAA,oBAAC,QAAK,EAAA,WAAW,YAAa,CAAA,IAAU,QAAO,IAC1F;AAER,QAAM,EAAE,UAAU,UAAU,IAAI,cAAc;AAK1C,SAAA,qBAAC,SAAI,WAAW,iDAAiD,WAAW,WAAW,EAAE,IAAI,WAAQ,UAIhG,UAAA;AAAA,IAAC,CAAA,iCACG,UAAO,EAAA,WAAW,YAAY,KAAK,2BAA2B,WAAQ,UAIlE,UAAA;AAAA,MAAA,aAAa,CAAC,UAAU;AAAA,MAExB;AAAA,MAEG,oBAAC,UAAO,QAAM,MAAC,WAAU,YACrB,UAAA,qBAAC,mBAAkB,EAAA,WAAU,SACxB,UAAA;AAAA,QAAA,WAAY,oBAAA,KAAA,EAAI,WAAU,gBAAgB,UAAQ,SAAA;AAAA,4BAClD,OAAO,OAAP,EAAa,WAAU,WAAW,UAAM,OAAA;AAAA,QACxC,cAAc,oBAAC,KAAI,EAAA,WAAU,gBAAgB,UAAW,WAAA,CAAA;AAAA,MAAA,EAAA,CAC7D,EACJ,CAAA;AAAA,MAGH;AAAA,IAAA,GACL;AAAA,IAKJ;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,IAAG;AAAA,QACH,WAAW;AAAA,UACP,WAAW,sCAAsC;AAAA,UACjD;AAAA,UACA,gBAAgB,8CAA8C;AAAA,UAC9D;AAAA,UACA,mBAAmB,QAAQ;AAAA,QAE1B,EAAA,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,QACb,WAAQ;AAAA,QAEP,UAAA;AAAA,UAAA;AAAA,UAGA,aAAa,CAAC,YAEN,qBAAA,UAAA,EAAA,UAAA;AAAA,YAAA;AAAA,aAGC,cAAc;AAAA,YAEX,qBAAA,OAAA,EAAM,KAAK,GAAG,WAAU,cAEpB,UAAA;AAAA,cAAA,WAAY,oBAAA,KAAA,EAAI,WAAU,gBAAgB,UAAQ,SAAA;AAAA,cAClD,cAAc,oBAAC,KAAI,EAAA,WAAU,4BAA4B,UAAW,WAAA,CAAA;AAAA,YAAA,EACzE,CAAA;AAAA,UAAA,EAER,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAER;AAAA,IAIC,CAAC,UAAU,CAAC,iCACR,UAAO,EAAA,WAAU,0CAAyC,WAAQ,UAC9D,UAAA;AAAA,MAAA,CAAC,YAAY;AAAA,MACb,CAAC,UAAU;AAAA,IAAA,EAChB,CAAA;AAAA,EAAA,GAER;AAER,CAAC;"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { Screen } from './screen';
|
|
3
|
-
declare const meta: Meta<typeof Screen>;
|
|
4
|
-
export default meta;
|
|
5
|
-
type Story = StoryObj<typeof meta>;
|
|
6
|
-
export declare const Default: Story;
|
|
7
|
-
export declare const LongContent: Story;
|
|
8
|
-
export declare const Loader: Story;
|
|
9
|
-
export declare const Centered: Story;
|
|
10
|
-
export declare const ForwardCb: Story;
|
|
11
|
-
export declare const ForwardIcon: Story;
|
|
12
|
-
export declare const ForwardBtn: Story;
|
|
13
|
-
export declare const HeaderForm: Story;
|
|
14
|
-
//# sourceMappingURL=screen.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"screen.stories.d.ts","sourceRoot":"","sources":["../../src/bootstrap/screen.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA2ClC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CA8B7B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAcpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAKtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAKzB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAgBxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAaxB,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ToastProps } from 'react-bootstrap';
|
|
3
|
-
export type ToasterProps = {
|
|
4
|
-
toast: string | {
|
|
5
|
-
message: string;
|
|
6
|
-
title?: string;
|
|
7
|
-
variant?: 'dark' | 'success' | 'danger';
|
|
8
|
-
};
|
|
9
|
-
} & ToastProps;
|
|
10
|
-
export declare const Toaster: FC<ToasterProps>;
|
|
11
|
-
//# sourceMappingURL=toaster.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toaster.d.ts","sourceRoot":"","sources":["../../src/bootstrap/toaster.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAY,EAAE,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAS,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGpD,MAAM,MAAM,YAAY,GAAG;IACvB,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;KAAE,CAAC;CAChG,GAAG,UAAU,CAAC;AAEf,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CA6BpC,CAAC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
-
import { useState } from "react";
|
|
4
|
-
import { Toast } from "react-bootstrap";
|
|
5
|
-
const Toaster = function Toaster2({ toast }) {
|
|
6
|
-
const [dismissed, setDismissed] = useState(false);
|
|
7
|
-
const msg = typeof toast === "string" ? toast : toast == null ? void 0 : toast.message;
|
|
8
|
-
const variant = typeof toast === "string" ? "" : toast == null ? void 0 : toast.variant;
|
|
9
|
-
return /* @__PURE__ */ jsxs(
|
|
10
|
-
Toast,
|
|
11
|
-
{
|
|
12
|
-
onClose: () => setDismissed(true),
|
|
13
|
-
show: !dismissed,
|
|
14
|
-
delay: 1e4,
|
|
15
|
-
autohide: true,
|
|
16
|
-
bg: variant == null ? void 0 : variant.toLowerCase(),
|
|
17
|
-
className: "position-fixed top-50 right-50 min-w-200px z-3",
|
|
18
|
-
children: [
|
|
19
|
-
/* @__PURE__ */ jsx(Toast.Header, { children: /* @__PURE__ */ jsx("strong", { className: "me-auto", children: "Notification" }) }),
|
|
20
|
-
/* @__PURE__ */ jsx(
|
|
21
|
-
Toast.Body,
|
|
22
|
-
{
|
|
23
|
-
className: ["dark", "success", "danger"].includes(variant == null ? void 0 : variant.toLowerCase()) ? "text-white" : "",
|
|
24
|
-
children: msg
|
|
25
|
-
}
|
|
26
|
-
)
|
|
27
|
-
]
|
|
28
|
-
}
|
|
29
|
-
);
|
|
30
|
-
};
|
|
31
|
-
export {
|
|
32
|
-
Toaster
|
|
33
|
-
};
|
|
34
|
-
//# sourceMappingURL=toaster.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toaster.js","sources":["../../src/bootstrap/toaster.tsx"],"sourcesContent":["'use client';\n\nimport React, { useState, FC } from 'react';\nimport { Toast, ToastProps } from 'react-bootstrap';\n// import { useToaster } from '../redux/toasterSlice';\n\nexport type ToasterProps = {\n toast: string | { message: string; title?: string; variant?: 'dark' | 'success' | 'danger' };\n} & ToastProps;\n\nexport const Toaster: FC<ToasterProps> = function Toaster({ toast }) {\n //const { toast, setToast } = useToaster();\n const [dismissed, setDismissed] = useState(false);\n\n const msg = typeof toast === 'string' ? toast : toast?.message;\n // const title = typeof toast === 'string' ? 'Notification' : toast?.title;\n const variant = typeof toast === 'string' ? '' : toast?.variant;\n\n return (\n <Toast\n onClose={() => setDismissed(true)}\n show={!dismissed}\n delay={10000}\n autohide\n bg={variant?.toLowerCase()}\n className=\"position-fixed top-50 right-50 min-w-200px z-3\"\n >\n <Toast.Header>\n <strong className=\"me-auto\">Notification</strong>\n </Toast.Header>\n <Toast.Body\n className={\n ['dark', 'success', 'danger'].includes((variant as string)?.toLowerCase()) ? 'text-white' : ''\n }\n >\n {msg}\n </Toast.Body>\n </Toast>\n );\n};\n"],"names":["Toaster"],"mappings":";;;;AAUO,MAAM,UAA4B,SAASA,SAAQ,EAAE,SAAS;AAEjE,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,QAAM,MAAM,OAAO,UAAU,WAAW,QAAQ,+BAAO;AAEvD,QAAM,UAAU,OAAO,UAAU,WAAW,KAAK,+BAAO;AAGpD,SAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACG,SAAS,MAAM,aAAa,IAAI;AAAA,MAChC,MAAM,CAAC;AAAA,MACP,OAAO;AAAA,MACP,UAAQ;AAAA,MACR,IAAI,mCAAS;AAAA,MACb,WAAU;AAAA,MAEV,UAAA;AAAA,QAAC,oBAAA,MAAM,QAAN,EACG,UAAA,oBAAC,YAAO,WAAU,WAAU,0BAAY,EAC5C,CAAA;AAAA,QACA;AAAA,UAAC,MAAM;AAAA,UAAN;AAAA,YACG,WACI,CAAC,QAAQ,WAAW,QAAQ,EAAE,SAAU,mCAAoB,aAAa,IAAI,eAAe;AAAA,YAG/F,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACL;AAAA,IAAA;AAAA,EACJ;AAER;"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { Toaster } from './toaster';
|
|
3
|
-
declare const meta: Meta<typeof Toaster>;
|
|
4
|
-
export default meta;
|
|
5
|
-
type Story = StoryObj<typeof meta>;
|
|
6
|
-
export declare const Default: Story;
|
|
7
|
-
export declare const Object: Story;
|
|
8
|
-
//# sourceMappingURL=toaster.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toaster.stories.d.ts","sourceRoot":"","sources":["../../src/bootstrap/toaster.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,OAAO,CAS9B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAIpB,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { ModalProps, OffcanvasProps } from 'react-bootstrap';
|
|
3
|
-
export type UseModalArgs = {
|
|
4
|
-
onClose?: any;
|
|
5
|
-
showOnMount?: boolean;
|
|
6
|
-
};
|
|
7
|
-
export type UseModalProps = {
|
|
8
|
-
children?: any;
|
|
9
|
-
show?: boolean;
|
|
10
|
-
onSubmit?: (e: any) => void;
|
|
11
|
-
submitButton?: string | any;
|
|
12
|
-
cancelButton?: string | any;
|
|
13
|
-
offcanvas?: boolean;
|
|
14
|
-
title?: string | any;
|
|
15
|
-
containerProps?: ModalProps | OffcanvasProps;
|
|
16
|
-
};
|
|
17
|
-
export declare function useModal({ onClose, showOnMount }?: UseModalArgs): {
|
|
18
|
-
show: boolean | undefined;
|
|
19
|
-
close: () => void;
|
|
20
|
-
open: () => void;
|
|
21
|
-
ModalDialog: FC<ModalProps>;
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=useModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useModal.d.ts","sourceRoot":"","sources":["../../src/bootstrap/useModal.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAuC,EAAE,EAAQ,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAiB,UAAU,EAAa,cAAc,EAAS,MAAM,iBAAiB,CAAC;AAE9F,MAAM,MAAM,YAAY,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpE,MAAM,MAAM,aAAa,GAAG;IACxB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC;IACrB,cAAc,CAAC,EAAE,UAAU,GAAG,cAAc,CAAC;CAChD,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,GAAE,YAAiB,GAAG;IACnE,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,WAAW,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;CAC/B,CAuEA"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useCallback, useMemo, memo } from "react";
|
|
3
|
-
import { Offcanvas, Modal, Stack, Button } from "react-bootstrap";
|
|
4
|
-
function useModal({ onClose, showOnMount } = {}) {
|
|
5
|
-
const [show, setShow] = useState(showOnMount);
|
|
6
|
-
const close = useCallback(() => {
|
|
7
|
-
setShow(false);
|
|
8
|
-
onClose == null ? void 0 : onClose();
|
|
9
|
-
}, [onClose]);
|
|
10
|
-
const open = useCallback(() => setShow(true), []);
|
|
11
|
-
const defaultOnSubmit = useCallback(
|
|
12
|
-
(e) => {
|
|
13
|
-
e.preventDefault();
|
|
14
|
-
close();
|
|
15
|
-
},
|
|
16
|
-
[close]
|
|
17
|
-
);
|
|
18
|
-
const ModalDialog = useMemo(
|
|
19
|
-
() => memo(function ModalDialog2({
|
|
20
|
-
children,
|
|
21
|
-
show: show2,
|
|
22
|
-
onSubmit = defaultOnSubmit,
|
|
23
|
-
submitButton = "Done",
|
|
24
|
-
cancelButton = "Cancel",
|
|
25
|
-
offcanvas = false,
|
|
26
|
-
title = null,
|
|
27
|
-
containerProps = {}
|
|
28
|
-
}) {
|
|
29
|
-
const Container = offcanvas ? Offcanvas : Modal;
|
|
30
|
-
const containerDefaultProps = offcanvas ? { style: { maxWidth: "85%" } } : {};
|
|
31
|
-
const Body = offcanvas ? Offcanvas.Body : Modal.Body;
|
|
32
|
-
const Header = offcanvas ? Offcanvas.Header : Modal.Header;
|
|
33
|
-
const Title = offcanvas ? Offcanvas.Title : Modal.Title;
|
|
34
|
-
return /* @__PURE__ */ jsx(Container, { ...{ ...containerDefaultProps, ...containerProps }, show: show2, onHide: close, children: /* @__PURE__ */ jsxs("form", { onSubmit, children: [
|
|
35
|
-
title && /* @__PURE__ */ jsx(Header, { closeButton: true, children: /* @__PURE__ */ jsx(Title, { children: title }) }),
|
|
36
|
-
/* @__PURE__ */ jsx(Body, { as: Stack, gap: 3, children: show2 && children }),
|
|
37
|
-
!offcanvas && (submitButton || cancelButton) && /* @__PURE__ */ jsxs(Modal.Footer, { children: [
|
|
38
|
-
cancelButton && /* @__PURE__ */ jsx(Button, { variant: "outline-secondary", onClick: close, children: cancelButton }),
|
|
39
|
-
submitButton && /* @__PURE__ */ jsx(Button, { variant: "secondary", type: "submit", children: submitButton })
|
|
40
|
-
] })
|
|
41
|
-
] }) });
|
|
42
|
-
}),
|
|
43
|
-
[close, defaultOnSubmit]
|
|
44
|
-
);
|
|
45
|
-
return { show, close, open, ModalDialog };
|
|
46
|
-
}
|
|
47
|
-
export {
|
|
48
|
-
useModal
|
|
49
|
-
};
|
|
50
|
-
//# sourceMappingURL=useModal.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useModal.js","sources":["../../src/bootstrap/useModal.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState, JSX, FC, memo } from 'react';\nimport { Button, Modal, ModalProps, Offcanvas, OffcanvasProps, Stack } from 'react-bootstrap';\n\nexport type UseModalArgs = { onClose?: any; showOnMount?: boolean };\n\nexport type UseModalProps = {\n children?: any;\n show?: boolean;\n onSubmit?: (e: any) => void;\n submitButton?: string | any;\n cancelButton?: string | any;\n offcanvas?: boolean;\n title?: string | any;\n containerProps?: ModalProps | OffcanvasProps;\n};\n\nexport function useModal({ onClose, showOnMount }: UseModalArgs = {}): {\n show: boolean | undefined;\n close: () => void;\n open: () => void;\n ModalDialog: FC<ModalProps>;\n} {\n const [show, setShow] = useState(showOnMount);\n\n const close = useCallback((): void => {\n setShow(false);\n onClose?.();\n }, [onClose]);\n\n const open = useCallback((): void => setShow(true), []);\n\n const defaultOnSubmit = useCallback(\n (e: any) => {\n e.preventDefault();\n close();\n },\n [close],\n );\n\n const ModalDialog = useMemo(\n () =>\n memo(function ModalDialog({\n children,\n show,\n onSubmit = defaultOnSubmit,\n submitButton = 'Done',\n cancelButton = 'Cancel',\n offcanvas = false,\n title = null as any,\n containerProps = {},\n }: ModalProps) {\n const Container = offcanvas ? Offcanvas : Modal;\n const containerDefaultProps = offcanvas ? { style: { maxWidth: '85%' } } : {};\n const Body = offcanvas ? Offcanvas.Body : Modal.Body;\n const Header = offcanvas ? Offcanvas.Header : Modal.Header;\n const Title = offcanvas ? Offcanvas.Title : Modal.Title;\n\n return (\n <Container {...{ ...containerDefaultProps, ...containerProps }} show={show} onHide={close}>\n <form onSubmit={onSubmit}>\n {title && (\n <Header closeButton>\n <Title>{title}</Title>\n </Header>\n )}\n\n <Body as={Stack} gap={3}>\n {show && children}\n </Body>\n\n {!offcanvas && (submitButton || cancelButton) && (\n <Modal.Footer>\n {cancelButton && (\n <Button variant=\"outline-secondary\" onClick={close}>\n {cancelButton}\n </Button>\n )}\n {submitButton && (\n <Button variant=\"secondary\" type=\"submit\">\n {submitButton}\n </Button>\n )}\n </Modal.Footer>\n )}\n </form>\n </Container>\n );\n }),\n [close, defaultOnSubmit],\n );\n\n return { show, close, open, ModalDialog };\n}\n"],"names":["ModalDialog","show"],"mappings":";;;AAgBO,SAAS,SAAS,EAAE,SAAS,YAAY,IAAkB,CAAA,GAKhE;AACE,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,WAAW;AAEtC,QAAA,QAAQ,YAAY,MAAY;AAClC,YAAQ,KAAK;AACH;AAAA,EAAA,GACX,CAAC,OAAO,CAAC;AAEZ,QAAM,OAAO,YAAY,MAAY,QAAQ,IAAI,GAAG,CAAA,CAAE;AAEtD,QAAM,kBAAkB;AAAA,IACpB,CAAC,MAAW;AACR,QAAE,eAAe;AACX,YAAA;AAAA,IACV;AAAA,IACA,CAAC,KAAK;AAAA,EACV;AAEA,QAAM,cAAc;AAAA,IAChB,MACI,KAAK,SAASA,aAAY;AAAA,MACtB;AAAA,MACA,MAAAC;AAAAA,MACA,WAAW;AAAA,MACX,eAAe;AAAA,MACf,eAAe;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,iBAAiB,CAAA;AAAA,IAAC,GACP;AACL,YAAA,YAAY,YAAY,YAAY;AACpC,YAAA,wBAAwB,YAAY,EAAE,OAAO,EAAE,UAAU,MAAQ,EAAA,IAAI,CAAC;AAC5E,YAAM,OAAO,YAAY,UAAU,OAAO,MAAM;AAChD,YAAM,SAAS,YAAY,UAAU,SAAS,MAAM;AACpD,YAAM,QAAQ,YAAY,UAAU,QAAQ,MAAM;AAElD,aACK,oBAAA,WAAA,EAAW,GAAG,EAAE,GAAG,uBAAuB,GAAG,kBAAkB,MAAMA,OAAM,QAAQ,OAChF,UAAA,qBAAC,UAAK,UACD,UAAA;AAAA,QAAA,6BACI,QAAO,EAAA,aAAW,MACf,UAAC,oBAAA,OAAA,EAAO,iBAAM,EAClB,CAAA;AAAA,QAGJ,oBAAC,QAAK,IAAI,OAAO,KAAK,GACjB,UAAAA,SAAQ,UACb;AAAA,QAEC,CAAC,cAAc,gBAAgB,iBAC3B,qBAAA,MAAM,QAAN,EACI,UAAA;AAAA,UAAA,oCACI,QAAO,EAAA,SAAQ,qBAAoB,SAAS,OACxC,UACL,cAAA;AAAA,UAEH,gBACI,oBAAA,QAAA,EAAO,SAAQ,aAAY,MAAK,UAC5B,UACL,aAAA,CAAA;AAAA,QAAA,EAER,CAAA;AAAA,MAAA,EAAA,CAER,EACJ,CAAA;AAAA,IAAA,CAEP;AAAA,IACL,CAAC,OAAO,eAAe;AAAA,EAC3B;AAEA,SAAO,EAAE,MAAM,OAAO,MAAM,YAAY;AAC5C;"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
3
|
-
import { UseModalProps } from './useModal';
|
|
4
|
-
declare const meta: Meta<FC<UseModalProps>>;
|
|
5
|
-
export default meta;
|
|
6
|
-
type Story = StoryObj<typeof meta>;
|
|
7
|
-
export declare const Default: Story;
|
|
8
|
-
export declare const Offcanvas: Story;
|
|
9
|
-
//# sourceMappingURL=useModal.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useModal.stories.d.ts","sourceRoot":"","sources":["../../src/bootstrap/useModal.stories.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAY,aAAa,EAAE,MAAM,YAAY,CAAC;AAIrD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CA8BjC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAIvB,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { useForm, FormState } from 'react-hook-form';
|
|
2
|
-
export declare const isFormLoading: (formState: FormState<any>) => boolean;
|
|
3
|
-
export declare const useWrappedForm: typeof useForm;
|
|
4
|
-
/**
|
|
5
|
-
* Issue #3: Submit event still propagates to parent when using portal
|
|
6
|
-
* https://reactjs.org/docs/portals.html#event-bubbling-through-portals
|
|
7
|
-
* Event bubbling goes through React DOM instead of HTML DOM
|
|
8
|
-
* Portals don't have an effect on this one, we need to stop event propagation
|
|
9
|
-
* This should be our default form handling method
|
|
10
|
-
* https://codesandbox.io/s/react-hook-form-nested-portal-6x3fvy?file=/src/App.tsx:1905-2261
|
|
11
|
-
* https://github.com/react-hook-form/react-hook-form/issues/1005#issuecomment-988380981
|
|
12
|
-
*/
|
|
13
|
-
export declare const stopPropagation: (callback: any) => (e: Event) => void;
|
|
14
|
-
//# sourceMappingURL=useWrappedForm.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWrappedForm.d.ts","sourceRoot":"","sources":["../../src/bootstrap/useWrappedForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGrD,eAAO,MAAM,aAAa,cAAe,SAAS,CAAC,GAAG,CAAC,KAAG,OAAwD,CAAC;AAEnH,eAAO,MAAM,cAAc,EAAE,OAAO,OAmBnC,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,aACb,GAAG,SACV,KAAK,KAAG,IAIX,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { useForm } from "react-hook-form";
|
|
2
|
-
import { useCallback } from "react";
|
|
3
|
-
const isFormLoading = (formState) => formState.isLoading || formState.isSubmitting;
|
|
4
|
-
const useWrappedForm = (options) => {
|
|
5
|
-
const form = useForm(options);
|
|
6
|
-
const handleSubmit = useCallback(
|
|
7
|
-
(onSubmit, onError) => {
|
|
8
|
-
const wrappedSubmit = async (data) => {
|
|
9
|
-
try {
|
|
10
|
-
await onSubmit(data);
|
|
11
|
-
} catch (e) {
|
|
12
|
-
form.setError("root", { type: "server", message: e.message });
|
|
13
|
-
console.error("Error submitting form", e);
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
return form.handleSubmit(wrappedSubmit, onError);
|
|
17
|
-
},
|
|
18
|
-
[form]
|
|
19
|
-
);
|
|
20
|
-
return { ...form, handleSubmit };
|
|
21
|
-
};
|
|
22
|
-
const stopPropagation = (callback) => (e) => {
|
|
23
|
-
e.stopPropagation();
|
|
24
|
-
e.preventDefault();
|
|
25
|
-
callback(e);
|
|
26
|
-
};
|
|
27
|
-
export {
|
|
28
|
-
isFormLoading,
|
|
29
|
-
stopPropagation,
|
|
30
|
-
useWrappedForm
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=useWrappedForm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useWrappedForm.js","sources":["../../src/bootstrap/useWrappedForm.ts"],"sourcesContent":["import { useForm, FormState } from 'react-hook-form';\nimport { useCallback } from 'react';\n\nexport const isFormLoading = (formState: FormState<any>): boolean => formState.isLoading || formState.isSubmitting;\n\nexport const useWrappedForm: typeof useForm = (options) => {\n const form = useForm(options);\n\n const handleSubmit: typeof form.handleSubmit = useCallback(\n (onSubmit, onError) => {\n const wrappedSubmit: typeof onSubmit = async (data) => {\n try {\n await onSubmit(data);\n } catch (e) {\n form.setError('root', { type: 'server', message: (e as Error).message });\n console.error('Error submitting form', e);\n }\n };\n return form.handleSubmit(wrappedSubmit, onError);\n },\n [form],\n );\n\n return { ...form, handleSubmit };\n};\n\n/**\n * Issue #3: Submit event still propagates to parent when using portal\n * https://reactjs.org/docs/portals.html#event-bubbling-through-portals\n * Event bubbling goes through React DOM instead of HTML DOM\n * Portals don't have an effect on this one, we need to stop event propagation\n * This should be our default form handling method\n * https://codesandbox.io/s/react-hook-form-nested-portal-6x3fvy?file=/src/App.tsx:1905-2261\n * https://github.com/react-hook-form/react-hook-form/issues/1005#issuecomment-988380981\n */\nexport const stopPropagation =\n (callback: any) =>\n (e: Event): void => {\n e.stopPropagation();\n e.preventDefault();\n callback(e);\n };\n"],"names":[],"mappings":";;AAGO,MAAM,gBAAgB,CAAC,cAAuC,UAAU,aAAa,UAAU;AAEzF,MAAA,iBAAiC,CAAC,YAAY;AACjD,QAAA,OAAO,QAAQ,OAAO;AAE5B,QAAM,eAAyC;AAAA,IAC3C,CAAC,UAAU,YAAY;AACb,YAAA,gBAAiC,OAAO,SAAS;AAC/C,YAAA;AACA,gBAAM,SAAS,IAAI;AAAA,iBACd,GAAG;AACH,eAAA,SAAS,QAAQ,EAAE,MAAM,UAAU,SAAU,EAAY,SAAS;AAC/D,kBAAA,MAAM,yBAAyB,CAAC;AAAA,QAAA;AAAA,MAEhD;AACO,aAAA,KAAK,aAAa,eAAe,OAAO;AAAA,IACnD;AAAA,IACA,CAAC,IAAI;AAAA,EACT;AAEO,SAAA,EAAE,GAAG,MAAM,aAAa;AACnC;AAWO,MAAM,kBACT,CAAC,aACD,CAAC,MAAmB;AAChB,IAAE,gBAAgB;AAClB,IAAE,eAAe;AACjB,WAAS,CAAC;AACd;"}
|