@asksable/site-connector 0.1.5 → 0.2.0
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.
- package/dist/booking-widget.d.ts +75 -1
- package/dist/booking-widget.d.ts.map +1 -1
- package/dist/booking-widget.js +987 -130
- package/dist/booking-widget.js.map +1 -1
- package/dist/client.d.ts +3 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +56 -1
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/provider.d.ts +2 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/styles.css +1673 -91
- package/dist/types.d.ts +94 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -1
package/dist/types.d.ts
CHANGED
|
@@ -63,15 +63,97 @@ export type PublicBookingSetup = {
|
|
|
63
63
|
durationMinutes: number;
|
|
64
64
|
priceCents: number;
|
|
65
65
|
currency: string;
|
|
66
|
+
paymentMode?: 'tenant-default' | 'none' | 'full' | 'deposit';
|
|
67
|
+
depositCents?: number;
|
|
68
|
+
requiresPayment?: boolean;
|
|
69
|
+
publicBookingMode?: 'scheduled' | 'async';
|
|
70
|
+
pricingMode?: 'fixed' | 'calculated';
|
|
71
|
+
pricingConfig?: Record<string, unknown>;
|
|
72
|
+
intakeForm?: PublicIntakeForm;
|
|
73
|
+
publicCopy?: Record<string, unknown>;
|
|
66
74
|
deliveryMethods: Array<'in-person' | 'video' | 'phone'>;
|
|
67
75
|
assignedStaffIds: string[];
|
|
76
|
+
/** Optional category linkage (matches the host's Services
|
|
77
|
+
* management grouping). Undefined when the service hasn't been
|
|
78
|
+
* filed under a category. */
|
|
79
|
+
categoryId?: string;
|
|
80
|
+
/** Optional service thumbnail (Fresha/Square pattern). Resolved
|
|
81
|
+
* on the server to a plain URL — the widget renders it as a
|
|
82
|
+
* rounded square on the left of the row, replacing the checkbox
|
|
83
|
+
* slot. `null` when the service has no image, in which case the
|
|
84
|
+
* widget falls back to the checkbox affordance. */
|
|
85
|
+
image?: {
|
|
86
|
+
url: string;
|
|
87
|
+
alt?: string;
|
|
88
|
+
} | null;
|
|
68
89
|
}>;
|
|
69
90
|
staff: Array<{
|
|
70
91
|
_id: string;
|
|
71
92
|
name: string;
|
|
72
93
|
email: string;
|
|
73
94
|
timezone: string;
|
|
95
|
+
/** Resolved staff avatar (from staffMembers.photo). Null when
|
|
96
|
+
* the staff member has no avatar set; the widget falls back
|
|
97
|
+
* to initials. */
|
|
98
|
+
image?: {
|
|
99
|
+
url: string;
|
|
100
|
+
alt?: string;
|
|
101
|
+
} | null;
|
|
102
|
+
}>;
|
|
103
|
+
/** All categories that contain at least one active service.
|
|
104
|
+
* Sorted by `sortOrder` so widgets can render groups in the same
|
|
105
|
+
* order the host configured. Empty when no categories exist on
|
|
106
|
+
* the workspace yet — widgets must fall back to a flat list in
|
|
107
|
+
* that case. */
|
|
108
|
+
categories: Array<{
|
|
109
|
+
_id: string;
|
|
110
|
+
name: string;
|
|
111
|
+
sortOrder: number;
|
|
112
|
+
}>;
|
|
113
|
+
/** Workspace's primary timezone (set on the businessProfile). Used
|
|
114
|
+
* as the default timezone label in the widget chrome before a slot
|
|
115
|
+
* or staff is selected. `null` when the workspace hasn't set one;
|
|
116
|
+
* callers should fall back to `staff[0]?.timezone` then a hard
|
|
117
|
+
* fallback like browser tz before showing UTC. */
|
|
118
|
+
workspaceTimezone: string | null;
|
|
119
|
+
};
|
|
120
|
+
export type PublicIntakeForm = {
|
|
121
|
+
sections: Array<{
|
|
122
|
+
id: string;
|
|
123
|
+
title?: string;
|
|
124
|
+
titleEs?: string;
|
|
125
|
+
titleEn?: string;
|
|
126
|
+
fields: PublicIntakeField[];
|
|
127
|
+
showWhenPath?: 'scheduled' | 'async';
|
|
128
|
+
}>;
|
|
129
|
+
};
|
|
130
|
+
export type PublicIntakeField = {
|
|
131
|
+
id: string;
|
|
132
|
+
label?: string;
|
|
133
|
+
labelEs?: string;
|
|
134
|
+
labelEn?: string;
|
|
135
|
+
type: 'text' | 'email' | 'phone' | 'number' | 'select' | 'textarea' | 'checkbox' | 'repeatable-group';
|
|
136
|
+
required?: boolean;
|
|
137
|
+
placeholder?: string;
|
|
138
|
+
helpText?: string;
|
|
139
|
+
options?: Array<{
|
|
140
|
+
value: string;
|
|
141
|
+
label: string;
|
|
142
|
+
labelEs?: string;
|
|
143
|
+
labelEn?: string;
|
|
74
144
|
}>;
|
|
145
|
+
min?: number;
|
|
146
|
+
max?: number;
|
|
147
|
+
fields?: PublicIntakeField[];
|
|
148
|
+
};
|
|
149
|
+
export type PublicBookingQuote = {
|
|
150
|
+
currency: string;
|
|
151
|
+
subtotalCents: number;
|
|
152
|
+
discountCents: number;
|
|
153
|
+
insuranceCents: number;
|
|
154
|
+
additionalFeesCents: number;
|
|
155
|
+
totalCents: number;
|
|
156
|
+
rateSnapshot: Record<string, unknown>;
|
|
75
157
|
};
|
|
76
158
|
export type PublicBookingSlots = {
|
|
77
159
|
dates: Array<{
|
|
@@ -96,6 +178,18 @@ export type ContactSubmissionResult = {
|
|
|
96
178
|
};
|
|
97
179
|
export type PublicBookingCreateResult = {
|
|
98
180
|
appointmentId: string;
|
|
181
|
+
clientId?: string;
|
|
182
|
+
clientNoteId?: string;
|
|
183
|
+
requiresPayment?: boolean;
|
|
184
|
+
quote?: PublicBookingQuote;
|
|
185
|
+
payment?: {
|
|
186
|
+
clientSecret: string;
|
|
187
|
+
publishableKey: string;
|
|
188
|
+
connectAccountId: string;
|
|
189
|
+
amountCents: number;
|
|
190
|
+
currency: string;
|
|
191
|
+
paymentIntentId: string;
|
|
192
|
+
};
|
|
99
193
|
};
|
|
100
194
|
export type ResolvedSiteProfile = {
|
|
101
195
|
businessName: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,YAAY,EAAE,MAAM,CAAA;QACpB,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAA;QAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;QACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;QAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,WAAW,EAAE;YACX,SAAS,CAAC,EAAE,MAAM,CAAA;YAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,wBAAwB,CAAC,EAAE,MAAM,CAAA;YACjC,MAAM,CAAC,EAAE,MAAM,CAAA;YACf,OAAO,CAAC,EAAE,MAAM,CAAA;SACjB,GAAG,IAAI,CAAA;QACR,aAAa,EAAE,KAAK,CAAC;YACnB,GAAG,EAAE,MAAM,CAAA;YACX,MAAM,EAAE,OAAO,CAAA;YACf,QAAQ,CAAC,EAAE,MAAM,CAAA;YACjB,SAAS,CAAC,EAAE,MAAM,CAAA;SACnB,CAAC,CAAA;QACF,cAAc,EAAE,OAAO,CAAA;QACvB,eAAe,EAAE;YACf,oBAAoB,EAAE,OAAO,CAAA;YAC7B,2BAA2B,EAAE,MAAM,CAAA;YACnC,4BAA4B,EAAE,MAAM,CAAA;YACpC,mBAAmB,EAAE,OAAO,CAAA;YAC5B,qBAAqB,EAAE,OAAO,CAAA;YAC9B,sBAAsB,CAAC,EAAE,MAAM,CAAA;SAChC,GAAG,IAAI,CAAA;KACT,CAAA;CACF,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,YAAY,EAAE,MAAM,CAAA;KACrB,CAAA;IACD,QAAQ,EAAE,KAAK,CAAC;QACd,GAAG,EAAE,MAAM,CAAA;QACX,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,eAAe,EAAE,MAAM,CAAA;QACvB,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,eAAe,EAAE,KAAK,CAAC,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC,CAAA;QACvD,gBAAgB,EAAE,MAAM,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@asksable/site-connector",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": [
|
|
@@ -34,5 +34,9 @@
|
|
|
34
34
|
"peerDependencies": {
|
|
35
35
|
"react": "^19.0.0",
|
|
36
36
|
"react-dom": "^19.0.0"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@stripe/react-stripe-js": "^5.4.0",
|
|
40
|
+
"@stripe/stripe-js": "^8.5.2"
|
|
37
41
|
}
|
|
38
42
|
}
|