@sunggang/ui-lib 0.3.51 → 0.3.53
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/index.esm.css +55 -5
- package/index.esm2.js +144 -47
- package/package.json +1 -1
- package/src/lib/Form/index.d.ts +2 -1
- package/src/lib/Pagination/index.d.ts +12 -0
package/index.esm.css
CHANGED
|
@@ -719,9 +719,15 @@ video {
|
|
|
719
719
|
.right-2 {
|
|
720
720
|
right: 0.5rem;
|
|
721
721
|
}
|
|
722
|
+
.right-3 {
|
|
723
|
+
right: 0.75rem;
|
|
724
|
+
}
|
|
722
725
|
.top-0 {
|
|
723
726
|
top: 0px;
|
|
724
727
|
}
|
|
728
|
+
.top-1\/2 {
|
|
729
|
+
top: 50%;
|
|
730
|
+
}
|
|
725
731
|
.top-2\/4 {
|
|
726
732
|
top: 50%;
|
|
727
733
|
}
|
|
@@ -988,6 +994,9 @@ video {
|
|
|
988
994
|
.max-h-\[90vh\] {
|
|
989
995
|
max-height: 90vh;
|
|
990
996
|
}
|
|
997
|
+
.min-h-96 {
|
|
998
|
+
min-height: 24rem;
|
|
999
|
+
}
|
|
991
1000
|
.min-h-\[6rem\] {
|
|
992
1001
|
min-height: 6rem;
|
|
993
1002
|
}
|
|
@@ -1140,6 +1149,10 @@ video {
|
|
|
1140
1149
|
--tw-translate-x: -100%;
|
|
1141
1150
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1142
1151
|
}
|
|
1152
|
+
.-translate-y-1\/2 {
|
|
1153
|
+
--tw-translate-y: -50%;
|
|
1154
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1155
|
+
}
|
|
1143
1156
|
.-translate-y-full {
|
|
1144
1157
|
--tw-translate-y: -100%;
|
|
1145
1158
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
@@ -1940,6 +1953,10 @@ video {
|
|
|
1940
1953
|
--tw-text-opacity: 1;
|
|
1941
1954
|
color: rgb(15 23 42 / var(--tw-text-opacity, 1));
|
|
1942
1955
|
}
|
|
1956
|
+
.text-\[\#121417\] {
|
|
1957
|
+
--tw-text-opacity: 1;
|
|
1958
|
+
color: rgb(18 20 23 / var(--tw-text-opacity, 1));
|
|
1959
|
+
}
|
|
1943
1960
|
.text-\[\#171A1F\] {
|
|
1944
1961
|
--tw-text-opacity: 1;
|
|
1945
1962
|
color: rgb(23 26 31 / var(--tw-text-opacity, 1));
|
|
@@ -1984,6 +2001,10 @@ video {
|
|
|
1984
2001
|
--tw-text-opacity: 1;
|
|
1985
2002
|
color: rgb(176 176 176 / var(--tw-text-opacity, 1));
|
|
1986
2003
|
}
|
|
2004
|
+
.text-\[\#B4B4B4\] {
|
|
2005
|
+
--tw-text-opacity: 1;
|
|
2006
|
+
color: rgb(180 180 180 / var(--tw-text-opacity, 1));
|
|
2007
|
+
}
|
|
1987
2008
|
.text-\[\#E73700\] {
|
|
1988
2009
|
--tw-text-opacity: 1;
|
|
1989
2010
|
color: rgb(231 55 0 / var(--tw-text-opacity, 1));
|
|
@@ -2535,6 +2556,11 @@ video {
|
|
|
2535
2556
|
background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
|
|
2536
2557
|
}
|
|
2537
2558
|
|
|
2559
|
+
.hover\:bg-gray-200:hover {
|
|
2560
|
+
--tw-bg-opacity: 1;
|
|
2561
|
+
background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
|
|
2562
|
+
}
|
|
2563
|
+
|
|
2538
2564
|
.hover\:bg-green-100:hover {
|
|
2539
2565
|
--tw-bg-opacity: 1;
|
|
2540
2566
|
background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
|
|
@@ -2982,6 +3008,10 @@ video {
|
|
|
2982
3008
|
cursor: not-allowed;
|
|
2983
3009
|
}
|
|
2984
3010
|
|
|
3011
|
+
.disabled\:opacity-30:disabled {
|
|
3012
|
+
opacity: 0.3;
|
|
3013
|
+
}
|
|
3014
|
+
|
|
2985
3015
|
.disabled\:opacity-50:disabled {
|
|
2986
3016
|
opacity: 0.5;
|
|
2987
3017
|
}
|
|
@@ -3053,11 +3083,6 @@ video {
|
|
|
3053
3083
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
3054
3084
|
}
|
|
3055
3085
|
|
|
3056
|
-
.data-\[state\=checked\]\:translate-x-6[data-state="checked"] {
|
|
3057
|
-
--tw-translate-x: 1.5rem;
|
|
3058
|
-
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
3059
|
-
}
|
|
3060
|
-
|
|
3061
3086
|
.data-\[state\=checked\]\:translate-x-7[data-state="checked"] {
|
|
3062
3087
|
--tw-translate-x: 1.75rem;
|
|
3063
3088
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
@@ -3068,6 +3093,11 @@ video {
|
|
|
3068
3093
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
3069
3094
|
}
|
|
3070
3095
|
|
|
3096
|
+
.data-\[state\=unchecked\]\:translate-x-1[data-state="unchecked"] {
|
|
3097
|
+
--tw-translate-x: 0.25rem;
|
|
3098
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
3099
|
+
}
|
|
3100
|
+
|
|
3071
3101
|
.data-\[state\=checked\]\:bg-\[\#169796BF\][data-state="checked"] {
|
|
3072
3102
|
background-color: #169796BF;
|
|
3073
3103
|
}
|
|
@@ -3268,6 +3298,26 @@ video {
|
|
|
3268
3298
|
}
|
|
3269
3299
|
}
|
|
3270
3300
|
|
|
3301
|
+
.\[\&\:\:-webkit-calendar-picker-indicator\]\:absolute::-webkit-calendar-picker-indicator {
|
|
3302
|
+
position: absolute;
|
|
3303
|
+
}
|
|
3304
|
+
|
|
3305
|
+
.\[\&\:\:-webkit-calendar-picker-indicator\]\:h-full::-webkit-calendar-picker-indicator {
|
|
3306
|
+
height: 100%;
|
|
3307
|
+
}
|
|
3308
|
+
|
|
3309
|
+
.\[\&\:\:-webkit-calendar-picker-indicator\]\:w-full::-webkit-calendar-picker-indicator {
|
|
3310
|
+
width: 100%;
|
|
3311
|
+
}
|
|
3312
|
+
|
|
3313
|
+
.\[\&\:\:-webkit-calendar-picker-indicator\]\:cursor-pointer::-webkit-calendar-picker-indicator {
|
|
3314
|
+
cursor: pointer;
|
|
3315
|
+
}
|
|
3316
|
+
|
|
3317
|
+
.\[\&\:\:-webkit-calendar-picker-indicator\]\:opacity-0::-webkit-calendar-picker-indicator {
|
|
3318
|
+
opacity: 0;
|
|
3319
|
+
}
|
|
3320
|
+
|
|
3271
3321
|
.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end) {
|
|
3272
3322
|
border-top-right-radius: calc(var(--radius) - 2px);
|
|
3273
3323
|
border-bottom-right-radius: calc(var(--radius) - 2px);
|
package/index.esm2.js
CHANGED
|
@@ -48660,6 +48660,14 @@ var Time = function(param) {
|
|
|
48660
48660
|
input.value = "".concat(date, "T").concat(hour, ":00");
|
|
48661
48661
|
}
|
|
48662
48662
|
};
|
|
48663
|
+
var handleContainerClick = function() {
|
|
48664
|
+
// 觸發 input 的 focus 和 click 事件來打開 datepicker
|
|
48665
|
+
var input = document.getElementById((item === null || item === void 0 ? void 0 : item.id) || (item === null || item === void 0 ? void 0 : item.name));
|
|
48666
|
+
if (input) {
|
|
48667
|
+
input.focus();
|
|
48668
|
+
input.click();
|
|
48669
|
+
}
|
|
48670
|
+
};
|
|
48663
48671
|
var step = (item === null || item === void 0 ? void 0 : item.step) ? {
|
|
48664
48672
|
step: item === null || item === void 0 ? void 0 : item.step
|
|
48665
48673
|
} : {};
|
|
@@ -48677,19 +48685,34 @@ var Time = function(param) {
|
|
|
48677
48685
|
/*#__PURE__*/ jsxs("div", {
|
|
48678
48686
|
className: "relative",
|
|
48679
48687
|
children: [
|
|
48680
|
-
/*#__PURE__*/
|
|
48681
|
-
className:
|
|
48682
|
-
|
|
48683
|
-
|
|
48684
|
-
|
|
48685
|
-
|
|
48686
|
-
|
|
48687
|
-
|
|
48688
|
-
|
|
48689
|
-
|
|
48690
|
-
|
|
48691
|
-
|
|
48692
|
-
|
|
48688
|
+
/*#__PURE__*/ jsxs("div", {
|
|
48689
|
+
className: "relative cursor-pointer",
|
|
48690
|
+
onClick: handleContainerClick,
|
|
48691
|
+
children: [
|
|
48692
|
+
/*#__PURE__*/ jsx("input", _object_spread$c(_object_spread_props$8(_object_spread$c({
|
|
48693
|
+
className: [
|
|
48694
|
+
(item === null || item === void 0 ? void 0 : item.disable) || (item === null || item === void 0 ? void 0 : item.disabled) ? "text-[#B0B0B0] bg-[#e5e7eb] cursor-not-allowed" : "bg-white text-[#0f172a]",
|
|
48695
|
+
"customTime border border-solid border-[#B4B4B4] px-3 py-2 rounded-2xl w-full text-[16px] cursor-pointer",
|
|
48696
|
+
// 隱藏原生的 datepicker icon
|
|
48697
|
+
"[&::-webkit-calendar-picker-indicator]:opacity-0 [&::-webkit-calendar-picker-indicator]:absolute [&::-webkit-calendar-picker-indicator]:w-full [&::-webkit-calendar-picker-indicator]:h-full [&::-webkit-calendar-picker-indicator]:cursor-pointer"
|
|
48698
|
+
].join(" "),
|
|
48699
|
+
type: (item === null || item === void 0 ? void 0 : item.type) || "time",
|
|
48700
|
+
placeholder: "ex: 16:00"
|
|
48701
|
+
}, register(item === null || item === void 0 ? void 0 : item.name, _object_spread$c({}, item === null || item === void 0 ? void 0 : item.validateOption))), {
|
|
48702
|
+
style: item === null || item === void 0 ? void 0 : item.style,
|
|
48703
|
+
disabled: item === null || item === void 0 ? void 0 : item.disabled,
|
|
48704
|
+
id: (item === null || item === void 0 ? void 0 : item.id) || (item === null || item === void 0 ? void 0 : item.name),
|
|
48705
|
+
max: "2037-12-31T23:59"
|
|
48706
|
+
}), step, onInput)),
|
|
48707
|
+
(item === null || item === void 0 ? void 0 : item.icon) && /*#__PURE__*/ jsx("div", {
|
|
48708
|
+
className: "absolute right-3 top-1/2 transform -translate-y-1/2 pointer-events-none",
|
|
48709
|
+
children: /*#__PURE__*/ jsx(Icon, {
|
|
48710
|
+
icon: item.icon,
|
|
48711
|
+
className: "w-5 h-5 text-[#B4B4B4]"
|
|
48712
|
+
})
|
|
48713
|
+
})
|
|
48714
|
+
]
|
|
48715
|
+
}),
|
|
48693
48716
|
validateMsg(errors, item) && /*#__PURE__*/ jsxs("div", {
|
|
48694
48717
|
className: "pt-1 text-xs text-[#EF5533]",
|
|
48695
48718
|
children: [
|
|
@@ -48964,12 +48987,12 @@ var FieldLabel = function(param) {
|
|
|
48964
48987
|
});
|
|
48965
48988
|
};
|
|
48966
48989
|
var Fields = function(param) {
|
|
48967
|
-
var formConfig = param.formConfig;
|
|
48990
|
+
var formConfig = param.formConfig, _param_fieldsClass = param.fieldsClass, fieldsClass = _param_fieldsClass === void 0 ? "gap-2" : _param_fieldsClass;
|
|
48968
48991
|
return !!(formConfig === null || formConfig === void 0 ? void 0 : formConfig.length) && (formConfig === null || formConfig === void 0 ? void 0 : formConfig.map(function(item, index) {
|
|
48969
48992
|
return /*#__PURE__*/ jsx(StyleField, {
|
|
48970
48993
|
children: /*#__PURE__*/ jsx("div", {
|
|
48971
48994
|
className: [
|
|
48972
|
-
item[0].type === "ckEditor" ? "" : "flex
|
|
48995
|
+
item[0].type === "ckEditor" ? "" : "flex items-start flex-wrap lg:flex-nowrap ".concat(fieldsClass),
|
|
48973
48996
|
"justify-start"
|
|
48974
48997
|
].join(" "),
|
|
48975
48998
|
children: /*#__PURE__*/ jsx(Row, {
|
|
@@ -49191,19 +49214,19 @@ var BaseSwitch = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
|
|
|
49191
49214
|
var sizeClass = {
|
|
49192
49215
|
small: {
|
|
49193
49216
|
root: "h-4 w-7",
|
|
49194
|
-
thumb: "h-3 w-3 data-[state=checked]:translate-x-3"
|
|
49217
|
+
thumb: "h-3 w-3 data-[state=checked]:translate-x-3 data-[state=unchecked]:translate-x-0"
|
|
49195
49218
|
},
|
|
49196
49219
|
medium: {
|
|
49197
49220
|
root: "h-5 w-9",
|
|
49198
|
-
thumb: "h-4 w-4 data-[state=checked]:translate-x-4"
|
|
49221
|
+
thumb: "h-4 w-4 data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"
|
|
49199
49222
|
},
|
|
49200
49223
|
large: {
|
|
49201
49224
|
root: "h-6 w-11",
|
|
49202
|
-
thumb: "h-5 w-5 data-[state=checked]:translate-x-5"
|
|
49225
|
+
thumb: "h-5 w-5 data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
|
|
49203
49226
|
},
|
|
49204
49227
|
xl: {
|
|
49205
49228
|
root: "h-7 w-12",
|
|
49206
|
-
thumb: "h-5 w-5 data-[state=checked]:translate-x-
|
|
49229
|
+
thumb: "h-5 w-5 data-[state=checked]:translate-x-5"
|
|
49207
49230
|
},
|
|
49208
49231
|
xxl: {
|
|
49209
49232
|
root: "h-9 w-16",
|
|
@@ -49235,7 +49258,7 @@ var BaseSwitch = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
|
|
|
49235
49258
|
id: item === null || item === void 0 ? void 0 : item.id,
|
|
49236
49259
|
disabled: item === null || item === void 0 ? void 0 : item.disable,
|
|
49237
49260
|
children: /*#__PURE__*/ jsx(SwitchPrimitives.Thumb, {
|
|
49238
|
-
className: cn("pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=
|
|
49261
|
+
className: cn("pointer-events-none block rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=unchecked]:translate-x-1", sizeClass[size].thumb)
|
|
49239
49262
|
})
|
|
49240
49263
|
})),
|
|
49241
49264
|
(item === null || item === void 0 ? void 0 : item.labelRight) && /*#__PURE__*/ jsx("span", {
|
|
@@ -78617,6 +78640,30 @@ var LiffProvider = function(param) {
|
|
|
78617
78640
|
var _useState4 = _sliced_to_array(useState(null), 2), userInfo = _useState4[0], setUserInfo = _useState4[1];
|
|
78618
78641
|
var _useState5 = _sliced_to_array(useState(null), 2), isFriendship = _useState5[0], setFriendship = _useState5[1];
|
|
78619
78642
|
var _useState6 = _sliced_to_array(useState(null), 2), loginType = _useState6[0], setLoginType = _useState6[1];
|
|
78643
|
+
// userInfo 的 localStorage key
|
|
78644
|
+
var userInfoStorageKey = "".concat(localStorageKey, "-userInfo");
|
|
78645
|
+
// 從 localStorage 載入 userInfo
|
|
78646
|
+
var loadUserInfoFromStorage = function() {
|
|
78647
|
+
try {
|
|
78648
|
+
var storedUserInfo = window.localStorage.getItem(userInfoStorageKey);
|
|
78649
|
+
if (storedUserInfo) {
|
|
78650
|
+
var parsedUserInfo = JSON.parse(storedUserInfo);
|
|
78651
|
+
setUserInfo(parsedUserInfo);
|
|
78652
|
+
return parsedUserInfo;
|
|
78653
|
+
}
|
|
78654
|
+
} catch (err) {
|
|
78655
|
+
console.error("載入 userInfo 失敗:", err);
|
|
78656
|
+
}
|
|
78657
|
+
return null;
|
|
78658
|
+
};
|
|
78659
|
+
// 儲存 userInfo 到 localStorage
|
|
78660
|
+
var saveUserInfoToStorage = function(info) {
|
|
78661
|
+
try {
|
|
78662
|
+
window.localStorage.setItem(userInfoStorageKey, JSON.stringify(info));
|
|
78663
|
+
} catch (err) {
|
|
78664
|
+
console.error("儲存 userInfo 失敗:", err);
|
|
78665
|
+
}
|
|
78666
|
+
};
|
|
78620
78667
|
var fetchMemberInfo = function() {
|
|
78621
78668
|
var _ref = _async_to_generator(function(token) {
|
|
78622
78669
|
var response, err;
|
|
@@ -78642,7 +78689,9 @@ var LiffProvider = function(param) {
|
|
|
78642
78689
|
];
|
|
78643
78690
|
case 2:
|
|
78644
78691
|
response = _state.sent();
|
|
78692
|
+
console.log("provider fetch member");
|
|
78645
78693
|
setUserInfo(response);
|
|
78694
|
+
saveUserInfoToStorage(response);
|
|
78646
78695
|
return [
|
|
78647
78696
|
3,
|
|
78648
78697
|
4
|
|
@@ -78672,6 +78721,7 @@ var LiffProvider = function(param) {
|
|
|
78672
78721
|
return _ts_generator(this, function(_state) {
|
|
78673
78722
|
switch(_state.label){
|
|
78674
78723
|
case 0:
|
|
78724
|
+
console.log(checkTokenUrl, memberInfoUrl);
|
|
78675
78725
|
if (!checkTokenUrl) return [
|
|
78676
78726
|
2
|
|
78677
78727
|
];
|
|
@@ -78679,9 +78729,9 @@ var LiffProvider = function(param) {
|
|
|
78679
78729
|
case 1:
|
|
78680
78730
|
_state.trys.push([
|
|
78681
78731
|
1,
|
|
78682
|
-
|
|
78732
|
+
6,
|
|
78683
78733
|
,
|
|
78684
|
-
|
|
78734
|
+
7
|
|
78685
78735
|
]);
|
|
78686
78736
|
return [
|
|
78687
78737
|
4,
|
|
@@ -78691,26 +78741,43 @@ var LiffProvider = function(param) {
|
|
|
78691
78741
|
];
|
|
78692
78742
|
case 2:
|
|
78693
78743
|
response = _state.sent();
|
|
78694
|
-
if ((response === null || response === void 0 ? void 0 : response.status) && (response === null || response === void 0 ? void 0 : response.data))
|
|
78695
|
-
|
|
78696
|
-
|
|
78697
|
-
|
|
78698
|
-
|
|
78699
|
-
|
|
78700
|
-
];
|
|
78701
|
-
}
|
|
78702
|
-
return [
|
|
78744
|
+
if (!((response === null || response === void 0 ? void 0 : response.status) && (response === null || response === void 0 ? void 0 : response.data))) return [
|
|
78745
|
+
3,
|
|
78746
|
+
5
|
|
78747
|
+
];
|
|
78748
|
+
setAccessToken(token);
|
|
78749
|
+
if (!memberInfoUrl) return [
|
|
78703
78750
|
3,
|
|
78704
78751
|
4
|
|
78705
78752
|
];
|
|
78753
|
+
return [
|
|
78754
|
+
4,
|
|
78755
|
+
fetchMemberInfo(token)
|
|
78756
|
+
];
|
|
78706
78757
|
case 3:
|
|
78758
|
+
_state.sent();
|
|
78759
|
+
_state.label = 4;
|
|
78760
|
+
case 4:
|
|
78761
|
+
return [
|
|
78762
|
+
2,
|
|
78763
|
+
true
|
|
78764
|
+
];
|
|
78765
|
+
case 5:
|
|
78766
|
+
return [
|
|
78767
|
+
3,
|
|
78768
|
+
7
|
|
78769
|
+
];
|
|
78770
|
+
case 6:
|
|
78707
78771
|
err = _state.sent();
|
|
78708
78772
|
console.error(err);
|
|
78773
|
+
// token 無效時清除 userInfo
|
|
78774
|
+
setUserInfo(null);
|
|
78775
|
+
window.localStorage.removeItem(userInfoStorageKey);
|
|
78709
78776
|
return [
|
|
78710
78777
|
3,
|
|
78711
|
-
|
|
78778
|
+
7
|
|
78712
78779
|
];
|
|
78713
|
-
case
|
|
78780
|
+
case 7:
|
|
78714
78781
|
return [
|
|
78715
78782
|
2,
|
|
78716
78783
|
false
|
|
@@ -78736,9 +78803,9 @@ var LiffProvider = function(param) {
|
|
|
78736
78803
|
case 1:
|
|
78737
78804
|
_state.trys.push([
|
|
78738
78805
|
1,
|
|
78739
|
-
|
|
78806
|
+
7,
|
|
78740
78807
|
,
|
|
78741
|
-
|
|
78808
|
+
8
|
|
78742
78809
|
]);
|
|
78743
78810
|
return [
|
|
78744
78811
|
4,
|
|
@@ -78762,26 +78829,46 @@ var LiffProvider = function(param) {
|
|
|
78762
78829
|
}
|
|
78763
78830
|
window.localStorage.setItem(localStorageKey, JSON.stringify(resData));
|
|
78764
78831
|
loginToken = resData === null || resData === void 0 ? void 0 : (_resData_data1 = resData.data) === null || _resData_data1 === void 0 ? void 0 : _resData_data1.access_token;
|
|
78765
|
-
if (loginToken)
|
|
78766
|
-
|
|
78767
|
-
|
|
78768
|
-
|
|
78769
|
-
|
|
78770
|
-
|
|
78771
|
-
|
|
78772
|
-
}
|
|
78773
|
-
return [
|
|
78832
|
+
if (!loginToken) return [
|
|
78833
|
+
3,
|
|
78834
|
+
5
|
|
78835
|
+
];
|
|
78836
|
+
setAccessToken(loginToken);
|
|
78837
|
+
setLoginType("line");
|
|
78838
|
+
if (!memberInfoUrl) return [
|
|
78774
78839
|
3,
|
|
78775
78840
|
4
|
|
78776
78841
|
];
|
|
78842
|
+
return [
|
|
78843
|
+
4,
|
|
78844
|
+
fetchMemberInfo(loginToken)
|
|
78845
|
+
];
|
|
78777
78846
|
case 3:
|
|
78847
|
+
_state.sent();
|
|
78848
|
+
_state.label = 4;
|
|
78849
|
+
case 4:
|
|
78850
|
+
return [
|
|
78851
|
+
3,
|
|
78852
|
+
6
|
|
78853
|
+
];
|
|
78854
|
+
case 5:
|
|
78855
|
+
setUserInfo(response);
|
|
78856
|
+
saveUserInfoToStorage(response);
|
|
78857
|
+
if (handleLoginError) handleLoginError();
|
|
78858
|
+
_state.label = 6;
|
|
78859
|
+
case 6:
|
|
78860
|
+
return [
|
|
78861
|
+
3,
|
|
78862
|
+
8
|
|
78863
|
+
];
|
|
78864
|
+
case 7:
|
|
78778
78865
|
err = _state.sent();
|
|
78779
78866
|
console.error(err.toString());
|
|
78780
78867
|
return [
|
|
78781
78868
|
3,
|
|
78782
|
-
|
|
78869
|
+
8
|
|
78783
78870
|
];
|
|
78784
|
-
case
|
|
78871
|
+
case 8:
|
|
78785
78872
|
return [
|
|
78786
78873
|
2
|
|
78787
78874
|
];
|
|
@@ -79049,6 +79136,9 @@ var LiffProvider = function(param) {
|
|
|
79049
79136
|
if (!isValid) {
|
|
79050
79137
|
console.warn("JWT token 驗證失敗");
|
|
79051
79138
|
setLoginType(null);
|
|
79139
|
+
// 清除 userInfo
|
|
79140
|
+
setUserInfo(null);
|
|
79141
|
+
window.localStorage.removeItem(userInfoStorageKey);
|
|
79052
79142
|
return [
|
|
79053
79143
|
2,
|
|
79054
79144
|
false
|
|
@@ -79063,6 +79153,8 @@ var LiffProvider = function(param) {
|
|
|
79063
79153
|
err = _state.sent();
|
|
79064
79154
|
// token 失效或其他問題
|
|
79065
79155
|
setLoginType(null);
|
|
79156
|
+
setUserInfo(null);
|
|
79157
|
+
window.localStorage.removeItem(userInfoStorageKey);
|
|
79066
79158
|
console.warn("LIFF token 驗證失敗,需重新登入", err);
|
|
79067
79159
|
return [
|
|
79068
79160
|
2,
|
|
@@ -79075,13 +79167,18 @@ var LiffProvider = function(param) {
|
|
|
79075
79167
|
}
|
|
79076
79168
|
});
|
|
79077
79169
|
}), [
|
|
79078
|
-
liffObject
|
|
79170
|
+
liffObject,
|
|
79171
|
+
userInfoStorageKey
|
|
79079
79172
|
]);
|
|
79080
79173
|
var normalizeToken = function(token) {
|
|
79081
79174
|
var trimmed = token.trim();
|
|
79082
79175
|
return trimmed.toLowerCase().startsWith("bearer ") ? trimmed : "Bearer ".concat(trimmed);
|
|
79083
79176
|
};
|
|
79084
79177
|
var searchParams = typeof window !== "undefined" ? new URLSearchParams(window.location.search) : null;
|
|
79178
|
+
// 初始載入時從 localStorage 載入 userInfo
|
|
79179
|
+
useEffect(function() {
|
|
79180
|
+
loadUserInfoFromStorage();
|
|
79181
|
+
}, []);
|
|
79085
79182
|
// 客戶端初始化 LIFF
|
|
79086
79183
|
useEffect(function() {
|
|
79087
79184
|
var checkAndInitialize = function() {
|
package/package.json
CHANGED
package/src/lib/Form/index.d.ts
CHANGED
|
@@ -54,8 +54,9 @@ export declare const Textarea: React.FC<FormType>;
|
|
|
54
54
|
export declare const FieldLabel: ({ item }: {
|
|
55
55
|
item: any;
|
|
56
56
|
}) => import("react/jsx-runtime").JSX.Element | null;
|
|
57
|
-
export declare const Fields: ({ formConfig }: {
|
|
57
|
+
export declare const Fields: ({ formConfig, fieldsClass }: {
|
|
58
58
|
formConfig: any;
|
|
59
|
+
fieldsClass?: string | undefined;
|
|
59
60
|
}) => any;
|
|
60
61
|
export declare const CustomUploadField: ({ item }: {
|
|
61
62
|
item: any;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type PaginationProps = {
|
|
3
|
+
page: number;
|
|
4
|
+
pageSize: number;
|
|
5
|
+
total: number;
|
|
6
|
+
onChange: (page: number) => void;
|
|
7
|
+
siblingCount?: number;
|
|
8
|
+
color?: 'blue' | 'green' | 'purple' | 'red' | 'orange' | 'gray' | 'black';
|
|
9
|
+
size?: 'sm' | 'md' | 'lg';
|
|
10
|
+
};
|
|
11
|
+
export declare const Pagination: React.FC<PaginationProps>;
|
|
12
|
+
export default Pagination;
|