@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.
Files changed (54) hide show
  1. package/dist/chunks/advanced-filter-select.js +60 -0
  2. package/dist/chunks/metadata-date-field.module.js +10 -12
  3. package/dist/chunks/metadata-filter.js +47 -0
  4. package/dist/chunks/metadata-float-field-advanced.js +79 -97
  5. package/dist/chunks/metadata-taxonomy-field-advanced.js +92 -0
  6. package/dist/chunks/types.js +6 -9
  7. package/dist/chunks/types2.js +4 -6
  8. package/dist/chunks/use-float-validation.js +21 -28
  9. package/dist/esm/index.js +11 -23
  10. package/dist/esm/lib/components/metadata-filter-fields/components/constants.js +2 -6
  11. package/dist/esm/lib/components/metadata-filter-fields/components/index.js +6 -13
  12. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/constants.js +2 -4
  13. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/date-conversion-utils.js +48 -68
  14. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-advanced.js +166 -186
  15. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field-relative.js +237 -257
  16. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field.js +88 -128
  17. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-date-internationalization.js +10 -12
  18. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-date-validation.js +24 -36
  19. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/use-integer-validation.js +14 -19
  20. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-date-field/utils.js +8 -11
  21. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-enum-field/metadata-enum-field.js +38 -57
  22. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/handlers.js +12 -15
  23. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field-advanced.js +2 -17
  24. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field.js +67 -100
  25. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/use-float-validation.js +2 -9
  26. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-float-field/utils.js +44 -57
  27. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field-advanced.js +71 -91
  28. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field.js +35 -65
  29. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-multi-select-field/utils.js +12 -20
  30. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/metadata-string-field.js +63 -77
  31. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-string-field/utils.js +7 -15
  32. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/metadata-taxonomy-field-advanced.js +2 -113
  33. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/metadata-taxonomy-field.js +45 -68
  34. package/dist/esm/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/utils.js +8 -15
  35. package/dist/esm/lib/components/metadata-filter-fields/components/shared/advanced-filter-select.js +2 -11
  36. package/dist/esm/lib/components/metadata-filter-fields/components/shared/index.js +2 -4
  37. package/dist/esm/lib/components/metadata-filter-fields/field-processing-utils.js +26 -28
  38. package/dist/esm/lib/components/metadata-filter-fields/filter-field-types.js +26 -55
  39. package/dist/esm/lib/components/metadata-filter-fields/is-modified-utils.js +84 -94
  40. package/dist/esm/lib/components/metadata-filter-fields/metadata-filter-fields-accordion.js +60 -87
  41. package/dist/esm/lib/components/metadata-filter-fields/metadata-filter-fields.js +58 -84
  42. package/dist/esm/lib/components/metadata-template-selector/index.js +0 -1
  43. package/dist/esm/lib/components/metadata-template-selector/metadata-template-selector.js +32 -44
  44. package/dist/esm/lib/defaults.js +31 -40
  45. package/dist/esm/lib/mappers.js +17 -23
  46. package/dist/esm/lib/messages.js +218 -220
  47. package/dist/esm/lib/metadata-filter.js +3 -82
  48. package/dist/styles/advanced-filter-select.css +1 -0
  49. package/dist/styles/metadata-date-field.css +1 -1
  50. package/dist/styles/metadata-filter.css +1 -1
  51. package/dist/styles/metadata-float-field-advanced.css +1 -1
  52. package/package.json +7 -7
  53. package/dist/chunks/index.js +0 -82
  54. package/dist/styles/index.css +0 -1
@@ -0,0 +1,60 @@
1
+ import e from "../esm/lib/messages.js";
2
+ import { Select as t, Text as n } from "@box/blueprint-web";
3
+ import { Field as r } from "formik";
4
+ import { useCallback as i, useState as a } from "react";
5
+ import { useIntl as o } from "react-intl";
6
+ import { Fragment as s, jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ import '../styles/advanced-filter-select.css';var u = {
8
+ noAttributesText: "_noAttributesText_2lw3u_1",
9
+ fieldLabel: "_fieldLabel_2lw3u_5",
10
+ selectContainer: "_selectContainer_2lw3u_10",
11
+ comboboxContainer: "_comboboxContainer_2lw3u_15",
12
+ modifiedIcon: "_modifiedIcon_2lw3u_19"
13
+ }, d = ({ label: d, fieldNamePrefix: f, fieldAdvancedFilterOptions: p, filterOptionsMap: m, disableForm: h, portalElement: g, onAdvancedFilterOptionChange: _, onValueChange: v, defaultValue: y = "", showLabel: b = !0, advancedFilterFieldName: x = `${f}.value.advancedFilterOption`, value: S, labelClassName: C = u.fieldLabel, labelAs: w = "div", open: T, onOpenChange: E, isModified: D }) => {
14
+ let O = o(), [k, A] = a(p || y), j = S === void 0 ? k : S, M = i((e, ...t) => {
15
+ S === void 0 && A(e), _ && _(f, e), v(e, ...t);
16
+ }, [
17
+ f,
18
+ _,
19
+ v,
20
+ S
21
+ ]);
22
+ return /* @__PURE__ */ l(s, { children: [b && /* @__PURE__ */ l(n, {
23
+ as: w,
24
+ className: C,
25
+ color: "textOnLightDefault",
26
+ variant: "bodyDefaultBold",
27
+ children: [d, D && /* @__PURE__ */ c("div", {
28
+ "aria-label": O.formatMessage(e.filterModifiedAriaLabel),
29
+ className: u.modifiedIcon,
30
+ role: "img"
31
+ })]
32
+ }), /* @__PURE__ */ c(r, {
33
+ name: x,
34
+ children: ({ field: n, meta: r }) => /* @__PURE__ */ c("div", {
35
+ className: u.selectContainer,
36
+ children: /* @__PURE__ */ c(t, {
37
+ ...n,
38
+ "aria-disabled": h,
39
+ "aria-label": O.formatMessage(e.advancedFilterOptionAriaLabel, { label: d }),
40
+ disabled: h,
41
+ error: r.touched && r.error ? r.error : void 0,
42
+ hideLabel: !0,
43
+ label: O.formatMessage(e.selectFilterType),
44
+ onOpenChange: E,
45
+ onValueChange: M,
46
+ open: T,
47
+ placeholder: O.formatMessage(e.selectOptionPlaceholder),
48
+ value: j,
49
+ children: /* @__PURE__ */ c(t.Content, {
50
+ container: g,
51
+ children: m?.map(([e, n]) => /* @__PURE__ */ c(t.Option, {
52
+ text: n,
53
+ value: e
54
+ }, e))
55
+ })
56
+ })
57
+ })
58
+ })] });
59
+ };
60
+ export { u as n, d as t };
@@ -1,13 +1,11 @@
1
- import '../styles/metadata-date-field.css';const n = "_container_10ye0_1", t = "_dateSelect_10ye0_6", e = "_rangeInputsContainer_10ye0_9", a = "_verticalLayout_10ye0_13", o = "_inputContainer_10ye0_23", r = "_advancedDateContainer_10ye0_31", c = "_datePicker_10ye0_40", i = "_daysInputContainer_10ye0_44", _ = {
2
- container: n,
3
- dateSelect: t,
4
- rangeInputsContainer: e,
5
- verticalLayout: a,
6
- inputContainer: o,
7
- advancedDateContainer: r,
8
- datePicker: c,
9
- daysInputContainer: i
10
- };
11
- export {
12
- _ as s
1
+ import '../styles/metadata-date-field.css';var e = {
2
+ container: "_container_10ye0_1",
3
+ dateSelect: "_dateSelect_10ye0_6",
4
+ rangeInputsContainer: "_rangeInputsContainer_10ye0_9",
5
+ verticalLayout: "_verticalLayout_10ye0_13",
6
+ inputContainer: "_inputContainer_10ye0_23",
7
+ advancedDateContainer: "_advancedDateContainer_10ye0_31",
8
+ datePicker: "_datePicker_10ye0_40",
9
+ daysInputContainer: "_daysInputContainer_10ye0_44"
13
10
  };
11
+ export { e as t };
@@ -0,0 +1,47 @@
1
+ import { defaultInitialValues as e } from "../esm/lib/defaults.js";
2
+ import t from "../esm/lib/messages.js";
3
+ import { MetadataFilterFields as n } from "../esm/lib/components/metadata-filter-fields/metadata-filter-fields.js";
4
+ import { MetadataFilterFieldsAccordion as r } from "../esm/lib/components/metadata-filter-fields/metadata-filter-fields-accordion.js";
5
+ import { MetadataTemplateSelector as i } from "../esm/lib/components/metadata-template-selector/metadata-template-selector.js";
6
+ import { mapDataFromTemplate as a } from "../esm/lib/mappers.js";
7
+ import { LoadingIndicator as o } from "@box/blueprint-web";
8
+ import { useFormikContext as s } from "formik";
9
+ import { useEffect as c } from "react";
10
+ import { useIntl as l } from "react-intl";
11
+ import { jsx as u, jsxs as d } from "react/jsx-runtime";
12
+ import '../styles/metadata-filter.css';var f = {
13
+ container: "_container_p63iy_1",
14
+ loadingIndicator: "_loadingIndicator_p63iy_7"
15
+ }, p = ({ isAdvancedFilterEnabled: p, isModifiedMarkerEnabled: m, metadataTemplateOptions: h, portalElement: g, selectedMetadataTemplate: _, taxonomyOptionsFetcher: v, showMetadataSelector: y = !0, disableForm: b = !1, isLoading: x = !1, hasError: S = !1, locale: C = navigator.language, canUseRelativeDates: w, isMultilevelTaxonomyFieldEnabled: T = !1, filterOptionsMap: E, onAdvancedFilterOptionChange: D, fieldAdvancedFilterOptions: O, hasAccordion: k = !1, onDirtyChange: A, isAdvancedTaxonomy: j = !1, hasExperimentalVirtualization: M = !1 }) => {
16
+ let { setFieldValue: N } = s(), P = l();
17
+ return c(() => {
18
+ _ ? N("metadata", a(_)) : N("metadata", e);
19
+ }, [_, N]), /* @__PURE__ */ d("div", {
20
+ className: f.container,
21
+ children: [y && /* @__PURE__ */ u(i, {
22
+ hasError: S,
23
+ metadataTemplateOptions: h,
24
+ portalElement: g
25
+ }), !S && (x ? /* @__PURE__ */ u(o, {
26
+ "aria-label": P.formatMessage(t.loading),
27
+ className: f.loadingIndicator
28
+ }) : _ ? /* @__PURE__ */ u(k ? r : n, {
29
+ canUseRelativeDates: w,
30
+ disableForm: b,
31
+ fieldAdvancedFilterOptions: O,
32
+ filterOptionsMap: E,
33
+ hasAccordion: k,
34
+ isAdvancedFilterEnabled: p,
35
+ isAdvancedTaxonomy: j,
36
+ isModifiedMarkerEnabled: m,
37
+ isMultilevelTaxonomyFieldEnabled: T,
38
+ locale: C,
39
+ onAdvancedFilterOptionChange: D,
40
+ onDirtyChange: A,
41
+ portalElement: g,
42
+ taxonomyOptionsFetcher: v,
43
+ hasExperimentalVirtualization: M
44
+ }) : null)]
45
+ });
46
+ };
47
+ export { p as t };
@@ -1,98 +1,80 @@
1
- import { TextInput as L } from "@box/blueprint-web";
2
- import { Field as B } from "formik";
3
- import { useState as w, useCallback as C } from "react";
4
- import { useIntl as $ } from "react-intl";
5
- import u from "../esm/lib/messages.js";
6
- import { R as c, F as k } from "./types.js";
7
- import { fieldDefaultProps as N } from "../esm/lib/components/metadata-filter-fields/components/constants.js";
8
- import { createAdvancedFilterOptionHandler as G, createInputChangeHandler as S } from "../esm/lib/components/metadata-filter-fields/components/metadata-float-field/handlers.js";
9
- import { u as K } from "./use-float-validation.js";
10
- import { getInputValues as b, getInputDisplayState as Q, FloatInputDisplayState as F } from "../esm/lib/components/metadata-filter-fields/components/metadata-float-field/utils.js";
11
- import { jsx as o, jsxs as y, Fragment as U } from "react/jsx-runtime";
12
- import { A as z } from "./index.js";
13
- import '../styles/metadata-float-field-advanced.css';const J = "_container_uvlwq_1", W = "_rangeInputsContainer_uvlwq_6", X = "_inputContainer_uvlwq_16", Y = "_advancedFilterContainer_uvlwq_23", m = {
14
- container: J,
15
- rangeInputsContainer: W,
16
- inputContainer: X,
17
- advancedFilterContainer: Y
18
- }, de = ({
19
- label: d,
20
- fieldNamePrefix: I,
21
- disableForm: p,
22
- onAdvancedFilterOptionChange: h,
23
- fieldAdvancedFilterOptions: _,
24
- filterOptionsMap: V,
25
- hasAccordion: E,
26
- isModified: R
27
- }) => {
28
- const l = $(), r = `${I}.value.enum[0]`, [q, M] = w(c.FROM), [s, O] = w(_ || k.EQUALS), {
29
- validateFloats: f
30
- } = K(), x = C((a, t, n, e) => G(r, h, O)(a, t, n, e), [r, h, O]), A = C((a, t, n) => S(r, s, M, c.FROM)(a, t, n), [r, s]), D = C((a, t, n) => S(r, s, M, c.TO)(a, t, n), [r, s]);
31
- return /* @__PURE__ */ o("div", {
32
- className: m.advancedFilterContainer,
33
- "data-testid": `${d}-field`,
34
- children: /* @__PURE__ */ o(B, {
35
- name: r,
36
- validate: (a) => {
37
- const t = b(a, !0);
38
- return f(t.from, t.to, q, !0);
39
- },
40
- children: ({
41
- field: a,
42
- meta: t,
43
- form: n
44
- }) => {
45
- const e = b(a.value, !0), g = Q(s), H = g !== F.NONE, T = g === F.SINGLE, v = g === F.BOTH, P = f(e.from, e.to, c.FROM, !0), j = f(e.from, e.to, c.TO, !0);
46
- return /* @__PURE__ */ y(U, {
47
- children: [/* @__PURE__ */ o(z, {
48
- disableForm: p,
49
- fieldAdvancedFilterOptions: _,
50
- fieldNamePrefix: I,
51
- filterOptionsMap: V,
52
- isModified: R,
53
- label: d,
54
- onAdvancedFilterOptionChange: h,
55
- onValueChange: (i) => x(i, e.from, e.to, n),
56
- showLabel: !E,
57
- value: s
58
- }), H && /* @__PURE__ */ y("div", {
59
- className: m.rangeInputsContainer,
60
- children: [(T || v) && /* @__PURE__ */ o("div", {
61
- className: m.inputContainer,
62
- children: /* @__PURE__ */ o(L, {
63
- ...N,
64
- disabled: p,
65
- error: T ? t.error : P,
66
- hideLabel: !0,
67
- label: l.formatMessage(u.fieldFromLabel, {
68
- label: d
69
- }),
70
- onChange: (i) => A(i.currentTarget.value, e.to, n),
71
- placeholder: v ? l.formatMessage(u.minValuePlaceholder) : l.formatMessage(u.enterNumberPlaceholder),
72
- value: e.from
73
- })
74
- }), v && /* @__PURE__ */ o("div", {
75
- className: m.inputContainer,
76
- children: /* @__PURE__ */ o(L, {
77
- ...N,
78
- disabled: p,
79
- error: j,
80
- hideLabel: !0,
81
- label: l.formatMessage(u.fieldToLabel, {
82
- label: d
83
- }),
84
- onChange: (i) => D(i.currentTarget.value, e.from, n),
85
- placeholder: l.formatMessage(u.maxValuePlaceholder),
86
- value: e.to
87
- })
88
- })]
89
- })]
90
- });
91
- }
92
- })
93
- });
94
- };
95
- export {
96
- de as M,
97
- m as s
1
+ import { n as e, t } from "./types.js";
2
+ import n from "../esm/lib/messages.js";
3
+ import { t as r } from "./advanced-filter-select.js";
4
+ import { fieldDefaultProps as i } from "../esm/lib/components/metadata-filter-fields/components/constants.js";
5
+ import { FloatInputDisplayState as a, getInputDisplayState as o, getInputValues as s } from "../esm/lib/components/metadata-filter-fields/components/metadata-float-field/utils.js";
6
+ import { createAdvancedFilterOptionHandler as c, createInputChangeHandler as l } from "../esm/lib/components/metadata-filter-fields/components/metadata-float-field/handlers.js";
7
+ import { n as u } from "./use-float-validation.js";
8
+ import { TextInput as d } from "@box/blueprint-web";
9
+ import { Field as f } from "formik";
10
+ import { useCallback as p, useState as m } from "react";
11
+ import { useIntl as h } from "react-intl";
12
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
13
+ import '../styles/metadata-float-field-advanced.css';var y = {
14
+ container: "_container_uvlwq_1",
15
+ rangeInputsContainer: "_rangeInputsContainer_uvlwq_6",
16
+ inputContainer: "_inputContainer_uvlwq_16",
17
+ advancedFilterContainer: "_advancedFilterContainer_uvlwq_23",
18
+ fieldLabel: "_fieldLabel_uvlwq_44",
19
+ selectContainer: "_selectContainer_uvlwq_49"
20
+ }, b = ({ label: b, fieldNamePrefix: x, disableForm: S, onAdvancedFilterOptionChange: C, fieldAdvancedFilterOptions: w, filterOptionsMap: T, hasAccordion: E, isModified: D }) => {
21
+ let O = h(), k = `${x}.value.enum[0]`, [A, j] = m(e.FROM), [M, N] = m(w || t.EQUALS), { validateFloats: P } = u(), F = p((e, t, n, r) => c(k, C, N)(e, t, n, r), [
22
+ k,
23
+ C,
24
+ N
25
+ ]), I = p((t, n, r) => l(k, M, j, e.FROM)(t, n, r), [k, M]), L = p((t, n, r) => l(k, M, j, e.TO)(t, n, r), [k, M]);
26
+ return /* @__PURE__ */ _("div", {
27
+ className: y.advancedFilterContainer,
28
+ "data-testid": `${b}-field`,
29
+ children: /* @__PURE__ */ _(f, {
30
+ name: k,
31
+ validate: (e) => {
32
+ let t = s(e, !0);
33
+ return P(t.from, t.to, A, !0);
34
+ },
35
+ children: ({ field: t, meta: c, form: l }) => {
36
+ let u = s(t.value, !0), f = o(M), p = f !== a.NONE, m = f === a.SINGLE, h = f === a.BOTH, k = P(u.from, u.to, e.FROM, !0), A = P(u.from, u.to, e.TO, !0);
37
+ return /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(r, {
38
+ disableForm: S,
39
+ fieldAdvancedFilterOptions: w,
40
+ fieldNamePrefix: x,
41
+ filterOptionsMap: T,
42
+ isModified: D,
43
+ label: b,
44
+ onAdvancedFilterOptionChange: C,
45
+ onValueChange: (e) => F(e, u.from, u.to, l),
46
+ showLabel: !E,
47
+ value: M
48
+ }), p && /* @__PURE__ */ v("div", {
49
+ className: y.rangeInputsContainer,
50
+ children: [(m || h) && /* @__PURE__ */ _("div", {
51
+ className: y.inputContainer,
52
+ children: /* @__PURE__ */ _(d, {
53
+ ...i,
54
+ disabled: S,
55
+ error: m ? c.error : k,
56
+ hideLabel: !0,
57
+ label: O.formatMessage(n.fieldFromLabel, { label: b }),
58
+ onChange: (e) => I(e.currentTarget.value, u.to, l),
59
+ placeholder: h ? O.formatMessage(n.minValuePlaceholder) : O.formatMessage(n.enterNumberPlaceholder),
60
+ value: u.from
61
+ })
62
+ }), h && /* @__PURE__ */ _("div", {
63
+ className: y.inputContainer,
64
+ children: /* @__PURE__ */ _(d, {
65
+ ...i,
66
+ disabled: S,
67
+ error: A,
68
+ hideLabel: !0,
69
+ label: O.formatMessage(n.fieldToLabel, { label: b }),
70
+ onChange: (e) => L(e.currentTarget.value, u.from, l),
71
+ placeholder: O.formatMessage(n.maxValuePlaceholder),
72
+ value: u.to
73
+ })
74
+ })]
75
+ })] });
76
+ }
77
+ })
78
+ });
98
79
  };
80
+ export { y as n, b as t };
@@ -0,0 +1,92 @@
1
+ import e from "../esm/lib/messages.js";
2
+ import { t } from "./advanced-filter-select.js";
3
+ import { createFieldValue as n, getInitialAdvancedFilterValue as r, getInputValue as i, isBlankOption as a } from "../esm/lib/components/metadata-filter-fields/components/metadata-taxonomy-field/utils.js";
4
+ import { ComboboxWithApiPagination as o, ComboboxWithApiTreeView as s } from "@box/combobox-with-api";
5
+ import { Field as c, getIn as l, useFormikContext as u } from "formik";
6
+ import { useCallback as d, useState as f } from "react";
7
+ import { useIntl as p } from "react-intl";
8
+ import m from "clsx";
9
+ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
10
+ import '../styles/metadata-taxonomy-field-advanced.css';var v = {
11
+ comboboxWrapper: "_comboboxWrapper_1e1d8_1",
12
+ disabled: "_disabled_1e1d8_1",
13
+ disabledTreeView: "_disabledTreeView_1e1d8_5"
14
+ }, y = ({ className: y, disableForm: b, fieldNamePrefix: x, label: S, portalElement: C, taxonomyOptionsFetcher: w, isMultilevelTaxonomyFieldEnabled: T, hasAccordion: E, isAdvancedFilterEnabled: D, onAdvancedFilterOptionChange: O, fieldAdvancedFilterOptions: k, filterOptionsMap: A, isModified: j }) => {
15
+ let { setFieldValue: M, values: N } = u(), { metadata: { templateKey: P, scope: F } } = N, I = p(), L = `${x}.value`, { key: R, levels: z } = l(N, x), B = z?.map((e) => e.level), V = T && B?.some((e) => e > 1), [H, U] = f(r(k, A)), [W, G] = f(!1), K = d((e) => w ? w(F, P, R, B?.[0] ?? 0, e) : Promise.resolve({ options: [] }), [
16
+ R,
17
+ F,
18
+ B,
19
+ w,
20
+ P
21
+ ]), q = d((t) => t?.length === 0 ? I.formatMessage(e.multiselectPlaceholder) : "", [I]), J = d((e, t, r) => {
22
+ U(e), O?.(L, e);
23
+ let i = n(a(e) ? [] : t, e, D);
24
+ r.setFieldValue(L, i);
25
+ }, [
26
+ L,
27
+ D,
28
+ O
29
+ ]), Y = d((e) => {
30
+ e && G(!1);
31
+ }, []), X = d((e) => {
32
+ M(L, n(e, H, D));
33
+ }, [
34
+ H,
35
+ L,
36
+ D,
37
+ M
38
+ ]);
39
+ return /* @__PURE__ */ g("div", {
40
+ "data-testid": `${S}-field`,
41
+ children: /* @__PURE__ */ g(c, {
42
+ name: L,
43
+ children: ({ field: e, form: n }) => {
44
+ let r = i(e.value, D);
45
+ return /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(t, {
46
+ disableForm: b ?? !1,
47
+ fieldAdvancedFilterOptions: k,
48
+ fieldNamePrefix: x,
49
+ filterOptionsMap: A,
50
+ isModified: j,
51
+ label: S,
52
+ onAdvancedFilterOptionChange: O,
53
+ onOpenChange: G,
54
+ onValueChange: (e) => J(e, r, n),
55
+ open: W,
56
+ portalElement: C,
57
+ showLabel: !E,
58
+ value: H
59
+ }), !a(H) && /* @__PURE__ */ g("div", {
60
+ className: m(v.comboboxWrapper, b && v.disabled),
61
+ children: V ? /* @__PURE__ */ g(s, {
62
+ className: m(y, b && v.disabledTreeView),
63
+ defaultFetcher: K,
64
+ disabled: b,
65
+ hideLabel: !0,
66
+ label: S,
67
+ levels: z,
68
+ multiselect: !0,
69
+ onOpenChange: Y,
70
+ onValueChange: X,
71
+ placeholder: q(r),
72
+ portalElement: C,
73
+ selectableLevels: B,
74
+ value: r
75
+ }) : /* @__PURE__ */ g(o, {
76
+ className: y,
77
+ defaultFetcher: K,
78
+ disabled: b,
79
+ label: void 0,
80
+ multiselect: !0,
81
+ onOpenChange: Y,
82
+ onValueChange: X,
83
+ placeholder: q(r),
84
+ portalElement: C,
85
+ value: r
86
+ })
87
+ })] });
88
+ }
89
+ })
90
+ });
91
+ };
92
+ export { y as t };
@@ -1,9 +1,6 @@
1
- let _ = /* @__PURE__ */ (function(A) {
2
- return A[A.TO = 0] = "TO", A[A.FROM = 1] = "FROM", A;
3
- })({}), N = /* @__PURE__ */ (function(A) {
4
- return A.MATCH_EXACTLY = "matchExactly", A.STARTS_WITH = "startsWith", A.CONTAINS = "contains", A.DOES_NOT_CONTAIN = "doesNotContain", A.IS_NOT = "isNot", A.IS_BLANK = "isBlank", A.IS_NOT_BLANK = "isNotBlank", A.SELECT_FILTER_TYPE = "selectFilterType", A.TODAY = "today", A.NEXT = "next", A.PAST = "past", A.OLDER_THAN = "olderThan", A.CUSTOM_RANGE = "customRange", A.EQUALS = "equals", A.GREATER_THAN_OR_EQUAL = "greaterThanOrEqual", A.LESS_THAN_OR_EQUAL = "lessThanOrEqual", A.BETWEEN = "between", A.MATCH_ANY = "matchAny", A.MATCH_ALL = "matchAll", A.IS_NOT_ANY = "isNotAny", A.MATCH_AT_OR_WITHIN = "matchAtOrWithin", A.IS_NOT_AT_OR_WITHIN = "isNotAtOrWithin", A;
5
- })({});
6
- export {
7
- N as F,
8
- _ as R
9
- };
1
+ var e = /* @__PURE__ */ function(e) {
2
+ return e[e.TO = 0] = "TO", e[e.FROM = 1] = "FROM", e;
3
+ }({}), t = /* @__PURE__ */ function(e) {
4
+ return e.MATCH_EXACTLY = "matchExactly", e.STARTS_WITH = "startsWith", e.CONTAINS = "contains", e.DOES_NOT_CONTAIN = "doesNotContain", e.IS_NOT = "isNot", e.IS_BLANK = "isBlank", e.IS_NOT_BLANK = "isNotBlank", e.SELECT_FILTER_TYPE = "selectFilterType", e.TODAY = "today", e.NEXT = "next", e.PAST = "past", e.OLDER_THAN = "olderThan", e.CUSTOM_RANGE = "customRange", e.EQUALS = "equals", e.GREATER_THAN_OR_EQUAL = "greaterThanOrEqual", e.LESS_THAN_OR_EQUAL = "lessThanOrEqual", e.BETWEEN = "between", e.MATCH_ANY = "matchAny", e.MATCH_ALL = "matchAll", e.IS_NOT_ANY = "isNotAny", e.MATCH_AT_OR_WITHIN = "matchAtOrWithin", e.IS_NOT_AT_OR_WITHIN = "isNotAtOrWithin", e;
5
+ }({});
6
+ export { e as n, t };
@@ -1,6 +1,4 @@
1
- let I = /* @__PURE__ */ (function(A) {
2
- return A[A.MAX = 0] = "MAX", A[A.OVERLAPPING = 1] = "OVERLAPPING", A[A.INVALID = 2] = "INVALID", A;
3
- })({});
4
- export {
5
- I as E
6
- };
1
+ var e = /* @__PURE__ */ function(e) {
2
+ return e[e.MAX = 0] = "MAX", e[e.OVERLAPPING = 1] = "OVERLAPPING", e[e.INVALID = 2] = "INVALID", e;
3
+ }({});
4
+ export { e as t };
@@ -1,29 +1,22 @@
1
- import { useState as I } from "react";
2
- import { useIntl as d } from "react-intl";
3
- import r from "../esm/lib/messages.js";
4
- import { R as p } from "./types.js";
5
- let V = /* @__PURE__ */ (function(t) {
6
- return t[t.INVALID = 0] = "INVALID", t[t.OVERLAPPING = 1] = "OVERLAPPING", t;
7
- })({});
8
- const c = (t, e = !1) => t?.length ? e ? /^[-+]?(\d+(\.\d*)?|\.\d+)$/.test(t) : /^[-+]?\d+(\.\d+)?$/.test(t) : !0, R = (t, e, a) => {
9
- const n = parseFloat(t), l = parseFloat(e);
10
- return a ? l <= n : l < n;
11
- }, O = (t, e, a) => e ? t ? a.formatMessage(r.floatFieldInvalidMinValueRange) : a.formatMessage(r.floatFieldInvalidMaxValueRange) : t ? a.formatMessage(r.floatFieldInvalidFromValueRange) : a.formatMessage(r.floatFieldInvalidToValueRange), M = (t, e, a) => e ? a.formatMessage(r.mustBeANumber) : t ? a.formatMessage(r.floatFieldInvalidFromValue) : a.formatMessage(r.floatFieldInvalidToValue), A = () => {
12
- const t = d(), [e, a] = I(null), [n, l] = I(null), g = (i, s) => i === p.FROM ? a(s) : l(s);
13
- return {
14
- validateFloats: (i, s, u, o = !1) => {
15
- const f = u === p.FROM, m = c(i, o), F = c(s, o);
16
- if (!(f ? m : F))
17
- return g(u, V.INVALID), M(f, o, t);
18
- if (m && F && R(i, s, o))
19
- return g(u, V.OVERLAPPING), O(f, o, t);
20
- },
21
- fromErrorType: e,
22
- toErrorType: n
23
- };
24
- };
25
- export {
26
- V as E,
27
- c as i,
28
- A as u
1
+ import { n as e } from "./types.js";
2
+ import t from "../esm/lib/messages.js";
3
+ import { useState as n } from "react";
4
+ import { useIntl as r } from "react-intl";
5
+ var i = /* @__PURE__ */ function(e) {
6
+ return e[e.INVALID = 0] = "INVALID", e[e.OVERLAPPING = 1] = "OVERLAPPING", e;
7
+ }({}), a = (e, t = !1) => e?.length ? t ? /^[-+]?(\d+(\.\d*)?|\.\d+)$/.test(e) : /^[-+]?\d+(\.\d+)?$/.test(e) : !0, o = (e, t, n) => {
8
+ let r = parseFloat(e), i = parseFloat(t);
9
+ return n ? i <= r : i < r;
10
+ }, s = (e, n, r) => n ? e ? r.formatMessage(t.floatFieldInvalidMinValueRange) : r.formatMessage(t.floatFieldInvalidMaxValueRange) : e ? r.formatMessage(t.floatFieldInvalidFromValueRange) : r.formatMessage(t.floatFieldInvalidToValueRange), c = (e, n, r) => n ? r.formatMessage(t.mustBeANumber) : e ? r.formatMessage(t.floatFieldInvalidFromValue) : r.formatMessage(t.floatFieldInvalidToValue), l = () => {
11
+ let t = r(), [l, u] = n(null), [d, f] = n(null), p = (t, n) => t === e.FROM ? u(n) : f(n);
12
+ return {
13
+ validateFloats: (n, r, l, u = !1) => {
14
+ let d = l === e.FROM, f = a(n, u), m = a(r, u);
15
+ if (!(d ? f : m)) return p(l, i.INVALID), c(d, u, t);
16
+ if (f && m && o(n, r, u)) return p(l, i.OVERLAPPING), s(d, u, t);
17
+ },
18
+ fromErrorType: l,
19
+ toErrorType: d
20
+ };
29
21
  };
22
+ export { l as n, i as r, a as t };
package/dist/esm/index.js CHANGED
@@ -1,24 +1,12 @@
1
- export * from "@box/combobox-with-api";
2
- import { getRelativeFromToValues as o } from "./lib/components/metadata-filter-fields/components/metadata-date-field/date-conversion-utils.js";
3
- import { defaultInitialValues as l, defaultMetadataValueMap as d } from "./lib/defaults.js";
4
- import { MetadataFilter as p } from "./lib/metadata-filter.js";
5
- import { F as m, R as F } from "../chunks/types.js";
6
- import { MetadataDateField as M, MetadataDateFieldNonRelative as u } from "./lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field.js";
1
+ import { n as e, t } from "../chunks/types.js";
2
+ import { getRelativeFromToValues as n } from "./lib/components/metadata-filter-fields/components/metadata-date-field/date-conversion-utils.js";
3
+ import { defaultInitialValues as r, defaultMetadataValueMap as i } from "./lib/defaults.js";
4
+ import { MetadataDateField as a, MetadataDateFieldNonRelative as o } from "./lib/components/metadata-filter-fields/components/metadata-date-field/metadata-date-field.js";
7
5
  import { MetadataEnumField as s } from "./lib/components/metadata-filter-fields/components/metadata-enum-field/metadata-enum-field.js";
8
- import { MetadataFloatField as g } from "./lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field.js";
9
- import { MetadataMultiSelectField as T } from "./lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field.js";
10
- import { MetadataStringField as v } from "./lib/components/metadata-filter-fields/components/metadata-string-field/metadata-string-field.js";
11
- export {
12
- m as FilterKeyTypes,
13
- M as MetadataDateField,
14
- u as MetadataDateFieldNonRelative,
15
- s as MetadataEnumField,
16
- p as MetadataFilter,
17
- g as MetadataFloatField,
18
- T as MetadataMultiSelectField,
19
- v as MetadataStringField,
20
- F as RangeLabelType,
21
- l as defaultInitialValues,
22
- d as defaultMetadataValueMap,
23
- o as getRelativeFromToValues
24
- };
6
+ import { MetadataFloatField as c } from "./lib/components/metadata-filter-fields/components/metadata-float-field/metadata-float-field.js";
7
+ import { MetadataMultiSelectField as l } from "./lib/components/metadata-filter-fields/components/metadata-multi-select-field/metadata-multi-select-field.js";
8
+ import { MetadataStringField as u } from "./lib/components/metadata-filter-fields/components/metadata-string-field/metadata-string-field.js";
9
+ import { t as d } from "../chunks/metadata-filter.js";
10
+ import "./lib/components/metadata-filter-fields/components/index.js";
11
+ export * from "@box/combobox-with-api";
12
+ export { t as FilterKeyTypes, a as MetadataDateField, o as MetadataDateFieldNonRelative, s as MetadataEnumField, d as MetadataFilter, c as MetadataFloatField, l as MetadataMultiSelectField, u as MetadataStringField, e as RangeLabelType, r as defaultInitialValues, i as defaultMetadataValueMap, n as getRelativeFromToValues };
@@ -1,6 +1,2 @@
1
- const e = {
2
- maxLength: 255
3
- };
4
- export {
5
- e as fieldDefaultProps
6
- };
1
+ var e = { maxLength: 255 };
2
+ export { e as fieldDefaultProps };
@@ -1,13 +1,6 @@
1
- import { MetadataDateField as a, MetadataDateFieldNonRelative as d } from "./metadata-date-field/metadata-date-field.js";
2
- import { MetadataEnumField as r } from "./metadata-enum-field/metadata-enum-field.js";
3
- import { MetadataFloatField as i } from "./metadata-float-field/metadata-float-field.js";
4
- import { MetadataMultiSelectField as M } from "./metadata-multi-select-field/metadata-multi-select-field.js";
5
- import { MetadataStringField as f } from "./metadata-string-field/metadata-string-field.js";
6
- export {
7
- a as MetadataDateField,
8
- d as MetadataDateFieldNonRelative,
9
- r as MetadataEnumField,
10
- i as MetadataFloatField,
11
- M as MetadataMultiSelectField,
12
- f as MetadataStringField
13
- };
1
+ import { MetadataDateField as e, MetadataDateFieldNonRelative as t } from "./metadata-date-field/metadata-date-field.js";
2
+ import { MetadataEnumField as n } from "./metadata-enum-field/metadata-enum-field.js";
3
+ import { MetadataFloatField as r } from "./metadata-float-field/metadata-float-field.js";
4
+ import { MetadataMultiSelectField as i } from "./metadata-multi-select-field/metadata-multi-select-field.js";
5
+ import { MetadataStringField as a } from "./metadata-string-field/metadata-string-field.js";
6
+ export { e as MetadataDateField, t as MetadataDateFieldNonRelative, n as MetadataEnumField, r as MetadataFloatField, i as MetadataMultiSelectField, a as MetadataStringField };
@@ -1,5 +1,3 @@
1
1
  import { CalendarDate as e } from "@box/blueprint-web";
2
- const r = new e(3e3, 1, 1);
3
- export {
4
- r as DEFAULT_MAX_DATE
5
- };
2
+ var t = new e(3e3, 1, 1);
3
+ export { t as DEFAULT_MAX_DATE };