@hanzo/booker 8.2.1 → 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.
Files changed (166) hide show
  1. package/README.md +6 -6
  2. package/dist/cjs/Booker.js +23 -0
  3. package/dist/cjs/Booker.js.map +1 -0
  4. package/dist/cjs/BookingForm.js +32 -0
  5. package/dist/cjs/BookingForm.js.map +1 -0
  6. package/dist/cjs/CalendarEmbed.js +20 -0
  7. package/dist/cjs/CalendarEmbed.js.map +1 -0
  8. package/dist/cjs/Confirmation.js +34 -0
  9. package/dist/cjs/Confirmation.js.map +1 -0
  10. package/dist/cjs/EventHeader.js +31 -0
  11. package/dist/cjs/EventHeader.js.map +1 -0
  12. package/dist/cjs/MonthCalendar.js +24 -0
  13. package/dist/cjs/MonthCalendar.js.map +1 -0
  14. package/dist/cjs/TimeSlots.js +21 -0
  15. package/dist/cjs/TimeSlots.js.map +1 -0
  16. package/dist/cjs/client.js +113 -0
  17. package/dist/cjs/client.js.map +1 -0
  18. package/dist/cjs/hooks.js +121 -0
  19. package/dist/cjs/hooks.js.map +1 -0
  20. package/dist/cjs/index.js +55 -0
  21. package/dist/cjs/index.js.map +1 -0
  22. package/dist/cjs/package.json +1 -0
  23. package/dist/cjs/time.js +129 -0
  24. package/dist/cjs/time.js.map +1 -0
  25. package/dist/cjs/useBooker.js +135 -0
  26. package/dist/cjs/useBooker.js.map +1 -0
  27. package/dist/esm/Booker.js +20 -0
  28. package/dist/esm/Booker.js.map +1 -0
  29. package/dist/esm/BookingForm.js +29 -0
  30. package/dist/esm/BookingForm.js.map +1 -0
  31. package/dist/esm/CalendarEmbed.js +17 -0
  32. package/dist/esm/CalendarEmbed.js.map +1 -0
  33. package/dist/esm/Confirmation.js +31 -0
  34. package/dist/esm/Confirmation.js.map +1 -0
  35. package/dist/esm/EventHeader.js +28 -0
  36. package/dist/esm/EventHeader.js.map +1 -0
  37. package/dist/esm/MonthCalendar.js +21 -0
  38. package/dist/esm/MonthCalendar.js.map +1 -0
  39. package/dist/esm/TimeSlots.js +18 -0
  40. package/dist/esm/TimeSlots.js.map +1 -0
  41. package/dist/esm/client.js +104 -0
  42. package/dist/esm/client.js.map +1 -0
  43. package/dist/esm/hooks.js +115 -0
  44. package/dist/esm/hooks.js.map +1 -0
  45. package/dist/esm/index.js +18 -13
  46. package/dist/esm/index.js.map +1 -1
  47. package/dist/esm/time.js +113 -0
  48. package/dist/esm/time.js.map +1 -0
  49. package/dist/esm/useBooker.js +132 -0
  50. package/dist/esm/useBooker.js.map +1 -0
  51. package/package.json +28 -28
  52. package/src/Booker.tsx +7 -7
  53. package/src/BookingForm.tsx +2 -2
  54. package/src/CalendarEmbed.tsx +7 -7
  55. package/src/Confirmation.tsx +4 -4
  56. package/src/EventHeader.tsx +1 -1
  57. package/src/MonthCalendar.tsx +1 -1
  58. package/src/TimeSlots.tsx +2 -2
  59. package/src/hooks.ts +1 -1
  60. package/src/index.ts +11 -11
  61. package/src/useBooker.ts +9 -4
  62. package/types/Booker.d.ts +2 -2
  63. package/types/Booker.d.ts.map +1 -1
  64. package/types/BookingForm.d.ts +2 -2
  65. package/types/BookingForm.d.ts.map +1 -1
  66. package/types/CalendarEmbed.d.ts +2 -2
  67. package/types/CalendarEmbed.d.ts.map +1 -1
  68. package/types/Confirmation.d.ts +2 -2
  69. package/types/Confirmation.d.ts.map +1 -1
  70. package/types/EventHeader.d.ts +2 -2
  71. package/types/EventHeader.d.ts.map +1 -1
  72. package/types/MonthCalendar.d.ts +1 -1
  73. package/types/MonthCalendar.d.ts.map +1 -1
  74. package/types/TimeSlots.d.ts +2 -2
  75. package/types/TimeSlots.d.ts.map +1 -1
  76. package/types/client.d.ts.map +1 -1
  77. package/types/hooks.d.ts +1 -1
  78. package/types/hooks.d.ts.map +1 -1
  79. package/types/index.d.ts +11 -11
  80. package/types/index.d.ts.map +1 -1
  81. package/types/useBooker.d.ts +3 -3
  82. package/types/useBooker.d.ts.map +1 -1
  83. package/dist/cjs/Booker.cjs +0 -153
  84. package/dist/cjs/Booker.native.js +0 -158
  85. package/dist/cjs/Booker.native.js.map +0 -1
  86. package/dist/cjs/BookingForm.cjs +0 -197
  87. package/dist/cjs/BookingForm.native.js +0 -203
  88. package/dist/cjs/BookingForm.native.js.map +0 -1
  89. package/dist/cjs/CalendarEmbed.cjs +0 -121
  90. package/dist/cjs/CalendarEmbed.native.js +0 -125
  91. package/dist/cjs/CalendarEmbed.native.js.map +0 -1
  92. package/dist/cjs/Confirmation.cjs +0 -177
  93. package/dist/cjs/Confirmation.native.js +0 -185
  94. package/dist/cjs/Confirmation.native.js.map +0 -1
  95. package/dist/cjs/EventHeader.cjs +0 -112
  96. package/dist/cjs/EventHeader.native.js +0 -118
  97. package/dist/cjs/EventHeader.native.js.map +0 -1
  98. package/dist/cjs/MonthCalendar.cjs +0 -177
  99. package/dist/cjs/MonthCalendar.native.js +0 -191
  100. package/dist/cjs/MonthCalendar.native.js.map +0 -1
  101. package/dist/cjs/TimeSlots.cjs +0 -119
  102. package/dist/cjs/TimeSlots.native.js +0 -126
  103. package/dist/cjs/TimeSlots.native.js.map +0 -1
  104. package/dist/cjs/client.cjs +0 -136
  105. package/dist/cjs/client.native.js +0 -267
  106. package/dist/cjs/client.native.js.map +0 -1
  107. package/dist/cjs/hooks.cjs +0 -193
  108. package/dist/cjs/hooks.native.js +0 -221
  109. package/dist/cjs/hooks.native.js.map +0 -1
  110. package/dist/cjs/index.cjs +0 -71
  111. package/dist/cjs/index.native.js +0 -74
  112. package/dist/cjs/index.native.js.map +0 -1
  113. package/dist/cjs/time.cjs +0 -145
  114. package/dist/cjs/time.native.js +0 -150
  115. package/dist/cjs/time.native.js.map +0 -1
  116. package/dist/cjs/useBooker.cjs +0 -151
  117. package/dist/cjs/useBooker.native.js +0 -173
  118. package/dist/cjs/useBooker.native.js.map +0 -1
  119. package/dist/esm/Booker.mjs +0 -128
  120. package/dist/esm/Booker.mjs.map +0 -1
  121. package/dist/esm/Booker.native.js +0 -130
  122. package/dist/esm/Booker.native.js.map +0 -1
  123. package/dist/esm/BookingForm.mjs +0 -172
  124. package/dist/esm/BookingForm.mjs.map +0 -1
  125. package/dist/esm/BookingForm.native.js +0 -175
  126. package/dist/esm/BookingForm.native.js.map +0 -1
  127. package/dist/esm/CalendarEmbed.mjs +0 -96
  128. package/dist/esm/CalendarEmbed.mjs.map +0 -1
  129. package/dist/esm/CalendarEmbed.native.js +0 -97
  130. package/dist/esm/CalendarEmbed.native.js.map +0 -1
  131. package/dist/esm/Confirmation.mjs +0 -152
  132. package/dist/esm/Confirmation.mjs.map +0 -1
  133. package/dist/esm/Confirmation.native.js +0 -157
  134. package/dist/esm/Confirmation.native.js.map +0 -1
  135. package/dist/esm/EventHeader.mjs +0 -87
  136. package/dist/esm/EventHeader.mjs.map +0 -1
  137. package/dist/esm/EventHeader.native.js +0 -90
  138. package/dist/esm/EventHeader.native.js.map +0 -1
  139. package/dist/esm/MonthCalendar.mjs +0 -152
  140. package/dist/esm/MonthCalendar.mjs.map +0 -1
  141. package/dist/esm/MonthCalendar.native.js +0 -163
  142. package/dist/esm/MonthCalendar.native.js.map +0 -1
  143. package/dist/esm/TimeSlots.mjs +0 -94
  144. package/dist/esm/TimeSlots.mjs.map +0 -1
  145. package/dist/esm/TimeSlots.native.js +0 -98
  146. package/dist/esm/TimeSlots.native.js.map +0 -1
  147. package/dist/esm/client.mjs +0 -104
  148. package/dist/esm/client.mjs.map +0 -1
  149. package/dist/esm/client.native.js +0 -232
  150. package/dist/esm/client.native.js.map +0 -1
  151. package/dist/esm/hooks.mjs +0 -165
  152. package/dist/esm/hooks.mjs.map +0 -1
  153. package/dist/esm/hooks.native.js +0 -190
  154. package/dist/esm/hooks.native.js.map +0 -1
  155. package/dist/esm/index.mjs +0 -13
  156. package/dist/esm/index.mjs.map +0 -1
  157. package/dist/esm/index.native.js +0 -13
  158. package/dist/esm/index.native.js.map +0 -1
  159. package/dist/esm/time.mjs +0 -107
  160. package/dist/esm/time.mjs.map +0 -1
  161. package/dist/esm/time.native.js +0 -109
  162. package/dist/esm/time.native.js.map +0 -1
  163. package/dist/esm/useBooker.mjs +0 -126
  164. package/dist/esm/useBooker.mjs.map +0 -1
  165. package/dist/esm/useBooker.native.js +0 -145
  166. package/dist/esm/useBooker.native.js.map +0 -1
@@ -1,96 +0,0 @@
1
- import { SizableText, Spinner, YStack } from "@hanzo/gui";
2
- import { BookingForm } from "./BookingForm.mjs";
3
- import { Confirmation } from "./Confirmation.mjs";
4
- import { EventHeader } from "./EventHeader.mjs";
5
- import { TimeSlots } from "./TimeSlots.mjs";
6
- import { formatMonthLabel } from "./time.mjs";
7
- import { useBooker } from "./useBooker.mjs";
8
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
- function CalendarEmbed(props) {
10
- const m = useBooker({
11
- ...props,
12
- autoSelectFirst: true
13
- });
14
- return /* @__PURE__ */jsx(YStack, {
15
- backgroundColor: "$background",
16
- borderColor: "$borderColor",
17
- borderWidth: 1,
18
- borderRadius: "$6",
19
- padding: "$4",
20
- gap: "$3",
21
- width: "100%",
22
- maxWidth: 420,
23
- children: m.event.loading ? /* @__PURE__ */jsx(YStack, {
24
- alignItems: "center",
25
- justifyContent: "center",
26
- gap: "$2",
27
- padding: "$6",
28
- minHeight: 160,
29
- children: /* @__PURE__ */jsx(Spinner, {
30
- size: "large",
31
- color: "$color9"
32
- })
33
- }) : m.event.error || !m.event.data ? /* @__PURE__ */jsxs(YStack, {
34
- alignItems: "center",
35
- justifyContent: "center",
36
- padding: "$5",
37
- minHeight: 140,
38
- gap: "$1",
39
- children: [/* @__PURE__ */jsx(SizableText, {
40
- size: "$4",
41
- fontWeight: "600",
42
- color: "$color12",
43
- children: "Unavailable"
44
- }), /* @__PURE__ */jsx(SizableText, {
45
- size: "$2",
46
- color: "$color10",
47
- textAlign: "center",
48
- children: m.event.error ?? "Event not found."
49
- })]
50
- }) : m.phase === "done" && m.booking ? /* @__PURE__ */jsx(Confirmation, {
51
- booking: m.booking,
52
- timeZone: m.timeZone,
53
- onDone: m.reset
54
- }) : m.phase === "form" && m.selectedSlot ? /* @__PURE__ */jsx(BookingForm, {
55
- slotIso: m.selectedSlot,
56
- timeZone: m.timeZone,
57
- eventLength: m.event.data.length,
58
- submitting: m.submitting,
59
- error: m.error,
60
- onSubmit: m.submit,
61
- onBack: m.back
62
- }) : /* @__PURE__ */jsxs(Fragment, {
63
- children: [/* @__PURE__ */jsx(EventHeader, {
64
- event: m.event.data,
65
- host: props.host,
66
- timeZone: m.timeZone,
67
- compact: true
68
- }), m.conflict ? /* @__PURE__ */jsx(SizableText, {
69
- size: "$1",
70
- color: "$yellow11",
71
- children: "That time was just taken \u2014 pick another."
72
- }) : null, m.slots.loading && m.availableKeys.size === 0 ? /* @__PURE__ */jsx(YStack, {
73
- alignItems: "center",
74
- padding: "$4",
75
- children: /* @__PURE__ */jsx(Spinner, {
76
- color: "$color9"
77
- })
78
- }) : m.availableKeys.size === 0 ? /* @__PURE__ */jsxs(SizableText, {
79
- size: "$2",
80
- color: "$color10",
81
- children: ["No availability in ", formatMonthLabel(m.viewDate), "."]
82
- }) : /* @__PURE__ */jsx(TimeSlots, {
83
- dayKey: m.selectedDay,
84
- slots: m.daySlots,
85
- timeZone: m.timeZone,
86
- onPick: m.selectSlot,
87
- selectedIso: m.selectedSlot,
88
- loading: m.slots.loading,
89
- compact: true,
90
- maxHeight: 220
91
- })]
92
- })
93
- });
94
- }
95
- export { CalendarEmbed };
96
- //# sourceMappingURL=CalendarEmbed.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SizableText","Spinner","YStack","BookingForm","Confirmation","EventHeader","TimeSlots","formatMonthLabel","useBooker","Fragment","jsx","jsxs","CalendarEmbed","props","m","autoSelectFirst","backgroundColor","borderColor","borderWidth","borderRadius","padding","gap","width","maxWidth","children","event","loading","alignItems","justifyContent","minHeight","size","color","error","data","fontWeight","textAlign","phase","booking","timeZone","onDone","reset","selectedSlot","slotIso","eventLength","length","submitting","onSubmit","submit","onBack","back","host","compact","conflict","slots","availableKeys","viewDate","dayKey","selectedDay","daySlots","onPick","selectSlot","selectedIso","maxHeight"],"sources":["../../src/CalendarEmbed.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,97 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { SizableText, Spinner, YStack } from "@hanzo/gui";
3
- import { BookingForm } from "./BookingForm.native.js";
4
- import { Confirmation } from "./Confirmation.native.js";
5
- import { EventHeader } from "./EventHeader.native.js";
6
- import { TimeSlots } from "./TimeSlots.native.js";
7
- import { formatMonthLabel } from "./time.native.js";
8
- import { useBooker } from "./useBooker.native.js";
9
- function CalendarEmbed(props) {
10
- var m = useBooker({
11
- ...props,
12
- autoSelectFirst: true
13
- });
14
- var _m_event_error;
15
- return /* @__PURE__ */_jsx(YStack, {
16
- backgroundColor: "$background",
17
- borderColor: "$borderColor",
18
- borderWidth: 1,
19
- borderRadius: "$6",
20
- padding: "$4",
21
- gap: "$3",
22
- width: "100%",
23
- maxWidth: 420,
24
- children: m.event.loading ? /* @__PURE__ */_jsx(YStack, {
25
- alignItems: "center",
26
- justifyContent: "center",
27
- gap: "$2",
28
- padding: "$6",
29
- minHeight: 160,
30
- children: /* @__PURE__ */_jsx(Spinner, {
31
- size: "large",
32
- color: "$color9"
33
- })
34
- }) : m.event.error || !m.event.data ? /* @__PURE__ */_jsxs(YStack, {
35
- alignItems: "center",
36
- justifyContent: "center",
37
- padding: "$5",
38
- minHeight: 140,
39
- gap: "$1",
40
- children: [/* @__PURE__ */_jsx(SizableText, {
41
- size: "$4",
42
- fontWeight: "600",
43
- color: "$color12",
44
- children: "Unavailable"
45
- }), /* @__PURE__ */_jsx(SizableText, {
46
- size: "$2",
47
- color: "$color10",
48
- textAlign: "center",
49
- children: (_m_event_error = m.event.error) !== null && _m_event_error !== void 0 ? _m_event_error : "Event not found."
50
- })]
51
- }) : m.phase === "done" && m.booking ? /* @__PURE__ */_jsx(Confirmation, {
52
- booking: m.booking,
53
- timeZone: m.timeZone,
54
- onDone: m.reset
55
- }) : m.phase === "form" && m.selectedSlot ? /* @__PURE__ */_jsx(BookingForm, {
56
- slotIso: m.selectedSlot,
57
- timeZone: m.timeZone,
58
- eventLength: m.event.data.length,
59
- submitting: m.submitting,
60
- error: m.error,
61
- onSubmit: m.submit,
62
- onBack: m.back
63
- }) : /* @__PURE__ */_jsxs(_Fragment, {
64
- children: [/* @__PURE__ */_jsx(EventHeader, {
65
- event: m.event.data,
66
- host: props.host,
67
- timeZone: m.timeZone,
68
- compact: true
69
- }), m.conflict ? /* @__PURE__ */_jsx(SizableText, {
70
- size: "$1",
71
- color: "$yellow11",
72
- children: "That time was just taken \u2014 pick another."
73
- }) : null, m.slots.loading && m.availableKeys.size === 0 ? /* @__PURE__ */_jsx(YStack, {
74
- alignItems: "center",
75
- padding: "$4",
76
- children: /* @__PURE__ */_jsx(Spinner, {
77
- color: "$color9"
78
- })
79
- }) : m.availableKeys.size === 0 ? /* @__PURE__ */_jsxs(SizableText, {
80
- size: "$2",
81
- color: "$color10",
82
- children: ["No availability in ", formatMonthLabel(m.viewDate), "."]
83
- }) : /* @__PURE__ */_jsx(TimeSlots, {
84
- dayKey: m.selectedDay,
85
- slots: m.daySlots,
86
- timeZone: m.timeZone,
87
- onPick: m.selectSlot,
88
- selectedIso: m.selectedSlot,
89
- loading: m.slots.loading,
90
- compact: true,
91
- maxHeight: 220
92
- })]
93
- })
94
- });
95
- }
96
- export { CalendarEmbed };
97
- //# sourceMappingURL=CalendarEmbed.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","SizableText","Spinner","YStack","BookingForm","Confirmation","EventHeader","TimeSlots","formatMonthLabel","useBooker","CalendarEmbed","props","m","autoSelectFirst","_m_event_error","backgroundColor","borderColor","borderWidth","borderRadius","padding","gap","width","maxWidth","children","event","loading","alignItems","justifyContent","minHeight","size","color","error","data","fontWeight","textAlign","phase","booking","timeZone","onDone","reset","selectedSlot","slotIso","eventLength","length","submitting","onSubmit","submit","onBack","back","host","compact","conflict","slots","availableKeys"],"sources":["../../src/CalendarEmbed.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,152 +0,0 @@
1
- import { Button, Paragraph, Separator, SizableText, Spinner, XStack, YStack } from "@hanzo/gui";
2
- import { DEFAULT_API_URL } from "./client.mjs";
3
- import { useBooking } from "./hooks.mjs";
4
- import { visitorTimeZone } from "./time.mjs";
5
- import { formatBookingWhen } from "./time.mjs";
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
- function Confirmation({
8
- booking,
9
- uid,
10
- apiUrl,
11
- timeZone,
12
- onDone
13
- }) {
14
- const api = apiUrl ?? DEFAULT_API_URL;
15
- const tz = timeZone ?? visitorTimeZone();
16
- const fetched = useBooking(api, booking ? void 0 : uid);
17
- const data = booking ?? fetched.data;
18
- if (!data && fetched.loading) {
19
- return /* @__PURE__ */jsxs(YStack, {
20
- alignItems: "center",
21
- justifyContent: "center",
22
- padding: "$6",
23
- gap: "$3",
24
- minHeight: 200,
25
- children: [/* @__PURE__ */jsx(Spinner, {
26
- size: "large",
27
- color: "$color9"
28
- }), /* @__PURE__ */jsx(SizableText, {
29
- size: "$3",
30
- color: "$color10",
31
- children: "Loading your booking\u2026"
32
- })]
33
- });
34
- }
35
- if (!data) {
36
- return /* @__PURE__ */jsxs(YStack, {
37
- alignItems: "center",
38
- justifyContent: "center",
39
- padding: "$6",
40
- gap: "$2",
41
- minHeight: 200,
42
- children: [/* @__PURE__ */jsx(SizableText, {
43
- size: "$4",
44
- fontWeight: "600",
45
- color: "$color12",
46
- children: "Booking not found"
47
- }), /* @__PURE__ */jsx(SizableText, {
48
- size: "$3",
49
- color: "$color10",
50
- textAlign: "center",
51
- children: fetched.error ?? "We could not load this booking."
52
- })]
53
- });
54
- }
55
- const attendee = data.attendees?.[0];
56
- const location = data.location;
57
- return /* @__PURE__ */jsxs(YStack, {
58
- gap: "$3",
59
- padding: "$1",
60
- alignItems: "center",
61
- children: [/* @__PURE__ */jsx(YStack, {
62
- width: 52,
63
- height: 52,
64
- borderRadius: 9999,
65
- backgroundColor: "$green4",
66
- alignItems: "center",
67
- justifyContent: "center",
68
- children: /* @__PURE__ */jsx(SizableText, {
69
- size: "$8",
70
- color: "$green11",
71
- children: "\u2713"
72
- })
73
- }), /* @__PURE__ */jsxs(YStack, {
74
- gap: "$1",
75
- alignItems: "center",
76
- children: [/* @__PURE__ */jsx(SizableText, {
77
- size: "$7",
78
- fontWeight: "700",
79
- color: "$color12",
80
- textAlign: "center",
81
- children: "You're booked"
82
- }), /* @__PURE__ */jsx(SizableText, {
83
- size: "$4",
84
- color: "$color11",
85
- textAlign: "center",
86
- children: data.title
87
- })]
88
- }), /* @__PURE__ */jsx(Separator, {
89
- width: "100%"
90
- }), /* @__PURE__ */jsxs(YStack, {
91
- gap: "$2.5",
92
- width: "100%",
93
- maxWidth: 420,
94
- children: [/* @__PURE__ */jsx(Row, {
95
- label: "When",
96
- value: formatBookingWhen(data.start, tz)
97
- }), location ? /* @__PURE__ */jsx(Row, {
98
- label: "Where",
99
- value: location
100
- }) : null, attendee?.email ? /* @__PURE__ */jsx(Row, {
101
- label: "Guest",
102
- value: attendee.email
103
- }) : null, /* @__PURE__ */jsx(Row, {
104
- label: "Status",
105
- value: titleCase(data.status)
106
- }), /* @__PURE__ */jsx(Row, {
107
- label: "Reference",
108
- value: data.uid
109
- })]
110
- }), /* @__PURE__ */jsxs(Paragraph, {
111
- size: "$2",
112
- color: "$color10",
113
- textAlign: "center",
114
- marginTop: "$1",
115
- children: ["A calendar invite is on its way to ", attendee?.email ?? "your inbox", "."]
116
- }), onDone ? /* @__PURE__ */jsx(Button, {
117
- size: "$3",
118
- chromeless: true,
119
- onPress: onDone,
120
- marginTop: "$1",
121
- children: "Book another time"
122
- }) : null]
123
- });
124
- }
125
- function Row({
126
- label,
127
- value
128
- }) {
129
- return /* @__PURE__ */jsxs(XStack, {
130
- justifyContent: "space-between",
131
- gap: "$3",
132
- alignItems: "flex-start",
133
- children: [/* @__PURE__ */jsx(SizableText, {
134
- size: "$3",
135
- color: "$color10",
136
- children: label
137
- }), /* @__PURE__ */jsx(SizableText, {
138
- size: "$3",
139
- color: "$color12",
140
- fontWeight: "500",
141
- textAlign: "right",
142
- flexShrink: 1,
143
- children: value
144
- })]
145
- });
146
- }
147
- function titleCase(s) {
148
- if (!s) return "";
149
- return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
150
- }
151
- export { Confirmation };
152
- //# sourceMappingURL=Confirmation.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Button","Paragraph","Separator","SizableText","Spinner","XStack","YStack","DEFAULT_API_URL","useBooking","visitorTimeZone","formatBookingWhen","jsx","jsxs","Confirmation","booking","uid","apiUrl","timeZone","onDone","api","tz","fetched","data","loading","alignItems","justifyContent","padding","gap","minHeight","children","size","color","fontWeight","textAlign","error","attendee","attendees","location","width","height","borderRadius","backgroundColor","title","maxWidth","Row","label","value","start","email","titleCase","status","marginTop","chromeless","onPress","flexShrink","s","charAt","toUpperCase","slice","toLowerCase"],"sources":["../../src/Confirmation.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,157 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button, Paragraph, Separator, SizableText, Spinner, XStack, YStack } from "@hanzo/gui";
3
- import { DEFAULT_API_URL } from "./client.native.js";
4
- import { useBooking } from "./hooks.native.js";
5
- import { visitorTimeZone } from "./time.native.js";
6
- import { formatBookingWhen } from "./time.native.js";
7
- function Confirmation(param) {
8
- var {
9
- booking,
10
- uid,
11
- apiUrl,
12
- timeZone,
13
- onDone
14
- } = param;
15
- var _data_attendees;
16
- var api = apiUrl !== null && apiUrl !== void 0 ? apiUrl : DEFAULT_API_URL;
17
- var tz = timeZone !== null && timeZone !== void 0 ? timeZone : visitorTimeZone();
18
- var fetched = useBooking(api, booking ? void 0 : uid);
19
- var data = booking !== null && booking !== void 0 ? booking : fetched.data;
20
- if (!data && fetched.loading) {
21
- return /* @__PURE__ */_jsxs(YStack, {
22
- alignItems: "center",
23
- justifyContent: "center",
24
- padding: "$6",
25
- gap: "$3",
26
- minHeight: 200,
27
- children: [/* @__PURE__ */_jsx(Spinner, {
28
- size: "large",
29
- color: "$color9"
30
- }), /* @__PURE__ */_jsx(SizableText, {
31
- size: "$3",
32
- color: "$color10",
33
- children: "Loading your booking\u2026"
34
- })]
35
- });
36
- }
37
- if (!data) {
38
- var _fetched_error;
39
- return /* @__PURE__ */_jsxs(YStack, {
40
- alignItems: "center",
41
- justifyContent: "center",
42
- padding: "$6",
43
- gap: "$2",
44
- minHeight: 200,
45
- children: [/* @__PURE__ */_jsx(SizableText, {
46
- size: "$4",
47
- fontWeight: "600",
48
- color: "$color12",
49
- children: "Booking not found"
50
- }), /* @__PURE__ */_jsx(SizableText, {
51
- size: "$3",
52
- color: "$color10",
53
- textAlign: "center",
54
- children: (_fetched_error = fetched.error) !== null && _fetched_error !== void 0 ? _fetched_error : "We could not load this booking."
55
- })]
56
- });
57
- }
58
- var attendee = (_data_attendees = data.attendees) === null || _data_attendees === void 0 ? void 0 : _data_attendees[0];
59
- var location = data.location;
60
- var _attendee_email;
61
- return /* @__PURE__ */_jsxs(YStack, {
62
- gap: "$3",
63
- padding: "$1",
64
- alignItems: "center",
65
- children: [/* @__PURE__ */_jsx(YStack, {
66
- width: 52,
67
- height: 52,
68
- borderRadius: 9999,
69
- backgroundColor: "$green4",
70
- alignItems: "center",
71
- justifyContent: "center",
72
- children: /* @__PURE__ */_jsx(SizableText, {
73
- size: "$8",
74
- color: "$green11",
75
- children: "\u2713"
76
- })
77
- }), /* @__PURE__ */_jsxs(YStack, {
78
- gap: "$1",
79
- alignItems: "center",
80
- children: [/* @__PURE__ */_jsx(SizableText, {
81
- size: "$7",
82
- fontWeight: "700",
83
- color: "$color12",
84
- textAlign: "center",
85
- children: "You're booked"
86
- }), /* @__PURE__ */_jsx(SizableText, {
87
- size: "$4",
88
- color: "$color11",
89
- textAlign: "center",
90
- children: data.title
91
- })]
92
- }), /* @__PURE__ */_jsx(Separator, {
93
- width: "100%"
94
- }), /* @__PURE__ */_jsxs(YStack, {
95
- gap: "$2.5",
96
- width: "100%",
97
- maxWidth: 420,
98
- children: [/* @__PURE__ */_jsx(Row, {
99
- label: "When",
100
- value: formatBookingWhen(data.start, tz)
101
- }), location ? /* @__PURE__ */_jsx(Row, {
102
- label: "Where",
103
- value: location
104
- }) : null, (attendee === null || attendee === void 0 ? void 0 : attendee.email) ? /* @__PURE__ */_jsx(Row, {
105
- label: "Guest",
106
- value: attendee.email
107
- }) : null, /* @__PURE__ */_jsx(Row, {
108
- label: "Status",
109
- value: titleCase(data.status)
110
- }), /* @__PURE__ */_jsx(Row, {
111
- label: "Reference",
112
- value: data.uid
113
- })]
114
- }), /* @__PURE__ */_jsxs(Paragraph, {
115
- size: "$2",
116
- color: "$color10",
117
- textAlign: "center",
118
- marginTop: "$1",
119
- children: ["A calendar invite is on its way to ", (_attendee_email = attendee === null || attendee === void 0 ? void 0 : attendee.email) !== null && _attendee_email !== void 0 ? _attendee_email : "your inbox", "."]
120
- }), onDone ? /* @__PURE__ */_jsx(Button, {
121
- size: "$3",
122
- chromeless: true,
123
- onPress: onDone,
124
- marginTop: "$1",
125
- children: "Book another time"
126
- }) : null]
127
- });
128
- }
129
- function Row(param) {
130
- var {
131
- label,
132
- value
133
- } = param;
134
- return /* @__PURE__ */_jsxs(XStack, {
135
- justifyContent: "space-between",
136
- gap: "$3",
137
- alignItems: "flex-start",
138
- children: [/* @__PURE__ */_jsx(SizableText, {
139
- size: "$3",
140
- color: "$color10",
141
- children: label
142
- }), /* @__PURE__ */_jsx(SizableText, {
143
- size: "$3",
144
- color: "$color12",
145
- fontWeight: "500",
146
- textAlign: "right",
147
- flexShrink: 1,
148
- children: value
149
- })]
150
- });
151
- }
152
- function titleCase(s) {
153
- if (!s) return "";
154
- return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
155
- }
156
- export { Confirmation };
157
- //# sourceMappingURL=Confirmation.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Button","Paragraph","Separator","SizableText","Spinner","XStack","YStack","DEFAULT_API_URL","useBooking","visitorTimeZone","formatBookingWhen","Confirmation","param","booking","uid","apiUrl","timeZone","onDone","_data_attendees","api","tz","fetched","data","loading","alignItems","justifyContent","padding","gap","minHeight","children","size","color","_fetched_error","fontWeight","textAlign","error","attendee","attendees","location","_attendee_email","width","height","borderRadius","backgroundColor","title","maxWidth","Row","label","value","start"],"sources":["../../src/Confirmation.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,87 +0,0 @@
1
- import { Paragraph, SizableText, XStack, YStack } from "@hanzo/gui";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- function EventHeader({
4
- event,
5
- host,
6
- timeZone,
7
- compact
8
- }) {
9
- const name = event.profile?.name || host;
10
- const initial = (name?.[0] || "H").toUpperCase();
11
- return /* @__PURE__ */jsxs(YStack, {
12
- gap: "$2",
13
- children: [/* @__PURE__ */jsxs(XStack, {
14
- alignItems: "center",
15
- gap: "$2.5",
16
- children: [/* @__PURE__ */jsx(YStack, {
17
- width: 28,
18
- height: 28,
19
- borderRadius: 9999,
20
- backgroundColor: "$color5",
21
- alignItems: "center",
22
- justifyContent: "center",
23
- children: /* @__PURE__ */jsx(SizableText, {
24
- size: "$2",
25
- color: "$color11",
26
- fontWeight: "600",
27
- children: initial
28
- })
29
- }), /* @__PURE__ */jsx(SizableText, {
30
- size: "$3",
31
- color: "$color10",
32
- children: name
33
- })]
34
- }), /* @__PURE__ */jsx(SizableText, {
35
- size: compact ? "$6" : "$8",
36
- fontWeight: "700",
37
- color: "$color12",
38
- children: event.title
39
- }), /* @__PURE__ */jsxs(XStack, {
40
- gap: "$2",
41
- alignItems: "center",
42
- flexWrap: "wrap",
43
- children: [/* @__PURE__ */jsxs(Pill, {
44
- children: [event.length, " min"]
45
- }), /* @__PURE__ */jsx(Pill, {
46
- children: shortZone(timeZone)
47
- }), event.locations?.[0]?.type ? /* @__PURE__ */jsx(Pill, {
48
- children: prettyLocation(event.locations[0].type)
49
- }) : null]
50
- }), !compact && event.description ? /* @__PURE__ */jsx(Paragraph, {
51
- size: "$3",
52
- color: "$color11",
53
- marginTop: "$1",
54
- children: event.description
55
- }) : null]
56
- });
57
- }
58
- function Pill({
59
- children
60
- }) {
61
- return /* @__PURE__ */jsx(XStack, {
62
- backgroundColor: "$color3",
63
- paddingHorizontal: "$2.5",
64
- paddingVertical: "$1",
65
- borderRadius: "$10",
66
- alignItems: "center",
67
- children: /* @__PURE__ */jsx(SizableText, {
68
- size: "$1",
69
- color: "$color11",
70
- children
71
- })
72
- });
73
- }
74
- function shortZone(tz) {
75
- const city = tz.split("/").pop() || tz;
76
- return city.replace(/_/g, " ");
77
- }
78
- function prettyLocation(type) {
79
- const t = type.toLowerCase();
80
- if (t.includes("google")) return "Google Meet";
81
- if (t.includes("zoom")) return "Zoom";
82
- if (t.includes("phone")) return "Phone";
83
- if (t.includes("person")) return "In person";
84
- return "Video call";
85
- }
86
- export { EventHeader };
87
- //# sourceMappingURL=EventHeader.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Paragraph","SizableText","XStack","YStack","jsx","jsxs","EventHeader","event","host","timeZone","compact","name","profile","initial","toUpperCase","gap","children","alignItems","width","height","borderRadius","backgroundColor","justifyContent","size","color","fontWeight","title","flexWrap","Pill","length","shortZone","locations","type","prettyLocation","description","marginTop","paddingHorizontal","paddingVertical","tz","city","split","pop","replace","t","toLowerCase","includes"],"sources":["../../src/EventHeader.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}