@anker-in/ui 0.1.15 → 0.1.16
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.js +55 -29
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +53 -29
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -14,6 +14,8 @@ var antd = require('antd');
|
|
|
14
14
|
var dayLocaleData = require('dayjs/plugin/localeData');
|
|
15
15
|
var weekday = require('dayjs/plugin/weekday');
|
|
16
16
|
var weekOfYear = require('dayjs/plugin/weekOfYear');
|
|
17
|
+
var timezone = require('dayjs/plugin/timezone');
|
|
18
|
+
var utc = require('dayjs/plugin/utc');
|
|
17
19
|
|
|
18
20
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
21
|
|
|
@@ -24,6 +26,8 @@ var dayjs__default = /*#__PURE__*/_interopDefault(dayjs);
|
|
|
24
26
|
var dayLocaleData__default = /*#__PURE__*/_interopDefault(dayLocaleData);
|
|
25
27
|
var weekday__default = /*#__PURE__*/_interopDefault(weekday);
|
|
26
28
|
var weekOfYear__default = /*#__PURE__*/_interopDefault(weekOfYear);
|
|
29
|
+
var timezone__default = /*#__PURE__*/_interopDefault(timezone);
|
|
30
|
+
var utc__default = /*#__PURE__*/_interopDefault(utc);
|
|
27
31
|
|
|
28
32
|
function cn(...inputs) {
|
|
29
33
|
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
@@ -1671,7 +1675,8 @@ var QuestionnaireForm = ({
|
|
|
1671
1675
|
pageData,
|
|
1672
1676
|
selectedTimeslotId,
|
|
1673
1677
|
loading = false,
|
|
1674
|
-
className
|
|
1678
|
+
className,
|
|
1679
|
+
error
|
|
1675
1680
|
}) => {
|
|
1676
1681
|
const [responses, setResponses] = React9.useState({});
|
|
1677
1682
|
const [errors, setErrors] = React9.useState({});
|
|
@@ -2117,17 +2122,20 @@ var QuestionnaireForm = ({
|
|
|
2117
2122
|
),
|
|
2118
2123
|
children: loading ? pageData?.submitting || "Submitting..." : pageData?.submit || "Submit Booking"
|
|
2119
2124
|
}
|
|
2120
|
-
)
|
|
2125
|
+
),
|
|
2126
|
+
error && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-center w-full p-4", children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[#FF4D4D] font-bold", children: error.message }) })
|
|
2121
2127
|
] })
|
|
2122
2128
|
] });
|
|
2123
2129
|
};
|
|
2124
2130
|
dayjs__default.default.extend(dayLocaleData__default.default);
|
|
2125
2131
|
dayjs__default.default.extend(weekday__default.default);
|
|
2126
2132
|
dayjs__default.default.extend(weekOfYear__default.default);
|
|
2133
|
+
dayjs__default.default.extend(utc__default.default);
|
|
2134
|
+
dayjs__default.default.extend(timezone__default.default);
|
|
2127
2135
|
var DateTimePicker = ({
|
|
2128
2136
|
apiClient,
|
|
2129
2137
|
demoRoomCode,
|
|
2130
|
-
timezone,
|
|
2138
|
+
timezone: timezone2,
|
|
2131
2139
|
pageData = {
|
|
2132
2140
|
scheduleYourVisit: "Schedule Your Visit",
|
|
2133
2141
|
timeSlot: "Time Slot",
|
|
@@ -2181,41 +2189,47 @@ var DateTimePicker = ({
|
|
|
2181
2189
|
{
|
|
2182
2190
|
start_date: startDate,
|
|
2183
2191
|
end_date: endDate,
|
|
2184
|
-
timezone
|
|
2192
|
+
timezone: timezone2
|
|
2185
2193
|
},
|
|
2186
2194
|
{ enabled: !!demoRoomCode }
|
|
2187
2195
|
);
|
|
2188
2196
|
const dayTimeslots = React9.useMemo(() => {
|
|
2189
2197
|
if (!timeslotsData?.timeslots || !selectedDate) return [];
|
|
2198
|
+
const tz = demoRoom?.timezone || timezone2;
|
|
2190
2199
|
const selectedDateStr = selectedDate.format("YYYY-MM-DD");
|
|
2191
2200
|
return timeslotsData.timeslots.filter((slot) => {
|
|
2192
|
-
const slotDate = dayjs__default.default(slot.start_time).format("YYYY-MM-DD");
|
|
2201
|
+
const slotDate = tz ? dayjs__default.default(slot.start_time).tz(tz).format("YYYY-MM-DD") : dayjs__default.default(slot.start_time).format("YYYY-MM-DD");
|
|
2193
2202
|
return slotDate === selectedDateStr;
|
|
2194
2203
|
});
|
|
2195
|
-
}, [timeslotsData, selectedDate]);
|
|
2204
|
+
}, [timeslotsData, selectedDate, demoRoom?.timezone, timezone2]);
|
|
2196
2205
|
const availableDates = React9.useMemo(() => {
|
|
2197
2206
|
if (!timeslotsData?.timeslots) return /* @__PURE__ */ new Set();
|
|
2207
|
+
const tz = demoRoom?.timezone || timezone2;
|
|
2198
2208
|
const dates = /* @__PURE__ */ new Set();
|
|
2199
2209
|
timeslotsData.timeslots.forEach((slot) => {
|
|
2200
2210
|
if (slot.status === "available") {
|
|
2201
|
-
const dateStr = dayjs__default.default(slot.start_time).format("YYYY-MM-DD");
|
|
2211
|
+
const dateStr = tz ? dayjs__default.default(slot.start_time).tz(tz).format("YYYY-MM-DD") : dayjs__default.default(slot.start_time).format("YYYY-MM-DD");
|
|
2202
2212
|
dates.add(dateStr);
|
|
2203
2213
|
}
|
|
2204
2214
|
});
|
|
2205
2215
|
return dates;
|
|
2206
|
-
}, [timeslotsData]);
|
|
2216
|
+
}, [timeslotsData, demoRoom?.timezone, timezone2]);
|
|
2207
2217
|
React9.useEffect(() => {
|
|
2208
2218
|
if (!timeslotsData?.timeslots || isInitialized) return;
|
|
2209
|
-
const
|
|
2210
|
-
const
|
|
2211
|
-
|
|
2212
|
-
|
|
2219
|
+
const tz = demoRoom?.timezone || timezone2;
|
|
2220
|
+
const now2 = tz ? dayjs__default.default().tz(tz) : dayjs__default.default();
|
|
2221
|
+
const availableTimeslots = timeslotsData.timeslots.filter((slot) => {
|
|
2222
|
+
const slotTime = tz ? dayjs__default.default(slot.start_time).tz(tz) : dayjs__default.default(slot.start_time);
|
|
2223
|
+
return slot.status === "available" && slotTime.isAfter(now2);
|
|
2224
|
+
});
|
|
2213
2225
|
if (availableTimeslots.length > 0) {
|
|
2214
|
-
const sortedSlots = [...availableTimeslots].sort(
|
|
2215
|
-
|
|
2216
|
-
|
|
2226
|
+
const sortedSlots = [...availableTimeslots].sort((a, b) => {
|
|
2227
|
+
const timeA = tz ? dayjs__default.default(a.start_time).tz(tz) : dayjs__default.default(a.start_time);
|
|
2228
|
+
const timeB = tz ? dayjs__default.default(b.start_time).tz(tz) : dayjs__default.default(b.start_time);
|
|
2229
|
+
return timeA.unix() - timeB.unix();
|
|
2230
|
+
});
|
|
2217
2231
|
const nearestSlot = sortedSlots[0];
|
|
2218
|
-
const nearestDate = dayjs__default.default(nearestSlot.start_time);
|
|
2232
|
+
const nearestDate = tz ? dayjs__default.default(nearestSlot.start_time).tz(tz) : dayjs__default.default(nearestSlot.start_time);
|
|
2219
2233
|
setSelectedDate(nearestDate);
|
|
2220
2234
|
setCalendarValue(nearestDate);
|
|
2221
2235
|
setSelectedTimeslotId(nearestSlot.id);
|
|
@@ -2225,32 +2239,43 @@ var DateTimePicker = ({
|
|
|
2225
2239
|
setCalendarValue(now2);
|
|
2226
2240
|
setIsInitialized(true);
|
|
2227
2241
|
}
|
|
2228
|
-
}, [timeslotsData, isInitialized, selectedDate]);
|
|
2242
|
+
}, [timeslotsData, isInitialized, selectedDate, demoRoom?.timezone, timezone2]);
|
|
2229
2243
|
React9.useEffect(() => {
|
|
2230
2244
|
if (!timeslotsData?.timeslots || !isInitialized) return;
|
|
2231
2245
|
if (selectedDate && selectedDate.isSame(calendarValue, "month")) {
|
|
2232
2246
|
return;
|
|
2233
2247
|
}
|
|
2248
|
+
const tz = demoRoom?.timezone || timezone2;
|
|
2234
2249
|
const currentMonthStart = calendarValue.startOf("month");
|
|
2235
2250
|
const currentMonthEnd = calendarValue.endOf("month");
|
|
2236
|
-
const now2 = dayjs__default.default();
|
|
2251
|
+
const now2 = tz ? dayjs__default.default().tz(tz) : dayjs__default.default();
|
|
2237
2252
|
const availableTimeslots = timeslotsData.timeslots.filter((slot) => {
|
|
2238
|
-
const slotDate = dayjs__default.default(slot.start_time);
|
|
2253
|
+
const slotDate = tz ? dayjs__default.default(slot.start_time).tz(tz) : dayjs__default.default(slot.start_time);
|
|
2239
2254
|
return slot.status === "available" && slotDate.isAfter(now2) && (slotDate.isAfter(currentMonthStart) || slotDate.isSame(currentMonthStart, "day")) && (slotDate.isBefore(currentMonthEnd) || slotDate.isSame(currentMonthEnd, "day"));
|
|
2240
2255
|
});
|
|
2241
2256
|
if (availableTimeslots.length > 0) {
|
|
2242
|
-
const sortedSlots = [...availableTimeslots].sort(
|
|
2243
|
-
|
|
2244
|
-
|
|
2257
|
+
const sortedSlots = [...availableTimeslots].sort((a, b) => {
|
|
2258
|
+
const timeA = tz ? dayjs__default.default(a.start_time).tz(tz) : dayjs__default.default(a.start_time);
|
|
2259
|
+
const timeB = tz ? dayjs__default.default(b.start_time).tz(tz) : dayjs__default.default(b.start_time);
|
|
2260
|
+
return timeA.unix() - timeB.unix();
|
|
2261
|
+
});
|
|
2245
2262
|
const firstSlot = sortedSlots[0];
|
|
2246
|
-
const firstDate = dayjs__default.default(firstSlot.start_time);
|
|
2263
|
+
const firstDate = tz ? dayjs__default.default(firstSlot.start_time).tz(tz) : dayjs__default.default(firstSlot.start_time);
|
|
2247
2264
|
setSelectedDate(firstDate);
|
|
2248
2265
|
setSelectedTimeslotId(firstSlot.id);
|
|
2249
2266
|
}
|
|
2250
|
-
}, [
|
|
2267
|
+
}, [
|
|
2268
|
+
calendarValue,
|
|
2269
|
+
timeslotsData,
|
|
2270
|
+
isInitialized,
|
|
2271
|
+
selectedDate,
|
|
2272
|
+
demoRoom?.timezone,
|
|
2273
|
+
timezone2
|
|
2274
|
+
]);
|
|
2251
2275
|
const formatTimeslot = (slot) => {
|
|
2252
|
-
const
|
|
2253
|
-
const
|
|
2276
|
+
const tz = demoRoom?.timezone || timezone2;
|
|
2277
|
+
const start = tz ? dayjs__default.default(slot.start_time).tz(tz).format("h:mm A") : dayjs__default.default(slot.start_time).format("h:mm A");
|
|
2278
|
+
const end = tz ? dayjs__default.default(slot.end_time).tz(tz).format("h:mm A") : dayjs__default.default(slot.end_time).format("h:mm A");
|
|
2254
2279
|
return `${start} - ${end}`;
|
|
2255
2280
|
};
|
|
2256
2281
|
const wrapperStyle = {
|
|
@@ -2665,7 +2690,7 @@ var DateTimePicker = ({
|
|
|
2665
2690
|
}) }),
|
|
2666
2691
|
!timeslotsLoading && dayTimeslots?.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pt-[24px] text-[#6d6d6F] text-center", children: pageData?.timezone?.replace(
|
|
2667
2692
|
"{{timezone}}",
|
|
2668
|
-
demoRoom?.timezone ||
|
|
2693
|
+
demoRoom?.timezone || timezone2 || ""
|
|
2669
2694
|
) })
|
|
2670
2695
|
] })
|
|
2671
2696
|
] }),
|
|
@@ -2678,6 +2703,7 @@ var DateTimePicker = ({
|
|
|
2678
2703
|
loading: bookingLoading,
|
|
2679
2704
|
pageData,
|
|
2680
2705
|
selectedTimeslotId,
|
|
2706
|
+
error: bookingError,
|
|
2681
2707
|
onSubmit: async (responses) => {
|
|
2682
2708
|
if (onQuestionnaireSubmit) {
|
|
2683
2709
|
await onQuestionnaireSubmit(responses);
|
|
@@ -8766,7 +8792,7 @@ var BookingForm = ({
|
|
|
8766
8792
|
apiConfig,
|
|
8767
8793
|
demoRoomCode,
|
|
8768
8794
|
pageData,
|
|
8769
|
-
timezone,
|
|
8795
|
+
timezone: timezone2,
|
|
8770
8796
|
handleBookingSuccess,
|
|
8771
8797
|
onQuestionnaireSubmit,
|
|
8772
8798
|
...props
|
|
@@ -8798,7 +8824,7 @@ var BookingForm = ({
|
|
|
8798
8824
|
{
|
|
8799
8825
|
apiClient,
|
|
8800
8826
|
demoRoomCode,
|
|
8801
|
-
timezone,
|
|
8827
|
+
timezone: timezone2,
|
|
8802
8828
|
locale: apiConfig.locale,
|
|
8803
8829
|
onBookingSuccess: handleBookingSuccess,
|
|
8804
8830
|
onQuestionnaireSubmit,
|