@hitachivantara/uikit-react-core 5.98.0 → 5.99.1

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 (107) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AppSwitcher/Action/Action.cjs +4 -1
  3. package/dist/cjs/BaseRadio/BaseRadio.cjs +2 -2
  4. package/dist/cjs/BaseSwitch/BaseSwitch.cjs +2 -2
  5. package/dist/cjs/Card/Header/Header.styles.cjs +3 -1
  6. package/dist/cjs/CheckBox/CheckBox.cjs +2 -2
  7. package/dist/cjs/ColorPicker/Fields/Fields.cjs +0 -1
  8. package/dist/cjs/ColorPicker/Fields/Fields.styles.cjs +1 -3
  9. package/dist/cjs/ColorPicker/Picker/Picker.cjs +0 -1
  10. package/dist/cjs/ColorPicker/Picker/Picker.styles.cjs +1 -3
  11. package/dist/cjs/ColorPicker/PresetColors/PresetColors.cjs +0 -1
  12. package/dist/cjs/ColorPicker/PresetColors/PresetColors.styles.cjs +1 -3
  13. package/dist/cjs/ColorPicker/SavedColors/SavedColors.cjs +0 -1
  14. package/dist/cjs/ColorPicker/SavedColors/SavedColors.styles.cjs +1 -3
  15. package/dist/cjs/Dialog/Content/Content.cjs +26 -0
  16. package/dist/cjs/Dialog/Content/Content.styles.cjs +5 -2
  17. package/dist/cjs/Dialog/Dialog.styles.cjs +3 -1
  18. package/dist/cjs/Dialog/Title/Title.cjs +4 -4
  19. package/dist/cjs/DropdownButton/DropdownButton.cjs +2 -2
  20. package/dist/cjs/NumberInput/NumberInput.cjs +5 -5
  21. package/dist/cjs/Pagination/Pagination.cjs +6 -3
  22. package/dist/cjs/QueryBuilder/ConfirmationDialog.cjs +32 -0
  23. package/dist/cjs/QueryBuilder/QueryBuilder.cjs +4 -4
  24. package/dist/cjs/QueryBuilder/Rule/{Attribute/Attribute.cjs → Attribute.cjs} +3 -4
  25. package/dist/cjs/QueryBuilder/Rule/{Operator/Operator.cjs → Operator.cjs} +3 -4
  26. package/dist/cjs/QueryBuilder/Rule/Rule.cjs +3 -4
  27. package/dist/cjs/QueryBuilder/Rule/Rule.styles.cjs +46 -50
  28. package/dist/cjs/QueryBuilder/{RuleGroup/RuleGroup.cjs → RuleGroup.cjs} +9 -9
  29. package/dist/cjs/QueryBuilder/{Rule/Value/BooleanValue → Value}/BooleanValue.cjs +3 -5
  30. package/dist/cjs/QueryBuilder/{Rule/Value/DateTimeValue → Value}/DateTimeValue.cjs +67 -40
  31. package/dist/cjs/QueryBuilder/{Rule/Value/EmptyValue → Value}/EmptyValue.cjs +1 -1
  32. package/dist/cjs/QueryBuilder/{Rule/Value/NumericValue → Value}/NumericValue.cjs +33 -8
  33. package/dist/cjs/QueryBuilder/{Rule/Value/TextValue → Value}/TextValue.cjs +9 -5
  34. package/dist/cjs/QueryBuilder/{Rule/Value → Value}/Value.cjs +7 -9
  35. package/dist/cjs/Radio/Radio.cjs +3 -3
  36. package/dist/cjs/Section/Section.cjs +43 -18
  37. package/dist/cjs/Section/Section.styles.cjs +14 -2
  38. package/dist/cjs/Select/Select.cjs +2 -2
  39. package/dist/cjs/Switch/Switch.cjs +1 -1
  40. package/dist/cjs/Table/TableSection/TableSection.styles.cjs +1 -7
  41. package/dist/cjs/TagsInput/TagsInput.cjs +2 -2
  42. package/dist/cjs/TextArea/TextArea.cjs +2 -2
  43. package/dist/cjs/VerticalNavigation/TreeView/TreeViewItem.cjs +2 -2
  44. package/dist/cjs/providers/Provider.cjs +1 -4
  45. package/dist/cjs/themes/ds3.cjs +16 -0
  46. package/dist/cjs/themes/ds5.cjs +20 -0
  47. package/dist/cjs/themes/pentahoPlus.cjs +50 -16
  48. package/dist/esm/AppSwitcher/Action/Action.js +4 -1
  49. package/dist/esm/BaseRadio/BaseRadio.js +2 -2
  50. package/dist/esm/BaseSwitch/BaseSwitch.js +2 -2
  51. package/dist/esm/Card/Header/Header.styles.js +3 -1
  52. package/dist/esm/CheckBox/CheckBox.js +2 -2
  53. package/dist/esm/ColorPicker/Fields/Fields.js +1 -3
  54. package/dist/esm/ColorPicker/Fields/Fields.styles.js +1 -3
  55. package/dist/esm/ColorPicker/Picker/Picker.js +1 -3
  56. package/dist/esm/ColorPicker/Picker/Picker.styles.js +1 -3
  57. package/dist/esm/ColorPicker/PresetColors/PresetColors.js +1 -3
  58. package/dist/esm/ColorPicker/PresetColors/PresetColors.styles.js +1 -3
  59. package/dist/esm/ColorPicker/SavedColors/SavedColors.js +1 -3
  60. package/dist/esm/ColorPicker/SavedColors/SavedColors.styles.js +1 -3
  61. package/dist/esm/Dialog/Content/Content.js +27 -1
  62. package/dist/esm/Dialog/Content/Content.styles.js +5 -2
  63. package/dist/esm/Dialog/Dialog.styles.js +3 -1
  64. package/dist/esm/Dialog/Title/Title.js +5 -5
  65. package/dist/esm/DropdownButton/DropdownButton.js +2 -2
  66. package/dist/esm/NumberInput/NumberInput.js +1 -1
  67. package/dist/esm/Pagination/Pagination.js +2 -1
  68. package/dist/esm/QueryBuilder/ConfirmationDialog.js +32 -0
  69. package/dist/esm/QueryBuilder/QueryBuilder.js +4 -4
  70. package/dist/esm/QueryBuilder/Rule/{Attribute/Attribute.js → Attribute.js} +4 -5
  71. package/dist/esm/QueryBuilder/Rule/{Operator/Operator.js → Operator.js} +4 -5
  72. package/dist/esm/QueryBuilder/Rule/Rule.js +4 -6
  73. package/dist/esm/QueryBuilder/Rule/Rule.styles.js +47 -51
  74. package/dist/esm/QueryBuilder/{RuleGroup/RuleGroup.js → RuleGroup.js} +9 -9
  75. package/dist/esm/QueryBuilder/{Rule/Value/BooleanValue → Value}/BooleanValue.js +3 -5
  76. package/dist/esm/QueryBuilder/{Rule/Value/DateTimeValue → Value}/DateTimeValue.js +63 -35
  77. package/dist/esm/QueryBuilder/{Rule/Value/EmptyValue → Value}/EmptyValue.js +1 -1
  78. package/dist/esm/QueryBuilder/{Rule/Value/NumericValue → Value}/NumericValue.js +33 -8
  79. package/dist/esm/QueryBuilder/{Rule/Value/TextValue → Value}/TextValue.js +9 -5
  80. package/dist/esm/QueryBuilder/{Rule/Value → Value}/Value.js +7 -9
  81. package/dist/esm/Radio/Radio.js +3 -3
  82. package/dist/esm/Section/Section.js +44 -19
  83. package/dist/esm/Section/Section.styles.js +14 -2
  84. package/dist/esm/Select/Select.js +2 -2
  85. package/dist/esm/Switch/Switch.js +1 -1
  86. package/dist/esm/Table/TableSection/TableSection.styles.js +1 -7
  87. package/dist/esm/TagsInput/TagsInput.js +2 -2
  88. package/dist/esm/TextArea/TextArea.js +2 -2
  89. package/dist/esm/VerticalNavigation/TreeView/TreeViewItem.js +2 -2
  90. package/dist/esm/providers/Provider.js +2 -5
  91. package/dist/esm/themes/ds3.js +16 -0
  92. package/dist/esm/themes/ds5.js +20 -0
  93. package/dist/esm/themes/pentahoPlus.js +50 -16
  94. package/dist/types/index.d.ts +51 -47
  95. package/package.json +6 -6
  96. package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +0 -53
  97. package/dist/cjs/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs +0 -11
  98. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs +0 -37
  99. package/dist/cjs/QueryBuilder/Rule/Value/DateTimeValue/utils.cjs +0 -36
  100. package/dist/cjs/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs +0 -34
  101. package/dist/cjs/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs +0 -13
  102. package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +0 -53
  103. package/dist/esm/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js +0 -11
  104. package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js +0 -37
  105. package/dist/esm/QueryBuilder/Rule/Value/DateTimeValue/utils.js +0 -34
  106. package/dist/esm/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js +0 -34
  107. package/dist/esm/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js +0 -13
@@ -4,30 +4,74 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const styles = require("@mui/material/styles");
6
6
  const useMediaQuery = require("@mui/material/useMediaQuery");
7
- const dayjs = require("dayjs");
8
- const helpers = require("../../../../utils/helpers.cjs");
9
- const Context = require("../../../Context.cjs");
10
- const DateTimeValue_styles = require("./DateTimeValue.styles.cjs");
11
- const utils = require("./utils.cjs");
12
- const DatePicker = require("../../../../DatePicker/DatePicker.cjs");
13
- const TimePicker = require("../../../../TimePicker/TimePicker.cjs");
14
- const WarningText = require("../../../../FormElement/WarningText/WarningText.cjs");
7
+ const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
8
+ const uikitStyles = require("@hitachivantara/uikit-styles");
9
+ const helpers = require("../../utils/helpers.cjs");
10
+ const Context = require("../Context.cjs");
11
+ const DatePicker = require("../../DatePicker/DatePicker.cjs");
12
+ const TimePicker = require("../../TimePicker/TimePicker.cjs");
13
+ const WarningText = require("../../FormElement/WarningText/WarningText.cjs");
15
14
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
16
15
  const useMediaQuery__default = /* @__PURE__ */ _interopDefault(useMediaQuery);
17
- const dayjs__default = /* @__PURE__ */ _interopDefault(dayjs);
18
- function valueIsRange(operator) {
19
- return operator === "range";
16
+ function formatDate(date) {
17
+ return date?.toISOString().slice(0, 10);
20
18
  }
19
+ function formatTime(time) {
20
+ if (!time) return void 0;
21
+ const { hours, minutes, seconds } = time;
22
+ const date = new Date(Date.UTC(2020, 8, 8, hours, minutes, seconds));
23
+ return date.toISOString().slice(11, 19);
24
+ }
25
+ function parseDate(date) {
26
+ return date ? new Date(date) : void 0;
27
+ }
28
+ function parseTime(time) {
29
+ if (!time) return null;
30
+ const parts = time.split(":");
31
+ return {
32
+ hours: Number(parts[0]),
33
+ minutes: Number(parts[1]),
34
+ seconds: Number(parts[2]) || 0
35
+ };
36
+ }
37
+ const { useClasses } = uikitReactUtils.createClasses("HvQueryBuilderDateTimeValue", {
38
+ root: {
39
+ display: "flex",
40
+ flexDirection: "column"
41
+ },
42
+ row: {},
43
+ vertical: {
44
+ display: "flex",
45
+ flexDirection: "column"
46
+ },
47
+ horizontal: {
48
+ display: "flex",
49
+ "& > div:not(:last-child)": {
50
+ marginRight: uikitStyles.theme.space.md
51
+ }
52
+ },
53
+ isMdDown: {
54
+ "& > div:not(:last-child)": {
55
+ marginRight: `calc(${uikitStyles.theme.space.md} / 2)`
56
+ }
57
+ },
58
+ datePicker: {
59
+ flex: 1
60
+ },
61
+ timePicker: {
62
+ flex: 1
63
+ }
64
+ });
21
65
  const DateTimeValue = ({
22
66
  id,
23
67
  operator,
24
68
  value: valueProp = {},
25
69
  initialTouched = false
26
70
  }) => {
27
- const { classes, cx } = DateTimeValue_styles.useClasses();
28
- const theme = styles.useTheme();
29
- const isMdDown = useMediaQuery__default.default(theme.breakpoints.down("md"));
30
- const isRange = valueIsRange(operator);
71
+ const { classes, cx } = useClasses();
72
+ const theme2 = styles.useTheme();
73
+ const isMdDown = useMediaQuery__default.default(theme2.breakpoints.down("md"));
74
+ const isRange = operator === "range";
31
75
  const { labels, dispatchAction, readOnly } = Context.useQueryBuilderContext();
32
76
  const elementId = helpers.uniqueId(`datetime${id}`);
33
77
  const [touchedDate, setTouchedDate] = React.useState(initialTouched);
@@ -37,10 +81,7 @@ const DateTimeValue = ({
37
81
  const onDateChange = React.useCallback(
38
82
  (data) => {
39
83
  setTouchedDate(true);
40
- let date;
41
- if (data != null) {
42
- date = dayjs__default.default(data).format("YYYY-MM-DD");
43
- }
84
+ const date = formatDate(data);
44
85
  const oldValue = !isRange ? valueProp?.date : valueProp?.start?.date;
45
86
  if (date !== oldValue) {
46
87
  let value;
@@ -70,12 +111,7 @@ const DateTimeValue = ({
70
111
  const onTimeChange = React.useCallback(
71
112
  (data) => {
72
113
  setTouchedTime(true);
73
- let time;
74
- if (data != null) {
75
- time = `${utils.padTime(data.hours)}:${utils.padTime(data.minutes)}:${utils.padTime(
76
- data.seconds
77
- )}`;
78
- }
114
+ const time = formatTime(data);
79
115
  const oldValue = !isRange ? valueProp?.time : valueProp?.start?.time;
80
116
  if (time !== oldValue) {
81
117
  let value;
@@ -105,10 +141,7 @@ const DateTimeValue = ({
105
141
  const onEndDateChange = React.useCallback(
106
142
  (data) => {
107
143
  setTouchedEndDate(true);
108
- let date;
109
- if (data != null) {
110
- date = dayjs__default.default(data).format("YYYY-MM-DD");
111
- }
144
+ const date = formatDate(data);
112
145
  if (date !== valueProp?.end?.date) {
113
146
  const value = {
114
147
  start: valueProp?.start,
@@ -129,12 +162,7 @@ const DateTimeValue = ({
129
162
  const onEndTimeChange = React.useCallback(
130
163
  (data) => {
131
164
  setTouchedEndTime(true);
132
- let time;
133
- if (data != null) {
134
- time = `${utils.padTime(data.hours)}:${utils.padTime(data.minutes)}:${utils.padTime(
135
- data.seconds
136
- )}`;
137
- }
165
+ const time = formatTime(data);
138
166
  if (time !== valueProp?.end?.time) {
139
167
  const value = {
140
168
  start: valueProp?.start,
@@ -153,15 +181,15 @@ const DateTimeValue = ({
153
181
  [dispatchAction, id, valueProp]
154
182
  );
155
183
  const startDate = isRange ? valueProp?.start?.date : valueProp?.date;
156
- const datePickerValue = React.useMemo(() => utils.parseDate(startDate), [startDate]);
184
+ const datePickerValue = React.useMemo(() => parseDate(startDate), [startDate]);
157
185
  const datePickerStatus = datePickerValue != null ? "valid" : "invalid";
158
186
  const startTime = (isRange ? valueProp?.start?.time : valueProp?.time) ?? "";
159
- const timePickerValue = React.useMemo(() => utils.parseTime(startTime), [startTime]);
187
+ const timePickerValue = React.useMemo(() => parseTime(startTime), [startTime]);
160
188
  const timePickerStatus = timePickerValue != null ? "valid" : "invalid";
161
189
  const endDate = isRange ? valueProp?.end?.date : null;
162
- const endDatePickerValue = React.useMemo(() => utils.parseDate(endDate), [endDate]);
190
+ const endDatePickerValue = React.useMemo(() => parseDate(endDate), [endDate]);
163
191
  const endTime = isRange ? valueProp?.end?.time : null;
164
- const endTimePickerValue = React.useMemo(() => utils.parseTime(endTime), [endTime]);
192
+ const endTimePickerValue = React.useMemo(() => parseTime(endTime), [endTime]);
165
193
  const dateStatus = !touchedDate ? "standBy" : datePickerStatus;
166
194
  const timeStatus = !touchedTime ? "standBy" : timePickerStatus;
167
195
  const endDateIsBefore = startDate != null && endDate != null && endDate < startDate;
@@ -279,5 +307,4 @@ const DateTimeValue = ({
279
307
  ] })
280
308
  ] });
281
309
  };
282
- React.memo(DateTimeValue);
283
310
  exports.DateTimeValue = DateTimeValue;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const React = require("react");
4
- const Context = require("../../../Context.cjs");
4
+ const Context = require("../Context.cjs");
5
5
  const EmptyValue = ({ id }) => {
6
6
  const { dispatchAction } = Context.useQueryBuilderContext();
7
7
  React.useEffect(() => {
@@ -4,23 +4,49 @@ const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
5
  const styles = require("@mui/material/styles");
6
6
  const useMediaQuery = require("@mui/material/useMediaQuery");
7
- const helpers = require("../../../../utils/helpers.cjs");
8
- const Context = require("../../../Context.cjs");
9
- const Numeric_styles = require("./Numeric.styles.cjs");
10
- const Input = require("../../../../Input/Input.cjs");
7
+ const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
8
+ const uikitStyles = require("@hitachivantara/uikit-styles");
9
+ const helpers = require("../../utils/helpers.cjs");
10
+ const Context = require("../Context.cjs");
11
+ const Input = require("../../Input/Input.cjs");
11
12
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
12
13
  const useMediaQuery__default = /* @__PURE__ */ _interopDefault(useMediaQuery);
14
+ const { useClasses } = uikitReactUtils.createClasses("HvQueryBuilderNumericValue", {
15
+ root: {},
16
+ label: {
17
+ paddingBottom: "6px"
18
+ },
19
+ inputContainer: {},
20
+ rangeContainer: {
21
+ display: "flex",
22
+ "& $inputContainer": {
23
+ flexGrow: 1,
24
+ overflow: "auto"
25
+ },
26
+ "& > $inputContainer:not(:last-child)": {
27
+ marginRight: uikitStyles.theme.space.md
28
+ }
29
+ },
30
+ input: {
31
+ flexGrow: 1
32
+ },
33
+ isMdDown: {
34
+ "& > $inputContainer:not(:last-child)": {
35
+ marginRight: `calc(${uikitStyles.theme.space.md} / 2)`
36
+ }
37
+ }
38
+ });
13
39
  const NumericValue = ({
14
40
  id,
15
41
  value,
16
42
  operator,
17
43
  initialTouched = false
18
44
  }) => {
19
- const { classes, cx } = Numeric_styles.useClasses();
45
+ const { classes, cx } = useClasses();
20
46
  const isRange = operator === "range";
21
47
  const { labels, dispatchAction, readOnly } = Context.useQueryBuilderContext();
22
- const theme = styles.useTheme();
23
- const isMdDown = useMediaQuery__default.default(theme.breakpoints.down("md"));
48
+ const theme2 = styles.useTheme();
49
+ const isMdDown = useMediaQuery__default.default(theme2.breakpoints.down("md"));
24
50
  const onSingleValueChange = React.useCallback(
25
51
  (event, data) => {
26
52
  dispatchAction({
@@ -181,5 +207,4 @@ const NumericValue = ({
181
207
  ) })
182
208
  ] });
183
209
  };
184
- React.memo(NumericValue);
185
210
  exports.NumericValue = NumericValue;
@@ -2,15 +2,20 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const React = require("react");
5
- const Context = require("../../../Context.cjs");
6
- const TextValue_styles = require("./TextValue.styles.cjs");
7
- const Input = require("../../../../Input/Input.cjs");
5
+ const uikitReactUtils = require("@hitachivantara/uikit-react-utils");
6
+ const Context = require("../Context.cjs");
7
+ const Input = require("../../Input/Input.cjs");
8
+ const { useClasses } = uikitReactUtils.createClasses("HvQueryBuilderTextValue", {
9
+ location: {
10
+ flexGrow: 1
11
+ }
12
+ });
8
13
  const TextValue = ({
9
14
  id,
10
15
  value = "",
11
16
  initialTouched = false
12
17
  }) => {
13
- const { classes } = TextValue_styles.useClasses();
18
+ const { classes } = useClasses();
14
19
  const { labels, dispatchAction, readOnly } = Context.useQueryBuilderContext();
15
20
  const [touched, setTouched] = React.useState(initialTouched);
16
21
  const isValid = value != null && value.toString().trim() !== "";
@@ -48,5 +53,4 @@ const TextValue = ({
48
53
  }
49
54
  );
50
55
  };
51
- React.memo(TextValue);
52
56
  exports.TextValue = TextValue;
@@ -1,14 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
- const React = require("react");
5
- const Context = require("../../Context.cjs");
6
- const types = require("../../types.cjs");
7
- const EmptyValue = require("./EmptyValue/EmptyValue.cjs");
8
- const TextValue = require("./TextValue/TextValue.cjs");
9
- const DateTimeValue = require("./DateTimeValue/DateTimeValue.cjs");
10
- const NumericValue = require("./NumericValue/NumericValue.cjs");
11
- const BooleanValue = require("./BooleanValue/BooleanValue.cjs");
4
+ const Context = require("../Context.cjs");
5
+ const types = require("../types.cjs");
6
+ const BooleanValue = require("./BooleanValue.cjs");
7
+ const DateTimeValue = require("./DateTimeValue.cjs");
8
+ const EmptyValue = require("./EmptyValue.cjs");
9
+ const NumericValue = require("./NumericValue.cjs");
10
+ const TextValue = require("./TextValue.cjs");
12
11
  const getRenderer = (renderer, operator) => (
13
12
  // 1. Custom renderer
14
13
  typeof renderer === "function" && renderer || // 2. Custom operator renderer
@@ -72,5 +71,4 @@ const Value = ({
72
71
  return /* @__PURE__ */ jsxRuntime.jsx(TextValue.TextValue, { id, value: valueProp, initialTouched });
73
72
  }
74
73
  };
75
- React.memo(Value);
76
74
  exports.Value = Value;
@@ -115,11 +115,11 @@ const HvRadio = React.forwardRef(
115
115
  "div",
116
116
  {
117
117
  className: cx(classes.container, {
118
- [classes.disabled]: disabled,
119
118
  [classes.focusVisible]: !!(focusVisible && label),
120
- [classes.invalidContainer]: isStateInvalid,
119
+ [classes.semantic]: semantic,
121
120
  [classes.checked]: isChecked,
122
- [classes.semantic]: semantic
121
+ [classes.invalidContainer]: isStateInvalid,
122
+ [classes.disabled]: disabled
123
123
  }),
124
124
  children: [
125
125
  radio,
@@ -16,6 +16,7 @@ const HvSection = React.forwardRef(
16
16
  title,
17
17
  expandable,
18
18
  expanded,
19
+ expandableHeader,
19
20
  defaultExpanded = true,
20
21
  actions,
21
22
  onToggle,
@@ -26,6 +27,7 @@ const HvSection = React.forwardRef(
26
27
  ...others
27
28
  } = uikitReactUtils.useDefaultProps("HvSection", props);
28
29
  const { classes, cx } = Section_styles.useClasses(classesProp);
30
+ const expandButtonRef = React.useRef(null);
29
31
  const { isOpen, toggleOpen, buttonProps, regionProps } = useExpandable.useExpandable({
30
32
  id,
31
33
  expanded,
@@ -42,24 +44,47 @@ const HvSection = React.forwardRef(
42
44
  }),
43
45
  ...others,
44
46
  children: [
45
- hasHeader && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.header, children: [
46
- expandable && /* @__PURE__ */ jsxRuntime.jsx(
47
- Button.HvButton,
48
- {
49
- icon: true,
50
- onClick: (event) => {
51
- toggleOpen();
52
- onToggle?.(event, !isOpen);
53
- },
54
- "aria-label": isOpen ? "Collapse" : "Expand",
55
- ...buttonProps,
56
- ...expandButtonProps,
57
- children: /* @__PURE__ */ jsxRuntime.jsx(icons.HvIcon, { name: "CaretDown", size: "xs", rotate: isOpen })
58
- }
59
- ),
60
- title,
61
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: classes.actions, children: actions })
62
- ] }),
47
+ hasHeader && /* @__PURE__ */ jsxRuntime.jsxs(
48
+ "div",
49
+ {
50
+ className: cx(classes.header, {
51
+ [classes.headerExpandable]: expandable && expandableHeader
52
+ }),
53
+ onClick: () => {
54
+ if (!expandableHeader) return;
55
+ expandButtonRef.current?.click();
56
+ },
57
+ children: [
58
+ expandable && /* @__PURE__ */ jsxRuntime.jsx(
59
+ Button.HvButton,
60
+ {
61
+ ref: expandButtonRef,
62
+ icon: true,
63
+ onClick: (event) => {
64
+ event.stopPropagation();
65
+ toggleOpen();
66
+ onToggle?.(event, !isOpen);
67
+ },
68
+ "aria-label": isOpen ? "Collapse" : "Expand",
69
+ ...buttonProps,
70
+ ...expandButtonProps,
71
+ children: /* @__PURE__ */ jsxRuntime.jsx(icons.HvIcon, { name: "CaretDown", size: "xs", rotate: isOpen })
72
+ }
73
+ ),
74
+ title,
75
+ /* @__PURE__ */ jsxRuntime.jsx(
76
+ "div",
77
+ {
78
+ className: classes.actions,
79
+ onClick: (evt) => {
80
+ evt.stopPropagation();
81
+ },
82
+ children: actions
83
+ }
84
+ )
85
+ ]
86
+ }
87
+ ),
63
88
  /* @__PURE__ */ jsxRuntime.jsx(
64
89
  "div",
65
90
  {
@@ -9,6 +9,7 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvSection",
9
9
  flexDirection: "column",
10
10
  backgroundColor: uikitStyles.theme.colors.bgContainer,
11
11
  borderRadius: uikitStyles.theme.radii.round,
12
+ overflow: "hidden",
12
13
  border: `1px solid ${uikitStyles.theme.colors.border}`
13
14
  },
14
15
  hidden: { height: 0, display: "none" },
@@ -17,12 +18,23 @@ const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvSection",
17
18
  alignItems: "center",
18
19
  borderColor: "inherit",
19
20
  position: "relative",
20
- padding: uikitStyles.theme.space.sm
21
+ padding: uikitStyles.theme.space.sm,
22
+ "+ $content": {
23
+ borderTopLeftRadius: 0,
24
+ borderTopRightRadius: 0
25
+ }
26
+ },
27
+ headerExpandable: {
28
+ cursor: "pointer",
29
+ ":hover": {
30
+ backgroundColor: uikitStyles.theme.colors.bgHover
31
+ }
21
32
  },
22
33
  content: {
23
34
  padding: uikitStyles.theme.space.sm,
24
35
  borderRadius: "inherit",
25
- borderColor: "inherit"
36
+ borderColor: "inherit",
37
+ flex: 1
26
38
  },
27
39
  hasHeader: {
28
40
  paddingTop: 0
@@ -131,8 +131,8 @@ const HvSelect = generic.fixedForwardRef(function HvSelect2(props, ref) {
131
131
  readOnly,
132
132
  status: validationState,
133
133
  className: cx(classes.root, className, {
134
- [classes.disabled]: disabled,
135
- [classes.readOnly]: readOnly
134
+ [classes.readOnly]: readOnly,
135
+ [classes.disabled]: disabled
136
136
  }),
137
137
  ...others,
138
138
  children: [
@@ -121,7 +121,7 @@ const HvSwitch = React.forwardRef(
121
121
  switchBase: css({
122
122
  "&&&+.HvBaseSwitch-track,&&&.HvBaseSwitch-checked+.HvBaseSwitch-track": {
123
123
  backgroundColor: uikitStyles.getColor(color),
124
- borderColor: isSemantical(color) ? uikitStyles.getColor(`${color}_120`) : "#00000032"
124
+ borderColor: isSemantical(color) ? uikitStyles.getColor(`${color}Deep`) : "#00000032"
125
125
  }
126
126
  })
127
127
  }
@@ -16,13 +16,7 @@ const TableContainer_styles = require("../TableContainer/TableContainer.styles.c
16
16
  require("../TableContainer/TableContainer.cjs");
17
17
  const { staticClasses, useClasses } = uikitReactUtils.createClasses("HvTableSection", {
18
18
  root: {},
19
- header: {
20
- // Only apply the border to divide the header and content when both are displayed
21
- "+ div": {
22
- borderTopLeftRadius: 0,
23
- borderTopRightRadius: 0
24
- }
25
- },
19
+ header: {},
26
20
  actions: {},
27
21
  content: {
28
22
  marginTop: 0,
@@ -296,8 +296,8 @@ const HvTagsInput = React.forwardRef(
296
296
  className: cx(
297
297
  classes.root,
298
298
  {
299
- [classes.disabled]: disabled,
300
- [classes.readOnly]: readOnly
299
+ [classes.readOnly]: readOnly,
300
+ [classes.disabled]: disabled
301
301
  },
302
302
  className
303
303
  ),
@@ -190,8 +190,8 @@ const HvTextArea = React.forwardRef(function HvTextArea2(props, ref) {
190
190
  classes.root,
191
191
  {
192
192
  [classes.resizable]: resizable,
193
- [classes.disabled]: disabled,
194
- [classes.invalid]: isStateInvalid
193
+ [classes.invalid]: isStateInvalid,
194
+ [classes.disabled]: disabled
195
195
  },
196
196
  className
197
197
  ),
@@ -387,7 +387,6 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef(
387
387
  className: cx(
388
388
  classes.node,
389
389
  {
390
- [classes.disabled]: disabled,
391
390
  [classes.expandable]: expandable,
392
391
  [classes.collapsed]: expandable && !expanded,
393
392
  [classes.expanded]: expandable && expanded,
@@ -396,7 +395,8 @@ const HvVerticalNavigationTreeViewItem = React.forwardRef(
396
395
  [classes.selected]: !disabled && selectable && selected || !isOpen && useIcons && isChildSelected && isChildSelected(nodeId),
397
396
  [classes.unselected]: !disabled && selectable && !selected,
398
397
  [classes.focused]: focused,
399
- [classes.hide]: !isOpen && !useIcons
398
+ [classes.hide]: !isOpen && !useIcons,
399
+ [classes.disabled]: disabled
400
400
  },
401
401
  className
402
402
  ),
@@ -5,14 +5,12 @@ const React = require("react");
5
5
  const createCache = require("@emotion/cache");
6
6
  const react = require("@emotion/react");
7
7
  const uikitStyles = require("@hitachivantara/uikit-styles");
8
- const useUniqueId = require("../hooks/useUniqueId.cjs");
9
8
  const document = require("../utils/document.cjs");
10
9
  const theme = require("../utils/theme.cjs");
11
10
  const ThemeProvider = require("./ThemeProvider.cjs");
12
11
  const uikitReactShared = require("@hitachivantara/uikit-react-shared");
13
12
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
14
13
  const createCache__default = /* @__PURE__ */ _interopDefault(createCache);
15
- const scopedRootPrefix = "hv-uikit-scoped-root";
16
14
  const HvProvider = ({
17
15
  children,
18
16
  rootElementId,
@@ -24,8 +22,7 @@ const HvProvider = ({
24
22
  emotionCache: emotionCacheProp,
25
23
  classNameKey = uikitReactShared.defaultCacheKey
26
24
  }) => {
27
- const generatedId = useUniqueId.useUniqueId();
28
- const scopedRootId = `${scopedRootPrefix}-${generatedId}`;
25
+ const scopedRootId = React.useId();
29
26
  const themesList = theme.processThemes(themes);
30
27
  const emotionCache = React.useMemo(() => {
31
28
  if (emotionCacheProp) return emotionCacheProp;
@@ -490,6 +490,22 @@ const ds3 = uikitStyles.mergeTheme(uikitStyles.ds3, {
490
490
  classes: {
491
491
  titleText: {
492
492
  ...uikitStyles.theme.typography.xxsTitle
493
+ },
494
+ root: {
495
+ "& .HvStatusIcon-root": {
496
+ padding: 0
497
+ },
498
+ "& .HvIconContainer-root": {
499
+ color: `${uikitStyles.theme.colors.secondary}!important`
500
+ }
501
+ }
502
+ }
503
+ },
504
+ HvDialogContent: {
505
+ classes: {
506
+ root: {
507
+ borderTop: "none!important",
508
+ borderBottom: "none!important"
493
509
  }
494
510
  }
495
511
  },
@@ -147,6 +147,26 @@ const ds5 = uikitStyles.mergeTheme(uikitStyles.ds5, {
147
147
  "--tagColor": uikitStyles.theme.alpha("cat1", 0.2)
148
148
  }
149
149
  }
150
+ },
151
+ HvDialogTitle: {
152
+ classes: {
153
+ root: {
154
+ "& .HvStatusIcon-root": {
155
+ padding: 0
156
+ },
157
+ "& .HvIconContainer-root": {
158
+ color: `${uikitStyles.theme.colors.secondary}!important`
159
+ }
160
+ }
161
+ }
162
+ },
163
+ HvDialogContent: {
164
+ classes: {
165
+ root: {
166
+ borderTop: "none",
167
+ borderBottom: "none"
168
+ }
169
+ }
150
170
  }
151
171
  }
152
172
  });