@riligar/auth-react 1.6.2 → 1.8.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.esm.js +3 -104
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +27 -128
- package/dist/index.js.map +1 -1
- package/package.json +6 -5
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { create } from 'zustand';
|
|
2
|
+
import { useMemo, useEffect, createContext, useState, useRef } from 'react';
|
|
3
|
+
import { useShallow } from 'zustand/react/shallow';
|
|
2
4
|
import { Navigate, Outlet } from 'react-router-dom';
|
|
3
5
|
import { Paper, Stack, Image, Title, Text, TextInput, PasswordInput, Anchor, Button, Divider, Group, Center, Loader } from '@mantine/core';
|
|
4
6
|
import { useForm } from '@mantine/form';
|
|
@@ -284,47 +286,6 @@ function socialRedirect(provider, redirectTo = typeof window !== 'undefined' ? w
|
|
|
284
286
|
window.location = `${API_BASE}/auth/sign-in/${provider}?redirect=${encodeURIComponent(redirectTo)}`;
|
|
285
287
|
}
|
|
286
288
|
|
|
287
|
-
const createStoreImpl = (createState) => {
|
|
288
|
-
let state;
|
|
289
|
-
const listeners = /* @__PURE__ */ new Set();
|
|
290
|
-
const setState = (partial, replace) => {
|
|
291
|
-
const nextState = typeof partial === "function" ? partial(state) : partial;
|
|
292
|
-
if (!Object.is(nextState, state)) {
|
|
293
|
-
const previousState = state;
|
|
294
|
-
state = (replace != null ? replace : typeof nextState !== "object" || nextState === null) ? nextState : Object.assign({}, state, nextState);
|
|
295
|
-
listeners.forEach((listener) => listener(state, previousState));
|
|
296
|
-
}
|
|
297
|
-
};
|
|
298
|
-
const getState = () => state;
|
|
299
|
-
const getInitialState = () => initialState;
|
|
300
|
-
const subscribe = (listener) => {
|
|
301
|
-
listeners.add(listener);
|
|
302
|
-
return () => listeners.delete(listener);
|
|
303
|
-
};
|
|
304
|
-
const api = { setState, getState, getInitialState, subscribe };
|
|
305
|
-
const initialState = state = createState(setState, getState, api);
|
|
306
|
-
return api;
|
|
307
|
-
};
|
|
308
|
-
const createStore = ((createState) => createState ? createStoreImpl(createState) : createStoreImpl);
|
|
309
|
-
|
|
310
|
-
const identity = (arg) => arg;
|
|
311
|
-
function useStore(api, selector = identity) {
|
|
312
|
-
const slice = React$1.useSyncExternalStore(
|
|
313
|
-
api.subscribe,
|
|
314
|
-
React$1.useCallback(() => selector(api.getState()), [api, selector]),
|
|
315
|
-
React$1.useCallback(() => selector(api.getInitialState()), [api, selector])
|
|
316
|
-
);
|
|
317
|
-
React$1.useDebugValue(slice);
|
|
318
|
-
return slice;
|
|
319
|
-
}
|
|
320
|
-
const createImpl = (createState) => {
|
|
321
|
-
const api = createStore(createState);
|
|
322
|
-
const useBoundStore = (selector) => useStore(api, selector);
|
|
323
|
-
Object.assign(useBoundStore, api);
|
|
324
|
-
return useBoundStore;
|
|
325
|
-
};
|
|
326
|
-
const create = ((createState) => createState ? createImpl(createState) : createImpl);
|
|
327
|
-
|
|
328
289
|
// Estado: { user, loading, error }
|
|
329
290
|
const useAuthStore = create((set, get) => ({
|
|
330
291
|
user: null,
|
|
@@ -709,68 +670,6 @@ const useAuthStore = create((set, get) => ({
|
|
|
709
670
|
})
|
|
710
671
|
}));
|
|
711
672
|
|
|
712
|
-
const isIterable = (obj) => Symbol.iterator in obj;
|
|
713
|
-
const hasIterableEntries = (value) => (
|
|
714
|
-
// HACK: avoid checking entries type
|
|
715
|
-
"entries" in value
|
|
716
|
-
);
|
|
717
|
-
const compareEntries = (valueA, valueB) => {
|
|
718
|
-
const mapA = valueA instanceof Map ? valueA : new Map(valueA.entries());
|
|
719
|
-
const mapB = valueB instanceof Map ? valueB : new Map(valueB.entries());
|
|
720
|
-
if (mapA.size !== mapB.size) {
|
|
721
|
-
return false;
|
|
722
|
-
}
|
|
723
|
-
for (const [key, value] of mapA) {
|
|
724
|
-
if (!mapB.has(key) || !Object.is(value, mapB.get(key))) {
|
|
725
|
-
return false;
|
|
726
|
-
}
|
|
727
|
-
}
|
|
728
|
-
return true;
|
|
729
|
-
};
|
|
730
|
-
const compareIterables = (valueA, valueB) => {
|
|
731
|
-
const iteratorA = valueA[Symbol.iterator]();
|
|
732
|
-
const iteratorB = valueB[Symbol.iterator]();
|
|
733
|
-
let nextA = iteratorA.next();
|
|
734
|
-
let nextB = iteratorB.next();
|
|
735
|
-
while (!nextA.done && !nextB.done) {
|
|
736
|
-
if (!Object.is(nextA.value, nextB.value)) {
|
|
737
|
-
return false;
|
|
738
|
-
}
|
|
739
|
-
nextA = iteratorA.next();
|
|
740
|
-
nextB = iteratorB.next();
|
|
741
|
-
}
|
|
742
|
-
return !!nextA.done && !!nextB.done;
|
|
743
|
-
};
|
|
744
|
-
function shallow(valueA, valueB) {
|
|
745
|
-
if (Object.is(valueA, valueB)) {
|
|
746
|
-
return true;
|
|
747
|
-
}
|
|
748
|
-
if (typeof valueA !== "object" || valueA === null || typeof valueB !== "object" || valueB === null) {
|
|
749
|
-
return false;
|
|
750
|
-
}
|
|
751
|
-
if (Object.getPrototypeOf(valueA) !== Object.getPrototypeOf(valueB)) {
|
|
752
|
-
return false;
|
|
753
|
-
}
|
|
754
|
-
if (isIterable(valueA) && isIterable(valueB)) {
|
|
755
|
-
if (hasIterableEntries(valueA) && hasIterableEntries(valueB)) {
|
|
756
|
-
return compareEntries(valueA, valueB);
|
|
757
|
-
}
|
|
758
|
-
return compareIterables(valueA, valueB);
|
|
759
|
-
}
|
|
760
|
-
return compareEntries(
|
|
761
|
-
{ entries: () => Object.entries(valueA) },
|
|
762
|
-
{ entries: () => Object.entries(valueB) }
|
|
763
|
-
);
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
function useShallow(selector) {
|
|
767
|
-
const prev = React$1.useRef(void 0);
|
|
768
|
-
return (state) => {
|
|
769
|
-
const next = selector(state);
|
|
770
|
-
return shallow(prev.current, next) ? prev.current : prev.current = next;
|
|
771
|
-
};
|
|
772
|
-
}
|
|
773
|
-
|
|
774
673
|
const AuthContext = /*#__PURE__*/createContext(); // só para ter o Provider em JSX
|
|
775
674
|
|
|
776
675
|
function AuthProvider({
|