@algolia/satellite 1.0.0-beta.165 → 1.0.0-beta.167
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.
- package/cjs/AutoComplete/AutoComplete.d.ts +1 -1
- package/cjs/AutoComplete/AutoComplete.js +28 -6
- package/cjs/AutoComplete/index.d.ts +1 -0
- package/cjs/AutoComplete/index.js +10 -1
- package/cjs/AutoComplete/types.d.ts +11 -1
- package/cjs/Badge/Badge.js +2 -1
- package/cjs/Banners/Alert/Alert.js +2 -1
- package/cjs/Button/PolymorphicButton.js +4 -2
- package/cjs/Button/PolymorphicIconButton.js +2 -1
- package/cjs/Checkbox/Checkbox.js +4 -2
- package/cjs/Dropdown/components/DropdownButtonItem.js +2 -1
- package/cjs/Dropdown/components/DropdownLinkItem.js +2 -1
- package/cjs/Dropdown/components/DropdownToggleItem.js +2 -1
- package/cjs/Dropzone/Dropzone.js +4 -2
- package/cjs/Field/Field.d.ts +3 -2
- package/cjs/Field/Field.js +18 -8
- package/cjs/Field/FieldContext.d.ts +16 -0
- package/cjs/Field/FieldContext.js +14 -0
- package/cjs/Field/index.d.ts +3 -2
- package/cjs/Field/index.js +14 -17
- package/cjs/Field/useField.d.ts +2 -0
- package/cjs/Field/useField.js +11 -0
- package/cjs/Input/Input.js +9 -5
- package/cjs/Link/Link.d.ts +2 -2
- package/cjs/Link/Link.js +4 -2
- package/cjs/ProgressBar/ProgressBar.d.ts +7 -4
- package/cjs/ProgressBar/ProgressBar.js +24 -16
- package/cjs/Sidebar/SidebarLinksGroup/SidebarLinksGroup.js +2 -1
- package/cjs/types.d.ts +3 -3
- package/cjs/utils/clamp.d.ts +1 -0
- package/cjs/utils/clamp.js +9 -0
- package/cjs/utils/prefersReducedMotion.js +2 -1
- package/esm/AutoComplete/AutoComplete.d.ts +1 -1
- package/esm/AutoComplete/AutoComplete.js +29 -7
- package/esm/AutoComplete/index.d.ts +1 -0
- package/esm/AutoComplete/index.js +1 -0
- package/esm/AutoComplete/types.d.ts +11 -1
- package/esm/Badge/Badge.js +2 -1
- package/esm/Banners/Alert/Alert.js +2 -1
- package/esm/Button/PolymorphicButton.js +4 -2
- package/esm/Button/PolymorphicIconButton.js +2 -1
- package/esm/Checkbox/Checkbox.js +5 -3
- package/esm/Dropdown/components/DropdownButtonItem.js +2 -1
- package/esm/Dropdown/components/DropdownLinkItem.js +2 -1
- package/esm/Dropdown/components/DropdownToggleItem.js +2 -1
- package/esm/Dropzone/Dropzone.js +5 -3
- package/esm/Field/Field.d.ts +3 -2
- package/esm/Field/Field.js +18 -5
- package/esm/Field/FieldContext.d.ts +16 -0
- package/esm/Field/FieldContext.js +8 -0
- package/esm/Field/index.d.ts +3 -2
- package/esm/Field/index.js +2 -2
- package/esm/Field/useField.d.ts +2 -0
- package/esm/Field/useField.js +5 -0
- package/esm/Input/Input.js +9 -5
- package/esm/Link/Link.d.ts +2 -2
- package/esm/Link/Link.js +4 -2
- package/esm/ProgressBar/ProgressBar.d.ts +7 -4
- package/esm/ProgressBar/ProgressBar.js +21 -16
- package/esm/Sidebar/SidebarLinksGroup/SidebarLinksGroup.js +2 -1
- package/esm/types.d.ts +3 -3
- package/esm/utils/clamp.d.ts +1 -0
- package/esm/utils/clamp.js +3 -0
- package/esm/utils/prefersReducedMotion.js +2 -1
- package/package.json +2 -1
- package/satellite.min.css +1 -1
- package/cjs/Field/FieldStateContext.d.ts +0 -12
- package/cjs/Field/FieldStateContext.js +0 -12
- package/cjs/Field/useFieldState.d.ts +0 -2
- package/cjs/Field/useFieldState.js +0 -15
- package/esm/Field/FieldStateContext.d.ts +0 -12
- package/esm/Field/FieldStateContext.js +0 -6
- package/esm/Field/useFieldState.d.ts +0 -2
- package/esm/Field/useFieldState.js +0 -6
@@ -16,5 +16,5 @@ import type { AutoCompleteProps, Option } from "./types";
|
|
16
16
|
* - Provide matching results quickly
|
17
17
|
* - Style different data
|
18
18
|
*/
|
19
|
-
export declare const AutoComplete: <O extends Option = Option>({ locale: localeProp, id, name, placeholder, autoFocus, inputValue: inputValueProp, onTextChange, onFocus, onBlur, disabled, clearable, renderValueTemplate, noWrap, separatorKeys, multiple, value, selectOnBlur, onChange, options, optionItemComponent, creatable, createFromInputValue, emptyState, maxResults: maxItems, menuFooter, menuSize, variant, icon: Icon, endItem, className, menuClassName, valuesClassName, }: AutoCompleteProps<O>) => JSX.Element;
|
19
|
+
export declare const AutoComplete: <O extends Option = Option>({ locale: localeProp, id, labelId, "aria-label": ariaLabel, name, placeholder, autoFocus, inputValue: inputValueProp, onTextChange, onFocus, onBlur, disabled, clearable, renderValueTemplate, noWrap, separatorKeys, multiple, value, selectOnBlur, onChange, options, optionItemComponent, creatable, createFromInputValue, emptyState, maxResults: maxItems, menuFooter, menuSize, variant, icon: Icon, endItem, className, menuClassName, valuesClassName, internalsRef, }: AutoCompleteProps<O>) => JSX.Element;
|
20
20
|
export default AutoComplete;
|
@@ -42,6 +42,13 @@ var MENU_POPPER_OPTIONS = {
|
|
42
42
|
}]
|
43
43
|
};
|
44
44
|
var SHOW_ALL_ITEMS_ID = "__stl_extra_results_option__";
|
45
|
+
var updateRef = function updateRef(ref, value) {
|
46
|
+
if (typeof ref === "function") {
|
47
|
+
ref(value);
|
48
|
+
} else if (ref) {
|
49
|
+
ref.current = value;
|
50
|
+
}
|
51
|
+
};
|
45
52
|
|
46
53
|
/**
|
47
54
|
* Autocomplete is a search-as-you-type function that matches what a person types, usually the beginning of a word, or a prefix, with a word list. Not to be confused with auto-suggestion that predicts the end of a query.
|
@@ -62,6 +69,8 @@ var SHOW_ALL_ITEMS_ID = "__stl_extra_results_option__";
|
|
62
69
|
var AutoComplete = exports.AutoComplete = function AutoComplete(_ref) {
|
63
70
|
var localeProp = _ref.locale,
|
64
71
|
id = _ref.id,
|
72
|
+
labelId = _ref.labelId,
|
73
|
+
ariaLabel = _ref["aria-label"],
|
65
74
|
name = _ref.name,
|
66
75
|
placeholder = _ref.placeholder,
|
67
76
|
autoFocus = _ref.autoFocus,
|
@@ -93,10 +102,12 @@ var AutoComplete = exports.AutoComplete = function AutoComplete(_ref) {
|
|
93
102
|
endItem = _ref.endItem,
|
94
103
|
className = _ref.className,
|
95
104
|
menuClassName = _ref.menuClassName,
|
96
|
-
valuesClassName = _ref.valuesClassName
|
105
|
+
valuesClassName = _ref.valuesClassName,
|
106
|
+
internalsRef = _ref.internalsRef;
|
97
107
|
var createPortal = (0, _Satellite.useCreatePortal)();
|
98
|
-
var
|
99
|
-
status =
|
108
|
+
var _useField = (0, _Field.useField)(),
|
109
|
+
status = _useField.state.status,
|
110
|
+
fieldLabelId = _useField.labelId;
|
100
111
|
var localeContext = (0, _Satellite.useLocale)("autoComplete");
|
101
112
|
var locale = (0, _react.useMemo)(function () {
|
102
113
|
return _objectSpread(_objectSpread(_objectSpread({}, _utils.DEFAULT_AUTOCOMPLETE_LOCALE), localeContext), localeProp);
|
@@ -164,6 +175,8 @@ var AutoComplete = exports.AutoComplete = function AutoComplete(_ref) {
|
|
164
175
|
}
|
165
176
|
});
|
166
177
|
var combobox = (0, _downshift.useCombobox)({
|
178
|
+
inputId: id,
|
179
|
+
labelId: labelId !== null && labelId !== void 0 ? labelId : fieldLabelId,
|
167
180
|
items: items,
|
168
181
|
itemToString: _utils.optionToString,
|
169
182
|
scrollIntoView: function scrollIntoView(node) {
|
@@ -244,7 +257,9 @@ var AutoComplete = exports.AutoComplete = function AutoComplete(_ref) {
|
|
244
257
|
return Boolean(item.disabled);
|
245
258
|
}
|
246
259
|
});
|
247
|
-
var inputProps = combobox.getInputProps(
|
260
|
+
var inputProps = combobox.getInputProps(_objectSpread({
|
261
|
+
"aria-label": ariaLabel
|
262
|
+
}, multipleSelection.getDropdownProps({
|
248
263
|
ref: inputRef,
|
249
264
|
autoFocus: autoFocus,
|
250
265
|
disabled: disabled,
|
@@ -276,7 +291,7 @@ var AutoComplete = exports.AutoComplete = function AutoComplete(_ref) {
|
|
276
291
|
}
|
277
292
|
}
|
278
293
|
}
|
279
|
-
}));
|
294
|
+
})));
|
280
295
|
(0, _react.useEffect)(function () {
|
281
296
|
if (!combobox.isOpen) return;
|
282
297
|
if (items.length === 0 && combobox.highlightedIndex >= 0) {
|
@@ -296,6 +311,12 @@ var AutoComplete = exports.AutoComplete = function AutoComplete(_ref) {
|
|
296
311
|
}));
|
297
312
|
};
|
298
313
|
}, [optionItemComponent, locale]);
|
314
|
+
(0, _react.useEffect)(function () {
|
315
|
+
updateRef(internalsRef, {
|
316
|
+
inputRef: inputRef,
|
317
|
+
inputValue: inputValue
|
318
|
+
});
|
319
|
+
}, [inputRef, internalsRef, inputValue]);
|
299
320
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AutocompleteContext.AutocompleteProvider, {
|
300
321
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
301
322
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["flex"]))), className),
|
@@ -312,7 +333,8 @@ var AutoComplete = exports.AutoComplete = function AutoComplete(_ref) {
|
|
312
333
|
},
|
313
334
|
children: [Icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
314
335
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["mr-4 shrink-0"]))), (0, _satellitePrefixer["default"])(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["", ""])), disabled ? "text-grey-200" : inputFocused ? "text-accent-600" : "text-grey-500")),
|
315
|
-
|
336
|
+
width: "1rem",
|
337
|
+
height: "1rem"
|
316
338
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
317
339
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2["default"])(["flex items-center flex-1 max-h-full"]))), !noWrap && (0, _satellitePrefixer["default"])(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2["default"])(["flex-wrap overflow-y-scroll no-scrollbar"]))), multiple && (0, _satellitePrefixer["default"])(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["-ml-1"]))), valuesClassName),
|
318
340
|
children: [multiple && selectedItems.map(function (option, index) {
|
@@ -3,4 +3,5 @@ export * from "./components/DefaultOptionItem";
|
|
3
3
|
export * from "./components/AutoCompleteEmptyState";
|
4
4
|
export * from "./components/AutocompleteContext";
|
5
5
|
export * from "./types";
|
6
|
+
export { defaultCreateFromInputValue } from "./utils";
|
6
7
|
export { default } from "./AutoComplete";
|
@@ -4,13 +4,21 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
var _exportNames = {
|
7
|
+
var _exportNames = {
|
8
|
+
defaultCreateFromInputValue: true
|
9
|
+
};
|
8
10
|
Object.defineProperty(exports, "default", {
|
9
11
|
enumerable: true,
|
10
12
|
get: function get() {
|
11
13
|
return _AutoComplete["default"];
|
12
14
|
}
|
13
15
|
});
|
16
|
+
Object.defineProperty(exports, "defaultCreateFromInputValue", {
|
17
|
+
enumerable: true,
|
18
|
+
get: function get() {
|
19
|
+
return _utils.defaultCreateFromInputValue;
|
20
|
+
}
|
21
|
+
});
|
14
22
|
var _AutoComplete = _interopRequireWildcard(require("./AutoComplete"));
|
15
23
|
Object.keys(_AutoComplete).forEach(function (key) {
|
16
24
|
if (key === "default" || key === "__esModule") return;
|
@@ -71,5 +79,6 @@ Object.keys(_types).forEach(function (key) {
|
|
71
79
|
}
|
72
80
|
});
|
73
81
|
});
|
82
|
+
var _utils = require("./utils");
|
74
83
|
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); }
|
75
84
|
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 && Object.prototype.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; }
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import type { ComponentType, FocusEventHandler, ReactNode } from "react";
|
1
|
+
import type { ComponentType, FocusEventHandler, ForwardedRef, ReactNode, RefObject } from "react";
|
2
2
|
import type { IconComponentType } from "../types";
|
3
3
|
export declare type AutoCompleteVariant = "medium" | "large";
|
4
4
|
export declare type AutoCompleteLocale = {
|
@@ -11,6 +11,8 @@ export declare type AutoCompleteLocale = {
|
|
11
11
|
};
|
12
12
|
export interface AutoCompleteBaseProps<T extends Option = Option> {
|
13
13
|
id?: string;
|
14
|
+
"aria-label"?: string;
|
15
|
+
labelId?: string;
|
14
16
|
icon?: IconComponentType;
|
15
17
|
name?: string;
|
16
18
|
className?: string;
|
@@ -44,6 +46,14 @@ export interface AutoCompleteBaseProps<T extends Option = Option> {
|
|
44
46
|
*/
|
45
47
|
menuSize?: "medium" | "large";
|
46
48
|
locale?: AutoCompleteLocale;
|
49
|
+
/** @deprecated Use of this props is discouraged and is only there for backwards compatibility */
|
50
|
+
internalsRef?: ForwardedRef<AutoCompleteInternals>;
|
51
|
+
}
|
52
|
+
export interface AutoCompleteInternals {
|
53
|
+
/** Current internal inputValue */
|
54
|
+
inputValue: string;
|
55
|
+
/** RefObject containing the underlying combobox input element */
|
56
|
+
inputRef: RefObject<HTMLInputElement>;
|
47
57
|
}
|
48
58
|
export interface AutoCompleteSingleProps<T extends Option = Option> extends AutoCompleteBaseProps<T> {
|
49
59
|
multiple?: false;
|
package/cjs/Badge/Badge.js
CHANGED
@@ -64,7 +64,8 @@ var Badge = exports.Badge = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
|
|
64
64
|
className: badgeClassName,
|
65
65
|
children: [Icon && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
66
66
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
67
|
-
|
67
|
+
width: ".8em",
|
68
|
+
height: ".8em"
|
68
69
|
})
|
69
70
|
}), (0, _isRenderedChild["default"])(children) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
70
71
|
className: (0, _satellitePrefixer["default"])(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2["default"])(["truncate"]))),
|
@@ -111,7 +111,8 @@ var Alert = exports.Alert = function Alert(_ref) {
|
|
111
111
|
style: style,
|
112
112
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
113
113
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject21 || (_templateObject21 = (0, _taggedTemplateLiteral2["default"])(["\n shrink-0 mr-2\n ", "\n "])), title ? "mt-0.5" : "mt-2px"), ICON_CLASSNAME_VARIANTS[variant]),
|
114
|
-
|
114
|
+
width: "1rem",
|
115
|
+
height: "1rem"
|
115
116
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
116
117
|
className: (0, _satellitePrefixer["default"])(_templateObject22 || (_templateObject22 = (0, _taggedTemplateLiteral2["default"])(["flex flex-1 flex-col ", ""])), onDismiss && "mr-6"),
|
117
118
|
children: [!!title && /*#__PURE__*/(0, _jsxRuntime.jsx)("h4", {
|
@@ -62,13 +62,15 @@ var PolymorphicButton = exports.PolymorphicButton = /*#__PURE__*/(0, _react.forw
|
|
62
62
|
size: _styles.BUTTON_LOADER_ICON_SIZES[size],
|
63
63
|
thickness: 1
|
64
64
|
}), StartIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(StartIcon, {
|
65
|
-
|
65
|
+
width: ICON_SIZE,
|
66
|
+
height: ICON_SIZE,
|
66
67
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["shrink-0"]))), iconClassNames)
|
67
68
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
68
69
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["truncate text-center px-1"]))), textClassNames),
|
69
70
|
children: children
|
70
71
|
}), EndIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(EndIcon, {
|
71
|
-
|
72
|
+
width: ICON_SIZE,
|
73
|
+
height: ICON_SIZE,
|
72
74
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["shrink-0"]))), iconClassNames)
|
73
75
|
})]
|
74
76
|
}));
|
@@ -76,7 +76,8 @@ var PolymorphicIconButton = exports.PolymorphicIconButton = /*#__PURE__*/(0, _re
|
|
76
76
|
thickness: 1
|
77
77
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
78
78
|
className: (0, _clsx["default"])(loading && (0, _satellitePrefixer["default"])(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["invisible"])))),
|
79
|
-
|
79
|
+
width: "1em",
|
80
|
+
height: "1em"
|
80
81
|
})]
|
81
82
|
})
|
82
83
|
}))
|
package/cjs/Checkbox/Checkbox.js
CHANGED
@@ -49,8 +49,9 @@ var Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)(function (
|
|
49
49
|
var id = (0, _react.useMemo)(function () {
|
50
50
|
return checkboxProps.id || generateFieldId();
|
51
51
|
}, [checkboxProps.id]);
|
52
|
-
var
|
53
|
-
status =
|
52
|
+
var _useField = (0, _Field.useField)(),
|
53
|
+
status = _useField.state.status,
|
54
|
+
labelId = _useField.labelId;
|
54
55
|
var isControlled = typeof checked === "boolean";
|
55
56
|
var _useState = (0, _react.useState)(Boolean(isControlled ? checked : defaultChecked)),
|
56
57
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
@@ -78,6 +79,7 @@ var Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)(function (
|
|
78
79
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread(_objectSpread({}, checkboxProps), {}, {
|
79
80
|
"aria-checked": indeterminate ? "mixed" : isChecked,
|
80
81
|
id: id,
|
82
|
+
"aria-labelledby": labelId,
|
81
83
|
className: (0, _satellitePrefixer["default"])(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n opacity-0 absolute inset-0\n ", "\n "])), disabled ? "cursor-not-allowed" : "cursor-pointer"),
|
82
84
|
type: "checkbox",
|
83
85
|
ref: ref,
|
@@ -30,7 +30,8 @@ var DropdownButtonItem = exports.DropdownButtonItem = function DropdownButtonIte
|
|
30
30
|
className: (0, _clsx["default"])(mergedProps.className, (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["w-full"])))),
|
31
31
|
children: [StartIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(StartIcon, {
|
32
32
|
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["mr-2 shrink-0 ", ""])), showDestructiveVariant ? "text-red-700" : "text-grey-500"),
|
33
|
-
|
33
|
+
width: "1rem",
|
34
|
+
height: "1rem"
|
34
35
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
35
36
|
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["w-full truncate ", ""])), showDestructiveVariant && "text-red-700"),
|
36
37
|
children: children
|
@@ -35,7 +35,8 @@ var DropdownLinkItem = exports.DropdownLinkItem = function DropdownLinkItem(prop
|
|
35
35
|
}, mergedProps), {}, {
|
36
36
|
children: [StartIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(StartIcon, {
|
37
37
|
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["mr-2 shrink-0 text-grey-500"]))),
|
38
|
-
|
38
|
+
width: "1rem",
|
39
|
+
height: "1rem"
|
39
40
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
40
41
|
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["w-full truncate"]))),
|
41
42
|
children: children
|
@@ -30,7 +30,8 @@ var DropdownToggleItem = exports.DropdownToggleItem = function DropdownToggleIte
|
|
30
30
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["flex items-center"]))), className),
|
31
31
|
children: [StartIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(StartIcon, {
|
32
32
|
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["mr-2 shrink-0 text-grey-500"]))),
|
33
|
-
|
33
|
+
width: "1rem",
|
34
|
+
height: "1rem"
|
34
35
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
35
36
|
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["flex-1 truncate mr-4"]))),
|
36
37
|
children: children
|
package/cjs/Dropzone/Dropzone.js
CHANGED
@@ -70,8 +70,9 @@ var Dropzone = exports.Dropzone = function Dropzone(_ref2) {
|
|
70
70
|
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
71
71
|
focused = _useState4[0],
|
72
72
|
setFocused = _useState4[1];
|
73
|
-
var
|
74
|
-
status =
|
73
|
+
var _useField = (0, _Field.useField)(),
|
74
|
+
status = _useField.state.status,
|
75
|
+
labelId = _useField.labelId;
|
75
76
|
var onDrop = (0, _react.useCallback)(function (acceptedFiles, fileRejections) {
|
76
77
|
var updatedFiles = multiple ? [].concat((0, _toConsumableArray2["default"])(files), (0, _toConsumableArray2["default"])(acceptedFiles)) : acceptedFiles;
|
77
78
|
setFiles(updatedFiles);
|
@@ -110,6 +111,7 @@ var Dropzone = exports.Dropzone = function Dropzone(_ref2) {
|
|
110
111
|
})), {}, {
|
111
112
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread({}, getInputProps({
|
112
113
|
id: dropzoneId,
|
114
|
+
"aria-labelledby": labelId,
|
113
115
|
onFocus: function onFocus() {
|
114
116
|
return setFocused(true);
|
115
117
|
},
|
package/cjs/Field/Field.d.ts
CHANGED
@@ -1,10 +1,11 @@
|
|
1
|
-
import type
|
2
|
-
import type { FieldState } from "./
|
1
|
+
import { type ReactChild, type ReactNode, type VFC } from "react";
|
2
|
+
import type { FieldState } from "./FieldContext";
|
3
3
|
export interface FieldProps {
|
4
4
|
/** @ignore */
|
5
5
|
className?: string;
|
6
6
|
/** Label to display above the nested input */
|
7
7
|
label?: ReactChild;
|
8
|
+
labelId?: string;
|
8
9
|
labelFor?: string;
|
9
10
|
/** Helpful description to show below the `Field` */
|
10
11
|
description?: ReactNode;
|
package/cjs/Field/Field.js
CHANGED
@@ -1,20 +1,19 @@
|
|
1
1
|
"use strict";
|
2
2
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
6
5
|
value: true
|
7
6
|
});
|
8
7
|
exports["default"] = exports.Field = void 0;
|
9
8
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
10
9
|
var _clsx = _interopRequireDefault(require("clsx"));
|
10
|
+
var _react = require("react");
|
11
11
|
var _reactFeather = require("react-feather");
|
12
12
|
var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
|
13
|
-
var
|
13
|
+
var _utils = require("../utils");
|
14
|
+
var _FieldContext = require("./FieldContext");
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
15
16
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
|
16
|
-
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); }
|
17
|
-
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 && Object.prototype.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; }
|
18
17
|
/**
|
19
18
|
* Use text fields to help users enter, select, and search for text. Text fields are normally found within a form but can also be part of a modal, search, or card
|
20
19
|
*
|
@@ -53,20 +52,31 @@ var Field = exports.Field = function Field(_ref) {
|
|
53
52
|
var className = _ref.className,
|
54
53
|
label = _ref.label,
|
55
54
|
labelFor = _ref.labelFor,
|
55
|
+
labelIdProp = _ref.labelId,
|
56
56
|
description = _ref.description,
|
57
57
|
_ref$state = _ref.state,
|
58
|
-
state = _ref$state === void 0 ?
|
58
|
+
state = _ref$state === void 0 ? _FieldContext.DEFAULT_FIELD_STATE : _ref$state,
|
59
59
|
_ref$inline = _ref.inline,
|
60
60
|
inline = _ref$inline === void 0 ? false : _ref$inline,
|
61
61
|
children = _ref.children;
|
62
|
-
|
63
|
-
|
62
|
+
var hasLabel = !!label;
|
63
|
+
var labelId = (0, _react.useMemo)(
|
64
|
+
// eslint-disable-next-line @algolia/satellite/prefer-stl-helper
|
65
|
+
function () {
|
66
|
+
return hasLabel ? labelIdProp !== null && labelIdProp !== void 0 ? labelIdProp : (0, _utils.uniqueId)("stl-field-label-") : undefined;
|
67
|
+
}, [labelIdProp, hasLabel]);
|
68
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FieldContext.FieldContext.Provider, {
|
69
|
+
value: {
|
70
|
+
state: state,
|
71
|
+
labelId: labelId
|
72
|
+
},
|
64
73
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
65
74
|
className: className,
|
66
75
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("label", {
|
67
76
|
className: (0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["cursor-pointer flex ", ""])), !inline && "flex-col"),
|
68
77
|
htmlFor: labelFor,
|
69
|
-
children: [
|
78
|
+
children: [hasLabel && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
79
|
+
id: labelId,
|
70
80
|
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["truncate ", ""])), inline ? "mr-2" : "mb-1"),
|
71
81
|
children: label
|
72
82
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
@@ -0,0 +1,16 @@
|
|
1
|
+
/// <reference types="react" />
|
2
|
+
export declare type FieldState = {
|
3
|
+
status: "default";
|
4
|
+
} | {
|
5
|
+
status: "validated";
|
6
|
+
} | {
|
7
|
+
status: "invalid";
|
8
|
+
errors: string[];
|
9
|
+
};
|
10
|
+
export declare type FieldContextValue = {
|
11
|
+
state: FieldState;
|
12
|
+
labelId?: string;
|
13
|
+
};
|
14
|
+
export declare const DEFAULT_FIELD_STATE: FieldState;
|
15
|
+
export declare const DEFAULT_CONTEXT_VALUE: FieldContextValue;
|
16
|
+
export declare const FieldContext: import("react").Context<FieldContextValue>;
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.FieldContext = exports.DEFAULT_FIELD_STATE = exports.DEFAULT_CONTEXT_VALUE = void 0;
|
7
|
+
var _react = require("react");
|
8
|
+
var DEFAULT_FIELD_STATE = exports.DEFAULT_FIELD_STATE = {
|
9
|
+
status: "default"
|
10
|
+
};
|
11
|
+
var DEFAULT_CONTEXT_VALUE = exports.DEFAULT_CONTEXT_VALUE = {
|
12
|
+
state: DEFAULT_FIELD_STATE
|
13
|
+
};
|
14
|
+
var FieldContext = exports.FieldContext = /*#__PURE__*/(0, _react.createContext)(DEFAULT_CONTEXT_VALUE);
|
package/cjs/Field/index.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
export * from "./Field";
|
2
|
-
export
|
3
|
-
export
|
2
|
+
export type { FieldState, FieldContextValue } from "./FieldContext";
|
3
|
+
export { FieldContext } from "./FieldContext";
|
4
|
+
export * from "./useField";
|
4
5
|
export { default } from "./Field";
|
package/cjs/Field/index.js
CHANGED
@@ -4,7 +4,15 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
5
5
|
value: true
|
6
6
|
});
|
7
|
-
var _exportNames = {
|
7
|
+
var _exportNames = {
|
8
|
+
FieldContext: true
|
9
|
+
};
|
10
|
+
Object.defineProperty(exports, "FieldContext", {
|
11
|
+
enumerable: true,
|
12
|
+
get: function get() {
|
13
|
+
return _FieldContext.FieldContext;
|
14
|
+
}
|
15
|
+
});
|
8
16
|
Object.defineProperty(exports, "default", {
|
9
17
|
enumerable: true,
|
10
18
|
get: function get() {
|
@@ -23,27 +31,16 @@ Object.keys(_Field).forEach(function (key) {
|
|
23
31
|
}
|
24
32
|
});
|
25
33
|
});
|
26
|
-
var
|
27
|
-
|
28
|
-
|
29
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
30
|
-
if (key in exports && exports[key] === _FieldStateContext[key]) return;
|
31
|
-
Object.defineProperty(exports, key, {
|
32
|
-
enumerable: true,
|
33
|
-
get: function get() {
|
34
|
-
return _FieldStateContext[key];
|
35
|
-
}
|
36
|
-
});
|
37
|
-
});
|
38
|
-
var _useFieldState = require("./useFieldState");
|
39
|
-
Object.keys(_useFieldState).forEach(function (key) {
|
34
|
+
var _FieldContext = require("./FieldContext");
|
35
|
+
var _useField = require("./useField");
|
36
|
+
Object.keys(_useField).forEach(function (key) {
|
40
37
|
if (key === "default" || key === "__esModule") return;
|
41
38
|
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
42
|
-
if (key in exports && exports[key] ===
|
39
|
+
if (key in exports && exports[key] === _useField[key]) return;
|
43
40
|
Object.defineProperty(exports, key, {
|
44
41
|
enumerable: true,
|
45
42
|
get: function get() {
|
46
|
-
return
|
43
|
+
return _useField[key];
|
47
44
|
}
|
48
45
|
});
|
49
46
|
});
|
@@ -0,0 +1,11 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.useField = void 0;
|
7
|
+
var _react = require("react");
|
8
|
+
var _FieldContext = require("./FieldContext");
|
9
|
+
var useField = exports.useField = function useField() {
|
10
|
+
return (0, _react.useContext)(_FieldContext.FieldContext);
|
11
|
+
};
|
package/cjs/Input/Input.js
CHANGED
@@ -13,7 +13,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
|
|
13
13
|
var _react = require("react");
|
14
14
|
var _reactFeather = require("react-feather");
|
15
15
|
var _Button = require("../Button");
|
16
|
-
var
|
16
|
+
var _Field = require("../Field");
|
17
17
|
var _Satellite = require("../Satellite");
|
18
18
|
var _satellitePrefixer = _interopRequireDefault(require("../styles/helpers/satellitePrefixer"));
|
19
19
|
var _isNil = _interopRequireDefault(require("../utils/isNil"));
|
@@ -88,8 +88,9 @@ var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
|
|
88
88
|
inputRefCallback = _useForwardedRef2[0],
|
89
89
|
inputRef = _useForwardedRef2[1];
|
90
90
|
var triggerInputChange = (0, _useTriggerInputChange["default"])(inputRef);
|
91
|
-
var
|
92
|
-
status =
|
91
|
+
var _useField = (0, _Field.useField)(),
|
92
|
+
status = _useField.state.status,
|
93
|
+
labelId = _useField.labelId;
|
93
94
|
var isControlled = ("value" in inputProps);
|
94
95
|
var _useState3 = (0, _react.useState)(function () {
|
95
96
|
return isControlled ? inputProps.value : inputProps.defaultValue;
|
@@ -104,6 +105,7 @@ var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
|
|
104
105
|
}
|
105
106
|
}, [inputProps.value, isControlled]);
|
106
107
|
var Icon = startIcon ? startIcon : type === "search" ? SearchIcon : undefined;
|
108
|
+
var iconSize = variant === "small" ? "1rem" : "1.5rem";
|
107
109
|
var StatusIcon = status === "invalid" ? InvalidIcon : status === "validated" ? ValidatedIcon : _react.Fragment;
|
108
110
|
var clearable = typeof clearableProp === "boolean" ? clearableProp : type === "search";
|
109
111
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
@@ -115,11 +117,13 @@ var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
|
|
115
117
|
},
|
116
118
|
children: [Icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(Icon, {
|
117
119
|
className: (0, _satellitePrefixer["default"])(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["ml-4 shrink-0 ", ""])), disabled ? "text-grey-200" : focused ? "text-accent-600" : "text-grey-500"),
|
118
|
-
|
120
|
+
width: iconSize,
|
121
|
+
height: iconSize
|
119
122
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread(_objectSpread({
|
120
123
|
className: (0, _satellitePrefixer["default"])(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["mx-4 no-search-input-decoration"]))),
|
121
124
|
ref: inputRefCallback,
|
122
|
-
type: type
|
125
|
+
type: type,
|
126
|
+
"aria-labelledby": labelId
|
123
127
|
}, inputProps), {}, {
|
124
128
|
readOnly: readOnly,
|
125
129
|
disabled: disabled,
|
package/cjs/Link/Link.d.ts
CHANGED
@@ -7,7 +7,7 @@ export declare type LinkProps = {
|
|
7
7
|
} & AnchorHTMLAttributes<HTMLAnchorElement>;
|
8
8
|
export declare const Link: import("react").ForwardRefExoticComponent<{
|
9
9
|
href: string;
|
10
|
-
startIcon?:
|
11
|
-
endIcon?:
|
10
|
+
startIcon?: IconComponentType | undefined;
|
11
|
+
endIcon?: IconComponentType | undefined;
|
12
12
|
} & AnchorHTMLAttributes<HTMLAnchorElement> & import("react").RefAttributes<HTMLAnchorElement>>;
|
13
13
|
export default Link;
|
package/cjs/Link/Link.js
CHANGED
@@ -39,10 +39,12 @@ var Link = exports.Link = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, re
|
|
39
39
|
className: (0, _clsx["default"])((0, _satellitePrefixer["default"])(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["typo-link inline-flex items-center"]))), className),
|
40
40
|
children: [StartIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(StartIcon, {
|
41
41
|
className: (0, _satellitePrefixer["default"])(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["mr-1 shrink-0"]))),
|
42
|
-
|
42
|
+
width: "1em",
|
43
|
+
height: "1em"
|
43
44
|
}), children, EndIcon && /*#__PURE__*/(0, _jsxRuntime.jsx)(EndIcon, {
|
44
45
|
className: (0, _satellitePrefixer["default"])(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["ml-1 shrink-0"]))),
|
45
|
-
|
46
|
+
width: "1em",
|
47
|
+
height: "1em"
|
46
48
|
})]
|
47
49
|
}));
|
48
50
|
});
|
@@ -1,13 +1,16 @@
|
|
1
1
|
import { type HTMLAttributes } from "react";
|
2
2
|
export interface ProgressBarProps extends HTMLAttributes<HTMLDivElement> {
|
3
|
-
|
3
|
+
/** The current value of the progress bar. */
|
4
4
|
value: number;
|
5
|
+
/** The maximum value of the progress bar. */
|
6
|
+
max?: number;
|
7
|
+
/** The className to apply to the bar element. */
|
8
|
+
barClassName?: string;
|
5
9
|
}
|
6
10
|
/**
|
7
|
-
*
|
11
|
+
* A progress bar visually indicates the completion status of a task, updating in real-time to guide users.
|
8
12
|
*
|
9
|
-
*
|
10
|
-
* - You should indicate either a percentage or other numeric values (such as - 234/4092 queries processed)
|
13
|
+
* See the [Progress Bar documentation page](https://satellite.algolia.com/components/feedback/progress-bar) for more information.
|
11
14
|
*/
|
12
15
|
export declare const ProgressBar: import("react").ForwardRefExoticComponent<ProgressBarProps & import("react").RefAttributes<HTMLDivElement>>;
|
13
16
|
export default ProgressBar;
|