@queuezero/react 0.1.6 → 0.1.7
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/index.js +72 -27
- package/dist/index.mjs +72 -27
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -233,34 +233,79 @@ function WaitlistForm({
|
|
|
233
233
|
"aria-label": !showLabel ? labelText : void 0
|
|
234
234
|
}
|
|
235
235
|
) }),
|
|
236
|
-
!configLoading && config?.formFields?.map((field) =>
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
236
|
+
!configLoading && config?.formFields?.map((field) => {
|
|
237
|
+
if (field.key === "email") return null;
|
|
238
|
+
const renderFieldInput = () => {
|
|
239
|
+
switch (field.type) {
|
|
240
|
+
case "select":
|
|
241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
|
|
242
|
+
"select",
|
|
243
|
+
{
|
|
244
|
+
value: formData[field.key] || "",
|
|
245
|
+
onChange: (e) => setFormData((prev) => ({ ...prev, [field.key]: e.target.value })),
|
|
246
|
+
disabled: loading,
|
|
247
|
+
required: field.required,
|
|
248
|
+
className: "qz-form-select",
|
|
249
|
+
children: [
|
|
250
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("option", { value: "", children: field.placeholder || `Select ${field.label}` }),
|
|
251
|
+
field.options?.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("option", { value: opt, children: opt }, opt))
|
|
252
|
+
]
|
|
253
|
+
}
|
|
254
|
+
);
|
|
255
|
+
case "checkbox":
|
|
256
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("label", { className: "qz-form-checkbox-label", children: [
|
|
257
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
258
|
+
"input",
|
|
259
|
+
{
|
|
260
|
+
type: "checkbox",
|
|
261
|
+
checked: formData[field.key] === "true",
|
|
262
|
+
onChange: (e) => setFormData((prev) => ({ ...prev, [field.key]: e.target.checked ? "true" : "" })),
|
|
263
|
+
disabled: loading,
|
|
264
|
+
required: field.required,
|
|
265
|
+
className: "qz-form-checkbox"
|
|
266
|
+
}
|
|
267
|
+
),
|
|
268
|
+
/* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { children: [
|
|
269
|
+
field.label,
|
|
270
|
+
field.required && " *"
|
|
271
|
+
] })
|
|
272
|
+
] });
|
|
273
|
+
case "textarea":
|
|
274
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
275
|
+
"textarea",
|
|
276
|
+
{
|
|
277
|
+
value: formData[field.key] || "",
|
|
278
|
+
onChange: (e) => setFormData((prev) => ({ ...prev, [field.key]: e.target.value })),
|
|
279
|
+
placeholder: field.placeholder || field.label,
|
|
280
|
+
disabled: loading,
|
|
281
|
+
required: field.required,
|
|
282
|
+
className: "qz-form-textarea",
|
|
283
|
+
rows: 3
|
|
284
|
+
}
|
|
285
|
+
);
|
|
286
|
+
default:
|
|
287
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
|
|
288
|
+
"input",
|
|
289
|
+
{
|
|
290
|
+
type: field.type === "number" ? "number" : "text",
|
|
291
|
+
value: formData[field.key] || "",
|
|
292
|
+
onChange: (e) => setFormData((prev) => ({ ...prev, [field.key]: e.target.value })),
|
|
293
|
+
placeholder: field.placeholder || field.label,
|
|
294
|
+
disabled: loading,
|
|
295
|
+
required: field.required,
|
|
296
|
+
className: "qz-form-input"
|
|
297
|
+
}
|
|
298
|
+
);
|
|
261
299
|
}
|
|
262
|
-
|
|
263
|
-
|
|
300
|
+
};
|
|
301
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("div", { className: "qz-form-row", children: [
|
|
302
|
+
showLabel && field.type !== "checkbox" && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("label", { className: "qz-form-label", children: [
|
|
303
|
+
field.label,
|
|
304
|
+
field.required && " *"
|
|
305
|
+
] }),
|
|
306
|
+
renderFieldInput()
|
|
307
|
+
] }, field.key);
|
|
308
|
+
}),
|
|
264
309
|
/* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "qz-form-row", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("button", { type: "submit", disabled: loading, className: "qz-form-button", children: loading ? loadingText : buttonText }) }),
|
|
265
310
|
displayError && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "qz-form-error", role: "alert", children: displayError.message }),
|
|
266
311
|
children
|
package/dist/index.mjs
CHANGED
|
@@ -199,34 +199,79 @@ function WaitlistForm({
|
|
|
199
199
|
"aria-label": !showLabel ? labelText : void 0
|
|
200
200
|
}
|
|
201
201
|
) }),
|
|
202
|
-
!configLoading && config?.formFields?.map((field) =>
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
202
|
+
!configLoading && config?.formFields?.map((field) => {
|
|
203
|
+
if (field.key === "email") return null;
|
|
204
|
+
const renderFieldInput = () => {
|
|
205
|
+
switch (field.type) {
|
|
206
|
+
case "select":
|
|
207
|
+
return /* @__PURE__ */ jsxs(
|
|
208
|
+
"select",
|
|
209
|
+
{
|
|
210
|
+
value: formData[field.key] || "",
|
|
211
|
+
onChange: (e) => setFormData((prev) => ({ ...prev, [field.key]: e.target.value })),
|
|
212
|
+
disabled: loading,
|
|
213
|
+
required: field.required,
|
|
214
|
+
className: "qz-form-select",
|
|
215
|
+
children: [
|
|
216
|
+
/* @__PURE__ */ jsx2("option", { value: "", children: field.placeholder || `Select ${field.label}` }),
|
|
217
|
+
field.options?.map((opt) => /* @__PURE__ */ jsx2("option", { value: opt, children: opt }, opt))
|
|
218
|
+
]
|
|
219
|
+
}
|
|
220
|
+
);
|
|
221
|
+
case "checkbox":
|
|
222
|
+
return /* @__PURE__ */ jsxs("label", { className: "qz-form-checkbox-label", children: [
|
|
223
|
+
/* @__PURE__ */ jsx2(
|
|
224
|
+
"input",
|
|
225
|
+
{
|
|
226
|
+
type: "checkbox",
|
|
227
|
+
checked: formData[field.key] === "true",
|
|
228
|
+
onChange: (e) => setFormData((prev) => ({ ...prev, [field.key]: e.target.checked ? "true" : "" })),
|
|
229
|
+
disabled: loading,
|
|
230
|
+
required: field.required,
|
|
231
|
+
className: "qz-form-checkbox"
|
|
232
|
+
}
|
|
233
|
+
),
|
|
234
|
+
/* @__PURE__ */ jsxs("span", { children: [
|
|
235
|
+
field.label,
|
|
236
|
+
field.required && " *"
|
|
237
|
+
] })
|
|
238
|
+
] });
|
|
239
|
+
case "textarea":
|
|
240
|
+
return /* @__PURE__ */ jsx2(
|
|
241
|
+
"textarea",
|
|
242
|
+
{
|
|
243
|
+
value: formData[field.key] || "",
|
|
244
|
+
onChange: (e) => setFormData((prev) => ({ ...prev, [field.key]: e.target.value })),
|
|
245
|
+
placeholder: field.placeholder || field.label,
|
|
246
|
+
disabled: loading,
|
|
247
|
+
required: field.required,
|
|
248
|
+
className: "qz-form-textarea",
|
|
249
|
+
rows: 3
|
|
250
|
+
}
|
|
251
|
+
);
|
|
252
|
+
default:
|
|
253
|
+
return /* @__PURE__ */ jsx2(
|
|
254
|
+
"input",
|
|
255
|
+
{
|
|
256
|
+
type: field.type === "number" ? "number" : "text",
|
|
257
|
+
value: formData[field.key] || "",
|
|
258
|
+
onChange: (e) => setFormData((prev) => ({ ...prev, [field.key]: e.target.value })),
|
|
259
|
+
placeholder: field.placeholder || field.label,
|
|
260
|
+
disabled: loading,
|
|
261
|
+
required: field.required,
|
|
262
|
+
className: "qz-form-input"
|
|
263
|
+
}
|
|
264
|
+
);
|
|
227
265
|
}
|
|
228
|
-
|
|
229
|
-
|
|
266
|
+
};
|
|
267
|
+
return /* @__PURE__ */ jsxs("div", { className: "qz-form-row", children: [
|
|
268
|
+
showLabel && field.type !== "checkbox" && /* @__PURE__ */ jsxs("label", { className: "qz-form-label", children: [
|
|
269
|
+
field.label,
|
|
270
|
+
field.required && " *"
|
|
271
|
+
] }),
|
|
272
|
+
renderFieldInput()
|
|
273
|
+
] }, field.key);
|
|
274
|
+
}),
|
|
230
275
|
/* @__PURE__ */ jsx2("div", { className: "qz-form-row", children: /* @__PURE__ */ jsx2("button", { type: "submit", disabled: loading, className: "qz-form-button", children: loading ? loadingText : buttonText }) }),
|
|
231
276
|
displayError && /* @__PURE__ */ jsx2("div", { className: "qz-form-error", role: "alert", children: displayError.message }),
|
|
232
277
|
children
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@queuezero/react",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "React components and hooks for QueueZero viral waitlists",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"react": ">=17.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"queuezero": "^0.1.
|
|
38
|
+
"queuezero": "^0.1.5"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "^22.13.11",
|