@hitachivantara/uikit-react-core 5.75.0 → 5.77.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 (32) hide show
  1. package/dist/cjs/Dropdown/Dropdown.cjs +271 -276
  2. package/dist/cjs/Forms/Suggestions/Suggestions.cjs +13 -2
  3. package/dist/cjs/Forms/Suggestions/Suggestions.styles.cjs +7 -4
  4. package/dist/cjs/InlineEditor/InlineEditor.cjs +4 -2
  5. package/dist/cjs/Input/Input.cjs +25 -6
  6. package/dist/cjs/QueryBuilder/Rule/Attribute/Attribute.cjs +1 -1
  7. package/dist/cjs/QueryBuilder/Rule/Operator/Operator.cjs +1 -1
  8. package/dist/cjs/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.cjs +1 -1
  9. package/dist/cjs/Table/renderers/DropdownColumnCell/DropdownColumnCell.cjs +3 -17
  10. package/dist/cjs/Table/renderers/renderers.cjs +2 -5
  11. package/dist/esm/Dropdown/Dropdown.js +272 -277
  12. package/dist/esm/Dropdown/Dropdown.js.map +1 -1
  13. package/dist/esm/Forms/Suggestions/Suggestions.js +13 -2
  14. package/dist/esm/Forms/Suggestions/Suggestions.js.map +1 -1
  15. package/dist/esm/Forms/Suggestions/Suggestions.styles.js +7 -4
  16. package/dist/esm/Forms/Suggestions/Suggestions.styles.js.map +1 -1
  17. package/dist/esm/InlineEditor/InlineEditor.js +4 -2
  18. package/dist/esm/InlineEditor/InlineEditor.js.map +1 -1
  19. package/dist/esm/Input/Input.js +25 -6
  20. package/dist/esm/Input/Input.js.map +1 -1
  21. package/dist/esm/QueryBuilder/Rule/Attribute/Attribute.js +1 -1
  22. package/dist/esm/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
  23. package/dist/esm/QueryBuilder/Rule/Operator/Operator.js +1 -1
  24. package/dist/esm/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
  25. package/dist/esm/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +1 -1
  26. package/dist/esm/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
  27. package/dist/esm/Table/renderers/DropdownColumnCell/DropdownColumnCell.js +3 -17
  28. package/dist/esm/Table/renderers/DropdownColumnCell/DropdownColumnCell.js.map +1 -1
  29. package/dist/esm/Table/renderers/renderers.js +2 -5
  30. package/dist/esm/Table/renderers/renderers.js.map +1 -1
  31. package/dist/types/index.d.ts +39 -21
  32. package/package.json +2 -2
@@ -57,6 +57,8 @@ const HvInput = React.forwardRef((props, ref) => {
57
57
  required = false,
58
58
  readOnly = false,
59
59
  disabled = false,
60
+ enablePortal = false,
61
+ suggestOnFocus = false,
60
62
  label,
61
63
  "aria-label": ariaLabel,
62
64
  "aria-labelledby": ariaLabelledBy,
@@ -249,11 +251,17 @@ const HvInput = React.forwardRef((props, ref) => {
249
251
  const showClear = !disabled && !readOnly && !disableClear && !isEmptyValue && (!hasOnEnter || type !== "search" || disableSearchButton || validationState !== validationStates.default.standBy);
250
252
  const showSearchIcon = type === "search" && !disableSearchButton;
251
253
  const showRevealPasswordButton = type === "password" && !disableRevealPassword;
252
- const handleClear = React.useCallback(() => {
253
- setValidationState(validationStates.default.standBy);
254
- changeInputValue(inputRef.current, "");
255
- setTimeout(focusInput);
256
- }, [setValidationState]);
254
+ const handleClear = React.useCallback(
255
+ (event) => {
256
+ setValidationState(validationStates.default.standBy);
257
+ changeInputValue(inputRef.current, "");
258
+ if (canShowSuggestions && suggestOnFocus) event.stopPropagation();
259
+ else {
260
+ setTimeout(focusInput);
261
+ }
262
+ },
263
+ [canShowSuggestions, setValidationState, suggestOnFocus]
264
+ );
257
265
  const clearButton = React.useMemo(() => {
258
266
  if (!showClear) {
259
267
  return null;
@@ -455,6 +463,16 @@ const HvInput = React.forwardRef((props, ref) => {
455
463
  ref: inputRef,
456
464
  // prevent browsers auto-fill/suggestions when we have our own
457
465
  autoComplete: canShowSuggestions ? "off" : void 0,
466
+ onFocus: (event) => {
467
+ inputProps.onFocus?.(event);
468
+ if (canShowSuggestions && suggestOnFocus) {
469
+ suggestionHandler(value);
470
+ }
471
+ },
472
+ onClick: (event) => {
473
+ inputProps.onClick?.(event);
474
+ if (canShowSuggestions && suggestOnFocus) event.stopPropagation();
475
+ },
458
476
  ...inputProps
459
477
  },
460
478
  inputRef: forkedRef,
@@ -478,7 +496,8 @@ const HvInput = React.forwardRef((props, ref) => {
478
496
  onClose: suggestionClearHandler,
479
497
  onKeyDown: onSuggestionKeyDown,
480
498
  onSuggestionSelected: suggestionSelectedHandler,
481
- suggestionValues
499
+ suggestionValues,
500
+ enablePortal
482
501
  }
483
502
  )
484
503
  ] }),
@@ -33,7 +33,7 @@ const Attribute = ({
33
33
  status: isInvalid ? "invalid" : "valid",
34
34
  statusMessage: labels.rule.attribute.exists,
35
35
  onChange: (selected) => {
36
- if (selected && !Array.isArray(selected)) {
36
+ if (selected) {
37
37
  const attributeId = selected.id;
38
38
  const type = attributes && attributeId && attributes[attributeId]?.type;
39
39
  const typeOperators = type ? operators[type] : void 0;
@@ -36,7 +36,7 @@ const Operator = ({
36
36
  disabled: values.length === 0,
37
37
  readOnly,
38
38
  onChange: (selected) => {
39
- if (selected && !Array.isArray(selected) && selected.id) {
39
+ if (selected?.id) {
40
40
  dispatchAction({
41
41
  type: "set-operator",
42
42
  id,
@@ -23,7 +23,7 @@ const BooleanValue = ({ id, value = true }) => {
23
23
  values,
24
24
  readOnly,
25
25
  onChange: (selected) => {
26
- if (selected && !Array.isArray(selected) && selected.id) {
26
+ if (selected?.id) {
27
27
  dispatchAction({
28
28
  type: "set-value",
29
29
  id,
@@ -3,23 +3,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const Dropdown = require("../../../Dropdown/Dropdown.cjs");
5
5
  const HvDropdownColumnCell = ({
6
- values,
7
- disabled,
8
- onChange,
9
- placeholder,
10
- dropdownProps
6
+ dropdownProps,
7
+ ...others
11
8
  }) => {
12
- return /* @__PURE__ */ jsxRuntime.jsx(
13
- Dropdown.HvDropdown,
14
- {
15
- onChange: (item) => {
16
- onChange?.(item);
17
- },
18
- placeholder,
19
- disabled,
20
- values,
21
- ...dropdownProps
22
- }
23
- );
9
+ return /* @__PURE__ */ jsxRuntime.jsx(Dropdown.HvDropdown, { ...dropdownProps, ...others });
24
10
  };
25
11
  exports.HvDropdownColumnCell = HvDropdownColumnCell;
@@ -143,11 +143,8 @@ function hvDropdownColumn(col, id, placeholder, disabledPlaceholder, onChange, d
143
143
  placeholder: disabled ? disabledPlaceholder : placeholder,
144
144
  onChange: (val) => onChange?.(row.id, val),
145
145
  disabled,
146
- dropdownProps: {
147
- "aria-labelledby": setId.setId(id, column.id) || column.id || id,
148
- // TODO - to be reviewed because it doesn't make much sense
149
- ...dropdownProps
150
- }
146
+ "aria-labelledby": setId.setId(id, column.id) || column.id || id,
147
+ ...dropdownProps
151
148
  }
152
149
  );
153
150
  },