@algolia/satellite 1.0.0 → 1.1.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.
Files changed (134) hide show
  1. package/dist/cjs/AutoComplete/AutoComplete.d.ts +1 -1
  2. package/dist/cjs/AutoComplete/AutoComplete.js +49 -26
  3. package/dist/cjs/AutoComplete/AutoComplete.tailwind.js +9 -1
  4. package/dist/cjs/AutoComplete/types.d.ts +1 -0
  5. package/dist/cjs/Checkbox/Checkbox.d.ts +1 -1
  6. package/dist/cjs/Checkbox/Checkbox.js +21 -13
  7. package/dist/cjs/Checkbox/Checkbox.tailwind.js +8 -2
  8. package/dist/cjs/DatePicker/DatePicker/DatePicker.d.ts +4 -2
  9. package/dist/cjs/DatePicker/DatePicker/DatePicker.js +18 -7
  10. package/dist/cjs/DatePicker/components/Display.d.ts +3 -3
  11. package/dist/cjs/DatePicker/components/Display.js +16 -5
  12. package/dist/cjs/Dropzone/Dropzone.d.ts +4 -2
  13. package/dist/cjs/Dropzone/Dropzone.js +23 -12
  14. package/dist/cjs/Field/Field.d.ts +1 -0
  15. package/dist/cjs/Field/Field.js +63 -11
  16. package/dist/cjs/Field/FieldContext.d.ts +3 -0
  17. package/dist/cjs/Field/useField.d.ts +4 -1
  18. package/dist/cjs/Field/useField.js +17 -1
  19. package/dist/cjs/Form/Form.d.ts +16 -0
  20. package/dist/cjs/Form/Form.js +140 -0
  21. package/dist/cjs/Form/FormContext.d.ts +13 -0
  22. package/dist/cjs/Form/FormContext.js +8 -0
  23. package/dist/cjs/Form/index.d.ts +3 -0
  24. package/dist/cjs/Form/index.js +27 -0
  25. package/dist/cjs/Form/stories/AsynchronousValidation.js +396 -0
  26. package/dist/cjs/Form/stories/Complex.js +928 -0
  27. package/dist/cjs/Form/stories/DependentFieldsValidation.js +249 -0
  28. package/dist/cjs/Form/stories/DirtyFields.js +339 -0
  29. package/dist/cjs/Form/stories/DynamicFieldsValidation.js +425 -0
  30. package/dist/cjs/Form/stories/FieldArrays.js +549 -0
  31. package/dist/cjs/Form/stories/ValidationStrategies.js +455 -0
  32. package/dist/cjs/Form/stories/utils/useFormikAutoFocusOnError.js +22 -0
  33. package/dist/cjs/Form/useForm.d.ts +1 -0
  34. package/dist/cjs/Form/useForm.js +11 -0
  35. package/dist/cjs/Input/Input.js +22 -9
  36. package/dist/cjs/Input/Input.tailwind.js +7 -2
  37. package/dist/cjs/Pagination/DotPagination/DotPagination.d.ts +1 -1
  38. package/dist/cjs/RadioGroup/RadioButton.d.ts +1 -1
  39. package/dist/cjs/RadioGroup/RadioButton.js +16 -3
  40. package/dist/cjs/RadioGroup/RadioButton.tailwind.js +23 -0
  41. package/dist/cjs/RadioGroup/RadioGroup.d.ts +7 -5
  42. package/dist/cjs/RadioGroup/RadioGroup.js +78 -16
  43. package/dist/cjs/RadioGroup/{RadiogroupContext.d.ts → RadioGroupContext.d.ts} +8 -1
  44. package/dist/cjs/RangeSlider/RangeSlider.d.ts +2 -3
  45. package/dist/cjs/RangeSlider/RangeSlider.js +27 -10
  46. package/dist/cjs/Satellite/locale.d.ts +2 -0
  47. package/dist/cjs/Select/Select.js +39 -6
  48. package/dist/cjs/Select/Select.tailwind.js +19 -0
  49. package/dist/cjs/Stepper/Step.js +2 -2
  50. package/dist/cjs/Switch/Switch.js +2 -2
  51. package/dist/cjs/Switch/SwitchOption.js +3 -3
  52. package/dist/cjs/Tables/DataTable/DataTable.d.ts +1 -1
  53. package/dist/cjs/Tag/Tag.d.ts +1 -1
  54. package/dist/cjs/TextArea/TextArea.d.ts +1 -0
  55. package/dist/cjs/TextArea/TextArea.js +47 -8
  56. package/dist/cjs/TextArea/TextArea.tailwind.js +41 -4
  57. package/dist/cjs/Toggle/Toggle.d.ts +1 -1
  58. package/dist/cjs/Toggle/Toggle.js +23 -6
  59. package/dist/cjs/Toggle/Toggle.tailwind.js +9 -0
  60. package/dist/cjs/Tooltip/Tooltip.d.ts +1 -1
  61. package/dist/cjs/index.d.ts +1 -0
  62. package/dist/cjs/index.js +12 -0
  63. package/dist/cjs/utils/isCssPropertySupported.d.ts +1 -1
  64. package/dist/cjs/utils/mergeRefs.d.ts +2 -0
  65. package/dist/cjs/utils/mergeRefs.js +17 -0
  66. package/dist/esm/AutoComplete/AutoComplete.d.ts +1 -1
  67. package/dist/esm/AutoComplete/AutoComplete.js +52 -27
  68. package/dist/esm/AutoComplete/AutoComplete.tailwind.js +9 -1
  69. package/dist/esm/AutoComplete/types.d.ts +1 -0
  70. package/dist/esm/Checkbox/Checkbox.d.ts +1 -1
  71. package/dist/esm/Checkbox/Checkbox.js +21 -13
  72. package/dist/esm/Checkbox/Checkbox.tailwind.js +8 -2
  73. package/dist/esm/DatePicker/DatePicker/DatePicker.d.ts +4 -2
  74. package/dist/esm/DatePicker/DatePicker/DatePicker.js +19 -8
  75. package/dist/esm/DatePicker/components/Display.d.ts +3 -3
  76. package/dist/esm/DatePicker/components/Display.js +15 -5
  77. package/dist/esm/Dropzone/Dropzone.d.ts +4 -2
  78. package/dist/esm/Dropzone/Dropzone.js +24 -13
  79. package/dist/esm/Field/Field.d.ts +1 -0
  80. package/dist/esm/Field/Field.js +64 -12
  81. package/dist/esm/Field/FieldContext.d.ts +3 -0
  82. package/dist/esm/Field/useField.d.ts +4 -1
  83. package/dist/esm/Field/useField.js +17 -2
  84. package/dist/esm/Form/Form.d.ts +16 -0
  85. package/dist/esm/Form/Form.js +135 -0
  86. package/dist/esm/Form/FormContext.d.ts +13 -0
  87. package/dist/esm/Form/FormContext.js +2 -0
  88. package/dist/esm/Form/index.d.ts +3 -0
  89. package/dist/esm/Form/index.js +3 -0
  90. package/dist/esm/Form/stories/AsynchronousValidation.js +387 -0
  91. package/dist/esm/Form/stories/Complex.js +919 -0
  92. package/dist/esm/Form/stories/DependentFieldsValidation.js +240 -0
  93. package/dist/esm/Form/stories/DirtyFields.js +330 -0
  94. package/dist/esm/Form/stories/DynamicFieldsValidation.js +416 -0
  95. package/dist/esm/Form/stories/FieldArrays.js +544 -0
  96. package/dist/esm/Form/stories/ValidationStrategies.js +446 -0
  97. package/dist/esm/Form/stories/utils/useFormikAutoFocusOnError.js +16 -0
  98. package/dist/esm/Form/useForm.d.ts +1 -0
  99. package/dist/esm/Form/useForm.js +5 -0
  100. package/dist/esm/Input/Input.js +22 -9
  101. package/dist/esm/Input/Input.tailwind.js +7 -2
  102. package/dist/esm/Pagination/DotPagination/DotPagination.d.ts +1 -1
  103. package/dist/esm/RadioGroup/RadioButton.d.ts +1 -1
  104. package/dist/esm/RadioGroup/RadioButton.js +16 -3
  105. package/dist/esm/RadioGroup/RadioButton.tailwind.js +23 -0
  106. package/dist/esm/RadioGroup/RadioGroup.d.ts +7 -5
  107. package/dist/esm/RadioGroup/RadioGroup.js +77 -15
  108. package/dist/esm/RadioGroup/{RadiogroupContext.d.ts → RadioGroupContext.d.ts} +8 -1
  109. package/dist/esm/RangeSlider/RangeSlider.d.ts +2 -3
  110. package/dist/esm/RangeSlider/RangeSlider.js +27 -10
  111. package/dist/esm/Satellite/locale.d.ts +2 -0
  112. package/dist/esm/Select/Select.js +41 -7
  113. package/dist/esm/Select/Select.tailwind.js +19 -0
  114. package/dist/esm/Stepper/Step.js +2 -2
  115. package/dist/esm/Switch/Switch.js +1 -1
  116. package/dist/esm/Switch/SwitchOption.js +2 -2
  117. package/dist/esm/Tables/DataTable/DataTable.d.ts +1 -1
  118. package/dist/esm/Tag/Tag.d.ts +1 -1
  119. package/dist/esm/TextArea/TextArea.d.ts +1 -0
  120. package/dist/esm/TextArea/TextArea.js +49 -9
  121. package/dist/esm/TextArea/TextArea.tailwind.js +41 -4
  122. package/dist/esm/Toggle/Toggle.d.ts +1 -1
  123. package/dist/esm/Toggle/Toggle.js +23 -6
  124. package/dist/esm/Toggle/Toggle.tailwind.js +9 -0
  125. package/dist/esm/Tooltip/Tooltip.d.ts +1 -1
  126. package/dist/esm/index.d.ts +1 -0
  127. package/dist/esm/index.js +1 -0
  128. package/dist/esm/utils/isCssPropertySupported.d.ts +1 -1
  129. package/dist/esm/utils/mergeRefs.d.ts +2 -0
  130. package/dist/esm/utils/mergeRefs.js +11 -0
  131. package/dist/satellite.min.css +1 -1
  132. package/package.json +13 -7
  133. /package/dist/cjs/RadioGroup/{RadiogroupContext.js → RadioGroupContext.js} +0 -0
  134. /package/dist/esm/RadioGroup/{RadiogroupContext.js → RadioGroupContext.js} +0 -0
@@ -0,0 +1,387 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
5
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14;
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
9
+ import { zodResolver } from "@hookform/resolvers/zod";
10
+ import { useFormik } from "formik";
11
+ import { useState } from "react";
12
+ import { Controller, useForm } from "react-hook-form";
13
+ import * as yup from "yup";
14
+ import { z } from "zod";
15
+ import { Field } from "../../Field";
16
+ import { Input } from "../../Input";
17
+ import stl from "../../styles/helpers/satellitePrefixer";
18
+ import { ExperimentalForm, ExperimentalFormErrorMessage, ExperimentalFormReset, ExperimentalFormSubmit } from "../Form";
19
+ import { useFormikAutoFocusOnError } from "./utils/useFormikAutoFocusOnError";
20
+ import { jsx as _jsx } from "react/jsx-runtime";
21
+ import { jsxs as _jsxs } from "react/jsx-runtime";
22
+ var initialFormData = {
23
+ username: "",
24
+ password: ""
25
+ };
26
+ var sleep = function sleep(ms) {
27
+ return new Promise(function (resolve) {
28
+ return setTimeout(resolve, ms);
29
+ });
30
+ };
31
+ var validateUsername = /*#__PURE__*/function () {
32
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(username) {
33
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
34
+ while (1) switch (_context.prev = _context.next) {
35
+ case 0:
36
+ _context.next = 2;
37
+ return sleep(1000);
38
+ case 2:
39
+ return _context.abrupt("return", username === "admin");
40
+ case 3:
41
+ case "end":
42
+ return _context.stop();
43
+ }
44
+ }, _callee);
45
+ }));
46
+ return function validateUsername(_x) {
47
+ return _ref.apply(this, arguments);
48
+ };
49
+ }();
50
+ var validatePassword = /*#__PURE__*/function () {
51
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(password) {
52
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
53
+ while (1) switch (_context2.prev = _context2.next) {
54
+ case 0:
55
+ _context2.next = 2;
56
+ return sleep(1000);
57
+ case 2:
58
+ return _context2.abrupt("return", password === "qwerty");
59
+ case 3:
60
+ case "end":
61
+ return _context2.stop();
62
+ }
63
+ }, _callee2);
64
+ }));
65
+ return function validatePassword(_x2) {
66
+ return _ref2.apply(this, arguments);
67
+ };
68
+ }();
69
+ var zodSchema = z.object({
70
+ username: z.string().min(1, {
71
+ message: "You must specify an username (hint: admin)"
72
+ }).refine( /*#__PURE__*/function () {
73
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(value) {
74
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
75
+ while (1) switch (_context3.prev = _context3.next) {
76
+ case 0:
77
+ _context3.next = 2;
78
+ return validateUsername(value);
79
+ case 2:
80
+ if (!_context3.sent) {
81
+ _context3.next = 6;
82
+ break;
83
+ }
84
+ _context3.t0 = value;
85
+ _context3.next = 7;
86
+ break;
87
+ case 6:
88
+ _context3.t0 = false;
89
+ case 7:
90
+ return _context3.abrupt("return", _context3.t0);
91
+ case 8:
92
+ case "end":
93
+ return _context3.stop();
94
+ }
95
+ }, _callee3);
96
+ }));
97
+ return function (_x3) {
98
+ return _ref3.apply(this, arguments);
99
+ };
100
+ }(), function (val) {
101
+ return {
102
+ message: "Username \"".concat(val, "\" does not exist (hint: admin)")
103
+ };
104
+ }),
105
+ password: z.string().min(1, {
106
+ message: "You must specify a password (hint: qwerty)"
107
+ }).refine( /*#__PURE__*/function () {
108
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(value) {
109
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
110
+ while (1) switch (_context4.prev = _context4.next) {
111
+ case 0:
112
+ _context4.next = 2;
113
+ return validatePassword(value);
114
+ case 2:
115
+ if (!_context4.sent) {
116
+ _context4.next = 6;
117
+ break;
118
+ }
119
+ _context4.t0 = value;
120
+ _context4.next = 7;
121
+ break;
122
+ case 6:
123
+ _context4.t0 = false;
124
+ case 7:
125
+ return _context4.abrupt("return", _context4.t0);
126
+ case 8:
127
+ case "end":
128
+ return _context4.stop();
129
+ }
130
+ }, _callee4);
131
+ }));
132
+ return function (_x4) {
133
+ return _ref4.apply(this, arguments);
134
+ };
135
+ }(), function () {
136
+ return {
137
+ message: "Password is incorrect (hint: qwerty)"
138
+ };
139
+ })
140
+ });
141
+ export var RHFAsyncValidationComponent = function RHFAsyncValidationComponent() {
142
+ var _useState = useState(initialFormData),
143
+ _useState2 = _slicedToArray(_useState, 2),
144
+ formData = _useState2[0],
145
+ setFormData = _useState2[1];
146
+ var _useForm = useForm({
147
+ defaultValues: initialFormData,
148
+ reValidateMode: "onChange",
149
+ resolver: zodResolver(zodSchema)
150
+ }),
151
+ control = _useForm.control,
152
+ handleSubmit = _useForm.handleSubmit,
153
+ getFieldStateFromReactHookForm = _useForm.getFieldState,
154
+ formState = _useForm.formState,
155
+ reset = _useForm.reset;
156
+ var getFieldState = function getFieldState(fieldName) {
157
+ var _fieldState$error;
158
+ var fieldState = getFieldStateFromReactHookForm(fieldName, formState);
159
+ if ((_fieldState$error = fieldState.error) !== null && _fieldState$error !== void 0 && _fieldState$error.message) {
160
+ return {
161
+ status: "invalid",
162
+ errors: [fieldState.error.message]
163
+ };
164
+ } else if (!fieldState.invalid && formState.isSubmitted) {
165
+ return {
166
+ status: "validated"
167
+ };
168
+ } else {
169
+ return {
170
+ status: "default"
171
+ };
172
+ }
173
+ };
174
+ return /*#__PURE__*/_jsxs("div", {
175
+ className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["flex flex-col gap-8 w-3/5"]))),
176
+ children: [/*#__PURE__*/_jsxs(ExperimentalForm, {
177
+ onSubmit: handleSubmit(function (data) {
178
+ return setFormData(data);
179
+ }),
180
+ onReset: function onReset() {
181
+ return setFormData(initialFormData);
182
+ },
183
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["flex flex-col items-start gap-4 min-w-72"]))),
184
+ children: [/*#__PURE__*/_jsx(ExperimentalFormErrorMessage, {}), /*#__PURE__*/_jsx(Controller, {
185
+ name: "username",
186
+ control: control,
187
+ render: function render(_ref5) {
188
+ var field = _ref5.field;
189
+ return /*#__PURE__*/_jsx(Field, {
190
+ label: "Username",
191
+ labelFor: "username",
192
+ description: "Please enter your username",
193
+ state: getFieldState("username"),
194
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["w-full"]))),
195
+ children: /*#__PURE__*/_jsx(Input, _objectSpread({
196
+ id: "username",
197
+ placeholder: "Username",
198
+ required: true
199
+ }, field))
200
+ });
201
+ }
202
+ }), /*#__PURE__*/_jsx(Controller, {
203
+ name: "password",
204
+ control: control,
205
+ render: function render(_ref6) {
206
+ var field = _ref6.field;
207
+ return /*#__PURE__*/_jsx(Field, {
208
+ label: "Password",
209
+ labelFor: "password",
210
+ description: "Please enter your password",
211
+ state: getFieldState("password"),
212
+ className: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["w-full"]))),
213
+ children: /*#__PURE__*/_jsx(Input, _objectSpread({
214
+ id: "password",
215
+ placeholder: "Password",
216
+ type: "password",
217
+ required: true
218
+ }, field))
219
+ });
220
+ }
221
+ }), /*#__PURE__*/_jsxs("div", {
222
+ className: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["flex gap-2"]))),
223
+ children: [/*#__PURE__*/_jsx(ExperimentalFormSubmit, {
224
+ variant: "primary",
225
+ "aria-label": "Login to the website",
226
+ loading: formState.isSubmitting,
227
+ children: "Login"
228
+ }), /*#__PURE__*/_jsx(ExperimentalFormReset, {
229
+ "aria-label": "Reset the form",
230
+ onClick: function onClick() {
231
+ return reset();
232
+ },
233
+ children: "Reset"
234
+ })]
235
+ })]
236
+ }), /*#__PURE__*/_jsx("hr", {
237
+ className: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["text-grey-500"])))
238
+ }), /*#__PURE__*/_jsx("code", {
239
+ className: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["whitespace-pre"]))),
240
+ children: JSON.stringify(formData, null, 2)
241
+ })]
242
+ });
243
+ };
244
+ var yupSchema = yup.object({
245
+ username: yup.string().required("You must specify an username (hint: admin)").test({
246
+ name: "username",
247
+ message: function message(_ref7) {
248
+ var value = _ref7.value;
249
+ return "Username \"".concat(value, "\" does not exist (hint: admin)");
250
+ },
251
+ test: function () {
252
+ var _test = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(value) {
253
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
254
+ while (1) switch (_context5.prev = _context5.next) {
255
+ case 0:
256
+ return _context5.abrupt("return", validateUsername(value));
257
+ case 1:
258
+ case "end":
259
+ return _context5.stop();
260
+ }
261
+ }, _callee5);
262
+ }));
263
+ function test(_x5) {
264
+ return _test.apply(this, arguments);
265
+ }
266
+ return test;
267
+ }()
268
+ }),
269
+ password: yup.string().required("You must specify a password (hint: qwerty)").test({
270
+ name: "password",
271
+ message: "Password is incorrect (hint: qwerty)",
272
+ test: function () {
273
+ var _test2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(value) {
274
+ return _regeneratorRuntime.wrap(function _callee6$(_context6) {
275
+ while (1) switch (_context6.prev = _context6.next) {
276
+ case 0:
277
+ return _context6.abrupt("return", validatePassword(value));
278
+ case 1:
279
+ case "end":
280
+ return _context6.stop();
281
+ }
282
+ }, _callee6);
283
+ }));
284
+ function test(_x6) {
285
+ return _test2.apply(this, arguments);
286
+ }
287
+ return test;
288
+ }()
289
+ })
290
+ });
291
+ export var FormikAsyncValidationComponent = function FormikAsyncValidationComponent() {
292
+ var _useState3 = useState(initialFormData),
293
+ _useState4 = _slicedToArray(_useState3, 2),
294
+ formData = _useState4[0],
295
+ setFormData = _useState4[1];
296
+ var _useState5 = useState(false),
297
+ _useState6 = _slicedToArray(_useState5, 2),
298
+ revalidationEnabled = _useState6[0],
299
+ setRevalidationEnabled = _useState6[1];
300
+ var formik = useFormik({
301
+ initialValues: initialFormData,
302
+ validateOnChange: revalidationEnabled,
303
+ validateOnBlur: revalidationEnabled,
304
+ validationSchema: yupSchema,
305
+ onSubmit: function onSubmit(values) {
306
+ return setFormData(values);
307
+ },
308
+ onReset: function onReset() {
309
+ return setFormData(initialFormData);
310
+ }
311
+ });
312
+ var getFieldState = function getFieldState(fieldName) {
313
+ var fieldMeta = formik.getFieldMeta(fieldName);
314
+ if (fieldMeta.error) {
315
+ return {
316
+ status: "invalid",
317
+ errors: [fieldMeta.error]
318
+ };
319
+ } else if (formik.isSubmitting && fieldMeta.touched) {
320
+ return {
321
+ status: "validated"
322
+ };
323
+ } else {
324
+ return {
325
+ status: "default"
326
+ };
327
+ }
328
+ };
329
+ useFormikAutoFocusOnError(formik);
330
+ return /*#__PURE__*/_jsxs("div", {
331
+ className: stl(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["flex flex-col gap-8 w-3/5"]))),
332
+ children: [/*#__PURE__*/_jsxs(ExperimentalForm, {
333
+ onSubmit: function onSubmit(e) {
334
+ setRevalidationEnabled(true);
335
+ formik.handleSubmit(e);
336
+ },
337
+ onReset: function onReset(e) {
338
+ setRevalidationEnabled(false);
339
+ formik.handleReset(e);
340
+ },
341
+ className: stl(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["flex flex-col items-start gap-4 min-w-72"]))),
342
+ children: [/*#__PURE__*/_jsx(ExperimentalFormErrorMessage, {}), /*#__PURE__*/_jsx(Field, {
343
+ label: "Username",
344
+ labelFor: "username",
345
+ description: "Please enter your username",
346
+ state: getFieldState("username"),
347
+ className: stl(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["w-full"]))),
348
+ children: /*#__PURE__*/_jsx(Input, _objectSpread({
349
+ id: "username",
350
+ placeholder: "Username",
351
+ required: true
352
+ }, formik.getFieldProps("username")))
353
+ }), /*#__PURE__*/_jsx(Field, {
354
+ label: "Password",
355
+ labelFor: "password",
356
+ description: "Please enter your password",
357
+ state: getFieldState("password"),
358
+ className: stl(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["w-full"]))),
359
+ children: /*#__PURE__*/_jsx(Input, _objectSpread({
360
+ id: "password",
361
+ placeholder: "Password",
362
+ type: "password",
363
+ required: true
364
+ }, formik.getFieldProps("password")))
365
+ }), /*#__PURE__*/_jsxs("div", {
366
+ className: stl(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["flex gap-2"]))),
367
+ children: [/*#__PURE__*/_jsx(ExperimentalFormSubmit, {
368
+ variant: "primary",
369
+ "aria-label": "Login to the website",
370
+ loading: formik.isValidating,
371
+ children: "Login"
372
+ }), /*#__PURE__*/_jsx(ExperimentalFormReset, {
373
+ "aria-label": "Reset the form",
374
+ onClick: function onClick() {
375
+ return formik.resetForm();
376
+ },
377
+ children: "Reset"
378
+ })]
379
+ })]
380
+ }), /*#__PURE__*/_jsx("hr", {
381
+ className: stl(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["text-grey-500"])))
382
+ }), /*#__PURE__*/_jsx("code", {
383
+ className: stl(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["whitespace-pre"]))),
384
+ children: JSON.stringify(formData, null, 2)
385
+ })]
386
+ });
387
+ };