@box/metadata-filter 1.14.3
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/LICENSE +379 -0
- package/README.md +48 -0
- package/dist/chunks/index.js +73 -0
- package/dist/chunks/metadata-date-field.module.js +13 -0
- package/dist/chunks/metadata-float-field.module.js +11 -0
- package/dist/chunks/types.js +6 -0
- package/dist/chunks/use-date-validation.js +40 -0
- package/dist/chunks/use-float-validation.js +26 -0
- package/dist/esm/index.js +23 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/constants.js +6 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/index.js +13 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/constants.js +5 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/date-conversion-utils.js +62 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-advanced.js +173 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-relative.js +189 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field.js +123 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-date-internationalization.js +14 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-date-validation.js +12 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/utils.js +5 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-enum-field/metadata-enum-field.js +54 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/handlers.js +15 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field-advanced.js +93 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field.js +90 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/use-float-validation.js +9 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/utils.js +63 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field-advanced.js +75 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field.js +50 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/utils.js +20 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/metadata-string-field.js +71 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/utils.js +15 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/metadata-taxonomy-field.js +67 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/shared/advanced-filter-select.js +11 -0
- package/dist/esm/lib/components/metadata-filter-fields/components/shared/index.js +4 -0
- package/dist/esm/lib/components/metadata-filter-fields/filter-field-types.js +53 -0
- package/dist/esm/lib/components/metadata-filter-fields/metadata-filter-fields.js +62 -0
- package/dist/esm/lib/components/metadata-template-selector/index.js +1 -0
- package/dist/esm/lib/components/metadata-template-selector/metadata-template-selector.js +45 -0
- package/dist/esm/lib/defaults.js +39 -0
- package/dist/esm/lib/mappers.js +24 -0
- package/dist/esm/lib/messages.js +194 -0
- package/dist/esm/lib/metadata-filter.js +71 -0
- package/dist/i18n/bn-IN.js +49 -0
- package/dist/i18n/bn-IN.properties +94 -0
- package/dist/i18n/da-DK.js +49 -0
- package/dist/i18n/da-DK.properties +94 -0
- package/dist/i18n/de-DE.js +49 -0
- package/dist/i18n/de-DE.properties +94 -0
- package/dist/i18n/en-AU.js +49 -0
- package/dist/i18n/en-AU.properties +94 -0
- package/dist/i18n/en-CA.js +49 -0
- package/dist/i18n/en-CA.properties +94 -0
- package/dist/i18n/en-GB.js +49 -0
- package/dist/i18n/en-GB.properties +94 -0
- package/dist/i18n/en-US.js +49 -0
- package/dist/i18n/en-US.properties +94 -0
- package/dist/i18n/en-x-pseudo.js +49 -0
- package/dist/i18n/en-x-pseudo.properties +94 -0
- package/dist/i18n/es-419.js +49 -0
- package/dist/i18n/es-419.properties +94 -0
- package/dist/i18n/es-ES.js +49 -0
- package/dist/i18n/es-ES.properties +94 -0
- package/dist/i18n/fi-FI.js +49 -0
- package/dist/i18n/fi-FI.properties +94 -0
- package/dist/i18n/fr-CA.js +49 -0
- package/dist/i18n/fr-CA.properties +94 -0
- package/dist/i18n/fr-FR.js +49 -0
- package/dist/i18n/fr-FR.properties +94 -0
- package/dist/i18n/hi-IN.js +49 -0
- package/dist/i18n/hi-IN.properties +94 -0
- package/dist/i18n/it-IT.js +49 -0
- package/dist/i18n/it-IT.properties +94 -0
- package/dist/i18n/ja-JP.js +49 -0
- package/dist/i18n/ja-JP.properties +94 -0
- package/dist/i18n/json/src/lib/messages.json +1 -0
- package/dist/i18n/ko-KR.js +49 -0
- package/dist/i18n/ko-KR.properties +94 -0
- package/dist/i18n/nb-NO.js +49 -0
- package/dist/i18n/nb-NO.properties +94 -0
- package/dist/i18n/nl-NL.js +49 -0
- package/dist/i18n/nl-NL.properties +94 -0
- package/dist/i18n/pl-PL.js +49 -0
- package/dist/i18n/pl-PL.properties +94 -0
- package/dist/i18n/pt-BR.js +49 -0
- package/dist/i18n/pt-BR.properties +94 -0
- package/dist/i18n/ru-RU.js +49 -0
- package/dist/i18n/ru-RU.properties +94 -0
- package/dist/i18n/sv-SE.js +49 -0
- package/dist/i18n/sv-SE.properties +94 -0
- package/dist/i18n/tr-TR.js +49 -0
- package/dist/i18n/tr-TR.properties +94 -0
- package/dist/i18n/zh-CN.js +49 -0
- package/dist/i18n/zh-CN.properties +94 -0
- package/dist/i18n/zh-TW.js +49 -0
- package/dist/i18n/zh-TW.properties +94 -0
- package/dist/styles/index.css +1 -0
- package/dist/styles/metadata-date-field.css +1 -0
- package/dist/styles/metadata-filter.css +1 -0
- package/dist/styles/metadata-float-field.css +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/lib/components/metadata-filter-fields/components/constants.d.ts +3 -0
- package/dist/types/lib/components/metadata-filter-fields/components/index.d.ts +5 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/constants.d.ts +1 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/date-conversion-utils.d.ts +13 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-advanced.d.ts +3 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-relative.d.ts +3 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field.d.ts +4 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/types.d.ts +9 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/use-date-internationalization.d.ts +6 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/use-date-validation.d.ts +9 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-date-field/utils.d.ts +2 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-enum-field/metadata-enum-field.d.ts +3 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-float-field/handlers.d.ts +4 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field-advanced.d.ts +3 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field.d.ts +3 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-float-field/types.d.ts +4 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-float-field/use-float-validation.d.ts +8 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-float-field/utils.d.ts +35 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field-advanced.d.ts +2 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field.d.ts +3 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-multi-select-field/utils.d.ts +13 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-string-field/metadata-string-field.d.ts +6 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-string-field/utils.d.ts +17 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/metadata-taxonomy-field.d.ts +3 -0
- package/dist/types/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/types.d.ts +6 -0
- package/dist/types/lib/components/metadata-filter-fields/components/shared/advanced-filter-select.d.ts +18 -0
- package/dist/types/lib/components/metadata-filter-fields/components/shared/index.d.ts +1 -0
- package/dist/types/lib/components/metadata-filter-fields/filter-field-types.d.ts +17 -0
- package/dist/types/lib/components/metadata-filter-fields/metadata-filter-fields.d.ts +3 -0
- package/dist/types/lib/components/metadata-filter-fields/types.d.ts +33 -0
- package/dist/types/lib/components/metadata-template-selector/index.d.ts +1 -0
- package/dist/types/lib/components/metadata-template-selector/metadata-template-selector.d.ts +3 -0
- package/dist/types/lib/components/metadata-template-selector/types.d.ts +6 -0
- package/dist/types/lib/defaults.d.ts +13 -0
- package/dist/types/lib/mappers.d.ts +16 -0
- package/dist/types/lib/messages.d.ts +238 -0
- package/dist/types/lib/metadata-filter.d.ts +2 -0
- package/dist/types/lib/test-utils/formik-wrapper.d.ts +9 -0
- package/dist/types/lib/test-utils/index.d.ts +3 -0
- package/dist/types/lib/test-utils/sample-data.d.ts +15 -0
- package/dist/types/lib/test-utils/test-utils.d.ts +3 -0
- package/dist/types/lib/types.d.ts +86 -0
- package/package.json +50 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Time as f } from "@box/blueprint-web/lib-esm/primitives/calendar/classes.util";
|
|
2
|
+
import { fromAbsolute as p } from "@box/blueprint-web/lib-esm/primitives/calendar/from-absolute.util";
|
|
3
|
+
import { parseAbsoluteToLocal as b } from "@box/blueprint-web/lib-esm/primitives/calendar/parse-absolute-to-local.util";
|
|
4
|
+
import { parseAbsolute as F } from "@box/blueprint-web/lib-esm/primitives/calendar/parse-absolute.util";
|
|
5
|
+
import { toCalendarDateTime as T } from "@box/blueprint-web/lib-esm/primitives/calendar/to-calendar-date-time.util";
|
|
6
|
+
import { toCalendarDate as R } from "@box/blueprint-web/lib-esm/primitives/calendar/to-calendar-date.util";
|
|
7
|
+
import { toZoned as C } from "@box/blueprint-web/lib-esm/primitives/calendar/to-zoned.util";
|
|
8
|
+
import { R as a } from "../../../../../../chunks/types.js";
|
|
9
|
+
const g = (o, r) => {
|
|
10
|
+
try {
|
|
11
|
+
const n = r ? T(F(o, "UTC")) : b(o);
|
|
12
|
+
return R(n);
|
|
13
|
+
} catch {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
}, h = (o, r, n) => {
|
|
17
|
+
let e = "";
|
|
18
|
+
if (o) {
|
|
19
|
+
const t = n === a.FROM ? o : T(o, new f(23, 59, 59, 999));
|
|
20
|
+
e = C(t, r).toAbsoluteString();
|
|
21
|
+
}
|
|
22
|
+
return e;
|
|
23
|
+
}, v = (o, r) => {
|
|
24
|
+
let n = "";
|
|
25
|
+
if (o) {
|
|
26
|
+
const e = r === a.FROM ? T(o, new f(0, 0, 0, 0)) : T(o, new f(23, 59, 59, 999));
|
|
27
|
+
n = C(e, "UTC").toAbsoluteString();
|
|
28
|
+
}
|
|
29
|
+
return n;
|
|
30
|
+
}, x = (o, r, n = (/* @__PURE__ */ new Date()).getTime()) => {
|
|
31
|
+
var l;
|
|
32
|
+
const e = (i) => i === void 0 ? void 0 : i, t = e(p(n, "UTC")), s = (i) => e(t == null ? void 0 : t.add({
|
|
33
|
+
days: i * r
|
|
34
|
+
})), c = {
|
|
35
|
+
today: () => ({
|
|
36
|
+
from: t,
|
|
37
|
+
to: t
|
|
38
|
+
}),
|
|
39
|
+
next: () => ({
|
|
40
|
+
from: t,
|
|
41
|
+
to: s(1)
|
|
42
|
+
}),
|
|
43
|
+
past: () => ({
|
|
44
|
+
from: s(-1),
|
|
45
|
+
to: t
|
|
46
|
+
}),
|
|
47
|
+
olderThan: () => ({
|
|
48
|
+
from: e(p(0, "UTC")),
|
|
49
|
+
to: s(-1)
|
|
50
|
+
})
|
|
51
|
+
}, m = (l = c[o]) == null ? void 0 : l.call(c), d = m == null ? void 0 : m.from, u = m == null ? void 0 : m.to;
|
|
52
|
+
return {
|
|
53
|
+
from: d ? v(d, a.FROM) : void 0,
|
|
54
|
+
to: u ? v(u, a.TO) : void 0
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
export {
|
|
58
|
+
g as convertToDatePickerValue,
|
|
59
|
+
h as convertToFormikValue,
|
|
60
|
+
v as convertToFormikValueRanged,
|
|
61
|
+
x as getRelativeFromToValues
|
|
62
|
+
};
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { DateI18nProvider as le, DatePicker as X, TextInput as ie } from "@box/blueprint-web";
|
|
2
|
+
import ce from "clsx";
|
|
3
|
+
import { useFormikContext as de, getIn as ue, Field as y } from "formik";
|
|
4
|
+
import { useState as b, useRef as _, useCallback as v, useEffect as me, useMemo as H } from "react";
|
|
5
|
+
import { useIntl as fe } from "react-intl";
|
|
6
|
+
import { R as s } from "../../../../../../chunks/types.js";
|
|
7
|
+
import { DEFAULT_MAX_DATE as q } from "./constants.js";
|
|
8
|
+
import { getRelativeFromToValues as z, convertToFormikValueRanged as J } from "./date-conversion-utils.js";
|
|
9
|
+
import { s as h } from "../../../../../../chunks/metadata-date-field.module.js";
|
|
10
|
+
import { u as ve, E as A } from "../../../../../../chunks/use-date-validation.js";
|
|
11
|
+
import { getDynamicMaxMinValue as K } from "./utils.js";
|
|
12
|
+
import c from "../../../../messages.js";
|
|
13
|
+
import { jsx as n, jsxs as Q } from "react/jsx-runtime";
|
|
14
|
+
import { A as he } from "../../../../../../chunks/index.js";
|
|
15
|
+
const Be = ({
|
|
16
|
+
disableForm: p,
|
|
17
|
+
fieldNamePrefix: d,
|
|
18
|
+
label: C,
|
|
19
|
+
locale: L,
|
|
20
|
+
portalElement: D,
|
|
21
|
+
filterOptionsMap: W,
|
|
22
|
+
onAdvancedFilterOptionChange: F,
|
|
23
|
+
fieldAdvancedFilterOptions: N
|
|
24
|
+
}) => {
|
|
25
|
+
const T = `${d}.value.advancedFilterOption`, u = `${d}.value.relativeDays`, r = `${d}.value.range.gt`, o = `${d}.value.range.lt`, {
|
|
26
|
+
values: B,
|
|
27
|
+
setFieldValue: t,
|
|
28
|
+
setFieldTouched: I
|
|
29
|
+
} = de(), {
|
|
30
|
+
validateDates: x,
|
|
31
|
+
fromDatePickerValue: g,
|
|
32
|
+
toDatePickerValue: M,
|
|
33
|
+
fromErrorType: E,
|
|
34
|
+
toErrorType: S
|
|
35
|
+
} = ve(B, r, o, L, !0), l = fe(), [i, Y] = b(N || ""), [P, V] = b(!1), m = ue(B, u), [$, O] = b(s.FROM), k = _(g), R = _(M), w = {
|
|
36
|
+
clearDatePickerAriaLabel: l.formatMessage(c.clearSelectedDate),
|
|
37
|
+
nextMonthAriaLabel: l.formatMessage(c.switchToNextMonth),
|
|
38
|
+
openCalendarDropdownAriaLabel: l.formatMessage(c.openCalendar),
|
|
39
|
+
previousMonthAriaLabel: l.formatMessage(c.switchToNextMonth)
|
|
40
|
+
}, U = v(() => {
|
|
41
|
+
if (i === "today") {
|
|
42
|
+
const {
|
|
43
|
+
from: a,
|
|
44
|
+
to: e
|
|
45
|
+
} = z("today", void 0);
|
|
46
|
+
t(r, a), t(o, e);
|
|
47
|
+
} else if (m !== void 0 && m > 0) {
|
|
48
|
+
const a = i;
|
|
49
|
+
if (["next", "past", "olderThan"].includes(a)) {
|
|
50
|
+
const {
|
|
51
|
+
from: e,
|
|
52
|
+
to: f
|
|
53
|
+
} = z(a, m);
|
|
54
|
+
t(r, e), t(o, f);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, [i, m, r, o, t]);
|
|
58
|
+
me(() => {
|
|
59
|
+
P && (U(), V(!1));
|
|
60
|
+
}, [P, U]);
|
|
61
|
+
const Z = v((a) => {
|
|
62
|
+
const e = a;
|
|
63
|
+
Y(e), t(T, e), F && F(d, e);
|
|
64
|
+
const f = () => {
|
|
65
|
+
t(u, void 0), t(r, void 0), t(o, void 0);
|
|
66
|
+
}, ne = () => {
|
|
67
|
+
t(r, void 0), t(o, void 0);
|
|
68
|
+
};
|
|
69
|
+
["isBlank", "isNotBlank", "selectFilterType"].includes(e) || !e || e === "customRange" ? f() : e === "today" ? (t(u, void 0), V(!0)) : ne();
|
|
70
|
+
}, [d, F, t, T, u, r, o]), ee = v((a) => {
|
|
71
|
+
const e = a === "" ? void 0 : Number(a);
|
|
72
|
+
(!isNaN(e) || a === "") && (t(u, e), e && e > 0 && V(!0));
|
|
73
|
+
}, [t, u]), ae = v((a) => {
|
|
74
|
+
const e = J(a, s.FROM);
|
|
75
|
+
k.current = a, t(r, e), O(s.FROM);
|
|
76
|
+
}, [t, r]), te = v((a) => {
|
|
77
|
+
const e = J(a, s.TO);
|
|
78
|
+
R.current = a, t(o, e), O(s.TO);
|
|
79
|
+
}, [t, o]), j = v((a) => {
|
|
80
|
+
const e = a === s.FROM ? r : o;
|
|
81
|
+
I(e, !0), O(a);
|
|
82
|
+
}, [I, r, o]), re = H(() => K(M, q), [M]), oe = H(() => K(g), [g]), G = (a, e, f) => !!(e === A.MAX && a === A.OVERLAPPING || a === A.OVERLAPPING && f), se = () => !i || i === "isBlank" || i === "isNotBlank" || i === "selectFilterType" || i === "today" ? null : i === "customRange" ? /* @__PURE__ */ Q("div", {
|
|
83
|
+
className: ce(h.rangeInputsContainer, h.verticalLayout),
|
|
84
|
+
children: [/* @__PURE__ */ n(y, {
|
|
85
|
+
name: r,
|
|
86
|
+
validate: (a) => x(k.current, R.current, s.FROM),
|
|
87
|
+
children: ({
|
|
88
|
+
field: a,
|
|
89
|
+
meta: e
|
|
90
|
+
}) => /* @__PURE__ */ n("div", {
|
|
91
|
+
className: h.datePicker,
|
|
92
|
+
children: /* @__PURE__ */ n(X, {
|
|
93
|
+
...a,
|
|
94
|
+
...w,
|
|
95
|
+
calendarAriaLabel: l.formatMessage(c.selectStartDate),
|
|
96
|
+
error: G(E, S, $ !== s.FROM) ? void 0 : e.error,
|
|
97
|
+
isDisabled: p,
|
|
98
|
+
label: l.formatMessage(c.afterDate),
|
|
99
|
+
maxValue: re,
|
|
100
|
+
onBlur: () => j(s.FROM),
|
|
101
|
+
onChange: ae,
|
|
102
|
+
portalElement: D,
|
|
103
|
+
value: g
|
|
104
|
+
})
|
|
105
|
+
})
|
|
106
|
+
}), /* @__PURE__ */ n(y, {
|
|
107
|
+
name: o,
|
|
108
|
+
validate: (a) => x(k.current, R.current, s.TO),
|
|
109
|
+
children: ({
|
|
110
|
+
field: a,
|
|
111
|
+
meta: e
|
|
112
|
+
}) => /* @__PURE__ */ n("div", {
|
|
113
|
+
className: h.datePicker,
|
|
114
|
+
children: /* @__PURE__ */ n(X, {
|
|
115
|
+
...a,
|
|
116
|
+
...w,
|
|
117
|
+
calendarAriaLabel: l.formatMessage(c.selectEndDate),
|
|
118
|
+
error: G(S, E, $ !== s.TO) ? void 0 : e.error,
|
|
119
|
+
isDisabled: p,
|
|
120
|
+
label: l.formatMessage(c.beforeDate),
|
|
121
|
+
maxValue: q,
|
|
122
|
+
minValue: oe,
|
|
123
|
+
onBlur: () => j(s.TO),
|
|
124
|
+
onChange: te,
|
|
125
|
+
portalElement: D,
|
|
126
|
+
value: M
|
|
127
|
+
})
|
|
128
|
+
})
|
|
129
|
+
})]
|
|
130
|
+
}) : /* @__PURE__ */ n(y, {
|
|
131
|
+
name: u,
|
|
132
|
+
children: ({
|
|
133
|
+
field: a,
|
|
134
|
+
meta: e
|
|
135
|
+
}) => /* @__PURE__ */ n("div", {
|
|
136
|
+
className: h.daysInputContainer,
|
|
137
|
+
children: /* @__PURE__ */ n(ie, {
|
|
138
|
+
...a,
|
|
139
|
+
disabled: p,
|
|
140
|
+
error: e.touched && e.error ? e.error : void 0,
|
|
141
|
+
hideLabel: !0,
|
|
142
|
+
label: l.formatMessage(c.relativeDaysSelectLabel),
|
|
143
|
+
onChange: (f) => ee(f.target.value),
|
|
144
|
+
placeholder: l.formatMessage(c.numberOfDays),
|
|
145
|
+
value: (m == null ? void 0 : m.toString()) || ""
|
|
146
|
+
})
|
|
147
|
+
})
|
|
148
|
+
});
|
|
149
|
+
return /* @__PURE__ */ n(le, {
|
|
150
|
+
locale: L,
|
|
151
|
+
children: /* @__PURE__ */ Q("div", {
|
|
152
|
+
className: h.advancedDateContainer,
|
|
153
|
+
"data-testid": `${C}-advanced-field`,
|
|
154
|
+
children: [/* @__PURE__ */ n(he, {
|
|
155
|
+
advancedFilterFieldName: T,
|
|
156
|
+
disableForm: p,
|
|
157
|
+
fieldAdvancedFilterOptions: N,
|
|
158
|
+
fieldNamePrefix: d,
|
|
159
|
+
filterOptionsMap: W,
|
|
160
|
+
label: C,
|
|
161
|
+
onAdvancedFilterOptionChange: F,
|
|
162
|
+
onValueChange: Z,
|
|
163
|
+
portalElement: D,
|
|
164
|
+
showLabel: !0,
|
|
165
|
+
value: i
|
|
166
|
+
}), se()]
|
|
167
|
+
})
|
|
168
|
+
});
|
|
169
|
+
};
|
|
170
|
+
export {
|
|
171
|
+
Be as MetadataDateFieldAdvanced,
|
|
172
|
+
Be as default
|
|
173
|
+
};
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { DateI18nProvider as ue, Text as me, Radio as c, Select as x, DatePicker as H } from "@box/blueprint-web";
|
|
2
|
+
import fe from "clsx";
|
|
3
|
+
import { useFormikContext as ge, getIn as q, Field as z } from "formik";
|
|
4
|
+
import { useState as A, useRef as J, useCallback as he, useEffect as ve, useMemo as K } from "react";
|
|
5
|
+
import { useIntl as pe } from "react-intl";
|
|
6
|
+
import { R as o } from "../../../../../../chunks/types.js";
|
|
7
|
+
import { DEFAULT_MAX_DATE as Q } from "./constants.js";
|
|
8
|
+
import { getRelativeFromToValues as Fe, convertToFormikValueRanged as W } from "./date-conversion-utils.js";
|
|
9
|
+
import { s as d } from "../../../../../../chunks/metadata-date-field.module.js";
|
|
10
|
+
import { u as Me, E as L } from "../../../../../../chunks/use-date-validation.js";
|
|
11
|
+
import { getDynamicMaxMinValue as Y } from "./utils.js";
|
|
12
|
+
import a from "../../../../messages.js";
|
|
13
|
+
import { jsx as l, jsxs as S } from "react/jsx-runtime";
|
|
14
|
+
const ee = {
|
|
15
|
+
next: a.nextDaysAmt,
|
|
16
|
+
past: a.pastDaysAmt,
|
|
17
|
+
olderThan: a.olderThanDaysAmt
|
|
18
|
+
}, De = [1, 3, 15, 45, 60, 120, 365], Z = (u) => u in ee || u === "today", ke = ({
|
|
19
|
+
disableForm: u,
|
|
20
|
+
fieldNamePrefix: p,
|
|
21
|
+
label: N,
|
|
22
|
+
locale: I,
|
|
23
|
+
portalElement: M
|
|
24
|
+
}) => {
|
|
25
|
+
const [k, D] = A(o.FROM), [E, T] = A(!1), m = `${p}.value.range.gt`, f = `${p}.value.range.lt`, P = `${p}.value.relativeType`, y = `${p}.value.relativeDays`, {
|
|
26
|
+
values: V,
|
|
27
|
+
setFieldTouched: ae,
|
|
28
|
+
setFieldValue: i
|
|
29
|
+
} = ge(), {
|
|
30
|
+
validateDates: $,
|
|
31
|
+
fromDatePickerValue: g,
|
|
32
|
+
toDatePickerValue: h,
|
|
33
|
+
fromErrorType: B,
|
|
34
|
+
toErrorType: w
|
|
35
|
+
} = Me(V, m, f, I, !0), r = pe(), G = q(V, P), te = g || h;
|
|
36
|
+
let R = "anyTime";
|
|
37
|
+
Z(G) ? R = G : te && (R = "customRange");
|
|
38
|
+
const [v, re] = A(R), F = q(V, y), b = J(g), O = J(h), U = {
|
|
39
|
+
clearDatePickerAriaLabel: r.formatMessage(a.clearSelectedDate),
|
|
40
|
+
nextMonthAriaLabel: r.formatMessage(a.switchToNextMonth),
|
|
41
|
+
openCalendarDropdownAriaLabel: r.formatMessage(a.openCalendar),
|
|
42
|
+
previousMonthAriaLabel: r.formatMessage(a.switchToNextMonth)
|
|
43
|
+
}, le = (e) => {
|
|
44
|
+
const t = W(e, o.FROM);
|
|
45
|
+
b.current = e, i(m, t), D(o.FROM);
|
|
46
|
+
}, oe = (e) => {
|
|
47
|
+
const t = W(e, o.TO);
|
|
48
|
+
O.current = e, i(f, t), D(o.TO);
|
|
49
|
+
}, j = (e) => {
|
|
50
|
+
const t = e === o.FROM ? m : f;
|
|
51
|
+
ae(t, !0), D(e);
|
|
52
|
+
}, se = (e) => {
|
|
53
|
+
let t;
|
|
54
|
+
Z(e) && (t = e), i(P, t), re(e), i(y, void 0), T(!0);
|
|
55
|
+
}, X = he(() => {
|
|
56
|
+
const {
|
|
57
|
+
from: e,
|
|
58
|
+
to: t
|
|
59
|
+
} = Fe(v, F);
|
|
60
|
+
i(m, e), i(f, t);
|
|
61
|
+
}, [m, F, v, i, f]);
|
|
62
|
+
ve(() => {
|
|
63
|
+
E && (X(), T(!1));
|
|
64
|
+
}, [E, X]);
|
|
65
|
+
const ne = K(() => Y(h, Q), [h]), ie = K(() => Y(g), [g]), _ = (e, t, s) => !!(t === L.MAX && e === L.OVERLAPPING || e === L.OVERLAPPING && s), C = (e) => {
|
|
66
|
+
if (e !== v)
|
|
67
|
+
return null;
|
|
68
|
+
const t = (n) => {
|
|
69
|
+
const de = ee[e];
|
|
70
|
+
return {
|
|
71
|
+
value: String(n),
|
|
72
|
+
label: r.formatMessage(de, {
|
|
73
|
+
count: n
|
|
74
|
+
})
|
|
75
|
+
};
|
|
76
|
+
}, s = De.map(t);
|
|
77
|
+
return /* @__PURE__ */ l(x, {
|
|
78
|
+
className: d.daysSelect,
|
|
79
|
+
defaultValue: F === void 0 ? "" : String(F),
|
|
80
|
+
label: r.formatMessage(a.relativeDaysSelectLabel),
|
|
81
|
+
onValueChange: (n) => {
|
|
82
|
+
i(y, Number(n)), T(!0);
|
|
83
|
+
},
|
|
84
|
+
placeholder: r.formatMessage(a.selectValuePlaceholder),
|
|
85
|
+
children: /* @__PURE__ */ l(x.Content, {
|
|
86
|
+
container: M,
|
|
87
|
+
children: s == null ? void 0 : s.map((n) => /* @__PURE__ */ l(x.Option, {
|
|
88
|
+
text: n.label,
|
|
89
|
+
value: n.value,
|
|
90
|
+
children: n.label
|
|
91
|
+
}, n.value))
|
|
92
|
+
})
|
|
93
|
+
});
|
|
94
|
+
}, ce = () => v !== "customRange" ? null : /* @__PURE__ */ S("div", {
|
|
95
|
+
className: fe(d.rangeInputsContainer, d.verticalLayout),
|
|
96
|
+
children: [/* @__PURE__ */ l(z, {
|
|
97
|
+
name: m,
|
|
98
|
+
validate: (e) => $(b.current, O.current, o.FROM),
|
|
99
|
+
children: ({
|
|
100
|
+
field: e,
|
|
101
|
+
meta: t
|
|
102
|
+
}) => /* @__PURE__ */ l("div", {
|
|
103
|
+
className: d.inputContainer,
|
|
104
|
+
children: /* @__PURE__ */ l(H, {
|
|
105
|
+
...e,
|
|
106
|
+
...U,
|
|
107
|
+
calendarAriaLabel: r.formatMessage(a.selectStartDate),
|
|
108
|
+
error: _(B, w, k !== o.FROM) ? void 0 : t.error,
|
|
109
|
+
isDisabled: u,
|
|
110
|
+
label: r.formatMessage(a.fieldStartDateLabel),
|
|
111
|
+
maxValue: ne,
|
|
112
|
+
onBlur: () => j(o.FROM),
|
|
113
|
+
onChange: (s) => le(s),
|
|
114
|
+
portalElement: M,
|
|
115
|
+
value: g
|
|
116
|
+
})
|
|
117
|
+
})
|
|
118
|
+
}), /* @__PURE__ */ l(z, {
|
|
119
|
+
name: f,
|
|
120
|
+
validate: (e) => $(b.current, O.current, o.TO),
|
|
121
|
+
children: ({
|
|
122
|
+
field: e,
|
|
123
|
+
meta: t
|
|
124
|
+
}) => /* @__PURE__ */ l("div", {
|
|
125
|
+
className: d.inputContainer,
|
|
126
|
+
children: /* @__PURE__ */ l(H, {
|
|
127
|
+
...e,
|
|
128
|
+
...U,
|
|
129
|
+
calendarAriaLabel: r.formatMessage(a.selectEndDate),
|
|
130
|
+
error: _(w, B, k !== o.TO) ? void 0 : t.error,
|
|
131
|
+
isDisabled: u,
|
|
132
|
+
label: r.formatMessage(a.fieldEndDateLabel),
|
|
133
|
+
maxValue: Q,
|
|
134
|
+
minValue: ie,
|
|
135
|
+
onBlur: () => j(o.TO),
|
|
136
|
+
onChange: (s) => oe(s),
|
|
137
|
+
portalElement: M,
|
|
138
|
+
value: h
|
|
139
|
+
})
|
|
140
|
+
})
|
|
141
|
+
})]
|
|
142
|
+
});
|
|
143
|
+
return /* @__PURE__ */ l(ue, {
|
|
144
|
+
locale: I,
|
|
145
|
+
children: /* @__PURE__ */ S("div", {
|
|
146
|
+
className: d.container,
|
|
147
|
+
"data-testid": `${N}-field`,
|
|
148
|
+
children: [/* @__PURE__ */ l(me, {
|
|
149
|
+
as: "span",
|
|
150
|
+
className: d.rangeFieldLabel,
|
|
151
|
+
color: "textOnLightSecondary",
|
|
152
|
+
variant: "bodyDefaultBold",
|
|
153
|
+
children: N
|
|
154
|
+
}), /* @__PURE__ */ S(c.Group, {
|
|
155
|
+
disabled: u,
|
|
156
|
+
loop: !1,
|
|
157
|
+
onValueChange: se,
|
|
158
|
+
value: v,
|
|
159
|
+
children: [/* @__PURE__ */ l(c.Item, {
|
|
160
|
+
label: r.formatMessage(a.relativeDateFilterAnyTime),
|
|
161
|
+
value: "anyTime"
|
|
162
|
+
}), /* @__PURE__ */ l(c.Item, {
|
|
163
|
+
label: r.formatMessage(a.relativeDateFilterToday),
|
|
164
|
+
value: "today"
|
|
165
|
+
}), /* @__PURE__ */ l(c.Item, {
|
|
166
|
+
description: C("next"),
|
|
167
|
+
label: r.formatMessage(a.relativeDateFilterNext),
|
|
168
|
+
value: "next"
|
|
169
|
+
}), /* @__PURE__ */ l(c.Item, {
|
|
170
|
+
description: C("past"),
|
|
171
|
+
label: r.formatMessage(a.relativeDateFilterPast),
|
|
172
|
+
value: "past"
|
|
173
|
+
}), /* @__PURE__ */ l(c.Item, {
|
|
174
|
+
description: C("olderThan"),
|
|
175
|
+
label: r.formatMessage(a.relativeDateFilterOlderThan),
|
|
176
|
+
value: "olderThan"
|
|
177
|
+
}), /* @__PURE__ */ l(c.Item, {
|
|
178
|
+
description: ce(),
|
|
179
|
+
label: r.formatMessage(a.relativeDateFilterCustomRange),
|
|
180
|
+
value: "customRange"
|
|
181
|
+
})]
|
|
182
|
+
})]
|
|
183
|
+
})
|
|
184
|
+
});
|
|
185
|
+
};
|
|
186
|
+
export {
|
|
187
|
+
ke as MetadataDateFieldRelative,
|
|
188
|
+
ke as default
|
|
189
|
+
};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Text as _, DateI18nProvider as H, DatePicker as N } from "@box/blueprint-web";
|
|
2
|
+
import { useFormikContext as U, Field as k } from "formik";
|
|
3
|
+
import { useState as q, useRef as P, useMemo as E } from "react";
|
|
4
|
+
import { useIntl as J } from "react-intl";
|
|
5
|
+
import n from "../../../../messages.js";
|
|
6
|
+
import { R as a } from "../../../../../../chunks/types.js";
|
|
7
|
+
import { DEFAULT_MAX_DATE as y } from "./constants.js";
|
|
8
|
+
import { convertToFormikValue as I } from "./date-conversion-utils.js";
|
|
9
|
+
import { MetadataDateFieldRelative as K } from "./metadata-date-field-relative.js";
|
|
10
|
+
import { s as l } from "../../../../../../chunks/metadata-date-field.module.js";
|
|
11
|
+
import { u as Q, E as g } from "../../../../../../chunks/use-date-validation.js";
|
|
12
|
+
import { useDateInternationalization as W } from "./use-date-internationalization.js";
|
|
13
|
+
import { getDynamicMaxMinValue as B } from "./utils.js";
|
|
14
|
+
import { jsx as t, jsxs as w } from "react/jsx-runtime";
|
|
15
|
+
const fe = ({
|
|
16
|
+
canUseRelativeDates: m,
|
|
17
|
+
...i
|
|
18
|
+
}) => m ? /* @__PURE__ */ t(K, {
|
|
19
|
+
...i
|
|
20
|
+
}) : /* @__PURE__ */ t(Y, {
|
|
21
|
+
...i
|
|
22
|
+
}), Y = ({
|
|
23
|
+
disableForm: m,
|
|
24
|
+
fieldNamePrefix: i,
|
|
25
|
+
label: D,
|
|
26
|
+
locale: M,
|
|
27
|
+
portalElement: v
|
|
28
|
+
}) => {
|
|
29
|
+
const [O, h] = q(a.FROM), d = `${i}.value.range.gt`, c = `${i}.value.range.lt`, {
|
|
30
|
+
values: S,
|
|
31
|
+
setFieldTouched: $,
|
|
32
|
+
setFieldValue: T
|
|
33
|
+
} = U(), {
|
|
34
|
+
localTimezone: V
|
|
35
|
+
} = W(M), {
|
|
36
|
+
validateDates: R,
|
|
37
|
+
fromDatePickerValue: u,
|
|
38
|
+
toDatePickerValue: f,
|
|
39
|
+
fromErrorType: L,
|
|
40
|
+
toErrorType: b
|
|
41
|
+
} = Q(S, d, c, M, !1), o = J(), F = P(u), p = P(f), x = {
|
|
42
|
+
clearDatePickerAriaLabel: o.formatMessage(n.clearSelectedDate),
|
|
43
|
+
nextMonthAriaLabel: o.formatMessage(n.switchToNextMonth),
|
|
44
|
+
openCalendarDropdownAriaLabel: o.formatMessage(n.openCalendar),
|
|
45
|
+
previousMonthAriaLabel: o.formatMessage(n.switchToNextMonth)
|
|
46
|
+
}, j = (e) => {
|
|
47
|
+
const r = I(e, V, a.FROM);
|
|
48
|
+
F.current = e, T(d, r), h(a.FROM);
|
|
49
|
+
}, z = (e) => {
|
|
50
|
+
const r = I(e, V, a.TO);
|
|
51
|
+
p.current = e, T(c, r), h(a.TO);
|
|
52
|
+
}, A = (e) => {
|
|
53
|
+
const r = e === a.FROM ? d : c;
|
|
54
|
+
$(r, !0), h(e);
|
|
55
|
+
}, G = E(() => B(f, y), [f]), X = E(() => B(u), [u]), C = (e, r, s) => !!(r === g.MAX && e === g.OVERLAPPING || e === g.OVERLAPPING && s);
|
|
56
|
+
return /* @__PURE__ */ w("div", {
|
|
57
|
+
className: l.container,
|
|
58
|
+
"data-testid": `${D}-field`,
|
|
59
|
+
children: [/* @__PURE__ */ t(_, {
|
|
60
|
+
as: "span",
|
|
61
|
+
className: l.rangeFieldLabel,
|
|
62
|
+
color: "textOnLightSecondary",
|
|
63
|
+
variant: "bodyDefaultBold",
|
|
64
|
+
children: D
|
|
65
|
+
}), /* @__PURE__ */ t(H, {
|
|
66
|
+
locale: M,
|
|
67
|
+
children: /* @__PURE__ */ w("div", {
|
|
68
|
+
className: l.rangeInputsContainer,
|
|
69
|
+
children: [/* @__PURE__ */ t(k, {
|
|
70
|
+
name: d,
|
|
71
|
+
validate: (e) => R(F.current, p.current, a.FROM),
|
|
72
|
+
children: ({
|
|
73
|
+
field: e,
|
|
74
|
+
meta: r
|
|
75
|
+
}) => /* @__PURE__ */ t("div", {
|
|
76
|
+
className: l.inputContainer,
|
|
77
|
+
children: /* @__PURE__ */ t(N, {
|
|
78
|
+
...e,
|
|
79
|
+
...x,
|
|
80
|
+
calendarAriaLabel: o.formatMessage(n.selectFromDate),
|
|
81
|
+
error: C(L, b, O !== a.FROM) ? void 0 : r.error,
|
|
82
|
+
isDisabled: m,
|
|
83
|
+
label: o.formatMessage(n.fieldFromLabel),
|
|
84
|
+
maxValue: G,
|
|
85
|
+
onBlur: () => A(a.FROM),
|
|
86
|
+
onChange: (s) => j(s),
|
|
87
|
+
portalElement: v,
|
|
88
|
+
value: u
|
|
89
|
+
})
|
|
90
|
+
})
|
|
91
|
+
}), /* @__PURE__ */ t(k, {
|
|
92
|
+
name: c,
|
|
93
|
+
validate: (e) => R(F.current, p.current, a.TO),
|
|
94
|
+
children: ({
|
|
95
|
+
field: e,
|
|
96
|
+
meta: r
|
|
97
|
+
}) => /* @__PURE__ */ t("div", {
|
|
98
|
+
className: l.inputContainer,
|
|
99
|
+
children: /* @__PURE__ */ t(N, {
|
|
100
|
+
...e,
|
|
101
|
+
...x,
|
|
102
|
+
calendarAriaLabel: o.formatMessage(n.selectToDate),
|
|
103
|
+
error: C(b, L, O !== a.TO) ? void 0 : r.error,
|
|
104
|
+
isDisabled: m,
|
|
105
|
+
label: o.formatMessage(n.fieldToLabel),
|
|
106
|
+
maxValue: y,
|
|
107
|
+
minValue: X,
|
|
108
|
+
onBlur: () => A(a.TO),
|
|
109
|
+
onChange: (s) => z(s),
|
|
110
|
+
portalElement: v,
|
|
111
|
+
value: f
|
|
112
|
+
})
|
|
113
|
+
})
|
|
114
|
+
})]
|
|
115
|
+
})
|
|
116
|
+
})]
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
export {
|
|
120
|
+
fe as MetadataDateField,
|
|
121
|
+
Y as MetadataDateFieldNonRelative,
|
|
122
|
+
fe as default
|
|
123
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useMemo as a } from "react";
|
|
2
|
+
import { DateFormatter as n } from "@box/blueprint-web/lib-esm/primitives/calendar/classes.util";
|
|
3
|
+
import { getLocalTimeZone as m } from "@box/blueprint-web/lib-esm/primitives/calendar/get-local-timezone.util";
|
|
4
|
+
const c = (t) => {
|
|
5
|
+
const e = a(() => new n(t), [t]), o = m();
|
|
6
|
+
return {
|
|
7
|
+
locale: t,
|
|
8
|
+
localTimezone: o,
|
|
9
|
+
formatCalendarDate: (r) => e.format(r.toDate(o))
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
c as useDateInternationalization
|
|
14
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "formik";
|
|
2
|
+
import "react";
|
|
3
|
+
import "react-intl";
|
|
4
|
+
import "../../../../../../chunks/types.js";
|
|
5
|
+
import "./constants.js";
|
|
6
|
+
import "./date-conversion-utils.js";
|
|
7
|
+
import { u as d } from "../../../../../../chunks/use-date-validation.js";
|
|
8
|
+
import "./use-date-internationalization.js";
|
|
9
|
+
import "../../../../messages.js";
|
|
10
|
+
export {
|
|
11
|
+
d as useDateValidation
|
|
12
|
+
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Select as l, SELECT_EMPTY_VALUE as n } from "@box/blueprint-web";
|
|
2
|
+
import { useFormikContext as f, getIn as g, Field as x } from "formik";
|
|
3
|
+
import { useIntl as E, FormattedMessage as F } from "react-intl";
|
|
4
|
+
import u from "../../../../messages.js";
|
|
5
|
+
import { jsx as t, jsxs as M } from "react/jsx-runtime";
|
|
6
|
+
const L = ({
|
|
7
|
+
disableForm: i,
|
|
8
|
+
fieldNamePrefix: o,
|
|
9
|
+
label: d,
|
|
10
|
+
portalElement: h
|
|
11
|
+
}) => {
|
|
12
|
+
const {
|
|
13
|
+
setFieldValue: c,
|
|
14
|
+
values: p
|
|
15
|
+
} = f(), v = E(), s = `${o}.value.enum[0]`, r = g(p, `${o}.options`, []).map(({
|
|
16
|
+
key: a
|
|
17
|
+
}) => a), m = v.formatMessage(u.selectValuePlaceholder);
|
|
18
|
+
return /* @__PURE__ */ t("div", {
|
|
19
|
+
"data-testid": `${d}-field`,
|
|
20
|
+
children: /* @__PURE__ */ t(x, {
|
|
21
|
+
name: s,
|
|
22
|
+
children: ({
|
|
23
|
+
field: a
|
|
24
|
+
}) => /* @__PURE__ */ t(l, {
|
|
25
|
+
disabled: i,
|
|
26
|
+
label: d,
|
|
27
|
+
onValueChange: (e) => {
|
|
28
|
+
e === n ? c(s, "") : c(s, e);
|
|
29
|
+
},
|
|
30
|
+
placeholder: m,
|
|
31
|
+
...a,
|
|
32
|
+
value: a.value === n ? "" : a.value,
|
|
33
|
+
children: /* @__PURE__ */ M(l.Content, {
|
|
34
|
+
container: h,
|
|
35
|
+
children: [/* @__PURE__ */ t(l.Option, {
|
|
36
|
+
text: m,
|
|
37
|
+
value: n,
|
|
38
|
+
children: /* @__PURE__ */ t(F, {
|
|
39
|
+
...u.selectValuePlaceholder
|
|
40
|
+
})
|
|
41
|
+
}), r == null ? void 0 : r.map((e) => /* @__PURE__ */ t(l.Option, {
|
|
42
|
+
text: e,
|
|
43
|
+
value: e,
|
|
44
|
+
children: e
|
|
45
|
+
}, e))]
|
|
46
|
+
})
|
|
47
|
+
})
|
|
48
|
+
})
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
export {
|
|
52
|
+
L as MetadataEnumField,
|
|
53
|
+
L as default
|
|
54
|
+
};
|
package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/handlers.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { R as B } from "../../../../../../chunks/types.js";
|
|
2
|
+
import { createFieldValue as R } from "./utils.js";
|
|
3
|
+
const b = (u, s, V) => (r, m, o, k) => {
|
|
4
|
+
V == null || V(r), s == null || s(u, r);
|
|
5
|
+
const a = R(r === "isBlank" || r === "isNotBlank" ? "" : m, r === "isBlank" || r === "isNotBlank" ? "" : o, r, !0);
|
|
6
|
+
k.setFieldValue(u, a);
|
|
7
|
+
}, f = (u, s, V, r) => (m, o, k) => {
|
|
8
|
+
V(r);
|
|
9
|
+
const t = R(r === B.FROM ? m : o, r === B.TO ? m : o, s, !0);
|
|
10
|
+
k.setFieldValue(u, t);
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
b as createAdvancedFilterOptionHandler,
|
|
14
|
+
f as createInputChangeHandler
|
|
15
|
+
};
|