@kirill.konshin/bootstrap 0.0.2 → 0.0.3
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/adaptiveContainer.d.ts.map +1 -1
- package/dist/adaptiveContainer.js +14 -9
- package/dist/adaptiveContainer.js.map +1 -1
- package/dist/adaptiveContainer.stories.d.ts +2 -2
- package/dist/adaptiveContainer.stories.d.ts.map +1 -1
- package/dist/controls.d.ts +4 -4
- package/dist/controls.d.ts.map +1 -1
- package/dist/controls.js +79 -72
- package/dist/controls.js.map +1 -1
- package/dist/controls.stories.d.ts +2 -2
- package/dist/controls.stories.d.ts.map +1 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +23 -24
- package/dist/error.js.map +1 -1
- package/dist/error.stories.d.ts +2 -2
- package/dist/error.stories.d.ts.map +1 -1
- package/dist/field.d.ts.map +1 -1
- package/dist/field.js +27 -27
- package/dist/field.js.map +1 -1
- package/dist/field.stories.d.ts +2 -2
- package/dist/field.stories.d.ts.map +1 -1
- package/dist/footer.d.ts.map +1 -1
- package/dist/footer.js +41 -42
- package/dist/footer.js.map +1 -1
- package/dist/footer.stories.d.ts +2 -2
- package/dist/footer.stories.d.ts.map +1 -1
- package/dist/globalLoading.d.ts.map +1 -1
- package/dist/globalLoading.js +13 -9
- package/dist/globalLoading.js.map +1 -1
- package/dist/globalLoading.stories.d.ts +2 -2
- package/dist/globalLoading.stories.d.ts.map +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.js +3 -25
- package/dist/loading.d.ts.map +1 -1
- package/dist/loading.js +19 -17
- package/dist/loading.js.map +1 -1
- package/dist/loading.stories.d.ts +2 -2
- package/dist/loading.stories.d.ts.map +1 -1
- package/dist/responsiveHelper.d.ts.map +1 -1
- package/dist/responsiveHelper.js +69 -42
- package/dist/responsiveHelper.js.map +1 -1
- package/dist/responsiveHelper.stories.d.ts +2 -2
- package/dist/responsiveHelper.stories.d.ts.map +1 -1
- package/dist/screen.d.ts.map +1 -1
- package/dist/screen.js +84 -77
- package/dist/screen.js.map +1 -1
- package/dist/screen.stories.d.ts +2 -2
- package/dist/screen.stories.d.ts.map +1 -1
- package/dist/toaster.d.ts.map +1 -1
- package/dist/toaster.js +29 -30
- package/dist/toaster.js.map +1 -1
- package/dist/toaster.stories.d.ts +2 -2
- package/dist/toaster.stories.d.ts.map +1 -1
- package/dist/useModal.d.ts.map +1 -1
- package/dist/useModal.js +58 -47
- package/dist/useModal.js.map +1 -1
- package/dist/useModal.stories.d.ts +2 -2
- package/dist/useModal.stories.d.ts.map +1 -1
- package/dist/useWrappedForm.d.ts.map +1 -1
- package/dist/useWrappedForm.js +40 -29
- package/dist/useWrappedForm.js.map +1 -1
- package/package.json +17 -5
- package/.ctirc +0 -20
- package/.storybook/main.ts +0 -2
- package/.storybook/preview.ts +0 -2
- package/.turbo/turbo-build.log +0 -31
- package/CHANGELOG.md +0 -8
- package/dist/index.js.map +0 -1
- package/src/adaptiveContainer.stories.tsx +0 -59
- package/src/adaptiveContainer.tsx +0 -14
- package/src/controls.stories.tsx +0 -62
- package/src/controls.tsx +0 -119
- package/src/error.stories.tsx +0 -34
- package/src/error.tsx +0 -37
- package/src/field.stories.tsx +0 -42
- package/src/field.tsx +0 -37
- package/src/footer.stories.tsx +0 -121
- package/src/footer.tsx +0 -65
- package/src/globalLoading.stories.tsx +0 -25
- package/src/globalLoading.tsx +0 -19
- package/src/index.ts +0 -12
- package/src/loading.stories.tsx +0 -35
- package/src/loading.tsx +0 -24
- package/src/main.scss +0 -86
- package/src/responsiveHelper.stories.tsx +0 -109
- package/src/responsiveHelper.tsx +0 -55
- package/src/screen.stories.tsx +0 -160
- package/src/screen.tsx +0 -146
- package/src/toaster.stories.tsx +0 -32
- package/src/toaster.tsx +0 -40
- package/src/useModal.stories.tsx +0 -51
- package/src/useModal.tsx +0 -93
- package/src/useWrappedForm.ts +0 -42
- package/tsconfig.json +0 -10
- package/turbo.json +0 -10
- package/vite.config.ts +0 -2
package/dist/footer.stories.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { Footer, FooterNavItem } from './footer';
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { Footer, FooterNavItem } from './footer.js';
|
|
3
3
|
declare const meta: Meta<typeof Footer>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.stories.d.ts","sourceRoot":"","sources":["../src/footer.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"footer.stories.d.ts","sourceRoot":"","sources":["../src/footer.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEjD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAQ7B,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAgBrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAmB5B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAsBvB,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,QAAQ,CAAC,OAAO,aAAa,CAWzD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,OAAO,aAAa,CAYxD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAAQ,CAAC,OAAO,aAAa,CAU1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalLoading.d.ts","sourceRoot":"","sources":["../src/globalLoading.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAQ,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"globalLoading.d.ts","sourceRoot":"","sources":["../src/globalLoading.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAI7C,MAAM,MAAM,kBAAkB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAY/C,CAAC"}
|
package/dist/globalLoading.js
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from "react";
|
|
3
1
|
import { Loading } from "./loading.js";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { memo } from "react";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/globalLoading.tsx
|
|
5
|
+
var GlobalLoading = memo(function GlobalLoading({ loading }) {
|
|
6
|
+
if (!loading) return null;
|
|
7
|
+
return /* @__PURE__ */ jsx("div", {
|
|
8
|
+
className: "bg-white position-absolute top-0 start-0 w-100 h-100 z-3 d-flex align-items-center justify-content-center",
|
|
9
|
+
children: /* @__PURE__ */ jsx(Loading, {})
|
|
10
|
+
});
|
|
7
11
|
});
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
//# sourceMappingURL=globalLoading.js.map
|
|
12
|
+
//#endregion
|
|
13
|
+
export { GlobalLoading };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=globalLoading.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalLoading.js","sources":["../src/globalLoading.tsx"],"sourcesContent":["import React, { FC, memo } 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> = memo(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"],"
|
|
1
|
+
{"version":3,"file":"globalLoading.js","names":[],"sources":["../src/globalLoading.tsx"],"sourcesContent":["import React, { type FC, memo } 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> = memo(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"],"mappings":";;;;AAMA,IAAa,gBAAwC,KAAK,SAAS,cAAc,EAAE,WAAW;CAK1F,IAAI,CAAC,SAAS,OAAO;CAErB,OACI,oBAAC,OAAD;EAAK,WAAU;YACX,oBAAC,SAAD,CAAU,CAAA;CACT,CAAA;AAEb,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { GlobalLoading } from './globalLoading';
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { GlobalLoading } from './globalLoading.js';
|
|
3
3
|
declare const meta: Meta<typeof GlobalLoading>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalLoading.stories.d.ts","sourceRoot":"","sources":["../src/globalLoading.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"globalLoading.stories.d.ts","sourceRoot":"","sources":["../src/globalLoading.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from './adaptiveContainer';
|
|
2
|
-
export * from './controls';
|
|
3
|
-
export * from './error';
|
|
4
|
-
export * from './field';
|
|
5
|
-
export * from './footer';
|
|
6
|
-
export * from './globalLoading';
|
|
7
|
-
export * from './loading';
|
|
8
|
-
export * from './responsiveHelper';
|
|
9
|
-
export * from './screen';
|
|
10
|
-
export * from './toaster';
|
|
11
|
-
export * from './useModal';
|
|
12
|
-
export * from './useWrappedForm';
|
|
1
|
+
export * from './adaptiveContainer.js';
|
|
2
|
+
export * from './controls.js';
|
|
3
|
+
export * from './error.js';
|
|
4
|
+
export * from './field.js';
|
|
5
|
+
export * from './footer.js';
|
|
6
|
+
export * from './globalLoading.js';
|
|
7
|
+
export * from './loading.js';
|
|
8
|
+
export * from './responsiveHelper.js';
|
|
9
|
+
export * from './screen.js';
|
|
10
|
+
export * from './toaster.js';
|
|
11
|
+
export * from './useModal.js';
|
|
12
|
+
export * from './useWrappedForm.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,35 +1,13 @@
|
|
|
1
|
+
import { ResponsiveHelperBS, useBreakpoint } from "./responsiveHelper.js";
|
|
1
2
|
import { AdaptiveContainer } from "./adaptiveContainer.js";
|
|
2
3
|
import { Checkbox, Control, Label, Range, Select } from "./controls.js";
|
|
3
4
|
import { ErrorAlert } from "./error.js";
|
|
4
5
|
import { FieldGroup } from "./field.js";
|
|
5
6
|
import { Footer, FooterNavItem } from "./footer.js";
|
|
6
|
-
import { GlobalLoading } from "./globalLoading.js";
|
|
7
7
|
import { Loading } from "./loading.js";
|
|
8
|
-
import {
|
|
8
|
+
import { GlobalLoading } from "./globalLoading.js";
|
|
9
9
|
import { Screen } from "./screen.js";
|
|
10
10
|
import { Toaster } from "./toaster.js";
|
|
11
11
|
import { useModal } from "./useModal.js";
|
|
12
12
|
import { isFormLoading, stopPropagation, useWrappedForm } from "./useWrappedForm.js";
|
|
13
|
-
export {
|
|
14
|
-
AdaptiveContainer,
|
|
15
|
-
Checkbox,
|
|
16
|
-
Control,
|
|
17
|
-
ErrorAlert,
|
|
18
|
-
FieldGroup,
|
|
19
|
-
Footer,
|
|
20
|
-
FooterNavItem,
|
|
21
|
-
GlobalLoading,
|
|
22
|
-
Label,
|
|
23
|
-
Loading,
|
|
24
|
-
Range,
|
|
25
|
-
ResponsiveHelperBS,
|
|
26
|
-
Screen,
|
|
27
|
-
Select,
|
|
28
|
-
Toaster,
|
|
29
|
-
isFormLoading,
|
|
30
|
-
stopPropagation,
|
|
31
|
-
useBreakpoint,
|
|
32
|
-
useModal,
|
|
33
|
-
useWrappedForm
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=index.js.map
|
|
13
|
+
export { AdaptiveContainer, Checkbox, Control, ErrorAlert, FieldGroup, Footer, FooterNavItem, GlobalLoading, Label, Loading, Range, ResponsiveHelperBS, Screen, Select, Toaster, isFormLoading, stopPropagation, useBreakpoint, useModal, useWrappedForm };
|
package/dist/loading.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../src/loading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAAS,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"loading.d.ts","sourceRoot":"","sources":["../src/loading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,YAAY,EAAS,MAAM,iBAAiB,CAAC;AACpE,OAAc,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAE7C,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"}
|
package/dist/loading.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Stack, Spinner } from "react-bootstrap";
|
|
3
1
|
import { memo } from "react";
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
import { Spinner, Stack } from "react-bootstrap";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/loading.tsx
|
|
5
|
+
var Loading = memo(function Loading({ children = "Loading...", show = true, className = "", size }) {
|
|
6
|
+
if (!show) return null;
|
|
7
|
+
return /* @__PURE__ */ jsxs(Stack, {
|
|
8
|
+
direction: "horizontal",
|
|
9
|
+
gap: 3,
|
|
10
|
+
className: `align-self-auto ${className}`,
|
|
11
|
+
children: [/* @__PURE__ */ jsx(Spinner, {
|
|
12
|
+
animation: "border",
|
|
13
|
+
role: "status",
|
|
14
|
+
size
|
|
15
|
+
}), /* @__PURE__ */ jsx("span", { children })]
|
|
16
|
+
});
|
|
15
17
|
});
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=loading.js.map
|
|
18
|
+
//#endregion
|
|
19
|
+
export { Loading };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=loading.js.map
|
package/dist/loading.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.js","sources":["../src/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"],"
|
|
1
|
+
{"version":3,"file":"loading.js","names":[],"sources":["../src/loading.tsx"],"sourcesContent":["import { Spinner, type SpinnerProps, Stack } from 'react-bootstrap';\nimport React, { type 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"],"mappings":";;;;AAUA,IAAa,UAA4B,KAAK,SAAS,QAAQ,EAC3D,WAAW,cACX,OAAO,MACP,YAAY,IACZ,QACD;CACC,IAAI,CAAC,MAAM,OAAO;CAClB,OACI,qBAAC,OAAD;EAAO,WAAU;EAAa,KAAK;EAAG,WAAW,mBAAmB;YAApE,CACI,oBAAC,SAAD;GAAS,WAAU;GAAS,MAAK;GAAe;EAAc,CAAA,GAC9D,oBAAC,QAAD,EAAO,SAAe,CAAA,CACnB;;AAEf,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { Loading } from './loading';
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { Loading } from './loading.js';
|
|
3
3
|
declare const meta: Meta<typeof Loading>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading.stories.d.ts","sourceRoot":"","sources":["../src/loading.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"loading.stories.d.ts","sourceRoot":"","sources":["../src/loading.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveHelper.d.ts","sourceRoot":"","sources":["../src/responsiveHelper.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,EAAE,EAA6B,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"responsiveHelper.d.ts","sourceRoot":"","sources":["../src/responsiveHelper.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,KAAK,EAAE,EAA6B,MAAM,OAAO,CAAC;AAElE,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,EAW/B,CAAC"}
|
package/dist/responsiveHelper.js
CHANGED
|
@@ -1,46 +1,73 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { memo, useEffect, useState } from "react";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
//#region src/responsiveHelper.tsx
|
|
4
5
|
function useBreakpoint() {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
6
|
+
const [breakpoint, setBreakpoint] = useState("xs");
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const updateBreakpoint = () => {
|
|
9
|
+
const width = window.innerWidth;
|
|
10
|
+
if (width < 576) setBreakpoint("xs");
|
|
11
|
+
else if (width < 768) setBreakpoint("sm");
|
|
12
|
+
else if (width < 992) setBreakpoint("md");
|
|
13
|
+
else if (width < 1200) setBreakpoint("lg");
|
|
14
|
+
else if (width < 1400) setBreakpoint("xl");
|
|
15
|
+
else setBreakpoint("xxl");
|
|
16
|
+
};
|
|
17
|
+
updateBreakpoint();
|
|
18
|
+
window.addEventListener("resize", updateBreakpoint);
|
|
19
|
+
return () => {
|
|
20
|
+
window.removeEventListener("resize", updateBreakpoint);
|
|
21
|
+
};
|
|
22
|
+
}, []);
|
|
23
|
+
const isMobile = [
|
|
24
|
+
"xs",
|
|
25
|
+
"sm",
|
|
26
|
+
"md"
|
|
27
|
+
].includes(breakpoint);
|
|
28
|
+
return {
|
|
29
|
+
breakpoint,
|
|
30
|
+
isMobile,
|
|
31
|
+
isDesktop: !isMobile
|
|
32
|
+
};
|
|
31
33
|
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
34
|
+
var ResponsiveHelperBS = memo(function ResponsiveHelperBS() {
|
|
35
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
36
|
+
className: "small position-fixed bottom-0 z-3",
|
|
37
|
+
style: {
|
|
38
|
+
fontSize: "9px",
|
|
39
|
+
right: 1,
|
|
40
|
+
lineHeight: 1
|
|
41
|
+
},
|
|
42
|
+
children: [
|
|
43
|
+
/* @__PURE__ */ jsx("small", {
|
|
44
|
+
className: "d-block d-sm-none",
|
|
45
|
+
children: "XS"
|
|
46
|
+
}),
|
|
47
|
+
/* @__PURE__ */ jsx("small", {
|
|
48
|
+
className: "d-none d-sm-block d-md-none",
|
|
49
|
+
children: "SM"
|
|
50
|
+
}),
|
|
51
|
+
/* @__PURE__ */ jsx("small", {
|
|
52
|
+
className: "d-none d-md-block d-lg-none",
|
|
53
|
+
children: "MD"
|
|
54
|
+
}),
|
|
55
|
+
/* @__PURE__ */ jsx("small", {
|
|
56
|
+
className: "d-none d-lg-block d-xl-none",
|
|
57
|
+
children: "LG"
|
|
58
|
+
}),
|
|
59
|
+
/* @__PURE__ */ jsx("small", {
|
|
60
|
+
className: "d-none d-xl-block d-xxl-none",
|
|
61
|
+
children: "XL"
|
|
62
|
+
}),
|
|
63
|
+
/* @__PURE__ */ jsx("small", {
|
|
64
|
+
className: "d-none d-xxl-block",
|
|
65
|
+
children: "XXL"
|
|
66
|
+
})
|
|
67
|
+
]
|
|
68
|
+
});
|
|
41
69
|
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=responsiveHelper.js.map
|
|
70
|
+
//#endregion
|
|
71
|
+
export { ResponsiveHelperBS, useBreakpoint };
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=responsiveHelper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveHelper.js","sources":["../src/responsiveHelper.tsx"],"sourcesContent":["'use client';\n\nimport React, { FC, memo, 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 = memo(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"],"
|
|
1
|
+
{"version":3,"file":"responsiveHelper.js","names":[],"sources":["../src/responsiveHelper.tsx"],"sourcesContent":["'use client';\n\nimport React, { type FC, memo, 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 = memo(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"],"mappings":";;;;AAIA,SAAgB,gBAId;CACE,MAAM,CAAC,YAAY,iBAAiB,SAAS,IAAI;CAEjD,gBAAgB;EACZ,MAAM,yBAAyB;GAC3B,MAAM,QAAQ,OAAO;GACrB,IAAI,QAAQ,KACR,cAAc,IAAI;QACf,IAAI,QAAQ,KACf,cAAc,IAAI;QACf,IAAI,QAAQ,KACf,cAAc,IAAI;QACf,IAAI,QAAQ,MACf,cAAc,IAAI;QACf,IAAI,QAAQ,MACf,cAAc,IAAI;QAElB,cAAc,KAAK;EAE3B;EAEA,iBAAiB;EAEjB,OAAO,iBAAiB,UAAU,gBAAgB;EAElD,aAAa;GACT,OAAO,oBAAoB,UAAU,gBAAgB;EACzD;CACJ,GAAG,CAAC,CAAC;CAEL,MAAM,WAAW;EAAC;EAAM;EAAM;CAAI,CAAC,CAAC,SAAS,UAAU;CAEvD,OAAO;EAAE;EAAY;EAAU,WAAW,CAAC;CAAS;AACxD;AAEA,IAAa,qBAAyB,KAAK,SAAS,qBAAqB;CACrE,OACI,qBAAC,QAAD;EAAM,WAAU;EAAoC,OAAO;GAAE,UAAU;GAAO,OAAO;GAAG,YAAY;EAAE;YAAtG;GACI,oBAAC,SAAD;IAAO,WAAU;cAAoB;GAAS,CAAA;GAC9C,oBAAC,SAAD;IAAO,WAAU;cAA8B;GAAS,CAAA;GACxD,oBAAC,SAAD;IAAO,WAAU;cAA8B;GAAS,CAAA;GACxD,oBAAC,SAAD;IAAO,WAAU;cAA8B;GAAS,CAAA;GACxD,oBAAC,SAAD;IAAO,WAAU;cAA+B;GAAS,CAAA;GACzD,oBAAC,SAAD;IAAO,WAAU;cAAqB;GAAU,CAAA;EAC9C;;AAEd,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { ResponsiveHelperBS } from './responsiveHelper';
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { ResponsiveHelperBS } from './responsiveHelper.js';
|
|
3
3
|
declare const meta: Meta<typeof ResponsiveHelperBS>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"responsiveHelper.stories.d.ts","sourceRoot":"","sources":["../src/responsiveHelper.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"responsiveHelper.stories.d.ts","sourceRoot":"","sources":["../src/responsiveHelper.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAiB,MAAM,oBAAoB,CAAC;AAEvE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,kBAAkB,CAQzC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC;AA8CF,eAAO,MAAM,iBAAiB,EAAE,KAS/B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAc1B,CAAC"}
|
package/dist/screen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../src/screen.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,EAAE,EAAQ,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../src/screen.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,KAAK,EAAE,EAAQ,MAAM,OAAO,CAAC;AAK7C,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/screen.js
CHANGED
|
@@ -1,80 +1,87 @@
|
|
|
1
|
-
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { memo } from "react";
|
|
3
|
-
import { Navbar, Nav, Stack, Button } from "react-bootstrap";
|
|
4
1
|
import { useBreakpoint } from "./responsiveHelper.js";
|
|
5
2
|
import { AdaptiveContainer } from "./adaptiveContainer.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
3
|
+
import { memo } from "react";
|
|
4
|
+
import { Button, Nav, Navbar, Stack } from "react-bootstrap";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/screen.tsx
|
|
7
|
+
var Screen = memo(function Screen({ backBtn, backCb, backIcon, forwardBtn, forwardIcon, forwardCb, footer, menu, header, children, noContentPadding = false, contentClassName = "", title = "", centerContent = false, noHeader = false, noFooter = false, noMenu = false }) {
|
|
8
|
+
backBtn = backBtn || (backCb ? /* @__PURE__ */ jsx(Button, {
|
|
9
|
+
onClick: backCb,
|
|
10
|
+
variant: "nav",
|
|
11
|
+
children: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", { className: backIcon || "bi-chevron-left icon-thick" }), /* @__PURE__ */ jsx("span", {
|
|
12
|
+
className: "d-none d-lg-inline ms-2",
|
|
13
|
+
children: "Back"
|
|
14
|
+
})] })
|
|
15
|
+
}) : null);
|
|
16
|
+
forwardBtn = forwardBtn || (forwardCb ? /* @__PURE__ */ jsx(Button, {
|
|
17
|
+
onClick: forwardCb,
|
|
18
|
+
children: forwardIcon ? /* @__PURE__ */ jsx("span", { className: forwardIcon }) : "Next"
|
|
19
|
+
}) : null);
|
|
20
|
+
const { isMobile, isDesktop } = useBreakpoint();
|
|
21
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
22
|
+
className: `d-flex flex-column flex-grow-1 flex-lg-grow-0 ${isMobile ? "vh-100" : ""}`,
|
|
23
|
+
"data-id": "screen",
|
|
24
|
+
children: [
|
|
25
|
+
!noHeader && /* @__PURE__ */ jsxs("header", {
|
|
26
|
+
className: isDesktop ? "" : "shadow-sm border-bottom",
|
|
27
|
+
"data-id": "header",
|
|
28
|
+
children: [
|
|
29
|
+
isDesktop && !noMenu && menu,
|
|
30
|
+
title && /* @__PURE__ */ jsx(Navbar, {
|
|
31
|
+
expand: true,
|
|
32
|
+
className: "main-nav",
|
|
33
|
+
children: /* @__PURE__ */ jsxs(AdaptiveContainer, {
|
|
34
|
+
className: "gap-2",
|
|
35
|
+
children: [
|
|
36
|
+
backBtn && /* @__PURE__ */ jsx(Nav, {
|
|
37
|
+
className: "hstack gap-3",
|
|
38
|
+
children: backBtn
|
|
39
|
+
}),
|
|
40
|
+
/* @__PURE__ */ jsx(Navbar.Brand, {
|
|
41
|
+
className: "me-auto",
|
|
42
|
+
children: title
|
|
43
|
+
}),
|
|
44
|
+
forwardBtn && /* @__PURE__ */ jsx(Nav, {
|
|
45
|
+
className: "hstack gap-3",
|
|
46
|
+
children: forwardBtn
|
|
47
|
+
})
|
|
48
|
+
]
|
|
49
|
+
})
|
|
50
|
+
}),
|
|
51
|
+
header
|
|
52
|
+
]
|
|
53
|
+
}),
|
|
54
|
+
/* @__PURE__ */ jsxs(AdaptiveContainer, {
|
|
55
|
+
as: "main",
|
|
56
|
+
className: [
|
|
57
|
+
isMobile ? "overflow-y-auto overflow-x-hidden" : "gap-3",
|
|
58
|
+
`flex-grow-1 d-flex flex-column`,
|
|
59
|
+
centerContent ? "align-items-center justify-content-center" : "justify-content-start",
|
|
60
|
+
contentClassName,
|
|
61
|
+
noContentPadding ? "p-0" : "py-3"
|
|
62
|
+
].filter(Boolean).join(" "),
|
|
63
|
+
"data-id": "content",
|
|
64
|
+
children: [children, isDesktop && !noFooter && /* @__PURE__ */ jsxs(Fragment, { children: [footer, (forwardBtn || backBtn) && /* @__PURE__ */ jsxs(Stack, {
|
|
65
|
+
gap: 3,
|
|
66
|
+
direction: "horizontal",
|
|
67
|
+
children: [backBtn && /* @__PURE__ */ jsx(Nav, {
|
|
68
|
+
className: "hstack gap-3",
|
|
69
|
+
children: backBtn
|
|
70
|
+
}), forwardBtn && /* @__PURE__ */ jsx(Nav, {
|
|
71
|
+
className: "hstack gap-3 flex-grow-1",
|
|
72
|
+
children: forwardBtn
|
|
73
|
+
})]
|
|
74
|
+
})] })]
|
|
75
|
+
}),
|
|
76
|
+
!noMenu && !noFooter && /* @__PURE__ */ jsxs("footer", {
|
|
77
|
+
className: "shadow-lg border-top d-block d-lg-none",
|
|
78
|
+
"data-id": "footer",
|
|
79
|
+
children: [!noFooter && footer, !noMenu && menu]
|
|
80
|
+
})
|
|
81
|
+
]
|
|
82
|
+
});
|
|
76
83
|
});
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
//# sourceMappingURL=screen.js.map
|
|
84
|
+
//#endregion
|
|
85
|
+
export { Screen };
|
|
86
|
+
|
|
87
|
+
//# sourceMappingURL=screen.js.map
|
package/dist/screen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.js","sources":["../src/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"],"
|
|
1
|
+
{"version":3,"file":"screen.js","names":[],"sources":["../src/screen.tsx"],"sourcesContent":["import React, { type 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"],"mappings":";;;;;;AA2BA,IAAa,SAA0B,KAAK,SAAS,OAAO,EACxD,SACA,QACA,UACA,YACA,aACA,WACA,QACA,MACA,QACA,UACA,mBAAmB,OACnB,mBAAmB,IACnB,QAAQ,IACR,gBAAgB,OAChB,WAAW,OACX,WAAW,OACX,SAAS,SAEV;CAGC,UACI,YACC,SAEG,oBAAC,QAAD;EAAQ,SAAS;EAAQ,SAAQ;YAEzB,qBAAA,UAAA,EAAA,UAAA,CACI,oBAAC,QAAD,EAAM,WAAW,YAAY,6BAA+B,CAAA,GAC5D,oBAAC,QAAD;GAAM,WAAU;aAA0B;EAAU,CAAA,CACtD,EAAA,CAAA;CAEF,CAAA,IACR;CAER,aACI,eACC,YACG,oBAAC,QAAD;EAAQ,SAAS;YAAY,cAAc,oBAAC,QAAD,EAAM,WAAW,YAAmB,CAAA,IAAI;CAAe,CAAA,IAClG;CAER,MAAM,EAAE,UAAU,cAAc,cAAc;CAI9C,OACI,qBAAC,OAAD;EAAK,WAAW,iDAAiD,WAAW,WAAW;EAAM,WAAQ;YAArG;GAIK,CAAC,YACE,qBAAC,UAAD;IAAQ,WAAW,YAAY,KAAK;IAA2B,WAAQ;cAAvE;KAIK,aAAa,CAAC,UAAU;KAExB,SAEG,oBAAC,QAAD;MAAQ,QAAA;MAAO,WAAU;gBACrB,qBAAC,mBAAD;OAAmB,WAAU;iBAA7B;QACK,WAAW,oBAAC,KAAD;SAAK,WAAU;mBAAgB;QAAa,CAAA;QACxD,oBAAC,OAAO,OAAR;SAAc,WAAU;mBAAW;QAAoB,CAAA;QACtD,cAAc,oBAAC,KAAD;SAAK,WAAU;mBAAgB;QAAgB,CAAA;OAC/C;;KACf,CAAA;KAGX;IACG;;GAKZ,qBAAC,mBAAD;IACI,IAAG;IACH,WAAW;KACP,WAAW,sCAAsC;KACjD;KACA,gBAAgB,8CAA8C;KAC9D;KACA,mBAAmB,QAAQ;IAC/B,CAAC,CACI,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;IACb,WAAQ;cAXZ,CAaK,UAGA,aAAa,CAAC,YACX,qBAAA,UAAA,EAAA,UAAA,CACK,SAGC,cAAc,YAEZ,qBAAC,OAAD;KAAO,KAAK;KAAG,WAAU;eAAzB,CAEK,WAAW,oBAAC,KAAD;MAAK,WAAU;gBAAgB;KAAa,CAAA,GACvD,cAAc,oBAAC,KAAD;MAAK,WAAU;gBAA4B;KAAgB,CAAA,CACvE;MAEb,EAAA,CAAA,CAES;;GAIlB,CAAC,UAAU,CAAC,YACT,qBAAC,UAAD;IAAQ,WAAU;IAAyC,WAAQ;cAAnE,CACK,CAAC,YAAY,QACb,CAAC,UAAU,IACR;;EAEX;;AAEb,CAAC"}
|
package/dist/screen.stories.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
-
import { Screen } from './screen';
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { Screen } from './screen.js';
|
|
3
3
|
declare const meta: Meta<typeof Screen>;
|
|
4
4
|
export default meta;
|
|
5
5
|
type Story = StoryObj<typeof meta>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screen.stories.d.ts","sourceRoot":"","sources":["../src/screen.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"screen.stories.d.ts","sourceRoot":"","sources":["../src/screen.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG5D,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"}
|