@hanzo/booker 8.3.0 → 8.3.3

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,121 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
23
- var CalendarEmbed_exports = {};
24
- __export(CalendarEmbed_exports, {
25
- CalendarEmbed: () => CalendarEmbed
26
- });
27
- module.exports = __toCommonJS(CalendarEmbed_exports);
28
- var import_gui = require("@hanzo/gui");
29
- var import_BookingForm = require("./BookingForm.cjs");
30
- var import_Confirmation = require("./Confirmation.cjs");
31
- var import_EventHeader = require("./EventHeader.cjs");
32
- var import_TimeSlots = require("./TimeSlots.cjs");
33
- var import_time = require("./time.cjs");
34
- var import_useBooker = require("./useBooker.cjs");
35
- var import_jsx_runtime = require("react/jsx-runtime");
36
- function CalendarEmbed(props) {
37
- const m = (0, import_useBooker.useBooker)({
38
- ...props,
39
- autoSelectFirst: true
40
- });
41
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
42
- backgroundColor: "$background",
43
- borderColor: "$borderColor",
44
- borderWidth: 1,
45
- borderRadius: "$6",
46
- padding: "$4",
47
- gap: "$3",
48
- width: "100%",
49
- maxWidth: 420,
50
- children: m.event.loading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
51
- alignItems: "center",
52
- justifyContent: "center",
53
- gap: "$2",
54
- padding: "$6",
55
- minHeight: 160,
56
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Spinner, {
57
- size: "large",
58
- color: "$color9"
59
- })
60
- }) : m.event.error || !m.event.data ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
61
- alignItems: "center",
62
- justifyContent: "center",
63
- padding: "$5",
64
- minHeight: 140,
65
- gap: "$1",
66
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
67
- size: "$4",
68
- fontWeight: "600",
69
- color: "$color12",
70
- children: "Unavailable"
71
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
72
- size: "$2",
73
- color: "$color10",
74
- textAlign: "center",
75
- children: m.event.error ?? "Event not found."
76
- })]
77
- }) : m.phase === "done" && m.booking ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Confirmation.Confirmation, {
78
- booking: m.booking,
79
- timeZone: m.timeZone,
80
- onDone: m.reset
81
- }) : m.phase === "form" && m.selectedSlot ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_BookingForm.BookingForm, {
82
- slotIso: m.selectedSlot,
83
- timeZone: m.timeZone,
84
- eventLength: m.event.data.length,
85
- submitting: m.submitting,
86
- error: m.error,
87
- onSubmit: m.submit,
88
- onBack: m.back
89
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
90
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_EventHeader.EventHeader, {
91
- event: m.event.data,
92
- host: props.host,
93
- timeZone: m.timeZone,
94
- compact: true
95
- }), m.conflict ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
96
- size: "$1",
97
- color: "$yellow11",
98
- children: "That time was just taken \u2014 pick another."
99
- }) : null, m.slots.loading && m.availableKeys.size === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
100
- alignItems: "center",
101
- padding: "$4",
102
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Spinner, {
103
- color: "$color9"
104
- })
105
- }) : m.availableKeys.size === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.SizableText, {
106
- size: "$2",
107
- color: "$color10",
108
- children: ["No availability in ", (0, import_time.formatMonthLabel)(m.viewDate), "."]
109
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_TimeSlots.TimeSlots, {
110
- dayKey: m.selectedDay,
111
- slots: m.daySlots,
112
- timeZone: m.timeZone,
113
- onPick: m.selectSlot,
114
- selectedIso: m.selectedSlot,
115
- loading: m.slots.loading,
116
- compact: true,
117
- maxHeight: 220
118
- })]
119
- })
120
- });
121
- }
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
21
- };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
25
- var CalendarEmbed_exports = {};
26
- __export(CalendarEmbed_exports, {
27
- CalendarEmbed: () => CalendarEmbed
28
- });
29
- module.exports = __toCommonJS(CalendarEmbed_exports);
30
- var import_jsx_runtime = require("react/jsx-runtime");
31
- var import_gui = require("@hanzo/gui");
32
- var import_BookingForm = require("./BookingForm.native.js");
33
- var import_Confirmation = require("./Confirmation.native.js");
34
- var import_EventHeader = require("./EventHeader.native.js");
35
- var import_TimeSlots = require("./TimeSlots.native.js");
36
- var import_time = require("./time.native.js");
37
- var import_useBooker = require("./useBooker.native.js");
38
- function CalendarEmbed(props) {
39
- var m = (0, import_useBooker.useBooker)({
40
- ...props,
41
- autoSelectFirst: true
42
- });
43
- var _m_event_error;
44
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
45
- backgroundColor: "$background",
46
- borderColor: "$borderColor",
47
- borderWidth: 1,
48
- borderRadius: "$6",
49
- padding: "$4",
50
- gap: "$3",
51
- width: "100%",
52
- maxWidth: 420,
53
- children: m.event.loading ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
54
- alignItems: "center",
55
- justifyContent: "center",
56
- gap: "$2",
57
- padding: "$6",
58
- minHeight: 160,
59
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Spinner, {
60
- size: "large",
61
- color: "$color9"
62
- })
63
- }) : m.event.error || !m.event.data ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
64
- alignItems: "center",
65
- justifyContent: "center",
66
- padding: "$5",
67
- minHeight: 140,
68
- gap: "$1",
69
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
70
- size: "$4",
71
- fontWeight: "600",
72
- color: "$color12",
73
- children: "Unavailable"
74
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
75
- size: "$2",
76
- color: "$color10",
77
- textAlign: "center",
78
- children: (_m_event_error = m.event.error) !== null && _m_event_error !== void 0 ? _m_event_error : "Event not found."
79
- })]
80
- }) : m.phase === "done" && m.booking ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Confirmation.Confirmation, {
81
- booking: m.booking,
82
- timeZone: m.timeZone,
83
- onDone: m.reset
84
- }) : m.phase === "form" && m.selectedSlot ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_BookingForm.BookingForm, {
85
- slotIso: m.selectedSlot,
86
- timeZone: m.timeZone,
87
- eventLength: m.event.data.length,
88
- submitting: m.submitting,
89
- error: m.error,
90
- onSubmit: m.submit,
91
- onBack: m.back
92
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
93
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_EventHeader.EventHeader, {
94
- event: m.event.data,
95
- host: props.host,
96
- timeZone: m.timeZone,
97
- compact: true
98
- }), m.conflict ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
99
- size: "$1",
100
- color: "$yellow11",
101
- children: "That time was just taken \u2014 pick another."
102
- }) : null, m.slots.loading && m.availableKeys.size === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
103
- alignItems: "center",
104
- padding: "$4",
105
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Spinner, {
106
- color: "$color9"
107
- })
108
- }) : m.availableKeys.size === 0 ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.SizableText, {
109
- size: "$2",
110
- color: "$color10",
111
- children: ["No availability in ", (0, import_time.formatMonthLabel)(m.viewDate), "."]
112
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_TimeSlots.TimeSlots, {
113
- dayKey: m.selectedDay,
114
- slots: m.daySlots,
115
- timeZone: m.timeZone,
116
- onPick: m.selectSlot,
117
- selectedIso: m.selectedSlot,
118
- loading: m.slots.loading,
119
- compact: true,
120
- maxHeight: 220
121
- })]
122
- })
123
- });
124
- }
125
- //# sourceMappingURL=CalendarEmbed.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","CalendarEmbed_exports","__export","CalendarEmbed","module","exports","import_jsx_runtime","require","import_gui","import_BookingForm","import_Confirmation","import_EventHeader","import_TimeSlots","import_time","import_useBooker","props","m","useBooker","autoSelectFirst","_m_event_error","jsx","YStack","backgroundColor","borderColor","borderWidth","borderRadius","padding","gap","width","maxWidth","children","event","loading","alignItems","justifyContent","minHeight","Spinner","size","color","error","data","jsxs","SizableText","fontWeight","textAlign","phase","booking","Confirmation","timeZone","onDone","reset","selectedSlot","BookingForm","slotIso","eventLength","length","submitting","onSubmit","submit","onBack","back","Fragment","EventHeader","host","compact","conflict","slots","availableKeys"],"sources":["../../src/CalendarEmbed.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,177 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
19
- };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
23
- var Confirmation_exports = {};
24
- __export(Confirmation_exports, {
25
- Confirmation: () => Confirmation
26
- });
27
- module.exports = __toCommonJS(Confirmation_exports);
28
- var import_gui = require("@hanzo/gui");
29
- var import_client = require("./client.cjs");
30
- var import_hooks = require("./hooks.cjs");
31
- var import_time = require("./time.cjs");
32
- var import_time2 = require("./time.cjs");
33
- var import_jsx_runtime = require("react/jsx-runtime");
34
- function Confirmation({
35
- booking,
36
- uid,
37
- apiUrl,
38
- timeZone,
39
- onDone
40
- }) {
41
- const api = apiUrl ?? import_client.DEFAULT_API_URL;
42
- const tz = timeZone ?? (0, import_time.visitorTimeZone)();
43
- const fetched = (0, import_hooks.useBooking)(api, booking ? void 0 : uid);
44
- const data = booking ?? fetched.data;
45
- if (!data && fetched.loading) {
46
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
47
- alignItems: "center",
48
- justifyContent: "center",
49
- padding: "$6",
50
- gap: "$3",
51
- minHeight: 200,
52
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Spinner, {
53
- size: "large",
54
- color: "$color9"
55
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
56
- size: "$3",
57
- color: "$color10",
58
- children: "Loading your booking\u2026"
59
- })]
60
- });
61
- }
62
- if (!data) {
63
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
64
- alignItems: "center",
65
- justifyContent: "center",
66
- padding: "$6",
67
- gap: "$2",
68
- minHeight: 200,
69
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
70
- size: "$4",
71
- fontWeight: "600",
72
- color: "$color12",
73
- children: "Booking not found"
74
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
75
- size: "$3",
76
- color: "$color10",
77
- textAlign: "center",
78
- children: fetched.error ?? "We could not load this booking."
79
- })]
80
- });
81
- }
82
- const attendee = data.attendees?.[0];
83
- const location = data.location;
84
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
85
- gap: "$3",
86
- padding: "$1",
87
- alignItems: "center",
88
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
89
- width: 52,
90
- height: 52,
91
- borderRadius: 9999,
92
- backgroundColor: "$green4",
93
- alignItems: "center",
94
- justifyContent: "center",
95
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
96
- size: "$8",
97
- color: "$green11",
98
- children: "\u2713"
99
- })
100
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
101
- gap: "$1",
102
- alignItems: "center",
103
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
104
- size: "$7",
105
- fontWeight: "700",
106
- color: "$color12",
107
- textAlign: "center",
108
- children: "You're booked"
109
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
110
- size: "$4",
111
- color: "$color11",
112
- textAlign: "center",
113
- children: data.title
114
- })]
115
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Separator, {
116
- width: "100%"
117
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
118
- gap: "$2.5",
119
- width: "100%",
120
- maxWidth: 420,
121
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
122
- label: "When",
123
- value: (0, import_time2.formatBookingWhen)(data.start, tz)
124
- }), location ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
125
- label: "Where",
126
- value: location
127
- }) : null, attendee?.email ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
128
- label: "Guest",
129
- value: attendee.email
130
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
131
- label: "Status",
132
- value: titleCase(data.status)
133
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
134
- label: "Reference",
135
- value: data.uid
136
- })]
137
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.Paragraph, {
138
- size: "$2",
139
- color: "$color10",
140
- textAlign: "center",
141
- marginTop: "$1",
142
- children: ["A calendar invite is on its way to ", attendee?.email ?? "your inbox", "."]
143
- }), onDone ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Button, {
144
- size: "$3",
145
- chromeless: true,
146
- onPress: onDone,
147
- marginTop: "$1",
148
- children: "Book another time"
149
- }) : null]
150
- });
151
- }
152
- function Row({
153
- label,
154
- value
155
- }) {
156
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.XStack, {
157
- justifyContent: "space-between",
158
- gap: "$3",
159
- alignItems: "flex-start",
160
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
161
- size: "$3",
162
- color: "$color10",
163
- children: label
164
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
165
- size: "$3",
166
- color: "$color12",
167
- fontWeight: "500",
168
- textAlign: "right",
169
- flexShrink: 1,
170
- children: value
171
- })]
172
- });
173
- }
174
- function titleCase(s) {
175
- if (!s) return "";
176
- return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
177
- }
@@ -1,185 +0,0 @@
1
- "use strict";
2
-
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: true
11
- });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
21
- };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
25
- var Confirmation_exports = {};
26
- __export(Confirmation_exports, {
27
- Confirmation: () => Confirmation
28
- });
29
- module.exports = __toCommonJS(Confirmation_exports);
30
- var import_jsx_runtime = require("react/jsx-runtime");
31
- var import_gui = require("@hanzo/gui");
32
- var import_client = require("./client.native.js");
33
- var import_hooks = require("./hooks.native.js");
34
- var import_time = require("./time.native.js");
35
- var import_time2 = require("./time.native.js");
36
- function Confirmation(param) {
37
- var {
38
- booking,
39
- uid,
40
- apiUrl,
41
- timeZone,
42
- onDone
43
- } = param;
44
- var _data_attendees;
45
- var api = apiUrl !== null && apiUrl !== void 0 ? apiUrl : import_client.DEFAULT_API_URL;
46
- var tz = timeZone !== null && timeZone !== void 0 ? timeZone : (0, import_time.visitorTimeZone)();
47
- var fetched = (0, import_hooks.useBooking)(api, booking ? void 0 : uid);
48
- var data = booking !== null && booking !== void 0 ? booking : fetched.data;
49
- if (!data && fetched.loading) {
50
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
51
- alignItems: "center",
52
- justifyContent: "center",
53
- padding: "$6",
54
- gap: "$3",
55
- minHeight: 200,
56
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Spinner, {
57
- size: "large",
58
- color: "$color9"
59
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
60
- size: "$3",
61
- color: "$color10",
62
- children: "Loading your booking\u2026"
63
- })]
64
- });
65
- }
66
- if (!data) {
67
- var _fetched_error;
68
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
69
- alignItems: "center",
70
- justifyContent: "center",
71
- padding: "$6",
72
- gap: "$2",
73
- minHeight: 200,
74
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
75
- size: "$4",
76
- fontWeight: "600",
77
- color: "$color12",
78
- children: "Booking not found"
79
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
80
- size: "$3",
81
- color: "$color10",
82
- textAlign: "center",
83
- children: (_fetched_error = fetched.error) !== null && _fetched_error !== void 0 ? _fetched_error : "We could not load this booking."
84
- })]
85
- });
86
- }
87
- var attendee = (_data_attendees = data.attendees) === null || _data_attendees === void 0 ? void 0 : _data_attendees[0];
88
- var location = data.location;
89
- var _attendee_email;
90
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
91
- gap: "$3",
92
- padding: "$1",
93
- alignItems: "center",
94
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
95
- width: 52,
96
- height: 52,
97
- borderRadius: 9999,
98
- backgroundColor: "$green4",
99
- alignItems: "center",
100
- justifyContent: "center",
101
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
102
- size: "$8",
103
- color: "$green11",
104
- children: "\u2713"
105
- })
106
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
107
- gap: "$1",
108
- alignItems: "center",
109
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
110
- size: "$7",
111
- fontWeight: "700",
112
- color: "$color12",
113
- textAlign: "center",
114
- children: "You're booked"
115
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
116
- size: "$4",
117
- color: "$color11",
118
- textAlign: "center",
119
- children: data.title
120
- })]
121
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Separator, {
122
- width: "100%"
123
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
124
- gap: "$2.5",
125
- width: "100%",
126
- maxWidth: 420,
127
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
128
- label: "When",
129
- value: (0, import_time2.formatBookingWhen)(data.start, tz)
130
- }), location ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
131
- label: "Where",
132
- value: location
133
- }) : null, (attendee === null || attendee === void 0 ? void 0 : attendee.email) ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
134
- label: "Guest",
135
- value: attendee.email
136
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
137
- label: "Status",
138
- value: titleCase(data.status)
139
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(Row, {
140
- label: "Reference",
141
- value: data.uid
142
- })]
143
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.Paragraph, {
144
- size: "$2",
145
- color: "$color10",
146
- textAlign: "center",
147
- marginTop: "$1",
148
- 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", "."]
149
- }), onDone ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Button, {
150
- size: "$3",
151
- chromeless: true,
152
- onPress: onDone,
153
- marginTop: "$1",
154
- children: "Book another time"
155
- }) : null]
156
- });
157
- }
158
- function Row(param) {
159
- var {
160
- label,
161
- value
162
- } = param;
163
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.XStack, {
164
- justifyContent: "space-between",
165
- gap: "$3",
166
- alignItems: "flex-start",
167
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
168
- size: "$3",
169
- color: "$color10",
170
- children: label
171
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
172
- size: "$3",
173
- color: "$color12",
174
- fontWeight: "500",
175
- textAlign: "right",
176
- flexShrink: 1,
177
- children: value
178
- })]
179
- });
180
- }
181
- function titleCase(s) {
182
- if (!s) return "";
183
- return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
184
- }
185
- //# sourceMappingURL=Confirmation.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Confirmation_exports","__export","Confirmation","module","exports","import_jsx_runtime","require","import_gui","import_client","import_hooks","import_time","import_time2","param","booking","uid","apiUrl","timeZone","onDone","_data_attendees","api","DEFAULT_API_URL","tz","visitorTimeZone","fetched","useBooking","data","loading","jsxs","YStack","alignItems","justifyContent","padding","gap","minHeight","children","jsx","Spinner","size","color","SizableText","_fetched_error","fontWeight","textAlign","error","attendee","attendees","location","_attendee_email","width","height","borderRadius","backgroundColor","title","Separator"],"sources":["../../src/Confirmation.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}