@hanzo/booker 8.3.0 → 8.3.2
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/README.md +6 -6
- package/dist/cjs/Booker.js +23 -0
- package/dist/cjs/Booker.js.map +1 -0
- package/dist/cjs/BookingForm.js +32 -0
- package/dist/cjs/BookingForm.js.map +1 -0
- package/dist/cjs/CalendarEmbed.js +20 -0
- package/dist/cjs/CalendarEmbed.js.map +1 -0
- package/dist/cjs/Confirmation.js +34 -0
- package/dist/cjs/Confirmation.js.map +1 -0
- package/dist/cjs/EventHeader.js +31 -0
- package/dist/cjs/EventHeader.js.map +1 -0
- package/dist/cjs/MonthCalendar.js +24 -0
- package/dist/cjs/MonthCalendar.js.map +1 -0
- package/dist/cjs/TimeSlots.js +21 -0
- package/dist/cjs/TimeSlots.js.map +1 -0
- package/dist/cjs/client.js +113 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/hooks.js +121 -0
- package/dist/cjs/hooks.js.map +1 -0
- package/dist/cjs/index.js +55 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/time.js +129 -0
- package/dist/cjs/time.js.map +1 -0
- package/dist/cjs/useBooker.js +135 -0
- package/dist/cjs/useBooker.js.map +1 -0
- package/dist/esm/Booker.js +20 -0
- package/dist/esm/Booker.js.map +1 -0
- package/dist/esm/BookingForm.js +29 -0
- package/dist/esm/BookingForm.js.map +1 -0
- package/dist/esm/CalendarEmbed.js +17 -0
- package/dist/esm/CalendarEmbed.js.map +1 -0
- package/dist/esm/Confirmation.js +31 -0
- package/dist/esm/Confirmation.js.map +1 -0
- package/dist/esm/EventHeader.js +28 -0
- package/dist/esm/EventHeader.js.map +1 -0
- package/dist/esm/MonthCalendar.js +21 -0
- package/dist/esm/MonthCalendar.js.map +1 -0
- package/dist/esm/TimeSlots.js +18 -0
- package/dist/esm/TimeSlots.js.map +1 -0
- package/dist/esm/client.js +104 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/hooks.js +115 -0
- package/dist/esm/hooks.js.map +1 -0
- package/dist/esm/index.js +18 -13
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/time.js +113 -0
- package/dist/esm/time.js.map +1 -0
- package/dist/esm/useBooker.js +132 -0
- package/dist/esm/useBooker.js.map +1 -0
- package/package.json +28 -28
- package/src/Booker.tsx +7 -7
- package/src/BookingForm.tsx +2 -2
- package/src/CalendarEmbed.tsx +7 -7
- package/src/Confirmation.tsx +4 -4
- package/src/EventHeader.tsx +1 -1
- package/src/MonthCalendar.tsx +1 -1
- package/src/TimeSlots.tsx +2 -2
- package/src/hooks.ts +1 -1
- package/src/index.ts +11 -11
- package/src/useBooker.ts +9 -4
- package/types/Booker.d.ts +2 -2
- package/types/Booker.d.ts.map +1 -1
- package/types/BookingForm.d.ts +2 -2
- package/types/BookingForm.d.ts.map +1 -1
- package/types/CalendarEmbed.d.ts +2 -2
- package/types/CalendarEmbed.d.ts.map +1 -1
- package/types/Confirmation.d.ts +2 -2
- package/types/Confirmation.d.ts.map +1 -1
- package/types/EventHeader.d.ts +2 -2
- package/types/EventHeader.d.ts.map +1 -1
- package/types/MonthCalendar.d.ts +1 -1
- package/types/MonthCalendar.d.ts.map +1 -1
- package/types/TimeSlots.d.ts +2 -2
- package/types/TimeSlots.d.ts.map +1 -1
- package/types/client.d.ts.map +1 -1
- package/types/hooks.d.ts +1 -1
- package/types/hooks.d.ts.map +1 -1
- package/types/index.d.ts +11 -11
- package/types/index.d.ts.map +1 -1
- package/types/useBooker.d.ts +3 -3
- package/types/useBooker.d.ts.map +1 -1
- package/dist/cjs/Booker.cjs +0 -153
- package/dist/cjs/Booker.native.js +0 -158
- package/dist/cjs/Booker.native.js.map +0 -1
- package/dist/cjs/BookingForm.cjs +0 -197
- package/dist/cjs/BookingForm.native.js +0 -203
- package/dist/cjs/BookingForm.native.js.map +0 -1
- package/dist/cjs/CalendarEmbed.cjs +0 -121
- package/dist/cjs/CalendarEmbed.native.js +0 -125
- package/dist/cjs/CalendarEmbed.native.js.map +0 -1
- package/dist/cjs/Confirmation.cjs +0 -177
- package/dist/cjs/Confirmation.native.js +0 -185
- package/dist/cjs/Confirmation.native.js.map +0 -1
- package/dist/cjs/EventHeader.cjs +0 -112
- package/dist/cjs/EventHeader.native.js +0 -118
- package/dist/cjs/EventHeader.native.js.map +0 -1
- package/dist/cjs/MonthCalendar.cjs +0 -177
- package/dist/cjs/MonthCalendar.native.js +0 -191
- package/dist/cjs/MonthCalendar.native.js.map +0 -1
- package/dist/cjs/TimeSlots.cjs +0 -119
- package/dist/cjs/TimeSlots.native.js +0 -126
- package/dist/cjs/TimeSlots.native.js.map +0 -1
- package/dist/cjs/client.cjs +0 -136
- package/dist/cjs/client.native.js +0 -267
- package/dist/cjs/client.native.js.map +0 -1
- package/dist/cjs/hooks.cjs +0 -193
- package/dist/cjs/hooks.native.js +0 -221
- package/dist/cjs/hooks.native.js.map +0 -1
- package/dist/cjs/index.cjs +0 -71
- package/dist/cjs/index.native.js +0 -74
- package/dist/cjs/index.native.js.map +0 -1
- package/dist/cjs/time.cjs +0 -145
- package/dist/cjs/time.native.js +0 -150
- package/dist/cjs/time.native.js.map +0 -1
- package/dist/cjs/useBooker.cjs +0 -151
- package/dist/cjs/useBooker.native.js +0 -173
- package/dist/cjs/useBooker.native.js.map +0 -1
- package/dist/esm/Booker.mjs +0 -128
- package/dist/esm/Booker.mjs.map +0 -1
- package/dist/esm/Booker.native.js +0 -130
- package/dist/esm/Booker.native.js.map +0 -1
- package/dist/esm/BookingForm.mjs +0 -172
- package/dist/esm/BookingForm.mjs.map +0 -1
- package/dist/esm/BookingForm.native.js +0 -175
- package/dist/esm/BookingForm.native.js.map +0 -1
- package/dist/esm/CalendarEmbed.mjs +0 -96
- package/dist/esm/CalendarEmbed.mjs.map +0 -1
- package/dist/esm/CalendarEmbed.native.js +0 -97
- package/dist/esm/CalendarEmbed.native.js.map +0 -1
- package/dist/esm/Confirmation.mjs +0 -152
- package/dist/esm/Confirmation.mjs.map +0 -1
- package/dist/esm/Confirmation.native.js +0 -157
- package/dist/esm/Confirmation.native.js.map +0 -1
- package/dist/esm/EventHeader.mjs +0 -87
- package/dist/esm/EventHeader.mjs.map +0 -1
- package/dist/esm/EventHeader.native.js +0 -90
- package/dist/esm/EventHeader.native.js.map +0 -1
- package/dist/esm/MonthCalendar.mjs +0 -152
- package/dist/esm/MonthCalendar.mjs.map +0 -1
- package/dist/esm/MonthCalendar.native.js +0 -163
- package/dist/esm/MonthCalendar.native.js.map +0 -1
- package/dist/esm/TimeSlots.mjs +0 -94
- package/dist/esm/TimeSlots.mjs.map +0 -1
- package/dist/esm/TimeSlots.native.js +0 -98
- package/dist/esm/TimeSlots.native.js.map +0 -1
- package/dist/esm/client.mjs +0 -104
- package/dist/esm/client.mjs.map +0 -1
- package/dist/esm/client.native.js +0 -232
- package/dist/esm/client.native.js.map +0 -1
- package/dist/esm/hooks.mjs +0 -165
- package/dist/esm/hooks.mjs.map +0 -1
- package/dist/esm/hooks.native.js +0 -190
- package/dist/esm/hooks.native.js.map +0 -1
- package/dist/esm/index.mjs +0 -13
- package/dist/esm/index.mjs.map +0 -1
- package/dist/esm/index.native.js +0 -13
- package/dist/esm/index.native.js.map +0 -1
- package/dist/esm/time.mjs +0 -107
- package/dist/esm/time.mjs.map +0 -1
- package/dist/esm/time.native.js +0 -109
- package/dist/esm/time.native.js.map +0 -1
- package/dist/esm/useBooker.mjs +0 -126
- package/dist/esm/useBooker.mjs.map +0 -1
- package/dist/esm/useBooker.native.js +0 -145
- package/dist/esm/useBooker.native.js.map +0 -1
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Paragraph, SizableText, XStack, YStack } from "@hanzo/gui";
|
|
3
|
-
function EventHeader(param) {
|
|
4
|
-
var {
|
|
5
|
-
event,
|
|
6
|
-
host,
|
|
7
|
-
timeZone,
|
|
8
|
-
compact
|
|
9
|
-
} = param;
|
|
10
|
-
var _event_profile, _event_locations_, _event_locations;
|
|
11
|
-
var name = ((_event_profile = event.profile) === null || _event_profile === void 0 ? void 0 : _event_profile.name) || host;
|
|
12
|
-
var initial = ((name === null || name === void 0 ? void 0 : name[0]) || "H").toUpperCase();
|
|
13
|
-
return /* @__PURE__ */_jsxs(YStack, {
|
|
14
|
-
gap: "$2",
|
|
15
|
-
children: [/* @__PURE__ */_jsxs(XStack, {
|
|
16
|
-
alignItems: "center",
|
|
17
|
-
gap: "$2.5",
|
|
18
|
-
children: [/* @__PURE__ */_jsx(YStack, {
|
|
19
|
-
width: 28,
|
|
20
|
-
height: 28,
|
|
21
|
-
borderRadius: 9999,
|
|
22
|
-
backgroundColor: "$color5",
|
|
23
|
-
alignItems: "center",
|
|
24
|
-
justifyContent: "center",
|
|
25
|
-
children: /* @__PURE__ */_jsx(SizableText, {
|
|
26
|
-
size: "$2",
|
|
27
|
-
color: "$color11",
|
|
28
|
-
fontWeight: "600",
|
|
29
|
-
children: initial
|
|
30
|
-
})
|
|
31
|
-
}), /* @__PURE__ */_jsx(SizableText, {
|
|
32
|
-
size: "$3",
|
|
33
|
-
color: "$color10",
|
|
34
|
-
children: name
|
|
35
|
-
})]
|
|
36
|
-
}), /* @__PURE__ */_jsx(SizableText, {
|
|
37
|
-
size: compact ? "$6" : "$8",
|
|
38
|
-
fontWeight: "700",
|
|
39
|
-
color: "$color12",
|
|
40
|
-
children: event.title
|
|
41
|
-
}), /* @__PURE__ */_jsxs(XStack, {
|
|
42
|
-
gap: "$2",
|
|
43
|
-
alignItems: "center",
|
|
44
|
-
flexWrap: "wrap",
|
|
45
|
-
children: [/* @__PURE__ */_jsxs(Pill, {
|
|
46
|
-
children: [event.length, " min"]
|
|
47
|
-
}), /* @__PURE__ */_jsx(Pill, {
|
|
48
|
-
children: shortZone(timeZone)
|
|
49
|
-
}), ((_event_locations = event.locations) === null || _event_locations === void 0 ? void 0 : (_event_locations_ = _event_locations[0]) === null || _event_locations_ === void 0 ? void 0 : _event_locations_.type) ? /* @__PURE__ */_jsx(Pill, {
|
|
50
|
-
children: prettyLocation(event.locations[0].type)
|
|
51
|
-
}) : null]
|
|
52
|
-
}), !compact && event.description ? /* @__PURE__ */_jsx(Paragraph, {
|
|
53
|
-
size: "$3",
|
|
54
|
-
color: "$color11",
|
|
55
|
-
marginTop: "$1",
|
|
56
|
-
children: event.description
|
|
57
|
-
}) : null]
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
function Pill(param) {
|
|
61
|
-
var {
|
|
62
|
-
children
|
|
63
|
-
} = param;
|
|
64
|
-
return /* @__PURE__ */_jsx(XStack, {
|
|
65
|
-
backgroundColor: "$color3",
|
|
66
|
-
paddingHorizontal: "$2.5",
|
|
67
|
-
paddingVertical: "$1",
|
|
68
|
-
borderRadius: "$10",
|
|
69
|
-
alignItems: "center",
|
|
70
|
-
children: /* @__PURE__ */_jsx(SizableText, {
|
|
71
|
-
size: "$1",
|
|
72
|
-
color: "$color11",
|
|
73
|
-
children
|
|
74
|
-
})
|
|
75
|
-
});
|
|
76
|
-
}
|
|
77
|
-
function shortZone(tz) {
|
|
78
|
-
var city = tz.split("/").pop() || tz;
|
|
79
|
-
return city.replace(/_/g, " ");
|
|
80
|
-
}
|
|
81
|
-
function prettyLocation(type) {
|
|
82
|
-
var t = type.toLowerCase();
|
|
83
|
-
if (t.includes("google")) return "Google Meet";
|
|
84
|
-
if (t.includes("zoom")) return "Zoom";
|
|
85
|
-
if (t.includes("phone")) return "Phone";
|
|
86
|
-
if (t.includes("person")) return "In person";
|
|
87
|
-
return "Video call";
|
|
88
|
-
}
|
|
89
|
-
export { EventHeader };
|
|
90
|
-
//# sourceMappingURL=EventHeader.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Paragraph","SizableText","XStack","YStack","EventHeader","param","event","host","timeZone","compact","_event_profile","_event_locations_","_event_locations","name","profile","initial","toUpperCase","gap","children","alignItems","width","height","borderRadius","backgroundColor","justifyContent","size","color","fontWeight","title","flexWrap","Pill","length","shortZone","locations","type","prettyLocation"],"sources":["../../src/EventHeader.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAW,EAAAC,IAAA,IAAAC,KAAa,QAAQ,mBAAc;AAgBjD,SASIC,SATJ,EAAAC,WAAA,EAAAC,MAAA,EAAAC,MAAA;AALC,SAASC,YAAYC,KAAE;EAC5B;IAAMC,KAAA;IAAOC,IAAA;IAAMC,QAAA;IAASC;EAAQ,IAAAJ,KAAA;EACpC,IAAAK,cAAiB,EAAAC,iBAAkB,EAAAC,gBAAY;EAC/C,IAAAC,IACE,KAAAH,cAAA,GAACJ,KAAA,CAAAQ,OAAW,MACV,QAAAJ,cAAA,uBAAAA,cAAA,CAAAG,IAAA,KAAAN,IAAA;EAAA,IAAAQ,OAAA,KAAAF,IAAA,KAAC,QAAOA,IAAA,UAAW,SAAS,IAAIA,IAAA,QAC9B,KAAAG,WAAA;EAAA,sBAAAjB,KAAA,CAAAI,MAAA;IAAAc,GAAA,EAAC;IAAAC,QAAA,kBACQnB,KAAA,CAAAG,MAAA;MAAAiB,UACC;MAAAF,GACR;MAAcC,QACd,GACA,eAAWrB,IAAA,CAAAM,MAAA;QACXiB,KAAA;QAEAC,MAAA;QAEAC,YAAA;QACFC,eAAA;QACAJ,UAAA,UAAC;QAGHK,cAAA;QAEAN,QAAA,iBAACrB,IAAY,CAAAI,WAAM,EAAU;UAI7BwB,IAAA;UACEC,KAAA,YAAC;UAAYC,UAAA;UAAOT,QAAA,EAAAH;QAAI;MACxB,IACC,eAAmBlB,IAAG,CAAAI,WACrB;QAEJwB,IAAA;QAEEC,KAAW,YAAM;QAKrBR,QAAA,EAAAL;MAEJ;IAGE,IACG,eAAAhB,IAAA,CAAAI,WAAA;MAAAwB,IAAA,EAAAhB,OAAA;MACCkB,UAAA,OAAgB;MAChBD,KAAA,YAAkB;MAClBR,QAAA,EAAAZ,KAAgB,CAAAsB;IAChB,IACA,eAAW7B,KAAA,CAAAG,MAAA;MAEXe,GAAA;MAEAE,UAAA;MACFU,QAAA;MAEJX,QAAA,GAES,eAA8BnB,KAAA,CAAA+B,IAAA;QAC/BZ,QAAU,GACJZ,KAAA,CAAAyB,MAAQ,EACtB;MAGQ,EAAI,EACJ,eAAiBlC,IAAG,CAAAiC,IAAO;QAC3BZ,QAAS,EAAAc,SAAS,CAAAxB,QAAO;MACzB,IACA,EAAAI,gBAAoB,GAAAN,KAAO,CAAA2B,SAAA,cAAArB,gBAAA,wBAAAD,iBAAA,GAAAC,gBAAA,iBAAAD,iBAAA,uBAAAA,iBAAA,CAAAuB,IAAA,mBAAArC,IAAA,CAAAiC,IAAA;QAC1BZ,QAAA,EAAAiB,cAAA,CAAA7B,KAAA,CAAA2B,SAAA,IAAAC,IAAA;MACT","ignoreList":[]}
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { SizableText, Spinner, XStack, YStack } from "@hanzo/gui";
|
|
2
|
-
import { formatMonthLabel, isBeforeToday, monthMatrix, weekdayLabels } from "./time.mjs";
|
|
3
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
function MonthCalendar({
|
|
5
|
-
viewDate,
|
|
6
|
-
availableKeys,
|
|
7
|
-
selectedDay,
|
|
8
|
-
onSelectDay,
|
|
9
|
-
onPrev,
|
|
10
|
-
onNext,
|
|
11
|
-
atFirstMonth,
|
|
12
|
-
weekStartsOn = 0,
|
|
13
|
-
loading
|
|
14
|
-
}) {
|
|
15
|
-
const cells = monthMatrix(viewDate, weekStartsOn);
|
|
16
|
-
const rows = [];
|
|
17
|
-
for (let i = 0; i < cells.length; i += 7) rows.push(cells.slice(i, i + 7));
|
|
18
|
-
const labels = weekdayLabels(weekStartsOn);
|
|
19
|
-
return /* @__PURE__ */jsxs(YStack, {
|
|
20
|
-
gap: "$2",
|
|
21
|
-
flex: 1,
|
|
22
|
-
minWidth: 260,
|
|
23
|
-
children: [/* @__PURE__ */jsxs(XStack, {
|
|
24
|
-
alignItems: "center",
|
|
25
|
-
justifyContent: "space-between",
|
|
26
|
-
paddingVertical: "$1",
|
|
27
|
-
children: [/* @__PURE__ */jsx(NavArrow, {
|
|
28
|
-
label: "Previous month",
|
|
29
|
-
disabled: atFirstMonth,
|
|
30
|
-
onPress: onPrev,
|
|
31
|
-
children: "\u2039"
|
|
32
|
-
}), /* @__PURE__ */jsxs(XStack, {
|
|
33
|
-
alignItems: "center",
|
|
34
|
-
gap: "$2",
|
|
35
|
-
children: [/* @__PURE__ */jsx(SizableText, {
|
|
36
|
-
size: "$5",
|
|
37
|
-
fontWeight: "700",
|
|
38
|
-
color: "$color12",
|
|
39
|
-
children: formatMonthLabel(viewDate)
|
|
40
|
-
}), loading ? /* @__PURE__ */jsx(Spinner, {
|
|
41
|
-
size: "small",
|
|
42
|
-
color: "$color9"
|
|
43
|
-
}) : null]
|
|
44
|
-
}), /* @__PURE__ */jsx(NavArrow, {
|
|
45
|
-
label: "Next month",
|
|
46
|
-
onPress: onNext,
|
|
47
|
-
children: "\u203A"
|
|
48
|
-
})]
|
|
49
|
-
}), /* @__PURE__ */jsx(XStack, {
|
|
50
|
-
children: labels.map(l => /* @__PURE__ */jsx(YStack, {
|
|
51
|
-
flexBasis: 0,
|
|
52
|
-
flexGrow: 1,
|
|
53
|
-
alignItems: "center",
|
|
54
|
-
paddingVertical: "$1",
|
|
55
|
-
children: /* @__PURE__ */jsx(SizableText, {
|
|
56
|
-
size: "$1",
|
|
57
|
-
color: "$color10",
|
|
58
|
-
children: l
|
|
59
|
-
})
|
|
60
|
-
}, l))
|
|
61
|
-
}), /* @__PURE__ */jsx(YStack, {
|
|
62
|
-
gap: "$1.5",
|
|
63
|
-
children: rows.map((row, r) => /* @__PURE__ */jsx(XStack, {
|
|
64
|
-
gap: "$1.5",
|
|
65
|
-
children: row.map(cell => /* @__PURE__ */jsx(DayCell, {
|
|
66
|
-
cell,
|
|
67
|
-
available: availableKeys.has(cell.key),
|
|
68
|
-
past: isBeforeToday(cell.key),
|
|
69
|
-
selected: selectedDay === cell.key,
|
|
70
|
-
onSelectDay
|
|
71
|
-
}, cell.key))
|
|
72
|
-
}, r))
|
|
73
|
-
})]
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
function DayCell({
|
|
77
|
-
cell,
|
|
78
|
-
available,
|
|
79
|
-
past,
|
|
80
|
-
selected,
|
|
81
|
-
onSelectDay
|
|
82
|
-
}) {
|
|
83
|
-
const selectable = cell.inMonth && available && !past;
|
|
84
|
-
const dayNum = cell.date.getDate();
|
|
85
|
-
return /* @__PURE__ */jsxs(YStack, {
|
|
86
|
-
flexBasis: 0,
|
|
87
|
-
flexGrow: 1,
|
|
88
|
-
aspectRatio: 1,
|
|
89
|
-
alignItems: "center",
|
|
90
|
-
justifyContent: "center",
|
|
91
|
-
borderRadius: "$4",
|
|
92
|
-
borderWidth: 1,
|
|
93
|
-
borderColor: selected ? "$color12" : selectable ? "$color5" : "transparent",
|
|
94
|
-
backgroundColor: selected ? "$color12" : selectable ? "$color2" : "transparent",
|
|
95
|
-
opacity: cell.inMonth ? 1 : 0,
|
|
96
|
-
cursor: selectable ? "pointer" : "default",
|
|
97
|
-
hoverStyle: selectable && !selected ? {
|
|
98
|
-
backgroundColor: "$color4"
|
|
99
|
-
} : void 0,
|
|
100
|
-
pressStyle: selectable ? {
|
|
101
|
-
backgroundColor: "$color6"
|
|
102
|
-
} : void 0,
|
|
103
|
-
onPress: selectable ? () => onSelectDay(cell.key) : void 0,
|
|
104
|
-
"aria-label": selectable ? `Select ${cell.key}` : void 0,
|
|
105
|
-
role: selectable ? "button" : void 0,
|
|
106
|
-
children: [/* @__PURE__ */jsx(SizableText, {
|
|
107
|
-
size: "$3",
|
|
108
|
-
fontWeight: selectable ? "600" : "400",
|
|
109
|
-
color: selected ? "$color1" : selectable ? "$color12" : "$color8",
|
|
110
|
-
children: dayNum
|
|
111
|
-
}), selectable && !selected ? /* @__PURE__ */jsx(YStack, {
|
|
112
|
-
position: "absolute",
|
|
113
|
-
bottom: 4,
|
|
114
|
-
width: 4,
|
|
115
|
-
height: 4,
|
|
116
|
-
borderRadius: 9999,
|
|
117
|
-
backgroundColor: "$color10"
|
|
118
|
-
}) : null]
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
function NavArrow({
|
|
122
|
-
children,
|
|
123
|
-
onPress,
|
|
124
|
-
disabled,
|
|
125
|
-
label
|
|
126
|
-
}) {
|
|
127
|
-
return /* @__PURE__ */jsx(YStack, {
|
|
128
|
-
width: 34,
|
|
129
|
-
height: 34,
|
|
130
|
-
alignItems: "center",
|
|
131
|
-
justifyContent: "center",
|
|
132
|
-
borderRadius: "$4",
|
|
133
|
-
opacity: disabled ? 0.35 : 1,
|
|
134
|
-
cursor: disabled ? "default" : "pointer",
|
|
135
|
-
hoverStyle: disabled ? void 0 : {
|
|
136
|
-
backgroundColor: "$color4"
|
|
137
|
-
},
|
|
138
|
-
pressStyle: disabled ? void 0 : {
|
|
139
|
-
backgroundColor: "$color6"
|
|
140
|
-
},
|
|
141
|
-
onPress: disabled ? void 0 : onPress,
|
|
142
|
-
"aria-label": label,
|
|
143
|
-
role: "button",
|
|
144
|
-
children: /* @__PURE__ */jsx(SizableText, {
|
|
145
|
-
size: "$6",
|
|
146
|
-
color: "$color11",
|
|
147
|
-
children
|
|
148
|
-
})
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
export { MonthCalendar };
|
|
152
|
-
//# sourceMappingURL=MonthCalendar.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["SizableText","Spinner","XStack","YStack","formatMonthLabel","isBeforeToday","monthMatrix","weekdayLabels","jsx","jsxs","MonthCalendar","viewDate","availableKeys","selectedDay","onSelectDay","onPrev","onNext","atFirstMonth","weekStartsOn","loading","cells","rows","i","length","push","slice","labels","gap","flex","minWidth","children","alignItems","justifyContent","paddingVertical","NavArrow","label","disabled","onPress","size","fontWeight","color","map","l","flexBasis","flexGrow","row","r","cell","DayCell","available","has","key","past","selected","selectable","inMonth","dayNum","date","getDate","aspectRatio","borderRadius","borderWidth","borderColor","backgroundColor","opacity","cursor","hoverStyle","pressStyle","role","position","bottom","width","height"],"sources":["../../src/MonthCalendar.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { SizableText, Spinner, XStack, YStack } from "@hanzo/gui";
|
|
3
|
-
import { formatMonthLabel, isBeforeToday, monthMatrix, weekdayLabels } from "./time.native.js";
|
|
4
|
-
function MonthCalendar(param) {
|
|
5
|
-
var {
|
|
6
|
-
viewDate,
|
|
7
|
-
availableKeys,
|
|
8
|
-
selectedDay,
|
|
9
|
-
onSelectDay,
|
|
10
|
-
onPrev,
|
|
11
|
-
onNext,
|
|
12
|
-
atFirstMonth,
|
|
13
|
-
weekStartsOn = 0,
|
|
14
|
-
loading
|
|
15
|
-
} = param;
|
|
16
|
-
var cells = monthMatrix(viewDate, weekStartsOn);
|
|
17
|
-
var rows = [];
|
|
18
|
-
for (var i = 0; i < cells.length; i += 7) rows.push(cells.slice(i, i + 7));
|
|
19
|
-
var labels = weekdayLabels(weekStartsOn);
|
|
20
|
-
return /* @__PURE__ */_jsxs(YStack, {
|
|
21
|
-
gap: "$2",
|
|
22
|
-
flex: 1,
|
|
23
|
-
minWidth: 260,
|
|
24
|
-
children: [/* @__PURE__ */_jsxs(XStack, {
|
|
25
|
-
alignItems: "center",
|
|
26
|
-
justifyContent: "space-between",
|
|
27
|
-
paddingVertical: "$1",
|
|
28
|
-
children: [/* @__PURE__ */_jsx(NavArrow, {
|
|
29
|
-
label: "Previous month",
|
|
30
|
-
disabled: atFirstMonth,
|
|
31
|
-
onPress: onPrev,
|
|
32
|
-
children: "\u2039"
|
|
33
|
-
}), /* @__PURE__ */_jsxs(XStack, {
|
|
34
|
-
alignItems: "center",
|
|
35
|
-
gap: "$2",
|
|
36
|
-
children: [/* @__PURE__ */_jsx(SizableText, {
|
|
37
|
-
size: "$5",
|
|
38
|
-
fontWeight: "700",
|
|
39
|
-
color: "$color12",
|
|
40
|
-
children: formatMonthLabel(viewDate)
|
|
41
|
-
}), loading ? /* @__PURE__ */_jsx(Spinner, {
|
|
42
|
-
size: "small",
|
|
43
|
-
color: "$color9"
|
|
44
|
-
}) : null]
|
|
45
|
-
}), /* @__PURE__ */_jsx(NavArrow, {
|
|
46
|
-
label: "Next month",
|
|
47
|
-
onPress: onNext,
|
|
48
|
-
children: "\u203A"
|
|
49
|
-
})]
|
|
50
|
-
}), /* @__PURE__ */_jsx(XStack, {
|
|
51
|
-
children: labels.map(function (l) {
|
|
52
|
-
return /* @__PURE__ */_jsx(YStack, {
|
|
53
|
-
flexBasis: 0,
|
|
54
|
-
flexGrow: 1,
|
|
55
|
-
alignItems: "center",
|
|
56
|
-
paddingVertical: "$1",
|
|
57
|
-
children: /* @__PURE__ */_jsx(SizableText, {
|
|
58
|
-
size: "$1",
|
|
59
|
-
color: "$color10",
|
|
60
|
-
children: l
|
|
61
|
-
})
|
|
62
|
-
}, l);
|
|
63
|
-
})
|
|
64
|
-
}), /* @__PURE__ */_jsx(YStack, {
|
|
65
|
-
gap: "$1.5",
|
|
66
|
-
children: rows.map(function (row, r) {
|
|
67
|
-
return /* @__PURE__ */_jsx(XStack, {
|
|
68
|
-
gap: "$1.5",
|
|
69
|
-
children: row.map(function (cell) {
|
|
70
|
-
return /* @__PURE__ */_jsx(DayCell, {
|
|
71
|
-
cell,
|
|
72
|
-
available: availableKeys.has(cell.key),
|
|
73
|
-
past: isBeforeToday(cell.key),
|
|
74
|
-
selected: selectedDay === cell.key,
|
|
75
|
-
onSelectDay
|
|
76
|
-
}, cell.key);
|
|
77
|
-
})
|
|
78
|
-
}, r);
|
|
79
|
-
})
|
|
80
|
-
})]
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
function DayCell(param) {
|
|
84
|
-
var {
|
|
85
|
-
cell,
|
|
86
|
-
available,
|
|
87
|
-
past,
|
|
88
|
-
selected,
|
|
89
|
-
onSelectDay
|
|
90
|
-
} = param;
|
|
91
|
-
var selectable = cell.inMonth && available && !past;
|
|
92
|
-
var dayNum = cell.date.getDate();
|
|
93
|
-
return /* @__PURE__ */_jsxs(YStack, {
|
|
94
|
-
flexBasis: 0,
|
|
95
|
-
flexGrow: 1,
|
|
96
|
-
aspectRatio: 1,
|
|
97
|
-
alignItems: "center",
|
|
98
|
-
justifyContent: "center",
|
|
99
|
-
borderRadius: "$4",
|
|
100
|
-
borderWidth: 1,
|
|
101
|
-
borderColor: selected ? "$color12" : selectable ? "$color5" : "transparent",
|
|
102
|
-
backgroundColor: selected ? "$color12" : selectable ? "$color2" : "transparent",
|
|
103
|
-
opacity: cell.inMonth ? 1 : 0,
|
|
104
|
-
cursor: selectable ? "pointer" : "default",
|
|
105
|
-
hoverStyle: selectable && !selected ? {
|
|
106
|
-
backgroundColor: "$color4"
|
|
107
|
-
} : void 0,
|
|
108
|
-
pressStyle: selectable ? {
|
|
109
|
-
backgroundColor: "$color6"
|
|
110
|
-
} : void 0,
|
|
111
|
-
onPress: selectable ? function () {
|
|
112
|
-
return onSelectDay(cell.key);
|
|
113
|
-
} : void 0,
|
|
114
|
-
"aria-label": selectable ? `Select ${cell.key}` : void 0,
|
|
115
|
-
role: selectable ? "button" : void 0,
|
|
116
|
-
children: [/* @__PURE__ */_jsx(SizableText, {
|
|
117
|
-
size: "$3",
|
|
118
|
-
fontWeight: selectable ? "600" : "400",
|
|
119
|
-
color: selected ? "$color1" : selectable ? "$color12" : "$color8",
|
|
120
|
-
children: dayNum
|
|
121
|
-
}), selectable && !selected ? /* @__PURE__ */_jsx(YStack, {
|
|
122
|
-
position: "absolute",
|
|
123
|
-
bottom: 4,
|
|
124
|
-
width: 4,
|
|
125
|
-
height: 4,
|
|
126
|
-
borderRadius: 9999,
|
|
127
|
-
backgroundColor: "$color10"
|
|
128
|
-
}) : null]
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
function NavArrow(param) {
|
|
132
|
-
var {
|
|
133
|
-
children,
|
|
134
|
-
onPress,
|
|
135
|
-
disabled,
|
|
136
|
-
label
|
|
137
|
-
} = param;
|
|
138
|
-
return /* @__PURE__ */_jsx(YStack, {
|
|
139
|
-
width: 34,
|
|
140
|
-
height: 34,
|
|
141
|
-
alignItems: "center",
|
|
142
|
-
justifyContent: "center",
|
|
143
|
-
borderRadius: "$4",
|
|
144
|
-
opacity: disabled ? 0.35 : 1,
|
|
145
|
-
cursor: disabled ? "default" : "pointer",
|
|
146
|
-
hoverStyle: disabled ? void 0 : {
|
|
147
|
-
backgroundColor: "$color4"
|
|
148
|
-
},
|
|
149
|
-
pressStyle: disabled ? void 0 : {
|
|
150
|
-
backgroundColor: "$color6"
|
|
151
|
-
},
|
|
152
|
-
onPress: disabled ? void 0 : onPress,
|
|
153
|
-
"aria-label": label,
|
|
154
|
-
role: "button",
|
|
155
|
-
children: /* @__PURE__ */_jsx(SizableText, {
|
|
156
|
-
size: "$6",
|
|
157
|
-
color: "$color11",
|
|
158
|
-
children
|
|
159
|
-
})
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
export { MonthCalendar };
|
|
163
|
-
//# sourceMappingURL=MonthCalendar.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","SizableText","Spinner","XStack","YStack","formatMonthLabel","isBeforeToday","monthMatrix","weekdayLabels","MonthCalendar","param","viewDate","availableKeys","selectedDay","onSelectDay","onPrev","onNext","atFirstMonth","weekStartsOn","loading","cells","rows","i","length","push","slice","labels","gap","flex","minWidth","children","alignItems","justifyContent","paddingVertical","NavArrow","label","disabled","onPress","size","fontWeight","color","map","l","flexBasis","flexGrow","row","r","cell","DayCell","available","has","key","past","selected","selectable","inMonth","dayNum","date","getDate","aspectRatio","borderRadius","borderWidth","borderColor","backgroundColor","opacity","cursor","hoverStyle","pressStyle","role","position","bottom","width","height"],"sources":["../../src/MonthCalendar.tsx"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAA,IAAAC,IAAA,EAAaC,IAAA,IAAAC,KAAS,QAAQ,mBAAc;AACrD,SAAAC,WAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,MAAA;AAAA,SACEC,gBAAA,EAAAC,aAAA,EAAAC,WAAA,EAAAC,aAAA;AAAA,SACAC,cAAAC,KAAA;EACA;IAAAC,QAAA;IAAAC,aAAA;IAAAC,WAAA;IAAAC,WAAA;IAAAC,MAAA;IAAAC,MAAA;IAAAC,YAAA;IAAAC,YAAA;IAAAC;EAAA,IAAAT,KAAA;EACA,IAAAU,KAAA,GAAAb,WAAA,CAAAI,QAAA,EAAAO,YAAA;EAAA,IAAAG,IAEK;EAkCC,SAAAC,CAAA,GAGA,GAAAA,CAAA,GAAAF,KAHA,CAAAG,MAAA,EAAAD,CAAA,OAAAD,IAAA,CAAAG,IAAA,CAAAJ,KAAA,CAAAK,KAAA,CAAAH,CAAA,EAAAA,CAAA;EAnBD,IAAAI,MAAS,GAAAlB,aAAc,CAAAU,YAAA;EAC5B,sBAAAlB,KAAA,CAAAI,MAAA;IACAuB,GAAA;IACAC,IAAA;IACAC,QAAA;IACAC,QAAA,GACA,eAAA9B,KAAA,CAAAG,MAAA;MACA4B,UAAA;MACAC,cAAe;MACfC,eAAA;MACqBH,QAAA,GACf,eAAQhC,IAAY,CAAAoC,QAAU;QAC9BC,KAAuB;QACpBC,QAAO,EAAInB,YAAM;QACpBoB,OAAS,EAAAtB,MAAA;QAGbe,QAAA;MACE,IACE,eAAC9B,KAAA,CAAAG,MAAS;QAGV4B,UAAA,UAAC;QACCJ,GAAA;QAGCG,QAAU,GACb,eAAAhC,IAAA,CAAAG,WAAA;UACAqC,IAAA,MAAC;UAGHC,UAAA;UAEAC,KAAA,YAAC;UAEIV,QAAA,EAAAzB,gBAAA,CAAAM,QAAA;QAAA,IAECQ,OAAW,kBAAArB,IAAA,CAAAI,OAAA;UACXoC,IAAU;UACVE,KAAW;QACX;MAIA,IARK,eAAA1C,IAAA,CAAAoC,QAAA;QAWXC,KAAA;QAEAE,OAAA,EAAArB,MAAC;QAIQc,QAAA;MAAA;IAEC,EACA,EAAqC,eAC/BhC,IAAA,CAAAK,MAAmB;MACzB2B,QAAA,EAAUJ,MAAA,CAAAe,GAAA,WAAgBC,CAAK;QAC/B,sBAAA5C,IAAA,CAAAM,MAAA;UAAAuC,SAAA;UALUC,QAAA;UASjBb,UACH;UACFE,eAAA;UAEJH,QAAA,iBAAAhC,IAAA,CAAAG,WAAA;YAESqC,IAAQ;YACfE,KAAA;YACAV,QAAA,EAAAY;UACA;QACA,GAAAA,CAAA;MACA;IAOC,IACD,eAAmB5C,IAAK,CAAAM,MAAA;MAClBuB,GAAA,QAAS;MAEfG,QACE,EAAAT,IAAA,CAAAoB,GAAA,WAAAI,GAAA,EAAAC,CAAA;QAAC,sBAAAhD,IAAA,CAAAK,MAAA;UAAAwB,GAAA;UACCG,QAAW,EAAAe,GAAA,CAAAJ,GAAA,WAAAM,IAAA;YACX,OAAU,eAAAjD,IAAA,CAAAkD,OAAA;cACVD,IAAa;cACbE,SAAW,EAAArC,aAAA,CAAAsC,GAAA,CAAAH,IAAA,CAAAI,GAAA;cACXC,IAAA,EAAe9C,aAAA,CAAAyC,IAAA,CAAAI,GAAA;cACfE,QAAa,EAAAxC,WAAA,KAAAkC,IAAA,CAAAI,GAAA;cACbrC;YACA,GAAAiC,IAAa,CAAAI,GAAA;UACb;QACA,GAAAL,CAAA,CAAS;MACT;IACA;EAC0D;AACN;AACJ,SAChDE,OAAMA,CAAAtC,KAAA;EAAwB,IAE9B;IAAAqC,IAAA;IAAAE,SAAA;IAAAG,IAAA;IAAAC,QAAA;IAAAvC;EAAA,IAAAJ,KAAA;EAAA,IAAA4C,UAAA,GAAAP,IAAA,CAAAQ,OAAA,IAAAN,SAAA,KAAAG,IAAA;EAAA,IAAAI,MAAC,GAAAT,IAAA,CAAAU,IAAA,CAAAC,OAAA;EAAA,sBAAA1D,KAAA,CAAAI,MAAA;IAAAuC,SACC;IAAKC,QACL;IAAiCe,WACjC;IAAwD5B,UAEvD;IAAAC,cAAA;IAAA4B,YACH;IAAAC,WACC;IACCC,WAAC,EAAAT,QAAA,gBAAAC,UAAA;IAAAS,eAAA,EAAAV,QAAA,gBAAAC,UAAA;IAAAU,OAAA,EACCjB,IAAA,CAAAQ,OAAS;IAAAU,MAAA,EACTX,UAAQ;IAAAY,UACR,EAAAZ,UAAO,KAAAD,QAAA;MAAAU,eACC;IAAA,SACR;IAAcI,UACd,EAAAb,UAAA,GAAgB;MAAAS,eAAA;IAAA,IAClB,KACE;IAAA1B,OAAA,EAAAiB,UAAA;MAAA,OAAAxC,WAAA,CAAAiC,IAAA,CAAAI,GAAA;IACN;IAEJ,cAAAG,UAAA,aAAAP,IAAA,CAAAI,GAAA;IAEAiB,IAAA,EAASd,UAAS;IAChBxB,QAAA,GACA,eAAAhC,IAAA,CAAAG,WAAA;MACAqC,IAAA;MACAC,UAAA,EAAAe,UAAA;MAMCd,KAAA,EAAAa,QAAA,eAAAC,UAAA;MACDxB,QACE,EAAA0B;IAAC,IAAAF,UAAA,KAAAD,QAAA,kBAAAvD,IAAA,CAAAM,MAAA;MACCiE,QAAO;MACPC,MAAQ;MACRC,KAAA;MACAC,MAAA;MACAZ,YAAa;MACbG,eAAS;IACT,SAAQ;EACwD;AACA;AAChC,SAChC7B,SAAAxB,KAAY;EAAA,IACZ;IAAAoB,QAAK;IAAAO,OAAA;IAAAD,QAAA;IAAAD;EAAA,IAAAzB,KAAA;EAAA,OAEL,eAAAZ,IAAA,CAAAM,MAAC;IAEDmE,KAAA;IACFC,MAAA;IAEJzC,UAAA","ignoreList":[]}
|
package/dist/esm/TimeSlots.mjs
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { Button, ScrollView, SizableText, XStack, YStack } from "@hanzo/gui";
|
|
2
|
-
import { dateFromKey, formatDayLong, formatSlotTime } from "./time.mjs";
|
|
3
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
function TimeSlots({
|
|
5
|
-
dayKey,
|
|
6
|
-
slots,
|
|
7
|
-
timeZone,
|
|
8
|
-
onPick,
|
|
9
|
-
selectedIso,
|
|
10
|
-
loading,
|
|
11
|
-
compact,
|
|
12
|
-
maxHeight = 360
|
|
13
|
-
}) {
|
|
14
|
-
if (!dayKey) {
|
|
15
|
-
return /* @__PURE__ */jsx(Centered, {
|
|
16
|
-
children: /* @__PURE__ */jsx(SizableText, {
|
|
17
|
-
size: "$3",
|
|
18
|
-
color: "$color10",
|
|
19
|
-
textAlign: "center",
|
|
20
|
-
children: "Select a day to see available times."
|
|
21
|
-
})
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
const heading = formatDayLong(dateFromKey(dayKey));
|
|
25
|
-
return /* @__PURE__ */jsxs(YStack, {
|
|
26
|
-
gap: "$2",
|
|
27
|
-
flex: 1,
|
|
28
|
-
minWidth: 200,
|
|
29
|
-
children: [/* @__PURE__ */jsx(SizableText, {
|
|
30
|
-
size: "$4",
|
|
31
|
-
fontWeight: "600",
|
|
32
|
-
color: "$color12",
|
|
33
|
-
children: heading
|
|
34
|
-
}), loading ? /* @__PURE__ */jsx(Centered, {
|
|
35
|
-
children: /* @__PURE__ */jsx(SizableText, {
|
|
36
|
-
size: "$2",
|
|
37
|
-
color: "$color10",
|
|
38
|
-
children: "Loading times\u2026"
|
|
39
|
-
})
|
|
40
|
-
}) : slots.length === 0 ? /* @__PURE__ */jsx(Centered, {
|
|
41
|
-
children: /* @__PURE__ */jsx(SizableText, {
|
|
42
|
-
size: "$3",
|
|
43
|
-
color: "$color10",
|
|
44
|
-
textAlign: "center",
|
|
45
|
-
children: "No times left on this day. Try another."
|
|
46
|
-
})
|
|
47
|
-
}) : /* @__PURE__ */jsx(ScrollView, {
|
|
48
|
-
maxHeight,
|
|
49
|
-
showsVerticalScrollIndicator: false,
|
|
50
|
-
children: /* @__PURE__ */jsx(XStack, {
|
|
51
|
-
flexWrap: "wrap",
|
|
52
|
-
gap: "$2",
|
|
53
|
-
flexDirection: compact ? "row" : "column",
|
|
54
|
-
children: slots.map(slot => {
|
|
55
|
-
const active = selectedIso === slot.time;
|
|
56
|
-
return /* @__PURE__ */jsx(Button, {
|
|
57
|
-
size: "$3",
|
|
58
|
-
theme: active ? "blue" : void 0,
|
|
59
|
-
chromeless: !active,
|
|
60
|
-
borderWidth: 1,
|
|
61
|
-
borderColor: active ? "$color8" : "$color6",
|
|
62
|
-
backgroundColor: active ? void 0 : "$color1",
|
|
63
|
-
hoverStyle: {
|
|
64
|
-
borderColor: "$color10"
|
|
65
|
-
},
|
|
66
|
-
pressStyle: {
|
|
67
|
-
backgroundColor: "$color4"
|
|
68
|
-
},
|
|
69
|
-
onPress: () => onPick(slot.time),
|
|
70
|
-
"aria-label": `Book ${formatSlotTime(slot.time, timeZone)}`,
|
|
71
|
-
...(compact ? {} : {
|
|
72
|
-
alignSelf: "stretch"
|
|
73
|
-
}),
|
|
74
|
-
children: formatSlotTime(slot.time, timeZone)
|
|
75
|
-
}, slot.time);
|
|
76
|
-
})
|
|
77
|
-
})
|
|
78
|
-
})]
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
function Centered({
|
|
82
|
-
children
|
|
83
|
-
}) {
|
|
84
|
-
return /* @__PURE__ */jsx(YStack, {
|
|
85
|
-
flex: 1,
|
|
86
|
-
minHeight: 120,
|
|
87
|
-
alignItems: "center",
|
|
88
|
-
justifyContent: "center",
|
|
89
|
-
padding: "$4",
|
|
90
|
-
children
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
export { TimeSlots };
|
|
94
|
-
//# sourceMappingURL=TimeSlots.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Button","ScrollView","SizableText","XStack","YStack","dateFromKey","formatDayLong","formatSlotTime","jsx","jsxs","TimeSlots","dayKey","slots","timeZone","onPick","selectedIso","loading","compact","maxHeight","Centered","children","size","color","textAlign","heading","gap","flex","minWidth","fontWeight","length","showsVerticalScrollIndicator","flexWrap","flexDirection","map","slot","active","time","theme","chromeless","borderWidth","borderColor","backgroundColor","hoverStyle","pressStyle","onPress","alignSelf","minHeight","alignItems","justifyContent","padding"],"sources":["../../src/TimeSlots.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Button, ScrollView, SizableText, XStack, YStack } from "@hanzo/gui";
|
|
3
|
-
import { dateFromKey, formatDayLong, formatSlotTime } from "./time.native.js";
|
|
4
|
-
function TimeSlots(param) {
|
|
5
|
-
var {
|
|
6
|
-
dayKey,
|
|
7
|
-
slots,
|
|
8
|
-
timeZone,
|
|
9
|
-
onPick,
|
|
10
|
-
selectedIso,
|
|
11
|
-
loading,
|
|
12
|
-
compact,
|
|
13
|
-
maxHeight = 360
|
|
14
|
-
} = param;
|
|
15
|
-
if (!dayKey) {
|
|
16
|
-
return /* @__PURE__ */_jsx(Centered, {
|
|
17
|
-
children: /* @__PURE__ */_jsx(SizableText, {
|
|
18
|
-
size: "$3",
|
|
19
|
-
color: "$color10",
|
|
20
|
-
textAlign: "center",
|
|
21
|
-
children: "Select a day to see available times."
|
|
22
|
-
})
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
var heading = formatDayLong(dateFromKey(dayKey));
|
|
26
|
-
return /* @__PURE__ */_jsxs(YStack, {
|
|
27
|
-
gap: "$2",
|
|
28
|
-
flex: 1,
|
|
29
|
-
minWidth: 200,
|
|
30
|
-
children: [/* @__PURE__ */_jsx(SizableText, {
|
|
31
|
-
size: "$4",
|
|
32
|
-
fontWeight: "600",
|
|
33
|
-
color: "$color12",
|
|
34
|
-
children: heading
|
|
35
|
-
}), loading ? /* @__PURE__ */_jsx(Centered, {
|
|
36
|
-
children: /* @__PURE__ */_jsx(SizableText, {
|
|
37
|
-
size: "$2",
|
|
38
|
-
color: "$color10",
|
|
39
|
-
children: "Loading times\u2026"
|
|
40
|
-
})
|
|
41
|
-
}) : slots.length === 0 ? /* @__PURE__ */_jsx(Centered, {
|
|
42
|
-
children: /* @__PURE__ */_jsx(SizableText, {
|
|
43
|
-
size: "$3",
|
|
44
|
-
color: "$color10",
|
|
45
|
-
textAlign: "center",
|
|
46
|
-
children: "No times left on this day. Try another."
|
|
47
|
-
})
|
|
48
|
-
}) : /* @__PURE__ */_jsx(ScrollView, {
|
|
49
|
-
maxHeight,
|
|
50
|
-
showsVerticalScrollIndicator: false,
|
|
51
|
-
children: /* @__PURE__ */_jsx(XStack, {
|
|
52
|
-
flexWrap: "wrap",
|
|
53
|
-
gap: "$2",
|
|
54
|
-
flexDirection: compact ? "row" : "column",
|
|
55
|
-
children: slots.map(function (slot) {
|
|
56
|
-
var active = selectedIso === slot.time;
|
|
57
|
-
return /* @__PURE__ */_jsx(Button, {
|
|
58
|
-
size: "$3",
|
|
59
|
-
theme: active ? "blue" : void 0,
|
|
60
|
-
chromeless: !active,
|
|
61
|
-
borderWidth: 1,
|
|
62
|
-
borderColor: active ? "$color8" : "$color6",
|
|
63
|
-
backgroundColor: active ? void 0 : "$color1",
|
|
64
|
-
hoverStyle: {
|
|
65
|
-
borderColor: "$color10"
|
|
66
|
-
},
|
|
67
|
-
pressStyle: {
|
|
68
|
-
backgroundColor: "$color4"
|
|
69
|
-
},
|
|
70
|
-
onPress: function () {
|
|
71
|
-
return onPick(slot.time);
|
|
72
|
-
},
|
|
73
|
-
"aria-label": `Book ${formatSlotTime(slot.time, timeZone)}`,
|
|
74
|
-
...(compact ? {} : {
|
|
75
|
-
alignSelf: "stretch"
|
|
76
|
-
}),
|
|
77
|
-
children: formatSlotTime(slot.time, timeZone)
|
|
78
|
-
}, slot.time);
|
|
79
|
-
})
|
|
80
|
-
})
|
|
81
|
-
})]
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
function Centered(param) {
|
|
85
|
-
var {
|
|
86
|
-
children
|
|
87
|
-
} = param;
|
|
88
|
-
return /* @__PURE__ */_jsx(YStack, {
|
|
89
|
-
flex: 1,
|
|
90
|
-
minHeight: 120,
|
|
91
|
-
alignItems: "center",
|
|
92
|
-
justifyContent: "center",
|
|
93
|
-
padding: "$4",
|
|
94
|
-
children
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
export { TimeSlots };
|
|
98
|
-
//# sourceMappingURL=TimeSlots.native.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Button","ScrollView","SizableText","XStack","YStack","dateFromKey","formatDayLong","formatSlotTime","TimeSlots","param","dayKey","slots","timeZone","onPick","selectedIso","loading","compact","maxHeight","Centered","children","size","color","textAlign","heading","gap","flex","minWidth","fontWeight","length","showsVerticalScrollIndicator","flexWrap","flexDirection","map","slot","active","time","theme","chromeless","borderWidth","borderColor"],"sources":["../../src/TimeSlots.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAQ,EAAAC,IAAA,IAAYC,KAAA,QAAa,mBAAQ;AAElD,SAASC,MAAA,EAAAC,UAAa,EAAAC,WAAe,EAAAC,MAAA,EAAAC,MAAA,QAAsB;AA4BnD,SAAAC,WAUJ,EAAAC,aAVI,EAAAC,cAAA;AAbD,SAASC,UAAUC,KAAA;EACxB;IAAAC,MAAA;IAAAC,KAAA;IAAAC,QAAA;IAAAC,MAAA;IAAAC,WAAA;IAAAC,OAAA;IAAAC,OAAA;IAAAC,SAAA;EAAA,IAAAR,KAAA;EACA,KAAAC,MAAA;IACA,sBAAAb,IAAA,CAAAqB,QAAA;MACAC,QAAA,iBAAAtB,IAAA,CAAAK,WAAA;QACAkB,IAAA;QACAC,KAAA;QACAC,SAAA;QACAH,QAAY;MACK;IACjB,EAAI;EACF;EAOF,IAAAI,OAAA,GAAAjB,aAAA,CAAAD,WAAA,CAAAK,MAAA;EAEA,OAAM,eAAUX,KAAA,CAAAK,MAAc;IAE9BoB,GAAA,EACE;IACEC,IAAA;IAICC,QAAA,EACC;IAeMP,QAAM,GACN,eACEtB,IAAA,CAAAK,WAAA;MAACkB,IAAA;MAAAO,UAAA;MAAAN,KAEC,YAAK;MAAAF,QACL,EAAOI;IAAkB,IACZR,OACb,kBAAalB,IAAA,CAAAqB,QAAA;MAAAC,QACb,iBAAsBtB,IAAA,CAAAK,WAAY;QAClCkB,IAAA;QACAC,KAAA,YAAc;QACdF,QAAA;MAAyC;IACV,KAC/BR,KAAA,CAAAiB,MAAA,KAAY,IAAQ,eAAe/B,IAAK,CAAAqB,QAAM;MAASC,QAClD,iBAAiBtB,IAAA,CAAAK,WAAW,EAAU;QAE1CkB,IAAA;QAAkCC,KAAA;QAb9BC,SAAK;QAcZH,QAAA;MAGN;IAGN,oBAAAtB,IAAA,CAAAI,UAAA;MAEJgB,SAAA;MAEAY,4BAAyD;MACvDV,QACE,iBAAAtB,IAAA,CAAAM,MAAA;QAAC2B,QAAA;QAAAN,GAAA;QACCO,aAAM,EAAAf,OAAA;QACNG,QAAW,EAAAR,KAAA,CAAAqB,GAAA,WAAAC,IAAA;UACX,IAAAC,MAAW,GAAApB,WAAA,KAAAmB,IAAA,CAAAE,IAAA;UACX,sBAAetC,IAAA,CAAAG,MAAA;YACfoB,IAAQ;YAEPgB,KAAA,EAAAF,MAAA;YAAAG,UAAA,GAAAH,MAAA;YACHI,WAAA;YAEJC,WAAA,EAAAL,MAAA","ignoreList":[]}
|