@veripass/react-sdk 1.0.3 → 1.0.4

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.
@@ -525,6 +525,130 @@ function _unsupportedIterableToArray(r, a) {
525
525
  }
526
526
  }
527
527
 
528
+ var useLocalStorage = function useLocalStorage(keyName, defaultValue) {
529
+ var _useState = React.useState(function () {
530
+ try {
531
+ var value = window.localStorage.getItem(keyName);
532
+ if (value) {
533
+ return JSON.parse(value);
534
+ } else {
535
+ window.localStorage.setItem(keyName, JSON.stringify(defaultValue));
536
+ return defaultValue;
537
+ }
538
+ } catch (err) {
539
+ return defaultValue;
540
+ }
541
+ }),
542
+ _useState2 = _slicedToArray(_useState, 2),
543
+ storedValue = _useState2[0],
544
+ setStoredValue = _useState2[1];
545
+ var setValue = function setValue(newValue) {
546
+ try {
547
+ window.localStorage.setItem(keyName, JSON.stringify(newValue));
548
+ } catch (err) {}
549
+ setStoredValue(newValue);
550
+ };
551
+ return [storedValue, setValue];
552
+ };
553
+
554
+ /**
555
+ * Authentication context used to provide user authentication data and functions.
556
+ */
557
+ var AuthContext = /*#__PURE__*/React.createContext();
558
+
559
+ /**
560
+ * AuthProvider component that wraps around the application or part of it to provide authentication context.
561
+ * It uses local storage to persist user data and provides login, logout, and token retrieval functions.
562
+ *
563
+ * @param {object} props - The component props.
564
+ * @param {React.ReactNode} props.children - The children components that require access to the authentication context.
565
+ * @returns {JSX.Element} The provider component for AuthContext.
566
+ */
567
+ var AuthProvider = function AuthProvider(_ref) {
568
+ var children = _ref.children;
569
+ // State to manage user data, persisted in local storage
570
+ var _useLocalStorage = useLocalStorage('veripass-user-data', null),
571
+ _useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
572
+ user = _useLocalStorage2[0],
573
+ setUser = _useLocalStorage2[1];
574
+
575
+ /**
576
+ * Logs in the user by saving their data to local storage and navigating to the admin page.
577
+ *
578
+ * @param {object} user - The user data to be stored.
579
+ */
580
+ var login = /*#__PURE__*/function () {
581
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2) {
582
+ var user, _ref2$redirectUrl, redirectUrl;
583
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
584
+ while (1) switch (_context.prev = _context.next) {
585
+ case 0:
586
+ user = _ref2.user, _ref2$redirectUrl = _ref2.redirectUrl, redirectUrl = _ref2$redirectUrl === void 0 ? '' : _ref2$redirectUrl;
587
+ setUser(user);
588
+ if (redirectUrl) {
589
+ window.location.replace(redirectUrl);
590
+ }
591
+ case 3:
592
+ case "end":
593
+ return _context.stop();
594
+ }
595
+ }, _callee);
596
+ }));
597
+ return function login(_x) {
598
+ return _ref3.apply(this, arguments);
599
+ };
600
+ }();
601
+
602
+ /**
603
+ * Logs out the current user by clearing their data from local storage.
604
+ */
605
+ var logout = function logout() {
606
+ setUser(null);
607
+ };
608
+
609
+ /**
610
+ * Retrieves the stored user data (token) from local storage.
611
+ *
612
+ * @returns {object|null} The user data stored in local storage, or null if not found.
613
+ */
614
+ var getToken = function getToken() {
615
+ var value = window.localStorage.getItem('veripass-user-data');
616
+ return JSON.parse(value);
617
+ };
618
+
619
+ /**
620
+ * Memoized value containing the user data and authentication functions.
621
+ *
622
+ * @typedef {object} AuthContextValue
623
+ * @property {object|null} user - The currently authenticated user or null if not authenticated.
624
+ * @property {function(object): Promise<void>} login - Function to log in the user.
625
+ * @property {function(): void} logout - Function to log out the user.
626
+ * @property {function(): object|null} getToken - Function to get the current user's token.
627
+ *
628
+ * @returns {AuthContextValue} The context value with user data and authentication functions.
629
+ */
630
+ var value = React.useMemo(function () {
631
+ return {
632
+ user: user,
633
+ login: login,
634
+ logout: logout,
635
+ getToken: getToken
636
+ };
637
+ }, [user]);
638
+ return /*#__PURE__*/React.createElement(AuthContext.Provider, {
639
+ value: value
640
+ }, children);
641
+ };
642
+
643
+ /**
644
+ * Custom hook to access the authentication context.
645
+ *
646
+ * @returns {AuthContextValue} The authentication context value, including user data, login, logout, and getToken functions.
647
+ */
648
+ var useAuth = function useAuth() {
649
+ return React.useContext(AuthContext);
650
+ };
651
+
528
652
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
529
653
 
530
654
  function getDefaultExportFromCjs (x) {
@@ -32726,131 +32850,6 @@ function useViewTransitionState(to, opts) {
32726
32850
  return matchPath(path.pathname, nextPath) != null || matchPath(path.pathname, currentPath) != null;
32727
32851
  }
32728
32852
 
32729
- var useLocalStorage = function useLocalStorage(keyName, defaultValue) {
32730
- var _useState = React.useState(function () {
32731
- try {
32732
- var value = window.localStorage.getItem(keyName);
32733
- if (value) {
32734
- return JSON.parse(value);
32735
- } else {
32736
- window.localStorage.setItem(keyName, JSON.stringify(defaultValue));
32737
- return defaultValue;
32738
- }
32739
- } catch (err) {
32740
- return defaultValue;
32741
- }
32742
- }),
32743
- _useState2 = _slicedToArray(_useState, 2),
32744
- storedValue = _useState2[0],
32745
- setStoredValue = _useState2[1];
32746
- var setValue = function setValue(newValue) {
32747
- try {
32748
- window.localStorage.setItem(keyName, JSON.stringify(newValue));
32749
- } catch (err) {}
32750
- setStoredValue(newValue);
32751
- };
32752
- return [storedValue, setValue];
32753
- };
32754
-
32755
- /**
32756
- * Authentication context used to provide user authentication data and functions.
32757
- */
32758
- var AuthContext = /*#__PURE__*/React.createContext();
32759
-
32760
- /**
32761
- * AuthProvider component that wraps around the application or part of it to provide authentication context.
32762
- * It uses local storage to persist user data and provides login, logout, and token retrieval functions.
32763
- *
32764
- * @param {object} props - The component props.
32765
- * @param {React.ReactNode} props.children - The children components that require access to the authentication context.
32766
- * @returns {JSX.Element} The provider component for AuthContext.
32767
- */
32768
- var AuthProvider = function AuthProvider(_ref) {
32769
- var children = _ref.children;
32770
- // State to manage user data, persisted in local storage
32771
- var _useLocalStorage = useLocalStorage('veripass-user-data', null),
32772
- _useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
32773
- user = _useLocalStorage2[0],
32774
- setUser = _useLocalStorage2[1];
32775
- var navigate = useNavigate();
32776
-
32777
- /**
32778
- * Logs in the user by saving their data to local storage and navigating to the admin page.
32779
- *
32780
- * @param {object} user - The user data to be stored.
32781
- */
32782
- var login = /*#__PURE__*/function () {
32783
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref2) {
32784
- var user, _ref2$redirectUrl, redirectUrl;
32785
- return _regeneratorRuntime().wrap(function _callee$(_context) {
32786
- while (1) switch (_context.prev = _context.next) {
32787
- case 0:
32788
- user = _ref2.user, _ref2$redirectUrl = _ref2.redirectUrl, redirectUrl = _ref2$redirectUrl === void 0 ? '' : _ref2$redirectUrl;
32789
- setUser(user);
32790
- navigate(redirectUrl, {
32791
- replace: true
32792
- });
32793
- case 3:
32794
- case "end":
32795
- return _context.stop();
32796
- }
32797
- }, _callee);
32798
- }));
32799
- return function login(_x) {
32800
- return _ref3.apply(this, arguments);
32801
- };
32802
- }();
32803
-
32804
- /**
32805
- * Logs out the current user by clearing their data from local storage.
32806
- */
32807
- var logout = function logout() {
32808
- setUser(null);
32809
- };
32810
-
32811
- /**
32812
- * Retrieves the stored user data (token) from local storage.
32813
- *
32814
- * @returns {object|null} The user data stored in local storage, or null if not found.
32815
- */
32816
- var getToken = function getToken() {
32817
- var value = window.localStorage.getItem('veripass-user-data');
32818
- return JSON.parse(value);
32819
- };
32820
-
32821
- /**
32822
- * Memoized value containing the user data and authentication functions.
32823
- *
32824
- * @typedef {object} AuthContextValue
32825
- * @property {object|null} user - The currently authenticated user or null if not authenticated.
32826
- * @property {function(object): Promise<void>} login - Function to log in the user.
32827
- * @property {function(): void} logout - Function to log out the user.
32828
- * @property {function(): object|null} getToken - Function to get the current user's token.
32829
- *
32830
- * @returns {AuthContextValue} The context value with user data and authentication functions.
32831
- */
32832
- var value = React.useMemo(function () {
32833
- return {
32834
- user: user,
32835
- login: login,
32836
- logout: logout,
32837
- getToken: getToken
32838
- };
32839
- }, [user]);
32840
- return /*#__PURE__*/React.createElement(AuthContext.Provider, {
32841
- value: value
32842
- }, children);
32843
- };
32844
-
32845
- /**
32846
- * Custom hook to access the authentication context.
32847
- *
32848
- * @returns {AuthContextValue} The authentication context value, including user data, login, logout, and getToken functions.
32849
- */
32850
- var useAuth = function useAuth() {
32851
- return React.useContext(AuthContext);
32852
- };
32853
-
32854
32853
  var sweetalert2_all = {exports: {}};
32855
32854
 
32856
32855
  /*!