@algolia/satellite 2.3.0-rc.5 → 2.3.0-rc.6

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 (40) hide show
  1. package/dist/cjs/Fields/Checkbox/Checkbox.d.ts +2 -2
  2. package/dist/cjs/Fields/Checkbox/Checkbox.js +2 -2
  3. package/dist/cjs/Fields/Dropzone/Dropzone.js +1 -1
  4. package/dist/cjs/Fields/Form/stories/Complex.js +123 -50
  5. package/dist/cjs/Fields/RadioGroup/RadioButton.js +9 -2
  6. package/dist/cjs/Fields/RadioGroup/RadioButton.tailwind.js +1 -1
  7. package/dist/cjs/Fields/RadioGroup/RadioGroupItem.js +1 -1
  8. package/dist/cjs/Fields/SelectableCard/SelectableCard.d.ts +35 -0
  9. package/dist/cjs/Fields/SelectableCard/SelectableCard.js +105 -0
  10. package/dist/cjs/Fields/SelectableCard/SelectableCardContext.d.ts +13 -0
  11. package/dist/cjs/Fields/SelectableCard/SelectableCardContext.js +15 -0
  12. package/dist/cjs/Fields/SelectableCard/SelectableCardGroup.d.ts +13 -0
  13. package/dist/cjs/Fields/SelectableCard/SelectableCardGroup.js +55 -0
  14. package/dist/cjs/Fields/SelectableCard/index.d.ts +2 -0
  15. package/dist/cjs/Fields/SelectableCard/index.js +27 -0
  16. package/dist/cjs/Fields/Switch/Switch.js +1 -1
  17. package/dist/cjs/Fields/index.d.ts +1 -0
  18. package/dist/cjs/Fields/index.js +11 -0
  19. package/dist/cjs/Helpers/utilities/focusable.tailwind.js +1 -1
  20. package/dist/esm/Fields/Checkbox/Checkbox.d.ts +2 -2
  21. package/dist/esm/Fields/Checkbox/Checkbox.js +2 -2
  22. package/dist/esm/Fields/Dropzone/Dropzone.js +1 -1
  23. package/dist/esm/Fields/Form/stories/Complex.js +123 -50
  24. package/dist/esm/Fields/RadioGroup/RadioButton.js +10 -3
  25. package/dist/esm/Fields/RadioGroup/RadioButton.tailwind.js +1 -1
  26. package/dist/esm/Fields/RadioGroup/RadioGroupItem.js +1 -1
  27. package/dist/esm/Fields/SelectableCard/SelectableCard.d.ts +35 -0
  28. package/dist/esm/Fields/SelectableCard/SelectableCard.js +100 -0
  29. package/dist/esm/Fields/SelectableCard/SelectableCardContext.d.ts +13 -0
  30. package/dist/esm/Fields/SelectableCard/SelectableCardContext.js +9 -0
  31. package/dist/esm/Fields/SelectableCard/SelectableCardGroup.d.ts +13 -0
  32. package/dist/esm/Fields/SelectableCard/SelectableCardGroup.js +48 -0
  33. package/dist/esm/Fields/SelectableCard/index.d.ts +2 -0
  34. package/dist/esm/Fields/SelectableCard/index.js +2 -0
  35. package/dist/esm/Fields/Switch/Switch.js +1 -1
  36. package/dist/esm/Fields/index.d.ts +1 -0
  37. package/dist/esm/Fields/index.js +1 -0
  38. package/dist/esm/Helpers/utilities/focusable.tailwind.js +1 -1
  39. package/dist/satellite.min.css +1 -1
  40. package/package.json +2 -2
@@ -15,12 +15,12 @@ declare type CheckboxCustomProps = {
15
15
  */
16
16
  checkedColor?: string;
17
17
  };
18
- declare type CheckboxInputProps = Omit<HTMLAttributes<HTMLInputElement>, "onChange"> & Pick<InputHTMLAttributes<HTMLInputElement>, "onChange" | "required" | "autoFocus" | "disabled" | "checked" | "defaultChecked">;
18
+ declare type CheckboxInputProps = Omit<HTMLAttributes<HTMLInputElement>, "onChange"> & Pick<InputHTMLAttributes<HTMLInputElement>, "onChange" | "required" | "autoFocus" | "disabled" | "checked" | "defaultChecked" | "name">;
19
19
  export declare type CheckboxProps = CheckboxInputProps & CheckboxCustomProps;
20
20
  /**
21
21
  * The `Checkbox` component is a control that allows single or multiple selections from a set of options.
22
22
  *
23
23
  * See the [Checkbox documentation page](https://satellite.algolia.com/8261d6576/p/023233-checkbox) for more information.
24
24
  */
25
- export declare const Checkbox: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLInputElement>, "onChange"> & Pick<InputHTMLAttributes<HTMLInputElement>, "onChange" | "defaultChecked" | "autoFocus" | "disabled" | "checked" | "required"> & CheckboxCustomProps & import("react").RefAttributes<HTMLInputElement>>;
25
+ export declare const Checkbox: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLInputElement>, "onChange"> & Pick<InputHTMLAttributes<HTMLInputElement>, "name" | "onChange" | "defaultChecked" | "autoFocus" | "disabled" | "checked" | "required"> & CheckboxCustomProps & import("react").RefAttributes<HTMLInputElement>>;
26
26
  export {};
@@ -73,7 +73,7 @@ var Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)(function (
73
73
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
74
74
  className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["group/checkbox inline-flex items-center ", ""])), textPosition === "left" && "flex-row-reverse"), className),
75
75
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
76
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n checkbox focusable-within\n ", "\n ", "\n ", "\n "])), indeterminate && "checkbox-indeterminate", isChecked && "checkbox-checked", disabled && "checkbox-disabled"), STATUS_CLASSNAMES[status]),
76
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n checkbox focusable-visible-within\n ", "\n ", "\n ", "\n "])), indeterminate && "checkbox-indeterminate", isChecked && "checkbox-checked", disabled && "checkbox-disabled"), STATUS_CLASSNAMES[status]),
77
77
  style: {
78
78
  color: checkedColor
79
79
  },
@@ -83,7 +83,7 @@ var Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)(function (
83
83
  "aria-labelledby": labelId,
84
84
  "aria-describedby": descriptionId
85
85
  }, checkboxProps), {}, {
86
- id: id !== null && id !== void 0 ? id : inputId,
86
+ id: id,
87
87
  required: required,
88
88
  "aria-invalid": status === "invalid",
89
89
  "aria-checked": indeterminate ? "mixed" : isChecked,
@@ -142,7 +142,7 @@ var Dropzone = exports.Dropzone = /*#__PURE__*/(0, _react.forwardRef)(function (
142
142
  "aria-labelledby": labelId,
143
143
  "aria-describedby": descriptionId,
144
144
  "aria-invalid": isInvalid,
145
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n relative flex items-center group/dropzone bg-white\n border border-dashed rounded\n overflow-hidden transition-colors\n focusable focus-visible:border-transparent\n min-h-16 p-4\n ", "\n ", "\n ", ""])), disabled ? "cursor-not-allowed border-grey-200" : "cursor-pointer border-grey-500", isDragReject && !disabled ? "border-red-200 cursor-not-allowed" : isDragActive ? "border-accent-500 cursor-pointer" : null, !disabled && (isInvalid ? "bg-red-100 border-red-700 hover:bg-red-50" : "bg-white hover:bg-grey-100")), className),
145
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n relative flex items-center group/dropzone bg-white\n border border-dashed rounded\n overflow-hidden transition-colors\n focusable-visible focus-visible:border-transparent\n min-h-16 p-4\n ", "\n ", "\n ", ""])), disabled ? "cursor-not-allowed border-grey-200" : "cursor-pointer border-grey-500", isDragReject && !disabled ? "border-red-200 cursor-not-allowed" : isDragActive ? "border-accent-500 cursor-pointer" : null, !disabled && (isInvalid ? "bg-red-100 border-red-700 hover:bg-red-50" : "bg-white hover:bg-grey-100")), className),
146
146
  onClick: function onClick(evt) {
147
147
  // Helps with https://github.com/react-dropzone/react-dropzone/issues/182
148
148
  if (evt.target.closest("label")) {
@@ -24,11 +24,13 @@ var _Input = require("./../../Input");
24
24
  var _RadioGroup = require("./../../RadioGroup");
25
25
  var _RangeSlider = require("./../../RangeSlider");
26
26
  var _Select = require("./../../Select");
27
+ var _SelectableCard = require("./../../SelectableCard/SelectableCard");
28
+ var _SelectableCardGroup = require("./../../SelectableCard/SelectableCardGroup");
27
29
  var _Switch = require("./../../Switch");
28
30
  var _TextArea = require("./../../TextArea");
29
31
  var _satellitePrefixer = _interopRequireDefault(require("./../../../styles/helpers/satellitePrefixer"));
30
32
  var _jsxRuntime = require("react/jsx-runtime");
31
- 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;
33
+ 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;
32
34
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
33
35
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
34
36
  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; }
@@ -43,6 +45,7 @@ var initialFormData = {
43
45
  employmentStatus: "",
44
46
  birthday: null,
45
47
  age: "",
48
+ hobbies: [],
46
49
  interest: 0,
47
50
  idealLocation: [0, 50],
48
51
  profilePicture: null,
@@ -60,6 +63,7 @@ var jobPositions = ["Frontend Developer", "Backend Developer", "Fullstack Develo
60
63
  var now = new Date();
61
64
  var genders = ["please select", "woman", "man", "transgender man", "transgender woman", "non-binary", "agender", "prefer not to state"];
62
65
  var employmentStatuses = ["employed", "unemployed", "student"];
66
+ var hobbies = ["reading", "writing", "coding"];
63
67
  var zodSchema = _zod2.z.object({
64
68
  firstName: _zod2.z.string().min(1, {
65
69
  message: "You must specify a first name"
@@ -120,6 +124,15 @@ var zodSchema = _zod2.z.object({
120
124
  }).lte(100, {
121
125
  message: "You must be at most 100 years old"
122
126
  }),
127
+ hobbies: _zod2.z.array(_zod2.z["enum"](hobbies, {
128
+ errorMap: function errorMap() {
129
+ return {
130
+ message: "You must specify at least one hobby"
131
+ };
132
+ }
133
+ })).min(1, {
134
+ message: "You must specify at least one hobby"
135
+ }),
123
136
  interest: _zod2.z.number().min(5, {
124
137
  message: "Your level of interest must be at least 5"
125
138
  }),
@@ -415,18 +428,50 @@ var RHFComplexComponent = exports.RHFComplexComponent = function RHFComplexCompo
415
428
  });
416
429
  }
417
430
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
418
- name: "interest",
431
+ name: "hobbies",
419
432
  control: control,
420
433
  render: function render(_ref10) {
421
434
  var field = _ref10.field;
435
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.Field, {
436
+ label: "Hobbies",
437
+ labelFor: hobbies[0],
438
+ description: "Please specify your hobbies",
439
+ state: getFieldState("hobbies"),
440
+ className: (0, _satellitePrefixer["default"])(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
441
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectableCardGroup.SelectableCardGroup, {
442
+ type: "multiple",
443
+ className: (0, _satellitePrefixer["default"])(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["flex gap-2"]))),
444
+ value: field.value,
445
+ onValueChange: field.onChange,
446
+ required: true,
447
+ children: hobbies.map(function (hobby) {
448
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
449
+ htmlFor: hobby,
450
+ className: (0, _satellitePrefixer["default"])(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["flex-1 cursor-pointer"]))),
451
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectableCard.SelectableCard, {
452
+ id: hobby,
453
+ value: hobby,
454
+ className: (0, _satellitePrefixer["default"])(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["p-4"]))),
455
+ children: (0, _capitalize["default"])(hobby)
456
+ })
457
+ }, hobby);
458
+ })
459
+ })
460
+ });
461
+ }
462
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
463
+ name: "interest",
464
+ control: control,
465
+ render: function render(_ref11) {
466
+ var field = _ref11.field;
422
467
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Field.Field, {
423
468
  label: "Interest",
424
469
  labelFor: "interest",
425
470
  description: "Please specify your interest",
426
471
  state: getFieldState("interest"),
427
- className: (0, _satellitePrefixer["default"])(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
472
+ className: (0, _satellitePrefixer["default"])(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
428
473
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
429
- className: (0, _satellitePrefixer["default"])(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["display-caption flex justify-between mb-2"]))),
474
+ className: (0, _satellitePrefixer["default"])(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["display-caption flex justify-between mb-2"]))),
430
475
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
431
476
  children: "0"
432
477
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -445,16 +490,16 @@ var RHFComplexComponent = exports.RHFComplexComponent = function RHFComplexCompo
445
490
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
446
491
  name: "idealLocation",
447
492
  control: control,
448
- render: function render(_ref11) {
449
- var field = _ref11.field;
493
+ render: function render(_ref12) {
494
+ var field = _ref12.field;
450
495
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Field.Field, {
451
496
  label: "Ideal Location",
452
497
  labelFor: "idealLocation",
453
498
  description: "Please specify your ideal location",
454
499
  state: getFieldState("idealLocation"),
455
- className: (0, _satellitePrefixer["default"])(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
500
+ className: (0, _satellitePrefixer["default"])(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
456
501
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
457
- className: (0, _satellitePrefixer["default"])(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["display-caption flex justify-between mb-2"]))),
502
+ className: (0, _satellitePrefixer["default"])(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["display-caption flex justify-between mb-2"]))),
458
503
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
459
504
  children: "0 km"
460
505
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -480,14 +525,14 @@ var RHFComplexComponent = exports.RHFComplexComponent = function RHFComplexCompo
480
525
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
481
526
  name: "profilePicture",
482
527
  control: control,
483
- render: function render(_ref12) {
484
- var field = _ref12.field;
528
+ render: function render(_ref13) {
529
+ var field = _ref13.field;
485
530
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.Field, {
486
531
  label: "Profile Picture",
487
532
  labelFor: "profilePicture",
488
533
  description: "Please upload your profile picture, 1 MB minimum",
489
534
  state: getFieldState("profilePicture"),
490
- className: (0, _satellitePrefixer["default"])(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
535
+ className: (0, _satellitePrefixer["default"])(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
491
536
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Dropzone, _objectSpread(_objectSpread({
492
537
  id: "profilePicture",
493
538
  minSize: 1024 * 1024 * 1,
@@ -503,14 +548,14 @@ var RHFComplexComponent = exports.RHFComplexComponent = function RHFComplexCompo
503
548
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
504
549
  name: "bio",
505
550
  control: control,
506
- render: function render(_ref13) {
507
- var field = _ref13.field;
551
+ render: function render(_ref14) {
552
+ var field = _ref14.field;
508
553
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.Field, {
509
554
  label: "Bio",
510
555
  labelFor: "bio",
511
556
  description: "Please write a short bio",
512
557
  state: getFieldState("bio"),
513
- className: (0, _satellitePrefixer["default"])(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
558
+ className: (0, _satellitePrefixer["default"])(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
514
559
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextArea.TextArea, _objectSpread({
515
560
  id: "bio",
516
561
  required: true
@@ -520,14 +565,14 @@ var RHFComplexComponent = exports.RHFComplexComponent = function RHFComplexCompo
520
565
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
521
566
  name: "acceptTerms",
522
567
  control: control,
523
- render: function render(_ref14) {
524
- var field = _ref14.field;
568
+ render: function render(_ref15) {
569
+ var field = _ref15.field;
525
570
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.Field, {
526
571
  label: "Accept Terms",
527
572
  labelFor: "acceptTerms",
528
573
  description: "Please accept the terms",
529
574
  state: getFieldState("acceptTerms"),
530
- className: (0, _satellitePrefixer["default"])(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
575
+ className: (0, _satellitePrefixer["default"])(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
531
576
  inline: true,
532
577
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Checkbox, _objectSpread({
533
578
  id: "acceptTerms",
@@ -539,14 +584,14 @@ var RHFComplexComponent = exports.RHFComplexComponent = function RHFComplexCompo
539
584
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
540
585
  name: "newsletter",
541
586
  control: control,
542
- render: function render(_ref15) {
543
- var field = _ref15.field;
587
+ render: function render(_ref16) {
588
+ var field = _ref16.field;
544
589
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.Field, {
545
590
  label: "Receive Newsletter",
546
591
  labelFor: "newsletter",
547
592
  description: "Do you want to receive our newsletter?",
548
593
  state: getFieldState("newsletter"),
549
- className: (0, _satellitePrefixer["default"])(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
594
+ className: (0, _satellitePrefixer["default"])(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
550
595
  inline: true,
551
596
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch.Switch, _objectSpread({
552
597
  id: "newsletter",
@@ -556,7 +601,7 @@ var RHFComplexComponent = exports.RHFComplexComponent = function RHFComplexCompo
556
601
  });
557
602
  }
558
603
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
559
- className: (0, _satellitePrefixer["default"])(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["flex gap-2"]))),
604
+ className: (0, _satellitePrefixer["default"])(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["flex gap-2"]))),
560
605
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Form.FormSubmit, {
561
606
  variant: "primary",
562
607
  "aria-label": "Save the form",
@@ -570,9 +615,9 @@ var RHFComplexComponent = exports.RHFComplexComponent = function RHFComplexCompo
570
615
  })]
571
616
  })]
572
617
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("hr", {
573
- className: (0, _satellitePrefixer["default"])(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["text-grey-500"])))
618
+ className: (0, _satellitePrefixer["default"])(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["text-grey-500"])))
574
619
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("code", {
575
- className: (0, _satellitePrefixer["default"])(_templateObject25 || (_templateObject25 = (0, _taggedTemplateLiteral2["default"])(["whitespace-pre display-code"]))),
620
+ className: (0, _satellitePrefixer["default"])(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["whitespace-pre display-code"]))),
576
621
  children: JSON.stringify(formData, null, 2)
577
622
  })]
578
623
  })
@@ -593,10 +638,11 @@ var yupSchema = yup.object({
593
638
  return value < now;
594
639
  }),
595
640
  age: yup.number().min(18, "You must be at least 18 years old").max(100, "You must be at most 100 years old").required("You must specify an age"),
641
+ hobbies: yup.array(yup.string().oneOf(hobbies)).min(1, "You must specify at least one hobby"),
596
642
  interest: yup.number().min(5, "Your level of interest must be at least 5").required(),
597
643
  idealLocation: yup.array(yup.number().min(10, "Your minimum ideal location must be 10 km").max(40, "Your maximum ideal location must be 40 km").required()).required(),
598
- profilePicture: yup.mixed().nullable().test("profilePicture", function (_ref16) {
599
- var value = _ref16.value;
644
+ profilePicture: yup.mixed().nullable().test("profilePicture", function (_ref17) {
645
+ var value = _ref17.value;
600
646
  return value.errors.map(function (error) {
601
647
  return error.message;
602
648
  }).join(", ");
@@ -648,9 +694,9 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
648
694
  };
649
695
  (0, _useFormikAutoFocusOnError.useFormikAutoFocusOnError)(formik);
650
696
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
651
- className: (0, _satellitePrefixer["default"])(_templateObject26 || (_templateObject26 = (0, _taggedTemplateLiteral2["default"])(["@container w-full flex justify-center"]))),
697
+ className: (0, _satellitePrefixer["default"])(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["@container w-full flex justify-center"]))),
652
698
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
653
- className: (0, _satellitePrefixer["default"])(_templateObject27 || (_templateObject27 = (0, _taggedTemplateLiteral2["default"])(["flex flex-col gap-8 w-full @lg:w-1/2"]))),
699
+ className: (0, _satellitePrefixer["default"])(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["flex flex-col gap-8 w-full @lg:w-1/2"]))),
654
700
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Form.Form, {
655
701
  onSubmit: function onSubmit(e) {
656
702
  setRevalidationEnabled(true);
@@ -660,13 +706,13 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
660
706
  setRevalidationEnabled(false);
661
707
  formik.handleReset(e);
662
708
  },
663
- className: (0, _satellitePrefixer["default"])(_templateObject28 || (_templateObject28 = (0, _taggedTemplateLiteral2["default"])(["flex flex-col items-start gap-6 min-w-72"]))),
709
+ className: (0, _satellitePrefixer["default"])(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteral2["default"])(["flex flex-col items-start gap-6 min-w-72"]))),
664
710
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Form.FormErrorMessage, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.Field, {
665
711
  label: "First Name",
666
712
  labelFor: "firstName",
667
713
  description: "Please enter your first name",
668
714
  state: getFieldState("firstName"),
669
- className: (0, _satellitePrefixer["default"])(_templateObject29 || (_templateObject29 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
715
+ className: (0, _satellitePrefixer["default"])(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
670
716
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.Input, _objectSpread({
671
717
  id: "firstName",
672
718
  placeholder: "John",
@@ -677,7 +723,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
677
723
  labelFor: "lastName",
678
724
  description: "Please enter your last name",
679
725
  state: getFieldState("lastName"),
680
- className: (0, _satellitePrefixer["default"])(_templateObject30 || (_templateObject30 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
726
+ className: (0, _satellitePrefixer["default"])(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
681
727
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.Input, _objectSpread({
682
728
  id: "lastName",
683
729
  placeholder: "Doe",
@@ -688,7 +734,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
688
734
  labelFor: "password",
689
735
  description: "Please enter your password",
690
736
  state: getFieldState("password"),
691
- className: (0, _satellitePrefixer["default"])(_templateObject31 || (_templateObject31 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
737
+ className: (0, _satellitePrefixer["default"])(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
692
738
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.Input, _objectSpread({
693
739
  id: "password",
694
740
  placeholder: "Password",
@@ -700,14 +746,14 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
700
746
  labelFor: civilities[0],
701
747
  description: "Please enter your civility",
702
748
  state: getFieldState("civility"),
703
- className: (0, _satellitePrefixer["default"])(_templateObject32 || (_templateObject32 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
749
+ className: (0, _satellitePrefixer["default"])(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
704
750
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
705
- className: (0, _satellitePrefixer["default"])(_templateObject33 || (_templateObject33 = (0, _taggedTemplateLiteral2["default"])(["flex gap-4 display-body"]))),
751
+ className: (0, _satellitePrefixer["default"])(_templateObject37 || (_templateObject37 = (0, _taggedTemplateLiteral2["default"])(["flex gap-4 display-body"]))),
706
752
  children: civilities.map(function (civility, index) {
707
753
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("label", {
708
754
  id: index === 0 ? "civility" : undefined,
709
755
  htmlFor: civility,
710
- className: (0, _satellitePrefixer["default"])(_templateObject34 || (_templateObject34 = (0, _taggedTemplateLiteral2["default"])(["flex items-center gap-1"]))),
756
+ className: (0, _satellitePrefixer["default"])(_templateObject38 || (_templateObject38 = (0, _taggedTemplateLiteral2["default"])(["flex items-center gap-1"]))),
711
757
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_RadioGroup.RadioButton, _objectSpread({
712
758
  id: civility,
713
759
  "aria-labelledby": civility,
@@ -725,7 +771,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
725
771
  labelFor: "gender",
726
772
  description: "Please specify your gender",
727
773
  state: getFieldState("gender"),
728
- className: (0, _satellitePrefixer["default"])(_templateObject35 || (_templateObject35 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
774
+ className: (0, _satellitePrefixer["default"])(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
729
775
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Select.Select, _objectSpread(_objectSpread({
730
776
  id: "gender",
731
777
  required: true
@@ -742,7 +788,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
742
788
  labelFor: "jobPositions",
743
789
  description: "Please specify the job positions you are interested in",
744
790
  state: getFieldState("jobPositions"),
745
- className: (0, _satellitePrefixer["default"])(_templateObject36 || (_templateObject36 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
791
+ className: (0, _satellitePrefixer["default"])(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
746
792
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.AutoComplete, {
747
793
  id: "jobPositions",
748
794
  options: jobPositions,
@@ -761,7 +807,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
761
807
  labelFor: "employmentStatus",
762
808
  description: "Please specify your employment status",
763
809
  state: getFieldState("employmentStatus"),
764
- className: (0, _satellitePrefixer["default"])(_templateObject37 || (_templateObject37 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
810
+ className: (0, _satellitePrefixer["default"])(_templateObject41 || (_templateObject41 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
765
811
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadioGroup.RadioGroup, {
766
812
  id: "employmentStatus",
767
813
  required: true,
@@ -781,7 +827,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
781
827
  labelFor: "birthday",
782
828
  description: "Please specify your birthday",
783
829
  state: getFieldState("birthday"),
784
- className: (0, _satellitePrefixer["default"])(_templateObject38 || (_templateObject38 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
830
+ className: (0, _satellitePrefixer["default"])(_templateObject42 || (_templateObject42 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
785
831
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.DateInput, {
786
832
  id: "birthday",
787
833
  required: true,
@@ -802,7 +848,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
802
848
  labelFor: "age",
803
849
  description: "Please specify your age",
804
850
  state: getFieldState("age"),
805
- className: (0, _satellitePrefixer["default"])(_templateObject39 || (_templateObject39 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
851
+ className: (0, _satellitePrefixer["default"])(_templateObject43 || (_templateObject43 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
806
852
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.Input, _objectSpread({
807
853
  id: "age",
808
854
  type: "number",
@@ -810,14 +856,41 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
810
856
  step: 1,
811
857
  required: true
812
858
  }, formik.getFieldProps("age")))
859
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.Field, {
860
+ label: "Hobbies",
861
+ labelFor: hobbies[0],
862
+ description: "Please specify your hobbies",
863
+ state: getFieldState("hobbies"),
864
+ className: (0, _satellitePrefixer["default"])(_templateObject44 || (_templateObject44 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
865
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectableCardGroup.SelectableCardGroup, {
866
+ type: "multiple",
867
+ className: (0, _satellitePrefixer["default"])(_templateObject45 || (_templateObject45 = (0, _taggedTemplateLiteral2["default"])(["flex gap-2"]))),
868
+ value: formik.values.hobbies,
869
+ onValueChange: function onValueChange(value) {
870
+ return formik.setFieldValue("hobbies", value);
871
+ },
872
+ required: true,
873
+ children: hobbies.map(function (hobby) {
874
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("label", {
875
+ htmlFor: hobby,
876
+ className: (0, _satellitePrefixer["default"])(_templateObject46 || (_templateObject46 = (0, _taggedTemplateLiteral2["default"])(["flex-1 cursor-pointer"]))),
877
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SelectableCard.SelectableCard, {
878
+ id: hobby,
879
+ value: hobby,
880
+ className: (0, _satellitePrefixer["default"])(_templateObject47 || (_templateObject47 = (0, _taggedTemplateLiteral2["default"])(["p-4"]))),
881
+ children: (0, _capitalize["default"])(hobby)
882
+ })
883
+ }, hobby);
884
+ })
885
+ })
813
886
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Field.Field, {
814
887
  label: "Interest",
815
888
  labelFor: "interest",
816
889
  description: "Please specify your interest",
817
890
  state: getFieldState("interest"),
818
- className: (0, _satellitePrefixer["default"])(_templateObject40 || (_templateObject40 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
891
+ className: (0, _satellitePrefixer["default"])(_templateObject48 || (_templateObject48 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
819
892
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
820
- className: (0, _satellitePrefixer["default"])(_templateObject41 || (_templateObject41 = (0, _taggedTemplateLiteral2["default"])(["display-caption flex justify-between mb-2"]))),
893
+ className: (0, _satellitePrefixer["default"])(_templateObject49 || (_templateObject49 = (0, _taggedTemplateLiteral2["default"])(["display-caption flex justify-between mb-2"]))),
821
894
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
822
895
  children: "0"
823
896
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -840,9 +913,9 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
840
913
  labelFor: "idealLocation",
841
914
  description: "Please specify your ideal location",
842
915
  state: getFieldState("idealLocation"),
843
- className: (0, _satellitePrefixer["default"])(_templateObject42 || (_templateObject42 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
916
+ className: (0, _satellitePrefixer["default"])(_templateObject50 || (_templateObject50 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
844
917
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("p", {
845
- className: (0, _satellitePrefixer["default"])(_templateObject43 || (_templateObject43 = (0, _taggedTemplateLiteral2["default"])(["display-caption flex justify-between mb-2"]))),
918
+ className: (0, _satellitePrefixer["default"])(_templateObject51 || (_templateObject51 = (0, _taggedTemplateLiteral2["default"])(["display-caption flex justify-between mb-2"]))),
846
919
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
847
920
  children: "0 km"
848
921
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
@@ -872,7 +945,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
872
945
  labelFor: "profilePicture",
873
946
  description: "Please upload your profile picture, 1 MB minimum",
874
947
  state: getFieldState("profilePicture"),
875
- className: (0, _satellitePrefixer["default"])(_templateObject44 || (_templateObject44 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
948
+ className: (0, _satellitePrefixer["default"])(_templateObject52 || (_templateObject52 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
876
949
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Dropzone, {
877
950
  id: "profilePicture",
878
951
  minSize: 1024 * 1024 * 1,
@@ -887,7 +960,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
887
960
  labelFor: "bio",
888
961
  description: "Please write a short bio",
889
962
  state: getFieldState("bio"),
890
- className: (0, _satellitePrefixer["default"])(_templateObject45 || (_templateObject45 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
963
+ className: (0, _satellitePrefixer["default"])(_templateObject53 || (_templateObject53 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
891
964
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_TextArea.TextArea, _objectSpread({
892
965
  id: "bio",
893
966
  required: true
@@ -897,7 +970,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
897
970
  labelFor: "acceptTerms",
898
971
  description: "Please accept the terms",
899
972
  state: getFieldState("acceptTerms"),
900
- className: (0, _satellitePrefixer["default"])(_templateObject46 || (_templateObject46 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
973
+ className: (0, _satellitePrefixer["default"])(_templateObject54 || (_templateObject54 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
901
974
  inline: true,
902
975
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.Checkbox, _objectSpread({
903
976
  id: "acceptTerms",
@@ -909,7 +982,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
909
982
  labelFor: "newsletter",
910
983
  description: "Do you want to receive our newsletter?",
911
984
  state: getFieldState("newsletter"),
912
- className: (0, _satellitePrefixer["default"])(_templateObject47 || (_templateObject47 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
985
+ className: (0, _satellitePrefixer["default"])(_templateObject55 || (_templateObject55 = (0, _taggedTemplateLiteral2["default"])(["w-full"]))),
913
986
  inline: true,
914
987
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Switch.Switch, _objectSpread({
915
988
  id: "newsletter",
@@ -917,7 +990,7 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
917
990
  checked: formik.values.newsletter
918
991
  }, formik.getFieldProps("newsletter")))
919
992
  }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
920
- className: (0, _satellitePrefixer["default"])(_templateObject48 || (_templateObject48 = (0, _taggedTemplateLiteral2["default"])(["flex gap-2"]))),
993
+ className: (0, _satellitePrefixer["default"])(_templateObject56 || (_templateObject56 = (0, _taggedTemplateLiteral2["default"])(["flex gap-2"]))),
921
994
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Form.FormSubmit, {
922
995
  variant: "primary",
923
996
  "aria-label": "Save the form",
@@ -931,9 +1004,9 @@ var FormikComplexComponent = exports.FormikComplexComponent = function FormikCom
931
1004
  })]
932
1005
  })]
933
1006
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("hr", {
934
- className: (0, _satellitePrefixer["default"])(_templateObject49 || (_templateObject49 = (0, _taggedTemplateLiteral2["default"])(["text-grey-500"])))
1007
+ className: (0, _satellitePrefixer["default"])(_templateObject57 || (_templateObject57 = (0, _taggedTemplateLiteral2["default"])(["text-grey-500"])))
935
1008
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("code", {
936
- className: (0, _satellitePrefixer["default"])(_templateObject50 || (_templateObject50 = (0, _taggedTemplateLiteral2["default"])(["whitespace-pre display-code"]))),
1009
+ className: (0, _satellitePrefixer["default"])(_templateObject58 || (_templateObject58 = (0, _taggedTemplateLiteral2["default"])(["whitespace-pre display-code"]))),
937
1010
  children: JSON.stringify(formData, null, 2)
938
1011
  })]
939
1012
  })
@@ -12,6 +12,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _react = require("react");
13
13
  var _Field = require("./../Field");
14
14
  var _satellitePrefixer = _interopRequireDefault(require("./../../styles/helpers/satellitePrefixer"));
15
+ var _utils = require("./../../utils");
15
16
  var _jsxRuntime = require("react/jsx-runtime");
16
17
  var _templateObject;
17
18
  var _excluded = ["className", "required"];
@@ -31,14 +32,20 @@ var RadioButton = exports.RadioButton = /*#__PURE__*/(0, _react.forwardRef)(func
31
32
  required: required
32
33
  }),
33
34
  state = _useField.state,
34
- descriptionId = _useField.descriptionId;
35
+ descriptionId = _useField.descriptionId,
36
+ inputId = _useField.inputId;
37
+ var id = (0, _react.useMemo)(function () {
38
+ var _ref2, _props$id;
39
+ return (_ref2 = (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : inputId) !== null && _ref2 !== void 0 ? _ref2 : (0, _utils.uniqueId)("radio-button");
40
+ }, [props.id, inputId]);
35
41
  var isInvalid = state.status === "invalid";
36
42
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread(_objectSpread({
37
43
  "aria-describedby": descriptionId
38
44
  }, props), {}, {
39
45
  required: required,
46
+ id: id,
40
47
  "aria-invalid": isInvalid,
41
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["radio-button focusable ", ""])), isInvalid && "radio-button-invalid"), className),
48
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["radio-button focusable-visible ", ""])), isInvalid && "radio-button-invalid"), className),
42
49
  type: "radio",
43
50
  ref: ref
44
51
  }));
@@ -37,7 +37,7 @@ var radioButtonPlugin = plugin(function (_ref) {
37
37
  background: theme("colors.accent.600"),
38
38
  borderRadius: "50%"
39
39
  },
40
- "&:hover": {
40
+ "&:not(.radio-button:disabled):hover": {
41
41
  borderColor: theme("colors.accent.700")
42
42
  }
43
43
  },
@@ -50,7 +50,7 @@ var RadioGroupItem = exports.RadioGroupItem = function RadioGroupItem(_ref) {
50
50
  className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["flex-1 truncate ", ""])), textPosition === "right" ? "ml-2" : "mr-2"),
51
51
  children: children
52
52
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadioButton.RadioButton, {
53
- id: checked || isFirstChild && !contextValue ? id : undefined,
53
+ id: checked || isFirstChild && !contextValue ? id : (0, _uniqueId.uniqueId)("radio-group-item"),
54
54
  className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["shrink-0 self-start mt-1"]))),
55
55
  value: value,
56
56
  checked: checked,
@@ -0,0 +1,35 @@
1
+ import type { ForwardRefExoticComponent, PropsWithoutRef, RefAttributes } from "react";
2
+ import type { CardProps } from "../../Layout";
3
+ import { Card } from "../../Layout";
4
+ declare type SelectableCardBaseProps = Omit<CardProps, "elevation"> & {
5
+ /**
6
+ * The color of the selected card.
7
+ */
8
+ selectedColor?: keyof typeof SELECTED_COLOR_CLASSNAMES;
9
+ };
10
+ export declare type SelectableCardProps = SelectableCardBaseProps & {
11
+ /**
12
+ * Whether the `SelectableCard` is disabled.
13
+ */
14
+ disabled?: boolean;
15
+ /**
16
+ * The value of the `SelectableCard`.
17
+ */
18
+ value: string;
19
+ };
20
+ interface SelectableCardType extends ForwardRefExoticComponent<PropsWithoutRef<SelectableCardProps> & RefAttributes<HTMLElement>> {
21
+ Header: typeof Card.Header;
22
+ Title: typeof Card.Title;
23
+ }
24
+ declare const SELECTED_COLOR_CLASSNAMES: {
25
+ readonly grey: string;
26
+ readonly pink: string;
27
+ readonly accent: string;
28
+ readonly blue: string;
29
+ readonly green: string;
30
+ readonly orange: string;
31
+ readonly red: string;
32
+ readonly xenon: string;
33
+ };
34
+ export declare const SelectableCard: SelectableCardType;
35
+ export {};