@algolia/satellite 1.6.0 → 1.8.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 (132) hide show
  1. package/dist/cjs/Actions/Accordion/Accordion.d.ts +142 -0
  2. package/dist/cjs/Actions/Accordion/Accordion.js +149 -0
  3. package/dist/cjs/Actions/Accordion/Accordion.tailwind.d.ts +5 -0
  4. package/dist/cjs/Actions/Accordion/Accordion.tailwind.js +44 -0
  5. package/dist/cjs/Actions/Button/PolymorphicButton.js +2 -2
  6. package/dist/cjs/Actions/Button/PolymorphicIconButton.js +2 -2
  7. package/dist/cjs/Actions/Button/types.d.ts +2 -2
  8. package/dist/cjs/Actions/ToggleGroup/ToggleGroup.d.ts +2 -2
  9. package/dist/cjs/Actions/index.d.ts +2 -0
  10. package/dist/cjs/Actions/index.js +18 -0
  11. package/dist/cjs/Fields/AutoComplete/AutoComplete.js +4 -4
  12. package/dist/cjs/Fields/DatePicker/components/Calendar.js +1 -4
  13. package/dist/cjs/Fields/Field/Field.js +12 -2
  14. package/dist/cjs/Fields/Field/FieldContext.d.ts +1 -0
  15. package/dist/cjs/Fields/Field/useField.d.ts +2 -1
  16. package/dist/cjs/Fields/Field/useField.js +7 -2
  17. package/dist/cjs/Fields/Form/Form.d.ts +12 -10
  18. package/dist/cjs/Fields/Form/Form.js +50 -38
  19. package/dist/cjs/Fields/Form/FormContext.d.ts +6 -6
  20. package/dist/cjs/Fields/Form/FormContext.js +2 -2
  21. package/dist/cjs/Fields/Form/index.d.ts +4 -3
  22. package/dist/cjs/Fields/Form/index.js +31 -21
  23. package/dist/cjs/Fields/Form/stories/AsynchronousValidation.js +142 -127
  24. package/dist/cjs/Fields/Form/stories/Complex.js +648 -642
  25. package/dist/cjs/Fields/Form/stories/DependentFieldsValidation.js +127 -121
  26. package/dist/cjs/Fields/Form/stories/DirtyFields.js +195 -189
  27. package/dist/cjs/Fields/Form/stories/DynamicFieldsValidation.js +251 -245
  28. package/dist/cjs/Fields/Form/stories/ExtraErrors.js +276 -0
  29. package/dist/cjs/Fields/Form/stories/FieldArrays.js +180 -174
  30. package/dist/cjs/Fields/Form/stories/JSONForms.js +58 -55
  31. package/dist/cjs/Fields/Form/stories/MultiStep.js +456 -472
  32. package/dist/cjs/Fields/Form/stories/ValidationStrategies.js +226 -237
  33. package/dist/cjs/Fields/Form/useForm.d.ts +1 -1
  34. package/dist/cjs/Fields/Form/useForm.js +3 -3
  35. package/dist/cjs/Fields/RangeSlider/RangeSlider.js +7 -8
  36. package/dist/cjs/Helpers/utilities/focusable.tailwind.js +1 -1
  37. package/dist/cjs/Indicators/ScrollIndicator/ScrollIndicator.js +1 -2
  38. package/dist/cjs/Indicators/Skeleton/Skeleton.d.ts +7 -0
  39. package/dist/cjs/Indicators/Skeleton/Skeleton.js +12 -5
  40. package/dist/cjs/Layout/Sidebar/SidebarButtonLink.js +1 -1
  41. package/dist/cjs/Layout/Sidebar/SidebarLink.js +2 -2
  42. package/dist/cjs/Layout/Sidebar/SidebarLinksGroup/SidebarGroupLink.js +1 -1
  43. package/dist/cjs/Layout/Sidebar/SidebarLinksGroup/SidebarLinksGroup.js +4 -5
  44. package/dist/cjs/Layout/Tables/DataTable/DataTable.d.ts +3 -1
  45. package/dist/cjs/Layout/Tables/DataTable/DataTable.js +3 -0
  46. package/dist/cjs/Layout/Tables/DataTable/components/Body.d.ts +1 -1
  47. package/dist/cjs/Layout/Tables/DataTable/components/Header.d.ts +1 -1
  48. package/dist/cjs/Layout/Tables/DataTable/components/HeaderCell.d.ts +1 -1
  49. package/dist/cjs/Layout/Tables/DataTable/utils.d.ts +1 -1
  50. package/dist/cjs/Layout/Tables/Table/Table.d.ts +2 -0
  51. package/dist/cjs/Layout/Tables/Table/Table.js +4 -2
  52. package/dist/cjs/Layout/Tables/Table/Table.tailwind.js +6 -1
  53. package/dist/cjs/Navigation/Stepper/Step.js +8 -7
  54. package/dist/cjs/Navigation/Stepper/Stepper.d.ts +6 -0
  55. package/dist/cjs/Navigation/Stepper/Stepper.js +9 -3
  56. package/dist/cjs/Navigation/Stepper/StepperContext.d.ts +2 -1
  57. package/dist/cjs/Overlay/Dropdown/DropdownContext.d.ts +1 -1
  58. package/dist/cjs/Overlay/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.d.ts +1 -1
  59. package/dist/cjs/Overlay/MenuButton/components/collapsible/CollapsibleItemsGroupContext.d.ts +1 -1
  60. package/dist/cjs/Overlay/MenuButton/components/items/LinkItem.d.ts +1 -1
  61. package/dist/cjs/Overlay/MenuButton/components/items/ToggleItem.d.ts +1 -1
  62. package/dist/cjs/styles/helpers/makePurgeCssExtractor.js +3 -3
  63. package/dist/cjs/styles/tailwind.config.js +1 -1
  64. package/dist/cjs/utils/isCssPropertySupported.d.ts +1 -1
  65. package/dist/cjs/utils/useTriggerInputChange.js +4 -3
  66. package/dist/esm/Actions/Accordion/Accordion.d.ts +142 -0
  67. package/dist/esm/Actions/Accordion/Accordion.js +139 -0
  68. package/dist/esm/Actions/Accordion/Accordion.tailwind.d.ts +5 -0
  69. package/dist/esm/Actions/Accordion/Accordion.tailwind.js +43 -0
  70. package/dist/esm/Actions/Button/PolymorphicButton.js +2 -2
  71. package/dist/esm/Actions/Button/PolymorphicIconButton.js +2 -2
  72. package/dist/esm/Actions/Button/types.d.ts +2 -2
  73. package/dist/esm/Actions/ToggleGroup/ToggleGroup.d.ts +2 -2
  74. package/dist/esm/Actions/index.d.ts +2 -0
  75. package/dist/esm/Actions/index.js +2 -2
  76. package/dist/esm/Fields/AutoComplete/AutoComplete.js +4 -4
  77. package/dist/esm/Fields/DatePicker/components/Calendar.js +1 -4
  78. package/dist/esm/Fields/Field/Field.js +13 -3
  79. package/dist/esm/Fields/Field/FieldContext.d.ts +1 -0
  80. package/dist/esm/Fields/Field/useField.d.ts +2 -1
  81. package/dist/esm/Fields/Field/useField.js +7 -2
  82. package/dist/esm/Fields/Form/Form.d.ts +12 -10
  83. package/dist/esm/Fields/Form/Form.js +52 -40
  84. package/dist/esm/Fields/Form/FormContext.d.ts +6 -6
  85. package/dist/esm/Fields/Form/FormContext.js +1 -1
  86. package/dist/esm/Fields/Form/index.d.ts +4 -3
  87. package/dist/esm/Fields/Form/index.js +2 -3
  88. package/dist/esm/Fields/Form/stories/AsynchronousValidation.js +143 -128
  89. package/dist/esm/Fields/Form/stories/Complex.js +649 -643
  90. package/dist/esm/Fields/Form/stories/DependentFieldsValidation.js +128 -122
  91. package/dist/esm/Fields/Form/stories/DirtyFields.js +196 -190
  92. package/dist/esm/Fields/Form/stories/DynamicFieldsValidation.js +252 -246
  93. package/dist/esm/Fields/Form/stories/ExtraErrors.js +266 -0
  94. package/dist/esm/Fields/Form/stories/FieldArrays.js +181 -175
  95. package/dist/esm/Fields/Form/stories/JSONForms.js +59 -56
  96. package/dist/esm/Fields/Form/stories/MultiStep.js +457 -473
  97. package/dist/esm/Fields/Form/stories/ValidationStrategies.js +227 -238
  98. package/dist/esm/Fields/Form/useForm.d.ts +1 -1
  99. package/dist/esm/Fields/Form/useForm.js +3 -3
  100. package/dist/esm/Fields/RangeSlider/RangeSlider.js +8 -9
  101. package/dist/esm/Helpers/utilities/focusable.tailwind.js +1 -1
  102. package/dist/esm/Indicators/ScrollIndicator/ScrollIndicator.js +1 -2
  103. package/dist/esm/Indicators/Skeleton/Skeleton.d.ts +7 -0
  104. package/dist/esm/Indicators/Skeleton/Skeleton.js +12 -5
  105. package/dist/esm/Layout/Sidebar/SidebarButtonLink.js +1 -1
  106. package/dist/esm/Layout/Sidebar/SidebarLink.js +2 -2
  107. package/dist/esm/Layout/Sidebar/SidebarLinksGroup/SidebarGroupLink.js +1 -1
  108. package/dist/esm/Layout/Sidebar/SidebarLinksGroup/SidebarLinksGroup.js +4 -5
  109. package/dist/esm/Layout/Tables/DataTable/DataTable.d.ts +3 -1
  110. package/dist/esm/Layout/Tables/DataTable/DataTable.js +3 -0
  111. package/dist/esm/Layout/Tables/DataTable/components/Body.d.ts +1 -1
  112. package/dist/esm/Layout/Tables/DataTable/components/Header.d.ts +1 -1
  113. package/dist/esm/Layout/Tables/DataTable/components/HeaderCell.d.ts +1 -1
  114. package/dist/esm/Layout/Tables/DataTable/utils.d.ts +1 -1
  115. package/dist/esm/Layout/Tables/Table/Table.d.ts +2 -0
  116. package/dist/esm/Layout/Tables/Table/Table.js +4 -2
  117. package/dist/esm/Layout/Tables/Table/Table.tailwind.js +6 -1
  118. package/dist/esm/Navigation/Stepper/Step.js +8 -7
  119. package/dist/esm/Navigation/Stepper/Stepper.d.ts +6 -0
  120. package/dist/esm/Navigation/Stepper/Stepper.js +9 -3
  121. package/dist/esm/Navigation/Stepper/StepperContext.d.ts +2 -1
  122. package/dist/esm/Overlay/Dropdown/DropdownContext.d.ts +1 -1
  123. package/dist/esm/Overlay/Dropdown/components/DropdownCollapsibleItem/DropdownCollapsibleItemsGroupContext.d.ts +1 -1
  124. package/dist/esm/Overlay/MenuButton/components/collapsible/CollapsibleItemsGroupContext.d.ts +1 -1
  125. package/dist/esm/Overlay/MenuButton/components/items/LinkItem.d.ts +1 -1
  126. package/dist/esm/Overlay/MenuButton/components/items/ToggleItem.d.ts +1 -1
  127. package/dist/esm/styles/helpers/makePurgeCssExtractor.js +3 -3
  128. package/dist/esm/styles/tailwind.config.js +1 -1
  129. package/dist/esm/utils/isCssPropertySupported.d.ts +1 -1
  130. package/dist/esm/utils/useTriggerInputChange.js +4 -3
  131. package/dist/satellite.min.css +1 -1
  132. package/package.json +20 -19
@@ -1,10 +1,8 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
3
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
5
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
6
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53, _templateObject54, _templateObject55, _templateObject56, _templateObject57, _templateObject58, _templateObject59, _templateObject60, _templateObject61, _templateObject62, _templateObject63, _templateObject64, _templateObject65, _templateObject66, _templateObject67, _templateObject68, _templateObject69, _templateObject70;
7
- import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13, _templateObject14, _templateObject15, _templateObject16, _templateObject17, _templateObject18, _templateObject19, _templateObject20, _templateObject21, _templateObject22, _templateObject23, _templateObject24, _templateObject25, _templateObject26, _templateObject27, _templateObject28, _templateObject29, _templateObject30, _templateObject31, _templateObject32, _templateObject33, _templateObject34, _templateObject35, _templateObject36, _templateObject37, _templateObject38, _templateObject39, _templateObject40, _templateObject41, _templateObject42, _templateObject43, _templateObject44, _templateObject45, _templateObject46, _templateObject47, _templateObject48, _templateObject49, _templateObject50, _templateObject51, _templateObject52, _templateObject53, _templateObject54, _templateObject55, _templateObject56, _templateObject57, _templateObject58, _templateObject59, _templateObject60, _templateObject61, _templateObject62, _templateObject63, _templateObject64, _templateObject65, _templateObject66, _templateObject67, _templateObject68, _templateObject69, _templateObject70, _templateObject71, _templateObject72;
8
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; }
9
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; }
10
8
  import { zodResolver } from "@hookform/resolvers/zod";
@@ -22,7 +20,7 @@ import stl from "../../../styles/helpers/satellitePrefixer";
22
20
  import { Checkbox } from "../../Checkbox";
23
21
  import { Field } from "../../Field";
24
22
  import { RadioButton } from "../../RadioGroup";
25
- import { ExperimentalForm, ExperimentalFormErrorMessage, ExperimentalFormSubmit } from "../Form";
23
+ import { Form, FormErrorMessage, FormSubmit } from "../Form";
26
24
  import { useFormikAutoFocusOnError } from "./utils/useFormikAutoFocusOnError";
27
25
  import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
28
26
  var variantsEnum = ["separate", "group"];
@@ -122,263 +120,255 @@ export var RHFMultiStepComponent = function RHFMultiStepComponent() {
122
120
  };
123
121
  }
124
122
  };
125
- return /*#__PURE__*/_jsxs("div", {
126
- className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["flex flex-col gap-8 w-4/5"]))),
127
- children: [/*#__PURE__*/_jsxs(ExperimentalForm, {
128
- onSubmit: handleSubmit(function (data) {
129
- return setFormData(data);
130
- }),
131
- onReset: function onReset() {
132
- return setFormData(initialFormData);
133
- },
134
- className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["flex flex-col gap-8 overflow-hidden"]))),
135
- children: [/*#__PURE__*/_jsx(ExperimentalFormErrorMessage, {
136
- locale: {
137
- errorText: function errorText(invalidFields) {
138
- return /*#__PURE__*/_jsxs(_Fragment, {
139
- children: [/*#__PURE__*/_jsxs("div", {
140
- className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["display-heading mb-2"]))),
141
- children: ["Please fix ", invalidFields.length, " error", invalidFields.length > 1 ? "s" : "", " below and try again."]
142
- }), /*#__PURE__*/_jsx("div", {
143
- className: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["flex flex-col"]))),
144
- children: /*#__PURE__*/_jsx("a", {
145
- href: "#",
146
- className: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["text-black underline hover:text-grey-800"]))),
147
- onClick: function onClick(e) {
148
- e.preventDefault();
149
- var firstInvalid = steps.find(function (step) {
150
- return getFieldState(step).status === "invalid";
151
- });
152
- if (firstInvalid) {
153
- goToPage(steps.indexOf(firstInvalid) + 1);
154
- }
155
- },
156
- children: "Go to first error"
157
- })
158
- })]
159
- });
160
- }
161
- }
162
- }), /*#__PURE__*/_jsxs("div", {
163
- className: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["flex transition-transform ease-out duration-500"]))),
164
- style: {
165
- transform: "translateX(-".concat((page - 1) * 100, "%)")
123
+ return /*#__PURE__*/_jsx("div", {
124
+ className: stl(_templateObject || (_templateObject = _taggedTemplateLiteral(["@container w-full flex justify-center"]))),
125
+ children: /*#__PURE__*/_jsxs("div", {
126
+ className: stl(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["flex flex-col gap-8 w-full @lg:w-4/5"]))),
127
+ children: [/*#__PURE__*/_jsxs(Form, {
128
+ onSubmit: handleSubmit(function (data) {
129
+ return setFormData(data);
130
+ }),
131
+ onReset: function onReset() {
132
+ return setFormData(initialFormData);
166
133
  },
167
- children: [/*#__PURE__*/_jsx(Controller, {
168
- name: "variants",
169
- control: control,
170
- render: function render(_ref) {
171
- var field = _ref.field;
172
- return /*#__PURE__*/_jsx(Field, {
173
- label: /*#__PURE__*/_jsx("h2", {
174
- className: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
175
- children: "How should we display products that contain multiple variants?"
176
- }),
177
- labelFor: variantsEnum[0],
178
- state: getFieldState("variants"),
179
- className: stl(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["w-full shrink-0"]))),
180
- children: /*#__PURE__*/_jsx("div", {
181
- className: stl(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["mt-7"]))),
182
- children: variantsOptions.map(function (option) {
183
- return /*#__PURE__*/_jsxs("label", {
184
- htmlFor: option.value,
185
- className: stl(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["flex flex-col gap-3 p-6 rounded display-body transition-colors hover:bg-grey-100"]))),
186
- children: [/*#__PURE__*/_jsxs("div", {
187
- className: stl(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["flex items-center gap-2"]))),
188
- children: [/*#__PURE__*/_jsx(RadioButton, _objectSpread(_objectSpread({
189
- id: option.value,
190
- "aria-labelledby": option.value,
191
- required: true
192
- }, field), {}, {
193
- value: option.value,
194
- className: stl(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["shrink-0"])))
195
- })), option.title]
196
- }), /*#__PURE__*/_jsx("div", {
197
- className: stl(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["ml-6 typo-subdued"]))),
198
- children: option.description
199
- })]
200
- }, option.value);
201
- })
202
- })
203
- });
204
- }
205
- }), /*#__PURE__*/_jsx(Controller, {
206
- name: "outOfStock",
207
- control: control,
208
- render: function render(_ref2) {
209
- var field = _ref2.field;
210
- return /*#__PURE__*/_jsx(Field, {
211
- label: /*#__PURE__*/_jsx("h2", {
212
- className: stl(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
213
- children: "How would you like to show out-of-stock items?"
214
- }),
215
- labelFor: outOfStockEnum[0],
216
- state: getFieldState("outOfStock"),
217
- className: stl(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["w-full shrink-0"]))),
218
- children: /*#__PURE__*/_jsx("div", {
219
- className: stl(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["mt-7"]))),
220
- children: outOfStockOptions.map(function (option) {
221
- return /*#__PURE__*/_jsxs("label", {
222
- htmlFor: option.value,
223
- className: stl(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["flex flex-col gap-3 p-6 rounded display-body transition-colors hover:bg-grey-100"]))),
224
- children: [/*#__PURE__*/_jsxs("div", {
225
- className: stl(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["flex items-center gap-2"]))),
226
- children: [/*#__PURE__*/_jsx(RadioButton, _objectSpread(_objectSpread({
227
- id: option.value,
228
- "aria-labelledby": option.value,
229
- required: true
230
- }, field), {}, {
231
- value: option.value,
232
- className: stl(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["shrink-0"])))
233
- })), option.title]
234
- }), /*#__PURE__*/_jsx("div", {
235
- className: stl(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["ml-6 typo-subdued"]))),
236
- children: option.description
237
- })]
238
- }, option.value);
239
- })
240
- })
241
- });
242
- }
243
- }), /*#__PURE__*/_jsx(Controller, {
244
- name: "sorting",
245
- control: control,
246
- render: function render(_ref3) {
247
- var field = _ref3.field;
248
- return /*#__PURE__*/_jsxs(Field, {
249
- label: /*#__PURE__*/_jsx("h2", {
250
- className: stl(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
251
- children: "Select how your customers can sort their search results"
252
- }),
253
- labelFor: sortingOptions[0],
254
- state: getFieldState("sorting"),
255
- className: stl(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["w-full shrink-0"]))),
256
- children: [/*#__PURE__*/_jsx("div", {
257
- className: stl(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["mt-4 typo-subdued"]))),
258
- children: "Select the sort order options you'd like to show customers. You can change these later."
259
- }), /*#__PURE__*/_jsx("div", {
260
- className: stl(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["mt-7"]))),
261
- children: sortingOptions.map(function (option) {
262
- return /*#__PURE__*/_jsxs("label", {
263
- htmlFor: option,
264
- className: stl(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["flex gap-2 p-4 rounded display-body transition-colors hover:bg-grey-100"]))),
265
- children: [/*#__PURE__*/_jsx(Checkbox, _objectSpread(_objectSpread({
266
- id: option,
267
- required: true,
268
- checked: getValues("sorting").includes(option)
269
- }, field), {}, {
270
- onChange: function onChange() {
271
- return field.onChange(field.value.includes(option) ? field.value.filter(function (v) {
272
- return v !== option;
273
- }) : [].concat(_toConsumableArray(field.value), [option]));
134
+ className: stl(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["flex flex-col gap-8 overflow-hidden"]))),
135
+ children: [/*#__PURE__*/_jsx(FormErrorMessage, {
136
+ locale: {
137
+ errorText: function errorText(invalidFields) {
138
+ return /*#__PURE__*/_jsxs(_Fragment, {
139
+ children: [/*#__PURE__*/_jsxs("div", {
140
+ className: stl(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["display-heading mb-2"]))),
141
+ children: ["Please fix ", invalidFields.length, " error", invalidFields.length > 1 ? "s" : "", " below and try again."]
142
+ }), /*#__PURE__*/_jsx("div", {
143
+ className: stl(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["flex flex-col"]))),
144
+ children: /*#__PURE__*/_jsx("a", {
145
+ href: "#",
146
+ className: stl(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["text-black underline hover:text-grey-800"]))),
147
+ onClick: function onClick(e) {
148
+ e.preventDefault();
149
+ var firstInvalid = steps.find(function (step) {
150
+ return getFieldState(step).status === "invalid";
151
+ });
152
+ if (firstInvalid) {
153
+ goToPage(steps.indexOf(firstInvalid) + 1);
274
154
  }
275
- })), capitalize(option)]
276
- }, option);
277
- })
278
- })]
279
- });
155
+ },
156
+ children: "Go to first error"
157
+ })
158
+ })]
159
+ });
160
+ }
280
161
  }
281
- }), /*#__PURE__*/_jsx(Controller, {
282
- name: "filters",
283
- control: control,
284
- render: function render(_ref4) {
285
- var field = _ref4.field;
286
- return /*#__PURE__*/_jsxs(Field, {
287
- label: /*#__PURE__*/_jsx("h2", {
288
- className: stl(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
289
- children: "Add filters to help narrow results"
290
- }),
291
- labelFor: filtersOptions[0],
292
- state: getFieldState("filters"),
293
- className: stl(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["w-full shrink-0"]))),
294
- children: [/*#__PURE__*/_jsxs("div", {
295
- className: stl(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["mt-4 typo-subdued"]))),
296
- children: ["Select the filter options customers can use to refine results.", /*#__PURE__*/_jsx("br", {}), "You can edit these after setup."]
297
- }), /*#__PURE__*/_jsx("div", {
298
- className: stl(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["mt-7"]))),
299
- children: filtersOptions.map(function (option) {
300
- return /*#__PURE__*/_jsxs("label", {
301
- htmlFor: option,
302
- className: stl(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["flex gap-2 p-4 rounded display-body transition-colors hover:bg-grey-100"]))),
303
- children: [/*#__PURE__*/_jsx(Checkbox, _objectSpread(_objectSpread({
304
- id: option,
305
- required: true,
306
- checked: getValues("filters").includes(option)
307
- }, field), {}, {
308
- onChange: function onChange() {
309
- return field.onChange(field.value.includes(option) ? field.value.filter(function (v) {
310
- return v !== option;
311
- }) : [].concat(_toConsumableArray(field.value), [option]));
312
- }
313
- })), capitalize(option)]
314
- }, option);
162
+ }), /*#__PURE__*/_jsxs("div", {
163
+ className: stl(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["flex transition-transform ease-out duration-500"]))),
164
+ style: {
165
+ transform: "translateX(-".concat((page - 1) * 100, "%)")
166
+ },
167
+ children: [/*#__PURE__*/_jsx(Controller, {
168
+ name: "variants",
169
+ control: control,
170
+ render: function render(_ref) {
171
+ var field = _ref.field;
172
+ return /*#__PURE__*/_jsx(Field, {
173
+ label: /*#__PURE__*/_jsx("h2", {
174
+ className: stl(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
175
+ children: "How should we display products that contain multiple variants?"
176
+ }),
177
+ labelFor: variantsEnum[0],
178
+ state: getFieldState("variants"),
179
+ className: stl(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["w-full shrink-0"]))),
180
+ children: /*#__PURE__*/_jsx("div", {
181
+ className: stl(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["mt-7"]))),
182
+ children: variantsOptions.map(function (option) {
183
+ return /*#__PURE__*/_jsxs("label", {
184
+ htmlFor: option.value,
185
+ className: stl(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["flex flex-col gap-3 p-6 rounded display-body transition-colors hover:bg-grey-100"]))),
186
+ children: [/*#__PURE__*/_jsxs("div", {
187
+ className: stl(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["flex items-center gap-2"]))),
188
+ children: [/*#__PURE__*/_jsx(RadioButton, _objectSpread(_objectSpread({
189
+ id: option.value,
190
+ "aria-labelledby": option.value,
191
+ required: true
192
+ }, field), {}, {
193
+ value: option.value,
194
+ className: stl(_templateObject13 || (_templateObject13 = _taggedTemplateLiteral(["shrink-0"])))
195
+ })), option.title]
196
+ }), /*#__PURE__*/_jsx("div", {
197
+ className: stl(_templateObject14 || (_templateObject14 = _taggedTemplateLiteral(["ml-6 typo-subdued"]))),
198
+ children: option.description
199
+ })]
200
+ }, option.value);
201
+ })
315
202
  })
316
- })]
317
- });
318
- }
319
- })]
320
- }), /*#__PURE__*/_jsxs("div", {
321
- className: stl(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral(["w-full flex justify-between"]))),
322
- children: [/*#__PURE__*/_jsxs("div", {
323
- className: stl(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral(["flex gap-2"]))),
324
- children: [/*#__PURE__*/_jsx(Button, {
325
- "aria-label": "Previous step",
326
- disabled: page <= 1,
203
+ });
204
+ }
205
+ }), /*#__PURE__*/_jsx(Controller, {
206
+ name: "outOfStock",
207
+ control: control,
208
+ render: function render(_ref2) {
209
+ var field = _ref2.field;
210
+ return /*#__PURE__*/_jsx(Field, {
211
+ label: /*#__PURE__*/_jsx("h2", {
212
+ className: stl(_templateObject15 || (_templateObject15 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
213
+ children: "How would you like to show out-of-stock items?"
214
+ }),
215
+ labelFor: outOfStockEnum[0],
216
+ state: getFieldState("outOfStock"),
217
+ className: stl(_templateObject16 || (_templateObject16 = _taggedTemplateLiteral(["w-full shrink-0"]))),
218
+ children: /*#__PURE__*/_jsx("div", {
219
+ className: stl(_templateObject17 || (_templateObject17 = _taggedTemplateLiteral(["mt-7"]))),
220
+ children: outOfStockOptions.map(function (option) {
221
+ return /*#__PURE__*/_jsxs("label", {
222
+ htmlFor: option.value,
223
+ className: stl(_templateObject18 || (_templateObject18 = _taggedTemplateLiteral(["flex flex-col gap-3 p-6 rounded display-body transition-colors hover:bg-grey-100"]))),
224
+ children: [/*#__PURE__*/_jsxs("div", {
225
+ className: stl(_templateObject19 || (_templateObject19 = _taggedTemplateLiteral(["flex items-center gap-2"]))),
226
+ children: [/*#__PURE__*/_jsx(RadioButton, _objectSpread(_objectSpread({
227
+ id: option.value,
228
+ "aria-labelledby": option.value,
229
+ required: true
230
+ }, field), {}, {
231
+ value: option.value,
232
+ className: stl(_templateObject20 || (_templateObject20 = _taggedTemplateLiteral(["shrink-0"])))
233
+ })), option.title]
234
+ }), /*#__PURE__*/_jsx("div", {
235
+ className: stl(_templateObject21 || (_templateObject21 = _taggedTemplateLiteral(["ml-6 typo-subdued"]))),
236
+ children: option.description
237
+ })]
238
+ }, option.value);
239
+ })
240
+ })
241
+ });
242
+ }
243
+ }), /*#__PURE__*/_jsx(Controller, {
244
+ name: "sorting",
245
+ control: control,
246
+ render: function render(_ref3) {
247
+ var field = _ref3.field;
248
+ return /*#__PURE__*/_jsxs(Field, {
249
+ label: /*#__PURE__*/_jsx("h2", {
250
+ className: stl(_templateObject22 || (_templateObject22 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
251
+ children: "Select how your customers can sort their search results"
252
+ }),
253
+ labelFor: sortingOptions[0],
254
+ state: getFieldState("sorting"),
255
+ className: stl(_templateObject23 || (_templateObject23 = _taggedTemplateLiteral(["w-full shrink-0"]))),
256
+ children: [/*#__PURE__*/_jsx("div", {
257
+ className: stl(_templateObject24 || (_templateObject24 = _taggedTemplateLiteral(["mt-4 typo-subdued"]))),
258
+ children: "Select the sort order options you'd like to show customers. You can change these later."
259
+ }), /*#__PURE__*/_jsx("div", {
260
+ className: stl(_templateObject25 || (_templateObject25 = _taggedTemplateLiteral(["mt-7"]))),
261
+ children: sortingOptions.map(function (option) {
262
+ return /*#__PURE__*/_jsxs("label", {
263
+ htmlFor: option,
264
+ className: stl(_templateObject26 || (_templateObject26 = _taggedTemplateLiteral(["flex gap-2 p-4 rounded display-body transition-colors hover:bg-grey-100"]))),
265
+ children: [/*#__PURE__*/_jsx(Checkbox, _objectSpread(_objectSpread({
266
+ id: option,
267
+ required: true,
268
+ checked: getValues("sorting").includes(option)
269
+ }, field), {}, {
270
+ onChange: function onChange() {
271
+ return field.onChange(field.value.includes(option) ? field.value.filter(function (v) {
272
+ return v !== option;
273
+ }) : [].concat(_toConsumableArray(field.value), [option]));
274
+ }
275
+ })), capitalize(option)]
276
+ }, option);
277
+ })
278
+ })]
279
+ });
280
+ }
281
+ }), /*#__PURE__*/_jsx(Controller, {
282
+ name: "filters",
283
+ control: control,
284
+ render: function render(_ref4) {
285
+ var field = _ref4.field;
286
+ return /*#__PURE__*/_jsxs(Field, {
287
+ label: /*#__PURE__*/_jsx("h2", {
288
+ className: stl(_templateObject27 || (_templateObject27 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
289
+ children: "Add filters to help narrow results"
290
+ }),
291
+ labelFor: filtersOptions[0],
292
+ state: getFieldState("filters"),
293
+ className: stl(_templateObject28 || (_templateObject28 = _taggedTemplateLiteral(["w-full shrink-0"]))),
294
+ children: [/*#__PURE__*/_jsxs("div", {
295
+ className: stl(_templateObject29 || (_templateObject29 = _taggedTemplateLiteral(["mt-4 typo-subdued"]))),
296
+ children: ["Select the filter options customers can use to refine results.", /*#__PURE__*/_jsx("br", {}), "You can edit these after setup."]
297
+ }), /*#__PURE__*/_jsx("div", {
298
+ className: stl(_templateObject30 || (_templateObject30 = _taggedTemplateLiteral(["mt-7"]))),
299
+ children: filtersOptions.map(function (option) {
300
+ return /*#__PURE__*/_jsxs("label", {
301
+ htmlFor: option,
302
+ className: stl(_templateObject31 || (_templateObject31 = _taggedTemplateLiteral(["flex gap-2 p-4 rounded display-body transition-colors hover:bg-grey-100"]))),
303
+ children: [/*#__PURE__*/_jsx(Checkbox, _objectSpread(_objectSpread({
304
+ id: option,
305
+ required: true,
306
+ checked: getValues("filters").includes(option)
307
+ }, field), {}, {
308
+ onChange: function onChange() {
309
+ return field.onChange(field.value.includes(option) ? field.value.filter(function (v) {
310
+ return v !== option;
311
+ }) : [].concat(_toConsumableArray(field.value), [option]));
312
+ }
313
+ })), capitalize(option)]
314
+ }, option);
315
+ })
316
+ })]
317
+ });
318
+ }
319
+ })]
320
+ }), /*#__PURE__*/_jsxs("div", {
321
+ className: stl(_templateObject32 || (_templateObject32 = _taggedTemplateLiteral(["w-full flex justify-between"]))),
322
+ children: [/*#__PURE__*/_jsxs("div", {
323
+ className: stl(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral(["flex gap-2"]))),
324
+ children: [/*#__PURE__*/_jsx(Button, {
325
+ "aria-label": "Previous step",
326
+ disabled: page <= 1,
327
+ onClick: function onClick() {
328
+ return goToPreviousPage();
329
+ },
330
+ children: "Back"
331
+ }), page >= steps.length ? /*#__PURE__*/_jsx(FormSubmit, {
332
+ variant: "primary",
333
+ "aria-label": "Complete",
334
+ children: "Complete"
335
+ }) : /*#__PURE__*/_jsx(Button, {
336
+ variant: "primary",
337
+ "aria-label": "Next step",
338
+ onClick: function onClick() {
339
+ void trigger(steps[page - 1]).then(function (isValid) {
340
+ if (isValid) {
341
+ goToNextPage();
342
+ }
343
+ });
344
+ },
345
+ children: "Next"
346
+ })]
347
+ }), /*#__PURE__*/_jsx(Button, {
348
+ variant: "subtle",
349
+ "aria-label": "Reset the form",
327
350
  onClick: function onClick() {
328
- return goToPreviousPage();
351
+ reset();
352
+ goToPage(1);
329
353
  },
330
- children: "Back"
331
- }), page >= steps.length ? /*#__PURE__*/_jsx(ExperimentalFormSubmit, {
332
- variant: "primary",
333
- "aria-label": "Complete",
334
- children: "Complete"
335
- }) : /*#__PURE__*/_jsx(Button, {
336
- variant: "primary",
337
- "aria-label": "Next step",
338
- onClick: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
339
- var valid;
340
- return _regeneratorRuntime.wrap(function _callee$(_context) {
341
- while (1) switch (_context.prev = _context.next) {
342
- case 0:
343
- _context.next = 2;
344
- return trigger(steps[page - 1]);
345
- case 2:
346
- valid = _context.sent;
347
- if (valid) {
348
- goToNextPage();
349
- }
350
- case 4:
351
- case "end":
352
- return _context.stop();
353
- }
354
- }, _callee);
355
- })),
356
- children: "Next"
354
+ children: "Reset"
357
355
  })]
358
- }), /*#__PURE__*/_jsx(Button, {
359
- variant: "subtle",
360
- "aria-label": "Reset the form",
361
- onClick: function onClick() {
362
- reset();
363
- goToPage(1);
364
- },
365
- children: "Reset"
356
+ }), /*#__PURE__*/_jsx("div", {
357
+ className: stl(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral(["mt-8 mx-auto"]))),
358
+ children: /*#__PURE__*/_jsx(DotPagination, {
359
+ nbPages: steps.length,
360
+ currentPage: page,
361
+ onChange: goToPage,
362
+ size: "small"
363
+ })
366
364
  })]
367
- }), /*#__PURE__*/_jsx("div", {
368
- className: stl(_templateObject33 || (_templateObject33 = _taggedTemplateLiteral(["mt-8 mx-auto"]))),
369
- children: /*#__PURE__*/_jsx(DotPagination, {
370
- nbPages: steps.length,
371
- currentPage: page,
372
- onChange: goToPage,
373
- size: "small"
374
- })
365
+ }), /*#__PURE__*/_jsx("hr", {
366
+ className: stl(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral(["text-grey-500"])))
367
+ }), /*#__PURE__*/_jsx("code", {
368
+ className: stl(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral(["whitespace-pre display-code"]))),
369
+ children: JSON.stringify(formData, null, 2)
375
370
  })]
376
- }), /*#__PURE__*/_jsx("hr", {
377
- className: stl(_templateObject34 || (_templateObject34 = _taggedTemplateLiteral(["text-grey-500"])))
378
- }), /*#__PURE__*/_jsx("code", {
379
- className: stl(_templateObject35 || (_templateObject35 = _taggedTemplateLiteral(["whitespace-pre display-code"]))),
380
- children: JSON.stringify(formData, null, 2)
381
- })]
371
+ })
382
372
  });
383
373
  };
384
374
  var yupSchema = yup.object({
@@ -453,239 +443,233 @@ export var FormikMultiStepComponent = function FormikMultiStepComponent() {
453
443
  goToNextPage();
454
444
  }
455
445
  }
456
- return /*#__PURE__*/_jsxs("div", {
457
- className: stl(_templateObject36 || (_templateObject36 = _taggedTemplateLiteral(["flex flex-col gap-8 w-4/5"]))),
458
- children: [/*#__PURE__*/_jsxs(ExperimentalForm, {
459
- onSubmit: function onSubmit(e) {
460
- setRevalidationEnabled(true);
461
- formik.handleSubmit(e);
462
- },
463
- onReset: function onReset(e) {
464
- setRevalidationEnabled(false);
465
- formik.handleReset(e);
466
- },
467
- className: stl(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral(["flex flex-col gap-8 overflow-hidden"]))),
468
- children: [/*#__PURE__*/_jsx(ExperimentalFormErrorMessage, {
469
- locale: {
470
- errorText: function errorText(invalidFields) {
471
- return /*#__PURE__*/_jsxs(_Fragment, {
472
- children: [/*#__PURE__*/_jsxs("div", {
473
- className: stl(_templateObject38 || (_templateObject38 = _taggedTemplateLiteral(["display-heading mb-2"]))),
474
- children: ["Please fix ", invalidFields.length, " error", invalidFields.length > 1 ? "s" : "", " below and try again."]
475
- }), /*#__PURE__*/_jsx("div", {
476
- className: stl(_templateObject39 || (_templateObject39 = _taggedTemplateLiteral(["flex flex-col"]))),
477
- children: /*#__PURE__*/_jsx("a", {
478
- href: "#",
479
- className: stl(_templateObject40 || (_templateObject40 = _taggedTemplateLiteral(["text-black underline hover:text-grey-800"]))),
480
- onClick: function onClick(e) {
481
- e.preventDefault();
482
- var firstInvalid = steps.find(function (step) {
483
- return getFieldState(step).status === "invalid";
484
- });
485
- if (firstInvalid) {
486
- goToPage(steps.indexOf(firstInvalid) + 1);
487
- }
488
- },
489
- children: "Go to first error"
490
- })
491
- })]
492
- });
493
- }
494
- }
495
- }), /*#__PURE__*/_jsxs("div", {
496
- className: stl(_templateObject41 || (_templateObject41 = _taggedTemplateLiteral(["flex transition-transform ease-out duration-500"]))),
497
- style: {
498
- transform: "translateX(-".concat((page - 1) * 100, "%)")
446
+ return /*#__PURE__*/_jsx("div", {
447
+ className: stl(_templateObject37 || (_templateObject37 = _taggedTemplateLiteral(["@container w-full flex justify-center"]))),
448
+ children: /*#__PURE__*/_jsxs("div", {
449
+ className: stl(_templateObject38 || (_templateObject38 = _taggedTemplateLiteral(["flex flex-col gap-8 w-full @lg:w-4/5"]))),
450
+ children: [/*#__PURE__*/_jsxs(Form, {
451
+ onSubmit: function onSubmit(e) {
452
+ setRevalidationEnabled(true);
453
+ formik.handleSubmit(e);
499
454
  },
500
- children: [/*#__PURE__*/_jsx(Field, {
501
- label: /*#__PURE__*/_jsx("h2", {
502
- className: stl(_templateObject42 || (_templateObject42 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
503
- children: "How should we display products that contain multiple variants?"
504
- }),
505
- labelFor: variantsEnum[0],
506
- state: getFieldState("variants"),
507
- className: stl(_templateObject43 || (_templateObject43 = _taggedTemplateLiteral(["w-full shrink-0"]))),
508
- children: /*#__PURE__*/_jsx("div", {
509
- className: stl(_templateObject44 || (_templateObject44 = _taggedTemplateLiteral(["mt-7"]))),
510
- children: variantsOptions.map(function (option) {
511
- return /*#__PURE__*/_jsxs("label", {
512
- htmlFor: option.value,
513
- className: stl(_templateObject45 || (_templateObject45 = _taggedTemplateLiteral(["flex flex-col gap-3 p-6 rounded display-body transition-colors hover:bg-grey-100"]))),
514
- children: [/*#__PURE__*/_jsxs("div", {
515
- className: stl(_templateObject46 || (_templateObject46 = _taggedTemplateLiteral(["flex items-center gap-2"]))),
516
- children: [/*#__PURE__*/_jsx(RadioButton, _objectSpread(_objectSpread({
517
- id: option.value,
518
- "aria-labelledby": option.value,
519
- required: true
520
- }, formik.getFieldProps({
521
- name: "variants",
522
- value: option.value,
523
- type: "radio"
524
- })), {}, {
525
- className: stl(_templateObject47 || (_templateObject47 = _taggedTemplateLiteral(["shrink-0"])))
526
- })), option.title]
527
- }), /*#__PURE__*/_jsx("div", {
528
- className: stl(_templateObject48 || (_templateObject48 = _taggedTemplateLiteral(["ml-6 typo-subdued"]))),
529
- children: option.description
530
- })]
531
- }, option.value);
532
- })
533
- })
534
- }), /*#__PURE__*/_jsx(Field, {
535
- label: /*#__PURE__*/_jsx("h2", {
536
- className: stl(_templateObject49 || (_templateObject49 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
537
- children: "How would you like to show out-of-stock items?"
538
- }),
539
- labelFor: outOfStockEnum[0],
540
- state: getFieldState("outOfStock"),
541
- className: stl(_templateObject50 || (_templateObject50 = _taggedTemplateLiteral(["w-full shrink-0"]))),
542
- children: /*#__PURE__*/_jsx("div", {
543
- className: stl(_templateObject51 || (_templateObject51 = _taggedTemplateLiteral(["mt-7"]))),
544
- children: outOfStockOptions.map(function (option) {
545
- return /*#__PURE__*/_jsxs("label", {
546
- htmlFor: option.value,
547
- className: stl(_templateObject52 || (_templateObject52 = _taggedTemplateLiteral(["flex flex-col gap-3 p-6 rounded display-body transition-colors hover:bg-grey-100"]))),
455
+ onReset: function onReset(e) {
456
+ setRevalidationEnabled(false);
457
+ formik.handleReset(e);
458
+ },
459
+ className: stl(_templateObject39 || (_templateObject39 = _taggedTemplateLiteral(["flex flex-col gap-8 overflow-hidden"]))),
460
+ children: [/*#__PURE__*/_jsx(FormErrorMessage, {
461
+ locale: {
462
+ errorText: function errorText(invalidFields) {
463
+ return /*#__PURE__*/_jsxs(_Fragment, {
548
464
  children: [/*#__PURE__*/_jsxs("div", {
549
- className: stl(_templateObject53 || (_templateObject53 = _taggedTemplateLiteral(["flex items-center gap-2"]))),
550
- children: [/*#__PURE__*/_jsx(RadioButton, _objectSpread(_objectSpread({
551
- id: option.value,
552
- "aria-labelledby": option.value,
553
- required: true
554
- }, formik.getFieldProps({
555
- name: "outOfStock",
556
- value: option.value,
557
- type: "radio"
558
- })), {}, {
559
- className: stl(_templateObject54 || (_templateObject54 = _taggedTemplateLiteral(["shrink-0"])))
560
- })), option.title]
465
+ className: stl(_templateObject40 || (_templateObject40 = _taggedTemplateLiteral(["display-heading mb-2"]))),
466
+ children: ["Please fix ", invalidFields.length, " error", invalidFields.length > 1 ? "s" : "", " below and try again."]
561
467
  }), /*#__PURE__*/_jsx("div", {
562
- className: stl(_templateObject55 || (_templateObject55 = _taggedTemplateLiteral(["ml-6 typo-subdued"]))),
563
- children: option.description
468
+ className: stl(_templateObject41 || (_templateObject41 = _taggedTemplateLiteral(["flex flex-col"]))),
469
+ children: /*#__PURE__*/_jsx("a", {
470
+ href: "#",
471
+ className: stl(_templateObject42 || (_templateObject42 = _taggedTemplateLiteral(["text-black underline hover:text-grey-800"]))),
472
+ onClick: function onClick(e) {
473
+ e.preventDefault();
474
+ var firstInvalid = steps.find(function (step) {
475
+ return getFieldState(step).status === "invalid";
476
+ });
477
+ if (firstInvalid) {
478
+ goToPage(steps.indexOf(firstInvalid) + 1);
479
+ }
480
+ },
481
+ children: "Go to first error"
482
+ })
564
483
  })]
565
- }, option.value);
484
+ });
485
+ }
486
+ }
487
+ }), /*#__PURE__*/_jsxs("div", {
488
+ className: stl(_templateObject43 || (_templateObject43 = _taggedTemplateLiteral(["flex transition-transform ease-out duration-500"]))),
489
+ style: {
490
+ transform: "translateX(-".concat((page - 1) * 100, "%)")
491
+ },
492
+ children: [/*#__PURE__*/_jsx(Field, {
493
+ label: /*#__PURE__*/_jsx("h2", {
494
+ className: stl(_templateObject44 || (_templateObject44 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
495
+ children: "How should we display products that contain multiple variants?"
496
+ }),
497
+ labelFor: variantsEnum[0],
498
+ state: getFieldState("variants"),
499
+ className: stl(_templateObject45 || (_templateObject45 = _taggedTemplateLiteral(["w-full shrink-0"]))),
500
+ children: /*#__PURE__*/_jsx("div", {
501
+ className: stl(_templateObject46 || (_templateObject46 = _taggedTemplateLiteral(["mt-7"]))),
502
+ children: variantsOptions.map(function (option) {
503
+ return /*#__PURE__*/_jsxs("label", {
504
+ htmlFor: option.value,
505
+ className: stl(_templateObject47 || (_templateObject47 = _taggedTemplateLiteral(["flex flex-col gap-3 p-6 rounded display-body transition-colors hover:bg-grey-100"]))),
506
+ children: [/*#__PURE__*/_jsxs("div", {
507
+ className: stl(_templateObject48 || (_templateObject48 = _taggedTemplateLiteral(["flex items-center gap-2"]))),
508
+ children: [/*#__PURE__*/_jsx(RadioButton, _objectSpread(_objectSpread({
509
+ id: option.value,
510
+ "aria-labelledby": option.value,
511
+ required: true
512
+ }, formik.getFieldProps({
513
+ name: "variants",
514
+ value: option.value,
515
+ type: "radio"
516
+ })), {}, {
517
+ className: stl(_templateObject49 || (_templateObject49 = _taggedTemplateLiteral(["shrink-0"])))
518
+ })), option.title]
519
+ }), /*#__PURE__*/_jsx("div", {
520
+ className: stl(_templateObject50 || (_templateObject50 = _taggedTemplateLiteral(["ml-6 typo-subdued"]))),
521
+ children: option.description
522
+ })]
523
+ }, option.value);
524
+ })
566
525
  })
567
- })
568
- }), /*#__PURE__*/_jsxs(Field, {
569
- label: /*#__PURE__*/_jsx("h2", {
570
- className: stl(_templateObject56 || (_templateObject56 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
571
- children: "Select how your customers can sort their search results"
572
- }),
573
- labelFor: sortingOptions[0],
574
- state: getFieldState("sorting"),
575
- className: stl(_templateObject57 || (_templateObject57 = _taggedTemplateLiteral(["w-full shrink-0"]))),
576
- children: [/*#__PURE__*/_jsx("div", {
577
- className: stl(_templateObject58 || (_templateObject58 = _taggedTemplateLiteral(["mt-4 typo-subdued"]))),
578
- children: "Select the sort order options you'd like to show customers. You can change these later."
579
- }), /*#__PURE__*/_jsx("div", {
580
- className: stl(_templateObject59 || (_templateObject59 = _taggedTemplateLiteral(["mt-7"]))),
581
- children: sortingOptions.map(function (option) {
582
- return /*#__PURE__*/_jsxs("label", {
583
- htmlFor: option,
584
- className: stl(_templateObject60 || (_templateObject60 = _taggedTemplateLiteral(["flex gap-2 p-4 rounded display-body transition-colors hover:bg-grey-100"]))),
585
- children: [/*#__PURE__*/_jsx(Checkbox, _objectSpread(_objectSpread({
586
- id: option,
587
- required: true,
588
- checked: formik.values.sorting.includes(option)
589
- }, formik.getFieldProps("sorting")), {}, {
590
- onChange: function onChange() {
591
- var fieldProps = formik.getFieldProps("sorting");
592
- formik.setFieldValue("sorting", fieldProps.value.includes(option) ? fieldProps.value.filter(function (v) {
593
- return v !== option;
594
- }) : [].concat(_toConsumableArray(fieldProps.value), [option]));
595
- }
596
- })), capitalize(option)]
597
- }, option);
526
+ }), /*#__PURE__*/_jsx(Field, {
527
+ label: /*#__PURE__*/_jsx("h2", {
528
+ className: stl(_templateObject51 || (_templateObject51 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
529
+ children: "How would you like to show out-of-stock items?"
530
+ }),
531
+ labelFor: outOfStockEnum[0],
532
+ state: getFieldState("outOfStock"),
533
+ className: stl(_templateObject52 || (_templateObject52 = _taggedTemplateLiteral(["w-full shrink-0"]))),
534
+ children: /*#__PURE__*/_jsx("div", {
535
+ className: stl(_templateObject53 || (_templateObject53 = _taggedTemplateLiteral(["mt-7"]))),
536
+ children: outOfStockOptions.map(function (option) {
537
+ return /*#__PURE__*/_jsxs("label", {
538
+ htmlFor: option.value,
539
+ className: stl(_templateObject54 || (_templateObject54 = _taggedTemplateLiteral(["flex flex-col gap-3 p-6 rounded display-body transition-colors hover:bg-grey-100"]))),
540
+ children: [/*#__PURE__*/_jsxs("div", {
541
+ className: stl(_templateObject55 || (_templateObject55 = _taggedTemplateLiteral(["flex items-center gap-2"]))),
542
+ children: [/*#__PURE__*/_jsx(RadioButton, _objectSpread(_objectSpread({
543
+ id: option.value,
544
+ "aria-labelledby": option.value,
545
+ required: true
546
+ }, formik.getFieldProps({
547
+ name: "outOfStock",
548
+ value: option.value,
549
+ type: "radio"
550
+ })), {}, {
551
+ className: stl(_templateObject56 || (_templateObject56 = _taggedTemplateLiteral(["shrink-0"])))
552
+ })), option.title]
553
+ }), /*#__PURE__*/_jsx("div", {
554
+ className: stl(_templateObject57 || (_templateObject57 = _taggedTemplateLiteral(["ml-6 typo-subdued"]))),
555
+ children: option.description
556
+ })]
557
+ }, option.value);
558
+ })
598
559
  })
560
+ }), /*#__PURE__*/_jsxs(Field, {
561
+ label: /*#__PURE__*/_jsx("h2", {
562
+ className: stl(_templateObject58 || (_templateObject58 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
563
+ children: "Select how your customers can sort their search results"
564
+ }),
565
+ labelFor: sortingOptions[0],
566
+ state: getFieldState("sorting"),
567
+ className: stl(_templateObject59 || (_templateObject59 = _taggedTemplateLiteral(["w-full shrink-0"]))),
568
+ children: [/*#__PURE__*/_jsx("div", {
569
+ className: stl(_templateObject60 || (_templateObject60 = _taggedTemplateLiteral(["mt-4 typo-subdued"]))),
570
+ children: "Select the sort order options you'd like to show customers. You can change these later."
571
+ }), /*#__PURE__*/_jsx("div", {
572
+ className: stl(_templateObject61 || (_templateObject61 = _taggedTemplateLiteral(["mt-7"]))),
573
+ children: sortingOptions.map(function (option) {
574
+ return /*#__PURE__*/_jsxs("label", {
575
+ htmlFor: option,
576
+ className: stl(_templateObject62 || (_templateObject62 = _taggedTemplateLiteral(["flex gap-2 p-4 rounded display-body transition-colors hover:bg-grey-100"]))),
577
+ children: [/*#__PURE__*/_jsx(Checkbox, _objectSpread(_objectSpread({
578
+ id: option,
579
+ required: true,
580
+ checked: formik.values.sorting.includes(option)
581
+ }, formik.getFieldProps("sorting")), {}, {
582
+ onChange: function onChange() {
583
+ var fieldProps = formik.getFieldProps("sorting");
584
+ void formik.setFieldValue("sorting", fieldProps.value.includes(option) ? fieldProps.value.filter(function (v) {
585
+ return v !== option;
586
+ }) : [].concat(_toConsumableArray(fieldProps.value), [option]));
587
+ }
588
+ })), capitalize(option)]
589
+ }, option);
590
+ })
591
+ })]
592
+ }), /*#__PURE__*/_jsxs(Field, {
593
+ label: /*#__PURE__*/_jsx("h2", {
594
+ className: stl(_templateObject63 || (_templateObject63 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
595
+ children: "Add filters to help narrow results"
596
+ }),
597
+ labelFor: filtersOptions[0],
598
+ state: getFieldState("filters"),
599
+ className: stl(_templateObject64 || (_templateObject64 = _taggedTemplateLiteral(["w-full shrink-0"]))),
600
+ children: [/*#__PURE__*/_jsxs("div", {
601
+ className: stl(_templateObject65 || (_templateObject65 = _taggedTemplateLiteral(["mt-4 typo-subdued"]))),
602
+ children: ["Select the filter options customers can use to refine results.", /*#__PURE__*/_jsx("br", {}), "You can edit these after setup."]
603
+ }), /*#__PURE__*/_jsx("div", {
604
+ className: stl(_templateObject66 || (_templateObject66 = _taggedTemplateLiteral(["mt-7"]))),
605
+ children: filtersOptions.map(function (option) {
606
+ return /*#__PURE__*/_jsxs("label", {
607
+ htmlFor: option,
608
+ className: stl(_templateObject67 || (_templateObject67 = _taggedTemplateLiteral(["flex gap-2 p-4 rounded display-body transition-colors hover:bg-grey-100"]))),
609
+ children: [/*#__PURE__*/_jsx(Checkbox, {
610
+ id: option,
611
+ required: true,
612
+ checked: formik.values.filters.includes(option),
613
+ onChange: function onChange() {
614
+ var fieldProps = formik.getFieldProps("filters");
615
+ void formik.setFieldValue("filters", fieldProps.value.includes(option) ? fieldProps.value.filter(function (v) {
616
+ return v !== option;
617
+ }) : [].concat(_toConsumableArray(fieldProps.value), [option]));
618
+ }
619
+ }), capitalize(option)]
620
+ }, option);
621
+ })
622
+ })]
599
623
  })]
600
- }), /*#__PURE__*/_jsxs(Field, {
601
- label: /*#__PURE__*/_jsx("h2", {
602
- className: stl(_templateObject61 || (_templateObject61 = _taggedTemplateLiteral(["display-xlarge whitespace-normal inline"]))),
603
- children: "Add filters to help narrow results"
604
- }),
605
- labelFor: filtersOptions[0],
606
- state: getFieldState("filters"),
607
- className: stl(_templateObject62 || (_templateObject62 = _taggedTemplateLiteral(["w-full shrink-0"]))),
624
+ }), /*#__PURE__*/_jsxs("div", {
625
+ className: stl(_templateObject68 || (_templateObject68 = _taggedTemplateLiteral(["w-full flex justify-between"]))),
608
626
  children: [/*#__PURE__*/_jsxs("div", {
609
- className: stl(_templateObject63 || (_templateObject63 = _taggedTemplateLiteral(["mt-4 typo-subdued"]))),
610
- children: ["Select the filter options customers can use to refine results.", /*#__PURE__*/_jsx("br", {}), "You can edit these after setup."]
611
- }), /*#__PURE__*/_jsx("div", {
612
- className: stl(_templateObject64 || (_templateObject64 = _taggedTemplateLiteral(["mt-7"]))),
613
- children: filtersOptions.map(function (option) {
614
- return /*#__PURE__*/_jsxs("label", {
615
- htmlFor: option,
616
- className: stl(_templateObject65 || (_templateObject65 = _taggedTemplateLiteral(["flex gap-2 p-4 rounded display-body transition-colors hover:bg-grey-100"]))),
617
- children: [/*#__PURE__*/_jsx(Checkbox, {
618
- id: option,
619
- required: true,
620
- checked: formik.values.filters.includes(option),
621
- onChange: function onChange() {
622
- var fieldProps = formik.getFieldProps("filters");
623
- formik.setFieldValue("filters", fieldProps.value.includes(option) ? fieldProps.value.filter(function (v) {
624
- return v !== option;
625
- }) : [].concat(_toConsumableArray(fieldProps.value), [option]));
626
- }
627
- }), capitalize(option)]
628
- }, option);
629
- })
630
- })]
631
- })]
632
- }), /*#__PURE__*/_jsxs("div", {
633
- className: stl(_templateObject66 || (_templateObject66 = _taggedTemplateLiteral(["w-full flex justify-between"]))),
634
- children: [/*#__PURE__*/_jsxs("div", {
635
- className: stl(_templateObject67 || (_templateObject67 = _taggedTemplateLiteral(["flex gap-2"]))),
636
- children: [/*#__PURE__*/_jsx(Button, {
637
- "aria-label": "Previous step",
638
- disabled: page <= 1,
627
+ className: stl(_templateObject69 || (_templateObject69 = _taggedTemplateLiteral(["flex gap-2"]))),
628
+ children: [/*#__PURE__*/_jsx(Button, {
629
+ "aria-label": "Previous step",
630
+ disabled: page <= 1,
631
+ onClick: function onClick() {
632
+ return goToPreviousPage();
633
+ },
634
+ children: "Back"
635
+ }), page >= steps.length ? /*#__PURE__*/_jsx(FormSubmit, {
636
+ variant: "primary",
637
+ "aria-label": "Complete",
638
+ children: "Complete"
639
+ }) : /*#__PURE__*/_jsx(Button, {
640
+ variant: "primary",
641
+ "aria-label": "Next step",
642
+ onClick: function onClick() {
643
+ void formik.validateField(steps[page - 1]).then(function () {
644
+ return setNextPageClicked(true);
645
+ });
646
+ },
647
+ children: "Next"
648
+ })]
649
+ }), /*#__PURE__*/_jsx(Button, {
650
+ variant: "subtle",
651
+ "aria-label": "Reset the form",
639
652
  onClick: function onClick() {
640
- return goToPreviousPage();
653
+ formik.resetForm();
654
+ goToPage(1);
641
655
  },
642
- children: "Back"
643
- }), page >= steps.length ? /*#__PURE__*/_jsx(ExperimentalFormSubmit, {
644
- variant: "primary",
645
- "aria-label": "Complete",
646
- children: "Complete"
647
- }) : /*#__PURE__*/_jsx(Button, {
648
- variant: "primary",
649
- "aria-label": "Next step",
650
- onClick: /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
651
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
652
- while (1) switch (_context2.prev = _context2.next) {
653
- case 0:
654
- _context2.next = 2;
655
- return formik.validateField(steps[page - 1]);
656
- case 2:
657
- setNextPageClicked(true); // See workaround above
658
- case 3:
659
- case "end":
660
- return _context2.stop();
661
- }
662
- }, _callee2);
663
- })),
664
- children: "Next"
656
+ children: "Reset"
665
657
  })]
666
- }), /*#__PURE__*/_jsx(Button, {
667
- variant: "subtle",
668
- "aria-label": "Reset the form",
669
- onClick: function onClick() {
670
- formik.resetForm();
671
- goToPage(1);
672
- },
673
- children: "Reset"
658
+ }), /*#__PURE__*/_jsx("div", {
659
+ className: stl(_templateObject70 || (_templateObject70 = _taggedTemplateLiteral(["mt-8 mx-auto"]))),
660
+ children: /*#__PURE__*/_jsx(DotPagination, {
661
+ nbPages: steps.length,
662
+ currentPage: page,
663
+ onChange: goToPage,
664
+ size: "small"
665
+ })
674
666
  })]
675
- }), /*#__PURE__*/_jsx("div", {
676
- className: stl(_templateObject68 || (_templateObject68 = _taggedTemplateLiteral(["mt-8 mx-auto"]))),
677
- children: /*#__PURE__*/_jsx(DotPagination, {
678
- nbPages: steps.length,
679
- currentPage: page,
680
- onChange: goToPage,
681
- size: "small"
682
- })
667
+ }), /*#__PURE__*/_jsx("hr", {
668
+ className: stl(_templateObject71 || (_templateObject71 = _taggedTemplateLiteral(["text-grey-500"])))
669
+ }), /*#__PURE__*/_jsx("code", {
670
+ className: stl(_templateObject72 || (_templateObject72 = _taggedTemplateLiteral(["whitespace-pre display-code"]))),
671
+ children: JSON.stringify(formData, null, 2)
683
672
  })]
684
- }), /*#__PURE__*/_jsx("hr", {
685
- className: stl(_templateObject69 || (_templateObject69 = _taggedTemplateLiteral(["text-grey-500"])))
686
- }), /*#__PURE__*/_jsx("code", {
687
- className: stl(_templateObject70 || (_templateObject70 = _taggedTemplateLiteral(["whitespace-pre display-code"]))),
688
- children: JSON.stringify(formData, null, 2)
689
- })]
673
+ })
690
674
  });
691
675
  };