@box/metadata-filter 1.81.2 → 1.81.4
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/dist/chunks/advanced-filter-select.js +60 -0
- package/dist/chunks/metadata-date-field.module.js +10 -12
- package/dist/chunks/metadata-filter.js +47 -0
- package/dist/chunks/metadata-float-field-advanced.js +79 -97
- package/dist/chunks/metadata-taxonomy-field-advanced.js +92 -0
- package/dist/chunks/types.js +6 -9
- package/dist/chunks/types2.js +4 -6
- package/dist/chunks/use-float-validation.js +21 -28
- package/dist/esm/index.js +11 -23
- package/dist/esm/lib/components/metadata-filter-fields/components/constants.js +2 -6
- package/dist/esm/lib/components/metadata-filter-fields/components/index.js +6 -13
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/constants.js +2 -4
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/date-conversion-utils.js +48 -68
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-advanced.js +166 -186
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-relative.js +237 -257
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field.js +88 -128
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-date-internationalization.js +10 -12
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-date-validation.js +24 -36
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-integer-validation.js +14 -19
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/utils.js +8 -11
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-enum-field/metadata-enum-field.js +38 -57
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/handlers.js +12 -15
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field-advanced.js +2 -17
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field.js +67 -100
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/use-float-validation.js +2 -9
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/utils.js +44 -57
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field-advanced.js +71 -91
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field.js +35 -65
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/utils.js +12 -20
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/metadata-string-field.js +63 -77
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/utils.js +7 -15
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/metadata-taxonomy-field-advanced.js +2 -113
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/metadata-taxonomy-field.js +45 -68
- package/dist/esm/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/utils.js +8 -15
- package/dist/esm/lib/components/metadata-filter-fields/components/shared/advanced-filter-select.js +2 -11
- package/dist/esm/lib/components/metadata-filter-fields/components/shared/index.js +2 -4
- package/dist/esm/lib/components/metadata-filter-fields/field-processing-utils.js +26 -28
- package/dist/esm/lib/components/metadata-filter-fields/filter-field-types.js +26 -55
- package/dist/esm/lib/components/metadata-filter-fields/is-modified-utils.js +84 -94
- package/dist/esm/lib/components/metadata-filter-fields/metadata-filter-fields-accordion.js +60 -87
- package/dist/esm/lib/components/metadata-filter-fields/metadata-filter-fields.js +58 -84
- package/dist/esm/lib/components/metadata-template-selector/index.js +0 -1
- package/dist/esm/lib/components/metadata-template-selector/metadata-template-selector.js +32 -44
- package/dist/esm/lib/defaults.js +31 -40
- package/dist/esm/lib/mappers.js +17 -23
- package/dist/esm/lib/messages.js +218 -220
- package/dist/esm/lib/metadata-filter.js +3 -82
- package/dist/styles/advanced-filter-select.css +1 -0
- package/dist/styles/metadata-date-field.css +1 -1
- package/dist/styles/metadata-filter.css +1 -1
- package/dist/styles/metadata-float-field-advanced.css +1 -1
- package/package.json +7 -7
- package/dist/chunks/index.js +0 -82
- package/dist/styles/index.css +0 -1
|
@@ -1,100 +1,67 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { jsx as
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
field: e,
|
|
69
|
-
meta: n
|
|
70
|
-
}) => /* @__PURE__ */ r("div", {
|
|
71
|
-
className: i.inputContainer,
|
|
72
|
-
children: /* @__PURE__ */ r(C, {
|
|
73
|
-
...$,
|
|
74
|
-
...e,
|
|
75
|
-
"data-target-id": `TextInput-${a}_to`,
|
|
76
|
-
disabled: p,
|
|
77
|
-
error: R(O, v, h !== t.TO) ? void 0 : n.error,
|
|
78
|
-
label: f.formatMessage(V.fieldToLabel, {
|
|
79
|
-
label: o
|
|
80
|
-
}),
|
|
81
|
-
onBlur: () => M(d, t.TO),
|
|
82
|
-
onChange: (l) => A(l.currentTarget.value),
|
|
83
|
-
placeholder: "0"
|
|
84
|
-
})
|
|
85
|
-
})
|
|
86
|
-
})]
|
|
87
|
-
})]
|
|
88
|
-
});
|
|
89
|
-
}, ee = ({
|
|
90
|
-
isAdvancedFilterEnabled: o,
|
|
91
|
-
...a
|
|
92
|
-
}) => o ? /* @__PURE__ */ r(G, {
|
|
93
|
-
...a
|
|
94
|
-
}) : /* @__PURE__ */ r(w, {
|
|
95
|
-
...a
|
|
96
|
-
});
|
|
97
|
-
export {
|
|
98
|
-
ee as MetadataFloatField,
|
|
99
|
-
ee as default
|
|
100
|
-
};
|
|
1
|
+
import { n as e } from "../../../../../../chunks/types.js";
|
|
2
|
+
import t from "../../../../messages.js";
|
|
3
|
+
import { fieldDefaultProps as n } from "../constants.js";
|
|
4
|
+
import { n as r, t as i } from "../../../../../../chunks/metadata-float-field-advanced.js";
|
|
5
|
+
import { n as a, r as o } from "../../../../../../chunks/use-float-validation.js";
|
|
6
|
+
import { Text as s, TextInput as c } from "@box/blueprint-web";
|
|
7
|
+
import { Field as l, getIn as u, useFormikContext as d } from "formik";
|
|
8
|
+
import { useRef as f, useState as p } from "react";
|
|
9
|
+
import { useIntl as m } from "react-intl";
|
|
10
|
+
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
11
|
+
var _ = ({ label: i, fieldNamePrefix: _, disableForm: v, hasAccordion: y }) => {
|
|
12
|
+
let b = m(), [x, S] = p(e.FROM), { values: C, setFieldValue: w, setFieldTouched: T } = d(), E = `${_}.value.range.gt`, D = `${_}.value.range.lt`, O = u(C, E), k = u(C, D), A = f(O), j = f(k), { validateFloats: M, fromErrorType: N, toErrorType: P } = a(), F = (t) => {
|
|
13
|
+
A.current = t, w(E, t), S(e.FROM);
|
|
14
|
+
}, I = (t) => {
|
|
15
|
+
j.current = t, w(D, t), S(e.TO);
|
|
16
|
+
}, L = (e, t) => {
|
|
17
|
+
T(e, !0), S(t);
|
|
18
|
+
}, R = (e, t, n) => !!(e === o.OVERLAPPING && n);
|
|
19
|
+
return /* @__PURE__ */ g("div", {
|
|
20
|
+
className: r.container,
|
|
21
|
+
"data-testid": `${i}-field`,
|
|
22
|
+
children: [!y && /* @__PURE__ */ h(s, {
|
|
23
|
+
as: "span",
|
|
24
|
+
color: "textOnLightSecondary",
|
|
25
|
+
variant: "bodyDefaultBold",
|
|
26
|
+
children: i
|
|
27
|
+
}), /* @__PURE__ */ g("div", {
|
|
28
|
+
className: r.rangeInputsContainer,
|
|
29
|
+
children: [/* @__PURE__ */ h(l, {
|
|
30
|
+
name: `${E}`,
|
|
31
|
+
validate: () => M(A.current, j.current, e.FROM),
|
|
32
|
+
children: ({ field: a, meta: o }) => /* @__PURE__ */ h("div", {
|
|
33
|
+
className: r.inputContainer,
|
|
34
|
+
children: /* @__PURE__ */ h(c, {
|
|
35
|
+
...n,
|
|
36
|
+
...a,
|
|
37
|
+
"data-target-id": `TextInput-${_}_from`,
|
|
38
|
+
disabled: v,
|
|
39
|
+
error: R(N, P, x !== e.FROM) ? void 0 : o.error,
|
|
40
|
+
label: b.formatMessage(t.fieldFromLabel, { label: i }),
|
|
41
|
+
onBlur: () => L(E, e.FROM),
|
|
42
|
+
onChange: (e) => F(e.currentTarget.value),
|
|
43
|
+
placeholder: "0"
|
|
44
|
+
})
|
|
45
|
+
})
|
|
46
|
+
}), /* @__PURE__ */ h(l, {
|
|
47
|
+
name: `${D}`,
|
|
48
|
+
validate: () => M(A.current, j.current, e.TO),
|
|
49
|
+
children: ({ field: a, meta: o }) => /* @__PURE__ */ h("div", {
|
|
50
|
+
className: r.inputContainer,
|
|
51
|
+
children: /* @__PURE__ */ h(c, {
|
|
52
|
+
...n,
|
|
53
|
+
...a,
|
|
54
|
+
"data-target-id": `TextInput-${_}_to`,
|
|
55
|
+
disabled: v,
|
|
56
|
+
error: R(P, N, x !== e.TO) ? void 0 : o.error,
|
|
57
|
+
label: b.formatMessage(t.fieldToLabel, { label: i }),
|
|
58
|
+
onBlur: () => L(D, e.TO),
|
|
59
|
+
onChange: (e) => I(e.currentTarget.value),
|
|
60
|
+
placeholder: "0"
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
})]
|
|
64
|
+
})]
|
|
65
|
+
});
|
|
66
|
+
}, v = ({ isAdvancedFilterEnabled: e, ...t }) => h(e ? i : _, { ...t });
|
|
67
|
+
export { v as MetadataFloatField, v as default };
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
import "
|
|
2
|
-
|
|
3
|
-
import "../../../../messages.js";
|
|
4
|
-
import "../../../../../../chunks/types.js";
|
|
5
|
-
import { i as p, u as l } from "../../../../../../chunks/use-float-validation.js";
|
|
6
|
-
export {
|
|
7
|
-
p as isFloatOrBlank,
|
|
8
|
-
l as useFloatValidation
|
|
9
|
-
};
|
|
1
|
+
import { n as e, t } from "../../../../../../chunks/use-float-validation.js";
|
|
2
|
+
export { t as isFloatOrBlank, e as useFloatValidation };
|
package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/utils.js
CHANGED
|
@@ -1,60 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
var e = /* @__PURE__ */ function(e) {
|
|
2
|
+
return e.EQUALS = "equals", e.IS_NOT = "isNot", e.GREATER_THAN = "greaterThanOrEqual", e.LESS_THAN = "lessThanOrEqual", e.BETWEEN = "between", e.IS_BLANK = "isBlank", e.IS_NOT_BLANK = "isNotBlank", e;
|
|
3
|
+
}({}), t = (t, n) => t && n?.some(([e]) => e === t) ? t : e.EQUALS, n = /* @__PURE__ */ function(e) {
|
|
4
|
+
return e.BOTH = "both", e.SINGLE = "single", e.NONE = "none", e;
|
|
5
|
+
}({}), r = (t) => t === e.IS_BLANK || t === e.IS_NOT_BLANK ? n.NONE : t === e.BETWEEN ? n.BOTH : [
|
|
6
|
+
e.EQUALS,
|
|
7
|
+
e.IS_NOT,
|
|
8
|
+
e.GREATER_THAN,
|
|
9
|
+
e.LESS_THAN
|
|
10
|
+
].includes(t) ? n.SINGLE : n.NONE, i = (e) => e.lt && !e.gt ? {
|
|
11
|
+
from: e.lt,
|
|
12
|
+
to: ""
|
|
11
13
|
} : {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
},
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
from: e.gt || "",
|
|
15
|
+
to: e.lt || ""
|
|
16
|
+
}, a = (t) => t.advancedFilterOption === e.LESS_THAN ? {
|
|
17
|
+
from: t.value?.range?.lt || "",
|
|
18
|
+
to: ""
|
|
17
19
|
} : {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
},
|
|
45
|
-
advancedFilterOption: n
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
const u = {};
|
|
49
|
-
return r && (u.gt = r), N && (u.lt = N), {
|
|
50
|
-
range: u
|
|
51
|
-
};
|
|
52
|
-
};
|
|
53
|
-
export {
|
|
54
|
-
t as FloatAdvancedFilterOption,
|
|
55
|
-
E as FloatInputDisplayState,
|
|
56
|
-
I as createFieldValue,
|
|
57
|
-
_ as getInitialAdvancedFilterValue,
|
|
58
|
-
L as getInputDisplayState,
|
|
59
|
-
B as getInputValues
|
|
20
|
+
from: t.value?.range?.gt || "",
|
|
21
|
+
to: t.value?.range?.lt || ""
|
|
22
|
+
}, o = (e) => typeof e == "object" && !!e, s = (e) => o(e) && "advancedFilterOption" in e && "value" in e && typeof e.advancedFilterOption == "string", c = (e, t) => {
|
|
23
|
+
if (!o(e)) return {
|
|
24
|
+
from: "",
|
|
25
|
+
to: ""
|
|
26
|
+
};
|
|
27
|
+
let n = e;
|
|
28
|
+
return n.range && !t ? i(n.range) : t && s(e) ? a(e) : n.range ? i(n.range) : {
|
|
29
|
+
from: "",
|
|
30
|
+
to: ""
|
|
31
|
+
};
|
|
32
|
+
}, l = (t, n, r, i) => {
|
|
33
|
+
if (i) {
|
|
34
|
+
if (r === e.IS_BLANK || r === e.IS_NOT_BLANK) return {
|
|
35
|
+
value: { range: {} },
|
|
36
|
+
advancedFilterOption: r
|
|
37
|
+
};
|
|
38
|
+
let i = {};
|
|
39
|
+
return t && (r === e.LESS_THAN ? i.lt = t : i.gt = t), n && r === e.BETWEEN && (i.lt = n), {
|
|
40
|
+
value: { range: i },
|
|
41
|
+
advancedFilterOption: r
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
let a = {};
|
|
45
|
+
return t && (a.gt = t), n && (a.lt = n), { range: a };
|
|
60
46
|
};
|
|
47
|
+
export { e as FloatAdvancedFilterOption, n as FloatInputDisplayState, l as createFieldValue, t as getInitialAdvancedFilterValue, r as getInputDisplayState, c as getInputValues };
|
|
@@ -1,92 +1,72 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
filterFn: K,
|
|
72
|
-
hideLabel: !0,
|
|
73
|
-
label: n,
|
|
74
|
-
multiselect: !0,
|
|
75
|
-
name: e.name,
|
|
76
|
-
onOpenChange: j,
|
|
77
|
-
onValueChange: $,
|
|
78
|
-
open: _,
|
|
79
|
-
options: k,
|
|
80
|
-
placeholder: z(r),
|
|
81
|
-
portalElement: g,
|
|
82
|
-
value: r
|
|
83
|
-
})
|
|
84
|
-
})]
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
})
|
|
88
|
-
});
|
|
89
|
-
};
|
|
90
|
-
export {
|
|
91
|
-
de as MetadataMultiSelectFieldAdvanced
|
|
1
|
+
import { t as e } from "../../../../../../chunks/types.js";
|
|
2
|
+
import t from "../../../../messages.js";
|
|
3
|
+
import { t as n } from "../../../../../../chunks/advanced-filter-select.js";
|
|
4
|
+
import { fieldDefaultProps as r } from "../constants.js";
|
|
5
|
+
import { createFieldValue as i, getInitialAdvancedFilterValue as a, getInputValue as o } from "./utils.js";
|
|
6
|
+
import { Combobox as s, TooltipProvider as c } from "@box/blueprint-web";
|
|
7
|
+
import { Field as l, getIn as u, useFormikContext as d } from "formik";
|
|
8
|
+
import { useCallback as f, useMemo as p, useRef as m, useState as h } from "react";
|
|
9
|
+
import { useIntl as g } from "react-intl";
|
|
10
|
+
import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
|
|
11
|
+
var b = (t) => t === e.IS_BLANK || t === e.IS_NOT_BLANK, x = ({ label: x, fieldNamePrefix: S, disableForm: C, onAdvancedFilterOptionChange: w, fieldAdvancedFilterOptions: T, filterOptionsMap: E, portalElement: D, hasAccordion: O, isModified: k, hasExperimentalVirtualization: A }) => {
|
|
12
|
+
let { setFieldValue: j, values: M } = d(), N = g(), P = `${S}.value.enum`, F = p(() => u(M, `${S}.options`, []).map((e) => e?.key).filter((e) => typeof e == "string"), [M, S]), [I, L] = h(a(T, E) || e.MATCH_ANY), [R, z] = h(!1), [B, V] = h(!1), H = (e, t) => typeof t == "string" ? t.toLowerCase().includes(e.toLowerCase()) : !1, U = m([]), W = m(null), G = f((e, t, n) => {
|
|
13
|
+
let r = e;
|
|
14
|
+
L(r), w?.(P, r);
|
|
15
|
+
let a = i(b(e) ? [] : t, e, !0);
|
|
16
|
+
n.setFieldValue(P, a);
|
|
17
|
+
}, [P, w]), K = f((e) => {
|
|
18
|
+
W.current && G(e, U.current, W.current);
|
|
19
|
+
}, [G]), q = f((e) => {
|
|
20
|
+
j(P, i(e, I, !0));
|
|
21
|
+
}, [
|
|
22
|
+
I,
|
|
23
|
+
P,
|
|
24
|
+
j
|
|
25
|
+
]), J = f((e) => {
|
|
26
|
+
z(e), e && V(!1);
|
|
27
|
+
}, []), Y = f((e) => {
|
|
28
|
+
V(e), e && z(!1);
|
|
29
|
+
}, []), X = f((e) => !e || e.length === 0 ? N.formatMessage(t.multiselectPlaceholder) : "", [N]);
|
|
30
|
+
return /* @__PURE__ */ v("div", {
|
|
31
|
+
"data-testid": `${x}-field`,
|
|
32
|
+
children: /* @__PURE__ */ v(l, {
|
|
33
|
+
name: P,
|
|
34
|
+
children: ({ field: e, form: t }) => {
|
|
35
|
+
let i = o(e.value, !0);
|
|
36
|
+
return U.current = i, W.current = t, /* @__PURE__ */ y(_, { children: [/* @__PURE__ */ v(n, {
|
|
37
|
+
disableForm: C,
|
|
38
|
+
fieldAdvancedFilterOptions: T,
|
|
39
|
+
fieldNamePrefix: S,
|
|
40
|
+
filterOptionsMap: E,
|
|
41
|
+
isModified: k,
|
|
42
|
+
label: x,
|
|
43
|
+
onAdvancedFilterOptionChange: w,
|
|
44
|
+
onOpenChange: Y,
|
|
45
|
+
onValueChange: K,
|
|
46
|
+
open: B,
|
|
47
|
+
portalElement: D,
|
|
48
|
+
showLabel: !O,
|
|
49
|
+
value: I
|
|
50
|
+
}), !b(I) && /* @__PURE__ */ v(c, { children: /* @__PURE__ */ v(s, {
|
|
51
|
+
...r,
|
|
52
|
+
as: "input",
|
|
53
|
+
disabled: C,
|
|
54
|
+
experimentalVirtualization: A,
|
|
55
|
+
filterFn: H,
|
|
56
|
+
hideLabel: !0,
|
|
57
|
+
label: x,
|
|
58
|
+
multiselect: !0,
|
|
59
|
+
name: e.name,
|
|
60
|
+
onOpenChange: J,
|
|
61
|
+
onValueChange: q,
|
|
62
|
+
open: R,
|
|
63
|
+
options: F,
|
|
64
|
+
placeholder: X(i),
|
|
65
|
+
portalElement: D,
|
|
66
|
+
value: i
|
|
67
|
+
}) })] });
|
|
68
|
+
}
|
|
69
|
+
})
|
|
70
|
+
});
|
|
92
71
|
};
|
|
72
|
+
export { x as MetadataMultiSelectFieldAdvanced };
|
|
@@ -1,65 +1,35 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { jsx as
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
as: "input",
|
|
37
|
-
"data-target-id": `Combobox-${t}`,
|
|
38
|
-
disabled: a,
|
|
39
|
-
filterFn: h,
|
|
40
|
-
hideLabel: u,
|
|
41
|
-
label: r,
|
|
42
|
-
multiselect: !0,
|
|
43
|
-
experimentalVirtualization: c,
|
|
44
|
-
name: e.name,
|
|
45
|
-
onValueChange: g,
|
|
46
|
-
options: p,
|
|
47
|
-
placeholder: v(e.value),
|
|
48
|
-
portalElement: d,
|
|
49
|
-
value: e.value
|
|
50
|
-
})
|
|
51
|
-
})
|
|
52
|
-
})
|
|
53
|
-
});
|
|
54
|
-
}, q = ({
|
|
55
|
-
isAdvancedFilterEnabled: a,
|
|
56
|
-
...t
|
|
57
|
-
}) => a ? /* @__PURE__ */ o(k, {
|
|
58
|
-
...t
|
|
59
|
-
}) : /* @__PURE__ */ o(w, {
|
|
60
|
-
...t
|
|
61
|
-
});
|
|
62
|
-
export {
|
|
63
|
-
q as MetadataMultiSelectField,
|
|
64
|
-
q as default
|
|
65
|
-
};
|
|
1
|
+
import e from "../../../../messages.js";
|
|
2
|
+
import { fieldDefaultProps as t } from "../constants.js";
|
|
3
|
+
import { MetadataMultiSelectFieldAdvanced as n } from "./metadata-multi-select-field-advanced.js";
|
|
4
|
+
import { Combobox as r, TooltipProvider as i } from "@box/blueprint-web";
|
|
5
|
+
import { Field as a, getIn as o, useFormikContext as s } from "formik";
|
|
6
|
+
import { useCallback as c, useMemo as l } from "react";
|
|
7
|
+
import { useIntl as u } from "react-intl";
|
|
8
|
+
import { jsx as d } from "react/jsx-runtime";
|
|
9
|
+
var f = ({ disableForm: n, fieldNamePrefix: f, label: p, portalElement: m, hasAccordion: h, hasExperimentalVirtualization: g }) => {
|
|
10
|
+
let { setFieldValue: _, values: v } = s(), y = u(), b = `${f}.value.enum`, x = l(() => o(v, `${f}.options`, []).map(({ key: e }) => e), [v, f]), S = c((e, t) => t.toLowerCase().includes(e.toLowerCase()), []), C = c((e) => _(b, e), [_, b]), w = c((t) => (t || [])?.length === 0 ? y.formatMessage(e.multiselectPlaceholder) : "", [y]);
|
|
11
|
+
return /* @__PURE__ */ d("div", {
|
|
12
|
+
"data-testid": `${p}-field`,
|
|
13
|
+
children: /* @__PURE__ */ d(a, {
|
|
14
|
+
name: b,
|
|
15
|
+
children: ({ field: e }) => /* @__PURE__ */ d(i, { children: /* @__PURE__ */ d(r, {
|
|
16
|
+
...t,
|
|
17
|
+
as: "input",
|
|
18
|
+
"data-target-id": `Combobox-${f}`,
|
|
19
|
+
disabled: n,
|
|
20
|
+
filterFn: S,
|
|
21
|
+
hideLabel: h,
|
|
22
|
+
label: p,
|
|
23
|
+
multiselect: !0,
|
|
24
|
+
experimentalVirtualization: g,
|
|
25
|
+
name: e.name,
|
|
26
|
+
onValueChange: C,
|
|
27
|
+
options: x,
|
|
28
|
+
placeholder: w(e.value),
|
|
29
|
+
portalElement: m,
|
|
30
|
+
value: e.value
|
|
31
|
+
}) })
|
|
32
|
+
})
|
|
33
|
+
});
|
|
34
|
+
}, p = ({ isAdvancedFilterEnabled: e, ...t }) => d(e ? n : f, { ...t });
|
|
35
|
+
export { p as MetadataMultiSelectField, p as default };
|
|
@@ -1,20 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
|
|
13
|
-
advancedFilterOption: t
|
|
14
|
-
} : r, N = (r) => r === A.IS_BLANK || r === A.IS_NOT_BLANK;
|
|
15
|
-
export {
|
|
16
|
-
A as MultiSelectAdvancedFilterOption,
|
|
17
|
-
I as createFieldValue,
|
|
18
|
-
_ as getInitialAdvancedFilterValue,
|
|
19
|
-
o as getInputValue
|
|
20
|
-
};
|
|
1
|
+
var e = /* @__PURE__ */ function(e) {
|
|
2
|
+
return e.MATCH_ANY = "matchAny", e.MATCH_ALL = "matchAll", e.IS_BLANK = "isBlank", e.IS_NOT_BLANK = "isNotBlank", e;
|
|
3
|
+
}({}), t = (t, n) => t && n?.some(([e]) => e === t) ? t : e.MATCH_ANY, n = (e, t) => {
|
|
4
|
+
if (Array.isArray(e)) return e.filter((e) => e !== "");
|
|
5
|
+
if (t && typeof e == "object" && e) return (e.value || []).filter((e) => e !== "");
|
|
6
|
+
let n = e || [];
|
|
7
|
+
return Array.isArray(n) ? n.filter((e) => e !== "") : [];
|
|
8
|
+
}, r = (e, t, n) => n ? {
|
|
9
|
+
value: i(t) ? [] : e,
|
|
10
|
+
advancedFilterOption: t
|
|
11
|
+
} : e, i = (t) => t === e.IS_BLANK || t === e.IS_NOT_BLANK;
|
|
12
|
+
export { e as MultiSelectAdvancedFilterOption, r as createFieldValue, t as getInitialAdvancedFilterValue, n as getInputValue };
|