@xylabs/react-scroll-to-top 3.1.0-rc.6 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +20 -49
  2. package/dist/browser/ScrollToTop.d.cts +2 -0
  3. package/dist/browser/ScrollToTop.d.cts.map +1 -0
  4. package/dist/browser/ScrollToTopButton.d.cts +7 -0
  5. package/dist/browser/ScrollToTopButton.d.cts.map +1 -0
  6. package/dist/browser/index.cjs +56 -0
  7. package/dist/browser/index.cjs.map +1 -0
  8. package/dist/browser/index.d.cts +3 -0
  9. package/dist/browser/index.d.cts.map +1 -0
  10. package/dist/browser/index.js +32 -2
  11. package/dist/browser/index.js.map +1 -1
  12. package/dist/node/ScrollToTop.d.cts +2 -0
  13. package/dist/node/ScrollToTop.d.cts.map +1 -0
  14. package/dist/node/ScrollToTopButton.d.cts +7 -0
  15. package/dist/node/ScrollToTopButton.d.cts.map +1 -0
  16. package/dist/node/{ScrollToTopButton.js → index.cjs} +23 -6
  17. package/dist/node/index.cjs.map +1 -0
  18. package/dist/node/index.d.cts +3 -0
  19. package/dist/node/index.d.cts.map +1 -0
  20. package/dist/node/index.js +31 -23
  21. package/dist/node/index.js.map +1 -1
  22. package/package.json +23 -19
  23. package/dist/browser/ScrollToTop.js +0 -13
  24. package/dist/browser/ScrollToTop.js.map +0 -1
  25. package/dist/browser/ScrollToTopButton.js +0 -20
  26. package/dist/browser/ScrollToTopButton.js.map +0 -1
  27. package/dist/node/ScrollToTop.js +0 -37
  28. package/dist/node/ScrollToTop.js.map +0 -1
  29. package/dist/node/ScrollToTop.mjs +0 -13
  30. package/dist/node/ScrollToTop.mjs.map +0 -1
  31. package/dist/node/ScrollToTopButton.js.map +0 -1
  32. package/dist/node/ScrollToTopButton.mjs +0 -20
  33. package/dist/node/ScrollToTopButton.mjs.map +0 -1
  34. package/dist/node/index.mjs +0 -3
  35. package/dist/node/index.mjs.map +0 -1
package/README.md CHANGED
@@ -1,14 +1,11 @@
1
1
  [![logo][]](https://xylabs.com)
2
2
 
3
- # @xylabs/sdk-react
3
+ # @xylabs/react-scroll-to-top
4
4
 
5
- [![main-build][]][main-build-link]
6
- [![beta-build][]][beta-build-link]
7
5
  [![npm-badge][]][npm-link]
8
- [![bch-badge][]][bch-link]
9
- [![codacy-badge][]][codacy-link]
10
- [![codeclimate-badge][]][codeclimate-link]
11
- [![snyk-badge][]][snyk-link]
6
+ [![npm-downloads-badge][]][npm-link]
7
+ [![jsdelivr-badge][]][jsdelivr-link]
8
+ [![npm-license-badge][]](LICENSE)
12
9
 
13
10
  > XY Labs generalized React library
14
11
 
@@ -16,53 +13,39 @@
16
13
 
17
14
  - [Description](#description)
18
15
  - [Install](#install)
19
- - [Scripts](#scripts)
20
16
  - [Maintainers](#maintainers)
21
17
  - [License](#license)
22
18
  - [Credits](#credits)
23
19
 
24
20
  ## Description
25
21
 
26
- Common React code that is used throughtout XYO projects that use React.
22
+ Common React code that is used throughout XYO projects that use React.
27
23
 
28
24
  ## Install
29
25
 
30
26
  Using npm:
31
27
 
32
28
  ```sh
33
- npm i --save @xylabs/sdk-react
29
+ npm i --save @xylabs/react-scroll-to-top
34
30
  ```
35
31
 
36
32
  Using yarn:
37
33
 
38
34
  ```sh
39
- yarn add @xylabs/sdk-react
35
+ yarn add @xylabs/react-scroll-to-top
40
36
  ```
41
37
 
42
- ## Scripts
38
+ ## Documentation
39
+ [Developer Reference](https://xylabs.github.io/sdk-react)
43
40
 
44
- See [ts-scripts-yarn3](https://github.com/xylabs/ts-scripts-yarn3/blob/main/README.md) for
45
- list of shared scripts. The below scripts are custom scripts for this repo.
46
-
47
- ### Build (Storybook)
48
-
49
- Build the static Storybook site
50
-
51
- ```sh
52
- yarn build-storybook
53
- ```
54
-
55
- ### Start
56
-
57
- Starts the project in the browser for testing, with auto reload using Storybook
58
-
59
- ```sh
60
- yarn start
61
- ```
41
+ [Storybook](https://xylabs.github.io/sdk-react/storybook)
62
42
 
63
43
  ## Maintainers
64
44
 
65
- - [Arie Trouw](https://github.com/arietrouw) [arietrouw.com](https://arietrouw.com)
45
+ - [Arie Trouw](https://github.com/arietrouw) ([arietrouw.com](https://arietrouw.com))
46
+ - [Matt Jones](https://github.com/jonesmac)
47
+ - [Joel Carter](https://github.com/JoelBCarter)
48
+ - [Jordan Trouw](https://github.com/jordantrouw)
66
49
 
67
50
  ## License
68
51
 
@@ -74,23 +57,11 @@ See the [LICENSE](LICENSE) file for license details
74
57
 
75
58
  [logo]: https://cdn.xy.company/img/brand/XYPersistentCompany_Logo_Icon_Colored.svg
76
59
 
77
- [main-build]: https://github.com/xylabs/sdk-react/actions/workflows/build-main.yml/badge.svg
78
- [main-build-link]: https://github.com/xylabs/sdk-react/actions/workflows/build-main.yml
79
-
80
- [beta-build]: https://github.com/xylabs/sdk-react/actions/workflows/build-beta.yml/badge.svg
81
- [beta-build-link]: https://github.com/xylabs/sdk-react/actions/workflows/build-beta.yml
82
-
83
- [npm-badge]: https://img.shields.io/npm/v/@xylabs/sdk-react.svg
84
- [npm-link]: https://www.npmjs.com/package/@xylabs/sdk-react
85
-
86
- [bch-badge]: https://bettercodehub.com/edge/badge/xylabs/sdk-react?branch=main
87
- [bch-link]: https://bettercodehub.com/results/xylabs/sdk-react
88
-
89
- [codacy-badge]: https://app.codacy.com/project/badge/Grade/c2a69d4530ed4b7da6ddb070169dd339
90
- [codacy-link]: https://www.codacy.com/gh/xylabs/sdk-react/dashboard?utm_source=github.com&utm_medium=referral&utm_content=xylabs/sdk-react&utm_campaign=Badge_Grade
60
+ [npm-badge]: https://img.shields.io/npm/v/@xylabs/react-scroll-to-top.svg
61
+ [npm-link]: https://www.npmjs.com/package/@xylabs/react-scroll-to-top
91
62
 
92
- [codeclimate-badge]: https://api.codeclimate.com/v1/badges/c461e0bc2b00c0b01ac0/maintainability
93
- [codeclimate-link]: https://codeclimate.com/github/xylabs/sdk-react/maintainability
63
+ [npm-downloads-badge]: https://img.shields.io/npm/dw/@xylabs/react-scroll-to-top
64
+ [npm-license-badge]: https://img.shields.io/npm/l/@xylabs/react-scroll-to-top
94
65
 
95
- [snyk-badge]: https://snyk.io/test/github/xylabs/sdk-react/badge.svg?targetFile=package.json
96
- [snyk-link]: https://snyk.io/test/github/xylabs/sdk-react?targetFile=package.json
66
+ [jsdelivr-badge]: https://data.jsdelivr.com/v1/package/npm/@xylabs/react-scroll-to-top/badge
67
+ [jsdelivr-link]: https://www.jsdelivr.com/package/npm/@xylabs/react-scroll-to-top
@@ -0,0 +1,2 @@
1
+ export declare const ScrollToTop: () => null;
2
+ //# sourceMappingURL=ScrollToTop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollToTop.d.ts","sourceRoot":"","sources":["../../src/ScrollToTop.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,YAOvB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ZoomProps } from '@mui/material';
2
+ import React from 'react';
3
+ export interface ScrollToTopButtonProps extends ZoomProps {
4
+ anchorId: string;
5
+ }
6
+ export declare const ScrollToTopButton: React.FC<ScrollToTopButtonProps>;
7
+ //# sourceMappingURL=ScrollToTopButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollToTopButton.d.ts","sourceRoot":"","sources":["../../src/ScrollToTopButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyC,SAAS,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAuB9D,CAAA"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ ScrollToTop: () => ScrollToTop,
24
+ ScrollToTopButton: () => ScrollToTopButton
25
+ });
26
+ module.exports = __toCommonJS(src_exports);
27
+
28
+ // src/ScrollToTop.tsx
29
+ var import_react = require("react");
30
+ var import_react_router_dom = require("react-router-dom");
31
+ var ScrollToTop = () => {
32
+ const { pathname } = (0, import_react_router_dom.useLocation)();
33
+ (0, import_react.useEffect)(() => {
34
+ window.scrollTo(0, 0);
35
+ }, [pathname]);
36
+ return null;
37
+ };
38
+
39
+ // src/ScrollToTopButton.tsx
40
+ var import_material = require("@mui/material");
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var ScrollToTopButton = ({ children, anchorId, ...props }) => {
43
+ const trigger = (0, import_material.useScrollTrigger)({
44
+ disableHysteresis: true,
45
+ threshold: 100
46
+ });
47
+ const handleClick = (event) => {
48
+ const anchor = (event.target.ownerDocument || document).querySelector(`#${anchorId}`);
49
+ if (anchor) {
50
+ anchor.scrollIntoView({ behavior: "smooth", block: "center" });
51
+ }
52
+ };
53
+ const theme = (0, import_material.useTheme)();
54
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Zoom, { in: trigger, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Box, { zIndex: 10, position: "fixed", right: theme.spacing(2), bottom: theme.spacing(2), onClick: handleClick, role: "presentation", children }) });
55
+ };
56
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts","../../src/ScrollToTop.tsx","../../src/ScrollToTopButton.tsx"],"sourcesContent":["export * from './ScrollToTop'\nexport * from './ScrollToTopButton'\n","import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\n// The point of this component it to return to the top of the page on any router navigate\n\nexport const ScrollToTop = () => {\n const { pathname } = useLocation()\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [pathname])\n\n return null\n}\n","import { Box, useScrollTrigger, useTheme, Zoom, ZoomProps } from '@mui/material'\nimport React from 'react'\n\nexport interface ScrollToTopButtonProps extends ZoomProps {\n anchorId: string\n}\n\nexport const ScrollToTopButton: React.FC<ScrollToTopButtonProps> = ({ children, anchorId, ...props }) => {\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 100,\n })\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const anchor = ((event.target as HTMLDivElement).ownerDocument || document).querySelector(`#${anchorId}`)\n\n if (anchor) {\n anchor.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n }\n\n const theme = useTheme()\n\n return (\n <Zoom in={trigger} {...props}>\n <Box zIndex={10} position=\"fixed\" right={theme.spacing(2)} bottom={theme.spacing(2)} onClick={handleClick} role=\"presentation\">\n {children}\n </Box>\n </Zoom>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA0B;AAC1B,8BAA4B;AAIrB,IAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,QAAI,qCAAY;AACjC,8BAAU,MAAM;AACd,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AACT;;;ACZA,sBAAiE;AAyB3D;AAlBC,IAAM,oBAAsD,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACvG,QAAM,cAAU,kCAAiB;AAAA,IAC/B,mBAAmB;AAAA,IACnB,WAAW;AAAA,EACb,CAAC;AAED,QAAM,cAAc,CAAC,UAA4C;AAC/D,UAAM,UAAW,MAAM,OAA0B,iBAAiB,UAAU,cAAc,IAAI,QAAQ,EAAE;AAExG,QAAI,QAAQ;AACV,aAAO,eAAe,EAAE,UAAU,UAAU,OAAO,SAAS,CAAC;AAAA,IAC/D;AAAA,EACF;AAEA,QAAM,YAAQ,0BAAS;AAEvB,SACE,4CAAC,wBAAK,IAAI,SAAU,GAAG,OACrB,sDAAC,uBAAI,QAAQ,IAAI,UAAS,SAAQ,OAAO,MAAM,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,CAAC,GAAG,SAAS,aAAa,MAAK,gBAC7G,UACH,GACF;AAEJ;","names":[]}
@@ -0,0 +1,3 @@
1
+ export * from './ScrollToTop';
2
+ export * from './ScrollToTopButton';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA"}
@@ -1,3 +1,33 @@
1
- export * from "./ScrollToTop";
2
- export * from "./ScrollToTopButton";
1
+ // src/ScrollToTop.tsx
2
+ import { useEffect } from "react";
3
+ import { useLocation } from "react-router-dom";
4
+ var ScrollToTop = () => {
5
+ const { pathname } = useLocation();
6
+ useEffect(() => {
7
+ window.scrollTo(0, 0);
8
+ }, [pathname]);
9
+ return null;
10
+ };
11
+
12
+ // src/ScrollToTopButton.tsx
13
+ import { Box, useScrollTrigger, useTheme, Zoom } from "@mui/material";
14
+ import { jsx } from "react/jsx-runtime";
15
+ var ScrollToTopButton = ({ children, anchorId, ...props }) => {
16
+ const trigger = useScrollTrigger({
17
+ disableHysteresis: true,
18
+ threshold: 100
19
+ });
20
+ const handleClick = (event) => {
21
+ const anchor = (event.target.ownerDocument || document).querySelector(`#${anchorId}`);
22
+ if (anchor) {
23
+ anchor.scrollIntoView({ behavior: "smooth", block: "center" });
24
+ }
25
+ };
26
+ const theme = useTheme();
27
+ return /* @__PURE__ */ jsx(Zoom, { in: trigger, ...props, children: /* @__PURE__ */ jsx(Box, { zIndex: 10, position: "fixed", right: theme.spacing(2), bottom: theme.spacing(2), onClick: handleClick, role: "presentation", children }) });
28
+ };
29
+ export {
30
+ ScrollToTop,
31
+ ScrollToTopButton
32
+ };
3
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './ScrollToTop'\nexport * from './ScrollToTopButton'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/ScrollToTop.tsx","../../src/ScrollToTopButton.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\n// The point of this component it to return to the top of the page on any router navigate\n\nexport const ScrollToTop = () => {\n const { pathname } = useLocation()\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [pathname])\n\n return null\n}\n","import { Box, useScrollTrigger, useTheme, Zoom, ZoomProps } from '@mui/material'\nimport React from 'react'\n\nexport interface ScrollToTopButtonProps extends ZoomProps {\n anchorId: string\n}\n\nexport const ScrollToTopButton: React.FC<ScrollToTopButtonProps> = ({ children, anchorId, ...props }) => {\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 100,\n })\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const anchor = ((event.target as HTMLDivElement).ownerDocument || document).querySelector(`#${anchorId}`)\n\n if (anchor) {\n anchor.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n }\n\n const theme = useTheme()\n\n return (\n <Zoom in={trigger} {...props}>\n <Box zIndex={10} position=\"fixed\" right={theme.spacing(2)} bottom={theme.spacing(2)} onClick={handleClick} role=\"presentation\">\n {children}\n </Box>\n </Zoom>\n )\n}\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAIrB,IAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,IAAI,YAAY;AACjC,YAAU,MAAM;AACd,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AACT;;;ACZA,SAAS,KAAK,kBAAkB,UAAU,YAAuB;AAyB3D;AAlBC,IAAM,oBAAsD,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACvG,QAAM,UAAU,iBAAiB;AAAA,IAC/B,mBAAmB;AAAA,IACnB,WAAW;AAAA,EACb,CAAC;AAED,QAAM,cAAc,CAAC,UAA4C;AAC/D,UAAM,UAAW,MAAM,OAA0B,iBAAiB,UAAU,cAAc,IAAI,QAAQ,EAAE;AAExG,QAAI,QAAQ;AACV,aAAO,eAAe,EAAE,UAAU,UAAU,OAAO,SAAS,CAAC;AAAA,IAC/D;AAAA,EACF;AAEA,QAAM,QAAQ,SAAS;AAEvB,SACE,oBAAC,QAAK,IAAI,SAAU,GAAG,OACrB,8BAAC,OAAI,QAAQ,IAAI,UAAS,SAAQ,OAAO,MAAM,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,CAAC,GAAG,SAAS,aAAa,MAAK,gBAC7G,UACH,GACF;AAEJ;","names":[]}
@@ -0,0 +1,2 @@
1
+ export declare const ScrollToTop: () => null;
2
+ //# sourceMappingURL=ScrollToTop.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollToTop.d.ts","sourceRoot":"","sources":["../../src/ScrollToTop.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,YAOvB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { ZoomProps } from '@mui/material';
2
+ import React from 'react';
3
+ export interface ScrollToTopButtonProps extends ZoomProps {
4
+ anchorId: string;
5
+ }
6
+ export declare const ScrollToTopButton: React.FC<ScrollToTopButtonProps>;
7
+ //# sourceMappingURL=ScrollToTopButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollToTopButton.d.ts","sourceRoot":"","sources":["../../src/ScrollToTopButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAyC,SAAS,EAAE,MAAM,eAAe,CAAA;AAChF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAuB9D,CAAA"}
@@ -16,14 +16,30 @@ var __copyProps = (to, from, except, desc) => {
16
16
  return to;
17
17
  };
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var ScrollToTopButton_exports = {};
20
- __export(ScrollToTopButton_exports, {
19
+
20
+ // src/index.ts
21
+ var src_exports = {};
22
+ __export(src_exports, {
23
+ ScrollToTop: () => ScrollToTop,
21
24
  ScrollToTopButton: () => ScrollToTopButton
22
25
  });
23
- module.exports = __toCommonJS(ScrollToTopButton_exports);
24
- var import_jsx_runtime = require("react/jsx-runtime");
26
+ module.exports = __toCommonJS(src_exports);
27
+
28
+ // src/ScrollToTop.tsx
29
+ var import_react = require("react");
30
+ var import_react_router_dom = require("react-router-dom");
31
+ var ScrollToTop = () => {
32
+ const { pathname } = (0, import_react_router_dom.useLocation)();
33
+ (0, import_react.useEffect)(() => {
34
+ window.scrollTo(0, 0);
35
+ }, [pathname]);
36
+ return null;
37
+ };
38
+
39
+ // src/ScrollToTopButton.tsx
25
40
  var import_material = require("@mui/material");
26
- const ScrollToTopButton = ({ children, anchorId, ...props }) => {
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var ScrollToTopButton = ({ children, anchorId, ...props }) => {
27
43
  const trigger = (0, import_material.useScrollTrigger)({
28
44
  disableHysteresis: true,
29
45
  threshold: 100
@@ -39,6 +55,7 @@ const ScrollToTopButton = ({ children, anchorId, ...props }) => {
39
55
  };
40
56
  // Annotate the CommonJS export names for ESM import in node:
41
57
  0 && (module.exports = {
58
+ ScrollToTop,
42
59
  ScrollToTopButton
43
60
  });
44
- //# sourceMappingURL=ScrollToTopButton.js.map
61
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/index.ts","../../src/ScrollToTop.tsx","../../src/ScrollToTopButton.tsx"],"sourcesContent":["export * from './ScrollToTop'\nexport * from './ScrollToTopButton'\n","import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\n// The point of this component it to return to the top of the page on any router navigate\n\nexport const ScrollToTop = () => {\n const { pathname } = useLocation()\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [pathname])\n\n return null\n}\n","import { Box, useScrollTrigger, useTheme, Zoom, ZoomProps } from '@mui/material'\nimport React from 'react'\n\nexport interface ScrollToTopButtonProps extends ZoomProps {\n anchorId: string\n}\n\nexport const ScrollToTopButton: React.FC<ScrollToTopButtonProps> = ({ children, anchorId, ...props }) => {\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 100,\n })\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const anchor = ((event.target as HTMLDivElement).ownerDocument || document).querySelector(`#${anchorId}`)\n\n if (anchor) {\n anchor.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n }\n\n const theme = useTheme()\n\n return (\n <Zoom in={trigger} {...props}>\n <Box zIndex={10} position=\"fixed\" right={theme.spacing(2)} bottom={theme.spacing(2)} onClick={handleClick} role=\"presentation\">\n {children}\n </Box>\n </Zoom>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAA0B;AAC1B,8BAA4B;AAIrB,IAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,QAAI,qCAAY;AACjC,8BAAU,MAAM;AACd,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AACT;;;ACZA,sBAAiE;AAyB3D;AAlBC,IAAM,oBAAsD,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACvG,QAAM,cAAU,kCAAiB;AAAA,IAC/B,mBAAmB;AAAA,IACnB,WAAW;AAAA,EACb,CAAC;AAED,QAAM,cAAc,CAAC,UAA4C;AAC/D,UAAM,UAAW,MAAM,OAA0B,iBAAiB,UAAU,cAAc,IAAI,QAAQ,EAAE;AAExG,QAAI,QAAQ;AACV,aAAO,eAAe,EAAE,UAAU,UAAU,OAAO,SAAS,CAAC;AAAA,IAC/D;AAAA,EACF;AAEA,QAAM,YAAQ,0BAAS;AAEvB,SACE,4CAAC,wBAAK,IAAI,SAAU,GAAG,OACrB,sDAAC,uBAAI,QAAQ,IAAI,UAAS,SAAQ,OAAO,MAAM,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,CAAC,GAAG,SAAS,aAAa,MAAK,gBAC7G,UACH,GACF;AAEJ;","names":[]}
@@ -0,0 +1,3 @@
1
+ export * from './ScrollToTop';
2
+ export * from './ScrollToTopButton';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA"}
@@ -1,25 +1,33 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
1
+ // src/ScrollToTop.tsx
2
+ import { useEffect } from "react";
3
+ import { useLocation } from "react-router-dom";
4
+ var ScrollToTop = () => {
5
+ const { pathname } = useLocation();
6
+ useEffect(() => {
7
+ window.scrollTo(0, 0);
8
+ }, [pathname]);
9
+ return null;
10
+ };
11
+
12
+ // src/ScrollToTopButton.tsx
13
+ import { Box, useScrollTrigger, useTheme, Zoom } from "@mui/material";
14
+ import { jsx } from "react/jsx-runtime";
15
+ var ScrollToTopButton = ({ children, anchorId, ...props }) => {
16
+ const trigger = useScrollTrigger({
17
+ disableHysteresis: true,
18
+ threshold: 100
19
+ });
20
+ const handleClick = (event) => {
21
+ const anchor = (event.target.ownerDocument || document).querySelector(`#${anchorId}`);
22
+ if (anchor) {
23
+ anchor.scrollIntoView({ behavior: "smooth", block: "center" });
24
+ }
25
+ };
26
+ const theme = useTheme();
27
+ return /* @__PURE__ */ jsx(Zoom, { in: trigger, ...props, children: /* @__PURE__ */ jsx(Box, { zIndex: 10, position: "fixed", right: theme.spacing(2), bottom: theme.spacing(2), onClick: handleClick, role: "presentation", children }) });
28
+ };
29
+ export {
30
+ ScrollToTop,
31
+ ScrollToTopButton
13
32
  };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var src_exports = {};
17
- module.exports = __toCommonJS(src_exports);
18
- __reExport(src_exports, require("./ScrollToTop"), module.exports);
19
- __reExport(src_exports, require("./ScrollToTopButton"), module.exports);
20
- // Annotate the CommonJS export names for ESM import in node:
21
- 0 && (module.exports = {
22
- ...require("./ScrollToTop"),
23
- ...require("./ScrollToTopButton")
24
- });
25
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './ScrollToTop'\nexport * from './ScrollToTopButton'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,0BAAd;AACA,wBAAc,gCADd;","names":[]}
1
+ {"version":3,"sources":["../../src/ScrollToTop.tsx","../../src/ScrollToTopButton.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\n// The point of this component it to return to the top of the page on any router navigate\n\nexport const ScrollToTop = () => {\n const { pathname } = useLocation()\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [pathname])\n\n return null\n}\n","import { Box, useScrollTrigger, useTheme, Zoom, ZoomProps } from '@mui/material'\nimport React from 'react'\n\nexport interface ScrollToTopButtonProps extends ZoomProps {\n anchorId: string\n}\n\nexport const ScrollToTopButton: React.FC<ScrollToTopButtonProps> = ({ children, anchorId, ...props }) => {\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 100,\n })\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const anchor = ((event.target as HTMLDivElement).ownerDocument || document).querySelector(`#${anchorId}`)\n\n if (anchor) {\n anchor.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n }\n\n const theme = useTheme()\n\n return (\n <Zoom in={trigger} {...props}>\n <Box zIndex={10} position=\"fixed\" right={theme.spacing(2)} bottom={theme.spacing(2)} onClick={handleClick} role=\"presentation\">\n {children}\n </Box>\n </Zoom>\n )\n}\n"],"mappings":";AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAIrB,IAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,IAAI,YAAY;AACjC,YAAU,MAAM;AACd,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AACT;;;ACZA,SAAS,KAAK,kBAAkB,UAAU,YAAuB;AAyB3D;AAlBC,IAAM,oBAAsD,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACvG,QAAM,UAAU,iBAAiB;AAAA,IAC/B,mBAAmB;AAAA,IACnB,WAAW;AAAA,EACb,CAAC;AAED,QAAM,cAAc,CAAC,UAA4C;AAC/D,UAAM,UAAW,MAAM,OAA0B,iBAAiB,UAAU,cAAc,IAAI,QAAQ,EAAE;AAExG,QAAI,QAAQ;AACV,aAAO,eAAe,EAAE,UAAU,UAAU,OAAO,SAAS,CAAC;AAAA,IAC/D;AAAA,EACF;AAEA,QAAM,QAAQ,SAAS;AAEvB,SACE,oBAAC,QAAK,IAAI,SAAU,GAAG,OACrB,8BAAC,OAAI,QAAQ,IAAI,UAAS,SAAQ,OAAO,MAAM,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,CAAC,GAAG,SAAS,aAAa,MAAK,gBAC7G,UACH,GACF;AAEJ;","names":[]}
package/package.json CHANGED
@@ -13,45 +13,49 @@
13
13
  "packages/*"
14
14
  ],
15
15
  "description": "Common React library for all XY Labs projects that use React",
16
+ "dependencies": {
17
+ "@mui/material": "^5.15.11",
18
+ "react-router-dom": "^6.22.1"
19
+ },
16
20
  "devDependencies": {
17
- "@mui/material": "^5.14.10",
18
- "@xylabs/ts-scripts-yarn3": "^3.0.55",
19
- "@xylabs/tsconfig-react": "^3.0.55",
21
+ "@xylabs/ts-scripts-yarn3": "^3.4.1",
22
+ "@xylabs/tsconfig-react": "^3.4.1",
20
23
  "react": "^18.2.0",
21
24
  "react-dom": "^18.2.0",
22
- "react-router-dom": "^6.16.0",
23
- "typescript": "^5.2.2"
25
+ "typescript": "^5.3.3"
24
26
  },
25
27
  "peerDependencies": {
26
28
  "react": "^18",
27
- "react-dom": "^18",
28
- "react-router-dom": "^6"
29
+ "react-dom": "^18"
29
30
  },
30
31
  "exports": {
31
32
  ".": {
32
33
  "node": {
33
34
  "import": {
34
35
  "types": "./dist/node/index.d.mts",
35
- "default": "./dist/node/index.mjs"
36
+ "default": "./dist/node/index.js"
36
37
  },
37
38
  "require": {
38
- "types": "./dist/node/index.d.ts",
39
- "default": "./dist/node/index.js"
39
+ "types": "./dist/node/index.d.cts",
40
+ "default": "./dist/node/index.cjs"
40
41
  }
41
42
  },
42
43
  "browser": {
43
- "types": "./dist/browser/index.d.ts",
44
- "default": "./dist/browser/index.js"
44
+ "import": {
45
+ "types": "./dist/browser/index.d.mts",
46
+ "default": "./dist/browser/index.js"
47
+ },
48
+ "require": {
49
+ "types": "./dist/browser/index.d.cts",
50
+ "default": "./dist/browser/index.cjs"
51
+ }
45
52
  },
46
53
  "default": "./dist/browser/index.js"
47
54
  },
48
- "./dist/docs.json": {
49
- "default": "./dist/docs.json"
50
- },
51
55
  "./package.json": "./package.json"
52
56
  },
53
57
  "types": "dist/browser/index.d.ts",
54
- "main": "./dist/node/index.js",
58
+ "main": "./dist/browser/index.cjs",
55
59
  "module": "./dist/browser/index.js",
56
60
  "homepage": "https://xylabs.com",
57
61
  "keywords": [
@@ -59,7 +63,7 @@
59
63
  "typescript",
60
64
  "react"
61
65
  ],
62
- "license": "LGPL-3.0",
66
+ "license": "LGPL-3.0-only",
63
67
  "publishConfig": {
64
68
  "access": "public"
65
69
  },
@@ -68,6 +72,6 @@
68
72
  "url": "https://github.com/xylabs/sdk-react.git"
69
73
  },
70
74
  "sideEffects": false,
71
- "version": "3.1.0-rc.6",
72
- "stableVersion": "3.0.0"
75
+ "version": "3.1.1",
76
+ "type": "module"
73
77
  }
@@ -1,13 +0,0 @@
1
- import { useEffect } from "react";
2
- import { useLocation } from "react-router-dom";
3
- const ScrollToTop = () => {
4
- const { pathname } = useLocation();
5
- useEffect(() => {
6
- window.scrollTo(0, 0);
7
- }, [pathname]);
8
- return null;
9
- };
10
- export {
11
- ScrollToTop
12
- };
13
- //# sourceMappingURL=ScrollToTop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ScrollToTop.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\n// The point of this component it to return to the top of the page on any router navigate\n\nexport const ScrollToTop = () => {\n const { pathname } = useLocation()\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [pathname])\n\n return null\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAIrB,MAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,IAAI,YAAY;AACjC,YAAU,MAAM;AACd,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AACT;","names":[]}
@@ -1,20 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { Box, useScrollTrigger, useTheme, Zoom } from "@mui/material";
3
- const ScrollToTopButton = ({ children, anchorId, ...props }) => {
4
- const trigger = useScrollTrigger({
5
- disableHysteresis: true,
6
- threshold: 100
7
- });
8
- const handleClick = (event) => {
9
- const anchor = (event.target.ownerDocument || document).querySelector(`#${anchorId}`);
10
- if (anchor) {
11
- anchor.scrollIntoView({ behavior: "smooth", block: "center" });
12
- }
13
- };
14
- const theme = useTheme();
15
- return /* @__PURE__ */ jsx(Zoom, { in: trigger, ...props, children: /* @__PURE__ */ jsx(Box, { zIndex: 10, position: "fixed", right: theme.spacing(2), bottom: theme.spacing(2), onClick: handleClick, role: "presentation", children }) });
16
- };
17
- export {
18
- ScrollToTopButton
19
- };
20
- //# sourceMappingURL=ScrollToTopButton.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ScrollToTopButton.tsx"],"sourcesContent":["import { Box, useScrollTrigger, useTheme, Zoom, ZoomProps } from '@mui/material'\nimport React from 'react'\n\nexport interface ScrollToTopButtonProps extends ZoomProps {\n anchorId: string\n}\n\nexport const ScrollToTopButton: React.FC<ScrollToTopButtonProps> = ({ children, anchorId, ...props }) => {\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 100,\n })\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const anchor = ((event.target as HTMLDivElement).ownerDocument || document).querySelector(`#${anchorId}`)\n\n if (anchor) {\n anchor.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n }\n\n const theme = useTheme()\n\n return (\n <Zoom in={trigger} {...props}>\n <Box zIndex={10} position=\"fixed\" right={theme.spacing(2)} bottom={theme.spacing(2)} onClick={handleClick} role=\"presentation\">\n {children}\n </Box>\n </Zoom>\n )\n}\n"],"mappings":"AAyBM;AAzBN,SAAS,KAAK,kBAAkB,UAAU,YAAuB;AAO1D,MAAM,oBAAsD,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACvG,QAAM,UAAU,iBAAiB;AAAA,IAC/B,mBAAmB;AAAA,IACnB,WAAW;AAAA,EACb,CAAC;AAED,QAAM,cAAc,CAAC,UAA4C;AAC/D,UAAM,UAAW,MAAM,OAA0B,iBAAiB,UAAU,cAAc,IAAI,QAAQ,EAAE;AAExG,QAAI,QAAQ;AACV,aAAO,eAAe,EAAE,UAAU,UAAU,OAAO,SAAS,CAAC;AAAA,IAC/D;AAAA,EACF;AAEA,QAAM,QAAQ,SAAS;AAEvB,SACE,oBAAC,QAAK,IAAI,SAAU,GAAG,OACrB,8BAAC,OAAI,QAAQ,IAAI,UAAS,SAAQ,OAAO,MAAM,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,CAAC,GAAG,SAAS,aAAa,MAAK,gBAC7G,UACH,GACF;AAEJ;","names":[]}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var ScrollToTop_exports = {};
20
- __export(ScrollToTop_exports, {
21
- ScrollToTop: () => ScrollToTop
22
- });
23
- module.exports = __toCommonJS(ScrollToTop_exports);
24
- var import_react = require("react");
25
- var import_react_router_dom = require("react-router-dom");
26
- const ScrollToTop = () => {
27
- const { pathname } = (0, import_react_router_dom.useLocation)();
28
- (0, import_react.useEffect)(() => {
29
- window.scrollTo(0, 0);
30
- }, [pathname]);
31
- return null;
32
- };
33
- // Annotate the CommonJS export names for ESM import in node:
34
- 0 && (module.exports = {
35
- ScrollToTop
36
- });
37
- //# sourceMappingURL=ScrollToTop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ScrollToTop.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\n// The point of this component it to return to the top of the page on any router navigate\n\nexport const ScrollToTop = () => {\n const { pathname } = useLocation()\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [pathname])\n\n return null\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,8BAA4B;AAIrB,MAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,QAAI,qCAAY;AACjC,8BAAU,MAAM;AACd,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AACT;","names":[]}
@@ -1,13 +0,0 @@
1
- import { useEffect } from "react";
2
- import { useLocation } from "react-router-dom";
3
- const ScrollToTop = () => {
4
- const { pathname } = useLocation();
5
- useEffect(() => {
6
- window.scrollTo(0, 0);
7
- }, [pathname]);
8
- return null;
9
- };
10
- export {
11
- ScrollToTop
12
- };
13
- //# sourceMappingURL=ScrollToTop.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ScrollToTop.tsx"],"sourcesContent":["import { useEffect } from 'react'\nimport { useLocation } from 'react-router-dom'\n\n// The point of this component it to return to the top of the page on any router navigate\n\nexport const ScrollToTop = () => {\n const { pathname } = useLocation()\n useEffect(() => {\n window.scrollTo(0, 0)\n }, [pathname])\n\n return null\n}\n"],"mappings":"AAAA,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAIrB,MAAM,cAAc,MAAM;AAC/B,QAAM,EAAE,SAAS,IAAI,YAAY;AACjC,YAAU,MAAM;AACd,WAAO,SAAS,GAAG,CAAC;AAAA,EACtB,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO;AACT;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ScrollToTopButton.tsx"],"sourcesContent":["import { Box, useScrollTrigger, useTheme, Zoom, ZoomProps } from '@mui/material'\nimport React from 'react'\n\nexport interface ScrollToTopButtonProps extends ZoomProps {\n anchorId: string\n}\n\nexport const ScrollToTopButton: React.FC<ScrollToTopButtonProps> = ({ children, anchorId, ...props }) => {\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 100,\n })\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const anchor = ((event.target as HTMLDivElement).ownerDocument || document).querySelector(`#${anchorId}`)\n\n if (anchor) {\n anchor.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n }\n\n const theme = useTheme()\n\n return (\n <Zoom in={trigger} {...props}>\n <Box zIndex={10} position=\"fixed\" right={theme.spacing(2)} bottom={theme.spacing(2)} onClick={handleClick} role=\"presentation\">\n {children}\n </Box>\n </Zoom>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBM;AAzBN,sBAAiE;AAO1D,MAAM,oBAAsD,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACvG,QAAM,cAAU,kCAAiB;AAAA,IAC/B,mBAAmB;AAAA,IACnB,WAAW;AAAA,EACb,CAAC;AAED,QAAM,cAAc,CAAC,UAA4C;AAC/D,UAAM,UAAW,MAAM,OAA0B,iBAAiB,UAAU,cAAc,IAAI,QAAQ,EAAE;AAExG,QAAI,QAAQ;AACV,aAAO,eAAe,EAAE,UAAU,UAAU,OAAO,SAAS,CAAC;AAAA,IAC/D;AAAA,EACF;AAEA,QAAM,YAAQ,0BAAS;AAEvB,SACE,4CAAC,wBAAK,IAAI,SAAU,GAAG,OACrB,sDAAC,uBAAI,QAAQ,IAAI,UAAS,SAAQ,OAAO,MAAM,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,CAAC,GAAG,SAAS,aAAa,MAAK,gBAC7G,UACH,GACF;AAEJ;","names":[]}
@@ -1,20 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
- import { Box, useScrollTrigger, useTheme, Zoom } from "@mui/material";
3
- const ScrollToTopButton = ({ children, anchorId, ...props }) => {
4
- const trigger = useScrollTrigger({
5
- disableHysteresis: true,
6
- threshold: 100
7
- });
8
- const handleClick = (event) => {
9
- const anchor = (event.target.ownerDocument || document).querySelector(`#${anchorId}`);
10
- if (anchor) {
11
- anchor.scrollIntoView({ behavior: "smooth", block: "center" });
12
- }
13
- };
14
- const theme = useTheme();
15
- return /* @__PURE__ */ jsx(Zoom, { in: trigger, ...props, children: /* @__PURE__ */ jsx(Box, { zIndex: 10, position: "fixed", right: theme.spacing(2), bottom: theme.spacing(2), onClick: handleClick, role: "presentation", children }) });
16
- };
17
- export {
18
- ScrollToTopButton
19
- };
20
- //# sourceMappingURL=ScrollToTopButton.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/ScrollToTopButton.tsx"],"sourcesContent":["import { Box, useScrollTrigger, useTheme, Zoom, ZoomProps } from '@mui/material'\nimport React from 'react'\n\nexport interface ScrollToTopButtonProps extends ZoomProps {\n anchorId: string\n}\n\nexport const ScrollToTopButton: React.FC<ScrollToTopButtonProps> = ({ children, anchorId, ...props }) => {\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 100,\n })\n\n const handleClick = (event: React.MouseEvent<HTMLDivElement>) => {\n const anchor = ((event.target as HTMLDivElement).ownerDocument || document).querySelector(`#${anchorId}`)\n\n if (anchor) {\n anchor.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n }\n\n const theme = useTheme()\n\n return (\n <Zoom in={trigger} {...props}>\n <Box zIndex={10} position=\"fixed\" right={theme.spacing(2)} bottom={theme.spacing(2)} onClick={handleClick} role=\"presentation\">\n {children}\n </Box>\n </Zoom>\n )\n}\n"],"mappings":"AAyBM;AAzBN,SAAS,KAAK,kBAAkB,UAAU,YAAuB;AAO1D,MAAM,oBAAsD,CAAC,EAAE,UAAU,UAAU,GAAG,MAAM,MAAM;AACvG,QAAM,UAAU,iBAAiB;AAAA,IAC/B,mBAAmB;AAAA,IACnB,WAAW;AAAA,EACb,CAAC;AAED,QAAM,cAAc,CAAC,UAA4C;AAC/D,UAAM,UAAW,MAAM,OAA0B,iBAAiB,UAAU,cAAc,IAAI,QAAQ,EAAE;AAExG,QAAI,QAAQ;AACV,aAAO,eAAe,EAAE,UAAU,UAAU,OAAO,SAAS,CAAC;AAAA,IAC/D;AAAA,EACF;AAEA,QAAM,QAAQ,SAAS;AAEvB,SACE,oBAAC,QAAK,IAAI,SAAU,GAAG,OACrB,8BAAC,OAAI,QAAQ,IAAI,UAAS,SAAQ,OAAO,MAAM,QAAQ,CAAC,GAAG,QAAQ,MAAM,QAAQ,CAAC,GAAG,SAAS,aAAa,MAAK,gBAC7G,UACH,GACF;AAEJ;","names":[]}
@@ -1,3 +0,0 @@
1
- export * from "./ScrollToTop";
2
- export * from "./ScrollToTopButton";
3
- //# sourceMappingURL=index.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './ScrollToTop'\nexport * from './ScrollToTopButton'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;","names":[]}