@algolia/satellite 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/dist/cjs/AutoComplete/AutoComplete.d.ts +1 -1
  2. package/dist/cjs/AutoComplete/AutoComplete.js +49 -26
  3. package/dist/cjs/AutoComplete/AutoComplete.tailwind.js +9 -1
  4. package/dist/cjs/AutoComplete/types.d.ts +1 -0
  5. package/dist/cjs/Checkbox/Checkbox.d.ts +1 -1
  6. package/dist/cjs/Checkbox/Checkbox.js +21 -13
  7. package/dist/cjs/Checkbox/Checkbox.tailwind.js +8 -2
  8. package/dist/cjs/DatePicker/DatePicker/DatePicker.d.ts +4 -2
  9. package/dist/cjs/DatePicker/DatePicker/DatePicker.js +18 -7
  10. package/dist/cjs/DatePicker/components/Display.d.ts +3 -3
  11. package/dist/cjs/DatePicker/components/Display.js +16 -5
  12. package/dist/cjs/Dropzone/Dropzone.d.ts +4 -2
  13. package/dist/cjs/Dropzone/Dropzone.js +23 -12
  14. package/dist/cjs/Field/Field.d.ts +1 -0
  15. package/dist/cjs/Field/Field.js +63 -11
  16. package/dist/cjs/Field/FieldContext.d.ts +3 -0
  17. package/dist/cjs/Field/useField.d.ts +4 -1
  18. package/dist/cjs/Field/useField.js +17 -1
  19. package/dist/cjs/Form/Form.d.ts +16 -0
  20. package/dist/cjs/Form/Form.js +140 -0
  21. package/dist/cjs/Form/FormContext.d.ts +13 -0
  22. package/dist/cjs/Form/FormContext.js +8 -0
  23. package/dist/cjs/Form/index.d.ts +3 -0
  24. package/dist/cjs/Form/index.js +27 -0
  25. package/dist/cjs/Form/stories/AsynchronousValidation.js +396 -0
  26. package/dist/cjs/Form/stories/Complex.js +928 -0
  27. package/dist/cjs/Form/stories/DependentFieldsValidation.js +249 -0
  28. package/dist/cjs/Form/stories/DirtyFields.js +339 -0
  29. package/dist/cjs/Form/stories/DynamicFieldsValidation.js +425 -0
  30. package/dist/cjs/Form/stories/FieldArrays.js +549 -0
  31. package/dist/cjs/Form/stories/ValidationStrategies.js +455 -0
  32. package/dist/cjs/Form/stories/utils/useFormikAutoFocusOnError.js +22 -0
  33. package/dist/cjs/Form/useForm.d.ts +1 -0
  34. package/dist/cjs/Form/useForm.js +11 -0
  35. package/dist/cjs/Input/Input.js +22 -9
  36. package/dist/cjs/Input/Input.tailwind.js +7 -2
  37. package/dist/cjs/Pagination/DotPagination/DotPagination.d.ts +1 -1
  38. package/dist/cjs/RadioGroup/RadioButton.d.ts +1 -1
  39. package/dist/cjs/RadioGroup/RadioButton.js +16 -3
  40. package/dist/cjs/RadioGroup/RadioButton.tailwind.js +23 -0
  41. package/dist/cjs/RadioGroup/RadioGroup.d.ts +7 -5
  42. package/dist/cjs/RadioGroup/RadioGroup.js +78 -16
  43. package/dist/cjs/RadioGroup/{RadiogroupContext.d.ts → RadioGroupContext.d.ts} +8 -1
  44. package/dist/cjs/RangeSlider/RangeSlider.d.ts +2 -3
  45. package/dist/cjs/RangeSlider/RangeSlider.js +27 -10
  46. package/dist/cjs/Satellite/locale.d.ts +2 -0
  47. package/dist/cjs/Select/Select.js +39 -6
  48. package/dist/cjs/Select/Select.tailwind.js +19 -0
  49. package/dist/cjs/Stepper/Step.js +2 -2
  50. package/dist/cjs/Switch/Switch.js +2 -2
  51. package/dist/cjs/Switch/SwitchOption.js +3 -3
  52. package/dist/cjs/Tables/DataTable/DataTable.d.ts +1 -1
  53. package/dist/cjs/Tag/Tag.d.ts +1 -1
  54. package/dist/cjs/TextArea/TextArea.d.ts +1 -0
  55. package/dist/cjs/TextArea/TextArea.js +47 -8
  56. package/dist/cjs/TextArea/TextArea.tailwind.js +41 -4
  57. package/dist/cjs/Toggle/Toggle.d.ts +1 -1
  58. package/dist/cjs/Toggle/Toggle.js +23 -6
  59. package/dist/cjs/Toggle/Toggle.tailwind.js +9 -0
  60. package/dist/cjs/Tooltip/Tooltip.d.ts +1 -1
  61. package/dist/cjs/index.d.ts +1 -0
  62. package/dist/cjs/index.js +12 -0
  63. package/dist/cjs/utils/isCssPropertySupported.d.ts +1 -1
  64. package/dist/cjs/utils/mergeRefs.d.ts +2 -0
  65. package/dist/cjs/utils/mergeRefs.js +17 -0
  66. package/dist/esm/AutoComplete/AutoComplete.d.ts +1 -1
  67. package/dist/esm/AutoComplete/AutoComplete.js +52 -27
  68. package/dist/esm/AutoComplete/AutoComplete.tailwind.js +9 -1
  69. package/dist/esm/AutoComplete/types.d.ts +1 -0
  70. package/dist/esm/Checkbox/Checkbox.d.ts +1 -1
  71. package/dist/esm/Checkbox/Checkbox.js +21 -13
  72. package/dist/esm/Checkbox/Checkbox.tailwind.js +8 -2
  73. package/dist/esm/DatePicker/DatePicker/DatePicker.d.ts +4 -2
  74. package/dist/esm/DatePicker/DatePicker/DatePicker.js +19 -8
  75. package/dist/esm/DatePicker/components/Display.d.ts +3 -3
  76. package/dist/esm/DatePicker/components/Display.js +15 -5
  77. package/dist/esm/Dropzone/Dropzone.d.ts +4 -2
  78. package/dist/esm/Dropzone/Dropzone.js +24 -13
  79. package/dist/esm/Field/Field.d.ts +1 -0
  80. package/dist/esm/Field/Field.js +64 -12
  81. package/dist/esm/Field/FieldContext.d.ts +3 -0
  82. package/dist/esm/Field/useField.d.ts +4 -1
  83. package/dist/esm/Field/useField.js +17 -2
  84. package/dist/esm/Form/Form.d.ts +16 -0
  85. package/dist/esm/Form/Form.js +135 -0
  86. package/dist/esm/Form/FormContext.d.ts +13 -0
  87. package/dist/esm/Form/FormContext.js +2 -0
  88. package/dist/esm/Form/index.d.ts +3 -0
  89. package/dist/esm/Form/index.js +3 -0
  90. package/dist/esm/Form/stories/AsynchronousValidation.js +387 -0
  91. package/dist/esm/Form/stories/Complex.js +919 -0
  92. package/dist/esm/Form/stories/DependentFieldsValidation.js +240 -0
  93. package/dist/esm/Form/stories/DirtyFields.js +330 -0
  94. package/dist/esm/Form/stories/DynamicFieldsValidation.js +416 -0
  95. package/dist/esm/Form/stories/FieldArrays.js +544 -0
  96. package/dist/esm/Form/stories/ValidationStrategies.js +446 -0
  97. package/dist/esm/Form/stories/utils/useFormikAutoFocusOnError.js +16 -0
  98. package/dist/esm/Form/useForm.d.ts +1 -0
  99. package/dist/esm/Form/useForm.js +5 -0
  100. package/dist/esm/Input/Input.js +22 -9
  101. package/dist/esm/Input/Input.tailwind.js +7 -2
  102. package/dist/esm/Pagination/DotPagination/DotPagination.d.ts +1 -1
  103. package/dist/esm/RadioGroup/RadioButton.d.ts +1 -1
  104. package/dist/esm/RadioGroup/RadioButton.js +16 -3
  105. package/dist/esm/RadioGroup/RadioButton.tailwind.js +23 -0
  106. package/dist/esm/RadioGroup/RadioGroup.d.ts +7 -5
  107. package/dist/esm/RadioGroup/RadioGroup.js +77 -15
  108. package/dist/esm/RadioGroup/{RadiogroupContext.d.ts → RadioGroupContext.d.ts} +8 -1
  109. package/dist/esm/RangeSlider/RangeSlider.d.ts +2 -3
  110. package/dist/esm/RangeSlider/RangeSlider.js +27 -10
  111. package/dist/esm/Satellite/locale.d.ts +2 -0
  112. package/dist/esm/Select/Select.js +41 -7
  113. package/dist/esm/Select/Select.tailwind.js +19 -0
  114. package/dist/esm/Stepper/Step.js +2 -2
  115. package/dist/esm/Switch/Switch.js +1 -1
  116. package/dist/esm/Switch/SwitchOption.js +2 -2
  117. package/dist/esm/Tables/DataTable/DataTable.d.ts +1 -1
  118. package/dist/esm/Tag/Tag.d.ts +1 -1
  119. package/dist/esm/TextArea/TextArea.d.ts +1 -0
  120. package/dist/esm/TextArea/TextArea.js +49 -9
  121. package/dist/esm/TextArea/TextArea.tailwind.js +41 -4
  122. package/dist/esm/Toggle/Toggle.d.ts +1 -1
  123. package/dist/esm/Toggle/Toggle.js +23 -6
  124. package/dist/esm/Toggle/Toggle.tailwind.js +9 -0
  125. package/dist/esm/Tooltip/Tooltip.d.ts +1 -1
  126. package/dist/esm/index.d.ts +1 -0
  127. package/dist/esm/index.js +1 -0
  128. package/dist/esm/utils/isCssPropertySupported.d.ts +1 -1
  129. package/dist/esm/utils/mergeRefs.d.ts +2 -0
  130. package/dist/esm/utils/mergeRefs.js +11 -0
  131. package/dist/satellite.min.css +1 -1
  132. package/package.json +13 -7
  133. /package/dist/cjs/RadioGroup/{RadiogroupContext.js → RadioGroupContext.js} +0 -0
  134. /package/dist/esm/RadioGroup/{RadiogroupContext.js → RadioGroupContext.js} +0 -0
@@ -10,17 +10,30 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _react = require("react");
13
+ var _Field = require("../Field");
13
14
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  var _templateObject;
16
- var _excluded = ["className"];
17
+ var _excluded = ["className", "required"];
17
18
  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; }
18
19
  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) { (0, _defineProperty2["default"])(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; }
19
20
  var RadioButton = exports.RadioButton = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
20
21
  var className = _ref.className,
22
+ _ref$required = _ref.required,
23
+ required = _ref$required === void 0 ? false : _ref$required,
21
24
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
22
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread(_objectSpread({}, props), {}, {
23
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["radio-button"]))), className),
25
+ var _useField = (0, _Field.useField)({
26
+ required: required
27
+ }),
28
+ state = _useField.state,
29
+ descriptionId = _useField.descriptionId;
30
+ var isInvalid = state.status === "invalid";
31
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread(_objectSpread({
32
+ "aria-describedby": descriptionId
33
+ }, props), {}, {
34
+ required: required,
35
+ "aria-invalid": isInvalid,
36
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["radio-button ", ""])), isInvalid && "radio-button-invalid"), className),
24
37
  type: "radio",
25
38
  ref: ref
26
39
  }));
@@ -55,6 +55,29 @@ var radioButtonPlugin = plugin(function (_ref) {
55
55
  boxShadow: "none"
56
56
  }
57
57
  }
58
+ },
59
+ ".radio-button-invalid:not(.radio-button:disabled)": {
60
+ borderColor: theme("colors.red.700"),
61
+ "&:hover": {
62
+ background: theme("colors.red.50"),
63
+ borderColor: theme("colors.red.700")
64
+ },
65
+ "&:focus": {
66
+ borderColor: theme("colors.red.700"),
67
+ boxShadow: "\n 0 0 0 1px ".concat(theme("colors.red.700"), ",\n 0 1px 0 0 ").concat(theme("colors.shadow.5"), "\n ")
68
+ },
69
+ "&:checked": {
70
+ borderColor: theme("colors.red.700"),
71
+ "&::after": {
72
+ background: theme("colors.red.700")
73
+ },
74
+ "&:hover": {
75
+ borderColor: theme("colors.red.700")
76
+ },
77
+ "&:focus": {
78
+ boxShadow: "\n 0 0 0 1px ".concat(theme("colors.red.700"), ",\n 0 1px 0 0 ").concat(theme("colors.shadow.5"), "\n ")
79
+ }
80
+ }
58
81
  }
59
82
  });
60
83
  });
@@ -1,10 +1,12 @@
1
- import type { ReactNode, VFC } from "react";
1
+ import type { ForwardRefExoticComponent, ReactNode, RefAttributes, VFC } from "react";
2
2
  export interface RadioGroupProps {
3
+ id?: string;
3
4
  /** @ignore */
4
5
  className?: string;
5
6
  name?: string;
6
7
  value: string;
7
8
  disabled?: boolean;
9
+ required?: boolean;
8
10
  /**
9
11
  * `RadioGroupItem` text position
10
12
  * @default left
@@ -16,10 +18,11 @@ export interface RadioGroupProps {
16
18
  export interface RadioGroupItemProps {
17
19
  value: string;
18
20
  disabled?: boolean;
21
+ required?: boolean;
19
22
  children?: ReactNode;
20
23
  }
21
- declare type RadioGroupSubComponents = {
22
- Item: VFC<RadioGroupItemProps>;
24
+ export declare type RadioGroupComponent = ForwardRefExoticComponent<RadioGroupProps & RefAttributes<HTMLFieldSetElement>> & {
25
+ Item: typeof RadioGroupItem;
23
26
  };
24
27
  export declare const RadioGroupItem: VFC<RadioGroupItemProps>;
25
28
  /**
@@ -27,5 +30,4 @@ export declare const RadioGroupItem: VFC<RadioGroupItemProps>;
27
30
  *
28
31
  * See the [Radio Group documentation page](https://satellite.algolia.com/components/controls/radio-group) for more information.
29
32
  */
30
- export declare const RadioGroup: VFC<RadioGroupProps> & RadioGroupSubComponents;
31
- export {};
33
+ export declare const RadioGroup: RadioGroupComponent;
@@ -7,33 +7,54 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.RadioGroupItem = exports.RadioGroup = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
+ var _clsx = _interopRequireDefault(require("clsx"));
10
12
  var _react = require("react");
11
13
  var _Card = require("../Card");
14
+ var _Field = require("../Field");
12
15
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
13
16
  var _uniqueId = require("../utils/uniqueId");
14
17
  var _RadioButton = require("./RadioButton");
15
- var _RadiogroupContext = require("./RadiogroupContext");
18
+ var _RadioGroupContext = require("./RadioGroupContext");
16
19
  var _jsxRuntime = require("react/jsx-runtime");
17
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
20
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
21
+ var _excluded = ["value", "disabled", "required", "children"];
18
22
  var RadioGroupItem = exports.RadioGroupItem = function RadioGroupItem(_ref) {
19
23
  var value = _ref.value,
20
24
  disabled = _ref.disabled,
21
- children = _ref.children;
22
- var _useRadioGroupContext = (0, _RadiogroupContext.useRadioGroupContext)(),
25
+ required = _ref.required,
26
+ children = _ref.children,
27
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
28
+ var _useRadioGroupContext = (0, _RadioGroupContext.useRadioGroupContext)(),
29
+ id = _useRadioGroupContext.id,
23
30
  name = _useRadioGroupContext.name,
24
31
  contextDisabled = _useRadioGroupContext.disabled,
32
+ contextRequired = _useRadioGroupContext.required,
25
33
  _onChange = _useRadioGroupContext.onChange,
26
34
  contextValue = _useRadioGroupContext.value,
27
35
  _useRadioGroupContext2 = _useRadioGroupContext.textPosition,
28
- textPosition = _useRadioGroupContext2 === void 0 ? "left" : _useRadioGroupContext2;
36
+ textPosition = _useRadioGroupContext2 === void 0 ? "left" : _useRadioGroupContext2,
37
+ descriptionId = _useRadioGroupContext.descriptionId,
38
+ state = _useRadioGroupContext.state,
39
+ ref = _useRadioGroupContext.ref;
40
+ var isFirstChild = props.childIndex === 0;
41
+ var isInvalid = (state === null || state === void 0 ? void 0 : state.status) === "invalid";
29
42
  var checked = value === contextValue;
30
43
  disabled = contextDisabled || disabled;
44
+ required = contextRequired || required;
45
+ var labelId = (0, _react.useMemo)(
46
+ // eslint-disable-next-line @algolia/stl/prefer-stl-helper
47
+ function () {
48
+ return (0, _uniqueId.uniqueId)("stl-radio-group-label-");
49
+ }, []);
31
50
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("label", {
32
- className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n flex items-center justify-between\n min-h-10 px-4 py-2\n ", "\n ", "\n ", ""])), disabled ? "text-grey-300" : "hover:bg-grey-100", disabled ? "cursor-not-allowed" : "cursor-pointer", textPosition === "right" && "flex-row-reverse"),
51
+ className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n flex items-center justify-between\n min-h-10 px-4 py-2\n ", "\n ", "\n ", "\n ", ""])), disabled ? "text-grey-300" : "hover:bg-grey-100", disabled ? "cursor-not-allowed" : "cursor-pointer", textPosition === "right" && "flex-row-reverse", isInvalid && "hover:bg-red-50"),
33
52
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
53
+ id: labelId,
34
54
  className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["flex-1 truncate ", ""])), textPosition === "right" ? "ml-2" : "mr-2"),
35
55
  children: children
36
56
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadioButton.RadioButton, {
57
+ id: checked || isFirstChild && !contextValue ? id : undefined,
37
58
  className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["shrink-0 self-start mt-1"]))),
38
59
  value: value,
39
60
  checked: checked,
@@ -43,21 +64,48 @@ var RadioGroupItem = exports.RadioGroupItem = function RadioGroupItem(_ref) {
43
64
  _onChange(value);
44
65
  }
45
66
  },
46
- disabled: disabled
67
+ disabled: disabled,
68
+ required: required,
69
+ "aria-invalid": isInvalid,
70
+ "aria-labelledby": labelId,
71
+ "aria-describedby": descriptionId,
72
+ ref: isFirstChild ? ref : undefined
47
73
  })]
48
74
  });
49
75
  };
50
76
 
77
+ // This function is used to clone the children of the `RadioGroup` component
78
+ // and pass the `childIndex` prop to the `RadioGroupItem` children.
79
+ function applyChildIndexRecursively(children) {
80
+ return _react.Children.map(children, function (child, index) {
81
+ var _child$props;
82
+ if (child.type === RadioGroupItem) {
83
+ return /*#__PURE__*/(0, _react.cloneElement)(child, {
84
+ childIndex: index
85
+ });
86
+ }
87
+ if ((_child$props = child.props) !== null && _child$props !== void 0 && _child$props.children) {
88
+ return /*#__PURE__*/(0, _react.cloneElement)(child, {
89
+ children: applyChildIndexRecursively(child.props.children)
90
+ });
91
+ }
92
+ return child;
93
+ });
94
+ }
95
+
51
96
  /**
52
97
  * The `RadioGroup` component presents mutually exclusive options, allowing users to make a single selection from a list.
53
98
  *
54
99
  * See the [Radio Group documentation page](https://satellite.algolia.com/components/controls/radio-group) for more information.
55
100
  */
56
- var RadioGroup = exports.RadioGroup = function RadioGroup(_ref2) {
57
- var className = _ref2.className,
101
+ var RadioGroup = exports.RadioGroup = /*#__PURE__*/(0, _react.forwardRef)(function (_ref2, ref) {
102
+ var id = _ref2.id,
103
+ className = _ref2.className,
58
104
  name = _ref2.name,
59
105
  value = _ref2.value,
60
106
  disabled = _ref2.disabled,
107
+ _ref2$required = _ref2.required,
108
+ required = _ref2$required === void 0 ? false : _ref2$required,
61
109
  textPosition = _ref2.textPosition,
62
110
  children = _ref2.children,
63
111
  onChange = _ref2.onChange;
@@ -67,26 +115,40 @@ var RadioGroup = exports.RadioGroup = function RadioGroup(_ref2) {
67
115
  _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
68
116
  componentDefaultName = _useState2[0];
69
117
  name = name || componentDefaultName;
118
+ var _useField = (0, _Field.useField)({
119
+ required: required
120
+ }),
121
+ state = _useField.state,
122
+ labelId = _useField.labelId,
123
+ descriptionId = _useField.descriptionId,
124
+ inputId = _useField.inputId;
70
125
  var contextValue = {
126
+ id: id !== null && id !== void 0 ? id : inputId,
71
127
  name: name,
72
128
  value: value,
73
129
  disabled: disabled,
130
+ required: required,
74
131
  onChange: onChange,
75
- textPosition: textPosition
132
+ textPosition: textPosition,
133
+ labelId: labelId,
134
+ descriptionId: descriptionId,
135
+ state: state,
136
+ ref: ref
76
137
  };
77
138
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Card.Card, {
78
139
  fullBleed: true,
79
- className: className,
80
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadiogroupContext.RadioGroupContext.Provider, {
140
+ className: (0, _clsx["default"])(className, (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["border ", ""])), state.status === "invalid" ? "bg-red-100 border-red-700" : "border-transparent")),
141
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadioGroupContext.RadioGroupContext.Provider, {
81
142
  value: contextValue,
82
143
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("fieldset", {
83
- className: (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["min-w-0"]))),
144
+ className: (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["min-w-0"]))),
84
145
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
85
- className: (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["flex flex-col py-1"]))),
86
- children: children
146
+ className: (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["flex flex-col py-1"]))),
147
+ children: applyChildIndexRecursively(children)
87
148
  })
88
149
  })
89
150
  })
90
151
  });
91
- };
152
+ });
153
+ RadioGroup.displayName = "RadioGroup";
92
154
  RadioGroup.Item = RadioGroupItem;
@@ -1,11 +1,18 @@
1
- /// <reference types="react" />
1
+ import type { ForwardedRef } from "react";
2
+ import type { FieldState } from "../Field";
2
3
  export interface RadioGroupContextType {
4
+ id?: string;
3
5
  name: string;
4
6
  value: string;
5
7
  disabled?: boolean;
8
+ required?: boolean;
6
9
  /** `RadioGroupItem` text position */
7
10
  textPosition?: "left" | "right";
8
11
  onChange: (newValue: string) => void;
12
+ labelId?: string;
13
+ descriptionId?: string;
14
+ state?: FieldState;
15
+ ref?: ForwardedRef<HTMLInputElement>;
9
16
  }
10
17
  export declare const RadioGroupContext: import("react").Context<RadioGroupContextType | null>;
11
18
  export declare const useRadioGroupContext: () => RadioGroupContextType;
@@ -12,9 +12,8 @@ export interface RangeSliderProps<Value extends RangeSliderValue = number> {
12
12
  name?: string;
13
13
  /** @ignore */
14
14
  className?: string;
15
- /** @ignore */
16
- "aria-label"?: string;
17
15
  disabled?: boolean;
16
+ required?: boolean;
18
17
  min?: number;
19
18
  max?: number;
20
19
  step?: number;
@@ -22,7 +21,7 @@ export interface RangeSliderProps<Value extends RangeSliderValue = number> {
22
21
  track1Color?: string;
23
22
  track2Color?: string;
24
23
  }
25
- declare const RangeSliderInternal: <Value extends RangeSliderValue = number>({ className, value, defaultValue, onChange, onCommit, disabled, min, max, track1Color, track2Color, ...otherProps }: RangeSliderProps<Value>, ref: ForwardedRef<HTMLSpanElement>) => JSX.Element;
24
+ declare const RangeSliderInternal: <Value extends RangeSliderValue = number>({ id, className, value, defaultValue, onChange, onCommit, disabled, required, min, max, track1Color, track2Color, ...otherProps }: RangeSliderProps<Value>, ref: ForwardedRef<HTMLSpanElement>) => JSX.Element;
26
25
  /**
27
26
  * The `RangeSlider` component is an input field where users select one or two numeric values within a given range (minimum and maximum values).
28
27
  *
@@ -11,10 +11,11 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
11
11
  var _reactSlider = require("@radix-ui/react-slider");
12
12
  var _clsx = _interopRequireDefault(require("clsx"));
13
13
  var _react = require("react");
14
+ var _Field = require("../Field");
14
15
  var _colors = _interopRequireDefault(require("../styles/colors"));
15
16
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
16
17
  var _jsxRuntime = require("react/jsx-runtime");
17
- var _excluded = ["className", "value", "defaultValue", "onChange", "onCommit", "disabled", "min", "max", "track1Color", "track2Color"];
18
+ var _excluded = ["id", "className", "value", "defaultValue", "onChange", "onCommit", "disabled", "required", "min", "max", "track1Color", "track2Color"];
18
19
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8; // Prevents unwanted number narrowing
19
20
  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; }
20
21
  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) { (0, _defineProperty2["default"])(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; }
@@ -32,12 +33,15 @@ var ThumbGroove = function ThumbGroove(_ref) {
32
33
  });
33
34
  };
34
35
  var RangeSliderInternal = function RangeSliderInternal(_ref2, ref) {
35
- var className = _ref2.className,
36
+ var idProp = _ref2.id,
37
+ className = _ref2.className,
36
38
  value = _ref2.value,
37
39
  defaultValue = _ref2.defaultValue,
38
40
  onChange = _ref2.onChange,
39
41
  onCommit = _ref2.onCommit,
40
42
  disabled = _ref2.disabled,
43
+ _ref2$required = _ref2.required,
44
+ required = _ref2$required === void 0 ? false : _ref2$required,
41
45
  _ref2$min = _ref2.min,
42
46
  min = _ref2$min === void 0 ? 0 : _ref2$min,
43
47
  _ref2$max = _ref2.max,
@@ -50,9 +54,16 @@ var RangeSliderInternal = function RangeSliderInternal(_ref2, ref) {
50
54
  track1: disabled ? _colors["default"].grey[200] : track1Color,
51
55
  track2: disabled ? _colors["default"].grey[100] : track2Color
52
56
  };
53
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactSlider.Root, _objectSpread(_objectSpread({
54
- ref: ref
55
- }, otherProps), {}, {
57
+ var _useField = (0, _Field.useField)({
58
+ required: required
59
+ }),
60
+ state = _useField.state,
61
+ labelId = _useField.labelId,
62
+ descriptionId = _useField.descriptionId,
63
+ inputId = _useField.inputId;
64
+ var isInvalid = state.status === "invalid";
65
+ var id = idProp !== null && idProp !== void 0 ? idProp : inputId;
66
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactSlider.Root, _objectSpread(_objectSpread({}, otherProps), {}, {
56
67
  className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["relative h-6 min-w-[200px] flex items-center select-none touch-none aria-disabled:opacity-70 cursor-pointer aria-disabled:cursor-not-allowed"]))), className),
57
68
  value: coerceToRadixValue(value),
58
69
  defaultValue: coerceToRadixValue(defaultValue),
@@ -70,23 +81,29 @@ var RangeSliderInternal = function RangeSliderInternal(_ref2, ref) {
70
81
  max: max,
71
82
  min: min,
72
83
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSlider.SliderTrack, {
73
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["relative h-1 flex-1 rounded bg-grey-100"]))), TRACK_SHADOWS_CLASSNAME),
84
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["relative h-1 flex-1 rounded bg-grey-100 ", ""])), isInvalid && "bg-red-100"), TRACK_SHADOWS_CLASSNAME),
74
85
  style: {
75
86
  backgroundColor: trackColors.track2
76
87
  },
77
88
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactSlider.SliderRange, {
78
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["absolute rounded-full h-full bg-accent-600"]))), TRACK_SHADOWS_CLASSNAME),
89
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["absolute rounded-full h-full bg-accent-600 ", ""])), isInvalid && "bg-red-700"), TRACK_SHADOWS_CLASSNAME),
79
90
  style: {
80
91
  backgroundColor: trackColors.track1
81
92
  }
82
93
  })
83
94
  }), Array(thumbsCount).fill(undefined).map(function (_, idx) {
84
95
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactSlider.SliderThumb, {
85
- className: (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["group absolute -translate-x-1.5 -translate-y-3\n w-3 h-6 rounded-[2px] border border-grey-500\n bg-white bg-gradient-to-b from-white to-grey-50 shadow-[0_1px_0_0_rgb(35_38_59_/_5%)]\n hover:border-grey-600\n "]))),
96
+ ref: ref,
97
+ id: id && (idx === 0 ? id : "".concat(id, "-").concat(idx)),
98
+ "aria-labelledby": labelId,
99
+ "aria-describedby": descriptionId,
100
+ "aria-required": required,
101
+ "aria-invalid": isInvalid,
102
+ className: (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["group absolute -translate-x-1.5 -translate-y-3\n w-3 h-6 rounded-[2px] border border-grey-500\n bg-white bg-gradient-to-b from-white to-grey-50 shadow-[0_1px_0_0_rgb(35_38_59_/_5%)]\n ", "\n "])), isInvalid ? "border-red-700 hover:border-red-700 focus:outline-red-700" : "hover:border-grey-600"),
86
103
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ThumbGroove, {
87
- className: (0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["absolute top-1.5 right-1.5"])))
104
+ className: (0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["absolute top-1.5 right-1.5 ", ""])), isInvalid && "bg-red-700 group-hover:bg-red-700")
88
105
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(ThumbGroove, {
89
- className: (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["absolute top-1.5 left-1.5"])))
106
+ className: (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["absolute top-1.5 left-1.5 ", ""])), isInvalid && "bg-red-700 group-hover:bg-red-700")
90
107
  })]
91
108
  }, "thumb_".concat(idx));
92
109
  })]
@@ -3,6 +3,7 @@ import type { AutoCompleteLocale } from "../AutoComplete";
3
3
  import type { UserAvatarLocale } from "../Avatars/UserAvatar";
4
4
  import type { DatePickerLocale } from "../DatePicker/types";
5
5
  import type { DropzoneLocale } from "../Dropzone";
6
+ import type { ExperimentalFormLocale } from "../Form/Form";
6
7
  import type { InputPropsLocale } from "../Input";
7
8
  import type { ModalLocale } from "../Modal";
8
9
  import type { PaginationLocale } from "../Pagination";
@@ -23,6 +24,7 @@ export declare type ComponentsLocales = {
23
24
  datePicker?: DatePickerLocale;
24
25
  dotPagination?: DotPaginationLocale;
25
26
  dropzone?: DropzoneLocale;
27
+ form?: ExperimentalFormLocale;
26
28
  input?: InputPropsLocale;
27
29
  modal?: ModalLocale;
28
30
  pagination?: PaginationLocale;
@@ -10,10 +10,12 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
10
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
11
  var _clsx = _interopRequireDefault(require("clsx"));
12
12
  var _react = require("react");
13
+ var _Field = require("../Field");
14
+ var _Icons = require("../Icons");
13
15
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
14
16
  var _jsxRuntime = require("react/jsx-runtime");
15
- var _excluded = ["variant", "className"];
16
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
17
+ var _excluded = ["variant", "className", "required"];
18
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
17
19
  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; }
18
20
  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) { (0, _defineProperty2["default"])(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; }
19
21
  var VARIANT_CLASSNAMES = {
@@ -21,6 +23,16 @@ var VARIANT_CLASSNAMES = {
21
23
  medium: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["select-input-medium"]))),
22
24
  large: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["select-input-large"])))
23
25
  };
26
+ var InvalidIcon = function InvalidIcon() {
27
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icons.XIcon, {
28
+ className: (0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["h-4 w-4 mr-10 text-white bg-red-700 p-px rounded-full absolute top-1/2 right-0 -translate-y-1/2"])))
29
+ });
30
+ };
31
+ var ValidatedIcon = function ValidatedIcon() {
32
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icons.CheckIcon, {
33
+ className: (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["h-4 w-4 mr-10 text-white bg-accent-600 p-px rounded-full absolute top-1/2 right-0 -translate-y-1/2"])))
34
+ });
35
+ };
24
36
 
25
37
  /**
26
38
  * The `Select` component provides a dropdown menu, allowing users to choose one option from a list.
@@ -28,13 +40,34 @@ var VARIANT_CLASSNAMES = {
28
40
  * See the [Select documentation page](https://satellite.algolia.com/components/forms/select) for more information.
29
41
  */
30
42
  var Select = exports.Select = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
43
+ var _props$id;
31
44
  var _ref$variant = _ref.variant,
32
45
  variant = _ref$variant === void 0 ? "medium" : _ref$variant,
33
46
  className = _ref.className,
47
+ required = _ref.required,
34
48
  props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
35
- return /*#__PURE__*/(0, _jsxRuntime.jsx)("select", _objectSpread(_objectSpread({}, props), {}, {
36
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["select-input display-body"]))), VARIANT_CLASSNAMES[variant], className),
37
- ref: ref
38
- }));
49
+ var _useField = (0, _Field.useField)({
50
+ required: required
51
+ }),
52
+ state = _useField.state,
53
+ labelId = _useField.labelId,
54
+ descriptionId = _useField.descriptionId,
55
+ inputId = _useField.inputId;
56
+ var isValidated = state.status === "validated";
57
+ var isInvalid = state.status === "invalid";
58
+ var StatusIcon = isInvalid ? InvalidIcon : state.status === "validated" ? ValidatedIcon : _react.Fragment;
59
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
60
+ className: (0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["relative w-full"]))),
61
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("select", _objectSpread(_objectSpread({
62
+ "aria-labelledby": labelId,
63
+ "aria-describedby": descriptionId
64
+ }, props), {}, {
65
+ id: (_props$id = props.id) !== null && _props$id !== void 0 ? _props$id : inputId,
66
+ required: required,
67
+ "aria-invalid": isInvalid,
68
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["select-input display-body"]))), VARIANT_CLASSNAMES[variant], isInvalid && (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["select-input-invalid"]))), isValidated && (0, _satellitePrefixer["default"])(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["select-input-validated"]))), className),
69
+ ref: ref
70
+ })), /*#__PURE__*/(0, _jsxRuntime.jsx)(StatusIcon, {})]
71
+ });
39
72
  });
40
73
  Select.displayName = "Select";
@@ -25,6 +25,7 @@ var selectPlugin = plugin(function (_ref) {
25
25
  borderRadius: theme("borderRadius.DEFAULT"),
26
26
  border: "1px solid ".concat(theme("colors.grey.500")),
27
27
  boxShadow: "0 1px 0 0 ".concat(theme("colors.shadow.5")),
28
+ transition: "all 100ms ease-in-out",
28
29
  "&::-moz-focus-inner, &:-moz-focusring": {
29
30
  outline: "none",
30
31
  color: "transparent",
@@ -70,6 +71,24 @@ var selectPlugin = plugin(function (_ref) {
70
71
  ".select-input-large": {
71
72
  height: theme("spacing.12"),
72
73
  backgroundSize: "12px, auto"
74
+ },
75
+ ".select-input-invalid, .select-input-validated": {
76
+ padding: "0 ".concat(theme("spacing.16"), " 0 ").concat(theme("spacing.4"))
77
+ },
78
+ ".select-input-invalid": {
79
+ borderColor: theme("colors.red.700"),
80
+ backgroundColor: theme("colors.red.100"),
81
+ backgroundImage: selectIconBG(theme("colors.red.700")),
82
+ "&:hover": {
83
+ borderColor: theme("colors.red.700"),
84
+ backgroundColor: theme("colors.red.50"),
85
+ backgroundImage: selectIconBG(theme("colors.red.700"))
86
+ },
87
+ "&:focus": {
88
+ backgroundImage: selectIconBG(theme("colors.red.700")),
89
+ borderColor: theme("colors.red.700"),
90
+ boxShadow: "\n 0 0 0 1px ".concat(theme("colors.red.700"), ",\n 0 2px 0 0 ").concat(theme("colors.shadow.5"), "\n ")
91
+ }
73
92
  }
74
93
  });
75
94
  });
@@ -71,7 +71,7 @@ var Step = exports.Step = function Step(_ref) {
71
71
  className: (0, _clsx["default"])(className, (0, _satellitePrefixer["default"])(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["text-grey-600 group/step"])))),
72
72
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("button", {
73
73
  id: buttonId,
74
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["relative w-full flex items-center text-left gap-2 rounded border transition-colors group/button"]))), (0, _satellitePrefixer["default"])(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["-outline-offset-2 focus-visible:outline focus-visible:outline-2 focus-visible:outline-xenon-600"]))), disabled ? (0, _satellitePrefixer["default"])(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["cursor-not-allowed"]))) : (0, _satellitePrefixer["default"])(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["hover:bg-grey-100"]))), active ? (0, _satellitePrefixer["default"])(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["border-grey-200 bg-white"]))) : (0, _satellitePrefixer["default"])(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["border-transparent"]))), BUTTON_SIZE_CLASSNAMES[context.size]),
74
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["relative w-full flex items-center text-left gap-2 rounded border group/button"]))), (0, _satellitePrefixer["default"])(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["-outline-offset-2 focus-visible:outline focus-visible:outline-2 focus-visible:outline-xenon-600"]))), disabled ? (0, _satellitePrefixer["default"])(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2["default"])(["cursor-not-allowed"]))) : (0, _satellitePrefixer["default"])(_templateObject14 || (_templateObject14 = (0, _taggedTemplateLiteral2["default"])(["hover:bg-grey-100"]))), active ? (0, _satellitePrefixer["default"])(_templateObject15 || (_templateObject15 = (0, _taggedTemplateLiteral2["default"])(["border-grey-200 bg-white"]))) : (0, _satellitePrefixer["default"])(_templateObject16 || (_templateObject16 = (0, _taggedTemplateLiteral2["default"])(["border-transparent"]))), BUTTON_SIZE_CLASSNAMES[context.size]),
75
75
  "aria-label": disabled ? disabledLocale : active ? activeLocale : completed ? completedLocale : incompletedLocale,
76
76
  "aria-current": active ? "step" : undefined,
77
77
  disabled: disabled,
@@ -95,7 +95,7 @@ var Step = exports.Step = function Step(_ref) {
95
95
  children: [context.connectors && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
96
96
  className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject17 || (_templateObject17 = (0, _taggedTemplateLiteral2["default"])(["absolute -z-10 border-l h-full group-last/step:hidden"]))), completed ? (0, _satellitePrefixer["default"])(_templateObject18 || (_templateObject18 = (0, _taggedTemplateLiteral2["default"])(["border-green-600"]))) : (0, _satellitePrefixer["default"])(_templateObject19 || (_templateObject19 = (0, _taggedTemplateLiteral2["default"])(["border-grey-200"]))), CONNECTOR_SIZE_CLASSNAMES[context.size])
97
97
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
98
- className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["rounded-full flex items-center justify-center shrink-0 text-sm transition-colors"]))), !active && !completed && (0, _satellitePrefixer["default"])(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["bg-grey-100"]))), !active && !completed && !disabled && (0, _satellitePrefixer["default"])(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["group-hover/button:bg-white"]))), active && !completed && (0, _satellitePrefixer["default"])(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["bg-grey-800 text-white"]))), completed && (0, _satellitePrefixer["default"])(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["bg-green-600 text-white"]))), ICON_SIZE_CLASSNAMES[context.size]),
98
+ className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject20 || (_templateObject20 = (0, _taggedTemplateLiteral2["default"])(["rounded-full flex items-center justify-center shrink-0 text-sm"]))), !active && !completed && (0, _satellitePrefixer["default"])(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["bg-grey-100"]))), !active && !completed && !disabled && (0, _satellitePrefixer["default"])(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["group-hover/button:bg-white"]))), active && !completed && (0, _satellitePrefixer["default"])(_templateObject23 || (_templateObject23 = (0, _taggedTemplateLiteral2["default"])(["bg-grey-800 text-white"]))), completed && (0, _satellitePrefixer["default"])(_templateObject24 || (_templateObject24 = (0, _taggedTemplateLiteral2["default"])(["bg-green-600 text-white"]))), ICON_SIZE_CLASSNAMES[context.size]),
99
99
  children: Icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
100
100
  width: ICON_SIZE[context.size],
101
101
  height: ICON_SIZE[context.size]
@@ -10,7 +10,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _clsx = _interopRequireDefault(require("clsx"));
11
11
  var _react = require("react");
12
12
  var _styles = require("../Button/styles");
13
- var _RadiogroupContext = require("../RadioGroup/RadiogroupContext");
13
+ var _RadioGroupContext = require("../RadioGroup/RadioGroupContext");
14
14
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
15
15
  var _prefersReducedMotion = require("../utils/prefersReducedMotion");
16
16
  var _uniqueId = require("../utils/uniqueId");
@@ -70,7 +70,7 @@ var Switch = exports.Switch = function Switch(_ref) {
70
70
  setValueIndicatorStyle(newValueIndicatorStyle);
71
71
  }
72
72
  });
73
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadiogroupContext.RadioGroupContext.Provider, {
73
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RadioGroupContext.RadioGroupContext.Provider, {
74
74
  value: {
75
75
  value: value,
76
76
  name: radioName,
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.SwitchOption = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
- var _RadiogroupContext = require("../RadioGroup/RadiogroupContext");
10
+ var _RadioGroupContext = require("../RadioGroup/RadioGroupContext");
11
11
  var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
12
12
  var _OverflowTooltipWrapper = require("../Tooltip/OverflowTooltipWrapper");
13
13
  var _utils = require("./utils");
@@ -19,11 +19,11 @@ var SwitchOption = exports.SwitchOption = function SwitchOption(_ref) {
19
19
  var value = _ref.value,
20
20
  disabled = _ref.disabled,
21
21
  children = _ref.children;
22
- var context = (0, _RadiogroupContext.useRadioGroupContext)();
22
+ var context = (0, _RadioGroupContext.useRadioGroupContext)();
23
23
  var checked = context.value === value;
24
24
  var inputDisabled = context.disabled || disabled;
25
25
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("label", _objectSpread(_objectSpread({
26
- className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n inline-flex grow shrink justify-center items-center min-w-16 max-w-48 px-4 z-10 text-grey-600\n ", "\n ", "\n "])), inputDisabled ? "cursor-not-allowed opacity-60 rounded bg-grey-100" : "cursor-pointer hover:text-grey-900", !checked && !inputDisabled && "rounded motion-safe:transition-colors active:bg-accent-200/20 motion-safe:duration-100 ease-linear")
26
+ className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n inline-flex grow shrink justify-center items-center min-w-16 max-w-48 px-4 z-10 text-grey-600\n ", "\n ", "\n "])), inputDisabled ? "cursor-not-allowed opacity-60 rounded bg-grey-100" : "cursor-pointer hover:text-grey-900", !checked && !inputDisabled && "rounded active:bg-accent-200/20")
27
27
  }, (0, _utils.buildAnimationProps)(context.name, value)), {}, {
28
28
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", {
29
29
  className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["w-0 h-0 opacity-0"]))),
@@ -51,5 +51,5 @@ export declare type DataTableProps<Item> = BaseDataTableProps<Item> & (DataTable
51
51
  *
52
52
  * See the [Data Table documentation page](https://satellite.algolia.com/layouts/data-table) for more information.
53
53
  */
54
- export declare const DataTable: <Item extends {}>({ data, itemId, columns, onChange, status, noDataContent, errorContent, sorting, sortMode, pagination, selectMode, selection, onSelectionChange, canSelectItem, canHoverRow, onRowHoveredChanged, locale: propsLocale, }: DataTableProps<Item>) => JSX.Element;
54
+ export declare const DataTable: <Item extends {}>({ data, itemId, columns, onChange, status, noDataContent, errorContent, sorting, sortMode, pagination, selectMode, selection, onSelectionChange, canSelectItem, canHoverRow, onRowHoveredChanged, locale, }: DataTableProps<Item>) => JSX.Element;
55
55
  export {};