@willphan1712000/frontend 1.2.0 → 1.3.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.d.mts +79 -1
- package/dist/index.d.ts +79 -1
- package/dist/index.js +27 -1
- package/dist/index.mjs +19 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -375,4 +375,82 @@ declare class Transform {
|
|
|
375
375
|
private transform;
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
-
|
|
378
|
+
/**
|
|
379
|
+
* This interface provides a comprehensive guides on how to design auth object used for authentication on client side
|
|
380
|
+
* - Copyright: Will Phan
|
|
381
|
+
*/
|
|
382
|
+
interface AuthInterface<User = any> {
|
|
383
|
+
/**
|
|
384
|
+
*
|
|
385
|
+
* @param redirect: route that will be returned after successful authentication
|
|
386
|
+
* @param client_id: oauth client id
|
|
387
|
+
* @param callback_api: api route for callback
|
|
388
|
+
* @returns sign in url
|
|
389
|
+
*/
|
|
390
|
+
getSignInUrl({ redirect, client_id, callback_api, }: {
|
|
391
|
+
redirect?: string;
|
|
392
|
+
client_id?: string;
|
|
393
|
+
callback_api?: string;
|
|
394
|
+
}): string;
|
|
395
|
+
/**
|
|
396
|
+
* Authenticate a user
|
|
397
|
+
*/
|
|
398
|
+
signin({ username, email, password, redirect, }: {
|
|
399
|
+
username: string;
|
|
400
|
+
email?: string;
|
|
401
|
+
password: string;
|
|
402
|
+
redirect?: string;
|
|
403
|
+
}): Promise<void>;
|
|
404
|
+
/**
|
|
405
|
+
* Validate user authentication
|
|
406
|
+
*/
|
|
407
|
+
validate({ state }: {
|
|
408
|
+
state?: string;
|
|
409
|
+
}): Promise<User>;
|
|
410
|
+
/**
|
|
411
|
+
* Sign a user out
|
|
412
|
+
*/
|
|
413
|
+
signout({ state }: {
|
|
414
|
+
state?: string;
|
|
415
|
+
}): Promise<void>;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
type SessionType = {
|
|
419
|
+
username?: string;
|
|
420
|
+
email?: string;
|
|
421
|
+
role?: string;
|
|
422
|
+
} | undefined;
|
|
423
|
+
type SessionContextType = {
|
|
424
|
+
isLoading: boolean;
|
|
425
|
+
session: SessionType;
|
|
426
|
+
};
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* This interface provides a guide to design storage object used for client side to operate storage operations
|
|
430
|
+
* - Copyright: Will Phan
|
|
431
|
+
*/
|
|
432
|
+
interface StorageInterface {
|
|
433
|
+
getToken(): string | null;
|
|
434
|
+
getUser(): SessionType | null;
|
|
435
|
+
setToken({ token }: {
|
|
436
|
+
token: string;
|
|
437
|
+
}): void;
|
|
438
|
+
removeToken(): void;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
/**
|
|
442
|
+
* Will-Auth - retrieve session
|
|
443
|
+
* @returns session context
|
|
444
|
+
*/
|
|
445
|
+
declare function useSession(): SessionContextType;
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Custom Session Provider using React Context
|
|
449
|
+
* - Copyright: Will Phan
|
|
450
|
+
*/
|
|
451
|
+
declare const SessionProvider: ({ value, children, }: {
|
|
452
|
+
value: SessionContextType;
|
|
453
|
+
children: ReactNode;
|
|
454
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
455
|
+
|
|
456
|
+
export { type AuthInterface, Avatar, Button, Canvas, ColorPickerSlider, DropdownSelect, Image$1 as Image, ImageEditor, Image as ImageUtilities, InputFile, InputGoogle, MultiSelect, OptionSlider, type Options$2 as Options, RangeSlider, SessionProvider, type SessionType, type Options$1 as SliderOptions, type StorageInterface, TextArea, Transform, UploadImage, useSession };
|
package/dist/index.d.ts
CHANGED
|
@@ -375,4 +375,82 @@ declare class Transform {
|
|
|
375
375
|
private transform;
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
-
|
|
378
|
+
/**
|
|
379
|
+
* This interface provides a comprehensive guides on how to design auth object used for authentication on client side
|
|
380
|
+
* - Copyright: Will Phan
|
|
381
|
+
*/
|
|
382
|
+
interface AuthInterface<User = any> {
|
|
383
|
+
/**
|
|
384
|
+
*
|
|
385
|
+
* @param redirect: route that will be returned after successful authentication
|
|
386
|
+
* @param client_id: oauth client id
|
|
387
|
+
* @param callback_api: api route for callback
|
|
388
|
+
* @returns sign in url
|
|
389
|
+
*/
|
|
390
|
+
getSignInUrl({ redirect, client_id, callback_api, }: {
|
|
391
|
+
redirect?: string;
|
|
392
|
+
client_id?: string;
|
|
393
|
+
callback_api?: string;
|
|
394
|
+
}): string;
|
|
395
|
+
/**
|
|
396
|
+
* Authenticate a user
|
|
397
|
+
*/
|
|
398
|
+
signin({ username, email, password, redirect, }: {
|
|
399
|
+
username: string;
|
|
400
|
+
email?: string;
|
|
401
|
+
password: string;
|
|
402
|
+
redirect?: string;
|
|
403
|
+
}): Promise<void>;
|
|
404
|
+
/**
|
|
405
|
+
* Validate user authentication
|
|
406
|
+
*/
|
|
407
|
+
validate({ state }: {
|
|
408
|
+
state?: string;
|
|
409
|
+
}): Promise<User>;
|
|
410
|
+
/**
|
|
411
|
+
* Sign a user out
|
|
412
|
+
*/
|
|
413
|
+
signout({ state }: {
|
|
414
|
+
state?: string;
|
|
415
|
+
}): Promise<void>;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
type SessionType = {
|
|
419
|
+
username?: string;
|
|
420
|
+
email?: string;
|
|
421
|
+
role?: string;
|
|
422
|
+
} | undefined;
|
|
423
|
+
type SessionContextType = {
|
|
424
|
+
isLoading: boolean;
|
|
425
|
+
session: SessionType;
|
|
426
|
+
};
|
|
427
|
+
|
|
428
|
+
/**
|
|
429
|
+
* This interface provides a guide to design storage object used for client side to operate storage operations
|
|
430
|
+
* - Copyright: Will Phan
|
|
431
|
+
*/
|
|
432
|
+
interface StorageInterface {
|
|
433
|
+
getToken(): string | null;
|
|
434
|
+
getUser(): SessionType | null;
|
|
435
|
+
setToken({ token }: {
|
|
436
|
+
token: string;
|
|
437
|
+
}): void;
|
|
438
|
+
removeToken(): void;
|
|
439
|
+
}
|
|
440
|
+
|
|
441
|
+
/**
|
|
442
|
+
* Will-Auth - retrieve session
|
|
443
|
+
* @returns session context
|
|
444
|
+
*/
|
|
445
|
+
declare function useSession(): SessionContextType;
|
|
446
|
+
|
|
447
|
+
/**
|
|
448
|
+
* Custom Session Provider using React Context
|
|
449
|
+
* - Copyright: Will Phan
|
|
450
|
+
*/
|
|
451
|
+
declare const SessionProvider: ({ value, children, }: {
|
|
452
|
+
value: SessionContextType;
|
|
453
|
+
children: ReactNode;
|
|
454
|
+
}) => react_jsx_runtime.JSX.Element;
|
|
455
|
+
|
|
456
|
+
export { type AuthInterface, Avatar, Button, Canvas, ColorPickerSlider, DropdownSelect, Image$1 as Image, ImageEditor, Image as ImageUtilities, InputFile, InputGoogle, MultiSelect, OptionSlider, type Options$2 as Options, RangeSlider, SessionProvider, type SessionType, type Options$1 as SliderOptions, type StorageInterface, TextArea, Transform, UploadImage, useSession };
|
package/dist/index.js
CHANGED
|
@@ -397,6 +397,9 @@ __export(index_exports, {
|
|
|
397
397
|
RangeSlider: function() {
|
|
398
398
|
return RangeSlider_default;
|
|
399
399
|
},
|
|
400
|
+
SessionProvider: function() {
|
|
401
|
+
return SessionProvider_default;
|
|
402
|
+
},
|
|
400
403
|
TextArea: function() {
|
|
401
404
|
return TextArea_default;
|
|
402
405
|
},
|
|
@@ -405,6 +408,9 @@ __export(index_exports, {
|
|
|
405
408
|
},
|
|
406
409
|
UploadImage: function() {
|
|
407
410
|
return UploadImage_default;
|
|
411
|
+
},
|
|
412
|
+
useSession: function() {
|
|
413
|
+
return useSession;
|
|
408
414
|
}
|
|
409
415
|
});
|
|
410
416
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -3008,6 +3014,24 @@ var Transform = /*#__PURE__*/ function() {
|
|
|
3008
3014
|
]);
|
|
3009
3015
|
return Transform;
|
|
3010
3016
|
}();
|
|
3017
|
+
// src/auth/react/context.tsx
|
|
3018
|
+
var import_react15 = require("react");
|
|
3019
|
+
var SessionContext = (0, import_react15.createContext)(void 0);
|
|
3020
|
+
function useSession() {
|
|
3021
|
+
var data = (0, import_react15.useContext)(SessionContext);
|
|
3022
|
+
if (data === void 0) throw new Error("Session context is undefined");
|
|
3023
|
+
return data;
|
|
3024
|
+
}
|
|
3025
|
+
// src/auth/react/SessionProvider.tsx
|
|
3026
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
3027
|
+
var SessionProvider = function(param) {
|
|
3028
|
+
var value = param.value, children = param.children;
|
|
3029
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(SessionContext.Provider, {
|
|
3030
|
+
value: value,
|
|
3031
|
+
children: children
|
|
3032
|
+
});
|
|
3033
|
+
};
|
|
3034
|
+
var SessionProvider_default = SessionProvider;
|
|
3011
3035
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3012
3036
|
0 && (module.exports = {
|
|
3013
3037
|
Avatar: Avatar,
|
|
@@ -3023,7 +3047,9 @@ var Transform = /*#__PURE__*/ function() {
|
|
|
3023
3047
|
MultiSelect: MultiSelect,
|
|
3024
3048
|
OptionSlider: OptionSlider,
|
|
3025
3049
|
RangeSlider: RangeSlider,
|
|
3050
|
+
SessionProvider: SessionProvider,
|
|
3026
3051
|
TextArea: TextArea,
|
|
3027
3052
|
Transform: Transform,
|
|
3028
|
-
UploadImage: UploadImage
|
|
3053
|
+
UploadImage: UploadImage,
|
|
3054
|
+
useSession: useSession
|
|
3029
3055
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -2895,4 +2895,22 @@ var Transform = /*#__PURE__*/ function() {
|
|
|
2895
2895
|
]);
|
|
2896
2896
|
return Transform;
|
|
2897
2897
|
}();
|
|
2898
|
-
|
|
2898
|
+
// src/auth/react/context.tsx
|
|
2899
|
+
import { createContext as createContext4, useContext as useContext4 } from "react";
|
|
2900
|
+
var SessionContext = createContext4(void 0);
|
|
2901
|
+
function useSession() {
|
|
2902
|
+
var data = useContext4(SessionContext);
|
|
2903
|
+
if (data === void 0) throw new Error("Session context is undefined");
|
|
2904
|
+
return data;
|
|
2905
|
+
}
|
|
2906
|
+
// src/auth/react/SessionProvider.tsx
|
|
2907
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
2908
|
+
var SessionProvider = function(param) {
|
|
2909
|
+
var value = param.value, children = param.children;
|
|
2910
|
+
return /* @__PURE__ */ jsx20(SessionContext.Provider, {
|
|
2911
|
+
value: value,
|
|
2912
|
+
children: children
|
|
2913
|
+
});
|
|
2914
|
+
};
|
|
2915
|
+
var SessionProvider_default = SessionProvider;
|
|
2916
|
+
export { Avatar_default as Avatar, Button_default as Button, Canvas, ColorPickerSlider_default as ColorPickerSlider, DropdownSelect_default as DropdownSelect, Image_default as Image, ImageEditor_default as ImageEditor, Image_default2 as ImageUtilities, InputFile_default as InputFile, InputGoogle_default as InputGoogle, MultiSelect_default as MultiSelect, OptionSlider_default as OptionSlider, RangeSlider_default as RangeSlider, SessionProvider_default as SessionProvider, TextArea_default as TextArea, Transform, UploadImage_default as UploadImage, useSession };
|