@mantine/nprogress 6.0.16 → 7.0.0-alpha.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.
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var core = require('@mantine/core');
6
- var hooks = require('@mantine/hooks');
7
5
  var React = require('react');
8
- var events = require('./events.js');
6
+ var core = require('@mantine/core');
7
+ var nprogress_store = require('./nprogress.store.js');
8
+ var NavigationProgress_module = require('./NavigationProgress.module.css.js');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e['default'] : e; }
11
11
 
@@ -30,119 +30,62 @@ var __spreadValues = (a, b) => {
30
30
  return a;
31
31
  };
32
32
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
33
- function NavigationProgress({
34
- initialProgress = 0,
35
- color,
36
- size = 3,
37
- stepInterval = 500,
38
- transitionDuration = 300,
39
- exitTimeout = 500,
40
- exitTransitionDuration = 400,
41
- onFinish,
42
- autoReset = false,
43
- withinPortal = true,
44
- portalProps,
45
- zIndex = core.getDefaultZIndex("max"),
46
- progressLabel
47
- }) {
48
- const theme = core.useMantineTheme();
49
- const shouldReduceMotion = hooks.useReducedMotion();
50
- const reducedMotion = theme.respectReducedMotion ? shouldReduceMotion : false;
51
- const [_progress, setProgress] = React.useState(initialProgress);
52
- const [mounted, setMounted] = React.useState(true);
53
- const [unmountProgress, setUnmountProgress] = React.useState(false);
54
- const resetRef = React.useRef();
55
- const unmountRef = React.useRef();
56
- const interval = hooks.useInterval(() => {
57
- setProgress((amount) => {
58
- let next = 0;
59
- if (amount >= 0 && amount <= 20) {
60
- next = 10;
61
- } else if (amount >= 20 && amount <= 50) {
62
- next = 4;
63
- } else if (amount >= 50 && amount <= 80) {
64
- next = 2;
65
- } else if (amount >= 80 && amount <= 99) {
66
- next = 0.5;
67
- }
68
- return amount + next;
69
- });
70
- }, stepInterval);
71
- const set = (value) => setProgress(value);
72
- const increment = (value) => setProgress((c) => Math.min(c + value, 100));
73
- const decrement = (value) => setProgress((c) => Math.max(c - value, 0));
74
- const start = () => {
75
- interval.stop();
76
- interval.start();
77
- };
78
- const stop = () => interval.stop();
79
- const reset = () => {
80
- setUnmountProgress(true);
81
- stop();
82
- setProgress(0);
83
- window.setTimeout(() => setUnmountProgress(false), 0);
84
- };
85
- const complete = () => setProgress(100);
86
- const cancelUnmount = () => {
87
- if (unmountRef.current) {
88
- window.clearTimeout(unmountRef.current);
89
- unmountRef.current = null;
90
- }
91
- if (resetRef.current) {
92
- window.clearTimeout(resetRef.current);
93
- resetRef.current = null;
33
+ var __objRest = (source, exclude) => {
34
+ var target = {};
35
+ for (var prop in source)
36
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
37
+ target[prop] = source[prop];
38
+ if (source != null && __getOwnPropSymbols)
39
+ for (var prop of __getOwnPropSymbols(source)) {
40
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
41
+ target[prop] = source[prop];
94
42
  }
95
- setMounted(true);
96
- };
97
- hooks.useDidUpdate(() => {
98
- if (_progress >= 100) {
99
- stop();
100
- onFinish == null ? void 0 : onFinish();
101
- unmountRef.current = window.setTimeout(() => {
102
- unmountRef.current = null;
103
- setMounted(false);
104
- if (autoReset) {
105
- resetRef.current = window.setTimeout(() => {
106
- resetRef.current = null;
107
- reset();
108
- }, reducedMotion ? 0 : exitTransitionDuration);
109
- }
110
- }, exitTimeout);
111
- } else if (!mounted) {
112
- cancelUnmount();
113
- }
114
- }, [_progress]);
115
- events.useNavigationProgressEvents({ start, stop, set, increment, decrement, reset, complete });
116
- return /* @__PURE__ */ React__default.createElement(core.OptionalPortal, __spreadProps(__spreadValues({}, portalProps), {
117
- withinPortal
118
- }), !unmountProgress && /* @__PURE__ */ React__default.createElement(core.Progress, {
119
- radius: 0,
120
- value: _progress,
121
- size,
43
+ return target;
44
+ };
45
+ function NavigationProgress(_a) {
46
+ var _b = _a, {
47
+ initialProgress = 0,
122
48
  color,
123
- styles: {
124
- root: {
125
- position: "fixed",
126
- top: 0,
127
- left: 0,
128
- right: 0,
129
- zIndex,
130
- backgroundColor: "transparent",
131
- transitionProperty: "opacity",
132
- transitionTimingFunction: theme.transitionTimingFunction,
133
- transitionDuration: `${reducedMotion || _progress !== 100 ? 0 : exitTransitionDuration}ms`,
134
- opacity: mounted ? 1 : 0
135
- },
136
- bar: {
137
- position: "relative",
138
- transitionProperty: "width",
139
- transitionTimingFunction: theme.transitionTimingFunction,
140
- transitionDuration: `${reducedMotion || !mounted ? 0 : transitionDuration}ms`
141
- }
142
- },
143
- "aria-label": progressLabel
144
- }));
49
+ size = 3,
50
+ stepInterval = 500,
51
+ withinPortal = true,
52
+ portalProps,
53
+ zIndex = core.getDefaultZIndex("max"),
54
+ store = nprogress_store.nprogressStore
55
+ } = _b, others = __objRest(_b, [
56
+ "initialProgress",
57
+ "color",
58
+ "size",
59
+ "stepInterval",
60
+ "withinPortal",
61
+ "portalProps",
62
+ "zIndex",
63
+ "store"
64
+ ]);
65
+ store.initialize({
66
+ mounted: false,
67
+ progress: initialProgress,
68
+ interval: -1,
69
+ step: 1,
70
+ stepInterval,
71
+ timeouts: []
72
+ });
73
+ const state = nprogress_store.useNprogress(store);
74
+ React.useEffect(() => () => nprogress_store.resetNavigationProgressAction(store), [store]);
75
+ return /* @__PURE__ */ React__default.createElement(core.OptionalPortal, __spreadProps(__spreadValues({}, portalProps), { withinPortal }), /* @__PURE__ */ React__default.createElement(
76
+ core.Progress,
77
+ __spreadValues({
78
+ radius: 0,
79
+ value: state.progress,
80
+ size,
81
+ color,
82
+ classNames: NavigationProgress_module['default'],
83
+ "data-mounted": state.mounted || void 0,
84
+ __vars: { "--nprogress-z-index": zIndex == null ? void 0 : zIndex.toString() }
85
+ }, others)
86
+ ));
145
87
  }
88
+ NavigationProgress.displayName = "@mantine/nprogress/NavigationProgress";
146
89
 
147
90
  exports.NavigationProgress = NavigationProgress;
148
91
  //# sourceMappingURL=NavigationProgress.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationProgress.js","sources":["../src/NavigationProgress.tsx"],"sourcesContent":["import {\n OptionalPortal,\n Progress,\n useMantineTheme,\n getDefaultZIndex,\n MantineColor,\n PortalProps,\n} from '@mantine/core';\nimport { useDidUpdate, useInterval, useReducedMotion } from '@mantine/hooks';\nimport React, { useRef, useState } from 'react';\nimport { useNavigationProgressEvents } from './events';\n\nexport interface NavigationProgressProps {\n /** The default progress */\n initialProgress?: number;\n\n /** Key of theme.colors of any other valid CSS color */\n color?: MantineColor;\n\n /** Height of the progressbar */\n size?: number;\n\n /** Called when the progressbar reaches 100% */\n onFinish?(): void;\n\n /** Determines whether progress should be automatically reset when 100% is reached */\n autoReset?: boolean;\n\n /** Step interval in ms */\n stepInterval?: number;\n\n /** Transition duration in ms */\n transitionDuration?: number;\n\n /** Number of ms that should elapse before progressbar is hidden after reaching 100% */\n exitTimeout?: number;\n\n /** Exit transition duration in ms */\n exitTransitionDuration?: number;\n\n /** Determines whether progressbar should be rendered within Portal, defaults to true */\n withinPortal?: boolean;\n\n /** Props to pass down to the portal when withinPortal is true */\n portalProps?: Omit<PortalProps, 'children' | 'withinPortal'>;\n\n /** Progressbar z-index */\n zIndex?: React.CSSProperties['zIndex'];\n\n /** aria-label for `Progress`*/\n progressLabel?: string;\n}\n\nexport function NavigationProgress({\n initialProgress = 0,\n color,\n size = 3,\n stepInterval = 500,\n transitionDuration = 300,\n exitTimeout = 500,\n exitTransitionDuration = 400,\n onFinish,\n autoReset = false,\n withinPortal = true,\n portalProps,\n zIndex = getDefaultZIndex('max'),\n progressLabel,\n}: NavigationProgressProps) {\n const theme = useMantineTheme();\n const shouldReduceMotion = useReducedMotion();\n const reducedMotion = theme.respectReducedMotion ? shouldReduceMotion : false;\n const [_progress, setProgress] = useState(initialProgress);\n const [mounted, setMounted] = useState(true);\n const [unmountProgress, setUnmountProgress] = useState(false);\n const resetRef = useRef<number>();\n const unmountRef = useRef<number>();\n\n const interval = useInterval(() => {\n setProgress((amount) => {\n let next = 0;\n if (amount >= 0 && amount <= 20) {\n next = 10;\n } else if (amount >= 20 && amount <= 50) {\n next = 4;\n } else if (amount >= 50 && amount <= 80) {\n next = 2;\n } else if (amount >= 80 && amount <= 99) {\n next = 0.5;\n }\n\n return amount + next;\n });\n }, stepInterval);\n\n const set = (value: React.SetStateAction<number>) => setProgress(value);\n const increment = (value: number) => setProgress((c) => Math.min(c + value, 100));\n const decrement = (value: number) => setProgress((c) => Math.max(c - value, 0));\n const start = () => {\n interval.stop();\n interval.start();\n };\n const stop = () => interval.stop();\n const reset = () => {\n setUnmountProgress(true);\n stop();\n setProgress(0);\n window.setTimeout(() => setUnmountProgress(false), 0);\n };\n const complete = () => setProgress(100);\n\n const cancelUnmount = () => {\n if (unmountRef.current) {\n window.clearTimeout(unmountRef.current);\n unmountRef.current = null;\n }\n if (resetRef.current) {\n window.clearTimeout(resetRef.current);\n resetRef.current = null;\n }\n\n setMounted(true);\n };\n\n useDidUpdate(() => {\n if (_progress >= 100) {\n stop();\n onFinish?.();\n\n unmountRef.current = window.setTimeout(() => {\n unmountRef.current = null;\n setMounted(false);\n\n if (autoReset) {\n resetRef.current = window.setTimeout(\n () => {\n resetRef.current = null;\n reset();\n },\n reducedMotion ? 0 : exitTransitionDuration\n );\n }\n }, exitTimeout);\n } else if (!mounted) {\n cancelUnmount();\n }\n }, [_progress]);\n\n useNavigationProgressEvents({ start, stop, set, increment, decrement, reset, complete });\n\n return (\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n {!unmountProgress && (\n <Progress\n radius={0}\n value={_progress}\n size={size}\n color={color}\n styles={{\n root: {\n position: 'fixed',\n top: 0,\n left: 0,\n right: 0,\n zIndex,\n backgroundColor: 'transparent',\n transitionProperty: 'opacity',\n transitionTimingFunction: theme.transitionTimingFunction,\n transitionDuration: `${\n reducedMotion || _progress !== 100 ? 0 : exitTransitionDuration\n }ms`,\n opacity: mounted ? 1 : 0,\n },\n bar: {\n position: 'relative',\n transitionProperty: 'width',\n transitionTimingFunction: theme.transitionTimingFunction,\n transitionDuration: `${reducedMotion || !mounted ? 0 : transitionDuration}ms`,\n },\n }}\n aria-label={progressLabel}\n />\n )}\n </OptionalPortal>\n );\n}\n"],"names":["getDefaultZIndex","useMantineTheme","useReducedMotion","useState","useRef","useInterval","useDidUpdate","useNavigationProgressEvents","React","OptionalPortal","Progress"],"mappings":";;;;;;;;;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAU3D,SAAS,kBAAkB,CAAC;AACnC,EAAE,eAAe,GAAG,CAAC;AACrB,EAAE,KAAK;AACP,EAAE,IAAI,GAAG,CAAC;AACV,EAAE,YAAY,GAAG,GAAG;AACpB,EAAE,kBAAkB,GAAG,GAAG;AAC1B,EAAE,WAAW,GAAG,GAAG;AACnB,EAAE,sBAAsB,GAAG,GAAG;AAC9B,EAAE,QAAQ;AACV,EAAE,SAAS,GAAG,KAAK;AACnB,EAAE,YAAY,GAAG,IAAI;AACrB,EAAE,WAAW;AACb,EAAE,MAAM,GAAGA,qBAAgB,CAAC,KAAK,CAAC;AAClC,EAAE,aAAa;AACf,CAAC,EAAE;AACH,EAAE,MAAM,KAAK,GAAGC,oBAAe,EAAE,CAAC;AAClC,EAAE,MAAM,kBAAkB,GAAGC,sBAAgB,EAAE,CAAC;AAChD,EAAE,MAAM,aAAa,GAAG,KAAK,CAAC,oBAAoB,GAAG,kBAAkB,GAAG,KAAK,CAAC;AAChF,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,GAAGC,cAAQ,CAAC,eAAe,CAAC,CAAC;AAC7D,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAGA,cAAQ,CAAC,IAAI,CAAC,CAAC;AAC/C,EAAE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAGA,cAAQ,CAAC,KAAK,CAAC,CAAC;AAChE,EAAE,MAAM,QAAQ,GAAGC,YAAM,EAAE,CAAC;AAC5B,EAAE,MAAM,UAAU,GAAGA,YAAM,EAAE,CAAC;AAC9B,EAAE,MAAM,QAAQ,GAAGC,iBAAW,CAAC,MAAM;AACrC,IAAI,WAAW,CAAC,CAAC,MAAM,KAAK;AAC5B,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC;AACnB,MAAM,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,EAAE,EAAE;AACvC,QAAQ,IAAI,GAAG,EAAE,CAAC;AAClB,OAAO,MAAM,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE,EAAE;AAC/C,QAAQ,IAAI,GAAG,CAAC,CAAC;AACjB,OAAO,MAAM,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE,EAAE;AAC/C,QAAQ,IAAI,GAAG,CAAC,CAAC;AACjB,OAAO,MAAM,IAAI,MAAM,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE,EAAE;AAC/C,QAAQ,IAAI,GAAG,GAAG,CAAC;AACnB,OAAO;AACP,MAAM,OAAO,MAAM,GAAG,IAAI,CAAC;AAC3B,KAAK,CAAC,CAAC;AACP,GAAG,EAAE,YAAY,CAAC,CAAC;AACnB,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC;AAC5C,EAAE,MAAM,SAAS,GAAG,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5E,EAAE,MAAM,SAAS,GAAG,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AAC1E,EAAE,MAAM,KAAK,GAAG,MAAM;AACtB,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;AACpB,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;AACrC,EAAE,MAAM,KAAK,GAAG,MAAM;AACtB,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC7B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC;AACnB,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,GAAG,CAAC;AACJ,EAAE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1C,EAAE,MAAM,aAAa,GAAG,MAAM;AAC9B,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AAC5B,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,KAAK;AACL,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC1B,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAC5C,MAAM,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;AAC9B,KAAK;AACL,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACrB,GAAG,CAAC;AACJ,EAAEC,kBAAY,CAAC,MAAM;AACrB,IAAI,IAAI,SAAS,IAAI,GAAG,EAAE;AAC1B,MAAM,IAAI,EAAE,CAAC;AACb,MAAM,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,EAAE,CAAC;AAC7C,MAAM,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;AACnD,QAAQ,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAClC,QAAQ,UAAU,CAAC,KAAK,CAAC,CAAC;AAC1B,QAAQ,IAAI,SAAS,EAAE;AACvB,UAAU,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;AACrD,YAAY,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC;AACpC,YAAY,KAAK,EAAE,CAAC;AACpB,WAAW,EAAE,aAAa,GAAG,CAAC,GAAG,sBAAsB,CAAC,CAAC;AACzD,SAAS;AACT,OAAO,EAAE,WAAW,CAAC,CAAC;AACtB,KAAK,MAAM,IAAI,CAAC,OAAO,EAAE;AACzB,MAAM,aAAa,EAAE,CAAC;AACtB,KAAK;AACL,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;AAClB,EAAEC,kCAA2B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3F,EAAE,uBAAuBC,cAAK,CAAC,aAAa,CAACC,mBAAc,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE;AAC5G,IAAI,YAAY;AAChB,GAAG,CAAC,EAAE,CAAC,eAAe,oBAAoBD,cAAK,CAAC,aAAa,CAACE,aAAQ,EAAE;AACxE,IAAI,MAAM,EAAE,CAAC;AACb,IAAI,KAAK,EAAE,SAAS;AACpB,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,MAAM,EAAE;AACZ,MAAM,IAAI,EAAE;AACZ,QAAQ,QAAQ,EAAE,OAAO;AACzB,QAAQ,GAAG,EAAE,CAAC;AACd,QAAQ,IAAI,EAAE,CAAC;AACf,QAAQ,KAAK,EAAE,CAAC;AAChB,QAAQ,MAAM;AACd,QAAQ,eAAe,EAAE,aAAa;AACtC,QAAQ,kBAAkB,EAAE,SAAS;AACrC,QAAQ,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;AAChE,QAAQ,kBAAkB,EAAE,CAAC,EAAE,aAAa,IAAI,SAAS,KAAK,GAAG,GAAG,CAAC,GAAG,sBAAsB,CAAC,EAAE,CAAC;AAClG,QAAQ,OAAO,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC;AAChC,OAAO;AACP,MAAM,GAAG,EAAE;AACX,QAAQ,QAAQ,EAAE,UAAU;AAC5B,QAAQ,kBAAkB,EAAE,OAAO;AACnC,QAAQ,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;AAChE,QAAQ,kBAAkB,EAAE,CAAC,EAAE,aAAa,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,kBAAkB,CAAC,EAAE,CAAC;AACrF,OAAO;AACP,KAAK;AACL,IAAI,YAAY,EAAE,aAAa;AAC/B,GAAG,CAAC,CAAC,CAAC;AACN;;;;"}
1
+ {"version":3,"file":"NavigationProgress.js","sources":["../src/NavigationProgress.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport {\n OptionalPortal,\n Progress,\n getDefaultZIndex,\n MantineColor,\n PortalProps,\n ElementProps,\n} from '@mantine/core';\nimport {\n NprogressStore,\n nprogressStore,\n resetNavigationProgressAction,\n useNprogress,\n} from './nprogress.store';\nimport classes from './NavigationProgress.module.css';\n\nexport interface NavigationProgressProps extends ElementProps<'div'> {\n /** Component store, controls state */\n store?: NprogressStore;\n\n /** Initial progress value, `0` by default */\n initialProgress?: number;\n\n /** Key of `theme.colors` of any other valid CSS color, `theme.primaryColor` by default */\n color?: MantineColor;\n\n /** Controls height of the progress bar */\n size?: number;\n\n /** Step interval in ms, `500` by default */\n stepInterval?: number;\n\n /** Determines whether the progress bar should be rendered within `Portal`, `true` by default */\n withinPortal?: boolean;\n\n /** Props to pass down to the `Portal` when `withinPortal` is `true` */\n portalProps?: Omit<PortalProps, 'children' | 'withinPortal'>;\n\n /** Progressbar z-index, `9999` by default */\n zIndex?: React.CSSProperties['zIndex'];\n}\n\nexport function NavigationProgress({\n initialProgress = 0,\n color,\n size = 3,\n stepInterval = 500,\n withinPortal = true,\n portalProps,\n zIndex = getDefaultZIndex('max'),\n store = nprogressStore,\n ...others\n}: NavigationProgressProps) {\n store.initialize({\n mounted: false,\n progress: initialProgress,\n interval: -1,\n step: 1,\n stepInterval,\n timeouts: [],\n });\n\n const state = useNprogress(store);\n\n useEffect(() => () => resetNavigationProgressAction(store), [store]);\n\n return (\n <OptionalPortal {...portalProps} withinPortal={withinPortal}>\n <Progress\n radius={0}\n value={state.progress}\n size={size}\n color={color}\n classNames={classes}\n data-mounted={state.mounted || undefined}\n __vars={{ '--nprogress-z-index': zIndex?.toString() }}\n {...others}\n />\n </OptionalPortal>\n );\n}\n\nNavigationProgress.displayName = '@mantine/nprogress/NavigationProgress';\n"],"names":["getDefaultZIndex","nprogressStore","useNprogress","useEffect","resetNavigationProgressAction","React","OptionalPortal","Progress","classes"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var classes = {"root":"m-8f2832ae","section":"m-7a0fe999"};
6
+
7
+ exports.default = classes;
8
+ //# sourceMappingURL=NavigationProgress.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavigationProgress.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
package/cjs/index.css ADDED
@@ -0,0 +1,35 @@
1
+ .m-8f2832ae {
2
+ position: fixed;
3
+ top: 0;
4
+ right: 0;
5
+ left: 0;
6
+ z-index: var(--nprogress-z-index);
7
+ background-color: transparent;
8
+ transition: opacity 150ms ease;
9
+ transition-delay: 50ms;
10
+ opacity: var(--_nprogress-opacity, 0);
11
+ overflow: visible;
12
+ }
13
+
14
+ .m-8f2832ae[data-mounted] {
15
+ --_nprogress-opacity: 1;
16
+ }
17
+
18
+ .m-7a0fe999 {
19
+ position: relative;
20
+ transition: width 150ms ease;
21
+ overflow: visible;
22
+ }
23
+
24
+ .m-7a0fe999::before {
25
+ content: '';
26
+ position: absolute;
27
+ width: calc(6.25rem * var(--mantine-scale));
28
+ height: var(--progress-size);
29
+ top: 0;
30
+ right: 1px;
31
+ transform: rotate(4deg) translateY(-4px);
32
+ box-shadow:
33
+ 0 0 10px var(--progress-section-color),
34
+ 0 0 5px var(--progress-section-color);
35
+ }
package/cjs/index.js CHANGED
@@ -1,19 +1,34 @@
1
+ 'use client';
1
2
  'use strict';
2
3
 
3
4
  Object.defineProperty(exports, '__esModule', { value: true });
4
5
 
5
6
  var NavigationProgress = require('./NavigationProgress.js');
6
- var events = require('./events.js');
7
+ var nprogress_store = require('./nprogress.store.js');
7
8
 
8
9
 
9
10
 
10
11
  exports.NavigationProgress = NavigationProgress.NavigationProgress;
11
- exports.completeNavigationProgress = events.completeNavigationProgress;
12
- exports.decrementNavigationProgress = events.decrementNavigationProgress;
13
- exports.incrementNavigationProgress = events.incrementNavigationProgress;
14
- exports.nprogress = events.nprogress;
15
- exports.resetNavigationProgress = events.resetNavigationProgress;
16
- exports.setNavigationProgress = events.setNavigationProgress;
17
- exports.startNavigationProgress = events.startNavigationProgress;
18
- exports.stopNavigationProgress = events.stopNavigationProgress;
12
+ exports.cleanupNavigationProgress = nprogress_store.cleanupNavigationProgress;
13
+ exports.cleanupNavigationProgressAction = nprogress_store.cleanupNavigationProgressAction;
14
+ exports.completeNavigationProgress = nprogress_store.completeNavigationProgress;
15
+ exports.completeNavigationProgressAction = nprogress_store.completeNavigationProgressAction;
16
+ exports.createNprogress = nprogress_store.createNprogress;
17
+ exports.createNprogressStore = nprogress_store.createNprogressStore;
18
+ exports.decrementNavigationProgress = nprogress_store.decrementNavigationProgress;
19
+ exports.decrementNavigationProgressAction = nprogress_store.decrementNavigationProgressAction;
20
+ exports.incrementNavigationProgress = nprogress_store.incrementNavigationProgress;
21
+ exports.incrementNavigationProgressAction = nprogress_store.incrementNavigationProgressAction;
22
+ exports.nprogress = nprogress_store.nprogress;
23
+ exports.nprogressStore = nprogress_store.nprogressStore;
24
+ exports.resetNavigationProgress = nprogress_store.resetNavigationProgress;
25
+ exports.resetNavigationProgressAction = nprogress_store.resetNavigationProgressAction;
26
+ exports.setNavigationProgress = nprogress_store.setNavigationProgress;
27
+ exports.setNavigationProgressAction = nprogress_store.setNavigationProgressAction;
28
+ exports.startNavigationProgress = nprogress_store.startNavigationProgress;
29
+ exports.startNavigationProgressAction = nprogress_store.startNavigationProgressAction;
30
+ exports.stopNavigationProgress = nprogress_store.stopNavigationProgress;
31
+ exports.stopNavigationProgressAction = nprogress_store.stopNavigationProgressAction;
32
+ exports.updateNavigationProgressStateAction = nprogress_store.updateNavigationProgressStateAction;
33
+ exports.useNprogress = nprogress_store.useNprogress;
19
34
  //# sourceMappingURL=index.js.map
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,179 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var hooks = require('@mantine/hooks');
6
+ var store = require('@mantine/store');
7
+
8
+ var __defProp = Object.defineProperty;
9
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ function getIntervalProgressValue(currentProgress) {
25
+ let next = 0.5;
26
+ if (currentProgress >= 0 && currentProgress <= 20) {
27
+ next = 10;
28
+ } else if (currentProgress >= 20 && currentProgress <= 50) {
29
+ next = 4;
30
+ } else if (currentProgress >= 50 && currentProgress <= 80) {
31
+ next = 2;
32
+ } else if (currentProgress >= 80 && currentProgress <= 99) {
33
+ next = 1;
34
+ } else if (currentProgress >= 99 && currentProgress <= 100) {
35
+ next = 0;
36
+ }
37
+ return currentProgress + next;
38
+ }
39
+ const createNprogressStore = () => store.createStore({
40
+ mounted: false,
41
+ progress: 0,
42
+ interval: 0,
43
+ step: 1,
44
+ stepInterval: 100,
45
+ timeouts: []
46
+ });
47
+ const useNprogress = (store$1) => store.useStore(store$1);
48
+ function updateNavigationProgressStateAction(update, store) {
49
+ const state = store.getState();
50
+ store.setState(__spreadValues(__spreadValues({}, state), update(store.getState())));
51
+ }
52
+ function decrementNavigationProgressAction(store) {
53
+ updateNavigationProgressStateAction(
54
+ (state) => ({ progress: Math.max(state.progress - state.step, 0) }),
55
+ store
56
+ );
57
+ }
58
+ function setNavigationProgressAction(value, store) {
59
+ updateNavigationProgressStateAction(
60
+ () => ({ progress: hooks.clamp(value, 0, 100), mounted: true }),
61
+ store
62
+ );
63
+ }
64
+ function cleanupNavigationProgressAction(store) {
65
+ updateNavigationProgressStateAction((state) => {
66
+ window.clearInterval(state.interval);
67
+ state.timeouts.forEach((timeout) => window.clearTimeout(timeout));
68
+ return { timeouts: [] };
69
+ }, store);
70
+ }
71
+ function completeNavigationProgressAction(store) {
72
+ cleanupNavigationProgressAction(store);
73
+ updateNavigationProgressStateAction((state) => {
74
+ const mountedTimeout = window.setTimeout(() => {
75
+ updateNavigationProgressStateAction(() => ({ mounted: false }), store);
76
+ }, 50);
77
+ const resetTimeout = window.setTimeout(() => {
78
+ updateNavigationProgressStateAction(() => ({ progress: 0 }), store);
79
+ }, state.stepInterval + 50);
80
+ return { progress: 100, timeouts: [mountedTimeout, resetTimeout] };
81
+ }, store);
82
+ }
83
+ function startNavigationProgressAction(store) {
84
+ updateNavigationProgressStateAction(
85
+ (s) => ({ progress: getIntervalProgressValue(s.progress), mounted: true }),
86
+ store
87
+ );
88
+ updateNavigationProgressStateAction((state) => {
89
+ window.clearInterval(state.interval);
90
+ const interval = window.setInterval(() => {
91
+ updateNavigationProgressStateAction(
92
+ (s) => ({ progress: getIntervalProgressValue(s.progress), mounted: true }),
93
+ store
94
+ );
95
+ }, state.stepInterval);
96
+ return { interval, mounted: true };
97
+ }, store);
98
+ }
99
+ function stopNavigationProgressAction(store) {
100
+ updateNavigationProgressStateAction((state) => {
101
+ window.clearInterval(state.interval);
102
+ return { interval: -1 };
103
+ }, store);
104
+ }
105
+ function resetNavigationProgressAction(store) {
106
+ cleanupNavigationProgressAction(store);
107
+ stopNavigationProgressAction(store);
108
+ updateNavigationProgressStateAction(() => ({ progress: 0, mounted: false }), store);
109
+ }
110
+ function incrementNavigationProgressAction(store) {
111
+ updateNavigationProgressStateAction((state) => {
112
+ const nextValue = Math.min(state.progress + state.step, 100);
113
+ const nextMounted = nextValue !== 100 && nextValue !== 0;
114
+ if (!nextMounted) {
115
+ const timeout = window.setTimeout(
116
+ () => resetNavigationProgressAction(store),
117
+ state.stepInterval + 50
118
+ );
119
+ return {
120
+ progress: nextValue,
121
+ mounted: nextMounted,
122
+ timeouts: [...state.timeouts, timeout]
123
+ };
124
+ }
125
+ return {
126
+ progress: nextValue,
127
+ mounted: nextMounted
128
+ };
129
+ }, store);
130
+ }
131
+ function createNprogress() {
132
+ const store = createNprogressStore();
133
+ const actions = {
134
+ start: () => startNavigationProgressAction(store),
135
+ stop: () => stopNavigationProgressAction(store),
136
+ reset: () => resetNavigationProgressAction(store),
137
+ set: (value) => setNavigationProgressAction(value, store),
138
+ increment: () => incrementNavigationProgressAction(store),
139
+ decrement: () => decrementNavigationProgressAction(store),
140
+ complete: () => completeNavigationProgressAction(store),
141
+ cleanup: () => cleanupNavigationProgressAction(store)
142
+ };
143
+ return [store, actions];
144
+ }
145
+ const [nprogressStore, nprogress] = createNprogress();
146
+ const {
147
+ start: startNavigationProgress,
148
+ stop: stopNavigationProgress,
149
+ reset: resetNavigationProgress,
150
+ set: setNavigationProgress,
151
+ increment: incrementNavigationProgress,
152
+ decrement: decrementNavigationProgress,
153
+ complete: completeNavigationProgress,
154
+ cleanup: cleanupNavigationProgress
155
+ } = nprogress;
156
+
157
+ exports.cleanupNavigationProgress = cleanupNavigationProgress;
158
+ exports.cleanupNavigationProgressAction = cleanupNavigationProgressAction;
159
+ exports.completeNavigationProgress = completeNavigationProgress;
160
+ exports.completeNavigationProgressAction = completeNavigationProgressAction;
161
+ exports.createNprogress = createNprogress;
162
+ exports.createNprogressStore = createNprogressStore;
163
+ exports.decrementNavigationProgress = decrementNavigationProgress;
164
+ exports.decrementNavigationProgressAction = decrementNavigationProgressAction;
165
+ exports.incrementNavigationProgress = incrementNavigationProgress;
166
+ exports.incrementNavigationProgressAction = incrementNavigationProgressAction;
167
+ exports.nprogress = nprogress;
168
+ exports.nprogressStore = nprogressStore;
169
+ exports.resetNavigationProgress = resetNavigationProgress;
170
+ exports.resetNavigationProgressAction = resetNavigationProgressAction;
171
+ exports.setNavigationProgress = setNavigationProgress;
172
+ exports.setNavigationProgressAction = setNavigationProgressAction;
173
+ exports.startNavigationProgress = startNavigationProgress;
174
+ exports.startNavigationProgressAction = startNavigationProgressAction;
175
+ exports.stopNavigationProgress = stopNavigationProgress;
176
+ exports.stopNavigationProgressAction = stopNavigationProgressAction;
177
+ exports.updateNavigationProgressStateAction = updateNavigationProgressStateAction;
178
+ exports.useNprogress = useNprogress;
179
+ //# sourceMappingURL=nprogress.store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nprogress.store.js","sources":["../src/nprogress.store.ts"],"sourcesContent":["import { clamp } from '@mantine/hooks';\nimport { createStore, useStore, MantineStore } from '@mantine/store';\n\nfunction getIntervalProgressValue(currentProgress: number) {\n let next = 0.5;\n\n if (currentProgress >= 0 && currentProgress <= 20) {\n next = 10;\n } else if (currentProgress >= 20 && currentProgress <= 50) {\n next = 4;\n } else if (currentProgress >= 50 && currentProgress <= 80) {\n next = 2;\n } else if (currentProgress >= 80 && currentProgress <= 99) {\n next = 1;\n } else if (currentProgress >= 99 && currentProgress <= 100) {\n next = 0;\n }\n\n return currentProgress + next;\n}\n\nexport interface NprogressState {\n mounted: boolean;\n progress: number;\n interval: number;\n step: number;\n stepInterval: number;\n timeouts: number[];\n}\n\nexport type NprogressStore = MantineStore<NprogressState>;\n\nexport const createNprogressStore = () =>\n createStore<NprogressState>({\n mounted: false,\n progress: 0,\n interval: 0,\n step: 1,\n stepInterval: 100,\n timeouts: [],\n });\n\nexport const useNprogress = (store: NprogressStore) => useStore(store);\n\nexport function updateNavigationProgressStateAction(\n update: (state: NprogressState) => Partial<NprogressState>,\n store: NprogressStore\n) {\n const state = store.getState();\n store.setState({ ...state, ...update(store.getState()) });\n}\n\nexport function decrementNavigationProgressAction(store: NprogressStore) {\n updateNavigationProgressStateAction(\n (state) => ({ progress: Math.max(state.progress - state.step, 0) }),\n store\n );\n}\n\nexport function setNavigationProgressAction(value: number, store: NprogressStore) {\n updateNavigationProgressStateAction(\n () => ({ progress: clamp(value, 0, 100), mounted: true }),\n store\n );\n}\n\nexport function cleanupNavigationProgressAction(store: NprogressStore) {\n updateNavigationProgressStateAction((state) => {\n window.clearInterval(state.interval);\n state.timeouts.forEach((timeout) => window.clearTimeout(timeout));\n return { timeouts: [] };\n }, store);\n}\n\nexport function completeNavigationProgressAction(store: NprogressStore) {\n cleanupNavigationProgressAction(store);\n\n updateNavigationProgressStateAction((state) => {\n const mountedTimeout = window.setTimeout(() => {\n updateNavigationProgressStateAction(() => ({ mounted: false }), store);\n }, 50);\n\n const resetTimeout = window.setTimeout(() => {\n updateNavigationProgressStateAction(() => ({ progress: 0 }), store);\n }, state.stepInterval + 50);\n\n return { progress: 100, timeouts: [mountedTimeout, resetTimeout] };\n }, store);\n}\n\nexport function startNavigationProgressAction(store: NprogressStore) {\n updateNavigationProgressStateAction(\n (s) => ({ progress: getIntervalProgressValue(s.progress), mounted: true }),\n store\n );\n\n updateNavigationProgressStateAction((state) => {\n window.clearInterval(state.interval);\n\n const interval = window.setInterval(() => {\n updateNavigationProgressStateAction(\n (s) => ({ progress: getIntervalProgressValue(s.progress), mounted: true }),\n store\n );\n }, state.stepInterval);\n\n return { interval, mounted: true };\n }, store);\n}\n\nexport function stopNavigationProgressAction(store: NprogressStore) {\n updateNavigationProgressStateAction((state) => {\n window.clearInterval(state.interval);\n return { interval: -1 };\n }, store);\n}\n\nexport function resetNavigationProgressAction(store: NprogressStore) {\n cleanupNavigationProgressAction(store);\n stopNavigationProgressAction(store);\n updateNavigationProgressStateAction(() => ({ progress: 0, mounted: false }), store);\n}\n\nexport function incrementNavigationProgressAction(store: NprogressStore) {\n updateNavigationProgressStateAction((state) => {\n const nextValue = Math.min(state.progress + state.step, 100);\n const nextMounted = nextValue !== 100 && nextValue !== 0;\n\n if (!nextMounted) {\n const timeout = window.setTimeout(\n () => resetNavigationProgressAction(store),\n state.stepInterval + 50\n );\n\n return {\n progress: nextValue,\n mounted: nextMounted,\n timeouts: [...state.timeouts, timeout],\n };\n }\n\n return {\n progress: nextValue,\n mounted: nextMounted,\n };\n }, store);\n}\n\nexport function createNprogress() {\n const store = createNprogressStore();\n const actions = {\n start: () => startNavigationProgressAction(store),\n stop: () => stopNavigationProgressAction(store),\n reset: () => resetNavigationProgressAction(store),\n set: (value: number) => setNavigationProgressAction(value, store),\n increment: () => incrementNavigationProgressAction(store),\n decrement: () => decrementNavigationProgressAction(store),\n complete: () => completeNavigationProgressAction(store),\n cleanup: () => cleanupNavigationProgressAction(store),\n };\n\n return [store, actions] as const;\n}\n\nexport const [nprogressStore, nprogress] = createNprogress();\nexport const {\n start: startNavigationProgress,\n stop: stopNavigationProgress,\n reset: resetNavigationProgress,\n set: setNavigationProgress,\n increment: incrementNavigationProgress,\n decrement: decrementNavigationProgress,\n complete: completeNavigationProgress,\n cleanup: cleanupNavigationProgress,\n} = nprogress;\n"],"names":["createStore","store","useStore","clamp"],"mappings":"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"}