@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,145 +0,0 @@
1
- import { useEffect, useMemo, useState } from "react";
2
- import { DEFAULT_API_URL } from "./client.native.js";
3
- import { useAvailableSlots, useCreateBooking, useEventType } from "./hooks.native.js";
4
- import { addMonths, monthRange, startOfMonth, visitorTimeZone } from "./time.native.js";
5
- function useBooker(opts) {
6
- var _opts_apiUrl;
7
- var api = (_opts_apiUrl = opts.apiUrl) !== null && _opts_apiUrl !== void 0 ? _opts_apiUrl : DEFAULT_API_URL;
8
- var _opts_timeZone;
9
- var timeZone = (_opts_timeZone = opts.timeZone) !== null && _opts_timeZone !== void 0 ? _opts_timeZone : visitorTimeZone();
10
- var _opts_weekStartsOn;
11
- var weekStartsOn = (_opts_weekStartsOn = opts.weekStartsOn) !== null && _opts_weekStartsOn !== void 0 ? _opts_weekStartsOn : 0;
12
- var event = useEventType(api, opts.eventSlug, opts.host);
13
- var [viewDate, setViewDate] = useState(function () {
14
- return startOfMonth(/* @__PURE__ */new Date());
15
- });
16
- var {
17
- startTime,
18
- endTime
19
- } = useMemo(function () {
20
- return monthRange(viewDate);
21
- }, [viewDate]);
22
- var slots = useAvailableSlots(api, {
23
- eventTypeSlug: opts.eventSlug,
24
- username: opts.host,
25
- startTime,
26
- endTime,
27
- timeZone,
28
- enabled: !!event.data
29
- });
30
- var [selectedDay, setSelectedDay] = useState(null);
31
- var [selectedSlot, setSelectedSlot] = useState(null);
32
- var [phase, setPhase] = useState("pick");
33
- var [booking, setBooking] = useState(null);
34
- var create = useCreateBooking(api);
35
- var availableKeys = useMemo(function () {
36
- var _slots_data;
37
- var map = (_slots_data = slots.data) !== null && _slots_data !== void 0 ? _slots_data : {};
38
- return new Set(Object.keys(map).filter(function (k) {
39
- var _map_k;
40
- var _map_k_length;
41
- return ((_map_k_length = (_map_k = map[k]) === null || _map_k === void 0 ? void 0 : _map_k.length) !== null && _map_k_length !== void 0 ? _map_k_length : 0) > 0;
42
- }));
43
- }, [slots.data]);
44
- var daySlots = useMemo(function () {
45
- var _slots_data;
46
- if (!selectedDay) return [];
47
- var _slots_data_selectedDay;
48
- return (_slots_data_selectedDay = (_slots_data = slots.data) === null || _slots_data === void 0 ? void 0 : _slots_data[selectedDay]) !== null && _slots_data_selectedDay !== void 0 ? _slots_data_selectedDay : [];
49
- }, [slots.data, selectedDay]);
50
- useEffect(function () {
51
- if (!opts.autoSelectFirst) return;
52
- if (selectedDay && availableKeys.has(selectedDay)) return;
53
- var first = [...availableKeys].sort()[0];
54
- if (first) {
55
- setSelectedDay(first);
56
- setSelectedSlot(null);
57
- }
58
- }, [opts.autoSelectFirst, availableKeys, selectedDay]);
59
- var now = startOfMonth(/* @__PURE__ */new Date());
60
- var atFirstMonth = viewDate.getFullYear() === now.getFullYear() && viewDate.getMonth() === now.getMonth();
61
- var goPrevMonth = function () {
62
- if (atFirstMonth) return;
63
- setViewDate(function (d) {
64
- return addMonths(d, -1);
65
- });
66
- setSelectedDay(null);
67
- setSelectedSlot(null);
68
- };
69
- var goNextMonth = function () {
70
- setViewDate(function (d) {
71
- return addMonths(d, 1);
72
- });
73
- setSelectedDay(null);
74
- setSelectedSlot(null);
75
- };
76
- var selectDay = function (key) {
77
- setSelectedDay(key);
78
- setSelectedSlot(null);
79
- };
80
- var selectSlot = function (iso) {
81
- setSelectedSlot(iso);
82
- setPhase("form");
83
- create.reset();
84
- };
85
- var back = function () {
86
- setPhase("pick");
87
- setSelectedSlot(null);
88
- create.reset();
89
- };
90
- var reset = function () {
91
- setBooking(null);
92
- setSelectedSlot(null);
93
- setSelectedDay(null);
94
- setPhase("pick");
95
- create.reset();
96
- slots.refetch();
97
- };
98
- var submit = async function (responses) {
99
- if (!selectedSlot) return;
100
- var result = await create.submit({
101
- eventTypeSlug: opts.eventSlug,
102
- username: opts.host,
103
- start: selectedSlot,
104
- timeZone,
105
- responses
106
- });
107
- if (result.ok) {
108
- var _opts_onBooked;
109
- setBooking(result.booking);
110
- setPhase("done");
111
- (_opts_onBooked = opts.onBooked) === null || _opts_onBooked === void 0 ? void 0 : _opts_onBooked.call(opts, result.booking);
112
- } else if (result.conflict) {
113
- slots.refetch();
114
- setSelectedSlot(null);
115
- setPhase("pick");
116
- }
117
- };
118
- return {
119
- api,
120
- timeZone,
121
- weekStartsOn,
122
- event,
123
- slots,
124
- viewDate,
125
- availableKeys,
126
- selectedDay,
127
- daySlots,
128
- selectedSlot,
129
- phase,
130
- booking,
131
- submitting: create.submitting,
132
- error: create.error,
133
- conflict: create.conflict,
134
- goPrevMonth,
135
- goNextMonth,
136
- atFirstMonth,
137
- selectDay,
138
- selectSlot,
139
- submit,
140
- back,
141
- reset
142
- };
143
- }
144
- export { useBooker };
145
- //# sourceMappingURL=useBooker.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useEffect","useMemo","useState","DEFAULT_API_URL","useAvailableSlots","useCreateBooking","useEventType","addMonths","monthRange","startOfMonth","visitorTimeZone","useBooker","opts","_opts_apiUrl","api","apiUrl","_opts_timeZone","timeZone","_opts_weekStartsOn","weekStartsOn","event","eventSlug","host","viewDate","setViewDate","Date","startTime","endTime","slots","eventTypeSlug","username","enabled","data","selectedDay","setSelectedDay","selectedSlot","setSelectedSlot","phase","setPhase","booking","setBooking","create","availableKeys","_slots_data","map","Set","Object","keys","filter","k","_map_k","_map_k_length","length","daySlots","_slots_data_selectedDay","autoSelectFirst","has","first","sort","now","atFirstMonth","getFullYear","getMonth","goPrevMonth","d","goNextMonth","selectDay","key","selectSlot","iso","reset","back","refetch","submit","responses","result","start","ok","_opts_onBooked","onBooked","call","conflict"],"sources":["../../src/useBooker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}