@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
package/dist/cjs/time.cjs DELETED
@@ -1,145 +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 time_exports = {};
24
- __export(time_exports, {
25
- addMonths: () => addMonths,
26
- dateFromKey: () => dateFromKey,
27
- formatBookingWhen: () => formatBookingWhen,
28
- formatDayLong: () => formatDayLong,
29
- formatMonthLabel: () => formatMonthLabel,
30
- formatSlotTime: () => formatSlotTime,
31
- isBeforeToday: () => isBeforeToday,
32
- monthMatrix: () => monthMatrix,
33
- monthRange: () => monthRange,
34
- sameMonth: () => sameMonth,
35
- startOfMonth: () => startOfMonth,
36
- visitorTimeZone: () => visitorTimeZone,
37
- weekdayLabels: () => weekdayLabels,
38
- ymd: () => ymd
39
- });
40
- module.exports = __toCommonJS(time_exports);
41
- function visitorTimeZone() {
42
- try {
43
- return Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
44
- } catch {
45
- return "UTC";
46
- }
47
- }
48
- function ymd(d) {
49
- const y = d.getFullYear();
50
- const m = String(d.getMonth() + 1).padStart(2, "0");
51
- const day = String(d.getDate()).padStart(2, "0");
52
- return `${y}-${m}-${day}`;
53
- }
54
- function startOfMonth(d) {
55
- return new Date(d.getFullYear(), d.getMonth(), 1);
56
- }
57
- function addMonths(d, n) {
58
- return new Date(d.getFullYear(), d.getMonth() + n, 1);
59
- }
60
- function sameMonth(a, b) {
61
- return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth();
62
- }
63
- function isBeforeToday(key) {
64
- return key < ymd(/* @__PURE__ */new Date());
65
- }
66
- function monthMatrix(viewDate, weekStartsOn = 0) {
67
- const year = viewDate.getFullYear();
68
- const month = viewDate.getMonth();
69
- const firstWeekday = new Date(year, month, 1).getDay();
70
- const startOffset = (firstWeekday - weekStartsOn + 7) % 7;
71
- const cells = [];
72
- for (let i = 0; i < 42; i++) {
73
- const date = new Date(year, month, 1 - startOffset + i);
74
- cells.push({
75
- date,
76
- key: ymd(date),
77
- inMonth: date.getMonth() === month
78
- });
79
- }
80
- return cells;
81
- }
82
- function monthRange(viewDate) {
83
- const year = viewDate.getFullYear();
84
- const month = viewDate.getMonth();
85
- const startOfView = new Date(year, month, 1, 0, 0, 0, 0);
86
- const now = /* @__PURE__ */new Date();
87
- const start = startOfView.getTime() > now.getTime() ? startOfView : now;
88
- const endOfView = new Date(year, month + 1, 0, 23, 59, 59, 999);
89
- return {
90
- startTime: start.toISOString(),
91
- endTime: endOfView.toISOString()
92
- };
93
- }
94
- function weekdayLabels(weekStartsOn = 0) {
95
- const fmt = new Intl.DateTimeFormat(void 0, {
96
- weekday: "short"
97
- });
98
- const out = [];
99
- for (let i = 0; i < 7; i++) {
100
- const d = new Date(2023, 0, 1 + (i + weekStartsOn) % 7);
101
- out.push(fmt.format(d));
102
- }
103
- return out;
104
- }
105
- function formatMonthLabel(d) {
106
- return new Intl.DateTimeFormat(void 0, {
107
- month: "long",
108
- year: "numeric"
109
- }).format(d);
110
- }
111
- function formatDayLong(d) {
112
- return new Intl.DateTimeFormat(void 0, {
113
- weekday: "long",
114
- month: "long",
115
- day: "numeric"
116
- }).format(d);
117
- }
118
- function formatSlotTime(iso, timeZone) {
119
- return new Intl.DateTimeFormat(void 0, {
120
- hour: "numeric",
121
- minute: "2-digit",
122
- timeZone
123
- }).format(new Date(iso));
124
- }
125
- function formatBookingWhen(iso, timeZone) {
126
- const at = new Date(iso);
127
- const date = new Intl.DateTimeFormat(void 0, {
128
- weekday: "long",
129
- month: "long",
130
- day: "numeric",
131
- year: "numeric",
132
- timeZone
133
- }).format(at);
134
- const time = new Intl.DateTimeFormat(void 0, {
135
- hour: "numeric",
136
- minute: "2-digit",
137
- timeZoneName: "short",
138
- timeZone
139
- }).format(at);
140
- return `${date} at ${time}`;
141
- }
142
- function dateFromKey(key) {
143
- const [y, m, d] = key.split("-").map(Number);
144
- return new Date(y, (m ?? 1) - 1, d ?? 1, 12, 0, 0, 0);
145
- }
@@ -1,150 +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 time_exports = {};
26
- __export(time_exports, {
27
- addMonths: () => addMonths,
28
- dateFromKey: () => dateFromKey,
29
- formatBookingWhen: () => formatBookingWhen,
30
- formatDayLong: () => formatDayLong,
31
- formatMonthLabel: () => formatMonthLabel,
32
- formatSlotTime: () => formatSlotTime,
33
- isBeforeToday: () => isBeforeToday,
34
- monthMatrix: () => monthMatrix,
35
- monthRange: () => monthRange,
36
- sameMonth: () => sameMonth,
37
- startOfMonth: () => startOfMonth,
38
- visitorTimeZone: () => visitorTimeZone,
39
- weekdayLabels: () => weekdayLabels,
40
- ymd: () => ymd
41
- });
42
- module.exports = __toCommonJS(time_exports);
43
- function visitorTimeZone() {
44
- try {
45
- return Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
46
- } catch (e) {
47
- return "UTC";
48
- }
49
- }
50
- function ymd(d) {
51
- var y = d.getFullYear();
52
- var m = String(d.getMonth() + 1).padStart(2, "0");
53
- var day = String(d.getDate()).padStart(2, "0");
54
- return `${y}-${m}-${day}`;
55
- }
56
- function startOfMonth(d) {
57
- return new Date(d.getFullYear(), d.getMonth(), 1);
58
- }
59
- function addMonths(d, n) {
60
- return new Date(d.getFullYear(), d.getMonth() + n, 1);
61
- }
62
- function sameMonth(a, b) {
63
- return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth();
64
- }
65
- function isBeforeToday(key) {
66
- return key < ymd(/* @__PURE__ */new Date());
67
- }
68
- function monthMatrix(viewDate) {
69
- var weekStartsOn = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
70
- var year = viewDate.getFullYear();
71
- var month = viewDate.getMonth();
72
- var firstWeekday = new Date(year, month, 1).getDay();
73
- var startOffset = (firstWeekday - weekStartsOn + 7) % 7;
74
- var cells = [];
75
- for (var i = 0; i < 42; i++) {
76
- var date = new Date(year, month, 1 - startOffset + i);
77
- cells.push({
78
- date,
79
- key: ymd(date),
80
- inMonth: date.getMonth() === month
81
- });
82
- }
83
- return cells;
84
- }
85
- function monthRange(viewDate) {
86
- var year = viewDate.getFullYear();
87
- var month = viewDate.getMonth();
88
- var startOfView = new Date(year, month, 1, 0, 0, 0, 0);
89
- var now = /* @__PURE__ */new Date();
90
- var start = startOfView.getTime() > now.getTime() ? startOfView : now;
91
- var endOfView = new Date(year, month + 1, 0, 23, 59, 59, 999);
92
- return {
93
- startTime: start.toISOString(),
94
- endTime: endOfView.toISOString()
95
- };
96
- }
97
- function weekdayLabels() {
98
- var weekStartsOn = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
99
- var fmt = new Intl.DateTimeFormat(void 0, {
100
- weekday: "short"
101
- });
102
- var out = [];
103
- for (var i = 0; i < 7; i++) {
104
- var d = new Date(2023, 0, 1 + (i + weekStartsOn) % 7);
105
- out.push(fmt.format(d));
106
- }
107
- return out;
108
- }
109
- function formatMonthLabel(d) {
110
- return new Intl.DateTimeFormat(void 0, {
111
- month: "long",
112
- year: "numeric"
113
- }).format(d);
114
- }
115
- function formatDayLong(d) {
116
- return new Intl.DateTimeFormat(void 0, {
117
- weekday: "long",
118
- month: "long",
119
- day: "numeric"
120
- }).format(d);
121
- }
122
- function formatSlotTime(iso, timeZone) {
123
- return new Intl.DateTimeFormat(void 0, {
124
- hour: "numeric",
125
- minute: "2-digit",
126
- timeZone
127
- }).format(new Date(iso));
128
- }
129
- function formatBookingWhen(iso, timeZone) {
130
- var at = new Date(iso);
131
- var date = new Intl.DateTimeFormat(void 0, {
132
- weekday: "long",
133
- month: "long",
134
- day: "numeric",
135
- year: "numeric",
136
- timeZone
137
- }).format(at);
138
- var time = new Intl.DateTimeFormat(void 0, {
139
- hour: "numeric",
140
- minute: "2-digit",
141
- timeZoneName: "short",
142
- timeZone
143
- }).format(at);
144
- return `${date} at ${time}`;
145
- }
146
- function dateFromKey(key) {
147
- var [y, m, d] = key.split("-").map(Number);
148
- return new Date(y, (m !== null && m !== void 0 ? m : 1) - 1, d !== null && d !== void 0 ? d : 1, 12, 0, 0, 0);
149
- }
150
- //# sourceMappingURL=time.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","time_exports","__export","addMonths","dateFromKey","formatBookingWhen","formatDayLong","formatMonthLabel","formatSlotTime","isBeforeToday","monthMatrix","monthRange","sameMonth","startOfMonth","visitorTimeZone","weekdayLabels","ymd","module","exports","Intl","DateTimeFormat","resolvedOptions","timeZone","e","d","y","getFullYear","m","String","getMonth","padStart","day","getDate","Date","n","a","b","key","viewDate","weekStartsOn","arguments","length","year","month","firstWeekday","getDay","startOffset","cells","i","date","push","inMonth","startOfView","now","start","getTime","endOfView","startTime","toISOString","endTime","fmt","weekday","out","format","iso","hour","minute","at"],"sources":["../../src/time.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,151 +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 useBooker_exports = {};
24
- __export(useBooker_exports, {
25
- useBooker: () => useBooker
26
- });
27
- module.exports = __toCommonJS(useBooker_exports);
28
- var import_react = require("react");
29
- var import_client = require("./client.cjs");
30
- var import_hooks = require("./hooks.cjs");
31
- var import_time = require("./time.cjs");
32
- function useBooker(opts) {
33
- const api = opts.apiUrl ?? import_client.DEFAULT_API_URL;
34
- const timeZone = opts.timeZone ?? (0, import_time.visitorTimeZone)();
35
- const weekStartsOn = opts.weekStartsOn ?? 0;
36
- const event = (0, import_hooks.useEventType)(api, opts.eventSlug, opts.host);
37
- const [viewDate, setViewDate] = (0, import_react.useState)(() => (0, import_time.startOfMonth)(/* @__PURE__ */new Date()));
38
- const {
39
- startTime,
40
- endTime
41
- } = (0, import_react.useMemo)(() => (0, import_time.monthRange)(viewDate), [viewDate]);
42
- const slots = (0, import_hooks.useAvailableSlots)(api, {
43
- eventTypeSlug: opts.eventSlug,
44
- username: opts.host,
45
- startTime,
46
- endTime,
47
- timeZone,
48
- enabled: !!event.data
49
- });
50
- const [selectedDay, setSelectedDay] = (0, import_react.useState)(null);
51
- const [selectedSlot, setSelectedSlot] = (0, import_react.useState)(null);
52
- const [phase, setPhase] = (0, import_react.useState)("pick");
53
- const [booking, setBooking] = (0, import_react.useState)(null);
54
- const create = (0, import_hooks.useCreateBooking)(api);
55
- const availableKeys = (0, import_react.useMemo)(() => {
56
- const map = slots.data ?? {};
57
- return new Set(Object.keys(map).filter(k => (map[k]?.length ?? 0) > 0));
58
- }, [slots.data]);
59
- const daySlots = (0, import_react.useMemo)(() => {
60
- if (!selectedDay) return [];
61
- return slots.data?.[selectedDay] ?? [];
62
- }, [slots.data, selectedDay]);
63
- (0, import_react.useEffect)(() => {
64
- if (!opts.autoSelectFirst) return;
65
- if (selectedDay && availableKeys.has(selectedDay)) return;
66
- const first = [...availableKeys].sort()[0];
67
- if (first) {
68
- setSelectedDay(first);
69
- setSelectedSlot(null);
70
- }
71
- }, [opts.autoSelectFirst, availableKeys, selectedDay]);
72
- const now = (0, import_time.startOfMonth)(/* @__PURE__ */new Date());
73
- const atFirstMonth = viewDate.getFullYear() === now.getFullYear() && viewDate.getMonth() === now.getMonth();
74
- const goPrevMonth = () => {
75
- if (atFirstMonth) return;
76
- setViewDate(d => (0, import_time.addMonths)(d, -1));
77
- setSelectedDay(null);
78
- setSelectedSlot(null);
79
- };
80
- const goNextMonth = () => {
81
- setViewDate(d => (0, import_time.addMonths)(d, 1));
82
- setSelectedDay(null);
83
- setSelectedSlot(null);
84
- };
85
- const selectDay = key => {
86
- setSelectedDay(key);
87
- setSelectedSlot(null);
88
- };
89
- const selectSlot = iso => {
90
- setSelectedSlot(iso);
91
- setPhase("form");
92
- create.reset();
93
- };
94
- const back = () => {
95
- setPhase("pick");
96
- setSelectedSlot(null);
97
- create.reset();
98
- };
99
- const reset = () => {
100
- setBooking(null);
101
- setSelectedSlot(null);
102
- setSelectedDay(null);
103
- setPhase("pick");
104
- create.reset();
105
- slots.refetch();
106
- };
107
- const submit = async responses => {
108
- if (!selectedSlot) return;
109
- const result = await create.submit({
110
- eventTypeSlug: opts.eventSlug,
111
- username: opts.host,
112
- start: selectedSlot,
113
- timeZone,
114
- responses
115
- });
116
- if (result.ok) {
117
- setBooking(result.booking);
118
- setPhase("done");
119
- opts.onBooked?.(result.booking);
120
- } else if (result.conflict) {
121
- slots.refetch();
122
- setSelectedSlot(null);
123
- setPhase("pick");
124
- }
125
- };
126
- return {
127
- api,
128
- timeZone,
129
- weekStartsOn,
130
- event,
131
- slots,
132
- viewDate,
133
- availableKeys,
134
- selectedDay,
135
- daySlots,
136
- selectedSlot,
137
- phase,
138
- booking,
139
- submitting: create.submitting,
140
- error: create.error,
141
- conflict: create.conflict,
142
- goPrevMonth,
143
- goNextMonth,
144
- atFirstMonth,
145
- selectDay,
146
- selectSlot,
147
- submit,
148
- back,
149
- reset
150
- };
151
- }
@@ -1,173 +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 useBooker_exports = {};
26
- __export(useBooker_exports, {
27
- useBooker: () => useBooker
28
- });
29
- module.exports = __toCommonJS(useBooker_exports);
30
- var import_react = require("react");
31
- var import_client = require("./client.native.js");
32
- var import_hooks = require("./hooks.native.js");
33
- var import_time = require("./time.native.js");
34
- function useBooker(opts) {
35
- var _opts_apiUrl;
36
- var api = (_opts_apiUrl = opts.apiUrl) !== null && _opts_apiUrl !== void 0 ? _opts_apiUrl : import_client.DEFAULT_API_URL;
37
- var _opts_timeZone;
38
- var timeZone = (_opts_timeZone = opts.timeZone) !== null && _opts_timeZone !== void 0 ? _opts_timeZone : (0, import_time.visitorTimeZone)();
39
- var _opts_weekStartsOn;
40
- var weekStartsOn = (_opts_weekStartsOn = opts.weekStartsOn) !== null && _opts_weekStartsOn !== void 0 ? _opts_weekStartsOn : 0;
41
- var event = (0, import_hooks.useEventType)(api, opts.eventSlug, opts.host);
42
- var [viewDate, setViewDate] = (0, import_react.useState)(function () {
43
- return (0, import_time.startOfMonth)(/* @__PURE__ */new Date());
44
- });
45
- var {
46
- startTime,
47
- endTime
48
- } = (0, import_react.useMemo)(function () {
49
- return (0, import_time.monthRange)(viewDate);
50
- }, [viewDate]);
51
- var slots = (0, import_hooks.useAvailableSlots)(api, {
52
- eventTypeSlug: opts.eventSlug,
53
- username: opts.host,
54
- startTime,
55
- endTime,
56
- timeZone,
57
- enabled: !!event.data
58
- });
59
- var [selectedDay, setSelectedDay] = (0, import_react.useState)(null);
60
- var [selectedSlot, setSelectedSlot] = (0, import_react.useState)(null);
61
- var [phase, setPhase] = (0, import_react.useState)("pick");
62
- var [booking, setBooking] = (0, import_react.useState)(null);
63
- var create = (0, import_hooks.useCreateBooking)(api);
64
- var availableKeys = (0, import_react.useMemo)(function () {
65
- var _slots_data;
66
- var map = (_slots_data = slots.data) !== null && _slots_data !== void 0 ? _slots_data : {};
67
- return new Set(Object.keys(map).filter(function (k) {
68
- var _map_k;
69
- var _map_k_length;
70
- 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;
71
- }));
72
- }, [slots.data]);
73
- var daySlots = (0, import_react.useMemo)(function () {
74
- var _slots_data;
75
- if (!selectedDay) return [];
76
- var _slots_data_selectedDay;
77
- 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 : [];
78
- }, [slots.data, selectedDay]);
79
- (0, import_react.useEffect)(function () {
80
- if (!opts.autoSelectFirst) return;
81
- if (selectedDay && availableKeys.has(selectedDay)) return;
82
- var first = [...availableKeys].sort()[0];
83
- if (first) {
84
- setSelectedDay(first);
85
- setSelectedSlot(null);
86
- }
87
- }, [opts.autoSelectFirst, availableKeys, selectedDay]);
88
- var now = (0, import_time.startOfMonth)(/* @__PURE__ */new Date());
89
- var atFirstMonth = viewDate.getFullYear() === now.getFullYear() && viewDate.getMonth() === now.getMonth();
90
- var goPrevMonth = function () {
91
- if (atFirstMonth) return;
92
- setViewDate(function (d) {
93
- return (0, import_time.addMonths)(d, -1);
94
- });
95
- setSelectedDay(null);
96
- setSelectedSlot(null);
97
- };
98
- var goNextMonth = function () {
99
- setViewDate(function (d) {
100
- return (0, import_time.addMonths)(d, 1);
101
- });
102
- setSelectedDay(null);
103
- setSelectedSlot(null);
104
- };
105
- var selectDay = function (key) {
106
- setSelectedDay(key);
107
- setSelectedSlot(null);
108
- };
109
- var selectSlot = function (iso) {
110
- setSelectedSlot(iso);
111
- setPhase("form");
112
- create.reset();
113
- };
114
- var back = function () {
115
- setPhase("pick");
116
- setSelectedSlot(null);
117
- create.reset();
118
- };
119
- var reset = function () {
120
- setBooking(null);
121
- setSelectedSlot(null);
122
- setSelectedDay(null);
123
- setPhase("pick");
124
- create.reset();
125
- slots.refetch();
126
- };
127
- var submit = async function (responses) {
128
- if (!selectedSlot) return;
129
- var result = await create.submit({
130
- eventTypeSlug: opts.eventSlug,
131
- username: opts.host,
132
- start: selectedSlot,
133
- timeZone,
134
- responses
135
- });
136
- if (result.ok) {
137
- var _opts_onBooked;
138
- setBooking(result.booking);
139
- setPhase("done");
140
- (_opts_onBooked = opts.onBooked) === null || _opts_onBooked === void 0 ? void 0 : _opts_onBooked.call(opts, result.booking);
141
- } else if (result.conflict) {
142
- slots.refetch();
143
- setSelectedSlot(null);
144
- setPhase("pick");
145
- }
146
- };
147
- return {
148
- api,
149
- timeZone,
150
- weekStartsOn,
151
- event,
152
- slots,
153
- viewDate,
154
- availableKeys,
155
- selectedDay,
156
- daySlots,
157
- selectedSlot,
158
- phase,
159
- booking,
160
- submitting: create.submitting,
161
- error: create.error,
162
- conflict: create.conflict,
163
- goPrevMonth,
164
- goNextMonth,
165
- atFirstMonth,
166
- selectDay,
167
- selectSlot,
168
- submit,
169
- back,
170
- reset
171
- };
172
- }
173
- //# sourceMappingURL=useBooker.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useBooker_exports","__export","useBooker","module","exports","import_react","require","import_client","import_hooks","import_time","opts","_opts_apiUrl","api","apiUrl","DEFAULT_API_URL","_opts_timeZone","timeZone","visitorTimeZone","_opts_weekStartsOn","weekStartsOn","event","useEventType","eventSlug","host","viewDate","setViewDate","useState","startOfMonth","Date","startTime","endTime","useMemo","monthRange","slots","useAvailableSlots","eventTypeSlug","username","enabled","data","selectedDay","setSelectedDay","selectedSlot","setSelectedSlot","phase","setPhase","booking","setBooking","create","useCreateBooking","availableKeys","_slots_data","map","Set","Object","keys","filter","k","_map_k","_map_k_length","length","daySlots","_slots_data_selectedDay","useEffect","autoSelectFirst","has","first","sort","now","atFirstMonth","getFullYear","getMonth","goPrevMonth","d","addMonths","goNextMonth","selectDay","key","selectSlot","iso","reset","back","refetch","submit","responses","result","start","ok","_opts_onBooked"],"sources":["../../src/useBooker.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}