@hitachivantara/uikit-react-core 5.15.0 → 5.17.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 (136) hide show
  1. package/dist/cjs/components/ActionBar/ActionBar.cjs +8 -7
  2. package/dist/cjs/components/ActionBar/ActionBar.cjs.map +1 -1
  3. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs +16 -17
  4. package/dist/cjs/components/ActionBar/ActionBar.styles.cjs.map +1 -1
  5. package/dist/cjs/components/Pagination/Pagination.cjs +46 -45
  6. package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
  7. package/dist/cjs/components/Pagination/Pagination.styles.cjs +98 -160
  8. package/dist/cjs/components/Pagination/Pagination.styles.cjs.map +1 -1
  9. package/dist/cjs/components/Pagination/Select.cjs +2 -1
  10. package/dist/cjs/components/Pagination/Select.cjs.map +1 -1
  11. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs +30 -33
  12. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.cjs.map +1 -1
  13. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs +14 -0
  14. package/dist/cjs/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.cjs.map +1 -0
  15. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs +6 -6
  16. package/dist/cjs/components/QueryBuilder/QueryBuilder.cjs.map +1 -1
  17. package/dist/cjs/components/QueryBuilder/{RuleGroup/RuleGroup.styles.cjs → QueryBuilder.styles.cjs} +48 -29
  18. package/dist/cjs/components/QueryBuilder/QueryBuilder.styles.cjs.map +1 -0
  19. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs +60 -61
  20. package/dist/cjs/components/QueryBuilder/Rule/Rule.cjs.map +1 -1
  21. package/dist/cjs/components/QueryBuilder/Rule/Rule.styles.cjs +10 -5
  22. package/dist/cjs/components/QueryBuilder/Rule/Rule.styles.cjs.map +1 -1
  23. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs +253 -0
  24. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.cjs.map +1 -0
  25. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs +40 -0
  26. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.cjs.map +1 -0
  27. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/utils.cjs +37 -0
  28. package/dist/cjs/components/QueryBuilder/Rule/Value/DateTimeValue/utils.cjs.map +1 -0
  29. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs +10 -6
  30. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.cjs.map +1 -1
  31. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs +76 -82
  32. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.cjs.map +1 -1
  33. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.cjs +33 -37
  34. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.cjs.map +1 -1
  35. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs +8 -3
  36. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.cjs.map +1 -1
  37. package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs +8 -5
  38. package/dist/cjs/components/QueryBuilder/Rule/Value/Value.cjs.map +1 -1
  39. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs +155 -166
  40. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.cjs.map +1 -1
  41. package/dist/cjs/components/TimePicker/Placeholder.cjs +70 -0
  42. package/dist/cjs/components/TimePicker/Placeholder.cjs.map +1 -0
  43. package/dist/cjs/components/TimePicker/TimePicker.cjs +212 -0
  44. package/dist/cjs/components/TimePicker/TimePicker.cjs.map +1 -0
  45. package/dist/cjs/components/TimePicker/TimePicker.styles.cjs +53 -0
  46. package/dist/cjs/components/TimePicker/TimePicker.styles.cjs.map +1 -0
  47. package/dist/cjs/components/TimePicker/Unit/Unit.cjs +72 -0
  48. package/dist/cjs/components/TimePicker/Unit/Unit.cjs.map +1 -0
  49. package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs +56 -0
  50. package/dist/cjs/components/TimePicker/Unit/Unit.styles.cjs.map +1 -0
  51. package/dist/cjs/index.cjs +10 -6
  52. package/dist/cjs/index.cjs.map +1 -1
  53. package/dist/cjs/utils/classes.cjs +4 -3
  54. package/dist/cjs/utils/classes.cjs.map +1 -1
  55. package/dist/esm/components/ActionBar/ActionBar.js +11 -9
  56. package/dist/esm/components/ActionBar/ActionBar.js.map +1 -1
  57. package/dist/esm/components/ActionBar/ActionBar.styles.js +16 -15
  58. package/dist/esm/components/ActionBar/ActionBar.styles.js.map +1 -1
  59. package/dist/esm/components/Pagination/Pagination.js +50 -48
  60. package/dist/esm/components/Pagination/Pagination.js.map +1 -1
  61. package/dist/esm/components/Pagination/Pagination.styles.js +98 -158
  62. package/dist/esm/components/Pagination/Pagination.styles.js.map +1 -1
  63. package/dist/esm/components/Pagination/Select.js +2 -1
  64. package/dist/esm/components/Pagination/Select.js.map +1 -1
  65. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js +31 -34
  66. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  67. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js +14 -0
  68. package/dist/esm/components/QueryBuilder/ConfirmationDialog/ConfirmationDialog.styles.js.map +1 -0
  69. package/dist/esm/components/QueryBuilder/QueryBuilder.js +6 -6
  70. package/dist/esm/components/QueryBuilder/QueryBuilder.js.map +1 -1
  71. package/dist/esm/components/QueryBuilder/{RuleGroup/RuleGroup.styles.js → QueryBuilder.styles.js} +48 -29
  72. package/dist/esm/components/QueryBuilder/QueryBuilder.styles.js.map +1 -0
  73. package/dist/esm/components/QueryBuilder/Rule/Rule.js +61 -62
  74. package/dist/esm/components/QueryBuilder/Rule/Rule.js.map +1 -1
  75. package/dist/esm/components/QueryBuilder/Rule/Rule.styles.js +10 -5
  76. package/dist/esm/components/QueryBuilder/Rule/Rule.styles.js.map +1 -1
  77. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +250 -0
  78. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -0
  79. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js +40 -0
  80. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.js.map +1 -0
  81. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/utils.js +35 -0
  82. package/dist/esm/components/QueryBuilder/Rule/Value/DateTimeValue/utils.js.map +1 -0
  83. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js +10 -6
  84. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.js.map +1 -1
  85. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +78 -84
  86. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
  87. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.js +34 -38
  88. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
  89. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js +8 -3
  90. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/TextValue.styles.js.map +1 -1
  91. package/dist/esm/components/QueryBuilder/Rule/Value/Value.js +7 -4
  92. package/dist/esm/components/QueryBuilder/Rule/Value/Value.js.map +1 -1
  93. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js +157 -168
  94. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
  95. package/dist/esm/components/TimePicker/Placeholder.js +70 -0
  96. package/dist/esm/components/TimePicker/Placeholder.js.map +1 -0
  97. package/dist/esm/components/TimePicker/TimePicker.js +213 -0
  98. package/dist/esm/components/TimePicker/TimePicker.js.map +1 -0
  99. package/dist/esm/components/TimePicker/TimePicker.styles.js +53 -0
  100. package/dist/esm/components/TimePicker/TimePicker.styles.js.map +1 -0
  101. package/dist/esm/components/TimePicker/Unit/Unit.js +72 -0
  102. package/dist/esm/components/TimePicker/Unit/Unit.js.map +1 -0
  103. package/dist/esm/components/TimePicker/Unit/Unit.styles.js +56 -0
  104. package/dist/esm/components/TimePicker/Unit/Unit.styles.js.map +1 -0
  105. package/dist/esm/index.js +238 -234
  106. package/dist/esm/index.js.map +1 -1
  107. package/dist/esm/utils/classes.js +4 -3
  108. package/dist/esm/utils/classes.js.map +1 -1
  109. package/dist/types/index.d.ts +194 -82
  110. package/package.json +5 -5
  111. package/dist/cjs/components/ActionBar/actionBarClasses.cjs +0 -8
  112. package/dist/cjs/components/ActionBar/actionBarClasses.cjs.map +0 -1
  113. package/dist/cjs/components/Pagination/paginationClasses.cjs +0 -8
  114. package/dist/cjs/components/Pagination/paginationClasses.cjs.map +0 -1
  115. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.cjs +0 -8
  116. package/dist/cjs/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.cjs.map +0 -1
  117. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.cjs +0 -8
  118. package/dist/cjs/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.cjs.map +0 -1
  119. package/dist/cjs/components/QueryBuilder/Rule/ruleClasses.cjs +0 -8
  120. package/dist/cjs/components/QueryBuilder/Rule/ruleClasses.cjs.map +0 -1
  121. package/dist/cjs/components/QueryBuilder/RuleGroup/RuleGroup.styles.cjs.map +0 -1
  122. package/dist/cjs/components/QueryBuilder/queryBuilderClasses.cjs +0 -8
  123. package/dist/cjs/components/QueryBuilder/queryBuilderClasses.cjs.map +0 -1
  124. package/dist/esm/components/ActionBar/actionBarClasses.js +0 -8
  125. package/dist/esm/components/ActionBar/actionBarClasses.js.map +0 -1
  126. package/dist/esm/components/Pagination/paginationClasses.js +0 -8
  127. package/dist/esm/components/Pagination/paginationClasses.js.map +0 -1
  128. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.js +0 -8
  129. package/dist/esm/components/QueryBuilder/Rule/Value/NumericValue/numericValueClasses.js.map +0 -1
  130. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.js +0 -8
  131. package/dist/esm/components/QueryBuilder/Rule/Value/TextValue/textValueClasses.js.map +0 -1
  132. package/dist/esm/components/QueryBuilder/Rule/ruleClasses.js +0 -8
  133. package/dist/esm/components/QueryBuilder/Rule/ruleClasses.js.map +0 -1
  134. package/dist/esm/components/QueryBuilder/RuleGroup/RuleGroup.styles.js.map +0 -1
  135. package/dist/esm/components/QueryBuilder/queryBuilderClasses.js +0 -8
  136. package/dist/esm/components/QueryBuilder/queryBuilderClasses.js.map +0 -1
@@ -0,0 +1,250 @@
1
+ import { useContext, useState, useCallback, useMemo, memo } from "react";
2
+ import uniqueId from "lodash/uniqueId";
3
+ import dayjs from "dayjs";
4
+ import { useTheme, useMediaQuery } from "@mui/material";
5
+ import { QueryBuilderContext } from "../../../Context.js";
6
+ import { padTime, parseDate, parseTime } from "./utils.js";
7
+ import { useClasses } from "./DateTimeValue.styles.js";
8
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
9
+ import { HvDatePicker } from "../../../../DatePicker/DatePicker.js";
10
+ import { HvTimePicker } from "../../../../TimePicker/TimePicker.js";
11
+ import { HvWarningText } from "../../../../Forms/WarningText/WarningText.js";
12
+ function valueIsRange(operator) {
13
+ return operator === "range";
14
+ }
15
+ const DateTimeValue = ({
16
+ id,
17
+ operator,
18
+ value: valueProp = {},
19
+ initialTouched = false
20
+ }) => {
21
+ var _a, _b, _c, _d;
22
+ const {
23
+ classes,
24
+ cx
25
+ } = useClasses();
26
+ const theme = useTheme();
27
+ const isMdDown = useMediaQuery(theme.breakpoints.down("md"));
28
+ const isRange = valueIsRange(operator);
29
+ const context = useContext(QueryBuilderContext);
30
+ const {
31
+ labels,
32
+ dispatchAction,
33
+ readOnly
34
+ } = context;
35
+ const elementId = uniqueId(`datetime${id}`);
36
+ const [touchedDate, setTouchedDate] = useState(initialTouched);
37
+ const [touchedTime, setTouchedTime] = useState(initialTouched);
38
+ const [touchedEndDate, setTouchedEndDate] = useState(initialTouched);
39
+ const [touchedEndTime, setTouchedEndTime] = useState(initialTouched);
40
+ const onDateChange = useCallback((data) => {
41
+ var _a2, _b2;
42
+ setTouchedDate(true);
43
+ let date;
44
+ if (data != null) {
45
+ date = dayjs(data).format("YYYY-MM-DD");
46
+ }
47
+ const oldValue = !isRange ? valueProp == null ? void 0 : valueProp.date : (_a2 = valueProp == null ? void 0 : valueProp.start) == null ? void 0 : _a2.date;
48
+ if (date !== oldValue) {
49
+ let value;
50
+ if (!isRange) {
51
+ value = {
52
+ date,
53
+ time: valueProp == null ? void 0 : valueProp.time
54
+ };
55
+ } else {
56
+ value = {
57
+ start: {
58
+ date,
59
+ time: (_b2 = valueProp == null ? void 0 : valueProp.start) == null ? void 0 : _b2.time
60
+ },
61
+ end: valueProp == null ? void 0 : valueProp.end
62
+ };
63
+ }
64
+ dispatchAction({
65
+ type: "set-value",
66
+ id,
67
+ value
68
+ });
69
+ }
70
+ }, [dispatchAction, id, isRange, valueProp]);
71
+ const onTimeChange = useCallback((data) => {
72
+ var _a2, _b2;
73
+ setTouchedTime(true);
74
+ let time;
75
+ if (data != null) {
76
+ time = `${padTime(data.hours)}:${padTime(data.minutes)}:${padTime(data.seconds)}`;
77
+ }
78
+ const oldValue = !isRange ? valueProp == null ? void 0 : valueProp.time : (_a2 = valueProp == null ? void 0 : valueProp.start) == null ? void 0 : _a2.time;
79
+ if (time !== oldValue) {
80
+ let value;
81
+ if (!isRange) {
82
+ value = {
83
+ date: valueProp == null ? void 0 : valueProp.date,
84
+ time
85
+ };
86
+ } else {
87
+ value = {
88
+ start: {
89
+ date: (_b2 = valueProp == null ? void 0 : valueProp.start) == null ? void 0 : _b2.date,
90
+ time
91
+ },
92
+ end: valueProp == null ? void 0 : valueProp.end
93
+ };
94
+ }
95
+ dispatchAction({
96
+ type: "set-value",
97
+ id,
98
+ value
99
+ });
100
+ }
101
+ }, [dispatchAction, id, isRange, valueProp]);
102
+ const onEndDateChange = useCallback((data) => {
103
+ var _a2, _b2;
104
+ setTouchedEndDate(true);
105
+ let date;
106
+ if (data != null) {
107
+ date = dayjs(data).format("YYYY-MM-DD");
108
+ }
109
+ if (date !== ((_a2 = valueProp == null ? void 0 : valueProp.end) == null ? void 0 : _a2.date)) {
110
+ const value = {
111
+ start: valueProp == null ? void 0 : valueProp.start,
112
+ end: {
113
+ date,
114
+ time: (_b2 = valueProp == null ? void 0 : valueProp.end) == null ? void 0 : _b2.time
115
+ }
116
+ };
117
+ dispatchAction({
118
+ type: "set-value",
119
+ id,
120
+ value
121
+ });
122
+ }
123
+ }, [dispatchAction, id, valueProp]);
124
+ const onEndTimeChange = useCallback((data) => {
125
+ var _a2, _b2;
126
+ setTouchedEndTime(true);
127
+ let time;
128
+ if (data != null) {
129
+ time = `${padTime(data.hours)}:${padTime(data.minutes)}:${padTime(data.seconds)}`;
130
+ }
131
+ if (time !== ((_a2 = valueProp == null ? void 0 : valueProp.end) == null ? void 0 : _a2.time)) {
132
+ const value = {
133
+ start: valueProp == null ? void 0 : valueProp.start,
134
+ end: {
135
+ date: (_b2 = valueProp == null ? void 0 : valueProp.end) == null ? void 0 : _b2.date,
136
+ time
137
+ }
138
+ };
139
+ dispatchAction({
140
+ type: "set-value",
141
+ id,
142
+ value
143
+ });
144
+ }
145
+ }, [dispatchAction, id, valueProp]);
146
+ const startDate = isRange ? (_a = valueProp == null ? void 0 : valueProp.start) == null ? void 0 : _a.date : valueProp == null ? void 0 : valueProp.date;
147
+ const datePickerValue = useMemo(() => parseDate(startDate), [startDate]);
148
+ const datePickerStatus = datePickerValue != null ? "valid" : "invalid";
149
+ const startTime = (isRange ? (_b = valueProp == null ? void 0 : valueProp.start) == null ? void 0 : _b.time : valueProp == null ? void 0 : valueProp.time) ?? "";
150
+ const timePickerValue = useMemo(() => parseTime(startTime), [startTime]);
151
+ const timePickerStatus = timePickerValue != null ? "valid" : "invalid";
152
+ const endDate = isRange ? (_c = valueProp == null ? void 0 : valueProp.end) == null ? void 0 : _c.date : null;
153
+ const endDatePickerValue = useMemo(() => parseDate(endDate), [endDate]);
154
+ const endTime = isRange ? (_d = valueProp == null ? void 0 : valueProp.end) == null ? void 0 : _d.time : null;
155
+ const endTimePickerValue = useMemo(() => parseTime(endTime), [endTime]);
156
+ const dateStatus = !touchedDate ? "standBy" : datePickerStatus;
157
+ const timeStatus = !touchedTime ? "standBy" : timePickerStatus;
158
+ const endDateIsBefore = startDate != null && endDate != null && endDate < startDate;
159
+ const endTimeIsBeforeOrSame = startDate != null && endDate != null && endDate === startDate && startTime != null && endTime != null && endTime <= startTime;
160
+ const endDateTimeIsBefore = endDateIsBefore || endTimeIsBeforeOrSame;
161
+ const endDatePickerStatus = endDatePickerValue == null || endDateTimeIsBefore ? "invalid" : "valid";
162
+ const endDateStatus = !touchedEndDate ? "standBy" : endDatePickerStatus;
163
+ const endTimePickerStatus = endTimePickerValue == null || endDateTimeIsBefore ? "invalid" : "valid";
164
+ const endTimeStatus = !touchedEndTime ? "standBy" : endTimePickerStatus;
165
+ return /* @__PURE__ */ jsxs("div", {
166
+ className: classes.root,
167
+ children: [/* @__PURE__ */ jsxs("div", {
168
+ className: cx(classes.row, classes.horizontal, {
169
+ [classes.isMdDown]: isMdDown
170
+ }),
171
+ children: [/* @__PURE__ */ jsx(HvDatePicker, {
172
+ className: classes.datePicker,
173
+ name: `${elementId}-date`,
174
+ required: true,
175
+ status: dateStatus,
176
+ statusMessage: labels.rule.value.datetime.validation.required,
177
+ label: isRange ? labels.rule.value.datetime.startDateLabel : labels.rule.value.datetime.dateLabel,
178
+ placeholder: isRange ? labels.rule.value.datetime.startDatePlaceholder : labels.rule.value.datetime.datePlaceholder,
179
+ value: datePickerValue,
180
+ onChange: onDateChange,
181
+ readOnly
182
+ }), /* @__PURE__ */ jsx(HvTimePicker, {
183
+ className: classes.timePicker,
184
+ timeFormat: "24",
185
+ name: `${elementId}-time`,
186
+ required: true,
187
+ status: timeStatus,
188
+ statusMessage: labels.rule.value.datetime.validation.required,
189
+ label: isRange ? labels.rule.value.datetime.startTimeLabel : labels.rule.value.datetime.timeLabel,
190
+ placeholder: isRange ? labels.rule.value.datetime.startTimePlaceholder : labels.rule.value.datetime.timePlaceholder,
191
+ value: timePickerValue || void 0,
192
+ onChange: onTimeChange,
193
+ onToggle: (_evt, open) => {
194
+ if (!open && !touchedTime) {
195
+ setTouchedTime(true);
196
+ }
197
+ },
198
+ readOnly
199
+ })]
200
+ }), isRange && /* @__PURE__ */ jsxs("div", {
201
+ className: cx(classes.row, classes.vertical),
202
+ children: [/* @__PURE__ */ jsxs("div", {
203
+ className: cx(classes.horizontal, {
204
+ [classes.isMdDown]: isMdDown
205
+ }),
206
+ children: [/* @__PURE__ */ jsx(HvDatePicker, {
207
+ className: classes.datePicker,
208
+ name: `${elementId}-endDate`,
209
+ required: true,
210
+ status: endDateStatus,
211
+ statusMessage: labels.rule.value.datetime.validation.required,
212
+ "aria-errormessage": endDateTimeIsBefore ? `${elementId}-combined-error` : void 0,
213
+ label: labels.rule.value.datetime.endDateLabel,
214
+ placeholder: labels.rule.value.datetime.endDatePlaceholder,
215
+ value: endDatePickerValue,
216
+ onChange: onEndDateChange,
217
+ readOnly
218
+ }), /* @__PURE__ */ jsx(HvTimePicker, {
219
+ className: classes.timePicker,
220
+ timeFormat: "24",
221
+ name: `${elementId}-endTime`,
222
+ required: true,
223
+ status: endTimeStatus,
224
+ statusMessage: labels.rule.value.datetime.validation.required,
225
+ "aria-errormessage": endDateTimeIsBefore ? `${elementId}-combined-error` : void 0,
226
+ label: labels.rule.value.datetime.endTimeLabel,
227
+ placeholder: labels.rule.value.datetime.endTimePlaceholder,
228
+ value: endTimePickerValue || void 0,
229
+ onChange: onEndTimeChange,
230
+ onToggle: (_evt, open) => {
231
+ if (!open && !touchedEndTime) {
232
+ setTouchedEndTime(true);
233
+ }
234
+ },
235
+ readOnly
236
+ })]
237
+ }), /* @__PURE__ */ jsx(HvWarningText, {
238
+ disableBorder: true,
239
+ id: `${elementId}-combined-error`,
240
+ isVisible: endDateTimeIsBefore,
241
+ children: labels.rule.value.datetime.validation.invalidInterval
242
+ })]
243
+ })]
244
+ });
245
+ };
246
+ memo(DateTimeValue);
247
+ export {
248
+ DateTimeValue
249
+ };
250
+ //# sourceMappingURL=DateTimeValue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeValue.js","sources":["../../../../../../../src/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.tsx"],"sourcesContent":["import { memo, useCallback, useContext, useMemo, useState } from \"react\";\n\nimport uniqueId from \"lodash/uniqueId\";\n\nimport dayjs from \"dayjs\";\n\nimport { useMediaQuery, useTheme } from \"@mui/material\";\n\nimport { HvDatePicker, HvTimePicker, HvWarningText } from \"@core/components\";\n\nimport { QueryBuilderContext } from \"../../../Context\";\nimport { padTime, parseDate, parseTime } from \"./utils\";\nimport { useClasses } from \"./DateTimeValue.styles\";\n\nfunction valueIsRange(operator) {\n return operator === \"range\";\n}\n\nexport interface DateTimeValueProps {\n id: number;\n operator: string;\n value: any;\n initialTouched: boolean;\n}\n\nexport const DateTimeValue = ({\n id,\n operator,\n value: valueProp = {},\n initialTouched = false,\n}: DateTimeValueProps) => {\n const { classes, cx } = useClasses();\n\n const theme = useTheme();\n const isMdDown = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const isRange = valueIsRange(operator);\n\n const context = useContext(QueryBuilderContext);\n const { labels, dispatchAction, readOnly } = context;\n\n const elementId = uniqueId(`datetime${id}`);\n\n const [touchedDate, setTouchedDate] = useState(initialTouched);\n const [touchedTime, setTouchedTime] = useState(initialTouched);\n const [touchedEndDate, setTouchedEndDate] = useState(initialTouched);\n const [touchedEndTime, setTouchedEndTime] = useState(initialTouched);\n\n const onDateChange = useCallback(\n (data) => {\n setTouchedDate(true);\n\n let date;\n if (data != null) {\n date = dayjs(data).format(\"YYYY-MM-DD\");\n }\n\n const oldValue = !isRange ? valueProp?.date : valueProp?.start?.date;\n\n if (date !== oldValue) {\n let value;\n if (!isRange) {\n value = {\n date,\n time: valueProp?.time,\n };\n } else {\n value = {\n start: {\n date,\n time: valueProp?.start?.time,\n },\n end: valueProp?.end,\n };\n }\n\n dispatchAction({\n type: \"set-value\",\n id,\n value,\n });\n }\n },\n [dispatchAction, id, isRange, valueProp]\n );\n\n const onTimeChange = useCallback(\n (data) => {\n setTouchedTime(true);\n\n let time;\n if (data != null) {\n time = `${padTime(data.hours)}:${padTime(data.minutes)}:${padTime(\n data.seconds\n )}`;\n }\n\n const oldValue = !isRange ? valueProp?.time : valueProp?.start?.time;\n\n if (time !== oldValue) {\n let value;\n if (!isRange) {\n value = {\n date: valueProp?.date,\n time,\n };\n } else {\n value = {\n start: {\n date: valueProp?.start?.date,\n time,\n },\n end: valueProp?.end,\n };\n }\n\n dispatchAction({\n type: \"set-value\",\n id,\n value,\n });\n }\n },\n [dispatchAction, id, isRange, valueProp]\n );\n\n const onEndDateChange = useCallback(\n (data) => {\n setTouchedEndDate(true);\n\n let date;\n if (data != null) {\n date = dayjs(data).format(\"YYYY-MM-DD\");\n }\n\n if (date !== valueProp?.end?.date) {\n const value = {\n start: valueProp?.start,\n end: {\n date,\n time: valueProp?.end?.time,\n },\n };\n\n dispatchAction({\n type: \"set-value\",\n id,\n value,\n });\n }\n },\n [dispatchAction, id, valueProp]\n );\n\n const onEndTimeChange = useCallback(\n (data) => {\n setTouchedEndTime(true);\n\n let time;\n if (data != null) {\n time = `${padTime(data.hours)}:${padTime(data.minutes)}:${padTime(\n data.seconds\n )}`;\n }\n\n if (time !== valueProp?.end?.time) {\n const value = {\n start: valueProp?.start,\n end: {\n date: valueProp?.end?.date,\n time,\n },\n };\n\n dispatchAction({\n type: \"set-value\",\n id,\n value,\n });\n }\n },\n [dispatchAction, id, valueProp]\n );\n\n const startDate = isRange ? valueProp?.start?.date : valueProp?.date;\n const datePickerValue = useMemo(() => parseDate(startDate), [startDate]);\n const datePickerStatus = datePickerValue != null ? \"valid\" : \"invalid\";\n\n const startTime = (isRange ? valueProp?.start?.time : valueProp?.time) ?? \"\";\n const timePickerValue = useMemo(() => parseTime(startTime), [startTime]);\n const timePickerStatus = timePickerValue != null ? \"valid\" : \"invalid\";\n\n const endDate = isRange ? valueProp?.end?.date : null;\n const endDatePickerValue = useMemo(() => parseDate(endDate), [endDate]);\n\n const endTime = isRange ? valueProp?.end?.time : null;\n const endTimePickerValue = useMemo(() => parseTime(endTime), [endTime]);\n\n const dateStatus = !touchedDate ? \"standBy\" : datePickerStatus;\n const timeStatus = !touchedTime ? \"standBy\" : timePickerStatus;\n\n const endDateIsBefore =\n startDate != null && endDate != null && endDate < startDate;\n\n const endTimeIsBeforeOrSame =\n startDate != null &&\n endDate != null &&\n endDate === startDate &&\n startTime != null &&\n endTime != null &&\n endTime <= startTime;\n\n const endDateTimeIsBefore = endDateIsBefore || endTimeIsBeforeOrSame;\n\n const endDatePickerStatus =\n endDatePickerValue == null || endDateTimeIsBefore ? \"invalid\" : \"valid\";\n const endDateStatus = !touchedEndDate ? \"standBy\" : endDatePickerStatus;\n\n const endTimePickerStatus =\n endTimePickerValue == null || endDateTimeIsBefore ? \"invalid\" : \"valid\";\n const endTimeStatus = !touchedEndTime ? \"standBy\" : endTimePickerStatus;\n\n return (\n <div className={classes.root}>\n <div\n className={cx(classes.row, classes.horizontal, {\n [classes.isMdDown]: isMdDown,\n })}\n >\n <HvDatePicker\n className={classes.datePicker}\n name={`${elementId}-date`}\n required\n status={dateStatus}\n statusMessage={labels.rule.value.datetime.validation.required}\n label={\n isRange\n ? labels.rule.value.datetime.startDateLabel\n : labels.rule.value.datetime.dateLabel\n }\n placeholder={\n isRange\n ? labels.rule.value.datetime.startDatePlaceholder\n : labels.rule.value.datetime.datePlaceholder\n }\n value={datePickerValue}\n onChange={onDateChange}\n readOnly={readOnly}\n />\n <HvTimePicker\n className={classes.timePicker}\n timeFormat=\"24\"\n name={`${elementId}-time`}\n required\n status={timeStatus}\n statusMessage={labels.rule.value.datetime.validation.required}\n label={\n isRange\n ? labels.rule.value.datetime.startTimeLabel\n : labels.rule.value.datetime.timeLabel\n }\n placeholder={\n isRange\n ? labels.rule.value.datetime.startTimePlaceholder\n : labels.rule.value.datetime.timePlaceholder\n }\n value={timePickerValue || undefined}\n onChange={onTimeChange}\n onToggle={(_evt, open) => {\n if (!open && !touchedTime) {\n setTouchedTime(true);\n }\n }}\n readOnly={readOnly}\n />\n </div>\n {isRange && (\n <div className={cx(classes.row, classes.vertical)}>\n <div\n className={cx(classes.horizontal, {\n [classes.isMdDown]: isMdDown,\n })}\n >\n <HvDatePicker\n className={classes.datePicker}\n name={`${elementId}-endDate`}\n required\n status={endDateStatus}\n statusMessage={labels.rule.value.datetime.validation.required}\n aria-errormessage={\n endDateTimeIsBefore ? `${elementId}-combined-error` : undefined\n }\n label={labels.rule.value.datetime.endDateLabel}\n placeholder={labels.rule.value.datetime.endDatePlaceholder}\n value={endDatePickerValue}\n onChange={onEndDateChange}\n readOnly={readOnly}\n />\n <HvTimePicker\n className={classes.timePicker}\n timeFormat=\"24\"\n name={`${elementId}-endTime`}\n required\n status={endTimeStatus}\n statusMessage={labels.rule.value.datetime.validation.required}\n aria-errormessage={\n endDateTimeIsBefore ? `${elementId}-combined-error` : undefined\n }\n label={labels.rule.value.datetime.endTimeLabel}\n placeholder={labels.rule.value.datetime.endTimePlaceholder}\n value={endTimePickerValue || undefined}\n onChange={onEndTimeChange}\n onToggle={(_evt, open) => {\n if (!open && !touchedEndTime) {\n setTouchedEndTime(true);\n }\n }}\n readOnly={readOnly}\n />\n </div>\n <HvWarningText\n disableBorder\n id={`${elementId}-combined-error`}\n isVisible={endDateTimeIsBefore}\n >\n {labels.rule.value.datetime.validation.invalidInterval}\n </HvWarningText>\n </div>\n )}\n </div>\n );\n};\n\nexport default memo(DateTimeValue);\n"],"names":["valueIsRange","operator","DateTimeValue","id","value","valueProp","initialTouched","classes","cx","useClasses","theme","useTheme","isMdDown","useMediaQuery","breakpoints","down","isRange","context","useContext","QueryBuilderContext","labels","dispatchAction","readOnly","elementId","uniqueId","touchedDate","setTouchedDate","useState","touchedTime","setTouchedTime","touchedEndDate","setTouchedEndDate","touchedEndTime","setTouchedEndTime","onDateChange","useCallback","data","date","dayjs","format","oldValue","start","time","end","type","onTimeChange","padTime","hours","minutes","seconds","onEndDateChange","onEndTimeChange","startDate","datePickerValue","useMemo","parseDate","datePickerStatus","startTime","timePickerValue","parseTime","timePickerStatus","endDate","endDatePickerValue","endTime","endTimePickerValue","dateStatus","timeStatus","endDateIsBefore","endTimeIsBeforeOrSame","endDateTimeIsBefore","endDatePickerStatus","endDateStatus","endTimePickerStatus","endTimeStatus","className","root","children","_jsxs","row","horizontal","_jsx","HvDatePicker","datePicker","name","required","status","statusMessage","rule","datetime","validation","label","startDateLabel","dateLabel","placeholder","startDatePlaceholder","datePlaceholder","onChange","HvTimePicker","timePicker","timeFormat","startTimeLabel","timeLabel","startTimePlaceholder","timePlaceholder","undefined","onToggle","_evt","open","vertical","endDateLabel","endDatePlaceholder","endTimeLabel","endTimePlaceholder","HvWarningText","disableBorder","isVisible","invalidInterval","memo"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { theme } from "@hitachivantara/uikit-styles";
2
+ import { createClasses } from "../../../../../utils/classes.js";
3
+ const {
4
+ useClasses,
5
+ staticClasses
6
+ } = createClasses("HvQueryBuilder-DateTimeValue", {
7
+ root: {
8
+ display: "flex",
9
+ flexDirection: "column"
10
+ },
11
+ row: {
12
+ minHeight: 94
13
+ },
14
+ vertical: {
15
+ display: "flex",
16
+ flexDirection: "column"
17
+ },
18
+ horizontal: {
19
+ display: "flex",
20
+ "& > div:not(:last-child)": {
21
+ marginRight: theme.space.md
22
+ }
23
+ },
24
+ isMdDown: {
25
+ "& > div:not(:last-child)": {
26
+ marginRight: `calc(${theme.space.md} / 2)`
27
+ }
28
+ },
29
+ datePicker: {
30
+ flex: "0 1 300px"
31
+ },
32
+ timePicker: {
33
+ flex: "0 1 220px"
34
+ }
35
+ });
36
+ export {
37
+ staticClasses,
38
+ useClasses
39
+ };
40
+ //# sourceMappingURL=DateTimeValue.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateTimeValue.styles.js","sources":["../../../../../../../src/components/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { createClasses } from \"@core/utils\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-DateTimeValue\",\n {\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n row: {\n minHeight: 94,\n },\n vertical: {\n display: \"flex\",\n flexDirection: \"column\",\n },\n horizontal: {\n display: \"flex\",\n\n \"& > div:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n },\n isMdDown: {\n \"& > div:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n datePicker: {\n flex: \"0 1 300px\",\n },\n timePicker: {\n flex: \"0 1 220px\",\n },\n }\n);\n"],"names":["useClasses","staticClasses","createClasses","root","display","flexDirection","row","minHeight","vertical","horizontal","marginRight","theme","space","md","isMdDown","datePicker","flex","timePicker"],"mappings":";;AAGa,MAAA;AAAA,EAAEA;AAAAA,EAAYC;AAAc,IAAIC,cAC3C,gCACA;AAAA,EACEC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,eAAe;AAAA,EACjB;AAAA,EACAC,KAAK;AAAA,IACHC,WAAW;AAAA,EACb;AAAA,EACAC,UAAU;AAAA,IACRJ,SAAS;AAAA,IACTC,eAAe;AAAA,EACjB;AAAA,EACAI,YAAY;AAAA,IACVL,SAAS;AAAA,IAET,4BAA4B;AAAA,MAC1BM,aAAaC,MAAMC,MAAMC;AAAAA,IAC3B;AAAA,EACF;AAAA,EACAC,UAAU;AAAA,IACR,4BAA4B;AAAA,MAC1BJ,aAAc,QAAOC,MAAMC,MAAMC;AAAAA,IACnC;AAAA,EACF;AAAA,EACAE,YAAY;AAAA,IACVC,MAAM;AAAA,EACR;AAAA,EACAC,YAAY;AAAA,IACVD,MAAM;AAAA,EACR;AACF,CACF;"}
@@ -0,0 +1,35 @@
1
+ import dayjs from "dayjs";
2
+ const padTime = (value) => {
3
+ if (!value || value < 0) {
4
+ return "00";
5
+ }
6
+ if (value < 10 && value.toString().length === 1) {
7
+ return `0${value.toString()}`;
8
+ }
9
+ return value.toString();
10
+ };
11
+ const parseDate = (date) => {
12
+ if (date != null) {
13
+ return dayjs(date).toDate();
14
+ }
15
+ return void 0;
16
+ };
17
+ const parseTime = (time) => {
18
+ if (time != null) {
19
+ const parts = time.split(":");
20
+ if (parts.length === 3) {
21
+ return {
22
+ hours: Number.parseInt(parts[0], 10),
23
+ minutes: Number.parseInt(parts[1], 10),
24
+ seconds: Number.parseInt(parts[2], 10)
25
+ };
26
+ }
27
+ }
28
+ return null;
29
+ };
30
+ export {
31
+ padTime,
32
+ parseDate,
33
+ parseTime
34
+ };
35
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../../src/components/QueryBuilder/Rule/Value/DateTimeValue/utils.tsx"],"sourcesContent":["import dayjs from \"dayjs\";\n\n/**\n * Pads the unit time values so that they always have two digits\n * @param {Number} value - unit time value\n * @returns The unit time value with two digits\n */\nexport const padTime = (value) => {\n if (!value || value < 0) {\n return \"00\";\n }\n if (value < 10 && value.toString().length === 1) {\n return `0${value.toString()}`;\n }\n\n return value.toString();\n};\n\nexport const parseDate = (date) => {\n if (date != null) {\n return dayjs(date).toDate();\n }\n\n return undefined;\n};\n\nexport const parseTime = (time) => {\n if (time != null) {\n const parts = time.split(\":\");\n\n if (parts.length === 3) {\n return {\n hours: Number.parseInt(parts[0], 10),\n minutes: Number.parseInt(parts[1], 10),\n seconds: Number.parseInt(parts[2], 10),\n };\n }\n }\n\n return null;\n};\n"],"names":["padTime","value","toString","length","parseDate","date","dayjs","toDate","undefined","parseTime","time","parts","split","hours","Number","parseInt","minutes","seconds"],"mappings":";AAOO,MAAMA,UAAWC,CAAU,UAAA;AAC5B,MAAA,CAACA,SAASA,QAAQ,GAAG;AAChB,WAAA;AAAA,EACT;AACA,MAAIA,QAAQ,MAAMA,MAAMC,SAAS,EAAEC,WAAW,GAAG;AACvC,WAAA,IAAGF,MAAMC,SAAS;AAAA,EAC5B;AAEA,SAAOD,MAAMC;AACf;AAEO,MAAME,YAAaC,CAAS,SAAA;AACjC,MAAIA,QAAQ,MAAM;AACTC,WAAAA,MAAMD,IAAI,EAAEE;EACrB;AAEOC,SAAAA;AACT;AAEO,MAAMC,YAAaC,CAAS,SAAA;AACjC,MAAIA,QAAQ,MAAM;AACVC,UAAAA,QAAQD,KAAKE,MAAM,GAAG;AAExBD,QAAAA,MAAMR,WAAW,GAAG;AACf,aAAA;AAAA,QACLU,OAAOC,OAAOC,SAASJ,MAAM,CAAC,GAAG,EAAE;AAAA,QACnCK,SAASF,OAAOC,SAASJ,MAAM,CAAC,GAAG,EAAE;AAAA,QACrCM,SAASH,OAAOC,SAASJ,MAAM,CAAC,GAAG,EAAE;AAAA,MAAA;AAAA,IAEzC;AAAA,EACF;AAEO,SAAA;AACT;"}
@@ -1,6 +1,9 @@
1
1
  import { theme } from "@hitachivantara/uikit-styles";
2
- import numericValueClasses from "./numericValueClasses.js";
3
- const styles = {
2
+ import { createClasses } from "../../../../../utils/classes.js";
3
+ const {
4
+ useClasses,
5
+ staticClasses
6
+ } = createClasses("HvQueryBuilder-NumericValue", {
4
7
  root: {
5
8
  display: "flex",
6
9
  flexGrow: 1
@@ -16,7 +19,7 @@ const styles = {
16
19
  rangeContainer: {
17
20
  display: "flex",
18
21
  flexGrow: 1,
19
- [`& > .${numericValueClasses.inputContainer}:not(:last-child)`]: {
22
+ "& > $inputContainer:not(:last-child)": {
20
23
  marginRight: theme.space.md
21
24
  }
22
25
  },
@@ -24,12 +27,13 @@ const styles = {
24
27
  flexGrow: 1
25
28
  },
26
29
  isMdDown: {
27
- [`& > .${numericValueClasses.inputContainer}:not(:last-child)`]: {
30
+ "& > $inputContainer:not(:last-child)": {
28
31
  marginRight: `calc(${theme.space.md} / 2)`
29
32
  }
30
33
  }
31
- };
34
+ });
32
35
  export {
33
- styles
36
+ staticClasses,
37
+ useClasses
34
38
  };
35
39
  //# sourceMappingURL=Numeric.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Numeric.styles.js","sources":["../../../../../../../src/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.tsx"],"sourcesContent":["import { CSSInterpolation } from \"@emotion/serialize\";\nimport { theme } from \"@hitachivantara/uikit-styles\";\nimport numericValueClasses, {\n HvNumericValueClasses,\n} from \"./numericValueClasses\";\n\nexport const styles: Partial<\n Record<keyof HvNumericValueClasses, CSSInterpolation>\n> = {\n root: {\n display: \"flex\",\n flexGrow: 1,\n },\n label: {\n paddingBottom: \"6px\",\n },\n inputContainer: {\n display: \"flex\",\n alignItems: \"baseline\",\n flexGrow: 1,\n },\n rangeContainer: {\n display: \"flex\",\n flexGrow: 1,\n\n [`& > .${numericValueClasses.inputContainer}:not(:last-child)`]: {\n marginRight: theme.space.md,\n },\n },\n input: {\n flexGrow: 1,\n },\n isMdDown: {\n [`& > .${numericValueClasses.inputContainer}:not(:last-child)`]: {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n};\n"],"names":["styles","root","display","flexGrow","label","paddingBottom","inputContainer","alignItems","rangeContainer","numericValueClasses","marginRight","theme","space","md","input","isMdDown"],"mappings":";;AAMO,MAAMA,SAET;AAAA,EACFC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,UAAU;AAAA,EACZ;AAAA,EACAC,OAAO;AAAA,IACLC,eAAe;AAAA,EACjB;AAAA,EACAC,gBAAgB;AAAA,IACdJ,SAAS;AAAA,IACTK,YAAY;AAAA,IACZJ,UAAU;AAAA,EACZ;AAAA,EACAK,gBAAgB;AAAA,IACdN,SAAS;AAAA,IACTC,UAAU;AAAA,IAEV,CAAE,QAAOM,oBAAoBH,iCAAiC,GAAG;AAAA,MAC/DI,aAAaC,MAAMC,MAAMC;AAAAA,IAC3B;AAAA,EACF;AAAA,EACAC,OAAO;AAAA,IACLX,UAAU;AAAA,EACZ;AAAA,EACAY,UAAU;AAAA,IACR,CAAE,QAAON,oBAAoBH,iCAAiC,GAAG;AAAA,MAC/DI,aAAc,QAAOC,MAAMC,MAAMC;AAAAA,IACnC;AAAA,EACF;AACF;"}
1
+ {"version":3,"file":"Numeric.styles.js","sources":["../../../../../../../src/components/QueryBuilder/Rule/Value/NumericValue/Numeric.styles.tsx"],"sourcesContent":["import { theme } from \"@hitachivantara/uikit-styles\";\nimport { createClasses } from \"@core/utils\";\n\nexport const { useClasses, staticClasses } = createClasses(\n \"HvQueryBuilder-NumericValue\",\n {\n root: {\n display: \"flex\",\n flexGrow: 1,\n },\n label: {\n paddingBottom: \"6px\",\n },\n inputContainer: {\n display: \"flex\",\n alignItems: \"baseline\",\n flexGrow: 1,\n },\n rangeContainer: {\n display: \"flex\",\n flexGrow: 1,\n\n \"& > $inputContainer:not(:last-child)\": {\n marginRight: theme.space.md,\n },\n },\n input: {\n flexGrow: 1,\n },\n isMdDown: {\n \"& > $inputContainer:not(:last-child)\": {\n marginRight: `calc(${theme.space.md} / 2)`,\n },\n },\n }\n);\n"],"names":["useClasses","staticClasses","createClasses","root","display","flexGrow","label","paddingBottom","inputContainer","alignItems","rangeContainer","marginRight","theme","space","md","input","isMdDown"],"mappings":";;AAGa,MAAA;AAAA,EAAEA;AAAAA,EAAYC;AAAc,IAAIC,cAC3C,+BACA;AAAA,EACEC,MAAM;AAAA,IACJC,SAAS;AAAA,IACTC,UAAU;AAAA,EACZ;AAAA,EACAC,OAAO;AAAA,IACLC,eAAe;AAAA,EACjB;AAAA,EACAC,gBAAgB;AAAA,IACdJ,SAAS;AAAA,IACTK,YAAY;AAAA,IACZJ,UAAU;AAAA,EACZ;AAAA,EACAK,gBAAgB;AAAA,IACdN,SAAS;AAAA,IACTC,UAAU;AAAA,IAEV,wCAAwC;AAAA,MACtCM,aAAaC,MAAMC,MAAMC;AAAAA,IAC3B;AAAA,EACF;AAAA,EACAC,OAAO;AAAA,IACLV,UAAU;AAAA,EACZ;AAAA,EACAW,UAAU;AAAA,IACR,wCAAwC;AAAA,MACtCL,aAAc,QAAOC,MAAMC,MAAMC;AAAAA,IACnC;AAAA,EACF;AACF,CACF;"}
@@ -1,12 +1,10 @@
1
1
  import { useContext, useCallback, useState, memo } from "react";
2
2
  import uniqueId from "lodash/uniqueId";
3
3
  import isEmpty from "lodash/isEmpty";
4
- import { ClassNames } from "@emotion/react";
5
4
  import { useTheme, useMediaQuery } from "@mui/material";
6
5
  import { QueryBuilderContext } from "../../../Context.js";
7
- import { styles } from "./Numeric.styles.js";
8
- import numericValueClasses from "./numericValueClasses.js";
9
- import { jsx, jsxs } from "@emotion/react/jsx-runtime";
6
+ import { useClasses } from "./Numeric.styles.js";
7
+ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
10
8
  import { HvInput } from "../../../../Input/Input.js";
11
9
  const NumericValue = ({
12
10
  id,
@@ -15,6 +13,10 @@ const NumericValue = ({
15
13
  initialTouched = false
16
14
  }) => {
17
15
  var _a, _b;
16
+ const {
17
+ classes,
18
+ cx
19
+ } = useClasses();
18
20
  const isRange = operator === "range";
19
21
  const context = useContext(QueryBuilderContext);
20
22
  const {
@@ -87,85 +89,21 @@ const NumericValue = ({
87
89
  }
88
90
  const numericStatus = numericValidation != null ? "invalid" : "valid";
89
91
  const rightStatus = rightValidation != null ? "invalid" : "valid";
90
- const renderRangeInputs = (rangeValue) => /* @__PURE__ */ jsx(ClassNames, {
91
- children: ({
92
- css,
93
- cx
94
- }) => {
95
- var _a2, _b2;
96
- return /* @__PURE__ */ jsxs("div", {
97
- className: cx(numericValueClasses.rangeContainer, css(styles.rangeContainer), isMdDown ? cx(numericValueClasses.isMdDown, css(styles.isMdDown)) : ""),
98
- children: [/* @__PURE__ */ jsx("div", {
99
- className: cx(numericValueClasses.inputContainer, css(styles.inputContainer)),
100
- children: /* @__PURE__ */ jsx(HvInput, {
101
- label: labels.rule.value.numeric.range.leftLabel,
102
- className: cx(numericValueClasses.input, css(styles.input)),
103
- id: `${elementId}-numeric-from`,
104
- name: `${elementId}-numeric-from`,
105
- value: ((_a2 = rangeValue == null ? void 0 : rangeValue.from) == null ? void 0 : _a2.toString()) || "",
106
- onChange: (event, data) => onRangeValueChange(event, data),
107
- onBlur: () => {
108
- setTouchedNumeric(true);
109
- },
110
- onKeyDown: (e) => {
111
- if (e.key === "Enter") {
112
- e.preventDefault();
113
- }
114
- },
115
- status: !touchedNumeric ? "standBy" : numericStatus,
116
- statusMessage: numericValidation ? labels.rule.value.numeric.validation[numericValidation] : "",
117
- required: true,
118
- inputProps: {
119
- autoComplete: "off"
120
- },
121
- placeholder: labels.rule.value.numeric.placeholder,
122
- readOnly
123
- })
124
- }), /* @__PURE__ */ jsx("div", {
125
- className: cx(numericValueClasses.inputContainer, css(styles.inputContainer)),
126
- children: /* @__PURE__ */ jsx(HvInput, {
127
- label: labels.rule.value.numeric.range.rightLabel,
128
- className: cx(numericValueClasses.input, css(styles.input)),
129
- id: `${elementId}-numeric-to`,
130
- name: `${elementId}-numeric-to`,
131
- value: ((_b2 = rangeValue == null ? void 0 : rangeValue.to) == null ? void 0 : _b2.toString()) || "",
132
- onChange: (event, data) => onRangeValueChange(event, data, false),
133
- onBlur: () => {
134
- setTouchedNumericTo(true);
135
- },
136
- onKeyDown: (e) => {
137
- if (e.key === "Enter") {
138
- e.preventDefault();
139
- }
140
- },
141
- status: !touchedNumericTo ? "standBy" : rightStatus,
142
- statusMessage: rightValidation ? labels.rule.value.numeric.validation[rightValidation] : "",
143
- required: true,
144
- inputProps: {
145
- autoComplete: "off"
146
- },
147
- placeholder: labels.rule.value.numeric.placeholder,
148
- readOnly
149
- })
150
- })]
151
- });
152
- }
153
- });
154
- return /* @__PURE__ */ jsx(ClassNames, {
155
- children: ({
156
- css,
157
- cx
158
- }) => /* @__PURE__ */ jsxs("div", {
159
- className: cx(numericValueClasses.root, css(styles.root)),
160
- children: [isRange && renderRangeInputs(value || {}), !isRange && /* @__PURE__ */ jsx("div", {
161
- className: cx(numericValueClasses.inputContainer, css(styles.inputContainer)),
92
+ const renderRangeInputs = (rangeValue) => {
93
+ var _a2, _b2;
94
+ return /* @__PURE__ */ jsxs("div", {
95
+ className: cx(classes.rangeContainer, {
96
+ [classes.isMdDown]: isMdDown
97
+ }),
98
+ children: [/* @__PURE__ */ jsx("div", {
99
+ className: classes.inputContainer,
162
100
  children: /* @__PURE__ */ jsx(HvInput, {
163
- label: labels.rule.value.numeric.label,
164
- className: cx(numericValueClasses.input, css(styles.input)),
165
- id: `${elementId}-numeric`,
166
- name: `${elementId}-numeric`,
167
- value: value ? value.toString() : "",
168
- onChange: onSingleValueChange,
101
+ label: labels.rule.value.numeric.range.leftLabel,
102
+ className: classes.input,
103
+ id: `${elementId}-numeric-from`,
104
+ name: `${elementId}-numeric-from`,
105
+ value: ((_a2 = rangeValue == null ? void 0 : rangeValue.from) == null ? void 0 : _a2.toString()) || "",
106
+ onChange: (event, data) => onRangeValueChange(event, data),
169
107
  onBlur: () => {
170
108
  setTouchedNumeric(true);
171
109
  },
@@ -175,16 +113,72 @@ const NumericValue = ({
175
113
  }
176
114
  },
177
115
  status: !touchedNumeric ? "standBy" : numericStatus,
116
+ statusMessage: numericValidation ? labels.rule.value.numeric.validation[numericValidation] : "",
117
+ required: true,
118
+ inputProps: {
119
+ autoComplete: "off"
120
+ },
121
+ placeholder: labels.rule.value.numeric.placeholder,
122
+ readOnly
123
+ })
124
+ }), /* @__PURE__ */ jsx("div", {
125
+ className: classes.inputContainer,
126
+ children: /* @__PURE__ */ jsx(HvInput, {
127
+ label: labels.rule.value.numeric.range.rightLabel,
128
+ className: classes.input,
129
+ id: `${elementId}-numeric-to`,
130
+ name: `${elementId}-numeric-to`,
131
+ value: ((_b2 = rangeValue == null ? void 0 : rangeValue.to) == null ? void 0 : _b2.toString()) || "",
132
+ onChange: (event, data) => onRangeValueChange(event, data, false),
133
+ onBlur: () => {
134
+ setTouchedNumericTo(true);
135
+ },
136
+ onKeyDown: (e) => {
137
+ if (e.key === "Enter") {
138
+ e.preventDefault();
139
+ }
140
+ },
141
+ status: !touchedNumericTo ? "standBy" : rightStatus,
142
+ statusMessage: rightValidation ? labels.rule.value.numeric.validation[rightValidation] : "",
178
143
  required: true,
179
144
  inputProps: {
180
145
  autoComplete: "off"
181
146
  },
182
147
  placeholder: labels.rule.value.numeric.placeholder,
183
- statusMessage: numericValidation ? labels.rule.value.numeric.validation[numericValidation] : "",
184
148
  readOnly
185
149
  })
186
150
  })]
187
- })
151
+ });
152
+ };
153
+ return /* @__PURE__ */ jsxs("div", {
154
+ className: classes.root,
155
+ children: [isRange && renderRangeInputs(value || {}), !isRange && /* @__PURE__ */ jsx("div", {
156
+ className: classes.inputContainer,
157
+ children: /* @__PURE__ */ jsx(HvInput, {
158
+ label: labels.rule.value.numeric.label,
159
+ className: classes.input,
160
+ id: `${elementId}-numeric`,
161
+ name: `${elementId}-numeric`,
162
+ value: value ? value.toString() : "",
163
+ onChange: onSingleValueChange,
164
+ onBlur: () => {
165
+ setTouchedNumeric(true);
166
+ },
167
+ onKeyDown: (e) => {
168
+ if (e.key === "Enter") {
169
+ e.preventDefault();
170
+ }
171
+ },
172
+ status: !touchedNumeric ? "standBy" : numericStatus,
173
+ required: true,
174
+ inputProps: {
175
+ autoComplete: "off"
176
+ },
177
+ placeholder: labels.rule.value.numeric.placeholder,
178
+ statusMessage: numericValidation ? labels.rule.value.numeric.validation[numericValidation] : "",
179
+ readOnly
180
+ })
181
+ })]
188
182
  });
189
183
  };
190
184
  memo(NumericValue);