@undefine-ui/design-system 2.3.0 → 2.4.0
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/index.cjs +74 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +51 -1
- package/dist/index.d.ts +51 -1
- package/dist/index.js +68 -10
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -152,6 +152,8 @@ __export(index_exports, {
|
|
|
152
152
|
useEventListener: () => useEventListener,
|
|
153
153
|
useLocalStorage: () => useLocalStorage,
|
|
154
154
|
useResponsive: () => useResponsive,
|
|
155
|
+
useScrollOffSetTop: () => useScrollOffSetTop,
|
|
156
|
+
useSetState: () => useSetState,
|
|
155
157
|
useSettings: () => useSettings,
|
|
156
158
|
useWidth: () => useWidth,
|
|
157
159
|
varAlpha: () => varAlpha,
|
|
@@ -709,13 +711,43 @@ var useSettings = () => {
|
|
|
709
711
|
return context;
|
|
710
712
|
};
|
|
711
713
|
|
|
712
|
-
// src/hooks/
|
|
714
|
+
// src/hooks/useSetState.ts
|
|
713
715
|
var import_react5 = require("react");
|
|
716
|
+
var useSetState = (initialState) => {
|
|
717
|
+
const [state, set] = (0, import_react5.useState)(initialState);
|
|
718
|
+
const canReset = !isEqual(state, initialState);
|
|
719
|
+
const setState = (0, import_react5.useCallback)((updateState) => {
|
|
720
|
+
set((prevValue) => ({ ...prevValue, ...updateState }));
|
|
721
|
+
}, []);
|
|
722
|
+
const setField = (0, import_react5.useCallback)(
|
|
723
|
+
(name, updateValue) => {
|
|
724
|
+
setState({ [name]: updateValue });
|
|
725
|
+
},
|
|
726
|
+
[setState]
|
|
727
|
+
);
|
|
728
|
+
const onResetState = (0, import_react5.useCallback)(() => {
|
|
729
|
+
set(initialState);
|
|
730
|
+
}, [initialState]);
|
|
731
|
+
const memoizedValue = (0, import_react5.useMemo)(
|
|
732
|
+
() => ({
|
|
733
|
+
state,
|
|
734
|
+
setState,
|
|
735
|
+
setField,
|
|
736
|
+
onResetState,
|
|
737
|
+
canReset
|
|
738
|
+
}),
|
|
739
|
+
[canReset, onResetState, setField, setState, state]
|
|
740
|
+
);
|
|
741
|
+
return memoizedValue;
|
|
742
|
+
};
|
|
743
|
+
|
|
744
|
+
// src/hooks/useResponsive.ts
|
|
745
|
+
var import_react6 = require("react");
|
|
714
746
|
var import_useMediaQuery = __toESM(require("@mui/material/useMediaQuery"), 1);
|
|
715
747
|
var import_styles = require("@mui/material/styles");
|
|
716
748
|
var useResponsive = (query, start, end) => {
|
|
717
749
|
const theme = (0, import_styles.useTheme)();
|
|
718
|
-
const getQuery = (0,
|
|
750
|
+
const getQuery = (0, import_react6.useMemo)(() => {
|
|
719
751
|
switch (query) {
|
|
720
752
|
case "up":
|
|
721
753
|
return theme.breakpoints.up(start);
|
|
@@ -734,7 +766,7 @@ var useResponsive = (query, start, end) => {
|
|
|
734
766
|
};
|
|
735
767
|
var useWidth = () => {
|
|
736
768
|
const theme = (0, import_styles.useTheme)();
|
|
737
|
-
const keys = (0,
|
|
769
|
+
const keys = (0, import_react6.useMemo)(() => [...theme.breakpoints.keys].reverse(), [theme]);
|
|
738
770
|
const width = keys.reduce((output, key) => {
|
|
739
771
|
const matches = (0, import_useMediaQuery.default)(theme.breakpoints.up(key));
|
|
740
772
|
return !output && matches ? key : output;
|
|
@@ -743,19 +775,19 @@ var useWidth = () => {
|
|
|
743
775
|
};
|
|
744
776
|
|
|
745
777
|
// src/hooks/useEventListener.ts
|
|
746
|
-
var
|
|
747
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
778
|
+
var import_react7 = require("react");
|
|
779
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react7.useLayoutEffect : import_react7.useEffect;
|
|
748
780
|
var useEventListener = ({
|
|
749
781
|
eventName,
|
|
750
782
|
handler,
|
|
751
783
|
element,
|
|
752
784
|
options
|
|
753
785
|
}) => {
|
|
754
|
-
const savedHandler = (0,
|
|
786
|
+
const savedHandler = (0, import_react7.useRef)(handler);
|
|
755
787
|
useIsomorphicLayoutEffect(() => {
|
|
756
788
|
savedHandler.current = handler;
|
|
757
789
|
}, [handler]);
|
|
758
|
-
(0,
|
|
790
|
+
(0, import_react7.useEffect)(() => {
|
|
759
791
|
const targetElement = element?.current || window;
|
|
760
792
|
if (!(targetElement && targetElement.addEventListener)) {
|
|
761
793
|
return;
|
|
@@ -769,11 +801,11 @@ var useEventListener = ({
|
|
|
769
801
|
};
|
|
770
802
|
|
|
771
803
|
// src/hooks/useCopyToClipboard.ts
|
|
772
|
-
var
|
|
804
|
+
var import_react8 = require("react");
|
|
773
805
|
var useCopyToClipboard = () => {
|
|
774
|
-
const [copiedText, setCopiedText] = (0,
|
|
775
|
-
const [isCopied, setIsCopied] = (0,
|
|
776
|
-
const copy = (0,
|
|
806
|
+
const [copiedText, setCopiedText] = (0, import_react8.useState)("");
|
|
807
|
+
const [isCopied, setIsCopied] = (0, import_react8.useState)(false);
|
|
808
|
+
const copy = (0, import_react8.useCallback)(
|
|
777
809
|
async (text2) => {
|
|
778
810
|
if (!navigator?.clipboard) {
|
|
779
811
|
console.warn("Clipboard not supported");
|
|
@@ -793,13 +825,39 @@ var useCopyToClipboard = () => {
|
|
|
793
825
|
},
|
|
794
826
|
[setCopiedText]
|
|
795
827
|
);
|
|
796
|
-
const memoizedValue = (0,
|
|
828
|
+
const memoizedValue = (0, import_react8.useMemo)(
|
|
797
829
|
() => ({ copy, copiedText, isCopied }),
|
|
798
830
|
[copy, copiedText, isCopied]
|
|
799
831
|
);
|
|
800
832
|
return memoizedValue;
|
|
801
833
|
};
|
|
802
834
|
|
|
835
|
+
// src/hooks/useScrollOffsetTop.ts
|
|
836
|
+
var import_react9 = require("react");
|
|
837
|
+
var useScrollOffSetTop = (top = 0) => {
|
|
838
|
+
const elementRef = (0, import_react9.useRef)(null);
|
|
839
|
+
const [offsetTop, setOffsetTop] = (0, import_react9.useState)(false);
|
|
840
|
+
const handleScrollChange = (0, import_react9.useCallback)(() => {
|
|
841
|
+
const scrollHeight = Math.round(window.scrollY);
|
|
842
|
+
if (elementRef?.current) {
|
|
843
|
+
const rect = elementRef.current.getBoundingClientRect();
|
|
844
|
+
const elementTop = Math.round(rect.top);
|
|
845
|
+
setOffsetTop(elementTop < top);
|
|
846
|
+
} else {
|
|
847
|
+
setOffsetTop(scrollHeight > top);
|
|
848
|
+
}
|
|
849
|
+
}, [top]);
|
|
850
|
+
(0, import_react9.useEffect)(() => {
|
|
851
|
+
handleScrollChange();
|
|
852
|
+
window.addEventListener("scroll", handleScrollChange, { passive: true });
|
|
853
|
+
return () => {
|
|
854
|
+
window.removeEventListener("scroll", handleScrollChange);
|
|
855
|
+
};
|
|
856
|
+
}, [handleScrollChange]);
|
|
857
|
+
const memoizedValue = (0, import_react9.useMemo)(() => ({ elementRef, offsetTop }), [offsetTop]);
|
|
858
|
+
return memoizedValue;
|
|
859
|
+
};
|
|
860
|
+
|
|
803
861
|
// src/theme/core/radius.ts
|
|
804
862
|
function radius(baseRadius) {
|
|
805
863
|
return {
|
|
@@ -6075,7 +6133,7 @@ var UploadProgress = ({ progress: progress2 = 20 }) => {
|
|
|
6075
6133
|
};
|
|
6076
6134
|
|
|
6077
6135
|
// src/components/Upload/components/MultiFilePreview.tsx
|
|
6078
|
-
var
|
|
6136
|
+
var import_react10 = require("react");
|
|
6079
6137
|
var import_Box9 = __toESM(require("@mui/material/Box"), 1);
|
|
6080
6138
|
var import_IconButton3 = __toESM(require("@mui/material/IconButton"), 1);
|
|
6081
6139
|
|
|
@@ -6143,7 +6201,7 @@ var DeleteButton = ({ sx, ...rest }) => {
|
|
|
6143
6201
|
// src/components/Upload/components/MultiFilePreview.tsx
|
|
6144
6202
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
6145
6203
|
var MultiFilePreview = ({ files, onRemove }) => {
|
|
6146
|
-
const scrollRef = (0,
|
|
6204
|
+
const scrollRef = (0, import_react10.useRef)(null);
|
|
6147
6205
|
const handleScroll = (direction) => {
|
|
6148
6206
|
if (scrollRef.current) {
|
|
6149
6207
|
const scrollAmount = 300;
|
|
@@ -7114,6 +7172,8 @@ var SplashScreen = ({ portal, sx, ...rest }) => {
|
|
|
7114
7172
|
useEventListener,
|
|
7115
7173
|
useLocalStorage,
|
|
7116
7174
|
useResponsive,
|
|
7175
|
+
useScrollOffSetTop,
|
|
7176
|
+
useSetState,
|
|
7117
7177
|
useSettings,
|
|
7118
7178
|
useWidth,
|
|
7119
7179
|
varAlpha,
|