@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,158 +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 Booker_exports = {};
26
- __export(Booker_exports, {
27
- Booker: () => Booker
28
- });
29
- module.exports = __toCommonJS(Booker_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_MonthCalendar = require("./MonthCalendar.native.js");
36
- var import_TimeSlots = require("./TimeSlots.native.js");
37
- var import_useBooker = require("./useBooker.native.js");
38
- function Booker(props) {
39
- var m = (0, import_useBooker.useBooker)(props);
40
- var _m_event_error;
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: "$4",
48
- width: "100%",
49
- maxWidth: 860,
50
- alignSelf: "center",
51
- children: m.event.loading ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(StatePanel, {
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\u2026"
59
- })]
60
- }) : m.event.error || !m.event.data ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(StatePanel, {
61
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
62
- size: "$5",
63
- fontWeight: "600",
64
- color: "$color12",
65
- children: "Couldn't load this event"
66
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
67
- size: "$3",
68
- color: "$color10",
69
- textAlign: "center",
70
- children: (_m_event_error = m.event.error) !== null && _m_event_error !== void 0 ? _m_event_error : "The event type was not found."
71
- })]
72
- }) : m.phase === "done" && m.booking ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_Confirmation.Confirmation, {
73
- booking: m.booking,
74
- timeZone: m.timeZone,
75
- onDone: m.reset
76
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
77
- gap: "$4",
78
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_EventHeader.EventHeader, {
79
- event: m.event.data,
80
- host: props.host,
81
- timeZone: m.timeZone,
82
- compact: m.phase === "form"
83
- }), m.phase === "form" && m.selectedSlot ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_BookingForm.BookingForm, {
84
- slotIso: m.selectedSlot,
85
- timeZone: m.timeZone,
86
- eventLength: m.event.data.length,
87
- submitting: m.submitting,
88
- error: m.error,
89
- onSubmit: m.submit,
90
- onBack: m.back
91
- }) : /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
92
- children: [m.conflict ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(JustTakenBanner, {}) : null, m.slots.error ? /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.SizableText, {
93
- size: "$2",
94
- color: "$red10",
95
- children: ["Couldn't load availability: ", m.slots.error]
96
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.XStack, {
97
- gap: "$5",
98
- flexDirection: "column",
99
- $sm: {
100
- flexDirection: "row"
101
- },
102
- alignItems: "flex-start",
103
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_MonthCalendar.MonthCalendar, {
104
- viewDate: m.viewDate,
105
- availableKeys: m.availableKeys,
106
- selectedDay: m.selectedDay,
107
- onSelectDay: m.selectDay,
108
- onPrev: m.goPrevMonth,
109
- onNext: m.goNextMonth,
110
- atFirstMonth: m.atFirstMonth,
111
- weekStartsOn: m.weekStartsOn,
112
- loading: m.slots.loading
113
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_TimeSlots.TimeSlots, {
114
- dayKey: m.selectedDay,
115
- slots: m.daySlots,
116
- timeZone: m.timeZone,
117
- onPick: m.selectSlot,
118
- selectedIso: m.selectedSlot,
119
- loading: m.slots.loading && !m.selectedDay
120
- })]
121
- }), m.availableKeys.size === 0 && !m.slots.loading && !m.slots.error ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
122
- size: "$3",
123
- color: "$color10",
124
- textAlign: "center",
125
- children: "No availability this month \u2014 try the next month."
126
- }) : null]
127
- })]
128
- })
129
- });
130
- }
131
- function StatePanel(param) {
132
- var {
133
- children
134
- } = param;
135
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
136
- alignItems: "center",
137
- justifyContent: "center",
138
- gap: "$3",
139
- padding: "$8",
140
- minHeight: 220,
141
- children
142
- });
143
- }
144
- function JustTakenBanner() {
145
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
146
- backgroundColor: "$yellow3",
147
- borderColor: "$yellow6",
148
- borderWidth: 1,
149
- borderRadius: "$4",
150
- padding: "$2.5",
151
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
152
- size: "$2",
153
- color: "$yellow11",
154
- children: "That time was just taken. We refreshed the calendar \u2014 please pick another."
155
- })
156
- });
157
- }
158
- //# sourceMappingURL=Booker.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Booker_exports","__export","Booker","module","exports","import_jsx_runtime","require","import_gui","import_BookingForm","import_Confirmation","import_EventHeader","import_MonthCalendar","import_TimeSlots","import_useBooker","props","m","useBooker","_m_event_error","jsx","YStack","backgroundColor","borderColor","borderWidth","borderRadius","padding","gap","width","maxWidth","alignSelf","children","event","loading","jsxs","StatePanel","Spinner","size","color","SizableText","error","data","fontWeight","textAlign","phase","booking","Confirmation","timeZone","onDone","reset","EventHeader","host","compact","selectedSlot","BookingForm","slotIso","eventLength","length","submitting","onSubmit","submit","onBack","back","Fragment","conflict","JustTakenBanner","slots","XStack","flexDirection","$sm","alignItems","MonthCalendar","viewDate","availableKeys","selectedDay","onSelectDay","selectDay","onPrev","goPrevMonth","onNext","goNextMonth","atFirstMonth","weekStartsOn","TimeSlots","dayKey","daySlots","onPick","selectSlot","selectedIso","param"],"sources":["../../src/Booker.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,197 +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 BookingForm_exports = {};
24
- __export(BookingForm_exports, {
25
- BookingForm: () => BookingForm
26
- });
27
- module.exports = __toCommonJS(BookingForm_exports);
28
- var import_react = require("react");
29
- var import_gui = require("@hanzo/gui");
30
- var import_time = require("./time.cjs");
31
- var import_jsx_runtime = require("react/jsx-runtime");
32
- const EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
33
- function BookingForm({
34
- slotIso,
35
- timeZone,
36
- eventLength,
37
- submitting,
38
- error,
39
- onSubmit,
40
- onBack
41
- }) {
42
- const [name, setName] = (0, import_react.useState)("");
43
- const [email, setEmail] = (0, import_react.useState)("");
44
- const [notes, setNotes] = (0, import_react.useState)("");
45
- const [touched, setTouched] = (0, import_react.useState)(false);
46
- const nameValid = name.trim().length > 0;
47
- const emailValid = EMAIL_RE.test(email.trim());
48
- const valid = nameValid && emailValid;
49
- const submit = () => {
50
- setTouched(true);
51
- if (!valid || submitting) return;
52
- onSubmit({
53
- name: name.trim(),
54
- email: email.trim(),
55
- notes: notes.trim() || void 0
56
- });
57
- };
58
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
59
- gap: "$3",
60
- flex: 1,
61
- minWidth: 240,
62
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
63
- gap: "$1",
64
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.XStack, {
65
- alignItems: "center",
66
- gap: "$2",
67
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(BackLink, {
68
- onPress: onBack
69
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
70
- size: "$5",
71
- fontWeight: "700",
72
- color: "$color12",
73
- children: "Enter details"
74
- })]
75
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.SizableText, {
76
- size: "$3",
77
- color: "$color11",
78
- children: [(0, import_time.formatBookingWhen)(slotIso, timeZone), " \xB7 ", eventLength, " min"]
79
- })]
80
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(Field, {
81
- label: "Name",
82
- required: true,
83
- invalid: touched && !nameValid,
84
- hint: "Please enter your name",
85
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Input, {
86
- value: name,
87
- onChangeText: setName,
88
- placeholder: "Ada Lovelace",
89
- autoComplete: "name",
90
- size: "$4"
91
- })
92
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(Field, {
93
- label: "Email",
94
- required: true,
95
- invalid: touched && !emailValid,
96
- hint: "Please enter a valid email",
97
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Input, {
98
- value: email,
99
- onChangeText: setEmail,
100
- placeholder: "ada@example.com",
101
- keyboardType: "email-address",
102
- autoCapitalize: "none",
103
- autoComplete: "email",
104
- size: "$4"
105
- })
106
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(Field, {
107
- label: "Notes",
108
- hint: "Optional",
109
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.TextArea, {
110
- value: notes,
111
- onChangeText: setNotes,
112
- placeholder: "Anything that would help prepare?",
113
- numberOfLines: 3,
114
- size: "$4"
115
- })
116
- }), error ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
117
- backgroundColor: "$red3",
118
- borderColor: "$red6",
119
- borderWidth: 1,
120
- borderRadius: "$4",
121
- padding: "$2.5",
122
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
123
- size: "$2",
124
- color: "$red11",
125
- children: error
126
- })
127
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.XStack, {
128
- gap: "$2",
129
- justifyContent: "flex-end",
130
- marginTop: "$1",
131
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Button, {
132
- size: "$4",
133
- chromeless: true,
134
- onPress: onBack,
135
- disabled: submitting,
136
- children: "Back"
137
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Button, {
138
- size: "$4",
139
- theme: "blue",
140
- onPress: submit,
141
- disabled: submitting || touched && !valid,
142
- opacity: submitting ? 0.7 : 1,
143
- children: submitting ? "Booking\u2026" : "Confirm booking"
144
- })]
145
- })]
146
- });
147
- }
148
- function Field({
149
- label,
150
- required,
151
- invalid,
152
- hint,
153
- children
154
- }) {
155
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
156
- gap: "$1.5",
157
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.SizableText, {
158
- size: "$2",
159
- color: "$color11",
160
- fontWeight: "600",
161
- children: [label, required ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
162
- color: "$red10",
163
- children: " *"
164
- }) : null]
165
- }), children, invalid && hint ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
166
- size: "$1",
167
- color: "$red10",
168
- children: hint
169
- }) : null]
170
- });
171
- }
172
- function BackLink({
173
- onPress
174
- }) {
175
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
176
- width: 30,
177
- height: 30,
178
- alignItems: "center",
179
- justifyContent: "center",
180
- borderRadius: "$4",
181
- cursor: "pointer",
182
- hoverStyle: {
183
- backgroundColor: "$color4"
184
- },
185
- pressStyle: {
186
- backgroundColor: "$color6"
187
- },
188
- onPress,
189
- "aria-label": "Back",
190
- role: "button",
191
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
192
- size: "$6",
193
- color: "$color11",
194
- children: "\u2039"
195
- })
196
- });
197
- }
@@ -1,203 +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 BookingForm_exports = {};
26
- __export(BookingForm_exports, {
27
- BookingForm: () => BookingForm
28
- });
29
- module.exports = __toCommonJS(BookingForm_exports);
30
- var import_jsx_runtime = require("react/jsx-runtime");
31
- var import_react = require("react");
32
- var import_gui = require("@hanzo/gui");
33
- var import_time = require("./time.native.js");
34
- var EMAIL_RE = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
35
- function BookingForm(param) {
36
- var {
37
- slotIso,
38
- timeZone,
39
- eventLength,
40
- submitting,
41
- error,
42
- onSubmit,
43
- onBack
44
- } = param;
45
- var [name, setName] = (0, import_react.useState)("");
46
- var [email, setEmail] = (0, import_react.useState)("");
47
- var [notes, setNotes] = (0, import_react.useState)("");
48
- var [touched, setTouched] = (0, import_react.useState)(false);
49
- var nameValid = name.trim().length > 0;
50
- var emailValid = EMAIL_RE.test(email.trim());
51
- var valid = nameValid && emailValid;
52
- var submit = function () {
53
- setTouched(true);
54
- if (!valid || submitting) return;
55
- onSubmit({
56
- name: name.trim(),
57
- email: email.trim(),
58
- notes: notes.trim() || void 0
59
- });
60
- };
61
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
62
- gap: "$3",
63
- flex: 1,
64
- minWidth: 240,
65
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
66
- gap: "$1",
67
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.XStack, {
68
- alignItems: "center",
69
- gap: "$2",
70
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(BackLink, {
71
- onPress: onBack
72
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
73
- size: "$5",
74
- fontWeight: "700",
75
- color: "$color12",
76
- children: "Enter details"
77
- })]
78
- }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.SizableText, {
79
- size: "$3",
80
- color: "$color11",
81
- children: [(0, import_time.formatBookingWhen)(slotIso, timeZone), " \xB7 ", eventLength, " min"]
82
- })]
83
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(Field, {
84
- label: "Name",
85
- required: true,
86
- invalid: touched && !nameValid,
87
- hint: "Please enter your name",
88
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Input, {
89
- value: name,
90
- onChangeText: setName,
91
- placeholder: "Ada Lovelace",
92
- autoComplete: "name",
93
- size: "$4"
94
- })
95
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(Field, {
96
- label: "Email",
97
- required: true,
98
- invalid: touched && !emailValid,
99
- hint: "Please enter a valid email",
100
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Input, {
101
- value: email,
102
- onChangeText: setEmail,
103
- placeholder: "ada@example.com",
104
- keyboardType: "email-address",
105
- autoCapitalize: "none",
106
- autoComplete: "email",
107
- size: "$4"
108
- })
109
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(Field, {
110
- label: "Notes",
111
- hint: "Optional",
112
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.TextArea, {
113
- value: notes,
114
- onChangeText: setNotes,
115
- placeholder: "Anything that would help prepare?",
116
- numberOfLines: 3,
117
- size: "$4"
118
- })
119
- }), error ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
120
- backgroundColor: "$red3",
121
- borderColor: "$red6",
122
- borderWidth: 1,
123
- borderRadius: "$4",
124
- padding: "$2.5",
125
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
126
- size: "$2",
127
- color: "$red11",
128
- children: error
129
- })
130
- }) : null, /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.XStack, {
131
- gap: "$2",
132
- justifyContent: "flex-end",
133
- marginTop: "$1",
134
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Button, {
135
- size: "$4",
136
- chromeless: true,
137
- onPress: onBack,
138
- disabled: submitting,
139
- children: "Back"
140
- }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.Button, {
141
- size: "$4",
142
- theme: "blue",
143
- onPress: submit,
144
- disabled: submitting || touched && !valid,
145
- opacity: submitting ? 0.7 : 1,
146
- children: submitting ? "Booking\u2026" : "Confirm booking"
147
- })]
148
- })]
149
- });
150
- }
151
- function Field(param) {
152
- var {
153
- label,
154
- required,
155
- invalid,
156
- hint,
157
- children
158
- } = param;
159
- return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.YStack, {
160
- gap: "$1.5",
161
- children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_gui.SizableText, {
162
- size: "$2",
163
- color: "$color11",
164
- fontWeight: "600",
165
- children: [label, required ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
166
- color: "$red10",
167
- children: " *"
168
- }) : null]
169
- }), children, invalid && hint ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
170
- size: "$1",
171
- color: "$red10",
172
- children: hint
173
- }) : null]
174
- });
175
- }
176
- function BackLink(param) {
177
- var {
178
- onPress
179
- } = param;
180
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.YStack, {
181
- width: 30,
182
- height: 30,
183
- alignItems: "center",
184
- justifyContent: "center",
185
- borderRadius: "$4",
186
- cursor: "pointer",
187
- hoverStyle: {
188
- backgroundColor: "$color4"
189
- },
190
- pressStyle: {
191
- backgroundColor: "$color6"
192
- },
193
- onPress,
194
- "aria-label": "Back",
195
- role: "button",
196
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_gui.SizableText, {
197
- size: "$6",
198
- color: "$color11",
199
- children: "\u2039"
200
- })
201
- });
202
- }
203
- //# sourceMappingURL=BookingForm.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","BookingForm_exports","__export","BookingForm","module","exports","import_jsx_runtime","require","import_react","import_gui","import_time","EMAIL_RE","param","slotIso","timeZone","eventLength","submitting","error","onSubmit","onBack","name","setName","useState","email","setEmail","notes","setNotes","touched","setTouched","nameValid","trim","length","emailValid","test","valid","submit","jsxs","YStack","gap","flex","minWidth","children","XStack","alignItems","jsx","BackLink","onPress","SizableText","size","fontWeight","color","formatBookingWhen","Field","label","required","invalid","hint","Input","onChangeText","placeholder","autoComplete","keyboardType","autoCapitalize","TextArea","numberOfLines","backgroundColor","borderColor","borderWidth","borderRadius","padding","justifyContent","marginTop","Button","chromeless","disabled","theme","opacity"],"sources":["../../src/BookingForm.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,mBAAA;AAAAC,QAAA,CAAAD,mBAAA;EAAAE,WAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAT,YAAyC,CAAAK,mBAAA;AACzC,IAAAK,kBAAqE,GAAAC,OAAA;AAErE,IAAAC,YAAA,GAAkCD,OAAA;AA0C1B,IAAAE,UAAA,GAAAF,OAAA;AA9BR,IAAAG,WAAM,GAAWH,OAAA;AAGV,IAAAI,QAAS,+BAAY;AAAA,SAC1BR,YAAAS,KAAA;EACA;IAAAC,OAAA;IAAAC,QAAA;IAAAC,WAAA;IAAAC,UAAA;IAAAC,KAAA;IAAAC,QAAA;IAAAC;EAAA,IAAAP,KAAA;EACA,KAAAQ,IAAA,EAAAC,OAAA,QAAAb,YAAA,CAAAc,QAAA;EACA,KAAAC,KAAA,EAAAC,QAAA,QAAAhB,YAAA,CAAAc,QAAA;EACA,KAAAG,KAAA,EAAAC,QAAA,QAAAlB,YAAA,CAAAc,QAAA;EACA,KAAAK,OAAA,EAAAC,UAAA,QAAApB,YAAA,CAAAc,QAAA;EACA,IAAAO,SAAA,GAAAT,IAAA,CAAAU,IAAA,GAAAC,MAAA;EACF,IAAqBC,UAAA,GAAArB,QAAA,CAAAsB,IAAA,CAAAV,KAAA,CAAAO,IAAA;EACnB,IAAAI,KAAO,GAAAL,SAAa,IAAAG,UAAI;EACxB,IAAAG,MAAO,YAAAA,CAAA,EAAe;IACtBP,UAAO,KAAO;IACd,IAAM,CAACM,KAAA,IAASlB,UAAU;IAE1BE,QAAM;MACNE,IAAM,EAAAA,IAAA,CAAAU,IAAa;MACnBP,KAAM,EAAAA,KAAQ,CAAAO,IAAA;MAEdL,KAAM,EAAAA,KAAS,CAAAK,IAAM;IACnB;EACA;EACA,sBAAiB,CAAK,GAAAxB,kBAAqB,CAAA8B,IAAK,EAAA3B,UAAU,CAAA4B,MAAM,EAAK;IACvEC,GAAA;IAEAC,IAAA,EACE;IACEC,QAAA;IACEC,QAAA,GACE,mBAAAnC,kBAAA,CAAA8B,IAAA,EAAA3B,UAAC,CAAA4B,MAAS;MACVC,GAAA;MAEAG,QACF,GACA,mBAAAnC,kBAAA,CAAA8B,IAAC,EAAA3B,UAAA,CAAAiC,MAAA;QACEC,UAAA;QAAqCL,GAAA;QAAIG,QAAA,GAAY,mBAAAnC,kBAAA,CAAAsC,GAAA,EAAAC,QAAA;UACxDC,OAAA,EAAA3B;QACF,IAEA,mBAAAb,kBAAA,CAAAsC,GAAA,EAAAnC,UAAA,CAAAsC,WAAA;UAACC,IAAA;UAAAC,UAAA;UACOC,KAAA;UACNT,QAAQ;QACR;MAGA,IAAC,mBAAAnC,kBAAA,CAAA8B,IAAA,EAAA3B,UAAA,CAAAsC,WAAA;QAAAC,IAAA;QACCE,KAAA,EAAO;QACPT,QAAA,GACA,IAAA/B,WAAY,CAAAyC,iBAAA,EAAAtC,OAAA,EAAAC,QAAA,GACZ,UACAC,WAAK;MACP;IAGF,IAAC,mBAAAT,kBAAA,CAAAsC,GAAA,EAAAQ,KAAA;MAAAC,KAAA;MACCC,QAAM;MACNC,OAAA,EAAA5B,OAAQ,KAAAE,SAAA;MACR2B,IAAA,0BAAqB;MACrBf,QAAK,qBAAAnC,kBAAA,CAAAsC,GAAA,EAAAnC,UAAA,CAAAgD,KAAA;QAELzD,KAAA,EAAAoB,IAAA;QAACsC,YAAA,EAAArC,OAAA;QAAAsC,WAAA;QAAAC,YACQ;QAAAZ,IACP;MAAc;IACF,IACC,eACb,IAAA1C,kBAAe,CAAAsC,GAAA,EAAAQ,KAAA;MAAAC,KACf;MAAaC,QACb,EAAK;MAAAC,OAAA,EAAA5B,OAAA,KAAAK,UAAA;MACPwB,IAAA;MAAAf,QAAA,qBAAAnC,kBAAA,CAAAsC,GAAA,EAAAnC,UAAA,CAAAgD,KAAA;QACFzD,KAAA,EAAAuB,KAAA;QAEAmC,YAAA,EAAAlC,QAAA;QACGmC,WAAA;QAAAE,YAAA;QACCC,cAAO;QACPF,YAAc;QACdZ,IAAA;MACA;IAAe,EACf,EAAK,mBAAA1C,kBAAA,CAAAsC,GAAA,EAAAQ,KAAA;MAETC,KAAA;MAECG,IACC;MAACf,QAAA,qBAAAnC,kBAAA,CAAAsC,GAAA,EAAAnC,UAAA,CAAAsD,QAAA;QAAA/D,KAAA,EAAAyB,KAAA;QACCiC,YAAA,EAAAhC,QAAgB;QAChBiC,WAAY;QACZK,aAAa;QACbhB,IAAA;MACA;IAAQ,EAER,EAEA/B,KAAA,sBAAAX,kBAAA,CAAAsC,GAAA,EAAAnC,UAAA,CAAA4B,MAAA;MAEA4B,eAAA;MAEJC,WAAA;MACEC,WAAA;MAGAC,YAAA;MAACC,OAAA;MAAA5B,QAAA,qBAAAnC,kBAAA,CAAAsC,GAAA,EAAAnC,UAAA,CAAAsC,WAAA;QACCC,IAAA,EAAK;QACLE,KAAA,EAAM;QACNT,QAAA,EAASxB;MAAA;IAC4B,KACrC,MAA4B,eAE3B,IAAAX,kBAAa,CAAA8B,IAAA,EAAa3B,UAAA,CAAAiC,MAAA;MAAAJ,GAAA;MAC7BgC,cAAA;MACFC,SAAA;MACF9B,QAAA,GAEJ,mBAAAnC,kBAAA,CAAAsC,GAAA,EAAAnC,UAAA,CAAA+D,MAAA;QAESxB,IAAM;QACbyB,UAAA;QACA3B,OAAA,EAAA3B,MAAA;QACAuD,QAAA,EAAA1D,UAAA;QACAyB,QAAA;MACA,IAOC,mBAAAnC,kBAAA,CAAAsC,GAAA,EAAAnC,UAAA,CAAA+D,MAAA;QAECxB,IAAA;QACE2B,KAAA;QACG7B,OAAA,EAAAX,MAAA;QACAuC,QAAW,EAAA1D,UAAA,IAAAW,OAAA,KAAAO,KAAA;QACd0C,OAAA,EAAA5D,UAAA;QACCyB,QAAA,EAAAzB,UAAA;MACA;IAOP;EAGE;AACE;AAAC,SAAAoC,MAAAxC,KAAA;EAAA,IACC;IAAAyC,KAAO;IAAAC,QAAA;IAAAC,OAAA;IAAAC,IAAA;IAAAf;EAAA,IAAA7B,KAAA;EAAA,OACP,eAAQ,IAAAN,kBAAA,CAAA8B,IAAA,EAAA3B,UAAA,CAAA4B,MAAA;IAAAC,GACR;IAAWG,QACX,GACA,eAAa,IAAAnC,kBAAA,CAAA8B,IAAA,EAAA3B,UAAA,CAAAsC,WAAA;MACbC,IAAA,EAAO;MACPE,KAAA,YAAc;MACdD,UAAY,EAAE;MACdR,QAAA,GACAY,KAAA,EACAC,QAAK,sBAAAhD,kBAAA,CAAAsC,GAAA,EAAAnC,UAAA,CAAAsC,WAAA;QAELG,KAAA;QAEAT,QAAA;MACF","ignoreList":[]}