pixelize-design-library 2.2.41 → 2.2.42
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.
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
export type FeedbackPayload = {
|
|
3
|
+
type: "comments" | "suggestions" | "questions";
|
|
4
|
+
message: string;
|
|
5
|
+
firstName: string;
|
|
6
|
+
lastName: string;
|
|
7
|
+
email: string;
|
|
8
|
+
};
|
|
9
|
+
export type FeedbackFormProps = {
|
|
10
|
+
onSubmit?: (payload: FeedbackPayload) => Promise<void> | void;
|
|
11
|
+
submitUrl?: string;
|
|
12
|
+
isSubmittingText?: string;
|
|
13
|
+
submitText?: string;
|
|
14
|
+
defaultValues?: Partial<FeedbackPayload>;
|
|
15
|
+
isDisabled?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export default function FeedbackForm(props: FeedbackFormProps): React.JSX.Element;
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
35
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
36
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
37
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
38
|
+
function step(op) {
|
|
39
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
40
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
41
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
42
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
43
|
+
switch (op[0]) {
|
|
44
|
+
case 0: case 1: t = op; break;
|
|
45
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
46
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
47
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
48
|
+
default:
|
|
49
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
50
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
51
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
52
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
53
|
+
if (t[2]) _.ops.pop();
|
|
54
|
+
_.trys.pop(); continue;
|
|
55
|
+
}
|
|
56
|
+
op = body.call(thisArg, _);
|
|
57
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
58
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
62
|
+
var react_1 = __importStar(require("react"));
|
|
63
|
+
var react_2 = require("@chakra-ui/react");
|
|
64
|
+
var emailRegex = /^(?:[a-zA-Z0-9_'^&\/+{}=?`|~!-]+(?:\.[a-zA-Z0-9_'^&\/+{}=?`|~!-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z-]*[a-zA-Z]:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]+)\])$/;
|
|
65
|
+
function FeedbackForm(props) {
|
|
66
|
+
var _this = this;
|
|
67
|
+
var _a, _b, _c, _d, _e;
|
|
68
|
+
var onSubmit = props.onSubmit, submitUrl = props.submitUrl, isDisabled = props.isDisabled, defaultValues = props.defaultValues, _f = props.submitText, submitText = _f === void 0 ? "Submit" : _f, _g = props.isSubmittingText, isSubmittingText = _g === void 0 ? "Submitting..." : _g;
|
|
69
|
+
var toast = (0, react_2.useToast)();
|
|
70
|
+
var _h = (0, react_1.useState)(false), isSubmitting = _h[0], setIsSubmitting = _h[1];
|
|
71
|
+
var _j = (0, react_1.useState)((_a = defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.type) !== null && _a !== void 0 ? _a : "comments"), type = _j[0], setType = _j[1];
|
|
72
|
+
var _k = (0, react_1.useState)((_b = defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.message) !== null && _b !== void 0 ? _b : ""), message = _k[0], setMessage = _k[1];
|
|
73
|
+
var _l = (0, react_1.useState)((_c = defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.firstName) !== null && _c !== void 0 ? _c : ""), firstName = _l[0], setFirstName = _l[1];
|
|
74
|
+
var _m = (0, react_1.useState)((_d = defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.lastName) !== null && _d !== void 0 ? _d : ""), lastName = _m[0], setLastName = _m[1];
|
|
75
|
+
var _o = (0, react_1.useState)((_e = defaultValues === null || defaultValues === void 0 ? void 0 : defaultValues.email) !== null && _e !== void 0 ? _e : ""), email = _o[0], setEmail = _o[1];
|
|
76
|
+
var errors = (0, react_1.useMemo)(function () {
|
|
77
|
+
return {
|
|
78
|
+
message: message.trim().length === 0 ? "Please describe your feedback" : "",
|
|
79
|
+
firstName: firstName.trim().length === 0 ? "First name is required" : "",
|
|
80
|
+
lastName: lastName.trim().length === 0 ? "Last name is required" : "",
|
|
81
|
+
email: email.trim().length === 0 ? "Email is required" : !emailRegex.test(email) ? "Enter a valid email" : "",
|
|
82
|
+
};
|
|
83
|
+
}, [message, firstName, lastName, email]);
|
|
84
|
+
var hasErrors = Object.values(errors).some(Boolean);
|
|
85
|
+
var handleSubmit = function (e) { return __awaiter(_this, void 0, void 0, function () {
|
|
86
|
+
var payload, res, err_1;
|
|
87
|
+
return __generator(this, function (_a) {
|
|
88
|
+
switch (_a.label) {
|
|
89
|
+
case 0:
|
|
90
|
+
e.preventDefault();
|
|
91
|
+
if (hasErrors) {
|
|
92
|
+
toast({ status: "error", title: "Please fix the errors in the form" });
|
|
93
|
+
return [2 /*return*/];
|
|
94
|
+
}
|
|
95
|
+
payload = { type: type, message: message.trim(), firstName: firstName.trim(), lastName: lastName.trim(), email: email.trim() };
|
|
96
|
+
_a.label = 1;
|
|
97
|
+
case 1:
|
|
98
|
+
_a.trys.push([1, 6, 7, 8]);
|
|
99
|
+
setIsSubmitting(true);
|
|
100
|
+
if (!onSubmit) return [3 /*break*/, 3];
|
|
101
|
+
return [4 /*yield*/, onSubmit(payload)];
|
|
102
|
+
case 2:
|
|
103
|
+
_a.sent();
|
|
104
|
+
return [3 /*break*/, 5];
|
|
105
|
+
case 3:
|
|
106
|
+
if (!submitUrl) return [3 /*break*/, 5];
|
|
107
|
+
return [4 /*yield*/, fetch(submitUrl, {
|
|
108
|
+
method: "POST",
|
|
109
|
+
headers: { "Content-Type": "application/json" },
|
|
110
|
+
body: JSON.stringify(payload),
|
|
111
|
+
})];
|
|
112
|
+
case 4:
|
|
113
|
+
res = _a.sent();
|
|
114
|
+
if (!res.ok)
|
|
115
|
+
throw new Error("Request failed: ".concat(res.status));
|
|
116
|
+
_a.label = 5;
|
|
117
|
+
case 5:
|
|
118
|
+
toast({ status: "success", title: "Thank you for your feedback" });
|
|
119
|
+
setMessage("");
|
|
120
|
+
setFirstName("");
|
|
121
|
+
setLastName("");
|
|
122
|
+
setEmail("");
|
|
123
|
+
setType("comments");
|
|
124
|
+
return [3 /*break*/, 8];
|
|
125
|
+
case 6:
|
|
126
|
+
err_1 = _a.sent();
|
|
127
|
+
toast({ status: "error", title: "Could not submit feedback", description: err_1 === null || err_1 === void 0 ? void 0 : err_1.message });
|
|
128
|
+
return [3 /*break*/, 8];
|
|
129
|
+
case 7:
|
|
130
|
+
setIsSubmitting(false);
|
|
131
|
+
return [7 /*endfinally*/];
|
|
132
|
+
case 8: return [2 /*return*/];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}); };
|
|
136
|
+
return (react_1.default.createElement(react_2.Box, { as: "form", onSubmit: handleSubmit, width: "100%" },
|
|
137
|
+
react_1.default.createElement(react_2.FormControl, { as: react_2.Box, mb: 6, isDisabled: isDisabled },
|
|
138
|
+
react_1.default.createElement(react_2.FormLabel, null, "Feedback Type"),
|
|
139
|
+
react_1.default.createElement(react_2.RadioGroup, { value: type, onChange: function (v) { return setType(v); } },
|
|
140
|
+
react_1.default.createElement(react_2.Stack, { direction: "row", spacing: 8 },
|
|
141
|
+
react_1.default.createElement(react_2.Radio, { value: "comments" }, "Comments"),
|
|
142
|
+
react_1.default.createElement(react_2.Radio, { value: "suggestions" }, "Suggestions"),
|
|
143
|
+
react_1.default.createElement(react_2.Radio, { value: "questions" }, "Questions")))),
|
|
144
|
+
react_1.default.createElement(react_2.FormControl, { mb: 6, isInvalid: !!errors.message, isRequired: true, isDisabled: isDisabled },
|
|
145
|
+
react_1.default.createElement(react_2.FormLabel, null, "Describe Your Feedback"),
|
|
146
|
+
react_1.default.createElement(react_2.Textarea, { value: message, onChange: function (e) { return setMessage(e.target.value); }, rows: 6, placeholder: "Tell us more..." }),
|
|
147
|
+
react_1.default.createElement(react_2.FormErrorMessage, null, errors.message)),
|
|
148
|
+
react_1.default.createElement(react_2.Grid, { templateColumns: { base: "1fr", md: "1fr 1fr" }, gap: 4, mb: 6 },
|
|
149
|
+
react_1.default.createElement(react_2.FormControl, { isInvalid: !!errors.firstName, isRequired: true, isDisabled: isDisabled },
|
|
150
|
+
react_1.default.createElement(react_2.FormLabel, null, "First Name"),
|
|
151
|
+
react_1.default.createElement(react_2.Input, { value: firstName, onChange: function (e) { return setFirstName(e.target.value); }, placeholder: "First name" }),
|
|
152
|
+
react_1.default.createElement(react_2.FormErrorMessage, null, errors.firstName)),
|
|
153
|
+
react_1.default.createElement(react_2.FormControl, { isInvalid: !!errors.lastName, isRequired: true, isDisabled: isDisabled },
|
|
154
|
+
react_1.default.createElement(react_2.FormLabel, null, "Last Name"),
|
|
155
|
+
react_1.default.createElement(react_2.Input, { value: lastName, onChange: function (e) { return setLastName(e.target.value); }, placeholder: "Last name" }),
|
|
156
|
+
react_1.default.createElement(react_2.FormErrorMessage, null, errors.lastName))),
|
|
157
|
+
react_1.default.createElement(react_2.FormControl, { mb: 6, isInvalid: !!errors.email, isRequired: true, isDisabled: isDisabled },
|
|
158
|
+
react_1.default.createElement(react_2.FormLabel, null, "E-mail"),
|
|
159
|
+
react_1.default.createElement(react_2.Input, { type: "email", value: email, onChange: function (e) { return setEmail(e.target.value); }, placeholder: "ex: myname@example.com" }),
|
|
160
|
+
react_1.default.createElement(react_2.FormErrorMessage, null, errors.email)),
|
|
161
|
+
react_1.default.createElement(react_2.Button, { type: "submit", colorScheme: "primary", isLoading: isSubmitting, loadingText: isSubmittingText, isDisabled: isDisabled }, submitText)));
|
|
162
|
+
}
|
|
163
|
+
exports.default = FeedbackForm;
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,7 @@ import DatePicker from "./Components/DatePicker/DatePicker";
|
|
|
13
13
|
import Drawer, { DrawerHeader, DrawerBody, DrawerFooter } from "./Components/Drawer/Drawer";
|
|
14
14
|
import Dropdown from "./Components/Dropdown/DropDown";
|
|
15
15
|
import Editor from "./Components/Editor/Editor";
|
|
16
|
+
import FeedbackForm from "./Components/FeedbackForm/FeedbackForm";
|
|
16
17
|
import FileUpload from "./Components/FileUpload/FileUpload";
|
|
17
18
|
import FileUploader from "./Components/FileUploader/FileUploader";
|
|
18
19
|
import FormWrapper from "./Components/Form/FormWrapper";
|
|
@@ -59,5 +60,5 @@ import { InputSwitch } from "./Components/Input/Switch/InputSwitch";
|
|
|
59
60
|
import PaymentCard from "./Components/Card/PaymentCard/PaymentCard";
|
|
60
61
|
import ApexLineChart from "./Components/Apexcharts/ApexLineChart/ApexLineChart";
|
|
61
62
|
import Notification from "./Components/Notification/Notification";
|
|
62
|
-
export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, Breadcrumbs, Button, ButtonGroupIcon, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, FileUpload, FileUploader, FormWrapper, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, useToaster, VerifyEmailOtp, useCustomTheme, ThemesList, debounce, };
|
|
63
|
+
export { Accordian, AlertDialog, ApexBarChart, ApexPieChart, ApexPolarChart, ApexLineChart, Breadcrumbs, Button, ButtonGroupIcon, FeedbackForm, Card, Checkbox, ContactForm, DatePicker, Drawer, DrawerHeader, DrawerBody, DrawerFooter, Dropdown, Editor, FileUpload, FileUploader, FormWrapper, Header, HeaderActions, InputTextArea, InputSwitch, KanbanBoard, Loading, Modal, ModalHeader, ModalBody, ModalFooter, NavigationBar, Notification, NoteTextArea, MultiSelect, NumberInput, PaymentCard, PhoneNumberInput, PinInput, ProductCard, ProductDetails, ProfileCard, ProfileCardHeader, ProfileCardBody, ProfileCardFooter, ProfilePhotoViewer, ProgressBar, RadioButton, RadioButtonGroup, Reorder, Search, Select, SearchSelect, SelectSearch, SideBar, Slider, Skeletons, Switch, Table, TableToggle, Tag, TextInput, Timeline, Toaster, ToolTip, useToaster, VerifyEmailOtp, useCustomTheme, ThemesList, debounce, };
|
|
63
64
|
export default withTheme;
|
package/dist/index.js
CHANGED
|
@@ -27,8 +27,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.
|
|
31
|
-
exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.VerifyEmailOtp = exports.useToaster = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.Slider = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.Select = exports.Search = exports.Reorder = void 0;
|
|
30
|
+
exports.RadioButton = exports.ProgressBar = exports.ProfilePhotoViewer = exports.ProfileCardFooter = exports.ProfileCardBody = exports.ProfileCardHeader = exports.ProfileCard = exports.ProductDetails = exports.ProductCard = exports.PinInput = exports.PhoneNumberInput = exports.PaymentCard = exports.NumberInput = exports.MultiSelect = exports.NoteTextArea = exports.Notification = exports.NavigationBar = exports.ModalFooter = exports.ModalBody = exports.ModalHeader = exports.Modal = exports.Loading = exports.KanbanBoard = exports.InputSwitch = exports.InputTextArea = exports.HeaderActions = exports.Header = exports.FormWrapper = exports.FileUploader = exports.FileUpload = exports.Editor = exports.Dropdown = exports.DrawerFooter = exports.DrawerBody = exports.DrawerHeader = exports.Drawer = exports.DatePicker = exports.ContactForm = exports.Checkbox = exports.Card = exports.FeedbackForm = exports.ButtonGroupIcon = exports.Button = exports.Breadcrumbs = exports.ApexLineChart = exports.ApexPolarChart = exports.ApexPieChart = exports.ApexBarChart = exports.AlertDialog = exports.Accordian = void 0;
|
|
31
|
+
exports.debounce = exports.ThemesList = exports.useCustomTheme = exports.VerifyEmailOtp = exports.useToaster = exports.ToolTip = exports.Toaster = exports.Timeline = exports.TextInput = exports.Tag = exports.TableToggle = exports.Table = exports.Switch = exports.Skeletons = exports.Slider = exports.SideBar = exports.SelectSearch = exports.SearchSelect = exports.Select = exports.Search = exports.Reorder = exports.RadioButtonGroup = void 0;
|
|
32
32
|
var Accordion_1 = __importDefault(require("./Components/Accordion/Accordion"));
|
|
33
33
|
exports.Accordian = Accordion_1.default;
|
|
34
34
|
var AlertDialog_1 = __importDefault(require("./Components/AlertDialog/AlertDialog"));
|
|
@@ -62,6 +62,8 @@ var DropDown_1 = __importDefault(require("./Components/Dropdown/DropDown"));
|
|
|
62
62
|
exports.Dropdown = DropDown_1.default;
|
|
63
63
|
var Editor_1 = __importDefault(require("./Components/Editor/Editor"));
|
|
64
64
|
exports.Editor = Editor_1.default;
|
|
65
|
+
var FeedbackForm_1 = __importDefault(require("./Components/FeedbackForm/FeedbackForm"));
|
|
66
|
+
exports.FeedbackForm = FeedbackForm_1.default;
|
|
65
67
|
var FileUpload_1 = __importDefault(require("./Components/FileUpload/FileUpload"));
|
|
66
68
|
exports.FileUpload = FileUpload_1.default;
|
|
67
69
|
var FileUploader_1 = __importDefault(require("./Components/FileUploader/FileUploader"));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type SubmitFeedbackOptions = {
|
|
2
|
+
endpoint: string;
|
|
3
|
+
payload: {
|
|
4
|
+
type: "comments" | "suggestions" | "questions";
|
|
5
|
+
message: string;
|
|
6
|
+
firstName: string;
|
|
7
|
+
lastName: string;
|
|
8
|
+
email: string;
|
|
9
|
+
};
|
|
10
|
+
headers?: Record<string, string>;
|
|
11
|
+
};
|
|
12
|
+
export declare function submitFeedback(options: SubmitFeedbackOptions): Promise<void>;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
50
|
+
exports.submitFeedback = void 0;
|
|
51
|
+
function submitFeedback(options) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
53
|
+
var endpoint, payload, headers, res, text;
|
|
54
|
+
return __generator(this, function (_a) {
|
|
55
|
+
switch (_a.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
endpoint = options.endpoint, payload = options.payload, headers = options.headers;
|
|
58
|
+
return [4 /*yield*/, fetch(endpoint, {
|
|
59
|
+
method: "POST",
|
|
60
|
+
headers: __assign({ "Content-Type": "application/json" }, (headers !== null && headers !== void 0 ? headers : {})),
|
|
61
|
+
body: JSON.stringify(payload),
|
|
62
|
+
})];
|
|
63
|
+
case 1:
|
|
64
|
+
res = _a.sent();
|
|
65
|
+
if (!!res.ok) return [3 /*break*/, 3];
|
|
66
|
+
return [4 /*yield*/, res.text().catch(function () { return ""; })];
|
|
67
|
+
case 2:
|
|
68
|
+
text = _a.sent();
|
|
69
|
+
throw new Error("Feedback submit failed: ".concat(res.status, " ").concat(text));
|
|
70
|
+
case 3: return [2 /*return*/];
|
|
71
|
+
}
|
|
72
|
+
});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
exports.submitFeedback = submitFeedback;
|